:root{--navy:#1A3A6B;--navy2:#2a4f8a;--yellow:#F5C800;--ink:#1c2230;--muted:#5d6678;--line:#d9dee8;--bg:#f6f7fa;--red:#b3261e;--redbg:#fbeceb;--green:#1f6b3a;--greenbg:#e8f4ec;--amberbg:#fff6d6}
*{box-sizing:border-box}
body{margin:0;font-family:Arial,Helvetica,sans-serif;color:var(--ink);background:var(--bg);font-size:17px;line-height:1.45}
header{background:#fff;border-bottom:5px solid var(--yellow)}
header .in{max-width:1100px;margin:0 auto;padding:12px 18px;display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
header .logo{height:52px;width:auto;display:block}
header span{color:var(--navy);font-weight:bold;font-size:15px}
@media (max-width:420px){header .logo{height:42px}header span{font-size:14px}}
main{max-width:560px;margin:0 auto;padding:18px}
main.wide{max-width:1100px}
.card{background:#fff;border:1px solid var(--line);border-radius:8px;padding:18px;margin-bottom:16px}
.meter{border-left:6px solid var(--navy);padding-left:12px;margin-bottom:16px}
.meter.w{border-left-color:#2b7bb9}
.meter b{font-size:22px;display:block}.meter small{color:var(--muted);font-size:15px}
label{display:block;font-weight:bold;margin:14px 0 5px}
.hint{color:var(--muted);font-size:14px;margin:4px 0 0;font-weight:normal}
input[type=text],input[type=number],input[type=date],input[type=password],select,textarea{width:100%;padding:12px;border:1px solid #b9c1d0;border-radius:6px;font:inherit;background:#fff}
input.big{font-size:26px;letter-spacing:1px}
input:focus,select:focus,button:focus,a:focus{outline:3px solid var(--yellow);outline-offset:1px}
button,.btn{display:inline-block;font:inherit;font-weight:bold;border:0;border-radius:6px;padding:14px 18px;cursor:pointer;background:var(--navy);color:#fff;text-decoration:none;text-align:center}
button.full{width:100%;margin-top:20px;font-size:19px}
button.sec,.btn.sec{background:#fff;color:var(--navy);border:1px solid var(--navy)}
button.small,.btn.small{padding:6px 10px;font-size:14px}
button.danger{background:var(--red)}
button:disabled{opacity:.5}
.foto{border:2px dashed #b9c1d0;border-radius:8px;padding:18px;text-align:center;cursor:pointer;color:var(--navy);font-weight:bold;background:#fafbfd}
.foto img{max-width:100%;max-height:260px;border-radius:6px;display:block;margin:0 auto}
.check{display:flex;gap:10px;align-items:flex-start;font-weight:normal;margin-top:16px}
.check input{width:22px;height:22px;flex:none;margin-top:2px}
.ok{background:var(--greenbg);border-left:5px solid var(--green);padding:14px;border-radius:0 6px 6px 0}
.err{background:var(--redbg);border-left:5px solid var(--red);padding:12px;border-radius:0 6px 6px 0;margin:12px 0}
.note{background:var(--amberbg);border-left:5px solid var(--yellow);padding:12px;border-radius:0 6px 6px 0;font-size:15px}
.hidden{display:none!important}
nav.tabs{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:16px}
nav.tabs a{padding:9px 14px;border-radius:6px;background:#fff;border:1px solid var(--line);color:var(--navy);text-decoration:none;font-weight:bold;font-size:15px}
nav.tabs a.act{background:var(--navy);color:#fff;border-color:var(--navy)}
.tw{overflow-x:auto;border:1px solid var(--line);border-radius:6px;background:#fff}
table{border-collapse:collapse;width:100%;font-size:14px}
th{background:var(--navy);color:#fff;text-align:left;padding:7px 9px;white-space:nowrap}
td{padding:6px 9px;border-top:1px solid var(--line);vertical-align:top}
td.n{text-align:right;white-space:nowrap}
.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px;margin-bottom:16px}
.stat{background:#fff;border:1px solid var(--line);border-left:5px solid var(--navy);border-radius:6px;padding:10px 12px}
.stat b{font-size:24px;color:var(--navy);display:block}
.row{display:flex;gap:10px;flex-wrap:wrap;align-items:flex-end}
.row>div{flex:1;min-width:150px}
.tag{display:inline-block;padding:1px 7px;border-radius:10px;font-size:12px;background:#e7edf7;color:var(--navy)}
.tag.r{background:var(--redbg);color:var(--red)}
a{color:var(--navy2)}
@media print{header,nav.tabs,.noprint{display:none!important}main,main.wide{max-width:none;padding:0}body{background:#fff}}
.camwrap{position:relative;border-radius:8px;overflow:hidden;background:#000}
.camwrap video{width:100%;display:block}
.camframe{position:absolute;left:10%;right:10%;top:50%;aspect-ratio:4/1;transform:translateY(-50%);border:3px solid var(--yellow);border-radius:8px;box-shadow:0 0 0 9999px rgba(0,0,0,.45);pointer-events:none}
.camframe.w{left:15%;right:15%;aspect-ratio:3/1}
.camframe span{position:absolute;left:50%;bottom:100%;transform:translate(-50%,-8px);white-space:nowrap;color:#fff;font-weight:bold;font-size:15px;text-shadow:0 1px 3px rgba(0,0,0,.8)}
.camframe::before,.camframe::after{content:"";position:absolute;top:50%;width:12px;height:2px;background:var(--yellow)}
.camframe::before{left:-14px}.camframe::after{right:-14px}
