:root{
  --surface:#F5F5F7;--ink:#1D1D1F;--muted:rgba(29,29,31,.54);--gray:#AAAAAA;--blue:#007AFF;
  --white:var(--surface);--line:rgba(29,29,31,.075);--shadow-raised:9px 9px 22px rgba(29,29,31,.075),-8px -8px 20px rgba(255,255,255,.92);
  --shadow-soft:5px 5px 14px rgba(29,29,31,.055),-5px -5px 14px rgba(255,255,255,.88);
  --shadow-inset:inset 3px 3px 8px rgba(29,29,31,.065),inset -3px -3px 8px rgba(255,255,255,.95);
  --radius:22px;--radius-sm:14px;--sidebar:248px;--ease:cubic-bezier(.2,.75,.25,1);
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--surface);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"SF Pro Display","Segoe UI",Roboto,Arial,sans-serif;font-size:15px;line-height:1.55;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,select,textarea{outline-offset:3px}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid rgba(0,122,255,.34)}
.topbar{height:76px;position:sticky;top:0;z-index:50;display:flex;align-items:center;gap:24px;padding:0 34px;background:rgba(245,245,247,.88);backdrop-filter:blur(18px);border-bottom:1px solid rgba(29,29,31,.045)}.brand{display:flex;align-items:center;gap:12px;min-width:240px}.brand-mark,.panel-symbol{display:grid;place-items:center;width:40px;height:40px;border-radius:14px;background:var(--surface);box-shadow:var(--shadow-soft);font-weight:750;font-size:19px}.brand strong{display:block;font-size:15px;letter-spacing:-.3px}.brand small{display:block;color:var(--muted);font-size:11px;margin-top:1px}.top-links{margin-left:auto;display:flex;align-items:center;gap:26px;color:rgba(29,29,31,.72);font-size:13px}.top-links>a:not(.button):hover,.subtle-link:hover,.text-link:hover{color:var(--blue)}.notification-link{position:relative}.count-dot,.nav-count{background:var(--blue);color:#F5F5F7;border-radius:20px;font-size:10px;line-height:18px;padding:0 6px;margin-left:4px}.menu-toggle{display:none!important}
.shell{min-height:calc(100vh - 76px);display:grid;grid-template-columns:var(--sidebar) minmax(0,1fr);max-width:1800px;margin:0 auto}.sidebar{position:sticky;top:76px;align-self:start;height:calc(100vh - 76px);overflow-y:auto;padding:28px 18px 22px 23px;border-right:1px solid rgba(29,29,31,.045);display:flex;flex-direction:column;gap:5px}.sidebar-label{padding:0 13px;margin:4px 0 8px;color:rgba(29,29,31,.35);font-size:10px;font-weight:750;letter-spacing:1.35px}.sidebar-section-label{margin-top:24px}.nav-item{min-height:43px;display:flex;align-items:center;gap:13px;padding:9px 13px;border-radius:13px;color:rgba(29,29,31,.62);font-size:13px;transition:background .18s var(--ease),box-shadow .18s var(--ease),color .18s var(--ease),transform .18s var(--ease)}.nav-item:hover{color:var(--ink);background:rgba(255,255,255,.5)}.nav-item.active{color:var(--blue);font-weight:650;background:var(--surface);box-shadow:var(--shadow-inset)}.nav-icon{width:18px;text-align:center;font-size:17px;color:rgba(29,29,31,.39)}.active .nav-icon{color:var(--blue)}.sidebar-note{margin:30px 6px 0;padding:17px;border-radius:17px;box-shadow:var(--shadow-inset);color:rgba(29,29,31,.65);font-size:12px}.sidebar-note strong{color:var(--ink)}.sidebar-note p{margin:5px 0 0}.sidebar-user{margin-top:auto;border-top:1px solid var(--line);padding:18px 5px 10px;display:flex;align-items:center;gap:10px}.avatar{width:36px;height:36px;display:grid;place-items:center;border-radius:50%;background:var(--surface);box-shadow:var(--shadow-soft);color:var(--blue);font-weight:700}.user-meta{min-width:0}.user-meta strong,.user-meta small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-meta strong{font-size:12px}.user-meta small{font-size:10px;color:var(--muted)}.logout-form{margin:0}.nav-logout{width:100%;border:0;background:transparent;text-align:left;cursor:pointer}.nav-logout:hover{color:rgba(29,29,31,.72)}.main-content{min-width:0;padding:36px clamp(22px,4vw,58px) 22px;max-width:1500px;width:100%;margin:0 auto}.footer{margin-top:54px;padding:20px 0;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:20px;color:rgba(29,29,31,.38);font-size:11px}.sidebar-scrim{display:none}
.page-heading{margin:2px 0 30px}.page-heading h1,.auth-intro h1{font-size:clamp(32px,4vw,46px);line-height:1.08;letter-spacing:-1.9px;margin:9px 0 10px;font-weight:720}.page-heading p,.panel-heading p{margin:0;color:var(--muted);font-size:14px}.eyebrow{font-size:10px;color:rgba(29,29,31,.46);letter-spacing:1.45px;font-weight:750}.heading-row{display:flex;align-items:flex-end;justify-content:space-between;gap:20px}.heading-date{display:flex;align-items:center;gap:10px;padding:11px 15px;border-radius:15px;background:var(--surface);box-shadow:var(--shadow-soft)}.date-icon{font-size:19px;color:var(--blue)}.heading-date small,.heading-date strong{display:block}.heading-date small{font-size:9px;color:rgba(29,29,31,.35);letter-spacing:1px}.heading-date strong{font-size:12px}.panel,.content-card{padding:25px;border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow-raised);border:1px solid rgba(255,255,255,.75);margin-bottom:22px;min-width:0}.panel-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:21px}.panel-heading h2,.section-heading h2{font-size:19px;letter-spacing:-.55px;line-height:1.25;margin:5px 0 4px}.panel-symbol{flex:0 0 auto;color:var(--blue);font-size:17px}.section-heading{display:flex;justify-content:space-between;gap:18px;align-items:flex-end;margin:32px 0 15px}.subtle-link,.text-link{font-size:12px;color:var(--blue);font-weight:600}.button{min-height:42px;display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:0 17px;border:1px solid rgba(255,255,255,.85);border-radius:13px;background:var(--surface);box-shadow:var(--shadow-soft);color:var(--ink);font-size:13px;font-weight:650;cursor:pointer;transition:transform .16s var(--ease),box-shadow .18s var(--ease),color .18s var(--ease),background .18s var(--ease)}.button:hover{transform:translateY(-1px);box-shadow:7px 7px 16px rgba(29,29,31,.08),-6px -6px 16px rgba(255,255,255,.95)}.button:active{transform:scale(.97);box-shadow:var(--shadow-inset)}.button-primary{color:var(--blue);border-color:rgba(0,122,255,.14)}.button-primary:hover{background:var(--surface)}.button-quiet{box-shadow:none;border-color:var(--line);background:transparent}.button-small{min-height:34px;padding:0 12px;font-size:11px;border-radius:10px}.button-wide{width:100%;min-height:48px}.button-light{background:#F5F5F7}.muted-label{font-size:11px;color:var(--muted)}
.metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin:0 0 23px}.metric-card{display:flex;flex-direction:column;gap:8px;min-height:136px;padding:20px;border-radius:19px;background:var(--surface);box-shadow:var(--shadow-soft);border:1px solid rgba(255,255,255,.75);transition:transform .2s var(--ease),box-shadow .2s var(--ease)}a.metric-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-raised)}.metric-label{color:rgba(29,29,31,.53);font-size:12px}.metric-value{font-size:31px;line-height:1.1;letter-spacing:-1px;font-weight:720}.metric-foot{margin-top:auto;font-size:10px;color:rgba(29,29,31,.40)}.metric-foot b{float:right;color:var(--blue);font-size:15px}.dashboard-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(270px,.8fr);gap:18px}.panel-main{grid-column:1}.panel-side{grid-column:2}.quick-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.quick-action{min-height:123px;padding:17px;border-radius:16px;background:var(--surface);box-shadow:var(--shadow-inset);display:flex;flex-direction:column;align-items:flex-start;transition:transform .18s var(--ease),box-shadow .18s var(--ease)}.quick-action:hover{transform:translateY(-2px);box-shadow:var(--shadow-soft)}.quick-action>span{display:grid;place-items:center;width:29px;height:29px;border-radius:10px;background:var(--surface);box-shadow:var(--shadow-soft);color:var(--blue);font-size:17px;margin-bottom:10px}.quick-action strong{font-size:13px}.quick-action small{font-size:10px;color:var(--muted);margin-top:3px}.announcement-item,.activity-row{display:flex;gap:12px;padding:13px 0;border-bottom:1px solid var(--line)}.announcement-item:last-child,.activity-row:last-child{border:0}.announcement-dot{width:8px;height:8px;flex:0 0 auto;border-radius:50%;background:var(--blue);margin-top:7px;box-shadow:0 0 0 4px rgba(0,122,255,.08)}.announcement-item strong,.activity-row strong{display:block;font-size:12px}.announcement-item p{margin:3px 0;color:rgba(29,29,31,.55);font-size:11px}.announcement-item small,.activity-row small{color:rgba(29,29,31,.36);font-size:10px}.activity-mark{color:var(--blue);font-size:20px;line-height:1}.table-row{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid var(--line)}.table-row strong,.table-row small{display:block}.table-row strong{font-size:12px}.table-row small{font-size:10px;color:var(--muted)}.empty-inline{padding:19px 8px;color:rgba(29,29,31,.40);text-align:center;font-size:12px}.empty-state{padding:28px;border-radius:16px;box-shadow:var(--shadow-inset);color:rgba(29,29,31,.48);text-align:center;font-size:13px}.student-hero{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:34px}.student-hero h2{font-size:27px;margin:7px 0 4px;letter-spacing:-.8px}.student-hero p{color:var(--muted);margin:0}.card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.child-card{display:block}.child-card h3{font-size:16px;margin:13px 0 4px}.child-card p{font-size:12px;color:var(--muted);margin:0 0 15px}.feature-icon{display:grid;place-items:center;width:38px;height:38px;border-radius:13px;box-shadow:var(--shadow-soft);color:var(--blue);font-size:18px}
/* Inputs are recessed so dense forms remain legible and tactile. */
.form-panel{max-width:1000px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px 18px}.form-stack{display:flex;flex-direction:column;gap:17px}.field{display:flex;flex-direction:column;gap:7px;min-width:0}.field label{font-size:12px;font-weight:650;color:rgba(29,29,31,.78)}.field small{font-size:10px;color:var(--muted)}.field-full{grid-column:1/-1}.input-control,.select-control,.search-field{width:100%;min-height:44px;padding:10px 13px;border:1px solid rgba(255,255,255,.9);border-radius:12px;background:var(--surface);box-shadow:var(--shadow-inset);color:var(--ink);font-size:13px;transition:border-color .18s,box-shadow .18s}.input-control::placeholder,.search-field input::placeholder{color:rgba(29,29,31,.32)}.input-control:focus,.select-control:focus,.search-field:focus-within{border-color:rgba(0,122,255,.44);box-shadow:inset 2px 2px 6px rgba(29,29,31,.045),inset -2px -2px 6px rgba(255,255,255,.9),0 0 0 3px rgba(0,122,255,.07);outline:0}.textarea-control{resize:vertical;min-height:105px}.select-control{cursor:pointer}.select-compact{min-height:34px;padding:5px 9px;font-size:11px;max-width:165px}.checkbox-line{display:flex;align-items:center;gap:9px;color:rgba(29,29,31,.53);font-size:11px}.checkbox-line input{accent-color:var(--blue);width:16px;height:16px}.form-actions{grid-column:1/-1;display:flex;justify-content:flex-end;gap:10px;margin-top:5px}.form-footnote{font-size:10px;color:rgba(29,29,31,.40);margin:1px 0 0;line-height:1.5}.field-error{color:rgba(29,29,31,.72)!important}.privacy-note{padding:12px 14px;border-radius:12px;box-shadow:var(--shadow-inset);font-size:11px;color:rgba(29,29,31,.53)}.toolbar{display:flex;align-items:center;gap:10px;margin-bottom:18px;flex-wrap:wrap}.search-field{display:flex;align-items:center;gap:9px;max-width:400px;flex:1}.search-field span{color:rgba(29,29,31,.43);font-size:20px}.search-field input{width:100%;border:0;outline:0;background:transparent;color:var(--ink);font-size:12px}.table-scroll{width:100%;overflow-x:auto;border-radius:13px}table.data-table{width:100%;border-collapse:separate;border-spacing:0;text-align:left;font-size:12px} .data-table thead th{position:sticky;top:0;background:rgba(29,29,31,.025);color:rgba(29,29,31,.48);font-size:10px;font-weight:700;letter-spacing:.55px;text-transform:uppercase;padding:13px 12px;border-bottom:1px solid var(--line);white-space:nowrap}.data-table td{padding:14px 12px;border-bottom:1px solid var(--line);vertical-align:middle}.data-table tbody tr{animation:row-in .3s var(--ease) both;animation-delay:calc(var(--row-index,0)*30ms)}.data-table tbody tr:hover{background:rgba(255,255,255,.35)}.data-table td strong,.data-table td small{display:block}.data-table td small{margin-top:3px;color:rgba(29,29,31,.38);font-size:10px}.mono,.reference-code{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.2px}.row-actions{white-space:nowrap}.row-actions a+a{margin-left:10px}.status{display:inline-flex;align-items:center;gap:5px;padding:5px 9px;border-radius:20px;background:rgba(29,29,31,.055);color:rgba(29,29,31,.62);font-size:10px;white-space:nowrap}.status-active,.status-present,.status-completed,.status-enrolled{background:rgba(0,122,255,.09);color:#007AFF}.status-rejected,.status-late{background:rgba(29,29,31,.08);color:rgba(29,29,31,.70)}.status-approved{background:rgba(0,122,255,.1);color:#007AFF}.status-submitted,.status-under_review,.status-for_completion,.status-processing,.status-excused{background:rgba(170,170,170,.18);color:rgba(29,29,31,.68)}.inline-form,.scan-form{display:flex;align-items:center;gap:8px}.pagination{display:flex;justify-content:center;align-items:center;gap:22px;padding-top:18px;color:rgba(29,29,31,.46);font-size:11px}.pagination a{color:var(--blue)}.scan-panel{border:1px solid rgba(0,122,255,.10)}.scan-form{flex-wrap:wrap}.scan-id{flex:1;min-width:220px}.scan-form>.field:not(.scan-id){width:140px}.handler-form{display:flex;gap:7px;align-items:center;flex-wrap:wrap;margin-top:12px}.handler-form .input-control{max-width:240px;min-height:34px;font-size:11px}.request-card{padding:17px 0;border-bottom:1px solid var(--line)}.request-card:last-child{border-bottom:0}.request-topline{display:flex;justify-content:space-between;gap:12px;align-items:center}.request-topline strong{font-size:13px}.request-main p{margin:7px 0;color:rgba(29,29,31,.61);font-size:12px}.request-main small{color:rgba(29,29,31,.36);font-size:10px}.resolution-note{margin-top:10px;padding:10px 12px;border-radius:10px;background:rgba(0,122,255,.055);font-size:11px;color:rgba(29,29,31,.65)}.notice-row{display:flex;align-items:flex-start;gap:14px;padding:17px 0;border-bottom:1px solid var(--line)}.notice-unread .notice-content strong{color:var(--blue)}.notice-icon{display:grid;place-items:center;width:36px;height:36px;flex:0 0 auto;border-radius:12px;box-shadow:var(--shadow-soft);color:var(--blue)}.notice-content{flex:1}.notice-content strong{font-size:13px}.notice-content p{margin:4px 0;color:rgba(29,29,31,.56);font-size:12px}.notice-content small{color:rgba(29,29,31,.34);font-size:10px}.notice-row form{margin-left:auto}.success-screen,.error-screen{text-align:center;max-width:620px;margin:50px auto;padding:45px}.success-icon{display:grid;place-items:center;width:58px;height:58px;margin:0 auto 22px;border-radius:20px;background:var(--surface);box-shadow:var(--shadow-raised);color:var(--blue);font-size:27px}.success-screen h1,.error-screen h1{font-size:32px;letter-spacing:-1px;margin:8px 0}.success-screen p,.error-screen p{color:var(--muted);font-size:13px}.reference-code{font-size:20px;font-weight:750;letter-spacing:1px;margin:23px auto;padding:14px;border-radius:12px;box-shadow:var(--shadow-inset);max-width:260px}.error-code{font-size:65px;letter-spacing:-4px;font-weight:800;color:var(--blue)}
/* Public pages and login. */
.hero{position:relative;overflow:hidden;min-height:350px;padding:clamp(32px,5vw,58px);border-radius:30px;background:var(--surface);box-shadow:var(--shadow-raised)}.hero h1{font-size:clamp(42px,6vw,68px);line-height:.98;letter-spacing:-3px;margin:18px 0}.hero h1 span,.auth-intro h1 span{color:rgba(29,29,31,.53)}.hero-copy{max-width:510px;color:var(--muted);font-size:15px}.hero-actions{display:flex;align-items:center;gap:20px;margin-top:25px}.hero-decoration{position:absolute;border-radius:50%;pointer-events:none}.deco-one{width:180px;height:180px;right:15%;top:13%;box-shadow:var(--shadow-raised);opacity:.5}.deco-two{width:110px;height:110px;right:9%;bottom:5%;box-shadow:var(--shadow-inset);opacity:.6}.section-block{margin-top:42px}.section-heading p{font-size:12px;color:var(--muted);max-width:260px}.feature-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.feature-card{padding:21px;border-radius:18px;background:var(--surface);box-shadow:var(--shadow-soft);transition:transform .2s var(--ease),box-shadow .2s var(--ease)}.feature-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-raised)}.feature-card h3{font-size:15px;margin:14px 0 5px}.feature-card p{min-height:55px;margin:0 0 13px;color:var(--muted);font-size:11px}.card-arrow{font-size:11px;color:var(--blue);font-weight:650}.callout{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:26px 30px;margin-top:26px;border-radius:20px;box-shadow:var(--shadow-inset)}.callout h2{font-size:22px;margin:4px 0}.callout p{font-size:12px;color:var(--muted);margin:0}.auth-wrap{display:grid;grid-template-columns:minmax(0,1fr) minmax(340px,470px);gap:clamp(28px,6vw,90px);align-items:center;max-width:1100px;margin:20px auto 55px;min-height:550px}.auth-intro h1{font-size:clamp(42px,5vw,58px);margin:16px 0}.auth-intro p{max-width:450px;color:var(--muted);font-size:14px}.auth-points{display:flex;flex-direction:column;gap:12px;margin-top:28px;color:rgba(29,29,31,.60);font-size:12px}.auth-panel{padding:31px}.auth-panel .panel-heading h2{font-size:25px;letter-spacing:-.8px;margin:7px 0 4px}.auth-panel .panel-heading p{font-size:12px}.auth-panel .panel-heading{margin-bottom:23px}.form-footnote{font-size:10px;color:rgba(29,29,31,.38);line-height:1.5}.auth-panel .panel-symbol{width:45px;height:45px}.announcement-large{padding:17px 0}.announcement-large p{font-size:13px}.report-metrics{grid-template-columns:repeat(5,minmax(0,1fr))}
.flash-stack{position:relative;z-index:4}.flash{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:12px 15px;margin:0 0 12px;border-radius:12px;background:var(--surface);box-shadow:var(--shadow-soft);font-size:12px;animation:flash-in .28s var(--ease) both}.flash-success{border-left:3px solid var(--blue);animation:flash-in .28s var(--ease) both,soft-pulse .7s .12s var(--ease) both}.flash-error{border-left:3px solid rgba(29,29,31,.68)}.flash-warning{border-left:3px solid rgba(29,29,31,.55)}.flash-info{border-left:3px solid var(--gray)}.flash-close{border:0;background:transparent;color:rgba(29,29,31,.44);font-size:20px;cursor:pointer}.flash-leave{opacity:0;transform:translateY(-5px);transition:opacity .22s,transform .22s}
@keyframes row-in{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}@keyframes flash-in{from{opacity:0;transform:translateY(-7px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes soft-pulse{0%{box-shadow:var(--shadow-soft)}50%{box-shadow:0 0 0 5px rgba(0,122,255,.08),var(--shadow-soft)}100%{box-shadow:var(--shadow-soft)}}.is-success{animation:soft-pulse .55s var(--ease)}
@media(max-width:1180px){.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.feature-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.report-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}.dashboard-grid{grid-template-columns:minmax(0,1.2fr) minmax(250px,.8fr)}}
@media(max-width:900px){.topbar{padding:0 21px}.menu-toggle{display:grid!important;place-items:center;width:38px;height:38px;border:0;border-radius:12px;background:var(--surface);box-shadow:var(--shadow-soft);color:rgba(29,29,31,.58)}.brand{min-width:0}.top-links{gap:14px}.top-links>a:not(.button):nth-child(n+2){display:none}.shell{display:block}.sidebar{position:fixed;z-index:70;top:0;left:0;width:min(290px,84vw);height:100dvh;padding-top:28px;background:var(--surface);box-shadow:20px 0 50px rgba(29,29,31,.12);transform:translateX(-105%);transition:transform .24s var(--ease)}body.sidebar-open .sidebar{transform:translateX(0)}.sidebar-scrim{position:fixed;inset:0;z-index:60;background:rgba(29,29,31,.16);backdrop-filter:blur(2px);opacity:0;visibility:hidden;transition:opacity .2s,visibility .2s}body.sidebar-open .sidebar-scrim{display:block;opacity:1;visibility:visible}.main-content{padding:29px 25px 20px}.dashboard-grid{grid-template-columns:1fr}.panel-main,.panel-side{grid-column:1}.auth-wrap{grid-template-columns:1fr;max-width:650px;gap:24px}.auth-intro{padding:0 12px}.auth-intro h1{font-size:44px}.auth-points{display:none}}
@media(max-width:620px){.topbar{height:66px;padding:0 14px;gap:12px}.brand-mark{width:35px;height:35px}.brand small{max-width:180px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.top-links{gap:8px}.top-links>a:first-child{display:none}.top-links .button{min-height:34px;padding:0 10px}.shell{min-height:calc(100vh - 66px)}.main-content{padding:22px 15px 16px}.page-heading{margin-bottom:22px}.page-heading h1{font-size:33px;letter-spacing:-1.2px}.heading-row{align-items:flex-start;flex-direction:column}.heading-date{display:none}.panel{padding:18px;border-radius:18px}.panel-heading h2{font-size:17px}.metric-grid{gap:10px}.metric-card{min-height:112px;padding:15px}.metric-value{font-size:27px}.quick-grid,.form-grid{grid-template-columns:1fr}.field-full{grid-column:auto}.form-actions{grid-column:auto;flex-wrap:wrap}.feature-grid,.card-grid{grid-template-columns:1fr 1fr}.feature-card{padding:16px}.feature-card p{min-height:72px}.hero{min-height:0;padding:28px 23px;border-radius:22px}.hero h1{font-size:43px;letter-spacing:-2px}.hero-copy{font-size:13px}.hero-decoration{opacity:.22}.hero-actions{align-items:flex-start;flex-direction:column;gap:14px}.section-heading{align-items:flex-start;flex-direction:column}.section-heading p{margin:0}.callout{align-items:flex-start;flex-direction:column;padding:23px}.auth-wrap{margin:5px auto 30px;min-height:0}.auth-intro h1{font-size:38px}.auth-intro p{font-size:12px}.auth-panel{padding:22px}.toolbar{align-items:stretch}.search-field{max-width:none;flex-basis:100%}.toolbar>.select-control{flex:1}.table-scroll{margin:0 -4px;width:calc(100% + 8px)}.data-table{min-width:640px}.scan-form{align-items:stretch;flex-direction:column}.scan-form>.field:not(.scan-id){width:100%}.scan-form .button{width:100%}.student-hero{align-items:flex-start;flex-direction:column;padding:24px}.student-hero h2{font-size:22px}.request-topline{align-items:flex-start}.handler-form{align-items:stretch;flex-direction:column}.handler-form .select-control,.handler-form .input-control{max-width:none;width:100%}.notice-row{flex-wrap:wrap}.notice-row form{margin-left:50px}.success-screen,.error-screen{margin:20px auto;padding:28px 20px}.footer{flex-direction:column;gap:5px;margin-top:36px}.report-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.inline-form{align-items:flex-start;flex-direction:column}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
.heading-actions{display:flex;align-items:center;gap:9px}.soft-rule{border:0;border-top:1px solid var(--line);margin:24px 0}.list-compact>div{display:flex;gap:12px;justify-content:space-between;padding:9px 0;border-bottom:1px solid var(--line);font-size:11px}.list-compact span{color:var(--muted);text-align:right}
.status-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--blue);margin-right:8px;box-shadow:0 0 0 4px rgba(0,122,255,.09)}.placeholder-note{margin-top:18px;padding:13px 15px;border-radius:12px;background:rgba(170,170,170,.12);color:rgba(29,29,31,.53);font-size:11px}.two-col{grid-template-columns:repeat(2,minmax(0,1fr))}
.panel-full{grid-column:1/-1}.distribution-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(260px,.95fr);gap:30px;align-items:start}.distribution-row{margin:12px 0 16px}.distribution-label{display:flex;justify-content:space-between;gap:10px;margin-bottom:6px;font-size:11px}.distribution-label span{color:var(--muted);font-variant-numeric:tabular-nums}.distribution-track{height:9px;border-radius:20px;box-shadow:var(--shadow-inset);overflow:hidden}.distribution-track span{display:block;height:100%;border-radius:20px;background:var(--blue);min-width:0;transition:width .4s var(--ease)}.workflow-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.status-count{display:flex;justify-content:space-between;gap:10px;padding:7px 0;border-bottom:1px solid var(--line);font-size:11px;color:var(--muted)}.status-count strong{color:var(--ink);font-variant-numeric:tabular-nums}
@media(max-width:900px){.panel-full{grid-column:1}.distribution-grid{grid-template-columns:1fr}.workflow-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.workflow-summary{grid-template-columns:1fr}}
.global-search{display:flex;align-items:center;gap:8px;width:210px;min-height:34px;padding:0 10px;border-radius:11px;background:var(--surface);box-shadow:var(--shadow-inset);color:var(--muted)}.global-search span{font-size:18px}.global-search input{width:100%;min-width:0;border:0;outline:0;background:transparent;font-size:11px;color:var(--ink)}.global-search input::placeholder{color:var(--muted)}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.search-summary{margin:-8px 0 16px;color:var(--muted);font-size:12px}.search-summary strong{color:var(--ink)}
@media(max-width:1180px){.global-search{width:160px}}
@media(max-width:900px){.global-search{width:155px}}
@media(max-width:620px){.global-search{width:124px}.global-search input{font-size:10px}.top-links .notification-link{display:none}}

/* DepEd three-term gradebook: keep raw-score entry compact on desktop and mobile. */
.grade-assessment-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.grade-assessment-grid .field{min-width:0}@media(max-width:680px){.grade-assessment-grid{grid-template-columns:1fr}.inline-form{flex-wrap:wrap}}
