:root{--bg:#f5f7fb;--panel:#fff;--text:#172033;--muted:#697386;--line:#e4e8f0;--primary:#175cd3;--primary2:#0b4ab3;--danger:#b42318;--success:#067647;--warning:#b54708;--sidebar:#101828;--radius:16px;--shadow:0 10px 30px rgba(16,24,40,.08)}*{box-sizing:border-box}html,body{margin:0;min-height:100%;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--text);background:var(--bg)}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}.brand{display:flex;align-items:center;gap:10px;font-weight:800}.brand-mark{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:linear-gradient(145deg,#2e90fa,#155eef);color:#fff}.app-shell{display:grid;grid-template-columns:260px 1fr;min-height:100vh}.sidebar{position:sticky;top:0;height:100vh;background:var(--sidebar);color:#fff;padding:22px;display:flex;flex-direction:column;gap:24px}.sidebar nav{display:flex;flex-direction:column;gap:4px}.sidebar nav a{padding:10px 12px;border-radius:10px;color:#d0d5dd}.sidebar nav a:hover{background:#1d2939;color:#fff}.nav-label{font-size:11px;text-transform:uppercase;letter-spacing:.09em;color:#667085;margin:18px 12px 6px}.sidebar-footer{margin-top:auto;border-top:1px solid #344054;padding-top:16px}.sidebar-footer small{display:block;color:#d0d5dd;margin-bottom:8px}.link-btn{background:none;border:0;color:#98a2b3;padding:0}.main{min-width:0}.topbar{height:70px;background:#fff;border-bottom:1px solid var(--line);padding:0 30px;display:flex;justify-content:flex-end;align-items:center;gap:12px}.topbar div{display:flex;flex-direction:column;text-align:right}.topbar span{font-size:12px;color:var(--muted)}.menu-toggle{display:none}.content{padding:28px;max-width:1500px;margin:auto}.page-head{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:22px}.page-head h1{margin:0;font-size:30px}.page-head p{margin:5px 0 0;color:var(--muted)}.card,.auth-card,.legal-card,.error-card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:24px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid #cfd6e4;background:#fff;color:#344054;padding:10px 16px;border-radius:10px;font-weight:700}.btn:hover{border-color:#98a2b3}.btn.primary{background:var(--primary);border-color:var(--primary);color:#fff}.btn.primary:hover{background:var(--primary2)}.btn.danger{color:#b42318;border-color:#fecdca}.btn.warning{background:#f79009;border-color:#f79009;color:#fff}.btn.light{background:rgba(255,255,255,.12);color:#fff;border-color:rgba(255,255,255,.2)}.btn.small{padding:7px 11px;font-size:13px}.btn.full{width:100%}.actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.centered{justify-content:center}.alert{padding:14px 18px;border-radius:12px;margin-bottom:18px}.alert.success{background:#ecfdf3;color:var(--success);border:1px solid #abefc6}.alert.danger{background:#fef3f2;color:var(--danger);border:1px solid #fecdca}.notice{padding:16px;border-radius:12px;background:#f9fafb;border:1px dashed #d0d5dd;color:#475467}.kpi-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:16px;margin-bottom:22px}.kpi{background:#fff;border:1px solid var(--line);border-radius:14px;padding:20px}.kpi span{display:block;color:var(--muted);font-size:13px}.kpi strong{display:block;font-size:32px;margin-top:8px}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;min-width:760px}th,td{padding:13px 12px;text-align:left;border-bottom:1px solid var(--line);vertical-align:top}th{font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:#667085;background:#fafafa}td small{display:block;color:var(--muted);margin-top:4px}td.wide{min-width:360px}.badge{display:inline-flex;align-items:center;padding:4px 9px;border-radius:999px;background:#eef4ff;color:#3538cd;font-size:11px;font-weight:800}.badge.large{font-size:13px;padding:7px 12px}.badge.invalid,.badge.duplicate{background:#fef3f2;color:#b42318}.badge.valid{background:#ecfdf3;color:#067647}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;max-width:980px}.form-grid .span-2{grid-column:1/-1}.stack{display:flex;flex-direction:column;gap:16px;max-width:680px}label{display:flex;flex-direction:column;gap:7px;font-size:14px;font-weight:650;color:#344054}input,select,textarea{width:100%;border:1px solid #d0d5dd;background:#fff;border-radius:10px;padding:11px 12px;color:#101828;outline:none}input:focus,select:focus,textarea:focus{border-color:#84adff;box-shadow:0 0 0 3px #d1e0ff}textarea{resize:vertical}.check{flex-direction:row;align-items:center}.check input{width:auto}.filter-bar{display:flex;gap:10px;margin-bottom:15px}.filter-bar select{max-width:360px}.top-gap{margin-top:18px}.two-cols{display:grid;grid-template-columns:360px 1fr;gap:20px;align-items:start}.manual-box{border-top:1px solid var(--line);padding-top:18px}.question-picker{display:grid;gap:8px;max-height:420px;overflow:auto}.question-choice{flex-direction:row;align-items:flex-start;padding:10px;border:1px solid var(--line);border-radius:10px}.question-choice input{width:auto;margin-top:3px}.muted{color:var(--muted)}code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.public-body{background:linear-gradient(180deg,#f8fbff 0,#fff 60%)}.public-header,.public-footer{max-width:1180px;margin:auto;padding:22px 28px;display:flex;align-items:center;justify-content:space-between}.public-header nav{display:flex;gap:18px;align-items:center}.public-main{max-width:1180px;margin:auto;padding:50px 28px 80px}.public-footer{border-top:1px solid var(--line);color:var(--muted);font-size:13px}.hero{display:grid;grid-template-columns:1.05fr .95fr;gap:50px;align-items:center;min-height:530px}.hero h1{font-size:54px;line-height:1.03;letter-spacing:-.04em;margin:14px 0 20px}.hero p{font-size:19px;line-height:1.7;color:var(--muted)}.eyebrow{font-size:12px;letter-spacing:.15em;font-weight:900;color:var(--primary)}.hero-panel{background:linear-gradient(145deg,#101828,#1d2939);padding:28px;border-radius:24px;box-shadow:0 30px 80px rgba(16,24,40,.2)}.mock-question{display:flex;flex-direction:column;gap:12px;color:#fff}.mock-question>strong{font-size:24px;margin:10px 0}.mock-question>div{padding:14px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12);border-radius:12px}.feature-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.feature-grid article{padding:22px;border:1px solid var(--line);border-radius:16px;background:#fff}.feature-grid p{color:var(--muted);margin-bottom:0}.auth-card{max-width:430px;margin:60px auto;text-align:center}.auth-card .stack{text-align:left}.auth-icon{width:58px;height:58px;margin:0 auto 12px;display:grid;place-items:center;border-radius:16px;background:var(--primary);color:#fff;font-size:28px;font-weight:900}.auth-card p,.auth-card small{color:var(--muted)}.legal-card{max-width:900px;margin:auto;line-height:1.75}.legal-card h1{font-size:38px}.legal-card h2{margin-top:28px}.error-card{max-width:600px;text-align:center;margin:70px auto}.error-card>strong{font-size:72px;color:#d0d5dd}.presentation-body{background:#07101f;color:#fff;overflow:auto}.presentation{height:100vh;overflow:hidden;display:grid;grid-template-rows:auto 5px 1fr auto;background:radial-gradient(circle at 50% -20%,#15396f 0,#0b1e3b 32%,#07101f 68%)}.presentation-top,.presentation-footer{padding:18px 28px;display:flex;justify-content:space-between;align-items:center;gap:20px}.presentation-top>div{display:flex;align-items:center;gap:10px}.live-dot{width:9px;height:9px;background:#12b76a;border-radius:50%;box-shadow:0 0 0 5px rgba(18,183,106,.15)}.presentation-controls{display:flex;gap:8px}.icon-btn{width:42px;height:42px;border-radius:12px;border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.06);color:#fff;display:grid;place-items:center;font-size:22px}.progress-track{width:100%;height:5px;display:block;border:0;border-radius:0;background:rgba(255,255,255,.08);appearance:none}.progress-track::-webkit-progress-bar{background:rgba(255,255,255,.08)}.progress-track::-webkit-progress-value{background:#53b1fd}.progress-track::-moz-progress-bar{background:#53b1fd}.question-stage{display:flex;flex-direction:column;justify-content:center;max-width:1500px;width:100%;margin:auto;padding:30px 5vw}.stage-meta{display:flex;justify-content:space-between;align-items:center;color:#b2ccff;font-weight:800}.timer{display:grid;place-items:center;width:64px;height:64px;border-radius:50%;border:3px solid #53b1fd;font-size:24px;color:#fff}.timer.urgent{border-color:#f04438;color:#fda29b}.question-stage h1{font-size:clamp(2.2rem,4.6vw,5.4rem);line-height:1.08;letter-spacing:-.035em;text-align:center;margin:30px auto 40px;max-width:1300px}.answers{display:grid;grid-template-columns:1fr 1fr;gap:16px}.answer-card{min-height:100px;border-radius:18px;padding:18px 22px;border:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.075);color:#fff;display:grid;grid-template-columns:52px 1fr;align-items:center;text-align:left;gap:14px;transition:.2s}.answer-card:hover:not(:disabled){transform:translateY(-2px);background:rgba(255,255,255,.12);border-color:#84adff}.answer-card span{width:46px;height:46px;border-radius:13px;background:#175cd3;display:grid;place-items:center;font-size:20px;font-weight:900}.answer-card strong{font-size:clamp(1.1rem,1.6vw,1.8rem);line-height:1.25}.answer-card:disabled{cursor:default;opacity:.72}.answer-card.correct-option{background:rgba(18,183,106,.2);border-color:#32d583;opacity:1}.answer-card.wrong-option{background:rgba(240,68,56,.18);border-color:#f97066;opacity:1}.feedback{margin:20px auto 0;padding:16px 22px;border-radius:14px;font-size:22px;font-weight:900;text-align:center}.feedback small{display:block;font-weight:500;font-size:14px;margin-top:8px}.feedback.correct{background:rgba(18,183,106,.18);color:#6ce9a6}.feedback.incorrect,.feedback.timeout{background:rgba(240,68,56,.16);color:#fda29b}.hint{margin:14px auto 0;padding:12px 18px;border-radius:12px;background:rgba(247,144,9,.13);color:#fec84b;max-width:900px}.presentation-footer{color:#98a2b3;font-size:12px}.result-screen{min-height:100vh;display:grid;place-items:center;padding:30px;background:radial-gradient(circle at top,#15396f,#07101f 60%)}.result-card{text-align:center;max-width:900px;width:100%}.result-card h1{font-size:40px}.score-ring{width:230px;height:230px;border-radius:50%;border:12px solid #53b1fd;margin:28px auto;display:grid;place-content:center}.score-ring strong{font-size:58px}.score-ring span{color:#b2ccff}.result-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin:28px 0}.result-grid div{padding:18px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.1);border-radius:14px}.result-grid strong{display:block;font-size:30px}.result-grid span{font-size:12px;color:#98a2b3}.result-card .btn.primary{background:#53b1fd;border-color:#53b1fd;color:#07101f}
@media(max-width:1000px){.app-shell{grid-template-columns:1fr}.sidebar{position:fixed;z-index:20;left:-280px;width:260px;transition:left .25s}.sidebar-open .sidebar{left:0}.menu-toggle{display:block;margin-right:auto;border:0;background:none;font-size:22px}.kpi-grid{grid-template-columns:repeat(2,1fr)}.two-cols{grid-template-columns:1fr}.hero{grid-template-columns:1fr}.hero h1{font-size:42px}.feature-grid{grid-template-columns:repeat(2,1fr)}.answers{grid-template-columns:1fr}.presentation-footer>span{display:none}.result-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:640px){.content,.public-main{padding:20px}.topbar{padding:0 16px}.page-head{align-items:flex-start;flex-direction:column}.kpi-grid,.form-grid,.feature-grid{grid-template-columns:1fr}.form-grid .span-2{grid-column:auto}.hero{min-height:auto}.hero h1{font-size:36px}.public-header{padding:16px 20px}.public-header nav>a:not(.btn){display:none}.public-footer{flex-direction:column;gap:8px}.presentation-top,.presentation-footer{padding:12px 16px}.question-stage{padding:18px}.question-stage h1{margin:20px 0 24px}.answer-card{min-height:76px;padding:12px}.result-grid{grid-template-columns:1fr 1fr}}

.permissions-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.permissions-grid h3{grid-column:1/-1;margin:18px 0 4px}.permission-check{padding:10px;border:1px solid var(--line);border-radius:10px}.permission-check span small{display:block;color:var(--muted)}@media(max-width:800px){.permissions-grid{grid-template-columns:1fr}}

.profile-link{display:block;color:#84adff;font-size:13px;margin-bottom:8px}.secret-code,.uri-code{display:block;word-break:break-all;background:#f2f4f7;padding:10px;border-radius:8px;margin:8px 0;color:#101828}.recovery-codes{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin-top:12px}.recovery-codes code{background:#fff;padding:8px;border-radius:8px;color:#101828}

.result-details{max-width:1200px;width:100%;margin:34px auto 0;background:#fff;color:#172033;border-radius:16px;padding:22px;text-align:left}.result-details h2{margin-top:0}

.stack.compact{gap:6px;min-width:210px}.inline-form{display:flex;gap:6px;align-items:center}.inline-form select{min-width:140px;padding:7px 9px}

.password-input-group{position:relative;display:flex;align-items:center}.password-input-group input{padding-right:2.75rem}.btn-toggle-pw{position:absolute;right:6px;top:50%;transform:translateY(-50%);background:transparent;border:none;cursor:pointer;padding:6px;color:#667085;display:inline-flex;align-items:center;justify-content:center;border-radius:6px;transition:color .15s ease,background-color .15s ease}.btn-toggle-pw:hover{color:#101828;background-color:#f2f4f7}.btn-toggle-pw svg{width:20px;height:20px;pointer-events:none}.hidden{display:none!important}
.password-strength-widget{margin-top:10px;padding:14px 16px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;font-size:13px}.strength-bar-container{margin-bottom:12px}.strength-bar-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px;font-size:13px}.strength-title{color:#334155}.strength-percent{font-weight:800;color:#475569}.strength-bar-track{height:8px;background:#e2e8f0;border-radius:999px;overflow:hidden}.strength-bar-fill{height:100%;width:0%;transition:width .3s ease,background-color .3s ease;border-radius:999px}.strength-bar-fill.lvl-0{width:0%;background-color:#cbd5e1}.strength-bar-fill.lvl-20{width:20%;background-color:#f04438}.strength-bar-fill.lvl-40{width:40%;background-color:#f79009}.strength-bar-fill.lvl-60{width:60%;background-color:#eaaa08}.strength-bar-fill.lvl-80{width:80%;background-color:#2e90fa}.strength-bar-fill.lvl-100{width:100%;background-color:#12b76a}.strength-rules-list{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:6px 12px}.strength-rules-list li{display:flex;align-items:center;gap:6px;color:#64748b;font-size:12px;transition:color .2s ease}.strength-rules-list li.valid{color:#027a48;font-weight:600}.strength-rules-list li .rule-icon{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:50%;background:#eaecf0;color:#667085;font-size:11px;font-weight:bold;line-height:1}.strength-rules-list li.valid .rule-icon{background:#ecfdf3;color:#12b76a}
.mfa-qr-notice{background:#f8fafc;border:1px solid #e2e8f0}.mfa-qr-box{display:inline-block;background:#fff;padding:12px;border-radius:12px;border:1px solid #cbd5e1;box-shadow:0 4px 12px rgba(0,0,0,.05);margin:8px 0}.mfa-qr-box svg{display:block;width:180px;height:180px}

/* Custom MFA Redesign */
.auth-card.mfa-card{max-width:540px;margin:40px auto;padding:32px 28px;text-align:left;border-radius:16px;box-shadow:0 12px 36px rgba(16,24,40,.09);border:1px solid #e2e8f0;background:#fff}
.mfa-top-alert{background:#eff6ff;border:1px solid #bfdbfe;border-radius:12px;padding:14px 16px;display:flex;align-items:flex-start;gap:12px;margin-bottom:24px}
.mfa-alert-icon{background:#fef08a;border:1px solid #fde047;border-radius:10px;width:34px;height:34px;min-width:34px;display:grid;place-items:center;font-size:18px;box-shadow:0 2px 4px rgba(0,0,0,.05)}
.mfa-top-alert-content{font-size:13px;line-height:1.45;color:#1e3a8a}
.mfa-top-alert-content strong{display:block;font-size:14px;color:#1d4ed8;margin-bottom:2px}
.mfa-top-alert-content p{margin:0;color:#1e3a8a}
.mfa-title{font-size:24px;font-weight:900;text-align:center;color:#0f172a;margin:0 0 6px;letter-spacing:-.02em}
.mfa-subtitle{font-size:13.5px;text-align:center;color:#475569;margin:0 0 22px;line-height:1.5}
.mfa-steps-list{font-size:13px;color:#334155;margin:0 0 22px;padding-left:20px;line-height:1.65}
.mfa-steps-list li{margin-bottom:6px}
.mfa-steps-list strong{color:#0f172a}
.mfa-qr-container{display:flex;justify-content:center;margin:0 0 20px}
.mfa-qr-card{background:#fff;border:1px solid #cbd5e1;border-radius:14px;padding:14px;box-shadow:0 4px 14px rgba(0,0,0,.04);display:inline-block}
.mfa-qr-card svg,.mfa-qr-card img{display:block;width:190px;height:190px}
.mfa-manual-card{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;padding:16px;text-align:center;margin-bottom:22px}
.mfa-manual-title{display:block;font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#64748b;margin-bottom:6px}
.mfa-secret-code{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:16px;font-weight:800;color:#1d4ed8;letter-spacing:.08em;margin:6px 0 10px;word-break:break-all;user-select:all}
.mfa-field-label{display:block;text-align:center;font-size:11.5px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:#334155;margin-bottom:10px}
.mfa-digit-container{display:flex;justify-content:center;margin-bottom:20px}
.mfa-code-input{width:100%;max-width:380px;height:54px;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:26px;font-weight:800;letter-spacing:.35em;text-align:center;color:#1e293b;border:2px solid #3b82f6;border-radius:10px;background:#fff;outline:none;transition:border-color .2s,box-shadow .2s}
.mfa-code-input:focus{border-color:#1d4ed8;box-shadow:0 0 0 4px rgba(37,99,235,.15)}
.mfa-code-input::placeholder{color:#94a3b8;letter-spacing:.35em;opacity:.7}
.mfa-primary-btn{background:#2563eb;color:#fff;font-weight:800;font-size:14.5px;letter-spacing:.05em;text-transform:uppercase;padding:14px;border-radius:10px;border:none;width:100%;cursor:pointer;transition:background-color .15s ease}
.mfa-primary-btn:hover{background:#1d4ed8}
.mfa-links{display:flex;flex-direction:column;align-items:center;gap:12px;margin-top:22px;padding-top:18px;border-top:1px solid #f1f5f9;text-align:center}
.mfa-link-blue{color:#2563eb;font-size:13px;font-weight:700;text-decoration:none;display:inline-flex;align-items:center;gap:6px;transition:color .15s}
.mfa-link-blue:hover{color:#1d4ed8;text-decoration:underline}
.mfa-link-red-btn{background:none;border:none;color:#dc2626;font-size:13px;font-weight:700;cursor:pointer;display:inline-flex;align-items:center;gap:6px;padding:0;font-family:inherit}
.mfa-link-red-btn:hover{color:#b91c1c;text-decoration:underline}
.inline-logout-form{display:inline;margin:0;padding:0}

/* Corporate Import Modal Redesign */
.btn-link-id{background:none;border:none;color:#2563eb;font-weight:800;font-size:14px;padding:0;cursor:pointer;text-decoration:underline}
.btn-link-id:hover{color:#1d4ed8}
.corp-badge-ready,.corp-badge-imported,.corp-badge-valid{background:#ecfdf3;color:#027a48;border:1px solid #abefc6}
.corp-badge-invalid,.corp-badge-failed{background:#fef2f2;color:#b42318;border:1px solid #fecdca}
.corp-badge-duplicate,.corp-badge-uploaded,.corp-badge-validating{background:#fffbeb;color:#b45309;border:1px solid #fde68a}
.text-success-bold{color:#15803d;font-weight:800}
.text-danger-bold{color:#dc2626;font-weight:800}
.text-warning-bold{color:#d97706;font-weight:800}
.text-primary{color:#2563eb}
.text-success{color:#16a34a}
.text-danger{color:#dc2626}
.text-warning{color:#d97706}

.corp-modal-backdrop{position:fixed;top:0;left:0;width:100vw;height:100vh;background:rgba(15,23,42,.65);backdrop-filter:blur(4px);display:none;place-items:center;z-index:1000;padding:20px;overflow-y:auto}
.corp-modal-backdrop.active{display:grid!important}
.corp-modal-dialog{background:#fff;border-radius:16px;box-shadow:0 25px 50px -12px rgba(0,0,0,.25);border:1px solid #e2e8f0;width:100%;max-width:1050px;margin:auto;overflow:hidden;display:flex;flex-direction:column;max-height:92vh;animation:modalPop .25s ease-out}
@keyframes modalPop{from{opacity:0;transform:scale(.97) translateY(8px)}to{opacity:1;transform:scale(1) translateY(0)}}
.corp-modal-dialog.modal-md{max-width:580px}
.corp-modal-dialog.modal-xl{max-width:1120px}
.corp-modal-header{padding:20px 24px;border-bottom:1px solid #e2e8f0;background:#f8fafc;display:flex;align-items:center;justify-content:space-between;gap:16px}
.corp-modal-title-group{display:flex;align-items:center;gap:14px}
.corp-modal-icon{width:44px;height:44px;background:#eff6ff;border:1px solid #bfdbfe;border-radius:12px;display:grid;place-items:center;font-size:22px;color:#2563eb;box-shadow:0 2px 4px rgba(0,0,0,.04)}
.corp-modal-title-group h2{margin:0;font-size:20px;font-weight:800;color:#0f172a}
.corp-modal-title-group p{margin:2px 0 0;font-size:13px;color:#64748b}
.corp-modal-close{background:none;border:none;font-size:26px;color:#64748b;cursor:pointer;border-radius:8px;width:36px;height:36px;display:grid;place-items:center;transition:background .15s}
.corp-modal-close:hover{background:#e2e8f0;color:#0f172a}
.corp-modal-body{padding:24px;overflow-y:auto;flex:1;min-height:0}
.corp-modal-footer{padding:16px 24px;background:#f8fafc;border-top:1px solid #e2e8f0;display:flex;justify-content:flex-end;gap:12px;align-items:center}

.corp-kpi-grid{margin-bottom:20px}
.corp-kpi-grid .kpi{padding:16px;border-radius:12px}
.corp-kpi-grid .kpi.kpi-success{border-color:#bbf7d0;background:#f0fdf4}
.corp-kpi-grid .kpi.kpi-danger{border-color:#fecaca;background:#fef2f2}
.corp-kpi-grid .kpi.kpi-warning{border-color:#fef08a;background:#fffbeb}

.corp-alert{display:flex;align-items:flex-start;gap:12px;margin-bottom:20px}
.corp-alert .alert-icon{font-size:20px}
.corp-alert strong{display:block;font-size:14px;margin-bottom:2px}
.corp-alert p{margin:0;font-size:13px;line-height:1.4}

.corp-filter-tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:18px;border-bottom:1px solid #e2e8f0;padding-bottom:12px}
.tab-btn{background:#f1f5f9;border:1px solid #cbd5e1;border-radius:8px;padding:7px 14px;font-size:13px;font-weight:700;color:#475569;cursor:pointer;transition:all .15s}
.tab-btn:hover{background:#e2e8f0;color:#0f172a}
.tab-btn.active{background:#2563eb;color:#fff;border-color:#2563eb}
.tab-btn.danger-tab:hover,.tab-btn.danger-tab.active{background:#dc2626;color:#fff;border-color:#dc2626}
.tab-btn.warning-tab:hover,.tab-btn.warning-tab.active{background:#d97706;color:#fff;border-color:#d97706}
.tab-btn.success-tab:hover,.tab-btn.success-tab.active{background:#16a34a;color:#fff;border-color:#16a34a}

.corp-row-table-wrap{border-radius:12px;border:1px solid #e2e8f0;max-height:420px;overflow-y:auto}
.corp-row-table{border-collapse:collapse;width:100%}
.corp-row-table th{position:sticky;top:0;z-index:2;background:#f8fafc;border-bottom:2px solid #e2e8f0}
.corp-row-table tr.row-item{transition:background .15s}
.corp-row-table tr.highlight-red,.corp-row-table tr.highlight-amber{background-color:#fef2f2!important;border-left:6px solid #dc2626!important}
.corp-row-table tr.highlight-red .col-row-num,.corp-row-table tr.highlight-amber .col-row-num{color:#dc2626!important;font-weight:900}
.corp-row-table tr.highlight-green{background-color:#f0fdf4!important;border-left:6px solid #22c55e!important}
.col-row-num{text-align:center;color:#475569}
.col-question-detail .q-text{font-weight:700;color:#0f172a;margin-bottom:6px;font-size:13.5px;line-height:1.4}
.col-question-detail .q-options-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:4px 12px;font-size:12px;color:#64748b}
.col-question-detail .q-options-grid span{padding:3px 6px;border-radius:6px;background:rgba(255,255,255,.6);border:1px solid rgba(0,0,0,.06)}
.col-question-detail .opt-correct{font-weight:800;color:#15803d;background:#dcfce7!important;border-color:#86efac!important}

.error-detail-box,.warning-detail-box{background:#fee2e2!important;border:1.5px solid #fca5a5!important;padding:10px 14px!important;border-radius:10px!important;font-size:13px!important;color:#991b1b!important;line-height:1.45!important;box-shadow:0 2px 6px rgba(220,38,38,.08)!important}
.error-detail-box strong,.warning-detail-box strong{display:block!important;font-weight:800!important;color:#7f1d1d!important;margin-bottom:3px!important;font-size:13.5px!important}
.error-detail-box p,.warning-detail-box p{margin:0}
.success-detail-box{color:#166534;font-weight:700;font-size:13px;display:flex;align-items:center;gap:6px}

.kpi-clickable{cursor:pointer!important;transition:transform .15s ease,box-shadow .15s ease!important}
.kpi-clickable:hover{transform:translateY(-3px)!important;box-shadow:0 8px 20px rgba(0,0,0,.08)!important}
.kpi-click-hint{display:block;font-size:11px;color:#64748b;margin-top:4px;font-weight:600}


.secondary-btn{background:#fff;border:1px solid #cbd5e1;color:#334155;padding:12px 20px;font-weight:700;border-radius:10px;cursor:pointer;transition:all .15s}
.secondary-btn:hover{background:#f8fafc;border-color:#94a3b8;color:#0f172a}
.disabled-btn{background:#e2e8f0!important;color:#94a3b8!important;border:1px solid #e2e8f0!important;padding:12px 20px;font-weight:700;border-radius:10px;cursor:not-allowed}
.corp-btn-view{background:#eff6ff;border-color:#bfdbfe;color:#1d4ed8;font-weight:700}
.corp-btn-view:hover{background:#dbeafe;border-color:#93c5fd;color:#1e40af}

.is-hidden{display:none!important}
.empty-row-td{padding:30px;text-align:center}
.p-24{padding:24px}
.modal-footer-upload{padding:16px 0 0 0;border-top:none}
.btn-validar{width:auto!important;padding:12px 24px!important}
.w-70{width:70px}
.w-110{width:110px}
.form-confirm-inline{display:inline}
.success-btn{background:#ecfdf3!important;color:#027a48!important;border:1px solid #abefc6!important;padding:12px 20px;font-weight:800;border-radius:10px;cursor:default!important}

/* ==========================================================================
   ULTRA-SLEEK CORPORATE SIDEBAR & APP SHELL STYLES
   ========================================================================== */

.app-shell {
    display: grid;
    grid-template-columns: 285px 1fr;
    min-height: 100vh;
    transition: grid-template-columns 0.25s cubic-bezier(0.4, 0, 0.2, 1);
}

.app-shell.collapsed {
    grid-template-columns: 74px 1fr;
}

/* Sidebar Container */
.sidebar.corp-sidebar {
    position: sticky;
    top: 0;
    height: 100vh;
    background: #0b1324;
    border-right: 1px solid rgba(255, 255, 255, 0.07);
    color: #94a3b8;
    padding: 16px 14px;
    display: flex;
    flex-direction: column;
    gap: 16px;
    z-index: 100;
    transition: width 0.25s cubic-bezier(0.4, 0, 0.2, 1), padding 0.25s cubic-bezier(0.4, 0, 0.2, 1);
    overflow-x: hidden;
    user-select: none;
    box-shadow: 4px 0 24px rgba(0, 0, 0, 0.12);
}

/* Header & Brand */
.sidebar-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 4px 2px 12px 2px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.06);
    min-height: 48px;
    gap: 8px;
}

.sidebar-header .brand {
    display: flex;
    align-items: center;
    gap: 10px;
    color: #fff;
    overflow: hidden;
    flex: 1;
    min-width: 0;
}

.sidebar-header .brand-mark {
    width: 38px;
    height: 38px;
    min-width: 38px;
    border-radius: 12px;
    background: linear-gradient(135deg, #3b82f6 0%, #1d4ed8 100%);
    color: #fff;
    display: grid;
    place-items: center;
    box-shadow: 0 4px 14px rgba(37, 99, 235, 0.35);
}

.sidebar-header .brand-text {
    display: flex;
    flex-direction: column;
    white-space: nowrap;
    transition: opacity 0.2s;
    flex: 1;
    min-width: 0;
    overflow: hidden;
}

.sidebar-header .brand-name {
    font-size: 15px;
    font-weight: 800;
    color: #f8fafc;
    letter-spacing: -0.02em;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.sidebar-header .brand-sub {
    font-size: 11px;
    color: #64748b;
    font-weight: 600;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.sidebar-collapse-btn {
    background: rgba(255, 255, 255, 0.05);
    border: 1px solid rgba(255, 255, 255, 0.08);
    color: #94a3b8;
    width: 32px;
    height: 32px;
    min-width: 32px;
    border-radius: 8px;
    display: grid;
    place-items: center;
    cursor: pointer;
    transition: all 0.2s;
}

.sidebar-collapse-btn:hover {
    background: rgba(255, 255, 255, 0.12);
    color: #fff;
    border-color: rgba(255, 255, 255, 0.2);
}

.chevron-icon {
    transition: transform 0.25s ease;
}

.app-shell.collapsed .chevron-icon {
    transform: rotate(180deg);
}

/* Quick Search */
.sidebar-search {
    position: relative;
    display: flex;
    align-items: center;
    background: rgba(255, 255, 255, 0.04);
    border: 1px solid rgba(255, 255, 255, 0.07);
    border-radius: 10px;
    padding: 0 10px;
    height: 38px;
    transition: all 0.2s;
}

.sidebar-search:focus-within {
    background: rgba(255, 255, 255, 0.08);
    border-color: #3b82f6;
    box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.15);
}

.sidebar-search .search-icon {
    color: #64748b;
    display: flex;
    align-items: center;
    margin-right: 8px;
}

.sidebar-search input {
    background: transparent;
    border: none;
    outline: none;
    color: #f1f5f9;
    font-size: 13px;
    width: 100%;
    padding: 0;
}

.sidebar-search input::placeholder {
    color: #64748b;
}

.search-kbd {
    background: rgba(255, 255, 255, 0.08);
    border: 1px solid rgba(255, 255, 255, 0.1);
    color: #94a3b8;
    border-radius: 4px;
    padding: 2px 5px;
    font-size: 10px;
    font-family: inherit;
    font-weight: 700;
}

/* Navigation List */
.sidebar-nav {
    display: flex;
    flex-direction: column;
    gap: 4px;
    flex: 1;
    overflow-y: auto;
    overflow-x: hidden;
    padding-right: 2px;
}

.sidebar-nav .nav-label {
    font-size: 10.5px;
    font-weight: 800;
    letter-spacing: 0.08em;
    color: #475569;
    margin: 14px 8px 4px 8px;
    white-space: nowrap;
    transition: opacity 0.2s;
}

.sidebar-nav .nav-item {
    position: relative;
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 10px 12px;
    border-radius: 10px;
    color: #94a3b8;
    font-size: 13.5px;
    font-weight: 600;
    text-decoration: none;
    transition: all 0.18s ease;
    white-space: nowrap;
}

.sidebar-nav .nav-item:hover {
    background: rgba(255, 255, 255, 0.06);
    color: #f8fafc;
}

.sidebar-nav .nav-item.active {
    background: linear-gradient(90deg, rgba(37, 99, 235, 0.2) 0%, rgba(37, 99, 235, 0.05) 100%);
    color: #60a5fa;
    font-weight: 700;
    border-left: 3px solid #3b82f6;
    padding-left: 9px;
}

.sidebar-nav .nav-item.active .nav-icon {
    color: #60a5fa;
}

.sidebar-nav .nav-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    color: #64748b;
    min-width: 22px;
    transition: color 0.18s;
}

.sidebar-nav .nav-item:hover .nav-icon {
    color: #38bdf8;
}

/* Sidebar Bottom Widget */
.sidebar-widget {
    background: linear-gradient(135deg, rgba(30, 41, 59, 0.7) 0%, rgba(15, 23, 42, 0.9) 100%);
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 12px;
    padding: 12px 14px;
    margin-top: auto;
    transition: opacity 0.2s, display 0.2s;
}

.sidebar-widget .widget-badge {
    font-size: 10px;
    font-weight: 900;
    letter-spacing: 0.06em;
    color: #38bdf8;
    background: rgba(56, 189, 248, 0.12);
    border: 1px solid rgba(56, 189, 248, 0.25);
    padding: 2px 7px;
    border-radius: 999px;
    display: inline-block;
    margin-bottom: 6px;
}

.sidebar-widget .widget-text {
    font-size: 11.5px;
    color: #94a3b8;
    margin: 0;
    line-height: 1.4;
}

/* Sidebar User Footer */
.sidebar-user-footer {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 10px 6px 4px 6px;
    border-top: 1px solid rgba(255, 255, 255, 0.06);
    min-height: 52px;
}

.user-avatar-circle {
    width: 38px;
    height: 38px;
    min-width: 38px;
    border-radius: 50%;
    background: linear-gradient(135deg, #1e293b 0%, #334155 100%);
    border: 2px solid #3b82f6;
    color: #fff;
    font-weight: 800;
    font-size: 15px;
    display: grid;
    place-items: center;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2);
}

.user-info-box {
    display: flex;
    flex-direction: column;
    overflow: hidden;
    white-space: nowrap;
    flex: 1;
}

.user-info-box .user-name {
    font-size: 13.5px;
    font-weight: 700;
    color: #f8fafc;
    overflow: hidden;
    text-overflow: ellipsis;
}

.user-info-box .user-email {
    font-size: 11.5px;
    color: #64748b;
    overflow: hidden;
    text-overflow: ellipsis;
}

.user-actions {
    display: flex;
    align-items: center;
    gap: 4px;
}

.user-action-btn {
    background: rgba(255, 255, 255, 0.05);
    border: 1px solid rgba(255, 255, 255, 0.08);
    color: #94a3b8;
    width: 32px;
    height: 32px;
    border-radius: 8px;
    display: grid;
    place-items: center;
    cursor: pointer;
    transition: all 0.15s;
    padding: 0;
}

.user-action-btn:hover {
    background: rgba(255, 255, 255, 0.15);
    color: #fff;
}

.user-action-btn.logout-btn:hover {
    background: rgba(239, 68, 68, 0.2);
    color: #ef4444;
    border-color: rgba(239, 68, 68, 0.4);
}

/* ==========================================================================
   COLLAPSED SIDEBAR BEHAVIOR (ICON-ONLY MODE)
   ========================================================================== */

.app-shell.collapsed .sidebar.corp-sidebar {
    padding: 16px 10px;
}

.app-shell.collapsed .brand-text,
.app-shell.collapsed .sidebar-search,
.app-shell.collapsed .nav-title,
.app-shell.collapsed .nav-label,
.app-shell.collapsed .sidebar-widget,
.app-shell.collapsed .user-info-box {
    display: none !important;
}

.app-shell.collapsed .sidebar-header {
    justify-content: center;
    gap: 0;
    padding: 4px 0 12px 0;
}

.app-shell.collapsed .sidebar-header .brand {
    display: none;
}

.app-shell.collapsed .sidebar-nav {
    align-items: center;
    gap: 8px;
}

.app-shell.collapsed .sidebar-nav .nav-item {
    width: 48px;
    height: 48px;
    padding: 0;
    justify-content: center;
    border-radius: 12px;
    border-left: none !important;
}

.app-shell.collapsed .sidebar-nav .nav-item.active {
    background: #2563eb !important;
    color: #fff !important;
    box-shadow: 0 4px 12px rgba(37, 99, 235, 0.4);
}

.app-shell.collapsed .sidebar-nav .nav-item.active .nav-icon {
    color: #fff !important;
}

.app-shell.collapsed .sidebar-user-footer {
    justify-content: center;
    padding: 10px 0 4px 0;
}

.app-shell.collapsed .user-actions {
    display: none !important;
}

/* Floating Tooltips in Collapsed Mode */
.app-shell.collapsed [data-tooltip] {
    position: relative;
}

.app-shell.collapsed [data-tooltip]:hover::after {
    content: attr(data-tooltip);
    position: absolute;
    left: 60px;
    top: 50%;
    transform: translateY(-50%);
    background: #0f172a;
    border: 1px solid #334155;
    color: #f8fafc;
    padding: 6px 12px;
    border-radius: 8px;
    font-size: 12px;
    font-weight: 700;
    white-space: nowrap;
    z-index: 1000;
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.35);
    pointer-events: none;
    animation: tooltipFadeIn 0.15s ease-out;
}

@keyframes tooltipFadeIn {
    from { opacity: 0; transform: translateY(-50%) translateX(-6px); }
    to { opacity: 1; transform: translateY(-50%) translateX(0); }
}

/* ==========================================================================
   TOPBAR CORPORATIVO
   ========================================================================== */

.corp-topbar {
    height: 64px;
    background: #ffffff;
    border-bottom: 1px solid #e2e8f0;
    padding: 0 28px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.02);
}

.topbar-left {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    gap: 16px;
}

.topbar-status-badge {
    display: flex;
    align-items: center;
    gap: 8px;
    background: #f0fdf4;
    border: 1px solid #bbf7d0;
    padding: 5px 12px;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 700;
    color: #166534;
}

.topbar-status-badge .status-dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #22c55e;
    box-shadow: 0 0 0 3px rgba(34, 197, 94, 0.2);
}

.topbar-right {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    gap: 12px;
}

.topbar-user {
    display: flex !important;
    flex-direction: column !important;
    text-align: right !important;
    justify-content: center !important;
}

.topbar-user strong {
    font-size: 13.5px !important;
    color: #0f172a !important;
    font-weight: 800 !important;
    line-height: 1.2 !important;
}

.topbar-user span {
    font-size: 11.5px !important;
    color: #64748b !important;
    line-height: 1.2 !important;
}

.topbar-avatar {
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background: linear-gradient(135deg, #2563eb, #1d4ed8);
    color: #fff;
    font-weight: 800;
    display: grid;
    place-items: center;
    font-size: 14px;
    box-shadow: 0 2px 6px rgba(37, 99, 235, 0.25);
}

/* Dynamic Presentation Animations */
.answer-card {
    transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1) !important;
}

.answer-card.selected {
    background: rgba(59, 130, 246, 0.25) !important;
    border-color: #3b82f6 !important;
    box-shadow: 0 0 15px rgba(59, 130, 246, 0.4) !important;
    transform: scale(1.01) !important;
}

.answer-card.correct-option {
    background: rgba(34, 197, 94, 0.25) !important;
    border: 2px solid #22c55e !important;
    box-shadow: 0 0 24px rgba(34, 197, 94, 0.45) !important;
    color: #ffffff !important;
    opacity: 1 !important;
    animation: correctPulse 0.4s ease-out !important;
}

.answer-card.correct-option span {
    background: #22c55e !important;
    color: #ffffff !important;
}

.answer-card.wrong-option {
    background: rgba(239, 68, 68, 0.25) !important;
    border: 2px solid #ef4444 !important;
    box-shadow: 0 0 20px rgba(239, 68, 68, 0.4) !important;
    color: #ffffff !important;
    opacity: 1 !important;
    animation: wrongShake 0.35s ease-out !important;
}

.answer-card.wrong-option span {
    background: #ef4444 !important;
    color: #ffffff !important;
}

@keyframes correctPulse {
    0% { transform: scale(1); }
    50% { transform: scale(1.03); }
    100% { transform: scale(1); }
}

@keyframes wrongShake {
    0%, 100% { transform: translateX(0); }
    20%, 60% { transform: translateX(-6px); }
    40%, 80% { transform: translateX(6px); }
}

.feedback {
    animation: feedbackSlideIn 0.3s ease-out;
}

@keyframes feedbackSlideIn {
    from { opacity: 0; transform: translateY(10px); }
    to { opacity: 1; transform: translateY(0); }
}






