
:root{--red:#980000;--dark:#222;--bg:#f3f4f6;--line:#e0e3e7;--muted:#69717b;--green:#176b45}
*{box-sizing:border-box}
body{margin:0;font-family:Arial,Helvetica,sans-serif;background:var(--bg);color:var(--dark)}
a{color:var(--red);text-decoration:none}
a:hover{text-decoration:underline}
.head{background:var(--red);color:#fff;padding:18px}
.headin{max-width:1050px;margin:auto;display:flex;align-items:center;gap:15px}
.head img{width:58px;height:58px;object-fit:contain;background:#fff;border-radius:50%;padding:3px}
.wrap{max-width:1050px;margin:28px auto;padding:0 18px}
.card{background:#fff;border:1px solid var(--line);border-radius:13px;padding:22px;margin-bottom:20px;box-shadow:0 2px 8px rgba(0,0,0,.04)}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.field{margin-bottom:15px}
label{display:block;font-weight:700;margin-bottom:6px}
input,select,textarea{width:100%;padding:10px 11px;border:1px solid #c9cfd6;border-radius:8px;font:inherit;background:#fff}
textarea{min-height:105px;resize:vertical}
.btn{display:inline-block;border:0;border-radius:8px;background:var(--red);color:#fff;padding:11px 16px;font-weight:700;cursor:pointer;text-decoration:none}
.btn.secondary{background:#59636e}
.btn.green{background:var(--green)}
.btn.small{padding:7px 10px;font-size:.9rem}
.notice,.ok,.err,.info{padding:12px 14px;border-radius:8px;margin:12px 0}
.notice{background:#fff7d8;border:1px solid #e1c961}
.ok{background:#e8f6ef;border:1px solid #8dc5a8}
.err{background:#fdecec;border:1px solid #e3a0a0}
.info{background:#eef4ff;border:1px solid #b8c9e6}
.req{color:#a50000}
.muted,.help{color:var(--muted)}
.help{font-size:.9rem;margin-top:5px}
.check{display:flex;gap:9px;align-items:flex-start;margin:12px 0}
.check input{width:auto;margin-top:4px}
.section{color:#8b0000;border-bottom:2px solid #eee;padding-bottom:8px;margin-top:30px}
.hidden{display:none!important}
.docrow{display:grid;grid-template-columns:minmax(220px,1fr) minmax(220px,1fr);gap:16px;align-items:end;padding:14px 0;border-bottom:1px solid #eee}
.status-ok{color:#176b45;font-weight:700}
.status-missing{color:#9b1c1c;font-weight:700}
.ref{font-size:1.2rem;font-weight:700;letter-spacing:.03em}
@media(max-width:760px){.grid2,.grid3,.docrow{grid-template-columns:1fr}.headin{align-items:flex-start}}
