/* Minification failed. Returning unminified contents.
(8,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(9,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(10,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(11,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(12,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(15,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(16,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(17,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(18,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(19,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(20,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(21,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(24,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(27,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(28,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(29,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(30,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(31,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(34,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(35,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(36,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(37,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(64,23): run-time error CSS1039: Token not allowed after unary operator: '-sqp-font'
(80,24): run-time error CSS1039: Token not allowed after unary operator: '-sqp-border'
(84,25): run-time error CSS1039: Token not allowed after unary operator: '-sqp-radius'
(86,23): run-time error CSS1039: Token not allowed after unary operator: '-sqp-font'
(87,35): run-time error CSS1039: Token not allowed after unary operator: '-sqp-transition'
(87,69): run-time error CSS1039: Token not allowed after unary operator: '-sqp-transition'
(91,24): run-time error CSS1039: Token not allowed after unary operator: '-sqp-border'
(95,25): run-time error CSS1039: Token not allowed after unary operator: '-sqp-radius'
(97,23): run-time error CSS1039: Token not allowed after unary operator: '-sqp-font'
(98,35): run-time error CSS1039: Token not allowed after unary operator: '-sqp-transition'
(98,69): run-time error CSS1039: Token not allowed after unary operator: '-sqp-transition'
(104,24): run-time error CSS1039: Token not allowed after unary operator: '-sqp-primary'
(125,15): run-time error CSS1039: Token not allowed after unary operator: '-sqp-space-2'
(129,15): run-time error CSS1039: Token not allowed after unary operator: '-sqp-space-3'
(133,15): run-time error CSS1039: Token not allowed after unary operator: '-sqp-space-4'
(143,28): run-time error CSS1039: Token not allowed after unary operator: '-sqp-surface'
(144,25): run-time error CSS1039: Token not allowed after unary operator: '-sqp-radius'
(145,22): run-time error CSS1039: Token not allowed after unary operator: '-sqp-shadow-md'
(150,19): run-time error CSS1039: Token not allowed after unary operator: '-sqp-space-5'
(155,17): run-time error CSS1039: Token not allowed after unary operator: '-sqp-primary'
(160,17): run-time error CSS1039: Token not allowed after unary operator: '-sqp-primary'
(171,17): run-time error CSS1039: Token not allowed after unary operator: '-sqp-danger'
(177,23): run-time error CSS1039: Token not allowed after unary operator: '-sqp-font'
(185,23): run-time error CSS1039: Token not allowed after unary operator: '-sqp-font'
(193,23): run-time error CSS1039: Token not allowed after unary operator: '-sqp-font'
(201,23): run-time error CSS1039: Token not allowed after unary operator: '-sqp-font'
(208,23): run-time error CSS1039: Token not allowed after unary operator: '-sqp-font'
(217,23): run-time error CSS1039: Token not allowed after unary operator: '-sqp-space-4'
(541,41): run-time error CSS1039: Token not allowed after unary operator: '-sqp-transition'
(541,75): run-time error CSS1039: Token not allowed after unary operator: '-sqp-transition'
(541,104): run-time error CSS1039: Token not allowed after unary operator: '-sqp-transition'
(542,33): run-time error CSS1039: Token not allowed after unary operator: '-sqp-transition'
(542,67): run-time error CSS1039: Token not allowed after unary operator: '-sqp-transition'
(542,96): run-time error CSS1039: Token not allowed after unary operator: '-sqp-transition'
(545,25): run-time error CSS1039: Token not allowed after unary operator: '-sqp-radius'
(552,23): run-time error CSS1039: Token not allowed after unary operator: '-sqp-font'
(556,22): run-time error CSS1039: Token not allowed after unary operator: '-sqp-primary'
(557,24): run-time error CSS1039: Token not allowed after unary operator: '-sqp-primary'
(561,26): run-time error CSS1039: Token not allowed after unary operator: '-sqp-primary-hover'
(562,28): run-time error CSS1039: Token not allowed after unary operator: '-sqp-primary-hover'
(563,26): run-time error CSS1039: Token not allowed after unary operator: '-sqp-shadow-sm'
(581,22): run-time error CSS1039: Token not allowed after unary operator: '-sqp-secondary-bg'
(582,17): run-time error CSS1039: Token not allowed after unary operator: '-sqp-primary'
(583,24): run-time error CSS1039: Token not allowed after unary operator: '-sqp-primary'
(589,26): run-time error CSS1039: Token not allowed after unary operator: '-sqp-primary'
(597,23): run-time error CSS1039: Token not allowed after unary operator: '-sqp-font'
(613,23): run-time error CSS1039: Token not allowed after unary operator: '-sqp-font'
(618,23): run-time error CSS1039: Token not allowed after unary operator: '-sqp-font'
(675,23): run-time error CSS1039: Token not allowed after unary operator: '-sqp-font'
(689,23): run-time error CSS1039: Token not allowed after unary operator: '-sqp-font'
(804,23): run-time error CSS1039: Token not allowed after unary operator: '-sqp-font'
(813,23): run-time error CSS1039: Token not allowed after unary operator: '-sqp-font'
(861,23): run-time error CSS1039: Token not allowed after unary operator: '-sqp-font'
(1061,23): run-time error CSS1039: Token not allowed after unary operator: '-sqp-font'
(1095,23): run-time error CSS1039: Token not allowed after unary operator: '-sqp-font'
(1102,23): run-time error CSS1039: Token not allowed after unary operator: '-sqp-font'
(1292,23): run-time error CSS1039: Token not allowed after unary operator: '-sqp-font'
 */

@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap');

/* Design Tokens ------------------------------*/

