:root{--ink: #101114;--muted: #6a717d;--line: #e5e7eb;--panel: #ffffff;--page: #f4f6f5;--blue: #2563eb;--green: #16a34a;--orange: #ea580c;--purple: #9333ea;--slate: #475569;--shadow: 0 20px 45px rgba(15, 23, 42, .08)}*{box-sizing:border-box}body{margin:0;color:var(--ink);background:linear-gradient(135deg,rgba(37,99,235,.06),transparent 28%),linear-gradient(315deg,rgba(22,163,74,.08),transparent 34%),var(--page);font-family:Aptos,Segoe UI,Microsoft YaHei,sans-serif}button,input,textarea,select{font:inherit}button{border:0}.app-shell{display:grid;grid-template-columns:220px minmax(0,1fr);min-height:100vh}.sidebar{position:sticky;top:0;height:100vh;display:grid;grid-template-rows:minmax(0,1fr);gap:0;min-width:0;padding:18px 10px;overflow:hidden;background:#f1f5f9db;border-right:1px solid rgba(229,231,235,.8);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.icon-button,.primary-action,.secondary-action,.danger-action{display:inline-flex;align-items:center;justify-content:center}.sidebar-outline{display:grid;grid-template-rows:auto minmax(0,1fr);min-height:0}.sidebar-section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:10px}.sidebar-section-head strong,.sidebar-section-head span{display:block}.sidebar-section-head strong{font-size:15px}.sidebar-section-head span{margin-top:3px;color:var(--muted);font-size:11px;font-weight:700}.icon-button{width:42px;height:42px;color:#596171;cursor:pointer;border-radius:8px;background:#fff;border:1px solid var(--line)}.icon-button:disabled{cursor:wait;opacity:.68}.icon-button.is-loading svg{animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.primary-action,.secondary-action,.danger-action{gap:8px;min-height:42px;padding:0 14px;cursor:pointer;border-radius:8px;font-size:13px;font-weight:800}.primary-action{color:#fff;background:#111827;border:1px solid #111827}.primary-action:disabled{cursor:not-allowed;opacity:.62}.secondary-action{color:#111827;background:#fff;border:1px solid var(--line)}.danger-action{color:#991b1b;background:#fff1f2;border:1px solid #fecdd3}.compact{min-height:30px;padding:0 10px;font-size:12px}.workspace{min-width:0;padding:30px}.topbar,.topbar-actions,.board-heading,.column-title,.task-card-head,.task-owner-line,.owner-row{display:flex;align-items:center}.topbar{justify-content:space-between;gap:20px;margin-bottom:22px}.eyebrow{margin:0 0 6px;color:var(--blue);font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}h1{margin:0;font-size:clamp(28px,4vw,46px);line-height:1;letter-spacing:0}.topbar-actions{gap:10px}.account-chip{display:inline-flex;align-items:center;gap:7px;min-height:34px;padding:0 10px;color:#334155;background:#ffffffb8;border:1px solid #dbe3ef;border-radius:8px;font-size:12px;font-weight:800}.password-dialog-backdrop{position:fixed;inset:0;z-index:40;display:grid;place-items:center;padding:20px;background:#0f172a52;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.password-dialog{width:min(100%,440px);background:#fff;border:1px solid #dbe3ef;border-radius:8px;box-shadow:0 24px 64px #0f172a38}.password-dialog header,.password-dialog footer{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px}.password-dialog header{border-bottom:1px solid var(--line)}.password-dialog h2,.password-dialog p{margin:0}.password-dialog h2{font-size:24px}.password-dialog header p{margin-top:5px;color:#64748b;font-size:13px;font-weight:700}.password-dialog form{display:grid;gap:14px;padding:20px}.password-dialog label{display:grid;gap:7px;color:#475569;font-size:12px;font-weight:800}.password-dialog input{width:100%;height:42px;padding:0 11px;color:var(--ink);background:#f8fafc;border:1px solid #dbe2ea;border-radius:8px;outline:0}.password-dialog input:focus{border-color:#93c5fd;box-shadow:0 0 0 3px #2563eb1a}.password-hint{display:flex;align-items:center;gap:7px;color:#64748b;font-size:12px;font-weight:700}.password-error{padding:10px 12px;color:#b91c1c;background:#fff1f2;border:1px solid #fecdd3;border-radius:8px;font-size:13px;font-weight:700}.password-dialog footer{justify-content:flex-end;padding:0}.login-shell{display:grid;grid-template-columns:minmax(280px,.85fr) minmax(320px,420px);align-items:center;gap:clamp(30px,7vw,120px);min-height:100vh;padding:clamp(28px,8vw,120px);color:#111827;background:linear-gradient(135deg,rgba(37,99,235,.1),transparent 38%),linear-gradient(315deg,rgba(22,163,74,.09),transparent 42%),#f5f7f8}.login-intro{max-width:620px}.login-mark{display:inline-flex;align-items:center;justify-content:center;width:58px;height:58px;margin-bottom:24px;color:#fff;background:#111827;border-radius:8px;box-shadow:0 16px 36px #0f172a2e}.login-intro h1{font-size:clamp(36px,5vw,62px)}.login-intro>p:last-child{max-width:410px;margin:18px 0 0;color:#526075;font-size:17px;line-height:1.75}.login-card{display:grid;gap:18px;padding:28px;background:#fffffff0;border:1px solid #dce4ee;border-radius:8px;box-shadow:0 28px 62px #0f172a1a}.login-card-head{display:flex;align-items:center;justify-content:space-between;padding-bottom:16px;border-bottom:1px solid #e7edf4;color:#111827;font-size:18px;font-weight:900}.login-card label{display:grid;gap:8px;color:#42526a;font-size:12px;font-weight:800}.login-input-wrap{display:flex;align-items:center;gap:9px;min-height:46px;padding:0 13px;color:#748096;background:#f8fafc;border:1px solid #d8e1ed;border-radius:8px}.login-input-wrap:focus-within{color:#2563eb;background:#fff;border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1f}.login-input-wrap input{width:100%;min-width:0;color:#111827;background:transparent;border:0;outline:0}.login-error{margin:-3px 0 0;color:#b42318;font-size:12px;font-weight:700}.login-submit{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:46px;margin-top:4px;color:#fff;cursor:pointer;background:#111827;border:1px solid #111827;border-radius:8px;font-weight:900}.login-submit:hover:not(:disabled){background:#2563eb;border-color:#2563eb}.login-submit:disabled{cursor:wait;opacity:.68}.login-loading{display:grid;place-items:center;grid-template-columns:1fr;color:#526075;font-size:14px;font-weight:800}.error-panel{display:flex;align-items:center;gap:10px;padding:14px 16px;margin-bottom:16px;color:#991b1b;background:#fef2f2;border:1px solid #fecaca;border-radius:8px}.kpi-grid{display:grid;grid-template-columns:repeat(3,minmax(160px,1fr));gap:14px;margin-bottom:16px}.strategy-panel{display:grid;grid-template-columns:minmax(220px,.78fr) minmax(0,1.55fr);gap:14px;align-items:stretch;margin-bottom:16px;padding:16px;color:#111827;background:#f8fbff;border:1px solid #bfdbfe;border-radius:8px;box-shadow:0 18px 42px #0f172a0f}.strategy-intro{display:grid;align-content:center;min-width:0}.strategy-intro-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.strategy-intro h2{margin:0;font-size:24px;line-height:1.1}.strategy-intro p:not(.eyebrow){margin:8px 0 0;color:#475569;font-size:13px;font-weight:800;line-height:1.45}.strategy-intro small{display:inline-flex;width:fit-content;margin-top:10px;padding:3px 8px;color:#64748b;background:#fff;border:1px solid #dbeafe;border-radius:999px;font-size:10px;font-weight:900}.text-action{min-height:28px;padding:0 10px;color:#2563eb;cursor:pointer;background:#fff;border:1px solid #bfdbfe;border-radius:999px;font-size:11px;font-weight:900;white-space:nowrap}.text-action:hover{color:#1d4ed8;border-color:#93c5fd}.strategy-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.strategy-card{display:grid;gap:8px;min-width:0;padding:13px;background:#fff;border:1px solid #dbeafe;border-radius:8px}.strategy-card span{display:inline-flex;align-items:center;justify-content:center;width:34px;height:24px;color:#1d4ed8;background:#eff6ff;border:1px solid #bfdbfe;border-radius:999px;font-size:11px;font-weight:900}.strategy-card strong{color:#111827;font-size:15px;line-height:1.25}.strategy-card p{margin:0;color:#475569;font-size:13px;font-weight:700;line-height:1.5}.strategy-editor,.strategy-card-editor,.daily-rhythm-editor,.daily-editor-section{display:grid;gap:10px}.strategy-editor label,.strategy-card-editor label,.preference-grid label{display:grid;gap:5px;min-width:0}.strategy-editor span,.strategy-card-editor strong,.preference-grid span,.daily-editor-section>strong{color:#334155;font-size:11px;font-weight:900}.strategy-editor input,.strategy-editor textarea,.strategy-card-editor input,.strategy-card-editor textarea,.preference-grid input{width:100%;min-width:0;color:#111827;background:#fff;border:1px solid #cbd5e1;border-radius:8px;outline:0;font-size:12px;font-weight:800}.strategy-editor input,.strategy-card-editor input,.preference-grid input{height:34px;padding:0 10px}.strategy-editor textarea,.strategy-card-editor textarea{resize:vertical;padding:9px 10px;line-height:1.45}.strategy-editor input:focus,.strategy-editor textarea:focus,.strategy-card-editor input:focus,.strategy-card-editor textarea:focus,.preference-grid input:focus{border-color:#93c5fd;box-shadow:0 0 0 3px #93c5fd47}.strategy-editor-cards{align-content:start}.preference-grid{display:grid;gap:8px}.preference-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.preference-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;grid-column:1 / -1}.preference-actions p{margin:0 auto 0 0;color:#dc2626;font-size:11px;font-weight:900}.empty-workbench h2{margin:0;font-size:22px}.drawer-action-group{display:flex;align-items:center;gap:8px}.file-drop{display:inline-flex;align-items:center;gap:8px;margin-right:auto;min-height:42px;padding:0 13px;color:#0f172a;cursor:pointer;background:#eef6ff;border:1px dashed #93c5fd;border-radius:8px;font-size:13px;font-weight:800}.file-drop input{display:none}.file-drop:hover{background:#dbeafe}.empty-workbench{display:flex;align-items:center;gap:14px;margin-bottom:16px;color:#0f172a}.empty-workbench svg{flex:0 0 auto;color:var(--blue)}.empty-workbench p{margin:5px 0 0;color:var(--muted);font-size:13px}.metric-card,.panel{background:#ffffffdb;border:1px solid rgba(229,231,235,.86);border-radius:8px;box-shadow:var(--shadow)}.metric-card{display:flex;gap:14px;padding:18px;min-height:116px}.metric-icon{display:flex;align-items:center;justify-content:center;width:42px;height:42px;color:#fff;border-radius:8px;background:#111827}.metric-card span,.metric-card em,.panel-title p,.timeline-item span,.owner-row span{color:var(--muted)}.metric-card span,.metric-card em{display:block;font-size:12px}.metric-card strong{display:block;margin:5px 0 3px;font-size:30px;line-height:1}.work-grid{display:grid;gap:16px}.panel{min-width:0;padding:18px}.panel-title{display:flex;justify-content:space-between;gap:12px;margin-bottom:12px}.panel-title h2{margin:0;font-size:18px}.panel-title p{margin:4px 0 0;font-size:12px}.board-heading{justify-content:space-between;gap:14px;margin-bottom:12px}.board-heading .panel-title{margin-bottom:0}.board-filter-row{display:inline-flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.board-filter-chip{display:inline-flex;align-items:center;gap:8px;min-height:36px;padding:0 10px;color:#475569;background:#f8fafc;border:1px solid #dbe2ea;border-radius:999px;font-size:12px;font-weight:800}.board-filter-chip span{color:#64748b}.board-filter-chip select{max-width:110px;color:#111827;cursor:pointer;background:transparent;border:0;outline:0;font-weight:900}.project-bars{display:grid;gap:13px;min-height:250px;align-content:center}.project-row{display:grid;grid-template-columns:150px minmax(0,1fr);gap:14px;align-items:center}.project-row-label{min-width:0}.project-row-label strong,.project-row-label span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.project-row-label strong{font-size:13px}.project-row-label span{margin-top:3px;color:var(--muted);font-size:11px}.project-bar-track{height:18px;overflow:hidden;background:#eef2f7;border-radius:999px}.project-bar-track i{display:block;height:100%;border-radius:inherit}.work-grid{grid-template-columns:minmax(0,1fr) 300px;align-items:start}.board-panel{overflow:hidden}.board{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;overflow-x:auto;padding-bottom:4px}.board-progress{grid-template-columns:repeat(3,minmax(220px,1fr))}.board-time{grid-template-columns:repeat(4,minmax(210px,1fr))}.board-project,.board-module,.board-role{grid-auto-flow:column;grid-auto-columns:minmax(220px,1fr);grid-template-columns:none}.board-archive{grid-template-columns:minmax(260px,520px)}.board-column{display:flex;flex-direction:column;min-width:210px;max-height:min(760px,calc(100vh - 270px));padding:10px;background:#f8fafc;border:1px solid #edf0f4;border-radius:8px}.status-drop-zone{transition:background .16s ease,border-color .16s ease,box-shadow .16s ease}.status-drop-zone:hover{background:#fff;border-color:#bfdbfe;box-shadow:inset 0 0 0 1px #2563eb1f}.column-title{gap:8px;margin-bottom:10px}.column-title strong{flex:1;font-size:13px}.column-title em{color:var(--muted);font-style:normal;font-size:12px}.column-subtitle{margin:-5px 0 10px 17px;color:var(--muted);font-size:11px}.column-marker{width:9px;height:9px;border-radius:999px;background:var(--blue)}.status-progress{background:var(--blue)}.status-pending{background:var(--slate)}.status-unset{background:var(--purple)}.status-done{background:var(--green)}.status-google{background:#0f9d58}.progress-unset .column-marker{background:var(--purple)}.progress-pending .column-marker,.time-nodate .column-marker{background:var(--slate)}.progress-active .column-marker,.time-week .column-marker{background:var(--blue)}.time-overdue .column-marker{background:#dc2626}.time-month .column-marker{background:var(--orange)}.archive-column .column-marker{background:var(--green)}.task-stack{flex:1;min-height:0;display:grid;gap:7px;align-content:start;overflow-y:auto;padding-right:3px}.task-card{width:100%;color:inherit;text-align:left;background:#fff;border:1px solid #e9edf2;border-radius:8px;overflow:hidden;transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease}.task-card[draggable=true]{cursor:grab}.task-card[draggable=true]:active{cursor:grabbing}.task-card:hover{border-color:#bfdbfe;box-shadow:0 12px 26px #2563eb1f;transform:translateY(-1px)}.task-card.is-overdue{border-color:#fecaca;box-shadow:inset 3px 0 #ef4444}.task-card-main{display:grid;gap:8px;width:100%;min-height:78px;color:inherit;text-align:left;cursor:pointer;padding:10px 11px;background:transparent}.task-card-head{justify-content:space-between;align-items:flex-start;gap:10px}.task-card h3{display:-webkit-box;flex:1;min-width:0;min-height:35px;margin:0;overflow:hidden;font-size:13px;line-height:1.35;-webkit-line-clamp:2;-webkit-box-orient:vertical}.task-status{display:inline-flex;flex:0 0 auto;min-width:52px;justify-content:center;padding:3px 7px;color:#fff;border-radius:999px;font-size:11px;line-height:1.25;white-space:nowrap}.task-owner-line{justify-content:space-between;gap:8px;min-width:0;min-height:20px;color:#475569;font-size:11px;font-weight:800}.task-owner-name{display:inline-flex;align-items:center;gap:5px;min-width:0}.task-owner-name svg{flex:0 0 auto;color:#64748b}.task-owner-name span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.task-owner-line time{flex:0 0 auto;color:#64748b;font-weight:900;white-space:nowrap}.task-date-group{display:inline-flex;flex:0 0 auto;align-items:center;justify-content:flex-end;gap:6px;min-width:0}.task-overdue-pill{display:inline-flex;align-items:center;min-height:20px;padding:2px 6px;border-radius:999px;background:#fef2f2;color:#dc2626;font-size:10px;font-weight:900;line-height:1;white-space:nowrap}.future-panel{margin-top:16px;padding-top:14px;border-top:1px solid #e2e8f0}.future-panel-head{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin-bottom:10px}.future-panel-head h3{margin:0;font-size:16px}.future-panel-head p,.future-panel-head span{margin:3px 0 0;color:#64748b;font-size:12px}.future-group-list{display:grid;gap:10px;max-height:360px;overflow-y:auto;padding-right:4px}.future-group{display:grid;gap:6px}.future-group-title{display:flex;align-items:center;gap:8px;color:#111827;font-size:13px;font-weight:900}.future-group-title em{color:#94a3b8;font-style:normal;font-size:12px}.future-task-list{display:grid;gap:5px}.future-task-row{display:grid;grid-template-columns:12px minmax(0,1fr) minmax(120px,.7fr) 58px;align-items:center;gap:8px;min-height:34px;padding:0 9px;color:#475569;text-align:left;cursor:pointer;background:#fff;border:1px solid #e2e8f0;border-radius:8px}.future-task-row:hover{border-color:#bfdbfe;box-shadow:0 8px 18px #2563eb1a}.future-task-dot{width:8px;height:8px;border-radius:999px;background:var(--blue)}.future-task-row strong,.future-task-row em,.future-task-row time{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.future-task-row strong{color:#111827;font-size:13px}.future-task-row em,.future-task-row time{color:#64748b;font-style:normal;font-size:12px}.future-task-row time{text-align:right}.calendar-work-grid{grid-template-columns:minmax(0,1fr) 300px}.calendar-panel{min-height:520px}.calendar-panel-head{display:flex;justify-content:space-between;gap:14px;margin-bottom:14px}.calendar-panel-head h2{margin:3px 0 0;font-size:22px}.calendar-panel-head p:not(.eyebrow){margin:5px 0 0;color:#64748b;font-size:12px}.calendar-head-actions,.calendar-toolbar,.calendar-month-nav,.calendar-view-tabs,.calendar-date-add{display:inline-flex;align-items:center}.calendar-head-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px}.calendar-account-select{display:inline-flex;align-items:center;gap:7px;min-height:30px;padding:0 9px;color:#64748b;background:#f8fafc;border:1px solid #dbe2ea;border-radius:999px;font-size:12px;font-weight:900}.calendar-account-select select{max-width:210px;color:#111827;cursor:pointer;background:transparent;border:0;outline:0;font-size:12px;font-weight:900}.calendar-auth-pill{display:inline-flex;align-items:center;gap:6px;min-height:30px;padding:0 10px;color:#64748b;background:#f8fafc;border:1px solid #dbe2ea;border-radius:999px;font-size:12px;font-weight:900;white-space:nowrap}.calendar-auth-pill.authorized{color:#15803d;background:#f0fdf4;border-color:#bbf7d0}.calendar-auth-pill.missing{color:#92400e;background:#fffbeb;border-color:#fde68a}.calendar-toolbar{justify-content:space-between;gap:12px;margin-bottom:12px}.calendar-view-tabs{padding:4px;background:#f1f5f9;border:1px solid #dbe2ea;border-radius:999px}.calendar-view-tabs button{min-width:74px;height:32px;padding:0 12px;color:#64748b;cursor:pointer;background:transparent;border-radius:999px;font-size:12px;font-weight:900}.calendar-view-tabs button.active{color:#fff;background:#111827}.calendar-month-nav{gap:8px}.calendar-month-nav .icon-button{width:32px;height:32px}.calendar-month-nav strong,.calendar-range-label{color:#334155;font-size:12px;font-weight:900}.daily-rhythm-panel{display:grid;gap:12px;margin-bottom:14px;padding:14px;color:#475569;background:#eff6ff;border:1px solid #bfdbfe;border-radius:8px}.daily-rhythm-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.daily-rhythm-head>div{display:grid;gap:3px}.daily-rhythm-head strong{color:#1e3a8a;font-size:13px}.daily-rhythm-head span{color:#64748b;font-size:11px;font-weight:800}.daily-rhythm-row{display:grid;grid-template-columns:56px minmax(0,1fr);gap:10px;align-items:stretch}.daily-rhythm-period{display:flex;align-items:center;justify-content:center;min-height:62px;color:#1e3a8a;background:#ffffffc7;border:1px solid #dbeafe;border-radius:8px;font-size:13px;font-weight:900}.daily-rhythm-list{display:grid;gap:8px}.daily-rhythm-list.morning{grid-template-columns:repeat(3,minmax(0,1fr))}.daily-rhythm-list.afternoon{grid-template-columns:1fr}.daily-rhythm-item{display:grid;gap:4px;min-height:62px;padding:10px;background:#ffffffb8;border:1px solid #dbeafe;border-radius:8px}.daily-rhythm-item time{color:#2563eb;font-size:11px;font-weight:900}.daily-rhythm-item span{color:#111827;font-size:12px;font-weight:900;line-height:1.35}.daily-rhythm-item.scheduled{background:#fff;border-color:#93c5fd}.daily-rhythm-item.scheduled time{color:#1d4ed8}.daily-rhythm-item.pending{background:#111827;border-color:#111827}.daily-rhythm-item.pending time,.daily-rhythm-item.pending span{color:#fff}.daily-rhythm-editor{padding:12px;background:#ffffffa8;border:1px solid #dbeafe;border-radius:8px}.daily-editor-items{display:grid;gap:8px}.calendar-sync-request{display:grid;gap:4px;margin-bottom:14px;padding:10px 12px;color:#334155;background:#f8fafc;border:1px solid #dbe2ea;border-radius:8px}.calendar-sync-request strong{color:#111827;font-size:12px}.calendar-sync-request p{margin:0;color:#64748b;font-size:12px;line-height:1.45}.calendar-task-groups{display:grid;gap:12px}.calendar-task-group{display:grid;gap:7px}.calendar-date-title{display:flex;align-items:center;gap:8px;color:#111827}.calendar-date-title strong{font-size:14px}.calendar-date-title span{color:#94a3b8;font-size:12px;font-weight:900}.calendar-date-add{gap:4px;height:26px;margin-left:auto;padding:0 8px;color:#1d4ed8;cursor:pointer;background:#eff6ff;border:1px solid #bfdbfe;border-radius:999px;font-size:11px;font-weight:900}.calendar-task-list{display:grid;gap:6px}.calendar-task-row{display:grid;grid-template-columns:64px minmax(0,1fr) 90px 64px 58px;align-items:center;gap:8px;min-height:38px;padding:0 10px;color:#475569;text-align:left;cursor:pointer;background:#fff;border:1px solid #e2e8f0;border-radius:8px}.calendar-task-row.external{text-decoration:none;background:#f7fef9;border-color:#bbf7d0}.calendar-task-row:hover{border-color:#93c5fd;box-shadow:0 10px 20px #2563eb1a}.calendar-task-row strong,.calendar-task-row span,.calendar-task-row em{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.calendar-task-row strong{color:#111827;font-size:13px}.calendar-task-row span{font-size:12px;font-weight:800}.calendar-task-row em{display:inline-flex;justify-content:center;padding:3px 7px;color:#fff;border-radius:999px;font-size:11px;font-style:normal;font-weight:900}.calendar-task-row time{color:#64748b;text-align:right;font-size:11px;font-weight:900}.calendar-sync-badge{display:inline-flex;justify-content:center;padding:3px 6px;color:#334155;background:#f1f5f9;border:1px solid #cbd5e1;border-radius:999px;font-size:11px;font-weight:900}.calendar-sync-badge.synced{color:#166534;background:#dcfce7;border-color:#86efac}.calendar-sync-badge.stale{color:#9a3412;background:#ffedd5;border-color:#fdba74}.calendar-sync-badge.error{color:#991b1b;background:#fee2e2;border-color:#fca5a5}.calendar-sync-badge.google{color:#166534;background:#dcfce7;border-color:#86efac}.calendar-error{margin:0 0 12px;padding:10px 12px;color:#991b1b;background:#fee2e2;border:1px solid #fecaca;border-radius:8px;font-size:12px;font-weight:800}.calendar-month-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}.calendar-weekday{color:#64748b;text-align:center;font-size:11px;font-weight:900}.calendar-day{display:grid;grid-template-rows:auto minmax(0,1fr);gap:5px;min-height:118px;padding:8px;background:#fff;border:1px solid #e2e8f0;border-radius:8px}.calendar-day.muted{opacity:.48}.calendar-day.today{border-color:#2563eb;box-shadow:inset 0 0 0 1px #2563eb2e}.calendar-day-head{display:flex;align-items:center;justify-content:space-between;gap:6px;min-height:22px}.calendar-day-head strong{color:#111827;font-size:12px}.calendar-day-head button{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;color:#64748b;cursor:pointer;background:#f8fafc;border:1px solid #e2e8f0;border-radius:6px}.calendar-day-tasks{display:grid;gap:4px;align-content:start;min-width:0}.calendar-day-task{display:grid;grid-template-columns:8px minmax(0,1fr);gap:5px;align-items:center;min-height:22px;padding:0 5px;color:#334155;text-align:left;cursor:pointer;background:#f8fafc;border:1px solid #edf2f7;border-radius:6px}.calendar-day-task.external{text-decoration:none;background:#f0fdf4;border-color:#bbf7d0}.calendar-day-task strong,.calendar-day-task em{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.calendar-day-task strong{font-size:11px}.calendar-day-task em{grid-column:2;margin-top:-4px;color:#64748b;font-size:10px;font-style:normal}.calendar-dot{width:7px;height:7px;border-radius:999px}.calendar-dot.google-event{background:#16a34a}.calendar-more{color:#64748b;font-size:10px;font-weight:900}.future-empty{margin:0;padding:16px;color:#64748b;text-align:center;background:#f8fafc;border:1px dashed #cbd5e1;border-radius:8px;font-size:12px}.empty-text{margin:20px 0;color:var(--muted);text-align:center;font-size:12px}.empty-text.left{margin:8px 0;text-align:left}.side-stack{display:grid;gap:16px}.outline-panel{padding-bottom:14px}.outline-panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.outline-panel-head .panel-title{margin-bottom:10px}.outline-actions{display:inline-flex;gap:6px}.outline-actions .icon-button{width:32px;height:32px;background:#ffffffbd}.outline-tree{display:flex;flex-direction:column;gap:8px;align-content:flex-start}.sidebar .outline-tree{min-height:0;overflow:auto;padding:1px 3px 12px 0}.outline-calendar,.outline-all,.outline-node{display:flex;align-items:center;width:100%;min-width:0;gap:8px;padding:0 10px;color:#334155;text-align:left;cursor:pointer;background:#ffffffa3;border:1px solid transparent;border-radius:8px}.outline-calendar,.outline-all{flex:0 0 38px;min-height:38px;font-size:13px;font-weight:800}.outline-calendar{color:#1d4ed8;background:#eff6ff;border-color:#bfdbfe}.outline-node{flex:0 0 52px;min-height:52px;background:#fff;border-color:#e2e8f0;box-shadow:0 12px 24px #0f172a0a;font-size:14px;font-weight:800}.outline-node.editing{border-color:#2563eb;background:#fff;box-shadow:0 0 0 3px #2563eb1a}.outline-calendar span,.outline-all span,.outline-node span{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.outline-edit-input{flex:1;min-width:0;height:26px;padding:0 7px;color:#111827;background:#f8fafc;border:1px solid #93c5fd;border-radius:6px;outline:0;font-size:12px;font-weight:800}.outline-inline-action{display:inline-flex;align-items:center;justify-content:center;flex:0 0 22px;width:22px;height:22px;color:#475569;cursor:pointer;background:#ffffffb8;border:1px solid #e2e8f0;border-radius:6px;opacity:0;transition:opacity .14s ease,border-color .14s ease,color .14s ease}.outline-node:hover .outline-inline-action,.outline-node:focus-within .outline-inline-action,.outline-inline-action.always{opacity:1}.outline-inline-action:hover{color:#1d4ed8;border-color:#93c5fd}.outline-inline-action:disabled{cursor:wait;opacity:.55}.outline-node em{min-width:22px;color:#64748b;text-align:right;font-style:normal;font-size:11px;font-weight:800}.outline-calendar.active,.outline-all.active,.outline-node.active{color:#111827;background:#dfe7ef;border-color:#dbe2ea}.outline-node.drag-over{background:#eff6ff;border-color:#60a5fa;box-shadow:inset 0 0 0 1px #2563eb2e}.outline-node.active em,.outline-node.active svg,.outline-calendar.active svg,.outline-all.active svg{color:#334155}.outline-project{display:flex;flex:0 0 auto;flex-direction:column;gap:6px}.outline-modules{display:flex;flex-direction:column;gap:5px;padding-left:18px}.outline-node.module{flex:0 0 34px;min-height:34px;padding:0 9px;color:#1f2937;background:#ffffff9e;border-style:dashed;border-color:#93c5fd;box-shadow:none;font-size:12px}.outline-node.module em{min-width:18px;font-size:10px}.outline-node.module.active{background:#eff6ff;border-color:#2563eb}.assistant-lines{display:grid;gap:8px;margin-bottom:12px}.assistant-lines p{margin:0;padding:10px;color:#334155;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;font-size:12px;line-height:1.45}.suggestion-list{display:grid;gap:8px}.suggestion-list button{display:grid;gap:3px;padding:10px;text-align:left;cursor:pointer;background:#fff;border:1px solid #e2e8f0;border-radius:8px}.suggestion-list strong{font-size:13px;line-height:1.35}.suggestion-list span{color:var(--muted);font-size:12px}.timeline-list,.owner-list{display:grid;gap:10px}.timeline-item{display:grid;gap:3px;padding-left:14px;border-left:2px solid #dbeafe}.timeline-item time{color:var(--blue);font-size:12px;font-weight:800}.timeline-item strong{font-size:13px;line-height:1.35}.timeline-item span,.owner-row span{font-size:12px}.owner-row{justify-content:space-between;gap:12px}.owner-row>div:first-child{min-width:82px}.owner-row strong,.owner-row span{display:block}.progress-line{flex:1;height:8px;overflow:hidden;background:#eef2f7;border-radius:999px}.progress-line i{display:block;height:100%;background:linear-gradient(90deg,var(--green),var(--blue));border-radius:inherit}.drawer-backdrop{position:fixed;inset:0;z-index:30;display:flex;justify-content:flex-end;background:#0f172a47;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.confirm-dialog-backdrop{position:fixed;inset:0;z-index:50;display:grid;place-items:center;padding:20px;background:#0f172a61;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.confirm-dialog{width:min(100%,400px);padding:24px;background:#fff;border:1px solid #dbe3ef;border-radius:8px;box-shadow:0 24px 64px #0f172a3d}.confirm-dialog-kicker{color:#dc2626;font-size:11px;font-weight:900;letter-spacing:.08em}.confirm-dialog h2{margin:8px 0 10px;color:#0f172a;font-size:24px}.confirm-dialog p{margin:0;color:#64748b;font-size:14px;line-height:1.6}.confirm-dialog footer{display:flex;justify-content:flex-end;gap:10px;margin-top:22px}.task-drawer{display:flex;flex-direction:column;width:clamp(640px,50vw,1040px);max-width:100vw;height:100vh;background:#fff;box-shadow:-30px 0 60px #0f172a2e}.drawer-header,.drawer-footer{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:22px;border-bottom:1px solid var(--line)}.drawer-footer>span{min-width:1px}.drawer-header h2{margin:0;font-size:26px}.drawer-form{flex:1;display:grid;align-content:start;gap:16px;padding:22px;overflow:auto}.drawer-progress-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 11px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px}.drawer-progress-label{flex:0 0 auto;color:#475569;font-size:12px;font-weight:900}.drawer-status-options{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px}.drawer-status-chip{min-height:30px;padding:0 10px;color:#475569;cursor:pointer;background:#fff;border:1px solid #dbe2ea;border-radius:999px;font-size:12px;font-weight:800}.drawer-status-chip:hover{color:#111827;border-color:#93c5fd}.drawer-status-chip.active{color:#fff;background:#111827;border-color:#111827}.field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.field-block{display:grid;gap:7px}.module-field{grid-column:1 / -1}.select-with-action{display:grid;grid-template-columns:minmax(0,1fr) 42px;gap:8px}.module-add-button{width:42px;height:42px}.field-block span{color:#475569;font-size:12px;font-weight:800}.field-block input,.field-block select,.field-block textarea{width:100%;min-width:0;color:var(--ink);background:#f8fafc;border:1px solid #dbe2ea;border-radius:8px;outline:0}.field-block input,.field-block select{height:42px;padding:0 11px}.field-block textarea{resize:vertical;padding:10px 11px;line-height:1.45}.detail-textarea{min-height:170px}.notes-textarea{min-height:180px}.field-block input:focus,.field-block select:focus,.field-block textarea:focus{border-color:#93c5fd;box-shadow:0 0 0 3px #2563eb1a}.field-block select:disabled{color:#64748b;cursor:not-allowed}.source-note{padding:10px 12px;color:#64748b;background:#f8fafc;border:1px dashed #cbd5e1;border-radius:8px;font-size:12px}.task-file-supplement{display:grid;gap:10px;padding:12px;background:#f8fafc;border:1px solid #dbe4ee;border-radius:8px}.task-file-supplement-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.task-file-supplement-head strong,.task-file-supplement-head span{display:block}.task-file-supplement-head strong{font-size:14px}.task-file-supplement-head span,.supplement-meta{color:#64748b;font-size:12px;font-weight:700}.task-file-drop{width:100%;margin-right:0;justify-content:center;background:#fff}.supplement-draft-list{display:grid;gap:8px}.supplement-draft-card{display:grid;gap:8px;padding:10px;background:#fff;border:1px solid #e2e8f0;border-radius:8px}.supplement-draft-card strong,.supplement-draft-card span{display:block}.supplement-draft-card strong{font-size:13px}.supplement-draft-card span,.supplement-draft-card p{color:#64748b;font-size:12px;font-weight:700}.supplement-draft-card p{display:-webkit-box;margin:0;overflow:hidden;-webkit-line-clamp:2;-webkit-box-orient:vertical}.supplement-actions{display:flex;justify-content:flex-end;gap:8px}.drawer-footer{border-top:1px solid var(--line);border-bottom:0}.ops-panel{display:grid;gap:14px}.ops-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.ops-grid div{min-width:0;padding:10px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px}.ops-grid strong{display:block;color:#111827;font-size:22px;line-height:1}.ops-grid span{display:block;margin-top:5px;color:#64748b;font-size:11px;font-weight:800}.ops-section{display:grid;gap:7px}.ops-section b{color:#111827;font-size:13px}.ops-section button{display:grid;grid-template-columns:38px minmax(0,1fr);align-items:center;gap:8px;width:100%;padding:8px 9px;text-align:left;cursor:pointer;background:#fff;border:1px solid #e2e8f0;border-radius:8px}.ops-section button span{color:#dc2626;font-size:11px;font-weight:900}.ops-section button strong{min-width:0;overflow:hidden;color:#111827;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.compact-list p{margin:0;overflow:hidden;color:#64748b;font-size:12px;line-height:1.5;text-overflow:ellipsis;white-space:nowrap}@media(max-width:1180px){.app-shell{grid-template-columns:210px minmax(0,1fr)}.kpi-grid{grid-template-columns:repeat(2,1fr)}.strategy-panel,.work-grid{grid-template-columns:1fr}.daily-rhythm-list.morning{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:760px){.login-shell{grid-template-columns:1fr;align-content:center;gap:32px;padding:30px 22px}.login-intro>p:last-child{font-size:15px}.app-shell{grid-template-columns:1fr}.sidebar{position:static;height:auto;overflow:visible;padding:16px 18px}.workspace{padding:18px}.topbar,.board-heading{align-items:stretch;flex-direction:column}.topbar-actions{flex-wrap:wrap}.kpi-grid,.strategy-cards,.preference-grid.two{grid-template-columns:1fr}.daily-rhythm-head{align-items:flex-start;flex-direction:column}.daily-rhythm-row{grid-template-columns:1fr}.daily-rhythm-period{justify-content:flex-start;min-height:auto;padding:8px 10px}.daily-rhythm-list.morning{grid-template-columns:1fr}.sidebar-outline{max-height:360px}.field-grid{grid-template-columns:1fr}.task-drawer{width:100vw}.board-progress,.board-time{grid-template-columns:1fr}}
