:root{--bg: #0b0e11;--surface: #14181d;--border: #232a32;--text: #e4e8ec;--text-2: #7c8896;--accent: #ff5a1f;--lock: #4dd0c2;--warn: #f5b841;--font-head: "Space Grotesk", system-ui, sans-serif;--font-body: "IBM Plex Sans", system-ui, sans-serif;--font-mono: "IBM Plex Mono", ui-monospace, SFMono-Regular, monospace}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:14px/1.45 var(--font-body)}.mono,td.num,.figure{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.shell{display:grid;grid-template-columns:192px 1fr;min-height:100vh}.sidebar{border-right:1px solid var(--border);padding:16px 0;position:sticky;top:0;height:100vh}.wordmark{font-family:var(--font-head);font-weight:700;letter-spacing:.08em;font-size:13px;padding:8px 16px 24px;color:var(--text)}.wordmark .tick{color:var(--accent)}.nav a{display:block;padding:8px 16px;color:var(--text-2);text-decoration:none;border-left:2px solid transparent}.nav a:hover{color:var(--text)}.nav a.active{color:var(--text);border-left-color:var(--accent);background:var(--surface)}.main{padding:24px 32px 64px;min-width:0}.bracket{--bc: var(--lock);--bl: 12px;position:relative}.bracket:before,.bracket:after,.bracket>.bk:before,.bracket>.bk:after{content:"";position:absolute;width:var(--bl);height:var(--bl);pointer-events:none}.bracket:before{top:0;left:0;border-top:1px solid var(--bc);border-left:1px solid var(--bc)}.bracket:after{top:0;right:0;border-top:1px solid var(--bc);border-right:1px solid var(--bc)}.bracket>.bk:before{bottom:0;left:0;border-bottom:1px solid var(--bc);border-left:1px solid var(--bc)}.bracket>.bk:after{bottom:0;right:0;border-bottom:1px solid var(--bc);border-right:1px solid var(--bc)}.bracket.warn{--bc: var(--warn)}.bracket.idle{--bc: var(--text-2)}h1{font:700 20px/1.2 var(--font-head);margin:0 0 4px}h2{font:700 14px/1.2 var(--font-head);margin:24px 0 8px;letter-spacing:.04em;text-transform:uppercase;color:var(--text-2)}.page-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:16px}.sub{color:var(--text-2)}button,.btn{font:500 13px var(--font-body);background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:2px;padding:7px 14px;cursor:pointer;text-decoration:none;display:inline-block}button.primary,.btn.primary{background:var(--accent);border-color:var(--accent);color:#0b0e11;font-weight:500}button:disabled{opacity:.45;cursor:not-allowed}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,tr:focus-visible,textarea:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.pill{display:inline-block;font:500 11px/1 var(--font-body);letter-spacing:.06em;text-transform:uppercase;padding:4px 8px;border-radius:2px;border:1px solid var(--border);color:var(--text-2)}.pill.live{color:var(--lock);border-color:var(--lock)}.pill.warn{color:var(--warn);border-color:var(--warn)}table{width:100%;border-collapse:collapse;font-size:13px}th{text-align:left;font:500 11px var(--font-body);letter-spacing:.06em;text-transform:uppercase;color:var(--text-2);padding:8px;border-bottom:1px solid var(--border)}td{padding:10px 8px;border-bottom:1px solid var(--border);vertical-align:top}td.num,th.num{text-align:right}tbody tr[data-href]{cursor:pointer}tbody tr[data-href]:hover,tbody tr[data-href]:focus{background:var(--surface)}tr.marked td:first-child{box-shadow:inset 2px 0 0 var(--lock)}tr.marked-warn td:first-child{box-shadow:inset 2px 0 0 var(--warn)}.panel{background:var(--surface);border:1px solid var(--border);border-radius:2px;padding:16px}.grid2{display:grid;grid-template-columns:1fr 320px;gap:24px;align-items:start}.grid-half{display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:start}.kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin:16px 0 24px}.kpi{padding:16px;background:var(--surface)}.kpi .label{font:500 11px var(--font-body);letter-spacing:.06em;text-transform:uppercase;color:var(--text-2)}.kpi .figure{font:700 26px/1.2 var(--font-mono);margin:6px 0 2px}.kpi .target{font:400 11px var(--font-mono);color:var(--text-2)}.meter{height:4px;background:var(--border);border-radius:2px;overflow:hidden}.meter>i{display:block;height:100%;background:var(--lock)}.meter.warn>i{background:var(--warn)}.stack{display:flex;height:14px;border-radius:2px;overflow:hidden;border:1px solid var(--border)}.stack>i{display:block;height:100%}.legend{display:flex;gap:16px;margin-top:8px;font-size:12px;color:var(--text-2)}.legend .dot{display:inline-block;width:8px;height:8px;border-radius:1px;margin-right:5px}label{display:block;font:500 11px var(--font-body);letter-spacing:.06em;text-transform:uppercase;color:var(--text-2);margin:14px 0 4px}input,select,textarea{width:100%;background:var(--bg);border:1px solid var(--border);border-radius:2px;color:var(--text);font:400 13px var(--font-mono);padding:8px}.row-3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px;margin-bottom:8px}.field-error{color:var(--warn);font-size:12px;margin-top:4px}.warning-box{border:1px solid var(--warn);border-radius:2px;padding:12px;color:var(--warn);font-size:12.5px;margin:16px 0}.error-panel{border:1px solid var(--accent);padding:16px;color:var(--text);border-radius:2px}.check-list li{list-style:none;padding:8px 0;border-bottom:1px solid var(--border);display:flex;gap:10px;align-items:baseline}.check-list{padding:0;margin:0}.check-ok{color:var(--lock);font-family:var(--font-mono)}.check-warn{color:var(--warn);font-family:var(--font-mono)}.qr-box{background:#fff;padding:12px;border-radius:2px;display:inline-block}.qr-box svg{display:block;width:224px;height:224px}.audit li{list-style:none;padding:6px 0;border-bottom:1px solid var(--border);font-family:var(--font-mono);font-size:12px;color:var(--text-2)}.audit{padding:0}.clip-preview{background:linear-gradient(160deg,#3c4450,#21262e);border-radius:2px;padding:48px 24px 24px;display:flex;align-items:flex-end;min-height:360px}.clip-card{background:#f5f6f8;color:#111;border-radius:14px;padding:16px;width:100%;display:grid;grid-template-columns:48px 1fr auto;gap:12px;align-items:center;font-family:-apple-system,"SF Pro Text",var(--font-body)}.clip-icon{width:48px;height:48px;border-radius:11px;background:#0b0e11;color:#fff;display:flex;align-items:center;justify-content:center;font:700 10px var(--font-head)}.clip-title{font-weight:600;font-size:15px}.clip-subtitle{font-size:12.5px;color:#555}.clip-action{background:#007aff;color:#fff;border-radius:15px;padding:7px 18px;font-weight:600;font-size:14px}.toast{position:fixed;bottom:16px;right:16px;background:var(--surface);border:1px solid var(--lock);color:var(--text);padding:10px 16px;border-radius:2px;font-size:13px}.toast.error{border-color:var(--accent)}