:root {
    /* Brand palette (consolidated from scattered hex/named colors) */
    --sqp-primary: #1b4e81;
    --sqp-primary-hover: #008cba;
    --sqp-primary-dark: rgb(1, 53, 86);
    --sqp-accent: rgb(254, 223, 1);
    --sqp-danger: firebrick;

    /* Surfaces & text */
    --sqp-bg: rgb(243, 244, 245);
    --sqp-surface: #ffffff;
    --sqp-surface-alt: #f0f5fa;
    --sqp-text: rgb(60, 60, 60);
    --sqp-text-muted: rgb(69, 68, 70);
    --sqp-border: dimgray;
    --sqp-secondary-bg: rgb(237, 246, 255);

    /* Typography */
    --sqp-font: 'Inter', 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Arial, sans-serif;

    /* Spacing scale */
    --sqp-space-1: 5px;
    --sqp-space-2: 10px;
    --sqp-space-3: 15px;
    --sqp-space-4: 20px;
    --sqp-space-5: 25px;

    /* Shape, elevation, motion */
    --sqp-radius: 3px;
    --sqp-shadow-sm: 0 1px 3px rgba(0, 0, 0, 0.12);
    --sqp-shadow-md: 0 4px 12px rgba(0, 0, 0, 0.15);
    --sqp-transition: 0.2s ease;
}

/* Design Tokens ------------------------------*/

/* General ------------------------------------*/

*, *:before, *:after {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}

body,
div,
span,
p,
a,
label,
li,
td,
th,
table,
input,
select,
textarea,
button {
    font-family: var(--sqp-font) !important;
}

.float_left {
    float: left;
}

.float_right {
    float: right;
}

.text_align_center {
    text-align: center;
}

select {
    border-color: var(--sqp-border);
    border-width: 1px;
    padding: 3px 7px;
    border-style: solid;
    border-radius: var(--sqp-radius);
    font-size: 1em;
    font-family: var(--sqp-font);
    transition: border-color var(--sqp-transition), box-shadow var(--sqp-transition);
}

input {
    border-color: var(--sqp-border);
    border-width: 1px;
    padding: 3px 7px;
    border-style: solid;
    border-radius: var(--sqp-radius);
    font-size: 1em;
    font-family: var(--sqp-font);
    transition: border-color var(--sqp-transition), box-shadow var(--sqp-transition);
}

select:focus,
input:focus {
    outline: none;
    border-color: var(--sqp-primary);
    box-shadow: 0 0 0 2px rgba(27, 78, 129, 0.25);
}

/* General ------------------------------------*/

/* Layout & Polish Utilities ------------------*/

/* Vertical flex stack replaces float:left; clear:both stacking hacks */
.sqp-stack {
    display: flex;
    flex-direction: column;
    align-items: stretch;
}

    .sqp-stack > * {
        width: 100%;
    }

/* Consistent gap options based on the spacing scale */
.sqp-gap-2 {
    gap: var(--sqp-space-2);
}

.sqp-gap-3 {
    gap: var(--sqp-space-3);
}

.sqp-gap-4 {
    gap: var(--sqp-space-4);
}

/* Full-width form field */
.sqp-field {
    width: 100%;
}

/* Elevated white surface (card) */
.sqp-card {
    background-color: var(--sqp-surface);
    border-radius: var(--sqp-radius);
    box-shadow: var(--sqp-shadow-md);
    overflow: hidden;
}

.sqp-card-body {
    padding: var(--sqp-space-5);
}

/* Primary-colored heading / link helpers (replaces steelblue) */
.sqp-heading {
    color: var(--sqp-primary);
    font-weight: bold;
}

.sqp-link {
    color: var(--sqp-primary);
    font-weight: bold;
    text-decoration: none;
}

    .sqp-link:hover,
    .sqp-link:focus-visible {
        text-decoration: underline;
    }

.sqp-error-text {
    color: var(--sqp-danger);
    font-weight: bold;
}

/* Shared label typography (aligns legacy pages with lunch popup design) */
.sqp-label-title {
    font-family: var(--sqp-font);
    font-size: 32px;
    line-height: 38px;
    font-weight: 700;
    color: #1f2937;
}

.sqp-label-subtitle {
    font-family: var(--sqp-font);
    font-size: 18px;
    line-height: 26px;
    font-weight: 500;
    color: #6b7280;
}

.sqp-label-section {
    font-family: var(--sqp-font);
    font-size: 22px;
    line-height: 30px;
    font-weight: 600;
    color: #1f2937;
}

.sqp-label-body {
    font-family: var(--sqp-font);
    font-size: 14px;
    line-height: 20px;
    color: #374151;
}

.sqp-label-muted {
    font-family: var(--sqp-font);
    font-size: 13px;
    line-height: 18px;
    color: #6b7280;
}

/* Modern breakpoint (replaces deprecated max-device-width queries) */
@media only screen and (max-width: 1100px) {
    .sqp-card-body {
        padding: var(--sqp-space-4);
    }
}

/* Layout & Polish Utilities ------------------*/

/* Font ---------------------------------------*/


@font-face {
    font-family: 'Inter';
    font-style: normal;
    font-weight: 300;
    font-display: swap;
}

