/* Workbench: quiet operational surfaces built on the Library design system. */
@view-transition{navigation:auto}
@keyframes workbench-page-out{to{opacity:0}}
@keyframes workbench-page-in{from{opacity:0}to{opacity:1}}
@keyframes workbench-panel-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
@keyframes workbench-panel-out{to{opacity:0;transform:translateY(-4px)}}
@keyframes workbench-overlay-in{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}
@keyframes workbench-backdrop-in{from{opacity:0}to{opacity:1}}
::view-transition-old(root){animation:120ms ease-out both workbench-page-out;mix-blend-mode:normal}
::view-transition-new(root){animation:220ms cubic-bezier(.2,.75,.25,1) both workbench-page-in;mix-blend-mode:normal}
html.workbench-local-transition{view-transition-name:none}
.workbench-transition-surface{view-transition-name:workbench-surface}
::view-transition-group(workbench-surface){animation-duration:260ms;animation-timing-function:cubic-bezier(.2,.75,.25,1)}
::view-transition-old(workbench-surface){animation:150ms ease-out both workbench-panel-out;mix-blend-mode:normal}
::view-transition-new(workbench-surface){animation:240ms cubic-bezier(.2,.75,.25,1) both workbench-panel-in;mix-blend-mode:normal}
.workbench-frame{width:calc(100% - 1rem);max-width:none;margin:0 auto;padding:1.8rem 0 4rem}
.workbench-header{display:flex;align-items:flex-end;justify-content:space-between;gap:2rem;padding:.6rem 0 1.25rem}
.workbench-eyebrow{color:var(--teal);font-family:var(--mono);font-size:.62rem;letter-spacing:.12em;text-transform:uppercase}
.workbench-header h1{margin-top:.45rem;font-family:var(--serif);font-size:clamp(2.05rem,3.4vw,3.15rem);font-weight:600;line-height:1.04}
.workbench-header p{max-width:68ch;margin-top:.65rem;color:var(--ink3);font-size:.88rem}
.workbench-local-status{display:flex;align-items:center;gap:.5rem;color:var(--ink3);font-family:var(--mono);font-size:.64rem;white-space:nowrap}
.workbench-local-status span{width:7px;height:7px;border-radius:50%;background:var(--green);box-shadow:0 0 0 4px rgba(21,128,61,.1)}
.workbench-nav{display:flex;align-items:center;gap:0;overflow-x:auto;border-top:1px solid var(--ink);border-bottom:1px solid var(--border);scrollbar-width:thin}
.workbench-nav a,.workbench-nav span{flex:0 0 auto;padding:.62rem .9rem;border-right:1px solid var(--border);font-family:var(--mono);font-size:.62rem;white-space:nowrap}
.workbench-nav a{color:var(--ink2);transition:color .15s ease,background-color .15s ease}
.workbench-nav a:hover{color:var(--accent);background:rgba(255,255,255,.48)}
.workbench-nav a[aria-current="page"]{color:var(--dark-fg);background:var(--ink)}
.workbench-nav span{color:var(--ink4)}
.workbench-content{padding-top:1.5rem}
.workbench-content>[data-billing-view-panel]:not([hidden]),.workbench-content>[data-marketing-panel]:not([hidden]),.workbench-content>[data-reporting-panel]:not([hidden]),.workbench-content>[data-resource-panel]:not([hidden]),.workbench-content>[data-whiteboard-panel]:not([hidden]){animation:workbench-panel-in 240ms cubic-bezier(.2,.75,.25,1) both}
html.workbench-local-transition .workbench-content>[data-billing-view-panel]:not([hidden]),html.workbench-local-transition .workbench-content>[data-marketing-panel]:not([hidden]),html.workbench-local-transition .workbench-content>[data-reporting-panel]:not([hidden]),html.workbench-local-transition .workbench-content>[data-resource-panel]:not([hidden]),html.workbench-local-transition .workbench-content>[data-whiteboard-panel]:not([hidden]){animation:none}
html.supports-view-transitions .workbench-content>[data-billing-view-panel]:not([hidden]),html.supports-view-transitions .workbench-content>[data-marketing-panel]:not([hidden]),html.supports-view-transitions .workbench-content>[data-reporting-panel]:not([hidden]),html.supports-view-transitions .workbench-content>[data-resource-panel]:not([hidden]),html.supports-view-transitions .workbench-content>[data-whiteboard-panel]:not([hidden]){animation:none}
#grimoire-ghost,#ghost-popup{display:none!important}

