/* EDUVIA V106 — canonical simple UI: no animation, no transition, no backdrop blur. */
:root{--tone-ff05dd1e:rgba(7, 142, 232, .22);--green:var(--theme-secondary-light,#078ee8);--green-dark:var(--theme-secondary,#1264ad);--green-deep:var(--theme-secondary-deep,#123d6b);--green-soft:var(--tone-eaf4ff,#eaf4ff);--purple:#8c63e7;--purple-dark:var(--tone-6d43ce,#6d43ce);--purple-soft:var(--tone-f1edff,#f1edff);--amber:#f59e42;--amber-soft:var(--tone-fff3e7,#fff3e7);--rose:var(--tone-e34a67,#e34a67);--rose-soft:#fff1f4;--blue:var(--tone-3b76e8,#3b76e8);--blue-soft:#eaf2ff;--ink:#11243f;--body:#5f7390;--muted:#74869d;--line:#dce7f2;--canvas:#f6faff;--surface:var(--theme-surface,#fff);--shadow-sm:0 8px 26px rgba(8, 48, 110, .07);--shadow-md:0 24px 64px rgba(8, 48, 110, .13);--font:"Outfit",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--control-green:var(--theme-secondary-light,#078ee8);--control-green-hover:#067dcc;--control-green-border:var(--theme-secondary-light,#078ee8);--control-green-dark:var(--theme-secondary-strong,#173f70);--control-green-pale:#f3f8ff;--control-focus:0 0 0 4px rgba(7, 142, 232, .16);}
*{box-sizing:border-box;}
body{margin:0;font-family:var(--font);-webkit-font-smoothing:antialiased;}
body.menu-open{overflow:hidden;}
a{color:inherit;text-decoration:none;}
button, input, select, textarea{font:inherit;}
button, a{-webkit-tap-highlight-color:transparent;}
img, svg{display:block;max-width:100%;}
.skip-link{position:fixed;left:16px;top:-80px;background:var(--ink);color:white;padding:12px 16px;z-index:1000;border-radius:var(--radius-md-lg,12px);}
.skip-link:focus{top:16px;}
.container{width:min(1180px, calc(100% - 40px));margin:0 auto;}
.section{padding:108px 0;}
.eyebrow{display:inline-flex;align-items:center;gap:9px;padding:8px 12px;border-radius:var(--radius-pill,999px);border:1px solid var(--line);font-weight:800;font-size:13px;}
.eyebrow i{width:8px;height:8px;border-radius:50%;}
.kicker{text-transform:uppercase;font-size:12px;letter-spacing:.15em;font-weight:900;}
.title{margin:16px 0 18px;font-size:clamp(36px, 5vw, 64px);line-height:1.04;letter-spacing:-.045em;}

.lead{font-size:18px;line-height:1.8;max-width:680px;margin:0;}
.button{display:inline-flex;align-items:center;justify-content:center;gap:10px;cursor:pointer;padding:0 20px;}
.button:hover{transform:translateY(-2px);}
.button-primary{color:white;background:linear-gradient(135deg, var(--green), var(--green-deep));box-shadow:0 14px 30px rgba(5,150,105,.22);}
.button-secondary{color:var(--ink);background:white;border:1px solid var(--line);box-shadow:0 8px 22px rgba(21,57,46,.06);}
.button-purple{color:white;background:linear-gradient(135deg, var(--purple), var(--purple-dark));box-shadow:0 14px 30px rgba(124,58,237,.2);}
.icon-button{display:grid;place-items:center;cursor:pointer;}
.site-header{position:fixed;top:0;left:0;width:100%;z-index:100;padding:16px 0;}
.site-header.scrolled{padding:10px 0;border-bottom:1px solid rgba(227,236,232,.78);}
.nav-shell{min-height:68px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:28px;padding:10px 12px 10px 18px;border:1px solid rgba(227,236,232,.86);border-radius:var(--radius-3xl,20px);}
.brand{display:flex;align-items:center;gap:11px;min-width:max-content;}
.brand-copy{display:flex;flex-direction:column;line-height:1.1;}
.brand-copy strong{font-size:16px;letter-spacing:-.02em;}
.brand-copy small{font-size:11px;font-weight:700;}
.nav-menu{justify-self:center;display:flex;align-items:center;gap:4px;}
.nav-menu a{padding:10px 12px;border-radius:11px;font-size:14px;font-weight:750;}

.menu-toggle{display:none;}
.hero{min-height:760px;padding:150px 0 80px;position:relative;overflow:hidden;}
.hero-grid{display:grid;align-items:center;gap:64px;}
.hero-copy p{font-size:18px;line-height:1.75;max-width:640px;}
.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px;}
.trust-row{display:flex;flex-wrap:wrap;gap:10px 22px;margin-top:26px;font-size:13px;font-weight:750;color:var(--theme-text-muted,#60758d);}
.trust-row span{display:inline-flex;align-items:center;gap:8px;}
.trust-row i{display:grid;place-items:center;width:20px;height:20px;border-radius:50%;background:var(--green-soft);color:var(--green-dark);font-style:normal;font-size:12px;}
.hero-visual{position:relative;min-height:540px;display:grid;place-items:center;}
.hero-visual::before{content:"";position:absolute;inset:7% 8%;border-radius:50%;filter:blur(18px);}
.app-window{position:relative;z-index:2;width:min(650px, 100%);overflow:hidden;border:1px solid rgba(217,230,224,.9);border-radius:28px;background:white;transform:rotate(-1.5deg);}
.app-topbar{height:64px;padding:0 18px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);}
.app-title{display:flex;align-items:center;gap:10px;font-weight:850;color:var(--ink);}
.app-title img{width:34px;}
.avatar{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;font-weight:900;font-size:12px;}
.app-body{display:grid;grid-template-columns:62px 1fr;min-height:410px;}
.app-rail{padding:16px 10px;border-right:1px solid var(--line);display:flex;align-items:center;flex-direction:column;gap:10px;}
.rail-dot{width:38px;height:38px;display:grid;place-items:center;border-radius:var(--radius-md-lg,12px);color:#7b8e87;font-size:17px;}
.rail-dot.active{color:white;}
.app-content{padding:22px;}
.dash-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;}
.dash-head small{color:var(--muted);}
.dash-head strong{display:block;color:var(--ink);margin-top:4px;font-size:21px;}
.dash-chip{padding:8px 10px;border:1px solid var(--line);background:white;border-radius:var(--radius-md,10px);font-size:11px;font-weight:800;}
.metric-grid{display:grid;grid-template-columns:repeat(3, 1fr);gap:10px;margin:18px 0;}
.metric-card{padding:14px;border:1px solid var(--line);border-radius:var(--radius-xl,16px);background:white;}
.metric-card small{color:var(--muted);font-size:10px;}
.metric-card strong{display:block;margin-top:6px;color:var(--ink);font-size:21px;}
.metric-card em{font-size:10px;font-style:normal;font-weight:850;}
.metric-card.purple em{color:var(--purple);}
.metric-card.amber em{color:#b97704;}
.dash-lower{display:grid;grid-template-columns:1.25fr .75fr;gap:12px;}
.chart-card, .agenda-card{padding:16px;border-radius:17px;background:white;border:1px solid var(--line);}
.card-title{display:flex;justify-content:space-between;gap:10px;color:var(--ink);font-size:12px;font-weight:850;}
.bars{height:126px;display:flex;align-items:end;gap:9px;padding-top:16px;}
.bars span{flex:1;height:var(--h);min-width:12px;border-radius:var(--radius-sm,8px) var(--radius-sm,8px) 3px 3px;}
.agenda-list{display:grid;gap:9px;margin-top:14px;}
.agenda-list div{display:grid;grid-template-columns:32px 1fr;gap:9px;align-items:center;}
.agenda-list i{width:32px;height:32px;display:grid;place-items:center;border-radius:var(--radius-md,10px);background:var(--green-soft);color:var(--green-deep);font-style:normal;font-size:11px;font-weight:900;}
.agenda-list strong{color:var(--ink);display:block;font-size:11px;}
.agenda-list small{font-size:9px;}
.floating-note{position:absolute;z-index:3;padding:14px 16px;border:1px solid var(--line);border-radius:var(--radius-xl,16px);background:rgba(255,255,255,.96);}
.floating-note strong{display:block;color:var(--ink);font-size:13px;}
.floating-note small{font-size:10px;}
.note-one{top:45px;right:-5px;}
.note-two{bottom:58px;left:-20px;}
.floating-note .pulse{display:inline-block;width:8px;height:8px;margin-right:7px;border-radius:50%;background:var(--green);box-shadow:0 0 0 5px var(--green-soft);}
.section-heading{display:grid;grid-template-columns:1.25fr .75fr;gap:50px;align-items:end;margin-bottom:42px;}
.section-heading h2{margin:12px 0 0;color:var(--ink);font-size:clamp(34px, 4vw, 52px);line-height:1.08;letter-spacing:-.04em;}

.section-heading p{margin:0;line-height:1.8;}
.problem-grid{display:grid;grid-template-columns:repeat(3, 1fr);gap:16px;}
.problem-card{padding:28px;border:1px solid var(--line);border-radius:var(--radius-lg,14px);background:white;box-shadow:var(--shadow-sm);}
.problem-card .num{font-size:12px;color:var(--muted);font-weight:900;}
.problem-card h3{margin:18px 0 10px;color:var(--ink);font-size:20px;}
.problem-card p{margin:0;font-size:14px;line-height:1.75;}
.feature-grid{display:grid;grid-template-columns:repeat(12, 1fr);gap:16px;}
.feature-card{grid-column:span 4;min-height:285px;padding:27px;overflow:hidden;position:relative;border:1px solid rgba(218,232,226,.9);border-radius:25px;background:white;box-shadow:0 10px 30px rgba(21,57,46,.05);}
.feature-card.large{grid-column:span 8;}
.feature-icon{width:50px;height:50px;display:grid;place-items:center;border-radius:15px;background:var(--green-soft);color:var(--green-deep);font-size:21px;font-weight:900;}
.feature-card.purple .feature-icon{background:var(--purple-soft);color:var(--purple-dark);}
.feature-card.amber .feature-icon{background:var(--amber-soft);color:#a16207;}
.feature-card.blue .feature-icon{background:var(--blue-soft);color:var(--blue);}
.feature-card h3{margin:20px 0 9px;font-size:21px;color:var(--ink);}
.feature-card p{margin:0;font-size:14px;line-height:1.72;max-width:430px;}
.mini-ui{position:absolute;right:22px;bottom:-25px;width:46%;min-width:260px;padding:16px;border:1px solid var(--line);border-radius:var(--radius-2xl,18px) var(--radius-2xl,18px) 0 0;background:var(--theme-surface-soft,#f7fbff);box-shadow:0 14px 34px rgba(21,57,46,.11);}
.mini-row{display:flex;align-items:center;gap:9px;padding:9px 0;border-bottom:1px solid var(--line);}
.mini-row:last-child{border:0;}
.mini-avatar{width:28px;height:28px;border-radius:9px;background:var(--purple-soft);}
.mini-line{height:7px;flex:1;border-radius:var(--radius-pill,999px);background:#e9efec;}
.mini-line.short{max-width:28%;}
.roles{background:white;}
.role-grid{display:grid;gap:18px;}
.role-card{padding:30px;border:1px solid var(--line);border-radius:25px;background:var(--theme-surface-soft,#f7fbff);}
.role-card:hover{transform:translateY(-5px);}
.role-card .role-icon{width:58px;height:58px;display:grid;place-items:center;border-radius:var(--radius-2xl,18px);font-size:24px;}
.role-card:nth-child(2) .role-icon{background:var(--purple-soft);}
.role-card:nth-child(3) .role-icon{background:var(--amber-soft);}
.role-card h3{color:var(--ink);margin:22px 0 8px;font-size:22px;}
.role-card p{font-size:14px;line-height:1.7;}
.role-link{margin-top:20px;display:inline-flex;align-items:center;gap:8px;font-weight:850;}
.security-band{padding:30px;display:grid;grid-template-columns:auto 1fr auto;gap:22px;align-items:center;border:1px solid #d9e9e1;border-radius:26px;background:linear-gradient(135deg, #f4fffa, #f8f5ff);}
.security-icon{width:64px;height:64px;display:grid;place-items:center;border-radius:19px;background:white;box-shadow:var(--shadow-sm);font-size:25px;}
.security-band h3{color:var(--ink);margin:0 0 8px;}
.security-band p{margin:0;line-height:1.7;}
.workflow .section-heading h2{color:white;}
.workflow-grid{display:grid;grid-template-columns:repeat(4, 1fr);gap:16px;}
.workflow-card{padding:26px;border-radius:var(--radius-4xl,22px);background:rgba(255,255,255,.055);border:1px solid rgba(255,255,255,.12);}
.workflow-card b{display:grid;place-items:center;width:38px;height:38px;border-radius:var(--radius-md-lg,12px);}
.workflow-card h3{color:white;margin:20px 0 9px;}
.workflow-card p{margin:0;font-size:14px;line-height:1.75;}
.quote-section{background:white;}
.quote-shell{display:grid;grid-template-columns:.85fr 1.15fr;gap:22px;align-items:stretch;}
.quote-side{padding:38px;border-radius:27px;color:white;}
.quote-side h2{font-size:38px;line-height:1.12;letter-spacing:-.03em;margin:16px 0;}
.quote-side p{line-height:1.75;}
.quote-list{display:grid;gap:13px;}
.quote-card{padding:25px;border:1px solid var(--line);border-radius:21px;background:var(--theme-surface-soft,#f7fbff);}
.quote-card p{margin:0;color:var(--ink);line-height:1.75;font-weight:650;}
.quote-card footer{margin-top:14px;font-size:12px;color:var(--muted);}
.faq-list{display:grid;gap:12px;max-width:900px;margin:0 auto;}
.faq-item{border:1px solid var(--line);border-radius:17px;background:white;overflow:hidden;}
.faq-button{display:flex;justify-content:space-between;align-items:center;gap:15px;border:0;background:transparent;color:var(--ink);text-align:left;cursor:pointer;font-weight:850;}
.faq-answer{display:grid;grid-template-rows:0fr;}
.faq-answer > div{overflow:hidden;}
.faq-answer p{padding:0 22px 20px;margin:0;line-height:1.75;}
.faq-item.open .faq-answer{grid-template-rows:1fr;}
.faq-item.open .faq-button span:last-child{transform:rotate(45deg);}
.cta-section{padding-top:50px;}
.cta-shell{position:relative;overflow:hidden;padding:58px;border-radius:32px;border:1px solid #dce9e4;text-align:center;}
.cta-shell h2{margin:12px auto;max-width:800px;color:var(--ink);font-size:clamp(34px, 5vw, 56px);line-height:1.08;letter-spacing:-.04em;}
.cta-shell p{max-width:660px;margin:0 auto 26px;line-height:1.75;}
.site-footer{padding:56px 0 28px;}
.footer-grid{display:grid;grid-template-columns:1.3fr repeat(3, .7fr);gap:40px;}
.footer-brand{max-width:360px;}
.footer-brand .brand-copy strong{color:white;}
.footer-brand p{font-size:14px;line-height:1.75;}
.footer-col h4{color:white;margin:0 0 15px;}
.footer-col a{display:block;padding:6px 0;font-size:14px;}
.footer-bottom{display:flex;justify-content:space-between;gap:20px;margin-top:45px;padding-top:22px;border-top:1px solid rgba(255,255,255,.1);font-size:12px;}
.reveal{opacity:0;transform:translateY(18px);}
.reveal.visible{opacity:1;transform:none;}
.portal-page{min-height:100vh;}
.portal-top{padding:24px 0;}
.portal-top .container{display:flex;justify-content:space-between;align-items:center;gap:15px;}
.portal-main{padding:45px 0 90px;}
.portal-heading{text-align:center;margin:0 auto 38px;}
.portal-heading h1{font-size:clamp(38px, 6vw, 62px);line-height:1.05;letter-spacing:-.045em;margin:12px 0;}
.portal-heading p{line-height:1.75;}
.access-grid{display:grid;}
.access-card{position:relative;overflow:hidden;border:1px solid var(--line);}
.access-card::after{content:"";position:absolute;right:-30px;bottom:-40px;width:130px;height:130px;border-radius:50%;opacity:.75;}
.access-card:nth-child(3)::after{background:var(--amber-soft);}
.access-card h2{margin:19px 0 8px;}
.access-card p{font-size:14px;line-height:1.72;}
.access-card .button{margin-top:18px;position:relative;z-index:2;}
.access-icon{width:58px;height:58px;border-radius:var(--radius-2xl,18px);background:var(--green-soft);font-size:24px;}
.access-card:nth-child(2) .access-icon{background:var(--purple-soft);}
.access-card:nth-child(3) .access-icon{background:var(--amber-soft);}
.portal-note{margin:28px auto 0;max-width:780px;padding:18px 20px;border-radius:17px;background:var(--theme-surface,#fff);border:1px solid var(--line);font-size:13px;text-align:center;}
.dashboard-page{min-height:100dvh;}
.dash-layout{display:grid;min-height:100dvh;}
.sidebar{position:sticky;top:0;height:100dvh;display:flex;flex-direction:column;border-right:1px solid var(--line);overflow-y:auto;}
.sidebar-brand .brand-copy strong{font-size:15px;}
.side-group{margin:12px 0;}
.side-group small{display:block;padding:0 11px 8px;font-size:10px;text-transform:uppercase;letter-spacing:.14em;font-weight:900;}
.side-nav{display:grid;}
.side-nav button{display:flex;align-items:center;gap:11px;cursor:pointer;text-align:left;}
.sidebar-bottom{margin-top:auto;padding-top:14px;}

.dashboard-header{position:sticky;top:0;z-index:40;display:flex;align-items:center;justify-content:space-between;gap:20px;border-bottom:1px solid var(--line);}
.dashboard-header h1{margin:0;font-size:20px;}
.dashboard-header p{margin:3px 0 0;font-size:11px;}
.header-actions{display:flex;align-items:center;gap:9px;}
.mobile-side-toggle{display:none;}
.dash-welcome{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:20px;}
.dash-welcome h2{color:var(--ink);margin:0 0 7px;font-size:29px;letter-spacing:-.03em;}
.dash-welcome p{margin:0;}
.dashboard-metrics{display:grid;grid-template-columns:repeat(4, 1fr);gap:14px;}
.dashboard-metric{padding:20px;border:1px solid var(--line);background:white;}
.metric-top{display:flex;justify-content:space-between;align-items:center;}
.metric-top i{width:38px;height:38px;display:grid;place-items:center;border-radius:var(--radius-md-lg,12px);font-style:normal;}
.dashboard-metric small{color:var(--muted);font-size:11px;}
.dashboard-metric strong{display:block;color:var(--ink);font-size:27px;margin-top:14px;}
.dashboard-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(280px,.7fr);gap:16px;margin-top:16px;}
.panel{padding:22px;border:1px solid var(--line);background:white;}
.panel-head{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:18px;}
.panel-head h3{margin:0;color:var(--ink);font-size:17px;}
.panel-head a, .panel-head button{color:var(--green-dark);font-size:12px;background:transparent;border:0;cursor:pointer;}
.data-list{display:grid;}
.data-row{display:grid;grid-template-columns:1.3fr .75fr .7fr auto;gap:12px;align-items:center;padding:13px 0;border-bottom:1px solid var(--line);}
.data-row:last-child{border:0;}
.student{display:flex;align-items:center;gap:11px;min-width:0;}
.student-avatar{flex:0 0 auto;width:36px;height:36px;display:grid;place-items:center;border-radius:var(--radius-md-lg,12px);background:var(--purple-soft);color:var(--purple-dark);font-weight:900;font-size:11px;}
.student strong{color:var(--ink);font-size:13px;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.student small{font-size:10px;}
.status{display:inline-flex;align-items:center;width:max-content;padding:7px 9px;border-radius:var(--radius-pill,999px);font-size:10px;font-weight:850;}
.status.green{color:var(--green-deep);background:var(--green-soft);}
.status.rose{color:#a70f36;background:var(--rose-soft);}
.timeline{display:grid;gap:12px;}
.timeline-item{display:grid;grid-template-columns:40px 1fr;gap:11px;align-items:start;}
.timeline-icon{width:40px;height:40px;display:grid;place-items:center;border-radius:13px;background:var(--green-soft);}
.timeline-item h4{color:var(--ink);margin:1px 0 4px;font-size:13px;}
.timeline-item p{margin:0;font-size:11px;line-height:1.55;}
.content-view{display:none;}
.content-view.active{display:block;}
.empty-card{min-height:360px;display:grid;place-items:center;text-align:center;padding:40px;border:1px dashed #cbdcd4;border-radius:var(--radius-4xl,22px);background:rgba(255,255,255,.7);}
.empty-card span{font-size:42px;}
.empty-card h2{color:var(--ink);margin:15px 0 7px;}
.empty-card p{max-width:480px;margin:0;}
.mobile-bottom{display:none;}
.toast{position:fixed;right:22px;bottom:22px;z-index:300;padding:14px 17px;border-radius:var(--radius-lg,14px);background:var(--ink);color:white;box-shadow:var(--shadow-md);opacity:0;transform:translateY(10px);pointer-events:none;font-size:13px;}
.toast.show{opacity:1;transform:none;}
.sidebar-backdrop{display:none;}
@media (max-width: 1040px){.nav-menu{gap:0;}
.hero-grid{grid-template-columns:1fr;gap:30px;}
.hero-copy{text-align:center;}
.hero-copy p, .lead{margin-left:auto;margin-right:auto;}
.hero-actions, .trust-row{justify-content:center;}
.hero-visual{min-height:510px;}
.section-heading{grid-template-columns:1fr;gap:15px;}
.feature-card, .feature-card.large{grid-column:span 6;}
.role-grid, .problem-grid{grid-template-columns:repeat(2, 1fr);}
.workflow-grid{grid-template-columns:repeat(2, 1fr);}
.quote-shell{grid-template-columns:1fr;}
.footer-grid{grid-template-columns:1.2fr 1fr 1fr;}
.footer-brand{grid-column:1 / -1;}
.access-grid{grid-template-columns:1fr;max-width:740px;margin:0 auto;}
.sidebar{position:fixed;left:-280px;top:0;width:270px;z-index:120;box-shadow:18px 0 50px rgba(21,57,46,.18);}
.sidebar.open{left:0;}
.sidebar-backdrop{position:fixed;inset:0;z-index:110;background:rgba(13,33,27,.35);}
.sidebar-backdrop.show{display:block;}
.mobile-side-toggle{display:grid;}
.dashboard-metrics{grid-template-columns:repeat(2, 1fr);}}
@media (max-width: 780px){.container{width:min(100% - 28px, 1180px);}
.section{padding:78px 0;}
.site-header{padding:10px 0;}
.nav-shell{grid-template-columns:1fr auto;min-height:62px;border-radius:var(--radius-2xl,18px);}
.menu-toggle{display:grid;place-items:center;width:42px;height:42px;border:1px solid var(--line);border-radius:13px;background:white;}
.nav-shell > .button{display:none;}
.nav-menu{position:fixed;left:14px;right:14px;top:82px;display:grid;padding:12px;border:1px solid var(--line);border-radius:var(--radius-2xl,18px);background:rgba(255,255,255,.98);box-shadow:var(--shadow-md);transform:translateY(-10px);opacity:0;pointer-events:none;}
.nav-menu.open{transform:none;opacity:1;pointer-events:auto;}
.nav-menu a{padding:13px 14px;}
.hero{padding-top:118px;min-height:auto;}
.title{font-size:clamp(39px, 11vw, 57px);}
.hero-copy p{font-size:16px;}
.hero-visual{min-height:410px;}
.app-window{transform:none;border-radius:var(--radius-4xl,22px);}
.app-body{grid-template-columns:48px 1fr;min-height:325px;}
.app-rail{padding:10px 5px;}
.rail-dot{width:34px;height:34px;}
.app-content{padding:14px;}
.metric-grid{gap:7px;}
.metric-card{padding:10px;}
.metric-card strong{font-size:16px;}
.dash-lower{grid-template-columns:1fr;}
.agenda-card{display:none;}
.floating-note{display:none;}
.problem-grid, .role-grid{grid-template-columns:1fr;}
.feature-card, .feature-card.large{grid-column:1 / -1;min-height:255px;}
.mini-ui{width:55%;opacity:.9;}
.security-band{grid-template-columns:auto 1fr;}
.security-band .button{grid-column:1 / -1;width:100%;}
.workflow-grid{grid-template-columns:1fr;}
.cta-shell{padding:40px 22px;}
.footer-grid{grid-template-columns:1fr 1fr;gap:28px;}
.footer-brand{grid-column:1 / -1;}
.footer-bottom{flex-direction:column;}

.dashboard-header h1{font-size:16px;}
.dashboard-header p{display:none;}
.dashboard-content{padding:17px 14px 92px;}
.dash-welcome{align-items:flex-start;}
.dash-welcome .button{display:none;}
.dash-welcome h2{font-size:24px;}
.dashboard-grid{grid-template-columns:1fr;}
.data-row{grid-template-columns:1fr auto;}
.data-row > :nth-child(2), .data-row > :nth-child(3){display:none;}
.mobile-bottom{position:fixed;left:0;right:0;bottom:0;z-index:90;display:grid;grid-template-columns:repeat(4,1fr);padding:8px 8px max(8px, env(safe-area-inset-bottom));background:rgba(255,255,255,.97);border-top:1px solid var(--line);}
.mobile-bottom button{border:0;background:transparent;display:flex;align-items:center;justify-content:center;flex-direction:column;color:var(--muted);font-weight:800;}
.mobile-bottom button span{font-size:17px;}
.mobile-bottom button.active{color:var(--green-dark);}}
@media (max-width: 520px){.brand-copy small{display:none;}
.hero-actions .button{width:100%;}
.trust-row{display:grid;justify-content:start;text-align:left;width:fit-content;margin-left:auto;margin-right:auto;}
.app-topbar{height:54px;padding:0 12px;}
.app-title{font-size:12px;}
.app-title img{width:28px;}
.app-body{grid-template-columns:1fr;}
.app-rail{display:none;}
.dash-head strong{font-size:17px;}
.metric-grid{grid-template-columns:repeat(3, minmax(0,1fr));}
.metric-card small{font-size:8px;}
.chart-card{padding:12px;}
.bars{height:100px;}
.mini-ui{display:none;}
.feature-card{min-height:auto;}
.security-band{grid-template-columns:1fr;text-align:center;}
.security-icon{margin:auto;}
.footer-grid{grid-template-columns:1fr;}
.dashboard-metrics{grid-template-columns:1fr 1fr;gap:9px;}
.dashboard-metric{padding:14px;}
.dashboard-metric strong{font-size:22px;}
.header-actions .button{display:none;}}
@media (prefers-reduced-motion: reduce){.reveal{opacity:1;transform:none;}}
.header-title-wrap{display:flex;align-items:center;gap:11px;}
.view-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:22px;margin-bottom:20px;}
.view-heading h2{margin:7px 0 6px;color:var(--ink);font-size:30px;letter-spacing:-.035em;}
.view-heading p{margin:0;max-width:660px;line-height:1.7;}
.view-actions{display:flex;gap:9px;flex-wrap:wrap;}
.button-ghost{color:var(--ink);background:#f7faf8;border:1px solid var(--line);}
.button.full{width:100%;justify-content:center;}
.metric-text{font-size:20px;}
.student-toolbar{display:grid;grid-template-columns:minmax(260px,1fr) 190px;gap:12px;margin-bottom:10px;}
.student-toolbar.standalone{padding:16px;margin-bottom:17px;border:1px solid var(--line);border-radius:var(--radius-2xl,18px);background:white;}
.search-field{min-height:46px;display:flex;align-items:center;gap:9px;padding:0 13px;border:1px solid var(--line);border-radius:13px;}
.search-field span{color:var(--muted);font-size:18px;}
.search-field input{width:100%;border:0;outline:0;background:transparent;color:var(--ink);font:inherit;}
.student-toolbar select, .form-field select, .form-field input, .form-field textarea{width:100%;border:1px solid var(--line);border-radius:13px;background:white;color:var(--ink);font:inherit;outline:none;}
.student-toolbar select, .form-field select, .form-field input{min-height:46px;padding:0 12px;}
.form-field textarea{padding:12px;resize:vertical;}
.form-field{display:grid;gap:7px;}
.form-field > span{color:var(--ink);font-size:12px;font-weight:800;}
.form-field > span small{color:var(--muted);font-weight:500;}
.student-management-list{display:grid;}
.student-management-row{display:grid;grid-template-columns:minmax(220px,1.4fr) .5fr .45fr auto;align-items:center;gap:14px;padding:13px 0;border-bottom:1px solid var(--line);}
.student-management-row:last-child{border-bottom:0;}
.row-actions{display:flex;align-items:center;justify-content:flex-end;gap:7px;}
.empty-filter{display:none;padding:36px 20px;text-align:center;color:var(--muted);}
.empty-filter.show{display:block;}
.qr-student-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;}
.qr-student-card{padding:18px;border:1px solid var(--line);border-radius:var(--radius-3xl,20px);background:white;box-shadow:0 8px 26px rgba(21,57,46,.045);}
.qr-student-head{display:flex;align-items:center;gap:10px;}
.qr-student-head strong{display:block;color:var(--ink);font-size:13px;}
.qr-student-head small{font-size:10px;}
.qr-student-card > img{display:block;width:min(190px,80%);aspect-ratio:1;object-fit:contain;margin:18px auto;padding:8px;border:1px solid var(--line);border-radius:var(--radius-xl,16px);background:white;}
.qr-card-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;}
.qr-quick, .student-qr-preview{display:grid;grid-template-columns:118px 1fr;gap:18px;align-items:center;}
.qr-quick img, .student-qr-preview img{width:118px;padding:7px;border:1px solid var(--line);border-radius:var(--radius-xl,16px);background:white;}
.qr-quick strong, .student-qr-preview strong{display:block;color:var(--ink);}
.qr-quick small, .student-qr-preview small{display:block;margin:4px 0 12px;font-size:10px;}
.student-qr-preview p{margin:0 0 12px;font-size:12px;line-height:1.6;}
.qr-modal{position:fixed;inset:0;z-index:500;display:grid;place-items:center;opacity:0;visibility:hidden;}
.qr-modal.open{opacity:1;visibility:visible;}
.qr-modal-backdrop{position:absolute;inset:0;}
.qr-modal-card{position:relative;z-index:1;text-align:center;transform:translateY(12px) scale(.98);}
.qr-modal.open .qr-modal-card{transform:none;}
.modal-close{position:absolute;display:grid;place-items:center;cursor:pointer;font-size:24px;line-height:1;}
.qr-modal-brand{display:flex;justify-content:center;align-items:center;gap:8px;font-size:11px;font-weight:900;}
.qr-modal-brand img{width:27px;}
.qr-modal-avatar{width:52px;height:52px;display:grid;place-items:center;margin:18px auto 10px;font-weight:900;}
.qr-modal-card h2{margin:0;color:var(--ink);font-size:22px;}
.qr-modal-card > p{margin:5px 0 12px;font-size:12px;}
.qr-modal-image{max-width:78%;padding:10px;}
.qr-modal-card > small{display:block;margin:10px auto 0;max-width:260px;font-size:10px;line-height:1.55;}
.qr-modal-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px;}
.schedule-card{padding:22px;border-radius:var(--radius-2xl,18px);border:1px solid #ddd6fe;}
.schedule-card h2{color:var(--ink);margin:15px 0 7px;}
.schedule-card p{margin:0;line-height:1.7;}
.schedule-card .button{margin-top:18px;}
.form-panel{max-width:760px;}
.form-panel form{display:grid;gap:16px;}
.identity-stage{display:grid;grid-template-columns:minmax(0,760px) minmax(240px,340px);gap:18px;align-items:start;}
.student-id-card{overflow:hidden;border-radius:27px;border:1px solid #d9e8e1;}
.id-card-top{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:22px 24px;color:white;}
.id-brand{display:flex;align-items:center;gap:10px;}
.id-brand img{width:42px;filter:drop-shadow(0 4px 10px rgba(0,0,0,.14));}
.id-brand strong, .id-brand small{display:block;}
.id-brand strong{font-size:13px;letter-spacing:.04em;}
.id-brand small{margin-top:3px;font-size:9px;}
.id-chip{padding:7px 10px;border:1px solid rgba(255,255,255,.25);border-radius:var(--radius-pill,999px);background:rgba(255,255,255,.12);font-size:9px;font-weight:900;}
.id-card-body{display:grid;grid-template-columns:1fr 190px;gap:24px;padding:28px;}
.id-profile{display:grid;grid-template-columns:115px 1fr;gap:21px;align-items:center;}
.id-photo{width:115px;aspect-ratio:3/4;display:grid;place-items:center;border-radius:var(--radius-3xl,20px);background:linear-gradient(145deg,var(--purple-soft),#d8ccff);color:var(--purple-dark);font-size:32px;font-weight:900;}
.id-details > small{color:var(--muted);font-size:9px;font-weight:900;letter-spacing:.12em;}
.id-details h2{margin:5px 0 17px;color:var(--ink);font-size:28px;}
.id-details dl{display:grid;gap:10px;margin:0;}
.id-details dl div{display:grid;grid-template-columns:100px 1fr;gap:8px;}
.id-details dt{color:var(--muted);font-size:11px;}
.id-details dd{margin:0;color:var(--ink);font-size:12px;font-weight:800;}
.id-qr{align-self:center;text-align:center;}
.id-qr img{width:170px;max-width:100%;padding:8px;border:1px solid var(--line);border-radius:var(--radius-2xl,18px);background:white;}
.id-qr small{display:block;margin-top:7px;font-size:8px;}
.id-card-bottom{display:flex;justify-content:space-between;gap:12px;padding:13px 24px;font-size:9px;font-weight:800;}
.identity-note{display:grid;grid-template-columns:42px 1fr;gap:12px;padding:20px;border:1px solid var(--line);border-radius:var(--radius-3xl,20px);background:white;}
.identity-note > span{width:42px;height:42px;display:grid;place-items:center;border-radius:13px;}
.identity-note strong{color:var(--ink);font-size:13px;}
.identity-note p{margin:6px 0 0;font-size:11px;line-height:1.65;}
.secure-chip{display:inline-flex;align-items:center;padding:9px 12px;border-radius:var(--radius-pill,999px);background:var(--green-soft);color:var(--green-deep);font-size:10px;font-weight:850;}
.scan-layout{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);gap:16px;align-items:start;}
.scan-mode-tabs{display:grid;grid-template-columns:1fr 1fr;margin-bottom:16px;border-radius:var(--radius-lg,14px);}
.scan-mode-tabs button{min-height:42px;border:0;border-radius:var(--radius-md,10px);background:transparent;color:var(--muted);cursor:pointer;font-weight:850;font-size:11px;}
.scan-mode-tabs button.active{background:white;color:var(--green-deep);box-shadow:0 6px 16px rgba(21,57,46,.08);}
.scanner-viewport{position:relative;overflow:hidden;aspect-ratio:16/10;display:grid;place-items:center;border-radius:21px;}
.scanner-viewport video{width:100%;height:100%;object-fit:cover;display:none;}
.scanner-viewport video.active{display:block;}
.scanner-viewport video.front-camera{transform:scaleX(-1);}
.scanner-placeholder{position:absolute;inset:0;display:grid;place-content:center;justify-items:center;gap:7px;padding:24px;text-align:center;color:white;}
.scanner-placeholder.hidden{display:none;}
.scanner-placeholder > span{font-size:48px;}
.scanner-placeholder strong{font-size:16px;}
.scanner-placeholder small{max-width:310px;line-height:1.55;}
.scan-frame{position:absolute;width:min(53%,250px);aspect-ratio:1;pointer-events:none;}
.scan-frame i{position:absolute;width:36px;height:36px;border-style:solid;}
.scan-frame i:nth-child(1){left:0;top:0;border-width:4px 0 0 4px;border-radius:var(--radius-md,10px) 0 0 0;}
.scan-frame i:nth-child(2){right:0;top:0;border-width:4px 4px 0 0;border-radius:0 var(--radius-md,10px) 0 0;}
.scan-frame i:nth-child(3){right:0;bottom:0;border-width:0 4px 4px 0;border-radius:0 0 var(--radius-md,10px) 0;}
.scan-frame i:nth-child(4){left:0;bottom:0;border-width:0 0 4px 4px;border-radius:0 0 0 var(--radius-md,10px);}
.scan-frame b{position:absolute;left:8px;right:8px;top:50%;height:2px;}
.scanner-status{min-height:20px;margin:12px 0;font-size:11px;line-height:1.55;}
.scanner-status.success{color:var(--green-deep);}
.scanner-status.error{color:var(--rose);}
.scanner-status.warning{color:#986006;}
.scanner-actions{display:flex;flex-wrap:wrap;gap:8px;}
.file-button{position:relative;overflow:hidden;cursor:pointer;}
.file-button input{position:absolute;inset:0;opacity:0;cursor:pointer;}
.camera-help{margin-top:14px;padding:12px 14px;border-radius:13px;background:#f4f8f6;color:var(--muted);font-size:10px;line-height:1.65;}
.scan-empty{min-height:420px;display:grid;place-content:center;justify-items:center;text-align:center;padding:30px;}
.scan-empty > span{width:58px;height:58px;display:grid;place-items:center;border-radius:var(--radius-2xl,18px);background:var(--purple-soft);color:var(--purple-dark);font-size:25px;}
.scan-empty h3{margin:16px 0 6px;color:var(--ink);}
.scan-empty p{max-width:290px;margin:0;font-size:12px;line-height:1.65;}
.scan-student-head{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;padding-bottom:17px;border-bottom:1px solid var(--line);}
.student-avatar.large{width:52px;height:52px;border-radius:var(--radius-xl,16px);font-size:14px;}
.scan-student-head small{font-size:8px;font-weight:900;letter-spacing:.1em;}
.scan-student-head h3{margin:3px 0 2px;color:var(--ink);font-size:18px;}
.scan-student-head p{margin:0;font-size:10px;}
.result-summary{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:16px 0;}
.result-summary > div{padding:12px;border:1px solid var(--line);border-radius:13px;background:var(--theme-surface-soft,#f7fbff);}
.result-summary small, .result-summary strong{display:block;}
.result-summary small{color:var(--muted);font-size:8px;}
.result-summary strong{margin-top:5px;color:var(--ink);font-size:10px;}
.scan-result [data-attendance-form], .scan-result [data-followup-form]{display:grid;gap:13px;}
.scan-result [hidden], .scan-empty[hidden]{display:none!important;}
.scan-history-panel{margin-top:16px;}
.scan-history{display:grid;}
.history-row{display:grid;grid-template-columns:38px 1fr auto;gap:11px;align-items:center;padding:12px 0;border-bottom:1px solid var(--line);}
.history-row:last-child{border-bottom:0;}
.history-icon{width:38px;height:38px;display:grid;place-items:center;border-radius:var(--radius-md-lg,12px);font-weight:900;}
.history-row strong, .history-row small{display:block;}
.history-row strong{color:var(--ink);font-size:12px;}
.history-row small{margin-top:3px;font-size:9px;}
.history-row time{color:var(--muted);font-size:9px;}
.muted-row{margin:0;padding:20px 0;color:var(--muted);text-align:center;font-size:11px;}
.scan-quick-card{display:grid;border-radius:17px;background:linear-gradient(135deg,#edfff7,#f5f2ff);border:1px solid #dce9e4;}
.scan-quick-icon{display:grid;place-items:center;border-radius:var(--radius-xl,16px);background:white;color:var(--green-deep);font-size:24px;box-shadow:var(--shadow-sm);}
.scan-quick-card h3{margin:0 0 5px;color:var(--ink);font-size:15px;}
.scan-quick-card p{margin:0;font-size:11px;}
@media (max-width:1100px){.qr-student-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
.identity-stage{grid-template-columns:1fr;}
.scan-layout{grid-template-columns:1fr;}
.scan-result-panel{min-height:auto;}
.scan-empty{min-height:250px;}}
@media (max-width:780px){.view-heading{align-items:flex-start;flex-direction:column;}
.view-heading .button,.view-actions{width:100%;}
.view-actions .button{flex:1;}
.student-management-row{grid-template-columns:1fr auto;}
.student-management-row>span{display:none;}
.student-toolbar{grid-template-columns:1fr;}
.row-actions{flex-direction:column;align-items:stretch;}
.qr-quick,.student-qr-preview{grid-template-columns:90px 1fr;}
.qr-quick img,.student-qr-preview img{width:90px;}
.id-card-body{grid-template-columns:1fr;}
.id-profile{grid-template-columns:90px 1fr;}
.id-photo{width:90px;}
.id-qr{padding-top:18px;border-top:1px solid var(--line);}
.id-qr img{width:180px;}
.scan-quick-card{grid-template-columns:auto 1fr;}
.scan-quick-card .button{grid-column:1/-1;width:100%;}
.scanner-actions .button{flex:1;justify-content:center;}
.qr-modal-actions{grid-template-columns:1fr;}
.qr-modal-card{padding:24px 19px;}
.scan-student-head{grid-template-columns:auto 1fr;}
.scan-student-head>.status{grid-column:1/-1;}
.result-summary{grid-template-columns:1fr;}}
@media (max-width:520px){.qr-student-grid{grid-template-columns:1fr;}
.student-management-row{gap:9px;}
.student-management-row .student-avatar{display:none;}
.row-actions .button{font-size:9px;padding:7px 9px;}
.id-card-top{padding:17px;}
.id-chip{display:none;}
.id-card-body{padding:20px;}
.id-profile{grid-template-columns:70px 1fr;gap:14px;}
.id-photo{width:70px;border-radius:15px;font-size:22px;}
.id-details h2{font-size:22px;}
.id-details dl div{grid-template-columns:78px 1fr;}
.id-card-bottom{padding:12px 17px;flex-direction:column;}
.scanner-viewport{aspect-ratio:4/5;}
.scan-frame{width:68%;}
.history-row{grid-template-columns:34px 1fr;}
.history-row time{grid-column:2;}
.secure-chip{display:none;}}
@media print{body *{visibility:hidden!important;}
[data-student-card], [data-student-card] *, .qr-modal.open .qr-modal-card, .qr-modal.open .qr-modal-card *{visibility:visible!important;}
[data-student-card]{position:absolute;left:0;top:0;width:100%;box-shadow:none;}
.qr-modal.open .qr-modal-card{position:absolute;left:50%;top:20px;transform:translateX(-50%)!important;}
.modal-close,.qr-modal-actions{display:none!important;}}
.compact-heading{margin-bottom:18px;}
.compact-heading h2{margin-bottom:7px;}
.appointment-layout{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr);gap:16px;align-items:start;}
.appointment-form{display:grid;gap:15px;}
.form-grid-two{display:grid;grid-template-columns:1fr 1fr;gap:13px;}
.form-submit-row{display:flex;align-items:center;justify-content:space-between;gap:18px;padding-top:4px;}
.form-submit-row>small{max-width:420px;color:var(--muted);font-size:10px;line-height:1.55;}
.teacher-choice-card{position:sticky;top:94px;}
.teacher-choice-label{display:block;font-size:9px;font-weight:900;letter-spacing:.12em;}
.teacher-choice-profile{display:grid;grid-template-columns:56px 1fr;gap:13px;align-items:center;margin:15px 0 18px;}
.teacher-avatar{width:56px;height:56px;display:grid;place-items:center;border-radius:var(--radius-2xl,18px);background:linear-gradient(135deg,var(--green-soft),#d8f2e7);font-size:15px;font-weight:900;}
.teacher-choice-profile h3{margin:0 0 5px;color:var(--ink);font-size:15px;}
.teacher-choice-profile p{margin:0;font-size:10px;line-height:1.55;}
.teacher-availability{display:grid;gap:5px;padding:13px;border-radius:var(--radius-lg,14px);background:#f3f8f6;}
.teacher-availability span{color:var(--muted);font-size:9px;}
.teacher-availability strong{color:var(--ink);font-size:11px;}
.teacher-note{margin-top:12px;color:var(--muted);font-size:10px;line-height:1.65;}
.appointment-list{display:grid;gap:12px;}
.appointment-card{display:grid;grid-template-columns:150px 1fr;overflow:hidden;border:1px solid var(--line);border-radius:var(--radius-3xl,20px);background:white;box-shadow:var(--shadow-sm);}
.appointment-date{display:grid;align-content:center;gap:7px;padding:22px;border-right:1px solid var(--line);}
.appointment-date strong{color:var(--green-deep);font-size:27px;}
.appointment-date span{color:var(--muted);font-size:10px;line-height:1.55;}
.appointment-main{padding:20px 22px;}
.appointment-title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:15px;}
.appointment-title-row small{font-size:9px;font-weight:800;}
.appointment-title-row h3{margin:4px 0 0;color:var(--ink);font-size:17px;}
.appointment-meta{display:flex;flex-wrap:wrap;gap:8px 16px;margin-top:13px;color:var(--muted);font-size:10px;}
.appointment-note{margin:14px 0 0;padding:12px 14px;border-radius:13px;background:#f6f8f7;color:var(--ink);font-size:10px;line-height:1.65;}
.appointment-actions{display:flex;gap:8px;margin-top:16px;}
.teacher-appointment-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:16px;}
.teacher-appointment-summary>div{padding:17px 18px;border:1px solid var(--line);border-radius:17px;background:white;}
.teacher-appointment-summary small,.teacher-appointment-summary strong{display:block;}
.teacher-appointment-summary small{color:var(--muted);font-size:9px;}
.teacher-appointment-summary strong{margin-top:8px;color:var(--ink);font-size:25px;}
.compact-select{min-height:42px;padding:0 36px 0 13px;border:1px solid var(--line);border-radius:var(--radius-md-lg,12px);background:white;color:var(--ink);font:700 10px/1 "Outfit",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;}
.notification-button{position:relative;}
.notification-badge,.side-badge{position:absolute;display:grid;place-items:center;min-width:17px;height:17px;padding:0 4px;border:2px solid white;border-radius:var(--radius-pill,999px);background:#d92d4a;color:white;font-size:8px;font-weight:900;line-height:1;}
.notification-badge{right:-4px;top:-4px;}
.notification-badge[hidden],.side-badge[hidden]{display:none;}
.side-nav button{position:relative;}
.side-badge{right:12px;top:50%;transform:translateY(-50%);}
.notification-list{padding:6px 20px;}
.notification-item{position:relative;display:grid;grid-template-columns:10px 1fr;gap:12px;padding:16px 3px;border-bottom:1px solid var(--line);}
.notification-item:last-child{border-bottom:0;}
.notification-dot{width:8px;height:8px;margin-top:5px;border-radius:50%;background:#cad6d1;}
.notification-item.unread .notification-dot{background:var(--green);}
.notification-item.unread strong{color:var(--green-deep);}
.notification-item strong{display:block;color:var(--ink);font-size:12px;}
.notification-item p{margin:5px 0;color:var(--muted);font-size:10px;line-height:1.6;}
.notification-item small{color:#89978f;font-size:8px;}
.compact-empty{min-height:250px;}
.student-page .form-panel{max-width:none;}
.student-page .appointment-card .status.rose,.teacher-page .appointment-card .status.rose{background:var(--tone-fff0f2,#fff0f2);color:var(--theme-danger,#b91c1c);}
@media (max-width:980px){.appointment-layout{grid-template-columns:1fr;}
.teacher-choice-card{position:static;}
.appointment-card{grid-template-columns:125px 1fr;}}
@media (max-width:720px){.form-grid-two{grid-template-columns:1fr;}
.form-submit-row{align-items:stretch;flex-direction:column;}
.form-submit-row .button{width:100%;}
.appointment-card{grid-template-columns:1fr;}
.appointment-date{grid-template-columns:auto 1fr;align-items:center;padding:14px 17px;border-right:0;border-bottom:1px solid var(--line);}
.appointment-date strong{font-size:22px;}
.appointment-main{padding:17px;}
.appointment-title-row{gap:9px;}
.teacher-appointment-summary{grid-template-columns:1fr 1fr;}
.teacher-appointment-summary>div:first-child{grid-column:1/-1;}}
@media (max-width:460px){.appointment-title-row{align-items:flex-start;flex-direction:column;}
.appointment-actions{display:grid;grid-template-columns:1fr 1fr;}
.teacher-appointment-summary{grid-template-columns:1fr;}
.teacher-appointment-summary>div:first-child{grid-column:auto;}
.notification-list{padding:4px 14px;}}
.side-count{margin-left:auto;min-width:19px;height:19px;display:grid;place-items:center;padding:0 5px;border-radius:var(--radius-pill,999px);background:#eaf5f0;color:var(--green-deep);font-size:8px;font-weight:900;}
.dashboard-top-actions{display:flex;gap:9px;}
.scanner-title{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:13px;}
.scanner-title>div,.scan-step-heading{display:flex;align-items:center;gap:10px;}
.scanner-title strong{color:var(--ink);font-size:13px;}
.scanner-title small{color:var(--muted);font-size:9px;}
.scan-step{width:28px;height:28px;display:grid;place-items:center;flex:0 0 auto;border-radius:var(--radius-md,10px);font-size:10px;font-weight:900;}
.manual-student-box{margin-top:14px;padding:13px;border:1px solid var(--line);border-radius:var(--radius-lg,14px);background:#f7faf9;}
.manual-student-box>span{display:block;margin-bottom:8px;color:var(--muted);font-size:9px;font-weight:700;}
.manual-student-box>div{display:grid;grid-template-columns:1fr auto;gap:8px;}
.manual-student-box input,.manual-student-box select{min-width:0;height:39px;padding:0 34px 0 11px;border:1px solid var(--line);border-radius:var(--radius-md,10px);background:white;color:var(--ink);font:600 10px "Outfit",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;}
.manual-student-box input{grid-column:1/-1;padding-right:11px;}
.student-detected-popup{position:fixed;top:24px;left:50%;z-index:10020;min-width:min(360px,calc(100vw - 32px));padding:15px 18px;border:1px solid #187553;border-radius:var(--radius-xl,16px);background:#176d4f;color:var(--theme-surface,#fff);text-align:center;box-shadow:0 12px 34px rgba(12,68,48,.26);opacity:0;transform:translate(-50%,-18px);pointer-events:none;}
.student-detected-popup.is-visible{opacity:1;transform:translate(-50%,0);}
.student-detected-popup small,.student-detected-popup strong{display:block;}
.student-detected-popup small{font-size:9px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;opacity:.82;}
.student-detected-popup strong{margin-top:4px;font-size:15px;}
.smart-scan-summary,.record-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:11px;margin-bottom:16px;}
.smart-scan-summary>div,.record-summary>div{padding:15px 17px;border:1px solid var(--line);border-radius:var(--radius-xl,16px);background:white;}

.smart-scan-summary small,.smart-scan-summary small,.smart-scan-summary strong,.record-summary small,.record-summary strong{display:block;}
.smart-scan-summary small,.record-summary small{color:var(--muted);font-size:9px;}
.smart-scan-summary strong,.record-summary strong{margin-top:6px;color:var(--ink);font-size:22px;}
.record-summary.five{grid-template-columns:repeat(5,1fr);}
.smart-result-panel{align-self:start;}
.scan-step-heading{margin:19px 0 11px;scroll-margin-top:24px;}
.scan-step-heading strong,.scan-step-heading small{display:block;}
.scan-step-heading strong{color:var(--ink);font-size:12px;}
.scan-step-heading small{margin-top:2px;color:var(--muted);font-size:9px;}
.smart-destination-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;}
.smart-destination-grid button{display:grid;grid-template-columns:34px 1fr;gap:9px;align-items:center;padding:11px;text-align:left;border:1px solid var(--line);border-radius:13px;background:white;color:var(--ink);cursor:pointer;}
.smart-destination-grid button:hover,.smart-destination-grid button.active{border-color:#8acdb1;background:#effbf6;box-shadow:0 7px 18px rgba(31,113,82,.08);}
.smart-destination-grid i{width:34px;height:34px;display:grid;place-items:center;border-radius:var(--radius-md,10px);background:#f1f6f4;color:var(--green-deep);font-style:normal;font-size:15px;}
.smart-destination-grid strong,.smart-destination-grid small{display:block;}
.smart-destination-grid strong{font-size:10px;}
.smart-destination-grid small{margin-top:2px;color:var(--muted);font-size:8px;line-height:1.35;}
.smart-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:11px;}
.smart-full{grid-column:1/-1;}
.smart-save-row{display:grid;gap:8px;margin-top:14px;}
.smart-save-row small{text-align:center;color:var(--muted);font-size:9px;line-height:1.5;}
.smart-record-list{display:grid;gap:11px;}
.smart-record-card{display:grid;grid-template-columns:54px minmax(0,1fr) auto;gap:14px;align-items:start;padding:17px;border:1px solid var(--line);border-radius:var(--radius-2xl,18px);background:white;box-shadow:var(--shadow-sm);}
.record-type-icon{width:54px;height:54px;display:grid;place-items:center;border-radius:15px;background:#edf8f3;font-size:19px;}
.smart-record-main{min-width:0;}
.smart-record-top{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;}
.smart-record-top h3{margin:0;color:var(--ink);font-size:14px;}
.smart-record-top h3 small{display:block;margin-top:4px;color:var(--muted);font-size:9px;font-weight:600;}
.smart-record-meta{display:flex;flex-wrap:wrap;gap:7px 13px;margin-top:9px;color:var(--muted);font-size:9px;}
.smart-record-note{margin:10px 0 0;padding:10px 12px;border-radius:11px;background:#f6f8f7;color:var(--ink);font-size:10px;line-height:1.55;white-space:pre-wrap;}
.smart-record-next{display:inline-flex;margin-top:9px;padding:6px 9px;border-radius:9px;background:#fff6de;color:#8d5c00;font-size:8px;font-weight:800;}
.smart-record-actions{display:flex;flex-direction:column;gap:7px;min-width:94px;}

.record-empty{min-height:260px;display:grid;place-items:center;text-align:center;padding:35px;border:1px dashed var(--line);border-radius:var(--radius-2xl,18px);background:var(--theme-surface-soft,#f7fbff);}
.record-empty span{font-size:28px;}
.record-empty h3{margin:10px 0 5px;color:var(--ink);font-size:14px;}
.record-empty p{max-width:350px;margin:0;color:var(--muted);font-size:10px;line-height:1.6;}
.history-row .history-icon.type-late{background:#fff5da;color:#a66b00;}
.history-row .history-icon.type-note{background:#f1ebff;color:#6c34be;}
.history-row .history-icon.type-waiting{background:#e8f5ff;color:#1c6b9c;}
.history-row .history-icon.type-followup{background:#eaf9f2;color:#08784f;}
.history-row .history-icon.type-report{background:var(--tone-fff0f2,#fff0f2);color:var(--theme-danger,#b91c1c);}
@media (max-width:1050px){.smart-scan-summary,.record-summary{grid-template-columns:repeat(2,1fr);}
.record-summary.five{grid-template-columns:repeat(3,1fr);}}
@media (max-width:760px){.dashboard-top-actions{width:100%;display:grid;grid-template-columns:1fr 1fr;}
.smart-form-grid{grid-template-columns:1fr;}
.smart-full{grid-column:auto;}
.smart-record-card{grid-template-columns:44px 1fr;}
.record-type-icon{width:44px;height:44px;}
.smart-record-actions{grid-column:2;flex-direction:row;}
.smart-record-actions .button{flex:1;}
.record-summary.five{grid-template-columns:repeat(2,1fr);}}
@media (max-width:520px){.dashboard-top-actions{grid-template-columns:1fr;}
.smart-scan-summary,.record-summary,.record-summary.five{grid-template-columns:1fr 1fr;}
.smart-destination-grid{grid-template-columns:1fr;}
.smart-destination-grid button:last-child{grid-column:auto;}
.manual-student-box>div{grid-template-columns:1fr;}
.manual-student-box .button{width:100%;}
.smart-record-top{flex-direction:column;}
.smart-record-card{grid-template-columns:1fr;}
.record-type-icon{display:none;}
.smart-record-actions{grid-column:auto;}
.scanner-actions{display:grid;grid-template-columns:1fr 1fr;}
.scanner-actions .button{width:100%;}}
html, body{max-width:100%;overflow-x:hidden;}
.dashboard-page, .portal-page{min-width:0;}
.dashboard-shell, .dashboard-content, .content-view, .panel, .appointment-main{min-width:0;}
.nav-icon, .ui-icon, .button-icon, .access-svg, .role-svg, .rail-svg{flex:0 0 auto;overflow:visible;}
.nav-icon{width:19px;height:19px;}
.ui-icon{width:20px;height:20px;}
.button-icon{width:18px;height:18px;}
.access-svg, .role-svg{width:30px;height:30px;}
.rail-svg{width:18px;height:18px;}
.access-grid{grid-template-columns:repeat(2, minmax(0, 1fr));width:min(900px, 100%);margin-inline:auto;}
.role-grid{grid-template-columns:repeat(2, minmax(0, 1fr));width:min(920px, 100%);margin-inline:auto;}
.access-icon, .role-icon{display:grid;place-items:center;color:var(--green-deep);}
.access-card:nth-child(2) .access-icon,
.role-card:nth-child(2) .role-icon{color:#5b21b6;}
.button{border-radius:15px;border:2px solid transparent;line-height:1.2;white-space:normal;text-align:center;box-shadow:none;}
.button-primary:hover,
.button-purple:hover{background:var(--tone-0fad7b,#0fad7b);box-shadow:inset 7px 0 0 #036b50, 0 14px 28px rgba(5, 150, 105, .23);}
.button-secondary,
.button-ghost{border-color:var(--theme-primary,#078ee8);background:var(--theme-surface,#fff);box-shadow:inset 7px 0 0 var(--theme-primary,#078ee8), 0 8px 20px var(--tone-9374e542,rgba(21, 57, 46, .06));}
.button-secondary:hover,
.button-ghost:hover{background:var(--theme-primary-soft,#f0f8ff);}
.icon-button{border:1.5px solid #9bdac2;background:var(--theme-surface,#fff);box-shadow:0 6px 17px var(--tone-9374e542,rgba(21, 57, 46, .06));}
.icon-button:hover{background:var(--theme-primary-soft,#f0f8ff);}
.side-nav button{min-width:0;padding:0 13px;border:1.5px solid #d7ebe3;background:var(--theme-surface,#fff);color:#40554e;overflow:hidden;}
.side-nav button:hover{color:var(--green-deep);border-color:#70c9a8;background:#f1fbf6;transform:translateX(2px);}
.side-nav button.active{border-color:var(--theme-primary-mid,#1264ad);background:var(--theme-primary-light,#20a7ff);box-shadow:inset 7px 0 0 var(--theme-primary-strong,#173f70), 0 10px 22px var(--tone-8e0d1b56,rgba(5, 150, 105, .18));}

.side-nav button.active:hover{transform:none;background:var(--tone-0fad7b,#0fad7b);}
.side-nav button > b.side-count{flex:0 0 auto;}
.scan-mode-tabs{gap:8px;padding:0;background:transparent;}
.scan-mode-tabs button,
.smart-destination-grid button{border:1.5px solid var(--theme-primary,#078ee8);background:var(--theme-surface,#fff);box-shadow:inset 6px 0 0 var(--theme-primary,#078ee8);}
.scan-mode-tabs button:hover,
.smart-destination-grid button:hover{background:var(--theme-primary-soft,#f0f8ff);}
.scan-mode-tabs button.active,
.smart-destination-grid button.active{border-color:var(--theme-primary-mid,#1264ad);background:var(--theme-primary-light,#20a7ff);box-shadow:inset 7px 0 0 var(--theme-primary-strong,#173f70), 0 9px 20px rgba(5, 150, 105, .16);}


.dashboard-header{min-width:0;}
.header-title-wrap{min-width:0;}
.header-title-wrap > div{min-width:0;}
.dashboard-header h1,
.dashboard-header p{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.header-actions{flex:0 0 auto;}
@media (max-width: 780px){.sidebar{width:min(286px, calc(100vw - 34px));left:min(-300px, calc(-100vw + 34px));padding:16px 12px max(18px, env(safe-area-inset-bottom));}
.sidebar-brand{padding:2px 6px 16px;}
.side-group{margin-bottom:17px;}
.side-nav button{min-height:44px;font-size:12px;}
.dashboard-header{gap:10px;}
.header-title-wrap{gap:9px;}
.header-actions{gap:7px;}
.mobile-bottom{height:auto;min-height:78px;grid-template-columns:repeat(4, minmax(0, 1fr));gap:6px;padding:7px 7px max(7px, env(safe-area-inset-bottom));background:rgba(247, 251, 249, .98);border-top:1px solid #d9eae3;box-shadow:0 -12px 30px rgba(21, 57, 46, .09);}
.mobile-bottom button{min-width:0;min-height:56px;gap:3px;padding:5px 3px;border:1.5px solid var(--theme-primary,#078ee8);border-radius:var(--radius-lg,14px);background:var(--theme-surface,#fff);color:var(--green-deep);box-shadow:inset 5px 0 0 var(--theme-primary,#078ee8);font-size:8.5px;line-height:1.1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.mobile-bottom button .nav-icon{width:18px;height:18px;color:currentColor;}
.mobile-bottom button.active{color:var(--theme-surface,#fff);border-color:var(--theme-primary-mid,#1264ad);background:var(--theme-primary-light,#20a7ff);box-shadow:inset 6px 0 0 var(--theme-primary-strong,#173f70), 0 7px 16px var(--tone-8e0d1b56,rgba(5, 150, 105, .18));}
.view-heading,
  .compact-heading{gap:13px;margin-bottom:16px;}
.view-heading h2{font-size:clamp(23px, 7vw, 29px);}
.view-heading p{font-size:12px;line-height:1.65;}
.view-actions{display:grid;grid-template-columns:repeat(2, minmax(0, 1fr));width:100%;gap:8px;}
.view-actions .button{width:100%;min-width:0;padding-inline:12px;}
.panel{border-radius:var(--radius-2xl,18px);}
.dashboard-metrics{gap:8px;}
.dashboard-metric{min-width:0;}
.dashboard-metric small{line-height:1.4;}
.appointment-title-row{flex-wrap:wrap;}
.appointment-title-row .status{flex:0 0 auto;}
.scanner-title{align-items:flex-start;}
.scanner-title small{text-align:right;}
.smart-destination-grid button{min-width:0;}}
@media (max-width: 560px){.container{width:min(100% - 22px, 1180px);}
.portal-top{padding:13px 0;}
.portal-top .container{align-items:center;}
.portal-top .button{min-height:42px;padding-inline:14px;font-size:11px;}
.portal-main{padding:28px 0 64px;}
.portal-heading{margin-bottom:25px;}
.portal-heading h1{font-size:clamp(34px, 11vw, 46px);}
.portal-heading p{font-size:13px;}
.access-grid,
  .role-grid{grid-template-columns:1fr;}
.access-card{min-height:0;padding:23px 20px;}
.access-card .button{width:100%;}
.dashboard-header h1{max-width:46vw;}
.avatar{width:32px;height:32px;}
.dashboard-content{padding-inline:10px;}
.dash-welcome{gap:10px;}
.dash-welcome h2{font-size:22px;}
.dashboard-metrics{grid-template-columns:repeat(2, minmax(0, 1fr));}
.dashboard-metric{padding:13px 12px;border-radius:var(--radius-xl,16px);}
.dashboard-metric strong{font-size:20px;}
.dashboard-metric .metric-text{font-size:15px;}
.panel{padding:15px;}
.panel-head{gap:10px;}
.panel-head h3{font-size:14px;}
.view-actions{grid-template-columns:1fr;}
.button{min-height:46px;padding-inline:15px;font-size:11px;}
.button-compact{min-height:38px;font-size:9px;}
.appointment-main{padding:15px;}
.appointment-actions{display:grid;grid-template-columns:1fr;}
.appointment-actions .button{width:100%;}
.teacher-appointment-summary{grid-template-columns:1fr 1fr;}
.teacher-appointment-summary > div{min-width:0;padding:14px;}
.teacher-appointment-summary strong{font-size:21px;}
.student-toolbar.standalone{padding:12px;}
.smart-scan-summary > div,
  .record-summary > div{min-width:0;padding:13px;}
.smart-scan-summary strong,
  .record-summary strong{font-size:19px;}
.scanner-actions{grid-template-columns:1fr;}
.scanner-actions .button{width:100%;}
.manual-student-box{padding:11px;}}
@media (max-width: 380px){.brand-mark{width:36px;height:36px;}
.brand-copy strong{font-size:13px;}
.dashboard-header{padding-inline:8px;}
.header-title-wrap{gap:6px;}
.icon-button{width:38px;height:38px;border-radius:var(--radius-md-lg,12px);}
.dashboard-header h1{max-width:41vw;font-size:14px;}
.header-actions{gap:5px;}
.mobile-bottom{gap:4px;padding-inline:4px;}
.mobile-bottom button{min-height:54px;border-radius:var(--radius-md-lg,12px);font-size:7.5px;padding-inline:2px;}
.mobile-bottom button .nav-icon{width:17px;height:17px;}
.dashboard-metrics{grid-template-columns:1fr;}
.smart-scan-summary,
  .record-summary,
  .record-summary.five{grid-template-columns:1fr;}
.teacher-appointment-summary{grid-template-columns:1fr;}
.teacher-appointment-summary > div:first-child{grid-column:auto;}}
.panel-head button,
.panel-head a{display:inline-flex;align-items:center;justify-content:center;border:1.5px solid var(--theme-primary,#078ee8);background:var(--theme-surface,#fff);white-space:nowrap;}
.panel-head button:hover,
.panel-head a:hover{background:var(--theme-primary-soft,#f0f8ff);}
.panel-head button.active,
.panel-head a.active{border-color:var(--theme-primary-mid,#1264ad);background:var(--theme-primary-light,#20a7ff);box-shadow:inset 5px 0 0 var(--theme-primary-strong,#173f70);}
@media (max-width: 420px){.panel-head{align-items:flex-start;}
.panel-head button,
  .panel-head a{min-height:32px;padding-inline:9px;font-size:9px;}}
.button,
.panel-head button,
.panel-head a,
.faq-button,
.menu-toggle,
.icon-button{border:2px solid var(--control-green-border);box-shadow:inset 8px 0 0 var(--control-green-border), 0 8px 20px var(--tone-9374e542,rgba(21, 57, 46, .06));}
.button,
.panel-head button,
.panel-head a{min-height:48px;}
.button-primary,
.button-secondary,
.button-purple,
.button-ghost{color:var(--green-deep);border-color:var(--control-green-border);background:var(--control-green-pale);box-shadow:inset 8px 0 0 var(--control-green-border), 0 8px 20px var(--tone-9374e542,rgba(21, 57, 46, .06));}
.button:hover,
.button:focus-visible,
.button:active,
.button.active,
.button.is-active,
.button.selected,
.button[aria-pressed="true"],
.button[aria-selected="true"],
.panel-head button:hover,
.panel-head button:focus-visible,
.panel-head button:active,
.panel-head button.active,
.panel-head a:hover,
.panel-head a:focus-visible,
.panel-head a.active,
.faq-button:hover,
.faq-button:focus-visible,
.faq-item.open .faq-button,
.menu-toggle:hover,
.menu-toggle:focus-visible,
.menu-toggle:active,
.icon-button:hover,
.icon-button:focus-visible,
.icon-button:active,
.icon-button.active{border-color:var(--control-green-border);background:var(--control-green);box-shadow:inset 8px 0 0 var(--control-green-dark), 0 13px 28px rgba(5, 150, 105, .22);transform:translateY(-1px);}
.button:focus-visible,
.panel-head button:focus-visible,
.panel-head a:focus-visible,
.faq-button:focus-visible,
.menu-toggle:focus-visible,
.icon-button:focus-visible,
.side-nav button:focus-visible,
.mobile-bottom button:focus-visible,
.scan-mode-tabs button:focus-visible,
.smart-destination-grid button:focus-visible{outline:none;box-shadow:inset 8px 0 0 var(--control-green-dark), var(--control-focus);}
.button:active,
.panel-head button:active,
.panel-head a:active,
.faq-button:active,
.menu-toggle:active,
.icon-button:active{transform:translateY(0);}
.button:disabled,
button:disabled{cursor:not-allowed;opacity:.55;transform:none!important;box-shadow:inset 7px 0 0 #a7cfc0;}
.button.danger:hover,
.button.danger:focus-visible,
.button.danger:active,
.button.danger.active{color:var(--theme-surface,#fff);border-color:#bd314b;background:var(--theme-danger-light,#ef4444);box-shadow:inset 8px 0 0 #9d1e35, 0 12px 25px rgba(180, 35, 58, .20);}
.icon-button,
.menu-toggle{width:42px;height:42px;min-height:42px;padding:0;border-radius:13px;}
.icon-button:hover,
.icon-button:focus-visible,
.icon-button:active,
.menu-toggle:hover,
.menu-toggle:focus-visible,
.menu-toggle:active{box-shadow:inset 5px 0 0 var(--control-green-dark), 0 10px 20px var(--tone-8e0d1b56,rgba(5, 150, 105, .18));}
.icon-button:hover .ui-icon,
.icon-button:focus-visible .ui-icon,
.menu-toggle:hover,
.menu-toggle:focus-visible{color:var(--theme-surface,#fff);}
.faq-button{width:calc(100% - 20px);margin:10px;min-height:58px;padding:15px 18px 15px 24px;border-radius:15px;}
.faq-item.open .faq-button span:last-child,
.faq-button:hover span:last-child,
.faq-button:focus-visible span:last-child{color:var(--theme-surface,#fff);}
.side-nav button,
.mobile-bottom button,
.scan-mode-tabs button,
.smart-destination-grid button{border:1.5px solid var(--control-green-border);box-shadow:inset 6px 0 0 var(--control-green-border);}
.side-nav button:hover,
.side-nav button:focus-visible,
.side-nav button.active,
.mobile-bottom button:hover,
.mobile-bottom button:focus-visible,
.mobile-bottom button.active,
.scan-mode-tabs button:hover,
.scan-mode-tabs button:focus-visible,
.scan-mode-tabs button.active,
.smart-destination-grid button:hover,
.smart-destination-grid button:focus-visible,
.smart-destination-grid button.active{border-color:var(--control-green-border);background:var(--control-green);box-shadow:inset 7px 0 0 var(--control-green-dark), 0 10px 22px var(--tone-8e0d1b56,rgba(5, 150, 105, .18));transform:none;}
.side-nav button:hover .nav-icon,
.side-nav button:focus-visible .nav-icon,
.side-nav button.active .nav-icon,
.mobile-bottom button:hover .nav-icon,
.mobile-bottom button:focus-visible .nav-icon,
.mobile-bottom button.active .nav-icon{color:var(--theme-surface,#fff);}
.smart-destination-grid button:hover strong,
.smart-destination-grid button:hover small,
.smart-destination-grid button:focus-visible strong,
.smart-destination-grid button:focus-visible small,
.smart-destination-grid button.active strong,
.smart-destination-grid button.active small{color:var(--theme-surface,#fff);}
.smart-destination-grid button:hover i,
.smart-destination-grid button:focus-visible i,
.smart-destination-grid button.active i{color:var(--theme-surface,#fff);background:rgba(255, 255, 255, .18);}
.button-compact{min-height:38px;padding:8px 13px;border-radius:11px;font-size:10px;}
.panel-head button,
.panel-head a{min-height:36px;padding:0 13px;border-radius:11px;box-shadow:inset 5px 0 0 var(--control-green-border), 0 6px 15px rgba(21, 57, 46, .05);}
.panel-head button:hover,
.panel-head button:focus-visible,
.panel-head button.active,
.panel-head a:hover,
.panel-head a:focus-visible,
.panel-head a.active{box-shadow:inset 5px 0 0 var(--control-green-dark), 0 9px 18px rgba(5, 150, 105, .16);}
.scan-quick-card{grid-template-columns:54px minmax(0, 1fr);gap:14px;align-items:center;padding:18px;min-width:0;}
.scan-quick-card > div{min-width:0;}
.scan-quick-card h3,
.scan-quick-card p{max-width:none;overflow-wrap:break-word;word-break:normal;}
.scan-quick-card h3{line-height:1.35;}
.scan-quick-card p{line-height:1.65;}
.scan-quick-card > .button{grid-column:1 / -1;width:100%;margin-top:2px;}
.scan-quick-icon{width:54px;height:54px;flex:0 0 auto;}
.panel-head{flex-wrap:wrap;}
.panel-head h3{min-width:0;}
body.modal-open{overflow:hidden;}
.qr-modal{align-items:center;justify-items:center;overflow-y:auto;overscroll-behavior:contain;padding:max(18px, env(safe-area-inset-top)) max(14px, env(safe-area-inset-right)) max(18px, env(safe-area-inset-bottom)) max(14px, env(safe-area-inset-left));}
.qr-modal-card{width:min(430px, 100%);max-height:calc(100dvh - max(36px, env(safe-area-inset-top) + env(safe-area-inset-bottom)));margin:auto;padding:30px 28px 26px;overflow-y:auto;scrollbar-width:thin;}
.qr-modal-brand,
.qr-modal-avatar,
.qr-modal-card h2,
.qr-modal-card > p,
.qr-modal-card > small{flex:0 0 auto;}
.qr-modal-image{width:min(230px, 76vw);margin:14px auto 0;flex:0 0 auto;}
.qr-modal-actions{width:100%;margin-top:18px;}
.modal-close{top:12px;right:12px;width:38px;height:38px;}
.modal-close:hover,
.modal-close:focus-visible,
.modal-close:active{color:var(--theme-surface,#fff);border-color:#bd314b;background:var(--theme-danger-light,#ef4444);box-shadow:inset 5px 0 0 #9d1e35, 0 9px 18px rgba(180, 35, 58, .18);outline:none;}
.appointment-actions,
.scanner-actions,
.smart-record-actions,
.view-actions,
.dashboard-top-actions,
.qr-card-actions,
.qr-modal-actions{align-items:stretch;}
.appointment-actions .button,
.scanner-actions .button,
.smart-record-actions .button,
.view-actions .button,
.dashboard-top-actions .button,
.qr-card-actions .button,
.qr-modal-actions .button{justify-content:center;}
@media (max-width: 780px){.button:hover,
  .panel-head button:hover,
  .panel-head a:hover,
  .faq-button:hover,
  .side-nav button:hover,
  .mobile-bottom button:hover,
  .scan-mode-tabs button:hover,
  .smart-destination-grid button:hover{transform:none;}
.scan-quick-card{padding:16px;}
.panel-head{align-items:center;}
.qr-modal-card{padding:27px 20px 22px;}}
@media (max-width: 520px){.button{min-height:46px;padding-inline:14px;border-radius:var(--radius-lg,14px);}
.scan-quick-card{grid-template-columns:48px minmax(0, 1fr);gap:12px;padding:15px;border-radius:var(--radius-xl,16px);}
.scan-quick-icon{width:48px;height:48px;border-radius:var(--radius-lg,14px);}
.scan-quick-card h3{margin-bottom:4px;font-size:14px;}
.scan-quick-card p{font-size:10.5px;line-height:1.6;}
.scan-quick-card > .button{min-height:44px;}
.panel-head{gap:9px;margin-bottom:14px;}
.panel-head h3{font-size:15px;}
.panel-head button,
  .panel-head a{min-height:34px;padding-inline:11px;font-size:9px;}
.qr-modal{align-items:center;padding:max(10px, env(safe-area-inset-top)) 10px max(10px, env(safe-area-inset-bottom));}
.qr-modal-card{width:100%;max-height:calc(100dvh - 20px);padding:25px 16px 18px;}
.qr-modal-card h2{padding-inline:34px;font-size:20px;}
.qr-modal-image{width:min(210px, 70vw);}
.qr-modal-actions{grid-template-columns:1fr;gap:8px;}
.modal-close{top:10px;right:10px;}
.faq-button{width:calc(100% - 14px);margin:7px;padding:14px 14px 14px 20px;}}
@media (max-width: 360px){.scan-quick-card{grid-template-columns:1fr;text-align:center;justify-items:center;}
.scan-quick-card > .button{grid-column:auto;}
.scan-quick-card p{max-width:240px;}
.panel-head{align-items:stretch;}
.panel-head button,
  .panel-head a{width:100%;}}
.smart-destination-grid button:last-child{grid-column:auto;}
.problem-category-panel{display:grid;gap:11px;margin-top:13px;padding:14px;border:1px solid #dbe8e2;border-radius:var(--radius-xl,16px);background:linear-gradient(145deg,#f8fcfa,#f2f8f6);}
.problem-category-panel[hidden]{display:none!important;}
.problem-category-head strong,
.problem-category-head small{display:block;}
.problem-category-head strong{color:var(--ink);font-size:11px;}
.problem-category-head small{margin-top:3px;color:var(--muted);font-size:8px;line-height:1.45;}
.problem-category-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px;}
.problem-category-grid button{display:grid;grid-template-columns:27px minmax(0,1fr);align-items:center;gap:7px;min-width:0;min-height:45px;padding:7px 8px;border:1px solid var(--line);border-radius:var(--radius-md-lg,12px);background:var(--theme-surface,#fff);color:var(--ink);text-align:left;cursor:pointer;font:800 8px/1.35 "Outfit",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;}
.problem-category-grid button i{display:grid;place-items:center;width:27px;height:27px;border-radius:9px;background:#eff5f2;color:var(--green-deep);font-style:normal;font-size:12px;}
.problem-category-grid button:hover,
.problem-category-grid button.active{border-color:#63b995;background:#eaf9f2;box-shadow:0 5px 13px rgba(31,113,82,.09);}
.record-category-chip{padding:5px 8px;border-radius:var(--radius-sm,8px);background:#eef8f4;color:var(--green-deep);font-weight:850;}
.care-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:16px;}
.care-metric{position:relative;overflow:hidden;min-width:0;padding:18px 19px;border:1px solid var(--line);border-radius:var(--radius-2xl,18px);background:var(--theme-surface,#fff);box-shadow:var(--shadow-sm);}
.care-metric::before{content:"";position:absolute;inset:0 auto 0 0;width:6px;background:#7c6be8;}
.care-metric.is-resolved::before{background:#209569;}
.care-metric.is-late::before{background:#e6a700;}
.care-metric.is-alert::before{background:var(--theme-danger-light,#ef4444);}
.care-metric span,
.care-metric strong,
.care-metric small{display:block;}
.care-metric span{color:var(--muted);font-size:9px;font-weight:850;}
.care-metric strong{margin:7px 0 5px;color:var(--ink);font-size:27px;line-height:1;}
.care-metric small{color:var(--muted);font-size:8px;line-height:1.45;}
.care-dashboard-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(300px,.85fr);gap:16px;align-items:start;}
.care-dashboard-grid .panel{min-width:0;}
.care-dashboard-grid .panel-head{align-items:flex-start;}
.care-dashboard-grid .panel-head h3{margin-bottom:4px;}
.care-dashboard-grid .panel-head p{margin:0;color:var(--muted);font-size:9px;line-height:1.5;}
.care-progress-percent{flex:0 0 auto;color:var(--green-deep);font-size:26px;font-weight:900;}
.care-progress-track{height:13px;overflow:hidden;border-radius:var(--radius-pill,999px);background:#e9f0ed;}
.care-progress-track i{display:block;width:0;height:100%;border-radius:inherit;background:linear-gradient(90deg,#159a69,#54c696);}
.care-progress-breakdown{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:14px;}
.care-progress-breakdown div{padding:11px 12px;border-radius:var(--radius-md-lg,12px);background:#f5f8f7;}
.care-progress-breakdown span,
.care-progress-breakdown b{display:block;}
.care-progress-breakdown span{color:var(--muted);font-size:8px;}
.care-progress-breakdown b{margin-top:4px;color:var(--ink);font-size:18px;}
.care-list{display:grid;}
.care-list-row{display:grid;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:10px;padding:11px 0;border-bottom:1px solid var(--line);}
.care-list-row:last-child{border-bottom:0;}
.care-list-row > span{display:grid;place-items:center;width:34px;height:34px;border-radius:11px;background:#edf7f3;color:var(--green-deep);font-weight:900;}
.care-list-row.is-alert > span{background:var(--tone-fff0f2,#fff0f2);color:var(--theme-danger,#b91c1c);}
.care-list-row.is-late > span{background:#fff7dc;color:#8c6200;}
.care-list-row strong,
.care-list-row small,
.care-list-row b{display:block;}
.care-list-row strong{overflow:hidden;color:var(--ink);font-size:10px;text-overflow:ellipsis;white-space:nowrap;}
.care-list-row small{margin-top:3px;color:var(--muted);font-size:8px;line-height:1.35;}
.care-list-row > b{max-width:145px;color:var(--muted);font-size:8px;text-align:right;line-height:1.35;}
.care-list-row > b small{color:var(--green-deep);}
.care-empty{margin:0;padding:22px 10px;color:var(--muted);font-size:10px;text-align:center;line-height:1.55;}
@media (max-width:1080px){.care-metrics{grid-template-columns:repeat(2,minmax(0,1fr));}
.care-dashboard-grid{grid-template-columns:1fr;}}
@media (max-width:620px){.care-metrics{grid-template-columns:1fr 1fr;gap:8px;}
.care-metric{padding:15px 14px 15px 17px;}
.care-metric strong{font-size:23px;}
.problem-category-grid{grid-template-columns:1fr;}
.care-progress-breakdown{grid-template-columns:1fr 1fr 1fr;}
.care-list-row{grid-template-columns:32px minmax(0,1fr);}
.care-list-row > span{width:32px;height:32px;}
.care-list-row > b{grid-column:2;max-width:none;text-align:left;}}
@media (max-width:390px){.care-metrics{grid-template-columns:1fr;}
.care-progress-breakdown{grid-template-columns:1fr;}}
html.bk-auth-pending body{overflow:hidden;}
html.bk-auth-pending .dash-layout,html.bk-auth-pending .mobile-bottom{visibility:hidden;}
.bk-auth-layer{position:fixed;inset:0;z-index:99999;display:grid;place-items:center;padding:20px;overflow:auto;}
.bk-auth-layer[hidden]{display:none!important;}
.bk-auth-card{width:min(480px,100%);border:1px solid #dceae5;padding:28px;box-shadow:0 25px 70px rgba(15,78,61,.16);}
.bk-auth-brand{display:flex;align-items:center;gap:13px;margin-bottom:22px;}
.bk-auth-brand strong{display:block;font-size:18px;color:var(--tone-17231f,#17231f);}
.bk-auth-brand small{display:block;margin-top:2px;}
.bk-auth-card h1{margin:0;font-size:28px;line-height:1.12;color:var(--tone-17231f,#17231f);}
.bk-auth-lead{margin:10px 0 22px;color:#677872;line-height:1.65;font-size:14px;}
.bk-auth-tabs{display:grid;grid-template-columns:1fr 1fr;gap:7px;padding:5px;border-radius:var(--radius-xl,16px);margin-bottom:18px;}
.bk-auth-tabs button{border:0;border-radius:var(--radius-md-lg,12px);background:transparent;padding:11px 10px;font-weight:800;cursor:pointer;}
.bk-auth-panel{display:none;}
.bk-auth-panel.active{display:block;}
.bk-auth-form{display:grid;gap:13px;}
.bk-auth-form label{display:grid;gap:7px;color:#45564f;font-size:12px;font-weight:800;}
.bk-auth-form input{width:100%;box-sizing:border-box;border:1px solid #d8e6e1;border-radius:var(--radius-lg,14px);background:#f8fbfa;padding:13px 14px;color:var(--tone-17231f,#17231f);outline:none;}
.bk-auth-form input:focus{border-color:#10b981;box-shadow:0 0 0 4px rgba(16,185,129,.12);}
.bk-password-input{position:relative;display:block;}
.bk-password-input input{padding-right:48px;}
.bk-password-toggle{position:absolute;right:7px;top:50%;transform:translateY(-50%);width:36px;height:36px;border:0;border-radius:10px;background:transparent;color:#60748d;display:grid;place-items:center;cursor:pointer;padding:0;}
.bk-password-toggle:hover,.bk-password-toggle:focus-visible{background:#eaf3fa;color:#075f9b;outline:none;}
.bk-password-toggle svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;}
.bk-password-toggle .bk-eye-off{display:none;}
.bk-password-toggle[aria-pressed="true"] .bk-eye-open{display:none;}
.bk-password-toggle[aria-pressed="true"] .bk-eye-off{display:block;}

.bk-auth-submit,.bk-google-button{width:100%;border:0;border-radius:var(--radius-lg,14px);padding:14px 16px;font-weight:800;cursor:pointer;}
.bk-google-button{display:flex;align-items:center;justify-content:center;gap:10px;background:var(--theme-surface,#fff);border:1px solid #d5e3de;}
.bk-google-button span{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:#f1f5f9;font-weight:900;color:#4285f4;}
.bk-auth-submit:disabled,.bk-google-button:disabled{opacity:.55;cursor:wait;}
.bk-auth-error{min-height:18px;margin:12px 0 0;color:#dc2626;font-size:12px;font-weight:700;}
.bk-auth-help{margin:15px 0 0;color:#7b8984;font-size:11px;line-height:1.55;}
.bk-auth-loading{display:flex;align-items:center;justify-content:center;gap:10px;font-weight:800;padding:28px 0;}
.bk-auth-loading:before{content:"";width:18px;height:18px;border:3px solid #b7e9d8;border-top-color:#0b8b68;border-radius:50%;}
.bk-session-badge{display:none;align-items:center;gap:7px;padding:7px 11px;border-radius:var(--radius-pill,999px);background:#ecfdf5;color:var(--theme-primary-strong,#173f70);font-size:11px;font-weight:800;}
.bk-session-badge.show{display:inline-flex;}
@media (max-width:560px){.bk-auth-layer{padding:12px;}
.bk-auth-card{border-radius:var(--radius-5xl,24px);padding:22px;}
.bk-auth-card h1{font-size:24px;}}
.bk-auth-back{display:flex;align-items:center;justify-content:center;width:100%;box-sizing:border-box;margin-top:4px;border:1px solid #cbd9d4;border-radius:var(--radius-lg,14px);padding:12px 16px;background:#f8fbfa;color:#385047;text-decoration:none;font-size:12px;font-weight:800;}
.bk-auth-back:hover{border-color:#8fb9aa;background:#eef8f4;color:var(--tone-087a59,#087a59);}
.bk-roster-source{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:18px;padding:15px 17px;border:1px solid #cbdcec;border-radius:var(--radius-xl,16px);background:#f6f9fd;}
.bk-roster-source>div{display:flex;align-items:center;gap:10px;}
.bk-roster-source strong,.bk-roster-source small{display:block;}
.bk-roster-source strong{color:#073f79;font-size:13px;}
.bk-roster-source small{margin-top:3px;color:#6f8195;font-size:11px;line-height:1.45;}
.bk-roster-source-dot{width:10px;height:10px;border-radius:50%;background:#1c7cc2;box-shadow:0 0 0 5px rgba(28,124,194,.12);}
.bk-roster-source.is-school{border-color:#bcded0;background:#f1faf6;}
.bk-roster-source.is-school .bk-roster-source-dot{background:#1c9b65;box-shadow:0 0 0 5px rgba(28,155,101,.12);}
.bk-roster-source-actions{justify-content:flex-end;flex-wrap:wrap;}
.button-danger{border-color:#ecc8c8;color:#a43c3c;background:#fff8f8;}
.bk-roster-dialog{width:min(520px,calc(100% - 30px));padding:0;}

.bk-roster-dialog-card{position:relative;display:grid;gap:13px;padding:27px;}
.bk-roster-dialog-card h2{margin:0;color:var(--theme-secondary-deep,#123d6b);}
.bk-roster-dialog-card>p{margin:-6px 0 3px;color:#6c7f94;font-size:12px;line-height:1.55;}
.bk-roster-dialog-card label{display:grid;gap:6px;color:#4f6680;font-size:11px;font-weight:800;}
.bk-roster-dialog-card input{width:100%;box-sizing:border-box;border:1px solid var(--tone-cbd9e7,#cbd9e7);border-radius:11px;padding:11px 12px;font:inherit;color:#163f68;}
.bk-roster-dialog-card input:focus{outline:3px solid rgba(18,111,187,.13);border-color:#247cc1;}
.bk-roster-dialog-close{position:absolute;top:16px;right:17px;width:34px;height:34px;font-size:20px;cursor:pointer;}
.bk-roster-error{min-height:16px;color:#aa3939;}
.bk-roster-dialog-card .button{justify-self:start;}
@media (max-width:720px){.bk-roster-source{align-items:stretch;flex-direction:column;}
.bk-roster-source-actions{display:grid!important;grid-template-columns:1fr 1fr;}
.bk-roster-source-actions .button{width:100%;}}
.student-management-row.bk-student-list-row{width:100%;grid-template-columns:minmax(260px,1fr) minmax(90px,.24fr) auto 28px;border:0;border-bottom:1px solid var(--line);background:transparent;color:inherit;text-align:left;font:inherit;cursor:pointer;}
.student-management-row.bk-student-list-row:hover,.student-management-row.bk-student-list-row:focus-visible{outline:0;background:#f3f9f6;transform:translateX(2px);}
.bk-student-list-arrow{display:grid!important;place-items:center;width:28px;height:28px;border-radius:9px;background:#eaf4ef;color:#176b4d;font-size:22px;font-weight:900;}
.bk-student-profile-dialog{width:min(940px,calc(100% - 32px));max-height:calc(100dvh - 32px);padding:0;}

.bk-student-profile-card{position:relative;display:grid;gap:22px;padding:30px 32px 25px;background:linear-gradient(145deg,var(--theme-surface,#fff),#f1f8f5);color:var(--ink);}
.bk-student-profile-card header{padding-right:52px;}
.bk-student-profile-card header h2{margin:5px 0 6px;color:var(--theme-secondary-deep,#123d6b);font-size:24px;}
.bk-student-profile-card header p{max-width:720px;margin:0;color:#6c7f94;font-size:12px;line-height:1.6;}
.bk-student-profile-close{position:absolute;top:17px;right:18px;z-index:3;width:40px;height:40px;border:2px solid #941c34;border-radius:13px;background:#d92d4a;color:var(--theme-surface,#fff);font-size:25px;font-weight:900;box-shadow:0 5px 0 #941c34;cursor:pointer;}
.bk-student-profile-layout{display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:24px;}
.bk-student-profile-fields{display:grid;align-content:start;gap:14px;}
.bk-student-profile-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
.bk-student-profile-fields label{display:grid;gap:6px;color:#4f6680;font-size:11px;font-weight:800;}
.bk-student-profile-fields input,.bk-student-profile-fields select{width:100%;box-sizing:border-box;border:1px solid var(--tone-cbd9e7,#cbd9e7);border-radius:var(--radius-md-lg,12px);padding:11px 12px;background:var(--theme-surface,#fff);color:#163f68;font:inherit;}
.bk-student-profile-fields input:focus,.bk-student-profile-fields select:focus{outline:3px solid rgba(18,111,187,.13);border-color:#247cc1;}
.bk-student-profile-card.is-viewing .bk-student-profile-fields :is(input,select){border-color:#e1e9e5;background:#f3f7f5;color:#425b51;opacity:1;-webkit-text-fill-color:#425b51;}
.bk-student-profile-qr{display:grid;align-content:start;justify-items:center;gap:8px;padding:20px;border:1px solid #dbe9e2;border-radius:var(--radius-3xl,20px);background:var(--theme-surface,#fff);text-align:center;}
.bk-student-profile-avatar{display:grid;place-items:center;width:48px;height:48px;border-radius:15px;background:#e5f3ec;color:#126849;font-size:17px;font-weight:900;}
.bk-student-profile-qr strong{font-size:14px;}
.bk-student-profile-qr small{color:#718496;font-size:10px;}
.bk-student-profile-qr img,.bk-student-qr-loading{width:190px;height:190px;margin:9px 0;box-sizing:border-box;border:1px solid #e1e9e5;border-radius:15px;background:#f6faf8;padding:9px;}
.bk-student-qr-loading{display:grid;place-items:center;color:#758b80;font-size:10px;}
.bk-student-profile-qr .button{width:100%;justify-content:center;}
.bk-student-profile-card footer{display:grid;grid-template-columns:auto 1fr auto auto;align-items:center;gap:9px;padding-top:17px;border-top:1px solid #dfe9e4;}
.bk-student-profile-card footer .button{min-width:145px;justify-content:center;}
.bk-student-profile-card footer .button-danger{background:var(--tone-fff0f2,#fff0f2);color:#b52641;}
.bk-student-profile-card [hidden]{display:none!important;}
@media (max-width:760px){.student-management-row.bk-student-list-row{grid-template-columns:minmax(0,1fr) auto 28px;padding:13px 8px;}
.bk-student-list-class{display:none!important;}
.bk-student-profile-dialog{width:100%;max-width:100%;max-height:92dvh;margin:auto 0 0;}
.bk-student-profile-card{padding:25px 17px calc(22px + env(safe-area-inset-bottom));}
.bk-student-profile-layout{grid-template-columns:1fr;}
.bk-student-profile-qr{order:-1;}
.bk-student-profile-qr img,.bk-student-qr-loading{width:170px;height:170px;}
.bk-student-profile-card footer{grid-template-columns:1fr 1fr;}
.bk-student-profile-card footer>span{display:none;}
.bk-student-profile-card footer .button{width:100%;min-width:0;}
.bk-student-profile-card footer .button-danger{grid-column:1/-1;order:3;}}
@media (max-width:520px){.bk-student-profile-grid{grid-template-columns:1fr;}
.bk-student-profile-card header h2{font-size:21px;}
.bk-student-profile-card footer{grid-template-columns:1fr;}
.bk-student-profile-card footer .button-danger{grid-column:auto;}
.bk-student-list-row .student-avatar{display:grid!important;}}
body.bk-premium-open{overflow:hidden;}
.bk-premium-status-button{min-height:40px;border:1px solid #dce8f3;border-radius:var(--radius-lg,14px);padding:8px 12px;background:var(--theme-surface,#fff);color:#476174;display:inline-flex;align-items:center;gap:7px;cursor:pointer;box-shadow:0 5px 16px rgba(15,23,42,.045);font:800 11px/1.1 "Outfit",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;white-space:nowrap;}
.bk-premium-status-button>span{width:23px;height:23px;border-radius:var(--radius-sm,8px);display:grid;place-items:center;background:#fff4d6;color:#ba7814;font-size:15px;}
.bk-premium-status-button.is-active{border-color:#b8def6;background:#f3fbff;color:#0876b7;}
.bk-premium-status-button.is-trial{border-color:#f0d493;background:var(--tone-fffaf0,#fffaf0);color:#98620a;}
.bk-premium-modal{position:fixed;inset:0;z-index:500;display:flex;align-items:flex-start;justify-content:center;padding:18px;overflow:auto;overscroll-behavior:contain;}
.bk-premium-card{position:relative;width:min(920px,100%);margin:auto;border:1px solid rgba(255,255,255,.7);border-radius:30px;background:var(--theme-surface,#fff);box-shadow:0 28px 90px rgba(2,12,27,.32);overflow:hidden;}
.bk-premium-close{position:absolute;right:18px;top:18px;z-index:3;width:42px;height:42px;border:1px solid #dce7ef;border-radius:50%;background:var(--theme-surface,#fff);color:var(--theme-text-secondary,#50657e);font-size:27px;line-height:1;cursor:pointer;box-shadow:0 7px 22px rgba(15,23,42,.08);}
.bk-premium-close:hover{border-color:#fecaca;background:#fff1f2;color:#dc2626;}
.bk-premium-card>header{padding:28px 76px 23px 28px;background:linear-gradient(135deg,#eef9ff 0%,var(--tone-f8fbff,#f8fbff) 56%,#fff9ec 100%);border-bottom:1px solid #e9f0f5;}
.bk-premium-card>header>span{display:block;color:#0879bd;font-size:10px;font-weight:900;letter-spacing:.16em;}
.bk-premium-card>header h2{margin:6px 0 5px;color:#102b42;font-size:25px;line-height:1.2;}
.bk-premium-card>header p{margin:0;color:#607386;font-size:12px;line-height:1.6;}
.bk-premium-crown{float:left;width:52px;height:52px;margin:0 15px 0 0;border-radius:17px;display:grid;place-items:center;background:linear-gradient(145deg,var(--tone-087fc5,#087fc5),#0da4e6);color:var(--theme-surface,#fff);font-size:27px;box-shadow:0 12px 28px rgba(8,127,197,.22);}
.bk-premium-body{padding:23px 27px 27px;}
.bk-premium-status{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:13px 15px;border:1px solid #dce7ee;border-left-width:5px;border-radius:15px;background:var(--theme-surface-muted,#edf5fc);}
.bk-premium-status span{font-size:9px;font-weight:900;letter-spacing:.11em;}
.bk-premium-status b{font-size:12px;text-align:right;}
.bk-premium-status.is-active{border-color:#a9dcca;border-left-color:#059669;background:#effcf7;color:#057554;}
.bk-premium-status.is-trial{border-color:#f0d493;border-left-color:#d7931c;background:var(--tone-fffaf0,#fffaf0);color:#8e5c0a;}
.bk-premium-status.is-expired{border-color:#fecaca;border-left-color:#e11d48;background:#fff5f6;color:var(--theme-danger-strong,#dc2626);}
.bk-premium-pending{margin-top:10px;padding:11px 14px;border:1px solid #c8dff3;border-radius:13px;background:#eff8ff;color:#0b6fa9;display:flex;justify-content:space-between;gap:12px;font-size:11px;}
.bk-premium-pending span{color:#4d7188;text-align:right;}
.bk-premium-benefits{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:16px 0;}
.bk-premium-benefits span{padding:10px 11px;border-radius:var(--radius-md-lg,12px);background:#f6f9fb;color:#3d596c;font-size:10px;font-weight:800;text-align:center;}
.bk-premium-plans{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px;}
.bk-premium-plan{position:relative;min-width:0;border:1px solid #dfe8ef;border-radius:21px;padding:18px 16px;background:var(--theme-surface,#fff);color:#162b3a;text-align:left;cursor:pointer;display:flex;flex-direction:column;}
.bk-premium-plan:hover{transform:translateY(-2px);border-color:#83c9ef;box-shadow:0 13px 32px rgba(10,114,177,.1);}
.bk-premium-plan.is-featured{border-color:#e8c46e;background:var(--tone-fffaf0,#fffaf0);}
.bk-premium-plan>span{min-height:16px;color:#d28b13;font-size:9px;font-weight:900;}
.bk-premium-plan>strong{font-size:16px;}
.bk-premium-plan>b{margin:12px 0 3px;color:var(--tone-087fc5,#087fc5);font-size:24px;}
.bk-premium-plan>small{color:#718493;font-size:10px;}
.bk-premium-plan>em{margin-top:16px;padding:10px 12px;border-radius:11px;background:#078bd6;color:var(--theme-surface,#fff);font-size:10px;font-style:normal;font-weight:900;text-align:center;}
.bk-premium-plan.is-featured>em{background:#c98512;}
.bk-premium-footnote{margin:15px 0 0;color:#7d8c98;font-size:10px;text-align:center;}
.bk-premium-payment{max-width:520px;margin:0 auto;}
.bk-premium-back{border:0;background:transparent;color:var(--tone-087fc5,#087fc5);font-size:11px;font-weight:900;cursor:pointer;padding:2px 0 12px;}
.bk-premium-payment-head{text-align:center;}
.bk-premium-payment-head>span{color:var(--tone-087fc5,#087fc5);font-size:9px;font-weight:900;letter-spacing:.13em;}
.bk-premium-payment-head h3{margin:4px 0;color:#173247;font-size:20px;}
.bk-premium-payment-head p{margin:0;color:#718493;font-size:11px;}
.bk-premium-qris{margin:15px auto 11px;padding:10px;border:1px solid #e5edf2;border-radius:var(--radius-2xl,18px);background:var(--theme-surface-muted,#edf5fc);}
.bk-premium-qris img{display:block;width:100%;max-height:420px;border-radius:var(--radius-md-lg,12px);object-fit:contain;background:var(--theme-surface,#fff);}
.bk-premium-total{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 16px;border-radius:15px;background:#eef8ff;color:#0874b6;}
.bk-premium-total span{font-size:9px;font-weight:900;letter-spacing:.1em;}
.bk-premium-total b{font-size:23px;}
.bk-premium-payment ol{margin:13px 0;padding-left:21px;color:#657b8b;font-size:10px;line-height:1.7;}
.bk-premium-submit{width:100%;border:0;border-radius:var(--radius-lg,14px);padding:13px 15px;background:#078bd6;color:var(--theme-surface,#fff);font:900 11px/1.3 "Outfit",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;cursor:pointer;box-shadow:0 10px 24px rgba(7,139,214,.2);}
.bk-premium-submit:disabled{opacity:.6;cursor:wait;}
.bk-premium-payment-error{display:block;min-height:17px;margin-top:8px;color:var(--theme-danger-strong,#dc2626);font-size:10px;font-weight:700;text-align:center;}
@media (max-width:760px){.bk-premium-modal{padding:9px;}
.bk-premium-card{border-radius:var(--radius-5xl,24px);}
.bk-premium-card>header{padding:22px 62px 19px 18px;}
.bk-premium-card>header h2{font-size:20px;}
.bk-premium-crown{width:44px;height:44px;border-radius:var(--radius-lg,14px);font-size:22px;margin-right:11px;}
.bk-premium-close{right:12px;top:12px;width:38px;height:38px;}
.bk-premium-body{padding:17px;}
.bk-premium-status,.bk-premium-pending{align-items:flex-start;flex-direction:column;}
.bk-premium-status b,.bk-premium-pending span{text-align:left;}
.bk-premium-benefits{grid-template-columns:1fr;}
.bk-premium-plans{grid-template-columns:1fr;}
.bk-premium-plan{display:grid;grid-template-columns:1fr auto;align-items:center;gap:2px 10px;padding:14px;}
.bk-premium-plan>span,.bk-premium-plan>strong,.bk-premium-plan>small{grid-column:1;}
.bk-premium-plan>b{grid-column:2;grid-row:1/4;margin:0;font-size:19px;}
.bk-premium-plan>em{grid-column:1/-1;margin-top:8px;}
.bk-premium-status-button{width:40px;min-width:40px;padding:7px;}
.bk-premium-status-button>b{display:none;}
.bk-premium-status-button>span{width:24px;height:24px;}
.bk-premium-qris img{max-height:360px;}
.bk-premium-total b{font-size:20px;}}
html{color-scheme:light;}
body{color:var(--body);background:radial-gradient(circle at 88% 4%, rgba(155, 206, 255, .24), transparent 28rem),
    radial-gradient(circle at 3% 32%, rgba(200, 222, 255, .20), transparent 30rem),
    linear-gradient(180deg, #fbfdff 0%, #f2f8ff 56%, #fbfdff 100%);}
::selection{color:var(--green-deep);background:#cceaff;}
.brand-mark,
.app-title img,
.id-brand img,
.qr-modal-brand img,
.bk-auth-brand img{object-fit:contain;filter:drop-shadow(0 5px 10px rgba(0, 52, 125, .15));}
.brand-mark{width:46px;height:46px;}
.brand-copy strong{color:var(--ink);}
.brand-copy small{color:var(--green-dark);}
.eyebrow{color:var(--green-deep);border-color:#d7e9f6;background:rgba(255, 255, 255, .90);box-shadow:0 7px 22px rgba(8, 48, 110, .06);}
.eyebrow i{background:var(--green);box-shadow:0 0 0 5px rgba(7, 142, 232, .12);}
.kicker{color:var(--green-dark);}
.button,
.panel-head button,
.panel-head a,
.faq-button,
.menu-toggle,
.icon-button,
.side-nav button,
.mobile-bottom button,
.scan-mode-tabs button,
.smart-destination-grid button{border-color:var(--control-green-border);background:var(--control-green-pale);color:var(--green-deep);box-shadow:inset 6px 0 0 var(--control-green-border), 0 7px 16px rgba(15, 23, 42, .07);}
.button,
.panel-head button,
.panel-head a{border-width:1px!important;border-left-width:4px!important;border-radius:var(--radius-md,10px);font-weight:800;letter-spacing:.01em;}
.button-primary,
.button-purple{color:var(--theme-surface,#fff);border-color:var(--theme-secondary,#1264ad);background:linear-gradient(135deg, var(--theme-secondary-light,#078ee8), var(--theme-secondary,#1264ad));box-shadow:inset 6px 0 0 var(--theme-secondary-strong,#173f70), 0 9px 22px rgba(7, 142, 232, .20);}
.button:hover,
.button:focus-visible,
.button:active,
.button.active,
.button.is-active,
.button.selected,
.button[aria-pressed="true"],
.button[aria-selected="true"],
.panel-head button:hover,
.panel-head button:focus-visible,
.panel-head button:active,
.panel-head button.active,
.panel-head a:hover,
.panel-head a:focus-visible,
.panel-head a.active,
.faq-button:hover,
.faq-button:focus-visible,
.faq-item.open .faq-button,
.menu-toggle:hover,
.menu-toggle:focus-visible,
.menu-toggle:active,
.icon-button:hover,
.icon-button:focus-visible,
.icon-button:active,
.icon-button.active,
.side-nav button:hover,
.side-nav button:focus-visible,
.side-nav button.active,
.mobile-bottom button:hover,
.mobile-bottom button:focus-visible,
.mobile-bottom button.active,
.scan-mode-tabs button:hover,
.scan-mode-tabs button:focus-visible,
.scan-mode-tabs button.active,
.smart-destination-grid button:hover,
.smart-destination-grid button:focus-visible,
.smart-destination-grid button.active{color:var(--theme-surface,#fff);border-color:var(--theme-secondary,#1264ad);background:var(--theme-secondary-light,#078ee8);box-shadow:inset 7px 0 0 var(--theme-secondary-strong,#173f70), 0 10px 22px rgba(7, 142, 232, .20);}
.button-primary:hover,
.button-primary:focus-visible,
.button-purple:hover,
.button-purple:focus-visible{background:#067dcc;}
.button.danger{color:#c81e3a;border-color:#ff6b7c;background:#fff5f6;box-shadow:inset 6px 0 0 var(--tone-e34a67,#e34a67), 0 7px 16px rgba(200, 30, 58, .07);}
.button.danger:hover,
.button.danger:focus-visible,
.button.danger:active{color:var(--theme-surface,#fff);background:var(--tone-e34a67,#e34a67);border-color:#c81e3a;box-shadow:inset 6px 0 0 #a81730, 0 10px 22px rgba(200, 30, 58, .18);}
.icon-button,
.menu-toggle{border-width:1px!important;border-left-width:3px!important;box-shadow:inset 4px 0 0 var(--control-green-border), 0 6px 16px rgba(8, 48, 110, .07);}
.site-header.scrolled{background:rgba(246, 250, 255, .84);border-bottom-color:rgba(210, 226, 241, .78);}
.nav-shell{border-color:rgba(255, 255, 255, .92);background:rgba(255, 255, 255, .78);box-shadow:0 16px 44px rgba(22, 56, 112, .09);}
.nav-menu a{color:#556984;}
.nav-menu a:hover,
.nav-menu a.active{color:var(--green-deep);background:var(--green-soft);}
.hero{background:radial-gradient(circle at 11% 12%, rgba(95, 183, 244, .17), transparent 31%),
    radial-gradient(circle at 90% 18%, rgba(140, 99, 231, .10), transparent 29%);}
.hero-grid{grid-template-columns:1.08fr .92fr;}
.hero-copy{order:2;}
.hero-visual{order:1;}
.title{color:var(--ink);}
.title span,
.section-heading h2 span{color:transparent;background:linear-gradient(110deg, var(--theme-secondary,#1264ad), var(--tone-3b76e8,#3b76e8));background-clip:text;-webkit-background-clip:text;}
.hero-visual::before{background:linear-gradient(145deg, rgba(7, 142, 232, .18), rgba(140, 99, 231, .11));}
.app-window{border-color:#d8e6f2;box-shadow:0 32px 80px rgba(8, 48, 110, .18);}
.app-content{background:#f9fbfe;}
.rail-dot.active{background:var(--green);box-shadow:0 8px 18px var(--tone-ff05dd1e);}
.metric-card.green em{color:var(--green-dark);}
.bars span{background:linear-gradient(180deg, var(--tone-3b76e8,#3b76e8), #a9c7ff);}
.floating-note{box-shadow:0 10px 30px rgba(8, 48, 110, .10);}
.feature-section{background:#eef6ff;}
.roles,
.quote-section{background:rgba(255, 255, 255, .82);}
.role-card,
.problem-card,
.feature-card,
.faq-item{border-color:var(--line);background:var(--theme-surface,#fff);box-shadow:0 8px 26px rgba(8, 48, 110, .05);}
.role-card:hover{border-color:#9ed3f2;box-shadow:var(--shadow-md);}
.role-card .role-icon,
.access-card .access-icon{color:var(--green-deep);background:var(--green-soft);}
.role-link{color:var(--green-dark);}
.workflow{color:#cfe0f1;background:linear-gradient(145deg, #0b263c, var(--theme-secondary-deep,#123d6b));}
.workflow .kicker{color:var(--tone-79c9ff,#79c9ff);}
.workflow .section-heading h2 span{color:#b9d7ff;background:none;-webkit-text-fill-color:currentColor;}
.workflow-card b{color:var(--theme-secondary-deep,#123d6b);background:#8fd1ff;}
.quote-side{background:linear-gradient(145deg, var(--theme-secondary-deep,#123d6b), var(--theme-secondary,#1264ad));}
.quote-side p{color:#d9edff;}
.cta-shell{border-color:#d6e6f4;background:linear-gradient(135deg, #eaf6ff 0%, var(--tone-f1edff,#f1edff) 100%);}
.site-footer{color:#bfd0e3;background:var(--tone-0b2138,#0b2138);}
.footer-col a:hover{color:#7dcaff;}
.portal-page{background:radial-gradient(circle at 8% 12%, rgba(31, 131, 190, .10), transparent 28%),
    radial-gradient(circle at 92% 88%, rgba(22, 158, 191, .09), transparent 30%),
    var(--tone-f8fbff,#f8fbff);}
.portal-page::before{position:fixed;z-index:-1;inset:0;content:"";opacity:.35;background-image:linear-gradient(rgba(17, 65, 91, .035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(17, 65, 91, .035) 1px, transparent 1px);background-size:42px 42px;mask-image:linear-gradient(to bottom, #000, transparent 86%);}
.portal-top{position:relative;z-index:2;}
.portal-main{padding-top:20px;}
.portal-heading{max-width:760px;margin-bottom:30px;}
.portal-heading .portal-brand-emblem{display:grid;place-items:center;width:86px;height:86px;margin:0 auto 18px;border:1px solid #e0eaf3;border-radius:26px;background:var(--theme-surface,#fff);box-shadow:0 18px 42px rgba(20, 98, 139, .17);}
.portal-brand-emblem img{width:76px;height:76px;object-fit:contain;}
.portal-heading h1{color:var(--ink);}
.access-grid{gap:14px;}
.access-card{min-height:285px;padding:26px;border-color:#dce7f0;border-radius:23px;background:linear-gradient(145deg, var(--theme-surface,#fff) 55%, #eef7ff);box-shadow:0 14px 38px rgba(23, 54, 73, .08);}
.access-card:nth-child(2){background:linear-gradient(145deg, var(--theme-surface,#fff) 55%, #f4f0ff);}
.access-card:hover{transform:translateY(-5px);border-color:#9bcce8;box-shadow:0 18px 42px rgba(8, 88, 144, .14);}
.access-card::after{background:rgba(7, 142, 232, .08);}
.access-card:nth-child(2)::after{background:rgba(140, 99, 231, .09);}
.access-card h2{color:var(--ink);}
.portal-note{border-color:var(--line);color:#52677f;box-shadow:0 8px 24px rgba(8, 48, 110, .05);}
.dashboard-page{background:#f7faff;}
.dash-layout{grid-template-columns:280px minmax(0, 1fr);}
.sidebar{padding:22px 16px;border-right-color:#e2ebf4;background:var(--theme-surface,#fff);box-shadow:8px 0 28px rgba(0, 52, 125, .045);}
.sidebar-brand{padding:2px 9px 26px;}
.sidebar-brand .brand-mark{width:48px;height:48px;}
.side-group small{color:#8292a6;}
.side-nav{gap:7px;}
.side-nav button{min-height:46px;border-width:1px!important;border-left-width:4px!important;border-radius:var(--radius-md-lg,12px);font-weight:800;}
.side-nav button .nav-icon{color:var(--green-dark);}
.side-nav button:hover .nav-icon,
.side-nav button:focus-visible .nav-icon,
.side-nav button.active .nav-icon{color:var(--theme-surface,#fff);}
.side-nav button.active .side-count{color:var(--green-deep);background:var(--theme-surface,#fff);}
.dashboard-header{height:82px;padding:0 28px;border-bottom-color:#e3ecf5;background:rgba(255, 255, 255, .90);box-shadow:0 5px 22px rgba(8, 48, 110, .035);}
.dashboard-header h1{color:var(--ink);}
.dashboard-content{padding:28px 30px 42px;}
.avatar{color:var(--green-deep);background:#dbeeff;}
.dash-welcome,
.panel,
.dashboard-metric,
.student-toolbar.standalone,
.qr-student-card,
.teacher-appointment-summary > div,
.smart-scan-summary > div,
.record-summary > div,
.smart-record-card,
.identity-note,
.qr-modal-card,
.bk-auth-card{border-color:var(--line);background:var(--theme-surface,#fff);box-shadow:0 8px 26px rgba(8, 48, 110, .055);}
.dash-welcome{border-left:5px solid var(--green);background:linear-gradient(110deg, var(--theme-surface,#fff), #f5faff);}
.dashboard-metric{border-radius:var(--radius-3xl,20px);}
.dashboard-metric:hover{border-color:#b7d8ee;}
.metric-top i{color:var(--green-deep);background:var(--green-soft);}
.dashboard-metric:nth-child(2) .metric-top i{color:var(--tone-6d43ce,#6d43ce);background:var(--tone-f1edff,#f1edff);}
.dashboard-metric:nth-child(3) .metric-top i{color:#bd671d;background:var(--tone-fff3e7,#fff3e7);}
.dashboard-metric:nth-child(4) .metric-top i{color:#2762c5;background:#eaf2ff;}
.panel{border-radius:var(--radius-4xl,22px);}
.panel-head a,
.panel-head button{color:var(--green-deep);}
.status.green,
.secure-chip,
.bk-session-badge{color:var(--theme-secondary-strong,#173f70);background:var(--tone-eaf4ff,#eaf4ff);}
.status.purple{color:var(--tone-6d43ce,#6d43ce);background:var(--tone-f1edff,#f1edff);}
.status.amber{color:#a6530d;background:var(--tone-fff3e7,#fff3e7);}
.schedule-card{border-color:#d8e5ff;background:linear-gradient(135deg, var(--tone-eaf4ff,#eaf4ff), #f4f0ff);}
.student-avatar,
.teacher-avatar,
.scan-step,
.history-icon,
.record-type-icon,
.identity-note > span{color:var(--green-deep);background:var(--green-soft);}
.teacher-availability,
.manual-student-box,
.smart-record-note,
.result-summary > div,
.camera-help,
.record-empty{background:#f7faff;}
.appointment-date{background:linear-gradient(145deg, #edf7ff, var(--tone-f8fbff,#f8fbff));}
.appointment-date strong,
.appointment-title-row small,
.teacher-choice-label,
.scan-student-head small{color:var(--green-dark);}
.student-toolbar select,
.form-field select,
.form-field input,
.form-field textarea,
.search-field,
.compact-select,
.manual-student-box select,
.bk-auth-form input{border-color:var(--tone-cbd9e7,#cbd9e7);background:var(--theme-surface,#fff);}
.student-toolbar select:focus,
.form-field select:focus,
.form-field input:focus,
.form-field textarea:focus,
.search-field:focus-within,
.compact-select:focus,
.manual-student-box select:focus,
.bk-auth-form input:focus{border-color:var(--green);box-shadow:0 0 0 3px rgba(7, 142, 232, .13);}
.student-id-card{border-color:#d7e3ef;background:linear-gradient(145deg, var(--theme-surface,#fff), #f5f9ff);box-shadow:0 22px 55px rgba(8, 48, 110, .14);}
.id-card-top{background:linear-gradient(135deg, #0b263c, var(--theme-secondary,#1264ad));}
.id-brand small{color:#d9edff;}
.id-card-bottom{color:var(--green-deep);background:var(--tone-eaf4ff,#eaf4ff);}
.scanner-viewport{background:var(--tone-0b2138,#0b2138);}
.scanner-placeholder{background:radial-gradient(circle at center, #16496d, var(--tone-0b2138,#0b2138));}
.scanner-placeholder > span{color:var(--tone-79c9ff,#79c9ff);}
.scanner-placeholder small{color:#caddec;}
.scan-frame i{border-color:var(--tone-79c9ff,#79c9ff);}
.scan-frame b{background:var(--tone-79c9ff,#79c9ff);box-shadow:0 0 12px var(--tone-79c9ff,#79c9ff);}


.bk-auth-layer{background:radial-gradient(circle at 15% 15%, rgba(95, 183, 244, .18), transparent 27rem),
    radial-gradient(circle at 85% 85%, rgba(140, 99, 231, .11), transparent 25rem),
    #f6faff;}
.bk-auth-card{border-radius:var(--radius-5xl,24px);}
.bk-auth-brand img{width:58px;height:58px;}
.bk-auth-brand strong,
.bk-auth-card h1{color:var(--ink);}
.bk-auth-brand small{color:var(--green-dark);}
.bk-auth-tabs{background:#edf4fb;}
.bk-auth-tabs button{color:#60748d;}
.bk-auth-tabs button.active{color:var(--green-deep);background:var(--theme-surface,#fff);box-shadow:0 5px 15px rgba(8, 48, 110, .10);}
.bk-auth-submit{color:var(--theme-surface,#fff);border-left:5px solid var(--theme-secondary-strong,#173f70);background:linear-gradient(135deg, var(--theme-secondary-light,#078ee8), var(--theme-secondary,#1264ad));box-shadow:0 10px 24px var(--tone-ff05dd1e);}
.bk-google-button{color:#24364c;border-color:var(--tone-cbd9e7,#cbd9e7);}
.bk-auth-loading{color:var(--green-deep);}
.bk-auth-loading::before{border-color:#b8dcf4;border-top-color:var(--green);}
@media (max-width: 1040px){.dash-layout{grid-template-columns:1fr;}}
@media (max-width: 780px){.hero-grid{grid-template-columns:1fr;}
.hero-copy,
  .hero-visual{order:initial;}
.hero-visual{order:1;}
.hero-copy{order:2;}
.nav-menu{border-color:var(--line);background:rgba(255, 255, 255, .98);}
.sidebar{box-shadow:18px 0 50px rgba(8, 48, 110, .20);}
.dashboard-header{height:68px;padding:0 12px;}
.dashboard-content{padding:15px 12px calc(92px + env(safe-area-inset-bottom));}
.mobile-bottom{border-top-color:#d8e5f1;background:rgba(247, 250, 255, .98);box-shadow:0 -12px 30px rgba(8, 48, 110, .09);}
.mobile-bottom button{border-width:1px!important;border-left-width:3px!important;box-shadow:inset 4px 0 0 var(--green), 0 5px 13px rgba(8, 48, 110, .06);}
.mobile-bottom button.active{box-shadow:inset 5px 0 0 var(--theme-secondary-strong,#173f70), 0 7px 16px var(--tone-ff05dd1e);}}
@media (max-width: 560px){.brand-mark{width:40px;height:40px;}
.portal-heading .portal-brand-emblem{width:76px;height:76px;border-radius:23px;}
.portal-brand-emblem img{width:68px;height:68px;}
.access-card{border-radius:var(--radius-3xl,20px);}
.bk-auth-brand img{width:50px;height:50px;}}
@media print{.student-id-card{border-color:#cbd5e1;box-shadow:none;}
.id-card-top{background:var(--theme-secondary-deep,#123d6b);-webkit-print-color-adjust:exact;print-color-adjust:exact;}}
.bk-learning-layout{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(330px,.92fr);gap:16px;align-items:start;}
.bk-learning-form-panel,.bk-learning-list-panel{min-width:0;}
.bk-learning-form-panel form{display:grid;gap:14px;}
.bk-learning-list{display:grid;gap:10px;}
.bk-form-status{min-height:20px;margin:0;font-size:11px;line-height:1.5;color:var(--muted);}
.bk-form-status.is-error{color:var(--tone-b42318,#b42318);}
.bk-form-status.is-success{color:var(--theme-primary-deep,#075da9);}
.bk-file-field input[type=file],.bk-assessment-type input{width:100%;}
.bk-file-field>small{display:block;margin-top:6px;color:var(--muted);font-size:10px;}
.bk-share-choice{display:grid;gap:8px;margin:0;padding:0;border:0;}
.bk-share-choice legend{margin-bottom:7px;color:var(--ink);font-size:11px;font-weight:800;}
.bk-share-choice label{display:flex;align-items:flex-start;gap:10px;padding:12px 13px;border:1px solid var(--line);border-radius:var(--radius-lg,14px);background:var(--theme-surface,#fff);cursor:pointer;}
.bk-share-choice label:has(input:checked){border-color:#7db7a5;background:#f3faf7;box-shadow:0 0 0 2px rgba(36,122,92,.06);}
.bk-share-choice input{margin-top:3px;}
.bk-share-choice strong,.bk-share-choice small{display:block;}
.bk-share-choice strong{font-size:11px;color:var(--ink);}
.bk-share-choice small{margin-top:3px;font-size:9.5px;line-height:1.5;color:var(--muted);}
.bk-assessment-types{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;}
.bk-assessment-type{display:flex;flex-direction:column;gap:7px;min-height:145px;padding:13px;border:1px solid var(--line);border-radius:var(--radius-xl,16px);background:var(--theme-surface-soft,#f7fbff);}
.bk-assessment-type strong{font-size:11px;color:var(--ink);}
.bk-assessment-type strong small{font-weight:600;color:var(--muted);}
.bk-assessment-type>span{min-height:38px;font-size:9.5px;line-height:1.45;color:var(--muted);}
.bk-assessment-type input{margin-top:auto;}
.bk-assessment-type .button{margin-top:auto;align-self:flex-start;}
.bk-quiz-builder{display:grid;gap:10px;}
.bk-quiz-question{padding:14px;border:1px solid var(--line);border-radius:var(--radius-xl,16px);background:var(--theme-surface,#fff);}
.bk-quiz-question-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px;}
.bk-quiz-question-head strong{font-size:11px;color:var(--ink);}
.bk-quiz-question-head button{border:0;background:#fff1f1;color:var(--tone-b42318,#b42318);border-radius:9px;padding:7px 9px;font-weight:800;cursor:pointer;}
.bk-question-text{width:100%;margin-bottom:10px;}
.bk-option-list{display:grid;gap:7px;}
.bk-option-row{display:grid;grid-template-columns:28px 1fr 34px;gap:7px;align-items:center;}
.bk-option-row>label{display:grid;place-items:center;margin:0;}
.bk-option-row input[type=radio]{accent-color:var(--theme-primary-deep,#075da9);}
.bk-option-row input[type=text]{width:100%;}
.bk-option-remove{border:0;background:#f7f8f8;color:#7b8792;border-radius:var(--radius-sm,8px);width:32px;height:32px;cursor:pointer;}
.bk-question-actions{display:flex;justify-content:flex-end;margin-top:8px;}
.bk-question-actions button{border:0;background:transparent;color:var(--green-deep);font-size:10px;font-weight:800;cursor:pointer;}
.bk-learning-card{padding:13px;border:1px solid var(--line);border-radius:var(--radius-xl,16px);background:var(--theme-surface,#fff);}
.bk-learning-card-top{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;}
.bk-learning-card h3{margin:0;color:var(--ink);font-size:12px;line-height:1.4;}
.bk-learning-card p{margin:7px 0 0;color:var(--muted);font-size:10px;line-height:1.55;white-space:pre-line;}
.bk-learning-meta{display:flex;flex-wrap:wrap;gap:6px;margin-top:9px;}
.bk-learning-chip{display:inline-flex;align-items:center;min-height:24px;padding:4px 8px;border-radius:var(--radius-pill,999px);background:#f1f5f3;color:#47635a;font-size:9px;font-weight:750;}
.bk-learning-chip.is-shared{background:var(--tone-e8f7ef,#e8f7ef);color:var(--theme-primary-deep,#075da9);}
.bk-learning-chip.is-private{background:#f1effb;color:#6452a4;}
.bk-learning-chip.is-quiz{background:#eef4ff;color:#315b9a;}
.bk-learning-actions{display:flex;flex-wrap:wrap;gap:7px;margin-top:10px;}
.bk-learning-actions a,.bk-learning-actions button{text-decoration:none;}
.bk-empty-learning{display:grid;place-items:center;min-height:160px;padding:22px;text-align:center;border:1px dashed var(--line);border-radius:var(--radius-xl,16px);color:var(--muted);font-size:11px;}
.bk-student-learning-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;}
.bk-student-learning-card{padding:18px;border:1px solid var(--line);border-radius:var(--radius-3xl,20px);background:var(--theme-surface,#fff);box-shadow:0 8px 25px rgba(21,57,46,.04);}
.bk-student-learning-card h3{margin:0;color:var(--ink);font-size:15px;}
.bk-student-learning-card>small{display:block;margin-top:4px;color:var(--muted);font-size:10px;}
.bk-student-learning-card>p{margin:10px 0;color:var(--muted);font-size:11px;line-height:1.6;white-space:pre-line;}
.bk-student-learning-card .bk-learning-actions{margin-top:12px;}
.bk-student-quiz{display:grid;gap:12px;margin-top:14px;padding-top:14px;border-top:1px solid var(--line);}
.bk-student-question{padding:12px;border-radius:var(--radius-lg,14px);background:#f8faf9;}
.bk-student-question>strong{display:block;margin-bottom:8px;color:var(--ink);font-size:11px;line-height:1.5;}
.bk-student-option{display:flex;align-items:flex-start;gap:8px;margin:7px 0;color:#42544e;font-size:10.5px;line-height:1.45;cursor:pointer;}
.bk-student-option input{margin-top:2px;accent-color:var(--theme-primary-deep,#075da9);}
.bk-submission-result{margin-top:10px;padding:10px 12px;border-radius:var(--radius-md-lg,12px);background:#edf8f2;color:var(--theme-primary-deep,#075da9);font-size:10px;font-weight:750;}
.bk-qr-pdf-tools{align-items:center;}
.bk-qr-pdf-tools select{min-width:145px;}
.bk-upload-progress{display:inline-flex;align-items:center;gap:7px;}
.bk-upload-progress:before{content:"";width:12px;height:12px;border:2px solid #c7d4cf;border-top-color:var(--theme-primary-deep,#075da9);border-radius:50%;}
@media (max-width:1050px){.bk-learning-layout{grid-template-columns:1fr;}
.bk-assessment-types{grid-template-columns:1fr 1fr;}
.bk-student-learning-list{grid-template-columns:1fr;}}
@media (max-width:680px){.bk-assessment-types{grid-template-columns:1fr;}
.bk-learning-form-panel,.bk-learning-list-panel{padding:14px;}
.bk-option-row{grid-template-columns:26px 1fr 32px;}
.bk-qr-pdf-tools{width:100%;display:grid;grid-template-columns:1fr 1fr;}
.bk-qr-pdf-tools select,.bk-qr-pdf-tools button{width:100%;min-width:0;}
.bk-student-learning-card{padding:15px;}}
.bk-answer-submissions{display:grid;gap:7px;margin-top:10px;}
.bk-answer-detail{border:1px solid var(--line);border-radius:var(--radius-md-lg,12px);background:var(--theme-surface-soft,#f7fbff);overflow:hidden;}
.bk-answer-detail summary{padding:9px 11px;cursor:pointer;color:var(--ink);font-size:9.5px;font-weight:800;}
.bk-answer-list{display:grid;gap:6px;padding:0 10px 10px;}
.bk-answer-row{display:grid;gap:3px;padding:9px;border-radius:var(--radius-md,10px);background:var(--theme-surface,#fff);font-size:9px;color:var(--muted);}
.bk-answer-row strong{color:var(--ink);font-size:9.5px;}
.bk-answer-row b{justify-self:start;padding:3px 7px;border-radius:var(--radius-pill,999px);font-size:8px;}
.bk-answer-row.is-correct b{background:var(--tone-e8f7ef,#e8f7ef);color:var(--theme-primary-deep,#075da9);}
.bk-answer-row.is-wrong b{background:#fff0ef;color:var(--tone-b42318,#b42318);}
.bk-answer-detail>p{margin:0;padding:0 11px 11px;font-size:9px;color:var(--muted);}
.bk-modern-file{position:relative;display:grid;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:10px;width:100%;min-height:68px;margin:0;padding:10px 11px;border:1px dashed #a9c9be;border-radius:15px;background:linear-gradient(180deg,#fbfefd 0%,#f4faf7 100%);cursor:pointer;}
.bk-modern-file:hover{border-color:#4b9a7f;box-shadow:0 8px 22px rgba(32,99,77,.08);transform:translateY(-1px);}
.bk-modern-file:focus-within{border-color:#247a5c;box-shadow:0 0 0 3px rgba(36,122,92,.11);}
.bk-modern-file input[type=file]{position:absolute!important;width:1px!important;height:1px!important;margin:0!important;padding:0!important;opacity:0;overflow:hidden;pointer-events:none;}
.bk-modern-file-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:var(--radius-md-lg,12px);background:#e8f6ef;color:#176c50;}
.bk-modern-file-icon svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round;}
.bk-modern-file-copy{display:grid;gap:3px;min-width:0;}
.bk-modern-file-copy b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--ink);font-size:10.5px;line-height:1.35;}
.bk-modern-file-copy small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted);font-size:9px;line-height:1.35;}
.bk-modern-file-button{display:inline-flex;align-items:center;justify-content:center;min-height:32px;padding:7px 10px;border:1px solid #b9d4ca;border-radius:var(--radius-md,10px);background:var(--theme-surface,#fff);color:#176c50;font-size:9px;font-weight:800;white-space:nowrap;}
.bk-file-field>span{display:block;margin-bottom:7px;}
.bk-assessment-type .bk-modern-file{margin-top:auto;}
.bk-assessment-type .bk-modern-file-copy b,.bk-assessment-type .bk-modern-file-copy small{display:block;}
.bk-form-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;}
.bk-learning-delete{border-color:#efc8c4;background:#fff7f6;color:var(--tone-b42318,#b42318);}
.bk-learning-delete:hover{border-color:#df9f98;background:#fff0ee;}
.bk-learning-card.is-editing{border-color:#78b6a1;box-shadow:0 0 0 2px rgba(36,122,92,.07);}
.bk-learning-form-panel.is-editing{border-color:#78b6a1;box-shadow:0 10px 30px rgba(36,122,92,.08);}
.bk-learning-form-panel.is-editing:before{content:"MODE EDIT";display:inline-flex;margin-bottom:10px;padding:4px 8px;border-radius:var(--radius-pill,999px);background:var(--tone-e8f7ef,#e8f7ef);color:var(--theme-primary-deep,#075da9);font-size:8px;font-weight:850;letter-spacing:.06em;}
.bk-learning-actions .button{min-width:0;}
.bk-learning-actions button{cursor:pointer;}
.bk-learning-actions .button[disabled]{opacity:.55;cursor:not-allowed;}
@media (max-width:680px){.bk-modern-file{grid-template-columns:38px minmax(0,1fr);min-height:66px;}
.bk-modern-file-icon{width:38px;height:38px;}
.bk-modern-file-button{grid-column:1/-1;width:100%;min-height:34px;}
.bk-form-actions{width:100%;display:grid;grid-template-columns:1fr 1fr;}
.bk-form-actions .button:only-child{grid-column:1/-1;}
.form-submit-row>span:empty{display:none;}}

/* EDUVIA V116A — AKPD builder, targeting, share & result recap */
.bk-akpd-stats{display:grid;gap:10px;padding:0 11px 11px;}
.bk-akpd-stat{display:grid;gap:9px;padding:12px;border:1px solid var(--line);border-radius:12px;background:var(--theme-surface,#fff);}
.bk-akpd-stat-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;}
.bk-akpd-stat-head span{font-size:11px;color:var(--ink);line-height:1.5;font-weight:700;}
.bk-akpd-stat-head b{font-size:10px;color:var(--theme-primary-deep,#075da9);white-space:nowrap;}
.bk-akpd-choice-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:7px;}
.bk-akpd-choice-stat{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2px 8px;padding:8px 9px;border:1px solid var(--line);border-radius:10px;background:var(--theme-surface-soft,#f7fbff);}
.bk-akpd-choice-stat span{font-size:10px;line-height:1.35;color:var(--ink);}
.bk-akpd-choice-stat b{font-size:11px;color:var(--theme-primary-deep,#075da9);}
.bk-akpd-choice-stat small{grid-column:1/-1;color:var(--muted);font-size:9px;}
.bk-akpd-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:8px;margin-top:10px;}
.bk-akpd-question{padding:12px;border:1px solid var(--line);border-radius:12px;background:var(--theme-surface-soft,#f7fbff);}
.bk-akpd-question strong{display:block;line-height:1.5;margin-bottom:2px;}
.bk-akpd-audience-grid{align-items:end;}
.bk-akpd-recipient-picker{padding:12px;border:1px solid var(--line);border-radius:14px;background:var(--theme-surface-soft,#f7fbff);}
.bk-akpd-recipient-list{max-height:250px;overflow:auto;display:grid;gap:6px;padding-right:4px;}
.bk-akpd-recipient{display:flex;align-items:flex-start;gap:9px;padding:9px 10px;border:1px solid var(--line);border-radius:10px;background:var(--theme-surface,#fff);cursor:pointer;}
.bk-akpd-recipient input{margin-top:3px;}
.bk-akpd-recipient span{display:grid;gap:2px;min-width:0;}
.bk-akpd-recipient b{font-size:10px;color:var(--ink);}
.bk-akpd-recipient small{font-size:9px;color:var(--muted);}
.bk-akpd-builder-intro{display:flex;align-items:center;justify-content:space-between;gap:12px;}
.bk-akpd-builder-intro>div{display:grid;gap:3px;}
.bk-akpd-builder-intro span{font-size:9px;color:var(--muted);line-height:1.45;}
.bk-akpd-builder .bk-quiz-question{margin-top:10px;}
.bk-option-row.is-akpd{grid-template-columns:28px minmax(0,1fr) 34px;}
.bk-akpd-option-bullet{display:grid;place-items:center;width:26px;height:26px;border-radius:8px;background:var(--theme-primary-soft,#f0f8ff);color:var(--theme-primary-deep,#075da9);font-weight:800;font-size:10px;}
.bk-akpd-share{display:grid;gap:3px;margin:10px 0;padding:9px 10px;border:1px dashed var(--line);border-radius:10px;background:var(--theme-surface-soft,#f7fbff);}
.bk-akpd-share span{font-size:10px;color:var(--ink);}.bk-akpd-share small{font-size:9px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.bk-akpd-responses{display:grid;gap:8px;padding:10px;}
.bk-akpd-responses article{display:grid;gap:4px;padding:10px;border:1px solid var(--line);border-radius:10px;background:var(--theme-surface-soft,#f7fbff);}
.bk-akpd-responses article>b{font-size:10px;}.bk-akpd-responses article>small{font-size:9px;color:var(--muted);margin-bottom:4px;}.bk-akpd-responses article>span{font-size:9px;line-height:1.45;color:var(--ink);}.bk-akpd-responses article>span strong{display:inline;color:var(--theme-primary-deep,#075da9);margin-left:4px;}
@media(max-width:620px){.bk-akpd-builder-intro,.bk-akpd-stat-head{align-items:stretch;flex-direction:column;}.bk-akpd-options{grid-template-columns:1fr;}.bk-akpd-recipient-list{max-height:220px;}}

/* EDUVIA V116G — AKPD siswa bergaya CBT */
.bk-akpd-cbt-list{display:grid;gap:12px;}.bk-akpd-cbt-card{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px;border:1px solid var(--line);border-radius:18px;background:var(--theme-surface,#fff);box-shadow:0 8px 22px rgba(15,23,42,.04);}.bk-akpd-cbt-card>div{min-width:0;}.bk-akpd-cbt-card h3{margin:9px 0 4px;}.bk-akpd-cbt-card p{margin:0 0 8px;color:var(--muted);line-height:1.55;}.bk-akpd-cbt-card small{color:var(--muted);}.bk-akpd-cbt-card>aside{display:grid;gap:8px;justify-items:end;flex:0 0 auto;}.bk-akpd-cbt-done{color:#166534;}.bk-akpd-cbt-wait{color:#92400e;}.bk-akpd-cbt-shell{display:grid;gap:14px;}.bk-akpd-cbt-top{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:14px;align-items:center;padding:14px 16px;border:1px solid var(--line);border-radius:16px;background:var(--theme-surface,#fff);}.bk-akpd-cbt-top span{display:block;color:var(--theme-primary-deep,#075da9);font-size:10px;font-weight:900;letter-spacing:.08em;}.bk-akpd-cbt-top h3{margin:3px 0;}.bk-akpd-cbt-top small{color:var(--muted);}.bk-akpd-cbt-top>b{font-size:18px;color:var(--theme-primary-deep,#075da9);}.bk-akpd-cbt-grid{display:grid;gap:14px;align-items:start;}.bk-akpd-cbt-question,.bk-akpd-cbt-nav{border:1px solid var(--line);border-radius:18px;background:var(--theme-surface,#fff);}.bk-akpd-cbt-question{padding:20px;}.bk-akpd-cbt-meta{display:flex;justify-content:space-between;gap:12px;font-size:10px;font-weight:900;color:var(--muted);}.bk-akpd-cbt-meta b{color:var(--theme-primary-deep,#075da9);}.bk-akpd-cbt-progress{height:6px;margin:9px 0 20px;border-radius:999px;background:var(--line);overflow:hidden;}.bk-akpd-cbt-progress i{display:block;height:100%;background:var(--theme-primary,#078ee8);border-radius:999px;}.bk-akpd-cbt-question>h2{font-size:19px;line-height:1.55;margin:0 0 18px;}.bk-akpd-cbt-question fieldset{display:grid;gap:9px;border:0;padding:0;margin:0;}.bk-akpd-cbt-answer{display:block;border:1px solid var(--line);border-radius:13px;background:var(--theme-surface-soft,#f7fbff);cursor:pointer;}.bk-akpd-cbt-answer input{position:absolute;opacity:0;pointer-events:none;}.bk-akpd-cbt-answer>span{display:flex;align-items:center;gap:11px;padding:12px 13px;}.bk-akpd-cbt-answer>span>b{display:grid;place-items:center;width:28px;height:28px;border:1px solid var(--line);border-radius:9px;background:var(--theme-surface,#fff);color:var(--theme-primary-deep,#075da9);flex:0 0 auto;}.bk-akpd-cbt-answer.selected{border-color:var(--theme-primary,#078ee8);background:var(--theme-primary-soft,#f0f8ff);}.bk-akpd-cbt-answer.selected>span>b{background:var(--theme-primary,#078ee8);border-color:var(--theme-primary,#078ee8);color:#fff;}.bk-akpd-cbt-question footer{display:flex;justify-content:space-between;gap:9px;margin-top:20px;}.bk-akpd-cbt-nav{padding:16px;position:sticky;top:16px;}.bk-akpd-cbt-nav h3{margin:0 0 4px;}.bk-akpd-cbt-nav p{margin:0 0 12px;color:var(--muted);font-size:10px;}.bk-akpd-cbt-nav>div{display:grid;grid-template-columns:repeat(5,1fr);gap:6px;}.bk-akpd-cbt-nav>div button{aspect-ratio:1;border:1px solid var(--line);border-radius:9px;background:var(--theme-surface,#fff);font-weight:900;color:var(--muted);cursor:pointer;}.bk-akpd-cbt-nav>div button.answered{background:#dcfce7;border-color:#86efac;color:#166534;}.bk-akpd-cbt-nav>div button.current{background:var(--theme-primary,#078ee8);border-color:var(--theme-primary,#078ee8);color:#fff;}.bk-akpd-cbt-nav>small{display:block;margin-top:12px;color:var(--muted);}@media(max-width:760px){.bk-akpd-cbt-card{align-items:flex-start;flex-direction:column;}.bk-akpd-cbt-card>aside{width:100%;justify-items:stretch;}.bk-akpd-cbt-card>aside button{width:100%;}.bk-akpd-cbt-top{grid-template-columns:1fr;}.bk-akpd-cbt-grid{grid-template-columns:1fr;}.bk-akpd-cbt-nav{position:static;order:-1;}.bk-akpd-cbt-question{padding:15px;}}

/* EDUVIA V116H — AKPD memenuhi lebar workspace Portal Siswa BK */
.bk-student-learning-list>.bk-akpd-cbt-list,.bk-student-learning-list>.bk-akpd-cbt-shell{grid-column:1/-1;width:100%;min-width:0;box-sizing:border-box;}
.bk-akpd-cbt-shell{max-width:none;}
.bk-akpd-cbt-grid{width:100%;grid-template-columns:minmax(0,1fr) minmax(230px,280px);}
.bk-akpd-cbt-question{min-width:0;}
@media(max-width:900px){.bk-akpd-cbt-grid{grid-template-columns:1fr;}.bk-akpd-cbt-nav{position:static;order:-1;}}

/* EDUVIA V116I — alasan AKPD */
.bk-akpd-reason-box{display:grid;gap:7px;margin-top:16px;padding:13px 14px;border:1px solid var(--line);border-radius:14px;background:var(--theme-surface-soft,#f7fbff);}.bk-akpd-reason-box>span{font-size:11px;font-weight:900;color:var(--ink);}.bk-akpd-reason-box>span b{color:#b45309;}.bk-akpd-reason-box>span small{color:var(--muted);font-weight:700;}.bk-akpd-reason-box textarea{width:100%;box-sizing:border-box;resize:vertical;min-height:92px;}.bk-akpd-reason-box textarea:disabled{opacity:.85;background:#f8fafc;}
