
:root{--ink:var(--text);--green:var(--accent);--line:var(--border);--red:var(--danger);--radius:7px}
body.formal-app{font-family:"Segoe UI","Microsoft YaHei",sans-serif;color:var(--text);background:var(--app);font-size:12px}
body.formal-app .app{margin:0 0 0 36px;max-width:none;min-height:100dvh;padding:4px 4px 4px 0;display:flex;gap:4px}
body.formal-app #sidebar{position:sticky;top:4px;height:calc(100dvh - 8px);min-height:0;width:206px;flex:0 0 206px;overflow:auto;border:0}
body.formal-app #sidebar .brand,body.formal-app .workspace-label,body.formal-app .profile,body.formal-app .page-footer{display:none}
body.formal-app .shell{margin:0;width:auto;flex:1;min-width:0}
body.formal-app .topbar{height:45px;padding:0 20px;border-color:var(--border);background:var(--surface);font-size:11px}
body.formal-app main{max-width:none;padding:22px;min-height:calc(100dvh - 110px)}
body.formal-app .page-heading{margin-bottom:20px;gap:12px}body.formal-app .page-heading h1{font-size:23px;letter-spacing:0}body.formal-app .eyebrow{display:none}body.formal-app .subtitle{font-size:11px;margin-top:5px}
body.formal-app .panel,body.formal-app .stat,body.formal-app .project-card,body.formal-app .board-task,body.formal-app dialog{background:var(--surface);color:var(--text);border-color:var(--border);border-radius:7px}
body.formal-app .panel{padding:18px}body.formal-app .panel h2{font-size:13px}body.formal-app .stats{gap:0;border:1px solid var(--border);border-radius:7px;overflow:hidden}body.formal-app .stat{border:0;border-radius:0;border-right:1px solid var(--border);padding:12px 18px}body.formal-app .stat:last-child{border:0}body.formal-app .stat .number{font-size:25px}
body.formal-app .focus-panel,body.formal-app .board-column{background:var(--surface-2);border-color:var(--border)}body.formal-app .focus-panel h2{font-size:17px}
body.formal-app .button,body.formal-app .control,body.formal-app .search-button,body.formal-app .icon-button{background:var(--field);color:var(--secondary);border-color:var(--border);border-radius:5px;font-size:12px}
body.formal-app .button.primary,body.formal-app .mobile-add{background:var(--accent);color:var(--accent-text);border-color:var(--accent)}body.formal-app .button.danger{color:var(--danger)}
body.formal-app .nav-item{padding:9px 10px;min-height:34px;border-radius:5px;font-size:11px;color:var(--secondary);margin:2px 0}body.formal-app .nav-item.active{background:var(--accent-soft);color:var(--accent)}body.formal-app .nav-count{background:var(--field);color:var(--secondary)}body.formal-app #navigation{display:grid;gap:2px}
body.formal-app .sidebar-bottom{padding-top:16px;margin-top:auto}body.formal-app .calendar-context{border-color:var(--border)}body.formal-app .calendar-context h3{color:var(--secondary);border-color:var(--border)}body.formal-app .calendar-filters{margin-top:0}body.formal-app .calendar-filters .context-search{width:100%;height:30px;background:var(--field);color:var(--text);border:0;border-radius:5px;padding:8px;font-size:11px;margin-bottom:17px}
body.formal-app .calendar-mode #navigation{display:none}body.formal-app.calendar-mode #navigation{display:none}body.formal-app .calendar-filters,body.formal-app .calendar-context{display:none}body.formal-app.calendar-mode .calendar-filters,body.formal-app.calendar-mode .calendar-context{display:block}
body.formal-app .formal-quick{display:flex;justify-content:flex-end;gap:7px;padding:10px 22px 0}body.formal-app.calendar-mode .formal-quick,body.formal-app.calendar-mode .topbar{display:none}
body.formal-app .task-row,body.formal-app .mini-project,body.formal-app .log-item,body.formal-app .focus-item,body.formal-app .tabs,body.formal-app .dialog-actions{border-color:var(--border)}body.formal-app .task-check{background:var(--surface);border-color:var(--secondary)}body.formal-app .task-check:checked{background:var(--accent);border-color:var(--accent)}
body.formal-app p,body.formal-app .muted,body.formal-app .task-meta,body.formal-app .subtitle,body.formal-app .panel-sub,body.formal-app .detail-goal,body.formal-app .fact-list,body.formal-app .due,body.formal-app .project-card p,body.formal-app .progress-meta{color:var(--secondary)}body.formal-app .progress{background:var(--field)}body.formal-app .progress span{background:var(--accent)}body.formal-app .tag{background:var(--work-bg);color:var(--work-text)}body.formal-app .tag.orange,body.formal-app .status-banner{background:var(--warn-bg);color:var(--warn-text);border-color:var(--border)}body.formal-app .tag.green{background:var(--personal-bg);color:var(--personal-text)}body.formal-app .demo-label{background:var(--field);color:var(--secondary)}body.formal-app .overdue{color:var(--danger)}
body.formal-app #calendar-view .cal-layout{display:block;border:0;border-radius:0}body.formal-app #calendar-view .cal-side{display:none}body.formal-app .drawer{position:fixed;inset:0 0 0 auto;width:390px;max-width:100%;z-index:22;overflow:auto;padding:24px;background:var(--surface);border-left:1px solid var(--border);box-shadow:var(--shadow)}body.formal-app .drawer[hidden]{display:none}body.formal-app .drawer-top{display:flex;justify-content:space-between;align-items:center}body.formal-app .drawer .btn{padding:8px 12px;border:1px solid var(--border);background:var(--field);color:var(--text);border-radius:5px}body.formal-app .drawer .btn.primary{background:var(--accent);color:var(--accent-text)}
body.formal-app .mobile-nav{background:var(--surface)}body.formal-app .mobile-nav button{color:var(--secondary)}body.formal-app .mobile-nav button.active{background:var(--accent-soft);color:var(--accent)}
@media(max-width:800px){body.formal-app .app{margin:0;padding:4px;gap:0}body.formal-app #sidebar{display:none}body.formal-app main{padding:20px 14px 90px}body.formal-app .topbar{padding:0 14px}body.formal-app .formal-quick{padding:10px 14px 0}body.formal-app .mobile-nav{overflow-x:auto;justify-content:flex-start;gap:3px}body.formal-app .mobile-nav button{min-width:57px;min-height:46px;font-size:10px;padding:4px 8px;flex-shrink:0}body.formal-app .mobile-add{bottom:82px}body.formal-app.calendar-mode #calendar-host{padding-bottom:65px}body.formal-app .page-heading h1{font-size:22px}body.formal-app .project-grid{grid-template-columns:1fr}body.formal-app .drawer{width:100%}body.formal-app .stats{grid-template-columns:1fr 1fr}body.formal-app .stat{border-bottom:1px solid var(--border)}body.formal-app .cal-controls{flex-wrap:wrap}}

body.formal-app .theme-local-button{border:1px solid var(--border);border-radius:5px;padding:8px;background:var(--surface);color:var(--secondary)}
body.formal-app .app-rail .theme-rail{margin-top:auto!important}body.formal-app #main[hidden],body.formal-app #calendar-host[hidden]{display:none}

body.formal-app.calendar-mode .mobile-add{display:none}
/* Compact account/settings and save feedback. */
.workspace-sync-status{font-size:12px;line-height:1.4;white-space:nowrap;padding:5px 8px;border:1px solid var(--border);border-radius:6px;color:var(--text);align-self:center}
.workspace-sync-status[data-state="error"]{font-weight:700;border-style:dashed}
#main .settings-grid details>summary,#caldav-settings>details>summary{cursor:pointer;font-weight:600}
#main .settings-grid details>summary{font-size:15px}
#caldav-settings>details[open]>summary{margin-bottom:16px}
#caldav-settings ul{list-style:none;padding:0;margin:14px 0}
#caldav-settings li{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid var(--border)}
#cloud-settings form{max-width:480px}
#cloud-settings details>summary{cursor:pointer}