.desk-command-center{margin-bottom:1.8rem;border-top:1px solid var(--ink);border-bottom:1px solid var(--ink);background:rgba(245,242,236,.48)}
.desk-command-head{display:flex;align-items:flex-end;justify-content:space-between;gap:1.2rem;padding:1rem 0;border-bottom:1px solid var(--border)}
.desk-kicker,.desk-panel-head span{color:var(--teal);font-family:var(--mono);font-size:.58rem;letter-spacing:.1em;text-transform:uppercase}
.desk-command-head h2{margin-top:.25rem;font-family:var(--serif);font-size:1.6rem;line-height:1.12}
.desk-command-head p{max-width:72ch;margin-top:.35rem;color:var(--ink3);font-size:.78rem;line-height:1.6}
.desk-command-head kbd{display:inline-grid;place-items:center;min-width:22px;margin-left:.25rem;padding:.1rem .25rem;border:1px solid rgba(255,255,255,.28);border-radius:3px;color:inherit;font:inherit;font-size:.54rem}
.desk-grid{display:grid;grid-template-columns:minmax(360px,1.15fr) minmax(300px,.85fr) 300px;border-left:1px solid var(--border)}
.desk-os-grid{grid-template-columns:clamp(320px,22vw,420px) minmax(560px,1fr) clamp(320px,21vw,400px)}
.desk-panel{min-width:0;padding:1rem;border-right:1px solid var(--border);background:rgba(255,253,248,.42)}
.desk-panel-main{background:rgba(255,253,248,.62)}
.desk-panel-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:.75rem}
.desk-panel-head b{color:var(--ink4);font-family:var(--mono);font-size:.56rem;font-weight:400;text-transform:uppercase}
.desk-panel h3{font-family:var(--serif);font-size:1.2rem;line-height:1.15;margin-bottom:.75rem}
.desk-subhead{margin:.75rem 0 .55rem;padding-top:.7rem;border-top:1px solid var(--border)}
.desk-note-field{gap:.3rem}
.desk-editor-shell{min-width:0}
.desk-format-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:.25rem;border:1px solid var(--border);border-bottom:0;border-radius:4px 4px 0 0;background:var(--bg2);padding:.3rem}
.desk-format-group{display:flex;align-items:center;border-right:1px solid var(--border);padding-right:.25rem;gap:1px}.desk-format-group:last-child{border-right:0;padding-right:0}
.desk-format-toolbar button{display:grid;place-items:center;min-width:30px;height:30px;border:0;border-radius:3px;background:transparent;padding:0 .42rem;color:var(--ink2);font:500 .68rem var(--mono);cursor:pointer}
.desk-format-toolbar button:hover,.desk-format-toolbar button:focus-visible{background:rgba(194,65,12,.07);color:var(--accent);outline:1px solid rgba(194,65,12,.18)}
.desk-format-toolbar button[aria-pressed="true"]{background:var(--ink);color:var(--dark-fg)}
.desk-format-toolbar button.desk-clear-format{min-width:34px}
.desk-block-format select{width:92px;height:30px;border:0;border-radius:3px;background:transparent;padding:0 .3rem;color:var(--ink2);font:400 .57rem var(--mono);outline:none;cursor:pointer}
.desk-font-format select{width:70px;height:30px;border:0;border-radius:3px;background:transparent;padding:0 .3rem;color:var(--ink2);font:400 .57rem var(--mono);outline:none;cursor:pointer}.desk-font-size-format select{width:72px}
.desk-block-format select:hover,.desk-block-format select:focus-visible,.desk-font-format select:hover,.desk-font-format select:focus-visible{background:rgba(255,255,255,.7);color:var(--accent);outline:1px solid var(--border)}
.desk-rich-editor{min-height:300px;max-height:68vh;overflow:auto;resize:vertical;border:1px solid var(--border);border-radius:0 0 4px 4px;background:rgba(255,255,255,.64);padding:.7rem .75rem;color:var(--ink);font:400 .82rem/1.55 var(--sans);white-space:normal;outline:none}
.desk-rich-editor:focus{border-color:var(--teal);box-shadow:0 0 0 3px rgba(13,148,136,.09)}
.desk-rich-editor:empty::before{content:attr(data-placeholder);color:var(--ink4);pointer-events:none}
.desk-rich-editor p,.desk-rich-editor div{margin:.38rem 0}.desk-rich-editor h1,.desk-rich-editor h2,.desk-rich-editor h3{margin:.7rem 0 .35rem;font-family:var(--serif);line-height:1.18}.desk-rich-editor h1{font-size:1.65rem}.desk-rich-editor h2{font-size:1.35rem}.desk-rich-editor h3{font-size:1.08rem}
.desk-rich-editor ul,.desk-rich-editor ol{margin:.45rem 0;padding-left:1.55rem}.desk-rich-editor li+li{margin-top:.18rem}.desk-rich-editor blockquote{margin:.65rem 0;padding:.25rem 0 .25rem .8rem;border-left:3px solid var(--teal);color:inherit;font-family:inherit;font-size:inherit}
.desk-rich-editor [data-indent="1"]{margin-left:1.5rem}.desk-rich-editor [data-indent="2"]{margin-left:3rem}.desk-rich-editor [data-indent="3"]{margin-left:4.5rem}.desk-rich-editor [data-indent="4"]{margin-left:6rem}.desk-rich-editor [data-indent="5"]{margin-left:7.5rem}.desk-rich-editor [data-indent="6"]{margin-left:9rem}
.quick-capture-form textarea{min-height:88px}
.capture-list,.recent-workspaces{display:grid;margin-top:.9rem;border-top:1px solid var(--border)}
.capture-item{display:grid;grid-template-columns:32px minmax(0,1fr) 34px;gap:.6rem;align-items:start;padding:.65rem 0;border-bottom:1px solid var(--border)}
.capture-item>span{color:var(--teal);font-family:var(--mono);font-size:.56rem;text-align:center}
.capture-item time,.recent-workspaces small,.resume-card small{display:block;color:var(--ink4);font-family:var(--mono);font-size:.53rem;text-transform:uppercase}
.capture-item p{margin-top:.18rem;color:var(--ink2);font-size:.74rem;line-height:1.55;overflow-wrap:anywhere}
.capture-item button{height:30px;border:0;border-left:1px solid var(--border);background:transparent;color:var(--ink4);cursor:pointer}
.capture-item button:hover{color:var(--accent)}
.desk-empty{padding:.75rem 0;color:var(--ink4);font-size:.7rem}
.resume-card{display:grid;gap:.35rem;padding:.8rem;border-top:1px solid var(--ink);border-bottom:1px solid var(--border);background:rgba(237,233,224,.56)}
.resume-card span{color:var(--teal);font-family:var(--mono);font-size:.55rem;text-transform:uppercase}
.resume-card strong{font-family:var(--serif);font-size:1.05rem;line-height:1.15}
.resume-card .workbench-button{justify-self:start;margin-top:.35rem}
.recent-workspaces a{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.6rem;align-items:center;padding:.55rem 0;border-bottom:1px solid var(--border);color:var(--ink2)}
.recent-workspaces a:hover{color:var(--accent)}
.recent-workspaces span{font-family:var(--serif);font-size:.9rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.desk-continuity-note{margin-top:1rem;padding:.8rem;border-top:1px solid var(--border);background:rgba(13,148,136,.06)}
.desk-continuity-note strong{display:block;color:var(--teal);font-family:var(--mono);font-size:.56rem;font-weight:500;text-transform:uppercase;letter-spacing:.08em}
.desk-continuity-note p{margin-top:.35rem;color:var(--ink2);font-family:var(--serif);font-size:1rem;line-height:1.35}
.desk-dock{background:rgba(237,233,224,.48)}
.desk-dock-stack{display:grid;gap:.8rem}
.desk-mini-panel{padding:.75rem;border-top:1px solid var(--ink);background:rgba(255,253,248,.5)}
.desk-mini-head{display:flex;align-items:center;justify-content:space-between;gap:.7rem;margin-bottom:.45rem}
.desk-mini-head span{color:var(--teal);font-family:var(--mono);font-size:.54rem;letter-spacing:.08em;text-transform:uppercase}
.desk-mini-head b{color:var(--ink4);font-family:var(--mono);font-size:.52rem;font-weight:400;text-transform:uppercase}
.desk-mini-panel h4{font-family:var(--serif);font-size:1rem;line-height:1.12;margin-bottom:.5rem}
.desk-mini-panel textarea{width:100%;min-height:96px;border:1px solid var(--border);border-radius:4px;background:rgba(255,255,255,.64);color:var(--ink);padding:.55rem .65rem;font:400 .78rem/1.45 var(--sans);resize:vertical;outline:none}
.desk-mini-panel textarea:focus{border-color:var(--teal);box-shadow:0 0 0 3px rgba(13,148,136,.09)}
.desk-link-list{display:grid;border-top:1px solid var(--border)}
.desk-link-list.two-col{grid-template-columns:1fr 1fr}
.desk-link-list a{display:flex;align-items:center;min-height:36px;border-bottom:1px solid var(--border);color:var(--ink2);font-family:var(--mono);font-size:.58rem}
.desk-link-list.two-col a:nth-child(odd){border-right:1px solid var(--border)}
.desk-link-list a:hover{color:var(--accent);padding-left:.35rem}
#desk-device-state.is-offline{color:var(--accent)}
.command-palette[hidden]{display:none}
.command-palette{position:fixed;inset:0;z-index:100;display:grid;place-items:start center;padding-top:12vh}
.command-backdrop{position:absolute;inset:0;background:rgba(28,25,23,.28);backdrop-filter:blur(2px);animation:workbench-backdrop-in 160ms ease-out both}
.command-dialog{position:relative;width:min(720px,calc(100% - 1.5rem));border:1px solid var(--ink);background:var(--bg);box-shadow:0 24px 80px rgba(28,25,23,.22);animation:workbench-overlay-in 220ms cubic-bezier(.2,.75,.25,1) both}
.command-input-wrap{display:grid;grid-template-columns:86px minmax(0,1fr) 42px;align-items:center;border-bottom:1px solid var(--ink)}
.command-input-wrap span{padding-left:.9rem;color:var(--teal);font-family:var(--mono);font-size:.58rem;text-transform:uppercase}
.command-input-wrap input{height:54px;border:0;border-left:1px solid var(--border);border-right:1px solid var(--border);background:rgba(255,255,255,.7);padding:0 .9rem;color:var(--ink);font:400 .95rem var(--sans);outline:none}
.command-input-wrap button{height:54px;border:0;background:transparent;color:var(--ink3);font-size:1.2rem;cursor:pointer}
.command-results{display:grid;max-height:min(460px,60vh);overflow:auto}
.command-results button{display:grid;grid-template-columns:180px minmax(0,1fr);gap:1rem;align-items:center;min-height:58px;border:0;border-bottom:1px solid var(--border);background:transparent;padding:.65rem .9rem;text-align:left;color:var(--ink);cursor:pointer}
.command-results button:hover,.command-results button:focus{background:rgba(13,148,136,.07);outline:0}
.command-results span{font-family:var(--serif);font-size:1rem}
.command-results small{color:var(--ink3);font-size:.72rem;line-height:1.45}

.workbench-ledger{border-top:1px solid var(--ink)}
.workbench-ledger-row{display:grid;grid-template-columns:56px minmax(180px,.62fr) minmax(280px,1.38fr) 112px;gap:1.2rem;align-items:center;min-height:92px;padding:.9rem 0;border-bottom:1px solid var(--border)}
.workbench-ledger-row>span{color:var(--teal);font-family:var(--mono);font-size:.65rem}
.workbench-ledger-row h2{font-family:var(--serif);font-size:1.22rem;line-height:1.16}
.workbench-ledger-row p{color:var(--ink3);font-size:.82rem;line-height:1.6}
.workbench-ledger-state{justify-self:end;color:var(--ink4);font-family:var(--mono);font-size:.62rem;text-transform:uppercase}
a.workbench-ledger-row{transition:.15s}
a.workbench-ledger-row:hover{padding-left:.6rem;color:var(--accent)}
a.workbench-ledger-row .workbench-ledger-state{color:var(--green)}
.workbench-desk-note{display:grid;grid-template-columns:180px 1fr;gap:2rem;margin-top:2rem;padding:1.2rem 0;border-top:1px solid var(--border);border-bottom:1px solid var(--border)}
.workbench-desk-note span{color:var(--teal);font-family:var(--mono);font-size:.62rem;text-transform:uppercase;letter-spacing:.08em}
.workbench-desk-note p{max-width:70ch;color:var(--ink2);font-family:var(--serif);font-size:1.15rem;line-height:1.4}
[data-desk-panel][hidden]{display:none}
.report-template-tabs{display:flex;overflow-x:auto;border-top:1px solid var(--ink);border-bottom:1px solid var(--border)}
.report-template-tabs button{flex:1 0 150px;min-height:44px;border:0;border-right:1px solid var(--border);background:transparent;color:var(--ink2);font-family:var(--mono);font-size:.62rem;cursor:pointer;transition:color .15s ease,background-color .15s ease}
.report-template-tabs button[aria-selected="true"]{background:var(--ink);color:var(--dark-fg)}
.report-artifact-workspace{border-top:0}
.report-artifact-workspace #report-fields textarea{min-height:92px}
.reporting-panel[hidden]{display:none}
.checklist-workspace{grid-template-columns:minmax(320px,.82fr) minmax(300px,.72fr) minmax(420px,1.05fr)}
.checklist-workspace>.tool-panel{grid-column:auto}
.checklist-builder textarea[name="context"]{min-height:90px}
.checklist-item-form{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--border)}
.checklist-items{display:grid;gap:.5rem;border-top:1px solid var(--ink)}
.checklist-empty{padding:1rem 0;color:var(--ink3);font-size:.76rem;line-height:1.6}
.checklist-row{display:grid;grid-template-columns:34px minmax(0,1fr) 48px 40px;gap:.55rem;align-items:center;min-height:62px;border-bottom:1px solid var(--border);cursor:pointer}
.checklist-row.is-selected{background:rgba(13,148,136,.08)}
.checklist-row>span{color:var(--teal);font-family:var(--mono);font-size:.58rem;text-align:center}
.checklist-row strong{display:block;font-family:var(--serif);font-size:1rem;line-height:1.12}
.checklist-row small{display:block;margin-top:.18rem;color:var(--ink4);font-family:var(--mono);font-size:.52rem;line-height:1.45;text-transform:uppercase}
.checklist-row button{min-height:32px;border:1px solid var(--border);border-radius:4px;background:rgba(255,255,255,.52);color:var(--ink3);font-family:var(--mono);font-size:.54rem;cursor:pointer}
.checklist-row button:hover{border-color:var(--accent);color:var(--accent)}
.checklist-output-panel .artifact-output{min-height:680px}

