.palette-overlay{position:fixed;inset:0;z-index:var(--z-modal);background:var(--paper-overlay);display:flex;align-items:flex-start;justify-content:center;padding-top:12vh;padding-left:var(--space-6);padding-right:var(--space-6);opacity:0;pointer-events:none;transition:opacity 80ms var(--easing-standard)}.palette-overlay.is-open{opacity:1;pointer-events:auto;transition:opacity .12s var(--easing-standard)}.palette{width:100%;max-width:640px;max-height:70vh;background:var(--paper-raised);border:1px solid var(--ink-hairline);border-radius:var(--radius-app-lg);box-shadow:0 8px 32px -4px rgba(10,10,11,.12);display:flex;flex-direction:column;overflow:hidden}.palette-search-row{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--ink-hairline)}.palette-search{flex:1 1;border:none;outline:none;background:transparent;font-family:var(--font-sans);font-size:var(--text-body-lg);line-height:var(--text-body-lg-lh);color:var(--ink-strong);letter-spacing:0;padding:0}.palette-search::placeholder{color:var(--ink-faint)}.palette-esc{flex-shrink:0;font-family:var(--font-mono);font-size:var(--text-caption);letter-spacing:.04em;color:var(--ink-faint);padding:2px 6px;border:1px solid var(--ink-hairline);border-radius:var(--radius-sm);background:transparent}.palette-results{flex:1 1 auto;overflow-y:auto;padding:var(--space-3) 0}.palette-section-title{font-family:var(--font-mono);font-size:var(--text-caption);line-height:var(--text-caption-lh);letter-spacing:var(--letter-museum);text-transform:uppercase;color:var(--ink-faint);padding:var(--space-3) var(--space-5) var(--space-2)}.palette-result{display:block;width:100%;text-align:left;padding:var(--space-2) var(--space-5);border:none;background:transparent;cursor:pointer;font:inherit;color:inherit;transition:background-color var(--duration-fast) var(--easing-standard)}.palette-result.is-active,.palette-result:hover{background:var(--paper-recessed)}.palette-result-title{font-family:var(--font-serif);font-weight:400;font-size:var(--text-body);line-height:var(--text-body-lh);letter-spacing:0;color:var(--ink-strong)}.palette-result-meta,.palette-result-title{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.palette-result-meta{margin-top:2px;font-family:var(--font-mono);font-size:var(--text-caption);line-height:var(--text-caption-lh);letter-spacing:.04em;color:var(--ink-faint)}.palette-result-meta .meta-sep{margin:0 var(--space-2);color:var(--ink-hairline)}.palette-empty{padding:var(--space-6) var(--space-5);text-align:center;font-family:var(--font-sans);font-size:var(--text-body-sm);line-height:var(--text-body-sm-lh);color:var(--ink-faint)}.palette-footer{display:flex;align-items:center;gap:var(--space-4);padding:var(--space-2) var(--space-5);border-top:1px solid var(--ink-hairline);font-family:var(--font-mono);font-size:var(--text-caption);letter-spacing:.04em;color:var(--ink-faint);flex-shrink:0}.palette-hint{display:inline-flex;align-items:center;gap:var(--space-2)}.palette-kbd{display:inline-block;font-family:var(--font-mono);font-size:10px;letter-spacing:.02em;color:var(--ink-muted);padding:1px 5px;border:1px solid var(--ink-hairline);border-radius:var(--radius-sm);background:var(--paper)}.audit-app{width:100%;max-width:2200px;margin:0 auto;height:100vh;background:var(--paper);display:flex;flex-direction:column;overflow:hidden;box-shadow:0 0 0 1px var(--ink-hairline)}.audit-title{padding:32px var(--space-6) 24px;border-bottom:1px solid var(--ink-hairline);background:var(--paper);flex-shrink:0;display:grid;grid-template-columns:1fr auto;grid-column-gap:var(--space-6);column-gap:var(--space-6);grid-row-gap:var(--space-2);row-gap:var(--space-2);align-items:end}.audit-title-museum{grid-column:1/2;margin:0;font-family:var(--font-mono);font-size:var(--text-caption);font-weight:400;letter-spacing:var(--letter-museum);text-transform:uppercase;color:var(--ink-faint)}.audit-title-museum-pre{color:var(--ink-faint);margin-right:var(--space-1)}.audit-title-firm,.audit-title-museum-strong{color:var(--ink-strong)}.audit-title-firm{grid-column:1/2;font-family:var(--font-serif);font-weight:400;font-size:var(--text-h2);line-height:var(--text-h2-lh);letter-spacing:var(--letter-h2)}.audit-title-stamp{grid-column:1/2;font-family:var(--font-mono);font-size:var(--text-body-sm);color:var(--ink-muted);letter-spacing:.04em;margin-top:2px}.audit-title-stamp-num{color:var(--ink-strong)}.audit-title-stamp-sep{opacity:.4;margin:0 var(--space-2)}.audit-validation{display:flex;align-items:center;justify-content:space-between;gap:var(--space-6);padding:var(--space-3) var(--space-6) var(--space-4);background:var(--paper-raised);border-bottom:1px solid var(--ink-hairline);flex-shrink:0}.audit-validation-body{min-width:0;display:flex;flex-direction:column;gap:var(--space-1)}.audit-validation-statement{display:flex;align-items:baseline;gap:var(--space-2);font-family:var(--font-serif);font-style:italic;font-weight:400;font-size:var(--text-body-lg);line-height:var(--text-body-lg-lh);letter-spacing:-.005em;color:var(--ink-strong)}.audit-validation-dot{flex-shrink:0;width:7px;height:7px;border-radius:50%;background:var(--seal-green);transform:translateY(-2px)}.audit-validation.is-broken .audit-validation-dot{background:var(--seal-red)}.audit-validation-meta{display:flex;align-items:baseline;gap:0 var(--space-2);flex-wrap:wrap;font-family:var(--font-mono);font-size:var(--text-caption);letter-spacing:.04em;color:var(--ink-faint);padding-left:15px}.audit-validation-meta-strong{color:var(--ink-strong)}.audit-validation-meta-sep{opacity:.4}.audit-validation-action{flex-shrink:0;display:inline-flex;align-items:center;gap:var(--space-1);align-self:end;padding-bottom:2px;font-family:var(--font-mono);font-size:var(--text-caption);letter-spacing:.06em;color:var(--ink-faint);cursor:pointer;transition:color var(--duration-fast) var(--easing-standard)}.audit-validation-action:hover{color:var(--ink-strong)}.audit-validation-action-arrow{transition:transform var(--duration-fast) var(--easing-standard)}.audit-validation-action:hover .audit-validation-action-arrow{transform:translate(2px,-2px)}.audit-body{display:grid;grid-template-columns:264px 1fr;flex:1 1;min-height:0}@media (min-width:1920px){.audit-body{grid-template-columns:264px 1fr 320px}}.audit-main{display:flex;flex-direction:column;min-width:0;min-height:0;background:var(--paper)}.audit-thead{display:grid;grid-template-columns:100px 48px 112px minmax(400px,800px) 80px 160px 1fr;grid-column-gap:var(--space-3);column-gap:var(--space-3);padding:10px var(--space-6);border-bottom:1px solid var(--ink-hairline);background:var(--paper);font-family:var(--font-mono);font-size:10px;line-height:var(--text-body-sm-lh);letter-spacing:var(--letter-museum);text-transform:uppercase;color:var(--ink-faint);flex-shrink:0;position:-webkit-sticky;position:sticky;top:0;z-index:var(--z-raised)}.audit-thead-cell{display:inline-flex;align-items:center;gap:6px;cursor:pointer;position:relative;transition:color var(--duration-fast) var(--easing-standard)}.audit-thead-cell.is-sorted,.audit-thead-cell:hover{color:var(--ink-strong)}.audit-thead-cell-arrow{color:var(--ink-strong);font-size:9px}.audit-thead-cell:not(:last-child):after{content:"";position:absolute;right:calc(var(--space-3) * -.5 - .5px);top:-10px;bottom:-10px;width:1px;background:var(--ink-hairline)}.audit-tbody{flex:1 1;overflow-y:auto}.audit-row{display:grid;grid-template-columns:100px 48px 112px minmax(400px,800px) 80px 160px 1fr;grid-column-gap:var(--space-3);column-gap:var(--space-3);padding:8px var(--space-6);border-bottom:1px solid rgba(10,10,11,.05);align-items:start;cursor:pointer;transition:background-color var(--duration-fast) var(--easing-standard)}.audit-row:hover{background:rgba(10,10,11,.04)}.audit-row-time{font-family:var(--font-mono);font-size:11px;color:var(--ink-faint);letter-spacing:.04em;padding-top:2px}.audit-row-actor{color:var(--ink-strong)}.audit-row-actor,.audit-row-cat{font-family:var(--font-mono);font-size:10px;letter-spacing:.16em;text-transform:uppercase;padding-top:3px}.audit-row-action,.audit-row-cat{color:var(--ink-muted)}.audit-row-action{font-family:var(--font-sans);font-size:12px;line-height:1.5;min-width:0}.audit-row-action em{font-family:var(--font-serif);font-style:italic;font-weight:400;color:var(--ink-strong);letter-spacing:-.005em}.audit-row-outcome{font-family:var(--font-mono);font-size:10px;letter-spacing:.06em;padding-top:3px}.audit-row-outcome,.audit-row-outcome.is-denied,.audit-row-outcome.is-error{color:var(--ink-strong)}.audit-row-hash{font-family:var(--font-mono);font-size:10px;color:var(--ink-faint);letter-spacing:.04em;padding-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.audit-row.is-flagged .audit-row-cat{color:var(--seal-red)}.audit-row.is-flagged .audit-row-action:before{content:"● ";color:var(--seal-red);font-size:10px;letter-spacing:0;vertical-align:1px;margin-right:2px}.audit-row.is-chain-broken{border-left:2px solid var(--seal-red);padding-left:calc(var(--space-6) - 2px)}.audit-row.is-chain-broken .audit-row-hash{color:var(--seal-red)}.audit-verify{display:flex;align-items:center;justify-content:space-between;padding:10px var(--space-6);border-top:1px solid var(--ink-hairline);background:var(--paper);flex-shrink:0;font-family:var(--font-mono);font-size:10px;letter-spacing:var(--letter-museum);text-transform:uppercase;color:var(--ink-faint)}.audit-verify-status{display:inline-flex;align-items:center;gap:var(--space-2)}.audit-verify-dot{display:inline-block;width:5px;height:5px;border-radius:50%}.audit-verify-dot,.audit-verify-dot.is-conn{background:var(--seal-green)}.audit-verify.is-broken .audit-verify-dot{background:var(--seal-red)}.audit-verify-num,.audit-verify-strong{color:var(--ink-strong)}.audit-verify-sep{opacity:.4;margin:0 var(--space-1)}.audit-verify-right{display:inline-flex;align-items:center;gap:18px}.audit-verify-export{display:inline-flex;align-items:center;gap:var(--space-1);color:var(--ink-strong);cursor:pointer;letter-spacing:.06em;text-transform:none;font-size:11px;transition:color var(--duration-fast) var(--easing-standard)}.audit-verify-export:hover{color:var(--seal-red)}.audit-verify-conn{display:inline-flex;align-items:center;gap:var(--space-1)}.audit-empty-result{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:96px var(--space-6);gap:var(--space-3)}.audit-empty-result-line{font-family:var(--font-serif);font-style:italic;font-weight:300;font-size:var(--text-h3);line-height:var(--text-h3-lh);letter-spacing:var(--letter-h3);color:var(--ink-strong)}.audit-empty-result-meta{font-family:var(--font-mono);font-size:var(--text-caption);letter-spacing:var(--letter-museum);text-transform:uppercase;color:var(--ink-faint)}.audit-empty-result-meta-strong{color:var(--ink-strong)}.audit-empty-result-sep{opacity:.4;margin:0 var(--space-2)}.audit-empty-result-clear{font-family:var(--font-mono);font-size:var(--text-caption);letter-spacing:.06em;text-transform:none;color:var(--ink-faint);cursor:pointer;padding:4px var(--space-3);border:1px solid var(--ink-hairline);border-radius:var(--radius-app-sm);margin-top:var(--space-2);transition:color var(--duration-fast) var(--easing-standard),border-color var(--duration-fast) var(--easing-standard)}.audit-empty-result-clear:hover{color:var(--ink-strong);border-color:var(--ink-strong)}.audit-insp-panel{background:var(--paper);border-left:1px solid var(--ink-hairline);box-shadow:-8px 0 24px rgba(10,10,11,.04);display:flex;flex-direction:column;overflow:hidden;min-width:0}.audit-insp-head{border-bottom:1px solid var(--ink-hairline);padding:16px 20px 14px;background:var(--paper);position:relative;flex-shrink:0}.audit-insp-head-pathbar{font-family:var(--font-mono);font-size:10px;line-height:14px;letter-spacing:var(--letter-museum);text-transform:uppercase;color:var(--ink-faint);margin-bottom:8px}.audit-insp-head-pre{color:var(--ink-faint);margin-right:var(--space-1)}.audit-insp-head-seg{color:var(--ink-muted)}.audit-insp-head-sep{color:var(--ink-faint);opacity:.6;margin:0 var(--space-1)}.audit-insp-head-id{color:var(--ink-strong);letter-spacing:.04em;text-transform:none;font-family:var(--font-mono)}.audit-insp-head-summary{font-family:var(--font-serif);font-size:22px;font-weight:400;color:var(--ink-strong);line-height:1.2;letter-spacing:-.01em;padding-right:200px;margin-bottom:6px}.audit-insp-head-summary em{font-style:italic;font-weight:400;color:var(--ink-strong)}.audit-insp-head-sub{font-family:var(--font-mono);font-size:var(--text-caption);letter-spacing:var(--letter-museum);text-transform:uppercase;color:var(--ink-faint)}.audit-insp-head-sub-strong{color:var(--ink-strong)}.audit-insp-head-sub-sep{opacity:.4;margin:0 var(--space-2)}.audit-insp-head-actions{position:absolute;top:14px;right:50px;display:inline-flex;gap:var(--space-1)}.audit-insp-head-action{width:28px;height:28px;background:transparent;border:1px solid transparent;border-radius:6px;color:var(--ink-muted);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:background-color var(--duration-fast) var(--easing-standard),color var(--duration-fast) var(--easing-standard),border-color var(--duration-fast) var(--easing-standard)}.audit-insp-head-action:hover{background:var(--paper-recessed);color:var(--ink-strong);border-color:var(--ink-hairline)}.audit-insp-head-action svg{display:block}.audit-insp-head-close{position:absolute;top:14px;right:16px;width:28px;height:28px;border:0;background:transparent;color:var(--ink-faint);cursor:pointer;border-radius:6px;display:inline-flex;align-items:center;justify-content:center;transition:background-color var(--duration-fast) var(--easing-standard),color var(--duration-fast) var(--easing-standard)}.audit-insp-head-close:hover{background:var(--paper-recessed);color:var(--ink-strong)}.audit-insp-head-close svg{display:block}.audit-insp-body{flex:1 1;overflow-y:auto;padding:22px 20px 28px;display:flex;flex-direction:column;gap:28px}.audit-insp-section{display:flex;flex-direction:column;gap:var(--space-2)}.audit-insp-section-head{display:flex;justify-content:space-between;align-items:baseline;font-family:var(--font-mono);font-size:10px;letter-spacing:var(--letter-museum);text-transform:uppercase;color:var(--ink-faint);border-bottom:1px solid var(--ink-hairline);padding-bottom:var(--space-1)}.audit-insp-section-pre{color:var(--ink-faint);margin-right:var(--space-1)}.audit-insp-section-label{color:var(--ink-strong)}.audit-insp-section-aside{color:var(--ink-faint);letter-spacing:.06em;text-transform:none;font-size:11px}.audit-insp-section-aside.is-strong{color:var(--ink-strong);cursor:pointer}.audit-insp-meta{display:grid;grid-template-columns:132px 1fr;grid-gap:6px var(--space-3);gap:6px var(--space-3);font-family:var(--font-mono);font-size:12px;color:var(--ink-strong);line-height:1.6}.audit-insp-meta dt{color:var(--ink-faint);font-weight:400;letter-spacing:.06em;text-transform:uppercase;font-size:10px;padding-top:2px}.audit-insp-meta dd{margin:0}.audit-insp-meta-mono{letter-spacing:.04em}.audit-insp-meta-fragment{font-size:11px}.audit-insp-meta-empty{font-family:var(--font-sans);font-size:12px;color:var(--ink-faint);font-style:italic}.audit-insp-meta-link{color:var(--ink-strong);text-decoration:underline;-webkit-text-decoration-color:var(--ink-hairline);text-decoration-color:var(--ink-hairline);text-underline-offset:3px}.audit-insp-meta-pair{display:contents}.audit-insp-diff{display:flex;flex-direction:column;font-family:var(--font-mono);font-size:12px;color:var(--ink-strong);line-height:1.5}.audit-insp-diff-head{padding-bottom:var(--space-1);border-bottom:1px solid var(--ink-hairline);color:var(--ink-faint);font-size:10px;letter-spacing:.06em;text-transform:uppercase}.audit-insp-diff-head,.audit-insp-diff-row{display:grid;grid-template-columns:132px 1fr 20px 1fr;grid-column-gap:var(--space-3);column-gap:var(--space-3)}.audit-insp-diff-row{padding:var(--space-2) 0;border-bottom:1px solid rgba(10,10,11,.05);align-items:baseline}.audit-insp-diff-row:last-child{border-bottom:none}.audit-insp-diff-label{color:var(--ink-faint);font-size:10px;letter-spacing:.06em;text-transform:uppercase}.audit-insp-diff-before{color:var(--ink-faint);text-decoration:line-through;-webkit-text-decoration-color:rgba(10,10,11,.25);text-decoration-color:rgba(10,10,11,.25);overflow-wrap:anywhere}.audit-insp-diff-arrow{color:var(--ink-faint);text-align:center}.audit-insp-diff-after{color:var(--ink-strong);font-weight:500;overflow-wrap:anywhere}.audit-insp-verify{display:flex;flex-direction:column;gap:var(--space-3)}.audit-insp-verify-actions{display:inline-flex;gap:var(--space-3)}.audit-insp-verify-action{font-family:var(--font-mono);font-size:var(--text-caption);letter-spacing:.06em;color:var(--ink-faint);cursor:pointer;transition:color var(--duration-fast) var(--easing-standard)}.audit-insp-verify-action:hover{color:var(--ink-strong)}.audit-insp-related{display:flex;flex-direction:column}.audit-insp-related-row{display:grid;grid-template-columns:88px 30px 1fr;grid-column-gap:10px;column-gap:10px;padding:var(--space-2) 0;border-bottom:1px solid rgba(10,10,11,.05);align-items:start;cursor:pointer;transition:background-color var(--duration-fast) var(--easing-standard)}.audit-insp-related-row:last-child{border-bottom:0}.audit-insp-related-time{font-size:11px;letter-spacing:.04em;padding-top:2px}.audit-insp-related-cat,.audit-insp-related-time{font-family:var(--font-mono);color:var(--ink-faint)}.audit-insp-related-cat{font-size:9px;letter-spacing:.16em;text-transform:uppercase;margin-right:6px}.audit-insp-related-action{font-family:var(--font-sans);font-size:12px;color:var(--ink-muted);line-height:1.45}.audit-insp-prev-empty,.audit-insp-related-empty{font-family:var(--font-sans);font-size:12px;color:var(--ink-faint);font-style:italic}.audit-insp-prev-row{display:grid;grid-template-columns:132px 1fr 130px;grid-column-gap:10px;column-gap:10px;padding:var(--space-2) 0;font-family:var(--font-mono);font-size:12px;color:var(--ink-strong)}.audit-insp-prev-time{color:var(--ink-faint);letter-spacing:.04em}.audit-insp-prev-action{color:var(--ink-strong)}.audit-insp-prev-hash{color:var(--ink-faint);letter-spacing:.04em;text-align:right}.audit-validation-severity{font-family:var(--font-mono);font-size:var(--text-caption);letter-spacing:.04em;color:var(--seal-red);text-transform:lowercase}.audit-validation-affected{color:var(--seal-red)}.firm-admin-app{display:flex;flex-direction:column;gap:var(--space-6);min-height:100%;padding:var(--space-8);background:var(--paper);font-family:var(--font-sans);color:var(--ink-strong)}.firm-admin-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-6);border-bottom:1px solid var(--ink-hairline);padding-bottom:var(--space-6)}.firm-admin-eyebrow{font-family:var(--font-mono);font-size:var(--text-caption);line-height:var(--text-caption-lh);letter-spacing:var(--letter-museum);text-transform:uppercase;color:var(--ink-faint);margin-bottom:var(--space-2)}.firm-admin-heading{font-family:var(--font-serif);font-size:var(--text-h1);line-height:var(--text-h1-lh);letter-spacing:var(--letter-h1);font-weight:400;color:var(--ink-strong);margin:0}.firm-admin-seat-card{display:grid;min-width:176px;grid-gap:var(--space-1);gap:var(--space-1);padding:var(--space-4);border:1px solid var(--ink-hairline);border-radius:var(--radius-app-sm);background:var(--paper-recessed)}.firm-admin-seat-label,.firm-admin-seat-meta{font-family:var(--font-mono);font-size:var(--text-caption);line-height:var(--text-caption-lh);letter-spacing:.04em;color:var(--ink-muted)}.firm-admin-seat-available{font-family:var(--font-serif);font-size:var(--text-h2);line-height:var(--text-h2-lh);letter-spacing:var(--letter-h2);color:var(--ink-strong)}.firm-admin-tabs{display:inline-flex;width:-moz-fit-content;width:fit-content;border:1px solid var(--ink-hairline);border-radius:var(--radius-app-sm);background:var(--paper-recessed);padding:var(--space-1);gap:var(--space-1)}.firm-admin-tab{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;padding:var(--space-2) var(--space-4);background:transparent;color:var(--ink-muted);font-family:var(--font-sans);font-size:var(--text-body-sm);line-height:var(--text-body-sm-lh);font-weight:500;border-radius:var(--radius-app-sm);cursor:pointer;transition:color var(--duration-fast) var(--easing-standard),background-color var(--duration-fast) var(--easing-standard)}.firm-admin-tab:hover{color:var(--ink-strong)}.firm-admin-tab.is-active{background:var(--paper);color:var(--ink-strong);box-shadow:0 1px 0 var(--ink-hairline)}.firm-admin-panel{display:flex;flex-direction:column;gap:var(--space-4)}.firm-admin-panel-title{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--space-4)}.firm-admin-panel-title h2{font-family:var(--font-serif);font-size:var(--text-h3);line-height:var(--text-h3-lh);letter-spacing:var(--letter-h3);font-weight:400;color:var(--ink-strong);margin:0}.firm-admin-matrix-title p,.firm-admin-panel-title p,.firm-admin-profile span,.firm-admin-table small{font-family:var(--font-sans);font-size:var(--text-body-sm);line-height:var(--text-body-sm-lh);color:var(--ink-muted)}.firm-admin-primary,.firm-admin-secondary{-webkit-appearance:none;-moz-appearance:none;appearance:none;min-height:34px;padding:var(--space-2) var(--space-4);border-radius:var(--radius-app-sm);font-family:var(--font-sans);font-size:var(--text-body-sm);line-height:var(--text-body-sm-lh);font-weight:500;cursor:pointer;transition:background-color var(--duration-fast) var(--easing-standard),color var(--duration-fast) var(--easing-standard),border-color var(--duration-fast) var(--easing-standard)}.firm-admin-primary{background:var(--ink-strong);color:var(--paper);border:1px solid var(--ink-strong)}.firm-admin-primary:hover{background:var(--ink-muted);border-color:var(--ink-muted)}.firm-admin-secondary{background:var(--paper);border:1px solid var(--ink-hairline);color:var(--ink-strong)}.firm-admin-secondary:hover{border-color:var(--ink-muted)}.firm-admin-add-row{display:grid;grid-template-columns:minmax(160px,1fr) minmax(220px,1fr) minmax(180px,220px) auto;grid-gap:var(--space-3);gap:var(--space-3);align-items:end}.firm-admin-add-row-submit{height:34px;align-self:end;white-space:nowrap}.firm-admin-profile-actions{display:flex;gap:var(--space-3);align-items:center}.firm-admin-add-row label{display:grid;grid-gap:var(--space-1);gap:var(--space-1);font-family:var(--font-mono);font-size:var(--text-caption);line-height:var(--text-caption-lh);letter-spacing:.04em;text-transform:uppercase;color:var(--ink-faint)}.firm-admin-add-row input,.firm-admin-add-row select,.firm-admin-profile-actions input,.firm-admin-table select{width:100%;min-height:34px;padding:var(--space-2);border:1px solid var(--ink-hairline);border-radius:var(--radius-app-sm);background:var(--paper);font-family:var(--font-sans);font-size:var(--text-body-sm);line-height:var(--text-body-sm-lh);color:var(--ink-strong)}.firm-admin-add-row input:focus,.firm-admin-add-row select:focus,.firm-admin-profile-actions input:focus,.firm-admin-table select:focus{outline:2px solid var(--ink-strong);outline-offset:1px}.firm-admin-matrix-grid,.firm-admin-table{display:grid;border:1px solid var(--ink-hairline);border-radius:var(--radius-app-sm);overflow:hidden;background:var(--paper)}.firm-admin-table-head,.firm-admin-table-row{display:grid;grid-template-columns:minmax(220px,1.4fr) minmax(120px,.8fr) minmax(180px,1fr) minmax(110px,.6fr) 96px;align-items:center;grid-gap:var(--space-3);gap:var(--space-3);padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--ink-hairline)}.firm-admin-matrix-head,.firm-admin-table-head{font-family:var(--font-mono);font-size:var(--text-caption);line-height:var(--text-caption-lh);letter-spacing:var(--letter-museum);text-transform:uppercase;color:var(--ink-faint);background:var(--paper-recessed)}.firm-admin-matrix-row:last-child,.firm-admin-table-row:last-child{border-bottom:0}.firm-admin-table-row small,.firm-admin-table-row strong{display:block}.firm-admin-table-row strong{font-family:var(--font-sans);font-weight:500;color:var(--ink-strong)}.firm-admin-status,.firm-admin-table-row strong{font-size:var(--text-body-sm);line-height:var(--text-body-sm-lh)}.firm-admin-status{text-transform:capitalize;font-family:var(--font-mono);color:var(--ink-muted)}.firm-admin-permissions-layout{display:grid;grid-template-columns:minmax(180px,240px) minmax(0,1fr);grid-gap:var(--space-4);gap:var(--space-4)}.firm-admin-profile-list{display:grid;align-content:start;grid-gap:var(--space-2);gap:var(--space-2)}.firm-admin-profile{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:grid;grid-gap:var(--space-1);gap:var(--space-1);padding:var(--space-3);text-align:left;border:1px solid var(--ink-hairline);border-radius:var(--radius-app-sm);background:var(--paper);font-family:var(--font-sans);cursor:pointer;transition:border-color var(--duration-fast) var(--easing-standard),background-color var(--duration-fast) var(--easing-standard)}.firm-admin-profile strong{font-size:var(--text-body-sm);line-height:var(--text-body-sm-lh);font-weight:500;color:var(--ink-strong)}.firm-admin-profile:hover{border-color:var(--ink-muted)}.firm-admin-profile.is-active{border-color:var(--seal-red);background:var(--paper-recessed)}.firm-admin-matrix{display:grid;grid-gap:var(--space-3);gap:var(--space-3)}.firm-admin-matrix-title{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-4)}.firm-admin-matrix-title h3{font-family:var(--font-serif);font-size:var(--text-h4);line-height:var(--text-h4-lh);letter-spacing:var(--letter-h4);font-weight:400;color:var(--ink-strong);margin:0}.firm-admin-matrix-head,.firm-admin-matrix-row{display:grid;grid-template-columns:minmax(160px,1fr) 96px 96px 120px;align-items:center;grid-gap:var(--space-3);gap:var(--space-3);padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--ink-hairline)}.firm-admin-matrix-row{font-family:var(--font-sans);font-size:var(--text-body-sm);line-height:var(--text-body-sm-lh);color:var(--ink-strong)}.firm-admin-matrix-row label{display:inline-flex;align-items:center;gap:var(--space-2);cursor:pointer}.firm-admin-matrix-row.is-locked label{cursor:not-allowed;color:var(--ink-faint)}.firm-admin-matrix-row.is-locked input[type=checkbox]{cursor:not-allowed}.firm-admin-settings-fields{display:grid;grid-gap:var(--space-6);gap:var(--space-6);max-width:640px}.firm-admin-field{display:grid;grid-gap:var(--space-2);gap:var(--space-2)}.firm-admin-field-label{display:inline-flex;align-items:center;gap:var(--space-2);font-family:var(--font-mono);font-size:var(--text-caption);line-height:var(--text-caption-lh);letter-spacing:.04em;text-transform:uppercase;color:var(--ink-faint)}.firm-admin-field input[name=firm-name]{min-height:34px;padding:var(--space-2);border:1px solid var(--ink-hairline);border-radius:var(--radius-app-sm);background:var(--paper);font-family:var(--font-sans);font-size:var(--text-body);line-height:var(--text-body-lh);color:var(--ink-strong)}.firm-admin-field input[name=firm-name]:focus{outline:2px solid var(--ink-strong);outline-offset:1px}.firm-admin-field-help{font-family:var(--font-sans);font-size:var(--text-body-sm);line-height:var(--text-body-sm-lh);color:var(--ink-muted)}.firm-admin-field-toggle .firm-admin-field-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding:var(--space-3) var(--space-4);border:1px solid var(--ink-hairline);border-radius:var(--radius-app-sm);background:var(--paper)}.firm-admin-info{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;border:1px solid var(--ink-hairline);border-radius:50%;font-family:var(--font-serif);font-size:11px;font-style:italic;line-height:1;color:var(--ink-muted);background:var(--paper);cursor:help;text-transform:none;letter-spacing:0}.firm-admin-info:focus-visible{outline:2px solid var(--ink-strong);outline-offset:1px}.firm-admin-switch{display:inline-flex;align-items:center;gap:var(--space-2);cursor:pointer}.firm-admin-switch input[type=checkbox]{position:absolute;opacity:0;width:0;height:0}.firm-admin-switch-track{display:inline-block;position:relative;width:36px;height:20px;border-radius:999px;background:var(--ink-hairline);transition:background-color var(--duration-fast) var(--easing-standard)}.firm-admin-switch-track:after{content:"";position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;background:var(--paper);box-shadow:0 1px 2px rgba(10,10,11,.2);transition:transform var(--duration-fast) var(--easing-standard)}.firm-admin-switch input:checked~.firm-admin-switch-track{background:var(--ink-strong)}.firm-admin-switch input:checked~.firm-admin-switch-track:after{transform:translateX(16px)}.firm-admin-switch input:focus-visible~.firm-admin-switch-track{outline:2px solid var(--ink-strong);outline-offset:2px}.firm-admin-switch-label{font-family:var(--font-mono);font-size:var(--text-body-sm);line-height:var(--text-body-sm-lh);color:var(--ink-strong);min-width:28px}.firm-admin-save-bar{position:-webkit-sticky;position:sticky;bottom:0;display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);margin-top:var(--space-6);padding:var(--space-3) var(--space-4);background:var(--paper-raised);border:1px solid var(--ink-hairline);border-radius:var(--radius-app);box-shadow:0 -4px 16px rgba(10,10,11,.06);z-index:var(--z-raised)}.firm-admin-save-bar-status{font-family:var(--font-sans);font-size:var(--text-body-sm);line-height:var(--text-body-sm-lh);color:var(--ink-muted)}.firm-admin-save-error{color:var(--seal-red)}.firm-admin-save-bar-actions{display:inline-flex;gap:var(--space-2)}.firm-admin-danger[disabled],.firm-admin-primary[disabled],.firm-admin-secondary[disabled]{cursor:not-allowed;opacity:.5}.firm-admin-add-error{margin:var(--space-2) 0 0;color:var(--accent-danger,#b3261e);font-size:var(--text-caption)}.firm-admin-danger{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--accent-danger,#b3261e);background:var(--accent-danger,#b3261e);color:var(--paper,#fff);padding:var(--space-2) var(--space-4);border-radius:4px;font-family:var(--font-sans);font-size:var(--text-body);cursor:pointer}.firm-admin-danger:hover{filter:brightness(.95)}.firm-admin-modal-backdrop{position:fixed;inset:0;background:rgba(15,15,15,.55);display:flex;align-items:center;justify-content:center;z-index:1000;padding:var(--space-6)}.firm-admin-modal{background:var(--paper);color:var(--ink-strong);border-radius:8px;padding:var(--space-6);max-width:480px;width:100%;box-shadow:0 24px 64px rgba(0,0,0,.25);display:flex;flex-direction:column;gap:var(--space-3)}.firm-admin-modal h2{margin:0;font-family:var(--font-serif);font-size:var(--text-h3);line-height:var(--text-h3-lh)}.firm-admin-modal-hint{margin:0;color:var(--ink-faint)}.firm-admin-modal-field{display:flex;flex-direction:column;gap:var(--space-1)}.firm-admin-modal-field input{padding:var(--space-2) var(--space-3);border:1px solid var(--ink-hairline);border-radius:4px;font-family:var(--font-sans);font-size:var(--text-body);background:var(--paper);color:var(--ink-strong)}.firm-admin-modal-error{margin:0;color:var(--accent-danger,#b3261e);font-size:var(--text-caption)}.firm-admin-modal-actions{display:flex;justify-content:flex-end;gap:var(--space-2);margin-top:var(--space-2)}@media (max-width:900px){.firm-admin-header,.firm-admin-matrix-title,.firm-admin-panel-title{align-items:stretch;flex-direction:column}.firm-admin-add-row,.firm-admin-permissions-layout{grid-template-columns:1fr}.firm-admin-add-row-submit{justify-self:stretch}.firm-admin-matrix-head,.firm-admin-matrix-row,.firm-admin-table-head,.firm-admin-table-row{grid-template-columns:1fr}.firm-admin-save-bar{flex-direction:column;align-items:stretch}.firm-admin-field-toggle .firm-admin-field-row{flex-direction:column;align-items:flex-start}}.usage-header{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin-bottom:24px}.usage-range-filter{display:inline-flex;border:1px solid var(--color-border,#e5e7eb);border-radius:999px;padding:2px;background:var(--color-surface-muted,#f9fafb)}.usage-range-option{padding:6px 14px;font-size:13px;line-height:1;color:var(--color-text-muted,#6b7280);text-decoration:none;border-radius:999px}.usage-range-option.active{background:var(--color-surface,#ffffff);color:var(--color-text,#111827);box-shadow:0 1px 2px rgba(0,0,0,.04)}.usage-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));grid-gap:16px;gap:16px;margin-bottom:32px}.usage-card{border:1px solid var(--color-border,#e5e7eb);border-radius:12px;padding:18px 20px;background:var(--color-surface,#ffffff)}.usage-card-title{font-size:13px;font-weight:500;color:var(--color-text-muted,#6b7280);margin:0 0 8px}.usage-card-value{font-size:28px;font-weight:600;color:var(--color-text,#111827);margin:0 0 6px}.usage-card-value-small{font-size:16px}.usage-card-meta{font-size:12px;color:var(--color-text-muted,#6b7280);margin:0}.usage-section-title{font-size:14px;font-weight:600;color:var(--color-text,#111827);margin:0 0 12px}.usage-models{margin-bottom:32px}.usage-models-table{width:100%;border-collapse:collapse;font-size:14px}.usage-models-table td,.usage-models-table th{text-align:left;padding:10px 12px;border-bottom:1px solid var(--color-border,#e5e7eb)}.usage-models-table th{font-weight:500;font-size:12px;color:var(--color-text-muted,#6b7280);text-transform:uppercase;letter-spacing:.04em}.usage-numeric{text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.usage-model-alias{display:block;font-weight:500;color:var(--color-text,#111827)}.usage-model-key{display:block;font-size:12px}.usage-empty,.usage-model-key{color:var(--color-text-muted,#6b7280)}.usage-empty{padding:24px;text-align:center;border:1px dashed var(--color-border,#e5e7eb);border-radius:12px}.usage-pii-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));grid-gap:16px;gap:16px}*,:after,:before{box-sizing:border-box;margin:0;padding:0}body,html{height:100%}body{background:var(--paper);color:var(--ink);font-family:var(--font-sans);font-size:var(--text-body);line-height:var(--text-body-lh);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}button,input,textarea{font-family:inherit;font-size:inherit;color:inherit}a{color:inherit;text-decoration:none}ul{list-style:none}hr{border:none}*{scrollbar-width:thin;scrollbar-color:var(--ink-hairline) transparent}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background-color:var(--ink-hairline);border-radius:999px;border:3px solid transparent;background-clip:padding-box;-webkit-transition:background-color var(--duration-fast) var(--easing-standard);transition:background-color var(--duration-fast) var(--easing-standard)}::-webkit-scrollbar-thumb:hover{background-color:var(--muted);background-clip:padding-box}::-webkit-scrollbar-corner{background:transparent}