:root {
    --ink: #17363d;
    --ink-soft: #506b70;
    --navy: #123b45;
    --navy-2: #18515b;
    --teal: #087d76;
    --teal-bright: #25bda8;
    --teal-pale: #e6f6f2;
    --cream: #f4f2eb;
    --paper: #fffefa;
    --coral: #d85d4a;
    --coral-pale: #feeee9;
    --amber: #a96f0d;
    --amber-pale: #fff5dc;
    --violet: #6557b7;
    --violet-pale: #eeecf9;
    --line: #d5e1de;
    --shadow: 0 16px 42px rgba(20, 52, 58, .10);
    --shadow-sm: 0 7px 22px rgba(20, 52, 58, .08);
    --radius: 20px;
    --font: "DM Sans", sans-serif;
    --heading: "Manrope", sans-serif;
}

/* Platform-wide communication services */
.platform-comms-fab{position:fixed;right:22px;bottom:22px;z-index:20;display:flex;align-items:center;gap:8px;padding:12px 16px!important;border-color:#9fd8d3!important;background:#fff!important;box-shadow:0 14px 36px rgba(6,44,70,.18)}
.family-otp-options{display:grid;gap:9px;margin-bottom:15px}.family-otp-options label{margin:0!important;cursor:pointer}.family-otp-options input{position:absolute;opacity:0}.family-otp-options label>span{display:grid;grid-template-columns:40px minmax(0,1fr) 20px;align-items:center;gap:11px;padding:11px;border:1px solid var(--line,#d8e2ec);border-radius:14px;background:rgba(255,255,255,.76);transition:.18s}.family-otp-options label>span>i:first-child{display:grid;width:40px;height:40px;place-items:center;border-radius:12px;color:var(--accent,#176ac1);background:var(--accent-soft,#eaf3ff);font-size:18px}.family-otp-options b{display:flex;flex-direction:column;font-size:13px}.family-otp-options small{margin-top:2px;color:var(--muted,#6c7b8d);font-size:10px;font-weight:600}.family-otp-options label>span>i:last-child{color:var(--accent,#176ac1);opacity:0}.family-otp-options input:checked+span{border-color:var(--accent,#176ac1);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent,#176ac1) 13%,transparent)}.family-otp-options input:checked+span>i:last-child{opacity:1}
.platform-gateway-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;align-items:start}.platform-gateway-card,.platform-policy-card{padding:18px;border:1px solid #dbe6ee;border-radius:20px;background:#fff;box-shadow:0 9px 28px rgba(13,52,79,.06)}.platform-gateway-card>header{display:grid;grid-template-columns:44px minmax(0,1fr) auto;gap:11px;align-items:center;margin-bottom:16px}.platform-gateway-card>header>i{display:grid;width:44px;height:44px;place-items:center;border-radius:14px;color:#fff;background:linear-gradient(135deg,#145d91,#10a698);font-size:19px}.platform-gateway-card header span{display:flex;flex-direction:column}.platform-gateway-card header small,.platform-policy-card header>div>span{color:#078d88;font-size:9px;font-weight:850;letter-spacing:.12em}.platform-gateway-card h2,.platform-policy-card h2{margin:2px 0 0;color:#173956;font:800 17px Manrope,sans-serif}.platform-gateway-card .form-grid{gap:9px}.platform-gateway-card label>span{display:block;margin-bottom:5px;color:#657d8f;font-size:10px;font-weight:800}.platform-gateway-card input:not([type=checkbox]),.platform-gateway-card select,.platform-policy-row select{width:100%;min-height:39px;padding:8px 10px;border:1px solid #cfdde7;border-radius:10px;color:#193b51;background:#fbfdff;font:650 12px DM Sans,sans-serif}.platform-gateway-card>.primary-button{width:100%;justify-content:center;margin-top:14px}.gateway-switch{position:relative;margin:0!important}.gateway-switch input{position:absolute;opacity:0}.gateway-switch b{display:block;width:42px;height:24px;border-radius:99px;background:#cbd7df;cursor:pointer;transition:.2s}.gateway-switch b:after{content:"";display:block;width:18px;height:18px;margin:3px;border-radius:50%;background:#fff;box-shadow:0 2px 5px #17395633;transition:.2s}.gateway-switch input:checked+b{background:#0b9f91}.gateway-switch input:checked+b:after{transform:translateX(18px)}
.platform-policy-card{margin-top:18px}.platform-policy-card>header{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:15px}.platform-policy-card header p{margin:5px 0 0;color:#6e8191;font-size:12px}.platform-policy-table{overflow:auto;border:1px solid #e0e8ef;border-radius:14px}.platform-policy-head,.platform-policy-row{display:grid;grid-template-columns:minmax(190px,1.2fr) repeat(3,minmax(190px,1fr));align-items:stretch;min-width:800px}.platform-policy-head{color:#fff;background:#173f61}.platform-policy-head>span{padding:11px 12px;font-size:11px;font-weight:800}.platform-policy-head small{display:block;margin-top:2px;color:#b9cfdf;font-size:9px}.platform-policy-row{border-top:1px solid #e5edf2}.platform-policy-row>strong{display:flex;flex-direction:column;padding:13px;color:#193b52;font-size:12px}.platform-policy-row>strong small{margin-top:3px;color:#8091a0;font-size:9px}.platform-policy-row>label{padding:9px 11px;border-left:1px solid #edf2f5}.platform-policy-row>label>span{display:flex;align-items:center;gap:6px;margin-top:6px;color:#597183;font-size:10px;font-weight:750}.platform-policy-row>label input{width:16px;height:16px}.platform-policy-row:nth-child(odd){background:#f9fbfd}
@media(max-width:1080px){.platform-gateway-grid{grid-template-columns:1fr 1fr}.platform-gateway-card:last-child{grid-column:1/-1}}@media(max-width:680px){.platform-gateway-grid{grid-template-columns:1fr}.platform-gateway-card:last-child{grid-column:auto}.platform-policy-card>header{align-items:stretch;flex-direction:column}.platform-comms-fab{right:12px;bottom:12px}.platform-comms-fab span{display:none}}

* { box-sizing: border-box; }
body { margin: 0; background: #f7f8f5; color: var(--ink); font-family: var(--font); font-size: 15px; -webkit-font-smoothing: antialiased; }
button, input { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
a { color: inherit; text-decoration: none; }
h1, h2, h3, p { margin-top: 0; }

.app-shell { min-height: 100vh; }
.sidebar { background: linear-gradient(175deg, #113a42 0%, #0d3037 75%, #0a292f 100%); color: #fff; display: flex; flex-direction: column; height: 100vh; left: 0; overflow-y: auto; padding: 28px 20px 22px; position: fixed; top: 0; width: 270px; z-index: 1040; }
.brand-wrap { align-items: center; display: flex; padding: 0 8px 25px; }
.brand-mark { align-items: center; background: linear-gradient(145deg, #3bd3ba, #1fa998); border-radius: 13px 13px 13px 5px; box-shadow: 0 8px 20px rgba(22, 205, 177, .22); display: flex; font-size: 22px; height: 44px; justify-content: center; margin-right: 12px; width: 44px; }
.brand-name { display: block; font-family: var(--heading); font-size: 20px; font-weight: 800; letter-spacing: -.6px; }
.brand-wrap small { color: #93b0b4; display: block; font-size: 10px; letter-spacing: 1.5px; text-transform: uppercase; }
.sidebar-close { background: transparent; border: 0; color: #fff; font-size: 20px; margin-left: auto; }
.school-chip { align-items: center; background: rgba(255,255,255,.065); border: 1px solid rgba(255,255,255,.08); border-radius: 15px; display: flex; gap: 10px; margin-bottom: 25px; padding: 11px; }
.school-monogram { align-items: center; background: #f5d57a; border-radius: 10px; color: #654c12; display: flex; flex: 0 0 36px; font-size: 12px; font-weight: 800; height: 36px; justify-content: center; }
.school-chip strong { display: block; font-size: 11px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; width: 155px; }
.school-chip small { color: #91adb0; display: block; font-size: 10px; margin-top: 3px; }
.main-nav { display: flex; flex-direction: column; gap: 5px; }
.nav-label { color: #718f93; font-size: 9px; font-weight: 700; letter-spacing: 1.6px; margin: 0 13px 6px; text-transform: uppercase; }
.main-nav a, .sidebar-bottom > a { align-items: center; border-radius: 12px; color: #aac0c2; display: flex; font-size: 13px; font-weight: 600; gap: 13px; min-height: 44px; padding: 10px 13px; position: relative; transition: .2s ease; }
.main-nav a i, .sidebar-bottom > a i { font-size: 16px; }
.main-nav a:hover, .sidebar-bottom > a:hover { background: rgba(255,255,255,.05); color: #fff; }
.main-nav a.active { background: linear-gradient(90deg, rgba(42,196,173,.2), rgba(42,196,173,.08)); color: #fff; }
.main-nav a.active::before { background: var(--teal-bright); border-radius: 0 4px 4px 0; content: ""; height: 24px; left: -20px; position: absolute; width: 3px; }
.main-nav a.active i { color: var(--teal-bright); }
.nav-count { background: rgba(233,109,88,.19); border-radius: 20px; color: #ff9b89; font-size: 10px; margin-left: auto; padding: 3px 7px; }
.sidebar-bottom { margin-top: auto; padding-top: 28px; }
.help-card { background: linear-gradient(145deg, rgba(43,196,173,.14), rgba(255,255,255,.05)); border: 1px solid rgba(91,220,200,.14); border-radius: 16px; margin-top: 15px; padding: 17px; }
.help-card > i { color: #48d5c0; display: block; font-size: 19px; margin-bottom: 8px; }
.help-card strong, .help-card span { display: block; }
.help-card strong { font-size: 12px; }
.help-card span { color: #8eaaad; font-size: 10px; margin: 4px 0 12px; }
.help-card button,.help-card .help-action { background: rgba(255,255,255,.09); border: 0; border-radius: 8px; color: #d9e8e8; display: block; font-size: 10px; font-weight: 700; padding: 8px 10px; text-align: center; width: 100%; }

.main-content { margin-left: 270px; min-height: 100vh; }
.topbar { align-items: center; background: rgba(255,255,253,.9); border-bottom: 1px solid #e8ece9; backdrop-filter: blur(12px); display: flex; height: 72px; justify-content: space-between; padding: 0 34px; position: sticky; top: 0; z-index: 1020; }
.topbar-search { align-items: center; color: #91a0a1; max-width: 430px; position: relative; }
.topbar-search input { background: #f3f5f2; border: 1px solid transparent; border-radius: 12px; color: var(--ink); font-size: 12px; outline: none; }
.topbar-search input:focus { background: white; border-color: rgba(11,143,135,.28); box-shadow: 0 0 0 3px rgba(11,143,135,.07); }
.topbar-actions { align-items: center; display: flex; gap: 16px; margin-left: auto; }
.icon-button, .menu-toggle { align-items: center; background: white; border: 1px solid var(--line); border-radius: 11px; color: var(--ink); display: flex; height: 39px; justify-content: center; position: relative; width: 39px; }
.icon-button span { background: var(--coral); border: 2px solid white; border-radius: 50%; height: 8px; position: absolute; right: 7px; top: 7px; width: 8px; }
.notification-bell span{display:grid;min-width:18px;width:auto;height:18px;padding:0 4px;place-items:center;right:-6px;top:-6px;border-width:2px;border-radius:999px;color:#fff;font-size:.55rem;font-weight:800;line-height:1}
.user-menu { align-items: center; display: flex; gap: 10px; }
.user-avatar { align-items: center; background: var(--teal-pale); border-radius: 11px; color: var(--teal); display: flex; font-size: 11px; font-weight: 800; height: 39px; justify-content: center; width: 39px; }
.user-menu strong, .user-menu small { display: block; line-height: 1.25; }
.user-menu strong { font-size: 11px; }
.user-menu small { color: #879697; font-size: 9px; margin-top: 3px; }
.user-menu > i { color: #849394; font-size: 10px; }

.page-wrap { margin: 0 auto; max-width: 1550px; padding: 36px 34px 50px; }
.welcome-row { align-items: flex-end; display: flex; justify-content: space-between; margin-bottom: 27px; }
.eyebrow, .section-kicker { color: var(--teal); display: block; font-size: 9px; font-weight: 800; letter-spacing: 1.45px; margin-bottom: 9px; text-transform: uppercase; }
.eyebrow i { margin-right: 5px; }
.welcome-row h1, .payment-heading h1 { font-family: var(--heading); font-size: clamp(25px, 2.2vw, 33px); font-weight: 800; letter-spacing: -1.2px; margin-bottom: 7px; }
.welcome-row p, .payment-heading p { color: var(--ink-soft); font-size: 13px; margin: 0; }
.outline-button, .primary-button, .secondary-button { align-items: center; border-radius: 11px; display: inline-flex; font-size: 11px; font-weight: 700; gap: 8px; justify-content: center; min-height: 42px; padding: 10px 16px; transition: .2s ease; }
.outline-button { background: white; border: 1px solid var(--line); color: var(--ink); }
.outline-button:hover { border-color: #bed1cf; box-shadow: var(--shadow-sm); }
.primary-button { background: linear-gradient(135deg, #0c948a, #077d78); border: 1px solid transparent; box-shadow: 0 9px 18px rgba(11,143,135,.2); color: white; }
.primary-button:hover { box-shadow: 0 12px 25px rgba(11,143,135,.28); color: white; transform: translateY(-1px); }
.secondary-button { background: var(--teal-pale); border: 1px solid rgba(11,143,135,.13); color: #087a73; }
.secondary-button:hover { background: #ddf3ef; }
.link-button { background: transparent; border: 0; color: var(--teal); font-size: 10px; font-weight: 700; padding: 5px; }

.student-banner { align-items: center; background: linear-gradient(105deg, #f0f7f3 0%, #eff7f3 70%, #e6f3ee 100%); border: 1px solid #dce9e3; border-radius: 18px; display: flex; justify-content: space-between; margin-bottom: 20px; overflow: visible; padding: 17px 20px; position: relative; z-index: 30; }
.student-banner::after { border: 25px solid rgba(11,143,135,.04); border-radius: 50%; content: ""; height: 150px; pointer-events: none; position: absolute; right: 14%; top: -65px; width: 150px; }
.student-main { align-items: center; display: flex; gap: 14px; position: relative; z-index: 1; }
.student-avatar { align-items: center; background: var(--navy); border: 4px solid rgba(255,255,255,.8); border-radius: 15px; box-shadow: 0 7px 14px rgba(26,57,61,.12); color: #fff; display: flex; font-family: var(--heading); font-size: 16px; font-weight: 800; height: 54px; justify-content: center; width: 54px; }
.student-label { color: #78908f; display: block; font-size: 8px; font-weight: 800; letter-spacing: 1.4px; }
.student-main h2 { font-family: var(--heading); font-size: 17px; font-weight: 800; margin: 2px 0 3px; }
.student-main p { color: #6c8181; font-size: 10px; margin: 0; }
.student-main p span { background: #9db1ae; border-radius: 50%; display: inline-block; height: 3px; margin: 0 8px 2px; width: 3px; }
.student-switcher { position: relative; z-index: 6; }.student-switch-trigger { background: transparent; border: 1px solid transparent; border-radius: 14px; color: var(--ink); padding: 5px 8px 5px 5px; text-align: left; transition: .2s ease; }.student-switch-trigger:hover,.student-switch-trigger[aria-expanded="true"] { background: rgba(255,255,255,.72); border-color: #d3e3dd; box-shadow: 0 8px 20px rgba(22,57,59,.08); }.student-identity { min-width: 230px; }.student-identity > strong,.student-identity > small { display: block; }.student-identity > strong { font-family: var(--heading); font-size: 17px; font-weight: 800; margin: 2px 0 3px; }.student-identity > small { color: #6c8181; font-size: 9px; }.student-identity > small i { background: #9db1ae; border-radius: 50%; display: inline-block; height: 3px; margin: 0 7px 2px; width: 3px; }.linked-count { background: var(--violet-pale); border-radius: 20px; color: var(--violet); font-size: 6px; font-weight: 800; margin-left: 3px; padding: 5px 7px; text-transform: uppercase; }.student-switch-chevron { color: #7d918e; font-size: 9px; margin-left: 1px; transition: .2s; }.student-switch-trigger[aria-expanded="true"] .student-switch-chevron { transform: rotate(180deg); }
.student-switch-menu { border: 1px solid #dce7e3; border-radius: 17px; box-shadow: 0 24px 60px rgba(18,55,61,.2); margin-top: 9px !important; min-width: 390px; overflow: hidden; padding: 0; z-index: 1095; }.student-menu-head { align-items: center; background: linear-gradient(120deg,#123d45,#174d55); color: white; display: flex; justify-content: space-between; padding: 16px 18px; }.student-menu-head span,.student-menu-head strong { display: block; }.student-menu-head div span { color: #5bd5c2; font-size: 6px; font-weight: 800; letter-spacing: 1.3px; }.student-menu-head div strong { font-family: var(--heading); font-size: 13px; margin-top: 2px; }.family-count { background: rgba(255,255,255,.1); border-radius: 20px; color: #c8dcdd; font-size: 7px; padding: 5px 8px; }.student-menu-list { background: #fbfcfa; padding: 8px; }.student-menu-list form + form { margin-top: 5px; }.student-menu-item { align-items: center; background: transparent; border: 1px solid transparent; border-radius: 12px; color: var(--ink); display: flex; padding: 10px; text-align: left; transition: .18s; width: 100%; }.student-menu-item:hover:not(:disabled) { background: white; border-color: #dce8e4; box-shadow: 0 6px 18px rgba(23,61,64,.07); }.student-menu-item.selected { background: #eef9f6; border-color: #cdebe4; }.family-avatar { align-items: center; border-radius: 12px; display: flex; flex: 0 0 43px; font-family: var(--heading); font-size: 12px; font-weight: 800; height: 43px; justify-content: center; }.family-avatar.tone-1 { background: var(--teal-pale); color: var(--teal); }.family-avatar.tone-2 { background: var(--violet-pale); color: var(--violet); }.family-avatar.tone-3 { background: var(--amber-pale); color: #a87720; }.family-copy { flex: 1; margin-left: 11px; }.family-copy strong,.family-copy small,.family-copy > span { display: block; }.family-copy strong { font-size: 10px; }.family-copy small { color: #7d908e; font-size: 7px; margin-top: 2px; }.family-copy > span { color: var(--teal); font-size: 7px; font-weight: 700; margin-top: 5px; }.family-action { align-items: center; background: #edf1ef; border-radius: 50%; color: #718582; display: flex; font-size: 9px; height: 26px; justify-content: center; width: 26px; }.student-menu-item.selected .family-action { background: var(--teal); color: white; }.student-menu-foot { align-items: center; background: #f1f5f2; color: #7c8d8a; display: flex; font-size: 7px; gap: 7px; padding: 10px 15px; }.student-menu-foot i { color: var(--teal); }
.student-switch { background: rgba(255,255,255,.8); border: 1px solid #d7e5df; border-radius: 10px; color: var(--ink); font-size: 10px; font-weight: 700; padding: 9px 12px; position: relative; z-index: 1; }
.student-switch i { font-size: 9px; margin-left: 5px; }

.status-grid { display: grid; gap: 14px; grid-template-columns: repeat(4, 1fr); margin-bottom: 24px; }
.status-card { background: var(--paper); border: 1px solid var(--line); border-radius: 17px; min-height: 133px; overflow: hidden; padding: 20px; position: relative; }
.status-card::after { border: 18px solid currentColor; border-radius: 50%; content: ""; height: 90px; opacity: .035; position: absolute; right: -32px; top: -29px; width: 90px; }
.status-icon { align-items: center; border-radius: 10px; display: flex; font-size: 14px; height: 31px; justify-content: center; position: absolute; right: 16px; top: 16px; width: 31px; }
.status-card > span { color: #6e8182; display: block; font-size: 10px; font-weight: 600; margin-bottom: 8px; }
.status-card > strong { display: block; font-family: var(--heading); font-size: 24px; letter-spacing: -.8px; margin-bottom: 8px; }
.status-card > small { color: #849494; font-size: 9px; }
.paid-card { color: var(--teal); } .paid-card .status-icon { background: var(--teal-pale); }
.overdue-card { border-color: #f1d9d4; color: var(--coral); } .overdue-card .status-icon { background: var(--coral-pale); }
.due-card { color: var(--amber); } .due-card .status-icon { background: var(--amber-pale); }
.future-card { color: var(--violet); } .future-card .status-icon { background: var(--violet-pale); }
.status-card > span, .status-card > small, .status-card > strong { color: var(--ink); }
.status-card > span, .status-card > small { color: var(--ink-soft); }

.content-card, .pay-now-card { background: var(--paper); border: 1px solid var(--line); border-radius: var(--radius); box-shadow: var(--shadow-sm); }
.pay-now-card { overflow: hidden; padding: 25px; position: relative; }
.pay-now-card::before { background: linear-gradient(90deg, #e96d58, #eda167); content: ""; height: 4px; left: 0; position: absolute; right: 0; top: 0; }
.pay-card-head { align-items: center; display: flex; justify-content: space-between; }
.attention-pill { background: var(--coral-pale); border-radius: 20px; color: #cc5845; display: inline-block; font-size: 8px; font-weight: 800; letter-spacing: 1px; margin-bottom: 9px; padding: 6px 9px; }
.pay-card-head h2, .card-heading h2 { font-family: var(--heading); font-size: 19px; font-weight: 800; letter-spacing: -.45px; margin: 0 0 5px; }
.pay-card-head p, .card-heading p { color: var(--ink-soft); font-size: 10px; margin: 0; }
.amount-orbit { align-items: center; background: var(--coral-pale); border-radius: 14px; display: flex; flex-direction: column; justify-content: center; min-height: 70px; min-width: 125px; padding: 10px; }
.amount-orbit span { color: #ba6657; font-size: 7px; font-weight: 800; letter-spacing: 1.2px; }
.amount-orbit strong { color: #bb4f3d; font-family: var(--heading); font-size: 20px; margin-top: 3px; }
.smart-notice { align-items: flex-start; background: linear-gradient(90deg, #eef9f6, #f4faf8); border: 1px solid #d8eee8; border-radius: 12px; display: flex; gap: 11px; margin: 20px 0 10px; padding: 12px 14px; }
.smart-notice > i { color: var(--teal); font-size: 17px; }
.smart-notice strong, .smart-notice span { display: block; }
.smart-notice strong { font-size: 10px; margin-bottom: 2px; }
.smart-notice span { color: #607d7a; font-size: 9px; }
.breakup-list { padding: 4px 0; }
.breakup-item { align-items: center; border-bottom: 1px solid #edf0ee; display: flex; min-height: 54px; }
.breakup-item:last-child { border-bottom: 0; }
.breakup-dot { background: #c6d5d3; border-radius: 50%; height: 5px; margin: 0 13px 0 3px; width: 5px; }
.breakup-item > div { flex: 1; }
.breakup-item strong, .breakup-item small { display: block; }
.breakup-item strong { font-size: 10px; }
.breakup-item small { color: #879697; font-size: 8px; margin-top: 2px; }
.breakup-item > span:last-child { font-size: 11px; font-weight: 700; }
.pay-card-footer { align-items: center; background: #f6f7f4; border-radius: 13px; display: flex; justify-content: space-between; margin-top: 7px; padding: 14px; }
.pay-card-footer > div span, .pay-card-footer > div strong { display: block; }
.pay-card-footer > div span { color: var(--ink-soft); font-size: 8px; text-transform: uppercase; }
.pay-card-footer > div strong { font-family: var(--heading); font-size: 19px; margin-top: 2px; }

.content-card { padding: 23px; }
.card-heading { align-items: flex-start; display: flex; justify-content: space-between; margin-bottom: 18px; }
.card-heading.compact { align-items: center; }
.section-kicker { font-size: 8px; margin-bottom: 6px; }
.legend, .chart-legend { align-items: center; color: #778989; display: flex; font-size: 8px; gap: 12px; }
.legend span, .chart-legend span { align-items: center; display: flex; gap: 5px; }
.legend i, .chart-legend i { border-radius: 50%; display: inline-block; height: 6px; width: 6px; }
.legend .paid, .chart-legend .actual { background: var(--teal); }
.legend .due { background: var(--coral); }
.legend .future { background: #c2ccca; }
.chart-legend .target { background: #d7dfdd; }
.timeline-item { align-items: center; display: flex; min-height: 74px; position: relative; }
.timeline-track { align-self: stretch; display: flex; justify-content: center; margin-right: 16px; position: relative; width: 31px; }
.timeline-track::after { background: #e3e9e7; bottom: 0; content: ""; left: 15px; position: absolute; top: 0; width: 1px; }
.timeline-item:first-child .timeline-track::after { top: 50%; }
.timeline-item:last-child .timeline-track::after { bottom: 50%; }
.timeline-track span { align-items: center; background: white; border: 1px solid #dce4e2; border-radius: 50%; color: #81918f; display: flex; font-size: 9px; font-weight: 700; height: 28px; justify-content: center; margin-top: 23px; position: relative; width: 28px; z-index: 1; }
.timeline-item.paid .timeline-track span { background: var(--teal); border-color: var(--teal); color: white; }
.timeline-item.overdue .timeline-track span { background: var(--coral); border-color: var(--coral); color: white; }
.timeline-item.due-now .timeline-track span { background: var(--amber); border-color: var(--amber); color: white; }
.timeline-copy { align-items: center; border-bottom: 1px solid #edf0ee; display: flex; flex: 1; justify-content: space-between; min-width: 0; padding: 18px 0; }
.timeline-item:last-child .timeline-copy { border-bottom: 0; }
.timeline-copy > div { min-width: 140px; }
.timeline-copy strong { display: block; font-size: 11px; }
.timeline-copy > div span { color: #849493; display: block; font-size: 8px; margin-top: 3px; }
.timeline-copy > small { color: #7a8d8d; flex: 1; font-size: 8px; margin-left: 20px; }
.timeline-amount { align-items: flex-end; display: flex; flex-direction: column; gap: 5px; margin-left: 15px; min-width: 78px; }
.timeline-amount strong { font-size: 11px; }
.status-badge, .txn-status { border-radius: 20px; font-size: 7px; font-weight: 800; padding: 4px 7px; }
.status-badge.success { background: var(--teal-pale); color: var(--teal); }
.status-badge.danger { background: var(--coral-pale); color: var(--coral); }
.status-badge.warning { background: var(--amber-pale); color: #a87518; }
.status-badge.neutral { background: #eef1f0; color: #748785; }

.spark-icon { align-items: center; background: var(--violet-pale); border-radius: 11px; color: var(--violet); display: flex; height: 38px; justify-content: center; width: 38px; }
.saving-box { background: linear-gradient(135deg, #f0eefb, #f6f5fc); border: 1px solid #e4e0f5; border-radius: 14px; margin: 10px 0 13px; padding: 16px; text-align: center; }
.saving-box > span, .saving-box > strong, .saving-box > small { display: block; }
.saving-box > span { color: #70699a; font-size: 8px; text-transform: uppercase; }
.saving-box > strong { color: #5c4daf; font-family: var(--heading); font-size: 25px; margin: 4px 0; }
.saving-box > small { color: #70699a; font-size: 8px; }
.annual-card > p { color: var(--ink-soft); font-size: 9px; line-height: 1.6; text-align: center; }
.offer-expiry { color: #819190; display: block; font-size: 8px; margin-top: 11px; text-align: center; }
.receipt-item { align-items: center; border-bottom: 1px solid #edf0ee; display: flex; gap: 10px; padding: 13px 0; }
.receipt-item:last-child { border-bottom: 0; padding-bottom: 0; }
.receipt-icon { align-items: center; background: #eff6f3; border-radius: 10px; color: var(--teal); display: flex; height: 35px; justify-content: center; width: 35px; }
.receipt-item > div:nth-child(2) { flex: 1; }
.receipt-item strong, .receipt-item small { display: block; }
.receipt-item strong { font-size: 9px; }
.receipt-item small { color: #879695; font-size: 7px; margin-top: 3px; }
.receipt-item > div:last-child { text-align: right; }
.receipt-item button { background: transparent; border: 0; color: var(--teal); font-size: 11px; padding: 3px; }
.support-strip { align-items: center; background: var(--navy); border-radius: 17px; color: white; display: flex; gap: 12px; padding: 17px; }
.support-strip > span { align-items: center; background: rgba(43,196,173,.17); border-radius: 11px; color: var(--teal-bright); display: flex; font-size: 18px; height: 40px; justify-content: center; width: 40px; }
.support-strip > div { flex: 1; }
.support-strip strong { display: block; font-size: 10px; }
.support-strip p { color: #94afb2; font-size: 8px; margin: 2px 0 0; }
.support-strip button,.support-strip > a { align-items: center; background: rgba(255,255,255,.1); border: 0; border-radius: 9px; color: white; display: flex; height: 31px; justify-content: center; width: 31px; }

/* Payment */
.back-link { align-items: center; color: #6e8181; display: inline-flex; font-size: 10px; font-weight: 600; gap: 7px; margin-bottom: 22px; }
.back-link:hover { color: var(--teal); }
.payment-heading { align-items: flex-end; display: flex; justify-content: space-between; margin-bottom: 28px; }
.secure-note { align-items: center; background: var(--teal-pale); border: 1px solid #d8ebe7; border-radius: 13px; display: flex; gap: 10px; padding: 10px 13px; }
.secure-note > i { color: var(--teal); font-size: 20px; }
.secure-note strong, .secure-note span { display: block; }
.secure-note strong { font-size: 9px; }.secure-note span { color: #6c8481; font-size: 7px; margin-top: 2px; }
.payment-selection .card-heading { margin-bottom: 13px; }
.payment-selection .card-heading > div, .payment-page .content-card .card-heading > div { position: relative; padding-left: 42px; }
.step-number { align-items: center; background: var(--navy); border-radius: 9px; color: white; display: flex; font-size: 11px; font-weight: 800; height: 30px; justify-content: center; left: 0; position: absolute; top: 0; width: 30px; }
.payment-option { align-items: center; border: 1px solid var(--line); border-radius: 14px; cursor: pointer; display: flex; gap: 12px; margin-top: 11px; padding: 16px; position: relative; transition: .2s ease; }
.payment-option:hover { border-color: #bad8d3; }
.payment-option.selected { background: #f1faf7; border-color: #63bdb1; box-shadow: 0 0 0 2px rgba(11,143,135,.06); }
.payment-option input { opacity: 0; position: absolute; }
.custom-radio { border: 2px solid #bac8c6; border-radius: 50%; display: block; height: 18px; position: relative; width: 18px; }
.payment-option.selected .custom-radio { border-color: var(--teal); }
.payment-option.selected .custom-radio::after { background: var(--teal); border-radius: 50%; content: ""; height: 8px; left: 3px; position: absolute; top: 3px; width: 8px; }
.payment-option > div { flex: 1; }
.payment-option strong, .payment-option small { display: block; }
.payment-option > strong { font-family: var(--heading); font-size: 15px; }
.payment-option div strong { font-size: 10px; }.payment-option small { color: #7f9190; font-size: 8px; margin-top: 3px; }
.recommended { background: var(--teal); border-radius: 20px; color: white; display: inline-block !important; font-size: 6px; letter-spacing: .6px; margin-left: 5px; padding: 3px 5px; vertical-align: 1px; }
.allocation-note { align-items: flex-start; background: #f6f8f5; border-radius: 10px; color: #647a78; display: flex; font-size: 8px; gap: 8px; margin-top: 13px; padding: 10px; }
.allocation-note i { color: var(--teal); }
.method-grid { display: grid; gap: 10px; grid-template-columns: repeat(3, 1fr); }
.payment-method { background: white; border: 1px solid var(--line); border-radius: 13px; color: var(--ink); min-height: 118px; padding: 15px 10px; position: relative; text-align: left; }
.payment-method > i { color: #708584; display: block; font-size: 21px; margin-bottom: 12px; }
.payment-method strong, .payment-method small { display: block; }.payment-method strong { font-size: 9px; }.payment-method small { color: #899897; font-size: 7px; margin-top: 3px; }
.payment-method.selected { background: #f1faf7; border-color: var(--teal); }.payment-method.selected > i { color: var(--teal); }
.method-check { align-items: center; background: var(--teal); border-radius: 50%; color: white; display: none; height: 17px; justify-content: center; position: absolute; right: 9px; top: 9px; width: 17px; }.payment-method.selected .method-check { display: flex; }
.gateway-row { align-items: center; color: #899796; display: flex; font-size: 7px; gap: 12px; justify-content: center; margin-top: 18px; }.gateway-row strong { color: #435c5d; font-size: 8px; }.gateway-row .divider { background: #d8dfdd; height: 13px; width: 1px; }
.order-summary { background: linear-gradient(160deg, #173f47, #102f36); border-radius: 20px; box-shadow: 0 20px 45px rgba(17,58,66,.2); color: white; overflow: hidden; padding: 25px; position: sticky; top: 96px; }
.order-summary::before { border: 35px solid rgba(43,196,173,.08); border-radius: 50%; content: ""; height: 190px; position: absolute; right: -75px; top: -75px; width: 190px; }
.summary-top { border-bottom: 1px solid rgba(255,255,255,.11); padding-bottom: 18px; position: relative; }.summary-top span, .summary-top small { display: block; }.summary-top span { color: #5bd6c3; font-size: 8px; font-weight: 800; letter-spacing: 1.5px; }.summary-top small { color: #a8bcbe; font-size: 8px; margin-top: 7px; }
.summary-lines { padding: 14px 0; }.summary-lines > div, .summary-total, .gateway-fee { display: flex; justify-content: space-between; }.summary-lines > div { color: #b6c7c9; font-size: 9px; padding: 7px 0; }.summary-lines strong { color: white; }
.summary-total { align-items: center; border-bottom: 1px solid rgba(255,255,255,.11); border-top: 1px solid rgba(255,255,255,.11); padding: 16px 0; }.summary-total span { font-size: 10px; font-weight: 600; }.summary-total strong { color: #71dfcd; font-family: var(--heading); font-size: 25px; }
.gateway-fee { color: #a9bcbd; flex-wrap: wrap; font-size: 8px; padding: 14px 0; }.gateway-fee strong { color: #70dfcd; }.gateway-fee small { color: #789295; display: block; flex-basis: 100%; margin-top: 4px; }
.pay-button { border: 0; font-size: 11px; margin-top: 6px; min-height: 50px; width: 100%; }.terms-copy { color: #7f999c; font-size: 7px; line-height: 1.5; margin: 10px auto 14px; text-align: center; width: 85%; }
.trust-row { border-top: 1px solid rgba(255,255,255,.1); display: flex; justify-content: space-between; padding-top: 14px; }.trust-row span { color: #91aaac; font-size: 7px; }.trust-row i { color: #58d4c0; margin-right: 4px; }

/* Admin */
.header-actions { display: flex; gap: 10px; }
.admin-filterbar { align-items: center; background: white; border: 1px solid var(--line); border-radius: 13px; display: flex; gap: 25px; margin-bottom: 18px; padding: 10px 14px; }
.admin-filterbar > div { align-items: center; color: #7c8d8d; display: flex; font-size: 9px; gap: 7px; }.admin-filterbar > div + div { border-left: 1px solid #e7ece9; padding-left: 20px; }.admin-filterbar strong { color: var(--ink); }.admin-filterbar .filter-update { border: 0; margin-left: auto; }.live-dot { background: var(--teal-bright); border-radius: 50%; box-shadow: 0 0 0 4px rgba(43,196,173,.12); height: 6px; width: 6px; }
.admin-metrics { display: grid; gap: 14px; grid-template-columns: repeat(4, 1fr); }
.metric-card { background: white; border: 1px solid var(--line); border-radius: 17px; min-height: 126px; padding: 18px; position: relative; }.metric-card::after { background: currentColor; border-radius: 50%; bottom: -32px; content: ""; filter: blur(22px); height: 60px; opacity: .12; position: absolute; right: -15px; width: 90px; }
.metric-top { align-items: center; display: flex; justify-content: space-between; }.metric-top span { color: #718484; font-size: 9px; font-weight: 600; }.metric-top i { font-size: 12px; }
.metric-card > strong { color: var(--ink); display: block; font-family: var(--heading); font-size: 23px; margin: 13px 0 3px; }.metric-card > small { font-size: 8px; }.metric-card.teal { color: var(--teal); }.metric-card.coral { color: var(--coral); }.metric-card.violet { color: var(--violet); }.metric-card.amber { color: var(--amber); }
.collection-card { min-height: 408px; }.chart-total { margin: 0 0 -20px; }.chart-total span, .chart-total strong, .chart-total small { display: block; }.chart-total span { color: #7f9090; font-size: 8px; }.chart-total strong { font-family: var(--heading); font-size: 24px; margin: 2px 0; }.chart-total small { color: var(--teal); font-size: 8px; }
.bar-chart { align-items: end; border-bottom: 1px solid #dfe6e3; display: flex; gap: 18px; height: 205px; justify-content: flex-end; padding: 12px 4px 0 150px; position: relative; }.bar-chart::before, .bar-chart::after { border-top: 1px dashed #e4e9e7; content: ""; left: 150px; position: absolute; right: 0; }.bar-chart::before { top: 30%; }.bar-chart::after { top: 62%; }
.bar-group { align-items: center; display: flex; flex: 1; flex-direction: column; height: 100%; justify-content: flex-end; max-width: 45px; }.bars { align-items: end; display: flex; gap: 3px; height: calc(100% - 25px); width: 100%; }.bars span { border-radius: 5px 5px 1px 1px; display: block; flex: 1; position: relative; z-index: 1; }.bars .target { background: #dfe6e3; }.bars .actual { background: linear-gradient(#2fc6af, #0b8f87); }.bar-group small { color: #788a89; font-size: 7px; margin-top: 8px; }
.chart-insight { align-items: center; background: #eff9f6; border: 1px solid #dcefeb; border-radius: 11px; display: flex; gap: 10px; margin-top: 15px; padding: 10px 12px; }.chart-insight > i { color: var(--teal); font-size: 17px; }.chart-insight > div { flex: 1; }.chart-insight strong, .chart-insight span { display: block; }.chart-insight strong { font-size: 9px; }.chart-insight span { color: #66817e; font-size: 7px; margin-top: 2px; }.chart-insight button,.chart-insight > a { background: transparent; border: 0; color: var(--teal); font-size: 8px; font-weight: 700; }
.attention-count { align-items: center; background: var(--coral-pale); border-radius: 50%; color: var(--coral); display: flex; font-size: 9px; font-weight: 800; height: 29px; justify-content: center; width: 29px; }.attention-item { align-items: center; background: white; border: 0; border-bottom: 1px solid #edf0ee; display: flex; gap: 10px; padding: 14px 0; text-align: left; width: 100%; }.attention-item:last-child { border-bottom: 0; }.attention-icon { align-items: center; border-radius: 10px; display: flex; flex: 0 0 37px; height: 37px; justify-content: center; }.attention-icon.danger { background: var(--coral-pale); color: var(--coral); }.attention-icon.warning { background: var(--amber-pale); color: var(--amber); }.attention-icon.violet { background: var(--violet-pale); color: var(--violet); }.attention-item > span:nth-child(2) { flex: 1; }.attention-item strong, .attention-item small { display: block; }.attention-item strong { font-size: 9px; }.attention-item small { color: #829291; font-size: 7px; line-height: 1.4; margin-top: 3px; }.item-count { color: #617674; font-family: var(--heading); font-size: 12px; font-weight: 800; }
.donut-layout { align-items: center; display: flex; gap: 25px; padding: 5px 2px 18px; }.donut { align-items: center; background: conic-gradient(var(--teal) 0 48%, var(--violet) 48% 75%, var(--amber) 75% 93%, #cdd7d5 93%); border-radius: 50%; display: flex; flex: 0 0 145px; height: 145px; justify-content: center; position: relative; }.donut::after { background: white; border-radius: 50%; content: ""; height: 92px; position: absolute; width: 92px; }.donut > div { position: relative; text-align: center; z-index: 1; }.donut strong, .donut span { display: block; }.donut strong { font-family: var(--heading); font-size: 16px; }.donut span { color: #849492; font-size: 7px; }
.donut-legend { flex: 1; }.donut-legend > div { align-items: center; display: flex; font-size: 8px; gap: 7px; padding: 6px 0; }.donut-legend > div > span:nth-child(2) { color: #6f8381; flex: 1; }.dot { border-radius: 3px; height: 7px; width: 7px; }.dot.axis { background: var(--teal); }.dot.hdfc { background: var(--violet); }.dot.upi { background: var(--amber); }.dot.offline { background: #cdd7d5; }.fee-cost { align-items: center; background: #f6f7f4; border-radius: 10px; display: flex; font-size: 8px; gap: 10px; padding: 10px; }.fee-cost span { color: #718582; flex: 1; }.fee-cost small { color: #849795; }
.grade-table-card table, .transaction-card table { margin: 0; }.table > :not(caption) > * > * { background: transparent; border-color: #edf0ee; padding: 12px 8px; }.table thead th { color: #8a9998; font-size: 7px; font-weight: 700; letter-spacing: .5px; text-transform: uppercase; }.table tbody td { color: #617573; font-size: 9px; }.table tbody td strong { color: var(--ink); }.table tbody button { background: transparent; border: 0; color: #859594; }.health-cell { align-items: center; display: flex; gap: 8px; }.health-cell > span { background: #e7ecea; border-radius: 5px; height: 6px; overflow: hidden; width: 70px; }.health-cell > span i { background: var(--teal); border-radius: 5px; display: block; height: 100%; }.health-cell strong { font-size: 8px; }
.transaction-actions { display: flex; gap: 10px; }.transaction-actions > button:first-child { background: white; border: 1px solid var(--line); border-radius: 8px; color: #617573; font-size: 8px; padding: 7px 10px; }.student-cell { align-items: center; display: flex; gap: 9px; }.student-cell > span { align-items: center; background: var(--teal-pale); border-radius: 9px; color: var(--teal); display: flex; font-size: 8px; font-weight: 800; height: 32px; justify-content: center; width: 32px; }.student-cell strong, .student-cell small { display: block; }.student-cell small { color: #879694; font-size: 7px; margin-top: 2px; }.transaction-table code { background: #f3f5f3; border-radius: 5px; color: #617573; font-family: var(--font); font-size: 7px; padding: 4px 5px; }.txn-status.settled { background: var(--teal-pale); color: var(--teal); }.txn-status.reconciling { background: var(--amber-pale); color: #a6771f; }.txn-status.failed { background: var(--coral-pale); color: var(--coral); }

.app-footer { align-items: center; color: #91a09f; display: flex; font-size: 8px; justify-content: space-between; margin: 0 auto; max-width: 1550px; padding: 20px 34px 28px; }.app-footer i { color: var(--teal); margin-right: 4px; }
.toast { background: #fff; box-shadow: var(--shadow); color: var(--ink); font-size: 11px; }
.year-explorer { align-items: flex-end; display: flex; flex-direction: column; position: relative; z-index: 5; }.year-explorer-label { color: #718986; font-size: 7px; font-weight: 800; letter-spacing: 1.1px; margin: 0 8px 5px 0; }.year-explorer-trigger { align-items: center; background: rgba(255,255,255,.9); border: 1px solid #d3e4de; border-radius: 14px; box-shadow: 0 7px 18px rgba(25,62,62,.07); color: var(--ink); display: flex; min-width: 270px; padding: 9px 11px; text-align: left; transition: .2s ease; }.year-explorer-trigger:hover,.year-explorer-trigger[aria-expanded="true"] { border-color: #7dc6bb; box-shadow: 0 10px 25px rgba(11,143,135,.13); transform: translateY(-1px); }.year-trigger-icon { align-items: center; background: linear-gradient(145deg,#dff5f0,#edf9f6); border-radius: 10px; color: var(--teal); display: flex; font-size: 16px; height: 38px; justify-content: center; margin-right: 10px; width: 38px; }.year-trigger-copy { flex: 1; }.year-trigger-copy small,.year-trigger-copy strong { display: block; }.year-trigger-copy small { color: #7d908e; font-size: 7px; }.year-trigger-copy strong { font-family: var(--heading); font-size: 12px; margin-top: 1px; }.year-trigger-status { border-radius: 20px; font-size: 6px; font-weight: 800; letter-spacing: .6px; padding: 5px 7px; }.year-trigger-status.active { background: var(--teal-pale); color: var(--teal); }.year-trigger-status.closed { background: #eef1ef; color: #758784; }.year-chevron { color: #839592; font-size: 9px; margin-left: 8px; transition: .2s; }.year-explorer-trigger[aria-expanded="true"] .year-chevron { transform: rotate(180deg); }
.year-explorer-menu { border: 1px solid #dce7e3; border-radius: 18px; box-shadow: 0 24px 60px rgba(18,55,61,.2); margin-top: 9px !important; min-width: 385px; overflow: hidden; padding: 0; position: absolute !important; z-index: 1090; }.year-menu-head { align-items: center; background: linear-gradient(120deg,#123d45,#174d55); color: white; display: flex; justify-content: space-between; padding: 17px 19px; }.year-menu-head span,.year-menu-head strong { display: block; }.year-menu-head span { color: #59d5c2; font-size: 6px; font-weight: 800; letter-spacing: 1.3px; }.year-menu-head strong { font-family: var(--heading); font-size: 12px; margin-top: 3px; }.year-menu-head > i { color: #62d7c5; font-size: 21px; }.year-menu-track { background: #fbfcfa; padding: 8px 10px; }.year-menu-item { align-items: stretch; border: 1px solid transparent; border-radius: 12px; display: flex; min-height: 84px; padding: 10px 9px 10px 3px; transition: .18s ease; }.year-menu-item:hover { background: white; border-color: #dce8e4; box-shadow: 0 6px 18px rgba(23,61,64,.07); }.year-menu-item.selected { background: #eef9f6; border-color: #cdebe4; }.year-rail { display: flex; justify-content: center; position: relative; width: 27px; }.year-rail::before { background: #dbe5e2; bottom: -18px; content: ""; position: absolute; top: -18px; width: 1px; }.year-menu-item:first-child .year-rail::before { top: 11px; }.year-menu-item:last-child .year-rail::before { bottom: calc(100% - 12px); }.year-rail i { background: white; border: 2px solid #b9cac6; border-radius: 50%; height: 10px; margin-top: 7px; position: relative; width: 10px; z-index: 1; }.year-menu-item.selected .year-rail i { background: var(--teal); border-color: var(--teal); box-shadow: 0 0 0 4px rgba(11,143,135,.12); }.year-card-copy { flex: 1; }.year-card-top { align-items: center; display: flex; justify-content: space-between; }.year-card-top > strong { font-family: var(--heading); font-size: 11px; }.year-card-top em { border-radius: 20px; font-size: 6px; font-style: normal; font-weight: 800; padding: 4px 6px; }.year-card-top em.active { background: var(--teal-pale); color: var(--teal); }.year-card-top em.closed { background: #edf0ef; color: #798986; }.year-card-copy > small { color: #7e908e; display: block; font-size: 7px; margin: 2px 0 9px; }.year-card-values { display: flex; gap: 23px; }.year-card-values > span { color: #81918f; font-size: 7px; }.year-card-values b { color: var(--ink); display: block; font-size: 9px; margin-top: 1px; }.year-card-values b.has-due { color: var(--coral); }.year-card-action { align-items: center; align-self: center; background: #eef2f0; border-radius: 50%; color: #718582; display: flex; font-size: 9px; height: 25px; justify-content: center; margin-left: 8px; width: 25px; }.year-menu-item.selected .year-card-action { background: var(--teal); color: white; }.year-menu-foot { align-items: center; background: #f1f5f2; color: #7c8d8a; display: flex; font-size: 7px; gap: 7px; padding: 10px 16px; }.year-menu-foot i { color: var(--teal); }.paid-in-full { align-items: center; color: var(--teal); display: inline-flex; font-size: 11px; font-weight: 800; gap: 6px; }.empty-state { align-items: center; color: #829390; display: flex; font-size: 9px; gap: 8px; justify-content: center; min-height: 75px; }.form-alert { align-items: center; border-radius: 11px; display: flex; font-size: 10px; gap: 8px; line-height: 1.45; padding: 11px 13px; }.form-alert.error { background: var(--coral-pale); color: #b95140; }.form-alert.success { background: var(--teal-pale); color: #087b73; }
.status-grid,.dashboard-row { position: relative; z-index: 1; }

/* Operational admin pages */
.settings-tabs { align-items: center; background: white; border: 1px solid var(--line); border-radius: 12px; display: flex; gap: 5px; margin-bottom: 18px; overflow-x: auto; padding: 5px; }.settings-tabs a { border-radius: 8px; color: #708381; flex: 0 0 auto; font-size: 9px; font-weight: 700; padding: 9px 13px; }.settings-tabs a.active,.settings-tabs a:hover { background: var(--teal-pale); color: var(--teal); }.setup-icon { align-items: center; background: var(--teal-pale); border-radius: 12px; color: var(--teal); display: flex; font-size: 18px; height: 43px; justify-content: center; width: 43px; }
.settings-module-tabs{gap:8px;padding:8px;position:sticky;top:76px;z-index:20}.settings-module-tabs a{align-items:center;display:flex;font-size:13px;gap:8px;min-height:44px;padding:10px 16px}.settings-module-tabs a i{font-size:17px}.settings-module-tabs a.active{box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--teal) 18%,transparent)}.settings-subnav{align-items:center;background:color-mix(in srgb,var(--surface) 88%,transparent);border:1px solid var(--line);border-radius:12px;display:flex;gap:5px;margin:-8px 0 18px;overflow-x:auto;padding:6px}.settings-subnav a{border-radius:8px;color:var(--muted);font-size:12px;font-weight:700;padding:8px 12px;white-space:nowrap}.settings-subnav a:hover{background:var(--teal-pale);color:var(--teal)}.settings-module-shell{background:var(--surface);border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow);overflow:hidden}.settings-module-shell>header{align-items:center;background:linear-gradient(135deg,color-mix(in srgb,var(--teal-pale) 76%,var(--surface)),var(--surface));border-bottom:1px solid var(--line);display:flex;gap:15px;padding:20px 24px}.settings-module-shell>header>span{align-items:center;background:var(--teal);border-radius:14px;color:white;display:flex;flex:0 0 48px;font-size:21px;height:48px;justify-content:center}.settings-module-shell>header small{color:var(--teal);font-size:10px;font-weight:800;letter-spacing:.12em}.settings-module-shell>header h2{font-size:21px;margin:2px 0 3px}.settings-module-shell>header p{color:var(--muted);font-size:13px;margin:0}
.native-settings-shell{overflow:visible}.native-settings-content{padding:22px}.native-settings-content>.content-card:last-child{margin-bottom:0}.native-settings-grid{display:grid;gap:18px}.people-master-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.settings-master-directory{margin:0;min-width:0}.settings-record-list{display:grid;gap:9px}.settings-record-list>div{align-items:center;border:1px solid var(--line);border-radius:12px;display:grid;gap:9px;grid-template-columns:auto minmax(0,1fr) auto auto auto;padding:10px}.settings-record-list strong,.settings-record-list small{display:block}.settings-record-list small{color:var(--muted);font-size:11px;margin-top:2px}.settings-record-list form{margin:0}.settings-record-list .setup-icon{height:36px;width:36px}.native-calendar-grid{display:grid;gap:16px;grid-template-columns:repeat(2,minmax(0,1fr))}.native-calendar-grid>article{background:var(--surface-soft);border:1px solid var(--line);border-radius:15px;padding:16px}.native-calendar-grid>article>header{align-items:center;display:grid;gap:10px;grid-template-columns:auto minmax(0,1fr) auto auto;margin-bottom:13px}.native-calendar-grid header strong,.native-calendar-grid header small{display:block}.native-calendar-grid header small{color:var(--muted);font-size:11px}.native-calendar-grid .holiday-list{display:grid;gap:7px;margin-bottom:12px}.native-calendar-grid .holiday-list>div{align-items:center;background:var(--surface);border:1px solid var(--line);border-radius:10px;display:grid;gap:8px;grid-template-columns:auto 1fr auto;padding:8px 10px}.native-calendar-grid .holiday-list strong,.native-calendar-grid .holiday-list small{display:block}.native-calendar-grid .holiday-list small{color:var(--muted);font-size:10px}.native-calendar-grid .holiday-add-form{grid-template-columns:1fr 1.4fr auto}.leave-native-grid{display:grid;gap:13px;grid-template-columns:repeat(2,minmax(0,1fr))}.leave-native-grid>article{border:1px solid var(--line);border-radius:14px;padding:15px}.leave-native-grid>article>header{align-items:center;display:grid;gap:10px;grid-template-columns:auto 1fr auto}.leave-native-grid>article>header>span{align-items:center;background:var(--teal);border-radius:10px;color:#fff;display:flex;font-size:11px;font-weight:800;height:38px;justify-content:center;min-width:38px;padding:0 8px}.leave-native-grid header strong,.leave-native-grid header small{display:block}.leave-native-grid header small{color:var(--muted);font-size:11px}.leave-native-grid footer{display:flex;gap:8px;margin-top:12px}.leave-native-grid footer form{margin:0}.settings-native-modal .modal-header{align-items:flex-start}.settings-native-modal .modal-header h2{font-size:22px;margin:2px 0}.settings-native-modal .modal-header p{color:var(--muted);font-size:12px;margin:3px 0 0}.settings-native-modal .modal-body{padding:22px 24px}.settings-native-modal .modal-footer{background:var(--surface-soft);position:sticky;bottom:0;z-index:4}.settings-native-modal fieldset{border:1px solid var(--line);border-radius:14px;margin:0 0 16px;padding:16px}.settings-native-modal legend{float:none;font-size:12px;font-weight:800;margin:0 0 12px;padding:0 7px;width:auto}.payroll-master-directory{margin:0}.settings-record-table td:last-child{width:100px}.settings-record-table .inline-actions{flex-wrap:nowrap}
@media(max-width:1199px){.people-master-grid{grid-template-columns:1fr}.native-calendar-grid,.leave-native-grid{grid-template-columns:1fr}}
@media(max-width:767px){.settings-module-tabs{position:static}.settings-module-tabs a{font-size:12px;padding:9px 12px}.settings-module-shell>header{align-items:flex-start;padding:17px}.settings-module-shell>header p{font-size:12px}.native-settings-content{padding:14px}.settings-record-list>div{grid-template-columns:auto 1fr auto}.settings-record-list>div>.txn-status{grid-column:2}.native-calendar-grid .holiday-add-form{grid-template-columns:1fr}.settings-native-modal .modal-body{padding:16px}.leave-native-grid>article>header{grid-template-columns:auto 1fr}.leave-native-grid>article>header>.txn-status{grid-column:2}}
.admin-form label { display: block; margin-bottom: 14px; }.admin-form label > span { color: #5f7472; display: block; font-size: 8px; font-weight: 700; margin-bottom: 6px; text-transform: uppercase; }.admin-form input,.admin-form select,.admin-form textarea,.quick-form input,.quick-form select,.inline-form select { background: white; border: 1px solid #dce5e2; border-radius: 9px; color: var(--ink); font-size: 10px; min-height: 40px; outline: 0; padding: 9px 11px; width: 100%; }.admin-form textarea { min-height: 78px; resize: vertical; }.admin-form input:focus,.admin-form select:focus,.admin-form textarea:focus,.quick-form input:focus { border-color: var(--teal); box-shadow: 0 0 0 3px rgba(11,143,135,.07); }.form-grid { display: grid; gap: 0 14px; }.form-grid.cols-3 { grid-template-columns: repeat(3,1fr); }.form-grid .span-2 { grid-column: span 2; }
.modern-select { min-width: 0; position: relative; width: 100%; }.modern-select-native { height: 1px !important; left: 0; opacity: 0; pointer-events: none; position: absolute; top: 100%; width: 1px !important; }.modern-select-trigger { align-items: center; background: linear-gradient(180deg,#fff,#fbfcfb); border: 1px solid #d8e3df; border-radius: 10px; box-shadow: 0 2px 5px rgba(25,58,61,.025); color: var(--ink); display: flex; font-size: 10px; font-weight: 600; justify-content: space-between; min-height: 42px; padding: 9px 10px 9px 12px; text-align: left; transition: border-color .18s,box-shadow .18s,background .18s; width: 100%; }.modern-select-trigger:hover { background: white; border-color: #a9cec7; box-shadow: 0 5px 14px rgba(16,91,85,.07); }.modern-select.open .modern-select-trigger,.modern-select-trigger:focus-visible { background: white; border-color: var(--teal); box-shadow: 0 0 0 3px rgba(11,143,135,.09); outline: 0; }.modern-select-value { overflow: hidden; padding-right: 8px; text-overflow: ellipsis; white-space: nowrap; }.modern-select-chevron { align-items: center; background: var(--teal-pale); border-radius: 7px; color: var(--teal); display: flex; flex: 0 0 25px; font-size: 8px; height: 25px; justify-content: center; transition: transform .18s; }.modern-select.open .modern-select-chevron { transform: rotate(180deg); }.modern-select.compact .modern-select-trigger { border-radius: 8px; font-size: 8px; min-height: 32px; padding: 4px 5px 4px 8px; }.modern-select.compact .modern-select-chevron { border-radius: 6px; flex-basis: 21px; height: 21px; }
.modern-select-menu { background: rgba(255,255,255,.98); border: 1px solid #d8e5e1; border-radius: 13px; box-shadow: 0 18px 45px rgba(18,55,61,.18); display: none; overflow-x: hidden; overflow-y: auto; padding: 6px; position: fixed; z-index: 1200; }.modern-select-menu.show { display: block; animation: selectReveal .15s ease-out; }.modern-select-menu.open-up { transform-origin: bottom center; }.modern-select-option { align-items: center; background: transparent; border: 0; border-radius: 9px; color: #435c5a; display: flex; font-size: 9px; font-weight: 600; gap: 9px; min-height: 36px; padding: 7px 9px; text-align: left; transition: .15s; width: 100%; }.modern-select-option + .modern-select-option { margin-top: 2px; }.modern-select-option:hover,.modern-select-option:focus-visible { background: #f0f8f5; color: var(--ink); outline: 0; }.modern-select-option.selected { background: var(--teal-pale); color: #087b73; font-weight: 700; }.modern-select-option:disabled { cursor: not-allowed; opacity: .45; }.option-indicator { align-items: center; border: 1px solid #cfdbd8; border-radius: 6px; color: transparent; display: flex; flex: 0 0 20px; font-size: 9px; height: 20px; justify-content: center; }.modern-select-option.selected .option-indicator { background: var(--teal); border-color: var(--teal); color: white; }.option-copy { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }@keyframes selectReveal { from { opacity: 0; transform: translateY(-4px) scale(.985); } to { opacity: 1; transform: translateY(0) scale(1); } }
.record-count { align-items: center; background: #f0f4f2; border-radius: 50%; color: #647977; display: flex; font-size: 9px; font-weight: 800; height: 30px; justify-content: center; width: 30px; }.master-card { height: 100%; }.master-list { margin-bottom: 16px; }.master-list > div { align-items: center; border-bottom: 1px solid #edf1ef; display: flex; justify-content: space-between; padding: 10px 0; }.master-list strong,.master-list small { display: block; }.master-list strong { font-size: 9px; }.master-list small { color: #879694; font-size: 7px; margin-top: 2px; }.master-list em { border-radius: 20px; font-size: 7px; font-style: normal; padding: 4px 7px; }.master-list em.active { background: var(--teal-pale); color: var(--teal); }.master-list em.closed { background: #eef1ef; color: #788986; }.master-list em.upcoming { background: var(--violet-pale); color: var(--violet); }.quick-form { background: #f6f8f5; border-radius: 11px; display: flex; flex-direction: column; gap: 7px; padding: 11px; }.quick-form > div { display: flex; gap: 6px; }.quick-form button,.mini-action { background: var(--navy); border: 0; border-radius: 8px; color: white; font-size: 8px; font-weight: 700; min-height: 34px; }
.manage-toolbar { align-items: center; display: flex; justify-content: space-between; margin-bottom: 17px; }.manage-toolbar > form { align-items: center; background: white; border: 1px solid var(--line); border-radius: 11px; display: flex; min-width: 390px; padding-left: 12px; }.manage-toolbar > form i { color: #899996; }.manage-toolbar > form input { border: 0; font-size: 10px; min-height: 42px; outline: 0; padding: 8px 10px; width: 100%; }.manage-toolbar > form button { background: transparent; border: 0; color: var(--teal); font-size: 9px; font-weight: 700; padding: 0 13px; }.data-card { padding: 10px 18px; }.inline-form { align-items: center; display: flex; gap: 5px; }.inline-form select { min-height: 32px; min-width: 125px; padding: 5px 7px; }.inline-form button { background: var(--teal-pale); border: 0; border-radius: 7px; color: var(--teal); height: 30px; width: 30px; }.info-chip { align-items: center; background: var(--teal-pale); border-radius: 10px; color: #547b76; display: flex; font-size: 9px; gap: 7px; padding: 10px 12px; }
.form-actions { display: flex; gap: 9px; }.student-directory-card .table-responsive { padding-bottom: 4px; }.student-directory-card table { min-width: 810px; }.student-directory-card th:last-child,.student-directory-card td:last-child { background: var(--paper); box-shadow: -10px 0 18px -17px rgba(18,55,61,.55); position: sticky; right: 0; z-index: 2; }.student-directory-card th:last-child { z-index: 3; }.action-heading { min-width: 115px; text-align: center; }.student-action-cell { min-width: 115px; text-align: center; }.edit-student-action { align-items: center; background: var(--violet-pale); border: 1px solid #e2def5; border-radius: 8px; color: var(--violet); display: inline-flex; font-size: 8px; font-weight: 700; gap: 5px; justify-content: center; min-height: 33px; padding: 6px 10px; }.edit-student-action:hover { background: #e8e4f8; color: #5e4fb1; }
.student-header-actions { align-self: flex-end; }.directory-quick-filters { align-items: flex-end; background: linear-gradient(105deg,#f1f8f5,#f8faf7); border: 1px solid #dce8e4; border-radius: 14px; display: flex; gap: 9px; margin-bottom: 16px; padding: 12px 14px; }.filter-search-box { flex: 1 1 320px; min-width: 220px; }.filter-search-box > span,.directory-quick-filters > label > span { color: #6c817e; display: block; font-size: 7px; font-weight: 700; margin: 0 0 5px 2px; text-transform: uppercase; }.filter-search-box > div { align-items: center; background: white; border: 1px solid #d8e3df; border-radius: 10px; display: flex; min-height: 42px; overflow: hidden; transition: .18s; }.filter-search-box > div:focus-within { border-color: var(--teal); box-shadow: 0 0 0 3px rgba(11,143,135,.09); }.filter-search-box > div > i { color: #829491; margin-left: 11px; }.filter-search-box input { background: transparent; border: 0; color: var(--ink); flex: 1; font-size: 9px; min-width: 0; outline: 0; padding: 9px; }.filter-search-box button { align-items: center; background: var(--teal-pale); border: 0; border-radius: 7px; color: var(--teal); display: flex; height: 28px; justify-content: center; margin-right: 6px; width: 28px; }.filter-search-box button:hover { background: var(--teal); color: white; }.directory-quick-filters > label { margin: 0; min-width: 125px; }.filter-result { align-items: center; border-left: 1px solid #d7e4e0; display: flex; flex-direction: column; justify-content: center; min-height: 42px; min-width: 70px; padding-left: 10px; }.filter-result strong { color: var(--teal); font-family: var(--heading); font-size: 16px; line-height: 1; }.filter-result small { color: #788b88; font-size: 6px; margin-top: 3px; }.clear-filters { align-items: center; color: var(--coral); display: flex; font-size: 7px; font-weight: 700; gap: 4px; min-height: 42px; padding: 0 3px; }.clear-filters:hover { color: #b94d3b; }
.student-modal .modal-dialog { max-width: 850px; }.student-modal .modal-content { background: #fbfcfa; border: 0; border-radius: 22px; box-shadow: 0 30px 80px rgba(12,42,47,.28); overflow: hidden; }.student-modal .modal-header { align-items: flex-start; background: linear-gradient(120deg,#123d45,#174d55); border: 0; color: white; padding: 22px 24px; }.student-modal .modal-header .section-kicker { color: #59d5c2; margin-bottom: 5px; }.student-modal .modal-header h2 { font-family: var(--heading); font-size: 19px; margin: 0 0 4px; }.student-modal .modal-header p { color: #aac0c2; font-size: 9px; margin: 0; }.modal-close { align-items: center; background: rgba(255,255,255,.1); border: 1px solid rgba(255,255,255,.1); border-radius: 9px; color: white; display: flex; height: 34px; justify-content: center; width: 34px; }.modal-close:hover { background: rgba(255,255,255,.17); }.student-modal .modal-body { padding: 24px 24px 9px; }.student-modal .modal-footer { background: white; border-color: #e4eae7; gap: 7px; padding: 14px 24px; }.student-modal .modal-footer > * { margin: 0; }.modal-backdrop.show { opacity: .55; }
.master-link-note { align-items: center; background: var(--teal-pale); border: 1px solid #d8ece7; border-radius: 10px; color: #647e7a; display: flex; font-size: 8px; gap: 8px; margin-bottom: 13px; padding: 10px 12px; }.master-link-note > i { color: var(--teal); font-size: 14px; }.master-link-note > span { flex: 1; }.master-link-note > a { color: var(--teal); font-weight: 700; }.division-master-list small { line-height: 1.45; }.division-quick-form .modern-select-trigger { background: white; }
.structure-grid { display: grid; gap: 15px; grid-template-columns: repeat(3,1fr); }.structure-card { background: white; border: 1px solid var(--line); border-radius: 17px; box-shadow: var(--shadow-sm); padding: 20px; }.structure-card > div:first-child { align-items: center; display: flex; justify-content: space-between; }.structure-card > div:first-child > i { color: var(--teal); font-size: 20px; }.structure-card h2 { font-family: var(--heading); font-size: 14px; margin: 17px 0 5px; }.structure-card p { color: #7c8e8c; font-size: 8px; }.structure-card > strong { display: block; font-family: var(--heading); font-size: 22px; margin: 17px 0; }.structure-meta { border-top: 1px solid #edf1ef; display: flex; flex-direction: column; gap: 7px; padding-top: 13px; }.structure-meta span { color: #6e8380; font-size: 8px; }.structure-meta i { color: var(--teal); margin-right: 5px; }
.runtime-list { background: #f5f8f5; border-radius: 13px; padding: 8px 14px; }.runtime-list > div { align-items: center; border-bottom: 1px solid #e3eae6; display: flex; justify-content: space-between; padding: 12px 0; }.runtime-list > div:last-child { border: 0; }.runtime-list span strong,.runtime-list span small { display: block; }.runtime-list span strong { font-size: 9px; }.runtime-list span small { color: #7b8e8b; font-size: 7px; margin-top: 3px; }
.summary-strip { align-items: center; background: linear-gradient(110deg,#eef8f5,#f5f8f5); border: 1px solid #dce9e5; border-radius: 14px; display: flex; gap: 35px; margin-bottom: 17px; padding: 15px 18px; }.summary-strip > div span,.summary-strip > div strong { display: block; }.summary-strip > div span { color: #708582; font-size: 8px; }.summary-strip > div strong { font-family: var(--heading); font-size: 15px; margin-top: 2px; }.summary-strip .outline-button { margin-left: auto; }.mini-action { padding: 6px 9px; }
.report-grid { display: grid; gap: 15px; grid-template-columns: repeat(2,1fr); }.report-card { align-items: center; background: white; border: 1px solid var(--line); border-radius: 17px; display: flex; gap: 14px; padding: 20px; }.report-card > span { align-items: center; background: var(--teal-pale); border-radius: 12px; color: var(--teal); display: flex; flex: 0 0 45px; font-size: 19px; height: 45px; justify-content: center; }.report-card > div { flex: 1; }.report-card h2 { font-family: var(--heading); font-size: 12px; margin: 0 0 3px; }.report-card p { color: #7a8e8b; font-size: 8px; margin: 0; }.report-card a { color: var(--teal); font-size: 8px; font-weight: 700; }.report-summary { display: grid; gap: 12px; grid-template-columns: repeat(4,1fr); }.report-summary > div { background: #f5f8f5; border-radius: 12px; padding: 15px; }.report-summary span,.report-summary strong { display: block; }.report-summary span { color: #758986; font-size: 8px; }.report-summary strong { font-family: var(--heading); font-size: 18px; margin-top: 4px; }
.report-card { color: var(--ink); position: relative; text-decoration: none; transition: border-color .18s, box-shadow .18s, transform .18s; }
.report-card:hover { border-color: var(--teal); box-shadow: 0 12px 28px rgba(35,73,105,.1); color: var(--ink); transform: translateY(-2px); }
.report-card.active { background: linear-gradient(115deg,var(--teal-pale),white 72%); border-color: var(--teal); box-shadow: 0 10px 25px rgba(55,91,201,.1); }
.report-card > em { color: var(--teal); font-size: 11px; font-style: normal; font-weight: 800; white-space: nowrap; }
.report-workspace { margin-top: 20px; overflow: visible; padding: 0; }
.report-workspace-head { align-items: center; border-bottom: 1px solid var(--line); display: flex; gap: 20px; justify-content: space-between; padding: 24px; }
.report-workspace-head h2 { align-items: center; display: flex; font-family: var(--heading); font-size: 22px; gap: 9px; margin: 3px 0 5px; }.report-workspace-head h2 i { color: var(--teal); }.report-workspace-head p { color: #607774; font-size: 12px; margin: 0; }
.report-filter-panel { background: linear-gradient(120deg,#f5f8ff,#faf8ff); border-bottom: 1px solid var(--line); padding: 20px 24px 15px; }
.report-filter-grid { display: grid; gap: 13px; grid-template-columns: repeat(5,minmax(135px,1fr)); }
.report-filter-grid label { min-width: 0; }.report-filter-grid label > span { color: #526b77; display: block; font-size: 10px; font-weight: 800; margin: 0 0 6px 2px; text-transform: uppercase; }.report-filter-grid label.important > span { color: var(--teal); }
.report-filter-grid input,.report-filter-grid select { background: white; border: 1px solid #dbe2eb; border-radius: 10px; color: var(--ink); font-size: 12px; min-height: 44px; padding: 9px 11px; width: 100%; }.report-filter-grid input:focus,.report-filter-grid select:focus { border-color: var(--teal); box-shadow: 0 0 0 3px rgba(55,91,201,.09); outline: 0; }.report-search { grid-column: span 2; }
.report-filter-actions { align-items: center; display: flex; gap: 14px; margin-top: 15px; }.report-filter-actions > span { color: #637984; flex: 1; font-size: 11px; }.report-filter-actions > span i { color: var(--teal); margin-right: 5px; }.report-filter-actions > a { color: var(--coral); font-size: 11px; font-weight: 800; }
.report-result-summary { display: grid; gap: 1px; grid-template-columns: repeat(4,1fr); background: var(--line); border-bottom: 1px solid var(--line); }.report-result-summary > div { background: white; padding: 17px 22px; }.report-result-summary small,.report-result-summary strong { display: block; }.report-result-summary small { color: #607774; font-size: 10px; }.report-result-summary strong { font-family: var(--heading); font-size: 19px; margin-top: 3px; }
.report-table { padding: 7px 18px 18px; }.report-table table { min-width: 940px; }.report-table th { white-space: nowrap; }.report-table td strong,.report-table td small { display: block; }.report-table td small { color: #667b82; margin-top: 3px; }.report-table code { color: var(--teal); font-size: 11px; }.report-table .amount-danger { color: #be4b42; font-weight: 800; }
.report-empty { padding: 45px 15px !important; text-align: center; }.report-empty i,.report-empty strong,.report-empty span { display: block; }.report-empty i { color: var(--teal); font-size: 28px; }.report-empty strong { font-size: 14px; margin: 8px 0 3px; }.report-empty span { color: #687d83; font-size: 11px; }.evidence-yes { color: var(--teal); font-weight: 800; white-space: nowrap; }
.automation-list > div { align-items: center; border-bottom: 1px solid #edf1ef; display: flex; gap: 11px; padding: 14px 0; }.automation-list > div:last-child { border: 0; }.automation-icon { align-items: center; background: var(--teal-pale); border-radius: 10px; color: var(--teal); display: flex; height: 38px; justify-content: center; width: 38px; }.automation-list > div > div { flex: 1; }.automation-list strong,.automation-list small { display: block; }.automation-list strong { font-size: 10px; }.automation-list small { color: #80918f; font-size: 8px; margin-top: 3px; }.toggle-pill { border: 0; border-radius: 20px; font-size: 7px; font-weight: 800; min-width: 57px; padding: 6px 9px; }.toggle-pill.active { background: var(--teal-pale); color: var(--teal); }.toggle-pill.paused { background: #eef1ef; color: #798986; }
.success-body { align-items: center; background: linear-gradient(145deg,#eef8f4,#f7f6ef); display: flex; justify-content: center; min-height: 100vh; padding: 20px; }.success-card { background: white; border: 1px solid var(--line); border-radius: 22px; box-shadow: var(--shadow); max-width: 520px; padding: 40px; text-align: center; width: 100%; }.success-mark { align-items: center; background: var(--teal); border: 8px solid var(--teal-pale); border-radius: 50%; color: white; display: flex; font-size: 28px; height: 76px; justify-content: center; margin: 0 auto 22px; width: 76px; }.success-card h1 { font-family: var(--heading); font-size: 26px; }.success-card > p { color: #718683; font-size: 11px; }.success-details { background: #f6f8f5; border-radius: 13px; margin: 22px 0; padding: 8px 15px; text-align: left; }.success-details > div { border-bottom: 1px solid #e4eae7; display: flex; font-size: 9px; justify-content: space-between; padding: 10px 0; }.success-details > div:last-child { border: 0; }.success-details span { color: #748885; }.success-card > a { margin: 4px; }

/* Passwordless login */
.login-body { background: #edf1ed; min-height: 100vh; padding: 20px; }
.login-shell { background: white; border-radius: 26px; box-shadow: 0 30px 80px rgba(18,55,61,.16); display: grid; grid-template-columns: 1.08fr .92fr; margin: 0 auto; max-width: 1240px; min-height: calc(100vh - 40px); overflow: hidden; position: relative; }
.login-story { background: linear-gradient(155deg, #16454d 0%, #10363e 65%, #0c2d33 100%); color: white; display: flex; flex-direction: column; overflow: hidden; padding: 45px 55px; position: relative; }
.login-story::before { border: 70px solid rgba(43,196,173,.07); border-radius: 50%; content: ""; height: 440px; left: -210px; position: absolute; top: 22%; width: 440px; }
.login-story::after { background: radial-gradient(circle, rgba(43,196,173,.2) 0 2px, transparent 2.5px); background-size: 18px 18px; bottom: -20px; content: ""; height: 190px; opacity: .28; position: absolute; right: -20px; transform: rotate(-8deg); width: 240px; }
.login-brand { align-items: center; display: flex; gap: 12px; position: relative; z-index: 1; }.login-brand > span { align-items: center; background: linear-gradient(145deg, #3bd3ba, #1ba997); border-radius: 13px 13px 13px 5px; display: flex; font-size: 20px; height: 42px; justify-content: center; width: 42px; }.login-brand strong, .login-brand small { display: block; }.login-brand strong { font-family: var(--heading); font-size: 18px; }.login-brand small { color: #91b1b4; font-size: 8px; margin-top: 2px; text-transform: uppercase; }
.story-copy { margin: auto 0 28px; max-width: 510px; position: relative; z-index: 1; }.story-kicker { color: #52d4c1; display: block; font-size: 9px; font-weight: 800; letter-spacing: 1.6px; margin-bottom: 17px; }.story-copy h1 { font-family: var(--heading); font-size: clamp(38px,4.1vw,59px); font-weight: 800; letter-spacing: -2.8px; line-height: 1.08; margin-bottom: 21px; }.story-copy h1 em { color: #55d5c1; font-style: normal; }.story-copy p { color: #b1c5c7; font-size: 13px; line-height: 1.7; max-width: 430px; }
.story-preview { backdrop-filter: blur(10px); background: rgba(255,255,255,.075); border: 1px solid rgba(255,255,255,.12); border-radius: 19px; max-width: 455px; padding: 20px; position: relative; z-index: 1; }.preview-head { align-items: center; color: #abc1c3; display: flex; font-size: 8px; justify-content: space-between; text-transform: uppercase; }.healthy { background: rgba(43,196,173,.13); border-radius: 20px; color: #61dbc8; padding: 5px 8px; }.preview-amount { align-items: flex-end; display: flex; justify-content: space-between; padding: 18px 0 10px; }.preview-amount span { color: #96afb1; font-size: 9px; }.preview-amount strong { font-family: var(--heading); font-size: 22px; }.preview-progress { background: rgba(255,255,255,.1); border-radius: 8px; height: 7px; overflow: hidden; }.preview-progress i { background: linear-gradient(90deg,#29c2ad,#78e2d2); border-radius: 8px; display: block; height: 100%; width: 26%; }.preview-stats { display: grid; gap: 15px; grid-template-columns: 1fr 1fr; padding-top: 16px; }.preview-stats > div + div { border-left: 1px solid rgba(255,255,255,.1); padding-left: 15px; }.preview-stats span,.preview-stats strong { display: block; }.preview-stats span { color: #90a9ab; font-size: 8px; }.preview-stats strong { font-size: 12px; margin-top: 3px; }
.login-trust { color: #8ba6a9; display: flex; font-size: 8px; gap: 25px; margin-top: 28px; position: relative; z-index: 1; }.login-trust i { color: #42c9b5; margin-right: 5px; }
.login-form-side { align-items: center; display: flex; justify-content: center; padding: 60px; }.login-form-wrap { max-width: 390px; width: 100%; }.school-login-mark { align-items: center; background: #f7e5ae; border: 5px solid #fff8e6; border-radius: 18px; color: #745918; display: flex; font-family: var(--heading); font-size: 18px; font-weight: 800; height: 62px; justify-content: center; margin-bottom: 25px; width: 62px; }.login-form-wrap h2 { font-family: var(--heading); font-size: 28px; font-weight: 800; letter-spacing: -1px; margin-bottom: 9px; }.login-form-wrap > p { color: #758988; font-size: 11px; line-height: 1.65; margin-bottom: 26px; }.login-form label { display: block; font-size: 9px; font-weight: 700; margin-bottom: 7px; }.mobile-field { align-items: center; border: 1px solid #dbe4e1; border-radius: 12px; display: flex; margin-bottom: 12px; min-height: 49px; overflow: hidden; }.mobile-field:focus-within { border-color: var(--teal); box-shadow: 0 0 0 3px rgba(11,143,135,.08); }.mobile-field span { border-right: 1px solid #e3e9e7; color: #546a69; font-size: 11px; font-weight: 700; padding: 0 13px; }.mobile-field input { border: 0; color: var(--ink); flex: 1; font-size: 11px; outline: 0; padding: 14px; }.login-form .primary-button { border: 0; min-height: 49px; width: 100%; }.login-divider { align-items: center; color: #9aa7a6; display: flex; font-size: 8px; gap: 12px; margin: 24px 0 15px; }.login-divider::before,.login-divider::after { background: #e7ecea; content: ""; flex: 1; height: 1px; }.gr-login { align-items: center; background: white; border: 1px solid #dfe6e4; border-radius: 12px; color: var(--ink); display: flex; gap: 12px; padding: 12px; text-align: left; width: 100%; }.gr-login > i:first-child { align-items: center; background: var(--violet-pale); border-radius: 9px; color: var(--violet); display: flex; font-size: 16px; height: 34px; justify-content: center; width: 34px; }.gr-login span { flex: 1; }.gr-login strong,.gr-login small { display: block; }.gr-login strong { font-size: 9px; }.gr-login small { color: #899796; font-size: 7px; margin-top: 2px; }.gr-login > i:last-child { color: #9aabaa; font-size: 9px; }.privacy-note { align-items: flex-start; background: #f5f8f5; border-radius: 10px; color: #7a8e8c; display: flex; font-size: 7px; gap: 8px; line-height: 1.5; margin-top: 19px; padding: 10px; }.privacy-note i { color: var(--teal); font-size: 11px; }.login-help { font-size: 8px !important; margin: 20px 0 0 !important; text-align: center; }.login-help a { color: var(--teal); font-weight: 700; }.demo-skip { bottom: 22px; color: #7b8e8d; font-size: 8px; position: absolute; right: 26px; }.demo-skip i { color: var(--teal); }

@media (max-width: 1199px) {
    .status-grid, .admin-metrics { grid-template-columns: repeat(2, 1fr); }
    .bar-chart { padding-left: 80px; }.bar-chart::before,.bar-chart::after { left: 80px; }
}
@media (max-width: 991px) {
    .sidebar { box-shadow: 18px 0 50px rgba(8,32,37,.22); transform: translateX(-105%); transition: transform .25s ease; }.sidebar.open { transform: translateX(0); }.sidebar-backdrop { background: rgba(7,28,32,.42); inset: 0; opacity: 0; pointer-events: none; position: fixed; transition: .25s; z-index: 1030; }.sidebar-backdrop.show { opacity: 1; pointer-events: auto; }.main-content { margin-left: 0; }.topbar { padding: 0 22px; }.menu-toggle { margin-right: 15px; }.order-summary { position: static; }
}
@media (max-width: 767px) {
    .topbar { height: 64px; padding: 0 16px; }.page-wrap { padding: 25px 16px 40px; }.welcome-row, .payment-heading { align-items: flex-start; flex-direction: column; gap: 16px; }.welcome-row .outline-button, .header-actions { width: 100%; }.header-actions > * { flex: 1; }.student-banner { align-items: flex-start; flex-direction: column; gap: 16px; }.student-switcher { width: 100%; }.student-switch-trigger { width: 100%; }.student-identity { flex: 1; min-width: 0; }.student-switch-menu { min-width: min(390px, calc(100vw - 32px)); width: 100%; }.linked-count { display: none; }.year-explorer { align-items: stretch; width: 100%; }.year-explorer-label { margin-left: 2px; }.year-explorer-trigger { min-width: 0; width: 100%; }.year-explorer-menu { min-width: min(385px, calc(100vw - 32px)); width: 100%; }.status-grid, .admin-metrics { grid-template-columns: repeat(2, minmax(0,1fr)); }.status-card { min-height: 122px; padding: 16px; }.status-card > strong { font-size: 20px; }.pay-card-head { align-items: flex-start; }.amount-orbit { min-width: 105px; }.pay-card-footer { align-items: stretch; flex-direction: column; gap: 12px; }.pay-card-footer .primary-button { width: 100%; }.timeline-copy > small { display: none; }.legend { display: none; }.method-grid { grid-template-columns: 1fr; }.payment-method { align-items: center; display: grid; grid-template-columns: 35px 1fr; min-height: 75px; }.payment-method > i { grid-row: span 2; margin: 0; }.secure-note { display: none; }.admin-filterbar { flex-wrap: wrap; }.admin-filterbar .filter-update { flex-basis: 100%; margin: 3px 0 0; }.donut-layout { flex-direction: column; }.bar-chart { gap: 8px; padding-left: 0; }.bar-chart::before,.bar-chart::after { left: 0; }.chart-total { margin-bottom: 0; }.chart-insight button { display: none; }.app-footer { padding: 20px 16px; }.form-grid.cols-3,.structure-grid,.report-grid,.report-summary { grid-template-columns: 1fr; }.form-grid .span-2 { grid-column: span 1; }.manage-toolbar { align-items: stretch; flex-direction: column; gap: 10px; }.manage-toolbar > form { min-width: 0; }.summary-strip { align-items: stretch; flex-wrap: wrap; gap: 15px; }.summary-strip .outline-button { margin-left: 0; }.report-card { align-items: flex-start; }
}
@media (max-width: 430px) {
    .status-grid { gap: 10px; }.status-card { min-height: 116px; }.status-icon { height: 27px; right: 11px; top: 11px; width: 27px; }.status-card > strong { font-size: 18px; }.student-main p span { margin: 0 4px 2px; }.pay-now-card,.content-card { padding: 18px; }.pay-card-head p { max-width: 180px; }.amount-orbit { min-height: 63px; min-width: 92px; }.amount-orbit strong { font-size: 16px; }.timeline-track { margin-right: 9px; }.timeline-copy > div { min-width: 0; }.timeline-amount { min-width: 65px; }.card-heading { gap: 10px; }.admin-metrics { grid-template-columns: 1fr; }.metric-card { min-height: 110px; }.transaction-actions > button:first-child { display: none; }
}

/* Reminder communication control centre */
.reminder-hero { align-items: center; background: linear-gradient(120deg,#123f48 0%,#0b756f 58%,#6f55b7 135%); border-radius: 20px; box-shadow: 0 18px 42px rgba(16,64,70,.17); color: white; display: flex; gap: 28px; justify-content: space-between; margin-bottom: 18px; overflow: hidden; padding: 27px 30px; position: relative; }
.reminder-hero::after { border: 35px solid rgba(255,255,255,.06); border-radius: 50%; content:""; height: 170px; position:absolute; right:190px; top:-78px; width:170px; }
.reminder-hero > * { position: relative; z-index: 1; }.reminder-hero .section-kicker { color:#9ee3d9; }.reminder-hero h2 { font-family:var(--heading); font-size:25px; font-weight:800; letter-spacing:-.6px; margin:4px 0 5px; }.reminder-hero p { color:#d4e9e7; font-size:12px; line-height:1.55; margin:0; max-width:700px; }.reminder-hero .primary-button { background:white; color:#126a68; white-space:nowrap; }
.reminder-metric-grid { display:grid; gap:14px; grid-template-columns:repeat(4,minmax(0,1fr)); margin-bottom:18px; }.reminder-metric-grid article { align-items:center; background:white; border:1px solid var(--line); border-radius:15px; display:flex; gap:13px; min-height:94px; padding:16px; }.reminder-metric-icon { align-items:center; border-radius:12px; display:flex; flex:0 0 42px; font-size:18px; height:42px; justify-content:center; }.reminder-metric-icon.teal{background:#e1f5f1;color:#087c74}.reminder-metric-icon.violet{background:#eee9fb;color:#6d50b4}.reminder-metric-icon.amber{background:#fff1d8;color:#b9730a}.reminder-metric-icon.blue{background:#e4effd;color:#3274b9}.reminder-metric-grid small,.reminder-metric-grid strong,.reminder-metric-grid em { display:block; }.reminder-metric-grid small{color:#6d817f;font-size:10px;font-weight:700}.reminder-metric-grid strong{color:var(--ink);font-family:var(--heading);font-size:20px;margin:1px 0}.reminder-metric-grid em{color:#94a3a1;font-size:9px;font-style:normal}
.provider-console { margin-bottom:18px; }.provider-grid { display:grid; gap:16px; grid-template-columns:repeat(3,minmax(0,1fr)); }.provider-card { background:#f8faf9; border:1px solid #e0e8e5; border-radius:15px; overflow:hidden; padding:17px; }.provider-card.is-ready { background:linear-gradient(180deg,#f0fbf8,#fff 92px); border-color:#b9ded7; }.provider-card header { align-items:center; display:flex; gap:10px; margin-bottom:15px; }.provider-card header>span { align-items:center; background:white; border:1px solid #dce8e5; border-radius:10px; color:var(--teal); display:flex; font-size:17px; height:38px; justify-content:center; width:38px; }.provider-card header div{flex:1}.provider-card header strong,.provider-card header small{display:block}.provider-card header strong{font-size:12px}.provider-card header small{color:#7d908e;font-size:9px}.provider-card header em{background:#edf1ef;border-radius:20px;color:#788986;font-size:8px;font-style:normal;font-weight:800;padding:5px 8px;text-transform:uppercase}.provider-card.is-ready header em{background:#d9f1eb;color:#08766e}.provider-form label { margin-bottom:10px; }.provider-form .channel-enable { align-items:center; background:white; border:1px solid #e0e7e5; border-radius:10px; display:flex; gap:9px; padding:10px; }.provider-form .channel-enable input{accent-color:var(--teal)}.provider-form .channel-enable span{font-size:10px}.provider-test { border-top:1px dashed #d7e1de; display:flex; gap:7px; margin-top:13px; padding-top:13px; }.provider-test input{background:white;border:1px solid #d8e3df;border-radius:9px;font-size:10px;min-width:0;padding:9px 10px;width:100%}.provider-test button{background:#e8f5f2;border:0;border-radius:9px;color:#087970;font-size:9px;font-weight:800;padding:0 11px;white-space:nowrap}.provider-security-note { align-items:flex-start; background:#f4f7f6; border-radius:11px; color:#607775; display:flex; font-size:10px; gap:10px; line-height:1.55; margin-top:16px; padding:12px 14px; }.provider-security-note i{color:var(--teal);font-size:14px}
.reminder-workspace,.template-log-grid { display:grid; gap:18px; grid-template-columns:minmax(0,1.35fr) minmax(330px,.65fr); margin-bottom:18px; }.automation-list.rich>div { align-items:center; grid-template-columns:auto minmax(0,1fr) auto; }.automation-list.rich>div>div>span { color:#8a9a98; display:block; font-size:9px; margin-top:4px; }.reminder-rule-form label>small { color:#91a09e; display:block; font-size:8px; margin-top:4px; }.channel-picker { border:0; display:flex; gap:8px; margin:2px 0 14px; padding:0; }.channel-picker legend { color:#536c69; float:none; font-size:9px; font-weight:800; letter-spacing:.4px; margin-bottom:7px; text-transform:uppercase; width:auto; }.channel-picker label{flex:1;margin:0}.channel-picker input{position:absolute;opacity:0}.channel-picker span { align-items:center; background:#f6f8f7; border:1px solid #dfe7e4; border-radius:9px; color:#607471; cursor:pointer; display:flex; font-size:9px; font-weight:700; gap:6px; justify-content:center; padding:9px 7px; }.channel-picker input:checked+span{background:#e1f4f0;border-color:#9dd2c9;color:#08766f}.channel-picker.compact span{padding:8px 5px}
.reminder-rule-actions { align-items:center; display:flex!important; flex:0 0 auto!important; gap:6px; }.reminder-rule-actions form { margin:0; }.reminder-action { align-items:center; background:#fff; border:1px solid #dce6e3; border-radius:9px; color:#59716e; display:flex; height:32px; justify-content:center; padding:0; transition:.18s ease; width:32px; }.reminder-action:hover { background:#e8f6f3; border-color:#aad8cf; color:#087b71; transform:translateY(-1px); }.reminder-action.delete { color:#b45a49; }.reminder-action.delete:hover { background:#fff1ee; border-color:#e4b6ad; color:#a84431; }.reminder-edit-modal .modal-dialog { max-width:670px; }.reminder-edit-modal .modal-body { background:#fbfcfa; padding:20px 22px 8px; }.reminder-edit-modal .modal-footer { justify-content:flex-end; }.reminder-edit-modal .channel-picker { margin-top:4px; }
.template-list>div { align-items:flex-start; border-bottom:1px solid #ebefee; display:grid; gap:11px; grid-template-columns:auto minmax(0,1fr) auto auto; padding:13px 2px; }.template-list>div:last-child{border-bottom:0}.template-list>div>span { align-items:center;background:#ede9fa;border-radius:9px;color:var(--violet);display:flex;height:35px;justify-content:center;width:35px}.template-list strong,.template-list small{display:block}.template-list strong{font-size:11px}.template-list small{color:#7b8d8a;font-size:8px;margin-top:2px}.template-list p{color:#768785;font-size:9px;line-height:1.45;margin:7px 0 0;max-width:560px}.template-list>a{color:var(--teal);padding:7px}.template-list form{margin-top:2px}.variable-pills{display:flex;flex-wrap:wrap;gap:5px;margin:-3px 0 13px}.variable-pills button{background:#f0f4f3;border:0;border-radius:7px;color:#50706c;font-family:monospace;font-size:8px;padding:5px 7px}.delivery-history{margin-bottom:18px}.delivery-history td strong,.delivery-history td small{display:block}.delivery-history td small{color:#879895;font-size:8px;margin-top:2px}.channel-badge{align-items:center;border-radius:20px;display:inline-flex;font-size:8px;font-weight:800;gap:5px;padding:6px 8px;text-transform:uppercase}.channel-badge.email{background:#e6effc;color:#3c70ad}.channel-badge.sms{background:#eee9fa;color:#6d52aa}.channel-badge.whatsapp{background:#dff3e8;color:#24845a}.delivery-status{border-radius:20px;display:inline-block;font-size:8px;font-weight:800;padding:6px 8px;text-transform:uppercase}.delivery-status.delivered,.delivery-status.delivered_demo,.delivery-status.queued{background:#def3e9;color:#147a55}.delivery-status.configuration_required,.delivery-status.failed{background:#fee8e5;color:#b55248}
@media(max-width:1199px){.provider-grid{grid-template-columns:1fr}.reminder-metric-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:991px){.reminder-workspace,.template-log-grid{grid-template-columns:1fr}}
@media(max-width:767px){.reminder-hero{align-items:flex-start;flex-direction:column;padding:22px}.reminder-hero form,.reminder-hero button{width:100%}.reminder-metric-grid{grid-template-columns:1fr 1fr}.provider-card{padding:14px}}
@media(max-width:430px){.reminder-metric-grid{grid-template-columns:1fr}.channel-picker{flex-wrap:wrap}.channel-picker label{flex:1 0 45%}}
.provider-form .channel-enable input[type="checkbox"] { flex:0 0 16px; height:16px; min-height:0; padding:0; width:16px; }
.email-provider-fields { background:#fff; border:1px solid #e0e8e5; border-radius:11px; margin-bottom:11px; padding:11px; }.smtp-preset-note { align-items:flex-start; background:#f1f7f5; border-radius:8px; color:#647b78; display:flex; font-size:8px; gap:7px; line-height:1.45; margin:-1px 0 10px; padding:8px 9px; }.smtp-preset-note i{color:var(--teal);font-size:11px}.smtp-auth-field .smtp-auth-toggle { align-items:center; background:white; border:1px solid #d8e3df; border-radius:10px; display:flex; gap:8px; min-height:44px; padding:0 11px; }.smtp-auth-toggle input{accent-color:var(--teal);height:15px!important;min-height:0!important;padding:0!important;width:15px!important}.smtp-auth-toggle b{color:#536b68;font-size:9px;font-weight:700}
.sms-provider-note { align-items:flex-start; background:linear-gradient(135deg,#eaf8f5,#f7fbfa); border:1px solid #cfe9e3; border-radius:10px; color:#476d68; display:flex; font-size:10px; gap:8px; line-height:1.5; margin:-1px 0 12px; padding:10px 11px; }.sms-provider-note i { color:#07857a; font-size:14px; margin-top:1px; }.sms-advanced { background:#fff; border:1px solid #dfe8e5; border-radius:11px; margin:3px 0 12px; overflow:hidden; }.sms-advanced summary { color:#496662; cursor:pointer; font-size:10px; font-weight:800; list-style:none; padding:11px 13px; }.sms-advanced summary::-webkit-details-marker { display:none; }.sms-advanced summary::after { content:'\F282'; float:right; font-family:'bootstrap-icons'; transition:transform .2s ease; }.sms-advanced[open] summary::after { transform:rotate(180deg); }.sms-advanced>div { border-top:1px solid #e6ecea; padding:12px; }.sms-advanced textarea { font-family:ui-monospace,SFMono-Regular,Menlo,monospace; font-size:10px; line-height:1.5; min-height:92px; resize:vertical; }.sms-advanced small { color:#718784; font-size:9px; }.sms-advanced.recommended { border-color:#8fcfc4; box-shadow:0 0 0 3px rgba(8,133,122,.06); }.sms-advanced.recommended summary::before { background:#dff4ef; border-radius:20px; color:#087c72; content:'Recommended'; font-size:7px; letter-spacing:.3px; margin-right:8px; padding:4px 7px; text-transform:uppercase; }
@media(max-width:767px){.automation-list.rich>div{align-items:flex-start;flex-wrap:wrap}.automation-list.rich .reminder-rule-actions{flex-basis:100%!important;justify-content:flex-end;padding-left:49px}.reminder-edit-modal .modal-dialog{margin:10px}.reminder-edit-modal .modal-body{padding:16px 16px 5px}.reminder-edit-modal .channel-picker{flex-wrap:wrap}.reminder-edit-modal .channel-picker label{flex:1 0 90px}}
.payment-event-console{margin-bottom:18px}.payment-event-grid{display:grid;gap:15px;grid-template-columns:1fr 1fr}.payment-event-card{background:#fafcfb;border:1px solid #dfe8e5;border-radius:14px;overflow:hidden}.payment-event-card header{align-items:center;display:flex;gap:11px;padding:15px}.payment-event-card header>span{align-items:center;border-radius:10px;display:flex;flex:0 0 39px;font-size:17px;height:39px;justify-content:center}.payment-event-card.success header>span{background:#dff4eb;color:#17825c}.payment-event-card.failure header>span{background:#fee9e6;color:#bd554b}.payment-event-card header>div{flex:1}.payment-event-card header strong,.payment-event-card header small{display:block}.payment-event-card header strong{font-size:12px}.payment-event-card header small{color:#7a8e8b;font-size:9px;margin-top:2px}.event-switch{align-items:center;cursor:pointer;display:flex;gap:6px}.event-switch input{position:absolute;opacity:0}.event-switch i{background:#cbd6d3;border-radius:20px;height:19px;position:relative;transition:.2s;width:34px}.event-switch i::after{background:white;border-radius:50%;box-shadow:0 1px 4px rgba(0,0,0,.15);content:"";height:15px;left:2px;position:absolute;top:2px;transition:.2s;width:15px}.event-switch input:checked+i{background:var(--teal)}.event-switch input:checked+i::after{transform:translateX(15px)}.event-switch b{color:#708480;font-size:8px;text-transform:uppercase}.event-setting-body{border-top:1px solid #e7eeec;padding:13px 15px}.event-setting-body>label>span{color:#536c69;display:block;font-size:9px;font-weight:800;letter-spacing:.4px;margin-bottom:6px;text-transform:uppercase}.payment-event-card footer{align-items:center;background:#f4f8f7;display:flex;justify-content:space-between;padding:10px 15px}.payment-event-card footer>span{color:#708581;font-size:8px}.payment-event-card footer>span i{color:var(--teal);margin-right:5px}.payment-event-card footer button{background:white;border:1px solid #cfe0dc;border-radius:8px;color:#17736c;font-size:9px;font-weight:800;padding:7px 10px}
@media(max-width:767px){.payment-event-grid{grid-template-columns:1fr}.payment-event-card header{align-items:flex-start;flex-wrap:wrap}.event-switch{margin-left:auto}.payment-event-card footer{align-items:flex-start;gap:8px}.payment-event-card footer>span{line-height:1.4}}
.failure-demo-button{background:#fff6f4;border:1px solid #efc9c3;border-radius:10px;color:#a84b43;font-size:9px;font-weight:800;margin-top:8px;padding:10px;width:100%}.failure-demo-button:hover{background:#fee9e5}.failure-body{background:radial-gradient(circle at top,#fff1ef,#f4f7f6 58%)}.failure-card{border-top:4px solid #c95d53}.failure-mark{background:#fee8e5!important;color:#bd5148!important}

/* Searchable and collapsible transaction filters */
.transaction-filter-panel { margin-bottom: 17px; }
.transaction-filter-panel-head { display: flex; justify-content: flex-end; margin: 0 3px 7px; }
.transaction-filter-toggle { align-items: center; background: transparent; border: 0; color: #54716d; display: inline-flex; font-size: 10px; font-weight: 800; gap: 6px; padding: 4px 7px; }
.transaction-filter-toggle:hover,.transaction-filter-toggle:focus-visible { color: var(--teal); outline: 0; }
.transaction-filter-toggle i { font-size: 11px; }
.transaction-filter-panel.is-collapsed { border-bottom: 1px solid #e0e9e6; padding-bottom: 7px; }
.transaction-filter-panel.is-collapsed .transaction-filter-panel-head { margin-bottom: 0; }
.transaction-filterbar { grid-template-columns: repeat(12,minmax(0,1fr)); margin-bottom: 0; }
.transaction-date-filter,.transaction-grade-filter,.transaction-division-filter,.transaction-method-filter,.transaction-filter-result { grid-column: span 2; }
.transaction-student-filter,.transaction-reference-filter,.transaction-filter-actions { grid-column: span 4; }
.transaction-filterbar > label,.transaction-field { align-self: end; }
.transaction-field > span { color: #536c69; display: block; font-size: 9px; font-weight: 800; letter-spacing: .4px; margin: 0 2px 6px; text-transform: uppercase; }
.transaction-filterbar input[type="date"],.transaction-filterbar .modern-select-trigger,.transaction-reference-filter > div,.transaction-student-picker { min-height: 44px; }
.transaction-filterbar input[type="date"],.transaction-filterbar .modern-select-value,.transaction-reference-filter input,.transaction-student-input { font-size: 12px; }
.transaction-student-picker { align-items: center; background: white; border: 1px solid #d8e3df; border-radius: 10px; display: flex; position: relative; transition: border-color .18s,box-shadow .18s; }
.transaction-student-picker:focus-within,.transaction-student-picker.open { border-color: var(--teal); box-shadow: 0 0 0 3px rgba(11,143,135,.08); }
.transaction-student-picker > i { color: #80938f; flex: 0 0 auto; margin-left: 12px; }
.transaction-student-input { background: transparent; border: 0; color: var(--ink); flex: 1; min-width: 0; outline: 0; padding: 10px; }
.transaction-student-clear { align-items: center; background: #eef7f4; border: 0; border-radius: 7px; color: #66817d; display: flex; flex: 0 0 26px; height: 26px; justify-content: center; margin-right: 8px; }
.transaction-student-clear:hover { background: #e3f2ed; color: var(--teal); }
.transaction-student-options { background: rgba(255,255,255,.99); border: 1px solid #d8e5e1; border-radius: 12px; box-shadow: 0 18px 45px rgba(18,55,61,.18); display: none; left: 0; max-height: 270px; overflow-y: auto; padding: 6px; position: absolute; right: 0; top: calc(100% + 7px); z-index: 1250; }
.transaction-student-picker.open .transaction-student-options { display: block; }
.transaction-student-options > button { align-items: center; background: transparent; border: 0; border-radius: 9px; color: #435c5a; display: flex; justify-content: space-between; min-height: 42px; padding: 7px 10px; text-align: left; width: 100%; }
.transaction-student-options > button:hover,.transaction-student-options > button.active { background: #f0f8f5; color: var(--teal); outline: 0; }
.transaction-student-options > button[aria-selected="true"] { background: var(--teal-pale); color: var(--teal); }
.transaction-student-options strong { font-size: 12px; }
.transaction-student-options small { color: #7a8f8b; font-size: 10px; margin-left: 10px; }
.transaction-student-empty { color: #718581; display: none; font-size: 11px; padding: 15px 10px; text-align: center; }
.transaction-filter-actions { align-items: center; align-self: end; min-height: 44px; }
.transaction-filter-actions .primary-button { flex: 1; font-size: 11px; }
.transaction-filter-result { min-height: 44px; }

@media (max-width: 1199px) {
    .transaction-filterbar { grid-template-columns: repeat(8,minmax(0,1fr)); }
}
@media (max-width: 767px) {
    .transaction-filterbar { grid-template-columns: repeat(4,minmax(0,1fr)); }
    .transaction-date-filter,.transaction-grade-filter,.transaction-division-filter,.transaction-method-filter,.transaction-filter-result { grid-column: span 2; }
    .transaction-student-filter,.transaction-reference-filter,.transaction-filter-actions { grid-column: span 4; }
}
@media (max-width: 430px) {
    .transaction-filterbar { grid-template-columns: 1fr; }
    .transaction-filterbar > * { grid-column: 1 !important; }
}

/* Theme overrides must remain at the end of this stylesheet. */
html body { background:var(--app-bg)!important; color:var(--text-main); font-size:16px!important; }
html:is([data-theme="dark"],[data-theme="graphite"]) :is(.reminder-metric-grid>article,.metric-card,.status-card,.dashboard-card,.structure-card) { background:var(--surface)!important; border-color:var(--theme-line)!important; color:var(--text-main)!important; }
html:is([data-theme="dark"],[data-theme="graphite"]) :is(.reminder-metric-grid>article,.metric-card,.status-card,.dashboard-card,.structure-card) :is(strong,b,h1,h2,h3) { color:var(--text-main); }
html:is([data-theme="dark"],[data-theme="graphite"]) :is(.reminder-metric-grid>article,.metric-card,.status-card,.dashboard-card,.structure-card) :is(small,span,p,em) { color:var(--text-muted); }
html:is([data-theme="dark"],[data-theme="graphite"]) :is(.structure-meta,.template-list>div,.automation-list>div,.provider-test,.sms-advanced>div) { border-color:var(--theme-line)!important; }
html:is([data-theme="dark"],[data-theme="graphite"]) :is(.operations-grid>div>i,.operations-grid>a>i,.waterfall-list>div>span>i,.manual-evidence-drop>span>i) { background:var(--surface-2); }
html:is([data-theme="dark"],[data-theme="graphite"]) :is(.dashboard-multiselect-trigger,.dashboard-multiselect-menu) { background:var(--surface-2)!important; border-color:var(--theme-line)!important; color:var(--text-main)!important; }
html:is([data-theme="dark"],[data-theme="graphite"]) .dashboard-multiselect-menu>label { color:var(--text-main); }
html:is([data-theme="dark"],[data-theme="graphite"]) .dashboard-multiselect-menu>label:hover { background:var(--surface-3); }
html:is([data-theme="dark"],[data-theme="graphite"]) :is(.summary-strip,.transaction-student-picker,.transaction-student-options) { background:var(--surface)!important; border-color:var(--theme-line)!important; color:var(--text-main)!important; }
html:is([data-theme="dark"],[data-theme="graphite"]) .summary-strip :is(span,small) { color:var(--text-muted)!important; }
@media(max-width:1400px){.theme-switcher-label,.theme-switcher button span{display:none}.theme-switcher button{justify-content:center;padding:6px;width:31px}.topbar-actions{gap:9px}}

/* Absolute theme authority for remaining accent colours. */
html[data-theme] :is(.story-copy h1 em,.school-contact-card i,.login-trust i,.summary-total strong,.gateway-fee strong,.trust-row i) { color:var(--teal-bright)!important; }
html[data-theme] :is(.payment-option.selected,.payment-method.selected) { background:color-mix(in srgb,var(--teal) 7%,var(--surface))!important; border-color:var(--teal)!important; }
html[data-theme] :is(.allocation-note,.privacy-note,.smart-demo-note) { background:var(--surface-2)!important; color:var(--text-muted)!important; }
html[data-theme] .login-story::before { border-color:color-mix(in srgb,var(--teal-bright) 8%,transparent)!important; }
html[data-theme] .login-story::after { background-image:radial-gradient(circle,color-mix(in srgb,var(--teal-bright) 25%,transparent) 0 2px,transparent 2.5px)!important; }

/* Rollover destination table: preserve readable columns and contain controls. */
.finance-control .rollover-table{width:100%;min-width:1080px;table-layout:fixed;border-collapse:separate;border-spacing:0}.finance-control .rollover-table th:nth-child(1){width:190px}.finance-control .rollover-table th:nth-child(2){width:180px}.finance-control .rollover-table th:nth-child(3),.finance-control .rollover-table th:nth-child(4){width:145px}.finance-control .rollover-table th:nth-child(5){width:135px}.finance-control .rollover-table th:nth-child(6){width:190px}.finance-control .rollover-table th:nth-child(7){width:72px}.finance-control .rollover-table th,.finance-control .rollover-table td{box-sizing:border-box;overflow:hidden;vertical-align:middle;white-space:normal}.finance-control .rollover-table td{padding:13px 10px}.finance-control .rollover-table td .modern-select{display:block;width:100%;min-width:0;margin:0}.finance-control .rollover-table td .modern-select-trigger{width:100%;min-width:0;min-height:38px;padding:6px 7px 6px 10px}.finance-control .rollover-table td .modern-select-value{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.finance-control .rollover-table td .modern-select-chevron{flex:0 0 24px;height:24px}.finance-control .rollover-table td>strong,.finance-control .rollover-table td>small{overflow-wrap:anywhere}.finance-control .rollover-table td:last-child{text-align:center}.finance-control .rollover-table input[type="checkbox"]{width:18px;height:18px;margin:0;accent-color:var(--teal)}.finance-control .content-card>.table-responsive{width:100%;overflow-x:auto;overflow-y:visible;-webkit-overflow-scrolling:touch;padding-bottom:5px}.finance-control .rollover-bulk-toolbar{position:relative;z-index:2;flex-wrap:wrap}
@media(max-width:767px){.finance-control .rollover-table{min-width:1000px}.finance-control .rollover-bulk-toolbar>strong{width:100%;margin:0}.finance-control .rollover-bulk-toolbar label{flex:1;min-width:180px}.finance-control .rollover-bulk-toolbar .modern-select{min-width:0}}

/* Finance control centre */
.finance-control{--primary:var(--teal);--accent:var(--violet);--muted:var(--text-muted);--success:var(--teal);--danger:var(--coral)}
.rollover-hero:after{display:none}.rollover-hero>div:first-child{flex:1;min-width:0}.rollover-hero>div:first-child>div{min-width:0}.rollover-hero>div:first-child small{display:block;position:relative;z-index:2;line-height:1.4}.rollover-hero .step-number{display:none}.rollover-hero .rollover-metrics{flex:0 0 auto}
.copy-option-grid label>span>small{position:absolute;left:50%;bottom:calc(100% + 9px);z-index:20;width:max-content;max-width:220px;padding:7px 10px;border-radius:8px;background:var(--ink);color:var(--paper);box-shadow:var(--shadow-sm);font-size:.68rem;line-height:1.35;opacity:0;visibility:hidden;pointer-events:none;transform:translate(-50%,5px);transition:opacity .16s ease,transform .16s ease,visibility .16s}.copy-option-grid label>span>small:after{content:"";position:absolute;top:100%;left:50%;transform:translateX(-50%);border:5px solid transparent;border-top-color:var(--ink)}.copy-option-grid label:hover>span>small,.copy-option-grid label:focus-within>span>small{opacity:1;visibility:visible;transform:translate(-50%,0)}
.rollover-bulk-toolbar{display:flex;align-items:center;gap:12px;padding:12px 14px;margin-bottom:12px;border-radius:14px;background:var(--surface-2);border:1px solid var(--line)}.rollover-bulk-toolbar>strong{margin-right:auto}.rollover-bulk-toolbar label{display:flex;align-items:center;gap:7px;font-size:.72rem;font-weight:750}.rollover-bulk-toolbar select{min-width:145px;padding:8px 30px 8px 10px}.rollover-bulk-toolbar small{color:var(--text-muted)}
.finance-control .rollover-bulk-toolbar{display:grid;grid-template-columns:minmax(150px,1fr) minmax(210px,260px) minmax(210px,260px);align-items:end;gap:10px 14px}.finance-control .rollover-bulk-toolbar>strong{align-self:center;margin:0}.finance-control .rollover-bulk-toolbar label{display:block;min-width:0}.finance-control .rollover-bulk-toolbar label>span{display:block;margin:0 0 5px;font-size:.68rem;font-weight:800;color:var(--text-muted);text-transform:uppercase}.finance-control .rollover-bulk-toolbar select.native-select{display:block;width:100%;min-width:0;height:42px;padding:8px 34px 8px 11px;border:1px solid var(--line);border-radius:10px;background-color:var(--surface);color:var(--text-main);font-size:.78rem}.finance-control .rollover-bulk-toolbar>small{grid-column:1/-1;display:block;width:100%;margin:0;padding-top:2px;color:var(--text-muted);white-space:normal;line-height:1.4}
.finance-control .publish-review{scroll-margin-top:170px;transition:border-color .2s ease,box-shadow .2s ease}.finance-control .publish-review:target{border-color:var(--teal);box-shadow:0 0 0 4px color-mix(in srgb,var(--teal) 12%,transparent),var(--shadow-sm)}
@media(max-width:767px){.finance-control .rollover-bulk-toolbar{grid-template-columns:1fr}.finance-control .rollover-bulk-toolbar>small{grid-column:1}.finance-control .rollover-bulk-toolbar label{width:100%}}
.dynamic-fee-launch{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:24px}.dynamic-fee-launch>div{display:flex;align-items:center;gap:14px}.dynamic-fee-launch h2{font-size:1.05rem;margin:4px 0}.dynamic-fee-launch p{max-width:760px;margin:0;color:var(--text-muted);font-size:.78rem;line-height:1.55}.dynamic-fee-launch .primary-button{flex:0 0 auto}
.finance-control{padding-bottom:60px}.finance-control-heading{align-items:flex-end}.finance-control-heading p{max-width:760px}.finance-health{display:flex;align-items:center;gap:12px;background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:12px 16px;box-shadow:var(--shadow-sm)}.finance-health>span{display:grid;place-items:center;width:42px;height:42px;border-radius:13px;background:color-mix(in srgb,var(--primary) 12%,transparent);color:var(--primary);font-size:1.25rem}.finance-health div{display:flex;flex-direction:column}.finance-health small{font-size:.68rem}.finance-health strong{font-size:.9rem}.control-tabs{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;padding:8px;background:var(--surface);border:1px solid var(--line);border-radius:20px;margin:24px 0;box-shadow:var(--shadow-sm);position:sticky;top:76px;z-index:15}.control-tabs a{min-height:72px;display:flex;align-items:center;justify-content:center;gap:8px;position:relative;padding:10px;border-radius:14px;color:var(--muted);font-size:.78rem;font-weight:750;text-align:center}.control-tabs a i{font-size:1.05rem}.control-tabs a:hover{background:var(--surface-2);color:var(--ink)}.control-tabs a.active{background:var(--primary);color:#fff;box-shadow:0 8px 20px color-mix(in srgb,var(--primary) 30%,transparent)}.control-tabs em{position:absolute;right:6px;top:5px;min-width:20px;height:20px;padding:0 5px;border-radius:10px;background:var(--danger);color:#fff;font-style:normal;font-size:.66rem;display:grid;place-items:center}.rollover-hero,.account-hero,.action-centre-hero,.accounting-hero,.dynamic-hero,.cashier-banner{background:linear-gradient(125deg,color-mix(in srgb,var(--primary) 92%,#14213d),color-mix(in srgb,var(--primary) 65%,var(--accent)));color:#fff;border-radius:26px;padding:26px 30px;margin-bottom:22px;display:flex;justify-content:space-between;align-items:center;gap:24px;overflow:hidden;position:relative}.rollover-hero:after,.action-centre-hero:after,.accounting-hero:after,.dynamic-hero:after{content:"";position:absolute;width:240px;height:240px;border:45px solid rgba(255,255,255,.07);border-radius:50%;right:-70px;top:-90px}.rollover-hero>div:first-child,.dynamic-hero>div:first-child{display:flex;gap:18px;align-items:flex-start;position:relative;z-index:1}.step-number{font-family:Manrope,sans-serif;font-weight:800;font-size:2rem;opacity:.55}.rollover-hero small,.account-hero small,.action-centre-hero small,.accounting-hero small,.dynamic-hero small,.cashier-banner small{font-size:.68rem;letter-spacing:.13em;font-weight:800;opacity:.75}.rollover-hero h2,.action-centre-hero h2,.accounting-hero h2,.dynamic-hero h2,.cashier-banner h2{font-size:1.35rem;margin:5px 0}.rollover-hero p,.action-centre-hero p,.accounting-hero p,.dynamic-hero p,.cashier-banner p{margin:0;color:rgba(255,255,255,.76)}.rollover-metrics{display:flex;gap:8px;position:relative;z-index:1}.rollover-metrics span{display:flex;flex-direction:column;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.16);padding:12px 14px;border-radius:14px;min-width:95px;font-size:.68rem}.rollover-metrics strong{font-size:1rem}.rollover-builder{display:grid;gap:22px}.copy-option-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:18px}.copy-option-grid label{position:relative}.copy-option-grid input{position:absolute;opacity:0}.copy-option-grid label>span{display:flex;gap:12px;align-items:center;border:1px solid var(--line);background:var(--surface-2);padding:14px;border-radius:15px;cursor:pointer}.copy-option-grid i{width:38px;height:38px;border-radius:11px;background:var(--surface);display:grid;place-items:center;color:var(--primary);font-size:1.05rem}.copy-option-grid strong,.copy-option-grid small{display:block}.copy-option-grid small{color:var(--muted);font-size:.7rem}.copy-option-grid input:checked+span{border-color:color-mix(in srgb,var(--primary) 45%,var(--line));box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--primary) 30%,transparent);background:color-mix(in srgb,var(--primary) 7%,var(--surface))}.rollover-table td select{min-width:115px;padding:8px 28px 8px 10px}.rollover-table td small,.account-table td small{display:block;color:var(--muted);font-size:.7rem;margin-top:2px}.muted-row{opacity:.58}.readiness{display:inline-flex;align-items:center;gap:5px;font-size:.68rem;font-weight:800;padding:6px 8px;border-radius:9px}.readiness.ready{color:var(--success);background:color-mix(in srgb,var(--success) 10%,transparent)}.readiness.warning{color:#a85f00;background:#fff3d9}.readiness.excluded{color:var(--muted);background:var(--surface-2)}.preview-alert{display:grid;grid-template-columns:auto 1fr;column-gap:10px;padding:14px;border-radius:14px;margin-bottom:16px}.preview-alert i{grid-row:1/3}.preview-alert span{grid-column:2;color:var(--muted);font-size:.78rem}.preview-alert.warning{background:#fff5dd;color:#9a5b00}.preview-alert.success{background:color-mix(in srgb,var(--success) 10%,transparent);color:var(--success)}.publish-review form{display:flex;justify-content:flex-end}.compact-list>div,.approval-list>div,.exception-list>div{display:flex;align-items:center;gap:12px;padding:13px 0;border-bottom:1px solid var(--line)}.compact-list>div:last-child,.approval-list>div:last-child,.exception-list>div:last-child{border:0}.compact-list>div>div,.approval-list>div>div,.exception-list>div>div{flex:1;min-width:0}.compact-list strong,.compact-list small,.approval-list strong,.approval-list small,.exception-list strong,.exception-list small,.exception-list em{display:block}.compact-list small,.approval-list small,.exception-list small,.exception-list em{font-size:.72rem;color:var(--muted)}.account-selector{padding:13px 18px;margin-bottom:16px}.account-selector form{display:flex;gap:12px}.account-selector label{flex:1}.account-selector label span{display:block;font-size:.68rem;font-weight:800;color:var(--muted);margin-bottom:5px}.account-hero{background:linear-gradient(125deg,color-mix(in srgb,var(--primary) 88%,#141b41),color-mix(in srgb,var(--accent) 60%,#293b80))}.account-hero>div:first-child{display:flex;align-items:center;gap:15px}.account-avatar{width:60px;height:60px;display:grid;place-items:center;border-radius:18px;background:rgba(255,255,255,.16);font:800 1.15rem Manrope}.account-hero h2{font-size:1.4rem;margin:3px 0}.account-hero p{margin:0;color:rgba(255,255,255,.72)}.account-balance{text-align:right;display:flex;flex-direction:column}.account-balance strong{font:800 1.8rem Manrope}.account-balance span{font-size:.72rem;opacity:.72}.metric-grid.four{grid-template-columns:repeat(4,1fr);margin-bottom:20px}.metric-grid.four article{position:relative}.metric-grid.four article>i{position:absolute;right:16px;top:16px;color:var(--primary);font-size:1.1rem}.account-layout,.exception-layout,.accounting-layout,.dynamic-layout{display:grid;grid-template-columns:minmax(0,2fr) minmax(300px,.8fr);gap:20px;margin-bottom:20px}.sticky-form{align-self:start;position:sticky;top:166px}.credit-cell{color:var(--success);font-weight:750}.primary-button.small{padding:8px 12px;font-size:.72rem}.icon-action{width:36px;height:36px;border:1px solid var(--line);background:var(--surface);color:var(--primary);border-radius:10px;display:grid;place-items:center}.action-centre-hero>div:first-child,.accounting-hero>div:first-child{position:relative;z-index:1}.priority-stack{display:flex;gap:7px;position:relative;z-index:1}.priority-stack span{min-width:70px;padding:9px;border-radius:12px;background:rgba(255,255,255,.11);text-align:center;font-size:.65rem;text-transform:uppercase}.priority-stack strong{display:block;font-size:1.1rem}.collection-board{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.collection-case{--risk:var(--primary);border:1px solid var(--line);border-top:4px solid var(--risk);background:var(--surface);border-radius:20px;padding:18px;box-shadow:var(--shadow-sm)}.collection-case.critical{--risk:#d92d4b}.collection-case.high{--risk:#e77c18}.collection-case.medium{--risk:#d5a300}.collection-case.low{--risk:#3b82f6}.collection-case header{display:flex;justify-content:space-between;align-items:center;color:var(--muted);font-size:.68rem;text-transform:uppercase}.risk-badge{display:inline-flex;gap:5px;color:var(--risk);font-weight:850}.case-person{display:flex;align-items:center;gap:10px;margin:17px 0}.case-person>span{width:44px;height:44px;border-radius:14px;background:color-mix(in srgb,var(--risk) 12%,transparent);color:var(--risk);display:grid;place-items:center;font-weight:800}.case-person div{flex:1}.case-person h3{font-size:1rem;margin:0}.case-person p{font-size:.72rem;color:var(--muted);margin:2px 0 0}.case-person>strong{font:800 1.05rem Manrope}.contact-strip{display:flex;gap:14px;padding:10px 12px;background:var(--surface-2);border-radius:11px;color:var(--muted);font-size:.7rem}.contact-strip span{overflow:hidden;text-overflow:ellipsis}.collection-case dl{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin:15px 0}.collection-case dl div{border-left:2px solid var(--line);padding-left:9px}.collection-case dt{font-size:.62rem;text-transform:uppercase;color:var(--muted)}.collection-case dd{font-size:.76rem;font-weight:700;margin:2px 0 0}.one-click-actions{display:flex;gap:7px}.one-click-actions form{flex:1}.one-click-actions button{width:100%;height:36px;border-radius:10px;border:1px solid var(--line);background:var(--surface);color:var(--primary)}.collection-case details{border-top:1px solid var(--line);margin-top:13px;padding-top:12px}.collection-case summary{cursor:pointer;font-size:.75rem;font-weight:800;color:var(--primary)}.collection-case details form{margin-top:14px}.exception-icon{width:42px;height:42px;border-radius:12px;background:#fff3d9;color:#a85f00;display:grid;place-items:center}.exception-list em{font-style:normal;margin-top:3px}.decision-actions,.inline-actions{display:flex;gap:5px}.decision-actions button,.inline-actions button{border:0;border-radius:9px;padding:8px 10px}.approve{background:color-mix(in srgb,var(--success) 13%,var(--surface));color:var(--success)}.reject{background:color-mix(in srgb,var(--danger) 12%,var(--surface));color:var(--danger)}.cashier-banner.closed{background:linear-gradient(125deg,#35435e,#59677f)}.cashier-banner>span{width:56px;height:56px;border-radius:18px;background:rgba(255,255,255,.14);display:grid;place-items:center;font-size:1.4rem}.cashier-banner>div{flex:1}.cashier-banner form{display:flex;gap:8px;position:relative;z-index:1}.cashier-banner input{min-width:140px;border:0}.cashier-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:20px;margin-bottom:20px}.flow-line{display:flex;align-items:center;gap:9px;position:relative;z-index:1}.flow-line span{background:rgba(255,255,255,.12);border-radius:12px;padding:11px;font-size:.74rem}.mapping-list form{display:grid;grid-template-columns:1.1fr 1.2fr .7fr auto auto;gap:10px;align-items:end;padding:10px 0;border-bottom:1px solid var(--line)}.mapping-list form>div strong,.mapping-list form>div small{display:block}.mapping-list form>div small{font-size:.66rem;color:var(--muted)}.mapping-list label>span{display:block;font-size:.64rem;color:var(--muted);font-weight:750;margin-bottom:4px}.mapping-list input,.mapping-list select{padding:9px}.switch-mini{align-self:center}.switch-mini input{display:none}.switch-mini span{width:36px;height:20px;display:block;border-radius:10px;background:var(--line);position:relative}.switch-mini span:after{content:"";width:14px;height:14px;border-radius:50%;background:#fff;position:absolute;top:3px;left:3px;transition:.2s}.switch-mini input:checked+span{background:var(--primary)}.switch-mini input:checked+span:after{left:19px}.control-note{display:flex;gap:10px;padding:12px;border-radius:12px;background:color-mix(in srgb,var(--primary) 8%,var(--surface));color:var(--muted);font-size:.72rem}.control-note i{color:var(--primary)}.dynamic-hero>div:first-child>span{width:56px;height:56px;border-radius:17px;background:rgba(255,255,255,.14);display:grid;place-items:center;font-size:1.3rem}.dynamic-layout{grid-template-columns:minmax(0,1.65fr) minmax(310px,.65fr)}.scope-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin-top:16px}.scope-grid label>span{display:block;font-size:.7rem;font-weight:750;margin-bottom:5px}.scope-grid label small{display:block;color:var(--muted);font-weight:500}.scope-grid select{width:100%;min-height:118px;background-image:none;padding:7px}.campaign-card{border:1px solid var(--line);border-radius:15px;padding:14px;margin-bottom:10px}.campaign-card header{display:flex;justify-content:space-between}.campaign-card h3{font-size:.9rem;margin:11px 0 4px}.campaign-card p{font-size:.7rem;color:var(--muted)}.campaign-actions form{display:flex;gap:7px}.campaign-actions .outline-button,.campaign-actions .primary-button{flex:1}.alert-banner{margin-bottom:14px}.modern-table .inline-actions form{display:flex}.finance-control textarea{width:100%}
/* Searchable student targeting for dynamic fee campaigns */
.finance-control .scope-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:14px;align-items:start}.finance-control .scope-grid>label{min-width:0;position:relative}.finance-control .scope-grid>label:nth-child(-n+3){grid-column:span 2}.finance-control .scope-grid>label:nth-child(4),.finance-control .scope-grid>label:nth-child(5){grid-column:span 3}.student-picker-native{display:none!important}.student-multi-picker{position:relative;min-width:0}.student-picker-trigger{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;min-height:52px;padding:8px 9px 8px 12px;border:1px solid var(--line);border-radius:11px;background:var(--surface);color:var(--text-main);text-align:left;transition:border-color .18s,box-shadow .18s}.student-picker-trigger>span{min-width:0;flex:1}.student-picker-trigger strong,.student-picker-trigger small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.student-picker-trigger strong{font-size:.78rem}.student-picker-trigger small{margin-top:3px;color:var(--text-muted);font-size:.66rem}.student-picker-trigger>i{display:grid;place-items:center;flex:0 0 29px;width:29px;height:29px;border-radius:8px;background:var(--teal-pale);color:var(--teal);font-size:.72rem;transition:transform .18s}.student-multi-picker.open{z-index:90}.student-multi-picker.open .student-picker-trigger{border-color:var(--teal);box-shadow:0 0 0 3px color-mix(in srgb,var(--teal) 10%,transparent)}.student-multi-picker.open .student-picker-trigger>i{transform:rotate(180deg)}.student-picker-menu{display:none;position:absolute;left:0;right:0;top:calc(52px + 7px);z-index:100;min-width:310px;padding:9px;border:1px solid var(--line);border-radius:14px;background:var(--surface);box-shadow:0 20px 48px rgba(18,35,68,.2)}.student-multi-picker.open .student-picker-menu{display:block}.student-picker-search{display:flex;align-items:center;min-height:42px;border:1px solid var(--line);border-radius:10px;background:var(--surface-2)}.student-picker-search>i{margin-left:11px;color:var(--text-muted)}.student-picker-search input{flex:1;min-width:0;min-height:40px!important;padding:8px 10px!important;border:0!important;background:transparent!important;box-shadow:none!important;color:var(--text-main);font-size:.76rem!important}.student-picker-tools{display:flex;justify-content:space-between;gap:8px;padding:8px 2px 5px}.student-picker-tools button{border:0;background:transparent;color:var(--teal);font-size:.68rem;font-weight:800}.student-picker-options{max-height:245px;overflow-y:auto;padding:3px}.student-picker-option{display:flex;align-items:center;gap:9px;width:100%;min-height:40px;padding:8px 9px;border:0;border-radius:9px;background:transparent;color:var(--text-main);font-size:.75rem;text-align:left}.student-picker-option:hover{background:var(--surface-2)}.student-picker-option>i{color:var(--text-muted);font-size:.9rem}.student-picker-option.selected{background:var(--teal-pale);color:var(--teal);font-weight:750}.student-picker-option.selected>i{color:var(--teal)}.student-picker-empty{display:flex;align-items:center;justify-content:center;gap:7px;min-height:85px;color:var(--text-muted);font-size:.74rem}.student-picker-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:7px}.student-picker-chip{display:inline-flex;align-items:center;gap:5px;max-width:100%;min-height:27px;padding:4px 7px 4px 9px;border:1px solid color-mix(in srgb,var(--teal) 24%,var(--line));border-radius:14px;background:var(--teal-pale);color:var(--teal);font-size:.66rem;font-weight:750}.student-picker-chip span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.student-picker-chip i{flex:0 0 auto}.student-picker-chip:hover{border-color:var(--coral);color:var(--coral)}
@media(max-width:1199px){.finance-control .scope-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.finance-control .scope-grid>label:nth-child(-n+5){grid-column:span 1}}
@media(max-width:767px){.finance-control .scope-grid{grid-template-columns:1fr}.finance-control .scope-grid>label:nth-child(-n+5){grid-column:1}.student-picker-menu{min-width:0}}
/* Inline accounting ledger saves */
.finance-control .mapping-list form{grid-template-columns:1.1fr 1.2fr .75fr auto minmax(64px,auto) auto;border-radius:12px;padding:10px 8px;transition:background .18s ease,box-shadow .18s ease}.finance-control .mapping-list form.is-dirty{background:color-mix(in srgb,var(--amber) 7%,var(--surface))}.finance-control .mapping-list form.is-saving{background:color-mix(in srgb,var(--teal) 5%,var(--surface))}.finance-control .mapping-list form.save-success{background:color-mix(in srgb,var(--teal) 9%,var(--surface));box-shadow:inset 3px 0 0 var(--teal)}.finance-control .mapping-list form.save-error{background:color-mix(in srgb,var(--coral) 8%,var(--surface));box-shadow:inset 3px 0 0 var(--coral)}.finance-control .mapping-list form .icon-action:disabled{cursor:wait;opacity:.72}.finance-control .mapping-list form.is-saving .icon-action i{animation:mappingSaveSpin .8s linear infinite}.mapping-save-status{align-self:center;min-width:62px;color:var(--text-muted);font-size:.67rem;font-weight:800;text-align:right;white-space:nowrap}.mapping-save-status.pending{color:#a26a00}.mapping-save-status.saving{color:var(--teal)}.mapping-save-status.saved{color:var(--teal)}.mapping-save-status.error{max-width:150px;color:var(--coral);white-space:normal}@keyframes mappingSaveSpin{to{transform:rotate(360deg)}}
@media(max-width:1050px){.finance-control .mapping-list form{grid-template-columns:1fr 1fr auto minmax(62px,auto) auto}.finance-control .mapping-list form>div{grid-column:1/-1}.finance-control .mapping-save-status{justify-self:end}}
/* Complete student financial account */
.finance-control .account-hero{min-height:138px;padding:24px 28px;overflow:hidden}.finance-control .account-hero:before{content:"";position:absolute;right:-45px;bottom:-100px;width:280px;height:280px;border-radius:50%;background:rgba(255,255,255,.055);pointer-events:none}.finance-control .account-hero>div:first-child{display:flex;align-items:center;gap:16px;flex:1;min-width:0;position:relative;z-index:1}.finance-control .account-hero>div:first-child>div{min-width:0}.finance-control .account-hero small{display:block;color:rgba(255,255,255,.78);line-height:1.35}.finance-control .account-hero h2{color:#fff;font-size:1.45rem;line-height:1.25;margin:5px 0 4px}.finance-control .account-hero p{color:rgba(255,255,255,.78);font-size:.82rem}.finance-control .account-avatar{flex:0 0 62px;width:62px;height:62px;color:#fff;border:1px solid rgba(255,255,255,.2)}.finance-control .account-balance{position:relative;z-index:1;min-width:210px;padding:15px 18px;border:1px solid rgba(255,255,255,.18);border-radius:16px;background:rgba(255,255,255,.1);text-align:right}.finance-control .account-balance strong{display:block;color:#fff;font-size:1.75rem;line-height:1.2;margin:3px 0}.finance-control .account-balance span{display:block;color:rgba(255,255,255,.78)}
.finance-control .metric-grid.four{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:0 0 20px}.finance-control .metric-grid.four article{display:grid;grid-template-columns:minmax(0,1fr) 46px;grid-template-rows:auto 1fr;gap:7px 12px;align-items:center;min-width:0;min-height:112px;padding:18px;border:1px solid var(--line);border-radius:17px;background:var(--surface);box-shadow:var(--shadow-sm);overflow:hidden}.finance-control .metric-grid.four article>small{grid-column:1;grid-row:1;display:block;color:var(--text-muted);font-size:.72rem;font-weight:800;line-height:1.35;text-transform:uppercase}.finance-control .metric-grid.four article>strong{grid-column:1;grid-row:2;display:block;min-width:0;color:var(--text-main);font:800 1.28rem/1.2 Manrope,sans-serif;overflow-wrap:anywhere}.finance-control .metric-grid.four article>i{position:static;grid-column:2;grid-row:1/3;display:grid;place-items:center;width:44px;height:44px;border-radius:13px;background:color-mix(in srgb,var(--teal) 10%,var(--surface-2));color:var(--teal);font-size:1.15rem}
.finance-control .account-layout>article:first-child{min-width:0}.finance-control .account-layout>article:first-child>.card-heading{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:22px 24px;border-bottom:1px solid var(--line)}.finance-control .account-layout>article:first-child>.table-responsive{padding:0;overflow-x:auto}.finance-control .account-table{width:100%;min-width:860px;table-layout:fixed;border-collapse:separate;border-spacing:0;color:var(--text-main)}.finance-control .account-table th{padding:12px 14px;background:var(--surface-2);border-bottom:1px solid var(--line);color:var(--text-muted);font-size:.68rem;font-weight:850;letter-spacing:.045em;text-transform:uppercase;vertical-align:middle}.finance-control .account-table td{padding:14px;border-bottom:1px solid var(--line);color:var(--text-muted);font-size:.78rem;line-height:1.4;vertical-align:middle}.finance-control .account-table tbody tr:last-child td{border-bottom:0}.finance-control .account-table tbody tr:hover td{background:color-mix(in srgb,var(--teal) 3%,var(--surface))}.finance-control .account-table th:nth-child(1){width:112px}.finance-control .account-table th:nth-child(2){width:310px}.finance-control .account-table th:nth-child(3),.finance-control .account-table th:nth-child(4),.finance-control .account-table th:nth-child(5){width:112px}.finance-control .account-table th:nth-child(6){width:102px}.finance-control .account-table th:nth-child(n+3):nth-child(-n+5),.finance-control .account-table td:nth-child(n+3):nth-child(-n+5){text-align:right;white-space:nowrap}.finance-control .account-table th:last-child,.finance-control .account-table td:last-child{text-align:center}.finance-control .account-table td:first-child{white-space:nowrap;color:var(--text-muted)}.finance-control .account-table td:nth-child(2){overflow-wrap:anywhere}.finance-control .account-table td:nth-child(2)>strong{display:block;color:var(--text-main);font-size:.82rem}.finance-control .account-table td:nth-child(2)>small{display:block;margin-top:3px;color:var(--text-muted);font-size:.69rem;line-height:1.45}.finance-control .account-table td:nth-child(5)>strong{color:var(--text-main);font-weight:850}.finance-control .account-table .txn-status{display:inline-flex;justify-content:center;white-space:nowrap}
.finance-control .cashier-daybook-card{min-width:0}.finance-control .cashier-daybook-card>.card-heading{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:22px 24px;border-bottom:1px solid var(--line)}.finance-control .cashier-daybook-card>.table-responsive{padding:0;overflow-x:auto}.finance-control .cashier-daybook-table{width:100%;min-width:930px;table-layout:fixed;border-collapse:separate;border-spacing:0;color:var(--text-main)}.finance-control .cashier-daybook-table th{padding:12px 14px;background:var(--surface-2);border-bottom:1px solid var(--line);color:var(--text-muted);font-size:.68rem;font-weight:850;letter-spacing:.045em;text-transform:uppercase;vertical-align:middle}.finance-control .cashier-daybook-table td{padding:14px;border-bottom:1px solid var(--line);color:var(--text-muted);font-size:.78rem;line-height:1.4;vertical-align:middle}.finance-control .cashier-daybook-table tbody tr:last-child td{border-bottom:0}.finance-control .cashier-daybook-table tbody tr:hover td{background:color-mix(in srgb,var(--teal) 3%,var(--surface))}.finance-control .cashier-daybook-table th:nth-child(1){width:160px}.finance-control .cashier-daybook-table th:nth-child(2){width:175px}.finance-control .cashier-daybook-table th:nth-child(3){width:105px}.finance-control .cashier-daybook-table th:nth-child(4){width:155px}.finance-control .cashier-daybook-table th:nth-child(5){width:115px}.finance-control .cashier-daybook-table th:nth-child(6){width:120px}.finance-control .cashier-daybook-table th:nth-child(7){width:130px}.finance-control .cashier-daybook-table td:first-child>strong,.finance-control .cashier-daybook-table td:first-child>small{display:block}.finance-control .cashier-daybook-table td:first-child>strong{color:var(--text-main);font-size:.8rem;white-space:nowrap}.finance-control .cashier-daybook-table td:first-child>small{margin-top:3px;color:var(--text-muted);font-size:.68rem;white-space:nowrap}.finance-control .cashier-daybook-table td:nth-child(2){color:var(--text-main);font-weight:750;overflow-wrap:anywhere}.finance-control .cashier-daybook-table td:nth-child(3){white-space:nowrap}.finance-control .cashier-daybook-table td:nth-child(4){overflow-wrap:anywhere}.finance-control .cashier-daybook-table th:nth-child(5),.finance-control .cashier-daybook-table td:nth-child(5){text-align:right;white-space:nowrap}.finance-control .cashier-daybook-table td:nth-child(5)>strong{color:var(--text-main);font-weight:850}.finance-control .cashier-daybook-table th:nth-child(6),.finance-control .cashier-daybook-table td:nth-child(6),.finance-control .cashier-daybook-table th:nth-child(7),.finance-control .cashier-daybook-table td:nth-child(7){text-align:center}.finance-control .cashier-daybook-table .txn-status{display:inline-flex;justify-content:center;white-space:nowrap}.finance-control .cashier-daybook-table .inline-actions{align-items:center;justify-content:center;white-space:nowrap}.finance-control .cashier-daybook-table .inline-actions button{font-size:.7rem;font-weight:800}
@media(max-width:1199px){.control-tabs{grid-template-columns:repeat(4,1fr);position:static}.copy-option-grid{grid-template-columns:repeat(2,1fr)}.scope-grid{grid-template-columns:repeat(3,1fr)}.account-layout,.exception-layout,.accounting-layout,.dynamic-layout{grid-template-columns:1fr}.sticky-form{position:static}.collection-board{grid-template-columns:1fr}.cashier-grid{grid-template-columns:1fr}.finance-control .metric-grid.four{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:767px){.control-tabs{display:flex;overflow-x:auto}.control-tabs a{min-width:105px}.rollover-hero,.account-hero,.action-centre-hero,.accounting-hero,.dynamic-hero,.cashier-banner{align-items:flex-start;flex-direction:column;padding:20px}.rollover-metrics,.priority-stack,.flow-line{width:100%;overflow-x:auto}.copy-option-grid,.metric-grid.four,.scope-grid{grid-template-columns:1fr}.account-selector form,.cashier-banner form{flex-direction:column;width:100%}.collection-case dl{grid-template-columns:1fr}.mapping-list form{grid-template-columns:1fr 1fr}.mapping-list form>div{grid-column:1/-1}.cashier-banner input{width:100%}}
@media(max-width:767px){.finance-control .account-hero{gap:18px;padding:20px}.finance-control .account-hero>div:first-child{width:100%}.finance-control .account-avatar{flex-basis:52px;width:52px;height:52px}.finance-control .account-balance{width:100%;min-width:0;text-align:left}.finance-control .metric-grid.four{grid-template-columns:1fr}.finance-control .metric-grid.four article{min-height:96px}.finance-control .account-layout>article:first-child>.card-heading,.finance-control .cashier-daybook-card>.card-heading{align-items:flex-start;flex-direction:column}.finance-control .account-layout>article:first-child>.card-heading .outline-button,.finance-control .cashier-daybook-card>.card-heading .outline-button{width:100%;justify-content:center}}
@media print{.sidebar,.topbar,.control-tabs,.page-heading,.account-selector,.sticky-form,.one-click-actions,details{display:none!important}.main-content{margin:0!important}.page-wrap{padding:0!important}.content-card,.account-hero{box-shadow:none;break-inside:avoid}.account-layout{display:block}.finance-control{color:#172033}.account-hero{background:#eef3fb!important;color:#172033!important}}

/* Staff multi-factor authentication. */
.staff-security-page { max-width: 1260px; }
.staff-security-page .page-title-row { align-items:flex-end; display:flex; gap:20px; justify-content:space-between; margin-bottom:26px; }
.staff-security-page .page-title-row h1 { font-family:var(--heading); font-size:32px; font-weight:800; letter-spacing:-1px; margin-bottom:6px; }
.staff-security-page .page-title-row p { color:var(--text-muted,var(--ink-soft)); margin:0; }
.mfa-current-badge { align-items:center; background:var(--surface,#fff); border:1px solid var(--theme-line,var(--line)); border-radius:999px; display:flex; font-size:12px; font-weight:800; gap:8px; padding:10px 15px; }
.mfa-current-badge.authenticator { background:color-mix(in srgb,#5b5ce2 10%,var(--surface,#fff)); color:#5253c9; }
.mfa-current-badge.email_otp { background:color-mix(in srgb,#2563eb 9%,var(--surface,#fff)); color:#245cc0; }
.mfa-method-grid { display:grid; gap:22px; grid-template-columns:repeat(2,minmax(0,1fr)); }
.mfa-method-card { border:2px solid transparent; display:flex; flex-direction:column; min-height:440px; padding:27px!important; position:relative; }
.mfa-method-card.active { border-color:color-mix(in srgb,#5b5ce2 45%,var(--theme-line,var(--line))); box-shadow:0 18px 42px rgba(63,64,170,.11); }
.mfa-method-icon { align-items:center; border-radius:18px; display:flex; font-size:25px; height:58px; justify-content:center; margin-bottom:22px; width:58px; }
.mfa-method-icon.email { background:#eaf2ff; color:#2563eb; }.mfa-method-icon.app { background:#eeecff; color:#5b5ce2; }
.mfa-method-card h2 { font-family:var(--heading); font-size:22px; font-weight:800; margin-bottom:8px; }.mfa-method-card p { color:var(--text-muted,var(--ink-soft)); font-size:14px; line-height:1.65; }
.mfa-method-card ul { color:var(--text-muted,var(--ink-soft)); font-size:13px; line-height:1.9; margin:16px 0 22px; padding-left:19px; }
.selected-method { align-items:center; background:color-mix(in srgb,#16a085 10%,var(--surface,#fff)); border-radius:10px; color:#087d76; display:flex; font-size:12px; font-weight:800; gap:7px; margin-top:auto; padding:12px 14px; }
.mfa-change-form { border-top:1px solid var(--theme-line,var(--line)); display:grid; gap:12px; margin-top:auto; padding-top:19px; }.mfa-change-form label,.confirm-totp-form label { display:grid; gap:6px; }.mfa-change-form label span,.confirm-totp-form label span { color:var(--text-muted,var(--ink-soft)); font-size:11px; font-weight:700; }.mfa-change-form input,.confirm-totp-form input { background:var(--surface,#fff); border:1px solid var(--theme-line,var(--line)); border-radius:10px; color:var(--text-main,var(--ink)); min-height:44px; padding:10px 12px; width:100%; }
.authenticator-setup-card { border:1px solid color-mix(in srgb,#5b5ce2 35%,var(--theme-line,var(--line)))!important; margin-top:24px; padding:28px!important; scroll-margin-top:95px; }.setup-step { background:#eeecff; border-radius:999px; color:#5858c8; font-size:11px; font-weight:800; padding:8px 12px; }
.authenticator-setup-grid { display:grid; gap:35px; grid-template-columns:300px 1fr; margin-top:23px; }.totp-qr-panel { align-items:center; background:#f5f7fb; border:1px solid #dde3ee; border-radius:18px; display:flex; flex-direction:column; padding:24px; }.totp-qr-panel #totpQrCode { background:#fff; border-radius:12px; padding:12px; }.totp-qr-panel img,.totp-qr-panel canvas { display:block; max-width:100%; }.totp-qr-panel small { color:#64748b; font-size:10px; margin-top:14px; text-align:center; }
.totp-setup-steps ol { color:var(--text-muted,var(--ink-soft)); font-size:13px; line-height:1.65; padding-left:19px; }.totp-setup-steps li+li { margin-top:10px; }.manual-secret { background:var(--surface-2,#f6f8f8); border:1px solid var(--theme-line,var(--line)); border-radius:12px; display:block; margin:18px 0; padding:13px 15px; }.manual-secret span { color:var(--text-muted,var(--ink-soft)); display:block; font-size:10px; font-weight:700; margin-bottom:6px; }.manual-secret code { color:var(--text-main,var(--ink)); font-size:14px; font-weight:800; letter-spacing:1.5px; word-break:break-all; }
.totp-setup-actions { align-items:flex-end; display:flex; gap:10px; }.confirm-totp-form { align-items:flex-end; display:flex; flex:1; gap:10px; }.confirm-totp-form label { flex:1; }.cancel-totp-form { padding-bottom:1px; }
.recovery-code-card { background:linear-gradient(135deg,color-mix(in srgb,#f59e0b 10%,var(--surface,#fff)),var(--surface,#fff)); border-color:color-mix(in srgb,#f59e0b 30%,var(--theme-line,var(--line)))!important; margin-bottom:24px; padding:25px!important; }.recovery-code-card>div:first-child { align-items:center; display:flex; gap:16px; }.recovery-code-card h2 { font-family:var(--heading); font-size:21px; font-weight:800; margin-bottom:5px; }.recovery-code-card p { color:var(--text-muted,var(--ink-soft)); margin:0; }.recovery-code-grid { display:grid!important; gap:9px!important; grid-template-columns:repeat(4,1fr); margin:20px 0; }.recovery-code-grid code { background:var(--surface,#fff); border:1px dashed #d39a35; border-radius:9px; color:var(--text-main,var(--ink)); font-size:14px; font-weight:800; letter-spacing:1px; padding:10px; text-align:center; }
@media(max-width:900px){.mfa-method-grid,.authenticator-setup-grid{grid-template-columns:1fr}.authenticator-setup-grid{justify-items:stretch}.totp-qr-panel{max-width:310px}.confirm-totp-form,.totp-setup-actions{align-items:stretch;flex-direction:column}.recovery-code-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.staff-security-page .page-title-row{align-items:flex-start;flex-direction:column}.mfa-method-card{min-height:0}.recovery-code-grid{grid-template-columns:1fr}.totp-qr-panel{max-width:100%}}
@media print{.sidebar,.topbar,.app-footer,.mfa-method-grid,.authenticator-setup-card,.page-title-row,.recovery-code-card .outline-button{display:none!important}.main-content{margin:0}.recovery-code-card{box-shadow:none!important}}

.admin-mfa-control { margin-bottom:24px; padding:24px!important; }.admin-mfa-start { align-items:flex-end; display:grid; gap:14px; grid-template-columns:minmax(260px,1fr) auto; }.admin-mfa-start label { display:grid; gap:7px; }.admin-mfa-start label>span { color:var(--text-muted,var(--ink-soft)); font-size:11px; font-weight:700; }.admin-mfa-start select { background:var(--surface,#fff); border:1px solid var(--theme-line,var(--line)); border-radius:11px; color:var(--text-main,var(--ink)); min-height:46px; padding:10px 12px; width:100%; }.admin-authenticator-setup { margin-bottom:24px; scroll-margin-top:95px; }.admin-authenticator-setup .card-heading h2 small { color:var(--text-muted,var(--ink-soft)); font-family:var(--font); font-size:11px; font-weight:700; margin-left:8px; }.admin-recovery-delivery { margin-top:20px; }.admin-mfa-complete-actions { display:flex; gap:10px; justify-content:flex-end; }
@media(max-width:700px){.admin-mfa-start{grid-template-columns:1fr}.admin-mfa-complete-actions{flex-direction:column}.admin-mfa-complete-actions>*{width:100%}}
@media print{.admin-authenticator-setup{display:block!important}.admin-authenticator-setup .admin-mfa-complete-actions{display:none!important}}

.staff-auth-policy { margin-bottom:24px; padding:25px!important; scroll-margin-top:95px; }.auth-method-toggle-grid { display:grid; gap:14px; grid-template-columns:repeat(3,minmax(0,1fr)); }.auth-method-toggle { align-items:center; background:var(--surface-2,#f7f9fa); border:1px solid var(--theme-line,var(--line)); border-radius:15px; cursor:pointer; display:grid; gap:12px; grid-template-columns:auto 1fr auto; min-height:105px; padding:16px; transition:.2s ease; }.auth-method-toggle>input { position:absolute; opacity:0; pointer-events:none; }.auth-method-toggle.enabled,.auth-method-toggle:has(input:checked) { background:color-mix(in srgb,#4f46e5 7%,var(--surface,#fff)); border-color:color-mix(in srgb,#4f46e5 38%,var(--theme-line,var(--line))); box-shadow:0 10px 24px rgba(79,70,229,.08); }.auth-method-symbol { align-items:center; background:var(--surface,#fff); border:1px solid var(--theme-line,var(--line)); border-radius:13px; color:#4f46e5; display:flex; font-size:20px; height:46px; justify-content:center; width:46px; }.auth-method-toggle strong,.auth-method-toggle small,.auth-method-toggle em { display:block; }.auth-method-toggle strong { font-size:13px; }.auth-method-toggle small { color:var(--text-muted,var(--ink-soft)); font-size:10px; line-height:1.45; margin-top:4px; }.auth-method-toggle em { color:#b45309; font-size:9px; font-style:normal; font-weight:700; margin-top:6px; }.auth-method-check { color:#4f46e5; font-size:18px; opacity:0; }.auth-method-toggle.enabled .auth-method-check,.auth-method-toggle:has(input:checked) .auth-method-check { opacity:1; }.auth-method-toggle.not-ready { border-style:dashed; }.auth-policy-controls { align-items:end; border-top:1px solid var(--theme-line,var(--line)); display:grid; gap:18px; grid-template-columns:minmax(230px,1fr) minmax(270px,1fr) auto; margin-top:20px; padding-top:20px; }.auth-policy-controls>label:not(.policy-switch) { display:grid; gap:6px; }.auth-policy-controls>label>span { color:var(--text-muted,var(--ink-soft)); font-size:11px; font-weight:700; }.auth-policy-controls select { background:var(--surface,#fff); border:1px solid var(--theme-line,var(--line)); border-radius:11px; color:var(--text-main,var(--ink)); min-height:45px; padding:10px 12px; }.auth-policy-controls small { color:var(--text-muted,var(--ink-soft)); display:block; font-size:9px; margin-top:4px; }.auth-override-switch { align-self:center; margin:0!important; }.auth-override-switch small { margin-left:50px; }
@media(max-width:1050px){.auth-method-toggle-grid{grid-template-columns:1fr}.auth-policy-controls{grid-template-columns:1fr 1fr}.auth-policy-controls .primary-button{grid-column:1/-1}}
@media(max-width:650px){.auth-policy-controls{grid-template-columns:1fr}.auth-policy-controls .primary-button{grid-column:auto}}
html[data-theme="light"] .recon-batch-board { background:linear-gradient(125deg,#172554,#2563eb)!important; }
html[data-theme="medium"] .recon-batch-board { background:linear-gradient(125deg,#29223f,#6d4ad7)!important; }
html:is([data-theme="dark"],[data-theme="graphite"]) .recon-batch-board { background:linear-gradient(125deg,#111936,#25356d)!important; }
html[data-theme] :is(.recon-batch-board .section-kicker,.help-card>i,.help-card .help-action i) { color:var(--teal-bright)!important; }
html[data-theme] .help-card { background:linear-gradient(145deg,color-mix(in srgb,var(--teal) 14%,transparent),rgba(255,255,255,.05)); border-color:color-mix(in srgb,var(--teal-bright) 16%,transparent); }

html[data-theme="medium"] .report-filter-panel { background:linear-gradient(120deg,#eef0fa,#f5f0fb); }
html[data-theme="medium"] .report-card.active { background:linear-gradient(115deg,var(--teal-pale),var(--surface) 75%); }
html:is([data-theme="dark"],[data-theme="graphite"]) .report-card.active { background:linear-gradient(115deg,rgba(82,150,255,.14),var(--surface) 75%)!important; }
html:is([data-theme="dark"],[data-theme="graphite"]) .report-filter-panel { background:#111d31; border-color:var(--theme-line); }
html:is([data-theme="dark"],[data-theme="graphite"]) .report-filter-grid input,html:is([data-theme="dark"],[data-theme="graphite"]) .report-filter-grid select,html:is([data-theme="dark"],[data-theme="graphite"]) .report-result-summary>div { background:var(--surface); border-color:var(--theme-line); color:var(--text-main); }
html:is([data-theme="dark"],[data-theme="graphite"]) .report-result-summary { background:var(--theme-line); border-color:var(--theme-line); }
html:is([data-theme="dark"],[data-theme="graphite"]) .report-workspace-head,html:is([data-theme="dark"],[data-theme="graphite"]) .report-filter-panel { border-color:var(--theme-line); }
html:is([data-theme="dark"],[data-theme="graphite"]) :is(.report-workspace-head p,.report-filter-grid label>span,.report-filter-actions>span,.report-result-summary small,.report-table td small,.report-empty span) { color:var(--text-soft); }

@media (max-width: 1100px) { .report-filter-grid { grid-template-columns:repeat(3,minmax(140px,1fr)); } }
@media (max-width: 767px) {
    .report-workspace-head { align-items:flex-start; flex-direction:column; padding:19px; }.report-workspace-head .primary-button { width:100%; }
    .report-filter-panel { padding:17px; }.report-filter-grid { grid-template-columns:1fr 1fr; }.report-search { grid-column:span 2; }
    .report-filter-actions { align-items:stretch; flex-wrap:wrap; }.report-filter-actions>span { flex-basis:100%; }.report-filter-actions .primary-button { flex:1; }
    .report-result-summary { grid-template-columns:1fr 1fr; }.report-result-summary>div { padding:14px 16px; }
}
@media (max-width: 520px) { .report-filter-grid { grid-template-columns:1fr; }.report-search { grid-column:span 1; }.report-card>em { display:none; } }

/* Saved-theme coverage for legacy screens that previously used fixed green surfaces. */
html[data-theme] .success-card { background:var(--surface)!important; border-color:var(--theme-line)!important; color:var(--text-main); }.success-details { background:var(--surface-2)!important; }.success-details>div { border-color:var(--theme-line)!important; }.success-card>p,.success-details span { color:var(--text-muted)!important; }
html[data-theme="light"] :is(.sidebar,.login-story,.school-brand-story,.staff-login-story,.order-summary,.recon-commandbar,.recon-modal .modal-header,.finance-detail-modal .modal-header,.student-menu-head) { background:linear-gradient(145deg,#172554,#1e3a8a 55%,#2563eb)!important; }
html[data-theme="medium"] :is(.sidebar,.login-story,.school-brand-story,.staff-login-story,.order-summary,.recon-commandbar,.recon-modal .modal-header,.finance-detail-modal .modal-header,.student-menu-head) { background:linear-gradient(145deg,#29223f,#44356f 55%,#6d4ad7)!important; }
html:is([data-theme="dark"],[data-theme="graphite"]) :is(.sidebar,.login-story,.school-brand-story,.staff-login-story,.order-summary,.recon-commandbar,.recon-modal .modal-header,.finance-detail-modal .modal-header,.student-menu-head) { background:linear-gradient(145deg,#070b16,#111936 58%,#25356d)!important; }
html[data-theme] .login-body { background:var(--app-bg)!important; }.login-shell,.login-form-side { background:var(--surface); color:var(--text-main); }.login-form-wrap>p,.privacy-note,.login-help,.login-developer { color:var(--text-muted)!important; }
html[data-theme] :is(.summary-top span,.story-kicker,.smart-login-kicker,.recon-commandbar .section-kicker,.recon-modal .section-kicker) { color:var(--teal-bright)!important; }
html[data-theme] :is(.summary-top small,.recon-commandbar>div:first-child small,.recon-modal .modal-header p) { color:rgba(235,241,255,.78)!important; }
html[data-theme] .order-summary::before { border-color:color-mix(in srgb,var(--teal-bright) 11%,transparent); }
html[data-theme] :is(.student-banner,.smart-notice,.pay-card-footer,.saving-box,.support-strip,.year-menu-foot,.student-menu-foot,.accounting-ready,.detail-summary,.transaction-filterbar,.recon-filterbar,.recon-review-summary,.recon-file-drop) { background:var(--surface-2)!important; border-color:var(--theme-line)!important; }
html[data-theme] :is(.student-banner,.student-switch-menu,.year-explorer-menu,.login-shell,.recon-metrics article,.recon-ledger-card,.recon-awaiting,.manual-claim-review,.settlement-batch-console,.recon-batch-card,.recon-modal .modal-content) { border-color:var(--theme-line)!important; }
html[data-theme] :is(.recon-metrics article,.recon-ledger-card,.recon-awaiting,.manual-claim-review,.settlement-batch-console,.recon-batch-card,.recon-modal .modal-content,.recon-modal .modal-footer) { background:var(--surface)!important; color:var(--text-main); }
html[data-theme] :is(.recon-metric-icon.bank,.recon-row-action.review) { background:var(--teal-pale); color:var(--teal); }
html[data-theme] :is(.recon-filterbar input,.recon-filterbar .modern-select-trigger,.recon-modal textarea,.recon-modal .modern-select-trigger) { background:var(--surface)!important; border-color:var(--theme-line)!important; color:var(--text-main)!important; }
html[data-theme] :is(.recon-metrics small,.recon-metrics em,.recon-table td small,.recon-awaiting-list small,.recon-audit-list small,.recon-audit-list em,.recon-modal label>span) { color:var(--text-muted); }
html:is([data-theme="dark"],[data-theme="graphite"]) :is(.login-shell,.login-form-side,.student-switch-menu,.year-explorer-menu) { background:var(--surface)!important; color:var(--text-main); }
html:is([data-theme="dark"],[data-theme="graphite"]) :is(.login-form input,.mobile-field,.privacy-note,.student-menu-list,.year-menu-track) { background:var(--surface-2)!important; border-color:var(--theme-line)!important; color:var(--text-main)!important; }
.section-kicker>i { margin-right:7px; }

/* Compact reconciliation audit history. */
.recon-audit-trigger { white-space:nowrap; }.recon-audit-modal .modal-dialog { max-width:1040px; }.recon-audit-modal .modal-body { padding:20px 22px; }
.audit-modal-filters { align-items:end; background:var(--surface-2); border:1px solid var(--theme-line); border-radius:14px; display:grid; gap:11px; grid-template-columns:1fr 1fr 1.3fr auto auto; margin-bottom:15px; padding:13px; }.audit-modal-filters label { margin:0; }.audit-modal-filters label>span { color:var(--text-muted); display:block; font-size:10px; font-weight:800; margin:0 0 6px 2px; text-transform:uppercase; }.audit-modal-filters input { background:var(--surface); border:1px solid var(--theme-line); border-radius:10px; color:var(--text-main); font-size:12px; min-height:42px; padding:8px 10px; width:100%; }.audit-modal-filters .modern-select-trigger { min-height:42px; }.audit-modal-filters .outline-button { min-height:42px; white-space:nowrap; }.audit-result-count { align-items:center; color:var(--text-muted); display:flex; font-size:11px; gap:4px; min-height:42px; white-space:nowrap; }.audit-result-count strong { color:var(--teal); font-family:var(--heading); font-size:18px; }
.recon-audit-list.modal-list { border:1px solid var(--theme-line); border-radius:14px; overflow:hidden; }.recon-audit-list.modal-list>div { background:var(--surface); gap:12px; padding:13px 15px; }.recon-audit-list.modal-list>div>i { align-items:center; background:var(--teal-pale); border-radius:9px; display:flex; flex:0 0 34px; height:34px; justify-content:center; }.recon-audit-list.modal-list strong { font-size:12px; }.recon-audit-list.modal-list small { font-size:11px; }.recon-audit-list.modal-list em { font-size:10px; }.audit-empty { color:var(--text-muted); padding:45px 15px; text-align:center; }.audit-empty i,.audit-empty strong,.audit-empty span { display:block; }.audit-empty i { color:var(--teal); font-size:27px; }.audit-empty strong { color:var(--text-main); margin:7px 0 3px; }
@media(max-width:900px){.audit-modal-filters{grid-template-columns:1fr 1fr}.audit-modal-filters label:nth-child(3){grid-column:span 2}.recon-command-actions{flex-wrap:wrap}}
@media(max-width:520px){.audit-modal-filters{grid-template-columns:1fr}.audit-modal-filters label:nth-child(3){grid-column:1}.audit-result-count{justify-content:flex-end}}

/* Final theme authority: kept last so legacy page-specific rules cannot reduce contrast. */
html body { background:var(--app-bg)!important; color:var(--text-main); font-size:16px!important; }
html:is([data-theme="dark"],[data-theme="graphite"]) :is(.reminder-metric-grid>article,.metric-card,.status-card,.dashboard-card,.structure-card) { background:var(--surface)!important; border-color:var(--theme-line)!important; color:var(--text-main)!important; }
html:is([data-theme="dark"],[data-theme="graphite"]) :is(.reminder-metric-grid>article,.metric-card,.status-card,.dashboard-card,.structure-card) :is(strong,b,h1,h2,h3) { color:var(--text-main); }
html:is([data-theme="dark"],[data-theme="graphite"]) :is(.reminder-metric-grid>article,.metric-card,.status-card,.dashboard-card,.structure-card) :is(small,span,p,em) { color:var(--text-muted); }
html:is([data-theme="dark"],[data-theme="graphite"]) :is(.structure-meta,.template-list>div,.automation-list>div,.provider-test,.sms-advanced>div) { border-color:var(--theme-line)!important; }
html:is([data-theme="dark"],[data-theme="graphite"]) :is(.operations-grid>div>i,.operations-grid>a>i,.waterfall-list>div>span>i,.manual-evidence-drop>span>i) { background:var(--surface-2); }
@media(max-width:1400px){.theme-switcher-label,.theme-switcher button span{display:none}.theme-switcher button{justify-content:center;padding:6px;width:31px}.topbar-actions{gap:9px}}

/* Accessible display themes and final typography scale. */
:root { --app-bg:#f6f8fc; --surface:#ffffff; --surface-2:#eef3fb; --surface-3:#e1e9f8; --text-main:#17233f; --text-muted:#5c6c89; --theme-line:#cfdaeb; --topbar-bg:rgba(255,255,255,.95); --ink:#17233f; --ink-soft:#5c6c89; --paper:#ffffff; --cream:#f6f8fc; --line:#cfdaeb; --teal:#2563eb; --teal-bright:#60a5fa; --teal-pale:#e8f0ff; --navy:#172554; --navy-2:#1e3a8a; color-scheme:light; }
html[data-theme="medium"] { --app-bg:#e6e5ef; --surface:#f7f6fb; --surface-2:#eceaf5; --surface-3:#ded9ec; --text-main:#28223d; --text-muted:#665e7d; --theme-line:#c8c2d8; --topbar-bg:rgba(244,242,249,.96); --ink:#28223d; --ink-soft:#665e7d; --paper:#f7f6fb; --cream:#e6e5ef; --line:#c8c2d8; --teal:#6d4ad7; --teal-bright:#a78bfa; --teal-pale:#eee9ff; --navy:#332a51; --navy-2:#4c3d79; --shadow:0 16px 42px rgba(49,38,76,.16); --shadow-sm:0 7px 22px rgba(49,38,76,.12); }
html:is([data-theme="dark"],[data-theme="graphite"]) { --app-bg:#0b1020; --surface:#151b2e; --surface-2:#1c2440; --surface-3:#273253; --text-main:#f1f5ff; --text-muted:#b0bad4; --theme-line:#34405f; --topbar-bg:rgba(12,17,34,.96); --ink:#f1f5ff; --ink-soft:#b0bad4; --paper:#151b2e; --cream:#0b1020; --line:#34405f; --teal:#38bdf8; --teal-bright:#7dd3fc; --teal-pale:#162f4b; --navy:#111936; --navy-2:#25356d; --coral:#fb8f78; --coral-pale:#452a31; --amber:#f5bf5b; --amber-pale:#42341f; --violet:#c4b5fd; --violet-pale:#322d54; --shadow:0 18px 48px rgba(0,0,0,.4); --shadow-sm:0 8px 24px rgba(0,0,0,.3); color-scheme:dark; }
html[data-theme="ocean"] { --app-bg:#edf7fb; --surface:#ffffff; --surface-2:#e1f1f7; --surface-3:#cde7f1; --text-main:#173342; --text-muted:#577382; --theme-line:#bfdbe6; --topbar-bg:rgba(249,253,255,.96); --ink:#173342; --ink-soft:#577382; --paper:#ffffff; --cream:#edf7fb; --line:#bfdbe6; --teal:#087ea4; --teal-bright:#20b7cc; --teal-pale:#dff5f8; --navy:#103d5b; --navy-2:#0a6683; --violet:#5367c7; --violet-pale:#e9edff; --shadow:0 16px 42px rgba(15,84,112,.13); --shadow-sm:0 7px 22px rgba(15,84,112,.09); color-scheme:light; }
html[data-theme="rosewood"] { --app-bg:#fff5f6; --surface:#fffdfd; --surface-2:#f9e9ed; --surface-3:#f1d8df; --text-main:#40222e; --text-muted:#795c67; --theme-line:#e6c9d1; --topbar-bg:rgba(255,251,252,.96); --ink:#40222e; --ink-soft:#795c67; --paper:#fffdfd; --cream:#fff5f6; --line:#e6c9d1; --teal:#9d365d; --teal-bright:#df6f82; --teal-pale:#f9e1e8; --navy:#54233a; --navy-2:#7d3150; --coral:#d85c65; --coral-pale:#fde5e7; --amber:#a76c20; --amber-pale:#fff0d5; --violet:#7a4a91; --violet-pale:#f1e5f5; --shadow:0 16px 42px rgba(92,39,59,.13); --shadow-sm:0 7px 22px rgba(92,39,59,.09); color-scheme:light; }
html[data-theme="sandstone"] { --app-bg:#f8f1e7; --surface:#fffdf9; --surface-2:#f2e7d8; --surface-3:#e8d7c2; --text-main:#3d3028; --text-muted:#75665c; --theme-line:#ddcbb6; --topbar-bg:rgba(255,252,247,.96); --ink:#3d3028; --ink-soft:#75665c; --paper:#fffdf9; --cream:#f8f1e7; --line:#ddcbb6; --teal:#a65332; --teal-bright:#dc7b48; --teal-pale:#f9e2d4; --navy:#52362d; --navy-2:#794b36; --coral:#c65542; --coral-pale:#f9dfd8; --amber:#a86b0f; --amber-pale:#faedcf; --violet:#765b83; --violet-pale:#eee6f1; --shadow:0 16px 42px rgba(91,62,42,.14); --shadow-sm:0 7px 22px rgba(91,62,42,.09); color-scheme:light; }
html[data-theme="graphite"] { --app-bg:#111318; --surface:#1a1d23; --surface-2:#23272f; --surface-3:#303640; --text-main:#f4f1e8; --text-muted:#bbb4a5; --theme-line:#3d424b; --topbar-bg:rgba(20,22,27,.96); --ink:#f4f1e8; --ink-soft:#bbb4a5; --paper:#1a1d23; --cream:#111318; --line:#3d424b; --teal:#c89b3c; --teal-bright:#e7c56e; --teal-pale:#3b3322; --navy:#17191e; --navy-2:#35302a; --coral:#e68a74; --coral-pale:#422d2a; --amber:#e7c56e; --amber-pale:#40361f; --violet:#c9b7e8; --violet-pale:#332d40; --shadow:0 18px 48px rgba(0,0,0,.46); --shadow-sm:0 8px 24px rgba(0,0,0,.34); color-scheme:dark; }

body { background:var(--app-bg); color:var(--text-main); font-size:16px; line-height:1.5; transition:background-color .22s ease,color .22s ease; }
.main-content { background:var(--app-bg); }
.topbar { background:var(--topbar-bg); border-color:var(--theme-line); }
.app-footer { color:var(--text-muted); }
.theme-switcher { align-items:center; background:var(--surface-2); border:1px solid var(--theme-line); border-radius:13px; display:flex; gap:3px; padding:4px; }.theme-switcher-label { color:var(--text-muted); font-size:10px; font-weight:800; letter-spacing:.5px; padding:0 5px 0 7px; text-transform:uppercase; }.theme-switcher button { align-items:center; background:transparent; border:0; border-radius:9px; color:var(--text-muted); display:flex; font-size:10px; font-weight:800; gap:5px; min-height:31px; padding:6px 8px; transition:.18s ease; }.theme-switcher button i { font-size:13px; }.theme-switcher button:hover { background:var(--surface); color:var(--text-main); }.theme-switcher button.active { background:var(--surface); box-shadow:0 3px 10px rgba(18,52,58,.12); color:var(--teal); }.theme-switcher button:focus-visible { box-shadow:0 0 0 3px rgba(37,189,168,.25); outline:0; }
.theme-picker { position:relative; }.theme-picker-trigger { align-items:center; background:var(--surface-2); border:1px solid var(--theme-line); border-radius:11px; color:var(--teal); display:flex; gap:4px; height:39px; justify-content:center; padding:0 9px; transition:.18s ease; }.theme-picker-trigger>[data-theme-current-icon] { font-size:16px; }.theme-picker-chevron { color:var(--text-muted); font-size:8px; transition:transform .2s ease; }.theme-picker.open .theme-picker-trigger { background:var(--surface); border-color:var(--teal); box-shadow:0 0 0 3px color-mix(in srgb,var(--teal) 15%,transparent); }.theme-picker.open .theme-picker-chevron { transform:rotate(180deg); }.theme-picker-menu { background:var(--surface); border:1px solid var(--theme-line); border-radius:16px; box-shadow:0 22px 60px rgba(20,27,58,.22); display:none; overflow:hidden; padding:7px; position:absolute; right:0; top:calc(100% + 9px); width:292px; z-index:1090; }.theme-picker.open .theme-picker-menu { display:block; }.theme-picker-menu header { border-bottom:1px solid var(--theme-line); padding:9px 10px 10px; }.theme-picker-menu header span,.theme-picker-menu header strong { display:block; }.theme-picker-menu header span { color:var(--teal); font-size:8px; font-weight:800; letter-spacing:1.1px; }.theme-picker-menu header strong { color:var(--text-main); font-size:12px; margin-top:2px; }.theme-picker-menu>button { align-items:center; background:transparent; border:0; border-radius:10px; color:var(--text-main); display:flex; gap:10px; margin-top:3px; padding:9px; text-align:left; width:100%; }.theme-picker-menu>button:hover { background:var(--surface-2); }.theme-picker-menu>button>span:nth-child(2) { flex:1; }.theme-picker-menu>button strong,.theme-picker-menu>button small { display:block; }.theme-picker-menu>button strong { font-size:11px; }.theme-picker-menu>button small { color:var(--text-muted); font-size:9px!important; margin-top:1px; }.theme-option-check { color:var(--teal); opacity:0; }.theme-picker-menu>button.active { background:var(--surface-2); }.theme-picker-menu>button.active .theme-option-check { opacity:1; }.theme-menu-palette { display:flex; flex:0 0 50px; height:31px; overflow:hidden; border:1px solid var(--theme-line); border-radius:8px; }.theme-menu-palette i { flex:1; }.theme-menu-palette.light i:nth-child(1){background:#172554}.theme-menu-palette.light i:nth-child(2){background:#2563eb}.theme-menu-palette.light i:nth-child(3){background:#f6f8fc}.theme-menu-palette.medium i:nth-child(1){background:#29223f}.theme-menu-palette.medium i:nth-child(2){background:#6d4ad7}.theme-menu-palette.medium i:nth-child(3){background:#e6e5ef}.theme-menu-palette.dark i:nth-child(1){background:#0b1020}.theme-menu-palette.dark i:nth-child(2){background:#38bdf8}.theme-menu-palette.dark i:nth-child(3){background:#c4b5fd}.theme-picker-menu>a { align-items:center; border-top:1px solid var(--theme-line); color:var(--teal); display:flex; font-size:10px; font-weight:800; gap:7px; margin-top:4px; padding:10px; }

html[data-theme="light"] :is(.reminder-hero,.finance-pulse,.waterfall-result) { background:linear-gradient(118deg,#172554,#2563eb)!important; }
html[data-theme="medium"] :is(.reminder-hero,.finance-pulse,.waterfall-result) { background:linear-gradient(118deg,#332a51,#6d4ad7)!important; }
html:is([data-theme="dark"],[data-theme="graphite"]) :is(.reminder-hero,.finance-pulse,.waterfall-result) { background:linear-gradient(118deg,#151b2e,#25356d)!important; }
html[data-theme] .primary-button { background:linear-gradient(135deg,var(--teal-bright),var(--teal)); box-shadow:0 9px 18px color-mix(in srgb,var(--teal) 24%,transparent); }
html[data-theme] .main-nav a.active { background:linear-gradient(90deg,color-mix(in srgb,var(--teal) 22%,transparent),color-mix(in srgb,var(--teal) 7%,transparent)); }
html[data-theme] .finance-pulse strong { color:var(--teal-bright); }
.appearance-settings { margin-top:18px; scroll-margin-top:92px; }.appearance-theme-grid { display:grid; gap:14px; grid-template-columns:repeat(3,minmax(0,1fr)); }.appearance-theme-card { background:var(--surface-2); border:2px solid transparent; border-radius:16px; cursor:pointer; display:grid; gap:12px; grid-template-columns:108px 1fr; min-width:0; padding:13px; position:relative; transition:.2s ease; }.appearance-theme-card:hover { border-color:color-mix(in srgb,var(--teal) 35%,var(--theme-line)); transform:translateY(-2px); }.appearance-theme-card.selected { background:var(--surface); border-color:var(--teal); box-shadow:0 10px 28px color-mix(in srgb,var(--teal) 12%,transparent); }.appearance-theme-card>input { opacity:0; position:absolute; }.appearance-preview { border:1px solid rgba(70,80,120,.2); border-radius:11px; display:grid; grid-template-columns:28px 1fr; grid-template-rows:1fr 18px; height:82px; overflow:hidden; }.appearance-preview i { display:block; }.appearance-preview .preview-sidebar { grid-row:1/3; }.appearance-preview .preview-surface { margin:9px 8px 4px; border-radius:5px; }.appearance-preview .preview-accent { margin:0 8px 8px; border-radius:4px; }.appearance-preview .preview-highlight { display:none; }.appearance-preview.light { background:#f6f8fc; }.appearance-preview.light .preview-sidebar{background:#172554}.appearance-preview.light .preview-surface{background:#fff}.appearance-preview.light .preview-accent{background:#2563eb}.appearance-preview.medium{background:#e6e5ef}.appearance-preview.medium .preview-sidebar{background:#29223f}.appearance-preview.medium .preview-surface{background:#f7f6fb}.appearance-preview.medium .preview-accent{background:#6d4ad7}.appearance-preview.dark{background:#0b1020}.appearance-preview.dark .preview-sidebar{background:#070b16}.appearance-preview.dark .preview-surface{background:#151b2e}.appearance-preview.dark .preview-accent{background:#38bdf8}.appearance-theme-copy { min-width:0; }.appearance-theme-copy>span:first-child { align-items:center; display:flex; gap:7px; }.appearance-theme-copy>span:first-child>i { color:var(--teal); }.appearance-theme-copy strong { color:var(--text-main); font-size:13px; }.appearance-theme-copy>small { color:var(--text-muted); display:block; font-size:10px!important; line-height:1.45; margin:5px 0 9px; }.palette-swatches { display:flex; gap:4px; }.palette-swatches i { border:1px solid rgba(80,90,120,.14); border-radius:50%; height:17px; width:17px; }.palette-swatches.light i:nth-child(1){background:#172554}.palette-swatches.light i:nth-child(2){background:#2563eb}.palette-swatches.light i:nth-child(3){background:#60a5fa}.palette-swatches.light i:nth-child(4){background:#f6f8fc}.palette-swatches.light i:nth-child(5){background:#f9735b}.palette-swatches.medium i:nth-child(1){background:#29223f}.palette-swatches.medium i:nth-child(2){background:#6d4ad7}.palette-swatches.medium i:nth-child(3){background:#a78bfa}.palette-swatches.medium i:nth-child(4){background:#e6e5ef}.palette-swatches.medium i:nth-child(5){background:#f59e0b}.palette-swatches.dark i:nth-child(1){background:#0b1020}.palette-swatches.dark i:nth-child(2){background:#151b2e}.palette-swatches.dark i:nth-child(3){background:#38bdf8}.palette-swatches.dark i:nth-child(4){background:#c4b5fd}.palette-swatches.dark i:nth-child(5){background:#fb7185}.appearance-selected { align-items:center; background:var(--teal-pale); border-radius:20px; color:var(--teal); display:none; font-size:8px; font-weight:800; gap:4px; padding:5px 8px; position:absolute; right:10px; top:10px; }.appearance-theme-card.selected .appearance-selected { display:flex; }.appearance-save-row { align-items:center; border-top:1px solid var(--theme-line); display:flex; gap:16px; justify-content:space-between; margin-top:16px; padding-top:15px; }.appearance-save-row>span { color:var(--text-muted); font-size:10px; }.appearance-save-row>span i { color:var(--teal); margin-right:5px; }
@media(max-width:1100px){.appearance-theme-grid{grid-template-columns:1fr}.appearance-theme-card{grid-template-columns:120px 1fr}}
@media(max-width:575px){.theme-picker-menu{position:fixed;right:12px;top:66px;width:min(292px,calc(100vw - 24px))}.appearance-theme-card{grid-template-columns:90px 1fr}.appearance-save-row{align-items:stretch;flex-direction:column}.appearance-save-row .primary-button{width:100%}}

.main-nav a,.sidebar-bottom>a { font-size:14px; }.nav-label { font-size:10px; }.brand-wrap small,.school-chip small,.help-card span { font-size:11px; }.school-chip strong,.help-card strong { font-size:12px; }
.user-menu strong { font-size:12px; }.user-menu small { font-size:10px; }.topbar-search input { font-size:13px; }.topbar-context { color:var(--text-muted); font-size:12px; }
.eyebrow,.section-kicker { font-size:10px; }.welcome-row p,.payment-heading p,.card-heading p { font-size:13px; line-height:1.55; }.card-heading h2 { font-size:19px; }.outline-button,.primary-button,.secondary-button { font-size:12px; }.link-button { font-size:11px; }
.admin-form label>span,.provider-form label>span,.transaction-filterbar>label>span,.recon-modal label>span { font-size:11px; }.admin-form input,.admin-form textarea,.admin-form select,.provider-form input,.provider-form textarea,.modern-select-value,.transaction-filterbar input { font-size:13px!important; }.table { font-size:12.5px; }.table th { font-size:11px; letter-spacing:.35px; }.table td { line-height:1.45; }.content-card small,.provider-card small,.automation-list small,.table small,.form-card small { font-size:10.5px!important; line-height:1.45; }.automation-list strong { font-size:13px; }.automation-list.rich>div>div>span { font-size:10.5px; }.provider-card header strong { font-size:13px; }.provider-card header small { font-size:10.5px!important; }.provider-form .channel-enable span { font-size:11px; }.toggle-pill,.txn-status,.delivery-status,.control-health { font-size:9px; }

html[data-theme="light"] .sidebar { background:linear-gradient(175deg,#172554 0%,#111d44 72%,#0d1738 100%); }
html[data-theme="medium"] .sidebar { background:linear-gradient(175deg,#352c50 0%,#29223f 72%,#211b35 100%); }
html[data-theme="medium"] :is(.content-card,.provider-card,.report-card,.student-banner,.transaction-filterbar,.admin-filterbar) { border-color:var(--theme-line); }

html:is([data-theme="dark"],[data-theme="graphite"]) .sidebar { background:linear-gradient(175deg,#090d1a 0%,#070b16 72%,#050812 100%); border-right:1px solid #26314f; }
html:is([data-theme="dark"],[data-theme="graphite"]) .sidebar :is(.main-nav a,.sidebar-bottom>a) { color:#b5c8c6; }
html:is([data-theme="dark"],[data-theme="graphite"]) .sidebar :is(.nav-label,.brand-wrap small,.school-chip small,.help-card span) { color:#8ba7a6; }
html:is([data-theme="dark"],[data-theme="graphite"]) :is(.content-card,.provider-card,.report-card,.filter-panel,.student-banner,.transaction-filterbar,.admin-filterbar,.fee-card,.summary-card,.payment-option,.settings-card,.master-card,.role-card,.forecast-grid>div,.operations-grid>div,.operations-grid>a,.accounting-ready,.detail-summary,.manual-claim-summary) { background:var(--surface)!important; border-color:var(--theme-line)!important; color:var(--text-main); }
html:is([data-theme="dark"],[data-theme="graphite"]) :is(.provider-card.is-ready,.student-banner,.transaction-filterbar,.admin-filterbar,.accounting-ready,.detail-summary) { background:linear-gradient(120deg,#1b302f,#19272c)!important; }
html:is([data-theme="dark"],[data-theme="graphite"]) :is(input,textarea,select,.modern-select-trigger,.modern-select-menu,.transaction-reference-filter>div,.transaction-filter-result,.provider-form .channel-enable,.email-provider-fields,.sms-advanced,.icon-button,.outline-button) { background:var(--surface-2)!important; border-color:var(--theme-line)!important; color:var(--text-main)!important; }
html:is([data-theme="dark"],[data-theme="graphite"]) input::placeholder,html:is([data-theme="dark"],[data-theme="graphite"]) textarea::placeholder { color:#819794; opacity:1; }
html:is([data-theme="dark"],[data-theme="graphite"]) .modern-select-option { color:var(--text-main); }
html:is([data-theme="dark"],[data-theme="graphite"]) .modern-select-option:hover,html:is([data-theme="dark"],[data-theme="graphite"]) .modern-select-option.selected { background:#26413f; color:#71ddcc; }
html:is([data-theme="dark"],[data-theme="graphite"]) .table { --bs-table-bg:transparent; --bs-table-color:var(--text-main); --bs-table-border-color:var(--theme-line); }.table>:not(caption)>*>* { border-color:var(--theme-line); }
html:is([data-theme="dark"],[data-theme="graphite"]) :is(.card-heading p,.welcome-row p,.payment-heading p,.content-card small,.provider-card small,.automation-list small,.table small,.form-card small,.user-menu small,.finance-note,.forecast-note) { color:var(--text-muted)!important; }
html:is([data-theme="dark"],[data-theme="graphite"]) :is(.modal-content,.student-modal .modal-content,.recon-modal .modal-content,.finance-detail-modal .modal-content) { background:var(--surface)!important; color:var(--text-main); }
html:is([data-theme="dark"],[data-theme="graphite"]) :is(.modal-body,.student-modal .modal-body,.recon-modal .modal-body,.finance-detail-modal .modal-body,.reminder-edit-modal .modal-body,.modal-footer) { background:var(--surface)!important; border-color:var(--theme-line)!important; }
html:is([data-theme="dark"],[data-theme="graphite"]) :is(.sms-provider-note,.smtp-preset-note,.provider-security-note,.finance-note,.recon-review-warning,.risk-callout) { background:var(--surface-2)!important; border-color:var(--theme-line)!important; color:var(--text-muted)!important; }
html:is([data-theme="dark"],[data-theme="graphite"]) .topbar-search input { background:var(--surface-2); border-color:var(--theme-line); }
html:is([data-theme="dark"],[data-theme="graphite"]) .theme-switcher button.active { box-shadow:0 3px 12px rgba(0,0,0,.28); }

@media(max-width:1250px){.theme-switcher-label,.theme-switcher button span{display:none}.theme-switcher button{justify-content:center;padding:6px;width:31px}.topbar-actions{gap:9px}}
@media(max-width:575px){.topbar{padding-left:15px;padding-right:15px}.theme-switcher{gap:1px}.theme-switcher button{width:29px}.topbar-actions{gap:7px}.user-menu{gap:7px}.user-avatar{height:36px;width:36px}}

/* Payment checkout readability — final cascade authority */
.payment-page .back-link { font-size:13px; }
.payment-page .payment-heading p { font-size:15px; line-height:1.65; }
.payment-page .secure-note { padding:12px 15px; }.payment-page .secure-note strong { font-size:13px; }.payment-page .secure-note span { font-size:11px; line-height:1.45; }
.payment-page .content-card { padding:25px; }.payment-page .card-heading h2 { font-size:23px; }.payment-page .card-heading p { font-size:14px; line-height:1.55; }.payment-page .step-number { font-size:13px; height:34px; width:34px; }.payment-page .payment-selection .card-heading > div,.payment-page .content-card .card-heading > div { padding-left:47px; }
.payment-page .payment-option { gap:14px; min-height:76px; padding:18px; }.payment-page .payment-option div strong { font-size:16px; line-height:1.35; }.payment-page .payment-option small { font-size:13px!important; line-height:1.45; margin-top:5px; }.payment-page .payment-option > strong { font-size:20px; white-space:nowrap; }.payment-page .recommended { font-size:10px; padding:4px 7px; }
.payment-page .allocation-note { font-size:13px; gap:10px; line-height:1.55; padding:13px; }.payment-page .allocation-note i { font-size:15px; margin-top:1px; }
.payment-page .payment-method { min-height:132px; padding:18px 13px; }.payment-page .payment-method > i { font-size:25px; }.payment-page .payment-method strong { font-size:15px; }.payment-page .payment-method small { font-size:12px!important; line-height:1.4; margin-top:5px; }.payment-page .gateway-row,.payment-page .gateway-row strong { font-size:12px; }
.payment-page .order-summary { padding:28px; }.payment-page .summary-top span { font-size:12px; }.payment-page .summary-top small { font-size:12px!important; margin-top:8px; }.payment-page .summary-lines { padding:17px 0; }.payment-page .summary-plan > div { font-size:14px; padding:9px 0; }.payment-page .summary-total { padding:19px 0; }.payment-page .summary-total span { font-size:14px; }.payment-page .summary-total strong { font-size:31px; }.payment-page .summary-breakup-toggle { font-size:13px!important; padding:13px; }.payment-page .annual-breakup-head strong { font-size:14px; }.payment-page .annual-breakup-head small { font-size:11px!important; }.payment-page .annual-breakup-panel > div:not(.annual-breakup-head) { font-size:13px; padding:9px 1px; }.payment-page .annual-breakup-panel > div > span > small { font-size:10px!important; }.payment-page .gateway-fee { font-size:12px; line-height:1.45; padding:17px 0; }.payment-page .gateway-fee small { font-size:11px!important; margin-top:6px; }.payment-page .pay-button { font-size:16px; min-height:54px; }.payment-page .terms-copy { font-size:11px; line-height:1.55; }.payment-page .trust-row span { font-size:11px; }
@media(max-width:767px){.payment-page .content-card,.payment-page .order-summary{padding:20px}.payment-page .payment-option{align-items:flex-start;flex-wrap:wrap}.payment-page .payment-option>strong{margin-left:32px}.payment-page .method-grid{grid-template-columns:1fr}.payment-page .payment-method{min-height:88px}.payment-page .summary-total strong{font-size:28px}}

.role-access-card { margin-bottom:18px; overflow:hidden; }.role-permission-workspace { border:1px solid var(--theme-line,#dfe7eb); border-radius:18px; display:grid; grid-template-columns:285px minmax(0,1fr); min-height:560px; overflow:hidden; }.role-selector { background:linear-gradient(180deg,#f7f9fc,#f1f5f7); border-right:1px solid var(--theme-line,#dfe7eb); min-width:0; padding:12px; }.role-selector-heading { align-items:center; display:flex; justify-content:space-between; padding:5px 7px 12px; }.role-selector-heading strong { color:var(--ink); font-size:13px; }.role-selector-heading span { background:white; border:1px solid #dce5ea; border-radius:999px; color:#62727c; font-size:10px; font-weight:800; padding:4px 8px; }.role-selector-list { display:flex; flex-direction:column; gap:5px; max-height:650px; overflow:auto; padding-right:2px; }.role-selector-button { align-items:center; background:transparent; border:1px solid transparent; border-radius:12px; color:var(--ink); display:grid; gap:10px; grid-template-columns:36px minmax(0,1fr) 14px; padding:10px; text-align:left; transition:.16s ease; width:100%; }.role-selector-button:hover { background:rgba(255,255,255,.8); border-color:#dde6eb; }.role-selector-button.active { background:white; border-color:#cbdce6; box-shadow:0 7px 18px rgba(23,54,68,.08); }.role-selector-button>span:first-child { align-items:center; background:#e8f1f8; border-radius:9px; color:var(--theme-primary,var(--teal)); display:flex; font-size:15px; height:36px; justify-content:center; }.role-selector-button.active>span:first-child { background:var(--theme-primary,var(--teal)); color:white; }.role-selector-button>span:nth-child(2) { min-width:0; }.role-selector-button strong,.role-selector-button small { display:block; }.role-selector-button strong { font-size:11px; line-height:1.25; }.role-selector-button small { color:#788890; font-size:9px!important; margin-top:3px; }.role-selector-button>i { color:#94a2a9; font-size:11px; }.role-selector-button.active>i { color:var(--theme-primary,var(--teal)); transform:translateX(2px); }.role-permission-panels { background:var(--surface,#fff); min-width:0; }.role-permission-panel { display:none; height:100%; }.role-permission-panel.active { display:block; }.role-permission-panel>form { display:flex; flex-direction:column; min-height:100%; padding:22px; }.role-panel-heading { align-items:center; border-bottom:1px solid var(--theme-line,#e2e8ec); display:flex; gap:16px; justify-content:space-between; padding-bottom:17px; }.role-panel-heading>div { align-items:center; display:flex; gap:13px; min-width:0; }.role-panel-icon { align-items:center; background:linear-gradient(145deg,var(--theme-primary,var(--teal)),var(--theme-accent,#3371a5)); border-radius:12px; color:white; display:flex; flex:0 0 44px; font-size:19px; height:44px; justify-content:center; }.role-panel-heading h3 { color:var(--ink); font-size:17px; margin:0; }.role-panel-heading p { color:#6b7d86; font-size:11px; line-height:1.45; margin:3px 0 0; }.role-enabled-count { background:#edf4f8; border:1px solid #d6e3ea; border-radius:999px; color:#516a78; flex:0 0 auto; font-size:10px; font-weight:800; padding:6px 10px; }.permission-groups { display:grid; gap:11px; grid-template-columns:repeat(2,minmax(0,1fr)); padding:17px 0 4px; }.permission-group { background:#f8fafc; border:1px solid #e2e9ed; border-radius:14px; padding:13px; }.permission-group:last-child:nth-child(odd) { grid-column:1/-1; }.permission-group-heading { align-items:center; display:flex; gap:10px; justify-content:space-between; margin-bottom:10px; }.permission-group-heading strong { color:var(--ink); font-size:11px; }.permission-group-heading small { color:#778991; font-size:9px!important; font-weight:700; }.permission-chip-grid { display:grid; gap:7px; grid-template-columns:repeat(2,minmax(0,1fr)); }.permission-chip { cursor:pointer; margin:0; min-width:0; }.permission-chip input { height:1px!important; opacity:0; position:absolute; width:1px!important; }.permission-chip span { align-items:center; background:white; border:1px solid #dce5e9; border-radius:9px; color:#667a83; display:flex; font-size:10px; font-weight:700; gap:6px; line-height:1.3; min-height:36px; padding:7px 9px; text-transform:none; transition:.16s; }.permission-chip span i { color:#a5b2b7; flex:0 0 auto; font-size:10px; }.permission-chip input:checked+span { background:#e9f5f6; border-color:#b9dce0; color:#176f7a; }.permission-chip input:checked+span i { color:var(--theme-primary,var(--teal)); }.permission-chip:not(.protected):hover span { border-color:#9fcbd1; }.permission-chip.protected { cursor:not-allowed; }.permission-chip.protected span { opacity:.72; }.role-access-footer { align-items:center; border-top:1px solid var(--theme-line,#e1e8ec); display:flex; gap:15px; justify-content:space-between; margin-top:auto; padding-top:15px; }.role-access-footer>span { color:#60747d; font-size:10px; }.role-access-footer>span i { color:var(--theme-primary,var(--teal)); margin-right:5px; }.role-access-footer .primary-button { flex:0 0 auto; }
html:is([data-theme="dark"],[data-theme="graphite"]) .role-selector { background:linear-gradient(180deg,#17242d,#121f27); }html:is([data-theme="dark"],[data-theme="graphite"]) .role-selector-button.active,html:is([data-theme="dark"],[data-theme="graphite"]) .role-selector-heading span,html:is([data-theme="dark"],[data-theme="graphite"]) .permission-chip span { background:var(--surface); }html:is([data-theme="dark"],[data-theme="graphite"]) .permission-group { background:rgba(255,255,255,.025); }
@media(max-width:1050px){.role-permission-workspace{grid-template-columns:245px minmax(0,1fr)}.permission-chip-grid{grid-template-columns:1fr}}@media(max-width:767px){.role-permission-workspace{display:block;min-height:0}.role-selector{border-bottom:1px solid var(--theme-line,#dfe7eb);border-right:0}.role-selector-list{display:grid;grid-auto-columns:210px;grid-auto-flow:column;max-height:none;overflow-x:auto;padding:0 0 5px}.role-permission-panel>form{padding:16px}.permission-groups{grid-template-columns:1fr}.permission-group:last-child:nth-child(odd){grid-column:auto}.role-panel-heading{align-items:flex-start;flex-direction:column}.role-enabled-count{margin-left:57px}.role-access-footer{align-items:stretch;flex-direction:column}.role-access-footer .primary-button{justify-content:center;width:100%}}@media(max-width:480px){.permission-chip-grid{grid-template-columns:1fr}}

.student-icon-actions { align-items:center; display:flex; gap:7px; justify-content:center; }.student-icon-actions .edit-student-action,.view-student-dashboard-action { align-items:center; border-radius:9px; display:inline-flex; font-size:15px; height:38px; justify-content:center; min-height:38px; padding:0; width:38px; }.student-icon-actions .edit-student-action { background:var(--violet-pale); border:1px solid #dfd9f3; color:var(--violet); }.view-student-dashboard-action { background:var(--teal-pale); border:1px solid #cce8e1; color:var(--teal); }.view-student-dashboard-action:hover { background:var(--teal); color:white; }.student-icon-actions .edit-student-action:hover { background:var(--violet); color:white; }.student-preview-bar { align-items:center; background:linear-gradient(110deg,#e7f7f2,#f5faf7); border:1px solid #cde8e1; border-radius:14px; display:flex; gap:14px; justify-content:space-between; margin-bottom:20px; padding:13px 16px; }.student-preview-bar > span { color:#526e6a; font-size:12px; }.student-preview-bar > span > i { color:var(--teal); font-size:16px; margin-right:7px; }.student-preview-bar strong { color:var(--ink); margin-right:5px; }.student-preview-bar a { align-items:center; background:white; border:1px solid #cfe2dd; border-radius:9px; color:var(--teal); display:flex; font-size:11px; font-weight:800; gap:6px; padding:9px 11px; white-space:nowrap; }.preview-readonly-chip { align-items:center; background:#e8f2ef; border-radius:9px; color:#56706c; display:inline-flex; font-size:11px; font-weight:800; gap:6px; padding:10px 12px; }.preview-readonly-chip i { color:var(--teal); }@media(max-width:767px){.student-preview-bar{align-items:stretch;flex-direction:column}.student-preview-bar a{justify-content:center}}
.manual-claim-modal .modal-body > label { display:block; max-width:none; width:100%; }.manual-claim-modal .modal-body > label textarea { box-sizing:border-box; display:block; min-height:105px; width:100%; }

/* Separate staff authentication and role administration */
.staff-login-body { background: #eef3f0; color: #173b40; font-family: var(--body); margin: 0; min-height: 100vh; padding: 20px; }
.staff-login-shell { background: #fff; border-radius: 28px; box-shadow: 0 34px 90px rgba(15,49,53,.18); display: grid; grid-template-columns: minmax(420px,1.08fr) minmax(430px,.92fr); margin: 0 auto; max-width: 1260px; min-height: calc(100vh - 40px); overflow: hidden; }
.staff-login-story { background: radial-gradient(circle at 85% 15%,rgba(52,204,178,.2),transparent 28%),linear-gradient(145deg,#0e343c 0%,#15505a 56%,#0a7771 100%); color: white; display: flex; flex-direction: column; overflow: hidden; padding: 46px 54px 38px; position: relative; }
.staff-login-story:after { border: 1px solid rgba(255,255,255,.08); border-radius: 50%; content:""; height: 390px; position:absolute; right:-210px; top:31%; width:390px; }
.staff-login-brand { align-items:center; color:white; display:flex; gap:12px; position:relative; z-index:1; }.staff-login-brand:hover { color:white; }.staff-login-brand > span { align-items:center; background:#f8ad5b; border-radius:13px; color:#173d43; display:flex; font-size:22px; height:45px; justify-content:center; width:45px; }.staff-login-brand strong,.staff-login-brand small { display:block; }.staff-login-brand strong { font-family:var(--heading); font-size:20px; }.staff-login-brand small { color:#a9c6c8; font-size:11px; margin-top:1px; }
.staff-story-copy { margin: clamp(55px,9vh,105px) 0 34px; max-width:580px; position:relative; z-index:1; }.staff-story-copy > span { color:#5bdbc8; font-size:11px; font-weight:800; letter-spacing:1.3px; }.staff-story-copy > span i { margin-right:7px; }.staff-story-copy h1 { font-family:var(--heading); font-size:clamp(40px,4vw,60px); font-weight:800; letter-spacing:-2.4px; line-height:1.03; margin:18px 0 21px; }.staff-story-copy h1 em { color:#f7b66e; font-style:normal; }.staff-story-copy p { color:#c4d6d7; font-size:14px; line-height:1.75; margin:0; max-width:520px; }
.staff-feature-stack { display:grid; gap:10px; max-width:560px; position:relative; z-index:1; }.staff-feature-stack > div { align-items:center; background:rgba(255,255,255,.075); border:1px solid rgba(255,255,255,.1); border-radius:14px; display:flex; gap:13px; padding:13px 15px; }.staff-feature-stack > div > i { align-items:center; background:rgba(76,216,193,.14); border-radius:10px; color:#68e0ce; display:flex; flex:0 0 38px; font-size:18px; height:38px; justify-content:center; }.staff-feature-stack strong,.staff-feature-stack small { display:block; }.staff-feature-stack strong { font-size:12px; }.staff-feature-stack small { color:#aac2c4; font-size:10px; margin-top:3px; }.staff-story-foot { color:#99b7b9; font-size:9px; margin-top:auto; padding-top:30px; position:relative; z-index:1; }.staff-story-foot i { color:#5dd6c4; margin-right:5px; }
.staff-login-panel { align-items:center; display:flex; justify-content:center; padding:46px 60px; position:relative; }.staff-login-form-wrap { max-width:430px; width:100%; }.staff-login-mark { align-items:center; background:#e8f6f2; border:1px solid #cce8e1; border-radius:16px; color:var(--teal); display:flex; font-family:var(--heading); font-size:18px; font-weight:800; height:52px; justify-content:center; margin-bottom:34px; width:52px; }.staff-login-kicker { color:var(--teal); display:block; font-size:10px; font-weight:800; letter-spacing:1.3px; }.staff-login-form-wrap h2 { color:var(--ink); font-family:var(--heading); font-size:34px; letter-spacing:-1px; margin:8px 0 7px; }.staff-login-form-wrap > p { color:#6d817e; font-size:12px; line-height:1.55; }.staff-login-form { display:grid; gap:17px; margin-top:28px; }.staff-login-form label > span { color:#49635f; display:block; font-size:10px; font-weight:800; margin:0 2px 7px; text-transform:uppercase; }.staff-login-form label > div { align-items:center; background:#f8faf8; border:1px solid #d9e5e1; border-radius:12px; display:flex; min-height:51px; transition:.18s; }.staff-login-form label > div:focus-within { background:white; border-color:var(--teal); box-shadow:0 0 0 4px rgba(11,143,135,.09); }.staff-login-form label > div > i { color:#79908c; margin-left:15px; }.staff-login-form input { background:transparent; border:0; color:var(--ink); flex:1; font-size:13px; min-width:0; outline:0; padding:13px; }.password-visibility { background:none; border:0; color:#6d8581; padding:12px 15px; }.staff-login-submit { border:0; display:flex; font-size:12px; justify-content:space-between; margin-top:4px; min-height:52px; padding:14px 18px; width:100%; }.staff-demo-credentials { background:#fff8ec; border:1px solid #f4dfb9; border-radius:12px; display:grid; gap:3px; margin-top:20px; padding:12px 14px; }.staff-demo-credentials span { color:#8a672d; font-size:9px; font-weight:800; text-transform:uppercase; }.staff-demo-credentials code { color:#604923; font-size:11px; }.staff-demo-credentials b { color:#8a672d; font-size:9px; }.staff-portal-switch { align-items:center; border-top:1px solid #e4ebe8; display:flex; justify-content:space-between; margin-top:25px; padding-top:20px; }.staff-portal-switch span { color:#768b87; font-size:10px; }.staff-portal-switch a { color:var(--teal); font-size:10px; font-weight:800; }.staff-portal-switch a i { margin-right:5px; }.staff-login-form-wrap .login-help { color:#7c8e8b; font-size:9px; margin-top:20px; text-align:center; }.staff-login-form-wrap .login-help a { color:var(--teal); font-weight:700; }
.topbar-context { align-items:center; color:#607975; font-size:11px; font-weight:700; gap:8px; }.topbar-context i { color:var(--teal); font-size:15px; }
.staff-summary-grid { display:grid; gap:15px; grid-template-columns:repeat(3,1fr); margin-bottom:18px; }.staff-summary-grid article { align-items:center; background:linear-gradient(125deg,#fff,#f5f9f7); border:1px solid #dde9e5; border-radius:16px; display:flex; gap:14px; padding:17px; }.staff-summary-grid article > span { align-items:center; background:#e5f5f1; border-radius:12px; color:var(--teal); display:flex; flex:0 0 43px; font-size:19px; height:43px; justify-content:center; }.staff-summary-grid small,.staff-summary-grid strong,.staff-summary-grid em { display:block; }.staff-summary-grid small { color:#68807c; font-size:9px; font-weight:800; text-transform:uppercase; }.staff-summary-grid strong { color:var(--ink); font-family:var(--heading); font-size:23px; line-height:1.1; margin:3px 0; }.staff-summary-grid em { color:#7f918e; font-size:9px; font-style:normal; }
.staff-workspace { align-items:start; display:grid; gap:18px; grid-template-columns:minmax(0,1.65fr) minmax(350px,.85fr); }.staff-list { display:grid; gap:9px; }.staff-list-item { align-items:center; background:#f8faf8; border:1px solid #e2ebe7; border-radius:13px; display:grid; gap:12px; grid-template-columns:43px minmax(180px,1.5fr) minmax(120px,.8fr) minmax(120px,.8fr) auto auto; padding:12px; transition:.18s; }.staff-list-item:hover { background:white; border-color:#cde1db; box-shadow:0 8px 20px rgba(20,58,62,.06); }.staff-avatar { align-items:center; background:linear-gradient(145deg,#12434b,#0b8f87); border-radius:12px; color:white; display:flex; font-family:var(--heading); font-size:12px; font-weight:800; height:43px; justify-content:center; width:43px; }.staff-person strong,.staff-person span,.staff-person small,.staff-role strong,.staff-role small,.staff-login strong,.staff-login small { display:block; }.staff-person strong { color:var(--ink); font-size:11px; }.staff-person span { color:#647b77; font-size:9px; margin-top:3px; }.staff-person > small { color:#879794; font-size:8px; margin-top:2px; }.you-chip { background:#e4f5f1; border-radius:10px; color:var(--teal); display:inline!important; font-size:7px!important; margin-left:4px; padding:2px 5px; text-transform:uppercase; }.staff-role strong,.staff-login strong { color:#385653; font-size:9px; }.staff-role small,.staff-login small { color:#839490; font-size:8px; margin-top:3px; }.staff-row-actions { display:flex; gap:5px; }.staff-row-actions form { margin:0; }.staff-row-actions a,.staff-row-actions button { align-items:center; background:white; border:1px solid #dbe7e3; border-radius:8px; color:var(--teal); display:flex; height:31px; justify-content:center; padding:0; width:31px; }.staff-row-actions button { color:var(--coral); }.staff-row-actions button:disabled { color:#aab7b4; cursor:not-allowed; opacity:.55; }.staff-editor-card { position:sticky; top:86px; }.role-preview { align-items:flex-start; background:#edf8f5; border:1px solid #d3eae4; border-radius:13px; display:flex; gap:11px; margin-top:17px; padding:13px; }.role-preview > span { align-items:center; background:white; border-radius:9px; color:var(--teal); display:flex; flex:0 0 34px; height:34px; justify-content:center; }.role-preview strong,.role-preview small { display:block; }.role-preview strong { color:var(--ink); font-size:10px; }.role-preview small { color:#617b77; font-size:8px; line-height:1.55; margin-top:3px; }.staff-form-actions { display:flex; gap:9px; justify-content:flex-end; margin-top:17px; }
@media(max-width:1100px){.staff-login-shell{grid-template-columns:1fr 1fr}.staff-login-story{padding:38px}.staff-login-panel{padding:38px}.staff-workspace{grid-template-columns:1fr}.staff-editor-card{position:static}.staff-list-item{grid-template-columns:43px minmax(160px,1fr) minmax(110px,.7fr) auto auto}.staff-login{display:none}}
@media(max-width:767px){.staff-login-body{padding:0}.staff-login-shell{border-radius:0;display:block;min-height:100vh}.staff-login-story{min-height:250px;padding:26px}.staff-story-copy{margin:45px 0 0}.staff-story-copy h1{font-size:37px}.staff-feature-stack,.staff-story-foot{display:none}.staff-login-panel{padding:38px 24px}.staff-login-mark{display:none}.staff-summary-grid{grid-template-columns:1fr}.staff-list-item{grid-template-columns:40px 1fr auto}.staff-role,.staff-login,.staff-list-item>.txn-status{display:none}.staff-person span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.staff-row-actions{grid-column:3;grid-row:1}.staff-workspace{display:block}.staff-editor-card{margin-top:18px}}

.smart-login-kicker { color:var(--teal); display:block; font-size:10px; font-weight:800; letter-spacing:1.15px; margin-bottom:7px; }.smart-login-kicker i { margin-right:5px; }.unified-login-preview { display:grid; gap:10px; padding:13px; }.unified-login-preview > div { align-items:center; background:rgba(255,255,255,.09); border:1px solid rgba(255,255,255,.12); border-radius:13px; display:flex; gap:12px; padding:13px; }.unified-login-preview > div > i { align-items:center; background:rgba(65,218,191,.16); border-radius:10px; color:#65ddca; display:flex; flex:0 0 38px; font-size:17px; height:38px; justify-content:center; }.unified-login-preview strong,.unified-login-preview small { display:block; }.unified-login-preview strong { color:white; font-size:11px; }.unified-login-preview small { color:#aec5c6; font-size:9px; margin-top:3px; }.identity-hints { display:flex; flex-wrap:wrap; gap:7px; margin-top:-10px; }.identity-hints span { background:#f1f6f3; border-radius:20px; color:#607a76; font-size:8px; font-weight:700; padding:5px 8px; }.identity-hints i { color:var(--teal); margin-right:3px; }.smart-password-field input { min-width:0; }.smart-password-toggle { align-items:center; background:none; border:0; color:#748985; display:flex; height:46px; justify-content:center; padding:0 14px; }.smart-demo-grid { display:grid; gap:7px; grid-template-columns:repeat(3,1fr); margin-top:20px; }.smart-demo-grid button { align-items:center; background:#f8faf8; border:1px solid #dfe9e5; border-radius:11px; color:#385753; display:flex; gap:7px; min-width:0; padding:9px; text-align:left; }.smart-demo-grid button:hover { background:#edf8f4; border-color:#badcd3; }.smart-demo-grid button > i { color:var(--teal); font-size:14px; }.smart-demo-grid span,.smart-demo-grid small { display:block; min-width:0; }.smart-demo-grid span { font-size:8px; font-weight:800; }.smart-demo-grid small { color:#7b8e8a; font-size:7px; margin-top:2px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }.smart-demo-note { align-items:center; background:#fff8ec; border:1px solid #f1dfbd; border-radius:11px; color:#82612d; display:grid; gap:1px 9px; grid-template-columns:auto 1fr auto; margin-top:18px; padding:10px 12px; }.smart-demo-note > i { grid-row:span 2; }.smart-demo-note span { font-size:8px; font-weight:800; text-transform:uppercase; }.smart-demo-note strong { font-size:9px; grid-row:span 2; }.smart-identity-form .mobile-field input { font-size:12px; }
@media(max-width:430px){.smart-demo-grid{grid-template-columns:1fr}.identity-hints{gap:5px}.identity-hints span{font-size:7px}}
a[href*="demo_role="] { display:none!important; }

/* School-first branding and readable typography */
.portal-school-logo { background:white; border:1px solid rgba(255,255,255,.22); border-radius:12px; height:47px; object-fit:contain; padding:3px; width:47px; }.brand-wrap > div { min-width:0; }.brand-wrap .brand-name { font-size:14px; line-height:1.25; white-space:normal; }.brand-wrap small { font-size:10px!important; }.school-monogram { font-size:15px; }
.school-login-shell .login-form-side { padding-bottom:62px; position:relative; }.school-brand-story { background:radial-gradient(circle at 85% 12%,rgba(62,215,187,.2),transparent 27%),linear-gradient(145deg,#0d343d,#15535b 58%,#087c73); }.login-school-brand { align-items:center; display:flex; gap:15px; position:relative; z-index:2; }.login-school-brand img { background:white; border-radius:16px; box-shadow:0 10px 30px rgba(4,27,31,.18); height:74px; object-fit:contain; padding:5px; width:74px; }.login-school-brand strong,.login-school-brand small { display:block; }.login-school-brand strong { color:white; font-family:var(--heading); font-size:20px; line-height:1.3; }.login-school-brand small { color:#b8ced0; font-size:12px; line-height:1.5; margin-top:4px; max-width:430px; }.school-contact-card { background:rgba(255,255,255,.09); border:1px solid rgba(255,255,255,.12); border-radius:16px; display:grid; gap:11px; margin-bottom:24px; padding:16px 18px; position:relative; z-index:2; }.school-contact-card span { align-items:flex-start; color:#d5e2e2; display:flex; font-size:12px; gap:10px; line-height:1.5; }.school-contact-card i { color:#63dfca; flex:0 0 16px; font-size:14px; margin-top:1px; }.school-contact-card a { color:#fff; }.school-login-logo { background:white; border:1px solid #dbe8e4; border-radius:17px; box-shadow:0 9px 28px rgba(18,57,61,.09); display:block; height:68px; margin-bottom:26px; object-fit:contain; padding:5px; width:68px; }.login-developer { bottom:22px; color:#758b87; font-size:12px; left:0; position:absolute; text-align:center; width:100%; }.login-developer strong { color:var(--teal); letter-spacing:.4px; }.smart-demo-grid.simplified { grid-template-columns:repeat(2,1fr); }
.school-logo-setting { align-items:center; background:linear-gradient(120deg,#eef8f5,#f8faf8); border:1px solid #d9e9e4; border-radius:15px; display:flex; gap:16px; margin-bottom:18px; padding:16px; }.school-logo-setting img { background:white; border:1px solid #dbe7e3; border-radius:14px; height:76px; object-fit:contain; padding:5px; width:76px; }.school-logo-setting > div { flex:1; }.school-logo-setting strong,.school-logo-setting small { display:block; }.school-logo-setting strong { color:var(--ink); font-family:var(--heading); font-size:15px; }.school-logo-setting small { color:#637a76; margin:4px 0 11px; }.school-logo-setting label { cursor:pointer; display:inline-flex; margin:0; }.school-logo-setting input { display:none; }
.app-footer a { color:#617a76; font-size:12px; }.app-footer a strong { color:var(--teal); }.app-footer a:hover { color:var(--teal); }

body:not(.login-body) { font-size:14px; }.main-nav a { font-size:13px; }.nav-label { font-size:10px; }.welcome-row p,.card-heading p { font-size:13px; line-height:1.55; }body:not(.login-body) small { font-size:11px!important; line-height:1.45; }body:not(.login-body) table { font-size:13px; }body:not(.login-body) table th { font-size:11px; }body:not(.login-body) input,body:not(.login-body) select,body:not(.login-body) textarea,body:not(.login-body) button { font-size:13px; }.section-kicker,.eyebrow { font-size:10px!important; }.txn-status { font-size:10px; }.topbar-search input { font-size:13px; }
.login-form-wrap > p { font-size:14px; line-height:1.65; }.login-form label { font-size:13px; }.login-form .mobile-field input { font-size:15px; }.login-form .primary-button { font-size:14px; min-height:50px; }.privacy-note,.login-help { font-size:11px!important; line-height:1.55; }.smart-demo-grid span { font-size:11px; }.smart-demo-grid small { font-size:9px!important; }.smart-demo-note span,.smart-demo-note strong { font-size:10px; }.smart-login-kicker { font-size:11px; }.login-form-wrap h2 { font-size:34px; }.school-brand-story .story-copy p { font-size:14px; }.school-brand-story .story-kicker { font-size:11px; }
@media(max-width:767px){.login-school-brand img{height:58px;width:58px}.login-school-brand strong{font-size:17px}.login-school-brand small{font-size:10px}.school-contact-card{display:none}.school-login-logo{height:58px;margin-bottom:20px;width:58px}.school-login-shell .login-form-side{padding-bottom:65px}.smart-demo-grid.simplified{grid-template-columns:1fr 1fr}.school-logo-setting{align-items:flex-start}.school-logo-setting img{height:62px;width:62px}}

.school-brand-wrap { align-items:center; flex-direction:column; gap:10px; padding:2px 8px 22px; position:relative; text-align:center; }.school-brand-wrap .portal-school-logo { height:72px; width:72px; }.school-brand-wrap > div { width:100%; }.school-brand-wrap .brand-name { display:block; font-size:14px; font-weight:800; line-height:1.35; }.school-brand-wrap small { letter-spacing:.8px; margin-top:3px; }.school-brand-wrap .sidebar-close { position:absolute; right:-2px; top:0; }.school-chip { min-height:66px; }.school-chip > div { min-width:0; }.school-chip .school-monogram { background:linear-gradient(145deg,#e5f7f2,#fff); color:var(--teal); font-size:12px; font-weight:800; }.school-chip strong { font-size:12px; width:auto; }.school-chip small { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.summary-lines .summary-plan { display:block; width:100%; }.summary-discount span,.summary-discount strong { color:#70dfcd!important; }.annual-breakup-control { border-bottom:1px solid rgba(255,255,255,.11); padding:4px 0 14px; }.summary-breakup-toggle { align-items:center; background:rgba(255,255,255,.07); border:1px solid rgba(255,255,255,.12); border-radius:11px; color:#6be0cd; display:flex; font-size:12px!important; font-weight:700; justify-content:space-between; padding:11px 12px; width:100%; }.summary-breakup-toggle:hover { background:rgba(255,255,255,.11); }.summary-breakup-toggle > i { transition:transform .18s; }.summary-breakup-toggle.open > i { transform:rotate(180deg); }.annual-breakup-panel { background:rgba(5,25,29,.24); border:1px solid rgba(255,255,255,.1); border-radius:11px; margin-top:9px; padding:11px; }.annual-breakup-head { border-bottom:1px solid rgba(255,255,255,.1); display:block!important; padding:2px 1px 10px!important; }.annual-breakup-head strong,.annual-breakup-head small { display:block; }.annual-breakup-head strong { color:#fff; font-size:12px; }.annual-breakup-head small { color:#91aaac; margin-top:3px; }.annual-breakup-panel > div:not(.annual-breakup-head) { align-items:center; color:#b7c8ca; display:flex; font-size:11px; justify-content:space-between; padding:7px 1px; }.annual-breakup-panel > div > span > small { color:#81999b; display:block; font-size:9px!important; margin-top:2px; }.annual-breakup-panel > div > strong { color:white; margin-left:12px; white-space:nowrap; }.annual-breakup-match { border-top:1px solid rgba(255,255,255,.12); color:#6be0cd!important; font-weight:800; margin-top:4px; padding-top:10px!important; }.annual-breakup-match strong { color:#6be0cd!important; }
.manual-evidence-drop.invalid { background: #fff3ef; border-color: #d9664f; }.manual-evidence-error { color: #b74d39; display: block; font-size: 8px; font-weight: 700; margin: 5px 3px 0; min-height: 0; }
.direct-claim-actions { align-items: flex-end; display: flex; flex-direction: column; gap: 6px; }.direct-claim-actions > em { border-radius: 14px; font-size: 8px; font-style: normal; font-weight: 800; padding: 5px 7px; text-transform: uppercase; white-space: nowrap; }.direct-claim-actions > em.pending_review { background: #fff1d2; color: #8c6214; }.direct-claim-actions > em.bank_matched,.direct-claim-actions > em.approved { background: var(--teal-pale); color: var(--teal); }.direct-claim-actions > em.variance { background: #fff0ec; color: #b45643; }.direct-claim-actions > em.rejected,.direct-claim-actions > em.cancelled { background: #edf0ef; color: #667975; }.direct-claim-actions form { margin: 0; }.direct-claim-actions button { background: transparent; border: 0; color: #b65341; font-size: 8px; font-weight: 800; padding: 2px 0; }.direct-claim-actions button:hover { color: #8f3829; }.claim-cancelled-note { color: #a65343 !important; margin-top: 4px; }.claim-status.cancelled { background: #edf0ef; color: #667975; }
@media (max-width: 430px) { .direct-claim-list > div { align-items: flex-start; grid-template-columns: 1fr; }.direct-claim-actions { align-items: flex-start; flex-direction: row; justify-content: space-between; width: 100%; } }

/* Direct payment submission — final cascade authority */
.manual-payment-modal .modal-dialog { max-width: 820px; }.manual-payment-modal .modal-content { background: #f6f9f7; border: 0; border-radius: 22px; box-shadow: 0 32px 90px rgba(9,39,45,.32); overflow: hidden; }.manual-payment-modal .modal-header { align-items: center; background: linear-gradient(120deg,#123f47 0%,#17645f 100%); border: 0; color: #fff; display: flex; gap: 14px; padding: 21px 24px; }.manual-payment-header-icon { align-items: center; background: rgba(102,222,200,.16); border: 1px solid rgba(111,224,204,.22); border-radius: 13px; color: #6fe0ca; display: flex; flex: 0 0 46px; font-size: 20px; height: 46px; justify-content: center; }.manual-payment-modal .modal-header > div { flex: 1; min-width: 0; }.manual-payment-modal .modal-header .section-kicker { color: #6fe0ca; display: block; font-size: 8px; letter-spacing: 1.4px; margin-bottom: 3px; }.manual-payment-modal .modal-header h2 { color: #fff; font-family: var(--heading); font-size: 20px; line-height: 1.25; margin: 0 0 3px; }.manual-payment-modal .modal-header p { color: #bfd3d2; font-size: 10px; margin: 0; }.manual-payment-modal .modal-close { flex: 0 0 35px; }
.manual-payment-modal .modal-body { background: #f6f9f7; padding: 18px 22px 17px; }.manual-payment-student { align-items: center; background: #fff; border: 1px solid #dce8e4; border-radius: 14px; display: flex; gap: 11px; margin-bottom: 14px; padding: 11px 13px; }.manual-payment-student > span { align-items: center; background: linear-gradient(135deg,#173f48,#159486); border-radius: 10px; color: #fff; display: flex; flex: 0 0 39px; font-family: var(--heading); font-size: 12px; height: 39px; justify-content: center; }.manual-payment-student > div { flex: 1; min-width: 0; }.manual-payment-student small,.manual-payment-student strong,.manual-payment-student em { display: block; }.manual-payment-student small { color: #7a8e8b; font-size: 7px; font-weight: 800; letter-spacing: .8px; }.manual-payment-student strong { color: var(--ink); font-size: 12px; margin: 1px 0; }.manual-payment-student em { color: #647b77; font-size: 9px; font-style: normal; }.manual-payment-student > b { align-items: center; background: var(--teal-pale); border-radius: 16px; color: #087b70; display: flex; font-size: 8px; gap: 5px; padding: 6px 9px; white-space: nowrap; }
.manual-payment-section,.manual-payment-evidence { background: #fff; border: 1px solid #dce7e3; border-radius: 15px; padding: 15px; }.manual-payment-section-head,.manual-evidence-copy { align-items: center; display: flex; gap: 10px; }.manual-payment-section-head > span,.manual-evidence-copy > span { align-items: center; background: #eaf6f2; border-radius: 9px; color: var(--teal); display: flex; flex: 0 0 32px; height: 32px; justify-content: center; }.manual-payment-section-head > div,.manual-evidence-copy > div { flex: 1; min-width: 0; }.manual-payment-section-head strong,.manual-payment-section-head small,.manual-evidence-copy strong,.manual-evidence-copy small { display: block; }.manual-payment-section-head strong,.manual-evidence-copy strong { color: var(--ink); font-size: 11px; }.manual-payment-section-head small,.manual-evidence-copy small { color: #718582; font-size: 8px; margin-top: 1px; }.manual-payment-section-head > em,.manual-evidence-copy > em { background: #f1f5f3; border-radius: 13px; color: #71827f; font-size: 7px; font-style: normal; font-weight: 800; padding: 5px 7px; white-space: nowrap; }.manual-payment-section-head > em i { color: var(--coral); font-style: normal; }
.manual-payment-grid { display: grid; gap: 11px 13px; grid-template-columns: repeat(2,minmax(0,1fr)); margin-top: 14px; }.manual-payment-grid > label { display: block; margin: 0; min-width: 0; }.manual-payment-grid > label > span { color: #506865; display: block; font-size: 8px; font-weight: 800; letter-spacing: .25px; margin: 0 2px 5px; text-transform: uppercase; }.manual-payment-grid > label > span i { color: var(--coral); font-style: normal; }.manual-input-wrap { align-items: center; background: #f9fbfa; border: 1px solid #d6e2de; border-radius: 10px; display: flex; min-height: 43px; overflow: hidden; transition: border-color .18s,box-shadow .18s,background .18s; }.manual-input-wrap:focus-within { background: #fff; border-color: var(--teal); box-shadow: 0 0 0 3px rgba(11,143,135,.09); }.manual-input-wrap > b { align-items: center; border-right: 1px solid #e1e8e6; color: #78908c; display: flex; flex: 0 0 38px; font-size: 12px; font-weight: 700; height: 24px; justify-content: center; }.manual-input-wrap.money > b { color: var(--teal); font-family: var(--heading); font-size: 14px; }.manual-input-wrap input { background: transparent; border: 0; color: var(--ink); flex: 1; font-size: 11px; min-height: 41px; min-width: 0; outline: 0; padding: 9px 10px; width: 100%; }.manual-payment-grid .modern-select { margin: 0; }.manual-payment-grid .modern-select-trigger { background: #f9fbfa; border-color: #d6e2de; border-radius: 10px; min-height: 43px; padding: 8px 10px; }.manual-payment-grid .modern-select-value { color: var(--ink); font-size: 11px; font-weight: 600; }.manual-payment-grid .modern-select-menu { z-index: 1080; }.manual-field-wide { grid-column: 1/-1; }.manual-field-wide textarea { background: #f9fbfa; border: 1px solid #d6e2de; border-radius: 10px; color: var(--ink); display: block; font-size: 11px; min-height: 66px; outline: 0; padding: 10px 11px; resize: vertical; width: 100%; }.manual-field-wide textarea:focus { background: #fff; border-color: var(--teal); box-shadow: 0 0 0 3px rgba(11,143,135,.09); }.manual-field-wide > small { color: #879895; display: block; font-size: 7px; margin: 4px 2px 0; text-align: right; }
.manual-payment-evidence { margin-top: 12px; }.manual-payment-evidence.required { border-color: #eccb86; }.manual-payment-evidence.required .manual-evidence-copy > em { background: #fff1d2; color: #906414; }.manual-payment-evidence.optional .manual-evidence-copy > em { background: #eaf6f2; color: #087b70; }.manual-evidence-drop { background: #f5faf8; border: 1px dashed #9fc8bf; border-radius: 11px; cursor: pointer; display: block; margin-top: 11px; overflow: hidden; position: relative; transition: .18s; }.manual-evidence-drop:hover { background: #edf8f4; border-color: var(--teal); }.manual-evidence-drop input { height: 100%; inset: 0; opacity: 0; position: absolute; width: 100%; z-index: 2; }.manual-evidence-drop > span { align-items: center; display: grid; gap: 1px 9px; grid-template-columns: 30px 1fr; min-height: 58px; padding: 9px 12px; }.manual-evidence-drop > span > i { align-items: center; background: #fff; border: 1px solid #dde9e5; border-radius: 8px; color: var(--teal); display: flex; font-size: 14px; grid-row: span 2; height: 30px; justify-content: center; }.manual-evidence-drop strong,.manual-evidence-drop small { display: block; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }.manual-evidence-drop strong { color: #365552; font-size: 9px; }.manual-evidence-drop small { color: #758986; font-size: 8px; }.manual-evidence-drop.has-file { background: #eaf7f2; border-style: solid; }.manual-evidence-drop.has-file > span > i { background: var(--teal); color: #fff; }
.manual-payment-assurance { align-items: flex-start; background: #edf5fb; border: 1px solid #d7e6f1; border-radius: 11px; color: #4e6779; display: flex; font-size: 8px; gap: 8px; line-height: 1.5; margin-top: 12px; padding: 9px 11px; }.manual-payment-assurance > i { color: #397da7; font-size: 12px; margin-top: 1px; }.manual-payment-assurance strong { color: #31566c; }.manual-payment-modal .modal-footer { align-items: center; background: #fff; border-color: #dfe8e5; display: flex; justify-content: space-between; padding: 12px 22px; }.manual-payment-modal .modal-footer > span { color: #718481; font-size: 7px; }.manual-payment-modal .modal-footer > span i { color: var(--teal); margin-right: 4px; }.manual-payment-modal .modal-footer > div { display: flex; gap: 8px; }.manual-payment-modal .modal-footer button { margin: 0; min-height: 39px; padding: 8px 14px; }.manual-payment-modal .modal-footer .primary-button { border: 0; }
.school-policy-card { align-items: center; background: linear-gradient(110deg,#edf8f4,#f7faf8); border: 1px solid #d5e7e1; border-radius: 14px; display: flex; gap: 12px; margin: 4px 0 17px; padding: 13px 14px; }.school-policy-icon { align-items: center; background: #fff; border-radius: 10px; color: var(--teal); display: flex; flex: 0 0 38px; font-size: 17px; height: 38px; justify-content: center; }.school-policy-card > div { flex: 1; }.school-policy-card strong,.school-policy-card small { display: block; }.school-policy-card strong { color: var(--ink); font-size: 11px; }.school-policy-card small { color: #6e8380; font-size: 8px; line-height: 1.45; margin-top: 2px; }.policy-switch { cursor: pointer; margin: 0 !important; }.policy-switch > input { height: 1px !important; opacity: 0; position: absolute; width: 1px !important; }.policy-switch > span { align-items: center; display: flex !important; gap: 7px; margin: 0 !important; text-transform: none !important; white-space: nowrap; }.policy-switch i { background: #c9d5d2; border-radius: 20px; display: block; height: 22px; position: relative; transition: .2s; width: 39px; }.policy-switch i::after { background: #fff; border-radius: 50%; box-shadow: 0 1px 4px rgba(0,0,0,.18); content: ''; height: 16px; left: 3px; position: absolute; top: 3px; transition: .2s; width: 16px; }.policy-switch input:checked + span i { background: var(--teal); }.policy-switch input:checked + span i::after { transform: translateX(17px); }.policy-switch b { color: #4e6864; font-size: 9px; }
@media (max-width: 767px) { .manual-payment-modal .modal-dialog { margin: 10px; }.manual-payment-modal .modal-header { align-items: flex-start; padding: 17px; }.manual-payment-header-icon { display: none; }.manual-payment-modal .modal-header h2 { font-size: 17px; }.manual-payment-modal .modal-header p { padding-right: 8px; }.manual-payment-modal .modal-body { padding: 13px; }.manual-payment-student > b { display: none; }.manual-payment-section,.manual-payment-evidence { padding: 13px; }.manual-payment-grid { grid-template-columns: 1fr; }.manual-field-wide { grid-column: auto; }.manual-payment-section-head > em { display: none; }.manual-payment-modal .modal-footer { align-items: stretch; flex-direction: column; gap: 8px; padding: 11px 13px; }.manual-payment-modal .modal-footer > span { text-align: center; }.manual-payment-modal .modal-footer > div { width: 100%; }.manual-payment-modal .modal-footer button { flex: 1; }.school-policy-card { align-items: flex-start; flex-wrap: wrap; }.policy-switch { margin-left: 50px !important; } }
@media (max-width: 430px) { .manual-payment-modal .modal-dialog { margin: 0; min-height: 100%; }.manual-payment-modal .modal-content { border-radius: 0; min-height: 100vh; }.manual-payment-modal .modal-header { border-radius: 0; }.manual-payment-student { padding: 9px; }.manual-payment-section-head small,.manual-evidence-copy small { line-height: 1.35; }.manual-evidence-copy { align-items: flex-start; }.manual-payment-modal .modal-footer > div { flex-direction: column-reverse; }.manual-payment-modal .modal-footer button { width: 100%; } }

/* Keep the direct-payment form and its submit action inside every viewport. */
.manual-payment-modal .modal-dialog-scrollable{height:min(820px,calc(100dvh - 24px));max-height:calc(100dvh - 24px);margin:12px auto}
.manual-payment-modal .modal-content{display:flex;height:100%;max-height:100%;min-height:0;flex-direction:column}
.manual-payment-modal .modal-header{flex:0 0 auto}
.manual-payment-modal .modal-content>form{display:flex;flex:1 1 auto;min-height:0;max-height:none;overflow:hidden;flex-direction:column}
.manual-payment-modal .modal-body{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
.manual-payment-modal .modal-footer{position:relative;z-index:2;flex:0 0 auto;box-shadow:0 -8px 20px rgba(22,54,57,.07)}
@media(max-width:767px){
 .manual-payment-modal .modal-dialog-scrollable{width:auto;height:calc(100dvh - 12px);max-height:calc(100dvh - 12px);margin:6px}
 .manual-payment-modal .modal-content{min-height:0;border-radius:17px}
 .manual-payment-modal .modal-header{padding:14px 15px}
 .manual-payment-modal .modal-header p{display:none}
 .manual-payment-modal .modal-footer{display:block;padding:9px 12px calc(9px + env(safe-area-inset-bottom))}
 .manual-payment-modal .modal-footer>span{display:none}
 .manual-payment-modal .modal-footer>div{display:grid;width:100%;grid-template-columns:minmax(88px,.7fr) minmax(0,1.3fr);gap:8px}
 .manual-payment-modal .modal-footer button{width:100%;min-height:44px;padding:8px 10px}
}

/* Direct-payment verification and settlement batch controls */
.recon-batch-board { background: linear-gradient(125deg,#123f47,#17575b); border-radius: 20px; box-shadow: 0 18px 45px rgba(14,55,61,.15); color: #fff; margin-bottom: 18px; padding: 20px; }
.recon-batch-board .card-heading { margin-bottom: 15px; }.recon-batch-board .section-kicker { color: #69dcc9; }.recon-batch-board h2 { color: #fff; }.recon-batch-board .card-heading p { color: #b9cecf; }
.recon-role-chip { align-items: center; background: rgba(255,255,255,.09); border: 1px solid rgba(255,255,255,.14); border-radius: 20px; color: #d5e4e3; display: flex; font-size: 10px; font-weight: 700; gap: 6px; padding: 7px 11px; }
.recon-batch-grid { display: grid; gap: 12px; grid-template-columns: repeat(3,minmax(0,1fr)); }.recon-batch-card { background: rgba(255,255,255,.98); border: 1px solid transparent; border-radius: 15px; color: var(--ink); min-width: 0; padding: 14px; }.recon-batch-card.pending_approval { border-color: #f0c465; }.recon-batch-card.closed { background: #eef8f4; border-color: #9fd8c8; }
.recon-batch-card > div:first-child { align-items: center; display: flex; gap: 9px; }.batch-bank-icon { align-items: center; background: var(--teal-pale); border-radius: 9px; color: var(--teal); display: flex; flex: 0 0 34px; height: 34px; justify-content: center; }.recon-batch-card > div:first-child > span:nth-child(2) { min-width: 0; }.recon-batch-card strong,.recon-batch-card small { display: block; }.recon-batch-card > div:first-child strong { font-size: 11px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }.recon-batch-card small { color: #6e8380; font-size: 8px; margin-top: 2px; }.recon-batch-card em { background: #eef4f1; border-radius: 14px; color: #56706d; font-size: 8px; font-style: normal; font-weight: 800; margin-left: auto; padding: 5px 7px; text-transform: uppercase; white-space: nowrap; }
.batch-control-values { display: grid; gap: 6px; grid-template-columns: repeat(3,1fr); margin: 13px 0 9px; }.batch-control-values span { color: #718582; font-size: 8px; }.batch-control-values strong { color: var(--ink); font-family: var(--heading); font-size: 11px; margin-top: 2px; }.batch-progress { background: #e4ece9; border-radius: 8px; height: 5px; overflow: hidden; }.batch-progress i { background: linear-gradient(90deg,var(--teal),#57cdb8); display: block; height: 100%; }.batch-action-zone { align-items: center; display: flex; gap: 7px; justify-content: space-between; margin-top: 11px; min-height: 30px; }.batch-action-zone > span { color: #637b77; font-size: 8px; line-height: 1.4; }.batch-action-zone button,.batch-action-zone a { background: var(--teal); border: 0; border-radius: 8px; color: white; display: inline-flex; font-size: 8px; font-weight: 800; gap: 5px; padding: 7px 9px; }.batch-action-zone button.reopen { background: #d16f57; }.recon-demo-role { color: #8ce4d4; display: inline-block; font-size: 9px; font-weight: 800; margin-top: 12px; }
.manual-claim-review { margin-bottom: 18px; }.manual-claim-count { background: #fff2d5; border-radius: 18px; color: #8a6115; font-size: 9px; font-weight: 800; padding: 7px 10px; }.manual-claim-table { min-width: 960px; }.manual-claim-table td strong,.manual-claim-table td small,.manual-claim-table td code { display: block; }.manual-claim-table td small { color: #718582; font-size: 9px; margin-top: 4px; }.manual-claim-table td code { color: var(--teal); font-size: 9px; margin-top: 3px; }.claim-bank-match { background: var(--teal-pale); border-radius: 12px; color: var(--teal); display: inline-flex; font-size: 9px; font-weight: 800; gap: 4px; padding: 6px 8px; }.claim-status { border-radius: 13px; display: inline-block; font-size: 8px; font-weight: 800; padding: 5px 7px; text-transform: uppercase; }.claim-status.pending_review { background: #fff1d2; color: #8c6214; }.claim-status.bank_matched,.claim-status.approved { background: var(--teal-pale); color: var(--teal); }.claim-status.variance { background: #fff0ec; color: #b45643; }.claim-status.rejected { background: #edf0ef; color: #6f7d7a; }
.recon-status.claim_matched { background: #e5f7f1; color: #08786f; }.recon-status.claim_variance { background: #fff0e8; color: #b15c37; }.recon-locked { align-items: center; color: #52736d; display: inline-flex; font-size: 9px; font-weight: 800; gap: 5px; white-space: nowrap; }
.manual-claim-summary { background: #f2f7f4; border: 1px solid #dce8e4; border-radius: 13px; display: grid; gap: 10px; grid-template-columns: repeat(2,1fr); margin-bottom: 15px; padding: 13px; }.manual-claim-summary span { min-width: 0; }.manual-claim-summary small,.manual-claim-summary strong,.manual-claim-summary code { display: block; }.manual-claim-summary small { color: #708480; font-size: 8px; font-weight: 800; margin-bottom: 3px; text-transform: uppercase; }.manual-claim-summary strong { color: var(--ink); font-size: 11px; }.manual-claim-summary code { color: var(--teal); font-size: 10px; overflow-wrap: anywhere; }.manual-claim-modal .recon-review-warning span,.manual-claim-modal .recon-review-warning strong { display: block; }.manual-claim-footer { justify-content: space-between !important; }.danger-outline-button { background: transparent; border: 1px solid #d98270; border-radius: 9px; color: #b5523e; font-size: 10px; font-weight: 800; padding: 9px 13px; }
.direct-claim-card { border-color: #d4e8e2; }.direct-claim-list { display: grid; gap: 9px; }.direct-claim-list > div { align-items: center; background: #f5f8f6; border-radius: 11px; display: grid; gap: 4px 10px; grid-template-columns: 1fr auto; padding: 11px 12px; }.direct-claim-list strong,.direct-claim-list small { display: block; }.direct-claim-list small { color: #6e8380; font-size: 9px; }.manual-payment-notice { border-radius: 10px; font-size: 10px; margin-bottom: 12px; padding: 10px 12px; }.manual-payment-notice.success { background: var(--teal-pale); color: #08776d; }.manual-payment-notice.error { background: #fff0ec; color: #a84e3c; }
@media (max-width: 1199px) { .recon-batch-grid { grid-template-columns: repeat(2,minmax(0,1fr)); } }
@media (max-width: 767px) { .recon-batch-board { padding: 15px; }.recon-batch-grid { grid-template-columns: 1fr; }.recon-role-chip { margin-top: 9px; }.manual-claim-footer { align-items: stretch; flex-direction: column-reverse; }.manual-claim-footer button { justify-content: center; width: 100%; } }
@media (max-width: 430px) { .manual-claim-summary { grid-template-columns: 1fr; }.batch-control-values { grid-template-columns: repeat(2,1fr); } }

.recon-status.awaiting { background: var(--amber-pale); color: #916413; }

/* Bank reconciliation control centre */
.recon-commandbar { align-items: center; background: linear-gradient(120deg,#123f47,#19545b); border-radius: 17px; color: white; display: flex; gap: 20px; justify-content: space-between; margin-bottom: 14px; padding: 18px 20px; }
.recon-commandbar > div:first-child strong,.recon-commandbar > div:first-child small { display: block; }.recon-commandbar > div:first-child strong { font-family: var(--heading); font-size: 17px; margin: 3px 0; }.recon-commandbar > div:first-child small { color: #b8cbcc; font-size: 11px; }.recon-command-actions { display: flex; flex: 0 0 auto; gap: 8px; }.recon-command-actions form { margin: 0; }.recon-command-actions .secondary-button { background: rgba(255,255,255,.1); border-color: rgba(255,255,255,.2); color: white; }
.recon-metrics { display: grid; gap: 11px; grid-template-columns: repeat(4,1fr); margin-bottom: 14px; }.recon-metrics article { align-items: center; background: white; border: 1px solid var(--line); border-radius: 14px; display: flex; gap: 11px; min-width: 0; padding: 14px; }.recon-metric-icon { align-items: center; background: #edf4f2; border-radius: 11px; color: var(--teal); display: flex; flex: 0 0 42px; font-size: 17px; height: 42px; justify-content: center; }.recon-metric-icon.matched { background: var(--teal-pale); }.recon-metric-icon.open { background: var(--amber-pale); color: #926515; }.recon-metric-icon.variance { background: var(--coral-pale); color: var(--coral); }.recon-metrics small,.recon-metrics strong,.recon-metrics em { display: block; }.recon-metrics small { color: #607774; font-size: 10px; font-weight: 700; }.recon-metrics strong { font-family: var(--heading); font-size: 18px; margin: 2px 0; }.recon-metrics em { color: #7b8e8b; font-size: 9px; font-style: normal; }
.recon-filterbar { align-items: end; background: #eef7f4; border: 1px solid #d9e7e2; border-radius: 14px; display: grid; gap: 9px; grid-template-columns: 1fr 1fr 1fr 1.15fr 2fr auto auto; margin-bottom: 14px; padding: 12px; position: relative; z-index: 5; }.recon-filterbar > label { margin: 0; min-width: 0; }.recon-filterbar > label > span { color: #536c69; display: block; font-size: 9px; font-weight: 800; margin: 0 2px 5px; text-transform: uppercase; }.recon-filterbar input[type="date"],.recon-filterbar .modern-select-trigger,.recon-reference > div { background: white; border: 1px solid #d8e3df; border-radius: 9px; min-height: 42px; }.recon-filterbar input[type="date"] { color: var(--ink); font-size: 11px; padding: 8px 9px; width: 100%; }.recon-filterbar .modern-select-trigger { font-size: 11px; }.recon-reference > div { align-items: center; display: flex; }.recon-reference i { color: #78908c; margin-left: 10px; }.recon-reference input { background: transparent; border: 0; flex: 1; font-size: 11px; min-width: 0; outline: 0; padding: 9px; }.recon-filterbar > button { min-height: 42px; padding: 8px 13px; }.recon-filterbar > a { color: var(--coral); font-size: 10px; font-weight: 800; padding: 12px 3px; white-space: nowrap; }
.recon-workspace { align-items: start; display: grid; gap: 14px; grid-template-columns: minmax(0,1fr) 310px; }.recon-ledger-card { min-width: 0; padding: 18px; }.recon-ledger-card .outline-button { min-height: 38px; padding: 7px 11px; }.recon-table { min-width: 920px; }.recon-table td:first-child strong,.recon-table td:first-child code,.recon-table td:first-child small,.recon-table td:nth-child(2) strong,.recon-table td:nth-child(2) small,.recon-table td:nth-child(4) strong,.recon-table td:nth-child(4) small,.recon-table td:nth-child(5) small { display: block; }.recon-table td:first-child code { color: var(--violet); font-size: 10px; margin: 3px 0; }.recon-table td small { color: #718582; font-size: 9px; margin-top: 3px; }.recon-table td:nth-child(3) span,.recon-table td:nth-child(3) strong { display: block; font-size: 10px; }.recon-table td:nth-child(3) strong { color: var(--ink); margin-top: 3px; }.suggested-copy { color: var(--teal) !important; font-weight: 700; }.variance-value { color: #607875; font-size: 12px; }.variance-value.has-variance,#reviewSettlementVariance.has-variance { color: var(--coral); }.recon-status { border-radius: 20px; display: inline-flex; font-size: 9px; font-weight: 800; padding: 5px 8px; white-space: nowrap; }.recon-status.matched { background: var(--teal-pale); color: var(--teal); }.recon-status.matched_with_variance { background: var(--violet-pale); color: var(--violet); }.recon-status.unmatched { background: var(--amber-pale); color: #916413; }.recon-status.variance { background: var(--coral-pale); color: var(--coral); }.recon-status.ignored { background: #eef1f0; color: #687b78; }.recon-row-action { align-items: center; border: 0; border-radius: 8px; display: inline-flex; font-size: 9px; font-weight: 800; gap: 5px; min-height: 33px; padding: 6px 9px; }.recon-row-action.review { background: var(--teal-pale); color: var(--teal); }.recon-row-action.neutral { background: #eff3f1; color: #536d69; }.recon-muted { color: #7c8f8c; font-size: 9px; }
.recon-side-stack { display: flex; flex-direction: column; gap: 14px; }.recon-side-stack .content-card { padding: 17px; }.recon-awaiting .card-heading > span { align-items: center; background: var(--amber-pale); border-radius: 50%; color: #8b6318; display: flex; flex: 0 0 34px; font-size: 12px; font-weight: 800; height: 34px; justify-content: center; }.recon-awaiting-list { display: flex; flex-direction: column; }.recon-awaiting-list > div { align-items: center; border-bottom: 1px solid #e8eeeb; display: grid; gap: 2px 7px; grid-template-columns: 1fr auto; padding: 10px 0; }.recon-awaiting-list > div:last-child { border: 0; }.recon-awaiting-list strong,.recon-awaiting-list small { display: block; }.recon-awaiting-list strong { font-size: 11px; }.recon-awaiting-list small { color: #748885; font-size: 8px; margin-top: 2px; }.recon-awaiting-list b { font-size: 11px; }.recon-awaiting-list em { color: #8a641d; font-size: 8px; font-style: normal; grid-column: 1/-1; text-transform: capitalize; }.recon-awaiting-list em.variance { color: var(--coral); }.recon-all-clear { color: var(--teal); display: flex !important; gap: 8px !important; grid-template-columns: auto 1fr !important; }.recon-audit-list > div { align-items: flex-start; border-bottom: 1px solid #e8eeeb; display: flex; gap: 9px; padding: 10px 0; }.recon-audit-list > div:last-child { border: 0; }.recon-audit-list > div > i { color: var(--teal); }.recon-audit-list strong,.recon-audit-list small,.recon-audit-list em { display: block; }.recon-audit-list strong { font-size: 10px; }.recon-audit-list small { color: #637a77; font-size: 9px; line-height: 1.4; margin: 2px 0; }.recon-audit-list em { color: #889895; font-size: 8px; font-style: normal; }
.recon-modal .modal-content { border: 0; border-radius: 19px; box-shadow: 0 28px 75px rgba(12,42,47,.28); overflow: hidden; }.recon-modal .modal-header { align-items: flex-start; background: linear-gradient(120deg,#123f47,#19545b); border: 0; color: white; padding: 20px 22px; }.recon-modal .modal-header h2 { font-family: var(--heading); font-size: 20px; margin: 3px 0; }.recon-modal .modal-header p { color: #b7cbcc; font-size: 10px; margin: 0; }.recon-modal .modal-body { padding: 21px 22px; }.recon-modal .modal-footer { background: #f7f9f7; border-color: #e4ebe8; padding: 12px 22px; }.recon-modal label > span { color: #536d69; display: block; font-size: 10px; font-weight: 800; margin-bottom: 6px; text-transform: uppercase; }.recon-modal textarea { border: 1px solid #d9e4e0; border-radius: 10px; font-size: 12px; min-height: 75px; padding: 10px; resize: vertical; width: 100%; }.recon-file-drop { align-items: center; background: #f2f8f5; border: 1px dashed #a9cbc4; border-radius: 13px; cursor: pointer; display: flex; flex-direction: column; padding: 24px; text-align: center; }.recon-file-drop > i { color: var(--teal); font-size: 28px; }.recon-file-drop strong { font-size: 12px; margin-top: 6px; }.recon-file-drop small { color: #708481; font-size: 10px; }.recon-file-drop input { font-size: 10px; margin-top: 13px; max-width: 100%; }.recon-template-link { color: var(--teal); display: inline-block; font-size: 10px; font-weight: 800; margin-top: 12px; }.recon-review-summary { background: #eef7f4; border-radius: 11px; display: grid; gap: 10px; grid-template-columns: 1fr 1fr; margin-bottom: 15px; padding: 12px; }.recon-review-summary span,.recon-review-summary strong { display: block; }.recon-review-summary span { color: #607875; font-size: 9px; }.recon-review-summary strong { color: var(--ink); font-family: var(--heading); font-size: 16px; margin-top: 2px; }.recon-modal .modern-select { margin-bottom: 13px; }.recon-variance-confirm { align-items: flex-start; display: flex; gap: 8px; margin-top: 11px; }.recon-variance-confirm input { accent-color: var(--teal); height: 17px; width: 17px; }.recon-variance-confirm span { font-size: 10px !important; margin: 0 !important; text-transform: none !important; }.recon-review-warning { align-items: flex-start; background: #fff8ea; border-radius: 9px; color: #76591d; display: flex; font-size: 9px; gap: 7px; margin-top: 12px; padding: 9px; }.recon-ignore-form { border-top: 1px solid #e6ece9; padding: 10px 22px 14px; text-align: right; }.recon-ignore-form button { background: transparent; border: 0; color: var(--coral); font-size: 9px; font-weight: 800; }

@media (max-width: 1199px) { .recon-metrics { grid-template-columns: repeat(2,1fr); }.recon-filterbar { grid-template-columns: repeat(4,1fr); }.recon-reference { grid-column: span 2; }.recon-workspace { grid-template-columns: 1fr; }.recon-side-stack { display: grid; grid-template-columns: 1fr 1fr; } }
@media (max-width: 767px) { .recon-commandbar { align-items: stretch; flex-direction: column; }.recon-command-actions > * { flex: 1; }.recon-command-actions button { width: 100%; }.recon-filterbar { grid-template-columns: repeat(2,1fr); }.recon-filterbar > button { grid-column: span 2; }.recon-side-stack { grid-template-columns: 1fr; } }
@media (max-width: 430px) { .recon-metrics,.recon-filterbar { grid-template-columns: 1fr; }.recon-reference,.recon-filterbar > button { grid-column: 1; }.recon-command-actions { flex-direction: column; }.recon-metrics article { padding: 12px; } }

@media (max-width: 850px) {
    .login-body { padding: 0; }.login-shell { border-radius: 0; display: block; min-height: 100vh; }.login-story { min-height: 280px; padding: 28px 25px; }.story-copy { margin: 55px 0 0; }.story-copy h1 { font-size: 35px; margin-bottom: 12px; }.story-copy p { font-size: 10px; }.story-preview,.login-trust { display: none; }.login-form-side { padding: 38px 24px 55px; }.school-login-mark { display: none; }.demo-skip { bottom: 16px; }
}

@media (max-width: 991px) {
    .directory-quick-filters { align-items: stretch; flex-wrap: wrap; }.filter-title { flex-basis: 100%; }.filter-search-box { flex-basis: 100%; }.directory-quick-filters > label { flex: 1 1 30%; }.filter-result { border-left: 0; flex-direction: row; gap: 5px; min-width: auto; padding-left: 0; }.filter-result small { margin: 0; }
}

@media (max-width: 575px) {
    .directory-quick-filters > label { flex-basis: 100%; }.filter-result { flex: 1; justify-content: flex-start; }.clear-filters { margin-left: auto; }
}

/* Readability and accessible contrast layer */
html { font-size: 16px; }
body { background: #f4f7f5; color: var(--ink); font-size: 16px; line-height: 1.5; }
.page-wrap { max-width: 1600px; }
.welcome-row h1, .payment-heading h1 { font-size: clamp(29px, 2.35vw, 37px); line-height: 1.2; }
.welcome-row p, .payment-heading p { color: var(--ink-soft); font-size: 15px; }
.eyebrow, .section-kicker, .story-kicker { font-size: 10px; }
.outline-button, .primary-button, .secondary-button { font-size: 13px; min-height: 45px; }
.link-button { font-size: 12px; }

.brand-name { font-size: 22px; }
.brand-wrap small, .nav-label { font-size: 10px; }
.school-chip strong { font-size: 13px; }
.school-chip small { color: #b2c6c8; font-size: 11px; }
.main-nav a, .sidebar-bottom > a { color: #c5d4d5; font-size: 14px; min-height: 48px; }
.nav-count, .help-card span, .help-card button, .help-card .help-action { font-size: 11px; }
.help-card strong { font-size: 13px; }

.topbar-search input { font-size: 13px; min-height: 43px; }
.user-menu strong { font-size: 13px; }
.user-menu small { color: #64797b; font-size: 11px; }
.student-main h2, .student-identity h2 { font-size: 19px; }
.student-main p, .student-identity p, .student-switch-trigger small, .student-switch-menu small { font-size: 11px; }
.student-switch-trigger strong, .student-switch-menu strong { font-size: 13px; }

.year-explorer-label { color: #506b68; font-size: 9px; }
.year-explorer-trigger strong { font-size: 14px; }
.year-explorer-trigger small, .year-explorer-menu small { font-size: 11px; }
.year-explorer-menu strong { font-size: 13px; }

.status-card { min-height: 145px; }
.status-card > span, .status-card > small { color: #526b6c; font-size: 12px; }
.status-card > strong { font-size: 27px; line-height: 1.2; }
.status-badge, .txn-status, .recommended { font-size: 10px; }
.card-heading h2, .pay-card-head h2 { font-size: 21px; }
.card-heading p, .pay-card-head p { color: var(--ink-soft); font-size: 12px; }
.amount-orbit span { font-size: 10px; }
.amount-orbit strong { font-size: 21px; }
.fee-breakup-row, .fee-breakup-total, .payment-notice, .discount-note { font-size: 12px; }
.timeline-copy strong, .receipt-item strong, .support-card strong { font-size: 13px; }
.timeline-copy span, .receipt-item span, .support-card span { color: var(--ink-soft); font-size: 11px; }
.timeline-copy small, .receipt-item small, .support-card small, .legend { font-size: 10px; }
.timeline-amount, .receipt-amount { font-size: 13px; }

.payment-option > strong { font-size: 17px; }
.payment-option div strong { font-size: 13px; }
.payment-option small { color: #5d7374; font-size: 11px; }
.recommended { font-size: 9px; }
.allocation-note { color: #516d6b; font-size: 11px; }
.payment-method strong { font-size: 13px; }
.payment-method small { color: #627778; font-size: 10px; }
.gateway-row, .gateway-row strong { font-size: 10px; }
.summary-top span { font-size: 10px; }
.summary-top small, .summary-lines > div, .summary-total span { font-size: 12px; }
.summary-plan > div { color: #b6c7c9; display: flex; font-size: 12px; justify-content: space-between; padding: 7px 0; }.summary-plan > div strong { color: white; }
.summary-total strong { font-size: 27px; }
.gateway-fee { font-size: 10px; }
.terms-copy, .trust-row span { font-size: 9px; }
.pay-button { font-size: 14px; }

.admin-filterbar > div { color: #526c6d; font-size: 11px; }
.metric-top span { color: #526b6c; font-size: 12px; }
.metric-card > strong { font-size: 27px; }
.metric-card > small, .chart-total span, .chart-total small { font-size: 10px; }
.chart-total strong { font-size: 27px; }
.bar-group small, .chart-insight span { font-size: 10px; }
.chart-insight strong, .attention-item strong { font-size: 12px; }
.chart-insight button, .chart-insight > a { font-size: 11px; }
.attention-item small { color: #5c7373; font-size: 10px; }
.item-count { font-size: 14px; }
.donut span, .donut-legend > div, .fee-cost { font-size: 10px; }
.donut strong { font-size: 18px; }

.table thead th { color: #536a6b; font-size: 10px; }
.table tbody td { color: #425e5f; font-size: 12px; vertical-align: middle; }
.table tbody td strong { font-size: 12px; }
.health-cell strong, .student-cell > span { font-size: 10px; }
.student-cell small, .transaction-table code { font-size: 10px; }
.transaction-actions > button:first-child, .edit-student-action { font-size: 11px; }
.table tbody .edit-student-action { color: var(--violet); }

.admin-form label, .form-grid label, .filter-search-box > span, .directory-quick-filters > label > span { color: #536c69; font-size: 10px; }
.admin-form input, .admin-form select, .admin-form textarea,
.form-grid input, .form-grid select, .form-grid textarea { font-size: 13px; min-height: 44px; }
.modern-select-trigger { font-size: 13px; min-height: 44px; }
.modern-select.compact .modern-select-trigger { font-size: 11px; min-height: 36px; }
.modern-select-chevron { font-size: 10px; }
.modern-select-option { font-size: 12px; min-height: 40px; }
.filter-search-box input { font-size: 13px; }
.filter-result strong { font-size: 19px; }
.filter-result small, .clear-filters { font-size: 10px; }
.master-link-note { color: #506c68; font-size: 11px; }
.master-list strong, .runtime-list span strong { font-size: 12px; }
.master-list small, .runtime-list span small { color: #5e7472; font-size: 10px; }

.structure-card h2 { font-size: 17px; }
.structure-card p, .structure-meta span { color: #5a706f; font-size: 11px; }
.structure-card > strong { font-size: 25px; }
.summary-strip > div span { color: #536d69; font-size: 11px; }
.summary-strip > div strong { font-size: 18px; }
.report-card h2 { font-size: 15px; }
.report-card p, .report-card a, .report-summary span { color: #58716e; font-size: 11px; }
.report-card a { color: var(--teal); }
.report-summary strong { font-size: 21px; }
.report-card > em { font-size: 12px; }
.report-filter-grid label > span,.report-result-summary small,.report-table td small,.report-filter-actions > span,.report-filter-actions > a { font-size: 12px; }
.report-filter-grid input,.report-filter-grid select { font-size: 13px; }
.report-table td,.report-table th { font-size: 12px; }
.automation-list strong { font-size: 13px; }
.automation-list small { color: #5f7573; font-size: 10px; }
.toggle-pill { font-size: 10px; }

.student-modal .modal-header h2 { font-size: 22px; }
.student-modal .modal-header p { color: #d0dfe0; font-size: 11px; }
.success-card > p { font-size: 13px; }
.success-details > div { font-size: 12px; }
.login-brand small, .preview-head, .preview-stats span, .login-trust { font-size: 10px; }
.story-copy p { color: #d1dddd; font-size: 15px; }
.preview-amount span { font-size: 11px; }
.preview-amount strong { font-size: 24px; }
.preview-stats strong { font-size: 14px; }
.login-form-wrap > p { color: #586f70; font-size: 13px; }
.login-form label { font-size: 11px; }
.mobile-field span, .mobile-field input { font-size: 13px; }
.login-divider, .gr-login small, .privacy-note, .login-help, .demo-skip { font-size: 10px !important; }
.gr-login strong { font-size: 12px; }
.app-footer { color: #647978; font-size: 10px; }

@media (max-width: 767px) {
    body { font-size: 15px; }
    .welcome-row h1, .payment-heading h1 { font-size: 27px; }
    .welcome-row p, .payment-heading p { font-size: 14px; }
    .status-card { min-height: 132px; }
    .status-card > strong { font-size: 23px; }
    .table thead th { font-size: 9px; }
    .table tbody td { font-size: 11px; }
    .story-copy p { font-size: 13px; }
}

/* Fee structure builder */
.form-grid.cols-2 { grid-template-columns: repeat(2,1fr); }
.structure-editor { padding: 24px; }
.builder-section { background: #f8faf8; border: 1px solid #dfe9e5; border-radius: 16px; margin-top: 16px; padding: 19px; }
.builder-title { align-items: center; display: flex; gap: 11px; margin-bottom: 17px; }
.builder-title > span { align-items: center; background: var(--teal); border-radius: 9px; color: white; display: flex; flex: 0 0 32px; font-size: 13px; font-weight: 800; height: 32px; justify-content: center; }
.builder-title strong,.builder-title small { display: block; }.builder-title strong { font-family: var(--heading); font-size: 15px; }.builder-title small { color: var(--ink-soft); font-size: 11px; margin-top: 2px; }
.builder-columns { display: grid; gap: 16px; grid-template-columns: .9fr 1.1fr; }
.component-amount-list { display: flex; flex-direction: column; gap: 8px; }
.component-amount-list > label { align-items: center; background: white; border: 1px solid #e0e8e5; border-radius: 11px; display: flex; justify-content: space-between; margin: 0; padding: 9px 10px 9px 13px; }
.component-amount-list b,.component-amount-list small { display: block; }.component-amount-list b { font-size: 12px; }.component-amount-list small { color: #667c79; font-size: 10px; margin-top: 2px; text-transform: none; }
.money-input { align-items: center; display: flex; position: relative; }.money-input > i { color: #6b817e; font-size: 12px; font-style: normal; left: 10px; position: absolute; z-index: 1; }.admin-form .money-input input { min-width: 115px; padding-left: 25px; width: 135px; }
.schedule-builder { display: flex; flex-direction: column; gap: 8px; }.schedule-row { display: grid; gap: 7px; grid-template-columns: 1fr 140px 145px 34px; }.schedule-row > input,.schedule-row .money-input input { margin: 0; min-height: 42px; width: 100%; }
.remove-schedule { align-items: center; background: var(--coral-pale); border: 0; border-radius: 9px; color: var(--coral); display: flex; justify-content: center; }
.schedule-tools { display: flex; gap: 8px; margin-top: 11px; }.schedule-tools button { background: white; border: 1px dashed #b9d2cc; border-radius: 9px; color: var(--teal); font-size: 11px; font-weight: 700; min-height: 38px; padding: 8px 11px; }
.builder-total { align-items: center; border-top: 1px solid #dce6e2; display: flex; justify-content: space-between; margin-top: 14px; padding-top: 13px; }.builder-total span { color: #59706d; font-size: 11px; font-weight: 700; }.builder-total strong { font-family: var(--heading); font-size: 19px; }
.total-validation { align-items: center; background: var(--amber-pale); border-radius: 9px; color: #855d14; display: flex; font-size: 11px; gap: 7px; margin-top: 10px; padding: 9px 10px; }.total-validation.valid { background: var(--teal-pale); color: var(--teal); }.total-validation.invalid { background: var(--coral-pale); color: #a84d3e; }
.annual-offer-section { background: linear-gradient(105deg,#eef8f5,#f8faf8); }.builder-publish { align-items: center; background: linear-gradient(120deg,#123d45,#174f58); border-radius: 15px; color: white; display: flex; justify-content: space-between; margin-top: 16px; padding: 16px 18px; }.builder-publish > div { align-items: center; display: flex; gap: 10px; }.builder-publish > div > i { color: #55d4c1; font-size: 23px; }.builder-publish strong,.builder-publish small { display: block; }.builder-publish strong { font-size: 12px; }.builder-publish small { color: #aec4c5; font-size: 10px; }.builder-publish button:disabled { cursor: not-allowed; opacity: .45; }
.late-fee-section { background: linear-gradient(110deg,#fff9ec,#fffdf8); border-color: #eadfbe; }.late-fee-section .builder-title { flex-wrap: wrap; }.late-fee-section .builder-title > div { flex: 1; }.late-fee-switch { align-items: center; background: white; border: 1px solid #e1d5b5; border-radius: 20px; cursor: pointer; display: flex !important; gap: 7px; margin: 0 !important; padding: 7px 11px; }.late-fee-switch input { accent-color: var(--teal); min-height: 17px !important; width: 17px !important; }.late-fee-switch span { color: var(--ink) !important; font-size: 11px !important; margin: 0 !important; text-transform: none !important; }.late-fee-fields { transition: opacity .2s; }.late-fee-section.rule-disabled .late-fee-fields { opacity: .55; }.suffix-input { align-items: center; display: flex; position: relative; }.suffix-input input { padding-right: 48px; }.suffix-input i { color: #6a7f7c; font-size: 10px; font-style: normal; position: absolute; right: 11px; }.late-fee-preview { align-items: center; background: white; border: 1px solid #e6dcc1; border-radius: 11px; display: grid; gap: 2px 10px; grid-template-columns: auto 1fr; margin: 4px 0 12px; padding: 11px 13px; }.late-fee-preview > span { color: #8a681f; font-size: 10px; font-weight: 800; grid-row: span 2; text-transform: uppercase; }.late-fee-preview > span i { display: block; font-size: 18px; margin-bottom: 2px; }.late-fee-preview strong { color: #5d471a; font-size: 12px; }.late-fee-preview small { color: #7b725e; font-size: 10px; }
.structure-card.disabled { background: #f4f6f4; filter: saturate(.55); }.schedule-preview { display: grid; gap: 5px; grid-template-columns: repeat(2,1fr); margin-top: 14px; }.schedule-preview span { background: #f4f8f6; border-radius: 8px; padding: 7px 8px; }.schedule-preview small,.schedule-preview b { display: block; }.schedule-preview small { color: #637976; font-size: 9px; }.schedule-preview b { font-size: 11px; margin-top: 2px; }
.structure-card > div:first-child { gap: 7px; }.structure-card > div:first-child > i { margin-left: auto; }.late-rule-badge { border-radius: 20px; font-size: 9px; font-weight: 700; padding: 4px 7px; }.late-rule-badge i { margin-right: 4px; }.late-rule-badge.enabled { background: var(--amber-pale); color: #8b6114; }.late-rule-badge.disabled { background: #eef2f0; color: #6e807d; }
.structure-actions { border-top: 1px solid #e7ecea; display: flex; gap: 7px; margin-top: 14px; padding-top: 13px; }.structure-actions > * { flex: 1; }.structure-actions a,.structure-actions button { min-height: 38px; width: 100%; }.disable-action { background: var(--coral-pale); border: 1px solid #f2d7d1; border-radius: 10px; color: var(--coral); font-size: 11px; font-weight: 700; }
.component-master-list > div { align-items: center; border-bottom: 1px solid #e8eeeb; display: flex; gap: 10px; padding: 12px 0; }.component-master-list > div:last-child { border: 0; }.component-icon { align-items: center; background: var(--teal-pale); border-radius: 9px; color: var(--teal); display: flex; flex: 0 0 36px; height: 36px; justify-content: center; }.component-master-list > div > div { flex: 1; }.component-master-list strong,.component-master-list small { display: block; }.component-master-list strong { font-size: 12px; }.component-master-list small { color: #617774; font-size: 10px; margin-top: 2px; }.component-master-list a,.component-master-list form button { background: white; border: 1px solid var(--line); border-radius: 8px; color: var(--violet); display: inline-flex; padding: 7px 9px; }.component-editor { background: #f7f9f7; border-radius: 14px; padding: 17px; }.component-editor h3 { font-family: var(--heading); font-size: 16px; margin-bottom: 15px; }.check-field { align-items: center; display: flex !important; gap: 8px; }.check-field input { min-height: 18px !important; width: 18px !important; }.check-field span { margin: 0 !important; text-transform: none !important; }
@media (max-width: 1199px) { .builder-columns { grid-template-columns: 1fr; } }
@media (max-width: 767px) { .form-grid.cols-2 { grid-template-columns: 1fr; }.structure-editor { padding: 18px; }.schedule-row { grid-template-columns: 1fr 1fr 34px; }.schedule-row > input:first-child { grid-column: 1 / -1; }.schedule-row .money-input { min-width: 0; }.schedule-tools { flex-direction: column; }.builder-publish { align-items: stretch; flex-direction: column; gap: 14px; }.builder-publish button { width: 100%; } }

/* Reusable divisions and year-scoped structure browsing */
.structure-year-toolbar { align-items: flex-end; gap: 14px; }.structure-year-toolbar > form { align-items: stretch; background: white; border: 1px solid #d8e5e1; border-radius: 14px; box-shadow: 0 6px 18px rgba(20,52,58,.06); display: block; min-width: 320px; padding: 12px 14px 14px; }.structure-year-toolbar label { display: block; margin: 0; width: 100%; }.structure-year-toolbar label > span { color: #536c69; display: block; font-size: 10px; font-weight: 800; letter-spacing: .65px; margin: 0; padding: 0 2px 8px; text-transform: uppercase; }.structure-year-toolbar .modern-select { width: 100%; }.structure-year-toolbar .modern-select-trigger { background: linear-gradient(180deg,#fff,#f8fbf9); border: 1px solid #cbdcd7; border-radius: 10px; color: var(--ink); font-size: 13px; min-height: 46px; padding: 8px 9px 8px 13px; width: 100%; }.structure-year-toolbar .modern-select-trigger:hover,.structure-year-toolbar .modern-select.open .modern-select-trigger { background: white; border-color: var(--teal); }.structure-year-toolbar .modern-select-value { font-weight: 700; overflow: visible; padding-right: 10px; white-space: nowrap; }.structure-year-toolbar .modern-select-chevron { background: var(--teal-pale); color: var(--teal); flex-basis: 29px; height: 29px; }.empty-structure-year { align-items: center; display: flex; gap: 14px; grid-column: 1 / -1; min-height: 120px; }.empty-structure-year > i { color: var(--teal); font-size: 28px; }.empty-structure-year strong,.empty-structure-year span { display: block; }.empty-structure-year strong { font-size: 15px; }.empty-structure-year span { color: var(--ink-soft); font-size: 11px; margin-top: 3px; }
.division-master-card { padding: 22px; }.division-master-list { display: flex; flex-direction: column; }.division-master-item { align-items: center; border-bottom: 1px solid #e7eeeb; display: flex; gap: 11px; padding: 13px 0; }.division-master-item:last-child { border: 0; }.division-letter { align-items: center; background: var(--teal-pale); border-radius: 10px; color: var(--teal); display: flex; flex: 0 0 39px; font-family: var(--heading); font-size: 15px; font-weight: 800; height: 39px; justify-content: center; }.division-master-item > div { flex: 1; }.division-master-item > div > strong { display: block; font-size: 13px; }.scope-tags { display: flex; flex-wrap: wrap; gap: 4px; margin-top: 5px; }.scope-tags small { background: #eff4f2; border-radius: 20px; color: #526b68; font-size: 9px; padding: 3px 7px; }.scope-tags small.shift { background: var(--violet-pale); color: var(--violet); }.division-master-item > a,.division-master-item > form button { align-items: center; background: white; border: 1px solid var(--line); border-radius: 8px; color: var(--violet); display: flex; height: 34px; justify-content: center; width: 34px; }.division-editor { background: #f6f9f7; border-radius: 15px; padding: 18px; }.division-editor h3 { font-family: var(--heading); font-size: 17px; margin-bottom: 16px; }.division-editor fieldset { border: 0; margin: 0 0 15px; padding: 0; }.division-editor legend { color: #536c69; font-size: 10px; font-weight: 700; margin-bottom: 7px; text-transform: uppercase; }.multi-check-grid { display: grid; gap: 7px; grid-template-columns: repeat(2,1fr); }.multi-check-grid label { align-items: center; background: white; border: 1px solid #dce6e2; border-radius: 9px; cursor: pointer; display: flex; gap: 8px; margin: 0; min-height: 41px; padding: 8px 10px; }.multi-check-grid input { accent-color: var(--teal); min-height: 17px !important; width: 17px !important; }.multi-check-grid label span { color: var(--ink); font-size: 11px; font-weight: 600; margin: 0; text-transform: none; }.division-editor-actions { display: flex; gap: 8px; }.division-editor-actions > * { flex: 1; }
@media (max-width: 767px) { .structure-year-toolbar { align-items: stretch; }.structure-year-toolbar > form { min-width: 0; padding: 12px; width: 100%; }.structure-year-toolbar .modern-select-trigger { font-size: 13px; }.division-master-card { padding: 18px; }.division-master-item { align-items: flex-start; flex-wrap: wrap; }.division-master-item > div { min-width: calc(100% - 55px); }.multi-check-grid { grid-template-columns: 1fr; } }

/* Live finance command centre */
.admin-filterbar { gap: 10px; padding: 13px; position: relative; z-index: 5; }
.admin-filterbar > label { flex: 1 1 155px; margin: 0; min-width: 145px; }
.admin-filterbar > label > span { align-items: center; color: #536d6a; display: flex; font-size: 9px; font-weight: 800; gap: 6px; letter-spacing: .55px; margin: 0 2px 6px; text-transform: uppercase; }
.admin-filterbar > label > span i { color: var(--teal); font-size: 11px; }
.admin-filterbar > .dashboard-multiselect { border: 0; display: block; flex: 1 1 155px; min-width: 145px; padding-left: 0; position: relative; }
.dashboard-multiselect > span { align-items: center; color: #536d6a; display: flex; font-size: 9px; font-weight: 800; gap: 6px; letter-spacing: .55px; margin: 0 2px 6px; text-transform: uppercase; }.dashboard-multiselect > span i { color: var(--teal); font-size: 11px; }
.dashboard-multiselect-trigger { align-items: center; background: #f7faf8; border: 1px solid #d8e4e0; border-radius: 10px; color: var(--ink); display: flex; justify-content: space-between; min-height: 43px; padding: 7px 9px 7px 12px; width: 100%; }.dashboard-multiselect-trigger b { font-size: 12px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }.dashboard-multiselect-trigger > i { align-items: center; background: var(--teal-pale); border-radius: 8px; color: var(--teal); display: flex; flex: 0 0 28px; font-size: 10px; height: 28px; justify-content: center; transition: transform .2s; }.dashboard-multiselect.open .dashboard-multiselect-trigger { background: white; border-color: var(--teal); box-shadow: 0 0 0 3px rgba(11,143,135,.08); }.dashboard-multiselect.open .dashboard-multiselect-trigger > i { transform: rotate(180deg); }
.dashboard-multiselect-menu { background: white; border: 1px solid #dce6e2; border-radius: 13px; box-shadow: 0 18px 45px rgba(19,54,59,.18); display: none; left: 0; min-width: 230px; padding: 8px; position: absolute; right: 0; top: calc(100% + 7px); z-index: 60; }.dashboard-multiselect.open .dashboard-multiselect-menu { display: block; }
.multi-menu-head { align-items: center; display: flex; justify-content: space-between; padding: 5px 5px 8px; }.multi-menu-head strong { color: var(--ink); font-size: 11px; }.multi-menu-head button { background: transparent; border: 0; color: var(--coral); font-size: 9px; font-weight: 700; }
.dashboard-multiselect-menu > label { align-items: center; border-radius: 8px; color: #4f6866; cursor: pointer; display: flex; font-size: 11px; gap: 9px; margin: 1px 0; min-height: 38px; padding: 7px 9px; }.dashboard-multiselect-menu > label:hover { background: #f1f8f5; }.dashboard-multiselect-menu input { accent-color: var(--teal); height: 16px; width: 16px; }.dashboard-multiselect-menu label span { flex: 1; }.dashboard-multiselect-menu label > i { color: var(--teal); opacity: 0; }.dashboard-multiselect-menu label:has(input:checked) { background: var(--teal-pale); color: var(--teal); font-weight: 700; }.dashboard-multiselect-menu label:has(input:checked) > i { opacity: 1; }
.multi-menu-apply { background: var(--teal); border: 0; border-radius: 9px; color: white; font-size: 10px; font-weight: 800; margin-top: 7px; min-height: 38px; width: 100%; }.multi-menu-apply:hover { background: #08786f; }
.admin-filterbar .modern-select-trigger { background: #f7faf8; border-color: #d8e4e0; min-height: 43px; padding: 7px 8px 7px 12px; }
.admin-filterbar .modern-select-value { color: var(--ink); font-size: 12px; font-weight: 700; }
.admin-filterbar .filter-update { align-self: flex-end; flex: 0 0 auto; gap: 7px; margin: 0 2px 8px auto; padding-left: 8px; }
.admin-filterbar .filter-update span:not(.live-dot) { color: #607774; font-size: 10px; }
.admin-filterbar .filter-update strong { color: var(--ink); font-size: 10px; }
.dashboard-filter-reset { align-items: center; align-self: flex-end; color: var(--coral); display: flex; font-size: 10px; font-weight: 700; gap: 5px; margin-bottom: 13px; padding: 5px; }
.dashboard-empty { align-items: center; background: #fff9eb; border: 1px solid #f0deb1; border-radius: 13px; color: #725719; display: flex; gap: 12px; margin-bottom: 16px; padding: 13px 16px; }
.dashboard-empty > i { font-size: 21px; }.dashboard-empty strong,.dashboard-empty span { display: block; }.dashboard-empty strong { font-size: 13px; }.dashboard-empty span { font-size: 11px; margin-top: 2px; }
.metric-card { overflow: hidden; }.metric-top i { font-size: 16px; }.metric-card > small { color: currentColor; font-weight: 700; }
.detail-surface { cursor: pointer; transition: border-color .18s,box-shadow .18s,transform .18s; }.detail-surface:hover { border-color: rgba(11,143,135,.42); box-shadow: 0 9px 24px rgba(18,60,65,.09); }.detail-surface:focus-visible { outline: 3px solid rgba(11,143,135,.2); outline-offset: 2px; }.metric-card.detail-surface:hover { transform: translateY(-2px); }.detail-affordance { bottom: 12px; color: currentColor; font-size: 8px; font-style: normal; font-weight: 800; opacity: .82; position: absolute; right: 17px; }.detail-affordance i { margin-left: 3px; }.finance-pulse .detail-surface:hover { background: rgba(255,255,255,.055); box-shadow: none; }.waterfall-list .detail-surface { border-radius: 8px; padding: 3px; }.forecast-grid .detail-surface:hover,.risk-callout.detail-surface:hover,.ageing-list .detail-surface:hover { transform: translateY(-1px); }
.finance-pulse { background: linear-gradient(118deg,#143f47,#174d52); border: 1px solid #285960; border-radius: 17px; box-shadow: 0 12px 28px rgba(17,58,66,.12); color: white; display: grid; grid-template-columns: repeat(5,1fr); margin: 16px 0 3px; overflow: hidden; }
.finance-pulse > div { min-width: 0; padding: 16px 18px; }.finance-pulse > div + div { border-left: 1px solid rgba(255,255,255,.11); }
.finance-pulse span,.finance-pulse strong,.finance-pulse small { display: block; }.finance-pulse span { color: #a9c2c3; font-size: 9px; font-weight: 700; text-transform: uppercase; }.finance-pulse strong { color: #70dfcc; font-family: var(--heading); font-size: 20px; margin: 4px 0 2px; }.finance-pulse small { color: #b8cbcc; font-size: 9px; }
.collection-card { min-height: 455px; }.bar-chart { gap: 8px; padding-left: 150px; }.bar-group { max-width: 38px; }.bars { gap: 2px; }.bars span[style*="height:0"] { min-height: 0; }
.ageing-card,.collection-split-card,.grade-table-card { min-height: 342px; }
.ageing-card .card-heading > strong { color: var(--coral); font-family: var(--heading); font-size: 16px; }
.ageing-list { display: flex; flex-direction: column; gap: 15px; margin-top: 20px; }.ageing-list > div > span { align-items: center; display: flex; justify-content: space-between; margin-bottom: 6px; }.ageing-list strong { color: #486261; font-size: 11px; }.ageing-list small { color: var(--ink); font-size: 11px; font-weight: 700; }.ageing-list i { background: #edf2ef; border-radius: 8px; display: block; height: 7px; overflow: hidden; }.ageing-list b { background: linear-gradient(90deg,#ed7c64,#f2aa67); border-radius: 8px; display: block; height: 100%; min-width: 2px; }
.finance-note { align-items: flex-start; background: #f5f8f6; border-radius: 9px; color: #5b7471; display: flex; font-size: 9px; gap: 7px; line-height: 1.5; margin-top: 20px; padding: 9px 10px; }.finance-note i { color: var(--teal); }
.grade-table-card td a { color: inherit; }.grade-table-card td a strong,.grade-table-card td a small { display: block; }.grade-table-card td a small { color: #718683; font-size: 9px; margin-top: 2px; }.grade-table-card .table > :not(caption) > * > * { padding-left: 5px; padding-right: 5px; }
.transaction-table td:nth-child(2) small { color: #718582; display: block; font-size: 9px; margin-top: 5px; }
.txn-status.pending { background: var(--amber-pale); color: #916512; }
.finance-decision-row { margin-top: 13px !important; }
.waterfall-card,.forecast-card { min-height: 420px; }.as-of-chip { align-items: center; background: #eef6f3; border-radius: 20px; color: #54706d; display: flex; font-size: 9px; font-weight: 700; gap: 5px; padding: 6px 9px; white-space: nowrap; }
.waterfall-list { display: flex; flex-direction: column; gap: 9px; }.waterfall-list > div { display: grid; gap: 3px 12px; grid-template-columns: 1fr auto; position: relative; }.waterfall-list > div > span { align-items: center; display: flex; gap: 9px; }.waterfall-list > div > span > i { align-items: center; background: #edf5f2; border-radius: 8px; color: var(--teal); display: flex; flex: 0 0 32px; height: 32px; justify-content: center; }.waterfall-list b,.waterfall-list small { display: block; }.waterfall-list b { color: #3e5958; font-size: 11px; }.waterfall-list small { color: #718481; font-size: 9px; font-weight: 500; margin-top: 1px; }.waterfall-list strong { align-self: center; color: var(--ink); font-family: var(--heading); font-size: 13px; }.waterfall-list em { background: #dfe9e5; border-radius: 4px; display: block; grid-column: 1/-1; height: 4px; min-width: 2px; }.waterfall-list .deduction > span > i { background: var(--coral-pale); color: var(--coral); }.waterfall-list .deduction strong { color: var(--coral); }.waterfall-list .deduction em { background: #efaa9c; }.waterfall-list .net > span > i { background: var(--violet-pale); color: var(--violet); }.waterfall-list .net em { background: var(--violet); }.waterfall-list .collected em { background: var(--teal); }
.waterfall-result { align-items: center; background: linear-gradient(105deg,#153f47,#19535a); border-radius: 12px; color: white; display: grid; grid-template-columns: 1fr auto; margin-top: 14px; padding: 12px 14px; }.waterfall-result span { color: #bdd0d1; font-size: 10px; font-weight: 700; }.waterfall-result strong { color: #70dfcc; font-family: var(--heading); font-size: 19px; grid-row: span 2; }.waterfall-result small { color: #91aaac; font-size: 9px; margin-top: 2px; }
.forecast-grid { display: grid; gap: 10px; grid-template-columns: repeat(2,1fr); }.forecast-grid > div { background: #f5f8f6; border: 1px solid #e4ebe8; border-radius: 12px; padding: 13px; }.forecast-grid span,.forecast-grid strong,.forecast-grid small { display: block; }.forecast-grid span { color: #607874; font-size: 9px; font-weight: 800; text-transform: uppercase; }.forecast-grid strong { color: var(--ink); font-family: var(--heading); font-size: 19px; margin: 5px 0 2px; }.forecast-grid small { color: #728683; font-size: 9px; }.risk-callout { align-items: center; background: #fff3ef; border: 1px solid #f3d8d0; border-radius: 12px; display: flex; margin-top: 12px; padding: 12px; }.risk-callout > span { align-items: center; display: grid; flex: 1; gap: 1px 8px; grid-template-columns: 28px 1fr; }.risk-callout i { align-items: center; color: var(--coral); display: flex; font-size: 18px; grid-row: span 2; }.risk-callout b { color: #7d4439; font-size: 11px; }.risk-callout small { color: #8b655d; font-size: 9px; }.risk-callout > strong { color: var(--coral); font-family: var(--heading); font-size: 16px; }.forecast-note { color: #5c7571; font-size: 9px; margin-top: 12px; }.forecast-note i { color: var(--teal); margin-right: 5px; }
.component-health-card,.control-tower-card { min-height: 390px; }.component-health-card td:first-child strong,.component-health-card td:first-child small { display: block; }.component-health-card td:first-child small { color: var(--coral); font-size: 8px; margin-top: 2px; }.component-warning { background: #fff8ed; }.component-rate { align-items: center; display: flex; gap: 7px; }.component-rate > span { background: #e6edeb; border-radius: 5px; height: 6px; overflow: hidden; width: 65px; }.component-rate i { background: var(--teal); border-radius: 5px; display: block; height: 100%; }.component-rate b { color: #49615f; font-size: 10px; }
.control-health { border-radius: 20px; font-size: 9px; font-weight: 800; padding: 6px 9px; }.control-health.healthy { background: var(--teal-pale); color: var(--teal); }.control-health.attention { background: var(--amber-pale); color: #8a6115; }
.operations-grid { display: grid; gap: 8px; grid-template-columns: repeat(2,1fr); }.operations-grid > div,.operations-grid > a { align-items: flex-start; background: #f6f8f6; border: 1px solid transparent; border-radius: 11px; color: inherit; display: flex; gap: 9px; min-width: 0; padding: 11px; transition: .18s; }.operations-grid > a:hover { border-color: rgba(11,143,135,.35); box-shadow: 0 7px 18px rgba(18,60,65,.07); }.operations-grid > div > i,.operations-grid > a > i { align-items: center; background: white; border-radius: 8px; color: var(--teal); display: flex; flex: 0 0 29px; height: 29px; justify-content: center; }.operations-grid span { min-width: 0; }.operations-grid span,.operations-grid strong,.operations-grid small { display: block; }.operations-grid span { color: #617875; font-size: 9px; }.operations-grid strong { color: var(--ink); font-family: var(--heading); font-size: 14px; margin: 2px 0; }.operations-grid small { color: #7b8d8b; font-size: 8px; line-height: 1.35; }
.accounting-ready { background: linear-gradient(110deg,#eef8f5,#f5f8f5); border: 1px solid #dce9e5; border-radius: 12px; margin-top: 11px; padding: 11px 12px; }.accounting-ready > div { align-items: center; display: flex; gap: 10px; }.accounting-ready > div > span { align-items: center; display: grid; flex: 1; gap: 1px 8px; grid-template-columns: 28px 1fr; }.accounting-ready i { color: var(--teal); font-size: 17px; grid-row: span 2; }.accounting-ready b,.accounting-ready small { display: block; }.accounting-ready b { color: var(--ink); font-size: 10px; }.accounting-ready small { color: #637b77; font-size: 8px; }.accounting-ready > div > strong { color: var(--coral); font-size: 9px; }.accounting-ready > a { border-top: 1px solid #dbe7e3; color: var(--teal); display: block; font-size: 9px; font-weight: 800; margin-top: 9px; padding-top: 8px; text-align: right; }
.finance-detail-modal .modal-dialog { max-width: 1120px; }.finance-detail-modal .modal-content { background: #fbfcfa; border: 0; border-radius: 21px; box-shadow: 0 30px 80px rgba(12,42,47,.3); overflow: hidden; }.finance-detail-modal .modal-header { align-items: flex-start; background: linear-gradient(120deg,#123d45,#174d55); border: 0; color: white; padding: 21px 24px; }.finance-detail-modal .modal-header .section-kicker { color: #5bd6c3; }.finance-detail-modal .modal-header h2 { font-family: var(--heading); font-size: 21px; margin: 3px 0; }.finance-detail-modal .modal-header p { color: #b7cbcd; font-size: 10px; margin: 0; }.finance-detail-modal .modal-body { padding: 22px 24px; }.finance-detail-modal .modal-footer { align-items: center; background: white; border-color: #e4ebe8; display: flex; justify-content: space-between; padding: 13px 24px; }.finance-detail-modal .modal-footer > span { color: #617b77; font-size: 9px; }.finance-detail-modal .modal-footer > span i { color: var(--teal); margin-right: 4px; }.finance-detail-modal .outline-button { min-height: 38px; padding: 8px 16px; }
.modal-header .modal-close { margin-left: auto; }
.detail-summary { align-items: center; background: linear-gradient(110deg,#eef8f5,#f6f8f5); border: 1px solid #dce9e5; border-radius: 12px; display: grid; grid-template-columns: 1fr auto; margin-bottom: 15px; padding: 12px 14px; }.detail-summary span { color: #58716e; font-size: 10px; font-weight: 800; text-transform: uppercase; }.detail-summary strong { color: var(--teal); font-family: var(--heading); font-size: 20px; grid-row: span 2; }.detail-summary small { color: #708481; font-size: 9px; margin-top: 2px; }.detail-table { margin: 0; min-width: 760px; }.detail-table td strong,.detail-table td small { display: block; }.detail-table td small { color: #758986; font-size: 9px; margin-top: 2px; }.detail-empty { color: #738684 !important; padding: 28px !important; text-align: center; }.detail-footer-action { border-top: 1px solid #e5ece9; margin-top: 12px; padding-top: 11px; text-align: right; }.detail-footer-action a { color: var(--teal); font-size: 10px; font-weight: 800; }
.transaction-filterbar { align-items: end; background: linear-gradient(110deg,#eef8f5,#f8faf7); border: 1px solid #d9e7e2; border-radius: 16px; display: grid; gap: 11px; grid-template-columns: repeat(6,minmax(120px,1fr)); margin-bottom: 17px; padding: 15px; position: relative; z-index: 4; }.transaction-filter-heading { align-self: center; }.transaction-filter-heading .section-kicker { display: block; margin-bottom: 3px; }.transaction-filter-heading strong { color: var(--ink); display: block; font-family: var(--heading); font-size: 14px; }.transaction-filterbar > label { margin: 0; min-width: 0; }.transaction-filterbar > label > span { color: #536c69; display: block; font-size: 9px; font-weight: 800; letter-spacing: .4px; margin: 0 2px 6px; text-transform: uppercase; }.transaction-filterbar input[type="date"] { background: white; border: 1px solid #d8e3df; border-radius: 10px; color: var(--ink); font-size: 11px; min-height: 43px; padding: 8px 10px; width: 100%; }.transaction-filterbar .modern-select-trigger { background: white; border-color: #d8e3df; min-height: 43px; padding: 7px 8px 7px 11px; }.transaction-filterbar .modern-select-value { font-size: 11px; font-weight: 700; }.transaction-student-filter,.transaction-reference-filter { grid-column: span 2; }.transaction-reference-filter > div { align-items: center; background: white; border: 1px solid #d8e3df; border-radius: 10px; display: flex; min-height: 43px; }.transaction-reference-filter > div:focus-within,.transaction-filterbar input[type="date"]:focus { border-color: var(--teal); box-shadow: 0 0 0 3px rgba(11,143,135,.08); outline: 0; }.transaction-reference-filter i { color: #80938f; margin-left: 11px; }.transaction-reference-filter input { background: transparent; border: 0; color: var(--ink); flex: 1; font-size: 11px; min-width: 0; outline: 0; padding: 9px; }.transaction-filter-actions { align-items: center; display: flex; gap: 9px; }.transaction-filter-actions .primary-button { border: 0; font-size: 10px; min-height: 43px; padding: 9px 12px; white-space: nowrap; }.transaction-filter-actions > a { color: var(--coral); font-size: 9px; font-weight: 800; white-space: nowrap; }.transaction-filter-result { align-items: center; align-self: stretch; background: white; border: 1px solid #dce7e3; border-radius: 10px; display: flex; flex-direction: column; justify-content: center; min-height: 43px; padding: 6px; }.transaction-filter-result strong { color: var(--teal); font-family: var(--heading); font-size: 18px; line-height: 1; }.transaction-filter-result span { color: #6a807c; font-size: 8px; margin-top: 3px; }

@media (max-width: 1199px) {
    .finance-pulse { grid-template-columns: repeat(3,1fr); }.finance-pulse > div:nth-child(4) { border-left: 0; border-top: 1px solid rgba(255,255,255,.11); }.finance-pulse > div:nth-child(5) { border-top: 1px solid rgba(255,255,255,.11); }
    .bar-chart { padding-left: 80px; }
    .transaction-filterbar { grid-template-columns: repeat(4,minmax(120px,1fr)); }
}
@media (max-width: 767px) {
    .admin-filterbar { align-items: stretch; }.admin-filterbar > label,.admin-filterbar > .dashboard-multiselect { flex-basis: calc(50% - 6px); min-width: 0; }.admin-filterbar .filter-update { align-self: auto; flex-basis: 100%; margin: 4px 2px 0; padding: 4px 0; }.dashboard-filter-reset { align-self: center; margin: 2px 0 0; }
    .finance-pulse { grid-template-columns: repeat(2,1fr); }.finance-pulse > div { padding: 14px; }.finance-pulse > div + div { border-left: 0; }.finance-pulse > div:nth-child(even) { border-left: 1px solid rgba(255,255,255,.11); }.finance-pulse > div:nth-child(n+3) { border-top: 1px solid rgba(255,255,255,.11); }.finance-pulse > div:last-child { grid-column: 1/-1; }
    .bar-chart { gap: 4px; overflow-x: auto; padding-left: 0; }.bar-group { flex: 0 0 30px; }.chart-legend { display: none; }
    .ageing-card,.collection-split-card,.grade-table-card { min-height: auto; }
    .waterfall-card,.forecast-card,.component-health-card,.control-tower-card { min-height: auto; }.as-of-chip { display: none; }.forecast-grid { grid-template-columns: 1fr 1fr; }.operations-grid { grid-template-columns: 1fr; }
    .transaction-filterbar { grid-template-columns: repeat(2,minmax(0,1fr)); }.transaction-filter-heading { grid-column: 1/-1; }.transaction-student-filter,.transaction-reference-filter { grid-column: span 2; }.transaction-filter-result { min-height: 55px; }
}
@media (max-width: 430px) {
    .admin-filterbar > label,.admin-filterbar > .dashboard-multiselect { flex-basis: 100%; }.dashboard-multiselect-menu { position: static; margin-top: 7px; }.finance-pulse strong { font-size: 17px; }.finance-pulse small { font-size: 8px; }
    .forecast-grid { grid-template-columns: 1fr; }.waterfall-result { grid-template-columns: 1fr; }.waterfall-result strong { grid-row: auto; margin: 4px 0; }.risk-callout { align-items: flex-start; flex-direction: column; gap: 8px; }.risk-callout > strong { padding-left: 36px; }
    .transaction-filterbar { grid-template-columns: 1fr; }.transaction-filterbar > *,.transaction-student-filter,.transaction-reference-filter { grid-column: 1 !important; }.transaction-filter-actions { justify-content: space-between; }.transaction-filter-actions .primary-button { flex: 1; }
}

/* Keep the transaction filter grid as the final cascade authority. */
.transaction-report-table { min-width: 1120px; }
.transaction-report-table th:nth-child(3),.transaction-report-table th:nth-child(4),.transaction-report-table td:nth-child(3),.transaction-report-table td:nth-child(4) { white-space: nowrap; }
.transaction-filterbar { grid-template-columns: repeat(12,minmax(0,1fr)); margin-bottom: 0; }
.transaction-date-filter,.transaction-grade-filter,.transaction-division-filter,.transaction-method-filter,.transaction-filter-result { grid-column: span 2; }
.transaction-student-filter,.transaction-reference-filter,.transaction-filter-actions { grid-column: span 4; }
.transaction-filterbar input[type="date"],.transaction-filterbar .modern-select-trigger,.transaction-reference-filter > div,.transaction-student-picker { min-height: 44px; }
.transaction-filterbar input[type="date"],.transaction-filterbar .modern-select-value,.transaction-reference-filter input,.transaction-student-input { font-size: 12px; }
.transaction-filter-actions { min-height: 44px; }

@media (max-width: 1199px) {
    .transaction-filterbar { grid-template-columns: repeat(8,minmax(0,1fr)); }
}
@media (max-width: 767px) {
    .transaction-filterbar { grid-template-columns: repeat(4,minmax(0,1fr)); }
    .transaction-date-filter,.transaction-grade-filter,.transaction-division-filter,.transaction-method-filter,.transaction-filter-result { grid-column: span 2; }
    .transaction-student-filter,.transaction-reference-filter,.transaction-filter-actions { grid-column: span 4; }
}
@media (max-width: 430px) {
    .transaction-filterbar { grid-template-columns: 1fr; }
    .transaction-filterbar > * { grid-column: 1 !important; }
}

/* Theme cascade authority. */
html body { background:var(--app-bg)!important; color:var(--text-main); font-size:16px!important; }
html:is([data-theme="dark"],[data-theme="graphite"]) :is(.reminder-metric-grid>article,.metric-card,.status-card,.dashboard-card,.structure-card) { background:var(--surface)!important; border-color:var(--theme-line)!important; color:var(--text-main)!important; }
html:is([data-theme="dark"],[data-theme="graphite"]) :is(.reminder-metric-grid>article,.metric-card,.status-card,.dashboard-card,.structure-card) :is(strong,b,h1,h2,h3) { color:var(--text-main); }
html:is([data-theme="dark"],[data-theme="graphite"]) :is(.reminder-metric-grid>article,.metric-card,.status-card,.dashboard-card,.structure-card) :is(small,span,p,em) { color:var(--text-muted); }
html:is([data-theme="dark"],[data-theme="graphite"]) :is(.structure-meta,.template-list>div,.automation-list>div,.provider-test,.sms-advanced>div) { border-color:var(--theme-line)!important; }
html:is([data-theme="dark"],[data-theme="graphite"]) :is(.operations-grid>div>i,.operations-grid>a>i,.waterfall-list>div>span>i,.manual-evidence-drop>span>i) { background:var(--surface-2); }
@media(max-width:1400px){.theme-switcher-label,.theme-switcher button span{display:none}.theme-switcher button{justify-content:center;padding:6px;width:31px}.topbar-actions{gap:9px}}

html[data-theme] :is(.story-copy h1 em,.school-contact-card i,.login-trust i,.summary-total strong,.gateway-fee strong,.trust-row i) { color:var(--teal-bright)!important; }
html[data-theme] :is(.payment-option.selected,.payment-method.selected) { background:color-mix(in srgb,var(--teal) 7%,var(--surface))!important; border-color:var(--teal)!important; }
html[data-theme] :is(.allocation-note,.privacy-note,.smart-demo-note) { background:var(--surface-2)!important; color:var(--text-muted)!important; }
html[data-theme] .login-story::before { border-color:color-mix(in srgb,var(--teal-bright) 8%,transparent)!important; }
html[data-theme] .login-story::after { background-image:radial-gradient(circle,color-mix(in srgb,var(--teal-bright) 25%,transparent) 0 2px,transparent 2.5px)!important; }


/* Keep Finance Control Centre tabs on one readable row after adding Bank reconciliation. */
.finance-control .control-tabs{
    display:flex;
    grid-template-columns:none;
    align-items:stretch;
    justify-content:flex-end;
    gap:8px;
    overflow-x:auto;
    overflow-y:hidden;
    scrollbar-width:thin;
    -webkit-overflow-scrolling:touch;
}
.finance-control .control-tabs a{
    flex:0 0 auto;
    min-width:138px;
    min-height:62px;
    padding:10px 12px;
    white-space:nowrap;
}
.finance-control .control-tabs a span{
    display:block;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
}
@media(max-width:1199px){
    .finance-control .control-tabs{position:static;justify-content:flex-start;}
}
@media(max-width:767px){
    .finance-control .control-tabs{margin:18px -12px 22px;padding:8px 12px;border-left:0;border-right:0;border-radius:0;}
    .finance-control .control-tabs a{min-width:128px;min-height:58px;font-size:.74rem;}
}


.student-account-link{border-radius:12px;color:inherit;margin:-6px;padding:6px;transition:.18s ease;}
.student-account-link:hover{background:var(--teal-pale);color:var(--ink);}
.student-account-link:hover span{background:var(--teal);color:#fff;}
.student-icon-actions .view-student-account-action{align-items:center;background:#fff7df;border:1px solid #f1dfa7;border-radius:9px;color:#a96f0d;display:inline-flex;font-size:15px;height:38px;justify-content:center;min-height:38px;padding:0;width:38px;}
.student-icon-actions .view-student-account-action:hover{background:var(--amber);border-color:var(--amber);color:#fff;}


.recon-mode-tabs{display:flex;gap:8px;margin:0 0 14px;padding:8px;background:var(--surface);border:1px solid var(--line);border-radius:15px;box-shadow:var(--shadow-sm);overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:thin;}
.recon-mode-tabs a{align-items:center;border:1px solid transparent;border-radius:11px;color:var(--text-muted);display:flex;flex:0 0 auto;font-size:12px;font-weight:850;gap:8px;min-height:44px;padding:9px 12px;white-space:nowrap;}
.recon-mode-tabs a:hover{background:var(--surface-2);color:var(--text-main);}
.recon-mode-tabs a.active{background:color-mix(in srgb,var(--teal) 11%,var(--surface));border-color:color-mix(in srgb,var(--teal) 40%,var(--line));color:var(--teal);}
.recon-mode-tabs i{font-size:15px;}
.recon-mode-tabs em{background:var(--coral-pale);border-radius:999px;color:var(--coral);font-size:10px;font-style:normal;font-weight:900;min-width:22px;padding:3px 7px;text-align:center;}
.recon-mode-tabs a.active em{background:var(--teal);color:#fff;}
.recon-audit-page{padding:18px;}
.recon-audit-page .card-heading{margin-bottom:14px;}
.recon-audit-page-filters{margin-bottom:14px;}
.recon-audit-page-list{border:1px solid var(--line);border-radius:14px;overflow:hidden;}
.recon-audit-page-list>div{background:var(--surface);padding:14px 16px;}
@media(max-width:767px){.recon-mode-tabs{margin-left:-12px;margin-right:-12px;border-left:0;border-right:0;border-radius:0;padding-left:12px;padding-right:12px}.recon-mode-tabs a{font-size:11px;min-height:42px}}
html[data-theme] :is(.recon-mode-tabs,.recon-audit-page-list){background:var(--surface)!important;border-color:var(--theme-line)!important;}
html[data-theme] .recon-mode-tabs a.active{background:color-mix(in srgb,var(--teal) 12%,var(--surface))!important;border-color:color-mix(in srgb,var(--teal) 42%,var(--theme-line))!important;color:var(--teal)!important;}
/* Connected staff, attendance, leave and payroll suite */
.hr-suite{--hr-blue:#4057e8;--hr-cyan:#13a9c2;--hr-coral:#ef695d;--hr-gold:#edae35;--hr-green:#18a878;padding-bottom:3rem}.hr-heading{align-items:flex-end}.hr-heading-actions,.payroll-actions{display:flex;gap:.7rem;align-items:center;flex-wrap:wrap}.hr-tabs{margin-bottom:1.35rem}.hr-tabs a{min-width:105px}.hr-command-hero,.payroll-hero,.employee-self-hero{position:relative;display:flex;justify-content:space-between;gap:2rem;align-items:center;padding:1.8rem 2rem;margin-bottom:1.15rem;border-radius:24px;color:#fff;background:linear-gradient(130deg,var(--surface-strong,#102a43),#253e68 65%,#4057e8);overflow:hidden}.hr-command-hero:after,.payroll-hero:after{content:"";position:absolute;width:240px;height:240px;border:34px solid rgba(255,255,255,.07);border-radius:50%;right:-75px;top:-105px}.hr-command-hero small,.payroll-hero small,.employee-self-hero small{display:block;font-weight:800;font-size:.72rem;letter-spacing:.11em;color:#74e5f5}.hr-command-hero h2,.payroll-hero h2,.employee-self-hero h2{margin:.3rem 0;font-size:1.85rem}.hr-command-hero p,.payroll-hero p,.employee-self-hero p{margin:0;color:#d8e5f2}.hr-live-status{position:relative;z-index:1;text-align:right;min-width:180px}.hr-live-status span{display:block;margin-bottom:.5rem;font-weight:700}.hr-live-status i{font-size:.55rem;color:#49e0ae;margin-right:.4rem}.hr-live-status strong{font-size:1.1rem}.hr-metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;margin-bottom:1.15rem}.hr-metric-grid>a,.hr-metric-grid>div{display:flex;align-items:center;gap:1rem;min-height:116px;padding:1.1rem;border:1px solid var(--line);border-radius:20px;background:var(--surface);color:var(--text);text-decoration:none;box-shadow:var(--shadow-sm)}.hr-metric-grid>a:hover{transform:translateY(-2px);border-color:var(--hr-blue)}.hr-metric-grid>a>i,.hr-metric-grid>div>i{display:grid;place-items:center;width:46px;height:46px;flex:0 0 46px;border-radius:15px;color:var(--hr-blue);background:color-mix(in srgb,var(--hr-blue) 12%,var(--surface))}.hr-metric-grid span{min-width:0;color:var(--muted);font-size:.76rem;font-weight:700}.hr-metric-grid strong{display:block;margin:.15rem 0;color:var(--text);font-size:1.25rem;white-space:normal;overflow-wrap:anywhere}.hr-metric-grid small{display:block;font-weight:600}.hr-dashboard-grid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(320px,.75fr);gap:1.15rem;margin-bottom:1.15rem}.hr-action-list{display:grid;gap:.7rem}.hr-action-list>a{display:grid;grid-template-columns:48px 1fr auto;align-items:center;gap:.8rem;padding:.8rem;border:1px solid var(--line);border-radius:16px;text-decoration:none;color:var(--text);background:var(--surface-soft)}.hr-action-list>a:hover{border-color:var(--hr-blue)}.hr-action-list strong,.hr-action-list small{display:block}.hr-action-list small{color:var(--muted);margin-top:.15rem}.hr-action-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:13px}.hr-action-icon.coral{color:var(--hr-coral);background:color-mix(in srgb,var(--hr-coral) 13%,var(--surface))}.hr-action-icon.gold{color:var(--hr-gold);background:color-mix(in srgb,var(--hr-gold) 15%,var(--surface))}.hr-action-icon.blue{color:var(--hr-blue);background:color-mix(in srgb,var(--hr-blue) 12%,var(--surface))}.hr-department-bars{display:grid;gap:1rem}.hr-department-bars header{display:flex;justify-content:space-between;margin-bottom:.35rem}.hr-department-bars header span{font-weight:800;color:var(--hr-blue)}.hr-department-bars>div>i{display:block;height:8px;border-radius:8px;background:var(--surface-soft);overflow:hidden}.hr-department-bars b{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--hr-blue),var(--hr-cyan))}.hr-integration-card{display:flex;align-items:center;justify-content:space-between;gap:1rem}.hr-integration-card>div{display:flex;align-items:center;gap:1rem}.hr-integration-icon{display:grid;place-items:center;width:56px;height:56px;flex:0 0 56px;border-radius:18px;color:#fff;background:linear-gradient(135deg,var(--hr-blue),var(--hr-cyan));font-size:1.35rem}.hr-integration-card h2{margin:.1rem 0 .25rem}.hr-integration-card p{margin:0;color:var(--muted)}.hr-toolbar,.hr-attendance-top{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1rem 1.15rem;margin-bottom:1rem;border:1px solid var(--line);border-radius:18px;background:var(--surface)}.hr-toolbar>div strong,.hr-toolbar>div span{display:block}.hr-toolbar>div span{color:var(--muted)}.hr-toolbar form{display:flex;align-items:center;gap:.5rem;flex:1;max-width:390px;border:1px solid var(--line);border-radius:13px;padding:0 .8rem;background:var(--surface-soft)}.hr-toolbar form input{width:100%;border:0;background:transparent;min-height:42px;color:var(--text);outline:none}.hr-person{display:flex;align-items:center;gap:.7rem}.hr-person>span{display:grid;place-items:center;width:42px;height:42px;flex:0 0 42px;border-radius:14px;color:#fff;background:linear-gradient(135deg,var(--hr-blue),var(--hr-cyan));font-weight:800}.hr-person strong,.hr-person small{display:block}.hr-employee-table th:last-child,.hr-employee-table td:last-child{white-space:nowrap;text-align:right}.hr-attendance-top form label{display:flex;align-items:center;gap:.8rem;margin:0}.hr-attendance-top form span{font-size:.72rem;font-weight:800;text-transform:uppercase;color:var(--muted)}.hr-attendance-top>div{display:flex;gap:1rem}.hr-attendance-top>div span{font-weight:700}.hr-attendance-top>div i{margin-right:.35rem;color:var(--hr-green)}.hr-attendance-top>div span:last-child i{color:var(--hr-gold)}.hr-leave-layout{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(300px,.6fr);gap:1.15rem}.leave-request-list{display:grid;gap:.8rem}.leave-request{display:grid;grid-template-columns:54px 1fr auto;gap:.9rem;align-items:start;padding:1rem;border:1px solid var(--line);border-radius:18px;background:var(--surface-soft)}.leave-date{display:grid;place-items:center;padding:.55rem;border-radius:14px;background:color-mix(in srgb,var(--hr-blue) 12%,var(--surface));color:var(--hr-blue)}.leave-date strong{font-size:1.25rem;line-height:1}.leave-date span{font-size:.67rem;font-weight:800;text-transform:uppercase}.leave-request>div:nth-child(2)>strong,.leave-request>div:nth-child(2)>small{display:block}.leave-request>div:nth-child(2)>small{color:var(--muted);margin:.15rem 0}.leave-request p{margin:.35rem 0}.leave-request em{display:block;font-style:normal;font-size:.78rem;color:var(--hr-cyan)}.leave-request em i{margin-right:.4rem}.leave-decision{text-align:right}.leave-decision form{display:flex;justify-content:flex-end;gap:.35rem;margin-top:.5rem}.icon-action.approve{color:var(--hr-green)}.icon-action.reject{color:var(--hr-coral)}.hr-inline-select{display:block;margin-bottom:1rem}.hr-inline-select span{display:block;margin-bottom:.35rem;font-size:.72rem;font-weight:800;color:var(--muted)}.leave-balance-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem}.leave-balance-grid.wide{grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:1rem}.leave-balance-grid>div{padding:1rem;border:1px solid var(--line);border-radius:16px;background:var(--surface-soft)}.leave-balance-grid span,.leave-balance-grid strong,.leave-balance-grid small{display:block}.leave-balance-grid span{font-size:.7rem;font-weight:800;color:var(--hr-blue)}.leave-balance-grid strong{font-size:1.4rem}.leave-balance-grid small{color:var(--muted)}.hr-side-note{display:flex;gap:.55rem;margin:1rem 0 0;padding:.8rem;border-radius:14px;color:var(--muted);background:color-mix(in srgb,var(--hr-gold) 12%,var(--surface))}.payroll-hero form{position:relative;z-index:1}.payroll-hero input{border:1px solid rgba(255,255,255,.28);border-radius:13px;padding:.75rem 1rem;color:#fff;background:rgba(255,255,255,.1);color-scheme:dark}.payroll-ready{display:flex;justify-content:space-between;align-items:center;gap:1rem}.payroll-ready>div{display:flex;align-items:center;gap:1rem}.payroll-ready>div>span{display:grid;place-items:center;width:52px;height:52px;border-radius:17px;color:#fff;background:linear-gradient(135deg,var(--hr-blue),var(--hr-cyan));font-size:1.3rem}.payroll-ready h2{margin:0 0 .25rem}.payroll-ready p{margin:0;color:var(--muted)}.salary-component-inputs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem;margin:1rem 0}.salary-component-inputs label{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:.7rem;border:1px solid var(--line);border-radius:14px}.salary-component-inputs label>span{font-weight:700}.salary-component-inputs small{display:block;color:var(--muted);font-size:.67rem}.salary-component-inputs .money-input{max-width:150px}.hr-control-list{display:grid;gap:.8rem}.hr-control-list>div{display:flex;align-items:center;gap:.8rem;padding:.8rem;border:1px solid var(--line);border-radius:15px}.hr-control-list>div>i{display:grid;place-items:center;width:40px;height:40px;border-radius:12px;color:var(--hr-blue);background:color-mix(in srgb,var(--hr-blue) 12%,var(--surface))}.hr-control-list strong,.hr-control-list small{display:block}.hr-control-list small{color:var(--muted)}.attendance-source-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.attendance-source-grid>article{padding:1rem;border:1px solid var(--line);border-radius:18px;background:var(--surface-soft)}.attendance-source-grid header{display:grid;grid-template-columns:44px 1fr auto;gap:.7rem;align-items:center}.attendance-source-grid header strong,.attendance-source-grid header small{display:block}.attendance-source-grid header small{color:var(--muted)}.source-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:14px;font-size:1.05rem}.source-icon.manual{color:var(--hr-blue);background:color-mix(in srgb,var(--hr-blue) 12%,var(--surface))}.source-icon.biometric{color:var(--hr-cyan);background:color-mix(in srgb,var(--hr-cyan) 13%,var(--surface))}.source-icon.cctv{color:var(--hr-coral);background:color-mix(in srgb,var(--hr-coral) 12%,var(--surface))}.attendance-source-grid dl{margin:1rem 0}.attendance-source-grid dl>div{display:flex;justify-content:space-between;gap:.7rem;padding:.4rem 0;border-bottom:1px solid var(--line)}.attendance-source-grid dt{font-size:.68rem;color:var(--muted)}.attendance-source-grid dd{margin:0;text-align:right;font-size:.72rem;font-weight:700}.attendance-source-grid details summary,.master-editor summary{cursor:pointer;color:var(--hr-blue);font-weight:800}.attendance-source-grid details form{margin-top:1rem}.privacy-architecture-note{display:flex;gap:.8rem;margin-top:1rem;padding:1rem;border:1px solid color-mix(in srgb,var(--hr-cyan) 25%,var(--line));border-radius:16px;background:color-mix(in srgb,var(--hr-cyan) 8%,var(--surface))}.privacy-architecture-note>i{font-size:1.35rem;color:var(--hr-cyan)}.privacy-architecture-note p{margin:.25rem 0 0;color:var(--muted)}.hr-settings-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.15rem;margin-top:1.15rem}.master-editor{padding:.7rem 0;border-bottom:1px solid var(--line)}.master-editor form{padding-top:.8rem}.master-chip-list{display:flex;gap:.4rem;flex-wrap:wrap;margin-top:1rem}.master-chip-list span{padding:.35rem .6rem;border-radius:999px;background:var(--surface-soft);font-size:.72rem;font-weight:700}.employee-self-hero{background:linear-gradient(130deg,#102a43,#1c4861 65%,#13a9c2)}.employee-self-hero .hr-person.large>span{width:68px;height:68px;flex-basis:68px;border-radius:22px;font-size:1.25rem}.employee-self-hero>div:last-child{text-align:right}.employee-self-hero>div:last-child span,.employee-self-hero>div:last-child small{display:block}.employee-self-hero>div:last-child strong{display:block;font-size:1.2rem}.employee-form-section{padding:1rem 0}.employee-form-section+ .employee-form-section{border-top:1px solid var(--line)}.employee-form-section h3{font-size:1rem;margin-bottom:.85rem}.hr-report-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.modern-modal .modal-header h2{margin:.1rem 0 0}.modern-modal .modal-footer{border-color:var(--line)}
@media(max-width:1199px){.hr-metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.attendance-source-grid,.hr-settings-grid,.hr-report-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.hr-dashboard-grid,.hr-leave-layout{grid-template-columns:1fr}}
@media(max-width:767px){.hr-heading-actions,.hr-toolbar,.hr-attendance-top,.hr-integration-card,.payroll-ready{align-items:stretch;flex-direction:column}.hr-toolbar form{max-width:none;width:100%}.hr-metric-grid,.attendance-source-grid,.hr-settings-grid,.hr-report-grid,.leave-balance-grid.wide{grid-template-columns:1fr}.hr-command-hero,.payroll-hero,.employee-self-hero{align-items:flex-start;flex-direction:column;padding:1.3rem}.hr-live-status,.employee-self-hero>div:last-child{text-align:left}.leave-request{grid-template-columns:46px 1fr}.leave-decision{grid-column:2;text-align:left}.leave-decision form{justify-content:flex-start}.salary-component-inputs{grid-template-columns:1fr}.hr-tabs{overflow-x:auto;flex-wrap:nowrap}.hr-tabs a{min-width:max-content}}
.payroll-input-workbench{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:20px 0}.payroll-input-workbench .content-card{min-width:0}.payroll-input-workbench .card-heading{align-items:flex-start}.payroll-input-workbench .admin-form{display:flex;flex-direction:column;gap:14px}.payroll-approval-queue{margin:20px 0}.payroll-approval-queue .modern-table td:first-child{min-width:230px}.payroll-approval-queue .modern-table td:first-child small{display:block;margin-top:4px;color:var(--muted)}.inline-actions{display:inline-flex;align-items:center;gap:7px;margin:0}.self-service-actions{margin-top:20px}.privacy-architecture-note.compact{margin-top:8px;padding:15px}.privacy-architecture-note.compact p{margin:4px 0 0}
@media(max-width:1180px){.payroll-input-workbench{grid-template-columns:1fr 1fr}.payroll-input-workbench article:last-child{grid-column:1/-1}}
@media(max-width:760px){.payroll-input-workbench{grid-template-columns:1fr}.payroll-input-workbench article:last-child{grid-column:auto}.payroll-approval-queue{overflow:hidden}}

/* HR navigation and data tables are isolated from the seven-column finance controls. */
.hr-suite .hr-tabs{display:flex!important;grid-template-columns:none!important;align-items:stretch;justify-content:flex-start;gap:8px;overflow-x:auto;overflow-y:hidden;scrollbar-width:thin;-webkit-overflow-scrolling:touch;position:sticky;top:78px;z-index:20;padding:8px}
.hr-suite .hr-tabs a{display:flex;flex:1 0 112px;min-width:112px;min-height:62px;padding:9px 12px;white-space:nowrap;cursor:pointer;isolation:isolate}
.hr-suite .hr-tabs a span{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.hr-suite .hr-tabs a{border:1px solid transparent;color:var(--text-muted);background:transparent}
.hr-suite .hr-tabs a:hover{border-color:var(--theme-line);color:var(--text-main);background:var(--surface-2)}
.hr-suite .hr-tabs a.active,.hr-suite .hr-tabs a.active:hover,.hr-suite .hr-tabs a.active:focus{pointer-events:auto;border-color:#1d4ed8!important;color:#fff!important;background:#2563eb!important;background-image:linear-gradient(135deg,#1d4ed8,#3b82f6)!important;box-shadow:0 8px 20px rgba(37,99,235,.28)!important}
.hr-suite .hr-tabs a.active :is(i,span){color:#fff!important}
.hr-suite .hr-tabs a:focus-visible{outline:3px solid color-mix(in srgb,var(--teal) 28%,transparent);outline-offset:2px}
.hr-suite .hr-tabs em{background:#e5484d;color:#fff;border:2px solid var(--surface);font-weight:850;box-shadow:0 3px 8px rgba(151,25,32,.22)}
.hr-suite .hr-tabs a.active em{background:#fff!important;color:#1d4ed8!important;border-color:rgba(255,255,255,.34)!important}
html[data-theme="medium"] .hr-suite .hr-tabs a.active,html[data-theme="medium"] .hr-suite .hr-tabs a.active:hover,html[data-theme="medium"] .hr-suite .hr-tabs a.active:focus{border-color:#5b3bc4!important;background:#6d4ad7!important;background-image:linear-gradient(135deg,#5937bd,#8061e8)!important;box-shadow:0 8px 20px rgba(91,59,196,.3)!important}
html[data-theme="medium"] .hr-suite .hr-tabs a.active em{color:#5937bd!important}
html:is([data-theme="dark"],[data-theme="graphite"]) .hr-suite .hr-tabs a.active,html:is([data-theme="dark"],[data-theme="graphite"]) .hr-suite .hr-tabs a.active:hover,html:is([data-theme="dark"],[data-theme="graphite"]) .hr-suite .hr-tabs a.active:focus{border-color:#3157c8!important;background:#25356d!important;background-image:linear-gradient(135deg,#22336b,#3157c8)!important;box-shadow:0 8px 22px rgba(0,0,0,.38)!important}
html:is([data-theme="dark"],[data-theme="graphite"]) .hr-suite .hr-tabs a.active em{color:#25356d!important}
.hr-suite .content-card{min-width:0}
.hr-suite .table-responsive{display:block;width:100%;max-width:100%;overflow-x:auto;overflow-y:visible;-webkit-overflow-scrolling:touch;padding-bottom:4px}
.hr-suite .modern-table{width:100%;border-collapse:separate;border-spacing:0;color:var(--text-main);font-size:13px;line-height:1.45}
.hr-suite .modern-table th{padding:12px 14px;background:var(--surface-2);border-bottom:1px solid var(--line);color:var(--text-muted);font-size:11px;font-weight:850;letter-spacing:.045em;text-align:left;text-transform:uppercase;vertical-align:middle;white-space:nowrap}
.hr-suite .modern-table td{padding:14px;border-bottom:1px solid var(--line);color:var(--text-muted);vertical-align:middle}
.hr-suite .modern-table tbody tr:last-child td{border-bottom:0}
.hr-suite .modern-table tbody tr:hover td{background:color-mix(in srgb,var(--hr-blue) 3%,var(--surface))}
.hr-suite .modern-table td>strong,.hr-suite .modern-table td>small{display:block}
.hr-suite .modern-table td>strong{color:var(--text-main);font-size:13px;font-weight:800}
.hr-suite .modern-table td>small{margin-top:3px;color:var(--text-muted);font-size:11px!important;line-height:1.4}
.hr-suite .modern-table .txn-status{display:inline-flex;align-items:center;justify-content:center;white-space:nowrap}
.hr-attendance-register{overflow:hidden;padding:0!important}
.hr-attendance-register>.card-heading{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:22px 24px;border-bottom:1px solid var(--line)}
.hr-attendance-register>.table-responsive{padding:0}
.hr-suite .hr-attendance-table{min-width:1050px;table-layout:fixed}
.hr-suite .hr-attendance-table th:nth-child(1){width:190px}.hr-suite .hr-attendance-table th:nth-child(2){width:130px}.hr-suite .hr-attendance-table th:nth-child(3),.hr-suite .hr-attendance-table th:nth-child(4),.hr-suite .hr-attendance-table th:nth-child(5){width:100px}.hr-suite .hr-attendance-table th:nth-child(6){width:160px}.hr-suite .hr-attendance-table th:nth-child(7){width:115px}.hr-suite .hr-attendance-table th:nth-child(8){width:220px}
.hr-suite .hr-attendance-table td:nth-child(n+3):nth-child(-n+5){font-variant-numeric:tabular-nums;white-space:nowrap}.hr-suite .hr-attendance-table td:nth-child(7){text-align:center}.hr-suite .hr-attendance-table td:nth-child(8){white-space:normal;overflow-wrap:anywhere}.attendance-exception{display:block;max-width:100%;color:var(--text-muted);line-height:1.4}
.attendance-device-log{margin-top:18px;overflow:hidden;padding:0!important}.attendance-device-log>.card-heading{padding:20px 24px;border-bottom:1px solid var(--theme-line)}.attendance-log-summary{display:flex;align-items:baseline;gap:7px;padding:9px 12px;border:1px solid var(--theme-line);border-radius:13px;background:var(--surface-2)}.attendance-log-summary strong{font-size:20px}.attendance-log-summary span{color:var(--text-muted);font-size:10px;font-weight:800}.attendance-log-summary em{margin-left:5px;padding:4px 7px;border-radius:999px;color:#935b00;background:#fff0c8;font-size:9px;font-style:normal;font-weight:850}.attendance-device-table{min-width:1050px}.attendance-device-table th:nth-child(1){width:145px}.attendance-device-table th:nth-child(2){width:190px}.attendance-device-table th:nth-child(3){width:170px}.attendance-device-table th:nth-child(4){width:190px}.attendance-device-table th:nth-child(5){width:260px}.attendance-device-table td{vertical-align:middle}.attendance-device-table code{display:block;max-width:245px;overflow:hidden;color:var(--text-main);font-size:9px;text-overflow:ellipsis;white-space:nowrap}.device-event-position{display:inline-flex;align-items:center;gap:6px;padding:6px 9px;border-radius:999px;font-size:10px;font-weight:850}.device-event-position.checkin{color:#166b55;background:#ddf8ed}.device-event-position.checkout{color:#a43245;background:#ffe4e8}.device-event-position.intermediate{color:#275cab;background:#e5efff}
@media(max-width:1199px){.hr-suite .hr-tabs{position:static}.hr-suite .hr-tabs a{flex:0 0 125px}}
@media(max-width:767px){.hr-suite .hr-tabs{margin:18px -12px 22px;padding:8px 12px;border-left:0;border-right:0;border-radius:0}.hr-suite .hr-tabs a{flex-basis:120px;min-width:120px;min-height:56px}.hr-attendance-register>.card-heading{align-items:flex-start;flex-direction:column;padding:18px}.hr-attendance-register>.card-heading .outline-button{width:100%}.hr-attendance-top>div{display:grid;grid-template-columns:1fr 1fr;gap:8px}.hr-attendance-top>div span{padding:9px;border-radius:10px;background:var(--surface-2)}}

/* Complete tabbed employee editor */
.employee-editor-modal{--hr-blue:#4057e8;--hr-cyan:#13a9c2;--hr-coral:#ef695d;--hr-gold:#edae35;--hr-green:#18a878}
.employee-editor-modal .modal-dialog{width:min(1320px,calc(100vw - 32px));max-width:1320px;height:calc(100vh - 32px);max-height:calc(100vh - 32px);margin:16px auto}
.employee-editor-modal .modal-content{height:100%;max-height:100%;overflow:hidden;border:0;border-radius:24px;background:var(--surface);box-shadow:0 30px 90px rgba(15,31,52,.28)}
.employee-profile-form{display:flex;flex-direction:column;min-height:0;height:100%}
.employee-editor-modal .modal-header{flex:0 0 auto;padding:20px 24px 16px;border-bottom:1px solid var(--line);background:var(--surface)}
.employee-editor-modal .modal-header h2{font-size:22px}.employee-editor-modal .modal-header p{margin:4px 0 0;color:var(--text-muted);font-size:12px}
.employee-form-tabs{display:flex;flex:0 0 auto;flex-wrap:nowrap;gap:7px;padding:10px 18px;border-bottom:1px solid var(--line);background:var(--surface-2);overflow-x:auto;overflow-y:hidden;scrollbar-width:thin}
.employee-form-tabs .nav-link{display:inline-flex;align-items:center;justify-content:center;gap:7px;flex:1 0 135px;min-height:44px;padding:9px 12px;border:1px solid transparent;border-radius:12px;color:var(--text-muted);font-size:11px;font-weight:800;white-space:nowrap}
.employee-form-tabs .nav-link:hover{border-color:var(--line);color:var(--text-main);background:var(--surface)}.employee-form-tabs .nav-link.active,.employee-form-tabs .nav-link.active:hover,.employee-form-tabs .nav-link.active:focus{border-color:#4057e8!important;color:#fff!important;background:#4057e8!important;background-image:linear-gradient(135deg,#4057e8,#6274ee)!important;box-shadow:0 7px 18px rgba(64,87,232,.24)}.employee-form-tabs .nav-link.active i,.employee-form-tabs .nav-link.active span{color:#fff!important}
.employee-form-body{flex:1 1 auto;min-height:0;padding:22px 24px!important;overflow-y:auto!important;overscroll-behavior:contain;background:color-mix(in srgb,var(--surface-2) 55%,var(--surface))}
.employee-form-body .tab-content,.employee-form-body .tab-pane{min-height:100%}
.employee-form-body label{display:block;margin-bottom:15px}.employee-form-body label>span{display:block;margin-bottom:6px;color:var(--text-muted);font-size:11px;font-weight:800}
.employee-form-body :is(input,select,textarea){width:100%;min-height:45px;padding:10px 12px;border:1px solid var(--line);border-radius:11px;background:var(--surface);color:var(--text-main);font-size:13px;outline:none}.employee-form-body textarea{min-height:84px;resize:vertical}.employee-form-body :is(input,select,textarea):focus{border-color:var(--hr-blue);box-shadow:0 0 0 3px color-mix(in srgb,var(--hr-blue) 12%,transparent)}
.employee-form-body input[readonly]{cursor:not-allowed;color:var(--text-muted);background:var(--surface-2);border-style:dashed}
.employee-tab-heading{display:grid;grid-template-columns:48px 1fr;align-items:center;gap:13px;margin-bottom:20px}.employee-tab-heading>span{display:grid;place-items:center;width:48px;height:48px;border-radius:15px;color:var(--hr-blue);background:color-mix(in srgb,var(--hr-blue) 11%,var(--surface));font-size:19px}.employee-tab-heading h3{margin:0 0 3px;font-size:18px}.employee-tab-heading p{margin:0;color:var(--text-muted);font-size:12px}.employee-tab-heading.with-action{grid-template-columns:48px 1fr auto}
.address-panel-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:6px 0 18px}.address-panel-grid>article,.employee-subsection,.employee-repeat-row{padding:17px;border:1px solid var(--line);border-radius:16px;background:var(--surface)}.address-panel-grid h4,.employee-subsection h4{margin:0 0 13px;font-size:14px}
.employee-subsection{margin-top:16px}.subsection-title{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.subsection-title h4{margin:0}
.employee-repeat-list{display:grid;gap:12px}.employee-repeat-row{position:relative}.repeat-row-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.repeat-row-head strong{font-size:12px}.repeat-row-head button{display:grid;place-items:center;width:34px;height:34px;border:1px solid color-mix(in srgb,var(--hr-coral) 25%,var(--line));border-radius:10px;color:var(--hr-coral);background:color-mix(in srgb,var(--hr-coral) 7%,var(--surface))}.employee-repeat-row .form-grid label{margin-bottom:4px}
.professional-summary-field{width:100%;margin-bottom:18px!important}.professional-summary-field textarea{min-height:105px}.skill-level-grid{display:grid;grid-template-columns:minmax(220px,1fr) 230px 38px;align-items:end;gap:12px}.skill-level-grid>button{display:grid;place-items:center;width:38px;height:45px;margin-bottom:4px;border:1px solid color-mix(in srgb,var(--hr-coral) 25%,var(--line));border-radius:11px;color:var(--hr-coral);background:color-mix(in srgb,var(--hr-coral) 7%,var(--surface))}.skill-repeat-row{padding:12px 14px}.hr-onboarding-policy{margin-top:18px}.policy-format-help{display:flex;align-items:center;gap:10px;margin:0 0 15px;padding:12px;border-radius:12px;color:var(--hr-blue);background:color-mix(in srgb,var(--hr-blue) 8%,var(--surface))}.policy-format-help strong,.policy-format-help small{display:block}.policy-format-help small{margin-top:2px;color:var(--text-muted)}
.employee-tab-note{display:flex;align-items:center;gap:11px;margin-top:18px;padding:13px 15px;border-radius:13px;color:var(--hr-blue);background:color-mix(in srgb,var(--hr-blue) 8%,var(--surface));border:1px solid color-mix(in srgb,var(--hr-blue) 20%,var(--line))}.employee-tab-note.warning{color:#9a6411;background:color-mix(in srgb,var(--hr-gold) 10%,var(--surface));border-color:color-mix(in srgb,var(--hr-gold) 25%,var(--line))}.employee-tab-note>i{font-size:19px}.employee-tab-note strong,.employee-tab-note small{display:block}.employee-tab-note small{margin-top:2px;color:var(--text-muted)}
.employee-form-footer{display:flex;flex:0 0 auto;align-items:center;justify-content:space-between;gap:16px;padding:14px 22px;border-top:1px solid var(--line);background:var(--surface)}.employee-form-footer>span{display:flex;align-items:center;gap:8px;color:var(--text-muted);font-size:11px}.employee-form-footer>span i{color:var(--hr-green)}.employee-form-footer>div{display:flex;gap:9px}
@media(max-width:991px){.employee-editor-modal .modal-dialog{width:calc(100vw - 20px);height:calc(100vh - 20px);max-height:calc(100vh - 20px);margin:10px}.employee-form-tabs .nav-link{flex-basis:125px}.address-panel-grid{grid-template-columns:1fr}.employee-tab-heading.with-action{grid-template-columns:48px 1fr}.employee-tab-heading.with-action .outline-button{grid-column:1/-1;justify-self:start}.employee-form-body .form-grid.cols-3{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.employee-editor-modal .modal-dialog{width:100%;height:100%;max-height:100%;margin:0}.employee-editor-modal .modal-content{border-radius:0}.employee-editor-modal .modal-header{padding:15px 16px 12px}.employee-editor-modal .modal-header p{display:none}.employee-form-tabs{padding:8px 12px}.employee-form-tabs .nav-link{flex-basis:112px;min-height:40px}.employee-form-body{padding:17px 15px!important}.employee-form-body .form-grid.cols-3,.employee-form-body .form-grid.cols-2{grid-template-columns:1fr}.employee-tab-heading{grid-template-columns:40px 1fr}.employee-tab-heading>span{width:40px;height:40px}.employee-form-footer{align-items:stretch;flex-direction:column;padding:11px 15px}.employee-form-footer>span{display:none}.employee-form-footer>div{display:grid;grid-template-columns:1fr 1.4fr}.employee-form-footer button{width:100%}.skill-level-grid{grid-template-columns:1fr 1fr 38px}.skill-level-grid>label:first-child{grid-column:1/-1}}

/* Every enhanced single-select provides type-to-filter search. */
.modern-select-search{display:flex!important;align-items:center;gap:8px;position:sticky;top:0;z-index:2;margin:0!important;padding:9px 10px;background:var(--surface);border-bottom:1px solid var(--line)}.modern-select-search i{color:var(--text-muted);font-size:12px}.modern-select-search input{width:100%;min-height:36px!important;margin:0!important;padding:7px 9px!important;border:1px solid var(--line)!important;border-radius:9px!important;background:var(--surface-2)!important;color:var(--text-main)!important;font-size:12px!important;outline:none}.modern-select-search input:focus{border-color:var(--primary)!important;box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 10%,transparent)!important}
.modern-select-native{position:absolute!important;width:1px!important;height:1px!important;min-width:0!important;min-height:0!important;margin:0!important;padding:0!important;border:0!important;overflow:hidden!important;clip:rect(0 0 0 0)!important;clip-path:inset(50%)!important;white-space:nowrap!important}.modern-select-trigger:disabled{cursor:default;opacity:.82}.modern-select-trigger:disabled .modern-select-chevron{opacity:.48}

/* Unified HR forms. Employee editor intentionally retains its own form system. */
.hr-suite .admin-form{display:block;width:100%;margin:0}
.hr-suite .admin-form .form-grid,.hr-suite .form-grid{gap:16px}
.hr-suite .admin-form label{display:flex;min-width:0;flex-direction:column;margin:0;color:var(--text-main);font-size:inherit}
.hr-suite .admin-form label>span,.hr-suite .hr-inline-select>span{display:block;margin:0 0 7px;color:var(--text-muted);font-size:11px;font-weight:800;letter-spacing:.025em;line-height:1.35;text-transform:none}
.hr-suite .admin-form :is(input,select,textarea),.hr-suite .admin-form .modern-select-trigger,.hr-suite .hr-inline-select .modern-select-trigger{box-sizing:border-box;width:100%;min-width:0;min-height:48px;padding:11px 13px;border:1px solid var(--theme-line);border-radius:12px;background:var(--surface);color:var(--text-main);font-size:13px!important;line-height:1.35;outline:none}
.hr-suite .admin-form textarea{min-height:96px;resize:vertical}
.hr-suite .admin-form :is(input,select,textarea):focus{border-color:var(--teal);box-shadow:0 0 0 3px color-mix(in srgb,var(--teal) 12%,transparent)}
.hr-suite .admin-form .modern-select{width:100%;min-width:0}
.hr-suite .admin-form>.form-grid,.hr-suite .admin-form>.salary-component-inputs{margin-bottom:18px}
.hr-suite .admin-form>label{margin-bottom:16px}
.hr-suite .admin-form>.primary-button{min-height:44px;margin-top:2px;padding:10px 17px}
.hr-suite .admin-form .check-field{display:flex;flex-direction:row;align-items:center;gap:9px;min-height:36px}
.hr-suite .admin-form .check-field>span{margin:0;font-size:12px}
.hr-suite .admin-form .check-field input{flex:0 0 18px;min-height:18px;width:18px}
.hr-suite .money-input{width:100%}.hr-suite .admin-form .money-input input{width:100%;min-width:0;padding-left:28px}

.hr-settings-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}
.hr-settings-grid>article:first-child{grid-column:1/-1}
.hr-settings-grid>article:nth-child(2){display:none}
.hr-settings-grid .content-card{padding:22px}
.hr-settings-grid .card-heading{margin-bottom:18px}
.hr-settings-grid .master-editor{padding:12px 0}
.hr-settings-grid .master-editor form{padding:16px;margin-top:10px;border:1px solid var(--theme-line);border-radius:14px;background:var(--surface-2)}
.hr-settings-grid .master-editor form>.primary-button{width:auto;min-width:150px}
.attendance-source-grid details form{display:block;padding:15px;border:1px solid var(--theme-line);border-radius:14px;background:var(--surface)}
.attendance-source-grid details form .form-grid.cols-2{grid-template-columns:1fr}
.attendance-source-grid details form>.primary-button{width:100%}
.attendance-source-grid details summary{display:flex;align-items:center;gap:.45rem;padding:.65rem .75rem;border:1px solid var(--line);border-radius:11px;background:var(--surface);list-style:none}.attendance-source-grid details summary::-webkit-details-marker{display:none}.attendance-source-grid details[open] summary{border-color:color-mix(in srgb,var(--hr-blue) 35%,var(--line));background:color-mix(in srgb,var(--hr-blue) 6%,var(--surface))}.source-policy-switches{display:grid;gap:.55rem;margin-bottom:.8rem}.source-policy-switches .check-field{min-height:40px;padding:.55rem .65rem;border:1px solid var(--line);border-radius:10px;background:var(--surface-soft)}.attendance-source-actions{display:grid;grid-template-columns:1fr 1fr;gap:.5rem}.attendance-source-actions a{justify-content:center;white-space:nowrap}
.hr-onboarding-policy .admin-form>.primary-button{min-width:220px}

.leave-policy-studio{margin-top:18px;padding:24px}.leave-policy-heading{align-items:center}.leave-policy-heading>form{flex:0 0 auto}.leave-policy-layout{display:grid;grid-template-columns:minmax(285px,.65fr) minmax(0,1.65fr);gap:20px;align-items:start}.leave-policy-directory{display:grid;gap:10px;padding:14px;border:1px solid var(--theme-line);border-radius:18px;background:var(--surface-2)}.leave-policy-directory>header{display:flex;align-items:center;justify-content:space-between;padding:2px 3px 7px}.leave-policy-directory>header strong{font-size:14px}.leave-policy-directory>header a{display:flex;align-items:center;gap:5px;color:var(--teal);font-size:12px;font-weight:800;text-decoration:none}.leave-policy-item{padding:13px;border:1px solid var(--theme-line);border-radius:15px;background:var(--surface)}.leave-policy-item.selected{border-color:var(--hr-blue);box-shadow:0 0 0 3px color-mix(in srgb,var(--hr-blue) 10%,transparent)}.leave-policy-item-head{display:grid;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:9px}.leave-policy-item-head>span{display:grid;place-items:center;width:38px;height:38px;border-radius:11px;color:#fff;background:linear-gradient(135deg,var(--hr-blue),var(--hr-cyan));font-size:11px;font-weight:900}.leave-policy-item-head strong,.leave-policy-item-head small{display:block}.leave-policy-item-head strong{font-size:13px}.leave-policy-item-head small{margin-top:2px;color:var(--text-muted);font-size:10px}.leave-policy-item-head em{font-size:9px}.leave-policy-tags{display:flex;flex-wrap:wrap;gap:5px;margin:10px 0}.leave-policy-tags span{padding:4px 7px;border-radius:8px;color:var(--text-muted);background:var(--surface-2);font-size:9px;font-weight:700}.leave-policy-item-actions{display:flex;gap:7px}.leave-policy-item-actions form{display:block}.leave-policy-item-actions .outline-button{min-height:34px;padding:6px 9px;font-size:10px}.leave-policy-item-actions .danger{color:var(--hr-coral);border-color:color-mix(in srgb,var(--hr-coral) 35%,var(--theme-line))}.leave-policy-editor{padding:0}.leave-editor-title{display:flex;align-items:center;gap:11px;margin-bottom:16px;padding:14px;border-radius:15px;background:color-mix(in srgb,var(--hr-blue) 7%,var(--surface))}.leave-editor-title strong,.leave-editor-title small{display:block}.leave-editor-title strong{font-size:15px}.leave-editor-title small{margin-top:3px;color:var(--text-muted);font-size:11px}.leave-policy-editor fieldset{min-width:0;margin:0 0 15px;padding:17px;border:1px solid var(--theme-line);border-radius:16px;background:var(--surface)}.leave-policy-editor legend{float:none;width:auto;margin:0 0 14px;padding:0 6px;color:var(--text-main);font-size:12px;font-weight:900}.leave-policy-editor fieldset>.form-grid{margin:0}.leave-policy-editor .policy-checks{display:flex;min-height:48px;flex-direction:column;justify-content:center;gap:2px;padding:5px 10px;border:1px dashed var(--theme-line);border-radius:12px;background:var(--surface-2)}.leave-policy-editor .policy-checks .check-field{min-height:26px;margin:0}.policy-inline-help{display:flex;align-items:center;gap:8px;margin:14px 0 0;padding:10px 12px;border-radius:11px;color:var(--hr-blue);background:color-mix(in srgb,var(--hr-blue) 7%,var(--surface));font-size:10px;font-weight:700}.approval-step-picker{display:grid;grid-column:1/-1;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:12px;border:1px dashed var(--theme-line);border-radius:12px;background:var(--surface-2)}.approval-step-picker>span,.approval-step-picker>small{grid-column:1/-1}.approval-step-picker>span{color:var(--text-muted);font-size:10px;font-weight:800}.approval-step-picker>label{margin:0}.approval-step-picker>small{display:flex;align-items:flex-start;gap:7px;padding:8px 9px;border-radius:9px;color:var(--text-muted);background:var(--surface);font-size:9px;line-height:1.45}.approval-step-picker>small a{color:var(--hr-blue);font-weight:800}.leave-policy-save{display:flex;justify-content:flex-end;gap:9px}.leave-policy-save .primary-button,.leave-policy-save .outline-button{min-width:155px}.leave-document-field{padding:14px;border:1px dashed color-mix(in srgb,var(--hr-blue) 35%,var(--theme-line));border-radius:14px;background:color-mix(in srgb,var(--hr-blue) 5%,var(--surface))}.leave-document-field small{display:block;margin-top:7px;color:var(--text-muted);font-size:10px}.leave-document-field.required span:after{content:" *";color:var(--hr-coral)}
.leave-portion-panel{padding:15px 16px;border:1px solid color-mix(in srgb,var(--hr-blue) 26%,var(--theme-line));border-radius:15px;background:color-mix(in srgb,var(--hr-blue) 5%,var(--surface))}.leave-portion-panel>header{display:flex;align-items:center;gap:10px;margin-bottom:12px}.leave-portion-panel>header>span{display:grid;place-items:center;width:36px;height:36px;border-radius:11px;color:var(--hr-blue);background:color-mix(in srgb,var(--hr-blue) 12%,var(--surface))}.leave-portion-panel>header strong,.leave-portion-panel>header small{display:block}.leave-portion-panel>header strong{font-size:13px}.leave-portion-panel>header small{margin-top:2px;color:var(--text-muted);font-size:10px}.leave-single-portion>span{display:block;margin-bottom:7px;color:var(--text-muted);font-size:10px;font-weight:800}.leave-choice-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.leave-choice-row label{display:block!important;cursor:pointer}.leave-choice-row input{position:absolute;opacity:0;pointer-events:none}.leave-choice-row label>span{display:grid!important;min-height:42px;place-items:center;margin:0!important;padding:8px 10px;border:1px solid var(--theme-line);border-radius:11px;background:var(--surface);color:var(--text-main)!important;font-size:11px!important;font-weight:800!important}.leave-choice-row input:checked+span{border-color:var(--hr-blue);color:var(--hr-blue)!important;background:color-mix(in srgb,var(--hr-blue) 10%,var(--surface));box-shadow:0 0 0 2px color-mix(in srgb,var(--hr-blue) 9%,transparent)}.leave-range-portions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.leave-range-portions>label{display:flex!important;min-height:58px!important;flex-direction:row!important;align-items:center!important;gap:10px;padding:10px 12px;border:1px solid var(--theme-line);border-radius:12px;background:var(--surface);cursor:pointer}.leave-range-portions input{flex:0 0 18px;width:18px!important;min-height:18px!important}.leave-range-portions strong,.leave-range-portions small{display:block}.leave-range-portions strong{font-size:11px}.leave-range-portions small{margin-top:2px;color:var(--text-muted);font-size:9px}
.leave-advance-notice{display:flex;align-items:center;gap:10px;padding:11px 13px;border:1px solid color-mix(in srgb,var(--hr-blue) 22%,var(--theme-line));border-radius:12px;color:var(--hr-blue);background:color-mix(in srgb,var(--hr-blue) 6%,var(--surface))}.leave-advance-notice>i{font-size:17px}.leave-advance-notice strong,.leave-advance-notice small{display:block}.leave-advance-notice strong{font-size:11px}.leave-advance-notice small{margin-top:2px;color:var(--text-muted);font-size:9px}.leave-advance-notice.invalid{border-color:color-mix(in srgb,var(--hr-coral) 35%,var(--theme-line));color:var(--hr-coral);background:color-mix(in srgb,var(--hr-coral) 7%,var(--surface))}
.working-calendar-studio{margin-top:18px;padding:24px}.working-calendar-studio>.card-heading{align-items:center}.working-calendar-layout{display:grid;grid-template-columns:minmax(250px,.55fr) minmax(0,1.45fr);gap:18px;align-items:start}.calendar-directory{display:grid;gap:8px;padding:12px;border:1px solid var(--theme-line);border-radius:16px;background:var(--surface-2)}.calendar-directory>a{display:grid;grid-template-columns:38px minmax(0,1fr);align-items:center;gap:9px;padding:11px;border:1px solid var(--theme-line);border-radius:13px;color:var(--text-main);background:var(--surface);text-decoration:none}.calendar-directory>a.selected{border-color:var(--hr-blue);box-shadow:0 0 0 2px color-mix(in srgb,var(--hr-blue) 10%,transparent)}.calendar-directory>a>span{display:grid;place-items:center;width:38px;height:38px;border-radius:11px;color:var(--hr-blue);background:color-mix(in srgb,var(--hr-blue) 10%,var(--surface))}.calendar-directory strong,.calendar-directory small,.calendar-directory em{display:block}.calendar-directory strong{font-size:12px}.calendar-directory small{margin-top:2px;color:var(--text-muted);font-size:9px}.calendar-directory em{grid-column:2;color:var(--text-muted);font-size:9px}.calendar-workbench{display:grid;gap:15px}.calendar-policy-form,.holiday-manager{padding:17px;border:1px solid var(--theme-line);border-radius:16px;background:var(--surface)}.calendar-policy-form fieldset{margin:0 0 16px;padding:13px;border:1px solid var(--theme-line);border-radius:13px}.calendar-policy-form legend{float:none;width:auto;margin:0;padding:0 6px;font-size:11px;font-weight:900}.week-day-picker{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}.week-day-picker label{cursor:pointer}.week-day-picker input{position:absolute;opacity:0}.week-day-picker span{display:grid!important;min-height:38px;place-items:center;margin:0!important;border:1px solid var(--theme-line);border-radius:9px;background:var(--surface-2);font-size:10px!important;font-weight:800!important}.week-day-picker input:checked+span{border-color:var(--hr-coral);color:var(--hr-coral);background:color-mix(in srgb,var(--hr-coral) 8%,var(--surface))}.field-help{display:block;margin-top:5px;color:var(--text-muted);font-size:9px}.custom-saturday-picker{padding:10px;border:1px dashed var(--theme-line);border-radius:12px;background:var(--surface-2)}.custom-saturday-picker>span{display:block;margin-bottom:7px;color:var(--text-muted);font-size:10px;font-weight:800}.custom-saturday-picker>div{display:flex;flex-wrap:wrap;gap:6px}.custom-saturday-picker label{cursor:pointer}.custom-saturday-picker input{position:absolute;opacity:0}.custom-saturday-picker label span{display:block!important;margin:0!important;padding:6px 9px;border:1px solid var(--theme-line);border-radius:8px;background:var(--surface);font-size:9px!important;font-weight:800!important}.custom-saturday-picker input:checked+span{border-color:var(--hr-blue);color:var(--hr-blue);background:color-mix(in srgb,var(--hr-blue) 8%,var(--surface))}.holiday-manager-head strong,.holiday-manager-head small{display:block}.holiday-manager-head strong{font-size:13px}.holiday-manager-head small{margin-top:3px;color:var(--text-muted);font-size:9px}.holiday-add-form{display:grid;grid-template-columns:190px minmax(220px,1fr) auto;align-items:end;gap:10px;margin:14px 0}.holiday-add-form label{display:flex;flex-direction:column;margin:0}.holiday-add-form label>span{margin-bottom:6px;color:var(--text-muted);font-size:10px;font-weight:800}.holiday-add-form input{min-height:44px;padding:9px 11px;border:1px solid var(--theme-line);border-radius:11px;background:var(--surface);color:var(--text-main)}.holiday-add-form button{min-height:44px}.holiday-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.holiday-list>article{display:grid;grid-template-columns:36px minmax(0,1fr) auto;align-items:center;gap:9px;padding:10px;border:1px solid var(--theme-line);border-radius:12px;background:var(--surface-2)}.holiday-list>article>span{display:grid;place-items:center;width:36px;height:36px;border-radius:10px;color:var(--hr-coral);background:color-mix(in srgb,var(--hr-coral) 9%,var(--surface))}.holiday-list strong,.holiday-list small{display:block}.holiday-list strong{font-size:11px}.holiday-list small{margin-top:2px;color:var(--text-muted);font-size:9px}.sandwich-policy-box{display:grid;grid-column:1/-1;grid-template-columns:42px minmax(0,1fr);gap:11px;padding:13px;border:1px solid color-mix(in srgb,var(--hr-gold) 32%,var(--theme-line));border-radius:13px;background:color-mix(in srgb,var(--hr-gold) 7%,var(--surface))}.sandwich-policy-box>span{display:grid;place-items:center;width:42px;height:42px;border-radius:12px;color:#a86c00;background:color-mix(in srgb,var(--hr-gold) 18%,var(--surface))}.sandwich-policy-box strong,.sandwich-policy-box small{display:block}.sandwich-policy-box strong{font-size:12px}.sandwich-policy-box small{margin-top:2px;color:var(--text-muted);font-size:9px}.sandwich-policy-box>div>div{display:flex;flex-wrap:wrap;gap:15px;margin-top:8px}.sandwich-policy-box .check-field{margin:0!important}

.payroll-input-workbench{grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch}
.payroll-input-workbench>article{padding:22px}
.payroll-input-workbench>article:last-child{grid-column:1/-1}
.payroll-input-workbench>article:last-child .form-grid.cols-2{grid-template-columns:repeat(3,minmax(0,1fr))}
.payroll-input-workbench .admin-form{height:auto}
.payroll-input-workbench .admin-form>.primary-button{width:auto;min-width:190px;align-self:flex-start}
.salary-component-inputs label{min-width:0}.salary-component-inputs label>span{min-width:125px}
.self-service-actions{grid-template-columns:repeat(2,minmax(0,1fr))}
.self-service-actions .content-card{padding:22px}
.self-service-actions .admin-form>.primary-button{min-width:150px}

:is(#attendanceEntry,#regularizationRequest,#leaveRequest) .modal-dialog{width:min(900px,calc(100vw - 32px));max-width:900px;margin:24px auto}
:is(#attendanceEntry,#regularizationRequest,#leaveRequest) .modal-content{max-height:calc(100vh - 48px);overflow:hidden;border:0;border-radius:22px;background:var(--surface);box-shadow:0 28px 80px rgba(15,31,52,.28)}
:is(#attendanceEntry,#regularizationRequest,#leaveRequest) .modal-header{padding:21px 24px 18px;border-bottom:1px solid var(--theme-line);background:var(--surface)}
:is(#attendanceEntry,#regularizationRequest,#leaveRequest) .modal-header h2{font-size:24px}
:is(#attendanceEntry,#regularizationRequest,#leaveRequest) .modal-header .section-kicker{font-size:10px}
:is(#attendanceEntry,#regularizationRequest,#leaveRequest) form{display:flex;min-height:0;flex:1 1 auto;flex-direction:column}
:is(#attendanceEntry,#regularizationRequest,#leaveRequest) .modal-body{display:grid;gap:18px;min-height:0;padding:24px;overflow-y:auto;background:color-mix(in srgb,var(--surface-2) 38%,var(--surface))}
:is(#attendanceEntry,#regularizationRequest,#leaveRequest) .form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px 18px}
:is(#attendanceEntry,#regularizationRequest,#leaveRequest) label{display:flex;min-width:0;flex-direction:column;margin:0;color:var(--text-main)}
:is(#attendanceEntry,#regularizationRequest,#leaveRequest) label>span{display:block;margin:0 0 7px;color:var(--text-muted);font-size:11px;font-weight:800;letter-spacing:.025em;line-height:1.35}
:is(#attendanceEntry,#regularizationRequest,#leaveRequest) :is(input,select,textarea),:is(#attendanceEntry,#regularizationRequest,#leaveRequest) .modern-select-trigger{box-sizing:border-box;width:100%;min-width:0;min-height:48px;padding:11px 13px;border:1px solid var(--theme-line);border-radius:12px;background:var(--surface);color:var(--text-main);font-size:13px!important;line-height:1.35;outline:none}
:is(#attendanceEntry,#regularizationRequest,#leaveRequest) textarea{display:block;min-height:100px;resize:vertical}
.payroll-history-table{width:calc(100% - 4px);margin:20px 2px 2px;padding:8px;border:1px solid var(--theme-line);border-radius:15px;background:var(--surface-2)}.payroll-ledger-table{border-collapse:separate;border-spacing:0;border-radius:11px;background:var(--surface);overflow:hidden}.payroll-ledger-table th,.payroll-ledger-table td{padding:14px 16px}.payroll-ledger-table thead th{padding-top:13px;padding-bottom:13px}.payroll-ledger-table tbody tr:last-child td{border-bottom:0}.payroll-ledger-table th:first-child,.payroll-ledger-table td:first-child{padding-left:18px}.payroll-ledger-table th:last-child,.payroll-ledger-table td:last-child{padding-right:18px}.payroll-period-cell{gap:12px}
:is(#attendanceEntry,#regularizationRequest,#leaveRequest) :is(input,select,textarea):focus{border-color:var(--teal);box-shadow:0 0 0 3px color-mix(in srgb,var(--teal) 12%,transparent)}
:is(#attendanceEntry,#regularizationRequest,#leaveRequest) .modern-select{width:100%;min-width:0}
:is(#attendanceEntry,#regularizationRequest,#leaveRequest) .modal-footer{display:flex;gap:10px;padding:14px 24px;border-top:1px solid var(--theme-line);background:var(--surface)}
:is(#attendanceEntry,#regularizationRequest,#leaveRequest) .modal-footer button{min-height:44px;padding:10px 18px}
#leaveRequest .modal-body>.form-grid:last-of-type{grid-template-columns:minmax(240px,.8fr) minmax(0,1.2fr)}
#leaveRequest .modal-body>.form-grid:first-of-type{grid-template-columns:minmax(230px,1.2fr) repeat(2,minmax(175px,1fr))}

.hr-attendance-top form input[type="date"]{min-width:175px;min-height:44px;padding:9px 12px;border:1px solid var(--theme-line);border-radius:11px;background:var(--surface);color:var(--text-main)}
@media(max-width:1199px){.hr-settings-grid{grid-template-columns:1fr}.hr-settings-grid>article:first-child{grid-column:auto}.leave-policy-layout,.working-calendar-layout{grid-template-columns:1fr}.leave-policy-directory,.calendar-directory{grid-template-columns:repeat(2,minmax(0,1fr))}.leave-policy-directory>header{grid-column:1/-1}.payroll-input-workbench{grid-template-columns:1fr}.payroll-input-workbench>article:last-child{grid-column:auto}.payroll-input-workbench>article:last-child .form-grid.cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:767px){.hr-suite .admin-form .form-grid.cols-2,.hr-suite .admin-form .form-grid.cols-3,.payroll-input-workbench>article:last-child .form-grid.cols-2,.self-service-actions{grid-template-columns:1fr}.leave-policy-studio{padding:18px}.leave-policy-directory,.approval-step-picker{grid-template-columns:1fr}.leave-policy-item-head{grid-template-columns:38px minmax(0,1fr)}.leave-policy-item-head em{grid-column:2}.leave-policy-save{flex-direction:column}.leave-policy-save .primary-button,.leave-policy-save .outline-button{width:100%}:is(#attendanceEntry,#regularizationRequest,#leaveRequest) .modal-dialog{width:calc(100vw - 20px);margin:10px}:is(#attendanceEntry,#regularizationRequest,#leaveRequest) .modal-content{max-height:calc(100vh - 20px)}:is(#attendanceEntry,#regularizationRequest,#leaveRequest) .modal-header{padding:17px 18px 14px}:is(#attendanceEntry,#regularizationRequest,#leaveRequest) .modal-header h2{font-size:20px}:is(#attendanceEntry,#regularizationRequest,#leaveRequest) .modal-body{padding:18px}:is(#attendanceEntry,#regularizationRequest,#leaveRequest) .form-grid,#leaveRequest .modal-body>.form-grid:last-of-type{grid-template-columns:1fr}:is(#attendanceEntry,#regularizationRequest,#leaveRequest) .modal-footer{padding:12px 18px}:is(#attendanceEntry,#regularizationRequest,#leaveRequest) .modal-footer button{flex:1}.hr-settings-grid .content-card,.payroll-input-workbench>article,.self-service-actions .content-card{padding:18px}.hr-onboarding-policy .admin-form>.primary-button,.payroll-input-workbench .admin-form>.primary-button{width:100%;min-width:0}}
@media(max-width:600px){.leave-choice-row,.leave-range-portions,.calendar-directory,.holiday-list,.holiday-add-form{grid-template-columns:1fr}.leave-choice-row{gap:6px}.leave-choice-row label>span{min-height:38px}.leave-portion-panel,.working-calendar-studio{padding:13px}.week-day-picker{grid-template-columns:repeat(4,minmax(0,1fr))}.holiday-add-form button{width:100%}.sandwich-policy-box{grid-template-columns:1fr}.sandwich-policy-box>span{display:none}}

/* HR command centre, personal leave account and approval worklist */
.approval-command-head,.my-leave-hero{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:18px;padding:22px 24px;border:1px solid var(--theme-line);border-radius:20px;background:linear-gradient(125deg,color-mix(in srgb,var(--hr-blue) 9%,var(--surface)),var(--surface));box-shadow:var(--shadow-sm)}
.approval-command-head h2,.my-leave-hero h2{margin:3px 0 4px;font-size:24px}.approval-command-head p,.my-leave-hero p{margin:0;color:var(--text-muted);font-size:12px}.approval-command-head>div:last-child{display:flex;min-width:165px;flex-direction:column;align-items:flex-end}.approval-command-head>div:last-child strong{color:var(--hr-blue);font-family:var(--heading);font-size:34px;line-height:1}.approval-command-head>div:last-child span{margin-top:5px;color:var(--text-muted);font-size:10px;font-weight:800;text-transform:uppercase}
.approval-filter-bar{display:grid;grid-template-columns:repeat(5,minmax(145px,1fr)) auto;align-items:end;gap:12px;margin-bottom:18px;padding:15px 17px;border:1px solid var(--theme-line);border-radius:16px;background:var(--surface)}.approval-filter-bar label,.leave-history-filters label{display:flex;min-width:0;flex-direction:column;margin:0}.approval-filter-bar label>span,.leave-history-filters label>span{margin:0 0 6px;color:var(--text-muted);font-size:10px;font-weight:800}.approval-filter-bar :is(select,input),.leave-history-filters select{width:100%;min-height:44px;padding:9px 12px;border:1px solid var(--theme-line);border-radius:11px;background:var(--surface);color:var(--text-main);font-size:12px}.approval-filter-bar>.primary-button{min-height:44px;white-space:nowrap}.approval-owner{display:flex!important;align-items:center;gap:6px;margin-top:7px;color:var(--hr-blue)!important;font-weight:700}.cancellation-approval-card{margin-bottom:18px}
.employee-action-icons{display:flex;align-items:center;gap:7px;white-space:nowrap}.employee-action-icons .icon-action{display:inline-flex}.hr-employee-table th:last-child,.hr-employee-table td:last-child{min-width:104px;text-align:center}
.my-leave-hero .hr-person.large{align-items:center}.my-leave-hero .hr-person.large>span{width:58px;height:58px;font-size:18px}.my-leave-hero .hr-person.large small{color:var(--hr-blue);font-size:9px;font-weight:900;letter-spacing:.11em}.my-leave-hero .inline-actions{flex-wrap:wrap;justify-content:flex-end}
.leave-account-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;margin-bottom:18px}.leave-account-grid>article{min-width:0;padding:18px;border:1px solid var(--theme-line);border-radius:17px;background:var(--surface);box-shadow:var(--shadow-sm)}.leave-account-grid>article>header{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:10px}.leave-account-grid>article>header>span{display:grid;min-width:42px;height:42px;padding:0 8px;place-items:center;border-radius:12px;color:#fff;background:linear-gradient(135deg,var(--hr-blue),var(--hr-cyan));font-size:10px;font-weight:900}.leave-account-grid header strong,.leave-account-grid header small{display:block}.leave-account-grid header strong{font-size:13px}.leave-account-grid header small{margin-top:2px;color:var(--text-muted);font-size:9px}.leave-account-values{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin:16px 0 12px}.leave-account-values>button{min-width:0;padding:10px 6px;border:1px solid transparent;border-radius:11px;color:var(--text);background:var(--surface-2);text-align:center;cursor:pointer;transition:transform .18s ease,border-color .18s ease,background .18s ease}.leave-account-values>button:hover,.leave-account-values>button:focus-visible{transform:translateY(-2px);border-color:color-mix(in srgb,var(--hr-blue) 45%,var(--theme-line));background:color-mix(in srgb,var(--hr-blue) 7%,var(--surface));outline:none}.leave-account-values small,.leave-account-values strong,.leave-account-values em{display:block}.leave-account-values small{overflow:hidden;color:var(--text-muted);font-size:9px;font-weight:700;text-overflow:ellipsis}.leave-account-values strong{margin-top:3px;font-size:17px}.leave-account-values em{margin-top:4px;color:var(--hr-blue);font-size:7px;font-style:normal;font-weight:800;white-space:nowrap}.leave-account-values em i{margin-left:2px}.leave-account-grid>article>i{display:block;height:6px;overflow:hidden;border-radius:99px;background:var(--surface-2)}.leave-account-grid>article>i>b{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--hr-blue),var(--hr-cyan))}.leave-account-detail-modal .modal-body{padding:20px}.leave-detail-summary{display:flex;align-items:center;gap:12px;margin-bottom:15px;padding:14px 16px;border:1px solid color-mix(in srgb,var(--hr-blue) 25%,var(--theme-line));border-radius:14px;background:color-mix(in srgb,var(--hr-blue) 7%,var(--surface))}.leave-detail-summary>i{display:grid;width:42px;height:42px;flex:0 0 42px;place-items:center;border-radius:13px;color:#fff;background:linear-gradient(135deg,var(--hr-blue),var(--hr-cyan));font-size:17px}.leave-detail-summary strong,.leave-detail-summary span{display:block}.leave-detail-summary strong{font-size:14px}.leave-detail-summary span{margin-top:2px;color:var(--text-muted);font-size:11px}.leave-detail-summary.utilised>i{background:linear-gradient(135deg,#4c5bd4,#8a63d2)}.leave-detail-summary.applied>i{background:linear-gradient(135deg,#d07828,#e8a33e)}.leave-detail-table{min-width:780px}.leave-detail-table th,.leave-detail-table td{vertical-align:middle}.leave-detail-table code{color:var(--text-muted);font-size:10px}.leave-detail-table .negative{color:var(--danger)}
.leave-history-card .card-heading{align-items:flex-end}.leave-history-filters{display:grid;grid-template-columns:150px 170px;gap:9px;flex:0 0 auto}.leave-history-table{min-width:900px}.leave-history-table td:last-child{min-width:180px}.leave-history-table form{margin:0}.outline-button.danger{color:var(--hr-coral);border-color:color-mix(in srgb,var(--hr-coral) 35%,var(--theme-line))}
#leaveCancellationModal .modal-content{border:0;border-radius:20px;background:var(--surface)}#leaveCancellationModal .modal-header,#leaveCancellationModal .modal-body,#leaveCancellationModal .modal-footer{padding-left:24px;padding-right:24px}#leaveCancellationModal .modal-body label{display:flex;flex-direction:column;gap:7px}#leaveCancellationModal textarea{width:100%;min-height:110px;padding:12px;border:1px solid var(--theme-line);border-radius:12px;background:var(--surface);color:var(--text-main);font-size:13px}
@media(max-width:1199px){.approval-filter-bar{grid-template-columns:repeat(3,minmax(150px,1fr))}.leave-account-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:767px){.approval-command-head,.my-leave-hero{align-items:flex-start;flex-direction:column;padding:18px}.approval-command-head>div:last-child{align-items:flex-start}.approval-filter-bar{grid-template-columns:1fr}.leave-account-grid{grid-template-columns:1fr}.leave-history-card .card-heading{align-items:flex-start;flex-direction:column}.leave-history-filters{width:100%;grid-template-columns:1fr 1fr}.my-leave-hero .inline-actions{width:100%;justify-content:flex-start}}
@media(max-width:480px){.leave-history-filters{grid-template-columns:1fr}.leave-account-values{gap:4px}.leave-account-values>span{padding:8px 4px}}

/* Monthly staff attendance matrix */
.attendance-matrix-studio{margin-bottom:20px;overflow:visible}.attendance-matrix-studio>.card-heading{align-items:flex-start}.attendance-report-filters{display:grid;grid-template-columns:repeat(4,minmax(165px,1fr));gap:12px;margin:18px 0;padding:16px;border:1px solid var(--theme-line);border-radius:17px;background:var(--surface-2)}.attendance-report-filters>label{display:flex;min-width:0;flex-direction:column;margin:0}.attendance-report-filters>label>span,.attendance-report-filters>.dashboard-multiselect>span{min-height:18px;margin:0 0 6px;color:var(--text-muted);font-size:9px;font-weight:850;letter-spacing:.04em;text-transform:uppercase}.attendance-report-filters input[type="month"]{width:100%;min-height:44px;padding:9px 12px;border:1px solid var(--theme-line);border-radius:11px;background:var(--surface);color:var(--text-main);font-size:12px}.attendance-report-filters .dashboard-multiselect{position:relative;min-width:0}.attendance-report-filters .dashboard-multiselect-menu{max-height:340px;overflow:auto}.attendance-filter-search{position:sticky;top:-8px;z-index:2;display:flex;align-items:center;gap:7px;margin:-1px 0 6px;padding:7px 8px;border-bottom:1px solid var(--theme-line);background:var(--surface)}.attendance-filter-search i{color:var(--hr-blue)}.attendance-filter-search input{width:100%;min-height:34px;border:0;outline:0;background:transparent;color:var(--text-main);font-size:11px}.attendance-employee-options{display:grid;max-height:225px;overflow:auto}.attendance-employee-options>label{display:grid;grid-template-columns:18px minmax(0,1fr) 16px;align-items:center;gap:8px;min-height:42px;padding:7px 9px;border-radius:8px;cursor:pointer}.attendance-employee-options>label:hover{background:var(--surface-2)}.attendance-employee-options>label span,.attendance-employee-options>label small{display:block}.attendance-employee-options>label span{font-size:11px}.attendance-employee-options>label small{margin-top:1px;color:var(--text-muted);font-size:8px}.attendance-employee-options>label>i{color:var(--hr-blue);opacity:0}.attendance-employee-options>label:has(input:checked){color:var(--hr-blue);background:color-mix(in srgb,var(--hr-blue) 9%,var(--surface))}.attendance-employee-options>label:has(input:checked)>i{opacity:1}.attendance-filter-actions{display:flex;align-items:end;justify-content:flex-end;gap:8px;grid-column:span 4}.attendance-report-summary{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin-bottom:14px}.attendance-report-summary>article{display:grid;grid-template-columns:38px minmax(0,1fr);align-items:center;gap:9px;padding:11px 12px;border:1px solid var(--theme-line);border-radius:13px;background:var(--surface)}.attendance-report-summary>article>span{display:grid;width:38px;height:38px;place-items:center;border-radius:11px;color:var(--hr-blue);background:color-mix(in srgb,var(--hr-blue) 10%,var(--surface));font-size:15px}.attendance-report-summary small,.attendance-report-summary strong{display:block}.attendance-report-summary small{color:var(--text-muted);font-size:8px;font-weight:800}.attendance-report-summary strong{margin-top:2px;font-size:15px}.attendance-code-legend{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:12px}.attendance-code-legend span{display:flex;align-items:center;gap:5px;padding:5px 8px;border:1px solid var(--theme-line);border-radius:999px;color:var(--text-muted);background:var(--surface);font-size:8px;font-weight:700}.attendance-code-legend b{display:grid;min-width:25px;height:20px;padding:0 4px;place-items:center;border-radius:6px;color:var(--text-main);background:var(--surface-2);font-size:8px}.attendance-matrix-scroll{max-width:100%;overflow:auto;border:1px solid var(--theme-line);border-radius:15px;background:var(--surface);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--theme-line) 30%,transparent)}.attendance-matrix-table{width:max-content;min-width:100%;border-collapse:separate;border-spacing:0;color:var(--text-main);font-size:9px}.attendance-matrix-table th,.attendance-matrix-table td{height:46px;padding:7px 8px;border-right:1px solid var(--theme-line);border-bottom:1px solid var(--theme-line);background:var(--surface);text-align:center;white-space:nowrap}.attendance-matrix-table thead th{position:sticky;top:0;z-index:5;height:54px;color:#fff;background:#273b78;font-size:8px;font-weight:850;letter-spacing:.03em;text-transform:uppercase}.attendance-matrix-table thead th.weekend{background:#334b8f}.attendance-matrix-table th strong,.attendance-matrix-table th small{display:block}.attendance-matrix-table th strong{font-size:11px}.attendance-matrix-table th small{margin-top:2px;color:#cfdbff;font-size:7px}.attendance-matrix-table .staff-column{position:sticky;left:0;z-index:3;width:190px;min-width:190px;text-align:left}.attendance-matrix-table thead .staff-column{z-index:8}.attendance-matrix-table tbody .staff-column{background:var(--surface)}.attendance-matrix-table .staff-column strong,.attendance-matrix-table .staff-column small{display:block}.attendance-matrix-table .staff-column strong{font-size:10px}.attendance-matrix-table .staff-column small{margin-top:2px;color:var(--text-muted);font-size:8px}.attendance-matrix-table .organisation-column{width:125px;min-width:125px;text-align:left}.attendance-matrix-table .shift-column{width:105px;min-width:105px;text-align:left}.attendance-matrix-table .day-column,.attendance-matrix-table .attendance-cell{width:58px;min-width:58px}.attendance-matrix-table .attendance-cell{font-weight:850;font-variant-numeric:tabular-nums}.attendance-matrix-table .punch-cell{width:94px;min-width:94px;font-size:8px}.attendance-matrix-table .total-column{width:48px;min-width:48px;font-weight:900}.attendance-matrix-table .hours-total-column{width:80px;min-width:80px;font-weight:900}.attendance-matrix-table tbody tr:hover td{background:color-mix(in srgb,var(--hr-blue) 4%,var(--surface))}.attendance-matrix-table tbody tr:hover .staff-column{background:color-mix(in srgb,var(--hr-blue) 4%,var(--surface))}.attendance-matrix-table .code-fd{color:#167253;background:color-mix(in srgb,#2ca678 9%,var(--surface))}.attendance-matrix-table .code-hd{color:#966311;background:color-mix(in srgb,#e0a22d 10%,var(--surface))}.attendance-matrix-table .code-ab{color:#bd3349;background:color-mix(in srgb,#d9485f 9%,var(--surface))}.attendance-matrix-table .code-pl{color:#4b55c5;background:color-mix(in srgb,#5966df 9%,var(--surface))}.attendance-matrix-table .code-ul{color:#a34a2f;background:color-mix(in srgb,#de6a46 9%,var(--surface))}.attendance-matrix-table .code-hol{color:#7a4daf;background:color-mix(in srgb,#8e60c8 9%,var(--surface))}.attendance-matrix-table .code-wo{color:var(--text-muted);background:var(--surface-2)}.attendance-matrix-table .code-ch{color:#b56913;background:color-mix(in srgb,#ef9e32 12%,var(--surface))}.attendance-matrix-table tr:last-child td{border-bottom:0}.attendance-matrix-table th:last-child,.attendance-matrix-table td:last-child{border-right:0}
@media(max-width:1199px){.attendance-report-filters{grid-template-columns:repeat(3,minmax(160px,1fr))}.attendance-filter-actions{grid-column:span 3}.attendance-report-summary{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:767px){.attendance-matrix-studio>.card-heading{gap:12px;flex-direction:column}.attendance-report-filters{grid-template-columns:1fr}.attendance-filter-actions{grid-column:1;justify-content:stretch}.attendance-filter-actions>*{flex:1}.attendance-report-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.attendance-report-filters .dashboard-multiselect-menu{position:absolute}.attendance-matrix-table .organisation-column,.attendance-matrix-table .shift-column{display:none}}

.hr-report-picker{position:relative;z-index:20;margin-bottom:14px;border:1px solid color-mix(in srgb,var(--hr-blue) 25%,var(--theme-line));border-radius:22px;background:linear-gradient(120deg,color-mix(in srgb,var(--hr-blue) 10%,var(--surface)),var(--surface) 58%,color-mix(in srgb,var(--hr-cyan) 9%,var(--surface)));box-shadow:var(--shadow-sm)}.hr-report-picker>summary{display:grid;grid-template-columns:58px minmax(0,1fr) auto;align-items:center;gap:14px;min-height:92px;padding:16px 18px;cursor:pointer;list-style:none}.hr-report-picker>summary::-webkit-details-marker{display:none}.hr-report-picker-icon{display:grid;width:54px;height:54px;place-items:center;border-radius:17px;color:#fff;background:linear-gradient(135deg,var(--hr-blue),var(--hr-cyan));font-size:21px;box-shadow:0 10px 24px color-mix(in srgb,var(--hr-blue) 22%,transparent)}.hr-report-picker-copy{min-width:0}.hr-report-picker-copy small,.hr-report-picker-copy strong,.hr-report-picker-copy em{display:block}.hr-report-picker-copy small{margin-bottom:3px;color:var(--hr-blue);font-size:9px;font-weight:900;letter-spacing:.1em}.hr-report-picker-copy strong{font-size:18px;line-height:1.25}.hr-report-picker-copy em{margin-top:3px;overflow:hidden;color:var(--text-muted);font-size:11px;font-style:normal;text-overflow:ellipsis;white-space:nowrap}.hr-report-picker-action{display:flex;align-items:center;gap:9px;padding:10px 13px;border:1px solid var(--theme-line);border-radius:12px;background:var(--surface);font-size:11px}.hr-report-picker[open] .hr-report-picker-action i{transform:rotate(180deg)}.hr-report-picker-menu{position:absolute;top:calc(100% + 8px);right:0;left:0;padding:18px;border:1px solid var(--theme-line);border-radius:20px;background:var(--surface);box-shadow:0 24px 55px rgba(20,30,60,.2)}.hr-report-picker-head{display:flex;align-items:flex-end;justify-content:space-between;gap:14px;margin-bottom:13px;padding:0 2px}.hr-report-picker-head h2{margin:3px 0 0;font-size:18px}.hr-report-picker-head>small{color:var(--text-muted);font-weight:700}.hr-report-picker-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.hr-report-choice{display:grid;grid-template-columns:42px minmax(0,1fr) auto 16px;align-items:center;gap:10px;min-height:68px;padding:10px 12px;border:1px solid var(--theme-line);border-radius:15px;color:var(--text-main);background:var(--surface-2);text-decoration:none}.hr-report-choice:hover,.hr-report-choice.active{border-color:color-mix(in srgb,var(--hr-blue) 45%,var(--theme-line));background:color-mix(in srgb,var(--hr-blue) 8%,var(--surface))}.hr-report-choice>span{display:grid;width:40px;height:40px;place-items:center;border-radius:12px;color:var(--hr-blue);background:color-mix(in srgb,var(--hr-blue) 11%,var(--surface));font-size:16px}.hr-report-choice strong,.hr-report-choice small{display:block}.hr-report-choice strong{font-size:12px}.hr-report-choice small{margin-top:2px;color:var(--text-muted);font-size:9px;line-height:1.35}.hr-report-choice em{padding:4px 7px;border-radius:999px;color:var(--text-muted);background:var(--surface);font-size:8px;font-style:normal;font-weight:800}.hr-report-choice.active>i{color:var(--hr-blue)}.hr-report-result{margin-bottom:18px}.hr-report-filter-panel{min-width:260px;border:1px solid var(--theme-line);border-radius:13px;background:var(--surface-2)}.hr-report-filter-panel>summary{display:grid;grid-template-columns:auto 1fr 14px;align-items:center;gap:9px;min-height:42px;padding:9px 11px;cursor:pointer;list-style:none}.hr-report-filter-panel>summary::-webkit-details-marker{display:none}.hr-report-filter-panel>summary>span{display:flex;align-items:center;gap:7px;font-size:10px;font-weight:850}.hr-report-filter-panel>summary>span i{color:var(--hr-blue)}.hr-report-filter-panel>summary small{overflow:hidden;color:var(--text-muted);font-size:9px;text-align:right;text-overflow:ellipsis;white-space:nowrap}.hr-report-filter-panel>summary>i{color:var(--text-muted);font-size:10px;transition:transform .2s}.hr-report-filter-panel[open]>summary>i{transform:rotate(180deg)}.hr-report-period-form{display:flex;align-items:end;justify-content:flex-end;gap:8px;padding:10px;border-top:1px solid var(--theme-line)}.hr-report-period-form label{margin:0}.hr-report-period-form label>span:first-child{display:block;margin-bottom:5px;color:var(--text-muted);font-size:9px;font-weight:850;text-transform:uppercase}.hr-month-picker{display:flex!important;align-items:center;gap:6px;min-height:40px;margin:0!important;padding:0 9px;border:1px solid var(--theme-line);border-radius:11px;color:var(--hr-blue)!important;background:var(--surface)}.hr-month-picker input{min-width:145px;min-height:38px;padding:7px 4px!important;border:0!important;outline:0;color:var(--text-main);background:transparent!important;color-scheme:inherit}.hr-report-filter-actions{display:flex;align-items:center;gap:7px}.hr-report-export{width:42px;height:42px;flex:0 0 42px;color:#fff!important;border-color:transparent!important;background:linear-gradient(135deg,var(--hr-blue),var(--hr-cyan))!important}.attendance-filter-panel{min-width:0;margin:0 0 16px}.attendance-filter-panel>summary{grid-template-columns:auto 1fr 14px}.attendance-filter-panel .attendance-report-filters{margin:0;border:0;border-top:1px solid var(--theme-line);border-radius:0 0 13px 13px}
@media(max-width:767px){.hr-report-picker>summary{grid-template-columns:48px minmax(0,1fr);padding:13px}.hr-report-picker-icon{width:46px;height:46px}.hr-report-picker-action{grid-column:1/-1;justify-content:center}.hr-report-picker-menu{position:fixed;z-index:100;top:72px;right:12px;bottom:12px;left:12px;overflow:auto}.hr-report-picker-options{grid-template-columns:1fr}.hr-report-picker-head{align-items:flex-start;flex-direction:column}.hr-report-result>.card-heading{align-items:stretch;flex-direction:column}.hr-report-filter-panel{width:100%;min-width:0}.hr-report-period-form{align-items:stretch;flex-direction:column}.hr-month-picker input{width:100%;min-width:0}.hr-report-filter-actions{justify-content:flex-end}.hr-report-filter-actions .outline-button{flex:1}.attendance-filter-actions .hr-report-export{flex:0 0 42px}}

/* Personal work intelligence dashboard */
.work-dashboard{--work-blue:#3568d4;--work-cyan:#20a9bd;--work-coral:#e36b55;--work-gold:#d69a25}.work-dashboard-hero{display:flex;align-items:center;justify-content:space-between;gap:22px;margin-bottom:16px;padding:24px;border:1px solid var(--theme-line);border-radius:22px;background:linear-gradient(125deg,color-mix(in srgb,var(--work-blue) 12%,var(--surface)),var(--surface) 62%,color-mix(in srgb,var(--work-cyan) 8%,var(--surface)));box-shadow:var(--shadow)}.work-dashboard-hero .hr-person.large>span{width:62px;height:62px;background:linear-gradient(135deg,var(--work-blue),var(--work-cyan));font-size:18px}.work-dashboard-hero h1{margin:3px 0;font-size:25px}.work-dashboard-hero small{color:var(--work-blue);font-size:9px;font-weight:900;letter-spacing:.12em}.work-dashboard-hero p{margin:0;color:var(--text-muted);font-size:11px}.work-dashboard-controls{display:flex;width:min(390px,100%);align-items:flex-end;gap:10px}.work-dashboard-controls label{display:flex;flex-direction:column;margin:0}.work-dashboard-controls label>span{margin:0 0 6px;color:var(--text-muted);font-size:9px;font-weight:800}.work-dashboard-controls label>small{margin-top:5px;color:var(--text-muted);font-size:9px;font-weight:600;letter-spacing:0}.employee-workspace-search{position:relative;width:100%}.employee-search-input{display:grid;min-height:46px;grid-template-columns:20px minmax(0,1fr) 20px;align-items:center;gap:8px;padding:0 12px;border:1px solid var(--theme-line);border-radius:13px;background:var(--surface);box-shadow:0 8px 22px color-mix(in srgb,var(--work-blue) 6%,transparent);transition:border-color .2s,box-shadow .2s}.employee-search-input:focus-within{border-color:color-mix(in srgb,var(--work-blue) 65%,var(--theme-line));box-shadow:0 0 0 3px color-mix(in srgb,var(--work-blue) 12%,transparent),0 10px 24px color-mix(in srgb,var(--work-blue) 9%,transparent)}.employee-search-input>i:first-child{color:var(--work-blue);font-size:14px}.employee-search-input input{width:100%;min-height:44px;padding:0;border:0;outline:0;color:var(--text-main);background:transparent;font-size:12px}.employee-search-input input::placeholder{color:var(--text-muted)}.employee-search-spinner{visibility:hidden;color:var(--work-blue);font-size:13px}.employee-workspace-search.is-loading .employee-search-spinner{visibility:visible;animation:employeeSearchSpin .75s linear infinite}.employee-workspace-search.is-switching{pointer-events:none;opacity:.65}.employee-search-results{position:absolute;z-index:90;top:calc(100% + 8px);right:0;left:0;max-height:320px;overflow:auto;padding:7px;border:1px solid var(--theme-line);border-radius:15px;background:var(--surface);box-shadow:0 20px 48px rgba(20,30,60,.2)}.employee-search-option{display:grid;width:100%;grid-template-columns:38px minmax(0,1fr) 18px;align-items:center;gap:10px;padding:9px;border:0;border-radius:11px;color:var(--text-main);background:transparent;text-align:left;transition:background .15s,transform .15s}.employee-search-option:hover,.employee-search-option.active{background:color-mix(in srgb,var(--work-blue) 9%,var(--surface));transform:translateX(2px)}.employee-search-avatar{display:grid;width:38px;height:38px;place-items:center;border-radius:11px;color:#fff;background:linear-gradient(135deg,var(--work-blue),var(--work-cyan));font-size:10px;font-weight:900}.employee-search-copy{min-width:0}.employee-search-copy strong,.employee-search-copy small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.employee-search-copy strong{font-size:11px}.employee-search-copy small{margin-top:3px;color:var(--text-muted);font-size:9px;letter-spacing:0}.employee-search-option>i{color:var(--work-blue)}.employee-search-message{display:flex;align-items:center;justify-content:center;gap:8px;min-height:58px;padding:10px;color:var(--text-muted);font-size:10px;font-weight:700}.employee-search-message i{color:var(--work-blue)}@keyframes employeeSearchSpin{to{transform:rotate(360deg)}}
.month-command{display:grid;grid-template-columns:46px minmax(140px,1fr) auto 46px;align-items:center;gap:9px;margin-bottom:16px;padding:10px;border:1px solid var(--theme-line);border-radius:16px;background:var(--surface);box-shadow:var(--shadow-sm)}.month-command>a{display:grid;width:42px;height:42px;place-items:center;border-radius:11px;color:var(--work-blue);background:color-mix(in srgb,var(--work-blue) 9%,var(--surface));font-size:17px}.month-command>a.disabled{pointer-events:none;opacity:.35}.month-command>div small,.month-command>div strong{display:block}.month-command>div small{color:var(--text-muted);font-size:8px;font-weight:900;letter-spacing:.12em}.month-command>div strong{font-size:16px}.month-command input{min-height:42px;padding:8px 11px;border:1px solid var(--theme-line);border-radius:10px;background:var(--surface);color:var(--text-main)}
.work-stat-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:11px;margin-bottom:16px}.work-stat-grid>article{display:flex;min-width:0;align-items:center;gap:10px;padding:15px;border:1px solid var(--theme-line);border-radius:15px;background:var(--surface);box-shadow:var(--shadow-sm)}.work-stat-grid>article>i{display:grid;width:38px;height:38px;flex:0 0 38px;place-items:center;border-radius:11px;color:var(--work-blue);background:color-mix(in srgb,var(--work-blue) 9%,var(--surface));font-size:16px}.work-stat-grid small,.work-stat-grid strong{display:block}.work-stat-grid small{overflow:hidden;color:var(--text-muted);font-size:8px;font-weight:800;text-overflow:ellipsis;white-space:nowrap}.work-stat-grid strong{margin-top:2px;font-size:20px}.work-stat-grid .no_pay>i,.work-stat-grid .missing>i{color:var(--work-coral);background:color-mix(in srgb,var(--work-coral) 9%,var(--surface))}.work-stat-grid .late>i{color:#9a6800;background:color-mix(in srgb,var(--work-gold) 13%,var(--surface))}
.work-dashboard-grid{display:grid;grid-template-columns:minmax(300px,.72fr) minmax(0,1.28fr);gap:16px;margin-bottom:16px}.work-dashboard-grid>.content-card{margin:0}.attendance-health .card-heading>strong{color:var(--work-blue);font-size:22px}.attendance-ring{display:grid;width:150px;height:150px;margin:15px auto;place-items:center;border-radius:50%;background:conic-gradient(var(--work-blue) calc(var(--attendance-rate)*1%),color-mix(in srgb,var(--theme-line) 65%,transparent) 0)}.attendance-ring:before{content:"";grid-area:1/1;width:118px;height:118px;border-radius:50%;background:var(--surface)}.attendance-ring>div{z-index:1;grid-area:1/1;text-align:center}.attendance-ring strong,.attendance-ring span{display:block}.attendance-ring strong{font-size:25px}.attendance-ring span{color:var(--text-muted);font-size:9px}.attendance-health dl{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin:0}.attendance-health dl>div{padding:10px;border-radius:10px;background:var(--surface-2);text-align:center}.attendance-health dt{color:var(--text-muted);font-size:8px}.attendance-health dd{margin:3px 0 0;font-size:13px;font-weight:800}.work-insight-list{display:grid;gap:8px}.work-insight-list>div{display:grid;grid-template-columns:34px 1fr;align-items:center;gap:9px;padding:11px;border:1px solid var(--theme-line);border-radius:11px;font-size:10px;font-weight:700}.work-insight-list i{display:grid;width:34px;height:34px;place-items:center;border-radius:9px}.work-insight-list .success i{color:#19845f;background:color-mix(in srgb,#29a878 10%,var(--surface))}.work-insight-list .warning i{color:#a16c00;background:color-mix(in srgb,var(--work-gold) 13%,var(--surface))}.work-insight-list .danger i{color:var(--work-coral);background:color-mix(in srgb,var(--work-coral) 10%,var(--surface))}.shift-summary{display:grid;grid-template-columns:45px 1fr;align-items:center;gap:11px;margin-top:14px;padding:13px;border-radius:13px;background:color-mix(in srgb,var(--work-blue) 7%,var(--surface))}.shift-summary>span{display:grid;width:45px;height:45px;place-items:center;border-radius:12px;color:#fff;background:linear-gradient(135deg,var(--work-blue),var(--work-cyan));font-size:18px}.shift-summary small,.shift-summary strong{display:block}.shift-summary small{color:var(--work-blue);font-size:8px;font-weight:900}.shift-summary strong{font-size:12px}.shift-summary p{margin:3px 0 0;color:var(--text-muted);font-size:9px}
.work-calendar-card{margin-bottom:16px;overflow:hidden}.work-calendar-card>.card-heading{margin-bottom:12px}.work-calendar-legend{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:14px}.work-calendar-legend span{display:inline-flex;align-items:center;gap:6px;padding:6px 9px;border:1px solid var(--theme-line);border-radius:99px;background:var(--surface-2);color:var(--text-muted);font-size:10px;font-weight:800}.work-calendar-legend i{width:8px;height:8px;border-radius:50%;background:#2ca678}.work-calendar-legend .late i{background:#d69a25}.work-calendar-legend .half_day i{background:#7b61c9}.work-calendar-legend .leave i{background:#3568d4}.work-calendar-legend .no_pay i{background:#d56a42}.work-calendar-legend .absent i{background:#d9485f}.work-calendar-legend .holiday i{background:#78909c}.work-calendar-scroll{overflow-x:auto;padding:1px 0 8px;scrollbar-color:color-mix(in srgb,var(--work-blue) 35%,transparent) transparent}.work-calendar-shell{min-width:1050px}.work-calendar-weekdays,.work-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px}.work-calendar-weekdays{margin-bottom:8px}.work-calendar-weekdays strong{padding:8px 10px;border-radius:9px;background:color-mix(in srgb,var(--work-blue) 7%,var(--surface));color:var(--text-muted);font-size:10px;letter-spacing:.04em;text-align:center;text-transform:uppercase}.work-day{position:relative;display:flex;min-width:0;min-height:174px;flex-direction:column;gap:10px;padding:12px;border:1px solid var(--theme-line);border-radius:14px;background:var(--surface);box-shadow:0 4px 12px color-mix(in srgb,var(--text-main) 4%,transparent)}.work-day.blank{border-style:dashed;background:var(--surface-2);box-shadow:none;opacity:.42}.work-day>header{display:flex;align-items:center;justify-content:space-between}.work-day>header>span{display:flex;align-items:baseline;gap:6px}.work-day>header strong{font-family:var(--heading);font-size:20px;line-height:1}.work-day>header small{color:var(--text-muted);font-size:9px;font-weight:800;text-transform:uppercase}.work-day>header em{padding:3px 6px;border-radius:99px;color:#fff;background:var(--work-blue);font-size:8px;font-style:normal;font-weight:900;text-transform:uppercase}.work-day-status{display:grid;grid-template-columns:30px minmax(0,1fr);align-items:center;gap:8px}.work-day-status>i{display:grid;width:30px;height:30px;place-items:center;border-radius:9px;color:#16805b;background:color-mix(in srgb,#2ca678 11%,var(--surface));font-size:14px}.work-day-status span,.work-day-status strong,.work-day-status small{display:block;min-width:0}.work-day-status strong{font-size:11px}.work-day-status small{overflow:hidden;margin-top:2px;color:var(--text-muted);font-size:9px;text-overflow:ellipsis;white-space:nowrap}.work-day-times{display:grid;grid-template-columns:minmax(0,1fr) 14px minmax(0,1fr);align-items:center;gap:4px;padding:9px;border-radius:10px;background:var(--surface-2)}.work-day-times>span small,.work-day-times>span strong{display:block}.work-day-times small{color:var(--text-muted);font-size:8px;font-weight:900}.work-day-times strong{margin-top:2px;font-size:10px;white-space:nowrap}.work-day-times>i{color:var(--text-muted);font-size:9px}.work-day-hours,.work-day-note{margin-top:auto;color:var(--text-muted);font-size:9px;font-weight:700}.work-day-hours{display:flex;align-items:center;gap:5px}.work-day.present,.work-day.work_from_home{border-color:color-mix(in srgb,#2ca678 34%,var(--theme-line));background:linear-gradient(150deg,color-mix(in srgb,#2ca678 7%,var(--surface)),var(--surface) 58%)}.work-day.late{border-color:color-mix(in srgb,var(--work-gold) 48%,var(--theme-line));background:linear-gradient(150deg,color-mix(in srgb,var(--work-gold) 10%,var(--surface)),var(--surface) 62%)}.work-day.late .work-day-status>i{color:#9a6800;background:color-mix(in srgb,var(--work-gold) 15%,var(--surface))}.work-day.half_day{border-color:color-mix(in srgb,#7b61c9 36%,var(--theme-line));background:linear-gradient(150deg,color-mix(in srgb,#7b61c9 8%,var(--surface)),var(--surface) 62%)}.work-day.half_day .work-day-status>i{color:#684bb8;background:color-mix(in srgb,#7b61c9 12%,var(--surface))}.work-day.absent{border-color:color-mix(in srgb,#d9485f 42%,var(--theme-line));background:linear-gradient(150deg,color-mix(in srgb,#d9485f 9%,var(--surface)),var(--surface) 62%)}.work-day.absent .work-day-status>i{color:#c53149;background:color-mix(in srgb,#d9485f 12%,var(--surface))}.work-day.leave{border-color:color-mix(in srgb,var(--work-blue) 38%,var(--theme-line));background:linear-gradient(150deg,color-mix(in srgb,var(--work-blue) 8%,var(--surface)),var(--surface) 62%)}.work-day.leave .work-day-status>i{color:var(--work-blue);background:color-mix(in srgb,var(--work-blue) 12%,var(--surface))}.work-day.no_pay{border-color:color-mix(in srgb,#d56a42 42%,var(--theme-line));background:linear-gradient(150deg,color-mix(in srgb,#d56a42 9%,var(--surface)),var(--surface) 62%)}.work-day.no_pay .work-day-status>i{color:#bd532f;background:color-mix(in srgb,#d56a42 13%,var(--surface))}.work-day.holiday,.work-day.weekly_off{background:var(--surface-2);box-shadow:none}.work-day.holiday .work-day-status>i,.work-day.weekly_off .work-day-status>i{color:#607d8b;background:color-mix(in srgb,#78909c 12%,var(--surface))}.work-day.upcoming{opacity:.78}.work-day.upcoming .work-day-status>i,.work-day.missing .work-day-status>i{color:var(--work-blue);background:color-mix(in srgb,var(--work-blue) 10%,var(--surface))}.work-day.today{box-shadow:inset 0 0 0 2px var(--work-blue),0 7px 18px color-mix(in srgb,var(--work-blue) 12%,transparent)}
.payroll-history-card{margin-bottom:20px;overflow:hidden}.payroll-snapshot-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:4px 0 16px}.payroll-snapshot-grid>article{display:grid;min-width:0;grid-template-columns:40px minmax(0,1fr);align-items:center;gap:10px;padding:13px;border:1px solid var(--theme-line);border-radius:14px;background:var(--surface-2)}.payroll-snapshot-grid>article>i{display:grid;width:40px;height:40px;place-items:center;border-radius:11px;color:var(--work-blue);background:color-mix(in srgb,var(--work-blue) 10%,var(--surface));font-size:17px}.payroll-snapshot-grid small,.payroll-snapshot-grid strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.payroll-snapshot-grid small{color:var(--text-muted);font-size:9px;font-weight:800}.payroll-snapshot-grid strong{margin-top:3px;font-size:14px}.payroll-snapshot-grid .payroll-change.up>i{color:#16805b;background:color-mix(in srgb,#2ca678 12%,var(--surface))}.payroll-snapshot-grid .payroll-change.down>i{color:#c53149;background:color-mix(in srgb,#d9485f 12%,var(--surface))}.payroll-visual{padding:17px 18px 12px;border:1px solid var(--theme-line);border-radius:17px;background:linear-gradient(145deg,color-mix(in srgb,var(--work-blue) 5%,var(--surface)),var(--surface) 60%)}.payroll-visual-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.payroll-visual-heading>div:first-child strong,.payroll-visual-heading>div:first-child small{display:block}.payroll-visual-heading>div:first-child strong{font-size:13px}.payroll-visual-heading>div:first-child small{margin-top:2px;color:var(--text-muted);font-size:9px}.payroll-visual-heading>div:last-child{display:flex;gap:12px}.payroll-visual-heading>div:last-child span{display:flex;align-items:center;gap:5px;color:var(--text-muted);font-size:9px;font-weight:800}.payroll-visual-heading>div:last-child i{width:9px;height:9px;border-radius:3px}.payroll-visual-heading i.gross{background:color-mix(in srgb,var(--work-blue) 28%,var(--surface))}.payroll-visual-heading i.net{background:linear-gradient(180deg,var(--work-cyan),var(--work-blue))}.payroll-chart{display:grid;min-height:240px;grid-template-columns:repeat(6,minmax(72px,1fr));align-items:end;gap:12px;padding:20px 4px 0}.payroll-column{display:grid;height:205px;min-width:0;grid-template-rows:28px minmax(110px,1fr) 36px;gap:5px;text-align:center}.payroll-column-amount{overflow:hidden;align-self:center;color:var(--text-main);font-size:9px;font-weight:900;text-overflow:ellipsis;white-space:nowrap}.payroll-bars{position:relative;display:flex;align-items:flex-end;justify-content:center;gap:5px;border-bottom:1px solid var(--theme-line)}.payroll-bars:before{content:"";position:absolute;inset:24% 0 auto;height:1px;background:color-mix(in srgb,var(--theme-line) 70%,transparent);box-shadow:0 34px 0 color-mix(in srgb,var(--theme-line) 55%,transparent),0 68px 0 color-mix(in srgb,var(--theme-line) 40%,transparent)}.payroll-bars>i{position:relative;width:24%;min-height:5px;border-radius:7px 7px 2px 2px}.payroll-bars>i.gross{background:color-mix(in srgb,var(--work-blue) 30%,var(--surface))}.payroll-bars>i.net{background:linear-gradient(180deg,var(--work-cyan),var(--work-blue));box-shadow:0 5px 12px color-mix(in srgb,var(--work-blue) 22%,transparent)}.payroll-column-period strong,.payroll-column-period small{display:block}.payroll-column-period strong{font-size:11px}.payroll-column-period small{color:var(--text-muted);font-size:8px}.payroll-column.no-payroll{opacity:.62}.payroll-column.no-payroll .payroll-bars:after{content:"—";position:absolute;bottom:9px;color:var(--text-muted);font-size:14px}.payroll-history-table{margin-top:16px;border:1px solid var(--theme-line);border-radius:15px}.payroll-ledger-table{width:100%;min-width:960px;table-layout:fixed}.payroll-ledger-table th,.payroll-ledger-table td{vertical-align:middle}.payroll-ledger-table th:first-child,.payroll-ledger-table td:first-child{width:230px}.payroll-ledger-table .amount-column{width:150px;text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.payroll-ledger-table .days-column{width:110px;text-align:center;white-space:nowrap}.payroll-ledger-table .status-column{width:125px;text-align:center}.payroll-ledger-table .action-column{width:80px;text-align:center}.payroll-period-cell{display:grid;grid-template-columns:42px minmax(0,1fr);align-items:center;gap:10px}.payroll-period-cell>span{display:grid;width:42px;height:42px;place-items:center;border-radius:11px;color:#fff;background:linear-gradient(135deg,var(--work-blue),var(--work-cyan));font-size:10px;font-weight:900;text-transform:uppercase}.payroll-period-cell strong,.payroll-period-cell small{display:block}.payroll-period-cell strong{font-size:12px}.payroll-period-cell small{margin-top:2px;color:var(--text-muted);font-size:9px}.payroll-missing-row{background:var(--surface-2);color:var(--text-muted)}.payroll-missing-row .payroll-period-cell>span{color:var(--text-muted);background:var(--surface)}.payroll-secret{font-variant-numeric:tabular-nums}.work-leave-section{scroll-margin-top:90px}.work-leave-section>.section-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:13px}.work-leave-section h2{margin:3px 0 0;font-size:21px}
.payroll-history-controls{display:flex;align-items:end;gap:9px}.payroll-history-controls form,.payroll-history-controls label{margin:0}.payroll-history-controls label>span{display:block;margin-bottom:4px;color:var(--text-muted);font-size:8px;font-weight:850;text-transform:uppercase}.payroll-history-controls select{min-height:40px;padding:8px 34px 8px 11px;border:1px solid var(--theme-line);border-radius:11px;color:var(--text-main);background:var(--surface)}.payroll-visual{overflow-x:auto}.payroll-chart{width:max(100%,calc(var(--payroll-columns,6)*82px));grid-template-columns:repeat(var(--payroll-columns,6),minmax(72px,1fr))}.manual-attendance-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-bottom:16px}.manual-attendance-options .policy-switch{padding:15px;border:1px solid var(--theme-line);border-radius:14px;background:var(--surface-2)}.manual-attendance-options .policy-switch>small{display:block;margin:7px 0 0 46px;color:var(--text-muted);font-size:9px;line-height:1.45}.attendance-clock{display:flex;align-items:center;gap:8px;min-height:44px;padding:5px 6px 5px 8px;border:1px solid var(--theme-line);border-radius:14px;background:var(--surface);box-shadow:var(--shadow-sm)}.attendance-clock-indicator{display:grid;width:30px;height:30px;place-items:center;border-radius:9px;color:var(--work-blue);background:color-mix(in srgb,var(--work-blue) 10%,var(--surface))}.attendance-clock.running .attendance-clock-indicator{color:#d73d55;background:color-mix(in srgb,#d73d55 10%,var(--surface));animation:attendancePulse 1.5s infinite}.attendance-clock.completed .attendance-clock-indicator{color:#16805b;background:color-mix(in srgb,#2ca678 10%,var(--surface))}.attendance-clock-copy small,.attendance-clock-copy strong{display:block}.attendance-clock-copy small{color:var(--text-muted);font-size:7px;font-weight:900;letter-spacing:.06em}.attendance-clock-copy strong{min-width:68px;margin-top:1px;font-size:11px;font-variant-numeric:tabular-nums}.attendance-clock-action{min-height:32px;padding:6px 9px;border:0;border-radius:9px;color:#fff;background:linear-gradient(135deg,var(--work-blue),var(--work-cyan));font-size:8px;font-weight:850}.attendance-clock.running .attendance-clock-action{background:linear-gradient(135deg,#c22f49,#ed6b5f)}@keyframes attendancePulse{50%{box-shadow:0 0 0 5px color-mix(in srgb,#d73d55 10%,transparent)}}
.work-attendance-clock{display:flex;align-items:center;justify-content:space-between;gap:24px;margin:0 0 16px;padding:18px 20px;border:1px solid color-mix(in srgb,var(--work-blue) 24%,var(--theme-line));border-radius:20px;background:linear-gradient(125deg,color-mix(in srgb,var(--work-blue) 9%,var(--surface)),var(--surface) 55%,color-mix(in srgb,var(--work-cyan) 9%,var(--surface)));box-shadow:var(--shadow-sm)}.work-clock-identity{display:flex;align-items:center;gap:14px;min-width:0}.work-clock-identity>span{display:grid;width:52px;height:52px;flex:0 0 52px;place-items:center;border-radius:16px;color:#fff;background:linear-gradient(135deg,var(--work-blue),var(--work-cyan));font-size:20px}.work-attendance-clock.running .work-clock-identity>span{background:linear-gradient(135deg,#c22f49,#ed6b5f);animation:attendancePulse 1.5s infinite}.work-attendance-clock.completed .work-clock-identity>span{background:linear-gradient(135deg,#16805b,#2ca678)}.work-clock-identity small{color:var(--work-blue);font-size:8px;font-weight:900;letter-spacing:.09em}.work-clock-identity h2{margin:3px 0;font-size:17px}.work-clock-identity p{margin:0;color:var(--text-muted);font-size:10px}.work-attendance-clock>form{display:flex;align-items:center;gap:13px}.work-clock-time{min-width:128px;text-align:right}.work-clock-time small,.work-clock-time strong{display:block}.work-clock-time small{color:var(--text-muted);font-size:8px;font-weight:850}.work-clock-time strong{margin-top:2px;font-size:23px;font-variant-numeric:tabular-nums;letter-spacing:.04em}.work-attendance-clock button,.work-clock-complete{display:flex;align-items:center;justify-content:center;gap:8px;min-width:112px;min-height:44px;padding:9px 14px;border:0;border-radius:12px;color:#fff;font-size:10px;font-weight:850}.work-attendance-clock button.clock-in{background:linear-gradient(135deg,var(--work-blue),var(--work-cyan))}.work-attendance-clock button.clock-out{background:linear-gradient(135deg,#c22f49,#ed6b5f)}.work-clock-complete{color:#16805b;background:color-mix(in srgb,#2ca678 12%,var(--surface))}
@media(max-width:900px){.attendance-clock-copy small{display:none}.attendance-clock{gap:5px}.attendance-clock-action{padding:6px}.manual-attendance-options{grid-template-columns:1fr}}
@media(max-width:767px){.work-attendance-clock{align-items:stretch;flex-direction:column}.work-attendance-clock>form{justify-content:space-between;width:100%}.work-clock-time{text-align:left}}
@media(max-width:575px){.attendance-clock{position:fixed;z-index:60;right:12px;bottom:12px;box-shadow:0 12px 35px rgba(20,30,60,.2)}.work-attendance-clock>form{align-items:stretch;flex-direction:column}.work-clock-time{text-align:center}.work-attendance-clock button,.work-clock-complete{width:100%}.payroll-history-card>.card-heading{align-items:stretch;flex-direction:column}.payroll-history-controls{justify-content:space-between}.payroll-history-controls form{flex:1}.payroll-history-controls select{width:100%}}

/* Compact command search */
.topbar-search{width:44px;flex:0 0 44px;min-height:44px;overflow:hidden;border:1px solid var(--theme-line);border-radius:14px;background:var(--surface-2);transition:width .28s ease,flex-basis .28s ease,box-shadow .2s ease,background .2s ease}
.topbar-search.expanded,.topbar-search:focus-within{width:min(330px,31vw);flex-basis:min(330px,31vw);background:var(--surface);box-shadow:0 10px 30px color-mix(in srgb,var(--work-blue) 12%,transparent)}
.topbar-search-trigger,.topbar-search-close{display:grid;width:42px;height:42px;flex:0 0 42px;padding:0;border:0;place-items:center;color:var(--text-muted);background:transparent}
.topbar-search-trigger i,.topbar-search-close i{position:static;font-size:15px}
.topbar-search input{width:0;min-width:0;min-height:42px!important;padding:0!important;border:0!important;opacity:0;background:transparent!important;box-shadow:none!important;transition:width .25s ease,opacity .15s ease}
.topbar-search.expanded input,.topbar-search:focus-within input{width:100%;padding:0 5px!important;opacity:1}
.topbar-search-close{display:none;width:34px;flex-basis:34px;font-size:11px}.topbar-search.expanded .topbar-search-close,.topbar-search:focus-within .topbar-search-close{display:grid}

/* Biometric device management */
.connector-note{display:block;color:var(--text-muted);font-size:12px;line-height:1.5;margin-top:10px}
.biometric-device-modal .modal-dialog{width:min(1260px,calc(100% - 28px));max-width:none}.biometric-device-modal .modal-body{display:grid;grid-template-columns:minmax(280px,.72fr) minmax(0,1.65fr);gap:20px;padding:20px}
.biometric-device-directory{padding:16px;border:1px solid var(--theme-line);border-radius:16px;background:var(--surface-2);align-self:start;position:sticky;top:0}.biometric-directory-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:13px}.biometric-directory-head strong,.biometric-directory-head small{display:block}.biometric-directory-head small{color:var(--text-muted);font-size:12px;margin-top:3px}
.biometric-search{display:flex;align-items:center;gap:9px;padding:0 11px;border:1px solid var(--theme-line);background:var(--surface);border-radius:10px;margin-bottom:10px}.biometric-search input{width:100%;border:0!important;box-shadow:none!important;background:transparent!important;min-height:42px}.biometric-device-list{display:grid;gap:8px;max-height:430px;overflow:auto}.biometric-device-list>button{display:grid;grid-template-columns:38px minmax(0,1fr) auto auto;align-items:center;gap:10px;padding:10px;border:1px solid var(--theme-line);border-radius:11px;background:var(--surface);color:var(--text);text-align:left}.biometric-device-list>button:hover{border-color:var(--theme-accent);box-shadow:0 5px 15px color-mix(in srgb,var(--theme-accent) 12%,transparent)}.biometric-device-list>button>span:nth-child(2) :is(strong,small){display:block}.biometric-device-list>button small{color:var(--text-muted);font-size:11px;margin-top:3px}.biometric-device-list .source-icon{width:36px;height:36px}
.biometric-device-editor{min-width:0}.biometric-editor-heading{display:flex;align-items:center;gap:11px;margin-bottom:16px}.biometric-editor-heading strong,.biometric-editor-heading small{display:block}.biometric-editor-heading small{color:var(--text-muted);font-size:12px;margin-top:3px}.biometric-device-editor fieldset{margin:17px 0;padding:14px;border:1px solid var(--theme-line);border-radius:13px}.biometric-device-editor legend{float:none;width:auto;padding:0 8px;font-size:12px;font-weight:800;color:var(--text-muted)}.biometric-direction-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.biometric-direction-grid .policy-switch{margin:0}.api-endpoint-display{display:flex;align-items:center;gap:12px;padding:13px 15px;border:1px solid var(--theme-line);border-radius:12px;background:var(--surface-2);margin-bottom:17px}.api-endpoint-display>i{font-size:21px;color:var(--theme-accent)}.api-endpoint-display>span{min-width:0;flex:1}.api-endpoint-display small,.api-endpoint-display strong{display:block}.api-endpoint-display small{font-size:10px;color:var(--text-muted);font-weight:800;text-transform:uppercase}.api-endpoint-display strong{font-size:13px;margin-top:3px;overflow-wrap:anywhere}.payload-preview{padding:13px 15px;border-radius:12px;background:#10172a;color:#e9f0ff;margin-top:16px}.payload-preview strong,.payload-preview small{display:block}.payload-preview small{color:#aebbd5;font-size:11px}.payload-preview code{display:block;margin-top:10px;color:#9ee6ff;white-space:normal;overflow-wrap:anywhere;line-height:1.55;font-size:12px}.biometric-payload-lab{margin-top:22px;padding:20px;border:1px solid color-mix(in srgb,var(--theme-accent) 22%,var(--theme-line));border-radius:20px;background:linear-gradient(145deg,color-mix(in srgb,var(--theme-accent) 7%,var(--surface)),var(--surface))}.biometric-lab-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px}.biometric-lab-heading strong{display:block;font-size:1rem}.biometric-lab-heading small{display:block;margin-top:3px;color:var(--text-muted);line-height:1.45}.biometric-payload-lab textarea{width:100%;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.83rem;line-height:1.55}.biometric-key-results{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:14px 0}.biometric-key-results article{padding:12px;border:1px solid var(--theme-line);border-radius:14px;background:var(--surface);min-width:0}.biometric-key-results article.selected{border-color:var(--theme-accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--theme-accent) 10%,transparent)}.biometric-key-results code,.biometric-key-results small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.biometric-key-results small{margin:4px 0 9px;color:var(--text-muted)}.biometric-key-results article div{display:flex;flex-wrap:wrap;gap:5px}.biometric-key-results button{border:0;border-radius:999px;padding:5px 9px;background:var(--surface-2);color:var(--text);font-size:.72rem;font-weight:700}.biometric-test-actions{display:flex;align-items:center;gap:14px;margin-top:14px}.biometric-test-actions span{color:var(--text-muted);font-size:.84rem}.biometric-extraction-result{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:14px;padding:14px;border-radius:14px;background:color-mix(in srgb,var(--theme-accent) 8%,var(--surface))}.biometric-extraction-result span{display:block;text-transform:uppercase;letter-spacing:.06em;font-size:.65rem;color:var(--text-muted)}.biometric-extraction-result strong{display:block;margin-top:3px;overflow-wrap:anywhere;font-size:.84rem}
@media(max-width:900px){.biometric-device-modal .modal-body{grid-template-columns:1fr}.biometric-device-directory{position:static}.biometric-direction-grid,.biometric-key-results,.biometric-extraction-result{grid-template-columns:1fr}.biometric-lab-heading,.biometric-test-actions{align-items:flex-start;flex-direction:column}}
/* Compact, grouped payroll action centre */
.payroll-calculation-note{display:flex;align-items:flex-start;gap:9px;margin:12px 0 18px;padding:12px 16px;background:var(--surface-2);border:1px solid var(--theme-line);border-radius:12px;color:var(--text-muted);font-size:13px;line-height:1.6}
.payroll-exception-modal [hidden]{display:none!important}
.payroll-exception-modal .modal-dialog{max-width:1240px;width:calc(100% - 32px)}
.payroll-exception-modal .modal-header h2{font-size:22px;margin:5px 0}
.payroll-exception-modal .modal-header p{font-size:13px;margin:0;color:var(--text-muted)}
.payroll-review-search{display:flex;gap:16px;align-items:center;justify-content:space-between;margin-bottom:12px}
.payroll-review-search label{display:flex;gap:10px;align-items:center;min-width:260px;flex:1;max-width:540px}
.payroll-review-search input{width:100%;min-height:42px;font-size:14px}
.payroll-review-search input,.payroll-bulk-toolbar input{padding:10px 12px;border:1px solid var(--theme-line);border-radius:10px;background:var(--surface);color:var(--text)}
.payroll-review-search>span{font-size:13px;font-weight:700;white-space:nowrap}
.payroll-bulk-toolbar{display:flex;gap:12px;align-items:end;flex-wrap:wrap;padding:14px;background:var(--surface-2);border:1px solid var(--theme-line);border-radius:12px}
.payroll-bulk-toolbar label{display:grid;gap:6px;min-width:180px;margin:0}
.payroll-bulk-toolbar label>span{font-size:12px;font-weight:700;color:var(--text-muted)}
.payroll-bulk-toolbar .payroll-bulk-reason{flex:1;min-width:260px}
.payroll-bulk-toolbar :is(input,select){width:100%;font-size:14px;min-height:42px}
.payroll-review-help{font-size:12px;line-height:1.5;color:var(--text-muted);margin:10px 0}
[data-review-message]{padding:12px 14px;margin:10px 0;background:var(--surface-2);border:1px solid var(--theme-line);border-radius:10px;font-size:14px}
.payroll-group-table{border:1px solid var(--theme-line);border-radius:12px;margin-top:12px}
.payroll-group-table .modern-table{width:100%;min-width:820px;table-layout:fixed;margin:0}
.payroll-group-table .modern-table :is(td,th){padding:10px 12px!important;font-size:13px!important;vertical-align:middle!important;text-align:left;white-space:normal;overflow-wrap:anywhere}
.payroll-group-table thead th:nth-child(1){width:44px}.payroll-group-table thead th:nth-child(2){width:170px}.payroll-group-table thead th:nth-child(4){width:190px}.payroll-group-table thead th:nth-child(5){width:225px}
.payroll-group-table .payroll-group-heading th{background:var(--surface-2);border-top:1px solid var(--theme-line)}
.payroll-group-heading strong{display:inline!important;font-size:14px!important}.payroll-group-heading span{display:inline-block;margin-left:12px;color:var(--text-muted);font-size:12px}.payroll-group-heading small{float:right;font-size:12px!important;color:var(--text-muted)}
.payroll-group-table input[type=checkbox]{width:17px;height:17px;min-height:0;margin:0;accent-color:var(--accent,#2563eb)}
.payroll-group-table .review-row-actions .icon-action{color:#2456ac;border-color:#c4d6f4;background:#eff5ff}.payroll-group-table .review-row-actions .icon-action.danger{color:#b42335;border-color:#efc3cc;background:#fff1f3}
.review-row-actions{display:flex;gap:7px;align-items:center}.review-row-actions select{width:155px;min-height:36px;font-size:13px}.review-row-actions .icon-action{flex:0 0 34px;width:34px;height:34px}.review-date{font-variant-numeric:tabular-nums}.review-details{line-height:1.5}
@media(max-width:680px){.payroll-review-search{align-items:stretch;flex-direction:column;gap:8px}.payroll-review-search label{min-width:0}.payroll-bulk-toolbar{display:grid;grid-template-columns:1fr}.payroll-bulk-toolbar label,.payroll-bulk-toolbar .payroll-bulk-reason{min-width:0}.payroll-exception-modal .modal-dialog{width:calc(100% - 12px);margin:6px}.payroll-group-heading small{float:none;display:block;margin-top:5px}}
/* Header work clock */
/* The header is outside .work-dashboard: its action colours must be local. */
.attendance-clock{--work-blue:#2563eb;--work-cyan:#4338ca}
html[data-theme="medium"] .attendance-clock{--work-blue:#6d28d9;--work-cyan:#4338ca}
.attendance-clock{position:relative;display:flex;align-items:center;gap:9px;min-height:48px;padding:5px 6px 5px 7px;overflow:hidden;border:1px solid color-mix(in srgb,var(--work-blue) 22%,var(--theme-line));border-radius:16px;background:linear-gradient(125deg,color-mix(in srgb,var(--work-blue) 8%,var(--surface)),var(--surface));box-shadow:0 8px 24px color-mix(in srgb,var(--work-blue) 10%,transparent)}
.attendance-clock::before{position:absolute;top:-26px;left:-25px;width:70px;height:70px;border-radius:50%;content:"";background:color-mix(in srgb,var(--work-cyan) 10%,transparent);pointer-events:none}
.attendance-clock-indicator{position:relative;display:grid;width:36px;height:36px;flex:0 0 36px;place-items:center;border-radius:12px;color:#fff;background:linear-gradient(145deg,var(--work-blue),var(--work-cyan));box-shadow:0 6px 14px color-mix(in srgb,var(--work-blue) 28%,transparent)}
.attendance-clock.running .attendance-clock-indicator{color:#fff;background:linear-gradient(145deg,#cf3652,#fa745d);animation:attendancePulse 1.5s infinite}
.attendance-clock.recheck_available{border-color:color-mix(in srgb,#e19325 35%,var(--theme-line));background:linear-gradient(125deg,color-mix(in srgb,#f2a737 10%,var(--surface)),var(--surface))}.attendance-clock.recheck_available .attendance-clock-indicator{color:#fff;background:linear-gradient(145deg,#d77d14,#f4ae3e)}
.attendance-clock.completed .attendance-clock-indicator{color:#fff;background:linear-gradient(145deg,#5669b8,#7689dc)}
.attendance-clock-copy{position:relative;min-width:76px}.attendance-clock-copy small,.attendance-clock-copy strong,.attendance-clock-copy em{display:block}.attendance-clock-copy small{color:var(--text-muted);font-size:7px!important;font-weight:900;letter-spacing:.09em;line-height:1}.attendance-clock-copy strong{margin-top:3px;font-family:Manrope,sans-serif;font-size:13px;font-weight:800;font-variant-numeric:tabular-nums;letter-spacing:.045em;line-height:1}.attendance-clock-copy em{margin-top:3px;color:#a76512;font-size:7px;font-style:normal;font-weight:750;line-height:1}.attendance-clock-copy em b{font-variant-numeric:tabular-nums}
.attendance-clock-action{position:relative;display:flex;align-items:center;justify-content:center;gap:5px;min-height:36px;padding:7px 10px;border:0;border-radius:11px;color:#fff;background:linear-gradient(135deg,var(--work-blue),var(--work-cyan));box-shadow:0 6px 13px color-mix(in srgb,var(--work-blue) 22%,transparent);font-size:8px!important;font-weight:850;white-space:nowrap}.attendance-clock.running .attendance-clock-action{background:linear-gradient(135deg,#c22f49,#ed6b5f)}.attendance-clock.recheck_available .attendance-clock-action{background:linear-gradient(135deg,#c87513,#eca733)}.attendance-clock-action:disabled{cursor:not-allowed;opacity:.55}.attendance-clock-done{position:relative;display:grid;width:32px;height:32px;place-items:center;border-radius:10px;color:#6576c6;background:color-mix(in srgb,#6576c6 11%,var(--surface));font-size:15px}
.attendance-clock.recheck_available.expired .attendance-clock-action{filter:grayscale(.7)}

.manual-attendance-options{grid-template-columns:repeat(3,minmax(0,1fr))}.manual-attendance-window{display:flex;flex-direction:column;padding:15px;border:1px solid var(--theme-line);border-radius:14px;background:var(--surface-2)}.manual-attendance-window>span{margin-bottom:8px;color:var(--text-main);font-size:10px;font-weight:850}.manual-attendance-window>div{display:flex;align-items:center;gap:8px;padding:0 10px;border:1px solid var(--theme-line);border-radius:11px;background:var(--surface)}.manual-attendance-window>div>i{color:var(--work-blue)}.manual-attendance-window input{width:70px;min-height:40px;padding:7px 3px!important;border:0!important;background:transparent!important;box-shadow:none!important;font-weight:800}.manual-attendance-window b{margin-left:auto;color:var(--text-muted);font-size:8px}.manual-attendance-window small{margin-top:8px;color:var(--text-muted);font-size:9px!important;line-height:1.45}

@media(max-width:1080px){.attendance-clock-copy small{display:none}.attendance-clock-copy{min-width:67px}.attendance-clock-action span{display:none}.attendance-clock-action{width:36px;padding:7px}.manual-attendance-options{grid-template-columns:1fr 1fr}.manual-attendance-window{grid-column:1/-1}}
@media(max-width:767px){.attendance-clock{position:static;right:auto;bottom:auto;z-index:auto;box-shadow:0 8px 24px color-mix(in srgb,var(--work-blue) 10%,transparent)}.attendance-clock-copy{display:none}.attendance-clock{gap:5px}.manual-attendance-options{grid-template-columns:1fr}.manual-attendance-window{grid-column:auto}}
@media(max-width:575px){.attendance-clock{position:static;right:auto;bottom:auto}.attendance-clock-action{width:34px;min-height:34px}.attendance-clock-indicator{width:34px;height:34px;flex-basis:34px}.payroll-history-card>.card-heading{align-items:stretch;flex-direction:column}.payroll-history-controls{justify-content:space-between}.payroll-history-controls form{flex:1}.payroll-history-controls select{width:100%}}

/* Animated icon-only clock command */
.attendance-clock-action{position:relative;width:38px;height:38px;min-width:38px;min-height:38px;flex:0 0 38px;padding:0;border-radius:13px;isolation:isolate}
.attendance-clock-action::before{position:absolute;z-index:-1;inset:-1px;border:1px solid currentColor;border-radius:14px;content:"";opacity:.3}
.attendance-clock-action i{font-size:17px;line-height:1}
.attendance-clock.not_started .attendance-clock-action{animation:clockReadyGlow 2s ease-in-out infinite}.attendance-clock.not_started .attendance-clock-action i{animation:clockPlayNudge 1.5s ease-in-out infinite}
.attendance-clock.running .attendance-clock-action::before{animation:clockStopRing 1.35s ease-out infinite}.attendance-clock.running .attendance-clock-action i{animation:clockStopBreathe 1.35s ease-in-out infinite}
.attendance-clock.recheck_available .attendance-clock-action i{animation:clockRestartSpin 1.8s cubic-bezier(.55,.1,.45,.9) infinite}
.attendance-clock-action:hover{transform:translateY(-1px) scale(1.06);filter:saturate(1.12);box-shadow:0 9px 20px color-mix(in srgb,var(--work-blue) 30%,transparent)}.attendance-clock.running .attendance-clock-action:hover{box-shadow:0 9px 20px rgba(194,47,73,.27)}.attendance-clock.recheck_available .attendance-clock-action:hover{box-shadow:0 9px 20px rgba(200,117,19,.28)}

/* PTA appointments and parent-requested discussions */
.teaching-pta-shortcut{display:flex;justify-content:flex-end;max-width:1480px;margin:-14px auto 16px;padding:0 2px}.pta-teacher-picker{margin:16px 0;padding:14px;border:1px solid var(--theme-line);border-radius:16px}.pta-teacher-picker legend{float:none;width:auto;padding:0 7px;font-size:11px;font-weight:900}.pta-teacher-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;max-height:190px;overflow:auto;margin-top:10px}.pta-teacher-grid label{margin:0;cursor:pointer}.pta-teacher-grid input{position:absolute;opacity:0}.pta-teacher-grid span{display:grid;min-height:58px;grid-template-columns:34px minmax(0,1fr);align-items:center;gap:8px;padding:9px;border:1px solid var(--theme-line);border-radius:12px;background:var(--surface)}.pta-teacher-grid span>i{display:grid;width:34px;height:34px;grid-row:1/3;place-items:center;border-radius:10px;color:var(--theme-accent);background:color-mix(in srgb,var(--theme-accent) 10%,var(--surface))}.pta-teacher-grid strong,.pta-teacher-grid small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pta-teacher-grid small{color:var(--text-muted);font-size:9px}.pta-teacher-grid input:checked+span{border-color:var(--theme-accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--theme-accent) 10%,transparent)}
.pta-workspace{--pta-indigo:#5864d8;--pta-cyan:#17a7b8}.pta-hero{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:16px;margin-bottom:18px;padding:22px;border-radius:22px;color:#fff;background:linear-gradient(125deg,#303b9a,#5969df 55%,#16a7b8);box-shadow:0 18px 42px rgba(57,70,159,.2)}.pta-hero .assignment-back{color:#fff;background:rgba(255,255,255,.14)}.pta-hero small,.pta-hero h1,.pta-hero p{display:block;margin:0}.pta-hero h1{margin:3px 0;font-size:clamp(22px,3vw,34px)}.pta-hero p{max-width:760px;color:rgba(255,255,255,.82)}.pta-hero>div>span{display:inline-flex;align-items:center;gap:7px;margin-top:10px;font-size:12px;font-weight:800}.pta-hero aside{min-width:125px;padding:14px;border-radius:17px;text-align:center;background:rgba(255,255,255,.14);backdrop-filter:blur(8px)}.pta-hero aside strong,.pta-hero aside small{display:block}.pta-hero aside strong{font-size:28px}.pta-parent-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(260px,.6fr);gap:16px;margin-bottom:16px}.pta-ticket{padding:18px;border:1px solid color-mix(in srgb,var(--pta-indigo) 20%,var(--theme-line));border-radius:18px;background:linear-gradient(145deg,color-mix(in srgb,var(--pta-indigo) 7%,var(--surface)),var(--surface))}.pta-ticket>strong{display:block;margin:10px 0 1px;font-size:32px}.pta-ticket>small{color:var(--text-muted);font-weight:750}.pta-ticket p{margin:10px 0 0}.pta-ticket-actions{display:flex;gap:8px;margin-top:12px}.pta-ticket-actions form{margin:0}.pta-status{display:inline-flex;width:max-content;padding:5px 9px;border-radius:999px;color:#3d4ca9;background:#ebedff;font-size:9px;font-weight:900;text-transform:uppercase}.pta-status.completed,.pta-status.scheduled{color:#137050;background:#dff7ec}.pta-status.checked_in,.pta-status.proposed{color:#946010;background:#fff0c9}.pta-status.cancelled,.pta-status.declined,.pta-status.no_show{color:#b42e45;background:#ffe5ea}.pta-slot-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;max-height:310px;overflow:auto;margin:14px 0}.pta-slot-grid label{margin:0;cursor:pointer}.pta-slot-grid input{position:absolute;opacity:0}.pta-slot-grid span{display:block;padding:11px;border:1px solid var(--theme-line);border-radius:12px;background:var(--surface)}.pta-slot-grid strong,.pta-slot-grid small{display:block}.pta-slot-grid small{margin-top:3px;color:var(--text-muted);font-size:9px}.pta-slot-grid input:checked+span{border-color:var(--pta-indigo);color:var(--pta-indigo);box-shadow:0 0 0 3px color-mix(in srgb,var(--pta-indigo) 10%,transparent)}.pta-meeting-info>div{display:flex;align-items:center;gap:10px;margin-top:12px;padding:12px;border-radius:13px;background:var(--surface-2)}.pta-meeting-info>div>i{color:var(--pta-indigo);font-size:19px}.pta-meeting-info small,.pta-meeting-info strong{display:block}.pta-meeting-info small{color:var(--text-muted);font-size:9px}.pta-meeting-info>a{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:14px;padding:10px;border-radius:12px;color:#fff;background:var(--pta-indigo);text-decoration:none}.pta-request-card,.pta-requests-admin{margin-top:16px}.pta-request-list{display:grid;gap:9px;margin-top:14px}.pta-request-list>article{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:12px;padding:13px;border:1px solid var(--theme-line);border-radius:14px;background:var(--surface-2)}.pta-request-list.staff>article{grid-template-columns:auto minmax(260px,1fr) minmax(300px,.8fr)}.pta-request-list p{margin:3px 0;color:var(--text-muted);font-size:12px}.pta-request-list small,.pta-request-list em{display:block;color:var(--text-muted);font-size:10px}.pta-request-list em{margin-top:6px;padding:7px;border-radius:9px;background:var(--surface);font-style:normal}.pta-request-list form{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:6px}.pta-request-list form input{min-width:0}.pta-metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:16px}.pta-metric-grid article{display:grid;grid-template-columns:42px minmax(0,1fr);align-items:center;gap:10px;padding:13px;border:1px solid var(--theme-line);border-radius:15px;background:var(--surface)}.pta-metric-grid article>i{display:grid;width:42px;height:42px;place-items:center;border-radius:12px;color:var(--pta-indigo);background:color-mix(in srgb,var(--pta-indigo) 10%,var(--surface));font-size:18px}.pta-metric-grid small,.pta-metric-grid strong{display:block}.pta-metric-grid small{color:var(--text-muted);font-size:9px}.pta-metric-grid strong{font-size:20px}.pta-status-form{margin:0}.pta-register .modern-table td{vertical-align:middle}.learning-hero-actions{display:flex;align-items:center;gap:10px}.learning-hero-actions>a{display:flex;align-items:center;gap:7px;padding:9px 11px;border:1px solid rgba(255,255,255,.24);border-radius:11px;color:inherit;background:rgba(255,255,255,.1);font-size:10px;font-weight:850;text-decoration:none}
@media(max-width:900px){.pta-teacher-grid,.pta-slot-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.pta-parent-grid{grid-template-columns:1fr}.pta-metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.pta-request-list.staff>article{grid-template-columns:auto minmax(0,1fr)}.pta-request-list.staff>article form{grid-column:1/-1}.learning-hero-actions{align-items:stretch;flex-direction:column}.learning-hero-actions>a{justify-content:center}}
@media(max-width:600px){.pta-hero{grid-template-columns:auto minmax(0,1fr);padding:16px}.pta-hero aside{grid-column:1/-1}.pta-teacher-grid,.pta-slot-grid,.pta-metric-grid{grid-template-columns:1fr}.pta-request-list>article,.pta-request-list.staff>article{grid-template-columns:1fr}.pta-request-list form{grid-template-columns:1fr 1fr}.pta-request-list form input{grid-column:1/-1}.pta-ticket-actions{align-items:stretch;flex-direction:column}.pta-ticket-actions .outline-button{width:100%;justify-content:center}}
.pta-request-actions{display:flex;align-items:center;gap:7px}.pta-request-actions>form{flex:1}@media(max-width:600px){.pta-request-actions{align-items:stretch;flex-direction:column}.pta-request-actions>form{width:100%}}
.attendance-clock-action:focus-visible{outline:3px solid color-mix(in srgb,var(--work-cyan) 30%,transparent);outline-offset:3px}
@keyframes clockReadyGlow{50%{box-shadow:0 7px 20px color-mix(in srgb,var(--work-cyan) 38%,transparent)}}
@keyframes clockPlayNudge{0%,100%{transform:translateX(0)}50%{transform:translateX(2px) scale(1.08)}}
@keyframes clockStopRing{0%{transform:scale(.92);opacity:.5}75%,100%{transform:scale(1.35);opacity:0}}
@keyframes clockStopBreathe{50%{transform:scale(.82)}}
@keyframes clockRestartSpin{0%,18%{transform:rotate(0)}72%,100%{transform:rotate(-360deg)}}
@media(prefers-reduced-motion:reduce){.attendance-clock-action,.attendance-clock-action::before,.attendance-clock-action i{animation:none!important;transition:none!important}}

.student-attendance-alert-policy{margin:16px 0;padding:16px;border:1px solid var(--theme-line);border-radius:15px;background:var(--surface-2)}.student-attendance-alert-policy legend{float:none;width:auto;padding:0 7px;color:var(--text-main);font-size:11px;font-weight:850}.student-attendance-alert-policy>p{margin:3px 0 0;color:var(--text-muted);font-size:10px;line-height:1.5}.attendance-alert-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:16px 0}.attendance-alert-strip>*{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 15px;border:1px solid var(--theme-line);border-radius:14px;background:var(--surface-2);color:var(--text-main);text-decoration:none}.attendance-alert-strip small{color:var(--text-muted);font-size:9px;font-weight:800}.attendance-alert-strip strong{font-size:20px}.attendance-alert-strip>a:first-child strong{color:#c83b4e}.attendance-alert-strip>a:nth-child(2) strong{color:#ac7000}.attendance-risk{display:inline-flex;padding:5px 8px;border-radius:999px;font-size:9px;font-weight:850}.attendance-risk.critical{color:#a92f43;background:#ffe1e7}.attendance-risk.low{color:#8c5b00;background:#fff0ca}.attendance-risk.healthy{color:#147154;background:#daf7eb}.attendance-risk.insufficient{color:#566074;background:#e9edf4}.attendance-risk-row.critical td:first-child{box-shadow:inset 3px 0 #d6495d}.attendance-risk-row.low td:first-child{box-shadow:inset 3px 0 #e4a62b}.report-table td>small{display:block;margin-top:3px;color:var(--text-muted)}@media(max-width:900px){.attendance-alert-strip{grid-template-columns:1fr 1fr}}@media(max-width:560px){.attendance-alert-strip{grid-template-columns:1fr}.student-attendance-alert-policy .form-grid.cols-3{grid-template-columns:1fr}}

.attendance-correction-policy .policy-switch{min-height:112px;padding:14px;border:1px solid var(--theme-line);border-radius:14px;background:var(--surface-2)}.attendance-correction-policy .policy-switch small{display:block;margin:7px 0 0 46px;color:var(--text-muted);line-height:1.45}.attendance-correction-policy .privacy-architecture-note.compact{height:100%;margin:0;padding:13px}.attendance-approval-route{margin:16px 0;padding:16px;border:1px solid var(--theme-line);border-radius:16px;background:linear-gradient(135deg,color-mix(in srgb,var(--work-blue) 5%,var(--surface)),var(--surface))}.attendance-approval-route legend{float:none;width:auto;margin:0 0 12px;padding:0 7px;color:var(--text-main);font-size:11px;font-weight:850}.attendance-approval-route>small{display:block;margin-top:10px;color:var(--text-muted)}.attendance-correction-worklist .compact-list>div{align-items:center}.attendance-correction-decision{display:flex;gap:6px;margin-left:4px}.input-with-suffix{display:flex;align-items:center;border:1px solid var(--theme-line);border-radius:11px;background:var(--surface)}.input-with-suffix input{flex:1;border:0!important;background:transparent!important;box-shadow:none!important}.input-with-suffix b{padding-right:12px;color:var(--text-muted);font-size:9px}@media(max-width:900px){.attendance-correction-policy .form-grid.cols-3,.attendance-approval-route .form-grid.cols-3{grid-template-columns:1fr}}
:is(#workLeaveRequest,#workLeaveCancellation,#workCorrection) .modal-content{max-height:calc(100vh - 40px);overflow:hidden;border:0;border-radius:21px;background:var(--surface)}:is(#workLeaveRequest,#workLeaveCancellation,#workCorrection) form{display:flex;min-height:0;flex-direction:column}:is(#workLeaveRequest,#workLeaveCancellation,#workCorrection) .modal-body{display:grid;gap:14px;overflow-y:auto;padding:22px}:is(#workLeaveRequest,#workLeaveCancellation,#workCorrection) label{display:flex;min-width:0;flex-direction:column;margin:0}:is(#workLeaveRequest,#workLeaveCancellation,#workCorrection) label>span{margin-bottom:6px;color:var(--text-muted);font-size:10px;font-weight:800}:is(#workLeaveRequest,#workLeaveCancellation,#workCorrection) :is(input,select,textarea){width:100%;min-height:45px;padding:10px 12px;border:1px solid var(--theme-line);border-radius:11px;background:var(--surface);color:var(--text-main);font-size:12px}
.work-leave-portions{margin:0;padding:13px;border:1px solid var(--theme-line);border-radius:13px}.work-leave-portions legend{float:none;width:auto;margin:0 0 8px;padding:0 5px;font-size:10px;font-weight:900}.work-leave-portions>div{display:flex;flex-wrap:wrap;gap:7px}.work-leave-portions label{display:block!important;cursor:pointer}.work-leave-portions input{position:absolute;opacity:0;pointer-events:none}.work-leave-portions label>span{display:block!important;margin:0!important;padding:8px 10px;border:1px solid var(--theme-line);border-radius:9px;background:var(--surface-2);color:var(--text-main)!important;font-size:9px!important}.work-leave-portions input:checked+span{border-color:var(--work-blue);color:var(--work-blue)!important;background:color-mix(in srgb,var(--work-blue) 9%,var(--surface))}
.work-leave-portions>p{margin:9px 0 0;color:var(--text-muted);font-size:9px}.range-day-portions label>span{min-width:210px;padding:10px 12px!important}.range-day-portions label>span strong,.range-day-portions label>span small{display:block}.range-day-portions label>span small{margin-top:3px;color:var(--text-muted);font-size:8px;font-weight:600;letter-spacing:0}.leave-applicant-card{display:grid;grid-template-columns:46px minmax(0,1fr);align-items:center;gap:11px;padding:12px;border:1px solid color-mix(in srgb,var(--work-blue) 24%,var(--theme-line));border-radius:13px;background:color-mix(in srgb,var(--work-blue) 7%,var(--surface))}.leave-applicant-card>span{display:grid;width:46px;height:46px;place-items:center;border-radius:12px;color:#fff;background:linear-gradient(135deg,var(--work-blue),var(--work-cyan));font-size:13px;font-weight:900}.leave-applicant-card small,.leave-applicant-card strong,.leave-applicant-card em{display:block}.leave-applicant-card small{color:var(--work-blue);font-size:8px;font-weight:900;letter-spacing:.1em}.leave-applicant-card strong{font-size:13px}.leave-applicant-card em{margin-top:2px;color:var(--text-muted);font-size:9px;font-style:normal}.leave-policy-guidance{display:flex;flex-wrap:wrap;gap:6px}.leave-policy-guidance span{display:inline-flex;align-items:center;gap:5px;padding:6px 8px;border-radius:99px;color:var(--work-blue);background:color-mix(in srgb,var(--work-blue) 8%,var(--surface));font-size:8px;font-weight:800}.leave-handover-panel{margin:0;padding:14px;border:1px solid var(--theme-line);border-radius:14px;background:var(--surface-2)}.leave-handover-panel legend{float:none;width:auto;margin:0 0 8px;padding:0 5px;font-size:10px;font-weight:900}.leave-handover-panel .form-grid{margin:0}.leave-document-field{padding:13px;border:1px dashed color-mix(in srgb,var(--work-blue) 35%,var(--theme-line));border-radius:13px;background:color-mix(in srgb,var(--work-blue) 5%,var(--surface))}.leave-document-field>small{margin-top:6px;color:var(--text-muted);font-size:9px;font-weight:600;letter-spacing:0}:is(#workLeaveRequest,#workLeaveCancellation,#workCorrection) .modal-header p{margin:4px 0 0;color:var(--text-muted);font-size:10px}
.shift-assignment-history{margin:14px 0;padding:13px;border:1px solid var(--theme-line);border-radius:13px;background:var(--surface-2)}.shift-assignment-history>strong{display:block;margin-bottom:8px;font-size:11px}.shift-assignment-history>div{display:flex;flex-wrap:wrap;gap:7px}.shift-assignment-history span{display:flex;align-items:center;gap:6px;padding:7px 9px;border:1px solid var(--theme-line);border-radius:9px;background:var(--surface);color:var(--text-muted);font-size:9px;font-weight:700}.shift-assignment-history i{color:var(--hr-blue)}
.payroll-visual{overflow-x:auto}.payroll-chart{min-width:720px}
@media(max-width:1199px){.work-stat-grid{grid-template-columns:repeat(3,1fr)}.payroll-snapshot-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:900px){.work-dashboard-hero{align-items:flex-start;flex-direction:column}.work-dashboard-controls{width:100%}.employee-workspace-search{flex:1}.work-dashboard-grid{grid-template-columns:1fr}}
@media(max-width:767px){.month-command{grid-template-columns:42px 1fr 42px}.month-command form{grid-column:1/-1;grid-row:2}.month-command input{width:100%}.work-stat-grid{grid-template-columns:repeat(2,1fr)}.work-calendar-card{margin-inline:-2px;padding-inline:14px}.work-calendar-shell{min-width:980px}.payroll-visual-heading{min-width:720px}.work-leave-section>.section-heading{align-items:flex-start;flex-direction:column;gap:10px}}
@media(max-width:480px){.work-dashboard-hero{padding:18px}.work-dashboard-controls{align-items:stretch;flex-direction:column}.work-stat-grid{grid-template-columns:1fr 1fr}.work-stat-grid>article{padding:11px}.attendance-health dl{grid-template-columns:1fr}.payroll-snapshot-grid{grid-template-columns:1fr}.leave-history-filters{grid-template-columns:1fr}}

:root{--brand:var(--teal);--brand-strong:var(--navy);--shadow-soft:var(--shadow-sm)}
.payroll-studio-head{display:grid;grid-template-columns:1fr;gap:.7rem;margin-bottom:1rem;padding:.85rem 1.25rem 1rem;border-radius:22px;color:#fff;background:linear-gradient(125deg,var(--brand-strong),var(--brand),#3158d4);box-shadow:0 18px 42px color-mix(in srgb,var(--brand) 25%,transparent)}.payroll-studio-title{width:100%;text-align:center}.payroll-studio-head h2{width:100%;margin:.12rem 0 0;font-size:clamp(1.35rem,2vw,1.9rem)}.payroll-studio-head .section-kicker{color:rgba(255,255,255,.7)}.payroll-studio-links{display:flex;align-items:center;justify-content:center;gap:.65rem;flex-wrap:nowrap}.payroll-studio-head .outline-button{color:#fff;border-color:rgba(255,255,255,.35);background:rgba(255,255,255,.1);white-space:nowrap}
.payroll-filter-command{display:grid;grid-template-columns:repeat(6,minmax(145px,1fr)) auto;gap:.8rem;align-items:end;padding:1rem 1.1rem;margin-bottom:1rem}.payroll-filter-command label,.hr-payroll-report-filters label{display:grid;gap:.35rem}.payroll-filter-command label>span,.hr-payroll-report-filters label>span{font-size:.72rem;font-weight:800;letter-spacing:.055em;text-transform:uppercase;color:var(--text-muted)}
.payroll-readiness-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:.7rem;margin-bottom:1rem}.payroll-readiness-grid article,.payroll-readiness-grid>a,.payroll-readiness-grid>button{display:grid;grid-template-columns:1fr;gap:.45rem;align-content:center;min-height:92px;padding:.75rem .85rem;border:1px solid var(--theme-line);border-radius:16px;background:var(--surface);box-shadow:var(--shadow-soft);color:var(--text-main);text-align:left;text-decoration:none}.payroll-readiness-grid>button{width:100%;cursor:pointer}.payroll-readiness-grid :is(a,button):hover{border-color:var(--brand);transform:translateY(-2px)}.payroll-readiness-grid small{display:block;width:100%;font-size:.7rem;font-weight:800;line-height:1.25;text-transform:uppercase;letter-spacing:.045em;color:var(--text-muted)}.payroll-readiness-grid span{display:flex;align-items:center;justify-content:space-between;gap:.65rem}.payroll-readiness-grid span>i{display:grid;place-items:center;width:36px;height:36px;flex:0 0 36px;border-radius:12px;font-size:1rem;background:color-mix(in srgb,var(--brand) 12%,var(--surface));color:var(--brand)}.payroll-readiness-grid strong{font-size:1.65rem;line-height:1}.payroll-readiness-grid .info span>i{color:#245ba8;background:#e5efff}.payroll-readiness-grid .warning span>i{color:#b86b00;background:#fff3d9}.payroll-readiness-grid .danger span>i{color:#d04444;background:#ffe7e7}
.payroll-generation-workbench{padding:0;overflow:hidden}.payroll-generation-workbench>.card-heading{padding:1.15rem 1.2rem;margin:0;border-bottom:1px solid var(--theme-line)}.payroll-bulk-actions,.payroll-generated-actions{display:flex;align-items:center;justify-content:flex-end;gap:.55rem;flex-wrap:wrap}.payroll-table-scroll{width:100%;overflow:auto}.payroll-review-table{min-width:1500px}.payroll-review-table th{white-space:nowrap}.payroll-review-table td{vertical-align:middle}.payroll-review-table input[type=number]{width:94px;min-width:94px}.payroll-review-table select{min-width:130px}.payroll-review-table td:nth-child(2){min-width:220px}.payroll-review-table output{font-weight:850}.payroll-number-control{display:flex;align-items:center;gap:.3rem}.payroll-number-control .icon-action{flex:0 0 34px;width:34px;height:34px}.payroll-readiness-tags{display:flex;gap:.3rem;flex-wrap:wrap;margin-bottom:.4rem}.payroll-readiness-tags :is(span,a,button){padding:.22rem .45rem;border-radius:999px;font-size:.66rem;font-weight:850;text-decoration:none}.payroll-readiness-tags .ready{color:#146c54;background:#ddf8ed}.payroll-readiness-tags .info{color:#245ba8;background:#e5efff}.payroll-readiness-tags .warning{color:#935b00;background:#fff0c8}.payroll-readiness-tags .danger{color:#a82e2e;background:#ffe1e1}.attendance-resolution{font-size:.75rem!important}.payroll-review-footer{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 1.2rem;border-top:1px solid var(--theme-line);background:var(--surface-2)}.payroll-review-footer>span{display:flex;gap:.5rem;color:var(--text-muted);font-size:.8rem}.payroll-review-footer i{color:var(--brand)}
.payroll-batch-queue{margin-top:1rem}.payroll-batch-list{display:flex;gap:.65rem;overflow:auto;padding:.15rem 0 1rem}.payroll-batch-list>a{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-width:245px;padding:.8rem .9rem;border:1px solid var(--theme-line);border-radius:14px;color:var(--text-main);text-decoration:none;background:var(--surface)}.payroll-batch-list>a.active{border-color:var(--brand);box-shadow:0 0 0 3px color-mix(in srgb,var(--brand) 12%,transparent)}.payroll-batch-list span{display:grid}.payroll-batch-list small{color:var(--text-muted)}.payroll-generated-review{border-top:1px solid var(--theme-line);padding-top:1rem}.payroll-generated-actions{margin-bottom:.8rem}.payroll-detail-section+.payroll-detail-section{margin-top:1.2rem}.payroll-detail-section h3{font-size:.9rem}.payroll-detail-items{display:flex;gap:.45rem;flex-wrap:wrap}.payroll-detail-items span{padding:.4rem .6rem;border:1px solid var(--theme-line);border-radius:10px;background:var(--surface-2)}
.payroll-settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-top:1rem}.payroll-bank-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.4rem}.hr-payroll-report-filters{display:grid;grid-template-columns:repeat(4,minmax(160px,1fr)) auto;gap:.7rem;align-items:end;padding:1rem;border:1px solid var(--theme-line);border-radius:16px;margin-bottom:1rem;background:var(--surface-2)}
@media(max-width:1200px){.payroll-filter-command{grid-template-columns:repeat(3,minmax(160px,1fr))}.payroll-readiness-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:900px){.payroll-settings-grid{grid-template-columns:1fr}.hr-payroll-report-filters{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:640px){.payroll-studio-links{gap:.4rem}.payroll-studio-head .outline-button{padding:.58rem .65rem;font-size:.78rem}.payroll-filter-command,.hr-payroll-report-filters{grid-template-columns:1fr}.payroll-readiness-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.payroll-review-footer{align-items:stretch;flex-direction:column}.payroll-bank-columns{grid-template-columns:1fr}}
.settings-native-modal .modal-dialog{height:calc(100vh - 32px);margin:16px auto}.settings-native-modal .modal-content{max-height:100%;overflow:hidden}.settings-native-modal form{display:flex;min-height:0;flex:1;flex-direction:column}.settings-native-modal .modal-body{min-height:0;overflow-y:auto;overscroll-behavior:contain}.shift-duration-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.shift-duration-fields label{display:grid;gap:6px}.shift-hours-expression{display:flex;align-items:center;gap:11px;padding:12px;border:1px solid var(--theme-line);border-radius:13px;background:color-mix(in srgb,var(--teal) 6%,var(--surface))}.shift-hours-expression>i{display:grid;width:38px;height:38px;place-items:center;border-radius:11px;color:#fff;background:linear-gradient(135deg,var(--navy-2),var(--teal))}.shift-hours-expression span{display:grid}.shift-hours-expression small{color:var(--text-muted);font-size:8px;font-weight:900;letter-spacing:.1em}.shift-hours-expression strong{font-size:10px}.shift-late-policy{padding:16px!important;border:1px solid color-mix(in srgb,var(--amber) 35%,var(--theme-line))!important;border-radius:16px;background:color-mix(in srgb,var(--amber-pale) 55%,var(--surface))}.late-recovery-config{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:14px}.late-recovery-config>div{display:grid;gap:8px;padding:12px;border:1px solid var(--theme-line);border-radius:13px;background:var(--surface)}.late-recovery-config>div>strong{font-size:11px}.late-recovery-config>div>small{color:var(--text-muted);font-size:9px}.late-recovery-config label{display:grid;grid-template-columns:70px minmax(0,1fr);align-items:center;gap:8px}.late-recovery-config label>span{margin:0!important}@media(max-width:700px){.late-recovery-config,.shift-duration-fields{grid-template-columns:1fr}}
.shift-weekly-off-policy>p{margin:-4px 0 12px;color:var(--text-muted);font-size:10px}.shift-weekly-off-rules{display:grid;gap:6px;overflow-x:auto;padding-bottom:3px}.weekly-off-rule-head,.weekly-off-rule-row{display:grid;grid-template-columns:minmax(110px,1.45fr) repeat(7,minmax(58px,1fr));gap:6px;min-width:650px;align-items:center}.weekly-off-rule-head{padding:0 2px;color:var(--text-muted);font-size:9px;font-weight:900;text-align:center;text-transform:uppercase}.weekly-off-rule-head span:first-child{text-align:left}.weekly-off-rule-row{padding:7px 8px;border:1px solid var(--theme-line);border-radius:11px;background:var(--surface)}.weekly-off-rule-row>strong{font-size:11px}.weekly-off-rule-row label{cursor:pointer;margin:0}.weekly-off-rule-row input{position:absolute;opacity:0;pointer-events:none}.weekly-off-rule-row label span{display:grid!important;min-height:32px;place-items:center;margin:0!important;border:1px solid var(--theme-line);border-radius:8px;background:var(--surface-2);color:var(--text-muted);font-size:9px!important;font-weight:900!important}.weekly-off-rule-row input:checked+span{border-color:var(--hr-coral);background:color-mix(in srgb,var(--hr-coral) 10%,var(--surface));color:var(--hr-coral);box-shadow:0 0 0 1px color-mix(in srgb,var(--hr-coral) 10%,transparent)}
.settings-native-modal [data-shift-late-rules][hidden]{display:none!important}.deduction-review-hero{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:16px;padding:24px 27px;border-radius:23px;color:#fff;background:linear-gradient(130deg,#182a50,#5145b6 68%,#8a5ee8);box-shadow:0 18px 42px rgba(48,43,126,.23)}.deduction-review-hero small{font-size:10px;font-weight:900;letter-spacing:.12em;color:#d9d5ff}.deduction-review-hero h2{margin:4px 0;font-size:28px}.deduction-review-hero p{margin:0;color:rgba(255,255,255,.8)}.deduction-review-hero form{position:relative;z-index:1}.deduction-review-hero label>span{display:block;margin-bottom:5px;font-size:10px;font-weight:850}.deduction-review-hero input{min-height:44px;padding:8px 12px;border:1px solid rgba(255,255,255,.28);border-radius:11px;background:rgba(255,255,255,.12);color:#fff;color-scheme:dark}.deduction-review-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:16px}.deduction-review-metrics article{display:flex;align-items:center;gap:12px;padding:16px;border:1px solid var(--theme-line);border-radius:17px;background:var(--surface)}.deduction-review-metrics article>i{display:grid;width:43px;height:43px;place-items:center;border-radius:13px;color:var(--brand);background:color-mix(in srgb,var(--brand) 11%,var(--surface))}.deduction-review-metrics span{display:grid}.deduction-review-metrics small{color:var(--text-muted);font-size:9px;font-weight:900;text-transform:uppercase}.deduction-review-metrics strong{font-size:21px}.deduction-review-metrics em{color:var(--text-muted);font-size:9px;font-style:normal}.deduction-review-filters{display:grid;grid-template-columns:220px minmax(260px,1fr) auto;align-items:end;gap:12px;padding:16px}.deduction-review-filters label{display:grid;gap:6px}.deduction-review-filters label>span{color:var(--text-muted);font-size:10px;font-weight:850}.deduction-review-list{display:grid;gap:13px}.deduction-review-card{padding:0;overflow:hidden}.deduction-review-card>header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 18px;border-bottom:1px solid var(--theme-line)}.deduction-late-dates{display:flex;flex-wrap:wrap;gap:6px;padding:12px 18px;background:var(--surface-2)}.deduction-late-dates span{padding:5px 8px;border:1px solid var(--theme-line);border-radius:8px;background:var(--surface);font-size:9px;font-weight:800}.deduction-late-dates i{margin-right:5px;color:var(--hr-coral)}.deduction-decision-form{padding:16px 18px}.deduction-editor-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.deduction-editor-grid>section{display:grid;align-content:start;gap:8px;padding:13px;border:1px solid var(--theme-line);border-radius:13px;background:var(--surface-2)}.deduction-editor-grid>section>span,.deduction-review-note>span{color:var(--text-muted);font-size:9px;font-weight:900;text-transform:uppercase}.deduction-editor-grid>section>label{display:grid;grid-template-columns:minmax(120px,1fr) 100px auto;align-items:center;gap:8px;margin:0}.deduction-editor-grid>section>label strong{font-size:11px}.deduction-editor-grid input{min-height:40px}.deduction-editor-grid em,.deduction-editor-grid section>small{color:var(--text-muted);font-size:10px;font-style:normal}.deduction-review-note{display:grid;grid-column:1/-1;gap:6px}.deduction-review-note textarea{width:100%}.deduction-decision-form>footer{display:flex;align-items:center;justify-content:flex-end;gap:8px;margin-top:14px;padding-top:14px;border-top:1px solid var(--theme-line)}@media(max-width:800px){.deduction-review-hero{align-items:flex-start;flex-direction:column}.deduction-review-metrics,.deduction-editor-grid{grid-template-columns:1fr 1fr}.deduction-review-filters{grid-template-columns:1fr}.deduction-review-note{grid-column:1/-1}}@media(max-width:560px){.deduction-review-metrics,.deduction-editor-grid{grid-template-columns:1fr}.deduction-review-note{grid-column:auto}.deduction-decision-form>footer{align-items:stretch;flex-direction:column}.deduction-decision-form>footer button{width:100%}}
.payroll-readiness-tags button{border:0;cursor:pointer}.pay-method-pill{display:inline-flex;align-items:center;gap:5px;padding:6px 9px;border-radius:999px;font-size:10px;font-weight:850;white-space:nowrap}.pay-method-pill.account{color:#2553a6;background:#e8f0ff}.pay-method-pill.cheque{color:#8b5b00;background:#fff1ce}.payroll-exception-modal .modal-dialog{height:calc(100vh - 34px)}.payroll-exception-modal .modal-content{max-height:100%}.payroll-exception-list{display:grid;gap:10px}.payroll-exception-list>article{border:1px solid var(--theme-line);border-radius:14px;background:var(--surface);overflow:hidden}.payroll-exception-list>article>header{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 14px;background:var(--surface-2)}.payroll-exception-list header strong,.payroll-exception-list header small{display:block}.payroll-exception-list header small{color:var(--text-muted);font-size:10px}.payroll-exception-form{display:grid;grid-template-columns:1.25fr .8fr .8fr 1.2fr minmax(180px,1.5fr) auto;align-items:end;gap:9px;padding:12px 14px}.payroll-exception-form label,.payroll-leave-decision-form label{display:grid;gap:5px;margin:0}.payroll-exception-form label>span,.payroll-leave-decision-form label>span{color:var(--text-muted);font-size:9px;font-weight:850}.payroll-exception-form :is(input,select),.payroll-leave-decision-form input{min-height:40px}.payroll-leave-decision-form{display:grid;grid-template-columns:minmax(260px,1fr) auto auto;align-items:end;gap:9px;padding:12px 14px}@media(max-width:1000px){.payroll-exception-form{grid-template-columns:repeat(2,minmax(0,1fr))}.payroll-exception-form .reason{grid-column:1/-1}.payroll-leave-decision-form{grid-template-columns:1fr auto auto}}@media(max-width:600px){.payroll-exception-form,.payroll-leave-decision-form{grid-template-columns:1fr}.payroll-exception-form .reason{grid-column:auto}}

.probation-policy-card{margin-top:1rem}.probation-policy-options{display:grid;grid-template-columns:minmax(320px,1.4fr) minmax(220px,.6fr);gap:14px;align-items:end}.probation-policy-options>label:not(.policy-switch){display:grid;gap:6px}.probation-route-builder{margin-top:16px;padding:16px;border:1px solid var(--theme-line);border-radius:16px;background:var(--surface-2)}.probation-route-builder>p{margin:-3px 0 12px;color:var(--text-muted);font-size:.78rem}.probation-route-head,.probation-route-row{display:grid;grid-template-columns:80px minmax(190px,.9fr) minmax(220px,1.1fr) minmax(220px,1.3fr);gap:10px;align-items:center}.probation-route-head{padding:0 10px 7px;color:var(--text-muted);font-size:.67rem;font-weight:900;letter-spacing:.06em;text-transform:uppercase}.probation-route-row{margin-top:7px;padding:9px 10px;border:1px solid var(--theme-line);border-radius:12px;background:var(--surface)}.probation-route-row>strong{font-size:.8rem}.probation-route-row>small{color:var(--text-muted);font-size:.72rem;line-height:1.35}.probation-route-row.disabled{opacity:.68}
.probation-command-hero{display:flex;align-items:center;justify-content:space-between;gap:22px;margin-bottom:16px;padding:22px 25px;border-radius:23px;color:#fff;background:linear-gradient(125deg,#162a54,#5149ba 62%,#b14f87);box-shadow:0 18px 42px rgba(36,31,110,.23)}.probation-command-hero .section-kicker{color:#d8d7ff}.probation-command-hero h2{margin:4px 0;font-size:clamp(1.45rem,2vw,2rem)}.probation-command-hero p{margin:0;color:rgba(255,255,255,.8)}.probation-route-summary{display:flex;align-items:center;gap:8px;max-width:48%;overflow:auto}.probation-route-summary>span{display:grid;grid-template-columns:30px minmax(100px,1fr);align-items:center;gap:7px;min-width:150px;padding:8px;border:1px solid rgba(255,255,255,.2);border-radius:12px;background:rgba(255,255,255,.1)}.probation-route-summary b{display:grid;width:30px;height:30px;place-items:center;border-radius:9px;background:#fff;color:#40399f}.probation-route-summary small{font-size:.68rem;font-weight:800}.probation-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:16px}.probation-metrics article{display:flex;align-items:center;gap:12px;padding:15px;border:1px solid var(--theme-line);border-radius:17px;background:var(--surface)}.probation-metrics i{display:grid;width:42px;height:42px;place-items:center;border-radius:13px;color:#4942b5;background:#ecebff}.probation-metrics article.warning i{color:#a96500;background:#fff0d0}.probation-metrics article.danger i{color:#b42f48;background:#ffe5e9}.probation-metrics article.success i{color:#16705d;background:#ddf7ef}.probation-metrics span{display:grid}.probation-metrics small{color:var(--text-muted);font-size:.68rem;font-weight:900;text-transform:uppercase}.probation-metrics strong{font-size:1.55rem;line-height:1.1}.probation-filter-bar{display:grid;grid-template-columns:minmax(240px,1.3fr) minmax(190px,1fr) minmax(190px,1fr) auto;gap:12px;align-items:end;padding:15px;margin-bottom:16px}.probation-filter-bar label{display:grid;gap:6px}.probation-filter-bar label>span{color:var(--text-muted);font-size:.68rem;font-weight:850;text-transform:uppercase}.probation-worklist{padding:0;overflow:hidden}.probation-worklist>.card-heading{padding:17px 19px;margin:0;border-bottom:1px solid var(--theme-line)}.probation-table{min-width:1200px}.probation-table td{vertical-align:middle}.probation-table td>strong,.probation-table td>small{display:block}.probation-table td>small{margin-top:3px;color:var(--text-muted);font-size:.7rem}.probation-comment-preview{display:-webkit-box;max-width:260px;overflow:hidden;color:var(--text-muted);font-size:.73rem;-webkit-box-orient:vertical;-webkit-line-clamp:2}.probation-policy-form>.primary-button{margin-top:14px}
@media(max-width:1000px){.probation-policy-options{grid-template-columns:1fr}.probation-route-head{display:none}.probation-route-row{grid-template-columns:70px 1fr 1fr}.probation-route-row>small{grid-column:2/-1}.probation-command-hero{align-items:flex-start;flex-direction:column}.probation-route-summary{max-width:100%}.probation-metrics{grid-template-columns:repeat(2,1fr)}.probation-filter-bar{grid-template-columns:repeat(2,1fr)}}@media(max-width:620px){.probation-route-row,.probation-filter-bar,.probation-metrics{grid-template-columns:1fr}.probation-route-row>small{grid-column:auto}}
.probation-export-link{display:inline-flex;align-items:center;gap:7px;margin-top:12px;padding:7px 10px;border:1px solid rgba(255,255,255,.28);border-radius:10px;color:#fff;font-size:.73rem;font-weight:850;text-decoration:none;background:rgba(255,255,255,.1)}.probation-export-link:hover{color:#fff;background:rgba(255,255,255,.18)}
.probation-form-builder{margin-top:1rem;padding:0;overflow:hidden}.probation-form-builder>.card-heading{padding:17px 19px;margin:0;border-bottom:1px solid var(--theme-line)}.probation-field-table{min-width:900px}.probation-field-table td{vertical-align:middle}.probation-field-table td>strong,.probation-field-table td>small{display:block}.probation-field-table td>small{margin-top:3px;color:var(--text-muted);font-size:.7rem}.probation-field-tags{display:flex;gap:5px;flex-wrap:wrap}.probation-field-tags em{padding:4px 7px;border-radius:999px;color:#3f399c;background:#ecebff;font-size:.65rem;font-style:normal;font-weight:850}.probation-field-switches{display:flex;gap:12px;flex-wrap:wrap;margin-top:15px;padding:13px;border:1px solid var(--theme-line);border-radius:13px;background:var(--surface-2)}.probation-manager-assessment{margin:16px 0;padding:16px;border:1px solid color-mix(in srgb,#5149ba 25%,var(--theme-line));border-radius:16px;background:color-mix(in srgb,#5149ba 5%,var(--surface))}.probation-manager-assessment>p{margin:-4px 0 13px;color:var(--text-muted);font-size:.75rem}.probation-manager-assessment label{display:grid;gap:6px}.probation-manager-assessment label>span{font-size:.73rem;font-weight:850}.probation-answer-preview{display:block;min-width:130px;max-width:220px;color:var(--text-main);font-size:.72rem;line-height:1.4}.probation-table{width:max-content;min-width:100%}
.probation-manager-assessment+label:has(textarea[name="confirmation_comment"]){display:grid!important;width:100%;gap:7px;margin:16px 0 0!important}.probation-manager-assessment+label:has(textarea[name="confirmation_comment"])>span{display:block;width:100%;font-size:.76rem;font-weight:850}.probation-manager-assessment+label textarea[name="confirmation_comment"]{display:block;width:100%;min-width:100%;resize:vertical}.probation-manager-assessment+label:has(textarea[name="confirmation_comment"])>small{display:block;width:100%;color:var(--text-muted);font-size:.7rem}
#probationDecision .modal-body>.form-grid.cols-3{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:12px;align-items:stretch;margin:0;padding:14px;border:1px solid var(--theme-line);border-radius:16px;background:var(--surface-2)}#probationDecision .modal-body>.form-grid.cols-3>label{display:grid;grid-template-rows:auto 46px;align-content:start;gap:7px;min-width:0;margin:0;padding:11px 12px;border:1px solid var(--theme-line);border-radius:13px;background:var(--surface)}#probationDecision .modal-body>.form-grid.cols-3>label>span{display:flex;align-items:center;min-height:18px;margin:0;color:var(--text-muted);font-size:.7rem;font-weight:900;letter-spacing:.045em;text-transform:uppercase}#probationDecision .modal-body>.form-grid.cols-3 :is(select,input[type="date"]){width:100%;min-width:0;height:46px;min-height:46px;margin:0;border:1px solid color-mix(in srgb,#5149ba 22%,var(--theme-line));border-radius:11px;background-color:var(--surface);font-size:.84rem;font-weight:750}#probationDecision input[name="confirmation_date"]{padding-inline:12px;color:var(--text-main);color-scheme:light}body[data-theme="dark"] #probationDecision input[name="confirmation_date"]{color-scheme:dark}#probationDecision .modal-body>.form-grid.cols-3 :is(select,input[type="date"]):focus{border-color:#6258cf;box-shadow:0 0 0 3px color-mix(in srgb,#6258cf 14%,transparent);outline:0}#probationDecision [data-probation-extension][hidden]{display:none!important}@media(max-width:600px){#probationDecision .modal-body>.form-grid.cols-3{grid-template-columns:1fr;padding:10px}}

/* Keep long probation forms inside the viewport. The form wrapper must also
   participate in Bootstrap's flex layout or modal-dialog-scrollable cannot
   constrain the body when dynamic confirmation fields are added. */
#probationDecision .modal-dialog,#probationPlanReview .modal-dialog{height:calc(100dvh - 32px);max-height:calc(100dvh - 32px);margin:16px auto}
#probationDecision .modal-content,#probationPlanReview .modal-content{display:flex;max-height:100%;overflow:hidden}
#probationDecision .modal-content>form,#probationPlanReview .modal-content>form{display:flex;min-height:0;max-height:100%;flex:1 1 auto;flex-direction:column;overflow:hidden}
#probationDecision .modal-header,#probationPlanReview .modal-header,#probationDecision .modal-footer,#probationPlanReview .modal-footer{flex:0 0 auto}
#probationDecision .modal-body,#probationPlanReview .modal-body{min-height:0;flex:1 1 auto;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;scrollbar-gutter:stable;padding-bottom:28px}
@media(max-width:600px){#probationDecision .modal-dialog,#probationPlanReview .modal-dialog{height:calc(100dvh - 16px);max-height:calc(100dvh - 16px);margin:8px}}
.probation-extension-plan{margin:16px 0;padding:16px;border:1px solid color-mix(in srgb,#d18415 32%,var(--theme-line));border-radius:16px;background:color-mix(in srgb,#f4b84a 7%,var(--surface))}.probation-extension-plan>p{margin:-4px 0 14px;color:var(--text-muted);font-size:.75rem}.probation-extension-plan label{display:grid;gap:6px}.probation-extension-plan label>span{font-size:.72rem;font-weight:850}.probation-extension-plan[hidden]{display:none!important}.probation-plan-workspace{display:grid;grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr);gap:16px;margin-top:16px}.probation-plan-workspace .content-card{margin:0}.probation-notification-card .compact-list p{margin:4px 0 0;color:var(--text-muted);font-size:.72rem}.probation-plan-list{display:grid;gap:11px}.probation-plan-list>article{padding:14px;border:1px solid var(--theme-line);border-radius:15px;background:var(--surface-2)}.probation-plan-list header{display:flex;align-items:center;justify-content:space-between;gap:12px}.probation-plan-list header strong,.probation-plan-list header small{display:block}.probation-plan-list header small{color:var(--text-muted);font-size:.7rem}.probation-plan-details{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;margin:11px 0}.probation-plan-details>div{padding:8px;border:1px solid var(--theme-line);border-radius:10px;background:var(--surface)}.probation-plan-details small,.probation-plan-details strong{display:block}.probation-plan-details small{color:var(--text-muted);font-size:.62rem;font-weight:850;text-transform:uppercase}.probation-plan-details strong{margin-top:3px;font-size:.72rem}.probation-plan-list>article>p{color:var(--text-muted);font-size:.73rem}.probation-plan-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:14px}.probation-plan-summary>div{padding:11px;border:1px solid var(--theme-line);border-radius:12px;background:var(--surface-2)}.probation-plan-summary small,.probation-plan-summary strong{display:block}.probation-plan-summary small{color:var(--text-muted);font-size:.65rem;font-weight:850;text-transform:uppercase}.probation-plan-summary strong{margin-top:4px;font-size:.76rem}.probation-plan-complete{margin:14px 0}.probation-plan-complete+.probation-confirmation-comment{margin-top:12px!important}@media(max-width:1000px){.probation-plan-workspace{grid-template-columns:1fr}.probation-plan-details{grid-template-columns:repeat(2,1fr)}}@media(max-width:600px){.probation-plan-details,.probation-plan-summary{grid-template-columns:1fr}}
.probation-decision-tag{display:inline-flex;align-items:center;white-space:nowrap;padding:5px 9px;border-radius:999px;background:color-mix(in srgb,#5149ba 10%,var(--surface));color:#5149ba;font-size:.67rem;font-weight:850}.probation-decision-tag.extend{background:color-mix(in srgb,#d18415 12%,var(--surface));color:#a15e00}.probation-decision-tag.reject{background:color-mix(in srgb,#c43d4f 11%,var(--surface));color:#a92f40}#probationDecision [data-probation-date][hidden],#probationDecision [data-probation-form][hidden]{display:none!important}#probationDecision .probation-decision-form.extend{border-color:color-mix(in srgb,#d18415 30%,var(--theme-line));background:color-mix(in srgb,#f4b84a 6%,var(--surface))}#probationDecision .probation-decision-form.reject{border-color:color-mix(in srgb,#c43d4f 28%,var(--theme-line));background:color-mix(in srgb,#c43d4f 5%,var(--surface))}.probation-form-empty{display:flex;align-items:center;gap:9px;padding:13px;border:1px dashed var(--theme-line);border-radius:12px;color:var(--text-muted);font-size:.75rem}.probation-confirmation-comment{display:grid!important;width:100%;gap:7px;margin:16px 0 0!important}.probation-confirmation-comment>span{display:block;width:100%;font-size:.76rem;font-weight:850}.probation-confirmation-comment textarea{display:block;width:100%;min-width:100%;resize:vertical}.probation-confirmation-comment>small{display:block;width:100%;color:var(--text-muted);font-size:.7rem}
.probation-route-head,.probation-route-row{grid-template-columns:80px minmax(190px,.9fr) minmax(220px,1.1fr) minmax(220px,1.3fr) 42px}.probation-route-row .modern-select[hidden]{display:none!important}.probation-route-remove{justify-self:end}.probation-route-remove[hidden]{display:none!important}.probation-route-add{margin-top:12px}.probation-route-add:disabled{cursor:not-allowed;opacity:.55}.probation-field-table :is(th,td):first-child{padding-left:20px!important}@media(max-width:1000px){.probation-route-row{grid-template-columns:70px 1fr 1fr 42px}.probation-route-row>small{grid-column:2/4}}@media(max-width:620px){.probation-route-row{grid-template-columns:1fr 42px}.probation-route-row>.modern-select,.probation-route-row>select,.probation-route-row>small{grid-column:1/-1}.probation-route-remove{grid-column:2;grid-row:1}}
.payslip-template-studio{overflow:hidden}.payslip-template-actions{display:flex;align-items:center;gap:.7rem;flex-wrap:wrap}.payslip-studio-grid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(290px,.75fr);gap:1.25rem;align-items:start}.payslip-template-form{padding:1.15rem;border:1px solid var(--line);border-radius:20px;background:color-mix(in srgb,var(--surface) 88%,var(--accent-soft))}.payslip-template-form>label{display:block;margin-top:1rem}.payslip-template-form textarea{width:100%;resize:vertical;line-height:1.65;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.88rem}.payslip-history-guide{display:flex;gap:.8rem;align-items:flex-start;margin:1rem 0;padding:.9rem 1rem;border-radius:15px;background:var(--accent-soft);color:var(--text)}.payslip-history-guide>i{font-size:1.25rem;color:var(--accent)}.payslip-history-guide span{display:grid;gap:.22rem}.payslip-history-guide small{line-height:1.5;color:var(--muted)}.payslip-history-guide code{padding:.12rem .35rem;border-radius:6px;background:var(--surface);color:var(--accent-strong)}.payslip-token-panel{position:sticky;top:1rem;max-height:68vh;overflow:auto;padding:1rem;border:1px solid var(--line);border-radius:20px;background:var(--surface)}.payslip-token-panel h3{margin:.2rem 0}.payslip-token-panel p{margin:0 0 .8rem;color:var(--muted);font-size:.84rem}.payslip-token-groups{display:grid;gap:.65rem}.payslip-token-groups details{border:1px solid var(--line);border-radius:14px;overflow:hidden;background:var(--surface)}.payslip-token-groups summary{display:flex;justify-content:space-between;align-items:center;cursor:pointer;padding:.8rem .9rem;font-weight:750}.payslip-token-groups summary em{font-style:normal;min-width:1.7rem;text-align:center;border-radius:999px;background:var(--accent-soft);color:var(--accent-strong);font-size:.72rem}.payslip-token-groups details>div{display:grid;gap:.42rem;padding:0 .65rem .65rem}.payslip-token-groups button{display:grid;gap:.18rem;text-align:left;width:100%;padding:.65rem .72rem;border:1px solid transparent;border-radius:11px;background:var(--background);color:var(--text);transition:.18s ease}.payslip-token-groups button:hover,.payslip-token-groups button:focus{border-color:var(--accent);transform:translateY(-1px);box-shadow:0 7px 18px color-mix(in srgb,var(--accent) 13%,transparent)}.payslip-token-groups code{font-size:.75rem;color:var(--accent-strong);overflow-wrap:anywhere}.payslip-token-groups small{color:var(--muted);font-size:.72rem}@media(max-width:980px){.payslip-studio-grid{grid-template-columns:1fr}.payslip-token-panel{position:static;max-height:none}}@media(max-width:640px){.payslip-template-form{padding:.85rem}.payslip-template-actions{width:100%}.payslip-template-actions .outline-button{flex:1;justify-content:center}}
.payslip-layout-toolbar{display:flex;align-items:center;gap:.55rem;flex-wrap:wrap;margin:1rem 0 .25rem;padding:.75rem;border:1px dashed color-mix(in srgb,var(--accent) 38%,var(--line));border-radius:16px;background:var(--surface)}.payslip-layout-toolbar button{min-height:38px}.payslip-detail-controls{display:grid;grid-template-columns:minmax(180px,.55fr) minmax(260px,1.45fr);gap:1rem;margin-bottom:1rem}.payslip-field-builder{display:grid;gap:.6rem}.payslip-field-builder>[data-payslip-field-row]{display:grid;grid-template-columns:44px minmax(180px,.9fr) minmax(180px,.8fr) minmax(220px,1fr);align-items:center;gap:.8rem;padding:.72rem;border:1px solid var(--line);border-radius:14px;background:var(--surface)}.payslip-field-builder>[data-payslip-field-row]:has([data-field-enabled]:checked){border-color:color-mix(in srgb,var(--accent) 55%,var(--line));background:color-mix(in srgb,var(--surface) 88%,var(--accent-soft))}.payslip-field-builder code{color:var(--accent-strong);font-size:.76rem;overflow-wrap:anywhere}.payslip-field-builder label{margin:0}.payslip-field-builder label:last-child>span{font-size:.68rem}.payslip-field-move{display:grid;grid-template-columns:1fr 1fr;gap:.18rem}.payslip-field-move button{display:grid;place-items:center;width:20px;height:25px;padding:0;border:1px solid var(--line);border-radius:6px;background:var(--surface);color:var(--muted)}.payslip-field-move button:hover{color:var(--accent);border-color:var(--accent)}@media(max-width:850px){.payslip-detail-controls{grid-template-columns:1fr}.payslip-field-builder>[data-payslip-field-row]{grid-template-columns:40px 1fr}.payslip-field-builder code,.payslip-field-builder label:last-child{grid-column:2}}
.payslip-preview-workspace{margin-top:1.25rem;padding:1rem;border:1px solid var(--line);border-radius:20px;background:color-mix(in srgb,var(--surface) 92%,var(--accent-soft))}.payslip-preview-heading{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:.9rem}.payslip-preview-heading h3{margin:.18rem 0;font-size:1.05rem}.payslip-preview-heading p{margin:0;color:var(--muted);font-size:.78rem}.payslip-preview-viewport{overflow:auto;padding:1.2rem;border-radius:16px;background:color-mix(in srgb,var(--text) 8%,var(--background));box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--text) 8%,transparent)}.payslip-preview-paper{width:794px;min-height:720px;margin:auto;background:#fff;color:#17233f;box-shadow:0 18px 55px rgba(18,30,58,.18)}.payslip-preview-paper>header{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:26px 34px;background:#172554;color:#fff}.payslip-preview-paper>header>div:last-child{display:grid;gap:5px;text-align:right}.payslip-preview-paper>header>div:last-child strong{font-size:.72rem;letter-spacing:.07em}.payslip-preview-paper>header>div:last-child small{color:#c7d2fe;font-size:.62rem}.payslip-preview-brand{display:flex;align-items:center;gap:14px}.payslip-preview-brand>span,.payslip-preview-logo{display:grid;place-items:center;width:44px;height:44px;border-radius:12px;background:#2563eb;color:#fff;font-size:.9rem;font-weight:850}.payslip-preview-brand>div{display:grid;gap:4px}.payslip-preview-brand strong{font-size:1rem}.payslip-preview-brand small{color:#c7d2fe;font-size:.66rem}.payslip-preview-paper>main{padding:28px 34px}.payslip-preview-title{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:18px}.payslip-preview-title small{color:#2563eb;font-size:.62rem;font-weight:850;letter-spacing:.06em}.payslip-preview-title h2{margin:6px 0 0;color:#17233f;font-size:1.25rem}.payslip-preview-title p{max-width:48%;margin:3px 0;color:#5c6c89;font-size:.7rem;text-align:right}.payslip-preview-paper [data-payslip-preview-body]{display:grid;gap:14px}.payslip-preview-grid{display:grid;border-top:1px solid #cfdaeb;border-left:1px solid #cfdaeb}.payslip-preview-cell{display:flex;min-width:0;min-height:58px;flex-direction:column;justify-content:center;gap:5px;padding:10px 12px;border-right:1px solid #cfdaeb;border-bottom:1px solid #cfdaeb;background:#f8faff}.payslip-preview-cell>small{color:#2563eb;font-size:.58em;font-weight:850;text-transform:uppercase}.payslip-preview-cell>strong{color:#17233f;font-size:1em;overflow-wrap:anywhere}.payslip-preview-cell.heading{background:#e8f0ff}.payslip-preview-cell.formula>strong{color:#2563eb;font-size:1.18em}.payslip-preview-cell.block{display:block;padding:10px}.payslip-preview-cell.blank{background:repeating-linear-gradient(135deg,#fff,#fff 7px,#f8faff 7px,#f8faff 8px)}.payslip-preview-section{display:grid;gap:9px}.payslip-preview-section.paired{grid-template-columns:1fr 1fr;gap:8px}.payslip-preview-components{border:1px solid #cfdaeb}.payslip-preview-component-head,.payslip-preview-component-row,.payslip-preview-component-total{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:center;padding:7px 9px}.payslip-preview-component-head{background:#172554;color:#fff;font-size:.6rem;text-transform:uppercase}.payslip-preview-component-row{border-top:1px solid #cfdaeb;font-size:.68rem}.payslip-preview-component-row strong{font-size:.68rem}.payslip-preview-component-total{border-top:1px solid #cfdaeb;background:#e8f0ff;color:#2563eb;font-size:.65rem;font-weight:850;text-transform:uppercase}.payslip-preview-section.summary{grid-template-columns:repeat(4,1fr);gap:0;border:1px solid #cfdaeb}.payslip-preview-section.summary>div{display:grid;gap:5px;padding:10px;border-right:1px solid #cfdaeb;background:#f8faff}.payslip-preview-section.summary>div:last-child{border-right:0}.payslip-preview-section.summary small{color:#2563eb;font-size:.57rem;font-weight:850;text-transform:uppercase}.payslip-preview-section.summary strong{font-size:.85rem}.payslip-preview-section.history{overflow:auto}.payslip-preview-section.history table{width:100%;border-collapse:collapse;font-size:.62rem}.payslip-preview-section.history th{padding:7px;background:#172554;color:#fff;text-align:left;text-transform:uppercase}.payslip-preview-section.history td{padding:7px;border:1px solid #cfdaeb;text-align:right}.payslip-preview-section.history td:first-child{text-align:left}.payslip-preview-custom-text{margin:0;color:#17233f;line-height:1.45}.payslip-preview-empty{margin:0;padding:9px;color:#5c6c89;font-size:.66rem}.payslip-preview-empty-state{display:grid;min-height:140px;place-items:center;border:1px dashed #cfdaeb;color:#5c6c89;font-size:.78rem}.payslip-preview-paper main>footer{margin-top:18px;padding-top:10px;border-top:1px solid #cfdaeb;color:#5c6c89;font-size:.62rem}@media(max-width:900px){.payslip-preview-heading{align-items:flex-start;flex-direction:column}.payslip-preview-paper{margin:0}.payslip-preview-viewport{padding:.7rem}}@media(max-width:600px){.payslip-preview-workspace{padding:.7rem}.payslip-preview-heading .outline-button{width:100%;justify-content:center}}
.payslip-grid-modal .modal-dialog{max-width:min(1320px,96vw)}.payslip-grid-modal .modal-body{padding:1rem 1.2rem 1.25rem}.payslip-grid-designer{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(330px,.7fr);gap:1rem;min-height:590px}.payslip-grid-stage,.payslip-cell-inspector{border:1px solid var(--line);border-radius:20px;background:var(--surface);overflow:hidden}.payslip-grid-toolbar{display:flex;justify-content:space-between;align-items:center;gap:.75rem;padding:.8rem .9rem;border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--surface) 86%,var(--accent-soft))}.payslip-grid-toolbar>div{display:flex;gap:.4rem;flex-wrap:wrap}.payslip-grid-toolbar button{display:inline-flex;align-items:center;gap:.35rem;min-height:34px;padding:.4rem .65rem;border:1px solid var(--line);border-radius:10px;background:var(--surface);color:var(--text);font-weight:700;font-size:.76rem}.payslip-grid-toolbar button:hover{border-color:var(--accent);color:var(--accent)}.payslip-grid-toolbar>span{padding:.35rem .65rem;border-radius:999px;background:var(--accent-soft);color:var(--accent-strong);font-weight:800;font-size:.74rem;white-space:nowrap}.payslip-drawing-surface{min-height:520px;padding:1.1rem;background:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);background-size:22px 22px;background-color:color-mix(in srgb,var(--background) 78%,var(--surface))}.payslip-drawing-ruler{display:flex;justify-content:space-between;align-items:center;margin-bottom:.7rem;color:var(--muted);font-size:.7rem;font-weight:800;letter-spacing:.08em}.payslip-drawing-ruler small{font-weight:600;letter-spacing:0}.payslip-grid-canvas{display:grid;grid-template-columns:repeat(var(--payslip-grid-columns,3),minmax(0,1fr));gap:0;padding:10px;border-radius:14px;background:var(--surface);box-shadow:0 18px 45px color-mix(in srgb,var(--text) 10%,transparent)}.payslip-grid-canvas>[data-grid-cell]{position:relative;display:flex;min-width:0;min-height:106px;flex-direction:column;justify-content:center;align-items:flex-start;gap:.32rem;padding:1rem;border:1px solid var(--line);border-radius:0;background:var(--surface);color:var(--text);text-align:left;transition:.16s ease}.payslip-grid-canvas>[data-grid-cell]:hover{z-index:1;border-color:var(--accent);background:color-mix(in srgb,var(--surface) 92%,var(--accent-soft))}.payslip-grid-canvas>[data-grid-cell].selected{z-index:2;border-color:var(--accent);box-shadow:inset 0 0 0 2px var(--accent);background:var(--accent-soft)}.payslip-grid-canvas>[data-grid-cell].heading{background:color-mix(in srgb,var(--accent-soft) 72%,var(--surface))}.payslip-grid-canvas>[data-grid-cell].blank{background:repeating-linear-gradient(135deg,var(--surface),var(--surface) 8px,color-mix(in srgb,var(--line) 35%,transparent) 8px,color-mix(in srgb,var(--line) 35%,transparent) 9px)}.payslip-grid-canvas small{font-size:.68rem;font-weight:800;text-transform:uppercase;letter-spacing:.055em;color:var(--accent-strong)}.payslip-grid-canvas strong{max-width:100%;font-size:.77rem;overflow-wrap:anywhere}.payslip-grid-canvas i{position:absolute;right:.45rem;bottom:.32rem;color:var(--muted);font-size:.58rem;font-style:normal}.payslip-cell-inspector{display:flex;flex-direction:column;gap:.85rem;padding:1rem;max-height:620px;overflow:auto}.payslip-cell-selected{display:flex;justify-content:space-between;align-items:center;padding:.8rem;border-radius:14px;background:var(--accent-soft)}.payslip-cell-selected span{font-size:.67rem;font-weight:850;letter-spacing:.08em;color:var(--accent-strong)}.payslip-cell-selected strong{font-size:.8rem}.payslip-cell-inspector>label{margin:0}.payslip-cell-code{display:grid;grid-template-columns:1fr auto;gap:.25rem .6rem;align-items:center;padding:.75rem;border:1px solid var(--line);border-radius:13px}.payslip-cell-code>span{grid-column:1/-1;color:var(--muted);font-size:.69rem;font-weight:750;text-transform:uppercase}.payslip-cell-code>strong{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.73rem;color:var(--accent-strong);overflow-wrap:anywhere}.payslip-cell-code>button{display:inline-flex;align-items:center;gap:.3rem;padding:.35rem .5rem;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--muted);font-size:.68rem}.payslip-grid-code-library{display:grid;gap:.75rem}.payslip-grid-code-library section{display:grid;gap:.3rem}.payslip-grid-code-library h3{margin:.1rem 0;font-size:.72rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.payslip-grid-code-library button{display:grid;grid-template-columns:1fr;gap:.15rem;padding:.58rem .65rem;border:1px solid var(--line);border-radius:10px;background:var(--surface);color:var(--text);text-align:left}.payslip-grid-code-library button:hover{border-color:var(--accent);background:var(--accent-soft)}.payslip-grid-code-library button span{font-size:.76rem;font-weight:750}.payslip-grid-code-library button code{font-size:.63rem;color:var(--accent-strong);overflow-wrap:anywhere}.payslip-grid-help{display:inline-flex;align-items:center;gap:.4rem;margin-right:auto;color:var(--muted);font-size:.76rem}@media(max-width:900px){.payslip-grid-designer{grid-template-columns:1fr}.payslip-grid-stage{min-height:420px}.payslip-drawing-surface{min-height:360px}.payslip-cell-inspector{max-height:none}.payslip-grid-modal .modal-footer{flex-wrap:wrap}}@media(max-width:600px){.payslip-grid-toolbar{align-items:flex-start;flex-direction:column}.payslip-grid-canvas>[data-grid-cell]{min-height:88px;padding:.7rem}.payslip-grid-help{width:100%}}
.payslip-grid-modal .modal-content{background:var(--surface)!important;opacity:1!important;backdrop-filter:none!important;box-shadow:0 30px 90px rgba(8,18,44,.32)}.payslip-grid-modal .modal-header,.payslip-grid-modal .modal-footer{background:var(--surface)!important}.payslip-grid-modal .modal-body{background:var(--background)!important}
.payslip-cell-inspector>label>span{display:block;margin:0 0 .35rem;color:var(--text);font-size:.78rem;font-weight:750}.payslip-cell-inspector>label>input,.payslip-cell-inspector>label>select{width:100%}
.payslip-cell-drag i{position:static!important;right:auto!important;bottom:auto!important;font-size:.8rem!important}
.payslip-grid-canvas>[data-grid-cell].covered{display:none}.payslip-cell-layout-tools{display:grid;grid-template-columns:repeat(3,1fr);gap:.4rem}.payslip-cell-layout-tools button{display:flex;align-items:center;justify-content:center;gap:.35rem;min-height:38px;padding:.4rem .45rem;border:1px solid var(--line);border-radius:10px;background:var(--surface);color:var(--text);font-size:.68rem;font-weight:750}.payslip-cell-layout-tools button:hover{border-color:var(--accent);color:var(--accent)}.payslip-cell-layout-tools button:disabled{opacity:.42;cursor:not-allowed}.payslip-font-control{display:grid!important;grid-template-columns:1fr auto;gap:.3rem .6rem;padding:.7rem;border:1px solid var(--line);border-radius:12px}.payslip-font-control input{grid-column:1/-1;width:100%;accent-color:var(--accent)}.payslip-font-control output{font-size:.72rem;color:var(--accent-strong);font-weight:800}.payslip-custom-text-builder{display:grid;grid-template-columns:minmax(0,1fr) 110px auto;gap:.7rem;align-items:end;margin:.7rem 0;padding:.85rem;border:1px solid color-mix(in srgb,var(--accent) 40%,var(--line));border-radius:14px;background:var(--accent-soft)}.payslip-custom-text-builder label{margin:0}.payslip-custom-text-builder label>span{display:block;margin-bottom:.3rem;font-size:.75rem;font-weight:750}.payslip-custom-text-builder textarea,.payslip-custom-text-builder input{width:100%;background:var(--surface)}.payslip-custom-text-builder button{min-height:42px}.payslip-grid-canvas>[data-grid-cell].logo{align-items:center;text-align:center;background:color-mix(in srgb,var(--surface) 88%,var(--accent-soft))}.payslip-grid-canvas>[data-grid-cell].text strong{font-weight:500;line-height:1.35}.payslip-grid-canvas>[data-grid-cell] strong{font-size:inherit}@media(max-width:760px){.payslip-custom-text-builder{grid-template-columns:1fr}.payslip-cell-layout-tools{grid-template-columns:1fr}}
.payslip-designer-palette,.payslip-formula-builder{display:grid;gap:.55rem;padding:.75rem;border:1px solid var(--line);border-radius:14px;background:color-mix(in srgb,var(--surface) 92%,var(--accent-soft))}.payslip-designer-palette>strong,.payslip-formula-builder>strong{font-size:.72rem;color:var(--muted)}.payslip-designer-palette>div{display:grid;grid-template-columns:repeat(3,1fr);gap:.35rem}.payslip-designer-palette button,.payslip-formula-builder button{display:flex;align-items:center;justify-content:center;gap:.3rem;min-height:36px;padding:.4rem;border:1px solid var(--line);border-radius:9px;background:var(--surface);color:var(--text);font-size:.68rem;font-weight:750}.payslip-designer-palette button:hover,.payslip-formula-builder button:hover{border-color:var(--accent);color:var(--accent)}.payslip-formula-builder select{width:100%;min-height:39px}.payslip-formula-builder>[data-formula-operands]{display:grid;grid-template-columns:1fr 1fr;gap:.4rem}.payslip-grid-canvas>[data-grid-cell].block{min-height:78px;background:linear-gradient(135deg,color-mix(in srgb,var(--accent-soft) 75%,var(--surface)),var(--surface));border-style:dashed}.payslip-grid-canvas>[data-grid-cell].block strong{color:var(--accent-strong);font-size:.9rem}.payslip-grid-canvas>[data-grid-cell].formula{background:color-mix(in srgb,var(--surface) 82%,#fff4cc)}.payslip-grid-canvas>[data-grid-cell].formula strong{color:var(--accent-strong)}@media(max-width:600px){.payslip-designer-palette>div,.payslip-formula-builder>[data-formula-operands]{grid-template-columns:1fr 1fr}}
.payslip-cell-text-designer{display:grid;gap:.55rem;padding:.75rem;border:1px solid color-mix(in srgb,var(--accent) 35%,var(--line));border-radius:14px;background:color-mix(in srgb,var(--surface) 88%,var(--accent-soft))}.payslip-cell-text-designer>strong{font-size:.72rem;color:var(--accent-strong)}.payslip-cell-text-designer textarea{width:100%;min-height:68px;resize:vertical;background:var(--surface)}.payslip-cell-text-designer>div{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.38rem}.payslip-cell-text-designer>div:last-child{grid-template-columns:1fr 1fr}.payslip-cell-text-designer select{width:100%;min-width:0;min-height:38px}.payslip-cell-text-designer button{display:flex;align-items:center;justify-content:center;gap:.35rem;min-height:38px;padding:.42rem;border:1px solid var(--line);border-radius:9px;background:var(--surface);color:var(--text);font-size:.68rem;font-weight:780}.payslip-cell-text-designer button:hover{border-color:var(--accent);color:var(--accent)}.payslip-cell-text-designer button:disabled{cursor:not-allowed;opacity:.45}@media(max-width:600px){.payslip-cell-text-designer>div{grid-template-columns:1fr}.payslip-cell-text-designer>div:last-child{grid-template-columns:1fr 1fr}}
.payslip-grid-canvas>[data-grid-cell]{min-height:var(--payslip-cell-height,106px);cursor:grab}.payslip-grid-canvas>[data-grid-cell]:active{cursor:grabbing}.payslip-grid-canvas>[data-grid-cell].dragging{opacity:.38;transform:scale(.98)}.payslip-grid-canvas>[data-grid-cell].drag-over{z-index:4;border-color:var(--accent);box-shadow:inset 0 0 0 3px var(--accent),0 8px 22px color-mix(in srgb,var(--accent) 24%,transparent)}.payslip-cell-drag{position:absolute;top:.35rem;right:.35rem;display:grid;place-items:center;width:22px;height:22px;border-radius:7px;background:var(--background);color:var(--muted);font-size:.8rem}.payslip-structure-tools{display:grid;gap:.65rem;padding:.75rem;border:1px solid var(--line);border-radius:14px;background:color-mix(in srgb,var(--surface) 90%,var(--accent-soft))}.payslip-structure-tools section{display:grid;grid-template-columns:110px 1fr;gap:.55rem;align-items:center}.payslip-structure-tools section>strong{font-size:.72rem;color:var(--muted)}.payslip-structure-tools section>div{display:grid;grid-template-columns:repeat(5,minmax(34px,1fr));gap:.3rem}.payslip-structure-tools button{display:flex;justify-content:center;align-items:center;gap:.08rem;min-height:34px;padding:.25rem;border:1px solid var(--line);border-radius:9px;background:var(--surface);color:var(--text)}.payslip-structure-tools button:hover{border-color:var(--accent);color:var(--accent)}.payslip-structure-tools button.danger:hover{border-color:var(--danger,#c44536);color:var(--danger,#c44536)}.payslip-structure-tools button i+i{font-size:.62rem}.payslip-size-controls{display:grid;grid-template-columns:1fr 1fr;gap:.7rem}.payslip-size-controls label{display:grid;grid-template-columns:1fr auto;gap:.2rem .5rem;padding:.65rem .72rem;border:1px solid var(--line);border-radius:12px}.payslip-size-controls label span{font-size:.72rem;font-weight:750}.payslip-size-controls input{grid-column:1/-1;width:100%;accent-color:var(--accent)}.payslip-size-controls output{font-size:.68rem;color:var(--accent-strong);font-weight:750}.payslip-grid-toolbar button:disabled{opacity:.45;cursor:not-allowed}@media(max-width:600px){.payslip-structure-tools section{grid-template-columns:1fr}.payslip-size-controls{grid-template-columns:1fr}}
.salary-component-modal .modal-dialog{max-width:min(1240px,96vw)}.salary-preset-strip{display:grid;grid-template-columns:minmax(300px,.9fr) minmax(340px,1.1fr);gap:18px;align-items:end;margin-bottom:16px;padding:15px;border:1px solid color-mix(in srgb,var(--accent) 28%,var(--line));border-radius:16px;background:linear-gradient(135deg,color-mix(in srgb,var(--accent-soft) 72%,var(--surface)),var(--surface))}.salary-preset-strip>label{margin:0}.salary-preset-strip>label>span{display:block;margin-bottom:6px;font-size:.76rem;font-weight:800}.salary-preset-strip>div{display:flex;align-items:center;gap:11px;padding:10px 12px;border-radius:13px;background:var(--surface)}.salary-preset-strip>div>i{display:grid;place-items:center;width:38px;height:38px;flex:0 0 38px;border-radius:11px;background:var(--accent);color:#fff}.salary-preset-strip strong,.salary-preset-strip small{display:block}.salary-preset-strip small{margin-top:2px;color:var(--muted);font-size:.7rem}.salary-editor-tabs{display:flex;gap:7px;margin-bottom:16px;padding:6px;border:1px solid var(--line);border-radius:14px;background:var(--surface-soft)}.salary-editor-tabs button{display:flex;align-items:center;justify-content:center;gap:7px;flex:1;min-height:42px;border:0;border-radius:10px;background:transparent;color:var(--muted);font-weight:780}.salary-editor-tabs button.active{background:var(--accent);color:#fff;box-shadow:0 8px 20px color-mix(in srgb,var(--accent) 28%,transparent)}.salary-editor-tabs em{display:grid;place-items:center;min-width:20px;height:20px;padding:0 5px;border-radius:99px;background:rgba(255,255,255,.18);font-size:.66rem;font-style:normal}.salary-editor-panel{display:none}.salary-editor-panel.active{display:block}.salary-rule-toolbar{display:flex;justify-content:space-between;align-items:end;gap:16px;margin-bottom:11px}.salary-rule-toolbar>label{min-width:270px;margin:0}.salary-rule-toolbar p{max-width:700px;margin:0;color:var(--muted);font-size:.76rem}.salary-rule-table{min-width:680px;border:1px solid var(--line);border-radius:13px;overflow:hidden}.salary-rule-head,.salary-rule-row{display:grid;grid-template-columns:80px 1.2fr 1fr 1.15fr 42px;gap:8px;align-items:center;padding:9px 10px}.salary-rule-head{background:var(--surface-soft);color:var(--muted);font-size:.68rem;font-weight:850;text-transform:uppercase}.salary-rule-row+.salary-rule-row{border-top:1px solid var(--line)}.salary-rule-row :is(input,select){min-width:0;width:100%}.salary-slab-table .salary-rule-head,.salary-slab-table .salary-rule-row{grid-template-columns:1fr 1fr 1fr 1fr 42px}.salary-month-table{min-width:520px}.salary-month-table .salary-rule-head,.salary-month-table .salary-rule-row{grid-template-columns:1.3fr 1fr 1fr 42px}.salary-rule-editor fieldset{overflow-x:auto}.salary-formula-preview{display:flex;align-items:center;gap:11px;margin-top:14px;padding:12px;border-radius:13px;background:color-mix(in srgb,var(--accent-soft) 68%,var(--surface))}.salary-formula-preview>i{font-size:1.25rem;color:var(--accent)}.salary-formula-preview strong,.salary-formula-preview small{display:block}.salary-formula-preview small{color:var(--muted);font-size:.7rem}.salary-rule-editor [hidden]{display:none!important}@media(max-width:760px){.salary-preset-strip{grid-template-columns:1fr}.salary-editor-tabs{display:grid;grid-template-columns:1fr 1fr}.salary-editor-tabs button{min-width:0}.salary-rule-toolbar{align-items:stretch;flex-direction:column}.salary-rule-toolbar>label{min-width:0;width:100%}}
.salary-component-modal{--accent:var(--brand,var(--teal));--accent-soft:var(--teal-pale)}.salary-component-modal .modal-content,.salary-component-modal .modal-header,.salary-component-modal .modal-footer{background:var(--surface)!important;opacity:1!important;backdrop-filter:none!important}.salary-component-modal .modal-body{background:var(--app-bg,var(--cream))!important}.payroll-master-directory .salary-component-table{min-width:0;width:100%;table-layout:fixed}.salary-component-table th,.salary-component-table td{padding:13px 14px;vertical-align:middle}.salary-component-table th:nth-child(1){width:29%}.salary-component-table th:nth-child(2){width:20%}.salary-component-table th:nth-child(3){width:39%}.salary-component-table th:nth-child(4){width:12%;text-align:right}.salary-component-table td:last-child{text-align:right}.salary-component-table td>strong,.salary-component-table td>small{display:block}.salary-component-table td>small{margin-top:3px;color:var(--muted);font-size:.72rem;line-height:1.35;overflow-wrap:anywhere}.salary-type-chip{display:inline-flex;align-items:center;min-height:28px;padding:5px 9px;border-radius:999px;background:color-mix(in srgb,var(--teal) 11%,var(--surface));color:var(--teal);font-size:.7rem;font-weight:800;white-space:nowrap}.salary-type-chip.deduction{background:color-mix(in srgb,var(--coral) 11%,var(--surface));color:var(--coral)}.salary-type-chip.employer_contribution{background:color-mix(in srgb,var(--violet) 12%,var(--surface));color:var(--violet)}.salary-type-chip.reimbursement{background:color-mix(in srgb,var(--amber) 13%,var(--surface));color:var(--amber)}.salary-list-status{display:flex!important;align-items:center;gap:5px;margin-top:6px!important;font-weight:750}.salary-list-status i{width:7px;height:7px;border-radius:50%;background:var(--coral)}.salary-list-status.active i{background:#22a06b}@media(max-width:620px){.salary-component-table th,.salary-component-table td{padding:11px 8px}.salary-component-table th:nth-child(1){width:30%}.salary-component-table th:nth-child(2){width:21%}.salary-component-table th:nth-child(3){width:34%}.salary-component-table th:nth-child(4){width:15%}.salary-component-table .inline-actions{gap:2px}.salary-component-table .icon-action{width:30px;height:30px}.salary-type-chip{padding:4px 7px;font-size:.64rem}.salary-component-table td>strong{font-size:.76rem}.salary-component-table td>small{font-size:.64rem}}
.salary-rule-row>[data-condition-value]{display:block;min-width:0;width:100%}.salary-rule-row>[data-condition-value]>.modern-select,.salary-rule-row>[data-condition-value]>:is(input,select){width:100%}.salary-rule-row>[data-condition-value].value-not-required{display:flex;align-items:center;min-height:42px;padding:0 10px;border:1px dashed var(--line);border-radius:10px;background:var(--surface-soft)}.salary-rule-row>[data-condition-value].value-not-required small{color:var(--muted);font-size:.7rem;font-weight:700}
.payroll-lifecycle{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin:0 0 16px}.payroll-lifecycle>div{position:relative;display:grid;grid-template-columns:42px 1fr;grid-template-rows:auto auto;column-gap:10px;align-items:center;padding:12px;border:1px solid var(--line);border-radius:15px;background:var(--surface)}.payroll-lifecycle>div:not(:last-child):after{content:"";position:absolute;right:-11px;top:50%;z-index:2;width:11px;border-top:2px dotted var(--accent)}.payroll-lifecycle>div>span{grid-row:1/3;display:grid;place-items:center;width:42px;height:42px;border-radius:13px;background:color-mix(in srgb,var(--accent) 12%,var(--surface));color:var(--accent);font-size:1.05rem}.payroll-lifecycle small{color:var(--muted);font-size:.6rem;font-weight:850}.payroll-lifecycle strong{font-size:.75rem}.payroll-structure-directory{margin-bottom:16px}.payroll-structure-table{min-width:720px}.payroll-structure-table td>strong,.payroll-structure-table td>small{display:block}.payroll-structure-table td>small{margin-top:3px;color:var(--muted)}.structure-component-picker{display:grid;gap:8px;margin-top:16px}.structure-component-picker>header{padding:12px;border-radius:13px;background:var(--surface-soft)}.structure-component-picker>header strong,.structure-component-picker>header small{display:block}.structure-component-picker>header small{margin-top:3px;color:var(--muted)}.structure-component-picker>div{display:grid;grid-template-columns:minmax(260px,1fr) minmax(190px,.55fr) minmax(165px,.4fr);gap:12px;align-items:center;padding:10px 12px;border:1px solid var(--line);border-radius:13px}.structure-component-picker>div>label{margin:0}.structure-component-picker .check-field strong,.structure-component-picker .check-field small{display:block}.structure-component-picker .check-field small{color:var(--muted)}.employee-pay-structure{margin-bottom:18px;padding:15px;border:1px solid color-mix(in srgb,var(--accent) 28%,var(--line));border-radius:17px;background:linear-gradient(135deg,color-mix(in srgb,var(--accent-soft) 55%,var(--surface)),var(--surface))}.employee-pay-structure>header{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.employee-pay-structure>header small,.employee-pay-structure>header strong,.employee-pay-structure>header span{display:block}.employee-pay-structure>header small{color:var(--accent);font-size:.64rem;font-weight:850}.employee-pay-structure>header strong{font-size:1rem}.employee-pay-structure>header span{color:var(--muted);font-size:.72rem}.employee-pay-structure>header>i{font-size:1.5rem;color:var(--accent)}.employee-component-overrides{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:12px}.employee-component-overrides>label{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:9px 11px;border:1px solid var(--line);border-radius:12px;background:var(--surface)}.employee-component-overrides>label>span,.employee-component-overrides>label small{display:block}.employee-component-overrides>label small{color:var(--muted)}.employee-component-overrides .money-input{max-width:150px}.employee-component-overrides .locked{opacity:.72}.employee-pay-history{margin:0 0 18px}.employee-pay-history .subsection-title{display:flex;justify-content:space-between}.employee-pay-history table{min-width:620px}.employee-pay-history td>small{display:block;color:var(--muted)}.employee-pay-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:16px 0}.employee-pay-actions>article{display:grid;grid-template-columns:42px 1fr auto;gap:10px;align-items:center;padding:11px;border:1px solid var(--line);border-radius:14px;background:var(--surface-soft)}.employee-pay-actions>article>span{display:grid;place-items:center;width:42px;height:42px;border-radius:12px;background:color-mix(in srgb,var(--accent) 12%,var(--surface));color:var(--accent)}.employee-pay-actions strong,.employee-pay-actions small{display:block}.employee-pay-actions small{color:var(--muted)}@media(max-width:900px){.payroll-lifecycle{grid-template-columns:1fr 1fr}.payroll-lifecycle>div:after{display:none}.structure-component-picker>div{grid-template-columns:1fr 1fr}.structure-component-picker>div>:first-child{grid-column:1/-1}.employee-pay-actions{grid-template-columns:1fr}}@media(max-width:600px){.payroll-lifecycle,.employee-component-overrides{grid-template-columns:1fr}.structure-component-picker>div{grid-template-columns:1fr}.structure-component-picker>div>:first-child{grid-column:auto}.employee-pay-actions>article{grid-template-columns:40px 1fr}.employee-pay-actions button{grid-column:1/-1;width:100%}}
.payroll-eligibility-picker{margin-top:16px;padding:14px;border:1px solid color-mix(in srgb,var(--accent) 24%,var(--line));border-radius:15px;background:color-mix(in srgb,var(--accent-soft) 45%,var(--surface))}.payroll-eligibility-picker legend{float:none;width:auto;margin:0 0 3px;padding:0;color:var(--text);font-size:.82rem;font-weight:850}.payroll-eligibility-picker>p{margin:0 0 12px;color:var(--muted);font-size:.72rem}.payroll-eligibility-picker .modern-select{min-height:44px}.payroll-eligibility-picker select[multiple]{min-height:96px}
.ctc-assignment-grid{display:grid;grid-template-columns:minmax(240px,1.4fr) minmax(145px,.55fr) minmax(180px,.7fr) minmax(180px,.7fr);gap:10px;align-items:start}.ctc-assignment-grid>label>span{display:block;margin-bottom:5px;font-size:.68rem;font-weight:800;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.ctc-assignment-grid>label>small{display:block;margin-top:5px;color:var(--muted)}.ctc-offer-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:13px}.ctc-offer-summary>div{padding:11px 12px;border:1px solid color-mix(in srgb,var(--accent) 22%,var(--line));border-radius:13px;background:color-mix(in srgb,var(--accent-soft) 48%,var(--surface))}.ctc-offer-summary span,.ctc-offer-summary strong{display:block}.ctc-offer-summary span{font-size:.62rem;font-weight:850;color:var(--muted);text-transform:uppercase}.ctc-offer-summary strong{margin-top:3px;font-size:.86rem;color:var(--text)}.component-offer-amount{width:150px}.component-offer-amount>small{margin-top:3px;text-align:right;font-size:.61rem}.ctc-offer-note{display:flex;gap:7px;align-items:center;margin:10px 0 0;padding:9px 11px;border-radius:11px;color:var(--muted);font-size:.69rem;background:var(--surface-soft)}.ctc-offer-note i{color:var(--accent);font-size:1rem}@media(max-width:1050px){.ctc-assignment-grid{grid-template-columns:1fr 1fr}.ctc-offer-summary{grid-template-columns:1fr 1fr}}@media(max-width:600px){.ctc-assignment-grid,.ctc-offer-summary{grid-template-columns:1fr}.component-offer-amount{width:135px}}
.employee-pay-structure{padding:18px;border-radius:20px;box-shadow:0 10px 28px color-mix(in srgb,var(--accent) 8%,transparent)}.employee-pay-structure>header{padding-bottom:13px;border-bottom:1px solid color-mix(in srgb,var(--accent) 18%,var(--line))}.pay-calculation-mode{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:0 0 14px;padding:5px;border:1px solid var(--line);border-radius:15px;background:var(--surface-soft)}.pay-calculation-mode button{display:flex;align-items:center;gap:10px;min-height:54px;padding:9px 12px;border:1px solid transparent;border-radius:11px;background:transparent;color:var(--muted);text-align:left}.pay-calculation-mode button>i{display:grid;place-items:center;width:34px;height:34px;flex:0 0 34px;border-radius:10px;background:var(--surface);color:var(--accent)}.pay-calculation-mode button span,.pay-calculation-mode button strong,.pay-calculation-mode button small{display:block}.pay-calculation-mode button strong{font-size:.75rem}.pay-calculation-mode button small{margin-top:2px;font-size:.63rem}.pay-calculation-mode button.active{border-color:color-mix(in srgb,var(--accent) 30%,var(--line));background:var(--surface);color:var(--text);box-shadow:0 6px 16px rgba(16,35,61,.07)}.pay-calculation-mode button.active>i{background:var(--accent);color:#fff}.employee-pay-structure .money-input{position:relative;display:block;width:100%}.employee-pay-structure .money-input>i{left:14px;top:50%;z-index:2;transform:translateY(-50%);font-size:.86rem;font-weight:800;color:var(--accent);pointer-events:none}.employee-pay-structure .money-input>input,.hr-suite .employee-pay-structure .money-input>input{width:100%;min-width:0;padding-left:42px!important;padding-right:12px}.employee-pay-structure.manual-pay-mode .ctc-auto-control{display:none}.employee-pay-structure.manual-pay-mode .ctc-assignment-grid{grid-template-columns:minmax(260px,1.5fr) minmax(190px,.7fr)}.employee-component-overrides>label{min-height:70px;padding:11px 13px}.employee-component-overrides>label:not(.locked):focus-within{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 12%,transparent)}.employee-component-overrides .locked{opacity:.76;background:var(--surface-soft)}@media(max-width:600px){.pay-calculation-mode{grid-template-columns:1fr}.employee-pay-structure.manual-pay-mode .ctc-assignment-grid{grid-template-columns:1fr}.employee-pay-structure{padding:14px}}
.employee-loan-modal .modal-dialog{max-width:min(820px,96vw)}.employee-loan-modal .modal-body{padding:18px;background:var(--background)}.loan-modal-title{display:flex;align-items:center;gap:12px}.loan-modal-title>span{display:grid;place-items:center;width:44px;height:44px;flex:0 0 44px;border-radius:14px;color:#fff;background:linear-gradient(135deg,var(--accent),color-mix(in srgb,var(--accent) 58%,#7387ff));box-shadow:0 8px 20px color-mix(in srgb,var(--accent) 24%,transparent)}.loan-modal-title small,.loan-modal-title h2,.loan-modal-title p{display:block;margin:0}.loan-modal-title small{color:var(--accent);font-size:.64rem;font-weight:850;letter-spacing:.08em}.loan-modal-title h2{margin:2px 0;font-size:1.12rem}.loan-modal-title p{color:var(--muted);font-size:.72rem}.loan-form-section{padding:15px;border:1px solid var(--line);border-radius:17px;background:var(--surface)}.loan-form-section+*{margin-top:12px}.loan-form-section>header{display:flex;align-items:center;gap:10px;margin-bottom:13px}.loan-form-section>header>span{display:grid;place-items:center;width:30px;height:30px;flex:0 0 30px;border-radius:10px;background:var(--accent);color:#fff;font-size:.72rem;font-weight:850}.loan-form-section>header strong,.loan-form-section>header small{display:block}.loan-form-section>header small{margin-top:2px;color:var(--muted);font-size:.68rem}.loan-form-section>label{display:block;margin:0}.loan-form-section>label>span{display:block;margin-bottom:5px;font-size:.7rem;font-weight:800;color:var(--muted)}.employee-loan-modal .loan-money-input{position:relative;display:block;width:100%}.employee-loan-modal .loan-money-input>i{left:14px;top:50%;z-index:2;transform:translateY(-50%);font-size:.86rem;font-weight:800;color:var(--accent);pointer-events:none}.employee-loan-modal .loan-money-input>input,.hr-suite .employee-loan-modal .loan-money-input>input{width:100%;min-width:0;padding-left:42px!important;padding-right:12px}.loan-recovery-preview{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.loan-recovery-preview>div{padding:11px;border:1px solid color-mix(in srgb,var(--accent) 20%,var(--line));border-radius:13px;background:color-mix(in srgb,var(--accent-soft) 52%,var(--surface))}.loan-recovery-preview span,.loan-recovery-preview strong{display:block}.loan-recovery-preview span{font-size:.61rem;font-weight:800;color:var(--muted);text-transform:uppercase}.loan-recovery-preview strong{margin-top:4px;font-size:.78rem;color:var(--text)}.loan-payroll-note{display:flex;align-items:center;gap:10px;margin-top:12px;padding:11px 13px;border-radius:13px;background:color-mix(in srgb,var(--accent-soft) 58%,var(--surface))}.loan-payroll-note>i{font-size:1.15rem;color:var(--accent)}.loan-payroll-note strong,.loan-payroll-note small{display:block}.loan-payroll-note small{margin-top:2px;color:var(--muted);font-size:.68rem}@media(max-width:640px){.loan-recovery-preview{grid-template-columns:1fr 1fr}.loan-modal-title p{display:none}}@media(max-width:430px){.loan-recovery-preview{grid-template-columns:1fr}}
.profile-child-modal{z-index:1080}.modal-backdrop.profile-child-backdrop{z-index:1070;background:#10203f;opacity:.46}.profile-child-modal .modal-content{box-shadow:0 28px 80px rgba(8,18,44,.34)}
.result-intelligence{--result-indigo:#5865d8;--result-cyan:#13a5b8;--result-amber:#eda63c;--result-red:#dc5d6f;padding-bottom:40px}.result-intelligence-hero{display:flex;align-items:center;justify-content:space-between;gap:22px;margin-bottom:14px;padding:25px 28px;border-radius:24px;color:#fff;background:linear-gradient(125deg,#17294b,#354d93 58%,#5865d8);box-shadow:0 18px 42px rgba(31,49,96,.2)}.result-intelligence-hero h1{margin:4px 0;font-size:clamp(24px,3vw,35px)}.result-intelligence-hero p{max-width:760px;margin:0;color:rgba(255,255,255,.8)}.result-hero-score{display:grid;min-width:170px;padding:15px;border:1px solid rgba(255,255,255,.18);border-radius:17px;background:rgba(255,255,255,.1);text-align:center}.result-hero-score strong{font-size:28px}.result-hero-score small{font-size:10px}.result-intelligence-filters{display:grid;grid-template-columns:repeat(4,minmax(150px,1fr)) auto;align-items:end;gap:10px;margin-bottom:14px;padding:13px!important}.result-intelligence-filters label{margin:0}.result-intelligence-filters label>span{display:block;margin:0 0 5px 2px;color:var(--text-muted);font-size:10px;font-weight:850;text-transform:uppercase}.result-intelligence-filters select{width:100%;min-height:42px;padding:8px 11px;border:1px solid var(--theme-line);border-radius:11px;color:var(--text-main);background:var(--surface)}.result-kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:14px}.result-kpi-grid article{display:flex;align-items:center;gap:11px;padding:14px;border:1px solid var(--theme-line);border-radius:16px;background:var(--surface)}.result-kpi-grid article>i{display:grid;width:43px;height:43px;flex:0 0 43px;place-items:center;border-radius:13px;color:var(--result-cyan);background:color-mix(in srgb,var(--result-cyan) 11%,var(--surface));font-size:19px}.result-kpi-grid article.danger>i{color:var(--result-red);background:color-mix(in srgb,var(--result-red) 11%,var(--surface))}.result-kpi-grid article.warning>i{color:var(--result-amber);background:color-mix(in srgb,var(--result-amber) 13%,var(--surface))}.result-kpi-grid article.accent>i{color:var(--result-indigo);background:color-mix(in srgb,var(--result-indigo) 11%,var(--surface))}.result-kpi-grid small,.result-kpi-grid strong{display:block}.result-kpi-grid small{color:var(--text-muted);font-size:10px}.result-kpi-grid strong{font-size:22px}.result-readiness,.student-result-history,.result-subject-ledger{margin-bottom:14px}.result-attention{display:inline-grid;min-width:30px;height:27px;place-items:center;border-radius:9px;color:#167253;background:#e2f7ee;font-weight:850}.result-attention.due{color:#a33b4e;background:#ffe6eb}.result-two-column{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(300px,.55fr);gap:14px;margin-bottom:14px}.pending-ack-panel>div:last-child{display:grid;gap:7px}.pending-ack-panel>div:last-child>a{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px;border:1px solid var(--theme-line);border-radius:12px;color:var(--text-main);background:var(--surface-2);text-decoration:none}.pending-ack-panel strong,.pending-ack-panel small{display:block}.pending-ack-panel small{color:var(--text-muted);font-size:10px}.result-history-bars{display:flex;align-items:flex-end;gap:14px;min-height:220px;padding:16px 10px 4px;overflow-x:auto}.result-history-bars article{display:grid;min-width:90px;text-align:center}.result-history-bars article>div{display:flex;align-items:flex-end;justify-content:center;height:135px}.result-history-bars article>div>span{display:block;width:36px;min-height:4px;border-radius:10px 10px 4px 4px;background:linear-gradient(180deg,var(--result-cyan),var(--result-indigo));box-shadow:0 8px 20px color-mix(in srgb,var(--result-indigo) 25%,transparent)}.result-history-bars strong,.result-history-bars small,.result-history-bars em{display:block}.result-history-bars small{font-weight:800}.result-history-bars em{color:var(--text-muted);font-size:9px;font-style:normal}.assessment-hero aside a{display:block;margin-top:7px;color:#fff;font-size:9px;font-weight:850;text-decoration:underline}.result-import-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:14px}.result-import-steps span{display:flex;align-items:center;gap:8px;padding:10px;border-radius:12px;background:var(--surface-2);font-size:11px;font-weight:750}.result-import-steps b{display:grid;width:25px;height:25px;place-items:center;border-radius:8px;color:#fff;background:#5865d8}.result-import-safety{display:flex;gap:8px;margin:12px 0 0;padding:10px;border-radius:11px;color:var(--text-muted);background:var(--surface-2);font-size:11px}.teaching-pta-shortcut{display:flex;gap:9px;flex-wrap:wrap}@media(max-width:1050px){.result-intelligence-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.result-intelligence-filters button{grid-column:1/-1}.result-kpi-grid{grid-template-columns:1fr 1fr}.result-two-column{grid-template-columns:1fr}}@media(max-width:650px){.result-intelligence-hero{align-items:flex-start;flex-direction:column}.result-hero-score{width:100%}.result-intelligence-filters,.result-kpi-grid,.result-import-steps{grid-template-columns:1fr}.result-intelligence-filters button{grid-column:auto}.result-history-bars{min-height:190px}.result-history-bars article>div{height:110px}}
.pta-confirm-modal .modal-dialog{max-width:min(840px,calc(100vw - 24px))}.pta-confirm-modal .modal-content{overflow:hidden;border:0;border-radius:24px;box-shadow:0 28px 80px rgba(13,31,67,.28)}.pta-confirm-modal .modal-header{align-items:flex-start;padding:20px 22px;border-bottom:1px solid color-mix(in srgb,var(--accent) 18%,var(--line));background:linear-gradient(125deg,color-mix(in srgb,var(--accent) 9%,var(--surface)),var(--surface))}.pta-confirm-modal .modal-header h2{margin:3px 0 0;font-size:1.35rem}.pta-confirm-modal .modal-body{padding:18px 22px;background:var(--background)}.pta-confirm-modal .modal-footer{gap:9px;padding:14px 22px;border-top:1px solid var(--line);background:var(--surface)}.pta-confirm-summary{display:grid;grid-template-columns:44px minmax(0,1fr);gap:12px;align-items:start;margin-bottom:14px;padding:13px 15px;border:1px solid color-mix(in srgb,var(--accent) 23%,var(--line));border-radius:16px;background:color-mix(in srgb,var(--accent-soft) 48%,var(--surface))}.pta-confirm-summary>span{display:grid;place-items:center;width:42px;height:42px;border-radius:13px;background:var(--accent);color:#fff;font-size:1.08rem}.pta-confirm-summary small,.pta-confirm-summary strong,.pta-confirm-summary p,.pta-confirm-summary em{display:block}.pta-confirm-summary small{color:var(--accent);font-size:.62rem;font-weight:850;letter-spacing:.08em}.pta-confirm-summary strong{margin-top:2px;font-size:.82rem}.pta-confirm-summary p{margin:3px 0;color:var(--text);font-size:.74rem;line-height:1.45}.pta-confirm-summary em{color:var(--muted);font-size:.66rem;font-style:normal}.pta-confirm-modal .pta-confirm-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px;padding:16px;border:1px solid var(--line);border-radius:18px;background:var(--surface)}.pta-confirm-modal .pta-confirm-grid>label{display:grid;align-content:start;gap:6px;min-width:0;margin:0}.pta-confirm-modal .pta-confirm-grid>label>span{font-size:.69rem;font-weight:820;color:var(--muted)}.pta-confirm-modal .pta-confirm-grid input,.pta-confirm-modal .pta-confirm-grid select,.pta-confirm-modal .pta-confirm-grid textarea{width:100%;min-width:0;min-height:46px;border:1px solid var(--line);border-radius:12px;background:var(--surface);color:var(--text)}.pta-confirm-modal .pta-confirm-grid input:focus,.pta-confirm-modal .pta-confirm-grid select:focus,.pta-confirm-modal .pta-confirm-grid textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 13%,transparent);outline:0}.pta-confirm-modal .pta-confirm-teacher,.pta-confirm-modal .pta-confirm-message{grid-column:1/-1}.pta-confirm-heading{grid-column:1/-1;display:flex;align-items:center;gap:10px;padding-bottom:9px;border-bottom:1px solid var(--line)}.pta-confirm-heading>i{display:grid;place-items:center;width:34px;height:34px;flex:0 0 34px;border-radius:11px;background:color-mix(in srgb,var(--accent) 12%,var(--surface));color:var(--accent)}.pta-confirm-heading strong,.pta-confirm-heading small{display:block}.pta-confirm-heading strong{font-size:.76rem}.pta-confirm-heading small{margin-top:1px;color:var(--muted);font-size:.64rem}.pta-confirm-heading.pta-access-heading{margin-top:3px}.pta-confirm-modal .input-with-suffix{min-width:0}.pta-confirm-modal .input-with-suffix input{padding-right:74px}.pta-confirm-modal [hidden]{display:none!important}@media(max-width:620px){.pta-confirm-modal .modal-dialog{margin:8px;max-width:calc(100vw - 16px)}.pta-confirm-modal .modal-header,.pta-confirm-modal .modal-body,.pta-confirm-modal .modal-footer{padding-left:14px;padding-right:14px}.pta-confirm-modal .pta-confirm-grid{grid-template-columns:1fr;padding:13px}.pta-confirm-modal .pta-confirm-teacher,.pta-confirm-modal .pta-confirm-message,.pta-confirm-heading{grid-column:auto}.pta-confirm-summary{grid-template-columns:38px minmax(0,1fr);padding:11px}.pta-confirm-summary>span{width:38px;height:38px}}
.learning-workspace,.teaching-workspace{--learn-indigo:#5367e8;--learn-cyan:#13a8bd;--learn-coral:#ef7164;--learn-gold:#edae35;padding-bottom:40px}.learning-hero,.teacher-command-hero{position:relative;display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:14px;padding:26px 28px;overflow:hidden;border-radius:25px;background:linear-gradient(125deg,#142a4d,#29487b 62%,#5367e8);color:#fff;box-shadow:0 18px 42px rgba(24,43,83,.2)}.learning-hero:after,.teacher-command-hero:after{position:absolute;right:-55px;top:-90px;width:245px;height:245px;border:35px solid rgba(255,255,255,.07);border-radius:50%;content:""}.learning-hero small,.teacher-command-hero small{font-weight:850;letter-spacing:.1em;color:#79e4ef}.learning-hero h1,.teacher-command-hero h1{margin:4px 0;font-size:1.75rem}.learning-hero p,.teacher-command-hero p{max-width:680px;margin:0;color:#dfe8f6}.learning-hero-score{position:relative;z-index:1;display:grid;place-items:center;min-width:150px;padding:16px;border:1px solid rgba(255,255,255,.18);border-radius:19px;background:rgba(255,255,255,.1);backdrop-filter:blur(8px)}.learning-hero-score span{font:800 2rem Manrope,sans-serif}.learning-hero-score small{font-size:.68rem;letter-spacing:0;color:#fff}.learning-pulse-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:11px;margin-bottom:14px}.learning-pulse-grid article{display:flex;align-items:center;gap:12px;min-height:88px;padding:14px;border:1px solid var(--line);border-radius:18px;background:var(--surface);box-shadow:var(--shadow-sm)}.learning-pulse-grid article>i{display:grid;place-items:center;width:43px;height:43px;flex:0 0 43px;border-radius:14px;background:color-mix(in srgb,var(--learn-indigo) 12%,var(--surface));color:var(--learn-indigo);font-size:1.1rem}.learning-pulse-grid article:nth-child(2)>i{background:color-mix(in srgb,var(--learn-cyan) 12%,var(--surface));color:var(--learn-cyan)}.learning-pulse-grid article:nth-child(3)>i{background:color-mix(in srgb,var(--learn-coral) 12%,var(--surface));color:var(--learn-coral)}.learning-pulse-grid article:nth-child(4)>i{background:color-mix(in srgb,var(--learn-gold) 14%,var(--surface));color:var(--learn-gold)}.learning-pulse-grid span,.learning-pulse-grid small,.learning-pulse-grid strong{display:block}.learning-pulse-grid small{color:var(--muted);font-weight:750}.learning-pulse-grid strong{font-size:1.35rem}.learning-dashboard-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(310px,.65fr);gap:14px;margin-bottom:14px}.smart-calendar-card,.action-inbox{min-width:0}.calendar-nav{display:flex;align-items:center;gap:6px}.calendar-nav a{display:grid;place-items:center;width:36px;height:36px;border:1px solid var(--line);border-radius:11px;color:var(--text);background:var(--surface-soft)}.calendar-nav input{width:145px;min-height:36px;padding:5px 8px;border:1px solid var(--line);border-radius:11px;background:var(--surface);color:var(--text)}.learning-calendar{overflow:hidden;border:1px solid var(--line);border-radius:16px}.calendar-weekdays,.calendar-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.calendar-weekdays{background:var(--surface-soft)}.calendar-weekdays span{padding:8px;text-align:center;color:var(--muted);font-size:.64rem;font-weight:850;text-transform:uppercase}.calendar-days>article{min-width:0;min-height:104px;padding:7px;border-top:1px solid var(--line);border-right:1px solid var(--line);background:var(--surface)}.calendar-days>article:nth-child(7n){border-right:0}.calendar-days>article.outside{opacity:.4;background:var(--surface-soft)}.calendar-days>article.today{box-shadow:inset 0 0 0 2px var(--learn-indigo);background:color-mix(in srgb,var(--learn-indigo) 4%,var(--surface))}.calendar-days article>header{display:flex;align-items:center;justify-content:space-between;margin-bottom:5px}.calendar-days article>header span{display:grid;place-items:center;width:23px;height:23px;border-radius:8px;font-size:.68rem;font-weight:800}.calendar-days article.today>header span{background:var(--learn-indigo);color:#fff}.calendar-days article>header em{font-size:.54rem;font-style:normal;font-weight:800;color:var(--learn-indigo)}.calendar-days article>div{display:grid;gap:3px}.calendar-item{display:flex;align-items:center;gap:4px;min-width:0;padding:4px 5px;border:0;border-radius:6px;background:color-mix(in srgb,var(--learn-indigo) 11%,var(--surface));color:var(--learn-indigo);font-size:.57rem;text-align:left}.calendar-item span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.calendar-item.exam{background:color-mix(in srgb,var(--learn-coral) 12%,var(--surface));color:var(--learn-coral)}.calendar-item.event,.calendar-item.holiday{background:color-mix(in srgb,var(--learn-gold) 15%,var(--surface));color:#986604}.calendar-item.notice{background:color-mix(in srgb,var(--learn-cyan) 12%,var(--surface));color:#087b8b}.action-inbox .card-heading{align-items:center}.action-count{display:grid;place-items:center;min-width:36px;height:36px;border-radius:12px;background:var(--learn-coral);color:#fff;font-weight:850}.learning-action-list{display:grid;gap:8px}.learning-action-list>article{display:grid;grid-template-columns:38px 1fr;gap:9px;padding:10px;border:1px solid var(--line);border-left:3px solid var(--learn-indigo);border-radius:13px;background:var(--surface-soft)}.learning-action-list>article.priority-critical{border-left-color:var(--learn-coral)}.learning-action-list>article.priority-high{border-left-color:var(--learn-gold)}.learning-action-list>article>span{display:grid;place-items:center;width:36px;height:36px;border-radius:11px;background:var(--surface);color:var(--learn-indigo)}.learning-action-list small,.learning-action-list strong{display:block}.learning-action-list small{color:var(--muted);font-size:.6rem;font-weight:750}.learning-action-list strong{font-size:.74rem}.learning-action-list p{display:-webkit-box;margin:3px 0 7px;overflow:hidden;color:var(--muted);font-size:.65rem;-webkit-line-clamp:2;-webkit-box-orient:vertical}.learning-action-list form button{padding:5px 8px;border:0;border-radius:8px;background:var(--learn-indigo);color:#fff;font-size:.61rem;font-weight:780}.subject-pulse-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.subject-pulse-grid article{display:grid;grid-template-columns:42px 1fr auto;gap:10px;align-items:center;padding:12px;border:1px solid var(--line);border-radius:15px;background:var(--surface-soft)}.subject-pulse-grid article>span{display:grid;place-items:center;width:42px;height:42px;border-radius:13px;background:color-mix(in srgb,var(--subject-colour) 13%,var(--surface));color:var(--subject-colour)}.subject-pulse-grid small,.subject-pulse-grid strong,.subject-pulse-grid p{display:block;margin:0}.subject-pulse-grid small{color:var(--subject-colour);font-size:.6rem;font-weight:850}.subject-pulse-grid p{color:var(--muted);font-size:.65rem}.teacher-command-hero .primary-button{position:relative;z-index:1;background:#fff;color:#293f84}.teacher-stream{margin-bottom:25px}.teacher-item-list{display:grid;gap:7px}.teacher-item-list>article{display:grid;grid-template-columns:44px minmax(0,1fr) 115px 120px;gap:11px;align-items:center;padding:11px;border:1px solid var(--line);border-radius:15px;background:var(--surface-soft)}.teacher-item-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:13px;background:color-mix(in srgb,var(--learn-indigo) 12%,var(--surface));color:var(--learn-indigo)}.teacher-item-icon.exam{background:color-mix(in srgb,var(--learn-coral) 12%,var(--surface));color:var(--learn-coral)}.teacher-item-list small,.teacher-item-list strong,.teacher-item-list p{display:block;margin:0}.teacher-item-list>article>div:nth-child(2)>small{color:var(--learn-indigo);font-size:.61rem;font-weight:800}.teacher-item-list>article>div:nth-child(2)>strong{font-size:.78rem}.teacher-item-list p{overflow:hidden;color:var(--muted);font-size:.66rem;text-overflow:ellipsis;white-space:nowrap}.teacher-item-list time{color:var(--muted);font-size:.66rem;text-align:right}.teacher-item-progress strong,.teacher-item-progress small{display:block}.teacher-item-progress small{color:var(--muted);font-size:.58rem}.teacher-item-progress>span{display:block;height:5px;margin-top:5px;overflow:hidden;border-radius:5px;background:var(--line)}.teacher-item-progress>span i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--learn-indigo),var(--learn-cyan))}.learning-publish-options{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:14px}.learning-publish-options label{display:flex;gap:9px;padding:11px;border:1px solid var(--line);border-radius:13px;background:var(--surface-soft)}.learning-publish-options strong,.learning-publish-options small{display:block}.learning-publish-options small{margin-top:2px;color:var(--muted);font-size:.65rem}@media(max-width:1050px){.learning-dashboard-grid{grid-template-columns:1fr}.learning-pulse-grid{grid-template-columns:1fr 1fr}.subject-pulse-grid{grid-template-columns:1fr 1fr}}@media(max-width:760px){.learning-hero,.teacher-command-hero{align-items:flex-start;flex-direction:column}.learning-hero-score{display:flex;gap:8px;align-items:center}.calendar-days>article{min-height:82px;padding:4px}.calendar-item span{display:none}.teacher-item-list>article{grid-template-columns:40px 1fr auto}.teacher-item-progress{grid-column:2}.teacher-item-list time{grid-column:3;grid-row:1}.subject-pulse-grid,.learning-publish-options{grid-template-columns:1fr}}@media(max-width:520px){.learning-pulse-grid{grid-template-columns:1fr 1fr}.learning-pulse-grid article{min-height:72px;padding:10px}.calendar-nav input{width:118px}.calendar-weekdays span{padding:6px 2px;font-size:.54rem}.calendar-days>article{min-height:68px}.learning-calendar{overflow-x:auto}.calendar-weekdays,.calendar-days{min-width:560px}}
.parent-policy-console{margin:18px 0}.parent-policy-table{overflow:hidden;border:1px solid var(--line);border-radius:18px}.parent-policy-head,.parent-policy-row{display:grid;grid-template-columns:minmax(280px,1fr) repeat(5,88px);align-items:center}.parent-policy-head{padding:10px 14px;background:var(--surface-2);color:var(--muted);font-size:.72rem;font-weight:800;text-transform:uppercase}.parent-policy-head span:not(:first-child){text-align:center}.parent-policy-module{padding:9px 14px;background:color-mix(in srgb,var(--accent) 8%,var(--surface));color:var(--accent);font-size:.73rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.parent-policy-module i{margin-right:8px}.parent-policy-row{padding:11px 14px;border-top:1px solid var(--line);cursor:pointer}.parent-policy-row>span:first-child strong,.parent-policy-row>span:first-child small{display:block}.parent-policy-row>span:first-child strong{font-size:.84rem}.parent-policy-row>span:first-child small{color:var(--muted);font-size:.69rem;margin-top:2px}.parent-policy-row>span:not(:first-child){display:flex;align-items:center;justify-content:center;gap:6px}.parent-policy-row input{width:17px;height:17px;accent-color:var(--accent)}.parent-policy-row i{color:var(--muted)}.policy-required{padding:4px 7px;border-radius:999px;background:var(--accent-soft);color:var(--accent);font-size:.62rem;font-style:normal;font-weight:800}.parent-policy-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:14px}.parent-policy-footer span{color:var(--muted);font-size:.73rem}.parent-policy-footer i{margin-right:6px}@media(max-width:820px){.parent-policy-table{overflow-x:auto}.parent-policy-head,.parent-policy-row{min-width:760px}.parent-policy-footer{align-items:stretch;flex-direction:column}.parent-policy-footer .primary-button{justify-content:center}}
.parent-delivery-audit{margin-top:16px;border-top:1px solid var(--line);padding-top:12px}.parent-delivery-audit summary{display:flex;align-items:center;gap:8px;color:var(--text);font-size:.8rem;font-weight:800;cursor:pointer}.parent-delivery-audit summary span{margin-left:auto;padding:3px 8px;border-radius:999px;background:var(--accent-soft);color:var(--accent)}.parent-delivery-audit>div{display:grid;gap:6px;margin-top:10px}.parent-delivery-audit article{display:grid;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:9px;padding:8px 10px;border:1px solid var(--line);border-radius:12px}.parent-delivery-audit article strong,.parent-delivery-audit article small{display:block}.parent-delivery-audit article strong{font-size:.74rem}.parent-delivery-audit article small{color:var(--muted);font-size:.63rem}.notice-channel{display:grid;width:30px;height:30px;place-items:center;border-radius:9px;background:var(--accent-soft);color:var(--accent)}.notice-status{font-size:.63rem;font-style:normal;font-weight:800;color:var(--muted)}
/* BeyondMonday universal tenant locator */
.universal-login-body{background:#eef4ff;color:#13213c;min-height:100vh}
.universal-login-shell{width:min(1120px,calc(100% - 32px));min-height:680px;margin:32px auto;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(420px,.95fr);background:#fff;border:1px solid #dbe5f4;border-radius:30px;overflow:hidden;box-shadow:0 28px 90px rgba(24,48,92,.16)}
.universal-brand-panel{position:relative;overflow:hidden;padding:64px;background:linear-gradient(145deg,#092d63 0%,#075d83 58%,#0ba6a0 100%);color:#fff;display:flex;flex-direction:column;justify-content:center}
.universal-brand-panel:after{content:"";position:absolute;width:440px;height:440px;border:90px solid rgba(255,255,255,.07);border-radius:50%;right:-210px;bottom:-180px}
.universal-brand-panel>img{width:76px;height:76px;object-fit:contain;background:#fff;border-radius:22px;padding:11px;margin-bottom:38px;box-shadow:0 14px 34px rgba(0,0,0,.18)}
.universal-brand-panel>img.universal-brand-logo-full{width:min(350px,100%);height:auto;aspect-ratio:1600/641;object-fit:cover;object-position:center;border-radius:18px;padding:0;margin-bottom:34px;box-shadow:0 16px 38px rgba(0,0,0,.2)}
.universal-brand-panel>span{font:700 12px/1.2 Manrope,sans-serif;letter-spacing:.18em;color:#a9fff0;margin-bottom:15px}
.universal-brand-panel h1{font:800 clamp(38px,4vw,58px)/1.08 Manrope,sans-serif;letter-spacing:-.04em;margin:0 0 22px}.universal-brand-panel h1 em{font-style:normal;color:#66f0dd}
.universal-brand-panel>p{font-size:18px;line-height:1.7;color:#dbeeff;max-width:540px;margin:0 0 38px}
.universal-brand-panel>div{display:flex;flex-wrap:wrap;gap:12px;position:relative;z-index:1}.universal-brand-panel>div b{display:flex;align-items:center;gap:8px;font-size:13px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.18);padding:10px 13px;border-radius:999px}
.universal-login-card{padding:58px 54px;display:flex;flex-direction:column;justify-content:center}.universal-login-card>header{display:flex;align-items:center;gap:13px;margin-bottom:48px}.universal-login-card>header img{width:48px;height:48px;object-fit:contain}.universal-login-card>header div{display:flex;flex-direction:column}.universal-login-card>header small{font:800 11px Manrope,sans-serif;letter-spacing:.2em;color:#168d91}.universal-login-card>header strong{font:700 17px Manrope,sans-serif;color:#16315b}
.universal-login-card h2{font:800 30px/1.2 Manrope,sans-serif;letter-spacing:-.025em;margin:8px 0 10px}.universal-login-card>p,.universal-school-picker>p{color:#68768c;line-height:1.6;margin:0 0 26px}.universal-login-card footer{margin-top:40px;padding-top:22px;border-top:1px solid #e6ebf3;display:flex;flex-direction:column;gap:6px;font-size:12px;color:#75839a}.universal-login-card footer a{color:#28466f;text-decoration:none}
.universal-school-picker h2{font:800 29px Manrope,sans-serif;margin:8px 0}.universal-school-choice{margin:0 0 10px}.universal-school-choice button{width:100%;display:grid;grid-template-columns:48px 1fr auto;align-items:center;gap:14px;text-align:left;border:1px solid #dbe5f3;background:#f9fbff;border-radius:16px;padding:13px 16px;color:#17345d;transition:.2s}.universal-school-choice button:hover{border-color:#18a8a4;background:#f0fffc;transform:translateY(-1px);box-shadow:0 8px 22px rgba(16,127,134,.1)}.universal-school-choice button>span{width:44px;height:44px;display:grid;place-items:center;border-radius:13px;background:#dff7f5;color:#087e82;font-size:20px}.universal-school-choice button b{display:flex;flex-direction:column;font:700 15px Manrope,sans-serif}.universal-school-choice button small{font:500 12px DM Sans,sans-serif;color:#738199;margin-top:3px}.universal-school-picker>a{display:inline-flex;align-items:center;gap:7px;margin-top:12px;color:#31547d;text-decoration:none;font-size:13px;font-weight:700}
@media(max-width:850px){.universal-login-shell{grid-template-columns:1fr;width:min(620px,calc(100% - 20px));margin:10px auto}.universal-brand-panel{padding:34px;min-height:310px}.universal-brand-panel>img{width:58px;height:58px;margin-bottom:22px}.universal-brand-panel>img.universal-brand-logo-full{width:min(300px,100%);height:auto;margin-bottom:22px}.universal-brand-panel h1{font-size:36px}.universal-brand-panel>p{font-size:15px;margin-bottom:20px}.universal-login-card{padding:36px 26px}.universal-login-card>header{margin-bottom:32px}}
@media(max-width:480px){.universal-brand-panel{padding:28px 22px}.universal-brand-panel>div b:nth-child(3){display:none}.universal-login-card{padding:30px 20px}.universal-login-shell{border-radius:22px}.universal-login-card h2{font-size:25px}}
.platform-auth-card{width:min(460px,calc(100% - 28px));margin:7vh auto;background:#fff;border:1px solid #dce5f2;border-radius:25px;padding:42px;box-shadow:0 24px 70px #17355f20}.platform-auth-card>img{width:68px;height:68px;object-fit:contain;margin-bottom:22px}.platform-auth-card>small{display:block;font-weight:800;letter-spacing:.17em;color:#078f91}.platform-auth-card h1{font:800 29px Manrope,sans-serif;margin:8px 0}.platform-auth-card>p{color:#68778c;margin:0 0 25px}
.platform-auth-card>img.platform-brand-full{display:block;width:min(340px,100%);height:auto;aspect-ratio:1600/641;object-fit:cover;object-position:center;margin:0 auto 22px;border-radius:14px}
.platform-body{margin:0;background:#f3f6fb;color:#14233d;font-family:DM Sans,sans-serif}.platform-topbar{height:74px;background:#092e61;color:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 max(24px,calc((100vw - 1280px)/2));box-shadow:0 7px 22px #092e6122}.platform-topbar>a{display:flex;align-items:center;gap:11px;color:#fff;text-decoration:none}.platform-topbar img{width:45px;height:45px;background:#fff;border-radius:12px;padding:6px}.platform-topbar a span,.platform-topbar>div>span{display:flex;flex-direction:column}.platform-topbar b{font:800 17px Manrope,sans-serif}.platform-topbar small{font-size:11px;color:#b8d0ed}.platform-topbar>div{display:flex;align-items:center;gap:16px;text-align:right}.platform-topbar>div>a{display:grid;place-items:center;width:39px;height:39px;border-radius:11px;background:#ffffff14}
.platform-main{width:min(1280px,calc(100% - 40px));margin:34px auto 70px}.platform-title{display:flex;justify-content:space-between;align-items:flex-end;gap:25px;margin-bottom:25px}.platform-title span{font:800 11px Manrope,sans-serif;letter-spacing:.17em;color:#068a8f}.platform-title h1{font:800 34px Manrope,sans-serif;margin:5px 0}.platform-title p{margin:0;color:#68768d}.platform-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;margin:22px 0}.platform-metrics article{background:#fff;border:1px solid #dfe7f2;border-radius:17px;padding:18px;display:flex;align-items:center;gap:14px}.platform-metrics article>i{width:44px;height:44px;display:grid;place-items:center;border-radius:13px;background:#e9eff9;color:#285e9f;font-size:20px}.platform-metrics article.good>i{background:#dff8ed;color:#11845a}.platform-metrics article.warning>i{background:#fff0db;color:#ad6500}.platform-metrics span{display:flex;flex-direction:column}.platform-metrics small{color:#738198}.platform-metrics strong{font:800 25px Manrope,sans-serif}
.platform-school-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px}.platform-school-card{background:#fff;border:1px solid #dfe7f2;border-radius:20px;padding:19px;box-shadow:0 8px 25px #1a396209}.platform-school-card.status-suspended{border-top:4px solid #e36b65}.platform-school-card.status-active{border-top:4px solid #19aa83}.platform-school-head{display:grid;grid-template-columns:48px 1fr auto;align-items:center;gap:12px}.platform-school-head>span{width:46px;height:46px;border-radius:14px;display:grid;place-items:center;background:linear-gradient(135deg,#0f4f88,#12a8a3);color:#fff;font-weight:800}.platform-school-head>div small{font-size:10px;letter-spacing:.12em;color:#75849b}.platform-school-head h2{font:800 16px Manrope,sans-serif;margin:2px 0}.platform-school-head>b{font-size:10px;text-transform:uppercase;padding:6px 8px;border-radius:999px;background:#edf2f8;color:#50637c}.status-active .platform-school-head>b{background:#dcf7ec;color:#087956}.status-suspended .platform-school-head>b{background:#fee9e7;color:#aa403a}.platform-school-card dl{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:20px 0;padding:15px;background:#f7f9fc;border-radius:14px}.platform-school-card dl div{min-width:0}.platform-school-card dt{font-size:10px;color:#8190a5;text-transform:uppercase}.platform-school-card dd{font-size:12px;font-weight:700;margin:4px 0 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.platform-school-signals{display:flex;gap:8px;flex-wrap:wrap}.platform-school-signals span{font-size:10px;padding:6px 8px;border-radius:999px;background:#eef2f7;color:#607086}.platform-school-signals span.verified,.platform-school-signals span.active{background:#e3f8ef;color:#087b58}.platform-school-card>footer{display:flex;justify-content:space-between;margin-top:17px;padding-top:15px;border-top:1px solid #e8edf4}.platform-school-card>footer a{display:flex;align-items:center;gap:6px;color:#1b628c;text-decoration:none;font-size:12px;font-weight:800}
.platform-drawer{position:fixed;inset:0;z-index:1200;pointer-events:none}.platform-drawer.is-open{pointer-events:auto}.platform-drawer-backdrop{position:absolute;inset:0;border:0;background:#081a35a8;opacity:0;transition:.2s}.platform-drawer.is-open .platform-drawer-backdrop{opacity:1}.platform-drawer>aside{position:absolute;top:0;right:0;width:min(720px,94vw);height:100%;background:#f7f9fc;transform:translateX(105%);transition:.25s;overflow-y:auto;box-shadow:-20px 0 55px #07183233}.platform-drawer.is-open>aside{transform:none}.platform-drawer>aside>header{position:sticky;top:0;z-index:2;background:#fff;border-bottom:1px solid #dee7f2;padding:20px 25px;display:flex;justify-content:space-between;align-items:center}.platform-drawer h2{font:800 22px Manrope,sans-serif;margin:4px 0}.platform-drawer>aside>header>a{width:38px;height:38px;display:grid;place-items:center;border-radius:10px;background:#edf2f8;color:#314e71}.platform-school-form{padding:20px}.platform-form-section{background:#fff;border:1px solid #dfe7f2;border-radius:17px;padding:19px;margin-bottom:14px}.platform-form-section h3,.platform-operations h3{font:800 14px Manrope,sans-serif;margin:0 0 16px;color:#21436a}.platform-school-form>footer{position:sticky;bottom:0;display:flex;justify-content:flex-end;gap:10px;background:#f7f9fc;padding:15px 0}.platform-operations{margin:0 20px 30px;padding:19px;background:#fff;border:1px solid #dfe7f2;border-radius:17px;display:flex;align-items:center;gap:10px;flex-wrap:wrap}.platform-operations h3{width:100%}.danger-button{border:0;border-radius:11px;background:#be4641;color:#fff;padding:11px 16px;font-weight:800}.check-row{display:flex!important;flex-direction:row!important;align-items:center;gap:9px}.check-row input{width:18px;height:18px}.check-row span{margin:0!important}
.platform-title-actions{display:flex;align-items:center;gap:9px}.platform-title-actions form{margin:0}
@media(max-width:980px){.platform-school-grid{grid-template-columns:repeat(2,1fr)}.platform-metrics{grid-template-columns:repeat(2,1fr)}}@media(max-width:620px){.platform-main{width:calc(100% - 24px);margin-top:22px}.platform-title{align-items:flex-start;flex-direction:column}.platform-title-actions{width:100%;justify-content:space-between}.platform-school-grid{grid-template-columns:1fr}.platform-metrics{gap:9px}.platform-metrics article{padding:13px}.platform-topbar{padding:0 14px}.platform-topbar>div>span{display:none}.platform-drawer>aside{width:100%}.platform-school-form{padding:12px}.platform-form-section .form-grid{grid-template-columns:1fr}.platform-form-section .span-2{grid-column:auto}}

/* Platform school configuration — compact guided workspace */
.platform-drawer>aside{width:min(940px,96vw)}
.platform-school-form{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;padding:14px 16px 18px}
.platform-config-summary,.platform-school-form>footer,.platform-form-section[data-section-index="3"],.platform-form-section[data-section-index="6"]{grid-column:1/-1}
.platform-config-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;padding:10px;border:1px solid rgba(16,72,105,.12);border-radius:18px;background:radial-gradient(circle at 8% 18%,rgba(24,179,166,.12),transparent 35%),linear-gradient(135deg,#f8fbff,#f5fffd)}
.platform-summary-item{display:grid;grid-template-columns:36px minmax(0,1fr);grid-template-rows:auto auto;align-items:center;column-gap:9px;min-width:0;padding:9px 10px;border:1px solid rgba(16,72,105,.09);border-radius:13px;background:rgba(255,255,255,.86);box-shadow:0 7px 20px rgba(16,72,105,.05)}
.platform-summary-item>i{display:grid;width:36px;height:36px;place-items:center;border-radius:11px;color:#fff;background:linear-gradient(145deg,#0d3e70,#0b7b91);box-shadow:0 7px 14px rgba(13,62,112,.18)}
.platform-summary-item>i{grid-column:1;grid-row:1/3}.platform-summary-item small,.platform-summary-item>b{grid-column:2;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.platform-summary-item small{grid-row:2;color:#6a7d91;font-size:10px;font-weight:800;letter-spacing:.04em}.platform-summary-item>b{grid-row:1;align-self:end;color:#123653;font-size:13px}
.platform-form-section{min-width:0;margin:0;padding:13px 14px 14px;border-radius:16px;border-color:rgba(16,72,105,.11);background:#fff;box-shadow:0 8px 24px rgba(16,72,105,.045)}
.platform-form-section h3{display:flex;align-items:center;gap:9px;margin:0 0 11px;padding-bottom:9px;border-bottom:1px solid #e8eff4;color:#153b58;font-size:13px;letter-spacing:0;text-transform:none}.platform-form-section h3>span{display:grid;width:30px;height:30px;place-items:center;flex:0 0 auto;border-radius:10px;color:#087f7c;background:#e9fbf8;font-size:10px;font-weight:900}.platform-form-section h3>b{font-size:14px;font-weight:850}
.platform-school-form .form-grid{gap:9px 10px}.platform-school-form label{display:block;min-width:0;color:#4c6579;font-size:10px;font-weight:850;letter-spacing:.055em}.platform-school-form label>span{display:block;margin:0}.platform-school-form label>input:not([type="checkbox"]),.platform-school-form label>select,.platform-school-form label>textarea{display:block;width:100%;min-height:41px;margin-top:5px;padding:9px 11px;border:1px solid #ccdbe5;border-radius:11px;color:#18384f;background-color:#fbfdff;font-size:13px;font-weight:650;letter-spacing:0;outline:none;transition:border-color .18s ease,box-shadow .18s ease,background .18s ease}.platform-school-form label>textarea{min-height:66px;resize:vertical}.platform-school-form label>input:focus,.platform-school-form label>select:focus,.platform-school-form label>textarea:focus{border-color:#11a59b;background:#fff;box-shadow:0 0 0 3px rgba(17,165,155,.12)}
.platform-school-form .check-row{display:flex!important;align-items:center;gap:8px;min-height:41px;margin-top:2px;padding:8px 10px;border:1px dashed #cadbe5;border-radius:11px;background:#f8fbfd}.platform-school-form .check-row>input{width:18px;height:18px;min-height:18px;flex:0 0 18px;margin:0}.platform-school-form .check-row>span{font-size:11px;letter-spacing:0}.platform-school-form [data-local-storage][hidden],.platform-school-form [data-s3-storage][hidden]{display:none!important}
.platform-native-choice{display:none!important}.platform-url-modes,.platform-storage-modes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin-bottom:10px}.platform-storage-modes{grid-template-columns:repeat(2,minmax(0,1fr))}
.platform-choice-card{position:relative;display:grid;grid-template-columns:34px minmax(0,1fr);align-items:center;gap:9px;min-width:0;padding:10px;border:1px solid #d5e2e9;border-radius:13px;color:#284b61;background:#fbfdff;text-align:left;cursor:pointer;transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease,background .16s ease}.platform-choice-card:hover{transform:translateY(-1px);border-color:#74cfc8;box-shadow:0 8px 20px rgba(11,86,105,.09)}.platform-choice-card.active{border-color:#0b9e95;color:#073c52;background:linear-gradient(140deg,#edfffb,#f3f8ff);box-shadow:0 0 0 2px rgba(11,158,149,.09),0 9px 22px rgba(11,86,105,.08)}.platform-choice-card>i{display:grid;width:34px;height:34px;place-items:center;border-radius:10px;color:#0a7890;background:#e7f6fa;font-size:14px}.platform-choice-card.active>i{color:#fff;background:linear-gradient(145deg,#0f4c78,#0ba194)}.platform-choice-card b,.platform-choice-card small{display:block}.platform-choice-card b{padding-right:45px;font-size:12px;line-height:1.25}.platform-choice-card small{margin-top:2px;color:#728697;font-size:10px;font-weight:650;line-height:1.3}.platform-choice-card em{position:absolute;top:7px;right:7px;padding:2px 5px;border-radius:999px;color:#087f7c;background:#e4f8f4;font-size:8px;font-style:normal;font-weight:850}
.platform-url-preview{display:flex;align-items:center;justify-content:space-between;gap:9px;min-width:0;margin:2px 0 10px;padding:9px 11px;border:1px dashed #89cfc9;border-radius:11px;color:#15506b;background:#f2fffc}.platform-url-preview>span{display:grid;grid-template-columns:20px minmax(0,1fr);min-width:0}.platform-url-preview>span>i{grid-row:1/3;align-self:center;color:#05968b}.platform-url-preview small,.platform-url-preview strong{grid-column:2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.platform-url-preview small{font-size:8px;letter-spacing:.08em}.platform-url-preview strong{font-size:12px}.platform-url-preview>b{flex:0 0 auto;color:#07835f;font-size:10px}.platform-url-preview>b.not-ready{color:#b36400}
.platform-school-form label:has(>input[name="database_password"]){position:relative}.platform-school-form input[name="database_password"]{padding-right:42px!important}.platform-secret-toggle{position:absolute;right:7px;bottom:6px;display:grid;width:30px;height:30px;place-items:center;border:0;border-radius:9px;color:#49677b;background:transparent;cursor:pointer}.platform-secret-toggle:hover{color:#087f7c;background:#eaf8f7}
.platform-select{position:relative;width:100%;margin-top:5px}.platform-select-native{position:absolute!important;width:1px!important;height:1px!important;min-height:1px!important;margin:0!important;padding:0!important;opacity:0;pointer-events:none}.platform-select-trigger{display:flex;width:100%;min-height:41px;align-items:center;justify-content:space-between;gap:10px;padding:7px 7px 7px 12px;border:1px solid #ccdbe5;border-radius:11px;color:#18384f;background:linear-gradient(180deg,#fff,#f8fcfd);font:750 13px/1.2 "DM Sans",sans-serif;text-align:left;cursor:pointer;box-shadow:0 2px 6px rgba(14,66,91,.035);transition:border-color .18s ease,box-shadow .18s ease,background .18s ease}.platform-select-trigger>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.platform-select-trigger>i{display:grid;width:28px;height:28px;flex:0 0 28px;place-items:center;border-radius:9px;color:#087f7c;background:#e7f8f5;font-size:10px;transition:transform .18s ease}.platform-select-trigger:hover{border-color:#86c9c3;background:#fff}.platform-select.open .platform-select-trigger,.platform-select-trigger:focus-visible{border-color:#0b9e95;background:#fff;box-shadow:0 0 0 3px rgba(11,158,149,.12);outline:0}.platform-select.open .platform-select-trigger>i{transform:rotate(180deg);color:#fff;background:linear-gradient(145deg,#0f4c78,#0ba194)}
.platform-select-menu{position:absolute;top:calc(100% + 6px);left:0;right:0;z-index:30;display:none;max-height:230px;overflow:auto;padding:6px;border:1px solid #d5e3eb;border-radius:13px;background:rgba(255,255,255,.98);box-shadow:0 18px 42px rgba(9,46,76,.18);backdrop-filter:blur(14px)}.platform-select.open .platform-select-menu{display:grid;gap:3px;animation:platformSelectIn .16s ease}.platform-select-option{display:flex;width:100%;min-height:36px;align-items:center;justify-content:space-between;gap:10px;padding:8px 9px;border:0;border-radius:9px;color:#36566b;background:transparent;font:700 12px/1.2 "DM Sans",sans-serif;text-align:left;cursor:pointer}.platform-select-option>i{display:none;color:#087f7c;font-size:14px}.platform-select-option:hover,.platform-select-option:focus-visible{color:#0b5365;background:#effaf8;outline:0}.platform-select-option.selected{color:#075f66;background:linear-gradient(135deg,#e9fbf7,#eef7ff)}.platform-select-option.selected>i{display:block}@keyframes platformSelectIn{from{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:none}}
.platform-school-form>footer{position:sticky;bottom:-18px;z-index:4;margin:0 -2px;padding:10px 3px 3px;border-top:1px solid #dfe9ef;background:rgba(255,255,255,.94);backdrop-filter:blur(12px)}.platform-school-form>footer .primary-button{min-height:42px;padding-inline:20px;border-radius:12px}
.platform-auto-provision-card{display:grid;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:11px;padding:13px;border:1px solid #cfe6df;border-radius:15px;background:linear-gradient(135deg,#f0fbf7,#f3f8ff)}.platform-auto-provision-card>i{display:grid;width:42px;height:42px;place-items:center;border-radius:13px;color:#fff;background:linear-gradient(135deg,#087d79,#20a994);font-size:18px;box-shadow:0 8px 18px rgba(8,125,121,.2)}.platform-auto-provision-card>span{display:flex;min-width:0;flex-direction:column}.platform-auto-provision-card strong{overflow:hidden;color:#173956;font:800 12px Manrope,sans-serif;text-overflow:ellipsis;white-space:nowrap}.platform-auto-provision-card small{margin-top:3px;color:#667e8f;font-size:9px;line-height:1.45}.platform-auto-provision-card>b{display:flex;align-items:center;gap:5px;padding:6px 8px;border-radius:999px;color:#08775d;background:#dcf7ed;font-size:8px;text-transform:uppercase;letter-spacing:.06em}
.platform-form-section:has(input[name="database_name"]){display:none}
@media(max-width:780px){.platform-drawer>aside{width:min(620px,100vw)}.platform-school-form{grid-template-columns:minmax(0,1fr);padding:11px}.platform-config-summary,.platform-school-form>footer,.platform-form-section[data-section-index]{grid-column:1}.platform-config-summary{grid-template-columns:1fr}.platform-url-modes{grid-template-columns:1fr}}
@media(max-width:480px){.platform-form-section{padding:11px}.platform-storage-modes,.platform-school-form .form-grid{grid-template-columns:1fr}.platform-summary-item{padding:8px}}

/* Platform-controlled recovery and audited school masquerade */
.platform-access-dock{position:fixed;inset:0;z-index:1400;display:grid;place-items:center;padding:22px;background:rgba(6,24,51,.72);backdrop-filter:blur(7px)}.platform-access-dock[hidden]{display:none}.platform-access-card{width:min(880px,100%);max-height:min(760px,calc(100vh - 44px));overflow:auto;padding:23px;border:1px solid #d9e4ef;border-radius:23px;background:#f8fbfe;box-shadow:0 28px 80px rgba(3,22,48,.35)}.platform-access-heading{display:flex;align-items:center;justify-content:space-between;gap:18px}.platform-access-heading small{font:800 10px Manrope,sans-serif;letter-spacing:.15em;color:#078e8c}.platform-access-heading h3{margin:4px 0 0;font:800 22px Manrope,sans-serif;color:#173956}.platform-access-heading>a{display:grid;width:38px;height:38px;place-items:center;border-radius:11px;background:#eaf0f6;color:#294d69;text-decoration:none}.platform-access-card>p{margin:9px 0 17px;color:#687d8f}.platform-user-search{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px;padding:7px 8px 7px 13px;border:1px solid #cddce8;border-radius:14px;background:#fff}.platform-user-search>i{color:#5b758b}.platform-user-search input{min-width:0;border:0;outline:0;padding:8px 3px;font:650 13px DM Sans,sans-serif;color:#173956;background:transparent}.platform-user-results{display:grid;gap:10px;margin-top:15px}.platform-user-results>article{padding:14px;border:1px solid #dce6ef;border-radius:16px;background:#fff}.platform-user-summary{display:grid;grid-template-columns:42px minmax(0,1fr) auto;gap:11px;align-items:center}.platform-user-avatar{display:grid;width:42px;height:42px;place-items:center;border-radius:13px;color:#fff;background:linear-gradient(135deg,#1559a6,#10a49e);font-weight:850}.platform-user-summary>div{display:flex;min-width:0;flex-direction:column}.platform-user-summary strong{font-size:14px;color:#173956}.platform-user-summary small,.platform-user-summary em{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px;color:#6d8193}.platform-user-summary em{font-style:normal}.platform-user-summary>b{padding:5px 8px;border-radius:999px;background:#edf1f5;color:#66788a;font-size:9px;text-transform:uppercase}.platform-user-summary>b.active{background:#def7ec;color:#087755}.platform-user-actions{display:flex;align-items:center;gap:8px;margin-top:11px;padding-top:11px;border-top:1px solid #edf1f5}.platform-user-actions form{margin:0}.platform-masquerade-form{display:grid!important;grid-template-columns:minmax(160px,1fr) auto;gap:7px;flex:1}.platform-masquerade-form input{min-width:0;padding:9px 11px;border:1px solid #cedce7;border-radius:11px;outline:0}.platform-user-empty{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:15px;padding:20px;border:1px dashed #ccdbe6;border-radius:15px;color:#6d8193;background:#fff}.platform-school-card>footer{gap:12px}.platform-school-card>footer .platform-user-access-link{margin-left:auto}.platform-school-card>footer .platform-user-access-link+ a{margin-left:auto}
@media(max-width:620px){.platform-access-dock{padding:0;place-items:stretch}.platform-access-card{max-height:100vh;width:100%;border:0;border-radius:0;padding:16px}.platform-user-actions{align-items:stretch;flex-direction:column}.platform-user-actions form>.outline-button{width:100%}.platform-masquerade-form{grid-template-columns:1fr}.platform-user-search{grid-template-columns:auto minmax(0,1fr)}.platform-user-search .outline-button{grid-column:1/-1}.platform-user-summary{grid-template-columns:38px minmax(0,1fr)}.platform-user-summary>b{grid-column:2;justify-self:start}.platform-user-avatar{width:38px;height:38px}}
.support-session-banner{position:sticky;top:0;z-index:1100;display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:12px;padding:10px 18px;color:#fff;background:linear-gradient(100deg,#9a3412,#d97706);box-shadow:0 7px 24px rgba(101,45,8,.25)}.support-session-banner>i{font-size:21px}.support-session-banner>span{display:flex;min-width:0;flex-direction:column}.support-session-banner strong{font-size:12px;text-transform:uppercase;letter-spacing:.06em}.support-session-banner small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#ffedd5}.support-session-banner>b{padding:6px 9px;border-radius:9px;background:#ffffff1f;font:800 12px Manrope,sans-serif}.support-session-banner>a{display:flex;align-items:center;gap:6px;padding:7px 10px;border-radius:9px;color:#7c2d12;background:#fff;text-decoration:none;font-size:11px;font-weight:850}@media(max-width:620px){.support-session-banner{grid-template-columns:auto 1fr auto;padding:8px 10px}.support-session-banner>b{display:none}.support-session-banner>a{font-size:0}.support-session-banner>a i{font-size:16px}.support-session-banner small{max-width:58vw}}
.platform-secure-link{width:min(1280px,calc(100% - 40px));margin:-10px auto 20px;padding:15px;border:1px solid #f3c56d;border-radius:16px;background:#fff9e8;box-shadow:0 10px 26px rgba(108,70,11,.08)}.platform-secure-link>div{display:flex;align-items:center;gap:10px}.platform-secure-link>div>i{display:grid;width:38px;height:38px;place-items:center;border-radius:11px;color:#9a5708;background:#ffedbd}.platform-secure-link span{display:flex;flex-direction:column}.platform-secure-link strong{font-size:13px;color:#71420e}.platform-secure-link small{font-size:11px;color:#8c6b42}.platform-secure-link label{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;margin-top:11px}.platform-secure-link input{min-width:0;padding:10px 12px;border:1px solid #e7cc91;border-radius:10px;background:#fff;color:#5e4b34}.platform-secure-link button{display:flex;align-items:center;gap:6px;border:0;border-radius:10px;padding:9px 14px;background:#9a5708;color:#fff;font-weight:800}@media(max-width:620px){.platform-secure-link{width:calc(100% - 24px)}.platform-secure-link label{grid-template-columns:1fr}.platform-secure-link button{justify-content:center}}

/* BeyondMonday connected-school login experience */
.beyond-login-body{background:radial-gradient(circle at 8% 10%,rgba(25,174,232,.15),transparent 25%),radial-gradient(circle at 92% 88%,rgba(255,101,85,.12),transparent 23%),#eaf0f8;padding:18px}
.beyond-login-shell{grid-template-columns:minmax(520px,1.14fr) minmax(420px,.86fr);max-width:1400px;min-height:calc(100vh - 36px);border:1px solid rgba(16,45,90,.09);border-radius:30px;box-shadow:0 35px 100px rgba(17,43,83,.2)}
.beyond-login-story{isolation:isolate;padding:34px 44px 30px;background:radial-gradient(circle at 82% 12%,rgba(26,190,221,.27),transparent 26%),radial-gradient(circle at 5% 88%,rgba(251,91,111,.23),transparent 29%),linear-gradient(145deg,#071d46 0%,#0b3670 54%,#075f7c 100%)}
.beyond-login-story::before{width:420px;height:420px;left:auto;right:-250px;top:28%;border:75px solid rgba(255,255,255,.045)}
.beyond-login-story::after{right:-35px;bottom:-25px;opacity:.22;background-image:radial-gradient(circle,rgba(255,255,255,.56) 0 1.5px,transparent 2px)}
.beyond-story-orb{position:absolute;z-index:-1;border-radius:999px;filter:blur(1px);pointer-events:none}.beyond-story-orb.orb-one{width:110px;height:110px;right:18%;top:18%;background:linear-gradient(145deg,rgba(7,197,228,.2),rgba(126,78,255,.07));box-shadow:0 0 80px rgba(16,203,232,.2)}.beyond-story-orb.orb-two{width:55px;height:55px;left:7%;bottom:24%;background:linear-gradient(145deg,rgba(255,109,94,.26),rgba(255,202,88,.08));box-shadow:0 0 55px rgba(255,106,87,.17)}
.beyond-school-brand{position:relative;z-index:2;gap:14px}.beyond-school-brand img{width:62px;height:62px;padding:5px;border-radius:17px;box-shadow:0 12px 32px rgba(0,0,0,.24)}.beyond-school-brand div{min-width:0}.beyond-school-brand small{margin:0 0 3px;color:#83e7f4;font-size:9px;font-weight:800;letter-spacing:.18em}.beyond-school-brand strong{overflow:hidden;color:#fff;font-size:19px;text-overflow:ellipsis;white-space:nowrap}.beyond-school-brand span{display:block;max-width:460px;margin-top:3px;overflow:hidden;color:#adc7dd;font-size:10px;text-overflow:ellipsis;white-space:nowrap}
.beyond-story-copy{position:relative;z-index:2;max-width:680px;margin:42px 0 25px}.beyond-story-kicker{display:inline-flex;align-items:center;gap:8px;margin-bottom:13px;padding:7px 10px;border:1px solid rgba(124,227,245,.22);border-radius:999px;color:#a8f5ff;background:rgba(8,20,54,.25);font-size:9px;font-weight:800;letter-spacing:.15em}.beyond-story-kicker i{color:#ff9d7f;font-size:12px}.beyond-story-copy h1{margin:0 0 15px;color:#fff;font:800 clamp(36px,3.6vw,55px)/1.04 var(--heading);letter-spacing:-.045em}.beyond-story-copy h1 em{font-style:normal;background:linear-gradient(90deg,#62e9f5,#b4f3ff 48%,#ffac93);-webkit-background-clip:text;background-clip:text;color:transparent}.beyond-story-copy p{max-width:630px;margin:0;color:#c9dced;font-size:14px;line-height:1.68}
.beyond-mobile-promise{display:none}
.beyond-capability-grid{position:relative;z-index:2;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;max-width:700px}.beyond-capability-grid article{display:grid;grid-template-columns:38px minmax(0,1fr);align-items:center;gap:10px;min-width:0;padding:10px 11px;border:1px solid rgba(255,255,255,.11);border-radius:14px;background:rgba(255,255,255,.075);box-shadow:inset 0 1px rgba(255,255,255,.06);backdrop-filter:blur(8px);transition:.2s}.beyond-capability-grid article:hover{transform:translateY(-2px);border-color:rgba(111,233,246,.35);background:rgba(255,255,255,.11)}.beyond-capability-grid article>i{display:grid;width:38px;height:38px;place-items:center;border-radius:12px;color:#8cecf5;background:linear-gradient(145deg,rgba(18,196,219,.2),rgba(75,112,237,.16));font-size:16px}.beyond-capability-grid article:nth-child(3n+2)>i{color:#ffc39f;background:linear-gradient(145deg,rgba(255,127,95,.2),rgba(255,183,77,.11))}.beyond-capability-grid article:nth-child(3n)>i{color:#d1c5ff;background:linear-gradient(145deg,rgba(143,103,255,.23),rgba(45,145,235,.12))}.beyond-capability-grid strong,.beyond-capability-grid span{display:block}.beyond-capability-grid strong{color:#fff;font-size:11px}.beyond-capability-grid span{margin-top:2px;color:#a9c2d8;font-size:9px;line-height:1.35}
.beyond-story-foot{position:relative;z-index:2;margin-top:auto;padding-top:21px}.beyond-journey{display:flex;align-items:center;gap:9px;color:#8baec8;font-size:8px;font-weight:800;letter-spacing:.18em}.beyond-journey i{color:#4fdce8;font-size:10px}.beyond-contact-links{display:flex;flex-wrap:wrap;gap:10px 18px;margin-top:13px}.beyond-contact-links a{display:flex;align-items:center;gap:7px;color:#d9e7f3;font-size:10px}.beyond-contact-links i{color:#69e4ef}
.beyond-login-form-side{position:relative;align-items:center;padding:54px 58px 130px;background:linear-gradient(155deg,#fff 0%,#fbfcff 58%,#f6f9ff 100%)}.beyond-login-form-wrap{max-width:440px}.beyond-login-form-wrap .smart-login-kicker{display:flex;align-items:center;gap:6px;margin-bottom:13px;color:#1766ad!important;letter-spacing:.14em}.beyond-login-form-wrap h2{margin:0 0 10px;color:#102a53;font-size:35px;line-height:1.15;letter-spacing:-.035em}.beyond-login-form-wrap>p{margin-bottom:28px;color:#61738c!important;font-size:14px;line-height:1.65}.beyond-login-form-wrap .login-form label{color:#314c6a;font-weight:800}.beyond-login-form-wrap .mobile-field{min-height:54px;border-color:#cfdaea;border-radius:15px;background:#fff;box-shadow:0 5px 16px rgba(24,57,102,.035)}.beyond-login-form-wrap .mobile-field:focus-within{border-color:#1779c7;box-shadow:0 0 0 4px rgba(23,121,199,.11)}.beyond-login-form-wrap .mobile-field>span{color:#246ca8;border-color:#dce5f0}.beyond-login-form-wrap .mobile-field input{background:transparent;color:#142d50;font-size:14px}.beyond-login-form-wrap .login-form .primary-button{min-height:53px;border-radius:14px;background:linear-gradient(100deg,#0d5da9,#157fb5 62%,#0aa6ad);box-shadow:0 12px 25px rgba(17,103,170,.24)}.beyond-login-form-wrap .login-form .primary-button:hover{transform:translateY(-1px);box-shadow:0 15px 30px rgba(17,103,170,.3)}
.login-copy-mobile{display:none}
.beyond-login-assurance{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-top:20px}.beyond-login-assurance span{display:flex;align-items:center;justify-content:center;gap:5px;min-height:38px;padding:7px;border:1px solid #e0e7f1;border-radius:11px;color:#60758c;background:#f8faff;font-size:8px;font-weight:700;text-align:center}.beyond-login-assurance i{color:#168ba5;font-size:12px}.beyond-login-form-wrap .privacy-note{margin-top:12px;border:1px solid #e3e9f2;background:#f7f9fd;color:#697b91!important}.beyond-login-form-wrap .privacy-note i{color:#177fb2}.beyond-login-form-wrap .login-help{margin-top:15px!important}.beyond-login-form-wrap .login-help a{color:#126da8}
.beyond-product-signature{position:absolute;left:36px;right:36px;bottom:22px;display:flex;align-items:center;justify-content:center;gap:13px;padding-top:14px;border-top:1px solid #e5ebf3}.beyond-product-logo{display:block;width:225px;height:58px;overflow:hidden;border-radius:10px;background:#fff}.beyond-product-logo img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}.beyond-product-signature>span{color:#7a8798;font-size:10px;white-space:nowrap}.beyond-product-signature>span a{color:#0b3471;font-weight:800;letter-spacing:.04em}
html[data-theme="medium"] .beyond-login-form-side{background:linear-gradient(155deg,#f4f2f9,#eceaf4)}html[data-theme="medium"] .beyond-login-form-wrap h2{color:#25223b}html[data-theme="medium"] .beyond-login-form-wrap .mobile-field{background:#f9f8fc}
html:is([data-theme="dark"],[data-theme="graphite"]) .beyond-login-form-side{background:linear-gradient(155deg,#121a2a,#182238)!important}html:is([data-theme="dark"],[data-theme="graphite"]) .beyond-login-form-wrap h2{color:#f3f7ff}html:is([data-theme="dark"],[data-theme="graphite"]) .beyond-login-form-wrap>p{color:#aebbd0!important}html:is([data-theme="dark"],[data-theme="graphite"]) .beyond-login-form-wrap .mobile-field,html:is([data-theme="dark"],[data-theme="graphite"]) .beyond-login-assurance span,html:is([data-theme="dark"],[data-theme="graphite"]) .beyond-login-form-wrap .privacy-note{background:#1d2940!important;border-color:#34435e!important}html:is([data-theme="dark"],[data-theme="graphite"]) .beyond-login-form-wrap .mobile-field input{color:#fff}html:is([data-theme="dark"],[data-theme="graphite"]) .beyond-login-form-wrap .login-form label{color:#c5d1e3}html:is([data-theme="dark"],[data-theme="graphite"]) .beyond-product-signature{border-color:#314058}html:is([data-theme="dark"],[data-theme="graphite"]) .beyond-product-signature>span{color:#9eabc0}html:is([data-theme="dark"],[data-theme="graphite"]) .beyond-product-signature>span a{color:#74dbe5}
@media(max-width:1080px){.beyond-login-shell{grid-template-columns:minmax(460px,1fr) minmax(390px,.85fr)}.beyond-login-story{padding:30px}.beyond-login-form-side{padding-left:38px;padding-right:38px}.beyond-story-copy{margin-top:34px}.beyond-capability-grid article{padding:9px}.beyond-capability-grid span{display:none}}
@media(max-width:820px){.beyond-login-body{padding:0}.beyond-login-shell{display:block;min-height:100vh;border:0;border-radius:0}.beyond-login-story{min-height:auto;padding:26px 24px 25px}.beyond-story-copy{margin:30px 0 19px}.beyond-story-copy h1{font-size:38px}.beyond-story-copy p{max-width:570px}.beyond-capability-grid{grid-template-columns:repeat(3,1fr);max-width:none}.beyond-capability-grid article{grid-template-columns:31px 1fr}.beyond-capability-grid article>i{width:31px;height:31px;font-size:13px}.beyond-capability-grid article:nth-child(n+4){display:none}.beyond-story-foot{margin-top:18px;padding-top:0}.beyond-journey{display:none}.beyond-login-form-side{min-height:620px;padding:45px 26px 128px}.beyond-product-signature{bottom:22px}}
@media(max-width:520px){.beyond-login-story{padding:22px 19px}.beyond-school-brand img{width:52px;height:52px}.beyond-school-brand strong{font-size:16px}.beyond-school-brand span{font-size:9px}.beyond-story-copy{margin:25px 0 16px}.beyond-story-copy h1{font-size:31px}.beyond-story-copy p{font-size:12px;line-height:1.55}.beyond-story-kicker{font-size:8px}.beyond-capability-grid{gap:6px}.beyond-capability-grid article{display:block;padding:9px;text-align:center}.beyond-capability-grid article>i{margin:0 auto 5px}.beyond-capability-grid strong{font-size:9px}.beyond-contact-links{display:none}.beyond-login-form-side{min-height:610px;padding:38px 20px 122px}.beyond-login-form-wrap h2{font-size:29px}.beyond-login-assurance{grid-template-columns:1fr}.beyond-login-assurance span{justify-content:flex-start;padding-left:12px}.beyond-login-assurance span:nth-child(n+3){display:none}.beyond-product-signature{left:18px;right:18px;gap:7px}.beyond-product-logo{width:180px;height:48px}.beyond-product-signature>span{font-size:9px}}
@media(max-width:820px){.beyond-capability-grid article:nth-child(n+4){display:grid}}
@media(max-width:520px){.beyond-capability-grid article:nth-child(n+4){display:block}}

/* Compact mobile login: keep the credentials visible near the first viewport. */
@media(max-width:820px){
 .beyond-login-story{padding:17px 20px 16px}
 .beyond-school-brand{gap:10px}.beyond-school-brand img{width:44px;height:44px;border-radius:13px}.beyond-school-brand small{font-size:7px}.beyond-school-brand strong{font-size:15px}.beyond-school-brand span{display:none}
 .beyond-story-copy{margin:16px 0 12px}.beyond-story-kicker{margin-bottom:8px;padding:5px 8px;font-size:7px}.beyond-story-copy h1{margin-bottom:7px;font-size:29px;line-height:1.02}.beyond-story-copy p{max-width:none;font-size:10px;line-height:1.4}
 .beyond-capability-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}.beyond-capability-grid article,.beyond-capability-grid article:nth-child(n+4){display:flex;min-height:35px;gap:5px;padding:5px 6px;border-radius:10px;text-align:left}.beyond-capability-grid article>i{width:25px;height:25px;flex:0 0 25px;margin:0;border-radius:8px;font-size:11px}.beyond-capability-grid strong{font-size:8px;line-height:1.1}.beyond-capability-grid span{display:none}
 .beyond-story-foot{display:none}
 .beyond-login-form-side{display:flex;min-height:0;padding:27px 22px 20px;flex-direction:column;align-items:stretch}
 .beyond-login-form-wrap{max-width:440px;margin:0 auto}.beyond-login-form-wrap .smart-login-kicker{margin-bottom:7px;font-size:9px}.beyond-login-form-wrap h2{margin-bottom:6px;font-size:28px}.beyond-login-form-wrap>p{margin-bottom:17px;font-size:11px;line-height:1.5}
 .beyond-login-form-wrap .mobile-field{min-height:48px;margin-bottom:9px}.beyond-login-form-wrap .login-form .primary-button{min-height:47px}.beyond-login-assurance{margin-top:11px}.beyond-login-form-wrap .privacy-note{margin-top:8px;padding:7px 9px}.beyond-login-form-wrap .login-help{margin-top:9px!important}
 .beyond-product-signature{position:static;width:100%;max-width:440px;margin:15px auto 0;padding-top:10px}.beyond-product-logo{width:174px;height:44px}.beyond-product-signature>span{font-size:8px}
}
@media(max-width:520px){
 .beyond-login-body{background:#eef3fa}.beyond-login-shell{background:#eef3fa}.beyond-login-story{padding:14px 15px 30px;overflow:hidden;border-radius:0 0 27px 27px;box-shadow:0 16px 38px rgba(7,33,75,.18)}.beyond-login-story::before{width:230px;height:230px;right:-155px;top:-70px;border-width:42px}.beyond-login-story::after{right:-60px;bottom:-70px;opacity:.14}
 .beyond-school-brand{gap:10px}.beyond-school-brand img{width:42px;height:42px;padding:4px;border-radius:13px}.beyond-school-brand small{margin-bottom:1px;font-size:7px}.beyond-school-brand strong{font-size:15px}.beyond-story-orb.orb-one{width:72px;height:72px;right:8%;top:17%}.beyond-story-orb.orb-two{display:none}
 .beyond-story-copy{margin:14px 0 0}.beyond-story-copy>.beyond-story-kicker,.beyond-story-copy>h1,.beyond-story-copy>p{display:none}.beyond-mobile-promise{display:flex;position:relative;min-height:60px;padding:10px 52px 10px 13px;border:1px solid rgba(255,255,255,.13);border-radius:16px;flex-direction:column;justify-content:center;background:linear-gradient(110deg,rgba(255,255,255,.1),rgba(255,255,255,.035));box-shadow:inset 0 1px rgba(255,255,255,.08);backdrop-filter:blur(8px)}.beyond-mobile-promise::after{content:'\2197';position:absolute;right:13px;top:50%;display:grid;width:29px;height:29px;border-radius:10px;place-items:center;transform:translateY(-50%);color:#092b60;background:linear-gradient(135deg,#74eef5,#ffb29a);font-size:15px;font-weight:900;box-shadow:0 8px 20px rgba(4,18,48,.25)}.beyond-mobile-promise span{display:flex;align-items:center;gap:6px;margin-bottom:3px;color:#91eaf4;font-size:7px;font-weight:850;letter-spacing:.16em}.beyond-mobile-promise span i{color:#ffac91;font-size:10px}.beyond-mobile-promise strong{color:#fff;font:800 20px/1.1 var(--heading);letter-spacing:-.035em}
 .beyond-capability-grid{display:none}
 .beyond-login-form-side{position:relative;margin:-13px 10px 10px;padding:27px 14px 16px;border:1px solid rgba(23,59,102,.08);border-radius:25px;background:linear-gradient(165deg,#fff 0%,#fbfdff 68%,#f4f8fd 100%);box-shadow:0 18px 48px rgba(23,50,87,.12)}
 .beyond-login-form-wrap{width:100%}.beyond-login-form-wrap .smart-login-kicker{width:max-content;margin:0 0 10px;padding:6px 9px;border:1px solid #d9e8f7;border-radius:999px;background:#f2f8ff;font-size:7px!important;letter-spacing:.13em}.beyond-login-form-wrap h2{margin-bottom:6px;font-size:25px;line-height:1.12}.login-copy-desktop{display:none}.login-copy-mobile{display:inline}.beyond-login-form-wrap>p{max-width:330px;margin-bottom:16px!important;font-size:10px!important;line-height:1.45!important}
 .beyond-login-form-wrap .login-form{gap:8px;padding:12px;border:1px solid #e2eaf3;border-radius:18px;background:rgba(255,255,255,.84);box-shadow:0 9px 28px rgba(18,56,101,.07)}.beyond-login-form-wrap .login-form label{margin:0 2px 1px;font-size:9px;line-height:1.35}.beyond-login-form-wrap .mobile-field{min-height:49px!important;margin:0!important;border-radius:13px}.beyond-login-form-wrap .mobile-field>span{width:45px}.beyond-login-form-wrap .mobile-field input{padding:12px 11px;font-size:12px}.beyond-login-form-wrap .login-form .primary-button{min-height:47px;margin-top:2px;border-radius:13px;font-size:11px;box-shadow:0 9px 20px rgba(24,94,180,.2)}
 .beyond-login-assurance{display:flex;gap:6px;margin-top:11px}.beyond-login-assurance span{flex:1;min-height:34px;padding:6px 8px!important;border-radius:11px;font-size:7px}.beyond-login-assurance span:nth-child(n+3){display:none}.beyond-login-assurance i{font-size:11px}
 .beyond-login-form-wrap .privacy-note{display:flex;margin-top:8px;padding:8px 10px!important;border:0!important;border-radius:11px;background:#f2f6fb!important;font-size:8px!important;line-height:1.4}.beyond-login-form-wrap .login-help{margin:10px 0 0!important;font-size:9px!important}
 .beyond-product-signature{flex-direction:column;gap:2px;margin-top:13px;padding-top:10px}.beyond-product-logo{width:146px;height:37px}.beyond-product-signature>span{font-size:8px}
}

@media(max-width:520px) and (max-height:760px){
 .beyond-login-story{padding-bottom:24px}.beyond-mobile-promise{min-height:54px}.beyond-mobile-promise strong{font-size:18px}.beyond-login-form-side{padding-top:23px}.beyond-login-form-wrap .privacy-note{display:none}.beyond-product-signature{margin-top:9px}
}

/* Native-feeling mobile sign-in: a concise brand canvas above one clean action sheet. */
@media(max-width:520px){
 .beyond-login-body{background:linear-gradient(180deg,#092b61 0 170px,#f2f6fb 170px 100%)}
 .beyond-login-shell{min-height:100dvh;background:transparent}
 .beyond-login-story{min-height:194px;padding:15px 18px 35px;border-radius:0;background:radial-gradient(circle at 89% 8%,rgba(38,206,224,.31),transparent 27%),radial-gradient(circle at 7% 105%,rgba(255,103,128,.25),transparent 34%),linear-gradient(135deg,#071c45 0%,#0d3b78 58%,#08758a 130%);box-shadow:none}
 .beyond-login-story::before{width:210px;height:210px;right:-128px;top:-93px;border:36px solid rgba(255,255,255,.055)}.beyond-login-story::after{right:-55px;bottom:-92px;opacity:.11}
 .beyond-school-brand{gap:11px}.beyond-school-brand img{width:45px;height:45px;padding:4px;border:1px solid rgba(255,255,255,.72);border-radius:15px;background:#fff;box-shadow:0 10px 28px rgba(0,17,48,.27)}.beyond-school-brand small{font-size:7px;letter-spacing:.17em}.beyond-school-brand strong{max-width:275px;font-size:15px}.beyond-school-brand span{display:none}
 .beyond-story-copy{margin:20px 0 0}.beyond-mobile-promise{min-height:auto;padding:0;border:0;border-radius:0;background:none;box-shadow:none;backdrop-filter:none}.beyond-mobile-promise::before{content:'';width:28px;height:3px;margin-bottom:10px;border-radius:999px;background:linear-gradient(90deg,#65eaf1,#ffae91)}.beyond-mobile-promise::after{content:none}.beyond-mobile-promise span{margin-bottom:5px;color:#91eaf4;font-size:7px}.beyond-mobile-promise strong{font-size:27px;line-height:1;color:#fff;letter-spacing:-.045em}
 .beyond-login-form-side{min-height:calc(100dvh - 176px);margin:-18px 0 0;padding:30px 22px 18px;border:0;border-radius:29px 29px 0 0;background:linear-gradient(180deg,#fff 0%,#fbfdff 62%,#f4f7fb 100%);box-shadow:0 -12px 38px rgba(4,28,67,.16)}
 .beyond-login-form-wrap{max-width:430px}.beyond-login-form-wrap .smart-login-kicker{margin:0 0 12px;padding:0;border:0;border-radius:0;background:transparent;color:#3987dd!important;font-size:8px!important}.beyond-login-form-wrap .smart-login-kicker i{display:grid;width:25px;height:25px;place-items:center;border-radius:9px;color:#fff;background:linear-gradient(135deg,#2458d4,#55a9ff);box-shadow:0 7px 16px rgba(42,105,205,.22)}
 .beyond-login-form-wrap h2{max-width:360px;margin:0 0 7px;font-size:28px;line-height:1.08}.beyond-login-form-wrap>p{max-width:355px;margin:0 0 24px!important;font-size:11px!important;line-height:1.5!important;color:#6b7d94!important}
 .beyond-login-form-wrap .login-form{display:block;padding:0;border:0;border-radius:0;background:none;box-shadow:none}.beyond-login-form-wrap .login-form label{display:block;margin:0 2px 8px;color:#253b58;font-size:10px;line-height:1.35}.beyond-login-form-wrap .mobile-field{min-height:55px!important;margin:0!important;border:1px solid #cfdcec;border-radius:16px;background:#fff;box-shadow:0 7px 20px rgba(22,59,105,.07)}.beyond-login-form-wrap .mobile-field>span{width:48px;color:#3277d4;border-color:#e2eaf4}.beyond-login-form-wrap .mobile-field input{font-size:13px}.beyond-login-form-wrap .mobile-field:focus-within{border-color:#4b91e9;box-shadow:0 0 0 4px rgba(68,139,226,.12),0 10px 24px rgba(22,59,105,.09)}
 .beyond-login-form-wrap .login-form .primary-button{min-height:53px;margin-top:13px!important;border-radius:16px;background:linear-gradient(100deg,#153478,#2469df 58%,#56a7fa);box-shadow:0 12px 25px rgba(32,91,185,.23);font-size:12px}.beyond-login-form-wrap .login-form .back-link{display:flex;justify-content:center;margin-top:11px!important}
 .beyond-login-assurance{display:flex;gap:8px;margin-top:19px}.beyond-login-assurance span{min-height:36px;padding:7px 9px!important;border-color:#e0e8f2;border-radius:12px;background:#f7faff;font-size:8px}.beyond-login-assurance i{color:#3b82dd}
 .beyond-login-form-wrap .privacy-note{margin-top:10px;padding:10px 11px!important;border:0!important;border-radius:12px;background:#f3f6fa!important;color:#748297!important;font-size:8px!important}.beyond-login-form-wrap .privacy-note i{color:#5389cc}.beyond-login-form-wrap .login-help{margin-top:12px!important;font-size:9px!important}
 .beyond-product-signature{margin-top:auto;padding-top:14px;border-color:#e3e9f1;flex-direction:row;justify-content:center;gap:8px}.beyond-product-logo{width:137px;height:35px}.beyond-product-signature>span{font-size:7px}
}
@media(max-width:360px){
 .beyond-login-form-side{padding-left:17px;padding-right:17px}.beyond-login-form-wrap h2{font-size:25px}.beyond-login-assurance{gap:5px}.beyond-login-assurance span{padding:6px!important;font-size:7px}.beyond-product-signature{flex-direction:column;gap:2px}
}

/* Progressive simplification for tablets and compact browser windows. */
@media(max-width:1100px){
 .beyond-capability-grid{display:none!important}
 .beyond-story-copy{max-width:590px}.beyond-story-copy h1{font-size:clamp(34px,4.5vw,47px)}
 .beyond-story-foot{margin-top:auto}.beyond-contact-links{gap:7px 12px}.beyond-contact-links a{font-size:9px}
 .beyond-login-assurance{grid-template-columns:repeat(2,1fr)}.beyond-login-assurance span:nth-child(3){display:none}
}
@media(max-width:900px) and (min-width:821px){
 .beyond-login-shell{grid-template-columns:minmax(360px,.92fr) minmax(390px,1.08fr)}
 .beyond-login-story{padding:25px}.beyond-school-brand span{display:none}.beyond-story-copy{margin:35px 0 22px}.beyond-story-copy h1{font-size:38px}.beyond-story-copy p{font-size:12px}
 .beyond-journey{display:none}.beyond-login-form-side{padding:42px 34px 112px}
}
@media(max-height:720px) and (min-width:821px){
 .beyond-login-body{padding:10px}.beyond-login-shell{min-height:calc(100vh - 20px);border-radius:22px}
 .beyond-login-story{padding:23px 30px}.beyond-school-brand img{width:48px;height:48px}.beyond-school-brand strong{font-size:16px}.beyond-school-brand span{display:none}.beyond-story-copy{margin:28px 0 18px}.beyond-story-copy h1{font-size:38px}.beyond-story-copy p{font-size:11px;line-height:1.5}
 .beyond-story-foot{padding-top:12px}.beyond-contact-links{margin-top:9px}.beyond-login-form-side{padding:30px 40px 92px}.beyond-login-form-wrap h2{font-size:29px}.beyond-login-form-wrap>p{margin-bottom:18px;font-size:12px}.beyond-login-assurance{margin-top:11px}.beyond-login-form-wrap .privacy-note{margin-top:8px}.beyond-login-form-wrap .login-help{margin-top:8px!important}
 .beyond-product-signature{bottom:12px;padding-top:8px}.beyond-product-logo{width:175px;height:43px}
}

/* Mobile school-arrival login scene: identity first, action next, story in motion. */
.beyond-campus-scene{display:none}
@media(max-width:520px){
 .beyond-login-body{padding:0!important;background:linear-gradient(180deg,color-mix(in srgb,var(--surface-2) 82%,#d9ecff),var(--surface-2))!important}
 .beyond-login-shell{display:block;min-height:100dvh;border:0;border-radius:0;background:transparent!important;box-shadow:none}
 .beyond-login-story{isolation:isolate;min-height:286px;height:286px;padding:16px 16px 0!important;border:0;border-radius:0;background:transparent!important;box-shadow:none!important;overflow:hidden}
 .beyond-login-story::before,.beyond-login-story::after,.beyond-story-orb{display:none!important}
 .beyond-school-brand{position:relative;z-index:8;display:flex!important;width:100%;margin:0;align-items:center;justify-content:center;gap:7px;flex-direction:column;text-align:center}
 .beyond-school-brand img{width:58px!important;height:58px!important;padding:5px!important;border:1px solid color-mix(in srgb,var(--theme-line) 75%,#fff);border-radius:19px!important;background:#fff;box-shadow:0 10px 27px rgba(21,54,94,.16)!important}
 .beyond-school-brand div{display:flex;max-width:min(340px,92vw);align-items:center;flex-direction:column}
 .beyond-school-brand strong{max-width:100%!important;color:var(--text-main)!important;font:800 17px/1.18 var(--heading)!important;white-space:normal!important;text-align:center}
 .beyond-school-brand span{display:-webkit-box!important;max-width:310px!important;margin-top:3px!important;overflow:hidden!important;color:var(--text-muted)!important;font-size:8px!important;line-height:1.35!important;white-space:normal!important;text-align:center;-webkit-box-orient:vertical;-webkit-line-clamp:2}
 .beyond-story-copy,.beyond-capability-grid,.beyond-story-foot{display:none!important}
 .beyond-campus-scene{position:absolute;z-index:1;inset:0;display:block;overflow:hidden;pointer-events:none;background:radial-gradient(circle at 80% 20%,color-mix(in srgb,var(--teal-bright) 14%,transparent),transparent 29%),linear-gradient(180deg,transparent 0 56%,color-mix(in srgb,var(--surface) 34%,transparent) 56% 100%)}
 .beyond-campus-scene::before{content:'';position:absolute;left:-5%;right:-5%;bottom:17px;height:47px;border-radius:50% 50% 0 0/40% 40% 0 0;background:color-mix(in srgb,var(--teal) 14%,#dceacb);box-shadow:0 14px 0 color-mix(in srgb,var(--surface-2) 70%,#d2e4bd)}
 .campus-cloud{position:absolute;width:44px;height:13px;border-radius:999px;background:color-mix(in srgb,var(--surface) 88%,#fff);opacity:.9;animation:campusCloud 12s ease-in-out infinite}.campus-cloud::before,.campus-cloud::after{content:'';position:absolute;bottom:2px;border-radius:50%;background:inherit}.campus-cloud::before{left:8px;width:17px;height:17px}.campus-cloud::after{right:7px;width:12px;height:12px}.cloud-one{left:7%;top:113px}.cloud-two{right:5%;top:139px;transform:scale(.72);animation-delay:-5s}
 .campus-school{position:absolute;left:50%;bottom:43px;width:118px;height:82px;transform:translateX(-50%);border:2px solid color-mix(in srgb,var(--navy) 50%,transparent);border-radius:5px 5px 2px 2px;background:linear-gradient(90deg,color-mix(in srgb,var(--surface) 82%,#f8d79e),color-mix(in srgb,var(--surface) 75%,#ffd38d));box-shadow:0 9px 22px rgba(29,63,91,.12)}
 .campus-roof{position:absolute;left:-9px;top:-28px;width:0;height:0;border-left:68px solid transparent;border-right:68px solid transparent;border-bottom:30px solid color-mix(in srgb,var(--teal) 65%,#3d6ba7)}.campus-flag{position:absolute;z-index:2;left:58px;top:-52px;width:2px;height:27px;background:var(--navy)}.campus-flag::after{content:'';position:absolute;left:2px;top:0;width:17px;height:10px;border-radius:1px 4px 4px 1px;background:linear-gradient(135deg,var(--teal-bright),#ff8b72)}
 .campus-school-name{position:absolute;left:50%;top:8px;transform:translateX(-50%);color:var(--navy);font:900 7px/1 var(--heading);letter-spacing:.13em}.campus-window{position:absolute;top:27px;width:20px;height:22px;border:3px solid color-mix(in srgb,var(--navy) 62%,#fff);border-radius:3px;background:color-mix(in srgb,var(--teal-bright) 22%,#dff5ff)}.window-one{left:15px}.window-two{right:15px}.campus-door{position:absolute;left:50%;bottom:0;width:27px;height:38px;transform:translateX(-50%);border:3px solid color-mix(in srgb,var(--navy) 62%,#fff);border-bottom:0;border-radius:11px 11px 0 0;background:color-mix(in srgb,var(--navy) 74%,#fff)}
 .campus-path{position:absolute;left:50%;bottom:-5px;width:75px;height:57px;transform:translateX(-50%);clip-path:polygon(40% 0,60% 0,100% 100%,0 100%);background:linear-gradient(180deg,color-mix(in srgb,var(--surface-2) 45%,#dbc9af),color-mix(in srgb,var(--surface-2) 65%,#d8c2a2));opacity:.8}
 .campus-tree{position:absolute;bottom:45px;width:8px;height:39px;border-radius:5px;background:#8f755c}.campus-tree::before{content:'';position:absolute;left:50%;top:-19px;width:39px;height:39px;transform:translateX(-50%);border-radius:44% 56% 48% 52%;background:color-mix(in srgb,var(--teal) 56%,#6fbd72);box-shadow:inset -8px -6px rgba(0,0,0,.05)}.tree-one{left:14%}.tree-two{right:12%;transform:scale(.82)}
 .campus-bus{position:absolute;z-index:4;left:-88px;bottom:24px;width:74px;height:34px;border-radius:8px 10px 5px 5px;background:linear-gradient(135deg,#ffc63c,#ff8b3d);box-shadow:0 6px 13px rgba(74,64,39,.18);animation:campusBus 9s cubic-bezier(.45,.04,.55,.96) infinite}.campus-bus::before{content:'';position:absolute;right:-7px;bottom:3px;width:10px;height:16px;border-radius:0 8px 5px 0;background:#ff9f39}.campus-bus span{position:absolute;top:6px;width:14px;height:11px;border-radius:3px;background:#daf5ff;border:2px solid rgba(30,77,113,.28)}.campus-bus span:nth-child(1){left:8px}.campus-bus span:nth-child(2){left:26px}.campus-bus span:nth-child(3){left:44px}.campus-bus i{position:absolute;bottom:-5px;width:13px;height:13px;border:3px solid #33445c;border-radius:50%;background:#eef4fa}.campus-bus i:nth-of-type(1){left:11px}.campus-bus i:nth-of-type(2){right:10px}
 .campus-child{position:absolute;z-index:5;bottom:25px;width:13px;height:30px;animation:campusWalk 3.2s ease-in-out infinite}.campus-child i{position:absolute;left:3px;top:0;width:8px;height:8px;border-radius:50%;background:#8a5c43}.campus-child b{position:absolute;left:1px;top:8px;width:11px;height:14px;border-radius:5px 5px 3px 3px;background:var(--teal)}.campus-child::before,.campus-child::after{content:'';position:absolute;bottom:0;width:3px;height:11px;border-radius:3px;background:var(--navy);transform-origin:top}.campus-child::before{left:3px;transform:rotate(12deg)}.campus-child::after{right:3px;transform:rotate(-12deg)}.child-one{left:26%;animation-delay:-.7s}.child-two{right:24%;transform:scale(.85);animation-delay:-1.8s}.child-two b{background:#f48069}.child-three{right:34%;transform:scale(.72);animation-delay:-2.5s}.child-three b{background:#8d6bd1}
 .beyond-login-form-side{z-index:6;min-height:calc(100dvh - 255px)!important;margin:-30px 10px 10px!important;padding:22px 16px 15px!important;border:1px solid color-mix(in srgb,var(--theme-line) 76%,transparent)!important;border-radius:25px!important;background:color-mix(in srgb,var(--surface) 92%,transparent)!important;box-shadow:0 18px 50px rgba(24,54,89,.14)!important;backdrop-filter:blur(18px)}
 .beyond-login-form-wrap .smart-login-kicker{margin-bottom:8px!important}.beyond-login-form-wrap h2{font-size:24px!important}.beyond-login-form-wrap>p{margin-bottom:17px!important}.beyond-login-form-wrap .login-form .primary-button{margin-top:13px!important}
 @keyframes campusCloud{0%,100%{transform:translateX(0)}50%{transform:translateX(18px)}}
 @keyframes campusBus{0%{transform:translateX(0)}38%,64%{transform:translateX(calc(50vw - 5px))}100%{transform:translateX(calc(100vw + 110px))}}
 @keyframes campusWalk{0%,100%{translate:0 0}50%{translate:3px -2px}}
}
@media(max-width:520px) and (max-height:760px){
 .beyond-login-story{min-height:250px;height:250px}.campus-school{transform:translateX(-50%) scale(.84);transform-origin:bottom}.campus-tree{transform:scale(.78);transform-origin:bottom}.tree-two{transform:scale(.68)}.beyond-login-form-side{margin-top:-32px!important}.beyond-login-form-wrap .privacy-note{display:none!important}
}
@media(prefers-reduced-motion:reduce){.campus-cloud,.campus-bus,.campus-child{animation:none!important}.campus-bus{left:9%}}

/* Extended BeyondMonday professional palette collection. */
.theme-picker-options{max-height:min(430px,60vh);overflow-y:auto;padding:2px 0}.theme-picker-options>button{align-items:center;background:transparent;border:0;border-radius:10px;color:var(--text-main);display:flex;gap:10px;margin-top:3px;padding:9px;text-align:left;width:100%}.theme-picker-options>button:hover,.theme-picker-options>button.active{background:var(--surface-2)}.theme-picker-options>button>span:nth-child(2){flex:1}.theme-picker-options>button strong,.theme-picker-options>button small{display:block}.theme-picker-options>button strong{font-size:11px}.theme-picker-options>button small{color:var(--text-muted);font-size:9px!important;margin-top:1px}.theme-picker-options>button.active .theme-option-check{opacity:1}
.theme-menu-palette.ocean i:nth-child(1){background:#103d5b}.theme-menu-palette.ocean i:nth-child(2){background:#087ea4}.theme-menu-palette.ocean i:nth-child(3){background:#edf7fb}.theme-menu-palette.rosewood i:nth-child(1){background:#54233a}.theme-menu-palette.rosewood i:nth-child(2){background:#b7486c}.theme-menu-palette.rosewood i:nth-child(3){background:#fff5f6}.theme-menu-palette.sandstone i:nth-child(1){background:#52362d}.theme-menu-palette.sandstone i:nth-child(2){background:#c2673e}.theme-menu-palette.sandstone i:nth-child(3){background:#f8f1e7}.theme-menu-palette.graphite i:nth-child(1){background:#111318}.theme-menu-palette.graphite i:nth-child(2){background:#c89b3c}.theme-menu-palette.graphite i:nth-child(3){background:#f4f1e8}
.appearance-preview.ocean{background:#edf7fb}.appearance-preview.ocean .preview-sidebar{background:#103d5b}.appearance-preview.ocean .preview-surface{background:#fff}.appearance-preview.ocean .preview-accent{background:#20b7cc}.appearance-preview.rosewood{background:#fff5f6}.appearance-preview.rosewood .preview-sidebar{background:#54233a}.appearance-preview.rosewood .preview-surface{background:#fffdfd}.appearance-preview.rosewood .preview-accent{background:#df6f82}.appearance-preview.sandstone{background:#f8f1e7}.appearance-preview.sandstone .preview-sidebar{background:#52362d}.appearance-preview.sandstone .preview-surface{background:#fffdf9}.appearance-preview.sandstone .preview-accent{background:#dc7b48}.appearance-preview.graphite{background:#111318}.appearance-preview.graphite .preview-sidebar{background:#090a0d}.appearance-preview.graphite .preview-surface{background:#1a1d23}.appearance-preview.graphite .preview-accent{background:#e7c56e}
.palette-swatches.ocean i:nth-child(1){background:#103d5b}.palette-swatches.ocean i:nth-child(2){background:#087ea4}.palette-swatches.ocean i:nth-child(3){background:#20b7cc}.palette-swatches.ocean i:nth-child(4){background:#edf7fb}.palette-swatches.ocean i:nth-child(5){background:#5367c7}.palette-swatches.rosewood i:nth-child(1){background:#54233a}.palette-swatches.rosewood i:nth-child(2){background:#9d365d}.palette-swatches.rosewood i:nth-child(3){background:#df6f82}.palette-swatches.rosewood i:nth-child(4){background:#fff5f6}.palette-swatches.rosewood i:nth-child(5){background:#d7a84b}.palette-swatches.sandstone i:nth-child(1){background:#52362d}.palette-swatches.sandstone i:nth-child(2){background:#a65332}.palette-swatches.sandstone i:nth-child(3){background:#dc7b48}.palette-swatches.sandstone i:nth-child(4){background:#f8f1e7}.palette-swatches.sandstone i:nth-child(5){background:#a86b0f}.palette-swatches.graphite i:nth-child(1){background:#111318}.palette-swatches.graphite i:nth-child(2){background:#1a1d23}.palette-swatches.graphite i:nth-child(3){background:#c89b3c}.palette-swatches.graphite i:nth-child(4){background:#e7c56e}.palette-swatches.graphite i:nth-child(5){background:#f4f1e8}
html[data-theme="ocean"] :is(.sidebar,.login-story,.school-brand-story,.staff-login-story,.order-summary,.recon-commandbar,.recon-modal .modal-header,.finance-detail-modal .modal-header,.student-menu-head,.beyond-login-story){background:linear-gradient(145deg,#0b354f,#075f7a 58%,#109bb0)!important}html[data-theme="rosewood"] :is(.sidebar,.login-story,.school-brand-story,.staff-login-story,.order-summary,.recon-commandbar,.recon-modal .modal-header,.finance-detail-modal .modal-header,.student-menu-head,.beyond-login-story){background:linear-gradient(145deg,#462033,#762d4b 58%,#b7486c)!important}html[data-theme="sandstone"] :is(.sidebar,.login-story,.school-brand-story,.staff-login-story,.order-summary,.recon-commandbar,.recon-modal .modal-header,.finance-detail-modal .modal-header,.student-menu-head,.beyond-login-story){background:linear-gradient(145deg,#3f2c27,#6d4132 58%,#a95837)!important}html[data-theme="graphite"] :is(.sidebar,.login-story,.school-brand-story,.staff-login-story,.order-summary,.recon-commandbar,.recon-modal .modal-header,.finance-detail-modal .modal-header,.student-menu-head,.beyond-login-story){background:linear-gradient(145deg,#090a0d,#191b20 58%,#3c3326)!important}
html[data-theme="ocean"] :is(.reminder-hero,.finance-pulse,.waterfall-result,.recon-batch-board){background:linear-gradient(118deg,#103d5b,#087ea4)!important}html[data-theme="rosewood"] :is(.reminder-hero,.finance-pulse,.waterfall-result,.recon-batch-board){background:linear-gradient(118deg,#54233a,#ad4569)!important}html[data-theme="sandstone"] :is(.reminder-hero,.finance-pulse,.waterfall-result,.recon-batch-board){background:linear-gradient(118deg,#52362d,#b9653f)!important}html[data-theme="graphite"] :is(.reminder-hero,.finance-pulse,.waterfall-result,.recon-batch-board){background:linear-gradient(118deg,#17191e,#4b402e)!important}
html[data-theme] .beyond-login-form-side{background:linear-gradient(155deg,var(--surface),var(--surface-2))!important}html[data-theme] .beyond-login-form-wrap h2{color:var(--text-main)}html[data-theme] .beyond-login-form-wrap>p{color:var(--text-muted)!important}html[data-theme] .beyond-login-form-wrap .login-form label{color:var(--text-main)}html[data-theme] .beyond-login-form-wrap .mobile-field,html[data-theme] .beyond-login-assurance span,html[data-theme] .beyond-login-form-wrap .privacy-note{background:var(--surface)!important;border-color:var(--theme-line)!important}html[data-theme] .beyond-login-form-wrap .mobile-field input{color:var(--text-main)}html[data-theme] .beyond-login-form-wrap .mobile-field>span,html[data-theme] .beyond-login-assurance i,html[data-theme] .beyond-login-form-wrap .privacy-note i,html[data-theme] .beyond-login-form-wrap .login-help a{color:var(--teal)}html[data-theme] .beyond-login-form-wrap .login-form .primary-button{background:linear-gradient(100deg,var(--navy),var(--teal) 66%,var(--teal-bright));box-shadow:0 12px 25px color-mix(in srgb,var(--teal) 25%,transparent)}html[data-theme] .beyond-product-signature{border-color:var(--theme-line)}html[data-theme] .beyond-product-signature>span{color:var(--text-muted)}html[data-theme] .beyond-product-signature>span a{color:var(--teal)}
html[data-theme="graphite"] :is(.provider-card.is-ready,.student-banner,.transaction-filterbar,.admin-filterbar,.accounting-ready,.detail-summary){background:linear-gradient(120deg,#24221c,#211f1b)!important}html[data-theme="graphite"] .modern-select-option:hover,html[data-theme="graphite"] .modern-select-option.selected{background:#393124;color:#f0cf7c}
html[data-theme="graphite"] .primary-button{color:#1b1710}html[data-theme="graphite"] .beyond-login-form-wrap .login-form .primary-button{color:#fff;background:linear-gradient(100deg,#28231a,#765d28 62%,#b78931)}
@media(min-width:1101px) and (max-width:1450px){.appearance-theme-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Final mobile composition: a full-screen living campus with a centred sign-in card. */
@media(max-width:520px){
 html,body.beyond-login-body{min-height:100%;background:color-mix(in srgb,var(--surface-2) 75%,#ddecf8)!important}
 .beyond-login-shell{position:relative;display:grid!important;min-height:100dvh;place-items:center;overflow:hidden}
 html[data-theme] .beyond-login-story,.beyond-login-story{position:absolute!important;z-index:1;inset:0!important;width:100%;height:100%!important;min-height:100dvh!important;padding:16px 16px 0!important;background:transparent!important}
 .beyond-school-brand{position:absolute!important;top:15px;left:50%;width:calc(100% - 32px);transform:translateX(-50%)}
 .beyond-school-brand img{width:54px!important;height:54px!important;border-radius:18px!important}.beyond-school-brand strong{font-size:16px!important}.beyond-school-brand span{max-width:285px!important;font-size:7.5px!important}
 .beyond-campus-scene{height:100%;background:radial-gradient(circle at 82% 11%,rgba(255,220,115,.42),transparent 14%),linear-gradient(180deg,color-mix(in srgb,var(--surface-2) 68%,#cde8ff) 0 50%,color-mix(in srgb,var(--surface-2) 60%,#dfeeca) 50% 100%)}
 .beyond-campus-scene::after{content:'';position:absolute;left:-15%;right:-15%;bottom:-10%;height:39%;border-radius:50% 50% 0 0/20% 20% 0 0;background:repeating-linear-gradient(92deg,transparent 0 31px,rgba(255,255,255,.12) 32px 34px),color-mix(in srgb,var(--teal) 12%,#b9dcae)}
 .beyond-campus-scene::before{z-index:2;left:-12%;right:-12%;bottom:4%;height:70px;border-radius:50%;background:color-mix(in srgb,var(--surface-2) 56%,#b8d59d);box-shadow:0 24px 0 color-mix(in srgb,var(--teal) 8%,#a9cf98)}
 .cloud-one{top:16%;left:7%;transform:scale(1.25)}.cloud-two{top:22%;right:4%;transform:scale(.95)}
 .campus-school{z-index:3;left:auto;right:50px;bottom:12%;width:170px;height:119px;transform:none;border-width:3px;border-radius:7px;background:linear-gradient(90deg,color-mix(in srgb,var(--surface) 82%,#f4d99f),color-mix(in srgb,var(--surface) 72%,#ffd080))}
 .campus-school::before,.campus-school::after{content:'';position:absolute;bottom:-3px;width:56px;height:82px;border:3px solid color-mix(in srgb,var(--navy) 45%,transparent);background:inherit}.campus-school::before{left:-52px;border-radius:6px 0 0 3px}.campus-school::after{right:-52px;border-radius:0 6px 3px 0}
 .campus-roof{left:-13px;top:-40px;border-left-width:98px;border-right-width:98px;border-bottom-width:43px}.campus-flag{left:84px;top:-75px;height:37px}.campus-flag::after{width:25px;height:13px}.campus-school-name{top:11px;font-size:9px}.campus-window{top:38px;width:28px;height:31px}.window-one{left:21px}.window-two{right:21px}.campus-door{width:39px;height:55px}.campus-path{z-index:3;left:auto;right:31px;bottom:-1%;width:116px;height:150px;transform:none}
 .campus-tree{z-index:3;bottom:12%;width:10px;height:53px}.campus-tree::before{top:-27px;width:54px;height:54px}.tree-one{left:5%}.tree-two{right:47%;transform:scale(.88)}.tree-three{display:block;left:28%;transform:scale(.72)}
 .campus-gate{position:absolute;z-index:5;right:24%;bottom:9%;width:93px;height:56px;border-left:7px solid color-mix(in srgb,var(--navy) 65%,#56697b);border-right:7px solid color-mix(in srgb,var(--navy) 65%,#56697b)}.campus-gate::before{content:'';position:absolute;left:-13px;right:-13px;top:0;height:9px;border-radius:4px;background:color-mix(in srgb,var(--navy) 72%,#fff)}.campus-gate b{position:absolute;left:50%;top:-5px;width:78px;transform:translateX(-50%);color:#fff;font:800 5px/9px var(--heading);letter-spacing:.1em;text-align:center}.campus-gate span{position:absolute;bottom:0;width:50%;height:39px;border:2px solid color-mix(in srgb,var(--navy) 45%,#7d8d95);background:repeating-linear-gradient(90deg,transparent 0 7px,currentColor 8px 9px);color:rgba(60,91,111,.45)}.campus-gate span:first-child{left:0}.campus-gate span:nth-child(2){right:0}
 .campus-playground{position:absolute;z-index:3;left:3%;bottom:6%;width:92px;height:46px;border:2px solid rgba(255,255,255,.56);border-radius:50%;transform:skewX(-10deg);background:color-mix(in srgb,var(--teal) 18%,#adc999)}.campus-playground::before,.campus-playground::after{content:'';position:absolute;left:50%;background:rgba(255,255,255,.55)}.campus-playground::before{top:0;bottom:0;width:2px}.campus-playground::after{top:50%;left:0;right:0;height:2px}.campus-playground i{position:absolute;right:13px;top:9px;width:9px;height:9px;border-radius:50%;background:#ff8a59;animation:campusBall 2.3s ease-in-out infinite}
 .campus-bus{z-index:6;bottom:5%;width:88px;height:40px;animation-duration:11s}.campus-bus span{top:7px;width:17px;height:13px}.campus-bus span:nth-child(1){left:8px}.campus-bus span:nth-child(2){left:29px}.campus-bus span:nth-child(3){left:50px}
 .campus-child{z-index:7;bottom:10%}.child-one{left:17%}.child-two{right:18%}.child-three{right:31%}.child-four{display:block;left:41%;transform:scale(.82);animation-delay:-1.2s}.child-four b{background:#e1a42d}
 .campus-bird{position:absolute;z-index:2;top:28%;width:15px;height:7px;border-top:2px solid color-mix(in srgb,var(--navy) 55%,transparent);border-radius:50%;animation:campusBird 7s ease-in-out infinite}.campus-bird::after{content:'';position:absolute;left:12px;top:-2px;width:15px;height:7px;border-top:2px solid color-mix(in srgb,var(--navy) 55%,transparent);border-radius:50%;transform:scaleX(-1)}.bird-one{left:12%}.bird-two{left:22%;top:32%;transform:scale(.65);animation-delay:-3s}
 html[data-theme] .beyond-login-form-side,.beyond-login-form-side{position:relative!important;z-index:10;display:flex!important;width:min(390px,calc(100vw - 28px));min-height:0!important;margin:25px auto 0!important;padding:0!important;border:0!important;border-radius:0!important;align-items:center;justify-content:center;background:transparent!important;box-shadow:none!important;backdrop-filter:none}
 .beyond-login-form-wrap{width:100%;max-width:none!important;padding:19px 17px 17px;border:1px solid color-mix(in srgb,var(--theme-line) 75%,rgba(255,255,255,.55));border-radius:24px;background:color-mix(in srgb,var(--surface) 89%,transparent);box-shadow:0 25px 65px rgba(18,48,83,.22);backdrop-filter:blur(18px) saturate(1.15)}
 .beyond-login-form-wrap .smart-login-kicker{margin-bottom:7px!important}.beyond-login-form-wrap h2{font-size:23px!important}.beyond-login-form-wrap>p{margin-bottom:15px!important}.beyond-login-form-wrap .mobile-field{min-height:51px!important}.beyond-login-form-wrap .login-form .primary-button{min-height:49px!important}.beyond-login-assurance{margin-top:12px!important}.beyond-login-form-wrap .privacy-note{display:none!important}.beyond-login-form-wrap .login-help{margin-top:10px!important}
 .beyond-product-signature{position:fixed!important;z-index:12;left:50%!important;right:auto!important;bottom:13px!important;width:max-content!important;max-width:calc(100vw - 28px);margin:0!important;padding:5px 9px!important;border:1px solid color-mix(in srgb,var(--theme-line) 65%,transparent)!important;border-radius:13px;background:color-mix(in srgb,var(--surface) 80%,transparent);box-shadow:0 8px 24px rgba(20,49,78,.11);transform:translateX(-50%);backdrop-filter:blur(12px)}
 .beyond-product-signature .beyond-product-logo{width:116px;height:30px}.beyond-product-signature>span{font-size:6px!important}
 @keyframes campusBall{0%,100%{transform:translate(0,0)}50%{transform:translate(-18px,-13px)}}
 @keyframes campusBird{0%,100%{translate:0 0}50%{translate:35px -8px}}
}
@media(max-width:520px) and (max-height:720px){
 .beyond-school-brand{top:8px}.beyond-school-brand img{width:46px!important;height:46px!important}.beyond-school-brand strong{font-size:14px!important}.beyond-login-form-side{margin-top:30px!important}.beyond-login-form-wrap{padding:15px}.beyond-login-assurance{display:none!important}.beyond-product-signature{bottom:8px!important}
}

/* Centred login treatment shared by every viewport. */
.beyond-login-form-wrap{text-align:center}
.beyond-login-form-wrap .smart-login-kicker{justify-content:center;margin-inline:auto}
.beyond-login-form-wrap>p{margin-left:auto;margin-right:auto;text-align:center}
.beyond-login-form-wrap .smart-identity-form>label{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.beyond-login-form-wrap .login-help{text-align:center}
.beyond-login-form-wrap .privacy-note{text-align:left}
.campus-security-check,.campus-pickup-parent{display:none}

@media(min-width:521px){
 .beyond-login-body{padding:0!important;background:color-mix(in srgb,var(--surface-2) 74%,#dcecf8)!important}
 .beyond-login-shell{position:relative;display:grid!important;max-width:none!important;min-height:100dvh!important;margin:0!important;border:0!important;border-radius:0!important;place-items:center;overflow:hidden;background:transparent!important;box-shadow:none!important}
 html[data-theme] .beyond-login-story,.beyond-login-story{position:absolute!important;z-index:1;inset:0!important;display:block;width:100%;height:100%;padding:0!important;background:transparent!important}
 .beyond-login-story::before,.beyond-login-story::after,.beyond-story-orb,.beyond-story-copy,.beyond-capability-grid,.beyond-story-foot{display:none!important}
 .beyond-school-brand{position:absolute!important;z-index:8;top:24px;left:50%;display:flex!important;width:min(620px,calc(100% - 40px));align-items:center;justify-content:center;gap:8px;transform:translateX(-50%);flex-direction:column;text-align:center}
 .beyond-school-brand img{width:66px!important;height:66px!important;padding:6px!important;border:1px solid color-mix(in srgb,var(--theme-line) 70%,#fff);border-radius:21px!important;background:#fff;box-shadow:0 12px 30px rgba(18,51,86,.16)!important}.beyond-school-brand div{display:flex;align-items:center;flex-direction:column}.beyond-school-brand strong{color:var(--text-main)!important;font:800 21px/1.2 var(--heading)!important;white-space:normal!important}.beyond-school-brand span{display:block!important;max-width:520px!important;margin-top:3px!important;color:var(--text-muted)!important;font-size:10px!important;white-space:normal!important;text-align:center}
 .beyond-campus-scene{position:absolute;z-index:1;inset:0;display:block;overflow:hidden;background:radial-gradient(circle at 78% 9%,rgba(255,222,118,.42),transparent 15%),linear-gradient(180deg,color-mix(in srgb,var(--surface-2) 65%,#cde8ff) 0 53%,color-mix(in srgb,var(--surface-2) 58%,#dcebc8) 53% 100%)}
 .beyond-campus-scene::before{content:'';position:absolute;z-index:2;left:-5%;right:-5%;bottom:-5%;height:36%;border-radius:50% 50% 0 0/24% 24% 0 0;background:repeating-linear-gradient(91deg,transparent 0 60px,rgba(255,255,255,.1) 62px 65px),color-mix(in srgb,var(--teal) 12%,#b9dcae)}
 .campus-cloud{position:absolute;width:82px;height:24px;border-radius:999px;background:color-mix(in srgb,var(--surface) 88%,#fff);opacity:.88;animation:campusCloud 12s ease-in-out infinite}.campus-cloud::before,.campus-cloud::after{content:'';position:absolute;bottom:3px;border-radius:50%;background:inherit}.campus-cloud::before{left:14px;width:31px;height:31px}.campus-cloud::after{right:12px;width:23px;height:23px}.cloud-one{left:8%;top:20%}.cloud-two{right:7%;top:27%;transform:scale(.8);animation-delay:-5s}
 .campus-school{position:absolute;z-index:3;right:5%;bottom:8%;width:270px;height:188px;border:4px solid color-mix(in srgb,var(--navy) 45%,transparent);border-radius:10px;background:linear-gradient(90deg,color-mix(in srgb,var(--surface) 82%,#f4d99f),color-mix(in srgb,var(--surface) 72%,#ffd080));box-shadow:0 15px 35px rgba(30,65,95,.13)}.campus-school::before,.campus-school::after{content:'';position:absolute;bottom:-4px;width:90px;height:130px;border:4px solid color-mix(in srgb,var(--navy) 42%,transparent);background:inherit}.campus-school::before{left:-86px}.campus-school::after{right:-86px}.campus-roof{position:absolute;left:-19px;top:-65px;width:0;height:0;border-left:154px solid transparent;border-right:154px solid transparent;border-bottom:68px solid color-mix(in srgb,var(--teal) 65%,#3d6ba7)}.campus-flag{position:absolute;z-index:2;left:133px;top:-118px;width:3px;height:56px;background:var(--navy)}.campus-flag::after{content:'';position:absolute;left:3px;width:39px;height:20px;border-radius:2px 6px 6px 2px;background:linear-gradient(135deg,var(--teal-bright),#ff8b72)}.campus-school-name{position:absolute;left:50%;top:18px;transform:translateX(-50%);color:var(--navy);font:900 14px/1 var(--heading);letter-spacing:.15em}.campus-window{position:absolute;top:60px;width:43px;height:49px;border:5px solid color-mix(in srgb,var(--navy) 60%,#fff);border-radius:5px;background:#cdeeff}.window-one{left:33px}.window-two{right:33px}.campus-door{position:absolute;left:50%;bottom:0;width:61px;height:87px;transform:translateX(-50%);border:5px solid color-mix(in srgb,var(--navy) 60%,#fff);border-bottom:0;border-radius:21px 21px 0 0;background:color-mix(in srgb,var(--navy) 72%,#fff)}
 .campus-path{position:absolute;z-index:3;right:91px;bottom:-6%;width:180px;height:210px;clip-path:polygon(39% 0,61% 0,100% 100%,0 100%);background:rgba(232,218,194,.72)}
 .campus-tree{position:absolute;z-index:3;bottom:9%;width:14px;height:76px;border-radius:8px;background:#8f755c}.campus-tree::before{content:'';position:absolute;left:50%;top:-40px;width:78px;height:78px;transform:translateX(-50%);border-radius:46%;background:color-mix(in srgb,var(--teal) 53%,#6fbd72)}.tree-one{left:7%}.tree-two{right:40%;transform:scale(.82)}.tree-three{left:26%;transform:scale(.72)}
 .campus-gate{position:absolute;z-index:5;right:24%;bottom:5%;width:145px;height:82px;border-left:9px solid var(--navy);border-right:9px solid var(--navy)}.campus-gate::before{content:'';position:absolute;left:-17px;right:-17px;top:0;height:13px;border-radius:5px;background:var(--navy)}.campus-gate b{position:absolute;left:50%;top:-1px;width:130px;transform:translateX(-50%);color:#fff;font:800 7px/13px var(--heading);letter-spacing:.12em;text-align:center}.campus-gate span{position:absolute;bottom:0;width:50%;height:64px;border:2px solid #667b8a;background:repeating-linear-gradient(90deg,transparent 0 10px,rgba(70,97,112,.55) 11px 13px)}.campus-gate span:first-child{left:0}.campus-gate span:nth-child(2){right:0}
 .campus-playground{position:absolute;z-index:3;left:4%;bottom:3%;width:190px;height:90px;border:3px solid rgba(255,255,255,.55);border-radius:50%;background:color-mix(in srgb,var(--teal) 18%,#adc999)}.campus-playground::before,.campus-playground::after{content:'';position:absolute;background:rgba(255,255,255,.5)}.campus-playground::before{left:50%;top:0;bottom:0;width:3px}.campus-playground::after{left:0;right:0;top:50%;height:3px}.campus-playground i{position:absolute;right:28px;top:18px;width:15px;height:15px;border-radius:50%;background:#ff8a59;animation:campusBall 2.3s ease-in-out infinite}
 .campus-bus{position:absolute;z-index:6;left:-160px;bottom:4%;width:140px;height:64px;border-radius:13px;background:linear-gradient(135deg,#ffc63c,#ff8b3d);box-shadow:0 8px 18px rgba(74,64,39,.18);animation:campusBusWide 12s ease-in-out infinite}.campus-bus::before{content:'';position:absolute;right:-12px;bottom:5px;width:17px;height:27px;border-radius:0 12px 8px 0;background:#ff9f39}.campus-bus span{position:absolute;top:11px;width:27px;height:21px;border:3px solid rgba(30,77,113,.25);border-radius:5px;background:#daf5ff}.campus-bus span:nth-child(1){left:12px}.campus-bus span:nth-child(2){left:45px}.campus-bus span:nth-child(3){left:78px}.campus-bus i{position:absolute;bottom:-10px;width:23px;height:23px;border:5px solid #33445c;border-radius:50%;background:#eef4fa}.campus-bus i:nth-of-type(1){left:19px}.campus-bus i:nth-of-type(2){right:18px}
 .campus-child{position:absolute;z-index:7;bottom:8%;width:20px;height:48px;animation:campusWalk 3.2s ease-in-out infinite}.campus-child i{position:absolute;left:4px;top:0;width:13px;height:13px;border-radius:50%;background:#8a5c43}.campus-child b{position:absolute;left:1px;top:13px;width:18px;height:23px;border-radius:7px 7px 4px 4px;background:var(--teal)}.campus-child::before,.campus-child::after{content:'';position:absolute;bottom:0;width:5px;height:17px;border-radius:4px;background:var(--navy)}.campus-child::before{left:5px;transform:rotate(12deg)}.campus-child::after{right:4px;transform:rotate(-12deg)}.child-one{left:18%}.child-two{right:18%;transform:scale(.87)}.child-two b{background:#f48069}.child-three{right:32%;transform:scale(.75)}.child-three b{background:#8d6bd1}.child-four{left:39%;transform:scale(.82)}.child-four b{background:#dfa129}
 .campus-bird{position:absolute;top:29%;width:22px;height:9px;border-top:3px solid color-mix(in srgb,var(--navy) 50%,transparent);border-radius:50%;animation:campusBird 7s ease-in-out infinite}.campus-bird::after{content:'';position:absolute;left:18px;top:-3px;width:22px;height:9px;border-top:3px solid color-mix(in srgb,var(--navy) 50%,transparent);border-radius:50%;transform:scaleX(-1)}.bird-one{left:13%}.bird-two{left:22%;top:34%;transform:scale(.7)}
 html[data-theme] .beyond-login-form-side,.beyond-login-form-side{position:relative!important;z-index:10;display:flex!important;width:min(470px,calc(100vw - 42px));min-height:0!important;margin:34px auto 0!important;padding:0!important;align-items:center;justify-content:center;background:transparent!important;box-shadow:none!important}
 .beyond-login-form-wrap{width:100%;max-width:none!important;padding:28px 30px 24px;border:1px solid color-mix(in srgb,var(--theme-line) 72%,rgba(255,255,255,.6));border-radius:28px;background:color-mix(in srgb,var(--surface) 82%,transparent);box-shadow:0 28px 80px rgba(16,47,83,.23);backdrop-filter:blur(22px) saturate(1.2)}
 .beyond-login-form-wrap h2{font-size:31px}.beyond-login-form-wrap .login-form{text-align:left}.beyond-login-form-wrap .smart-identity-form .mobile-field{margin-top:0}.beyond-login-form-wrap .privacy-note{display:none!important}
 .beyond-product-signature{position:fixed!important;z-index:12;left:50%!important;right:auto!important;bottom:16px!important;width:max-content!important;margin:0!important;padding:6px 10px!important;border:1px solid color-mix(in srgb,var(--theme-line) 65%,transparent)!important;border-radius:14px;background:color-mix(in srgb,var(--surface) 80%,transparent);transform:translateX(-50%);backdrop-filter:blur(12px)}
 @keyframes campusBusWide{0%{transform:translateX(0)}38%,64%{transform:translateX(43vw)}100%{transform:translateX(calc(100vw + 200px))}}
}

/* The campus and sign-in card share one full-viewport grid layer. */
.beyond-login-shell{grid-template-columns:minmax(0,1fr)!important;grid-template-rows:minmax(100dvh,auto)!important}
.beyond-login-shell>.beyond-login-story{grid-column:1!important;grid-row:1!important}
.beyond-login-shell>.beyond-login-form-side{grid-column:1!important;grid-row:1!important;justify-self:center!important;align-self:center!important;left:auto!important;right:auto!important}

/* Safety story within the mobile campus: arrival, QR verification and pickup. */
@media(max-width:520px){
 .campus-school{border-color:color-mix(in srgb,var(--navy) 32%,#91a6b8);border-radius:3px;background:linear-gradient(105deg,#edf5fa 0 28%,#d9eaf2 28% 31%,#f9fbfc 31% 66%,#d9eaf2 66% 69%,#eaf3f7 69%);box-shadow:0 14px 34px rgba(28,65,94,.15)}
 .campus-school::before,.campus-school::after{border-color:color-mix(in srgb,var(--navy) 27%,#a2b3bf);background:linear-gradient(135deg,#eef5f8,#dce9ef)}
 .campus-roof{left:-10px;right:-10px;top:-20px;width:auto;height:22px;border:0;border-radius:4px 4px 1px 1px;background:linear-gradient(90deg,var(--navy),color-mix(in srgb,var(--teal) 75%,var(--navy)));box-shadow:0 5px 0 rgba(255,255,255,.62)}
 .campus-flag{left:84px;top:-57px}.campus-school-name{top:9px;padding:3px 8px;border-radius:999px;color:#fff;background:color-mix(in srgb,var(--navy) 78%,transparent);font-size:7px}.campus-window{top:34px;height:36px;border:2px solid color-mix(in srgb,var(--navy) 45%,#fff);border-radius:2px;background:linear-gradient(145deg,#a5dcf0,#e8f8ff 52%,#9bc8dc)}.campus-window::after{content:'';position:absolute;left:50%;top:0;bottom:0;width:1px;background:rgba(255,255,255,.72)}.campus-door{width:43px;height:66px;border-width:3px;border-radius:5px 5px 0 0;background:linear-gradient(90deg,#8ebfd2 0 48%,#e9f8ff 49% 51%,#78a9c1 52%)}
 .campus-gate{right:22%;bottom:8%;width:86px;height:52px}.campus-gate::before{left:-8px;right:-8px;height:7px;background:linear-gradient(90deg,var(--navy),var(--teal))}.campus-gate b{display:none!important}.campus-gate span{height:42px;background:repeating-linear-gradient(90deg,transparent 0 7px,currentColor 8px 9px);color:rgba(53,84,103,.4)}
 .campus-security-check{position:absolute;z-index:9;right:42%;bottom:7.3%;display:block;width:72px;height:64px}
 .security-officer{position:absolute;left:0;bottom:0;width:17px;height:42px}.security-officer i,.scanning-student i,.campus-pickup-parent>i{position:absolute;left:4px;top:0;width:10px;height:10px;border-radius:50%;background:#865c45}.security-officer b{position:absolute;left:1px;top:10px;width:16px;height:22px;border-radius:5px 5px 3px 3px;background:linear-gradient(90deg,#f5f7f9 0 58%,#243f68 59%)}.security-officer::before,.security-officer::after,.scanning-student::before,.scanning-student::after,.campus-pickup-parent::before,.campus-pickup-parent::after{content:'';position:absolute;bottom:0;width:4px;height:13px;border-radius:3px;background:var(--navy)}.security-officer::before{left:3px}.security-officer::after{right:2px}
 .campus-qr-reader{position:absolute;left:22px;bottom:7px;display:grid;width:25px;height:31px;border:2px solid color-mix(in srgb,var(--navy) 55%,#fff);border-radius:5px;place-items:center;color:var(--navy);background:#fff;box-shadow:0 5px 12px rgba(20,54,82,.16)}.campus-qr-reader i{font-size:14px}.campus-qr-reader::after{content:'';position:absolute;left:5px;right:5px;bottom:3px;height:2px;border-radius:2px;background:#35d68a;box-shadow:0 0 7px #35d68a}
 .campus-scan-beam{position:absolute;left:44px;bottom:21px;width:18px;height:2px;transform-origin:left;background:linear-gradient(90deg,#36da8c,transparent);box-shadow:0 0 8px #36da8c;animation:campusScan 1.8s ease-in-out infinite}
 .scanning-student{position:absolute;right:0;bottom:0;width:15px;height:35px}.scanning-student i{left:3px;width:9px;height:9px}.scanning-student b{position:absolute;left:1px;top:9px;width:13px;height:17px;border-radius:5px;background:#657fdb}.scanning-student b::after{content:'';position:absolute;right:-4px;top:2px;width:6px;height:12px;border-radius:3px;background:#f2aa3a}.scanning-student::before{left:3px;height:10px}.scanning-student::after{right:2px;height:10px}
 .campus-pickup-parent{position:absolute;z-index:9;left:10%;bottom:8%;display:block;width:57px;height:52px}.campus-pickup-parent>i{left:4px;width:11px;height:11px}.campus-pickup-parent>b{position:absolute;left:0;top:11px;width:19px;height:25px;border-radius:6px;background:#d75e78}.campus-pickup-parent::before{left:3px;height:15px}.campus-pickup-parent::after{left:13px;height:15px}.campus-pickup-parent em{position:absolute;left:22px;top:8px;display:grid;width:21px;height:27px;border:2px solid #fff;border-radius:4px;place-items:center;color:#142f5b;background:#fff;box-shadow:0 0 0 2px #2f72d9,0 0 12px rgba(47,114,217,.34);animation:campusQrGlow 1.8s ease-in-out infinite}.campus-pickup-parent em i{font-size:13px}.campus-pickup-parent span{position:absolute;right:0;bottom:3px;width:10px;height:27px}.campus-pickup-parent span::before{content:'';position:absolute;top:0;width:9px;height:9px;border-radius:50%;background:#875d44}.campus-pickup-parent span::after{content:'';position:absolute;top:9px;width:10px;height:17px;border-radius:4px;background:#e4ab31}
 .campus-child b::after{content:'';position:absolute;right:-4px;top:3px;width:6px;height:12px;border-radius:3px;background:#f1ab35}
 .beyond-product-signature>span{display:none!important}.beyond-product-signature{padding:5px 8px!important}.beyond-product-signature .beyond-product-logo{width:154px!important;height:39px!important;border-radius:9px}
 @keyframes campusScan{0%,100%{transform:rotate(-9deg) scaleX(.55);opacity:.45}50%{transform:rotate(9deg) scaleX(1);opacity:1}}
 @keyframes campusQrGlow{0%,100%{transform:scale(.94)}50%{transform:scale(1.05)}}
}

@media(min-width:521px){
 .campus-security-check{position:absolute;z-index:9;right:31%;bottom:4%;display:block;width:92px;height:82px;transform:scale(1.2);transform-origin:bottom}.campus-pickup-parent{position:absolute;z-index:9;left:19%;bottom:6%;display:block;width:57px;height:52px;transform:scale(1.3);transform-origin:bottom}
 .security-officer,.scanning-student,.campus-qr-reader,.campus-scan-beam,.campus-pickup-parent>*{position:absolute}.security-officer{left:0;bottom:0;width:17px;height:42px}.security-officer i,.scanning-student i,.campus-pickup-parent>i{left:4px;top:0;width:10px;height:10px;border-radius:50%;background:#865c45}.security-officer b{left:1px;top:10px;width:16px;height:22px;border-radius:5px;background:linear-gradient(90deg,#fff 0 58%,#243f68 59%)}.campus-qr-reader{left:24px;bottom:8px;display:grid;width:27px;height:34px;border:2px solid #45627f;border-radius:5px;place-items:center;color:var(--navy);background:#fff}.campus-scan-beam{left:49px;bottom:23px;width:20px;height:2px;background:linear-gradient(90deg,#36da8c,transparent);animation:campusScan 1.8s ease-in-out infinite}.scanning-student{right:10px;bottom:0;width:15px;height:35px}.scanning-student i{width:9px;height:9px}.scanning-student b{left:1px;top:9px;width:13px;height:17px;border-radius:4px;background:#657fdb}.campus-pickup-parent>i{width:11px;height:11px}.campus-pickup-parent>b{left:0;top:11px;width:19px;height:25px;border-radius:6px;background:#d75e78}.campus-pickup-parent em{left:23px;top:7px;display:grid;width:22px;height:28px;border:2px solid #2f72d9;border-radius:4px;place-items:center;color:#142f5b;background:#fff;animation:campusQrGlow 1.8s ease-in-out infinite}.campus-pickup-parent span{right:0;bottom:2px;width:10px;height:27px}.campus-pickup-parent span::before{content:'';position:absolute;top:0;width:9px;height:9px;border-radius:50%;background:#875d44}.campus-pickup-parent span::after{content:'';position:absolute;top:9px;width:10px;height:17px;border-radius:4px;background:#e4ab31}
.campus-gate b{display:none!important}
}
.platform-delivery-summary{display:grid;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:12px;margin:0 0 14px;padding:13px;border:1px solid color-mix(in srgb,var(--accent,#176ac1) 20%,var(--line,#dce5ed));border-radius:16px;background:color-mix(in srgb,var(--accent,#176ac1) 5%,var(--surface,#fff))}.platform-delivery-summary>i{display:grid;width:42px;height:42px;place-items:center;border-radius:13px;color:#fff;background:var(--accent,#176ac1);font-size:18px}.platform-delivery-summary>div:nth-child(2){display:flex;flex-direction:column}.platform-delivery-summary strong{font-size:13px}.platform-delivery-summary span{color:var(--muted,#6d7d8c);font-size:10px}.platform-delivery-summary>div:last-child{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px}.platform-delivery-summary>div:last-child span{padding:6px 8px;border-radius:999px;background:var(--surface,#fff);font-weight:800}.platform-delivery-summary .source-global{color:#08775e;background:#def7ed!important}.platform-delivery-summary .source-disabled{color:#9f4444;background:#fde8e7!important}@media(max-width:760px){.platform-delivery-summary{grid-template-columns:42px 1fr}.platform-delivery-summary>div:last-child{grid-column:1/-1;justify-content:flex-start}}
.managed-delivery-provider{display:grid!important;grid-template-columns:42px minmax(0,1fr);align-items:center;gap:11px;padding:14px;border:1px solid #bde5da;border-radius:14px;background:#effbf7}.managed-delivery-provider>i{display:grid;width:42px;height:42px;place-items:center;border-radius:13px;color:#fff;background:#0b9b82;font-size:18px}.managed-delivery-provider span{display:flex;flex-direction:column}.managed-delivery-provider strong{font-size:13px}.managed-delivery-provider small{margin-top:3px;color:#5c776f;font-size:10px;line-height:1.4}.managed-delivery-provider.disabled{border-color:#efd0cf;background:#fff5f4}.managed-delivery-provider.disabled>i{background:#b95550}.managed-delivery-provider.disabled small{color:#8b6764}
.smtp-platform-auth>span{display:block;margin-bottom:5px;color:#657d8f;font-size:10px;font-weight:800}.gateway-auth-choice{display:flex!important;min-height:41px;align-items:center;gap:9px;padding:8px 10px;border:1px solid #cfdde7;border-radius:11px;background:#f7fbfd}.gateway-auth-choice input{width:18px!important;height:18px;min-height:18px!important}.gateway-auth-choice em{color:#2e536b;font-size:11px;font-style:normal;font-weight:750}
.parent-login-otp-card{margin-bottom:16px}.parent-otp-method-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px}.parent-otp-method{display:grid;grid-template-columns:20px 42px minmax(0,1fr) auto;align-items:center;gap:10px;padding:12px;border:1px solid var(--line,#d9e3eb);border-radius:15px;background:var(--surface,#fff);cursor:pointer}.parent-otp-method>input{width:18px;height:18px}.parent-otp-method>i{display:grid;width:42px;height:42px;place-items:center;border-radius:12px;color:var(--accent,#176ac1);background:var(--accent-soft,#eaf3ff);font-size:18px}.parent-otp-method>span{display:flex;min-width:0;flex-direction:column}.parent-otp-method strong{font-size:13px}.parent-otp-method small{color:var(--muted,#6d7d8c);font-size:10px}.parent-otp-method em{margin-top:3px;color:#08775e;font-size:9px;font-style:normal;font-weight:800}.parent-otp-method>b{display:flex;align-items:center;gap:5px;color:var(--muted,#6d7d8c);font-size:9px}.parent-otp-method>b input{width:15px;height:15px}.parent-otp-method.selected{border-color:var(--accent,#176ac1);background:color-mix(in srgb,var(--accent,#176ac1) 5%,var(--surface,#fff))}.parent-otp-method.not-ready{opacity:.58;cursor:not-allowed}.parent-otp-method.not-ready em{color:#a0574d}.parent-login-otp-card form>footer{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:14px}.parent-login-otp-card form>footer>span{color:var(--muted,#6d7d8c);font-size:10px}@media(max-width:900px){.parent-otp-method-grid{grid-template-columns:1fr}.parent-login-otp-card form>footer{align-items:stretch;flex-direction:column}}
.parent-otp-template-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px;margin-top:12px}.parent-otp-template-grid label{padding:11px;border:1px solid var(--line,#d9e3eb);border-radius:13px;background:color-mix(in srgb,var(--surface,#fff) 94%,var(--accent-soft,#eaf3ff))}.parent-otp-template-grid label>span{display:block;margin-bottom:5px;color:var(--text,#243b50);font-size:10px;font-weight:850}.parent-otp-template-grid input{width:100%;min-height:40px;padding:8px 10px;border:1px solid var(--line,#d9e3eb);border-radius:10px;background:var(--surface,#fff)}.parent-otp-template-grid small{display:block;margin-top:5px;color:var(--muted,#6d7d8c);font-size:9px}@media(max-width:760px){.parent-otp-template-grid{grid-template-columns:1fr}}
.parent-otp-message-selectors{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px;margin-top:12px}.parent-otp-message-selectors>label{display:grid;gap:6px;padding:11px;border:1px solid var(--line,#d9e3eb);border-radius:13px;background:color-mix(in srgb,var(--surface,#fff) 95%,var(--accent-soft,#eaf3ff))}.parent-otp-message-selectors label>span{color:var(--text,#243b50);font-size:10px;font-weight:850}.parent-otp-message-selectors label>span i{margin-right:5px;color:var(--accent,#176ac1)}.parent-otp-message-selectors select{width:100%}.parent-otp-message-selectors small{color:var(--muted,#6d7d8c);font-size:9px}.parent-otp-message-selectors code{color:var(--accent,#176ac1)}.parent-otp-provider-ids{margin-top:11px;padding:10px 12px;border:1px dashed var(--line,#d9e3eb);border-radius:13px}.parent-otp-provider-ids summary{cursor:pointer;color:var(--text,#243b50);font-size:10px;font-weight:800}.otp-token-catalog{display:grid;grid-template-columns:190px minmax(0,1fr);gap:12px;margin-top:12px;padding:12px;border-radius:14px;background:color-mix(in srgb,var(--accent-soft,#eaf3ff) 55%,var(--surface,#fff))}.otp-token-catalog>div:first-child{display:flex;flex-direction:column}.otp-token-catalog strong{font-size:11px}.otp-token-catalog small{margin-top:3px;color:var(--muted,#6d7d8c);font-size:9px;line-height:1.4}.otp-token-catalog>div:last-child{display:flex;flex-wrap:wrap;gap:6px}.otp-token-catalog button{display:flex;align-items:center;gap:5px;padding:5px 7px;border:1px solid color-mix(in srgb,var(--accent,#176ac1) 20%,var(--line,#d9e3eb));border-radius:8px;background:var(--surface,#fff);color:var(--text,#243b50)}.otp-token-catalog button code{color:var(--accent,#176ac1);font-size:9px}.otp-token-catalog button span{font-size:8px}.otp-token-catalog button.copied{border-color:#1a9b70;background:#e8f8f1}.parent-otp-template-library{margin-top:14px;padding-top:13px;border-top:1px solid var(--line,#d9e3eb)}.parent-otp-template-library>header{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.parent-otp-template-library>header>div{display:flex;align-items:baseline;gap:8px}.parent-otp-template-library>header strong{font-size:12px}.parent-otp-template-library>header small{color:var(--muted,#6d7d8c);font-size:9px}.parent-otp-template-library>div{display:grid;gap:7px}.parent-otp-template-library article{display:grid;grid-template-columns:34px minmax(0,1fr) auto;align-items:start;gap:9px;padding:9px 10px;border:1px solid var(--line,#d9e3eb);border-radius:12px;background:var(--surface,#fff)}.parent-otp-template-library article>span{display:grid;width:34px;height:34px;place-items:center;border-radius:10px;color:var(--accent,#176ac1);background:var(--accent-soft,#eaf3ff)}.parent-otp-template-library article>div:nth-child(2){min-width:0}.parent-otp-template-library article strong{display:block;font-size:11px}.parent-otp-template-library article small{display:block;color:var(--muted,#6d7d8c);font-size:8px}.parent-otp-template-library article p{margin:4px 0 0;color:var(--text,#243b50);font-size:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.parent-otp-template-library article>div:last-child{display:flex;gap:5px}.parent-otp-template-library article>div:last-child form{margin:0}.parent-otp-template-library article.disabled{opacity:.58}.otp-template-editor .modal-header h2{margin:2px 0 0;font-size:18px}.otp-template-editor .modal-body{display:grid;gap:11px}.otp-template-editor .modal-body>label{display:grid;gap:5px}.otp-template-editor .modal-body>label>span,.otp-template-editor legend{font-size:10px;font-weight:850}.otp-template-editor input,.otp-template-editor textarea{width:100%}.otp-template-editor fieldset{display:flex;gap:12px;padding:10px;border:1px solid var(--line,#d9e3eb);border-radius:11px}.otp-template-editor fieldset legend{float:none;width:auto;margin:0 0 6px;padding:0}.otp-template-editor fieldset label{display:flex;align-items:center;gap:5px;font-size:10px}.otp-template-editor fieldset input{width:15px;height:15px}.otp-editor-tokens{padding:10px;border-radius:11px;background:var(--accent-soft,#eaf3ff)}.otp-editor-tokens>strong{font-size:10px}.otp-editor-tokens>div{display:flex;flex-wrap:wrap;gap:5px;margin-top:7px}.otp-editor-tokens button{padding:5px 7px;border:1px solid var(--line,#d9e3eb);border-radius:7px;background:var(--surface,#fff)}.otp-editor-tokens code{color:var(--accent,#176ac1);font-size:9px}@media(max-width:900px){.parent-otp-message-selectors{grid-template-columns:1fr}.otp-token-catalog{grid-template-columns:1fr}}@media(max-width:600px){.otp-token-catalog button span{display:none}.parent-otp-template-library article{grid-template-columns:30px minmax(0,1fr)}.parent-otp-template-library article>div:last-child{grid-column:2}.otp-template-editor fieldset{flex-wrap:wrap}}
.platform-channel-nav{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:14px}.platform-channel-nav button{display:grid;grid-template-columns:42px 1fr;align-items:center;gap:10px;padding:11px;border:1px solid #d8e4ec;border-radius:15px;color:#4d677a;background:#fff;text-align:left;cursor:pointer}.platform-channel-nav button>i{display:grid;width:42px;height:42px;place-items:center;border-radius:12px;color:#0d7c85;background:#e8f8f7;font-size:18px}.platform-channel-nav button span{display:flex;flex-direction:column;font-weight:850}.platform-channel-nav button small{margin-top:2px;color:#7b8d9b;font-size:9px}.platform-channel-nav button.active{border-color:#159f96;color:#114962;background:linear-gradient(140deg,#edfffb,#f4f8ff);box-shadow:0 0 0 2px rgba(15,157,149,.08)}.platform-channel-nav button.active>i{color:#fff;background:linear-gradient(135deg,#155b8e,#0ca395)}
.platform-channel-panel{display:none;padding:18px;border:1px solid #dbe6ee;border-radius:20px;background:#fff;box-shadow:0 10px 30px rgba(13,52,79,.06)}.platform-channel-panel.active{display:block}.platform-channel-panel>header{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:14px}.platform-channel-panel>header>div>span{color:#078d88;font-size:9px;font-weight:850;letter-spacing:.12em}.platform-channel-panel h2{margin:3px 0;color:#173956;font:800 19px Manrope,sans-serif}.platform-channel-panel header p{margin:0;color:#6e8191;font-size:11px}
.gateway-enable{display:flex;align-items:center;gap:8px}.gateway-enable input{position:absolute;opacity:0}.gateway-enable b{width:42px;height:24px;border-radius:99px;background:#cbd7df}.gateway-enable b:after{content:"";display:block;width:18px;height:18px;margin:3px;border-radius:50%;background:#fff;box-shadow:0 2px 5px #17395633;transition:.2s}.gateway-enable input:checked+b{background:#0b9f91}.gateway-enable input:checked+b:after{transform:translateX(18px)}.gateway-enable span{font-size:11px;font-weight:800}
.platform-provider-section{margin-top:11px;padding:14px;border:1px solid #e3ebf1;border-radius:15px;background:#fbfdff}.platform-provider-section h3{display:flex;align-items:center;gap:8px;margin:0 0 12px;color:#244b66;font:800 13px Manrope,sans-serif}.platform-provider-section h3>span{display:grid;width:26px;height:26px;place-items:center;border-radius:8px;color:#fff;background:#118f89;font-size:10px}.platform-provider-section label>span,.platform-provider-actions label>span{display:block;margin-bottom:5px;color:#61798b;font-size:10px;font-weight:800}.platform-provider-section input,.platform-provider-section select,.platform-provider-section textarea,.platform-provider-actions input{width:100%;min-height:40px;padding:8px 10px;border:1px solid #cfdde7;border-radius:10px;color:#193b51;background:#fff;font:650 12px DM Sans,sans-serif}.platform-check-field{display:flex!important;align-items:center;gap:8px;min-height:40px;padding:8px 10px;border:1px solid #cfdde7;border-radius:10px;background:#fff}.platform-check-field input{width:18px!important;height:18px;min-height:18px}.platform-check-field b{font-size:11px}
.oauth-provider-note,.provider-info{display:flex;align-items:flex-start;gap:9px;margin-bottom:12px;padding:10px;border-radius:11px;color:#315d70;background:#edf8f7;font-size:10px}.oauth-provider-note i,.provider-info i{color:#078d88;font-size:16px}.platform-advanced{margin-top:11px}.platform-advanced summary{cursor:pointer;color:#176178;font-size:11px;font-weight:850}.platform-advanced>div{margin-top:10px}.platform-provider-actions{display:grid;grid-template-columns:minmax(220px,1fr) auto auto;align-items:end;gap:9px;margin-top:14px;padding-top:14px;border-top:1px solid #e5edf2}.platform-provider-actions button{min-height:40px}.platform-channel-panel [hidden]{display:none!important}
.oauth-certificate-panel{margin-top:12px;padding:13px;border:1px solid #d7e5ed;border-radius:14px;background:linear-gradient(145deg,#f7fbfd,#eef7fb)}.certificate-health{display:flex;align-items:center;gap:10px;margin-bottom:12px;padding:10px 11px;border-radius:11px}.certificate-health i{font-size:21px}.certificate-health span{display:grid;gap:2px}.certificate-health strong{font-size:11px;color:#24465d}.certificate-health small{font-size:9px;line-height:1.45;color:#708592;overflow-wrap:anywhere}.certificate-health.ready{background:#e8f8f1}.certificate-health.ready i{color:#169b69}.certificate-health.empty{background:#fff8e8}.certificate-health.empty i{color:#d58a0c}.certificate-upload-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.certificate-upload-grid .span-2{grid-column:1/-1}.oauth-certificate-panel>p{display:flex;align-items:center;gap:7px;margin:10px 0 0;color:#637c8a;font-size:9px}.school-oauth-provider{padding:13px}.school-oauth-provider .oauth-certificate-panel{margin-bottom:2px}.certificate-setup-help{margin-top:10px;border-top:1px solid #dce8ed;padding-top:9px}.certificate-setup-help summary{cursor:pointer;color:#27566d;font-size:10px;font-weight:800}.certificate-setup-help ol{margin:8px 0 0;padding-left:19px;color:#617783;font-size:9px;line-height:1.55}.certificate-setup-help code{color:#15617b;font-size:9px}
@media(max-width:760px){.platform-channel-nav{grid-template-columns:1fr}.platform-channel-panel>header{align-items:flex-start;flex-direction:column}.platform-provider-actions{grid-template-columns:1fr}.platform-provider-section .form-grid,.certificate-upload-grid{grid-template-columns:1fr}.platform-provider-section .span-2,.certificate-upload-grid .span-2{grid-column:auto}}

/* Cashier status follows the active school theme instead of a fixed blue palette. */
.cashier-banner.closed{
 background:linear-gradient(125deg,color-mix(in srgb,var(--primary) 86%,var(--surface)),color-mix(in srgb,var(--accent) 66%,var(--primary)));
}

/* Finance-control dropdowns use the active theme and keep the chevron centred. */
.finance-control :is(.rollover-builder,.account-selector) .modern-select{
 display:block;
 width:100%;
 min-width:0;
}
.finance-control :is(.rollover-builder,.account-selector) .modern-select-trigger{
 box-sizing:border-box;
 width:100%;
 min-width:0;
 min-height:44px;
 padding:7px 7px 7px 12px;
 border:1px solid var(--theme-line,var(--line));
 border-radius:11px;
 background:linear-gradient(180deg,var(--surface),color-mix(in srgb,var(--surface) 94%,var(--primary)));
 color:var(--text-main,var(--ink));
 box-shadow:0 2px 7px color-mix(in srgb,var(--primary) 5%,transparent);
}
.finance-control :is(.rollover-builder,.account-selector) .modern-select-value{
 min-width:0;
 padding:0 10px 0 0;
 color:inherit;
 font-size:13px!important;
 font-weight:700;
 line-height:1.25;
 overflow:hidden;
 text-overflow:ellipsis;
 white-space:nowrap;
}
.finance-control :is(.rollover-builder,.account-selector) .modern-select-chevron{
 display:grid;
 width:29px;
 height:29px;
 flex:0 0 29px;
 margin:0;
 padding:0;
 place-items:center;
 border-radius:9px;
 background:color-mix(in srgb,var(--primary) 11%,var(--surface));
 color:var(--primary);
 font-size:10px;
 line-height:1;
}
.finance-control :is(.rollover-builder,.account-selector) .modern-select-chevron>i{
 display:block;
 width:1em;
 height:1em;
 line-height:1;
 text-align:center;
}
.finance-control :is(.rollover-builder,.account-selector) .modern-select-trigger:hover,
.finance-control :is(.rollover-builder,.account-selector) .modern-select.open .modern-select-trigger{
 border-color:color-mix(in srgb,var(--primary) 68%,var(--theme-line,var(--line)));
 background:var(--surface);
 box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 11%,transparent);
}
.finance-control :is(.rollover-builder,.account-selector) .modern-select.open .modern-select-chevron{
 background:var(--primary);
 color:#fff;
}
.finance-control .rollover-table td .modern-select-trigger{
 min-height:40px;
 padding:5px 5px 5px 9px;
}
.finance-control .rollover-table td .modern-select-chevron{
 width:27px;
 height:27px;
 flex-basis:27px;
}
.finance-control .rollover-bulk-toolbar label{
 position:relative;
}
.finance-control .rollover-bulk-toolbar label::after{
 content:"\f282";
 position:absolute;
 right:10px;
 bottom:7px;
 display:grid;
 width:28px;
 height:28px;
 place-items:center;
 border-radius:8px;
 background:color-mix(in srgb,var(--primary) 11%,var(--surface));
 color:var(--primary);
 font:10px/1 "bootstrap-icons";
 pointer-events:none;
}
.finance-control .rollover-bulk-toolbar select.native-select{
 appearance:none;
 -webkit-appearance:none;
 min-height:42px;
 padding:8px 44px 8px 11px;
 border-color:var(--theme-line,var(--line));
 background:var(--surface);
 color:var(--text-main,var(--ink));
 font-size:13px;
 font-weight:700;
}
.finance-control .rollover-bulk-toolbar select.native-select:focus{
 border-color:color-mix(in srgb,var(--primary) 68%,var(--theme-line,var(--line)));
 box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 11%,transparent);
 outline:0;
}
.account-selector form{
 align-items:end;
}
@media(max-width:700px){
 .account-selector form{align-items:stretch;flex-direction:column}
}

/* Finance preview callouts remain readable in every saved school theme. */
.finance-control .builder-publish{
 border:1px solid color-mix(in srgb,var(--primary) 24%,var(--theme-line,var(--line)));
 background:linear-gradient(120deg,color-mix(in srgb,var(--primary) 9%,var(--surface)),color-mix(in srgb,var(--accent) 7%,var(--surface)));
 color:var(--text-main,var(--ink));
 box-shadow:0 8px 22px color-mix(in srgb,var(--primary) 7%,transparent);
}
.finance-control .builder-publish>div>i{
 display:grid;
 width:40px;
 height:40px;
 flex:0 0 40px;
 place-items:center;
 border-radius:12px;
 background:color-mix(in srgb,var(--primary) 13%,var(--surface));
 color:var(--primary);
 font-size:18px;
}
.finance-control .builder-publish strong{
 color:var(--text-main,var(--ink));
}
.finance-control .builder-publish small{
 color:var(--text-muted,var(--muted));
}

.finance-control .dynamic-layout .builder-publish{
 border-color:color-mix(in srgb,var(--primary) 30%,var(--theme-line,var(--line)));
 background:linear-gradient(120deg,color-mix(in srgb,var(--primary) 12%,var(--surface)),color-mix(in srgb,var(--accent) 10%,var(--surface)));
}
.finance-control .dynamic-layout .builder-publish>div>i{
 background:color-mix(in srgb,var(--primary) 16%,var(--surface));
 color:var(--primary);
}

/* Accounting export register: stable columns on desktop and readable records on mobile. */
.finance-control .accounting-layout+.content-card>.table-responsive{
 width:100%;
 padding:2px 4px 8px;
 overflow-x:auto;
}
.finance-control .accounting-layout+.content-card .modern-table{
 width:100%;
 min-width:1030px;
 table-layout:fixed;
 border-collapse:separate;
 border-spacing:0;
}
.finance-control .accounting-layout+.content-card .modern-table th,
.finance-control .accounting-layout+.content-card .modern-table td{
 box-sizing:border-box;
 padding:13px 12px;
 vertical-align:middle;
 text-align:left;
 white-space:normal;
 overflow-wrap:anywhere;
}
.finance-control .accounting-layout+.content-card .modern-table th:nth-child(1){width:185px}
.finance-control .accounting-layout+.content-card .modern-table th:nth-child(2){width:165px}
.finance-control .accounting-layout+.content-card .modern-table th:nth-child(3){width:125px}
.finance-control .accounting-layout+.content-card .modern-table th:nth-child(4){width:90px;text-align:center}
.finance-control .accounting-layout+.content-card .modern-table th:nth-child(5){width:125px}
.finance-control .accounting-layout+.content-card .modern-table th:nth-child(6){width:auto}
.finance-control .accounting-layout+.content-card .modern-table th:nth-child(7){width:150px;text-align:center}
.finance-control .accounting-layout+.content-card .modern-table td:nth-child(4){text-align:center;font-weight:800}
.finance-control .accounting-layout+.content-card .modern-table td:nth-child(6){color:var(--text-muted,var(--muted));line-height:1.45}
.finance-control .accounting-layout+.content-card .modern-table td:nth-child(7){text-align:center}
.finance-control .accounting-layout+.content-card .modern-table td>strong,
.finance-control .accounting-layout+.content-card .modern-table td>small{
 display:block;
}
.finance-control .accounting-layout+.content-card .modern-table td>small{
 margin-top:3px;
 color:var(--text-muted,var(--muted));
}
.finance-control .accounting-layout+.content-card .inline-actions,
.finance-control .accounting-layout+.content-card .inline-actions form{
 display:flex;
 align-items:center;
 justify-content:center;
 gap:6px;
 margin:0;
 white-space:nowrap;
}
.finance-control .accounting-layout+.content-card .inline-actions .icon-action{
 flex:0 0 36px;
 width:36px;
 height:36px;
 padding:0;
 border-color:color-mix(in srgb,var(--primary) 18%,var(--theme-line,var(--line)));
 color:var(--primary);
}
@media(max-width:700px){
 .finance-control .accounting-layout+.content-card>.table-responsive{padding:0;overflow:visible}
 .finance-control .accounting-layout+.content-card .modern-table{display:block;min-width:0}
 .finance-control .accounting-layout+.content-card .modern-table thead{display:none}
 .finance-control .accounting-layout+.content-card .modern-table tbody{display:grid;gap:10px}
 .finance-control .accounting-layout+.content-card .modern-table tr{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:0;
  padding:12px;
  border:1px solid var(--theme-line,var(--line));
  border-radius:15px;
  background:var(--surface);
 }
 .finance-control .accounting-layout+.content-card .modern-table td{
  display:grid;
  grid-template-columns:96px minmax(0,1fr);
  gap:8px;
  align-items:start;
  width:auto!important;
  padding:8px;
  border:0;
  text-align:left!important;
 }
 .finance-control .accounting-layout+.content-card .modern-table td:nth-child(1),
 .finance-control .accounting-layout+.content-card .modern-table td:nth-child(6),
 .finance-control .accounting-layout+.content-card .modern-table td:nth-child(7){grid-column:1/-1}
 .finance-control .accounting-layout+.content-card .modern-table td::before{
  color:var(--text-muted,var(--muted));
  font-size:9px;
  font-weight:850;
  letter-spacing:.05em;
  text-transform:uppercase;
 }
 .finance-control .accounting-layout+.content-card .modern-table td:nth-child(1)::before{content:"Batch"}
 .finance-control .accounting-layout+.content-card .modern-table td:nth-child(2)::before{content:"Period"}
 .finance-control .accounting-layout+.content-card .modern-table td:nth-child(3)::before{content:"Format"}
 .finance-control .accounting-layout+.content-card .modern-table td:nth-child(4)::before{content:"Vouchers"}
 .finance-control .accounting-layout+.content-card .modern-table td:nth-child(5)::before{content:"Status"}
 .finance-control .accounting-layout+.content-card .modern-table td:nth-child(6)::before{content:"Acknowledgement"}
 .finance-control .accounting-layout+.content-card .modern-table td:nth-child(7)::before{content:"Actions"}
 .finance-control .accounting-layout+.content-card .inline-actions{justify-content:flex-start}
}
