:root{--bg:#f5f6fa;--card:#fff;--ink:#1c2233;--mut:#6b7385;--pri:#d63a3a;--pri2:#b92d2d;--ok:#1a8f4d;--warn:#c27a00;--bad:#c62828;--line:#e3e6ee}
*{box-sizing:border-box}body{margin:0;font:15px/1.5 system-ui,-apple-system,Segoe UI,Roboto,sans-serif;background:var(--bg);color:var(--ink)}
a{color:var(--pri);text-decoration:none}a:hover{text-decoration:underline}
.top{background:#fff;border-bottom:1px solid var(--line);padding:0 16px}.top .in{max-width:1100px;margin:auto;display:flex;align-items:center;gap:18px;min-height:56px;flex-wrap:wrap}
.brand{font-weight:800;font-size:18px;color:var(--ink)}.brand b{color:var(--pri)}.sp{flex:1}
.top nav{display:flex;gap:14px;flex-wrap:wrap}.top nav a{color:var(--ink);padding:4px 0}
.wrap{max-width:1100px;margin:24px auto;padding:0 16px}.narrow{max-width:460px}.mid{max-width:760px}
.card{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:20px;margin-bottom:18px}
h1{font-size:24px;margin:0 0 6px}h2{font-size:18px;margin:0 0 12px}h3{font-size:15px;margin:0 0 6px}.mut{color:var(--mut)}.small{font-size:13px}
label{display:block;font-weight:600;margin:12px 0 4px;font-size:14px}
input,select,textarea{width:100%;padding:9px 10px;border:1px solid #cfd4e0;border-radius:7px;font:inherit;background:#fff}
input[type=checkbox]{width:auto;margin-right:6px}input:focus,select:focus,textarea:focus{outline:2px solid #f2b6b6;border-color:var(--pri)}
.row{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:0 16px}
.btn{display:inline-block;background:var(--pri);color:#fff;border:0;border-radius:7px;padding:10px 18px;font:inherit;font-weight:600;cursor:pointer}
.btn:hover{background:var(--pri2);text-decoration:none}.btn.sec{background:#fff;color:var(--ink);border:1px solid #cfd4e0}.btn.sm{padding:5px 11px;font-size:13px}.btn.ok{background:var(--ok)}.btn.bad{background:var(--bad)}
.msg{padding:10px 14px;border-radius:7px;margin-bottom:14px}.msg.err{background:#fdecec;color:var(--bad)}.msg.ok{background:#e7f6ee;color:var(--ok)}.msg.warn{background:#fff4e0;color:var(--warn)}
table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:9px 8px;border-bottom:1px solid var(--line);vertical-align:top;font-size:14px}th{color:var(--mut);font-weight:600;font-size:13px}
.tag{display:inline-block;padding:2px 9px;border-radius:99px;font-size:12px;font-weight:700;background:#eceff5;color:#46506a}
.tag.APPROVED,.tag.ACTIVE,.tag.DONE{background:#e0f4e9;color:var(--ok)}.tag.REJECTED,.tag.EXPIRED,.tag.SUSPENDED,.tag.INACTIVE{background:#fdecec;color:var(--bad)}.tag.UPLOADED,.tag.PENDING,.tag.CURRENT,.tag.REGISTERED{background:#fff4e0;color:var(--warn)}
.hero{text-align:center;padding:40px 16px 10px}.hero h1{font-size:32px}
.steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px;margin:22px 0}
.step{background:#fff;border:1px solid var(--line);border-radius:10px;padding:16px;position:relative}.step .n{font-size:12px;font-weight:800;color:var(--pri);letter-spacing:.08em}.step.DONE{border-color:#9fd8b6}.step.CURRENT{border-color:var(--pri);box-shadow:0 0 0 2px #f6caca}.step.LOCKED{opacity:.6}
.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin-bottom:18px}.stat{background:#fff;border:1px solid var(--line);border-radius:10px;padding:14px}.stat b{display:block;font-size:24px}
.inline{display:inline}.inl{display:flex;gap:6px;flex-wrap:wrap;align-items:center}.inl input{width:auto;min-width:140px}
details summary{cursor:pointer;color:var(--pri);font-weight:600}pre.agr{white-space:pre-wrap;background:#fafbfd;border:1px solid var(--line);padding:14px;border-radius:8px;max-height:320px;overflow:auto;font:13px/1.55 inherit}
@media(max-width:600px){.hero h1{font-size:25px}th,td{font-size:13px}}
.pre{white-space:pre-line}
