:root {
    --bg: #F3F7FC;
    --panel: #ffffff;
    --ink: #132238;
    --muted: #66758A;
    --line: #DCE5F1;
    --primary: #2563EB;
    --primary-dark: #071A33;
    --accent: #38BDF8;
    --soft: #EAF2FF;
    --sidebar: #071A33;
    --danger: #a93b3b;
    --shadow: 0 16px 42px rgba(7, 26, 51, 0.09);
    --radius: 14px;
    --font-family: Inter, Arial, Helvetica, sans-serif;
    --login-bg: #071A33;
    --login-bg-image: none;
}

* { box-sizing: border-box; }
body {
    margin: 0;
    font-family: var(--font-family);
    color: var(--ink);
    background: var(--bg);
}
a { color: var(--primary); text-decoration: none; font-weight: 700; }
h1, h2, p { margin-top: 0; }
h1 { font-size: 28px; margin-bottom: 0; }
h2 { font-size: 18px; margin-bottom: 18px; }

.app-shell { min-height: 100vh; display: grid; grid-template-columns: 260px 1fr; }
.sidebar {
    background: var(--sidebar);
    color: #fff;
    padding: 24px 18px;
    position: sticky;
    top: 0;
    height: 100vh;
}
.brand { display: flex; align-items: center; gap: 12px; color: #fff; font-weight: 800; margin-bottom: 28px; }
.brand span, .brand img { width: 40px; height: 40px; display: grid; place-items: center; background: var(--accent); border-radius: var(--radius); object-fit: cover; }
.sidebar nav { display: grid; gap: 6px; }
.sidebar nav a { color: #C8D9ED; padding: 12px 14px; border-radius: var(--radius); }
.sidebar nav a:hover { background: rgba(255, 255, 255, 0.1); color: #fff; }

.main { padding: 26px; min-width: 0; }
.topbar { display: flex; justify-content: space-between; gap: 18px; align-items: center; margin-bottom: 22px; }
.topbar form { display: flex; align-items: center; gap: 10px; }
.eyebrow { color: var(--accent); text-transform: uppercase; font-size: 12px; font-weight: 800; margin-bottom: 5px; }
.user-chip, .badge { background: var(--soft); color: var(--primary-dark); border: 1px solid var(--line); padding: 7px 10px; border-radius: 999px; font-size: 13px; font-weight: 700; }

.metric-grid, .three-column, .summary-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; margin-bottom: 18px; }
.three-column { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.summary-grid { margin-bottom: 0; }
.summary-grid div { border: 1px solid var(--line); border-radius: var(--radius); padding: 13px; background: #F8FAFD; min-width: 0; }
.two-column, .split { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; margin-bottom: 18px; }
.metric, .panel, .login-panel { background: var(--panel); border: 1px solid var(--line); border-radius: var(--radius); box-shadow: var(--shadow); }
.metric { padding: 20px; }
.metric span { display: block; color: var(--muted); margin-bottom: 10px; }
.metric strong { font-size: 34px; }
.panel { padding: 20px; margin-bottom: 18px; }
.money { font-size: 36px; font-weight: 800; color: var(--primary); }

.form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.form-grid h2, .form-grid .wide { grid-column: 1 / -1; }
.stack { display: grid; gap: 14px; }
label { display: grid; gap: 7px; color: var(--muted); font-size: 13px; font-weight: 700; }
input, select, textarea { width: 100%; border: 1px solid var(--line); border-radius: var(--radius); padding: 11px 12px; font: inherit; color: var(--ink); background: #fff; }
button { border: 0; border-radius: var(--radius); padding: 11px 14px; font: inherit; font-weight: 800; cursor: pointer; background: var(--soft); color: var(--primary-dark); }
.primary { color: #fff; background: var(--primary); }
.primary:hover { background: var(--primary-dark); }
.secondary { color: var(--primary-dark); background: var(--soft); }

.table-wrap { overflow-x: auto; }
table { width: 100%; border-collapse: collapse; min-width: 720px; }
th, td { text-align: left; padding: 12px; border-bottom: 1px solid var(--line); vertical-align: middle; }
th { color: var(--muted); font-size: 12px; text-transform: uppercase; }
.list { display: grid; gap: 10px; }
.list article, .line { border: 1px solid var(--line); border-radius: var(--radius); padding: 13px; background: #F8FAFD; }
.list strong, .list span { display: block; }
.list span, .muted { color: var(--muted); }
.list p { margin: 8px 0 0; color: var(--muted); }
.line { display: flex; justify-content: space-between; text-transform: capitalize; margin-bottom: 10px; }

.flash { padding: 12px 14px; border-radius: var(--radius); margin-bottom: 16px; border: 1px solid var(--line); background: #edf8f3; color: var(--primary-dark); font-weight: 700; }
.flash.error { background: #fff1f1; color: var(--danger); }

.login-page {
    min-height: 100vh;
    display: grid;
    place-items: center;
    padding: 20px;
    background-color: var(--login-bg);
    background-image: var(--login-bg-image);
    background-size: cover;
    background-position: center;
}
.login-panel { width: min(440px, 100%); padding: 28px; }
.login-panel h1 { font-size: 34px; }
.install-page {
    --install-navy: #071a33;
    --install-navy-soft: #0d294d;
    --install-blue: #2563eb;
    --install-cyan: #38bdf8;
    --install-gold: #f4b740;
    --install-surface: #ffffff;
    --install-canvas: #f3f7fc;
    --install-text: #132238;
    --install-muted: #66758a;
    --install-border: #dce5f1;
    min-height: 100vh;
    position: relative;
    overflow-x: hidden;
    padding: 30px;
    color: var(--install-text);
    background: var(--install-canvas);
    font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}
.install-background,
.install-grid-pattern,
.install-orb {
    position: fixed;
    inset: 0;
    pointer-events: none;
}
.install-background { z-index: 0; overflow: hidden; }
.install-grid-pattern {
    opacity: .38;
    background-image:
        linear-gradient(rgba(37, 99, 235, .05) 1px, transparent 1px),
        linear-gradient(90deg, rgba(37, 99, 235, .05) 1px, transparent 1px);
    background-size: 34px 34px;
    mask-image: linear-gradient(to bottom, #000, transparent 72%);
}
.install-orb { width: 420px; height: 420px; border-radius: 999px; filter: blur(2px); }
.install-orb-one {
    inset: -170px auto auto -130px;
    background: radial-gradient(circle, rgba(56, 189, 248, .20), rgba(56, 189, 248, 0) 70%);
}
.install-orb-two {
    inset: auto -150px -190px auto;
    background: radial-gradient(circle, rgba(37, 99, 235, .18), rgba(37, 99, 235, 0) 70%);
}
.installer {
    position: relative;
    z-index: 1;
    width: min(1320px, 100%);
    margin: 0 auto;
    display: grid;
    grid-template-columns: 380px minmax(0, 1fr);
    gap: 28px;
    align-items: start;
}
.install-hero {
    min-height: calc(100vh - 60px);
    position: sticky;
    top: 30px;
    display: flex;
    flex-direction: column;
    gap: 28px;
    overflow: hidden;
    padding: 32px;
    color: #fff;
    background:
        linear-gradient(145deg, rgba(37, 99, 235, .18), transparent 45%),
        radial-gradient(circle at 100% 0, rgba(56, 189, 248, .18), transparent 34%),
        var(--install-navy);
    border: 1px solid rgba(255, 255, 255, .09);
    border-radius: 24px;
    box-shadow: 0 28px 80px rgba(7, 26, 51, .24);
}
.install-hero::after {
    content: "";
    position: absolute;
    width: 240px;
    height: 240px;
    right: -110px;
    bottom: 70px;
    border: 1px solid rgba(255, 255, 255, .08);
    border-radius: 50%;
    box-shadow: 0 0 0 32px rgba(255, 255, 255, .025), 0 0 0 64px rgba(255, 255, 255, .018);
}
.install-brand {
    position: relative;
    z-index: 1;
    display: flex;
    align-items: center;
    gap: 14px;
}
.install-brandmark {
    width: 56px;
    height: 56px;
    flex: 0 0 56px;
    display: grid;
    place-items: center;
    color: #fff;
    background: linear-gradient(135deg, var(--install-blue), var(--install-cyan));
    border: 1px solid rgba(255, 255, 255, .24);
    border-radius: 16px;
    box-shadow: 0 12px 30px rgba(37, 99, 235, .35);
}
.install-brandmark svg { width: 38px; height: 38px; }
.install-brand strong,
.install-brand span { display: block; }
.install-brand strong { font-size: 17px; letter-spacing: .12em; }
.install-brand span { margin-top: 3px; color: #9fc4ed; font-size: 12px; letter-spacing: .08em; text-transform: uppercase; }
.install-hero-copy { position: relative; z-index: 1; }
.install-hero .eyebrow {
    margin-bottom: 12px;
    color: var(--install-cyan);
    letter-spacing: .14em;
}
.install-hero h1 {
    max-width: 300px;
    margin-bottom: 16px;
    font-size: clamp(34px, 3vw, 46px);
    line-height: 1.04;
    letter-spacing: -.04em;
}
.install-hero p {
    margin-bottom: 0;
    color: #c4d6e9;
    font-size: 15px;
    line-height: 1.75;
}
.install-steps {
    position: relative;
    z-index: 1;
    display: grid;
    gap: 10px;
}
.install-steps > div {
    display: grid;
    grid-template-columns: 38px 1fr;
    gap: 12px;
    align-items: center;
    padding: 11px 12px;
    border: 1px solid rgba(255, 255, 255, .09);
    border-radius: 13px;
    background: rgba(255, 255, 255, .045);
    backdrop-filter: blur(8px);
}
.install-steps b {
    width: 34px;
    height: 34px;
    display: grid;
    place-items: center;
    color: var(--install-cyan);
    background: rgba(56, 189, 248, .10);
    border: 1px solid rgba(56, 189, 248, .22);
    border-radius: 10px;
    font-size: 11px;
    letter-spacing: .08em;
}
.install-steps span,
.install-steps strong,
.install-steps small { display: block; }
.install-steps strong { color: #fff; font-size: 13px; }
.install-steps small { margin-top: 3px; color: #91aac3; font-size: 11px; }
.install-note {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: 34px 1fr;
    gap: 12px;
    padding: 15px;
    color: #dcecff;
    background: rgba(37, 99, 235, .16);
    border: 1px solid rgba(96, 165, 250, .22);
    border-radius: 14px;
}
.install-note svg { width: 28px; height: 28px; color: var(--install-cyan); }
.install-note strong,
.install-note span { display: block; }
.install-note strong { color: #fff; font-size: 13px; }
.install-note span { margin-top: 4px; color: #acc4dd; font-size: 11px; line-height: 1.55; }
.install-credit {
    position: relative;
    z-index: 1;
    margin-top: auto;
    padding-top: 20px;
    border-top: 1px solid rgba(255, 255, 255, .09);
}
.install-credit span,
.install-credit strong { display: block; }
.install-credit span { color: #6f8aa5; font-size: 10px; text-transform: uppercase; letter-spacing: .13em; }
.install-credit strong { margin-top: 5px; color: #d8e8f8; font-size: 12px; }
.install-workspace { min-width: 0; }
.install-topbar {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 16px;
    margin-bottom: 14px;
    padding: 12px 4px;
    color: var(--install-muted);
    font-size: 13px;
}
.install-topbar > div { display: flex; align-items: center; gap: 9px; }
.install-topbar strong { color: var(--install-text); }
.install-status-dot {
    width: 9px;
    height: 9px;
    background: #22c55e;
    border-radius: 50%;
    box-shadow: 0 0 0 5px rgba(34, 197, 94, .12);
}
.install-version {
    padding: 7px 10px;
    color: #38506b;
    background: #fff;
    border: 1px solid var(--install-border);
    border-radius: 999px;
    font-size: 11px;
    font-weight: 800;
}
.installer-form {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
    padding: 26px;
    background: rgba(255, 255, 255, .96);
    border: 1px solid rgba(211, 223, 238, .9);
    border-radius: 24px;
    box-shadow: 0 24px 70px rgba(31, 57, 88, .11);
}
.installer-form .wide { grid-column: 1 / -1; }
.install-form-intro {
    grid-column: 1 / -1;
    display: flex;
    justify-content: space-between;
    gap: 22px;
    align-items: flex-start;
    padding: 24px;
    overflow: hidden;
    position: relative;
    color: #fff;
    background:
        linear-gradient(130deg, rgba(37, 99, 235, .96), rgba(14, 58, 116, .98)),
        var(--install-blue);
    border: 0;
    border-radius: 18px;
}
.install-form-intro::after {
    content: "";
    position: absolute;
    width: 180px;
    height: 180px;
    right: -78px;
    top: -92px;
    border: 30px solid rgba(255, 255, 255, .08);
    border-radius: 50%;
}
.install-form-intro > * { position: relative; z-index: 1; }
.install-form-intro .eyebrow { color: #bceaff; }
.install-form-intro h2 {
    margin-bottom: 8px;
    color: #fff;
    font-size: 28px;
    letter-spacing: -.025em;
}
.install-form-intro p:last-child {
    max-width: 650px;
    margin-bottom: 0;
    color: #dbeafe;
    line-height: 1.65;
}
.install-ready-badge {
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 9px 11px;
    color: #e8f8ff;
    background: rgba(255, 255, 255, .12);
    border: 1px solid rgba(255, 255, 255, .18);
    border-radius: 999px;
    font-size: 11px;
    font-weight: 800;
    white-space: nowrap;
}
.install-ready-badge span { width: 7px; height: 7px; background: #86efac; border-radius: 50%; }
.install-section {
    padding: 22px;
    background: #fff;
    border: 1px solid var(--install-border);
    border-radius: 18px;
    box-shadow: 0 8px 25px rgba(31, 57, 88, .045);
}
.install-section-heading {
    display: grid;
    grid-template-columns: 44px 1fr;
    gap: 14px;
    align-items: start;
    margin-bottom: 20px;
    padding-bottom: 18px;
    border-bottom: 1px solid #e7edf5;
}
.install-section-heading > span {
    width: 42px;
    height: 42px;
    display: grid;
    place-items: center;
    color: #fff;
    background: linear-gradient(135deg, var(--install-blue), #4f8df7);
    border-radius: 12px;
    box-shadow: 0 8px 18px rgba(37, 99, 235, .23);
    font-size: 12px;
    font-weight: 900;
    letter-spacing: .05em;
}
.install-section-heading h2 { margin: 0 0 5px; color: var(--install-text); font-size: 18px; }
.install-section-heading p { margin: 0; color: var(--install-muted); font-size: 12px; line-height: 1.55; }
.install-fields {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 15px;
}
.install-fields .wide { grid-column: 1 / -1; }
.installer-form label {
    display: grid;
    gap: 7px;
    padding: 0;
    color: #465a73;
    background: transparent;
    border: 0;
    border-radius: 0;
    font-size: 12px;
    font-weight: 800;
}
.installer-form label small { color: #8190a3; font-weight: 600; }
.installer-form input,
.installer-form select {
    min-height: 46px;
    padding: 11px 13px;
    color: var(--install-text);
    background: #fbfdff;
    border: 1px solid #ced9e7;
    border-radius: 11px;
    box-shadow: inset 0 1px 2px rgba(15, 35, 61, .025);
    transition: border-color .18s ease, box-shadow .18s ease, background .18s ease;
}
.installer-form input::placeholder { color: #9aa8b9; }
.installer-form input:hover,
.installer-form select:hover { border-color: #abc0d8; }
.installer-form input:focus,
.installer-form select:focus {
    outline: none;
    background: #fff;
    border-color: var(--install-blue);
    box-shadow: 0 0 0 4px rgba(37, 99, 235, .11);
}
.install-section-optional { background: linear-gradient(180deg, #ffffff, #f9fbff); }
.install-checkbox {
    grid-template-columns: 24px 1fr !important;
    gap: 12px !important;
    align-items: center;
    cursor: pointer;
}
.install-checkbox > input {
    position: absolute;
    width: 1px;
    height: 1px;
    opacity: 0;
}
.install-checkbox-ui {
    width: 22px;
    height: 22px;
    position: relative;
    background: #fff;
    border: 2px solid #b8c6d8;
    border-radius: 7px;
    transition: .18s ease;
}
.install-checkbox input:checked + .install-checkbox-ui {
    background: var(--install-blue);
    border-color: var(--install-blue);
}
.install-checkbox input:checked + .install-checkbox-ui::after {
    content: "";
    position: absolute;
    left: 6px;
    top: 2px;
    width: 6px;
    height: 11px;
    border: solid #fff;
    border-width: 0 2px 2px 0;
    transform: rotate(45deg);
}
.install-checkbox strong,
.install-checkbox small { display: block; }
.install-checkbox strong { color: var(--install-text); font-size: 13px; }
.install-checkbox small { margin-top: 4px; color: var(--install-muted); line-height: 1.45; }
.install-demo-note {
    margin-top: 14px;
    padding: 12px 14px;
    color: #5b6b80;
    background: #eef5ff;
    border: 1px solid #d9e8fb;
    border-radius: 11px;
    font-size: 11px;
    line-height: 1.5;
}
.install-submit {
    display: flex;
    justify-content: space-between;
    gap: 22px;
    align-items: center;
    padding: 20px 22px;
    color: #d7e8fb;
    background: var(--install-navy);
    border-radius: 16px;
}
.install-submit strong,
.install-submit span { display: block; }
.install-submit > div > strong { color: #fff; font-size: 14px; }
.install-submit > div > span { margin-top: 5px; color: #9fb6cf; font-size: 11px; }
.install-submit button.primary {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    margin: 0;
    padding: 14px 18px;
    color: #fff;
    background: linear-gradient(135deg, var(--install-blue), #3b82f6);
    border-radius: 11px;
    box-shadow: 0 12px 26px rgba(37, 99, 235, .30);
    font-size: 13px;
}
.install-submit button.primary:hover { transform: translateY(-1px); background: linear-gradient(135deg, #1d4ed8, #2563eb); }
.install-alert-group { display: grid; gap: 10px; margin-bottom: 14px; }
.install-alert-group .flash.error {
    display: grid;
    gap: 4px;
    margin: 0;
    padding: 14px 16px;
    color: #991b1b;
    background: #fff4f4;
    border: 1px solid #fecaca;
    border-radius: 13px;
}
.install-alert-group .flash.error strong { font-size: 12px; }
.install-alert-group .flash.error span { font-size: 12px; font-weight: 600; }
.install-complete {
    display: grid;
    justify-items: start;
    padding: 42px;
    background: #fff;
    border: 1px solid var(--install-border);
    border-radius: 24px;
    box-shadow: 0 24px 70px rgba(31, 57, 88, .11);
}
.install-success-icon {
    width: 62px;
    height: 62px;
    display: grid;
    place-items: center;
    margin-bottom: 22px;
    color: #fff;
    background: linear-gradient(135deg, #16a34a, #22c55e);
    border-radius: 18px;
    box-shadow: 0 14px 30px rgba(34, 197, 94, .25);
}
.install-success-icon svg { width: 34px; height: 34px; }
.install-complete .eyebrow { color: var(--install-blue); }
.install-complete h2 { margin-bottom: 10px; font-size: 30px; letter-spacing: -.03em; }
.install-complete > p:not(.eyebrow) { max-width: 650px; color: var(--install-muted); line-height: 1.65; }
.install-security-reminder {
    display: grid;
    gap: 5px;
    width: 100%;
    margin: 16px 0 24px;
    padding: 16px;
    color: #43566e;
    background: #f5f9ff;
    border: 1px solid #dce8f6;
    border-left: 4px solid var(--install-blue);
    border-radius: 12px;
}
.install-security-reminder strong { color: var(--install-text); font-size: 12px; }
.install-security-reminder span { font-size: 11px; line-height: 1.55; }
.install-security-reminder code { color: #1d4ed8; background: #e8f0ff; padding: 2px 5px; border-radius: 5px; }
.button-link {
    display: inline-flex;
    align-items: center;
    gap: 14px;
    padding: 13px 17px;
    color: #fff;
    background: linear-gradient(135deg, var(--install-blue), #3b82f6);
    border-radius: 11px;
    box-shadow: 0 12px 26px rgba(37, 99, 235, .22);
    font-weight: 800;
}
.button-link:hover { color: #fff; background: linear-gradient(135deg, #1d4ed8, #2563eb); }
.install-footer {
    display: flex;
    justify-content: space-between;
    gap: 16px;
    padding: 16px 6px 4px;
    color: #8291a3;
    font-size: 10px;
    text-transform: uppercase;
    letter-spacing: .08em;
}



.brand-preset-card {
    position: relative;
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    gap: 18px;
    align-items: center;
    overflow: hidden;
    color: #fff;
    background:
        radial-gradient(circle at 85% -20%, rgba(56, 189, 248, .24), transparent 34%),
        linear-gradient(135deg, #071A33 0%, #0D294D 100%);
    border-color: rgba(37, 99, 235, .22);
    box-shadow: 0 20px 50px rgba(7, 26, 51, .18);
}
.brand-preset-card::after {
    content: "";
    position: absolute;
    width: 180px;
    height: 180px;
    right: -90px;
    bottom: -110px;
    border: 1px solid rgba(255, 255, 255, .08);
    border-radius: 50%;
    box-shadow: 0 0 0 28px rgba(255,255,255,.025), 0 0 0 56px rgba(255,255,255,.018);
}
.brand-preset-mark,
.brand-preset-copy,
.brand-preset-action { position: relative; z-index: 1; }
.brand-preset-mark img {
    width: 68px;
    height: 68px;
    display: block;
    border-radius: 18px;
    box-shadow: 0 14px 32px rgba(0, 0, 0, .22);
}
.brand-preset-card .eyebrow { color: #38BDF8; }
.brand-preset-card h2 { margin-bottom: 7px; font-size: 22px; }
.brand-preset-card .muted { max-width: 760px; margin-bottom: 12px; color: #BCD0E6; line-height: 1.6; }
.brand-swatches { display: flex; gap: 8px; align-items: center; }
.brand-swatches span {
    width: 23px;
    height: 23px;
    display: block;
    background: var(--swatch);
    border: 2px solid rgba(255, 255, 255, .72);
    border-radius: 999px;
    box-shadow: 0 4px 12px rgba(0,0,0,.18);
}
.brand-preset-action { margin: 0; }
.brand-preset-action .primary {
    white-space: nowrap;
    background: #2563EB;
    box-shadow: 0 10px 26px rgba(37, 99, 235, .32);
}
.brand-preset-action .primary:hover { background: #1D4ED8; }

.settings-form { display: grid; gap: 18px; }
fieldset {
    border: 1px solid var(--line);
    border-radius: var(--radius);
    padding: 18px;
}
legend {
    padding: 0 8px;
    font-weight: 800;
    color: var(--primary-dark);
}
.color-input {
    display: grid;
    grid-template-columns: 52px 1fr;
    gap: 8px;
}
.color-input input[type="color"] {
    height: 43px;
    padding: 4px;
}
.preview-box {
    display: grid;
    grid-template-columns: 220px 1fr;
    border: 1px solid var(--line);
    border-radius: var(--radius);
    overflow: hidden;
}
.preview-box aside {
    display: grid;
    align-content: start;
    gap: 8px;
    min-height: 180px;
    padding: 18px;
    background: var(--sidebar);
    color: #fff;
}
.preview-box aside span { color: #C8D9ED; }
.preview-box article { padding: 18px; background: var(--panel); }
.app-footer {
    color: var(--muted);
    font-size: 13px;
    padding: 8px 0 0;
}
.public-page {
    min-height: 100vh;
    background: var(--bg);
}
.public-nav {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 18px;
    padding: 18px 28px;
    background: var(--panel);
    border-bottom: 1px solid var(--line);
}
.public-brand { color: var(--ink); margin-bottom: 0; }
.public-nav nav {
    display: flex;
    gap: 14px;
    flex-wrap: wrap;
}
.public-main {
    width: min(1120px, 100%);
    margin: 0 auto;
    padding: 28px;
}
.public-hero {
    min-height: 360px;
    display: grid;
    align-content: center;
    gap: 14px;
    padding: 48px;
    background-size: cover;
    background-position: center;
    border-radius: var(--radius);
}
.public-hero.compact {
    min-height: auto;
    padding: 26px 0;
}
.public-hero.compact.page-hero {
    padding: 36px;
}
.public-hero h1 {
    font-size: 48px;
}
.public-hero p {
    max-width: 680px;
    color: var(--muted);
    font-size: 18px;
}
.public-actions {
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
}
.secondary-link {
    background: var(--soft);
    color: var(--primary-dark);
}
.public-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
    margin-bottom: 18px;
}
.public-banner {
    margin-bottom: 18px;
}
.public-banner img {
    width: 100%;
    max-height: 360px;
    object-fit: cover;
    border-radius: var(--radius);
    border: 1px solid var(--line);
}
.page-content {
    white-space: normal;
    line-height: 1.7;
}
.queue-board {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
    margin-bottom: 18px;
}
.queue-now {
    background: var(--primary);
    color: #fff;
    border-radius: var(--radius);
    padding: 26px;
    min-height: 180px;
    display: grid;
    align-content: center;
    gap: 8px;
}
.queue-now span,
.queue-now p {
    color: #e7f3ef;
    margin: 0;
}
.queue-now strong {
    font-size: 44px;
}
.queue-waiting {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 10px;
}
.queue-waiting span {
    border: 1px solid var(--line);
    border-radius: var(--radius);
    padding: 12px;
    background: #F8FAFD;
    font-weight: 800;
}
.public-footer {
    width: min(1120px, 100%);
    margin: 0 auto;
    padding: 20px 28px 34px;
    color: var(--muted);
}
.inline {
    display: flex;
    align-items: center;
    gap: 8px;
}
.inline select {
    min-width: 130px;
}
.honeypot {
    position: absolute;
    left: -10000px;
    width: 1px;
    height: 1px;
    opacity: 0;
}
.schedule-list {
    display: grid;
    gap: 10px;
}
.schedule-list article {
    display: grid;
    grid-template-columns: 180px 1fr auto;
    gap: 14px;
    align-items: center;
    border: 1px solid var(--line);
    border-radius: var(--radius);
    padding: 14px;
    background: #F8FAFD;
}
.schedule-list time {
    color: var(--primary-dark);
    font-weight: 800;
}
.schedule-list strong,
.schedule-list span {
    display: block;
}
.schedule-list span {
    color: var(--muted);
}
.report-document {
    max-width: 980px;
    margin: 0 auto 18px;
}
.report-heading {
    text-align: center;
    margin-bottom: 22px;
}
.report-logo {
    width: 82px;
    height: 82px;
    object-fit: contain;
    margin-bottom: 8px;
}
.report-footer-text {
    margin-top: 18px;
    color: var(--muted);
    text-align: center;
    font-size: 12px;
}
.report-heading h1,
.report-heading h2 {
    margin-bottom: 6px;
}
.report-grid,
.signature-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px 18px;
    margin-bottom: 18px;
}
.report-grid p,
.signature-grid p {
    margin-bottom: 0;
}

@media print {
    .sidebar,
    .topbar form,
    .app-footer,
    button {
        display: none !important;
    }
    .app-shell {
        display: block;
    }
    .main {
        padding: 0;
    }
    .panel,
    .metric {
        box-shadow: none;
        break-inside: avoid;
    }
    .report-document {
        max-width: none;
        border: 0;
    }
    body {
        background: #fff;
    }
}

@media (max-width: 980px) {
    .app-shell { grid-template-columns: 1fr; }
    .sidebar { position: static; height: auto; }
    .sidebar nav { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .install-page { background: var(--install-canvas); }
    .installer { grid-template-columns: 1fr; }
    .install-hero {
        min-height: auto;
        position: static;
    }
    .metric-grid, .three-column, .two-column, .split, .preview-box, .public-grid, .queue-board, .queue-waiting { grid-template-columns: 1fr; }
    .report-grid, .signature-grid { grid-template-columns: 1fr; }
    .schedule-list article { grid-template-columns: 1fr; }
    .public-nav { align-items: flex-start; flex-direction: column; }
    .public-hero h1 { font-size: 36px; }
}

@media (max-width: 640px) {
    .brand-preset-card { grid-template-columns: 1fr; text-align: left; }
    .brand-preset-action .primary { width: 100%; }
    .main { padding: 18px; }
    .topbar { align-items: flex-start; flex-direction: column; }
    .form-grid, .installer-form, .install-fields { grid-template-columns: 1fr; }
    .install-page { padding: 14px; }
    .installer { gap: 16px; overflow-x: hidden; }
    .install-background { display: none; }
    .install-form-intro::after { display: none; }
    .install-hero, .installer-form, .install-complete { border-radius: 16px; padding: 20px; }
    .install-hero h1 { font-size: 31px; }
    .install-form-intro, .install-submit, .install-footer { flex-direction: column; align-items: stretch; }
    .install-ready-badge { align-self: flex-start; }
    .install-section { padding: 16px; }
    .install-section-heading { grid-template-columns: 38px 1fr; }
    .install-section-heading > span { width: 36px; height: 36px; }
    .install-submit button.primary { width: 100%; }
    .install-topbar { padding-inline: 2px; }
    .sidebar nav { grid-template-columns: 1fr; }
}

/* Licensed installer and activation */
.install-license-section {
    background: linear-gradient(180deg, #ffffff, #f7fbff);
    border-color: #c9dcf7;
}
.install-license-section .install-section-heading > span {
    background: linear-gradient(135deg, #071a33, #2563eb);
}
.official-host-card {
    background: linear-gradient(180deg, #f0fdf4, #ffffff);
    border-color: #bbf7d0;
}
.official-host-card .install-section-heading > span {
    background: linear-gradient(135deg, #166534, #22c55e);
}
.license-registration-notice {
    margin-top: 16px;
    padding: 15px 16px;
    border: 1px solid #bfdbfe;
    border-left: 4px solid #2563eb;
    border-radius: 12px;
    background: #eff6ff;
}
.license-registration-notice strong {
    display: block;
    margin-bottom: 6px;
    color: #0f2a4a;
    font-size: 13px;
}
.license-registration-notice p {
    margin: 0;
    color: #4b6480;
    font-size: 12px;
    line-height: 1.65;
}
.license-consent {
    margin-top: 16px;
    padding: 14px;
    border: 1px solid #dbe7f5;
    border-radius: 12px;
    background: #fff;
}
.license-installer {
    max-width: 1180px;
}
.license-activation-form {
    grid-template-columns: 1fr;
}
.license-block-reason {
    margin-bottom: 14px;
}
.install-brandmark img {
    width: 42px;
    height: 42px;
    object-fit: contain;
}
.license-status-card {
    display: grid;
    grid-template-columns: auto 1fr auto;
    gap: 18px;
    align-items: center;
}
.license-status-icon {
    width: 52px;
    height: 52px;
    border-radius: 16px;
    display: grid;
    place-items: center;
    color: #fff;
    background: linear-gradient(135deg, #071a33, #2563eb);
    font-weight: 800;
}
.license-status-card h2 { margin: 2px 0 6px; }
.license-status-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 16px;
    margin-top: 10px;
    color: var(--muted);
    font-size: 12px;
}
.license-status-actions {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
    justify-content: flex-end;
}
.license-status-badge {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    padding: 5px 9px;
    border-radius: 999px;
    background: #dcfce7;
    color: #166534;
    font-size: 11px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .04em;
}
.license-status-badge.grace { background: #fef3c7; color: #92400e; }
.license-status-badge.invalid { background: #fee2e2; color: #991b1b; }
@media (max-width: 760px) {
    .license-status-card { grid-template-columns: 1fr; }
    .license-status-actions { justify-content: flex-start; }
    .license-registration-notice { padding: 13px; }
}

/* Integrated owner licensing center */
.license-owner-panel {
    border: 1px solid #c9dcf7;
    background: linear-gradient(180deg, #ffffff 0%, #f8fbff 100%);
}
.license-owner-heading {
    display: flex;
    justify-content: space-between;
    gap: 24px;
    align-items: flex-start;
    margin-bottom: 16px;
}
.license-owner-heading h2 { margin: 2px 0 8px; }
.license-owner-stats {
    display: grid;
    grid-template-columns: repeat(3, minmax(92px, 1fr));
    gap: 10px;
    min-width: min(100%, 330px);
}
.license-owner-stats span {
    display: grid;
    gap: 2px;
    padding: 12px;
    border: 1px solid #dbe7f5;
    border-radius: 12px;
    background: #fff;
    color: var(--muted);
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: .04em;
}
.license-owner-stats strong {
    color: var(--ink);
    font-size: 22px;
    line-height: 1;
}
.license-owner-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 18px;
    margin-bottom: 18px;
    padding: 12px 14px;
    border-radius: 12px;
    background: #eef6ff;
    color: #35516f;
    font-size: 12px;
    overflow-wrap: anywhere;
}
.license-owner-details {
    margin-top: 12px;
    border: 1px solid #dbe7f5;
    border-radius: 14px;
    background: #fff;
    overflow: hidden;
}
.license-owner-details > summary {
    cursor: pointer;
    padding: 14px 16px;
    color: #0f2a4a;
    font-weight: 800;
    background: #f8fbff;
    border-bottom: 1px solid transparent;
}
.license-owner-details[open] > summary { border-bottom-color: #e4edf7; }
.license-owner-details > .table-wrap,
.license-owner-details > form { margin: 0; padding: 16px; }
.license-owner-form textarea { width: 100%; resize: vertical; }
.license-code-full {
    display: inline-block;
    min-width: 220px;
    padding: 7px 9px;
    border-radius: 8px;
    background: #071a33;
    color: #e8f3ff;
    user-select: all;
}
.license-inline-control {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    flex-wrap: nowrap;
}
.license-inline-control select { min-width: 112px; }
.license-table-status.active { background: #dcfce7; color: #166534; }
.license-table-status.pending { background: #fef3c7; color: #92400e; }
.license-table-status.suspended,
.license-table-status.deactivated { background: #ffedd5; color: #9a3412; }
.license-table-status.revoked { background: #fee2e2; color: #991b1b; }
@media (max-width: 900px) {
    .license-owner-heading { flex-direction: column; }
    .license-owner-stats { width: 100%; }
}
@media (max-width: 560px) {
    .license-owner-stats { grid-template-columns: 1fr; }
    .license-code-full { min-width: 190px; }
}

/* ========================================================================
   MBORREGA SIS APPLICATION EXPERIENCE — 2026 UI
   The selectors are scoped to .system-app so the installer and public site
   keep their independent layouts.
   ======================================================================== */
body.system-app {
    --ui-sidebar-width: 286px;
    --ui-topbar-height: 112px;
    --ui-canvas: #f4f7fb;
    --ui-surface: #ffffff;
    --ui-surface-soft: #f8fafc;
    --ui-border: #e1e8f1;
    --ui-border-strong: #d2dce9;
    --ui-text: #14243a;
    --ui-muted: #66758a;
    --ui-navy: var(--sidebar, #071a33);
    --ui-primary: var(--primary, #2563eb);
    --ui-primary-soft: color-mix(in srgb, var(--ui-primary) 10%, white);
    --ui-cyan: var(--accent, #38bdf8);
    --ui-success: #15803d;
    --ui-warning: #b45309;
    --ui-danger: #b42318;
    --ui-shadow-sm: 0 1px 2px rgba(15, 35, 58, .04), 0 7px 22px rgba(15, 35, 58, .04);
    --ui-shadow-md: 0 16px 45px rgba(15, 35, 58, .09);
    min-width: 320px;
    min-height: 100vh;
    overflow-x: hidden;
    color: var(--ui-text);
    background: var(--ui-canvas);
    font-family: var(--font-family, Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif);
    -webkit-font-smoothing: antialiased;
}

.system-app *,
.system-app *::before,
.system-app *::after { box-sizing: border-box; }
.system-app a { color: inherit; }
.system-app .sis-icon { width: 20px; height: 20px; flex: 0 0 auto; }
.system-app .app-shell { display: block; min-height: 100vh; }

/* Sidebar */
.system-app .sidebar {
    position: fixed;
    inset: 0 auto 0 0;
    z-index: 60;
    width: var(--ui-sidebar-width);
    height: 100vh;
    display: flex;
    flex-direction: column;
    padding: 0;
    overflow: hidden;
    color: #fff;
    background:
        radial-gradient(circle at 0 0, rgba(56, 189, 248, .15), transparent 28%),
        linear-gradient(180deg, color-mix(in srgb, var(--ui-navy) 92%, #0e3970) 0%, var(--ui-navy) 45%, #061326 100%);
    border-right: 1px solid rgba(255, 255, 255, .07);
    box-shadow: 14px 0 45px rgba(7, 26, 51, .12);
    transition: transform .25s ease;
}
.system-app .sidebar::before {
    content: "";
    position: absolute;
    width: 240px;
    height: 240px;
    right: -150px;
    top: 35%;
    border: 1px solid rgba(255, 255, 255, .05);
    border-radius: 50%;
    box-shadow: 0 0 0 34px rgba(255,255,255,.018), 0 0 0 68px rgba(255,255,255,.012);
    pointer-events: none;
}
.system-app .sidebar-head {
    position: relative;
    z-index: 1;
    display: flex;
    align-items: center;
    min-height: 92px;
    padding: 18px 18px 16px;
    border-bottom: 1px solid rgba(255, 255, 255, .08);
}
.system-app .brand {
    min-width: 0;
    flex: 1;
    display: flex;
    align-items: center;
    gap: 12px;
    margin: 0;
    color: #fff;
}
.system-app .brand-mark {
    width: 46px;
    height: 46px;
    flex: 0 0 46px;
    display: grid;
    place-items: center;
    padding: 6px;
    overflow: hidden;
    background: linear-gradient(135deg, var(--ui-primary), var(--ui-cyan));
    border: 1px solid rgba(255, 255, 255, .22);
    border-radius: 14px;
    box-shadow: 0 10px 28px rgba(37, 99, 235, .30);
}
.system-app .brand-mark img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: contain;
    border-radius: 0;
    background: transparent;
}
.system-app .brand-copy { min-width: 0; display: grid; gap: 4px; }
.system-app .brand-copy strong {
    overflow: hidden;
    color: #fff;
    font-size: 14px;
    font-weight: 800;
    letter-spacing: -.01em;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.system-app .brand-copy small {
    overflow: hidden;
    color: #89a5c3;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .06em;
    text-overflow: ellipsis;
    text-transform: uppercase;
    white-space: nowrap;
}
.system-app .sidebar-close {
    display: none;
    width: 36px;
    height: 36px;
    padding: 0;
    color: #c8d9ed;
    background: rgba(255,255,255,.07);
    border-radius: 10px;
    font-size: 25px;
    line-height: 1;
}
.system-app .sidebar-nav {
    position: relative;
    z-index: 1;
    flex: 1;
    display: block;
    padding: 15px 12px 24px;
    overflow-x: hidden;
    overflow-y: auto;
    scrollbar-color: rgba(255,255,255,.16) transparent;
    scrollbar-width: thin;
}
.system-app .nav-section { margin-bottom: 6px; }
.system-app .nav-section-title {
    width: 100%;
    min-height: 34px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 7px 10px;
    color: #6684a4;
    background: transparent;
    border: 0;
    border-radius: 8px;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .13em;
    text-align: left;
    text-transform: uppercase;
}
.system-app .nav-section-title:hover { color: #a9c1db; background: rgba(255,255,255,.035); }
.system-app .nav-chevron { width: 14px; height: 14px; transition: transform .2s ease; }
.system-app .nav-section.is-collapsed .nav-chevron { transform: rotate(-90deg); }
.system-app .nav-section-items { display: grid; gap: 3px; overflow: hidden; }
.system-app .nav-section.is-collapsed .nav-section-items { display: none; }
.system-app .nav-link {
    position: relative;
    min-height: 43px;
    display: grid;
    grid-template-columns: 34px minmax(0, 1fr) auto;
    align-items: center;
    gap: 9px;
    padding: 5px 10px 5px 7px;
    color: #b7cbe0;
    border: 1px solid transparent;
    border-radius: 12px;
    font-size: 13px;
    font-weight: 650;
    letter-spacing: -.005em;
    transition: color .16s ease, background .16s ease, transform .16s ease;
}
.system-app .nav-link:hover {
    color: #fff;
    background: rgba(255,255,255,.07);
    transform: translateX(2px);
}
.system-app .nav-link.active {
    color: #fff;
    background: linear-gradient(90deg, rgba(37, 99, 235, .72), rgba(37, 99, 235, .28));
    border-color: rgba(96, 165, 250, .22);
    box-shadow: inset 3px 0 0 var(--ui-cyan), 0 8px 22px rgba(0,0,0,.10);
}
.system-app .nav-icon {
    width: 32px;
    height: 32px;
    display: grid;
    place-items: center;
    color: #7ea1c5;
    background: rgba(255,255,255,.04);
    border-radius: 9px;
}
.system-app .nav-icon .sis-icon { width: 17px; height: 17px; }
.system-app .nav-link:hover .nav-icon,
.system-app .nav-link.active .nav-icon { color: #eaf6ff; background: rgba(255,255,255,.10); }
.system-app .nav-active-dot {
    width: 6px;
    height: 6px;
    background: var(--ui-cyan);
    border-radius: 999px;
    box-shadow: 0 0 0 4px rgba(56,189,248,.12);
}
.system-app .sidebar-foot {
    position: relative;
    z-index: 1;
    padding: 12px;
    border-top: 1px solid rgba(255,255,255,.08);
}
.system-app .sidebar-help {
    display: grid;
    grid-template-columns: 36px 1fr;
    gap: 10px;
    align-items: center;
    padding: 10px;
    color: #d5e5f5;
    background: rgba(255,255,255,.05);
    border: 1px solid rgba(255,255,255,.07);
    border-radius: 12px;
}
.system-app .sidebar-help:hover { background: rgba(255,255,255,.09); }
.system-app .sidebar-help strong,
.system-app .sidebar-help small { display: block; }
.system-app .sidebar-help strong { font-size: 12px; }
.system-app .sidebar-help small { margin-top: 2px; color: #7e9bbb; font-size: 10px; }
.system-app .system-version {
    display: flex;
    justify-content: space-between;
    padding: 10px 4px 0;
    color: #53718f;
    font-size: 9px;
    font-weight: 800;
    letter-spacing: .10em;
    text-transform: uppercase;
}
.system-app .system-version span { color: #7192b5; }
.system-app .sidebar-overlay { display: none; }

/* Main workspace and top bar */
.system-app .main {
    min-width: 0;
    min-height: 100vh;
    margin-left: var(--ui-sidebar-width);
    padding: 0;
    background:
        radial-gradient(circle at 92% 3%, rgba(56,189,248,.07), transparent 18%),
        var(--ui-canvas);
}
.system-app .topbar {
    position: sticky;
    top: 0;
    z-index: 40;
    min-height: var(--ui-topbar-height);
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    margin: 0;
    padding: 18px clamp(22px, 3vw, 42px);
    background: rgba(255,255,255,.91);
    border-bottom: 1px solid rgba(214,224,236,.90);
    box-shadow: 0 8px 26px rgba(20,36,58,.035);
    backdrop-filter: blur(16px);
}
.system-app .topbar-leading { min-width: 0; display: flex; align-items: center; gap: 14px; }
.system-app .menu-toggle {
    display: none;
    width: 42px;
    height: 42px;
    flex: 0 0 42px;
    place-items: center;
    padding: 0;
    color: var(--ui-text);
    background: #fff;
    border: 1px solid var(--ui-border);
    border-radius: 12px;
    box-shadow: var(--ui-shadow-sm);
}
.system-app .page-heading { min-width: 0; }
.system-app .breadcrumb {
    display: flex;
    align-items: center;
    gap: 7px;
    margin-bottom: 5px;
    color: #8b99aa;
    font-size: 10px;
    font-weight: 750;
    letter-spacing: .04em;
    text-transform: uppercase;
}
.system-app .breadcrumb a { color: var(--ui-primary); }
.system-app .page-heading h1 {
    margin: 0;
    color: var(--ui-text);
    font-size: clamp(23px, 2vw, 31px);
    font-weight: 800;
    letter-spacing: -.035em;
    line-height: 1.05;
}
.system-app .page-heading p {
    max-width: 720px;
    margin: 7px 0 0;
    overflow: hidden;
    color: var(--ui-muted);
    font-size: 12px;
    line-height: 1.45;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.system-app .topbar-actions { display: flex; align-items: center; gap: 10px; }
.system-app .topbar-primary,
.system-app .date-chip {
    min-height: 42px;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 0 14px;
    border-radius: 12px;
    font-size: 12px;
    font-weight: 800;
    white-space: nowrap;
}
.system-app .topbar-primary {
    color: #fff;
    background: linear-gradient(135deg, var(--ui-primary), color-mix(in srgb, var(--ui-primary) 75%, #4f8dff));
    box-shadow: 0 10px 24px color-mix(in srgb, var(--ui-primary) 24%, transparent);
}
.system-app .topbar-primary:hover { transform: translateY(-1px); box-shadow: 0 13px 30px color-mix(in srgb, var(--ui-primary) 30%, transparent); }
.system-app .topbar-primary .sis-icon,
.system-app .date-chip .sis-icon { width: 17px; height: 17px; }
.system-app .date-chip {
    color: #52657c;
    background: #fff;
    border: 1px solid var(--ui-border);
}
.system-app .user-menu { position: relative; }
.system-app .user-menu > summary {
    min-width: 190px;
    height: 50px;
    display: grid;
    grid-template-columns: 36px minmax(0, 1fr) 16px;
    align-items: center;
    gap: 9px;
    padding: 6px 9px;
    cursor: pointer;
    list-style: none;
    background: #fff;
    border: 1px solid var(--ui-border);
    border-radius: 14px;
    box-shadow: var(--ui-shadow-sm);
}
.system-app .user-menu > summary::-webkit-details-marker { display: none; }
.system-app .user-avatar {
    width: 36px;
    height: 36px;
    display: grid;
    place-items: center;
    color: #fff;
    background: linear-gradient(135deg, var(--ui-navy), var(--ui-primary));
    border-radius: 11px;
    font-size: 13px;
    font-weight: 900;
    box-shadow: 0 7px 16px rgba(7,26,51,.18);
}
.system-app .user-avatar.large { width: 43px; height: 43px; border-radius: 13px; }
.system-app .user-summary { min-width: 0; }
.system-app .user-summary strong,
.system-app .user-summary small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.system-app .user-summary strong { color: var(--ui-text); font-size: 11px; }
.system-app .user-summary small { margin-top: 3px; color: var(--ui-muted); font-size: 9px; text-transform: uppercase; letter-spacing: .05em; }
.system-app .user-chevron { width: 14px; height: 14px; color: #8ea0b3; transform: rotate(90deg); transition: transform .2s; }
.system-app .user-menu[open] .user-chevron { transform: rotate(-90deg); }
.system-app .user-menu-panel {
    position: absolute;
    right: 0;
    top: calc(100% + 9px);
    z-index: 100;
    width: 280px;
    padding: 9px;
    background: #fff;
    border: 1px solid var(--ui-border);
    border-radius: 16px;
    box-shadow: 0 24px 70px rgba(15,35,58,.17);
}
.system-app .user-menu-profile {
    display: grid;
    grid-template-columns: 43px 1fr;
    align-items: center;
    gap: 10px;
    margin-bottom: 7px;
    padding: 9px;
    background: var(--ui-surface-soft);
    border-radius: 12px;
}
.system-app .user-menu-profile strong,
.system-app .user-menu-profile small { display: block; overflow-wrap: anywhere; }
.system-app .user-menu-profile strong { font-size: 12px; }
.system-app .user-menu-profile small { margin-top: 3px; color: var(--ui-muted); font-size: 10px; }
.system-app .user-menu-panel > a,
.system-app .user-menu-panel form button {
    width: 100%;
    min-height: 40px;
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 8px 10px;
    color: #41556d;
    background: transparent;
    border: 0;
    border-radius: 10px;
    font-size: 12px;
    font-weight: 750;
    text-align: left;
}
.system-app .user-menu-panel > a:hover,
.system-app .user-menu-panel form button:hover { color: var(--ui-primary); background: var(--ui-primary-soft); }
.system-app .user-menu-panel .sis-icon { width: 17px; height: 17px; }

/* Content foundation */
.system-app .page-content {
    width: min(100%, 1720px);
    min-height: calc(100vh - var(--ui-topbar-height) - 70px);
    margin: 0 auto;
    padding: 28px clamp(20px, 3vw, 42px) 48px;
}
.system-app h1,
.system-app h2,
.system-app h3,
.system-app p { margin-top: 0; }
.system-app h2 { color: var(--ui-text); font-size: 16px; font-weight: 800; letter-spacing: -.018em; }
.system-app h3 { font-size: 14px; }
.system-app .muted { color: var(--ui-muted); }

.system-app .panel,
.system-app .metric,
.system-app .login-panel {
    position: relative;
    background: var(--ui-surface);
    border: 1px solid var(--ui-border);
    border-radius: 18px;
    box-shadow: var(--ui-shadow-sm);
}
.system-app .panel {
    margin-bottom: 20px;
    padding: 22px;
    overflow: hidden;
}
.system-app .panel:hover { border-color: var(--ui-border-strong); }
.system-app .panel > h2:first-child,
.system-app .panel > form > h2:first-child {
    position: relative;
    margin: -22px -22px 20px;
    padding: 18px 22px 16px 51px;
    background: linear-gradient(180deg, #ffffff, #fbfcfe);
    border-bottom: 1px solid var(--ui-border);
}
.system-app .panel > h2:first-child::before,
.system-app .panel > form > h2:first-child::before {
    content: "";
    position: absolute;
    left: 22px;
    top: 50%;
    width: 16px;
    height: 16px;
    transform: translateY(-50%);
    background: linear-gradient(135deg, var(--ui-primary), var(--ui-cyan));
    border-radius: 5px;
    box-shadow: 0 0 0 5px var(--ui-primary-soft);
}
.system-app .panel > form > h2:first-child { grid-column: 1 / -1; }
.system-app .panel.table-panel { padding-bottom: 8px; }
.system-app .panel.form-panel { border-top: 3px solid color-mix(in srgb, var(--ui-primary) 70%, white); }
.system-app .panel.is-empty .table-wrap { display: none; }

.system-app .metric-grid,
.system-app .three-column,
.system-app .summary-grid,
.system-app .two-column,
.system-app .split {
    display: grid;
    gap: 18px;
    margin-bottom: 20px;
}
.system-app .metric-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.system-app .three-column { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.system-app .summary-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.system-app .two-column,
.system-app .split { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.system-app .two-column > .panel,
.system-app .split > .panel { margin-bottom: 0; }

.system-app .metric {
    min-height: 132px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    padding: 20px;
    overflow: hidden;
}
.system-app .metric::after {
    content: "";
    position: absolute;
    width: 92px;
    height: 92px;
    right: -32px;
    bottom: -42px;
    border: 14px solid var(--ui-primary-soft);
    border-radius: 50%;
}
.system-app .metric span { position: relative; z-index: 1; color: var(--ui-muted); font-size: 11px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.system-app .metric strong { position: relative; z-index: 1; color: var(--ui-text); font-size: clamp(29px, 3vw, 39px); font-weight: 850; letter-spacing: -.045em; line-height: 1; }
.system-app .metric small { position: relative; z-index: 1; color: var(--ui-muted); font-size: 10px; }
.system-app .money { margin: 0; color: var(--ui-primary); font-size: clamp(30px, 4vw, 43px); font-weight: 850; letter-spacing: -.04em; }

/* Dashboard-specific components */
.system-app .dashboard-welcome {
    position: relative;
    min-height: 214px;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 28px;
    margin-bottom: 20px;
    padding: clamp(25px, 4vw, 38px);
    overflow: hidden;
    color: #fff;
    background:
        radial-gradient(circle at 88% 10%, rgba(56,189,248,.30), transparent 26%),
        linear-gradient(135deg, var(--ui-navy) 0%, #0b3464 58%, var(--ui-primary) 135%);
    border: 1px solid rgba(255,255,255,.08);
    border-radius: 22px;
    box-shadow: 0 22px 55px rgba(7,26,51,.17);
}
.system-app .dashboard-welcome::after {
    content: "";
    position: absolute;
    width: 260px;
    height: 260px;
    right: -95px;
    bottom: -160px;
    border: 1px solid rgba(255,255,255,.10);
    border-radius: 50%;
    box-shadow: 0 0 0 38px rgba(255,255,255,.025), 0 0 0 76px rgba(255,255,255,.018);
}
.system-app .dashboard-welcome-copy { position: relative; z-index: 1; max-width: 760px; }
.system-app .dashboard-welcome .eyebrow { color: var(--ui-cyan); letter-spacing: .13em; }
.system-app .dashboard-welcome h2 { margin: 0 0 12px; color: #fff; font-size: clamp(27px, 3vw, 40px); line-height: 1.06; letter-spacing: -.04em; }
.system-app .dashboard-welcome p { max-width: 650px; margin: 0; color: #c6d8e9; font-size: 13px; line-height: 1.7; }
.system-app .welcome-actions { position: relative; z-index: 1; display: flex; flex-wrap: wrap; gap: 9px; }
.system-app .welcome-actions a { min-height: 43px; display: inline-flex; align-items: center; gap: 8px; padding: 0 14px; color: #fff; background: rgba(255,255,255,.09); border: 1px solid rgba(255,255,255,.13); border-radius: 12px; font-size: 11px; font-weight: 800; backdrop-filter: blur(8px); }
.system-app .welcome-actions a:first-child { color: var(--ui-navy); background: #fff; }
.system-app .welcome-actions a:hover { transform: translateY(-1px); background: rgba(255,255,255,.16); }
.system-app .welcome-actions a:first-child:hover { background: #eef7ff; }
.system-app .dashboard-metric {
    min-height: 150px;
    display: grid;
    grid-template-columns: 47px 1fr;
    grid-template-rows: auto auto 1fr;
    gap: 2px 13px;
    padding: 20px;
}
.system-app .dashboard-metric .metric-icon {
    width: 47px;
    height: 47px;
    grid-row: 1 / span 3;
    display: grid;
    place-items: center;
    color: var(--ui-primary);
    background: var(--ui-primary-soft);
    border-radius: 14px;
}
.system-app .dashboard-metric .metric-icon .sis-icon { width: 23px; height: 23px; }
.system-app .dashboard-metric span { align-self: end; }
.system-app .dashboard-metric strong { font-size: 33px; }
.system-app .dashboard-metric small { align-self: start; }
.system-app .dashboard-grid { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(300px, .65fr); gap: 20px; margin-bottom: 20px; }
.system-app .quick-action-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.system-app .quick-action {
    min-height: 82px;
    display: grid;
    grid-template-columns: 38px 1fr;
    align-items: center;
    gap: 10px;
    padding: 12px;
    color: var(--ui-text);
    background: var(--ui-surface-soft);
    border: 1px solid var(--ui-border);
    border-radius: 13px;
}
.system-app .quick-action:hover { color: var(--ui-primary); background: var(--ui-primary-soft); border-color: color-mix(in srgb, var(--ui-primary) 22%, var(--ui-border)); transform: translateY(-1px); }
.system-app .quick-action .nav-icon { color: var(--ui-primary); background: #fff; border: 1px solid var(--ui-border); }
.system-app .quick-action strong,
.system-app .quick-action small { display: block; }
.system-app .quick-action strong { font-size: 11px; }
.system-app .quick-action small { margin-top: 4px; color: var(--ui-muted); font-size: 9px; line-height: 1.35; }
.system-app .progress-row { margin-bottom: 16px; }
.system-app .progress-row:last-child { margin-bottom: 0; }
.system-app .progress-meta { display: flex; justify-content: space-between; gap: 12px; margin-bottom: 7px; color: var(--ui-muted); font-size: 11px; }
.system-app .progress-meta strong { color: var(--ui-text); }
.system-app .progress-track { height: 8px; overflow: hidden; background: #eaf0f6; border-radius: 999px; }
.system-app .progress-track span { height: 100%; display: block; background: linear-gradient(90deg, var(--ui-primary), var(--ui-cyan)); border-radius: inherit; }
.system-app .activity-list { display: grid; gap: 2px; }
.system-app .activity-item { display: grid; grid-template-columns: 38px minmax(0,1fr) auto; gap: 10px; align-items: center; padding: 11px 4px; border-bottom: 1px solid var(--ui-border); }
.system-app .activity-item:last-child { border-bottom: 0; }
.system-app .activity-icon { width: 36px; height: 36px; display: grid; place-items: center; color: var(--ui-primary); background: var(--ui-primary-soft); border-radius: 11px; }
.system-app .activity-icon .sis-icon { width: 17px; height: 17px; }
.system-app .activity-copy { min-width: 0; }
.system-app .activity-copy strong,
.system-app .activity-copy span { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.system-app .activity-copy strong { font-size: 11px; }
.system-app .activity-copy span { margin-top: 3px; color: var(--ui-muted); font-size: 9px; }
.system-app .activity-value { color: var(--ui-text); font-size: 11px; font-weight: 850; white-space: nowrap; }
.system-app .announcement-card { padding: 13px 0; border-bottom: 1px solid var(--ui-border); }
.system-app .announcement-card:last-child { border-bottom: 0; }
.system-app .announcement-meta { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 7px; }
.system-app .announcement-card h3 { margin: 0 0 6px; }
.system-app .announcement-card p { margin: 0; color: var(--ui-muted); font-size: 10px; line-height: 1.55; }

/* Forms */
.system-app .form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 15px 16px; }
.system-app .form-grid .wide,
.system-app .form-grid h2 { grid-column: 1 / -1; }
.system-app .stack { display: grid; gap: 15px; }
.system-app label {
    min-width: 0;
    display: grid;
    gap: 7px;
    color: #53667d;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .025em;
}
.system-app input,
.system-app select,
.system-app textarea {
    width: 100%;
    min-height: 43px;
    padding: 10px 12px;
    color: var(--ui-text);
    background: #fff;
    border: 1px solid var(--ui-border-strong);
    border-radius: 11px;
    outline: none;
    font: inherit;
    font-size: 12px;
    font-weight: 500;
    letter-spacing: normal;
    transition: border-color .15s, box-shadow .15s, background .15s;
}
.system-app textarea { min-height: 105px; resize: vertical; line-height: 1.55; }
.system-app select { appearance: none; padding-right: 38px; background-image: linear-gradient(45deg, transparent 50%, #7d8ea2 50%), linear-gradient(135deg, #7d8ea2 50%, transparent 50%); background-position: calc(100% - 16px) 18px, calc(100% - 11px) 18px; background-size: 5px 5px, 5px 5px; background-repeat: no-repeat; }
.system-app input:hover,
.system-app select:hover,
.system-app textarea:hover { border-color: #bcc9d8; }
.system-app input:focus,
.system-app select:focus,
.system-app textarea:focus { border-color: color-mix(in srgb, var(--ui-primary) 65%, white); box-shadow: 0 0 0 4px var(--ui-primary-soft); }
.system-app input::placeholder,
.system-app textarea::placeholder { color: #a2afbd; }
.system-app input[type="checkbox"],
.system-app input[type="radio"] { width: 18px; min-height: 18px; height: 18px; padding: 0; accent-color: var(--ui-primary); }
.system-app label:has(> input[type="checkbox"]),
.system-app label:has(> input[type="radio"]) { grid-template-columns: auto 1fr; align-items: center; justify-content: start; padding: 10px 12px; background: var(--ui-surface-soft); border: 1px solid var(--ui-border); border-radius: 11px; }
.system-app button,
.system-app .button {
    min-height: 40px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 9px 13px;
    color: #334a63;
    background: #edf2f7;
    border: 1px solid transparent;
    border-radius: 11px;
    font: inherit;
    font-size: 11px;
    font-weight: 800;
    cursor: pointer;
    transition: transform .15s, background .15s, box-shadow .15s;
}
.system-app button:hover,
.system-app .button:hover { transform: translateY(-1px); background: #e5ecf4; }
.system-app button.primary,
.system-app .primary {
    color: #fff;
    background: linear-gradient(135deg, var(--ui-primary), color-mix(in srgb, var(--ui-primary) 75%, #4f8dff));
    box-shadow: 0 8px 20px color-mix(in srgb, var(--ui-primary) 20%, transparent);
}
.system-app button.primary:hover,
.system-app .primary:hover { background: linear-gradient(135deg, color-mix(in srgb, var(--ui-primary) 85%, #071a33), var(--ui-primary)); box-shadow: 0 11px 25px color-mix(in srgb, var(--ui-primary) 27%, transparent); }
.system-app .secondary { color: var(--ui-primary); background: var(--ui-primary-soft); border-color: color-mix(in srgb, var(--ui-primary) 14%, var(--ui-border)); }
.system-app .danger { color: #fff; background: var(--ui-danger); }
.system-app .inline { display: flex; align-items: center; gap: 7px; flex-wrap: wrap; }
.system-app .inline form { display: flex; align-items: center; gap: 7px; }
.system-app .inline select { min-width: 120px; }

/* Tables and data presentation */
.system-app .data-toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin: -3px 0 15px;
}
.system-app .data-toolbar-left { min-width: 0; display: flex; align-items: center; gap: 9px; }
.system-app .data-count { color: var(--ui-muted); font-size: 10px; font-weight: 750; white-space: nowrap; }
.system-app .data-search { position: relative; width: min(320px, 100%); }
.system-app .data-search .sis-icon { position: absolute; left: 11px; top: 50%; width: 16px; height: 16px; color: #8999aa; transform: translateY(-50%); pointer-events: none; }
.system-app .data-search input { min-height: 39px; padding-left: 35px; background: var(--ui-surface-soft); }
.system-app .table-wrap { width: calc(100% + 44px); margin: 0 -22px; overflow-x: auto; border-top: 1px solid var(--ui-border); }
.system-app table { width: 100%; min-width: 720px; border-collapse: separate; border-spacing: 0; }
.system-app th,
.system-app td { padding: 13px 15px; text-align: left; vertical-align: middle; border-bottom: 1px solid var(--ui-border); }
.system-app th {
    position: sticky;
    top: 0;
    z-index: 2;
    color: #738499;
    background: #f7f9fc;
    font-size: 9px;
    font-weight: 850;
    letter-spacing: .075em;
    text-transform: uppercase;
    white-space: nowrap;
}
.system-app td { color: #34495f; font-size: 11px; line-height: 1.45; }
.system-app tbody tr { transition: background .13s; }
.system-app tbody tr:hover { background: #f8fbff; }
.system-app tbody tr:last-child td { border-bottom: 0; }
.system-app td:first-child,
.system-app th:first-child { padding-left: 22px; }
.system-app td:last-child,
.system-app th:last-child { padding-right: 22px; }
.system-app td form { margin: 0; }
.system-app td button { min-height: 34px; padding: 7px 10px; }
.system-app .table-empty {
    display: grid;
    place-items: center;
    gap: 7px;
    min-height: 150px;
    padding: 28px;
    color: var(--ui-muted);
    text-align: center;
}
.system-app .table-empty-icon { width: 42px; height: 42px; display: grid; place-items: center; color: var(--ui-primary); background: var(--ui-primary-soft); border-radius: 13px; }
.system-app .table-empty strong { color: var(--ui-text); font-size: 12px; }
.system-app .table-empty span { max-width: 360px; font-size: 10px; line-height: 1.5; }
.system-app .badge {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 5px 9px;
    color: #38536f;
    background: #edf3f9;
    border: 1px solid #dce7f1;
    border-radius: 999px;
    font-size: 9px;
    font-weight: 850;
    letter-spacing: .035em;
    text-transform: capitalize;
    white-space: nowrap;
}
.system-app .badge::before { content: ""; width: 6px; height: 6px; background: #6b829a; border-radius: 50%; }
.system-app .badge[data-status="active"],
.system-app .badge[data-status="paid"],
.system-app .badge[data-status="present"],
.system-app .badge[data-status="accepted"],
.system-app .badge[data-status="completed"] { color: #166534; background: #ecfdf3; border-color: #ccefd9; }
.system-app .badge[data-status="active"]::before,
.system-app .badge[data-status="paid"]::before,
.system-app .badge[data-status="present"]::before,
.system-app .badge[data-status="accepted"]::before,
.system-app .badge[data-status="completed"]::before { background: #22c55e; }
.system-app .badge[data-status="pending"],
.system-app .badge[data-status="late"],
.system-app .badge[data-status="reviewing"],
.system-app .badge[data-status="unpaid"] { color: #92400e; background: #fffbeb; border-color: #fde7ae; }
.system-app .badge[data-status="pending"]::before,
.system-app .badge[data-status="late"]::before,
.system-app .badge[data-status="reviewing"]::before,
.system-app .badge[data-status="unpaid"]::before { background: #f59e0b; }
.system-app .badge[data-status="inactive"],
.system-app .badge[data-status="rejected"],
.system-app .badge[data-status="void"],
.system-app .badge[data-status="absent"],
.system-app .badge[data-status="locked"] { color: #991b1b; background: #fff1f2; border-color: #fecdd3; }
.system-app .badge[data-status="inactive"]::before,
.system-app .badge[data-status="rejected"]::before,
.system-app .badge[data-status="void"]::before,
.system-app .badge[data-status="absent"]::before,
.system-app .badge[data-status="locked"]::before { background: #ef4444; }

/* Lists and messages */
.system-app .list { display: grid; gap: 10px; }
.system-app .list article,
.system-app .line { padding: 13px; background: var(--ui-surface-soft); border: 1px solid var(--ui-border); border-radius: 12px; }
.system-app .line { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 9px; text-transform: capitalize; }
.system-app .list strong,
.system-app .list span { display: block; }
.system-app .list span { margin-top: 3px; color: var(--ui-muted); font-size: 10px; }
.system-app .list p { margin: 7px 0 0; color: var(--ui-muted); font-size: 10px; line-height: 1.5; }
.system-app .flash {
    display: flex;
    align-items: center;
    gap: 11px;
    margin-bottom: 18px;
    padding: 12px 14px;
    color: #166534;
    background: #ecfdf3;
    border: 1px solid #ccefd9;
    border-radius: 13px;
    box-shadow: var(--ui-shadow-sm);
    font-size: 11px;
    font-weight: 750;
}
.system-app .flash.error { color: #991b1b; background: #fff1f2; border-color: #fecdd3; }
.system-app .flash.info { justify-content: space-between; color: #1e4f83; background: #eff6ff; border-color: #bfdbfe; }
.system-app .flash.info > div { display: grid; gap: 3px; }
.system-app .flash-symbol { width: 24px; height: 24px; flex: 0 0 24px; display: grid; place-items: center; color: #fff; background: #22c55e; border-radius: 8px; }
.system-app .flash.error .flash-symbol { background: #ef4444; }
.system-app .flash-close { width: 28px; min-height: 28px; margin-left: auto; padding: 0; background: transparent; font-size: 18px; opacity: .6; }

/* Footer */
.system-app .app-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin: 0 clamp(20px, 3vw, 42px);
    padding: 20px 0 24px;
    color: #8a99aa;
    border-top: 1px solid var(--ui-border);
    font-size: 9px;
    font-weight: 700;
    letter-spacing: .035em;
}
.system-app .footer-meta { text-align: right; }

/* Login screen */
.login-page {
    position: relative;
    min-height: 100vh;
    display: grid;
    place-items: center;
    overflow: hidden;
    padding: 24px;
    background:
        radial-gradient(circle at 15% 20%, rgba(56,189,248,.23), transparent 24%),
        radial-gradient(circle at 85% 80%, rgba(37,99,235,.24), transparent 27%),
        linear-gradient(135deg, var(--login-bg, #071a33), #0c315d);
}
.login-page::before {
    content: "";
    position: fixed;
    inset: 0;
    opacity: .24;
    background-image: linear-gradient(rgba(255,255,255,.08) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.08) 1px, transparent 1px);
    background-size: 42px 42px;
    mask-image: linear-gradient(to bottom, #000, transparent 78%);
}
.login-page .login-panel {
    position: relative;
    z-index: 1;
    width: min(100%, 460px);
    padding: 36px;
    background: rgba(255,255,255,.97);
    border: 1px solid rgba(255,255,255,.45);
    border-radius: 24px;
    box-shadow: 0 35px 90px rgba(0,0,0,.28);
    backdrop-filter: blur(18px);
}
.login-page .login-brand { display: flex; align-items: center; gap: 12px; margin-bottom: 28px; }
.login-page .login-brand img { width: 50px; height: 50px; padding: 7px; background: linear-gradient(135deg, var(--primary), var(--accent)); border-radius: 15px; }
.login-page .login-brand strong,
.login-page .login-brand span { display: block; }
.login-page .login-brand strong { color: var(--ink); font-size: 13px; }
.login-page .login-brand span { margin-top: 4px; color: var(--muted); font-size: 9px; letter-spacing: .07em; text-transform: uppercase; }
.login-page .login-panel h1 { margin-bottom: 10px; color: var(--ink); font-size: 31px; letter-spacing: -.04em; }
.login-page .login-panel > .muted { margin-bottom: 25px; line-height: 1.6; }
.login-page .login-panel label { display: grid; gap: 7px; color: #53667d; font-size: 10px; font-weight: 800; }
.login-page .login-panel input { min-height: 47px; border-radius: 12px; }
.login-page .login-panel button { min-height: 47px; border-radius: 12px; }
.login-page .login-support { margin: 22px 0 0; color: #8595a6; font-size: 9px; text-align: center; }

/* Mobile and responsive */
@media (max-width: 1260px) {
    .system-app .topbar-primary span,
    .system-app .date-chip span { display: none; }
    .system-app .topbar-primary,
    .system-app .date-chip { width: 42px; justify-content: center; padding: 0; }
    .system-app .dashboard-grid { grid-template-columns: 1fr; }
}
@media (max-width: 1080px) {
    body.system-app { --ui-sidebar-width: 270px; }
    .system-app .metric-grid,
    .system-app .summary-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .system-app .three-column { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .system-app .page-heading p { max-width: 440px; }
}
@media (max-width: 900px) {
    body.system-app { --ui-topbar-height: 94px; }
    .system-app .sidebar { transform: translateX(-102%); width: min(88vw, 310px); box-shadow: 24px 0 70px rgba(0,0,0,.28); }
    .system-app.sidebar-open .sidebar { transform: translateX(0); }
    .system-app .sidebar-close { display: inline-grid; place-items: center; }
    .system-app .sidebar-overlay { position: fixed; inset: 0; z-index: 55; display: block; visibility: hidden; opacity: 0; background: rgba(2,12,24,.58); backdrop-filter: blur(3px); transition: opacity .2s, visibility .2s; }
    .system-app.sidebar-open .sidebar-overlay { visibility: visible; opacity: 1; }
    .system-app .main { margin-left: 0; }
    .system-app .menu-toggle { display: grid; }
    .system-app .topbar { min-height: var(--ui-topbar-height); padding-block: 14px; }
    .system-app .page-heading p { display: none; }
    .system-app .user-menu > summary { min-width: auto; grid-template-columns: 36px 14px; }
    .system-app .user-summary { display: none; }
    .system-app .dashboard-welcome { grid-template-columns: 1fr; }
}
@media (max-width: 720px) {
    .system-app .page-content { padding: 18px 14px 36px; }
    .system-app .topbar { padding-inline: 14px; gap: 10px; }
    .system-app .breadcrumb { display: none; }
    .system-app .page-heading h1 { font-size: 21px; }
    .system-app .date-chip { display: none; }
    .system-app .user-menu-panel { position: fixed; right: 14px; top: 79px; width: min(290px, calc(100vw - 28px)); }
    .system-app .metric-grid,
    .system-app .summary-grid,
    .system-app .three-column,
    .system-app .two-column,
    .system-app .split,
    .system-app .form-grid { grid-template-columns: 1fr; }
    .system-app .panel { padding: 17px; border-radius: 15px; }
    .system-app .panel > h2:first-child,
    .system-app .panel > form > h2:first-child { margin: -17px -17px 17px; padding: 16px 17px 14px 45px; }
    .system-app .panel > h2:first-child::before,
    .system-app .panel > form > h2:first-child::before { left: 17px; }
    .system-app .table-wrap { width: calc(100% + 34px); margin-inline: -17px; }
    .system-app td:first-child,
    .system-app th:first-child { padding-left: 17px; }
    .system-app td:last-child,
    .system-app th:last-child { padding-right: 17px; }
    .system-app .dashboard-welcome { min-height: 0; padding: 23px; border-radius: 17px; }
    .system-app .dashboard-welcome h2 { font-size: 27px; }
    .system-app .quick-action-grid { grid-template-columns: 1fr; }
    .system-app .data-toolbar { align-items: stretch; flex-direction: column-reverse; }
    .system-app .data-search { width: 100%; }
    .system-app .app-footer { align-items: flex-start; flex-direction: column; margin-inline: 14px; }
    .system-app .footer-meta { text-align: left; }
    .system-app .flash.info { align-items: flex-start; flex-direction: column; }
}
@media (max-width: 460px) {
    .system-app .topbar-actions { gap: 7px; }
    .system-app .topbar-primary { display: none; }
    .system-app .metric-grid,
    .system-app .summary-grid { grid-template-columns: 1fr; }
    .system-app .welcome-actions { flex-direction: column; }
    .system-app .welcome-actions a { justify-content: center; }
    .login-page .login-panel { padding: 25px 20px; border-radius: 19px; }
}

@media print {
    .system-app .sidebar,
    .system-app .sidebar-overlay,
    .system-app .topbar,
    .system-app .app-footer,
    .system-app .data-toolbar,
    .system-app .flash { display: none !important; }
    .system-app .main { margin: 0; }
    .system-app .page-content { width: 100%; max-width: none; padding: 0; }
    .system-app .panel,
    .system-app .metric { box-shadow: none; break-inside: avoid; }
}
.system-app label.required-field { position: relative; }
.system-app label.required-field::after {
    content: "Required";
    position: absolute;
    right: 2px;
    top: 0;
    color: #9aabc0;
    font-size: 8px;
    font-weight: 800;
    letter-spacing: .04em;
    text-transform: uppercase;
}
/* Final collision fixes with the legacy component rules. */
.system-app .brand .brand-copy {
    width: auto;
    height: auto;
    min-width: 0;
    display: grid;
    place-items: initial;
    background: transparent;
    border-radius: 0;
    object-fit: initial;
}
.system-app .brand .brand-copy strong,
.system-app .brand .brand-copy small {
    width: auto;
    height: auto;
    background: transparent;
}
.system-app .dashboard-grid .summary-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 11px; }
.system-app .dashboard-grid .summary-grid > div {
    min-height: 88px;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    gap: 7px;
    padding: 14px;
}
.system-app .dashboard-grid .summary-grid > div > span { display: block; font-size: 10px; line-height: 1.35; }
.system-app .dashboard-grid .summary-grid > div > strong { display: block; white-space: nowrap; line-height: 1; }
@media (max-width: 460px) {
    .system-app .dashboard-grid .summary-grid { grid-template-columns: 1fr; }
}

/* Public school information website */
.public-page {
    --public-max: 1180px;
    min-height: 100vh;
    color: var(--ink);
    background: #f6f9fd;
}
.public-page a { text-decoration: none; }
.public-site-header {
    position: sticky;
    top: 0;
    z-index: 40;
    background: rgba(255,255,255,.94);
    border-bottom: 1px solid rgba(15,42,70,.1);
    box-shadow: 0 8px 26px rgba(7,26,51,.05);
    backdrop-filter: blur(16px);
}
.public-nav-shell {
    width: min(var(--public-max), calc(100% - 40px));
    min-height: 76px;
    margin: 0 auto;
    display: flex;
    align-items: center;
    gap: 22px;
}
.public-site-brand {
    min-width: 230px;
    display: flex;
    align-items: center;
    gap: 12px;
    color: var(--ink);
}
.public-site-logo {
    width: 46px;
    height: 46px;
    flex: 0 0 46px;
    display: grid;
    place-items: center;
    padding: 7px;
    background: linear-gradient(145deg, var(--primary), var(--accent));
    border-radius: 14px;
    box-shadow: 0 10px 24px rgba(37,99,235,.22);
}
.public-site-logo img { width: 100%; height: 100%; object-fit: contain; }
.public-site-brand strong,
.public-site-brand small { display: block; }
.public-site-brand strong { font-size: 14px; line-height: 1.15; letter-spacing: -.015em; }
.public-site-brand small { max-width: 190px; margin-top: 4px; color: var(--muted); font-size: 9px; font-weight: 700; letter-spacing: .035em; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.public-site-nav {
    min-width: 0;
    margin-left: auto;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 4px;
}
.public-site-nav a {
    padding: 10px 9px;
    color: #44566e;
    border-radius: 9px;
    font-size: 10px;
    font-weight: 780;
    white-space: nowrap;
}
.public-site-nav a:hover { color: var(--primary); background: #eff6ff; }
.public-login-link {
    min-height: 40px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0 16px;
    color: #fff;
    background: var(--primary-dark);
    border-radius: 11px;
    box-shadow: 0 9px 20px rgba(7,26,51,.16);
    font-size: 10px;
    font-weight: 820;
    white-space: nowrap;
}
.public-login-link:hover { color: #fff; transform: translateY(-1px); }
.public-menu-toggle { display: none; }
.public-main {
    width: min(var(--public-max), calc(100% - 40px));
    margin: 0 auto;
    padding: 30px 0 70px;
}
.landing-notice {
    min-height: 48px;
    display: flex;
    align-items: center;
    gap: 13px;
    margin-bottom: 18px;
    padding: 10px 15px;
    color: #dbeafe;
    background: var(--primary-dark);
    border-radius: 13px;
    font-size: 10px;
}
.landing-notice-label {
    padding: 5px 8px;
    color: #08253f;
    background: #7dd3fc;
    border-radius: 999px;
    font-size: 8px;
    font-weight: 900;
    letter-spacing: .06em;
    text-transform: uppercase;
}
.landing-notice strong { color: #fff; }
.landing-notice > span:nth-of-type(2) { margin-left: auto; color: #a9c2dc; }
.landing-notice a { color: #fff; font-weight: 800; }
.landing-hero {
    position: relative;
    min-height: 570px;
    display: grid;
    grid-template-columns: minmax(0, 1.35fr) minmax(310px, .65fr);
    align-items: center;
    gap: clamp(35px, 6vw, 88px);
    overflow: hidden;
    padding: clamp(46px, 7vw, 84px);
    color: #fff;
    background:
        linear-gradient(100deg, rgba(4,24,48,.97) 0%, rgba(7,39,76,.93) 54%, rgba(13,74,119,.78) 100%),
        var(--landing-hero-image, none),
        radial-gradient(circle at 82% 18%, rgba(56,189,248,.38), transparent 24%),
        linear-gradient(135deg, #061a32, #0d4674);
    background-size: cover;
    background-position: center;
    border-radius: 28px;
    box-shadow: 0 30px 80px rgba(7,26,51,.18);
}
.landing-hero::before {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    opacity: .18;
    background-image: linear-gradient(rgba(255,255,255,.12) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.12) 1px, transparent 1px);
    background-size: 52px 52px;
    mask-image: linear-gradient(to right, #000, transparent 80%);
}
.landing-hero-copy,
.landing-hero-card { position: relative; z-index: 1; }
.landing-kicker,
.landing-card-eyebrow {
    margin: 0;
    color: var(--primary);
    font-size: 9px;
    font-weight: 900;
    letter-spacing: .13em;
    text-transform: uppercase;
}
.landing-hero .landing-kicker { color: #7dd3fc; }
.landing-hero h1 {
    max-width: 760px;
    margin: 17px 0 18px;
    color: #fff;
    font-size: clamp(42px, 6vw, 74px);
    line-height: .98;
    letter-spacing: -.055em;
}
.landing-hero-lead {
    max-width: 680px;
    margin: 0;
    color: #cad9e8;
    font-size: clamp(15px, 1.8vw, 19px);
    line-height: 1.65;
}
.landing-hero-actions { display: flex; flex-wrap: wrap; gap: 11px; margin-top: 30px; }
.landing-button {
    min-height: 48px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
    padding: 0 20px;
    border: 1px solid transparent;
    border-radius: 12px;
    font-size: 10px;
    font-weight: 850;
    transition: transform .18s ease, box-shadow .18s ease, background .18s ease;
}
.landing-button:hover { transform: translateY(-2px); }
.landing-button-primary { color: #07223e; background: #fff; box-shadow: 0 14px 32px rgba(0,0,0,.18); }
.landing-button-secondary { color: #fff; background: rgba(255,255,255,.08); border-color: rgba(255,255,255,.25); }
.landing-button-light { color: var(--primary-dark); background: #fff; }
.landing-trust-row { display: flex; flex-wrap: wrap; gap: 15px; margin-top: 28px; color: #b8cde0; font-size: 9px; font-weight: 700; }
.landing-trust-row span { display: inline-flex; align-items: center; gap: 7px; }
.landing-trust-row span::before { content: ""; width: 6px; height: 6px; background: #38bdf8; border-radius: 50%; box-shadow: 0 0 0 4px rgba(56,189,248,.12); }
.landing-hero-card {
    padding: 28px;
    color: var(--ink);
    background: rgba(255,255,255,.96);
    border: 1px solid rgba(255,255,255,.62);
    border-radius: 22px;
    box-shadow: 0 24px 60px rgba(0,0,0,.24);
    backdrop-filter: blur(14px);
}
.landing-school-mark { width: 70px; height: 70px; display: grid; place-items: center; margin-bottom: 24px; padding: 10px; background: linear-gradient(145deg, var(--primary), var(--accent)); border-radius: 20px; }
.landing-school-mark img { width: 100%; height: 100%; object-fit: contain; }
.landing-hero-card h2 { margin: 10px 0 7px; font-size: 25px; letter-spacing: -.035em; }
.landing-hero-card > p:last-of-type { margin: 0; color: var(--muted); line-height: 1.55; }
.landing-contact-summary { display: grid; gap: 12px; margin: 24px 0 0; }
.landing-contact-summary div { display: grid; grid-template-columns: 62px 1fr; gap: 10px; padding-top: 12px; border-top: 1px solid #e7edf5; }
.landing-contact-summary dt { color: #8a99aa; font-size: 8px; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.landing-contact-summary dd { margin: 0; color: #30435a; font-size: 10px; font-weight: 750; line-height: 1.45; }
.landing-banner { margin-top: 22px; }
.landing-banner img { width: 100%; max-height: 420px; object-fit: cover; border-radius: 22px; box-shadow: 0 20px 48px rgba(7,26,51,.12); }
.landing-about {
    display: grid;
    grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr);
    gap: clamp(35px, 7vw, 100px);
    align-items: start;
    margin: 92px 0;
    padding: 0 clamp(10px, 4vw, 46px);
}
.landing-section-heading h2,
.landing-about h2,
.landing-contact h2,
.landing-portal-cta h2,
.landing-empty-news h2 {
    margin: 11px 0 0;
    color: var(--primary-dark);
    font-size: clamp(29px, 4vw, 44px);
    line-height: 1.08;
    letter-spacing: -.045em;
}
.landing-section-heading > p:last-child { max-width: 720px; margin: 13px auto 0; color: var(--muted); font-size: 13px; line-height: 1.7; }
.landing-section-heading-left h2 { max-width: 520px; }
.landing-about-copy { padding-top: 4px; }
.landing-about-copy p { margin: 0 0 20px; color: #51657c; font-size: 15px; line-height: 1.85; }
.landing-text-link { color: var(--primary); font-size: 10px; font-weight: 850; }
.landing-section { margin: 90px 0; }
.landing-section-heading { margin-bottom: 32px; text-align: center; }
.landing-section-heading-row { display: flex; align-items: end; justify-content: space-between; gap: 30px; text-align: left; }
.landing-section-heading-row > span { padding: 7px 10px; color: #42617e; background: #eaf2fb; border-radius: 999px; font-size: 9px; font-weight: 800; white-space: nowrap; }
.landing-application-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
.landing-application-card {
    position: relative;
    min-height: 320px;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    padding: 24px;
    background: #fff;
    border: 1px solid #dfe9f4;
    border-radius: 19px;
    box-shadow: 0 12px 34px rgba(18,55,91,.07);
    transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.landing-application-card::after { content: ""; position: absolute; inset: auto -30px -52px auto; width: 130px; height: 130px; background: radial-gradient(circle, rgba(56,189,248,.16), transparent 68%); }
.landing-application-card:hover { transform: translateY(-5px); border-color: #bcd8f3; box-shadow: 0 22px 48px rgba(18,55,91,.12); }
.landing-application-icon { width: 51px; height: 51px; display: grid; place-items: center; margin-bottom: 25px; color: var(--primary); background: #eff6ff; border-radius: 15px; }
.landing-application-icon svg { width: 25px; height: 25px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.landing-application-card h3,
.landing-information-card h3,
.landing-announcement-list h3 { margin: 8px 0 10px; color: var(--primary-dark); font-size: 18px; letter-spacing: -.025em; }
.landing-application-card > p:not(.landing-card-eyebrow) { margin: 0; color: var(--muted); font-size: 11px; line-height: 1.7; }
.landing-application-card a { position: relative; z-index: 1; margin-top: auto; padding-top: 22px; color: var(--primary); font-size: 10px; font-weight: 850; }
.landing-information-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 17px; }
.landing-information-card { overflow: hidden; background: #fff; border: 1px solid #dfe9f4; border-radius: 18px; box-shadow: 0 12px 30px rgba(18,55,91,.06); }
.landing-information-card > img { width: 100%; height: 170px; object-fit: cover; }
.landing-information-card > div { padding: 23px; }
.landing-information-card p:not(.landing-card-eyebrow) { min-height: 54px; margin: 0 0 18px; color: var(--muted); font-size: 10px; line-height: 1.7; }
.landing-information-card a { color: var(--primary); font-size: 10px; font-weight: 850; }
.landing-announcement-list { display: grid; gap: 12px; }
.landing-announcement-list article { display: grid; grid-template-columns: 82px 1fr; gap: 22px; padding: 22px; background: #fff; border: 1px solid #dfe9f4; border-radius: 17px; }
.landing-announcement-list time { min-height: 68px; display: grid; place-items: center; align-content: center; color: var(--primary-dark); background: #edf5fd; border-radius: 13px; }
.landing-announcement-list time strong { font-size: 24px; line-height: 1; }
.landing-announcement-list time span { margin-top: 5px; color: #66809a; font-size: 8px; font-weight: 850; letter-spacing: .06em; text-transform: uppercase; }
.landing-announcement-list h3 { margin-top: 0; }
.landing-announcement-list p { margin: 0; color: var(--muted); font-size: 11px; line-height: 1.7; }
.landing-empty-news { display: flex; align-items: center; justify-content: space-between; gap: 30px; padding: 35px; background: #eef5fc; border: 1px dashed #b9cee2; border-radius: 20px; }
.landing-empty-news h2 { font-size: 30px; }
.landing-empty-news p { max-width: 670px; color: var(--muted); line-height: 1.7; }
.landing-contact {
    display: grid;
    grid-template-columns: .8fr 1.2fr;
    gap: 50px;
    align-items: center;
    margin: 92px 0 30px;
    padding: 42px;
    background: #eaf3fc;
    border: 1px solid #d6e7f6;
    border-radius: 23px;
}
.landing-contact > div:first-child > p:last-child { color: var(--muted); line-height: 1.7; }
.landing-contact h2 { font-size: 34px; }
.landing-contact-grid { display: grid; gap: 10px; }
.landing-contact-grid article { padding: 15px 17px; background: rgba(255,255,255,.78); border: 1px solid rgba(255,255,255,.95); border-radius: 13px; }
.landing-contact-grid span,
.landing-contact-grid strong { display: block; }
.landing-contact-grid span { margin-bottom: 5px; color: #7790aa; font-size: 8px; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.landing-contact-grid strong,
.landing-contact-grid a { color: #233b55; font-size: 11px; line-height: 1.5; }
.landing-portal-cta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 35px;
    padding: 38px 42px;
    color: #fff;
    background: linear-gradient(125deg, var(--primary-dark), #0c4b7d);
    border-radius: 23px;
    box-shadow: 0 24px 52px rgba(7,26,51,.16);
}
.landing-portal-cta .landing-kicker { color: #7dd3fc; }
.landing-portal-cta h2 { color: #fff; font-size: 34px; }
.landing-portal-cta p:last-child { max-width: 680px; margin-bottom: 0; color: #c5d8e9; line-height: 1.65; }
.public-footer {
    width: 100%;
    margin: 0;
    padding: 58px max(20px, calc((100vw - var(--public-max)) / 2));
    color: #c3d4e4;
    background: #06182d;
}
.public-footer-grid { display: grid; grid-template-columns: 1.5fr repeat(3, 1fr); gap: 50px; }
.public-footer-grid > div { display: flex; flex-direction: column; align-items: flex-start; gap: 9px; }
.public-footer-grid > div > strong { margin-bottom: 7px; color: #fff; font-size: 10px; letter-spacing: .045em; text-transform: uppercase; }
.public-footer-grid a,
.public-footer-grid span { color: #9eb4c8; font-size: 9px; line-height: 1.55; }
.public-footer-grid a:hover { color: #fff; }
.public-footer-brand { flex-direction: row !important; gap: 13px !important; }
.public-footer-brand img { width: 48px; height: 48px; padding: 7px; background: linear-gradient(145deg, var(--primary), var(--accent)); border-radius: 14px; }
.public-footer-brand strong,
.public-footer-brand span { display: block; }
.public-footer-brand strong { color: #fff; font-size: 13px; }
.public-footer-brand span { margin-top: 5px; }
.public-footer-bottom { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-top: 45px; padding-top: 20px; color: #728ba2; border-top: 1px solid rgba(255,255,255,.1); font-size: 8px; letter-spacing: .04em; }
.application-page-hero { margin-bottom: 24px; padding: 34px !important; background: linear-gradient(135deg, #eef6fd, #fff); border: 1px solid #dce9f5; border-radius: 20px; }
.application-page-hero h1 { margin: 9px 0; color: var(--primary-dark); font-size: clamp(31px, 5vw, 48px); }
.application-page-hero p { color: var(--muted); }
.application-form-panel { padding: clamp(20px, 4vw, 34px); border-radius: 20px; box-shadow: 0 15px 40px rgba(18,55,91,.08); }
.sr-only { 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; }

@media (max-width: 1080px) {
    .public-site-nav a:nth-of-type(n+5):not(:last-child) { display: none; }
    .landing-application-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .landing-information-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 860px) {
    .public-nav-shell { min-height: 70px; }
    .public-site-brand { min-width: 0; margin-right: auto; }
    .public-site-brand small { max-width: 170px; }
    .public-menu-toggle { width: 42px; height: 42px; display: grid; place-content: center; gap: 4px; padding: 0; color: var(--primary-dark); background: #eef4fa; border: 0; border-radius: 11px; }
    .public-menu-toggle span:not(.sr-only) { width: 18px; height: 2px; display: block; background: currentColor; border-radius: 2px; }
    .public-site-nav { position: absolute; top: 69px; left: 20px; right: 20px; display: none; align-items: stretch; flex-direction: column; gap: 3px; padding: 12px; background: #fff; border: 1px solid #dce7f1; border-radius: 15px; box-shadow: 0 22px 50px rgba(7,26,51,.16); }
    .public-site-nav.is-open { display: flex; }
    .public-site-nav a,
    .public-site-nav a:nth-of-type(n+5):not(:last-child) { display: block; padding: 12px; }
    .public-login-link { display: none; }
    .landing-hero { min-height: 0; grid-template-columns: 1fr; padding: 46px 34px; }
    .landing-hero-card { max-width: 520px; }
    .landing-about,
    .landing-contact { grid-template-columns: 1fr; gap: 26px; }
    .public-footer-grid { grid-template-columns: 1.4fr 1fr 1fr; }
    .public-footer-grid > div:last-child { grid-column: 2 / 4; }
}
@media (max-width: 620px) {
    .public-nav-shell,
    .public-main { width: min(100% - 28px, var(--public-max)); }
    .public-main { padding-top: 18px; }
    .public-site-brand strong { max-width: 180px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
    .public-site-brand small { display: none; }
    .landing-notice { align-items: flex-start; flex-wrap: wrap; }
    .landing-notice > span:nth-of-type(2) { width: 100%; margin-left: 0; }
    .landing-hero { padding: 36px 22px; border-radius: 20px; }
    .landing-hero h1 { font-size: 42px; }
    .landing-hero-card { padding: 23px; }
    .landing-hero-actions { flex-direction: column; }
    .landing-button { width: 100%; }
    .landing-about { margin: 65px 0; padding: 0 5px; }
    .landing-section { margin: 66px 0; }
    .landing-section-heading-row { align-items: flex-start; flex-direction: column; }
    .landing-application-grid,
    .landing-information-grid { grid-template-columns: 1fr; }
    .landing-application-card { min-height: 280px; }
    .landing-announcement-list article { grid-template-columns: 62px 1fr; gap: 15px; padding: 16px; }
    .landing-announcement-list time { min-height: 62px; }
    .landing-contact { margin-top: 66px; padding: 26px 21px; }
    .landing-portal-cta,
    .landing-empty-news { align-items: flex-start; flex-direction: column; padding: 28px 22px; }
    .public-footer { padding: 44px 20px 30px; }
    .public-footer-grid { grid-template-columns: 1fr 1fr; gap: 34px 22px; }
    .public-footer-brand { grid-column: 1 / -1; }
    .public-footer-grid > div:last-child { grid-column: auto; }
    .public-footer-bottom { align-items: flex-start; flex-direction: column; }
}


.login-back-link{display:block;margin-top:18px;color:var(--primary);font-size:10px;font-weight:800;text-align:center}.install-success-actions{display:flex;gap:10px;flex-wrap:wrap}.install-success-actions .secondary-link{background:#eef4fa;color:#17324d}

/* CRUD, permissions, and recycle-bin controls */
.record-view-tabs{display:flex;gap:.5rem;align-items:center;margin:0 0 1rem;flex-wrap:wrap}.record-view-tab{display:inline-flex;align-items:center;gap:.45rem;padding:.58rem .85rem;border:1px solid var(--line,#dce4ef);border-radius:999px;background:var(--panel);color:var(--muted);font-weight:700;text-decoration:none;font-size:.85rem}.record-view-tab:hover,.record-view-tab.active{border-color:var(--primary);color:var(--primary);background:color-mix(in srgb,var(--primary) 8%,white)}.record-view-tab .action-icon{width:16px;height:16px}.record-actions{display:flex;align-items:center;gap:.35rem;flex-wrap:wrap;min-width:max-content}.inline-action-form{display:inline-flex;margin:0}.icon-button{display:inline-flex;align-items:center;justify-content:center;gap:.38rem;min-height:34px;padding:.42rem .62rem;border-radius:9px;border:1px solid #d7e0eb;background:#fff;color:#334155;font:inherit;font-size:.78rem;font-weight:750;line-height:1;cursor:pointer;text-decoration:none;white-space:nowrap;box-shadow:none}.icon-button:hover{border-color:var(--primary);color:var(--primary);background:#f7faff;transform:none}.icon-button.edit{color:#1d4ed8;background:#eff6ff;border-color:#bfdbfe}.icon-button.restore{color:#047857;background:#ecfdf5;border-color:#a7f3d0}.icon-button.trash{color:#9a3412;background:#fff7ed;border-color:#fed7aa}.icon-button.delete{color:#b91c1c;background:#fff1f2;border-color:#fecdd3}.icon-button .action-icon{width:15px;height:15px}.action-icon{width:18px;height:18px;display:inline-block;flex:0 0 auto}.table-actions-col{width:1%;white-space:nowrap}.record-deleted{opacity:.72;background:#fff8f8}.record-deleted td:first-child{border-left:3px solid #ef4444}.deleted-meta{font-size:.76rem;color:#991b1b;margin-top:.25rem}.form-heading-row{grid-column:1/-1;display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;border-bottom:1px solid #e7edf4;padding-bottom:.85rem;margin-bottom:.15rem}.form-heading-row h2{margin:0}.form-heading-row p{margin:.3rem 0 0}.form-actions{grid-column:1/-1;display:flex;gap:.6rem;justify-content:flex-start;align-items:center;flex-wrap:wrap}.button-with-icon{display:inline-flex;align-items:center;gap:.45rem}.button-with-icon .action-icon{width:17px;height:17px}.cancel-edit{display:inline-flex;align-items:center;min-height:42px;padding:.68rem .9rem;border-radius:10px;text-decoration:none;border:1px solid #d7e0eb;color:#475569;background:#fff;font-weight:700}.privilege-summary{display:flex;gap:.5rem;flex-wrap:wrap;margin:.75rem 0 1.1rem}.privilege-chip{display:inline-flex;align-items:center;gap:.4rem;padding:.45rem .65rem;border:1px solid #dce5ef;border-radius:999px;background:#f8fafc;color:#475569;font-size:.78rem;font-weight:750}.privilege-chip .action-icon{width:14px;height:14px}.permission-layout{display:grid;grid-template-columns:minmax(220px,280px) minmax(0,1fr);gap:1rem;align-items:start}.permission-role-list{display:grid;gap:.45rem}.permission-role-link{display:flex;justify-content:space-between;align-items:center;gap:.6rem;padding:.72rem .8rem;border:1px solid #dbe4ee;border-radius:11px;text-decoration:none;color:#334155;background:#fff;font-weight:700}.permission-role-link.active,.permission-role-link:hover{border-color:var(--primary);color:var(--primary);background:#eff6ff}.permission-matrix{width:100%;border-collapse:separate;border-spacing:0}.permission-matrix th:first-child,.permission-matrix td:first-child{position:sticky;left:0;background:var(--panel);z-index:1}.permission-matrix th{text-align:center}.permission-matrix th:first-child{text-align:left}.permission-check{display:flex;align-items:center;justify-content:center}.permission-check input{width:18px;height:18px;accent-color:var(--primary)}.permission-locked{display:inline-flex;align-items:center;gap:.35rem;color:#64748b;font-size:.76rem}.permission-locked .action-icon{width:14px;height:14px}.permission-note{padding:.8rem 1rem;border-radius:12px;background:#eff6ff;border:1px solid #bfdbfe;color:#1e40af;font-size:.86rem}.override-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem;align-items:end}.override-badge{display:inline-flex;padding:.3rem .5rem;border-radius:999px;font-size:.72rem;font-weight:800;text-transform:uppercase}.override-badge.allow{background:#dcfce7;color:#166534}.override-badge.deny{background:#fee2e2;color:#991b1b}.upgrade-warning{padding:1rem;border:1px solid #fecaca;background:#fff1f2;color:#991b1b;border-radius:12px;margin-bottom:1rem}.table-wrap table td:last-child .record-actions{justify-content:flex-end}
@media(max-width:900px){.permission-layout{grid-template-columns:1fr}.permission-matrix th:first-child,.permission-matrix td:first-child{position:static}.override-grid{grid-template-columns:1fr 1fr}.icon-button span{display:none}.icon-button{width:36px;padding:.42rem}.record-actions{min-width:auto}}
@media(max-width:560px){.override-grid{grid-template-columns:1fr}.form-heading-row{flex-direction:column}.record-view-tabs{width:100%}.record-view-tab{flex:1;justify-content:center}.permission-matrix{min-width:720px}}


/* Admin create-form reveal and batch tools */
.management-toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    flex-wrap: wrap;
    margin: 0 0 18px;
    padding: 14px 16px;
    border: 1px solid var(--border-color, #dbe4ef);
    border-radius: calc(var(--radius, 14px) + 2px);
    background: rgba(255,255,255,.86);
    box-shadow: 0 8px 24px rgba(15, 36, 63, .05);
}
.management-toolbar-note { margin: 0; color: var(--muted-color, #66758a); font-size: .92rem; }
.management-toolbar-actions { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; margin-left: auto; }
.management-toolbar .button { text-decoration: none; }
.management-toolbar .button.primary { color: #fff; }
.entry-form-panel { scroll-margin-top: 24px; border-color: rgba(37,99,235,.28); box-shadow: 0 16px 40px rgba(15,45,90,.08); }
.entry-form-panel .form-heading-row { border-bottom: 1px solid var(--border-color, #e2e8f0); padding-bottom: 14px; margin-bottom: 8px; }
.batch-upload-hero { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(260px, .8fr); gap: 18px; align-items: stretch; }
.batch-upload-hero .panel { margin: 0; }
.upload-dropzone { display: grid; place-items: center; min-height: 150px; padding: 22px; border: 2px dashed #a9bdd4; border-radius: 14px; background: #f7faff; text-align: center; }
.upload-dropzone input[type=file] { width: 100%; max-width: 460px; }
.template-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(230px,1fr)); gap: 14px; }
.template-card { border: 1px solid var(--border-color, #dbe4ef); border-radius: 14px; padding: 16px; background: #fff; }
.template-card h3 { margin: 0 0 6px; font-size: 1rem; }
.template-card p { margin: 0 0 12px; color: var(--muted-color, #66758a); font-size: .86rem; line-height: 1.45; }
.import-policy { display: grid; gap: 10px; margin: 0; padding: 0; list-style: none; }
.import-policy li { display: flex; gap: 9px; align-items: flex-start; color: var(--muted-color, #66758a); }
.import-policy li::before { content: '✓'; color: #16805b; font-weight: 800; }
.import-result-error { max-width: 420px; white-space: normal; font-size: .82rem; }
@media (max-width: 800px) {
  .batch-upload-hero { grid-template-columns: 1fr; }
  .management-toolbar { align-items: stretch; }
  .management-toolbar-actions { margin-left: 0; width: 100%; }
  .management-toolbar-actions .button { flex: 1 1 180px; justify-content: center; }
}

/* Transactional application workflow */
.application-summary-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;margin:0 0 18px}.application-summary-grid a{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:16px 18px;border:1px solid #dbe5f0;background:#fff;border-radius:var(--radius);text-decoration:none;color:var(--ink);box-shadow:0 8px 24px rgba(15,35,64,.06)}.application-summary-grid a:hover{border-color:var(--primary);transform:translateY(-1px)}.application-summary-grid span{font-size:.82rem;color:var(--muted);font-weight:700}.application-summary-grid strong{font-size:1.6rem;color:var(--primary-dark)}
.application-transaction-form{display:grid;gap:18px}.application-section{border:1px solid #dbe5f0;border-radius:16px;padding:18px;background:#fbfdff;margin:0}.application-section legend{padding:0 10px;font-size:1rem;font-weight:800;color:var(--primary-dark)}.application-section legend span{display:inline-grid;place-items:center;width:28px;height:28px;border-radius:50%;margin-right:8px;background:var(--primary);color:#fff;font-size:.82rem}.application-section-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:8px}.application-section-grid label{display:grid;gap:7px}.application-section-grid label>span{font-weight:700;color:var(--ink);font-size:.88rem}.application-section-grid label em{font-style:normal;color:#c2410c}.application-section-grid .wide{grid-column:1/-1}.application-check{display:flex!important;grid-template-columns:auto 1fr!important;align-items:flex-start;gap:10px!important;padding:12px;border:1px solid #dbe5f0;border-radius:12px;background:#fff}.application-check input{width:18px;height:18px;margin-top:2px}.application-upload-grid input[type=file]{padding:10px;background:#fff}.application-file-help{margin:0;color:var(--muted);font-size:.84rem}.application-submit-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding-top:4px}.application-submit-row .button,.application-submit-row button{min-height:46px}.admin-application-intake{margin-top:18px}
.application-review-header{display:flex;align-items:flex-start;justify-content:space-between;gap:22px}.application-review-header h2{margin:4px 0}.application-review-status{display:grid;justify-items:end;gap:7px;text-align:right}.application-review-columns{grid-template-columns:minmax(0,1.6fr) minmax(320px,.8fr);align-items:start}.application-review-columns>div,.application-review-columns>aside{display:grid;gap:18px}.application-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.application-detail-grid>div{padding:12px;border:1px solid #e1e8f0;border-radius:12px;background:#fbfdff;min-width:0}.application-detail-grid span{display:block;color:var(--muted);font-size:.76rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em;margin-bottom:5px}.application-detail-grid strong{display:block;font-size:.95rem;overflow-wrap:anywhere}.application-document-list{display:grid;gap:12px}.application-document-list article{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;padding:14px;border:1px solid #dbe5f0;border-radius:12px;background:#fbfdff}.application-document-list article>div{display:grid;gap:3px}.application-document-list article span{color:var(--muted);font-size:.84rem}.application-document-review{grid-column:1/-1;display:grid;grid-template-columns:150px minmax(0,1fr) auto;gap:8px;align-items:center}.application-workflow-panel,.application-conversion-panel{position:sticky;top:16px}.application-conversion-panel{position:static}.application-timeline{display:grid;gap:0}.application-timeline article{display:grid;grid-template-columns:18px minmax(0,1fr);gap:10px;position:relative;padding-bottom:18px}.application-timeline article>span{width:10px;height:10px;border-radius:50%;background:var(--primary);margin-top:5px;position:relative;z-index:1}.application-timeline article:not(:last-child)>span:after{content:"";position:absolute;left:4px;top:10px;width:2px;height:calc(100% + 12px);background:#dbe5f0}.application-timeline article>div{display:grid;gap:3px}.application-timeline small{color:var(--muted)}.application-timeline p{margin:4px 0 0}.application-conversion-links{display:flex;flex-wrap:wrap;gap:8px}.application-conversion-links a{display:inline-flex;padding:9px 12px;border-radius:10px;background:#eef5ff;color:var(--primary-dark);font-weight:700;text-decoration:none}.status-submitted{background:#eaf2ff!important;color:#1d4ed8!important}.status-under_review{background:#fff7d6!important;color:#8a5a00!important}.status-needs_information{background:#fff0e5!important;color:#9a3412!important}.status-qualified,.status-approved{background:#e8f8ef!important;color:#166534!important}.status-rejected{background:#feecec!important;color:#b42318!important}.status-converted{background:#e7f7f4!important;color:#0f766e!important}
@media(max-width:1100px){.application-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.application-review-columns{grid-template-columns:1fr}.application-workflow-panel{position:static}}@media(max-width:720px){.application-section{padding:14px}.application-section-grid,.application-detail-grid{grid-template-columns:1fr}.application-section-grid .wide{grid-column:auto}.application-summary-grid{grid-template-columns:1fr}.application-review-header{display:grid}.application-review-status{justify-items:start;text-align:left}.application-document-list article{grid-template-columns:1fr}.application-document-review{grid-template-columns:1fr}.application-submit-row>*{width:100%;justify-content:center}}

/* Parent profile invitation administration */
.parent-invitation-admin-panel .panel-heading-row {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
}
.parent-completion-warning {
    margin: 1rem 0 0;
    padding: .85rem 1rem;
    border-left: 4px solid #f59e0b;
    border-radius: 8px;
    background: #fffbeb;
    color: #92400e;
    font-weight: 700;
}
.application-conversion-panel button[disabled] {
    opacity: .5;
    cursor: not-allowed;
    filter: grayscale(.35);
}
.status-pending, .status-opened { background: #fef3c7; color: #92400e; }
.status-completed { background: #dcfce7; color: #166534; }
.status-expired, .status-revoked { background: #fee2e2; color: #991b1b; }
@media (max-width: 720px) {
    .parent-invitation-admin-panel .panel-heading-row { flex-direction: column; }
}

/* Simple daily queue administration */
.queue-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.queue-toolbar h2, .queue-toolbar p { margin-top: 0; }
.queue-toolbar p { margin-bottom: 0; }
.queue-admin-actions details.action-panel { padding: 0; overflow: hidden; }
.queue-admin-actions details.action-panel > summary {
    list-style: none;
    cursor: pointer;
    padding: 20px 22px;
    font-size: 17px;
    font-weight: 850;
    color: var(--primary-dark);
}
.queue-admin-actions details.action-panel > summary::-webkit-details-marker { display: none; }
.queue-admin-actions details.action-panel > summary::after { content: '+'; float: right; font-size: 24px; color: var(--primary); }
.queue-admin-actions details.action-panel[open] > summary::after { content: '−'; }
.queue-admin-actions details.action-panel > form { padding: 0 22px 22px; border-top: 1px solid #e5edf6; }
.queue-number-small { font-size: 24px; letter-spacing: .04em; color: var(--primary-dark); }
.queue-actions form { display: inline-flex; align-items: center; gap: 8px; margin: 0; }
.queue-actions select { min-width: 140px; }
.queue-metrics small { display: block; margin-top: 6px; color: var(--muted); }
@media (max-width: 780px) {
    .queue-toolbar { align-items: flex-start; flex-direction: column; }
    .queue-actions form { width: 100%; }
    .queue-actions select { min-width: 0; flex: 1; }
}

/* ===== Restricted internal queue workflow ===== */
.queue-access-page,
.queue-kiosk-page,
.queue-monitor-page {
    min-height: 100vh;
    margin: 0;
    background: radial-gradient(circle at top right, rgba(56,189,248,.2), transparent 32%), #071a33;
    color: #132238;
    font-family: Inter, Arial, Helvetica, sans-serif;
}
.queue-access-shell {
    min-height: 100vh;
    display: grid;
    place-items: center;
    padding: 28px;
}
.queue-access-card {
    width: min(920px, 100%);
    background: #fff;
    border-radius: 26px;
    box-shadow: 0 30px 90px rgba(0,0,0,.32);
    overflow: hidden;
}
.queue-access-brand {
    display: flex;
    align-items: center;
    gap: 15px;
    padding: 22px 28px;
    color: #fff;
    background: linear-gradient(135deg, #071a33, #123d70);
}
.queue-access-brand img { width: 54px; height: 54px; object-fit: contain; }
.queue-access-brand p,
.queue-access-brand h1 { margin: 0; }
.queue-access-brand p { color: #9edfff; font-size: 12px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.queue-access-brand h1 { margin-top: 4px; font-size: 23px; color: #fff; }
.queue-access-intro { text-align: center; padding: 42px 28px 18px; }
.queue-access-intro h2 { margin: 10px 0 8px; font-size: clamp(25px,4vw,36px); }
.queue-access-intro p { max-width: 610px; margin: 0 auto; color: #66758a; line-height: 1.65; }
.queue-lock-icon {
    width: 62px; height: 62px; display: inline-grid; place-items: center;
    border-radius: 20px; background: #eaf4ff; color: #2563eb; font-size: 28px;
}
.queue-lock-icon.open { background: #dcfce7; color: #15803d; }
.queue-passcode-form { width: min(460px, calc(100% - 48px)); margin: 18px auto 42px; display: grid; gap: 12px; }
.queue-passcode-form label { font-weight: 800; }
.queue-passcode-form input { font-size: 24px; text-align: center; letter-spacing: .16em; padding: 15px; }
.queue-passcode-form button { min-height: 52px; font-size: 16px; }
.queue-setup-warning { margin: 0 auto 18px; width: min(700px, calc(100% - 48px)); padding: 14px 16px; background: #fff7ed; color: #9a3412; border: 1px solid #fed7aa; border-radius: 12px; }
.queue-mode-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 18px; padding: 14px 28px 32px; }
.queue-mode-card {
    display: flex; flex-direction: column; min-height: 210px; padding: 24px;
    text-decoration: none; color: #132238; border: 1px solid #dbe7f3; border-radius: 20px;
    background: #f8fbff; transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.queue-mode-card:hover { transform: translateY(-3px); box-shadow: 0 18px 40px rgba(15,43,80,.13); border-color: #8bcfff; }
.queue-mode-card > span { font-size: 36px; }
.queue-mode-card strong { margin-top: 18px; font-size: 20px; }
.queue-mode-card small { margin-top: 8px; color: #66758a; line-height: 1.55; }
.queue-mode-card.kiosk { border-top: 5px solid #2563eb; }
.queue-mode-card.display { border-top: 5px solid #38bdf8; }
.queue-mode-card.counter { border-top: 5px solid #10b981; }
.queue-lock-form { text-align: center; padding: 0 28px 36px; }
.queue-lock-form button { background: transparent; color: #66758a; border-color: #cbd5e1; }

.queue-kiosk-topbar {
    min-height: 74px; padding: 12px 26px; display: grid; grid-template-columns: 1fr auto 1fr;
    align-items: center; gap: 18px; color: #fff; border-bottom: 1px solid rgba(255,255,255,.13);
}
.queue-kiosk-topbar a { color: #dff5ff; text-decoration: none; font-weight: 800; }
.queue-kiosk-topbar a:last-child { text-align: right; }
.queue-kiosk-topbar div { text-align: center; }
.queue-kiosk-topbar strong, .queue-kiosk-topbar span { display: block; }
.queue-kiosk-topbar span { color: #9edfff; font-size: 12px; letter-spacing: .1em; text-transform: uppercase; }
.queue-kiosk-shell { width: min(1080px, calc(100% - 32px)); margin: 0 auto; padding: 40px 0 70px; }
.queue-kiosk-heading { text-align: center; color: #fff; margin-bottom: 30px; }
.queue-kiosk-heading p { color: #7dd3fc; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }
.queue-kiosk-heading h1 { margin: 6px 0 8px; color: #fff; font-size: clamp(32px,5vw,54px); }
.queue-kiosk-heading span { color: #c9d8e8; }
.queue-ticket-form { display: grid; gap: 22px; }
.queue-ticket-form fieldset { border: 0; margin: 0; padding: 24px; background: #fff; border-radius: 22px; box-shadow: 0 18px 50px rgba(0,0,0,.18); }
.queue-ticket-form legend { padding: 0 8px; font-size: 18px; font-weight: 900; color: #fff; }
.queue-choice-grid, .queue-priority-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 18px; }
.queue-choice-card, .queue-priority-card {
    position: relative; display: grid; grid-template-columns: auto 1fr; column-gap: 16px; align-items: center;
    padding: 22px; border: 2px solid #dbe7f3; border-radius: 18px; background: #f8fbff; cursor: pointer;
}
.queue-choice-card input, .queue-priority-card input { position: absolute; opacity: 0; pointer-events: none; }
.queue-choice-card:has(input:checked), .queue-priority-card:has(input:checked) { border-color: #2563eb; box-shadow: 0 0 0 4px rgba(37,99,235,.12); background: #eff6ff; }
.queue-choice-code { grid-row: span 2; width: 64px; height: 64px; border-radius: 18px; display: grid; place-items: center; font-size: 30px; font-weight: 950; color: #fff; background: #2563eb; }
.queue-choice-card.cashier .queue-choice-code { background: #0891b2; }
.queue-choice-card strong, .queue-priority-card strong { font-size: 21px; }
.queue-choice-card small, .queue-priority-card small { color: #66758a; line-height: 1.45; }
.queue-priority-card > span { grid-row: span 2; width: 56px; height: 56px; border-radius: 16px; display: grid; place-items: center; font-size: 26px; background: #eaf4ff; color: #2563eb; }
.queue-priority-card.priority > span { background: #fef3c7; color: #b45309; }
.queue-issue-button { min-height: 66px; border: 0; border-radius: 18px; color: #fff; background: linear-gradient(135deg,#2563eb,#0891b2); font-size: 19px; font-weight: 900; box-shadow: 0 18px 40px rgba(37,99,235,.25); cursor: pointer; }
.queue-ticket-screen { display: grid; place-items: center; gap: 24px; }
.queue-ticket-receipt {
    width: min(360px,100%); box-sizing: border-box; background: #fff; padding: 28px 25px;
    text-align: center; border-radius: 18px; box-shadow: 0 24px 70px rgba(0,0,0,.25); color: #111827;
}
.queue-ticket-receipt img { width: 62px; height: 62px; object-fit: contain; }
.queue-ticket-school { margin: 8px 0 20px; font-weight: 900; }
.queue-ticket-caption { margin: 0; color: #64748b; font-weight: 800; letter-spacing: .14em; font-size: 12px; }
.queue-ticket-number { display: block; margin: 8px 0; font-size: 78px; line-height: 1; letter-spacing: .04em; color: #071a33; }
.queue-ticket-receipt h1 { margin: 8px 0 12px; font-size: 22px; }
.queue-ticket-priority { display: inline-block; padding: 7px 12px; border-radius: 999px; background: #eaf4ff; color: #1d4ed8; font-weight: 900; font-size: 12px; text-transform: uppercase; }
.queue-ticket-priority.priority { background: #fef3c7; color: #92400e; }
.queue-ticket-receipt small { display: block; margin-top: 18px; color: #64748b; line-height: 1.5; }
.queue-ticket-actions { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; }

.queue-monitor-page { display: grid; grid-template-rows: auto 1fr auto; background: #061426; color: #fff; }
.queue-monitor-header { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 24px; padding: 20px 30px; border-bottom: 1px solid rgba(255,255,255,.12); background: #071a33; }
.queue-monitor-brand { display: flex; align-items: center; gap: 12px; }
.queue-monitor-brand img { width: 54px; height: 54px; object-fit: contain; }
.queue-monitor-brand strong, .queue-monitor-brand span { display: block; }
.queue-monitor-brand span { color: #7dd3fc; font-size: 11px; font-weight: 900; letter-spacing: .14em; }
.queue-monitor-title { font-size: clamp(24px,3.3vw,46px); font-weight: 950; letter-spacing: .06em; }
.queue-monitor-title span { color: #38bdf8; }
.queue-monitor-clock { text-align: right; }
.queue-monitor-clock strong, .queue-monitor-clock span { display: block; }
.queue-monitor-clock strong { font-size: 28px; }
.queue-monitor-clock span { color: #a8bfd7; }
.queue-monitor-grid { padding: 26px; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 24px; align-content: stretch; }
.queue-monitor-service { min-width: 0; border: 1px solid rgba(255,255,255,.12); border-radius: 24px; overflow: hidden; background: #0b223f; }
.queue-monitor-service > header { padding: 22px 24px; display: flex; align-items: center; gap: 16px; background: linear-gradient(135deg,#123d70,#0b2a4d); }
.queue-monitor-service > header > span { width: 66px; height: 66px; display: grid; place-items: center; border-radius: 20px; background: #38bdf8; color: #071a33; font-size: 34px; font-weight: 950; }
.queue-monitor-service h1, .queue-monitor-service p { margin: 0; }
.queue-monitor-service h1 { font-size: 28px; color: #fff; }
.queue-monitor-service p { color: #a8bfd7; }
.queue-monitor-list { padding: 18px; display: grid; gap: 14px; }
.queue-monitor-ticket { display: grid; grid-template-columns: 1fr 1fr; align-items: center; gap: 20px; padding: 22px; border-radius: 18px; background: #fff; color: #071a33; }
.queue-monitor-ticket.serving { box-shadow: inset 6px 0 0 #22c55e; }
.queue-monitor-ticket.called { box-shadow: inset 6px 0 0 #38bdf8; }
.queue-monitor-ticket > div:first-child > strong { display: block; font-size: clamp(42px,6vw,78px); line-height: 1; letter-spacing: .04em; }
.queue-monitor-priority { display: inline-block; margin-top: 8px; padding: 5px 9px; border-radius: 999px; background: #fef3c7; color: #92400e; font-size: 11px; font-weight: 950; }
.queue-monitor-window { text-align: right; }
.queue-monitor-window span, .queue-monitor-window strong { display: block; }
.queue-monitor-window span { color: #64748b; font-size: 12px; font-weight: 900; letter-spacing: .11em; }
.queue-monitor-window strong { margin-top: 7px; font-size: clamp(20px,3vw,36px); }
.queue-monitor-idle { min-height: 260px; display: grid; place-items: center; align-content: center; gap: 8px; border: 2px dashed rgba(255,255,255,.16); border-radius: 18px; color: #a8bfd7; }
.queue-monitor-idle strong { font-size: 48px; color: #fff; letter-spacing: .1em; }
.queue-monitor-footer { display: flex; justify-content: space-between; align-items: center; gap: 18px; padding: 14px 28px; background: #071a33; border-top: 1px solid rgba(255,255,255,.12); color: #b9cce0; }
.queue-monitor-footer button { color: #fff; border-color: rgba(255,255,255,.25); background: rgba(255,255,255,.08); }

.queue-control-heading { display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.queue-control-heading h2 { margin: 3px 0 8px; }
.queue-counter-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 20px; margin: 20px 0; }
.queue-counter-card { position: relative; overflow: hidden; }
.queue-counter-card.closed, .queue-counter-card.paused { opacity: .75; }
.queue-counter-card > header { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 14px; }
.queue-counter-card header p, .queue-counter-card header h2, .queue-counter-card header span { margin: 0; }
.queue-counter-card header p { color: #2563eb; font-size: 12px; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; }
.queue-counter-card header h2 { margin-top: 3px; font-size: 21px; }
.queue-counter-card header div > span { color: #66758a; font-size: 13px; }
.queue-counter-code { width: 54px; height: 54px; display: grid; place-items: center; border-radius: 16px; background: #071a33; color: #fff; font-size: 27px; font-weight: 950; }
.queue-counter-current { margin-top: 20px; padding: 22px; text-align: center; border-radius: 18px; background: #eff6ff; }
.queue-counter-current > span, .queue-counter-current > strong, .queue-counter-current > em { display: block; }
.queue-counter-current > span { color: #2563eb; font-size: 12px; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }
.queue-counter-current > strong { margin-top: 4px; font-size: 58px; color: #071a33; letter-spacing: .04em; }
.queue-counter-current > em { color: #92400e; font-style: normal; font-weight: 900; }
.queue-counter-empty { min-height: 154px; margin-top: 20px; display: grid; place-items: center; align-content: center; border: 2px dashed #dbe7f3; border-radius: 18px; color: #66758a; }
.queue-counter-empty strong { font-size: 30px; color: #071a33; letter-spacing: .08em; }
.queue-counter-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-top: 12px; }
.queue-counter-actions form, .queue-call-next-form { margin: 0; }
.queue-counter-actions button, .queue-call-next-form button { width: 100%; min-height: 48px; }
.queue-call-next-form { margin-top: 12px; }
.queue-window-status-form { margin-top: 14px; }
.queue-window-status-form select { width: 100%; }
.queue-setup-details > summary { cursor: pointer; font-size: 18px; font-weight: 900; }
.queue-setup-grid { margin-top: 20px; }
.queue-settings-links { display: grid; gap: 7px; padding: 14px; border-radius: 12px; background: #f8fbff; border: 1px solid #dbe7f3; }
.queue-settings-links code { white-space: normal; overflow-wrap: anywhere; }

@media (max-width: 900px) {
    .queue-mode-grid, .queue-monitor-grid, .queue-counter-grid { grid-template-columns: 1fr; }
    .queue-monitor-header { grid-template-columns: 1fr auto; }
    .queue-monitor-title { grid-column: 1 / -1; grid-row: 2; text-align: center; }
    .queue-control-heading { align-items: flex-start; flex-direction: column; }
}
@media (max-width: 640px) {
    .queue-access-shell { padding: 12px; }
    .queue-mode-grid { padding: 10px 18px 24px; }
    .queue-choice-grid, .queue-priority-grid { grid-template-columns: 1fr; }
    .queue-kiosk-topbar { grid-template-columns: 1fr 1fr; padding: 12px 14px; }
    .queue-kiosk-topbar div { grid-column: 1 / -1; grid-row: 1; }
    .queue-kiosk-topbar a { grid-row: 2; }
    .queue-monitor-header { padding: 14px; }
    .queue-monitor-brand span, .queue-monitor-clock span { display: none; }
    .queue-monitor-grid { padding: 12px; }
    .queue-monitor-ticket { grid-template-columns: 1fr; }
    .queue-monitor-window { text-align: left; }
    .queue-monitor-ticket > div:first-child > strong { font-size: 54px; }
}
@media print {
    .no-print, .queue-kiosk-topbar { display: none !important; }
    .queue-kiosk-page { background: #fff !important; }
    .queue-kiosk-shell { width: auto; padding: 0; }
    .queue-ticket-screen { display: block; }
    .queue-ticket-receipt { width: 80mm; min-height: 120mm; box-shadow: none; border-radius: 0; margin: 0 auto; padding: 8mm 6mm; }
}

/* ================================================================
   Internal School Tools: passcode portal and barcode attendance
   ================================================================ */
.internal-tool-access-page,
.barcode-attendance-page {
    min-height: 100vh;
    margin: 0;
    font-family: var(--font-family, Inter, Arial, Helvetica, sans-serif);
    color: #132238;
    background:
        radial-gradient(circle at 10% 0%, rgba(56,189,248,.22), transparent 32%),
        linear-gradient(145deg, #061426 0%, #071a33 48%, #0a2a4d 100%);
}
.internal-tool-access-shell {
    min-height: 100vh;
    display: grid;
    place-items: center;
    padding: 28px;
    box-sizing: border-box;
}
.internal-tool-access-card {
    width: min(980px, 100%);
    overflow: hidden;
    border: 1px solid rgba(255,255,255,.15);
    border-radius: 28px;
    background: #fff;
    box-shadow: 0 34px 90px rgba(0,0,0,.36);
}
.internal-tool-brand {
    display: flex;
    align-items: center;
    gap: 15px;
    padding: 22px 28px;
    color: #fff;
    background: #071a33;
}
.internal-tool-brand img { width: 58px; height: 58px; object-fit: contain; }
.internal-tool-brand p,
.internal-tool-brand h1 { margin: 0; }
.internal-tool-brand p { color: #7dd3fc; font-size: 11px; font-weight: 900; letter-spacing: .14em; text-transform: uppercase; }
.internal-tool-brand h1 { margin-top: 3px; font-size: clamp(20px, 3vw, 30px); }
.internal-tool-access-intro { padding: 30px 30px 12px; text-align: center; }
.internal-tool-access-intro h2 { margin: 12px 0 8px; font-size: clamp(25px, 4vw, 38px); color: #071a33; }
.internal-tool-access-intro p { max-width: 640px; margin: 0 auto; color: #66758a; line-height: 1.6; }
.internal-tool-lock-icon {
    width: 70px; height: 70px; margin: 0 auto; display: grid; place-items: center;
    border-radius: 22px; background: #eaf4ff; font-size: 32px;
}
.internal-tool-lock-icon.open { color: #166534; background: #dcfce7; }
.internal-tool-passcode-form { max-width: 460px; margin: 18px auto 0; padding: 0 30px 26px; display: grid; gap: 10px; }
.internal-tool-passcode-form label { font-weight: 850; color: #24364d; }
.internal-tool-passcode-form input { min-height: 58px; padding: 0 18px; border: 1px solid #cddbea; border-radius: 15px; font-size: 24px; text-align: center; letter-spacing: .12em; }
.internal-tool-passcode-form button { min-height: 54px; }
.internal-tool-back-link { display: block; margin: -10px auto 28px; width: fit-content; color: #2563eb; font-weight: 800; text-decoration: none; }
.internal-tool-grid { padding: 18px 28px 32px; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px; }
.internal-tool-card {
    min-width: 0; min-height: 150px; display: grid; grid-template-columns: auto 1fr; align-content: center;
    gap: 4px 16px; padding: 24px; border: 1px solid #dbe7f3; border-radius: 20px;
    color: #132238; background: #f8fbff; text-decoration: none; transition: .18s ease;
}
.internal-tool-card:hover { transform: translateY(-2px); border-color: #93c5fd; box-shadow: 0 16px 34px rgba(37,99,235,.12); }
.internal-tool-card-icon { grid-row: span 2; width: 60px; height: 60px; display: grid; place-items: center; border-radius: 17px; background: #dbeafe; font-size: 28px; }
.internal-tool-card strong { align-self: end; font-size: 20px; }
.internal-tool-card small { align-self: start; color: #66758a; line-height: 1.45; }
.internal-tool-card.display .internal-tool-card-icon { background: #cffafe; }
.internal-tool-card.student .internal-tool-card-icon { background: #dcfce7; }
.internal-tool-card.staff .internal-tool-card-icon { background: #fef3c7; }
.internal-tool-lock-form { padding: 0 28px 28px; display: flex; align-items: center; justify-content: center; gap: 14px; }
.internal-tool-lock-form button { border: 0; background: transparent; color: #b42318; font-weight: 850; cursor: pointer; }
.internal-tool-lock-form a { color: #2563eb; font-weight: 850; text-decoration: none; }
.internal-tools-toggle-fieldset { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 12px; padding: 16px; border: 1px solid #dbe7f3; border-radius: 14px; }
.internal-tools-toggle-fieldset legend { padding: 0 8px; font-weight: 900; }
.internal-tools-toggle-fieldset .checkbox-row { display: flex; align-items: center; gap: 10px; min-height: 48px; margin: 0; padding: 10px 12px; border: 1px solid #e3edf7; border-radius: 12px; background: #f8fbff; }
.internal-tools-toggle-fieldset input { width: 18px; height: 18px; }

.barcode-tool-topbar {
    min-height: 78px; display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 18px;
    padding: 0 26px; color: #fff; background: rgba(7,26,51,.94); border-bottom: 1px solid rgba(255,255,255,.12);
}
.barcode-tool-topbar > a { color: #bae6fd; font-weight: 850; text-decoration: none; }
.barcode-tool-topbar > div { text-align: center; }
.barcode-tool-topbar strong,
.barcode-tool-topbar div span { display: block; }
.barcode-tool-topbar div span { color: #7dd3fc; font-size: 11px; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }
.barcode-tool-topbar > span { justify-self: end; color: #c9dbec; font-weight: 750; }
.barcode-attendance-shell { min-height: calc(100vh - 78px); display: grid; place-items: center; padding: 24px; box-sizing: border-box; }
.barcode-attendance-card { width: min(680px,100%); padding: 34px; border-radius: 26px; background: #fff; box-shadow: 0 30px 80px rgba(0,0,0,.34); box-sizing: border-box; }
.barcode-attendance-heading { text-align: center; }
.barcode-attendance-icon { width: 80px; height: 80px; margin: 0 auto 14px; display: grid; place-items: center; border-radius: 24px; background: #eaf4ff; font-size: 38px; }
.staff-scan-page .barcode-attendance-icon { background: #fef3c7; }
.barcode-attendance-heading p,
.barcode-attendance-heading h1,
.barcode-attendance-heading > span { margin: 0; }
.barcode-attendance-heading p { color: #2563eb; font-size: 12px; font-weight: 900; letter-spacing: .13em; text-transform: uppercase; }
.barcode-attendance-heading h1 { margin: 5px 0 8px; color: #071a33; font-size: clamp(30px,6vw,46px); }
.barcode-attendance-heading > span { color: #66758a; line-height: 1.55; }
.barcode-scan-form { margin-top: 24px; display: grid; gap: 10px; }
.barcode-scan-form label { text-align: center; color: #24364d; font-weight: 900; }
.barcode-scan-form input { min-height: 68px; padding: 0 20px; border: 2px solid #b9d0e6; border-radius: 17px; text-align: center; font-size: clamp(21px,4vw,32px); font-weight: 900; letter-spacing: .08em; }
.barcode-scan-form input:focus { outline: 4px solid rgba(37,99,235,.14); border-color: #2563eb; }
.barcode-scan-form small { text-align: center; color: #7a899b; }
.barcode-scan-form button { min-height: 58px; margin-top: 5px; font-size: 17px; }
.barcode-scan-result { margin-top: 22px; padding: 18px; display: grid; gap: 4px; text-align: center; border-radius: 16px; border: 1px solid #bbf7d0; background: #f0fdf4; color: #166534; }
.barcode-scan-result.notice { border-color: #bae6fd; background: #f0f9ff; color: #075985; }
.barcode-scan-result.error { border-color: #fecaca; background: #fef2f2; color: #b42318; }
.barcode-scan-result strong { font-size: 20px; }
.barcode-scan-result span { font-weight: 800; }
.barcode-scan-result small { color: inherit; opacity: .8; }

@media (max-width: 760px) {
    .internal-tool-access-shell { padding: 12px; }
    .internal-tool-grid { grid-template-columns: 1fr; padding: 14px 18px 24px; }
    .internal-tool-brand { padding: 18px; }
    .internal-tool-access-intro { padding: 24px 18px 10px; }
    .internal-tool-passcode-form { padding-inline: 18px; }
    .internal-tools-toggle-fieldset { grid-template-columns: 1fr; }
    .barcode-tool-topbar { grid-template-columns: auto 1fr; padding: 10px 14px; }
    .barcode-tool-topbar > div { text-align: right; }
    .barcode-tool-topbar > span { display: none; }
    .barcode-attendance-shell { padding: 12px; }
    .barcode-attendance-card { padding: 24px 18px; }
}

/* Registrar task dashboard */
.registrar-welcome {
    background: linear-gradient(135deg, rgba(7, 26, 51, .98), rgba(37, 99, 235, .92));
}
.registrar-metric-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}
.registrar-dashboard-grid {
    grid-template-columns: minmax(0, 1.65fr) minmax(300px, .75fr);
    align-items: start;
}
.panel-heading-row {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 18px;
    margin-bottom: 18px;
}
.panel-heading-row h2,
.registrar-priority-panel h2 {
    margin: 2px 0 0;
}
.registrar-summary-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
}
.registrar-summary-item {
    display: flex;
    flex-direction: column;
    gap: 8px;
    min-height: 100px;
    padding: 16px;
    border: 1px solid var(--border, #dbe4f0);
    border-radius: 16px;
    background: var(--surface-soft, #f8fbff);
    color: inherit;
    text-decoration: none;
}
.registrar-summary-item:hover {
    border-color: var(--primary, #2563eb);
    transform: translateY(-1px);
}
.registrar-summary-item span {
    color: var(--muted, #64748b);
    font-size: 13px;
}
.registrar-summary-item strong {
    font-size: 30px;
    line-height: 1;
}
.registrar-serving-list {
    margin-top: 18px;
    padding-top: 16px;
    border-top: 1px solid var(--border, #dbe4f0);
}
.registrar-serving-list h3 {
    margin: 0 0 10px;
    font-size: 15px;
}
.registrar-serving-list > div {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
    padding: 10px 0;
    border-bottom: 1px solid var(--border, #e5edf6);
}
.registrar-serving-list > div:last-child {
    border-bottom: 0;
}
.registrar-serving-list strong {
    font-size: 22px;
    color: var(--primary, #2563eb);
}
.registrar-serving-list span {
    color: var(--muted, #64748b);
    font-size: 13px;
}
.registrar-account-setup .form-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}
.registrar-account-setup .form-heading-row,
.registrar-account-setup .form-actions,
.registrar-account-setup .wide {
    grid-column: 1 / -1;
}
.registrar-quick-actions {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}
@media (max-width: 1180px) {
    .registrar-metric-grid,
    .registrar-quick-actions {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .registrar-dashboard-grid {
        grid-template-columns: 1fr;
    }
    .registrar-account-setup .form-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}
@media (max-width: 720px) {
    .registrar-metric-grid,
    .registrar-summary-grid,
    .registrar-quick-actions,
    .registrar-account-setup .form-grid {
        grid-template-columns: 1fr;
    }
    .panel-heading-row {
        flex-direction: column;
        align-items: stretch;
    }
}


/* Administrator/Super User dashboard task switcher */
.task-switcher {
    display: flex;
    align-items: center;
    gap: 8px;
    min-width: 220px;
}
.task-switcher > label {
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .04em;
    text-transform: uppercase;
    color: var(--muted, #64748b);
    white-space: nowrap;
}
.task-switcher-control {
    position: relative;
    display: flex;
    align-items: center;
    min-width: 170px;
    height: 42px;
    border: 1px solid rgba(37, 99, 235, .18);
    border-radius: 12px;
    background: #fff;
    box-shadow: 0 6px 18px rgba(15, 23, 42, .06);
    color: #1d4ed8;
}
.task-switcher-control > svg:first-child {
    width: 18px;
    height: 18px;
    margin-left: 12px;
    flex: 0 0 auto;
}
.task-switcher-control select {
    width: 100%;
    height: 100%;
    border: 0;
    outline: 0;
    appearance: none;
    -webkit-appearance: none;
    background: transparent;
    padding: 0 34px 0 9px;
    color: #0f172a;
    font: inherit;
    font-size: 13px;
    font-weight: 750;
    cursor: pointer;
}
.task-switcher-chevron {
    position: absolute;
    right: 10px;
    width: 15px;
    height: 15px;
    pointer-events: none;
    color: #64748b;
}
.task-preview-notice {
    display: grid;
    grid-template-columns: auto 1fr auto;
    align-items: center;
    gap: 12px;
    margin-bottom: 18px;
    padding: 13px 15px;
    border: 1px solid rgba(37, 99, 235, .22);
    border-radius: 14px;
    background: linear-gradient(135deg, rgba(239, 246, 255, .98), rgba(236, 254, 255, .98));
    color: #0f172a;
}
.task-preview-icon {
    display: grid;
    place-items: center;
    width: 38px;
    height: 38px;
    border-radius: 11px;
    background: #2563eb;
    color: #fff;
}
.task-preview-icon svg { width: 20px; height: 20px; }
.task-preview-notice span:nth-child(2) { display: grid; gap: 2px; }
.task-preview-notice strong { font-size: 13px; }
.task-preview-notice small { color: #475569; font-size: 12px; }
.task-preview-notice a {
    color: #1d4ed8;
    font-size: 12px;
    font-weight: 800;
    text-decoration: none;
    white-space: nowrap;
}
.task-preview-notice a:hover { text-decoration: underline; }
@media (max-width: 1180px) {
    .task-switcher > label { display: none; }
    .task-switcher { min-width: 175px; }
}
@media (max-width: 860px) {
    .task-switcher { order: 5; width: 100%; }
    .task-switcher-control { width: 100%; }
    .task-preview-notice { grid-template-columns: auto 1fr; }
    .task-preview-notice a { grid-column: 2; }
}
@media (max-width: 520px) {
    .task-preview-notice { grid-template-columns: 1fr; }
    .task-preview-icon { display: none; }
    .task-preview-notice a { grid-column: 1; }
}

/* Refined personal information directory and editor */
.section-kicker{display:block;margin-bottom:5px;color:#2563eb;font-size:11px;font-weight:850;letter-spacing:.12em;text-transform:uppercase}
.profile-editor{padding:0;overflow:hidden}.profile-editor-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:22px 24px;border-bottom:1px solid #e5edf6;background:linear-gradient(135deg,#f8fbff,#eef6ff)}.profile-editor-head h2{margin:0;font-size:1.4rem}.profile-editor-head p{margin:5px 0 0;color:#64748b}.profile-editor-form{display:grid;gap:16px;padding:22px}.profile-form-group{margin:0;padding:18px;border:1px solid #dfe8f3;border-radius:16px;background:#fff}.profile-form-group legend{padding:0 8px;color:#0f172a;font-size:14px;font-weight:850}.profile-form-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.profile-form-grid label{display:grid;gap:6px;color:#334155;font-size:12px;font-weight:750}.profile-form-grid input,.profile-form-grid select,.profile-form-grid textarea{width:100%}.profile-form-grid .span-2{grid-column:span 2}.profile-form-grid .span-3{grid-column:1/-1}.profile-editor-actions{display:flex;justify-content:flex-end;gap:10px;padding-top:4px}
.people-directory-panel{padding:0;overflow:hidden}.directory-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:22px 24px 14px}.directory-heading h2{margin:0}.directory-heading p{margin:5px 0 0;color:#64748b}.directory-heading .record-view-tabs{margin:0}.directory-filter-bar{display:grid;grid-template-columns:minmax(260px,1fr) minmax(170px,220px) auto auto;gap:10px;align-items:end;padding:14px 24px;border-top:1px solid #edf2f7;border-bottom:1px solid #e5edf6;background:#f8fafc}.directory-filter-bar label{display:grid;gap:5px;color:#475569;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.04em}.directory-filter-bar input,.directory-filter-bar select{min-height:42px}.people-directory{display:grid;gap:0}.person-directory-card{display:grid;grid-template-columns:minmax(260px,1.35fr) minmax(260px,1fr) minmax(150px,.55fr) auto;gap:18px;align-items:center;padding:18px 24px;border-bottom:1px solid #e8eef5;background:#fff;transition:background .18s ease}.person-directory-card:hover{background:#f9fbff}.person-directory-card:last-child{border-bottom:0}.person-card-main{display:flex;align-items:center;gap:14px;min-width:0}.person-avatar{width:56px;height:56px;flex:0 0 auto;border-radius:16px;overflow:hidden;display:grid;place-items:center;background:linear-gradient(145deg,#071a33,#2563eb);color:#fff;font-weight:850}.person-avatar img{width:100%;height:100%;object-fit:cover}.person-card-identity{min-width:0}.person-card-identity>a{display:block;color:#0f172a;text-decoration:none;font-size:15px}.person-card-identity>a:hover{color:#1d4ed8}.person-card-identity>span{display:block;margin-top:3px;color:#64748b;font-size:12px}.person-badges{display:flex;flex-wrap:wrap;gap:5px;margin-top:8px}.person-badge{display:inline-flex;padding:4px 7px;border-radius:999px;background:#eef2f7;color:#475569;font-size:10px;font-weight:850}.person-badge.blue{background:#eaf2ff;color:#1d4ed8}.person-badge.teal{background:#e7faf6;color:#0f766e}.person-badge.purple{background:#f2eaff;color:#7e22ce}.person-badge.orange{background:#fff2df;color:#b45309}.person-card-details{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 14px}.person-card-details div{min-width:0}.person-card-details span{display:block;color:#94a3b8;font-size:10px;font-weight:850;text-transform:uppercase;letter-spacing:.05em}.person-card-details strong{display:block;margin-top:2px;color:#334155;font-size:12px;overflow-wrap:anywhere}.person-card-completion{min-width:0}.person-card-completion>div:first-child{display:flex;justify-content:space-between;gap:8px;color:#64748b;font-size:11px}.person-card-completion strong{color:#0f172a}.mini-progress{height:6px;margin-top:7px;border-radius:999px;background:#e5eaf1;overflow:hidden}.mini-progress span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#2563eb,#38bdf8)}.person-card-actions{justify-self:end}.person-card-actions .record-actions{justify-content:flex-end}.person-card-deleted{grid-column:1/-1;padding:10px 12px;border-radius:10px;background:#fff1f2;color:#9f1239}.person-card-deleted span{display:block;font-size:12px}.directory-empty{display:grid;place-items:center;gap:5px;padding:54px 24px;color:#64748b;text-align:center}.directory-empty strong{color:#0f172a;font-size:17px}

/* Focused report center */
.reports-hero{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;padding:24px;background:linear-gradient(135deg,#071a33,#123f73);color:#fff}.reports-hero h2{margin:0;color:#fff;font-size:clamp(1.55rem,3vw,2.15rem)}.reports-hero p{max-width:720px;margin:7px 0 0;color:#cbdcf0;line-height:1.55}.reports-hero .section-kicker{color:#7dd3fc}.reports-date-filter{display:grid;grid-template-columns:repeat(2,minmax(135px,1fr)) auto;gap:9px;align-items:end;min-width:min(480px,100%)}.reports-date-filter label{display:grid;gap:5px;color:#dbeafe;font-size:11px;font-weight:800}.reports-date-filter input{min-height:42px;border-color:rgba(255,255,255,.24);background:#fff}.report-summary-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;margin-bottom:18px}.report-summary-grid article{padding:17px;border:1px solid #dfe8f3;border-radius:15px;background:#fff}.report-summary-grid span{display:block;color:#64748b;font-size:11px;font-weight:800}.report-summary-grid strong{display:block;margin-top:6px;color:#0f172a;font-size:1.65rem}.report-library-panel{padding:0;overflow:hidden}.report-library-heading{padding:22px 24px 8px}.report-library-heading h2{margin:0}.report-library-heading p{margin:5px 0 0;color:#64748b}.report-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;padding:16px 24px 24px}.report-card{position:relative;display:grid;gap:7px;min-height:180px;padding:18px;border:1px solid #dfe7f1;border-radius:16px;background:#fff;color:#0f172a;text-decoration:none;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}.report-card:hover,.report-card.active{transform:translateY(-2px);border-color:#8ab5f8;box-shadow:0 12px 28px rgba(15,23,42,.08)}.report-card-icon{width:42px;height:42px;display:grid;place-items:center;border-radius:12px;background:#edf4ff;color:#2563eb}.report-card-icon svg{width:20px}.report-card-group{color:#64748b;font-size:10px;font-weight:850;letter-spacing:.08em;text-transform:uppercase}.report-card strong{font-size:16px}.report-card small{color:#64748b;line-height:1.45}.report-card-open{margin-top:auto;color:#2563eb;font-size:12px;font-weight:850}.report-card.teal .report-card-icon{background:#e6faf6;color:#0f766e}.report-card.purple .report-card-icon{background:#f3eaff;color:#7e22ce}.report-card.orange .report-card-icon{background:#fff2df;color:#b45309}.report-card.indigo .report-card-icon{background:#eef2ff;color:#4338ca}.report-card.green .report-card-icon{background:#e9f9ee;color:#15803d}.report-card.gray .report-card-icon{background:#eef2f7;color:#475569}.report-document-v2{padding:0;overflow:hidden}.report-document-header{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:16px;align-items:center;padding:22px 24px;border-bottom:1px solid #dfe8f3;background:#fff}.report-school-mark{width:58px;height:58px;border-radius:16px;display:grid;place-items:center;overflow:hidden;background:#071a33;color:#fff;font-size:22px;font-weight:850}.report-school-mark img{width:100%;height:100%;object-fit:contain}.report-document-label{display:block;color:#2563eb;font-size:10px;font-weight:850;letter-spacing:.12em;text-transform:uppercase}.report-document-header h2{margin:3px 0 2px}.report-document-header p{margin:0;color:#64748b;font-size:12px}.report-document-actions{display:flex;gap:8px}.report-document-meta{display:flex;justify-content:space-between;gap:12px;padding:10px 24px;background:#f8fafc;color:#64748b;font-size:11px}.report-table-wrap{padding:0}.report-table-v2{width:100%;border-collapse:collapse}.report-table-v2 th{padding:11px 13px;background:#f1f5f9;color:#475569;font-size:10px;font-weight:850;letter-spacing:.04em;text-transform:uppercase;text-align:left}.report-table-v2 td{padding:11px 13px;border-bottom:1px solid #e8eef5;color:#334155;font-size:12px}.report-table-v2 tbody tr:hover{background:#f8fbff}.report-value-badge{display:inline-flex;padding:4px 7px;border-radius:999px;background:#edf3fa;color:#334155;font-size:10px;font-weight:800}.report-empty{display:grid;place-items:center;gap:5px;padding:50px 20px;color:#64748b}.report-empty strong{color:#0f172a;font-size:17px}.report-document-footer{display:flex;justify-content:space-between;gap:12px;padding:12px 24px;border-top:1px solid #e5ebf2;color:#64748b;font-size:10px}
@media(max-width:1180px){.person-directory-card{grid-template-columns:minmax(240px,1.2fr) minmax(220px,1fr) auto}.person-card-completion{grid-column:2}.report-summary-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.report-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.reports-hero{align-items:stretch;flex-direction:column}.reports-date-filter{min-width:0}}
@media(max-width:820px){.profile-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.profile-form-grid .span-3{grid-column:1/-1}.directory-heading{flex-direction:column}.directory-filter-bar{grid-template-columns:1fr 1fr}.person-directory-card{grid-template-columns:1fr}.person-card-completion{grid-column:auto}.person-card-actions{justify-self:start}.person-card-actions .record-actions{justify-content:flex-start}.report-document-header{grid-template-columns:auto 1fr}.report-document-actions{grid-column:1/-1}.report-card-grid{grid-template-columns:1fr}.report-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.profile-editor-head{flex-direction:column}.profile-form-grid{grid-template-columns:1fr}.profile-form-grid .span-2,.profile-form-grid .span-3{grid-column:auto}.directory-filter-bar{grid-template-columns:1fr}.person-card-details{grid-template-columns:1fr}.report-summary-grid{grid-template-columns:1fr}.reports-date-filter{grid-template-columns:1fr}.report-document-header{grid-template-columns:1fr}.report-school-mark{width:50px;height:50px}.report-document-actions{flex-direction:column}.report-document-meta,.report-document-footer{flex-direction:column}}
@media print{.reports-hero,.report-summary-grid,.report-library-panel,.sidebar,.topbar,.page-header-actions{display:none!important}.report-document-v2{box-shadow:none!important;border:0!important}.report-document-actions{display:none!important}.report-document-header{padding:0 0 14px}.report-table-v2 th,.report-table-v2 td{padding:7px 8px}.report-document-footer{padding-inline:0}}

/* ========================================================================== 
   PDS-style application forms — shared by public and assisted intake
   ========================================================================== */
.application-form-panel.application-pds-sheet {
    width: min(1120px, 100%);
    margin-inline: auto;
    padding: 0 !important;
    overflow: hidden;
    border: 1px solid #111827 !important;
    border-radius: 0 !important;
    background: #fff;
    box-shadow: 0 18px 45px rgba(15, 23, 42, .13) !important;
}
.application-pds-form {
    display: block !important;
    background: #fff;
    color: #111827;
    font-family: Arial, Helvetica, sans-serif;
}
.application-pds-document-header {
    display: grid;
    grid-template-columns: 92px minmax(0, 1fr) 150px;
    align-items: center;
    min-height: 112px;
    border-bottom: 2px solid #111827;
}
.application-pds-school-mark {
    display: grid;
    place-items: center;
    height: 100%;
    padding: 14px;
    border-right: 1px solid #111827;
}
.application-pds-school-mark img {
    width: 68px;
    height: 68px;
    object-fit: contain;
}
.application-pds-school-identity {
    display: grid;
    gap: 3px;
    justify-items: center;
    padding: 14px 18px;
    text-align: center;
}
.application-pds-school-identity .application-pds-republic {
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
}
.application-pds-school-identity strong {
    font-size: clamp(20px, 2.4vw, 29px);
    line-height: 1.12;
    text-transform: uppercase;
}
.application-pds-school-identity > span:last-child {
    color: #475569;
    font-size: 12px;
}
.application-pds-code {
    align-self: stretch;
    display: grid;
    align-content: center;
    gap: 4px;
    padding: 14px;
    border-left: 1px solid #111827;
    text-align: center;
}
.application-pds-code span,
.application-pds-reference-row span {
    display: block;
    color: #475569;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .04em;
    text-transform: uppercase;
}
.application-pds-code strong {
    font-size: 14px;
    letter-spacing: .04em;
}
.application-pds-code small {
    color: #64748b;
    font-size: 10px;
}
.application-pds-title-block {
    padding: 12px 18px 11px;
    border-bottom: 1px solid #111827;
    text-align: center;
}
.application-pds-title-block > span {
    color: #334155;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .12em;
    text-transform: uppercase;
}
.application-pds-title-block h2 {
    margin: 3px 0 4px;
    color: #071a33;
    font-size: clamp(18px, 2.2vw, 25px);
    letter-spacing: .07em;
    line-height: 1.15;
    text-transform: uppercase;
}
.application-pds-title-block p {
    margin: 0;
    color: #475569;
    font-size: 12px;
}
.application-pds-reference-row {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    border-bottom: 1px solid #111827;
}
.application-pds-reference-row > div {
    min-height: 56px;
    padding: 8px 10px;
    border-right: 1px solid #111827;
}
.application-pds-reference-row > div:last-child { border-right: 0; }
.application-pds-reference-row strong {
    display: block;
    margin-top: 4px;
    font-size: 13px;
    line-height: 1.25;
}
.application-pds-instruction {
    padding: 9px 12px;
    border-bottom: 1px solid #111827;
    background: #f1f5f9;
    color: #334155;
    font-size: 12px;
    line-height: 1.45;
}
.application-pds-form .application-section {
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: #fff !important;
}
.application-pds-form .application-section legend {
    float: left;
    width: 100%;
    margin: 0;
    padding: 7px 10px !important;
    border: 0;
    background: #071a33;
    color: #fff !important;
    font-size: 12px !important;
    font-weight: 800;
    letter-spacing: .045em;
    line-height: 1.25;
    text-transform: uppercase;
}
.application-pds-form .application-section legend + * { clear: both; }
.application-pds-form .application-section legend span {
    display: inline-grid !important;
    place-items: center;
    width: 22px !important;
    height: 22px !important;
    margin-right: 7px !important;
    border: 1px solid rgba(255,255,255,.75);
    border-radius: 0 !important;
    background: transparent !important;
    color: #fff !important;
    font-size: 10px !important;
}
.application-pds-form .application-section-grid {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 0 !important;
    margin: 0 !important;
    border-left: 1px solid #111827;
    border-top: 1px solid #111827;
}
.application-pds-form .application-section-grid > label {
    display: grid;
    align-content: start;
    gap: 4px !important;
    min-width: 0;
    min-height: 74px;
    margin: 0;
    padding: 7px 8px 8px;
    border-right: 1px solid #111827;
    border-bottom: 1px solid #111827;
    background: #fff;
}
.application-pds-form .application-section-grid > label > span {
    color: #475569 !important;
    font-size: 10px !important;
    font-weight: 800 !important;
    letter-spacing: .035em;
    line-height: 1.25;
    text-transform: uppercase;
}
.application-pds-form .application-section-grid > label > span em {
    color: #b91c1c;
}
.application-pds-form .application-section-grid .wide { grid-column: 1 / -1 !important; }
.application-pds-form .application-section-grid input:not([type="checkbox"]):not([type="file"]),
.application-pds-form .application-section-grid select,
.application-pds-form .application-section-grid textarea {
    width: 100%;
    min-width: 0;
    margin-top: auto;
    padding: 7px 3px 5px !important;
    border: 0 !important;
    border-bottom: 1px solid #94a3b8 !important;
    border-radius: 0 !important;
    outline: 0;
    background: transparent !important;
    box-shadow: none !important;
    color: #111827;
    font: 500 14px/1.35 Arial, Helvetica, sans-serif;
}
.application-pds-form .application-section-grid textarea {
    min-height: 72px;
    resize: vertical;
}
.application-pds-form .application-section-grid input:focus,
.application-pds-form .application-section-grid select:focus,
.application-pds-form .application-section-grid textarea:focus {
    border-bottom-color: #2563eb !important;
    background: #eff6ff !important;
}
.application-pds-form .application-check {
    display: flex !important;
    min-height: 58px !important;
    align-items: flex-start !important;
    gap: 9px !important;
    border-radius: 0 !important;
}
.application-pds-form .application-check input[type="checkbox"] {
    flex: 0 0 auto;
    width: 18px !important;
    height: 18px !important;
    margin: 1px 0 0 !important;
}
.application-pds-form .application-check > span {
    color: #111827 !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    letter-spacing: 0;
    line-height: 1.35;
    text-transform: none;
}
.application-pds-form .application-upload-grid > label { min-height: 92px; }
.application-pds-form .application-upload-grid input[type="file"] {
    width: 100%;
    margin-top: auto;
    padding: 7px !important;
    border: 1px dashed #94a3b8 !important;
    border-radius: 0 !important;
    background: #f8fafc !important;
    font-size: 12px;
}
.application-pds-form .application-file-help {
    grid-column: 1 / -1 !important;
    margin: 0;
    padding: 8px 10px;
    border-right: 1px solid #111827;
    border-bottom: 1px solid #111827;
    background: #f8fafc;
    color: #475569;
    font-size: 11px;
}
.application-pds-form .application-submit-row {
    display: flex;
    justify-content: flex-end;
    gap: 10px;
    padding: 16px;
    border-top: 1px solid #111827;
    background: #f8fafc;
}
.application-pds-form .application-submit-row .button,
.application-pds-form .application-submit-row button {
    min-height: 44px;
}
@media (max-width: 980px) {
    .application-pds-form .application-section-grid,
    .application-pds-reference-row { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
    .application-pds-reference-row > div:nth-child(2) { border-right: 0; }
    .application-pds-reference-row > div:nth-child(-n+2) { border-bottom: 1px solid #111827; }
}
@media (max-width: 680px) {
    .application-form-panel.application-pds-sheet { width: 100%; }
    .application-pds-document-header {
        grid-template-columns: 70px minmax(0, 1fr);
        min-height: 94px;
    }
    .application-pds-school-mark { padding: 9px; }
    .application-pds-school-mark img { width: 50px; height: 50px; }
    .application-pds-school-identity { padding: 10px 8px; }
    .application-pds-school-identity strong { font-size: 17px; }
    .application-pds-school-identity > span:last-child { font-size: 10px; }
    .application-pds-code {
        grid-column: 1 / -1;
        grid-template-columns: auto auto auto;
        justify-content: center;
        align-items: center;
        gap: 8px;
        padding: 7px;
        border-top: 1px solid #111827;
        border-left: 0;
    }
    .application-pds-title-block { padding-inline: 10px; }
    .application-pds-form .application-section-grid,
    .application-pds-reference-row { grid-template-columns: 1fr !important; }
    .application-pds-reference-row > div {
        border-right: 0 !important;
        border-bottom: 1px solid #111827 !important;
    }
    .application-pds-reference-row > div:last-child { border-bottom: 0 !important; }
    .application-pds-form .application-section-grid .wide { grid-column: auto !important; }
    .application-pds-form .application-section-grid > label { min-height: 68px; }
    .application-pds-form .application-submit-row { flex-direction: column; }
    .application-pds-form .application-submit-row > * { width: 100%; justify-content: center; }
}


/* Enrollment application phase 1 */
.application-entry-choice{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:0 0 18px}.application-entry-choice a{display:flex;flex-direction:column;gap:4px;padding:17px 18px;border:1px solid var(--line,#d9e0e7);border-radius:14px;background:#fff;text-decoration:none;color:inherit}.application-entry-choice a.active,.application-entry-choice a:hover{border-color:var(--primary,#1e5aa8);box-shadow:0 8px 24px rgba(15,45,80,.09)}.application-entry-choice span{color:var(--muted,#637083);font-size:.9rem}.returning-student-verification{max-width:860px;margin-inline:auto}.verified-student-banner{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:16px 18px;margin:0 0 18px;border:1px solid #b9d8c3;border-radius:14px;background:#f1fbf4}.verified-student-banner div{display:flex;flex-direction:column;gap:3px}.verified-student-banner span{font-size:.76rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:#2d6a3f}.verified-student-banner small{color:#52635a}.existing-student-assessment table td:first-child{font-weight:700}.enrollment-action-panel .form-heading-row{align-items:center}.application-status-strip{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:14px;padding-top:14px;border-top:1px solid var(--line,#d9e0e7)}
@media(max-width:720px){.application-entry-choice{grid-template-columns:1fr}.verified-student-banner,.application-status-strip{align-items:flex-start;flex-direction:column}}

/* ========================================================================== 
   Compact application form on screen; formal PDS layout only when printed
   ========================================================================== */
@media screen {
    .application-form-panel.application-pds-sheet {
        width: min(1180px, 100%);
        margin-inline: auto;
        padding: 16px !important;
        overflow: visible;
        border: 1px solid var(--line, #dbe4ee) !important;
        border-radius: 18px !important;
        background: var(--surface, #ffffff) !important;
        box-shadow: 0 12px 34px rgba(15, 23, 42, .08) !important;
    }

    .application-pds-form {
        display: grid !important;
        gap: 14px !important;
        background: transparent !important;
        color: inherit !important;
        font-family: inherit !important;
    }

    /* These elements belong to the printable PDS, not the interactive form. */
    .application-pds-document-header,
    .application-pds-title-block,
    .application-pds-reference-row,
    .application-pds-instruction {
        display: none !important;
    }

    .application-pds-form .application-section {
        margin: 0 !important;
        padding: 0 !important;
        overflow: hidden;
        border: 1px solid var(--line, #dbe4ee) !important;
        border-radius: 14px !important;
        background: #fff !important;
    }

    .application-pds-form .application-section legend {
        float: none !important;
        width: 100% !important;
        margin: 0 !important;
        padding: 10px 13px !important;
        border: 0 !important;
        border-bottom: 1px solid var(--line, #dbe4ee) !important;
        background: #f6f8fb !important;
        color: #172033 !important;
        font-size: 12px !important;
        font-weight: 850 !important;
        letter-spacing: .025em !important;
        line-height: 1.25 !important;
        text-transform: none !important;
    }

    .application-pds-form .application-section legend + * {
        clear: none !important;
    }

    .application-pds-form .application-section legend span {
        display: inline-grid !important;
        place-items: center !important;
        width: 22px !important;
        height: 22px !important;
        margin-right: 7px !important;
        border: 0 !important;
        border-radius: 7px !important;
        background: var(--primary, #1e5aa8) !important;
        color: #fff !important;
        font-size: 10px !important;
    }

    .application-pds-form .application-section-grid {
        display: grid !important;
        grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
        gap: 10px 12px !important;
        margin: 0 !important;
        padding: 12px !important;
        border: 0 !important;
        background: #fff !important;
    }

    .application-pds-form .application-section-grid > label {
        display: grid !important;
        align-content: start !important;
        gap: 5px !important;
        min-width: 0 !important;
        min-height: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        border: 0 !important;
        background: transparent !important;
    }

    .application-pds-form .application-section-grid > label > span {
        color: #526074 !important;
        font-size: 10px !important;
        font-weight: 800 !important;
        letter-spacing: .025em !important;
        line-height: 1.2 !important;
        text-transform: uppercase !important;
    }

    .application-pds-form .application-section-grid > label > span em {
        color: #b42318 !important;
        font-style: normal !important;
    }

    .application-pds-form .application-section-grid .wide {
        grid-column: 1 / -1 !important;
    }

    .application-pds-form .application-section-grid input:not([type="checkbox"]):not([type="file"]),
    .application-pds-form .application-section-grid select,
    .application-pds-form .application-section-grid textarea {
        width: 100% !important;
        min-width: 0 !important;
        min-height: 38px !important;
        margin: 0 !important;
        padding: 8px 10px !important;
        border: 1px solid #cfd9e5 !important;
        border-radius: 9px !important;
        outline: 0 !important;
        background: #fff !important;
        box-shadow: none !important;
        color: #172033 !important;
        font: inherit !important;
        font-size: 13px !important;
        line-height: 1.25 !important;
    }

    .application-pds-form .application-section-grid textarea {
        min-height: 66px !important;
        resize: vertical !important;
    }

    .application-pds-form .application-section-grid input:focus,
    .application-pds-form .application-section-grid select:focus,
    .application-pds-form .application-section-grid textarea:focus {
        border-color: var(--primary, #1e5aa8) !important;
        background: #fff !important;
        box-shadow: 0 0 0 3px rgba(30, 90, 168, .10) !important;
    }

    .application-pds-form .application-check {
        display: flex !important;
        align-items: flex-start !important;
        gap: 8px !important;
        min-height: 0 !important;
        padding: 9px 10px !important;
        border: 1px solid #dbe4ee !important;
        border-radius: 9px !important;
        background: #f8fafc !important;
    }

    .application-pds-form .application-check input[type="checkbox"] {
        flex: 0 0 auto !important;
        width: 17px !important;
        height: 17px !important;
        margin: 1px 0 0 !important;
    }

    .application-pds-form .application-check > span {
        color: #334155 !important;
        font-size: 12px !important;
        font-weight: 700 !important;
        letter-spacing: 0 !important;
        line-height: 1.35 !important;
        text-transform: none !important;
    }

    .application-pds-form .application-upload-grid > label {
        min-height: 0 !important;
    }

    .application-pds-form .application-upload-grid input[type="file"] {
        width: 100% !important;
        margin: 0 !important;
        padding: 8px !important;
        border: 1px dashed #b8c5d4 !important;
        border-radius: 9px !important;
        background: #f8fafc !important;
        font-size: 12px !important;
    }

    .application-pds-form .application-file-help {
        grid-column: 1 / -1 !important;
        margin: 0 !important;
        padding: 9px 10px !important;
        border: 0 !important;
        border-radius: 9px !important;
        background: #f1f5f9 !important;
        color: #526074 !important;
        font-size: 11px !important;
    }

    .application-pds-form .application-submit-row {
        display: flex !important;
        justify-content: flex-end !important;
        gap: 10px !important;
        margin: 0 !important;
        padding: 2px 0 0 !important;
        border: 0 !important;
        background: transparent !important;
    }

    .application-pds-form .application-submit-row .button,
    .application-pds-form .application-submit-row button {
        min-height: 40px !important;
    }
}

@media screen and (max-width: 980px) {
    .application-pds-form .application-section-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

@media screen and (max-width: 680px) {
    .application-form-panel.application-pds-sheet {
        width: 100% !important;
        padding: 10px !important;
        border-radius: 14px !important;
    }

    .application-pds-form {
        gap: 10px !important;
    }

    .application-pds-form .application-section-grid {
        grid-template-columns: 1fr !important;
        gap: 9px !important;
        padding: 10px !important;
    }

    .application-pds-form .application-section-grid .wide {
        grid-column: auto !important;
    }

    .application-pds-form .application-submit-row {
        flex-direction: column !important;
    }

    .application-pds-form .application-submit-row > * {
        width: 100% !important;
        justify-content: center !important;
    }
}

@media print {
    .application-page-hero,
    .application-entry-choice,
    .returning-student-verification,
    .verified-student-banner,
    .application-status-strip,
    .application-submit-row,
    .flash,
    .public-header,
    .public-footer,
    .public-nav,
    .sidebar,
    .topbar,
    .app-footer {
        display: none !important;
    }

    .application-pds-document-header {
        display: grid !important;
    }

    .application-pds-title-block,
    .application-pds-reference-row,
    .application-pds-instruction {
        display: block !important;
    }

    .application-pds-reference-row {
        display: grid !important;
    }

    .application-form-panel.application-pds-sheet {
        width: 100% !important;
        max-width: none !important;
        margin: 0 !important;
        padding: 0 !important;
        border: 1px solid #111827 !important;
        border-radius: 0 !important;
        box-shadow: none !important;
    }

    .application-pds-form {
        display: block !important;
    }
}

/* Registrar academic setup and application autocomplete refinements. */
.application-pds-form label[hidden],
.application-pds-form [hidden] {
    display: none !important;
}

.application-pds-form input[readonly] {
    background: #f4f7fb;
    color: #45546a;
    cursor: default;
}

.application-pds-form .compact-check {
    align-self: end;
    min-height: 38px;
}

.academic-setup-summary article small {
    display: block;
    margin-top: 6px;
    line-height: 1.45;
}

.academic-setup-forms {
    align-items: start;
}

.academic-setup-forms .panel {
    min-width: 0;
}

.warning-panel {
    border-color: #f2c66d;
    background: #fffaf0;
}

.table-actions .inline-form,
.inline-form {
    display: inline-flex;
    margin: 0 0 0 6px;
}

@media (max-width: 900px) {
    .academic-setup-forms {
        grid-template-columns: 1fr !important;
    }
}

/* Registrar Academic Setup Wizard */
.academic-wizard-header{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;background:linear-gradient(135deg,var(--panel),color-mix(in srgb,var(--accent) 7%,var(--panel)));}
.academic-wizard-header h1{margin:.15rem 0 .35rem;font-size:clamp(1.5rem,2.4vw,2.25rem)}
.academic-year-switcher{min-width:min(320px,100%)}
.academic-year-switcher span,.eyebrow{display:block;font-size:.75rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--accent)}
.academic-wizard-steps{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;margin:18px 0}
.academic-wizard-steps a{display:flex;align-items:center;gap:8px;padding:12px;border:1px solid var(--border);border-radius:12px;background:var(--panel);color:var(--muted);font-size:.86rem;font-weight:700;text-decoration:none}
.academic-wizard-steps a span{display:grid;place-items:center;min-width:27px;height:27px;border-radius:50%;background:var(--soft);color:var(--text)}
.academic-wizard-steps a.active{border-color:var(--accent);box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 15%,transparent);color:var(--text)}
.academic-wizard-steps a.active span,.academic-wizard-steps a.complete span{background:var(--accent);color:#fff}
.academic-wizard-panel{overflow:visible}
.term-structure-picker{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;border:0;padding:0;margin:0}
.term-structure-picker legend{font-weight:800;margin-bottom:10px}
.term-structure-picker label{display:block;padding:16px;border:1px solid var(--border);border-radius:12px;background:var(--soft);cursor:pointer}
.term-structure-picker input{width:auto;margin-right:8px}.term-structure-picker small{display:block;margin:7px 0 0 25px;color:var(--muted)}
.grade-stage-group{margin:20px 0}.grade-stage-group h3{padding-bottom:8px;border-bottom:1px solid var(--border)}
.grade-level-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.grade-level-option{display:flex;flex-direction:column;gap:9px;padding:13px;border:1px solid var(--border);border-radius:12px;background:var(--panel)}
.grade-level-option>span{display:flex;align-items:center;gap:8px}.grade-level-option input{width:auto}.grade-level-option textarea{min-height:78px}
.level-selector-tabs{display:flex;gap:8px;overflow:auto;padding-bottom:8px;margin-bottom:18px}
.level-selector-tabs a{min-width:max-content;padding:10px 13px;border:1px solid var(--border);border-radius:10px;background:var(--soft);font-weight:700;text-decoration:none;color:var(--text)}
.level-selector-tabs a span{display:block;font-size:.72rem;font-weight:500;color:var(--muted)}.level-selector-tabs a.active{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 10%,var(--panel))}
.subject-source-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:15px 0}
.compact-panel{display:flex;flex-direction:column;align-items:flex-start;gap:8px;padding:14px;border:1px solid var(--border);border-radius:12px;background:var(--soft)}
.compact-panel p{margin:0;color:var(--muted);font-size:.86rem}.compact-panel select{width:100%}
.hours-input{min-width:80px}.term-checkboxes{display:flex;flex-wrap:wrap;gap:6px 10px}.term-checkboxes label{display:flex;align-items:center;gap:4px;font-size:.8rem;white-space:nowrap}.term-checkboxes input{width:auto}
.new-subject-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:18px;padding:16px;border-radius:12px;background:var(--soft)}.new-subject-row h3{grid-column:1/-1;margin:0}
.compact-template-form{display:flex;align-items:end;gap:12px;margin-top:18px;padding-top:18px;border-top:1px solid var(--border)}.compact-template-form label{flex:1}
.section-generator{margin:16px 0 22px;padding:16px;border:1px dashed var(--accent);border-radius:12px;background:color-mix(in srgb,var(--accent) 5%,var(--panel))}
.section-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.section-edit-card{display:grid;gap:10px;padding:14px;border:1px solid var(--border);border-radius:12px;background:var(--panel)}
.section-card-heading{display:flex;justify-content:space-between;gap:10px;align-items:center}.section-edit-card label{font-size:.82rem}
.wizard-actions{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:20px;padding-top:16px;border-top:1px solid var(--border)}
.academic-review-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:16px 0}.academic-review-stats article{padding:16px;border:1px solid var(--border);border-radius:12px;background:var(--soft)}.academic-review-stats span{display:block;color:var(--muted);font-size:.78rem}.academic-review-stats strong{font-size:1.6rem}
.setup-message{margin:14px 0;padding:14px 16px;border-radius:10px}.setup-message.error{background:#fff1f1;border:1px solid #efb1b1}.setup-message.warning{background:#fff8e6;border:1px solid #ead28b}.setup-message ul{margin:.5rem 0 0;padding-left:1.2rem}
.success-note{padding:13px;border-radius:10px;background:#edf9f1;border:1px solid #b8dfc5}.academic-setup-cta{display:flex;align-items:center;justify-content:space-between;gap:20px}.academic-setup-cta h2{margin:.2rem 0}.academic-setup-cta p{margin:.25rem 0;color:var(--muted)}
.full-span{grid-column:1/-1}
@media(max-width:1100px){.academic-wizard-steps{grid-template-columns:repeat(3,1fr)}.grade-level-grid,.section-card-grid{grid-template-columns:repeat(2,1fr)}.subject-source-grid{grid-template-columns:1fr 1fr}}
@media(max-width:760px){.academic-wizard-header,.academic-setup-cta,.compact-template-form{align-items:stretch;flex-direction:column}.academic-year-switcher{min-width:0}.academic-wizard-steps{grid-template-columns:1fr 1fr}.academic-wizard-steps a{font-size:.78rem}.term-structure-picker,.grade-level-grid,.subject-source-grid,.section-card-grid,.new-subject-row,.academic-review-stats{grid-template-columns:1fr}.new-subject-row h3{grid-column:auto}.wizard-actions{align-items:stretch;flex-direction:column-reverse}.wizard-actions .button,.wizard-actions button{width:100%}.term-checkboxes{min-width:220px}}

/* Cashier task workspace */
.cashier-session-alert{display:flex;align-items:center;justify-content:space-between;gap:20px;border-left:4px solid var(--primary)}
.cashier-session-alert.compact{padding:16px;margin:0;align-items:center}.cashier-session-alert.compact p{margin:0}
.cashier-actions{grid-template-columns:repeat(2,minmax(0,1fr))}
.cashier-session-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.cashier-session-summary>div,.cashier-student-facts>div{padding:14px;border:1px solid rgba(102,117,138,.18);border-radius:12px;background:rgba(243,247,252,.62)}
.cashier-session-summary span,.cashier-student-facts span,.receipt-party-grid span,.receipt-payment-grid span{display:block;color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.05em;margin-bottom:5px}
.cashier-session-summary strong,.cashier-student-facts strong{display:block}.cashier-session-summary small{color:var(--muted)}
.cashier-search-form{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:14px}.cashier-search-form label{margin:0}
.cashier-student-card{display:flex;align-items:center;justify-content:space-between;gap:24px}.cashier-student-main{display:flex;align-items:center;gap:14px}.cashier-student-main h2{margin:2px 0 5px}.cashier-student-main p{margin:0}
.cashier-student-avatar{width:58px;height:58px;border-radius:16px;display:grid;place-items:center;background:var(--primary);color:white;font-size:24px;font-weight:800}
.cashier-student-facts{display:grid;grid-template-columns:repeat(3,minmax(140px,1fr));gap:10px;flex:1;max-width:720px}.cashier-student-facts .money{font-size:20px}
.cashier-payment-layout{align-items:start;grid-template-columns:minmax(0,1.25fr) minmax(320px,.75fr)}
.cashier-payment-form .cashier-change,.cashier-change{display:flex;justify-content:space-between;align-items:center;padding:13px 14px;border-radius:12px;background:rgba(37,99,235,.08)}
.cashier-payment-form .cashier-change strong{font-size:18px}.cashier-payment-note{font-size:12px;line-height:1.5;color:var(--muted);padding:12px;border:1px dashed rgba(102,117,138,.35);border-radius:10px}
.cashier-verified{display:flex!important;flex-direction:row!important;align-items:center;gap:9px}.cashier-verified input{width:auto!important}
.cashier-allocation-list{display:grid;gap:8px;padding:12px;border:1px solid rgba(102,117,138,.22);border-radius:12px}.cashier-allocation-list label{display:grid;grid-template-columns:minmax(0,1fr) 120px;align-items:center;gap:10px;margin:0}.cashier-allocation-list label span{font-weight:700}.cashier-allocation-list label small{display:block;color:var(--muted);font-weight:400}.cashier-allocation-total{display:flex;justify-content:space-between;padding-top:10px;border-top:1px solid rgba(102,117,138,.18)}
.cashier-filter-grid{display:grid;grid-template-columns:minmax(220px,1.5fr) repeat(3,minmax(140px,.7fr)) auto;gap:12px;align-items:end;margin-top:18px}.cashier-filter-grid label{margin:0}
.cashier-review-actions{display:grid;grid-template-columns:minmax(130px,1fr) auto auto;gap:6px}.cashier-review-actions input{min-width:130px}.status-warning{display:block;color:#9a6700;margin-top:4px}.row-actions{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.row-actions form{margin:0}.inline-details{position:relative}.inline-details>summary{cursor:pointer;font-size:12px;font-weight:700;color:var(--primary)}.inline-popover{position:absolute;z-index:20;right:0;top:28px;width:260px;padding:12px;background:var(--panel);border:1px solid rgba(102,117,138,.25);border-radius:12px;box-shadow:0 16px 40px rgba(7,26,51,.16)}.inline-popover textarea{min-height:80px;margin-bottom:8px}
.receipt-actions{display:flex;justify-content:flex-end;gap:10px;margin-bottom:16px}.official-receipt{position:relative;max-width:820px;margin:0 auto;background:white;color:#111;padding:34px 42px;border:1px solid #cfd6df;box-shadow:0 12px 32px rgba(7,26,51,.08);overflow:hidden}.receipt-watermark{position:absolute;inset:38% auto auto 50%;transform:translate(-50%,-50%) rotate(-22deg);font-size:110px;font-weight:900;letter-spacing:.08em;color:rgba(170,0,0,.12);white-space:nowrap;pointer-events:none}.receipt-watermark.reprint{font-size:52px;color:rgba(50,70,90,.10)}
.receipt-header{display:flex;align-items:center;justify-content:center;text-align:center;gap:16px;padding-bottom:18px;border-bottom:2px solid #111}.receipt-school-mark img{width:72px;height:72px;object-fit:contain}.receipt-header p,.receipt-header h1,.receipt-header span{margin:0;display:block}.receipt-header p{font-size:11px}.receipt-header h1{font-size:22px;margin:3px 0}.receipt-header span{font-size:11px}
.receipt-title-row{display:flex;justify-content:space-between;gap:20px;padding:20px 0}.receipt-title-row h2{margin:0;font-size:19px;letter-spacing:.08em}.receipt-title-row>div:last-child{display:grid;grid-template-columns:auto auto;gap:4px 12px;text-align:right;font-size:12px}.receipt-title-row strong{font-size:13px}
.receipt-party-grid,.receipt-payment-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border:1px solid #222}.receipt-party-grid>div,.receipt-payment-grid>div{padding:9px 11px;border-right:1px solid #222;border-bottom:1px solid #222}.receipt-party-grid>div:nth-child(even),.receipt-payment-grid>div:nth-child(even){border-right:0}.receipt-party-grid>div:nth-last-child(-n+2),.receipt-payment-grid>div:nth-last-child(-n+2){border-bottom:0}.receipt-party-grid strong,.receipt-payment-grid strong{font-size:13px}
.receipt-items{width:100%;border-collapse:collapse;margin:18px 0}.receipt-items th,.receipt-items td{border:1px solid #222;padding:9px 10px;text-align:left;font-size:12px}.receipt-items th:last-child,.receipt-items td:last-child{text-align:right}.receipt-items tfoot th{font-size:13px}
.receipt-footer{display:grid;grid-template-columns:1fr 220px;gap:40px;align-items:end;margin-top:28px}.receipt-footer span,.receipt-footer small{display:block;font-size:11px}.receipt-footer strong{display:block;margin:6px 0 2px}.receipt-signature{border-top:1px solid #111;text-align:center;padding-top:6px}.receipt-copy-note,.receipt-void-note{text-align:center;font-size:11px;margin:22px 0 0}.receipt-void-note{font-weight:800}
.cashier-report-header{text-align:center;margin-bottom:20px}.cashier-report-header p,.cashier-report-header h1,.cashier-report-header h2{margin:2px}
.print-only{display:none}
@media(max-width:1000px){.cashier-payment-layout{grid-template-columns:1fr}.cashier-student-card{align-items:flex-start;flex-direction:column}.cashier-student-facts{max-width:none;width:100%}.cashier-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.cashier-filter-grid button{align-self:end}.cashier-review-actions{grid-template-columns:1fr}.cashier-actions{grid-template-columns:1fr}}
@media(max-width:700px){.cashier-search-form{grid-template-columns:1fr}.cashier-student-facts,.cashier-session-summary,.receipt-party-grid,.receipt-payment-grid{grid-template-columns:1fr}.cashier-student-facts>div,.receipt-party-grid>div,.receipt-payment-grid>div{border-right:0}.receipt-party-grid>div,.receipt-payment-grid>div{border-bottom:1px solid #222}.receipt-party-grid>div:last-child,.receipt-payment-grid>div:last-child{border-bottom:0}.cashier-filter-grid{grid-template-columns:1fr}.official-receipt{padding:22px 18px}.receipt-title-row,.receipt-header{align-items:flex-start;flex-direction:column}.receipt-title-row>div:last-child{text-align:left}.receipt-footer{grid-template-columns:1fr}.cashier-session-alert{align-items:flex-start;flex-direction:column}}
@media print{
 body.system-app{background:#fff}.sidebar,.sidebar-overlay,.topbar,.app-footer,.no-print,.receipt-actions{display:none!important}.main,.main-content{margin:0!important;padding:0!important;display:block!important}.app-shell{display:block!important}.panel{box-shadow:none!important}.print-only{display:block!important}.official-receipt{border:0;box-shadow:none;max-width:none;margin:0;padding:8mm 10mm}.official-receipt~*{display:none}.cashier-report-header{display:block!important}.cashier-report-header~.metric-grid .metric,.cashier-report-header~.panel,.cashier-report-header~.two-column .panel{break-inside:avoid;box-shadow:none;border:1px solid #bbb}table{font-size:10px}.button{display:none!important}
}
.receipt-email{position:relative}.receipt-email>summary{list-style:none;cursor:pointer}.receipt-email>summary::-webkit-details-marker{display:none}.receipt-email form{position:absolute;z-index:30;right:0;top:44px;display:grid;grid-template-columns:minmax(220px,1fr) auto;gap:8px;padding:12px;background:var(--panel);border:1px solid rgba(102,117,138,.25);border-radius:12px;box-shadow:0 16px 40px rgba(7,26,51,.16);min-width:360px}
@media(max-width:700px){.receipt-actions{flex-wrap:wrap}.receipt-email form{right:auto;left:0;grid-template-columns:1fr;min-width:280px}}

/* Scalable record lists: server-side filters and pagination */
.record-filter-panel{padding-bottom:16px}.record-filter-grid{display:grid;grid-template-columns:repeat(4,minmax(150px,1fr));gap:12px;align-items:end}.record-filter-grid label{margin:0}.record-filter-grid .wide{grid-column:span 2}.record-filter-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.record-pagination{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:14px 2px 2px;color:var(--muted);font-size:12px}.record-pagination-controls{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.record-pagination-controls label{display:flex;align-items:center;gap:7px;margin:0}.record-pagination-controls select{width:auto;min-width:70px;padding:7px 9px}.record-pagination nav{display:flex;align-items:center;gap:5px;flex-wrap:wrap}.page-link{display:inline-flex;min-width:34px;height:34px;align-items:center;justify-content:center;padding:0 10px;border:1px solid rgba(102,117,138,.22);border-radius:9px;background:var(--panel);color:var(--ink);font-weight:700;text-decoration:none}.page-link:hover{border-color:var(--primary);color:var(--primary)}.page-link.active{background:var(--primary);border-color:var(--primary);color:#fff}.page-gap{padding:0 4px}.record-count-badge{display:inline-flex;align-items:center;justify-content:center;min-width:26px;padding:3px 8px;border-radius:999px;background:rgba(37,99,235,.10);color:var(--primary);font-size:11px;font-weight:800}.subject-chip-list{display:flex;gap:5px;flex-wrap:wrap}.subject-chip{display:inline-flex;padding:4px 8px;border-radius:999px;background:rgba(37,99,235,.09);font-size:11px;font-weight:700}.subject-chip.secondary{background:rgba(102,117,138,.12);color:var(--muted)}.checkbox-grid{display:grid;grid-template-columns:repeat(3,minmax(150px,1fr));gap:8px}.checkbox-grid label{display:flex;align-items:center;gap:8px;padding:9px;border:1px solid rgba(102,117,138,.18);border-radius:10px;margin:0}.checkbox-grid input{width:auto}.assessment-score{font-size:18px;font-weight:800}.assessment-result-pass{color:#137333}.assessment-result-fail{color:#b42318}.assessment-result-pending{color:#9a6700}
@media(max-width:1000px){.record-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.checkbox-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:680px){.record-filter-grid{grid-template-columns:1fr}.record-filter-grid .wide{grid-column:auto}.record-pagination{align-items:flex-start;flex-direction:column}.checkbox-grid{grid-template-columns:1fr}}

/* Compact academic setup summary */
.academic-setup-summary.compact-record-summary{
    display:flex;
    align-items:center;
    gap:0;
    flex-wrap:wrap;
    padding:.7rem .9rem;
}
.compact-record-item{
    display:flex;
    align-items:baseline;
    gap:.35rem;
    min-width:0;
    padding:.15rem .9rem;
    border-right:1px solid #dbe3ef;
    line-height:1.25;
}
.compact-record-item:first-child{padding-left:0}
.compact-record-item:last-child{border-right:0}
.compact-record-item span{font-size:.82rem;color:#64748b;white-space:nowrap}
.compact-record-item strong{font-size:.95rem;color:#0f172a;white-space:nowrap}
.academic-setup-summary .compact-record-item small{display:inline;margin:0;color:#64748b;font-size:.78rem;white-space:nowrap}
@media(max-width:760px){
    .academic-setup-summary.compact-record-summary{align-items:flex-start;flex-direction:column;padding:.65rem .75rem}
    .compact-record-item{width:100%;padding:.35rem 0;border-right:0;border-bottom:1px solid #e2e8f0;flex-wrap:wrap}
    .compact-record-item:last-child{border-bottom:0}
}

/* Registrar workflow consolidation — 2026-06-19 */
.registrar-command-bar{display:flex;align-items:center;justify-content:space-between;gap:22px;padding:22px 24px;margin-bottom:14px}.registrar-command-bar h2{margin:2px 0 5px}.registrar-command-bar p{margin:0;max-width:760px;color:#64748b;line-height:1.5}.registrar-command-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.registrar-command-actions .button{display:inline-flex;align-items:center;gap:7px;white-space:nowrap}.registrar-command-actions svg{width:17px;height:17px}
.registrar-process{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:9px;margin-bottom:16px}.registrar-process-step{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:10px;min-width:0;padding:13px 14px;border:1px solid #dce6f2;border-radius:14px;background:#fff;color:#0f172a;text-decoration:none;box-shadow:0 5px 15px rgba(15,23,42,.035);transition:border-color .16s ease,transform .16s ease}.registrar-process-step:hover{border-color:#8db4ee;transform:translateY(-1px)}.registrar-process-step>span{display:grid;place-items:center;width:29px;height:29px;border-radius:50%;background:#edf3fb;color:#31577f;font-size:12px;font-weight:900}.registrar-process-step div{min-width:0}.registrar-process-step strong,.registrar-process-step small{display:block}.registrar-process-step strong{font-size:12px}.registrar-process-step small{margin-top:3px;color:#64748b;font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.registrar-process-step.is-priority{border-color:#9abcf5;background:#f5f9ff}.registrar-process-step.is-priority>span{background:#2563eb;color:#fff}
.registrar-workspace-grid{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(270px,.62fr);gap:16px;align-items:start}.panel-heading-row.compact{align-items:center;margin-bottom:12px}.panel-heading-row.compact h2{font-size:17px}.registrar-action-table td{vertical-align:middle}.registrar-action-table td:first-child strong,.registrar-action-table td:first-child small{display:block}.registrar-action-table td:first-child small{margin-top:3px;color:#94a3b8;font-size:10px}.registrar-inline-status{display:block;color:#64748b;font-size:10px;line-height:1.45}.registrar-action-table .button.small{white-space:nowrap}
.registrar-side-stack{display:grid;gap:16px}.registrar-today-panel>a{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 0;border-bottom:1px solid #e7edf4;color:#334155;text-decoration:none}.registrar-today-panel>a:hover span{color:#1d4ed8}.registrar-today-panel>a span{font-size:11px;font-weight:750}.registrar-today-panel>a strong{font-size:18px;color:#0f172a}.registrar-now-serving{display:grid;gap:6px;margin-top:14px;padding-top:12px;border-top:1px solid #e7edf4}.registrar-now-serving>small{color:#64748b;font-weight:800;text-transform:uppercase;letter-spacing:.06em}.registrar-now-serving>span{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:10px;color:#64748b}.registrar-now-serving strong{color:#1d4ed8;font-size:15px}.registrar-boundary-note{border-left:4px solid #38bdf8}.registrar-boundary-note h2{margin:3px 0 8px;font-size:16px}.registrar-boundary-note>p:last-child{margin:0;color:#64748b;font-size:11px;line-height:1.55}
.registrar-secondary-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(320px,.75fr);gap:16px;margin-top:16px}.registrar-request-list{display:grid}.registrar-request-list>a{display:grid;grid-template-columns:minmax(170px,.75fr) minmax(220px,1fr) auto;gap:12px;align-items:center;padding:10px 0;border-bottom:1px solid #e8eef5;color:#0f172a;text-decoration:none}.registrar-request-list>a:last-child{border-bottom:0}.registrar-request-list>a:hover b{color:#1d4ed8}.registrar-request-list span{min-width:0}.registrar-request-list strong,.registrar-request-list b,.registrar-request-list small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.registrar-request-list strong,.registrar-request-list b{font-size:11px}.registrar-request-list small{margin-top:3px;color:#64748b;font-size:9px}.registrar-tool-list{display:grid}.registrar-tool-list>a{display:grid;grid-template-columns:auto 1fr;gap:10px;align-items:center;padding:10px 0;border-bottom:1px solid #e8eef5;color:#0f172a;text-decoration:none}.registrar-tool-list>a:last-child{border-bottom:0}.registrar-tool-list svg{width:19px;height:19px;color:#2563eb}.registrar-tool-list strong,.registrar-tool-list small{display:block}.registrar-tool-list strong{font-size:11px}.registrar-tool-list small{margin-top:2px;color:#64748b;font-size:9px;line-height:1.35}

/* Registrar student request queue */
.registrar-request-heading{display:flex;align-items:center;justify-content:space-between;gap:22px;margin-bottom:14px}.registrar-request-heading h2{margin:2px 0 5px}.registrar-request-heading p{max-width:850px;margin:0;color:#64748b;line-height:1.5}.registrar-request-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:14px}.registrar-request-summary>a{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 14px;border:1px solid #dfe7f1;border-radius:13px;background:#fff;color:#334155;text-decoration:none}.registrar-request-summary>a.active,.registrar-request-summary>a:hover{border-color:#8ab5f8;background:#f6f9ff}.registrar-request-summary span{font-size:10px;font-weight:800}.registrar-request-summary strong{font-size:20px;color:#0f172a}.registrar-request-filter{display:grid;grid-template-columns:minmax(260px,1fr) minmax(170px,.55fr) minmax(170px,.55fr) auto auto;gap:9px;align-items:end;margin-bottom:14px;padding:14px}.registrar-request-filter label{display:grid;gap:5px;color:#64748b;font-size:10px;font-weight:800}.registrar-request-workspace{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(310px,.72fr);gap:16px;align-items:start}.registrar-request-table-panel{padding-bottom:12px}.registrar-request-table-panel td strong,.registrar-request-table-panel td small{display:block}.registrar-request-table-panel td small{margin-top:3px;color:#64748b;font-size:9px}.registrar-request-table-panel tr.is-selected{background:#f3f7ff}.registrar-request-detail{position:sticky;top:88px}.registrar-request-detail h2{margin:2px 0 12px}.registrar-request-student{display:grid;gap:3px;padding:11px 12px;border-radius:12px;background:#f7faff}.registrar-request-student strong{font-size:13px}.registrar-request-student span{color:#64748b;font-size:10px}.registrar-request-student a{margin-top:3px;color:#1d4ed8;font-size:10px;font-weight:800;text-decoration:none}.registrar-request-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:13px 0}.registrar-request-meta div{padding:9px;border:1px solid #e4ebf3;border-radius:10px}.registrar-request-meta dt{color:#94a3b8;font-size:8px;font-weight:850;text-transform:uppercase;letter-spacing:.06em}.registrar-request-meta dd{margin:3px 0 0;color:#334155;font-size:10px;font-weight:750}.registrar-request-message{padding:12px;border:1px solid #e4ebf3;border-radius:11px;background:#fff}.registrar-request-message strong{font-size:10px}.registrar-request-message p{margin:6px 0 0;color:#475569;font-size:10px;line-height:1.55}.registrar-request-response{display:grid;gap:10px;margin-top:12px}.registrar-request-response label{display:grid;gap:5px;color:#475569;font-size:10px;font-weight:800}.registrar-request-response textarea{resize:vertical}

@media(max-width:1180px){.registrar-process{grid-template-columns:repeat(3,minmax(0,1fr))}.registrar-workspace-grid,.registrar-secondary-grid,.registrar-request-workspace{grid-template-columns:1fr}.registrar-request-detail{position:static}.registrar-request-filter{grid-template-columns:1fr 1fr 1fr auto auto}}
@media(max-width:760px){.registrar-command-bar,.registrar-request-heading{align-items:stretch;flex-direction:column}.registrar-command-actions{justify-content:flex-start}.registrar-process{grid-template-columns:1fr}.registrar-request-list>a{grid-template-columns:1fr auto}.registrar-request-list>a>span:nth-child(2){grid-column:1}.registrar-request-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.registrar-request-filter{grid-template-columns:1fr}.registrar-request-meta{grid-template-columns:1fr}.registrar-action-table thead{display:none}.registrar-action-table,.registrar-action-table tbody,.registrar-action-table tr,.registrar-action-table td{display:block;width:100%}.registrar-action-table tr{padding:10px 0;border-bottom:1px solid #e5edf6}.registrar-action-table td{padding:4px 0;border:0}.registrar-action-table td:last-child{padding-top:8px}}

/* Registrar cleanup: one work queue, one connected admission record, explicit next action. */
.registrar-process{grid-template-columns:repeat(6,minmax(0,1fr))}
.registrar-admission-summary{grid-template-columns:repeat(6,minmax(0,1fr));gap:9px;margin-bottom:14px}
.registrar-admission-summary a{min-width:0;padding:12px 13px;border-radius:13px;box-shadow:0 5px 15px rgba(15,35,64,.04)}
.registrar-admission-summary a.active{border-color:#8ab5f8;background:#f5f9ff}
.registrar-admission-summary a>span{display:block;min-width:0}
.registrar-admission-summary a b,.registrar-admission-summary a small{display:block}
.registrar-admission-summary a b{color:#334155;font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.registrar-admission-summary a small{margin-top:2px;color:#94a3b8;font-size:8px;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.registrar-admission-summary a strong{font-size:20px}
.registrar-admissions-panel .form-heading-row{margin-bottom:10px}
.registrar-admissions-table td{vertical-align:middle}
.registrar-admissions-table td>strong,.registrar-admissions-table td>small{display:block}
.registrar-admissions-table td>small{margin-top:3px;color:#64748b;font-size:9px}
.registrar-admissions-table th{white-space:nowrap}
.admission-readiness-list{display:grid;gap:4px;min-width:145px}
.readiness-item{display:grid;grid-template-columns:62px minmax(0,1fr);gap:6px;align-items:center;padding:4px 6px;border-radius:7px;background:#f8fafc;color:#64748b;font-size:8px;line-height:1.25}
.readiness-item b{color:#475569;font-size:8px}
.readiness-item.is-ready{background:#edf9f1;color:#166534}
.readiness-item.is-pending{background:#fff8e6;color:#92400e}
.readiness-item.is-blocked{background:#fff0f0;color:#b42318}
.admission-next-action{margin-top:6px;max-width:235px}
.admission-next-action strong,.admission-next-action small{display:block}
.admission-next-action strong{font-size:10px;color:#0f172a}
.admission-next-action small{margin-top:2px;color:#64748b;font-size:8px;line-height:1.35}
.admission-next-action.tone-success strong{color:#166534}
.admission-next-action.tone-warning strong,.admission-next-action.tone-waiting strong{color:#92400e}
.admission-next-action.tone-blocked strong{color:#b42318}
.registrar-admissions-table .record-actions{justify-content:flex-end;min-width:112px}
.registrar-admissions-table .record-actions .button{white-space:nowrap}
@media(max-width:1320px){.registrar-process{grid-template-columns:repeat(3,minmax(0,1fr))}.registrar-admission-summary{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:820px){.registrar-admission-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.registrar-admissions-table thead{display:none}.registrar-admissions-table,.registrar-admissions-table tbody,.registrar-admissions-table tr,.registrar-admissions-table td{display:block;width:100%}.registrar-admissions-table tr{padding:11px 0;border-bottom:1px solid #e5edf6}.registrar-admissions-table td{padding:5px 0;border:0}.registrar-admissions-table .record-actions{justify-content:flex-start}.admission-readiness-list{grid-template-columns:repeat(3,minmax(0,1fr))}.readiness-item{grid-template-columns:1fr}}
@media(max-width:560px){.registrar-process,.registrar-admission-summary{grid-template-columns:1fr}.admission-readiness-list{grid-template-columns:1fr}}

/* Registrar admission review cleanup. */
.application-information-panel .application-subsection{margin-top:18px;padding-top:16px;border-top:1px solid #e4ebf3}
.application-information-panel .application-subsection h3{margin:0 0 10px;font-size:13px}
.application-compact-details,.application-history-details{padding:0;overflow:hidden}
.application-compact-details>summary,.application-history-details>summary{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 16px;cursor:pointer;list-style:none}
.application-compact-details>summary::-webkit-details-marker,.application-history-details>summary::-webkit-details-marker{display:none}
.application-compact-details>summary span,.application-history-details>summary span{display:grid;gap:2px}
.application-compact-details>summary strong,.application-history-details>summary strong{font-size:12px;color:#0f172a}
.application-compact-details>summary small,.application-history-details>summary small{font-size:9px;color:#64748b}
.application-compact-details>summary b,.application-history-details>summary b{font-size:9px;color:#2563eb;text-transform:uppercase;letter-spacing:.05em}
.application-compact-details[open]>summary,.application-history-details[open]>summary{border-bottom:1px solid #e4ebf3;background:#f8fafc}
.application-details-body{padding:14px 16px}
.application-next-action-panel{position:sticky;top:88px}
.application-stage-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:5px 0 10px}
.application-stage-heading>strong{font-size:12px;color:#334155;text-align:right}
.application-next-action-panel>p:not(.eyebrow){margin:0;color:#64748b;font-size:10px;line-height:1.5}
.application-owner-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:13px 0}
.application-owner-list div{padding:9px;border:1px solid #e4ebf3;border-radius:10px;background:#fbfdff}
.application-owner-list dt{font-size:8px;color:#94a3b8;text-transform:uppercase;letter-spacing:.05em}
.application-owner-list dd{margin:3px 0 0;font-size:9px;font-weight:750;color:#334155}
.application-next-action-form{margin-top:12px;padding-top:12px;border-top:1px solid #e4ebf3}
.workflow-waiting-note,.admission-ready-message{display:grid;gap:3px;margin-top:12px;padding:10px 11px;border-radius:10px;background:#fff8e6;color:#92400e}
.workflow-waiting-note strong,.admission-ready-message strong{font-size:10px}
.workflow-waiting-note span,.admission-ready-message span{font-size:8px;line-height:1.4}
.admission-ready-message{background:#edf9f1;color:#166534}
.application-awaiting-approval{border-left:4px solid #f59e0b}
.application-awaiting-approval h2{margin-bottom:6px}
.application-awaiting-approval p{margin:0;color:#64748b;font-size:10px;line-height:1.5}
@media(max-width:1100px){.application-next-action-panel{position:static}}
@media(max-width:620px){.application-owner-list{grid-template-columns:1fr}.application-stage-heading{align-items:flex-start;flex-direction:column}.application-stage-heading>strong{text-align:left}}

/* Accessibility and Preview Edition safeguards */
.skip-link {
    position: fixed;
    z-index: 100000;
    top: 8px;
    left: 8px;
    transform: translateY(-160%);
    padding: 10px 14px;
    border-radius: 8px;
    background: #ffffff;
    color: #071a33;
    border: 2px solid #2563eb;
    box-shadow: 0 8px 24px rgba(7, 26, 51, .18);
    font-weight: 800;
}
.skip-link:focus { transform: translateY(0); }
:where(a, button, input, select, textarea, summary, [tabindex]):focus-visible {
    outline: 3px solid #f4b740;
    outline-offset: 3px;
}
.sr-only,
table caption.sr-only {
    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;
}
.demo-edition-banner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    margin-bottom: 18px;
    padding: 14px 16px;
    border: 1px solid #f5c96c;
    border-radius: var(--radius, 14px);
    background: #fff8e7;
    color: #5f4100;
}
.demo-edition-banner strong,
.demo-edition-banner p { display: block; margin: 0; }
.demo-edition-banner p { margin-top: 3px; font-size: 13px; }
.demo-edition-badge {
    display: inline-flex;
    margin-right: 9px;
    padding: 4px 8px;
    border-radius: 999px;
    background: #7a4d00;
    color: white;
    font-size: 11px;
    font-weight: 900;
    letter-spacing: .04em;
    text-transform: uppercase;
}
.demo-purchase-link { white-space: nowrap; }
.preview-write-blocked {
    opacity: .62;
    cursor: not-allowed !important;
}
.login-help-link { text-align: center; font-size: 14px; }
@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after {
        scroll-behavior: auto !important;
        animation-duration: .01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: .01ms !important;
    }
}
@media (max-width: 640px) {
    .demo-edition-banner { align-items: flex-start; flex-direction: column; }
    .demo-purchase-link { white-space: normal; }
}

/* Learning Hub */
.learning-layout{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(320px,.95fr);gap:18px;align-items:start}
.stack-list{display:grid;gap:12px}
.stack-item{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;padding:15px;border:1px solid var(--border,#dbe4ef);border-radius:12px;background:#fff}
.stack-item.vertical{display:grid}
.stack-item h3{margin:7px 0 4px}
.stack-item p{margin:4px 0;color:var(--muted,#66758a)}
.row-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center;justify-content:flex-end}
.compact-form{grid-template-columns:minmax(240px,1fr) auto;align-items:end}
.badge.danger{background:#fee2e2;color:#991b1b}
@media(max-width:900px){.learning-layout{grid-template-columns:1fr}.stack-item{flex-direction:column}.row-actions{justify-content:flex-start}.compact-form{grid-template-columns:1fr}}
.badge.health-pass{background:#dcfce7;color:#166534}.badge.health-warn{background:#fef3c7;color:#92400e}.badge.health-fail{background:#fee2e2;color:#991b1b}
.metric-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:16px}.metric-grid article{padding:16px;border:1px solid var(--border,#dbe4ef);border-radius:12px;background:#fff}.metric-grid strong{display:block;font-size:1.7rem}.metric-grid span{color:var(--muted,#66758a)}
@media(max-width:700px){.metric-grid{grid-template-columns:1fr}}

/* Application Review + Registrar One-Stop Dashboard Hotfix HF2 */
.system-app .application-review-columns{
    grid-template-columns:minmax(0,1.65fr) minmax(360px,.78fr);
    align-items:start;
}
.system-app .application-review-columns>div,
.system-app .application-review-columns>aside{
    min-width:0;
    align-self:start;
}
.system-app .application-review-columns>aside{
    display:grid;
    gap:18px;
    position:static;
}
.system-app .application-next-action-panel,
.system-app .application-workflow-panel{
    position:static!important;
    top:auto!important;
    inset:auto!important;
    z-index:auto!important;
}
.system-app .application-history-details{
    position:relative;
    z-index:0;
    clear:both;
    margin:0;
}
.system-app .application-next-action-form{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:10px;
}
.system-app .application-next-action-form>*{
    grid-column:1/-1!important;
    min-width:0;
}

.registrar-student-lookup{padding:18px 22px}
.registrar-lookup-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:24px}
.registrar-lookup-heading h2{margin:2px 0 5px;font-size:18px}
.registrar-lookup-heading p:last-child{margin:0;color:#64748b;font-size:12px;line-height:1.5}
.registrar-student-search{display:flex;align-items:center;gap:8px;min-width:min(100%,620px)}
.registrar-student-search input{min-width:0;flex:1}
.registrar-student-search button,.registrar-student-search .button{white-space:nowrap}
.registrar-student-results{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:16px;padding-top:16px;border-top:1px solid #e4ebf3}
.registrar-student-result{display:grid;grid-template-columns:48px minmax(0,1fr);gap:12px;padding:13px;border:1px solid #dfe7f1;border-radius:13px;background:#fbfdff}
.registrar-student-avatar{width:48px;height:48px;display:grid;place-items:center;overflow:hidden;border-radius:12px;background:#eaf2ff;color:#1d4ed8;font-weight:850}
.registrar-student-avatar img{width:100%;height:100%;object-fit:cover}
.registrar-student-result-main{min-width:0}
.registrar-student-result-title{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}
.registrar-student-result-title>div{min-width:0}
.registrar-student-result-title strong,.registrar-student-result-title small{display:block}
.registrar-student-result-title strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px;color:#0f172a}
.registrar-student-result-title small{margin-top:3px;color:#64748b;font-size:10px}
.registrar-student-result-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:10px}
.registrar-student-result-meta span{display:block;min-width:0;color:#475569;font-size:10px;line-height:1.45}
.registrar-student-result-meta b{display:block;margin-bottom:2px;color:#94a3b8;font-size:8px;text-transform:uppercase;letter-spacing:.06em}
.registrar-student-result-actions{display:flex;flex-wrap:wrap;gap:7px;margin-top:11px}

.registrar-process-step{position:relative}
.registrar-process-step.is-priority{border-color:#dbe3ef;background:#fff}
.registrar-process-step.is-priority>span{background:#eef4fb;color:#5b7391}

.registrar-queue-desk{padding:18px}
.registrar-queue-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin-bottom:12px}
.registrar-queue-metrics span{display:grid;gap:2px;padding:9px 8px;border:1px solid #e3eaf3;border-radius:10px;background:#f8fbff;color:#64748b;font-size:8px;text-align:center;text-transform:uppercase;letter-spacing:.04em}
.registrar-queue-metrics b{color:#0f172a;font-size:17px;line-height:1.1}
.registrar-window-list{display:grid;gap:9px}
.registrar-window-card{padding:11px;border:1px solid #dfe7f1;border-radius:12px;background:#fff}
.registrar-window-card>header{display:flex;align-items:center;justify-content:space-between;gap:10px}
.registrar-window-card>header strong,.registrar-window-card>header small{display:block}
.registrar-window-card>header strong{font-size:11px;color:#0f172a}
.registrar-window-card>header small{margin-top:2px;color:#64748b;font-size:8px}
.registrar-window-status-form select{min-width:86px;padding:6px 27px 6px 8px;font-size:9px}
.registrar-active-ticket{display:grid;grid-template-columns:auto 1fr;gap:2px 9px;margin-top:9px;padding:10px;border-radius:10px;background:#eef5ff}
.registrar-active-ticket>span{grid-row:1/4;align-self:center;color:#64748b;font-size:8px;font-weight:850;text-transform:uppercase;letter-spacing:.06em;writing-mode:vertical-rl;transform:rotate(180deg)}
.registrar-active-ticket>strong{font-size:21px;line-height:1;color:#1d4ed8}
.registrar-active-ticket>b{font-size:10px;color:#0f172a}
.registrar-active-ticket>small{color:#64748b;font-size:8px}
.registrar-active-ticket>em{grid-column:2;justify-self:start;padding:3px 6px;border-radius:999px;background:#fff4d6;color:#92400e;font-size:7px;font-style:normal;font-weight:850;text-transform:uppercase}
.registrar-queue-actions{display:flex;gap:7px;margin-top:8px}
.registrar-queue-actions form{flex:1}
.registrar-queue-actions button,.registrar-call-next-form button{width:100%;padding:8px 10px;font-size:9px}
.registrar-window-ready{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:9px;padding:9px 10px;border-radius:10px;background:#f7fafc}
.registrar-window-ready strong{color:#166534;font-size:10px;text-transform:uppercase;letter-spacing:.05em}
.registrar-window-ready span{color:#64748b;font-size:8px;text-align:right}
.registrar-call-next-form{margin-top:8px}
.registrar-waiting-list{margin-top:12px;padding-top:12px;border-top:1px solid #e4ebf3}
.registrar-waiting-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:7px}
.registrar-waiting-heading strong{font-size:10px;color:#0f172a}
.registrar-waiting-heading small{color:#94a3b8;font-size:8px}
.registrar-waiting-person{display:grid;grid-template-columns:52px minmax(0,1fr) auto;gap:8px;align-items:center;padding:7px 0;border-bottom:1px solid #eef2f7}
.registrar-waiting-person:last-child{border-bottom:0}
.registrar-waiting-number{font-size:11px;font-weight:850;color:#1d4ed8}
.registrar-waiting-person>span:nth-child(2){min-width:0}
.registrar-waiting-person strong,.registrar-waiting-person small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.registrar-waiting-person strong{font-size:9px;color:#0f172a}
.registrar-waiting-person small{margin-top:2px;color:#64748b;font-size:8px}
.registrar-waiting-person em{padding:3px 6px;border-radius:999px;background:#fff4d6;color:#92400e;font-size:7px;font-style:normal;font-weight:850;text-transform:uppercase}
.registrar-queue-empty{margin:0;padding:9px;border-radius:9px;background:#f7fafc;color:#64748b;font-size:9px;text-align:center}
.registrar-service-shortcuts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin-top:12px}
.registrar-service-shortcuts a{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:9px;border:1px solid #e3eaf3;border-radius:10px;color:#334155;text-decoration:none}
.registrar-service-shortcuts span{font-size:8px;font-weight:800}
.registrar-service-shortcuts strong{font-size:14px;color:#0f172a}

@media(max-width:1180px){
    .registrar-lookup-heading{align-items:stretch;flex-direction:column;gap:12px}
    .registrar-student-search{width:100%;min-width:0}
    .registrar-student-results{grid-template-columns:1fr}
}
@media(max-width:1100px){
    .system-app .application-review-columns{grid-template-columns:1fr}
}
@media(max-width:680px){
    .registrar-student-search{align-items:stretch;flex-direction:column}
    .registrar-student-result{grid-template-columns:40px minmax(0,1fr)}
    .registrar-student-avatar{width:40px;height:40px}
    .registrar-student-result-meta{grid-template-columns:1fr}
    .registrar-queue-metrics{grid-template-columns:1fr}
}

/* Application Communications + Applicant Response Hotfix HF3 */
.system-app .application-review-columns>aside{
    display:flex!important;
    flex-direction:column!important;
    align-items:stretch!important;
    gap:18px!important;
    position:static!important;
    height:auto!important;
    min-height:0!important;
    overflow:visible!important;
}
.system-app .application-review-columns>aside>.panel,
.system-app .application-review-columns>aside>details{
    position:static!important;
    inset:auto!important;
    transform:none!important;
    float:none!important;
    width:100%!important;
    flex:0 0 auto!important;
    margin:0!important;
}
.system-app .application-next-action-panel{overflow:visible!important}
.system-app .application-history-details{display:block!important;clear:both!important}

.application-contact-delivery{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:12px 0;padding:11px 12px;border:1px solid #dfe7f1;border-radius:11px;background:#f8fbff}
.application-contact-delivery>div{display:grid;gap:3px;min-width:0}
.application-contact-delivery span{color:#64748b;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.05em}
.application-contact-delivery strong{overflow-wrap:anywhere;color:#0f172a;font-size:12px}
.application-contact-delivery small{color:#64748b;font-size:10px}
.application-contact-delivery form{flex:0 0 auto;margin:0}
.application-contact-delivery button{white-space:nowrap}

.application-submission-receipt{display:grid;grid-template-columns:58px minmax(0,1fr);gap:18px;align-items:start;max-width:860px;margin:24px auto;padding:26px}
.application-receipt-icon{width:58px;height:58px;display:grid;place-items:center;border-radius:50%;background:#dcfce7;color:#166534;font-size:28px;font-weight:900}
.application-submission-receipt h2{margin:4px 0 8px;font-size:24px}
.application-submission-receipt p{margin:0 0 14px;color:#475569;line-height:1.6}
.application-mail-result{display:grid;gap:3px;margin:14px 0;padding:12px 14px;border-radius:10px;border:1px solid #dbe4ef;background:#f8fafc}
.application-mail-result strong{font-size:13px}
.application-mail-result span{font-size:12px;color:#475569;overflow-wrap:anywhere}
.application-mail-result.success{border-color:#bbf7d0;background:#f0fdf4}.application-mail-result.success strong{color:#166534}
.application-mail-result.warning{border-color:#fed7aa;background:#fff7ed}.application-mail-result.warning strong{color:#9a3412}
.application-mail-result.error{border-color:#fecaca;background:#fef2f2}.application-mail-result.error strong{color:#b91c1c}
.application-receipt-actions{display:flex;flex-wrap:wrap;gap:10px;margin:16px 0}

.application-status-hero{margin-bottom:18px}
.application-public-status-grid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(300px,.55fr);gap:18px;align-items:start}
.application-public-status-main,.application-public-status-side{display:grid;gap:18px;min-width:0}
.application-public-status-side{position:sticky;top:92px}
.application-public-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.application-public-summary>div{display:grid;gap:4px;padding:12px;border:1px solid #e1e8f0;border-radius:11px;background:#fbfdff;min-width:0}
.application-public-summary span{color:#64748b;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.05em}
.application-public-summary strong{color:#0f172a;font-size:13px;overflow-wrap:anywhere}
.application-action-request{border-left:4px solid #f97316}
.application-action-request h2{margin:4px 0 12px}
.application-request-note{padding:14px 16px;border-radius:10px;background:#fff7ed;color:#7c2d12;font-size:14px;line-height:1.65}
.application-response-panel{padding:22px}
.application-response-form{margin-top:16px}
.application-public-document-list{display:grid;gap:10px;margin-top:14px}
.application-public-document-list article{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:start;padding:11px;border:1px solid #e1e8f0;border-radius:10px;background:#fbfdff}
.application-public-document-list article>div{display:grid;gap:3px;min-width:0}
.application-public-document-list strong{font-size:12px;color:#0f172a}
.application-public-document-list span{font-size:10px;color:#64748b;overflow-wrap:anywhere}
.application-public-document-list p{grid-column:1/-1;margin:2px 0 0;padding:8px;border-radius:8px;background:#fff7ed;color:#9a3412;font-size:11px;line-height:1.45}
.application-security-note strong{display:block;margin-bottom:5px;color:#0f172a}
.application-security-note p{margin:0 0 8px;color:#64748b;font-size:12px;line-height:1.5}
.application-security-note small{color:#94a3b8;font-size:10px}
.application-upload-grid label>span small{margin-left:5px;color:#64748b;font-size:10px;font-weight:600;text-transform:none}

@media(max-width:1100px){
    .application-public-status-grid{grid-template-columns:1fr}
    .application-public-status-side{position:static}
    .application-public-summary{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:700px){
    .application-contact-delivery{align-items:stretch;flex-direction:column}
    .application-contact-delivery form,.application-contact-delivery button{width:100%}
    .application-submission-receipt{grid-template-columns:1fr;padding:20px}
    .application-public-summary{grid-template-columns:1fr}
    .application-response-panel{padding:16px}
}

/* HF4: family linking, optional second guardian, and audited requirement waivers */
.system-app .application-family-match,
.application-family-match {
    margin-top: 16px;
    padding: 14px 16px;
    border: 1px solid #bbd7ff;
    border-radius: 14px;
    background: #f4f8ff;
}
.system-app .application-family-match > strong,
.application-family-match > strong {
    display: block;
    margin-bottom: 4px;
}
.system-app .application-family-match > p,
.application-family-match > p {
    margin: 0 0 10px;
    color: #53657d;
    font-size: 12px;
    line-height: 1.5;
}
.system-app .application-family-match ul,
.application-family-match ul {
    display: grid;
    gap: 8px;
    margin: 0;
    padding: 0;
    list-style: none;
}
.system-app .application-family-match li,
.application-family-match li {
    display: grid;
    grid-template-columns: minmax(130px, .7fr) minmax(160px, 1fr);
    gap: 2px 12px;
    padding-top: 8px;
    border-top: 1px solid #dbe8fb;
}
.system-app .application-family-match li span,
.application-family-match li span {
    color: #53657d;
    font-size: 11px;
    font-weight: 700;
}
.system-app .application-family-match li small,
.application-family-match li small {
    grid-column: 2;
    color: #6f7f94;
}
.application-optional-guardian {
    margin: 14px 0;
    border: 1px solid #d9e3ef;
    border-radius: 14px;
    background: #fff;
    overflow: hidden;
}
.application-optional-guardian > summary,
.application-requirement-override > summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    padding: 14px 16px;
    cursor: pointer;
    list-style: none;
}
.application-optional-guardian > summary::-webkit-details-marker,
.application-requirement-override > summary::-webkit-details-marker { display: none; }
.application-optional-guardian > summary span,
.application-requirement-override > summary span {
    display: grid;
    gap: 3px;
}
.application-optional-guardian > summary small,
.application-requirement-override > summary small {
    color: #64748b;
    font-weight: 400;
}
.application-optional-guardian > summary b,
.application-requirement-override > summary b {
    color: #2563eb;
    font-size: 12px;
}
.application-optional-guardian > .application-section {
    margin: 0;
    border: 0;
    border-top: 1px solid #e2e8f0;
    border-radius: 0;
}
.system-app .application-requirement-override {
    margin: 14px 0;
    border: 1px solid #f2c46d;
    border-radius: 12px;
    background: #fffaf0;
}
.system-app .application-override-form {
    display: grid;
    gap: 12px;
    padding: 0 14px 14px;
}
.system-app .application-override-options {
    display: grid;
    gap: 8px;
}
.system-app .application-override-options label {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 12px;
    font-weight: 650;
}
.system-app .application-override-form textarea {
    width: 100%;
    min-height: 84px;
}
.system-app .application-active-overrides {
    display: grid;
    gap: 8px;
}
.system-app .application-active-overrides p {
    display: grid;
    gap: 2px;
    margin: 0;
    padding: 9px 10px;
    border: 1px solid #f4d99e;
    border-radius: 9px;
    background: #fff;
}
.system-app .application-active-overrides span,
.system-app .application-active-overrides small {
    color: #6b7280;
    font-size: 11px;
}
.system-app .application-override-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}
@media (max-width: 720px) {
    .system-app .application-family-match li,
    .application-family-match li { grid-template-columns: 1fr; }
    .system-app .application-family-match li small,
    .application-family-match li small { grid-column: 1; }
}

/* HF5: invitation-only parent / guardian confirmation */
.parent-confirmation-layout {
    display: grid;
    grid-template-columns: minmax(0, 1.6fr) minmax(300px, .65fr);
    gap: 20px;
    align-items: start;
}
.parent-confirmation-main { min-width: 0; }
.parent-confirmation-side { display: grid; gap: 16px; }
.parent-confirmation-student {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 10px;
    margin-bottom: 18px;
}
.parent-confirmation-student > div {
    border: 1px solid var(--border-color, #dbe4f0);
    border-radius: 12px;
    padding: 12px;
    background: #f8fafc;
}
.parent-confirmation-student span,
.application-parent-confirmation-list article > div > span {
    display: block;
    color: #64748b;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .04em;
    text-transform: uppercase;
}
.parent-confirmation-student strong { display: block; margin-top: 4px; font-size: 14px; }
.parent-known-notice { margin: 0 0 18px; }
.parent-confirmation-complete {
    display: flex;
    align-items: flex-start;
    gap: 14px;
    padding: 20px;
    border: 1px solid #bbf7d0;
    background: #f0fdf4;
    border-radius: 14px;
}
.parent-confirmation-complete > span {
    display: grid;
    place-items: center;
    width: 34px;
    height: 34px;
    border-radius: 999px;
    background: #16a34a;
    color: #fff;
    font-weight: 800;
}
.parent-confirmation-complete p { margin: 5px 0 0; color: #475569; }
.parent-confirmation-form input[readonly] { background: #eef2f7; color: #475569; cursor: not-allowed; }
.parent-confirmation-form label small { display: block; margin-top: 5px; color: #64748b; font-size: 11px; }

.application-parent-confirmations {
    margin-top: 18px;
    border: 1px solid #bfdbfe;
    border-radius: 14px;
    background: #f8fbff;
    padding: 16px;
}
.application-parent-confirmations-head {
    display: flex;
    justify-content: space-between;
    gap: 16px;
    align-items: flex-start;
}
.application-parent-confirmations-head p { margin: 4px 0 0; color: #64748b; font-size: 12px; }
.application-parent-confirmation-list { display: grid; gap: 9px; margin-top: 13px; }
.application-parent-confirmation-list article {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 14px;
    padding: 11px 12px;
    border: 1px solid #dbeafe;
    border-radius: 11px;
    background: #fff;
}
.application-parent-confirmation-list article strong,
.application-parent-confirmation-list article small { display: block; }
.application-parent-confirmation-list article strong { margin-top: 2px; }
.application-parent-confirmation-list article small { color: #64748b; font-size: 11px; margin-top: 2px; }
.application-parent-confirmation-list article > div:last-child { text-align: right; }
.family-confirmation-card .application-disabled { display: inline-flex; margin-top: auto; }

@media (max-width: 1050px) {
    .parent-confirmation-layout { grid-template-columns: 1fr; }
    .parent-confirmation-side { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .parent-confirmation-student { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 700px) {
    .parent-confirmation-side,
    .parent-confirmation-student { grid-template-columns: 1fr; }
    .application-parent-confirmations-head,
    .application-parent-confirmation-list article { flex-direction: column; align-items: stretch; }
    .application-parent-confirmation-list article > div:last-child { text-align: left; }
}

/* HF6: reviewed parent activation and one-account multi-role views */
.parent-portal-default {
    display: flex;
    flex-direction: column;
    gap: 4px;
    padding: 14px 16px;
    border: 1px solid #bbf7d0;
    border-radius: 12px;
    background: #f0fdf4;
}
.parent-portal-default strong { color: #166534; font-size: 13px; }
.parent-portal-default span { color: #475569; font-size: 12px; }
.user-role-stack { display: flex; flex-wrap: wrap; gap: 5px; align-items: center; }
.user-role-stack .primary-role { font-weight: 700; }
.parent-confirmation-form input[type="password"] { min-height: 44px; }

/* HF6.5: parent-selectable entrance / placement assessment scheduling */
.system-app .assessment-scheduler-layout {
    grid-template-columns: minmax(0, 1.55fr) minmax(320px, .65fr);
    align-items: start;
}
.system-app .assessment-scheduler-layout > aside {
    position: static;
}
.system-app .assessment-slot-form {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}
.system-app .assessment-slot-options {
    display: grid;
    gap: 12px;
}
.system-app .assessment-slot-option {
    display: grid;
    grid-template-columns: 100px repeat(3, minmax(0, 1fr));
    gap: 12px;
    align-items: end;
    padding: 14px;
    border: 1px solid var(--border-color, #dbe4f0);
    border-radius: 12px;
    background: var(--surface-muted, #f8fafc);
}
.system-app .assessment-slot-option > strong {
    align-self: center;
}
.system-app .assessment-selected-summary,
.system-app .assessment-selected-banner,
.public-page .assessment-public-confirmed {
    display: grid;
    gap: 6px;
    padding: 16px;
    border: 1px solid #bfdbfe;
    border-radius: 14px;
    background: #eff6ff;
}
.system-app .assessment-selected-banner {
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    margin: 0 0 16px;
}
.system-app .assessment-selected-banner > div {
    display: grid;
    gap: 3px;
}
.system-app .assessment-selected-banner.is-pending {
    border-color: #fde68a;
    background: #fffbeb;
}
.public-page .application-assessment-selection {
    scroll-margin-top: 24px;
}
.public-page .assessment-public-options {
    display: grid;
    gap: 12px;
    margin-top: 16px;
}
.public-page .assessment-public-option {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 12px;
    align-items: start;
    padding: 14px 16px;
    border: 1px solid #dbe4f0;
    border-radius: 12px;
    background: #fff;
    cursor: pointer;
}
.public-page .assessment-public-option:has(input:checked) {
    border-color: #2563eb;
    box-shadow: 0 0 0 3px rgba(37, 99, 235, .12);
}
.public-page .assessment-public-option input {
    margin-top: 4px;
}
.public-page .assessment-public-option span {
    display: grid;
    gap: 4px;
}
.public-page .assessment-public-option small,
.public-page .assessment-public-option em {
    color: #64748b;
    font-style: normal;
}
.public-page .assessment-public-confirmed {
    margin-bottom: 16px;
}

@media (max-width: 1000px) {
    .system-app .assessment-scheduler-layout,
    .system-app .assessment-slot-form {
        grid-template-columns: 1fr;
    }
    .system-app .assessment-slot-option {
        grid-template-columns: 1fr 1fr;
    }
    .system-app .assessment-slot-option > strong {
        grid-column: 1 / -1;
    }
}

@media (max-width: 640px) {
    .system-app .assessment-slot-option {
        grid-template-columns: 1fr;
    }
    .system-app .assessment-selected-banner {
        grid-template-columns: 1fr;
    }
}


/* HF6.6 — application qualification feedback and workflow-panel alignment. */
.system-app .application-review-sidebar{
    position:static!important;
    align-self:start;
    display:grid;
    gap:16px;
    min-width:0;
}
.system-app .application-next-action-panel{
    position:static!important;
    top:auto!important;
    min-width:0;
}
.system-app .application-stage-heading{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
}
.system-app .application-responsible-role{
    display:flex;
    align-items:baseline;
    justify-content:flex-end;
    gap:5px;
    min-width:0;
    text-align:right;
}
.system-app .application-responsible-role small{
    color:#64748b;
    font-size:11px;
    white-space:nowrap;
}
.system-app .application-responsible-role strong{
    color:#0f172a;
    font-size:13px;
    white-space:nowrap;
}
.system-app .application-readiness{
    margin-top:14px;
    padding-top:14px;
    border-top:1px solid #e2e8f0;
}
.system-app .application-readiness-heading{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px;
    margin-bottom:10px;
}
.system-app .application-readiness-heading strong{
    font-size:14px;
}
.system-app .application-readiness-heading span{
    color:#64748b;
    font-size:12px;
}
.system-app .application-readiness-list{
    display:grid;
    gap:8px;
    margin:0;
    padding:0;
    list-style:none;
}
.system-app .application-readiness-list li{
    display:grid;
    grid-template-columns:24px minmax(0,1fr);
    gap:8px;
    align-items:start;
    margin:0;
    padding:9px 10px;
    border:1px solid #e2e8f0;
    border-radius:10px;
    background:#f8fafc;
}
.system-app .application-readiness-icon{
    display:grid;
    place-items:center;
    width:22px;
    height:22px;
    border-radius:999px;
    background:#dcfce7;
    color:#166534;
    font-size:13px;
    font-weight:800;
}
.system-app .application-readiness-list li.is-warning .application-readiness-icon{
    background:#fef3c7;
    color:#92400e;
}
.system-app .application-readiness-list li div{
    display:grid;
    gap:2px;
    min-width:0;
}
.system-app .application-readiness-list li strong{
    font-size:13px;
    line-height:1.3;
}
.system-app .application-readiness-list li small{
    color:#64748b;
    font-size:11px;
    line-height:1.45;
}
.system-app .application-owner-list dt{
    font-size:10px;
}
.system-app .application-owner-list dd{
    font-size:12px;
}
.system-app .application-next-action-panel>p:not(.eyebrow){
    font-size:12px;
}
.system-app .application-next-action-form{
    display:grid;
    grid-template-columns:1fr;
    gap:12px;
}
.system-app .application-next-action-form>*{
    grid-column:1/-1;
}
.system-app .application-workflow-feedback{
    display:grid;
    gap:3px;
    margin:12px 0 2px;
    padding:11px 12px;
    border:1px solid #bbf7d0;
    border-radius:11px;
    background:#f0fdf4;
    color:#166534;
}
.system-app .application-workflow-feedback.is-error{
    border-color:#fecaca;
    background:#fef2f2;
    color:#b91c1c;
}
.system-app .application-workflow-feedback strong{
    font-size:12px;
}
.system-app .application-workflow-feedback span{
    font-size:11px;
    line-height:1.45;
}
.system-app .application-next-action-form.is-submitting{
    opacity:.78;
    pointer-events:none;
}
.system-app .application-action-submit[aria-busy="true"]{
    cursor:wait;
}
@media(max-width:620px){
    .system-app .application-responsible-role{
        justify-content:flex-start;
        text-align:left;
        flex-wrap:wrap;
    }
}

/* HF6.9 — Academic and Registrar student-number settings. */
.student-number-settings-panel{scroll-margin-top:90px}
.student-number-settings-panel>.form-heading-row{align-items:stretch}
.student-number-preview-card{
    display:grid;
    align-content:center;
    gap:.16rem;
    min-width:260px;
    padding:.8rem 1rem;
    border:1px solid #bfdbfe;
    border-radius:12px;
    background:#eff6ff;
}
.student-number-preview-card span,
.student-number-preview-card small{color:#475569;font-size:.75rem}
.student-number-preview-card strong{font-size:1.15rem;color:#1d4ed8;letter-spacing:.04em}
.student-number-settings-form small{display:block;margin-top:.25rem;color:var(--muted,#64748b);font-size:.75rem;line-height:1.35}
.student-number-format-example{
    display:grid;
    gap:.18rem;
    padding:.72rem .8rem;
    border:1px dashed #94a3b8;
    border-radius:10px;
    background:#f8fafc;
}
.student-number-format-example span{color:#64748b;font-size:.78rem}
@media(max-width:760px){
    .student-number-preview-card{min-width:0;width:100%}
}
.settings-section-nav{
    display:flex;
    flex-wrap:wrap;
    gap:.5rem;
    margin:0 0 1rem;
    padding:.6rem;
    border:1px solid var(--border,#dbe3ef);
    border-radius:12px;
    background:#fff;
    position:sticky;
    top:64px;
    z-index:20;
    box-shadow:0 5px 16px rgba(15,23,42,.06);
}


/* HF6.12 — Cashier one-stop dashboard. */
.cashier-payor-lookup{display:grid;gap:1rem}
.cashier-lookup-heading{display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,.8fr);gap:1rem;align-items:end}
.cashier-payor-search{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:.5rem}
.cashier-payor-results{display:grid;gap:.65rem}
.cashier-payor-result{display:grid;grid-template-columns:46px minmax(0,1fr);gap:.75rem;padding:.75rem;border:1px solid #dbe3ef;border-radius:12px;background:#fff}
.cashier-payor-avatar{width:46px;height:46px;display:grid;place-items:center;border-radius:12px;background:#e0ecff;color:#1d4ed8;font-size:1rem;font-weight:900;overflow:hidden}
.cashier-payor-avatar img{width:100%;height:100%;object-fit:cover}
.cashier-payor-result-main{display:grid;gap:.5rem;min-width:0}
.cashier-payor-result-title{display:flex;justify-content:space-between;gap:1rem;align-items:start}
.cashier-payor-result-title>div{display:grid;gap:.1rem;min-width:0}
.cashier-payor-result-title strong{font-size:.9rem}
.cashier-payor-result-title small{font-size:.72rem;color:#64748b}
.cashier-balance{padding:.35rem .55rem;border-radius:999px;font-size:.8rem;font-weight:900;white-space:nowrap}
.cashier-balance.has-balance{background:#fee2e2;color:#b91c1c}
.cashier-balance.settled{background:#dcfce7;color:#166534}
.cashier-payor-result-meta{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.45rem}
.cashier-payor-result-meta span{display:grid;gap:.08rem;padding:.45rem .5rem;border-radius:8px;background:#f8fafc;font-size:.73rem;min-width:0}
.cashier-payor-result-meta b{font-size:.62rem;text-transform:uppercase;letter-spacing:.05em;color:#64748b}
.cashier-payor-result-meta small{font-size:.65rem;color:#64748b;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cashier-payor-result-actions{display:flex;gap:.4rem;flex-wrap:wrap}
.cashier-one-stop-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(340px,390px);gap:1rem;align-items:start}
.cashier-lower-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}
.cashier-queue-window-number{display:inline-grid;place-items:center;min-width:54px;padding:.28rem .48rem;border-radius:999px;background:#1d4ed8;color:#fff;font-size:.7rem;font-weight:900}
@media(max-width:1050px){.cashier-one-stop-grid,.cashier-lookup-heading{grid-template-columns:1fr}.cashier-payor-result-meta{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:720px){.cashier-payor-search{grid-template-columns:1fr}.cashier-payor-result{grid-template-columns:1fr}.cashier-payor-avatar{display:none}.cashier-payor-result-title{display:grid}.cashier-payor-result-meta,.cashier-lower-grid{grid-template-columns:1fr}}

/* Version 1 RC — explicit academic term calendar */
.term-calendar-editor{display:grid;gap:.7rem;margin:0;padding:.85rem;border:1px solid var(--border,#dbe3ef);border-radius:12px;background:#f8fafc}
.term-calendar-editor legend{padding:0 .35rem;font-weight:800;color:#334155}
.term-calendar-row{display:grid;grid-template-columns:minmax(180px,1.2fr) repeat(2,minmax(145px,.8fr)) minmax(120px,.6fr);gap:.65rem;align-items:end;padding:.7rem;border:1px solid #dbe3ee;border-radius:10px;background:#fff}
.term-calendar-row[hidden]{display:none!important}
.term-calendar-row label{display:grid;gap:.25rem;margin:0;font-size:.76rem;font-weight:750;color:#475569}
@media(max-width:900px){.term-calendar-row{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.term-calendar-row{grid-template-columns:1fr}}


/* Dashboard role review — compact through grouping, not smaller typography. */
body.dashboard-page .main-content{max-width:1600px}
body.dashboard-page .dashboard-welcome{min-height:0;padding:22px 24px;margin-bottom:14px;border-radius:16px;gap:18px}
body.dashboard-page .dashboard-welcome h2{font-size:clamp(25px,2.2vw,34px);margin-bottom:6px}
body.dashboard-page .dashboard-welcome p{font-size:14px;line-height:1.5;max-width:760px}
body.dashboard-page .dashboard-welcome .eyebrow{font-size:11px;margin-bottom:5px}
body.dashboard-page .welcome-actions{gap:8px;align-content:center}
body.dashboard-page .welcome-actions a{min-height:40px;padding:9px 12px;font-size:13px;gap:7px}
body.dashboard-page .metric-grid{gap:10px;margin:0 0 14px}
body.dashboard-page .dashboard-metric{min-height:108px;padding:14px 15px;grid-template-columns:34px 1fr;column-gap:10px;row-gap:2px}
body.dashboard-page .dashboard-metric .metric-icon{width:34px;height:34px}
body.dashboard-page .dashboard-metric>span:not(.metric-icon){font-size:13px}
body.dashboard-page .dashboard-metric strong{font-size:25px;line-height:1.05}
body.dashboard-page .dashboard-metric small{font-size:11px;line-height:1.35}
body.dashboard-page .panel{padding:16px;margin-bottom:14px;border-radius:14px}
body.dashboard-page .panel>h2,body.dashboard-page .panel-heading-row h2,body.dashboard-page .form-heading-row h2{font-size:18px;line-height:1.25;margin-bottom:3px}
body.dashboard-page .panel .eyebrow{margin-bottom:3px}
body.dashboard-page .form-heading-row,body.dashboard-page .panel-heading-row{gap:12px;margin-bottom:11px}
body.dashboard-page .form-heading-row .muted,body.dashboard-page .panel-heading-row .muted{font-size:12px;line-height:1.4;margin-top:2px}
body.dashboard-page .two-column,body.dashboard-page .dashboard-grid{gap:14px}
body.dashboard-page .summary-grid{gap:9px;margin-bottom:0}
body.dashboard-page .summary-grid>div{padding:12px 13px;min-height:76px}
body.dashboard-page .quick-action-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
body.dashboard-page .quick-action{min-height:58px;padding:10px 11px;gap:9px;border-radius:11px}
body.dashboard-page .quick-action .nav-icon{width:31px;height:31px;flex:0 0 31px}
body.dashboard-page .quick-action strong{font-size:13px;line-height:1.25}
body.dashboard-page .quick-action small{display:none}
body.dashboard-page .record-actions{gap:7px}
body.dashboard-page .record-actions .button,body.dashboard-page .form-heading-row .button,body.dashboard-page .panel-heading-row .button{min-height:36px;padding:8px 11px;font-size:12px}
body.dashboard-page table th{padding:9px 10px;font-size:11px}
body.dashboard-page table td{padding:9px 10px;font-size:12px}
body.dashboard-page .announcement-list{gap:8px}
body.dashboard-page .announcement-list article{padding:12px}
body.dashboard-page .empty-state{padding:18px}
body.dashboard-page .teacher-class-grid,body.dashboard-page .teacher-schedule-grid{gap:10px}
body.dashboard-page .teacher-class-card,body.dashboard-page .teacher-schedule-card{padding:12px}
body.dashboard-page .registrar-command-bar,body.dashboard-page .cashier-command-bar{padding:18px 20px}
body.dashboard-page .registrar-workspace-grid{gap:14px}
@media(max-width:1200px){body.dashboard-page .quick-action-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){body.dashboard-page .dashboard-welcome{padding:18px}body.dashboard-page .quick-action-grid{grid-template-columns:1fr}body.dashboard-page .metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:500px){body.dashboard-page .metric-grid{grid-template-columns:1fr}}

/* ======================================================================
   System uniformity layer — 2026-06-26
   Consolidates page orientation, controls, actions, alerts, and statuses
   without changing module permissions or transaction behavior.
   ====================================================================== */
.system-app{
    --ui-panel-radius:16px;
    --ui-control-radius:10px;
    --ui-control-height:42px;
    --ui-action-gap:8px;
}
.system-app .page-heading{max-width:min(760px,55vw)}
.system-app .breadcrumb{font-size:10.5px;letter-spacing:.055em}
.system-app .page-heading h1{font-size:clamp(24px,1.8vw,30px);line-height:1.12}
.system-app .page-heading p{
    display:-webkit-box;
    max-width:760px;
    margin-top:6px;
    overflow:hidden;
    font-size:12.5px;
    line-height:1.45;
    white-space:normal;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:2;
}
.system-app .page-content{padding-top:24px}

/* One panel language across operational modules. */
.system-app .panel,
.system-app .metric,
.system-app .login-panel{border-radius:var(--ui-panel-radius)}
.system-app .panel-heading-row,
.system-app .form-heading-row{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:16px;
    margin:0 0 16px;
}
.system-app .panel-heading-row>div:first-child,
.system-app .form-heading-row>div:first-child{min-width:0}
.system-app .panel-heading-row h2,
.system-app .form-heading-row h2{
    margin:0 0 4px;
    color:var(--ui-text);
    font-size:17px;
    line-height:1.25;
}
.system-app .panel-heading-row p,
.system-app .form-heading-row p{margin:0;color:var(--ui-muted);font-size:12px;line-height:1.5}
.system-app .panel.has-structured-heading>.panel-heading-row:first-child,
.system-app .panel.has-structured-heading>.form-heading-row:first-child,
.system-app .panel.has-structured-heading>form>.form-heading-row:first-child{
    padding-bottom:14px;
    border-bottom:1px solid var(--ui-border);
}
.system-app .eyebrow,
.system-app .section-kicker{
    display:block;
    margin-bottom:5px;
    color:var(--ui-primary);
    font-size:10px;
    font-weight:850;
    letter-spacing:.085em;
    line-height:1.2;
    text-transform:uppercase;
}

/* Forms use one readable label/control scale. */
.system-app label{font-size:11.5px;line-height:1.35;letter-spacing:.015em}
.system-app input,
.system-app select,
.system-app textarea{
    min-height:var(--ui-control-height);
    border-radius:var(--ui-control-radius);
    font-size:13px;
}
.system-app textarea{line-height:1.5}
.system-app input:disabled,
.system-app select:disabled,
.system-app textarea:disabled,
.system-app input[readonly],
.system-app textarea[readonly]{color:#65758a;background:#f5f7fa;cursor:not-allowed}
.system-app .required-field>span:first-child::after,
.system-app label.required-field::after{color:#b42318}
.system-app small.help-text,
.system-app .field-help{color:var(--ui-muted);font-size:11px;line-height:1.45}

/* Predictable action hierarchy and spacing. */
.system-app button,
.system-app .button,
.system-app .button-link{
    min-height:var(--ui-control-height);
    padding:9px 14px;
    border-radius:var(--ui-control-radius);
    font-size:12px;
    line-height:1.2;
}
.system-app button.secondary,
.system-app .button.secondary{color:var(--ui-primary);background:var(--ui-primary-soft);border-color:color-mix(in srgb,var(--ui-primary) 18%,var(--ui-border))}
.system-app button.danger,
.system-app .button.danger,
.system-app button[name*="delete"],
.system-app button[value="delete"]{color:#fff;background:#b42318;border-color:#b42318;box-shadow:none}
.system-app button.danger:hover,
.system-app .button.danger:hover,
.system-app button[name*="delete"]:hover,
.system-app button[value="delete"]:hover{background:#8f1c13}
.system-app .system-action-row,
.system-app .form-actions,
.system-app .application-submit-row,
.system-app .wizard-actions,
.system-app .filter-actions,
.system-app .record-actions,
.system-app .management-toolbar-actions,
.system-app .schedule-center-actions,
.system-app .planner-hero-actions{
    display:flex;
    align-items:center;
    justify-content:flex-end;
    flex-wrap:wrap;
    gap:var(--ui-action-gap);
}
.system-app .form-actions,
.system-app .application-submit-row,
.system-app .wizard-actions{
    grid-column:1/-1;
    margin-top:4px;
    padding-top:16px;
    border-top:1px solid var(--ui-border);
}
.system-app .record-actions{justify-content:flex-start}
.system-app .record-actions form{margin:0}
.system-app .record-actions .button,
.system-app .record-actions button{min-height:34px;padding:7px 10px;font-size:11px}
.system-app :is(button,.button,.button-link,a,summary,input,select,textarea):focus-visible{
    outline:3px solid color-mix(in srgb,var(--ui-primary) 28%,transparent);
    outline-offset:2px;
}

/* One alert pattern, including legacy module messages. */
.system-app .flash{
    min-height:48px;
    align-items:center;
    gap:10px;
    padding:11px 13px;
    border-radius:12px;
    font-size:12px;
    line-height:1.45;
}
.system-app .flash[data-tone="success"],
.system-app .flash.success{color:#166534!important;background:#ecfdf3!important;border-color:#bbebcb!important}
.system-app .flash[data-tone="info"],
.system-app .flash.info{color:#1e4f83!important;background:#eff6ff!important;border-color:#bfdbfe!important}
.system-app .flash[data-tone="warning"],
.system-app .flash.warning{color:#854d0e;background:#fffbeb;border-color:#fde68a}
.system-app .flash[data-tone="error"],
.system-app .flash.error{color:#991b1b!important;background:#fff1f2!important;border-color:#fecdd3!important}
.system-app .flash[data-tone="info"] .flash-symbol{background:#3b82f6}
.system-app .flash[data-tone="warning"] .flash-symbol{background:#d97706}
.system-app .flash[data-tone="error"] .flash-symbol{background:#dc2626}
.system-app .flash-close{flex:0 0 28px;color:currentColor;border:0;box-shadow:none}

/* Canonical system status tones. Exact workflow text remains visible. */
.system-app :is(.badge,.status-badge,.status-pill)[data-tone]{
    display:inline-flex;
    align-items:center;
    gap:6px;
    width:max-content;
    max-width:100%;
    padding:5px 9px;
    border:1px solid #dce7f1;
    border-radius:999px;
    font-size:10px;
    font-weight:800;
    letter-spacing:.02em;
    line-height:1.2;
    text-transform:capitalize;
    white-space:nowrap;
}
.system-app :is(.badge,.status-badge,.status-pill)[data-tone]::before{
    content:"";
    width:6px;
    height:6px;
    flex:0 0 6px;
    border-radius:50%;
    background:#718096;
}
.system-app :is(.badge,.status-badge,.status-pill)[data-tone="success"]{color:#166534!important;background:#ecfdf3!important;border-color:#bbebcb!important}
.system-app :is(.badge,.status-badge,.status-pill)[data-tone="success"]::before{background:#22c55e}
.system-app :is(.badge,.status-badge,.status-pill)[data-tone="warning"]{color:#92400e!important;background:#fffbeb!important;border-color:#fde7ae!important}
.system-app :is(.badge,.status-badge,.status-pill)[data-tone="warning"]::before{background:#f59e0b}
.system-app :is(.badge,.status-badge,.status-pill)[data-tone="danger"]{color:#991b1b!important;background:#fff1f2!important;border-color:#fecdd3!important}
.system-app :is(.badge,.status-badge,.status-pill)[data-tone="danger"]::before{background:#ef4444}
.system-app :is(.badge,.status-badge,.status-pill)[data-tone="info"]{color:#1e4f83!important;background:#eff6ff!important;border-color:#bfdbfe!important}
.system-app :is(.badge,.status-badge,.status-pill)[data-tone="info"]::before{background:#3b82f6}
.system-app :is(.badge,.status-badge,.status-pill)[data-tone="neutral"]{color:#475569!important;background:#f1f5f9!important;border-color:#dbe3ec!important}

/* Tables share the same density and action alignment. */
.system-app th{font-size:10px}
.system-app td{font-size:12px}
.system-app td:last-child .record-actions{justify-content:flex-end}
.system-app .data-toolbar{min-height:40px}
.system-app .data-count{font-size:11px}
.system-app .table-empty{border-radius:12px;background:var(--ui-surface-soft)}

/* Do not let specialized pages create a second visual hierarchy above the shell. */
.system-app .management-toolbar,
.system-app .registrar-command-bar,
.system-app .cashier-command-bar{
    border-radius:var(--ui-panel-radius);
}

@media(max-width:1100px){
    .system-app .page-heading{max-width:54vw}
    .system-app .date-chip{display:none}
}
@media(max-width:760px){
    .system-app .topbar{padding:14px 16px}
    .system-app .page-heading{max-width:none}
    .system-app .page-heading p{-webkit-line-clamp:3}
    .system-app .page-content{padding:18px 14px 34px}
    .system-app .panel-heading-row,
    .system-app .form-heading-row{align-items:stretch;flex-direction:column}
    .system-app .system-action-row,
    .system-app .form-actions,
    .system-app .application-submit-row,
    .system-app .wizard-actions,
    .system-app .filter-actions,
    .system-app .management-toolbar-actions,
    .system-app .schedule-center-actions{align-items:stretch;flex-direction:column}
    .system-app .system-action-row>:is(button,.button,.button-link),
    .system-app .form-actions>:is(button,.button,.button-link),
    .system-app .application-submit-row>:is(button,.button,.button-link),
    .system-app .wizard-actions>:is(button,.button,.button-link),
    .system-app .filter-actions>:is(button,.button,.button-link){width:100%}
}

/* Enrollment case journey and cross-office handoffs. */
.application-journey-panel{display:grid;gap:1rem}
.application-journey{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.65rem}
.application-journey-item{display:grid;grid-template-columns:12px 1fr;gap:.65rem;min-width:0;padding:.8rem;border:1px solid #dbe4f0;border-radius:12px;background:#fff;text-decoration:none;color:inherit;transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease}
.application-journey-item:hover{border-color:#94a3b8;box-shadow:0 8px 20px rgba(15,23,42,.07);transform:translateY(-1px)}
.application-journey-state{width:10px;height:10px;margin-top:.25rem;border-radius:50%;background:#cbd5e1;box-shadow:0 0 0 4px #f1f5f9}
.application-journey-item>span:last-child{display:grid;gap:.15rem;min-width:0}
.application-journey-item small{font-size:.67rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:#64748b}
.application-journey-item strong{font-size:.88rem;color:#172033}
.application-journey-item em{font-size:.74rem;line-height:1.35;color:#64748b;font-style:normal;overflow-wrap:anywhere}
.application-journey-item.is-complete .application-journey-state{background:#16a34a;box-shadow:0 0 0 4px #dcfce7}
.application-journey-item.is-current{border-color:#60a5fa;background:#eff6ff}
.application-journey-item.is-current .application-journey-state{background:#2563eb;box-shadow:0 0 0 4px #dbeafe}
.application-journey-item.is-blocked{border-color:#fca5a5;background:#fff7f7}
.application-journey-item.is-blocked .application-journey-state{background:#dc2626;box-shadow:0 0 0 4px #fee2e2}
.enrollment-readiness-card>summary{display:flex;align-items:center;justify-content:space-between;gap:1rem;cursor:pointer;list-style:none}
.enrollment-readiness-card>summary::-webkit-details-marker{display:none}
.enrollment-readiness-card>summary span{display:grid;gap:.2rem}.enrollment-readiness-card>summary small{color:#64748b;font-weight:500}
.enrollment-readiness-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:.6rem;margin-top:1rem}
.enrollment-readiness-item{display:grid;grid-template-columns:10px 1fr auto;align-items:start;gap:.65rem;padding:.75rem;border:1px solid #dbe4f0;border-radius:11px;text-decoration:none;color:inherit;background:#fff}
.enrollment-readiness-item>span{width:9px;height:9px;margin-top:.3rem;border-radius:50%;background:#cbd5e1}
.enrollment-readiness-item>div{display:grid;gap:.15rem}.enrollment-readiness-item small{color:#64748b;line-height:1.35}.enrollment-readiness-item>b{font-size:.72rem;color:#2563eb}
.enrollment-readiness-item.is-complete>span{background:#16a34a}.enrollment-readiness-item.is-warning>span{background:#d97706}.enrollment-readiness-item.is-blocked>span{background:#dc2626}
.enrollment-handoff-options{display:grid;gap:.65rem;margin:0;padding:1rem;border:1px solid #dbe4f0;border-radius:12px;background:#f8fafc}
.enrollment-handoff-options legend{padding:0 .4rem;font-weight:800;color:#172033}
.enrollment-handoff-options label{display:grid;gap:.18rem;padding:.65rem .75rem;border:1px solid #e2e8f0;border-radius:10px;background:#fff}
.enrollment-handoff-options label>span{display:flex;align-items:center;gap:.6rem;font-weight:750}.enrollment-handoff-options input{width:auto;margin:0}.enrollment-handoff-options small{color:#64748b;line-height:1.35}
.application-handoff-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;margin-top:1rem}
.application-handoff-card{display:grid;align-content:start;gap:.45rem;padding:1rem;border:1px solid #dbe4f0;border-left:4px solid #cbd5e1;border-radius:12px;background:#fff}
.application-handoff-card small{font-size:.68rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:#64748b}.application-handoff-card h3,.application-handoff-card p{margin:0}.application-handoff-card p{color:#475569;line-height:1.45}.application-handoff-card a{font-weight:750;color:#1d4ed8;text-decoration:none}.application-handoff-card form{margin:.15rem 0 0}
.application-handoff-card.is-complete,.application-handoff-card.is-active,.application-handoff-card.is-paid{border-left-color:#16a34a}.application-handoff-card.is-current,.application-handoff-card.is-billed,.application-handoff-card.is-ready,.application-handoff-card.is-role_missing{border-left-color:#2563eb}.application-handoff-card.is-missing,.application-handoff-card.is-email_missing,.application-handoff-card.is-email_in_use{border-left-color:#dc2626}
.placement-focus-notice{display:inline-flex;margin:.45rem 0 0;padding:.35rem .55rem;border-radius:999px;background:#dbeafe;color:#1e40af;font-size:.75rem;font-weight:750}
.student-card.placement-student-focus{outline:3px solid #2563eb;outline-offset:2px;background:#eff6ff;box-shadow:0 10px 24px rgba(37,99,235,.2)}

/* Multiple-role management and Super User transaction simulation. */
.user-role-assignment-panel{display:grid;gap:1rem}.user-secondary-role-form{margin-top:.5rem;padding-top:1rem;border-top:1px solid #dbe4f0}.user-role-stack{display:flex;align-items:center;flex-wrap:wrap;gap:.3rem}.badge.primary-role{background:#dbeafe;color:#1d4ed8;border-color:#bfdbfe}
.role-player-intro{display:grid;gap:1rem}.role-player-rules{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.65rem}.role-player-rules span{display:grid;gap:.2rem;padding:.8rem;border:1px solid #dbe4f0;border-radius:11px;background:#f8fafc;color:#64748b}.role-player-rules strong{color:#172033}
.role-player-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.role-player-card{display:grid;align-content:start;gap:.8rem}.role-player-card>header{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem}.role-player-card h2,.role-player-card p{margin:0}.role-player-list{display:grid;gap:.45rem}.role-player-row{display:flex;align-items:center;justify-content:space-between;gap:.7rem;padding:.65rem;border:1px solid #e2e8f0;border-radius:10px;background:#f8fafc}.role-player-row>div{display:grid;min-width:0}.role-player-row small{color:#64748b;overflow-wrap:anywhere}.role-player-row form{margin:0}.role-player-warning{display:block}.transaction-test-sequence{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.65rem;padding:0;counter-reset:enrollment-stage}.transaction-test-sequence li{display:grid;gap:.25rem;padding:.8rem;border:1px solid #dbe4f0;border-radius:11px;background:#fff;list-style:none;counter-increment:enrollment-stage}.transaction-test-sequence li:before{content:counter(enrollment-stage);display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:#dbeafe;color:#1d4ed8;font-weight:800}.transaction-test-sequence span{color:#64748b;line-height:1.4}

@media(max-width:900px){.application-handoff-grid,.role-player-grid{grid-template-columns:1fr}.role-player-rules{grid-template-columns:1fr}}
@media(max-width:620px){.application-journey{grid-template-columns:1fr}.enrollment-readiness-list{grid-template-columns:1fr}.role-player-row{align-items:flex-start;flex-direction:column}.role-player-row form,.role-player-row .button{width:100%}}

/* System Administration control center */
.system-admin-hub{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:12px;margin:0 0 18px}.system-admin-card{display:grid;grid-template-columns:36px 1fr;grid-template-rows:auto auto;gap:2px 10px;align-items:center;padding:14px 16px;border:1px solid var(--border-color,#d8e0ea);border-radius:14px;background:var(--panel-bg,#fff);color:inherit;text-decoration:none;box-shadow:0 3px 12px rgba(15,23,42,.04)}.system-admin-card>span{grid-row:1/3;display:grid;place-items:center;width:36px;height:36px;border-radius:10px;background:rgba(37,99,235,.08)}.system-admin-card .sis-icon{width:20px;height:20px}.system-admin-card strong{font-size:.95rem}.system-admin-card small{color:var(--muted-color,#64748b);line-height:1.35}.system-admin-card:hover,.system-admin-card.current{border-color:var(--primary-color,#2563eb);box-shadow:0 6px 20px rgba(15,23,42,.08);transform:translateY(-1px)}.system-admin-card.current{outline:2px solid rgba(37,99,235,.1)}.system-admin-schema-warning{display:flex;align-items:center;justify-content:space-between;gap:18px;border-left:4px solid #d97706}.system-admin-schema-warning>div{min-width:0}.compact-metrics{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.status-chip-row{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0 16px}.status-chip{display:inline-flex;align-items:center;gap:6px;padding:7px 10px;border:1px solid var(--border-color,#d8e0ea);border-radius:999px;background:var(--panel-bg,#fff);font-size:.84rem}.status-chip strong{font-size:1rem}.nav-check-valid{background:#ecfdf5;color:#166534}.nav-check-external{background:#eff6ff;color:#1d4ed8}.nav-check-warning{background:#fffbeb;color:#92400e}.nav-check-invalid{background:#fef2f2;color:#b91c1c}.detail-list{display:grid;gap:8px;margin:14px 0}.detail-list>div{display:grid;grid-template-columns:minmax(130px,190px) 1fr;gap:12px;padding:9px 0;border-bottom:1px solid var(--border-color,#e5e7eb)}.detail-list dt{font-weight:700}.detail-list dd{margin:0;min-width:0}.panel-heading-row .form-actions{margin:0}.license-code-full{word-break:break-all}.health-pass{background:#ecfdf5;color:#166534}.health-warn{background:#fffbeb;color:#92400e}.health-fail{background:#fef2f2;color:#b91c1c}
@media(max-width:760px){.system-admin-hub{grid-template-columns:1fr}.system-admin-schema-warning{align-items:stretch;flex-direction:column}.detail-list>div{grid-template-columns:1fr;gap:3px}.panel-heading-row .form-actions{width:100%}}

/* Enrollment source-record and financial-gate clarity */
.application-readonly-section{background:linear-gradient(180deg,#fff 0%,#f8fbff 100%)}
.application-master-record-note{display:flex;align-items:center;gap:.55rem 1rem;flex-wrap:wrap;padding:.85rem 1rem;margin-bottom:1rem;border:1px solid #bfdbfe;border-radius:12px;background:#eff6ff;color:#1e3a8a}
.application-master-record-note strong{font-size:.92rem}.application-master-record-note span{flex:1;min-width:240px;color:#475569}.application-master-record-note a{font-weight:800;text-decoration:none}
.application-readonly-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:.75rem}
.application-readonly-field{display:grid;gap:.28rem;min-width:0;padding:.85rem .95rem;border:1px solid #dbe4f0;border-radius:12px;background:#fff}
.application-readonly-field span{font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.045em;color:#64748b}
.application-readonly-field strong{overflow-wrap:anywhere;color:#0f172a}.application-readonly-field small{color:#64748b}
.application-enrollment-only-fields{margin-top:1rem}.application-guardian-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:.75rem}
.application-guardian-summary article{display:flex;justify-content:space-between;gap:1rem;padding:.9rem 1rem;border:1px solid #dbe4f0;border-radius:12px;background:#fff}
.application-guardian-summary article div{display:grid;gap:.2rem}.application-guardian-summary article span,.application-guardian-summary article small{color:#64748b}.application-guardian-summary article small{text-align:right;overflow-wrap:anywhere}
.enrollment-payment-resolution{margin-top:1rem;padding:1rem;border:1px solid #fbbf24;border-radius:14px;background:#fffbeb}
.enrollment-payment-resolution.is-cleared{border-color:#86efac;background:#f0fdf4}.enrollment-payment-resolution-head{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start;margin-bottom:1rem}.enrollment-payment-resolution-head h3{margin:.1rem 0 .3rem}.enrollment-payment-resolution-head p{margin:0;color:#475569}
.enrollment-payment-breakdown th,.enrollment-payment-breakdown td{white-space:nowrap}.enrollment-payment-actions{margin-top:1rem}.enrollment-payment-actions form{margin:0}.enrollment-payment-help{display:block;margin-top:.75rem;color:#64748b;line-height:1.5}
@media(max-width:760px){.application-master-record-note,.enrollment-payment-resolution-head{align-items:flex-start;flex-direction:column}.application-guardian-summary article{flex-direction:column}.application-guardian-summary article small{text-align:left}.enrollment-payment-actions{align-items:stretch}.enrollment-payment-actions .button,.enrollment-payment-actions form,.enrollment-payment-actions button{width:100%}}


/* ========================================================================
   Full-width application and managed print stations — 2026-06-27
   ======================================================================== */
.system-app .page-content {
    width: 100%;
    max-width: none;
    margin-inline: 0;
    padding-inline: clamp(16px, 2.1vw, 36px);
}
.system-app .main { width: auto; max-width: none; }

.queue-kiosk-shell {
    width: 100%;
    max-width: none;
    margin: 0;
    padding: clamp(24px, 4vw, 52px) clamp(16px, 3vw, 48px) 70px;
}
.queue-ticket-form { width: 100%; max-width: none; }
@media (min-width: 1050px) {
    .queue-ticket-form { grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: stretch; }
    .queue-ticket-form fieldset { height: 100%; }
    .queue-ticket-form .queue-issue-button { grid-column: 1 / -1; width: min(760px, 100%); justify-self: center; }
}
.queue-print-status,
.receipt-print-status {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
    width: min(760px, 100%);
    margin: 0 auto 14px;
    padding: 11px 14px;
    color: #334155;
    background: #eef7ff;
    border: 1px solid #b9ddff;
    border-radius: 12px;
    font-size: 12px;
    text-align: center;
}
.queue-print-status strong,
.receipt-print-status strong { color: #0f3c70; }

@media print {
    body.receipt-print-page { width: 5.5in !important; min-width: 0 !important; margin: 0 !important; }
    body.receipt-print-page .page-content { width: 5.5in !important; min-height: 0 !important; padding: 0 !important; }
    body.receipt-print-page .official-receipt {
        width: 5.5in;
        max-width: 5.5in;
        min-height: 8.5in;
        margin: 0;
        padding: .28in .3in;
        border: 0;
        box-shadow: none;
        overflow: visible;
        print-color-adjust: exact;
        -webkit-print-color-adjust: exact;
    }
    body.receipt-print-page .receipt-header { gap: 10px; padding-bottom: 9px; }
    body.receipt-print-page .receipt-school-mark img { width: 48px; height: 48px; }
    body.receipt-print-page .receipt-header p,
    body.receipt-print-page .receipt-header span { font-size: 8px; }
    body.receipt-print-page .receipt-header h1 { margin: 1px 0; font-size: 15px; }
    body.receipt-print-page .receipt-title-row { gap: 10px; padding: 10px 0; }
    body.receipt-print-page .receipt-title-row h2 { font-size: 14px; }
    body.receipt-print-page .receipt-title-row > div:last-child { gap: 2px 7px; font-size: 8px; }
    body.receipt-print-page .receipt-title-row strong { font-size: 9px; }
    body.receipt-print-page .receipt-party-grid span,
    body.receipt-print-page .receipt-payment-grid span { margin-bottom: 2px; font-size: 7px; }
    body.receipt-print-page .receipt-party-grid strong,
    body.receipt-print-page .receipt-payment-grid strong { font-size: 9px; }
    body.receipt-print-page .receipt-party-grid > div,
    body.receipt-print-page .receipt-payment-grid > div { padding: 5px 6px; }
    body.receipt-print-page .receipt-items { margin: 9px 0; }
    body.receipt-print-page .receipt-items th,
    body.receipt-print-page .receipt-items td { padding: 5px 6px; font-size: 8px; }
    body.receipt-print-page .receipt-items tfoot th { font-size: 9px; }
    body.receipt-print-page .receipt-footer { grid-template-columns: 1fr 145px; gap: 18px; margin-top: 15px; }
    body.receipt-print-page .receipt-footer span,
    body.receipt-print-page .receipt-footer small,
    body.receipt-print-page .receipt-copy-note,
    body.receipt-print-page .receipt-void-note { font-size: 8px; }
    body.receipt-print-page .receipt-copy-note,
    body.receipt-print-page .receipt-void-note { margin-top: 10px; }
    body.receipt-print-page .receipt-watermark { font-size: 68px; }
    body.receipt-print-page .receipt-watermark.reprint { font-size: 32px; }

    .queue-kiosk-page .queue-ticket-receipt {
        width: 80mm;
        min-height: 120mm;
        margin: 0;
        padding: 8mm 6mm;
        print-color-adjust: exact;
        -webkit-print-color-adjust: exact;
    }
}

/* ========================================================================
   Compact queue workstations — 2026-06-27
   Keep the SIS workspace fluid while preventing queue screens from becoming
   oversized on desktop and television displays.
   ======================================================================== */
.queue-kiosk-shell {
    width: min(940px, calc(100% - 32px));
    max-width: 940px;
    margin-inline: auto;
    padding: clamp(22px, 3vw, 34px) 0 48px;
}
.queue-kiosk-heading { margin-bottom: 20px; }
.queue-kiosk-heading h1 { font-size: clamp(28px, 4vw, 42px); }
.queue-ticket-form {
    width: 100%;
    max-width: 940px;
    gap: 15px;
}
.queue-ticket-form fieldset {
    padding: 18px;
    border-radius: 17px;
}
.queue-ticket-form legend { font-size: 16px; }
.queue-choice-grid,
.queue-priority-grid { gap: 12px; }
.queue-choice-card,
.queue-priority-card {
    column-gap: 12px;
    padding: 15px;
    border-radius: 14px;
}
.queue-choice-code {
    width: 52px;
    height: 52px;
    border-radius: 14px;
    font-size: 24px;
}
.queue-priority-card > span {
    width: 48px;
    height: 48px;
    border-radius: 13px;
    font-size: 22px;
}
.queue-choice-card strong,
.queue-priority-card strong { font-size: 18px; }
.queue-choice-card small,
.queue-priority-card small { font-size: 12px; }
.queue-issue-button {
    width: min(560px, 100%);
    min-height: 54px;
    justify-self: center;
    border-radius: 14px;
    font-size: 16px;
}
@media (min-width: 1050px) {
    .queue-ticket-form {
        grid-template-columns: 1fr;
        align-items: initial;
    }
    .queue-ticket-form .queue-issue-button {
        grid-column: auto;
        width: min(560px, 100%);
    }
}

/* The public serving display remains readable from a distance, but no longer
   allows every component to scale excessively with very large monitors. */
.queue-monitor-header {
    gap: 18px;
    padding: 14px 22px;
}
.queue-monitor-brand img { width: 46px; height: 46px; }
.queue-monitor-title { font-size: clamp(22px, 2.7vw, 38px); }
.queue-monitor-clock strong { font-size: 24px; }
.queue-monitor-grid {
    width: min(1440px, 100%);
    margin-inline: auto;
    padding: 18px;
    gap: 18px;
}
.queue-monitor-service { border-radius: 18px; }
.queue-monitor-service > header {
    gap: 13px;
    padding: 15px 18px;
}
.queue-monitor-service > header > span {
    width: 52px;
    height: 52px;
    border-radius: 15px;
    font-size: 27px;
}
.queue-monitor-service h1 { font-size: 23px; }
.queue-monitor-list { padding: 13px; gap: 10px; }
.queue-monitor-ticket {
    gap: 14px;
    padding: 15px 17px;
    border-radius: 14px;
}
.queue-monitor-ticket > div:first-child > strong {
    font-size: clamp(36px, 4.5vw, 62px);
}
.queue-monitor-window strong {
    margin-top: 4px;
    font-size: clamp(18px, 2.4vw, 30px);
}
.queue-monitor-idle { min-height: 190px; }
.queue-monitor-idle strong { font-size: 38px; }
.queue-monitor-footer { padding: 10px 22px; }

@media (max-width: 700px) {
    .queue-kiosk-shell { width: min(100% - 20px, 940px); padding-top: 18px; }
    .queue-kiosk-heading h1 { font-size: 28px; }
    .queue-ticket-form fieldset { padding: 14px; }
    .queue-choice-card,
    .queue-priority-card { padding: 13px; }
}


/* Workstation launcher links — 2026-06-27 */
.login-workstation-links{margin-top:10px;text-align:center}
.internal-tool-workstation-links{display:flex;justify-content:center;gap:14px;flex-wrap:wrap;margin-top:16px}
.queue-kiosk-topbar-actions{display:flex;gap:14px;align-items:center;justify-content:flex-end}
.queue-kiosk-topbar-actions a{color:inherit;text-decoration:none;font-weight:700}
@media(max-width:720px){.queue-kiosk-topbar-actions{gap:8px;flex-wrap:wrap}.queue-kiosk-topbar-actions a:first-child{display:none}}

/* Profile/account separation and role-assignment layout hardening */
.user-role-assignment-panel .table-wrap{overflow-x:auto}
.user-role-assignment-panel table{min-width:760px;table-layout:auto}
.user-role-assignment-panel th:last-child,
.user-role-assignment-panel td:last-child{min-width:235px;width:235px}
.user-role-assignment-panel .record-actions{display:flex;flex-wrap:nowrap;gap:8px;justify-content:flex-start;min-width:215px}
.user-role-assignment-panel .record-actions form{display:inline-flex;flex:0 0 auto;margin:0}
.user-role-assignment-panel .record-actions .button{white-space:nowrap;word-break:normal;overflow-wrap:normal;min-width:max-content}
.profile-role-warning{margin-bottom:14px;border-color:#f59e0b;background:#fffbeb;color:#92400e}
.profile-photo-editor-grid{display:grid;grid-template-columns:112px minmax(0,1fr);gap:18px;align-items:center}
.profile-photo-preview{width:104px;height:104px;border-radius:18px;overflow:hidden;display:grid;place-items:center;background:linear-gradient(145deg,#071a33,#2563eb);color:#fff;font-size:28px;font-weight:850;border:1px solid #dbe4ee}
.profile-photo-preview img{width:100%;height:100%;object-fit:cover}
@media(max-width:700px){.profile-photo-editor-grid{grid-template-columns:1fr}.user-role-assignment-panel table{min-width:680px}}


/* 2026-06-28: Protect action columns from collapsing into unreadable button stacks. */
.table-wrap table.has-table-actions {
    min-width: max-content;
}

.table-wrap table.has-table-actions th.table-action-header,
.table-wrap table.has-table-actions td.table-action-cell {
    white-space: nowrap;
    vertical-align: middle;
}

.table-wrap table.has-table-actions th.table-action-header {
    width: 1%;
}

.table-wrap table.has-table-actions td.table-action-cell {
    min-width: 168px;
    width: 1%;
    text-align: right;
}

.table-wrap table.has-table-actions :is(.record-actions, .row-actions) {
    display: inline-flex;
    align-items: center;
    justify-content: flex-end;
    gap: .4rem;
    flex-wrap: wrap;
    min-width: max-content;
}

.table-wrap table.has-table-actions :is(.record-actions, .row-actions) > *,
.table-wrap table.has-table-actions :is(.record-actions, .row-actions) > form,
.table-wrap table.has-table-actions :is(.record-actions, .row-actions) > a,
.table-wrap table.has-table-actions :is(.record-actions, .row-actions) > button {
    flex: 0 0 auto;
}

.table-wrap table.has-table-actions :is(.icon-button, .button, .button-link) {
    white-space: nowrap !important;
    word-break: normal !important;
    overflow-wrap: normal !important;
}

.table-wrap table.has-table-actions .icon-button {
    min-width: fit-content;
}

.table-wrap table.has-table-actions .icon-button span,
.table-wrap table.has-table-actions .button span {
    white-space: nowrap !important;
    word-break: normal !important;
    overflow-wrap: normal !important;
}

@media (max-width: 900px) {
    .table-wrap table.has-table-actions td.table-action-cell {
        min-width: 132px;
    }
}


/* 2026-07-08: Dental-style SIS Settings Control Center */
.settings-control-center{margin-bottom:18px;overflow:hidden;position:relative}.settings-control-heading{align-items:flex-start;gap:18px}.settings-health-pill{display:grid;gap:2px;min-width:148px;padding:12px 14px;border-radius:16px;border:1px solid var(--border-color,#d8e0ea);background:#f8fafc;text-align:center}.settings-health-pill strong{font-size:1rem;color:#0f172a}.settings-health-pill span{font-size:.82rem;color:var(--muted-color,#64748b)}.settings-health-pill.ready{background:#ecfdf5;border-color:#bbf7d0}.settings-health-pill.ready strong{color:#166534}.settings-health-pill.warning{background:#fffbeb;border-color:#fde68a}.settings-health-pill.warning strong{color:#92400e}.settings-control-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;margin-top:14px}.settings-control-card{display:grid;grid-template-columns:42px 1fr;grid-template-rows:auto auto auto;gap:3px 12px;align-items:start;padding:15px;border:1px solid var(--border-color,#d8e0ea);border-radius:16px;background:linear-gradient(180deg,#fff,#f8fbff);color:inherit;text-decoration:none;box-shadow:0 4px 14px rgba(15,23,42,.04);min-height:126px}.settings-control-card:hover{border-color:var(--primary-color,#2563eb);box-shadow:0 12px 28px rgba(15,23,42,.10);transform:translateY(-1px)}.settings-control-icon{grid-row:1/4;display:grid;place-items:center;width:42px;height:42px;border-radius:13px;background:rgba(37,99,235,.08);color:var(--primary-color,#2563eb)}.settings-control-icon .sis-icon{width:22px;height:22px}.settings-control-card strong{font-size:.98rem;line-height:1.25}.settings-control-card small{color:var(--muted-color,#64748b);line-height:1.35}.settings-control-card em{font-style:normal;color:#1d4ed8;font-size:.78rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em;margin-top:4px}.settings-sticky-nav{position:sticky;top:0;z-index:15;background:rgba(243,247,252,.94);backdrop-filter:blur(12px);padding:10px;border:1px solid var(--border-color,#d8e0ea);border-radius:16px;margin:0 0 18px;box-shadow:0 6px 18px rgba(15,23,42,.06)}.settings-form fieldset{scroll-margin-top:96px}.settings-form fieldset legend{display:grid;gap:3px}.settings-form fieldset legend small{font-weight:500;color:var(--muted-color,#64748b);max-width:860px}.settings-form fieldset:target,.student-number-settings-panel:target{outline:3px solid rgba(37,99,235,.18);box-shadow:0 16px 36px rgba(37,99,235,.08)}@media(max-width:760px){.settings-control-heading{display:block}.settings-health-pill{margin-top:12px;text-align:left}.settings-control-grid{grid-template-columns:1fr}.settings-control-card{min-height:auto}.settings-sticky-nav{position:relative;top:auto}}


/* Stored current-user photo */
.system-app .user-avatar img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}
