:root{--navy:#06162d;--navy2:#0b2442;--blue:#1688ff;--cyan:#19c7ff;--green:#18b978;--red:#ef5360;--yellow:#ffb21a;--purple:#8057e8;--ink:#142544;--muted:#72819b;--bg:#f6f9fd;--line:#e4ebf4;--card:#fff;--shadow:0 10px 34px rgba(25,58,96,.08)}*{box-sizing:border-box}html,body{margin:0;font-family:Inter,"Segoe UI",Arial,sans-serif;color:var(--ink);background:var(--bg)}body{min-height:100vh}a{text-decoration:none;color:inherit}button,input,select,textarea{font:inherit}.icon{width:19px;height:19px;display:inline-block;vertical-align:middle;flex:0 0 auto}.btn{border:0;border-radius:11px;padding:11px 16px;font-weight:700;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:8px;transition:.2s ease;white-space:nowrap}.btn:hover{transform:translateY(-1px)}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.btn-primary{background:linear-gradient(135deg,var(--theme-primary,var(--blue)),var(--theme-accent,var(--cyan)));color:#fff;box-shadow:0 9px 22px rgba(22,136,255,.22)}.btn-dark{background:#0d2747;color:#fff}.btn-soft{background:#eef6ff;color:#116fcb}.btn-danger{background:#fff0f2;color:#c43b48}.btn-success{background:#e9fbf3;color:#0d8856}.btn-outline{background:#fff;border:1px solid #ccd8e7;color:#315170}.btn-sm{padding:8px 11px;border-radius:9px;font-size:13px}.field{display:flex;flex-direction:column;gap:7px}.field label{font-size:12px;font-weight:700;color:#4c607a}.input,.select,.textarea{width:100%;border:1px solid #d8e2ee;background:#fff;border-radius:10px;padding:11px 12px;outline:none;color:#183150}.input:focus,.select:focus,.textarea:focus{border-color:#1688ff;box-shadow:0 0 0 3px rgba(22,136,255,.10)}.textarea{min-height:110px;resize:vertical}.grid{display:grid;gap:16px}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}.card{background:var(--card);border:1px solid #e2eaf4;border-radius:14px;box-shadow:var(--shadow);padding:18px}.card h3{margin:0}.muted{color:var(--muted)}.tiny{font-size:12px}.badge{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:5px 10px;font-size:11px;font-weight:800;white-space:nowrap}.badge.easy{background:#dcf8e9;color:#15915e}.badge.medium{background:#fff0c8;color:#b27800}.badge.hard{background:#ffe3e6;color:#d53846}.badge.blue{background:#eaf4ff;color:#176ebd}.flash{padding:12px 14px;border-radius:10px;margin:0 0 14px;font-size:14px}.flash.success{background:#eafbf3;color:#117c51;border:1px solid #c8f2df}.flash.error{background:#fff0f1;color:#b8323f;border:1px solid #ffd2d6}.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:12px}.table-wrap.borderless{border:0;border-radius:0}.table{width:100%;border-collapse:collapse;background:#fff}.table th,.table td{padding:11px 12px;border-bottom:1px solid #e7edf5;text-align:left;white-space:nowrap;font-size:12px}.table th{background:#f4f7fb;color:#334a67;font-size:11px;font-weight:800}.table tr:last-child td{border-bottom:0}.actions{display:flex;gap:3px;align-items:center}.actions form{margin:0}.action{width:30px;height:30px;border-radius:8px;border:0;background:transparent;display:grid;place-items:center;cursor:pointer;color:#56718e;padding:0}.action:hover{background:#edf6ff;color:#1179d7}.action.view{color:#1688ff}.action.edit{color:#71839a}.action.delete{color:#ff4f5f}.action svg{width:16px;height:16px}.page-title{display:flex;align-items:flex-end;justify-content:space-between;gap:15px;margin-bottom:18px}.page-title h1{font-size:27px;margin:0}.page-title p{margin:5px 0 0;color:var(--muted)}.form-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:18px}.check-row{display:flex;align-items:flex-start;gap:10px}.check-row input{margin-top:4px}.empty-state{text-align:center!important;padding:28px!important;color:#8a99ad!important}.eyebrow{font-size:11px;font-weight:900;letter-spacing:.14em;color:#54b7ff}
/* STUDENT LOGIN */
.login-body{min-height:100vh;background:radial-gradient(circle at 76% 13%,#174c78 0,#071a33 43%,#020a16 100%);color:#fff;position:relative;overflow-x:hidden}.login-body:before{content:"";position:fixed;inset:0;background-image:linear-gradient(rgba(61,157,225,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(61,157,225,.07) 1px,transparent 1px);background-size:48px 48px;mask-image:linear-gradient(to bottom,rgba(0,0,0,.9),transparent 90%)}.login-body:after{content:"";position:fixed;width:680px;height:680px;border-radius:50%;left:-290px;bottom:-420px;background:radial-gradient(circle at 55% 25%,#2d9af2,#062246 45%,#020914 70%);box-shadow:0 0 90px rgba(27,148,255,.24);opacity:.75}.stars{position:fixed;inset:0;pointer-events:none;background-image:radial-gradient(circle,#fff 1px,transparent 1px),radial-gradient(circle,#5ebfff 1px,transparent 1px);background-size:113px 113px,173px 173px;background-position:0 0,38px 22px;opacity:.25}.login-shell{min-height:100vh;display:grid;grid-template-columns:1fr .95fr;position:relative;z-index:2;max-width:1320px;margin:auto;padding:44px 54px;align-items:center;gap:70px}.login-brand{padding-left:25px}.login-brand img{width:245px;max-width:74%;filter:drop-shadow(0 14px 35px rgba(0,0,0,.45));background:#fff;border-radius:16px;padding:8px}.login-brand .slogan{margin-top:20px;color:#ffc345}.login-brand h1{font-size:54px;line-height:1.04;margin:28px 0 16px;max-width:560px}.login-brand h1 span{display:block;color:#1ec8ff;font-style:italic}.login-brand p{font-size:17px;line-height:1.6;color:#b6cee6;max-width:510px}.login-card{background:linear-gradient(180deg,rgba(13,44,79,.94),rgba(6,28,53,.95));border:1px solid #3785c2;border-radius:24px;padding:40px 42px;box-shadow:0 27px 80px rgba(0,0,0,.48),0 0 55px rgba(22,136,255,.13)}.login-card h2{font-size:38px;margin:0 0 9px;text-align:center}.login-card .sub{color:#a9c2dc;margin:0 0 27px;text-align:center}.login-card .field label{color:#9cb8d4}.login-card .input{background:#0a213e;border-color:#315679;color:#fff;padding:15px}.login-card .input::placeholder{color:#7590aa}.login-card .btn{width:100%;padding:15px;font-size:17px}.login-features{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:26px}.login-feature{border:1px solid #285278;background:#09213e;padding:13px 8px;border-radius:13px;text-align:center;color:#bcd2e8;font-size:17px}.login-feature b{display:block;color:#fff;font-size:12px;margin-top:5px}.slogan{font-size:16px;font-weight:800;letter-spacing:.04em;color:#f4c44d}
/* ADMIN LOGIN */
.admin-login-body{min-height:100vh;background:radial-gradient(circle at 67% 22%,#164d78,#061b35 47%,#020b18);position:relative;color:#fff;overflow:hidden}.admin-login-body:before{content:"";position:fixed;inset:0;background-image:linear-gradient(rgba(79,164,224,.09) 1px,transparent 1px),linear-gradient(90deg,rgba(79,164,224,.09) 1px,transparent 1px);background-size:48px 48px}.admin-login-orbit{position:fixed;width:520px;height:520px;border-radius:50%;border:1px solid rgba(85,180,255,.09);right:-90px;top:-120px;box-shadow:0 0 100px rgba(22,136,255,.12)}.admin-login-wrap{min-height:100vh;display:grid;place-items:center;padding:28px;position:relative;z-index:2}.admin-login-card{width:min(430px,100%);padding:30px 32px 26px;background:rgba(7,31,58,.94);border:1px solid #2c648f;border-radius:22px;box-shadow:0 28px 80px rgba(0,0,0,.42)}.admin-login-logo{text-align:center;margin-bottom:18px}.admin-login-logo img{width:155px;background:#fff;padding:7px;border-radius:12px}.admin-login-card h1{font-size:30px;margin:7px 0 5px}.admin-login-card>p{margin:0 0 20px;color:#a6bfd7}.admin-login-card .field{margin-bottom:13px}.admin-login-card label{color:#a9c0d7}.input-icon{position:relative}.input-icon>svg{position:absolute;left:13px;top:50%;transform:translateY(-50%);color:#86a9c9;z-index:2}.input-icon .input{padding-left:42px;background:#071b32;border-color:#285071;color:#fff}.admin-login-submit{width:100%;margin-top:4px;padding:14px}.admin-login-foot{text-align:center;border-top:1px solid rgba(255,255,255,.08);margin-top:22px;padding-top:18px;font-size:12px;color:#6f93b4}.setup-alert{display:flex;flex-direction:column;gap:3px;padding:11px 12px;border-radius:10px;background:#fff3cf;color:#6e5200;margin-bottom:15px;font-size:13px}.setup-alert a{text-decoration:underline}
/* ADMIN SAAS */
.admin-body{background:#f7faff}.admin-layout{min-height:100vh;display:grid;grid-template-columns:245px minmax(0,1fr)}.sidebar{background:radial-gradient(circle at 50% 94%,#0f3458,#061932 48%,#041226);color:#dbe8f5;padding:17px 12px 16px;position:sticky;top:0;height:100vh;overflow:auto;z-index:20}.sidebar:after{content:"";position:absolute;inset:auto 0 0;height:270px;background:radial-gradient(circle at 35% 100%,rgba(29,129,221,.18),transparent 55%);pointer-events:none}.side-logo{position:relative;z-index:1;padding:5px 10px 17px;border-bottom:1px solid rgba(255,255,255,.08);margin-bottom:13px;text-align:center}.side-logo img{width:150px;max-width:100%;background:#fff;padding:5px;border-radius:10px}.side-logo small{display:block;color:#7fa5c6;font-size:10px;margin-top:8px}.nav{display:flex;flex-direction:column;gap:4px;position:relative;z-index:1}.nav a{display:flex;align-items:center;gap:11px;padding:11px 13px;border-radius:10px;color:#d9e6f3;font-size:14px;font-weight:600;transition:.18s}.nav a:hover{background:rgba(28,130,226,.15)}.nav a.active{background:linear-gradient(90deg,var(--theme-primary,var(--blue)),var(--theme-accent,var(--cyan)));color:#fff;box-shadow:0 7px 18px rgba(5,130,246,.22)}.nav a svg{width:20px;height:20px}.sidebar-motto{position:relative;z-index:1;margin:28px 14px 15px;color:#a5c5e2;font-size:13px;font-style:italic;line-height:1.55}.sidebar-motto span{color:#ffd151}.sidebar-footer{position:relative;z-index:1;margin-top:12px;padding:12px;border-top:1px solid rgba(255,255,255,.07)}.sidebar-footer a{display:flex;align-items:center;gap:10px;color:#8fb0cf;font-size:13px}.main{min-width:0}.topbar{height:72px;background:#fff;border-bottom:1px solid #e4ebf4;display:flex;align-items:center;justify-content:flex-end;gap:18px;padding:0 24px;position:sticky;top:0;z-index:15}.top-search{width:min(340px,38vw);height:40px;border:1px solid #dce5f0;border-radius:10px;display:flex;align-items:center;gap:9px;padding:0 12px;background:#fbfdff;margin-right:auto}.top-search svg{color:#163d7b}.top-search input{border:0;outline:0;background:transparent;width:100%;color:#263e5c}.top-search input::placeholder{color:#91a0b3}.top-actions{display:flex;align-items:center;gap:15px}.icon-button{width:39px;height:39px;border:0;background:transparent;color:#193b70;display:grid;place-items:center;position:relative;cursor:pointer}.icon-button .dot{position:absolute;right:5px;top:3px;width:9px;height:9px;border-radius:50%;background:#ff4050;border:2px solid #fff}.admin-profile{display:flex;align-items:center;gap:9px;padding-left:14px;border-left:1px solid #e6ecf4;min-width:190px}.admin-profile .avatar{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:#123c83;color:#fff;font-weight:800}.admin-profile div:nth-child(2){display:flex;flex-direction:column;line-height:1.2}.admin-profile b{font-size:13px;color:#123468}.admin-profile small{font-size:11px;color:#7d8da2;margin-top:3px}.admin-profile>svg{margin-left:auto;width:15px}.content{padding:22px 24px 30px;max-width:none}.dashboard-heading{display:flex;align-items:center;justify-content:space-between;margin:0 0 17px}.dashboard-heading h1{font-size:27px;margin:0;color:#102c59}.dashboard-heading p{margin:3px 0 0;color:#71829b;font-size:13px}.kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:15px}.kpi{position:relative;overflow:hidden;background:#fff;border:1px solid #dfe8f2;border-radius:13px;padding:16px 17px;box-shadow:0 7px 23px rgba(40,76,117,.05);display:flex;gap:13px;align-items:center;min-height:116px}.kpi-icon{width:55px;height:55px;border-radius:11px;display:grid;place-items:center;background:linear-gradient(135deg,#0b8bf9,#2879f4);color:#fff;box-shadow:0 7px 15px rgba(22,136,255,.18)}.kpi-icon svg{width:26px;height:26px}.kpi b{display:block;font-size:28px;color:#102d5f;line-height:1;margin:6px 0}.kpi small{color:#173c75;font-weight:800;font-size:12px}.kpi span{color:#8593a7;font-size:10px}.kpi-watermark{position:absolute;right:17px;bottom:19px;color:#e7eef7}.kpi-watermark svg{width:52px;height:52px}.kpi-green .kpi-icon{background:linear-gradient(135deg,#16be65,#09a54f)}.kpi-purple .kpi-icon{background:linear-gradient(135deg,#8c56e8,#743ee0)}.kpi-yellow .kpi-icon{background:linear-gradient(135deg,#ffb718,#f2a200)}.dashboard-columns{display:grid;grid-template-columns:minmax(0,.96fr) minmax(560px,1.04fr);gap:14px;align-items:start}.dashboard-left{display:grid;gap:14px}.dashboard-card{border-radius:13px;padding:16px}.card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px}.card-head>div:first-child{display:flex;gap:9px;align-items:flex-start}.head-icon{color:#1385f0;margin-top:1px}.head-icon svg{width:22px;height:22px}.card-head h3{font-size:17px;color:#102d5b}.card-head p{margin:3px 0 0;color:#71839b;font-size:11px}.student-name{display:flex;align-items:center;gap:8px}.mini-avatar{width:27px;height:27px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,#3c98ff,#176fe5);color:#fff;font-size:9px;font-weight:800}.pct.good{color:#0fad57}.pct.mid{color:#ef9900}.pct.bad{color:#ef4552}.activity-card{min-height:220px}.select-like{border:1px solid #d5e0ed;border-radius:9px;padding:8px 10px;color:#315274;font-size:11px;display:flex;align-items:center;gap:20px}.select-like svg{width:13px;height:13px}.chart-wrap{padding:5px 5px 0}.chart-wrap svg{width:100%;height:140px;overflow:visible}.chart-grid line{stroke:#dfe8f3;stroke-width:1}.chart-line{fill:none;stroke:#147ff0;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}.chart-dot{fill:#1688ff;stroke:#fff;stroke-width:2}.chart-labels{display:grid;grid-template-columns:repeat(7,1fr);font-size:9px;color:#8897a9;text-align:center;padding:0 3px}.game-builder{min-height:100%;padding:16px}.builder-filter-form{position:relative}.builder-step{display:grid;grid-template-columns:30px 1fr;gap:9px;align-items:start;margin-bottom:12px}.builder-step>span{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:#177ff0;color:#fff;font-weight:800}.builder-step h4{margin:3px 0 8px;color:#14376c;font-size:15px}.focus-box{display:flex;gap:10px;align-items:flex-start;background:#eaf5ff;border-radius:9px;padding:10px 11px;margin:-2px 0 13px 39px;color:#1674d2}.focus-box svg{margin-top:1px}.focus-box div{display:flex;flex-direction:column;gap:2px}.focus-box b{font-size:11px}.focus-box span{font-size:10px;line-height:1.35;color:#557491}.builder-step.second{margin-top:9px;margin-bottom:6px}.builder-filters{display:grid;grid-template-columns:1fr 1fr 1fr 1fr;gap:8px}.builder-filters .field label{font-size:10px;color:#183b71}.builder-filters .select{font-size:11px;padding:9px}.apply-filter{margin-top:8px}.builder-questions{margin-top:12px}.question-table-head,.question-table-row{display:grid;grid-template-columns:25px 45px minmax(190px,1.6fr) minmax(145px,1fr) 70px;gap:7px;align-items:center}.question-table-head{background:#edf3f9;border-radius:8px;padding:8px 7px;font-size:9px;color:#23446d}.question-scroll{max-height:288px;overflow:auto}.question-table-row{padding:8px 7px;border-bottom:1px solid #e6edf5;cursor:pointer;font-size:9.5px}.question-table-row:hover{background:#f8fbff}.question-table-row input{accent-color:#1688ff}.qnum{font-weight:700;color:#43617f}.qtext{line-height:1.25;color:#263e5a}.qcat{display:flex;flex-direction:column;line-height:1.25;color:#345270}.qcat small{color:#7f90a3}.repeat-box{margin-top:11px;border-radius:9px;background:#eef7ff;padding:10px 11px;display:flex;align-items:center;justify-content:space-between;gap:12px}.repeat-box>div{display:flex;gap:8px;align-items:center;color:#1477d5}.repeat-box>div div{display:flex;flex-direction:column}.repeat-box b{font-size:10px;color:#234c73}.repeat-box span{font-size:9px;color:#7089a1;margin-top:2px}.repeat-box strong{background:#fff;border:1px solid #d9e4ef;padding:8px 10px;border-radius:8px;font-size:9px;color:#365572}.builder-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:11px}.builder-actions .btn{font-size:11px;padding:9px 13px}
/* generic admin list/form helpers */.filters{display:grid;grid-template-columns:repeat(4,minmax(150px,1fr));gap:10px;margin-bottom:14px}.question-list{display:flex;flex-direction:column;gap:8px;max-height:520px;overflow:auto}.q-select{border:1px solid #e0e7ef;border-radius:12px;padding:12px;display:grid;grid-template-columns:25px 1fr auto;gap:10px;align-items:flex-start;background:#fff}.q-select:hover{border-color:#9ecfff;background:#f8fbff}
/* STUDENT APP */
.student-body{background:radial-gradient(circle at 96% 0,#123b62,#06172e 49%,#030c19);min-height:100vh;color:#fff}.student-shell{display:grid;grid-template-columns:220px minmax(0,1fr);min-height:100vh}.student-app{min-width:0}.student-topbar{height:68px;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:0 20px;border-bottom:1px solid rgba(255,255,255,.08);background:#061831cc;backdrop-filter:blur(12px);position:sticky;top:0;z-index:10}.student-searchlike{width:min(450px,48vw);height:40px;border:1px solid #24547c;border-radius:10px;background:#082340;display:flex;align-items:center;gap:10px;padding:0 13px;color:#95b3d0;font-size:12px}.student-account{display:flex;align-items:center;gap:9px}.student-account>div:last-child{display:flex;flex-direction:column;line-height:1.2}.student-account b{font-size:12px}.student-account small{font-size:10px;color:#90abc5;margin-top:2px}.student-avatar{width:38px;height:38px;border-radius:50%;display:grid!important;place-items:center;background:linear-gradient(135deg,#23b4ff,#7157ef);font-weight:800}.student-bell{position:relative;width:36px;height:36px;border:0;background:transparent;color:#cce1f4;display:grid;place-items:center}.student-bell span{position:absolute;right:4px;top:3px;width:8px;height:8px;border-radius:50%;background:#f44657;border:2px solid #061831}.student-side-motto{margin:26px 13px 0;color:#80a6c7;font-size:12px;font-style:italic;line-height:1.55}.student-side{background:linear-gradient(180deg,#051831,#041327);border-right:1px solid rgba(255,255,255,.06);padding:17px 13px;position:sticky;top:0;height:100vh}.student-side img{width:150px;margin:6px 18px 21px;background:#fff;padding:5px;border-radius:10px}.student-side a{display:flex;align-items:center;gap:10px;padding:11px 12px;border-radius:10px;color:#c0d3e6;margin:4px 0;font-size:13px}.student-side a.active,.student-side a:hover{background:linear-gradient(90deg,#087ff4,#17b4ff);color:#fff}.student-main{padding:20px;min-width:0;max-width:1450px}.student-hero{background:radial-gradient(circle at 88% 40%,rgba(26,143,230,.35),transparent 27%),linear-gradient(120deg,#0f315e,#09213f);border:1px solid #1d5b8e;border-radius:17px;padding:25px 30px;display:flex;justify-content:space-between;align-items:center;margin-bottom:15px;box-shadow:0 18px 50px rgba(0,0,0,.3);min-height:165px}.student-hero h1{margin:8px 0 7px;font-size:34px}.student-hero p{margin:0;color:#a6c4df}.student-hero .btn{min-width:180px}.student-kpis{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin-bottom:15px}.student-kpi{background:#09223f;border:1px solid #1d4e76;border-radius:14px;padding:15px 16px;box-shadow:0 10px 28px rgba(0,0,0,.17)}.student-kpi b{font-size:25px;display:block;margin-top:5px}.student-kpi small{color:#a2bdd6}.student-card{background:#081e39;border:1px solid #1a466d;border-radius:15px;padding:17px;box-shadow:0 12px 35px rgba(0,0,0,.18)}.student-card h3{margin:0}.student-table{width:100%;border-collapse:collapse}.student-table th,.student-table td{padding:10px 11px;border-bottom:1px solid #173a59;text-align:left;font-size:11px}.student-table th{color:#8ba9c5;background:#0b2747}.correct-text{color:#30dd90!important;font-weight:800}.wrong-text{color:#ff6675!important;font-weight:800}.progress-line{height:8px;background:#173958;border-radius:999px;overflow:hidden}.progress-line span{height:100%;display:block;background:linear-gradient(90deg,#1688ff,#20d2ff);border-radius:999px}.category-row{display:grid;grid-template-columns:150px 1fr 45px;gap:10px;align-items:center;margin:13px 0;font-size:12px}
/* GAME */
.game-wrap{max-width:1040px;margin:auto;padding:28px}.game-top{display:grid;grid-template-columns:1.4fr repeat(3,1fr);gap:10px;margin-bottom:14px}.hud-box{background:#0a2341;border:1px solid #24507b;border-radius:13px;padding:12px}.hud-box small{display:block;color:#8db1d3}.hud-box b{font-size:21px}.game-card{background:#fff;color:var(--ink);border-radius:22px;padding:28px;box-shadow:0 25px 70px #0008}.game-card h2{font-size:24px;line-height:1.4}.options{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:20px 0}.option-btn{width:100%;text-align:left;padding:15px;border-radius:13px;border:2px solid #e0e7ef;background:#fff;cursor:pointer;color:#22374e}.option-btn:hover{border-color:#69b4ff;background:#f7fbff}.option-btn.correct{border-color:#23b879;background:#ecfff6}.option-btn.wrong{border-color:#df4e5a;background:#fff0f2}.feedback-box{padding:14px;border-radius:12px;margin:14px 0}.feedback-box.ok{background:#eafff5;color:#08784a}.feedback-box.no{background:#fff0f1;color:#b72d39}.hint-box{background:#fff7dd;border:1px solid #f1d887;color:#765900;border-radius:12px;padding:14px}.explain-box{background:#f2f7fc;border-radius:12px;padding:15px;margin-top:12px}.game-actions{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap}
@media(max-width:1250px){.dashboard-columns{grid-template-columns:1fr}.game-builder{min-height:auto}.kpis,.student-kpis{grid-template-columns:repeat(2,1fr)}}@media(max-width:1020px){.admin-layout,.student-shell{grid-template-columns:76px 1fr}.sidebar,.student-side{padding:14px 8px}.side-logo img,.side-logo small,.student-side img{display:none}.nav a span,.student-side a span,.sidebar-footer span,.sidebar-motto,.student-side-motto{display:none}.nav a,.student-side a{justify-content:center}.admin-profile div:nth-child(2){display:none}.admin-profile{min-width:auto}.builder-filters,.filters{grid-template-columns:repeat(2,1fr)}}@media(max-width:760px){.student-topbar{padding:0 12px}.student-searchlike{width:100%}.student-account>div:last-child{display:none}.login-shell{grid-template-columns:1fr;padding:22px}.login-brand{display:none}.login-card{padding:25px 22px}.login-card h2{font-size:31px}.admin-layout,.student-shell{grid-template-columns:1fr}.sidebar,.student-side{height:auto;position:static;display:flex;overflow:auto;padding:7px}.side-logo,.sidebar-footer{display:none}.nav{flex-direction:row}.nav a{min-width:48px}.topbar{padding:0 12px;height:62px}.top-search{width:100%}.top-actions{display:none}.content,.student-main{padding:14px}.dashboard-heading h1{font-size:22px}.kpis,.student-kpis,.grid-2,.grid-3,.grid-4,.filters,.builder-filters,.game-top{grid-template-columns:1fr}.options{grid-template-columns:1fr}.page-title{align-items:flex-start;flex-direction:column}.category-row{grid-template-columns:105px 1fr 40px}.question-table-head{display:none}.question-table-row{grid-template-columns:24px 48px 1fr}.question-table-row .qcat,.question-table-row .badge{display:none}.builder-actions{flex-direction:column}.builder-actions .btn{width:100%}.student-hero{align-items:flex-start;gap:18px;flex-direction:column}.student-hero .btn{width:100%}.login-features{grid-template-columns:1fr 1fr 1fr}}

.student-kpi span{display:block;color:#7697b6;font-size:10px;margin-top:4px}.student-kpi.accent-green{border-color:#13855f}.student-kpi.accent-red{border-color:#8d3d50}.student-kpi.accent-yellow{border-color:#9c7420}.student-kpi.accent-purple{border-color:#6c4aa8}.student-kpi.accent-blue{border-color:#236aa0}.student-dashboard-grid{display:grid;grid-template-columns:1.45fr 1.05fr .75fr;gap:12px;margin-bottom:15px}.student-card-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px}.student-card-head>div h3,.student-card-head h3{display:flex;align-items:center;gap:7px;font-size:14px}.student-card-head p{margin:3px 0 0;color:#7697b6;font-size:10px}.student-card-head>span{font-size:10px;color:#7d9ab5;border:1px solid #21486a;border-radius:8px;padding:6px 8px}.student-chart svg{width:100%;height:160px}.student-chart-grid line{stroke:#173d60;stroke-width:1}.student-chart-line{fill:none;stroke:#24a6ff;stroke-width:2.5}.student-chart-dot{fill:#20d2ff;stroke:#09203b;stroke-width:2}.student-chart-labels{display:flex;justify-content:space-between;font-size:8px;color:#6f90ae}.achievement-list{display:grid;gap:9px}.achievement{border:1px solid #1d4264;border-radius:11px;padding:10px;display:grid;grid-template-columns:34px 1fr;column-gap:8px;opacity:.55}.achievement>span{grid-row:1/3;width:32px;height:32px;border-radius:10px;display:grid;place-items:center;background:#122e4d;color:#82a5c5}.achievement b{font-size:10px}.achievement small{font-size:8px;color:#7899b6}.achievement.earned{opacity:1;border-color:#3375a5}.achievement.earned>span{background:linear-gradient(135deg,#ffb426,#ff7b23);color:#fff}.achievements-card blockquote{margin:12px 0 0;border:1px solid #1b456b;border-radius:10px;padding:11px;color:#8fb3d3;font-size:10px;font-style:italic}.empty-student{padding:34px;text-align:center;color:#7899b6;font-size:11px}.recent-card{margin-top:0}.performance-card,.category-card,.achievements-card{min-height:270px}
@media(max-width:1250px){.student-dashboard-grid{grid-template-columns:1fr 1fr}.achievements-card{grid-column:1/-1}.achievement-list{grid-template-columns:repeat(3,1fr)}}
@media(max-width:760px){.student-dashboard-grid{grid-template-columns:1fr}.achievements-card{grid-column:auto}.achievement-list{grid-template-columns:1fr}}

/* =========================================================
   V1.0.3 — FIDELIDADE AOS MOCKUPS APROVADOS
   ========================================================= */

/* LOGIN PÚBLICO — reconstruído em HTML/CSS real */
.login-rebuilt{min-height:100vh;background:#020d26;position:relative;overflow-x:hidden}
.login-bg{position:fixed;inset:0;background:linear-gradient(180deg,rgba(2,9,27,.08),rgba(2,9,27,.16)),var(--login-bg-desktop) center center/cover no-repeat;z-index:0}
.login-rebuilt:before{content:"";position:fixed;inset:0;background:radial-gradient(circle at 45% 38%,rgba(38,105,186,.18),transparent 34%),linear-gradient(90deg,rgba(2,10,32,.18),rgba(2,10,32,.06));z-index:1;pointer-events:none}
.login-stage{position:relative;z-index:2;min-height:100vh;padding:38px 56px 32px;display:grid;grid-template-columns:minmax(290px,460px) minmax(360px,480px) 1fr;grid-template-rows:1fr auto;grid-template-areas:"left form decor" "cards cards cards";align-items:center;column-gap:44px;row-gap:26px}
.login-scene-overlay{display:none}
.login-hero-left{grid-area:left;align-self:center;max-width:430px}
.login-brand-block{display:flex;flex-direction:column;align-items:flex-start;gap:10px;margin-bottom:28px}
.login-brand-logo{width:min(250px,100%);height:auto;display:block}
.login-brand-sub{font-size:15px;color:#d9e6f5;line-height:1.35}
.login-copy h2{margin:0;font-family:'Montserrat','Segoe UI',Arial,sans-serif;font-size:64px;line-height:1.02;color:#fff;font-weight:800;letter-spacing:-.035em}
.login-copy h2 span{position:relative;display:inline-block;margin-top:4px;color:var(--theme-accent,var(--cyan));font-family:'Caveat','Segoe Print',cursive;font-size:84px;line-height:.88;font-weight:700;letter-spacing:.005em;transform:rotate(-2deg)}
.login-copy h2 span:after{content:"";position:absolute;left:6%;right:2%;bottom:-7px;height:6px;border-radius:999px;background:#f7be34;transform:rotate(-3deg)}
.login-copy p{margin:24px 0 0;max-width:345px;font-family:'Montserrat','Segoe UI',Arial,sans-serif;font-size:18px;line-height:1.5;font-weight:500;color:#d3e1ef}
.login-card-rebuilt{grid-area:form;align-self:center;justify-self:center;width:min(100%,440px);padding:34px 34px 26px;background:linear-gradient(180deg,rgba(8,33,62,.95),rgba(5,24,47,.97));border:1px solid rgba(84,173,255,.75);border-radius:28px;box-shadow:0 30px 90px rgba(0,0,0,.46),0 0 56px rgba(31,154,255,.14)}
.login-card-rebuilt .login-kicker{text-align:center;font-size:13px;font-weight:800;letter-spacing:.2em;color:var(--theme-accent,var(--cyan));margin-bottom:10px}
.login-card-rebuilt h1{margin:0 0 10px;text-align:center;font-family:'Montserrat','Segoe UI',Arial,sans-serif;font-size:34px;line-height:1.08;color:#fff;font-weight:800;letter-spacing:-.02em}
.login-card-rebuilt .sub{max-width:350px;margin:0 auto 18px;text-align:center;font-family:'Montserrat','Segoe UI',Arial,sans-serif;color:#c7d8e8;font-size:14px;line-height:1.5;font-weight:500}
.login-form-rebuilt{display:grid;gap:12px}
.login-input-icon{position:relative;display:block}
.login-input-icon .icon{position:absolute;left:16px;top:50%;transform:translateY(-50%);width:20px;height:20px;color:#d7e9f8;z-index:2}
.login-form-rebuilt .input{height:56px;padding:0 16px 0 48px;background:rgba(14,42,74,.94);border:1px solid #456f96;border-radius:14px;color:#fff;font-size:17px;width:100%}
.login-form-rebuilt .input::placeholder{color:#a6bfd6}
.login-main-cta{height:56px;border-radius:14px!important;font-size:20px!important;font-weight:800;gap:10px!important;margin-top:2px}
.login-main-cta .icon{position:static;transform:none;width:18px;height:18px}
.login-official-slogan{margin-top:18px;padding-top:18px;border-top:1px solid rgba(255,255,255,.12);text-align:center;color:#ffd35d;font-size:15px;font-weight:800}
.login-bottom-cards{grid-area:cards;display:flex;justify-content:center;gap:24px;align-self:end;flex-wrap:wrap;padding-bottom:6px}
.login-stat-card{width:min(100%,240px);display:flex;gap:14px;align-items:flex-start;padding:18px 18px 20px;border-radius:22px;background:linear-gradient(180deg,rgba(9,27,52,.88),rgba(7,22,43,.94));border:1px solid rgba(78,136,192,.45);box-shadow:0 16px 34px rgba(0,0,0,.26);backdrop-filter:blur(8px)}
.login-stat-icon{width:58px;height:58px;border-radius:18px;display:grid;place-items:center;flex:0 0 58px;border:1px solid currentColor;background:rgba(255,255,255,.03)}
.login-stat-icon .icon{width:28px;height:28px}
.login-stat-icon.gold{color:#f3c74d}.login-stat-icon.cyan{color:#35d8ff}.login-stat-icon.purple{color:#c97cff}
.login-stat-card h3{margin:2px 0 6px;font-family:'Montserrat','Segoe UI',Arial,sans-serif;font-size:17px;color:#fff;font-weight:700}
.login-stat-card p{margin:0;font-family:'Montserrat','Segoe UI',Arial,sans-serif;font-size:14px;line-height:1.4;color:#ccdaea}
.login-decor{position:absolute;z-index:2;color:#d9ebff;pointer-events:none}
.login-decor.formula{right:210px;top:255px;font-size:52px;font-weight:800;color:#79b9ff;text-shadow:0 0 18px rgba(49,163,255,.35)}
.login-decor.left-note{left:44px;bottom:92px;max-width:180px;font-size:18px;line-height:1.15;font-family:'Caveat',cursive;color:#cfe1f5;transform:rotate(-7deg)}
.login-decor.right-note{right:84px;bottom:84px;max-width:220px;font-size:18px;line-height:1.15;font-family:'Caveat',cursive;color:#cfe1f5;transform:rotate(-6deg);text-align:left}
.login-decor.planet-note{right:72px;top:134px;max-width:120px;font-size:20px;line-height:1.05;font-family:'Caveat',cursive;color:#d2e7fb;transform:rotate(-10deg);text-align:center}

@media (max-width:1280px){
  .login-stage{padding:28px 34px 24px;grid-template-columns:minmax(260px,390px) minmax(340px,440px) 1fr;column-gap:28px}
  .login-copy h2{font-size:58px}.login-copy h2 span{font-size:78px}.login-copy p{font-size:17px}
  .login-decor.formula{right:140px;top:250px;font-size:42px}
}
@media (max-width:1024px){
  .login-stage{grid-template-columns:1fr;grid-template-areas:"left" "form" "cards";justify-items:center;align-content:start;padding:24px 20px 34px;row-gap:18px}
  .login-hero-left{max-width:620px;text-align:center;display:flex;flex-direction:column;align-items:center}
  .login-brand-block{align-items:center;margin-bottom:16px}
  .login-brand-logo{width:220px}
  .login-copy h2{font-size:52px}.login-copy h2 span{font-size:72px}
  .login-copy p{max-width:520px;font-size:18px}
  .login-card-rebuilt{width:min(100%,520px)}
  .login-bottom-cards{width:100%;gap:16px}
  .login-stat-card{width:calc(33.333% - 12px);min-width:220px}
  .login-decor.formula{right:82px;top:270px;font-size:40px}.login-decor.planet-note{right:32px;top:130px}.login-decor.right-note{right:28px;bottom:108px}
}
@media (max-width:760px){
  .login-bg{background:linear-gradient(180deg,rgba(1,8,25,.18),rgba(1,8,25,.38)),var(--login-bg-mobile) 72% center/cover no-repeat}
  .login-rebuilt:before{background:linear-gradient(180deg,rgba(1,9,28,.48),rgba(1,9,28,.18) 34%,rgba(1,9,28,.55) 100%)}
  .login-stage{min-height:100vh;padding:18px 14px 24px;grid-template-areas:"left" "form" "cards";grid-template-columns:1fr;align-content:start;row-gap:16px}
  .login-hero-left{width:100%;max-width:100%;align-items:flex-start;text-align:left;padding-top:6px}
  .login-brand-block{width:100%;align-items:flex-start;gap:6px;margin-bottom:10px}
  .login-brand-logo{width:170px}
  .login-brand-sub{font-size:13px}
  .login-copy{max-width:225px}
  .login-copy h2{font-size:42px;line-height:1.03}.login-copy h2 span{font-size:56px}
  .login-copy p{margin-top:10px;max-width:230px;font-size:16px}
  .login-card-rebuilt{width:100%;max-width:none;padding:24px 20px 22px;border-radius:24px;margin-top:6px}
  .login-card-rebuilt h1{font-size:32px}.login-card-rebuilt .sub{font-size:15px;max-width:none}.login-card-rebuilt .login-kicker{font-size:12px}
  .login-form-rebuilt{gap:10px}.login-form-rebuilt .input{height:58px;font-size:17px}.login-main-cta{height:58px;font-size:20px!important}
  .login-bottom-cards{justify-content:stretch;gap:12px;padding-bottom:0}.login-stat-card{width:100%;min-width:0;padding:18px}
  .login-stat-icon{width:56px;height:56px;flex-basis:56px}.login-stat-card h3{font-size:19px}.login-stat-card p{font-size:15px}
  .login-decor.formula{right:18px;top:210px;font-size:34px}.login-decor.planet-note{display:none}.login-decor.right-note{right:16px;bottom:178px;max-width:160px;font-size:16px}.login-decor.left-note{left:14px;bottom:220px;max-width:130px;font-size:16px}
}
@media (max-width:480px){
  .login-copy h2{font-size:38px}.login-copy h2 span{font-size:50px}
  .login-card-rebuilt{padding:22px 16px 18px}.login-card-rebuilt h1{font-size:30px}.login-main-cta{font-size:19px!important}
  .login-decor.formula{font-size:30px;top:218px;right:12px}.login-decor.left-note{bottom:250px;left:10px}.login-decor.right-note{bottom:188px;right:10px}
}
/* Fim login reconstruído */
/* ADMIN — sidebar escuro + workspace claro fiel ao SaaS aprovado */
.admin-body{background:#f6f9fd}
.admin-layout{grid-template-columns:255px minmax(0,1fr)}
.sidebar{background:linear-gradient(180deg,#071a35 0%,#061832 56%,#06172e 100%);padding:18px 13px 14px;border-right:1px solid #0e3156}
.side-logo{padding:2px 10px 18px;margin-bottom:13px;border-bottom:1px solid rgba(255,255,255,.065)}
.side-logo img{width:172px;background:transparent!important;padding:0!important;border-radius:0!important;filter:brightness(1.05)}
.side-logo small{font-size:9px;color:#8eacc9;letter-spacing:.015em}
.nav{gap:5px}
.nav a{height:47px;border-radius:10px;padding:0 14px;gap:12px;font-size:14px;font-weight:600}
.nav a.active{background:linear-gradient(90deg,#0c8dfc,#1aafff);box-shadow:0 8px 22px rgba(0,133,255,.26)}
.nav a svg{width:20px;height:20px}
.sidebar-motto{margin:24px 17px 0;font-size:13px;line-height:1.55;color:#a7c4df}
.sidebar-motto p{margin:5px 0 0}
.sidebar-space-art{height:120px;margin:5px -13px 0;background:url('../img/admin-sidebar-space.webp') bottom left/255px auto no-repeat;opacity:.78;pointer-events:none}
.sidebar-footer{margin-top:0}
.topbar{height:72px;padding:0 26px;background:#fff;box-shadow:0 1px 0 #e9eef5;position:sticky;top:0}
.top-search{width:min(370px,40vw);height:42px;border-radius:10px;background:#fbfdff}
.content{padding:22px 24px 34px}
.dashboard-heading{margin-bottom:17px}
.dashboard-heading h1{font-size:28px;color:#0b2854;letter-spacing:-.02em}
.dashboard-heading p{font-size:13px}
.dashboard-kpis{gap:14px;margin-bottom:16px}
.kpi{min-height:118px;border-radius:13px;padding:16px 18px;box-shadow:0 5px 18px rgba(45,78,114,.06)}
.kpi-icon{width:58px;height:58px;border-radius:12px}
.kpi b{font-size:30px}
.dashboard-columns{grid-template-columns:minmax(0,.94fr) minmax(570px,1.06fr);gap:14px}
.dashboard-card,.game-builder{border-radius:13px!important;border-color:#dfe8f3!important;box-shadow:0 5px 20px rgba(40,76,117,.055)!important}
.game-builder{background:#fff}
.question-table-head{background:#eef3f8}
.builder-actions .btn-primary{min-width:160px}
.readonly-pill{display:inline-flex;align-items:center;height:30px;padding:0 10px;border-radius:999px;background:#eef6ff;color:#1673cf;border:1px solid #cfe6fa;font-size:11px;font-weight:800}
.readonly-banner{display:flex;align-items:center;gap:8px;background:#eef6ff;color:#2b6798;border:1px solid #cfe6fa;border-radius:10px;padding:10px 12px;margin-bottom:14px;font-size:12px}
.readonly-admin .action.edit,.readonly-admin .action.delete,.readonly-admin .btn-danger{opacity:.28;pointer-events:none;filter:grayscale(1)}

/* CONFIGURAÇÕES / PERMISSÕES */
.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;align-items:start}

.design-card{grid-column:1/-1}
.design-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:14px}
.design-upload label{display:block;font-size:13px;font-weight:700;color:#163b70;margin-bottom:8px}
.design-preview{height:138px;border:1px dashed #cedaec;border-radius:16px;background:#f8fbff;display:flex;align-items:center;justify-content:center;overflow:hidden;margin-bottom:8px}
.design-preview.is-bg{height:168px}
.design-preview img{max-width:100%;max-height:100%;display:block}
.preview-empty{padding:18px;text-align:center;font-size:13px;color:#7290ae;line-height:1.45}
input[type=color].input{padding:8px;min-height:50px}

.settings-card{min-height:100%}
.settings-head{display:flex;align-items:center;gap:12px;border-bottom:1px solid #e7edf5;padding-bottom:14px;margin-bottom:16px}
.settings-head h3,.danger-head h3{margin:0;font-size:17px;color:#102f60}
.settings-head p,.danger-head p{margin:3px 0 0;color:#75869b;font-size:12px}
.settings-icon,.danger-icon{width:44px;height:44px;border-radius:12px;background:#eaf4ff;color:#1688ff;display:grid;place-items:center;flex:0 0 auto}
.access-card{border:1px solid #e0e9f3;border-radius:13px;padding:15px;margin-top:12px;background:#fbfdff}
.access-card h4{margin:5px 0 4px;color:#183b6c;font-size:15px}.access-card p{margin:0;color:#71829a;font-size:11px;line-height:1.45}
.access-role{display:inline-flex;border-radius:999px;padding:4px 8px;background:#e8f3ff;color:#1477d2;font-size:9px;font-weight:900;letter-spacing:.1em}
.master-access .access-role{background:#fff1cc;color:#a56a00}
.access-data{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:13px}.access-data label{display:none}
.password-masked{letter-spacing:.25em;color:#8a99aa!important}
.access-toggle-line{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}
.switch{display:grid;grid-template-columns:44px auto;align-items:center;gap:8px;cursor:pointer;font-size:11px;color:#34516e;white-space:nowrap}.switch input{display:none}.switch span{position:relative;width:44px;height:24px;border-radius:999px;background:#cad5e2;transition:.2s}.switch span:after{content:"";position:absolute;width:18px;height:18px;left:3px;top:3px;border-radius:50%;background:#fff;box-shadow:0 2px 7px #0002;transition:.2s}.switch input:checked+span{background:#1688ff}.switch input:checked+span:after{left:23px}
.danger-zone{margin-top:16px;border-color:#ffd5d9;background:#fffafb}.danger-head{display:flex;align-items:center;gap:12px;margin-bottom:16px}.danger-icon{background:#fff0f2;color:#d94755}.danger-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.danger-action{border:1px solid #ffd9dd;background:#fff;border-radius:13px;padding:15px;display:grid;gap:12px}.danger-action h4{margin:0 0 4px;color:#a72f3b}.danger-action p{margin:0;color:#7f6a6d;font-size:11px;line-height:1.5}.danger-full{border-color:#f6b7bd;background:#fff8f9}.readonly-danger{background:#f3f6fa;color:#6d7e91;border-radius:10px;padding:14px;font-size:12px}

/* ÁREA DO ALUNO — fidelidade ao mockup aprovado */
.student-body{background:linear-gradient(180deg,#071b35,#041327 70%,#03101f);color:#fff}
.student-shell{grid-template-columns:248px minmax(0,1fr)}
.student-side{padding:16px 12px;background:linear-gradient(180deg,#061a35,#041327);border-right:1px solid #113151;z-index:20}
.student-side-logo{text-align:center;padding:2px 8px 17px;border-bottom:1px solid rgba(255,255,255,.06);margin-bottom:12px}
.student-side-logo img{width:176px!important;margin:0!important;background:transparent!important;padding:0!important;border-radius:0!important}
.student-nav{display:flex;flex-direction:column;gap:4px}.student-nav a{height:46px;margin:0!important;padding:0 13px!important;border-radius:10px!important;font-size:14px!important;gap:12px!important}.student-nav a svg{width:21px;height:21px}
.student-side-motto{margin:27px 17px 0!important;font-size:13px!important;color:#9fc2df!important;line-height:1.55!important;font-style:italic;position:relative}.student-side-motto span{display:block;width:52px;height:3px;background:#19bfff;border-radius:99px;margin-top:9px;transform:rotate(-7deg)}
.student-topbar{height:70px;padding:0 24px;background:rgba(5,24,49,.96);border-bottom:1px solid #123657;box-shadow:0 1px 0 rgba(255,255,255,.02)}
.student-searchlike{width:min(455px,48vw);height:43px;background:#0b294b;border-color:#24557e;color:#abc0d5;font-size:13px}
.student-account{gap:10px}.student-account>svg{width:14px;color:#9eb5cb}.student-avatar{width:40px;height:40px}
.student-main{padding:18px 20px 28px;max-width:none}
.student-hero{position:relative;overflow:hidden;min-height:200px;padding:29px 38px;border-radius:17px;background:linear-gradient(90deg,#0f315b 0%,#0b294c 52%,rgba(7,31,59,.3) 100%),url('../img/student-hero-space.webp') right center/auto 100% no-repeat;border:1px solid #0c9bff;box-shadow:0 13px 36px rgba(0,0,0,.26);margin-bottom:16px}
.student-hero:after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 72% 50%,rgba(33,145,255,.12),transparent 35%);pointer-events:none}
.student-hero-copy{position:relative;z-index:2;max-width:540px}.student-hero h1{font-size:36px;margin:0 0 4px}.student-hero h2{font-size:22px;margin:0 0 10px;font-weight:500}.student-hero p{max-width:480px;font-size:13px;line-height:1.55;color:#bad0e5}.student-hero-slogan{margin-top:15px;color:#ffd152;font-size:12px;font-weight:800;letter-spacing:.04em}
.student-hero-action{position:relative;z-index:3;margin-left:auto;margin-right:34%;display:flex;flex-direction:column;align-items:center;gap:7px}.student-hero-action .btn{min-width:215px;height:58px;font-size:17px}.student-hero-action small{color:#abc2d8;font-size:10px}
.student-kpis{grid-template-columns:repeat(5,minmax(0,1fr));gap:13px;margin-bottom:16px}.student-kpi{min-height:118px;border-radius:14px;padding:14px 15px;background:#092440;display:flex;align-items:center;gap:12px}.student-kpi-icon{width:52px;height:52px;border-radius:50%;display:grid;place-items:center;border:2px solid currentColor;background:rgba(255,255,255,.025);box-shadow:0 0 18px currentColor;flex:0 0 auto}.student-kpi-icon svg{width:23px;height:23px}.student-kpi>div:last-child{min-width:0}.student-kpi small{font-size:12px;color:#e9f4ff;font-weight:700}.student-kpi b{font-size:27px;line-height:1.1;margin:4px 0 1px}.student-kpi span{font-size:9.5px}.student-kpi.accent-green{color:#2de3a0;border-color:#0c9b73;background:linear-gradient(135deg,#073b38,#09243d)}.student-kpi.accent-red{color:#ff6675;border-color:#a33d51;background:linear-gradient(135deg,#3c1830,#09243d)}.student-kpi.accent-yellow{color:#ffd149;border-color:#a47b1d;background:linear-gradient(135deg,#3a3118,#09243d)}.student-kpi.accent-purple{color:#b078ff;border-color:#7651ba;background:linear-gradient(135deg,#28194b,#09243d)}.student-kpi.accent-blue{color:#4dbdff;border-color:#227caf;background:linear-gradient(135deg,#0b3553,#09243d)}
.student-dashboard-grid{grid-template-columns:1.46fr 1.05fr .78fr;gap:13px;margin-bottom:16px}.student-card{background:#09213d;border-color:#1e4d74;border-radius:14px;padding:16px}.performance-card,.category-card,.achievements-card{min-height:284px}.student-card-head h3{font-size:15px}.recent-card{margin-top:0}.student-table th{background:#0c2a4a;color:#b1c7da}.student-table td{font-size:10.5px}.student-table tr:hover td{background:#0a2745}.achievement{background:#0b2947}.achievements-card blockquote{background:#0c2b4b}

@media(max-width:1280px){.dashboard-columns{grid-template-columns:1fr}.student-dashboard-grid{grid-template-columns:1fr 1fr}.achievements-card{grid-column:1/-1}.student-hero-action{margin-right:26%}.settings-grid{grid-template-columns:1fr}}
@media(max-width:1020px){.student-shell,.admin-layout{grid-template-columns:80px 1fr}.student-side-logo img,.side-logo img{display:none!important}.student-side-logo,.side-logo{height:12px;padding:0;border:0}.student-nav a span,.nav a span,.sidebar-motto,.sidebar-space-art,.sidebar-footer span,.student-side-motto{display:none!important}.student-nav a,.nav a{justify-content:center;padding:0!important}.student-hero-action{margin-right:0}.access-data,.danger-grid{grid-template-columns:1fr}}
@media(max-width:760px){.login-approved-page{padding:14px}.login-scene{width:100vw;height:100vh}.login-approved .login-approved-bg{background:url('../img/login-space.webp') 62% center/cover no-repeat;filter:brightness(.72)}.login-card-approved{position:relative;left:auto;top:auto;transform:none;width:min(92vw,540px);min-height:auto;padding:30px 24px 28px;margin:0 auto}.login-card-approved .login-mini-brand{display:none}.login-card-approved h1{font-size:40px!important}.login-card-approved .sub{font-size:14px;margin-bottom:20px}.login-card-approved .login-input-icon .input{height:56px;font-size:16px}.login-main-cta{height:56px;font-size:18px!important}.student-shell,.admin-layout{grid-template-columns:1fr}.student-side,.sidebar{height:auto;position:static;display:flex;overflow:auto;padding:7px}.student-side-logo,.side-logo,.sidebar-space-art,.sidebar-motto,.sidebar-footer{display:none}.student-nav,.nav{flex-direction:row}.student-nav a,.nav a{min-width:50px}.student-topbar{padding:0 12px}.student-searchlike{width:100%}.student-account>div:not(.student-avatar),.student-account>svg{display:none}.student-main,.content{padding:13px}.student-hero{padding:23px;background:linear-gradient(90deg,rgba(9,37,69,.96),rgba(9,37,69,.78)),url('../img/student-hero-space.webp') right center/auto 100% no-repeat}.student-hero-action{margin:18px 0 0;align-items:stretch;width:100%}.student-hero{flex-direction:column;align-items:flex-start}.student-kpis{grid-template-columns:1fr 1fr}.student-dashboard-grid{grid-template-columns:1fr}.achievements-card{grid-column:auto}.settings-grid,.danger-grid,.access-data{grid-template-columns:1fr}.top-actions{display:none}}
/* =========================================================
   V1.0.5 — SIDEBAR: ROLAGEM LIMPA E FIXA
   ========================================================= */
@media (min-width: 761px) {
  .admin-layout,
  .student-shell {
    height: 100vh;
    min-height: 100vh;
    overflow: hidden;
  }

  .sidebar,
  .student-side {
    height: 100vh;
    min-height: 0;
    position: sticky;
    top: 0;
    display: flex;
    flex-direction: column;
    overflow: hidden !important;
  }

  .sidebar .nav,
  .student-side .student-nav {
    flex: 1 1 auto;
    min-height: 0;
    overflow-y: auto;
    overflow-x: hidden;
    padding-right: 4px;
    scrollbar-width: thin;
    scrollbar-color: rgba(80,170,255,.36) transparent;
    overscroll-behavior: contain;
  }

  .sidebar .nav::-webkit-scrollbar,
  .student-side .student-nav::-webkit-scrollbar {
    width: 5px;
  }

  .sidebar .nav::-webkit-scrollbar-track,
  .student-side .student-nav::-webkit-scrollbar-track {
    background: transparent;
  }

  .sidebar .nav::-webkit-scrollbar-thumb,
  .student-side .student-nav::-webkit-scrollbar-thumb {
    background: rgba(80,170,255,.30);
    border-radius: 999px;
  }

  .sidebar .nav:hover::-webkit-scrollbar-thumb,
  .student-side .student-nav:hover::-webkit-scrollbar-thumb {
    background: rgba(80,170,255,.55);
  }

  .side-logo,
  .student-side-logo,
  .sidebar-motto,
  .sidebar-space-art,
  .sidebar-footer,
  .student-side-motto {
    flex: 0 0 auto;
  }

  .sidebar-footer {
    margin-top: 8px;
  }

  .main,
  .student-app {
    min-width: 0;
    height: 100vh;
    overflow-y: auto;
    overflow-x: hidden;
  }

  .content,
  .student-main {
    min-height: calc(100vh - 70px);
  }
}

@media (max-width:760px){
  .btn{min-height:52px;font-size:16px;padding:0 18px}
  .input,select,textarea{font-size:16px}
  .card,.table-card,.panel{border-radius:18px}
  .page-title{font-size:30px!important}
}

@media(max-width:980px){.design-grid{grid-template-columns:1fr 1fr}}
@media(max-width:760px){.design-grid{grid-template-columns:1fr}.design-preview,.design-preview.is-bg{height:150px}}


.page-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.question-stats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:16px}
.question-stat-card{display:flex;gap:14px;align-items:flex-start;padding:18px;border-radius:16px;background:#fff;border:1px solid #e1eaf4;box-shadow:var(--shadow);transition:.2s ease}
.question-stat-card:hover{transform:translateY(-2px);box-shadow:0 14px 34px rgba(25,58,96,.10)}
.question-stat-card.active{outline:2px solid rgba(22,136,255,.2)}
.question-stat-icon{width:54px;height:54px;border-radius:16px;display:grid;place-items:center;flex:0 0 54px}
.question-stat-icon svg{width:22px;height:22px}
.question-stat-card small{display:block;font-size:12px;font-weight:800;color:#56718e;margin-bottom:5px}
.question-stat-card strong{display:block;font-size:30px;line-height:1;color:#123055;margin-bottom:7px}
.question-stat-card p{margin:0;color:#71839a;font-size:12px;line-height:1.45}
.question-stat-card.color-blue .question-stat-icon{background:#eaf4ff;color:#1573d6}.question-stat-card.color-green .question-stat-icon{background:#e7fbf2;color:#15915e}.question-stat-card.color-yellow .question-stat-icon{background:#fff4d7;color:#b27800}.question-stat-card.color-red .question-stat-icon{background:#ffe5e8;color:#d53846}
@media(max-width:1100px){.question-stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.page-actions{width:100%}.page-actions .btn{flex:1 1 100%}.question-stats-grid{grid-template-columns:1fr}.question-stat-card strong{font-size:28px}}


/* =========================================================
   LOGIN v1.3.2 — background limpo + tipografia fiel
   ========================================================= */
.login-bg{
    background:
        linear-gradient(180deg,rgba(2,9,27,.06),rgba(2,9,27,.12)),
        var(--login-bg-desktop) center center/cover no-repeat !important;
}
.login-brand-block{margin-bottom:28px!important}
.login-brand-logo{width:min(250px,100%)!important;height:auto!important}
.login-brand-sub{display:none!important}
.login-copy{max-width:470px!important}
.login-copy h2{
    margin:0!important;
    font-family:'Montserrat','Segoe UI',Arial,sans-serif!important;
    line-height:.98!important;
    letter-spacing:-.035em!important;
    color:#fff!important;
    font-weight:800!important;
}
.login-copy h2 .login-copy-main{
    display:block!important;
    white-space:nowrap!important;
    font-family:'Montserrat','Segoe UI',Arial,sans-serif!important;
    font-size:54px!important;
    line-height:1.02!important;
    font-weight:800!important;
    color:#fff!important;
    transform:none!important;
    margin:0!important;
}
.login-copy h2 .login-copy-main:after{display:none!important}
.login-copy h2 .login-copy-script{
    position:relative!important;
    display:inline-block!important;
    margin-top:5px!important;
    padding:0 5px 4px 2px!important;
    font-family:'Caveat','Segoe Print',cursive!important;
    font-size:74px!important;
    line-height:.9!important;
    font-weight:600!important;
    letter-spacing:.005em!important;
    color:var(--theme-accent,var(--cyan))!important;
    transform:rotate(-2deg)!important;
    white-space:nowrap!important;
}
.login-copy h2 .login-copy-script:after{
    content:""!important;
    position:absolute!important;
    left:5%!important;
    right:0!important;
    bottom:-5px!important;
    height:5px!important;
    border-radius:999px!important;
    background:#f7be34!important;
    transform:rotate(-3deg)!important;
    display:block!important;
}
.login-copy p{margin-top:20px!important;max-width:355px!important;font-size:17px!important;line-height:1.5!important}
.login-decor.formula{right:180px!important;top:285px!important;font-family:'Montserrat',sans-serif!important;font-size:44px!important;font-weight:700!important;color:#6fb7ff!important;text-shadow:0 0 18px rgba(49,163,255,.38)!important}

@media(max-width:1280px){
  .login-copy h2 .login-copy-main{font-size:48px!important}
  .login-copy h2 .login-copy-script{font-size:66px!important}
  .login-decor.formula{right:105px!important;top:260px!important;font-size:36px!important}
}
@media(max-width:1024px){
  .login-copy{max-width:520px!important}
  .login-copy h2 .login-copy-main{font-size:48px!important}
  .login-copy h2 .login-copy-script{font-size:66px!important}
}
@media(max-width:760px){
  .login-bg{background:linear-gradient(180deg,rgba(1,8,25,.15),rgba(1,8,25,.34)),var(--login-bg-mobile) 72% center/cover no-repeat!important}
  .login-copy{max-width:100%!important}
  .login-copy h2 .login-copy-main{font-size:38px!important}
  .login-copy h2 .login-copy-script{font-size:54px!important}
  .login-copy p{font-size:16px!important;max-width:285px!important}
  .login-decor.formula{right:16px!important;top:208px!important;font-size:28px!important}
}


/* ===== Login cleanup v1.3.4 ===== */
.login-bg{background:linear-gradient(180deg,rgba(2,9,27,.16),rgba(2,9,27,.28)),var(--login-bg-desktop) center center/cover no-repeat!important;}
.login-body:before,.login-body:after{pointer-events:none}
.login-copy{max-width:520px!important}
.login-copy h2{font-family:'Montserrat','Segoe UI',Arial,sans-serif!important;line-height:.95!important;letter-spacing:-.045em!important;color:#fff!important;font-weight:800!important}
.login-copy h2 .login-copy-main{display:block!important;white-space:nowrap!important;font-family:'Montserrat','Segoe UI',Arial,sans-serif!important;font-size:66px!important;line-height:.96!important;font-weight:800!important;color:#fff!important;margin:0!important}
.login-copy h2 .login-copy-script{position:relative!important;display:inline-block!important;margin-top:8px!important;padding:0 8px 8px 2px!important;font-family:'Caveat','Segoe Print',cursive!important;font-size:78px!important;line-height:.86!important;font-weight:700!important;letter-spacing:.005em!important;color:var(--theme-accent,var(--cyan))!important;transform:rotate(-2deg)!important;white-space:nowrap!important}
.login-copy h2 .login-copy-script:after{content:""!important;position:absolute!important;left:3%!important;right:0!important;bottom:-3px!important;height:6px!important;border-radius:999px!important;background:#f4be32!important;transform:rotate(-3deg)!important;display:block!important}
.login-copy p{margin-top:18px!important;max-width:350px!important;font-size:18px!important;line-height:1.48!important;color:#d4e3f2!important}
.login-brand-block{margin-bottom:24px!important}.login-brand-logo{width:min(245px,100%)!important;height:auto!important;display:block!important}
.login-kicker{margin-bottom:10px!important}
.login-card-rebuilt{background:linear-gradient(180deg,rgba(11,36,67,.96),rgba(7,24,47,.96))!important}
.login-main-cta{min-height:58px!important;font-size:18px!important}
.login-bottom-cards{margin-top:4px!important}
.login-stat-card{background:linear-gradient(180deg,rgba(9,27,52,.86),rgba(7,22,43,.94))!important}
.login-decor{display:none!important}
@media(max-width:1280px){.login-copy h2 .login-copy-main{font-size:60px!important}.login-copy h2 .login-copy-script{font-size:70px!important}}
@media(max-width:1024px){.login-copy h2 .login-copy-main{font-size:56px!important}.login-copy h2 .login-copy-script{font-size:66px!important}}
@media(max-width:760px){.login-bg{background:linear-gradient(180deg,rgba(1,8,25,.18),rgba(1,8,25,.34)),var(--login-bg-mobile) 66% center/cover no-repeat!important}.login-copy h2 .login-copy-main{font-size:42px!important}.login-copy h2 .login-copy-script{font-size:56px!important}.login-copy p{font-size:16px!important;max-width:280px!important}.login-brand-logo{width:min(210px,100%)!important}}


/* ===== Login refinements v1.3.5 ===== */
.login-stage{min-height:100vh!important;display:grid!important;grid-template-columns:minmax(280px,420px) minmax(360px,430px) minmax(280px,420px)!important;grid-template-areas:"left form decor" "cards cards cards"!important;justify-content:space-between!important;align-items:center!important;column-gap:32px!important;padding:36px 48px 72px!important;max-width:1500px!important;margin:0 auto!important}
.login-hero-left{grid-area:left!important;align-self:center!important;justify-self:start!important}
.login-card{grid-area:form!important;justify-self:center!important;align-self:center!important;width:100%!important;max-width:430px!important;margin:0 auto!important}
.login-bottom-cards{grid-area:cards!important;display:grid!important;grid-template-columns:repeat(3,minmax(220px,260px))!important;justify-content:center!important;gap:18px!important;width:100%!important;margin:8px auto 0!important}
.login-copy{max-width:420px!important}
.login-copy h2 .login-copy-main{font-size:60px!important}
.login-copy h2 .login-copy-script{font-size:72px!important}
.login-copy p{max-width:360px!important;font-size:17px!important}
.login-kicker{font-size:14px!important;letter-spacing:.18em!important}
.login-card-rebuilt h1{font-size:54px!important;line-height:.95!important;letter-spacing:-.04em!important}
.login-card-rebuilt .sub{font-size:17px!important;line-height:1.45!important;max-width:310px!important;margin-left:auto!important;margin-right:auto!important}
.login-form-rebuilt .input{min-height:50px!important;font-size:18px!important}
.login-main-cta{min-height:60px!important;font-size:18px!important}
.login-official-slogan{font-size:14px!important;letter-spacing:.02em!important}
.login-project-credit{position:fixed!important;left:50%!important;bottom:18px!important;transform:translateX(-50%)!important;z-index:4!important;color:#ffffff!important;font-size:14px!important;font-weight:600!important;letter-spacing:.02em!important;text-align:center!important;text-shadow:0 2px 10px rgba(0,0,0,.35)!important;pointer-events:none!important}
@media(max-width:1320px){.login-stage{grid-template-columns:minmax(260px,360px) minmax(340px,410px) minmax(240px,340px)!important;padding:32px 32px 72px!important}.login-copy h2 .login-copy-main{font-size:54px!important}.login-copy h2 .login-copy-script{font-size:66px!important}.login-bottom-cards{grid-template-columns:repeat(3,minmax(200px,1fr))!important}}
@media(max-width:1024px){.login-stage{grid-template-columns:minmax(260px,340px) minmax(340px,410px)!important;grid-template-areas:"left form" "cards cards"!important}.login-bottom-cards{grid-template-columns:repeat(3,minmax(180px,1fr))!important}}
@media(max-width:760px){.login-stage{grid-template-columns:1fr!important;grid-template-areas:"left" "form" "cards"!important;justify-content:center!important;row-gap:20px!important;padding:24px 18px 88px!important}.login-hero-left{justify-self:center!important;text-align:center!important}.login-copy{max-width:100%!important;text-align:center!important}.login-copy p{max-width:320px!important;margin-left:auto!important;margin-right:auto!important}.login-card{max-width:100%!important}.login-bottom-cards{grid-template-columns:1fr!important;gap:12px!important}.login-project-credit{bottom:14px!important;font-size:13px!important;padding:0 12px!important}}

/* =========================================================
   USUÁRIOS ADMINISTRATIVOS - CONFIGURAÇÕES
   ========================================================= */
.admin-access-manager{grid-column:1/-1}
.admin-users-head{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px}
.admin-users-title{min-width:0}
.admin-access-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:16px 0}
.admin-access-summary-item{border:1px solid #e1eaf4;border-radius:14px;padding:14px 16px;background:#f8fbff;display:flex;align-items:center;justify-content:space-between;gap:12px}
.admin-access-summary-item span{font-size:12px;font-weight:700;color:#6f829b}
.admin-access-summary-item b{font-size:25px;color:#173b69}
.admin-access-summary-item.master{background:#fff9e8;border-color:#f5df9d}.admin-access-summary-item.master b{color:#aa7600}
.admin-access-summary-item.admin{background:#eef7ff;border-color:#cfe5fb}.admin-access-summary-item.admin b{color:#1674c9}
.admin-users-list{display:grid;gap:10px}
.admin-user-row{display:grid;grid-template-columns:46px minmax(0,1fr) auto auto;gap:12px;align-items:center;border:1px solid #e0e9f3;border-radius:14px;padding:12px 14px;background:#fff;transition:.18s ease}
.admin-user-row:hover{border-color:#c7d9ec;box-shadow:0 8px 22px rgba(27,64,105,.06)}
.admin-user-row.is-inactive{opacity:.58;background:#f7f9fc}
.admin-user-avatar{width:46px;height:46px;border-radius:14px;display:grid;place-items:center;background:linear-gradient(135deg,#176fd0,#1bb7f4);color:#fff;font-weight:800;font-size:17px}
.admin-user-info{min-width:0;display:flex;flex-direction:column;gap:3px}.admin-user-info>span{font-size:13px;color:#46617d;overflow:hidden;text-overflow:ellipsis}.admin-user-info>small{font-size:11px;color:#8392a7}
.admin-user-name-line{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.admin-user-name-line>b{font-size:14px;color:#17385f}
.admin-role-badge,.you-badge,.status-pill{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;font-size:9px;font-weight:900;letter-spacing:.06em;padding:4px 7px}
.admin-role-badge.master{background:#fff0bd;color:#9b6800}.admin-role-badge.admin{background:#e4f2ff;color:#166ab5}.you-badge{background:#eee8ff;color:#704fc4}
.status-pill.on{background:#e3f8ed;color:#118458}.status-pill.off{background:#edf1f6;color:#758398}
.admin-user-actions{display:flex;align-items:center;gap:3px}.admin-user-actions form{margin:0}.admin-user-actions .action:disabled{opacity:.25;cursor:not-allowed}
.readonly-mini{font-size:11px;color:#8a98aa}
.admin-access-help{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:14px}.admin-access-help>div{border-radius:12px;padding:12px 14px;background:#f7faff;border:1px solid #e3ebf5;display:grid;gap:3px}.admin-access-help b{font-size:12px;color:#173c69}.admin-access-help span{font-size:11px;line-height:1.45;color:#71839a}
.admin-user-form{max-width:920px}.admin-active-check{padding:13px 14px;border:1px solid #e1e9f2;border-radius:12px;background:#f8fbff}.admin-active-check span{display:grid;gap:3px}.admin-active-check b{font-size:13px}.admin-active-check small{font-size:11px;color:#72849a}.admin-role-note{margin-top:14px;padding:13px 14px;border-radius:12px;background:#eef6ff;border:1px solid #d7e9fb;color:#496680;font-size:12px;line-height:1.55}.admin-role-note b{color:#174d82}
@media(max-width:900px){.admin-access-summary{grid-template-columns:1fr}.admin-user-row{grid-template-columns:46px minmax(0,1fr) auto}.admin-user-status{grid-column:2}.admin-user-actions{grid-column:3;grid-row:1/3}.admin-access-help{grid-template-columns:1fr}}
@media(max-width:760px){.admin-users-head{grid-template-columns:auto 1fr}.admin-users-head .btn{grid-column:1/-1;width:100%}.admin-user-row{grid-template-columns:42px 1fr}.admin-user-avatar{width:42px;height:42px}.admin-user-status{grid-column:2}.admin-user-actions{grid-column:1/-1;grid-row:auto;justify-content:flex-end;border-top:1px solid #edf2f7;padding-top:8px}.admin-user-actions .action{width:38px;height:38px}.admin-user-form .grid-2{grid-template-columns:1fr}}


/* =========================================================
   MOBILE-FIRST GLOBAL REFINEMENT v1.3.8
   ========================================================= */
@media (max-width: 760px){
  html,body{width:100%;max-width:100%;overflow-x:hidden}
  body{font-size:16px}

  /* LOGIN — compacto, proporcional e com CTA acima da dobra */
  .login-body{min-height:100svh;overflow-x:hidden;overflow-y:auto}
  .login-bg{position:fixed!important;inset:0!important;background-position:68% center!important}
  .login-stage{
    min-height:auto!important;
    width:100%!important;
    max-width:100%!important;
    margin:0!important;
    padding:18px 14px 12px!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:stretch!important;
    gap:14px!important;
  }
  .login-hero-left{
    order:1!important;
    width:100%!important;
    max-width:100%!important;
    display:grid!important;
    grid-template-columns:108px minmax(0,1fr)!important;
    align-items:center!important;
    gap:14px!important;
    justify-self:auto!important;
    text-align:left!important;
  }
  .login-brand-block{margin:0!important;align-items:center!important}
  .login-brand-logo{
    width:108px!important;
    max-width:108px!important;
    border-radius:12px!important;
  }
  .login-copy{max-width:none!important;text-align:left!important;min-width:0!important}
  .login-copy h2{margin:0!important;line-height:.98!important}
  .login-copy h2 .login-copy-main{
    font-size:30px!important;
    line-height:1.02!important;
    white-space:normal!important;
    letter-spacing:-.035em!important;
  }
  .login-copy h2 .login-copy-script{
    font-size:43px!important;
    line-height:.86!important;
    margin-top:3px!important;
    padding-bottom:6px!important;
    white-space:nowrap!important;
  }
  .login-copy h2 .login-copy-script:after{height:4px!important;bottom:-2px!important}
  .login-copy p{
    margin:10px 0 0!important;
    max-width:none!important;
    font-size:13px!important;
    line-height:1.4!important;
    color:#dce9f5!important;
  }

  .login-card{
    order:2!important;
    width:100%!important;
    max-width:100%!important;
    margin:0!important;
    padding:22px 18px 18px!important;
    border-radius:20px!important;
  }
  .login-card-rebuilt .login-kicker{font-size:11px!important;letter-spacing:.14em!important;margin-bottom:7px!important}
  .login-card-rebuilt h1{font-size:34px!important;line-height:1!important;margin-bottom:8px!important}
  .login-card-rebuilt .sub{font-size:14px!important;line-height:1.4!important;max-width:300px!important;margin:0 auto 14px!important}
  .login-form-rebuilt{gap:10px!important}
  .login-form-rebuilt .input{height:54px!important;min-height:54px!important;font-size:16px!important;border-radius:13px!important}
  .login-main-cta{height:56px!important;min-height:56px!important;font-size:17px!important;border-radius:13px!important}
  .login-official-slogan{margin-top:14px!important;padding-top:14px!important;font-size:12px!important;line-height:1.35!important}

  .login-bottom-cards{
    order:3!important;
    width:calc(100% + 14px)!important;
    margin:2px -7px 0!important;
    padding:2px 7px 8px!important;
    display:flex!important;
    gap:10px!important;
    overflow-x:auto!important;
    overscroll-behavior-x:contain;
    scroll-snap-type:x mandatory;
    scrollbar-width:none;
    justify-content:flex-start!important;
  }
  .login-bottom-cards::-webkit-scrollbar{display:none}
  .login-stat-card{
    flex:0 0 245px!important;
    width:245px!important;
    min-width:245px!important;
    padding:14px!important;
    border-radius:16px!important;
    scroll-snap-align:start;
  }
  .login-stat-icon{width:48px!important;height:48px!important;flex-basis:48px!important;border-radius:14px!important}
  .login-stat-icon .icon{width:23px!important;height:23px!important}
  .login-stat-card h3{font-size:16px!important;margin-bottom:3px!important}
  .login-stat-card p{font-size:13px!important;line-height:1.35!important}
  .login-project-credit{
    position:relative!important;
    left:auto!important;
    bottom:auto!important;
    transform:none!important;
    width:100%!important;
    margin:0!important;
    padding:12px 14px 18px!important;
    font-size:12px!important;
    line-height:1.35!important;
    text-align:center!important;
  }

  /* ADMIN + ALUNO — shell sem overflow na página */
  .admin-layout,.student-shell{display:block!important;min-height:100svh!important;height:auto!important;overflow:visible!important}
  .main,.student-app{height:auto!important;min-height:100svh!important;overflow:visible!important}

  /* Navegação mobile vira barra superior rolável e amigável ao toque */
  .sidebar,.student-side{
    position:sticky!important;
    top:0!important;
    z-index:80!important;
    width:100%!important;
    height:auto!important;
    min-height:64px!important;
    padding:8px 10px!important;
    display:block!important;
    overflow:hidden!important;
    background:#061a32!important;
    box-shadow:0 7px 22px rgba(3,19,37,.18)!important;
  }
  .side-logo,.student-side-logo,.sidebar-motto,.sidebar-space-art,.sidebar-footer,.student-side-motto{display:none!important}
  .nav,.student-nav{
    display:flex!important;
    flex-direction:row!important;
    gap:7px!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    padding:0 0 2px!important;
    scrollbar-width:none!important;
    -webkit-overflow-scrolling:touch;
  }
  .nav::-webkit-scrollbar,.student-nav::-webkit-scrollbar{display:none!important}
  .nav a,.student-nav a{
    flex:0 0 auto!important;
    min-width:58px!important;
    min-height:48px!important;
    padding:9px 12px!important;
    border-radius:12px!important;
    justify-content:center!important;
    gap:7px!important;
    font-size:13px!important;
  }
  .nav a span,.student-nav a span{display:inline!important;white-space:nowrap!important}
  .nav a svg,.student-nav a svg{width:19px!important;height:19px!important}

  .topbar,.student-topbar{
    position:sticky!important;
    top:64px!important;
    z-index:70!important;
    min-height:60px!important;
    height:auto!important;
    padding:8px 12px!important;
    gap:8px!important;
  }
  .top-search,.student-searchlike{width:100%!important;max-width:none!important}
  .top-search input,.student-searchlike input{font-size:16px!important;min-height:44px!important}
  .top-actions{display:none!important}
  .student-account>div:not(.student-avatar),.student-account>svg{display:none!important}

  .content,.student-main{padding:14px 12px 24px!important;min-height:auto!important}
  .page-title,.dashboard-heading{margin-bottom:14px!important}
  .page-title h1,.dashboard-heading h1{font-size:27px!important;line-height:1.1!important}
  .page-title p,.dashboard-heading p{font-size:14px!important;line-height:1.45!important}

  /* Botões e inputs com área de toque confortável */
  .btn{min-height:50px!important;padding:0 17px!important;font-size:15px!important;border-radius:12px!important}
  .btn-sm{min-height:42px!important;padding:0 13px!important;font-size:14px!important}
  .input,.select,.textarea,select,textarea{min-height:50px!important;font-size:16px!important;border-radius:12px!important}
  .textarea{min-height:130px!important}
  .field label{font-size:13px!important}

  /* Grids sempre legíveis em uma coluna */
  .grid,.grid-2,.grid-3,.grid-4,.filters,.builder-filters,.game-top,.settings-grid,.danger-grid,.access-data,.design-grid,.student-dashboard-grid,.kpis,.student-kpis{
    grid-template-columns:1fr!important;
  }
  .card,.dashboard-card,.student-card,.settings-card,.game-builder,.danger-zone{padding:16px!important;border-radius:16px!important}

  /* KPIs em cards empilhados, sem esmagar texto */
  .kpis,.student-kpis{gap:10px!important}
  .kpi,.student-kpi{min-height:94px!important;padding:14px!important}
  .student-kpi strong,.kpi strong{font-size:26px!important}

  /* Tabelas: rolam só dentro do componente, nunca na página inteira */
  .table-wrap{
    width:100%!important;
    max-width:100%!important;
    overflow-x:auto!important;
    -webkit-overflow-scrolling:touch;
    border-radius:14px!important;
    box-shadow:inset -16px 0 20px -24px rgba(19,52,83,.55);
  }
  .table{min-width:720px!important;width:max-content!important}
  .table th,.table td{font-size:13px!important;padding:13px 12px!important}
  .actions{gap:5px!important}
  .action{width:40px!important;height:40px!important;border-radius:10px!important}
  .action svg{width:18px!important;height:18px!important}

  /* Perguntas / cards-resumo */
  .question-stats-grid{grid-template-columns:1fr!important;gap:10px!important}
  .question-stat-card{padding:14px!important;min-height:86px!important}
  .question-stat-icon{width:50px!important;height:50px!important;flex-basis:50px!important}
  .question-stat-card strong{font-size:26px!important}
  .question-stat-card p{font-size:13px!important}

  /* Área do aluno */
  .student-hero{padding:18px!important;border-radius:16px!important;gap:14px!important}
  .student-hero h1{font-size:29px!important;line-height:1.1!important}
  .student-hero p{font-size:14px!important;line-height:1.45!important}
  .student-hero-action{width:100%!important;margin:4px 0 0!important}
  .student-hero-action .btn{width:100%!important}
  .achievement-list{grid-template-columns:1fr!important}
  .performance-card,.category-card,.achievements-card{min-height:auto!important}

  /* Admin users */
  .admin-user-row{padding:12px!important;border-radius:14px!important}
  .admin-user-actions .action{width:42px!important;height:42px!important}
  .admin-access-summary{grid-template-columns:1fr!important}
}

@media (max-width: 420px){
  .login-stage{padding:14px 12px 10px!important}
  .login-hero-left{grid-template-columns:88px minmax(0,1fr)!important;gap:11px!important}
  .login-brand-logo{width:88px!important;max-width:88px!important}
  .login-copy h2 .login-copy-main{font-size:27px!important}
  .login-copy h2 .login-copy-script{font-size:39px!important}
  .login-copy p{font-size:12.5px!important;margin-top:8px!important}
  .login-card{padding:20px 15px 16px!important}
  .login-card-rebuilt h1{font-size:31px!important}
  .login-card-rebuilt .sub{font-size:13.5px!important}
  .login-stat-card{flex-basis:230px!important;width:230px!important;min-width:230px!important}
  .nav a,.student-nav a{min-height:46px!important;padding:8px 10px!important}
  .nav a span,.student-nav a span{font-size:12px!important}
  .content,.student-main{padding-left:10px!important;padding-right:10px!important}
}
