/* Appearance stays in the account area. Native popover supplies light dismissal. */
.appearance-popover{position:fixed;inset:94px max(24px,4vw) auto auto;margin:0;width:376px;max-width:calc(100vw - 32px);max-height:calc(100dvh - 112px);overflow:auto;overscroll-behavior:contain;padding:18px 20px 16px;background:#fcfdf9;color:var(--ink);border:1px solid #d7dfd2;border-radius:18px;box-shadow:0 18px 70px #17302226;scrollbar-width:thin}
.appearance-popover::backdrop{background:transparent}
.appearance-top{display:flex;align-items:center;gap:10px;border-bottom:1px solid var(--line);padding-bottom:15px;margin-bottom:18px}
.appearance-account-link{flex:1;display:flex;justify-content:space-between;align-items:center;text-align:left;min-height:44px;padding:10px 13px;border-radius:8px;background:#fff}
.appearance-top .icon-button{width:32px;min-width:32px;height:36px;font-size:24px}
.appearance-title h2{font-size:23px;letter-spacing:-.6px}.appearance-title p{font-size:12px;color:var(--muted);margin-top:5px}
.appearance-section{padding-top:20px}.appearance-section h3,.appearance-role-label{display:block;font-size:11px;font-weight:600;letter-spacing:1px;text-transform:uppercase;color:var(--muted);margin:0 0 10px}
.appearance-segment{display:grid;grid-template-columns:1fr 1.35fr;gap:5px;padding:5px;background:#edf1e8;border-radius:10px;border:1px solid var(--line)}
.appearance-segment button{min-height:44px;font-size:13px;background:transparent;border-color:transparent;padding:9px 10px}
.appearance-segment button[aria-pressed=true]{background:#fff;color:#244331;border-color:#e0e6dc;box-shadow:0 2px 6px #203e3112}
.transparency-toggle{display:flex;justify-content:space-between;align-items:center;gap:16px;font-size:13px;padding:14px 1px 0}
.transparency-toggle input{appearance:none;flex:none;width:36px;height:22px;min-height:0;padding:0;margin:0;border-radius:12px;border:1px solid #a7b8a1;background:#d3ded0;cursor:pointer;position:relative}
.transparency-toggle input::before{content:'';position:absolute;left:3px;top:3px;width:14px;height:14px;border-radius:50%;background:#fff;box-shadow:0 1px 2px #203e3126;transition:transform .16s}
.transparency-toggle input:checked{background:#356a4f;border-color:#356a4f}.transparency-toggle input:checked::before{transform:translateX(14px)}
.appearance-scenes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.appearance-scenes button{min-width:0;min-height:74px;overflow:hidden;padding:0;background:#f0f4eb;border:1px solid var(--line);border-radius:8px;text-align:center}
.appearance-scenes img{display:block;width:100%;height:48px;object-fit:cover}.appearance-scenes span{display:block;padding:7px 3px;font-size:11px}
.appearance-scenes button[aria-pressed=true]{border-color:#356a4f;box-shadow:0 0 0 2px #356a4f;outline-offset:4px}
.appearance-section select{width:100%;min-height:42px;font-size:13px}.appearance-help{font-size:11px;color:var(--muted);margin:7px 0 0}
.appearance-storage{display:flex;justify-content:space-between;gap:12px;font-size:11px;color:var(--muted);margin-top:18px;padding-top:14px;border-top:1px solid var(--line)}
.appearance-launch[aria-expanded=true]{background:#dce7d7;border-radius:9px}
/* Separate records have air between them; table rows remain part of one surface. */
.record-list{display:grid;gap:18px;margin-top:24px}.record-list>.resource-row.surface{border:1px solid var(--line);border-radius:14px;background:#fcfdf9;padding:22px 24px;min-height:90px}
.work-section + .work-section{margin-top:36px}.work-section>.surface + .surface{margin-top:18px}.work-section>.task-row + .task-row{margin-top:8px}
/* Restored from the approved archived concept-a.html token palette and glass recipe.
   Keep the later top navigation and the Solid account default. */
:root[data-design=glass]{color-scheme:dark;--ink:#f6f7f1;--muted:#c4cfcb;--green:#c4d9aa;--wash:#182728;--line:#ffffff24;--edge:#ffffff35;--glass:linear-gradient(135deg,#30473eb3,#182c26bf);--glass-shadow:inset 0 0 0 1px #ffffff09,inset 0 1px 0 #ffffff26,0 18px 45px #0002;--scene-shade:linear-gradient(110deg,#122c35b0,#172b2445 65%),linear-gradient(#17292b33,#11211f42 60%,#10231de0)}
:root[data-design=glass] body{background:var(--wash);isolation:isolate}
:root[data-design=glass] body::before{content:'';position:fixed;inset:0;z-index:-1;pointer-events:none;background:var(--scene-shade),var(--scene) center center/cover no-repeat}
:root[data-design=glass] :is(.notice,.todo,.surface,.group,.work-table,.person,.entry-page,dialog,.admin-resource,.appearance-popover,.signin-card){color:var(--ink);background:linear-gradient(130deg,#ffffff1f,transparent 36%,transparent 70%,#ffffff0a),var(--glass);border:1px solid var(--edge);box-shadow:var(--glass-shadow);backdrop-filter:blur(28px) saturate(140%);-webkit-backdrop-filter:blur(28px) saturate(140%)}
:root[data-design=glass] #topbar{color:var(--ink);border:1px solid var(--edge);box-shadow:var(--glass-shadow);backdrop-filter:blur(28px) saturate(140%);-webkit-backdrop-filter:blur(28px) saturate(140%);border-width:0 0 1px;background:linear-gradient(135deg,#344c42d9,#1b302ddb)}
:root[data-design=glass] #side-menu{color:var(--ink);border:1px solid var(--edge);box-shadow:var(--glass-shadow);backdrop-filter:blur(28px) saturate(140%);-webkit-backdrop-filter:blur(28px) saturate(140%);border-width:0 1px 0 0;background:linear-gradient(135deg,#344c42ed,#1b302de8)}
:root[data-design=glass] :is(.appearance-popover,dialog.account-card){background:linear-gradient(135deg,#52665aed,#20382fef)}
:root[data-design=glass] .dialog-head{background:#243a32e8;border-color:var(--line)}
:root[data-design=glass] dialog::backdrop{background:#0c1a1a66;backdrop-filter:blur(7px)}
:root[data-design=glass] dialog.account-card::backdrop{background:#0c1a1a18;backdrop-filter:none}
:root[data-design=glass] :where(button,input,select,textarea,.file-action):where(:not(.surface):not(.person)){color:var(--ink);background:#ffffff0d;border-color:var(--edge)}
:root[data-design=glass] :is(input,select,textarea){background:#253d35e8}
:root[data-design=glass] option{color:var(--ink);background:#293b37}
:root[data-design=glass] :is(input,textarea)::placeholder{color:#b9c9bf}
:root[data-design=glass] :is(button,.file-action):where(:not(.surface):not(.person)):hover{background:#ffffff1c;border-color:#ffffff55}
:root[data-design=glass] button.primary{background:#c4d9aa;color:#24372b;border-color:transparent}
:root[data-design=glass] button.primary:hover{background:#d4e5bf}
:root[data-design=glass] button.quiet{background:transparent;border-color:transparent;color:#d2e5bc}
:root[data-design=glass] button.danger{color:#f5c8bc}
:root[data-design=glass] .avatar{background:#d5e0c9;color:#314b36}:root[data-design=solid][data-theme=dark] .avatar{background:#34533c;color:#edf2ec}
:root[data-design=glass] #side-menu a:is(:hover,.active){background:#ffffff16}
:root[data-design=glass] :is(.greeting,.greeting em,.date-line,.intro-right,.admin-intro h1){color:var(--ink);text-shadow:none}
:root[data-design=glass] :is(.date-line,.intro-right,.notice p,.due,.admin-resource p){color:var(--muted)}
:root[data-design=glass] .due.overdue{color:#f0c1ac}
:root[data-design=glass] .home-intro{padding:0;background:transparent;backdrop-filter:none}
:root[data-design=glass] :is(.page-heading,.work-section>.section-head,.book-strip){background:transparent;box-shadow:none;backdrop-filter:none;border:0}
:root[data-design=glass] :is(.task-row,.resource-row):not(.surface){background:transparent;border-color:var(--line)}
:root[data-design=glass] :is(.task-row,.resource-row):not(.surface):hover{background:#ffffff0d}
:root[data-design=glass] th{background:#ffffff0a;color:var(--muted)}
:root[data-design=glass] td{border-color:var(--line)}
:root[data-design=glass] tbody tr[data-action]:hover{background:#ffffff0d}
:root[data-design=glass] :is(.task-dot,.document-icon,.flow span){background:#ffffff12;border-color:var(--edge);color:var(--muted)}
:root[data-design=glass] .staff-label{color:#efdeb6}
:root[data-design=glass] .chart-track{background:#ffffff18}
:root[data-design=glass] .chart-track span{background:#c4d9aa}
:root[data-design=glass] .dashboard-switch{background:#293f34ce;border-color:var(--edge);backdrop-filter:blur(28px)}
:root[data-design=glass] .dashboard-switch button[aria-pressed=true]{background:#c4d9aa;color:#24372b}
:root[data-design=glass] .role-preview-banner{background:#203c32f2;color:var(--ink);border-color:var(--edge)}
:root[data-design=glass] .role-preview-banner span span{color:var(--muted)}
:root[data-design=glass] :is(.role-view-options,.admin-stages) button[aria-pressed=true]{background:#c4d9aa;color:#24372b}
:root[data-design=glass] .appearance-segment{background:#162d2575;border-color:var(--edge)}
:root[data-design=glass] .appearance-segment button[aria-pressed=true]{background:#c4d9aa;color:#24372b;border-color:#e4edda40}
:root[data-design=glass] .appearance-scenes button[aria-pressed=true]{border-color:#c4d9aa;box-shadow:0 0 0 2px #c4d9aa}
:root[data-design=glass] .appearance-launch[aria-expanded=true]{background:#ffffff22}
:root[data-design=glass] .transparency-toggle input{background:#ffffff25;border-color:#c4cfcb}
:root[data-design=glass] .transparency-toggle input:checked{background:#c4d9aa;border-color:#c4d9aa}
:root[data-design=glass] .transparency-toggle input:checked::before{background:#284333}
/* The PDF remains paper; keep its tools legible in either workspace style. */
:root[data-design=glass] .pdf-reader :is(button,input){background:#fff;color:#203e31;border-color:#c1cebd}
:root[data-design=glass][data-transparency=reduced]{--glass:linear-gradient(135deg,#53655ced,#243a34f5)}
@media(prefers-reduced-transparency:reduce){:root[data-design=glass][data-transparency=system]{--glass:linear-gradient(135deg,#53655ced,#243a34f5)}}
@supports not (backdrop-filter:blur(1px)){:root[data-design=glass]{--glass:#293b37f0}}
@media(max-width:720px){.appearance-popover{inset:84px 16px auto auto;width:min(376px,calc(100vw - 32px));max-height:calc(100dvh - 100px);padding:16px}.record-list{gap:16px}.record-list>.resource-row.surface{padding:18px;min-height:84px}.home-grid{gap:24px}.company-charts{gap:24px}.work-section + .work-section{margin-top:30px}}
@media(prefers-reduced-motion:reduce){.transparency-toggle input::before{transition:none}}

:root[data-design=glass] :is(.surface,.person):hover{background:linear-gradient(130deg,#ffffff1f,transparent 36%,transparent 70%,#ffffff0a),var(--glass)}
:root:is([data-design=glass],[data-theme=dark]) .tabs.tabs :is(button,button:hover){background:transparent;border-color:transparent}
:root:is([data-design=glass],[data-theme=dark]) .tabs.tabs button.active{border-bottom-color:var(--green)}
.theme-segment{grid-template-columns:1fr 1fr;margin-top:10px}.appearance-title #appearance-save-state{min-height:20px}.appearance-title #appearance-save-state button{font-size:12px;padding:0 4px}
.session-history .group>summary .session-summary{display:flex;flex-wrap:wrap;align-items:baseline;gap:7px 18px;min-width:0}.session-summary time{white-space:nowrap}.session-summary small{display:block;line-height:1.6}.session-history h3{margin-bottom:10px}.session-history>.muted{margin-bottom:18px}
:root[data-design=solid][data-theme=dark]{color-scheme:dark;--ink:#edf2ec;--muted:#acbdb1;--line:#3b4d43;--green:#b6d6a7;--wash:#15211b}
:root[data-design=solid][data-theme=dark] body{background:linear-gradient(#14241ad9,#15211b 680px),var(--scene) center top/cover fixed}
:root[data-design=solid][data-theme=dark] :is(.notice,.todo,.surface,.group,.work-table,.person,.entry-page,dialog,.admin-resource,.appearance-popover,.record-list>.resource-row.surface,.signin-card){background:#202e25;color:var(--ink);border-color:var(--line);backdrop-filter:none}
:root[data-design=solid][data-theme=dark] :is(#topbar,#side-menu,.dialog-head){background:#1b2b22f7;color:var(--ink);border-color:var(--line)}
:root[data-design=solid][data-theme=dark] :is(button,input,select,textarea,.file-action){background:#2b3d31;color:var(--ink);border-color:#4a6050}
:root[data-design=solid][data-theme=dark] :is(button,.file-action):hover{background:#364d3c;border-color:#69816a}
:root[data-design=solid][data-theme=dark] :is(button.primary,.dashboard-switch button[aria-pressed=true],.appearance-segment button[aria-pressed=true],.admin-stages button[aria-pressed=true]){background:#bed9af;color:#203c28;border-color:#bed9af}
:root[data-design=solid][data-theme=dark] button.quiet{background:transparent;color:#bed9af;border-color:transparent}
:root[data-design=solid][data-theme=dark] :is(button.danger,.due.overdue){color:#f3b9a9}
:root[data-design=solid][data-theme=dark] :is(.appearance-segment,.dashboard-switch,.document-icon,.flow span){background:#17271c;border-color:var(--line)}
:root[data-design=solid][data-theme=dark] :is(.greeting,.greeting em,.date-line,.intro-right){color:var(--ink);text-shadow:none}
:root[data-design=solid][data-theme=dark] :is(.notice p,.admin-resource p,.due){color:var(--muted)}
:root[data-design=solid][data-theme=dark] th,:root[data-design=solid][data-theme=dark] .matrix :is(th:first-child,td:first-child){background:#27382c;color:var(--muted)}
:root[data-design=solid][data-theme=dark] .tag.green{background:#34533c;color:#d4ecc9}:root[data-design=solid][data-theme=dark] .tag.amber{background:#594e2a;color:#f2dfa3}:root[data-design=solid][data-theme=dark] .tag.red{background:#5d3931;color:#f2c9b9}:root[data-design=solid][data-theme=dark] .tag.neutral{background:#3b4a3f;color:#d5dfd5}
:root[data-design=solid][data-theme=dark] :is(.role-preview-banner,.notice-box){background:#273e2d;color:var(--ink);border-color:var(--line)}
:root[data-design=solid][data-theme=dark] :is(.appearance-scenes,.appearance-launch) button[aria-pressed=true]{border-color:#b6d6a7;box-shadow:0 0 0 2px #b6d6a7}
:root[data-design=solid][data-theme=dark] .appearance-launch[aria-expanded=true]{background:#39543f}
:root[data-design=solid][data-theme=dark] .pdf-reader :is(button,input){background:#fff;color:#203e31;border-color:#c1cebd}
:root[data-design=solid][data-theme=dark] .pdf-reader button[aria-pressed=true],:root[data-design=glass] .pdf-reader button[aria-pressed=true]{background:#dfe9d8;color:#203e31}
/* Dynamic form height must not reposition the adjacent introduction. */
.signin-layout{max-width:1100px;margin:8vh auto;display:grid;grid-template-columns:minmax(0,1fr) 440px;gap:90px;align-items:start}.signin-intro{padding-top:clamp(32px,6vh,64px)}.signin-intro .eyebrow{margin:22px 0}.signin-intro h1{font:52px/1.12 Georgia,serif;letter-spacing:-2px}.signin-intro>p:last-child{margin-top:24px;color:var(--muted)}.signin-card{background:#fcfdf9;border:1px solid var(--line);border-radius:22px;padding:32px;box-shadow:0 20px 70px #203e3112}.signin-card .tabs{margin-top:0;gap:25px}.signin-card h2{font-size:25px;margin:28px 0 12px}.signin-card p{color:var(--muted);font-size:13px}.signin-card form{margin-top:24px;display:grid;gap:18px}.signin-card label{display:grid;gap:8px;font-size:12px}.signin-card input{width:100%;padding:13px;border:1px solid #cbd6c6;border-radius:7px;background:#fff;color:#203e31}.signin-card form>button{min-height:46px;margin-top:8px}.signin-card label[hidden]{display:none}.form-trap{position:absolute!important;left:-10000px;overflow:hidden;width:1px;height:1px}.request-confirmation{padding:10px 0 30px}.check-grid{border:1px solid var(--line);border-radius:10px;padding:16px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.check-grid legend{font-size:12px;color:var(--muted);padding:0 8px}.request-row{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:22px 0;border-bottom:1px solid var(--line)}.request-row small{display:block;margin-top:7px}.person-access{margin:24px 0;padding:20px;border:1px solid var(--line);border-radius:10px}.person-access .actions{justify-content:flex-start;flex-wrap:wrap;margin:16px 0}.access-state{color:var(--green)}
@media(max-width:960px){.signin-layout{grid-template-columns:1fr;gap:30px;margin:2vh auto;max-width:460px}.signin-intro{padding-top:0}.signin-intro h1{font-size:38px}.signin-intro h1 br{display:none}.signin-intro>p:last-child{display:none}.signin-card{padding:26px}.check-grid{grid-template-columns:1fr}.request-row{align-items:start;flex-direction:column}}

/* A foreground always travels with its surface, including menus and account pages. */
:root{color-scheme:light;--paper:#fcfdf9;--field:#fff;--field-ink:#203e31;--field-muted:#5c7064;--status-paper:#f9e7df;--status-ink:#803c2d}
:root[data-design=solid][data-theme=dark]{color-scheme:dark;--paper:#202e25;--field:#2b3d31;--field-ink:#edf2ec;--field-muted:#c1d0c5;--status-paper:#512f2a;--status-ink:#ffd5c8}
:root[data-design=glass]{color-scheme:dark;--paper:#263e34;--field:#243b32;--field-ink:#f6f7f1;--field-muted:#d1ddd4;--status-paper:#512f2a;--status-ink:#ffd5c8;--muted:#d1ddd4}
.signin-card{color:var(--ink)}
.signin-card :is(input,select,textarea){background:var(--field);color:var(--field-ink);border-color:var(--line)}
:is(input,textarea)::placeholder{color:var(--field-muted);opacity:1}
.record-menu>div{background:var(--paper);color:var(--ink)}
:is(.signin-card,.dialog-body) .error,.error{background:var(--status-paper);color:var(--status-ink)}
:root[data-design=glass] :is(.notice-box,.matrix th:first-child,.matrix td:first-child){background:#263e34;color:var(--ink)}
:root:is([data-design=glass],[data-theme=dark]) :is(.arrow,.matrix button.blank,.flow span,.entry-breadcrumb,.definition dt){color:var(--muted)}
:root:is([data-design=glass],[data-theme=dark]) .progress{background:#42594a}
:root:is([data-design=glass],[data-theme=dark]) :is(nav a,.tabs button,.appearance-title p,.signin-card p){color:var(--muted)}
:root:is([data-design=glass],[data-theme=dark]) .tabs button.active{color:var(--ink)}
:root:not([data-design=glass]):not([data-theme=dark]) :is(th,.arrow,.matrix button.blank){color:#52664f}
:root:not([data-design=glass]):not([data-theme=dark]) .tag.amber{color:#76531d}
:root:not([data-design=glass]):not([data-theme=dark]) .tag.neutral{color:#58624f}
.book-cover,.book-cover :is(.cover-brand,.cover-footer){color:#243f32}
.skip{background:#fff;color:#203e31}
.pdf-reader{background:#e7ece4;color:#203e31}
button:disabled{opacity:1;background:var(--paper);color:var(--muted);border-color:var(--line)}
:root[data-design=glass] button:disabled,:root[data-design=solid][data-theme=dark] button:disabled{background:var(--paper);color:var(--muted);border-color:var(--line)}

:root:not([data-design=glass]):not([data-theme=dark]) body{background:linear-gradient(#f4f5efe8,#f4f5ef 740px),var(--scene) center top/100% auto no-repeat}
/* Normal transparency: panels at about 70% over the Option A scene shade, so the landscape shows through while
   text keeps at least 4.5:1 against the brightest blurred point of every scene. Reduced transparency stays near solid. */
.document-icon{color:#3b5b35}.tag.amber{color:#76531d}.tag.neutral{color:#58624f}
:root:is([data-design=glass],[data-theme=dark]) .document-icon{color:var(--muted)}
:root:not([data-design=glass]):not([data-theme=dark]){--muted:#52685b}
:root:not([data-design=glass]):not([data-theme=dark]) .search-launch{color:var(--muted)}
kbd{opacity:1;color:var(--muted)}.comment.resolved{opacity:1;color:var(--muted)}
:root[data-theme=dark]{--menu-bg:#202e25}
:root[data-design=glass]{--menu-bg:#243a32}
/* List toolbar: one slim row of matching pill controls in every theme.
   Search grows; filters size to their text and turn accented once set; the completed switch and count sit at the end. */
:root{--chev:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' fill='none'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%2356695d' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");--search-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' fill='none'%3E%3Ccircle cx='6' cy='6' r='4.75' stroke='%2356695d' stroke-width='1.5'/%3E%3Cpath d='M9.5 9.5L13 13' stroke='%2356695d' stroke-width='1.5' stroke-linecap='round'/%3E%3C/svg%3E");--control:#ffffffd9;--control-hover:#fff;--control-edge:#d3ddce}
:root:is([data-design=glass],[data-theme=dark]){--chev:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' fill='none'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%23d1ddd4' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");--search-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' fill='none'%3E%3Ccircle cx='6' cy='6' r='4.75' stroke='%23d1ddd4' stroke-width='1.5'/%3E%3Cpath d='M9.5 9.5L13 13' stroke='%23d1ddd4' stroke-width='1.5' stroke-linecap='round'/%3E%3C/svg%3E");--control:#ffffff12;--control-hover:#ffffff1f;--control-edge:#ffffff2e}
:root .toolbar.toolbar{gap:8px;align-items:center;margin-bottom:18px}
:root .toolbar.toolbar :is(input[type=search],select){height:38px;min-height:0;padding:0 14px;font-size:13px;line-height:36px;border-radius:999px;border:1px solid var(--control-edge);background-color:var(--control);color:var(--ink);box-shadow:none;transition:background-color .15s,border-color .15s}
:root .toolbar.toolbar :is(input[type=search],select):hover{background-color:var(--control-hover)}
:root .toolbar.toolbar input[type=search]{flex:1 1 220px;min-width:180px;max-width:360px;padding-left:36px;background-image:var(--search-icon);background-repeat:no-repeat;background-position:14px 50%}
:root .toolbar.toolbar select:not([multiple]){appearance:none;-webkit-appearance:none;width:auto;min-width:0;max-width:220px;padding-right:32px;background-image:var(--chev);background-repeat:no-repeat;background-position:right 13px center;cursor:pointer;text-overflow:ellipsis}
:root .toolbar.toolbar select.is-set{border-color:var(--green);box-shadow:inset 0 0 0 1px var(--green)}
:root .toolbar.toolbar .count{margin-left:auto;font-size:12px;color:var(--muted)}
/* "Show completed" as a small switch, aligned with the pills. */
:root .done-toggle.done-toggle{display:inline-flex;align-items:center;gap:8px;height:38px;padding:0 4px 0 6px;font-size:13px;color:var(--muted);cursor:pointer;white-space:nowrap}
:root .done-toggle.done-toggle input{appearance:none;-webkit-appearance:none;flex:none;position:relative;width:30px!important;height:18px;min-height:0;margin:0!important;padding:0;border-radius:999px;border:1px solid var(--control-edge);background:var(--control);cursor:pointer;transition:background .15s}
:root .done-toggle.done-toggle input::before{content:'';position:absolute;top:2px;left:2px;width:12px;height:12px;border-radius:50%;background:var(--muted);transition:transform .15s,background .15s}
:root .done-toggle.done-toggle input:checked{background:var(--green);border-color:var(--green)}
:root .done-toggle.done-toggle input:checked::before{transform:translateX(12px);background:var(--wash)}
.done-count{display:inline-block;min-width:20px;padding:1px 6px;border-radius:999px;background:var(--control);border:1px solid var(--control-edge);font-size:11px;text-align:center}
/* Table selection checkboxes that match the theme instead of the browser default. */
:root .select-cell input[type=checkbox]{appearance:none;-webkit-appearance:none;position:relative;display:block;width:18px!important;height:18px;margin:0;padding:0;border-radius:5px;border:1.5px solid var(--control-edge);background:var(--control);cursor:pointer;transition:background .12s,border-color .12s}
:root .select-cell input[type=checkbox]:hover{border-color:var(--green)}
:root .select-cell input[type=checkbox]:is(:checked,:indeterminate){background:var(--green);border-color:var(--green)}
:root .select-cell input[type=checkbox]:checked::after{content:'';position:absolute;left:5px;top:1.5px;width:4px;height:9px;border:solid var(--wash);border-width:0 2px 2px 0;transform:rotate(45deg)}
:root .select-cell input[type=checkbox]:indeterminate::after{content:'';position:absolute;left:3px;right:3px;top:7px;height:2px;border-radius:1px;background:var(--wash)}
/* The bulk bar follows the theme's accent rather than a fixed green. */
:root[data-design=glass] .bulk-bar{background:#c4d9aaf2;color:#1d3326}:root[data-design=glass] .bulk-bar :is(button,select){background:#1d33261a;border-color:#1d332640;color:#1d3326}:root[data-design=glass] .bulk-bar button.primary{background:#1d3326;color:#f6f7f1;border-color:#1d3326}:root[data-design=glass] .bulk-bar button.danger{color:#8a2f25}
@media(max-width:700px){:root .toolbar.toolbar input[type=search]{max-width:none;flex-basis:100%}:root .toolbar.toolbar .count{margin-left:auto}}

/* Dialogs (DESIGN-041): roomier on wide screens, Save and Cancel stay in view on long forms,
   option lists flow into as many columns as fit. */
dialog{width:min(920px,calc(100% - 48px));max-height:min(92vh,1100px)}
dialog.wide{width:min(1240px,calc(100% - 48px))}
.dialog-head{padding:22px 32px 18px;align-items:center}
.dialog-head h2{font-size:22px;letter-spacing:-.01em}
.dialog-body{padding:26px 32px 30px}
.dialog-body:has(>#active-form){padding-bottom:0}
.form-grid{gap:18px 22px}
.form-grid label{font-size:13px;font-weight:500}
.form-grid label small,.form-grid>small,.form-grid>p.muted{font-weight:400}
.form-grid textarea{min-height:104px}
.form-grid>p{margin:0}
#active-form>.form-actions{position:sticky;bottom:0;z-index:2;margin:26px -32px 0;padding:16px 32px;border-top:1px solid var(--line);background:#f8faf4f5}
:root[data-design=glass] #active-form>.form-actions{background:#243a32f0}
:root[data-design=solid][data-theme=dark] #active-form>.form-actions{background:#1b2b22f7}
#form-error:empty{display:none}
#form-error:not(:empty){margin-top:16px}
.check-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:10px 18px;padding:14px 18px 16px}
.check-grid>small,.check-grid>p{grid-column:1/-1}
.inline-link{padding:0;border:0;background:none;color:var(--green);text-decoration:underline;text-underline-offset:3px;font-size:inherit}
/* Person access: facts first, everyday actions, then the destructive ones set apart. */
.person-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px 24px;margin:0}
.person-facts dt{font-size:12px;color:var(--muted);margin-bottom:3px}.person-facts dd{margin:0;overflow-wrap:anywhere}
.person-actions{display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px 24px;margin-top:18px;padding-top:16px;border-top:1px solid var(--line)}
.person-actions .actions{margin:0;gap:8px}.person-actions button{font-size:13px;padding:8px 13px}
.danger-actions{margin-left:auto}
@media(max-width:720px){dialog,dialog.wide{width:calc(100% - 20px)}.dialog-head{padding:18px 18px 14px}.dialog-body{padding:20px 18px 24px}#active-form>.form-actions{margin:22px -18px 0;padding:14px 18px}.danger-actions{margin-left:0}}
.program-table td:last-child .actions{justify-content:flex-end;gap:18px;margin:0}
.program-table td:last-child{width:1%;white-space:nowrap}
#programs-panel .section-head{align-items:flex-start;gap:20px}
:root:is([data-design=glass],[data-theme=dark]) :is(.more-options,.settings-option){background:#ffffff0a}
.more-options>summary{font-size:13px;font-weight:500;padding:2px 0}
/* "+ Add program" sits on the label line so the form rows stay aligned. */
.form-grid>.program-add-target{position:relative}
.form-grid>.program-add-target>button.quiet{position:absolute;top:-3px;right:0;padding:0;font-size:12px}
.form-grid>.program-add-target>.program-editor:not([hidden]){margin-top:10px}
/* Package deliverables: one line each (title, size, quantity, due), the rest folded away. */
.unit-row{border:1px solid var(--line);border-radius:10px;padding:12px 14px;margin:0 0 10px}
.deliverable-line{display:grid;grid-template-columns:minmax(0,1fr) 190px 70px 160px auto;gap:12px;align-items:end}
.deliverable-line label{display:block;font-size:13px;font-weight:500}
.deliverable-line input,.deliverable-line select{display:block;margin-top:6px;width:100%}
.deliverable-remove{align-self:center;margin-top:20px}
.deliverable-pay{font-size:12px;margin:8px 0 0}
.deliverable-custom{margin-top:10px}
.unit-row .more-options{margin-top:10px;padding:6px 12px;border-style:dashed}
.unit-row .more-options>summary{font-size:12px}
.pkg-section .section-head{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:10px}
.pkg-nopilot{margin:12px 0 6px}
@media(max-width:720px){.deliverable-line{grid-template-columns:1fr 1fr}.deliverable-title{grid-column:1/-1}.deliverable-remove{grid-column:1/-1;justify-self:start;margin-top:0}}
.pkg-facts{margin-top:14px}.pkg-actions{justify-content:flex-start;flex-wrap:wrap;margin:18px 0 6px}
.pkg-deliverables{display:grid;gap:8px;margin-bottom:6px}
.pkg-deliverable{display:flex;flex-direction:column;gap:2px;padding:10px 14px;border:1px solid var(--line);border-radius:9px}
.pkg-deliverable small{color:var(--muted)}
.pkg-more{margin-top:22px}.pkg-more[open]>summary{margin-bottom:12px}
/* Required fields: a red asterisk after the label. Warnings are amber, not red. */
.req{color:#c8463b;margin-left:3px;font-weight:600}
:root:is([data-design=glass],[data-theme=dark]) .req{color:#ff8a7e}
[data-form-feedback].warning{background:#fff4d6;color:#6b4b00;border:1px solid #e6c56b;border-radius:8px;padding:10px 12px}
:root:is([data-design=glass],[data-theme=dark]) [data-form-feedback].warning{background:#4a3b1366;color:#ffe3a3;border-color:#b8933f}
