/* EDUVIA V106 — canonical simple UI: no animation, no transition, no backdrop blur. */
:root{--tone-084e74:#084e74;--tone-4c1d95:#4c1d95;--tone-5098ef65:rgba(255, 255, 255, 0.94);--tone-6c040e84:rgba(7, 142, 232, 0.22);--tone-6d28d9:#6d28d9;--tone-71837f:#71837f;--tone-7c3aed:#7c3aed;--tone-8b5cf6:#8b5cf6;--tone-a34405:#a34405;--tone-cb4dd011:rgba(7, 142, 232, 0.1);--tone-dce6eb:#dce6eb;--tone-ddd6fe:#ddd6fe;--tone-dfe3eb:#dfe3eb;--tone-e8e7ef:#e8e7ef;--tone-e8f4ff:#e8f4ff;--tone-ede9fe:#ede9fe;--tone-f5f3ff:#f5f3ff;--violet:var(--theme-primary,#078ee8);--violet-dark:var(--theme-primary-strong,#173f70);--green:var(--theme-primary,#078ee8);--ink:var(--theme-text,#0a2342);--muted:var(--theme-text-muted,#60758d);--line:var(--tone-e5edf1,#e5edf1);--soft:var(--tone-f4f7fb,#f4f7fb);font-family:"Outfit",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:#f6f7fb;--portal-viewport-height:100dvh;--portal-mobile-dock-height:76px;--portal-visual-height:var(--portal-viewport-height, 100dvh);--portal-visual-top:0px;--portal-nav-accent:var(--theme-primary,#078ee8);--portal-nav-accent-dark:var(--theme-primary-strong,#173f70);--portal-nav-active-soft:var(--theme-primary-soft,#f0f8ff);--portal-nav-text:var(--theme-text-muted,#60758d);--portal-nav-line:var(--tone-dbe5f0,#dbe5f0);--portal-nav-sidebar-width:256px;--portal-nav-mobile-height:76px;--portal-nav-radius:16px;--portal-v143-green:var(--theme-primary,#078ee8);--portal-v143-blue-dark:var(--theme-primary-strong,#173f70);--portal-v143-blue-text:var(--theme-primary-strong,#173f70);--portal-v143-mint:var(--theme-primary-soft,#f0f8ff);--portal-v143-mint-hover:#e8f2ff;--portal-v143-ink:#1f2937;--portal-v143-muted:var(--theme-text-muted,#60758d);--portal-v143-icon:#71839b;--portal-form-visible-height:100dvh;--portal-form-viewport-top:0px;--portal-form-keyboard-inset:0px;--readable-font:"Outfit",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--portal-menu-font:"Outfit",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--portal-menu-size-desktop:15px;--portal-menu-size-secondary:12.5px;--portal-menu-size-mobile:10.5px;--portal-fast-font:"Outfit",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--portal-v01-font:"Outfit",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--portal-v01-ink:#11243f;--portal-v01-body:#4f5f5b;--portal-v01-muted:#6f7f7b;--portal-v01-line:#dce9e4;--portal-v01-soft:#f2f8f5;--portal-v01-white:var(--theme-surface,#fff);--portal-v01-green:var(--theme-primary,#078ee8);--portal-v01-blue-dark:var(--theme-primary-darker,#123d6b);--portal-v01-blue-soft:#eaf4ff;--portal-v01-blue:#2563eb;--portal-v01-amber:#f6c453;--portal-v01-amber-ink:#5b3500;--portal-v01-red:var(--theme-danger-deep,#be123c);--portal-v01-radius:14px;--portal-v01-focus:0 0 0 3px rgba(0, 52, 125, 0.16);--portal-loading-accent:var(--theme-primary,#078ee8);--portal-loading-track:rgba(7, 142, 232, 0.18);--portal-loading-layer:rgba(239, 246, 248, 0.76);--pp-menu-control-green:var(--theme-primary,#078ee8);--pp-menu-control-hover:#20a7ff;--pp-menu-control-border:var(--theme-primary,#078ee8);--pp-menu-control-dark:var(--theme-primary-strong,#173f70);--pp-menu-control-pale:var(--theme-primary-soft,#f0f8ff);--pp-menu-control-text:var(--theme-primary-mid,#1264ad);--pp-menu-control-focus:0 0 0 4px rgba(7,142,232,.18);--eduvia-shared-blue:var(--theme-primary,#078ee8);--eduvia-shared-blue-dark:#075da7;--eduvia-shared-ink:var(--tone-172033,#172033);--eduvia-shared-muted:var(--theme-text-muted,#60758d);--eduvia-shared-line:#e3eaf2;--eduvia-shared-soft:#f6f9fc;--eduvia-shared-surface:var(--theme-surface,#fff);--eduvia-shared-radius:16px;--eduvia-shared-safe-bottom:env(safe-area-inset-bottom, 0px);--eduvia-shared-shadow:0 12px 34px rgba(15, 23, 42, 0.09);}
html.portal-session-restoring
  #root
  > .min-h-screen.flex.items-center.justify-center,
html.portal-session-restoring
  #root
  > .min-h-screen.flex.items-center.justify-center.p-4,
html.portal-session-restoring #root .eduvia-auth-overlay,
html.portal-session-restoring #root .fixed.inset-0.bg-gray-950\/50.z-\[150\],
html.admin-session-restoring #login,
html.owner-restoring #ownerLogin,
html.foundation-session-restoring #foundationLogin{display:none!important;visibility:hidden!important;opacity:0!important;pointer-events:none!important;}
html.portal-session-restoring body,
html.admin-session-restoring body,
html.owner-restoring body,
html.foundation-session-restoring body{min-height:100dvh;background:var(--tone-f7faff,#f7faff);}
html.foundation-session-restoring #foundationApp.hidden,
html.admin-session-restoring #app.hidden,
html.owner-restoring #ownerApp.hidden{display:none!important;}
:where(button.primary,button.secondary,button.warning,button.danger,button.ghost,button.stop-access,.actions button,.buttons button,.leave-row button,button.academic-action,.teacher-report-actions button,.teacher-report-actions a,button[class*="bg-blue-"],button[class*="bg-red-"],button[class*="bg-blue-"],button[class*="bg-amber-"]){position:relative;overflow:hidden;border:1px solid currentColor;border-left-width:4px!important;border-radius:var(--radius-md,10px);font-weight:800;letter-spacing:.01em;box-shadow:0 7px 16px rgba(15,23,42,.07);}
:where(button.primary,button.secondary,button.warning,button.danger,button.ghost,button.stop-access,.actions button,.buttons button,.leave-row button,button.academic-action,.teacher-report-actions button,.teacher-report-actions a,button[class*="bg-blue-"],button[class*="bg-red-"],button[class*="bg-blue-"],button[class*="bg-amber-"]):not(:disabled):hover{transform:translateY(-2px);box-shadow:0 11px 22px rgba(15,23,42,.11);}
:where(button.primary,button.secondary,button.warning,button.danger,button.ghost,button.stop-access,.actions button,.teacher-report-actions button,.teacher-report-actions a):not(:disabled):active{transform:translateY(0) scale(.98);box-shadow:0 4px 9px rgba(15,23,42,.08);}
:where(button.primary,button.secondary,.actions button,.buttons button,.leave-row button,button.academic-action,button[class*="bg-blue-"]){background:var(--theme-primary-soft,#f0f8ff);color:var(--theme-primary-strong,#173f70);border-color:var(--theme-primary,#078ee8);}
:where(button[class*="bg-blue-"]){background:var(--tone-eff6ff,#eff6ff);color:var(--tone-1d4ed8,#1d4ed8);border-color:#3b82f6;}
:where(button.warning,button[class*="bg-amber-"]){background:var(--tone-fffaf0,#fffaf0);color:var(--tone-a34405);border-color:var(--theme-warning,#f59e0b);}
:where(button.danger,button.stop-access,button[class*="bg-red-"]){background:var(--tone-fff5f5,#fff5f5);color:var(--tone-c81e1e,#c81e1e);border-color:var(--tone-ff4d55,#ff4d55);}
:where(button.ghost){background:var(--theme-surface-soft,#f7fbff);color:var(--theme-text-secondary,#50657e);border-color:var(--theme-text-subtle,#7e90a5);}
:where(.buttons button.out,.leave-row button.leave-cancel){background:var(--tone-fff5f5,#fff5f5);color:var(--tone-c81e1e,#c81e1e);border-color:var(--tone-ff4d55,#ff4d55);}
:where(.buttons button[data-close],.buttons button[type="button"]:not(.out)){background:var(--theme-surface-soft,#f7fbff);color:var(--theme-text-secondary,#50657e);border-color:var(--theme-text-subtle,#7e90a5);}
:where(button.primary,button.secondary,button.warning,button.danger,button.ghost,button.stop-access,.actions button):focus-visible{outline:3px solid rgba(7, 142, 232, .18);outline-offset:2px;}
button:disabled{cursor:not-allowed;transform:none!important;box-shadow:none;filter:grayscale(.25);opacity:.58;}
.badge.pending,.badge.approved,.badge.active,.badge.rejected,.badge.inactive{border:1px solid currentColor;border-left-width:4px!important;border-radius:var(--radius-md,10px);padding:8px 11px!important;box-shadow:0 6px 14px var(--tone-09a9070d,rgba(15,23,42,.06));}
.badge.pending{border-color:var(--theme-warning,#f59e0b);}
.badge.approved,.badge.active{background:var(--theme-primary-soft,#f0f8ff);color:var(--theme-primary-strong,#173f70);border-color:var(--theme-primary,#078ee8);}
.badge.rejected,.badge.inactive{background:var(--tone-fff5f5,#fff5f5);color:var(--tone-c81e1e,#c81e1e);border-color:var(--tone-ff4d55,#ff4d55);}
.modal .modal-card{width:min(100%,560px)!important;max-height:88dvh!important;padding:22px!important;}
.modal>form{width:min(100%,480px)!important;max-height:88dvh!important;overflow:auto!important;padding:22px!important;border-radius:var(--radius-4xl,22px);}
.modal .modal-card:has(.qris-wrap),.modal .modal-card:has(.school-payment){width:min(100%,620px)!important;}
.fixed.inset-0>[class~="max-w-4xl"],.fixed.inset-0>[class~="max-w-3xl"]{max-width:720px!important;padding:22px!important;border-radius:var(--radius-5xl,24px);max-height:88dvh!important;}
.fixed.inset-0>[class~="max-w-2xl"],.fixed.inset-0>[class~="max-w-xl"]{max-width:560px!important;padding:21px!important;border-radius:var(--radius-4xl,22px);max-height:88dvh!important;}
@media (max-width:640px){.modal{align-items:flex-end!important;padding:0!important;}
.modal .modal-card,.modal>form{width:100%!important;max-height:90dvh!important;border-radius:var(--radius-4xl,22px) var(--radius-4xl,22px) 0 0;padding:20px 16px!important;}
.fixed.inset-0>[class*="max-w-"]{width:100%!important;max-width:100%!important;max-height:90dvh!important;border-radius:var(--radius-4xl,22px) var(--radius-4xl,22px) 0 0;padding:19px 16px!important;}}
*{box-sizing:border-box;}
body{margin:0;min-height:100dvh;}
button,input,select,textarea{font:inherit;}
.hidden{display:none!important;}
.auth-screen{min-height:100dvh;display:grid;place-items:center;padding:24px;}
.auth-card{width:min(100%,600px);background:rgba(255,255,255,.96);border:1px solid #ebe9f2;padding:28px;}
.back-link{display:inline-flex;color:var(--theme-text-muted,#60758d);text-decoration:none;font-size:12px;font-weight:800;margin-bottom:20px;}
.auth-brand{display:flex;align-items:center;gap:13px;}
.auth-brand img{width:58px;height:58px;border-radius:17px;}
.auth-brand span{font-size:10px;font-weight:900;letter-spacing:.17em;color:var(--violet);}
.auth-brand h1{margin:4px 0 0;font-size:25px;}
.auth-card>p{color:var(--muted);font-size:13px;line-height:1.6;}
.auth-tabs{display:grid;grid-template-columns:1fr 1fr;gap:8px;border-radius:13px;margin:20px 0;}
.auth-tabs button{border:0;border-radius:var(--radius-md,10px);background:transparent;color:var(--theme-text-muted,#60758d);font-weight:850;cursor:pointer;}
.auth-tabs button.active{background:var(--theme-surface,#fff);}
.form-stack{display:grid;}
.form-stack label,.modal-card label{display:grid;color:var(--theme-text-secondary,#50657e);font-weight:850;}
.form-stack input,.form-stack select,.form-stack textarea,.modal-card input,.modal-card select,.modal-card textarea{width:100%;border:1px solid var(--tone-dfe3eb);border-radius:var(--radius-md-lg,12px);background:#fafbfc;outline:0;color:var(--ink);}
.form-stack input:focus,.modal-card input:focus,.modal-card select:focus,.modal-card textarea:focus{border-color:var(--tone-8b5cf6);box-shadow:0 0 0 3px rgba(139,92,246,.11);background:var(--theme-surface,#fff);}
.form-stack small{color:var(--theme-text-subtle,#7e90a5);}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
.foundation-app{min-height:100dvh;display:grid;}
.foundation-app aside{height:100dvh;position:sticky;top:0;display:flex;flex-direction:column;}
.brand{display:flex;align-items:center;gap:11px;padding:0 8px 22px;}
.brand img{width:43px;height:43px;border-radius:13px;}
.brand b{display:block;}
.brand b span{color:#c4b5fd;}
.brand small{display:block;margin-top:3px;color:#a78bfa;font-size:9px;font-weight:800;}
.foundation-app aside nav{display:grid;}
.foundation-app aside nav button,.logout{border:0;background:transparent;color:var(--tone-cbd5e1,#cbd5e1);display:flex;align-items:center;gap:11px;text-align:left;font-weight:800;cursor:pointer;}
.foundation-app aside nav button.active,.foundation-app aside nav button:hover{background:var(--tone-6d28d9);color:var(--theme-surface,#fff);}
.logout{margin-top:auto;}

.foundation-app header{position:sticky;top:0;z-index:20;background:rgba(255,255,255,.92);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;}
.foundation-app header>div>small{display:block;color:var(--tone-8b5cf6);font-size:9px;font-weight:900;letter-spacing:.13em;}
.foundation-app header h2{margin:5px 0 0;font-size:20px;}
.profile{display:flex;align-items:center;gap:10px;text-align:right;}
.profile b,.profile small{display:block;}
.profile b{font-size:12px;}
.profile small{color:var(--theme-text-muted,#60758d);font-size:10px;margin-top:3px;}
.profile>span{width:38px;height:38px;border-radius:var(--radius-md-lg,12px);background:linear-gradient(135deg,var(--tone-8b5cf6),var(--tone-6d28d9));display:grid;place-items:center;color:var(--theme-surface,#fff);font-weight:900;}
.content{max-width:1500px;margin:auto;}
.hero-panel{border-radius:var(--radius-5xl,24px);padding:24px;color:var(--theme-surface,#fff);margin-bottom:18px;}
.hero-panel span{font-size:9px;font-weight:900;letter-spacing:.16em;}
.hero-panel h1{margin:7px 0;font-size:26px;}
.hero-panel p{margin:0;font-size:13px;line-height:1.6;}
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:13px;margin-bottom:18px;}
.stat,.panel{background:var(--theme-surface,#fff);border:1px solid var(--line);border-radius:19px;box-shadow:0 8px 25px rgba(15,23,42,.045);}
.stat{padding:17px;}
.stat small{color:var(--muted);font-size:10px;font-weight:750;}
.stat b{display:block;font-size:24px;margin-top:6px;}
.panel{overflow:hidden;margin-bottom:17px;}
.panel-head{display:flex;align-items:center;justify-content:space-between;gap:14px;border-bottom:1px solid var(--line);}
.panel-head h3{margin:0;}
.panel-head p{margin:4px 0 0;color:var(--muted);}
.panel-body{padding:18px;}
.toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;}
.filters{display:flex;flex-wrap:wrap;gap:8px;}
.filters input,.filters select{border:1px solid var(--tone-dfe3eb);border-radius:var(--radius-md,10px);background:var(--theme-surface,#fff);}
.table-wrap{overflow:auto;}
table{width:100%;border-collapse:collapse;min-width:760px;}
th{text-align:left;background:#fafafa;color:var(--theme-text-muted,#60758d);padding:10px 12px;font-size:9px;letter-spacing:.05em;}
td{border-top:1px solid #eef0f4;padding:12px;vertical-align:top;}
td b{display:block;}
td small{color:#7c8798;}
.actions{display:flex;flex-wrap:wrap;gap:6px;}
.badge{display:inline-flex;padding:6px 9px;border-radius:9px;background:var(--theme-primary-soft,#f0f8ff);color:var(--theme-primary-strong,#173f70);font-weight:900;text-transform:uppercase;}
.badge.pending,.badge.proposed{background:var(--tone-fffaf0,#fffaf0);color:var(--tone-a34405);}
.badge.rejected,.badge.cancelled{background:var(--tone-fff5f5,#fff5f5);color:var(--tone-c81e1e,#c81e1e);}
.empty{text-align:center;color:var(--theme-text-subtle,#7e90a5);padding:35px;}
.school-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:13px;}
.school-card{border:1px solid var(--line);border-radius:17px;padding:16px;background:var(--theme-surface,#fff);}
.school-card-head{display:flex;justify-content:space-between;gap:10px;}
.school-card h3{margin:0;font-size:15px;}
.school-card p{color:var(--muted);}
.school-meta{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin:13px 0;}
.school-meta div{background:var(--theme-surface-soft,#f7fbff);border-radius:11px;padding:9px;}
.school-meta small,.school-meta b{display:block;}
.school-meta small{font-size:8px;color:var(--theme-text-subtle,#7e90a5);}
.school-meta b{font-size:12px;margin-top:4px;}
.modal{position:fixed;inset:0;z-index:100;display:grid;place-items:center;padding:18px;}
.modal-card{position:relative;width:min(100%,560px);max-height:calc(100dvh - 36px);overflow:auto;padding:23px;}
.modal-card h2{margin:0 35px 6px 0;font-size:20px;}
.modal-card>div>p{font-size:12px;color:var(--muted);}
.modal-close{position:absolute;right:13px;top:12px;width:34px;height:34px;cursor:pointer;}
.toast{position:fixed;right:16px;top:16px;z-index:200;background:var(--tone-172033,#172033);color:var(--theme-surface,#fff);border-radius:13px;padding:12px 15px;box-shadow:0 16px 40px var(--tone-b001a3a2,rgba(15,23,42,.22));font-weight:800;}
.toast.error{background:var(--tone-c81e1e,#c81e1e);}
.loading{position:fixed;inset:0;z-index:190;background:rgba(248,250,252,.76);display:grid;place-content:center;place-items:center;gap:10px;}
.loading span{width:34px;height:34px;border:4px solid var(--tone-ddd6fe);border-radius:50%;}
.loading b{font-size:11px;}
@media (max-width:1000px){.stats{grid-template-columns:repeat(2,1fr);}
.school-grid{grid-template-columns:1fr;}}
@media (max-width:760px){.foundation-app{display:block;padding-bottom:70px;}
.foundation-app aside{position:fixed;left:0;right:0;bottom:0;top:auto;height:70px;z-index:50;padding:6px;background:#1e1235;}
.brand,.logout{display:none;}
.foundation-app aside nav{display:grid;grid-template-columns:repeat(7,1fr);gap:2px;}
.foundation-app aside nav button{padding:7px 3px;justify-content:center;display:grid;text-align:center;font-size:16px;}
.foundation-app aside nav button span{font-size:7px;}
.foundation-app header{height:70px;padding:0 13px;}
.profile div{display:none;}
.content{padding:14px 11px;}
.stats{gap:8px;}
.stat{padding:13px;}
.stat b{font-size:20px;}
.hero-panel{border-radius:19px;padding:19px;}
.hero-panel h1{font-size:21px;}
.panel{border-radius:var(--radius-xl,16px);}
.panel-head{align-items:flex-start;flex-direction:column;}
.form-grid{grid-template-columns:1fr;}
.auth-screen{padding:13px;}
.auth-card{padding:22px 17px;border-radius:var(--radius-4xl,22px);}
.modal{align-items:end;padding:0;}
.modal-card{width:100%;max-height:90dvh;padding:21px 16px;}
.school-meta{grid-template-columns:repeat(3,1fr);}}
.ab-shell{display:grid;gap:18px;}
.ab-hero{background:linear-gradient(120deg,#072c3f,#08547c 65%,#1875a9);color:var(--theme-surface,#fff);border-radius:var(--radius-5xl,24px);padding:25px 28px;display:flex;justify-content:space-between;align-items:center;gap:20px;box-shadow:0 18px 42px rgba(7, 62, 92,.18);overflow:hidden;position:relative;}
.ab-hero:after{content:"";position:absolute;width:260px;height:260px;border:44px solid rgba(255,255,255,.07);border-radius:50%;right:-70px;top:-115px;}
.ab-hero>div,.ab-hero>button{position:relative;z-index:1;}
.ab-hero span,.ab-kicker{font-size:11px;font-weight:800;letter-spacing:.14em;}
.ab-hero h2{font-size:26px;margin:7px 0;}
.ab-hero p{max-width:680px;margin:0;color:#dff7f1;}
.ab-hero .primary{background:var(--theme-surface,#fff);color:#085077;box-shadow:none;white-space:nowrap;}
.ab-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;}
.ab-stats article{background:var(--theme-surface,#fff);border:1px solid #e2ece9;border-radius:var(--radius-2xl,18px);padding:17px 18px;display:grid;gap:5px;box-shadow:0 8px 22px rgba(34, 58, 71,.05);}
.ab-stats span,.ab-stats small{font-size:12px;color:#72857f;}
.ab-stats b{font-size:21px;color:#122f3e;}
.ab-list-card{padding:0!important;overflow:hidden;}
.ab-toolbar{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:19px 20px;border-bottom:1px solid #e6eeec;}
.ab-toolbar h3{margin:0 0 3px;}
.ab-filters{display:flex;gap:8px;align-items:center;}
.ab-filters input{width:190px;}
.ab-filters input,.ab-filters select{min-height:40px;padding:8px 11px;border:1px solid #dce8e5;border-radius:11px;background:#f9fcfb;}
.ab-cards{display:grid;gap:10px;padding:14px;}
.ab-card{border:1px solid var(--tone-deebe7,#deebe7);border-radius:17px;padding:16px 18px;background:var(--theme-surface,#fff);cursor:pointer;}
.ab-card:hover{border-color:#9cc1d5;box-shadow:0 10px 25px rgba(22, 71, 98,.08);transform:translateY(-1px);}
.ab-card-top,.ab-card-footer,.ab-detail-head,.ab-section-title{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;}
.ab-card-top h3{margin:4px 0;font-size:17px;}
.ab-card-top p,.ab-card-top small,.ab-card-footer{color:var(--tone-71837f);font-size:12px;}
.ab-card-money{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:13px 0;}
.ab-card-money span{display:grid;gap:2px;padding:10px 12px;border-radius:11px;background:#f4f9f7;}
.ab-card-money small{font-size:10px;text-transform:uppercase;letter-spacing:.06em;color:#7c8e89;}
.ab-card-money b{font-size:14px;color:#122f3e;}
.ab-card-footer{align-items:center;border-top:1px solid #edf3f1;padding-top:12px;}
.ab-status{display:inline-flex;align-items:center;gap:7px;border-radius:var(--radius-pill,999px);padding:7px 10px;font-size:11px;font-weight:750;white-space:nowrap;background:#eef3f2;color:#4d5b63;}
.ab-status i{width:7px;height:7px;border-radius:50%;background:currentColor;}
.ab-status.success{background:#e4f8f0;color:#085077;}
.ab-status.warning{background:#fff4d7;color:#9a6500;}
.ab-status.danger{background:#fff0ef;color:#bd3a32;}
.ab-status.info{background:#e9f4ff;color:#1769a5;}
.ab-modal{max-width:980px;}
.ab-modal-head{border-bottom:1px solid #e4ecea;padding-bottom:15px;margin-bottom:16px;}
.ab-modal-head h2,.ab-detail-head h2{margin:5px 0;}
.ab-modal-head p,.ab-detail-head p{color:var(--tone-71837f);margin:0;}
.ab-form-section{border:1px solid var(--tone-deebe7,#deebe7);border-radius:var(--radius-xl,16px);padding:15px;margin:15px 0;background:var(--theme-surface-elevated,#fbfdff);}
.ab-section-title{align-items:center;margin-bottom:12px;}
.ab-section-title small{display:block;color:var(--tone-758681,#758681);margin-top:3px;}
.ab-line-head,.ab-line{display:grid;grid-template-columns:minmax(180px,2fr) 85px 90px 130px 130px 34px;gap:7px;align-items:center;}
.ab-line-head{font-size:10px;font-weight:800;text-transform:uppercase;color:#80908c;padding:0 7px 7px;}
.ab-line{margin:7px 0;}
.ab-line input{min-width:0;}
.ab-line b{font-size:12px;text-align:right;}
.ab-remove,.ab-remove-attachment{border:0;background:#f7e9e8;color:#b63c35;border-radius:9px;min-width:32px!important;padding:6px!important;}
.ab-grand-total{display:flex;justify-content:flex-end;align-items:center;gap:20px;border-top:1px dashed #bdd2cd;margin-top:12px;padding-top:13px;}
.ab-grand-total b{font-size:20px;color:var(--tone-084f76,#084f76);}
.ab-attachment{display:grid;grid-template-columns:1fr 2fr 34px;gap:8px;margin:7px 0;}
.ab-form-actions{display:flex;justify-content:flex-end;gap:9px;flex-wrap:wrap;margin-top:18px;}
.ab-detail-head{padding-bottom:15px;border-bottom:1px solid #e3ece9;}
.ab-detail-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;margin:15px 0;}
.ab-detail-stats>div{background:#f3f8f6;border-radius:13px;padding:12px;display:grid;gap:4px;}
.ab-detail-stats small{color:#73847f;}
.ab-detail-stats b{font-size:16px;}
.ab-detail-stats em{font-style:normal;font-size:10px;color:var(--tone-084f76,#084f76);}
.ab-detail-stats em.over{color:#ba3833;}
.ab-detail-grid{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(240px,.8fr);gap:20px;}
.ab-detail-grid h3{font-size:14px;margin:17px 0 9px;}
.ab-info{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin:0;}
.ab-info div{padding:9px 10px;background:#f6f9f8;border-radius:var(--radius-md,10px);}
.ab-info dt{font-size:10px;color:var(--tone-758681,#758681);}
.ab-info dd{margin:3px 0 0;font-weight:700;font-size:12px;}
.ab-detail-grid table small{display:block;color:#7c8c88;margin-top:3px;}
.ab-timeline{border-left:2px solid #dceae6;margin-left:6px;padding-left:17px;}
.ab-history{position:relative;padding-bottom:15px;}
.ab-history>i{position:absolute;width:10px;height:10px;border-radius:50%;background:#0a71aa;border:2px solid var(--theme-surface,#fff);box-shadow:0 0 0 2px #9ec4da;left:-23px;top:3px;}
.ab-history b{font-size:12px;}
.ab-history p{font-size:11px;margin:4px 0;color:#596c67;}
.ab-history small{font-size:9px;color:#899692;}
.ab-doc{display:flex;align-items:center;gap:9px;border:1px solid #dceae6;border-radius:11px;padding:9px 11px;margin:6px 0;color:#163a4d;text-decoration:none;}
.ab-doc>span{width:30px;height:30px;display:grid;place-items:center;border-radius:var(--radius-sm,8px);background:#e7f7f2;color:var(--tone-084f76,#084f76);}
.ab-doc b,.ab-doc small{display:block;font-size:11px;}
.ab-doc small{color:#7d8c88;margin-top:2px;}
.ab-realization-lines{display:grid;gap:9px;}
.ab-realization-row{display:grid;grid-template-columns:minmax(180px,1.6fr) 105px 135px minmax(120px,1fr) 120px;gap:8px;align-items:end;border:1px solid #dfebe8;border-radius:13px;padding:11px;}
.ab-realization-row small{display:block;color:var(--tone-758681,#758681);margin-top:4px;}
.ab-realization-row label{font-size:10px;}
.ab-realization-row>[data-realized-total]{text-align:right;padding-bottom:10px;}
.empty b{display:block;margin-bottom:6px;}
.empty p{margin:0;}
@media (max-width:900px){.ab-stats{grid-template-columns:1fr 1fr;}
.ab-toolbar{align-items:stretch;flex-direction:column;}
.ab-filters{overflow:auto;}
.ab-line-head{display:none;}
.ab-line{grid-template-columns:1fr 80px 80px;}
.ab-line input[name="description"]{grid-column:1/-1;}
.ab-line b{text-align:left;}
.ab-detail-grid{grid-template-columns:1fr;}
.ab-realization-row{grid-template-columns:1fr 1fr;}
.ab-realization-row>div{grid-column:1/-1;}
.ab-realization-row>[data-realized-total]{text-align:left;}}
@media (max-width:600px){.ab-hero{padding:20px;align-items:flex-start;flex-direction:column;}
.ab-hero h2{font-size:22px;}
.ab-stats{grid-template-columns:1fr 1fr;}
.ab-stats article{padding:13px;}
.ab-stats b{font-size:16px;}
.ab-filters{display:grid;grid-template-columns:1fr 1fr;}
.ab-filters input{width:auto;grid-column:1/-1;}
.ab-card-money{grid-template-columns:1fr;}
.ab-card-footer{align-items:flex-start;flex-direction:column;}
.ab-detail-stats{grid-template-columns:1fr 1fr;}
.ab-line{grid-template-columns:1fr 1fr;}
.ab-line input[name="description"]{grid-column:1/-1;}
.ab-line .ab-remove{grid-column:2;}
.ab-attachment{grid-template-columns:1fr 34px;}
.ab-attachment input[name="attachmentUrl"]{grid-column:1;}
.ab-info{grid-template-columns:1fr;}
.ab-realization-row{grid-template-columns:1fr;}
.ab-realization-row>*{grid-column:1!important;}
.ab-form-actions>*{flex:1;}
.ab-modal{max-width:100%;}}
.foundation-ab .ab-hero-pulse{position:relative;z-index:1;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.24);border-radius:var(--radius-2xl,18px);padding:14px 20px;text-align:center;min-width:120px;}
.foundation-ab .ab-hero-pulse b,.foundation-ab .ab-hero-pulse small{display:block;}
.foundation-ab .ab-hero-pulse b{font-size:28px;}
.foundation-ab .ab-note{background:#f4f8f7;border-left:3px solid #7d99a8;border-radius:var(--radius-sm,8px);padding:10px 12px;margin:10px 0;}
.foundation-ab .ab-note.foundation{background:#eaf8f4;border-left-color:#0a6fa6;}
.foundation-ab .ab-note p{margin:4px 0 0;}
.ab-decision-modal{max-width:560px;}
.ab-decision-modal form{display:grid;gap:14px;}
.ab-decision-modal label small{display:block;color:var(--tone-71837f);margin-top:4px;}
.login-methods{display:grid;grid-template-columns:1fr 1fr;}
.login-methods button{border:1px solid var(--tone-dbe5f0,#dbe5f0);background:var(--theme-surface,#fff);text-align:left;color:var(--theme-text-secondary,#50657e);cursor:pointer;}
.login-methods b,
.login-methods span{display:block;}

.contact-box{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;margin-top:18px;border-radius:var(--radius-lg,14px);padding:12px 14px;background:var(--theme-surface-soft,#f7fbff);border:1px solid var(--theme-border,#d9e8f5);font-size:10px;}
.contact-box b{width:100%;color:var(--theme-text-secondary,#50657e);}
.contact-box a{color:var(--tone-6d28d9);font-weight:850;text-decoration:none;}
.contact-box.in-panel{margin-top:16px;}
.premium-strip{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:18px;padding:14px 16px;border:1px solid #f5d58a;border-left:5px solid var(--theme-warning,#f59e0b);border-radius:15px;background:var(--tone-fffaf0,#fffaf0);}
.premium-strip.active{border-color:var(--theme-primary-border-strong,#b8d9f3);border-left-color:var(--theme-primary,#078ee8);background:var(--theme-primary-soft,#f0f8ff);}
.premium-strip.pending{border-color:#f5d58a;background:var(--tone-fffaf0,#fffaf0);}
.premium-strip b,
.premium-strip span{display:block;}
.premium-strip b{font-size:12px;}
.premium-strip div span{margin-top:4px;color:var(--theme-text-muted,#60758d);font-size:10px;}
.pricing-grid{display:grid;grid-template-columns:repeat(3, 1fr);gap:10px;margin-bottom:17px;}
.pricing-grid article{border:1px solid var(--tone-e8e7ef);border-radius:15px;padding:15px;background:#fafafa;}
.pricing-grid small,
.pricing-grid b,
.pricing-grid span{display:block;}
.pricing-grid small{font-size:8px;color:var(--tone-8b5cf6);font-weight:900;letter-spacing:0.12em;}
.pricing-grid b{font-size:18px;margin-top:7px;}
.pricing-grid span{font-size:9px;color:var(--theme-text-muted,#60758d);margin-top:4px;}
.subscription-form{max-width:680px;}
.quote-box{display:grid;border:1px solid var(--tone-ddd6fe);border-left:5px solid var(--tone-7c3aed);border-radius:var(--radius-lg,14px);padding:14px;}
.quote-box span{font-size:9px;color:var(--tone-6d28d9);font-weight:900;}
.quote-box b{font-size:22px;margin:4px 0;}
.quote-box small{color:var(--theme-text-muted,#60758d);}
@media (max-width: 760px){.foundation-app aside{overflow-x:auto;}
.foundation-app aside nav{grid-template-columns:repeat(8, minmax(62px, 1fr));}
.login-methods,
  .pricing-grid{grid-template-columns:1fr;}
.premium-strip{align-items:flex-start;flex-direction:column;}}
body{background:var(--tone-f4f7fb,#f4f7fb);}
.auth-screen{background:radial-gradient(circle at 20% 10%, var(--theme-primary-border,#d9e8f5) 0, transparent 32%),
    linear-gradient(145deg, #f8fffd, #edf5f6);}
.auth-card{border-color:rgba(226, 232, 240, 0.92);border-radius:30px;box-shadow:0 28px 70px rgba(15, 23, 42, 0.12);}
.auth-brand img{box-shadow:0 12px 30px var(--tone-6c040e84);}
.auth-brand span,
.contact-box a,
.quote-box span,
.pricing-grid small{color:var(--theme-primary-strong,#173f70);}
.auth-tabs{background:var(--tone-eef6ff,#eef6ff);padding:6px;}
.auth-tabs button{min-height:46px;padding:12px 16px;font-size:13px;}
.auth-tabs button.active{color:var(--theme-primary-strong,#173f70);box-shadow:0 5px 14px var(--tone-22a296d7,rgba(15, 23, 42, 0.08));}
.login-methods{gap:12px;margin-bottom:17px;}
.login-methods button{min-height:88px;border-radius:var(--radius-xl,16px);padding:16px;}
.login-methods button.active{border-color:var(--theme-primary,#078ee8);background:var(--theme-primary-soft,#f0f8ff);box-shadow:0 0 0 3px rgba(7, 142, 232, 0.09);}
.login-methods b{color:var(--theme-primary-darker,#123d6b);font-size:14px;}
.login-methods span{margin-top:6px;font-size:11px;line-height:1.5;}
.form-stack{gap:15px;}
.form-stack label,
.modal-card label{gap:7px;font-size:12px;}
.form-stack input,
.form-stack select,
.form-stack textarea,
.modal-card input,
.modal-card select,
.modal-card textarea{min-height:46px;padding:13px 14px;border-radius:var(--radius-lg,14px);font-size:13px;}
.form-stack input:focus,
.modal-card input:focus,
.modal-card select:focus,
.modal-card textarea:focus{border-color:var(--theme-primary,#078ee8);box-shadow:0 0 0 3px var(--tone-01195772,rgba(7, 142, 232, 0.12));}
.auth-card .primary,
.google-button{width:100%;min-height:52px;padding:14px 19px;font-size:15px;}
.foundation-app{grid-template-columns:250px 1fr;}
.foundation-app aside{padding:22px 15px;background:var(--theme-surface,#fff);color:var(--theme-text,#0a2342);border-right:1px solid var(--tone-e5edf1,#e5edf1);z-index:30;}
.brand b{font-size:18px;}
.brand b span,
.brand small{color:var(--theme-primary,#078ee8);}
.foundation-app aside nav{gap:7px;}
.foundation-app aside nav button,
.logout{min-height:48px;border-radius:15px;padding:12px 13px;color:var(--theme-text-muted,#60758d);font-size:13px;}
.foundation-app aside nav button:hover{background:var(--theme-primary-soft,#f0f8ff);color:var(--theme-primary-strong,#173f70);}
.foundation-app aside nav button.active{background:var(--theme-primary,#078ee8);color:var(--theme-surface,#fff);box-shadow:0 9px 22px rgba(7, 142, 232, 0.25);}
.logout{background:#fff0f1;color:var(--theme-danger-strong,#dc2626);}
.foundation-app header{height:84px;padding:0 28px;border-color:var(--tone-e5edf1,#e5edf1);}
.foundation-app header > div > small{color:var(--theme-primary-mid,#1264ad);}
.profile > span{background:linear-gradient(145deg, var(--theme-primary,#078ee8), var(--theme-primary-deep,#075da9));}
.content{padding:26px;}
.hero-panel{background:linear-gradient(135deg, var(--theme-primary-darkest,#0a2342), var(--theme-primary-mid,#1264ad) 58%, var(--theme-primary,#078ee8));box-shadow:0 18px 45px var(--tone-6c040e84);}
.hero-panel span{color:var(--theme-primary-border,#d9e8f5);}
.hero-panel p{color:var(--theme-primary-soft,#f0f8ff);}
.stat,
.panel{border-color:var(--tone-e5edf1,#e5edf1);border-radius:var(--radius-4xl,22px);box-shadow:0 8px 28px rgba(15, 23, 42, 0.04);}
.panel-head{padding:19px 20px;}

.panel-head p,
td,
.school-card p{font-size:12px;}
.foundation-app :where(button.primary, button.secondary, button.warning, button.danger, button.ghost),
.modal-card :where(button.primary, button.secondary, button.warning, button.danger, button.ghost),
.actions button{min-height:42px;padding:10px 14px;font-size:12px;}
.panel-head > :where(button.primary, button.secondary, button.warning, button.danger, button.ghost),
.premium-strip > :where(button.primary, button.secondary, button.warning, button.danger, button.ghost){min-height:44px;padding:11px 16px;font-size:12px;}
.filters input,
.filters select{min-height:42px;padding:10px 12px;font-size:12px;}
.quote-box{border-color:var(--theme-primary-border-strong,#b8d9f3);border-left-color:var(--theme-primary,#078ee8);background:var(--theme-primary-soft,#f0f8ff);}
.contact-box.in-panel{background:var(--theme-primary-soft,#f0f8ff);border-color:var(--theme-primary-border-strong,#b8d9f3);}
.foundation-logo-upload{display:grid;grid-template-columns:96px 1fr;align-items:center;gap:16px;padding:15px;border:1px solid var(--tone-dce6eb);border-radius:var(--radius-2xl,18px);background:var(--theme-surface-soft,#f7fbff);}
.foundation-logo-upload img{width:88px;height:88px;border:1px solid var(--theme-border,#d9e8f5);border-radius:var(--radius-2xl,18px);background:var(--theme-surface,#fff);object-fit:contain;padding:7px;}
.foundation-logo-upload label{margin:0;}
.loading span{border-color:var(--theme-primary-border,#d9e8f5);border-top-color:var(--theme-primary,#078ee8);}
@media (max-width: 760px){.foundation-app aside{background:var(--theme-surface,#fff);border-top:1px solid var(--tone-e5edf1,#e5edf1);}

.foundation-app header{height:72px;padding:0 15px;}
.content{padding:17px 13px;}
.auth-card{padding:25px 19px;border-radius:27px;}
.login-methods button{min-height:76px;}
.foundation-logo-upload{grid-template-columns:74px 1fr;}
.foundation-logo-upload img{width:68px;height:68px;}}
.nav-icon{width:21px;height:21px;flex:0 0 auto;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round;}
@media (max-width: 760px){body:has(.foundation-app:not(.hidden)){padding-bottom:calc(76px + env(safe-area-inset-bottom));}
.foundation-app{padding-bottom:0;}
.foundation-app aside{position:fixed;z-index:80;bottom:max(8px, env(safe-area-inset-bottom));top:auto;border:1px solid rgba(203, 213, 225, 0.9);background:var(--tone-5098ef65);box-shadow:0 16px 40px rgba(15, 23, 42, 0.18);}
.foundation-app aside nav{scroll-snap-type:x proximity;overscroll-behavior-x:contain;}
.foundation-app aside nav::-webkit-scrollbar{display:none;}
.foundation-app aside nav button{display:grid;flex:0 0 50px;place-items:center;border-radius:17px;color:var(--theme-text-muted,#60758d);}
.foundation-app aside nav button span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;}
.foundation-app aside nav button .nav-icon{width:24px;height:24px;}
.foundation-app aside nav button.active{color:var(--theme-surface,#fff);box-shadow:0 8px 18px rgba(7, 142, 232, 0.3);}
.foundation-app aside nav button.active .nav-icon{transform:translateY(-1px) scale(1.05);}
.foundation-app aside nav button.active::after{content:"";position:absolute;border-radius:50%;}
.content{padding-bottom:28px;}}
.form-error{border:1px solid var(--tone-fecaca,#fecaca);border-left:4px solid var(--theme-danger-light,#ef4444);border-radius:var(--radius-md-lg,12px);background:var(--tone-fff7f7,#fff7f7);color:var(--theme-danger,#b91c1c);padding:11px 12px;font-weight:800;}
.form-progress{border:1px solid #bfdbfe;border-left:4px solid #2563eb;border-radius:var(--radius-md-lg,12px);background:var(--tone-eff6ff,#eff6ff);color:var(--tone-1d4ed8,#1d4ed8);padding:11px 12px;font-size:11px;font-weight:800;line-height:1.5;}
#schoolForm button[type="submit"]:disabled{cursor:wait;opacity:.78;}
#schoolForm input[name="schoolCode"]{text-transform:uppercase;letter-spacing:.045em;font-weight:850;}
.school-capacity,
.school-slot-info{display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid var(--tone-e8e7ef);background:var(--tone-f5f3ff);padding:11px 18px;color:#5b21b6;font-size:10px;}
.school-capacity b,
.school-slot-info b,
.school-slot-info span{display:block;}
.school-slot-info{align-items:flex-start;flex-direction:column;gap:3px;margin:12px 0;border:1px solid var(--tone-ddd6fe);border-radius:var(--radius-md-lg,12px);padding:10px 12px;line-height:1.5;}
.school-slot-info.available{border-color:var(--theme-primary-border-strong,#b8d9f3);background:var(--theme-primary-soft,#f0f8ff);color:var(--theme-primary-strong,#173f70);}
.school-slot-info.full{border-color:#fed7aa;background:#fff7ed;color:#9a3412;}
@media (max-width: 760px){.school-capacity{align-items:flex-start;flex-direction:column;gap:3px;padding:10px 14px;}}
.login-error,.form-login-error{margin:10px 0 0;padding:11px 13px;border:1px solid var(--tone-fecaca,#fecaca);border-radius:var(--radius-md-lg,12px);background:#fef2f2;color:var(--theme-danger,#b91c1c);font-size:12px;font-weight:750;line-height:1.45;}



.portal-form-modal{position:fixed!important;inset:0!important;z-index:2147483000!important;isolation:isolate!important;overscroll-behavior:contain!important;}
.portal-form-modal>form,.portal-form-modal>div{overscroll-behavior:contain!important;}
.portal-guru-dashboard,.portal-guru-schedule{scroll-margin-bottom:120px;}
@media (max-width:767px){
.portal-form-modal{padding:8px!important;align-items:flex-start!important;overflow-y:auto!important;}
.portal-form-modal>form,.portal-form-modal>div{width:100%!important;margin:auto!important;max-height:calc(100dvh - 16px)!important;overflow-y:auto!important;border-radius:var(--radius-4xl,22px);}
.portal-form-modal form>div:last-child{padding-bottom:calc(24px + env(safe-area-inset-bottom))!important;}
.portal-guru-dashboard,.portal-guru-schedule{padding-bottom:calc(9rem + env(safe-area-inset-bottom))!important;}}
@media (min-width:768px){.portal-form-modal{padding-top:24px!important;padding-bottom:24px!important;overflow-y:auto!important;}
.portal-form-modal>form,.portal-form-modal>div{margin:auto!important;max-height:calc(100dvh - 48px)!important;overflow-y:auto!important;}}



.portal-form-dialog input:focus,
.portal-form-dialog select:focus,
.portal-form-dialog textarea:focus{border-color:var(--tone-0ea5e9,#0ea5e9);box-shadow:0 0 0 4px rgba(20, 129, 184, .12);}
.portal-form-dialog button[type="submit"]{box-shadow:0 12px 28px var(--tone-60e09799,rgba(0, 111, 209, .18));}

.school-list{display:grid;gap:10px;padding:14px!important;}
.school-list-row{display:grid;grid-template-columns:minmax(260px, 1fr) auto minmax(250px, auto);align-items:center;gap:16px;padding:13px 14px;border:1px solid var(--theme-border,#d9e8f5);border-radius:15px;background:linear-gradient(120deg, var(--theme-surface,#fff), #f8fbff);}
.school-list-title,
.school-list-primary p,
.credential-account-head{display:flex;align-items:center;gap:9px;}
.school-list-title h3{margin:0;font-size:14px;}
.school-list-primary p{flex-wrap:wrap;margin:5px 0 0;color:var(--theme-text-muted,#60758d);font-size:10px;}
.school-list-primary p b{color:var(--theme-primary-strong,#173f70);}
.school-list-facts{display:flex;align-items:center;gap:6px;}
.school-list-facts span{min-width:64px;padding:7px 9px;border-radius:var(--radius-md,10px);background:var(--theme-surface-muted,#edf5fc);text-align:center;}
.school-list-facts small,
.school-list-facts b{display:block;}
.school-list-facts small{color:var(--theme-text-subtle,#7e90a5);font-size:7px;text-transform:uppercase;}
.school-list-facts b{margin-top:2px;font-size:13px;}
.school-list-actions{justify-content:flex-end;}
#foundationModal .modal-card:has(.credential-preview){width:min(100%, 760px);}
.credential-title{margin:-23px -23px 18px;padding:22px 58px 20px 23px;color:var(--theme-surface,#fff);background:linear-gradient(125deg, var(--theme-primary-darkest,#0a2342), var(--theme-primary-mid,#1264ad) 62%, var(--tone-0ea5e9,#0ea5e9));}
.credential-title span{color:var(--theme-primary-border-strong,#b8d9f3);font-size:9px;font-weight:900;letter-spacing:.14em;}
.credential-title h2{margin:5px 0 3px!important;}
.credential-title p{margin:0;color:var(--theme-primary-soft,#f0f8ff);}
.credential-notice,
.login-guide{margin-bottom:14px;padding:12px 14px;border:1px solid var(--theme-primary-border-strong,#b8d9f3);border-radius:13px;color:var(--theme-primary-darker,#123d6b);background:var(--theme-primary-soft,#f0f8ff);font-size:11px;line-height:1.55;}
.credential-grid{display:grid;grid-template-columns:repeat(3, minmax(0, 1fr));gap:8px;margin-bottom:14px;}
.credential-grid > div{min-width:0;padding:10px;border:1px solid var(--theme-border,#d9e8f5);border-radius:var(--radius-md-lg,12px);background:var(--theme-surface-soft,#f7fbff);}
.credential-grid small,
.credential-grid b{display:block;}
.credential-grid small{color:var(--theme-text-subtle,#7e90a5);font-size:7px;font-weight:900;}
.credential-grid b{margin-top:4px;overflow-wrap:anywhere;font-size:11px;}
.login-guide{border-color:#bae6fd;color:#0c4a6e;background:#f0f9ff;}
.login-guide ol{margin:7px 0 10px;padding-left:20px;}
.credential-account-list{display:grid;gap:10px;margin-bottom:14px;}
.credential-account{padding:13px;border:1px solid var(--theme-border,#d9e8f5);border-radius:var(--radius-lg,14px);background:var(--theme-surface,#fff);}
.credential-account-head{justify-content:space-between;}
.credential-account-head b,
.credential-account-head small{display:block;}
.credential-account-head small{margin-top:3px;color:var(--theme-text-muted,#60758d);font-size:9px;}
.credential-password{display:grid;gap:4px;margin:10px 0;padding:9px 11px;border-radius:var(--radius-md,10px);color:var(--theme-text-muted,#60758d);background:var(--theme-surface-soft,#f7fbff);font-size:9px;}
.credential-password small{color:var(--theme-text-subtle,#7e90a5);font-size:7px;font-weight:900;}
.credential-password.one-time{color:var(--theme-primary-darker,#123d6b);background:var(--theme-primary-soft,#f0f8ff);}
.credential-password code{color:var(--theme-primary-darkest,#0a2342);font-family:ui-monospace, SFMono-Regular, Menlo, monospace;font-size:16px;font-weight:900;letter-spacing:.04em;overflow-wrap:anywhere;}
@media (max-width: 900px){.school-list-row{grid-template-columns:minmax(0, 1fr) auto;}
.school-list-actions{grid-column:1 / -1;justify-content:flex-start;}}
@media (max-width: 600px){.school-list{padding:9px!important;}
.school-list-row{grid-template-columns:1fr;gap:10px;padding:12px;}
.school-list-facts,
  .school-list-actions{grid-column:auto;}
.school-list-facts span{flex:1;}
.school-list-actions{justify-content:stretch;}
.school-list-actions button{flex:1 1 calc(50% - 6px);}
#foundationModal .modal-card:has(.credential-preview){max-height:92dvh;}
.credential-title{margin:-21px -16px 15px;padding:18px 52px 17px 16px;}
.credential-grid{grid-template-columns:repeat(2, minmax(0, 1fr));}}
#foundationModal .modal-card:has(.foundation-qris-payment){width:min(100%, 620px);}
.foundation-qris-payment{text-align:center;}
.foundation-qris-head{margin:-23px -23px 16px;padding:22px 56px 18px 23px;border-radius:var(--radius-4xl,22px) var(--radius-4xl,22px) 0 0;color:var(--theme-surface,#fff);background:radial-gradient(circle at 90% 0, #fde68a66, transparent 38%),
    linear-gradient(125deg, var(--theme-primary-darkest,#0a2342), var(--theme-primary-mid,#1264ad) 66%, var(--theme-primary,#078ee8));}
.foundation-qris-head span{color:var(--theme-primary-border,#d9e8f5);font-size:9px;font-weight:900;letter-spacing:.15em;}
.foundation-qris-head h2{margin:5px 0 3px!important;}
.foundation-qris-head p{margin:0;color:var(--theme-primary-soft,#f0f8ff);}
.foundation-qris-payment .qris-wrap{margin:12px 0;padding:12px;border:1px solid var(--theme-border,#d9e8f5);border-radius:var(--radius-2xl,18px);background:var(--theme-surface-soft,#f7fbff);}
.foundation-qris-payment .qris-wrap img{display:block;width:100%;max-height:410px;object-fit:contain;border-radius:13px;}
.foundation-qris-payment .payment-total{margin-bottom:12px;padding:13px;border-radius:15px;color:var(--theme-primary-darker,#123d6b);background:var(--theme-primary-soft,#f0f8ff);}
.foundation-qris-payment .payment-total small,
.foundation-qris-payment .payment-total b{display:block;}
.foundation-qris-payment .payment-total b{margin-top:4px;font-size:25px;}
.foundation-qris-payment ol{text-align:left;color:var(--theme-text-muted,#60758d);font-size:11px;line-height:1.7;}
.foundation-qris-payment .whatsapp-button{width:100%;border:0;border-radius:13px;padding:13px;color:var(--theme-surface,#fff);background:#258cd3;font-weight:900;cursor:pointer;}
.foundation-qris-payment .whatsapp-button:disabled{opacity:.65;cursor:wait;}
@media (max-width: 600px){.foundation-qris-head{margin:-21px -16px 14px;padding:19px 50px 16px 16px;}
.foundation-qris-payment .qris-wrap img{max-height:46dvh;}}
.foundation-notices{margin:0 0 18px;overflow:hidden;border:1px solid var(--tone-ddd6fe);border-radius:var(--radius-2xl,18px);background:var(--theme-surface,#fff);box-shadow:0 8px 25px rgba(76, 29, 149, 0.06);}
.foundation-notices-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 16px;background:var(--tone-f5f3ff);}
.foundation-notices-head b{color:#5b21b6;font-size:13px;}
.foundation-notices-head span{color:var(--tone-7c3aed);font-size:10px;}
.foundation-notices article{display:flex;gap:11px;padding:13px 16px;border-top:1px solid #f1eef8;}
.foundation-notices article:first-of-type{border-top:0;}
.foundation-notices .notice-dot{flex:0 0 auto;width:9px;height:9px;margin-top:5px;border-radius:50%;background:var(--tone-8b5cf6);box-shadow:0 0 0 4px var(--tone-ede9fe);}
.foundation-notices article b{font-size:12px;}
.foundation-notices article p{margin:4px 0;color:var(--theme-text-muted,#60758d);font-size:11px;line-height:1.5;}
.foundation-notices article small{color:var(--theme-text-subtle,#7e90a5);font-size:9px;}
@media (max-width: 760px){.foundation-notices-head{align-items:flex-start;flex-direction:column;gap:3px;}
.foundation-notices article{padding:12px 13px;}
.foundation-notices article p{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:3;}}
body > .portal-student-notification-panel,
.portal-student-notification-layer,
.psn-panel,
.owner-notification-panel,
.foundation-notification-panel,
.school-notification-panel{position:fixed!important;z-index:2147483647!important;isolation:isolate!important;pointer-events:auto!important;transform:translateZ(0)!important;}
.psn-panel{top:calc(72px + env(safe-area-inset-top))!important;right:16px!important;left:auto;}
body > .portal-student-notification-panel[hidden],
.psn-panel[hidden]{display:none!important;}
#root header:has(.portal-student-header-actions){overflow:visible!important;contain:none!important;}
.portal-teacher-today-schedule,
.portal-teacher-schedule-day{overflow:visible!important;border:0;background:transparent;box-shadow:none;}
.portal-teacher-today-schedule-grid,
.portal-teacher-schedule-grid{display:grid!important;grid-template-columns:repeat(auto-fit, minmax(210px, 1fr))!important;gap:10px!important;padding:0!important;}
.portal-teacher-schedule-card{min-width:0!important;border:1px solid var(--tone-dbe5f0,#dbe5f0);border-radius:var(--radius-2xl,18px);background:var(--theme-surface,#fff);padding:12px!important;box-shadow:0 7px 20px rgba(15, 23, 42, .045);}
.portal-teacher-schedule-card > *{min-width:0;}
.portal-teacher-schedule-card h4,
.portal-teacher-schedule-card p{overflow:hidden;text-overflow:ellipsis;}
.portal-teacher-schedule-day > :first-child{margin-bottom:9px;border:1px solid var(--tone-dbe5f0,#dbe5f0);border-radius:15px;background:var(--theme-surface-soft,#f7fbff);}
@media (min-width: 1100px){.portal-teacher-today-schedule-grid,
  .portal-teacher-schedule-grid{grid-template-columns:repeat(4, minmax(0, 1fr))!important;}}
@media (max-width: 767px){html{height:100%;overflow:hidden;overscroll-behavior:none;}
body:has(#root > .flex.h-screen),
  body:has(.app:not(.hidden)),
  body:has(.foundation-app:not(.hidden)),
  body:has(.owner-app:not(.hidden)){width:100%;height:var(--portal-viewport-height);min-height:0!important;overflow:hidden!important;overscroll-behavior:none;}
#root,
  #root > .flex.h-screen{width:100%;height:var(--portal-viewport-height)!important;min-height:0!important;max-height:var(--portal-viewport-height)!important;overflow:hidden!important;}
#root > .flex.h-screen > .flex-1.flex.flex-col,
  #root > .flex.h-screen > .flex-1.flex.flex-col.overflow-hidden{height:100%!important;min-height:0!important;overflow:hidden!important;}
#root > .flex.h-screen > .flex-1.flex.flex-col.overflow-hidden:has(.portal-student-header-actions){overflow:hidden!important;contain:none!important;}
#root > .flex.h-screen > .flex-1.flex.flex-col > header{flex:0 0 auto!important;}
#root > .flex.h-screen > .flex-1.flex.flex-col > main{flex:1 1 auto!important;min-height:0!important;overflow-y:auto!important;overscroll-behavior-y:contain;-webkit-overflow-scrolling:touch;padding-bottom:calc(var(--portal-mobile-dock-height) + 28px + env(safe-area-inset-bottom))!important;scroll-padding-bottom:calc(var(--portal-mobile-dock-height) + 28px + env(safe-area-inset-bottom))!important;}
.student-mobile-nav,
  #root nav.fixed.bottom-0{bottom:0!important;min-height:calc(var(--portal-mobile-dock-height) + env(safe-area-inset-bottom))!important;padding-bottom:max(8px, env(safe-area-inset-bottom))!important;z-index:500!important;transform:translateZ(0);}
.app:not(.hidden),
  .foundation-app:not(.hidden),
  .owner-app:not(.hidden){height:var(--portal-viewport-height)!important;min-height:0!important;max-height:var(--portal-viewport-height)!important;overflow:hidden!important;}
.app:not(.hidden) > main,
  .foundation-app:not(.hidden) > main,
  .owner-app:not(.hidden) > main{height:100%!important;min-height:0!important;overflow:hidden!important;display:flex!important;flex-direction:column!important;}
.app:not(.hidden) > main > header,
  .app:not(.hidden) > main > .subnav,
  .foundation-app:not(.hidden) > main > header,
  .owner-app:not(.hidden) > main > header{flex:0 0 auto!important;}
.app:not(.hidden) > main > section,
  .foundation-app:not(.hidden) > main > .content,
  .owner-app:not(.hidden) > main > .content{flex:1 1 auto!important;min-height:0!important;overflow-y:auto!important;overscroll-behavior-y:contain;-webkit-overflow-scrolling:touch;padding-bottom:calc(var(--portal-mobile-dock-height) + 28px + env(safe-area-inset-bottom))!important;scroll-padding-bottom:calc(var(--portal-mobile-dock-height) + 28px + env(safe-area-inset-bottom))!important;}
.app:not(.hidden) > aside,
  .foundation-app:not(.hidden) > aside,
  .owner-app:not(.hidden) > aside{bottom:0!important;padding-bottom:max(6px, env(safe-area-inset-bottom))!important;z-index:500!important;}
.portal-student-notification-layer,
  body > .portal-student-notification-panel,
  .psn-panel,
  .owner-notification-panel{top:calc(env(safe-area-inset-top) + 66px)!important;right:8px!important;left:8px!important;width:auto!important;max-height:calc(var(--portal-viewport-height) - 150px - env(safe-area-inset-top))!important;overflow:auto!important;}
.portal-teacher-today-schedule-grid,
  .portal-teacher-schedule-grid{grid-template-columns:repeat(2, minmax(0, 1fr))!important;gap:8px!important;}
.portal-teacher-schedule-card{padding:10px!important;border-radius:15px;gap:7px!important;}
.portal-teacher-today-schedule-grid > .portal-teacher-schedule-card{display:grid!important;grid-template-columns:auto minmax(0, 1fr)!important;align-items:center!important;}
.portal-teacher-today-schedule-grid > .portal-teacher-schedule-card > :last-child{grid-column:1 / -1;justify-self:start;margin-top:2px;}
.portal-teacher-schedule-grid > .portal-teacher-schedule-card{display:grid!important;grid-template-columns:minmax(0, 1fr) auto!important;align-items:start!important;}
.portal-teacher-schedule-grid > .portal-teacher-schedule-card > :first-child{gap:7px!important;min-width:0!important;}
.portal-teacher-schedule-grid > .portal-teacher-schedule-card > :first-child > :first-child{padding:5px 7px!important;flex:0 0 auto!important;}
.portal-teacher-schedule-grid > .portal-teacher-schedule-card > :last-child{flex-direction:column;gap:4px!important;}}
@media (max-width: 359px){.portal-teacher-today-schedule-grid,
  .portal-teacher-schedule-grid{grid-template-columns:1fr!important;}}
@media (max-width: 900px), (pointer: coarse){body.portal-keyboard-open .portal-keyboard-surface{box-sizing:border-box!important;inset:auto 0 auto 0!important;top:var(--portal-visual-top)!important;width:100%!important;height:var(--portal-visual-height)!important;min-height:0!important;max-height:var(--portal-visual-height)!important;padding-top:8px!important;padding-bottom:8px!important;align-items:flex-start!important;overflow-x:hidden!important;overflow-y:auto!important;overscroll-behavior-y:contain;-webkit-overflow-scrolling:touch;touch-action:pan-y;}
body.portal-keyboard-open .portal-keyboard-scroll{box-sizing:border-box!important;min-height:0!important;max-height:calc(var(--portal-visual-height) - 16px)!important;overflow-x:hidden!important;overflow-y:auto!important;overscroll-behavior-y:contain;-webkit-overflow-scrolling:touch;scroll-padding-top:16px;scroll-padding-bottom:28px;touch-action:pan-y;}
body.portal-keyboard-open .portal-keyboard-surface > .portal-keyboard-scroll{flex:0 1 auto!important;margin-top:auto!important;margin-bottom:auto!important;}
body.portal-keyboard-open input:not([type="hidden"]),
  body.portal-keyboard-open textarea,
  body.portal-keyboard-open select,
  body.portal-keyboard-open [contenteditable="true"]{scroll-margin-top:20px;scroll-margin-bottom:36px;}}
.portal-management-notifications{position:relative;flex:none;}
.admin>.portal-management-notifications{display:block!important;}
.foundation-app header .profile-wrap{position:relative;display:flex;align-items:center;gap:10px;}
.admin .portal-management-notification-head>div{display:block!important;}
.admin .portal-management-notification-actions{display:flex!important;}
.portal-management-notification-button{width:44px;height:44px;border:1px solid var(--tone-dce6eb);border-radius:var(--radius-lg,14px);background:var(--theme-surface,#fff);color:var(--theme-text-secondary,#50657e);display:grid;place-items:center;position:relative;cursor:pointer;box-shadow:0 4px 15px var(--tone-09a9070d,rgba(15,23,42,.06));}
.portal-management-notification-button:hover,.portal-management-notification-button.active{color:var(--theme-primary-mid,#1264ad);border-color:#84c8ff;background:var(--theme-primary-soft,#f0f8ff);}
.portal-management-notification-button svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round;}
.portal-management-notification-badge{position:absolute;right:-5px;top:-5px;min-width:21px;height:21px;padding:0 5px;border:2px solid var(--theme-surface,#fff);border-radius:var(--radius-pill,999px);background:var(--theme-danger-light,#ef4444);color:var(--theme-surface,#fff);display:grid;place-items:center;font-size:9px;font-weight:900;}
.portal-management-notification-panel{position:absolute;right:0;top:53px;width:min(410px,calc(100vw - 28px));max-height:min(610px,calc(100dvh - 95px));overflow:hidden;border:1px solid var(--tone-dce6eb);border-radius:var(--radius-4xl,22px);background:var(--theme-surface,#fff);color:var(--tone-172033,#172033);box-shadow:0 25px 65px var(--tone-b001a3a2,rgba(15,23,42,.22));z-index:500;}
.portal-management-notification-head{display:flex;align-items:flex-start;justify-content:space-between;gap:13px;padding:16px 17px;border-bottom:1px solid #edf2f5;text-align:left;}
.portal-management-notification-head b,.portal-management-notification-head small{display:block;}
.portal-management-notification-head b{font-size:14px;}
.portal-management-notification-head small{margin-top:4px;color:var(--theme-text-muted,#60758d);font-size:10px;}
.portal-management-notification-actions{display:flex;align-items:center;gap:6px;flex:none;}
.portal-management-notification-actions button{height:30px;border:0;border-radius:var(--radius-md,10px);padding:0 9px;background:var(--theme-surface-muted,#edf5fc);color:var(--theme-text-muted,#60758d);font-size:9px;font-weight:850;cursor:pointer;}
.portal-management-notification-actions button[data-read-all]{border:1px solid var(--theme-primary-border-strong,#b8d9f3);background:var(--theme-primary-soft,#f0f8ff);color:var(--theme-primary-strong,#173f70);}
.portal-management-notification-actions button[data-clear-all]{border:1px solid #fecdd3;background:#fff1f2;color:#be123c;}
.portal-management-notification-actions button[data-close]{width:30px;padding:0;font-size:20px;}
.portal-management-notification-list{max-height:470px;overflow:auto;overscroll-behavior:contain;}
.portal-management-notification-item{width:100%;border:0;border-bottom:1px solid #edf2f5;background:var(--theme-surface,#fff);padding:13px 15px;display:flex;align-items:flex-start;gap:11px;text-align:left;cursor:pointer;}
.portal-management-notification-item:hover{background:#f0fdf8;}
.portal-management-notification-dot{width:9px;height:9px;margin-top:5px;border-radius:50%;background:var(--theme-primary,#078ee8);box-shadow:0 0 0 4px var(--theme-primary-border,#d9e8f5);flex:none;}
.portal-management-notification-copy{min-width:0;flex:1;}
.portal-management-notification-copy b,.portal-management-notification-copy small,.portal-management-notification-copy time{display:block;}
.portal-management-notification-copy b{font-size:12px;line-height:1.35;}
.portal-management-notification-copy small{margin-top:4px;color:var(--theme-text-secondary,#50657e);font-size:10px;line-height:1.5;}
.portal-management-notification-copy time{margin-top:7px;color:var(--theme-text-subtle,#7e90a5);font-size:9px;}
.portal-management-notification-item.read{background:var(--theme-surface-soft,#f7fbff);}
.portal-management-notification-item.read .portal-management-notification-dot{background:var(--tone-cbd5e1,#cbd5e1);box-shadow:0 0 0 4px var(--theme-surface-muted,#edf5fc);}
.portal-management-notification-item.read b,.portal-management-notification-item.read small{color:var(--theme-text-muted,#60758d);}
.portal-management-notification-empty{padding:38px 20px;text-align:center;color:var(--theme-text-muted,#60758d);font-size:11px;}
@media (max-width:760px){.portal-management-notification-button{width:42px;height:42px;border-radius:13px;}
.portal-management-notification-panel{position:fixed;top:68px;right:10px;left:10px;width:auto;max-height:calc(100dvh - 150px);z-index:700;}
.portal-management-notification-list{max-height:calc(100dvh - 255px);}
.portal-management-notification-head{padding:14px;}
.portal-management-notification-item{padding:13px 14px;}}
.duty-request-count{display:inline-flex;padding:7px 10px;border-radius:var(--radius-pill,999px);background:#fff7ed;color:#c2410c;font-size:10px;font-weight:900;white-space:nowrap;}
.duty-attendance-recorded{display:inline-flex;padding:6px 9px;border-radius:var(--radius-pill,999px);background:var(--theme-primary-soft,#f0f8ff);color:var(--theme-primary-strong,#173f70);font-size:9px;font-weight:900;}
@media (max-width:760px){.foundation-app aside nav{overflow-x:auto;grid-template-columns:repeat(11,minmax(60px,1fr));}
.foundation-app aside nav button{min-width:60px;}}
.foundation-attendance-summary{display:grid;gap:12px;grid-template-columns:repeat(3, minmax(0, 1fr));margin:14px 0;}
.foundation-attendance-summary article{background:var(--theme-surface-soft,#f7fbff);border:1px solid var(--theme-border,#d9e8f5);border-radius:var(--radius-xl,16px);padding:14px;}
.foundation-attendance-summary small,
.foundation-attendance-summary b{display:block;}
.foundation-attendance-summary small{color:var(--theme-text-muted,#60758d);font-weight:700;}
.foundation-attendance-summary b{color:var(--theme-primary-strong,#173f70);font-size:22px;margin-top:4px;}
.foundation-attendance-school{border-top:1px solid var(--theme-border,#d9e8f5);padding:18px 0;}
.foundation-attendance-school:first-child{border-top:0;}
.foundation-attendance-controls{align-items:center;display:flex;flex-wrap:wrap;gap:8px;}
.foundation-attendance-controls select{min-width:210px;}
@media (max-width: 700px){.foundation-attendance-summary{grid-template-columns:1fr;}}
.foundation-app main,
.foundation-app .content,
.foundation-app .panel,
.foundation-app .panel-body{min-width:0;max-width:100%;}
.foundation-app .table-wrap,
#foundationModal .table-wrap{display:block;width:100%;max-width:100%;overflow-x:auto!important;overflow-y:hidden;-webkit-overflow-scrolling:touch;overscroll-behavior-inline:contain;touch-action:pan-x pan-y;scrollbar-gutter:stable;}
.foundation-app .table-wrap > table,
#foundationModal .table-wrap > table{width:max-content;min-width:100%;}
.foundation-app select,
#foundationModal select{min-width:0;max-width:100%;padding-right:42px!important;overflow:hidden;appearance:none;-webkit-appearance:none;text-overflow:ellipsis;white-space:nowrap;background-color:var(--theme-surface,#fff);background-image:linear-gradient(45deg, transparent 50%, var(--theme-text-muted,#60758d) 50%),
    linear-gradient(135deg, var(--theme-text-muted,#60758d) 50%, transparent 50%);background-position:calc(100% - 18px) calc(50% - 2px),
    calc(100% - 13px) calc(50% - 2px);background-size:5px 5px, 5px 5px;background-repeat:no-repeat;}
.foundation-code-control{display:grid;grid-template-columns:auto minmax(0, 1fr);align-items:stretch;width:100%;min-width:0;overflow:hidden;border:1px solid var(--tone-dfe3eb);border-radius:var(--radius-lg,14px);background:#fafbfc;}
.foundation-code-control:focus-within{border-color:var(--theme-primary,#078ee8);background:var(--theme-surface,#fff);box-shadow:0 0 0 3px var(--tone-01195772,rgba(7, 142, 232, 0.12));}
.foundation-code-control > span{display:flex;align-items:center;padding:0 0 0 14px;color:var(--theme-primary-darker,#123d6b);font-size:13px;font-weight:900;letter-spacing:0.03em;}
.foundation-code-control > input{min-width:0;border:0;border-radius:0;background:transparent;box-shadow:none;}
body.foundation-modal-open{overflow:hidden;}
#foundationModal{overflow:hidden;overscroll-behavior:contain;}
#foundationModal .modal-card{min-width:0;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;scroll-padding-bottom:calc(28px + env(safe-area-inset-bottom));}
#foundationModalBody,
#foundationModalBody > *{min-width:0;max-width:100%;}
@media (max-width: 760px){body:has(.foundation-app:not(.hidden)){overflow-x:hidden;}
.foundation-app{width:100%;max-width:100vw;}
.foundation-app main{width:100%;overflow-x:clip;}
.foundation-app .content{width:100%;padding:14px 12px calc(92px + env(safe-area-inset-bottom));}
.foundation-app .panel{width:100%;overflow:hidden;}
.foundation-app .panel-head,
  .foundation-app .toolbar{width:100%;min-width:0;}
.foundation-app .panel-head > *,
  .foundation-app .toolbar > *{min-width:0;max-width:100%;}
.foundation-app .panel-head h3,
  .foundation-app .panel-head p{overflow-wrap:anywhere;}
.foundation-app .filters,
  .foundation-app .actions{width:100%;}
.foundation-app .filters > *,
  .foundation-app .actions > *{max-width:100%;}
.foundation-app .table-wrap{position:relative;padding-bottom:3px;}
.foundation-app .table-wrap > table{min-width:680px;}
.foundation-app aside{left:12px;right:12px;bottom:max(9px, env(safe-area-inset-bottom));width:auto;overflow:hidden;border-radius:var(--radius-4xl,22px);}
.foundation-app aside nav{display:flex!important;width:100%;min-width:0!important;gap:5px;overflow-x:auto!important;overflow-y:hidden!important;scroll-padding-inline:18px;scrollbar-width:none;}
.foundation-app aside nav button{position:relative;width:auto!important;min-width:48px!important;max-width:64px;margin:0;padding:0!important;scroll-snap-align:center;}

body.foundation-modal-open .foundation-app aside{opacity:0;pointer-events:none;transform:translateY(18px);}
#foundationModal{align-items:start!important;padding:max(6px, env(safe-area-inset-top)) 0 0!important;}
#foundationModal .modal-card{width:100%!important;max-width:100%!important;max-height:calc(100dvh - max(6px, env(safe-area-inset-top)))!important;margin:0;padding:20px 16px calc(24px + env(safe-area-inset-bottom))!important;}
#foundationModal .form-grid{grid-template-columns:minmax(0, 1fr)!important;}
#foundationModal .modal-close{position:sticky;z-index:4;top:0;float:right;margin:-7px -4px 2px 8px;}
#foundationModal .table-wrap{margin-inline:0;padding-bottom:5px;}
#foundationModal .table-wrap > table{min-width:640px;}
#foundationModal .modal-card:has(.foundation-qris-payment){height:calc(100dvh - max(6px, env(safe-area-inset-top)));max-height:calc(100dvh - max(6px, env(safe-area-inset-top)))!important;padding-bottom:calc(18px + env(safe-area-inset-bottom))!important;}
.foundation-qris-head{margin:-20px -16px 10px!important;padding:15px 48px 13px 16px!important;}
.foundation-qris-head h2{margin:2px 0!important;font-size:20px;}
.foundation-qris-head p{font-size:11px;line-height:1.4;}
.foundation-qris-payment .qris-wrap{margin:8px 0!important;padding:8px!important;}
.foundation-qris-payment .qris-wrap img{width:auto!important;max-width:100%;height:auto;max-height:36dvh!important;margin:auto;}
.foundation-qris-payment .payment-total{margin-bottom:7px!important;padding:9px!important;}
.foundation-qris-payment .payment-total b{font-size:22px;}
.foundation-qris-payment ol{margin:8px 0 10px;padding-left:23px;font-size:10px;line-height:1.55;}
.foundation-qris-payment .whatsapp-button{position:sticky;z-index:3;bottom:0;min-height:48px;box-shadow:0 -8px 18px var(--tone-9203fef5,rgba(255, 255, 255, 0.95));}}
@media (max-width: 380px){.foundation-app .content{padding-inline:9px;}
.foundation-app aside{left:8px;right:8px;}
.foundation-app aside nav button{min-width:46px!important;}}
@media (max-width: 760px){.foundation-app aside{height:72px;padding:7px 8px;}
.foundation-app aside nav{align-items:center;height:58px;padding-block:2px;}
.foundation-app aside nav button{align-self:center;flex:0 0 calc((100% - 20px) / 5)!important;min-height:50px!important;height:50px!important;margin-block:2px;overflow:hidden;border-radius:var(--radius-xl,16px);}
.foundation-app aside nav button.active{background:linear-gradient(145deg, var(--theme-primary,#078ee8), var(--theme-primary-mid,#1264ad));box-shadow:0 6px 15px rgba(7, 142, 232, 0.28);}
.foundation-app aside nav button.active::after{left:50%;bottom:4px;width:16px;height:3px;border-radius:var(--radius-pill,999px);transform:translateX(-50%);background:var(--theme-primary-border,#d9e8f5);}
.foundation-app aside nav button.active .nav-icon{transform:translateY(-2px) scale(1.03);}}
.portal-nav-desktop{display:flex;flex-direction:column;gap:8px;min-height:0;overflow-x:hidden;overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--theme-primary-border,#d9e8f5) transparent;}
.portal-nav-desktop > :not([hidden]) ~ :not([hidden]){margin-top:0!important;}
.portal-nav-desktop > button{width:100%!important;min-height:48px;padding:12px 16px!important;border-radius:var(--portal-nav-radius);gap:12px!important;color:var(--portal-nav-text);font-size:14px;font-weight:700;line-height:20px;text-align:left;}
.portal-nav-desktop > button:hover{background:var(--theme-primary-soft,#f0f8ff);color:var(--portal-nav-accent-dark);}
.portal-nav-desktop > button.bg-blue-500,
.portal-nav-desktop > button.bg-blue-50{background:var(--portal-nav-accent);color:var(--theme-surface,#fff);box-shadow:0 9px 22px var(--tone-6c040e84);}
@media (min-width: 851px){.app{grid-template-columns:var(--portal-nav-sidebar-width) minmax(0, 1fr)!important;}
.app > aside{width:auto;padding:24px 16px!important;}
.app #groupNav{display:flex!important;flex-direction:column;gap:8px!important;min-width:0!important;}
.app #groupNav button{border-radius:var(--portal-nav-radius);gap:12px!important;font-size:13px;line-height:20px;}}
@media (min-width: 761px){.owner-app,
  .foundation-app{grid-template-columns:var(--portal-nav-sidebar-width) minmax(0, 1fr)!important;}
.owner-app > .sidebar,
  .foundation-app > aside{width:auto;padding:24px 16px!important;background:var(--theme-surface,#fff);border-right:1px solid var(--portal-nav-line)!important;}
.owner-app #ownerNav,
  .foundation-app #foundationNav{display:flex!important;flex-direction:column;gap:8px!important;min-width:0!important;}
.owner-app #ownerNav .nav-button,
  .foundation-app #foundationNav button{width:100%!important;min-height:48px!important;padding:12px 14px!important;border-radius:var(--portal-nav-radius);gap:12px!important;color:var(--portal-nav-text);font-size:13px;font-weight:800;line-height:20px;}
.owner-app #ownerNav .nav-button:hover,
  .foundation-app #foundationNav button:hover{background:var(--theme-primary-soft,#f0f8ff);color:var(--portal-nav-accent-dark);}
.owner-app #ownerNav .nav-button.active,
  .foundation-app #foundationNav button.active{background:var(--portal-nav-accent);color:var(--theme-surface,#fff);box-shadow:0 9px 22px var(--tone-6c040e84);}}
.app .subnav{display:flex!important;align-items:center;gap:8px!important;width:100%;min-width:0;overflow-x:auto;overflow-y:hidden;scrollbar-width:none;overscroll-behavior-x:contain;}
.app .subnav::-webkit-scrollbar{display:none;}
.app .subnav button{flex:0 0 auto;min-height:40px;padding:10px 14px!important;border:0;border-radius:13px;white-space:nowrap;color:var(--portal-nav-text);font-size:12px;font-weight:800;}
.app .subnav button.active{background:var(--portal-nav-accent);color:var(--theme-surface,#fff);box-shadow:0 7px 18px rgba(7, 142, 232, 0.2);}
@media (max-width: 767px){.portal-nav-mobile{position:fixed!important;z-index:500!important;left:0!important;right:0!important;bottom:0!important;display:grid!important;grid-template-columns:repeat(6, minmax(0, 1fr))!important;width:100%!important;height:calc(var(--portal-nav-mobile-height) + env(safe-area-inset-bottom))!important;min-height:calc(var(--portal-nav-mobile-height) + env(safe-area-inset-bottom))!important;padding:6px 4px calc(6px + env(safe-area-inset-bottom))!important;gap:0!important;border:0;border-top:1px solid var(--portal-nav-line)!important;border-radius:0;background:var(--tone-c290c331,rgba(255, 255, 255, 0.98));box-shadow:0 -10px 35px var(--tone-8056952d,rgba(15, 23, 42, 0.07));transform:translateZ(0);}
.portal-nav-mobile > button{display:flex!important;flex-direction:column;align-items:center;justify-content:center;gap:3px!important;width:100%!important;min-width:0;height:58px!important;min-height:58px!important;margin:0!important;padding:6px 2px!important;overflow:hidden;border:0;border-radius:var(--radius-lg,14px);background:transparent;box-shadow:none;color:var(--tone-9ca3af,#9ca3af);line-height:1;}
.portal-nav-mobile > button svg{flex:0 0 auto;width:22px;height:22px;}
.portal-nav-mobile > button span{display:block;width:100%;overflow:hidden;color:inherit;font-size:10px;font-weight:700;line-height:12px;text-align:center;text-overflow:ellipsis;white-space:nowrap;}
.portal-nav-mobile > button.text-blue-500,
  .portal-nav-mobile > button.bg-blue-500,
  .portal-nav-mobile > button.bg-blue-50{background:transparent;color:var(--portal-nav-accent);box-shadow:none;}
.app .subnav{padding:9px 12px 4px!important;}}
@media (max-width: 850px){body > #groupNav.admin-mobile-dock{position:fixed!important;z-index:500!important;inset:auto 0 0 0!important;display:grid!important;grid-template-columns:repeat(5, minmax(0, 1fr))!important;align-items:center!important;width:100%!important;height:calc(var(--portal-nav-mobile-height) + env(safe-area-inset-bottom))!important;min-height:calc(var(--portal-nav-mobile-height) + env(safe-area-inset-bottom))!important;margin:0!important;padding:6px 4px calc(6px + env(safe-area-inset-bottom))!important;gap:0!important;overflow:hidden!important;border:0;border-top:1px solid var(--portal-nav-line)!important;border-radius:0;background:var(--tone-c290c331,rgba(255, 255, 255, 0.98));box-shadow:0 -10px 35px var(--tone-8056952d,rgba(15, 23, 42, 0.07));contain:layout paint!important;}
#groupNav.admin-mobile-dock button{display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;gap:3px!important;width:100%!important;height:58px!important;min-height:58px!important;margin:0!important;padding:5px 2px!important;overflow:hidden!important;border-radius:var(--radius-lg,14px);background:transparent;color:var(--tone-9ca3af,#9ca3af);box-shadow:none;}
#groupNav.admin-mobile-dock .admin-nav-icon{display:grid!important;flex:0 0 22px!important;place-items:center!important;width:22px!important;height:22px!important;margin:0!important;padding:0!important;border-radius:0;background:transparent;color:inherit;box-shadow:none;}
#groupNav.admin-mobile-dock .admin-nav-icon svg{width:22px!important;height:22px!important;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round;}
#groupNav.admin-mobile-dock .admin-nav-label{display:block!important;width:100%;overflow:hidden;font-size:9px;font-weight:700;line-height:12px;text-align:center;text-overflow:ellipsis;white-space:nowrap;}
#groupNav.admin-mobile-dock button.active,
  #groupNav.admin-mobile-dock button.active .admin-nav-icon{background:transparent;color:var(--portal-nav-accent);box-shadow:none;}}
@media (max-width: 760px){body:has(.owner-app:not(.hidden)){padding-bottom:calc(var(--portal-nav-mobile-height) + env(safe-area-inset-bottom));}
.owner-app > .sidebar{position:fixed!important;z-index:500!important;inset:auto 0 0 0!important;display:block!important;width:100%!important;height:calc(var(--portal-nav-mobile-height) + env(safe-area-inset-bottom))!important;padding:6px 0 calc(6px + env(safe-area-inset-bottom))!important;overflow:hidden!important;border:0;border-top:1px solid var(--portal-nav-line)!important;border-radius:0;background:var(--tone-c290c331,rgba(255, 255, 255, 0.98));box-shadow:0 -10px 35px var(--tone-8056952d,rgba(15, 23, 42, 0.07));}
.owner-app #ownerNav{display:flex!important;align-items:center;gap:0!important;width:100%;height:58px;min-width:0!important;padding:0 4px;overflow-x:auto;overflow-y:hidden;scroll-padding-inline:4px;scroll-snap-type:x proximity;scrollbar-width:none;}
.owner-app #ownerNav::-webkit-scrollbar{display:none;}
.owner-app #ownerNav .nav-button{display:flex!important;flex:0 0 64px!important;flex-direction:column;align-items:center;justify-content:center;gap:3px!important;width:64px!important;height:58px!important;min-height:58px!important;margin:0!important;padding:5px 2px!important;border-radius:var(--radius-lg,14px);background:transparent;color:var(--tone-9ca3af,#9ca3af);box-shadow:none;scroll-snap-align:center;}
.owner-app #ownerNav .nav-button svg{width:22px!important;height:22px!important;}
.owner-app #ownerNav .nav-button span{display:block;width:100%;overflow:hidden;font-size:9px;font-weight:700;line-height:12px;text-align:center;text-overflow:ellipsis;white-space:nowrap;}
.owner-app #ownerNav .nav-button.active{background:transparent;color:var(--portal-nav-accent);box-shadow:none;}}
@media (max-width: 760px){body:has(.foundation-app:not(.hidden)){padding-bottom:calc(var(--portal-nav-mobile-height) + env(safe-area-inset-bottom));}
.foundation-app > aside{position:fixed!important;z-index:500!important;inset:auto 0 0 0!important;display:block!important;width:100%!important;height:calc(var(--portal-nav-mobile-height) + env(safe-area-inset-bottom))!important;padding:6px 0 calc(6px + env(safe-area-inset-bottom))!important;overflow:hidden!important;border:0;border-top:1px solid var(--portal-nav-line)!important;border-radius:0;background:var(--tone-c290c331,rgba(255, 255, 255, 0.98));box-shadow:0 -10px 35px var(--tone-8056952d,rgba(15, 23, 42, 0.07));}
.foundation-app #foundationNav{display:flex!important;align-items:center!important;gap:0!important;width:100%!important;height:58px!important;min-width:0!important;padding:0 4px;overflow-x:auto!important;overflow-y:hidden!important;scroll-padding-inline:4px;scroll-snap-type:x proximity;scrollbar-width:none;}
.foundation-app #foundationNav::-webkit-scrollbar{display:none;}
.foundation-app #foundationNav button{position:relative;display:flex!important;flex:0 0 64px!important;flex-direction:column;align-items:center;justify-content:center;gap:3px!important;width:64px!important;max-width:none!important;height:58px!important;min-height:58px!important;margin:0!important;padding:5px 2px!important;overflow:hidden!important;border-radius:var(--radius-lg,14px);background:transparent;color:var(--tone-9ca3af,#9ca3af);box-shadow:none;scroll-snap-align:center;}
.foundation-app #foundationNav button .nav-icon{width:22px!important;height:22px!important;transform:none!important;}
.foundation-app #foundationNav button span{position:static!important;display:block!important;width:100%!important;height:auto!important;overflow:hidden!important;clip:auto!important;color:inherit;font-size:9px;font-weight:700;line-height:12px;text-align:center;text-overflow:ellipsis;white-space:nowrap;}
.foundation-app #foundationNav button.active{background:transparent;color:var(--portal-nav-accent);box-shadow:none;}
.foundation-app #foundationNav button.active::after{display:none!important;}
.foundation-app #foundationNav button.active .nav-icon{color:inherit;transform:none!important;}}
@media (min-width: 761px){.foundation-app aside{background:var(--theme-surface,#fff);border-right:1px solid #e7edf1!important;color:var(--theme-text,#0a2342);}
.foundation-app aside nav{gap:8px!important;}
.foundation-app aside nav button{position:relative;min-height:52px!important;padding:9px 12px!important;border-radius:15px;background:transparent;color:#526985;box-shadow:none;overflow:visible;}
.foundation-app aside nav button:hover{background:var(--theme-primary-soft,#f0f8ff);color:var(--theme-primary-strong,#173f70);}
.foundation-app aside nav button .nav-icon{width:31px;height:31px;padding:6px;border-radius:var(--radius-md,10px);background:var(--theme-surface-muted,#edf5fc);color:inherit;}
.foundation-app aside nav button.active{background:#e6f8f2;color:var(--theme-primary-mid,#1264ad);box-shadow:none;}
.foundation-app aside nav button.active::before{content:"";position:absolute;left:-4px;top:10px;width:4px;height:32px;border-radius:var(--radius-pill,999px);background:var(--theme-primary,#078ee8);}
.foundation-app aside nav button.active .nav-icon{background:var(--theme-primary-soft,#f0f8ff);color:var(--theme-primary-mid,#1264ad);}}
.foundation-section-tabs{display:flex;align-items:center;gap:8px;margin-bottom:14px;padding:5px;overflow-x:auto;border:1px solid var(--theme-border,#d9e8f5);border-radius:var(--radius-xl,16px);background:var(--theme-surface,#fff);scrollbar-width:none;}
.foundation-section-tabs::-webkit-scrollbar{display:none;}
.foundation-section-tabs button{flex:0 0 auto;min-height:42px;padding:9px 16px;border:1px solid transparent;border-radius:var(--radius-md-lg,12px);background:var(--theme-surface-muted,#edf5fc);color:var(--theme-text-muted,#60758d);font-size:12px;font-weight:850;cursor:pointer;white-space:nowrap;}
.foundation-section-tabs button.active{border-color:var(--theme-primary,#078ee8);border-left-width:5px;background:var(--theme-primary-soft,#f0f8ff);color:var(--theme-primary-strong,#173f70);}
.foundation-attendance-summary-full{grid-template-columns:repeat(6, minmax(0, 1fr));}
.foundation-attendance-recap-table{min-width:1240px;}
.payroll-workflow{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:15px 18px;border-bottom:1px solid var(--theme-primary-border,#d9e8f5);background:#f0fdf8;}
.payroll-workflow b,
.payroll-workflow span{display:block;}
.payroll-workflow b{color:var(--theme-primary-darker,#123d6b);font-size:13px;}
.payroll-workflow span{margin-top:4px;color:var(--theme-text-muted,#60758d);font-size:11px;}
.payroll-template-apply{display:flex;align-items:center;gap:8px;flex:0 1 600px;}
.payroll-template-apply select{flex:1;min-width:230px;padding:10px 12px;border:1px solid var(--tone-cbd5e1,#cbd5e1);border-radius:11px;background:var(--theme-surface,#fff);}
.payroll-template-empty{max-width:540px;padding:10px 12px;border:1px dashed var(--theme-warning,#f59e0b);border-radius:11px;background:#fffbeb;color:#92400e;font-size:11px;line-height:1.5;}
.payroll-template-list{display:grid;gap:13px;grid-template-columns:repeat(2, minmax(0, 1fr));}
.payroll-template-card{padding:16px;border:1px solid var(--theme-border,#d9e8f5);border-radius:17px;background:var(--theme-surface,#fff);}
.payroll-template-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;}
.payroll-template-card-head span{color:var(--theme-primary-mid,#1264ad);font-size:9px;font-weight:900;letter-spacing:0.08em;text-transform:uppercase;}
.payroll-template-card h4,
.payroll-template-card p{margin:0;}
.payroll-template-card h4{margin-top:5px;color:var(--theme-text,#0a2342);font-size:15px;}
.payroll-template-card p{margin-top:4px;color:var(--theme-text-muted,#60758d);font-size:11px;}
.payroll-template-components{display:grid;gap:8px;grid-template-columns:repeat(3, minmax(0, 1fr));margin-top:14px;}
.payroll-template-components div{min-width:0;padding:10px;border-radius:11px;background:var(--theme-surface-soft,#f7fbff);}
.payroll-template-components small,
.payroll-template-components b{display:block;}
.payroll-template-components small{color:var(--theme-text-subtle,#7e90a5);font-size:9px;}
.payroll-template-components b{margin-top:4px;overflow:hidden;color:var(--theme-text-strong,#123d6b);font-size:11px;text-overflow:ellipsis;white-space:nowrap;}
.payroll-template-modal h3{margin:8px 0 0;padding-top:13px;border-top:1px solid var(--theme-border,#d9e8f5);color:var(--theme-text,#0a2342);font-size:13px;}
@media (max-width: 1050px){.foundation-attendance-summary-full{grid-template-columns:repeat(3, minmax(0, 1fr));}
.payroll-template-list{grid-template-columns:1fr;}}
@media (max-width: 760px){.foundation-section-tabs{margin:0 0 11px;}
.foundation-section-tabs button{min-height:40px;padding:8px 13px;}
.foundation-attendance-summary-full{grid-template-columns:repeat(2, minmax(0, 1fr));}
.foundation-attendance-controls,
  .payroll-workflow,
  .payroll-template-card-head,
  .payroll-template-apply{align-items:stretch;flex-direction:column;width:100%;}
.foundation-attendance-controls > *,
  .payroll-template-apply > *{width:100%;min-width:0;}
.payroll-template-components{grid-template-columns:repeat(2, minmax(0, 1fr));}}
@media (min-width: 761px){.foundation-app > aside{padding-inline:12px!important;}
.foundation-app #foundationNav{display:flex!important;flex:1 1 auto;flex-direction:column;align-items:flex-start;gap:6px!important;min-height:0!important;padding:0 0 8px!important;overflow-x:hidden!important;overflow-y:auto!important;scrollbar-color:var(--theme-primary-border,#d9e8f5) transparent;scrollbar-width:thin;}
.foundation-app #foundationNav::-webkit-scrollbar{width:5px;}
.foundation-app #foundationNav::-webkit-scrollbar-thumb{border-radius:var(--radius-pill,999px);background:var(--theme-primary-border,#d9e8f5);}
.foundation-app #foundationNav button{position:relative;display:flex!important;flex:0 0 auto;align-items:center;justify-content:flex-start;gap:12px!important;width:min(190px, 100%)!important;min-height:54px!important;margin:0!important;padding:10px 14px!important;overflow:visible!important;border:0;border-radius:var(--radius-xl,16px);background:transparent;color:#526985;box-shadow:none;font-size:13px;font-weight:800;line-height:20px;transform:none!important;}
.foundation-app #foundationNav button:hover{background:var(--theme-primary-soft,#f0f8ff);color:var(--theme-primary-strong,#173f70);transform:none!important;}
.foundation-app #foundationNav button .nav-icon{display:block;flex:0 0 28px;color:inherit;box-shadow:none;}
.foundation-app #foundationNav button span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.foundation-app #foundationNav button.active{background:#e7f8f3;color:var(--theme-primary-mid,#1264ad);box-shadow:none;}
.foundation-app #foundationNav button.active::before{content:"";position:absolute;top:11px;bottom:11px;left:0;display:block!important;width:4px;border-radius:var(--radius-pill,999px);background:var(--theme-primary,#078ee8);}
.foundation-app #foundationNav button.active::after{display:none!important;}
.foundation-app #foundationNav button.active .nav-icon{background:transparent;color:var(--theme-primary-mid,#1264ad);}}
html,
body,
button,
input,
select,
textarea,
option,
table{font-family:"Outfit",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;}

body{color:var(--portal-v143-ink);}
body :is(h1, h2, h3, h4, h5, h6){font-weight:600;letter-spacing:-0.012em;}
body :is(button, label, th, b, strong){font-weight:600;}
body :is(.font-black, .font-extrabold){font-weight:700;}
body .font-bold{font-weight:600;}
body :is(p, small, .muted, .text-gray-400, .text-gray-500, .text-slate-500){line-height:1.55;}
@media (min-width: 768px){.portal-nav-desktop > button{position:relative;min-height:52px!important;padding:11px 14px 11px 16px!important;overflow:visible;border:0;border-radius:var(--radius-xl,16px);background:transparent;color:var(--portal-v143-muted);box-shadow:none;font-size:14px;font-weight:600;}
.portal-nav-desktop > button:hover{background:var(--theme-primary-soft,#f0f8ff);color:var(--portal-v143-blue-dark);}
.portal-nav-desktop > button > svg{flex:0 0 29px;width:29px!important;height:29px!important;padding:5px;border-radius:9px;background:var(--theme-surface-muted,#edf5fc);color:var(--portal-v143-icon);stroke-width:1.8;}
.portal-nav-desktop > button::before{content:"";position:absolute;top:11px;bottom:11px;left:0;width:4px;border-radius:var(--radius-pill,999px);background:transparent;}
.portal-nav-desktop > button.bg-blue-500,
  .portal-nav-desktop > button.bg-blue-50,
  body.portal-accreditation-open
    .portal-accreditation-menu-desktop-v133
    > button[data-portal-accreditation-nav="1"],
  .portal-accreditation-menu-desktop-v133
    > button[data-portal-accreditation-nav="1"].portal-accreditation-nav-active{background:var(--portal-v143-mint);color:var(--portal-v143-blue-dark);box-shadow:0 7px 18px var(--tone-246357d5,rgba(0, 111, 209, 0.08));}
.portal-nav-desktop > button.bg-blue-500::before,
  .portal-nav-desktop > button.bg-blue-50::before,
  body.portal-accreditation-open
    .portal-accreditation-menu-desktop-v133
    > button[data-portal-accreditation-nav="1"]::before,
  .portal-accreditation-menu-desktop-v133
    > button[data-portal-accreditation-nav="1"].portal-accreditation-nav-active::before{background:var(--portal-v143-green);}
.portal-nav-desktop > button.bg-blue-500 > svg,
  .portal-nav-desktop > button.bg-blue-50 > svg,
  body.portal-accreditation-open
    .portal-accreditation-menu-desktop-v133
    > button[data-portal-accreditation-nav="1"]
    > svg,
  .portal-accreditation-menu-desktop-v133
    > button[data-portal-accreditation-nav="1"].portal-accreditation-nav-active
    > svg{background:var(--theme-primary-border,#d9e8f5);color:var(--portal-v143-blue-dark);}}
@media (min-width: 851px){.app #groupNav button{position:relative;min-height:52px!important;padding:11px 14px 11px 16px!important;border-radius:var(--radius-xl,16px);background:transparent;color:var(--portal-v143-muted);box-shadow:none;font-weight:600;}
.app #groupNav button:hover{background:var(--theme-primary-soft,#f0f8ff);color:var(--portal-v143-blue-dark);}
.app #groupNav button::before{content:"";position:absolute;top:11px;bottom:11px;left:0;width:4px;border-radius:var(--radius-pill,999px);background:transparent;}
.app #groupNav button.active{background:var(--portal-v143-mint);color:var(--portal-v143-blue-dark);box-shadow:0 7px 18px var(--tone-246357d5,rgba(0, 111, 209, 0.08));}
.app #groupNav button.active::before{background:var(--portal-v143-green);}
.app #groupNav button .admin-nav-icon{background:var(--theme-surface-muted,#edf5fc);color:var(--portal-v143-icon);}
.app #groupNav button.active .admin-nav-icon{background:var(--theme-primary-border,#d9e8f5);color:var(--portal-v143-blue-dark);}}
@media (min-width: 761px){:is(
      .owner-app #ownerNav .nav-button,
      .foundation-app #foundationNav button
    ){position:relative;min-height:52px!important;padding:11px 14px 11px 16px!important;border:0;border-radius:var(--radius-xl,16px);background:transparent;color:var(--portal-v143-muted);box-shadow:none;font-weight:600;}
:is(
      .owner-app #ownerNav .nav-button,
      .foundation-app #foundationNav button
    ):hover{background:var(--theme-primary-soft,#f0f8ff);color:var(--portal-v143-blue-dark);}
:is(
      .owner-app #ownerNav .nav-button,
      .foundation-app #foundationNav button
    )::before{content:"";position:absolute;top:11px;bottom:11px;left:0;display:block!important;width:4px;border-radius:var(--radius-pill,999px);background:transparent;}
:is(
      .owner-app #ownerNav .nav-button.active,
      .foundation-app #foundationNav button.active
    ){background:var(--portal-v143-mint);color:var(--portal-v143-blue-dark);box-shadow:0 7px 18px var(--tone-246357d5,rgba(0, 111, 209, 0.08));}
:is(
      .owner-app #ownerNav .nav-button.active,
      .foundation-app #foundationNav button.active
    )::before{background:var(--portal-v143-green);}
.owner-app #ownerNav .nav-button > svg,
  .foundation-app #foundationNav button .nav-icon{flex:0 0 29px;width:29px!important;height:29px!important;padding:5px!important;border-radius:9px;background:var(--theme-surface-muted,#edf5fc);color:var(--portal-v143-icon);}
.owner-app #ownerNav .nav-button.active > svg,
  .foundation-app #foundationNav button.active .nav-icon{background:var(--theme-primary-border,#d9e8f5);color:var(--portal-v143-blue-dark);}}
:is(
    .app #subNav.subnav,
    .foundation-section-tabs,
    .school-tabs,
    #root .bg-gray-100.p-1\.5.rounded-xl.inline-flex.gap-1,
    #root
      .grid.grid-cols-2.gap-1\.5.bg-white.border.border-gray-100.rounded-2xl.p-1\.5.shadow-sm,
    #root .mb-4.bg-gray-100.rounded-2xl.p-1\.5.flex.gap-1
  ){gap:10px!important;border-color:transparent;background:transparent;box-shadow:none;}
:is(
    .app #subNav.subnav,
    .foundation-section-tabs,
    .school-tabs,
    #root .bg-gray-100.p-1\.5.rounded-xl.inline-flex.gap-1,
    #root
      .grid.grid-cols-2.gap-1\.5.bg-white.border.border-gray-100.rounded-2xl.p-1\.5.shadow-sm,
    #root .mb-4.bg-gray-100.rounded-2xl.p-1\.5.flex.gap-1
  )
  > button,
.portal-guru-category-tabs-v133 > button{position:relative;min-height:48px!important;min-width:128px;padding:10px 16px!important;border:2px solid var(--theme-primary,#078ee8);border-left-width:8px!important;border-radius:17px;background:var(--theme-primary-soft,#f0f8ff);color:var(--theme-primary-deep,#075da9);box-shadow:0 5px 15px var(--tone-246357d5,rgba(0, 111, 209, 0.08));font-size:12px;font-weight:600;line-height:1.25;text-align:center;white-space:nowrap;}
:is(
    .app #subNav.subnav,
    .foundation-section-tabs,
    .school-tabs,
    #root .bg-gray-100.p-1\.5.rounded-xl.inline-flex.gap-1,
    #root
      .grid.grid-cols-2.gap-1\.5.bg-white.border.border-gray-100.rounded-2xl.p-1\.5.shadow-sm,
    #root .mb-4.bg-gray-100.rounded-2xl.p-1\.5.flex.gap-1
  )
  > button:hover,
.portal-guru-category-tabs-v133 > button:hover{border-color:var(--theme-primary-mid,#1264ad);background:var(--portal-v143-mint-hover);color:var(--portal-v143-blue-dark);transform:translateY(-1px);}
:is(
    .app #subNav.subnav,
    .foundation-section-tabs,
    .school-tabs,
    #root .bg-gray-100.p-1\.5.rounded-xl.inline-flex.gap-1,
    #root
      .grid.grid-cols-2.gap-1\.5.bg-white.border.border-gray-100.rounded-2xl.p-1\.5.shadow-sm,
    #root .mb-4.bg-gray-100.rounded-2xl.p-1\.5.flex.gap-1
  )
  > button:is(.active, .bg-blue-500, [aria-selected="true"]),
.portal-guru-category-tabs-v133
  > button:is(
    .active,
    .bg-blue-500,
    .portal-accreditation-nav-active,
    [aria-selected="true"]
  ){border-color:var(--theme-primary-mid,#1264ad);border-left-color:var(--theme-primary-strong,#173f70);background:var(--portal-v143-green);color:var(--theme-surface,#fff);box-shadow:0 8px 20px rgba(0, 111, 209, 0.2);transform:none;}
@media (min-width: 768px){.attendance-daily-scroll{padding-bottom:4rem!important;}
.attendance-daily-scroll > .attendance-mobile-actions{bottom:0!important;grid-template-columns:minmax(0, 1.15fr) minmax(240px, 0.82fr)!important;gap:10px!important;margin-top:22px!important;padding:9px!important;border:1px solid rgba(226, 232, 240, 0.96);border-radius:17px;background:var(--tone-431952a6,rgba(255, 255, 255, 0.96));box-shadow:0 10px 26px rgba(15, 23, 42, 0.1);}
.attendance-daily-scroll > .attendance-mobile-actions > button{min-height:54px;border-radius:13px;font-size:15px;font-weight:600;}}
@media (max-width: 767px){:is(
      .foundation-section-tabs,
      .school-tabs,
      #root .bg-gray-100.p-1\.5.rounded-xl.inline-flex.gap-1,
      #root
        .grid.grid-cols-2.gap-1\.5.bg-white.border.border-gray-100.rounded-2xl.p-1\.5.shadow-sm,
      #root .mb-4.bg-gray-100.rounded-2xl.p-1\.5.flex.gap-1
    )
    > button,
  .portal-guru-category-tabs-v133 > button{min-height:45px!important;min-width:118px;padding:9px 13px!important;border-left-width:7px!important;border-radius:15px;font-size:11px;}}
html.ios-ui-v152{--ios-font:"Outfit",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--ios-ink:var(--tone-17231f,#17231f);--ios-muted:#6d7c77;--ios-green:var(--theme-primary,#078ee8);--ios-line:rgba(35, 60, 74, 0.1);--ios-glass:var(--tone-97b9b30d,rgba(255, 255, 255, 0.76));--ios-glass-strong:var(--tone-8fafb20d,rgba(255, 255, 255, 0.9));--ios-shadow:0 18px 48px rgba(22, 48, 62, 0.105);--ios-shadow-hover:0 27px 66px rgba(22, 48, 62, 0.16);color:var(--ios-ink);background:#f3f8f6;color-scheme:light;font-family:var(--ios-font);font-synthesis:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;}
html.ios-ui-v152 *,
html.ios-ui-v152 *::before,
html.ios-ui-v152 *::after{box-sizing:border-box;}
html.ios-ui-v152 body{min-height:100dvh;color:var(--ios-ink);background:radial-gradient(circle at 4% -8%, rgba(93, 170, 214, 0.16), transparent 31rem),
    radial-gradient(circle at 102% 96%, rgba(142, 175, 255, 0.12), transparent 34rem),
    linear-gradient(155deg, var(--tone-f8fbfa,#f8fbfa) 0%, #f2f7f5 52%, var(--tone-f7faff,#f7faff) 100%);font-family:var(--ios-font);-webkit-tap-highlight-color:transparent;}
html.ios-ui-v152 body::before{position:fixed;z-index:-1;inset:0;background:radial-gradient(circle at 22% 16%, var(--tone-9203fef5,rgba(255, 255, 255, 0.95)), transparent 22%),
    radial-gradient(circle at 84% 40%, rgba(123, 188, 224, 0.08), transparent 26%);content:"";pointer-events:none;}
html.ios-ui-v152 :is(h1, h2, h3, h4, h5, h6){font-family:var(--ios-font);font-weight:800;letter-spacing:-0.035em;text-wrap:balance;}
html.ios-ui-v152 :is(p, li, td, label, small){letter-spacing:-0.008em;}
html.ios-ui-v152 :is(.app, .owner-app, .foundation-app) main,
html.ios-ui-v152 :is(.workspace, .content){min-width:0;}
html.ios-ui-v152 :is(aside, .sidebar){border-color:rgba(35, 60, 74, 0.09);box-shadow:14px 0 46px rgba(26, 51, 65, 0.055),
    inset -1px 0 rgba(255, 255, 255, 0.48);}
html.ios-ui-v152 :is(.app, .owner-app, .foundation-app) main > header,
html.ios-ui-v152 :is(.topbar, .legal-nav){border-color:rgba(35, 60, 74, 0.085);background-color:rgba(255, 255, 255, 0.74);box-shadow:0 10px 34px rgba(30, 55, 69, 0.055);}
html.ios-ui-v152 :is(
  .card,
  .panel,
  .stat,
  .summary-card,
  .record-card,
  .school-card,
  .login-card,
  .auth-card,
  .legal-card,
  .legal-hero,
  .modal-card,
  .profile-menu,
  [class*="preview-card"],
  [class*="profile-card"]
){border-color:var(--ios-line);background-color:var(--ios-glass);box-shadow:var(--ios-shadow),
    inset 0 1px 0 var(--tone-ac114555,rgba(255, 255, 255, 0.88));}
html.ios-ui-v152 :is(
  .card,
  .stat,
  .summary-card,
  .record-card,
  .school-card,
  [class*="preview-card"],
  [class*="profile-card"]
){transform:translateZ(0);}
html.ios-ui-v152 :is(.panel-head, .panel-body, .record-meta div, .school-meta div){border-color:rgba(35, 60, 74, 0.075);}
html.ios-ui-v152 :is(.record-meta div, .school-meta div){background-color:rgba(243, 248, 246, 0.78);box-shadow:inset 0 1px rgba(255, 255, 255, 0.8);}
html.ios-ui-v152 :is(
  input:not([type="button"]):not([type="submit"]):not([type="reset"]),
  select,
  textarea
){min-height:44px;border-color:rgba(49, 73, 86, 0.14);border-radius:var(--radius-lg,14px);color:var(--ios-ink);background-color:rgba(248, 251, 250, 0.88);box-shadow:inset 0 1px 2px rgba(20, 39, 49, 0.035),
    0 1px 0 var(--tone-8fafb20d,rgba(255, 255, 255, 0.9));font-family:var(--ios-font);}
html.ios-ui-v152 :is(
  input:not([type="button"]):not([type="submit"]):not([type="reset"]),
  select,
  textarea
):focus{border-color:color-mix(in srgb, var(--ios-green) 65%, white);outline:none;background-color:rgba(255, 255, 255, 0.97);box-shadow:0 0 0 4px rgba(7, 94, 140, 0.11),
    0 9px 24px rgba(7, 94, 140, 0.07);}
html.ios-ui-v152 :is(input, textarea)::placeholder{color:#9aa8a3;}
html.ios-ui-v152 :is(.table-wrap, [class*="table-wrap"]){border:1px solid rgba(35, 60, 74, 0.075);border-radius:17px;background:rgba(255, 255, 255, 0.5);box-shadow:inset 0 1px rgba(255, 255, 255, 0.85);overscroll-behavior-inline:contain;scrollbar-width:thin;scrollbar-color:rgba(7, 94, 140, 0.28) transparent;}
html.ios-ui-v152 table{border-spacing:0;}
html.ios-ui-v152 th{border-color:rgba(35, 60, 74, 0.07);background-color:rgba(242, 248, 246, 0.86);font-weight:800;letter-spacing:0.055em;}
html.ios-ui-v152 td{border-color:rgba(35, 60, 74, 0.065);}
html.ios-ui-v152 tbody tr:hover{background-color:rgba(7, 94, 140, 0.035);}

html.ios-ui-v152 :is(.badge, [class*="badge"], [class*="status"]):not(button):not(a){border:1px solid rgba(255, 255, 255, 0.62);box-shadow:0 5px 14px rgba(26, 51, 65, 0.055),
    inset 0 1px rgba(255, 255, 255, 0.75);}
html.ios-ui-v152 :is(.login, .owner-login, .auth-screen){isolation:isolate;overflow:hidden;background:radial-gradient(circle at 16% 8%, rgba(103, 177, 218, 0.22), transparent 31rem),
    radial-gradient(circle at 91% 89%, rgba(130, 163, 255, 0.15), transparent 30rem),
    linear-gradient(145deg, var(--theme-surface-elevated,#fbfdff), #edf5ff);}
html.ios-ui-v152 :is(.login-card, .auth-card){position:relative;border:1px solid var(--tone-2e595cc8,rgba(255, 255, 255, 0.84));background-color:var(--tone-923a33a9,rgba(255, 255, 255, 0.82));box-shadow:0 34px 90px rgba(19, 44, 58, 0.14),
    inset 0 1px var(--tone-431952a6,rgba(255, 255, 255, 0.96));}
html.ios-ui-v152 .legal-nav{position:sticky;z-index:30;top:14px;width:min(1120px, calc(100% - 28px));margin:14px auto 0;border:1px solid rgba(255, 255, 255, 0.72);border-radius:var(--radius-3xl,20px);box-shadow:0 18px 50px rgba(24, 48, 62, 0.09),
    inset 0 1px var(--tone-8fafb20d,rgba(255, 255, 255, 0.9));}
html.ios-ui-v152 .legal-wrap{width:min(980px, calc(100% - 28px));}
html.ios-ui-v152 .legal-hero{position:relative;overflow:hidden;border:1px solid var(--tone-923a33a9,rgba(255, 255, 255, 0.82));background:radial-gradient(circle at 94% 4%, rgba(115, 184, 223, 0.24), transparent 30%),
    linear-gradient(145deg, rgba(255, 255, 255, 0.93), rgba(242, 250, 247, 0.82));}
html.ios-ui-v152 .legal-hero::after{position:absolute;top:-62px;right:-48px;width:180px;height:180px;border:1px solid rgba(7, 94, 140, 0.12);border-radius:50%;content:"";box-shadow:0 0 0 26px rgba(7, 94, 140, 0.035),
    0 0 0 54px rgba(7, 94, 140, 0.02);pointer-events:none;}
html.ios-ui-v152 .legal-meta span{border:1px solid rgba(7, 94, 140, 0.09);border-radius:var(--radius-pill,999px);background:rgba(234, 248, 243, 0.78);box-shadow:inset 0 1px var(--tone-2e595cc8,rgba(255, 255, 255, 0.84));}
html.ios-ui-v152 .legal-card{border:1px solid var(--tone-2e595cc8,rgba(255, 255, 255, 0.84));background-color:var(--tone-2e595cc8,rgba(255, 255, 255, 0.84));}
html.ios-ui-v152 .legal-card h2{position:relative;padding-left:16px;}
html.ios-ui-v152 .legal-card h2::before{position:absolute;top:0.18em;bottom:0.18em;left:0;width:4px;border-radius:99px;background:linear-gradient(#117cb7, #06537c);box-shadow:0 4px 12px rgba(0, 52, 125, 0.20);content:"";}
html.ios-ui-v152 .notice{border:1px solid rgba(7, 94, 140, 0.09);background-color:rgba(231, 248, 242, 0.72);box-shadow:inset 0 1px var(--tone-09fa70dc,rgba(255, 255, 255, 0.78));}
html.ios-ui-v152 *{scrollbar-width:thin;scrollbar-color:rgba(7, 94, 140, 0.3) transparent;}
html.ios-ui-v152 *::-webkit-scrollbar{width:8px;height:8px;}
html.ios-ui-v152 *::-webkit-scrollbar-track{background:transparent;}
html.ios-ui-v152 *::-webkit-scrollbar-thumb{border:2px solid transparent;border-radius:var(--radius-pill,999px);background:rgba(7, 94, 140, 0.28);background-clip:padding-box;}
@media (hover: hover) and (pointer: fine){html.ios-ui-v152 :is(
    .card,
    .stat,
    .summary-card,
    .record-card,
    .school-card,
    [class*="preview-card"],
    [class*="profile-card"]
  ):hover{border-color:rgba(7, 94, 140, 0.15);background-color:var(--tone-8fafb20d,rgba(255, 255, 255, 0.9));box-shadow:var(--ios-shadow-hover),
      inset 0 1px 0 var(--tone-9203fef5,rgba(255, 255, 255, 0.95));transform:translateY(-3px) perspective(900px) rotateX(0.35deg);}}
@media (max-width: 760px){html.ios-ui-v152 :is(aside, .sidebar){box-shadow:0 -14px 38px rgba(22, 48, 62, 0.1),
      inset 0 1px rgba(255, 255, 255, 0.28);}
html.ios-ui-v152 :is(.app, .owner-app, .foundation-app) main > header,
  html.ios-ui-v152 .topbar{padding-right:max(14px, env(safe-area-inset-right));padding-left:max(14px, env(safe-area-inset-left));}
html.ios-ui-v152 :is(.content, section){max-width:100%;}
html.ios-ui-v152 :is(.card, .panel, .summary-card, .record-card, .school-card){border-radius:19px;}

html.ios-ui-v152 .legal-nav{top:8px;width:calc(100% - 16px);margin-top:8px;border-radius:17px;}
html.ios-ui-v152 .legal-wrap{width:calc(100% - 20px);}
html.ios-ui-v152 .legal-hero,
  html.ios-ui-v152 .legal-card{border-radius:var(--radius-5xl,24px);}
html.ios-ui-v152 :is(
    input:not([type="button"]):not([type="submit"]):not([type="reset"]),
    select,
    textarea
  ){min-height:46px;font-size:max(16px, 1em);}}
html.ios-ui-v152 #root{min-height:100dvh;background:radial-gradient(circle at 8% 6%, rgba(92, 176, 223, 0.1), transparent 30rem),
    radial-gradient(circle at 94% 36%, rgba(112, 151, 255, 0.08), transparent 31rem);}
html.ios-ui-v152 #root header{border-color:rgba(28, 54, 68, 0.08);background-color:var(--tone-09fa70dc,rgba(255, 255, 255, 0.78));box-shadow:0 12px 36px rgba(29, 53, 66, 0.06),
    inset 0 -1px var(--tone-09fa70dc,rgba(255, 255, 255, 0.78));}
html.ios-ui-v152 #root :is(div, section, article)[class*="bg-white"][class*="rounded-"][class*="border"]{border-color:rgba(37, 62, 76, 0.09);background-color:rgba(255, 255, 255, 0.79);box-shadow:0 16px 42px rgba(24, 46, 58, 0.075),
    inset 0 1px 0 rgba(255, 255, 255, 0.92);}
html.ios-ui-v152
  #root
  :is(div, section, article)[class*="shadow-2xl"][class*="rounded-"]:not(.toast):not(
    [class*="-toast"]
  ):not([id$="Toast"]):not(#toast):not(
    [class*="fixed"][class*="top-"][class*="left-1/2"]
  ){}
html.ios-ui-v152 .portal-guru-dashboard > .portal-school-report-gradient{isolation:isolate;min-height:172px;border:1px solid rgba(255, 255, 255, 0.28);background:radial-gradient(circle at 88% 6%, rgba(150, 217, 255, 0.35), transparent 27%),
    radial-gradient(circle at 66% 115%, rgba(53, 160, 220, 0.28), transparent 38%),
    linear-gradient(132deg, #062b3d 0%, #08537a 43%, #0c6fa7 72%, #3792c7 100%);box-shadow:0 28px 70px rgba(4, 61, 92, 0.25),
    inset 0 1px 0 rgba(255, 255, 255, 0.26),
    inset 0 -1px 0 rgba(2, 50, 75, 0.32);transform:translateZ(0);}
html.ios-ui-v152 .portal-guru-dashboard > .portal-school-report-gradient::before{position:absolute;z-index:-1;inset:0;background:linear-gradient(112deg, rgba(255, 255, 255, 0.12), transparent 35%),
    repeating-linear-gradient(
      118deg,
      transparent 0,
      transparent 28px,
      rgba(255, 255, 255, 0.025) 29px,
      rgba(255, 255, 255, 0.025) 30px
    );content:"";pointer-events:none;}
html.ios-ui-v152 .portal-guru-dashboard > .portal-school-report-gradient::after{position:absolute;z-index:-1;top:-96px;right:-58px;width:270px;height:270px;border:1px solid rgba(255, 255, 255, 0.13);border-radius:50%;box-shadow:0 0 0 34px rgba(255, 255, 255, 0.035),
    0 0 0 70px rgba(255, 255, 255, 0.018);content:"";pointer-events:none;}
html.ios-ui-v152 .portal-guru-dashboard > .portal-school-report-gradient h2{color:var(--theme-surface,#fff);font-weight:800;letter-spacing:-0.045em;text-shadow:0 3px 20px rgba(0, 31, 48, 0.23);}
html.ios-ui-v152 .portal-guru-dashboard > .portal-school-report-gradient p{color:rgba(239, 255, 250, 0.9);text-shadow:0 2px 13px rgba(0, 35, 54, 0.18);}
html.ios-ui-v152
  .portal-guru-dashboard
  > .portal-school-report-gradient
  > div
  > div[class*="bg-white"]{position:relative;min-width:190px;overflow:hidden;border:1px solid rgba(0, 111, 209, 0.18);color:#07405f;background:#f9fffc;box-shadow:0 14px 30px rgba(0, 53, 81, 0.14),
    0 3px 8px rgba(0, 42, 65, 0.06),
    inset 0 1px 0 var(--theme-surface,#fff);}
html.ios-ui-v152
  .portal-guru-dashboard
  > .portal-school-report-gradient
  > div
  > div[class*="bg-white"]::after{position:absolute;top:14px;right:15px;width:8px;height:8px;border:2px solid var(--theme-primary-border,#d9e8f5);border-radius:50%;background:var(--theme-primary,#078ee8);box-shadow:0 0 0 5px var(--tone-cb4dd011);content:"";}
html.ios-ui-v152
  .portal-guru-dashboard
  > .portal-school-report-gradient
  > div
  > div[class*="bg-white"]:hover{border-color:rgba(0, 111, 209, 0.28);box-shadow:0 19px 38px rgba(0, 53, 81, 0.18),
    0 5px 12px rgba(0, 42, 65, 0.07),
    inset 0 1px 0 var(--theme-surface,#fff);transform:translateY(-3px);}
html.ios-ui-v152
  .portal-guru-dashboard
  > .portal-school-report-gradient
  > div
  > div[class*="bg-white"]
  :is(p, span, strong, time){color:#07405f;opacity:1!important;text-shadow:none;}
html.ios-ui-v152
  .portal-guru-dashboard
  > .portal-school-report-gradient
  > div
  > div[class*="bg-white"]
  :is(p, span):not([class*="text-2xl"]):not([class*="text-3xl"]){color:#577c91;}
html.ios-ui-v152
  .portal-guru-dashboard
  > .grid.grid-cols-2[class~="md:grid-cols-4"]
  > div{--metric-accent:#3b82f6;position:relative;isolation:isolate;min-height:178px;overflow:hidden;border:1px solid var(--tone-ac114555,rgba(255, 255, 255, 0.88));background:radial-gradient(circle at 95% 0%, color-mix(in srgb, var(--metric-accent) 12%, transparent), transparent 43%),
    var(--tone-923a33a9,rgba(255, 255, 255, 0.82));box-shadow:0 18px 44px color-mix(in srgb, var(--metric-accent) 9%, transparent),
    0 5px 14px rgba(20, 42, 54, 0.045),
    inset 0 1px 0 var(--tone-431952a6,rgba(255, 255, 255, 0.96));transform:translateZ(0);}
html.ios-ui-v152
  .portal-guru-dashboard
  > .grid.grid-cols-2[class~="md:grid-cols-4"]
  > div:nth-child(2){--metric-accent:#a855f7;}
html.ios-ui-v152
  .portal-guru-dashboard
  > .grid.grid-cols-2[class~="md:grid-cols-4"]
  > div:nth-child(3){--metric-accent:var(--theme-primary,#078ee8);}
html.ios-ui-v152
  .portal-guru-dashboard
  > .grid.grid-cols-2[class~="md:grid-cols-4"]
  > div:nth-child(4){--metric-accent:var(--theme-warning,#f59e0b);}
html.ios-ui-v152
  .portal-guru-dashboard
  > .grid.grid-cols-2[class~="md:grid-cols-4"]
  > div::after{position:absolute;z-index:-1;top:-42px;right:-36px;width:112px;height:112px;border:1px solid color-mix(in srgb, var(--metric-accent) 14%, transparent);border-radius:50%;box-shadow:0 0 0 19px color-mix(in srgb, var(--metric-accent) 3%, transparent);content:"";pointer-events:none;}
html.ios-ui-v152
  .portal-guru-dashboard
  > .grid.grid-cols-2[class~="md:grid-cols-4"]
  > div
  > div:first-child{border:1px solid var(--tone-ac114555,rgba(255, 255, 255, 0.88));box-shadow:0 13px 28px color-mix(in srgb, var(--metric-accent) 14%, transparent),
    inset 0 1px 0 rgba(255, 255, 255, 0.86);transform:perspective(320px) rotateX(5deg) rotateY(-7deg);}
html.ios-ui-v152
  .portal-guru-dashboard
  > .grid.grid-cols-2[class~="md:grid-cols-4"]
  > div
  p.text-3xl{color:#15231f;font-weight:800;letter-spacing:-0.05em;}
html.ios-ui-v152
  .portal-guru-dashboard
  > .grid.grid-cols-2[class~="md:grid-cols-4"]
  > div
  p.text-xs{color:#66766f;font-weight:700;}
html.ios-ui-v152 .portal-teacher-today-schedule{border-color:rgba(33, 59, 73, 0.09);background-color:rgba(255, 255, 255, 0.8);box-shadow:0 20px 52px rgba(21, 45, 58, 0.09),
    inset 0 1px 0 rgba(255, 255, 255, 0.93);}
html.ios-ui-v152 .portal-teacher-schedule-card{border-color:rgba(35, 60, 74, 0.07);}
@media (hover: hover) and (pointer: fine){html.ios-ui-v152 #root :is(div, section, article)[class*="bg-white"][class*="rounded-"][class*="border"]:hover{border-color:rgba(7, 94, 140, 0.16);}
html.ios-ui-v152 .portal-guru-dashboard > .portal-school-report-gradient:hover{box-shadow:0 34px 82px rgba(4, 61, 92, 0.31),
      inset 0 1px 0 rgba(255, 255, 255, 0.3);transform:translateY(-2px);}
html.ios-ui-v152
    .portal-guru-dashboard
    > .grid.grid-cols-2[class~="md:grid-cols-4"]
    > div:hover{border-color:color-mix(in srgb, var(--metric-accent) 22%, white);box-shadow:0 25px 58px color-mix(in srgb, var(--metric-accent) 15%, transparent),
      inset 0 1px 0 var(--theme-surface,#fff);transform:translateY(-5px) perspective(900px) rotateX(0.7deg);}
html.ios-ui-v152
    .portal-guru-dashboard
    > .grid.grid-cols-2[class~="md:grid-cols-4"]
    > div:hover
    > div:first-child{transform:translateY(-2px) perspective(320px) rotateX(1deg) rotateY(7deg) scale(1.04);}
html.ios-ui-v152 .portal-teacher-schedule-card:hover{background-color:rgba(235, 249, 244, 0.72);transform:translateX(3px);}}
@media (max-width: 700px){html.ios-ui-v152 .portal-guru-dashboard > .portal-school-report-gradient{min-height:0;padding:23px!important;border-radius:27px;}
html.ios-ui-v152 .portal-guru-dashboard > .portal-school-report-gradient > .flex{align-items:stretch;flex-direction:column;gap:18px;}
html.ios-ui-v152
    .portal-guru-dashboard
    > .portal-school-report-gradient
    > div
    > div[class*="bg-white"]{width:min(100%, 220px);min-width:0;align-self:flex-start;text-align:left;}
html.ios-ui-v152
    .portal-guru-dashboard
    > .grid.grid-cols-2[class~="md:grid-cols-4"]
    > div{min-height:156px;padding:17px!important;border-radius:var(--radius-4xl,22px);}}
@media (max-width: 700px){html.ios-ui-v152
    #root
    :is(
      .portal-form-modal,
      div[class*="fixed"][class*="inset-0"][class*="backdrop-blur"][class*="overflow-y-auto"]
    ){z-index:2147483500!important;width:100%!important;height:100dvh!important;min-height:100dvh!important;padding:max(12px, env(safe-area-inset-top))
      max(12px, env(safe-area-inset-right))
      max(18px, env(safe-area-inset-bottom))
      max(12px, env(safe-area-inset-left))!important;align-items:flex-start!important;overflow-x:hidden!important;overflow-y:auto!important;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;}
html.ios-ui-v152
    #root
    :is(
      .portal-form-modal,
      div[class*="fixed"][class*="inset-0"][class*="backdrop-blur"][class*="overflow-y-auto"]
    )
    > :is(.portal-form-dialog, div[class*="max-w-"][class*="rounded-"]){width:100%!important;max-height:calc(
      100dvh - max(24px, env(safe-area-inset-top)) -
        max(30px, env(safe-area-inset-bottom))
    )!important;margin-block:auto!important;flex:0 0 auto;overflow-x:hidden!important;overflow-y:auto!important;scroll-padding-bottom:calc(28px + env(safe-area-inset-bottom));overscroll-behavior:contain;-webkit-overflow-scrolling:touch;}
html.ios-ui-v152
    #root
    :is(
      .portal-form-modal,
      div[class*="fixed"][class*="inset-0"][class*="backdrop-blur"][class*="overflow-y-auto"]
    )
    > :is(.portal-form-dialog, div[class*="max-w-"][class*="rounded-"])
    > :last-child{margin-bottom:max(10px, env(safe-area-inset-bottom));}}
html[data-portal-brand] img.portal-role-logo{display:block;border:0;background:transparent;}
html[data-portal-brand] img.portal-role-logo--wordmark,
html[data-portal-brand] img.portal-role-logo--icon{width:min(245px, 100%)!important;height:auto!important;min-width:0!important;max-width:100%!important;max-height:64px!important;aspect-ratio:auto!important;border-radius:0;object-fit:contain!important;object-position:left center!important;box-shadow:none;flex:0 1 auto!important;}
html[data-portal-brand] .portal-role-brand-copy--hidden{display:none!important;}



html[data-portal-brand] .auth-brand > div,
html[data-portal-brand] .login-head > div,
html[data-portal-brand] :is(.brand, .unified-brand) > b,
html[data-portal-brand] :is(.brand, .unified-brand) > div > b{display:none!important;}
html[data-portal-brand]
  :is(
    .portal-role-brand-lockup--explicit,
    .portal-role-brand-lockup--brand,
    .portal-role-brand-lockup--auth,
    .portal-role-brand-lockup--react,
    .portal-role-brand-lockup--generic,
    .portal-role-brand-lockup--standalone
  ){min-width:0;}
html[data-portal-brand] .portal-role-brand-lockup--auth{width:100%;justify-content:center;}
html[data-portal-brand]
  .portal-role-brand-lockup--auth
  > img.portal-role-logo--wordmark{width:min(350px, 86vw)!important;max-height:78px!important;margin-inline:auto!important;object-position:center!important;}
html[data-portal-brand] .portal-role-brand-lockup--auth > div{display:none!important;}
html[data-portal-brand]
  [data-portal-brand-lockup="auth"]
  > img.portal-role-logo--wordmark{width:min(350px, 86vw)!important;max-height:78px!important;margin-inline:auto!important;object-position:center!important;}
html[data-portal-brand]
  :is(.brand, .unified-brand).portal-role-brand-lockup--brand,
html[data-portal-brand]
  :is(.brand, .unified-brand)[data-portal-brand-lockup="brand"]{width:100%;min-width:0;justify-content:flex-start;}
html[data-portal-brand]
  .unified-brand:is(
    .portal-role-brand-lockup--brand,
    [data-portal-brand-lockup="brand"]
  ){display:flex!important;flex-direction:column;align-items:flex-start;gap:5px!important;}
html[data-portal-brand]
  .unified-brand:is(
    .portal-role-brand-lockup--brand,
    [data-portal-brand-lockup="brand"]
  )
  > small{padding-inline-start:2px;}
html[data-portal-brand] .portal-role-brand-lockup--brand > b,
html[data-portal-brand] .portal-role-brand-lockup--brand > div > b,
html[data-portal-brand] [data-portal-brand-lockup="brand"] > b,
html[data-portal-brand] [data-portal-brand-lockup="brand"] > div > b{display:none!important;}
html[data-portal-brand]
  .portal-role-brand-lockup--brand
  > img.portal-role-logo--wordmark{width:min(235px, 100%)!important;max-height:54px!important;flex:0 1 235px!important;}
html[data-portal-brand]
  [data-portal-brand-lockup="brand"]
  > img.portal-role-logo--wordmark{width:min(235px, 100%)!important;max-height:54px!important;flex:0 1 235px!important;}
html[data-portal-brand] .portal-role-brand-lockup--react > h1,
html[data-portal-brand] .portal-role-brand-lockup--react > h2,
html[data-portal-brand] .portal-role-brand-lockup--generic > h1,
html[data-portal-brand] .portal-role-brand-lockup--generic > h2,
html[data-portal-brand] .portal-role-brand-lockup--generic > b,
html[data-portal-brand] .portal-role-brand-lockup--generic > strong{display:none!important;}
html[data-portal-brand]
  :is(
    .portal-role-brand-lockup--react,
    .portal-role-brand-lockup--generic,
    .portal-role-brand-lockup--standalone
  )
  > img.portal-role-logo--wordmark{width:min(245px, 70vw)!important;max-height:58px!important;margin-block:0!important;}
html[data-portal-brand]
  header.portal-role-brand-lockup--react
  > img.portal-role-logo--wordmark{width:min(250px, 72vw)!important;max-height:62px!important;margin-inline:auto!important;}

@media (max-width: 767px){
html[data-portal-brand]
    :is(
      .portal-role-brand-lockup--react,
      .portal-role-brand-lockup--generic,
      .portal-role-brand-lockup--standalone
    )
    > img.portal-role-logo--wordmark{width:min(220px, 60vw)!important;max-height:52px!important;}
html[data-portal-brand]
    header.portal-role-brand-lockup--react
    > img.portal-role-logo--wordmark{width:min(220px, 60vw)!important;max-height:52px!important;}
}
@media (max-width: 900px), (pointer: coarse){input:not([type="hidden"]),
  textarea,
  select,
  [contenteditable="true"]{scroll-margin-top:calc(var(--portal-form-viewport-top) + 22px);scroll-margin-bottom:calc(
      var(--portal-form-keyboard-inset) + env(safe-area-inset-bottom) + 34px
    );}
.portal-mobile-auth-surface{box-sizing:border-box;min-height:var(--portal-form-visible-height)!important;overflow-x:hidden;overflow-y:auto;overscroll-behavior-y:contain;-webkit-overflow-scrolling:touch;touch-action:pan-y;}
.portal-mobile-page-scroll{min-height:0!important;overflow-x:hidden!important;overflow-y:auto!important;overscroll-behavior-y:contain;-webkit-overflow-scrolling:touch;touch-action:pan-y;}
html.portal-mobile-form-active .portal-mobile-page-scroll,
  html.portal-mobile-keyboard-open .portal-mobile-page-scroll{scroll-padding-top:max(20px, env(safe-area-inset-top));scroll-padding-bottom:max(76px, calc(env(safe-area-inset-bottom) + 48px));}
html.portal-mobile-keyboard-open .portal-mobile-auth-surface{height:var(--portal-form-visible-height)!important;min-height:0!important;padding-top:max(12px, env(safe-area-inset-top))!important;padding-bottom:max(72px, calc(env(safe-area-inset-bottom) + 44px))!important;align-items:flex-start!important;scroll-padding-top:max(18px, env(safe-area-inset-top));scroll-padding-bottom:max(36px, env(safe-area-inset-bottom));}
html.portal-mobile-keyboard-open .portal-mobile-form-overlay{box-sizing:border-box!important;inset:auto 0 auto 0!important;top:var(--portal-form-viewport-top)!important;width:100%!important;height:var(--portal-form-visible-height)!important;min-height:0!important;max-height:var(--portal-form-visible-height)!important;padding-top:max(10px, env(safe-area-inset-top))!important;padding-right:max(10px, env(safe-area-inset-right))!important;padding-bottom:max(34px, env(safe-area-inset-bottom))!important;padding-left:max(10px, env(safe-area-inset-left))!important;align-items:flex-start!important;justify-content:center!important;overflow-x:hidden!important;overflow-y:auto!important;scroll-padding-top:max(16px, env(safe-area-inset-top));scroll-padding-bottom:max(38px, env(safe-area-inset-bottom));overscroll-behavior-y:contain;-webkit-overflow-scrolling:touch;touch-action:pan-y;}
html.portal-mobile-keyboard-open .portal-mobile-form-dialog{box-sizing:border-box!important;width:min(100%, var(--portal-form-dialog-width, 680px))!important;height:auto!important;min-height:0!important;max-height:calc(var(--portal-form-visible-height) - 20px)!important;margin-top:0!important;margin-bottom:10px!important;flex:0 0 auto!important;overflow-x:hidden!important;overflow-y:auto!important;overscroll-behavior-y:contain;-webkit-overflow-scrolling:touch;touch-action:pan-y;scroll-padding-top:max(16px, env(safe-area-inset-top));scroll-padding-bottom:max(72px, calc(env(safe-area-inset-bottom) + 44px));scroll-margin-top:max(10px, env(safe-area-inset-top));scroll-margin-bottom:max(34px, env(safe-area-inset-bottom));}
html.portal-mobile-keyboard-open .portal-mobile-form-dialog > form,
  html.portal-mobile-keyboard-open form.portal-mobile-form{height:auto!important;min-height:0!important;max-height:none!important;overflow:visible!important;padding-bottom:max(52px, calc(env(safe-area-inset-bottom) + 30px));}
html.portal-mobile-keyboard-open .portal-mobile-scroll-region{scroll-padding-top:max(16px, env(safe-area-inset-top));scroll-padding-bottom:max(38px, env(safe-area-inset-bottom));overscroll-behavior-y:contain;-webkit-overflow-scrolling:touch;}}
@media (max-width: 900px) and (max-height: 680px), (max-width: 900px) and (pointer: coarse){html.portal-mobile-keyboard-open .portal-mobile-form-dialog{margin-top:0!important;}}
html[data-portal-brand="yayasan"]{font-family:"Outfit",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;}
html[data-portal-brand="yayasan"] body,
html[data-portal-brand="yayasan"] button,
html[data-portal-brand="yayasan"] input,
html[data-portal-brand="yayasan"] select,
html[data-portal-brand="yayasan"] textarea{font-family:inherit;}
html[data-portal-brand="yayasan"] :is(h1, h2, h3, h4, b, strong){font-weight:800;}
html[data-portal-brand="yayasan"] :is(p, li, label, td, small, input, select, textarea, button){line-height:1.55;}
html[data-portal-brand="yayasan"] .foundation-logo-only{display:flex!important;width:100%;min-height:69px;align-items:center;justify-content:center!important;margin:0;padding:2px 7px 20px!important;}
html[data-portal-brand="yayasan"] .foundation-logo-only > img.portal-role-logo--wordmark{width:min(205px, 100%)!important;height:auto!important;max-height:58px!important;object-position:center!important;flex:0 1 auto!important;}
html[data-portal-brand="yayasan"] .foundation-app{grid-template-columns:264px minmax(0, 1fr);}
html[data-portal-brand="yayasan"] .foundation-app #foundationNav button{width:min(214px, 100%)!important;font-weight:700;letter-spacing:-0.012em;}
html[data-portal-brand="yayasan"] .foundation-app header{height:88px;padding-inline:30px;}
html[data-portal-brand="yayasan"] .foundation-app header > div:first-child > small{font-weight:800;letter-spacing:0.11em;}
html[data-portal-brand="yayasan"] .foundation-app header h2{margin-top:4px;line-height:1.15;}
html[data-portal-brand="yayasan"] .content{max-width:1520px;padding:30px;}
html[data-portal-brand="yayasan"] .hero-panel{padding:29px 30px;}
html[data-portal-brand="yayasan"] .hero-panel > span{font-weight:800;letter-spacing:0.13em;}
html[data-portal-brand="yayasan"] .hero-panel h1{margin-block:8px;}
html[data-portal-brand="yayasan"] .hero-panel p{max-width:940px;}
html[data-portal-brand="yayasan"] .stat{min-height:108px;padding:20px;}
html[data-portal-brand="yayasan"] .stat small{font-weight:600;}
html[data-portal-brand="yayasan"] .stat b{margin-top:7px;}
html[data-portal-brand="yayasan"] .panel-head{padding:21px 22px;}
html[data-portal-brand="yayasan"] .panel-head h3{line-height:1.3;}
html[data-portal-brand="yayasan"] .panel-body{padding:22px;}
html[data-portal-brand="yayasan"] .content label{font-weight:700;}
html[data-portal-brand="yayasan"] .content input,
html[data-portal-brand="yayasan"] .content select,
html[data-portal-brand="yayasan"] .content textarea{line-height:1.45;}
html[data-portal-brand="yayasan"] .content :is(button.primary, button.secondary, button.warning, button.danger, button.ghost),
html[data-portal-brand="yayasan"] .actions button{font-weight:700;}
html[data-portal-brand="yayasan"] .table-wrap th{font-weight:700;}
html[data-portal-brand="yayasan"] .table-wrap td small{display:block;margin-top:4px;}
html[data-portal-brand="yayasan"] .badge{font-weight:800;letter-spacing:0.025em;}

html[data-portal-brand="yayasan"] :is(
  .premium-strip,
  .school-capacity,
  .foundation-notices,
  .foundation-attendance-summary,
  .payroll-template-list,
  .credential-preview
) :is(p, span, small){font-size:11.5px;line-height:1.6;}
html[data-portal-brand="yayasan"] .modal-card{width:min(680px, calc(100vw - 32px));padding:28px;}
html[data-portal-brand="yayasan"] .profile-wrap{position:relative;display:flex;align-items:center;gap:10px;}
html[data-portal-brand="yayasan"] #foundationProfileButton.profile{display:grid;grid-template-columns:minmax(0, auto) 42px 18px;align-items:center;gap:10px;min-height:56px;padding:6px 9px 6px 15px;border:1px solid rgba(0, 52, 125, 0.12);border-radius:var(--radius-2xl,18px);outline:none;color:#182932;background:var(--tone-923a33a9,rgba(255, 255, 255, 0.82));box-shadow:0 9px 25px rgba(20, 49, 65, 0.08),
    inset 0 1px 0 var(--tone-5098ef65);text-align:right;cursor:pointer;}
html[data-portal-brand="yayasan"] #foundationProfileButton.profile:hover,
html[data-portal-brand="yayasan"] #foundationProfileButton.profile[aria-expanded="true"]{border-color:rgba(0, 111, 209, 0.28);box-shadow:0 14px 32px rgba(20, 49, 65, 0.12),
    0 0 0 4px rgba(7, 142, 232, 0.07);transform:translateY(-1px);}
html[data-portal-brand="yayasan"] #foundationProfileButton.profile > div{display:grid;min-width:0;}
html[data-portal-brand="yayasan"] #foundationProfileButton.profile b{overflow:hidden;max-width:190px;line-height:1.3;text-overflow:ellipsis;white-space:nowrap;}
html[data-portal-brand="yayasan"] #foundationProfileButton.profile small{overflow:hidden;max-width:190px;margin-top:2px;color:#73837e;line-height:1.35;text-overflow:ellipsis;white-space:nowrap;}
html[data-portal-brand="yayasan"] #foundationProfileButton.profile > #foundationAvatar{display:grid;width:42px;height:42px;place-items:center;border:3px solid var(--theme-surface,#fff);border-radius:var(--radius-lg,14px);color:var(--theme-surface,#fff);background:linear-gradient(145deg, var(--theme-primary,#078ee8), #085076);box-shadow:0 7px 17px rgba(0, 111, 209, 0.23);font-size:14px;font-weight:800;}
html[data-portal-brand="yayasan"] .profile-chevron{width:17px;height:17px;fill:none;stroke:#7b8985;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;}
html[data-portal-brand="yayasan"] #foundationProfileButton[aria-expanded="true"] .profile-chevron{transform:rotate(180deg);}
html[data-portal-brand="yayasan"] #foundationProfileMenu.profile-menu{position:absolute;z-index:150;top:calc(100% + 12px);right:0;width:min(340px, calc(100vw - 26px));padding:16px;border:1px solid var(--tone-5098ef65);border-radius:var(--radius-5xl,24px);color:#172b26;background:radial-gradient(circle at 100% 0%, rgba(111, 184, 224, 0.18), transparent 36%),
    var(--tone-5098ef65);box-shadow:0 28px 70px rgba(14, 36, 48, 0.2),
    inset 0 1px 0 var(--tone-431952a6,rgba(255, 255, 255, 0.96));text-align:left;}
html[data-portal-brand="yayasan"] .profile-menu-head{display:grid;grid-template-columns:54px minmax(0, 1fr);align-items:center;gap:12px;padding:3px 3px 15px;border-bottom:1px solid rgba(24, 58, 77, 0.08);}
html[data-portal-brand="yayasan"] .profile-menu-head > span{display:grid;width:52px;height:52px;place-items:center;border:3px solid var(--theme-surface,#fff);border-radius:17px;color:var(--theme-surface,#fff);background:linear-gradient(145deg, #1980bb, #085076);box-shadow:0 9px 22px rgba(0, 111, 209, 0.24);font-size:16px;font-weight:800;}
html[data-portal-brand="yayasan"] .profile-menu-head > div{display:grid;min-width:0;}
html[data-portal-brand="yayasan"] .profile-menu-head small{color:var(--theme-primary-mid,#1264ad);font-weight:800;letter-spacing:0.09em;}
html[data-portal-brand="yayasan"] .profile-menu-head b{overflow:hidden;margin-top:4px;line-height:1.35;text-overflow:ellipsis;white-space:nowrap;}
html[data-portal-brand="yayasan"] .profile-menu-head em{overflow:hidden;margin-top:2px;color:#71807b;font-style:normal;line-height:1.4;text-overflow:ellipsis;white-space:nowrap;}
html[data-portal-brand="yayasan"] .profile-menu-status{display:flex;align-items:center;gap:8px;margin:12px 0;padding:10px 12px;border-radius:13px;color:var(--tone-084e74);background:#ebfaf5;font-weight:700;}
html[data-portal-brand="yayasan"] .profile-menu-status i{width:7px;height:7px;border-radius:50%;background:var(--theme-primary,#078ee8);box-shadow:0 0 0 5px var(--tone-cb4dd011);}
html[data-portal-brand="yayasan"] #foundationProfileMenu > button{display:flex;width:100%;align-items:center;gap:10px;margin-top:7px;padding:10px 12px;border:0;border-radius:13px;color:#424f56;background:#f5f9f7;font-weight:700;text-align:left;cursor:pointer;}
html[data-portal-brand="yayasan"] #foundationProfileMenu > button > span{display:grid;width:25px;height:25px;place-items:center;border-radius:var(--radius-sm,8px);color:var(--tone-084e74);background:#e7f7f1;font-size:12px;}
html[data-portal-brand="yayasan"] #foundationProfileMenu > button:hover{color:var(--tone-084e74);background:#edf9f5;transform:translateX(2px);}
html[data-portal-brand="yayasan"] #foundationProfileMenu > button.profile-menu-logout{border:1px solid var(--theme-danger-light,#ef4444);border-left-width:2px;color:var(--theme-danger,#b91c1c);background:var(--tone-fff7f7,#fff7f7);box-shadow:inset 3px 0 0 var(--theme-danger-light,#ef4444), 0 7px 16px rgba(127,29,29,.09);}
html[data-portal-brand="yayasan"] #foundationProfileMenu > button.profile-menu-logout > span{color:var(--theme-danger,#b91c1c);background:var(--tone-fee2e2,#fee2e2);}
html[data-portal-brand="yayasan"] #foundationProfileMenu > button.profile-menu-logout:hover{border-color:var(--theme-danger,#b91c1c);color:var(--theme-surface,#fff);background:var(--theme-danger-light,#ef4444);box-shadow:inset 3px 0 0 var(--tone-991b1b,#991b1b), 0 10px 22px rgba(239,68,68,.20);transform:none;}
html[data-portal-brand="yayasan"] #foundationProfileMenu > button.profile-menu-logout:hover > span{color:var(--theme-surface,#fff);background:rgba(153,27,27,.36);}
html[data-portal-brand="yayasan"] .foundation-profile-panel{overflow:hidden;border-radius:28px;}
html[data-portal-brand="yayasan"] .foundation-profile-hero{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:152px;padding:29px 31px;border-bottom:1px solid rgba(255, 255, 255, 0.16);color:var(--theme-surface,#fff);background:radial-gradient(circle at 92% 12%, rgba(150, 210, 245, 0.24), transparent 31%),
    linear-gradient(135deg, var(--theme-primary-darkest,#0a2342), var(--theme-primary,#078ee8) 58%, var(--theme-primary-mid,#1264ad));}
html[data-portal-brand="yayasan"] .foundation-profile-kicker{color:#bddff4;font-weight:800;letter-spacing:0.14em;}
html[data-portal-brand="yayasan"] .foundation-profile-heading h3{margin:7px 0 6px;line-height:1.15;}
html[data-portal-brand="yayasan"] .foundation-profile-heading p{max-width:700px;margin:0;color:#e4fbf3;}
html[data-portal-brand="yayasan"] .foundation-profile-badge{display:inline-flex;flex:0 0 auto;align-items:center;gap:8px;min-height:39px;padding:0 13px;border:1px solid rgba(255, 255, 255, 0.25);border-radius:var(--radius-pill,999px);background:rgba(255, 255, 255, 0.13);font-weight:700;}
html[data-portal-brand="yayasan"] .foundation-profile-badge i{width:7px;height:7px;border:2px solid rgba(255, 255, 255, 0.85);border-radius:50%;background:#64bef2;}
html[data-portal-brand="yayasan"] .foundation-profile-body{padding:25px;}
html[data-portal-brand="yayasan"] .foundation-profile-form{gap:18px;}
html[data-portal-brand="yayasan"] .foundation-logo-upload{display:grid;grid-template-columns:122px minmax(0, 1fr);gap:20px;padding:21px;border:1px solid rgba(27, 70, 94, 0.09);border-radius:var(--radius-4xl,22px);background:radial-gradient(circle at 100% 0%, rgba(113, 186, 226, 0.14), transparent 36%),
    #f6faff;}
html[data-portal-brand="yayasan"] .foundation-logo-frame{display:grid;width:116px;height:116px;place-items:center;border:1px solid rgba(25, 65, 87, 0.09);border-radius:25px;background:var(--theme-surface,#fff);box-shadow:0 14px 32px rgba(24, 55, 73, 0.09),
    inset 0 1px 0 var(--theme-surface,#fff);}
html[data-portal-brand="yayasan"] .foundation-logo-frame img{width:94px;height:94px;padding:5px;border:0;border-radius:var(--radius-2xl,18px);background:transparent;box-shadow:none;object-fit:contain;}
html[data-portal-brand="yayasan"] .foundation-logo-upload > label{display:flex;align-items:flex-start;justify-content:center;flex-direction:column;gap:5px;margin:0;}
html[data-portal-brand="yayasan"] .foundation-field-title{color:#15303f;font-weight:800;}
html[data-portal-brand="yayasan"] .foundation-logo-upload label > small{max-width:510px;color:#73837e;}
html[data-portal-brand="yayasan"] .foundation-file-button{display:inline-flex;align-items:center;margin-top:7px;padding:0 13px;border:1px solid rgba(0, 111, 209, 0.16);border-radius:var(--radius-md-lg,12px);color:var(--tone-084e74);background:#eaf8f3;font-weight:700;}
html[data-portal-brand="yayasan"] .foundation-logo-upload input[type="file"]{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0, 0, 0, 0);border:0;white-space:nowrap;}
html[data-portal-brand="yayasan"] .foundation-form-section{display:grid;gap:16px;padding:21px;border:1px solid rgba(27, 70, 94, 0.09);border-radius:var(--radius-4xl,22px);background:rgba(255, 255, 255, 0.74);box-shadow:0 10px 28px rgba(20, 49, 65, 0.035);}
html[data-portal-brand="yayasan"] .foundation-form-section-head{display:grid;grid-template-columns:38px 1fr;align-items:center;gap:11px;padding-bottom:14px;border-bottom:1px solid rgba(27, 70, 94, 0.07);}
html[data-portal-brand="yayasan"] .foundation-form-section-head > span{display:grid;width:36px;height:36px;place-items:center;border-radius:var(--radius-md-lg,12px);color:var(--tone-084e74);background:#e7f7f1;font-weight:800;}
html[data-portal-brand="yayasan"] .foundation-form-section-head h4{margin:0;color:#172f3c;}
html[data-portal-brand="yayasan"] .foundation-form-section-head p{margin:3px 0 0;color:#7a8884;}
html[data-portal-brand="yayasan"] .foundation-form-section textarea{resize:vertical;}
html[data-portal-brand="yayasan"] .foundation-profile-actions{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:7px 2px 1px;}
html[data-portal-brand="yayasan"] .foundation-profile-actions > span{display:inline-flex;align-items:center;gap:8px;color:#70807b;font-weight:600;}
html[data-portal-brand="yayasan"] .foundation-profile-actions > span i{width:7px;height:7px;border-radius:50%;background:var(--theme-primary,#078ee8);box-shadow:0 0 0 5px rgba(7, 142, 232, 0.09);}
html[data-portal-brand="yayasan"] .foundation-profile-actions > button{min-width:210px;min-height:48px!important;}
html[data-portal-brand="yayasan"] .login-methods b{font-weight:800;}
@media (max-width: 1000px){html[data-portal-brand="yayasan"] .foundation-app{grid-template-columns:250px minmax(0, 1fr);}
html[data-portal-brand="yayasan"] #foundationProfileButton.profile b,
  html[data-portal-brand="yayasan"] #foundationProfileButton.profile small{max-width:140px;}}
@media (max-width: 760px){html[data-portal-brand="yayasan"] .foundation-app{display:block;padding-bottom:calc(78px + env(safe-area-inset-bottom));}
html[data-portal-brand="yayasan"] .foundation-app header{padding-inline:14px;}


html[data-portal-brand="yayasan"] #foundationProfileButton.profile{display:grid;grid-template-columns:40px;min-height:46px;padding:3px;border-radius:15px;}
html[data-portal-brand="yayasan"] #foundationProfileButton.profile > div,
  html[data-portal-brand="yayasan"] #foundationProfileButton.profile > .profile-chevron{display:none;}
html[data-portal-brand="yayasan"] #foundationProfileButton.profile > #foundationAvatar{width:40px;height:40px;border-radius:13px;}
html[data-portal-brand="yayasan"] #foundationProfileMenu.profile-menu{position:fixed;top:69px;right:10px;width:min(340px, calc(100vw - 20px));}
html[data-portal-brand="yayasan"] .content{padding:18px 13px 24px;}
html[data-portal-brand="yayasan"] .hero-panel{padding:22px;}


html[data-portal-brand="yayasan"] .panel-head{padding:18px;}

html[data-portal-brand="yayasan"] .panel-body{padding:17px;}

html[data-portal-brand="yayasan"] .foundation-profile-hero{align-items:flex-start;flex-direction:column;min-height:0;padding:24px 20px;}

html[data-portal-brand="yayasan"] .foundation-profile-body{padding:15px;}
html[data-portal-brand="yayasan"] .foundation-logo-upload{grid-template-columns:88px minmax(0, 1fr);gap:14px;padding:16px;}
html[data-portal-brand="yayasan"] .foundation-logo-frame{width:84px;height:84px;border-radius:var(--radius-3xl,20px);}
html[data-portal-brand="yayasan"] .foundation-logo-frame img{width:70px;height:70px;}
html[data-portal-brand="yayasan"] .foundation-form-section{padding:17px;}
html[data-portal-brand="yayasan"] .foundation-profile-actions{align-items:stretch;flex-direction:column;}
html[data-portal-brand="yayasan"] .foundation-profile-actions > button{width:100%;}
html[data-portal-brand="yayasan"] .modal-card{width:100%;padding:24px 18px calc(24px + env(safe-area-inset-bottom));}}
@media (max-width: 420px){html[data-portal-brand="yayasan"] .foundation-logo-upload{grid-template-columns:1fr;justify-items:center;text-align:center;}
html[data-portal-brand="yayasan"] .foundation-logo-upload > label{align-items:center;}
html[data-portal-brand="yayasan"] .foundation-profile-badge{min-height:34px;}}

body,
button,
input,
select,
textarea{font-family:var(--readable-font);font-kerning:normal;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;}
body{font-size:16px;line-height:1.6;letter-spacing:0;}
h1,
h2,
h3,
h4,
h5,
h6{line-height:1.24;letter-spacing:-0.032em;text-wrap:balance;}
p{font-size:16px;line-height:1.72;letter-spacing:0;text-wrap:pretty;}
small{font-size:13px;line-height:1.5;letter-spacing:0;}
button,
[role="button"],
input,
select,
textarea{font-size:15px;line-height:1.4;letter-spacing:0;}
label{font-size:14px;line-height:1.5;letter-spacing:0;}
table th{font-size:13px;line-height:1.45;letter-spacing:0.025em;}
table td{font-size:15px;line-height:1.55;letter-spacing:0;}
nav a,
nav button,
.nav-button,
.unified-group button,
.unified-bottom button{font-size:14px;line-height:1.35;letter-spacing:0;}
.eyebrow,
[class*="eyebrow"],
[class*="kicker"],
.unified-group em{font-size:13px;line-height:1.4;}
.badge,
[class*="-badge"],
[class*="-status"]{font-size:12px;line-height:1.4;letter-spacing:0.02em;}
.muted,
[class*="-subtitle"],
[class*="-description"],
[class*="-caption"],
[class*="-helper"],
[class*="-hint"],
[class*="-note"]{font-size:14px;line-height:1.6;letter-spacing:0;}
.panel-head p,
.page-head p,
.record-card p,
.modal-card p,
.login-card p{font-size:16px;line-height:1.68;}
.notice,
.toast,
.form-error,
.empty{font-size:15px;line-height:1.65;}
.actions button,
.table-actions button,
.modal-close,
.close{font-size:14px;}
.landing-readable-v168 .nav-menu a{font-size:15px;}
.landing-readable-v168 .nav-cta,
.landing-readable-v168 .button{font-size:15px;}
.landing-readable-v168 .hero-copy > p,
.landing-readable-v168 .hero > p{font-size:18px;line-height:1.75;}
.landing-readable-v168 .section-heading > p,
.landing-readable-v168 .section-head p,
.landing-readable-v168 .partner-copy p,
.landing-readable-v168 .partners-pane > p,
.landing-readable-v168 .contact-pane > p,
.landing-readable-v168 .contact-card p{font-size:16px;line-height:1.72;}
.landing-readable-v168 .feature-card p,
.landing-readable-v168 .portal-card-copy p,
.landing-readable-v168 .portal-compact-copy p,
.landing-readable-v168 .network-copy p{font-size:15px;line-height:1.65;}
.landing-readable-v168 .feature-card small,
.landing-readable-v168 .portal-card-copy > small,
.landing-readable-v168 .portal-compact-copy small,
.landing-readable-v168 .modal-portal-copy small,
.landing-readable-v168 .partner-logos figcaption{font-size:12px;line-height:1.5;}
.landing-readable-v168 .portal-status,
.landing-readable-v168 .portal-compact-status,
.landing-readable-v168 .network-dot{font-size:11px;}
.landing-readable-v168 .portal-enter,
.landing-readable-v168 .network-button{font-size:13px;}
.landing-readable-v168 .portal-modal-heading p{font-size:15px;}
.landing-readable-v168 .modal-portal-copy em,
.landing-readable-v168 .portal-modal-footer > span,
.landing-readable-v168 .portal-modal-footer > a{font-size:13px;line-height:1.5;}
.landing-readable-v168 .contact-buttons small,
.landing-readable-v168 .contact-action small{font-size:12px;}
.landing-readable-v168 .contact-buttons strong,
.landing-readable-v168 .contact-action b{font-size:14px;}
.landing-readable-v168 .site-footer p,
.landing-readable-v168 .footer-links a{font-size:14px;line-height:1.65;}
.landing-readable-v168 .window-brand,
.landing-readable-v168 .window-actions b,
.landing-readable-v168 .dash-heading small,
.landing-readable-v168 .chart-title small,
.landing-readable-v168 .ring-card small,
.landing-readable-v168 .metric-row small,
.landing-readable-v168 .ring-card > span,
.landing-readable-v168 .mini-panel small,
.landing-readable-v168 .insight-note small,
.landing-readable-v168 .mini-ui-top b,
.landing-readable-v168 .mini-ui-row > span small{font-size:11px;}
.landing-readable-v168 .dash-rail span,
.landing-readable-v168 .metric-row i,
.landing-readable-v168 .metric-row strong,
.landing-readable-v168 .chart-title strong,
.landing-readable-v168 .chart-title em,
.landing-readable-v168 .mini-panel strong,
.landing-readable-v168 .mini-panel em,
.landing-readable-v168 .trust-row span,
.landing-readable-v168 .trust-row i,
.landing-readable-v168 .insight-top span,
.landing-readable-v168 .insight-top b,
.landing-readable-v168 .insight-stat span,
.landing-readable-v168 .insight-note > span,
.landing-readable-v168 .insight-note b,
.landing-readable-v168 .avatar-stack i,
.landing-readable-v168 .avatar-stack span,
.landing-readable-v168 .growth-line span,
.landing-readable-v168 .mini-ui-top,
.landing-readable-v168 .mini-ui-row > i,
.landing-readable-v168 .mini-ui-row > span b,
.landing-readable-v168 .mini-ui-row > em{font-size:12px;line-height:1.4;}
.landing-readable-v168 .download-copy > p{font-size:16px;line-height:1.72;}
.landing-readable-v168 .download-platform small,
.landing-readable-v168 .download-main-button small,
.landing-readable-v168 .download-choice small,
.landing-readable-v168 .download-modal-status small{font-size:12px;}
.landing-readable-v168 .download-platform strong,
.landing-readable-v168 .download-main-button strong,
.landing-readable-v168 .download-modal-status strong{font-size:14px;}
.landing-readable-v168 .download-note,
.landing-readable-v168 .download-choice em{font-size:13px;line-height:1.5;}
.landing-readable-v168 .device-float{font-size:12px;}
.landing-readable-v168 .download-modal-heading p{font-size:15px;}
.topbar small,
.owner-profile small,
.summary-card small,
.panel-head p,
.record-meta small,
.record-meta b,
.data-table td small,
.document-name small,
.admin small,
header small{font-size:13px;line-height:1.5;}
.record-card h3,
.panel-head h3,
.toolbar h3{font-size:18px;line-height:1.35;}
.record-meta b,
.owner-profile b{font-size:14px;}
.text-xs{font-size:13px;line-height:1.5;}
.text-sm{font-size:15px;line-height:1.55;}
@media (max-width: 760px){body{font-size:16px;}
p{font-size:15px;line-height:1.68;}
nav a,
  nav button,
  .nav-button,
  .unified-bottom button{font-size:12px;line-height:1.25;}
.landing-readable-v168 .hero-copy > p,
  .landing-readable-v168 .hero > p{font-size:16px;line-height:1.68;}
.landing-readable-v168 .section-heading > p,
  .landing-readable-v168 .section-head p,
  .landing-readable-v168 .feature-card p,
  .landing-readable-v168 .portal-card-copy p,
  .landing-readable-v168 .portal-compact-copy p,
  .landing-readable-v168 .network-copy p,
  .landing-readable-v168 .download-copy > p{font-size:15px;line-height:1.65;}
table th{font-size:12px;}
table td{font-size:14px;}}


@media (max-width: 760px){html[data-portal-brand="yayasan"]
    .foundation-app:not(.hidden)
    > aside
    > .foundation-logo-only{display:none!important;}
html[data-portal-brand="yayasan"] body:has(.foundation-app:not(.hidden)){width:100%!important;height:var(--portal-viewport-height, 100dvh)!important;min-height:0!important;overflow:hidden!important;}
html[data-portal-brand="yayasan"] .foundation-app:not(.hidden){display:block!important;width:100%!important;height:var(--portal-viewport-height, 100dvh)!important;min-height:0!important;max-height:var(--portal-viewport-height, 100dvh)!important;padding-bottom:0!important;overflow:hidden!important;}
html[data-portal-brand="yayasan"] .foundation-app:not(.hidden) > main{display:flex!important;width:100%!important;height:100%!important;min-height:0!important;flex-direction:column!important;overflow:hidden!important;}
html[data-portal-brand="yayasan"]
    .foundation-app:not(.hidden)
    > main
    > header{flex:0 0 auto!important;}
html[data-portal-brand="yayasan"]
    .foundation-app:not(.hidden)
    > main
    > .content{flex:1 1 auto!important;min-height:0!important;padding-bottom:calc(104px + env(safe-area-inset-bottom))!important;overflow-x:hidden!important;overflow-y:auto!important;overscroll-behavior-y:contain;-webkit-overflow-scrolling:touch;touch-action:pan-y;scroll-padding-bottom:calc(104px + env(safe-area-inset-bottom));}
html[data-portal-brand="yayasan"] .foundation-app:not(.hidden) > aside{display:block!important;height:calc(78px + env(safe-area-inset-bottom))!important;min-height:calc(78px + env(safe-area-inset-bottom))!important;padding:6px 0 calc(6px + env(safe-area-inset-bottom))!important;}
html[data-portal-brand="yayasan"]
    .foundation-app:not(.hidden)
    #foundationNav{display:flex!important;width:100%!important;min-width:0!important;align-items:center!important;gap:0!important;padding:0 4px!important;overflow-x:auto!important;overflow-y:hidden!important;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;scroll-snap-type:x proximity;scrollbar-width:none;touch-action:pan-x;}
html[data-portal-brand="yayasan"]
    .foundation-app:not(.hidden)
    #foundationNav::-webkit-scrollbar{display:none;}
html[data-portal-brand="yayasan"]
    .foundation-app:not(.hidden)
    #foundationNav
    > button{flex:0 0 68px!important;scroll-snap-align:center;}}


html[data-portal-brand="yayasan"] .foundation-app{font-size:16px;}
html[data-portal-brand="yayasan"] .foundation-app #foundationNav button{min-height:57px!important;font-size:15px;line-height:1.35;}
html[data-portal-brand="yayasan"] .foundation-app header > div:first-child > small{font-size:12px;line-height:1.4;}
html[data-portal-brand="yayasan"] .foundation-app header h2{font-size:26px;}
html[data-portal-brand="yayasan"] .hero-panel > span{font-size:12.5px;line-height:1.45;}
html[data-portal-brand="yayasan"] .hero-panel h1{font-size:clamp(32px, 3vw, 40px);}
html[data-portal-brand="yayasan"] .hero-panel p{font-size:16px;line-height:1.7;}
html[data-portal-brand="yayasan"] .stat small{font-size:13.5px;}
html[data-portal-brand="yayasan"] .stat b{font-size:30px;}
html[data-portal-brand="yayasan"] .panel-head h3{font-size:19px;}
html[data-portal-brand="yayasan"] .panel-head p,
html[data-portal-brand="yayasan"] .content p{font-size:15px;line-height:1.68;}
html[data-portal-brand="yayasan"] .content :is(label, input, select, textarea){font-size:15px;}
html[data-portal-brand="yayasan"] .content :is(input, select){min-height:44px;}
html[data-portal-brand="yayasan"] .content small{font-size:13px;line-height:1.55;}
html[data-portal-brand="yayasan"] .content :is(
  button.primary,
  button.secondary,
  button.warning,
  button.danger,
  button.ghost
),
html[data-portal-brand="yayasan"] .actions button,
html[data-portal-brand="yayasan"] .foundation-section-tabs button{min-height:42px;font-size:14px;line-height:1.4;}
html[data-portal-brand="yayasan"] .table-wrap th{padding:13px 14px;font-size:13px;line-height:1.45;}
html[data-portal-brand="yayasan"] .table-wrap td{padding:14px;font-size:15px;line-height:1.55;}
html[data-portal-brand="yayasan"] .table-wrap td small{font-size:13px;}
html[data-portal-brand="yayasan"] .badge,
html[data-portal-brand="yayasan"] .duty-request-count,
html[data-portal-brand="yayasan"] .duty-attendance-recorded{font-size:12px;line-height:1.4;}
html[data-portal-brand="yayasan"] :is(.school-card, .school-list-row) h3{font-size:17px;}
html[data-portal-brand="yayasan"] :is(.school-card, .school-list-row) p,
html[data-portal-brand="yayasan"] .school-list-primary p{font-size:14px;}
html[data-portal-brand="yayasan"] :is(.school-meta, .school-list-facts) small{font-size:12px;}
html[data-portal-brand="yayasan"] :is(.school-meta, .school-list-facts) b{font-size:14px;}
html[data-portal-brand="yayasan"] :is(
  .premium-strip,
  .school-capacity,
  .school-slot-info,
  .foundation-notices,
  .foundation-attendance-summary,
  .payroll-template-list,
  .credential-preview
) :is(p, span, small){font-size:13px;line-height:1.6;}
html[data-portal-brand="yayasan"] .modal-card h2{font-size:26px;}
html[data-portal-brand="yayasan"] .modal-card :is(p, li){font-size:15px;line-height:1.68;}
html[data-portal-brand="yayasan"] .modal-card label{font-size:14px;}
html[data-portal-brand="yayasan"] .modal-card :is(input, select, textarea){min-height:44px;font-size:15px;}
html[data-portal-brand="yayasan"] #foundationProfileButton.profile b{font-size:14.5px;}
html[data-portal-brand="yayasan"] #foundationProfileButton.profile small{font-size:12.5px;}
html[data-portal-brand="yayasan"] .profile-menu-head small{font-size:11px;}
html[data-portal-brand="yayasan"] .profile-menu-head b{font-size:15px;}
html[data-portal-brand="yayasan"] .profile-menu-head em{font-size:12.5px;}
html[data-portal-brand="yayasan"] .profile-menu-status{font-size:13px;}
html[data-portal-brand="yayasan"] #foundationProfileMenu > button{min-height:48px;font-size:14px;}
html[data-portal-brand="yayasan"] .foundation-profile-kicker{font-size:12px;}
html[data-portal-brand="yayasan"] .foundation-profile-heading h3{font-size:31px;}
html[data-portal-brand="yayasan"] .foundation-profile-heading p{font-size:15px;}
html[data-portal-brand="yayasan"] .foundation-profile-badge,
html[data-portal-brand="yayasan"] .foundation-profile-actions > span{font-size:13px;}
html[data-portal-brand="yayasan"] .foundation-field-title,
html[data-portal-brand="yayasan"] .foundation-form-section-head h4{font-size:17px;}
html[data-portal-brand="yayasan"] .foundation-logo-upload label > small,
html[data-portal-brand="yayasan"] .foundation-form-section-head p{font-size:13px;}
html[data-portal-brand="yayasan"] .foundation-file-button{min-height:42px;font-size:13px;}
html[data-portal-brand="yayasan"] .foundation-form-section-head > span{font-size:12px;}
html[data-portal-brand="yayasan"] .foundation-profile-actions > button{font-size:14px;}
html[data-portal-brand="yayasan"] .back-link{font-size:14px;}
html[data-portal-brand="yayasan"] .auth-card > p{font-size:16px;}
html[data-portal-brand="yayasan"] .login-methods b{font-size:15px;}
html[data-portal-brand="yayasan"] .login-methods span{font-size:13px;}
html[data-portal-brand="yayasan"] .auth-card :is(label, input, button, small){font-size:14px;}
html[data-portal-brand="yayasan"] .auth-card input{min-height:46px;font-size:15px;}
html[data-portal-brand="yayasan"] .auth-card button{min-height:44px;}
html[data-portal-brand="yayasan"] .credential-title span,
html[data-portal-brand="yayasan"] .credential-grid small,
html[data-portal-brand="yayasan"] .credential-password small{font-size:12px;}
html[data-portal-brand="yayasan"] :is(.credential-notice, .login-guide){font-size:14px;}
html[data-portal-brand="yayasan"] .credential-grid b,
html[data-portal-brand="yayasan"] .credential-account-head small,
html[data-portal-brand="yayasan"] .credential-password{font-size:13px;}
html[data-portal-brand="yayasan"] .credential-password code{font-size:17px;}
html[data-portal-brand="yayasan"] .contact-box{font-size:13px;}
html[data-portal-brand="yayasan"] .premium-strip b,
html[data-portal-brand="yayasan"] .foundation-notices article b,
html[data-portal-brand="yayasan"] .payroll-workflow b{font-size:15px;}
html[data-portal-brand="yayasan"] .pricing-grid small,
html[data-portal-brand="yayasan"] .quote-box span,
html[data-portal-brand="yayasan"] .payroll-template-card-head span,
html[data-portal-brand="yayasan"] .foundation-qris-head span{font-size:12px;}
html[data-portal-brand="yayasan"] .pricing-grid span,
html[data-portal-brand="yayasan"] .payroll-workflow span,
html[data-portal-brand="yayasan"] .payroll-template-empty,
html[data-portal-brand="yayasan"] .payroll-template-card p,
html[data-portal-brand="yayasan"] .payroll-template-components small,
html[data-portal-brand="yayasan"] .payroll-template-components b,
html[data-portal-brand="yayasan"] .foundation-qris-payment ol{font-size:13px;}
html[data-portal-brand="yayasan"] .payroll-template-card h4{font-size:17px;}
html[data-portal-brand="yayasan"] .payroll-template-modal h3{font-size:16px;}
html[data-portal-brand="yayasan"] .foundation-notices-head b{font-size:16px;}
html[data-portal-brand="yayasan"] .foundation-notices-head span,
html[data-portal-brand="yayasan"] .foundation-notices article small{font-size:12.5px;}
html[data-portal-brand="yayasan"] .foundation-notices article p{font-size:14px;}
html[data-portal-brand="yayasan"] :is(.form-error, .form-progress, .toast, .loading b){font-size:14px;}
@media (max-width: 760px){html[data-portal-brand="yayasan"] .foundation-app{font-size:15px;}
html[data-portal-brand="yayasan"] .foundation-app header{height:78px;}
html[data-portal-brand="yayasan"] .foundation-app header > div:first-child > small{font-size:10.5px;}
html[data-portal-brand="yayasan"] .foundation-app header h2{font-size:21px;}
html[data-portal-brand="yayasan"] .hero-panel h1{font-size:30px;}
html[data-portal-brand="yayasan"] .hero-panel p{font-size:15px;}
html[data-portal-brand="yayasan"] .panel-head h3{font-size:18px;}
html[data-portal-brand="yayasan"] .foundation-app aside nav button span{font-size:10.5px;line-height:1.15;text-overflow:clip!important;white-space:normal!important;}
html[data-portal-brand="yayasan"] .foundation-profile-heading h3{font-size:27px;}
html[data-portal-brand="yayasan"] .content small{font-size:12.5px;}
html[data-portal-brand="yayasan"] .table-wrap td{font-size:14px;}
html[data-portal-brand="yayasan"] .foundation-app:not(.hidden) > aside{height:calc(88px + env(safe-area-inset-bottom))!important;min-height:calc(88px + env(safe-area-inset-bottom))!important;}
html[data-portal-brand="yayasan"] .foundation-app:not(.hidden) #foundationNav{height:70px!important;}
html[data-portal-brand="yayasan"] .foundation-app:not(.hidden) #foundationNav > button{flex-basis:76px!important;width:76px!important;min-width:76px!important;max-width:76px!important;height:68px!important;min-height:68px!important;}}
:is(
  .portal-nav-desktop > button,
  .app #groupNav > button,
  .owner-app #ownerNav > button,
  .foundation-app #foundationNav > button
){font-family:var(--portal-menu-font);font-size:var(--portal-menu-size-desktop);font-weight:600;font-style:normal;font-kerning:normal;font-optical-sizing:auto;font-synthesis:none;font-feature-settings:"kern" 1,
    "liga" 1,
    "calt" 1;letter-spacing:0.006em;line-height:1.32;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;}
:is(
  .portal-nav-desktop > button,
  .app #groupNav > button,
  .owner-app #ownerNav > button,
  .foundation-app #foundationNav > button
).active,
.portal-nav-desktop > button:is(
  .bg-blue-500,
  .bg-blue-50,
  .text-blue-500
){font-weight:700;}
:is(
  .portal-nav-desktop > button,
  .app #groupNav > button,
  .owner-app #ownerNav > button,
  .foundation-app #foundationNav > button
) span{font:inherit;letter-spacing:inherit;}
:is(
  .app .subnav > button,
  .portal-guru-category-tabs-v133 > button,
  [role="tab"]
){font-family:var(--portal-menu-font);font-size:var(--portal-menu-size-secondary);font-weight:600;font-kerning:normal;font-optical-sizing:auto;letter-spacing:0.004em;line-height:1.3;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;}
:is(
  .app .subnav > button,
  .portal-guru-category-tabs-v133 > button,
  [role="tab"]
).active,
:is(
  .app .subnav > button,
  .portal-guru-category-tabs-v133 > button,
  [role="tab"]
)[aria-selected="true"]{font-weight:700;}
.portal-card :is(h2, .enter){font-family:var(--portal-menu-font);font-kerning:normal;font-optical-sizing:auto;letter-spacing:-0.012em;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;}
.portal-card h2{font-weight:700;}
.portal-card .enter{font-size:13px;font-weight:600;}
@media (max-width: 850px){:is(
    .portal-nav-mobile > button,
    body > #groupNav.admin-mobile-dock > button,
    .owner-app #ownerNav > button,
    .foundation-app #foundationNav > button
  ){font-family:var(--portal-menu-font);font-size:var(--portal-menu-size-mobile);font-weight:600;font-kerning:normal;font-optical-sizing:auto;font-synthesis:none;letter-spacing:0;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;}
:is(
    .portal-nav-mobile > button,
    body > #groupNav.admin-mobile-dock > button,
    .owner-app #ownerNav > button,
    .foundation-app #foundationNav > button
  ) span{font-family:var(--portal-menu-font);font-size:var(--portal-menu-size-mobile);font-weight:600;line-height:1.18;letter-spacing:0;}
:is(
    .portal-nav-mobile > button,
    body > #groupNav.admin-mobile-dock > button,
    .owner-app #ownerNav > button,
    .foundation-app #foundationNav > button
  ).active span{font-weight:700;}
:is(
    .app .subnav > button,
    .portal-guru-category-tabs-v133 > button,
    [role="tab"]
  ){font-size:12px;}}
:is(#modal,#ownerModal,#foundationModal).modal,
.eskul-student-modal,
.student-id-card-modal,
.teacher-qr-modal,
.teacher-student-scan-modal,
.employee-id-card-modal,
.employee-attendance-v126-modal,
.employee-accreditation-v128-modal,
.portal-student-preview-v190{background-color:rgba(18,29,36,.5);}
:is(#modal,#ownerModal,#foundationModal) .modal-card,
.eskul-student-modal-card,
.student-id-card-dialog,
.teacher-qr-dialog,
.teacher-student-scan-dialog,
.employee-id-card-dialog,
.employee-attendance-v126-dialog,
.employee-accreditation-v128-dialog,
.portal-student-preview-card-v190{border:0;background-color:rgba(255,255,255,.98);box-shadow:0 28px 85px rgba(15,30,37,.25),0 2px 8px rgba(15,30,37,.07);-webkit-font-smoothing:antialiased;scrollbar-width:thin;scrollbar-color:rgba(92,111,103,.24) transparent;}
:is(#modal,#ownerModal,#foundationModal) .modal-card :is(input,select,textarea),
.eskul-student-modal-card :is(input,select,textarea),
.teacher-qr-dialog :is(input,select,textarea),
.teacher-student-scan-dialog :is(input,select,textarea),
.employee-attendance-v126-dialog :is(input,select,textarea),
.employee-accreditation-v128-dialog :is(input,select,textarea){border-color:#d9e2de;background-color:rgba(248,250,249,.96);box-shadow:inset 0 1px 1px rgba(32, 44, 52,.025);}
:is(#modal,#ownerModal,#foundationModal) .modal-card :is(input,select,textarea):focus,
.eskul-student-modal-card :is(input,select,textarea):focus,
.teacher-qr-dialog :is(input,select,textarea):focus,
.teacher-student-scan-dialog :is(input,select,textarea):focus,
.employee-attendance-v126-dialog :is(input,select,textarea):focus,
.employee-accreditation-v128-dialog :is(input,select,textarea):focus{border-color:#3688b8;background-color:var(--theme-surface,#fff);box-shadow:0 0 0 3px rgba(7, 142, 232, .11);outline:0;}
:is(#modal,#ownerModal,#foundationModal) .modal-card button,
.eskul-student-modal-card button,
.student-id-card-dialog button,
.teacher-qr-dialog button,
.teacher-student-scan-dialog button,
.employee-id-card-dialog button,
.employee-attendance-v126-dialog button,
.employee-accreditation-v128-dialog button,
.portal-student-preview-card-v190 button{-webkit-tap-highlight-color:transparent;}
:is(#modal,#ownerModal,#foundationModal) .modal-card button:active,
.eskul-student-modal-card button:active,
.student-id-card-dialog button:active,
.teacher-qr-dialog button:active,
.teacher-student-scan-dialog button:active,
.employee-id-card-dialog button:active,
.employee-attendance-v126-dialog button:active,
.employee-accreditation-v128-dialog button:active,
.portal-student-preview-card-v190 button:active{transform:scale(.975);}
@media (max-width:760px){:is(#modal,#ownerModal,#foundationModal).modal{align-items:flex-end!important;padding:8px 8px 0!important;}
:is(#modal,#ownerModal,#foundationModal) .modal-card{width:100%!important;max-width:100%!important;max-height:92dvh!important;padding:20px 17px calc(18px + env(safe-area-inset-bottom))!important;border-radius:var(--radius-5xl,24px) var(--radius-5xl,24px) 0 0;box-shadow:0 -18px 58px rgba(15,30,37,.2);}
:is(#modal,#ownerModal,#foundationModal) .modal-card::before,
  .eskul-student-modal-card::before{content:"";display:block;width:38px;height:5px;margin:-9px auto 12px;border-radius:var(--radius-pill,999px);background:#d8dfdc;}
.eskul-student-modal{align-items:flex-end!important;padding:8px 8px 0!important;}
.eskul-student-modal-card{width:100%!important;max-height:92dvh!important;padding-bottom:calc(18px + env(safe-area-inset-bottom))!important;}}
:is(#modal,#foundationModal) .modal-card:has(.ab-modal){width:min(980px,calc(100vw - 36px))!important;max-width:980px!important;padding:0!important;overflow:hidden!important;border-radius:var(--radius-5xl,24px);position:relative!important;}
#modal .modal-card:has(.ab-modal) #modalBody,
#foundationModal .modal-card:has(.ab-modal) #foundationModalBody{width:100%!important;min-width:0!important;max-width:100%!important;padding:28px 30px 30px!important;overflow-y:auto!important;overflow-x:hidden!important;overscroll-behavior:contain;scrollbar-gutter:stable;}
:is(#modal,#foundationModal) .modal-card:has(.ab-modal) > :is(.close,.modal-close){inset:14px 14px auto auto!important;display:grid!important;place-items:center!important;padding:0!important;border-radius:50%;opacity:1!important;visibility:visible!important;font-size:22px;line-height:1;}
:is(#modal,#foundationModal) .modal-card:has(.ab-modal) > :is(.close,.modal-close):hover{background:#d9f1e9;color:#072c3f;}
:is(#modal,#foundationModal) .ab-modal,
:is(#modal,#foundationModal) .ab-modal form,
:is(#modal,#foundationModal) .ab-modal :is(.grid,.ab-form-section,#abLines,#abAttachments){width:100%!important;min-width:0!important;max-width:100%!important;}
:is(#modal,#foundationModal) .ab-modal{max-width:none!important;overflow-x:hidden!important;}
:is(#modal,#foundationModal) .ab-modal-head,
:is(#modal,#foundationModal) .ab-detail-head{padding-right:54px!important;}
#modal .ab-modal #abBudgetForm > .grid.two{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
#modal .ab-modal #abBudgetForm > .grid.three{grid-template-columns:repeat(3,minmax(0,1fr))!important;}
:is(#modal,#foundationModal) .ab-modal :is(label,input,select,textarea,button),
:is(#modal,#foundationModal) .ab-modal .grid > *,
:is(#modal,#foundationModal) .ab-line > *,
:is(#modal,#foundationModal) .ab-attachment > *,
:is(#modal,#foundationModal) .ab-realization-row > *{min-width:0!important;max-width:100%;}
:is(#modal,#foundationModal) .ab-line{grid-template-columns:minmax(170px,2fr) minmax(72px,.65fr) minmax(78px,.7fr) minmax(110px,1fr) minmax(110px,1fr) 34px!important;}
@media (max-width:780px){:is(#modal,#foundationModal).modal{padding:8px 8px 0!important;}
:is(#modal,#foundationModal) .modal-card:has(.ab-modal){width:100%!important;max-width:100%!important;border-radius:var(--radius-5xl,24px) var(--radius-5xl,24px) 0 0;}
#modal .modal-card:has(.ab-modal) #modalBody,
  #foundationModal .modal-card:has(.ab-modal) #foundationModalBody{max-height:94dvh!important;padding:24px 17px calc(22px + env(safe-area-inset-bottom))!important;scrollbar-gutter:auto;}
:is(#modal,#foundationModal) .modal-card:has(.ab-modal) > :is(.close,.modal-close){position:fixed!important;}
:is(#modal,#foundationModal) .ab-modal-head,
  :is(#modal,#foundationModal) .ab-detail-head{padding-right:48px!important;}
#modal .ab-modal #abBudgetForm > :is(.grid.two,.grid.three){grid-template-columns:minmax(0,1fr)!important;gap:13px!important;}
:is(#modal,#foundationModal) .ab-line-head{display:none!important;}
:is(#modal,#foundationModal) .ab-line{grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;gap:8px!important;padding:12px!important;border:1px solid var(--tone-deebe7,#deebe7);border-radius:13px;background:var(--theme-surface,#fff);}
:is(#modal,#foundationModal) .ab-line input[name="description"]{grid-column:1/-1!important;}
:is(#modal,#foundationModal) .ab-line :is(b,.ab-remove){align-self:center;}
:is(#modal,#foundationModal) .ab-attachment{grid-template-columns:minmax(0,1fr) 34px!important;}
:is(#modal,#foundationModal) .ab-attachment input[name="attachmentUrl"]{grid-column:1/2!important;}}
@media (max-width:480px){:is(#modal,#foundationModal) .ab-line{grid-template-columns:minmax(0,1fr)!important;}
:is(#modal,#foundationModal) .ab-line > *{grid-column:1!important;}
:is(#modal,#foundationModal) .ab-form-actions{display:grid!important;grid-template-columns:1fr!important;}}
html,body,button,input,select,textarea{font-family:var(--portal-fast-font);}
html,body{text-rendering:optimizeSpeed;}
button,a,[role="button"],input,select,textarea{touch-action:manipulation;}
.modal:not(.hidden){background-color:rgba(18,29,36,.58);}
:is(.card,.panel,.school-list-row,.school-card,.ab-card,.eskul-program-card,
.document-item,.announcement,.notification-item):not(.modal-card){content-visibility:auto;contain-intrinsic-size:auto 180px;}
.loading:not(.hidden),
.portal-loading-v03,
.portal-loading-v03-content{contain:layout paint style;}
.loading span,
.portal-loading-v03-spinner,
[aria-busy="true"] :is(.spinner,[class*="spinner"]){transform:translateZ(0);}
@media (max-width:850px),(prefers-reduced-motion:reduce){.card:hover,.panel:hover,[class*="-card"]:hover{transform:none!important;}}
@media print{*{content-visibility:visible!important;}}
:is(#modal,#foundationModal) .modal-card:has(.ab-modal){border:0;background:var(--theme-surface,#fff);}
#modal .modal-card:has(.ab-modal) #modalBody,
#foundationModal .modal-card:has(.ab-modal) #foundationModalBody,
:is(#modal,#foundationModal) .ab-modal{background:var(--theme-surface,#fff);color:var(--tone-17231f,#17231f);}
:is(#modal,#foundationModal) .ab-modal{isolation:isolate;}
:is(#modal,#foundationModal) .ab-modal-head{margin:0 0 24px!important;padding:0 54px 20px 0!important;border:0;border-bottom:1px solid #edf2f0!important;}
:is(#modal,#foundationModal) .ab-modal-head .ab-kicker{display:inline-flex;align-items:center;min-height:24px;padding:4px 9px;border-radius:7px;background:#eaf8f3;color:var(--theme-primary-mid,#1264ad);font-size:10px;letter-spacing:.12em;}
:is(#modal,#foundationModal) .ab-modal-head h2{margin:10px 0 5px!important;color:var(--tone-17231f,#17231f);font-size:24px;line-height:1.2;letter-spacing:-.025em;}
:is(#modal,#foundationModal) .ab-modal-head p{max-width:680px;margin:0!important;color:#70807b;font-size:13px;line-height:1.6;}
:is(#modal,#foundationModal) .ab-modal form{gap:17px!important;}
:is(#modal,#foundationModal) .ab-modal form > label,
:is(#modal,#foundationModal) .ab-modal form .grid > label,
:is(#modal,#foundationModal) .ab-realization-row label{gap:7px!important;color:#4c5a62;font-size:11px;font-weight:750;}
:is(#modal,#foundationModal) .ab-modal form :is(input,select,textarea){min-height:47px;border:1px solid transparent;border-radius:var(--radius-md-lg,12px);background:#f4f8f6;color:var(--tone-17231f,#17231f);box-shadow:none;}
:is(#modal,#foundationModal) .ab-modal form textarea{min-height:96px;resize:vertical;}
:is(#modal,#foundationModal) .ab-modal form :is(input,select,textarea):hover{background:#f0f6f3;}
:is(#modal,#foundationModal) .ab-modal form :is(input,select,textarea):focus{border-color:#297baa;background:var(--theme-surface,#fff);box-shadow:0 0 0 3px rgba(17, 114, 169,.1);outline:0;}
:is(#modal,#foundationModal) .ab-form-section{margin:5px 0 0!important;padding:22px 0 5px!important;border:0;border-top:1px solid var(--tone-e8efec,#e8efec)!important;border-radius:0;background:transparent;box-shadow:none;}
:is(#modal,#foundationModal) .ab-section-title{align-items:center!important;margin:0 0 16px!important;}
:is(#modal,#foundationModal) .ab-section-title b{color:#212d34;font-size:14px;}
:is(#modal,#foundationModal) .ab-section-title small{margin-top:4px!important;color:#7b8d87;font-size:10px;}
:is(#modal,#foundationModal) .ab-section-title .secondary{min-height:40px;padding:9px 14px!important;border:0;border-radius:var(--radius-md,10px);background:#e8f8f2;color:var(--theme-primary-mid,#1264ad);box-shadow:none;}
:is(#modal,#foundationModal) .ab-line-head{padding:0 8px 7px!important;color:#81918c;font-size:9px;letter-spacing:.04em;}
:is(#modal,#foundationModal) .ab-line{margin:0!important;padding:8px!important;border:0;border-radius:var(--radius-lg,14px);background:var(--tone-f8fbfa,#f8fbfa);}
:is(#modal,#foundationModal) .ab-line :is(input,select){background:var(--theme-surface,#fff);border-color:#e5eeeb;}
:is(#modal,#foundationModal) .ab-line [data-line-total],
:is(#modal,#foundationModal) .ab-line [data-realized-total]{color:#26343c;font-size:11px;font-weight:750;}
:is(#modal,#foundationModal) .ab-remove,
:is(#modal,#foundationModal) .ab-remove-attachment{width:32px!important;min-width:32px!important;height:32px!important;padding:0!important;border:0;border-radius:9px;background:#fff0ef;color:#b83e38;box-shadow:none;}
:is(#modal,#foundationModal) .ab-grand-total{margin-top:13px!important;padding-top:14px!important;border:0;border-top:1px solid #e9efed!important;}
:is(#modal,#foundationModal) .ab-grand-total span{color:#505f67;font-size:12px;}
:is(#modal,#foundationModal) .ab-grand-total b{color:#075986;font-size:19px;}
:is(#modal,#foundationModal) .ab-attachment{padding:7px!important;border:0;border-radius:13px;background:var(--tone-f8fbfa,#f8fbfa);}
:is(#modal,#foundationModal) .ab-form-actions{z-index:5;bottom:-30px;padding:15px 30px calc(16px + env(safe-area-inset-bottom))!important;border-top:1px solid var(--tone-e8efec,#e8efec);background:rgba(255,255,255,.97);}
:is(#modal,#foundationModal) .ab-form-actions :is(.primary,.secondary,.danger){min-height:43px;padding:10px 17px!important;border:0;border-radius:11px;box-shadow:none;}
:is(#modal,#foundationModal) .ab-form-actions .primary{background:#07669b;}
:is(#modal,#foundationModal) .modal-card:has(.ab-modal) > :is(.close,.modal-close){width:36px!important;min-width:36px!important;height:36px!important;border:0;background:var(--tone-eef7f4,#eef7f4);color:#284859;box-shadow:none;}
@media (max-width:780px){:is(#modal,#foundationModal) .ab-modal-head{margin-bottom:20px!important;padding-right:46px!important;}
:is(#modal,#foundationModal) .ab-modal-head h2{font-size:21px;}
:is(#modal,#foundationModal) .ab-line{background:var(--tone-f7faff,#f7faff);}
:is(#modal,#foundationModal) .ab-form-actions{bottom:calc(-22px - env(safe-area-inset-bottom));padding:13px 17px calc(14px + env(safe-area-inset-bottom))!important;}}
body.admin-modal-layer-open,
body:has(#modal:not(.hidden) .ab-modal),
body:has(#foundationModal:not(.hidden) .ab-modal){overflow:hidden!important;}
:is(#modal,#foundationModal):has(.ab-modal){overflow:hidden!important;overscroll-behavior:none!important;touch-action:pan-y;}
:is(#modal,#foundationModal) .modal-card:has(.ab-modal){max-height:calc(100dvh - 28px)!important;overflow-x:hidden!important;overflow-y:auto!important;overscroll-behavior:contain!important;scrollbar-gutter:auto!important;-webkit-overflow-scrolling:touch;touch-action:pan-y;box-shadow:0 14px 38px rgba(16,42,35,.16);}
#modal .modal-card:has(.ab-modal) #modalBody,
#foundationModal .modal-card:has(.ab-modal) #foundationModalBody,
:is(#modal,#foundationModal) .ab-modal,
:is(#modal,#foundationModal) .ab-modal form,
:is(#modal,#foundationModal) .ab-modal .ab-form-section{height:auto!important;min-height:0!important;max-height:none!important;overflow:visible!important;overscroll-behavior:auto!important;touch-action:auto;}
:is(#modal,#foundationModal):has(.ab-modal).portal-mobile-form-overlay,
:is(#modal,#foundationModal):has(.ab-modal).portal-keyboard-surface,
html.portal-mobile-keyboard-open :is(#modal,#foundationModal):has(.ab-modal){height:100dvh!important;max-height:100dvh!important;overflow:hidden!important;}
:is(#modal,#foundationModal) .modal-card:has(.ab-modal).portal-mobile-form-dialog,
:is(#modal,#foundationModal) .modal-card:has(.ab-modal).portal-keyboard-scroll{overflow-x:hidden!important;overflow-y:auto!important;}
#modal .modal-card:has(.ab-modal) #modalBody.portal-keyboard-scroll,
#foundationModal .modal-card:has(.ab-modal) #foundationModalBody.portal-keyboard-scroll,
:is(#modal,#foundationModal) .ab-modal .portal-mobile-scroll-region,
:is(#modal,#foundationModal) .ab-modal .portal-keyboard-scroll{max-height:none!important;overflow:visible!important;}
:is(#modal,#foundationModal) .ab-form-actions{position:static!important;inset:auto!important;margin:8px -30px -30px!important;transform:none!important;}
:is(#modal,#foundationModal) .ab-modal :is(.ab-form-section,.ab-line,.ab-attachment){content-visibility:visible!important;contain:none!important;}
:is(#modal,#foundationModal) .modal-card:has(.ab-modal) > :is(.close,.modal-close){position:sticky!important;top:12px!important;right:12px!important;float:right;margin:0 0 -36px!important;transform:translateX(-12px)!important;z-index:2000!important;}
@media (max-width:780px){:is(#modal,#foundationModal) .modal-card:has(.ab-modal){max-height:94dvh!important;}
:is(#modal,#foundationModal) .modal-card:has(.ab-modal) > :is(.close,.modal-close){position:sticky!important;top:10px!important;right:auto!important;transform:translateX(0)!important;margin:0 0 -36px!important;}
:is(#modal,#foundationModal) .ab-form-actions{margin:8px -17px calc(-22px - env(safe-area-inset-bottom))!important;}}

html[data-clay-theme="v228"] body{min-height:100dvh;}


html[data-clay-theme="v228"] :is(
  .login-card,
  .auth-card,
  .selector,
  .welcome
):not(button):not([role="button"]){border:1px solid var(--tone-d0d52e06,rgba(255,255,255,.88));}


html[data-clay-theme="v228"] :is(
  .hero-panel,
  .ab-hero,
  .dashboard-hero,
  .foundation-profile-hero,
  .employee-accreditation-v128-hero,
  .eskul-student-hero,
  [class$="-dashboard-hero"]
){border:1px solid rgba(255,255,255,.9);}
html[data-clay-theme="v228"] :is(
  .hero-panel,
  .ab-hero,
  .dashboard-hero,
  .foundation-profile-hero,
  .employee-accreditation-v128-hero,
  .eskul-student-hero,
  [class$="-dashboard-hero"]
) :is(h1,h2,h3,h4,p,span,small,b):not(button *){opacity:1!important;}
html[data-clay-theme="v228"] :where(
  .card,
  .panel,
  .portal-card,
  .profile-menu,
  [class$="-card"],
  [class$="-panel"]
):not(button):not([role="button"]):not(.student-id-card):not(.employee-id-card):not(.print-card):not([class*="-id-card"]){border:1px solid rgba(255,255,255,.86);transform:none!important;}
html[data-clay-theme="v228"] :where(
  .form-section,
  .foundation-form-section,
  .ab-form-section,
  .eskul-form-section,
  .table-wrap,
  .qris-wrap,
  .setting-center-direct-shell-v215,
  .report-v190-section,
  [class$="-table-wrap"]
):not(button):not([role="button"]){border:1px solid rgba(255,255,255,.78);}


html[data-clay-theme="v228"] :is(
  .modal-card,
  .ab-modal,
  .eskul-form-modal,
  .eskul-review-modal,
  .eskul-student-modal-card,
  .payroll-template-modal,
  .report-v190-sheet,
  [role="dialog"],
  [class$="-dialog"],
  [class$="-modal-card"]
):not(button):not([role="button"]),
html[data-clay-theme="v228"] :is(.modal,.dialog,[role="dialog"]):not(.hidden) > :is(form,section,article):not(button){border:1px solid rgba(255,255,255,.92);}
html[data-clay-theme="v228"] :is(
  .modal-card,
  .ab-modal,
  .eskul-form-modal,
  .eskul-review-modal,
  .eskul-student-modal-card,
  .payroll-template-modal,
  .report-v190-sheet,
  [role="dialog"],
  [class$="-dialog"],
  [class$="-modal-card"]
) :is(h1,h2,h3,h4,p,label,small):not(button *){opacity:1!important;}





html[data-clay-theme="v228"] :where(
  .card,
  .panel,
  .portal-card,
  .modal-card,
  [class$="-card"],
  [class$="-panel"]
):not(button):not([role="button"]):hover{transform:none!important;}

html[data-portal-brand="yayasan"] #foundationContent > .hero-panel{position:relative!important;isolation:isolate!important;overflow:hidden!important;border:1px solid rgba(167, 214, 243,.32);background-color:var(--theme-primary-darkest,#0a2342);background-image:linear-gradient(135deg,var(--theme-primary-darkest,#0a2342) 0%,var(--theme-primary-mid,#1264ad) 58%,var(--theme-primary,#078ee8) 100%);opacity:1!important;filter:none!important;mix-blend-mode:normal!important;box-shadow:0 18px 42px rgba(0, 111, 209, .22),inset 1px 1px 0 rgba(255,255,255,.16);}
html[data-portal-brand="yayasan"] #foundationContent > .hero-panel::before{position:absolute;z-index:0;inset:0;display:block;background:linear-gradient(135deg,var(--theme-primary-darkest,#0a2342) 0%,var(--theme-primary-mid,#1264ad) 58%,var(--theme-primary,#078ee8) 100%);opacity:1;pointer-events:none;content:"";}
html[data-portal-brand="yayasan"] #foundationContent > .hero-panel > *{position:relative;z-index:1;opacity:1!important;}
html[data-portal-brand="yayasan"] #foundationContent > .hero-panel > span{text-shadow:0 1px 1px rgba(3, 45, 68,.18);}
html[data-portal-brand="yayasan"] #foundationContent > .hero-panel > h1{text-shadow:0 1px 2px rgba(3, 45, 68,.22);}
html[data-portal-brand="yayasan"] #foundationContent > .hero-panel > p{text-shadow:none;}
html[data-clay-theme="v228"] body :is(
  #groupNav > button.active,
  #subNav > button.active,
  #foundationNav > button.active,
  #ownerNav > button.active,
  .sidebar nav > button.active,
  .foundation-app aside nav > button.active,
  .portal-nav-desktop > button:is(.active,.bg-blue-500,.bg-blue-50,.text-blue-500,.portal-accreditation-nav-active,[aria-current="page"],[aria-selected="true"],[aria-pressed="true"]),
  .portal-nav-mobile > button:is(.active,.bg-blue-500,.bg-blue-50,.text-blue-500,.portal-accreditation-nav-active,[aria-current="page"],[aria-selected="true"],[aria-pressed="true"]),
  .unified-sidebar nav button.active,
  .unified-bottom button.active,
  .portal-groups > button.active,
  .nav-button.active,
  .subnav > button.active,
  .auth-tabs > button.active,
  .login-methods > button.active,
  [role="tablist"] button:is(.active,[aria-selected="true"]),
  [role="tab"]:is(.active,[aria-selected="true"]),
  [class$="-tabs"] button.active,
  [class*="-tabs "] button.active,
  [class$="-nav"] button.active,
  nav button:is(.active,.bg-blue-500,.bg-blue-50,.text-blue-500,.portal-accreditation-nav-active,[aria-current="page"],[aria-selected="true"]),
  nav a:is(.active,[aria-current="page"])
){transform:none!important;}


html[data-clay-theme="v228"] body :is(
  #foundationNav > button.active,
  #ownerNav > button.active,
  .nav-button.active,
  .portal-nav-desktop > button:is(.active,.bg-blue-500,.bg-blue-50,.text-blue-500,.portal-accreditation-nav-active,[aria-current="page"],[aria-selected="true"],[aria-pressed="true"]),
  .portal-nav-mobile > button:is(.active,.bg-blue-500,.bg-blue-50,.text-blue-500,.portal-accreditation-nav-active,[aria-current="page"],[aria-selected="true"],[aria-pressed="true"])
) > :is(svg,.nav-icon,i){display:block!important;flex:0 0 30px!important;width:30px!important;height:30px!important;padding:5px!important;border:1px solid rgba(255,255,255,.58);border-radius:9px;fill:none;stroke:currentColor;stroke-width:1.9!important;}




html[data-portal-brand="yayasan"] #foundationModal .credential-title > span{color:var(--theme-primary-border-strong,#b8d9f3);text-shadow:0 1px 1px rgba(3, 45, 68,.18);}
html[data-portal-brand="yayasan"] #foundationModal .credential-title > h2{color:var(--theme-surface,#fff);text-shadow:0 1px 2px rgba(3, 45, 68,.22);}
html[data-portal-brand="yayasan"] #foundationModal .credential-title > p{color:var(--theme-primary-soft,#f0f8ff);text-shadow:none;}
#foundationModal.modal:has(.ab-modal){padding:16px!important;}
#foundationModal .modal-card:has(.ab-modal){width:min(980px,calc(100vw - 32px))!important;max-width:980px!important;padding:0!important;border:0;outline:0;border-radius:var(--radius-3xl,20px);background:transparent;box-shadow:none;}
#foundationModal .modal-card:has(.ab-modal) #foundationModalBody{width:100%!important;padding:0!important;border:0;background:transparent;box-shadow:none;}
#foundationModal .modal-card:has(.ab-modal) .ab-modal{width:100%!important;padding:26px 28px 30px!important;border:0;border-radius:var(--radius-3xl,20px);background:var(--theme-surface,#fff);box-shadow:none;}
#foundationModal .modal-card:has(.ab-modal) > .modal-close{border:0;background:var(--tone-eef7f4,#eef7f4);color:#174a66;box-shadow:none;}
#foundationModal .ab-modal .ab-form-actions{margin:8px -28px -30px!important;padding:15px 28px 17px!important;border-top:1px solid #edf3f8!important;background:var(--theme-surface,#fff);box-shadow:none;}
#foundationModal .ab-modal button.primary[data-ab-decision="approve"],
#foundationModal .ab-modal button.primary[data-ab-decision="approve"]:is(:hover,:focus,:focus-visible,:active,:disabled){background:#07669b;color:var(--theme-surface,#fff);-webkit-text-fill-color:var(--theme-surface,#fff)!important;text-shadow:none;opacity:1!important;}
@media (max-width:780px){#foundationModal.modal:has(.ab-modal){padding:8px 8px 0!important;}
#foundationModal .modal-card:has(.ab-modal){width:100%!important;max-width:100%!important;border-radius:var(--radius-4xl,22px) var(--radius-4xl,22px) 0 0;}
#foundationModal .modal-card:has(.ab-modal) .ab-modal{padding:22px 17px calc(22px + env(safe-area-inset-bottom))!important;border-radius:var(--radius-4xl,22px) var(--radius-4xl,22px) 0 0;}
#foundationModal .ab-modal .ab-form-actions{margin:8px -17px calc(-22px - env(safe-area-inset-bottom))!important;padding:13px 17px calc(14px + env(safe-area-inset-bottom))!important;}}
html[data-portal-brand]{--eg-primary:var(--theme-primary-mid,#1264ad);--eg-primary-dark:var(--theme-primary-strong,#173f70);--eg-primary-deep:var(--theme-primary-darker,#123d6b);--eg-primary-light:#20a7ff;--eg-primary-soft:var(--theme-primary-border,#d9e8f5);--eg-accent:var(--theme-warning,#f59e0b);--eg-accent-soft:#fef3c7;--eg-violet:#6366f1;--eg-violet-soft:#e0e7ff;--eg-danger:#e11d48;--eg-danger-soft:#ffe4e8;--eg-info:var(--tone-0ea5e9,#0ea5e9);--eg-info-soft:#e0f2fe;--eg-ink:#0f2a22;--eg-body:#424e55;--eg-muted:#7c8f88;--eg-line:#e3ece7;--eg-line-soft:#edf4f1;--eg-surface:var(--theme-surface,#fff);--eg-canvas:#f4f9f7;--eg-radius-xl:26px;--eg-radius-lg:20px;--eg-radius-md:14px;--eg-radius-sm:10px;--eg-radius-pill:999px;--eg-shadow-xs:0 1px 2px rgba(15, 42, 34, 0.05);--eg-shadow-sm:0 4px 14px rgba(15, 42, 34, 0.06);--eg-shadow-md:0 14px 34px -14px rgba(6, 52, 78, 0.28),
    0 2px 8px rgba(6, 52, 78, 0.05);--eg-shadow-lg:0 28px 64px -20px rgba(6, 52, 78, 0.32);--eg-shadow-glow:0 10px 26px -6px rgba(0, 111, 209, 0.4);--eg-font:"Outfit",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;}
html[data-portal-brand]{background:var(--eg-canvas);}
html[data-portal-brand] body{min-height:100dvh!important;background:radial-gradient(circle at 4% -6%, var(--tone-cb4dd011), transparent 32%),
    radial-gradient(circle at 100% 0%, rgba(99, 102, 241, 0.06), transparent 28%),
    var(--eg-canvas);color:var(--eg-body);font-family:var(--eg-font);-webkit-font-smoothing:antialiased;}
html[data-portal-brand] ::selection{background:var(--eg-primary-soft);color:var(--eg-primary-deep);}
html[data-portal-brand] ::-webkit-scrollbar{width:9px;height:9px;}
html[data-portal-brand] ::-webkit-scrollbar-track{background:transparent;}
html[data-portal-brand] ::-webkit-scrollbar-thumb{background:#cbe9de;border-radius:var(--eg-radius-pill);border:2px solid transparent;background-clip:content-box;}
html[data-portal-brand] ::-webkit-scrollbar-thumb:hover{background:#a9c9dc;background-clip:content-box;}
html[data-portal-brand] :is(h1, h2, h3, h4){color:var(--eg-ink);font-weight:800;letter-spacing:-0.01em;}
html[data-portal-brand] .head small,
html[data-portal-brand] em,
html[data-portal-brand] .unified-group em{color:var(--eg-primary-dark);font-weight:900;letter-spacing:0.14em;}
html[data-portal-brand] :is(.center, .individual-login){background:radial-gradient(circle at top left, rgba(7, 142, 232, 0.14), transparent 45%),
    radial-gradient(circle at bottom right, rgba(99, 102, 241, 0.08), transparent 40%),
    var(--eg-canvas);}
html[data-portal-brand] :is(
  .shell,
  .login-card,
  .auth-card,
  .portal-guru-login-dialog
){border:1px solid var(--eg-line);background:var(--eg-surface);border-radius:var(--eg-radius-xl);box-shadow:var(--eg-shadow-lg);}
html[data-portal-brand] .choice{border:1.5px solid var(--eg-line);border-radius:var(--eg-radius-lg);background:var(--eg-surface);}
html[data-portal-brand] .choice:hover{border-color:var(--eg-primary-light);transform:translateY(-2px);}
html[data-portal-brand] .choice.active{border-color:var(--eg-primary);background:linear-gradient(160deg, var(--eg-primary-soft), var(--theme-surface,#fff));box-shadow:var(--eg-shadow-sm);}
html[data-portal-brand] #root header{background:rgba(255, 255, 255, 0.92);border-bottom:1px solid var(--eg-line)!important;box-shadow:0 2px 16px rgba(15, 42, 34, 0.04);}
html[data-portal-brand] .portal-premium-status{border-radius:var(--eg-radius-pill);box-shadow:var(--eg-shadow-xs);}
html[data-portal-brand] #root header button[aria-label="Buka profil"] img{box-shadow:0 0 0 2px var(--theme-surface,#fff), 0 0 0 3.5px var(--eg-primary-light);}
html[data-portal-brand] :is(.unified-sidebar, aside.sidebar){background:var(--eg-surface);border-right:1px solid var(--eg-line)!important;box-shadow:6px 0 26px rgba(15, 42, 34, 0.035);}
html[data-portal-brand] .unified-brand small{color:var(--eg-primary-dark);}
html[data-portal-brand] .unified-group button,
html[data-portal-brand] .portal-nav-desktop > button{border-radius:var(--eg-radius-md);font-weight:700;color:var(--eg-body);}
html[data-portal-brand] .unified-group button:hover,
html[data-portal-brand] .portal-nav-desktop > button:hover{background:var(--eg-line-soft);color:var(--eg-primary-dark);}
html[data-portal-brand] body :is(
  #groupNav > button.active,
  #subNav > button.active,
  #foundationNav > button.active,
  #ownerNav > button.active,
  .sidebar nav > button.active,
  .unified-group button.active,
  .unified-sidebar nav button.active,
  .portal-nav-desktop > button:is(
    .active,
    .bg-blue-500,
    .bg-blue-50,
    .text-blue-500,
    .portal-accreditation-nav-active,
    [aria-current="page"],
    [aria-selected="true"],
    [aria-pressed="true"]
  ),
  .nav-button.active,
  [role="tablist"] button:is(.active, [aria-selected="true"]),
  [role="tab"]:is(.active, [aria-selected="true"]),
  nav button:is(.active, [aria-current="page"])
){border-color:transparent;background:linear-gradient(135deg, var(--eg-primary) 0%, var(--eg-primary-deep) 100%);color:var(--theme-surface,#fff);-webkit-text-fill-color:var(--theme-surface,#fff)!important;box-shadow:var(--eg-shadow-glow);text-shadow:none;transform:none!important;}
html[data-portal-brand] body :is(
  .portal-nav-desktop > button:is(.active, .bg-blue-500, .bg-blue-50),
  .unified-group button.active
) svg{color:var(--theme-surface,#fff);stroke:var(--theme-surface,#fff);}
html[data-portal-brand] :is(.unified-bottom, .portal-nav-mobile){background:var(--tone-431952a6,rgba(255, 255, 255, 0.96));border-top:1px solid var(--eg-line)!important;box-shadow:0 -10px 30px rgba(15, 42, 34, 0.06);}
html[data-portal-brand] :is(.unified-bottom, .portal-nav-mobile) > button{color:#94a8a0;font-weight:700;}
html[data-portal-brand] body :is(
  .unified-bottom button.active,
  .portal-nav-mobile > button:is(
    .active,
    .bg-blue-500,
    .bg-blue-50,
    .text-blue-500,
    [aria-current="page"],
    [aria-selected="true"]
  )
){background:transparent;color:var(--eg-primary);-webkit-text-fill-color:var(--eg-primary)!important;box-shadow:none;transform:translateY(-2px);}
html[data-portal-brand] body :is(
  .unified-bottom button.active,
  .portal-nav-mobile > button:is(.active, .bg-blue-500, .bg-blue-50)
) svg{filter:drop-shadow(0 4px 8px rgba(0, 111, 209, 0.35));}
html[data-portal-brand] :is(
  .portal-guru-category-tabs-v133,
  .school-account-tabs
){background:var(--eg-line-soft);padding:5px!important;border-radius:var(--eg-radius-pill);}
html[data-portal-brand] .portal-guru-category-tabs-v133 > button{background:transparent;border-radius:var(--eg-radius-pill);color:var(--eg-muted);font-weight:800;}
html[data-portal-brand] .portal-guru-category-tabs-v133 > button:is(
  .bg-blue-500,
  .portal-accreditation-nav-active
){background:var(--eg-surface);color:var(--eg-primary-dark);box-shadow:var(--eg-shadow-sm);}
html[data-portal-brand] :is(
  .welcome,
  .dashboard-hero,
  [class$="-hero"]
){position:relative;overflow:hidden;border:0;border-radius:var(--eg-radius-xl);background:linear-gradient(135deg, var(--theme-primary,#078ee8) 0%, var(--theme-primary-mid,#1264ad) 46%, #0d577d 100%);box-shadow:var(--eg-shadow-md);}
html[data-portal-brand] :is(.welcome, .dashboard-hero, [class$="-hero"])::before,
html[data-portal-brand] :is(.welcome, .dashboard-hero, [class$="-hero"])::after{content:"";position:absolute;border-radius:50%;pointer-events:none;}
html[data-portal-brand] :is(.welcome, .dashboard-hero, [class$="-hero"])::before{width:220px;height:220px;top:-90px;right:-60px;background:rgba(255, 255, 255, 0.14);}
html[data-portal-brand] :is(.welcome, .dashboard-hero, [class$="-hero"])::after{width:140px;height:140px;bottom:-70px;left:18%;background:rgba(255, 255, 255, 0.08);}
html[data-portal-brand] :is(.welcome, .dashboard-hero, [class$="-hero"]) :is(h1, h2, h3, p, span, small, b){color:var(--theme-surface,#fff);position:relative;z-index:1;text-shadow:none;}
html[data-portal-brand] :is(
  .card,
  .panel,
  .portal-card,
  article,
  [class$="-card"],
  [class$="-panel"]
):not(button):not([role="button"]):not(.student-id-card):not(.employee-id-card):not(.print-card):not([class*="-id-card"]){border:1px solid var(--eg-line);background:var(--eg-surface);border-radius:var(--eg-radius-lg);box-shadow:var(--eg-shadow-sm);}
html[data-portal-brand] :is(
  .card,
  .panel,
  .portal-card,
  article,
  [class$="-card"],
  [class$="-panel"]
):not(button):not([role="button"]):hover{box-shadow:var(--eg-shadow-md);transform:translateY(-2px)!important;}
html[data-portal-brand] .management-grid > div{background:linear-gradient(160deg, var(--theme-surface,#fff), var(--eg-line-soft));border:1px solid var(--eg-line);border-radius:var(--eg-radius-lg);}
html[data-portal-brand] .management-grid b{color:var(--eg-primary-deep);}
html[data-portal-brand] .attendance-state{background:var(--eg-primary-soft);border-radius:var(--eg-radius-md);border:1px solid rgba(0, 111, 209, 0.16);}
html[data-portal-brand] :is(.primary, .is-primary, button[type="submit"].primary){background:linear-gradient(135deg, var(--eg-primary), var(--eg-primary-deep));border:0;border-radius:var(--eg-radius-md);font-weight:800;box-shadow:var(--eg-shadow-glow);}
html[data-portal-brand] :is(.primary, .is-primary):hover{transform:translateY(-1px)!important;}
html[data-portal-brand] :is(.primary, .is-primary):active{transform:scale(0.97)!important;}
html[data-portal-brand] :is(.secondary, .is-secondary){background:var(--eg-surface);border:1.5px solid var(--eg-primary);color:var(--eg-primary-dark);border-radius:var(--eg-radius-md);font-weight:800;}
html[data-portal-brand] :is(
  .danger,
  .is-danger,
  .buttons .out,
  header button[aria-label*="Keluar"],
  header button[title*="Keluar"]
){background:var(--eg-danger-soft);color:var(--eg-danger);border-radius:var(--eg-radius-md);font-weight:800;border:0;}
html[data-portal-brand] .buttons button:not(.out){background:var(--eg-primary-soft);color:var(--eg-primary-deep);border-radius:var(--eg-radius-sm);font-weight:800;}
html[data-portal-brand] label{color:var(--eg-muted);font-weight:800;}
html[data-portal-brand] :is(input, select, textarea){background:var(--eg-canvas);border:1.5px solid var(--eg-line);border-radius:var(--eg-radius-md);color:var(--eg-ink);box-shadow:none;}
html[data-portal-brand] :is(input, select, textarea):focus{border-color:var(--eg-primary);background:var(--eg-surface);box-shadow:0 0 0 4px rgba(0, 111, 209, 0.14);}
html[data-portal-brand] :is(
  table,
  .academic-table,
  .portal-gradebook-table,
  .report-v190-table
){border-radius:var(--eg-radius-md);overflow:hidden;}
html[data-portal-brand] th{font-weight:800;text-transform:uppercase;font-size:11px;letter-spacing:0.06em;}
html[data-portal-brand] :is(th, td){border-bottom-color:var(--eg-line);}
html[data-portal-brand] tbody tr:hover{background:rgba(7, 142, 232, 0.05);}
html[data-portal-brand] :is(.modal, [class$="-overlay"], [class$="-backdrop"], [role="dialog"]):not(.hidden){background-color:rgba(9, 26, 21, 0.5);}
html[data-portal-brand] :is(
  .modal-card,
  [class$="-dialog"],
  [class$="-modal-card"],
  [class$="-modal"]
):not(button):not([role="button"]){border:1px solid var(--eg-line);background:var(--eg-surface);border-radius:var(--eg-radius-xl);box-shadow:var(--eg-shadow-lg);}
html[data-portal-brand] .modal form{border-radius:var(--eg-radius-xl);}
html[data-portal-brand] :is(
  .leave-row,
  .slip,
  .notice,
  .document-item,
  .teacher-task-history-item,
  .teacher-qr-student-row,
  .setting-center-item-v210
){border-radius:var(--eg-radius-md);border-bottom:1px solid var(--eg-line-soft)!important;}
html[data-portal-brand] :is(
  .leave-row,
  .teacher-task-history-item,
  .teacher-qr-student-row,
  .setting-center-item-v210
):hover{background:var(--eg-line-soft);}
html[data-portal-brand] :is(
  .portal-leave-status,
  .report-v190-status,
  .report-v190-chip
){border-radius:var(--eg-radius-pill);font-weight:800;padding:4px 12px!important;}
html[data-portal-brand] :is(.portal-leave-status-approved, .is-success, .is-on-time, .approved){background:var(--eg-primary-soft);color:var(--eg-primary-deep);}
html[data-portal-brand] :is(.portal-leave-status-pending, .is-warning, .is-late, .submitted){background:var(--eg-accent-soft);color:#92400e;}
html[data-portal-brand] :is(.portal-leave-status-rejected, .portal-leave-status-cancelled, .is-danger, .is-overdue, .late){background:var(--eg-danger-soft);color:var(--eg-danger);}
html[data-portal-brand] .revision{background:var(--eg-violet-soft);color:var(--eg-violet);}
html[data-portal-brand] .setting-center-hero-v210{background:linear-gradient(135deg, var(--theme-primary,#078ee8), #0d577d);border-radius:var(--eg-radius-xl);box-shadow:var(--eg-shadow-md);}
html[data-portal-brand] .setting-center-hero-v210 *{color:var(--theme-surface,#fff);}
html[data-portal-brand] .setting-center-card-v210{border-radius:var(--eg-radius-lg);border:1px solid var(--eg-line);background:var(--eg-surface);box-shadow:var(--eg-shadow-xs);}
html[data-portal-brand] .setting-center-card-v210:hover{box-shadow:var(--eg-shadow-sm);transform:translateY(-2px)!important;}
html[data-portal-brand] .setting-center-card-icon-v210{background:var(--eg-primary-soft);color:var(--eg-primary-deep);border-radius:var(--eg-radius-sm);}
html[data-portal-brand] :is(
  .academic-empty,
  .teacher-qr-empty,
  .teacher-scan-empty,
  [class$="-empty"]
){color:var(--eg-muted);background:var(--eg-line-soft);border-radius:var(--eg-radius-lg);border:1px dashed var(--eg-line);}
html[data-portal-brand] .loading{background:var(--eg-surface);border-radius:var(--eg-radius-pill);box-shadow:var(--eg-shadow-md);border:1px solid var(--eg-line);color:var(--eg-primary-dark);font-weight:800;}
@media (max-width: 760px){html[data-portal-brand] :is(.welcome, .dashboard-hero, [class$="-hero"]){border-radius:var(--eg-radius-lg);}
html[data-portal-brand] :is(
    .card,
    .panel,
    [class$="-card"],
    [class$="-panel"]
  ):not(button):hover{transform:none!important;}}
html[data-portal-brand],
html[data-portal-page="selector"]{font-family:var(--portal-v01-font);font-size:16px;color:var(--portal-v01-ink);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-text-size-adjust:100%;text-size-adjust:100%;}
html[data-portal-brand] :is(body, button, input, select, textarea, option, table),
html[data-portal-page="selector"] :is(body, button, input, select, textarea, option, table){font-family:var(--portal-v01-font);}
html[data-portal-brand] body,
html[data-portal-page="selector"] body{color:var(--portal-v01-body);font-size:14px;font-weight:400;line-height:1.6;letter-spacing:0;}
html[data-portal-brand] :is(h1, h2, h3, h4, h5, h6),
html[data-portal-page="selector"] :is(h1, h2, h3, h4, h5, h6){color:var(--portal-v01-ink);font-family:var(--portal-v01-font);font-weight:700;line-height:1.28;letter-spacing:-0.025em;text-wrap:balance;}
html[data-portal-brand] h1,
html[data-portal-page="selector"] h1{font-size:clamp(22px, 2.5vw, 28px);}
html[data-portal-brand] h2,
html[data-portal-page="selector"] h2{font-size:clamp(20px, 2vw, 24px);}
html[data-portal-brand] h3,
html[data-portal-page="selector"] h3{font-size:18px;}
html[data-portal-brand] :is(h4, h5, h6),
html[data-portal-page="selector"] :is(h4, h5, h6){font-size:16px;}
html[data-portal-brand] p,
html[data-portal-page="selector"] p{font-size:14px;font-weight:400;line-height:1.65;letter-spacing:0;}
html[data-portal-brand] small,
html[data-portal-page="selector"] small{font-size:12px;font-weight:500;line-height:1.5;letter-spacing:0;}
html[data-portal-brand] :is(b, strong),
html[data-portal-page="selector"] :is(b, strong){font-weight:700;}
html[data-portal-brand] :is(.font-black, .font-extrabold, .font-bold),
html[data-portal-page="selector"] :is(.font-black, .font-extrabold, .font-bold){font-weight:700;}
html[data-portal-brand] .font-semibold,
html[data-portal-page="selector"] .font-semibold{font-weight:600;}
html[data-portal-brand] :is(label, th),
html[data-portal-page="selector"] :is(label, th){font-size:12px;font-weight:600;line-height:1.45;letter-spacing:0.01em;}
html[data-portal-brand] td,
html[data-portal-page="selector"] td{font-size:13px;font-weight:400;line-height:1.55;}
html[data-portal-brand] :is(input, select, textarea),
html[data-portal-page="selector"] :is(input, select, textarea){font-size:14px;font-weight:500;}
html[data-portal-brand] :is(
  nav a,
  nav button,
  .nav-button,
  .unified-group button,
  .unified-bottom button,
  .portal-nav-desktop button,
  .portal-nav-mobile button
),
html[data-portal-page="selector"] :is(nav a, nav button){font-size:13px;font-weight:600;line-height:1.4;letter-spacing:0;}
html[data-portal-brand] :is(
  .eyebrow,
  [class*="eyebrow"],
  [class*="kicker"],
  .unified-group em,
  .badge,
  [class*="-badge"],
  [class*="-status"]
),
html[data-portal-page="selector"] :is(.eyebrow, [class*="eyebrow"], [class*="kicker"]){font-size:11px;font-weight:700;line-height:1.4;letter-spacing:0.06em;}
html[data-portal-brand] [class~="text-5xl"]{font-size:28px;}
html[data-portal-brand] [class~="text-4xl"]{font-size:26px;}
html[data-portal-brand] [class~="text-3xl"]{font-size:24px;}
html[data-portal-brand] [class~="text-2xl"]{font-size:22px;}
html[data-portal-brand] [class~="text-xl"]{font-size:19px;}
html[data-portal-brand] [class~="text-lg"]{font-size:16px;}
html[data-portal-brand] [class~="text-sm"]{font-size:14px;}
html[data-portal-brand] [class~="text-xs"]{font-size:12px;}
html[data-portal-brand] :is([class~="text-[9px]"], [class~="text-[10px]"]){font-size:11px;}
html[data-portal-brand] :is(
  button,
  [role="button"],
  a.button,
  a[role="button"]
),
html[data-portal-page="selector"] :is(button, [role="button"], a.button, a[role="button"]){font-size:13px;font-weight:600;line-height:1.4;text-shadow:none;}
html[data-portal-brand] :is(
  button.primary,
  button.is-primary,
  button[type="submit"].primary,
  a.primary,
  a.button-primary,
  button[class*="bg-blue-500"],
  button[class*="bg-blue-600"]
){border:1px solid var(--portal-v01-blue-dark);background:linear-gradient(135deg, #06537d, var(--portal-v01-blue-dark));color:var(--theme-surface,#fff);-webkit-text-fill-color:var(--theme-surface,#fff)!important;box-shadow:0 9px 22px rgba(7, 94, 140, 0.22);}
html[data-portal-brand] :is(
  button.primary,
  button.is-primary,
  button[type="submit"].primary,
  a.primary,
  a.button-primary,
  button[class*="bg-blue-500"],
  button[class*="bg-blue-600"]
) :is(svg, span, b, strong){color:var(--theme-surface,#fff);-webkit-text-fill-color:var(--theme-surface,#fff)!important;}
html[data-portal-brand] :is(
  button.secondary,
  button.is-secondary,
  a.secondary,
  .actions button:not(.primary):not(.is-primary):not(.danger):not(.warning):not([class*="bg-"]),
  .table-actions button:not(.primary):not(.is-primary):not(.danger):not(.warning):not([class*="bg-"])
){border:1px solid #74adcd;background:var(--portal-v01-white);color:var(--portal-v01-blue-dark);-webkit-text-fill-color:var(--portal-v01-blue-dark)!important;box-shadow:0 4px 12px rgba(23, 33, 31, 0.07);}
html[data-portal-brand] :is(button[class*="bg-blue-500"], button[class*="bg-blue-600"]){border-color:var(--tone-1d4ed8,#1d4ed8);background:var(--portal-v01-blue);color:var(--theme-surface,#fff);-webkit-text-fill-color:var(--theme-surface,#fff)!important;}
html[data-portal-brand] :is(
  button.warning,
  button[class*="bg-amber-500"],
  button[class*="bg-amber-600"]
){border-color:#d79619;background:var(--portal-v01-amber);color:var(--portal-v01-amber-ink);-webkit-text-fill-color:var(--portal-v01-amber-ink)!important;}
html[data-portal-brand] :is(
  button.danger,
  button.is-danger,
  button.stop-access,
  button[class*="bg-red-500"],
  button[class*="bg-red-600"]
){border-color:#9f1239;background:var(--portal-v01-red);color:var(--theme-surface,#fff);-webkit-text-fill-color:var(--theme-surface,#fff)!important;}
html[data-portal-brand] :is(
  button.danger,
  button.is-danger,
  button.stop-access,
  button[class*="bg-red-500"],
  button[class*="bg-red-600"]
) :is(svg, span, b, strong){color:var(--theme-surface,#fff);-webkit-text-fill-color:var(--theme-surface,#fff)!important;}
html[data-portal-brand] :is(button.ghost, .buttons button[data-close], .modal-close, button.close){border:1px solid #cbd8d3;background:var(--tone-f8fbfa,#f8fbfa);color:#3f4b51;-webkit-text-fill-color:#3f4b51!important;box-shadow:none;}
html[data-portal-brand] :is(button, [role="button"], a.button, a[role="button"]):focus-visible,
html[data-portal-page="selector"] :is(button, [role="button"], a.button, a[role="button"]):focus-visible{outline:0;box-shadow:var(--portal-v01-focus);}
html[data-portal-brand] button:disabled,
html[data-portal-page="selector"] button:disabled{opacity:0.55!important;filter:grayscale(0.15);}
html[data-portal-brand] :is(
  .card,
  .panel,
  .modal-card,
  [class$="-card"],
  [class$="-panel"],
  [class$="-dialog"]
):not(button):not([role="button"]),
html[data-portal-page="selector"] :is(.portal-card, .selector){border-color:var(--portal-v01-line);border-radius:var(--radius-2xl,18px);}
html[data-portal-brand] :is([class*="rounded-[32px]"], [class*="rounded-[24px]"]){border-radius:var(--radius-2xl,18px);}
html[data-portal-brand] :is(.content, main > .content, #content){line-height:1.6;}
html[data-portal-brand] :is(.toolbar, .panel-head, .page-head){gap:12px!important;}
html[data-portal-brand] table{border-collapse:separate;border-spacing:0;}
html[data-portal-brand] th{color:var(--portal-v01-blue-dark);background:var(--portal-v01-soft);}
html[data-portal-brand] :is(th, td){padding:11px 12px!important;vertical-align:middle;}
@media (max-width: 760px){html[data-portal-brand] body,
  html[data-portal-page="selector"] body{font-size:13px;}
html[data-portal-brand] h1,
  html[data-portal-page="selector"] h1{font-size:22px;}
html[data-portal-brand] h2,
  html[data-portal-page="selector"] h2{font-size:19px;}
html[data-portal-brand] h3,
  html[data-portal-page="selector"] h3{font-size:16px;}
html[data-portal-brand] :is(p, input, select, textarea, button, [role="button"]),
  html[data-portal-page="selector"] :is(p, input, select, textarea, button, [role="button"]){font-size:13px;}
html[data-portal-brand] :is(.content, #content){padding-inline:14px!important;}}
#ownerLoading.loading:not(.hidden),
#foundationLoading.loading:not(.hidden),
#loading.loading:not(.hidden),
.portal-loading-v03,
.portal-loading-v03-inline{position:fixed!important;inset:0!important;z-index:1000!important;width:auto!important;height:auto!important;margin:0!important;padding:0!important;display:grid!important;place-items:center!important;align-content:center!important;transform:none!important;border:0;border-radius:0;background:var(--portal-loading-layer);box-shadow:none;contain:layout paint style!important;isolation:isolate!important;}
#ownerLoading.loading:not(.hidden) > b,
#foundationLoading.loading:not(.hidden) > b,
#loading.loading:not(.hidden) > b,
.portal-loading-v03-content > :not(.portal-loading-v03-spinner){position:absolute!important;width:1px!important;height:1px!important;margin:-1px!important;padding:0!important;overflow:hidden!important;clip:rect(0 0 0 0)!important;clip-path:inset(50%)!important;white-space:nowrap!important;border:0;}
#ownerLoading.loading:not(.hidden) > span,
#foundationLoading.loading:not(.hidden) > span,
#loading.loading:not(.hidden) > span,
.portal-loading-v03-spinner,
.portal-loading-v03-inline::before{content:"";display:block!important;width:30px!important;height:30px!important;min-width:30px!important;min-height:30px!important;margin:0!important;padding:0!important;border:3px solid var(--portal-loading-track);border-top-color:var(--portal-loading-accent);border-right-color:rgba(8, 96, 145, 0.5);border-radius:50%;background:transparent;box-shadow:none;contain:strict!important;transform:translateZ(0)!important;}
.portal-loading-v03-content{display:grid!important;place-items:center!important;margin:0!important;padding:0!important;border:0;border-radius:0;background:transparent;box-shadow:none;}
.portal-loading-v03-inline{font-size:0;color:transparent;}
@media print{#ownerLoading,
  #foundationLoading,
  #loading,
  .portal-loading-v03,
  .portal-loading-v03-inline{display:none!important;}}
html[data-portal-brand="yayasan"] #foundationContent :is(.actions, .ab-form-actions),
html[data-portal-brand="yayasan"] #foundationContent .ab-card-footer > div,
html[data-portal-brand="yayasan"] #foundationModal .ab-form-actions{display:flex!important;flex-wrap:wrap!important;align-items:center!important;gap:10px 12px!important;}
html[data-portal-brand="yayasan"] :is(button.danger, .actions button.danger),
html[data-portal-brand="yayasan"] #foundationModal button.danger,
html[data-portal-brand="yayasan"] #foundationModal .modal-close,
html[data-portal-brand="yayasan"] #foundationModal .modal-card:has(.ab-modal) > .modal-close{border:1px solid var(--theme-danger-deep,#be123c);background:#c91445;color:var(--theme-surface,#fff);-webkit-text-fill-color:var(--theme-surface,#fff)!important;box-shadow:0 8px 18px rgba(190, 18, 60, 0.18);opacity:1!important;text-shadow:none;}
html[data-portal-brand="yayasan"] :is(button.danger, .actions button.danger):is(:hover, :focus-visible, :active),
html[data-portal-brand="yayasan"] #foundationModal :is(button.danger, .modal-close):is(:hover, :focus-visible, :active),
html[data-portal-brand="yayasan"] #foundationModal .modal-card:has(.ab-modal) > .modal-close:is(:hover, :focus-visible, :active){background:#a90f36;border-color:#a90f36;}
html[data-portal-brand="yayasan"] .foundation-ab .ab-hero{background:linear-gradient(120deg, var(--tone-073c58,#073c58), #0a679a 68%, #127db9);}
html[data-portal-brand="yayasan"] .foundation-ab .ab-hero > div:first-child > span{color:var(--tone-e8f4ff);-webkit-text-fill-color:var(--tone-e8f4ff)!important;font-weight:700;text-shadow:0 1px 2px rgba(2, 44, 36, 0.25);}
html[data-portal-brand="yayasan"] .foundation-ab .ab-hero > div:first-child > h2,
html[data-portal-brand="yayasan"] #foundationContent > .hero-panel > h1{color:var(--theme-surface,#fff);-webkit-text-fill-color:var(--theme-surface,#fff)!important;text-shadow:0 1px 2px rgba(2, 44, 36, 0.26);}
html[data-portal-brand="yayasan"] .foundation-ab .ab-hero > div:first-child > p,
html[data-portal-brand="yayasan"] #foundationContent > .hero-panel > p{color:#effff9;-webkit-text-fill-color:#effff9!important;font-weight:500;line-height:1.65;}
html[data-portal-brand="yayasan"] #foundationContent > .hero-panel > span{color:var(--tone-e8f4ff);-webkit-text-fill-color:var(--tone-e8f4ff)!important;}
@media (max-width: 600px){html[data-portal-brand="yayasan"] #foundationContent .ab-card-footer > div,
  html[data-portal-brand="yayasan"] #foundationModal .ab-form-actions{width:100%!important;}
html[data-portal-brand="yayasan"] #foundationModal .ab-form-actions > button{flex:1 1 135px!important;}}
:is(
  .modal-card > .close,
  .modal-card > .modal-close,
  .teacher-student-scan-dialog [data-scan-close],
  .employee-attendance-v126-dialog [data-attendance-close],
  .teacher-duty-v08-dialog > header > button[aria-label="Tutup"],
  .teacher-qr-close,
  .teacher-qr-viewer-close,
  .employee-id-card-dialog [data-employee-card-close],
  .student-id-card-dialog [data-student-card-close],
  .portal-student-preview-close-v190,
  .portal-management-notification-actions button[data-close],
  .owner-notification-head-actions button[data-notification-close],
  button[data-close-school-notifications][aria-label="Tutup"],
  .download-modal-close,
  .portal-modal-close
){display:inline-grid!important;place-items:center!important;flex:0 0 auto!important;width:44px!important;min-width:44px!important;max-width:44px!important;height:44px!important;min-height:44px!important;max-height:44px!important;padding:0!important;border:1px solid var(--tone-fecaca,#fecaca);border-radius:var(--radius-pill,999px);background:var(--tone-fee2e2,#fee2e2);color:var(--theme-danger,#b91c1c);font-size:27px;font-weight:800;line-height:1;opacity:1!important;visibility:visible!important;box-shadow:0 5px 14px rgb(185 28 28 / 12%);-webkit-tap-highlight-color:transparent;}
:is(
  .modal-card > .close,
  .modal-card > .modal-close,
  .teacher-student-scan-dialog [data-scan-close],
  .employee-attendance-v126-dialog [data-attendance-close],
  .teacher-duty-v08-dialog > header > button[aria-label="Tutup"],
  .teacher-qr-close,
  .teacher-qr-viewer-close,
  .employee-id-card-dialog [data-employee-card-close],
  .student-id-card-dialog [data-student-card-close],
  .portal-student-preview-close-v190,
  .portal-management-notification-actions button[data-close],
  .owner-notification-head-actions button[data-notification-close],
  button[data-close-school-notifications][aria-label="Tutup"],
  .download-modal-close,
  .portal-modal-close
):is(:hover, :focus-visible, :active){border-color:#fca5a5;background:var(--tone-fecaca,#fecaca);color:var(--tone-991b1b,#991b1b);outline:3px solid rgb(239 68 68 / 16%);outline-offset:2px!important;}
@media (max-width: 760px){:is(
    .modal-card > .close,
    .modal-card > .modal-close,
    .teacher-student-scan-dialog [data-scan-close],
    .employee-attendance-v126-dialog [data-attendance-close],
    .teacher-duty-v08-dialog > header > button[aria-label="Tutup"],
    .teacher-qr-close,
    .teacher-qr-viewer-close,
    .employee-id-card-dialog [data-employee-card-close],
    .student-id-card-dialog [data-student-card-close],
    .portal-student-preview-close-v190,
    .portal-management-notification-actions button[data-close],
    .owner-notification-head-actions button[data-notification-close],
    button[data-close-school-notifications][aria-label="Tutup"],
    .download-modal-close,
    .portal-modal-close
  ){width:46px!important;min-width:46px!important;max-width:46px!important;height:46px!important;min-height:46px!important;max-height:46px!important;font-size:29px;}}
.employee-id-card-dialog [data-employee-card-close]{display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:7px!important;width:auto!important;min-width:94px!important;max-width:none!important;padding:0 14px!important;position:relative!important;z-index:8!important;}
.employee-id-card-dialog [data-employee-card-close] > span{display:block!important;font-size:27px;font-weight:800;line-height:1;transform:translateY(-1px);}
.employee-id-card-dialog [data-employee-card-close] > b{display:block!important;color:inherit;font-size:12px;font-weight:900;line-height:1;}
@media (max-width: 430px){.employee-id-card-dialog [data-employee-card-close]{min-width:86px!important;padding-inline:11px!important;}}
.portal-app-download-host{--pad-green:#0a6ea8;--pad-blue-dark:var(--theme-primary-mid,#1264ad);--pad-ink:#122834;--pad-line:rgba(8, 80, 120, 0.2);display:inline-flex;align-items:center;gap:8px;flex:0 0 auto;position:relative;z-index:80;font-family:inherit;}
.portal-app-download-host--push-right,
.portal-app-download-host--fallback{margin-left:auto;}
.portal-app-download-desktop,
.portal-app-download-mobile{display:inline-flex;align-items:center;gap:8px;}
.portal-app-download-link,
.portal-app-download-trigger{appearance:none;-webkit-appearance:none;border:1px solid var(--pad-line);background:var(--tone-5098ef65);color:var(--pad-blue-dark);min-height:38px;height:38px;border-radius:13px;padding:0 11px!important;display:inline-flex!important;align-items:center;justify-content:center;gap:7px;text-decoration:none;font:700 12px/1 inherit;white-space:nowrap;cursor:pointer;box-shadow:0 8px 18px rgba(8, 80, 120, 0.09);}
.portal-app-download-link:hover,
.portal-app-download-trigger:hover{transform:translateY(-1px);border-color:rgba(10, 110, 168, 0.55);background:#f0fff9;box-shadow:0 10px 22px rgba(8, 80, 120, 0.14);}
.portal-app-download-link:focus-visible,
.portal-app-download-trigger:focus-visible,
.portal-app-download-close:focus-visible,
.portal-app-download-choice:focus-visible{outline:3px solid rgba(7, 142, 232, 0.25);outline-offset:2px;}
.portal-app-download-link svg,
.portal-app-download-trigger svg{width:18px;height:18px;display:block;flex:0 0 auto;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round;}
.portal-app-download-link[data-platform="android"] svg{fill:none;stroke:currentColor;}
.portal-app-download-mobile{display:none;}
.portal-app-download-trigger{width:40px;min-width:40px;padding:0!important;}
.portal-app-download-overlay{position:fixed;inset:0;z-index:2147483000;display:grid;place-items:center;padding:20px;opacity:0;visibility:hidden;pointer-events:none;font-family:inherit;}
.portal-app-download-overlay.is-open{opacity:1;visibility:visible;pointer-events:auto;}
.portal-app-download-backdrop{position:absolute;inset:0;border:0;padding:0;background:rgba(5, 24, 20, 0.48);}
.portal-app-download-panel{position:relative;width:min(460px, 100%);max-height:min(620px, calc(100dvh - 32px));overflow:auto;border-radius:25px;background:var(--theme-surface,#fff);border:1px solid rgba(8, 80, 120, 0.12);box-shadow:0 28px 80px rgba(0, 42, 32, 0.24);padding:24px;transform:translateY(10px) scale(0.985);color:var(--tone-152a35,#152a35);}
.portal-app-download-overlay.is-open .portal-app-download-panel{transform:translateY(0) scale(1);}
.portal-app-download-close{position:absolute;top:14px;right:14px;width:36px;height:36px;border-radius:var(--radius-md-lg,12px);border:1px solid rgba(15, 23, 42, 0.09);background:var(--tone-f7faff,#f7faff);color:#53626b;display:grid;place-items:center;font:800 22px/1 inherit;cursor:pointer;}
.portal-app-download-heading{display:flex;align-items:center;gap:13px;padding-right:40px;margin-bottom:18px;}
.portal-app-download-heading-mark{width:48px;height:48px;border-radius:var(--radius-xl,16px);display:grid;place-items:center;flex:0 0 auto;color:var(--theme-surface,#fff);background:linear-gradient(145deg, #208cc9, var(--theme-primary-mid,#1264ad));box-shadow:0 12px 24px rgba(8, 80, 120, 0.2);}
.portal-app-download-heading-mark svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;}
.portal-app-download-heading small{display:block;color:var(--tone-0b608f,#0b608f);font-size:10px;font-weight:900;letter-spacing:0.12em;margin-bottom:3px;}
.portal-app-download-heading h3{margin:0;color:var(--tone-152a35,#152a35);font-size:21px;line-height:1.2;font-weight:900;}
.portal-app-download-heading p{margin:5px 0 0;color:#70847f;font-size:12px;line-height:1.5;}
.portal-app-download-choices{display:grid;gap:11px;}
.portal-app-download-choice{display:grid;grid-template-columns:46px 1fr auto;gap:13px;align-items:center;border:1px solid rgba(8, 80, 120, 0.14);background:#f8fcfa;color:var(--tone-152a35,#152a35);text-decoration:none;border-radius:17px;padding:14px;}
.portal-app-download-choice:hover{transform:translateY(-1px);border-color:rgba(10, 110, 168, 0.45);background:var(--tone-eef6ff,#eef6ff);}
.portal-app-download-choice-icon{width:46px;height:46px;border-radius:var(--radius-lg,14px);display:grid;place-items:center;color:var(--theme-surface,#fff);background:linear-gradient(145deg, #228cc9, var(--tone-0b608f,#0b608f));}
.portal-app-download-choice[data-platform="windows"] .portal-app-download-choice-icon{background:linear-gradient(145deg, #1687d9, #075ea3);}
.portal-app-download-choice-icon svg{width:23px;height:23px;fill:currentColor;stroke:none;}
.portal-app-download-choice[data-platform="android"] .portal-app-download-choice-icon svg{fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round;}
.portal-app-download-choice-copy small,
.portal-app-download-choice-copy strong,
.portal-app-download-choice-copy span{display:block;}
.portal-app-download-choice-copy small{color:#7d918c;font-size:9px;font-weight:900;letter-spacing:0.1em;margin-bottom:3px;}
.portal-app-download-choice-copy strong{color:var(--tone-152a35,#152a35);font-size:14px;font-weight:900;}
.portal-app-download-choice-copy span{color:#71847f;font-size:11px;line-height:1.45;margin-top:3px;}
.portal-app-download-choice-arrow{color:var(--tone-0b608f,#0b608f);font-size:20px;font-weight:900;}
.portal-app-download-footnote{margin:14px 2px 0;color:#80918d;text-align:center;font-size:10px;line-height:1.5;}
html.portal-app-download-open,
html.portal-app-download-open body{overflow:hidden!important;}
@media (max-width: 1120px) and (min-width: 769px){.portal-app-download-link{width:39px;min-width:39px;padding:0!important;}
.portal-app-download-link span{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip:rect(0 0 0 0)!important;white-space:nowrap!important;}}
@media (max-width: 768px){.portal-app-download-desktop{display:none!important;}
.portal-app-download-mobile{display:inline-flex!important;}
.portal-app-download-host{gap:4px;}
.portal-app-download-trigger{width:38px;min-width:38px;height:38px;min-height:38px;border-radius:var(--radius-md-lg,12px);box-shadow:none;}
.portal-app-download-overlay{place-items:end center;padding:0;}
.portal-app-download-panel{width:100%;max-height:min(82dvh, 620px);border-radius:25px 25px 0 0;padding:22px 18px calc(20px + env(safe-area-inset-bottom));transform:translateY(26px);}
.portal-app-download-overlay.is-open .portal-app-download-panel{transform:translateY(0);}
.portal-app-download-panel::before{content:"";display:block;width:44px;height:4px;border-radius:var(--radius-pill,999px);background:#d7e2de;margin:-8px auto 16px;}
.portal-app-download-heading h3{font-size:19px;}}
@media (max-width: 390px){.portal-app-download-trigger{width:36px;min-width:36px;height:36px;min-height:36px;}
.portal-app-download-choice{grid-template-columns:42px 1fr auto;padding:12px;}
.portal-app-download-choice-icon{width:42px;height:42px;}}
html body :is(
  #groupNav > button,
  #groupNav > a,
  #subNav > button,
  #subNav > a,
  #foundationNav > button,
  #foundationNav > a,
  #ownerNav > button,
  #ownerNav > a,
  .sidebar nav > button,
  .sidebar nav > a,
  .foundation-app aside nav > button,
  .foundation-app aside nav > a,
  .portal-nav-desktop > button,
  .portal-nav-desktop > a,
  .portal-nav-mobile > button,
  .portal-nav-mobile > a,
  .student-mobile-nav > button,
  .student-mobile-nav > a,
  .unified-sidebar nav > button,
  .unified-sidebar nav > a,
  .portal-groups > button,
  .portal-groups > a,
  .nav-button,
  .admin-mobile-dock > button,
  .admin-mobile-dock > a,
  .admin-sidebar nav > button,
  .admin-sidebar nav > a,
  .owner-sidebar nav > button,
  .owner-sidebar nav > a
){position:relative!important;isolation:isolate!important;overflow:hidden!important;border:1.5px solid var(--pp-menu-control-border);border-radius:15px;background:var(--pp-menu-control-pale);color:var(--pp-menu-control-text);-webkit-text-fill-color:var(--pp-menu-control-text)!important;box-shadow:inset 6px 0 0 var(--pp-menu-control-border);font-weight:700;}
html body :is(
  #groupNav > button,
  #groupNav > a,
  #subNav > button,
  #subNav > a,
  #foundationNav > button,
  #foundationNav > a,
  #ownerNav > button,
  #ownerNav > a,
  .sidebar nav > button,
  .sidebar nav > a,
  .foundation-app aside nav > button,
  .foundation-app aside nav > a,
  .portal-nav-desktop > button,
  .portal-nav-desktop > a,
  .portal-nav-mobile > button,
  .portal-nav-mobile > a,
  .student-mobile-nav > button,
  .student-mobile-nav > a,
  .unified-sidebar nav > button,
  .unified-sidebar nav > a,
  .portal-groups > button,
  .portal-groups > a,
  .nav-button,
  .admin-mobile-dock > button,
  .admin-mobile-dock > a,
  .admin-sidebar nav > button,
  .admin-sidebar nav > a,
  .owner-sidebar nav > button,
  .owner-sidebar nav > a
)::before,
html body :is(
  #groupNav > button,
  #groupNav > a,
  #subNav > button,
  #subNav > a,
  #foundationNav > button,
  #foundationNav > a,
  #ownerNav > button,
  #ownerNav > a,
  .sidebar nav > button,
  .sidebar nav > a,
  .foundation-app aside nav > button,
  .foundation-app aside nav > a,
  .portal-nav-desktop > button,
  .portal-nav-desktop > a,
  .portal-nav-mobile > button,
  .portal-nav-mobile > a,
  .student-mobile-nav > button,
  .student-mobile-nav > a,
  .unified-sidebar nav > button,
  .unified-sidebar nav > a,
  .portal-groups > button,
  .portal-groups > a,
  .nav-button,
  .admin-mobile-dock > button,
  .admin-mobile-dock > a,
  .admin-sidebar nav > button,
  .admin-sidebar nav > a,
  .owner-sidebar nav > button,
  .owner-sidebar nav > a
)::after{content:none!important;display:none!important;}
html body :is(
  #groupNav > button,
  #groupNav > a,
  #subNav > button,
  #subNav > a,
  #foundationNav > button,
  #foundationNav > a,
  #ownerNav > button,
  #ownerNav > a,
  .sidebar nav > button,
  .sidebar nav > a,
  .foundation-app aside nav > button,
  .foundation-app aside nav > a,
  .portal-nav-desktop > button,
  .portal-nav-desktop > a,
  .portal-nav-mobile > button,
  .portal-nav-mobile > a,
  .student-mobile-nav > button,
  .student-mobile-nav > a,
  .unified-sidebar nav > button,
  .unified-sidebar nav > a,
  .portal-groups > button,
  .portal-groups > a,
  .nav-button,
  .admin-mobile-dock > button,
  .admin-mobile-dock > a,
  .admin-sidebar nav > button,
  .admin-sidebar nav > a,
  .owner-sidebar nav > button,
  .owner-sidebar nav > a
) > *{position:relative!important;z-index:1!important;}
html body :is(
  #groupNav > button,
  #groupNav > a,
  #subNav > button,
  #subNav > a,
  #foundationNav > button,
  #foundationNav > a,
  #ownerNav > button,
  #ownerNav > a,
  .sidebar nav > button,
  .sidebar nav > a,
  .foundation-app aside nav > button,
  .foundation-app aside nav > a,
  .portal-nav-desktop > button,
  .portal-nav-desktop > a,
  .portal-nav-mobile > button,
  .portal-nav-mobile > a,
  .student-mobile-nav > button,
  .student-mobile-nav > a,
  .unified-sidebar nav > button,
  .unified-sidebar nav > a,
  .portal-groups > button,
  .portal-groups > a,
  .nav-button,
  .admin-mobile-dock > button,
  .admin-mobile-dock > a,
  .admin-sidebar nav > button,
  .admin-sidebar nav > a,
  .owner-sidebar nav > button,
  .owner-sidebar nav > a
):is(
  :hover,
  :focus-visible,
  .active,
  .selected,
  .is-active,
  .bg-blue-500,
  .portal-accreditation-nav-active,
  [aria-current="page"],
  [aria-selected="true"],
  [aria-pressed="true"],
  [data-active="true"]
){color:var(--theme-surface,#fff);-webkit-text-fill-color:var(--theme-surface,#fff)!important;border-color:var(--pp-menu-control-border);background:var(--pp-menu-control-green);box-shadow:inset 7px 0 0 var(--pp-menu-control-dark),
    0 10px 22px var(--tone-60e09799,rgba(0, 111, 209, .18));transform:none!important;}
html body :is(
  #groupNav > button,
  #groupNav > a,
  #subNav > button,
  #subNav > a,
  #foundationNav > button,
  #foundationNav > a,
  #ownerNav > button,
  #ownerNav > a,
  .sidebar nav > button,
  .sidebar nav > a,
  .foundation-app aside nav > button,
  .foundation-app aside nav > a,
  .portal-nav-desktop > button,
  .portal-nav-desktop > a,
  .portal-nav-mobile > button,
  .portal-nav-mobile > a,
  .student-mobile-nav > button,
  .student-mobile-nav > a,
  .unified-sidebar nav > button,
  .unified-sidebar nav > a,
  .portal-groups > button,
  .portal-groups > a,
  .nav-button,
  .admin-mobile-dock > button,
  .admin-mobile-dock > a,
  .admin-sidebar nav > button,
  .admin-sidebar nav > a,
  .owner-sidebar nav > button,
  .owner-sidebar nav > a
):focus-visible{outline:none;box-shadow:inset 7px 0 0 var(--pp-menu-control-dark),
    0 10px 22px var(--tone-60e09799,rgba(0, 111, 209, .18)),
    var(--pp-menu-control-focus);}
html body :is(
  #groupNav > button,
  #groupNav > a,
  #subNav > button,
  #subNav > a,
  #foundationNav > button,
  #foundationNav > a,
  #ownerNav > button,
  #ownerNav > a,
  .sidebar nav > button,
  .sidebar nav > a,
  .foundation-app aside nav > button,
  .foundation-app aside nav > a,
  .portal-nav-desktop > button,
  .portal-nav-desktop > a,
  .portal-nav-mobile > button,
  .portal-nav-mobile > a,
  .student-mobile-nav > button,
  .student-mobile-nav > a,
  .unified-sidebar nav > button,
  .unified-sidebar nav > a,
  .portal-groups > button,
  .portal-groups > a,
  .nav-button,
  .admin-mobile-dock > button,
  .admin-mobile-dock > a,
  .admin-sidebar nav > button,
  .admin-sidebar nav > a,
  .owner-sidebar nav > button,
  .owner-sidebar nav > a
) :is(span,b,small,p,.admin-nav-label,.nav-label,svg,i,.admin-nav-icon,.nav-icon){color:inherit;-webkit-text-fill-color:currentColor!important;}
html body :is(
  #groupNav > button,
  #groupNav > a,
  #subNav > button,
  #subNav > a,
  #foundationNav > button,
  #foundationNav > a,
  #ownerNav > button,
  #ownerNav > a,
  .sidebar nav > button,
  .sidebar nav > a,
  .foundation-app aside nav > button,
  .foundation-app aside nav > a,
  .portal-nav-desktop > button,
  .portal-nav-desktop > a,
  .portal-nav-mobile > button,
  .portal-nav-mobile > a,
  .student-mobile-nav > button,
  .student-mobile-nav > a,
  .unified-sidebar nav > button,
  .unified-sidebar nav > a,
  .portal-groups > button,
  .portal-groups > a,
  .nav-button,
  .admin-mobile-dock > button,
  .admin-mobile-dock > a,
  .admin-sidebar nav > button,
  .admin-sidebar nav > a,
  .owner-sidebar nav > button,
  .owner-sidebar nav > a
) svg{stroke:currentColor;}
html body :is(
  #groupNav > button,
  #subNav > button,
  #foundationNav > button,
  #ownerNav > button,
  .sidebar nav > button,
  .foundation-app aside nav > button,
  .portal-nav-desktop > button,
  .portal-nav-mobile > button,
  .student-mobile-nav > button,
  .unified-sidebar nav > button,
  .portal-groups > button,
  .nav-button,
  .admin-mobile-dock > button,
  .admin-sidebar nav > button,
  .owner-sidebar nav > button
) :is(.side-count,.nav-count,.nav-badge,.menu-badge,.notification-badge){color:var(--pp-menu-control-text);-webkit-text-fill-color:var(--pp-menu-control-text)!important;background:#eaf5f0;}
html body :is(
  #groupNav > button,
  #subNav > button,
  #foundationNav > button,
  #ownerNav > button,
  .sidebar nav > button,
  .foundation-app aside nav > button,
  .portal-nav-desktop > button,
  .portal-nav-mobile > button,
  .student-mobile-nav > button,
  .unified-sidebar nav > button,
  .portal-groups > button,
  .nav-button,
  .admin-mobile-dock > button,
  .admin-sidebar nav > button,
  .owner-sidebar nav > button
):is(
  :hover,
  :focus-visible,
  .active,
  .selected,
  .is-active,
  .bg-blue-500,
  .portal-accreditation-nav-active,
  [aria-current="page"],
  [aria-selected="true"],
  [aria-pressed="true"],
  [data-active="true"]
) :is(.side-count,.nav-count,.nav-badge,.menu-badge,.notification-badge){color:var(--pp-menu-control-text);-webkit-text-fill-color:var(--pp-menu-control-text)!important;background:var(--theme-surface,#fff);}
html body :is(
  #groupNav > button,
  #subNav > button,
  #foundationNav > button,
  #ownerNav > button,
  .sidebar nav > button,
  .foundation-app aside nav > button,
  .portal-nav-desktop > button,
  .portal-nav-mobile > button,
  .student-mobile-nav > button,
  .unified-sidebar nav > button,
  .portal-groups > button,
  .nav-button,
  .admin-mobile-dock > button,
  .admin-sidebar nav > button,
  .owner-sidebar nav > button
):disabled{cursor:not-allowed!important;opacity:.55!important;color:var(--pp-menu-control-text);-webkit-text-fill-color:var(--pp-menu-control-text)!important;border-color:#9bbccf;background:#f4f8f6;box-shadow:inset 6px 0 0 #9bbccf;}
@media (max-width:850px){html body :is(
    #groupNav > button,
    #groupNav > a,
    #subNav > button,
    #subNav > a,
    #foundationNav > button,
    #foundationNav > a,
    #ownerNav > button,
    #ownerNav > a,
    .sidebar nav > button,
    .sidebar nav > a,
    .foundation-app aside nav > button,
    .foundation-app aside nav > a,
    .portal-nav-mobile > button,
    .portal-nav-mobile > a,
    .student-mobile-nav > button,
    .student-mobile-nav > a,
    .unified-sidebar nav > button,
    .unified-sidebar nav > a,
    .portal-groups > button,
    .portal-groups > a,
    .nav-button,
    .admin-mobile-dock > button,
    .admin-mobile-dock > a,
    .admin-sidebar nav > button,
    .admin-sidebar nav > a,
    .owner-sidebar nav > button,
    .owner-sidebar nav > a
  ){border-radius:var(--radius-lg,14px);}}
html body :is(
  #groupNav > button,
  #groupNav > a,
  #subNav > button,
  #subNav > a,
  #foundationNav > button,
  #foundationNav > a,
  #ownerNav > button,
  #ownerNav > a,
  .sidebar nav > button,
  .sidebar nav > a,
  .foundation-app aside nav > button,
  .foundation-app aside nav > a,
  .portal-nav-desktop > button,
  .portal-nav-desktop > a,
  .portal-nav-mobile > button,
  .portal-nav-mobile > a,
  .student-mobile-nav > button,
  .student-mobile-nav > a,
  .unified-sidebar nav > button,
  .unified-sidebar nav > a,
  .portal-groups > button,
  .portal-groups > a,
  .nav-button,
  .admin-mobile-dock > button,
  .admin-mobile-dock > a,
  .admin-sidebar nav > button,
  .admin-sidebar nav > a,
  .owner-sidebar nav > button,
  .owner-sidebar nav > a
) > :is(.nav-icon,.admin-nav-icon,svg){border-color:transparent;border-radius:0;padding:0!important;background:transparent;box-shadow:none;filter:none!important;color:inherit;-webkit-text-fill-color:currentColor!important;}
html body :is(
  #groupNav > button,
  #groupNav > a,
  #subNav > button,
  #subNav > a,
  #foundationNav > button,
  #foundationNav > a,
  #ownerNav > button,
  #ownerNav > a,
  .sidebar nav > button,
  .sidebar nav > a,
  .foundation-app aside nav > button,
  .foundation-app aside nav > a,
  .portal-nav-desktop > button,
  .portal-nav-desktop > a,
  .portal-nav-mobile > button,
  .portal-nav-mobile > a,
  .student-mobile-nav > button,
  .student-mobile-nav > a,
  .unified-sidebar nav > button,
  .unified-sidebar nav > a,
  .portal-groups > button,
  .portal-groups > a,
  .nav-button,
  .admin-mobile-dock > button,
  .admin-mobile-dock > a,
  .admin-sidebar nav > button,
  .admin-sidebar nav > a,
  .owner-sidebar nav > button,
  .owner-sidebar nav > a
) > :is(.nav-icon,.admin-nav-icon) svg{border:0;border-radius:0;padding:0!important;background:transparent;box-shadow:none;filter:none!important;color:inherit;stroke:currentColor;}





html[data-portal-brand="yayasan"] body #foundationApp.foundation-app #foundationNav > button[data-page]{position:relative!important;display:flex!important;align-items:center!important;justify-content:flex-start!important;width:100%!important;min-height:46px!important;margin:0!important;padding:10px 12px!important;gap:10px!important;border:1.5px solid var(--pp-menu-control-border);border-radius:15px;background:var(--pp-menu-control-pale);color:var(--pp-menu-control-text);-webkit-text-fill-color:var(--pp-menu-control-text)!important;box-shadow:inset 6px 0 0 var(--pp-menu-control-border);font-size:12.5px;font-weight:750;line-height:1.2;text-align:left!important;text-shadow:none;transform:none!important;}
html[data-portal-brand="yayasan"] body #foundationApp.foundation-app #foundationNav > button[data-page]::before,
html[data-portal-brand="yayasan"] body #foundationApp.foundation-app #foundationNav > button[data-page]::after{content:none!important;display:none!important;}
html[data-portal-brand="yayasan"] body #foundationApp.foundation-app #foundationNav > button[data-page] > .nav-icon{flex:0 0 20px!important;width:20px!important;min-width:20px!important;max-width:20px!important;height:20px!important;min-height:20px!important;max-height:20px!important;margin:0!important;padding:0!important;border:0;border-radius:0;background:transparent;color:inherit;stroke:currentColor;stroke-width:1.9!important;fill:none;box-shadow:none;}
html[data-portal-brand="yayasan"] body #foundationApp.foundation-app #foundationNav > button[data-page] > span{min-width:0!important;color:inherit;-webkit-text-fill-color:currentColor!important;font:inherit;white-space:normal!important;}
html[data-portal-brand="yayasan"] body #foundationApp.foundation-app #foundationNav > button[data-page]:is(
  :hover,
  :focus-visible,
  .active,
  [aria-current="page"],
  [aria-selected="true"],
  [data-active="true"]
){border-color:var(--pp-menu-control-border);background:var(--pp-menu-control-green);color:var(--theme-surface,#fff);-webkit-text-fill-color:var(--theme-surface,#fff)!important;box-shadow:inset 7px 0 0 var(--pp-menu-control-dark), 0 9px 20px rgba(0, 111, 209, .17);}
html[data-portal-brand="yayasan"] body #foundationApp.foundation-app #foundationNav > button[data-page]:is(
  :hover,
  :focus-visible,
  .active,
  [aria-current="page"],
  [aria-selected="true"],
  [data-active="true"]
) > :is(.nav-icon,span){color:var(--theme-surface,#fff);-webkit-text-fill-color:var(--theme-surface,#fff)!important;stroke:currentColor;}



@media (max-width: 760px){html[data-portal-brand="yayasan"] body:has(.foundation-app:not(.hidden)){padding-bottom:calc(92px + env(safe-area-inset-bottom))!important;}
html[data-portal-brand="yayasan"] body #foundationApp.foundation-app > aside{height:76px!important;min-height:76px!important;max-height:76px!important;padding:6px 4px!important;}
html[data-portal-brand="yayasan"] body #foundationApp.foundation-app #foundationNav{gap:4px!important;scroll-padding-inline:4px!important;}
html[data-portal-brand="yayasan"] body #foundationApp.foundation-app #foundationNav > button[data-page]{flex:0 0 calc(100% / 6)!important;width:calc(100% / 6)!important;min-width:68px!important;max-width:none!important;height:58px!important;min-height:58px!important;max-height:58px!important;padding:6px 2px!important;gap:3px!important;border-radius:var(--radius-lg,14px);scroll-snap-align:center!important;}}
html[data-portal-brand="yayasan"] .auth-screen{background:radial-gradient(circle at 12% 8%,rgba(17,145,232,.12),transparent 34%),radial-gradient(circle at 88% 92%,rgba(0,58,137,.08),transparent 34%),var(--tone-f4f7fb,#f4f7fb);padding:28px 18px!important;overflow:auto!important;}
html[data-portal-brand="yayasan"] .auth-card{width:min(500px,100%)!important;padding:30px 32px 28px!important;border:1px solid var(--theme-border,#d9e8f5);border-radius:var(--radius-5xl,24px);background:rgba(255,255,255,.985);box-shadow:0 24px 70px rgba(15,23,42,.12);}
html[data-portal-brand="yayasan"] .auth-card .back-link{margin:0 0 22px!important;color:var(--theme-text-muted,#60758d);text-decoration:none;}
html[data-portal-brand="yayasan"] .auth-brand{display:block!important;text-align:center!important;}
html[data-portal-brand="yayasan"] .auth-brand img.eduvia-auth-logo{display:block!important;width:min(260px,78%)!important;height:82px!important;object-fit:contain!important;margin:0 auto 18px!important;border-radius:0;box-shadow:none;background:transparent;}
html[data-portal-brand="yayasan"] .auth-brand .portal-role-brand-copy--hidden{display:block!important;}
html[data-portal-brand="yayasan"] .auth-brand span{display:block!important;color:#0b64b7;font-size:10px;letter-spacing:.15em;font-weight:800;}
html[data-portal-brand="yayasan"] .auth-brand h1{margin:7px 0 0!important;color:#10223b;font-size:24px;line-height:1.2;letter-spacing:-.025em;}
html[data-portal-brand="yayasan"] .auth-card>.auth-subtitle{margin:9px auto 0!important;max-width:390px!important;color:var(--theme-text-muted,#60758d);font-size:13px;line-height:1.55;text-align:center!important;}
html[data-portal-brand="yayasan"] .auth-tabs{display:grid!important;grid-template-columns:1fr 1fr!important;gap:4px!important;margin:22px 0 16px!important;padding:4px!important;border-radius:var(--radius-lg,14px);background:#eef3f9;}
html[data-portal-brand="yayasan"] .auth-tabs button{min-height:40px!important;border:0;border-radius:var(--radius-md,10px);background:transparent;color:var(--theme-text-muted,#60758d);font-size:12px;font-weight:800;cursor:pointer!important;}
html[data-portal-brand="yayasan"] .auth-tabs button.active{background:var(--theme-surface,#fff);color:var(--tone-075da9,#075da9);box-shadow:0 3px 10px rgba(15,23,42,.08);}
html[data-portal-brand="yayasan"] .login-methods{display:grid!important;grid-template-columns:1fr 1fr!important;gap:8px!important;margin:0 0 15px!important;}
html[data-portal-brand="yayasan"] .login-methods>button,
html[data-portal-brand="yayasan"] .login-methods>button.active{min-height:62px!important;padding:10px 12px!important;border:1px solid var(--theme-border,#d9e8f5);border-radius:var(--radius-md-lg,12px);background:var(--theme-surface,#fff);text-align:left!important;color:var(--theme-text-muted,#60758d);box-shadow:none;cursor:pointer!important;}
html[data-portal-brand="yayasan"] .login-methods>button b{display:block!important;color:inherit;font-size:12px;}
html[data-portal-brand="yayasan"] .login-methods>button span{display:block!important;margin-top:3px!important;color:var(--theme-text-subtle,#7e90a5);font-size:10px;line-height:1.35;}
html[data-portal-brand="yayasan"] .login-methods>button[aria-selected="true"]{border-color:var(--tone-0b6fc4,#0b6fc4);background:var(--tone-0b6fc4,#0b6fc4);color:var(--theme-surface,#fff);box-shadow:0 7px 17px rgba(6,93,169,.18);}
html[data-portal-brand="yayasan"] .login-methods>button[aria-selected="true"] span{color:#dbeafe;}
html[data-portal-brand="yayasan"] .form-stack{gap:13px!important;}
html[data-portal-brand="yayasan"] .form-stack label{gap:7px!important;color:var(--theme-text-strong,#123d6b);font-size:12px;font-weight:750;}
html[data-portal-brand="yayasan"] .form-stack input:not([type="checkbox"]){height:48px!important;padding:0 14px!important;border:1px solid var(--tone-cbd5e1,#cbd5e1);border-radius:var(--radius-md-lg,12px);background:var(--theme-surface,#fff);color:var(--theme-text,#0a2342);font-size:14px;box-shadow:0 1px 2px rgba(15,23,42,.03);}
html[data-portal-brand="yayasan"] .form-stack input:not([type="checkbox"]):focus{border-color:#178ee5;box-shadow:0 0 0 3px rgba(23,142,229,.13);outline:none;}
html[data-portal-brand="yayasan"] .auth-password-wrap{position:relative!important;display:block!important;}
html[data-portal-brand="yayasan"] .auth-password-wrap input{width:100%!important;padding-right:92px!important;}
html[data-portal-brand="yayasan"] .auth-password-wrap button{position:absolute!important;right:7px!important;top:7px!important;height:34px!important;padding:0 10px!important;border:0;border-radius:var(--radius-sm,8px);background:var(--tone-eef6ff,#eef6ff);color:var(--tone-075da9,#075da9);font-size:11px;font-weight:800;cursor:pointer!important;}
html[data-portal-brand="yayasan"] .auth-card .primary{width:100%!important;min-height:48px!important;border:0;border-radius:var(--radius-md-lg,12px);background:linear-gradient(135deg,#086bb7,#064a9b);color:var(--theme-surface,#fff);font-size:13px;font-weight:850;box-shadow:0 9px 22px rgba(11,111,196,.19);cursor:pointer!important;}
html[data-portal-brand="yayasan"] #foundationGoogleLogin.google-button{position:relative!important;display:flex!important;align-items:center!important;justify-content:center!important;gap:10px!important;width:100%!important;min-height:48px!important;padding:0 16px!important;border:1px solid var(--tone-cbd5e1,#cbd5e1);border-radius:var(--radius-md-lg,12px);background:var(--theme-surface,#fff);color:#243244;font-family:inherit;font-size:13px;font-weight:800;line-height:1;text-indent:0!important;opacity:1!important;visibility:visible!important;box-shadow:0 3px 10px var(--tone-09a9070d,rgba(15,23,42,.06));cursor:pointer!important;}
html[data-portal-brand="yayasan"] #foundationGoogleLogin.google-button::before{content:""!important;display:block!important;flex:0 0 24px!important;width:24px!important;height:24px!important;border:1px solid #e3e8ef;border-radius:50%;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%234285F4' d='M21.35 12.27c0-.74-.07-1.45-.19-2.14H12v4.05h5.24a4.48 4.48 0 0 1-1.94 2.94v2.62h3.14c1.84-1.69 2.91-4.18 2.91-7.47z'/%3E%3Cpath fill='%2334A853' d='M12 21.75c2.63 0 4.84-.87 6.45-2.36l-3.14-2.62c-.87.58-1.98.92-3.31.92-2.54 0-4.69-1.72-5.46-4.03H3.29v2.7A9.75 9.75 0 0 0 12 21.75z'/%3E%3Cpath fill='%23FBBC05' d='M6.54 13.66A5.86 5.86 0 0 1 6.23 12c0-.58.1-1.14.31-1.66v-2.7H3.29A9.75 9.75 0 0 0 2.25 12c0 1.57.38 3.05 1.04 4.36l3.25-2.7z'/%3E%3Cpath fill='%23EA4335' d='M12 6.31c1.43 0 2.71.49 3.72 1.45l2.79-2.79C16.84 3.41 14.63 2.25 12 2.25A9.75 9.75 0 0 0 3.29 7.64l3.25 2.7C7.31 8.03 9.46 6.31 12 6.31z'/%3E%3C/svg%3E") center/18px 18px no-repeat;box-shadow:none;}
html[data-portal-brand="yayasan"] #foundationGoogleLogin.google-button:hover{background:var(--theme-surface-soft,#f7fbff);border-color:#b9c6d5;}
html[data-portal-brand="yayasan"] .auth-helper{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:12px!important;margin-top:-2px!important;}
html[data-portal-brand="yayasan"] .auth-helper small{margin:0!important;color:var(--theme-text-subtle,#7e90a5);font-size:11px;line-height:1.45;}
html[data-portal-brand="yayasan"] .auth-link{border:0;background:none;color:var(--tone-075da9,#075da9);font-size:11px;font-weight:800;padding:3px 0!important;cursor:pointer!important;text-decoration:none;white-space:nowrap!important;}
html[data-portal-brand="yayasan"] .auth-register-note{margin:15px 0 0!important;text-align:center!important;color:var(--theme-text-muted,#60758d);font-size:11px;line-height:1.45;}
html[data-portal-brand="yayasan"] .auth-register-note button{border:0;background:none;color:var(--tone-075da9,#075da9);font-weight:850;cursor:pointer!important;padding:0 2px!important;}
html[data-portal-brand="yayasan"] .auth-help-box{margin-top:14px!important;padding:12px 13px!important;border:1px solid #bfdbfe;border-radius:var(--radius-md-lg,12px);background:var(--tone-eff6ff,#eff6ff);color:#1e4f7a;font-size:11px;line-height:1.55;}
html[data-portal-brand="yayasan"] .auth-help-box b{display:block!important;margin-bottom:3px!important;color:#0f4d87;font-size:12px;}
html[data-portal-brand="yayasan"] .auth-check-row{display:grid!important;grid-template-columns:18px 1fr!important;align-items:start!important;gap:9px!important;padding:10px 11px!important;border:1px solid var(--theme-border,#d9e8f5);border-radius:11px;background:var(--theme-surface-soft,#f7fbff);font-weight:600;color:var(--theme-text-muted,#60758d);line-height:1.45;}
html[data-portal-brand="yayasan"] .auth-check-row input{width:17px!important;height:17px!important;margin:1px 0 0!important;accent-color:#0879d0;}
@media (max-width:620px){html[data-portal-brand="yayasan"] .auth-screen{padding:12px!important;align-items:flex-start!important;}
html[data-portal-brand="yayasan"] .auth-card{margin:auto 0!important;padding:24px 18px 22px!important;border-radius:var(--radius-3xl,20px);}
html[data-portal-brand="yayasan"] .auth-brand img.eduvia-auth-logo{height:68px!important;margin-bottom:14px!important;}
html[data-portal-brand="yayasan"] .auth-brand h1{font-size:21px;}
html[data-portal-brand="yayasan"] .login-methods{grid-template-columns:1fr!important;}}
html[data-portal-brand] header[data-eduvia-unified-header]{overflow:visible!important;}
html[data-portal-brand] [data-eduvia-unified-actions]{box-sizing:border-box!important;display:flex!important;flex:0 0 auto!important;flex-wrap:nowrap!important;align-items:center!important;justify-content:flex-end!important;gap:8px!important;min-width:0!important;}
html[data-portal-brand] #portalAppDownloadHost{order:10!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;width:auto!important;height:42px!important;min-height:42px!important;max-height:42px!important;margin:0!important;gap:8px!important;}
html[data-portal-brand] #portalAppDownloadHost .portal-app-download-desktop{display:inline-flex!important;align-items:center!important;gap:8px!important;}
html[data-portal-brand] #portalAppDownloadHost .portal-app-download-mobile{display:none!important;}
html[data-portal-brand] [data-eduvia-unified-action="android"],
html[data-portal-brand] [data-eduvia-unified-action="windows"],
html[data-portal-brand] [data-eduvia-unified-action="settings"],
html[data-portal-brand] [data-eduvia-unified-action="notification"]{box-sizing:border-box!important;appearance:none!important;display:inline-flex!important;flex:0 0 42px!important;align-items:center!important;justify-content:center!important;width:42px!important;min-width:42px!important;max-width:42px!important;height:42px!important;min-height:42px!important;max-height:42px!important;margin:0!important;padding:0!important;border:1px solid rgba(8, 104, 166, .13);border-radius:var(--radius-lg,14px);background:#f7fbfe;color:#0875bf;text-decoration:none;box-shadow:0 5px 16px rgba(13, 67, 103, .06);line-height:0;transform:none!important;cursor:pointer!important;}
html[data-portal-brand] [data-eduvia-unified-action="premium"]{box-sizing:border-box!important;appearance:none!important;position:relative!important;display:inline-flex!important;flex:0 0 42px!important;align-items:center!important;justify-content:center!important;width:42px!important;min-width:42px!important;max-width:42px!important;height:42px!important;min-height:42px!important;max-height:42px!important;margin:0!important;padding:0!important;overflow:visible!important;border:0;border-radius:var(--radius-lg,14px);background:var(--tone-eef7f4,#eef7f4);color:#6f8b82;box-shadow:0 5px 14px rgba(28, 75, 61, .08);font-size:0;line-height:0;transform:none!important;cursor:pointer!important;}
html[data-portal-brand] [data-eduvia-unified-action="premium"][data-eduvia-premium-state-v16="active"],
html[data-portal-brand] [data-eduvia-unified-action="premium"].is-active:not([data-eduvia-premium-state-v16]){border:1px solid rgba(16, 185, 129, .20);background:linear-gradient(145deg, #12b989, #079c71);color:var(--theme-surface,#fff);box-shadow:0 7px 17px rgba(4, 151, 107, .22);}
html[data-portal-brand] [data-eduvia-unified-action="premium"][data-eduvia-premium-state-v16="free"],
html[data-portal-brand] [data-eduvia-unified-action="premium"].is-free:not([data-eduvia-premium-state-v16]){flex-basis:122px!important;width:122px!important;min-width:122px!important;max-width:122px!important;gap:6px!important;padding:0 11px!important;border:1px solid rgba(217, 119, 6, .22);background:linear-gradient(145deg, #ffbf3f, #f08b22);color:var(--theme-surface,#fff);box-shadow:0 7px 17px rgba(238, 139, 31, .22);line-height:1;white-space:nowrap!important;}
html[data-portal-brand] [data-eduvia-unified-action="premium"][data-eduvia-premium-state-v16="free"]::before,
html[data-portal-brand] [data-eduvia-unified-action="premium"].is-free:not([data-eduvia-premium-state-v16])::before{content:"";position:absolute;top:-3px;right:-3px;width:10px;height:10px;border-radius:var(--radius-pill,999px);background:#ff3855;box-shadow:0 0 0 3px var(--theme-surface,#fff);}
html[data-portal-brand] [data-eduvia-unified-action="premium"][data-eduvia-premium-state-v16="free"]::after,
html[data-portal-brand] [data-eduvia-unified-action="premium"].is-free:not([data-eduvia-premium-state-v16])::after{content:"Upgrade ke Pro"!important;display:inline-block!important;min-width:0!important;color:var(--theme-surface,#fff);font:800 11px/1.05 "Outfit",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;letter-spacing:-.015em;text-shadow:0 1px 0 rgba(120, 53, 15, .12);}
html[data-portal-brand] [data-eduvia-unified-action="premium"] > span:not(.absolute),
html[data-portal-brand] [data-eduvia-unified-action="premium"] > [data-school-premium-label-v19],
html[data-portal-brand] [data-eduvia-unified-action="premium"] > [data-eduvia-premium-label-v16],
html[data-portal-brand] [data-eduvia-unified-action="premium"] > span.absolute{display:none!important;}
html[data-portal-brand] [data-eduvia-unified-action] > svg,
html[data-portal-brand] [data-eduvia-unified-action] svg{display:block!important;flex:0 0 20px!important;width:20px!important;min-width:20px!important;max-width:20px!important;height:20px!important;min-height:20px!important;max-height:20px!important;fill:none;stroke:currentColor;stroke-width:1.8!important;stroke-linecap:round!important;stroke-linejoin:round!important;}
html[data-portal-brand] [data-eduvia-unified-action="windows"] svg{fill:currentColor;stroke:none;}
html[data-portal-brand] [data-eduvia-unified-action="profile"]{box-sizing:border-box!important;appearance:none!important;display:inline-flex!important;flex:0 0 42px!important;align-items:center!important;justify-content:center!important;width:42px!important;min-width:42px!important;max-width:42px!important;height:42px!important;min-height:42px!important;max-height:42px!important;margin:0!important;padding:0!important;overflow:hidden!important;border:2px solid var(--theme-surface,#fff);border-radius:var(--radius-lg,14px);background:#eaf5fc;color:#0875bf;box-shadow:0 0 0 1px rgba(8, 104, 166, .16), 0 5px 16px rgba(13, 67, 103, .075);cursor:pointer!important;}
html[data-portal-brand] [data-eduvia-unified-action="profile"] > img,
html[data-portal-brand] [data-eduvia-unified-action="profile"] #adminPhoto,
html[data-portal-brand] [data-eduvia-unified-action="profile"] > span#foundationAvatar{display:flex!important;align-items:center!important;justify-content:center!important;width:100%!important;min-width:100%!important;max-width:100%!important;height:100%!important;min-height:100%!important;max-height:100%!important;border-radius:var(--radius-md-lg,12px);object-fit:cover!important;object-position:center!important;}
html[data-portal-brand="yayasan"] #foundationProfileButton[data-eduvia-unified-action="profile"] > div,
html[data-portal-brand="yayasan"] #foundationProfileButton[data-eduvia-unified-action="profile"] > .profile-chevron{display:none!important;}
html[data-portal-brand] [data-eduvia-unified-item="premium"]{order:20!important;}
html[data-portal-brand] [data-eduvia-unified-item="student-actions"]{order:20!important;}
html[data-portal-brand] [data-eduvia-unified-item="settings"]{order:30!important;}
html[data-portal-brand] [data-eduvia-unified-item="notification"]{order:40!important;}
html[data-portal-brand] [data-eduvia-unified-item="profile"]{order:50!important;}
html[data-portal-brand] [data-eduvia-unified-item="notification"],
html[data-portal-brand] #portal-subscription-notifications,
html[data-portal-brand] #portalManagementNotifications{position:relative!important;flex:0 0 42px!important;width:42px!important;min-width:42px!important;max-width:42px!important;height:42px!important;min-height:42px!important;max-height:42px!important;margin:0!important;}


html[data-portal-brand] #portalAppDownloadHost [data-platform="android"]{position:relative!important;}
html[data-portal-brand] #portalAppDownloadHost [data-platform="android"].has-apk-update::after{content:"";position:absolute;top:-3px;right:-3px;width:10px;height:10px;border-radius:var(--radius-pill,999px);background:#ff2e4d;box-shadow:0 0 0 3px var(--theme-surface,#fff), 0 4px 12px rgba(255, 46, 77, .28);z-index:5;}
.portal-unified-status-v15{position:fixed;top:max(78px, calc(env(safe-area-inset-top) + 68px));right:18px;z-index:2147483000;display:grid;gap:3px;width:min(330px, calc(100vw - 32px));padding:13px 15px;border:1px solid rgba(7, 156, 113, .2);border-radius:var(--radius-xl,16px);background:rgba(255, 255, 255, .98);color:#12382d;box-shadow:0 18px 45px rgba(13, 67, 103, .16);font:700 12px/1.45 "Outfit",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;opacity:0;visibility:hidden;transform:translateY(-8px);}
.portal-unified-status-v15 b{font-size:13px;}
.portal-unified-status-v15 span{color:#648078;}
.portal-unified-status-v15.is-visible{opacity:1;visibility:visible;transform:none;}
@media (hover:hover) and (pointer:fine){html[data-portal-brand] [data-eduvia-unified-action]:hover{transform:translateY(-1px)!important;filter:saturate(1.03)!important;box-shadow:0 7px 18px rgba(13, 67, 103, .10);}}
@media (max-width:760px){html[data-portal-brand] header[data-eduvia-unified-header]{box-sizing:border-box!important;display:flex!important;flex-direction:column!important;align-items:stretch!important;justify-content:center!important;gap:7px!important;width:100%!important;height:auto!important;min-height:0!important;padding:8px max(12px, env(safe-area-inset-right)) 8px max(12px, env(safe-area-inset-left))!important;}
html[data-portal-brand] header[data-eduvia-unified-header] > :not([data-eduvia-unified-actions]){box-sizing:border-box!important;width:100%!important;min-width:0!important;margin:0!important;text-align:center!important;}
html[data-portal-brand] [data-eduvia-unified-actions]{position:static!important;inset:auto!important;align-self:stretch!important;justify-content:center!important;width:100%!important;min-width:100%!important;max-width:none!important;min-height:38px!important;margin:0 auto!important;padding:0!important;gap:7px!important;transform:none!important;}
html[data-portal-brand] #portalAppDownloadHost,
  html[data-portal-brand] #portalAppDownloadHost .portal-app-download-desktop{display:inline-flex!important;height:38px!important;min-height:38px!important;max-height:38px!important;gap:7px!important;}
html[data-portal-brand] #portalAppDownloadHost .portal-app-download-mobile{display:none!important;}
html[data-portal-brand] [data-eduvia-unified-action],
  html[data-portal-brand] [data-eduvia-unified-item="notification"],
  html[data-portal-brand] #portal-subscription-notifications,
  html[data-portal-brand] #portalManagementNotifications{flex-basis:38px!important;width:38px!important;min-width:38px!important;max-width:38px!important;height:38px!important;min-height:38px!important;max-height:38px!important;border-radius:var(--radius-md-lg,12px);}
html[data-portal-brand] [data-eduvia-unified-action="premium"][data-eduvia-premium-state-v16="free"],
  html[data-portal-brand] [data-eduvia-unified-action="premium"].is-free:not([data-eduvia-premium-state-v16]){flex-basis:104px!important;width:104px!important;min-width:104px!important;max-width:104px!important;gap:4px!important;padding:0 8px!important;}
html[data-portal-brand] [data-eduvia-unified-action="premium"][data-eduvia-premium-state-v16="free"]::after,
  html[data-portal-brand] [data-eduvia-unified-action="premium"].is-free:not([data-eduvia-premium-state-v16])::after{font-size:10px;}
}
@media (max-width:360px){html[data-portal-brand] [data-eduvia-unified-actions],
html[data-portal-brand] #portalAppDownloadHost,
html[data-portal-brand] #portalAppDownloadHost .portal-app-download-desktop{gap:5px!important;}
html[data-portal-brand] [data-eduvia-unified-action],
  html[data-portal-brand] [data-eduvia-unified-item="notification"],
  html[data-portal-brand] #portal-subscription-notifications,
  html[data-portal-brand] #portalManagementNotifications{flex-basis:34px!important;width:34px!important;min-width:34px!important;max-width:34px!important;height:34px!important;min-height:34px!important;max-height:34px!important;border-radius:11px;}
html[data-portal-brand] [data-eduvia-unified-action="premium"][data-eduvia-premium-state-v16="free"],
  html[data-portal-brand] [data-eduvia-unified-action="premium"].is-free:not([data-eduvia-premium-state-v16]){flex-basis:92px!important;width:92px!important;min-width:92px!important;max-width:92px!important;gap:3px!important;padding:0 6px!important;}
html[data-portal-brand] [data-eduvia-unified-action="premium"][data-eduvia-premium-state-v16="free"]::after,
  html[data-portal-brand] [data-eduvia-unified-action="premium"].is-free:not([data-eduvia-premium-state-v16])::after{font-size:9px;letter-spacing:-.025em;}
html[data-portal-brand] #portalAppDownloadHost{height:34px!important;min-height:34px!important;max-height:34px!important;}
html[data-portal-brand] [data-eduvia-unified-action] > svg,
  html[data-portal-brand] [data-eduvia-unified-action] svg{flex-basis:18px!important;width:18px!important;min-width:18px!important;max-width:18px!important;height:18px!important;min-height:18px!important;max-height:18px!important;}}
@media (min-width:761px){html[data-portal-brand="yayasan"] .foundation-app #foundationNav{display:flex!important;flex-direction:column!important;gap:6px!important;min-height:0!important;}
html[data-portal-brand="yayasan"] .foundation-app #foundationNav>.foundation-contact-v36{display:grid!important;gap:3px!important;margin-top:auto!important;padding:28px 12px 10px!important;border-top:1px solid rgba(196,181,253,.20)!important;color:#b8abc9;}
html[data-portal-brand="yayasan"] .foundation-app #foundationNav>.foundation-contact-v36 small{color:#a99cbc;font-size:9px;font-weight:900;letter-spacing:.12em;text-transform:uppercase;}
html[data-portal-brand="yayasan"] .foundation-app #foundationNav>.foundation-contact-v36 a{color:#c7bdd6;font-size:10px;font-weight:700;line-height:1.45;text-decoration:none;overflow-wrap:anywhere!important;}
html[data-portal-brand="yayasan"] .foundation-app #foundationNav>#foundationLogout{box-sizing:border-box!important;display:flex!important;align-items:center!important;gap:11px!important;width:100%!important;min-height:46px!important;margin:0!important;padding:0 13px!important;border:1px solid var(--theme-danger-light,#ef4444);border-left-width:2px!important;border-radius:var(--radius-md-lg,12px);background:var(--tone-fff7f7,#fff7f7);color:var(--theme-danger,#b91c1c);box-shadow:inset 3px 0 0 var(--theme-danger-light,#ef4444),0 7px 16px rgba(127,29,29,.09);font-size:12px;font-weight:800;text-align:left!important;}
html[data-portal-brand="yayasan"] .foundation-app #foundationNav>#foundationLogout>.nav-icon{display:block!important;flex:0 0 19px!important;width:19px!important;height:19px!important;fill:none;stroke:currentColor;stroke-width:1.9!important;}
html[data-portal-brand="yayasan"] .foundation-app #foundationNav>#foundationLogout:is(:hover,:focus-visible){border-color:var(--theme-danger,#b91c1c);background:var(--theme-danger-light,#ef4444);color:var(--theme-surface,#fff);box-shadow:inset 3px 0 0 var(--tone-991b1b,#991b1b),0 10px 22px rgba(239,68,68,.20);}}
@media (max-width:760px){.foundation-contact-v36{display:none!important;}}
.foundation-mobile-contact-v36{display:none;}
@media (max-width:760px){html[data-portal-brand="yayasan"] #foundationProfileMenu>.foundation-mobile-contact-v36{display:grid!important;gap:3px!important;margin:12px 0 6px!important;padding:28px 12px 10px!important;border-top:1px solid rgba(196,181,253,.18)!important;border-bottom:1px solid rgba(196,181,253,.14)!important;color:#847793;}
html[data-portal-brand="yayasan"] #foundationProfileMenu>.foundation-mobile-contact-v36 small{font-size:9px;font-weight:900;letter-spacing:.12em;text-transform:uppercase;color:#8c7e9b;}
html[data-portal-brand="yayasan"] #foundationProfileMenu>.foundation-mobile-contact-v36 a{font-size:10px;font-weight:700;line-height:1.45;color:#76678a;text-decoration:none;overflow-wrap:anywhere!important;}}
html[data-eduvia-product="pendidikan"] body,
html[data-eduvia-product="pendidikan"] button,
html[data-eduvia-product="pendidikan"] input,
html[data-eduvia-product="pendidikan"] select,
html[data-eduvia-product="pendidikan"] textarea{font-family:"Outfit",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;}
html[data-eduvia-product="pendidikan"] button,
html[data-eduvia-product="pendidikan"] a[role="button"]{-webkit-tap-highlight-color:transparent;}
html[data-eduvia-portal="guru"] .portal-guru-dashboard{gap:14px!important;}
html[data-eduvia-portal="guru"]
  .portal-guru-dashboard
  > .portal-school-report-gradient{min-height:0!important;margin:0!important;padding:20px!important;border:1px solid var(--eduvia-shared-line);border-radius:var(--radius-2xl,18px);background:var(--eduvia-shared-surface);color:var(--eduvia-shared-ink);box-shadow:none;}
html[data-eduvia-portal="guru"]
  .portal-guru-dashboard
  > .portal-school-report-gradient::before,
html[data-eduvia-portal="guru"]
  .portal-guru-dashboard
  > .portal-school-report-gradient::after{content:none!important;display:none!important;}
html[data-eduvia-portal="guru"]
  .portal-guru-dashboard
  > .portal-school-report-gradient
  :is(h1, h2, h3, p, span, b, strong){color:var(--eduvia-shared-ink);-webkit-text-fill-color:var(--eduvia-shared-ink)!important;text-shadow:none;}
html[data-eduvia-portal="guru"]
  .portal-guru-dashboard
  > .portal-school-report-gradient
  h2{margin-bottom:6px!important;font-size:clamp(20px, 2.4vw, 27px);line-height:1.18;}
html[data-eduvia-portal="guru"]
  .portal-guru-dashboard
  > .portal-school-report-gradient
  p{max-width:720px!important;margin:0!important;color:var(--eduvia-shared-muted);-webkit-text-fill-color:var(--eduvia-shared-muted)!important;opacity:1!important;line-height:1.55;}
html[data-eduvia-portal="guru"] .eduvia-dashboard-metrics{gap:10px!important;}
html[data-eduvia-portal="guru"] .eduvia-dashboard-metric{min-width:0!important;min-height:68px!important;padding:12px 13px!important;border:1px solid var(--eduvia-shared-line);border-radius:15px;background:var(--eduvia-shared-surface);box-shadow:none;display:grid!important;grid-template-columns:34px minmax(0, 1fr)!important;align-items:center!important;justify-content:initial!important;gap:10px!important;transform:none!important;}
html[data-eduvia-portal="guru"] .eduvia-dashboard-metric > :first-child{width:34px!important;height:34px!important;min-width:34px!important;margin:0!important;border-radius:var(--radius-md,10px);}
html[data-eduvia-portal="guru"] .eduvia-dashboard-metric > :last-child{min-width:0!important;}
html[data-eduvia-portal="guru"] .eduvia-dashboard-metric > :last-child > p:first-child{margin:0!important;font-size:21px;line-height:1;}
html[data-eduvia-portal="guru"] .eduvia-dashboard-metric > :last-child > p:last-child{margin:5px 0 0!important;overflow:hidden!important;color:var(--eduvia-shared-muted);font-size:10px;line-height:1.2;text-overflow:ellipsis!important;white-space:nowrap!important;}
html[data-eduvia-product="pendidikan"].eduvia-dashboard-ready
  :is(.hero-panel, .dashboard-hero, .welcome-panel){border:1px solid var(--eduvia-shared-line);border-radius:var(--radius-2xl,18px);background:var(--eduvia-shared-surface);color:var(--eduvia-shared-ink);box-shadow:none;}
html[data-eduvia-product="pendidikan"].eduvia-dashboard-ready
  :is(.hero-panel, .dashboard-hero, .welcome-panel)
  :is(h1, h2, h3, p, span, small, b){color:inherit;-webkit-text-fill-color:currentColor!important;}
html[data-eduvia-product="pendidikan"].eduvia-dashboard-ready
  :is(.stats, .summary-grid)
  :is(.stat, .summary-card){padding:13px!important;border:1px solid var(--eduvia-shared-line);border-radius:15px;background:var(--eduvia-shared-surface);box-shadow:none;}
















@media (max-width: 640px){html[data-eduvia-product="pendidikan"][data-eduvia-portal="pemilih"] main{width:100%!important;padding-inline:14px!important;}
html[data-eduvia-product="pendidikan"][data-eduvia-portal="pemilih"] .selector{padding:16px 0!important;}
html[data-eduvia-product="pendidikan"][data-eduvia-portal="pemilih"] .selector-head{margin-bottom:10px!important;}
html[data-eduvia-product="pendidikan"][data-eduvia-portal="pemilih"]
    .selector-head
    :is(p, .secure-status){display:none!important;}
html[data-eduvia-product="pendidikan"][data-eduvia-portal="pemilih"] .portal-grid{display:grid!important;grid-template-columns:repeat(2, minmax(0, 1fr))!important;align-items:stretch!important;gap:12px!important;}
html[data-eduvia-product="pendidikan"][data-eduvia-portal="pemilih"] .portal-card{min-width:0!important;min-height:0!important;aspect-ratio:1 / 1!important;padding:8px 6px!important;border:1px solid #e2eaf3;border-radius:var(--radius-4xl,22px);background:var(--theme-surface,#fff);box-shadow:0 9px 24px rgba(8, 48, 110, 0.08);display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;gap:5px!important;overflow:hidden!important;text-align:center!important;transform:none!important;}
html[data-eduvia-product="pendidikan"][data-eduvia-portal="pemilih"] .portal-card .card-top{display:flex!important;width:100%!important;align-items:center!important;justify-content:center!important;margin:0!important;}
html[data-eduvia-product="pendidikan"][data-eduvia-portal="pemilih"] .portal-card .portal-icon{display:grid!important;width:min(82%, 168px)!important;height:auto!important;aspect-ratio:1 / 1!important;flex:0 0 auto!important;margin:0!important;border:1px solid var(--tone-01195772,rgba(7, 142, 232, 0.12));border-radius:clamp(var(--radius-3xl,20px), 6vw, 32px);background:linear-gradient(145deg, var(--theme-surface,#fff), #f2f8fd);box-shadow:0 7px 18px rgba(8, 48, 110, 0.09);}
html[data-eduvia-product="pendidikan"][data-eduvia-portal="pemilih"]
    .portal-card
    .portal-icon
    .portal-art{display:block!important;inset:-6px!important;width:auto!important;height:auto!important;background-size:200% 200%!important;}
html[data-eduvia-product="pendidikan"][data-eduvia-portal="pemilih"] .portal-card .portal-copy{display:block!important;width:100%!important;min-width:0!important;margin:0!important;text-align:center!important;}
html[data-eduvia-product="pendidikan"][data-eduvia-portal="pemilih"] .portal-card .portal-copy h2{margin:0!important;color:var(--eduvia-shared-ink);font-size:clamp(12px, 3.5vw, 15px);font-weight:750;line-height:1.22;text-align:center!important;text-wrap:balance!important;}
html[data-eduvia-product="pendidikan"][data-eduvia-portal="pemilih"]
    .portal-card
    :is(.number, .enter, .portal-copy small, .portal-copy p){display:none!important;}
html[data-eduvia-portal="guru"]
    .portal-guru-dashboard
    > .portal-school-report-gradient{padding:16px!important;}
html[data-eduvia-portal="guru"] .eduvia-dashboard-metrics{grid-template-columns:repeat(2, minmax(0, 1fr))!important;gap:8px!important;}
html[data-eduvia-portal="guru"] .eduvia-dashboard-metric{min-height:62px!important;padding:10px!important;grid-template-columns:30px minmax(0, 1fr)!important;gap:8px!important;}
html[data-eduvia-portal="guru"] .eduvia-dashboard-metric > :first-child{width:30px!important;height:30px!important;min-width:30px!important;}
html[data-eduvia-portal="guru"]
    .eduvia-dashboard-metric
    > :last-child
    > p:first-child{font-size:18px;}

}
html.portal-play-consumption-only .play-purchase-only,
    html.portal-play-consumption-only .portal-play-purchase-overlay,
    html.portal-play-consumption-only .school-payment,
    html.portal-play-consumption-only .foundation-qris-payment,
    html.portal-play-consumption-only .subscription-upgrade-grid,
    html.portal-play-consumption-only #quoteForm,
    html.portal-play-consumption-only #foundationSubscriptionForm,
    html.portal-play-consumption-only #paySchoolPlan,
    html.portal-play-consumption-only #sendSchoolPayment,
    html.portal-play-consumption-only #submitFoundationQris,
    html.portal-play-consumption-only #openUpgradeFromModal,
    html.portal-play-consumption-only .qris-wrap,
    html.portal-play-consumption-only img[src*="qris-eduvia-payment-v153"],
    html.portal-play-consumption-only img[src*="qris-digital-network"]{display:none!important;}
html.portal-play-consumption-only [data-play-purchase-control="hidden"]{display:none!important;}
html.portal-play-consumption-only [data-play-purchase-control="status"]{cursor:default!important;}
#portalPlayAccessNotice{position:fixed;inset:0;z-index:2147483647;display:grid;place-items:center;padding:20px;background:rgba(15, 23, 42, .58);}
#portalPlayAccessNotice[hidden]{display:none!important;}
#portalPlayAccessNotice > div{width:min(100%, 390px);padding:24px;border-radius:var(--radius-5xl,24px);background:var(--theme-surface,#fff);box-shadow:0 24px 70px rgba(15, 23, 42, .28);text-align:center;font-family:"Outfit",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;}
#portalPlayAccessNotice strong{display:block;color:var(--theme-text,#0a2342);font-size:19px;}
#portalPlayAccessNotice p{margin:10px 0 18px;color:var(--theme-text-muted,#60758d);font-size:14px;line-height:1.6;}
#portalPlayAccessNotice button{width:100%;min-height:46px;border:0;border-radius:var(--radius-lg,14px);background:var(--theme-primary,#078ee8);color:var(--theme-surface,#fff);font-weight:800;}
#portal-notification-permission-v78{position:fixed;top:auto;right:16px;bottom:calc(16px + env(safe-area-inset-bottom));left:auto;z-index:2147483000;display:flex;flex-direction:row;align-items:center;justify-content:flex-start;gap:11px;width:min(440px,calc(100vw - 32px));height:auto;min-height:0;max-height:none;margin:0;padding:13px 14px;overflow:visible;background:var(--theme-surface,#fff);color:#152238;border:1px solid #d9e4e1;border-radius:var(--radius-2xl,18px);box-shadow:0 18px 55px var(--tone-b001a3a2,rgba(15,23,42,.22));font-family:"Outfit",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;text-align:left;}
#portal-notification-permission-v78>span{width:38px;height:38px;display:grid;place-items:center;flex:0 0 auto;border-radius:var(--radius-md-lg,12px);background:var(--theme-primary-soft,#f0f8ff);font-size:20px;}
#portal-notification-permission-v78>div{min-width:0;flex:1;}
#portal-notification-permission-v78 b{display:block;font-size:14px;line-height:1.3;}
#portal-notification-permission-v78 small{display:block;margin-top:3px;color:var(--theme-text-muted,#60758d);font-size:11.5px;line-height:1.4;}
#portal-notification-permission-v78 button{border:0;cursor:pointer;font:800 12px/1 "Outfit",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;}
#portal-notification-permission-v78 [data-enable-notification]{padding:10px 12px;border-radius:11px;background:var(--theme-primary,#078ee8);color:var(--theme-surface,#fff);}
#portal-notification-permission-v78 [data-dismiss-notification]{padding:8px;background:transparent;color:var(--theme-text-muted,#60758d);font-size:19px;}
#portal-global-notification-v78{position:fixed;right:max(18px,env(safe-area-inset-right));bottom:calc(18px + env(safe-area-inset-bottom));top:auto;left:auto;z-index:2147483001;display:flex;align-items:center;gap:12px;width:min(520px,calc(100vw - 36px));max-width:calc(100vw - 36px);min-width:0;box-sizing:border-box;padding:14px 46px 14px 16px;overflow:hidden;background:var(--theme-surface,#fff);color:#172033;border:1px solid #dce7e4;border-radius:18px;box-shadow:0 18px 48px rgba(15,23,42,.20);font-family:"Outfit",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;opacity:0;transform:translateY(14px);pointer-events:none;transition:opacity .18s ease,transform .18s ease;}
#portal-global-notification-v78.is-visible{opacity:1;transform:translateY(0);}
#portal-global-notification-v78.is-actionable{pointer-events:auto;cursor:pointer;}
#portal-global-notification-v78.is-closable{pointer-events:auto;}
#portal-global-notification-v78>span{width:40px;height:40px;display:grid;place-items:center;flex:0 0 auto;border-radius:50%;background:#e8f4ff;color:#0756a5;font-weight:900;}
#portal-global-notification-v78[data-type="error"]>span{background:#fee2e2;color:#b91c1c;}
#portal-global-notification-v78[data-type="warning"]>span{background:#fef3c7;color:#b45309;}
#portal-global-notification-v78 [data-notification-image]{width:68px;height:52px;max-width:26vw;flex:0 0 auto;border-radius:11px;object-fit:contain;background:#f3f6f8;}
#portal-global-notification-v78>div{min-width:0;flex:1 1 auto;overflow:hidden;}
#portal-global-notification-v78 b{display:block;max-width:100%;font-size:14px;line-height:1.35;color:#172033;white-space:normal;overflow-wrap:anywhere;word-break:break-word;}
#portal-global-notification-v78 p{margin:3px 0 0;max-width:100%;color:#64748b;font-size:12px;line-height:1.45;white-space:normal;overflow-wrap:anywhere;word-break:break-word;}
#portal-global-notification-v78 .portal-global-notification-close{position:absolute;top:9px;right:9px;width:30px;height:30px;display:grid;place-items:center;padding:0;border:0;border-radius:10px;background:#f1f5f9;color:#475569;font:700 20px/1 "Outfit",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;cursor:pointer;pointer-events:auto;}
#portal-global-notification-v78 .portal-global-notification-close:hover{background:#e2e8f0;color:#0f172a;}
#portal-global-notification-v78 .portal-global-notification-close[hidden]{display:none!important;}
@media (max-width:640px){#portal-global-notification-v78{top:calc(10px + env(safe-area-inset-top));bottom:auto;left:max(10px,env(safe-area-inset-left));right:max(10px,env(safe-area-inset-right));width:auto;max-width:none;padding:12px 43px 12px 13px;gap:10px;border-radius:16px;transform:translateY(-12px);}#portal-global-notification-v78.is-visible{transform:translateY(0);}#portal-global-notification-v78>span{width:36px;height:36px;}#portal-global-notification-v78 [data-notification-image]{width:56px;height:44px;max-width:22vw;}#portal-global-notification-v78 b{font-size:13px;}#portal-global-notification-v78 p{font-size:11.5px;line-height:1.4;}#portal-global-notification-v78 .portal-global-notification-close{top:8px;right:8px;width:28px;height:28px;font-size:18px;}}
@media (max-width:640px){#portal-notification-permission-v78{right:10px;bottom:calc(10px + env(safe-area-inset-bottom));width:calc(100vw - 20px);padding:11px;}
#portal-notification-permission-v78>span{display:none;}
#portal-notification-permission-v78 [data-enable-notification]{padding:9px 10px;}}
.eduvia-promo-box{margin:14px 0;padding:12px;border:1px solid #d9e6ee;border-radius:14px;background:#f8fbfd;}
.eduvia-promo-box>label{display:block;margin-bottom:7px;font-weight:800;color:#17324d;}
.eduvia-promo-box>div{display:grid;grid-template-columns:1fr auto;gap:8px;}
.eduvia-promo-box input{min-width:0;width:100%;text-transform:uppercase;}
.eduvia-promo-box .promo-status{display:block;margin-top:7px;color:#64748b;font-weight:600;line-height:1.45;}
.eduvia-promo-box .promo-status-success{color:#15803d;}
.eduvia-promo-box .promo-status-error{color:#dc2626;}
.payment-total .promo-price-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:6px;font-size:13px;}
.payment-total .promo-price-old,.payment-total .promo-price-cut{color:#dc2626;}
.payment-total .promo-price-old del{font-weight:800;}
.payment-total .promo-price-new{margin-top:9px;padding-top:9px;border-top:1px dashed rgba(21,128,61,.28);color:#15803d;font-weight:800;}
.payment-total .promo-price-new strong{font-size:24px;line-height:1.1;}
@media (max-width:520px){.eduvia-promo-box>div{grid-template-columns:1fr;}
.eduvia-promo-box button{width:100%;}
.payment-total .promo-price-row{font-size:12px;}}

/* ==========================================================================
   V114ZA — PREMIUM SEMESTER/TAHUNAN CONSULTATION CARD
   Canonical green consultation block. Replaces the passive legacy info card.
   ========================================================================== */
.contact-box.in-panel.subscription-consult-v114za{display:flex;align-items:center;justify-content:space-between;flex-wrap:nowrap;gap:16px;margin-top:16px;padding:16px 17px;border:1px solid #86efac;border-radius:18px;background:linear-gradient(135deg,#ecfdf5 0%,#f0fdf4 100%);box-shadow:0 8px 24px rgba(22,163,74,.08);font-size:13px;}
.subscription-consult-v114za-copy{min-width:0;flex:1;}
.contact-box.in-panel.subscription-consult-v114za .subscription-consult-v114za-copy b{display:block;width:auto;margin:0;color:#166534;font-size:14px;font-weight:900;line-height:1.35;}
.contact-box.in-panel.subscription-consult-v114za .subscription-consult-v114za-copy span{display:block;margin-top:6px;color:#3f6f52;font-size:12.5px;line-height:1.55;}
.contact-box.in-panel.subscription-consult-v114za .subscription-consult-v114za-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;flex:0 0 auto;min-height:42px;padding:0 15px;border:1px solid #16a34a;border-radius:13px;background:#16a34a;color:#fff!important;font-size:12.5px;font-weight:900;text-decoration:none!important;box-shadow:0 7px 18px rgba(22,163,74,.18);transition:transform .16s ease,background .16s ease,box-shadow .16s ease;}
.contact-box.in-panel.subscription-consult-v114za .subscription-consult-v114za-button svg{display:block;width:18px;height:18px;flex:0 0 18px;fill:currentColor;}
@media (hover:hover) and (pointer:fine){.contact-box.in-panel.subscription-consult-v114za .subscription-consult-v114za-button:hover{background:#15803d;transform:translateY(-1px);box-shadow:0 10px 22px rgba(22,163,74,.24);}}
@media (max-width:640px){.contact-box.in-panel.subscription-consult-v114za{align-items:stretch;flex-direction:column;}.contact-box.in-panel.subscription-consult-v114za .subscription-consult-v114za-button{width:100%;min-height:45px;}}

/* EDUVIA V115Y — menu Notifikasi Yayasan, visual mengikuti Portal Guru BK */
.foundation-notification-page-v115w{display:grid;gap:18px;}
.foundation-notification-page-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:22px;margin:0;padding:0;background:transparent;border:0;box-shadow:none;}
.foundation-notification-page-heading span{display:block;margin:0 0 7px;color:#0b6fb8;font-size:12px;font-weight:900;letter-spacing:.15em;text-transform:uppercase;}
.foundation-notification-page-heading h2{margin:0 0 7px;color:#17324d;font-size:30px;line-height:1.16;letter-spacing:-.035em;}
.foundation-notification-page-heading p{margin:0;max-width:660px;color:#64748b;font-size:12px;line-height:1.7;}
.foundation-notification-page-actions{display:flex;flex-wrap:wrap;gap:9px;justify-content:flex-end;}
.foundation-notification-page-actions .secondary{min-height:48px;padding:0 20px;border:1px solid #cbd5e1;border-radius:11px;background:#ffffff;color:#334155;font-weight:800;box-shadow:0 4px 0 #e2e8f0;}
.foundation-notification-page-list{padding:8px 10px;overflow:hidden;border:1px solid #dbe5ef;border-radius:16px;background:#f8fafc;box-shadow:0 5px 0 #e2e8f0,0 14px 28px rgba(15,23,42,.06);}
.foundation-notification-page-item{display:grid;grid-template-columns:12px minmax(0,1fr);gap:12px;width:100%;margin:0;padding:16px 14px;border:1px solid transparent;border-bottom:1px dashed #e2e8f0;border-radius:10px;background:#ffffff;text-align:left;cursor:pointer;color:#1e293b;box-shadow:none;transition:background .16s ease,border-color .16s ease,box-shadow .16s ease;}
.foundation-notification-page-item:last-child{border-bottom-color:transparent;}
.foundation-notification-page-item.unread{background:rgba(219,234,254,.72);}
.foundation-notification-page-item.read{margin:0;padding:16px 14px;background:#f1f5f9;border-radius:10px;}
.foundation-notification-page-item:is(:hover,:focus,:focus-visible,:active),.foundation-notification-page-item[aria-selected="true"]{background:rgba(219,234,254,.90)!important;border-color:#93c5fd!important;color:#17324d!important;box-shadow:inset 4px 0 0 #168fdd,0 3px 0 #dbeafe!important;outline:2px solid #bfdbfe!important;outline-offset:-2px!important;transform:none!important;}
.foundation-notification-page-dot{width:9px;height:9px;margin-top:5px;border:2px solid #dbeafe;border-radius:50%;background:#168fdd;box-shadow:0 0 0 1px #0b6fb8;}
.foundation-notification-page-item.read .foundation-notification-page-dot{border-color:#e2e8f0;background:#94a3b8;box-shadow:0 0 0 1px #64748b;}
.foundation-notification-page-copy{display:grid;gap:5px;min-width:0;}
.foundation-notification-page-copy b{display:block;color:#1e293b!important;font-size:12.5px;line-height:1.45;overflow-wrap:anywhere;}
.foundation-notification-page-copy small{display:block;color:#475569!important;font-size:10.8px;line-height:1.65;white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-word;opacity:1;visibility:visible;}
.foundation-notification-page-copy time{display:block;color:#64748b!important;font-size:9.4px;line-height:1.45;overflow-wrap:anywhere;}
.foundation-notification-page-item.read :is(b,small,time){color:#64748b!important;}
.foundation-notification-page-item:is(:hover,:focus,:focus-visible,:active) :is(b,small,time),.foundation-notification-page-item[aria-selected="true"] :is(b,small,time){color:#17324d!important;-webkit-text-fill-color:#17324d!important;}
@media(max-width:700px){#foundationContent:has(>.foundation-notification-page-v115w){background:#f8fafc!important;}.foundation-notification-page-v115w{background:#f8fafc!important;}.foundation-notification-page-heading{align-items:flex-start;flex-direction:column;gap:14px;}.foundation-notification-page-actions{width:100%;justify-content:flex-start;}.foundation-notification-page-actions .secondary{min-height:44px;padding:0 15px;}.foundation-notification-page-list{padding:4px 14px;border-radius:18px;background:#fff!important;}.foundation-notification-page-item{padding:15px 3px;}.foundation-notification-page-item.unread{background:rgba(219,234,254,.72)!important;}.foundation-notification-page-item.read{background:#f1f5f9!important;}.foundation-notification-page-heading h2{font-size:26px;}}