@font-face {
    font-family: 'Inter';
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: local('Inter'), local('Inter-Regular'), url(https://fonts.gstatic.com/s/roboto/v20/KFOmCnqEu92Fr1Me5g.woff) format('woff');
}

@font-face {
    font-family: 'Inter';
    font-style: normal;
    font-weight: 500;
    font-display: swap;
    src: local('Inter Medium'), local('Inter-Medium'), url(https://fonts.gstatic.com/s/roboto/v20/KFOlCnqEu92Fr1MmEU9vAA.woff) format('woff');
}

@font-face {
    font-family: 'Inter';
    font-style: normal;
    font-weight: 700;
    font-display: swap;
    src: local('Inter Bold'), local('Inter-Bold'), url(https://fonts.gstatic.com/s/roboto/v20/KFOlCnqEu92Fr1MmWUlvAA.woff) format('woff');
}

/* cyrillic-ext */
@font-face {
    font-family: 'Inter';
    font-style: normal;
    font-weight: 300;
    font-display: swap;
    src: local('Inter Light'), local('Inter-Light'), url(https://fonts.gstatic.com/s/roboto/v20/KFOlCnqEu92Fr1MmSU5fCRc4EsA.woff2) format('woff2');
    unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
    font-family: 'Inter';
    font-style: normal;
    font-weight: 300;
    font-display: swap;
    src: local('Inter Light'), local('Inter-Light'), url(https://fonts.gstatic.com/s/roboto/v20/KFOlCnqEu92Fr1MmSU5fABc4EsA.woff2) format('woff2');
    unicode-range: U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek-ext */
@font-face {
    font-family: 'Inter';
    font-style: normal;
    font-weight: 300;
    font-display: swap;
    src: local('Inter Light'), local('Inter-Light'), url(https://fonts.gstatic.com/s/roboto/v20/KFOlCnqEu92Fr1MmSU5fCBc4EsA.woff2) format('woff2');
    unicode-range: U+1F00-1FFF;
}
/* greek */
@font-face {
    font-family: 'Inter';
    font-style: normal;
    font-weight: 300;
    font-display: swap;
    src: local('Inter Light'), local('Inter-Light'), url(https://fonts.gstatic.com/s/roboto/v20/KFOlCnqEu92Fr1MmSU5fBxc4EsA.woff2) format('woff2');
    unicode-range: U+0370-03FF;
}
/* vietnamese */
@font-face {
    font-family: 'Inter';
    font-style: normal;
    font-weight: 300;
    font-display: swap;
    src: local('Inter Light'), local('Inter-Light'), url(https://fonts.gstatic.com/s/roboto/v20/KFOlCnqEu92Fr1MmSU5fCxc4EsA.woff2) format('woff2');
    unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
    font-family: 'Inter';
    font-style: normal;
    font-weight: 300;
    font-display: swap;
    src: local('Inter Light'), local('Inter-Light'), url(https://fonts.gstatic.com/s/roboto/v20/KFOlCnqEu92Fr1MmSU5fChc4EsA.woff2) format('woff2');
    unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
    font-family: 'Inter';
    font-style: normal;
    font-weight: 300;
    font-display: swap;
    src: local('Inter Light'), local('Inter-Light'), url(https://fonts.gstatic.com/s/roboto/v20/KFOlCnqEu92Fr1MmSU5fBBc4.woff2) format('woff2');
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic-ext */
@font-face {
    font-family: 'Inter';
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: local('Inter'), local('Inter-Regular'), url(https://fonts.gstatic.com/s/roboto/v20/KFOmCnqEu92Fr1Mu72xKOzY.woff2) format('woff2');
    unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
    font-family: 'Inter';
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: local('Inter'), local('Inter-Regular'), url(https://fonts.gstatic.com/s/roboto/v20/KFOmCnqEu92Fr1Mu5mxKOzY.woff2) format('woff2');
    unicode-range: U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek-ext */
@font-face {
    font-family: 'Inter';
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: local('Inter'), local('Inter-Regular'), url(https://fonts.gstatic.com/s/roboto/v20/KFOmCnqEu92Fr1Mu7mxKOzY.woff2) format('woff2');
    unicode-range: U+1F00-1FFF;
}
/* greek */
@font-face {
    font-family: 'Inter';
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: local('Inter'), local('Inter-Regular'), url(https://fonts.gstatic.com/s/roboto/v20/KFOmCnqEu92Fr1Mu4WxKOzY.woff2) format('woff2');
    unicode-range: U+0370-03FF;
}
/* vietnamese */
@font-face {
    font-family: 'Inter';
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: local('Inter'), local('Inter-Regular'), url(https://fonts.gstatic.com/s/roboto/v20/KFOmCnqEu92Fr1Mu7WxKOzY.woff2) format('woff2');
    unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
    font-family: 'Inter';
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: local('Inter'), local('Inter-Regular'), url(https://fonts.gstatic.com/s/roboto/v20/KFOmCnqEu92Fr1Mu7GxKOzY.woff2) format('woff2');
    unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
    font-family: 'Inter';
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: local('Inter'), local('Inter-Regular'), url(https://fonts.gstatic.com/s/roboto/v20/KFOmCnqEu92Fr1Mu4mxK.woff2) format('woff2');
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic-ext */
@font-face {
    font-family: 'Inter';
    font-style: normal;
    font-weight: 500;
    font-display: swap;
    src: local('Inter Medium'), local('Inter-Medium'), url(https://fonts.gstatic.com/s/roboto/v20/KFOlCnqEu92Fr1MmEU9fCRc4EsA.woff2) format('woff2');
    unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
    font-family: 'Inter';
    font-style: normal;
    font-weight: 500;
    font-display: swap;
    src: local('Inter Medium'), local('Inter-Medium'), url(https://fonts.gstatic.com/s/roboto/v20/KFOlCnqEu92Fr1MmEU9fABc4EsA.woff2) format('woff2');
    unicode-range: U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek-ext */
@font-face {
    font-family: 'Inter';
    font-style: normal;
    font-weight: 500;
    font-display: swap;
    src: local('Inter Medium'), local('Inter-Medium'), url(https://fonts.gstatic.com/s/roboto/v20/KFOlCnqEu92Fr1MmEU9fCBc4EsA.woff2) format('woff2');
    unicode-range: U+1F00-1FFF;
}
/* greek */
@font-face {
    font-family: 'Inter';
    font-style: normal;
    font-weight: 500;
    font-display: swap;
    src: local('Inter Medium'), local('Inter-Medium'), url(https://fonts.gstatic.com/s/roboto/v20/KFOlCnqEu92Fr1MmEU9fBxc4EsA.woff2) format('woff2');
    unicode-range: U+0370-03FF;
}
/* vietnamese */
@font-face {
    font-family: 'Inter';
    font-style: normal;
    font-weight: 500;
    font-display: swap;
    src: local('Inter Medium'), local('Inter-Medium'), url(https://fonts.gstatic.com/s/roboto/v20/KFOlCnqEu92Fr1MmEU9fCxc4EsA.woff2) format('woff2');
    unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
    font-family: 'Inter';
    font-style: normal;
    font-weight: 500;
    font-display: swap;
    src: local('Inter Medium'), local('Inter-Medium'), url(https://fonts.gstatic.com/s/roboto/v20/KFOlCnqEu92Fr1MmEU9fChc4EsA.woff2) format('woff2');
    unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
    font-family: 'Inter';
    font-style: normal;
    font-weight: 500;
    font-display: swap;
    src: local('Inter Medium'), local('Inter-Medium'), url(https://fonts.gstatic.com/s/roboto/v20/KFOlCnqEu92Fr1MmEU9fBBc4.woff2) format('woff2');
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic-ext */
@font-face {
    font-family: 'Inter';
    font-style: normal;
    font-weight: 700;
    font-display: swap;
    src: local('Inter Bold'), local('Inter-Bold'), url(https://fonts.gstatic.com/s/roboto/v20/KFOlCnqEu92Fr1MmWUlfCRc4EsA.woff2) format('woff2');
    unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
    font-family: 'Inter';
    font-style: normal;
    font-weight: 700;
    font-display: swap;
    src: local('Inter Bold'), local('Inter-Bold'), url(https://fonts.gstatic.com/s/roboto/v20/KFOlCnqEu92Fr1MmWUlfABc4EsA.woff2) format('woff2');
    unicode-range: U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek-ext */
@font-face {
    font-family: 'Inter';
    font-style: normal;
    font-weight: 700;
    font-display: swap;
    src: local('Inter Bold'), local('Inter-Bold'), url(https://fonts.gstatic.com/s/roboto/v20/KFOlCnqEu92Fr1MmWUlfCBc4EsA.woff2) format('woff2');
    unicode-range: U+1F00-1FFF;
}
/* greek */
@font-face {
    font-family: 'Inter';
    font-style: normal;
    font-weight: 700;
    font-display: swap;
    src: local('Inter Bold'), local('Inter-Bold'), url(https://fonts.gstatic.com/s/roboto/v20/KFOlCnqEu92Fr1MmWUlfBxc4EsA.woff2) format('woff2');
    unicode-range: U+0370-03FF;
}
/* vietnamese */
@font-face {
    font-family: 'Inter';
    font-style: normal;
    font-weight: 700;
    font-display: swap;
    src: local('Inter Bold'), local('Inter-Bold'), url(https://fonts.gstatic.com/s/roboto/v20/KFOlCnqEu92Fr1MmWUlfCxc4EsA.woff2) format('woff2');
    unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
    font-family: 'Inter';
    font-style: normal;
    font-weight: 700;
    font-display: swap;
    src: local('Inter Bold'), local('Inter-Bold'), url(https://fonts.gstatic.com/s/roboto/v20/KFOlCnqEu92Fr1MmWUlfChc4EsA.woff2) format('woff2');
    unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
    font-family: 'Inter';
    font-style: normal;
    font-weight: 700;
    font-display: swap;
    src: local('Inter Bold'), local('Inter-Bold'), url(https://fonts.gstatic.com/s/roboto/v20/KFOlCnqEu92Fr1MmWUlfBBc4.woff2) format('woff2');
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}



/* Font ---------------------------------------*/

.SchoolLogoImageWrap {
    position: relative;
    overflow: visible !important;
    height: 100%;
}

#accountSettingPickerMain {
    min-height: 100% !important;
    height: auto;
    position: relative;
    float: right;
    padding: 23px 10px 12px 0;
}

#CartIcon {
    float: right;
}

#cartPadding {
    padding: 24px 15px 24px 11px;
}

#CartTotal {
    margin-top: -3px;
}

.sqp-btn {
    -webkit-transition: background var(--sqp-transition), box-shadow var(--sqp-transition), color var(--sqp-transition); /* Safari */
    transition: background var(--sqp-transition), box-shadow var(--sqp-transition), color var(--sqp-transition);
    -moz-appearance: none;
    -webkit-appearance: none;
    border-radius: var(--sqp-radius);
    border-width: 1px;
    border-style: solid;
    font-size: 17px;
    cursor: pointer;
    font-weight: 400;
    text-align: center;
    font-family: var(--sqp-font);
    padding: 9px 16px;
    width: 100%;
    color: #fff;
    background: var(--sqp-primary);
    border-color: var(--sqp-primary);
}

    .sqp-btn:hover {
        background: var(--sqp-primary-hover);
        border-color: var(--sqp-primary-hover);
        box-shadow: var(--sqp-shadow-sm);
    }

    .sqp-btn:focus-visible {
        outline: 3px solid rgba(0, 140, 186, 0.5);
        outline-offset: 2px;
    }

    .sqp-btn:disabled,
    .sqp-btn[disabled] {
        cursor: not-allowed;
        opacity: 0.55;
        box-shadow: none;
    }



.sqp-btn-nonprimary {
    background: var(--sqp-secondary-bg);
    color: var(--sqp-primary);
    border-color: var(--sqp-primary);
}



    .sqp-btn-nonprimary:hover {
        background: var(--sqp-primary);
        color: white;
    }




.newFont {
    font-family: var(--sqp-font);
}

label, input[type="radio"] {
    vertical-align: top;
}

@media print {
    .no-print, .no-print * {
        display: none !important;
    }
}



body {
    font-family: var(--sqp-font);
}

button,
textarea {
    font-family: var(--sqp-font);
}


.FormPrintButton {
    font-size: 11pt;
}


.modalBackground {
    background-color: #000000;
    filter: alpha(opacity=45);
    opacity: 0.45;
}

.page {
}

/****************************************/
/*Agreements**/

.Doc150 {
    max-height: 150px;
    overflow: auto;
    float: left;
    clear: both;
    border-style: solid;
    border-width: 1px;
    border-color: gray;
    width: 100%;
}

#PSingleSpace p {
    margin-top: 0;
    margin-bottom: 0;
}


/****************************************/
/* PageWrap */

#PageWrap {
    background: transparent;
}

#SubPageWrap {
    background: white;
}

/****************************************/
/*  SchoolImage   */
#SchoolImage {
    height: auto;
    width: 100%;
    clear: both;
    margin-top: 0px;
    font-size: xx-large;
    font-family: var(--sqp-font);
}

#SchoolImageFooter {
    /*height:45px;*/
    width: 100%;
    /*margin-top: 65px;*/
    font-size: small;
    text-align: left;
}

#CopyrightInfoFooter {
    background: transparent;
    font-size: large;
    font-family: var(--sqp-font);
    color: #6C6C6C;
    max-width: 960px;
    width: auto;
    font-weight: bold;
    margin-top: -12px;
    padding-bottom: 3px;
}

#RycorFooterImg {
    width: 180px;
    height: 49px;
}

.OutsitePadding {
    height: 20px;
}

/****************************************/
/*  AccountWrap   */

#AccountWrap {
    width: 100%;
}

/****************************************/
/*  Header   */

#HeaderWrap {
    width: 100%;
    background-color: white;
    float: left;
}

html.translated-ltr #HeaderWrap, html.translated-ltr #HeaderWrap { padding-top: 39px; }

#SchoolName {
    height: Auto;
    background: white;
    width: Auto;
    float: left;
    margin-top: 1px;
    font-size: xx-large;
}

.SiteMenuBar {
    height: Auto;
    width: Auto;
    float: right;
    margin-top: 3px;
    margin-right: 15px;
    font-size: 10pt;
    font-weight: bold;
    text-decoration: none;
    color: white;
    font-family: "Driod SansX", Sans-Serif;
}

.SiteMenuBar.hover {
    height: Auto;
    background: white;
    width: Auto;
    float: right;
    margin-top: 3px;
    margin-right: 15px;
    font-size: 10pt;
    font-weight: bold;
    text-decoration: none;
    color: #00ADEE;
    font-family: "Driod SansX", Sans-Serif;
}


#AccountMenuBar {
    height: Auto;
    background: white;
    width: Auto;
    float: right;
    clear: right;
    margin-top: 1px;
}

/****************************************/
/* Student Selector */


.linkRegular:visited {
    color: Blue;
    font-weight: bold;
}

.linkRegular {
    color: Blue;
}

    .linkRegular:hover {
        color: Blue;
    }

#AcctDueSelectorBar {
    float: left;
    text-align: center;
    clear: left;
    width: 100%;
}


.AcctDueSelectorItemSelected {
    border-bottom-width: 3px;
    border-bottom-style: solid;
    border-bottom-color: rgb(0, 162, 232);
    color: rgb(30,30,30);
    padding: 3px 10px;
    font-weight: 500;
    font-size: 11pt;
    font-family: var(--sqp-font);
    text-decoration: none;
}

.AcctDueSelectorItemNotSelected {
    border-bottom: 3px solid transparent;
    padding: 3px 10px;
    font-weight: 500;
    color: rgb(30, 30, 30);
    font-family: var(--sqp-font);
    font-size: 11pt;
    text-decoration: none;
}

.AcctDueSelectorItemNotSelected:hover {
    color: rgb(0, 162, 232);
}

.linkStatementPDF {
    color: rgb(30,30,30);
}

.linkStatementPDF:hover {
    color: white;
}


.printStatementIcon:hover + .linkStatementPDF {
    color: white;
}


/****************************************/
/* Student Demo Info */

#SelectedStuWrap {
    height: Auto;
    background: white;
    width: Auto;
    float: left;
    clear: left;
}

/****************************************/
/* AccountCenter */

#AccountCenterWrap {
    background: white;
    float: left;
    clear: left;
    margin-top: 20px;
}

#AccountCenterTitle {
    font-size: large;
    float: left;
    margin-right: 15px;
    font-family: var(--sqp-font);
}


#AccountCenterHistoryLink {
    float: left;
    font-size: small;
    background: transparent;
    text-align: center;
    padding-top: 7px;
    text-decoration: underline;
}


#AccountCenterSummary {
    float: left;
    clear: left;
}

#AccountCenterSummaryItems {
    float: left;
    clear: left;
}

.FeeRowEven {
    width: 100%;
    float: left;
    clear: left;
}

.FeeRowOdd {
    width: 100%;
    float: left;
    clear: left;
    background-color: #f0f5fa;
}

.FeeValue {
    width: 50px;
    float: right;
    margin-left: 15px;
    text-align: right;
}

.FeeText {
    width: auto;
    float: left;
}

/****************************************/
/* CartDetails */

#CartDetailsWrap {
    background: white;
    float: left;
    clear: left;
    margin-top: 25px;
    border-width: 1px;
    border-style: solid;
    border-color: Black;
}


/****************************************/


/****************************************/
/*  SchoolStore   */

#SchoolStoreOuterWrap {
    float: left;
    clear: left;
    height: auto;
    width: 100%;
    margin-top: 30px;
}


#SchoolStoreWrap {
    width: 100%;
    float: left;
}

#SchoolStoreTabs {
    width: 100%;
    float: left;
    height: auto;
    margin-right: 10px;
}

.SchoolStoreItems {
    float: left;
    height: auto;
}


/****************************************/
/* StoreItem */

.StoreItemWrapper {
    width: auto;
    height: auto;
    margin-top: 3px;
    float: left;
}

.Form {
    clear: left;
    float: left;
    width: auto;
}

.FormDetail {
    width: auto; /*700px*/
    height: auto;
    padding: 7px;
    padding-top: 3px;
    float: left;
    margin-top: 0px;
    margin-bottom: 0px;
}

@media only screen and (max-device-width: 400px), (max-width: 400px) {
    .FormDetail {
        clear: left;
    }
}

.StoreItemWrapper1 {
    width: 100%;
    height: auto;
    float: left;
    clear: both;
    margin-top: 0px;
    margin-bottom: 5px;
}

.StoreItemWrapper2 {
    border: thin solid black;
    width: 100%;
    height: auto;
    float: left;
    margin-top: 0px;
    margin-bottom: 5px;
    margin-right: 10px;
}


.LeftFloater {
    float: left;
    clear: left;
}

#AcctDueSelector1 {
    float: left;
    clear: left;
}

/*********************************************************/
/*  Form Details   */

 .signatureWidth {
    max-width: 600px;
    width:100vw;
 }

 @media only screen and (max-device-width: 640px), (max-width: 1100px) {

     .signatureWidth {
         width: calc(100vw - 45px);
         max-width: none;
     }

 }

 .rycorUploader.readOnly .fileNameList {
     display: block;
     width: 100%;
 }

/*********************************************************/
/*  Table   */

#AcctFees {
    float: left;
    clear: left;
    margin-top: 15px;
    margin-left: 15px;
    max-width: 600px;
}

#outerAC {
    float: left;
    clear: left;
}

.separatorx {
    float: left;
    clear: left;
    text-align: left;
    font-family: var(--sqp-font);
    font-size: 130%;
    font-style: italic;
    padding: 0px, 0px, 0px, 0px;
    padding-bottom: 5px;
}

.separatorFooter {
    height: auto;
    padding-left: 0px;
    padding-right: 0px;
    padding-bottom: 0px;
    padding-top: 15px;
}

.separatorFooterFamily {
    height: auto;
    padding-left: 0px;
    padding-right: 0px;
    padding-bottom: 0px;
    padding-top: 3px;
    background: white;
}

.separatorBarOnly {
    padding-left: 0px;
    padding-right: 0px;
    padding-top: 0px;
}


table {
    text-align: center;
    width: 100%;
    font-family: var(--sqp-font);
}


.tableFamily {
    text-align: center;
    width: 100%;
    font-family: var(--sqp-font);
    margin-bottom: 1rem;
}


.tableCartDetails {
    text-align: center;
    font-family: Arial;
    font-size: 9pt;
}


tr.d0 {
    background-color: #f0f5fa;
}


tr.d1 {
    background-color: white;
}

tr.d1WebItem {
    background-color: lightYellow;
}


tr.d0rowhover {
    background-color: #f0f5fa;
}


tr.d1rowhover {
    background-color: white;
}

tr.d0rowhover:hover {
    background-color: lightYellow;
}


tr.d1rowhover:hover {
    background-color: lightYellow;
}



tr.FormHeader {
    background-color: lightyellow;
    font-weight: bold;
    color: black;
}

td.fn {
    text-align: left;
}

td.fnTR {
    text-align: right;
}

td.fnLIDesc {
    width: 150px;
    text-align: left;
    padding-left: 10px;
}

td.fnLITbl {
    text-align: left;
    padding-top: 0px;
}

tr.LIPmnt {
    background-color: rgba(0,200,0,0.2);
}

td.fnName {
    text-align: left;
}

td.PlanPmtDesc {
    text-align: left;
    min-width: 150px;
    font-size: 14px;
}

td.PlanPmtdue {
    vertical-align: middle;
    text-align: right;
    font-size: 14px;
}

td.PlanPmtDateDesc {
    text-align: left;
    min-width: 100px;
    font-size: 14px;
    padding-left: 30px;
}

td.dueCartName {
    vertical-align: middle;
    text-align: right;
    padding-left: 15px;
}

td.dueSubTtlCart {
    vertical-align: middle;
    text-align: right;
    padding-left: 15px;
    font-weight: bold;
    font-size: 14px;
    padding-top: 5px;
    padding-bottom: 10px;
}

td.due {
    vertical-align: middle;
    text-align: right;
}

td.dueFmly {
    vertical-align: middle;
    text-align: right;
    font-weight: bold;
}

td.date {
    vertical-align: middle;
    min-width: 100px;
    padding-left: 20px;
}

td.btn {
    background-color: White;
    min-width: 83px;
    font-size: small;
}

.smallbtn {
    font-size: 8pt;
    margin-left: -5px;
}


td.btnInCart {
    background-color: #CCFFCC;
    min-width: 83px;
    font-size: 9pt;
}



th.dueOut {
    width: 75px;
    vertical-align: bottom;
    padding-bottom: 0px;
    margin-right: 10px;
    text-align: right;
    background-color: transparent;
}

.separatorBarOnly {
}

.dueCat {
    vertical-align: bottom;
    padding-bottom: 3px;
    text-align: right;
    background-color: transparent;
    color: dimGray;
}

.leftlbl {
    vertical-align: bottom;
    padding-bottom: 0px;
    margin-right: 10px;
    text-align: left;
    background-color: transparent;
}

#divFamilySummary {
    font-size: 11.5pt;
}

/* Family Summary classic grid sizing (scoped) */
#divFamilySummary .family-summary-page,
#divFamilySummary .family-summary-list-wrap,
#divFamilySummary .family-summary-help-wrap,
#divFamilySummary .family-summary-table,
#divFamilySummary .family-summary-table th,
#divFamilySummary .family-summary-table td {
    font-family: var(--sqp-font);
}

/* Rounded white card that contains the "Students" heading + table */
#divFamilySummary .family-summary-card {
    background-color: #ffffff;
    border: 1px solid #e6eaf0;
    border-radius: 16px;
    box-shadow: 0 1px 3px rgba(15, 35, 60, 0.06);
    overflow: hidden;
}

#divFamilySummary .family-summary-card-title {
    font-size: 22px;
    font-weight: 700;
    color: #1c211f;
    padding: 20px 24px 16px 24px;
}

#divFamilySummary .family-summary-table {
    table-layout: fixed;
    width: 100%;
    border-collapse: collapse;
}

/* Light-gray header row with blue uppercase column labels */
#divFamilySummary .family-summary-table tr.tblHeader {
    background-color: #f4f7fb;
}

#divFamilySummary .family-summary-table tr.tblHeader th {
    background-color: #f4f7fb !important;
    color: #7c93b3 !important;
    font-size: 13px;
    font-weight: 600;
    letter-spacing: 0.4px;
    text-transform: uppercase;
    padding: 14px 12px;
    border: none;
}

#divFamilySummary .family-summary-table td {
    padding: 20px 12px;
    font-size: 17px;
    color: #1c211f;
    border-top: 1px solid #eef1f5;
    vertical-align: middle;
}

/* Clickable rows */
#divFamilySummary .family-summary-table tr[onclick] {
    cursor: pointer;
    transition: background-color .15s ease;
}

