:root{--ink:#10242b;--mute:#5b727a;--line:#cddfe2;--bg:#eef6f7;--deep:#0b3a4f;--aqua:#1286a0;--aqua-d:#0d6a80;--sun:#ffc933;--sun-d:#e0a800;--ok:#1c8a55;--warn:#b7791f;--bad:#c0392b}*{box-sizing:border-box}html,body{margin:0}body{background:var(--bg);color:var(--ink);font-family:Trebuchet MS,Segoe UI,system-ui,sans-serif;font-size:15px;line-height:1.45}h1{margin:0 0 4px;font-size:24px}h2{margin:0 0 10px;font-size:17px}h3{margin:0 0 8px;font-size:15px}.center{min-height:100vh;color:var(--mute);place-items:center;display:grid}.muted{color:var(--mute)}.small{font-size:12.5px}.right{text-align:right}.b{font-weight:700}.row{align-items:center;gap:10px;display:flex}.row.wrap{flex-wrap:wrap}.between{justify-content:space-between}.grow{flex:1}.gap{gap:14px;display:grid}.app{grid-template-columns:220px 1fr;min-height:100vh;display:grid}.side{background:var(--deep);color:#d7eaee;flex-direction:column;gap:4px;height:100vh;padding:18px 12px;display:flex;position:sticky;top:0}.brand{border-bottom:1px solid #ffffff24;margin-bottom:10px;padding:4px 10px 16px}.brand b{color:#fff;font-size:17px;display:block}.brand span{opacity:.75;font-size:12px}.side a.nav{color:#d7eaee;border-radius:6px;padding:9px 12px;text-decoration:none;display:block}.side a.nav:hover{background:#ffffff14}.side a.nav.on{background:var(--sun);color:var(--deep);font-weight:700}.side .user{border-top:1px solid #ffffff24;margin-top:auto;padding:12px 10px 0;font-size:13px}.main{min-width:0;padding:22px 26px 40px}.head{margin-bottom:16px}.card{border:1px solid var(--line);background:#fff;border-radius:8px;padding:16px}.cards{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;display:grid}.stat{border:1px solid var(--line);border-left:4px solid var(--aqua);background:#fff;border-radius:8px;padding:12px 14px}.stat .v{font-size:24px;font-weight:700}.stat .l{color:var(--mute);font-size:13px}.btn{border:1px solid var(--line);color:var(--ink);font:inherit;cursor:pointer;background:#fff;border-radius:6px;padding:8px 14px}.btn:hover{border-color:var(--aqua)}.btn:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline-offset:1px;outline:3px solid #ffe08a}.btn.primary{background:var(--sun);border-color:var(--sun-d);color:var(--deep);font-weight:700}.btn.primary:hover{background:var(--sun-d)}.btn.aqua{background:var(--aqua);border-color:var(--aqua);color:#fff}.btn.danger{color:var(--bad);border-color:#e7b9b3}.btn.sm{padding:4px 9px;font-size:13px}.btn.lg{width:100%;padding:12px 18px;font-size:16px}.btn:disabled{opacity:.5;cursor:not-allowed}input,select,textarea{font:inherit;border:1px solid var(--line);width:100%;color:var(--ink);background:#fff;border-radius:6px;padding:8px 10px}label>span{color:var(--mute);margin-bottom:3px;font-size:13px;display:block}label.chk{align-items:center;gap:8px;display:flex}label.chk input{width:auto}label.chk span{color:var(--ink);margin:0}.form{gap:12px;display:grid}.form.cols{grid-template-columns:repeat(auto-fit,minmax(210px,1fr));align-items:end}.err{color:var(--bad);background:#fdecea;border:1px solid #f3c1bb;border-radius:6px;padding:9px 12px}.note{background:#fff7e0;border:1px solid #f0dc9b;border-radius:6px;padding:9px 12px}.info{background:#e6f3f6;border:1px solid #bcdde4;border-radius:6px;padding:9px 12px}.tag{color:var(--aqua-d);background:#e3eff1;border-radius:99px;padding:2px 8px;font-size:12px;display:inline-block}.tag.ok{color:var(--ok);background:#dff3e8}.tag.warn{color:var(--warn);background:#fdf0d2}.tag.bad{color:var(--bad);background:#fbe1de}table{border-collapse:collapse;background:#fff;width:100%}th,td{text-align:left;border-bottom:1px solid var(--line);vertical-align:top;padding:8px 10px}th{color:var(--mute);background:#f6fafb;font-size:13px;font-weight:600}td.num,th.num{text-align:right;white-space:nowrap}.scroll{border:1px solid var(--line);border-radius:8px;overflow-x:auto}.scroll table{min-width:560px}.summary-option-table table{table-layout:fixed;min-width:0}.summary-option-table th:last-child,.summary-option-table td:last-child{width:76px}.summary-option-table td:first-child{overflow-wrap:anywhere}.tabs{border-bottom:2px solid var(--line);flex-wrap:wrap;gap:4px;margin-bottom:14px;display:flex}.tabs button{font:inherit;cursor:pointer;color:var(--mute);background:0 0;border:0;border-bottom:3px solid #0000;margin-bottom:-2px;padding:9px 16px}.tabs button.on{color:var(--deep);border-bottom-color:var(--sun-d);font-weight:700}.claim{grid-template-columns:minmax(280px,380px) minmax(0,1fr);align-items:start;gap:16px;display:grid}.opt{border:1px solid var(--line);background:#fff;border-radius:8px;grid-template-columns:auto 1fr;gap:6px 12px;padding:10px 12px;display:grid}.opt.on{border-color:var(--aqua);background:#f3fafb}.opt.dipakai{border-color:var(--bad);background:#fdf3f1}.opt.mirip{border-color:var(--warn);background:#fffaf0}.opt.okr{border-color:var(--ok)}.opt .no{background:var(--deep);color:#fff;border-radius:50%;place-items:center;width:26px;height:26px;font-size:13px;font-weight:700;display:grid}.opt .acc{grid-column:2}.verdict{grid-column:2;font-size:13px}.opts{gap:8px;display:grid}.counter{background:var(--deep);color:#fff;border-radius:99px;padding:3px 10px;font-weight:700}.counter.full{background:var(--ok)}.ticket{color:#000;background:#fff;border:2px dashed #222;width:80mm;max-width:100%;margin:0 auto;padding:12px 14px;font-family:Courier New,monospace;font-size:13px}.ticket .c{text-align:center}.ticket hr{border:0;border-top:1px dashed #000;margin:8px 0}.ticket .big{letter-spacing:1px;font-size:20px;font-weight:700}.bars{align-items:flex-end;gap:3px;height:130px;margin-top:8px;display:flex}.bars div{text-align:center;min-width:6px;height:100%;color:var(--mute);flex-direction:column;flex:1;justify-content:flex-end;font-size:10px;display:flex}.bars i{background:var(--aqua);border-radius:3px 3px 0 0;min-height:2px;display:block}.back{z-index:50;background:#081e288c;place-items:center;padding:14px;display:grid;position:fixed;inset:0;overflow:auto}.modal{background:#fff;border-radius:10px;width:100%;max-width:520px;max-height:94vh;padding:20px;overflow:auto}.modal.wide{max-width:760px}.login{grid-template-columns:1.1fr 1fr;min-height:100vh;display:grid}.login .art{background:repeating-linear-gradient(135deg, var(--deep) 0 46px, #0d4660 46px 92px);color:#fff;flex-direction:column;justify-content:flex-end;padding:56px;display:flex}.login-logo{object-fit:contain;background:#fff;border-radius:50%;width:180px;height:180px;margin-bottom:28px}.login .art h1{max-width:420px;font-size:38px;line-height:1.1}.login .box{place-items:center;padding:30px;display:grid}.login form{width:100%;max-width:340px}@media (max-width:1000px){.app{grid-template-columns:1fr}.side{flex-flow:wrap;align-items:center;height:auto;padding:10px;position:static}.brand{border:0;margin:0;padding:0 10px 0 0}.side .user{border:0;margin:0 0 0 auto;padding:0}.claim,.login{grid-template-columns:1fr}.login .art{text-align:center;align-items:center;padding:24px}.login-logo{width:96px;height:96px;margin-bottom:12px}.login .art h1{font-size:24px}.main{padding:16px 12px 40px}}@media print{body *{visibility:hidden}.ticket-print,.ticket-print *{visibility:visible}.ticket-print{width:80mm;position:fixed;top:0;left:0}@page{margin:0}}.pub{gap:14px;max-width:560px;margin:0 auto;padding:0 14px 40px;display:grid}.pubhead{background:repeating-linear-gradient(135deg, var(--deep) 0 40px, #0d4660 40px 80px);color:#fff;margin:0 -14px;padding:28px 18px 24px}.pubhead h1{margin:4px 0 8px;font-size:30px;line-height:1.1}.qn{color:var(--deep);font-size:76px;font-weight:700;line-height:1}.hpwrap{width:1px;height:1px;position:absolute;left:-9999px;overflow:hidden}.badge{float:right;background:var(--bad);color:#fff;border-radius:99px;padding:0 8px;font-size:12px;font-weight:700}.poster{border:2px solid var(--deep);text-align:center;background:#fff;border-radius:10px;width:100%;max-width:560px;margin:0 auto;padding:28px}.poster .pt{color:var(--deep);font-size:20px;font-weight:700}.poster .ph{background:var(--sun);border-radius:6px;margin:6px 0;padding:4px 16px;font-size:44px;font-weight:700;line-height:1.1;display:inline-block}.poster .pp{margin-bottom:14px;font-size:18px}.poster img{width:70%;max-width:360px;image-rendering:pixelated}.poster ol{text-align:left;margin:14px 0;font-size:17px;display:inline-block}.poster .pf{color:var(--mute);font-size:13px}@media print{.poster-print,.poster-print *{visibility:visible}.poster-print{border:0;width:100%;max-width:none;position:fixed;top:0;left:0}}
