:root{--bg: #f5f7fb;--card: #fff;--text: #1b2333;--muted: #5b6577;--primary: #2457d6;--primary-dark: #1a43ab;--danger: #c62828;--ok: #1b7f3b;--border: #d9dfeb;--radius: 12px}*{box-sizing:border-box}body{margin:0;font-family:Heebo,Segoe UI,system-ui,Arial,sans-serif;background:var(--bg);color:var(--text);line-height:1.55}h1{font-size:1.7rem;margin:0 0 1rem}h2{font-size:1.2rem;margin:0 0 .75rem}a{color:var(--primary)}.container{max-width:1100px;margin:0 auto;padding:1.25rem}.center{text-align:center}.muted{color:var(--muted)}.error{color:var(--danger);margin:.35rem 0;font-weight:500}.success{color:var(--ok);font-weight:500}.topbar{display:flex;flex-wrap:wrap;gap:1rem;align-items:center;background:#fff;border-bottom:1px solid var(--border);padding:.6rem 1.25rem}.topbar nav{display:flex;gap:1rem;flex:1}.topbar nav a{text-decoration:none;padding:.25rem .5rem;border-radius:6px;color:var(--text)}.topbar nav a.active{background:#e8efff;color:var(--primary-dark);font-weight:600}.brand{font-weight:800;font-size:1.25rem;text-decoration:none;color:var(--primary)}.user{display:flex;gap:.75rem;align-items:center}.card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:1.1rem}.grid{display:grid;grid-template-columns:340px 1fr;gap:1.25rem;align-items:start}.grid.wide-left{grid-template-columns:1fr 340px}.list{list-style:none;padding:0;margin:0;display:grid;gap:.75rem}.item{display:flex;flex-wrap:wrap;gap:.75rem;justify-content:space-between;align-items:center}.item-title{font-weight:700;font-size:1.1rem}.actions{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}.field{display:grid;gap:.25rem;margin-bottom:.9rem}.field label{font-weight:600}input,select,textarea{font:inherit;padding:.55rem .7rem;border:1px solid #aab3c5;border-radius:8px;background:#fff;width:100%}input:focus,select:focus,textarea:focus,.btn:focus-visible{outline:3px solid #9db8ff;outline-offset:1px}.btn{display:inline-block;font:inherit;font-weight:600;text-decoration:none;cursor:pointer;border:0;border-radius:8px;padding:.55rem 1rem;background:var(--primary);color:#fff}.btn:hover{background:var(--primary-dark)}.btn:disabled{opacity:.6;cursor:wait}.btn.secondary{background:#e8ecf4;color:var(--text)}.btn.secondary:hover{background:#d9dfeb}.btn.danger{background:var(--danger)}.auth-page{min-height:100vh;display:grid;place-items:center;padding:1rem}.auth-card{width:min(420px,100%)}.video-wrap{position:relative;padding-top:56.25%}.video-wrap iframe{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;border:0;border-radius:8px}.reader{white-space:pre-wrap;font-size:1.1rem;line-height:1.9;max-height:70vh;overflow:auto}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse}th,td{text-align:start;padding:.55rem .6rem;border-bottom:1px solid var(--border)}@media (max-width: 800px){.grid,.grid.wide-left{grid-template-columns:1fr}}.consent{background:#f1f5ff;border:1px solid #c9d8ff;border-radius:10px;padding:.9rem;margin:.75rem 0}.consent h3{margin:0 0 .5rem;font-size:1.05rem}.consent ul{margin:0 0 .75rem;padding-inline-start:1.1rem}.preview{width:100%;max-height:220px;object-fit:cover;border-radius:10px;background:#000;transform:scaleX(-1);margin:.5rem 0}.hidden{display:none}.score-box{margin:.5rem 0 1rem}.score-label{font-weight:600}.score-value{font-size:3rem;font-weight:800;line-height:1.1;color:var(--ok)}.score-value.low{color:var(--danger)}.bar{height:12px;background:#e3e8f2;border-radius:99px;overflow:hidden;margin:.4rem 0 .75rem}.bar>div{height:100%;background:var(--ok);transition:width .4s}.bar>div.low{background:var(--danger)}.warn{color:#8a5a00;background:#fff4d6;border-radius:8px;padding:.5rem .7rem;font-weight:500}.alert-box{color:#7a1010;background:#fde4e4;border:1px solid #f3b4b4;border-radius:8px;padding:.6rem .8rem;font-weight:600}.end-btn{margin-top:.75rem}.password-wrap{position:relative}.password-wrap input{padding-inline-end:2.6rem}.eye-btn{position:absolute;inset-inline-end:.35rem;top:50%;transform:translateY(-50%);display:grid;place-items:center;width:2rem;height:2rem;padding:0;border:0;border-radius:6px;background:transparent;color:var(--muted);cursor:pointer}.eye-btn:hover{color:var(--text);background:#eef1f7}.eye-btn:focus-visible{outline:3px solid #9db8ff;outline-offset:1px}.latest-score{display:flex;flex-wrap:wrap;gap:1rem 2rem;align-items:center;margin-bottom:1.25rem;border:2px solid #c9d8ff;background:#f1f5ff}.latest-score .score-value{font-size:3.2rem}.latest-score .score-label{font-size:1.1rem}.latest-score p{margin:.2rem 0 0}tr.latest-row td{background:#f1f5ff;font-weight:600}.badge{display:inline-block;margin-inline-start:.4rem;padding:.05rem .5rem;border-radius:99px;background:var(--primary);color:#fff;font-size:.75rem;font-weight:600}