.workspace-view-tabs{display:flex;overflow-x:auto;border-top:1px solid var(--ink);border-bottom:1px solid var(--ink)}
.workspace-view-tabs button{min-width:120px;height:42px;border:0;border-right:1px solid var(--border);background:transparent;padding:0 1rem;color:var(--ink3);font-family:var(--mono);font-size:.64rem;cursor:pointer;transition:color .15s ease,background-color .15s ease}
.workspace-view-tabs button[aria-selected="true"]{background:var(--ink);color:var(--dark-fg)}
.billing-layout{display:grid;grid-template-columns:clamp(300px,18vw,350px) minmax(560px,1fr) clamp(320px,20vw,380px);border-bottom:1px solid var(--ink);background:rgba(245,242,236,.66)}
.budget-layout{display:grid;grid-template-columns:minmax(420px,.7fr) minmax(540px,1.3fr);border-bottom:1px solid var(--ink);background:rgba(245,242,236,.66)}
.budget-layout[hidden],.billing-layout[hidden]{display:none}
.workbench-panel{min-width:0;padding:clamp(1.15rem,1.5vw,1.65rem)}
.workbench-panel+.workbench-panel{border-left:1px solid var(--border)}
.workbench-panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1rem}
.workbench-panel-head span{color:var(--teal);font-family:var(--mono);font-size:.58rem;text-transform:uppercase;letter-spacing:.08em}
.workbench-panel-head h2{margin-top:.25rem;font-family:var(--serif);font-size:1.25rem;line-height:1.15}
.workbench-panel-head p{margin-top:.25rem;color:var(--ink4);font-size:.7rem}
.billing-form{display:grid;gap:.85rem}
.workbench-field{display:grid;min-width:0;gap:.3rem}
.workbench-field>span,.workbench-field>label,.workbench-fieldset legend{color:var(--ink3);font-family:var(--mono);font-size:.59rem;text-transform:uppercase;letter-spacing:.06em}
.workbench-field>small{color:var(--ink4);font-size:.6rem;line-height:1.45}
.workbench-field input,.workbench-field select,.workbench-field textarea,.billing-month-input,.invoice-output{width:100%;min-width:0;min-height:40px;border:1px solid var(--border);border-radius:4px;background:rgba(255,255,255,.64);color:var(--ink);padding:.55rem .65rem;font:400 .82rem/1.4 var(--sans);outline:none}
.workbench-field textarea{min-height:76px;resize:vertical}
.workbench-field input:focus,.workbench-field select:focus,.workbench-field textarea:focus,.billing-month-input:focus,.invoice-output:focus{border-color:var(--teal);box-shadow:0 0 0 3px rgba(13,148,136,.09)}
.workbench-field input:disabled{color:var(--ink4);background:var(--bg2)}
.workbench-field-inline{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:.65rem}
.field-with-suffix{display:grid;grid-template-columns:minmax(0,1fr) 38px}
.field-with-suffix input{border-radius:4px 0 0 4px}
.field-with-suffix span{display:grid;place-items:center;border:1px solid var(--border);border-left:0;border-radius:0 4px 4px 0;background:var(--bg2);color:var(--ink3);font-family:var(--mono);font-size:.66rem}
.workbench-fieldset{border:0}
.workbench-fieldset legend{margin-bottom:.35rem}
.workbench-segmented{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--border);border-radius:4px;overflow:hidden}
.workbench-segmented label{position:relative;display:grid;place-items:center;min-height:38px;color:var(--ink3);font-family:var(--mono);font-size:.65rem;cursor:pointer;transition:color .15s ease,background-color .15s ease}
.workbench-segmented label+label{border-left:1px solid var(--border)}
.workbench-segmented input{position:absolute;opacity:0;pointer-events:none}
.workbench-segmented label:has(input:checked){background:var(--ink);color:var(--dark-fg)}
.workbench-segmented label:has(input:focus-visible){outline:2px solid var(--teal);outline-offset:-3px}
.workbench-save-state{color:var(--ink4);font-family:var(--mono);font-size:.58rem}

