/* EDUVIA V106 — canonical simple UI: no animation, no transition, no backdrop blur. */
:root{color-scheme:light;--green:var(--theme-primary-mid,#1264ad);--blue-dark:var(--theme-primary-strong,#173f70);--navy:#09233d;--ink:#183047;--muted:var(--theme-text-muted,#60758d);--line:#dce7e3;--soft:#effaf6;--white:var(--theme-surface,#fff);--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;--eduvia-shared-blue:var(--theme-primary,#078ee8);--eduvia-shared-blue-dark:#075da7;--eduvia-shared-ink:#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);}
*{box-sizing:border-box;}
body{margin:0;background:linear-gradient(145deg,#eaf9f3 0,#f8fbfa 45%,#edf5ff 100%);color:var(--ink);font-family:"Outfit",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;}
.legal-nav{height:72px;display:flex;align-items:center;justify-content:space-between;max-width:980px;margin:auto;padding:0 22px;}
.legal-brand{display:flex;align-items:center;gap:11px;color:var(--navy);text-decoration:none;font-weight:900;}
.legal-brand img{width:40px;height:40px;border-radius:var(--radius-md-lg,12px);}
.legal-nav>a:last-child{color:var(--blue-dark);font-size:14px;font-weight:800;text-decoration:none;}
.legal-wrap{width:min(920px,calc(100% - 28px));margin:12px auto 48px;}
.legal-hero{padding:38px clamp(24px,6vw,64px);border-radius:30px;background:linear-gradient(135deg,#07293b,var(--theme-primary-mid,#1264ad));color:var(--theme-surface,#fff);overflow:hidden;position:relative;}
.legal-hero:after{content:"";position:absolute;width:230px;height:230px;border-radius:50%;right:-70px;top:-100px;background:#ffffff19;}
.legal-hero small{font-weight:900;letter-spacing:.13em;}
.legal-hero h1{font-size:clamp(30px,6vw,48px);line-height:1.12;margin:10px 0;}
.legal-hero p{max-width:680px;margin:0;color:#e6fff6;}
.legal-meta{display:flex;flex-wrap:wrap;gap:8px;margin-top:22px;}
.legal-meta span{padding:7px 11px;border:1px solid #ffffff38;border-radius:var(--radius-pill,999px);background:#ffffff12;font-size:12px;font-weight:800;}
.legal-card{margin-top:16px;padding:clamp(23px,5vw,48px);border:1px solid var(--line);border-radius:26px;background:var(--white);}
h2{font-size:22px;color:var(--navy);margin:34px 0 10px;}
h2:first-child{margin-top:0;}
h3{font-size:16px;color:var(--blue-dark);margin:23px 0 7px;}
p,li{font-size:15px;}
ul,ol{padding-left:22px;}
li+li{margin-top:6px;}
a{color:var(--blue-dark);}
.notice{padding:16px 18px;border-left:4px solid var(--green);border-radius:var(--radius-md-lg,12px);background:var(--soft);}
.action-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:22px 0;}
.action{display:block;padding:16px;border-radius:var(--radius-xl,16px);text-align:center;text-decoration:none;font-weight:900;}
.action.primary{background:var(--green);color:var(--theme-surface,#fff);}
.action.secondary{border:1px solid var(--line);background:var(--theme-surface,#fff);color:var(--navy);}
.legal-footer{text-align:center;color:var(--muted);font-size:12px;padding:24px;}
@media (max-width:620px){.legal-nav{height:64px;}
.legal-wrap{margin-top:4px;}
.legal-hero{border-radius:var(--radius-5xl,24px);padding:30px 23px;}
.legal-card{border-radius:var(--radius-4xl,22px);padding:24px 20px;}
.action-grid{grid-template-columns:1fr;}}
html.ios-ui-v151{--ios-font:"Outfit",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--ios-ink:#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-v151 *,
html.ios-ui-v151 *::before,
html.ios-ui-v151 *::after{box-sizing:border-box;}
html.ios-ui-v151 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, #f8fbfa 0%, #f2f7f5 52%, #f7faff 100%);font-family:var(--ios-font);-webkit-tap-highlight-color:transparent;}
html.ios-ui-v151 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-v151 :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-v151 :is(p, li, td, label, small){letter-spacing:-0.008em;}
html.ios-ui-v151 :is(.app, .owner-app, .foundation-app) main,
html.ios-ui-v151 :is(.workspace, .content){min-width:0;}
html.ios-ui-v151 :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-v151 :is(.app, .owner-app, .foundation-app) main > header,
html.ios-ui-v151 :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-v151 :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-v151 :is(
  .card,
  .stat,
  .summary-card,
  .record-card,
  .school-card,
  [class*="preview-card"],
  [class*="profile-card"]
){transform:translateZ(0);}
html.ios-ui-v151 :is(.panel-head, .panel-body, .record-meta div, .school-meta div){border-color:rgba(35, 60, 74, 0.075);}
html.ios-ui-v151 :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-v151 :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-v151 :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-v151 :is(input, textarea)::placeholder{color:#9aa8a3;}
html.ios-ui-v151 :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-v151 table{border-spacing:0;}
html.ios-ui-v151 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-v151 td{border-color:rgba(35, 60, 74, 0.065);}
html.ios-ui-v151 tbody tr:hover{background-color:rgba(7, 94, 140, 0.035);}

html.ios-ui-v151 :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-v151 :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-v151 :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-v151 .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-v151 .legal-wrap{width:min(980px, calc(100% - 28px));}
html.ios-ui-v151 .legal-hero{position:relative;overflow:hidden;border:1px solid var(--tone-923a33a9,rgba(255, 255, 255, 0.82));}
html.ios-ui-v151 .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:"";pointer-events:none;}
html.ios-ui-v151 .legal-meta span{border:1px solid rgba(7, 94, 140, 0.09);border-radius:var(--radius-pill,999px);}
html.ios-ui-v151 .legal-card{border:1px solid var(--tone-2e595cc8,rgba(255, 255, 255, 0.84));}
html.ios-ui-v151 .legal-card h2{position:relative;padding-left:16px;}
html.ios-ui-v151 .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-v151 .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-v151 *{scrollbar-width:thin;scrollbar-color:rgba(7, 94, 140, 0.3) transparent;}
html.ios-ui-v151 *::-webkit-scrollbar{width:8px;height:8px;}
html.ios-ui-v151 *::-webkit-scrollbar-track{background:transparent;}
html.ios-ui-v151 *::-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-v151 :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-v151 :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-v151 :is(.app, .owner-app, .foundation-app) main > header,
  html.ios-ui-v151 .topbar{padding-right:max(14px, env(safe-area-inset-right));padding-left:max(14px, env(safe-area-inset-left));}
html.ios-ui-v151 :is(.content, section){max-width:100%;}
html.ios-ui-v151 :is(.card, .panel, .summary-card, .record-card, .school-card){border-radius:19px;}

html.ios-ui-v151 .legal-nav{top:8px;width:calc(100% - 16px);margin-top:8px;border-radius:17px;}
html.ios-ui-v151 .legal-wrap{width:calc(100% - 20px);}
html.ios-ui-v151 .legal-hero,
  html.ios-ui-v151 .legal-card{border-radius:var(--radius-5xl,24px);}
html.ios-ui-v151 :is(
    input:not([type="button"]):not([type="submit"]):not([type="reset"]),
    select,
    textarea
  ){min-height:46px;font-size:max(16px, 1em);}}
html.ios-ui-v151 #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-v151 #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-v151 #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-v151
  #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-v151 .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-v151 .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,
      var(--tone-7ef9eb4a,rgba(255, 255, 255, 0.025)) 29px,
      var(--tone-7ef9eb4a,rgba(255, 255, 255, 0.025)) 30px
    );content:"";pointer-events:none;}
html.ios-ui-v151 .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-v151 .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-v151 .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-v151
  .portal-guru-dashboard
  > .portal-school-report-gradient
  > div
  > div[class*="bg-white"]{min-width:190px;border-color:rgba(255, 255, 255, 0.32);color:var(--theme-surface,#fff);background:linear-gradient(145deg, rgba(2, 43, 65, 0.74), rgba(4, 74, 112, 0.58));box-shadow:0 15px 34px rgba(0, 45, 37, 0.24),
    inset 0 1px 0 rgba(255, 255, 255, 0.25);}
html.ios-ui-v151
  .portal-guru-dashboard
  > .portal-school-report-gradient
  > div
  > div[class*="bg-white"]
  :is(p, span, strong, time){color:var(--theme-surface,#fff);opacity:1!important;text-shadow:0 2px 10px rgba(0, 37, 30, 0.3);}
html.ios-ui-v151
  .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-v151
  .portal-guru-dashboard
  > .grid.grid-cols-2[class~="md:grid-cols-4"]
  > div:nth-child(2){--metric-accent:#a855f7;}
html.ios-ui-v151
  .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-v151
  .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-v151
  .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-v151
  .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-v151
  .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-v151
  .portal-guru-dashboard
  > .grid.grid-cols-2[class~="md:grid-cols-4"]
  > div
  p.text-xs{color:#66766f;font-weight:700;}
html.ios-ui-v151 .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-v151 .portal-teacher-schedule-card{border-color:rgba(35, 60, 74, 0.07);}
@media (hover: hover) and (pointer: fine){html.ios-ui-v151 #root :is(div, section, article)[class*="bg-white"][class*="rounded-"][class*="border"]:hover{border-color:rgba(7, 94, 140, 0.16);}
html.ios-ui-v151 .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-v151
    .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-v151
    .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-v151 .portal-teacher-schedule-card:hover{background-color:rgba(235, 249, 244, 0.72);transform:translateX(3px);}}
@media (max-width: 700px){html.ios-ui-v151 .portal-guru-dashboard > .portal-school-report-gradient{min-height:0;padding:23px!important;border-radius:27px;}
html.ios-ui-v151 .portal-guru-dashboard > .portal-school-report-gradient > .flex{align-items:stretch;flex-direction:column;gap:18px;}
html.ios-ui-v151
    .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-v151
    .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-v151
    #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-v151
    #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-v151
    #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));}}
@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{font-size:17px;-webkit-text-size-adjust:100%;text-size-adjust:100%;}
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;}}
html.ios-ui-v151 .legal-hero{isolation:isolate;border-color:rgba(255, 255, 255, 0.42);color:var(--theme-surface,#fff);background:radial-gradient(circle at 94% 5%, rgba(187, 225, 247, 0.28), transparent 31%),
    linear-gradient(135deg, #062c3f 0%, var(--theme-primary-strong,#173f70) 55%, #0a679a 100%);box-shadow:0 26px 70px rgba(4, 52, 78, 0.2),
    inset 0 1px 0 rgba(255, 255, 255, 0.2);}
html.ios-ui-v151 .legal-hero::after{z-index:-1;border-color:rgba(255, 255, 255, 0.18);box-shadow:0 0 0 26px rgba(255, 255, 255, 0.055),
    0 0 0 54px var(--tone-7ef9eb4a,rgba(255, 255, 255, 0.025));}
html.ios-ui-v151 .legal-hero small{color:#bfe2f7;opacity:1;}
html.ios-ui-v151 .legal-hero h1{color:var(--theme-surface,#fff);text-shadow:0 3px 20px rgba(0, 31, 48, 0.24);}
html.ios-ui-v151 .legal-hero p{color:#e7fff6;opacity:1;text-shadow:0 2px 13px rgba(0, 35, 54, 0.18);}
html.ios-ui-v151 .legal-meta span{border-color:rgba(255, 255, 255, 0.3);color:var(--theme-surface,#fff);background:rgba(255, 255, 255, 0.13);box-shadow:inset 0 1px rgba(255, 255, 255, 0.16);opacity:1;}
html.ios-ui-v151 .legal-card{color:#263d4d;background-color:rgba(255, 255, 255, 0.94);box-shadow:0 24px 62px rgba(24, 48, 62, 0.09),
    inset 0 1px var(--tone-431952a6,rgba(255, 255, 255, 0.96));}
html.ios-ui-v151 .legal-card h2{color:#092d47;}
html.ios-ui-v151 .legal-card a:not(.action){color:var(--theme-primary-strong,#173f70);font-weight:650;text-decoration-color:rgba(0, 63, 158, 0.34);text-underline-offset:0.15em;}
html.ios-ui-v151 .legal-meta span,
html.ios-ui-v151 .legal-card,
html.ios-ui-v151 .legal-card p,
html.ios-ui-v151 .legal-card li{-webkit-font-smoothing:antialiased;}
@media (max-width: 620px){html.ios-ui-v151 .legal-hero{background:radial-gradient(circle at 98% 1%, rgba(187, 225, 247, 0.22), transparent 34%),
      linear-gradient(145deg, #062c3f 0%, var(--theme-primary-strong,#173f70) 62%, #095a86 100%);}}
@media (prefers-contrast: more){html.ios-ui-v151 .legal-hero{background:#073e5b;}
html.ios-ui-v151 .legal-card{color:#172d3b;background:var(--theme-surface,#fff);}}
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 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;}

}