#divFamilySummary .family-summary-table tr[onclick]:hover {
    background-color: #f7fafd;
}

/* Name column bold like the target */
#divFamilySummary .family-summary-table td:nth-child(3) {
    font-weight: 700;
}

/* Amount Due red, Meal Balance green */
#divFamilySummary .family-summary-table td.family-summary-due {
    color: #c0392b;
    font-weight: 700;
}

#divFamilySummary .family-summary-table td.family-summary-balance {
    color: #1f9d55;
    font-weight: 700;
}

#divFamilySummary .family-summary-table tr.tblHeader th {
    white-space: nowrap;
    overflow: visible;
    text-overflow: clip;
}

#divFamilySummary .family-summary-table td {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

#divFamilySummary .family-summary-table tr.tblHeader th:nth-child(2),
#divFamilySummary .family-summary-table td:nth-child(2) {
    width: 13%;
}

#divFamilySummary .family-summary-table tr.tblHeader th:nth-child(3),
#divFamilySummary .family-summary-table td:nth-child(3) {
    width: 20%;
}

#divFamilySummary .family-summary-table tr.tblHeader th:nth-child(4),
#divFamilySummary .family-summary-table td:nth-child(4) {
    width: 9%;
}

#divFamilySummary .family-summary-table tr.tblHeader th:nth-child(5),
#divFamilySummary .family-summary-table td:nth-child(5) {
    width: 22%;
}

