:root{--app:#f3f4f6;--surface:#fff;--surface-2:#fafafc;--field:#f2f3f7;--text:#30343b;--secondary:#68707d;--muted:#6d7685;--border:#e4e7ee;--grid:#eef0f5;--accent:#6069c9;--accent-soft:#eef0ff;--accent-text:#fff;--danger:#ab4f57;--warn-bg:#fff3df;--warn-text:#8e651e;--work-bg:#e8efff;--work-text:#485f96;--work-line:#9baddb;--personal-bg:#e7f3eb;--personal-text:#456d52;--personal-line:#a3c8ae;--learn-bg:#fbefdc;--learn-text:#826334;--learn-line:#d3b788;--shadow:0 18px 80px #26314b20;color-scheme:light}
:root[data-theme=dark]{--app:#17181c;--surface:#202127;--surface-2:#25262d;--field:#2b2d36;--text:#e4e6eb;--secondary:#a5abb7;--muted:#979eaf;--border:#3b3e4b;--grid:#30323d;--accent:#9aa2ff;--accent-soft:#33364e;--accent-text:#1b1c27;--danger:#eea2a9;--warn-bg:#443721;--warn-text:#edca89;--work-bg:#2c3854;--work-text:#c5d3f5;--work-line:#7089c4;--personal-bg:#293f34;--personal-text:#b9dcc4;--personal-line:#608b6e;--learn-bg:#443a2b;--learn-text:#e4cfa4;--learn-line:#9e875d;--shadow:0 18px 80px #0006;color-scheme:dark}
html,body,body.compact,body.calendar-mode{background:var(--app);color:var(--text)}body{font-size:13px}button,input,textarea,select{color:inherit}body.compact .frame,body.compact .shell,body.compact .content{background:var(--surface);color:var(--text)}body.compact .sidebar{background:var(--surface-2);border-color:var(--border)}body.compact .top,body.compact .cal-toolbar,body.compact .week-head,body.compact .week-head>button,body.compact .cal-weekdays{background:var(--surface);color:var(--secondary);border-color:var(--border)}body.compact .brand,body.compact h1,body.compact h2,body.compact h3,body.compact .intro h1,body.compact .calendar-panel-title{color:var(--text)}body.compact .nav{color:var(--secondary)}body.compact .nav.active{background:var(--accent-soft);color:var(--text)}body.compact .btn.primary,body.compact .cal-new-button{background:var(--accent)!important;border-color:var(--accent)!important;color:var(--accent-text)!important}body.compact .btn,body.compact .cal-controls button{background:var(--surface);color:var(--secondary);border-color:var(--border)}body.compact .cal-controls button{font-size:12px;padding:5px 10px;min-height:32px}body.compact .cal-controls{flex-wrap:wrap}body.compact .cal-toolbar h2{color:var(--text);font-size:13px}body.compact .view-toggle{background:var(--field)}body.compact .view-toggle button{background:none}body.compact .view-toggle button.selected{background:var(--surface);color:var(--text)}body.compact .summary,body.compact .summary>div,body.compact .task,body.compact .list-head,body.compact .tabs,body.compact .right,body.compact .right-section,body.compact .project-row{border-color:var(--border)}body.compact .task-title,body.compact .metric,body.compact .project-row,body.compact .right .log p{color:var(--text)}body.compact .task-title{font-size:13px}body.compact .task small,body.compact .date,body.compact .plain,body.compact .subtitle,body.compact .intro p,body.compact .summary label,body.compact .list-head,body.compact .calendar-filters label{color:var(--secondary)}body.compact .focus{background:var(--accent-soft);border-color:var(--accent)}body.compact .focus h3,body.compact .focus p{color:var(--text)}body.compact .check{background:var(--surface);border-color:var(--muted)}body.compact .check:checked{background:var(--accent)}body.compact .check:checked:after{color:var(--accent-text)}body.compact .status{background:var(--field);color:var(--secondary)}body.compact .status.wait{background:var(--warn-bg);color:var(--warn-text)}body.compact .status.doing{background:var(--work-bg);color:var(--work-text)}body.compact .bar,body.compact .dash-bar{background:var(--field)}body.compact .bar i,body.compact .dash-bar i{background:var(--accent)}body.compact .dash-stat,body.compact .dash-card,body.compact .drawer,body.compact .side-event{background:var(--surface);border-color:var(--border);color:var(--text)}body.compact .dash-stat strong,body.compact .dash-card h2,body.compact .legend b,body.compact .drawer h2{color:var(--text)}body.compact .dash-stat label,body.compact .dash-stat small,body.compact .legend>div,body.compact .dash-project>div:first-child,body.compact .risk-row,body.compact .chart-note{color:var(--secondary)}body.compact .risk-row{border-color:var(--border)}body.compact .lab,body.compact .references-fold,body.compact .reference{background:var(--surface-2);color:var(--secondary);border-color:var(--border)}body.compact .reference h3,body.compact .reference a{color:var(--text)}body.compact .reference p{color:var(--secondary)}body.compact .mobile-nav{background:var(--surface);border-color:var(--border)}body.compact .mobile-nav button{color:var(--secondary)}body.compact .mobile-nav button.active{color:var(--accent)}body.calendar-mode .frame{background:var(--app)}body.calendar-mode .shell{background:var(--surface);border-color:var(--border)}body.calendar-mode .app-rail{background:var(--app)}body.calendar-mode .app-rail button{color:var(--secondary)}body.calendar-mode .app-rail button.active{background:var(--surface);color:var(--accent)}body.calendar-mode .calendar-context,body.calendar-mode .context-event,body.calendar-mode .sidebar .user{border-color:var(--border)}body.calendar-mode .calendar-context h3{border-color:var(--border);color:var(--secondary)}body.calendar-mode .context-event button,body.calendar-mode .context-event span,body.calendar-mode .calendar-filters h3{color:var(--secondary);font-size:11px}body.calendar-mode .calendar-filters .context-search,body.compact .drawer input,body.compact .drawer select,body.compact .drawer textarea{background:var(--field);color:var(--text);border-color:var(--border);font-size:13px}body.calendar-mode .calendar-filters .context-search{padding:9px;font-size:12px}body.calendar-mode .week-column,body.calendar-mode .week-column.today-column{background-color:var(--surface);background-image:repeating-linear-gradient(to bottom,transparent 0,transparent 47px,var(--grid) 47px,var(--grid) 48px);border-color:var(--grid)}body.calendar-mode .hour-axis,body.calendar-mode .cal-day,body.calendar-mode .cal-day.weekend,body.calendar-mode .cal-access-note,body.calendar-mode .week-scroll{background:var(--surface-2);border-color:var(--grid)}body.calendar-mode .cal-day{background:var(--surface)}body.calendar-mode .cal-day:hover{background:var(--accent-soft)}body.calendar-mode .hour-axis span{font-size:10px;color:var(--secondary)}body.calendar-mode .week-head>button{font-size:11px;color:var(--secondary)}body.calendar-mode .week-head b{color:var(--text);font-size:12px}body.calendar-mode .week-head .selected b{background:var(--field)}body.calendar-mode .week-head .actual-today b,body.calendar-mode .day-number.is-today{background:var(--accent);color:var(--accent-text)}body.calendar-mode .day-number{color:var(--secondary);font-size:11px}body.calendar-mode .outside .day-number{opacity:.45}body.calendar-mode .week-now,body.calendar-mode .week-now:before{background:var(--accent)}body.calendar-mode .week-now:after{content:attr(data-label);background:var(--accent);color:var(--accent-text)}body .event-work{--event-bg:var(--work-bg);--event-border:var(--work-line);--event-text:var(--work-text)}body .event-personal{--event-bg:var(--personal-bg);--event-border:var(--personal-line);--event-text:var(--personal-text)}body .event-learning{--event-bg:var(--learn-bg);--event-border:var(--learn-line);--event-text:var(--learn-text)}body.calendar-mode .time-event{color:var(--event-text)}body.calendar-mode .time-event strong{font-size:11px}body.calendar-mode .time-event small{font-size:10px}body.calendar-mode .event-pill{font-size:10px}body.compact .calendar-drawer label{font-size:12px;color:var(--secondary)}body.compact .calendar-drawer .inline-field{display:flex;align-items:center;gap:8px}body.compact .calendar-drawer .inline-field input{width:auto;margin:0}body.compact .calendar-drawer .save-note,body.compact .cal-access-note{color:var(--secondary)}.week-allday{display:grid;grid-template-columns:42px repeat(7,minmax(0,1fr));border-bottom:1px solid var(--grid);background:var(--surface);min-height:25px}.week-allday>div{border-right:1px solid var(--grid);padding:3px;min-width:0}.week-allday>span{color:var(--muted);font-size:9px;text-align:center;align-self:center}.quick-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.theme-rail{margin-top:auto!important}.theme-local-button{margin-top:12px;width:100%;font-size:11px}.cal-controls [data-compose]{color:var(--accent)!important}.cal-controls [data-theme-settings]{min-width:31px}.cal-controls [data-theme-settings]:after{content:'◐';font-size:15px}.theme-dialog,.planner-dialog{background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:13px;padding:24px;box-shadow:var(--shadow);width:min(1030px,calc(100vw - 44px));max-height:90dvh}.theme-dialog::backdrop,.planner-dialog::backdrop{background:#12172265;backdrop-filter:blur(3px)}.theme-dialog{width:min(490px,calc(100vw - 32px))}.smart-heading{display:flex;justify-content:space-between;gap:15px;align-items:center;margin-bottom:18px}.smart-heading h2{font-size:19px;margin:0}.smart-close{background:var(--field);color:var(--secondary);border:0;border-radius:50%;width:30px;height:30px;font-size:20px}.smart-label{display:flex;flex-direction:column;gap:7px;font-size:12px;color:var(--secondary);margin-bottom:16px}.smart-label input,.smart-label select,.smart-label textarea,.draft-card input,.draft-card select{background:var(--field);border:1px solid var(--border);border-radius:5px;padding:9px 10px;color:var(--text);font:12px/1.6 "Segoe UI","Microsoft YaHei",sans-serif;width:100%;min-width:0}.smart-label textarea{min-height:160px;resize:vertical}.smart-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.smart-muted{font-size:11px;color:var(--secondary);line-height:1.8}.smart-error{font-size:12px;color:var(--danger);line-height:1.7}.smart-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:18px}.smart-primary,.smart-button{font:12px "Microsoft YaHei",sans-serif;padding:9px 13px;border:1px solid var(--border);border-radius:5px;background:var(--surface);color:var(--secondary);min-height:36px;cursor:pointer}.smart-primary{background:var(--accent);border-color:var(--accent);color:var(--accent-text)}.smart-primary:disabled{opacity:.4;cursor:not-allowed}.composer-layout{display:grid;grid-template-columns:300px minmax(0,1fr);gap:22px}.composer-input{border-right:1px solid var(--border);padding-right:22px}.composer-tabs{display:flex;gap:15px;border-bottom:1px solid var(--border);margin-bottom:15px}.composer-tabs button{background:none;border:0;border-bottom:2px solid transparent;padding:10px 0;font-size:12px;color:var(--secondary)}.composer-tabs button.active{border-bottom-color:var(--accent);color:var(--accent)}.composer-results{max-height:59dvh;overflow:auto;padding-right:5px}.draft-card{border:1px solid var(--border);border-radius:7px;padding:14px;margin-bottom:13px;background:var(--surface)}.draft-top{display:flex;gap:10px;align-items:center;margin-bottom:12px}.draft-top input[type=checkbox]{width:16px;height:16px;padding:0;accent-color:var(--accent)}.draft-top .draft-name{font-size:13px;font-weight:600;flex:1;color:var(--text)}.draft-badge{font-size:10px;background:var(--field);color:var(--secondary);padding:2px 6px;border-radius:4px;white-space:nowrap}.draft-badge.ready{background:var(--work-bg);color:var(--work-text)}.draft-fields{display:grid;grid-template-columns:1fr 1fr;gap:10px}.draft-fields label{font-size:10px;color:var(--secondary);min-width:0}.draft-fields input,.draft-fields select{margin-top:4px;padding:7px 8px}.draft-issues{font-size:11px;color:var(--warn-text);background:var(--warn-bg);padding:8px 10px;border-radius:4px;margin-top:10px;line-height:1.8}.draft-conflict{display:flex;align-items:flex-start;gap:7px;font-size:11px;color:var(--secondary);margin-top:9px}.draft-conflict input{width:14px;height:14px;flex-shrink:0;margin-top:3px;accent-color:var(--accent)}.draft-source{font-size:10px;color:var(--muted);margin-top:10px;line-height:1.6;overflow-wrap:anywhere}.draft-source summary{cursor:pointer}.composer-footer{border-top:1px solid var(--border);margin-top:18px;padding-top:16px;display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}.composer-footer .smart-actions{margin:0}.smart-notice{position:fixed;z-index:40;left:50%;transform:translateX(-50%);bottom:27px;background:var(--surface);border:1px solid var(--border);color:var(--text);box-shadow:var(--shadow);border-radius:8px;padding:12px 16px;font-size:12px;max-width:90vw;display:flex;gap:12px;align-items:center}.smart-notice:empty{display:none}.smart-notice button{border:0;background:none;color:var(--accent);font-size:12px;white-space:nowrap}.empty-results{font-size:12px;color:var(--secondary);text-align:center;padding:35px 10px}.pending-count{color:var(--accent);font-size:10px}.preview-clock{font-size:11px;color:var(--secondary);padding:11px;border:1px solid var(--border);background:var(--surface-2);border-radius:5px}.theme-live{display:inline-block;background:var(--accent-soft);color:var(--text);padding:2px 7px;border-radius:4px;margin-left:5px}.draft-ack{font-size:10px!important;min-height:28px;padding:5px 8px;margin-top:8px}.calendar-mode .week-scroll{max-height:min(720px,calc(100dvh - 160px))}
@media(max-width:800px){.theme-dialog,.planner-dialog{padding:20px}.composer-layout{grid-template-columns:1fr}.composer-input{border-right:0;border-bottom:1px solid var(--border);padding:0 0 16px}.smart-label textarea{min-height:100px}.composer-results{max-height:44dvh}.smart-notice{bottom:78px}.week-allday{grid-template-columns:32px repeat(7,minmax(0,1fr))}.calendar-mode .week-scroll{max-height:calc(100dvh - 230px)}.calendar-mode .cal-controls{width:100%;justify-content:flex-start}.calendar-mode .cal-toolbar h2{margin-bottom:10px}.quick-actions{margin-top:12px}}
@media(max-width:450px){.planner-dialog{width:100%;max-width:100%;height:100dvh;max-height:100dvh;margin:0;border-radius:0;padding:18px 15px}.composer-results{max-height:none;overflow:visible}.planner-dialog form{height:auto}.composer-layout{gap:16px}.composer-footer{padding-bottom:20px}.draft-fields{gap:8px}.draft-card{padding:12px}.smart-row{gap:9px}.theme-dialog{width:calc(100vw - 24px)}body.calendar-mode .cal-controls button{font-size:11px;padding:6px 8px;min-height:35px}.calendar-mode .week-scroll{max-height:calc(100dvh - 252px)}.week-allday>div{display:none}.week-allday>div.mobile-allday{display:block}.week-allday{grid-template-columns:32px 1fr}body.calendar-mode .time-event strong{font-size:12px}body.calendar-mode .week-head>button{font-size:9px}.composer-footer{align-items:flex-start}.smart-actions{gap:7px}}

body.compact .sidebar .user,body.compact .side-footer,body.compact .calendar-panel-title,body.compact .smart-muted,body.compact .log time,body.compact .log small,body.compact .side-label,body.compact .caption{color:var(--secondary)}body.compact .drawer p,body.compact .drawer h3{color:var(--secondary)}body.compact .week-head>span{color:var(--secondary);font-size:9px}body.compact .calendar-filters .filter-dot{opacity:.8}

.time-event{display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:3px}.time-event strong{width:100%;text-align:left}

@media(max-width:450px){.mobile-nav button{min-height:44px}body.calendar-mode .cal-controls button{min-height:44px;min-width:40px}.smart-primary,.smart-button{min-height:42px}.smart-close{width:36px;height:36px}.calendar-mode .week-scroll{max-height:calc(100dvh - 270px)}}

html:has(dialog[open]){overflow:hidden}.draft-edit summary,.parser-help summary{font-size:11px;color:var(--secondary);cursor:pointer;margin:9px 0 13px}.draft-edit[open] summary{margin-bottom:15px}.parser-help p{font-size:10px}.draft-top{margin-bottom:5px}.draft-card>.smart-muted{margin:6px 0;font-size:11px}
@media(max-width:450px){.planner-dialog[open]{display:flex;flex-direction:column}.planner-dialog .smart-heading,.planner-dialog .composer-tabs,.planner-dialog .composer-footer{flex-shrink:0}.planner-dialog .composer-layout{flex:1;min-height:0;overflow:auto;display:block}.planner-dialog .composer-input{margin-bottom:16px}.planner-dialog .composer-results{overflow:visible;max-height:none}.planner-dialog .composer-footer{margin-top:12px;padding-top:12px;padding-bottom:0;gap:8px}.planner-dialog .composer-footer>span{font-size:10px}.planner-dialog .composer-footer .smart-actions{margin:0}.planner-dialog .smart-primary,.planner-dialog .smart-button{font-size:11px;padding-inline:10px}.planner-dialog .smart-heading{margin-bottom:8px}.planner-dialog .composer-tabs{margin-bottom:12px}.planner-dialog .composer-input .smart-label{margin-bottom:12px}.draft-card .draft-fields{margin-bottom:10px}}

/* One persistent navigation shell for every workspace view. */
body.compact{background:var(--app)}
body.compact .lab,body.compact .references-fold{display:none}
body.compact .app-rail{display:flex;width:36px;position:fixed;inset:0 auto 0 0;background:var(--app);border:0;z-index:12;flex-direction:column;align-items:center;gap:12px;padding:9px 0}
body.compact .app-rail button{color:var(--secondary)}
body.compact .app-rail button.active{background:var(--surface);color:var(--accent);box-shadow:0 1px 4px #22223312}
body.compact .frame{margin:0 0 0 36px;max-width:none;min-height:100dvh;background:var(--app);gap:4px;padding:4px 4px 4px 0}
body.compact .sidebar{width:206px;flex-shrink:0;border:0;border-radius:11px;background:var(--surface-2);padding:13px 13px 17px;min-height:calc(100dvh - 8px)}
body.compact .sidebar>.brand,body.compact .sidebar>.side-label{display:none}
body.compact .calendar-panel-title{display:block;font-size:13px;font-weight:650;color:var(--text);margin:0 0 18px}
body.compact .sidebar>.nav{font-size:11px;padding:9px 10px;margin:2px 0;min-height:34px;border-radius:5px;color:var(--secondary)}
body.compact .sidebar>.nav.active{background:var(--accent-soft);color:var(--accent)}
body.compact .sidebar .side-footer{padding-top:20px;margin-top:auto;font-size:9px;line-height:1.8}
body.compact .sidebar .user{font-size:10px}
body.compact .shell{min-width:0;border:1px solid var(--border);border-radius:11px;overflow:hidden;background:var(--surface)}
body.compact .top{min-height:45px;padding:9px 20px;font-size:11px;background:var(--surface)}
body.compact .content{padding:24px}
body.calendar-mode .content{padding:0}
body.calendar-mode .sidebar>.nav{display:none}
@media(max-width:800px){body.compact .app-rail,body.compact .sidebar{display:none}body.compact .frame{margin:0;padding:4px;gap:0}body.compact .shell{border-radius:9px}body.compact .content{padding:20px 14px 80px}body.calendar-mode .content{padding:0 0 65px}body.compact .mobile-nav{position:fixed;inset:auto 0 0;z-index:14;overflow-x:auto;justify-content:space-around}body.compact .mobile-nav button{white-space:nowrap;flex-shrink:0}}
