/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-border-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.relative{position:relative}.static{position:static}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.block{display:block}.hidden{display:none}.inline{display:inline}.table{display:table}.border{border-style:var(--tw-border-style);border-width:1px}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}}@font-face{font-family:Nunito Sans;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/nunito-sans-400.ttf)format("truetype")}@font-face{font-family:Nunito Sans;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/nunito-sans-600.ttf)format("truetype")}@font-face{font-family:Nunito Sans;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/nunito-sans-700.ttf)format("truetype")}@font-face{font-family:Nunito Sans;font-style:normal;font-weight:800;font-display:swap;src:url(/fonts/nunito-sans-800.ttf)format("truetype")}:root{--navy:#0b1f3a;--navy-deep:#06172d;--cobalt:#246bfd;--cobalt-deep:#1457e6;--lime:#b8e63d;--ink:#172033;--muted:#6f7c91;--border:#dde6f2;--surface:#fff;--canvas:#f5f8fc;--pale-blue:#eaf1ff}*{box-sizing:border-box}html{background:var(--canvas)}body{background:var(--canvas);color:var(--ink);margin:0;font-family:Nunito Sans,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}button,input{font:inherit}button{cursor:pointer}a{text-decoration:none}.access-shell{background:radial-gradient(circle at 18% 10%,#b8e63d33,#0000 28%),radial-gradient(circle at 85% 5%,#246bfd29,#0000 32%),linear-gradient(145deg,#edf4ff 0%,#f8fbff 55%,#eff5fb 100%);place-items:center;min-height:100vh;padding:28px;display:grid}.access-card{background:#fffffff5;border:1px solid #c5d6ede6;border-radius:24px;width:min(100%,520px);padding:38px;position:relative;overflow:hidden;box-shadow:0 28px 80px #08224524}.access-brand{width:fit-content;color:var(--navy);align-items:center;gap:14px;margin-bottom:52px;display:flex}.access-brand img{border-radius:50%;flex:none;width:62px;height:62px;box-shadow:0 8px 22px #08224526}.access-brand div{gap:3px;display:grid}.access-brand span{letter-spacing:.08em;font-size:27px;font-weight:860}.access-brand small{color:#55708f;letter-spacing:.04em;text-transform:uppercase;font-size:10px;font-weight:750}.access-fivy{width:118px;height:142px;position:absolute;top:4px;right:15px;overflow:hidden}.access-fivy img{width:130px;max-width:none;transform:translate(-4px,-3px)}.access-card h1{color:#0c284b;letter-spacing:-.045em;max-width:390px;margin:7px 0 12px;font-size:clamp(29px,6vw,40px);font-weight:850;line-height:1.04}.access-card>p:not(.eyebrow){color:#66758a;max-width:430px;margin:0;font-size:14px;line-height:1.65}.access-email{color:#1b4f91;background:#f5f9ff;border:1px solid #d8e4f3;border-radius:11px;align-items:center;gap:9px;margin-top:18px;padding:12px 14px;font-size:12px;font-weight:750;display:flex}.access-main-action{width:100%;margin-top:22px}.access-login-form{gap:14px;margin-top:22px;display:grid}.access-login-form label{color:#34445d;gap:7px;font-size:11px;font-weight:750;display:grid}.access-login-form input{width:100%;min-height:46px;color:var(--ink);background:#fff;border:1px solid #cad8ea;border-radius:11px;outline:none;padding:0 14px}.access-login-form input:focus{border-color:var(--cobalt);box-shadow:0 0 0 3px #246bfd1f}.access-login-form .access-main-action{margin-top:4px}.access-owner-entry{border-top:1px solid #e4ebf4;gap:9px;margin-top:18px;padding-top:18px;display:grid}.access-owner-entry>span{color:#6b7f98;letter-spacing:.06em;text-align:center;text-transform:uppercase;font-size:10px;font-weight:800}.access-owner-entry .ghost-button{justify-content:center;width:100%}.access-error{color:#a8373c;background:#fff5f5;border:1px solid #f0caca;border-radius:10px;padding:10px 12px;font-size:11px;line-height:1.45}.access-help{color:#8794a6;text-align:center;margin-top:13px;font-size:10px;line-height:1.5;display:block}.access-verification-shell{background:radial-gradient(circle at 16% 12%,#b8e63d2e,#0000 30%),radial-gradient(circle at 86% 8%,#246bfd26,#0000 32%),linear-gradient(145deg,#edf4ff 0%,#f9fbff 58%,#eff5fb 100%);place-items:center;min-height:100vh;padding:24px;display:grid}.access-verification-card{text-align:center;background:#fffffff7;border:1px solid #c5d6ede6;border-radius:24px;width:min(100%,470px);padding:36px;box-shadow:0 28px 80px #08224524}.access-verification-brand{color:var(--navy);text-align:left;justify-content:center;align-items:center;gap:12px;margin-bottom:32px;display:flex}.access-verification-brand img{border-radius:50%;width:58px;height:58px;box-shadow:0 8px 22px #08224526}.access-verification-brand div{gap:3px;display:grid}.access-verification-brand strong{letter-spacing:-.02em;font-size:19px;font-weight:850}.access-verification-brand span{color:#647891;letter-spacing:.07em;text-transform:uppercase;font-size:10px;font-weight:750}.access-verification-icon{width:66px;height:66px;color:var(--cobalt);background:#edf4ff;border:1px solid #cbdaf0;border-radius:20px;place-items:center;margin:0 auto 22px;display:grid;box-shadow:0 12px 30px #246bfd1f}.access-verification-icon.is-loading{color:#416b9e}.access-verification-card h1{color:#0c284b;letter-spacing:-.04em;margin:8px 0 12px;font-size:clamp(27px,6vw,36px);font-weight:850;line-height:1.08}.access-verification-card>p:not(.eyebrow){color:#66758a;max-width:390px;margin:0 auto;font-size:14px;line-height:1.65}.access-verification-card>small{color:#8b98a9;margin-top:22px;font-size:10px;line-height:1.5;display:block}.access-verification-retry{justify-content:center;width:100%;margin-top:24px}.crm-shell{background:radial-gradient(circle at 76% -10%, #246bfd14, transparent 32%), var(--canvas);min-height:100vh}.sidebar{z-index:30;color:#fff;background:radial-gradient(circle at 0 0, #246bfd3d, transparent 28%), linear-gradient(180deg, #0a294d 0%, var(--navy-deep) 100%);flex-direction:column;width:236px;display:flex;position:fixed;inset:0 auto 0 0;overflow-y:auto;box-shadow:12px 0 34px #091e3a14}.brand{align-items:center;gap:15px;min-height:136px;padding:24px 20px 18px;display:flex}.brand-logo-frame{background:#ffffff0f;border:1px solid #ffffff2e;border-radius:50%;flex:none;place-items:center;width:82px;height:82px;display:grid;box-shadow:0 14px 30px #0210243d}.brand-logo{border-radius:50%;width:74px;height:74px;display:block}.brand-copy{gap:5px;min-width:0;display:grid}.brand-crm{color:var(--lime);letter-spacing:.09em;font-size:28px;font-weight:850;line-height:1}.brand-copy small{color:#ffffffc2;letter-spacing:.08em;text-transform:uppercase;font-size:9px;font-weight:750;line-height:1.35}.sidebar-nav{scrollbar-color:#ffffff52 transparent;scrollbar-width:thin;flex-direction:column;flex:auto;gap:3px;min-height:0;padding:12px;display:flex;overflow-y:auto}.nav-item{color:#ffffffd6;text-align:left;background:0 0;border:0;border-radius:11px;align-items:center;gap:14px;width:100%;min-height:50px;padding:0 16px;font-size:14px;font-weight:600;transition:background .18s,color .18s,transform .18s;display:flex;position:relative}.nav-item:hover{color:#fff;background:#ffffff14}.nav-item.is-active{color:#fff;background:linear-gradient(135deg,#2879ff 0%,#1264f7 100%);box-shadow:0 10px 24px #005cff3b}.nav-item.is-active:before{background:var(--lime);content:"";border-radius:999px;width:4px;position:absolute;inset:8px auto 8px 0}.admin-dot{background:var(--lime);border-radius:50%;width:7px;height:7px;margin-left:auto;box-shadow:0 0 0 3px #b8e63d1f}.sidebar-fivy{background:#ffffff12;border:1px solid #ffffff24;border-radius:14px;align-items:center;gap:8px;margin:auto 15px 18px;padding:9px 10px;display:flex;overflow:hidden}.sidebar-fivy p{color:#ffffffb8;margin:0;font-size:11px;font-weight:650;line-height:1.3}.fivy-crop{background:#fff;border-radius:12px;flex:none;width:45px;height:45px;overflow:hidden}.fivy-crop img{object-fit:cover;object-position:55% 18%;width:45px;height:51px}.workspace{min-height:100vh;margin-left:236px}.topbar{z-index:20;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#f8fbffe0;border-bottom:1px solid #dde6f2b8;align-items:center;gap:22px;min-height:74px;padding:12px clamp(24px,3.3vw,52px);display:flex;position:sticky;top:0}.global-search{color:#8895a8;align-items:center;gap:10px;width:min(410px,40vw);display:flex}.global-search input{width:100%;color:var(--ink);background:0 0;border:0;outline:0;padding:10px 0;font-size:13px}.global-search input::placeholder{color:#98a4b5}.topbar-actions{align-items:center;gap:12px;margin-left:auto;display:flex}.icon-button,.mobile-menu{border:1px solid var(--border);color:#4d5a6e;background:#fff;border-radius:12px;place-items:center;width:41px;height:41px;display:grid;position:relative}.notification-dot{background:#ff6b55;border:2px solid #fff;border-radius:50%;width:6px;height:6px;position:absolute;top:9px;right:9px}.notification-wrap{position:relative}.notification-popover{z-index:45;border:1px solid var(--border);background:#fff;border-radius:18px;width:min(390px,100vw - 28px);max-height:min(520px,100vh - 100px);padding:10px;position:absolute;top:calc(100% + 12px);right:0;overflow-y:auto;box-shadow:0 22px 60px #06172d2e}.notification-heading{border-bottom:1px solid #edf2f8;justify-content:space-between;align-items:center;padding:10px 9px 13px;display:flex}.notification-heading div{gap:2px;display:grid}.notification-heading strong{font-size:14px}.notification-heading small{color:var(--muted);font-size:11px}.notification-heading>span{color:#174dba;background:var(--pale-blue);border-radius:999px;place-items:center;min-width:28px;height:28px;font-size:12px;font-weight:800;display:grid}.notification-item{width:100%;color:var(--ink);text-align:left;background:0 0;border:0;border-bottom:1px solid #f0f3f8;align-items:flex-start;gap:11px;padding:12px 10px;display:flex}.notification-item:hover{background:#f7faff;border-radius:12px}.notification-item>svg{color:var(--cobalt);flex:none;margin-top:2px}.notification-item.birthday>svg{color:#8a54dc}.notification-item.appointment>svg{color:#6845c6}.notification-item>span{gap:3px;display:grid}.notification-item strong{font-size:12px;line-height:1.35}.notification-item small{color:var(--muted);font-size:11px}.notification-empty{color:var(--muted);text-align:center;margin:0;padding:26px 14px;font-size:12px}.notification-more{width:100%;color:var(--cobalt-deep);background:0 0;border:0;padding:11px;font-size:12px;font-weight:750}.device-notification-control{border-top:1px solid #edf2f8;gap:7px;margin-top:8px;padding:11px 9px 5px;display:grid}.device-notification-control button{color:#183f91;background:#eef4ff;border:1px solid #cbd9f4;border-radius:11px;justify-content:center;align-items:center;gap:8px;min-height:40px;padding:9px 12px;font-size:12px;font-weight:800;display:flex}.device-notification-control button:disabled{cursor:default;color:#356950;opacity:1;background:#edf8f2;border-color:#c5e5d3}.device-notification-control small{color:var(--muted);text-align:center;font-size:10px;line-height:1.45}.role-menu-wrap{position:relative}.role-button{border:1px solid var(--border);min-height:46px;color:var(--ink);background:#fff;border-radius:12px;align-items:center;gap:10px;padding:6px 12px 6px 8px;display:flex;box-shadow:0 4px 16px #0e244408}.role-button>span:nth-child(2){text-align:left;gap:1px;min-width:90px;display:grid}.role-button strong{font-size:12px}.role-button small{color:var(--muted);font-size:10px}.shield-dot{width:30px;height:30px;color:var(--cobalt);background:var(--pale-blue);border-radius:9px;place-items:center;display:grid}.role-popover{border:1px solid var(--border);background:#fff;border-radius:14px;width:230px;padding:16px;position:absolute;top:calc(100% + 8px);right:0;box-shadow:0 18px 46px #0b1f3a29}.role-popover p{margin:0 0 4px;font-size:13px;font-weight:750}.role-popover span{color:var(--muted);font-size:11px;line-height:1.5}.role-logout{color:#31577f;background:#f8fbff;border:1px solid #d8e3f0;border-radius:9px;justify-content:center;align-items:center;gap:7px;width:100%;min-height:36px;margin-top:12px;font-size:10px;font-weight:750;display:flex}.role-photo-upload{color:#244f91;cursor:pointer;background:#eef4ff;border:1px solid #cbd9f4;border-radius:9px;justify-content:center;align-items:center;gap:7px;min-height:36px;margin-top:12px;font-size:10px;font-weight:800;display:flex}.role-photo-upload input,.member-photo-action input{display:none}.avatar{color:#173970;background:#d8e6ff;border-radius:50%;place-items:center;width:42px;height:42px;font-size:14px;font-weight:750;display:grid}.avatar.has-photo,.member-photo.has-photo,.teacher-avatar.has-photo{background:#e8eef8;overflow:hidden}.avatar img,.member-photo img,.teacher-avatar img{object-fit:cover;width:100%;height:100%}.mobile-menu{display:none}.content{max-width:1500px;margin:0 auto;padding:38px clamp(24px,3.3vw,52px) 32px}.welcome-row{justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:28px;display:flex}.eyebrow{color:var(--cobalt);letter-spacing:.14em;text-transform:uppercase;margin:0 0 7px;font-size:10px;font-weight:800}.welcome-row h1{color:#0e2242;letter-spacing:-.045em;margin:0;font-size:clamp(36px,3.5vw,54px);font-weight:820;line-height:1.04}.welcome-copy{color:var(--muted);margin:10px 0 0;font-size:14px}.primary-button,.secondary-button,.ghost-button{border-radius:11px;justify-content:center;align-items:center;gap:10px;min-height:48px;font-weight:700;transition:transform .18s,box-shadow .18s,background .18s;display:inline-flex}.primary-button{border:1px solid var(--cobalt);color:#fff;background:linear-gradient(135deg,#2a76ff,#1264f7);padding:0 22px;box-shadow:0 10px 22px #246bfd36}.primary-button:hover{background:var(--cobalt-deep);transform:translateY(-1px);box-shadow:0 13px 28px #246bfd45}.kpi-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin-bottom:20px;display:grid}.kpi-card{border:1px solid var(--border);min-height:134px;color:inherit;font:inherit;text-align:left;cursor:pointer;background:#fffffff5;border-radius:18px;grid-template-columns:auto 1fr;align-items:center;gap:14px;padding:22px;transition:transform .18s,border-color .18s,box-shadow .18s;display:grid;position:relative;overflow:hidden;box-shadow:0 8px 24px #0e24440b}.kpi-card:focus-visible{outline-offset:3px;outline:3px solid #246bfd47}.kpi-open-icon{color:#9aa8ba;transition:transform .18s,color .18s;position:absolute;top:14px;right:14px}.kpi-card:hover .kpi-open-icon{color:var(--cobalt);transform:translate(2px)}.kpi-card:hover,.panel:hover{border-color:#cbdcff;transform:translateY(-2px);box-shadow:0 13px 34px #0e244414}.kpi-icon{border-radius:50%;place-items:center;width:58px;height:58px;display:grid}.kpi-icon.blue{color:#1767f3;background:#e9f1ff}.kpi-icon.lime{color:#70b700;background:#eff9dd}.kpi-icon.orange{color:#f47b11;background:#fff2df}.kpi-icon.violet{color:#5f51e9;background:#efedff}.kpi-card strong{color:#0d1f3d;letter-spacing:-.04em;font-size:34px;font-weight:800;line-height:1}.kpi-card p{color:var(--muted);margin:7px 0 0;font-size:13px}.kpi-trend{color:#8190a5;font-size:9px;font-weight:650;position:absolute;bottom:13px;right:18px}.kpi-trend.positive{color:#63a80a}.kpi-trend.warning{color:#e06c0d}.notification-activation-banner{background:linear-gradient(135deg,#f5f8ff,#fff);border:1px solid #cddcf4;border-radius:16px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:13px;margin-bottom:20px;padding:14px 16px;display:grid}.notification-activation-banner.is-active{background:linear-gradient(135deg,#f0faf4,#fff);border-color:#bfe1cc}.notification-activation-icon{color:#245fb2;background:#e5eeff;border-radius:13px;place-items:center;width:42px;height:42px;display:grid}.notification-activation-banner.is-active .notification-activation-icon{color:#247147;background:#ddf3e6}.notification-activation-banner>div{gap:3px;display:grid}.notification-activation-banner strong{color:#17375f;font-size:13px}.notification-activation-banner small{color:#69798d;font-size:10px;line-height:1.45}.notification-activation-banner>button{color:#1f55a3;background:#fff;border:1px solid #bdd0ef;border-radius:10px;align-items:center;gap:7px;min-height:38px;padding:0 14px;font-size:10px;font-weight:800;display:inline-flex}.notification-activation-banner>button:disabled{color:#47705b;background:#f7fbf8;border-color:#c9dfd2}.growth-control{background:radial-gradient(circle at 96% 5%,#b7e73529,#0000 25%),linear-gradient(145deg,#fff 0%,#f6f9ff 72%,#f7fbe9 100%);border:1px solid #d6e1f0;border-radius:20px;gap:15px;margin-bottom:20px;padding:18px;display:grid;box-shadow:0 10px 30px #0e24440e}.growth-control-heading,.growth-title,.growth-card-heading{align-items:center;display:flex}.growth-control-heading{justify-content:space-between;gap:18px}.growth-title{gap:12px;min-width:0}.growth-title-icon{color:#2166ad;background:#e8f1ff;border-radius:13px;flex:none;place-items:center;width:44px;height:44px;display:grid}.growth-title div{gap:2px;display:grid}.growth-title h2,.growth-title p{margin:0}.growth-title h2{color:#12345f;font-size:18px}.growth-title small{color:#8490a2;font-size:9px}.growth-report-link{color:#2b63a3;background:#fff;border:1px solid #cddcf0;border-radius:10px;flex:none;align-items:center;gap:5px;min-height:38px;padding:0 12px;font-size:9px;font-weight:800;display:inline-flex}.growth-report-link:hover{background:#f5f9ff;border-color:#98b9e2}.growth-summary-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.growth-summary{min-height:96px;color:inherit;font:inherit;text-align:left;cursor:pointer;background:#ffffffeb;border:1px solid #e0e7f0;border-radius:14px;align-content:center;gap:4px;padding:14px 15px;transition:transform .16s,border-color .16s,box-shadow .16s;display:grid;position:relative;overflow:hidden}.growth-summary:hover,.growth-summary:focus-visible{border-color:#b7cae4;outline:0;transform:translateY(-2px);box-shadow:0 10px 24px #11335b17}.growth-summary-open{color:#94a1b2;transition:transform .16s,color .16s;position:absolute;top:12px;right:12px}.growth-summary:hover .growth-summary-open{color:#2967ad;transform:translate(2px)}.growth-summary:before{content:"";background:#63aa44;width:4px;position:absolute;inset:0 auto 0 0}.growth-summary.withdrawal:before{background:#d9676c}.growth-summary.reactivation:before{background:#3c8ec7}.growth-summary.direction:before{background:#718198}.growth-summary.direction.rise:before{background:#77ad39}.growth-summary.direction.fall:before{background:#cf5e63}.growth-summary>span{color:#78859a;letter-spacing:.07em;text-transform:uppercase;font-size:8px;font-weight:850}.growth-summary>strong,.growth-summary>div strong{color:#17385e;font-size:24px;line-height:1}.growth-summary.enrollment>strong{color:#4d932c}.growth-summary.withdrawal>strong{color:#bc484e}.growth-summary.reactivation>strong{color:#2675ac}.growth-summary>div{color:#6d7d90;align-items:center;gap:8px;display:flex}.growth-summary.direction.rise>div{color:#69a131}.growth-summary.direction.fall>div{color:#c24f54}.growth-summary small{color:#8d98a8;text-overflow:ellipsis;white-space:nowrap;font-size:8px;overflow:hidden}.growth-detail-grid{grid-template-columns:minmax(0,1.45fr) minmax(280px,.55fr);gap:12px;min-width:0;display:grid}.growth-chart-card,.growth-events-card{background:#fff;border:1px solid #dde5ef;border-radius:15px;min-width:0;overflow:hidden}.growth-card-heading{border-bottom:1px solid #e7ecf3;justify-content:space-between;gap:12px;min-height:56px;padding:11px 14px}.growth-card-heading>div{gap:2px;display:grid}.growth-card-heading strong{color:#17385f;font-size:11px}.growth-card-heading small{color:#8793a5;font-size:8px}.growth-card-heading>span:not(.growth-direction-badge){color:#2b62a1;background:#edf4ff;border-radius:9px;place-items:center;min-width:27px;height:27px;font-size:9px;font-weight:850;display:grid}.growth-direction-badge{color:#68788d;background:#eef2f6;border-radius:999px;align-items:center;gap:5px;min-height:29px;padding:0 9px;font-size:8px;font-weight:800;display:inline-flex}.growth-direction-badge.rise{color:#4f8f2b;background:#eef8e5}.growth-direction-badge.fall{color:#b9454a;background:#fff0f1}.growth-chart{background:repeating-linear-gradient(0deg,#0000 0 39px,#edf1f6 40px),linear-gradient(#fff,#fbfdff);grid-template-columns:repeat(6,minmax(42px,1fr));align-items:end;gap:8px;min-height:188px;padding:17px 18px 10px;display:grid}.growth-month{text-align:center;gap:5px;min-width:0;display:grid}.growth-bars{justify-content:center;align-items:flex-end;gap:4px;height:135px;display:flex}.growth-bars>span{justify-content:center;align-items:flex-end;width:min(15px,28%);height:100%;display:flex;position:relative}.growth-bars strong{bottom:calc(var(--growth-height,0%) + 3px);color:#7b8798;font-size:7px;display:none;position:absolute}.growth-bars i{background:#74ad43;border-radius:4px 4px 2px 2px;width:100%;min-height:3px}.growth-bars i.withdrawal{background:#dc7074}.growth-bars i.reactivation{background:#4a98cd}.growth-month>small{color:#738095;text-transform:capitalize;font-size:8px;font-weight:750}.growth-month>em{font-size:8px;font-style:normal;font-weight:850}.growth-month>em.positive{color:#5c972f}.growth-month>em.negative{color:#c04d52}.growth-month>em.neutral{color:#8a96a6}.growth-legend{color:#748197;flex-wrap:wrap;align-items:center;gap:11px;padding:9px 14px 12px;font-size:8px;display:flex}.growth-legend>span{align-items:center;gap:5px;display:inline-flex}.growth-legend i{background:#74ad43;border-radius:3px;width:8px;height:8px}.growth-legend i.withdrawal{background:#dc7074}.growth-legend i.reactivation{background:#4a98cd}.growth-legend small{color:#9aa4b2;margin-left:auto;font-size:7px}.growth-event-list{max-height:236px;display:grid;overflow-y:auto}.growth-event{border-top:1px solid #edf1f5;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:9px;padding:10px 13px;display:grid}.growth-event:first-child{border-top:0}.growth-event>span{color:#568f34;background:#eff8e9;border-radius:9px;place-items:center;width:30px;height:30px;display:grid}.growth-event.withdrawal>span{color:#bd4a4f;background:#fff0f1}.growth-event.reactivation>span{color:#2573aa;background:#eaf5ff}.growth-event>div{gap:2px;min-width:0;display:grid}.growth-event>div strong{color:#234262;text-overflow:ellipsis;white-space:nowrap;font-size:9px;overflow:hidden}.growth-event>div small{color:#8995a5;font-size:8px}.growth-event>em{color:#6a7b90;font-size:8px;font-style:normal;font-weight:800}.growth-events-empty{color:#8a96a7;text-align:center;justify-content:center;align-items:center;gap:7px;min-height:150px;padding:20px;font-size:9px;display:flex}.dashboard-grid{grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);gap:20px;display:grid}.daily-alerts{background:#ffffffc7;border:1px solid #dbe6f5;border-radius:17px;grid-template-columns:minmax(205px,.8fr) repeat(2,minmax(240px,1fr));gap:12px;margin:18px 0 20px;padding:14px;display:grid;box-shadow:0 8px 24px #0c264a0a}.daily-alert-title{align-items:center;gap:11px;padding:8px 10px;display:flex}.daily-alert-title>span{width:38px;height:38px;color:var(--cobalt);background:var(--pale-blue);border-radius:12px;flex:none;place-items:center;display:grid}.daily-alert-title h2,.daily-alert-title p{margin:0}.daily-alert-title h2{margin-top:2px;font-size:15px}.daily-alert-card{min-width:0;color:var(--ink);text-align:left;background:#fff;border:1px solid #e3eaf4;border-radius:13px;align-items:center;gap:11px;padding:12px 13px;transition:transform .16s,border-color .16s;display:flex}.daily-alert-card:hover{border-color:#c6d7ed;transform:translateY(-1px)}.daily-alert-card>svg:first-child{color:#f07a45;flex:none}.daily-alert-card.birthdays>svg:first-child{color:#8952d6}.daily-alert-card>span{flex:1;gap:3px;min-width:0;display:grid}.daily-alert-card strong,.daily-alert-card small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.daily-alert-card strong{font-size:12px}.daily-alert-card small{color:var(--muted);font-size:10px}.daily-alert-card>svg:last-child{color:#9aa7b9;flex:none}.panel{border:1px solid var(--border);background:#fffffff5;border-radius:18px;min-width:0;padding:23px;transition:transform .18s,border-color .18s,box-shadow .18s;box-shadow:0 8px 24px #0e24440b}.panel-heading{justify-content:space-between;align-items:center;gap:16px;min-height:37px;margin-bottom:15px;display:flex}.panel-heading>div{align-items:center;gap:10px;display:flex}.section-icon{width:34px;height:34px;color:var(--cobalt);background:var(--pale-blue);border-radius:10px;place-items:center;display:grid}.panel h2{margin:0;font-size:16px;font-weight:750}.panel-heading button{color:var(--cobalt);background:0 0;border:0;align-items:center;gap:4px;padding:7px 4px;font-size:10px;font-weight:650;display:flex}.class-table{display:grid}.class-row{color:#526076;border-top:1px solid #e9eef6;grid-template-columns:94px minmax(118px,1fr) minmax(150px,1.35fr);align-items:center;gap:10px;min-height:57px;font-size:11px;display:grid}.class-row.table-head{color:#8793a6;border:0;min-height:30px;font-size:9px;font-weight:700}.time-pill{color:#1e4c91;background:#edf3fd;border-radius:7px;align-items:center;gap:5px;width:fit-content;padding:6px 8px;font-weight:720;display:inline-flex}.group-cell{gap:3px;display:grid}.group-cell strong{color:#152947;font-size:12px}.group-cell small{color:#8995a7;font-size:9px}.teacher-cell{align-items:center;gap:8px;display:flex}.teacher-avatar{color:#263b5c;border-radius:50%;flex:none;place-items:center;width:31px;height:31px;font-size:9px;font-style:normal;font-weight:750;display:grid}.teacher-avatar.blue{background:#dce9ff}.teacher-avatar.lime{background:#edf8d4}.teacher-avatar.violet{background:#ebe8ff}.pipeline{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;padding-top:4px;display:grid}.pipeline-stage{min-width:0;min-height:76px;color:inherit;font:inherit;text-align:center;cursor:pointer;border:1px solid #0000;border-radius:10px;place-content:center;gap:19px;transition:transform .16s,border-color .16s,box-shadow .16s;display:grid;position:relative}.pipeline-stage:hover,.pipeline-stage:focus-visible{border-color:#b9cbe6;outline:0;transform:translateY(-2px);box-shadow:0 8px 20px #16305814}.pipeline-stage-open{color:#98a4b5;position:absolute;top:8px;right:8px}.pipeline-stage strong{color:#142747;font-size:18px}.pipeline-stage span{color:#283a56;white-space:nowrap;font-size:9px;font-weight:700}.pipeline-stage.blue{background:#edf3ff}.pipeline-stage.sky{background:#edf8ff}.pipeline-stage.lime{background:#eff8dc}.pipeline-stage.yellow{background:#fff7dd}.pipeline-stage.violet{background:#f0edff}.pipeline-stage.red{background:#fff0f1}.pipeline-track{justify-content:space-between;align-items:center;height:30px;margin:12px 6px 3px;display:flex;position:relative}.pipeline-track:before{content:"";background:#dce4ef;border-radius:999px;height:3px;position:absolute;left:0;right:0}.pipeline-track i{z-index:1;border:2px solid #fff;border-radius:50%;width:10px;height:10px;position:relative;box-shadow:0 0 0 1px #dce4ef}.pipeline-track i.blue{background:var(--cobalt)}.pipeline-track i.sky{background:#64b6ef}.pipeline-track i.lime{background:#7fc418}.pipeline-track i.yellow{background:#f1bc12}.pipeline-track i.violet{background:#6556e8}.pipeline-track i.red{background:#d45256}.pipeline-summary{color:var(--muted);justify-content:space-between;align-items:baseline;gap:10px;font-size:10px;display:flex}.pipeline-summary strong{color:#122543;margin-right:5px;font-size:23px}.growth{color:#65ad08;font-weight:650}.fivy-banner{background:linear-gradient(100deg,#eaf1fff5,#f8fbfff5),#fff;border:1px solid #c9dcff;border-radius:18px;grid-template-columns:172px 1fr auto;align-items:center;gap:18px;min-height:124px;margin-top:20px;padding:17px 24px 17px 0;display:grid;position:relative;overflow:hidden}.banner-fivy-crop{clip-path:ellipse(78% 82% at 38% 54%);background:#fff;align-self:stretch;min-height:120px;overflow:hidden}.banner-fivy-crop img{object-fit:cover;object-position:54% 18%;width:132px;height:150px;margin:-9px auto 0;display:block}.fivy-copy h2{color:#122543;margin:0 0 7px;font-size:16px}.fivy-copy p{max-width:540px;color:var(--muted);margin:0;font-size:12px;line-height:1.65}.secondary-button{border:1.5px solid var(--cobalt);min-height:45px;color:var(--cobalt);background:#fff;padding:0 18px;font-size:12px}.secondary-button:hover{background:#f5f8ff;transform:translateY(-1px)}.mobile-overlay{display:none}.modal-backdrop{z-index:60;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#06172d8f;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.modal-card{background:#fff;border:1px solid #dce7f7;border-radius:22px;width:min(440px,100%);max-height:calc(100vh - 40px);padding:32px;animation:.18s ease-out modal-in;position:relative;overflow-y:auto;box-shadow:0 30px 80px #06172d3d}.modal-card h2{color:#0e2242;letter-spacing:-.025em;margin:0 0 10px;font-size:27px}.modal-card>p:not(.eyebrow){color:var(--muted);margin:0;font-size:13px;line-height:1.65}.modal-close{color:#66758a;background:#f2f5f9;border:0;border-radius:10px;place-items:center;width:36px;height:36px;display:grid;position:absolute;top:16px;right:16px}.modal-icon{width:48px;height:48px;color:var(--cobalt);background:var(--pale-blue);border-radius:14px;place-items:center;margin-bottom:18px;display:grid}.modal-actions{justify-content:flex-end;gap:10px;margin-top:24px;display:flex}.ghost-button{border:1px solid var(--border);color:#58677c;background:#fff;min-height:42px;padding:0 17px}.primary-button.compact{min-height:42px;padding:0 17px;font-size:12px}.withdrawal-modal{width:min(500px,100%)}.withdrawal-icon{color:#bb444b;background:#fff0f1}.withdrawal-form{gap:16px;margin-top:22px;display:grid}.withdrawal-impact{color:#47647f;background:#f6f9fd;border:1px solid #d7e4f2;border-radius:12px;align-items:flex-start;gap:10px;padding:13px;font-size:10px;line-height:1.5;display:flex}.withdrawal-impact svg{color:#4f8d64;flex:none}.withdrawal-impact span{gap:2px;display:grid}.withdrawal-impact strong{color:#264c68}.withdrawal-confirm{color:#fff;background:#c74b52;border:1px solid #b83f46;border-radius:11px;justify-content:center;align-items:center;gap:7px;min-height:42px;padding:0 17px;font-size:11px;font-weight:800;display:inline-flex}.withdrawal-confirm:hover{background:#b63d44}.withdrawal-confirm:disabled{cursor:wait;opacity:.65}@keyframes modal-in{0%{opacity:0;transform:translateY(8px)scale(.98)}}.hidden-view{display:none}.notice{border:1px solid;border-radius:11px;align-items:center;min-height:42px;margin-bottom:18px;padding:10px 14px;font-size:12px;font-weight:650;display:flex}.notice.success{color:#467b08;background:#f3fae9;border-color:#cce7ac}.notice.error{color:#a83b30;background:#fff2f0;border-color:#f1c7c2}.sync-status{z-index:45;border:1px solid var(--border);color:#5f6d81;background:#fff;border-radius:11px;align-items:center;gap:8px;padding:10px 13px;font-size:10px;font-weight:650;display:flex;position:fixed;bottom:24px;right:28px;box-shadow:0 12px 30px #0b1f3a1f}.spin{animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.dashboard-grid.teacher-dashboard{grid-template-columns:1fr}.table-empty{color:#8a96a8;border-top:1px solid #e9eef6;place-items:center;min-height:148px;font-size:12px;display:grid}.module-view{animation:.22s ease-out module-in}@keyframes module-in{0%{opacity:0;transform:translateY(6px)}}.module-header{justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:26px;display:flex}.module-header h1{color:#0e2242;letter-spacing:-.04em;margin:0;font-size:clamp(32px,3.2vw,46px);font-weight:820;line-height:1.05}.module-header>div>p:last-child{color:var(--muted);margin:9px 0 0;font-size:13px}.module-loading{min-height:300px;color:var(--muted);justify-content:center;align-items:center;gap:10px;font-size:13px;display:flex}.data-card{border:1px solid var(--border);background:#fffffff7;border-radius:18px;min-width:0;overflow:hidden;box-shadow:0 8px 24px #0e24440b}.students-module-stack{gap:18px;display:grid}.sheet-sync-panel{background:linear-gradient(135deg,#f7fbff,#eef5ff);border:1px solid #cfe0f7;border-radius:16px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:14px;padding:16px 18px;display:grid;box-shadow:0 7px 20px #0e24440b}.sheet-sync-icon{color:#2a66bc;background:#e7f0ff;border-radius:13px;place-items:center;width:44px;height:44px;display:grid}.sheet-sync-icon.connected{color:#5a821b;background:#edf8db}.sheet-sync-copy{gap:3px;min-width:0;display:grid}.sheet-sync-copy .eyebrow{margin:0;font-size:8px}.sheet-sync-copy strong{color:#17375f;font-size:13px}.sheet-sync-copy small{color:#6c7b90;text-overflow:ellipsis;white-space:nowrap;font-size:10px;line-height:1.45;overflow:hidden}.sheet-sync-button{color:#1d5eb8;background:#fff;border:1px solid #bad0ed;border-radius:10px;justify-content:center;align-items:center;gap:7px;min-height:38px;padding:0 13px;font-size:10px;font-weight:760;display:inline-flex}.sheet-sync-button:hover{background:#f8fbff;border-color:#83a9d9}.sheet-sync-button:disabled{cursor:wait;opacity:.55}.birthday-month-panel{background:radial-gradient(circle at 92% 8%,#b8e63d2e,#0000 27%),linear-gradient(135deg,#f8fbff 0%,#eef4ff 100%);border:1px solid #cfe0f7;border-radius:18px;overflow:hidden;box-shadow:0 8px 24px #0e24440d}.birthday-month-header{border-bottom:1px solid #cfe0f7db;justify-content:space-between;align-items:center;gap:18px;padding:19px 21px;display:flex}.birthday-month-title{align-items:center;gap:12px;display:flex}.birthday-month-title>span{color:#9f3f75;background:#ffeaf5;border-radius:13px;place-items:center;width:42px;height:42px;display:grid}.birthday-month-title .eyebrow{margin:0 0 3px;font-size:9px}.birthday-month-title h2{color:#15345c;letter-spacing:-.025em;margin:0;font-size:18px;font-weight:820}.birthday-month-select{color:#617189;align-items:center;gap:9px;font-size:10px;font-weight:760;display:flex}.birthday-month-select select{color:#17375f;min-width:132px;height:38px;font:inherit;background:#fff;border:1px solid #c9d9ed;border-radius:10px;outline:none;padding:0 34px 0 12px}.birthday-month-select select:focus{border-color:var(--cobalt);box-shadow:0 0 0 3px #246bfd1a}.birthday-month-content{grid-template-columns:154px minmax(0,1fr);gap:18px;padding:18px 21px 21px;display:grid}.birthday-month-count{background:#ffffffd1;border:1px solid #246bfd1f;border-radius:14px;flex-direction:column;justify-content:center;min-height:116px;padding:17px;display:flex}.birthday-month-count strong{color:var(--cobalt);font-size:32px;font-weight:850;line-height:1}.birthday-month-count span{color:#213b61;margin-top:6px;font-size:12px;font-weight:780}.birthday-month-count small{color:#7b899c;margin-top:4px;font-size:9px}.birthday-month-list{grid-template-columns:repeat(2,minmax(0,1fr));align-content:start;gap:9px;max-height:196px;display:grid;overflow-y:auto}.birthday-person{background:#ffffffe6;border:1px solid #cfe0f7db;border-radius:12px;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:10px;min-width:0;padding:10px 12px 10px 10px;display:grid}.birthday-person time{color:#fff;background:linear-gradient(135deg,#2c76f5,#1b5fd2);border-radius:11px;place-items:center;width:38px;height:38px;font-size:14px;font-weight:840;display:grid}.birthday-person>span{gap:3px;min-width:0;display:grid}.birthday-person strong{color:#17375f;text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.birthday-person small{color:#758398;text-overflow:ellipsis;white-space:nowrap;font-size:9px;overflow:hidden}.birthday-person>svg{color:#bc568d}.birthday-person--teacher time,.birthday-person--admin time{color:#fff;background:linear-gradient(135deg,#9d63ca,#6f369d);box-shadow:0 5px 13px #6f369d38}.birthday-person>.birthday-kind-badge{white-space:nowrap;border-radius:999px;grid-auto-flow:column;align-items:center;gap:4px;width:fit-content;min-width:0;padding:5px 7px;font-size:7px;font-weight:850;line-height:1;display:inline-flex}.birthday-kind-badge.student{color:#245d9f;background:#e9f2ff}.birthday-kind-badge.teacher,.birthday-kind-badge.admin{color:#6f369d;background:#f1e6f8}.birthday-month-empty{color:#718096;text-align:center;background:#ffffff94;border:1px dashed #b9cce5;border-radius:13px;grid-column:1/-1;justify-content:center;align-items:center;gap:9px;min-height:116px;padding:20px;font-size:11px;display:flex}.data-table-wrap{scrollbar-gutter:stable;width:100%;max-height:calc(100vh - 235px);overflow:auto}.data-table{border-collapse:collapse;width:100%;min-width:760px}.data-table th{z-index:3;border-bottom:1px solid var(--border);color:#7d899b;letter-spacing:.07em;text-align:left;text-transform:uppercase;background:#f8faff;padding:15px 20px;font-size:11px;font-weight:800;position:sticky;top:0}.data-table td{color:#59677b;border-bottom:1px solid #e9eef6;padding:16px 20px;font-size:13px}.data-table tbody tr:last-child td{border-bottom:0}.data-table tbody tr{transition:background .16s}.data-table tbody tr:hover{background:#f8faff}.data-table strong{color:#1a2c48;font-size:12px}.cell-note{color:#8794a6;margin-top:3px;font-size:9px;display:block}.table-action{color:#245da8;background:#f6f9ff;border:1px solid #cfe0f7;border-radius:9px;align-items:center;gap:6px;min-height:32px;padding:0 10px;font-size:10px;font-weight:750;display:inline-flex}.table-action:hover{background:#eef4ff;border-color:#a9c4e8}.table-actions{flex-wrap:wrap;gap:6px;display:flex}.table-action.danger{color:#b43d42;background:#fff7f7;border-color:#f0caca}.table-action.danger:hover{background:#fff0f1;border-color:#df9da0}.table-action:disabled{cursor:not-allowed;opacity:.55}.data-empty{color:#8b97a8;text-align:center;place-items:center;min-height:250px;padding:30px;font-size:12px;display:grid}.name-cell{align-items:center;gap:10px;display:flex}.name-cell i{width:34px;height:34px;color:var(--cobalt);background:var(--pale-blue);border-radius:10px;flex:none;place-items:center;font-size:11px;font-style:normal;font-weight:800;display:grid}.name-cell>span,.contact-cell{gap:3px;display:grid}.name-cell small,.contact-cell small{color:#8a96a8;align-items:center;gap:5px;font-size:9px;display:flex}.student-name-button{color:#153f78;text-align:left;background:0 0;border:0;width:fit-content;padding:0;font-size:11px;font-weight:850}.student-name-button:hover,.student-name-button:focus-visible{color:var(--cobalt);outline:0;text-decoration:underline}.name-cell .duplicate-student-badge{color:#a25d00;background:#fff3d9;border-radius:999px;width:fit-content;padding:3px 6px;font-weight:850}.status-pill{color:#5f6d80;white-space:nowrap;background:#eef2f6;border-radius:999px;align-items:center;min-height:25px;padding:4px 9px;font-size:9px;font-weight:750;display:inline-flex}.status-pill.blue{color:#195ac7;background:#e9f1ff}.status-pill.success{color:#5a910e;background:#eef8df}.status-pill.warning{color:#b55d09;background:#fff1df}.status-pill.danger{color:#c13f42;background:#fff0f1}.card-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.record-card{border:1px solid var(--border);background:#fff;border-radius:17px;grid-template-columns:auto 1fr auto;align-items:start;gap:15px;min-height:132px;padding:21px;display:grid;box-shadow:0 8px 24px #0e24440b}.group-record{appearance:none;cursor:pointer;width:100%;min-height:160px;color:inherit;font:inherit;text-align:left;transition:transform .16s,border-color .16s,box-shadow .16s}.group-record:hover,.group-record:focus-visible{border-color:#9fbfff;outline:0;transform:translateY(-2px);box-shadow:0 14px 32px #246bfd1f}.group-number-mark{color:#092b56;background:radial-gradient(circle at 75% 18%, #fffc, transparent 30%), linear-gradient(145deg, #d4f56f, var(--lime));border:1px solid #abd82fbf;border-radius:20px;flex:none;align-content:center;place-items:center;gap:1px;width:76px;min-height:84px;display:grid;box-shadow:0 12px 26px #709a142e}.group-number-mark small{color:#3d6811;letter-spacing:.12em;text-transform:uppercase;font-size:8px;font-weight:900}.group-number-mark strong{letter-spacing:-.07em;font-size:38px;font-weight:950;line-height:.95}.group-record--inactive .group-number-mark{color:#a1162b;background:linear-gradient(145deg,#fff0f2,#ffd9df);border-color:#d3374c61;box-shadow:0 12px 26px #b11f371f}.group-student-count{color:#355a85;margin-top:5px;font-weight:850;display:block}.group-record .group-level-label{color:#2e5f9b;background:#edf4ff;border-radius:999px;width:fit-content;margin:0 0 5px;padding:3px 7px;font-size:9px;font-weight:850}.group-record .group-open-label{color:var(--cobalt);align-items:center;gap:3px;margin-top:10px;font-weight:800;display:flex}.group-settings-panel{background:#f7faff;border:1px solid #dbe7f6;border-radius:17px;grid-template-columns:minmax(190px,.7fr) minmax(0,1.3fr);align-items:end;gap:22px;margin:18px 0;padding:18px;display:grid}.group-settings-panel h3,.group-settings-panel p{margin:0}.group-settings-panel form{grid-template-columns:repeat(2,minmax(0,1fr)) auto;align-items:end;gap:12px;display:grid}.record-icon{border-radius:12px;place-items:center;width:42px;height:42px;display:grid}.record-icon.blue{color:var(--cobalt);background:var(--pale-blue)}.record-icon.lime{color:#6fac09;background:#eff8df}.record-card p{color:#8a96a8;letter-spacing:.05em;text-transform:uppercase;margin:0 0 5px;font-size:9px;font-weight:700}.record-card h3{color:#172b49;margin:0 0 7px;font-size:16px}.record-card>div>span,.record-card small{color:#6e7b8f;margin-top:4px;font-size:10px;display:block}.empty-module{color:#718096;text-align:center;background:#ffffffb8;border:1px dashed #cbd7e7;border-radius:18px;grid-column:1/-1;align-content:center;place-items:center;min-height:320px;padding:35px;display:grid}.empty-module>span{width:56px;height:56px;color:var(--cobalt);background:var(--pale-blue);border-radius:17px;place-items:center;margin-bottom:14px;display:grid}.empty-module h3{color:#263a58;margin:0 0 6px;font-size:15px}.empty-module p{max-width:340px;margin:0;font-size:11px;line-height:1.6}.attendance-summary,.privacy-strip,.card-title-row{border-bottom:1px solid var(--border);align-items:center;gap:14px;padding:19px 20px;display:flex}.attendance-summary h3,.card-title-row h2{color:#172b49;margin:0 0 4px;font-size:14px}.attendance-summary p,.card-title-row p{color:var(--muted);margin:0;font-size:10px;line-height:1.5}.privacy-strip{color:#35639d;background:#f4f8ff;font-size:10px;font-weight:650}.payment-board{gap:18px;display:grid}.payment-board>.privacy-strip{border:1px solid #d8e5f8;border-radius:14px}.payment-month-banner{background:radial-gradient(circle at 95% 0,#b8e63d38,#0000 28%),linear-gradient(120deg,#fff 0%,#f1f6ff 100%);border:1px solid #d7e3f3;border-radius:18px;justify-content:space-between;align-items:center;gap:18px;padding:22px 24px;display:flex;box-shadow:0 10px 28px #0f2a4c0d}.payment-month-banner h2{color:#132f55;text-transform:capitalize;margin:2px 0 5px;font-size:22px}.payment-month-banner>div>span{color:#6c7d93;font-size:11px}.month-badge{color:#184e9c;white-space:nowrap;background:#e8f1ff;border-radius:999px;align-items:center;gap:7px;min-height:36px;padding:0 13px;font-size:10px;font-weight:750;display:inline-flex}.cutoff-grid{gap:18px;display:grid}.cutoff-card{border:1px solid var(--border);background:#fff;border-radius:18px;overflow:hidden;box-shadow:0 10px 28px #0e24440b}.cutoff-header{border-bottom:1px solid var(--border);grid-template-columns:auto 1fr auto;align-items:center;gap:15px;padding:19px 21px;display:grid}.cutoff-header h3{color:#172b49;margin:0 0 4px;font-size:15px}.cutoff-header p{color:#7f8ca0;margin:0;font-size:10px}.cutoff-date{border-radius:15px;align-content:center;place-items:center;width:52px;height:52px;display:grid}.cutoff-date small{letter-spacing:.05em;text-transform:uppercase;font-size:8px;font-weight:750}.cutoff-date strong{font-size:20px;line-height:1}.cutoff-date.day-1{color:#185fc7;background:#e7f0ff}.cutoff-date.day-15{color:#5f880e;background:#eff8df}.cutoff-counts{gap:8px;display:flex}.cutoff-counts span{border-radius:9px;align-items:center;gap:4px;min-height:32px;padding:0 10px;font-size:9px;font-weight:650;display:inline-flex}.cutoff-counts .paid{color:#5f8e17;background:#f0f8e3}.cutoff-counts .missing{color:#bd4e50;background:#fff0f1}.payment-record,.no-payment{gap:3px;display:grid}.payment-record strong{color:#263a58;font-size:10px}.payment-record small,.no-payment{color:#8995a7;font-size:9px}.cutoff-actions{flex-wrap:wrap;align-items:center;gap:7px;display:flex}.cutoff-actions button,.whatsapp-reminder,.paid-check{white-space:nowrap;border-radius:8px;justify-content:center;align-items:center;gap:5px;min-height:30px;padding:0 9px;font-size:9px;font-weight:750;display:inline-flex}.cutoff-actions button{color:#52637a;background:#fff;border:1px solid #d8e2ef}.cutoff-actions button:hover{color:#1b5db6;border-color:#9db5d5}.cutoff-actions button:disabled{cursor:wait;opacity:.55}.cutoff-actions .register-payment-button{color:#315f16;background:#f0f8e3;border-color:#b9d49a}.cutoff-actions .register-payment-button:hover{color:#234b0d;background:#e5f3d1;border-color:#81ad52}.whatsapp-reminder{color:#167a43;background:#e8f8ef;text-decoration:none}.whatsapp-reminder:hover{background:#d8f3e4}.whatsapp-reminder.disabled{color:#8995a7;background:#f0f3f7}.paid-check{color:#5f8e17;background:#f0f8e3}.reminder-sent-status{color:#11643a;background:#eefaf3;border:1px solid #addfc2;border-radius:8px;align-items:center;gap:6px;padding:5px 7px;font-size:9px;font-weight:750;display:inline-flex}.reminder-sent-status>span{align-items:center;gap:4px;display:inline-flex}.reminder-sent-status small{color:#4f7d65;font-size:8px;font-weight:650}.cutoff-actions .reminder-undo-button{color:#42735a;background:#fff;border-color:#b8d9c6;min-height:23px;padding:0 6px;font-size:8px}.team-layout{gap:18px;display:grid}.member-identity,.member-actions{align-items:center;gap:9px;display:flex}.member-photo{color:#234f8d;background:#e3ecfb;border-radius:50%;flex:none;place-items:center;width:36px;height:36px;font-size:12px;font-weight:850;display:grid}.member-actions{flex-wrap:wrap}.member-photo-action{cursor:pointer}.card-title-row{justify-content:space-between}.card-title-row .secondary-button{flex:none;min-height:38px;padding:0 13px;font-size:10px}.student-form{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:22px;display:grid}.sheet-setup-modal{width:min(720px,100%)}.sheet-setup-steps{color:#425570;gap:9px;margin:20px 0;padding:0 0 0 22px;font-size:12px;line-height:1.55;display:grid}.sheet-setup-steps li::marker{color:var(--cobalt);font-weight:820}.sheet-setup-actions{flex-wrap:wrap;gap:10px;margin-bottom:17px;display:flex}.sheet-setup-actions .secondary-button,.sheet-setup-actions .primary-button,.sheet-setup-actions .ghost-button{min-height:42px;text-decoration:none}.sheet-code-preview{gap:7px;display:grid}.sheet-code-preview>span{color:#344a68;font-size:10px;font-weight:760}.sheet-code-preview textarea{resize:vertical;color:#263a58;background:#f7f9fc;border:1px solid #cfdbec;border-radius:12px;outline:none;width:100%;min-height:190px;padding:13px;font:9px/1.55 ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace}.sheet-code-preview textarea:focus{border-color:var(--cobalt);box-shadow:0 0 0 3px #246bfd1a}.sheet-security-note{color:#735b23;background:#fff8df;border-radius:11px;align-items:flex-start;gap:9px;margin-top:13px;padding:11px 12px;font-size:10px;line-height:1.5;display:flex}.sheet-security-note svg{flex:none}.form-section{color:#15345c;background:#eef4ff;border-radius:12px;gap:3px;margin-top:4px;padding:13px 14px;display:grid}.form-section strong{font-size:13px}.form-section span{color:#677890;font-size:11px}.emergency-cell{min-width:210px}.access-guide{color:#17375f;background:linear-gradient(135deg,#f1f6ff,#f9fbff);border:1px solid #cfe0f7;border-radius:15px;align-items:flex-start;gap:13px;padding:17px 18px;display:flex}.access-guide>svg{color:var(--cobalt);flex:none}.access-guide div{gap:5px;display:grid}.access-guide strong{font-size:13px}.access-guide p,.access-guide small{color:#63738a;margin:0;font-size:11px;line-height:1.55}.access-guide small{color:#174dba;font-weight:750}.field{gap:6px;display:grid}.field-wide{grid-column:1/-1}.prospect-schedule-options{border:0;margin:0;padding:0}.prospect-schedule-options legend{color:#4d5c71;margin-bottom:8px;font-size:10px;font-weight:750}.prospect-schedule-options legend small{color:#7a8799;margin-left:6px;font-weight:600}.prospect-schedule-options>div{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;display:grid}.prospect-schedule-options label{color:#344a68;background:#f8faff;border:1px solid #d9e1ec;border-radius:10px;align-content:start;gap:6px;min-height:38px;padding:8px 10px;font-size:10px;font-weight:650;display:grid}.prospect-schedule-options label:first-child{background:#f7f2ff;border-color:#8e6deb}.prospect-schedule-options label>strong{font-size:10px}.prospect-schedule-options select{color:#344a68;background:#fff;border:1px solid #d9e1ec;border-radius:9px;width:100%;min-height:38px;padding:8px 9px}.field>span{color:#4d5c71;font-size:9px;font-weight:750}.field input,.field select,.field textarea{color:#233650;background:#fff;border:1px solid #d9e3ef;border-radius:10px;outline:0;width:100%;min-height:42px;padding:10px 11px;font-size:11px;transition:border-color .16s,box-shadow .16s}.field textarea{resize:vertical;min-height:94px}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--cobalt);box-shadow:0 0 0 3px #246bfd1f}.record-modal{width:min(580px,100%);max-height:calc(100vh - 32px);overflow-y:auto}.group-detail-backdrop{align-items:center}.group-detail-modal{width:min(1040px,100%);max-height:calc(100vh - 32px);padding:30px}.group-detail-header{grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:16px;padding-right:44px;display:grid}.group-detail-header .modal-icon{margin:0}.group-number-mark--detail{border-radius:22px;width:82px;min-height:88px}.group-number-mark--detail strong{font-size:42px}.group-detail-header h2{margin-bottom:4px}.group-detail-header p:not(.eyebrow){color:var(--muted);margin:0;font-size:12px}.group-summary-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:24px 0 18px;display:grid}.group-summary-grid article{color:var(--cobalt);background:#f8fbff;border:1px solid #dce7f5;border-radius:14px;grid-template-columns:auto 1fr;align-items:center;gap:3px 9px;padding:14px 16px;display:grid}.group-summary-grid article svg{grid-row:1/3}.group-summary-grid article span{color:#748197;text-transform:uppercase;font-size:9px;font-weight:750}.group-summary-grid article strong{color:#173052;text-overflow:ellipsis;white-space:nowrap;font-size:15px;overflow:hidden}.student-details-modal{width:min(780px,100%);max-height:calc(100vh - 32px);padding:30px;overflow-y:auto}.student-details-header{grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:14px;padding-right:40px;display:grid}.student-details-header>span{color:#123c70;background:linear-gradient(145deg, #d9f76d, var(--lime));border-radius:18px;place-items:center;width:58px;height:58px;font-size:22px;font-weight:900;display:grid;box-shadow:0 10px 24px #7ba31d2e}.student-details-header h2{color:#112d50;margin:4px 0 3px;font-size:24px}.student-details-header small{color:#8290a2;font-size:9px}.student-duplicate-alert{color:#9a5a00;background:#fff8e8;border:1px solid #f0d49a;border-radius:12px;align-items:center;gap:10px;margin-top:20px;padding:12px 14px;display:flex}.student-duplicate-alert span{gap:2px;display:grid}.student-duplicate-alert strong{font-size:11px}.student-duplicate-alert small{color:#a87930;font-size:9px}.student-details-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:20px;display:grid}.student-details-grid article{background:#f8fbff;border:1px solid #dfe8f3;border-radius:14px;gap:5px;padding:14px;display:grid}.student-details-grid article>span{color:#52739b;text-transform:uppercase;align-items:center;gap:6px;font-size:9px;font-weight:850;display:flex}.student-details-grid article strong{color:#183c68;font-size:13px}.student-details-grid article small{color:#7a899c;font-size:9px}.student-details-grid .student-payment-date-card{background:linear-gradient(135deg,#f6fce4,#eff8d4);border-color:#cae76d;grid-column:1/-1}.student-details-grid .student-payment-date-card>span{color:#547613}.student-details-grid .student-payment-date-card strong{color:#244d22;font-size:15px}.student-details-section{border:1px solid #e1e8f1;border-radius:14px;margin-top:12px;padding:14px}.student-details-section h3{color:#173d6a;margin:0 0 9px;font-size:12px}.student-details-section div{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.student-details-section span{color:#62748a;align-items:center;gap:7px;font-size:10px;display:flex}.student-details-actions{border-top:1px solid #e3eaf3;flex-wrap:wrap;justify-content:flex-end;gap:8px;margin-top:20px;padding-top:16px;display:flex}.danger-button{color:#b13d43;background:#fff6f6;border-color:#edc5c8}.group-detail-section{background:#fff;border:1px solid #dfe8f4;border-radius:16px;margin-top:14px;padding:18px}.group-section-heading,.class-plan-heading{justify-content:space-between;align-items:center;gap:14px;display:flex}.group-section-heading h3,.class-plan-card h4{color:#142c4d;margin:2px 0 0}.group-section-heading h3{font-size:17px}.teacher-contact-row{color:#5d6f87;flex-wrap:wrap;gap:10px 20px;margin-top:13px;font-size:11px;display:flex}.teacher-contact-row span{align-items:center;gap:6px;display:flex}.month-assignment-control{color:#68778d;align-items:center;gap:8px;font-size:9px;font-weight:760;display:flex}.month-assignment-control input,.teacher-assignment-form select{color:#243a59;min-height:38px;font:inherit;background:#fff;border:1px solid #d5e0ed;border-radius:9px;outline:0;padding:8px 10px}.teacher-assignment-form{border-top:1px solid #e5ecf5;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:10px;margin-top:14px;padding-top:14px;display:grid}.teacher-assignment-form .secondary-button{min-height:42px}.teacher-assignment-history{color:#5d6f87;gap:8px;margin-top:13px;font-size:9px;display:grid}.teacher-assignment-history>div{flex-wrap:wrap;gap:6px;display:flex}.teacher-assignment-history span{background:#f1f5fb;border-radius:8px;padding:6px 8px}.group-count{color:#174dba;background:#eaf1ff;border-radius:50%;place-items:center;width:32px;height:32px;font-size:12px;font-weight:850;display:grid}.group-student-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-top:14px;display:grid}.group-student-list article{background:#f7f9fc;border-radius:12px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;padding:11px 12px;display:grid}.student-initial{width:34px;height:34px;color:var(--cobalt);background:#e7efff;border-radius:10px;place-items:center;font-size:12px;font-weight:850;display:grid}.group-student-list article div{gap:3px;min-width:0;display:grid}.group-student-list article strong{color:#233957;text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.group-student-list article small{color:#7a879a;text-overflow:ellipsis;white-space:nowrap;font-size:9px;overflow:hidden}.attendance-capture-toolbar{background:#f6faff;border:1px solid #cfe0f5;border-radius:14px;grid-template-columns:minmax(150px,.7fr) minmax(220px,1fr);gap:12px;margin-top:16px;padding:15px;display:grid}.attendance-capture-toolbar input,.attendance-capture-toolbar select{color:#213b5e;min-height:42px;font:inherit;background:#fff;border:1px solid #d4dfec;border-radius:9px;outline:0;padding:9px 10px}.attendance-teacher-readonly{color:#284a77;background:#fff;border-radius:10px;align-content:center;gap:4px;padding:8px 11px;display:grid}.attendance-teacher-readonly span{color:#718096;font-size:9px;font-weight:750}.attendance-teacher-readonly strong{font-size:12px}.attendance-legend{color:#5f7087;flex-wrap:wrap;grid-column:1/-1;gap:7px 14px;padding-top:3px;font-size:9px;display:flex}.attendance-legend span{align-items:center;gap:5px;display:flex}.attendance-legend i{border-radius:7px;place-items:center;min-width:23px;height:23px;padding:0 4px;font-style:normal;font-weight:850;display:grid}.attendance-legend i.present{color:#43831b;background:#edf8e5}.attendance-legend i.absent{color:#bd3d42;background:#fff0f1}.attendance-legend i.sample_class{color:#a16400;background:#fff4d7}.attendance-legend i.advisory{color:#1553a3;background:#eaf2ff}.attendance-day-plan-button{grid-column:1/-1;width:fit-content;min-height:38px}.group-attendance-roster{gap:9px;margin-top:14px;display:grid}.group-attendance-roster>article{background:#fbfcfe;border:1px solid #e3eaf3;border-radius:12px;grid-template-columns:auto minmax(140px,1fr) minmax(110px,.7fr) auto;align-items:center;gap:11px;padding:11px 12px;display:grid}.attendance-student-name{gap:3px;min-width:0;display:grid}.attendance-student-name strong,.attendance-student-name small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.attendance-student-name strong{color:#263c5b;font-size:11px}.attendance-student-name small{color:#7a879a;font-size:9px}.group-member-controls{flex-wrap:wrap;gap:5px;margin-top:4px;display:flex;position:relative}.group-member-controls>button{color:#245d9f;background:#f4f8ff;border:1px solid #cfe0f4;border-radius:7px;align-items:center;gap:4px;min-height:26px;padding:0 7px;font-size:8px;font-weight:800;display:inline-flex}.group-member-controls>button.danger{color:#b54348;background:#fff6f6;border-color:#efced0}.group-member-transfer{background:#fff;border:1px solid #cbdcf1;border-radius:9px;grid-template-columns:minmax(150px,1fr) auto;gap:6px;width:min(320px,78vw);margin-top:2px;padding:7px;display:grid;box-shadow:0 10px 24px #10315b1a}.group-member-transfer select,.group-member-transfer button{border:1px solid #c7d7ea;border-radius:7px;min-height:32px;font-size:9px}.group-member-transfer select{color:#294766;background:#fff;min-width:0;padding:0 8px}.group-member-transfer button{border-color:var(--cobalt);color:#fff;background:var(--cobalt);padding:0 10px;font-weight:800}.group-member-transfer button:disabled{cursor:not-allowed;opacity:.55}.attendance-percent{background:#edf3fa;border:1px solid #c7d6e9;border-radius:8px;height:28px;position:relative;overflow:hidden}.attendance-percent>span{background:linear-gradient(90deg,#2862af,#8fb9ef);max-width:100%;position:absolute;inset:0 auto 0 0}.attendance-percent>strong{z-index:1;color:#123d77;place-items:center;height:100%;font-size:10px;display:grid;position:relative}.group-attendance-roster .attendance-options{flex-wrap:nowrap}.attendance-actions-cell{justify-items:end;gap:6px;display:grid}.group-attendance-roster .attendance-option{place-items:center;min-width:46px;height:42px;padding:4px 7px;font-size:11px;line-height:1;display:grid}.group-attendance-roster .attendance-option span{display:none}.clear-attendance-button{color:#b84247;background:#fff0f1;border:0;border-radius:7px;align-items:center;gap:4px;min-height:27px;padding:0 7px;font-size:8px;font-weight:800;display:inline-flex}.clear-attendance-button:hover{background:#ffe1e3}.monthly-attendance-wrap{border-top:1px solid #e2e9f2;margin-top:18px;padding-top:16px}.monthly-attendance-heading{color:#5e6f86;justify-content:space-between;align-items:center;gap:12px;font-size:9px;display:flex}.monthly-attendance-heading>div{gap:2px;display:grid}.monthly-attendance-heading strong{color:#17375f;font-size:13px}.monthly-attendance-scroll{border:1px solid #dbe5f2;border-radius:12px;margin-top:10px;overflow-x:auto}.monthly-attendance-table{border-collapse:collapse;background:#fff;width:max-content;min-width:100%;font-size:9px}.monthly-attendance-table th,.monthly-attendance-table td{text-align:center;border-bottom:1px solid #dce6f3;border-right:1px solid #dce6f3;min-width:54px;height:40px;padding:7px 8px}.monthly-attendance-table th:first-child{z-index:2;color:#17375f;text-align:left;background:#f7faff;min-width:170px;position:sticky;left:0}.monthly-attendance-table thead th{color:#fff;background:#0e3470}.monthly-attendance-table thead th:first-child{z-index:3;color:#fff;background:#0e3470}.monthly-attendance-table thead th small,.monthly-attendance-table thead th strong{display:block}.monthly-attendance-table thead th button{color:#fff;background:#ffffff1f;border:1px solid #ffffff47;border-radius:7px;place-items:center;width:24px;height:24px;margin:4px auto -3px;display:grid}.monthly-attendance-table td.present{color:#4c9c2f;font-size:15px;font-weight:900}.monthly-attendance-table td.absent{color:#e0484f;font-size:17px;font-weight:900}.monthly-attendance-table td.sample_class{color:#1b62ae;font-style:italic;font-weight:850}.monthly-attendance-table td.advisory{color:#1553a3;font-weight:850}.monthly-attendance-table .monthly-percent-cell{color:#0c458e;background:#e7f0ff;font-size:11px;font-weight:900}.monthly-attendance-table .monthly-teacher-row th,.monthly-attendance-table .monthly-teacher-row td{color:#17375f;background:#e9eef5;font-weight:800}.class-report-section-title{color:#214d87;background:#e9f2ff}.class-report-summary{border-top:1px solid #e1e9f3;margin-top:14px;padding-top:14px}.class-report-summary>div:first-child{color:#1d3d68;justify-content:space-between;align-items:center;gap:10px;font-size:10px;display:flex}.class-report-details{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:10px;display:grid}.class-report-details p{color:#5b6d84;white-space:pre-wrap;background:#f7faff;border-radius:9px;gap:4px;margin:0;padding:10px 11px;font-size:9px;line-height:1.5;display:grid}.class-report-details p strong{color:#204875;text-transform:uppercase;font-size:8px}.attendance-overview-header{border-bottom:1px solid #e1e9f3;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:13px;padding:17px;display:grid}.attendance-overview-header h3,.attendance-overview-header p{margin:0}.attendance-overview-header h3{color:#17375f;font-size:15px}.attendance-overview-header p{color:#6c7b90;margin-top:4px;font-size:10px}.attendance-overview-filters{background:#f8fbff;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:16px;display:grid}.attendance-overview-kpis{background:#f8fbff;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:0 16px 16px;display:grid}.attendance-overview-kpis article{background:#fff;border:1px solid #dce7f4;border-radius:11px;gap:4px;padding:12px 13px;display:grid}.attendance-overview-kpis small{color:#748197;text-transform:uppercase;font-size:8px;font-weight:750}.attendance-overview-kpis strong{color:#153e75;font-size:18px}.overview-legend{border-top:1px solid #e1e9f3;border-bottom:1px solid #e1e9f3;padding:14px 16px}.attendance-overview-table-wrap{margin:16px}.monthly-attendance-table .monthly-report-row th,.monthly-attendance-table .monthly-report-row td{color:#31577f;background:#f4f7fb;font-size:8px;font-weight:800}.monthly-attendance-table .monthly-report-row td.complete{color:#4d8d20;background:#eef8e6;font-size:13px}.monthly-attendance-table .monthly-report-row td.pending{color:#ad6b12;background:#fff7e7}.group-empty-copy{color:#718096;text-align:center;background:#f7f9fc;border-radius:12px;margin:14px 0 0;padding:16px;font-size:11px}.class-plan-form{background:#f8fbff;border:1px solid #cbdcff;border-radius:15px;margin:17px 0 20px;padding:18px}.class-plan-list{gap:12px;margin-top:15px;display:grid}.class-plan-card{background:#fbfcfe;border:1px solid #dfe8f4;border-radius:14px;padding:16px}.class-plan-heading{grid-template-columns:auto minmax(0,1fr) auto;display:grid}.class-plan-heading>div{flex-wrap:wrap;align-items:center;gap:8px;min-width:0;display:flex}.class-teacher-label{color:#5e7390;width:100%;font-size:9px;font-weight:720}.class-plan-card h4{text-overflow:ellipsis;white-space:nowrap;font-size:14px;overflow:hidden}.class-plan-date{color:#17375f;gap:2px;min-width:90px;font-size:10px;display:grid}.class-plan-date small{color:#76849a}.class-plan-details{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:14px;display:grid}.class-plan-details p{color:#596b84;white-space:pre-wrap;background:#fff;border-radius:10px;gap:4px;margin:0;padding:11px 12px;font-size:10px;line-height:1.5;display:grid}.class-plan-details p strong{color:#1d3d68;text-transform:uppercase;font-size:9px}.class-plan-details .class-plan-notes{background:#fff9e8;grid-column:1/-1}.group-attendance-block{border-top:1px solid #e1e9f3;margin-top:14px;padding-top:14px}.group-attendance-block>div:first-child{color:#213c61;justify-content:space-between;align-items:center;gap:10px;font-size:10px;display:flex}.group-attendance-block>div:first-child small{color:#78869a}.group-attendance-list{gap:7px;margin-top:10px;display:grid}.group-attendance-list article{background:#fff;border-radius:10px;grid-template-columns:minmax(130px,1fr) auto;align-items:center;gap:10px;padding:9px 10px;display:grid}.group-attendance-list article>span{color:#425a79;text-overflow:ellipsis;white-space:nowrap;font-size:10px;font-weight:700;overflow:hidden}.material-library{gap:20px;display:grid}.material-library .module-header{margin-bottom:2px}.library-security{color:#294e83;background:linear-gradient(110deg,#eaf1fff2,#f8fbfffa),#fff;border:1px solid #cbdcff;border-radius:16px;grid-template-columns:auto 1fr auto;align-items:center;gap:14px;padding:17px 19px;display:grid}.security-seal{color:#fff;background:linear-gradient(135deg,#2a76ff,#1256d8);border-radius:13px;place-items:center;width:45px;height:45px;display:grid;box-shadow:0 8px 20px #246bfd36}.library-security strong{color:#16345e;margin-bottom:3px;font-size:12px;display:block}.library-security p{color:#68809e;margin:0;font-size:10px;line-height:1.55}.library-security small{color:#72539c;margin-top:4px;font-size:8px;font-weight:750;display:block}.security-status{color:#568f0c;white-space:nowrap;background:#eef8df;border-radius:999px;align-items:center;gap:6px;padding:7px 10px;font-size:9px;font-weight:800;display:inline-flex}.material-package-list{gap:20px;display:grid}.material-package{background:#f7faff;border:1px solid #d8e2f0;border-radius:18px;overflow:hidden}.material-package-header{background:linear-gradient(105deg,#edf4ff,#fbfdff);border-bottom:1px solid #dde6f2;align-items:center;gap:12px;padding:15px 18px;display:flex}.material-package-header>span{color:#fff;background:linear-gradient(135deg,#246bfd,#1649a5);border-radius:12px;flex:none;place-items:center;width:42px;height:42px;display:grid}.material-package-header>div{min-width:0}.material-package-header small{color:#6f55a2;letter-spacing:.08em;text-transform:uppercase;font-size:11px;font-weight:850}.material-package-header h2{color:#17385e;margin:2px 0 3px;font-size:22px;line-height:1.25}.material-package-header p{color:#74859b;margin:0;font-size:11px;line-height:1.5}.material-package>.materials-grid{padding:16px}.materials-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:17px;display:grid}.material-card{border:1px solid var(--border);background:#fff;border-radius:18px;flex-direction:column;min-height:320px;padding:20px;transition:transform .18s,border-color .18s,box-shadow .18s;display:flex;box-shadow:0 8px 24px #0e24440b}.material-card:hover{border-color:#c5d8fb;transform:translateY(-2px);box-shadow:0 14px 34px #0e244417}.material-card-top{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.material-kind{width:48px;height:48px;color:var(--cobalt);background:var(--pale-blue);border-radius:14px;place-items:center;display:grid}.protected-badge{color:#496583;text-transform:uppercase;background:#f8fbff;border:1px solid #d6e2f3;border-radius:999px;align-items:center;gap:5px;padding:6px 8px;font-size:10px;font-weight:800;display:inline-flex}.protected-badge.unassigned{color:#71509b;background:#f7f1ff;border-color:#d9c9f2}.material-card-copy{margin-top:18px}.material-card-copy>span{color:#7e8c9f;letter-spacing:.08em;text-transform:uppercase;font-size:11px;font-weight:800}.material-card-copy h2{color:#142946;margin:7px 0;font-size:20px;line-height:1.3}.material-card-copy p{color:#718096;-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0;font-size:13px;line-height:1.55;display:-webkit-box;overflow:hidden}.material-meta{color:#8793a5;flex-wrap:wrap;gap:5px 11px;margin-top:auto;padding:16px 0 12px;font-size:11px;font-weight:650;display:flex}.material-meta span{position:relative}.material-meta span:not(:last-child):after{color:#cad3df;content:"•";position:absolute;right:-7px}.protected-view-button{color:#1f63cd;background:#f5f9ff;border:1px solid #c7d9f7;border-radius:11px;justify-content:center;align-items:center;gap:8px;min-height:41px;font-size:12px;font-weight:750;display:flex}.protected-view-button:hover{border-color:var(--cobalt);background:#eaf2ff}.material-card-actions{gap:8px;display:grid}.material-admin-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.material-edit-button{color:#705199;background:#faf7ff;border:1px solid #d8c9ee;border-radius:11px;justify-content:center;align-items:center;gap:8px;min-height:39px;font-size:12px;font-weight:750;display:flex}.material-edit-button:hover{background:#f2eaff;border-color:#9a75c8}.material-delete-button{color:#a1162b;background:#fff5f6;border:1px solid #efb9c1;border-radius:11px;justify-content:center;align-items:center;gap:8px;min-height:39px;font-size:12px;font-weight:800;display:flex}.material-delete-button:hover{background:#ffe8ec;border-color:#cf4358}.material-file-summary{color:#2a5f9b;background:#f8fbff;border:1px solid #dde6f2;border-radius:11px;align-items:center;gap:10px;padding:11px 13px;display:flex}.material-package-guide{color:#234c7e;background:#edf5ff;border:1px solid #a9c7f5;border-radius:12px;align-items:flex-start;gap:10px;padding:13px 14px;font-size:12px;line-height:1.45;display:flex}.material-package-guide svg{color:#175ed0;flex:none}.material-package-guide span{gap:2px;display:grid}.material-package-guide strong{color:#123b70;font-size:13px}.material-grouping-field{border-radius:12px;padding:11px}.material-grouping-field>span{font-size:12px;font-weight:900}.material-grouping-field.manual-field{background:#eef6ff;border:2px solid #4f8ee8}.material-grouping-field.package-field{background:#f7f0ff;border:2px solid #8a5bb7}.material-grouping-field.manual-field>span{color:#1557ad}.material-grouping-field.package-field>span{color:#663493}.material-grouping-field input{background:#fff;border-width:2px;font-size:13px;font-weight:750}.material-file-summary>span{gap:2px;min-width:0;display:grid}.material-file-summary strong,.material-file-summary small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.material-file-summary strong{color:#17385e;font-size:10px}.material-file-summary small{color:#7b899c;font-size:8px}.teacher-multi-picker{background:#fbfcff;border:1px solid #d7e0ec;border-radius:12px;min-width:0;margin:0;padding:12px}.teacher-multi-picker legend{color:#41536c;padding:0 5px;font-size:9px;font-weight:800}.teacher-multi-picker>div{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.teacher-multi-picker label{color:#294766;cursor:pointer;background:#fff;border:1px solid #e0e6ef;border-radius:9px;align-items:center;gap:8px;min-width:0;min-height:38px;padding:8px 10px;font-size:9px;font-weight:700;display:flex}.teacher-multi-picker label:has(input:checked){color:#5f3f88;background:#f4edff;border-color:#8f6abb}.teacher-multi-picker input{accent-color:#7452a2;flex:none;width:16px;height:16px}.teacher-multi-picker small{color:#7b8798;margin-top:9px;font-size:8px;display:block}.history-shield{color:#6da817}.session-code{color:#445b78;background:#eef3f8;border-radius:6px;padding:5px 7px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:9px}.upload-dropzone{min-height:138px;color:var(--cobalt);cursor:pointer;background:#f5f9ff;border:1.5px dashed #a9c2e6;border-radius:14px;align-content:center;place-items:center;gap:6px;display:grid;position:relative;overflow:hidden}.upload-dropzone strong{color:#29486f;font-size:11px}.upload-dropzone span{color:#8090a5;font-size:9px}.upload-dropzone input{cursor:pointer;opacity:0;width:100%;height:100%;position:absolute;inset:0}.upload-protection-note{color:#56708f;background:#f8fbff;border:1px solid #d7e4f5;border-radius:10px;align-items:flex-start;gap:9px;padding:11px 12px;font-size:9px;line-height:1.5;display:flex}.material-upload-progress{color:#355576;background:#f5f9ff;border:1px solid #c9dcef;border-radius:10px;gap:7px;padding:12px;display:grid}.material-upload-progress>div{justify-content:space-between;align-items:center;gap:12px;font-size:10px;display:flex}.material-upload-progress progress{width:100%;height:9px;accent-color:var(--cobalt)}.material-upload-progress small{color:#72849a;font-size:9px}.upload-protection-note svg{color:var(--cobalt);flex:none}.powerpoint-launch-panel{color:#344a68;text-align:center;background:#fffffff5;border:1px solid #d3bceb;border-radius:22px;place-items:center;gap:12px;width:min(540px,100% - 32px);margin:auto;padding:34px;display:grid;box-shadow:0 18px 55px #24194629}.powerpoint-launch-panel>span{color:#fff;background:linear-gradient(145deg,#7a42a8,#51227b);border-radius:20px;place-items:center;width:68px;height:68px;display:grid}.powerpoint-launch-panel h2,.powerpoint-launch-panel p{margin:0}.powerpoint-launch-panel h2{color:#341358;font-size:25px}.powerpoint-launch-panel p{max-width:430px;font-size:14px;line-height:1.55}.powerpoint-launch-panel a{color:#fff;background:#663493;border-radius:12px;justify-content:center;align-items:center;gap:8px;min-height:45px;padding:0 20px;font-size:14px;font-weight:850;text-decoration:none;display:inline-flex}.powerpoint-launch-panel small{color:#708096;font-size:11px}body.secure-viewing{-webkit-user-select:none;user-select:none;overflow:hidden}.secure-viewer{z-index:100;color:#fff;-webkit-user-select:none;user-select:none;background:#07111f;grid-template-rows:auto minmax(0,1fr) auto;display:grid;position:fixed;inset:0}.secure-viewer:after{z-index:20;pointer-events:none;content:"";border:0 solid #ff525200;transition:border-width .14s,border-color .14s;position:absolute;inset:0}.secure-viewer.shield-pulse:after{border-width:7px;border-color:#ff5252d1}.secure-viewer-header{z-index:10;background:#0b1f3a;border-bottom:1px solid #ffffff1c;justify-content:space-between;align-items:center;gap:18px;min-height:64px;padding:10px 18px;display:flex;position:relative}.secure-viewer-title,.secure-viewer-actions,.viewer-identity{align-items:center;display:flex}.secure-viewer-title{gap:10px;min-width:0}.secure-viewer-title>span{color:#9fda32;background:#b8e63d1f;border-radius:10px;flex:none;place-items:center;width:37px;height:37px;display:grid}.secure-viewer-title>div{gap:2px;min-width:0;display:grid}.secure-viewer-title strong{text-overflow:ellipsis;white-space:nowrap;max-width:420px;font-size:12px;overflow:hidden}.secure-viewer-title small{color:#ffffff8f;font-size:8px}.secure-viewer-actions{gap:8px}.viewer-identity{color:#cfe5ff;gap:5px;margin-right:4px;font-size:8px;font-weight:650}.secure-viewer-actions button{color:#fff;background:#ffffff14;border:1px solid #ffffff2e;border-radius:9px;align-items:center;gap:7px;min-height:37px;padding:0 12px;font-size:9px;font-weight:700;display:inline-flex}.secure-viewer-actions button:hover{background:#ffffff24}.secure-viewer-actions .viewer-close{color:#ffc5bd;border-color:#ff6e5e47}.secure-viewer-stage{background:radial-gradient(circle at 50% 20%,#246bfd1a,#0000 45%),#111a26;place-items:center;min-height:0;display:grid;position:relative;overflow:hidden}.secure-viewer-stage iframe{background:#323639;border:0;width:100%;height:100%}.secure-viewer-stage>img{object-fit:contain;pointer-events:none;max-width:100%;max-height:100%}.secure-viewer-stage video{outline:0;width:min(100%,1400px);max-height:100%}.secure-viewer-stage audio{z-index:3;width:min(640px,100% - 40px);position:relative}.material-viewer-status{z-index:7;color:#dcecff;text-align:center;background:#071729f0;border:1px solid #ffffff29;border-radius:16px;place-items:center;gap:8px;min-width:min(340px,100% - 40px);padding:24px;display:grid;position:absolute;box-shadow:0 20px 55px #00000052}.material-viewer-status strong{font-size:13px}.material-viewer-status span{color:#ffffff9e;font-size:9px}.material-viewer-status.is-error{color:#ffd1cb;border-color:#ff6e5e4d}.watermark-grid{z-index:5;pointer-events:none;grid-template-rows:repeat(3,minmax(0,1fr));grid-template-columns:repeat(3,minmax(240px,1fr));place-items:center;gap:60px 48px;display:grid;position:absolute;inset:-8%;overflow:hidden;transform:rotate(-18deg)scale(1.04)}.watermark-grid span{color:#0f244411;letter-spacing:.08em;text-align:center;text-shadow:0 1px #ffffff73;font-size:clamp(18px,1.8vw,28px);font-weight:800}.secure-viewer-footer{z-index:10;color:#ffffff91;letter-spacing:.03em;background:#071729;border-top:1px solid #ffffff1a;justify-content:space-between;align-items:center;gap:12px;min-height:34px;padding:7px 17px;font-size:7px;font-weight:650;display:flex;position:relative}.secure-viewer-footer span{align-items:center;gap:5px;display:inline-flex}.secure-viewer:fullscreen{width:100vw;height:100vh}.inline-control{color:#425674;gap:6px;min-width:170px;font-size:10px;font-weight:750;display:grid}.inline-control select,.inline-control input{color:#203653;min-height:40px;font:inherit;background:#fff;border:1px solid #cfdaea;border-radius:10px;outline:0;padding:0 11px}.inline-control select:focus,.inline-control input:focus{border-color:#4b80ca;box-shadow:0 0 0 3px #3d70b81f}.attendance-summary-controls{justify-content:flex-start}.attendance-group-links{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:16px;display:grid}.attendance-group-links>button{color:#25405f;text-align:left;background:#fbfcfe;border:1px solid #dce6f2;border-radius:12px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:11px;padding:13px;display:grid}.attendance-group-links>button:hover{background:#f4f8ff;border-color:#9fbcf0}.attendance-group-links>button div{gap:3px;min-width:0;display:grid}.attendance-group-links>button strong{font-size:11px}.attendance-group-links>button small{color:#718096;text-overflow:ellipsis;white-space:nowrap;font-size:9px;overflow:hidden}.attendance-summary-controls .inline-control{width:min(440px,100%);margin-left:auto}.attendance-class-banner{color:#4f6481;background:#fbfcff;justify-content:space-between;align-items:center;gap:16px;padding:14px 20px;font-size:10px;display:flex}.attendance-class-banner>div{gap:3px;display:grid}.attendance-class-banner strong{color:#19375d;font-size:13px}.attendance-options{flex-wrap:wrap;gap:6px;display:flex}.attendance-option{color:#5b6d84;background:#fff;border:1px solid #d5dfec;border-radius:9px;min-height:32px;padding:0 10px;font-size:9px;font-weight:750}.attendance-option:hover,.attendance-option.is-selected{color:#174f9b;background:#eef5ff;border-color:#2d6ec5}.attendance-option.present.is-selected{color:#376f1d;background:#edf8e5;border-color:#69a73a}.attendance-option.absent.is-selected{color:#9d3434;background:#fff0f0;border-color:#d67272}.attendance-option.sample_class.is-selected{color:#8a5600;background:#fff3d5;border-color:#e2a72f}.attendance-option.advisory.is-selected{color:#1553a3;background:#eaf2ff;border-color:#6f9bd4}.attendance-option.vacation.is-selected{color:#6840a0;background:#f4edff;border-color:#9a70cf}.attendance-legend i.vacation,.monthly-attendance-table td.vacation{color:#6840a0;background:#f4edff;font-weight:850}.evaluation-history-list{gap:10px;margin-top:18px;display:grid}.evaluation-history-list article{background:#fff;border:1px solid #dfe8f5;border-radius:14px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:4px 16px;padding:14px 16px;display:grid}.evaluation-history-list article div,.evaluation-history-list article p{grid-column:1;gap:2px;margin:0;display:grid}.evaluation-history-list article>small{color:var(--muted);grid-column:2}.evaluation-score{color:var(--cobalt-deep);grid-area:1/2;font-size:22px}.class-manual-label{color:#426389;margin:3px 0 7px;font-weight:750;display:block}.scholarship-check{color:#254a75;background:#f7faff;border:1px solid #cddcf0;border-radius:12px;align-items:center;gap:10px;min-height:46px;padding:11px 13px;font-weight:750;display:flex}.scholarship-check input{width:18px;height:18px;accent-color:var(--lime-deep)}.prospect-followup-heading{justify-content:space-between}.prospect-heading-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.prospect-heading-actions a{text-decoration:none}.diagnostic-connection-strip{color:#52731f;background:#f5faec;border:1px solid #cfe6a8;border-radius:12px;align-items:center;gap:10px;margin:0 0 14px;padding:10px 12px;display:flex}.diagnostic-connection-strip--error{color:#8a5428;background:#fff7ef;border-color:#f0c7a7}.diagnostic-connection-strip--error .diagnostic-connection-icon{background:#d98745}.diagnostic-connection-strip--error strong,.diagnostic-connection-strip--error small{color:#8a5428}.diagnostic-connection-icon{color:#fff;background:#78a92a;border-radius:10px;flex:0 0 34px;place-items:center;width:34px;height:34px;display:grid}.diagnostic-connection-strip div,.diagnostic-detail{gap:2px;display:grid}.diagnostic-connection-strip strong{color:#45651a;font-size:11px}.diagnostic-connection-strip small,.diagnostic-detail{color:#6c7d54;font-size:9px}.diagnostic-view-button{color:#235b9f;background:#f2f7ff;border:1px solid #bfd3ef;border-radius:8px;align-items:center;gap:5px;width:fit-content;margin-top:3px;padding:6px 8px;font-size:9px;font-weight:800;display:inline-flex}.diagnostic-view-button:hover{background:#e8f1ff;border-color:#78a5df}.prospect-row td:first-child{box-shadow:inset 4px 0 #0000}.prospect-row--warning td:first-child{box-shadow:inset 5px 0 #7c3aed}.prospect-row--warning td{background:#f5f0ff;border-color:#d8c6ff}.prospect-row--success td:first-child{box-shadow:inset 4px 0 #7fc418}.prospect-row--danger td:first-child{box-shadow:inset 4px 0 #d45256}.prospect-row--success td{color:#46672d;background:#e5f6d3;border-color:#bddf96}.prospect-row--danger td{color:#8f2730;background:#ffe3e5;border-color:#e8aeb3}.prospect-row--success:hover td{background:#d9efc2}.prospect-row--danger:hover td{background:#ffd4d8}.prospect-entry-date{white-space:nowrap;color:#324665;font-size:11px}.prospect-status-control{width:max-content;display:block}.prospect-status-select{color:#5b21b6;cursor:pointer;background:#f3e8ff;border:1px solid #a78bfa;border-radius:999px;min-height:34px;padding:0 30px 0 11px;font-size:10px;font-weight:850}.prospect-color-legend{flex-wrap:wrap;gap:8px;margin:10px 0 14px;display:flex}.prospect-color-legend span{border-radius:999px;padding:6px 10px;font-size:11px;font-weight:850}.prospect-color-legend .is-pending{color:#6d28d9;background:#ede9fe}.prospect-color-legend .is-enrolled{color:#166534;background:#dcfce7}.prospect-color-legend .is-cancelled{color:#b91c1c;background:#fee2e2}.prospect-color-legend .is-evaluation{color:#1d4ed8;background:#dbeafe}.prospect-color-legend .is-sample{color:#be185d;background:#fce7f3}.prospect-status-select--success{color:#477414;background:#eef9dc;border-color:#a9d36e}.prospect-status-select--danger{color:#9b3038;background:#fff4f4;border-color:#e1a1a5}.prospect-status-select:disabled,.prospect-sample-date-control input:disabled{cursor:wait;opacity:.58}.prospect-today-agenda{background:linear-gradient(145deg,#65dce21f,#fffffff5);border:1px solid #3155a633;border-radius:18px;margin:18px 0;padding:18px}.prospect-today-agenda-heading{align-items:center;gap:12px;display:flex}.prospect-today-agenda-heading>span{color:#fff;background:#17275c;border-radius:13px;flex:none;place-items:center;width:42px;height:42px;display:grid}.prospect-today-agenda-heading div{flex:1}.prospect-today-agenda-heading p{color:#3155a6;letter-spacing:.08em;text-transform:uppercase;margin:0;font-size:10px;font-weight:900}.prospect-today-agenda-heading h3{color:#17275c;margin:3px 0 0;font-size:16px}.prospect-today-agenda-heading>strong{color:#17275c;background:#cae900;border-radius:999px;padding:8px 12px;font-size:11px}.prospect-today-agenda-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:14px;display:grid}.prospect-today-appointment{background:#fff;border:1px solid #dfe6f0;border-radius:14px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:11px;padding:13px;display:grid}.prospect-today-appointment.is-pending{background:linear-gradient(135deg,#fffdf4,#fff8db);border:2px solid #f0b429;box-shadow:0 8px 22px #cc8f0021}.prospect-today-appointment-icon{color:#3155a6;background:#3155a61a;border-radius:12px;place-items:center;width:38px;height:38px;display:grid}.prospect-today-appointment--sample_class .prospect-today-appointment-icon{color:#546600;background:#cae9003d}.prospect-today-appointment div{gap:3px;min-width:0;display:grid}.prospect-today-appointment div strong{color:#17275c;text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.prospect-today-appointment div small{color:#728096;font-size:10px}.prospect-today-kind{color:#193e88;background:#dce9ff;border-radius:999px;width:fit-content;padding:4px 8px;font-size:10px;font-weight:900}.prospect-today-kind.is-sample_class{color:#496000;background:#e4f6a2}.prospect-today-appointment a{color:#fff;background:#1f9d55;border-radius:11px;justify-content:center;align-items:center;gap:6px;min-height:38px;padding:0 11px;font-size:10px;font-weight:850;text-decoration:none;display:inline-flex}.prospect-confirmation-unavailable{color:#9a3540;font-size:10px;font-weight:800}.appointment-inline-actions{flex-wrap:wrap;align-items:center;gap:6px!important;display:flex!important}.prospect-today-appointment>.appointment-inline-actions{border-top:1px solid #c7971f33;grid-column:1/-1;padding-top:5px}.appointment-action,.appointment-reschedule-confirm{cursor:pointer;border:1px solid #0000;border-radius:9px;justify-content:center;align-items:center;gap:5px;min-height:31px;padding:0 9px;font-size:10px;font-weight:850;display:inline-flex}.appointment-action.completed{color:#176738;background:#eaf8ef;border-color:#a8d9b9}.appointment-action.reschedule{color:#274f9c;background:#eef4ff;border-color:#b9cbed}.appointment-action.cancel{color:#9d3340;background:#fff0f2;border-color:#e8bbc0}.appointment-action:disabled,.appointment-reschedule-confirm:disabled{cursor:wait;opacity:.55}.appointment-reschedule-form{background:#fff;border:1px solid #cbd8ed;border-radius:11px;flex-wrap:wrap;align-items:end;width:100%;padding:10px;gap:8px!important;display:flex!important}.appointment-reschedule-form label{color:#60708a;gap:4px;font-size:9px;font-weight:800;display:grid}.appointment-reschedule-form input{color:#19345b;background:#fff;border:1px solid #c8d4e6;border-radius:8px;min-height:34px;padding:0 8px}.appointment-reschedule-confirm{color:#fff;background:#244fa1}.prospect-appointment-history-row>td{background:#f7faff;padding:0 12px 16px!important}.prospect-row.has-pending-appointment>td{background:#fffaf0;border-top-color:#efca68;border-bottom-color:#efca68}.prospect-row.has-pending-appointment>td:first-child{box-shadow:inset 5px 0 #e6aa00}.prospect-pending-schedule-list{gap:4px;margin-top:3px;display:grid!important}.prospect-pending-schedule{background:#e9f1ff;border:1px solid #9bb8e9;border-radius:9px;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:1px 5px;width:fit-content;padding:5px 7px;color:#193e88!important;display:grid!important}.prospect-pending-schedule.is-sample_class{background:#f0f8cf;border-color:#b6cf60;color:#496000!important}.prospect-pending-schedule svg{grid-row:1/3}.prospect-pending-schedule strong,.prospect-pending-schedule small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.prospect-pending-schedule strong{font-size:10px;font-weight:900}.prospect-pending-schedule small{font-size:9px;font-weight:750;color:inherit!important}.prospect-appointment-time{color:#3155a6!important;font-weight:850!important}.prospect-appointment-history{background:#fff;border:1px solid #d6e1f0;border-radius:15px;padding:16px}.prospect-appointment-history-heading,.prospect-appointment-record,.prospect-appointment-record-main{align-items:center;display:flex}.prospect-appointment-history-heading{justify-content:space-between;gap:12px;margin-bottom:12px}.prospect-appointment-history-heading>div,.prospect-appointment-record-main>div{gap:3px;display:grid}.prospect-appointment-history-heading strong{color:#17275c;font-size:14px}.prospect-appointment-history-heading small,.prospect-appointment-record small{color:#728096;font-size:10px}.prospect-appointment-history-heading>span{color:#244b90;background:#eaf1ff;border-radius:999px;padding:6px 9px;font-size:10px;font-weight:850}.prospect-appointment-history-list{gap:8px;display:grid}.prospect-appointment-record{background:#fbfcfe;border:1px solid #dfe6f0;border-left:5px solid #8794a8;border-radius:12px;flex-wrap:wrap;gap:12px;padding:12px}.prospect-appointment-record.is-scheduled{background:#fffaf0;border-color:#edc153 #edc153 #edc153 #e4a900}.prospect-appointment-record.is-completed{border-left-color:#2c9b5a}.prospect-appointment-record.is-rescheduled{border-left-color:#3d72ce}.prospect-appointment-record.is-cancelled{opacity:.82;border-left-color:#bd5360}.prospect-appointment-record-main{flex:1;gap:9px;min-width:230px}.prospect-appointment-record-main>span{color:#3155a6;background:#edf3ff;border-radius:10px;flex:none;place-items:center;width:34px;height:34px;display:grid}.prospect-appointment-record-main strong{color:#19345b;font-size:12px}.appointment-status{border-radius:999px;padding:6px 9px;font-size:9px;font-weight:900}.appointment-status.is-scheduled{color:#7d5900;background:#ffe9a9}.appointment-status.is-completed{color:#176738;background:#dcf4e5}.appointment-status.is-rescheduled{color:#2854a0;background:#e1ebff}.appointment-status.is-cancelled{color:#963642;background:#f8e1e4}.prospect-appointment-record>.appointment-inline-actions{border-top:1px solid #e3e8f0;width:100%;padding-top:8px}.prospect-appointment-history-empty{color:#718096;background:#f4f7fb;border-radius:10px;margin:0;padding:12px;font-size:11px}.prospect-today-agenda-empty{color:#66758b;background:#ffffffbf;border-radius:12px;align-items:center;gap:8px;margin-top:14px;padding:13px;font-size:11px;font-weight:750;display:flex}.prospect-today-agenda footer{color:#718096;margin-top:12px;font-size:9px}.prospect-report{background:linear-gradient(145deg,#f8faff,#f5f8f1);border:1px solid #dfe6f0;border-radius:18px;margin:18px 0;padding:18px}.prospect-report-heading,.prospect-list-toolbar{justify-content:space-between;align-items:center;gap:16px;display:flex}.prospect-report-heading span{color:#74829a;letter-spacing:.08em;text-transform:uppercase;font-size:10px;font-weight:800}.prospect-report-heading h3,.prospect-list-toolbar h3{color:#162657;margin:3px 0 0;font-size:16px}.prospect-report-heading>strong{color:#fff;background:#17275c;border-radius:999px;padding:8px 12px;font-size:11px}.prospect-report-grid{grid-template-columns:repeat(5,minmax(100px,1fr));gap:10px;margin-top:14px;display:grid}.prospect-report-card{background:#fff;border:1px solid #e0e6ef;border-radius:14px;align-content:center;min-height:88px;padding:14px;display:grid;position:relative;overflow:hidden}.prospect-report-card:before{content:"";background:#17275c;width:5px;position:absolute;inset:0 auto 0 0}.prospect-report-card--yellow:before{background:#f1bc12}.prospect-report-card--blue:before{background:#3155a6}.prospect-report-card--aqua:before{background:#4ecad3}.prospect-report-card--lime:before{background:#9fbd00}.prospect-report-card strong{color:#17275c;font-size:25px;line-height:1}.prospect-report-card span{color:#6f7b8f;margin-top:7px;font-size:10px;font-weight:800}.prospect-list-toolbar{margin:20px 0 12px}.student-list-toolbar{background:linear-gradient(135deg,#fff,#f5f9ff);border:1px solid #dfe8f4;border-radius:16px;grid-template-columns:minmax(190px,1fr) minmax(250px,.8fr) auto;padding:16px;display:grid}.student-list-toolbar p{color:#748197;margin:5px 0 0;font-size:10px}.student-data-table{overscroll-behavior:contain;scrollbar-color:#6f3aa0 #e8edf5;scrollbar-width:auto;min-height:230px;max-height:calc(100vh - 300px)}.student-data-table .data-table{min-width:1380px}.student-actions-row td{background:#f8faff;border-bottom:2px solid #dce5f1;padding:9px 16px 14px}.student-actions-row:hover{background:#f8faff!important}.student-horizontal-actions{flex-wrap:nowrap;width:max-content;max-width:calc(100vw - 320px);position:sticky;left:16px}.student-horizontal-actions .table-action{white-space:nowrap}.student-information-row td{border-bottom:0;padding-bottom:11px}.student-search-control{color:#5d7798;background:#fff;border:1px solid #cbd9ea;border-radius:12px;align-items:center;gap:8px;min-height:44px;padding:0 12px;display:flex;box-shadow:0 6px 18px #1136640d}.student-search-control:focus-within{border-color:var(--cobalt);box-shadow:0 0 0 3px #246bfd1a}.student-search-control input{color:#172f51;background:0 0;border:0;outline:0;flex:1;min-width:0;font-size:11px}.student-search-control button{color:#6c7e94;background:#edf2f8;border:0;border-radius:8px;place-items:center;width:28px;height:28px;display:grid}.prospect-list-toolbar p{color:#7a8798;margin:4px 0 0;font-size:11px}.prospect-view-switch{background:#edf1f6;border-radius:12px;gap:5px;padding:4px;display:flex}.prospect-view-switch button{color:#647085;cursor:pointer;background:0 0;border:0;border-radius:9px;padding:8px 11px;font-size:10px;font-weight:800}.prospect-view-switch button.is-active{color:#17275c;background:#fff;box-shadow:0 2px 8px #1828561f}.prospect-status-filter{background:#f7f2e9;border-radius:12px;gap:5px;padding:4px;display:flex}.prospect-status-filter button{color:#7a6c58;cursor:pointer;background:0 0;border:0;border-radius:9px;padding:8px 10px;font-size:9px;font-weight:800}.prospect-status-filter button.is-active{color:#3a526f;background:#fff;box-shadow:0 2px 8px #3630261a}.prospect-report-filters{background:#f7faff;border:1px solid #dce6f1;border-radius:16px;grid-template-columns:minmax(220px,1.35fr) repeat(3,minmax(170px,1fr)) auto;align-items:end;gap:10px;margin:14px 0;padding:14px;display:grid}.prospect-search-control{color:#53657d;gap:6px;font-size:10px;font-weight:800;display:grid}.prospect-search-control>div{color:#58749a;background:#fff;border:1px solid #cad7e7;border-radius:10px;align-items:center;gap:8px;min-height:39px;padding:0 11px;display:flex}.prospect-search-control input{color:#172f51;background:0 0;border:0;outline:0;flex:1;min-width:0}.prospect-clear-filters{color:#53657d;cursor:pointer;background:#fff;border:1px solid #d4deea;border-radius:10px;justify-content:center;align-items:center;gap:6px;min-height:39px;padding:0 12px;font-size:10px;font-weight:800;display:inline-flex}.prospect-schedule-group-row td{color:#17275c;border-top:2px solid #cddaf0;border-bottom:1px solid #dfe8f4;background:linear-gradient(90deg,#edf3ff,#f8fbff)!important;padding:11px 15px!important}.prospect-schedule-group-row td,.prospect-schedule-value{font-size:10px;font-weight:800}.prospect-schedule-group-row td{display:table-cell}.prospect-schedule-group-row svg{vertical-align:middle;color:#3155a6;margin-right:7px}.prospect-schedule-value{color:#274876;background:#eaf2ff;border-radius:9px;flex-direction:column;gap:2px;max-width:180px;padding:7px 9px;display:flex}.prospect-schedule-value+.prospect-schedule-value{margin-top:6px}.prospect-schedule-value small{color:inherit;letter-spacing:.06em;text-transform:uppercase;opacity:.72;font-size:8px}.prospect-schedule-value.is-alternate{color:#5a397c;background:#f2eafd}.prospect-schedule-value.is-third{color:#17627a;background:#e7f7fb}.prospect-schedule-value{min-width:185px;font-size:12px;line-height:1.35}.prospect-schedule-value small{font-size:10px}.prospect-schedule-value.is-missing{color:#94631d;background:#fff2cf}.prospect-whatsapp-action{text-decoration:none;color:#136c45!important;background:#effbf4!important;border-color:#bde5cf!important}.prospect-actions-row td{border-bottom:2px solid #dce5f1;background:#f8faff!important;padding:9px 16px 14px!important}.prospect-bottom-actions{flex-wrap:wrap;width:max-content;max-width:calc(100vw - 320px);position:sticky;left:16px}.prospect-print-heading,.prospect-print-list{display:none}.prospect-print-button{white-space:nowrap}@media (width<=1100px){.prospect-report-filters{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=680px){.prospect-report-filters{grid-template-columns:1fr}.prospect-bottom-actions{max-width:calc(100vw - 40px);left:10px}}@media print{@page{size:landscape;margin:5mm}body.printing-prospect-report *{visibility:hidden!important}body.printing-prospect-report .prospect-followup-report-print,body.printing-prospect-report .prospect-followup-report-print *{visibility:visible!important}body.printing-prospect-report .prospect-followup-report-print{color:#17275c;background:#fff;width:100%;position:absolute;inset:0}body.printing-prospect-report .prospect-print-heading{margin-bottom:7px;display:block}body.printing-prospect-report .prospect-print-heading span,body.printing-prospect-report .prospect-print-heading p{color:#64748b;font-size:10px}body.printing-prospect-report .prospect-print-heading h1{color:#17275c;margin:2px 0;font-size:18px}body.printing-prospect-report .prospect-report-filters,body.printing-prospect-report .prospect-color-legend,body.printing-prospect-report .prospect-view-switch,body.printing-prospect-report .prospect-status-filter,body.printing-prospect-report .prospect-print-button,body.printing-prospect-report .prospect-actions-row,body.printing-prospect-report .diagnostic-view-button,body.printing-prospect-report .prospect-appointment-history-row,body.printing-prospect-report .data-table-wrap{display:none!important}body.printing-prospect-report .prospect-print-list,body.printing-prospect-report .prospect-print-list *{visibility:visible!important}body.printing-prospect-report .prospect-print-list{column-count:2;column-gap:7mm;display:block!important}body.printing-prospect-report .prospect-list-toolbar{margin:0 0 10px}body.printing-prospect-report,body.printing-prospect-report .crm-shell,body.printing-prospect-report .workspace,body.printing-prospect-report .content,body.printing-prospect-report .module-view,body.printing-prospect-report .data-card{width:100%!important;max-width:none!important;height:auto!important;max-height:none!important;margin:0!important;padding:0!important;overflow:visible!important}body.printing-prospect-report .prospect-print-schedule-heading{display:none!important}body.printing-prospect-report .prospect-print-card{break-inside:avoid;page-break-inside:avoid;background:#fff;border:1.5px solid #b9c9df;border-radius:8px;width:100%;margin:0 0 4mm;padding:8px;display:inline-block}body.printing-prospect-report .prospect-print-card header{border-bottom:1px solid #dbe4f0;justify-content:space-between;align-items:flex-start;gap:8px;padding-bottom:6px;display:flex}body.printing-prospect-report .prospect-print-card h3{color:#17275c;margin:0;font-size:15px}body.printing-prospect-report .prospect-print-card header p{color:#40536d;margin:3px 0 0;font-size:12px}body.printing-prospect-report .prospect-print-status{border-radius:999px;padding:4px 7px;font-size:11px}body.printing-prospect-report .prospect-print-status--warning{color:#694606;background:#fff1bf!important}body.printing-prospect-report .prospect-print-status--success{color:#17613d;background:#dff5e8!important}body.printing-prospect-report .prospect-print-status--danger{color:#8c2631;background:#ffe4e7!important}body.printing-prospect-report .prospect-print-details{grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;margin-top:6px;display:grid}body.printing-prospect-report .prospect-print-details>div,body.printing-prospect-report .prospect-print-schedules>div{-webkit-print-color-adjust:exact;print-color-adjust:exact;border-radius:6px;gap:2px;padding:5px 6px;display:grid;background:#f5f8fc!important}body.printing-prospect-report .prospect-print-details span,body.printing-prospect-report .prospect-print-schedules span,body.printing-prospect-report .prospect-print-notes span{color:#63738a;text-transform:uppercase;font-size:10px;font-weight:800}body.printing-prospect-report .prospect-print-details strong,body.printing-prospect-report .prospect-print-schedules strong{color:#17275c;font-size:12px;line-height:1.35}body.printing-prospect-report .prospect-print-schedules{grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;margin-top:5px;display:grid}body.printing-prospect-report .prospect-print-schedules .is-option-1{border:1px solid #9db9e0;grid-column:1/-1;background:#edf4ff!important}body.printing-prospect-report .prospect-print-schedules .is-option-2{border:1px solid #c9addf;background:#f5edfb!important}body.printing-prospect-report .prospect-print-schedules .is-option-3{border:1px solid #9fd1dd;background:#eaf8fb!important}body.printing-prospect-report .prospect-print-notes{border-top:1px solid #dbe4f0;margin-top:5px;padding-top:5px}body.printing-prospect-report .prospect-print-notes p{color:#253d5b;margin:2px 0 0;font-size:12px;line-height:1.35}}.prospect-date-stack,.prospect-pending-result,.prospect-notes{gap:4px;width:max-content;max-width:220px;display:grid}.prospect-date-stack{grid-template-columns:17px 1fr;align-items:center}.prospect-date-stack svg{color:#52709a}.prospect-date-stack small{color:#8995a7;grid-column:2;font-size:9px}.prospect-sample-date-control{grid-column:1/-1;align-items:center;gap:7px;display:flex}.prospect-sample-date-control input{color:#243b5e;width:132px;min-height:34px;font:inherit;cursor:pointer;background:#fff;border:1px solid #cbd8e9;border-radius:9px;padding:0 8px;font-size:10px;font-weight:750}.prospect-sample-date-control input:focus,.prospect-status-select:focus{outline-offset:1px;outline:3px solid #246bfd29}.prospect-pending-result small,.prospect-notes small{color:#8995a7;font-size:9px;line-height:1.45}.prospect-notes strong{white-space:normal;line-height:1.45}.diagnostic-modal-backdrop{z-index:80}.diagnostic-evaluation-modal{background:#f7f9fc;width:min(980px,100%);padding:28px}.diagnostic-modal-header{align-items:center;gap:14px;padding-right:44px;display:flex}.diagnostic-modal-header .modal-icon{flex:0 0 48px;margin:0}.diagnostic-modal-header h2{margin:2px 0 3px}.diagnostic-modal-header p:last-child{color:#718096;margin:0;font-size:10px}.diagnostic-summary-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;margin:20px 0;display:grid}.diagnostic-summary-grid article{background:#fff;border:1px solid #dbe5f2;border-radius:11px;gap:4px;padding:11px;display:grid}.diagnostic-summary-grid small{color:#7b899b;letter-spacing:.05em;text-transform:uppercase;font-size:8px;font-weight:800}.diagnostic-summary-grid strong{color:#173965;font-size:18px}.diagnostic-summary-grid .success{background:#f5faec;border-color:#c9e4a1}.diagnostic-summary-grid .success strong{color:#507a18}.diagnostic-summary-grid .danger{background:#fff3f3;border-color:#efb9b9}.diagnostic-summary-grid .danger strong{color:#ad3f3f}.diagnostic-summary-grid .warning{background:#fff9ed;border-color:#efd4a6}.diagnostic-summary-grid .warning strong{color:#956622}.diagnostic-answer-list{gap:12px;display:grid}.diagnostic-answer-card{background:#fff;border:1px solid #dce5f1;border-left:4px solid #6f9ad2;border-radius:13px;overflow:hidden}.diagnostic-answer-card--correct{border-left-color:#80ad37}.diagnostic-answer-card--incorrect{border-left-color:#d66565}.diagnostic-answer-card--omitted{border-left-color:#d6a24c}.diagnostic-answer-card>header{justify-content:space-between;align-items:center;gap:12px;padding:10px 13px 0;display:flex}.diagnostic-answer-card>header span{color:#6d7d92;letter-spacing:.06em;text-transform:uppercase;font-size:8px;font-weight:850}.diagnostic-answer-card>header strong{color:#4e7a17;background:#eef7df;border-radius:999px;padding:4px 7px;font-size:8px}.diagnostic-answer-card--incorrect>header strong{color:#a13d3d;background:#ffeded}.diagnostic-answer-card--omitted>header strong{color:#8a5d1d;background:#fff3d8}.diagnostic-answer-card h3{color:#182f4d;margin:7px 13px 10px;font-size:12px;line-height:1.45}.diagnostic-option-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;padding:0 13px 13px;display:grid}.diagnostic-option{background:#fafbfd;border:1px solid #e0e7f0;border-radius:9px;grid-template-columns:25px 1fr auto;align-items:center;gap:8px;min-height:42px;padding:7px;display:grid}.diagnostic-option>span{color:#60738b;background:#eaf0f7;border-radius:7px;place-items:center;width:25px;height:25px;font-size:9px;font-weight:850;display:grid}.diagnostic-option p{color:#52647a;margin:0;font-size:10px;line-height:1.35}.diagnostic-option small{color:#728296;text-align:right;font-size:7px;font-weight:800}.diagnostic-option.is-correct{background:#f3f9e9;border-color:#b8d98a}.diagnostic-option.is-correct>span{color:#fff;background:#76a62c}.diagnostic-option.is-correct small{color:#567e1e}.diagnostic-option.is-selected-wrong{background:#fff0f0;border-color:#e7a7a7}.diagnostic-option.is-selected-wrong>span{color:#fff;background:#cc5b5b}.diagnostic-option.is-selected-wrong small{color:#a34242}.diagnostic-details-empty{color:#56708f;background:#fff;border:1px dashed #c8d7e9;border-radius:12px;align-items:center;gap:12px;padding:18px;display:flex}.diagnostic-details-empty div{gap:3px;display:grid}.diagnostic-details-empty span{font-size:10px}@media (width<=700px){.prospect-schedule-options>div{grid-template-columns:1fr}.diagnostic-evaluation-modal{padding:20px 14px}.diagnostic-modal-header{align-items:flex-start}.diagnostic-summary-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.diagnostic-option-list{grid-template-columns:1fr}.diagnostic-option{grid-template-columns:25px 1fr}.diagnostic-option small{text-align:left;grid-column:2}}.score-level{justify-items:start;gap:8px;display:grid}.followup-level-preview{color:#6d7e54;background:#f6fbe9;border:1px solid #cae2a0;border-radius:11px;align-content:center;gap:2px;padding:10px 12px;display:grid}.followup-level-preview small,.followup-level-preview span{font-size:8px}.followup-level-preview strong{color:#52791c;font-size:20px}.teacher-pay-stack,.cash-stack{gap:18px;display:grid}.teacher-pay-stack>.privacy-strip,.cash-stack>.privacy-strip{border:1px solid #d8e5f8;border-radius:14px}.teacher-pay-controls{border-bottom:1px solid var(--border);grid-template-columns:minmax(170px,1fr) minmax(170px,1fr) minmax(220px,1.2fr);align-items:end;gap:14px;padding:20px;display:grid}.rate-callout{color:#668047;background:#f5fae9;border:1px solid #d6e8ad;border-radius:12px;gap:2px;padding:11px 13px;display:grid}.rate-callout small,.rate-callout span{font-size:8px}.rate-callout strong{color:#456d13;font-size:16px}.teacher-pay-checkout{border-top:1px solid var(--border);background:#f8faff;grid-template-columns:minmax(190px,1fr) minmax(160px,.8fr) 145px 145px auto;align-items:end;gap:14px;padding:18px 20px;display:grid}.teacher-pay-checkout>div{gap:2px;display:grid}.teacher-pay-checkout>div small,.teacher-pay-checkout>div span{color:#718097;font-size:9px}.teacher-pay-checkout>div strong{color:#12345f;font-size:22px}.teacher-pay-report-actions{background:#f8faff;flex-wrap:wrap;justify-content:flex-end;gap:10px;padding:0 20px 18px;display:flex}.teacher-pay-split-check{background:#f8faff;padding:10px 20px 14px;font-size:12px;font-weight:800}.teacher-pay-split-check.is-balanced{color:#24734a}.teacher-pay-split-check.is-unbalanced{color:#a53c47}.teacher-payment-print{display:none}.history-filters{border-top:1px solid var(--border);border-bottom:1px solid var(--border);background:#fbfcff;flex-wrap:wrap;align-items:end;gap:10px;padding:15px 20px;display:flex}.cash-month-row{color:#718198;background:#fff;border:1px solid #d8e3f2;border-radius:14px;justify-content:space-between;align-items:end;gap:16px;padding:16px 18px;font-size:9px;display:flex}.cash-kpis{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.cash-kpi{background:#fff;border:1px solid #dbe4f0;border-radius:16px;gap:8px;padding:19px;display:grid;box-shadow:0 8px 22px #0e24440a}.cash-kpi small{color:#748197;text-transform:uppercase;font-size:9px;font-weight:750}.cash-kpi strong{color:#17375e;font-size:23px}.cash-kpi.income{border-top:4px solid #75b642}.cash-kpi.expense{border-top:4px solid #dc6f72}.cash-kpi.balance{border-top:4px solid #3f78c2}.method-totals{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.method-totals button,.method-totals article{text-align:left;color:#718096;background:#fbfcff;border:1px solid #dce5f1;border-radius:13px;gap:5px;width:100%;padding:14px 16px;display:grid}.method-totals button.is-active,.cash-kpi.is-active{outline:3px solid #7137a647;box-shadow:0 8px 22px #44266f24}.method-totals span{color:#24466f;font-size:12px;font-weight:800}.method-totals small{font-size:9px}.method-totals strong{color:#183b66;font-size:10px}.money-in{color:#438022!important}.money-out{color:#b24448!important}.receipt-link{color:#2562ad;align-items:center;gap:4px;font-size:9px;font-weight:750;display:inline-flex}.primary-button:disabled{cursor:not-allowed;opacity:.66;transform:none}.report-dashboard{gap:18px;display:grid}.report-cover{background:radial-gradient(circle at 92% 12%,#bee93633,#0000 27%),linear-gradient(135deg,#fff 0%,#f4f8ff 72%,#f1f9dc 100%);border:1px solid #d7e2f1;border-radius:20px;justify-content:space-between;align-items:center;gap:22px;padding:22px 24px;display:flex;overflow:hidden;box-shadow:0 12px 34px #0e24440f}.report-cover-brand{align-items:center;gap:17px;min-width:0;display:flex}.report-cover-brand img{object-fit:contain;flex:none;width:72px;height:72px}.report-cover-brand div{gap:3px;display:grid}.report-cover-brand span,.report-section-heading span{color:#4773aa;letter-spacing:.12em;text-transform:uppercase;font-size:9px;font-weight:850}.report-cover-brand h2{color:#0e2c54;margin:0;font-size:clamp(20px,2vw,28px)}.report-cover-brand p{color:#74839a;margin:0;font-size:11px}.report-actions{flex:none;gap:9px;display:flex}.report-filter-panel{background:#fff;border:1px solid #dce5f1;border-radius:16px;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px;padding:17px 19px;display:grid}.report-filter-panel .field{margin:0}.report-kpi-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:13px;display:grid}.report-kpi{min-height:118px;color:inherit;font:inherit;text-align:left;cursor:pointer;background:#fff;border:1px solid #dce5f1;border-radius:16px;align-content:center;gap:5px;padding:17px 18px;transition:transform .16s,border-color .16s,box-shadow .16s;display:grid;position:relative;overflow:hidden;box-shadow:0 8px 24px #0f284b0b}.report-kpi:hover,.report-kpi:focus-visible,.report-kpi.is-selected{border-color:#7aa8ef;outline:none;transform:translateY(-2px);box-shadow:0 12px 28px #1c5ab824}.report-dashboard.is-focused .report-overview-only{display:none}.report-focused-section{border:2px solid #b9d1f7}.report-student-link{color:#145fca;font:inherit;text-align:left;text-underline-offset:3px;cursor:pointer;background:0 0;border:0;padding:0;font-weight:800;-webkit-text-decoration:underline #a8c9f6;text-decoration:underline #a8c9f6;display:inline}.report-kpi:after{content:"";background:#153a6c;width:4px;position:absolute;inset:0 auto 0 0}.report-kpi span{color:#748299;letter-spacing:.06em;text-transform:uppercase;font-size:9px;font-weight:800}.report-kpi strong{color:#173a65;text-overflow:ellipsis;font-size:clamp(19px,2vw,26px);line-height:1.1;overflow:hidden}.report-kpi small{color:#8a96a8;font-size:9px}.report-kpi.blue:after{background:#4384dd}.report-kpi.lime:after{background:#9dcc30}.report-kpi.coral:after{background:#df7377}.report-kpi.money:after{background:#58a44d}.report-kpi.expense:after{background:#cd585d}.report-kpi.violet:after{background:#7b68c7}.report-kpi.yellow:after{background:#e8b438}.report-section{background:#fff;border:1px solid #dce5f1;border-radius:17px;min-width:0;overflow:hidden;box-shadow:0 8px 26px #0f284b0a}.report-section-heading{background:linear-gradient(90deg,#fbfdff,#f7faff);border-bottom:1px solid #e2e9f2;justify-content:space-between;align-items:center;gap:16px;min-height:72px;padding:15px 19px;display:flex}.report-section-heading div{gap:3px;display:grid}.report-section-heading h3{color:#16375f;margin:0;font-size:16px}.report-section-heading>strong{color:#466990;text-align:right;font-size:10px}.report-table-wrap{width:100%;overflow-x:auto}.report-table{border-collapse:collapse;width:100%;min-width:660px}.report-table th{color:#6f7f95;letter-spacing:.07em;text-align:left;text-transform:uppercase;background:#f5f8fc;padding:10px 13px;font-size:8px;font-weight:850}.report-table td{color:#52647d;vertical-align:middle;border-top:1px solid #edf1f6;padding:11px 13px;font-size:10px}.report-table tbody tr:first-child td{border-top:0}.report-table td strong,.report-table td small{display:block}.report-table td strong{color:#1b3c65;font-size:10px}.report-table td small{color:#8a96a8;text-overflow:ellipsis;white-space:nowrap;max-width:280px;margin-top:3px;font-size:8px;overflow:hidden}.report-count{color:#3e698f;background:#edf3fa;border-radius:9px;place-items:center;width:28px;height:28px;font-size:10px;font-weight:850;display:grid}.report-count.present{color:#3e8a3b;background:#edf8e8}.report-count.absent{color:#c14c51;background:#fff0f1}.report-count.advisory{color:#226ba9;background:#eaf5ff}.report-count.sample{color:#7b61b5;background:#f2edff}.report-incident{color:#a84348;max-width:260px;font-size:9px;font-weight:700;display:block}.report-no-incident{color:#6f9852;font-size:9px}.report-empty{text-align:center;color:#8b97a8!important;padding:28px!important}.report-two-column{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.report-two-column .report-table{min-width:560px}.report-footer-note{color:#7b899c;align-items:center;gap:7px;padding:4px 2px;font-size:9px;display:flex}.report-footer-note span{color:#9aa4b2;margin-left:auto}.student-status-cell{gap:5px;display:grid}.student-status-cell small{color:#7f8da1;white-space:nowrap;font-size:8px}.student-documents-modal{width:min(980px,100vw - 30px);max-height:calc(100vh - 36px);overflow-y:auto}.student-file-layout{grid-template-columns:minmax(260px,.8fr) minmax(330px,1.2fr);gap:15px;margin-top:18px;display:grid}.student-file-upload,.student-files-panel,.student-status-history{background:#fafdff;border:1px solid #dce5f1;border-radius:15px;align-content:start;gap:13px;padding:17px;display:grid}.student-file-heading{color:#285e9b;align-items:center;gap:9px;display:flex}.student-file-heading div{gap:2px;display:grid}.student-file-heading strong{color:#17395f;font-size:11px}.student-file-heading small{color:#8491a3;font-size:8px}.student-document-dropzone{cursor:pointer;color:#336ea8;text-align:center;background:#f3f8ff;border:1px dashed #9fbcdf;border-radius:13px;place-items:center;gap:5px;min-height:108px;padding:14px;font-size:10px;font-weight:800;display:grid}.student-document-dropzone input{color:#6e7d92;width:100%;font-size:8px}.student-file-list{gap:8px;max-height:330px;display:grid;overflow-y:auto}.student-file-list article{background:#fff;border:1px solid #e0e7f0;border-radius:11px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;padding:10px;display:grid}.student-file-icon{color:#356eae;background:#edf4ff;border-radius:10px;place-items:center;width:36px;height:36px;display:grid}.student-file-list article>div{gap:2px;min-width:0;display:grid}.student-file-list article>div strong{color:#1b3b62;text-overflow:ellipsis;white-space:nowrap;font-size:10px;overflow:hidden}.student-file-list article>div small{color:#8591a2;font-size:8px}.student-file-actions{gap:5px;display:flex}.student-file-actions .table-action:last-child{justify-content:center;width:32px;padding:0}.student-files-empty{color:#8a97a9;justify-content:center;align-items:center;gap:7px;min-height:150px;font-size:9px;display:flex}.student-status-history{margin-top:15px}.student-status-timeline{flex-wrap:wrap;gap:8px;display:flex}.student-status-timeline>span{color:#6f7e91;background:#fff;border:1px solid #e0e7ef;border-radius:10px;align-items:center;gap:6px;padding:8px 10px;font-size:8px;display:flex}.student-status-timeline i{background:#d1686d;border-radius:50%;width:8px;height:8px}.student-status-timeline i.active{background:#78ad38}.student-status-timeline strong{color:#294b72;font-size:9px}.student-status-timeline p{color:#8b97a8;margin:0;font-size:9px}@media (width<=1150px){.kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-grid,.growth-detail-grid{grid-template-columns:1fr}.daily-alerts{grid-template-columns:1fr 1fr}.daily-alert-title{grid-column:1/-1}.fivy-banner{grid-template-columns:140px 1fr}.fivy-banner .secondary-button{grid-column:2;width:fit-content}.materials-grid,.teacher-pay-controls{grid-template-columns:repeat(2,minmax(0,1fr))}.rate-callout{grid-column:1/-1}.teacher-pay-checkout{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=820px){.sidebar{transition:transform .22s;transform:translate(-104%)}.sidebar.is-open{transform:translate(0)}.mobile-overlay{z-index:25;background:#06172d7a;border:0;position:fixed;inset:0}.mobile-overlay.is-visible{display:block}.workspace{margin-left:0}.mobile-menu{display:grid}.global-search{width:min(330px,55vw)}.role-button>span:nth-child(2),.role-button>svg{display:none}.role-button{min-width:44px;padding:6px}.shield-dot{width:30px}.card-grid,.cash-kpis,.method-totals{grid-template-columns:1fr}}@media (width<=620px){.topbar{gap:10px;padding:10px 16px}.global-search,.avatar{display:none}.content{padding:28px 16px}.welcome-row{flex-direction:column;align-items:flex-start}.welcome-row .primary-button{width:100%}.module-header{flex-direction:column;align-items:flex-start}.module-header .primary-button{width:100%}.attendance-summary-controls,.cash-month-row,.prospect-followup-heading{flex-direction:column;align-items:flex-start}.attendance-summary-controls .inline-control{width:100%;margin-left:0}.teacher-pay-controls,.teacher-pay-checkout{grid-template-columns:1fr}.teacher-pay-checkout .primary-button,.prospect-followup-heading .secondary-button,.prospect-heading-actions{width:100%}.kpi-grid,.daily-alerts{grid-template-columns:1fr}.daily-alert-title{grid-column:auto}.growth-control-heading,.growth-card-heading{flex-direction:column;align-items:flex-start}.growth-report-link{justify-content:center;width:100%}.growth-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.growth-chart{grid-template-columns:repeat(6,minmax(34px,1fr));gap:3px;padding-inline:8px}.growth-bars{gap:2px}.growth-legend small{width:100%;margin-left:0}.notification-popover{width:auto;position:fixed;top:68px;left:12px;right:12px}.kpi-card{min-height:116px}.panel{padding:18px}.class-row{grid-template-columns:82px 1fr}.class-row>:last-child,.class-row.table-head>:last-child{display:none}.pipeline{grid-template-columns:repeat(2,1fr)}.pipeline-stage:last-child{grid-column:1/-1}.pipeline-track{display:none}.pipeline-summary{flex-direction:column;align-items:flex-start;margin-top:16px}.fivy-banner{grid-template-columns:96px 1fr;padding-right:16px}.banner-fivy-crop{min-height:112px}.banner-fivy-crop img{width:110px;height:126px}.fivy-banner .secondary-button{grid-column:1/-1;width:calc(100% - 16px);margin-left:16px}.panel-heading{align-items:flex-start}.panel-heading button{white-space:nowrap}.payment-month-banner{flex-direction:column;align-items:flex-start}.cutoff-header{grid-template-columns:auto 1fr}.cutoff-counts{grid-column:1/-1}.cutoff-actions{flex-direction:column;align-items:stretch}.student-form{grid-template-columns:1fr}.sheet-sync-panel{grid-template-columns:auto minmax(0,1fr)}.sheet-sync-button{grid-column:1/-1;width:100%}.sheet-sync-copy small{white-space:normal}.sheet-setup-actions{flex-direction:column;align-items:stretch}.sheet-setup-actions .secondary-button,.sheet-setup-actions .primary-button,.sheet-setup-actions .ghost-button{width:100%}.birthday-month-header{flex-direction:column;align-items:flex-start}.birthday-month-select{justify-content:space-between;width:100%}.birthday-month-select select{min-width:150px}.birthday-month-content{grid-template-columns:1fr}.birthday-month-count{min-height:96px}.birthday-month-list{grid-template-columns:1fr;max-height:280px}.field-wide,.modal-actions.field-wide{grid-column:auto}.record-card{grid-template-columns:auto 1fr}.record-card>.status-pill{grid-column:2;width:fit-content}.group-detail-modal{padding:22px 16px}.group-detail-header{grid-template-columns:auto minmax(0,1fr);align-items:start;padding-right:34px}.group-detail-header>.status-pill{grid-column:2;width:fit-content}.group-summary-grid,.group-student-list,.class-plan-details,.group-settings-panel,.group-settings-panel form{grid-template-columns:1fr}.group-settings-panel .primary-button{justify-content:center;width:100%}.group-section-heading{flex-direction:column;align-items:flex-start}.group-section-heading .primary-button,.month-assignment-control{width:100%}.month-assignment-control{justify-content:space-between}.teacher-assignment-form,.group-attendance-list article,.attendance-capture-toolbar,.group-attendance-roster>article,.attendance-group-links{grid-template-columns:1fr}.attendance-legend{grid-column:auto}.group-attendance-roster>article .student-initial{display:none}.group-attendance-roster .attendance-options{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.group-attendance-roster .attendance-option{justify-content:center;gap:6px;width:100%;display:flex}.group-attendance-roster .attendance-option span{font-size:8px;display:inline}.attendance-actions-cell{justify-items:stretch;width:100%}.clear-attendance-button,.attendance-day-plan-button{justify-content:center;width:100%}.class-report-details,.attendance-overview-filters,.attendance-overview-kpis{grid-template-columns:1fr}.attendance-overview-header{grid-template-columns:auto minmax(0,1fr);align-items:start}.attendance-overview-header .primary-button{grid-column:1/-1;width:100%}.teacher-assignment-form .secondary-button{width:100%}.class-plan-heading{grid-template-columns:1fr auto}.class-plan-date{grid-column:1/-1}.class-plan-details .class-plan-notes{grid-column:auto}.card-title-row{flex-direction:column;align-items:flex-start}.library-security{grid-template-columns:auto 1fr}.security-status{grid-column:1/-1;width:fit-content}.materials-grid,.teacher-multi-picker>div{grid-template-columns:1fr}.secure-viewer-header{flex-direction:column;align-items:flex-start}.secure-viewer-title strong{max-width:calc(100vw - 90px)}.secure-viewer-actions{width:100%}.viewer-identity{display:none}.secure-viewer-actions button{flex:1;justify-content:center}.secure-viewer-footer{flex-direction:column;align-items:flex-start}.watermark-grid{grid-template-columns:repeat(2,minmax(180px,1fr))}}@media (width<=820px){.report-cover{flex-direction:column;align-items:flex-start}.report-actions{width:100%}.report-actions button{flex:1;justify-content:center}.report-filter-panel,.report-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.report-two-column,.student-file-layout,.prospect-today-agenda-list{grid-template-columns:1fr}.prospect-today-agenda-heading{flex-wrap:wrap;align-items:flex-start}.prospect-today-appointment{grid-template-columns:auto minmax(0,1fr)}.prospect-today-appointment a,.prospect-confirmation-unavailable{grid-column:1/-1}.prospect-report-grid{grid-template-columns:repeat(2,minmax(120px,1fr))}.prospect-report-heading,.prospect-list-toolbar{flex-direction:column;align-items:flex-start}.student-list-toolbar{grid-template-columns:1fr}.student-search-control,.prospect-view-switch{width:100%}.prospect-view-switch button{flex:1}}@media (width<=620px){.notification-activation-banner{grid-template-columns:auto minmax(0,1fr)}.notification-activation-banner>button{grid-column:1/-1;justify-content:center}.member-actions{flex-direction:column;align-items:flex-start}.group-number-mark{border-radius:17px;width:66px;min-height:74px}.group-number-mark strong{font-size:32px}.group-number-mark--detail{width:64px;min-height:70px}.student-details-modal{padding:22px 16px}.student-details-header{grid-template-columns:auto minmax(0,1fr);padding-right:36px}.student-details-header>.status-pill{grid-column:1/-1;width:fit-content}.student-details-grid,.student-details-section div{grid-template-columns:1fr}.student-details-actions{flex-direction:column;align-items:stretch}.student-details-actions button{justify-content:center;width:100%}.group-member-transfer{grid-template-columns:1fr}.report-cover-brand{align-items:flex-start}.report-cover-brand img{width:54px;height:54px}.report-actions,.report-section-heading{flex-direction:column;align-items:stretch}.report-filter-panel,.report-kpi-grid{grid-template-columns:1fr}.report-section-heading>strong{text-align:left}.report-footer-note{align-items:flex-start}.report-footer-note span{display:none}.student-file-list article{grid-template-columns:auto minmax(0,1fr)}.student-file-actions{grid-column:1/-1;justify-content:flex-end}}.student-receipt-board{gap:18px;display:grid}.monthly-payment-heading{align-items:center}.monthly-payment-heading>div{gap:4px;display:grid}.monthly-payment-heading h2,.monthly-payment-heading p{margin:0}.monthly-payment-heading>div>p:last-child{color:#667c91;font-size:12px}.monthly-payment-month-badge{color:#3e681d;background:#eff8df;border:1px solid #cce1a9;border-radius:999px;align-items:center;gap:7px;min-height:38px;padding:0 13px;font-size:11px;font-weight:850;display:inline-flex}.monthly-payment-controls{flex-wrap:wrap;align-items:end;gap:12px;margin-top:18px;display:flex}.monthly-payment-summary{grid-template-columns:repeat(4,minmax(100px,1fr)) auto;align-items:stretch;gap:10px;margin-top:16px;display:grid}.monthly-payment-summary article{background:#f8fafc;border:1px solid #dde7ef;border-radius:13px;align-content:center;gap:3px;min-height:68px;padding:10px 12px;display:grid}.monthly-payment-summary article small{color:#738499;font-size:9px;font-weight:750}.monthly-payment-summary article strong{color:#12375f;font-size:20px}.monthly-payment-summary article.paid{background:#f2f9e8;border-color:#d3e6b7}.monthly-payment-summary article.paid strong{color:#4c7e23}.monthly-payment-summary article.pending{background:#fff8ec;border-color:#efd8ba}.monthly-payment-summary article.pending strong{color:#a86814}.monthly-payment-print-button{justify-content:center;min-width:190px}.monthly-payment-print-area{display:none}.monthly-payment-print-page{color:#0b365f;page:monthly-payment-sheet;background:#fff;width:100%;min-height:0}.monthly-payment-print-header{background:#edf7dc;border:2px solid #0b365f;border-radius:.06in;grid-template-columns:.56in minmax(0,1fr) auto;align-items:center;gap:.12in;margin-bottom:.05in;padding:.04in .08in;display:grid}.monthly-payment-print-header img{object-fit:contain;width:.42in;height:.42in}.monthly-payment-print-header div{text-align:center;gap:1px;display:grid}.monthly-payment-print-header small,.monthly-payment-print-header p{color:#536b80;margin:0;font-size:8px;font-weight:750}.monthly-payment-print-header h1{color:#0b365f;text-transform:uppercase;margin:0;font-size:18px;line-height:1}.monthly-payment-print-header aside{gap:4px;font-size:7px;font-weight:750;display:grid}.monthly-payment-print-header aside span{align-items:center;gap:4px;display:flex}.monthly-payment-print-header aside i{background:#fff;border:1px solid #0b365f;width:10px;height:10px}.monthly-payment-print-header aside i.paid{background:#b88add;border-color:#5b2a86}.monthly-payment-print-grid{column-count:3;column-fill:auto;column-gap:.06in}.monthly-payment-group-card{break-inside:auto;background:#fff;border:1.5px solid #0b365f;border-radius:.04in;width:100%;margin:0 0 .05in;display:block;overflow:visible}.monthly-payment-group-card>header{color:#0b365f;break-after:avoid;background:#dceef7;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:5px;padding:3px 4px;display:grid}.monthly-payment-group-card>header div{gap:1px;display:grid}.monthly-payment-group-card>header strong.monthly-payment-group-number{color:#fff;text-align:center;background:#7137a6;border:2px solid #5b2a86;place-items:center;min-width:30px;min-height:30px;padding:2px;font-size:16px;font-weight:950;line-height:1;display:grid;box-shadow:inset 0 0 0 1px #ffffff59}.monthly-payment-group-card>header strong.monthly-payment-group-number.is-number{border-radius:50%}.monthly-payment-group-card>header strong.monthly-payment-group-number.is-name{border-radius:999px;max-width:.92in;font-size:8px}.monthly-payment-group-card>header span,.monthly-payment-group-card>header small{text-overflow:ellipsis;white-space:nowrap;font-size:6.5px;font-weight:700;overflow:hidden}.monthly-payment-group-card>header .monthly-payment-group-summary{justify-items:end}.monthly-payment-group-card>header small{text-align:right;max-width:.92in}.monthly-payment-group-card>header .monthly-payment-group-count{color:#5b2a86;letter-spacing:.15px;margin-bottom:3px;font-size:8.5px;font-weight:900}.monthly-payment-day-section h2{color:#315f16;text-align:center;background:#c8ef62;border-top:1px solid #0b365f;border-bottom:1px solid #8db82b;margin:0;padding:2px 4px;font-size:8px;line-height:1.2}.monthly-payment-day-section{break-inside:avoid}.monthly-payment-student-list>div{color:#173b64;border-bottom:.5px solid #c8d8e6;grid-template-columns:15px minmax(0,.9fr) minmax(0,1.1fr) 45px 16px;align-items:center;min-height:15px;font-size:7.8px;display:grid}.monthly-payment-student-list>div.is-paid{background:#efe4fa;box-shadow:inset 3px 0 #7137a6}.monthly-payment-student-list>div>*{text-overflow:ellipsis;white-space:nowrap;min-width:0;padding:1px 3px;overflow:hidden}.monthly-payment-student-list>div>span,.monthly-payment-student-list>div>.monthly-payment-reminder,.monthly-payment-student-list>div>small,.monthly-payment-student-list>div>i{text-align:center;border-left:.5px solid #c8d8e6}.monthly-payment-student-list>div>span{border-left:0}.monthly-payment-student-list>div>small{font-size:6.5px;font-weight:750}.monthly-payment-student-list .monthly-payment-reminder{font-size:6px;font-weight:650}.student-notes-section p{white-space:pre-wrap;margin:0}.monthly-payment-student-list>div>i{color:#7137a6;border:1.5px solid #7137a6;justify-self:center;place-items:center;width:14px;height:14px;padding:0;font-size:13px;font-style:normal;font-weight:900;line-height:1;display:grid}.monthly-payment-student-list>p{color:#7c8b9a;text-align:center;margin:0;padding:5px;font-size:7px}.monthly-payment-group-card>footer{color:#fff;background:#0b365f;justify-content:space-between;gap:5px;padding:3px 5px;font-size:6.5px;display:none}.monthly-payment-print-footer{color:#5e7184;border-top:1px solid #9db0c1;justify-content:space-between;gap:12px;margin-top:.03in;padding-top:.03in;font-size:7px;display:flex}.receipt-heading-row{align-items:center}.receipt-selection-total{color:#0b365f;text-align:center;background:#f5f9fc;border:1px solid #dce8f1;border-radius:16px;min-width:112px;padding:12px 16px;display:grid}.receipt-selection-total strong{font-size:25px;line-height:1}.receipt-selection-total span{color:#688097;margin-top:5px;font-size:12px;font-weight:750}.receipt-controls{flex-wrap:wrap;align-items:end;gap:12px;margin:18px 0;display:flex}.receipt-search-control{flex:240px}.receipt-print-actions{background:linear-gradient(135deg,#f7fbfd,#eef8ed);border:1px solid #d9e7ef;border-radius:18px;justify-content:space-between;align-items:center;gap:16px;margin-top:18px;padding:16px;display:flex}.receipt-fixed-actions{z-index:4;background:#f7fbfdf7;border-color:#b8d1df;margin:12px 0 18px;position:relative;box-shadow:0 12px 30px #0b365f24}.receipt-student-scroll{overscroll-behavior:contain;scrollbar-gutter:stable;max-height:min(52vh,480px);overflow:auto}.receipt-student-scroll .data-table th{z-index:3;box-shadow:0 1px 0 var(--border);position:sticky;top:0}.receipt-print-actions>div{gap:4px;display:grid}.receipt-print-actions strong{color:#0b365f}.receipt-print-actions span{color:#667c91;font-size:13px}.receipt-action-buttons{align-items:center;gap:9px;display:flex}.receipt-print-window{color:#0b365f;background:#eaf0f5;min-height:100vh;padding:24px}.receipt-print-window-toolbar{z-index:10;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffff5;border:1px solid #cbdbe8;border-radius:14px;justify-content:space-between;align-items:center;gap:14px;width:min(8.5in,100%);min-height:52px;margin:0 auto 18px;padding:8px 10px;display:flex;position:sticky;top:12px;box-shadow:0 10px 28px #0b2f541f}.receipt-print-window-toolbar a,.receipt-print-window-toolbar button{color:#174b82;min-height:36px;font:inherit;cursor:pointer;background:#eef5fb;border:0;border-radius:9px;align-items:center;gap:6px;padding:0 12px;font-size:10px;font-weight:800;text-decoration:none;display:inline-flex}.receipt-print-window-toolbar button{color:#fff;background:#0b365f}.receipt-print-window-toolbar>span{color:#64788b;font-size:10px;font-weight:750}.receipt-print-document{gap:14px;width:8.5in;margin:0 auto;display:grid}.receipt-print-document .half-letter-receipt{box-shadow:0 12px 32px #0b2f5421}.receipt-print-loading,.receipt-print-error{text-align:center;place-content:center;justify-items:center;gap:12px;display:grid}.receipt-print-error img{object-fit:contain;width:82px;height:82px}.receipt-print-error h1,.receipt-print-error p{max-width:520px;margin:0}.receipt-print-error p{color:#687c90}.receipt-print-area{display:none}.receipt-student-row{cursor:pointer}.receipt-student-row.is-selected td{background:#f2f8e5}.receipt-student-row input[type=checkbox]{accent-color:#6f9f19;cursor:pointer;width:18px;height:18px}.receipt-preview-backdrop{z-index:120;-webkit-backdrop-filter:blur(9px);backdrop-filter:blur(9px);background:#071b34b8;place-items:start center;padding:22px;display:grid;position:fixed;inset:0;overflow:auto}.receipt-preview-panel{background:#eaf0f5;border-radius:18px;width:min(9.1in,100%);overflow:hidden;box-shadow:0 28px 80px #05182e52}.receipt-preview-toolbar{z-index:2;background:#fffffff7;border-bottom:1px solid #ccdae5;justify-content:space-between;align-items:center;gap:18px;padding:14px 16px;display:flex;position:sticky;top:0}.receipt-preview-toolbar small{color:#7a8b9a;letter-spacing:.1em;text-transform:uppercase;font-size:9px;font-weight:800}.receipt-preview-toolbar h2{color:#0b365f;margin:2px 0 0;font-size:17px}.receipt-preview-toolbar>span{gap:9px;display:flex}.receipt-preview-toolbar .ghost-button,.receipt-preview-toolbar .primary-button{min-height:40px}.receipt-pdf-instruction,.receipt-pdf-error{color:#4e6579;background:#fff;border-radius:10px;margin:12px 18px 0;padding:10px 12px;font-size:10px;font-weight:700}.receipt-pdf-error{color:#a73942;background:#fff0f1}.receipt-download-form{margin:0;display:flex}.receipt-download-form .primary-button{width:100%}.receipt-direct-instruction{color:#0b5c4e;background:#edfaf5;margin:12px 0 0}.receipt-download-frame{opacity:0;pointer-events:none;border:0;width:1px;height:1px;position:absolute}.receipt-direct-page{background:#eaf0f5;place-items:center;min-height:100vh;padding:24px;display:grid}.receipt-direct-card{background:#fff;border:1px solid #d3e0e9;border-radius:20px;gap:14px;width:min(460px,100%);padding:28px;display:grid;box-shadow:0 20px 60px #0b365f24}.receipt-direct-card>img{object-fit:contain;width:72px;height:72px}.receipt-direct-card h1,.receipt-direct-card p{margin:0}.receipt-direct-card .ghost-button{justify-content:center}.receipt-preview-scroll{padding:18px;overflow-x:auto}.receipt-preview-scroll .receipt-print-area{gap:14px;width:8.5in;margin:0 auto;display:grid}.receipt-preview-scroll .half-letter-receipt{box-shadow:0 12px 32px #0b2f5421}.half-letter-receipt{color:#0b2f54;page:receipt-sheet;break-inside:avoid;background:#fff;grid-template-columns:1.05in 1fr;width:8.5in;height:5.5in;display:grid;overflow:hidden}.receipt-number-rail{color:#fff;text-align:center;background:#0b365f;align-content:center;gap:28px;padding:22px 10px;display:grid}.receipt-number-rail div{gap:5px;display:grid}.receipt-number-rail strong{color:#b8db31;font-size:34px;line-height:1}.receipt-number-rail span{letter-spacing:.05em;text-transform:uppercase;font-size:10px;font-weight:800}.receipt-paper-body{border:1px solid #b7c9d8;border-left:0;grid-template-rows:auto auto 1fr auto;gap:18px;padding:28px 34px 25px;display:grid}.receipt-paper-body header{border-bottom:3px solid #b8db31;grid-template-columns:68px 1fr auto;align-items:center;gap:14px;padding-bottom:14px;display:grid}.receipt-paper-body header img{object-fit:contain;width:62px;height:62px}.receipt-paper-body header p{color:#60788d;margin:0 0 2px;font-size:12px;font-weight:800}.receipt-paper-body header h2{color:#0b365f;margin:0;font-size:24px}.receipt-paper-body header>span{color:#0b365f;background:#eef4f8;border-radius:999px;padding:7px 10px;font-size:11px;font-weight:850}.receipt-date-line{color:#657b8f;justify-content:flex-end;align-items:baseline;gap:10px;font-size:12px;display:flex}.receipt-date-line strong{color:#0b365f;font-size:14px}.receipt-paper-body dl{grid-template-columns:1fr .55fr;gap:14px 22px;margin:0;display:grid}.receipt-paper-body dl div{border-bottom:1px solid #b9cbd8;gap:5px;padding-bottom:7px;display:grid}.receipt-paper-body dt{color:#6c8294;letter-spacing:.04em;text-transform:uppercase;font-size:10px;font-weight:850}.receipt-paper-body dd{color:#0b365f;margin:0;font-size:15px;font-weight:800}.receipt-paper-body footer{color:#6a8093;justify-content:space-between;align-items:end;gap:18px;font-size:11px;display:flex}.receipt-paper-body footer div{color:#0b365f;text-align:center;border-top:1px solid #8096a7;min-width:150px;padding-top:22px}@media (width<=760px){.receipt-preview-backdrop{padding:8px}.receipt-preview-toolbar{flex-direction:column;align-items:stretch}.receipt-preview-toolbar>span{grid-template-columns:1fr 1.4fr;display:grid}.receipt-preview-scroll{padding:10px}.receipt-print-window{padding:12px;overflow-x:auto}.receipt-print-window-toolbar{min-width:680px;position:static}.monthly-payment-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.monthly-payment-print-button{grid-column:1/-1}.receipt-print-actions{flex-direction:column;align-items:stretch}.receipt-action-buttons{grid-template-columns:1fr;display:grid}.receipt-print-actions .primary-button,.receipt-print-actions .secondary-button{justify-content:center;width:100%}}@page receipt-sheet{size:letter portrait;margin:0}@page monthly-payment-sheet{size:letter landscape;margin:.12in}.commitments-board{gap:18px;display:grid}.commitments-toolbar,.commitment-method-summary,.payment-status-switch{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.commitments-toolbar{justify-content:space-between}.finance-notice{color:#17375e;background:#e8f3ff;border-radius:12px;padding:12px 16px;font-weight:800}.monthly-commitments-report{background:#fff;border:1px solid #d9e3f0;border-radius:18px;gap:14px;padding:22px;display:grid}.monthly-commitments-report>header{border-bottom:3px solid #7137a6;justify-content:space-between;align-items:center;gap:20px;padding-bottom:13px;display:flex}.monthly-commitments-report h2{color:#17275c;margin:3px 0 0}.commitment-auto-total{text-align:right;gap:2px;display:grid}.commitment-auto-total small{color:#65738a;font-size:11px}.commitment-auto-total strong{color:#7137a6;font-size:26px}.commitment-kpis{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.commitment-kpis article{color:#17375e;background:#f1f5fb;border-radius:13px;gap:7px;padding:14px;display:grid}.commitment-kpis article.income{background:#e8f6dc}.commitment-kpis article.expense{background:#ffe5e7}.commitment-kpis article.planned{background:#fff0c9}.commitment-kpis article.profit{background:#eadcf7}.commitment-kpis small{font-weight:800}.commitment-kpis strong{font-size:18px}.commitment-kpis article>span{color:#68758a;font-size:11px;line-height:1.35}.commitment-method-summary>span{color:#29466e;background:#edf2f8;border-radius:999px;padding:8px 12px;font-size:12px}.commitment-list{gap:7px;display:grid}.commitment-list>article{border:1px solid #e0e7f1;border-radius:11px;grid-template-columns:34px 90px minmax(180px,1fr) minmax(145px,auto) auto auto auto auto;align-items:center;gap:12px;padding:10px 12px;display:grid}.commitment-list>article.is-paid{background:#e8f7e9;border-color:#79bd83}.commitment-list>article.is-pending{background:#fff0f1;border-color:#e4a1a6}.commitment-print-check{color:#18713d;background:#fff;border:2px solid #8a97aa;border-radius:5px;place-items:center;width:26px;height:26px;font-size:18px;font-weight:950;display:grid}.commitment-list>article>span:nth-child(4){color:#344f75;gap:2px;display:grid}.commitment-due-date{color:#344f75;gap:1px;display:grid}.commitment-due-date>small:first-child{color:#7137a6;text-transform:uppercase;font-size:11px;font-weight:900}.commitment-due-date>strong{color:#17275c;align-items:baseline;line-height:1;display:flex}.commitment-due-date>strong b{color:#7137a6;font-size:30px}.commitment-due-date>strong span{font-size:15px}.commitment-paid-toggle{justify-content:center;align-items:center;gap:6px;min-height:34px;display:inline-flex;color:#9d2938!important;background:#fff!important;border:1px solid!important;border-radius:9px!important;padding:6px 10px!important}.is-paid .commitment-paid-toggle{color:#18713d!important}.commitment-edit-button{align-items:center;gap:5px;display:inline-flex;color:#245da8!important}.finance-form.is-editing{border:2px solid #7137a6;box-shadow:0 12px 28px #7137a61f}.monthly-obligation-form-actions{align-items:center;gap:9px!important;display:flex!important}.commitment-alerts{color:#715418;background:#fff6d8;border:1px solid #e9c661;border-radius:14px;align-items:center;gap:12px;padding:14px 16px;display:flex}.commitment-alerts.has-overdue{color:#8d2633;background:#ffe8ea;border-color:#e48f97}.commitment-alerts div{gap:3px;display:grid}.commitment-alerts span{font-size:13px}.commitment-list div{gap:2px;display:grid}.commitment-list small{color:#748197}.commitment-list button{color:#8b3340;background:0 0;border:0;font-weight:800}.commitment-method{text-align:center;border-radius:999px;padding:5px 8px;font-size:10px;font-weight:900}.commitment-method.cash{color:#38641e;background:#e5f4d8}.commitment-method.transfer{color:#254d91;background:#e2ecff}.commitment-main{gap:5px!important}.commitment-breakdown{background:#ffffffb8;border-left:3px solid #7137a6;border-radius:0 8px 8px 0;margin-top:5px;padding:7px 9px;display:grid;gap:3px!important}.commitment-breakdown>span{grid-template-columns:minmax(110px,1fr) auto auto;align-items:center;gap:12px;font-size:12px;display:grid}.commitment-breakdown em{color:#596a83;font-style:normal}.commitment-breakdown strong{color:#17275c;font-size:12px}.next-month-projection{background:#f8f1ff;border:2px solid #b995dc;border-radius:14px;gap:7px;padding:10px 12px;display:grid}.next-month-projection>header{justify-content:space-between;align-items:center;gap:16px;display:flex}.next-month-projection>header>div{align-items:baseline;gap:9px;display:flex}.next-month-projection>header small{color:#7137a6;text-transform:uppercase;font-size:11px}.next-month-projection>header strong{color:#321057;font-size:15px}.next-month-projection>header>strong{font-size:19px}.next-month-projection>div{gap:3px;display:grid}.next-month-projection article{background:#fff;border-radius:7px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;padding:5px 8px;font-size:13px;display:grid}.next-month-projection article>strong:last-child{color:#321057;white-space:nowrap}.finance-form input[readonly]{color:#3e1765;background:#eee2fa;font-weight:900}.payment-breakdown-editor{background:#f8f3fc;border:1px solid #cdb9e2;border-radius:12px;gap:9px;padding:13px;display:grid}.payment-breakdown-editor>div:first-child{gap:2px;display:grid}.payment-breakdown-editor>div:first-child small{color:#65738a;font-size:12px}.payment-breakdown-line{grid-template-columns:minmax(170px,1.4fr) repeat(3,minmax(90px,1fr));align-items:end!important;gap:7px!important;display:grid!important}.monthly-recurring-toggle>span:last-child,.breakdown-recurring-toggle{color:#48216e;min-height:40px;font-size:12px;font-weight:850;align-items:center!important;gap:7px!important;display:flex!important}.monthly-recurring-toggle input,.breakdown-recurring-toggle input{accent-color:#7137a6;width:18px;height:18px}.payment-breakdown-line button{color:#a83240;background:#fff;border:1px solid #e3a4aa;border-radius:8px;place-items:center;width:34px;height:40px;display:grid}.add-breakdown-line{color:#7137a6;background:#fff;border:1px solid #7137a6;border-radius:9px;justify-self:start;align-items:center;gap:6px;min-height:36px;padding:0 12px;font-weight:850;display:inline-flex}.finance-entry-grid{grid-template-columns:1.4fr 1fr;gap:16px;display:grid}.finance-form{background:#fff;border:1px solid #dce4ef;border-radius:16px;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:18px;display:grid}.finance-form>div,.finance-form .wide{grid-column:1/-1}.finance-form>div{align-items:center;gap:10px;display:flex}.finance-form h3{color:#17275c;margin:0}.finance-form label{color:#53637a;gap:5px;font-size:12px;font-weight:800;display:grid}.finance-form input,.finance-form select,.finance-form textarea{background:#fff;border:1px solid #cbd7e7;border-radius:9px;width:100%;min-height:40px;padding:8px 10px}.finance-form-icon{color:#fff;border-radius:11px;place-items:center;width:38px;height:38px;display:grid}.finance-form-icon.obligation{background:#7137a6}.finance-form-icon.fund{background:#21876d}.cash-fund-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.cash-fund-card{border:1px solid var(--fund-color);overflow:hidden}@supports (color:color-mix(in lab, red, red)){.cash-fund-card{border:1px solid color-mix(in srgb, var(--fund-color), white 55%)}}.cash-fund-card{background:#fff;border-radius:15px}.cash-fund-card>header{color:#fff;background:var(--fund-color);justify-content:space-between;gap:12px;padding:15px;display:flex}.cash-fund-card header div{display:grid}.cash-fund-header-actions{justify-items:end;gap:5px}.cash-fund-header-actions>span{gap:5px;display:flex}.cash-fund-header-actions button{color:#fff;background:#ffffff1f;border:1px solid #ffffffa6;border-radius:8px;align-items:center;gap:5px;padding:5px 8px;font-weight:850;display:inline-flex}.cash-fund-header-actions .delete-fund-button{background:#63001247;border-color:#fffc}.cash-fund-card form{grid-template-columns:1fr 130px 100px;gap:7px;padding:12px;display:grid}.cash-fund-card form input,.cash-fund-card form select{border:1px solid #cad6e5;border-radius:8px;min-height:36px;padding:6px 8px}.cash-fund-card form input[name=concept]{grid-column:1/3}.cash-fund-card form button{color:#fff;background:var(--fund-color);border:0;border-radius:8px;font-weight:850}.cash-fund-history{padding:0 12px 12px;display:grid}.cash-fund-history>span{border-top:1px solid #edf0f5;justify-content:space-between;gap:10px;padding:7px 0;display:flex}.cash-fund-history .deposit{color:#31805d}.cash-fund-history .withdrawal{color:#b13f4a}.payment-status-switch{margin:12px 0}.payment-status-switch button{color:#31517d;background:#fff;border:1px solid #cbd8e8;border-radius:999px;align-items:center;gap:6px;min-height:40px;padding:0 15px;font-weight:850;display:inline-flex}.payment-status-switch button.is-active{color:#fff;background:#7137a6;border-color:#7137a6}.promise-date-input{border:1px solid #cbd7e7;border-radius:8px;min-width:135px;padding:7px}.invoice-cell{gap:5px;min-width:190px;display:grid}.invoice-cell label{align-items:center;gap:6px;font-weight:800;display:flex}.invoice-cell small{color:#61718a}@media (width<=900px){.commitment-kpis,.finance-entry-grid,.cash-fund-grid{grid-template-columns:1fr 1fr}.commitment-list>article{grid-template-columns:1fr auto}.payment-breakdown-line{grid-template-columns:1fr 1fr}.next-month-projection article{grid-template-columns:1fr auto}}@media (width<=620px){.commitment-kpis,.finance-entry-grid,.cash-fund-grid,.finance-form{grid-template-columns:1fr}.finance-form>*{grid-column:1!important}.payment-breakdown-line{grid-template-columns:1fr}}@media print{@page teacher-payment-report{size:landscape;margin:8mm}@page teacher-payment-receipt{size:landscape;margin:7mm}body.printing-monthly-commitments *{visibility:hidden!important}body.printing-monthly-commitments .monthly-commitments-report,body.printing-monthly-commitments .monthly-commitments-report *{visibility:visible!important}body.printing-monthly-commitments .monthly-commitments-report{border:0;position:absolute;inset:0}body.printing-monthly-commitments .commitment-list button{display:none!important}body.printing-monthly-commitments .commitment-list>article{break-inside:avoid;grid-template-columns:34px 82px minmax(180px,1fr) 150px auto}body.printing-monthly-commitments .commitment-list>article.is-paid{-webkit-print-color-adjust:exact;print-color-adjust:exact;background:#e8f7e9!important}body.printing-monthly-commitments .commitment-list>article.is-pending{-webkit-print-color-adjust:exact;print-color-adjust:exact;background:#fff0f1!important}body.printing-monthly-commitments .commitment-breakdown{-webkit-print-color-adjust:exact;print-color-adjust:exact;background:#fff!important}body.printing-teacher-payment-report *,body.printing-teacher-payment-receipt *{visibility:hidden!important}body.printing-teacher-payment-report .teacher-payment-monthly-report,body.printing-teacher-payment-report .teacher-payment-monthly-report *,body.printing-teacher-payment-receipt .teacher-payment-receipt,body.printing-teacher-payment-receipt .teacher-payment-receipt *{visibility:visible!important}body.printing-teacher-payment-report .teacher-payment-monthly-report,body.printing-teacher-payment-receipt .teacher-payment-receipt{color:#17275c;background:#fff;width:100%;position:absolute;inset:0;display:block!important}body.printing-teacher-payment-report .teacher-payment-monthly-report{page:teacher-payment-report}body.printing-teacher-payment-receipt .teacher-payment-receipt{page:teacher-payment-receipt}body.printing-teacher-payment-report .crm-shell,body.printing-teacher-payment-report .workspace,body.printing-teacher-payment-report .content,body.printing-teacher-payment-report .module-view,body.printing-teacher-payment-receipt .crm-shell,body.printing-teacher-payment-receipt .workspace,body.printing-teacher-payment-receipt .content,body.printing-teacher-payment-receipt .module-view{width:100%!important;max-width:none!important;height:auto!important;margin:0!important;padding:0!important;overflow:visible!important}.teacher-payment-print header{border-bottom:3px solid #17275c;min-height:48px;padding-bottom:10px;padding-left:78px;position:relative}.teacher-payment-print header img{object-fit:contain;width:62px;height:42px;position:absolute;top:0;left:0}.teacher-payment-print header span,.teacher-payment-print header p{color:#536985;margin:0;font-size:12px}.teacher-payment-print h1{color:#17275c;margin:3px 0;font-size:22px}.teacher-payment-print-summary{grid-template-columns:repeat(3,1fr);gap:8px;margin:10px 0;display:grid}.teacher-payment-print-summary div,.teacher-payment-receipt-name,.teacher-payment-receipt-total{-webkit-print-color-adjust:exact;print-color-adjust:exact;border:1px solid #c8d5e6;border-radius:7px;gap:3px;padding:9px;display:grid;background:#f3f7fd!important}.teacher-payment-print-summary span,.teacher-payment-receipt-name span,.teacher-payment-receipt-total span{color:#60728a;text-transform:uppercase;font-size:10px;font-weight:800}.teacher-payment-print-summary strong,.teacher-payment-receipt-name strong{font-size:15px}.teacher-payment-print table{border-collapse:collapse;width:100%;margin-top:10px;font-size:11px}.teacher-payment-print th,.teacher-payment-print td{text-align:left;border:1px solid #c8d5e6;padding:6px}.teacher-payment-print th{color:#fff;-webkit-print-color-adjust:exact;print-color-adjust:exact;background:#17275c!important}.teacher-payment-print tr{break-inside:avoid}.teacher-payment-print-note{color:#536985;margin:10px 0 0;font-size:11px;line-height:1.4}.teacher-payment-receipt{max-width:none;margin:0 auto!important}.teacher-payment-receipt-name{margin-top:14px}.teacher-group-calendar{table-layout:fixed}.teacher-group-calendar th,.teacher-group-calendar td{text-align:center;padding:4px 2px}.teacher-group-calendar th:first-child,.teacher-group-calendar td:first-child{text-align:left;width:74px}.teacher-group-calendar th:last-child,.teacher-group-calendar td:last-child{width:78px}.teacher-group-calendar th small,.teacher-group-calendar th strong{display:block}.teacher-group-calendar th small{color:#d8f443;font-size:8px}.teacher-group-calendar td.has-class{color:#17275c;-webkit-print-color-adjust:exact;print-color-adjust:exact;font-weight:900;background:#ead9f7!important}.teacher-payment-receipt-breakdown{border:1px solid #17275c;grid-template-columns:repeat(3,minmax(150px,1fr));width:min(560px,100%);margin:12px 0 0 auto;display:grid}.teacher-payment-receipt-breakdown div{-webkit-print-color-adjust:exact;print-color-adjust:exact;border-right:1px solid #17275c;gap:3px;padding:8px 12px;display:grid;background:#e9fbf4!important}.teacher-payment-receipt-breakdown div:last-child{border-right:0}.teacher-payment-receipt-breakdown .total{color:#fff;background:#076eac!important}.teacher-payment-receipt-breakdown span{text-transform:uppercase;font-size:10px;font-weight:850}.teacher-payment-receipt-breakdown strong{font-size:18px}.teacher-payment-receipt-breakdown .total strong{font-size:22px}.teacher-payment-signatures{grid-template-columns:1fr 1fr;gap:25mm;margin-top:26mm;display:grid}.teacher-payment-signatures div{text-align:center;border-top:1px solid #17275c;padding-top:7px;font-size:11px}.receipt-print-window{background:#fff;min-height:0;margin:0;padding:0}.receipt-print-window-toolbar{display:none!important}.receipt-print-document{width:8.5in;margin:0;display:block}.receipt-print-document .half-letter-receipt{box-shadow:none;-webkit-print-color-adjust:exact;print-color-adjust:exact}body.printing-monthly-payment-list{background:#fff;margin:0}body.printing-monthly-payment-list *{visibility:hidden!important}body.printing-monthly-payment-list .monthly-payment-print-area,body.printing-monthly-payment-list .monthly-payment-print-area *{visibility:visible!important}body.printing-monthly-payment-list .monthly-payment-print-area{width:100%;position:absolute;inset:0 auto auto 0;display:block!important}body.printing-monthly-payment-list .monthly-payment-print-page,body.printing-monthly-payment-list .monthly-payment-group-card{-webkit-print-color-adjust:exact;print-color-adjust:exact}body:not(.secure-viewing){color:#102f54;-webkit-print-color-adjust:exact;print-color-adjust:exact;background:#fff}body:not(.secure-viewing) .sidebar,body:not(.secure-viewing) .topbar,body:not(.secure-viewing) .module-header,body:not(.secure-viewing) .report-filter-panel,body:not(.secure-viewing) .report-actions,body:not(.secure-viewing) .notice{display:none!important}body:not(.secure-viewing) .crm-shell,body:not(.secure-viewing) .workspace,body:not(.secure-viewing) .content,body:not(.secure-viewing) .module-view{background:#fff;width:100%;max-width:none;min-height:0;margin:0;padding:0;display:block}body:not(.secure-viewing) .report-dashboard{gap:12px}body:not(.secure-viewing) .report-cover,body:not(.secure-viewing) .report-kpi,body:not(.secure-viewing) .report-section{box-shadow:none;break-inside:avoid}body:not(.secure-viewing) .report-kpi-grid{grid-template-columns:repeat(4,minmax(0,1fr))}body:not(.secure-viewing) .report-kpi{min-height:86px;padding:11px 12px}body:not(.secure-viewing) .report-kpi strong{font-size:16px}body:not(.secure-viewing) .report-two-column{grid-template-columns:1fr}body:not(.secure-viewing) .report-table{min-width:0}body.secure-viewing *{visibility:hidden!important}body.secure-viewing:before{color:#0b1f3a;content:"IMPRESIÓN BLOQUEADA · MATERIAL PRIVADO DE 5TH AVE ENGLISH WORKSHOP";text-align:center;background:#fff;place-items:center;padding:40px;font-size:26px;font-weight:850;display:grid;position:fixed;inset:0;visibility:visible!important}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.exam-upload-divider{border-top:1px solid #3b82f633;margin:1.25rem 0 .9rem;padding-top:1.2rem}.exam-upload-divider>div{color:#1d4ed8;background:#eff6ff;border:1px solid #bfdbfe;border-radius:.9rem;align-items:center;gap:.75rem;padding:.9rem 1rem;display:flex}.exam-upload-divider span{gap:.2rem;display:grid}.exam-upload-divider strong,.exam-upload-divider small{display:block}.exam-upload-divider small{color:#475569}.exam-upload-form{margin-bottom:1.2rem}.exam-pdf-dropzone{background:#f8fbff;min-height:5.5rem}.student-additional-groups{background:#f8fbff;border:1px solid #cbdced;border-radius:.9rem;margin:0;padding:.9rem 1rem}.student-additional-groups legend{color:#0b365f;padding:0 .35rem;font-size:.95rem;font-weight:800}.student-additional-groups>small{color:#5d7185;margin-bottom:.7rem;display:block}.student-additional-groups>div{grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:.55rem;display:grid}.student-additional-groups label{color:#123d66;background:#fff;border:1px solid #d5e3ef;border-radius:.7rem;align-items:center;gap:.5rem;min-height:2.5rem;padding:.55rem .7rem;font-weight:750;display:flex}.coverage-stack{gap:1.15rem;display:grid}.coverage-alert{color:#0b2d51;background:linear-gradient(135deg,#f8ffe6 0%,#fff 72%);border:1px solid #a8db1eb8;border-radius:1.15rem;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:1rem;padding:1.25rem 1.4rem;display:grid;box-shadow:0 14px 32px #16345317}.coverage-alert-icon{color:#102f54;background:#d9ff54;border-radius:1rem;place-items:center;width:3rem;height:3rem;display:grid}.coverage-alert h2,.coverage-alert p{margin:0}.coverage-alert small{color:#526c82;margin-top:.28rem;font-size:.88rem;display:block}.coverage-form{grid-template-columns:repeat(4,minmax(0,1fr));align-items:end;gap:1rem;display:grid}.coverage-form label{color:#173e63;gap:.42rem;font-size:.88rem;font-weight:800;display:grid}.coverage-form input,.coverage-form select,.coverage-payment-date{color:#102f54;width:100%;min-height:2.8rem;font:inherit;background:#fff;border:1px solid #cbd9e6;border-radius:.75rem;padding:.65rem .75rem}.coverage-titular-note{background:#f7fafc;border:1px solid #dbe6ef;border-radius:.85rem;align-content:center;gap:.12rem;min-height:4.5rem;padding:.7rem .85rem;display:grid}.coverage-titular-note small,.coverage-titular-note span{color:#60778b;font-size:.78rem}.coverage-titular-note strong{color:#102f54}.coverage-kpis{grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;display:grid}.coverage-kpis article{background:#fff;border:1px solid #dbe5ee;border-radius:1rem;align-content:center;gap:.35rem;min-height:6.4rem;padding:1.15rem 1.25rem;display:grid;box-shadow:0 10px 24px #11304f0f}.coverage-kpis small{color:#61788c;font-weight:750}.coverage-kpis strong{color:#102f54;font-size:1.55rem}.coverage-history-title{align-items:end}.coverage-history-title .inline-control{min-width:14rem}.coverage-payment-date{min-width:8.8rem}.notification-item.coverage{color:#123b62;background:#f7ffe8}.notification-item.coverage>svg{color:#6e9d00}@media (width<=980px){.coverage-form{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=640px){.coverage-alert{grid-template-columns:auto minmax(0,1fr)}.coverage-alert .primary-button{grid-column:1/-1;width:100%}.coverage-form,.coverage-kpis{grid-template-columns:1fr}.coverage-form .primary-button{width:100%}}.cash-reservations{color:#123653;background:#f7fbf1;border:1px solid #c8d7df;border-radius:14px;padding:18px}.cash-reservations h2{margin:0 0 8px;font-size:22px}.cash-reservations h3{margin:18px 0 8px;font-size:18px}.cash-reservations p{font-size:14px;line-height:1.5}.reservation-table-wrap{overflow-x:auto}.cash-reservations table{border-collapse:collapse;background:#fff;width:100%;font-size:14px}.cash-reservations th,.cash-reservations td{text-align:right;border-bottom:1px solid #d5e0e5;padding:10px}.cash-reservations th:first-child,.cash-reservations td:first-child{text-align:left}.cash-reservations tfoot{background:#e7f2c8}.teacher-reservation{background:#fff;border:1px solid #d5e0e5;border-radius:8px;margin:8px 0;padding:12px}.teacher-reservation>div{flex-wrap:wrap;justify-content:space-between;gap:10px;display:flex}.teacher-reservation span,.teacher-reservation details{font-size:14px}.teacher-reservation details{margin-top:10px}.teacher-reservation summary{cursor:pointer}.reservation-total{flex-wrap:wrap;justify-content:space-between;gap:10px;padding:12px;font-size:16px;display:flex}.reservation-total.is-grand{color:#fff;background:#123653;border-radius:8px}.fund-automatic-reserve{color:#123653;margin:8px 12px;font-size:14px}@media print{.cash-reservations{border-radius:0;padding:8px}.cash-reservations tr,.teacher-reservation,.reservation-total{break-inside:avoid}.cash-reservations h2,.cash-reservations h3{break-after:avoid}.reservation-table-wrap{overflow:visible}.cash-reservations th,.cash-reservations td{padding:5px}.teacher-reservation details{display:none}}.cash-reserve-board{gap:18px;display:grid}.cash-reserve-board>button{justify-self:start}.commitments-entry-only,.cash-fund-entry{grid-template-columns:minmax(0,1fr)}.fund-status>summary{background:var(--fund-color);color:#fff;cursor:pointer;gap:12px;padding:16px;list-style:none;display:grid}.fund-status>summary::-webkit-details-marker{display:none}.fund-status>summary:focus-visible{outline-offset:-3px;outline:3px solid #123653}.fund-status-name{gap:4px;display:grid}.fund-status-name>strong{font-size:20px}.fund-status-name small,.fund-status-hint{font-size:14px}.fund-status-totals{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.fund-status-totals>span{overflow-wrap:anywhere;background:#0000001f;border-radius:8px;gap:4px;padding:9px;font-size:14px;display:grid}.fund-status-totals strong{font-size:17px}.fund-status-totals .fund-status-final{color:#123653;background:#fff}.fund-status-hint:after{content:" ▾"}.fund-status[open] .fund-status-hint:after{content:" ▴"}.fund-status-body{color:#123653;background:#f5f9fc;padding:14px}.fund-status-body p{font-size:14px;line-height:1.5}.fund-status-body table{border-collapse:collapse;width:100%;font-size:14px}.fund-status-body th,.fund-status-body td{text-align:right;white-space:nowrap;border-bottom:1px solid #c8d7df;padding:8px}.fund-status-body th:first-child{text-align:left}.fund-history-totals{flex-wrap:wrap;gap:12px;display:flex}.fund-history-totals span{gap:4px;font-size:14px;display:grid}.fund-card-actions{flex-wrap:wrap;gap:8px;padding:10px 12px;display:flex}.fund-card-actions button{color:#123653;background:#fff;border:1px solid #c8d7df;border-radius:8px;align-items:center;gap:6px;padding:8px 12px;display:inline-flex}@media (width<=480px){.fund-status-totals{grid-template-columns:1fr}}.finance-period-sections{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.finance-period-sections>button{text-align:left;color:#123653;background:#fff;border:2px solid #cfdae5;border-radius:12px;gap:9px;padding:16px;display:grid}.finance-period-sections>button.is-active{background:#eef5ff;border-color:#315d93}.finance-period-sections strong{font-size:19px}.finance-period-sections span{flex-wrap:wrap;justify-content:space-between;gap:8px;font-size:14px;display:flex}.finance-period-sections small{font-size:14px}.fund-manual-history{padding:12px}.fund-manual-history>summary{cursor:pointer;font-weight:700}.fund-movement-actions{gap:8px;display:flex}.fund-movement-actions button{color:#123653;background:#fff;border:1px solid #c8d7df;border-radius:6px;padding:6px 10px}.fund-manual-history .cash-fund-history>span{flex-wrap:wrap;gap:8px}@media (width<=620px){.finance-period-sections{grid-template-columns:1fr}}.finance-month-grand{color:#fff;background:#123653;border:2px solid #b8db31;border-radius:14px;padding:20px}.finance-month-grand header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;display:flex}.finance-month-grand h2{color:#fff;margin:0 0 5px;font-size:23px}.finance-month-grand header>strong{color:#dcf593;font-size:32px}.finance-month-grand header span,.finance-month-grand p{font-size:14px}.finance-month-grand>div{flex-wrap:wrap;gap:12px 24px;margin-top:14px;display:flex}.finance-month-grand>div>span{gap:5px;font-size:14px;display:grid}.finance-month-grand>div strong{font-size:19px}.cash-month-overview{background:#f7fbf1}.cash-month-overview th,.cash-month-overview td{font-variant-numeric:tabular-nums;padding:7px 9px}.cash-month-overview thead{color:#fff;background:#123653}.cash-month-overview tbody th{font-weight:500}.cash-month-overview tfoot{font-weight:700}.cash-funds-comparison thead th[colspan]{text-align:center;border-left:2px solid #d5e0e5}.cash-funds-comparison td:nth-child(3n+2){border-left:2px solid #d5e0e5}.cash-funds-comparison td:nth-last-child(-n+3){background:#eef5dc}.cash-detail-periods{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.cash-detail-periods button[aria-pressed=true]{color:#fff;background:#123653}@media (width<=900px){.cash-funds-comparison{min-width:850px}}@media print{.cash-month-overview{padding:6px}.cash-month-overview th,.cash-month-overview td{padding:4px}.cash-funds-comparison{min-width:0}}.cash-overview-heading{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}@media print{.cash-overview-heading button{display:none!important}.cash-month-overview thead{color:#123653;background:#fff}}.fund-withdrawal-reasons td{white-space:normal;background:#f3f7fb;text-align:left!important}.fund-withdrawal-reasons ul{gap:5px;margin:5px 0;padding:0;list-style:none;display:grid}.fund-withdrawal-reasons li{break-inside:avoid;grid-template-columns:180px minmax(0,1fr) auto;gap:12px;font-size:14px;display:grid}.fund-withdrawal-reasons li span{overflow-wrap:anywhere}.fund-withdrawal-reasons li>span:first-child{color:#52677a}@media print{.fund-withdrawal-reasons li{grid-template-columns:140px minmax(0,1fr) auto;gap:6px}}.fund-manual-history>h3{color:#123653;margin:0 0 12px;font-size:16px}.fund-movement-description{flex:220px;gap:4px;min-width:0;display:grid}.fund-movement-description small{color:#52677a;font-size:14px}.fund-movement-description>strong{color:#123653;white-space:normal;overflow-wrap:anywhere;font-size:16px;font-weight:600}.fund-manual-history .cash-fund-history>span{align-items:center;padding:12px 0}.teacher-class-review{border-collapse:collapse;width:100%;font-size:14px}.teacher-class-review th,.teacher-class-review td{text-align:left;border-bottom:1px solid #d5e0e5;padding:8px}.teacher-class-review thead,.teacher-class-review tfoot{color:#123653;background:#eef4e0}.teacher-class-review summary{cursor:pointer;color:#123653;padding:4px 0;font-weight:600}.teacher-class-review details[open]{background:#f5f8fc;padding:8px}.teacher-payment-receipt{background:#fff;border:1px solid #d5e0e5;border-radius:12px;padding:20px;display:block;overflow-x:auto}.teacher-payment-receipt header{border-bottom:3px solid #123653;grid-template-columns:140px 1fr;align-items:center;column-gap:18px;padding-bottom:8px;display:grid}.teacher-payment-receipt header img{object-fit:contain;grid-row:span 2;width:140px;height:85px}.teacher-payment-receipt h1{margin:0;font-size:24px}.teacher-payment-receipt header p{text-transform:capitalize;margin:0;font-size:26px;font-weight:800}.teacher-payment-receipt-name{gap:12px;margin:10px 0;font-size:20px;display:flex}.teacher-payment-receipt table{border-collapse:collapse;width:100%;font-size:12px}.teacher-payment-receipt th,.teacher-payment-receipt td{text-align:center;border:1px solid #a8b6c5;padding:6px 2px}.teacher-payment-receipt th{color:#fff;background:#123653}.teacher-payment-receipt th small{display:block}.teacher-payment-receipt td.has-class{background:#edf4d5;font-weight:700}.teacher-payment-receipt-breakdown{border:1px solid #123653;grid-template-columns:repeat(3,1fr);margin:10px 0;display:grid}.teacher-payment-receipt-breakdown>div{gap:4px;padding:8px 12px;display:grid}.teacher-payment-receipt-breakdown strong{font-size:22px}.teacher-payment-date{margin:12px 0;font-size:16px;font-weight:600}.teacher-payment-signatures{grid-template-columns:repeat(3,1fr);gap:20px;margin-top:45px;display:grid}.teacher-payment-signatures>div{text-align:center;border-top:1px solid #123653;padding-top:6px}@media print{:is(body.printing-teacher-payment-receipt :not(:has(.teacher-payment-receipt)):not(.teacher-payment-receipt):not(.teacher-payment-receipt *),body.printing-teacher-payment-report :not(:has(.teacher-payment-monthly-report)):not(.teacher-payment-monthly-report):not(.teacher-payment-monthly-report *)){display:none!important}:is(body.printing-teacher-payment-receipt :has(.teacher-payment-receipt),body.printing-teacher-payment-report :has(.teacher-payment-monthly-report)){height:auto!important;min-height:0!important;margin:0!important;padding:0!important;display:block!important;position:static!important;overflow:visible!important}body.printing-teacher-payment-receipt .teacher-payment-receipt,body.printing-teacher-payment-report .teacher-payment-monthly-report{border:0;border-radius:0;overflow:visible;height:auto!important;min-height:0!important;padding:0!important;position:static!important;inset:auto!important}.teacher-payment-receipt header{min-height:0;padding-left:0;display:grid}.teacher-payment-receipt header img{width:140px;height:85px;position:static}.teacher-payment-receipt header p{font-size:26px}.teacher-payment-receipt-name{margin:8px 0}.teacher-payment-receipt-breakdown{break-inside:avoid;width:100%;margin:10px 0}.teacher-payment-signatures{break-inside:avoid;grid-template-columns:repeat(3,1fr);gap:12mm;margin-top:14mm}.teacher-payment-signatures div{font-size:13px}.teacher-payment-date{break-after:avoid}.teacher-payment-print thead{display:table-header-group}.teacher-payment-print h2{break-after:avoid;margin:12px 0 6px;font-size:17px}}.receipt-day-button{color:#123653;cursor:pointer;background:0 0;border:0;width:100%;min-height:30px;padding:3px;font-weight:800}.receipt-day-button:hover,.receipt-day-button[aria-pressed=true]{background:#c6e64b;outline:2px solid #123653}.receipt-day-print{display:none}.receipt-class-detail{background:#f7fbef;border:2px solid #b9d944;border-radius:10px;margin:12px 0;padding:14px}.teacher-payment-receipt .receipt-class-detail header{border:0;flex-wrap:wrap;justify-content:space-between;display:flex}.teacher-group-heading th{color:#fff;background:#123653;font-size:16px}.prospect-attendance-controls{gap:8px;margin-top:10px;display:grid}.prospect-attendance-item{white-space:normal;border:1px solid #ccd8e5;border-radius:8px;min-width:260px;padding:8px}.appointment-attendance{align-items:center;gap:6px;font-size:14px;display:inline-flex}.appointment-attendance input{accent-color:#18813a;width:18px;height:18px}.appointment-attendance.is-completed,.prospect-attendance-item.is-completed{color:#167239}.appointment-attendance.is-no-show,.prospect-attendance-item.is-no_show,.prospect-attendance-item.is-rescheduled{color:#b42632}.prospect-merge-panel{border:1px solid #d2ddea;border-radius:8px;margin:12px 18px;padding:12px}.prospect-merge-panel label{gap:6px;max-width:100%;margin:8px 12px 8px 0;display:inline-grid}.prospect-merge-panel select{max-width:100%;padding:8px}@media print{.receipt-day-button,.receipt-class-detail,.prospect-merge-panel,.prospect-attendance-controls{display:none!important}.receipt-day-print{display:inline}}.prospect-attendance-row>td{padding:10px 18px!important}.prospect-attendance-row .prospect-attendance-controls{flex-wrap:nowrap;align-items:flex-start;gap:12px;max-width:calc(100vw - 330px);margin:0;padding-bottom:6px;display:flex;overflow-x:auto}.prospect-attendance-row .prospect-attendance-controls>strong{white-space:normal;flex:0 0 95px;align-self:center}.prospect-attendance-row .prospect-attendance-item{color:#123653;background:#fff;flex:0 0 280px;min-width:0}.prospect-attendance-item>span{margin-bottom:8px;font-size:14px;display:block}.prospect-attendance-item.is-completed{background:#effaf2;border-color:#31955a}.prospect-attendance-item.is-no_show,.prospect-attendance-item.is-rescheduled{border-color:#d55360}@media (width<=760px){.prospect-attendance-row .prospect-attendance-controls{max-width:calc(100vw - 65px)}}@media print{.prospect-attendance-row{display:none!important}}.workshop-panel{background:#f7fbff;border:1px solid #cad8e5;border-radius:12px;padding:18px}.workshop-panel p,.workshop-panel small{line-height:1.5}.workshop-weekdays,.workshop-actions{flex-wrap:wrap;align-items:center;gap:12px;margin:12px 0;display:flex}.workshop-weekdays label{align-items:center;gap:6px;display:flex}.workshop-dates{grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:10px;margin-top:16px;display:grid}.workshop-date{background:#fff;border:1px solid #c4d3e0;border-left:4px solid #8694a5;border-radius:8px;flex-direction:column;gap:6px;padding:12px;display:flex}.workshop-date.is-completed{border-left-color:#21863c}.workshop-date.is-not_taught{border-left-color:#c52b38}.workshop-date.is-vacation{border-left-color:#7447b5}.workshop-date.is-rescheduled{border-left-color:#d59019}.workshop-panel button:not(.primary-button):not(.secondary-button){color:#173952;background:#fff;border:1px solid #bfd1e2;border-radius:6px;padding:7px}.workshop-editor{background:#edf3ff;border-radius:8px;flex-wrap:wrap;gap:12px;margin-top:16px;padding:16px;display:flex}.workshop-editor h4,.workshop-editor small{width:100%}.workshop-editor label{flex-direction:column;gap:5px;display:flex}.workshop-mark-completed{color:#14672a}.workshop-mark-not_taught{color:#b12635}.workshop-mark-vacation{color:#603e9b}.workshop-mark-rescheduled{color:#86570d}.workshop-legend{margin:8px 0;font-size:12px;line-height:1.4}.workshop-report-note{font-size:12px;line-height:1.4}.teacher-group-calendar .receipt-day-button{white-space:nowrap;padding:3px 1px;font-size:11px}@media print{.workshop-legend,.workshop-report-note{margin:3px 0;font-size:9pt}.teacher-group-calendar td{white-space:nowrap}}.monthly-attendance-total th,.monthly-attendance-total td{color:#143750;border-top:2px solid #adc273;font-weight:800;background:#e8f2c3!important;padding:10px!important}.monthly-attendance-total.advisory-total th,.monthly-attendance-total.advisory-total td{border-top:1px solid #c7d8e9;font-weight:600;background:#eef5fc!important}.timetable-panel{background:#fff;border:1px solid #cedce7;border-radius:14px;margin-bottom:24px;padding:20px}.timetable-controls{flex-wrap:wrap;align-items:end;gap:14px;margin-bottom:18px;display:flex}.timetable-controls h3{color:#132d50;width:100%;margin:0;font-size:22px}.timetable-controls label{gap:6px;font-size:14px;display:grid}.timetable-controls input,.timetable-controls select{border:1px solid #b6cbe0;border-radius:7px;padding:8px}.school-timetable{color:#153653;overflow-x:auto}.school-timetable header{border-bottom:3px solid #153653;align-items:center;gap:15px;margin-bottom:12px;padding-bottom:10px;display:flex}.school-timetable header img{object-fit:contain;width:80px;height:80px}.school-timetable header h2{margin:0 0 5px;font-size:24px}.school-timetable header strong{text-transform:capitalize;font-size:20px}.school-timetable header p{margin:4px 0;font-size:14px}.timetable-key,.timetable-warning{margin:8px 0;font-size:14px;line-height:1.4}.timetable-warning{background:#fff3d5;border-left:4px solid #d6a543;padding:10px}.timetable-calendar{min-width:850px}.timetable-day-headings,.timetable-days{grid-template-columns:repeat(7,minmax(0,1fr));display:grid}.timetable-day-headings{color:#fff;text-align:center;background:#173852;font-size:14px}.timetable-day-headings strong{padding:10px 4px}.timetable-days{border-left:1px solid #ccd8e2}.timetable-day,.timetable-empty{border-bottom:1px solid #ccd8e2;border-right:1px solid #ccd8e2;min-width:0;padding:7px}.timetable-day h4{margin:0 0 8px;font-size:16px}.timetable-event,.timetable-free{overflow-wrap:anywhere;break-inside:avoid;background:#edf3fc;border-left:3px solid #183d68;flex-direction:column;gap:2px;margin-bottom:6px;padding:7px;font-size:14px;line-height:1.3;display:flex}.timetable-event small{font-size:12px}.timetable-event.is-vacation,.timetable-event.is-not_taught,.timetable-event.is-rescheduled{color:#595d62;background:#f1f1f1;border-left-color:#85898d}.timetable-free{color:#31471e;background:#eef6d8;border-left-color:#88a743;font-size:13px}@media print{@page groupTimetable{size:landscape;margin:7mm}body.printing-group-timetable{page:groupTimetable;background:#fff!important}body.printing-group-timetable :not(:has(.school-timetable)):not(.school-timetable):not(.school-timetable *){display:none!important}body.printing-group-timetable :has(.school-timetable){width:auto!important;max-width:none!important;height:auto!important;min-height:0!important;box-shadow:none!important;border:0!important;margin:0!important;padding:0!important;display:block!important;position:static!important;overflow:visible!important}body.printing-group-timetable .school-timetable,body.printing-group-timetable .school-timetable *{-webkit-print-color-adjust:exact;print-color-adjust:exact;visibility:visible!important;max-height:none!important;overflow:visible!important}body.printing-group-timetable .school-timetable{page:groupTimetable;width:100%;position:static}body.printing-group-timetable .timetable-calendar{min-width:0}body.printing-group-timetable .school-timetable header{margin:0 0 5mm;padding:0 0 2mm}body.printing-group-timetable .school-timetable header img{width:18mm;height:18mm}body.printing-group-timetable .school-timetable header h2{font-size:18pt}body.printing-group-timetable .school-timetable header strong{font-size:15pt}body.printing-group-timetable .timetable-key,body.printing-group-timetable .timetable-warning,body.printing-group-timetable .school-timetable header p{margin:2mm 0;padding:0;font-size:9pt}body.printing-group-timetable .timetable-day-headings{font-size:10pt}body.printing-group-timetable .timetable-day-headings strong{padding:2mm 1mm}body.printing-group-timetable .timetable-day{break-inside:avoid;padding:1.5mm}body.printing-group-timetable .timetable-day h4{margin:0 0 1.5mm;font-size:10pt}body.printing-group-timetable .timetable-event,body.printing-group-timetable .timetable-free{gap:0;margin:0 0 1mm;padding:1mm;font-size:9pt}body.printing-group-timetable .timetable-event small{font-size:8pt}}.fund-rate-form{background:#f7fbff;border:1px solid #cbdae4;border-radius:8px;flex-wrap:wrap;align-items:end;gap:10px;margin:12px 0;padding:12px;display:flex}.fund-rate-form label{gap:6px;display:grid}.fund-rate-form small{width:100%}.not-enrolled{color:#657486;background:#eef1f5;border-radius:6px;padding:8px;display:block}.timetable-slot-settings{border:1px solid #d4dfeb;border-radius:8px;margin-bottom:14px;padding:12px}.timetable-slot-settings summary{cursor:pointer;font-weight:700}.timetable-slot-settings form{flex-wrap:wrap;align-items:end;gap:12px;margin-top:12px;display:flex}.timetable-slot-settings label{gap:6px;display:grid}.timetable-slot-settings textarea{min-width:210px;min-height:130px}.timetable-meal{color:#657080;border:1px dashed #87909b;margin-bottom:6px;padding:6px;font-size:12px}.shop-board{color:#183452;gap:18px;font-size:16px;display:grid}.shop-toolbar,.shop-tabs,.shop-methods{flex-wrap:wrap;align-items:center;gap:14px;display:flex}.shop-board label{gap:6px;font-size:14px;display:grid}.shop-board input,.shop-board select{color:#183452;background:#fff;border:1px solid #b9cce0;border-radius:8px;min-width:0;padding:10px}.shop-toolbar span,.shop-accounting-note{font-size:14px}.shop-kpis{grid-template-columns:repeat(4,1fr);gap:12px;display:grid}.shop-kpis article{background:#fff;border:1px solid #c8d7e6;border-top:4px solid #19355b;border-radius:12px;gap:8px;padding:18px;display:grid}.shop-kpis article:last-child{background:#f3f9e4;border-top-color:#9fc32b}.shop-kpis strong{font-size:25px}.shop-kpis span{font-size:14px}.shop-methods>span{background:#edf4fa;border-radius:9px;flex:1;min-width:220px;padding:12px;font-size:14px}.shop-methods b{margin-bottom:6px;display:block}.shop-form{background:#fff;border:1px solid #c8d7e6;border-radius:14px;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;padding:22px;display:grid}.shop-form h3,.shop-form p,.shop-form-actions{grid-column:1/-1}.shop-form p{margin:0;font-size:14px}.shop-form-actions{gap:12px;display:flex}.shop-section{background:#fff;border:1px solid #c8d7e6;border-radius:14px;min-width:0;padding:20px}.shop-section h3{margin-bottom:16px}.shop-section>label{max-width:320px;margin-bottom:15px}.shop-table{overflow-x:auto}.shop-table table{border-collapse:collapse;text-align:left;width:100%;font-size:14px}.shop-table th,.shop-table td{border-bottom:1px solid #dce5ef;padding:12px}.shop-table thead,.shop-table tfoot{background:#eff5df}.shop-table small{margin-top:4px;font-size:13px;font-weight:400;display:block}.shop-low{color:#a23b00}.shop-voided{color:#687582;background:#f3f4f6}.shop-table button{color:#183452;background:#fff;border:1px solid #c8d7e6;border-radius:7px;padding:8px}@media (width<=900px){.shop-kpis{grid-template-columns:repeat(2,1fr)}.shop-form{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=550px){.shop-form{grid-template-columns:1fr}.shop-kpis strong{font-size:21px}}@media print{body.printing-monthly-commitments :is(div,main,section):has(.monthly-commitments-report){width:100%!important;height:auto!important;min-height:0!important;max-height:none!important;margin:0!important;padding:0!important;display:block!important;position:static!important;overflow:visible!important}body.printing-monthly-commitments :is(body,div,main,section):has(.monthly-commitments-report)>:not(.monthly-commitments-report):not(:has(.monthly-commitments-report)){display:none!important}body.printing-monthly-commitments .monthly-commitments-report{break-inside:auto!important;height:auto!important;margin:0!important;padding:0!important;position:static!important;inset:auto!important;overflow:visible!important}body.printing-monthly-commitments .next-month-projection{break-inside:auto!important}body.printing-monthly-commitments .next-month-projection article{break-inside:avoid}}.commitment-kpis article>button{text-align:left;color:inherit;cursor:pointer;width:100%;font:inherit;background:0 0;border:0;gap:8px;padding:0;display:grid}.commitment-kpis article>button:focus-visible{outline-offset:5px;outline:3px solid #183452}.commitment-counts{flex-wrap:wrap;gap:12px;margin:14px 0;display:flex}.commitment-counts button,.commitment-method-summary button{color:#183452;cursor:pointer;background:#edf3fa;border:1px solid #cbd8e8;border-radius:18px;padding:9px 13px}.commitment-reserve-note{color:#47566e;font-size:14px;line-height:1.5}.commitment-detail{background:#f7faff;border:1px solid #bacce1;border-radius:12px;margin:18px 0;padding:18px}.commitment-detail>header{justify-content:space-between;align-items:center;gap:12px;display:flex}.commitment-detail-table{overflow-x:auto}.commitment-detail table{border-collapse:collapse;text-align:left;width:100%;font-size:14px}.commitment-detail td,.commitment-detail th{border-bottom:1px solid #d4deeb;padding:10px}.commitment-detail td small{margin-top:4px;display:block}.commitment-detail tfoot{background:#edf4df}@media print{.commitment-detail{display:none!important}.commitment-kpis article>button{cursor:default}.commitment-kpis article>button>span:last-child{font-size:10px}.commitment-counts button,.commitment-method-summary button{background:0 0;border:0;padding:4px}}.unified-month-summary{background:#fff;border:2px solid #153653;border-radius:14px;margin-bottom:24px;padding:20px}.unified-month-summary h2{margin:0 0 16px}.unified-month-totals{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.unified-month-totals article{background:#edf3fa;border-radius:10px;gap:10px;padding:15px;display:grid}.unified-month-totals article:last-child{background:#e7f1bd}.unified-month-totals strong{font-size:23px}.unified-month-totals small{font-size:14px}.unified-month-summary p{font-size:13px;line-height:1.5}.unified-month-summary summary{cursor:pointer;padding:15px 0;font-weight:700}.unified-month-summary table{border-collapse:collapse;text-align:left;width:100%;font-size:14px}.unified-month-summary td,.unified-month-summary th{border-bottom:1px solid #d2dfeb;padding:9px}.unified-month-summary td{text-align:right}@media (width<=850px){.unified-month-totals{grid-template-columns:repeat(2,minmax(0,1fr))}}@media print{.unified-month-summary{break-inside:avoid;padding:10px}.unified-month-summary details{display:none}.unified-month-totals{grid-template-columns:repeat(4,minmax(0,1fr))}.unified-month-totals strong{font-size:16px}}.prospect-schedule-editor{margin-top:8px}.prospect-schedule-editor form{background:#fff;border:1px solid #bdd0e7;border-radius:10px;gap:8px;min-width:170px;margin-top:8px;padding:10px;display:grid}.prospect-schedule-editor label{gap:4px;font-size:14px;display:grid}.prospect-schedule-editor input,.prospect-schedule-editor select{border:1px solid #bdd0e7;border-radius:6px;width:100%;padding:7px}.prospect-schedule-editor p{color:#a21b32}@media print{.prospect-schedule-editor{display:none!important}}.content:has(.prospect-full-table){width:100%;max-width:none;padding-left:18px;padding-right:18px}.prospect-full-table{scrollbar-gutter:auto;overscroll-behavior:auto;overflow:auto visible;height:auto!important;max-height:none!important}.prospect-full-table .data-table{table-layout:auto;width:100%;min-width:1120px}.prospect-full-table .data-table th{white-space:normal;position:static}.prospect-full-table .data-table td{white-space:normal;overflow-wrap:anywhere;padding:12px 10px}.prospect-full-table .prospect-attendance-controls{flex-wrap:wrap;max-width:none;overflow:visible}.prospect-full-table .prospect-notes{min-width:140px;max-width:240px}.prospect-report-filters{grid-template-columns:repeat(4,minmax(0,1fr));align-items:start}.prospect-report-filters>label{grid-template-columns:1fr;gap:8px;min-width:0;display:grid!important}.prospect-report-filters>label>span{font-size:14px;line-height:1.4;display:block}.prospect-report-filters select,.prospect-report-filters input{width:100%;min-width:0;max-width:100%;height:42px;padding:8px 30px 8px 10px;font-size:14px}.prospect-report-filters .prospect-search-control>div{min-width:0}.prospect-color-legend button{cursor:pointer;border:1px solid #0000;border-radius:999px;padding:8px 12px;font-size:14px;font-weight:700}.prospect-color-legend button[aria-pressed=true]{outline-offset:2px;outline:2px solid}.prospect-list-toolbar{flex-wrap:wrap;align-items:center;gap:16px;display:flex}.prospect-list-toolbar>*{min-width:0}@media (width<=1100px){.prospect-report-filters{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=600px){.prospect-report-filters{grid-template-columns:1fr}.content:has(.prospect-full-table){padding-left:10px;padding-right:10px}}.prospect-date-stack .prospect-schedule-editor{overflow-wrap:normal;word-break:normal;grid-column:1/-1;width:100%;min-width:180px;max-width:240px}.prospect-date-stack .prospect-schedule-editor>button{white-space:normal;overflow-wrap:normal;word-break:normal;justify-content:center;width:100%;min-width:180px;height:auto;min-height:38px;padding:8px 12px;line-height:1.4;display:flex}.prospect-date-stack .prospect-schedule-editor form{box-sizing:border-box;width:100%;min-width:180px}.prospect-date-stack .prospect-schedule-editor small{white-space:normal;grid-column:auto}.prospect-date-stack--editable{width:190px;max-width:240px}.prospect-date-stack--editable>strong,.prospect-date-stack--editable>.prospect-appointment-time{grid-column:1/-1}.content:has(.students-module-stack){width:100%;max-width:none;padding-left:18px;padding-right:18px}.students-module-stack,.students-module-stack>.data-card{min-width:0}.students-module-stack .student-data-table{scrollbar-gutter:auto;overscroll-behavior:auto;height:auto;max-height:none;overflow:auto visible}.students-module-stack .student-data-table .data-table{table-layout:auto;width:100%;min-width:1120px}.students-module-stack .student-data-table .data-table th{white-space:normal;position:static}.students-module-stack .student-data-table .data-table td{white-space:normal;overflow-wrap:break-word;padding:12px 10px}.students-module-stack .student-list-toolbar{grid-template-columns:minmax(180px,1fr) minmax(220px,1fr) auto;align-items:center;gap:14px}.students-module-stack .student-list-toolbar>*{min-width:0}.students-module-stack .student-list-toolbar input{width:100%;min-width:0}.students-module-stack .student-actions-row .table-actions{flex-wrap:wrap;gap:8px;display:flex}@media (width<=1100px){.students-module-stack .student-list-toolbar{grid-template-columns:1fr 1fr}.students-module-stack .student-list-toolbar>.prospect-view-switch{grid-column:1/-1;justify-self:start}}@media (width<=600px){.content:has(.students-module-stack){padding-left:10px;padding-right:10px}.students-module-stack .student-list-toolbar{grid-template-columns:1fr}}.whatsave-float{z-index:90;color:#fff;cursor:pointer;background:#112a49;border:0;border-radius:28px;align-items:center;gap:12px;padding:13px 20px;font-weight:750;display:flex;position:fixed;bottom:20px;right:22px;box-shadow:0 4px 20px #10294438}.whatsave-float strong,.whatsave-layout aside button>strong{color:#112a49;text-align:center;background:#c9ec40;border-radius:20px;min-width:26px;padding:3px 9px}.whatsave-toast{z-index:91;background:#fff;border:2px solid #c9ec40;border-radius:15px;max-width:calc(100vw - 44px);padding:12px;display:flex;position:fixed;bottom:84px;right:22px;box-shadow:0 4px 22px #10294430}.whatsave-toast button{color:#112a49;cursor:pointer;background:0 0;border:0;padding:8px}.whatsave-panel{color:#112a49;margin-bottom:85px}.whatsave-panel>header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;display:flex}.whatsave-panel h1{margin:5px 0;font-size:34px}.whatsave-help{color:#566578;margin:15px 0;font-size:13px}.whatsave-layout{background:#fff;border:1px solid #dce3ed;border-radius:18px;grid-template-columns:240px minmax(0,1fr);display:grid;overflow:hidden}.whatsave-layout h2{margin:0;padding:18px;font-size:18px}.whatsave-layout aside{background:#f4f7fb;border-right:1px solid #dce3ed}.whatsave-layout aside button{text-align:left;color:#112a49;cursor:pointer;background:0 0;border:0;border-bottom:1px solid #e1e7ef;justify-content:space-between;align-items:center;gap:8px;width:100%;padding:15px;display:flex}.whatsave-layout aside button.selected{background:#e9f6bc;box-shadow:inset 4px 0 #97bf0d}.whatsave-layout aside button small{color:#687589;margin-top:4px;display:block}.whatsave-chat{min-width:0}.whatsave-messages{background:#f8fafc;flex-direction:column;align-items:flex-start;gap:12px;height:420px;padding:18px;display:flex;overflow:auto}.whatsave-messages article{background:#fff;border:1px solid #dce3ed;border-radius:14px;max-width:85%;padding:12px 16px}.whatsave-messages article.mine{background:#eff8cd;border-color:#d0eaa0;align-self:flex-end}.whatsave-messages p,.whatsave-legacy p{white-space:pre-wrap;overflow-wrap:anywhere;margin:0 0 8px}.whatsave-messages small{color:#617087;font-size:11px}.whatsave-chat form{flex-wrap:wrap;gap:10px;padding:16px;display:flex}.whatsave-chat form label{width:100%;font-size:13px}.whatsave-chat textarea{resize:vertical;width:100%;font:inherit;border:1px solid #cbd6e2;border-radius:10px;padding:12px}.whatsave-empty{text-align:center;color:#657389;padding:60px 25px}.whatsave-legacy{background:#fff;border:1px solid #dce3ed;border-radius:15px;margin-top:25px;padding:20px}.whatsave-legacy summary{cursor:pointer;font-weight:700}.whatsave-legacy article{border-bottom:1px solid #dce3ed;padding:15px 0}.whatsave-legacy small{margin-bottom:10px;display:block}@media (width<=700px){.whatsave-layout{grid-template-columns:1fr}.whatsave-layout aside{max-height:200px;overflow:auto}.whatsave-messages{height:350px}.whatsave-float{bottom:12px;right:12px}.whatsave-panel h1{font-size:29px}}@media print{.whatsave-float,.whatsave-toast{display:none!important}}.whatsave-messages article.person-purple{background:#f0e7ff;border-color:#b88ae6}.whatsave-messages article.person-blue{background:#e3efff;border-color:#79a8e5}.whatsave-messages article.person-green{background:#e7f5df;border-color:#8dbf77}.whatsave-messages article.person-yellow{background:#fff6ce;border-color:#e4c458}.whatsave-sender{margin-bottom:7px;font-size:13px;display:block}.person-purple .whatsave-sender,.whatsave-layout aside .person-purple b{color:#7136a9}.person-blue .whatsave-sender,.whatsave-layout aside .person-blue b{color:#205b9e}.person-green .whatsave-sender,.whatsave-layout aside .person-green b{color:#316629}.person-yellow .whatsave-sender,.whatsave-layout aside .person-yellow b{color:#806000}.whatsave-delete{color:#963b32;cursor:pointer;background:0 0;border:0;margin-top:8px;padding:3px 0;font-size:12px;text-decoration:underline;display:block}.whatsave-deleted{color:#667085;font-style:italic}.whatsave-sound-settings{flex-wrap:wrap;align-items:center;gap:15px;margin-top:18px;display:flex}.whatsave-sound-settings select{border:1px solid #ccd6e0;border-radius:8px;margin-left:10px;padding:8px}.fivy-sticker-picker{flex-wrap:wrap;gap:8px;width:100%;display:flex}.fivy-sticker-picker button{cursor:pointer;background:#fff;border:1px solid #d1dea5;border-radius:10px;flex-direction:column;align-items:center;min-width:95px;padding:8px;display:flex}.fivy-sticker-picker img{object-fit:contain;width:64px;height:72px}.fivy-chat-sticker{flex-direction:column;align-items:center;gap:8px;margin-bottom:12px;display:flex}.fivy-chat-sticker img{object-fit:contain;width:130px;height:145px}.fivy-chat-sticker strong{font-size:18px}:is(.content:has(.payments-full-page),.content:has(.accounting-board)){max-width:none;padding-left:18px;padding-right:18px}.payments-full-page{gap:18px;min-width:0;display:grid}.payments-full-page .table-wrap,.payments-full-page .data-table-wrap,.payments-full-page .student-data-table,.accounting-board .table-wrap{scrollbar-gutter:auto;overflow:auto visible;height:auto!important;max-height:none!important}.payments-full-page .data-table td,.payments-full-page .data-table th{white-space:normal;padding:9px 8px}.accounting-board{gap:18px;min-width:0;display:grid}.accounting-board table{border-collapse:collapse;width:100%}.accounting-board td,.accounting-board th{text-align:left;border-bottom:1px solid #dde5ee;padding:10px}.accounting-board .commitments-toolbar label{align-items:center;gap:8px;display:flex}.accounting-board .commitments-toolbar input,.accounting-board .commitments-toolbar select{border:1px solid #cad6e3;border-radius:8px;padding:9px}@media print{body.printing-monthly-commitments .accounting-board .commitments-toolbar{display:none!important}.accounting-board .table-wrap{overflow:visible!important}}.fivy-picker-panel{background:#f5f8fc;border:1px solid #dce3ed;border-radius:12px;width:100%;padding:12px}.fivy-picker-filters{flex-wrap:wrap;gap:12px;margin-bottom:12px;display:flex}.whatsave-chat .fivy-picker-filters label{flex:1;width:auto;min-width:180px}.fivy-picker-filters select,.fivy-picker-filters input{background:#fff;border:1px solid #cbd6e2;border-radius:8px;width:100%;padding:9px;display:block}.fivy-sticker-picker{grid-template-columns:repeat(auto-fill,minmax(100px,1fr));max-height:330px;display:grid;overflow-y:auto}.fivy-sticker-picker button{min-width:0;padding:3px}.fivy-sticker-picker img{width:100%;height:112px}.fivy-chat-sticker img{width:190px;height:190px}.fund-balance-highlights{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:16px 0;display:grid}.fund-balance-highlights article{background:#fff;border:1px solid #c8d8b1;border-radius:12px;gap:10px;padding:18px;display:grid}.fund-balance-highlights strong{color:#143653;font-size:26px}.fund-balance-highlights article:last-child{background:#eaf3c9;border:2px solid #a9c54b}.fund-month-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:20px;display:grid}.fund-month-detail{background:#fff;border:1px solid #ccdac6;border-radius:12px;min-width:0;padding:14px}.fund-month-detail h3{margin:0 0 12px;font-size:19px;font-weight:800}.fund-month-detail .reservation-table-wrap{max-height:none}.fund-month-detail td,.fund-month-detail th{white-space:normal!important;padding:10px 8px!important;font-size:13px!important}@media (width<=1050px){.fund-month-detail-grid{grid-template-columns:1fr}}@media (width<=600px){.fund-balance-highlights{grid-template-columns:1fr}}@media print{.fund-month-detail{break-inside:avoid}.fund-balance-highlights strong{font-size:19px}.fund-month-detail-grid{grid-template-columns:1fr}}.payment-date-edit-button{white-space:nowrap;align-items:center;gap:4px;margin-left:6px;font-size:14px;display:inline-flex}.payment-date-dialog{color:#163653;background:#fff;border:1px solid #b7c8db;border-radius:14px;width:min(440px,100vw - 32px);max-height:90vh;padding:24px;overflow:auto}.payment-date-dialog::backdrop{background:#0a192d8c}.payment-date-dialog form{gap:14px;display:grid}.payment-date-dialog h2,.payment-date-dialog p{margin:0}.payment-date-dialog label{gap:6px;display:grid}.payment-date-dialog input,.payment-date-dialog select{border:1px solid #a8bbcd;border-radius:6px;width:100%;padding:10px;font-size:16px}.payment-date-dialog footer{justify-content:flex-end;gap:10px;display:flex}.payment-date-dialog [role=alert]{color:#a51e35}@media print{.payment-date-edit-button,.payment-date-dialog{display:none!important}}.payment-breakdown-line{border-top:1px solid #ded0ea;padding:12px 0;row-gap:12px!important}.payment-breakdown-line>label{min-width:0;font-size:14px}.payment-breakdown-line>label:first-child{grid-column:1/-1}.payment-breakdown-line>label>span{white-space:normal;overflow-wrap:anywhere;line-height:1.35}.payment-breakdown-line input:not([type=checkbox]){box-sizing:border-box;width:100%;min-width:0;max-width:100%;font-size:14px}.payment-breakdown-line>.breakdown-recurring-toggle{flex-wrap:nowrap;grid-column:1/-2;justify-self:start;font-size:14px;line-height:1.4}.payment-breakdown-line>.breakdown-recurring-toggle input{flex:0 0 18px;min-width:18px;height:18px;width:18px!important}.payment-breakdown-line>button{justify-self:end}.payment-breakdown-editor>div:first-child small{font-size:14px;line-height:1.5}@media (width<=600px){.payment-breakdown-line>.breakdown-recurring-toggle{grid-column:1/-1}}.teacher-group-calendar td.workshop-mark-not_taught{-webkit-print-color-adjust:exact;print-color-adjust:exact;color:#a11935!important;background:#fde3e8!important}.teacher-group-calendar td.workshop-mark-completed{-webkit-print-color-adjust:exact;print-color-adjust:exact;color:#15522c!important;background:#edf5d2!important}.receipt-day-content{vertical-align:middle;justify-content:center;align-items:center;gap:2px;display:inline-flex}.receipt-soft-mark{color:#56647a;-webkit-print-color-adjust:exact;print-color-adjust:exact;background:#eef0f6;border-radius:50%;justify-content:center;align-items:center;width:17px;height:17px;font-size:10px;font-weight:700;display:inline-flex}.receipt-soft-mark svg{width:15px;height:15px}.receipt-soft-completed{color:#357957;background:#dcefdc}.receipt-soft-not_taught{color:#b35470;background:#f8dce3}.receipt-soft-vacation{color:#775491;background:#eee5f7}.receipt-soft-rescheduled{color:#96732f;background:#fff0ce}.teacher-group-calendar .receipt-day-button{color:inherit;border-radius:8px}.teacher-group-calendar .receipt-day-button:hover{background:#f0f4fb;outline:1px solid #ccd7e8}.teacher-group-calendar td.workshop-mark-not_taught{color:#995268!important;background:#fff5f7!important}.teacher-group-calendar td.workshop-mark-completed{color:#357957!important;background:#f4f9ed!important}@media print{.receipt-soft-mark{width:14px;height:14px}.receipt-soft-mark svg{width:12px;height:12px}.receipt-day-content{gap:1px}}body{font-optical-sizing:auto;-webkit-font-smoothing:antialiased;line-height:1.45}button,input,select,textarea{font-family:inherit}h1,h2,h3,h4{letter-spacing:-.025em;font-weight:800;line-height:1.2}th{letter-spacing:0;font-weight:800}td{font-variant-numeric:tabular-nums}button{font-weight:700}@media print{body{-webkit-font-smoothing:auto;font-family:Nunito Sans,Arial,sans-serif}}.receipt-student-count{color:#64748b;margin-top:3px;font-size:11px;font-weight:600;display:block}.whatsave-toast.whatsave-branded{color:#153e35;background:linear-gradient(125deg,#fff,#edfaf2);border:1px solid #bde8d4;border-radius:24px;align-items:center;gap:10px;width:min(390px,100vw - 32px);padding:14px;animation:.25s ease-out whatsave-arrive;display:flex;box-shadow:0 14px 45px #103d3529}.whatsave-branded img{object-fit:contain;flex-shrink:0;width:84px;height:84px}.whatsave-branded .whatsave-toast-main{text-align:left;color:#163d35;background:0 0;border:0;flex-direction:column;align-items:flex-start;gap:3px;padding:0;display:flex}.whatsave-toast-main strong{letter-spacing:-.6px;font-size:23px;font-weight:800}.whatsave-toast-main small{color:#30836a;font-size:11px}.whatsave-toast-main span{font-size:13px}.whatsave-toast-main em{color:#168257;margin-top:4px;font-size:12px;font-style:normal;font-weight:800}.whatsave-branded .whatsave-toast-close{color:#47705c;background:#e4f1e9;border:0;border-radius:50%;align-self:flex-start;width:25px;height:25px;margin-left:auto;padding:0}.whatsave-notification-settings{background:#f0faf5;border:1px solid #d1eadc;border-radius:18px;flex-wrap:wrap;align-items:center;gap:12px;margin:12px 0;padding:16px;display:flex}.whatsave-notification-settings label{align-items:center;gap:8px;font-weight:700;display:flex}.whatsave-notification-settings p{color:#5a6f66;width:100%;margin:0;font-size:12px}@keyframes whatsave-arrive{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.whatsave-toast.whatsave-branded{animation:none}}.whatsave-attachment{background:#ffffffb3;border:1px solid #112a491f;border-radius:12px;flex-direction:column;gap:6px;min-width:0;margin:8px 0 12px;padding:10px;display:flex}.whatsave-attachment img{object-fit:contain;border-radius:9px;width:100%;max-width:320px;max-height:280px;display:block}.whatsave-attachment strong{overflow-wrap:anywhere;font-size:13px}.whatsave-attachment span{color:#566578;font-size:12px}.whatsave-download{color:#174c76;text-underline-offset:3px;align-self:flex-start;padding:6px 0;font-size:13px;font-weight:700;text-decoration:underline}.whatsave-pending-file{background:#f4f9e8;border:1px solid #cadf94;border-radius:12px;align-items:center;gap:12px;width:100%;padding:10px 12px;display:flex}.whatsave-pending-file img{object-fit:contain;background:#fff;border-radius:8px;width:64px;height:64px}.whatsave-pending-file div{flex:1;min-width:0}.whatsave-pending-file strong{overflow-wrap:anywhere;font-size:13px;display:block}.whatsave-pending-file small{color:#566578;margin-top:3px;display:block}.whatsave-pending-file button{color:#384858;cursor:pointer;background:0 0;border:0;padding:8px;font-size:24px}.whatsave-file-help{color:#627186;width:100%;font-size:12px}.student-migration-modal{flex-direction:column;gap:14px;max-width:680px;max-height:90vh;display:flex;overflow-y:auto}.student-migration-modal>p{margin:0;line-height:1.5}.student-migration-modal label{flex-direction:column;gap:7px;font-weight:600;display:flex}.student-migration-modal input[type=search],.student-migration-modal select{color:#163351;width:100%;font:inherit;background:#fff;border:1px solid #ccd6e2;border-radius:9px;padding:11px}.student-migration-preview{background:#f5f8ee;border:1px solid #d9e8bb;border-radius:14px;padding:16px}.student-migration-preview h3{overflow-wrap:anywhere}.student-migration-preview dl{grid-template-columns:1fr 1fr;gap:8px;display:grid}.student-migration-preview dl div{border-bottom:1px solid #d9e8bb;justify-content:space-between;gap:10px;padding:6px 0;display:flex}.student-migration-preview dd{margin:0;font-weight:800}.student-migration-modal .migration-confirm{flex-direction:row;align-items:flex-start;margin:14px 0;font-size:14px;display:flex}.migration-confirm input{margin-top:4px}.student-prospect-history{background:#f7f9fc;border:1px solid #dce3ed;border-radius:12px;margin:14px 0;padding:16px}.student-prospect-history details{padding:10px 0}.student-prospect-history summary{cursor:pointer;font-weight:700}@media (width<=600px){.student-migration-preview dl{grid-template-columns:1fr}}.payment-message-editor{background:#fff;border:1px solid #ddd6ee;border-radius:18px;margin:16px 0;padding:20px}.payment-message-editor header{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:16px;display:flex}.payment-message-editor h3{margin:4px 0 8px}.payment-message-editor p,.payment-message-editor small{color:#6b6378}.payment-message-columns{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px;margin-bottom:12px;display:grid}.payment-message-columns label{flex-direction:column;gap:8px;display:flex}.payment-message-columns textarea,.payment-message-columns select{box-sizing:border-box;width:100%;font:inherit;color:#30273d;background:#fff;border:1px solid #d9d2e5;border-radius:10px;padding:12px}.payment-message-columns textarea{resize:vertical;min-height:280px;max-height:600px;line-height:1.6}.payment-message-columns select{margin:8px 0}.payment-message-preview{white-space:pre-wrap;overflow-wrap:anywhere;color:#244238;background:#edf8f2;border-radius:12px;max-height:340px;margin-bottom:12px;padding:16px;font-size:14px;line-height:1.6;overflow-y:auto}@media (width<=800px){.payment-message-columns{grid-template-columns:1fr}.payment-message-editor header{flex-direction:column}}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}