#divFamilySummary .family-summary-table tr.tblHeader th:nth-child(6),
#divFamilySummary .family-summary-table td:nth-child(6),
#divFamilySummary .family-summary-table tr.tblHeader th:nth-child(7),
#divFamilySummary .family-summary-table td:nth-child(7) {
    width: 12%;
    text-align: right;
}

#divFamilySummary .family-summary-table tr.tblHeader th:nth-child(8),
#divFamilySummary .family-summary-table td:nth-child(8) {
    width: 18%;
}

@media only screen and (max-device-width: 640px), (max-width: 1100px) {
    /* The card normally clips overflow (overflow:hidden) to keep its rounded
       corners. On small screens the wide table is wider than the viewport, so
       allow the card to scroll horizontally instead of cutting content off. */
    #divFamilySummary .family-summary-card {
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }

    #divFamilySummary .family-summary-list-wrap {
        overflow: visible !important;
    }

    #divFamilySummary .family-summary-table {
        table-layout: auto;
        /* Keep columns legible; if it exceeds the viewport the card scrolls. */
        min-width: 620px;
    }

    #divFamilySummary .family-summary-table tr.tblHeader th,
    #divFamilySummary .family-summary-table td {
        white-space: nowrap;
        overflow: visible;
        text-overflow: clip;
    }
}