.calendar-toolbar{display:grid;grid-template-columns:36px minmax(160px,220px) 36px;justify-content:center;gap:.4rem;margin-bottom:1rem}
.calendar-toolbar button,.workbench-icon-button{width:36px;height:36px;border:1px solid var(--border);border-radius:4px;background:var(--bg);color:var(--ink2);font-size:1.1rem;cursor:pointer}
.calendar-toolbar button:hover,.workbench-icon-button:hover{border-color:var(--accent);color:var(--accent)}
.billing-month-input{min-height:36px;padding:.35rem .55rem;font-family:var(--mono);font-size:.7rem}
.period-toolbar{display:grid;grid-template-columns:1fr 1fr;gap:.65rem;margin-bottom:1rem}
.billing-calendars{display:grid;gap:1.2rem}
.billing-month-section{min-width:0}
.billing-month-title{margin-bottom:.45rem;font-family:var(--serif);font-size:1.05rem}
.calendar-weekdays,.billing-calendar{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}
.calendar-weekdays{margin-bottom:4px}
.calendar-weekdays span{padding:.25rem 0;text-align:center;color:var(--ink4);font-family:var(--mono);font-size:.55rem;text-transform:uppercase}
.billing-day{position:relative;display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between;aspect-ratio:1;min-width:0;padding:.38rem;border:1px solid var(--border2);border-radius:3px;background:rgba(255,255,255,.48);color:var(--ink2);cursor:pointer;transition:.12s}
.billing-day:hover{border-color:var(--teal);transform:translateY(-1px)}
.billing-day:focus-visible{outline:2px solid var(--teal);outline-offset:1px}
.billing-day.is-empty{visibility:hidden;pointer-events:none}
.billing-day-number{font-family:var(--mono);font-size:.7rem}
.billing-day-state{font-family:var(--mono);font-size:.48rem;text-transform:uppercase}
.billing-day[data-state="full"]{border-color:rgba(13,148,136,.36);background:rgba(13,148,136,.1);color:#0a6d65}
.billing-day[data-state="half"]{border-color:rgba(180,83,9,.38);background:rgba(180,83,9,.1);color:#8a4308}
.billing-day[data-state="holiday"]{border-color:rgba(194,65,12,.35);background:repeating-linear-gradient(135deg,rgba(194,65,12,.08),rgba(194,65,12,.08) 5px,transparent 5px,transparent 10px);color:var(--accent)}
.billing-day[data-state="off"]{color:var(--ink4)}
.billing-day[data-state="custom"]{border-color:rgba(29,78,216,.36);background:rgba(29,78,216,.1);color:#1741ba}
.billing-day-custom{display:flex;align-items:center;justify-content:space-between;gap:.1rem;width:100%;font-family:var(--mono)}
.billing-day-custom .cust-val{font-size:.6rem;font-weight:500;color:#1741ba;white-space:nowrap}
.billing-day-custom .cust-adj{display:grid;place-items:center;width:15px;height:15px;border-radius:3px;color:var(--ink3);font-size:.72rem;line-height:1;cursor:pointer;transition:.12s}
.billing-day-custom .cust-adj:hover{background:rgba(29,78,216,.16);color:#1741ba}
.billing-day.is-weekend .billing-day-number{text-decoration:underline;text-decoration-style:dotted;text-underline-offset:3px}
.calendar-actions{display:flex;flex-wrap:wrap;gap:.45rem;margin-top:1rem}
.workbench-button{min-height:36px;border:1px solid var(--border);border-radius:4px;background:var(--bg);color:var(--ink2);padding:.45rem .7rem;font-family:var(--mono);font-size:.61rem;cursor:pointer;transition:.14s}
.workbench-button:hover{border-color:var(--accent);color:var(--accent)}
.workbench-button.primary{background:var(--ink);border-color:var(--ink);color:var(--dark-fg)}
.workbench-button.primary:hover{background:var(--accent);border-color:var(--accent);color:#fff}
.calendar-legend{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:.9rem;color:var(--ink4);font-family:var(--mono);font-size:.52rem}
.calendar-legend span{display:flex;align-items:center;gap:.3rem}
.calendar-legend i{width:8px;height:8px;border-radius:2px;border:1px solid var(--border);background:var(--bg2)}
.calendar-legend .full{background:rgba(13,148,136,.22)}.calendar-legend .half{background:rgba(180,83,9,.2)}.calendar-legend .holiday{background:rgba(194,65,12,.18)}.calendar-legend .custom{background:rgba(29,78,216,.22)}

.billing-summary{background:rgba(237,233,224,.72)}
.summary-metrics{border-top:1px solid var(--border)}
.summary-metric{display:flex;justify-content:space-between;gap:1rem;padding:.65rem 0;border-bottom:1px solid var(--border)}
.summary-metric span{color:var(--ink3);font-size:.72rem}
.summary-metric strong{font-family:var(--mono);font-size:.72rem;font-weight:500;text-align:right}
.summary-total{padding:1rem 0;border-bottom:1px solid var(--ink)}
.summary-total span{display:block;color:var(--ink3);font-family:var(--mono);font-size:.58rem;text-transform:uppercase}
.summary-total strong{display:block;margin-top:.2rem;font-family:var(--serif);font-size:2rem;line-height:1}
.summary-total small{display:block;margin-top:.45rem;color:var(--teal);font-family:var(--mono);font-size:.65rem}
.invoice-output{min-height:180px;margin-top:1rem;resize:vertical;font-family:var(--mono);font-size:.62rem;line-height:1.6}
.summary-actions{display:grid;grid-template-columns:1fr 1fr;gap:.45rem;margin-top:.65rem}
.summary-actions .primary{grid-column:1 / -1}
.billing-disclaimer{margin-top:.8rem;color:var(--ink4);font-size:.62rem;line-height:1.55}
.workbench-toast{min-height:1.2rem;margin-top:.55rem;color:var(--green);font-family:var(--mono);font-size:.58rem}
.budget-metrics{display:grid;grid-template-columns:repeat(3,1fr)}
.budget-metrics .summary-metric{display:block;padding:.7rem;border-right:1px solid var(--border)}
.budget-metrics .summary-metric:last-child{border-right:0}
.budget-metrics .summary-metric strong{display:block;margin-top:.25rem;text-align:left}
.personal-budget-layout{display:grid;grid-template-columns:clamp(320px,18vw,360px) minmax(520px,1fr) clamp(340px,20vw,390px);border-top:1px solid var(--ink);border-bottom:1px solid var(--ink)}
.personal-budget-layout[hidden]{display:none}
.personal-budget-layout>.workbench-panel{border-bottom:0}
.expense-form{display:grid;grid-template-columns:minmax(150px,1fr) 130px 110px 90px auto;align-items:end;gap:.45rem}
.expense-list{margin-top:1rem;border-top:1px solid var(--ink)}
.expense-row{display:grid;grid-template-columns:34px minmax(0,1fr) auto 34px;align-items:center;gap:.65rem;min-height:56px;border-bottom:1px solid var(--border)}
.expense-row>span{color:var(--teal);font-family:var(--mono);font-size:.58rem;text-align:center}
.expense-row strong,.expense-row small{display:block}.expense-row strong{font-family:var(--serif);font-size:.92rem}.expense-row small{color:var(--ink4);font-size:.6rem}
.expense-row>b{font-family:var(--mono);font-size:.62rem;font-weight:500}.expense-row button{height:34px;border:0;border-left:1px solid var(--border);background:transparent;color:var(--ink4);cursor:pointer}
.expense-row button:hover{color:var(--accent)}
.personal-budget-output{min-height:300px}

.tool-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));border-top:1px solid var(--ink);border-left:1px solid var(--border)}
.tool-panel{grid-column:span 6;min-width:0;padding:clamp(1.2rem,1.5vw,1.65rem);border-right:1px solid var(--border);border-bottom:1px solid var(--border);background:rgba(245,242,236,.62)}
.tool-panel.wide{grid-column:1 / -1}
.tool-panel.third{grid-column:span 4}
.tool-panel h2{font-family:var(--serif);font-size:1.35rem;line-height:1.2}
.tool-panel-head{display:flex;justify-content:space-between;gap:1rem;margin-bottom:1rem}
.tool-panel-head span{color:var(--teal);font-family:var(--mono);font-size:.58rem;text-transform:uppercase;letter-spacing:.08em}
.tool-panel p.tool-intro{margin-top:.3rem;color:var(--ink3);font-size:.75rem}
.tool-form{display:grid;gap:.7rem}
.tool-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem}
.tool-row.three{grid-template-columns:repeat(3,minmax(0,1fr))}
.tool-actions{display:flex;flex-wrap:wrap;gap:.45rem;margin-top:.75rem}
.tool-output{width:100%;min-height:92px;margin-top:.8rem;padding:.7rem;border:1px solid var(--border);border-radius:4px;background:rgba(255,255,255,.62);color:var(--ink);font:400 .68rem/1.6 var(--mono);white-space:pre-wrap;overflow-wrap:anywhere}
textarea.tool-output{resize:vertical}
.tool-output.preview{font-family:var(--sans);font-size:.82rem;white-space:normal}
.tool-output.preview h1,.tool-output.preview h2,.tool-output.preview h3{font-family:var(--serif);line-height:1.2;margin:.5rem 0}
.tool-output.preview p{margin:.4rem 0}
.tool-status{min-height:1.1rem;color:var(--teal);font-family:var(--mono);font-size:.58rem}
.notepad-toolbar{display:flex;flex-wrap:wrap;align-items:center;border:1px solid var(--border);border-bottom:0;border-radius:4px 4px 0 0;background:var(--bg2);padding:.3rem}
.notepad-toolbar button{display:grid;place-items:center;width:34px;height:32px;border:0;border-right:1px solid var(--border);background:transparent;color:var(--ink2);font-size:.72rem;cursor:pointer}.notepad-toolbar button:hover{color:var(--accent);background:rgba(194,65,12,.05)}.notepad-toolbar>span{width:8px}
.notepad-editor{min-height:300px;border:1px solid var(--border);border-radius:0 0 4px 4px;background:rgba(255,255,255,.64);padding:1rem;color:var(--ink);font:400 .9rem/1.7 var(--sans);outline:none;overflow:auto}
.notepad-editor:focus{border-color:var(--teal);box-shadow:0 0 0 3px rgba(13,148,136,.09)}.notepad-editor:empty::before{content:attr(data-placeholder);color:var(--ink4);pointer-events:none}
.notepad-editor h1,.notepad-editor h2{margin:.7rem 0 .3rem;font-family:var(--serif);line-height:1.2}.notepad-editor h2{font-size:1.5rem}.notepad-editor p{margin:.4rem 0}.notepad-editor ul,.notepad-editor ol{padding-left:1.4rem}
.clock-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--border);border-left:1px solid var(--border)}
.clock{padding:1rem;border-right:1px solid var(--border);border-bottom:1px solid var(--border)}
.clock span{color:var(--ink4);font-family:var(--mono);font-size:.58rem;text-transform:uppercase}
.clock strong{display:block;margin-top:.2rem;font-family:var(--serif);font-size:1.55rem}
.clock small{display:block;color:var(--ink3)}
.clock b{display:block;margin-top:.5rem;color:var(--ink4);font-family:var(--mono);font-size:.52rem;font-weight:400}.clock b.is-working{color:var(--green)}
.remote-clock-grid{grid-template-columns:repeat(5,1fr)}
.clock-app-display{display:grid;min-height:150px;align-content:center;border-top:1px solid var(--ink);border-bottom:1px solid var(--border);padding:.8rem 0}
.clock-app-display strong{font-family:var(--serif);font-size:2.35rem;line-height:1}.clock-app-display span{margin-top:.55rem;color:var(--ink2);font-size:.75rem}.clock-app-display small{color:var(--ink4);font-family:var(--mono);font-size:.55rem}
.clock-format{margin-top:.8rem}
.time-instrument{display:grid;place-items:center;min-height:110px;border-top:1px solid var(--ink);border-bottom:1px solid var(--border);font-family:var(--mono);font-size:1.75rem}
.timer-inputs{display:grid;grid-template-columns:repeat(3,1fr);gap:.45rem;margin-top:.7rem}
.time-laps{max-height:130px;margin-top:.7rem;overflow:auto}
.time-laps div{display:flex;justify-content:space-between;padding:.35rem 0;border-top:1px solid var(--border);font-family:var(--mono);font-size:.55rem}.time-laps span{color:var(--ink4)}
.overlap-strip{display:grid;grid-template-columns:repeat(24,1fr);margin-top:.8rem;border:1px solid var(--border)}
.overlap-hour{min-width:0;height:42px;border-right:1px solid var(--border2);background:var(--bg2)}
.overlap-hour.is-a{background:rgba(13,148,136,.12)}.overlap-hour.is-b{box-shadow:inset 0 -12px rgba(194,65,12,.12)}.overlap-hour.is-both{background:rgba(21,128,61,.2)}
.record-list{display:grid;gap:.45rem;margin-top:.8rem}
.record{display:grid;grid-template-columns:1fr auto;gap:.8rem;padding:.7rem;border-top:1px solid var(--border)}
.record strong{font-family:var(--serif);font-size:1rem}.record p{color:var(--ink3);font-size:.72rem}.record time{color:var(--teal);font-family:var(--mono);font-size:.58rem}
.metric-strip{display:grid;grid-template-columns:repeat(4,1fr);margin-top:.8rem;border:1px solid var(--border)}
.metric-strip div{padding:.7rem;border-right:1px solid var(--border)}.metric-strip div:last-child{border-right:0}
.metric-strip span{display:block;color:var(--ink4);font-family:var(--mono);font-size:.55rem;text-transform:uppercase}.metric-strip strong{font-family:var(--serif);font-size:1.25rem}
.privacy-note{margin-top:.7rem;padding:.6rem;border-left:2px solid var(--accent);color:var(--ink3);font-size:.68rem}
.artifact-workspace{display:grid;grid-template-columns:minmax(360px,.8fr) minmax(460px,1.2fr);border-bottom:1px solid var(--ink)}
.artifact-workspace>.tool-panel{grid-column:auto;border-bottom:0}
.artifact-workspace.checklist-workspace{grid-template-columns:minmax(360px,.82fr) minmax(320px,.72fr) minmax(440px,1.05fr)}
.artifact-workspace[hidden],.funnel-pattern-workspace[hidden],.tool-grid[hidden]{display:none}
.artifact-output-panel{border-left:1px solid var(--border);background:rgba(237,233,224,.58)}
.artifact-output{min-height:520px}
.funnel-pattern-workspace{border-bottom:1px solid var(--ink);background:rgba(245,242,236,.5)}
.mode-toolbar{display:grid;grid-template-columns:minmax(260px,1fr) minmax(560px,720px);align-items:end;gap:2rem;padding:1.2rem 1.35rem;background:rgba(245,242,236,.7)}
.mode-toolbar>div:first-child>span{color:var(--teal);font-family:var(--mono);font-size:.58rem;letter-spacing:.08em;text-transform:uppercase}
.mode-toolbar h2{margin-top:.25rem;font-family:var(--serif);font-size:1.35rem;line-height:1.15}
.mode-toolbar p{max-width:60ch;margin-top:.3rem;color:var(--ink3);font-size:.75rem;line-height:1.55}
.funnel-pattern-controls{display:grid;grid-template-columns:190px 130px 130px 90px;gap:.45rem}
.funnel-pattern-stages{display:grid;grid-template-columns:repeat(5,1fr);border-top:1px solid var(--ink);border-left:1px solid var(--border)}
.funnel-pattern-stage{display:grid;min-height:180px;align-content:start;gap:.6rem;border-right:1px solid var(--border);padding:.85rem}
.funnel-pattern-stage>span{color:var(--teal);font-family:var(--mono);font-size:.56rem}.funnel-pattern-stage>strong{font-family:var(--serif);font-size:1rem}.funnel-pattern-stage>b{font-family:var(--serif);font-size:1.8rem;font-weight:400}
.funnel-pattern-stage>label{display:grid;grid-template-columns:70px 1fr;align-items:center;gap:.4rem}.funnel-pattern-stage input{min-width:0;height:34px;border:1px solid var(--border);background:rgba(255,255,255,.65);padding:.35rem}.funnel-pattern-stage label span,.funnel-pattern-stage small{color:var(--ink4);font-family:var(--mono);font-size:.52rem}
.funnel-pattern-summary{padding:1.15rem 1.35rem}.funnel-pattern-summary .metric-strip{margin-top:0}.funnel-pattern-summary .invoice-output{min-height:260px}

