.auth-page[data-v-4a72aeb6]{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--page)}.auth-card[data-v-4a72aeb6]{width:360px;max-width:calc(100vw - 48px);background:var(--surface);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow);padding:36px 32px;display:flex;flex-direction:column;gap:14px;text-align:center}.auth-card .brand-mark[data-v-4a72aeb6]{width:44px;height:44px;margin:0 auto;display:flex;align-items:center;justify-content:center;border-radius:12px;background:var(--blue);color:#fff;font-size:20px}.auth-card h1[data-v-4a72aeb6]{margin:0;font-size:22px;color:var(--ink)}.auth-sub[data-v-4a72aeb6],.invited-email[data-v-4a72aeb6]{margin:0 0 8px;color:var(--muted);font-size:13px}.invited-email[data-v-4a72aeb6]{color:var(--ink)}.field[data-v-4a72aeb6]{display:flex;flex-direction:column;gap:6px;text-align:left;font-size:13px;color:var(--muted)}.field input[data-v-4a72aeb6]{border:1px solid var(--line);border-radius:8px;padding:10px 12px;font-size:14px;color:var(--ink);background:var(--page)}.auth-error[data-v-4a72aeb6]{margin:0;color:#c0392b;font-size:13px}.auth-toggle[data-v-4a72aeb6]{margin-top:8px;border:none;background:none;color:var(--blue);cursor:pointer;font-size:13px}.auth-toggle[data-v-4a72aeb6]:hover:not(:disabled){text-decoration:underline}.auth-toggle[data-v-4a72aeb6]:disabled{cursor:not-allowed;color:var(--muted)}:root,[data-theme=dark]{color-scheme:dark;--app-bg: #111315;--surface-1: #181b1f;--surface-2: #20242a;--surface-3: #292e35;--text-1: #f3f5f7;--text-2: #a9b0ba;--text-3: #929aa6;--line: rgba(255, 255, 255, .09);--line-strong: rgba(255, 255, 255, .16);--accent: #5b7cfa;--accent-hover: #7190ff;--accent-soft: rgba(91, 124, 250, .18);--success: #42b883;--danger: #ff626d;--warning: #f4ad3d;--shadow: 0 18px 54px rgba(0, 0, 0, .38);--overlay: rgba(4, 6, 8, .58);--navy: var(--surface-1);--navy-2: var(--surface-2);--blue: var(--accent);--blue-strong: var(--accent-hover);--green: var(--success);--red: var(--danger);--orange: var(--warning);--ink: var(--text-1);--muted: var(--text-2);--surface: var(--surface-1);--page: var(--app-bg)}[data-theme=light]{color-scheme:light;--app-bg: #f3f5f8;--surface-1: #ffffff;--surface-2: #f7f8fa;--surface-3: #eceff4;--text-1: #1d232d;--text-2: #667080;--text-3: #687386;--line: rgba(24, 34, 48, .1);--line-strong: rgba(24, 34, 48, .18);--accent: #456de6;--accent-hover: #345bcf;--accent-soft: rgba(69, 109, 230, .12);--success: #27865e;--danger: #d84b57;--warning: #ba7922;--shadow: 0 18px 54px rgba(35, 45, 60, .14);--overlay: rgba(28, 35, 45, .34)}:root{font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,SF Pro Text,PingFang SC,Microsoft YaHei,sans-serif;color:var(--text-1);background:var(--app-bg);font-synthesis:none}*{box-sizing:border-box}html,body,#app{min-width:0;min-height:100%;margin:0}body{min-height:100vh;background:var(--page)}button,input,textarea,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid rgba(47,116,192,.28);outline-offset:2px}.desktop-app{min-height:100vh;display:grid;grid-template-columns:224px minmax(0,1fr)}.sidebar{position:sticky;top:0;height:100vh;display:flex;flex-direction:column;padding:22px 14px 16px;background:linear-gradient(180deg,#173b5e,#102f4b);color:#d9e7f3;overflow-y:auto}.brand-block{display:flex;align-items:center;gap:11px;padding:0 8px 22px;color:#fff}.brand-block strong{display:block;font-size:22px;letter-spacing:.04em}.brand-block small{display:block;margin-top:1px;color:#8eabc3;font-size:12px;letter-spacing:.12em}.brand-mark{width:38px;height:38px;display:grid;place-items:center;border-radius:11px;background:linear-gradient(135deg,#5da0e1,#2d70b9);font-weight:800;box-shadow:0 8px 18px #05172847}.primary-nav,.secondary-nav{display:grid;gap:4px}.primary-nav a,.secondary-nav a{display:flex;align-items:center;gap:11px;min-height:40px;padding:8px 11px;border-radius:9px;color:#cbdce9;text-decoration:none;font-size:16px}.primary-nav a:hover,.primary-nav a.active,.secondary-nav a:hover,.secondary-nav a.router-link-active{background:#5f9dd538;color:#fff}.nav-icon{width:20px;text-align:center;font-size:19px}.nav-count,.secondary-nav b{margin-left:auto;padding:1px 7px;border-radius:20px;background:#ffffff1f;color:#dceaf5;font-size:13px;font-weight:700}.sidebar-label{margin:23px 11px 8px;color:#7696b0;font-size:13px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.list-nav{display:grid;gap:2px}.list-nav a{display:flex;align-items:center;gap:10px;padding:8px 11px;border:0;border-radius:8px;background:transparent;color:#cbdce9;text-align:left;text-decoration:none;font-size:16px}.list-nav a:hover,.list-nav a.router-link-active{background:#ffffff12;color:#fff}.list-nav a span{margin-left:auto;color:#7696b0;font-size:14px}.list-dot{width:8px;height:8px;border-radius:50%;background:#5da0e1}.list-dot.orange{background:#e5a14c}.list-dot.green{background:#50a77e}.profile-card{margin-top:auto;width:100%;display:grid;grid-template-columns:34px 1fr auto;align-items:center;gap:9px;padding:10px;border:1px solid rgba(255,255,255,.08);border-radius:12px;background:#ffffff0d;color:#dce8f1;text-align:left}.profile-card strong,.profile-card small{display:block}.profile-card strong{font-size:15px}.profile-card small{margin-top:2px;color:#7f9db5;font-size:12px}.avatar{width:32px;height:32px;display:grid;place-items:center;border-radius:9px;background:#e8f2fb;color:#285f91;font-size:14px;font-weight:800}.main-shell{min-width:0}.topbar{position:sticky;top:0;z-index:20;min-height:70px;display:flex;align-items:center;gap:13px;padding:10px 26px;border-bottom:1px solid var(--line);background:#fffffff0;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.topbar h1{margin:0;font-size:23px;letter-spacing:-.02em}.eyebrow{margin:0 0 2px;color:var(--muted);font-size:12px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.global-search{width:min(370px,35vw);margin-left:auto;display:flex;align-items:center;gap:8px;padding:8px 10px;border:1px solid var(--line);border-radius:10px;background:#f7f9fc;color:#7e8a9a}.global-search input{min-width:0;flex:1;border:0;outline:0;background:transparent;color:var(--ink)}.global-search kbd,.primary-button kbd{padding:1px 5px;border:1px solid #d5dde7;border-bottom-width:2px;border-radius:5px;background:#fff;color:#8390a0;font-size:12px}.icon-button{width:36px;height:36px;display:inline-grid;place-items:center;border:1px solid var(--line);border-radius:10px;background:#fff;color:#526175}.notification-button{position:relative}.notification-button i{position:absolute;top:7px;right:7px;width:6px;height:6px;border:2px solid #fff;border-radius:50%;background:var(--red)}.primary-button,.ghost-button{min-height:36px;display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:8px 13px;border:1px solid var(--blue);border-radius:10px;background:var(--blue);color:#fff;font-weight:700}.primary-button:hover{background:var(--blue-strong)}.primary-button kbd{border-color:#ffffff40;background:#ffffff24;color:#fff}.ghost-button{border-color:var(--line);background:#fff;color:#526175}.route-content{padding:22px 26px 56px}.page-placeholder{min-height:360px;padding:28px;border:1px solid var(--line);border-radius:16px;background:#fff;box-shadow:0 6px 20px #2139530a}.page-placeholder h2{margin-top:0}.page-placeholder p{color:var(--muted)}.narrow-notice{display:none}.modal-backdrop{position:fixed;inset:0;z-index:100;display:grid;place-items:start center;padding-top:12vh;background:#0e1e307a;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.quick-add-modal{width:min(620px,calc(100vw - 64px));padding:22px;border-radius:18px;background:#fff;box-shadow:0 28px 90px #0c1e3147}.quick-add-modal header{display:flex;align-items:flex-start;justify-content:space-between}.quick-add-modal h2{margin:0;font-size:24px}.modal-field{display:grid;gap:7px;margin:22px 0 10px;color:#647287;font-size:14px;font-weight:700}.modal-field input{width:100%;padding:13px 14px;border:1px solid #ccd7e3;border-radius:11px;color:var(--ink);font-size:18px}.field-error{margin:0 0 10px;color:var(--red);font-size:15px}.quick-chips{display:flex;gap:7px}.quick-chips button{padding:6px 10px;border:1px solid var(--line);border-radius:8px;background:#f8fafc;color:#607085;font-size:14px}.quick-chips button.active{border-color:#a8c9e8;background:#edf5ff;color:var(--blue);font-weight:700}.quick-add-modal footer{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:24px;padding-top:16px;border-top:1px solid var(--line)}.quick-add-modal footer>span{color:var(--muted);font-size:13px}.quick-add-modal footer div{display:flex;gap:8px}.toolbar-stats{display:flex;flex-wrap:wrap;align-items:center;gap:4px 14px;color:var(--muted);font-size:12.5px}.toolbar-stats strong{color:var(--ink);font-size:14px}.toolbar-stats strong.danger{color:var(--red)}.metric-icon{width:38px;height:38px;display:grid;place-items:center;border-radius:11px;background:#eaf3fd;color:var(--blue);font-weight:900}.metric-icon.green{background:#e9f6ef;color:var(--green)}.metric-icon.red{background:#fdecef;color:var(--red)}.metric-icon.orange{background:#fff3e3;color:var(--orange)}.task-workspace{display:grid;grid-template-columns:minmax(500px,1fr) 350px;gap:16px;align-items:start}.panel{border:1px solid var(--line);border-radius:15px;background:#fff;box-shadow:0 5px 20px #233a540a;overflow:hidden}.panel-toolbar{min-height:56px;display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:10px 14px;border-bottom:1px solid var(--line)}.toolbar-spacer{flex:1}.task-list-panel{overflow:visible}.segmented{display:flex;padding:3px;border-radius:9px;background:#f1f4f8}.segmented button{padding:6px 10px;border:0;border-radius:7px;background:transparent;color:#718094;font-size:13px;font-weight:700}.segmented button.active{background:#fff;color:var(--blue);box-shadow:0 2px 7px #203a551a}.soft-button{min-height:32px;padding:6px 9px;border:1px solid var(--line);border-radius:8px;background:#fff;color:#647388;font-size:13px}.sort-control select{width:112px}.soft-button.active{border-color:#a8c9e8;background:#edf5ff;color:var(--blue)}.filter-count{min-width:17px;height:17px;display:inline-grid;place-items:center;margin-left:5px;padding:0 5px;border-radius:9px;background:var(--blue);color:#fff;font-size:11px}.tag-filter-control{position:relative}.tag-filter-popover{position:absolute;z-index:12;top:calc(100% + 8px);right:0;width:240px;padding:12px;border:1px solid var(--line);border-radius:12px;background:#fff;box-shadow:0 16px 42px #1b31492e}.tag-filter-popover header{display:flex;align-items:center;justify-content:space-between}.tag-filter-popover header strong{font-size:14px}.tag-filter-popover header button,.clear-tag-filters{border:0;background:transparent;color:var(--blue);font-size:12px}.tag-filter-popover>p{margin:4px 0 10px;color:#8b98a7;font-size:11px}.tag-filter-option{width:100%;display:grid;grid-template-columns:20px 1fr auto;align-items:center;gap:7px;padding:8px 6px;border:0;border-radius:7px;background:transparent;color:#526175;text-align:left;font-size:13px}.tag-filter-option:hover,.tag-filter-option.selected{background:#edf5ff;color:#285f96}.tag-filter-option b{color:#99a5b2;font-size:11px}.tag-checkmark{width:17px;height:17px;display:grid;place-items:center;border:1px solid #cbd6e1;border-radius:5px;color:#fff;font-size:12px}.tag-filter-option.selected .tag-checkmark{border-color:var(--blue);background:var(--blue)}.active-tag-filters{display:flex;align-items:center;gap:6px;padding:8px 14px;border-bottom:1px solid var(--line);background:#fafcff;color:#8491a1;font-size:12px}.active-tag-filters>button:not(.clear-tag-filters){padding:4px 7px;border:1px solid #cbddeb;border-radius:7px;background:#edf5ff;color:#2f6ca6;font-size:12px}.active-tag-filters .clear-tag-filters{margin-left:auto}.task-group>header{display:flex;align-items:center;gap:8px;padding:14px 15px 7px;color:#58687b;font-size:13px;font-weight:800;text-transform:uppercase;letter-spacing:.04em}.task-group>header b{padding:0 6px;border-radius:10px;background:#f1f4f8;color:#8492a2;font-size:12px}.task-group>header i{flex:1;height:1px;background:#edf1f5}.task-group>header button{border:0;background:transparent;color:#9ba8b5}.task-row{position:relative;display:grid;grid-template-columns:28px minmax(0,1fr) 58px 24px 26px;align-items:center;gap:7px;min-height:56px;padding:7px 11px 7px 14px;border-top:1px solid #eef2f6}.task-row:hover{background:#f8fbff}.task-row.selected{background:#edf5ff;box-shadow:inset 3px 0 var(--blue)}.task-row.batch-selected{background:#f0f7ff;box-shadow:inset 3px 0 #70a8d8}.task-row.completed{opacity:.62}.task-row.dragging{opacity:.45}.task-row.completed .task-main strong{text-decoration:line-through}.task-check{width:19px;height:19px;display:grid;place-items:center;border:2px solid #a6b6c6;border-radius:50%;background:#fff;color:#fff;font-size:13px}.task-row.completed .task-check{border-color:var(--green);background:var(--green)}.task-row.overdue .task-check{border-color:var(--red)}.task-main{min-width:0;padding:4px 0;border:0;background:transparent;color:var(--ink);text-align:left}.task-main strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:15px}.task-meta{display:flex;gap:6px;margin-top:4px;overflow:hidden;color:#8491a1;white-space:nowrap}.task-meta em{font-size:12px;font-style:normal}.priority-text.p1{color:var(--red);font-weight:800}.priority-text.p2{color:var(--orange);font-weight:800}.task-row time{color:#788698;font-size:13px;text-align:right}.task-row.overdue time{color:var(--red);font-weight:700}.batch-toggle,.row-more{border:0;background:transparent;color:#94a1af}.batch-toggle{width:23px;height:23px;padding:0;border-radius:6px;font-size:15px}.batch-toggle:hover,.batch-toggle.active{background:#dcecff;color:var(--blue);font-weight:800}.row-actions{position:relative;display:grid;place-items:center}.row-more{width:26px;height:26px;padding:0;border-radius:6px}.row-more:hover,.row-more[aria-expanded=true]{background:#e8f2fc;color:var(--blue)}.task-row-menu{position:absolute;z-index:16;top:calc(100% + 5px);right:0;width:118px;padding:5px;border:1px solid var(--line);border-radius:9px;background:#fff;box-shadow:0 12px 30px #1b314933}.task-row-menu button{width:100%;padding:7px 9px;border:0;border-radius:6px;background:transparent;color:var(--ink);text-align:left;font-size:13px}.task-row-menu button:hover{background:#edf5ff;color:var(--blue)}.task-row-menu button.danger{color:var(--red)}.task-row-menu button.danger:hover{background:#fff0f1;color:var(--red)}.batch-action-bar{display:flex;flex-wrap:wrap;align-items:center;gap:6px;padding:9px 12px;border-bottom:1px solid #cfe0f0;background:#edf6ff}.batch-action-bar strong{margin-right:4px;color:#285f91;font-size:13px}.batch-action-bar button,.batch-action-bar select,.batch-action-bar input{min-height:29px;padding:5px 8px;border:1px solid #c5d8e9;border-radius:7px;background:#fff;color:#52667b;font-size:12px}.batch-action-bar button:hover:not(:disabled){border-color:#8db5d8;color:var(--blue)}.batch-action-bar button:disabled{opacity:.5;cursor:default}.batch-action-bar .batch-inline-field input{width:78px}.batch-action-bar .batch-date-field input{width:116px}.batch-action-bar .batch-danger{margin-left:auto;border-color:#efc4c8;color:var(--red)}.batch-action-bar .batch-clear{border-color:transparent;background:transparent}.undo-toast{position:fixed;z-index:90;left:calc(50% + 72px);bottom:28px;min-width:250px;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:11px 13px;border-radius:10px;background:#173b5e;color:#fff;box-shadow:0 12px 34px #142b4247;font-size:14px;transform:translate(-50%)}.undo-toast button{padding:4px 8px;border:1px solid rgba(255,255,255,.25);border-radius:6px;background:#ffffff1f;color:#fff;font-size:13px;font-weight:800}.operation-error-toast{position:fixed;z-index:92;right:22px;bottom:22px;max-width:min(380px,calc(100vw - 44px));display:flex;align-items:center;gap:14px;padding:11px 13px;border:1px solid color-mix(in srgb,var(--danger) 42%,var(--line));border-radius:10px;background:color-mix(in srgb,var(--danger) 14%,var(--surface-1));color:var(--danger);box-shadow:var(--shadow);font-size:13px}.operation-error-toast button{margin-left:auto;border:0;background:transparent;color:currentColor;font-size:18px}.task-empty{min-height:320px;display:grid;place-items:center;align-content:center;padding:30px;text-align:center}.task-empty>span{width:50px;height:50px;display:grid;place-items:center;border-radius:15px;background:#edf4fb;color:var(--blue);font-size:27px}.task-empty h3{margin:14px 0 5px;font-size:17px}.task-empty p{margin:0;color:var(--muted);font-size:14px}.task-detail{position:sticky;top:92px;max-height:calc(100vh - 115px);overflow:auto;padding:0 17px 17px}.detail-property-bar{position:sticky;z-index:8;top:0;display:flex;align-items:center;gap:5px;min-height:48px;margin:0 -17px 12px;padding:7px 12px;border-bottom:1px solid var(--line);background:var(--surface-1)}.detail-property-bar>button{min-width:34px;min-height:34px;padding:6px 8px;border:0;border-radius:8px;background:transparent;color:var(--text-3);font-size:14px}.detail-property-bar>button:hover,.detail-property-bar>button[aria-expanded=true]{background:var(--surface-2);color:var(--text-1)}.detail-property-bar [data-action=detail-date]{display:flex;align-items:center;gap:6px}.detail-property-bar [data-action=detail-date] span{font-size:12px}.detail-toolbar-spacer{flex:1}.priority-flag.p1{color:var(--danger)}.priority-flag.p2{color:var(--warning)}.priority-flag.p3{color:var(--accent)}.priority-flag.p4{color:var(--text-3)}.detail-popover{position:absolute;z-index:10;top:calc(100% + 6px);right:12px;max-width:calc(100% - 24px);max-height:min(70vh,520px);overflow:auto;padding:8px;border:1px solid var(--line);border-radius:11px;background:var(--surface-2);box-shadow:var(--shadow)}.detail-date-panel{display:grid;grid-template-columns:1fr 1fr;gap:7px;width:min(310px,calc(100% - 24px))}.detail-date-panel input{min-width:0;padding:7px;border:1px solid var(--line);border-radius:7px;background:var(--surface-1);color:var(--text-1)}.detail-date-period-toggle{grid-column:1 / -1;display:flex;align-items:center;gap:7px;color:var(--text-2);font-size:12px}.priority-menu{display:flex;gap:5px}.priority-menu button{min-width:38px;padding:7px;border:0;border-radius:7px;background:var(--surface-3);color:var(--text-2);font-weight:800}.priority-menu .p1{color:var(--danger)}.priority-menu .p2{color:var(--warning)}.priority-menu .p3{color:var(--accent)}.detail-content,.detail-title-editor{min-width:0}.detail-title-editor textarea{width:100%;min-height:58px;max-height:180px;margin:0;padding:3px 5px;border:1px solid transparent;border-radius:7px;outline:0;resize:none;overflow-y:hidden;background:transparent;color:var(--ink);font:inherit;font-size:19px;font-weight:800;line-height:1.35}.detail-title-editor textarea:hover{background:var(--surface-2)}.detail-title-editor textarea:focus{border-color:var(--accent);background:var(--surface-1);box-shadow:0 0 0 3px var(--accent-soft)}.detail-tag-strip{display:flex;flex-wrap:wrap;gap:6px;margin:8px 4px 12px}.detail-tag-strip button{padding:4px 7px;border:0;border-radius:7px;background:var(--accent-soft);color:var(--accent);font-size:12px}.detail-tag-strip button b{margin-left:3px}.detail-notes-editor{width:100%;min-height:120px;padding:8px 5px;border:1px solid transparent;border-radius:8px;outline:0;resize:vertical;background:transparent;color:var(--text-2);font:inherit;font-size:14px;line-height:1.65}.detail-notes-editor:hover{background:var(--surface-2)}.detail-notes-editor:focus{border-color:var(--line-strong);background:var(--surface-1)}.task-detail{display:flex;flex-direction:column;overflow:hidden;padding:0}.detail-property-bar{flex:0 0 auto;margin:0;padding:7px 12px}.detail-content{min-height:0;flex:1 1 auto;overflow:auto;padding:10px 17px 18px}.detail-more-menu{right:44px;width:184px;display:grid;gap:3px}.detail-more-menu button{width:100%;padding:9px 10px;border:0;border-radius:7px;background:transparent;color:var(--text-2);text-align:left;font-size:13px}.detail-more-menu button:hover{background:var(--accent-soft);color:var(--accent)}.detail-property-panel{width:min(330px,calc(100% - 24px));display:grid;gap:10px;padding:12px}.detail-property-panel>strong{color:var(--text-1);font-size:13px}.detail-property-panel>select,.detail-property-panel .tag-input-row input,.detail-property-panel .tag-input-row select{min-width:0;padding:8px 9px;border:1px solid var(--line);border-radius:8px;background:var(--surface-1);color:var(--text-1)}.detail-property-panel.reminder-editor{margin:0}.detail-property-panel .reminder-note{padding:7px 0 0;border-top:1px solid var(--line);color:var(--text-3);font-size:11px}.detail-property-panel .reminder-note>button{float:right;border:0;background:transparent;color:var(--accent);font-size:11px}.detail-property-panel .reminder-note small{display:block;margin-top:4px}.detail-popover.detail-attachments{margin-top:0;padding-top:12px;border-top:1px solid var(--line)}.detail-popover.detail-attachments header{margin:0}.detail-footer{flex:0 0 auto;min-height:48px;display:flex;align-items:center;gap:5px;padding:7px 12px;border-top:1px solid var(--line);background:var(--surface-1)}.detail-footer select{min-width:0;max-width:150px;margin-right:auto;padding:7px 8px;border:0;border-radius:7px;background:transparent;color:var(--text-2);font-size:12px}.detail-footer select:hover,.detail-footer select:focus{background:var(--surface-2)}.detail-footer button{position:relative;min-width:34px;min-height:34px;padding:6px 8px;border:0;border-radius:8px;background:transparent;color:var(--text-3);font-size:15px}.detail-footer button:hover{background:var(--surface-2);color:var(--text-1)}.detail-footer button span{position:absolute;top:2px;right:2px;min-width:14px;height:14px;display:grid;place-items:center;border-radius:8px;background:var(--accent);color:#fff;font-size:9px}.detail-save-error{margin:10px 0;padding:7px 9px;border-radius:7px;background:#fff0f1;color:var(--red);font-size:12px}.detail-field{display:grid;gap:5px;margin:10px 0}.detail-field>span{color:#7d8998;font-size:12px;font-weight:800}.detail-field input,.detail-field textarea,.detail-field select,.field-surface{width:100%;padding:8px 9px;border:1px solid #dfe6ee;border-radius:8px;background:#fafbfd;color:var(--ink);font-size:13px}.detail-field textarea{resize:vertical;line-height:1.55}.field-surface small{display:block;margin-top:3px;color:#9aa6b3}.two-fields{display:grid;grid-template-columns:1fr 1fr;gap:8px}.task-tag-list{min-height:30px;display:flex;flex-wrap:wrap;align-items:center;gap:6px}.task-tag-list>button{padding:5px 7px;border:1px solid #cbddeb;border-radius:7px;background:#edf5ff;color:#2f6ca6;font-size:12px}.task-tag-list>button b{margin-left:3px;color:#7998b5}.task-tag-list>span{color:#9aa6b3;font-size:12px}.tag-input-row{display:grid;grid-template-columns:1fr auto;gap:6px}.tag-input-row button{padding:0 11px;border:1px solid var(--blue);border-radius:8px;background:var(--blue);color:#fff;font-size:12px;font-weight:700}.tag-input-row button:disabled{border-color:#d8e0e8;background:#e9eef3;color:#9aa6b3;cursor:default}.reminder-list{display:flex;flex-wrap:wrap;gap:5px}.reminder-list button{padding:4px 7px;border:1px solid #f0d4aa;border-radius:7px;background:#fff7e9;color:#9b6b25;font-size:12px}.reminder-note{position:relative}.reminder-note>button{float:right;border:0;background:transparent;color:var(--blue);font-size:12px}.detail-attachments{margin-top:15px;padding-top:13px;border-top:1px solid var(--line)}.detail-attachments header{display:flex;justify-content:space-between;margin-bottom:7px;font-size:13px}.detail-attachments header span{color:var(--text-3)}.inline-add{padding:5px 0;border:0;background:transparent;color:var(--blue);font-size:12px}.subtask-block{position:relative;margin-top:14px;padding-left:5px}.subtask-list{display:grid}.subtask-item{position:relative;min-width:0}.subtask-row{min-height:48px;display:grid;grid-template-columns:22px minmax(0,1fr) auto;align-items:center;column-gap:10px;border-bottom:1px solid var(--line);color:var(--text-1);font-size:14px}.subtask-composer{min-height:48px;display:grid;grid-template-columns:22px minmax(0,1fr) auto;align-items:center;column-gap:10px;border-bottom:1px solid var(--line)}.subtask-row>button,.subtask-actions>button,.subtask-composer>button{min-width:22px;min-height:22px;display:grid;place-items:center;padding:2px;border:0;border-radius:5px;background:transparent;color:var(--text-3)}.subtask-row>button:hover,.subtask-actions>button:hover,.subtask-composer>button:hover{background:var(--surface-2);color:var(--text-1)}.subtask-row>[data-action=toggle-subtask],.subtask-checkbox-placeholder{width:20px;height:20px;padding:0;border:2px solid var(--text-3);border-radius:5px;background:transparent;color:#fff;font-size:13px}.subtask-row.is-completed>[data-action=toggle-subtask]{border-color:var(--success);background:var(--success)}.subtask-title{display:block!important;min-width:0;overflow:hidden;padding:0!important;background:transparent!important;color:var(--text-1)!important;text-align:left;text-overflow:ellipsis;white-space:nowrap}.subtask-title-input,.subtask-composer input{min-width:0;width:100%;padding:0;border:0;outline:0;background:transparent;color:var(--text-1);font-size:14px;line-height:1.45}.subtask-composer input::placeholder{color:var(--text-3)}.subtask-composer>button{color:var(--accent)}.subtask-meta{grid-column:3;display:inline-flex;align-items:center;justify-content:flex-end;gap:7px;color:var(--text-3);font-size:11px;white-space:nowrap;transition:opacity .12s ease}.subtask-meta .p1{color:var(--danger)}.subtask-meta .p2{color:var(--warning)}.subtask-meta .p3{color:var(--accent)}.subtask-actions{position:relative;grid-column:3;grid-row:1;display:inline-flex;align-items:center;justify-content:flex-end;gap:2px;opacity:0;pointer-events:none;transition:opacity .12s ease}.subtask-actions svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.subtask-keyboard-menu-trigger{position:absolute;width:1px!important;height:1px;min-width:0!important;min-height:0!important;overflow:hidden;opacity:0}.subtask-keyboard-menu-trigger:focus-visible,.subtask-keyboard-menu-trigger[aria-expanded=true]{position:static;width:22px!important;height:22px;min-width:22px!important;min-height:22px!important;overflow:visible;opacity:1}.subtask-row:hover .subtask-meta,.subtask-row:focus-within .subtask-meta,.subtask-row.has-open-menu .subtask-meta{opacity:0}.subtask-row:hover .subtask-actions,.subtask-row:focus-within .subtask-actions,.subtask-row.has-open-menu .subtask-actions{opacity:1;pointer-events:auto}.subtask-row.is-completed .subtask-title{color:var(--text-3)!important;text-decoration:line-through}.subtask-row-menu{position:absolute;z-index:11;top:calc(100% + 5px);right:0;width:112px;display:grid;gap:2px;padding:5px;border:1px solid var(--line);border-radius:8px;background:var(--surface-2);box-shadow:var(--shadow)}.subtask-row-menu button{padding:7px 9px;border:0;border-radius:6px;background:transparent;color:var(--text-2);text-align:left}.subtask-row-menu button:hover:not(:disabled){background:var(--surface-3);color:var(--text-1)}.subtask-properties{position:absolute;z-index:12;top:calc(100% - 2px);right:0;width:min(300px,calc(100vw - 32px));display:grid;grid-template-columns:1fr 1fr;gap:9px;padding:12px;border:1px solid var(--line);border-radius:11px;background:var(--surface-2);box-shadow:var(--shadow)}.subtask-properties label{min-width:0;display:grid;gap:5px;color:var(--text-3);font-size:11px}.subtask-properties input,.subtask-properties select{min-width:0;width:100%;padding:7px;border:1px solid var(--line);border-radius:7px;background:var(--surface-1);color:var(--text-1);font-size:12px}.subtask-message{margin:4px 0;color:var(--text-3);font-size:12px}.subtask-message.is-error{color:var(--danger)}.subtask-completion-backdrop{position:fixed;z-index:90;inset:0;display:grid;place-items:center;padding:16px;background:var(--overlay)}.subtask-completion-prompt{width:min(360px,calc(100vw - 32px));padding:20px;border:1px solid var(--line);border-radius:12px;background:var(--surface-1);color:var(--text-1);box-shadow:var(--shadow)}.subtask-completion-prompt h2{margin:0 0 8px;font-size:18px}.subtask-completion-prompt p{margin:0 0 16px;color:var(--text-2)}.subtask-completion-prompt button{margin-right:8px;padding:7px 11px;border:1px solid var(--line);border-radius:8px;background:var(--surface-2);color:var(--text-2)}.subtask-completion-prompt [data-action=complete-parent]{border-color:var(--accent);background:var(--accent);color:#fff}@media(max-width:720px){.subtask-properties{left:0;right:auto;width:min(280px,calc(100vw - 32px))}}.mini-file{display:grid;grid-template-columns:32px 1fr 20px;align-items:center;gap:7px;margin-top:7px;padding:7px;border:1px solid var(--line);border-radius:8px}.mini-file b{height:30px;display:grid;place-items:center;border-radius:7px;background:#eaf3fd;color:var(--blue);font-size:11px}.mini-file span{font-size:12px}.mini-file small{display:block;color:#99a5b2}.mini-file button{border:0;background:transparent;color:#8a97a6}.detail-empty-copy{margin:7px 0 0;color:var(--muted);font-size:12px;line-height:1.5}.module-toolbar,.calendar-toolbar{min-height:48px;display:flex;align-items:center;gap:10px;margin-bottom:15px}.module-toolbar h2,.calendar-toolbar h2{margin:0;font-size:21px}.date-controls{display:flex;align-items:center;gap:7px}.date-controls h2{margin-left:8px}.calendar-legend{display:flex;gap:13px;margin-left:auto;color:var(--muted);font-size:13px}.calendar-legend span{display:flex;align-items:center;gap:5px}.event-dot{width:7px;height:7px;border-radius:50%;background:var(--blue)}.event-dot.habit{background:var(--green)}.calendar-workspace{display:grid;grid-template-columns:minmax(640px,1fr) 250px;gap:15px}.calendar-panel{padding:13px}.weekday-row,.month-grid{display:grid;grid-template-columns:repeat(7,1fr)}.weekday-row span{padding:8px;color:#8390a0;font-size:12px;font-weight:700;text-align:center}.calendar-day{min-height:102px;padding:6px;border-top:1px solid var(--line);border-left:1px solid var(--line);background:#fff}.calendar-day:nth-child(7n){border-right:1px solid var(--line)}.calendar-day:nth-last-child(-n+7){border-bottom:1px solid var(--line)}.calendar-day.muted{background:#fafbfd;color:#a8b2bd}.calendar-day.today{background:#f5faff}.calendar-day.selected{outline:2px solid #78aada;outline-offset:-2px}.calendar-day>header{display:flex;align-items:center;justify-content:space-between;margin-bottom:4px;font-size:12px;font-weight:800}.calendar-day>header>span{width:21px;height:21px;display:grid;place-items:center;border-radius:7px}.calendar-day.today>header>span{background:var(--blue);color:#fff}.calendar-day>header b{color:var(--blue);font-size:11px}.calendar-event{width:100%;display:flex;align-items:center;gap:5px;margin-top:3px;padding:4px 5px;border:0;border-radius:5px;background:#eaf3fd;color:#285e91;text-align:left;font-size:11px;overflow:hidden}.calendar-event i{width:4px;height:4px;flex:0 0 auto;border-radius:50%;background:var(--blue)}.calendar-event span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.calendar-event.completed{opacity:.55;text-decoration:line-through}.calendar-event.overdue{background:#fdecee;color:#a63d47}.calendar-event.overdue i{background:var(--red)}.more-events{padding:3px 5px;border:0;background:transparent;color:#718296;font-size:11px}.unscheduled-panel{padding:14px}.unscheduled-panel>header{display:flex;align-items:center;justify-content:space-between}.unscheduled-panel h3{margin:0;font-size:17px}.unscheduled-panel>header>span{padding:2px 7px;border-radius:9px;background:#eff3f7;color:#748296;font-size:12px}.drag-hint{margin:12px 0;padding:8px;border-radius:8px;background:#f5f8fb;color:#8794a3;font-size:12px}.unscheduled-panel article{display:grid;grid-template-columns:22px 1fr auto;align-items:center;gap:7px;padding:9px 2px;border-top:1px solid #edf1f5}.unscheduled-panel article strong,.unscheduled-panel article small{display:block}.unscheduled-panel article strong{font-size:13px}.unscheduled-panel article small{margin-top:2px;color:#8b98a7;font-size:11px}.unscheduled-panel article>span{color:#9aa6b3}.calendar-week{min-height:620px;display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.calendar-week>article{min-width:0;padding:10px 7px;border-left:1px solid var(--line);background:repeating-linear-gradient(180deg,#fff 0 49px,#f0f3f7 50px)}.calendar-week>article:first-child{border-left:0}.calendar-week>article.today{background-color:#f6faff}.calendar-week>article.selected{box-shadow:inset 0 3px var(--blue)}.calendar-week header{display:grid;gap:3px;min-height:44px;color:#8794a3;font-size:11px;text-align:center}.calendar-week header strong{color:var(--ink);font-size:13px}.calendar-week p{margin-top:20px;color:#a3adb8;font-size:11px;text-align:center}.calendar-week .calendar-event{align-items:flex-start;flex-direction:column}.calendar-week .calendar-event time{color:#6e8091;font-size:10px}.calendar-day-view{min-height:620px;padding:15px;background:repeating-linear-gradient(180deg,#fff 0 49px,#f0f3f7 50px)}.calendar-day-view>header{display:flex;justify-content:space-between;margin-bottom:12px}.calendar-day-view>header span{color:var(--muted);font-size:12px}.all-day-lane{min-height:55px;display:grid;grid-template-columns:55px 1fr;align-items:start;gap:8px;padding:8px;border:1px solid var(--line);border-radius:9px;background:#ffffffeb}.all-day-lane b{color:#8491a1;font-size:12px}.time-lane{display:grid;gap:7px;padding:14px 8px}.time-lane article{display:grid;grid-template-columns:50px 1fr auto;gap:10px;padding:9px;border-left:3px solid var(--blue);border-radius:7px;background:#edf5ff;font-size:13px}.time-lane article small{color:var(--muted)}.time-lane>p{color:var(--muted);font-size:13px;text-align:center}.calendar-agenda{min-height:620px;padding:8px 14px}.calendar-agenda>section{padding:11px 0;border-bottom:1px solid var(--line)}.calendar-agenda section>header{display:flex;justify-content:space-between;margin-bottom:5px;font-size:13px}.calendar-agenda section>header span{color:var(--muted)}.calendar-agenda section>button{width:100%;display:grid;grid-template-columns:55px 1fr 80px;gap:10px;padding:9px;border:0;border-radius:7px;background:transparent;text-align:left}.calendar-agenda section>button:hover{background:#f3f7fb}.calendar-agenda button time,.calendar-agenda button em{color:var(--muted);font-size:12px;font-style:normal}.calendar-empty{padding:80px 20px;color:var(--muted);font-size:14px;text-align:center}.unscheduled-main{min-width:0;padding:0;border:0;background:transparent;color:var(--ink);text-align:left}.schedule-button{padding:5px 7px;border:1px solid #b9d2e9;border-radius:6px;background:#edf5ff;color:var(--blue);font-size:11px}.schedule-date-field{display:grid;gap:5px;margin:10px 0;color:#7b8998;font-size:11px;font-weight:800}.schedule-date-field input{padding:7px 8px;border:1px solid var(--line);border-radius:7px;color:var(--ink)}.calendar-error{padding:7px;border-radius:7px;background:#fff0f1;color:var(--red);font-size:11px}.calendar-inline-add{display:grid;grid-template-columns:1fr auto;gap:6px;margin-top:10px}.calendar-inline-add input{min-width:0;padding:7px;border:1px solid var(--line);border-radius:7px;font-size:12px}.calendar-inline-add button{padding:7px;border:1px solid var(--blue);border-radius:7px;background:var(--blue);color:#fff;font-size:11px}.calendar-inline-add button:disabled{opacity:.45}.habit-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.habit-card{padding:16px}.habit-card>header{display:grid;grid-template-columns:40px 1fr auto;align-items:center;gap:10px}.habit-icon{width:40px;height:40px;display:grid;place-items:center;border-radius:12px;background:#ebf7f1;font-size:22px}.habit-card h3{margin:0;font-size:16px}.habit-card header p{margin:3px 0 0;color:var(--muted);font-size:11px}.habit-card header b{color:var(--orange);font-size:13px}.habit-week{display:grid;grid-template-columns:repeat(7,1fr);gap:5px;margin:17px 0}.habit-week div{display:grid;gap:4px;text-align:center}.habit-week button{aspect-ratio:1;border:0;border-radius:7px;background:#edf1f5;color:#8a97a6;font-size:11px}.habit-week button.done{background:#4da77b;color:#fff}.habit-week span{color:#9aa6b2;font-size:10px}.habit-progress-row{display:flex;justify-content:space-between;color:#6d7c8e;font-size:12px}.habit-progress-row strong{color:var(--green)}.progress-track{height:7px;border-radius:8px;background:#e9eef3;overflow:hidden}.progress-track i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#3d956c,#5eb386)}.habit-card .progress-track{margin:7px 0 15px}.habit-card footer{display:flex;gap:7px}.habit-card footer button{flex:1;min-height:32px;font-size:13px}.habit-overview{margin-top:15px;padding:17px}.habit-overview>header{display:flex;align-items:center;justify-content:space-between;padding-bottom:12px;border-bottom:1px solid var(--line)}.habit-overview h3{margin:0;font-size:17px}.habit-overview>header>strong{color:var(--green);font-size:23px;text-align:right}.habit-overview>header small{display:block;color:#8b98a7;font-size:11px;font-weight:500}.habit-overview-row{display:grid;grid-template-columns:150px 1fr 70px;align-items:center;gap:14px;padding:11px 0;border-bottom:1px solid #f0f3f6;font-size:13px}.habit-overview-row b{color:#718094;font-size:12px;text-align:right}.habit-week button.skipped{background:#fff4df;color:var(--orange)}.habit-card footer{flex-wrap:wrap}.habit-archive{width:100%;margin-top:9px;padding:4px;border:0;background:transparent;color:#929eab;font-size:11px}.habit-editor{width:min(650px,calc(100vw - 64px));padding:20px;border-radius:16px;background:#fff;box-shadow:var(--shadow)}.habit-editor>header,.habit-editor>footer{display:flex;align-items:center;justify-content:space-between}.habit-editor h2{margin:0;font-size:22px}.habit-editor-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 10px;margin-top:14px}.habit-title-field{grid-column:1 / -1}.habit-weekday-picker>div{display:flex;gap:4px}.habit-weekday-picker button{width:27px;height:27px;border:1px solid var(--line);border-radius:6px;background:#fff;color:var(--muted);font-size:12px}.habit-weekday-picker button.active{border-color:var(--blue);background:#edf5ff;color:var(--blue)}.habit-estimate{padding:8px;border-radius:7px;background:#f4f7fa;color:var(--muted);font-size:12px}.habit-editor>footer{justify-content:flex-end;gap:8px;margin-top:14px}.visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.attachment-workspace{display:grid;grid-template-columns:minmax(620px,1fr) 245px;gap:15px;align-items:start}.dropzone{width:100%;min-height:145px;display:grid;place-items:center;align-content:center;gap:5px;border:2px dashed #b8c9d8;border-radius:14px;background:#f8fbff;color:#617287}.dropzone:hover,.dropzone.dragging{border-color:var(--blue);background:#edf6ff}.dropzone>span{width:38px;height:38px;display:grid;place-items:center;border-radius:11px;background:#e6f1fc;color:var(--blue);font-size:21px;font-weight:800}.dropzone strong{margin-top:3px;font-size:15px}.dropzone small{color:#8493a4;font-size:12px}.dropzone em{color:#a1abb7;font-size:11px;font-style:normal}.upload-error{margin:9px 0;padding:9px 11px;border-radius:8px;background:#fff0f1;color:var(--red);font-size:13px}.file-table{margin-top:14px}.file-table>header{display:flex;align-items:center;justify-content:space-between;padding:14px;border-bottom:1px solid var(--line)}.file-table h3{margin:0;font-size:17px}.file-table>header>span{color:#8290a0;font-size:12px}.file-table-head,.file-row{display:grid;grid-template-columns:minmax(220px,1.5fr) minmax(140px,1fr) 65px 85px 85px;align-items:center;gap:10px;padding:9px 12px}.file-table-head{background:#f8fafc;color:#8a97a6;font-size:11px;font-weight:800}.file-row{min-height:55px;border-top:1px solid #eff2f6;color:#667588;font-size:12px}.file-row:hover{background:#fafcff}.file-name{min-width:0;display:flex;align-items:center;gap:9px}.file-name>b{width:34px;height:34px;flex:0 0 auto;display:grid;place-items:center;border-radius:9px;background:#eaf3fd;color:var(--blue);font-size:11px}.file-name strong,.file-name small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-name strong{color:var(--ink);font-size:13px}.file-name small{margin-top:2px;color:#9ba6b2;font-size:10px}.file-actions{display:flex;gap:4px}.file-actions button{padding:4px 6px;border:1px solid var(--line);border-radius:6px;background:#fff;color:#657589;font-size:11px}.storage-card{position:sticky;top:92px;padding:17px}.storage-card h3{margin:5px 0 10px;font-size:25px}.storage-card h3 small{margin-left:4px;color:#8e9baa;font-size:12px;font-weight:500}.storage-track{height:8px;border-radius:8px;background:#e8edf3;overflow:hidden}.storage-track i{display:block;height:100%;border-radius:inherit;background:var(--blue)}.storage-card>p:not(.eyebrow){margin:13px 0;color:#7b8999;font-size:12px;line-height:1.55}.storage-card dl{margin:0}.storage-card dl div{display:flex;justify-content:space-between;padding:8px 0;border-top:1px solid var(--line);color:#68778a;font-size:12px}.storage-card dd{margin:0;font-weight:800}.preview-modal{width:min(720px,80vw);padding:14px;border-radius:16px;background:#fff;box-shadow:var(--shadow)}.preview-modal header{display:flex;align-items:center;justify-content:space-between;padding-bottom:10px}.preview-modal img{max-width:100%;max-height:65vh;display:block;margin:auto;border-radius:10px}.preview-placeholder{min-height:320px;display:grid;place-items:center;border-radius:10px;background:#f3f6f9;color:#8290a0}.attachment-toolbar-field{display:grid;gap:3px;color:var(--muted);font-size:11px}.attachment-toolbar-field select{max-width:145px;padding:6px 8px;border:1px solid var(--line);border-radius:7px;background:#fff;color:var(--ink);font-size:12px}.attachment-tabs{display:flex;gap:5px}.attachment-tabs button{padding:5px 8px;border:1px solid var(--line);border-radius:7px;background:#fff;color:var(--muted);font-size:11px}.attachment-tabs button.active{border-color:#a9c9e7;background:#edf5ff;color:var(--blue)}.attachment-empty{padding:45px;color:var(--muted);font-size:13px;text-align:center}.preview-modal iframe{width:100%;height:65vh;border:0;border-radius:9px;background:#f4f6f8}.stats-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:15px}.stats-metrics article{display:grid;grid-template-columns:38px 1fr auto;align-items:center;gap:10px;padding:15px;border:1px solid var(--line);border-radius:14px;background:#fff}.stats-metrics strong,.stats-metrics small{display:block}.stats-metrics strong{font-size:24px}.stats-metrics small{margin-top:3px;color:var(--muted);font-size:12px}.stats-metrics em{color:var(--green);font-size:11px;font-style:normal}.stats-metrics em.danger{color:var(--red)}.charts-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.chart-card{min-height:255px;padding:16px}.chart-card>header{display:flex;align-items:center;justify-content:space-between}.chart-card h3{margin:0;font-size:17px}.chart-card>header>span{color:var(--blue);font-size:15px;font-weight:800}.bar-chart{height:175px;display:flex;align-items:end;gap:10px;padding:24px 7px 0;border-bottom:1px solid var(--line)}.bar-chart>div{flex:1;height:100%;display:flex;flex-direction:column;justify-content:flex-end;gap:6px;text-align:center}.bar-chart i{position:relative;display:block;border-radius:7px 7px 0 0;background:linear-gradient(180deg,#6ea8dd,#4d8cc8)}.bar-chart i b{position:absolute;top:-17px;left:0;right:0;color:#526276;font-size:11px;font-style:normal}.bar-chart span{padding-bottom:5px;color:#8a97a6;font-size:11px}.donut-layout{min-height:195px;display:flex;align-items:center;justify-content:center;gap:34px}.donut-chart{width:135px;height:135px;display:grid;place-items:center;border-radius:50%;background:conic-gradient(var(--green) 0 var(--rate),var(--red) var(--rate) 295deg,#dce4ec 295deg)}.donut-chart>span{width:88px;height:88px;display:grid;place-items:center;align-content:center;border-radius:50%;background:#fff}.donut-chart strong,.donut-chart small{display:block}.donut-chart strong{font-size:25px}.donut-chart small{margin-top:3px;color:#8d99a7;font-size:10px}.donut-layout ul{min-width:130px;display:grid;gap:11px;padding:0;list-style:none}.donut-layout li{display:grid;grid-template-columns:8px 1fr auto;align-items:center;gap:7px;color:#68778a;font-size:12px}.donut-layout li i{width:7px;height:7px;border-radius:3px;background:#dce4ec}.donut-layout li i.green{background:var(--green)}.donut-layout li i.red{background:var(--red)}.habit-chart,.list-distribution{display:grid;gap:15px;padding:24px 5px 5px}.habit-chart>div{display:grid;grid-template-columns:125px 1fr 40px;align-items:center;gap:12px;color:#607085;font-size:12px}.habit-chart b{text-align:right}.list-distribution>div{display:grid;grid-template-columns:90px 1fr 28px;align-items:center;gap:10px;color:#667588;font-size:12px}.list-distribution span{display:flex;align-items:center;gap:6px}.list-distribution span i{width:7px;height:7px;border-radius:2px}.list-distribution>div>div{height:7px;border-radius:7px;background:#e9eef3;overflow:hidden}.list-distribution>div>div b{display:block;height:100%;border-radius:inherit}.list-distribution strong{text-align:right}.stats-range-label{display:block;margin-top:4px;color:var(--muted);font-size:11px;font-weight:500}.stats-empty{min-height:190px;display:grid;place-items:center;color:var(--muted);font-size:13px}.stats-scroll-chart{min-width:0;overflow-x:auto}.stats-scroll-chart>div{min-width:18px}.stats-scroll-chart>div>span{font-size:10px;writing-mode:vertical-rl}@media(max-width:1100px){.desktop-app{grid-template-columns:72px minmax(0,1fr)}.brand-block>div:last-child,.primary-nav a>span:not(.nav-icon),.primary-nav .nav-count,.sidebar-label,.secondary-nav,.list-nav,.profile-card>span:not(.avatar){display:none}.brand-block{justify-content:center;padding-inline:0}.primary-nav a{justify-content:center;padding:8px}.nav-icon{font-size:21px}.profile-card{display:flex;justify-content:center;padding:8px}.task-workspace{grid-template-columns:1fr}.task-detail{display:none}.calendar-workspace{grid-template-columns:1fr}.unscheduled-panel{display:none}.habit-card-grid{grid-template-columns:repeat(2,1fr)}.attachment-workspace{grid-template-columns:1fr}.storage-card{display:none}.charts-grid{grid-template-columns:1fr}}@media(max-width:1023px){.narrow-notice{position:fixed;inset:0;z-index:200;display:grid;place-items:center;padding:24px;background:#f5f7fb;color:#4f6072;font-weight:700;text-align:center}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.desktop-app{min-height:100vh;height:100vh;grid-template-columns:64px clamp(232px,18vw,288px) minmax(0,1fr);overflow:hidden;background:var(--app-bg);color:var(--text-1)}.desktop-app[data-workspace-mode=compact]{grid-template-columns:60px var(--qingxu-navigation-width, 232px) minmax(0,1fr)}.desktop-app[data-workspace-mode=detail-drawer]{grid-template-columns:58px var(--qingxu-navigation-width, 232px) minmax(0,1fr)}.desktop-app[data-workspace-mode=dual-drawer],.desktop-app.navigation-collapsed{grid-template-columns:58px minmax(0,1fr)}.desktop-app[data-workspace-mode=full].has-fixed-detail{grid-template-columns:64px var(--qingxu-navigation-width, 232px) minmax(520px,1fr) var(--qingxu-detail-width, 420px)}.desktop-app[data-workspace-mode=compact].has-fixed-detail{grid-template-columns:60px 232px minmax(500px,1fr) 360px}.desktop-app.navigation-collapsed[data-workspace-mode=full].has-fixed-detail{grid-template-columns:64px minmax(520px,1fr) clamp(380px,28vw,460px)}.desktop-app.navigation-collapsed[data-workspace-mode=compact].has-fixed-detail{grid-template-columns:60px minmax(500px,1fr) 360px}.app-rail{position:relative;z-index:45;min-width:0;height:100vh;display:flex;flex-direction:column;align-items:center;padding:12px 7px;border-right:1px solid var(--line);background:#0d0f12}[data-theme=light] .app-rail{background:#242932}.rail-logo,.rail-action,.rail-nav a{position:relative;width:42px;height:42px;display:grid;place-items:center;flex:0 0 auto;border:0;border-radius:12px;background:transparent;color:#9098a5;text-decoration:none;font-size:20px}.rail-logo{margin-bottom:16px;background:transparent}.rail-logo-img{width:34px;height:34px;border-radius:9px}.rail-logo:hover{background:transparent}.rail-nav{min-height:0;display:flex;flex:1;flex-direction:column;align-items:center;gap:6px;overflow-y:auto;scrollbar-width:none}.rail-nav [data-nav=inbox].drop-target{outline:2px solid var(--accent);outline-offset:-2px;border-radius:8px}.rail-nav a:hover,.rail-nav a.active,.rail-action:hover{background:#ffffff17;color:#fff}.rail-nav a b{position:absolute;top:2px;right:1px;min-width:16px;padding:1px 4px;border-radius:9px;background:var(--danger);color:#fff;font-size:9px;line-height:14px;text-align:center}.rail-action{margin-top:8px}.navigation-pane.sidebar{position:relative;top:auto;width:auto;height:100vh;min-width:0;padding:18px 14px 14px;border-right:1px solid var(--line);background:var(--surface-1);color:var(--text-1);overflow:hidden auto}.navigation-section{margin-top:12px}.navigation-section h2{margin:0 10px 7px;color:var(--text-3);font-size:11px;font-weight:750;letter-spacing:.08em}.navigation-section-header{display:flex;align-items:center;justify-content:space-between;padding-right:4px}.navigation-section-header h2{margin-bottom:7px}.navigation-section-header button{width:28px;height:28px;border:0;border-radius:7px;background:transparent;color:var(--text-3);font-size:19px}.navigation-section-header button:hover,.navigation-section-header button:focus-visible{background:var(--surface-3);color:var(--text-1)}.navigation-pane .secondary-nav,.navigation-pane .list-nav,.navigation-pane .tag-nav{display:grid;gap:2px}.navigation-pane .secondary-nav a,.navigation-pane .list-nav a{min-height:36px;padding:7px 10px;border-radius:8px;color:var(--text-2);font-size:14px}.navigation-pane .tag-nav a{display:grid;grid-template-columns:16px minmax(0,1fr) auto;align-items:center;gap:8px;min-height:34px;padding:6px 10px;border-radius:8px;color:var(--text-2);font-size:13px}.navigation-pane .secondary-nav a:hover,.navigation-pane .secondary-nav a.router-link-active,.navigation-pane .list-nav a:hover,.navigation-pane .list-nav a.router-link-active,.navigation-pane .tag-nav a:hover,.navigation-pane .tag-nav a.active{background:var(--accent-soft);color:var(--text-1)}.tag-nav-icon{color:var(--accent);font-size:15px}.tag-nav-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tag-nav b{color:var(--text-3);font-size:11px;font-weight:600}.navigation-pane .secondary-nav b{background:var(--surface-3);color:var(--text-2)}.navigation-lists{min-height:100px}.list-navigation-row{position:relative}.list-navigation-row.drop-target>a{outline:2px solid var(--accent);outline-offset:-2px;border-radius:8px}.navigation-pane .list-navigation-row>a{display:grid;grid-template-columns:16px minmax(0,1fr) auto;align-items:center;gap:8px;padding-right:32px}.navigation-pane .list-navigation-name{margin-left:0}.list-navigation-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.list-navigation-count{color:var(--text-3);font-size:12px}.list-row-menu-trigger{position:absolute;top:4px;right:3px;width:28px;height:28px;border:0;border-radius:7px;background:transparent;color:var(--text-3);opacity:0}.list-navigation-row:hover .list-row-menu-trigger,.list-row-menu-trigger:focus-visible,.list-row-menu-trigger[aria-expanded=true]{opacity:1}.list-row-menu-trigger:hover{background:var(--surface-3);color:var(--text-1)}.list-row-menu{position:absolute;top:32px;right:2px;z-index:25;width:154px;display:grid;gap:2px;padding:5px;border:1px solid var(--line);border-radius:10px;background:var(--surface-2);box-shadow:var(--shadow)}.list-row-menu button{border:0;border-radius:7px;padding:8px 9px;background:transparent;color:var(--text-1);text-align:left}.list-row-menu button:hover{background:var(--surface-3)}.list-row-menu button.danger{color:var(--danger)}.manage-lists-trigger{margin:7px 8px 0;border:0;background:transparent;color:var(--text-3);font-size:12px}.manage-lists-trigger:hover{color:var(--accent)}.list-editor-popover{position:relative;z-index:20;display:grid;gap:10px;margin:0 4px 8px;padding:11px;border:1px solid var(--line);border-radius:11px;background:var(--surface-2);box-shadow:var(--shadow)}.list-editor-field{display:grid;gap:6px;color:var(--text-3);font-size:11px;font-weight:700}.list-editor-field input{width:100%;border:1px solid var(--line);border-radius:8px;padding:8px 9px;background:var(--surface-1);color:var(--text-1);outline:none}.list-editor-field input:focus{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-soft)}.list-color-palette{display:flex;flex-wrap:wrap;gap:7px}.list-color-option{width:21px;height:21px;border:2px solid transparent;border-radius:50%}.list-color-option.selected{border-color:var(--text-1);box-shadow:0 0 0 2px var(--surface-2)}.list-editor-actions{display:flex;justify-content:flex-end;gap:7px}.list-editor-actions button{min-height:30px;padding:5px 10px}.list-editor-error{margin:-3px 9px 7px;color:var(--danger);font-size:11px}.archived-list-overlay{position:fixed;inset:0;z-index:120;display:grid;place-items:center;padding:20px;background:var(--overlay)}.archived-list-manager{width:min(380px,100%);max-height:min(520px,80vh);overflow:auto;padding:14px;border:1px solid var(--line);border-radius:14px;background:var(--surface-1);box-shadow:var(--shadow)}.archived-list-manager header{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.archived-list-manager header button{width:30px;height:30px;border:0;border-radius:8px;background:transparent;color:var(--text-2);font-size:20px}.archived-list-row{display:grid;grid-template-columns:10px minmax(0,1fr) auto;align-items:center;gap:9px;min-height:42px;border-top:1px solid var(--line)}.archived-list-row button{border:0;border-radius:7px;padding:6px 9px;background:var(--accent-soft);color:var(--accent)}.archived-list-empty{color:var(--text-3);font-size:13px;text-align:center}.navigation-pane .profile-card{border-color:var(--line);background:var(--surface-2);color:var(--text-1)}.navigation-pane .profile-card small,.navigation-pane .list-navigation-count{color:var(--text-3)}.main-shell{min-width:0;height:100vh;overflow:hidden;background:var(--app-bg)}.topbar{min-height:64px;padding:8px clamp(14px,2vw,26px);border-color:var(--line);background:color-mix(in srgb,var(--surface-1) 92%,transparent)}.workspace-heading{min-width:130px}.topbar h1{font-size:clamp(20px,1.8vw,27px)}.topbar .global-search{width:min(420px,42vw);margin-left:auto;border-color:var(--line);background:var(--surface-2)}.topbar .global-search input{color:var(--text-1)}.route-content{height:calc(100vh - 64px);overflow:auto}.compact-create{white-space:nowrap}.workspace-drawer-layer{position:fixed;inset:0;z-index:80;background:var(--overlay)}.workspace-drawer{position:absolute;inset-block:0;width:min(286px,calc(100vw - 58px));box-shadow:var(--shadow)}.workspace-drawer.from-left{left:58px}.workspace-drawer.from-right{right:0}.workspace-drawer>.navigation-pane{width:100%}.workspace-drawer>.task-detail{display:flex;position:static;width:100%;height:100vh;max-height:none;border:0;border-radius:0;background:var(--surface-1)}.drawer-close{position:absolute;top:9px;right:9px;z-index:5;width:32px;height:32px;border:0;border-radius:9px;background:var(--surface-3);color:var(--text-2);font-size:20px}.shell-task-detail{position:static;top:auto;width:100%;height:100vh;max-height:none;border-width:0 0 0 1px;border-radius:0;background:var(--surface-1);box-shadow:none}.desktop-app .task-workspace{grid-template-columns:minmax(0,1fr)}.desktop-app .panel{background:var(--surface-1);box-shadow:none}.task-row-menu{width:188px;background:var(--surface-2);box-shadow:var(--shadow)}.task-move-options{display:grid;gap:2px;margin:4px 0;padding:5px 0;border-block:1px solid var(--line)}.task-move-options>span{padding:3px 9px;color:var(--text-3);font-size:10px;font-weight:750}@media(max-width:1079px){.topbar .global-search{width:min(330px,42vw)}}@media(max-width:767px){.desktop-app[data-workspace-mode=dual-drawer]{grid-template-columns:52px minmax(0,1fr)}.app-rail{padding-inline:5px}.rail-logo,.rail-action,.rail-nav a{width:40px}.workspace-heading .eyebrow,.topbar .global-search,.compact-create>span:last-child{display:none}.workspace-heading{min-width:0}.topbar{gap:8px;padding-inline:10px}.compact-create{width:38px;height:38px;padding:0;display:grid;place-items:center}.route-content{height:calc(100vh - 64px)}.workspace-drawer.from-left{left:52px}}.inline-task-composer{position:relative;display:grid;grid-template-columns:28px minmax(0,1fr) auto;align-items:center;gap:6px;margin:0 0 12px;padding:9px 10px;border:1px solid var(--line);border-radius:12px;background:var(--surface-2);transition:border-color .16s ease,background .16s ease,box-shadow .16s ease}.inline-task-composer.focused{border-color:var(--accent);background:var(--surface-1);box-shadow:0 0 0 3px var(--accent-soft)}.composer-plus{display:grid;place-items:center;color:var(--text-3);font-size:21px}.inline-task-composer textarea{min-width:0;height:28px;max-height:76px;resize:none;padding:4px 0;border:0;outline:0;background:transparent;color:var(--text-1);font-size:14px;line-height:20px}.inline-task-composer textarea::placeholder{color:var(--text-3)}.composer-tools{display:flex;align-items:center;gap:5px}.composer-tools label,.composer-tools button{min-height:32px;border:1px solid var(--line);border-radius:8px;background:var(--surface-1);color:var(--text-2)}.composer-tools label{position:relative;display:flex;align-items:center;padding:0 7px;overflow:hidden}.composer-tools label input[type=date]{width:18px;padding:0;border:0;background:transparent;color:transparent}.composer-tools label select{max-width:92px;padding:0 2px;border:0;background:transparent;color:var(--text-2);font-size:12px}.composer-tools button{min-width:32px;padding:0 9px}.composer-tools button.active{border-color:color-mix(in srgb,var(--danger) 48%,var(--line));color:var(--danger)}.composer-tools .composer-save{border-color:var(--accent);background:var(--accent);color:#fff;font-size:12px;font-weight:700;white-space:nowrap}.composer-tools .composer-save:disabled{border-color:var(--line);background:var(--surface-3);color:var(--text-3);cursor:default}.composer-error,.composer-tags{grid-column:2 / -1;margin:2px 0 0;font-size:11px}.composer-error{color:var(--danger)}.composer-tags{display:flex;gap:6px;color:var(--text-3)}.composer-tags span{color:var(--accent)}@media(max-width:760px){.inline-task-composer{grid-template-columns:26px minmax(0,1fr)}.composer-tools{grid-column:2;justify-content:flex-end}.composer-tools label select{max-width:76px}}.quadrant-page{min-height:100%;padding:clamp(12px,2vw,22px);container-type:inline-size}.quadrant-error{margin:0 0 10px;padding:9px 12px;border-radius:9px;background:color-mix(in srgb,var(--danger) 12%,var(--surface-1));color:var(--danger);font-size:13px}.quadrant-grid{min-height:calc(100vh - 108px);display:grid;grid-template-columns:repeat(2,minmax(360px,1fr));grid-template-rows:repeat(2,minmax(280px,1fr));gap:14px}.quadrant-card{--quadrant: var(--accent);min-width:0;padding:14px;border:1px solid var(--line);border-radius:15px;background:var(--surface-1);overflow:auto}.quadrant-card.tone-red{--quadrant: var(--danger)}.quadrant-card.tone-amber{--quadrant: var(--warning)}.quadrant-card.tone-blue{--quadrant: var(--accent)}.quadrant-card.tone-green{--quadrant: var(--success)}.quadrant-header{display:flex;align-items:center;gap:8px;margin-bottom:9px;color:var(--quadrant)}.quadrant-header>span{width:24px;height:24px;display:grid;place-items:center;border-radius:50%;background:color-mix(in srgb,var(--quadrant) 17%,transparent);font-size:11px;font-weight:850}.quadrant-header h2{margin:0;font-size:16px}.quadrant-header b{margin-left:auto;color:var(--text-3);font-size:12px}.quadrant-list-group>header{display:flex;align-items:center;gap:7px;min-height:30px;color:var(--text-2);font-size:12px}.quadrant-list-group>header span{color:var(--text-3)}.quadrant-task-drag{min-width:0}.quadrant-card .task-row{grid-template-columns:25px minmax(0,1fr) auto 28px;min-height:48px;padding-inline:5px}.quadrant-card .task-row time{font-size:10px}.quadrant-card .batch-toggle{display:none}.quadrant-card .row-more{opacity:.45}.quadrant-empty{min-height:90px;display:grid;place-items:center;margin:8px 0;border:1px dashed var(--line);border-radius:10px;color:var(--text-3);font-size:12px;text-align:center}.quadrant-completed{margin-top:9px;border-top:1px solid var(--line)}.quadrant-completed>button{width:100%;display:flex;align-items:center;gap:6px;padding:9px 4px 5px;border:0;background:transparent;color:var(--text-2);text-align:left}.quadrant-completed>button b{margin-left:auto;color:var(--text-3)}@container (max-width: 820px){.quadrant-grid{grid-template-columns:1fr;grid-template-rows:none}.quadrant-card{min-height:270px}}.calendar-page{min-height:100%;padding:clamp(12px,2vw,22px);container-type:inline-size}.calendar-page .calendar-toolbar{min-width:0;margin-bottom:12px}.calendar-page .calendar-workspace{grid-template-columns:minmax(0,1fr) clamp(248px,22cqw,310px);gap:14px}.calendar-page .calendar-panel,.calendar-page .unscheduled-panel{border-color:var(--line);background:var(--surface-1);color:var(--text-1)}.calendar-page .calendar-day{min-height:clamp(96px,13vh,142px);border-color:var(--line);background:var(--surface-1);color:var(--text-2)}.calendar-page .calendar-day.muted{background:var(--surface-2);color:var(--text-3)}.calendar-page .calendar-day.today{background:color-mix(in srgb,var(--accent) 8%,var(--surface-1))}.calendar-page .calendar-day.selected{outline-color:var(--accent)}.calendar-date-trigger{width:36px;height:36px;display:grid;place-items:center;padding:0;border:0;border-radius:9px;background:transparent;color:inherit;font-size:14px;font-weight:800}.calendar-day.today .calendar-date-trigger{background:var(--accent);color:#fff}.calendar-page .calendar-event{min-height:36px;padding-block:7px;background:var(--accent-soft);color:var(--accent);font-size:14px}.calendar-page .calendar-event.overdue{background:color-mix(in srgb,var(--danger) 13%,var(--surface-1));color:var(--danger)}.calendar-page .more-events{color:var(--text-3)}.calendar-page .unscheduled-panel{min-width:0;align-self:start}.calendar-page .unscheduled-panel>header>span,.calendar-page .drag-hint{background:var(--surface-3);color:var(--text-3)}.calendar-page .unscheduled-panel article{border-color:var(--line)}.calendar-page .schedule-date-field input,.calendar-page .calendar-inline-add input{border-color:var(--line);background:var(--surface-2);color:var(--text-1)}.calendar-page .calendar-inline-add button,.calendar-page .schedule-button{border-color:color-mix(in srgb,var(--accent) 42%,var(--line));background:var(--accent-soft);color:var(--accent)}.calendar-page .calendar-inline-add button:disabled{color:var(--text-3);opacity:.65}.calendar-selected-tasks{margin:0 0 14px;padding:0 0 10px;border-bottom:1px solid var(--line)}.calendar-selected-tasks>header{display:flex;justify-content:space-between;padding:7px 2px}.calendar-selected-tasks>header span{color:var(--text-3);font-size:11px}.calendar-selected-tasks>button{width:100%;min-height:36px;display:grid;grid-template-columns:7px minmax(0,1fr) auto;align-items:center;gap:7px;padding:7px 3px;border:0;border-top:1px solid var(--line);background:transparent;color:var(--text-1);text-align:left;font-size:14px}.calendar-selected-tasks>button:hover{background:var(--surface-2)}.calendar-selected-tasks>button i{width:6px;height:6px;border-radius:50%;background:var(--accent)}.calendar-selected-tasks>button span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.calendar-selected-tasks>button small,.calendar-selected-tasks>p{color:var(--text-3);font-size:12px}.calendar-selected-tasks>p{margin:5px 2px}.calendar-page .more-events{min-height:36px;font-size:14px}.calendar-compact{display:none}@container (max-width: 1079px){.calendar-page .calendar-workspace{grid-template-columns:1fr}.calendar-page .unscheduled-panel{display:block}.calendar-page .calendar-panel>.weekday-row,.calendar-page .calendar-panel>.month-grid{display:none}.calendar-compact{display:block}.compact-date-strip{display:grid;grid-template-columns:repeat(7,minmax(44px,1fr));gap:5px;padding:4px 2px 13px;border-bottom:1px solid var(--line);overflow-x:auto}.compact-date-strip button{position:relative;min-width:44px;display:grid;place-items:center;gap:4px;padding:7px 3px;border:0;border-radius:10px;background:transparent;color:var(--text-3)}.compact-date-strip button:hover{background:var(--surface-2);color:var(--text-1)}.compact-date-strip button.selected{background:var(--accent-soft);color:var(--accent)}.compact-date-strip button.today strong{box-shadow:inset 0 0 0 1px var(--accent);color:var(--accent)}.compact-date-strip span{font-size:10px}.compact-date-strip strong{width:30px;height:30px;display:grid;place-items:center;border-radius:50%;color:var(--text-1);font-size:14px}.compact-date-strip button.selected strong{background:var(--accent);color:#fff;box-shadow:none}.compact-date-strip i{position:absolute;right:5px;bottom:5px;min-width:14px;padding:1px 3px;border-radius:8px;background:var(--surface-3);color:var(--text-2);font-size:9px;font-style:normal}.compact-day-list{min-height:300px;padding:8px 2px}.compact-day-list>header{display:flex;align-items:center;justify-content:space-between;padding:9px 8px;color:var(--text-1)}.compact-day-list>header span{color:var(--text-3);font-size:12px}.compact-day-list>button{width:100%;display:grid;grid-template-columns:8px minmax(0,1fr) 16px;align-items:center;gap:10px;padding:11px 9px;border:0;border-top:1px solid var(--line);background:transparent;color:var(--text-1);text-align:left}.compact-day-list>button:hover{background:var(--surface-2)}.compact-day-list>button>i{width:7px;height:7px;border-radius:50%;background:var(--accent)}.compact-day-list>button>span{min-width:0}.compact-day-list>button strong,.compact-day-list>button small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.compact-day-list>button small{margin-top:4px;color:var(--text-3);font-size:11px}.compact-day-list>button>b{color:var(--text-3);font-size:18px}.compact-day-list>button.completed{opacity:.55}.compact-day-list>button.completed strong{text-decoration:line-through}.compact-day-list>p{min-height:180px;display:grid;place-items:center;margin:0;color:var(--text-3);font-size:13px;text-align:center}}@container (max-width: 620px){.calendar-page{padding:10px}.calendar-page .calendar-toolbar{flex-wrap:wrap}.calendar-page .calendar-toolbar .calendar-legend{display:none}.calendar-page .view-switch{margin-left:auto}.calendar-page .view-switch button{padding-inline:8px}.calendar-page .unscheduled-panel{padding:11px}}::selection{background:var(--accent-soft);color:var(--text-1)}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline-color:color-mix(in srgb,var(--accent) 42%,transparent)}button:disabled,input:disabled,select:disabled,textarea:disabled{cursor:default;opacity:.55}.icon-button,.soft-button,.ghost-button{border-color:var(--line);background:var(--surface-1);color:var(--text-2)}.icon-button:hover,.soft-button:hover,.ghost-button:hover{border-color:var(--line-strong);background:var(--surface-2);color:var(--text-1)}.soft-button.active{border-color:color-mix(in srgb,var(--accent) 46%,var(--line));background:var(--accent-soft);color:var(--accent)}.segmented{background:var(--surface-3)}.segmented button{color:var(--text-2)}.segmented button.active{background:var(--surface-1);color:var(--accent);box-shadow:0 2px 8px color-mix(in srgb,var(--overlay) 35%,transparent)}.panel,.page-placeholder{border-color:var(--line);background:var(--surface-1);color:var(--text-1);box-shadow:none}.modal-backdrop{background:var(--overlay)}.quick-add-modal,.habit-editor,.preview-modal{background:var(--surface-1);color:var(--text-1);box-shadow:var(--shadow)}.modal-field,.detail-field>span{color:var(--text-2)}.modal-field input,.detail-field input,.detail-field textarea,.detail-field select,.field-surface,.attachment-toolbar-field select{border-color:var(--line);background:var(--surface-2);color:var(--text-1)}.quick-chips button,.habit-weekday-picker button,.attachment-tabs button{border-color:var(--line);background:var(--surface-2);color:var(--text-2)}.quick-chips button.active,.habit-weekday-picker button.active,.attachment-tabs button.active{border-color:color-mix(in srgb,var(--accent) 48%,var(--line));background:var(--accent-soft);color:var(--accent)}.field-error,.detail-save-error,.upload-error,.calendar-error{background:color-mix(in srgb,var(--danger) 12%,var(--surface-1));color:var(--danger)}.tag-filter-popover,.task-row-menu{border-color:var(--line);background:var(--surface-2);color:var(--text-1);box-shadow:var(--shadow)}.tag-filter-option{color:var(--text-2)}.tag-filter-option:hover,.tag-filter-option.selected,.task-row-menu button:hover{background:var(--accent-soft);color:var(--accent)}.task-row-menu button.danger:hover{background:color-mix(in srgb,var(--danger) 12%,var(--surface-2))}.active-tag-filters,.batch-action-bar{border-color:var(--line);background:var(--accent-soft);color:var(--text-2)}.active-tag-filters>button:not(.clear-tag-filters),.task-tag-list>button{border-color:color-mix(in srgb,var(--accent) 35%,var(--line));background:var(--surface-2);color:var(--accent)}.task-group>header{color:var(--text-2)}.task-group>header b{background:var(--surface-3);color:var(--text-3)}.task-group>header i{background:var(--line)}.task-row{border-color:var(--line)}.task-row:hover{background:var(--surface-2)}.task-row.selected,.task-row.batch-selected{background:var(--accent-soft);box-shadow:inset 3px 0 var(--accent)}.task-check{border-color:var(--text-3);background:var(--surface-1)}.task-meta,.task-row time,.batch-toggle,.row-more{color:var(--text-3)}.batch-toggle:hover,.batch-toggle.active,.row-more:hover,.row-more[aria-expanded=true]{background:var(--accent-soft);color:var(--accent)}.batch-action-bar strong{color:var(--accent)}.batch-action-bar button,.batch-action-bar select,.batch-action-bar input{border-color:var(--line);background:var(--surface-1);color:var(--text-1)}.batch-action-bar .batch-danger{border-color:color-mix(in srgb,var(--danger) 42%,var(--line));color:var(--danger)}.undo-toast{background:var(--surface-3);color:var(--text-1);box-shadow:var(--shadow)}.task-empty>span,.mini-file b,.metric-icon,.file-name>b,.dropzone>span{background:var(--accent-soft);color:var(--accent)}.reminder-list button{border-color:color-mix(in srgb,var(--warning) 35%,var(--line));background:color-mix(in srgb,var(--warning) 12%,var(--surface-1));color:var(--warning)}.calendar-week>article,.calendar-day-view{background:repeating-linear-gradient(180deg,var(--surface-1) 0,var(--surface-1) 49px,var(--line) 50px)}.calendar-week>article.today{background-color:color-mix(in srgb,var(--accent) 7%,var(--surface-1))}.calendar-week header,.calendar-week p,.calendar-week .calendar-event time,.all-day-lane b{color:var(--text-3)}.all-day-lane{background:color-mix(in srgb,var(--surface-1) 92%,transparent)}.time-lane article{background:var(--accent-soft)}.calendar-agenda section>button{color:var(--text-1)}.calendar-agenda section>button:hover{background:var(--surface-2)}.habits-page,.attachments-page,.statistics-page{min-height:100%;container-type:inline-size;color:var(--text-1)}.habit-icon{background:color-mix(in srgb,var(--success) 14%,var(--surface-1))}.habit-week button{background:var(--surface-3);color:var(--text-3)}.habit-week button.done{background:var(--success);color:#fff}.habit-week button.skipped{background:color-mix(in srgb,var(--warning) 14%,var(--surface-1));color:var(--warning)}.habit-week span,.habit-progress-row,.habit-overview-row b,.habit-archive,.habit-overview>header small{color:var(--text-3)}.progress-track,.storage-track,.list-distribution>div>div{background:var(--surface-3)}.habit-overview-row{border-color:var(--line)}.habit-estimate{background:var(--surface-2);color:var(--text-2)}.dropzone{border-color:var(--line-strong);background:var(--surface-2);color:var(--text-2)}.dropzone:hover,.dropzone.dragging{border-color:var(--accent);background:var(--accent-soft)}.dropzone small,.dropzone em,.file-table-head,.file-name small,.storage-card h3 small{color:var(--text-3)}.file-table-head{background:var(--surface-2)}.file-row{border-color:var(--line);color:var(--text-2)}.file-row:hover{background:var(--surface-2)}.file-actions button{border-color:var(--line);background:var(--surface-2);color:var(--text-2)}.file-actions button:hover{border-color:var(--line-strong);color:var(--text-1)}.storage-card>p:not(.eyebrow),.storage-card dl div{color:var(--text-2)}.storage-card dl div{border-color:var(--line)}.preview-placeholder,.preview-modal iframe{background:var(--surface-2);color:var(--text-3)}.stats-metrics article{border-color:var(--line);background:var(--surface-1);color:var(--text-1)}.metric-icon.green{background:color-mix(in srgb,var(--success) 14%,var(--surface-1));color:var(--success)}.metric-icon.red{background:color-mix(in srgb,var(--danger) 14%,var(--surface-1));color:var(--danger)}.metric-icon.orange{background:color-mix(in srgb,var(--warning) 14%,var(--surface-1));color:var(--warning)}.bar-chart i{background:linear-gradient(180deg,var(--accent-hover),var(--accent))}.bar-chart i b,.bar-chart span{color:var(--text-3)}.donut-chart{background:conic-gradient(var(--success) 0 var(--rate),var(--danger) var(--rate) 295deg,var(--surface-3) 295deg)}.donut-chart>span{background:var(--surface-1)}.donut-chart small,.donut-layout li,.habit-chart>div,.list-distribution>div{color:var(--text-2)}.donut-layout li i{background:var(--surface-3)}@container (max-width: 900px){.habit-card-grid,.stats-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.attachment-workspace{grid-template-columns:1fr}.storage-card{position:static;display:block}}@container (max-width: 620px){.module-toolbar{flex-wrap:wrap;align-items:flex-start}.module-toolbar .toolbar-spacer{display:none}.habit-card-grid,.stats-metrics,.charts-grid{grid-template-columns:1fr}.habit-overview-row{grid-template-columns:minmax(90px,1fr) minmax(100px,2fr) 42px;gap:8px}.habit-editor-grid{grid-template-columns:1fr}.habit-title-field{grid-column:auto}.attachment-toolbar-field{flex:1}.attachment-toolbar-field select{width:100%;max-width:none}.file-table{overflow-x:auto}.file-table>header{min-width:700px}.file-table-head,.file-row{min-width:700px}.stats-metrics article{grid-template-columns:38px minmax(0,1fr)}.stats-metrics article em{grid-column:2}.donut-layout{gap:18px}}.navigation-pane-slot,.detail-pane-slot{position:relative;min-width:0}.navigation-pane-slot>.navigation-pane,.detail-pane-slot>.shell-task-detail{width:100%}.panel-resize-handle{position:absolute;top:0;bottom:0;z-index:20;width:7px;cursor:col-resize}.panel-resize-handle.right{right:-4px}.panel-resize-handle.left{left:-4px}.panel-resize-handle:hover,.panel-resize-handle:active{background:color-mix(in srgb,var(--accent) 26%,transparent)}.secondary-nav a.drop-target{outline:2px solid var(--accent);outline-offset:-2px;border-radius:8px}.rail-profile{position:relative;display:grid;place-items:center}.rail-avatar{width:34px;height:34px;display:grid;place-items:center;border:0;border-radius:50%;background:#e8f2fb;color:#285f91;font-size:13px;font-weight:800}.rail-avatar:hover{filter:brightness(.96)}.rail-profile-menu{position:absolute;bottom:0;left:calc(100% + 8px);width:190px;z-index:40;display:flex;flex-direction:column;gap:6px;padding:10px;border:1px solid var(--line);border-radius:12px;background:var(--surface-2);box-shadow:var(--shadow)}.rail-profile-email,.rail-profile-status{color:var(--text-2);font-size:11px;word-break:break-all}.rail-profile-menu button{padding:7px 8px;border:0;border-radius:7px;background:none;color:var(--text-1);text-align:left;font-size:13px}.rail-profile-menu button:hover{background:var(--surface-3)}.list-navigation-row.reorder-dragging{opacity:.45}.list-navigation-row.reorder-above>.list-drop-zone{box-shadow:inset 0 2px 0 var(--accent)}.list-navigation-row.reorder-below>.list-drop-zone{box-shadow:inset 0 -2px 0 var(--accent)}.trash-panel{max-width:760px}.trash-list{margin:0;padding:0;list-style:none}.trash-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:12px;min-height:52px;padding:8px 14px;border-top:1px solid var(--line)}.trash-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-1);font-size:14px}.trash-when{color:var(--text-3);font-size:12px}.trash-actions{display:inline-flex;gap:6px}.trash-actions button{padding:5px 10px;border:1px solid var(--line);border-radius:7px;background:transparent;color:var(--text-2);font-size:12px}.trash-actions button.danger{color:var(--danger);border-color:var(--danger)}.trash-empty{margin:26px 14px;color:var(--text-3);font-size:13px}.trash-error{margin:10px 14px;color:var(--danger);font-size:13px}.settings-page{display:grid;gap:16px;max-width:640px}.settings-card .settings-body{display:grid;gap:14px;padding:16px}.settings-avatar-row{display:flex;align-items:center;gap:16px}.settings-avatar-big{width:72px;height:72px;flex:0 0 auto;display:grid;place-items:center;border-radius:50%;overflow:hidden;background:var(--surface-3);color:#fff;font-size:30px;font-weight:800}.settings-avatar-big img{width:100%;height:100%;object-fit:cover}.settings-avatar-actions{display:grid;gap:6px}.settings-hint{color:var(--text-3);font-size:12px}.settings-presets{display:flex;flex-wrap:wrap;gap:8px}.settings-preset{width:40px;height:40px;display:grid;place-items:center;border:2px solid transparent;border-radius:50%;color:#fff;font-size:18px}.settings-preset.active{border-color:var(--ink, #1f2d3d);outline:2px solid var(--accent)}.settings-field{display:grid;grid-template-columns:130px minmax(0,1fr) auto;align-items:center;gap:10px;font-size:13px;color:var(--text-2)}.settings-field input{min-width:0;padding:8px 10px;border:1px solid var(--line);border-radius:8px;background:var(--surface-1);color:var(--text-1)}.settings-error{color:var(--danger);font-size:13px;margin:0}.settings-ok{color:var(--success, #2e9e5b);font-size:13px;margin:0}.rail-avatar-img{width:100%;height:100%;border-radius:50%;object-fit:cover}.rail-avatar-preset{width:100%;height:100%;display:grid;place-items:center;border-radius:50%}