.tblHeader {
    vertical-align: bottom;
    padding-bottom: 0px;
    text-align: left;
    background-color: silver;
    color: white;
}

.flbl {
    vertical-align: middle;
    padding-right: 0px;
    text-align: right;
    background-color: transparent;
}

.fdue {
    vertical-align: middle;
    padding-left: 0px;
    text-align: right;
    background-color: transparent;
}


/*********************************************************/

.StoreSelectorItem {
    float: left;
    color: Black;
    text-align: center;
    font-weight: bold;
    font-family: Arial;
    font-size: 15px;
    min-width: 50px;
    outline: none;
    height: 20px;
    margin-top: 0px;
    padding-top: 5px;
    text-decoration: none;
    padding-left: 10px;
    padding-right: 10px;
    text-decoration: none;
    vertical-align: middle;
    background-color: White;
}


.StoreSelectorItem:hover {
    float: left;
    color: Black;
    text-align: center;
    font-weight: bold;
    font-family: Arial;
    font-size: 15px;
    min-width: 50px;
    height: 20px;
    margin-top: 0px;
    padding-top: 5px;
    padding-left: 10px;
    padding-right: 10px;
    outline: none;
    vertical-align: middle;
    text-decoration: none;
    background-color: lightYellow;
}

.StoreSelectorItemSelected {
    outline: none;
    height: 20px;
    margin-top: 0px;
    min-width: 50px;
    float: left;
    color: black;
    text-align: center;
    vertical-align: middle;
    font-weight: bold;
    font-family: Arial;
    font-size: 15px;
    padding-top: 5px;
    padding-left: 10px;
    padding-right: 10px;
    text-decoration: none;
    background-color: powderblue;
}

