:root{
  --primary:#19376d;
  --secondary:#0b5ed7;
  --accent:#ffc107;
  --soft:#eef5ff;
}
body{background:#f6f8fc;color:#1d2939}
.navbar{background:linear-gradient(135deg,#122852,#2458a6)}
.hero{min-height:72vh;background:linear-gradient(135deg,rgba(18,40,82,.95),rgba(36,88,166,.9));color:#fff;display:flex;align-items:center}
.hero-card{background:rgba(255,255,255,.12);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.2);border-radius:28px}
.section-title{font-weight:800;color:var(--primary)}
.feature-card,.plan-card,.content-card{border:0;border-radius:20px;box-shadow:0 12px 30px rgba(20,50,90,.08)}
.badge-level{background:#e7f0ff;color:#174ea6}
.quiz-option{border:1px solid #dce3ec;border-radius:12px;padding:12px;margin-bottom:10px;background:#fff}
.timer{font-size:1.2rem;font-weight:800;color:#b42318}
footer{background:#122852;color:#fff}
.table td,.table th{vertical-align:middle}

/* Modern user dashboard */
.modern-dashboard{background:linear-gradient(180deg,#f3f7ff 0,#f8fafc 420px,#f6f8fc 100%);min-height:100vh}
.dashboard-welcome{position:relative;overflow:hidden;border-radius:30px;padding:38px 42px;background:linear-gradient(135deg,#163b78 0%,#285fb5 55%,#4b7fd2 100%);color:#fff;box-shadow:0 24px 55px rgba(25,55,109,.2);min-height:260px;display:flex;align-items:center}
.dashboard-welcome:before{content:"";position:absolute;width:320px;height:320px;border-radius:50%;background:rgba(255,255,255,.08);right:-80px;top:-130px}
.dashboard-welcome:after{content:"";position:absolute;width:190px;height:190px;border-radius:50%;border:36px solid rgba(255,255,255,.06);right:210px;bottom:-120px}
.dashboard-welcome-content{position:relative;z-index:2;max-width:660px}
.dashboard-eyebrow{display:block;font-size:.74rem;font-weight:800;text-transform:uppercase;letter-spacing:.13em;margin-bottom:7px}
.dashboard-welcome h1{font-size:clamp(2rem,4vw,3.15rem);font-weight:850;letter-spacing:-.04em;margin-bottom:12px}
.dashboard-welcome p{font-size:1.05rem;color:rgba(255,255,255,.82);max-width:580px;margin:0}
.dashboard-main-button,.dashboard-secondary-button{border-radius:12px;padding:.72rem 1.25rem;font-weight:750}
.dashboard-welcome-visual{position:absolute;right:36px;top:0;bottom:0;width:310px;z-index:1}
.study-illustration{position:absolute;right:15px;bottom:12px;width:220px;height:220px;display:grid;place-items:center}
.illustration-circle{position:absolute;inset:14px;border-radius:50%;background:linear-gradient(145deg,rgba(255,255,255,.15),rgba(255,255,255,.04));border:1px solid rgba(255,255,255,.18)}
.illustration-book{font-size:6.3rem;filter:drop-shadow(0 18px 20px rgba(0,0,0,.18));transform:rotate(-4deg)}
.floating-card{position:absolute;background:#fff;color:#173463;padding:9px 13px;border-radius:12px;font-size:.78rem;font-weight:750;box-shadow:0 12px 25px rgba(15,37,75,.25);z-index:3}
.floating-card span{display:inline-grid;place-items:center;width:21px;height:21px;border-radius:50%;background:#e8f3ff;margin-right:5px}
.floating-card-one{top:48px;right:15px;transform:rotate(3deg)}
.floating-card-two{top:116px;left:10px;transform:rotate(-4deg)}
.modern-alert{display:flex;align-items:center;gap:16px;background:#fff9e8;border:1px solid #ffe4a3;border-radius:18px;padding:18px 20px;box-shadow:0 8px 25px rgba(120,85,0,.06)}
.modern-alert-icon{width:46px;height:46px;border-radius:14px;background:#ffedb8;display:grid;place-items:center;font-size:1.25rem}
.modern-alert p{color:#7a6224;font-size:.9rem}
.dashboard-section{background:#fff;border:1px solid #e8eef7;border-radius:24px;padding:24px;box-shadow:0 13px 34px rgba(31,61,105,.06)}
.section-heading-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}
.section-heading-row h2{font-size:1.42rem;font-weight:850;color:#142a4d;margin:0;letter-spacing:-.02em}
.section-heading-row p{font-size:.9rem;color:#7a8799;margin:5px 0 0}
.stat-card{position:relative;overflow:hidden;min-height:150px;border-radius:18px;padding:18px;border:1px solid transparent}
.stat-card:after{content:"";position:absolute;width:75px;height:75px;border-radius:50%;right:-24px;bottom:-27px;background:currentColor;opacity:.07}
.stat-icon{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;font-size:1.15rem;background:rgba(255,255,255,.72);margin-bottom:13px}
.stat-value{font-size:1.75rem;font-weight:900;line-height:1;color:#142a4d}
.stat-label{font-size:.8rem;font-weight:700;color:#61708a;margin-top:7px}
.stat-card-blue{background:#edf5ff;border-color:#d9eaff;color:#1766c2}.stat-card-purple{background:#f3efff;border-color:#e7ddff;color:#7246c8}.stat-card-orange{background:#fff4e8;border-color:#ffe6c6;color:#d87519}.stat-card-green{background:#ebfaf3;border-color:#d2f2e2;color:#138858}
.content-filter{display:flex;gap:5px;padding:5px;background:#f1f5fa;border-radius:12px}
.content-filter button{border:0;background:transparent;border-radius:9px;padding:7px 12px;font-size:.82rem;font-weight:750;color:#66758c;transition:.2s}
.content-filter button.active,.content-filter button:hover{background:#fff;color:#1b59a8;box-shadow:0 3px 10px rgba(31,61,105,.08)}
.modern-content-card{height:100%;border:1px solid #e6edf6;border-radius:19px;overflow:hidden;background:#fff;transition:transform .2s,box-shadow .2s,border-color .2s;display:flex;flex-direction:column}
.modern-content-card:hover{transform:translateY(-4px);box-shadow:0 15px 30px rgba(32,68,118,.11);border-color:#bfd3ef}
.modern-content-card.is-locked{background:#fbfcfe}
.content-card-top{display:flex;justify-content:space-between;align-items:flex-start;padding:18px 18px 8px}
.subject-icon{width:43px;height:43px;border-radius:13px;display:grid;place-items:center;font-weight:900;font-size:1.1rem}
.subject-sd{background:#e9f7ef;color:#14935b}.subject-smp{background:#eaf2ff;color:#2562bd}.subject-sma{background:#f4edff;color:#7746c6}
.content-card-badges{display:flex;flex-direction:column;align-items:flex-end;gap:5px}
.soft-badge,.level-badge{font-size:.68rem;font-weight:800;border-radius:999px;padding:5px 8px}
.soft-badge{background:#eff4fa;color:#51627a}.level-pemula{background:#e9f8f0;color:#18754d}.level-madya{background:#fff3df;color:#9a5b00}.level-ahli{background:#f1eaff;color:#7041af}
.content-card-body{padding:10px 18px 17px;flex:1}
.subject-name{font-size:.74rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:#6b7c94;margin-bottom:6px}
.content-card-body h3{font-size:1.05rem;line-height:1.38;font-weight:850;color:#172d50;margin-bottom:17px}
.content-meta{display:flex;justify-content:space-between;gap:8px;color:#77859a;font-size:.72rem;font-weight:650}
.content-card-footer{padding:0 18px 18px}
.modern-card-button{display:flex;justify-content:space-between;align-items:center;text-decoration:none;background:#edf4ff;color:#1b5cad;border-radius:12px;padding:10px 13px;font-size:.82rem;font-weight:800;transition:.2s}
.modern-card-button:hover{background:#1e5fae;color:#fff}
.locked-button{background:#f1f3f6;color:#6e7a8d}.locked-button:hover{background:#68758a}
.subscription-card{position:relative;overflow:hidden;background:linear-gradient(145deg,#172f5d,#254f95);color:#fff;border-radius:24px;padding:24px;box-shadow:0 18px 40px rgba(22,54,105,.2)}
.subscription-card:after{content:"";position:absolute;width:150px;height:150px;border-radius:50%;background:rgba(255,255,255,.06);right:-60px;top:-55px}
.subscription-card-header{position:relative;z-index:1;display:flex;justify-content:space-between;font-size:.76rem;font-weight:750;color:rgba(255,255,255,.75)}
.status-dot{background:rgba(49,210,139,.18);color:#8ff0bf;padding:4px 8px;border-radius:999px}
.subscription-plan-icon{font-size:2.2rem;margin:22px 0 12px}
.subscription-card h3{font-weight:850;margin-bottom:4px}.subscription-card p{color:rgba(255,255,255,.72);font-size:.88rem}
.subscription-progress-info{display:flex;justify-content:space-between;font-size:.74rem;margin-top:22px;color:rgba(255,255,255,.75)}
.subscription-progress{height:7px;background:rgba(255,255,255,.16);border-radius:99px;overflow:hidden;margin:8px 0}
.subscription-progress span{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,#57dfa0,#ffd466)}
.subscription-date{font-size:.72rem;color:rgba(255,255,255,.63)}
.dashboard-sidebar-stack{display:grid;gap:20px;position:sticky;top:92px}
.history-card{background:#fff;border:1px solid #e8eef7;border-radius:24px;padding:22px;box-shadow:0 13px 34px rgba(31,61,105,.06)}
.history-card h3{font-size:1.25rem;font-weight:850;color:#162c4f;margin:0}
.history-list{display:grid;gap:4px;margin-top:14px}
.history-item{display:flex;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid #edf1f6}.history-item:last-child{border-bottom:0}
.history-score{width:47px;height:47px;flex:0 0 47px;border-radius:14px;display:grid;place-items:center;font-weight:900}
.score-good{background:#e9f8f1;color:#138456}.score-medium{background:#fff4df;color:#a36500}.score-low{background:#fff0ef;color:#b7423b}
.history-info{min-width:0;display:flex;flex-direction:column}.history-info strong{font-size:.83rem;color:#203553;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.history-info span{font-size:.72rem;color:#738198;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.history-info small{font-size:.66rem;color:#9aa5b5;margin-top:3px}
.history-empty{text-align:center;padding:26px 10px;display:flex;flex-direction:column;gap:5px;color:#8090a4}.history-empty div{font-size:2rem}.history-empty strong{color:#334966}
.motivation-card{display:flex;gap:14px;background:linear-gradient(135deg,#fff8df,#fffdf5);border:1px solid #f9e7a6;border-radius:20px;padding:18px}.motivation-icon{font-size:1.5rem}.motivation-card span{font-size:.75rem;font-weight:850;color:#9d6f00;text-transform:uppercase;letter-spacing:.06em}.motivation-card p{font-size:.8rem;line-height:1.5;color:#6c6042;margin:4px 0 0}
.empty-state{text-align:center;padding:45px 20px;color:#7b899c}.empty-state-icon{font-size:2.5rem;margin-bottom:10px}.empty-state h4{color:#314661;font-weight:800}
@media(max-width:1199.98px){.dashboard-sidebar-stack{position:static}.dashboard-welcome-visual{opacity:.72}}
@media(max-width:991.98px){.dashboard-welcome{padding:32px}.dashboard-welcome-content{max-width:70%}.dashboard-welcome-visual{right:0;transform:scale(.8)}}
@media(max-width:767.98px){.dashboard-welcome{padding:28px 24px;min-height:auto}.dashboard-welcome-content{max-width:100%}.dashboard-welcome-visual{display:none}.dashboard-welcome h1{font-size:2rem}.modern-alert{align-items:flex-start;flex-wrap:wrap}.modern-alert .btn{width:100%}.dashboard-section{padding:18px;border-radius:20px}.section-heading-row{align-items:flex-start}.content-filter{width:100%;overflow-x:auto}.content-filter button{flex:1}.stat-card{min-height:132px}.content-meta{flex-direction:column}.dashboard-sidebar-stack{gap:16px}}

/* Modern authentication pages */
.auth-section{min-height:calc(100vh - 138px);display:flex;align-items:center;background:radial-gradient(circle at 10% 10%,rgba(49,130,246,.13),transparent 33%),radial-gradient(circle at 90% 85%,rgba(124,58,237,.12),transparent 30%),#f5f8fd}
.auth-shell{display:grid;grid-template-columns:minmax(280px,.9fr) minmax(420px,1.1fr);max-width:1050px;margin:auto;background:#fff;border-radius:28px;overflow:hidden;box-shadow:0 28px 70px rgba(20,50,90,.16)}
.auth-shell-wide{max-width:1220px;grid-template-columns:minmax(300px,.72fr) minmax(620px,1.28fr)}
.auth-side-panel{position:relative;padding:58px 48px;color:#fff;background:linear-gradient(145deg,#122852 0%,#2158ad 55%,#6d3fd1 120%);overflow:hidden}
.auth-side-panel:before,.auth-side-panel:after{content:"";position:absolute;border-radius:50%;background:rgba(255,255,255,.08)}
.auth-side-panel:before{width:280px;height:280px;right:-130px;top:-90px}.auth-side-panel:after{width:190px;height:190px;left:-95px;bottom:-70px}
.auth-side-panel>*{position:relative;z-index:1}.auth-side-panel h1{font-size:clamp(2rem,4vw,3.1rem);font-weight:800;line-height:1.12;margin:18px 0}.auth-side-panel p{font-size:1.06rem;color:rgba(255,255,255,.82)}
.auth-eyebrow{display:inline-flex;padding:7px 12px;border-radius:999px;background:rgba(255,255,255,.14);font-size:.78rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em}
.auth-benefit{display:flex;gap:12px;margin-top:24px;align-items:flex-start}.auth-benefit>span{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:#fbbf24;color:#16315f;font-weight:900}.auth-benefit strong,.auth-benefit small{display:block}.auth-benefit small{color:rgba(255,255,255,.72);margin-top:2px}
.login-illustration{font-size:7rem;text-align:center;margin-top:35px;filter:drop-shadow(0 14px 18px rgba(0,0,0,.18))}
.auth-form-panel{padding:48px 52px}.auth-form-icon{display:grid;place-items:center;width:54px;height:54px;border-radius:16px;background:linear-gradient(135deg,#e7f0ff,#f2eaff);font-size:1.45rem}.auth-input-group .input-group-text{border-right:0;background:#f7f9fc}.auth-input-group .form-control{border-left:0}
.auth-form-panel .form-control,.auth-form-panel .form-select,.auth-single-card .form-control{min-height:48px;border-radius:11px;border-color:#d7dfeb}.auth-form-panel textarea.form-control{min-height:auto}.auth-form-panel .input-group .input-group-text{border-radius:11px 0 0 11px}.auth-form-panel .input-group .form-control{border-radius:0 11px 11px 0}
.password-field{position:relative}.password-field .form-control{padding-right:48px}.password-toggle{position:absolute;right:7px;top:50%;transform:translateY(-50%);border:0;background:transparent;width:38px;height:38px;border-radius:9px;z-index:2}.password-toggle:hover{background:#eef3fb}.forgot-link{text-decoration:none;font-weight:700}.auth-divider{display:flex;align-items:center;gap:14px;margin:25px 0;color:#98a2b3}.auth-divider:before,.auth-divider:after{content:"";height:1px;background:#e4e8ef;flex:1}.auth-single-card{border:0;border-radius:26px;text-align:left}
@media(max-width:991.98px){.auth-shell,.auth-shell-wide{grid-template-columns:1fr;max-width:760px}.auth-side-panel{padding:38px}.auth-side-panel h1{font-size:2.15rem}.login-illustration{display:none}.auth-form-panel{padding:38px}}
@media(max-width:575.98px){.auth-section{align-items:flex-start}.auth-shell{border-radius:20px}.auth-side-panel{padding:30px 24px}.auth-side-panel .auth-benefit{display:none}.auth-form-panel{padding:30px 22px}.auth-form-panel h2{font-size:1.65rem}}


.dynamic-navbar{background:linear-gradient(135deg,var(--primary),var(--secondary))!important}.brand-mark{width:38px;height:38px;border-radius:12px;background:var(--accent);color:#182230;display:inline-flex;align-items:center;justify-content:center;font-size:.78rem;font-weight:900}.btn-primary{background:var(--secondary);border-color:var(--secondary)}.hero{background:linear-gradient(135deg,var(--primary),var(--secondary))}.admin-page-heading{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start;flex-wrap:wrap;margin-bottom:1.5rem}.admin-page-heading h1{font-weight:800;color:var(--primary)}
.chatbot-launcher{position:fixed;right:24px;bottom:24px;z-index:1050;width:60px;height:60px;border:0;border-radius:50%;background:linear-gradient(135deg,var(--secondary),var(--primary));color:#fff;font-size:1.55rem;box-shadow:0 16px 35px rgba(20,50,90,.3)}.chatbot-panel{position:fixed;right:24px;bottom:96px;z-index:1051;width:min(390px,calc(100vw - 32px));height:520px;background:#fff;border-radius:22px;box-shadow:0 24px 60px rgba(15,23,42,.28);display:none;overflow:hidden;border:1px solid #e5e7eb}.chatbot-panel.open{display:flex;flex-direction:column}.chatbot-header{padding:16px 18px;background:linear-gradient(135deg,var(--primary),var(--secondary));color:#fff;display:flex;justify-content:space-between;align-items:center}.chatbot-header small{display:block;opacity:.8}.chatbot-header button{border:0;background:transparent;color:#fff;font-size:1.6rem}.chatbot-messages{flex:1;overflow-y:auto;padding:16px;background:#f6f8fc;display:flex;flex-direction:column;gap:10px}.bot-message,.user-message{max-width:84%;padding:11px 14px;border-radius:16px;white-space:pre-wrap}.bot-message{background:#fff;align-self:flex-start;border-bottom-left-radius:4px;box-shadow:0 5px 15px rgba(0,0,0,.05)}.user-message{background:var(--secondary);color:#fff;align-self:flex-end;border-bottom-right-radius:4px}.loading{opacity:.65}.chatbot-form{display:flex;gap:8px;padding:12px;border-top:1px solid #e5e7eb}.chatbot-form input{flex:1;border:1px solid #d0d5dd;border-radius:12px;padding:10px 12px;min-width:0}.chatbot-form button{border:0;border-radius:12px;background:var(--secondary);color:#fff;padding:0 15px;font-weight:700}@media(max-width:575px){.chatbot-launcher{right:16px;bottom:16px}.chatbot-panel{right:16px;bottom:88px;height:70vh}}

.assessment-shortcut-card{display:flex;align-items:center;gap:18px;min-height:170px;padding:24px;border-radius:24px;text-decoration:none;color:#172033;background:#fff;box-shadow:0 14px 35px rgba(30,55,90,.09);border:1px solid rgba(40,70,110,.08);transition:.25s}.assessment-shortcut-card:hover{transform:translateY(-4px);color:#172033;box-shadow:0 20px 45px rgba(30,55,90,.15)}.assessment-shortcut-card h3{font-size:1.08rem;font-weight:800;margin:.25rem 0 .45rem}.assessment-shortcut-card p{margin:0;color:#667085;font-size:.92rem}.assessment-shortcut-card>div:nth-child(2)>span{font-size:.76rem;text-transform:uppercase;letter-spacing:.08em;font-weight:800;color:var(--secondary)}.shortcut-icon{width:58px;height:58px;border-radius:18px;display:grid;place-items:center;font-size:1.8rem;flex:none;background:#eef5ff}.shortcut-arrow{margin-left:auto;font-size:1.7rem;font-weight:800}.personality-shortcut{background:linear-gradient(135deg,#fff,#f5f0ff)}.vak-shortcut{background:linear-gradient(135deg,#fff,#ecfbff)}
.assessment-hero{display:flex;align-items:center;justify-content:space-between;gap:30px;padding:38px;border-radius:30px;color:#fff;box-shadow:0 20px 50px rgba(25,55,109,.2)}.assessment-hero h1{font-weight:900;margin:.35rem 0}.assessment-hero p{margin:0;max-width:700px;font-size:1.05rem;opacity:.92}.personality-hero{background:linear-gradient(135deg,#5b21b6,#8b5cf6)}.vak-hero{background:linear-gradient(135deg,#075985,#0ea5e9)}.assessment-hero-icon{font-size:4rem}.assessment-option{display:flex;gap:12px;align-items:flex-start;border:1px solid #dbe4ef;border-radius:14px;padding:14px 16px;margin-top:10px;cursor:pointer;background:#fff;transition:.18s}.assessment-option:hover{border-color:var(--secondary);background:#f4f8ff;transform:translateX(3px)}.assessment-option input{margin-top:4px}.assessment-result-card{display:flex;align-items:center;gap:24px;padding:30px;border-radius:26px;background:#fff;box-shadow:0 16px 40px rgba(25,55,109,.1);margin-top:25px}.result-badge{width:92px;height:92px;border-radius:28px;background:linear-gradient(135deg,#eef5ff,#f4edff);display:grid;place-items:center;font-size:3rem;flex:none}.assessment-result-card h2{font-weight:900;font-size:2.2rem;margin:.2rem 0}.score-distribution-card,.analysis-card{height:100%;padding:22px;border-radius:20px;background:#fff;box-shadow:0 12px 30px rgba(25,55,109,.08);border:1px solid #edf1f7}.analysis-card h4{font-weight:800;color:var(--primary)}.score-distribution-card .progress{height:10px;border-radius:20px;background:#eef2f7}.score-distribution-card .progress-bar{background:linear-gradient(90deg,var(--primary),var(--secondary));border-radius:20px}
.comparison-wrapper{border-radius:24px;box-shadow:0 16px 40px rgba(25,55,109,.09);background:#fff;border:1px solid #e7edf5}.comparison-table{min-width:720px}.comparison-table th,.comparison-table td{padding:17px 20px;text-align:center;border-color:#edf1f7}.comparison-table th:first-child,.comparison-table td:first-child{text-align:left;font-weight:650}.comparison-table thead th{background:#f7f9fc;color:#344054}.comparison-plan{display:inline-block;padding:8px 16px;border-radius:999px;font-weight:850}.comparison-plan.pemula{background:#eaf3ff;color:#175cd3}.comparison-plan.madya{background:#fff3dc;color:#b54708}.comparison-plan.ahli{background:#ecfdf3;color:#027a48}.comparison-table tbody td:not(:first-child){font-weight:800;color:#344054}
@media(max-width:767px){.assessment-hero{padding:26px;align-items:flex-start}.assessment-hero-icon{font-size:2.8rem}.assessment-result-card{align-items:flex-start;flex-direction:column}.assessment-shortcut-card{align-items:flex-start}.shortcut-arrow{display:none}}

.iq-shortcut{background:linear-gradient(135deg,#fff,#fff6e7)}
.iq-hero{background:linear-gradient(135deg,#7c2d12,#f97316)}
.iq-score-card{display:flex;align-items:center;gap:28px;padding:32px;border-radius:28px;background:#fff;box-shadow:0 18px 44px rgba(25,55,109,.11);margin-top:24px}
.iq-score-circle{width:130px;height:130px;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;flex:none;background:linear-gradient(135deg,#fff2df,#ffd8a8);border:8px solid #fff;box-shadow:0 10px 30px rgba(249,115,22,.2)}
.iq-score-circle strong{font-size:2.4rem;line-height:1;color:#9a3412}.iq-score-circle span{font-size:.8rem;text-transform:uppercase;letter-spacing:.08em;font-weight:800;color:#9a3412}
@media(max-width:767px){.iq-score-card{flex-direction:column;align-items:flex-start}.iq-score-circle{width:110px;height:110px}}


/* BelajarKita 2.0 */
:root[data-theme="dark"]{
 --primary:#60a5fa;--secondary:#38bdf8;--accent:#fbbf24;
}
:root[data-theme="dark"] body{background:#07111f;color:#e5eefb}
:root[data-theme="dark"] .card,
:root[data-theme="dark"] .content-card,
:root[data-theme="dark"] .chart-card,
:root[data-theme="dark"] .v2-table-card,
:root[data-theme="dark"] .assessment-shortcut-card,
:root[data-theme="dark"] .v2-achievement-card,
:root[data-theme="dark"] .score-distribution-card,
:root[data-theme="dark"] .analysis-card{background:#0f1d30;color:#e5eefb;border-color:#20334d}
:root[data-theme="dark"] .text-secondary,
:root[data-theme="dark"] p,
:root[data-theme="dark"] small{color:#a9b8ca!important}
:root[data-theme="dark"] .table{--bs-table-bg:#0f1d30;--bs-table-color:#e5eefb;--bs-table-border-color:#263a55}
.theme-toggle{border:0;background:rgba(255,255,255,.14);color:#fff;width:38px;height:38px;border-radius:12px}
.install-app-button{position:fixed;left:22px;bottom:22px;z-index:1100;border:0;border-radius:999px;padding:12px 18px;background:#111827;color:#fff;box-shadow:0 16px 34px rgba(0,0,0,.25)}
.v2-page-hero{display:flex;justify-content:space-between;align-items:center;gap:30px;padding:36px;border-radius:30px;background:linear-gradient(135deg,#172554,#2563eb);color:#fff;box-shadow:0 20px 50px rgba(37,99,235,.22)}
.v2-page-hero h1{font-size:clamp(2rem,5vw,3.4rem);font-weight:900;margin:.35rem 0}.v2-page-hero p{font-size:1.05rem;max-width:720px;margin:0}.v2-hero-icon{font-size:4.5rem}
.v2-achievement-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.v2-achievement-card{display:flex;gap:14px;align-items:center;padding:20px;border-radius:20px;background:#fff;box-shadow:0 12px 30px rgba(25,55,109,.08);border:1px solid #e8eef7}
.v2-achievement-card>span{font-size:2rem}.v2-achievement-card small{display:block;color:#667085}.v2-achievement-card strong,.v2-achievement-card a{display:block;font-size:1.25rem;font-weight:850;text-decoration:none}
.chart-card{padding:24px;border-radius:24px;background:#fff;box-shadow:0 14px 38px rgba(25,55,109,.09);border:1px solid #e8eef7}.chart-card h3{font-weight:850}
.podium-card{text-align:center;padding:30px 20px;border-radius:26px;color:#172033;background:#fff;box-shadow:0 16px 42px rgba(25,55,109,.1);height:100%}.podium-rank{font-size:3rem}.podium-card h3{font-weight:900;margin-top:10px}.podium-1{background:linear-gradient(135deg,#fff9db,#fff)}.podium-2{background:linear-gradient(135deg,#f1f5f9,#fff)}.podium-3{background:linear-gradient(135deg,#fff0e5,#fff)}
.v2-table-card{border:0;border-radius:24px;overflow:hidden;box-shadow:0 14px 40px rgba(25,55,109,.09)}.leaderboard-table td,.leaderboard-table th{padding:16px}.rank-pill{display:inline-flex;padding:6px 10px;border-radius:999px;background:#eef5ff;color:#1d4ed8;font-weight:800}
.adaptive-hero{background:linear-gradient(135deg,#4c1d95,#7c3aed)}.admin-analytics-hero{background:linear-gradient(135deg,#064e3b,#059669)}
.certificate-page{max-width:1100px}.certificate-sheet{background:#f4ead3;padding:24px;box-shadow:0 20px 60px rgba(0,0,0,.14)}.certificate-border{border:10px double #9a6d1f;padding:55px;text-align:center;background:#fffdf7}.certificate-logo{width:82px;height:82px;border-radius:50%;margin:0 auto 20px;display:grid;place-items:center;background:#19376d;color:#fff;font-size:1.5rem;font-weight:900}.certificate-small-title{letter-spacing:.28em;font-weight:900;color:#9a6d1f}.certificate-sheet h1{font-family:Georgia,serif;margin:25px 0 8px}.certificate-name{font-family:Georgia,serif;font-size:clamp(2.2rem,6vw,4.6rem);font-style:italic;color:#19376d;border-bottom:2px solid #c6a15b;display:inline-block;padding:0 40px 8px;margin-bottom:22px}.certificate-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:35px 0}.certificate-metrics div{padding:16px;background:#faf5e8;border-radius:14px}.certificate-metrics strong,.certificate-metrics span{display:block}.certificate-footer{display:flex;justify-content:space-between;align-items:center;margin-top:45px}.certificate-footer span{display:block;color:#7b6a4c;font-size:.8rem}.certificate-seal{width:70px;height:70px;border-radius:50%;display:grid;place-items:center;background:#9a6d1f;color:#fff;font-size:2rem}
@media(max-width:992px){.v2-achievement-grid{grid-template-columns:repeat(2,1fr)}.certificate-metrics{grid-template-columns:repeat(2,1fr)}}
@media(max-width:576px){.v2-achievement-grid{grid-template-columns:1fr}.v2-page-hero{align-items:flex-start;padding:26px}.v2-hero-icon{font-size:3rem}.certificate-border{padding:28px 18px}.certificate-footer{flex-direction:column;gap:22px}.certificate-metrics{grid-template-columns:1fr}}
@media print{nav,footer,.install-app-button,.certificate-page>.text-center{display:none!important}.certificate-page{padding:0!important}.certificate-sheet{box-shadow:none;padding:0}.certificate-border{min-height:95vh}}

.institution-navbar-logo{width:44px;height:44px;object-fit:contain;border-radius:12px;background:#fff;padding:3px}
.institution-footer{background:linear-gradient(135deg,#0b172c,#173b72);color:#fff}
.institution-footer h4,.institution-footer h5{font-weight:800}
.institution-footer-logo{width:72px;height:72px;object-fit:contain;border-radius:18px;background:#fff;padding:5px}
.footer-link-list,.footer-social-links{display:flex;flex-direction:column;gap:10px}
.footer-link-list a,.footer-social-links a,.footer-contact-link{color:#e7efff;text-decoration:none}
.footer-link-list a:hover,.footer-social-links a:hover,.footer-contact-link:hover{color:#fbbf24}
.institution-footer hr{border-color:rgba(255,255,255,.2)}

.account-choice-card{display:block;position:relative;cursor:pointer;height:100%}
.account-choice-card>input{position:absolute;opacity:0;pointer-events:none}
.account-choice-content{display:flex;flex-direction:column;gap:8px;height:100%;padding:22px;border:2px solid #e3eaf4;border-radius:20px;background:#fff;transition:.2s}
.account-choice-content strong{font-size:1.15rem}
.account-choice-content small{color:#667085}
.account-choice-card:hover .account-choice-content,
.account-choice-card>input:checked+.account-choice-content{border-color:var(--secondary);box-shadow:0 12px 30px rgba(37,99,235,.12);transform:translateY(-2px)}
.account-choice-card>input:checked+.account-choice-content{background:#f2f7ff}


/* BelajarKita 2.4: rich editor, article, material column */
.rich-editor-shell{border:1px solid #d8e1ee;border-radius:18px;overflow:hidden;background:#fff}
.rich-editor-toolbar{display:flex;flex-wrap:wrap;gap:6px;padding:12px;background:#f4f7fb;border-bottom:1px solid #d8e1ee;position:sticky;top:68px;z-index:5}
.rich-editor-toolbar button{border:1px solid #ccd7e6;background:#fff;border-radius:8px;padding:7px 10px;font-size:.86rem;font-weight:700}
.rich-editor-toolbar button:hover{background:#eaf2ff;border-color:var(--secondary)}
.rich-editor-area{min-height:480px;padding:28px;outline:none;line-height:1.75}
.rich-editor-area:focus{box-shadow:inset 0 0 0 2px rgba(37,99,235,.15)}
.rich-editor-area img,.article-rich-content img{max-width:100%;height:auto;border-radius:14px}
.rich-editor-area figure,.article-rich-content figure{text-align:center;margin:24px 0}
.rich-editor-area figcaption,.article-rich-content figcaption{font-size:.88rem;color:#667085;margin-top:8px}
.rich-editor-area table,.article-rich-content table{width:100%;border-collapse:collapse;margin:20px 0}
.rich-editor-area th,.rich-editor-area td,.article-rich-content th,.article-rich-content td{border:1px solid #d5deea;padding:10px}
.math-formula{display:inline-block;padding:2px 5px}
.math-equation{padding:18px;overflow-x:auto;text-align:center;background:#f8fafc;border-radius:14px;margin:18px 0}
.article-detail-card{background:#fff;border-radius:28px;overflow:hidden;box-shadow:0 18px 50px rgba(25,55,109,.11)}
.article-cover-image{width:100%;max-height:470px;object-fit:cover}
.article-detail-body{padding:clamp(24px,5vw,55px)}
.article-detail-body h1{font-size:clamp(2rem,5vw,3.8rem);font-weight:900;margin:18px 0}
.article-lead{font-size:1.2rem;color:#475467;border-left:5px solid var(--accent);padding-left:18px}
.article-rich-content{font-size:1.05rem;line-height:1.85}
.article-rich-content h2,.article-rich-content h3{font-weight:850;margin-top:1.5em;color:var(--primary)}
.dashboard-material-column{padding:26px;border-radius:26px;background:linear-gradient(135deg,#eff6ff,#fff);border:1px solid #dae8ff}
.dashboard-article-card{overflow:hidden;border-radius:20px;background:#fff;border:1px solid #e5ebf4;box-shadow:0 10px 28px rgba(25,55,109,.07);transition:.2s}
.dashboard-article-card:hover{transform:translateY(-3px);box-shadow:0 16px 38px rgba(25,55,109,.12)}
.dashboard-article-card>img,.dashboard-article-placeholder{width:100%;height:150px;object-fit:cover}
.dashboard-article-placeholder{display:grid;place-items:center;font-size:3rem;background:linear-gradient(135deg,#dbeafe,#f5f3ff)}
.dashboard-article-body{padding:18px}
.dashboard-article-body h3{font-size:1.05rem;font-weight:850;margin:12px 0 7px}
.dashboard-article-body p{font-size:.9rem;color:#667085;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.dashboard-article-body a{text-decoration:none;font-weight:800}
.locked-link{color:#98a2b3!important}
:root[data-theme="dark"] .rich-editor-shell,
:root[data-theme="dark"] .rich-editor-area,
:root[data-theme="dark"] .article-detail-card,
:root[data-theme="dark"] .dashboard-article-card{background:#0f1d30;color:#e5eefb;border-color:#263a55}
:root[data-theme="dark"] .rich-editor-toolbar{background:#122238;border-color:#263a55}
:root[data-theme="dark"] .rich-editor-toolbar button{background:#182b44;color:#e5eefb;border-color:#324964}
:root[data-theme="dark"] .dashboard-material-column{background:linear-gradient(135deg,#0c1b31,#0f1d30);border-color:#263a55}

.admin-plan-form-card{position:sticky;top:88px}
.admin-plan-form-card .input-group-text{font-weight:800;background:#edf4ff;color:#174ea6}
@media(max-width:991px){.admin-plan-form-card{position:static}}

.payment-price-summary{display:flex;justify-content:space-between;align-items:center;padding:18px;border-radius:16px;background:#f2f7ff}.payment-price-summary strong{font-size:1.6rem}
.payment-method-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.payment-method-grid label{cursor:pointer}.payment-method-grid input{position:absolute;opacity:0}.payment-method-grid span{display:flex;flex-direction:column;padding:18px;border:2px solid #e1e8f2;border-radius:16px;transition:.2s}.payment-method-grid input:checked+span{border-color:var(--secondary);background:#eff6ff;box-shadow:0 8px 22px rgba(37,99,235,.12)}.payment-method-grid small{color:#667085;margin-top:4px}
.legal-page h2{font-size:1.25rem;font-weight:850;margin-top:1.7rem}
@media(max-width:576px){.payment-method-grid{grid-template-columns:1fr}}


/* BelajarKita 2.7 - Microsoft Word style editor */
.admin-content-tabs{gap:8px;flex-wrap:wrap}
.admin-content-tabs .nav-link{border-radius:12px;font-weight:800;background:#fff;border:1px solid #dce5f1;color:#344054}
.admin-content-tabs .nav-link.active{background:#185abd;color:#fff;border-color:#185abd}

.word-editor{border:1px solid #b8c6d9;border-radius:8px;overflow:hidden;background:#e8edf4;box-shadow:0 8px 24px rgba(25,55,109,.09)}
.word-editor-ribbon{background:#f7f9fc;border-bottom:1px solid #b8c6d9}
.word-editor-tabs{display:flex;gap:4px;padding:5px 10px 0;background:#185abd;color:#fff}
.word-editor-tabs span{padding:7px 14px;border-radius:5px 5px 0 0;font-size:.82rem}
.word-editor-tabs span.active{background:#fff;color:#185abd;font-weight:800}
.word-editor-tools{display:flex;align-items:stretch;gap:2px;padding:7px;overflow-x:auto;background:#fff}
.word-tool-group{display:flex;align-items:center;align-content:center;justify-content:center;flex-wrap:wrap;gap:4px;min-width:88px;padding:3px 8px 17px;border-right:1px solid #d7dee8;position:relative}
.word-tool-group:last-child{border-right:0}
.word-tool-group>small{position:absolute;bottom:0;left:0;right:0;text-align:center;font-size:.65rem;color:#667085}
.word-tool-group button{border:1px solid transparent;background:transparent;border-radius:4px;min-width:30px;height:30px;padding:3px 6px;font-size:.82rem}
.word-tool-group button:hover{background:#e8f1ff;border-color:#a7c6ef}
.word-tool-group select{height:30px;border:1px solid #cbd5e1;border-radius:4px;font-size:.78rem;padding:2px 5px;max-width:145px}
.word-font-group{min-width:285px;justify-content:flex-start}
.word-inline-buttons{display:flex;gap:2px;flex-wrap:wrap}
.word-tool-group label{display:inline-flex;align-items:center;justify-content:center;position:relative;border-radius:4px;min-width:30px;height:30px;font-weight:800;cursor:pointer}
.word-tool-group label:hover{background:#e8f1ff}
.word-tool-group input[type=color]{position:absolute;opacity:0;width:1px;height:1px}
.word-editor-workspace{padding:28px 10px;background:#dfe4eb;overflow:auto}
.word-editor-page{width:min(100%,850px);margin:0 auto;background:#fff;padding:58px 65px;box-shadow:0 2px 12px rgba(0,0,0,.18);outline:none;color:#111;line-height:1.55;font-family:Calibri,Arial,sans-serif}
.word-editor-page:focus{box-shadow:0 0 0 3px rgba(24,90,189,.25),0 2px 12px rgba(0,0,0,.18)}
.word-editor-page img{max-width:100%;height:auto}
.word-editor-page table{width:100%;border-collapse:collapse;margin:15px 0}
.word-editor-page th,.word-editor-page td{border:1px solid #777;padding:8px;min-width:60px}
.word-editor-page blockquote{border-left:4px solid #185abd;padding:10px 18px;background:#f3f7fd}
.word-editor-page pre{background:#111827;color:#e5e7eb;padding:14px;border-radius:6px;overflow:auto}
.word-editor-source{display:block;width:min(100%,850px);margin:0 auto;padding:25px;border:0;outline:none;font-family:Consolas,monospace;background:#111827;color:#e5e7eb}
.word-editor-footer{display:flex;justify-content:space-between;padding:5px 12px;background:#185abd;color:#fff;font-size:.75rem}
.word-editor-fullscreen{position:fixed;inset:0;z-index:9999;border-radius:0;display:flex;flex-direction:column}
.word-editor-fullscreen .word-editor-workspace{flex:1}
.word-editor-fullscreen .word-editor-page,.word-editor-fullscreen .word-editor-source{min-height:calc(100vh - 150px)!important}
.editor-figure{text-align:center;margin:18px 0}
.editor-figure figcaption{font-size:.85rem;color:#667085;margin-top:6px}
.math-equation{padding:16px;text-align:center;background:#f7f8fa;border-radius:6px;overflow-x:auto}
.math-formula{font-family:Cambria Math,serif}
@media(max-width:768px){
 .word-editor-page{padding:30px 22px}
 .word-editor-workspace{padding:12px 5px}
 .word-font-group{min-width:245px}
}
:root[data-theme="dark"] .word-editor-ribbon,
:root[data-theme="dark"] .word-editor-tools{background:#122238;color:#e5eefb}
:root[data-theme="dark"] .word-tool-group{border-color:#31445e}
:root[data-theme="dark"] .word-tool-group button{color:#e5eefb}
:root[data-theme="dark"] .word-editor-workspace{background:#081321}
:root[data-theme="dark"] .word-editor-page{background:#fff;color:#111}

.word-editor-ribbon{position:relative;z-index:20}
.word-editor-tools button,.word-editor-tools select,.word-editor-tools label{pointer-events:auto}
.word-editor-page[contenteditable="true"]{cursor:text}

.rich-explanation-content{margin-top:10px;line-height:1.75}
.rich-explanation-content>:last-child{margin-bottom:0}
.rich-explanation-content p{margin-bottom:.8rem}
.rich-explanation-content h1,.rich-explanation-content h2,.rich-explanation-content h3,.rich-explanation-content h4{font-weight:850;margin-top:1.2rem;margin-bottom:.65rem}
.rich-explanation-content ul,.rich-explanation-content ol{padding-left:1.4rem}
.rich-explanation-content img{max-width:100%;height:auto;border-radius:12px;margin:12px 0}
.rich-explanation-content figure{text-align:center;margin:16px 0}
.rich-explanation-content figcaption{font-size:.85rem;color:#667085;margin-top:6px}
.rich-explanation-content table{width:100%;border-collapse:collapse;margin:14px 0;background:#fff}
.rich-explanation-content th,.rich-explanation-content td{border:1px solid #cfd8e6;padding:9px;vertical-align:top}
.rich-explanation-content th{background:#edf4ff;font-weight:800}
.rich-explanation-content blockquote{border-left:4px solid var(--secondary);padding:10px 16px;background:#f5f8fc;border-radius:0 8px 8px 0}
.rich-explanation-content pre{padding:14px;border-radius:8px;background:#111827;color:#e5e7eb;overflow:auto}
.rich-explanation-content .math-equation{overflow-x:auto;text-align:center;padding:14px;background:#f8fafc;border-radius:10px}
:root[data-theme="dark"] .rich-explanation-content table{background:#0f1d30;color:#e5eefb}
:root[data-theme="dark"] .rich-explanation-content th{background:#172a44}
:root[data-theme="dark"] .rich-explanation-content th,
:root[data-theme="dark"] .rich-explanation-content td{border-color:#344963}
:root[data-theme="dark"] .rich-explanation-content blockquote,
:root[data-theme="dark"] .rich-explanation-content .math-equation{background:#122238}

/* BelajarKita 3.0 Admin Dashboard */
.admin-dashboard-body{background:#f3f6fb;overflow-x:hidden}.admin-app{min-height:100vh}.admin-sidebar{position:fixed;inset:0 auto 0 0;width:278px;background:linear-gradient(180deg,#101c35,#16294b);color:#dce7f8;z-index:1045;display:flex;flex-direction:column;box-shadow:12px 0 36px rgba(15,23,42,.12)}
.admin-sidebar-brand{height:82px;padding:15px 18px;border-bottom:1px solid rgba(255,255,255,.09);display:flex;align-items:center}.admin-sidebar-brand>a{display:flex;align-items:center;gap:12px;color:#fff;text-decoration:none;min-width:0}.admin-sidebar-brand img,.admin-sidebar-brand>a>span{width:46px;height:46px;object-fit:contain;border-radius:13px;background:#fff;color:#173b72;display:grid;place-items:center;font-weight:900;padding:4px}.admin-sidebar-brand strong,.admin-sidebar-brand small{display:block}.admin-sidebar-brand strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.admin-sidebar-brand small{font-size:.72rem;color:#9db0cb}.admin-sidebar-brand button{display:none;margin-left:auto;border:0;background:none;color:#fff;font-size:1.8rem}
.admin-sidebar-user{display:flex;gap:12px;align-items:center;margin:16px;padding:14px;border-radius:16px;background:rgba(255,255,255,.07)}.admin-avatar{width:42px;height:42px;border-radius:13px;display:grid;place-items:center;background:linear-gradient(135deg,#60a5fa,#7c3aed);font-weight:900;color:#fff}.admin-sidebar-user strong,.admin-sidebar-user small{display:block}.admin-sidebar-user small{color:#9db0cb;font-size:.72rem}
.admin-nav{padding:0 12px 20px;overflow-y:auto;flex:1}.admin-nav-group{margin:14px 0}.admin-nav-heading{display:block;padding:0 12px 7px;text-transform:uppercase;letter-spacing:.12em;font-size:.63rem;font-weight:900;color:#7890b1}.admin-nav a{display:flex;align-items:center;gap:12px;padding:10px 12px;margin:3px 0;border-radius:12px;text-decoration:none;color:#bfd0e7;font-weight:680;font-size:.9rem;transition:.18s}.admin-nav a:hover{background:rgba(255,255,255,.08);color:#fff;transform:translateX(2px)}.admin-nav a.active{background:linear-gradient(135deg,#2563eb,#4f46e5);color:#fff;box-shadow:0 10px 24px rgba(37,99,235,.27)}.admin-nav-icon{width:26px;text-align:center;font-size:1.05rem}.admin-sidebar-footer{display:flex;justify-content:space-between;padding:15px 20px;border-top:1px solid rgba(255,255,255,.08)}.admin-sidebar-footer a{font-size:.78rem;color:#a8bbd4;text-decoration:none}
.admin-main-shell{margin-left:278px;min-height:100vh;display:flex;flex-direction:column}.admin-topbar{height:82px;background:rgba(255,255,255,.94);backdrop-filter:blur(16px);border-bottom:1px solid #e4eaf2;position:sticky;top:0;z-index:1030;display:flex;align-items:center;justify-content:space-between;padding:0 30px}.admin-topbar-left{display:flex;align-items:center;gap:14px}.admin-topbar-left>div>span{color:#7b8799;font-size:.72rem;text-transform:uppercase;letter-spacing:.08em}.admin-topbar-left h1{font-size:1.25rem;font-weight:850;margin:0;color:#152238}.admin-menu-toggle{display:none;border:0;background:#edf3fb;border-radius:11px;width:42px;height:42px}.admin-topbar-actions{display:flex;align-items:center;gap:12px}.admin-command-search{position:relative}.admin-command-search>span{position:absolute;left:13px;top:8px;color:#77869a}.admin-command-search input{width:260px;border:1px solid #dce4ef;background:#f7f9fc;border-radius:12px;padding:9px 12px 9px 36px;outline:none}.admin-command-search input:focus{border-color:#75a7e8;background:#fff;box-shadow:0 0 0 3px rgba(37,99,235,.1)}.admin-search-results{display:none;position:absolute;top:48px;right:0;width:290px;background:#fff;border:1px solid #e1e7ef;border-radius:14px;box-shadow:0 18px 45px rgba(15,23,42,.16);padding:7px;z-index:1100}.admin-search-results.show{display:block}.admin-search-results a{display:flex;gap:10px;padding:10px;border-radius:9px;text-decoration:none;color:#25344b}.admin-search-results a:hover{background:#eef5ff}.admin-theme-toggle{background:#edf3fb;color:#17233a}.admin-profile-chip{display:flex;align-items:center;gap:9px;text-decoration:none;color:#1e2a3c;padding:5px 9px 5px 5px;border-radius:14px}.admin-profile-chip:hover{background:#f0f4f9}.admin-profile-chip>span{width:38px;height:38px;border-radius:11px;display:grid;place-items:center;background:linear-gradient(135deg,#2563eb,#7c3aed);color:#fff;font-weight:900}.admin-profile-chip strong,.admin-profile-chip small{display:block;font-size:.8rem}.admin-profile-chip small{font-size:.67rem;color:#758297}
.admin-page-content{flex:1;padding:28px 30px 45px;max-width:1680px;width:100%;margin:0 auto}.admin-page-content>.container,.admin-page-content>.container-fluid{max-width:none!important;width:100%;padding:0!important}.admin-page-content .v2-page-hero{border-radius:22px;padding:28px;background:linear-gradient(135deg,#172554,#2563eb 65%,#4f46e5);box-shadow:0 16px 42px rgba(37,99,235,.17)}.admin-page-content .v2-page-hero h1{font-size:clamp(1.75rem,3vw,2.6rem)}.admin-page-content .content-card,.admin-page-content .v2-table-card,.admin-page-content .chart-card{border-radius:18px;border:1px solid #e3e9f1;box-shadow:0 8px 28px rgba(21,37,63,.06)}.admin-page-content .card-header{border-bottom:1px solid #e8edf4}.admin-modern-table thead th{background:#f5f8fc;color:#607088;font-size:.71rem;text-transform:uppercase;letter-spacing:.05em;padding:13px 15px;border-bottom:1px solid #e1e7ef}.admin-modern-table td{padding:14px 15px;border-color:#edf1f6}.admin-modern-table tbody tr:hover{background:#f8fbff}.admin-mini-footer{display:flex;justify-content:space-between;padding:16px 30px;color:#7b8798;font-size:.75rem;border-top:1px solid #e5eaf1;background:#fff}.admin-sidebar-overlay{display:none}
.admin-alert-visible{animation:adminSlideDown .25s ease both}@keyframes adminSlideDown{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}
:root[data-theme="dark"] .admin-dashboard-body{background:#07111f}.admin-dashboard-body[data-theme="dark"] .admin-topbar,:root[data-theme="dark"] .admin-topbar{background:rgba(10,23,40,.94);border-color:#22354d}.admin-dashboard-body[data-theme="dark"] .admin-topbar h1,:root[data-theme="dark"] .admin-topbar h1{color:#e7eef8}:root[data-theme="dark"] .admin-command-search input{background:#102138;color:#e5eefb;border-color:#2b405c}:root[data-theme="dark"] .admin-profile-chip{color:#e5eefb}:root[data-theme="dark"] .admin-search-results{background:#102138;border-color:#2b405c}:root[data-theme="dark"] .admin-search-results a{color:#e5eefb}:root[data-theme="dark"] .admin-mini-footer{background:#0c1a2d;border-color:#22354d}
@media(max-width:1100px){.admin-sidebar{transform:translateX(-100%);transition:.25s}.admin-sidebar-open .admin-sidebar{transform:none}.admin-sidebar-brand button{display:block}.admin-sidebar-overlay{display:block;position:fixed;inset:0;background:rgba(3,10,22,.55);z-index:1040;opacity:0;visibility:hidden;transition:.25s}.admin-sidebar-open .admin-sidebar-overlay{opacity:1;visibility:visible}.admin-main-shell{margin-left:0}.admin-menu-toggle{display:block}.admin-command-search input{width:210px}}
@media(max-width:700px){.admin-page-content{padding:18px 14px 35px}.admin-topbar{padding:0 14px;height:72px}.admin-command-search,.admin-profile-chip div{display:none}.admin-profile-chip{padding:0}.admin-topbar-left h1{font-size:1rem}.admin-mini-footer{padding:14px;flex-direction:column;gap:4px}}

.admin-welcome-panel{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:30px 34px;border-radius:22px;background:linear-gradient(125deg,#13294b,#1d4ed8 58%,#6366f1);color:#fff;box-shadow:0 18px 42px rgba(37,99,235,.19)}.admin-kicker{font-size:.72rem;text-transform:uppercase;letter-spacing:.13em;font-weight:800;color:#bcd2ff}.admin-welcome-panel h2{font-size:2rem;font-weight:900;margin:5px 0}.admin-welcome-panel p{max-width:700px;margin:0;color:#dae7ff}.admin-welcome-actions{display:flex;gap:9px;flex-wrap:wrap}
.admin-metric-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin:20px 0}.admin-metric-card{display:flex;align-items:center;gap:15px;padding:20px;border-radius:18px;background:#fff;border:1px solid #e3e9f1;box-shadow:0 8px 28px rgba(21,37,63,.055)}.admin-metric-icon{width:50px;height:50px;border-radius:15px;display:grid;place-items:center;font-size:1.25rem;font-weight:900}.metric-blue .admin-metric-icon{background:#e7f0ff;color:#2563eb}.metric-violet .admin-metric-icon{background:#f0eaff;color:#7c3aed}.metric-amber .admin-metric-icon{background:#fff2d7;color:#d97706}.metric-green .admin-metric-icon{background:#dcfce7;color:#15803d}.admin-metric-card small,.admin-metric-card strong,.admin-metric-card span{display:block}.admin-metric-card small{color:#738096;font-weight:700}.admin-metric-card strong{font-size:1.55rem;color:#15233a}.admin-metric-card>div>span{font-size:.7rem;color:#98a2b3}
.admin-dashboard-card{background:#fff;border:1px solid #e3e9f1;border-radius:19px;padding:22px;box-shadow:0 8px 28px rgba(21,37,63,.055)}.admin-card-heading{display:flex;justify-content:space-between;align-items:start;gap:14px;margin-bottom:20px}.admin-card-heading span{display:block;color:#8793a5;text-transform:uppercase;letter-spacing:.08em;font-size:.65rem;font-weight:850}.admin-card-heading h3{font-size:1.12rem;font-weight:850;margin:3px 0 0;color:#18263c}.admin-card-heading>a{font-size:.78rem;text-decoration:none;font-weight:750}
.admin-quick-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.admin-quick-grid a{display:flex;align-items:center;gap:10px;padding:14px;border:1px solid #e4eaf2;border-radius:14px;text-decoration:none;color:#29384e;background:#fbfcfe;transition:.18s}.admin-quick-grid a:hover{border-color:#8bb5ee;background:#f0f6ff;transform:translateY(-2px)}.admin-quick-grid b{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;background:#eaf2ff;color:#2563eb}.admin-quick-grid span{font-size:.82rem;font-weight:780}
.admin-content-summary-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:20px 0}.admin-content-summary-grid article{display:flex;align-items:center;gap:12px;padding:17px 19px;border-radius:17px;background:#fff;border:1px solid #e3e9f1}.admin-content-summary-grid article>span:first-child{font-size:1.45rem;color:#2563eb}.admin-content-summary-grid small,.admin-content-summary-grid strong{display:block}.admin-content-summary-grid small{font-size:.72rem;color:#7c899d}.admin-content-summary-grid strong{font-size:1.25rem}.admin-content-summary-grid a{margin-left:auto;font-size:.74rem;text-decoration:none;font-weight:750}.admin-auto-badge{margin-left:auto!important;padding:5px 8px;border-radius:999px;background:#dcfce7;color:#15803d!important;font-size:.62rem!important;font-weight:800}
.admin-status{display:inline-flex;padding:5px 9px;border-radius:999px;font-size:.68rem;font-weight:800}.status-approved{background:#dcfce7;color:#15803d}.status-pending{background:#fff1c7;color:#b45309}.status-rejected{background:#fee2e2;color:#b91c1c}.admin-recent-users>div{display:flex;align-items:center;gap:10px;padding:11px 0;border-bottom:1px solid #eef1f5}.admin-recent-users>div:last-child{border-bottom:0}.admin-recent-users>div>span{width:38px;height:38px;border-radius:11px;display:grid;place-items:center;background:#eaf2ff;color:#2563eb;font-weight:900}.admin-recent-users>div>div{flex:1}.admin-recent-users strong,.admin-recent-users small{display:block}.admin-recent-users strong{font-size:.84rem}.admin-recent-users small{font-size:.68rem;color:#8290a3}.admin-recent-users time{font-size:.68rem;color:#9aa5b4}
:root[data-theme="dark"] .admin-metric-card,:root[data-theme="dark"] .admin-dashboard-card,:root[data-theme="dark"] .admin-content-summary-grid article{background:#0f1d30;border-color:#263a55}:root[data-theme="dark"] .admin-metric-card strong,:root[data-theme="dark"] .admin-card-heading h3{color:#e5eefb}:root[data-theme="dark"] .admin-quick-grid a{background:#122238;border-color:#2a3e58;color:#e5eefb}
@media(max-width:1200px){.admin-metric-grid,.admin-content-summary-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:700px){.admin-welcome-panel{align-items:flex-start;flex-direction:column;padding:24px}.admin-metric-grid,.admin-content-summary-grid{grid-template-columns:1fr}.admin-quick-grid{grid-template-columns:1fr}}


/* BelajarKita 3.1 - Modern interactive user panel */
.user-dashboard-body{background:#f2f6fc;overflow-x:hidden}
.user-app{min-height:100vh}
.user-sidebar{position:fixed;inset:0 auto 0 0;width:272px;background:linear-gradient(180deg,#102548,#173c74 62%,#245aa6);color:#dce9fa;z-index:1045;display:flex;flex-direction:column;box-shadow:12px 0 38px rgba(20,45,84,.14)}
.user-sidebar-brand{height:82px;padding:15px 18px;border-bottom:1px solid rgba(255,255,255,.1);display:flex;align-items:center}
.user-sidebar-brand>a{display:flex;align-items:center;gap:12px;color:#fff;text-decoration:none;min-width:0}
.user-sidebar-brand img,.user-sidebar-brand>a>span{width:46px;height:46px;border-radius:14px;background:#fff;color:#1b4f94;object-fit:contain;display:grid;place-items:center;font-weight:900;padding:4px}
.user-sidebar-brand strong,.user-sidebar-brand small{display:block}
.user-sidebar-brand strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.user-sidebar-brand small{font-size:.7rem;color:#a9c2e5;letter-spacing:.04em}
.user-sidebar-brand button{display:none;margin-left:auto;border:0;background:none;color:#fff;font-size:1.8rem}

.user-profile-card{display:flex;align-items:center;gap:11px;margin:16px;padding:14px;border-radius:17px;background:rgba(255,255,255,.09);position:relative}
.user-profile-avatar{width:44px;height:44px;border-radius:14px;background:linear-gradient(135deg,#66b6ff,#8b5cf6);display:grid;place-items:center;color:#fff;font-weight:900}
.user-profile-card>div:nth-child(2){min-width:0;flex:1}
.user-profile-card strong,.user-profile-card small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.user-profile-card strong{font-size:.86rem;color:#fff}
.user-profile-card small{font-size:.68rem;color:#afc6e4;margin-top:2px}
.user-online-dot{width:9px;height:9px;border-radius:50%;background:#57e39e;box-shadow:0 0 0 4px rgba(87,227,158,.13)}

.user-nav{padding:0 12px 18px;overflow-y:auto;flex:1}
.user-nav-group{margin:13px 0}
.user-nav-heading{display:block;padding:0 12px 7px;font-size:.62rem;text-transform:uppercase;letter-spacing:.12em;font-weight:900;color:#83a3ca}
.user-nav a{display:flex;align-items:center;gap:12px;padding:10px 12px;margin:3px 0;border-radius:12px;color:#c5d8ef;text-decoration:none;font-size:.88rem;font-weight:700;transition:.18s}
.user-nav a:hover{background:rgba(255,255,255,.09);color:#fff;transform:translateX(2px)}
.user-nav a.active{background:linear-gradient(135deg,#3b82f6,#6366f1);color:#fff;box-shadow:0 10px 25px rgba(21,61,138,.34)}
.user-nav-icon{width:25px;text-align:center;font-size:1rem}

.user-sidebar-plan{margin:5px 16px 14px;padding:15px;border-radius:17px;position:relative;overflow:hidden}
.user-sidebar-plan:after{content:"";position:absolute;width:90px;height:90px;border-radius:50%;right:-38px;top:-42px;background:rgba(255,255,255,.08)}
.user-sidebar-plan.has-plan{background:linear-gradient(135deg,#6654d9,#8b5cf6)}
.user-sidebar-plan.no-plan{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.09)}
.user-sidebar-plan span,.user-sidebar-plan strong,.user-sidebar-plan small,.user-sidebar-plan a{display:block;position:relative;z-index:1}
.user-sidebar-plan span{font-size:.63rem;text-transform:uppercase;letter-spacing:.09em;color:#ded8ff;font-weight:850}
.user-sidebar-plan strong{font-size:.86rem;color:#fff;margin:4px 0}
.user-sidebar-plan small{font-size:.65rem;color:#d2d8e8}
.user-sidebar-plan a{color:#fff;text-decoration:none;font-size:.69rem;font-weight:850;margin-top:10px}
.user-sidebar-footer{display:flex;justify-content:space-between;padding:14px 18px;border-top:1px solid rgba(255,255,255,.09)}
.user-sidebar-footer a{font-size:.72rem;color:#b3c8e4;text-decoration:none}

.user-main-shell{margin-left:272px;min-height:100vh;display:flex;flex-direction:column}
.user-topbar{height:82px;background:rgba(255,255,255,.94);backdrop-filter:blur(16px);border-bottom:1px solid #e1e8f1;position:sticky;top:0;z-index:1030;display:flex;align-items:center;justify-content:space-between;padding:0 28px}
.user-topbar-left{display:flex;align-items:center;gap:13px}
.user-topbar-left>div>span{display:block;font-size:.68rem;color:#8290a4;text-transform:uppercase;letter-spacing:.09em}
.user-topbar-left h1{font-size:1.2rem;font-weight:880;color:#172942;margin:1px 0 0}
.user-menu-toggle{display:none;width:42px;height:42px;border:0;border-radius:12px;background:#edf4fd;color:#1d579d}
.user-topbar-actions{display:flex;align-items:center;gap:10px}

.user-command-search{position:relative}
.user-command-search>span{position:absolute;left:13px;top:8px;color:#8190a4}
.user-command-search input{width:260px;padding:9px 12px 9px 36px;border:1px solid #dce5f0;border-radius:12px;background:#f7f9fc;outline:none}
.user-command-search input:focus{background:#fff;border-color:#83afe6;box-shadow:0 0 0 3px rgba(37,99,235,.09)}
.user-search-results{display:none;position:absolute;top:48px;right:0;width:290px;background:#fff;border:1px solid #e1e8f1;border-radius:14px;box-shadow:0 18px 44px rgba(20,40,70,.16);padding:7px;z-index:1100}
.user-search-results.show{display:block}
.user-search-results a{display:flex;align-items:center;gap:10px;padding:10px;border-radius:9px;color:#263950;text-decoration:none}
.user-search-results a:hover{background:#edf5ff}

.user-notification-button{position:relative;width:41px;height:41px;border:0;border-radius:12px;background:#edf4fd;color:#1b579f}
.user-notification-button>span{position:absolute;right:-3px;top:-4px;min-width:17px;height:17px;border-radius:99px;background:#ef4444;color:#fff;font-size:.6rem;display:grid;place-items:center;font-weight:900}
.user-theme-toggle{background:#edf4fd;color:#1b579f}
.user-profile-chip{display:flex;align-items:center;gap:9px;padding:4px 8px 4px 4px;border-radius:13px;color:#1c2d44;text-decoration:none}
.user-profile-chip:hover{background:#f0f5fb}
.user-profile-chip>span{width:38px;height:38px;border-radius:11px;background:linear-gradient(135deg,#3b82f6,#8b5cf6);display:grid;place-items:center;color:#fff;font-weight:900}
.user-profile-chip strong,.user-profile-chip small{display:block;font-size:.78rem}
.user-profile-chip small{font-size:.66rem;color:#8390a2}

.user-notification-panel{position:fixed;right:26px;top:76px;width:340px;background:#fff;border:1px solid #e1e8f1;border-radius:17px;box-shadow:0 22px 55px rgba(17,38,68,.18);z-index:1100;padding:8px;opacity:0;visibility:hidden;transform:translateY(-8px);transition:.2s}
.user-notification-panel.show{opacity:1;visibility:visible;transform:none}
.user-notification-heading{display:flex;justify-content:space-between;align-items:center;padding:10px 11px;border-bottom:1px solid #eef2f6}
.user-notification-heading button{border:0;background:none;font-size:1.35rem}
.user-notification-panel>a{display:flex;gap:11px;padding:12px;border-radius:11px;text-decoration:none;color:#273950}
.user-notification-panel>a:hover{background:#f2f7fd}
.user-notification-panel>a>span{width:36px;height:36px;border-radius:11px;background:#eaf3ff;color:#2563eb;display:grid;place-items:center}
.user-notification-panel strong,.user-notification-panel small{display:block}
.user-notification-panel strong{font-size:.8rem}
.user-notification-panel small{font-size:.68rem;color:#7d8a9c;margin-top:2px}

.user-page-content{flex:1;padding:26px 28px 45px;max-width:1680px;width:100%;margin:0 auto}
.user-page-content>.container,.user-page-content>.container-fluid{max-width:none!important;width:100%;padding-left:0!important;padding-right:0!important}
.user-page-content>.modern-dashboard{margin:-26px -28px -45px;padding:0 28px 45px;background:linear-gradient(180deg,#eef5ff 0,#f5f8fc 420px,#f3f6fb 100%)}
.user-page-content .v2-page-hero{border-radius:22px;padding:28px;background:linear-gradient(135deg,#173568,#2665bb 62%,#645adf);box-shadow:0 16px 42px rgba(38,101,187,.16)}
.user-page-content .content-card,.user-page-content .v2-table-card,.user-page-content .chart-card,.user-page-content .plan-card{border-radius:18px;border:1px solid #e2e9f2;box-shadow:0 8px 27px rgba(29,59,100,.055)}
.user-modern-table thead th{background:#f5f8fc;color:#607086;text-transform:uppercase;letter-spacing:.05em;font-size:.69rem;padding:13px 14px}
.user-modern-table td{padding:14px;border-color:#edf1f5}
.user-modern-table tbody tr:hover{background:#f8fbff}
.user-mini-footer{display:flex;justify-content:space-between;padding:15px 28px;background:#fff;border-top:1px solid #e3e9f1;color:#8490a0;font-size:.72rem}
.user-sidebar-overlay{display:none}

.dashboard-interactive-tools{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.dashboard-search-box{position:relative}
.dashboard-search-box span{position:absolute;left:13px;top:9px;color:#8090a4}
.dashboard-search-box input{min-width:240px;border:1px solid #dce5ef;border-radius:11px;padding:9px 12px 9px 35px;background:#f7f9fc;outline:none}
.dashboard-search-box input:focus{background:#fff;border-color:#74a7e6}
.dashboard-content-counter{font-size:.72rem;color:#7d899a;font-weight:700}
.dashboard-progress-ring{--progress:0deg;width:94px;height:94px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(#4f8ff0 var(--progress),#e4ebf4 0);position:relative}
.dashboard-progress-ring:before{content:"";position:absolute;inset:9px;border-radius:50%;background:#fff}
.dashboard-progress-ring strong,.dashboard-progress-ring small{position:relative;z-index:1;display:block;text-align:center}
.dashboard-progress-ring strong{font-size:1.2rem}.dashboard-progress-ring small{font-size:.6rem;color:#8290a2}

:root[data-theme="dark"] .user-dashboard-body{background:#07111f}
:root[data-theme="dark"] .user-topbar{background:rgba(10,23,40,.94);border-color:#23364d}
:root[data-theme="dark"] .user-topbar-left h1,:root[data-theme="dark"] .user-profile-chip{color:#e7eef8}
:root[data-theme="dark"] .user-command-search input{background:#102138;color:#e5eefb;border-color:#2a405b}
:root[data-theme="dark"] .user-search-results,:root[data-theme="dark"] .user-notification-panel{background:#102138;border-color:#2a405b}
:root[data-theme="dark"] .user-search-results a,:root[data-theme="dark"] .user-notification-panel>a{color:#e5eefb}
:root[data-theme="dark"] .user-page-content>.modern-dashboard{background:linear-gradient(180deg,#09182c,#07111f)}
:root[data-theme="dark"] .user-mini-footer{background:#0c1a2d;border-color:#22364d}
:root[data-theme="dark"] .dashboard-progress-ring:before{background:#0f1d30}

@media(max-width:1100px){
    .user-sidebar{transform:translateX(-100%);transition:.25s}
    .user-sidebar-open .user-sidebar{transform:none}
    .user-sidebar-brand button{display:block}
    .user-sidebar-overlay{display:block;position:fixed;inset:0;background:rgba(3,10,22,.56);z-index:1040;opacity:0;visibility:hidden;transition:.25s}
    .user-sidebar-open .user-sidebar-overlay{opacity:1;visibility:visible}
    .user-main-shell{margin-left:0}
    .user-menu-toggle{display:block}
    .user-command-search input{width:210px}
}
@media(max-width:700px){
    .user-topbar{height:72px;padding:0 13px}
    .user-page-content{padding:18px 13px 34px}
    .user-page-content>.modern-dashboard{margin:-18px -13px -34px;padding:0 13px 34px}
    .user-command-search,.user-profile-chip>div{display:none}
    .user-profile-chip{padding:0}
    .user-topbar-left h1{font-size:1rem}
    .user-notification-panel{left:12px;right:12px;top:68px;width:auto}
    .user-mini-footer{flex-direction:column;gap:4px;padding:13px}
    .dashboard-search-box,.dashboard-search-box input{width:100%;min-width:0}
}

.dashboard-progress-floating{position:absolute;right:205px;bottom:26px;z-index:4;padding:8px;border-radius:50%;background:rgba(255,255,255,.12);backdrop-filter:blur(8px)}
.dashboard-progress-floating .dashboard-progress-ring{width:82px;height:82px;background:conic-gradient(#7cf1bd var(--progress),rgba(255,255,255,.22) 0)}
.dashboard-progress-floating .dashboard-progress-ring:before{background:#244f95}
.dashboard-progress-floating .dashboard-progress-ring strong{color:#fff}
.dashboard-progress-floating .dashboard-progress-ring small{color:#d8e9ff}
@media(max-width:991.98px){.dashboard-progress-floating{display:none}}


/* BelajarKita 3.2 - Announcements, invoice and receipt */
.home-announcement-section{background:linear-gradient(180deg,#f7faff,#eef5ff);border-top:1px solid #e1ebf7;border-bottom:1px solid #e1ebf7}
.home-announcement-heading{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:24px}
.home-announcement-heading span{font-size:.7rem;text-transform:uppercase;letter-spacing:.12em;font-weight:900;color:#2563eb}
.home-announcement-heading h2{font-size:2rem;font-weight:900;color:#172d50;margin:4px 0}
.home-announcement-heading p{margin:0;color:#748197}
.home-announcement-card{position:relative;overflow:hidden;background:#fff;border:1px solid #e3eaf3;border-radius:20px;padding:22px;box-shadow:0 10px 28px rgba(31,61,105,.06);transition:.2s}
.home-announcement-card:hover{transform:translateY(-4px);box-shadow:0 17px 38px rgba(31,61,105,.12)}
.home-announcement-card.is-pinned{border-color:#f6cc64;background:linear-gradient(145deg,#fffdf7,#fff)}
.home-announcement-icon{width:44px;height:44px;border-radius:13px;background:#eaf3ff;display:grid;place-items:center;font-size:1.2rem;margin-bottom:15px}
.home-announcement-card small{color:#8290a3;font-size:.7rem}
.home-announcement-card h3{font-size:1.05rem;font-weight:850;color:#1b304f;margin:8px 0}
.home-announcement-card p{font-size:.83rem;color:#68778d;line-height:1.55}
.home-announcement-card a{text-decoration:none;font-size:.78rem;font-weight:850}

.dashboard-announcement-section{padding:24px;border:1px solid #dce8f8;border-radius:24px;background:linear-gradient(135deg,#f1f7ff,#fff);box-shadow:0 12px 30px rgba(31,61,105,.05)}
.dashboard-announcement-slider{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}
.dashboard-announcement-card{display:flex;gap:13px;background:#fff;border:1px solid #e3eaf3;border-radius:17px;padding:16px;transition:.2s}
.dashboard-announcement-card:hover{transform:translateY(-2px);box-shadow:0 11px 25px rgba(31,61,105,.09)}
.dashboard-announcement-card.is-pinned{border-color:#f3cc6d;background:#fffdf7}
.dashboard-announcement-symbol{width:42px;height:42px;flex:0 0 42px;border-radius:13px;background:#eaf3ff;display:grid;place-items:center}
.dashboard-announcement-card>div:last-child{min-width:0}
.dashboard-announcement-meta{display:flex;gap:8px;font-size:.65rem;color:#8390a1}
.dashboard-announcement-meta span{font-weight:850;color:#2563eb}
.dashboard-announcement-card h3{font-size:.92rem;font-weight:850;color:#203653;margin:5px 0}
.dashboard-announcement-card p{font-size:.75rem;color:#718096;margin:0 0 7px}
.dashboard-announcement-card a{font-size:.7rem;font-weight:850;text-decoration:none}

.announcement-list-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.announcement-list-card{background:#fff;border:1px solid #e2e9f2;border-radius:21px;padding:24px;box-shadow:0 10px 30px rgba(28,57,98,.06)}
.announcement-list-card.is-pinned{border-color:#f2c75e;background:linear-gradient(145deg,#fffdf5,#fff)}
.announcement-list-meta{display:flex;justify-content:space-between;gap:12px;font-size:.7rem;color:#8491a3}
.announcement-list-meta span{font-weight:850;color:#2563eb}
.announcement-list-card h2{font-size:1.3rem;font-weight:900;color:#193254;margin:12px 0}
.announcement-list-preview{color:#69788d;line-height:1.65}
.announcement-list-footer{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-top:19px;padding-top:15px;border-top:1px solid #edf1f5}
.announcement-list-footer small{color:#8793a4}.announcement-list-footer a{text-decoration:none;font-weight:850;font-size:.78rem}

.announcement-detail-card{background:#fff;border:1px solid #e2e9f2;border-radius:26px;box-shadow:0 18px 50px rgba(28,57,98,.09);overflow:hidden}
.announcement-detail-header{padding:40px 45px 25px;background:linear-gradient(135deg,#eff6ff,#fff)}
.announcement-detail-header h1{font-size:clamp(2rem,5vw,3.3rem);font-weight:950;color:#172d50;margin:15px 0 8px}
.announcement-detail-header p{color:#78869a}
.announcement-rich-content{padding:35px 45px;font-size:1.03rem;line-height:1.8}
.announcement-rich-content img{max-width:100%;height:auto;border-radius:15px;margin:15px 0}
.announcement-rich-content figure{text-align:center}.announcement-rich-content figcaption{color:#7b8899;font-size:.8rem}
.announcement-rich-content table{width:100%;border-collapse:collapse;margin:18px 0}
.announcement-rich-content th,.announcement-rich-content td{border:1px solid #cfd9e6;padding:9px}
.announcement-detail-footer{padding:0 45px 35px}

.payment-document-card{overflow:hidden}
.payment-document-list{display:grid;gap:2px;margin-top:13px}
.payment-document-item{display:flex;align-items:center;gap:10px;padding:11px 0;border-bottom:1px solid #edf1f5}
.payment-document-item:last-child{border-bottom:0}
.payment-document-icon{width:36px;height:36px;flex:0 0 36px;border-radius:11px;background:#eaf7f0;color:#15805a;display:grid;place-items:center;font-weight:900}
.payment-document-info{min-width:0;flex:1}
.payment-document-info strong,.payment-document-info span,.payment-document-info small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.payment-document-info strong{font-size:.78rem;color:#203653}
.payment-document-info span{font-size:.64rem;color:#718096}
.payment-document-info small{font-size:.62rem;color:#929dac}
.payment-document-actions{display:flex;gap:4px}
.payment-document-actions a{width:34px;height:29px;border-radius:8px;background:#eaf3ff;color:#2563eb;display:grid;place-items:center;text-decoration:none;font-size:.58rem;font-weight:900}
.payment-document-actions a.receipt-link{background:#dcfce7;color:#15803d}
.payment-document-downloads{display:flex;justify-content:center;flex-wrap:wrap;gap:9px;margin-top:20px}

:root[data-theme="dark"] .home-announcement-section,:root[data-theme="dark"] .dashboard-announcement-section{background:#0b192c;border-color:#263a55}
:root[data-theme="dark"] .home-announcement-card,:root[data-theme="dark"] .dashboard-announcement-card,:root[data-theme="dark"] .announcement-list-card,:root[data-theme="dark"] .announcement-detail-card{background:#0f1d30;border-color:#2a3e58;color:#e5eefb}
:root[data-theme="dark"] .home-announcement-card h3,:root[data-theme="dark"] .dashboard-announcement-card h3,:root[data-theme="dark"] .announcement-list-card h2,:root[data-theme="dark"] .announcement-detail-header h1{color:#e5eefb}
:root[data-theme="dark"] .announcement-detail-header{background:#122238}
:root[data-theme="dark"] .announcement-rich-content th,:root[data-theme="dark"] .announcement-rich-content td{border-color:#344963}

@media(max-width:900px){.dashboard-announcement-slider,.announcement-list-grid{grid-template-columns:1fr}}
@media(max-width:600px){.home-announcement-heading{align-items:flex-start;flex-direction:column}.announcement-detail-header,.announcement-rich-content,.announcement-detail-footer{padding-left:22px;padding-right:22px}}

/* BelajarKita 3.3 - Floating WhatsApp and SEO-friendly contact CTA */
.homepage-whatsapp-button{position:fixed;right:24px;bottom:24px;z-index:1080;display:flex;align-items:center;gap:9px;padding:12px 16px 12px 12px;border-radius:999px;background:#25d366;color:#fff;text-decoration:none;font-weight:850;box-shadow:0 14px 34px rgba(15,120,59,.3);transition:transform .2s,box-shadow .2s,background .2s}
.homepage-whatsapp-button:hover{color:#fff;background:#1fbd5b;transform:translateY(-3px);box-shadow:0 18px 42px rgba(15,120,59,.38)}
.homepage-whatsapp-button svg{width:28px;height:28px;flex:0 0 28px}
.homepage-whatsapp-button:focus-visible{outline:4px solid rgba(37,211,102,.28);outline-offset:3px}
@media(max-width:600px){.homepage-whatsapp-button{right:14px;bottom:14px;padding:12px}.homepage-whatsapp-button span{display:none}.homepage-whatsapp-button svg{width:30px;height:30px}}
