/* Skora Premium UI — global presentation layer only. */
:root{--sk-primary:#9e1538;--sk-primary-hover:#84102e;--sk-primary-dark:#650b22;--sk-primary-soft:#f8e9ed;--sk-bg:#faf8f6;--sk-surface:#fff;--sk-surface-soft:#f7f3f1;--sk-text:#241e20;--sk-text-soft:#6f6568;--sk-muted:#968b8e;--sk-border:#e9dfe1;--sk-border-strong:#d9cacc;--sk-success:#34765b;--sk-success-soft:#eaf4ef;--sk-warning-soft:#fff6df;--sk-danger:#ad3f49;--sk-danger-soft:#fbecee;--sk-radius-sm:11px;--sk-radius-md:15px;--sk-radius-lg:20px;--sk-radius-xl:26px;--sk-shadow-sm:0 8px 24px rgba(48,26,31,.055);--sk-shadow-md:0 18px 48px rgba(48,26,31,.08);--sk-focus:0 0 0 4px rgba(158,21,56,.11);--sk-ease:160ms cubic-bezier(.2,.7,.3,1)}
html{color-scheme:light;scroll-behavior:smooth}body{background:var(--sk-bg)!important;color:var(--sk-text)!important;font-family:"Manrope","DM Sans",Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important;font-size:14px;line-height:1.6;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}::selection{color:#fff;background:rgba(158,21,56,.82)}img,svg{max-width:100%}a{color:var(--sk-primary);text-underline-offset:3px}a:hover{color:var(--sk-primary-hover)}:where(a,button,input,select,textarea,[tabindex]):focus-visible{outline:2px solid var(--sk-primary)!important;outline-offset:3px!important}h1,h2,h3,h4,h5,h6{color:var(--sk-text);font-family:"Manrope",sans-serif;font-weight:750;letter-spacing:-.025em;text-wrap:balance}h1{font-size:clamp(1.85rem,3vw,2.55rem);line-height:1.12}h2{font-size:clamp(1.5rem,2vw,2rem);line-height:1.2}p{text-wrap:pretty}small,.small,.text-muted{color:var(--sk-text-soft)!important}
/* Shared shells */
.sk-app,.app-wrapper,.dashboard-wrapper{min-height:100vh}.sk-sidebar{background:rgba(255,253,252,.97)!important;border-right:1px solid var(--sk-border)!important;box-shadow:none!important}.sk-sidebar-header{border-bottom:1px solid var(--sk-border)!important}.sk-brand{letter-spacing:-.035em}.sk-brand-mark{background:var(--sk-primary-soft)!important;color:var(--sk-primary)!important;border:1px solid #f0d7dd}.sk-nav-label{color:var(--sk-muted)!important;font-size:10px!important;letter-spacing:.16em!important}.sk-nav-link{min-height:44px;border-radius:var(--sk-radius-sm)!important;color:var(--sk-text-soft)!important;transition:color var(--sk-ease),background var(--sk-ease),transform var(--sk-ease)}.sk-nav-link:hover{color:var(--sk-text)!important;background:var(--sk-surface-soft)!important;transform:translateX(2px)}.sk-nav-link.active,.sk-nav-link[aria-current=page]{color:var(--sk-primary)!important;background:var(--sk-primary-soft)!important;box-shadow:inset 3px 0 var(--sk-primary)}.sk-topbar{background:rgba(255,255,255,.88)!important;border-bottom:1px solid var(--sk-border)!important;backdrop-filter:saturate(140%) blur(14px)}.sk-content{padding:clamp(20px,3vw,38px)!important}.sk-main,main{min-width:0}.breadcrumb{font-size:12px}.breadcrumb-item.active{color:var(--sk-text-soft)}
/* Surfaces */
.card,.panel,.box,.stat-card,.dashboard-card,.content-card,.summary-card{border:1px solid var(--sk-border)!important;border-radius:var(--sk-radius-lg)!important;background:var(--sk-surface)!important;box-shadow:var(--sk-shadow-sm)!important}.card:hover{border-color:var(--sk-border-strong)!important}.card-header{padding:18px 22px!important;color:var(--sk-text)!important;background:linear-gradient(180deg,#fff,#fffdfc)!important;border-bottom:1px solid var(--sk-border)!important}.card-body{padding:clamp(18px,2vw,24px)!important}.card-footer{padding:16px 22px!important;background:#fdfbf9!important;border-top:1px solid var(--sk-border)!important}.shadow,.shadow-sm{box-shadow:var(--sk-shadow-sm)!important}.shadow-lg{box-shadow:var(--sk-shadow-md)!important}hr{border-color:var(--sk-border);opacity:1}
/* Action hierarchy */
.btn,button:not(.btn-close):not(.navbar-toggler):not(.menu-toggle),input[type=submit]{min-height:42px;border-radius:var(--sk-radius-sm)!important;font-weight:700!important;transition:transform var(--sk-ease),box-shadow var(--sk-ease),background var(--sk-ease)!important}.btn:hover,button:not(.btn-close):not(.navbar-toggler):not(.menu-toggle):hover{transform:translateY(-1px)}.btn:active,button:active{transform:none}.btn-primary,.btn-success,.btn-info,input[type=submit]{color:#fff!important;background:var(--sk-primary)!important;border-color:var(--sk-primary)!important;box-shadow:0 5px 14px rgba(158,21,56,.16)!important}.btn-primary:hover,.btn-success:hover,.btn-info:hover,input[type=submit]:hover{background:var(--sk-primary-hover)!important;border-color:var(--sk-primary-hover)!important}.btn-secondary,.btn-light,.btn-outline-secondary{color:var(--sk-text)!important;background:#fff!important;border-color:var(--sk-border-strong)!important}.btn-outline-primary{color:var(--sk-primary)!important;background:transparent!important;border-color:#c98395!important}.btn-outline-primary:hover{color:#fff!important;background:var(--sk-primary)!important}.btn-danger{background:var(--sk-danger)!important;border-color:var(--sk-danger)!important}.btn-link{color:var(--sk-primary)!important;box-shadow:none!important}.btn-sm{min-height:34px}.btn-lg{min-height:50px}.btn:disabled,button:disabled{opacity:.52;transform:none!important;box-shadow:none!important}
/* Forms */
.form-label,label{color:var(--sk-text);font-weight:650}.form-control,.form-select,textarea,input[type=text],input[type=email],input[type=password],input[type=number],input[type=search],input[type=date],input[type=time],select{min-height:45px;color:var(--sk-text)!important;background:#fff!important;border:1px solid var(--sk-border-strong)!important;border-radius:var(--sk-radius-sm)!important;transition:border-color var(--sk-ease),box-shadow var(--sk-ease)}textarea{min-height:112px;line-height:1.6;resize:vertical}.form-control:hover,.form-select:hover,textarea:hover,select:hover{border-color:#cbb8bc!important}.form-control:focus,.form-select:focus,textarea:focus,input:focus,select:focus{border-color:#ba6d81!important;box-shadow:var(--sk-focus)!important;outline:none}.form-control::placeholder,textarea::placeholder{color:#aaa0a2}.form-check-input:checked{background-color:var(--sk-primary);border-color:var(--sk-primary)}.input-group-text{color:var(--sk-text-soft);background:var(--sk-surface-soft);border-color:var(--sk-border-strong)}
/* Tables and lists */
.table-responsive{border:1px solid var(--sk-border);border-radius:var(--sk-radius-md);background:#fff;overflow:auto}.table{margin-bottom:0!important;color:var(--sk-text);vertical-align:middle}.table>:not(caption)>*>*{padding:14px 16px!important;border-bottom-color:var(--sk-border)!important}.table thead th{position:sticky;z-index:2;top:0;color:var(--sk-text-soft)!important;background:#f8f4f2!important;font-size:10.5px;font-weight:800;letter-spacing:.075em;text-transform:uppercase;white-space:nowrap}.table tbody tr:hover>*{background:#fdf8f9!important}.pagination{gap:5px}.pagination .page-link{min-width:38px;text-align:center;color:var(--sk-primary);border-color:var(--sk-border);border-radius:9px!important}.pagination .active>.page-link{color:#fff;background:var(--sk-primary);border-color:var(--sk-primary)}
/* Status and feedback */
.badge,.status,.status-badge{padding:.48em .72em!important;border-radius:999px!important;font-size:10.5px!important;font-weight:800!important}.badge.bg-primary,.bg-primary{background-color:var(--sk-primary)!important}.badge.bg-success,.bg-success{background-color:var(--sk-success)!important}.badge.bg-warning{color:#6f4909!important;background-color:#f4dca8!important}.badge.bg-danger,.bg-danger{background-color:var(--sk-danger)!important}.alert{padding:15px 18px!important;border-width:1px!important;border-radius:var(--sk-radius-md)!important}.alert-success{color:#245941!important;background:var(--sk-success-soft)!important;border-color:#cfe5da!important}.alert-warning{color:#74500f!important;background:var(--sk-warning-soft)!important;border-color:#efdeae!important}.alert-danger{color:#87313a!important;background:var(--sk-danger-soft)!important;border-color:#efcbd0!important}.alert-info{color:#365e72!important;background:#edf4f7!important;border-color:#cddfe7!important}.progress{height:9px;background:#eee7e5;border-radius:999px}.progress-bar{background:var(--sk-primary)}
/* Overlays */
.dropdown-menu{padding:8px;border:1px solid var(--sk-border);border-radius:var(--sk-radius-md);box-shadow:var(--sk-shadow-md)}.dropdown-item{padding:9px 11px;border-radius:9px;color:var(--sk-text-soft)}.dropdown-item:hover{color:var(--sk-text);background:#fdf7f8}.nav-tabs{gap:4px;border-color:var(--sk-border)}.nav-tabs .nav-link{padding:11px 15px;color:var(--sk-text-soft)}.nav-tabs .nav-link.active{color:var(--sk-primary);font-weight:800}.modal-content{border:1px solid var(--sk-border);border-radius:var(--sk-radius-xl)!important;box-shadow:0 28px 90px rgba(45,23,28,.18)}.modal-header,.modal-footer{padding:18px 22px;border-color:var(--sk-border)}.modal-body{padding:22px}.accordion-button:not(.collapsed){color:var(--sk-primary);background:#fdf7f8}
/* Exam and learning comfort */
.ujian-container,.exam-container,.latihan-container{width:min(1440px,calc(100% - 36px))!important;margin-inline:auto!important;padding-block:28px 56px!important}.soal-card,.question-card,.exam-card{border-radius:var(--sk-radius-xl)!important}.soal-content,.question-content{max-width:900px;padding:clamp(22px,3vw,34px)!important}.soal-text,.question-text{color:var(--sk-text)!important;font-size:clamp(17px,1.3vw,19px)!important;line-height:1.78!important;overflow-wrap:anywhere}.opsi-jawaban,.option-item,.answer-option{min-height:62px!important;margin-bottom:12px!important;padding:16px 18px!important;color:var(--sk-text)!important;background:#fff!important;border:1px solid var(--sk-border-strong)!important;border-radius:var(--sk-radius-md)!important;transition:transform var(--sk-ease),border-color var(--sk-ease),background var(--sk-ease)!important}.opsi-jawaban:hover,.option-item:hover,.answer-option:hover{transform:translateY(-1px);border-color:#c48797!important;background:#fffafb!important}.opsi-jawaban.terpilih,.opsi-jawaban.selected,.option-item.selected,.answer-option.selected{border:2px solid var(--sk-primary)!important;background:var(--sk-primary-soft)!important}.timer-container{position:sticky;top:18px}.timer-card{color:#fff!important;background:linear-gradient(145deg,#ae2146,var(--sk-primary-dark))!important;border:0!important;box-shadow:0 16px 34px rgba(112,11,36,.2)!important}.timer-card :is(h1,h2,h3,h4,h5,p,span){color:inherit!important}.btn-soal,.question-number{min-width:40px;min-height:40px;color:var(--sk-text-soft)!important;background:#fff!important;border:1px solid var(--sk-border-strong)!important;border-radius:10px!important}.btn-soal.sedang-dikerjakan,.btn-soal.active,.question-number.active{color:#fff!important;background:var(--sk-primary)!important}.btn-soal.terjawab,.btn-soal.answered,.question-number.answered{color:var(--sk-success)!important;background:var(--sk-success-soft)!important;border-color:#bbd9ca!important}.MathJax,mjx-container{max-width:100%;overflow-x:auto;overflow-y:hidden;padding-block:.12em}.soal-text mjx-container,.opsi-jawaban mjx-container,.pembahasan mjx-container{line-height:1.35}
/* Auth, public and empty states */
.login-card,.register-card,.auth-card,.checkout-card{border:1px solid var(--sk-border)!important;border-radius:var(--sk-radius-xl)!important;background:rgba(255,255,255,.98)!important;box-shadow:0 24px 70px rgba(62,29,37,.1)!important}.hero,.hero-section{isolation:isolate}.hero h1,.hero-section h1{letter-spacing:-.045em}.empty-state,.no-data,.empty-content{padding:clamp(30px,6vw,64px) 24px!important;text-align:center;color:var(--sk-text-soft)}
@media(max-width:991.98px){.sk-content{padding:22px 18px!important}.container-fluid.p-3,.container-fluid.p-4,.container-fluid.p-5{padding:20px!important}.timer-container{position:static}.ujian-container,.exam-container,.latihan-container{width:min(100% - 20px,900px)!important;padding-top:16px!important}}
@media(max-width:575.98px){body{font-size:13.5px}.sk-content{padding:16px 12px!important}.container,.container-fluid{--bs-gutter-x:24px}.card,.panel,.box{border-radius:var(--sk-radius-md)!important}.card-body{padding:17px!important}.card-header,.card-footer{padding:15px 17px!important}.btn:not(.btn-sm){min-height:44px}.soal-content,.question-content{padding:19px!important}.soal-text,.question-text{font-size:16.5px!important;line-height:1.72!important}.opsi-jawaban,.option-item,.answer-option{padding:14px!important}.modal-dialog{margin:12px}.table>:not(caption)>*>*{padding:12px!important}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
@media print{body{background:#fff!important}.sk-sidebar,.sk-topbar,.no-print{display:none!important}.card,.panel,.box{box-shadow:none!important;break-inside:avoid}}

/* ================================================================
   SKORA V2 — role-aware composition
   ================================================================ */
.sk-shell{--sk-page-max:1480px;background:#f8f6f3!important}
.sk-shell .sk-main{background:linear-gradient(180deg,#fbfaf8 0,#f8f6f3 360px)!important}
.sk-shell .sk-content{width:min(100%,var(--sk-page-max));margin-inline:auto}
.sk-shell-owner{--sk-page-max:1560px}.sk-shell-student{--sk-page-max:1320px}.sk-shell-guru{--sk-page-max:1460px}
.sk-shell .sk-topbar{height:76px!important;padding-inline:clamp(18px,3vw,38px)!important}
.sk-shell .sk-sidebar{width:224px!important;padding-inline:12px!important}
.sk-shell .sk-sidebar-header{min-height:76px!important;padding-inline:12px!important}
.sk-shell .sk-nav-section{margin-bottom:18px!important}.sk-shell .sk-nav-link{padding:10px 12px!important;font-size:13px!important}
.sk-shell .sk-nav-link i{width:20px!important;color:#94888b}.sk-shell .sk-nav-link.active i{color:var(--sk-primary)!important}
.sk-shell .sk-page-header,.sk-shell .page-header{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:18px;margin:0 0 28px;padding:0 0 20px;border-bottom:1px solid var(--sk-border)}
.sk-shell .sk-page-header h1,.sk-shell .page-header h1{margin:0;font-size:clamp(1.55rem,2.2vw,2.15rem)}
.sk-shell .stat-card,.sk-shell .metric-card{box-shadow:none!important;background:transparent!important;border-width:0 0 0 1px!important;border-radius:0!important;padding-left:22px!important}
.sk-shell .row:has(> [class*=col] .stat-card),.sk-shell .stats-grid{border:1px solid var(--sk-border);border-radius:20px;background:#fff;box-shadow:0 1px 2px rgba(54,30,36,.03);overflow:hidden}
.sk-shell-owner .table-responsive{box-shadow:none}.sk-shell-owner .card{box-shadow:0 2px 12px rgba(48,26,31,.035)!important}

/* Student environment: quieter, wider rhythm, restrained navigation. */
.sk-shell-student .sk-sidebar{background:#fffdfa!important}.sk-shell-student .sk-content{padding-top:34px!important}
.sk-shell-student .card{box-shadow:0 4px 18px rgba(48,26,31,.04)!important}
.sk-shell-student .sk-nav-link.active{box-shadow:none!important;background:#2b2024!important;color:#fff!important}.sk-shell-student .sk-nav-link.active i{color:#fff!important}
.sk-shell-student .program-card,.sk-shell-student .learning-card{border:0!important;box-shadow:none!important;background:linear-gradient(145deg,#fff,#fbf7f6)!important}

/* Partner workspace: operational, compact, and no oversized dashboard hero. */
.sk-shell-partner{background:#f7f5f2!important}
.sk-shell-partner .app-shell{grid-template-columns:232px minmax(0,1fr)!important}
.sk-shell-partner .sidebar{width:232px!important;padding:18px 12px!important;background:#fff!important;border-right:1px solid #e9e3df!important;box-shadow:none!important}
.sk-shell-partner .brand{padding:3px 8px 22px!important}.sk-shell-partner .brand-mark{background:#9e1538!important;box-shadow:none!important}
.sk-shell-partner .sidebar nav a{min-height:48px!important;border-radius:10px!important}.sk-shell-partner .sidebar nav a.active{background:#281e22!important;color:#fff!important;box-shadow:none!important}
.sk-shell-partner .topbar{height:76px!important;padding:0 30px!important;background:rgba(250,248,246,.94)!important}.sk-shell-partner .topbar h1{font-size:20px!important;font-weight:700!important}
.sk-shell-partner .content{max-width:1440px!important;padding:30px clamp(18px,3vw,38px) 56px!important}
.sk-shell-partner .partner-welcome,.sk-shell-partner .premium-hero{display:flex!important;align-items:end!important;min-height:0!important;padding:27px 30px!important;border:0!important;border-radius:18px!important;background:#fff!important;box-shadow:none!important;border-left:4px solid var(--sk-primary)!important}
.sk-shell-partner .partner-welcome:before,.sk-shell-partner .premium-hero:before,.sk-shell-partner .hero:after{display:none!important}
.sk-shell-partner .partner-welcome h2,.sk-shell-partner .premium-hero h2{max-width:720px!important;margin:7px 0 8px!important;color:#241e20!important;font-size:clamp(22px,2.5vw,32px)!important;line-height:1.18!important;letter-spacing:-.035em!important}
.sk-shell-partner .partner-welcome p,.sk-shell-partner .premium-hero p{max-width:720px!important;margin:0!important;color:#6f6568!important;font-size:14px!important;line-height:1.65!important}
.sk-shell-partner .welcome-actions{margin-top:18px!important}.sk-shell-partner .primary-action{background:#9e1538!important;box-shadow:none!important}.sk-shell-partner .ghost-action{background:#fff!important}
.sk-shell-partner .compact-metrics,.sk-shell-partner .stats{gap:0!important;margin:18px 0!important;border:1px solid #e9e1dd!important;border-radius:18px!important;background:#fff!important;overflow:hidden}
.sk-shell-partner .compact-metric,.sk-shell-partner .stat{border:0!important;border-right:1px solid #eee7e3!important;border-radius:0!important;box-shadow:none!important;background:#fff!important}.sk-shell-partner .compact-metric:last-child,.sk-shell-partner .stat:last-child{border-right:0!important}
.sk-shell-partner .card{border-radius:18px!important;box-shadow:none!important}.sk-shell-partner .card-head{padding:18px 20px!important}
.sk-shell-partner .reward-showcase,.sk-shell-partner .reward-page-hero{border-radius:20px!important;box-shadow:none!important;background:#2b2024!important}
.sk-shell-partner :is(.reward-showcase,.reward-page-hero,.identity-panel) :is(h1,h2,h3,h4,strong,p,span,small){color:inherit!important}
.sk-shell-partner :is(.reward-showcase,.reward-page-hero) h2{color:#fff!important}.sk-shell-partner :is(.reward-showcase,.reward-page-hero) p{color:rgba(255,255,255,.72)!important}
.sk-shell-partner .empty{display:grid!important;justify-items:center!important;gap:7px!important;min-height:220px!important;padding:46px 24px!important;background:linear-gradient(180deg,#fff,#fdfaf8)!important}.sk-shell-partner .empty:before{content:"";width:42px;height:42px;border-radius:14px;background:var(--sk-primary-soft);box-shadow:inset 0 0 0 1px #efd4dc}
.sk-shell-partner .empty strong{color:#2b2225!important;font-size:15px}.sk-shell-partner .empty .btn{width:auto!important;margin-top:10px!important}

/* Auth is form-first: marketing remains supporting context. */
.sk-auth{min-height:100vh!important;background:#f7f4f1!important}
.sk-auth :is(.login-shell,.register-shell,.forgot-shell,.reset-shell,.auth-shell){width:min(1120px,calc(100% - 36px))!important;min-height:calc(100vh - 36px)!important;margin:18px auto!important;border-radius:26px!important;overflow:hidden!important;background:#fff!important;box-shadow:0 18px 70px rgba(55,29,36,.08)!important}
.sk-auth :is(.login-container,.register-container,.auth-container,.login-wrapper,.register-wrapper){max-width:1120px!important;margin-inline:auto!important}
.sk-auth :is(.login-shell,.register-shell){display:grid!important;grid-template-columns:minmax(300px,.78fr) minmax(480px,1.22fr)!important}
.sk-auth :is(.left-panel,.hero-panel,.brand-panel,.auth-visual,.login-brand,.register-brand){min-height:0!important;padding:clamp(32px,5vw,60px)!important;background:#2a2024!important;color:#fff!important}
.sk-auth :is(.left-panel,.hero-panel,.brand-panel,.auth-visual,.login-brand,.register-brand) h1{max-width:520px!important;color:#fff!important;font-size:clamp(30px,4vw,48px)!important;line-height:1.08!important}
.sk-auth :is(.left-panel,.hero-panel,.brand-panel,.auth-visual,.login-brand,.register-brand) p{color:rgba(255,255,255,.68)!important}
.sk-auth :is(.login-brand,.register-brand) .brand-point{color:rgba(255,255,255,.8)!important;background:rgba(255,255,255,.075)!important;border-color:rgba(255,255,255,.1)!important}
.sk-auth :is(.login-side,.register-side){display:flex!important;align-items:center!important;justify-content:center!important;padding:clamp(24px,4vw,56px)!important;background:#fff!important}
.sk-auth :is(.right-panel,.form-panel,.login-card,.register-card,.auth-card){width:min(100%,560px)!important;padding:0!important;box-shadow:none!important;border:0!important;border-radius:0!important}
.sk-auth :is(.right-panel,.form-panel,.login-card,.register-card,.auth-card) h1,.sk-auth :is(.right-panel,.form-panel,.login-card,.register-card,.auth-card) h2{font-size:clamp(24px,3vw,34px)!important}
.sk-auth .btn,.sk-auth button[type=submit]{min-height:48px!important}

/* Public pages use editorial sections rather than a wall of cards. */
body:not(.sk-shell) .site-header{background:rgba(250,248,246,.9)!important;border-bottom:1px solid rgba(233,223,225,.8)!important;backdrop-filter:blur(16px)}
body:not(.sk-shell) .site-header .navbar{min-height:70px!important}
body:not(.sk-shell) .site-header .button-primary{background:#9e1538!important}body:not(.sk-shell) .site-header .button-outline{border-color:#ddd2d4!important;background:transparent!important}
.sp-section:last-of-type{padding-bottom:clamp(48px,7vw,88px)!important}.sp-section+.sp-section{padding-top:clamp(48px,7vw,82px)!important}

/* High-focus assessment composition. */
body:has(.ujian-container) .card,body:has(.exam-container) .card{box-shadow:none!important}
body:has(.ujian-container) .soal-card,body:has(.exam-container) .question-card{border:0!important;background:#fff!important}
body:has(.ujian-container) .soal-text,body:has(.exam-container) .question-text{max-width:780px;margin-inline:auto}
body:has(.ujian-container) .opsi-jawaban,body:has(.exam-container) .answer-option{box-shadow:none!important}

@media(max-width:900px){.sk-shell-partner .app-shell{display:block!important}.sk-shell-partner .sidebar{width:248px!important}.sk-shell-partner .partner-welcome{padding:23px!important}.sk-auth :is(.login-shell,.register-shell,.forgot-shell,.reset-shell,.auth-shell){width:100%!important;min-height:100vh!important;margin:0!important;border-radius:0!important}.sk-auth :is(.login-shell,.register-shell){grid-template-columns:1fr!important}.sk-auth :is(.left-panel,.hero-panel,.brand-panel,.auth-visual,.login-brand,.register-brand){display:none!important}.sk-auth :is(.login-side,.register-side){min-height:100vh!important;padding:28px 20px!important}.sk-shell .sk-page-header,.sk-shell .page-header{grid-template-columns:1fr}}
@media(max-width:650px){.sk-shell-partner .compact-metrics,.sk-shell-partner .stats{display:grid!important;grid-template-columns:1fr!important}.sk-shell-partner .compact-metric,.sk-shell-partner .stat{border-right:0!important;border-bottom:1px solid #eee7e3!important}.sk-shell-partner .compact-metric:last-child,.sk-shell-partner .stat:last-child{border-bottom:0!important}.sk-shell-partner .topbar{padding-inline:14px!important}.sk-shell-partner .account-chip{padding:5px!important}.sk-shell-partner .content{padding-inline:13px!important}}

/* Semantic inverse surfaces: dark backgrounds always own their typography. */
:is(.dark-surface,.inverse-surface,[data-theme="dark"],.bg-dark,.text-bg-dark,.timer-card,.identity-panel,.reward-showcase,.reward-page-hero,.workflow-page-head,.reward-overview,.docs-page-head,.performance-ranking,.daily-my-progress,.scorer-spotlight,.scorer-challenge,.your-competition-card,.premium-cta,.city-request,.mc-hero,.guide-hero-page,.school-hero,.community-hero,.sp-cta-box,.achievement-toast,.access-context){--surface-text:#fff;--surface-text-soft:#e6dfe1;--surface-text-muted:#c9bec2;color:var(--surface-text)!important}
:is(.dark-surface,.inverse-surface,[data-theme="dark"],.bg-dark,.text-bg-dark,.timer-card,.identity-panel,.reward-showcase,.reward-page-hero,.workflow-page-head,.reward-overview,.docs-page-head,.performance-ranking,.daily-my-progress,.scorer-spotlight,.scorer-challenge,.your-competition-card,.premium-cta,.city-request,.mc-hero,.guide-hero-page,.school-hero,.community-hero,.sp-cta-box,.achievement-toast,.access-context) :is(h1,h2,h3,h4,h5,h6,strong,b,legend,label){color:var(--surface-text)!important}
:is(.dark-surface,.inverse-surface,[data-theme="dark"],.bg-dark,.text-bg-dark,.timer-card,.identity-panel,.reward-showcase,.reward-page-hero,.workflow-page-head,.reward-overview,.docs-page-head,.performance-ranking,.daily-my-progress,.scorer-spotlight,.scorer-challenge,.your-competition-card,.premium-cta,.city-request,.mc-hero,.guide-hero-page,.school-hero,.community-hero,.sp-cta-box,.achievement-toast,.access-context) :is(.muted,.text-muted,small,.caption,.meta){color:var(--surface-text-muted)!important}
:is(.dark-surface,.inverse-surface,[data-theme="dark"],.bg-dark,.text-bg-dark) a:not(.btn):not([class*=button]){color:#ffd8e2}

/* Premium partner hero cards with explicit inverse typography. */
.workflow-page-head,.reward-overview,.docs-page-head{position:relative;isolation:isolate;overflow:hidden;display:flex;align-items:flex-end;justify-content:space-between;gap:28px;margin:0 0 24px;padding:32px 34px;border:1px solid rgba(255,255,255,.1);border-radius:26px;background:linear-gradient(135deg,#21171b 0%,#431b29 58%,#791234 100%);box-shadow:0 22px 54px rgba(74,20,40,.17)}
.workflow-page-head:after,.reward-overview:after,.docs-page-head:after{content:"";position:absolute;z-index:-1;width:330px;height:330px;right:-130px;top:-190px;border-radius:50%;background:rgba(255,255,255,.08)}
.workflow-page-head>div,.reward-title-block,.docs-page-head>div:first-child{max-width:760px}.page-overline{display:block;margin-bottom:9px;color:#ffb8ca!important;font-size:10px;font-weight:850;letter-spacing:.14em}.workflow-page-head h2,.reward-overview h2,.docs-page-head h2{margin:0 0 9px;color:#fff!important;font-size:clamp(27px,3.2vw,39px)!important;font-weight:750!important;letter-spacing:-.045em;line-height:1.12}.workflow-page-head p,.reward-overview p,.docs-page-head p{margin:0;color:#e4dadd!important;line-height:1.68}.context-link{flex:0 0 auto;padding:11px 15px;border:1px solid rgba(255,255,255,.28);border-radius:11px;background:#fff;color:#85102f;font-size:12px;font-weight:800}.privacy-note{max-width:340px;padding:18px;border:1px solid rgba(255,255,255,.15);border-radius:17px;background:rgba(255,255,255,.09);display:grid;gap:5px;backdrop-filter:blur(9px)}.privacy-note strong{color:#fff!important;font-size:12px}.privacy-note span{color:#dfd4d7!important;font-size:11px;line-height:1.6}
.rank-focal{display:flex;align-items:stretch;margin:0;background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.16);border-radius:16px;overflow:hidden;backdrop-filter:blur(9px)}.rank-focal>div{min-width:118px;padding:14px 16px;border-left:1px solid rgba(255,255,255,.13)}.rank-focal>div:first-child{border-left:0}.rank-focal dt{color:#d6c9cd!important;font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.07em}.rank-focal dd{margin:5px 0 0;color:#fff!important;font-size:20px;font-weight:800;letter-spacing:-.03em}
.reward-rule-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important;border-top:1px solid #e7dfdc;border-bottom:1px solid #e7dfdc;gap:0!important}.reward-rule-grid article{border:0!important;border-right:1px solid #e7dfdc!important;border-radius:0!important;background:transparent!important;box-shadow:none!important}.reward-rule-grid article:last-child{border-right:0!important}

/* Guide becomes documentation: index rail + reading column. */
.docs-code{display:grid;grid-template-columns:auto auto auto;align-items:center;gap:10px;padding:11px 11px 11px 15px;border:1px solid rgba(255,255,255,.16);border-radius:15px;background:rgba(255,255,255,.09);backdrop-filter:blur(9px)}.docs-code span{color:#d4c7cb!important;font-size:10px}.docs-code strong{color:#fff!important;font-size:14px;letter-spacing:.08em}.docs-code button{min-height:34px!important;padding:7px 10px;border:0;border-radius:8px;background:#fff!important;color:#7c0f2c!important;font-size:10px;font-weight:800}.guide-document-layout{display:grid;grid-template-columns:190px minmax(0,860px);align-items:start;gap:50px}.guide-document-layout .guide-jump-nav{position:sticky;top:94px;display:grid;margin:0;padding:0 18px 0 0;border:0;border-right:1px solid #e3dad7;border-radius:0;background:transparent;backdrop-filter:none}.guide-document-layout .guide-jump-nav a{padding:9px 11px;border-radius:8px;font-size:11px}.guide-document-content{min-width:0}.guide-document-content .guide-page-section{margin:0;padding:0 0 46px;border:0;border-bottom:1px solid #e5ddda;border-radius:0;background:transparent}.guide-document-content .guide-page-section+.guide-page-section{padding-top:42px}.guide-document-content .guide-page-heading{margin-bottom:22px}.guide-document-content .guide-page-heading>span{background:transparent;border:1px solid #dfd4d7}.guide-document-content :is(.guide-steps-premium,.guide-benefit-grid,.guide-tips-grid) article{background:#fff;border-color:#e5ddda;box-shadow:none}

/* School submission is a workflow, search is the focal surface. */
.school-workflow-head{margin-bottom:16px}.school-stats{display:flex!important;gap:0!important;margin:0 0 18px!important;border-top:1px solid #e4dcda;border-bottom:1px solid #e4dcda}.school-stat{flex:1;padding:14px 18px!important;border:0!important;border-right:1px solid #e4dcda!important;border-radius:0!important;background:transparent!important}.school-stat:last-child{border-right:0!important}.school-stat strong{font-size:24px!important}.school-picker{grid-template-columns:minmax(0,1.45fr) minmax(300px,.55fr)!important;gap:0!important;border:1px solid #e2d9d6;border-radius:18px;overflow:hidden;background:#fff}.search-card,.selected-card{border:0!important;border-radius:0!important;box-shadow:none!important}.selected-card{border-left:1px solid #e7dfdc!important;background:#fcfaf8!important}.my-schools{margin-top:28px!important;border-width:1px 0 0!important;border-radius:0!important;background:transparent!important}

/* Partner authentication: auth first, no marketing-dashboard composition. */
.partner-auth-rebuild .access-principles{display:grid;gap:9px;margin-top:24px;padding-top:20px;border-top:1px solid rgba(255,255,255,.13)}.partner-auth-rebuild .access-principles span{color:#eee6e8;font-size:11px}.partner-auth-rebuild .access-principles span:before{content:"";display:inline-block;width:6px;height:6px;margin-right:9px;border-radius:50%;background:#e27a96}
.partner-auth-rebuild{padding:0!important;background:#f6f3f0!important}.partner-auth-rebuild .page-shell{width:min(980px,calc(100% - 32px))!important;min-height:100vh!important;margin:auto!important;padding:16px 0 34px!important}.partner-auth-rebuild .topbar{height:54px!important;padding:0 4px!important;background:transparent!important;border:0!important}.partner-auth-rebuild .auth-workspace{display:grid!important;grid-template-columns:minmax(280px,.78fr) minmax(460px,1.22fr)!important;gap:0!important;align-items:stretch!important;margin-top:18px;border:1px solid #e2d9d6;border-radius:22px;overflow:hidden;background:#fff;box-shadow:0 18px 60px rgba(55,31,38,.07)}.partner-auth-rebuild .access-context{order:1!important;min-height:100%!important;padding:36px 32px!important;background:#2a2024!important;color:#fff!important}.partner-auth-rebuild .access-context .story-content{display:flex;min-height:100%;flex-direction:column;justify-content:center}.partner-auth-rebuild .access-context .hero-title{margin:10px 0!important;color:#fff!important;font-size:25px!important;line-height:1.17!important}.partner-auth-rebuild .access-context .hero-copy{color:#d8cfd2!important;font-size:12px!important;line-height:1.65!important}.partner-auth-rebuild .access-context .dashboard-preview,.partner-auth-rebuild .access-context .benefits{display:none!important}.partner-auth-rebuild .auth-panel{order:2!important;display:flex!important;min-height:100%!important;align-items:center!important;padding:0!important;background:#fff!important}.partner-auth-rebuild .auth-card{width:100%!important;margin:0!important;border:0!important;border-radius:0!important;box-shadow:none!important}.partner-auth-rebuild .auth-title{font-size:27px!important}.partner-auth-rebuild .auth-head{padding:30px 38px 0!important}.partner-auth-rebuild .form-area{padding:17px 38px 32px!important}.partner-auth-rebuild .tabs{margin-top:22px!important}.partner-auth-rebuild .field{margin-bottom:12px!important}.partner-auth-rebuild .primary-button{min-height:46px!important}

@media(max-width:900px){.workflow-page-head,.reward-overview,.docs-page-head{align-items:flex-start;flex-direction:column}.rank-focal{width:100%}.guide-document-layout{grid-template-columns:1fr;gap:24px}.guide-document-layout .guide-jump-nav{position:static;display:flex;padding:8px;border:1px solid #e3dad7;border-radius:12px;background:#fff}.school-picker{grid-template-columns:1fr!important}.selected-card{border-left:0!important;border-top:1px solid #e7dfdc!important}.partner-auth-rebuild .auth-workspace{grid-template-columns:1fr!important}.partner-auth-rebuild .access-context{display:none!important}}
@media(max-width:600px){.rank-focal{display:grid;grid-template-columns:1fr 1fr}.rank-focal>div{min-width:0;border-bottom:1px solid #ece5e2}.rank-focal>div:nth-child(3){grid-column:1/-1}.reward-rule-grid{grid-template-columns:1fr!important}.reward-rule-grid article{border-right:0!important;border-bottom:1px solid #e7dfdc!important}.school-stats{display:grid!important;grid-template-columns:repeat(3,1fr)}.school-stat{padding:11px!important}.school-stat span{font-size:8px!important}.partner-auth-rebuild .auth-head{padding:28px 22px 0!important}.partner-auth-rebuild .form-area{padding:18px 22px 28px!important}}

/* Login family — Campus Partner is the canonical Skora visual language. */
@media(min-width:901px){
  body.sk-auth{display:flex!important;align-items:center!important;justify-content:center!important;padding:28px!important;background:radial-gradient(circle at 10% 5%,#fff0f4,transparent 28%),#f7f5f3!important}
  .sk-auth .login-shell{width:min(1120px,100%)!important;min-height:min(680px,calc(100vh - 56px))!important;margin:0 auto!important;display:grid!important;grid-template-columns:1.05fr .88fr!important;gap:24px!important;border:0!important;border-radius:0!important;overflow:visible!important;background:transparent!important;box-shadow:none!important}
  .sk-auth .login-brand{min-height:100%!important;padding:48px!important;border:0!important;border-radius:28px!important;overflow:hidden!important;background:linear-gradient(145deg,#20171b,#4a1428 65%,#8d1239)!important;box-shadow:0 24px 70px rgba(51,29,37,.11)!important}
  .sk-auth .login-brand:after{content:"";position:absolute;width:330px;height:330px;border-radius:50%;right:-130px;top:-130px;background:rgba(255,255,255,.08);pointer-events:none}
  .sk-auth .login-brand>*{position:relative;z-index:1}
  .sk-auth .login-brand .brand-logo{align-self:flex-start!important}
  .sk-auth .login-brand .brand-mark{width:52px!important;height:52px!important;border-radius:16px!important;background:linear-gradient(145deg,#c91d4f,#7f0d30)!important;border-color:rgba(255,255,255,.16)!important;box-shadow:none!important}
  .sk-auth .login-brand .brand-name{font-size:28px!important;color:#fff!important}
  .sk-auth .login-brand .brand-kicker{color:#ffbdd0!important;font-size:10px!important;letter-spacing:.18em!important}
  .sk-auth .login-brand .brand-copy h1{max-width:540px!important;margin:18px 0!important;color:#fff!important;font-size:clamp(42px,5vw,62px)!important;line-height:1.02!important;letter-spacing:-.055em!important}
  .sk-auth .login-brand .brand-copy p{max-width:570px!important;color:rgba(255,255,255,.7)!important;font-size:15px!important;line-height:1.7!important}
  .sk-auth .login-brand .brand-points{display:grid!important;gap:11px!important;margin-top:30px!important}
  .sk-auth .login-brand .brand-point{width:100%!important;min-height:0!important;padding:13px 15px!important;border:1px solid rgba(255,255,255,.13)!important;border-radius:15px!important;background:rgba(255,255,255,.07)!important;color:#faf8f6!important}
  .sk-auth .login-brand .brand-footer{color:rgba(255,255,255,.62)!important}
  .sk-auth .login-side{display:flex!important;align-items:center!important;justify-content:center!important;min-height:100%!important;padding:32px!important;border:1px solid #eae3e0!important;border-radius:28px!important;overflow:visible!important;background:#fff!important;box-shadow:0 24px 70px rgba(51,29,37,.09)!important}
  .sk-auth .login-card{width:100%!important;max-width:440px!important;padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important}
}

@media(min-width:901px) and (max-height:760px){
  body.sk-auth{align-items:flex-start!important;padding:16px!important}
  .sk-auth .login-shell{min-height:calc(100vh - 32px)!important}
  .sk-auth .login-brand{padding:34px!important}
  .sk-auth .login-brand .brand-copy h1{font-size:44px!important}
  .sk-auth .login-brand .brand-points{margin-top:18px!important;gap:8px!important}
  .sk-auth .login-brand .brand-point{padding:10px 13px!important}
  .sk-auth .login-side{padding:24px!important}
}

@media(min-width:861px){
  .partner-auth-rebuild{display:flex!important;align-items:center!important;justify-content:center!important;padding:28px!important;background:radial-gradient(circle at 10% 5%,#fff0f4,transparent 28%),#f7f5f3!important}
  .partner-auth-rebuild .page-shell{width:min(1040px,100%)!important;min-height:0!important;margin:0!important;padding:0!important}
  .partner-auth-rebuild .topbar{height:auto!important;margin:0 0 18px!important;padding:0!important}
  .partner-auth-rebuild .brand-link{font-size:20px!important;font-weight:900!important}
  .partner-auth-rebuild .brand-mark{width:40px!important;height:40px!important;border-radius:13px!important;background:linear-gradient(145deg,#c91d4f,#7f0d30)!important;color:#fff!important}
  .partner-auth-rebuild .auth-workspace{display:grid!important;grid-template-columns:1.05fr .88fr!important;gap:24px!important;align-items:stretch!important;margin:0!important;border:0!important;border-radius:0!important;overflow:visible!important;background:transparent!important;box-shadow:none!important}
  .partner-auth-rebuild .access-context{display:block!important;min-height:100%!important;padding:48px!important;border-radius:28px!important;overflow:hidden!important;background:linear-gradient(145deg,#20171b,#4a1428 65%,#8d1239)!important;box-shadow:0 24px 70px rgba(51,29,37,.11)!important}
  .partner-auth-rebuild .access-context:after{content:"";position:absolute;width:330px;height:330px;border-radius:50%;right:-130px;top:-130px;background:rgba(255,255,255,.08);pointer-events:none}
  .partner-auth-rebuild .access-context .story-content{position:relative!important;z-index:1!important;justify-content:center!important}
  .partner-auth-rebuild .access-context .badge{color:#ffbdd0!important;background:transparent!important;padding:0!important;letter-spacing:.18em!important}
  .partner-auth-rebuild .access-context .hero-title{margin:18px 0!important;color:#fff!important;font-size:clamp(38px,4.8vw,58px)!important;line-height:1.02!important;letter-spacing:-.055em!important}
  .partner-auth-rebuild .access-context .hero-copy{color:rgba(255,255,255,.7)!important;font-size:14px!important;line-height:1.7!important}
  .partner-auth-rebuild .access-principles{gap:11px!important;margin-top:28px!important;padding:0!important;border:0!important}
  .partner-auth-rebuild .access-principles span{padding:13px 15px!important;border:1px solid rgba(255,255,255,.13)!important;border-radius:15px!important;background:rgba(255,255,255,.07)!important;color:#faf8f6!important;font-size:12px!important}
  .partner-auth-rebuild .auth-panel{display:flex!important;align-items:center!important;min-height:100%!important;padding:31px!important;border:1px solid #eae3e0!important;border-radius:28px!important;background:#fff!important;box-shadow:0 24px 70px rgba(51,29,37,.09)!important}
  .partner-auth-rebuild .auth-card{display:flex!important;width:100%!important;flex-direction:column!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important}
  .partner-auth-rebuild .auth-head{order:2!important;padding:0!important}
  .partner-auth-rebuild .auth-kicker{display:none!important}
  .partner-auth-rebuild .auth-title{font-size:30px!important;letter-spacing:-.04em!important}
  .partner-auth-rebuild .tabs{order:1!important;margin:0 0 25px!important;padding:5px!important;border-radius:14px!important;background:#f4f1ef!important}
  .partner-auth-rebuild .alert{order:3!important}
  .partner-auth-rebuild .form-area{order:4!important;padding:18px 0 0!important}
  .partner-auth-rebuild .auth-footer{order:5!important;margin:24px -31px -31px!important;padding:20px 31px!important}
}

@media(min-width:861px) and (max-height:760px){
  .partner-auth-rebuild{align-items:flex-start!important;padding:14px!important}
  .partner-auth-rebuild .access-context{padding:34px!important}
  .partner-auth-rebuild .access-context .hero-title{font-size:42px!important}
  .partner-auth-rebuild .access-principles{margin-top:18px!important;gap:8px!important}
  .partner-auth-rebuild .access-principles span{padding:10px 13px!important}
  .partner-auth-rebuild .auth-panel{padding:24px!important}
  .partner-auth-rebuild .auth-footer{margin:20px -24px -24px!important;padding:17px 24px!important}
}