.paymentInputWrapper {
    float: left;
    clear: both;
    margin-top: 10px;
    width: 100%;
}

.paymentCategories {
    font-size: 20px;
    font-weight: bold;
}

.cardGrp {
    margin-top: 15px;
}

.CardLabels {
    float: left;
    clear: left;
    width: 200px;
}

.CardInput {
    float: left;
    clear: both;
    margin-top: 10px;
}

.CardLabelsEFT {
    margin-top: 10px;
}

.CardInputEFT {
    margin-top: 5px;
}


.CheckoutOuterWrap {
    padding: 35px;
}

.ErrorMessage {
    float: left;
    margin-top: 10px;
    color: Red;
    font-weight: bold;
    clear: both;
}

@media only screen and (max-device-width: 450px), (max-width: 450px) {
    .CheckoutOuterWrap {
        padding: 0px;
        max-width: 100%;
    }

    .nomobile {
        display: none;
    }

    #PaymentDetails1_CancelConfirm {
        margin: 15px auto 0;
        float: none;
    }

    #CartIcon {
        margin-top: 3px;
    }

    #cartPadding {
        padding: 7px 15px 0 11px !important;
    }

}

/* Checkout action buttons: on phones the two fixed-width buttons don't fit
   side-by-side inside the card (which clips overflow), so stack them full
   width. Use a real phone breakpoint since modern iPhones report a logical
   width well above 400px. */
@media only screen and (max-width: 600px) {
    .payment_buttons_wrap {
        float: left;
        width: 100%;
        height: auto !important;
        text-align: center;
    }

    .payment_buttons_wrap .sqp-btn {
        display: block;
        float: none !important;
        width: 100% !important;
        max-width: none !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
    }
}



.payNowBtnCART {
    font-weight: bold;
    font-size: medium;
    background: green;
    width: 120px;
    float: right;
    padding-top: 5px;
    padding-bottom: 5px;
    text-align: center;
    color: White;
    text-decoration: none;
}


/* The container <div> - needed to position the dropdown content */
.dropdownRK {
    display: inline-block;
}


#SchooLogoBarHeight span:first-of-type {
    display: none !important;
}

#SchoolLogoImage {
    position: relative;
    top: 50%;
    transform: translateY(-50%);
    margin-left: 10px;
    height: 64px;
}

