:root{--bg:#f8fafc;--card:#fff;--ink:#172b4d;--muted:#52647d;--border:#dbe4ef;--primary:#1e40af;--tint:#edf2ff;--error:#a61e32;--good:#146747;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--bg);font-size:16px;color-scheme:light}
*{box-sizing:border-box}body{margin:0}header{display:flex;align-items:center;justify-content:space-between;gap:12px;max-width:1120px;margin:auto;padding:calc(22px + env(safe-area-inset-top)) 20px 20px}h1{font-size:25px;letter-spacing:-.7px;margin:4px 0 0}h2{font-size:21px;letter-spacing:-.4px;margin:0 0 14px}h3{font-size:17px;margin:0 0 8px}.eyebrow{font-size:11px;letter-spacing:1.8px;font-weight:700;color:var(--muted)}.badge{font-size:12px;padding:7px 10px;border-radius:20px;background:var(--tint);color:var(--primary);font-weight:600;white-space:nowrap}main{max-width:1120px;margin:auto;padding:0 20px calc(100px + env(safe-area-inset-bottom))}.card{background:var(--card);border:1px solid var(--border);border-radius:16px;padding:20px;margin-bottom:16px}.hero{background:var(--primary);color:#fff;border:0}.hero p{color:#e1e8ff}.row{display:flex;gap:12px;align-items:center;justify-content:space-between}.wrap{flex-wrap:wrap}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(145px,1fr));gap:12px}.kpi{padding:18px;background:var(--card);border:1px solid var(--border);border-radius:14px}.kpi strong{font-size:28px;display:block;letter-spacing:-1px;margin:6px 0}.small,small{font-size:13px;color:var(--muted);line-height:1.5}p{line-height:1.55;color:var(--muted)}a{color:var(--primary);text-decoration:none;overflow-wrap:anywhere}button,input,select,textarea{font:inherit}button{border:0;border-radius:10px;background:var(--primary);color:white;min-height:44px;padding:11px 16px;font-weight:600;cursor:pointer;transition:opacity .18s,background .18s}button:hover{opacity:.88}button:active{opacity:.7}button:disabled{opacity:.5;cursor:wait}.secondary{background:var(--tint);color:var(--primary)}.danger{background:#fcebed;color:var(--error)}.full{width:100%}label{display:block;font-size:14px;font-weight:600;margin-bottom:7px}input,select,textarea{display:block;width:100%;border:1px solid var(--border);border-radius:10px;padding:12px;background:var(--card);color:var(--ink);min-height:46px}textarea{min-height:100px;resize:vertical}.field{margin-bottom:16px}.filters{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:16px 0}.empty{text-align:center;padding:35px 20px}.empty h3{margin-bottom:8px}.publication{padding:18px 0;border-top:1px solid var(--border)}.publication:first-child{border:0}.meta{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:8px 0}.metrics{display:flex;gap:18px;margin:12px 0;flex-wrap:wrap}.metrics strong{font-size:20px;display:block}.status{font-size:12px;color:var(--muted);background:var(--bg);border-radius:6px;padding:4px 7px}.status.ok{color:var(--good);background:#e8f5ed}.status.warn{color:#8a4b08;background:#fff5e6}.list-row{padding:14px 0;border-top:1px solid var(--border)}.bar{height:6px;border-radius:10px;background:var(--border);overflow:hidden;margin-top:10px}.bar span{display:block;height:100%;background:var(--primary)}nav{position:fixed;bottom:0;left:0;right:0;display:flex;justify-content:center;gap:4px;background:var(--card);border-top:1px solid var(--border);padding:8px 8px calc(8px + env(safe-area-inset-bottom));z-index:5}nav button{background:transparent;color:var(--muted);font-size:12px;padding:11px 9px;min-width:0;flex:1;max-width:150px}nav button.selected{background:var(--tint);color:var(--primary)}#notice:empty{display:none}#notice{padding:12px 16px;background:var(--tint);border-radius:10px;margin-bottom:16px;line-height:1.4}#notice.error{background:#fcebed;color:var(--error)}dialog{background:var(--card);color:var(--ink);border:1px solid var(--border);border-radius:18px;padding:22px;max-width:520px;width:calc(100% - 28px);max-height:90vh}dialog::backdrop{background:#10203c88}dialog h2{margin-right:20px}.check{display:flex;gap:12px;align-items:center;margin:12px 0;min-height:44px}.check input{width:22px;min-height:22px;height:22px}.check label{margin:0;font-weight:400}.history{overflow-x:auto}table{border-collapse:collapse;font-size:13px;width:100%}th,td{text-align:left;padding:10px;border-bottom:1px solid var(--border);white-space:nowrap}svg.chart{width:100%;height:120px}.loading{opacity:.6;pointer-events:none}:focus-visible{outline:3px solid #d97706;outline-offset:3px}@media(min-width:850px){header{padding-top:32px}nav{left:50%;transform:translateX(-50%);width:650px;border:1px solid var(--border);border-radius:16px;bottom:18px;padding:8px;box-shadow:0 5px 30px #10203c12}.split{display:grid;grid-template-columns:1.1fr 1fr;gap:16px}}@media(max-width:420px){header{padding-left:16px;padding-right:16px}main{padding-left:16px;padding-right:16px}.card{padding:16px}.filters{grid-template-columns:1fr 1fr}.filters .field:last-child{grid-column:1/-1}nav button{padding:10px 4px;font-size:11px}.badge{max-width:145px;overflow:hidden;text-overflow:ellipsis}}@media(prefers-reduced-motion:reduce){*{transition:none!important}}@media(prefers-color-scheme:dark){:root{--bg:#101827;--card:#192438;--ink:#edf2fa;--muted:#afbdd0;--border:#34435a;--primary:#9fb8ff;--tint:#253654;--error:#ffb5bf;--good:#a0e6bd;color-scheme:dark}button{color:#101827}.hero{background:#253f89;color:#fff}.hero p{color:#dce5ff}.secondary{color:var(--primary)}nav button{color:var(--muted)}.status.ok{background:#183d31;color:#a0e6bd}.status.warn{background:#4a351a;color:#ffd396}#notice.error,.danger{background:#4c2732;color:#ffb5bf}.bar span{background:var(--primary)}}

progress{width:100%;height:8px;accent-color:var(--primary)}
.review-note{background:#fff5e6;color:#8a4b08;padding:12px;border-radius:10px}.section-gap{margin-top:24px}.advanced{border-top:1px solid var(--border);border-bottom:1px solid var(--border);padding:16px 0;margin:16px 0}.advanced summary{cursor:pointer;min-height:32px;font-weight:600}.advanced[open] summary{margin-bottom:16px}.preview{width:100%;max-height:60vh;border-radius:12px;background:#000}.file-row{margin:14px 0;gap:8px}hr{border:0;border-top:1px solid var(--border);margin:24px 0}

fieldset{min-width:0;border:1px solid var(--border);border-radius:12px;padding:16px;margin:16px 0}legend{font-weight:600;padding:0 6px}
