:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f3f6fa;--panel:#fff;--ink:#172033;--muted:#66758a;--line:#d8e1ed;--brand:#006aa6;--accent:#f2b94b;--danger:#b42318;--success:#177245;--pink:#f03f75;--purple:#4b2d83;--sidebar:#172033;--soft-blue:#e7f2fa;--soft-pink:#fff0f6;--shadow:0 18px 45px #17203314}*{box-sizing:border-box}body{background:var(--bg);color:var(--ink);margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;animation:.5s cubic-bezier(.16,1,.3,1) forwards fadeInApp}@keyframes fadeInApp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes float{0%{transform:translateY(0)}50%{transform:translateY(-4px)}to{transform:translateY(0)}}@keyframes pulse-soft{0%{transform:scale(1)}50%{transform:scale(1.02)}to{transform:scale(1)}}button{transition:all .2s cubic-bezier(.4,0,.2,1)!important}button:not(:disabled):hover{filter:brightness(1.05);transform:translateY(-2px)}button:not(:disabled):active{transform:translateY(0)scale(.98)}.hover-lift{transition:transform .3s cubic-bezier(.34,1.56,.64,1),box-shadow .3s!important}.hover-lift:hover{transform:translateY(-4px);box-shadow:0 14px 28px #0000000d,0 4px 10px #00000005!important}.icon-btn-hover:hover{transform:scale(1.1)}.icon-btn-spin:hover{transform:rotate(30deg)}.chart-bar-hover:hover{transform:scale(1.05)}.input-glow{transition:all .2s}.input-glow:focus{border-color:#3b82f6!important;box-shadow:0 0 0 4px #3b82f626!important}.premium-card{position:relative;overflow:hidden}.premium-card:before{content:"";background:linear-gradient(90deg,#3b82f6,#ec4899);width:100%;height:4px;position:absolute;top:0;left:0}table tbody tr{transition:background .15s}table tbody tr:hover{background:#f8fafc!important}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:999px}::-webkit-scrollbar-thumb:hover{background:#94a3b8}@keyframes badge-pulse{0%,to{opacity:1}50%{opacity:.7}}.badge-pulse{animation:2s ease-in-out infinite badge-pulse}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.skeleton{background:linear-gradient(90deg,#f1f5f9 25%,#e2e8f0 50%,#f1f5f9 75%) 0 0/200% 100%;border-radius:8px;animation:1.5s infinite shimmer}@keyframes ticker{0%{transform:translate(0)}to{transform:translate(-50%)}}.ticker-scroll{animation:28s linear infinite ticker}.ticker-scroll:hover{animation-play-state:paused}@keyframes progress-fill{0%{width:0}}.progress-bar-animated{animation:1.2s cubic-bezier(.4,0,.2,1) forwards progress-fill}@keyframes fadeInUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.fade-in-up{animation:.5s cubic-bezier(.16,1,.3,1) forwards fadeInUp}a{color:inherit;text-decoration:none}.shell{grid-template-rows:auto 1fr;min-height:100vh;display:grid}.topbar{border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffffe0;justify-content:space-between;align-items:center;padding:18px clamp(18px,4vw,56px);display:flex}.brand{align-items:center;gap:10px;font-weight:800;display:flex}.brand-mark{background:linear-gradient(135deg, var(--brand), var(--pink));color:#fff;border-radius:8px;place-items:center;width:34px;height:34px;display:grid}.logo-mark,.logo-avatar{background:#fff;overflow:hidden}.logo-mark img,.logo-avatar img,.identity-card img{object-fit:contain;width:100%;height:100%}.nav{color:var(--muted);align-items:center;gap:12px;font-size:14px;display:flex}.topbar form{align-items:center;gap:12px;display:flex}.app-shell{background:var(--bg);grid-template-columns:282px minmax(0,1fr);min-height:100vh;display:grid}.sidebar{background:linear-gradient(180deg, #006aa629, transparent 34%), var(--sidebar);color:#fff;grid-template-rows:auto auto 1fr;gap:24px;min-height:100vh;padding:22px 16px;display:grid}.sidebar .brand{padding:8px}.brand span:last-child{gap:2px;display:grid}.brand small,.side-nav small{color:#93a4b8;font-size:11px;font-weight:700}.side-nav{gap:6px;display:grid}.side-nav a{color:#d1d8e3;border-radius:7px;align-content:center;gap:3px;min-height:58px;padding:0 12px;font-weight:700;display:grid}.side-nav-item:hover{background:#ffffff14;transform:translate(4px);color:#fff!important}.side-nav-item-light:hover{background:#f1f5f9;transform:translate(4px);color:#0ea5e9!important}.tenant-box{background:#ffffff0f;border:1px solid #ffffff24;border-radius:8px;grid-template-columns:42px minmax(0,1fr);align-self:end;align-items:center;gap:10px;padding:14px;display:grid}.tenant-box span:last-child{color:#cbd5e1;margin-top:3px;font-size:13px;display:block}.tenant-box>div:last-child{gap:2px;min-width:0;display:grid}.tenant-box strong{overflow-wrap:anywhere}.tenant-avatar,.user-dot{width:42px;height:42px;color:var(--brand);background:#fff;border-radius:8px;place-items:center;font-size:13px;font-weight:900;display:grid}.app-main{grid-template-rows:auto 1fr;min-width:0;display:grid}.app-topbar{border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffffeb;justify-content:space-between;align-items:center;gap:16px;min-height:72px;padding:14px clamp(18px,3vw,36px);display:flex}.topbar-user,.topbar-actions,.app-topbar form{align-items:center;gap:10px;display:flex}.topbar-user>div{gap:2px;display:grid}.user-dot{border:1px solid var(--line);background:var(--soft-blue);width:38px;height:38px}.pill{background:var(--soft-blue);min-height:32px;color:var(--brand);border:1px solid #b8d6ea;border-radius:999px;align-items:center;padding:0 10px;font-size:12px;font-weight:800;display:inline-flex}.muted-pill{border-color:var(--line);color:#475467;background:#f8fafc}.button{border:1px solid var(--pink);background:var(--pink);color:#fff;cursor:pointer;border-radius:7px;justify-content:center;align-items:center;min-height:42px;padding:0 16px;font-weight:700;display:inline-flex;box-shadow:0 10px 22px #f03f752e}.button.secondary{color:var(--pink);box-shadow:none;background:0 0}.button:disabled{cursor:not-allowed;opacity:.58}.hero{grid-template-columns:minmax(0,1.05fr) minmax(320px,.95fr);align-items:center;gap:clamp(28px,5vw,70px);padding:clamp(38px,7vw,86px) clamp(18px,4vw,56px);display:grid}.hero h1{letter-spacing:0;max-width:760px;margin:0;font-size:clamp(40px,6vw,76px);line-height:.95}.hero p{max-width:660px;color:var(--muted);margin:22px 0 0;font-size:19px;line-height:1.65}.actions{flex-wrap:wrap;gap:12px;margin-top:28px;display:flex}.dashboard-preview,.login-panel{border:1px solid var(--line);background:var(--panel);border-radius:8px;box-shadow:0 18px 45px #1f2d3d17}.dashboard-preview{padding:18px}.preview-header{border-bottom:1px solid var(--line);justify-content:space-between;gap:16px;padding-bottom:16px;display:flex}.metric-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:16px;display:grid}.metric{border:1px solid var(--line);background:#fff;border-radius:8px;min-height:108px;padding:16px;box-shadow:0 10px 24px #1720330a}.metric.danger{background:#fff8f7;border-color:#f4c7c3}.metric.accent{background:#fffaf0;border-color:#f2d7a8}.ops-board{grid-template-columns:minmax(260px,.9fr) minmax(0,1.4fr);gap:12px;display:grid}.ops-panel,.ops-list>div{border:1px solid var(--line);background:#fff;border-radius:8px;box-shadow:0 10px 24px #1720330a}.ops-panel{align-content:start;gap:10px;padding:18px;display:grid}.primary-panel{background:linear-gradient(135deg,#006aa61a,#f03f750f),#fff;border-color:#b8d6ea}.ops-panel strong{font-size:22px;line-height:1.18}.ops-panel p,.ops-list p{color:var(--muted);margin:0;line-height:1.5}.ops-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.ops-list>div{align-content:start;justify-items:start;gap:10px;min-height:150px;padding:16px;display:grid}.finance-strip{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.finance-strip>div{border:1px solid var(--line);background:#fff;border-radius:8px;align-content:start;gap:6px;min-height:116px;padding:16px;display:grid;box-shadow:0 10px 24px #1720330a}.finance-strip strong{font-size:28px;line-height:1}.finance-strip p{color:var(--muted);margin:0;line-height:1.4}.task-guide{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.task-guide>div{border:1px solid var(--line);background:#fff;border-radius:8px;grid-template-columns:34px minmax(0,1fr);align-content:start;gap:6px 10px;min-height:128px;padding:16px;display:grid;box-shadow:0 10px 24px #1720330a}.task-guide span{background:var(--soft-blue);width:34px;height:34px;color:var(--brand);border-radius:8px;grid-row:span 2;place-items:center;font-weight:900;display:grid}.task-guide strong{align-self:end}.task-guide p{color:var(--muted);margin:0;line-height:1.45}.compact-guide>div{min-height:106px}.client-brief{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.client-brief>div{border:1px solid var(--line);background:#fff;border-radius:8px;align-content:start;gap:8px;min-height:132px;padding:16px;display:grid;box-shadow:0 10px 24px #1720330a}.client-brief strong{font-size:18px}.client-brief p{color:var(--muted);margin:0;line-height:1.45}.metric strong{margin-top:12px;font-size:30px;display:block}.metric span,.preview-header span,.eyebrow{color:var(--muted);font-size:13px}.login-wrap{background:linear-gradient(135deg, #006aa629, transparent 38%), linear-gradient(315deg, #f03f7521, transparent 42%), var(--bg);place-items:center;min-height:100vh;padding:28px;display:grid}.login-shell{border:1px solid var(--line);width:min(100%,1040px);box-shadow:var(--shadow);background:#fff;border-radius:8px;grid-template-columns:minmax(0,1.2fr) 420px;display:grid;overflow:hidden}.login-story{color:#fff;background:linear-gradient(150deg,#0075bbe0,#4b2d83c7),linear-gradient(45deg,#f03f75,#0075bb);align-content:space-between;gap:28px;min-height:610px;padding:clamp(28px,5vw,54px);display:grid;position:relative;overflow:hidden}.login-story:after{content:"";background:linear-gradient(#1720331f,#1720331f),url(/school/mi-liceo-signage.jpg) 50%/cover;border:1px solid #ffffff42;border-radius:8px;width:310px;height:210px;position:absolute;bottom:-34px;right:-42px;box-shadow:0 18px 45px #0000002e}.login-story>*{z-index:1;position:relative}.login-story .brand small,.login-story .eyebrow{color:#ffffffc7}.login-story h1{letter-spacing:0;max-width:620px;margin:10px 0 0;font-size:clamp(36px,5vw,58px);line-height:1}.login-story p{color:#ffffffd1;max-width:560px;margin:18px 0 0;font-size:17px;line-height:1.6}.login-proof{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.login-proof>div{background:#ffffff1a;border:1px solid #ffffff38;border-radius:8px;gap:6px;min-height:98px;padding:14px;display:grid}.login-proof strong{font-size:26px}.login-proof span{color:#ffffffc7;font-size:13px}.login-image-credit{color:#ffffffc7;background:#ffffff1f;border-radius:999px;width:fit-content;max-width:100%;padding:8px 10px;font-size:12px;font-weight:800}.login-panel{width:min(100%,420px);box-shadow:none;border:0;place-self:center;padding:32px}.login-panel-header h2{letter-spacing:0;margin:6px 0;font-size:30px}.login-panel-header p,.login-demo-users{color:var(--muted)}.full-button{width:100%;margin-top:18px}.login-demo-users{border:1px solid var(--line);background:#f8fafc;border-radius:8px;gap:6px;margin-top:18px;padding:14px;font-size:13px;display:grid}.login-demo-users strong{color:var(--ink)}.field{color:var(--muted);gap:7px;margin-top:16px;font-size:14px;font-weight:700;display:grid}.field input,.quick-form select{border:1px solid var(--line);width:100%;min-height:44px;font:inherit;border-radius:7px;padding:0 12px}.stack{gap:16px;padding:clamp(18px,4vw,40px);display:grid}.page-stack{align-content:start;gap:16px;padding:clamp(18px,3vw,34px);display:grid}.page-header{justify-content:space-between;align-items:flex-end;gap:18px;display:flex}.page-header h1{margin:4px 0 8px;font-size:32px;line-height:1.08}.page-header p{color:var(--muted);margin:0}.identity-hero{grid-template-columns:minmax(260px,.9fr) minmax(320px,1.1fr);gap:12px;display:grid}.identity-card,.identity-photo{border:1px solid var(--line);background:#fff;border-radius:8px;min-height:220px;box-shadow:0 10px 24px #1720330a}.identity-card{grid-template-columns:96px minmax(0,1fr);align-items:center;gap:18px;padding:22px;display:grid}.identity-card img{border:1px solid var(--line);background:#fff;border-radius:8px;width:96px;height:96px;padding:8px}.identity-card strong{margin:5px 0 8px;font-size:24px;display:block}.identity-card p{color:var(--muted);margin:0;line-height:1.5}.identity-photo{background:linear-gradient(90deg,#17203329,#17203305),url(/school/mi-liceo-signage.jpg) 50%/cover}.module-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;display:grid}.module-card{border:1px solid var(--line);background:#fff;border-radius:8px;align-content:start;gap:10px;min-height:158px;padding:16px;transition:border-color .16s,transform .16s,box-shadow .16s;display:grid;box-shadow:0 10px 24px #1720330a}a.module-card:hover{box-shadow:var(--shadow);border-color:#b8d6ea;transform:translateY(-1px)}.module-card strong{font-size:18px}.module-card p{color:var(--muted);margin:0;line-height:1.45}.total-box{border:1px solid var(--line);background:#fff;border-radius:8px;gap:6px;min-width:230px;padding:14px 16px;display:grid}.total-box span{color:var(--muted);font-size:13px}.total-box strong{font-size:24px}.quick-form{border:1px solid var(--line);background:linear-gradient(#fff,#fbfcfe);border-radius:8px;grid-template-columns:repeat(4,minmax(0,1fr)) auto;align-items:end;gap:12px;padding:16px;display:grid;box-shadow:0 10px 24px #1720330a}.quick-form.compact{grid-template-columns:minmax(180px,.8fr) minmax(220px,1.4fr) minmax(190px,.8fr) auto}.quick-form.report-form{grid-template-columns:minmax(180px,.8fr) minmax(260px,1.3fr) minmax(260px,1.3fr) auto}.quick-form.billing-form{grid-template-columns:minmax(180px,1fr) minmax(180px,1fr) repeat(5,minmax(118px,.7fr)) auto}.quick-form label{color:var(--muted);gap:6px;font-size:12px;font-weight:800;display:grid}.quick-form input,.quick-form select{border:1px solid var(--line);width:100%;min-height:40px;color:var(--ink);font:inherit;background:#fff;border-radius:7px;padding:0 11px}.quick-form input:focus,.quick-form select:focus,.field input:focus,.component-row input:focus,.attendance-actions input:focus,.date-filter input:focus{border-color:var(--brand);outline:none;box-shadow:0 0 0 3px #006aa61f}.toolbar{justify-content:space-between;align-items:center;gap:16px;display:flex}.table{border-collapse:separate;border-spacing:0;border:1px solid var(--line);background:#fff;border-radius:8px;width:100%;overflow:hidden;box-shadow:0 10px 24px #1720330a}.table th,.table td{border-bottom:1px solid var(--line);text-align:left;vertical-align:top;padding:14px}.table th{color:var(--muted);background:#f8fafc;font-size:13px}.table tbody tr:hover td{background:#fbfdff}.table tr:last-child td{border-bottom:0}.status{color:#344054;background:#edf2f7;border-radius:999px;align-items:center;min-height:26px;padding:0 9px;font-size:12px;font-weight:800;display:inline-flex}.status.success,.status.active,.status.paid,.status.published{color:var(--success);background:#e7f6ee}.status.pending,.status.draft{color:#8a5a00;background:#fff4d8}.status.overdue,.status.rejected,.status.closed{color:var(--danger);background:#feeceb}.row-note{color:var(--muted);margin-top:4px;font-size:13px;display:block}.row-actions{flex-wrap:wrap;gap:6px;display:flex}.mini-button{border:1px solid var(--success);min-height:28px;color:var(--success);cursor:pointer;background:#e7f6ee;border-radius:7px;justify-content:center;align-items:center;padding:0 8px;font-weight:800;display:inline-flex}.link-button{text-decoration:none}.mini-button.muted{color:var(--danger);background:#fff8f7;border-color:#f4c7c3}.mini-button.warn{color:#8a5a00;background:#fffaf0;border-color:#f2d7a8}.mini-button.neutral{border-color:var(--line);color:#475467;background:#f8fafc}.config-section{gap:12px;padding:16px 0;display:grid}.section-heading{justify-content:space-between;align-items:center;gap:16px;display:flex}.component-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.component-panel{border-top:1px solid var(--line);gap:10px;padding:12px 0;display:grid}.component-panel-header{justify-content:space-between;align-items:center;gap:12px;display:flex}.component-row{grid-template-columns:minmax(120px,1fr) 92px 82px auto;align-items:end;gap:8px;display:grid}.component-row label{color:var(--muted);gap:5px;font-size:12px;font-weight:800;display:grid}.component-row input{border:1px solid var(--line);width:100%;min-height:34px;color:var(--ink);font:inherit;border-radius:7px;padding:0 9px}.attendance-actions{grid-template-columns:minmax(140px,1fr) repeat(4,auto);align-items:center;gap:6px;display:grid}.attendance-actions input,.date-filter input{border:1px solid var(--line);min-height:34px;font:inherit;border-radius:7px;padding:0 9px}.date-filter{align-items:center;gap:8px;display:flex}.status.absent{color:var(--danger);background:#feeceb}.status.late{color:#8a5a00;background:#fff4d8}.status.excused{color:#344054;background:#edf2f7}@media (max-width:860px){.app-shell{grid-template-columns:1fr}.sidebar{grid-template-rows:auto;min-height:auto}.side-nav{grid-template-columns:repeat(2,minmax(0,1fr))}.hero{grid-template-columns:1fr}.nav{display:none}.metric-grid,.module-grid,.client-brief,.identity-hero,.identity-card,.finance-strip,.task-guide,.ops-board,.ops-list,.login-shell,.quick-form,.quick-form.compact,.quick-form.report-form,.quick-form.billing-form,.component-grid,.component-row{grid-template-columns:1fr}.login-story{min-height:auto}.topbar-actions{flex-wrap:wrap}.page-header,.app-topbar,.date-filter{flex-direction:column;align-items:stretch}.attendance-actions{grid-template-columns:1fr 1fr}}@media (max-width:1180px) and (min-width:861px){.module-grid,.ops-list{grid-template-columns:repeat(2,minmax(0,1fr))}.quick-form.billing-form{grid-template-columns:repeat(3,minmax(0,1fr))}}.premium-header{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#ffffffb3;border:1px solid #fff6;border-radius:16px;justify-content:space-between;align-items:center;margin-bottom:24px;padding:24px;display:flex;box-shadow:0 8px 32px #1f26870d}.premium-title h1{background:linear-gradient(135deg, var(--brand), var(--pink));-webkit-text-fill-color:transparent;letter-spacing:-.5px;-webkit-background-clip:text;font-weight:900}.student-grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:24px;display:grid}.student-card{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffffd9;border:1px solid #fffc;border-radius:16px;padding:24px;transition:all .3s cubic-bezier(.25,.8,.25,1);position:relative;overflow:hidden;box-shadow:0 4px 16px #0000000a}.student-card:before{content:"";background:linear-gradient(90deg, var(--brand), var(--accent));opacity:0;width:100%;height:4px;transition:opacity .3s;position:absolute;top:0;left:0}.student-card:hover{transform:translateY(-4px);box-shadow:0 12px 32px #00000014}.student-card:hover:before{opacity:1}.student-card-header{align-items:center;gap:16px;margin-bottom:16px;display:flex}.student-avatar{width:56px;height:56px;color:var(--brand);background:linear-gradient(135deg,#e7f2fa,#fff0f6);border:2px solid #fff;border-radius:16px;place-items:center;font-size:20px;font-weight:800;display:grid;box-shadow:0 4px 10px #0000000d}.student-info h3{color:var(--ink);margin:0;font-size:18px}.student-info p{color:var(--muted);margin:4px 0 0;font-size:13px}.student-meta{border-top:1px dashed var(--line);grid-template-columns:1fr 1fr;gap:12px;padding-top:16px;display:grid}.meta-item{flex-direction:column;gap:4px;display:flex}.meta-label{text-transform:uppercase;letter-spacing:.5px;color:var(--muted);font-size:11px;font-weight:700}.meta-value{color:var(--ink);font-size:14px;font-weight:600}.glow-button{background:linear-gradient(135deg, var(--brand), #004a7c);color:#fff;cursor:pointer;border:none;border-radius:999px;padding:12px 24px;font-weight:700;transition:all .2s;box-shadow:0 4px 15px #006aa64d}.glow-button:hover{transform:translateY(-2px);box-shadow:0 6px 20px #006aa666}.glass-panel{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#fff9;border:1px solid #fffc;border-radius:20px;margin-bottom:32px;padding:32px;box-shadow:0 20px 40px #0000000d}.form-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;display:grid}.input-premium{background:#ffffffe6;border:1px solid #0000000d;border-radius:12px;padding:12px 16px;font-size:14px;transition:all .2s;box-shadow:inset 0 2px 4px #00000005}.input-premium:focus{border-color:var(--brand);background:#fff;outline:none;box-shadow:0 0 0 3px #006aa626}.portal-login-page{min-height:100vh;color:var(--ink);background:linear-gradient(176deg,#fff0f6eb 0%,#e7f2fadb 34%,#fff 35%),linear-gradient(135deg,#fff 0%,#f8fbff 100%);place-items:center;padding:32px;display:grid;position:relative;overflow:hidden}.portal-login-page:before{content:"";pointer-events:none;background-color:#0000;background-image:linear-gradient(90deg,#006aa60f 1px,#0000 1px),linear-gradient(0deg,#006aa60d 1px,#0000 1px);background-position:0 0,0 0;background-repeat:repeat,repeat;background-size:56px 56px;background-attachment:scroll,scroll;background-origin:padding-box,padding-box;background-clip:border-box,border-box;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#00000080,#0000 54%);mask-image:linear-gradient(#00000080,#0000 54%)}.portal-login-page:after{content:"";pointer-events:none;background:#fde0477a;border-radius:999px;width:360px;height:360px;position:absolute;top:-120px;right:-80px;box-shadow:0 26px 80px #f2b94b33}.portal-login-card{z-index:1;background:#fffffff2;border:1px solid #d8e1edf2;border-radius:30px;grid-template-columns:minmax(0,1.08fr) minmax(420px,.92fr);width:min(1120px,100%);display:grid;position:relative;overflow:hidden;box-shadow:0 34px 90px #17203329}.portal-story-panel{background:linear-gradient(145deg,#006aa61f,#f03f751f),linear-gradient(#fff 0%,#eef8ff 100%);flex-direction:column;gap:32px;min-height:640px;padding:42px;display:flex;position:relative}.portal-story-panel:after{content:"";background:linear-gradient(90deg, var(--pink), #13a0d8, var(--accent));opacity:.88;border-radius:999px;height:5px;position:absolute;bottom:36px;left:42px;right:42px}.portal-brand-link{width:fit-content;color:inherit;align-items:center;gap:13px;text-decoration:none;display:inline-flex}.portal-brand-mark{background:#fff;border:1px solid #d8e1ede6;border-radius:18px;place-items:center;width:54px;height:54px;display:grid;box-shadow:0 14px 26px #17203317}.portal-brand-copy{flex-direction:column;gap:2px;display:flex}.portal-brand-copy strong{color:#111827;font-size:18px;font-weight:900}.portal-brand-copy small{color:var(--brand);text-transform:uppercase;letter-spacing:.04em;font-size:12px;font-weight:800}.portal-story-copy{max-width:520px;margin-top:auto}.portal-login-pill{color:#b77900;text-transform:uppercase;letter-spacing:.03em;background:#fff3c4;border-radius:999px;align-items:center;gap:8px;width:fit-content;padding:8px 14px;font-size:12px;font-weight:900;display:inline-flex}.portal-story-copy h1,.portal-form-heading h2{color:#0f172a;letter-spacing:0;margin:16px 0 0;font-weight:950;line-height:1}.portal-story-copy h1{max-width:560px;font-size:clamp(38px,5vw,64px)}.portal-story-copy p,.portal-form-heading p{color:#48586f;font-weight:650;line-height:1.65}.portal-story-copy p{max-width:560px;margin:20px 0 0;font-size:17px}.portal-preview{background:#ffffffe0;border:1px solid #d8e1edf2;border-radius:24px;margin-top:auto;padding:22px;box-shadow:0 22px 52px #1720331a}.portal-preview-header{border-bottom:1px dashed #66758a42;justify-content:space-between;align-items:center;gap:16px;padding-bottom:16px;display:flex}.portal-preview-header div{gap:4px;display:grid}.portal-preview-header span,.portal-preview-grid span,.portal-demo-heading span,.portal-demo-grid span{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-size:12px;font-weight:850}.portal-preview-header strong{color:#0f172a;font-size:18px;font-weight:950}.portal-status-dot{white-space:nowrap;background:#d9fbe8;border-radius:999px;padding:8px 12px;color:#177245!important}.portal-preview-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:16px;display:grid}.portal-preview-grid div{background:#f8fbff;border:1px solid #d8e1edbf;border-radius:18px;min-width:0;padding:16px}.portal-preview-grid div:first-child{background:#fff7e2}.portal-preview-grid div:nth-child(2){background:#eaf8ff}.portal-preview-grid div:nth-child(3){background:#fff0f6}.portal-preview-grid strong{color:#0f172a;letter-spacing:0;margin-top:8px;font-size:30px;font-weight:950;display:block}.portal-trust-strip{flex-wrap:wrap;gap:10px;padding-bottom:20px;display:flex}.portal-trust-strip span{color:#34445c;background:#ffffffb3;border:1px solid #d8e1edb3;border-radius:999px;padding:9px 12px;font-size:12px;font-weight:850}.portal-form-panel{background:#fff;border-left:1px solid #d8e1edcc;flex-direction:column;justify-content:center;padding:42px;display:flex}.portal-form-topline{color:var(--muted);justify-content:space-between;align-items:center;gap:14px;margin-bottom:36px;font-size:13px;font-weight:850;display:flex}.portal-back-link{color:var(--brand);font-weight:900;text-decoration:none}.portal-form-heading{margin-bottom:30px}.portal-form-heading h2{font-size:clamp(30px,4vw,42px)}.portal-form-heading p{margin:12px 0 0;font-size:15px}.portal-login-form{gap:18px;display:grid}.portal-field{gap:9px;display:grid}.portal-field>span{color:#34445c;justify-content:space-between;align-items:center;gap:12px;font-size:13px;font-weight:900;display:flex}.portal-field a{color:var(--brand);font-size:12px;font-weight:900;text-decoration:none}.portal-field input{color:#0f172a;width:100%;min-height:56px;font:inherit;background:#fff;border:2px solid #d9e5f2;border-radius:16px;outline:none;padding:0 17px;font-size:15px;font-weight:700;box-shadow:inset 0 1px #17203308,0 8px 22px #1720330a}.portal-field input::placeholder{color:#8fa0b7;font-weight:650}.portal-field input:focus{border-color:var(--brand);box-shadow:0 0 0 4px #006aa621,0 12px 24px #17203314}.portal-submit-button{cursor:pointer;color:#fff;background:linear-gradient(135deg, var(--pink), #d81b74);border:0;border-radius:16px;min-height:58px;font-size:16px;font-weight:950;box-shadow:0 16px 34px #f03f7557}.portal-demo-access{background:#f8fbff;border:1px solid #d8e1edf2;border-radius:22px;margin-top:30px;padding:20px}.portal-demo-heading{gap:4px;margin-bottom:14px;display:grid}.portal-demo-heading strong{color:#0f172a;font-size:15px;font-weight:950}.portal-demo-grid{gap:10px;display:grid}.portal-demo-grid div{background:#fff;border:1px solid #d8e1edd9;border-radius:14px;gap:4px;min-width:0;padding:13px 14px;display:grid}.portal-demo-grid strong{color:#142033;overflow-wrap:anywhere;font-size:14px;font-weight:900}.portal-demo-grid small{color:var(--brand);font-size:12px;font-weight:900}@media (max-width:920px){.portal-login-page{place-items:start center;padding:18px}.portal-login-card{border-radius:24px;grid-template-columns:1fr}.portal-story-panel{min-height:auto;padding:28px}.portal-story-panel:after{bottom:24px;left:28px;right:28px}.portal-story-copy{margin-top:18px}.portal-preview-grid{grid-template-columns:1fr}.portal-form-panel{border-top:1px solid #d8e1edcc;border-left:0;padding:28px}.portal-form-topline{margin-bottom:24px}}@media (max-width:560px){.portal-login-page{padding:10px}.portal-login-card{border-radius:20px}.portal-story-panel,.portal-form-panel{padding:22px}.portal-story-copy h1{font-size:36px}.portal-form-topline,.portal-field>span{flex-direction:column;align-items:flex-start}}.home-page{min-height:100vh;color:var(--ink);background:linear-gradient(176deg,#fff0f6e6 0%,#e7f2fadb 30%,#fff 31%),#fff;position:relative;overflow-x:hidden}.home-page:before{content:"";pointer-events:none;background-color:#0000;background-image:linear-gradient(90deg,#006aa60d 1px,#0000 1px),linear-gradient(0deg,#006aa60d 1px,#0000 1px);background-position:0 0,0 0;background-repeat:repeat,repeat;background-size:58px 58px;background-attachment:scroll,scroll;background-origin:padding-box,padding-box;background-clip:border-box,border-box;height:420px;position:absolute;inset:0 0 auto;-webkit-mask-image:linear-gradient(#0000007a,#0000);mask-image:linear-gradient(#0000007a,#0000)}.home-page:after{content:"";pointer-events:none;background:#fde04780;border-radius:999px;width:330px;height:330px;position:absolute;top:-105px;right:-70px}.home-header{z-index:2;justify-content:space-between;align-items:center;gap:24px;width:min(1180px,100% - 48px);margin:0 auto;padding:24px 0;display:flex;position:relative}.home-brand{color:#0f172a;align-items:center;gap:12px;text-decoration:none;display:inline-flex}.home-brand span{color:#fff;background:linear-gradient(135deg, var(--pink), #d81b74);border-radius:13px;place-items:center;width:40px;height:40px;font-size:20px;font-weight:950;display:grid;box-shadow:0 12px 24px #f03f753d}.home-brand strong{letter-spacing:0;font-size:22px;font-weight:950}.home-nav{align-items:center;gap:28px;font-size:14px;font-weight:850;display:flex}.home-nav a{color:#34445c;text-decoration:none}.home-nav a:last-child{color:#fff;background:linear-gradient(135deg, #0088c9, var(--brand));border-radius:999px;padding:11px 24px;box-shadow:0 12px 24px #006aa63b}.home-hero{z-index:1;grid-template-columns:minmax(0,.95fr) minmax(420px,1.05fr);align-items:center;gap:54px;width:min(1180px,100% - 48px);margin:0 auto;padding:80px 0 78px;display:grid;position:relative}.home-hero-copy{justify-items:start;display:grid}.home-pill{color:#b77900;text-transform:uppercase;letter-spacing:.03em;background:#fff3c4;border-radius:999px;align-items:center;width:fit-content;padding:8px 14px;font-size:12px;font-weight:950;display:inline-flex}.home-hero h1,.home-section-heading h2,.home-demo-band h2{color:#0f172a;letter-spacing:0;margin:18px 0 0;font-weight:950;line-height:.98}.home-hero h1{max-width:680px;font-size:clamp(48px,6vw,78px)}.home-hero p,.home-section-heading p,.home-demo-band p{color:#48586f;font-weight:650;line-height:1.65}.home-hero p{max-width:620px;margin:24px 0 0;font-size:18px}.home-actions{flex-wrap:wrap;gap:14px;margin-top:34px;display:flex}.home-primary-action,.home-secondary-action,.home-demo-band>a{border-radius:999px;justify-content:center;align-items:center;min-height:50px;padding:0 28px;font-size:15px;font-weight:950;text-decoration:none;display:inline-flex}.home-primary-action,.home-demo-band>a{color:#fff;background:linear-gradient(135deg, var(--pink), #d81b74);box-shadow:0 16px 30px #f03f7547}.home-secondary-action{color:var(--brand);background:#e7f6ff}.home-visual{min-height:620px;position:relative}.home-photo-card{background:#e7f2fa;border:1px solid #d8e1edf2;border-radius:30px;position:absolute;inset:0 30px 96px 0;overflow:hidden;box-shadow:0 34px 90px #17203326}.home-photo-card img{object-fit:cover}.home-photo-card:after{content:"";background:linear-gradient(#0f172a05,#0f172a61);position:absolute;inset:0}.home-floating-panel{background:#fffffff0;border:1px solid #d8e1edf2;border-radius:26px;width:min(460px,100% - 18px);padding:22px;position:absolute;bottom:0;right:0;box-shadow:0 24px 70px #1720332b}.home-floating-school{border-bottom:1px dashed #66758a47;align-items:center;gap:13px;padding-bottom:16px;display:flex}.home-floating-school img{border-radius:14px}.home-floating-school div{gap:3px;display:grid}.home-floating-school strong{color:#0f172a;font-size:18px;font-weight:950}.home-floating-school span{color:var(--brand);text-transform:uppercase;font-size:12px;font-weight:950}.home-mini-metrics{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:16px;display:grid}.home-mini-metrics span{min-width:0;color:var(--muted);text-transform:uppercase;background:#f8fbff;border:1px solid #d8e1edbf;border-radius:17px;padding:14px;font-size:11px;font-weight:850}.home-mini-metrics span:first-child{background:#eaf8ff}.home-mini-metrics span:nth-child(2){background:#fff7e2}.home-mini-metrics span:nth-child(3){background:#fff0f6}.home-mini-metrics strong{color:#0f172a;margin-bottom:5px;font-size:26px;font-weight:950;display:block}.home-section{z-index:1;width:min(1180px,100% - 48px);margin:0 auto;padding:76px 0;position:relative}.home-section-heading{text-align:center;justify-items:center;max-width:720px;margin:0 auto 38px;display:grid}.home-section-heading h2,.home-demo-band h2{font-size:clamp(34px,4vw,52px)}.home-section-heading p,.home-demo-band p{max-width:660px;margin:16px 0 0;font-size:16px}.tenant-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;display:grid}.tenant-card{min-width:0;min-height:292px;color:inherit;background:#fff;border:1px solid #d8e1edf2;border-radius:24px;align-content:start;gap:9px;padding:24px;text-decoration:none;display:grid;position:relative;box-shadow:0 18px 42px #17203314}.tenant-card:hover{transform:translateY(-4px);box-shadow:0 24px 58px #1720331f}.tenant-status{color:#177245;text-transform:uppercase;background:#d9fbe8;border-radius:999px;width:fit-content;margin-left:auto;padding:7px 11px;font-size:11px;font-weight:950}.tenant-logo{background:#f8fbff;border:1px solid #d8e1ede6;border-radius:18px;place-items:center;width:58px;height:58px;display:grid}.tenant-card strong{color:#0f172a;margin-top:8px;font-size:22px;font-weight:950}.tenant-card small{color:var(--muted);font-size:14px;font-weight:700}.tenant-meta{flex-wrap:wrap;gap:8px;margin-top:14px;display:flex}.tenant-meta span{color:#34445c;background:#f8fbff;border-radius:999px;padding:8px 10px;font-size:12px;font-weight:850}.tenant-enter{color:var(--brand);margin-top:auto;font-size:14px;font-weight:950}.home-modules{padding-top:40px}.home-module-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;display:grid}.home-module-card{background:#fff;border:1px solid #d8e1edf2;border-radius:22px;min-width:0;padding:24px;box-shadow:0 16px 38px #1720330f}.home-module-card span{color:var(--brand);text-transform:uppercase;background:#e7f6ff;border-radius:999px;padding:7px 10px;font-size:11px;font-weight:950;display:inline-flex}.home-module-card h3{color:#0f172a;margin:18px 0 10px;font-size:19px;font-weight:950}.home-module-card p{color:#5a6b82;margin:0;font-size:14px;font-weight:650;line-height:1.58}.home-demo-band{z-index:1;color:#fff;background:linear-gradient(135deg,#0f172a,#1f3148);border-radius:30px;justify-content:space-between;align-items:center;gap:32px;width:min(1180px,100% - 48px);margin:34px auto 78px;padding:38px;display:flex;position:relative;box-shadow:0 28px 70px #1720332e}.home-demo-band h2{color:#fff}.home-demo-band p{color:#ffffffc2}.home-footer{width:min(1180px,100% - 48px);color:var(--muted);border-top:1px solid #d8e1edf2;justify-content:space-between;gap:16px;margin:0 auto;padding:30px 0 42px;font-size:13px;font-weight:850;display:flex}@media (max-width:980px){.home-header,.home-hero,.home-section,.home-demo-band,.home-footer{width:min(100% - 32px,720px)}.home-header{flex-direction:column;align-items:flex-start}.home-nav{flex-wrap:wrap;gap:12px;width:100%}.home-nav a{background:#ffffff9e;border-radius:999px;padding:9px 12px}.home-hero{grid-template-columns:1fr;padding-top:46px}.home-visual{min-height:560px}.tenant-grid,.home-module-grid{grid-template-columns:1fr 1fr}.home-demo-band{flex-direction:column;align-items:flex-start}}@media (max-width:640px){.home-header,.home-hero,.home-section,.home-demo-band,.home-footer{width:calc(100% - 20px)}.home-hero h1{font-size:44px}.home-visual{min-height:520px}.home-photo-card{border-radius:24px;inset:0 0 132px}.home-floating-panel{width:100%}.home-mini-metrics,.tenant-grid,.home-module-grid{grid-template-columns:1fr}.home-section{padding:54px 0}.home-demo-band{border-radius:24px;padding:26px}.home-footer{flex-direction:column}}
