/* Soft UI-inspired theme for staff, guest and student layouts. */
:root{--ink:#344767;--muted:#67748e;--line:#e9ecef;--soft:#f8f9fa;--surface:#fff;--green:#17c1e8;--green2:#2152ff;--mint:#e4f8fc;--amber:#fbcf33;--red:#ea0606;--blue:#17c1e8;--brand-gradient:linear-gradient(310deg,#7928ca,#ff0080);--soft-blue-gradient:linear-gradient(310deg,#2152ff,#21d4fd);--shadow:0 20px 27px 0 rgba(0,0,0,.05);color-scheme:light}
html{background:#f8f9fa}body,.auth-body,.student-portal{background:#f8f9fa;color:var(--ink);font-family:'DM Sans',sans-serif}h1,h2,h3,h4,.cell-main,.money{color:#344767}
.sidebar{width:250px;left:16px;top:16px;height:calc(100vh - 32px);padding:24px 16px;background:#fff;color:#67748e;border:0;border-radius:16px;box-shadow:var(--shadow)}.sidebar .brand,.sidebar .brand b{color:#344767}.brand small,.user-copy small{color:#8392ab}.brand-mark,.avatar-lg{background:var(--soft-blue-gradient);color:#fff;border-radius:11px;box-shadow:0 4px 10px rgba(33,82,255,.22)}.nav-label{color:#344767;font-weight:700}.nav-link{color:#67748e;border-radius:10px;transition:background .18s,color .18s,box-shadow .18s}.nav-link>span{width:32px;height:32px;display:grid;place-items:center;flex:none;border-radius:9px;background:#fff;color:#344767;box-shadow:0 3px 8px rgba(0,0,0,.09);font-size:15px}.nav-link:hover{background:#f8f9fa;color:#344767}.nav-link.active{background:#fff;color:#344767;box-shadow:0 4px 18px rgba(0,0,0,.08);font-weight:700}.nav-link.active>span{background:var(--brand-gradient);color:#fff;box-shadow:0 4px 10px rgba(121,40,202,.24)}.sidebar-user{border-color:#e9ecef;color:#344767}.avatar{background:var(--soft-blue-gradient);color:#fff}.sidebar .icon-btn{color:#67748e}
.main-wrap{margin-left:282px;width:calc(100% - 282px)}.topbar{top:16px;margin:0 18px;height:72px;background:rgba(255,255,255,.74);border:1px solid rgba(255,255,255,.9);border-radius:16px;box-shadow:0 8px 26px rgba(0,0,0,.035);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.topbar h2,.section-heading h1{color:#344767}.eyebrow{color:#8392ab}.content{padding:30px 32px 48px}.section-heading p{color:var(--muted)}
.card,.stat-card,.module-card,.filter-bar,.auth-panel,.receipt,dialog,.exam-flow,.exam-question-card{background:#fff;border:0;border-radius:16px;box-shadow:var(--shadow);backdrop-filter:none;-webkit-backdrop-filter:none}.card-head{background:#fff;border-bottom-color:#f0f2f5}.card-foot{background:#fff;border-top-color:#f0f2f5}.card-head h3{color:#344767}.stat-card{border:0;min-height:126px}.stat-card h3{color:#344767;letter-spacing:-.035em}.stat-head{color:#8392ab}.stat-icon,.module-icon,.empty-icon{background:var(--soft-blue-gradient);color:#fff;border-radius:11px;box-shadow:0 5px 11px rgba(33,82,255,.19)}.stat-icon{width:42px;height:42px}.module-icon{width:50px;height:50px}.empty-icon{width:50px;height:50px}.stat-grid>:nth-child(2) .stat-icon{background:linear-gradient(310deg,#f53939,#fbcf33)}.stat-grid>:nth-child(3) .stat-icon{background:var(--brand-gradient)}.stat-grid>:nth-child(4) .stat-icon{background:linear-gradient(310deg,#17ad37,#98ec2d)}.module-card{border:1px solid #f0f2f5}.module-card:nth-child(n){border-top:1px solid #f0f2f5}.module-card:hover{border-color:#d5d9e2;box-shadow:0 20px 27px rgba(0,0,0,.09)}.module-card:nth-child(2) .module-icon{background:var(--brand-gradient)}.module-card:nth-child(3) .module-icon{background:linear-gradient(310deg,#f53939,#fbcf33)}.module-card:nth-child(4) .module-icon{background:linear-gradient(310deg,#17ad37,#98ec2d)}.module-card p{color:var(--muted)}.module-options,.workspace-chip,.owner-banner{background:#f8f9fa;border:1px solid #e9ecef;border-radius:12px;box-shadow:none}.workspace-chip small{color:#8392ab}.workspace-chip b,.owner-banner{color:#344767}.workspace-dot{background:#17c1e8}
.btn,.icon-btn,.mobile-toggle,.pager a,.pager span,.question-nav a{border:1px solid #e9ecef;border-radius:9px;background:#fff;color:#344767;box-shadow:0 3px 6px rgba(0,0,0,.055);transition:box-shadow .18s,transform .18s}.btn:hover,.pager a:hover,.question-nav a:hover{transform:translateY(-1px);box-shadow:0 7px 14px rgba(0,0,0,.1)}.btn-primary,.pager .active,.question-nav a.is-answered{background:var(--brand-gradient);color:#fff;border:0;box-shadow:0 4px 10px rgba(121,40,202,.25)}.btn-primary:hover{background:linear-gradient(310deg,#6d22b9,#ed0076);color:#fff}.btn-ghost{background:#fff;border-color:#d2d6da;color:#344767}.btn-danger{background:#fff5f5;border-color:#ffd1d1;color:#ea0606}.icon-btn{display:grid;place-items:center;min-width:36px;min-height:36px}.sidebar-close{display:none}
input:not([type=checkbox]):not([type=radio]):not([type=hidden]),select,textarea{background:#fff;border:1px solid #d2d6da;border-radius:9px;color:#344767;box-shadow:none}input:focus,select:focus,textarea:focus{border-color:#cb0c9f;box-shadow:0 0 0 3px rgba(203,12,159,.12)}input::placeholder,textarea::placeholder{color:#a0aab9}.field,.form-grid label,.stack-form>label{color:#67748e}input[type=checkbox],input[type=radio]{accent-color:#cb0c9f}.filter-bar{gap:12px;border:1px solid #f0f2f5}
.badge{box-shadow:none}.badge-active,.badge-paid,.alert-success{background:#e6f7ed;color:#167b45}.badge-unpaid{background:#fff5d8;color:#8b6800}.badge-partial{background:#e7f7fc;color:#0b7894}.badge-overdue,.badge-inactive,.badge-left,.alert-error{background:#ffeaea;color:#cf1c1c}th{background:#fff;color:#8392ab;border-bottom-color:#e9ecef}td{border-bottom-color:#f0f2f5}tbody tr:hover{background:#fbfcff}.cell-sub,.muted,.list-copy small{color:#8392ab}.progress{height:7px;background:#e9ecef;box-shadow:none}.progress span,.bar{background:var(--soft-blue-gradient)}.list-row{padding:14px 0;margin:0;border-bottom:1px solid #f0f2f5;background:transparent;box-shadow:none}.list-row:last-child{border:0}
.student-hero{background:var(--soft-blue-gradient);color:#fff;border:0;border-radius:16px;box-shadow:0 12px 20px rgba(33,82,255,.15)}.student-title h1,.student-hero .hero-meta b{color:#fff}.student-hero p,.hero-meta small{color:#dceaff}.auth-body{padding:28px}.auth-panel{overflow:hidden;border-radius:20px}.auth-visual{background:var(--soft-blue-gradient);color:#fff;border:0;border-radius:0;box-shadow:none}.auth-message h1{color:#fff}.auth-message p,.auth-proof small{color:#e3edff}.auth-form-wrap{background:#fff}.auth-form h2{color:#344767}.pill.light{background:rgba(255,255,255,.18);color:#fff;border:1px solid rgba(255,255,255,.25)}.visual-orb{border-color:rgba(255,255,255,.2);background:rgba(255,255,255,.08);box-shadow:none}
.receipt-total,.exam-notice,.exam-option,.exam-flow,.exam-palette,.tabs a.active{background:#f8f9fa;border-color:#e9ecef}.receipt-total,.exam-option:has(input:checked),.tabs a.active{box-shadow:none}.exam-option.is-correct{background:#e6f7ed;color:#167b45}.exam-option:has(input:checked){border-color:#cb0c9f;box-shadow:0 0 0 2px rgba(203,12,159,.1)}.exam-timer{background:var(--brand-gradient);border-radius:12px;box-shadow:0 4px 10px rgba(121,40,202,.2)}.exam-question-card:focus-within{border-color:#cb0c9f}.portal-header{margin:16px 22px 0;padding:18px 24px;background:#fff;border:0;border-radius:16px;box-shadow:var(--shadow)}.portal-content{padding-top:30px}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #cb0c9f;outline-offset:3px}
@media screen and (max-width:1024px){.sidebar{top:0;left:0;height:100dvh;border-radius:0;box-shadow:var(--shadow)}.main-wrap{margin-left:0;width:100%}.topbar{top:12px;margin:0 12px}.content{padding:26px 20px}.sidebar-close{display:grid}.mobile-toggle{display:grid}.sidebar-overlay:not([hidden]){background:rgba(33,40,58,.45)}}
@media screen and (max-width:760px){.topbar{margin:0 10px;top:10px}.content{padding:22px 14px}.portal-header{margin:10px;padding:14px}.auth-body{padding:16px}.auth-visual{display:none}.auth-form-wrap{padding:34px 22px}.card,.stat-card,.module-card,.filter-bar{border-radius:14px}}
@media print{body,.auth-body,.student-portal{background:#fff;color:#222}.sidebar,.topbar,.portal-header{display:none!important}.main-wrap{margin:0;width:100%}.content,.portal-content{padding:0}.card,.stat-card,.module-card,.filter-bar,.receipt,dialog,.exam-question-card{background:#fff;border:0;box-shadow:none}.btn{box-shadow:none}}
@media(prefers-reduced-motion:reduce){.btn,.nav-link,.sidebar{transition:none}}

/* Keep mobile navigation accessible after removing the shared page header. */
.mobile-menu-float{display:none}
@media screen and (max-width:1024px){.mobile-menu-float{display:grid;place-items:center;position:fixed;top:16px;left:16px;z-index:30;width:44px;height:44px;background:#fff;color:#344767;border:1px solid #e9ecef;border-radius:10px;box-shadow:var(--shadow);cursor:pointer}.content{padding-top:78px}}
@media screen and (max-width:760px){.mobile-menu-float{top:12px;left:14px}.content{padding-top:72px}}
@media print{.mobile-menu-float{display:none!important}}
