:root{--p:#4f46e5;--p2:#7c3aed;--ink:#1e1b3a;--mut:#6b7280;--bg:#f4f5fb;--ok:#16a34a;--bad:#e11d48}
*{box-sizing:border-box}body{font-family:Inter,system-ui,-apple-system,Segoe UI,sans-serif;margin:0;background:var(--bg);color:var(--ink);line-height:1.45}
header.top{background:linear-gradient(120deg,#312e81,var(--p) 55%,var(--p2));color:#fff;padding:12px 20px;display:flex;align-items:center;gap:14px;flex-wrap:wrap;position:sticky;top:0;z-index:5;box-shadow:0 2px 10px #0003}
.brand{display:flex;align-items:center;gap:14px;flex:1;min-width:200px}
.logo{display:inline-flex;flex-direction:column;align-items:flex-start;gap:3px;padding-right:14px;border-right:1px solid #ffffff55}
.wm{font-family:'Playfair Display',Georgia,'Times New Roman',serif;font-weight:800;font-size:28px;letter-spacing:.14em;line-height:1;color:#fff}
.wm-line{display:block;height:3px;width:100%;border-radius:2px;background:linear-gradient(90deg,#fbbf24,#f59e0b 60%,transparent)}
.brand b{display:block;font-size:16px;font-weight:600}.brand small{opacity:.8;font-size:11px}
body{font-family:'Poppins',Inter,system-ui,-apple-system,Segoe UI,sans-serif}
nav{display:flex;gap:4px;overflow-x:auto;max-width:100%}nav button{background:transparent;color:#fff;border:0;padding:8px 14px;cursor:pointer;border-radius:999px;white-space:nowrap;font:inherit;font-size:14px}
nav button.on,nav button:hover{background:#ffffff30}
main{max-width:1100px;margin:22px auto;padding:0 14px}
.card{background:#fff;border-radius:16px;padding:20px;margin-bottom:18px;box-shadow:0 4px 20px #1e1b3a12}
h2{margin:0 0 14px;font-size:20px}h3{margin:0 0 8px}
.tw{overflow-x:auto}table{width:100%;border-collapse:collapse;min-width:520px}th{font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:var(--mut)}
th,td{text-align:left;padding:10px 8px;border-bottom:1px solid #eceef6;font-size:14px;vertical-align:middle}
input,select,textarea{padding:10px 12px;border:1px solid #d3d7e6;border-radius:10px;font:inherit;max-width:100%;background:#fff}
input:focus,select:focus,textarea:focus{outline:2px solid #c7d2fe;border-color:var(--p)}
.row{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:10px;align-items:center}
button.b{background:var(--p);color:#fff;border:0;padding:9px 16px;border-radius:10px;cursor:pointer;font:inherit;font-weight:600;font-size:14px;transition:.15s}
button.b:hover{filter:brightness(1.1);transform:translateY(-1px)}button.b:disabled{opacity:.5;cursor:not-allowed}
button.b.red{background:var(--bad)}button.b.gray{background:#64748b}button.b.green{background:var(--ok)}button.b.sm{padding:6px 10px;font-size:13px;margin:2px}
.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin-bottom:18px}
.stat{background:linear-gradient(135deg,#eef2ff,#f5f3ff);border-radius:14px;padding:14px}.stat b{font-size:26px;display:block;color:var(--p)}.stat span{font-size:13px;color:var(--mut)}
.err{color:var(--bad);margin:6px 0;min-height:18px}.q{border:1px solid #e5e7f3;border-radius:14px;padding:14px;margin-bottom:14px;background:#fcfcff}
.q label{display:flex;gap:10px;align-items:flex-start;padding:10px 12px;margin-top:6px;border:1px solid #e1e4f2;border-radius:10px;cursor:pointer;background:#fff}
.q label:has(input:checked){border-color:var(--p);background:#eef2ff}.good{color:var(--ok);font-weight:600}.bad{color:var(--bad);font-weight:600}
.timer{position:sticky;top:66px;background:#fff7ed;border:1px solid #fed7aa;padding:10px 14px;border-radius:12px;font-weight:700;margin-bottom:14px;z-index:4;display:flex;justify-content:space-between;gap:8px;flex-wrap:wrap}
.tag{display:inline-block;background:#e0e7ff;color:#3730a3;border-radius:999px;padding:2px 10px;font-size:12px;font-weight:600}.tag.ok{background:#dcfce7;color:#166534}.tag.warn{background:#fef3c7;color:#92400e}
.auth{min-height:100vh;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr)}.auth>*{min-width:0}html,body{overflow-x:hidden}
.hero{background:linear-gradient(145deg,#312e81,var(--p) 50%,var(--p2));color:#fff;padding:48px;display:flex;flex-direction:column;justify-content:center;gap:16px}
.hero .logo{border:0;padding:0;margin-bottom:8px}.hero .wm{font-size:68px;background:linear-gradient(180deg,#fff,#e0e7ff);-webkit-background-clip:text;background-clip:text;color:transparent}
.hero .wm-line{height:5px;width:140px}
.hero h1{font-family:'Playfair Display',Georgia,serif;margin:0;font-size:30px;font-weight:600;line-height:1.25}.hero .lead{font-size:17px;opacity:.95;max-width:480px;margin:0}
.facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:12px;max-width:560px}
.facts div{background:#ffffff1f;border:1px solid #ffffff33;border-radius:14px;padding:12px 14px;backdrop-filter:blur(4px)}
.facts b{display:block;font-size:18px;color:#fde68a}.facts span{font-size:12px;opacity:.9}.hero .sub{font-size:13px;opacity:.8;margin:0}.login{display:grid;place-items:center;padding:24px}.login .card{width:100%;max-width:380px;padding:28px}.login input{width:100%;margin-bottom:12px}
.cons li{margin-bottom:8px}.cam{position:fixed;right:12px;bottom:12px;width:110px;border-radius:12px;border:3px solid #fff;box-shadow:0 4px 14px #0005;z-index:9;background:#000}
.warnbar{background:#fee2e2;color:#991b1b;padding:10px 14px;border-radius:12px;margin-bottom:12px;font-weight:600}
.photos{display:flex;gap:8px;flex-wrap:wrap}.photos img{width:120px;border-radius:10px;border:1px solid #ddd}
@media(max-width:780px){.auth{grid-template-columns:minmax(0,1fr)}input,select,textarea{font-size:16px}header.top{position:static}.timer{top:0!important}.brand{flex:1 1 100%;min-width:0}nav{width:100%}table:not(.stack){min-width:0}th,td{overflow-wrap:anywhere}.row>input,.row>select{flex:1 1 140px;min-width:0}.dlg-btns button{flex:1}.photos img{width:calc(50% - 4px)}.hero .lead{font-size:15px}.hero{padding:28px 22px}.hero h1{font-size:22px}.hero .wm{font-size:48px}.wm{font-size:22px}.card{padding:14px;border-radius:14px}header.top{padding:10px 12px}.cam{width:80px}button.b{padding:10px 14px}}
.pick{max-height:240px;overflow:auto;border:1px solid #dde3f0;border-radius:12px;padding:10px 14px;margin:8px 0 12px;display:grid;gap:6px}
.pick label{display:flex;gap:8px;align-items:center;cursor:pointer}
.ov{position:fixed;inset:0;background:#0b0a22aa;display:flex;align-items:center;justify-content:center;padding:16px;z-index:100;animation:fade .15s}
.dlg{background:#fff;border-radius:18px;padding:22px;width:100%;max-width:440px;box-shadow:0 20px 60px #0006;max-height:90vh;overflow:auto}
.dlg h3{margin:0 0 8px}.dlg p{margin:0 0 6px;color:var(--mut)}
.dlg-form{display:grid;gap:12px;margin:12px 0 4px}.dlg-form label{display:grid;gap:4px;font-size:13.5px;color:var(--mut)}.dlg-form input{width:100%}
.dlg-btns{display:flex;gap:10px;justify-content:flex-end;margin-top:18px;flex-wrap:wrap}
@keyframes fade{from{opacity:0}}
.inline-confirm{border:2px solid var(--p);margin-top:16px}.inline-confirm[hidden]{display:none}.inline-confirm p{color:var(--mut)}
.done{text-align:center;max-width:520px;margin:40px auto;padding:36px 24px}.done p{color:var(--mut)}
.done-ic{width:68px;height:68px;border-radius:50%;background:#dcfce7;color:var(--ok);font-size:36px;display:grid;place-items:center;margin:0 auto 12px}

@media(max-width:780px){
.tw{overflow-x:auto}table.stack{min-width:0}table.stack,table.stack tbody{display:block}table.stack tr:first-child{display:none}
table.stack tr{display:block;border:1px solid #e5e7f3;border-radius:14px;padding:8px 12px;margin-bottom:12px;background:#fcfcff}
table.stack td{display:flex;justify-content:space-between;align-items:center;gap:12px;border:0;border-bottom:1px solid #eef0f8;padding:8px 0;text-align:right;word-break:break-word}
table.stack td:last-child{border-bottom:0;justify-content:flex-end;flex-wrap:wrap}
table.stack td::before{content:attr(data-label);font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--mut);text-align:left;flex:0 0 38%}
table.stack td:empty{display:none}table.stack td:last-child::before{content:none}
}
@media(max-width:780px){.stats{grid-template-columns:repeat(3,1fr);gap:8px}.stat{padding:10px}.stat b{font-size:22px}.stat span{font-size:12px}.q label input{width:20px;height:20px;flex:0 0 20px}.q label{padding:12px}}
.pw{position:relative;margin-bottom:12px}.pw input{width:100%;padding-right:48px;margin:0}
.pw .eye{position:absolute;right:4px;top:50%;transform:translateY(-50%);border:0;background:transparent;font-size:18px;cursor:pointer;width:40px;height:36px;border-radius:8px;line-height:1}
.pw .eye:hover{background:#eef2ff}
.tag.bad{background:#fee2e2;color:#991b1b}
select.st{font-weight:600;padding:6px 8px}select.st-pass{background:#dcfce7;color:#166534;border-color:#86efac}select.st-fail{background:#fee2e2;color:#991b1b;border-color:#fca5a5}select.st-hold{background:#fef3c7;color:#92400e;border-color:#fcd34d}
