:root{color-scheme:light;--bg:#f5f2eb;--surface:#fffdf9;--sidebar:#eee9df;--ink:#29271f;--muted:#6a6357;--line:#ded8cb;--accent:#805516;--soft:#ebe1cf;--primary:#383126;--on-primary:#fffdf9;--hover:#e9e3d7;--danger:#b04b32;--radius:8px}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:15px/1.5 -apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;-webkit-font-smoothing:antialiased}body.dark{color-scheme:dark;--bg:#201e19;--surface:#29261f;--sidebar:#25221c;--ink:#f5efdf;--muted:#beb4a0;--line:#504839;--accent:#edbd70;--soft:#423522;--primary:#eddfc5;--on-primary:#29271f;--hover:#383226;--danger:#f5b497}h1,h2,h3,p{margin-top:0}h1,h2,h3{text-wrap:balance}h1{font-size:34px;line-height:1.18;letter-spacing:-.035em;font-weight:650;margin:0 0 8px}h2{font-size:15px;line-height:1.4;font-weight:650;margin:0 0 16px}h3{font-size:15px;font-weight:600;line-height:1.45}p{margin-bottom:12px}button,input,select,textarea{font:inherit;border:1px solid var(--line);border-radius:var(--radius);padding:10px 13px;background:var(--surface);color:var(--ink)}button{cursor:pointer;min-height:40px;font-size:13px;font-weight:550;transition:background .16s ease,color .16s ease}button:hover{background:var(--hover)}button:disabled{opacity:.5;cursor:wait}:focus-visible{outline:2px solid var(--accent);outline-offset:4px}label{display:grid;gap:7px;color:var(--muted);font-size:13px}input,select,textarea{width:100%;color:var(--ink)}input,select{min-height:44px}textarea{min-height:100px;resize:vertical}textarea::placeholder,input::placeholder{color:var(--muted);opacity:1}form{display:grid;gap:16px}svg{width:18px;height:18px;flex-shrink:0}.eyebrow{font-size:13px;color:var(--muted)}.muted{color:var(--muted);font-size:13px}.primary,#login form button{background:var(--primary);border-color:var(--primary);color:var(--on-primary)}.primary:hover,#login form button:hover{filter:brightness(1.2);background:var(--primary)}.quiet-button,.text-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;border-color:transparent;background:transparent;color:var(--muted)}.text-button{padding:0;min-height:32px;font-size:12px;font-weight:550}.text-button:hover{color:var(--ink);background:transparent;text-decoration:underline;text-underline-offset:4px}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}#status{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);z-index:50;background:var(--primary);color:var(--on-primary);padding:0;border-radius:8px;max-width:calc(100% - 32px);font-size:13px;box-shadow:0 3px 16px #0002}#status:not(:empty){padding:12px 20px}#login{max-width:440px;margin:15vh auto;padding:28px}#login h1{font-size:42px}#login form{margin:30px 0}#enrollment-status{overflow-wrap:anywhere}
#shell{display:grid;grid-template-columns:216px minmax(0,1fr);min-height:100vh}#shell[hidden],[hidden]{display:none!important}.sidebar{background:var(--sidebar);border-right:1px solid var(--line);padding:30px 18px 18px;display:flex;flex-direction:column;position:sticky;top:0;height:100dvh;min-width:0;overflow:auto}.sidebar-brand{display:flex;align-items:center;justify-content:space-between;margin-bottom:42px;padding:0 9px}.brand{display:flex;align-items:center;gap:11px;color:var(--ink);text-decoration:none;font-size:17px;font-weight:650;letter-spacing:-.02em}.avatar{display:flex;align-items:center;justify-content:center;width:29px;height:29px;border:1px solid var(--line);background:var(--surface);border-radius:8px;font-size:13px;font-weight:600}#menu-toggle{display:none}#main-navigation{display:grid;gap:22px}.nav-group{display:grid;gap:3px}.nav-label{font-size:11px;color:var(--muted);font-weight:550;padding:0 12px 7px}.nav-group button{display:flex;align-items:center;text-align:left;gap:11px;border-color:transparent;background:transparent;width:100%;padding:9px 12px;color:var(--muted);font-weight:500;min-height:39px}.nav-group button svg{width:17px;height:17px}.nav-group button:hover{color:var(--ink);background:var(--hover)}.nav-group button[aria-current=page]{color:var(--ink);background:var(--surface);border-color:var(--line);box-shadow:0 1px 2px #10182805;font-weight:650}.nav-group button[aria-current=page] svg{color:var(--accent)}.secondary-nav{border-top:1px solid var(--line);padding-top:18px}.account-menu{margin-top:auto;padding-top:32px}.account-menu summary{padding:10px 12px;font-size:12px;font-weight:550;color:var(--muted);display:flex;justify-content:space-between;cursor:pointer;list-style:none}.account-menu summary::-webkit-details-marker{display:none}.account-menu div{padding-top:8px;display:grid;gap:4px}.account-menu button{width:100%;text-align:left;background:transparent;border-color:transparent;font-size:12px}.account-menu button:hover{background:var(--surface)}main{padding:33px 54px 64px;max-width:1420px;width:100%;min-width:0}.page-header{margin-bottom:40px}.page-topline{display:flex;justify-content:space-between;align-items:center;margin-bottom:32px;gap:20px}.page-topline #date{margin:0;font-size:12px;color:var(--muted);text-transform:none}.page-topline .quiet-button{font-size:12px;padding:4px 0;min-height:30px}.page-topline svg{height:16px;width:16px}.heading-row{display:flex;align-items:center;justify-content:space-between;gap:20px}#subtitle{color:var(--muted);font-size:13px;margin:0}#new-task{display:flex;align-items:center;gap:9px;padding:9px 14px}#new-task>span{font-size:19px;font-weight:400;line-height:1}.mobile-tabs{display:none}
/* Shared controls remain compatible with the existing views. */
.layout{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(270px,1fr);gap:28px;align-items:start}.panel{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:24px;min-width:0}.item{padding:20px 0;border-bottom:1px solid var(--line);overflow-wrap:anywhere}.item:last-child{border-bottom:0}.item p{margin:6px 0}.row{display:flex;align-items:center;justify-content:space-between;gap:14px}.row h3{margin:0}.tag{font-size:11px;color:var(--muted);white-space:nowrap;flex-shrink:0}.empty{padding:20px 0;color:var(--muted)}.summary{display:flex;gap:16px;flex-wrap:wrap;margin-bottom:25px}.summary .panel{flex:1;min-width:170px}.amount{font-size:24px;letter-spacing:-.03em;font-variant-numeric:tabular-nums}.actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.progress{width:100%;height:4px;border:0;border-radius:3px;overflow:hidden;accent-color:var(--accent)}.progress::-webkit-progress-bar{background:var(--line)}.progress::-webkit-progress-value{background:var(--accent)}.progress::-moz-progress-bar{background:var(--accent)}table{width:100%;border-collapse:collapse;font-size:13px}td,th{text-align:left;padding:12px 10px;border-bottom:1px solid var(--line)}.scroll{overflow:auto}details{margin-top:20px}summary{cursor:pointer;padding:12px 0}pre{white-space:pre-wrap;overflow-wrap:anywhere}.warning{color:var(--danger)}.feature-layout{margin-top:24px}audio{max-width:100%;display:block;margin:12px 0}#recording-banner:not(:empty){position:sticky;top:0;background:#962f36;color:#fff;padding:8px 20px;z-index:40}#recording-banner p{margin:0}label>input[type=checkbox]{width:auto;min-height:0;justify-self:start}.actions button[aria-pressed=true]{background:var(--soft);color:var(--accent)}
/* Today: a working page, with the task editor opened only when needed. */
.today-layout{display:grid;grid-template-columns:minmax(0,1.9fr) minmax(245px,1fr);gap:58px}.today-primary,.today-secondary{min-width:0}.today-secondary{border-left:1px solid var(--line);padding-left:32px}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:22px}.section-heading h2{margin:0}.priority-label{display:inline-flex;align-items:center;gap:6px;font-size:11px;color:var(--muted);white-space:nowrap}.priority-label>span{width:5px;height:5px;border-radius:50%;background:var(--danger)}.focus-section{padding:0 0 32px;border-bottom:1px solid var(--line)}.focus-project{color:var(--accent);font-size:12px;margin-top:27px;margin-bottom:13px}.focus-project span{color:var(--muted)}.focus-section>h3{font-size:29px;line-height:1.25;letter-spacing:-.025em;max-width:24ch;font-weight:550;margin:0 0 14px}.focus-next{font-size:14px;color:var(--muted);max-width:46ch;margin-bottom:0}.focus-actions{display:flex;align-items:center;gap:20px;margin-top:24px}.focus-actions .primary{font-size:12px;display:flex;align-items:center;gap:9px}.focus-actions .primary span{font-size:14px}.pending-section{padding-top:28px}.pending-section .section-heading{margin-bottom:9px}.count{color:var(--muted);font-size:12px;font-weight:400;margin-left:8px}.task-row{display:flex;gap:12px;align-items:center;padding:16px 0;border-bottom:1px solid var(--line);min-width:0}.complete-task{background:transparent;border:0;padding:0;width:24px;min-height:44px;flex-shrink:0;display:grid;place-items:center}.complete-task span{width:17px;height:17px;border:1px solid #8b806d;border-radius:5px;font-size:12px;display:grid;place-items:center}.complete-task:hover{background:transparent}.complete-task:hover span{border-color:var(--accent);background:var(--soft)}.task-copy{flex:1;min-width:0}.task-copy h3{margin:0 0 3px;font-size:13px}.task-copy h3 button{background:none;border:0;border-radius:0;padding:0;min-height:0;font-size:13px;font-weight:550;line-height:1.45;text-align:left}.task-copy h3 button:hover{text-decoration:underline;text-underline-offset:3px}.task-copy p{margin:0;font-size:11px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.task-date{font-size:11px;color:var(--muted);flex-shrink:0;padding-left:8px}.task-date.is-today{color:var(--accent)}.is-complete .task-copy h3{text-decoration:line-through;color:var(--muted)}.is-complete .complete-task span{background:var(--soft);color:var(--accent);border-color:var(--soft)}.completed-tasks{margin-top:8px}.completed-tasks summary{font-size:11px;color:var(--muted);padding:14px 0}.completed-tasks .task-row{padding:8px 0}.goals-preview{margin-top:30px}.goals-preview .section-heading{margin-bottom:8px}.goal-preview{padding:14px 0;display:grid;grid-template-columns:minmax(0,1fr) 115px;column-gap:24px;align-items:center}.goal-preview h3{font-size:12px;line-height:1.4;grid-row:1/3;margin:0;font-weight:500}.goal-preview .muted{font-size:10px;margin:0 0 6px;text-align:right}.goal-preview progress{margin:0;height:3px}.quiet-empty{font-size:13px;color:var(--muted);margin:14px 0;line-height:1.65;max-width:44ch}.empty-focus{padding-top:0}.empty-focus>h2{margin-bottom:28px}.empty-focus>h3{max-width:22ch;font-size:29px;margin-bottom:18px}.empty-focus>p{color:var(--muted);font-size:14px;max-width:42ch;margin-bottom:24px}.empty-focus>.primary{font-size:12px;display:inline-flex;gap:18px;align-items:center}.agenda-section{padding-bottom:28px;border-bottom:1px solid var(--line)}.agenda-empty{padding-top:7px}.agenda-empty>p{font-size:17px;font-weight:500;line-height:1.45;letter-spacing:-.015em;margin-bottom:9px}.agenda-empty>span{font-size:12px;color:var(--muted);display:block;line-height:1.6;max-width:25ch}.agenda-empty .text-button{margin-top:14px;color:var(--ink)}.agenda-row{display:grid;grid-template-columns:55px 1fr;gap:10px;margin:18px 0}.agenda-row time{font-size:11px;color:var(--muted)}.agenda-row h3{font-size:13px;margin:0}.quick-capture{margin-top:28px}.quick-capture .section-heading{margin-bottom:14px}.capture-mark{color:var(--muted);font-size:17px}.quick-capture form{gap:12px}.quick-capture textarea{min-height:108px;padding:12px;font-size:13px;line-height:1.6;background:var(--sidebar);border-color:var(--line);border-radius:7px}.capture-actions{display:flex;justify-content:space-between;align-items:center;gap:10px}.capture-actions button{font-size:11px;min-height:34px;padding:7px 10px}.capture-actions .quiet-button{padding-left:0}.alerts-section{margin-top:30px;padding-top:25px;border-top:1px solid var(--line)}.alerts-section h2{font-size:13px;margin-bottom:9px}.alerts-section .quiet-empty{font-size:12px;margin:0 0 9px}.source-note{font-size:10px;line-height:1.7;color:var(--muted);max-width:28ch;margin:0}.alert-row h3{font-size:12px;margin:12px 0 5px}.alert-row p,.alert-row small{font-size:11px;color:var(--muted);line-height:1.5}.alert-row small{font-size:10px}:is(#task-dialog,.record-dialog){width:min(520px,calc(100% - 24px));max-height:calc(100dvh - 32px);border:1px solid var(--line);border-radius:14px;background:var(--surface);color:var(--ink);padding:28px;box-shadow:0 16px 70px #10182825}:is(#task-dialog,.record-dialog)::backdrop{background:#18202b55}:is(#task-dialog,.record-dialog)>.panel{border:0;padding:0;background:transparent}:is(#task-dialog,.record-dialog) h2{font-size:20px;margin-bottom:24px}:is(#close-task,.close-dialog){position:absolute;right:18px;top:14px;border:0;background:transparent;width:40px;font-size:24px;font-weight:300;padding:0}:is(#task-dialog,.record-dialog) textarea{min-height:70px}:is(#task-dialog,.record-dialog) form{gap:12px}:is(#task-dialog,.record-dialog) form label{font-size:12px}:is(#task-dialog,.record-dialog) input,:is(#task-dialog,.record-dialog) select{font-size:14px;padding:8px 11px;min-height:40px}
@media(min-width:1600px){main{padding-left:72px;padding-right:72px}.today-layout{gap:76px}}
@media(max-width:1100px){#shell{grid-template-columns:190px minmax(0,1fr)}.sidebar{padding-left:12px;padding-right:12px}main{padding-left:32px;padding-right:32px}.today-layout{gap:30px;grid-template-columns:minmax(0,1.6fr) minmax(220px,1fr)}.today-secondary{padding-left:24px}.focus-section>h3{font-size:26px}.priority-label{font-size:10px}.layout{grid-template-columns:minmax(0,1fr);gap:22px}}
@media(max-width:760px){#shell{display:block}.sidebar{position:relative;height:auto;padding:16px 20px;border-right:0;border-bottom:1px solid var(--line);overflow:visible;background:var(--bg);z-index:20}.sidebar-brand{padding:0;margin:0}.brand{font-size:16px}.avatar{height:27px;width:27px}#menu-toggle{display:block;min-height:32px;padding:4px 10px;font-size:12px;background:transparent}#main-navigation,.account-menu{display:none}.nav-open #main-navigation{display:grid;padding-top:24px;gap:14px}.nav-open .account-menu{display:block;margin-top:20px;padding-top:0}main{padding:24px 22px 98px}.page-topline{margin-bottom:25px}.page-topline #date{font-size:11px}.page-topline .quiet-button{font-size:11px}.page-topline .quiet-button svg{width:14px}.page-topline .quiet-button span{display:none}h1{font-size:30px}.page-header{margin-bottom:32px}.heading-row{gap:12px;align-items:center}#subtitle{font-size:11px}#new-task{padding:8px 10px;font-size:11px;min-height:36px;gap:5px}#new-task>span{font-size:16px}.today-layout{display:flex;flex-direction:column;gap:30px}.today-secondary{border-left:0;padding-left:0;display:grid;grid-template-columns:minmax(0,1fr);gap:26px}.focus-section{padding-bottom:27px}.focus-project{margin-top:20px;font-size:11px}.focus-section>h3{font-size:25px;max-width:23ch}.focus-next{font-size:13px}.section-heading h2{font-size:14px}.section-heading{gap:10px}.priority-label{font-size:10px}.focus-actions{gap:20px;margin-top:22px}.pending-section{padding-top:25px}.task-row{gap:8px;padding:15px 0}.task-copy h3 button{font-size:13px}.task-copy p{font-size:10px}.task-date{font-size:10px;padding-left:4px}.task-copy h3{max-width:24ch}.goals-preview{margin-top:25px}.goal-preview{column-gap:16px;grid-template-columns:minmax(0,1fr) 100px}.goal-preview h3{font-size:12px}.goal-preview .muted{font-size:9px}.quick-capture,.alerts-section{margin-top:0}.agenda-section{padding-top:26px;border-top:1px solid var(--line);padding-bottom:26px}.agenda-empty{display:grid;grid-template-columns:1fr 1fr;column-gap:16px}.agenda-empty>p{font-size:15px;grid-row:1/3;margin:0}.agenda-empty>span{font-size:11px}.agenda-empty .text-button{margin-top:7px;justify-self:start}.quick-capture textarea{min-height:85px}.capture-actions button{min-height:40px}.source-note{max-width:none}.alerts-section{padding-top:20px}.mobile-tabs{display:flex;position:fixed;bottom:0;left:0;right:0;justify-content:space-around;background:var(--surface);border-top:1px solid var(--line);padding:7px 10px max(9px,env(safe-area-inset-bottom));z-index:30}.mobile-tabs button{display:flex;flex-direction:column;gap:4px;align-items:center;min-height:46px;min-width:65px;border:0;background:transparent;padding:3px 12px;font-size:10px;color:var(--muted)}.mobile-tabs svg{width:18px;height:18px}.mobile-tabs [aria-current=page]{color:var(--accent)}#status{bottom:82px;width:max-content;max-width:calc(100% - 30px)}.panel{padding:20px}.layout{grid-template-columns:minmax(0,1fr)}.summary{gap:12px}.summary .panel{min-width:145px}.amount{font-size:21px}.row{gap:8px}:is(#task-dialog,.record-dialog){padding:23px;margin:auto;max-height:calc(100dvh - 24px)}.empty-focus>h3{font-size:26px}.empty-focus>p{font-size:13px}.empty-focus>.primary{min-height:42px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

#date::first-letter{text-transform:uppercase}
@media(max-width:760px){.today-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:26px}.today-primary,.today-secondary{display:contents}.focus-section{order:1}.quick-capture{order:2}.pending-section{order:3;padding-top:0}.agenda-section{order:4}.goals-preview{order:5;margin-top:0}.alerts-section{order:6}.quick-capture textarea{min-height:64px}.quick-capture .section-heading{margin-bottom:10px}.quick-capture form{gap:8px}.page-header{margin-bottom:27px}}

.focus-section h3,.task-copy h3,.goal-preview h3{overflow-wrap:anywhere}
/* Warm workspace: collections, ledger and capture share the same quiet rhythm. */
.collection-toolbar{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:30px}.collection-toolbar p{margin:0}.collection-empty{padding:42px 0 64px;max-width:500px}.collection-empty h2{font-size:29px;font-weight:550;letter-spacing:-.025em;line-height:1.3;margin:14px 0}.collection-empty p{color:var(--muted);font-size:14px;line-height:1.8}.collection-empty.compact{padding:28px 0;max-width:460px}.collection-empty.compact h3{font-size:20px}.horizon{margin-bottom:40px}.horizon>h2{color:var(--muted);font-size:12px;font-weight:500;border-bottom:1px solid var(--line);padding-bottom:13px}.objective-row{display:grid;grid-template-columns:minmax(0,1fr) 200px;gap:52px;padding:20px 0 28px;border-bottom:1px solid var(--line);align-items:center}.objective-copy h3{font-size:23px;letter-spacing:-.02em;margin:8px 0 10px;font-weight:550;overflow-wrap:anywhere}.objective-copy p{font-size:13px;color:var(--muted);max-width:56ch}.objective-copy .eyebrow{font-size:11px}.objective-progress .muted{font-size:11px}.objective-progress .progress{margin:0 0 12px}.project-row{display:grid;grid-template-columns:minmax(0,1fr) 190px;gap:40px;border-top:1px solid var(--line);padding:28px 0;align-items:center}.project-row h2{font-size:22px;letter-spacing:-.02em;margin:8px 0}.project-row p{font-size:13px;color:var(--muted)}.project-row .text-button{margin-top:10px}.note-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.note-sheet{background:var(--surface);border:1px solid var(--line);padding:25px;border-radius:4px;min-height:210px}.note-sheet .section-heading{align-items:start}.note-sheet h2{font-size:18px;line-height:1.5;font-weight:550;overflow-wrap:anywhere}.note-sheet>p{white-space:pre-wrap;overflow-wrap:anywhere;font-size:14px;line-height:1.8;color:var(--muted)}.note-sheet .text-button{flex-shrink:0}
.finance-overview{padding-bottom:8px}.currency-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.currency-summary{padding:24px 24px 15px 0;min-width:0}.currency-summary+.currency-summary{border-left:1px solid var(--line);padding-left:24px}.currency-summary h3{font-size:12px;letter-spacing:.07em;margin:0}.currency-summary .tag{font-size:10px;white-space:normal;text-align:right}.balance{font-size:31px;line-height:1.3;letter-spacing:-.025em;font-variant-numeric:tabular-nums;margin:20px 0 14px}.projection{display:grid;gap:4px;font-size:11px;color:var(--muted)}.projection strong{font-size:14px;font-weight:500;font-variant-numeric:tabular-nums;color:var(--ink)}.currency-summary>p.muted{font-size:10px;margin:10px 0 0}.source-line{font-size:11px;color:var(--muted);margin:12px 0 0}.finance-evidence{font-size:12px;margin:0 0 28px;max-width:900px}.finance-evidence summary{color:var(--muted)}.finance-tabs{display:flex;gap:18px;overflow:auto;border-bottom:1px solid var(--line);margin-bottom:28px;padding-bottom:1px}.finance-tabs button{white-space:nowrap;border:0;background:transparent;border-radius:0;padding:9px 0 13px;color:var(--muted);font-size:12px;flex-shrink:0}.finance-tabs button[aria-pressed=true]{color:var(--accent);box-shadow:inset 0 -2px var(--accent)}.finance-tabs button:hover{color:var(--ink)}.finance-table th{font-size:11px;font-weight:500;color:var(--muted);padding-top:0}.finance-table td,.finance-table th{padding-left:0;padding-right:24px}.finance-table td{padding-top:19px;padding-bottom:19px}.finance-table td:last-child,.finance-table th:last-child{padding-right:0;text-align:right}.finance-table td:first-child{min-width:180px}.finance-table strong{font-weight:550}.table-detail{display:block;color:var(--muted);font-size:11px;line-height:1.6;margin-top:4px;max-width:44ch;overflow-wrap:anywhere}.numeric{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}.date-cell{font-size:12px;white-space:nowrap;color:var(--muted)}.currency-cell{font-size:11px;color:var(--muted)}.outflow{color:var(--ink)}.ledger-tools{margin-top:24px;display:grid;gap:20px;justify-items:start}.ledger-tools details{margin:0;max-width:520px;width:100%;font-size:12px}.ledger-tools form{padding:12px 0}.ledger-tools>.text-button{font-size:11px}.finance-ledger .scroll:focus-visible{outline-offset:3px}
.audio-layout{display:grid;grid-template-columns:minmax(260px,1fr) minmax(0,1.5fr);gap:56px}.audio-capture{padding:25px;background:var(--soft);border-radius:10px;align-self:start}.audio-capture>h2{font-size:28px;font-weight:550;letter-spacing:-.025em;margin:10px 0 15px}.audio-capture>.muted{line-height:1.8}.audio-capture .actions{gap:8px;margin:23px 0}.audio-capture .actions button{font-size:11px;padding:8px 10px}.audio-file-form{border-top:1px solid var(--line);padding-top:20px}.audio-file-form input{padding:10px;font-size:11px;background:var(--surface)}#audio-draft{margin-top:20px;display:grid;gap:12px}#audio-draft p{font-size:12px;margin:0}#audio-draft audio{width:100%;margin:0}#audio-draft button{font-size:12px}.audio-privacy{font-size:11px}.audio-privacy p{font-size:11px}.audio-library .item:first-of-type{padding-top:20px}.audio-library .item h3{font-size:17px;letter-spacing:-.015em}.audio-library .tag{display:inline-block;background:var(--soft);color:var(--accent);border-radius:4px;padding:3px 8px}.audio-library audio{width:100%}.audio-review{margin-top:20px}.audio-review textarea{min-height:110px}.connection-note{font-size:12px;color:var(--muted);line-height:1.7;max-width:65ch}.calendar-layout{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(230px,1fr);gap:50px}.calendar-agenda{border-top:1px solid var(--line);padding-top:24px}.calendar-drafts{border-left:1px solid var(--line);padding-left:28px}.calendar-agenda .section-heading{align-items:start}.calendar-agenda .section-heading .muted{font-size:10px;overflow-wrap:anywhere}.calendar-agenda .empty{font-size:15px;line-height:1.8;padding:38px 0;max-width:42ch}.calendar-config{border-top:1px solid var(--line);padding-top:12px;margin-top:36px;font-size:13px}.calendar-config form{max-width:540px;margin:20px 0}.calendar-config>p{max-width:60ch}.calendar-drafts .item>p.muted,.calendar-agenda .item>p.muted{font-size:11px;overflow-wrap:anywhere}.settings-list{max-width:850px}.settings-row{display:grid;grid-template-columns:minmax(0,1fr) 210px;gap:40px;padding:26px 0;border-top:1px solid var(--line)}.settings-row h2{font-size:18px;margin-bottom:8px;font-weight:550}.settings-row p{font-size:13px;color:var(--muted);max-width:52ch}.settings-row .setting-action{align-self:center;justify-self:end}.settings-row .tag{display:block;text-align:right;margin-bottom:8px;color:var(--accent)}.activity-row{display:grid;grid-template-columns:130px 1fr;gap:24px;padding:20px 0;border-top:1px solid var(--line)}.activity-row time{font-size:11px;color:var(--muted)}.activity-row p{font-size:13px;margin:0}.activity-row details{margin-top:6px;font-size:11px;color:var(--muted);overflow-wrap:anywhere}.activity-row summary{padding:4px 0}.record-dialog .close-dialog{z-index:1}.record-dialog>h2{padding-right:30px}.record-dialog label:has(input[type=checkbox]){display:flex;align-items:start;gap:10px;line-height:1.5}.record-dialog input[type=checkbox]{width:18px;min-height:18px;margin:1px 0;flex-shrink:0}input:not([type=checkbox]),select,textarea{border-color:#91836e}.dark input,.dark select,.dark textarea{border-color:#877b65}.quick-capture textarea{border-color:#91836e}.dark .quick-capture textarea{border-color:#877b65}
@media(max-width:1100px){.audio-layout{gap:28px;grid-template-columns:minmax(240px,1fr) minmax(0,1.25fr)}.currency-summary{padding-right:16px}.currency-summary+.currency-summary{padding-left:16px}.balance{font-size:25px}.currency-summary .row{align-items:start;gap:8px}.objective-row{gap:28px;grid-template-columns:minmax(0,1fr) 170px}.calendar-layout{gap:28px}.calendar-drafts{padding-left:20px}}
@media(max-width:760px){.collection-toolbar{gap:14px;margin-bottom:24px;align-items:start}.collection-toolbar .primary{font-size:11px;white-space:nowrap;padding:9px 12px}.collection-toolbar>p{font-size:11px}.collection-empty{padding:22px 0 42px}.collection-empty h2{font-size:25px}.note-grid{grid-template-columns:minmax(0,1fr);gap:18px}.note-sheet{padding:20px;min-height:180px}.objective-row{grid-template-columns:minmax(0,1fr);gap:20px;padding:16px 0 25px}.objective-copy h3{font-size:22px}.objective-progress{max-width:100%;display:grid;grid-template-columns:1fr 1fr;column-gap:20px;align-items:center}.objective-progress .progress{grid-column:1/3;grid-row:2;margin:0}.objective-progress p{margin-bottom:8px}.objective-progress p:last-child{text-align:right}.horizon{margin-bottom:30px}.project-row{grid-template-columns:minmax(0,1fr);gap:20px}.project-row>div:last-child{max-width:260px}.currency-grid{grid-template-columns:minmax(0,1fr)}.currency-summary{padding:17px 0;display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:15px;align-items:center}.currency-summary+.currency-summary{padding:17px 0;border-left:0;border-top:1px solid var(--line)}.currency-summary .row{display:block;grid-column:1}.currency-summary .tag{text-align:left;display:block;margin-top:4px}.currency-summary .balance{grid-column:2;grid-row:1;font-size:26px;margin:0}.currency-summary .projection{grid-column:1/3;display:flex;justify-content:space-between;align-items:center;margin-top:12px;gap:12px}.currency-summary>p.muted{grid-column:1/3}.finance-overview .section-heading{margin-bottom:16px}.finance-overview .section-heading>span{font-size:10px}.finance-evidence{margin-bottom:22px;font-size:11px}.finance-tabs{gap:20px;margin-right:-22px;padding-right:22px;margin-bottom:25px}.finance-ledger .section-heading .primary{font-size:11px;padding:9px 12px}.finance-table td,.finance-table th{padding-right:18px}.finance-table td:first-child{min-width:160px}.finance-table .numeric{font-size:13px}.finance-ledger .scroll{margin-right:-22px;padding-right:22px}.audio-layout,.calendar-layout{grid-template-columns:minmax(0,1fr);gap:30px}.audio-capture{padding:22px}.audio-capture>h2{font-size:26px}.audio-capture .actions button{min-height:42px}.calendar-drafts{border-left:0;padding-left:0;border-top:1px solid var(--line);padding-top:22px}.calendar-agenda .empty{padding:20px 0}.calendar-config{margin-top:25px}.settings-row{grid-template-columns:minmax(0,1fr);gap:5px}.settings-row .setting-action{justify-self:start}.settings-row .tag{text-align:left}.activity-row{grid-template-columns:minmax(0,1fr);gap:8px}.record-dialog label{min-width:0}.record-dialog h2{max-width:calc(100% - 24px)}.task-copy h3 button{min-height:32px}}
.scroll{position:relative}#status{pointer-events:none}html{scroll-padding-top:24px;scroll-padding-bottom:150px}button,summary,input,textarea,select{scroll-margin-block:100px}
@media(max-width:760px){.currency-summary{padding:13px 0}.currency-summary+.currency-summary{padding:13px 0}.currency-summary .balance{font-size:23px}.currency-summary .projection{margin-top:8px}.currency-summary>p.muted{display:none}.currency-summary .tag{font-size:9px}.currency-summary .projection span{font-size:10px}.currency-summary .projection strong{font-size:12px}.finance-evidence{margin-bottom:12px}.finance-tabs{margin-bottom:20px}.finance-ledger .section-heading{margin-bottom:22px}}
.table-date{display:none}
@media(max-width:760px){.finance-table th:nth-child(2),.finance-table td:nth-child(2){display:none}.table-date{display:block;color:var(--muted);font-size:10px;margin-top:4px}.finance-table td:first-child{min-width:110px}.finance-table td,.finance-table th{padding-right:12px}.finance-table td{font-size:12px}.finance-table .numeric{font-size:12px}.finance-table td:last-child button{font-size:10px}.baseline-complete .tag{display:none}.currency-summary .projection{margin-top:6px}.currency-summary .projection strong{font-size:11px}.currency-summary .balance{font-size:22px}}
/* Preserve context and make recovery part of each workflow. */
.form-feedback:not(:empty),.load-error{padding:12px;background:var(--soft);border-left:3px solid var(--accent);font-size:13px;line-height:1.6}.form-feedback:empty{display:none}.draft-note{margin:0;font-size:11px}.search-box{margin:0 0 22px;max-width:580px}.search-box input{background:var(--surface)}.audio-filter{margin-bottom:20px;max-width:280px}.context-path{display:flex;gap:14px;align-items:center;flex-wrap:wrap;margin-bottom:24px;font-size:13px}.context-path>span{color:var(--accent)}.objective-copy>.text-button+.text-button,.project-row .text-button+.text-button{margin-left:18px}.task-filters{display:flex;gap:10px;margin-bottom:25px}.task-filters [aria-pressed=true]{background:var(--soft);color:var(--accent);border-color:var(--accent)}.task-day{margin-top:23px}.task-day>h3{font-size:12px;color:var(--muted);font-weight:500;margin-bottom:0}.event-advanced{margin:0}.event-advanced label{margin:12px 0}.alert-row .text-button{display:block}.finance-evidence .text-button{margin-top:7px}.page-topline .quiet-button{min-width:44px;min-height:44px}.complete-task{width:44px}.load-error{margin-bottom:20px}#content[aria-busy=true]{opacity:.65}#heading:focus{outline-offset:8px}
@media(max-width:760px){.currency-summary,.currency-summary+.currency-summary{padding:9px 0}.currency-summary .balance{font-size:20px}.currency-summary .projection{margin-top:3px}.finance-overview .section-heading{margin-bottom:9px}.finance-tabs{margin-bottom:15px}.finance-ledger .section-heading{margin-bottom:14px}.page-header{margin-bottom:22px}.page-topline{margin-bottom:16px}.complete-task{width:32px}.context-path{gap:10px;font-size:12px}.task-filters button{flex:1;min-height:44px;font-size:12px}.audio-capture .actions button{min-height:44px}.record-dialog{scroll-padding-bottom:60px}}

.integration-settings{display:grid;gap:24px;max-width:850px}.integration-settings form{margin:18px 0}.integration-settings code{overflow-wrap:anywhere}.integration-settings li{margin:10px 0}.integration-settings button{min-height:44px}.settings-feedback:empty{display:none}

.calendar-choice{display:flex;align-items:center;gap:10px;min-height:44px}.calendar-choice input{flex:none}fieldset{border:1px solid var(--line);border-radius:8px}

#pwa-notice:not([hidden]){margin:0;padding:14px max(20px,env(safe-area-inset-left));background:var(--soft);color:var(--ink);border-bottom:1px solid var(--line);font-size:13px;line-height:1.5;overflow-wrap:anywhere}

/* Calendar: the same civil dates and time scale in week and day views. */
.calendar-schedule{min-width:0;margin-top:24px}.calendar-navigation{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:12px}.calendar-navigation h2{font-size:22px;letter-spacing:-.02em;font-weight:550;margin:5px 0 0;text-transform:none}.calendar-view-label{font-size:11px;color:var(--muted)}.calendar-date-controls{display:flex;gap:8px;align-items:center;flex-shrink:0}.calendar-date-controls button{min-width:44px;min-height:44px;padding:8px 12px}.calendar-date-picker{margin:0}.calendar-date-picker input{width:145px;font-size:12px;min-height:44px;padding:8px}.calendar-range-note{font-size:11px;color:var(--muted);margin:12px 0}.calendar-viewport{height:650px;max-height:75vh;min-height:360px;overflow:auto;border:1px solid var(--line);border-radius:8px;background:var(--surface);overscroll-behavior:contain;position:relative}.calendar-canvas{width:100%}.calendar-top{position:sticky;top:0;z-index:4;background:var(--surface);border-bottom:1px solid var(--line)}.calendar-day-headings,.calendar-all-day,.calendar-hours-grid{display:grid;grid-template-columns:var(--calendar-columns)}.calendar-day-heading{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-height:76px;border-left:1px solid var(--line);padding:10px 4px}.calendar-day-heading>span{font-size:11px;color:var(--muted);text-transform:capitalize}.calendar-day-heading>strong{font-size:21px;font-weight:500;line-height:1.25}.calendar-day-heading.is-today>strong{background:var(--primary);color:var(--on-primary);border-radius:50%;min-width:32px;min-height:32px;text-align:center;padding:3px}.calendar-axis-label{font-size:10px;color:var(--muted);display:flex;align-items:center;justify-content:center;text-align:center;line-height:1.5;position:sticky;left:0;background:var(--surface);z-index:3}.calendar-all-day{border-top:1px solid var(--line)}.calendar-all-day-cell{min-height:54px;max-height:180px;overflow:auto;border-left:1px solid var(--line);padding:5px;display:flex;flex-direction:column;gap:5px}.calendar-no-all-day{color:var(--muted);font-size:11px;align-self:center;margin-top:8px}.calendar-hours-grid{height:2058px}.calendar-hours{position:sticky;left:0;z-index:3;background:var(--surface)}.calendar-hours>span{position:absolute;right:7px;transform:translateY(-50%);font-size:10px;color:var(--muted);font-variant-numeric:tabular-nums;padding:1px 0;background:var(--surface)}.calendar-day-track{position:relative;border-left:1px solid var(--line);background:repeating-linear-gradient(to bottom,transparent 0,transparent 41px,color-mix(in srgb,var(--line) 50%,transparent) 41px,color-mix(in srgb,var(--line) 50%,transparent) 42px,transparent 42px,transparent 83px,var(--line) 83px,var(--line) 84px)}.calendar-event{position:absolute;min-height:0;padding:4px 6px;border:1px solid #cfc0a6;background:var(--soft);color:var(--ink);border-radius:5px;font-size:12px;line-height:1.3;text-align:left;overflow:hidden;display:flex;flex-direction:column;align-items:stretch;gap:2px;z-index:1;scroll-margin:150px 12px}.calendar-event:hover{background:var(--hover);border-color:var(--accent)}.calendar-event:focus-visible{z-index:2;outline:2px solid var(--accent);outline-offset:1px}.calendar-event-time{font-size:10px;font-variant-numeric:tabular-nums;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex-shrink:0}.calendar-event strong{font-size:11.5px;font-weight:600;overflow:hidden;overflow-wrap:normal;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3}.calendar-event-source{font-size:10px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.calendar-all-day-event{position:static;min-height:44px;flex-shrink:0}.calendar-now{position:absolute;left:0;right:0;height:1px;background:var(--accent);z-index:2;pointer-events:none}.calendar-now:before{content:'';position:absolute;width:5px;height:5px;left:0;top:-2px;border-radius:50%;background:var(--accent)}.calendar-follow-up{margin-top:30px}.calendar-follow-up .calendar-drafts{padding:24px 0 0;border-left:0;border-top:1px solid var(--line)}.calendar-follow-up .calendar-drafts>.item{max-width:650px}.calendar-event-detail>h2{font-size:24px;line-height:1.3;overflow-wrap:anywhere}.calendar-event-description{white-space:pre-wrap;overflow-wrap:anywhere;max-height:220px;overflow:auto}.dark .calendar-event{border-color:var(--line)}
@media(max-width:1100px){.calendar-navigation{align-items:flex-start;flex-wrap:wrap}.calendar-navigation h2{font-size:20px}.calendar-date-controls{flex-shrink:1}}
@media(max-width:760px){.calendar-schedule{margin-top:18px}.calendar-navigation{gap:14px;display:block}.calendar-navigation h2{font-size:21px;line-height:1.4}.calendar-date-controls{margin-top:14px;gap:6px;flex-wrap:wrap}.calendar-date-controls>button{padding:8px 12px}.calendar-date-picker{flex:1;min-width:130px}.calendar-date-picker input{width:100%;max-width:180px}.calendar-viewport{height:620px;max-height:72vh;min-height:360px}.calendar-day-heading{min-height:58px;flex-direction:row;gap:9px}.calendar-day-heading>strong{font-size:20px}.calendar-day-heading>span{font-size:12px}.calendar-event strong{font-size:13px}.calendar-event-time{font-size:11px}.calendar-all-day-cell{max-height:160px}.calendar-follow-up{margin-top:24px}.calendar-range-note{font-size:11px;line-height:1.6}}

/* Monthly view shares the calendar's beige identity and event detail flow. */
.calendar-view-controls{display:flex;gap:4px;flex-shrink:0}.calendar-view-controls>button{min-height:44px;padding:8px 12px}.calendar-view-controls>button[aria-pressed=true]{background:var(--ink);color:var(--surface);border-color:var(--ink)}.calendar-month-weekdays,.calendar-month-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.calendar-month-weekdays{margin-top:18px;text-align:center;font-size:11px;color:var(--muted);padding:10px 0}.calendar-month-grid{border-top:1px solid var(--line);border-left:1px solid var(--line);background:var(--surface)}.calendar-month-cell{min-width:0;min-height:150px;padding:5px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.calendar-month-cell.is-outside-month{background:var(--bg);color:var(--muted)}.calendar-month-date{border:0;background:transparent;min-height:44px;padding:8px 10px}.calendar-month-cell.is-today .calendar-month-date{background:var(--ink);color:var(--surface);border-radius:50%}.calendar-month-events{display:flex;flex-direction:column;gap:4px}.calendar-month-event{display:flex;align-items:center;gap:4px;text-align:left;font-size:11px;padding:5px 4px;min-width:0;width:100%;border:0;background:transparent;overflow:hidden}.calendar-month-event.is-all-day{background:var(--soft);border-radius:4px}.calendar-month-event>span{flex-shrink:0;font-size:9px;color:var(--muted)}.calendar-month-event>strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600}.calendar-month-more{font-size:11px;text-align:left;padding:5px;border:0}.calendar-month-count{display:none}.google-accounts{margin:20px 0}.google-account{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:16px 0;border-bottom:1px solid var(--line)}.google-account strong{overflow-wrap:anywhere}.google-account p{font-size:12px;margin:6px 0;color:var(--muted)}
@media(max-width:1100px){.calendar-navigation{gap:14px}.calendar-month-cell{min-height:130px}.calendar-month-event{flex-direction:column;align-items:flex-start}.calendar-month-event>strong{max-width:100%}}
@media(max-width:760px){.calendar-view-controls{margin-top:12px}.calendar-month-cell{min-height:92px;padding:3px}.calendar-month-date{width:100%;padding:8px 0}.calendar-month-events{display:none}.calendar-month-count{display:block;min-height:36px;width:100%;padding:3px 0;border:0;border-radius:4px;background:var(--soft);font-size:12px}.calendar-month-count span{display:block;font-size:8px}.calendar-month-weekdays{font-size:10px}.google-account{align-items:flex-start;flex-direction:column}.google-account .actions{flex-wrap:wrap}}

.oauth-page{padding:32px 20px}.oauth-card{max-width:680px;margin:auto;padding:28px}.oauth-card h1{font-size:28px;line-height:1.25}.oauth-card p{overflow-wrap:anywhere;line-height:1.6}.oauth-permissions{margin:24px 0;padding:16px;border:1px solid var(--line);border-radius:8px}.oauth-permissions legend{padding:0 8px;font-weight:600}.oauth-card .oauth-permission{display:grid;grid-template-columns:20px minmax(0,1fr);gap:12px;align-items:start;margin:14px 0;line-height:1.6}.oauth-permission input[type=checkbox]{width:18px;height:18px;margin:3px 0;accent-color:var(--ink)}.oauth-permission small{display:block;color:var(--muted);font-size:10px}.oauth-renewable{padding:16px;background:var(--soft);border-radius:8px}.oauth-card button{min-height:44px}
@media(max-width:760px){.oauth-page{padding:16px 12px}.oauth-card{padding:20px}.oauth-card h1{font-size:25px}.oauth-permissions{padding:10px}}

/* Rumbo refinement: one type scale and control vocabulary across the workspace. */
:root {
  --radius: 10px;
  --danger: #9e432d;
  --control-line: #9b8d79;
  --shadow-dialog: 0 24px 80px #29271f24;
  --layer-nav: 20;
  --layer-tabs: 30;
  --layer-banner: 40;
  --layer-status: 50;
}
body.dark { --control-line: #95866f; --shadow-dialog: 0 24px 80px #0006; }
body { font-size: 15px; line-height: 1.55; }
h1 { font-size: 32px; letter-spacing: -.035em; font-weight: 650; }
h2 { font-size: 16px; font-weight: 600; }
button { font-size: 13px; min-height: 44px; font-weight: 550; }
button:disabled { cursor: default; }
button:active:not(:disabled) { background: var(--soft); }
.primary:active:not(:disabled) { background: var(--primary); filter: brightness(.9); }
input:not([type=checkbox]), select, textarea { border-color: var(--control-line); }
input:not([type=checkbox]):focus, select:focus, textarea:focus { border-color: var(--accent); }
label { font-size: 13px; font-weight: 500; }
input[type=checkbox] { accent-color: var(--accent); }
input[type=file] { padding: 8px; font-size: 13px; }
input[type=file]::file-selector-button {
  font: inherit; border: 0; border-radius: 6px; padding: 7px 10px;
  margin-right: 12px; background: var(--soft); color: var(--ink); cursor: pointer;
}
a { color: var(--accent); text-underline-offset: 3px; }
.text-button { min-height: 36px; font-size: 13px; }
.muted, .connection-note { font-size: 13px; }
.tag { font-size: 12px; }
#shell { grid-template-columns: 232px minmax(0, 1fr); }
.sidebar { padding: 28px 18px 18px; background: var(--sidebar); }
.sidebar-brand { padding: 0 8px; margin-bottom: 32px; }
.brand { gap: 10px; }
.brand-mark { width: 36px; height: 36px; border-radius: 10px; flex-shrink: 0; }
.brand-copy { font-size: 15px; font-weight: 650; line-height: 1.35; letter-spacing: -.02em; }
.brand-copy small { display: block; font-size: 12px; font-weight: 400; color: var(--muted); letter-spacing: 0; margin-top: 2px; }
#main-navigation { gap: 20px; }
.nav-label { font-size: 12px; padding: 0 12px 6px; }
.nav-group { gap: 4px; }
.nav-group button { min-height: 44px; padding: 10px 12px; font-size: 14px; }
.nav-group button[aria-current=page] { box-shadow: none; }
.nav-group button svg { width: 19px; height: 19px; }
.secondary-nav { padding-top: 16px; }
.account-menu summary, .account-menu button { font-size: 13px; min-height: 44px; }
.account-menu { padding-top: 20px; }
main { padding: 28px 44px 64px; max-width: 1460px; }
.page-header { margin-bottom: 32px; }
.page-topline { margin-bottom: 26px; padding-bottom: 18px; border-bottom: 1px solid var(--line); }
.page-topline #date { font-size: 13px; }
.page-topline .quiet-button { padding: 8px 12px; font-size: 13px; border: 1px solid var(--line); border-radius: 8px; }
.page-topline svg { width: 17px; height: 17px; }
#subtitle { font-size: 14px; line-height: 1.6; max-width: 65ch; }
#new-task { min-height: 44px; font-size: 13px; }
#heading:focus:not(:focus-visible) { outline: none; }
#status { z-index: var(--layer-status); border-radius: 10px; }
#recording-banner:not(:empty) { z-index: var(--layer-banner); }
#login {
  max-width: 450px; margin: 12vh auto; padding: 36px;
  border: 1px solid var(--line); border-radius: 18px; background: var(--surface);
}
.login-mark { width: 64px; height: 64px; border-radius: 16px; margin-bottom: 28px; }
#login .eyebrow { margin-bottom: 12px; font-size: 13px; }
#login h1 { font-size: 34px; margin-bottom: 14px; }
#login > p { color: var(--muted); font-size: 15px; line-height: 1.65; }
#login .login-instruction { font-size: 13px; margin-top: 26px; }
#login form { margin: 12px 0 24px; }
#login #enrollment-status { font-size: 12px; padding-top: 20px; margin: 0; border-top: 1px solid var(--line); }
/* The next action earns a distinct surface; supporting lists stay quiet. */
.today-layout { grid-template-columns: minmax(0, 1.75fr) minmax(280px, 1fr); gap: 36px; }
.today-secondary { border-left: 0; padding-left: 0; }
.focus-section { padding: 26px; background: var(--surface); border: 1px solid var(--line); border-radius: 12px; }
.focus-section .section-heading { margin-bottom: 22px; }
.focus-project { margin: 0 0 14px; font-size: 13px; }
.focus-section > h3 { font-size: 28px; font-weight: 600; max-width: 28ch; }
.focus-next { font-size: 15px; line-height: 1.65; }
.focus-actions { gap: 18px; margin-top: 24px; }
.focus-actions .primary { font-size: 13px; }
.priority-label { padding: 4px 9px; border-radius: 5px; background: var(--soft); font-size: 12px; color: var(--ink); }
.section-heading { margin-bottom: 20px; }
.section-heading h2 { font-size: 16px; }
.count { font-size: 12px; }
.task-row { padding: 16px 8px; border-radius: 6px; gap: 12px; }
.task-row:hover { background: color-mix(in srgb, var(--surface) 65%, transparent); }
.task-copy h3, .task-copy h3 button { font-size: 14px; font-weight: 550; line-height: 1.5; }
.task-copy p { font-size: 12px; margin-top: 4px; }
.task-date { font-size: 12px; }
.complete-task { width: 32px; }
.complete-task span { width: 19px; height: 19px; border-radius: 6px; }
.completed-tasks summary { font-size: 13px; }
.goal-preview { grid-template-columns: minmax(0, 1fr) 140px; padding: 16px 0; }
.goal-preview h3 { font-size: 14px; }
.goal-preview .muted { font-size: 11px; }
.goal-preview progress { height: 4px; }
.agenda-section { padding: 0 0 24px; }
.agenda-row { grid-template-columns: 76px minmax(0, 1fr); padding: 10px 0; margin: 0; border-bottom: 1px solid var(--line); }
.agenda-row time { font-size: 12px; font-variant-numeric: tabular-nums; }
.agenda-row h3 { font-size: 14px; font-weight: 500; }
.quick-capture { border: 1px solid var(--line); background: var(--sidebar); padding: 20px; border-radius: 12px; margin-top: 8px; }
.quick-capture textarea { background: var(--surface); font-size: 14px; border-radius: 8px; min-height: 100px; }
.capture-actions button { font-size: 12px; min-height: 40px; }
.capture-mark { display: none; }
.alerts-section { margin-top: 24px; }
.alerts-section h2 { font-size: 14px; }
.source-note { font-size: 12px; max-width: 36ch; }
.alert-row h3 { font-size: 14px; }
.alert-row p, .alert-row small { font-size: 12px; }
/* Collections use a readable list, document or ledger appropriate to their contents. */
.collection-toolbar { padding-bottom: 20px; margin-bottom: 24px; border-bottom: 1px solid var(--line); }
.collection-toolbar > p { margin: 0; font-size: 13px; }
.collection-toolbar .primary { font-size: 13px; }
.task-filters { display: inline-flex; padding: 4px; border: 1px solid var(--line); border-radius: 10px; background: var(--sidebar); gap: 4px; }
.task-filters button { border-color: transparent; background: transparent; font-size: 13px; padding: 8px 14px; }
.task-filters button[aria-pressed=true] { background: var(--surface); border-color: var(--line); color: var(--ink); }
.weekly-tasks { padding: 24px; border: 1px solid var(--line); border-radius: 12px; background: var(--surface); }
.weekly-tasks > h2 { margin-bottom: 24px; }
.task-day { margin-top: 24px; }
.task-day > h3 { font-size: 13px; padding-bottom: 8px; border-bottom: 1px solid var(--line); }
.task-day .task-row:last-child { border-bottom: 0; }
.task-day .task-date { display: none; }
.project-list { background: var(--surface); border: 1px solid var(--line); border-radius: 12px; padding: 0 26px; }
.project-row { padding: 28px 0; border-top: 0; border-bottom: 1px solid var(--line); gap: 32px; }
.project-row:last-child { border-bottom: 0; }
.project-row h2 { font-size: 22px; font-weight: 600; }
.project-row p { font-size: 14px; }
.project-row .eyebrow, .project-row .muted { font-size: 12px; }
.horizon > h2 { font-size: 14px; color: var(--muted); }
.objective-row { padding: 26px; background: var(--surface); border: 1px solid var(--line); border-radius: 12px; margin-top: 12px; gap: 32px; }
.objective-copy h3 { font-size: 24px; font-weight: 600; }
.objective-copy p { font-size: 14px; line-height: 1.65; }
.objective-progress .muted { font-size: 12px; }
.objective-progress progress { height: 5px; }
.note-grid { gap: 20px; align-items: start; }
.note-sheet { padding: 24px; min-height: 210px; border-radius: 12px; background: var(--surface); border: 1px solid var(--line); }
.note-sheet .section-heading { align-items: start; gap: 16px; margin-bottom: 20px; }
.note-sheet h2 { font-size: 18px; font-weight: 600; }
.note-sheet p { font-size: 14px; line-height: 1.8; color: var(--ink); }
.collection-empty { padding: 40px 0; max-width: 60ch; }
.collection-empty h2 { font-size: 26px; font-weight: 550; }
.collection-empty p { font-size: 15px; line-height: 1.7; max-width: 54ch; }
.search-box { max-width: 580px; font-size: 13px; }
.form-feedback:not(:empty), .load-error { border: 1px solid var(--line); border-radius: 8px; padding: 14px; }
:is(#task-dialog, .record-dialog) { border-radius: 16px; padding: 30px; box-shadow: var(--shadow-dialog); }
:is(#task-dialog, .record-dialog)::backdrop { background: #29271f66; }
:is(#task-dialog, .record-dialog) h2 { padding-right: 32px; font-size: 22px; margin-bottom: 24px; }
:is(#task-dialog, .record-dialog) form { gap: 16px; }
:is(#task-dialog, .record-dialog) input, :is(#task-dialog, .record-dialog) select { min-height: 44px; font-size: 15px; padding: 10px 12px; }
:is(#task-dialog, .record-dialog) form label { font-size: 13px; }
@media (min-width: 1600px) { main { padding-left: 64px; padding-right: 64px; } .today-layout { gap: 48px; } }
@media (max-width: 1100px) {
  #shell { grid-template-columns: 208px minmax(0, 1fr); }
  main { padding: 26px 28px 64px; }
  .sidebar { padding-left: 12px; padding-right: 12px; }
  .today-layout { grid-template-columns: minmax(0, 1.4fr) minmax(245px, 1fr); gap: 24px; }
  .focus-section { padding: 22px; }
  .focus-section > h3 { font-size: 25px; }
}
@media (max-width: 900px) and (min-width: 761px) {
  .today-layout { grid-template-columns: minmax(0, 1fr); }
  .today-secondary { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
  .quick-capture { margin-top: 0; }
  .alerts-section { grid-column: 1 / -1; }
}
@media (max-width: 760px) {
  #shell { display: block; }
  .sidebar { padding: 14px 20px; position: relative; height: auto; background: var(--bg); z-index: var(--layer-nav); }
  .sidebar-brand { margin: 0; padding: 0; }
  .brand-mark { width: 32px; height: 32px; border-radius: 8px; }
  .brand-copy { font-size: 14px; }
  .brand-copy small { font-size: 11px; }
  #menu-toggle { min-height: 44px; padding: 8px 12px; font-size: 13px; }
  main { padding: 20px 20px 108px; }
  .page-topline { margin-bottom: 22px; padding-bottom: 12px; }
  .page-topline #date { font-size: 12px; }
  .page-topline .quiet-button { padding: 8px; }
  .page-topline .quiet-button svg { width: 18px; }
  .page-header { margin-bottom: 26px; }
  h1 { font-size: 28px; }
  #subtitle { font-size: 13px; }
  .heading-row { align-items: flex-start; }
  #new-task { padding: 9px 11px; min-height: 44px; font-size: 12px; white-space: nowrap; }
  .today-layout { grid-template-columns: minmax(0, 1fr); gap: 26px; }
  .today-primary, .today-secondary { display: contents; }
  .focus-section { padding: 20px; }
  .focus-section > h3 { font-size: 25px; }
  .focus-next { font-size: 14px; }
  .priority-label { font-size: 11px; }
  .focus-actions { gap: 14px; }
  .focus-actions .primary { font-size: 12px; }
  .pending-section { padding-top: 0; }
  .quick-capture { margin: 0; padding: 18px; }
  .quick-capture textarea { min-height: 80px; }
  .agenda-section { padding: 22px 0; }
  .agenda-empty { display: block; }
  .agenda-empty > p { margin-bottom: 12px; }
  .agenda-empty > span { font-size: 13px; max-width: 38ch; }
  .task-row { padding: 14px 0; gap: 10px; }
  .task-copy h3 { max-width: none; }
  .task-copy h3 button { font-size: 14px; }
  .task-copy p { font-size: 12px; }
  .task-date { font-size: 11px; }
  .goal-preview { grid-template-columns: minmax(0, 1fr) 115px; }
  .goal-preview h3 { font-size: 13px; }
  .source-note { max-width: none; }
  .weekly-tasks { padding: 18px; }
  .collection-toolbar { align-items: center; padding-bottom: 18px; margin-bottom: 20px; }
  .collection-toolbar .primary { font-size: 12px; padding: 9px 12px; }
  .task-filters { display: flex; width: 100%; }
  .task-filters button { flex: 1; font-size: 12px; padding: 8px 6px; }
  .project-list { padding: 0 20px; }
  .project-row { padding: 24px 0; gap: 18px; }
  .objective-row { padding: 20px; gap: 20px; }
  .objective-copy h3 { font-size: 22px; }
  .objective-progress { column-gap: 14px; }
  .objective-progress .muted { font-size: 11px; }
  .note-sheet { padding: 20px; min-height: 180px; }
  .section-heading h2 { font-size: 15px; }
  .mobile-tabs { padding: 6px 6px max(8px, env(safe-area-inset-bottom)); z-index: var(--layer-tabs); }
  .mobile-tabs button { min-width: 0; flex: 1; min-height: 50px; padding: 5px 3px; font-size: 11px; gap: 4px; border-radius: 8px; }
  .mobile-tabs svg { width: 19px; height: 19px; }
  .mobile-tabs [aria-current=page] { background: var(--soft); color: var(--ink); }
  #login { margin: 8vh 20px; padding: 28px; }
  #login h1 { font-size: 30px; }
  :is(#task-dialog, .record-dialog) { padding: 24px; }
}

/* Feature details: clear states, aligned tools and quieter secondary actions. */
.finance-overview { padding: 24px; border: 1px solid var(--line); border-radius: 12px; background: var(--surface); }
.finance-overview .section-heading { margin-bottom: 24px; }
.currency-grid { gap: 0; }
.currency-summary { padding: 0 24px 0 0; }
.currency-summary + .currency-summary { padding: 0 24px; }
.currency-summary:last-child { padding-right: 0; }
.currency-summary h3 { font-size: 14px; margin: 0; }
.currency-summary .tag { font-size: 11px; }
.currency-summary .balance { font-size: 28px; font-weight: 550; margin: 16px 0; }
.currency-summary .projection { margin-top: 8px; }
.currency-summary .projection span { font-size: 12px; }
.currency-summary .projection strong { font-size: 15px; }
.currency-summary > p.muted { font-size: 12px; margin-bottom: 0; }
.source-line { font-size: 12px; margin: 20px 0 0; }
.finance-evidence { font-size: 13px; border-bottom: 1px solid var(--line); padding-bottom: 12px; }
.finance-evidence summary { min-height: 44px; }
.finance-evidence p { max-width: 75ch; line-height: 1.7; }
.finance-tabs { gap: 6px; margin: 24px 0; padding: 4px; border: 1px solid var(--line); border-radius: 10px; background: var(--sidebar); overflow-x: auto; }
.finance-tabs button { border: 1px solid transparent; border-radius: 7px; padding: 8px 12px; font-size: 13px; min-height: 44px; background: transparent; color: var(--muted); white-space: nowrap; }
.finance-tabs button[aria-pressed=true] { background: var(--surface); border-color: var(--line); color: var(--ink); }
.finance-ledger { min-width: 0; }
.finance-ledger .scroll { margin-right: 0; padding-right: 0; border: 1px solid var(--line); border-radius: 10px; background: var(--surface); }
.finance-table th { font-size: 12px; font-weight: 550; background: var(--sidebar); }
.finance-table td, .finance-table th { padding: 16px; }
.finance-table td:last-child, .finance-table th:last-child { padding-right: 16px; }
.finance-table tbody tr:last-child td { border-bottom: 0; }
.finance-table tbody tr:hover { background: color-mix(in srgb, var(--sidebar) 40%, var(--surface)); }
.finance-table strong { font-size: 14px; }
.finance-table .table-detail, .finance-table .currency-cell { font-size: 12px; }
.finance-table .numeric { font-size: 14px; }
.finance-table .outflow { color: var(--danger); }
.ledger-tools { margin-top: 20px; gap: 16px; }
.ledger-tools details { font-size: 13px; }
.ledger-tools > .text-button { font-size: 13px; }
.audio-layout { grid-template-columns: minmax(280px, .85fr) minmax(0, 1.5fr); gap: 32px; align-items: start; }
.audio-capture { padding: 26px; border: 1px solid var(--line); background: var(--surface); border-radius: 12px; }
.audio-capture-icon { padding: 12px; width: 48px; height: 48px; border-radius: 12px; background: var(--primary); color: var(--on-primary); }
.audio-capture > h2 { font-size: 25px; font-weight: 600; margin: 18px 0 14px; }
.audio-capture > .muted { font-size: 14px; line-height: 1.7; }
.audio-capture .actions { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin: 24px 0; }
.audio-capture .actions button { font-size: 12px; min-height: 44px; }
.audio-capture .actions .primary { grid-column: 1 / -1; font-size: 14px; }
.audio-file-form { padding-top: 22px; }
.audio-file-form input { font-size: 12px; }
#audio-draft p { font-size: 13px; }
.audio-privacy, .audio-privacy p { font-size: 12px; line-height: 1.7; }
.audio-library-filters { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(160px, 1fr); gap: 16px; margin-bottom: 24px; }
.audio-library-filters .search-box, .audio-library-filters .audio-filter { margin: 0; max-width: none; }
.audio-library .section-heading { gap: 12px; }
.audio-library .section-heading .count { margin-left: 0; margin-right: auto; }
.audio-library .item { padding: 26px 0; }
.audio-item-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; margin-bottom: 12px; }
.audio-item-heading h3 { margin: 0; font-size: 18px; font-weight: 600; }
.audio-library .tag { color: var(--ink); font-size: 12px; border-radius: 6px; margin: 0; padding: 4px 8px; white-space: normal; }
.audio-library .item > p { font-size: 13px; }
.audio-library audio { border-radius: 8px; margin: 18px 0; }
.audio-file-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 8px 16px; margin-bottom: 12px; }
.audio-file-actions a { display: inline-flex; align-items: center; min-height: 44px; font-size: 13px; }
.audio-file-actions button { font-size: 12px; }
.danger-button { color: var(--danger); border-color: transparent; background: transparent; padding: 8px 0; font-size: 12px; }
.danger-button:hover { background: transparent; text-decoration: underline; text-underline-offset: 3px; }
.audio-review { margin-top: 24px; padding-top: 24px; border-top: 1px solid var(--line); }
.audio-review textarea { font-size: 14px; line-height: 1.7; min-height: 130px; }
.audio-library details { font-size: 13px; line-height: 1.7; }
.audio-actions-title { font-size: 14px; font-weight: 600; margin: 24px 0 12px; }
.audio-proposal { padding: 16px; border: 1px solid var(--line); background: var(--sidebar); border-radius: 10px; margin-bottom: 12px; }
.audio-proposal p { font-size: 14px; margin: 0 0 12px; }
.calendar-view-controls { padding: 4px; background: var(--sidebar); border: 1px solid var(--line); border-radius: 10px; }
.calendar-view-controls > button { border-color: transparent; border-radius: 7px; background: transparent; font-size: 13px; }
.calendar-view-controls > button[aria-pressed=true] { background: var(--surface); border-color: var(--line); color: var(--ink); }
.calendar-view-label, .calendar-range-note { font-size: 12px; }
.calendar-navigation h2 { font-size: 23px; font-weight: 600; }
.calendar-date-controls { gap: 6px; }
.calendar-viewport { border-radius: 12px; }
.calendar-day-heading > span { font-size: 12px; }
.calendar-month-weekdays { font-size: 12px; background: var(--sidebar); border: 1px solid var(--line); border-bottom: 0; border-radius: 10px 10px 0 0; }
.calendar-month-grid { border-radius: 0 0 10px 10px; overflow: hidden; }
.calendar-month-date { font-size: 13px; }
.calendar-month-event { font-size: 12px; border-radius: 5px; }
.calendar-month-event:hover { background: var(--soft); }
.calendar-month-event > span { font-size: 10px; }
.calendar-config { padding: 16px 20px; background: var(--surface); border: 1px solid var(--line); border-radius: 10px; }
.calendar-config > summary { font-weight: 550; padding: 4px 0; }
.integration-settings { max-width: 940px; gap: 28px; }
.settings-shortcuts { display: flex; gap: 8px; flex-wrap: wrap; }
.settings-shortcuts button { background: transparent; font-size: 13px; padding: 9px 16px; }
.settings-section { padding: 28px; border-radius: 12px; scroll-margin-top: 28px; }
.settings-section-heading { display: flex; justify-content: space-between; align-items: center; gap: 18px; margin-bottom: 22px; }
.settings-section-heading > div { display: flex; align-items: center; gap: 12px; min-width: 0; }
.settings-section-heading h2 { margin: 0; font-size: 20px; font-weight: 600; }
.settings-provider-icon { display: grid; place-items: center; flex-shrink: 0; width: 38px; height: 38px; padding: 9px; background: var(--sidebar); border: 1px solid var(--line); border-radius: 9px; font-size: 13px; font-weight: 650; }
.settings-state { font-size: 12px; padding: 5px 10px; background: var(--soft); border-radius: 6px; white-space: nowrap; }
.settings-section > p, .settings-section details > p { font-size: 14px; line-height: 1.75; max-width: 72ch; }
.settings-section .muted { font-size: 12px; }
.settings-budget { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); margin: 24px 0 10px; padding: 20px 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); gap: 16px; }
.settings-budget dt { color: var(--muted); font-size: 12px; margin-bottom: 8px; }
.settings-budget dd { margin: 0; font-size: 19px; font-weight: 550; font-variant-numeric: tabular-nums; }
.settings-advanced { border-top: 1px solid var(--line); padding-top: 12px; margin-top: 24px; }
.settings-advanced > summary { font-size: 14px; min-height: 44px; font-weight: 550; }
.integration-settings form { gap: 16px; margin: 20px 0; }
.integration-settings form > button { justify-self: start; padding-left: 18px; padding-right: 18px; }
.integration-settings label:has(input[type=checkbox]) { display: flex; gap: 12px; align-items: start; font-weight: 400; line-height: 1.7; }
.integration-settings input[type=checkbox] { width: 18px; height: 18px; min-height: 18px; flex-shrink: 0; margin: 2px 0 0; }
#ai-activate-form { padding: 22px; background: var(--sidebar); border: 1px solid var(--line); border-radius: 10px; }
#ai-activate-form h3 { font-size: 16px; margin: 0; }
#ai-activate-form p { font-size: 13px; line-height: 1.7; margin: 0; }
.settings-section .item { font-size: 13px; }
.settings-section .item > p:first-child { font-weight: 550; font-size: 14px; }
.grant-permissions { margin-top: 8px; font-size: 12px; }
.settings-section code { display: inline; font-size: 13px; padding: 3px 6px; border-radius: 5px; background: var(--sidebar); }
.activity-row { grid-template-columns: 160px minmax(0, 1fr); gap: 28px; padding: 20px 0; }
.activity-row time, .activity-row details { font-size: 12px; }
.activity-row p { font-size: 14px; }
@media (max-width: 1100px) {
  .audio-layout { grid-template-columns: minmax(260px, .9fr) minmax(0, 1.2fr); gap: 24px; }
  .audio-item-heading { flex-direction: column; gap: 8px; }
  .audio-library-filters { grid-template-columns: minmax(0, 1fr); gap: 12px; }
  .currency-summary .balance { font-size: 24px; }
  .currency-summary, .currency-summary + .currency-summary { padding-left: 16px; padding-right: 16px; }
  .currency-summary:first-child { padding-left: 0; }
  .currency-summary:last-child { padding-right: 0; }
}
@media (max-width: 900px) and (min-width: 761px) {
  .audio-layout { grid-template-columns: minmax(0, 1fr); }
  .audio-library-filters { grid-template-columns: minmax(0, 1.5fr) minmax(160px, 1fr); }
  .currency-grid { grid-template-columns: minmax(0, 1fr); }
  .currency-summary, .currency-summary + .currency-summary { padding: 20px 0; border-left: 0; border-bottom: 1px solid var(--line); }
  .currency-summary:last-child { border-bottom: 0; }
}
@media (max-width: 760px) {
  .finance-overview { padding: 18px; }
  .finance-overview .section-heading { gap: 12px; margin-bottom: 14px; }
  .finance-overview .section-heading > span { font-size: 11px; }
  .currency-summary, .currency-summary + .currency-summary { padding: 16px 0; }
  .currency-summary .balance { font-size: 22px; margin: 0; }
  .currency-summary .tag { font-size: 11px; }
  .currency-summary .projection { margin-top: 10px; }
  .currency-summary .projection span { font-size: 12px; }
  .currency-summary .projection strong { font-size: 13px; }
  .source-line { font-size: 11px; margin-top: 16px; }
  .finance-tabs { gap: 4px; padding: 4px; margin: 20px 0; }
  .finance-tabs button { font-size: 12px; padding: 8px 10px; }
  .finance-ledger .section-heading .primary { font-size: 12px; min-height: 44px; }
  .finance-table td, .finance-table th { padding: 12px; }
  .finance-table td:last-child, .finance-table th:last-child { padding-right: 12px; }
  .finance-table strong { font-size: 13px; }
  .finance-table .numeric { font-size: 13px; }
  .finance-table td:last-child button, .finance-table .table-date { font-size: 12px; }
  .audio-layout { grid-template-columns: minmax(0, 1fr); gap: 28px; }
  .audio-capture { padding: 22px; }
  .audio-library-filters { grid-template-columns: minmax(0, 1fr); }
  .audio-item-heading h3 { font-size: 18px; }
  .audio-file-actions { gap: 8px 12px; }
  .audio-file-actions button { width: 100%; }
  .calendar-navigation h2 { font-size: 21px; }
  .calendar-month-weekdays { font-size: 11px; }
  .calendar-month-count span { font-size: 10px; }
  .calendar-config { padding: 16px; }
  .settings-section { padding: 20px; }
  .settings-section-heading { align-items: flex-start; gap: 12px; }
  .settings-section-heading h2 { font-size: 18px; }
  .settings-section-heading > div { gap: 10px; }
  .settings-provider-icon { width: 32px; height: 32px; padding: 7px; }
  .settings-state { font-size: 11px; padding: 4px 8px; white-space: normal; }
  .settings-budget { gap: 12px; }
  .settings-budget dt { font-size: 11px; }
  .settings-budget dd { font-size: 16px; }
  .integration-settings form > button { justify-self: stretch; }
  #ai-activate-form { padding: 16px; }
  .activity-row { grid-template-columns: minmax(0, 1fr); gap: 6px; }
}

/* Final fit: dialog fields, compact screens and clear selected states. */
:is(#task-dialog, .record-dialog) { width: min(560px, calc(100% - 24px)); }
#editor { grid-template-columns: repeat(2, minmax(0, 1fr)); }
#editor > label { min-width: 0; }
#editor > label:has([name=title]), #editor > label:has(textarea),
#editor > label:has([name=parentId]), #editor > label:has([name=nextAction]),
#editor > label:has([name=referenceId]), #editor > label:has([name=commitment]),
#editor > p, #editor > button { grid-column: 1 / -1; }
input, select, textarea { min-width: 0; }
.finance-tabs button[aria-pressed=true] { box-shadow: none; border-bottom: 1px solid var(--line); }
.calendar-event { border-radius: 6px; }
.calendar-event-source { font-size: 11px; }
.calendar-month-more { min-height: 36px; }
@media (max-width: 760px) {
  .collection-toolbar > p { max-width: 52%; line-height: 1.6; }
  .calendar-view-controls { width: max-content; }
  .calendar-view-controls > button { min-width: 68px; }
  .audio-library .section-heading button { font-size: 12px; padding: 8px 12px; }
  .settings-budget { grid-template-columns: minmax(0, 1fr); gap: 12px; padding: 18px 0; }
  .settings-budget > div { display: flex; justify-content: space-between; align-items: baseline; gap: 16px; }
  .settings-budget dt { margin-bottom: 0; font-size: 12px; }
  .settings-budget dd { font-size: 16px; white-space: nowrap; }
  .settings-shortcuts { gap: 6px; }
  .settings-shortcuts button { flex: 1; padding: 8px 10px; font-size: 12px; }
}
@media (max-width: 400px) {
  #editor { grid-template-columns: minmax(0, 1fr); }
  .focus-section .section-heading { align-items: flex-start; gap: 12px; }
  .focus-section .section-heading h2 { max-width: 15ch; }
  .focus-actions { flex-wrap: wrap; gap: 8px 16px; }
  .goal-preview { grid-template-columns: minmax(0, 1fr); gap: 8px; }
  .goal-preview h3 { grid-row: auto; }
  .goal-preview .muted { margin: 0; text-align: left; }
  .goal-preview progress { width: 100%; }
  .finance-overview .section-heading { align-items: flex-start; }
  .finance-overview .section-heading h2 { max-width: 15ch; }
  .currency-summary .balance { font-size: 20px; }
  .finance-ledger .section-heading { flex-wrap: wrap; }
  .finance-table td, .finance-table th { padding: 12px 10px; }
  .finance-table td:last-child, .finance-table th:last-child { padding-right: 10px; }
  .settings-section-heading { flex-wrap: wrap; }
  .settings-section-heading h2 { font-size: 17px; }
}

/* Agenda: dates and events first; account controls stay in the options menu. */
body[data-current-view=calendar] .page-header { margin-bottom: 24px; }
#page-tools { flex-shrink: 0; }
.calendar-toolbar { display: flex; align-items: center; gap: 8px; }
.calendar-toolbar > button { min-height: 44px; }
#new-local-event { display: inline-flex; align-items: center; gap: 6px; padding: 9px 14px; }
#new-local-event > span { font-size: 20px; font-weight: 400; line-height: 1; }
#calendar-menu-toggle { display: grid; place-items: center; width: 44px; padding: 0; background: transparent; }
.calendar-actions-menu { position: fixed; inset: auto; margin: 0; padding: 10px; width: 288px; max-width: calc(100vw - 24px); max-height: calc(100dvh - 180px); overflow-y: auto; border: 1px solid var(--line); border-radius: 12px; background: var(--surface); color: var(--ink); box-shadow: 0 10px 32px #29271f1a; }
.calendar-actions-menu::backdrop { background: transparent; }
.calendar-actions-menu > button, .calendar-menu-connections > button { display: block; width: 100%; text-align: left; min-height: 44px; background: transparent; border-color: transparent; padding: 10px 12px; font-weight: 500; }
.calendar-actions-menu button:hover { background: var(--sidebar); }
.calendar-menu-label { color: var(--muted); font-size: 11px; font-weight: 600; margin: 8px 12px 4px; }
.calendar-actions-menu .calendar-date-picker { padding: 8px 12px 12px; width: 100%; font-size: 12px; }
.calendar-actions-menu .calendar-date-picker input { width: 100%; max-width: none; }
.calendar-menu-connections { padding-top: 4px; border-top: 1px solid var(--line); }
.calendar-schedule { margin-top: 0; }
.calendar-navigation { display: grid; grid-template-columns: minmax(0, 1fr) auto auto; gap: 16px; align-items: center; margin-bottom: 18px; }
.calendar-navigation h2 { margin: 0; line-height: 1.3; text-transform: none; }
.calendar-period-short { display: none; }
.calendar-date-controls { display: flex; flex-wrap: nowrap; margin: 0; gap: 4px; }
.calendar-date-controls > button { display: grid; place-items: center; min-height: 44px; min-width: 44px; padding: 8px 12px; background: transparent; }
.calendar-date-controls > button:is(#calendar-previous, #calendar-next) { padding: 0; width: 44px; border-color: transparent; }
.calendar-view-controls { margin: 0; }
.calendar-month-dots { display: none; }
.calendar-day-number { display: grid; place-items: center; width: 32px; height: 32px; border-radius: 50%; }
.calendar-month-cell.is-today .calendar-month-date { background: transparent; color: var(--ink); border-radius: 0; }
.calendar-month-cell.is-today .calendar-day-number { background: var(--primary); color: var(--on-primary); }
.calendar-month-weekdays { margin-top: 0; }
.calendar-selected-day { display: none; }
.calendar-sync-status { display: flex; justify-content: space-between; flex-wrap: wrap; gap: 4px 20px; margin: 18px 0 0; color: var(--muted); font-size: 12px; }
.calendar-sync-status p { margin: 0; }
.calendar-sync-status > span { font-size: 11px; }
.calendar-follow-up { margin: 20px 0; }
.calendar-drafts { padding: 16px 0; border-top: 1px solid var(--line); }
.calendar-drafts > summary { cursor: pointer; min-height: 44px; font-size: 14px; font-weight: 600; }
.calendar-drafts > summary .count { font-size: 12px; margin-left: 6px; }
.calendar-config { scroll-margin-top: 20px; }
@media (max-width: 1100px) and (min-width: 761px) {
 .calendar-navigation { grid-template-columns: minmax(0, 1fr) auto; }
 .calendar-view-controls { grid-column: 1 / -1; justify-self: start; }
}
@media (max-width: 760px) {
 body[data-current-view=calendar] main { padding: 12px 16px 108px; }
 body[data-current-view=calendar] .page-topline, body[data-current-view=calendar] #subtitle { display: none; }
 body[data-current-view=calendar] .page-header { margin-bottom: 12px; }
 body[data-current-view=calendar] .heading-row { align-items: center; gap: 12px; }
 body[data-current-view=calendar] h1 { margin: 0; font-size: 28px; }
 .calendar-toolbar { gap: 6px; }
 #new-local-event { padding: 8px 12px; font-size: 13px; }
 .calendar-navigation { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 12px 6px; margin-bottom: 14px; }
 .calendar-navigation h2 { font-size: 20px; letter-spacing: -.025em; }
 .calendar-period-long { display: none; }
 .calendar-period-short { display: inline; }
 .calendar-date-controls { gap: 2px; }
 .calendar-date-controls > button { padding: 8px; font-size: 12px; }
 .calendar-view-controls { grid-column: 1 / -1; width: 100%; padding: 3px; border-radius: 10px; }
 .calendar-view-controls > button { flex: 1; min-width: 0; min-height: 44px; padding: 7px; font-size: 13px; }
 .calendar-month-sheet { padding: 10px 4px 8px; border: 1px solid var(--line); border-radius: 14px; background: var(--surface); }
 .calendar-month-weekdays { padding: 8px 0 10px; border: 0; border-radius: 0; background: transparent; font-size: 11px; }
 .calendar-month-grid { border: 0; border-radius: 0; background: transparent; overflow: visible; }
 .calendar-month-cell, .calendar-month-cell.is-outside-month { min-height: 52px; padding: 0; border: 0; background: transparent; }
 .calendar-month-date { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 5px; width: 100%; min-height: 52px; padding: 3px 0; border-radius: 8px; font-size: 14px; font-weight: 500; }
 .calendar-month-date:hover { background: var(--sidebar); }
 .calendar-month-cell.is-outside-month .calendar-month-date { color: var(--muted); }
 .calendar-month-cell.is-today .calendar-day-number { background: transparent; color: var(--accent); border: 1px solid var(--accent); }
 .calendar-month-cell.is-selected .calendar-day-number { color: var(--on-primary); background: var(--primary); border: 1px solid var(--primary); }
 .calendar-month-cell.is-selected .calendar-month-date { background: transparent; }
 .calendar-month-dots { display: flex; justify-content: center; gap: 3px; height: 4px; }
 .calendar-month-dots i { display: block; width: 4px; height: 4px; border-radius: 50%; background: var(--accent); }
 .calendar-selected-day { display: block; padding-top: 22px; }
 .calendar-selected-heading { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; margin-bottom: 16px; }
 .calendar-selected-heading h3 { font-size: 17px; font-weight: 600; letter-spacing: -.02em; margin: 0; }
 .calendar-selected-heading > span { color: var(--muted); font-size: 12px; white-space: nowrap; }
 .calendar-day-event-group { margin-bottom: 18px; }
 .calendar-day-event-group h4 { font-size: 11px; font-weight: 500; color: var(--muted); margin: 0 0 4px; }
 .calendar-day-event-row { display: grid; grid-template-columns: 64px minmax(0, 1fr) 16px; align-items: start; gap: 12px; width: 100%; min-height: 64px; padding: 12px 0; border: 0; border-radius: 0; border-bottom: 1px solid var(--line); background: transparent; text-align: left; }
 .calendar-day-event-row:last-child { border-bottom: 0; }
 .calendar-day-event-row:hover { background: var(--sidebar); }
 .calendar-day-event-time { display: grid; gap: 3px; font-size: 12px; font-variant-numeric: tabular-nums; }
 .calendar-day-event-time strong { font-size: 14px; font-weight: 550; }
 .calendar-day-event-time span { color: var(--muted); font-weight: 400; }
 .calendar-day-event-copy { display: grid; gap: 4px; min-width: 0; }
 .calendar-day-event-copy > strong { font-size: 14px; font-weight: 550; line-height: 1.45; overflow-wrap: anywhere; }
 .calendar-day-event-copy > span { font-size: 11px; color: var(--muted); font-weight: 400; overflow-wrap: anywhere; }
 .calendar-day-event-row > svg { width: 16px; height: 16px; color: var(--muted); margin-top: 3px; }
 .calendar-day-empty { font-size: 13px; color: var(--muted); padding: 8px 0; margin: 0; }
 .calendar-open-day { min-height: 44px; font-size: 12px; }
 .calendar-viewport { min-height: 300px; height: calc(100dvh - 320px); max-height: 620px; }
 .calendar-timeline-summary { margin-bottom: 10px; }
 .calendar-sync-status { display: grid; margin-top: 16px; font-size: 11px; }
 .calendar-follow-up { margin-top: 20px; }
 .calendar-actions-menu { max-height: calc(100dvh - 148px); }
 body[data-current-view=calendar] :is(input, select, textarea) { font-size: 16px; }
}
@media (max-width: 360px) {
 .calendar-navigation h2 { font-size: 17px; }
 .calendar-day-event-row { grid-template-columns: 56px minmax(0, 1fr) 14px; gap: 10px; }
}

/* Weekly density: labels, grid, events and current time share one scale. */
.calendar-viewport { --calendar-hour-height: 84px; }
.calendar-viewport[data-mode="week"] { --calendar-hour-height: 60px; }
.calendar-hours-grid { height: calc(var(--calendar-hour-height) * 24.5); }
.calendar-day-track { background: repeating-linear-gradient(to bottom, transparent 0, transparent calc(var(--calendar-hour-height) / 2 - 1px), color-mix(in srgb, var(--line) 50%, transparent) calc(var(--calendar-hour-height) / 2 - 1px), color-mix(in srgb, var(--line) 50%, transparent) calc(var(--calendar-hour-height) / 2), transparent calc(var(--calendar-hour-height) / 2), transparent calc(var(--calendar-hour-height) - 1px), var(--line) calc(var(--calendar-hour-height) - 1px), var(--line) var(--calendar-hour-height)); }
.calendar-viewport[data-mode="week"] .calendar-event:not(.calendar-all-day-event) { padding: 3px 5px; gap: 1px; }
.calendar-viewport[data-mode="week"] .calendar-event:not(.calendar-all-day-event) strong { line-height: 13px; -webkit-line-clamp: 2; }
.calendar-viewport[data-mode="week"] .calendar-event:not(.calendar-all-day-event) .calendar-event-time { line-height: 10px; }
.calendar-viewport[data-mode="week"] .calendar-event:not(.calendar-all-day-event) .calendar-event-source { line-height: 11px; }
.calendar-viewport[data-mode="week"] .calendar-event.is-short { padding: 2px 4px; gap: 1px; }
.calendar-viewport[data-mode="week"] .calendar-event.is-short strong { line-height: 13px; -webkit-line-clamp: 1; }
.calendar-viewport[data-mode="week"] .calendar-event.is-short .calendar-event-time { line-height: 10px; }
.calendar-viewport[data-mode="week"] .calendar-event.is-short .calendar-event-source { display: none; }

/* Keep the first visible daytime hour legible below the sticky day headings. */
.calendar-hours>span { transform: translateY(2px); }
#event-create-dialog { width: min(560px, calc(100vw - 24px)); padding: 28px; }
.event-composer-heading { padding: 0 24px 18px 0; border-bottom: 1px solid var(--line); margin-bottom: 20px; }
.event-composer-heading .eyebrow { font-size: 10px; letter-spacing: .12em; margin: 0 0 8px; color: var(--muted); }
#event-create-dialog .event-composer-heading h2 { margin: 0 0 8px; font-size: 26px; letter-spacing: -.025em; }
.event-composer-heading > p:last-child { color: var(--muted); margin: 0; font-size: 13px; }
.event-create-fields { display: grid; gap: 14px; padding: 0; border: 0; margin: 0; min-width: 0; }
.event-destination { padding: 16px; background: var(--soft); border: 1px solid var(--line); border-radius: 10px; margin-bottom: 4px; }
.event-destination label { margin: 0; }
.event-destination p { font-size: 12px; margin: 10px 0 0; line-height: 1.5; }
.event-destination select { width: 100%; min-width: 0; text-overflow: ellipsis; background: var(--surface); }
.event-destination button { margin-top: 8px; text-align: left; }
.event-date-fields { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 14px; }
#event-create-dialog .event-all-day { margin: 0; align-items: center; }
.event-composer textarea { min-height: 72px; }
.event-composer .event-advanced { margin: 0; }
.event-composer .event-advanced summary { min-height: 44px; display: flex; align-items: center; font-size: 12px; cursor: pointer; }
.event-composer .event-advanced summary::before { content: '+'; margin-right: 8px; }
.event-composer .event-advanced[open] summary::before { content: '−'; }
.event-composer .event-advanced label { font-size: 12px; }
.event-composer-footer { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding-top: 16px; margin-top: 8px; border-top: 1px solid var(--line); }
.event-composer-footer > span { font-size: 11px; overflow-wrap: anywhere; }
.event-composer-footer button { flex-shrink: 0; }
#event-create-feedback:empty { display: none; }
#event-create-feedback { margin: 12px 0; }
@media(max-width: 600px) {
 #event-create-dialog { padding: 22px 18px; max-height: calc(100dvh - 24px); }
 .event-composer-heading { padding-bottom: 16px; margin-bottom: 16px; }
 .event-destination { padding: 12px; margin-bottom: 2px; }
 .event-date-fields { grid-template-columns: minmax(0,1fr); gap: 14px; }
 .event-composer-footer { align-items: stretch; flex-direction: column; gap: 8px; }
 .event-composer-footer > span { text-align: center; }
 .event-composer-footer button { width: 100%; }
}

#event-create-dialog { max-height: calc(100dvh - 24px); overflow: hidden; }
#event-create-dialog[open] { display: flex; flex-direction: column; }
#event-create-dialog .event-composer-heading { flex-shrink: 0; margin-bottom: 12px; }
#event-create-form { display: flex; flex-direction: column; min-height: 0; gap: 0; overflow: hidden; }
.event-composer-body { overflow-y: auto; min-height: 0; padding: 6px; margin: 0 -6px; overscroll-behavior: contain; }
.event-composer-footer { flex-shrink: 0; }
.event-source-context{border-left:3px solid var(--accent);padding:2px 0 2px 12px;margin-bottom:20px;overflow-wrap:anywhere}.event-source-context strong{font-size:14px}.event-source-context p{font-size:12px;color:var(--muted);margin:6px 0;line-height:1.5}

.whatsapp-audio{margin-block:1.5rem;padding:1.25rem;border:1px solid var(--border,#dcd6ca);border-radius:16px}.whatsapp-audio .item{padding-block:1rem}.whatsapp-transcript-text{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.65}.whatsapp-audio h3{overflow-wrap:anywhere}.whatsapp-audio details{margin-block:.75rem}
