:root{--charcoal: #36454f;--slate-gray: #708090;--light-gray: #d3d3d3;--slate: #36454f;--slate-deep: #36454f;--slate-muted: #708090;--slate-soft: #f5f6f7;--alert-orange: #f97316;--alert-orange-soft: #fff7ed;--success-emerald: #10b981;--success-emerald-soft: #ecfdf5;--awaiting-blue: #e8eef3;--awaiting-blue-ink: #36454f;--ios-green: var(--slate);--ios-green-deep: var(--slate-deep);--ios-green-soft: var(--slate-soft);--ios-teal: var(--slate);--ios-teal-deep: var(--slate-deep);--ios-teal-soft: #f7f8f9;--brand-primary: var(--slate);--brand-primary-deep: var(--slate-deep);--brand-primary-soft: var(--slate-soft);--brand-accent: var(--alert-orange);--brand-accent-deep: #c2410c;--brand-accent-soft: var(--alert-orange-soft);--brand-gradient: var(--slate-deep);--ink: #36454f;--ink-strong: #36454f;--ink-soft: #5a6a75;--ink-muted: #708090;--paper: #f5f6f7;--paper-raised: #ffffff;--surface: #ffffff;--surface-soft: #fafafa;--mist: #ececed;--sand: #e4e4e4;--line: #d3d3d3;--line-strong: #a8b0b8;--danger: #ba1a1a;--danger-soft: #ffdad6;--warning: var(--alert-orange);--warning-soft: var(--alert-orange-soft);--ok: var(--success-emerald);--ok-soft: var(--success-emerald-soft);--font-display: "Source Sans 3", "IBM Plex Sans", "Segoe UI", sans-serif;--font-body: "Source Sans 3", "IBM Plex Sans", "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--font-mono: "IBM Plex Mono", ui-monospace, monospace;--max: 1240px;--radius-sm: 4px;--radius: 8px;--radius-lg: 12px;--btn-radius: 8px;--shadow-sm: 0 1px 2px rgba(54, 69, 79, .06);--shadow: 0 2px 8px rgba(54, 69, 79, .08);--transition: .16s ease}*,*:before,*:after{box-sizing:border-box}html,body,#root{min-height:100%;min-width:0}html{overflow-x:clip;background:var(--paper);scroll-padding-top:88px;-webkit-text-size-adjust:100%;text-size-adjust:100%}body{margin:0;color:var(--ink);background:transparent;font-family:var(--font-body);font-size:1rem;line-height:1.5;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}h1,h2,h3,.wordmark{font-family:var(--font-display);color:var(--ink-strong);font-weight:600;letter-spacing:-.005em}h1{font-size:1.4rem;line-height:1.25;margin:0 0 .25rem}h2,h2.section{font-size:1.15rem;margin:0 0 .25rem}p{margin-top:0}a{color:var(--slate-deep);text-decoration-thickness:1px;text-underline-offset:3px}a:hover{color:var(--slate)}button{font-family:var(--font-body);font-size:.9375rem}input,textarea,select{font-family:var(--font-body);font-size:1rem;font-weight:400;letter-spacing:0;text-transform:none}:focus-visible{outline:2px solid var(--slate-deep);outline-offset:2px}::selection{color:#fff;background:var(--slate)}.app-shell{--page-gutter: clamp(1rem, 3vw, 2rem);min-height:100vh;display:flex;flex-direction:column}.topbar{position:sticky;top:0;z-index:40;padding:0 var(--page-gutter);background:#fff;border-bottom:1px solid var(--line);box-shadow:var(--shadow-sm)}.topbar:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--slate-deep)}.topbar-inner{width:min(var(--max),100%);margin:0 auto;min-height:4.25rem;display:flex;align-items:center;justify-content:space-between;gap:1rem}.wordmark{margin:0;font-size:1.05rem;color:var(--ink-strong)}.eyebrow,.masthead-eyebrow{margin:0 0 .2rem;font-family:var(--font-body);font-size:.68rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--slate-muted);display:flex;align-items:center;gap:.4rem}.topbar-brand{text-decoration:none;color:inherit;min-width:0}.topbar-brand:hover .wordmark{color:var(--ios-teal-deep)}.topbar-nav a{color:var(--ios-teal-deep);text-decoration:none;font-weight:600;font-size:.92rem}.topbar-nav a:hover{color:var(--ios-green-deep)}.topbar-nav a.btn-primary,.topbar-nav a.btn-primary:hover{color:#fff}.page{width:min(var(--max),calc(100% - 2 * var(--page-gutter, 1.25rem)));margin:1.5rem auto 4.5rem;flex:1}.masthead{margin:0 auto 1.25rem;padding-bottom:.85rem;border-bottom:1px solid var(--line)}.masthead h1{margin:0 0 .35rem}.project-operate-bar{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem .65rem;margin-top:.65rem}.project-operate-bar__main{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}.toolbar-more{position:relative}.toolbar-more>summary{list-style:none;display:inline-flex;align-items:center;gap:.35rem;cursor:pointer}.toolbar-more>summary::-webkit-details-marker{display:none}.toolbar-more__menu{position:absolute;top:calc(100% + .25rem);right:0;z-index:20;min-width:14rem;display:flex;flex-direction:column;padding:.25rem 0;background:var(--surface);border:1px solid var(--line);box-shadow:0 8px 24px #0914261f}.toolbar-more__item{display:flex;align-items:center;gap:.45rem;width:100%;margin:0;padding:.55rem .85rem;border:0;background:transparent;color:var(--ink);font:inherit;font-size:.875rem;text-align:left;text-decoration:none;cursor:pointer}.toolbar-more__item:hover,.toolbar-more__item:focus-visible{background:var(--slate-soft);outline:none}.toolbar-more__item:disabled{opacity:.5;cursor:not-allowed}.masthead .sub{display:flex;gap:.9rem;flex-wrap:wrap;font-size:.84rem;color:var(--ink-soft)}.mono{font-family:var(--font-mono)}.panel,.card{background:var(--paper-raised);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:1.5rem 1.6rem 1.7rem;position:relative}.grid-2,.field-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-bottom:1rem;align-items:stretch}.grid-2>*,.field-row>*{min-width:0}.field,label:has(>input),label:has(>select),label:has(>textarea){display:flex;flex-direction:column;gap:.35rem;min-width:0}.field>label,.field-label,label:has(>input),label:has(>select),label:has(>textarea){font-family:var(--font-body);font-size:.75rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--ink-soft);line-height:1.3}input[type=text],input[type=date],input[type=email],input[type=password],input[type=number],input[type=search],input[type=tel],select,textarea{width:100%;max-width:100%;min-width:0;display:block;box-sizing:border-box;border:1px solid var(--line-strong);border-radius:var(--radius-sm);padding:0 .8rem;background:#fff;color:var(--ink);font-family:var(--font-body);font-size:1rem;font-weight:400;line-height:1.35;text-transform:none;letter-spacing:0}input[type=text],input[type=date],input[type=email],input[type=password],input[type=number],input[type=search],input[type=tel],select{height:44px}select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16' fill='none'%3E%3Cpath d='M4 6l4 4 4-4' stroke='%2352676a' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .7rem center;padding-right:2.2rem}textarea{min-height:5.5rem;padding:.7rem .85rem;resize:vertical}input[type=date]{color-scheme:light}input[type=date]::-webkit-calendar-picker-indicator{margin-left:auto;cursor:pointer}input[type=number]{-webkit-appearance:textfield;appearance:textfield;-moz-appearance:textfield}input[type=number]::-webkit-outer-spin-button,input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;-moz-appearance:none;appearance:none;margin:0}.input-readonly,input:read-only{background:#fff;color:var(--ink);cursor:default}input:disabled,select:disabled,textarea:disabled{background-color:var(--slate-soft);border-color:transparent;color:var(--slate-muted);cursor:not-allowed}select:disabled{background-image:none;padding-right:.85rem}input:focus,textarea:focus{outline:2px solid var(--slate-deep);outline-offset:1px}.btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:inline-flex;align-items:center;justify-content:center;gap:.45rem;min-height:42px;padding:.55rem 1.1rem;border:1px solid transparent;border-radius:var(--btn-radius);cursor:pointer;font-weight:700;font-size:.8125rem;letter-spacing:.06em;text-transform:uppercase;line-height:1.2;text-decoration:none;touch-action:manipulation;transition:background var(--transition),border-color var(--transition),color var(--transition)}.btn:hover:not(:disabled){filter:none}.btn:disabled{opacity:.55;cursor:not-allowed}.btn-primary{background:var(--slate-deep);color:#fff}.btn-primary:hover:not(:disabled){background:#000814}.btn-stamp{background:var(--success-emerald);color:#fff;box-shadow:none}.btn-stamp:hover:not(:disabled){background:#059669}.btn-ghost{background:var(--surface);color:var(--slate-deep);border-color:var(--line)}.btn-ghost:hover:not(:disabled){background:var(--slate-soft);border-color:var(--slate)}.btn-danger{background:var(--danger);color:#fff;box-shadow:none}.row-actions{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}.catchup-bar{display:grid;gap:.45rem;margin:0;padding:0;border:none;background:transparent;width:fit-content;max-width:100%}.catchup-bar[open]{width:100%;margin-top:.15rem;padding:.55rem .7rem;border:1px solid var(--line);background:var(--surface-soft)}.catchup-bar__title{margin:0;display:inline-flex;align-items:center;gap:.2rem;font-size:.72rem;font-weight:550;color:var(--ink-muted);cursor:pointer;list-style:none;-webkit-user-select:none;user-select:none}.catchup-bar__title:hover{color:var(--ink-strong)}.catchup-bar__title::-webkit-details-marker{display:none}.catchup-bar__title:before{content:"▸";color:var(--ink-muted);font-weight:400;font-size:.65rem}.catchup-bar[open]>.catchup-bar__title:before{content:"▾"}.catchup-bar[open]>.catchup-bar__title{color:var(--ink-strong);font-weight:650}.catchup-row td{background:transparent;border-top:none;padding-top:0;padding-bottom:.65rem}.catchup-row .catchup-bar{margin-top:0}.ledger-item-catchup{margin-top:.35rem}.catchup-form{display:grid;gap:.85rem}.catchup-form__ticks{display:grid;gap:.55rem}.catchup-form__tick{display:inline-flex!important;flex-direction:row!important;align-items:center;gap:.55rem;margin:0;padding:.55rem .7rem;border:1px solid var(--line);border-radius:8px;background:#fff;cursor:pointer;font-family:var(--font-body);font-size:.875rem!important;font-weight:500!important;letter-spacing:0!important;text-transform:none!important;color:var(--ink)!important;line-height:1.3}.catchup-form__tick:hover{border-color:var(--line-strong);background:var(--surface-soft)}.catchup-form__tick input{width:1rem;height:1rem;margin:0;flex-shrink:0;accent-color:var(--slate-deep)}.catchup-form__tick span{text-transform:none;letter-spacing:0}.catchup-form__amount{display:grid!important;gap:.35rem;margin:0;text-transform:none!important;letter-spacing:0!important;font-weight:500!important;color:var(--ink)!important}.catchup-form__amount-label{font-size:.8rem;font-weight:600;color:var(--ink-soft);text-transform:none;letter-spacing:0}.catchup-form__amount input{max-width:none}.catchup-form__hint{margin:0;font-size:.78rem;color:var(--ink-muted);line-height:1.4}.catchup-form__save{width:100%;min-height:2.4rem;text-transform:none;letter-spacing:.02em;font-weight:650}.row-side-panel{--ease-out: cubic-bezier(.23, 1, .32, 1);position:fixed;top:0;right:0;bottom:0;left:0;z-index:80;display:grid;justify-items:end}.row-side-panel__backdrop{position:absolute;top:0;right:0;bottom:0;left:0;border:0;background:#09142647;cursor:pointer;opacity:1;transition:opacity .18s var(--ease-out)}.row-side-panel__sheet{position:relative;z-index:1;width:min(24rem,100vw);height:100%;display:flex;flex-direction:column;background:var(--surface);border-left:1px solid var(--line);border-radius:0;box-shadow:-12px 0 32px #09142624;transform-origin:right center;transform:translate(0);opacity:1;transition:transform .2s var(--ease-out),opacity .18s var(--ease-out),width .18s var(--ease-out)}.row-side-panel__sheet--wide{width:min(56rem,100vw)}@media(min-width:40rem){.row-side-panel__sheet--wide{width:min(56rem,calc(100vw - 2.5rem))}}@supports (animation-timeline: auto){.row-side-panel__sheet{animation:row-side-panel-in .2s var(--ease-out)}}@keyframes row-side-panel-in{0%{transform:translate(100%);opacity:.92}to{transform:translate(0);opacity:1}}.row-side-panel__header{display:flex;justify-content:space-between;gap:.75rem;align-items:flex-start;padding:1.1rem 1.15rem .95rem;border-bottom:1px solid var(--line);flex-shrink:0}.row-side-panel__heading{min-width:0}.row-side-panel__header h2{margin:0;font-family:var(--font-display);font-size:1.1rem;font-weight:650;line-height:1.25;letter-spacing:-.01em;color:var(--ink-strong);word-break:break-word}.row-side-panel__sub{margin:.3rem 0 0;font-size:.875rem;color:var(--ink-muted);line-height:1.35}.row-side-panel__meta{margin-top:.55rem;font-size:.8rem;color:var(--ink-muted)}.row-side-panel__close{-webkit-appearance:none;-moz-appearance:none;appearance:none;flex-shrink:0;display:grid;place-items:center;width:2rem;height:2rem;margin:-.15rem -.15rem 0 0;border:1px solid var(--line);border-radius:0;background:transparent;color:var(--ink-muted);cursor:pointer;transition:transform .14s var(--ease-out),background .14s ease,color .14s ease}@media(hover:hover)and (pointer:fine){.row-side-panel__close:hover{background:var(--slate-soft);color:var(--ink-strong)}}.row-side-panel__close:active{transform:scale(.97)}.row-side-panel__scroll{flex:1;min-height:0;overflow:auto;padding:1rem 1.15rem 1.5rem;display:grid;align-content:start;gap:1.25rem}.row-side-panel__section{display:grid;gap:.65rem}.row-side-panel__section-title{margin:0;font-size:.72rem;font-weight:650;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-muted)}.row-side-panel__hint{margin:0 0 .35rem;font-size:.8rem;color:var(--ink-muted);line-height:1.4}.row-side-panel__status{margin:0;font-weight:650;font-size:.95rem}.waiting-cue{display:grid;gap:.2rem}.waiting-cue__who{margin:0;font-size:.875rem}.waiting-cue__next{margin:0;font-size:.8rem;color:var(--ink-muted);line-height:1.4}.waiting-cue--compact{margin:.25rem 0 0;font-size:.75rem;font-weight:600;color:var(--ink-muted);line-height:1.3}.waiting-cue.is-you .waiting-cue__who strong,.waiting-cue--compact.is-you{color:var(--warning)}.row-side-panel__actions{display:grid;gap:.4rem}.row-side-panel__actions .btn,.row-side-panel__actions a.btn{width:100%;min-height:2.45rem;justify-content:flex-start;padding:.55rem .85rem;font-size:.875rem;font-weight:600;letter-spacing:.01em;text-transform:none;border-radius:0;transition:transform .14s var(--ease-out),background .14s ease,border-color .14s ease,color .14s ease}.row-side-panel__actions .btn:active,.row-side-panel__actions a.btn:active{transform:scale(.97)}.row-side-panel__actions .btn-ghost{background:var(--slate-soft);border-color:transparent;color:var(--ink)}@media(hover:hover)and (pointer:fine){.row-side-panel__actions .btn-ghost:hover:not(:disabled){background:#e2e8f0;border-color:transparent}}.row-side-panel__actions .btn-ghost.row-side-panel__danger{color:var(--danger);background:var(--danger-soft)}.row-side-panel__catchup{border:1px solid var(--line);border-radius:0;background:var(--paper);padding:0;overflow:hidden}.row-side-panel__catchup-summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.75rem .85rem;cursor:pointer;font-size:.875rem;font-weight:650;color:var(--ink-strong);-webkit-user-select:none;user-select:none}.row-side-panel__catchup-summary::-webkit-details-marker{display:none}.row-side-panel__catchup-summary:before{content:"";width:.4rem;height:.4rem;border-right:1.5px solid var(--ink-muted);border-bottom:1.5px solid var(--ink-muted);transform:rotate(-45deg);margin-right:.35rem;transition:transform .14s var(--ease-out)}.row-side-panel__catchup[open]>.row-side-panel__catchup-summary:before{transform:rotate(45deg)}.row-side-panel__catchup[open]>.row-side-panel__catchup-summary{border-bottom:1px solid var(--line);background:var(--surface)}.row-side-panel__catchup-body{padding:.85rem}.row-side-panel__catchup .catchup-form{padding-top:.35rem}.row-side-panel__badge{margin-left:auto;font-size:.68rem;font-weight:650;letter-spacing:.03em;text-transform:uppercase;color:var(--ok);background:var(--ok-soft);padding:.15rem .4rem;border-radius:0}.row-side-panel__table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}.row-side-panel .pack-line-table{font-size:.8rem;width:max-content;min-width:100%}.row-side-panel .pack-line-table input{width:100%;min-width:3.5rem;max-width:5.5rem}.row-side-panel__sheet--wide .pack-line-table{font-size:.875rem}.row-side-panel__sheet--wide .pack-line-table input{min-width:4.75rem;max-width:none;width:5.75rem}@media(prefers-reduced-motion:reduce){.row-side-panel__sheet{animation:none;transition:none}.row-side-panel__backdrop,.row-side-panel__close,.row-side-panel__actions .btn,.row-side-panel__actions a.btn{transition:none}.row-side-panel__close:active,.row-side-panel__actions .btn:active,.row-side-panel__actions a.btn:active{transform:none}}.empty-ledger{display:grid;gap:.4rem;justify-items:start;padding:1.1rem 0 .35rem;max-width:36rem}.empty-ledger__title{margin:0;font-size:1rem;font-weight:650;color:var(--ink-strong)}.catchup-bar__ticks{display:flex;flex-wrap:wrap;gap:.65rem 1.1rem}.catchup-bar__ticks label{display:inline-flex;align-items:center;gap:.4rem;margin:0;font-size:.8rem;cursor:pointer}.catchup-bar__amount{display:grid;gap:.4rem}.catchup-bar__amount label{margin:0}.catchup-bar__amount input{max-width:14rem}.toolbar{display:flex;flex-direction:column;align-items:flex-start;gap:.85rem;margin:.25rem 0 .35rem}.toolbar-row{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}.toolbar-row--primary .btn{min-width:min(100%,16.5rem)}.toolbar-links{display:flex;flex-wrap:wrap;gap:.35rem 1.25rem;align-items:center}.toolbar-link{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:inline-flex;align-items:center;gap:.35rem;margin:0;padding:.2rem 0;min-height:0;border:0;background:none;color:var(--ios-teal-deep);font:inherit;font-size:.88rem;font-weight:600;cursor:pointer}.toolbar-link:hover:not(:disabled){color:var(--ios-green-deep);text-decoration:underline;text-underline-offset:3px}.toolbar-link:disabled{opacity:.45;cursor:not-allowed}.toolbar-row--danger{width:100%;padding-top:.95rem;margin-top:.15rem;border-top:1px dashed var(--line)}.btn-danger-ghost{background:transparent;color:var(--danger);border-color:#b4231859;box-shadow:none}.btn-danger-ghost:hover:not(:disabled){background:var(--danger-soft);border-color:var(--danger)}.toolbar-hint{font-size:.78rem;color:var(--ink-soft);margin:0}.section-sub{font-size:.82rem;color:var(--ink-soft);margin-bottom:1rem}.rule{height:1px;background:var(--line);margin:1.35rem 0}.ledger{display:flex;align-items:flex-start;margin-bottom:1.5rem;padding-bottom:1.15rem;border-bottom:1px dashed var(--line)}.ledger-stage{flex:1;text-align:center;position:relative}.ledger-line{position:absolute;top:9px;left:50%;right:-50%;height:1px;background:var(--line);z-index:0}.ledger-stage:last-child .ledger-line{display:none}.ledger-dot{width:18px;height:18px;border-radius:50%;margin:0 auto 8px;position:relative;z-index:1;display:flex;align-items:center;justify-content:center;background:var(--paper-raised);border:1.5px solid var(--line);color:var(--ink-soft)}.ledger-stage.done .ledger-dot{background:var(--ok);border-color:var(--ok);color:#fff}.ledger-stage.now .ledger-dot{background:var(--ios-teal);border-color:var(--ios-teal);color:#fff}.ledger-stage.done .ledger-line,.ledger-stage.now .ledger-line{background:var(--ok)}.ledger-label{font-family:var(--font-mono);font-size:10.5px;letter-spacing:.03em;color:var(--ink-soft);text-transform:uppercase}.ledger-stage.done .ledger-label,.ledger-stage.now .ledger-label{color:var(--ink);font-weight:600}.stamp{font-family:var(--font-body);font-size:.7rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase;border:0;padding:.25rem .55rem;transform:none;white-space:nowrap;border-radius:var(--radius);background:var(--sand);color:var(--slate-deep)}.stamp-draft{background:#e2e8f0;color:var(--slate-deep)}.stamp-awaiting_field{background:var(--awaiting-blue);color:var(--awaiting-blue-ink)}.stamp-awaiting_internal{background:var(--alert-orange);color:#fff}.stamp-awaiting_client{background:#dbeafe;color:#1e3a8a}.stamp-awaiting_approver{background:#fef3c7;color:#92400e}.stamp-awaiting_owner{background:var(--alert-orange);color:#fff}.stamp-client_confirmed,.stamp-payment_ready{background:var(--success-emerald);color:#fff}.stamp-rejected{background:var(--danger);color:#fff}.stamp-cancelled{background:#e2e8f0;color:var(--ink-muted)}.stamp-open{background:var(--awaiting-blue);color:var(--awaiting-blue-ink)}.stamp-awaiting_cash{background:var(--success-emerald);color:#fff;opacity:.85}.stamp-done{background:var(--success-emerald);color:#fff}.event-list{display:grid;gap:.65rem}.event-link{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:.9rem 1rem;border:1px solid var(--line);border-radius:var(--radius-sm);text-decoration:none;color:inherit;background:var(--surface)}.event-link:hover{background:var(--slate-soft);border-color:var(--slate)}.event-link strong{font-family:var(--font-display);font-weight:600;color:var(--ink-strong)}.table-shell{margin:1rem 0 0;border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface);overflow:hidden;box-shadow:var(--shadow-sm)}.table-toolbar{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:.7rem .9rem;border-bottom:1px solid var(--line);background:linear-gradient(180deg,#f7fbfb,var(--surface-soft))}.table-search{display:flex;flex:1;min-width:0;flex-direction:row;align-items:center;gap:.55rem;text-transform:none;letter-spacing:0;font-family:var(--font-body);font-size:.9rem;color:var(--ink-soft)}.table-search input{flex:1;min-width:0;border:1px solid var(--line);border-radius:var(--radius);padding:.5rem .9rem;background:#fff}.table-count{margin:0;white-space:nowrap;font-family:var(--font-mono);font-size:.72rem;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-soft)}.table-pager{display:flex;align-items:center;justify-content:space-between;gap:.65rem;padding:.65rem .9rem;border-top:1px solid var(--line);background:linear-gradient(180deg,var(--surface),var(--surface-soft))}.table-pager__btn{min-height:40px;padding:.4rem .85rem}.table-pager__status{margin:0;font-family:var(--font-mono);font-size:.72rem;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-soft);white-space:nowrap}.table-wrap{max-height:min(68vh,740px);overflow:auto;margin-top:0;-webkit-overflow-scrolling:touch}table.ledger-table{width:max(100%,860px);min-width:100%;border-collapse:separate;border-spacing:0;font-size:.875rem;margin:0}table.ledger-table--events{width:100%;min-width:720px}table.ledger-table th,table.ledger-table td{padding:.7rem .85rem;border-bottom:1px solid var(--line);vertical-align:middle;background:var(--surface)}table.ledger-table thead th{position:sticky;top:0;z-index:3;background:#eef6f5;font-family:var(--font-mono);font-size:.68rem;letter-spacing:.05em;text-transform:uppercase;color:var(--ink-soft);white-space:nowrap;border-bottom:1px solid var(--line-strong);box-shadow:0 1px 0 var(--line-strong)}table.ledger-table tbody tr:hover td{background:var(--ios-teal-soft)}table.ledger-table tbody tr:nth-child(2n) td{background:var(--surface-soft)}table.ledger-table tbody tr:nth-child(2n):hover td{background:var(--ios-teal-soft)}table.ledger-table tbody tr.is-target td,table.ledger-table tbody.is-target td{background:var(--warning-soft)}table.ledger-table tbody tr.is-target:hover td,table.ledger-table tbody.is-target:hover td,table.ledger-table tbody tr.is-target:nth-child(2n) td{background:var(--warning-soft)}li.is-target,.task-tree__item.is-target{background:var(--warning-soft)}.col-num{text-align:right;width:3.25rem;font-family:var(--font-mono);font-variant-numeric:tabular-nums;color:var(--ink-muted)}.col-name{text-align:left;min-width:13rem;font-weight:600;color:var(--ink-strong)}.col-cat{text-align:left;min-width:8rem;color:var(--ink-soft)}.col-days{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.col-cnib,.col-om{text-align:left;min-width:8rem;font-family:var(--font-mono);font-size:.82rem;white-space:nowrap;color:var(--ink-soft)}.col-money,.amount-cell{text-align:right;font-family:var(--font-mono);font-variant-numeric:tabular-nums;white-space:nowrap}.col-check{text-align:center;width:7.5rem}.col-check .check-col{align-items:center}.col-comment{text-align:left;min-width:14rem}.col-status{text-align:center;white-space:nowrap}table.ledger-table th.col-name,table.ledger-table td.col-name{position:sticky;left:0;z-index:2}table.ledger-table thead th.col-name{z-index:4;background:#eef6f5}table.ledger-table tbody tr:nth-child(2n) td.col-name{background:var(--surface-soft)}table.ledger-table tbody tr:hover td.col-name{background:var(--ios-teal-soft)}.col-code{text-align:left;font-family:var(--font-mono);font-size:.78rem;letter-spacing:.02em;white-space:nowrap;color:var(--ink-soft)}.col-action{text-align:right;white-space:nowrap}.table-open{display:inline-flex;align-items:center;gap:.2rem;font-weight:600;text-decoration:none;color:var(--ios-teal-deep)}.table-open:hover{color:var(--ios-green-deep)}.table-actions{display:inline-flex;align-items:center;gap:.85rem;white-space:nowrap}.table-actions .table-open,.table-actions button{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:inline;min-height:0;margin:0;padding:0;border:0;border-radius:var(--radius);background:none;box-shadow:none;font-family:inherit;font-size:.8125rem;font-weight:600;letter-spacing:0;line-height:1.2;text-transform:none;color:var(--ios-teal-deep);cursor:pointer;text-decoration:none}.table-actions .table-open:hover,.table-actions button:hover:not(:disabled){color:var(--ios-green-deep);background:none;border:0;filter:none}.table-actions button.is-danger{color:var(--danger)}.table-actions button.is-danger:hover:not(:disabled){color:var(--danger);text-decoration:underline}.table-actions button:disabled{opacity:.55;cursor:not-allowed}.ledger-table .table-actions input{width:8.5rem;min-height:2rem;padding:.2rem .45rem;font-size:.8125rem}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.table-empty{text-align:center!important;color:var(--ink-soft);padding:2rem 1rem!important;font-weight:400}.ledger-table--events th.col-name,.ledger-table--events td.col-name{position:static;box-shadow:none}.ledger-table--events td.col-name{font-family:var(--font-display)}.ledger-table--events td.col-name a{color:var(--ink-strong);text-decoration:none}.ledger-table--events td.col-name a:hover{color:var(--ios-teal-deep);text-decoration:underline}.ledger-table--events .stamp{transform:none;display:inline-block}.row-flag td{background:var(--danger-soft)!important}.check-col{display:flex;flex-direction:column;gap:6px;align-items:center;text-align:center}.select-all{flex-direction:row;justify-content:center;align-items:center;gap:.35rem;text-transform:none;letter-spacing:0;font-family:var(--font-body);font-size:.75rem;color:var(--ink-soft);cursor:pointer}.row-comment{width:100%;min-width:12rem;min-height:44px;font-size:.8rem;resize:vertical;line-height:1.4}input[type=checkbox]{width:18px;height:18px;accent-color:var(--ok);cursor:pointer;display:inline-block;margin:0 auto}.status-pill{font-family:var(--font-body);font-size:.7rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase;padding:.25rem .55rem;border-radius:var(--radius);display:inline-flex;align-items:center;gap:4px;white-space:nowrap}.status-pill.ok{background:var(--success-emerald);color:#fff}.status-pill.warn{background:var(--alert-orange);color:#fff}.status-pill.pending{background:#e2e8f0;color:var(--slate-deep)}.summary-strip{display:flex;gap:12px;margin:16px 0;flex-wrap:wrap}.summary-card{flex:1;min-width:140px;background:var(--paper);border:1px solid var(--line);border-radius:var(--radius-sm);padding:12px 14px}.summary-card .num{font-family:var(--font-mono);font-size:18px;font-weight:600;color:var(--ink-strong)}.summary-card .lab{font-size:11px;color:var(--ink-soft);text-transform:uppercase;letter-spacing:.04em}.validation-card{margin:16px 0 20px;padding:16px 18px;border-radius:var(--radius);border:1px solid var(--line);background:var(--paper)}.validation-card--ok{border-color:var(--success-emerald);background:var(--ok-soft)}.validation-card--pending{border-color:var(--alert-orange);background:var(--alert-orange-soft)}.validation-card--pending .validation-card__icon{color:var(--alert-orange)}.validation-card__head{display:flex;gap:12px;align-items:center;margin-bottom:14px}.validation-card__icon{width:34px;height:34px;border-radius:var(--radius);display:grid;place-items:center;flex-shrink:0;background:#fff}.validation-card--ok .validation-card__icon{color:var(--ok)}.validation-card--warn .validation-card__icon{color:var(--danger)}.validation-card__eyebrow{margin:0;font-family:var(--font-mono);font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft);display:flex;align-items:center;gap:6px}.validation-card__stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(11rem,1fr));gap:10px;align-items:stretch}.validation-card__issues{margin:12px 0 0;padding:0;list-style:none;display:grid;gap:6px}.validation-card__issues li{display:flex;flex-wrap:wrap;gap:6px 12px;font-size:12.5px;padding:6px 0;border-top:1px dotted var(--line)}.validation-card__issues a{font-weight:600;text-decoration:none}.validation-card__issues span{color:var(--ink-soft)}.validation-card__empty{margin:0;font-size:12.5px;color:var(--ok)}tr[id^=attendee-]:target{outline:2px solid var(--ios-teal);outline-offset:-2px}.empty-state{text-align:center;padding:40px 20px;color:var(--ink-soft)}.empty-state svg{margin:0 auto 10px;opacity:.5}.notif-log{margin-top:1.25rem;background:var(--paper-raised);border:1px solid var(--line);border-radius:var(--radius);padding:16px 20px}.notif-log h3{font-family:var(--font-mono);font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-soft);margin:0 0 10px;display:flex;align-items:center;gap:6px}.notif-item{display:flex;gap:10px;align-items:baseline;font-size:12.5px;padding:6px 0;border-bottom:1px dotted var(--line)}.notif-item:last-child{border-bottom:none}.notif-item.is-failed{color:var(--danger);background:var(--danger-soft);margin:0 -8px;padding-left:8px;padding-right:8px;border-radius:var(--radius)}.notif-item.is-skipped{color:var(--warning);background:var(--warning-soft);margin:0 -8px;padding-left:8px;padding-right:8px;border-radius:var(--radius)}.notif-time{font-family:var(--font-mono);color:var(--ink-soft);font-size:11px;min-width:78px}.notif-to{font-weight:600;min-width:120px}.notif-subj{color:var(--ink-soft)}.pay-strip{position:sticky;bottom:0;display:flex;justify-content:space-between;gap:1rem;align-items:center;padding:.85rem 1.25rem;background:var(--ink-strong);color:#f4fbfa;border-top:3px solid var(--ios-green)}.pay-strip strong{font-family:var(--font-mono);white-space:nowrap}.stats-strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(11rem,1fr));gap:.75rem;margin:0 0 1.25rem;align-items:stretch}.stats-card{display:grid;grid-template-rows:1.2rem 1.45rem 1.2rem;align-content:start;gap:.2rem;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:.9rem 1rem;min-width:0}.stats-card--plain{background:transparent;border:0;border-radius:var(--radius);padding:0}.stats-card__title,.stats-card__value,.stats-card__meta,.stats-card .lab,.stats-card .num{margin:0;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.2}.stats-card__title,.stats-card .lab{font-family:var(--font-body);font-size:.72rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--ink-soft)}.stats-card__value,.stats-card .num{display:flex;align-items:baseline;gap:.35em;font-family:var(--font-display);font-size:clamp(.95rem,1.2vw,1.15rem);font-weight:700;color:var(--ink-strong);font-variant-numeric:tabular-nums}.stats-card__amount{min-width:0;overflow:hidden;text-overflow:ellipsis}.stats-card--encumbered .stats-card__amount{text-decoration:underline;text-decoration-style:dashed;text-underline-offset:.2em;color:var(--slate-muted)}.stats-card__currency{flex-shrink:0;font-size:.72rem;font-weight:650;letter-spacing:.02em;color:var(--ink-soft)}.stats-card__icon{color:var(--slate-deep);margin-bottom:.35rem}.stats-card--ok{background:var(--success-emerald-soft);border-color:var(--success-emerald)}.stats-card--warn{background:var(--alert-orange-soft);border-color:var(--alert-orange)}.stats-card--danger{background:var(--danger-soft);border-color:var(--danger)}.skeleton-block,.skeleton-line,.skeleton-card{background:linear-gradient(90deg,var(--slate-soft) 0%,#e2e8f0 45%,var(--slate-soft) 90%);background-size:200% 100%;animation:skeleton-pulse 1.2s ease-in-out infinite}.skeleton-block{border:1px solid var(--line);margin-bottom:1rem}.skeleton-strip{margin-bottom:1rem}.skeleton-card{min-height:5.5rem;padding:.85rem 1rem;display:flex;flex-direction:column;gap:.55rem;border:1px solid var(--line);background-color:var(--surface)}.skeleton-line{height:.65rem;width:100%}.skeleton-line--sm{width:42%}.skeleton-line--lg{width:78%;height:1.15rem}@keyframes skeleton-pulse{0%{background-position:100% 0}to{background-position:-100% 0}}.stats-card__meta{font-size:.75rem;color:var(--ink-soft)}.page.landing{flex:1;display:flex;width:min(42rem,calc(100% - 2.5rem));margin:0 auto;padding:2.75rem 0 3.5rem;align-items:center}.landing-frame{width:100%}.landing-hero{margin:0;padding:0 .15rem .9rem;border-bottom:1px solid var(--line)}.landing-hero .masthead-eyebrow{margin:0 0 .35rem}.landing-hero h1{margin:0;font-size:clamp(1.7rem,3vw,2.15rem);line-height:1.15}.landing-continue{margin:0;padding:.75rem 1rem;border:1px solid var(--line);border-top:0;background:var(--surface-soft);color:var(--ink)}.landing-doors{display:grid;grid-template-columns:1fr 1fr;background:var(--paper-raised);border:1px solid var(--line);border-top:0}.landing-door{display:flex;flex-direction:column;align-items:flex-start;min-height:11.5rem;padding:1.45rem 1.4rem 1.25rem;text-decoration:none;color:inherit;min-width:0}.landing-door+.landing-door{border-left:1px solid var(--line)}.landing-door .masthead-eyebrow{margin:0}.landing-door h2{margin:.45rem 0 0;font-family:var(--font-display);font-size:1.35rem;line-height:1.2;flex:1}.landing-door__go{margin-top:1.1rem;font-family:var(--font-body);font-size:.7rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--slate-deep)}.landing-door--field{box-shadow:inset 4px 0 0 var(--alert-orange)}.landing-door--cash{box-shadow:inset 4px 0 0 var(--slate-deep)}.landing-door--client{box-shadow:inset 4px 0 0 var(--success-emerald, #10b981)}.landing-door:hover{background:var(--slate-soft)}.landing-door:hover .landing-door__go{color:var(--slate-deep)}.landing-door:focus-visible{outline:2px solid var(--slate-deep);outline-offset:-2px}.landing-stub{margin:0;border:1px solid var(--line);border-top:0;background:var(--paper-raised)}.landing-stub summary{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.85rem 1.4rem;list-style:none;cursor:pointer;font-family:var(--font-body);font-size:.7rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--ink-soft)}.landing-stub summary::-webkit-details-marker{display:none}.landing-stub summary::marker{content:""}.landing-stub summary svg{flex-shrink:0;color:var(--slate-deep);transition:transform var(--transition)}.landing-stub[open] summary{color:var(--ink-strong);border-bottom:1px dashed var(--line)}.landing-stub[open] summary svg{transform:rotate(180deg)}.landing-stub p{margin:0;padding:1rem 1.4rem 1.15rem;font-size:.95rem;color:var(--ink)}.landing-stub:focus-within summary{outline:none}.landing-stub summary:focus-visible{outline:2px solid var(--slate-deep);outline-offset:-2px}.stack-form{display:grid;gap:.85rem}.field-hint{display:block;margin-top:.35rem;font-size:.78rem;line-height:1.35;color:var(--ink-muted, #5c6570)}.project-cards{list-style:none;margin:1rem 0 0;padding:0;display:grid;gap:1.25rem}.page-nav{display:flex;flex-wrap:wrap;gap:.75rem 1.25rem;margin-bottom:1rem}table.ledger-table{width:100%;border-collapse:collapse;margin:.75rem 0 1rem}table.ledger-table th,table.ledger-table td{text-align:left;padding:.45rem .5rem;border-bottom:1px solid var(--line, #d5dbe3);vertical-align:top}.field-static{display:flex;flex-direction:column;gap:.35rem;min-width:0}.field-static__value{margin:0;height:44px;min-height:44px;display:flex;align-items:center;flex-wrap:wrap;gap:.35rem;padding:0 .85rem;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface-soft);font-size:.92rem;box-sizing:border-box}.help-foot,.site-footer{margin-top:1.5rem;font-size:.82rem;color:var(--ink-soft)}.site-footer{margin:auto 0 0;padding:1rem var(--page-gutter, 1.5rem) 1.25rem;border-top:1px solid var(--line);background:#ffffffb8}.muted{color:var(--ink-soft)}.error{color:var(--danger)}.note-alert{display:flex;gap:.65rem;align-items:flex-start;margin:0 0 1rem;padding:.75rem .85rem;border:1px solid rgba(181,71,8,.28);border-radius:var(--radius);background:var(--warning-soft);color:var(--warning);font-size:.88rem;line-height:1.4}.note-alert svg{flex-shrink:0;margin-top:.12rem}.login{max-width:460px;margin:10vh auto}.login .card{padding:1.75rem;border-radius:var(--radius-lg);box-shadow:none}.code-input{font-family:var(--font-display);font-size:1.5rem;font-weight:600;letter-spacing:.28em;text-align:center}.otp-boxes{display:grid;grid-template-columns:repeat(6,minmax(0,3rem));gap:.5rem;justify-content:start}.otp-boxes__digit{width:100%;min-height:4rem;padding:0;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);font-family:var(--font-display);font-size:1.5rem;font-weight:600;text-align:center;color:var(--ink-strong)}.otp-boxes__digit:focus{outline:none;border-color:var(--slate-deep);border-width:2px;padding:0}.back-link{display:inline-flex;align-items:center;gap:.35rem;margin-bottom:.85rem;font-size:.88rem;text-decoration:none;font-weight:600;color:var(--slate-deep);background:none;border:0;padding:0;cursor:pointer;font-family:inherit}.back-link:hover{color:var(--slate)}.page-nav{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem 1.1rem;margin-bottom:.35rem}.page-nav .back-link{margin-bottom:0}.ledger-wrap{margin-bottom:1.5rem}.ledger-now{display:none;margin:0 0 .65rem;font-size:.92rem;font-weight:600;color:var(--ink-strong)}.ledger-now span{font-weight:500;color:var(--ink-soft)}.roster-list{display:none}.roster-bulk{display:grid;grid-template-columns:1fr 1fr;gap:.5rem;margin-bottom:.75rem}.roster-card{position:relative;display:grid;gap:.75rem;padding:.95rem 1rem .95rem 1.15rem;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface)}.roster-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--line-strong)}.roster-card--ok:before{background:var(--success-emerald)}.roster-card--flag{background:var(--alert-orange-soft);border-color:var(--alert-orange)}.roster-card--flag:before{background:var(--alert-orange)}.roster-card__head{display:grid;grid-template-columns:auto 1fr auto;gap:.65rem;align-items:start}.roster-card__num{font-family:var(--font-body);font-size:.72rem;font-weight:600;letter-spacing:.04em;color:var(--ink-muted);padding-top:.2rem}.roster-card__name{margin:0;font-family:var(--font-display);font-size:1rem;font-weight:600;line-height:1.3}.roster-card__meta,.roster-card__comment{margin:.15rem 0 0;font-size:.82rem;color:var(--ink-soft)}.roster-card__amount{font-family:var(--font-body);font-size:.95rem;font-weight:600;letter-spacing:.02em;text-align:right;white-space:nowrap;color:var(--ink-strong);font-variant-numeric:tabular-nums}.roster-card__toggles,.roster-card__pills{display:flex;flex-wrap:wrap;gap:.45rem}.toggle-chip{flex:1;min-width:0;min-height:48px;display:inline-flex;align-items:center;justify-content:center;gap:.45rem;margin:0;padding:.45rem .7rem;border:1px solid var(--line);border-radius:var(--radius);background:#fff;font-family:var(--font-body);font-size:.88rem;font-weight:600;letter-spacing:0;text-transform:none;color:var(--ink);cursor:pointer}.toggle-chip.is-on{background:var(--slate-deep);border-color:var(--slate-deep);color:#fff}.toggle-chip input{width:18px;height:18px;accent-color:var(--slate-deep)}.event-card{display:flex;justify-content:space-between;align-items:flex-start;gap:.75rem;padding:.95rem 1rem;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);text-decoration:none;color:inherit}.event-card strong{display:block;font-family:var(--font-display);color:var(--ink-strong)}.event-card__code{margin:0 0 .15rem;font-family:var(--font-mono);font-size:.72rem;color:var(--ink-soft)}.event-card .stamp{transform:none;flex-shrink:0}.mobile-action-bar{display:none}.confirm-actions{margin-top:1rem}@media(max-width:1100px){.stats-strip{grid-template-columns:repeat(auto-fit,minmax(11rem,1fr))}}@media(max-width:800px){html{scroll-padding-top:72px}.topbar{min-height:58px;gap:.65rem;padding:max(.55rem,env(safe-area-inset-top)) max(.9rem,env(safe-area-inset-right)) .55rem max(.9rem,env(safe-area-inset-left))}.topbar-eyebrow-text{display:none}.wordmark{font-size:.95rem}.topbar-nav .btn{min-height:36px;padding:.35rem .75rem;font-size:.85rem}.page{width:calc(100% - 1.25rem);margin:1rem auto 2rem}.page--with-action{margin-bottom:7.5rem}.panel,.card{padding:1rem .95rem 1.15rem}.grid-2,.field-row{grid-template-columns:1fr}.pay-strip{flex-direction:column;align-items:flex-start}.stats-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.page.landing{width:calc(100% - 1.25rem);margin:0 auto;padding:1.5rem 0 2.25rem;align-items:stretch;justify-content:center}.landing-doors{grid-template-columns:1fr}.landing-door{min-height:8.5rem}.landing-door+.landing-door{border-left:0;border-top:1px solid var(--line)}.toolbar,.toolbar-row,.toolbar-row--primary,.toolbar-links{width:100%}.toolbar-row--primary .btn,.row-actions .btn-primary{width:100%;min-width:0}.toolbar-links{flex-direction:column;align-items:flex-start;gap:.55rem}.masthead h1{font-size:1.28rem;overflow-wrap:anywhere}.masthead .row-actions{align-items:flex-start}.stamp{transform:none;white-space:normal;text-align:center;max-width:11rem}.ledger-now{display:block}.ledger{overflow-x:auto;-webkit-overflow-scrolling:touch;padding-bottom:.25rem;scrollbar-width:none}.ledger::-webkit-scrollbar{display:none}.ledger-stage{flex:0 0 4.6rem}.ledger-label{font-size:9px;line-height:1.25}.table-toolbar{flex-direction:column;align-items:stretch}.table-count{white-space:normal}.table-pager{flex-wrap:wrap}.table-pager__btn{flex:1 1 8rem;min-height:44px}.table-shell--split .table-wrap{display:none}.table-shell--split .roster-list{display:grid;gap:.65rem;padding:.75rem;max-height:none}table.ledger-table th.col-name,table.ledger-table td.col-name{position:static;box-shadow:none}table.ledger-table{font-size:.75rem}.row-comment{min-width:0;font-size:16px}.notif-item{flex-direction:column;gap:.2rem}.notif-to,.notif-time{min-width:0}.login{max-width:none;margin:.75rem auto 2rem}.login .card{padding:1.25rem 1.1rem 1.4rem;border-radius:16px}.code-input{font-size:1.4rem;min-height:48px}.site-footer{padding:.85rem 1rem max(1rem,env(safe-area-inset-bottom))}.validation-card__head{align-items:flex-start}.confirm-actions .toolbar-row--primary{display:none}.mobile-action-bar{display:grid;gap:.45rem;position:fixed;left:0;right:0;bottom:0;z-index:50;padding:.7rem .9rem max(.7rem,env(safe-area-inset-bottom));background:#fffffff5;border-top:1px solid var(--line);box-shadow:0 -8px 24px #0f2a2e14;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.mobile-action-bar .btn{width:100%}.mobile-action-bar__hint{margin:0;font-size:.78rem;color:var(--ink-soft)}input[type=text],input[type=date],input[type=email],input[type=password],input[type=number],input[type=search],textarea,.code-input{font-size:16px}.btn{min-height:44px}input[type=checkbox]{width:22px;height:22px}.event-link{align-items:flex-start}}@media(max-width:520px){.stats-strip{grid-template-columns:1fr 1fr}.roster-card__head{grid-template-columns:auto 1fr}.roster-card__amount{grid-column:2;text-align:left}.roster-bulk{grid-template-columns:1fr}}@media(prefers-reduced-motion:reduce){.btn,.event-link,.event-card,.toast,.landing-stub summary svg{transition:none;animation:none}.btn:hover:not(:disabled){transform:none}}.toast-viewport{position:fixed;right:1.25rem;bottom:1.25rem;z-index:80;display:grid;gap:.65rem;width:min(24rem,calc(100vw - 2.5rem));pointer-events:none}.toast{pointer-events:auto;display:flex;align-items:flex-start;gap:.7rem;padding:.85rem .9rem;border-radius:var(--radius);border:1px solid var(--line);background:var(--paper-raised);box-shadow:var(--shadow);animation:toast-in .22s ease}.toast__icon{width:28px;height:28px;border-radius:var(--radius);display:grid;place-items:center;flex-shrink:0}.toast__body{min-width:0;flex:1}.toast__title{margin:0;font-weight:600;font-size:.92rem;color:var(--ink-strong);line-height:1.3}.toast__detail{margin:.2rem 0 0;font-size:.8rem;color:var(--ink-soft);line-height:1.4}.toast__close{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:transparent;color:var(--ink-muted);padding:.15rem;cursor:pointer;border-radius:6px;display:grid;place-items:center}.toast__close:hover{color:var(--ink-strong);background:var(--surface-soft)}.toast--success{border-color:#17724547;background:var(--ok-soft)}.toast--success .toast__icon{background:#fff;color:var(--ok)}.toast--warn{border-color:#b5470847;background:var(--warning-soft)}.toast--warn .toast__icon{background:#fff;color:var(--warning)}.toast--error{border-color:#b4231847;background:var(--danger-soft)}.toast--error .toast__icon{background:#fff;color:var(--danger)}@keyframes toast-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@media(max-width:800px){.toast-viewport{right:.75rem;left:.75rem;width:auto;bottom:calc(5.5rem + env(safe-area-inset-bottom,0px))}}.cell-input{width:100%;min-width:0;border:1px solid var(--line);border-radius:8px;padding:.35rem .5rem;font:inherit;font-size:.85rem}.exception-add{display:grid;gap:.75rem;margin-top:1rem;padding:1rem;border:1px dashed var(--line-strong);border-radius:var(--radius-sm);background:var(--surface-soft)}.exception-add__grid{display:grid;grid-template-columns:1.4fr 1fr .6fr .9fr;gap:.65rem}.exception-editor{display:grid;gap:.55rem;margin:.4rem 0 1rem;padding:.75rem;border:1px solid var(--warning);border-radius:var(--radius-sm);background:var(--warning-soft)}.row-actions-cell{display:flex;flex-wrap:wrap;gap:.35rem}.attendee-entry{display:grid;gap:.85rem;margin:0 0 1.25rem;padding:1rem 1.05rem 1.1rem;border:1px dashed var(--line-strong);border-radius:var(--radius-sm);background:var(--surface-soft)}.attendee-entry__head h3{margin:0 0 .2rem;font-size:.95rem}.attendee-entry__head p{margin:0;color:var(--ink-soft);font-size:.82rem}.attendee-entry__costs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem 1rem;margin-bottom:.25rem}@media(max-width:800px){.exception-add__grid,.attendee-entry__costs{grid-template-columns:1fr}}.work-board{margin:1rem 0;padding:1rem 1.1rem;border:1px solid var(--line, #cbd5e1);border-radius:var(--radius);background:#fff}.work-board--nested{margin-left:1.25rem;background:var(--slate-soft)}.work-board h3{margin:0 0 .25rem;font-size:1.05rem}.work-board h4{margin:.85rem 0 .35rem;font-size:.82rem;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-soft, #5b6573)}.work-indent,.task-tree__item--d1{padding-left:1rem}.task-tree__item--d2{padding-left:2rem}.task-tree{list-style:none;margin:0;padding:0}.task-tree__item{padding:.25rem 0}.action-grid{display:flex;flex-wrap:wrap;gap:.6rem;margin:.75rem 0 1rem}.workspace-tabs{display:flex;flex-wrap:wrap;gap:0;margin:.85rem 0 1rem;padding:0;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface)}.workspace-tabs__tab{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;border-right:1px solid var(--line);background:transparent;color:var(--ink-soft);font:inherit;font-weight:600;font-size:.78rem;letter-spacing:.04em;text-transform:uppercase;padding:.65rem .9rem;border-radius:var(--radius);display:inline-flex;align-items:center;gap:.45rem;cursor:pointer}.workspace-tabs__tab.is-active{background:var(--slate-deep);color:#fff;box-shadow:none}.workspace-tabs__count{min-width:1.4rem;padding:.05rem .4rem;border-radius:var(--radius);background:var(--mist);color:var(--ink-soft);font-size:.75rem;font-variant-numeric:tabular-nums;text-align:center}.workspace-tabs__tab.is-active .workspace-tabs__count{background:#ffffff29;color:#fff}.list-toolbar{display:flex;flex-wrap:wrap;gap:.75rem 1rem;align-items:end;margin:0 0 1rem}.list-toolbar label,.list-toolbar__search{display:flex;flex-direction:column;gap:.25rem;font-size:.78rem;font-weight:600;color:var(--ink-soft)}.list-toolbar input,.list-toolbar select{min-width:10rem;height:2.35rem}.list-toolbar__meta{margin:0 0 .2rem auto;font-size:.82rem;color:var(--ink-muted);font-variant-numeric:tabular-nums}.sort-th{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:none;font:inherit;font-weight:700;color:inherit;padding:0;cursor:pointer;display:inline-flex;align-items:center;gap:.3rem;text-transform:uppercase;letter-spacing:.05em}.sort-th.is-active{color:var(--slate-deep)}.sort-th__mark{font-size:.7rem;color:var(--ink-muted)}.project-workspace .create-event-form{margin-top:.75rem}.activity-pay-desk__head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:.35rem 1rem;margin-bottom:.65rem}.activity-pay-desk__head .section{margin:0}.activity-pay-desk__table tr.is-selected td{background:var(--slate-soft)}.activity-pay-desk__bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.65rem 1rem;margin-top:.75rem;padding:.75rem .85rem;border:1px solid var(--line);background:var(--surface)}.activity-pay-desk__bar p{margin:0;font-weight:600;font-variant-numeric:tabular-nums}.activity-pay-desk__actions,.record-paid-form__actions{display:flex;flex-wrap:wrap;gap:.5rem}.record-paid-form{margin-top:.75rem;padding:.85rem;border:1px solid var(--line);border-radius:8px;background:var(--surface)}.record-paid-form .field-row{margin-bottom:.75rem}.record-paid-form .field-hint{margin:.6rem 0 .75rem}.activity-pay-desk__assigned{list-style:none;margin:.5rem 0 0;padding:0}.activity-pay-desk__assigned li{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:.5rem .85rem;padding:.45rem 0;border-bottom:1px solid var(--line);font-size:.875rem}.activity-pay-desk__hint{margin:0 0 .75rem;color:var(--ink-muted, #75777d);font-size:.9rem}.approve-hero__amount{margin:.35rem 0 0;font-size:1.85rem;font-weight:700;letter-spacing:-.03em;font-variant-numeric:tabular-nums}.approve-bar{position:sticky;bottom:0;margin-top:1rem;padding:.85rem 0 .25rem;background:var(--surface, #fff);border-top:1px solid var(--line)}.approve-bar label{display:block;margin-top:.75rem}.col-check{width:2.25rem;text-align:center}.add-drawer{margin-top:1.1rem;padding-top:.85rem;border-top:1px dashed var(--line)}.add-drawer summary{cursor:pointer;font-weight:700;color:var(--ink-strong);list-style:none}.add-drawer summary::-webkit-details-marker{display:none}.add-drawer summary:after{content:" +";color:var(--slate-deep)}.add-drawer[open] summary:after{content:" –"}.ledger-table th.num,.ledger-table td.num{text-align:right;font-variant-numeric:tabular-nums}.envelope-panel{display:block;margin:0 0 1rem}.page>.stats-strip{margin:0 0 1rem;grid-template-columns:repeat(4,minmax(0,1fr))}@media(max-width:800px){.page>.stats-strip{grid-template-columns:repeat(2,minmax(0,1fr))}}.envelope-panel .stats-strip{margin:0;grid-template-columns:repeat(4,minmax(0,1fr))}.envelope-panel .panel-actions,.panel-actions{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:.5rem;margin-top:0;flex-direction:column;align-items:stretch;min-width:12rem}@media(max-width:800px){.envelope-panel{grid-template-columns:1fr}.envelope-panel .stats-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.envelope-panel .panel-actions{flex-direction:row;min-width:0}}.catalog-table-wrap{max-height:min(62vh,40rem);overflow:auto;margin-top:.5rem;border:1px solid var(--line);border-radius:var(--radius)}.scope-selection{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.65rem 1rem;margin:.65rem 0 0;padding:.65rem .85rem;border:1px solid var(--line);background:var(--success-emerald-soft)}.scope-selection p{margin:0;font-size:.88rem}.scope-pack-lines{margin:0 0 1rem;padding:0 0 0 1.1rem;font-size:.88rem}.scope-pack-lines li+li{margin-top:.2rem}.pack-line-table input[type=number]{width:5.5rem}.pack-decision-note{min-width:12rem}.dialog-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:80;background:#0b1f2273;display:grid;place-items:center;padding:1.25rem}.dialog{width:min(28rem,100%);background:var(--paper-raised);border-radius:var(--radius-lg);padding:1.25rem 1.35rem 1.4rem;box-shadow:var(--shadow)}.dialog h2{margin:0 0 1rem}@media(max-width:800px){.list-toolbar__meta{margin-left:0}}.crumb{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem;margin:0 0 .85rem;font-size:.875rem;font-weight:600}.crumb a{text-decoration:none}.crumb [aria-current=page]{color:var(--ink-strong)}.register{list-style:none;margin:0;padding:0;border:1px solid var(--line);border-radius:var(--radius);background:var(--paper-raised);overflow:hidden}.register li+li{border-top:1px solid var(--line)}.register a{display:grid;grid-template-columns:7.5rem minmax(0,1fr) auto;gap:1rem;align-items:center;padding:.95rem 1.1rem;text-decoration:none;color:inherit}.inbox-register a{grid-template-columns:7.5rem minmax(0,1fr) auto auto}.inbox-register .amount{display:inline-flex;align-items:center;gap:.35rem}.register a:hover{background:var(--slate-soft)}.register .code{font-family:var(--font-body);font-size:.72rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--slate-muted)}.register strong{font-family:var(--font-display);font-size:1.02rem}.register .amount{font-family:var(--font-body);font-size:.95rem;font-weight:600;letter-spacing:.02em;text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}.topbar-nav a[aria-current=page]{color:var(--ink-strong);box-shadow:inset 0 -2px 0 var(--slate-deep)}.panel:before{content:none}.expense-card{margin:0 0 .75rem;padding:.85rem 1rem;border:1px solid var(--line);background:var(--surface);box-shadow:inset 4px 0 0 var(--slate)}.expense-card .field-row{margin-bottom:0}.amount,.stats-card__amount,.col-money,.ledger-table td:nth-child(n){font-variant-numeric:tabular-nums}.app-shell--console{flex-direction:row;align-items:stretch;background:var(--paper);overflow:visible}.console-stage{flex:1;min-width:0;display:flex;flex-direction:column;background:var(--paper);position:relative;z-index:1}.app-shell--console .page{width:auto;max-width:none;margin:1.15rem 1.35rem 2rem}.app-shell--console .site-footer--console{background:transparent}.dialog--wide{width:min(36rem,100%);max-height:min(90vh,40rem);overflow:auto}.budget-line-attrs{display:grid;gap:.35rem 1rem;margin:0 0 1rem;padding:.75rem .9rem;border:1px solid var(--line);border-radius:var(--radius);background:var(--paper);grid-template-columns:minmax(7rem,9rem) 1fr}.budget-line-attrs__row{display:contents}.budget-line-attrs dt{margin:0;color:var(--ink-muted, #5a6b6e);font-size:.8rem}.budget-line-attrs dd{margin:0;font-size:.92rem}.budget-line-attrs--compact{display:block;margin:.35rem 0 0;padding:0;border:0;background:transparent;font-size:.8rem}.linked-budget-line{margin-top:.85rem}.linked-budget-line__label{margin:0 0 .35rem;font-size:.78rem;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-muted, #5a6b6e)}.catalog-table{font-size:.88rem}.catalog-table td p{margin:.15rem 0 0}.staff-rail{--ease-out: cubic-bezier(.23, 1, .32, 1);width:15.5rem;flex-shrink:0;display:flex;flex-direction:column;gap:.5rem;padding:1rem .85rem;background:var(--slate-deep);color:#d8e3fb;overflow:visible;z-index:40}.staff-rail.is-collapsed{width:4.5rem;padding-left:.5rem;padding-right:.5rem;align-items:stretch;gap:.45rem}.staff-rail__top{display:flex;align-items:center;gap:.35rem;position:relative;z-index:2;padding-bottom:.75rem;border-bottom:1px solid rgba(255,255,255,.08)}.staff-rail__top-actions{display:flex;align-items:center;gap:.25rem;margin-left:auto;flex-shrink:0}.staff-notif{position:relative;z-index:3}.staff-notif__bell{-webkit-appearance:none;-moz-appearance:none;appearance:none;position:relative;display:grid;place-items:center;width:2rem;height:2rem;border:1px solid rgba(255,255,255,.22);border-radius:var(--radius);background:transparent;color:#e8eefc;cursor:pointer;transition:transform .14s var(--ease-out),background .14s ease,color .14s ease,border-color .14s ease}.staff-notif__bell:hover,.staff-notif.is-open .staff-notif__bell{background:#ffffff14;color:#fff}.staff-notif__bell:active{transform:scale(.97)}.staff-notif__badge{position:absolute;top:.15rem;right:.1rem;min-width:1rem;height:1rem;padding:0 .2rem;border-radius:999px;background:#c2410c;color:#fff;font-size:.65rem;line-height:1rem;text-align:center}.staff-notif__panel{position:absolute;top:calc(100% + .4rem);left:0;right:auto;z-index:60;width:min(18rem,calc(100vw - 5.5rem));max-height:min(24rem,70vh);overflow:auto;border:1px solid rgba(255,255,255,.16);border-radius:0;background:#162033;color:#e8eefc;box-shadow:0 12px 28px #00000059}.staff-notif__head{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.65rem .75rem;border-bottom:1px solid rgba(255,255,255,.1)}.staff-notif__mark{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:transparent;color:#8fd0d6;font-size:.8rem;padding:.15rem .4rem;cursor:pointer}.staff-notif__mark:hover{color:#fff}.staff-notif__empty{padding:.85rem .75rem;color:#b7cbcc}.staff-notif__list{list-style:none;margin:0;padding:0}.staff-notif__item a{display:grid;gap:.15rem;padding:.7rem .75rem;text-decoration:none;color:inherit;border-bottom:1px solid rgba(255,255,255,.08)}@media(hover:hover)and (pointer:fine){.staff-notif__item a:hover{background:#ffffff0f}}.staff-notif__item.is-unread a{background:#f973161f}.staff-notif__title{font-size:.9rem;font-weight:600;color:#fff}.staff-notif__body{font-size:.8rem;color:#b7cbcc}.staff-notif__time{font-size:.72rem;color:#8a9bb8}.register-groups{display:grid;gap:1.25rem}.register-group{display:grid;gap:.5rem}.register-group__head{display:flex;align-items:baseline;justify-content:space-between;gap:.75rem}.register-group__head a{display:grid;gap:.1rem;text-decoration:none;color:inherit}.register-group__project{font-size:.75rem;text-transform:uppercase;letter-spacing:.04em;opacity:.7}.register-kind{font-weight:600}.staff-rail.is-collapsed .staff-rail__top{flex-direction:column;align-items:center;gap:.5rem;padding-bottom:.65rem}.staff-rail.is-collapsed .staff-rail__top-actions{margin-left:0;width:100%;justify-content:center}.staff-rail__toggle{-webkit-appearance:none;-moz-appearance:none;appearance:none;flex-shrink:0;width:2rem;height:2rem;display:grid;place-items:center;border:1px solid rgba(255,255,255,.14);border-radius:var(--radius);background:transparent;color:#d8e3fb;cursor:pointer;transition:transform .14s var(--ease-out),background .14s ease,color .14s ease}@media(hover:hover)and (pointer:fine){.staff-rail__toggle:hover{color:#fff;background:#ffffff0f}}.staff-rail__toggle:active{transform:scale(.97)}.staff-rail.is-collapsed .staff-rail__copy,.staff-rail.is-collapsed .staff-rail__role,.staff-rail.is-collapsed .staff-rail__who,.staff-rail.is-collapsed .staff-rail__help,.staff-rail.is-collapsed .staff-rail__nav span,.staff-rail.is-collapsed .staff-rail__out span{display:none}.staff-rail.is-collapsed .staff-rail__brand{border:0;padding:0;justify-content:center;flex:0;width:100%}.staff-rail.is-collapsed .staff-rail__nav a,.staff-rail.is-collapsed .staff-rail__out{justify-content:center;padding:.55rem .35rem}.staff-rail.is-collapsed .staff-rail__nav a[aria-current=page]{box-shadow:inset 0 0 0 1px var(--alert-orange)}.staff-rail.is-collapsed .staff-rail__foot{padding:.55rem 0 0;display:flex;flex-direction:column;align-items:center}.staff-rail__brand{display:flex;gap:.65rem;align-items:center;text-decoration:none;color:inherit;padding:.1rem .25rem;min-width:0;flex:1}.staff-rail__mark{width:2rem;height:2rem;flex-shrink:0;display:grid;place-items:center;background:var(--slate);color:#fff;border-radius:var(--radius)}.staff-rail__copy{min-width:0}.staff-rail__kicker{display:block;font-family:var(--font-body);font-size:.62rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:#8590a6}.staff-rail__title{display:block;font-family:var(--font-display);font-weight:600;font-size:.95rem;color:#fff;line-height:1.2}.staff-rail__role{margin:.15rem .4rem 0;font-size:.72rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:#8590a6}.staff-rail__nav{display:flex;flex-direction:column;gap:.15rem;margin-top:.15rem}.staff-rail__nav a{display:flex;align-items:center;gap:.55rem;padding:.55rem .65rem;border-radius:var(--radius);color:#d8e3fb;text-decoration:none;font-weight:500;font-size:.92rem}@media(hover:hover)and (pointer:fine){.staff-rail__nav a:hover{background:#ffffff0f;color:#fff}}.staff-rail__nav a[aria-current=page]{background:#f9731629;color:#fff;box-shadow:inset 3px 0 0 var(--alert-orange)}.staff-rail__foot{margin-top:auto;padding:.75rem .4rem 0;border-top:1px solid rgba(255,255,255,.08)}.staff-rail__who{margin:0 0 .5rem;font-size:.82rem;color:#b7cbcc;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.staff-rail__out{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;display:inline-flex;align-items:center;justify-content:center;gap:.45rem;min-height:2.4rem;padding:.45rem .75rem;border:1px solid rgba(255,255,255,.22);border-radius:var(--radius);background:transparent;color:#e8eefc;font:inherit;font-weight:600;font-size:.8125rem;letter-spacing:.04em;text-transform:uppercase;cursor:pointer;transition:transform .14s var(--ease-out),background .14s ease,color .14s ease,border-color .14s ease}@media(hover:hover)and (pointer:fine){.staff-rail__out:hover{background:#ffffff14;color:#fff;border-color:#ffffff59}}.staff-rail__out:active{transform:scale(.97)}.staff-rail__help{margin:.55rem 0 0;font-size:.75rem}.staff-rail__help a{color:#8fd0d6}@media(prefers-reduced-motion:reduce){.staff-notif__bell,.staff-rail__toggle,.staff-rail__out{transition:none}.staff-notif__bell:active,.staff-rail__toggle:active,.staff-rail__out:active{transform:none}}@media(max-width:800px){.app-shell--console{flex-direction:column}.staff-rail,.staff-rail.is-collapsed{width:100%;flex-direction:row;flex-wrap:wrap;align-items:center;gap:.5rem;padding:.65rem .75rem}.staff-rail.is-collapsed .staff-rail__copy,.staff-rail.is-collapsed .staff-rail__nav span,.staff-rail.is-collapsed .staff-rail__out span{display:inline}.staff-rail.is-collapsed .staff-rail__top{flex-direction:row;align-items:center;width:auto;padding-bottom:0;border-bottom:0;gap:.35rem}.staff-rail.is-collapsed .staff-rail__top-actions{width:auto}.staff-rail__top{width:auto;padding-bottom:0;border-bottom:0}.staff-notif__panel{left:auto;right:0;width:min(18rem,calc(100vw - 1.5rem))}.staff-rail__toggle{display:none}.staff-rail__brand{border:0;padding:0;flex:0}.staff-rail__role{display:none}.staff-rail__nav{flex-direction:row;flex:1;min-width:0;overflow-x:auto;margin-top:0}.staff-rail__foot{margin:0;padding:0;border:0;display:flex;align-items:center;gap:.5rem}.staff-rail__who,.staff-rail__help{display:none}.staff-rail__out{width:auto;min-height:36px}.app-shell--console .page{margin:.85rem .75rem 1.5rem}}.oversight-panel{margin:1.25rem 0 0;padding:1rem 0 0;border-top:1px solid var(--line)}.oversight-panel h2{margin:0 0 .75rem;font-family:var(--font-display, inherit);font-size:1.05rem;letter-spacing:.02em}.oversight-filters{display:flex;flex-wrap:wrap;gap:.4rem;margin:0 0 1rem}.oversight-envelopes{list-style:none;margin:0;padding:0;display:grid;gap:.85rem}.oversight-envelopes__head{display:flex;justify-content:space-between;gap:.75rem;font-size:.9rem}.oversight-envelopes__bar{height:6px;margin:.35rem 0 .25rem;background:var(--slate-soft, #e2e8f0)}.oversight-envelopes__bar>span{display:block;height:100%;background:var(--slate-deep, #36454f)}.activity-burn-bar{margin-top:.35rem;max-width:7rem;margin-left:auto}.activity-burn-bar--over>span{background:#b45309}.project-control{margin-top:1rem;display:grid;gap:.85rem}.project-control__movement{margin:0;font-size:.875rem}.project-control__exceptions .section{margin:0 0 .5rem;font-size:.95rem}.project-control__list{list-style:none;margin:0;padding:0;display:grid;gap:.35rem}.project-control__row{display:grid;grid-template-columns:minmax(8rem,auto) 1fr auto;gap:.65rem;align-items:center;padding:.55rem .65rem;background:var(--surface-soft, #f8fafc);border:1px solid var(--line, #cbd5e1);text-decoration:none;color:inherit;font-size:.875rem}a.project-control__row:hover{border-color:var(--line-strong, #94a3b8)}.project-control__tag{font-size:.7rem;text-transform:uppercase;letter-spacing:.04em;color:var(--ink-muted, #75777d)}.project-control__row .amount{font-family:var(--font-mono, ui-monospace, monospace);font-size:.8rem;white-space:nowrap}.oversight-fund{margin-top:.25rem}.oversight-fund__head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.75rem}.envelope-stack{display:grid;gap:.5rem}.envelope-stack__bar{display:flex;height:14px;width:100%;background:var(--slate-soft, #e2e8f0);overflow:hidden}.project-control__glance{display:grid;gap:1rem}.project-control__takeaway{padding:.9rem 1rem;background:var(--surface, #fff);border:1px solid var(--line, #cbd5e1)}.project-control__takeaway--alert{border-color:var(--danger, #ba1a1a);background:var(--danger-soft, #ffdad6)}.project-control__viz{display:grid;grid-template-columns:auto 1fr;gap:1.25rem;align-items:center}@media(max-width:720px){.project-control__viz{grid-template-columns:1fr}}.project-control__gauges{display:flex;gap:1rem;flex-wrap:wrap}.pct-gauge{margin:0;text-align:center;width:6.5rem}.pct-gauge__ring{--gauge-pct: 0;width:5.5rem;height:5.5rem;margin:0 auto;border-radius:0;background:conic-gradient(var(--gauge-fill, var(--slate, #1e293b)) calc(var(--gauge-pct) * 1%),var(--slate-soft, #e2e8f0) 0);display:grid;place-items:center}.pct-gauge--ok{--gauge-fill: var(--ok, #10b981)}.pct-gauge--warn{--gauge-fill: #f97316}.pct-gauge--danger{--gauge-fill: var(--danger, #ba1a1a)}.pct-gauge--encumbered{--gauge-fill: var(--slate, #1e293b)}.pct-gauge__hole{width:3.6rem;height:3.6rem;background:var(--surface, #fff);display:grid;place-items:center}.pct-gauge__value{font-family:var(--font-mono, ui-monospace, monospace);font-size:1rem;font-weight:600;color:var(--ink-strong, #091426)}.pct-gauge figcaption{margin-top:.45rem;display:grid;gap:.1rem}.pct-gauge figcaption strong{font-size:.8rem;font-weight:600}.pct-gauge figcaption span{font-size:.7rem;color:var(--ink-muted, #75777d)}.project-control__envelope-panel{min-width:0;display:grid;gap:.55rem}.project-control__viz-label{margin:0;font-size:.75rem;text-transform:uppercase;letter-spacing:.04em;color:var(--slate-muted, #64748b)}.project-control__signals{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.5rem}.project-control__signals li{padding:.35rem .55rem;border:1px solid var(--line, #cbd5e1);background:var(--surface-soft, #f8fafc);font-size:.75rem;color:var(--ink-soft, #45474c)}.project-control__signals li strong{font-family:var(--font-mono, ui-monospace, monospace);margin-right:.2rem;color:var(--ink-strong, #091426)}.project-control__signals li.is-warn{border-color:#fdba74;background:var(--warning-soft, #fff7ed)}.project-control__signals li.is-danger{border-color:var(--danger, #ba1a1a);background:var(--danger-soft, #ffdad6)}.burn-chart{display:grid;gap:.55rem}.burn-chart__head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:.35rem 1rem}.burn-chart__head .section{margin:0}.burn-chart__list{list-style:none;margin:0;padding:0;display:grid;gap:.55rem}.burn-chart__link{display:grid;gap:.3rem;text-decoration:none;color:inherit}.burn-chart__label{display:flex;justify-content:space-between;gap:.75rem;font-size:.85rem}.burn-chart__name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:500}.burn-chart__meta{flex:0 0 auto;font-family:var(--font-mono, ui-monospace, monospace);font-size:.75rem;color:var(--ink-muted, #75777d)}.burn-chart__track{display:flex;height:10px;background:var(--slate-soft, #e2e8f0);overflow:hidden}.burn-chart__track--over{outline:1px solid var(--danger, #ba1a1a);outline-offset:1px}.burn-chart__spent{display:block;height:100%;background:var(--ok, #10b981)}.burn-chart__encumbered{display:block;height:100%;background:var(--slate, #1e293b);opacity:.55}.project-control__library{border:1px solid var(--line, #cbd5e1);background:var(--surface, #fff);padding:0}.project-control__library>summary{cursor:pointer;list-style:none;display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:.35rem 1rem;padding:.7rem .85rem;font-family:var(--font-display, inherit);font-weight:600;font-size:.95rem}.project-control__library>summary::-webkit-details-marker{display:none}.project-control__library>summary:before{content:"+";margin-right:.45rem;font-family:var(--font-mono, ui-monospace, monospace);color:var(--slate-muted, #64748b)}.project-control__library[open]>summary:before{content:"–"}.project-control__library>*:not(summary){padding:0 .85rem .85rem}.oversight-programme{margin-top:1rem}.oversight-programme .stats-strip{margin-top:.35rem}.envelope-stack__bar--over{outline:1px solid var(--danger, #ba1a1a);outline-offset:1px}.envelope-stack__spent{display:block;height:100%;background:var(--ok, #10b981)}.envelope-stack__encumbered{display:block;height:100%;background:var(--slate, #1e293b);opacity:.55}.envelope-stack__free{display:block;height:100%;background:transparent}.envelope-stack__legend{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.75rem 1.25rem;font-size:.8rem;color:var(--ink-soft, #45474c)}.envelope-stack__legend li{display:inline-flex;align-items:center;gap:.4rem}.envelope-stack__swatch{width:.65rem;height:.65rem;flex:0 0 auto}.envelope-stack__swatch--spent{background:var(--ok, #10b981)}.envelope-stack__swatch--encumbered{background:var(--slate, #1e293b);opacity:.55}.envelope-stack__swatch--free{background:var(--slate-soft, #e2e8f0);border:1px solid var(--line, #cbd5e1)}.project-control__intel{padding:.85rem .9rem;background:var(--surface, #fff);border:1px solid var(--line, #cbd5e1)}.project-control__intel .section{margin:0 0 .35rem;font-size:.95rem}.project-control__headline{margin:0 0 .5rem;font-family:var(--font-display, inherit);font-weight:600;font-size:1rem;line-height:1.35;color:var(--ink-strong, #091426)}.project-control__bullets{margin:0;padding-left:1.1rem;display:grid;gap:.35rem;font-size:.875rem;color:var(--ink-soft, #45474c)}.project-control__tag--line_over,.project-control__tag--over_envelope{color:var(--danger, #ba1a1a)}.project-control__tag--line_near,.project-control__tag--near_ceiling,.project-control__tag--aging_pending{color:#b45309}.project-control__tag--unlinked{color:var(--slate-muted, #64748b)}.project-control__burn-link{display:block;text-decoration:none;color:inherit}.project-control__burn-link:hover .oversight-envelopes__head{color:var(--slate-deep, #091426)}.activity-burn-bar--stack{display:flex;max-width:none;margin-left:0}.activity-burn-bar__spent{display:block;height:100%;background:var(--ok, #10b981)}.activity-burn-bar__encumbered{display:block;height:100%;background:var(--slate, #1e293b);opacity:.55}button.linkish{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:none;padding:0;margin:0;font:inherit;color:var(--slate-deep, #091426);text-decoration:underline;text-underline-offset:2px;cursor:pointer}button.linkish:hover{color:var(--ink-strong, #091426)}.spend-wizard__steps{display:flex;flex-wrap:wrap;gap:.35rem;margin:0 0 1rem}.spend-wizard__step{display:inline-flex;align-items:center;gap:.4rem;border:1px solid var(--line, #cbd5e1);background:var(--surface, #fff);padding:.4rem .65rem;font:inherit;color:var(--ink-muted, #75777d);cursor:pointer}.spend-wizard__step:disabled{cursor:default;opacity:.55}.spend-wizard__step.is-done{color:var(--ink, #1b1b1d)}.spend-wizard__step.is-now{border-color:var(--slate-deep, #36454f);color:var(--slate-deep, #36454f);font-weight:600}.spend-wizard__step-num{display:inline-grid;place-items:center;width:1.35rem;height:1.35rem;background:var(--slate-soft, #f1f5f9);font-size:.75rem;font-family:var(--font-mono, ui-monospace, monospace)}.spend-wizard__step.is-now .spend-wizard__step-num{background:var(--slate-deep, #36454f);color:#fff}.spend-wizard__types{display:grid;gap:.5rem}.spend-wizard__type{display:grid;grid-template-columns:auto 1fr;gap:.75rem;align-items:start;padding:.85rem 1rem;border:1px solid var(--line, #cbd5e1);background:var(--surface, #fff);cursor:pointer}.spend-wizard__type.is-selected{border-color:var(--slate-deep, #36454f);background:var(--surface-soft, #f8fafc)}.spend-wizard__type strong{display:block;margin-bottom:.2rem}.spend-wizard__type p{margin:0}.spend-wizard__kv{display:grid;grid-template-columns:8rem 1fr;gap:.45rem 1rem;margin:0}.spend-wizard__kv dt{color:var(--ink-muted, #75777d);font-size:.8rem}.spend-wizard__kv dd{margin:0}.spend-wizard__flow{margin:1rem 0 0;font-size:.9rem;color:var(--ink-soft, #45474c)}.spend-wizard__footer{margin-top:1rem}.oversight-checks{list-style:none;margin:0;padding:0;display:grid;gap:.65rem}.oversight-checks li{display:grid;grid-template-columns:auto 1fr;gap:.65rem;align-items:start;padding:.65rem .75rem;border:1px solid var(--line)}.oversight-checks .oversight-checks__icon{display:inline-flex;align-items:center;justify-content:center;width:1.4rem;height:1.4rem;margin-top:.1rem}.oversight-checks.is-pass .oversight-checks__icon,.oversight-checks li.is-pass .oversight-checks__icon{color:var(--success-emerald, #10b981)}.oversight-checks li.is-fail .oversight-checks__icon{color:var(--alert-orange, #f97316)}.oversight-checks__label{margin:0;font-weight:600}.oversight-lines{list-style:none;margin:0;padding:0}.oversight-lines li{display:grid;grid-template-columns:1fr auto;gap:.35rem 1rem;padding:.55rem 0;border-bottom:1px solid var(--line)}.oversight-lines li.is-flagged{box-shadow:inset 3px 0 0 var(--alert-orange, #f97316);padding-left:.65rem}.oversight-lines li .muted{grid-column:1 / -1}.oversight-timeline{list-style:none;margin:0;padding:0;display:grid;gap:.75rem}.oversight-timeline li{display:grid;gap:.15rem;padding-left:.75rem;border-left:2px solid var(--slate-deep, #36454f)}.oversight-timeline time{font-size:.8rem;color:var(--muted, #64748b)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