@media only screen and (max-device-width: 640px), (max-width: 1100px) {
    #SchoolLogoImage {
        max-width: 200px;
        height: auto;
        max-height: 55px;
    }
}

.sidenav .SchoolLogoImageWrap {
    height: auto;
}

/* Legal Docs */
body.legalDoc {
    font-family: "Arial";
    margin: 0;
}

.legalDoc main {
    width: 80%;
    min-height: 75vh;
    margin: 1em auto;
}

@media only screen and (max-device-width: 640px), (max-width: 1100px) {
    .legalDoc main {
        width: 100%;
    }
}

.legalDoc h1, .legalDoc h2 {
    margin-top: 2em;
}

.legalDoc h1, .legalDoc h2, .legalDoc p, .legalDoc ul {
    margin-bottom: 1em;
}

.legalDoc li {
    margin-bottom: 0.5em;
}

.inprogress-loader {
    background: url(../Images/ajax-loader.gif) center top no-repeat;
}

/* ============================================================
   Fee table modernization – Figma 77:2089 (master-detail accordion)
   Tokens: Title #1C211F, Body #616369, Pale-Blue BG #F0F5FA,
   Mid-Blue #7191B1, Light Stroke #E8E8E8, Stroke #C7C7C7,
   Radius 16px, Inner Shadow inset 0 1px 4px rgba(12,12,13,.05).
   Scoped to .feetable-accordion (emitted verbatim as CssClass, so it
   survives ASP.NET ClientID rewriting of the mainDiv wrapper).
   ============================================================ */
.feetable-accordion {
    border-collapse: separate;
    border-spacing: 0;
    color: #616369;
    font-size: 13px;
}

/* School header row – rounded colored card top */
.feetable-accordion tr.cat > td.SclName {
    border-radius: 16px 0 0 0;
    padding: 10px 12px;
}

.feetable-accordion tr.cat > td.SclName span {
    color: #FFFFFF;
    font-size: 16px;
    font-weight: 600;
}

/* ---- Year master row (collapsible) ---- */
.feetable-accordion tr.feeYearRow {
    cursor: pointer;
}

.feetable-accordion tr.feeYearRow td.feeYearMaster {
    padding: 16px 20px;
    font-weight: 600;
    color: #1C211F;
    border: 1px solid #C7C7C7;
    border-radius: 16px;
}

.feetable-accordion tr.feeYearRow.is-collapsed td.feeYearMaster {
    border-radius: 16px;
}

/* Chevron toggles rotation when collapsed */
.feetable-accordion .feeYearChevron {
    display: inline-block;
    width: 0;
    height: 0;
    margin-right: 12px;
    vertical-align: middle;
    border-left: 6px solid transparent;
    border-right: 6px solid transparent;
    border-top: 7px solid #8E8F92;
    transition: transform 0.15s ease;
}

.feetable-accordion tr.feeYearRow.is-collapsed .feeYearChevron {
    transform: rotate(-90deg);
}

.feetable-accordion .feeYearLabel {
    font-size: 20px;
    font-weight: 600;
    color: #1C211F;
    vertical-align: middle;
}

.feetable-accordion .feeYearCount {
    display: inline-block;
    margin-left: 10px;
    padding: 2px 10px;
    border-radius: 6px;
    background-color: #E8E8E8;
    color: #616369;
    font-size: 14px;
    font-weight: 600;
    vertical-align: middle;
}

/* ---- Badge pills (object-type / category) ---- */
.feetable-accordion .feeYearBadges {
    float: right;
}

.feetable-accordion .feeBadge {
    display: inline-block;
    margin-left: 8px;
    padding: 6px 8px;
    border-radius: 6px;
    color: #FFFFFF;
    font-size: 14px;
    font-weight: 600;
    line-height: 1.2;
    text-transform: uppercase;
    letter-spacing: .02em;
}

.feetable-accordion .feeBadge--school {
    background-color: #74A6E2;
}

.feetable-accordion .feeBadge--courses {
    background-color: #87CC67;
}

.feetable-accordion .feeBadge--cte {
    background-color: #0B896D;
}

.feetable-accordion .feeBadge--districts {
    background-color: #EBB500;
}

.feetable-accordion .feeBadge--default {
    background-color: #7191B1;
}

/* ---- Collapsed detail rows ---- */
.feetable-accordion tr.feeYear-hidden {
    display: none;
}

/* ---- Detail: category header row ---- */
.feetable-accordion tr.feeCatRow td {
    padding-top: 7px;
}

.feetable-accordion td.feeCatName {
    font-weight: 600;
    font-size: 12pt;
}

.feetable-accordion .feeCatBadge {
    display: inline-block;
    padding: 2px 8px;
    border-radius: 6px;
    background-color: #7191B1;
    color: #FFFFFF;
    font-size: 11px;
    font-weight: 600;
    line-height: 1.6;
    text-transform: uppercase;
    letter-spacing: .02em;
}

/* Category-tinted detail bands */
.feetable-accordion tr.feeCat--school ~ tr.d0,
.feetable-accordion tr.feeCat--school ~ tr.d1 {
    background-color: #F0F5FA;
}

/* Column header labels (Fee / Paid / All Adj / Due) */
.feetable-accordion .dueCat {
    color: #7191B1;
    font-weight: 600;
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: .02em;
}

/* Money columns – consistent width & alignment */
.feetable-accordion td.dueCartName {
    min-width: 96px;
    text-align: right;
    vertical-align: middle;
    color: #1C211F;
}

/* Fee name / body cells */
.feetable-accordion td.fn {
    color: #616369;
}

/* Alternating body rows */
.feetable-accordion tr.d0 {
    background-color: #F0F5FA;
}

.feetable-accordion tr.d1 {
    background-color: #FFFFFF;
}

/* Soft inner shadow separators between sections */
.feetable-accordion .separatorLight {
    box-shadow: inset 0 1px 4px rgba(12, 12, 13, 0.05);
}

/* Summary / total row emphasis */
.feetable-accordion td.dueSubTtlCart,
.feetable-accordion td.dueFmly {
    color: #1C211F;
    font-weight: 600;
    border-top: 1px solid #E8E8E8;
}

