:root{--canvas: #d9d9d9;--card: #fff;--ink: #000;--ink-2: #1c1c1c;--muted: #5d6470;--blue: #0f5fde;--blue-ink: #1b3f7a;--info-bg: #e4edfb;--info-line: #b9cdf0;--line: #e3e3e3;--outline: #9db1cf;--radius: 18px;--ok: #1a7f4b;--warn: #b3261e;color-scheme:light}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html{-webkit-text-size-adjust:100%}body{margin:0;background:var(--canvas);color:var(--ink);font:16px/1.45 Arial,Helvetica Neue,Helvetica,system-ui,sans-serif}button,input,select,textarea{font:inherit;color:inherit}a{color:var(--blue-ink)}#app{max-width:460px;margin:0 auto;min-height:100dvh;padding:12px 16px 28px;display:flex;flex-direction:column}.top{display:flex;justify-content:flex-end;align-items:center;gap:12px;min-height:40px}.lang{background:none;border:0;padding:8px;font-size:14px;color:var(--ink-2);cursor:pointer}.x{width:40px;height:40px;border:0;background:none;cursor:pointer;display:grid;place-items:center}.x svg{width:20px;height:20px}h1{font-size:26px;line-height:1.2;margin:4px 0 8px;font-weight:700}h2{font-size:22px;line-height:1.25;margin:22px 0 10px;font-weight:700}h3{font-size:16px;font-weight:400;margin:18px 0 10px}.lead{margin:0 0 14px}.body{flex:1;display:flex;flex-direction:column}.grow{flex:1}.card{background:var(--card);border-radius:var(--radius);padding:16px;margin-bottom:12px}.card.center{text-align:center}.card .t{font-size:18px;font-weight:700;margin:8px 0 6px}.card .s{font-size:13px;margin:0 0 12px;color:var(--ink-2)}.btn{display:block;width:100%;border-radius:999px;padding:11px 16px;font-weight:700;font-size:15px;text-align:center;cursor:pointer;border:1.5px solid transparent;text-decoration:none}.btn.primary{background:#000;color:#fff}.btn.secondary{background:#fff;color:#000;border-color:var(--outline)}.btn.ghost{background:transparent;border-color:var(--outline);color:#000}.btn.blue{background:var(--blue);color:#fff}.btn:focus-visible,.x:focus-visible,.lang:focus-visible,input:focus-visible{outline:2px solid var(--blue);outline-offset:2px}.btn[disabled]{opacity:.45;cursor:default}.actions{display:grid;gap:10px;margin-top:18px}.ico{width:36px;height:36px;margin:2px auto 0;display:block}.hero-ico{width:72px;height:72px;margin:8vh auto 24px;display:block}.q{margin:18px 0 8px}.q:first-child{margin-top:0}.opt{display:flex;align-items:center;gap:10px;padding:7px 0;cursor:pointer}.opt input{position:absolute;opacity:0;width:0;height:0}.opt .dot{flex:0 0 18px;height:18px;border-radius:50%;border:1.5px solid #8b8b8b;background:#fff;display:inline-block}.opt .dot.square{border-radius:4px}.opt input:checked+.dot{border:5px solid var(--blue)}.opt input:focus-visible+.dot{outline:2px solid var(--blue);outline-offset:2px}.field{display:block;width:100%;padding:11px 12px;border-radius:10px;border:1px solid #c8c8c8;background:#fff;font-size:16px}.label{display:block;margin:12px 0 6px;font-size:15px}.err{color:var(--warn);font-size:14px;margin:10px 0 0}.note{font-size:13px;color:var(--ink-2);margin:6px 0 0}.info{background:var(--info-bg);border:1px solid var(--info-line);border-radius:14px;padding:12px 14px 12px 34px;color:var(--blue-ink);font-size:13.5px;margin-bottom:12px;position:relative}.info:before{content:"i";position:absolute;left:12px;top:13px;width:15px;height:15px;border-radius:50%;border:1.3px solid var(--blue-ink);font:700 10px/14px Arial;text-align:center}.info p{margin:0 0 6px}.info p:last-child{margin:0}.bar{height:5px;border-radius:3px;background:#e6e6e6;margin:4px 0 12px;overflow:hidden}.bar i{display:block;height:100%;background:var(--blue);transition:width .3s}.accuracy{font-size:13px;text-align:right}.class-line{font-size:18px;margin:4px 0 8px;display:flex;gap:8px;align-items:center;flex-wrap:wrap}.class-chip{font-weight:700;color:#fff;border-radius:6px;padding:2px 8px;font-size:15px}.scale{display:grid;grid-template-columns:repeat(12,1fr);gap:2px;margin:8px 0 4px}.scale span{height:18px;border-radius:3px;opacity:.3;font-size:8.5px;line-height:18px;color:#fff;text-align:center;font-weight:700;overflow:hidden}.scale span.on{opacity:1;outline:2px solid #000;outline-offset:1px}.scale span.after{opacity:1;outline:2px dashed #000;outline-offset:1px}.m-head{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}.m-name{font-size:15px;font-weight:400;margin:0}.m-eff{font-size:11.5px;margin:0 0 8px;color:var(--ink-2)}.m-line{margin:5px 0;font-size:14px}.switch{position:relative;flex:0 0 38px;height:22px;display:inline-block;cursor:pointer}.switch input{position:absolute;opacity:0;inset:0;width:100%;height:100%;margin:0;cursor:pointer}.switch i{position:absolute;inset:0;border-radius:22px;background:#fff;border:1.5px solid var(--outline);transition:background .15s}.switch i:after{content:"";position:absolute;left:3px;top:3px;width:13px;height:13px;border-radius:50%;background:#48628c;transition:transform .15s}.switch input:checked+i{background:var(--blue);border-color:var(--blue)}.switch input:checked+i:after{transform:translate(16px);background:#fff}.switch input:focus-visible+i{outline:2px solid var(--blue);outline-offset:2px}.group{margin:16px 0 8px}.tabs{display:flex;gap:6px;margin:4px 0 14px}.tab{flex:1;border:0;background:transparent;border-radius:999px;padding:8px 10px;color:var(--blue-ink);cursor:pointer;font-size:14px}.tab.on{background:#fff}.qrbox{position:relative;width:100%;aspect-ratio:1;max-width:300px;margin:12px auto;background:#000;border-radius:12px;overflow:hidden}.qrbox video{width:100%;height:100%;object-fit:cover}.corners{position:absolute;inset:18%;background:linear-gradient(#fff,#fff) 0 0/34px 2px,linear-gradient(#fff,#fff) 0 0/2px 34px,linear-gradient(#fff,#fff) 100% 0/34px 2px,linear-gradient(#fff,#fff) 100% 0/2px 34px,linear-gradient(#fff,#fff) 0 100%/34px 2px,linear-gradient(#fff,#fff) 0 100%/2px 34px,linear-gradient(#fff,#fff) 100% 100%/34px 2px,linear-gradient(#fff,#fff) 100% 100%/2px 34px;background-repeat:no-repeat}.file{display:flex;justify-content:space-between;align-items:center;gap:8px;background:#f1f2f4;border-radius:10px;padding:9px 12px;margin-top:8px;font-size:14px}.file b{font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file button{background:none;border:0;cursor:pointer;padding:2px 6px}.kv{margin:0 0 10px}.kv .k{font-size:13px;color:var(--blue-ink)}.kv .v{color:var(--blue-ink)}.rows .r{display:flex;justify-content:space-between;gap:12px;padding:9px 0;border-bottom:1px solid var(--line);font-size:14px}.rows .r:last-child{border:0}.rows .r span:first-child{color:var(--blue-ink)}.rows .r span:last-child{white-space:nowrap}.tiles{display:grid;grid-template-columns:1fr 1fr;gap:10px}.tile{background:#fff;border:0;border-radius:var(--radius);padding:14px;text-align:left;cursor:pointer;min-height:104px}.tile svg{width:30px;height:30px;display:block;margin-bottom:14px}.line-between{display:flex;justify-content:space-between;gap:12px}.bul{margin:10px 0 12px;padding-left:18px;font-size:14px}.steps{padding-left:22px;margin:8px 0}.steps li{margin:6px 0}.badge{display:inline-block;border-radius:6px;padding:2px 8px;font-size:12px;font-weight:700}.badge.open{background:#d8f2e3;color:var(--ok)}.badge.announced{background:#fff0cc;color:#7a5600}.badge.closed,.badge.suspended{background:#ececec;color:#555}.sheet-wrap{position:fixed;inset:0;background:#0000006b;display:flex;align-items:flex-end;justify-content:center;z-index:20}.sheet{background:#f0f2f6;border-radius:22px 22px 0 0;width:100%;max-width:460px;max-height:88dvh;overflow:auto;padding:8px 16px 24px}.sheet .grip{width:40px;height:4px;background:#b6b6b6;border-radius:2px;margin:4px auto 8px}.sheet .sh-head{display:flex;align-items:center;justify-content:space-between}.sheet h2{font-size:18px;margin:8px 0;color:var(--blue-ink);font-weight:400}.donut{display:flex;align-items:center;gap:18px;margin:4px 0 10px}.donut svg{width:104px;height:104px;flex:0 0 104px}.legend{font-size:13px;list-style:none;padding:0;margin:0}.legend li{display:flex;align-items:center;gap:6px;margin:3px 0}.legend i{width:9px;height:9px;border-radius:50%;display:inline-block}.foot{margin-top:20px;font-size:12px;color:#474747;text-align:center}.foot button{background:none;border:0;padding:0;text-decoration:underline;cursor:pointer;font-size:12px;color:inherit}.ac{position:relative}.ac ul{position:absolute;z-index:5;left:0;right:0;list-style:none;margin:4px 0 0;padding:4px;background:#fff;border-radius:10px;box-shadow:0 8px 24px #0000002e;max-height:240px;overflow:auto}.ac li{padding:9px 10px;border-radius:8px;cursor:pointer}.ac li:hover,.ac li.on{background:var(--info-bg)}.ac small{color:var(--muted)}.spin{width:28px;height:28px;border-radius:50%;border:3px solid #bbb;border-top-color:#000;animation:sp .8s linear infinite;margin:24px auto}@keyframes sp{to{transform:rotate(360deg)}}.chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}.chip{border:1.5px solid var(--outline);background:#fff;border-radius:8px;padding:6px 10px;cursor:pointer;font-size:14px}.chip.on{background:var(--blue);border-color:var(--blue);color:#fff}body.report #app{max-width:720px}.doc-h{margin:0 0 8px;font-weight:700}.tbl{width:100%;border-collapse:collapse;font-size:13.5px}.tbl th,.tbl td{text-align:right;padding:7px 0 7px 8px;border-bottom:1px solid var(--line);font-weight:400}.tbl th{color:var(--blue-ink);font-size:12.5px}.tbl th:first-child,.tbl td:first-child{text-align:left;padding-left:0}.tbl .sum td{font-weight:700;border-bottom:0}.tbl td:not(:first-child),.tbl th:not(:first-child){white-space:nowrap}.tbl{font-size:12.5px}@media print{@page{size:A4;margin:14mm}#app{max-width:none;padding:0;min-height:0}.scale span{opacity:.3;-webkit-print-color-adjust:exact;print-color-adjust:exact}.scale span.on,.scale span.after{opacity:1}.class-chip{-webkit-print-color-adjust:exact;print-color-adjust:exact}.card{padding:10px 12px;margin-bottom:8px;border-radius:8px}body{background:#fff}.top,.actions,.tiles,.foot,.switch,.btn{display:none!important}.card,.info{border:1px solid #bbb;break-inside:avoid}}@media(prefers-reduced-motion:reduce){*{transition:none!important;animation-duration:2s!important}}
