:root{--bg:#f6f6f4;--surface:#fff;--surface-2:#f0f0ed;--border:#e1e1dc;--text:#1b1c1f;--muted:#61646c;--accent:#1f5fd1;--accent-text:#fff;--pass:#1d7a46;--pass-bg:#e3f3e9;--warn:#9a6200;--warn-bg:#fdf0d6;--fail:#b42318;--fail-bg:#fde6e3;--pending:#61646c;--pending-bg:#ececea;--match-none:#ccc;--match-ok:#b7e1cd;--match-bad:#f4c7c3;--match-text:#1b1c1f;--radius:8px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root{--bg:#111214;--surface:#1a1b1e;--surface-2:#222327;--border:#2e3035;--text:#ececee;--muted:#9a9ca4;--accent:#5b8ff0;--accent-text:#0b0c0e;--pass:#5fd08d;--pass-bg:#163322;--warn:#f0b545;--warn-bg:#3a2c10;--fail:#ff7b6e;--fail-bg:#3d1915;--pending:#a4a6ad;--pending-bg:#2a2b2f;--match-none:#3a3b40;--match-ok:#1f5136;--match-bad:#6b2a24;--match-text:#ececee;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}*{box-sizing:border-box}html,body{margin:0}body{background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;font-size:15px;line-height:1.45}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}h1{margin:0 0 16px;font-size:24px}h2{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);margin:0 0 12px;font-size:15px}input,select,textarea,button{font:inherit;color:inherit}input,select,textarea{background:var(--surface);border:1px solid var(--border);border-radius:6px;min-width:0;padding:7px 10px}textarea{resize:vertical;width:100%}button{background:var(--surface);border:1px solid var(--border);cursor:pointer;border-radius:6px;padding:7px 14px}button:disabled{opacity:.5;cursor:default}button.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-text);font-weight:600}button.link{color:var(--accent);background:0 0;border:none;padding:0}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.muted{color:var(--muted)}.small{font-size:13px}.nowrap{white-space:nowrap}.break{overflow-wrap:anywhere}.spacer{flex:1}.topbar{background:var(--surface);border-bottom:1px solid var(--border);align-items:center;gap:16px;padding:12px 24px;display:flex}.wordmark{letter-spacing:.06em;color:var(--text);font-weight:700}.wordmark:hover{text-decoration:none}.who{color:var(--muted);font-size:14px}.demo-tag{background:var(--warn-bg);color:var(--warn);border-radius:99px;padding:2px 8px;font-size:12px}.page{max-width:1400px;margin:0 auto;padding:24px}.crumbs{color:var(--muted);overflow-wrap:anywhere;margin-bottom:8px;font-size:14px}.loading{color:var(--muted);text-align:center;padding:40px}.error{background:var(--fail-bg);color:var(--fail);border-radius:var(--radius);margin-bottom:16px;padding:10px 14px}.login{justify-content:center;align-items:center;min-height:100vh;padding:16px;display:flex}.login-card{background:var(--surface);border:1px solid var(--border);border-radius:12px;flex-direction:column;gap:14px;width:100%;max-width:360px;padding:28px;display:flex}.login-card h1{margin:4px 0}.login-card label{color:var(--muted);flex-direction:column;gap:4px;font-size:14px;display:flex}.login-card input{color:var(--text)}.hint{color:var(--muted);margin:4px 0 0;font-size:13px}.login-card .stack{display:contents}.login-card button.link{align-self:flex-start;font-size:14px}.login-card input:disabled{color:var(--muted);background:var(--surface-2)}.optional{color:var(--muted);font-weight:400}.invite-what{margin:0;font-size:14px;line-height:1.5}.button-link{text-align:center;background:var(--accent);color:var(--accent-text);border-radius:6px;padding:8px 14px;font-weight:600;display:inline-block}.button-link:hover{text-decoration:none}.notice{background:var(--pass-bg);color:var(--pass);border-radius:var(--radius);margin-bottom:16px;padding:10px 14px}.invite-form{margin-bottom:16px}.invite-row{flex-wrap:wrap;align-items:flex-end;gap:12px;display:flex}.invite-row label{color:var(--muted);flex-direction:column;gap:4px;font-size:14px;display:flex}.invite-row label.grow{flex:300px}.invite-row input,.invite-row select{color:var(--text)}table.team td.right{text-align:right}td.attention{color:var(--warn);font-weight:600}button.link.danger{color:var(--fail)}.admins{margin:12px 0 0}.badge,.pill,.count,.tag{white-space:nowrap;border-radius:99px;padding:2px 8px;font-size:12px;font-weight:600;display:inline-block}.qc-pass{background:var(--pass-bg);color:var(--pass)}.qc-warn{background:var(--warn-bg);color:var(--warn)}.qc-fail{background:var(--fail-bg);color:var(--fail)}.qc-pending{background:var(--pending-bg);color:var(--pending)}.pill{background:var(--surface-2);color:var(--text);font-weight:500}.st-in_show{background:var(--pass-bg);color:var(--pass)}.st-needs_revision{background:var(--fail-bg);color:var(--fail)}.st-archived,.st-awaiting{background:var(--pending-bg);color:var(--pending)}.tag{background:var(--surface-2);color:var(--muted);margin-left:6px;font-weight:500}.tag-live{background:var(--pass-bg);color:var(--pass)}.tag-removed{background:var(--fail-bg);color:var(--fail)}.project-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px;display:grid}.project-card{background:var(--surface);border:1px solid var(--border);color:var(--text);border-radius:10px;flex-direction:column;gap:6px;padding:18px;display:flex}.project-card:hover{border-color:var(--accent);text-decoration:none}.project-org{color:var(--muted);text-transform:uppercase;letter-spacing:.05em;font-size:12px}.project-name{font-size:18px;font-weight:600}.project-counts{color:var(--muted);flex-wrap:wrap;align-items:center;gap:6px;margin-top:6px;font-size:14px;display:flex}.dash-head{flex-wrap:wrap;align-items:baseline;gap:12px 24px;display:flex}.totals{color:var(--muted);flex-wrap:wrap;align-items:center;gap:6px;display:flex}.toolbar{flex-wrap:wrap;align-items:center;gap:8px;margin:8px 0 12px;display:flex}.search{flex:220px;max-width:360px}.seg{border:1px solid var(--border);border-radius:6px;display:inline-flex;overflow:hidden}.seg button{background:var(--surface);border:none;border-radius:0}.seg button.on{background:var(--accent);color:var(--accent-text)}.tree-actions{gap:16px;margin-bottom:8px;font-size:14px;display:flex}.table-wrap{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);overflow-x:auto}table{border-collapse:collapse;width:100%}th{text-align:left;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);border-bottom:1px solid var(--border);white-space:nowrap;padding:10px 8px;font-size:12px;font-weight:600}td{border-bottom:1px solid var(--border);vertical-align:middle;padding:8px}tbody tr:last-child td{border-bottom:none}.asset-row,.versions tbody tr{cursor:pointer}.asset-row:hover,.versions tbody tr:hover{background:var(--surface-2)}.versions tr.selected{background:var(--surface-2);box-shadow:inset 3px 0 0 var(--accent)}.cell-thumb{width:1%}.cell-name{min-width:220px}.cell-name a{color:var(--text);overflow-wrap:anywhere;font-weight:600}.sub{color:var(--muted);font-size:12px}.sub.attention{color:var(--warn);font-weight:600}.folder-row td{background:var(--surface-2);cursor:pointer;padding-top:6px;padding-bottom:6px}.folder-toggle{background:0 0;border:none;align-items:center;gap:6px;padding:2px 0;font-weight:600;display:inline-flex}.caret{width:12px;color:var(--muted)}.folder-counts{color:var(--muted);align-items:center;gap:6px;margin-left:12px;font-size:13px;display:inline-flex}.thumb{object-fit:cover;background:#000;border-radius:4px;display:block}.thumb-empty{background:var(--surface-2);color:var(--muted);text-align:center;justify-content:center;align-items:center;font-size:11px;display:flex}.thumb-sm{width:96px;height:54px}.thumb-lg{aspect-ratio:16/9;width:100%;height:auto;margin-bottom:16px}.detail-head{flex-wrap:wrap;align-items:center;gap:8px 16px;margin-bottom:16px;display:flex}.detail-head h1{margin:0}.detail-badges{flex-wrap:wrap;gap:6px;display:flex}.detail-grid{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:16px;margin-bottom:16px;display:grid}.detail-side{flex-direction:column;gap:16px;min-width:0;display:flex}.panel{background:var(--surface);border:1px solid var(--border);border-radius:10px;min-width:0;margin-bottom:16px;padding:18px}.detail-grid .panel,.detail-side .panel{margin-bottom:0}.panel .table-wrap{border:none;border-radius:0}.meta{grid-template-columns:max-content 1fr;gap:6px 16px;margin:0;display:grid}.meta dt{color:var(--muted)}.meta dd{margin:0}.checks{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.check{gap:10px;display:flex}.check-icon{border-radius:50%;flex:none;justify-content:center;align-items:center;width:22px;height:22px;font-size:12px;font-weight:700;display:flex}.check-pass .check-icon{background:var(--pass-bg);color:var(--pass)}.check-warn .check-icon{background:var(--warn-bg);color:var(--warn)}.check-fail .check-icon{background:var(--fail-bg);color:var(--fail)}.check-title{font-weight:600}.check-msg{color:var(--muted);font-size:14px}.check-vals{flex-wrap:wrap;gap:4px 16px;margin-top:2px;font-size:13px;display:flex}.form-row{flex-wrap:wrap;gap:12px;display:flex}.form-row label,.rename label{color:var(--muted);flex-direction:column;gap:4px;font-size:14px;display:flex}.form-row select,.rename input{color:var(--text)}.rename{flex-wrap:wrap;align-items:flex-end;gap:8px;margin-top:16px;display:flex}.rename label{flex:240px}.rename .hint{flex-basis:100%}.note-form{flex-direction:column;align-items:flex-end;gap:8px;margin-bottom:16px;display:flex}.notes{flex-direction:column;gap:14px;margin:0;padding:0;list-style:none;display:flex}.note-meta{color:var(--muted);margin-bottom:2px;font-size:13px}.note-body{white-space:pre-wrap;overflow-wrap:anywhere}.tabs{border:1px solid var(--border);background:var(--surface);border-radius:8px;gap:4px;padding:3px;display:inline-flex}.tabs a{color:var(--muted);border-radius:6px;padding:4px 12px;font-weight:500}.tabs a:hover{color:var(--text);text-decoration:none}.tabs a.on{background:var(--accent);color:var(--accent-text)}.page:has(.tracker){max-width:none}.grid-wrap{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);height:calc(100vh - 290px);min-height:320px;position:relative;overflow:auto}.grid-wrap:focus{outline:none}.grid-wrap:focus-visible{box-shadow:0 0 0 2px var(--accent)}.grid{border-collapse:separate;border-spacing:0;table-layout:fixed;font-size:13px}.grid th{z-index:2;background:var(--surface-2);border-bottom:1px solid var(--border);border-right:1px solid var(--border);text-transform:none;letter-spacing:0;padding:6px 8px;font-size:12px;position:sticky;top:0}.grid td{border-bottom:1px solid var(--border);border-right:1px solid var(--border);white-space:nowrap;text-overflow:ellipsis;cursor:cell;background:var(--surface);height:28px;padding:0 8px;scroll-margin-top:34px;position:relative;overflow:hidden}.grid .sticky-col{z-index:1;box-shadow:1px 0 0 var(--border);position:sticky;left:0}.grid th.sticky-col{z-index:3}.grid .cell-k-readonly{color:var(--muted)}.grid .sticky-col.cell-k-readonly{color:var(--text);font-weight:500}.grid .cell-text{text-overflow:ellipsis;display:block;overflow:hidden}.grid .name-cell{align-items:center;gap:6px;display:flex}.grid .name-cell .cell-text{flex:1;min-width:0}.grid .open-link{color:var(--muted);padding:0 2px;font-size:12px}.grid .open-link:hover{color:var(--accent);text-decoration:none}.grid tr.row-sel td{background:color-mix(in srgb, var(--accent) 6%, var(--surface))}.grid tr td.match-none{background:var(--match-none);color:var(--match-text)}.grid tr td.match-ok{background:var(--match-ok);color:var(--match-text)}.grid tr td.match-bad{background:var(--match-bad);color:var(--match-text)}.grid td.cell-sel{box-shadow:inset 0 0 0 2px var(--accent);z-index:1;overflow:visible}.grid td.status-needs_revision{color:var(--fail);font-weight:600}.grid td.status-in_show{color:var(--pass);font-weight:600}.grid td.status-awaiting{color:var(--muted);font-style:italic}.grid .qc-text-fail{color:var(--fail);text-transform:capitalize;font-weight:600}.grid .qc-text-warn{color:var(--warn);text-transform:capitalize;font-weight:600}.grid .qc-text-pass{color:var(--pass);text-transform:capitalize}.cell-editor{background:var(--surface);width:100%;height:100%;color:var(--text);box-shadow:inset 0 0 0 2px var(--accent);border:none;border-radius:0;outline:none;padding:0 7px;font-size:13px;position:absolute;inset:0}.status-list{z-index:10;background:var(--surface);border:1px solid var(--border);border-radius:6px;outline:none;min-width:170px;padding:4px;position:absolute;top:100%;left:-2px;box-shadow:0 6px 20px #0000002e}.status-opt{cursor:pointer;border-radius:4px;padding:5px 8px}.status-opt.on{background:var(--accent);color:var(--accent-text)}.grid td.spacer-row{cursor:default;background:0 0;border:none;padding:0}.grid-empty{padding:24px}.keys{margin-top:8px}.add-rows{flex-direction:column;gap:10px;display:flex}.add-rows label{color:var(--muted);flex-direction:column;gap:6px;font-size:14px;display:flex}.add-rows textarea{color:var(--text);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13px}.add-rows-actions{align-items:center;gap:8px;display:flex}.settings{padding-bottom:72px}.settings-fields{border:none;min-width:0;margin:0;padding:0}.settings-fields:disabled .chip,.settings-fields:disabled .seg button{cursor:default}.settings-section{flex-direction:column;align-items:flex-start;gap:12px;display:flex}.settings-section>*{max-width:100%}.section-hint{margin:-6px 0 0}.field{color:var(--muted);flex-direction:column;gap:4px;width:min(520px,100%);font-size:14px;display:flex}.field input,.field select{color:var(--text)}.chip-group{flex-wrap:wrap;align-items:center;gap:6px 12px;display:flex}.chip-group-label{color:var(--muted);flex:none;width:120px;font-size:13px}.chips{flex-wrap:wrap;gap:6px;display:flex}.chip{background:var(--surface);border-radius:99px;padding:4px 12px;font-size:13px}.chip.on{background:var(--accent);border-color:var(--accent);color:var(--accent-text);font-weight:600}.add-value{gap:6px;width:min(420px,100%);display:flex}.add-value input{color:var(--text);flex:1}.seg button.on.sev-fail{background:var(--fail);border-color:var(--fail);color:#fff}.seg button.on.sev-warn{background:var(--warn);border-color:var(--warn);color:#fff}.severity{flex-direction:column;gap:10px;width:min(560px,100%);display:flex}.severity-row{justify-content:space-between;align-items:center;gap:16px;display:flex}table.mappings input{width:100%;color:var(--text)}table.mappings input.code{width:80px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}table.mappings input.num{width:90px}table.mappings td.right{text-align:right}.settings-section .table-wrap{border:1px solid var(--border);width:100%}.name-test{width:min(560px,100%);color:var(--text);font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.name-result{flex-direction:column;gap:10px;width:100%;display:flex}.name-verdict{font-weight:600}.name-verdict.ok{color:var(--pass)}.name-verdict.bad,.attention-text{color:var(--warn)}.issues{color:var(--warn);margin:0;padding-left:18px;font-size:14px}.save-bar{z-index:20;background:var(--surface);border-top:1px solid var(--border);align-items:center;gap:8px;padding:10px 24px;display:flex;position:fixed;bottom:0;left:0;right:0}.save-bar.dirty{box-shadow:0 -4px 16px #00000014}.new-project{flex-direction:column;gap:14px;max-width:640px;display:flex}.form-actions{justify-content:flex-end;align-items:center;gap:16px;display:flex}.dash-head .button-link{align-self:center}@media (width<=860px){.detail-grid{grid-template-columns:1fr}}@media (width<=600px){.page{padding:16px}.topbar{padding:12px 16px}.who{display:none}.search{max-width:none}}
