:root{--bg:#f6f7f9;--surface:#fff;--surface-2:#f0f2f5;--text:#16202c;--muted:#5d6b7b;--line:#dfe3e8;--brand:#0f6b5c;--brand-ink:#fff;--brand-soft:#e1f3ef;--warn:#8a5a00;--warn-soft:#fff2d6;--bad:#a3262a;--bad-soft:#fde4e4;--good:#1d6b35;--good-soft:#e1f4e6;--info:#1f4f8f;--info-soft:#e4eefb;--radius:10px;--shadow:0 1px 2px #1018280f;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--bg:#0f1419;--surface:#171d25;--surface-2:#1f2731;--text:#e8edf3;--muted:#94a3b4;--line:#2a3441;--brand:#3fb59f;--brand-ink:#06231d;--brand-soft:#123a33;--warn:#f0c36a;--warn-soft:#3a2e12;--bad:#ff8d90;--bad-soft:#3d1a1c;--good:#7bd495;--good-soft:#14301d;--info:#8db8f2;--info-soft:#14283f;--shadow:none}}*{box-sizing:border-box}html,body,#root{height:100%}body{background:var(--bg);color:var(--text);margin:0;font-size:15px;line-height:1.5}a{color:var(--brand);text-decoration:none}a:hover{text-decoration:underline}h1{margin:0 0 4px;font-size:1.5rem}h2{margin:0 0 10px;font-size:1.1rem}h3{margin:0 0 6px;font-size:.95rem}p{margin:0 0 10px}.muted{color:var(--muted)}.small{font-size:.85rem}.row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.row.between{justify-content:space-between}.stack>*+*{margin-top:12px}.grow{flex:auto}.shell{grid-template-columns:220px 1fr;min-height:100%;display:grid}.side{background:var(--surface);border-right:1px solid var(--line);flex-direction:column;gap:4px;height:100vh;padding:16px 12px;display:flex;position:sticky;top:0}.brand{padding:4px 10px 12px;font-size:1.05rem;font-weight:700}.brand span{color:var(--brand)}.nav a{color:var(--text);border-radius:8px;padding:8px 10px;display:block}.nav a:hover{background:var(--surface-2);text-decoration:none}.nav a.active{background:var(--brand-soft);color:var(--brand);font-weight:600}.side .spacer{flex:1}.main{width:100%;max-width:1200px;padding:24px 28px 60px}@media (width<=800px){.shell{grid-template-columns:1fr}.side{border-right:0;border-bottom:1px solid var(--line);flex-flow:wrap;align-items:center;height:auto;position:static}.nav{flex-wrap:wrap;gap:2px;display:flex}.side .spacer{display:none}.main{padding:16px 14px 60px}}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:16px}.card+.card{margin-top:14px}.grid2{grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);align-items:start;gap:16px;display:grid}@media (width<=1000px){.grid2{grid-template-columns:1fr}}.fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 12px;display:grid}.fields .full{grid-column:1/-1}@media (width<=600px){.fields{grid-template-columns:1fr}}label{color:var(--muted);margin-bottom:3px;font-size:.82rem;display:block}input,select,textarea{border:1px solid var(--line);background:var(--surface);width:100%;color:var(--text);font:inherit;border-radius:8px;padding:8px 10px}input:focus,select:focus,textarea:focus,button:focus-visible{outline:2px solid var(--brand);outline-offset:1px}textarea{resize:vertical;min-height:90px}button,.btn{border:1px solid var(--line);background:var(--surface);color:var(--text);font:inherit;cursor:pointer;border-radius:8px;justify-content:center;align-items:center;gap:6px;padding:8px 14px;font-weight:600;text-decoration:none;display:inline-flex}button:hover:not(:disabled),.btn:hover{background:var(--surface-2)}button:disabled{opacity:.5;cursor:not-allowed}button.primary,.btn.primary{background:var(--brand);color:var(--brand-ink);border-color:var(--brand)}button.primary:hover:not(:disabled){filter:brightness(1.06);background:var(--brand)}button.danger{color:var(--bad);border-color:var(--bad)}button.small{padding:4px 10px;font-size:.85rem}button.link{color:var(--brand);background:0 0;border:0;padding:0;font-weight:500}table{border-collapse:collapse;width:100%}th{text-align:left;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);border-bottom:1px solid var(--line);white-space:nowrap;padding:8px 10px;font-size:.78rem;font-weight:600}td{border-bottom:1px solid var(--line);vertical-align:middle;padding:10px}tr.click{cursor:pointer}tr.click:hover td{background:var(--surface-2)}.badge{background:var(--surface-2);color:var(--muted);white-space:nowrap;border-radius:999px;padding:1px 9px;font-size:.78rem;font-weight:600;display:inline-block}.badge.good{background:var(--good-soft);color:var(--good)}.badge.warn{background:var(--warn-soft);color:var(--warn)}.badge.bad{background:var(--bad-soft);color:var(--bad)}.badge.info{background:var(--info-soft);color:var(--info)}.badge.brand{background:var(--brand-soft);color:var(--brand)}.banner{border-radius:var(--radius);border:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;padding:10px 14px;display:flex}.banner.warn{background:var(--warn-soft);border-color:var(--warn);color:var(--warn)}.banner.bad{background:var(--bad-soft);border-color:var(--bad);color:var(--bad)}.banner.info{background:var(--info-soft);border-color:var(--info);color:var(--info)}.banner.good{background:var(--good-soft);border-color:var(--good);color:var(--good)}.draft{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);padding:12px}.draft+.draft{margin-top:10px}.draft pre{white-space:pre-wrap;word-wrap:break-word;font:inherit;background:var(--surface-2);border-radius:8px;margin:8px 0;padding:10px}.chip{border:1px solid var(--line);color:var(--muted);border-radius:999px;margin-right:4px;padding:0 8px;font-size:.78rem;display:inline-block}.timeline{margin:0;padding:0;list-style:none}.timeline li{border-left:2px solid var(--line);padding:6px 0 6px 14px;position:relative}.timeline li:before{content:"";background:var(--brand);border-radius:50%;width:8px;height:8px;position:absolute;top:12px;left:-5px}.bar{background:var(--surface-2);border-radius:999px;height:8px;overflow:hidden}.bar>span{background:var(--brand);height:100%;display:block}.bar.warn>span{background:#d89a1c}.bar.bad>span{background:var(--bad)}.spinner{border:2px solid var(--line);border-top-color:var(--brand);border-radius:50%;width:14px;height:14px;animation:.8s linear infinite spin;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.spinner{animation-duration:3s}}.empty{text-align:center;color:var(--muted);padding:36px 12px}.modal-back{z-index:20;background:#00000073;justify-content:center;align-items:flex-start;padding:6vh 14px;display:flex;position:fixed;inset:0;overflow:auto}.modal{background:var(--surface);border-radius:var(--radius);border:1px solid var(--line);width:min(640px,100%);padding:20px}.auth{place-items:center;min-height:100%;padding:20px;display:grid}.auth .card{width:min(400px,100%)}.pre-wrap{white-space:pre-wrap}.truncate{text-overflow:ellipsis;white-space:nowrap;vertical-align:bottom;overflow:hidden}.bad-text{color:var(--bad)}.shots{flex-wrap:wrap;gap:12px;display:flex}.shot{width:150px;margin:0}.shot img{object-fit:cover;object-position:top;border:1px solid var(--line);background:var(--surface-2);border-radius:8px;width:150px;height:200px;display:block}.shot-empty{border:1px dashed var(--line);text-align:center;border-radius:8px;place-items:center;width:150px;height:200px;padding:8px;display:grid}.shot figcaption{margin-top:6px}.grid-table input,.grid-table textarea{width:100%;min-width:120px}.grid-table textarea{resize:vertical;min-width:220px}.grid-table td{vertical-align:top}.muted-row{opacity:.6}.review-row{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);padding:12px}.candidates{margin:10px 0;padding:0;list-style:none}.candidates li{border-top:1px solid var(--line);padding:8px 0}.facts{grid-template-columns:max-content 1fr;gap:4px 14px;margin:8px 0 12px;display:grid}.facts dt{color:var(--muted)}.facts dd{margin:0}tfoot td{border-top:2px solid var(--line)}.grid-table td:nth-child(2) input{min-width:170px}.grid-table td:nth-child(3) input{min-width:220px}
