@import "https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700;800;900&display=swap";*{box-sizing:border-box;margin:0;padding:0}body{-webkit-font-smoothing:antialiased;color:#1e293b;font-family:DM Sans,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}a{color:inherit;text-decoration:none}.bg-soft-primary{background:linear-gradient(135deg,#eef2ff 0%,#e0e7ff 50%,#f0f4ff 100%)}.school-header{z-index:50;background:#fff;border-bottom:1px solid #0f172a0f;padding:14px 0;position:sticky;top:0}.school-header .container{justify-content:space-between;align-items:center;max-width:1200px;margin:0 auto;padding:0 20px;display:flex}.school-brand{align-items:center;gap:10px;display:flex}.school-brand img{border-radius:6px;width:auto;height:34px}.school-brand span{color:#0f172a;letter-spacing:-.02em;font-size:17px;font-weight:800}.school-nav{align-items:center;gap:8px;display:flex}.school-nav a,.school-nav button{cursor:pointer;border:none;border-radius:999px;padding:8px 16px;font-size:14px;font-weight:700;transition:all .15s}.school-nav .nav-link{color:#475569;background:0 0}.school-nav .nav-link:hover{color:#1e40af;background:#2563eb0f}.school-nav .nav-btn{color:#fff;background:#2563eb}.school-nav .nav-btn:hover{background:#1d4ed8}.container{max-width:1200px;margin:0 auto;padding:0 20px}.section-py{padding:56px 0}.card-elevated{background:#fff;border:1px solid #0f172a0f;border-radius:18px;box-shadow:0 18px 44px #0f172a14,0 2px 10px #0f172a0a}.card-body{padding:44px}.form-group{margin-bottom:20px}.form-label{color:#64748b;margin-bottom:6px;font-size:13px;font-weight:600;display:block}.form-control{color:#0f172a;box-sizing:border-box;background:#fff;border:1px solid #e2e8f0;border-radius:12px;width:100%;padding:14px 16px;font-family:inherit;font-size:15px;font-weight:500;transition:border-color .15s,box-shadow .15s}.form-control:focus{border-color:#2563eb;outline:none;box-shadow:0 0 0 3px #2563eb1f}.form-control::placeholder{color:#94a3b8}.password-field{position:relative}.password-toggle{cursor:pointer;color:#94a3b8;font-size:18px;position:absolute;top:50%;right:14px;transform:translateY(-50%)}.btn-primary-pill{color:#fff;cursor:pointer;letter-spacing:-.01em;background:#2563eb;border:none;border-radius:999px;width:100%;padding:14px;font-size:16px;font-weight:800;transition:all .15s}.btn-primary-pill:hover{background:#1d4ed8;box-shadow:0 12px 28px #2563eb38}.btn-primary-pill:disabled{opacity:.6;cursor:default}.alert-error{color:#dc2626;background:#fef2f2;border:1px solid #fecaca;border-radius:12px;margin-bottom:20px;padding:12px 16px;font-size:14px;font-weight:500}.sd-card{background:#fffffff5;border:1px solid #0f172a14;border-radius:18px;transition:transform .18s,box-shadow .18s;box-shadow:0 14px 34px #0f172a0f,0 2px 10px #0f172a0a}.sd-card:hover{transform:translateY(-2px);box-shadow:0 18px 42px #0f172a14}.sd-avatar{color:#fff;background:linear-gradient(135deg,#2563eb,#1d4ed8);border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;width:52px;height:52px;font-size:20px;font-weight:800;display:inline-flex;box-shadow:0 12px 26px #2563eb2e}.sd-chip{color:#0f172ab3;background:#0f172a08;border:1px solid #0f172a0f;border-radius:999px;align-items:center;gap:8px;padding:8px 12px;font-size:13px;font-weight:600;display:inline-flex}.sd-subject{color:#0b1220;background:#3b82f624;border:1px solid #3b82f62e;border-radius:999px;align-items:center;gap:6px;padding:7px 12px;font-size:13px;font-weight:700;display:inline-flex}.sd-status{white-space:nowrap;border-radius:999px;align-items:center;gap:6px;padding:6px 10px;font-size:12px;font-weight:700;display:inline-flex}.sd-status.active{color:#14532d;background:#22c55e24;border:1px solid #22c55e2e}.sd-status.soon{color:#1e40af;background:#3b82f61f;border:1px solid #3b82f629}.sd-status.done{color:#881337;background:#f43f5e1a;border:1px solid #f43f5e24}.sd-cta{text-align:center;cursor:pointer;border:none;border-radius:999px;width:100%;padding:12px 16px;font-size:15px;font-weight:800;text-decoration:none;transition:all .15s;display:block}.sd-cta-primary{color:#fff;background:#2563eb;box-shadow:0 16px 34px #2563eb2e}.sd-cta-primary:hover{filter:brightness(.96)}.sd-cta-muted{color:#0f172a80;cursor:default;background:#0f172a0a;border:1px solid #0f172a14}.token-shell{max-width:560px;margin:0 auto}.token-input{text-transform:uppercase;letter-spacing:.28em;text-align:center;border-radius:14px;padding:14px;font-size:1.5rem;font-weight:900}@media (width<=768px){.card-body{padding:28px}.section-py{padding:32px 0}.row-split{flex-direction:column}}.exam-root{background:#f8fafc;min-height:100vh}.exam-loading,.exam-error{text-align:center;color:#64748b;padding:60px;font-size:18px}.exam-error{color:#dc2626}.exam-header{color:#fff;z-index:100;background:linear-gradient(135deg,#1e293b 0%,#334155 100%);justify-content:space-between;align-items:center;padding:12px 20px;display:flex;position:sticky;top:0}.exam-header-left{align-items:center;gap:12px;display:flex}.exam-logo{border-radius:8px;height:36px}.exam-school-name{opacity:.7;font-size:13px;font-weight:600}.exam-title{letter-spacing:-.02em;font-size:16px;font-weight:800}.exam-header-right{align-items:center;gap:12px;display:flex}.timer-pill{background:#ffffff14;border:1px solid #ffffff26;border-radius:999px;align-items:center;gap:8px;padding:10px 14px;font-size:14px;font-weight:800;display:inline-flex}.timer-pill.primary{color:#93c5fd;border-color:#2563eb3d}.timer-pill.danger{color:#fda4af;border-color:#f43f5e38;animation:1s infinite pulse-danger}.timer-text{font-family:SF Mono,Fira Code,monospace;font-size:20px}@keyframes pulse-danger{0%,to{opacity:1}50%{opacity:.6}}.exam-shell{max-width:1100px;margin:0 auto;padding:18px}.exam-card{background:#fff;border:1px solid #0f172a14;border-radius:18px;overflow:hidden;box-shadow:0 18px 44px #0f172a1a}.exam-card-header{background:#0f172a05;border-bottom:1px solid #0f172a14;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;padding:14px 18px;display:flex}.toolbar-left{align-items:center;gap:10px;display:flex}.toolbar-right{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.type-badge{border-radius:8px;padding:4px 12px;font-size:13px;font-weight:700}.bg-soft-primary{color:#1d4ed8;background:#2563eb1a}.bg-soft-secondary{color:#475569;background:#64748b1a}.bg-soft-warning{color:#92400e;background:#f59e0b1a}.bg-soft-success{color:#166534;background:#22c55e1a}.bg-soft-danger{color:#991b1b;background:#ef44441a}.q-number{color:#0f172a;font-size:15px;font-weight:800}.save-badge{border-radius:999px;padding:6px 12px;font-size:12px;font-weight:700}.font-buttons{background:#0f172a0a;border-radius:10px;gap:2px;padding:2px;display:flex}.font-btn{color:#0f172a94;cursor:pointer;background:0 0;border:none;border-radius:8px;width:36px;height:32px;font-size:13px;font-weight:700}.font-btn.active{color:#0f172a;background:#fff;box-shadow:0 1px 3px #0000001a}.font-btn:hover{color:#0f172a}.nav-toggle-btn{color:#fff;cursor:pointer;background:linear-gradient(135deg,#2563eb,#7c3aed);border:1px solid #0f172a1f;border-radius:999px;padding:8px 14px;font-size:13px;font-weight:800}.exam-stage{padding:18px}.exam-alert-error{color:#dc2626;background:#fef2f2;border-radius:10px;margin-bottom:14px;padding:10px 14px;font-size:14px}.question-wrap{background:#fff;border:1px solid #0f172a1a;border-radius:14px;padding:18px}.question-note{color:#0f172a94;margin-bottom:14px;font-size:.9rem;font-weight:700}.question-title{letter-spacing:-.02em;color:#0f172a;margin-bottom:10px;font-weight:900}.question-body{color:#0f172ae0;white-space:pre-wrap;margin-bottom:20px;font-weight:600;line-height:1.7}.question-body img{border-radius:12px;max-width:100%;height:auto;box-shadow:0 18px 44px #0f172a1a}.font-scale.scale-0 .question-body,.font-scale.scale-0 .choice-body{font-size:.9rem}.font-scale.scale-1 .question-body,.font-scale.scale-1 .choice-body{font-size:1rem}.font-scale.scale-2 .question-body,.font-scale.scale-2 .choice-body{font-size:1.12rem}.font-scale.scale-3 .question-body,.font-scale.scale-3 .choice-body{font-size:1.24rem}.doubt-row{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:20px;display:flex}.doubt-toggle{cursor:pointer;align-items:center;gap:8px;display:flex}.doubt-toggle input[type=checkbox]{accent-color:#f59e0b;cursor:pointer;width:18px;height:18px}.doubt-label{color:#0f172a;font-weight:700}.doubt-hint{color:#0f172a80;font-size:13px}.choices-list{flex-direction:column;gap:8px;display:flex}.choice-card{cursor:pointer;background:#fff;border:1px solid #0f172a1a;border-radius:14px;align-items:flex-start;gap:10px;padding:12px 14px;transition:transform .12s,box-shadow .12s,border-color .12s;display:flex}.choice-card:hover{border-color:#2563eb38;transform:translateY(-1px);box-shadow:0 14px 32px #0f172a14}.choice-card.selected{background:#2563eb0a;border-color:#2563eb66}.choice-card input[type=radio]{accent-color:#2563eb;flex-shrink:0;width:18px;height:18px;margin-top:3px}.choice-body{color:#0f172ae0;white-space:pre-wrap;font-weight:600;line-height:1.5}.form-input{color:#0f172a;resize:vertical;box-sizing:border-box;background:#fff;border:1px solid #0f172a1f;border-radius:12px;width:100%;padding:12px 14px;font-family:inherit;font-size:15px;font-weight:500}.form-input:focus{border-color:#2563eb;outline:none;box-shadow:0 0 0 3px #2563eb1f}.bottom-nav{background:#ffffffeb;border:1px solid #0f172a1a;border-radius:16px;margin-top:14px;padding:14px}.bottom-nav-info{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.bottom-nav-info .fw-bold{color:#0f172a;font-weight:800}.bottom-nav-info .text-muted{color:#0f172a80;font-size:13px}.bottom-nav-buttons{flex-wrap:wrap;gap:8px;display:flex}.exam-btn{letter-spacing:-.01em;cursor:pointer;border-radius:999px;flex:1;justify-content:center;align-items:center;gap:6px;padding:10px 18px;font-size:14px;font-weight:800;display:inline-flex}.exam-btn.light{color:#0f172ac7;background:#ffffffe6;border:1px solid #0f172a1f}.exam-btn.light:hover{background:#f1f5f9}.exam-btn.light:disabled{opacity:.4;cursor:default}.exam-btn.primary{color:#fff;background:linear-gradient(135deg,#2563eb,#7c3aed);border:0;box-shadow:0 16px 30px #2563eb38}.exam-btn.primary:hover{box-shadow:0 20px 40px #2563eb4d}.exam-btn.primary:disabled{opacity:.6;cursor:default}.exam-footer{text-align:center;color:#0f172a66;padding:20px 0;font-size:13px}.nav-overlay{z-index:200;background:#0000004d;display:none;position:fixed;inset:0}.nav-overlay.open{display:block}.nav-sidebar{z-index:300;background:#fff;flex-direction:column;width:320px;height:100vh;transition:right .25s;display:flex;position:fixed;top:0;right:-340px;box-shadow:-8px 0 30px #0000001a}.nav-sidebar.open{right:0}.nav-sidebar-header{border-bottom:1px solid #e5e7eb;justify-content:space-between;align-items:center;padding:16px 18px;display:flex}.nav-sidebar-header h3{margin:0;font-size:18px;font-weight:800}.nav-close{cursor:pointer;color:#64748b;background:0 0;border:none;font-size:20px}.nav-sidebar-body{flex:1;padding:16px 18px;overflow-y:auto}.nav-group-label{color:#0f172a;border-bottom:1px solid #e5e7eb;margin-top:16px;margin-bottom:10px;padding-bottom:8px;font-size:14px;font-weight:800}.nav-group-label:first-child{margin-top:0}.nav-buttons{flex-wrap:wrap;gap:6px;margin-bottom:8px;display:flex}.qnav-btn{color:#0f172ac7;cursor:pointer;background:#fff;border:1px solid #0f172a24;border-radius:12px;justify-content:center;align-items:center;width:42px;height:42px;font-size:14px;font-weight:900;display:inline-flex}.qnav-btn.answered{color:#14532d;background:#22c55e1a;border-color:#22c55e3d}.qnav-btn.doubt{color:#78350f;background:#f59e0b1f;border-color:#f59e0b3d}.qnav-btn.active{color:#1e40af;background:#2563eb1f;border-color:#2563eb57}.nav-legend{color:#64748b;flex-direction:column;gap:4px;margin-top:20px;font-size:13px;display:flex}.logout-fab{z-index:150;color:#fff;cursor:pointer;background:#ef4444;border:1px solid #b91c1c;border-radius:999px;padding:10px 14px;font-size:13px;font-weight:800;position:fixed;top:14px;right:14px;box-shadow:0 16px 34px #0f172a1f}.logout-fab:hover{background:#dc2626}@media (width<=768px){.exam-header{text-align:center;flex-direction:column;gap:8px}.exam-card-header{flex-direction:column;align-items:flex-start}.toolbar-right{justify-content:space-between;width:100%}.bottom-nav-buttons{flex-direction:column}.exam-btn{width:100%}}
