:root{--bg: #14161a;--panel: #1d2027;--text: #e8eaed;--muted: #9aa0a6;--accent: #4d8bf0;--error: #e5534b;--critical: #ff6b5e;--critical-bg: #3a1f1d;--critical-border: #8c3b32;--warn: #f0b429;--warn-bg: #352c14;--warn-border: #7a5f1c;--notice-bg: #17293d;--notice-border: #2f4d6e;--note: #79a9f5;--note-text: #b3bac1;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text)}.app{min-height:100vh;display:flex;flex-direction:column}.center{flex:1;display:grid;place-items:center;padding:24px}.card{background:var(--panel);border-radius:12px;padding:28px}.center .card{width:min(380px,100%)}h1{font-size:20px;margin:0 0 4px}.muted{color:var(--muted);font-size:14px;margin:0 0 20px}label{display:block;font-size:13px;color:var(--muted);margin-bottom:6px}input{width:100%;padding:10px 12px;margin-bottom:16px;border-radius:8px;border:1px solid #2c3039;background:#15171c;color:var(--text);font-size:14px}button{width:100%;padding:11px;border:0;border-radius:8px;cursor:pointer;background:var(--accent);color:#fff;font-size:14px;font-weight:500}button:disabled{opacity:.6;cursor:default}.error{color:var(--error);font-size:13px;margin-bottom:14px}header{display:flex;justify-content:space-between;align-items:center;padding:14px 22px;border-bottom:1px solid #24272e}header button{width:auto;padding:7px 14px;background:transparent;border:1px solid #2c3039;color:var(--muted)}main{padding:24px}.grid{display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}.tile{background:var(--panel);border-radius:10px;padding:18px}.tile h3{margin:0 0 6px;font-size:15px}.tile p{margin:0;color:var(--muted);font-size:13px;line-height:1.5}.sources{margin-bottom:1.5rem}.source{border:1px solid #2c3039;border-radius:6px;padding:.75rem 1rem;margin-bottom:.75rem}.source-problem{border-color:var(--critical-border);background:var(--critical-bg)}.source-head{margin-bottom:.35rem}.source-data{margin-bottom:.5rem;font-size:.92rem}.stale{color:var(--critical);font-weight:600}.badge{display:inline-block;margin-left:.5rem;padding:.1rem .45rem;border-radius:3px;font-size:.82rem}.badge-problem{background:var(--critical);color:#fff}table.jobs{width:100%;border-collapse:collapse;font-size:.88rem}table.jobs th,table.jobs td{text-align:left;padding:.25rem .5rem;border-bottom:1px solid #24272e}table.jobs tr.row-error td{background:var(--critical-bg)}.error-text{color:var(--critical);font-size:.82rem}.notice{background:var(--notice-bg);border:1px solid var(--notice-border);color:var(--text);padding:.5rem .75rem;border-radius:4px}.dashboard{margin-bottom:2rem}.dashboard-head{display:flex;align-items:baseline;gap:.75rem;flex-wrap:wrap}.dashboard-head h1{font-size:22px;margin:0}.dashboard-head .muted{margin:0}.block{margin-top:1.5rem}.block h2{font-size:16px;margin:0 0 .75rem;color:var(--text)}.cards{display:grid;gap:14px;grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.card-metric{background:var(--panel);border-radius:10px;padding:16px}.card-metric h3{margin:0 0 8px;font-size:14px;color:var(--muted);font-weight:500}.card-metric .metric{margin:0 0 6px;font-size:24px;font-variant-numeric:tabular-nums}.card-metric .metric .unit{font-size:14px;color:var(--muted)}.card-metric .muted{margin:0 0 8px;font-size:12.5px;line-height:1.45}.card-muted{opacity:.72;border:1px dashed #2c3039}table.currencies{width:100%;border-collapse:collapse;font-size:12.5px}table.currencies td{padding:2px 0;border-bottom:1px solid #24272e}table.currencies td.num{text-align:right;font-variant-numeric:tabular-nums}table.providers{width:100%;border-collapse:collapse;font-size:13px}table.providers th,table.providers td{text-align:left;padding:6px 8px;border-bottom:1px solid #24272e}table.providers th.num,table.providers td.num{text-align:right;font-variant-numeric:tabular-nums}table.providers tr.row-critical td{background:var(--critical-bg)}.state-critical{color:var(--critical)}.state-unknown{color:var(--warn);font-weight:500}.value-note{display:block;font-size:11.5px;line-height:1.35;margin-top:2px;font-weight:600}.value-note.state-unknown{font-weight:600}.state-mark{margin-right:5px;font-weight:700}.reading-terms{border-left:2px solid var(--note);padding:2px 0 2px 10px}.reading-terms-head{margin:0 0 3px;color:var(--note);font-size:11.5px;font-weight:600}.reading-terms ul{margin:0;padding:0;list-style:none}.reading-terms li{color:var(--note-text);font-size:12px;line-height:1.5;font-weight:400;margin:0 0 3px}.reading-terms li:last-child{margin-bottom:0}.terms-key{color:var(--muted);font-weight:600;margin-right:4px}table.providers tr.provider-row.with-terms td{border-bottom:0;padding-bottom:3px}table.providers tr.provider-terms td{padding:0 8px 10px;border-bottom:1px solid #2c3039}.kind-badge{display:inline-block;padding:1px 7px;border-radius:10px;border:1px solid #2c3039;background:var(--panel);color:var(--muted);font-size:11.5px;line-height:1.5}.incomplete{margin-top:10px;padding:8px 10px;border-radius:6px;background:var(--warn-bg);border:1px solid var(--warn-border)}.incomplete ul{margin:6px 0 0;padding-left:18px}.incomplete li{font-size:12.5px;line-height:1.45}.badge-warn{background:var(--warn);color:#201a05;font-weight:600}.warn{color:var(--warn)}table.currencies th{text-align:left;font-weight:500;color:var(--muted);font-size:11.5px;padding:2px 0;border-bottom:1px solid #24272e}table.currencies th.num{text-align:right}.card table{width:100%;border-collapse:collapse;font-size:13px;margin-bottom:12px}.card table th,.card table td{text-align:left;padding:6px 8px;border-bottom:1px solid #24272e}.card table th{font-weight:500;color:var(--muted);font-size:11.5px}.card table th.num,.card table td.num{text-align:right;font-variant-numeric:tabular-nums}.card h3{font-size:13px;margin:12px 0 6px;color:var(--muted);font-weight:500}.filters{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}.filters select{background:var(--panel);color:var(--text);border:1px solid #2c3039;border-radius:6px;padding:4px 8px;font-size:12.5px}.inline{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.inline input{background:var(--panel);color:var(--text);border:1px solid #2c3039;border-radius:6px;padding:3px 6px;font-size:12.5px;width:12ch;margin-bottom:0}.inline button{width:auto;padding:4px 10px;font-size:12.5px;white-space:nowrap;background:transparent;border:1px solid #2c3039;color:var(--text)}button.link{background:none;border:none;padding:0;font:inherit;color:var(--accent);cursor:pointer;text-decoration:underline dotted;width:auto;text-align:left}button.link:hover{text-decoration:underline}.columns{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));align-items:start;margin-top:1.5rem}.columns>.card{padding:18px 20px}@media(min-width:700px){.columns>.card-wide{grid-column:span 2}}.scroll-rows{max-height:60vh;overflow-y:auto;margin-bottom:12px}.scroll-rows table{margin-bottom:0}.scroll-rows thead th{position:sticky;top:0;z-index:1;background:var(--panel)}.columns>.card{min-width:0;overflow-x:auto}.card p button{width:auto;padding:4px 12px;font-size:12.5px;background:transparent;border:1px solid #2c3039;color:var(--text)}.card p button:disabled{opacity:.45}nav.sections{display:flex;gap:6px;flex:1;justify-content:center}.section-link{color:var(--muted);text-decoration:none;font-size:13px;padding:6px 12px;border-radius:6px;border:1px solid transparent;white-space:nowrap}.section-link:hover{color:var(--text);border-color:#2c3039}.section-active{color:var(--text);border-color:var(--accent)}.dealing-filters{display:grid;gap:12px;margin:1rem 0 1.5rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));align-items:start}.filter{display:flex;flex-direction:column;gap:4px;margin:0}.filter>span{font-size:12px;color:var(--muted)}.filter input[type=text],.filter input[type=datetime-local],.filter select{background:var(--panel);color:var(--text);border:1px solid #2c3039;border-radius:6px;padding:6px 8px;font-size:12.5px;margin-bottom:0;width:100%}.filter select[multiple]{padding:2px}.filter-checks{gap:8px;justify-content:flex-end}.check{display:flex;align-items:center;gap:6px;margin:0;font-size:12px;color:var(--text)}.check input{width:auto;margin:0}.filter-checks button{width:auto;padding:6px 16px;font-size:13px}.dealing-wrap{overflow:auto;max-height:65vh;border:1px solid #24272e;border-radius:8px}table.dealing{border-collapse:collapse;font-size:12.5px;white-space:nowrap}table.dealing th,table.dealing td{text-align:left;padding:5px 10px;border-bottom:1px solid #24272e}table.dealing thead th{position:sticky;top:0;z-index:1;background:var(--panel);color:var(--muted);font-weight:500;font-size:11.5px}table.dealing th.num,table.dealing td.num{text-align:right;font-variant-numeric:tabular-nums}table.dealing tfoot th{position:sticky;bottom:0;z-index:1;background:var(--panel);border-top:1px solid #2c3039;font-weight:600}.window-mark{font-size:9px;margin-left:4px;vertical-align:middle}.coverage{font-size:9px;margin-left:4px;cursor:help}.coverage-default{color:var(--warn);border-bottom:1px dotted var(--warn)}.coverage-snapshot{color:var(--muted);border-bottom:1px dotted var(--muted)}.notice-slim{font-size:12.5px;margin:0 0 10px}table.dealing th:first-child,table.dealing td:first-child{position:sticky;left:0;background:var(--bg)}table.dealing thead th:first-child,table.dealing tfoot th:first-child{background:var(--panel);z-index:2}.columns-2{display:grid;gap:16px;grid-template-columns:minmax(0,1fr);margin-top:1.5rem}@media(min-width:1100px){.columns-2{grid-template-columns:repeat(2,minmax(0,1fr))}}.columns-2>.card{padding:18px 20px;min-width:0;overflow-x:auto}.metric-big{margin:4px 0 2px;font-size:28px;font-variant-numeric:tabular-nums}.metric-big .unit{font-size:14px;color:var(--muted)}.metric-note{font-size:12.5px;margin:0 0 10px}.cell-note{font-size:11px;font-weight:500}.card-pending{opacity:.8;border:1px dashed #2c3039}.period-head{text-align:center!important}.columns-4{display:grid;gap:16px;grid-template-columns:minmax(0,1fr);margin-top:1.5rem}@media(min-width:900px){.columns-4{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(min-width:1400px){.columns-4{grid-template-columns:repeat(4,minmax(0,1fr))}}.columns-4>.card{padding:16px 18px;min-width:0;overflow-x:auto}.flow-line{display:flex;align-items:baseline;gap:6px}.flow-line+.flow-line{margin-top:2px}.flow-line .muted{font-size:11.5px;margin:0}.flow-num{margin-left:auto;font-variant-numeric:tabular-nums}.flow-line{flex-wrap:wrap}.flow-line .cell-note{flex-basis:100%;text-align:right}.asset-amount{white-space:nowrap}.columns-2>.card{display:flex;flex-direction:column;max-height:80vh}.card-fill{flex:1 1 auto;min-height:0;overflow-y:auto}.card-fill thead th{position:sticky;top:0;z-index:1;background:var(--panel)}.columns-2>.card .scroll-rows{flex:1 1 auto;min-height:0;max-height:none}.block-legend{font-size:12.5px;line-height:1.5;margin:0 0 12px;max-width:110ch}.block-legend strong{color:var(--text);font-weight:600}.books-cards{grid-template-columns:repeat(2,minmax(0,1fr))}@media(min-width:900px){.books-cards{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(min-width:1500px){.books-cards{grid-template-columns:repeat(6,minmax(0,1fr))}}.books-platform-mark{display:block;font-size:10.5px;letter-spacing:.04em;text-transform:uppercase;color:var(--note);font-weight:600}.card-pick{padding:0}.card-pick-hit{width:100%;display:block;text-align:left;background:none;border:0;padding:16px;color:inherit;font:inherit;cursor:pointer;border-radius:10px}.card-pick-hit:hover{background:#ffffff0a}.card-pick-hit:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.card-pick-on{box-shadow:inset 0 0 0 2px var(--accent)}.book-clients{margin-top:16px;border-top:1px solid #2c3039;padding-top:12px}.book-clients-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.book-clients-head h3{margin:0 0 8px;font-size:15px}.book-clients-head button.link{width:auto;flex:none}.password-once{margin:0 0 16px;padding:12px 14px;border-radius:8px;background:var(--warn-bg);border:1px solid var(--warn-border)}.password-once h3{margin:0 0 8px;font-size:14px;color:var(--text);font-weight:600}.password-once p{margin:0 0 10px;font-size:12.5px;line-height:1.5}.password-once input{width:32ch;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:14px;letter-spacing:.04em}.password-once .check{margin:10px 0;font-size:12.5px}.user-editor-fields{display:grid;gap:12px;margin-bottom:12px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.user-editor,.user-create{padding:12px 14px;border-radius:8px;background:#15171c;border:1px solid #2c3039}.user-create{margin-bottom:14px}.user-editor h4{margin:14px 0 8px;font-size:12.5px;color:var(--muted);font-weight:500}.user-editor p.muted,.user-create p.muted{margin:8px 0 0;font-size:12px}.user-editor input[type=text],.user-create input[type=text]{margin-bottom:0}.access-matrix th[scope=row]{color:var(--text);font-size:13px;font-weight:500}.access-matrix td{text-align:center}.access-matrix input[type=checkbox]{width:auto;margin:0}.access-matrix tr.row-empty th[scope=row]{color:var(--warn)}.tabs{display:flex;gap:4px;margin:0 0 1rem;border-bottom:1px solid #2c3039}.tab{width:auto;background:none;border:none;border-bottom:2px solid transparent;color:var(--muted);font-size:13.5px;padding:8px 14px;border-radius:0;margin-bottom:-1px;cursor:pointer}.tab:hover{color:var(--text)}.tab-active{color:var(--text);border-bottom-color:var(--accent)}.coverage-level{border-left:2px solid var(--note);padding-left:12px}.coverage-level h3{font-size:14px;margin:0 0 4px;color:var(--text)}.rule-row{display:grid;gap:10px;align-items:start;padding:10px 0;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));border-top:1px solid #24272e}.rule-row:first-of-type{border-top:none}.rule-bad{background:var(--critical-bg);border-radius:6px;padding-left:8px;padding-right:8px}.rule-aside{gap:2px;font-size:11.5px}.rule-aside .muted{font-size:11.5px}.resolve-ask{display:grid;gap:12px;margin:0 0 12px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));align-items:end}.resolve-effective{margin:0 0 10px;font-size:13.5px}.resolve-table{width:100%;border-collapse:collapse;font-size:12.5px}.resolve-table th,.resolve-table td{text-align:left;padding:6px 8px;border-bottom:1px solid #24272e;vertical-align:top}.resolve-table th{font-weight:500;color:var(--muted);font-size:11.5px}.resolve-table th[scope=row]{color:var(--text);font-size:13px}.resolve-table td.num,.resolve-table th.num{text-align:right;font-variant-numeric:tabular-nums}.verdict-win{background:var(--notice-bg)}.verdict-mark{font-size:11.5px;font-weight:600}.verdict-win-mark{color:var(--note)}.verdict-lost-mark{color:var(--warn)}.verdict-miss-mark{color:var(--muted)}