.resource-collections{border-top:1px solid var(--ink);border-bottom:1px solid var(--ink)}
.resource-collections-head{display:flex;align-items:end;justify-content:space-between;gap:1rem;padding:1rem 0}
.resource-collections-head span{color:var(--teal);font-family:var(--mono);font-size:.58rem;text-transform:uppercase;letter-spacing:.08em}
.resource-collections-head h2{margin-top:.25rem;font-family:var(--serif);font-size:1.35rem}
.resource-collections-head p{color:var(--ink4);font-size:.68rem}
.resource-collection-list{display:grid;grid-template-columns:repeat(5,1fr);border-top:1px solid var(--border);border-left:1px solid var(--border)}
.resource-collection-list button{display:grid;grid-template-columns:28px 1fr;gap:.25rem .6rem;min-height:78px;border:0;border-right:1px solid var(--border);border-bottom:1px solid var(--border);background:transparent;padding:.7rem;color:var(--ink);text-align:left;cursor:pointer}
.resource-collection-list button:hover{background:rgba(13,148,136,.05)}
.resource-collection-list button[aria-current="true"]{background:var(--ink);color:var(--dark-fg)}
.resource-collection-list button>span{grid-row:1 / 3;color:var(--teal);font-family:var(--mono);font-size:.58rem}
.resource-collection-list button[aria-current="true"]>span{color:#67e8f9}
.resource-collection-list strong{font-family:var(--serif);font-size:.95rem}
.resource-collection-list small{color:var(--ink4);font-size:.6rem}
.resource-collection-list button[aria-current="true"] small{color:rgba(245,242,236,.58)}
.resource-controls{display:grid;grid-template-columns:minmax(260px,1fr) 180px 240px auto;gap:.7rem;align-items:end;padding:1rem 0;border-bottom:1px solid var(--ink)}
.resource-view{grid-template-columns:repeat(3,1fr)}
.resource-backup{display:flex;gap:.4rem;justify-content:flex-end}
.resource-workspace{display:grid;grid-template-columns:minmax(0,1fr) clamp(340px,22vw,420px);min-height:620px;border-bottom:1px solid var(--ink)}
.resource-directory{min-width:0;border-right:1px solid var(--border)}
.resource-directory-head{display:flex;justify-content:space-between;align-items:end;padding:1rem 0}
.resource-directory-head span,.resource-inspector-head span{color:var(--teal);font-family:var(--mono);font-size:.58rem;text-transform:uppercase;letter-spacing:.08em}
.resource-directory-head h2,.resource-inspector h2{font-family:var(--serif);font-size:1.35rem}
.resource-directory-head output{padding-right:1rem;color:var(--ink4);font-family:var(--mono);font-size:.58rem}
.resource-list{border-top:1px solid var(--border)}
.resource-row{display:grid;grid-template-columns:minmax(0,1fr) 90px 42px 42px;align-items:stretch;border-bottom:1px solid var(--border)}
.resource-row.is-selected{box-shadow:inset 3px 0 var(--teal);background:rgba(13,148,136,.055)}
.resource-row-main{display:grid;grid-template-columns:100px minmax(150px,.65fr) minmax(220px,1fr);align-items:center;gap:.8rem;min-width:0;border:0;background:transparent;padding:.75rem 1rem;color:var(--ink);text-align:left;cursor:pointer}
.resource-row-main:hover strong{color:var(--accent)}
.resource-row-kind,.resource-row-meta{color:var(--ink4);font-family:var(--mono);font-size:.56rem;text-transform:uppercase}
.resource-row-main strong{font-family:var(--serif);font-size:1rem;line-height:1.2}
.resource-row-main small{overflow:hidden;color:var(--ink3);font-size:.7rem;text-overflow:ellipsis;white-space:nowrap}
.resource-row-meta{display:grid;place-items:center;padding:.4rem;border-left:1px solid var(--border)}
.resource-row-icon,.resource-favorite{border:0;border-left:1px solid var(--border);background:transparent;color:var(--ink3);font-size:1rem;cursor:pointer}
.resource-row-icon:hover,.resource-favorite:hover{color:var(--accent);background:rgba(194,65,12,.05)}
.resource-empty{padding:2rem;color:var(--ink3)}
.resource-inspector{padding:1rem 0 1rem 1rem}
.resource-inspector-head{display:flex;align-items:center;justify-content:space-between}
.resource-favorite{width:40px;height:40px;border:1px solid var(--border);border-radius:4px}
.resource-inspector>p{margin-top:.5rem;color:var(--ink3);font-size:.78rem;line-height:1.6}
.resource-metadata{margin-top:1rem;border-top:1px solid var(--border)}
.resource-metadata div{display:flex;justify-content:space-between;gap:1rem;padding:.55rem 0;border-bottom:1px solid var(--border)}
.resource-metadata dt{color:var(--ink4);font-family:var(--mono);font-size:.57rem;text-transform:uppercase}.resource-metadata dd{font-size:.72rem}
.resource-tags{display:flex;flex-wrap:wrap;gap:.35rem;margin-top:.8rem}
.resource-tags span{border:1px solid var(--border);border-radius:3px;padding:.2rem .4rem;color:var(--ink3);font-family:var(--mono);font-size:.53rem}
.resource-note{margin-top:1rem}.resource-note textarea{min-height:150px}
.resource-inspector>.primary{width:100%;margin-top:.6rem}
.quick-tools-grid{display:grid;grid-template-columns:clamp(380px,24vw,460px) minmax(0,1fr);border-bottom:1px solid var(--ink);border-left:1px solid var(--border)}
.quick-tools-grid[hidden]{display:none}
.quick-tools-grid>.tool-panel{grid-column:auto;border-bottom:0}
.password-output-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:.4rem}
.password-output-row output{display:flex;min-height:46px;align-items:center;overflow-wrap:anywhere;border:1px solid var(--ink);border-radius:4px;background:#fff;padding:.55rem .65rem;font:500 .78rem/1.4 var(--mono)}
.password-length{margin-top:1rem}.password-length>span{display:flex;justify-content:space-between}.password-length input{padding:0;border:0;background:transparent;accent-color:var(--teal)}
.password-options{display:grid;grid-template-columns:1fr 1fr;gap:.45rem;margin-top:1rem;border:0}.password-options label{display:flex;align-items:center;gap:.45rem;color:var(--ink2);font-size:.68rem}.password-options input{accent-color:var(--teal)}
.password-strength{display:grid;grid-template-columns:1fr auto;gap:.25rem;margin-top:1rem;padding-top:.75rem;border-top:1px solid var(--border)}.password-strength span,.password-strength small{color:var(--ink4);font-family:var(--mono);font-size:.56rem}.password-strength small{grid-column:1 / -1}.password-strength strong{font-family:var(--serif)}
.screenshot-toolbar{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:.7rem}.screenshot-mode{width:190px}
.screenshot-canvas-wrap{position:relative;display:grid;min-height:360px;place-items:center;overflow:auto;border:1px solid var(--ink);background:var(--bg2)}
.screenshot-canvas-wrap canvas{display:block;width:100%;height:auto;max-height:650px;object-fit:contain;touch-action:none;cursor:crosshair}
.screenshot-canvas-wrap>p{position:absolute;color:var(--ink4);font-family:var(--mono);font-size:.64rem;pointer-events:none}.screenshot-canvas-wrap>p[hidden]{display:none}
.screenshot-export{display:grid;grid-template-columns:minmax(180px,1fr) 120px auto;align-items:end;gap:.5rem;margin-top:.7rem}


.systems-canvas{border-top:1px solid var(--ink);border-bottom:1px solid var(--ink)}
.canvas-toolbar{display:grid;grid-template-columns:170px minmax(180px,1fr) auto auto auto auto auto minmax(90px,auto);gap:.55rem;align-items:end;padding:.7rem;border-bottom:1px solid var(--border);background:rgba(245,242,236,.82)}
.canvas-autosave{display:inline-flex;min-height:38px;align-items:center;gap:.45rem;padding:0 .65rem;border:1px solid var(--border);background:var(--bg);color:var(--muted);font-family:var(--mono);font-size:.6rem;white-space:nowrap}
.canvas-autosave input{width:14px;height:14px;margin:0;accent-color:var(--accent)}
.canvas-title-field{max-width:360px}
.canvas-toolbar-group{display:flex;gap:.35rem}
.canvas-history-button{width:38px;padding:0;font-size:1rem}
.canvas-export-menu{position:relative}
.canvas-export-menu summary{display:grid;place-items:center;list-style:none;cursor:pointer}
.canvas-export-menu summary::-webkit-details-marker{display:none}
.canvas-export-menu>div{position:absolute;z-index:25;right:0;top:calc(100% + 4px);display:grid;width:150px;border:1px solid var(--ink);background:var(--bg);box-shadow:0 12px 24px rgba(28,25,23,.14)}
.canvas-export-menu button{min-height:38px;border:0;border-bottom:1px solid var(--border);background:transparent;color:var(--ink2);font-family:var(--mono);font-size:.6rem;text-align:left;padding:.5rem .7rem;cursor:pointer}.canvas-export-menu button:hover{color:var(--accent)}
.canvas-quick-start{display:grid;grid-template-columns:minmax(220px,1fr) 150px minmax(220px,340px) auto;align-items:end;gap:.65rem;padding:.75rem;border-bottom:1px solid var(--ink);background:rgba(237,233,224,.62)}
.canvas-quick-start>div{align-self:center}.canvas-quick-start>div span{display:block;color:var(--teal);font-family:var(--mono);font-size:.56rem;text-transform:uppercase}.canvas-quick-start>div strong{display:block;margin-top:.18rem;font-family:var(--serif);font-size:1rem}
.canvas-quick-start>p{grid-column:1 / -1;color:var(--ink4);font-size:.64rem}
.canvas-workspace{display:grid;grid-template-columns:clamp(160px,10vw,190px) minmax(0,1fr) clamp(300px,19vw,360px);height:clamp(620px,72vh,880px)}
.canvas-palette{display:flex;overflow-y:auto;flex-direction:column;border-right:1px solid var(--border);background:rgba(245,242,236,.72)}
.canvas-palette>span,.canvas-inspector-head>span{padding:.7rem;color:var(--teal);font-family:var(--mono);font-size:.57rem;text-transform:uppercase;letter-spacing:.08em}
.canvas-palette button{display:flex;align-items:center;gap:.6rem;min-height:42px;border:0;border-top:1px solid var(--border);background:transparent;color:var(--ink2);padding:.5rem .7rem;font-size:.72rem;text-align:left;cursor:pointer}
.canvas-palette button:hover{background:rgba(13,148,136,.07);color:var(--teal)}
.canvas-palette p{margin-top:auto;padding:.7rem;color:var(--ink4);font-size:.62rem;line-height:1.55}
.node-swatch{display:inline-block;width:16px;height:16px;border:1.5px solid currentColor;background:rgba(13,148,136,.08)}
.node-swatch.decision,.node-swatch.condition,.node-swatch.failure{transform:rotate(45deg);color:#c2410c}.node-swatch.note,.node-swatch.link,.node-swatch.delay{border-radius:50%;color:#b45309}.node-swatch.database{border-radius:50% / 25%;color:#2563eb}.node-swatch.document{border-radius:2px;color:#57534e}.node-swatch.tool,.node-swatch.trigger{color:#15803d}.node-swatch.grimoire,.node-swatch.approval{color:#7c3aed}.node-swatch.library-note{color:#be185d}.node-swatch.link{color:#475569}.node-swatch.action{color:#0d9488}.node-swatch.failure{border-style:dashed;color:#be123c}
.canvas-stage{position:relative;min-width:0;overflow:hidden;background-color:#f5f2ec;background-image:linear-gradient(rgba(28,25,23,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(28,25,23,.035) 1px,transparent 1px);background-size:24px 24px}
#canvas-graph{position:absolute;inset:0}
.canvas-connection-preview{position:absolute;z-index:3;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none}
.canvas-connection-preview line{display:none;stroke:var(--accent);stroke-width:2;stroke-dasharray:5 4;marker-end:url(#canvas-preview-arrow)}
.canvas-connection-preview path{fill:var(--accent)}
.canvas-connection-preview.is-active line{display:block}
.canvas-node-ports{position:absolute;z-index:4;inset:0;pointer-events:none}
.canvas-node-ports[hidden]{display:none}
.canvas-node-ports button{position:absolute;width:14px;height:14px;border:2px solid #fff;border-radius:50%;background:var(--accent);box-shadow:0 0 0 1px var(--accent),0 2px 5px rgba(28,25,23,.22);padding:0;transform:translate(-50%,-50%);pointer-events:auto;cursor:crosshair;touch-action:none}
.canvas-node-ports button::before{position:absolute;inset:-10px;border-radius:50%;content:""}
.canvas-node-ports button:hover,.canvas-node-ports button:focus-visible{width:18px;height:18px;outline:0}
.canvas-empty{position:absolute;top:50%;left:50%;display:grid;gap:.2rem;transform:translate(-50%,-50%);pointer-events:none;text-align:center;color:var(--ink3)}
.canvas-empty[hidden]{display:none}.canvas-empty strong{font-family:var(--serif);font-size:1.3rem}.canvas-empty span{font-size:.72rem}
.canvas-run-status{position:absolute;z-index:4;right:.7rem;bottom:.7rem;max-width:min(420px,calc(100% - 1.4rem));border:1px solid var(--border);background:rgba(245,242,236,.94);padding:.5rem .7rem;color:var(--teal);font-family:var(--mono);font-size:.58rem;pointer-events:none}.canvas-run-status:empty{display:none}
.canvas-present-exit{display:none}
.whiteboard-presenting{overflow:hidden}
.systems-canvas.is-presenting{position:fixed;z-index:1000;inset:0;border:0;background:var(--bg)}
.systems-canvas.is-presenting .canvas-toolbar,.systems-canvas.is-presenting .canvas-quick-start,.systems-canvas.is-presenting .canvas-palette,.systems-canvas.is-presenting .canvas-inspector{display:none}
.systems-canvas.is-presenting .canvas-workspace{display:block;height:100vh}
.systems-canvas.is-presenting .canvas-stage{width:100%;height:100vh}
.systems-canvas.is-presenting .canvas-present-exit{position:absolute;z-index:8;top:1rem;right:1rem;display:block;border:1px solid var(--ink);border-radius:4px;background:rgba(245,242,236,.94);padding:.55rem .75rem;color:var(--ink);font-family:var(--mono);font-size:.6rem;cursor:pointer}
.systems-canvas.is-presenting .canvas-search-trigger{top:1rem;left:1rem}
.canvas-search-trigger{position:absolute;z-index:4;top:.7rem;left:.7rem;border:1px solid var(--border);border-radius:4px;background:rgba(245,242,236,.92);padding:.45rem .6rem;color:var(--ink2);font-family:var(--mono);font-size:.58rem;cursor:pointer}
.canvas-search-panel{position:absolute;z-index:5;top:.7rem;left:.7rem;display:grid;grid-template-columns:minmax(200px,320px) 34px;min-width:280px;border:1px solid var(--ink);border-radius:4px;background:var(--bg);box-shadow:0 8px 20px rgba(28,25,23,.14);animation:workbench-overlay-in 180ms cubic-bezier(.2,.75,.25,1) both}
.canvas-search-panel[hidden]{display:none}.canvas-search-panel input{height:40px;border:0;background:transparent;padding:0 .65rem;outline:none}.canvas-search-panel button{border:0;border-left:1px solid var(--border);background:transparent;cursor:pointer}.canvas-search-panel output{grid-column:1 / -1;padding:.3rem .65rem;border-top:1px solid var(--border);color:var(--ink4);font-family:var(--mono);font-size:.55rem}
.canvas-inspector{min-width:0;overflow:auto;border-left:1px solid var(--border);background:rgba(237,233,224,.78);padding:0 .8rem .8rem}
.canvas-inspector-head{display:grid;padding-bottom:.6rem;border-bottom:1px solid var(--border)}.canvas-inspector-head>span{padding-left:0}.canvas-inspector-head strong{font-family:var(--serif);font-size:1.1rem}
.canvas-inspector fieldset{border:0;margin-top:.8rem}.canvas-inspector fieldset:disabled{opacity:.48}
.canvas-inspector input[type="color"]{padding:.2rem}
@media(max-width:1240px){
  .desk-grid{grid-template-columns:minmax(0,1fr) minmax(280px,.72fr)}
  .desk-os-grid{grid-template-columns:minmax(0,1fr) minmax(320px,.75fr)}
  .desk-panel:last-child{grid-column:1 / -1;border-top:1px solid var(--border)}
  .billing-layout{grid-template-columns:300px minmax(0,1fr)}
  .budget-layout{grid-template-columns:320px minmax(0,1fr)}
  .personal-budget-layout{grid-template-columns:320px minmax(0,1fr)}
  .personal-budget-layout>.billing-summary{grid-column:1 / -1;border-top:1px solid var(--border)}
  .billing-summary{grid-column:1 / -1;border-top:1px solid var(--border);border-left:0!important}
  .summary-metrics{display:grid;grid-template-columns:repeat(3,1fr)}
  .summary-metric{display:block;padding:.7rem;border-right:1px solid var(--border)}
  .summary-metric:last-child{border-right:0}
  .summary-metric strong{display:block;margin-top:.2rem;text-align:left}
}
@media(max-width:1120px){
  .desk-grid{grid-template-columns:minmax(0,1fr) minmax(280px,.72fr)}
  .desk-os-grid{grid-template-columns:minmax(0,1fr) minmax(320px,.75fr)}
  .desk-panel:last-child{grid-column:1 / -1;border-top:1px solid var(--border)}
  .recent-workspaces{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 1rem}
  .billing-layout{grid-template-columns:250px minmax(0,1fr)}
  .budget-layout{grid-template-columns:300px minmax(0,1fr)}
  .personal-budget-layout{grid-template-columns:300px minmax(0,1fr)}
  .personal-budget-layout>.billing-summary{grid-column:1 / -1;border-top:1px solid var(--border)}
  .expense-form{grid-template-columns:1fr 1fr}
  .expense-form>.primary{grid-column:1 / -1}
  .billing-summary{grid-column:1 / -1;border-top:1px solid var(--border);border-left:0!important}
  .summary-metrics{display:grid;grid-template-columns:repeat(3,1fr)}
  .summary-metric{display:block;padding:.7rem;border-right:1px solid var(--border)}
  .summary-metric strong{display:block;margin-top:.2rem;text-align:left}
  .tool-panel.third{grid-column:span 6}
  .artifact-workspace{grid-template-columns:340px minmax(0,1fr)}
  .artifact-workspace.checklist-workspace{grid-template-columns:1fr}
  .funnel-pattern-controls{grid-template-columns:1fr 1fr}
  .mode-toolbar{grid-template-columns:1fr;align-items:start;gap:1rem}
  .funnel-pattern-stages{overflow-x:auto;grid-template-columns:repeat(5,230px)}
  .resource-controls{grid-template-columns:minmax(220px,1fr) 170px 220px}
  .resource-backup{grid-column:1 / -1;justify-content:flex-start}
  .resource-workspace{grid-template-columns:minmax(0,1fr) 300px}
  .checklist-workspace{grid-template-columns:1fr}
  .checklist-workspace>.tool-panel{grid-column:1 / -1}
  .resource-row-main{grid-template-columns:80px minmax(130px,.7fr) minmax(160px,1fr)}
  .canvas-toolbar{grid-template-columns:160px minmax(180px,1fr) repeat(3,auto)}
  .canvas-toolbar-group,.canvas-export-menu,.canvas-toolbar>.tool-status{align-self:end}
  .canvas-toolbar>.tool-status{grid-column:1 / -1}
  .canvas-quick-start{grid-template-columns:1fr 1fr}
  .canvas-quick-start>div,.canvas-quick-start>p,.canvas-quick-start>.primary{grid-column:1 / -1}
  .canvas-workspace{grid-template-columns:150px minmax(0,1fr) 270px}
}
@media(max-width:760px){
  .workbench-frame{width:calc(100% - 1rem);padding-top:1rem}
  .workbench-header{align-items:flex-start;flex-direction:column;gap:.8rem}
  .workbench-header h1{font-size:2.35rem}
  .workbench-nav{margin:0 -.5rem}
  .desk-command-head{align-items:flex-start;flex-direction:column}
  .desk-grid{display:block;border-left:0}
  .desk-panel{border-right:0;border-top:1px solid var(--border)}
  .recent-workspaces{grid-template-columns:1fr}
  .desk-link-list.two-col{grid-template-columns:1fr}
  .desk-link-list.two-col a:nth-child(odd){border-right:0}
  .command-palette{padding-top:8vh}
  .command-input-wrap{grid-template-columns:1fr 42px}
  .command-input-wrap span{grid-column:1 / -1;padding:.65rem .8rem .2rem}
  .command-input-wrap input{border-left:0}
  .command-results button{grid-template-columns:1fr;gap:.15rem}
  .workbench-ledger-row{grid-template-columns:42px 1fr;gap:.5rem .8rem;padding:1rem .25rem}
  .workbench-ledger-row p,.workbench-ledger-state{grid-column:2;justify-self:start}
  .workbench-desk-note{grid-template-columns:1fr;gap:.5rem}
  .billing-layout{display:block}
  .budget-layout{display:block}
  .personal-budget-layout{display:block}
  .workbench-panel+.workbench-panel{border-left:0;border-top:1px solid var(--border)}
  .workbench-field-inline{grid-template-columns:1fr}
  .period-toolbar{grid-template-columns:1fr}
  .billing-day{min-height:48px;aspect-ratio:auto;padding:.3rem}
  .billing-day-state{font-size:.44rem}
  .summary-metrics{grid-template-columns:1fr 1fr}
  .summary-metric:nth-child(2n){border-right:0}
  .summary-actions{grid-template-columns:1fr}
  .summary-actions .primary{grid-column:1}
  .tool-panel,.tool-panel.third{grid-column:1 / -1}
  .artifact-workspace{display:block}
  .artifact-output-panel{border-top:1px solid var(--border);border-left:0}
  .artifact-output{min-height:380px}
  .checklist-row{grid-template-columns:30px minmax(0,1fr);padding:.55rem 0}
  .checklist-row button{grid-column:2;justify-self:start}
  .funnel-pattern-controls{width:100%;grid-template-columns:1fr 1fr}
  .tool-row,.tool-row.three{grid-template-columns:1fr}
  .clock-grid{grid-template-columns:1fr}
  .remote-clock-grid{grid-template-columns:1fr 1fr}
  .timer-inputs{grid-template-columns:repeat(3,1fr)}
  .metric-strip{grid-template-columns:1fr 1fr}
  .metric-strip div:nth-child(2){border-right:0}
  .resource-controls{grid-template-columns:1fr}
  .resource-collections-head{align-items:flex-start;flex-direction:column}
  .resource-collection-list{grid-template-columns:1fr 1fr}
  .resource-collection-list button{min-height:72px}
  .resource-backup{grid-column:auto}
  .resource-workspace{display:block}
  .resource-directory{border-right:0}
  .resource-row{grid-template-columns:minmax(0,1fr) 40px 40px}
  .resource-row-main{grid-template-columns:1fr;padding:.7rem}
  .resource-row-main small{white-space:normal}
  .resource-row-kind{order:-1}
  .resource-row-meta{display:none}
  .resource-inspector{border-top:1px solid var(--ink);padding:1rem 0}
  .quick-tools-grid{display:block}
  .password-output-row{grid-template-columns:1fr 1fr}
  .password-output-row output{grid-column:1 / -1}
  .screenshot-canvas-wrap{min-height:220px}
  .screenshot-export{grid-template-columns:1fr 1fr}
  .screenshot-export>.primary{grid-column:1 / -1}
  .canvas-toolbar{grid-template-columns:1fr 1fr}
  .canvas-title-field{max-width:none}
  .canvas-autosave{justify-content:center}
  .canvas-toolbar-group{flex-wrap:wrap}
  .canvas-toolbar>.tool-status{grid-column:1 / -1}
  .canvas-workspace{display:block;height:auto}
  .canvas-palette{display:grid;grid-template-columns:repeat(3,1fr);border-right:0;border-bottom:1px solid var(--border)}
  .canvas-palette>span,.canvas-palette p{grid-column:1 / -1}
  .canvas-palette p{margin-top:0}
  .canvas-stage{height:520px}
  .canvas-inspector{max-height:none;border-top:1px solid var(--border);border-left:0;padding:0 .8rem .8rem}
  .expense-form{grid-template-columns:1fr 1fr}
  .expense-form>.primary{grid-column:1 / -1}
}

/* Calculator (Billing sub-view) — currency-aware + variables engine */
#calculator-workspace{padding:1.15rem}
#calculator-workspace[hidden]{display:none}
.calc-frame{width:min(1480px,100%);margin:0 auto;padding:1.4rem 0 3rem}
.calc-topline{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}
.calc-eyebrow{color:var(--teal);font-family:var(--mono);font-size:.62rem;letter-spacing:.12em;text-transform:uppercase}
.calc-local{display:flex;align-items:center;gap:.5rem;color:var(--ink3);font-family:var(--mono);font-size:.62rem;white-space:nowrap}
.calc-local i{width:7px;height:7px;border-radius:50%;background:var(--green);box-shadow:0 0 0 4px rgba(21,128,61,.1)}
.calc-frame h1{margin:.5rem 0 .3rem;font-family:var(--serif);font-size:clamp(2.2rem,4vw,3.4rem);font-weight:600;line-height:1}
.calc-lede{max-width:64ch;color:var(--ink3);font-size:.9rem;margin:0 0 1.4rem}
.calc-lede code{font-family:var(--mono);font-size:.82em;background:var(--bg2);border:1px solid var(--border2);border-radius:4px;padding:.05em .3em}

.calc-shell{display:grid;grid-template-columns:minmax(540px,1.8fr) minmax(320px,.9fr);width:min(100%,1400px);margin-inline:auto;border:1px solid var(--ink);border-radius:5px;overflow:hidden;background:rgba(245,242,236,.66)}
.calc-panel{min-width:0;padding:1rem}
.calc-panel+.calc-panel{border-left:1px solid var(--border)}
.calc-main{background:rgba(255,255,255,.24)}
.calc-panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:.8rem}
.calc-panel-head span{color:var(--teal);font-family:var(--mono);font-size:.58rem;text-transform:uppercase;letter-spacing:.08em}
.calc-panel-head h2{margin:.25rem 0 0;font-family:var(--serif);font-size:1.25rem;line-height:1.15;font-weight:600}
.calc-panel-head p{margin:.25rem 0 0;color:var(--ink4);font-size:.7rem}
.calc-panel-head kbd{font-family:var(--mono);font-size:.9em}
.calc-side{background:rgba(237,233,224,.72);display:grid;gap:1rem;align-content:start}
.calc-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:.7rem;margin-bottom:.55rem}
.calc-card-head span{color:var(--teal);font-family:var(--mono);font-size:.56rem;text-transform:uppercase;letter-spacing:.08em}
.calc-card-head h3{margin:.15rem 0 0;font-family:var(--serif);font-size:1.02rem;line-height:1.15;font-weight:600;color:var(--ink)}

.calc-toggles{display:flex;flex-wrap:wrap;gap:.45rem;margin-bottom:.85rem}
.calc-seg{display:inline-grid;grid-auto-flow:column;border:1px solid var(--border);border-radius:4px;overflow:hidden}
.calc-seg[hidden]{display:none}
.calc-seg button{min-height:32px;border:0;background:transparent;padding:0 .75rem;color:var(--ink3);font-family:var(--mono);font-size:.6rem;letter-spacing:.04em;cursor:pointer;transition:.12s}
.calc-seg button+button{border-left:1px solid var(--border)}
.calc-seg button[aria-pressed="true"]{background:var(--ink);color:var(--dark-fg)}
.calc-seg button:not([aria-pressed="true"]):hover{color:var(--accent)}

.calc-display{position:relative;border:1px solid var(--ink);border-radius:5px;background:#fff;padding:.85rem 1rem;margin-bottom:.85rem;text-align:right;overflow:hidden}
.calc-mem-flag{position:absolute;left:.9rem;top:.75rem;color:var(--teal);font-family:var(--mono);font-size:.56rem;letter-spacing:.08em;opacity:0;transition:.15s}
.calc-mem-flag.on{opacity:1}
.calc-expr{min-height:1.1rem;color:var(--ink3);font:400 .85rem/1.45 var(--mono);word-break:break-all}
.calc-resultline{display:flex;align-items:baseline;justify-content:flex-end;gap:.5rem;margin-top:.35rem}
.calc-cur-chip{color:var(--teal);font-family:var(--mono);font-size:.72rem;opacity:0;transition:.15s}
.calc-cur-chip.on{opacity:1}
.calc-result{font:600 2.35rem/1.02 var(--serif);color:var(--ink);word-break:break-all}
.calc-result.is-error{font:500 1.25rem/1.4 var(--mono);color:var(--accent)}

.calc-sci{display:grid;grid-template-columns:repeat(4,1fr);gap:.4rem;margin-bottom:.55rem}
.calc-sci[hidden]{display:none}
.calc-sci:not([hidden]),.calc-currency-tools:not([hidden]),.calc-seg:not([hidden]){animation:workbench-panel-in 180ms cubic-bezier(.2,.75,.25,1) both}
.calc-keys{display:grid;grid-template-columns:repeat(4,1fr);gap:.42rem}
.calc-key{display:grid;place-items:center;min-height:50px;border:1px solid var(--border);border-radius:4px;background:rgba(255,255,255,.7);color:var(--ink);font:500 1rem/1 var(--mono);cursor:pointer;transition:transform .1s,border-color .12s,color .12s,background .12s;user-select:none}
.calc-key:hover{border-color:var(--accent);color:var(--accent);transform:translateY(-1px)}
.calc-key:active{transform:translateY(0)}
.calc-sci .calc-key{min-height:38px;font-size:.76rem}
.calc-key.op{background:var(--bg2);color:var(--ink2)}
.calc-key.fn{color:var(--teal);font-size:.82rem}
.calc-key.util{color:var(--accent)}
.calc-key.mem{min-height:34px;font-size:.62rem;color:var(--ink3)}
.calc-key.equals{background:var(--ink);border-color:var(--ink);color:var(--dark-fg);font-size:1.35rem}
.calc-key.equals:hover{background:var(--accent);border-color:var(--accent);color:#fff}
.calc-key.span2{grid-column:span 2}
.calc-mem-row{display:grid;grid-template-columns:repeat(5,1fr);gap:.35rem;margin-bottom:.55rem}
.calc-currency-tools{border:1px solid var(--border);border-radius:5px;background:rgba(255,255,255,.45);padding:.7rem;margin-bottom:.65rem}
.calc-currency-tools[hidden]{display:none}
.calc-currency-toolbar{display:grid;grid-template-columns:1fr minmax(120px,auto);gap:.7rem;align-items:end;margin-bottom:.55rem}
.calc-tool-label,.calc-display-currency span{display:block;margin-bottom:.35rem;color:var(--teal);font-family:var(--mono);font-size:.54rem;text-transform:uppercase;letter-spacing:.08em}
.calc-display-currency select{width:100%;min-height:34px;border:1px solid var(--border);border-radius:4px;background:rgba(255,255,255,.76);color:var(--ink);padding:.25rem .45rem;font:400 .68rem var(--mono)}
.calc-cur-row{display:grid;grid-template-columns:repeat(5,1fr);gap:.35rem}
.calc-key.cur{min-height:38px;font-size:.66rem;color:var(--amber)}

/* side rail forms */
.calc-mini-form{display:grid;grid-template-columns:1fr 1fr auto;gap:.4rem;margin-bottom:.6rem}
.calc-mini-form input{min-width:0;min-height:34px;border:1px solid var(--border);border-radius:4px;background:rgba(255,255,255,.64);color:var(--ink);padding:.4rem .5rem;font:400 .74rem var(--mono);outline:none}
.calc-mini-form input:focus{border-color:var(--teal);box-shadow:0 0 0 3px rgba(13,148,136,.09)}
.calc-mini-form button{border:1px solid var(--ink);border-radius:4px;background:var(--ink);color:var(--dark-fg);padding:0 .7rem;font-family:var(--mono);font-size:.62rem;cursor:pointer;transition:.12s}
.calc-mini-form button:hover{background:var(--accent);border-color:var(--accent)}
.calc-var-list,.calc-history{list-style:none;margin:0;padding:0;border-top:1px solid var(--border)}
.calc-var-list li{display:grid;grid-template-columns:1fr auto;align-items:center;border-bottom:1px solid var(--border)}
.calc-var-list button.v-use{border:0;background:transparent;padding:.5rem .1rem;text-align:left;cursor:pointer;min-width:0}
.calc-var-list button.v-use:hover .v-name{color:var(--accent)}
.calc-var-list .v-name{font-family:var(--mono);font-size:.72rem;color:var(--ink)}
.calc-var-list .v-val{color:var(--ink3);font-family:var(--serif);font-size:.92rem}
.calc-var-list button.v-del{border:0;border-left:1px solid var(--border);background:transparent;color:var(--ink4);padding:.4rem .55rem;cursor:pointer;font-size:.85rem}
.calc-var-list button.v-del:hover{color:var(--accent)}
.calc-empty{padding:1rem .1rem;color:var(--ink4);font-size:.72rem}

/* rates */
.calc-rates{display:grid;gap:.35rem}
.calc-rate{display:grid;grid-template-columns:56px 1fr 48px;align-items:center;gap:.5rem}
.calc-rate label{color:var(--ink2);font-family:var(--mono);font-size:.68rem}
.calc-rate input{min-width:0;min-height:32px;border:1px solid var(--border);border-radius:4px;background:rgba(255,255,255,.64);color:var(--ink);padding:.3rem .45rem;font:400 .72rem var(--mono);outline:none;text-align:right}
.calc-rate input:focus{border-color:var(--teal);box-shadow:0 0 0 3px rgba(13,148,136,.09)}
.calc-rate small{color:var(--ink4);font-family:var(--mono);font-size:.54rem}

.calc-history{max-height:280px;overflow:auto}
.calc-history li{border-bottom:1px solid var(--border)}
.calc-history button{width:100%;display:grid;gap:.15rem;border:0;background:transparent;padding:.55rem .1rem;text-align:right;cursor:pointer;transition:.12s}
.calc-history button:hover{background:rgba(13,148,136,.05)}
.calc-history .h-expr{color:var(--ink4);font-family:var(--mono);font-size:.62rem;word-break:break-all}
.calc-history .h-val{color:var(--ink);font-family:var(--serif);font-size:1.05rem}
.calc-side-actions{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}
.calc-side-actions button{border:1px solid var(--border);border-radius:4px;background:var(--bg);color:var(--ink2);padding:.35rem .6rem;font-family:var(--mono);font-size:.58rem;cursor:pointer;transition:.12s}
.calc-side-actions button:hover{border-color:var(--accent);color:var(--accent)}
.calc-note{margin:.4rem 0 0;color:var(--ink4);font-size:.62rem;line-height:1.55}
.calc-note code{font-family:var(--mono)}
.calc-toast{min-height:1.1rem;margin-top:.4rem;color:var(--green);font-family:var(--mono);font-size:.58rem}
.calc-details{border-top:1px solid var(--border);padding-top:.75rem}
.calc-details summary{cursor:pointer;color:var(--ink2);font-family:var(--mono);font-size:.62rem;letter-spacing:.04em;text-transform:uppercase}
.calc-details summary:hover{color:var(--accent)}
.calc-details-head{display:flex;align-items:center;justify-content:space-between;gap:.7rem;margin:.65rem 0 .55rem}
.calc-details-head p{margin:0;color:var(--ink4);font-size:.66rem;line-height:1.45}
.calc-details-head button{border:1px solid var(--border);border-radius:4px;background:var(--bg);color:var(--ink3);padding:.25rem .55rem;font-family:var(--mono);font-size:.54rem;cursor:pointer;transition:.12s}
.calc-details-head button:hover{border-color:var(--accent);color:var(--accent)}
.calc-variable-tools{border-top:1px solid var(--border)}

@media(max-width:860px){
  .calc-shell{grid-template-columns:1fr;width:100%}
  .calc-panel+.calc-panel{border-left:0;border-top:1px solid var(--border)}
}
@media(max-width:520px){
  .calc-panel{padding:.85rem}
  .calc-currency-toolbar{grid-template-columns:1fr}
  .calc-mini-form{grid-template-columns:1fr}
  .calc-key{min-height:46px}
  .calc-result{font-size:2rem}
}

/* ── grouped nav (labeled sets) + desk ledger groups ── */
.workbench-nav{align-items:stretch}
.workbench-nav-set{flex:0 0 auto;display:flex;flex-direction:column;justify-content:flex-end}
.workbench-nav-set>span{padding:.28rem .9rem 0;border-right:0;font-size:.46rem;letter-spacing:.14em;text-transform:uppercase;color:var(--ink4)}
.workbench-nav-set-links{display:flex}
.workbench-nav-set-links a{padding-top:.36rem;padding-bottom:.58rem}
.workbench-nav-set+.workbench-nav-set{border-left:1px solid var(--border)}
.workbench-ledger-group{display:flex;align-items:baseline;gap:.7rem;padding:1.05rem 0 .4rem;border-bottom:1px solid var(--border)}
.workbench-ledger-group span{font-family:var(--mono);font-size:.6rem;letter-spacing:.12em;text-transform:uppercase;color:var(--teal)}
.workbench-ledger-group em{font-style:normal;color:var(--ink3);font-size:.74rem}
@media(max-width:760px){.workbench-nav-set>span{padding:.35rem .7rem .1rem}.workbench-ledger-group{flex-direction:column;gap:.15rem}}

@media(prefers-reduced-motion:reduce){
  @view-transition{navigation:none}
  .workbench-frame,.workbench-frame *{scroll-behavior:auto!important;animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}
  ::view-transition-old(root),::view-transition-new(root){animation:none!important}
}

/* ── desk backup panel ── */
.workbench-backup-actions{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap;margin-top:.8rem}
#backup-status{font-family:var(--mono);font-size:.62rem;color:var(--teal)}
