:root{--bg:#f4f6fa;--card:#fff;--text:#182033;--muted:#697386;--line:#e5e9f1;--accent:#315bea;--accent2:#2348c8;--good:#14804a;--bad:#c63b3b;--radius:18px;--shadow:0 8px 28px rgba(29,43,76,.07)}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:15px/1.55 system-ui,-apple-system,"Segoe UI",sans-serif}.top{height:68px;background:#111827;color:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 max(24px,calc((100% - 1180px)/2));position:sticky;top:0;z-index:20}.brand{color:#fff;text-decoration:none;font-size:20px;font-weight:800;letter-spacing:-.4px}.top-right{display:flex;gap:18px;align-items:center}.link{color:#cdd5e5}.nav{background:#fff;border-bottom:1px solid var(--line);display:flex;gap:28px;padding:13px max(24px,calc((100% - 1180px)/2));overflow:auto}.nav a{white-space:nowrap;color:#4d586b;text-decoration:none;font-weight:650}.wrap{max-width:1180px;margin:0 auto;padding:34px 24px 70px}.pagehead{display:flex;justify-content:space-between;gap:24px;align-items:end;margin-bottom:25px}.pagehead h1,.hero h1,.surveyhead h1{font-size:36px;line-height:1.1;margin:6px 0 8px;letter-spacing:-1px}.pagehead p,.hero p,.surveyhead p,.muted{color:var(--muted)}.eyebrow{font-size:12px;font-weight:800;letter-spacing:1.5px;color:var(--accent)}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:25px;box-shadow:var(--shadow)}.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:18px}.item{text-decoration:none;color:inherit;transition:.18s}.item:hover{transform:translateY(-2px);border-color:#cbd4ee}.badge,.status{display:inline-flex;border-radius:99px;padding:5px 10px;background:#edf1ff;color:#3454b5;font-size:12px;font-weight:750}.status.active{background:#e6f6ed;color:var(--good)}.status.draft{background:#f0f2f5;color:#667085}.btn{display:inline-flex;align-items:center;justify-content:center;border:1px solid #d8deea;border-radius:11px;background:#fff;color:#27334a;padding:10px 16px;font-weight:750;text-decoration:none;cursor:pointer}.btn.primary{background:var(--accent);border-color:var(--accent);color:#fff}.btn.primary:hover{background:var(--accent2)}.btn.big{font-size:16px;padding:14px 24px}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-bottom:20px}.stat{background:#fff;border:1px solid var(--line);border-radius:16px;padding:22px}.stat b{display:block;font-size:32px}.stat span{color:var(--muted)}label{display:block;font-weight:650;margin-bottom:17px}input,select,textarea{width:100%;margin-top:7px;border:1px solid #d7ddea;border-radius:10px;background:#fff;padding:11px 12px;font:inherit;color:inherit;outline:none}input:focus,select:focus,textarea:focus{border-color:#7590ec;box-shadow:0 0 0 3px rgba(49,91,234,.1)}textarea{resize:vertical}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:18px}.checks{display:flex;gap:24px;flex-wrap:wrap;margin:5px 0 22px}.checks label,.check{display:flex;gap:8px;align-items:center}.checks input,.check input,.option input,.scale input{width:auto;margin:0}.tablewrap{overflow:auto;background:#fff;border:1px solid var(--line);border-radius:16px}table{width:100%;border-collapse:collapse}th,td{padding:15px 17px;text-align:left;border-bottom:1px solid var(--line);vertical-align:top}th{font-size:12px;text-transform:uppercase;letter-spacing:.5px;color:#778196}td small{display:block;color:#8a94a6}.actions{display:flex;gap:12px;flex-wrap:wrap}.actions a{color:var(--accent);text-decoration:none}.builder{display:grid;grid-template-columns:minmax(0,1fr) 370px;gap:22px}.sticky{position:sticky;top:145px;align-self:start}.qcard{display:grid;grid-template-columns:40px 1fr auto;gap:14px;margin-bottom:14px}.qnum{width:34px;height:34px;border-radius:10px;background:#edf1ff;color:var(--accent);display:grid;place-items:center;font-weight:800}.qcard h3{margin:3px 0}.miniopt{padding:5px 0;color:#59657a}.danger{color:var(--bad);text-decoration:none}.auth{min-height:calc(100vh - 150px);display:grid;place-items:center;padding:30px}.auth .card{width:min(680px,100%)}.auth .narrow{width:min(430px,100%)}.alert{padding:11px 13px;border-radius:10px;margin:12px 0}.alert.bad{background:#ffeded;color:#9c2c2c}.hero,.surveyhead{padding:28px 0}.surveyhead{max-width:800px;margin:auto}.surveyform{max-width:800px;margin:auto}.question{margin-bottom:17px}.question h2{font-size:20px;margin:10px 0 18px}.qtop{display:flex;justify-content:space-between;color:#7c879a;font-size:12px}.qtop b{color:var(--bad)}.option{display:flex;align-items:center;gap:12px;padding:12px;border:1px solid var(--line);border-radius:11px;margin:9px 0;font-weight:500;cursor:pointer}.option:hover{background:#f8f9fc}.scale{display:flex;gap:10px}.scale label{margin:0}.scale input{position:absolute;opacity:0}.scale span{width:48px;height:48px;border:1px solid var(--line);border-radius:12px;display:grid;place-items:center;cursor:pointer}.scale input:checked+span{background:var(--accent);color:#fff;border-color:var(--accent)}.result{max-width:650px;margin:50px auto;text-align:center}.score{font-size:72px;font-weight:900;letter-spacing:-4px;margin:15px}.ok{color:var(--good)}.no{color:var(--bad)}.empty{text-align:center;color:var(--muted)}footer{text-align:center;color:#8a94a6;padding:25px} @media(max-width:800px){.builder{grid-template-columns:1fr}.sticky{position:static}.grid2,.stats{grid-template-columns:1fr}.pagehead{align-items:flex-start;flex-direction:column}.wrap{padding:24px 14px 60px}.top{padding:0 16px}.nav{padding:12px 16px}.pagehead h1,.hero h1,.surveyhead h1{font-size:30px}.qcard{grid-template-columns:34px 1fr}.qcard>.danger{grid-column:2}.top-right span{display:none}}
/* SurveyBox 1.1 public experience */
.head-actions,.qactions,.aside-title{display:flex;align-items:center;gap:10px}.aside-title{justify-content:space-between}.aside-title h2{margin:4px 0 18px}.aside-title>a{text-decoration:none;font-size:26px;color:var(--muted)}.q-tags{display:flex;gap:7px;flex-wrap:wrap}.q-tags span{font-size:11px;font-weight:750;background:#f1f4f9;color:#667085;border-radius:99px;padding:4px 8px}.qactions{align-content:flex-start;justify-content:flex-end;flex-wrap:wrap}.qactions a{font-size:13px;text-decoration:none;color:var(--accent)}.qactions .danger{color:var(--bad)}.correct-box{background:#f7f9fd;border:1px solid var(--line);padding:13px;border-radius:12px;margin-bottom:16px}.correct-box p{margin:3px 0 10px}.correct-choice{display:flex;align-items:center;gap:8px;margin:8px 0;font-weight:500}.correct-choice input{width:auto;margin:0}.inline-check{align-self:end;padding-bottom:10px}.full{width:100%}
.public-shell{max-width:860px;margin:0 auto;padding-bottom:25px}.public-hero{text-align:center;padding:46px 20px 30px}.public-mark{width:58px;height:58px;border-radius:18px;background:linear-gradient(145deg,#315bea,#6947d9);color:#fff;display:grid;place-items:center;margin:0 auto 20px;font-size:25px;font-weight:900;box-shadow:0 12px 30px rgba(49,91,234,.22)}.public-type{display:inline-flex;background:#eaf0ff;color:#3454b5;border-radius:99px;padding:6px 12px;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.6px}.public-hero h1{font-size:42px;line-height:1.08;letter-spacing:-1.4px;margin:14px auto 12px;max-width:760px}.public-hero>p{font-size:17px;color:var(--muted);max-width:680px;margin:0 auto}.public-meta{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;margin-top:23px}.public-meta span{background:#fff;border:1px solid var(--line);padding:9px 13px;border-radius:12px;color:var(--muted);box-shadow:0 3px 12px rgba(29,43,76,.04)}.public-meta b{color:var(--text)}.welcome-note{max-width:680px;margin:20px auto 0;padding:15px 17px;border-radius:14px;background:#fff;border:1px solid var(--line);text-align:left;color:#566176}.surveyform.modern{max-width:760px}.progress-wrap{margin:0 2px 20px}.progress-label{display:flex;justify-content:space-between;color:var(--muted);font-size:13px;margin-bottom:8px}.progress-label b{color:var(--text)}.progress{height:8px;background:#e4e8f0;border-radius:99px;overflow:hidden}.progress i{display:block;height:100%;width:0;background:linear-gradient(90deg,#315bea,#704ee4);border-radius:inherit;transition:width .25s}.timerbar{position:sticky;top:78px;z-index:15;display:flex;justify-content:space-between;align-items:center;background:#172033;color:#fff;border-radius:13px;padding:11px 15px;margin-bottom:16px;box-shadow:0 10px 30px rgba(15,23,42,.14)}.timerbar span{color:#cdd5e5;font-size:13px}.timerbar b{font-variant-numeric:tabular-nums;font-size:17px}.timerbar.warning{background:#8c3b2f}.question-card{background:#fff;border:1px solid #e2e7f0;border-radius:22px;padding:28px;margin-bottom:16px;box-shadow:0 10px 34px rgba(30,42,70,.055);transition:border .2s,box-shadow .2s}.question-card:focus-within{border-color:#b7c5f4;box-shadow:0 12px 38px rgba(49,91,234,.09)}.question-top{display:flex;justify-content:space-between;gap:15px;align-items:center}.question-index{text-transform:uppercase;letter-spacing:.8px;font-size:11px;font-weight:850;color:#71809a}.required-pill{font-size:11px;font-weight:750;color:#a43e3e;background:#fff0f0;border-radius:99px;padding:5px 9px}.question-card h2{font-size:21px;line-height:1.35;letter-spacing:-.3px;margin:9px 0 20px}.options-list{display:grid;gap:10px}.modern-option{position:relative;display:flex;align-items:center;gap:13px;padding:14px 15px;border:1px solid #dfe5ee;border-radius:14px;margin:0;font-weight:550;cursor:pointer;transition:.16s;background:#fff}.modern-option:hover{border-color:#aebde9;background:#fafbff}.modern-option input{position:absolute;opacity:0;pointer-events:none}.choice-mark{width:22px;height:22px;flex:0 0 22px;border:2px solid #c7cfdd;border-radius:50%;display:grid;place-items:center}.modern-option input[type=checkbox]+.choice-mark{border-radius:7px}.modern-option input:checked+.choice-mark{border-color:var(--accent);background:var(--accent);box-shadow:inset 0 0 0 5px #fff}.modern-option input[type=checkbox]:checked+.choice-mark{box-shadow:none}.modern-option input[type=checkbox]:checked+.choice-mark:after{content:'✓';color:#fff;font-size:14px;font-weight:900}.modern-option:has(input:checked){border-color:#8da4ef;background:#f5f7ff}.choice-text{flex:1}.answer-text,.large-input{border-radius:14px;padding:14px 15px;font-size:16px;background:#fbfcfe}.modern-scale{display:grid;grid-template-columns:repeat(5,1fr);gap:10px}.modern-scale label{width:100%}.modern-scale span{width:100%;height:56px;border-radius:14px;font-size:17px;font-weight:800}.scale-caption{display:flex;justify-content:space-between;color:#8a94a6;font-size:11px;margin-top:7px}.submit-card{display:flex;align-items:center;justify-content:space-between;gap:20px;background:#172033;color:#fff;border-radius:20px;padding:21px 22px;margin-top:22px}.submit-card div{display:grid}.submit-card span{color:#b9c2d2;font-size:13px}.submit-card .btn span{color:#fff;font-size:18px;margin-left:9px}.state-card,.result-card{max-width:680px;margin:55px auto;background:#fff;border:1px solid var(--line);border-radius:24px;padding:38px;text-align:center;box-shadow:var(--shadow)}.state-icon,.result-icon{width:64px;height:64px;border-radius:20px;display:grid;place-items:center;margin:0 auto 17px;background:#eef2ff;color:var(--accent);font-size:28px;font-weight:900}.result-icon.pass{background:#e8f7ef;color:var(--good)}.result-icon.fail{background:#fff0ef;color:var(--bad)}.result-card h1{font-size:29px;margin:8px 0 25px}.score-ring{--score:0;width:180px;height:180px;border-radius:50%;margin:0 auto 22px;background:conic-gradient(var(--accent) calc(var(--score)*1%),#e8ecf3 0);display:grid;place-items:center;position:relative}.score-ring:before{content:'';position:absolute;inset:13px;border-radius:50%;background:#fff}.score-ring>div{position:relative;display:grid}.score-ring b{font-size:44px;letter-spacing:-2px}.score-ring span{font-size:12px;color:var(--muted)}.result-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:24px 0}.result-stats div{background:#f7f9fc;border-radius:14px;padding:14px 8px;display:grid}.result-stats b{font-size:18px}.result-stats span{font-size:11px;color:var(--muted)}.result-lead{color:var(--muted);font-size:16px}.identity{border-style:dashed}
@media(max-width:800px){.public-hero{padding:32px 4px 24px}.public-hero h1{font-size:32px}.question-card{padding:21px 17px;border-radius:18px}.question-card h2{font-size:19px}.submit-card{align-items:stretch;flex-direction:column}.submit-card .btn{width:100%}.timerbar{top:76px}.qactions{grid-column:2;justify-content:flex-start}.result-stats{grid-template-columns:1fr 1fr}.result-stats div:last-child{grid-column:1/-1}.state-card,.result-card{padding:28px 18px;margin:28px auto}.modern-scale{gap:6px}.modern-scale span{height:50px}.head-actions{width:100%;flex-wrap:wrap}}
.bank-row{display:flex;justify-content:space-between;gap:20px;padding:18px 0;border-bottom:1px solid var(--line)}.bank-row:last-child{border-bottom:0}.bank-row h3{margin:8px 0}.bank-picker{margin-bottom:18px}.bank-mini-list{display:grid;gap:8px;max-height:300px;overflow:auto}.bank-mini-list a{display:grid;gap:4px;padding:12px;border:1px solid var(--line);border-radius:12px;text-decoration:none;color:inherit;background:var(--soft)}.bank-mini-list a:hover{border-color:var(--primary)}.bank-mini-list span{font-size:12px;color:var(--muted)}.analytics-list{display:grid;gap:15px}.analytic-row{display:grid;grid-template-columns:minmax(220px,1fr) minmax(160px,280px) 55px;gap:16px;align-items:center}.analytic-row div:first-child{display:grid;gap:4px}.analytic-row span{font-size:13px;color:var(--muted)}.rate{height:9px;border-radius:99px;background:var(--soft);overflow:hidden}.rate i{display:block;height:100%;background:var(--primary);border-radius:inherit}@media(max-width:760px){.analytic-row{grid-template-columns:1fr 50px}.analytic-row .rate{grid-row:2;grid-column:1/3}.bank-row{align-items:flex-start}.nav{overflow:auto;white-space:nowrap}}

/* SurveyBox 2.0 */
:root{--bg:#f4f6fb;--surface:#fff;--surface2:#f8fafc;--text:#172033;--muted:#697386;--line:#e5e9f2;--accent:#5b5bd6;--accent2:#7777e8;--success:#15966a;--danger:#d9485f;--shadow:0 18px 50px rgba(26,34,56,.08);--radius:18px}.dark{--bg:#0d111a;--surface:#151b27;--surface2:#101620;--text:#eef2f8;--muted:#9aa5b6;--line:#273142;--accent:#8b8bf4;--accent2:#a3a3ff;--shadow:0 18px 50px rgba(0,0,0,.28)}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);transition:background .2s,color .2s}.top{position:sticky;top:0;z-index:30;background:color-mix(in srgb,var(--surface) 88%,transparent);backdrop-filter:blur(18px);border-bottom:1px solid var(--line);height:68px}.brand{display:flex;gap:10px;align-items:center;font-weight:800}.brand-dot{display:grid;place-items:center;width:34px;height:34px;border-radius:11px;background:linear-gradient(135deg,var(--accent),#8c5cf5);color:#fff}.iconbtn{border:1px solid var(--line);background:var(--surface);color:var(--text);border-radius:12px;width:38px;height:38px;cursor:pointer}.user-chip{padding:8px 12px;background:var(--surface2);border:1px solid var(--line);border-radius:999px}.admin-layout{display:grid;grid-template-columns:230px 1fr;min-height:calc(100vh - 68px)}.sidebar{position:sticky;top:68px;height:calc(100vh - 68px);padding:22px 14px;border-right:1px solid var(--line);background:var(--surface)}.sidebar a{display:flex;gap:11px;align-items:center;padding:11px 13px;border-radius:12px;color:var(--muted);text-decoration:none;margin:3px 0}.sidebar a:hover{background:var(--surface2);color:var(--text)}.side-label{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);padding:14px 13px 7px}.admin-main{width:min(1250px,100%);padding:32px}.card,.question-card,.state-card,.public-hero,.submit-card{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:var(--radius)}.stats{grid-template-columns:repeat(4,1fr)}.stat{border:1px solid var(--line);border-radius:16px;background:var(--surface);box-shadow:none}.stat b{font-size:32px}.dashboard-grid{display:grid;grid-template-columns:1.4fr .8fr;gap:18px}.metric-list{display:grid;gap:12px}.metric-row{display:grid;grid-template-columns:1fr auto;gap:10px;padding:12px 0;border-bottom:1px solid var(--line)}.metric-row:last-child{border:0}.badge{display:inline-flex;padding:5px 9px;border-radius:999px;background:var(--surface2);border:1px solid var(--line);font-size:12px}.badge.success{color:var(--success)}.badge.danger{color:var(--danger)}.table-modern{width:100%;border-collapse:collapse}.table-modern th,.table-modern td{text-align:left;padding:13px;border-bottom:1px solid var(--line)}.table-modern th{font-size:12px;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}.portal-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.assignment-card{padding:20px;background:var(--surface);border:1px solid var(--line);border-radius:16px}.assignment-card h3{margin:8px 0}.due{font-size:13px;color:var(--muted)}.api-code{background:#0b1020;color:#dbe7ff;padding:16px;border-radius:14px;overflow:auto;font:13px/1.6 ui-monospace,monospace}.public-shell{max-width:850px}.public-hero{padding:34px}.question-card{transition:transform .2s,border-color .2s}.modern-option{border:1px solid var(--line);background:var(--surface2)}.modern-option:has(input:checked){border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 14%,transparent)}.progress i{background:linear-gradient(90deg,var(--accent),#8c5cf5)}.btn.primary{background:linear-gradient(135deg,var(--accent),#7558e8);border:0}.certificate{max-width:850px;margin:30px auto;padding:55px;background:var(--surface);border:8px double var(--line);text-align:center}.certificate h1{font-size:40px}.certificate .score{font-size:56px;font-weight:800;color:var(--accent)}@media(max-width:900px){.admin-layout{display:block}.sidebar{position:static;height:auto;display:flex;overflow:auto;border-right:0;border-bottom:1px solid var(--line);padding:8px}.sidebar .side-label{display:none}.sidebar a{white-space:nowrap}.admin-main{padding:20px}.stats{grid-template-columns:repeat(2,1fr)}.dashboard-grid,.portal-grid{grid-template-columns:1fr}}@media(max-width:600px){.top{height:60px}.user-chip{display:none}.admin-main,.wrap{padding-left:14px;padding-right:14px}.public-hero,.question-card,.submit-card{border-radius:15px;padding:20px}.stats{grid-template-columns:1fr 1fr}.pagehead{align-items:flex-start}.pagehead h1{font-size:28px}.certificate{padding:25px}.certificate h1{font-size:28px}}
