﻿:root {
    --font-family: 'Inter', -apple-system, sans-serif;
    --direction: 1;
    /*Primary backgrounds*/
    --bg-main: #F1F1F1;
    --bg-light: #ffffff;
    /*Primay Text*/
    --text-main: var(--dark-grey);
    --text-hover: var(--highlight-blue);
    --text-main-inverse: #ffffff;
    --text-main-inverse-hover: #062c49;
    --text-header: #E5E4E2;
    --text-header-inverse: #666A6D;
    --text-muted: var(--dim-grey);
    --text-grey: var(--mid-grey);
    /*Primary attributes*/
    --top-margin: 80px;
    --bottom-margin: 60px;
    --sidebar-width: 200px;
    --radius: 5px;
    --radius-button: 7px;
    --round: 35px;
    /*Accents*/
    --border-color: var(--bright-grey);
    --border-color-light: var(--light-grey);
    /*Shadows*/
    --shadow: #0000001f;
    --shadow-dark: #000000bf;
    --shadow-up: 0px -4px 4px 0px var(--shadow);
    --tab-up: 0px -11px 8px -7px var(--shadow);
    --shadow-down: 0px 4px 4px 3px var(--shadow);
    --shadow-card: 0px 5px 28px -10px var(--shadow);
    --shadow-right: 8px 0px 28px -10px var(--shadow);
    --shadow-left: 0px 8px 28px -10px var(--shadow);
    --shadow-modal: 0px 0px 24px -9px var(--shadow-dark);
    --transition: all 0.3s ease-in-out;
    /*code block*/
    --code-bg: var(--dark-blue);
    /*Grey Scale*/
    --black: #000000;
    --dark-grey: #353839;
    --dim-grey: #666A6D;
    --mid-grey: #989EA1;
    --light-grey: #C0C0C0;
    --bright-grey: #E5E4E2;
    --tint-grey: #efefef;
    --white: #ffffff;
    /*Primary colors*/
    /*Blues*/
    --dark-blue: #062c49;
    --primary-blue: #0273ad;
    --light-blue: #52c7e7;
    --highlight-blue: #b0e1ed;
    --tint-blue: #eaedee;
    --tint-blue-hover: #f0faff;
    --dark-blue-gradient: radial-gradient(circle,rgba(13, 55, 88, 1) 0%, rgba(6, 44, 73, 1) 100%);
    /*Greens*/
    --dark-green: #18451d;
    --green: #09713c;
    --mid-green: #439544;
    --light-green: #79a23f;
    --highlight-green: #ccf0ce;
    --tint-green: #f5fbf5;
    /*Warning Orange*/
    --dark-orange: #4b1908;
    --orange: #f27c21;
    --light-orange: #ffc429;
    --highlight-orange: #fdddc5;
    --tint-orange: #fff4ed;
    /*Error Reds*/
    --dark-red: #9d0000;
    --red: #ff2e2e;
    --light-red: #ff8989;
    --highlight-red: #ffdede;
    --tint-red: #fff5f5;
    /*Card Colors*/
    --card-bg: #f6f7f9;
    --card-shadow: 0 2px 12px var(--shadow);
    /* Misc */
    --bookmark: #2d49ee;
}

[data-theme=dark] {
    --font-family: 'Inter', -apple-system, sans-serif;
    /* Primary Backgrounds - Pure OLED Black */
    --bg-main: #000000;
    /* Pixels turned OFF */
    --bg-light: #0a0a0a;
    /* Near-black for slight lift */
    /* Primary Text - High Contrast White/Grey */
    --text-main: #f4f4f4;
    /* Crisp off-white */
    --text-hover: #70d1f4;
    /* Vibrant Cyan */
    --text-main-inverse: #000000;
    /* Black text on action buttons */
    --text-main-inverse-hover: #0a0a0a;
    --text-muted: #8d8d8d;
    /* Mid-grey */
    --text-grey: #bdbdbd;
    /* Silver grey */
    /* Accents - Sharp Contrast */
    --border-color: #262626;
    /* Subtle dark border */
    --border-color-light: #333333;
    --shadow: rgba(255, 255, 255, 0.05);
    /* Very faint "glow" instead of shadow */
    --shadow-card: 0px 4px 20px rgba(255, 255, 255, 0.05);
    --transition: all 0.2s ease-in-out;
    --code-bg: #0a0a0a;
    /* Grey Scale - Strictly Neutral */
    --black: #000000;
    --dark-grey: #161616;
    /* Card background */
    --dim-grey: #262626;
    /* Divider/Border */
    --mid-grey: #8d8d8d;
    --light-grey: #bdbdbd;
    --bright-grey: #f4f4f4;
    --tint-grey: #050505;
    --white: #ffffff;
    /* Primary colors - Vibrant iOS-style Blues */
    --dark-blue: #021a2b;
    --primary-blue: #0a84ff;
    /* High-vibrance Action Blue */
    --light-blue: #70d1f4;
    --highlight-blue: #003366;
    /* Deepest blue for selections */
    --tint-blue: #011220;
    --tint-blue-hover: #051b2e;
    /* Status Colors (Punchy/Vivid) */
    --green: #30d158;
    --highlight-green: #062e16;
    --orange: #ff9f0a;
    --highlight-orange: #3b1e08;
    --red: #ff453a;
    --highlight-red: #3b0808;
    /* Card/Surface Logic */
    --card-bg: #161616;
    /* Subtle lift from pure black */
    --card-shadow: 0 4px 16px rgba(255, 255, 255, 0.03);
}

[data-theme=slate] {
    --font-family: 'Inter', -apple-system, sans-serif;
    /* Primary Backgrounds - Low Strain Slates */
    --bg-main: #121415;
    /* Deep Matte Grey */
    --bg-light: #1e2021;
    /* Soft Surface Grey */
    /* Primary Text - Softened to avoid "Glowing" text */
    --text-main: #d1d5d7;
    /* Muted Off-White */
    --text-hover: #81d4eb;
    /* Soft Sky Blue */
    --text-main-inverse: #121415;
    /* Dark text for light buttons */
    --text-main-inverse-hover: #1e2021;
    --text-muted: #5c6265;
    /* Warm Muted Slate */
    --text-grey: #a0a5a8;
    /* Secondary Slate */
    /* Accents - Slate Borders */
    --border-color: #2a2d2f;
    /* Subtle dark border */
    --border-color-light: #3a3f42;
    --shadow: rgba(0, 0, 0, 0.4);
    --shadow-card: 0px 4px 20px rgba(0, 0, 0, 0.5);
    --transition: all 0.25s ease-in-out;
    --code-bg: #000000;
    /* Grey Scale */
    --black: #000000;
    --dark-grey: #121415;
    --dim-grey: #2a2d2f;
    --mid-grey: #5c6265;
    --light-grey: #a0a5a8;
    --bright-grey: #d1d5d7;
    --tint-grey: #1a1c1d;
    --white: #ffffff;
    /* Primary colors - Slate Blues */
    --dark-blue: #162a3a;
    --primary-blue: #3d96c2;
    /* Desaturated Corporate Blue */
    --light-blue: #81d4eb;
    --highlight-blue: #244b63;
    /* Deep Slate-Blue Highlight */
    --tint-blue: #1c354a;
    --tint-blue-hover: #23435c;
    /* Status Colors (Desaturated for Dark Mode) */
    --green: #48a16f;
    --highlight-green: #1a3321;
    --orange: #d98d4f;
    --highlight-orange: #3d2a1a;
    --red: #d95f5f;
    --highlight-red: #3d1a1a;
    /* Card/Surface Logic */
    --card-bg: #1e2021;
    --card-shadow: 0 4px 12px var(--shadow);
}

[data-theme=blue] {
    --font-family: 'Inter', -apple-system, sans-serif;
    /* Primary Backgrounds - Midnight Ink */
    --bg-main: #02080d;
    /* The deepest possible navy-black */
    --bg-light: #05121b;
    /* Subtle lift for cards */
    /* Primary Text - Silver & Frost */
    --text-main: #b4c6d4;
    /* Frosty grey-blue */
    --text-hover: #52c7e7;
    /* Electric cyan */
    --text-main-inverse: #02080d;
    /* Background color for contrast */
    --text-main-inverse-hover: #05121b;
    --text-muted: #4a6375;
    /* Deep slate text */
    --text-grey: #627c8f;
    /* Muted steel */
    /* Accents - Bioluminescent Glows */
    --border-color: #0d2538;
    /* Very dark navy borders */
    --border-color-light: #16364d;
    --shadow: rgba(0, 0, 0, 0.8);
    --shadow-card: 0px 10px 40px rgba(0, 0, 0, 0.9);
    --transition: all 0.3s ease;
    --code-bg: #010408;
    /* Primary colors - Deep Ocean Blues */
    --dark-blue: #020c14;
    --primary-blue: #0077ff;
    /* Pure, vibrant blue action */
    --light-blue: #40a9ff;
    --highlight-blue: #082136;
    /* Selection background */
    --tint-blue: #041624;
    --tint-blue-hover: #0a2b45;
    /* Status Colors (Rich & Deep) */
    --green: #2ecc71;
    --highlight-green: #041a0d;
    /* Deep forest glow */
    --orange: #e67e22;
    --highlight-orange: #1f1105;
    /* Deep ember glow */
    --red: #e74c3c;
    --highlight-red: #1a0606;
    /* Deep crimson glow */
    /* Card/Surface Logic */
    --card-bg: #05121b;
    --card-shadow: 0 15px 35px rgba(0, 0, 0, 0.5);
}

[data-theme=slate2] {
    /* Primary Backgrounds - Warm Charcoals */
    --bg-main: #121417;
    /* Deep matte background */
    --bg-light: #1e2124;
    /* Surface color for cards */
    /* Primary Text - Silver Slates */
    --text-main: #d1d5d7;
    /* Softened white */
    --text-hover: #81d4eb;
    /* Muted sky blue */
    --text-main-inverse: #121417;
    --text-main-inverse-hover: #1e2124;
    --text-muted: #70787d;
    /* Warm muted grey */
    --text-grey: #9da5ab;
    /* Steel grey */
    /* Accents & Borders */
    --border-color: #2f3336;
    /* Subtle dark divider */
    --border-color-light: #3a3f42;
    --shadow: rgba(0, 0, 0, 0.5);
    --shadow-card: 0px 4px 15px rgba(0, 0, 0, 0.6);
    --transition: all 0.25s ease-in-out;
    --code-bg: #0a0b0c;
    /* Semantic Colors - Desaturated */
    --primary-blue: #4a90e2;
    /* Professional corporate blue */
    --dark-blue: #1e3a5f;
    --highlight-blue: #2c3e50;
    /* Selection color */

    --green: #48a16f;
    --highlight-green: #1a2e22;
    --orange: #d98d4f;
    --highlight-orange: #2e231a;
    --red: #d95f5f;
    --highlight-red: #2e1a1a;
    /* Card/Surface Overrides */
    --card-bg: #1e2124;
    --card-shadow: 0 4px 12px var(--shadow);
}


[data-theme='dim'] {
    /* Primary Backgrounds - Soft Charcoal */
    --bg-main: #2c3036;
    --bg-light: #363b42;
    /* Primary Text - High Readability */
    --text-main: #eef1f5;
    --text-hover: #ffffff;
    --text-main-inverse: #2c3036;
    --text-main-inverse-hover: #1a1d20;
    --text-header: #4f575f;
    --text-header-inverse: #c4cbd3;
    --text-muted: #949ca5;
    --text-grey: #aab2bb;
    /* Primary attributes (unchanged structural values) */
    --top-margin: 80px;
    --bottom-margin: 60px;
    --sidebar-width: 200px;
    --radius: 5px;
    --radius-button: 7px;
    --round: 35px;
    /* Accents & Borders */
    --border-color: #40464d;
    --border-color-light: #4f575f;
    /* Shadows - deeper for dim contrast */
    --shadow: rgba(0, 0, 0, 0.3);
    --shadow-dark: rgba(0, 0, 0, 0.75);
    --shadow-up: 0px -4px 4px 0px var(--shadow);
    --tab-up: 0px -11px 8px -7px var(--shadow);
    --shadow-down: 0px 4px 4px 0px var(--shadow);
    --shadow-card: 0px 4px 20px rgba(0, 0, 0, 0.4);
    --shadow-right: 8px 0px 28px -10px var(--shadow);
    --shadow-modal: 0px 0px 24px -6px var(--shadow-dark);
    --transition: all 0.3s ease;
    /* Code block */
    --code-bg: #1e2125;
    /* Grey Scale - tuned for dark surfaces */
    --black: #000000;
    --dark-grey: #1a1d20;
    --dim-grey: #a8a8a8;
    --mid-grey: #40464d;
    --light-grey: #6b7480;
    --bright-grey: #949ca5;
    --tint-grey: #cbd1d8;
    --white: #ffffff;
    /* Blues - dark variants kept; brights lifted; tints inverted */
    --dark-blue: #80b0d4;
    --primary-blue: #5ca8ff;
    --light-blue: #6ad3ef;
    --highlight-blue: #3d4652;
    --tint-blue: #2a3540;
    --tint-blue-hover: #354555;
    --dark-blue-gradient: radial-gradient(circle,rgba(16, 64, 100, 1) 0%, rgba(6, 44, 73, 1) 100%);
    /* Greens - darks deepened, accents pop on dim */
    --dark-green: #18451d;
    --green: #5cdb8e;
    --mid-green: #4fb05a;
    --light-green: #8ab84c;
    --highlight-green: #243d2f;
    --tint-green: #1f3528;
    /* Warning Orange */
    --dark-orange: #f29778;
    --orange: #ffb347;
    --light-orange: #ffd054;
    --highlight-orange: #40321d;
    --tint-orange: #3a2e1a;
    /* Error Reds */
    --dark-red: #6e0a0a;
    --red: #ff7875;
    --light-red: #ff9c9c;
    --highlight-red: #402020;
    --tint-red: #3d1f1f;
    /* Card / Surface */
    --card-bg: #363b42;
    --card-shadow: 0 4px 12px var(--shadow);
    /* Misc */
    --bookmark: #2746ff;
}

.theme-name {
    display: block;
    margin: 0 14px;
    font-size: .8rem;
    font-weight: 600;
}

* {
    box-sizing: border-box;
}

html {
    font-size: 16px;
    /* Standard font size for whole site.  use rem based off this */
}

h1 {
    font-size: 1.8rem;
    /* 28.8px */
    font-weight: 500;
    color: var(--text-grey);
}

h2,
h3,
h4,
h5 {
    font-weight: 500;
}

.header-line {
    border-bottom: 2px solid var(--border-color-light);
    padding-bottom: 0.5rem;
    margin-bottom: 2rem;
    letter-spacing: 1px;
}

h1.header-line {
    color: var(--primary-blue);
    font-size: 2rem;
}

h2.header-line {
    color: var(--text-grey);
}

h3.header-line {
    border-bottom: 2px solid var(--light-blue);
    color: var(--primary-blue);
}

h4.header-line {
    border-bottom: 1px solid var(--border-color-light);
    color: var(--text-grey);
}

p {
    line-height: 1.5rem;
}

.header-box {
    padding: 0.8rem;
    border-radius: var(--radius) var(--radius) 0 0;
}


h2.header-box {
    letter-spacing: 1px;
    background-color: var(--dark-blue);
    color: var(--text-header);
}

h3.header-box {
    letter-spacing: 1px;
    background-color: var(--primary-blue);
    color: var(--text-header);
}

h4.header-box {
    background-color: var(--bright-grey);
    color: var(--text-header-inverse);
}


a {
    text-decoration: none;
    transition: var(--transition);
    color: var(--primary-blue);
    cursor: pointer;
}



li {
    line-height: 1.9rem;
}

body {
    font-family: var(--font-family);
    margin: 0;
    display: flex;
    color: var(--text-main);
    background-color: var(--bg-main);
    flex-direction: column;
    transition: background-color 0.3s ease, color 0.3s ease;
    min-height: 100vh;
}

hr {
    border-color: var(--border-color-light);
    border-style: dashed;
    width: 100%;
}

/* Misc */
.circle-div {
    display: flex;
    justify-content: center;
}

.circle-icon {
    padding: 16px;
    background: var(--highlight-green);
    color: var(--green);
    font-size: 1.4rem;
    display: flex;
    border-radius: var(--round);
}

main {
    flex: 1;
}

/* Labels */
label {
    margin-bottom: 10px;
    margin-left: 6px;
    display: inline-block;
    color: var(--text-muted);
    position: relative;
    width: fit-content;
}

    label.required::after,
    .question-text.required::after {
        content: "*";
        position: absolute;
        top: -1px;
        right: -11px;
        font-size: 1.1rem;
        color: var(--red);
        font-weight: 600;
    }

.required-star {
    color: var(--red);
    margin-left: 4px;
}

/* Inputs and buttons */
textarea {
    width: 100%;
    height: 100%;
    box-sizing: border-box;
    border: 2px dotted var(--border-color);
    padding: 15px 10px;
    field-sizing: content;
    resize: vertical;
    border-radius: var(--radius);
}

input,
select,
textarea,
a.button {
    transition: var(--transition);
    border: thin solid var(--border-color);
    border-radius: var(--radius-button);
    font-family: var(--font-family);
    color: var(--text-main);
}

    input:focus,
    select:focus,
    textarea:focus {
        outline: 1px solid var(--light-blue);
    }

inputfocus-visible,
selectfocus-visible,
textareafocus-visible {
    outline: none;
}


input:not([type=button]):not([type=checkbox]):not([type=radio]):not([type=submit]):not([type=reset]):not([type=color]):not([type=file]),
select, textarea {
    width: 100%;
    padding: 15px 10px;
    background-color: var(--bg-light);
}

input[type="range"] {
    -webkit-appearance: none;
    appearance: none;
    background: transparent;
    cursor: pointer;
    width: 100%;
}

    input[type="range"]:focus {
        outline: none;
    }

    input[type="range"]::-webkit-slider-runnable-track {
        background-color: var(--tint-blue);
        border: thin solid var(--highlight-blue);
        border-radius: var(--radius);
        height: 7px;
        transition: var(--transition);
    }

    input[type="range"]::-webkit-slider-thumb {
        -webkit-appearance: none;
        appearance: none;
        margin-top: -7.5px;
        background-color: var(--primary-blue);
        border-radius: 50%;
        height: 20px;
        width: 20px;
        transition: var(--transition);
    }

/* Checkbox, Radio, Color */
input[type="checkbox"],
input[type="radio"],
input[type="color"] {
    appearance: none;
    background-color: var(--bg-light);
    margin-left: 9px;
    font: inherit;
    border: thin solid var(--mid-grey);
    border-radius: var(--radius);
    display: grid;
    place-content: center;
    cursor: pointer;
    margin-right: 10px;
}

input.error,
textarea.error {
    border-color: var(--light-red);
}

/* Form and Field */
.forms-area {
    margin: 0;
    padding: 0;
}

.form-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0 1.4rem;
    background-color: var(--tint-blue);
    border-top-left-radius: var(--radius);
    border-top-right-radius: var(--radius);
}

    .form-header:has(a[title="Delete"]) i,
    .form-header:has(a[title="delete"]) i {
        font-size: 1.3rem;
    }

.form-detail-item {
    border: 1px solid var(--border-color-light);
    box-shadow: var(--card-shadow);
    border-radius: var(--radius);
    margin-bottom: 1rem;
    background: var(--card-bg);
}

    .form-detail-item.card,
    .questions-area.card {
        padding: 1.4rem;
        height: fit-content;
    }

.form-field-grid {
    overflow: hidden;
    padding: 1.4rem;
}

.form-field-box {
    display: grid;
    margin: 15px 0;
    max-width: 550px;
}

    .form-field-box.hidden {
        display: none;
    }

.form-bottom-button {
    display: flex;
    justify-content: flex-end;
    border-top: thin solid var(--border-color-light);
}

.form-field-box:has(input[type="checkbox"]),
.form-field-box:has(input[type="radio"]) {
    display: flex;
    flex-direction: row-reverse;
    justify-content: flex-end;
    align-items: baseline;
}

.form-field-box:has(input[type="color"]) {
    display: flex;
    flex-direction: row-reverse;
    justify-content: flex-end;
}

    .form-field-box:has(input[type="color"]) label {
        margin-bottom: 0;
        margin-top: 7px;
    }

input[type=color] {
    border: 0;
    background-color: transparent;
    width: 30px;
    height: 30px;
    display: block;
}

    input[type=color]::-webkit-color-swatch-wrapper {
        padding: 1px;
    }

input[type="color"]::-webkit-color-swatch {
    border-radius: var(--radius);
}

input[type="checkbox"] {
    min-width: 20px;
    min-height: 20px;
    max-width: 20px;
    max-height: 20px;
}

input[type="radio"] {
    width: 15px;
    height: 15px;
    border-radius: var(--round);
    border: thin solid var(--light-blue);
    padding: 5px;
    margin-right: 10px;
}

input[type="checkbox"]:checked {
    background-color: var(--highlight-blue);
    border-color: var(--highlight-blue);
}

input[type="radio"]:checked {
    background-color: var(--highlight-blue);
    border-color: var(--light-blue);
}

input[type="checkbox"]::before,
input[type="radio"]::before {
    content: "";
    width: 12px;
    height: 12px;
    transform: scale(0);
    transition: 120ms transform ease-out;
    box-shadow: inset 1em 1em var(--primary-blue);
    clip-path: polygon(20% 46%, 10% 67%, 50% 100%, 97% 22%, 84% 0%, 43% 82%);
    background-color: var(--highlight-blue);
}

input[type="radio"]::before {
    border: 1px solid var(--primary-blue);
    clip-path: circle(30% at 50% 50%);
    transition: 180ms transform ease-out;
    box-shadow: inset 1em 1em var(--primary-blue);
}

input[type="checkbox"]:checked::before,
input[type="radio"]:checked::before {
    transform: scale(1);
}

input[type="checkbox"]:checked::after,
input[type="radio"]:checked::after {
    background-color: var(--black);
}

/* buttons */
.form-field-box:has(button),
.form-field-box:has(input[type=button]),
.form-field-box:has(a.button) {
    display: flex;
}

    .form-field-box:has(input[type=button]) input,
    .form-field-box:has(input[type=submit]) input,
    .form-field-box:has(input[type=reset]) input {
        display: inline-block;
    }

input[type=button],
input[type=submit],
input[type=reset],
button,
a.button {
    border: thin solid var(--border-color-light);
    padding: 15px 18px;
    min-width: 100px;
    border-radius: var(--radius-button);
    background: var(--primary-blue);
    color: var(--text-main-inverse);
    margin: 6px;
    cursor: pointer;
    display: flex;
    gap: 10px;
    justify-content: center;
    width: auto;
    align-items: center;
    transition: var(--transition);
    font-size: .85rem;
}

input[type=file] {
    min-width: 100px;
    width: 100%;
}

input::file-selector-button {
    border: thin solid var(--border-color-light);
    padding: 10px 18px;
    border-radius: var(--radius-button);
    background: var(--primary-blue);
    color: var(--text-main-inverse);
    transition: var(--transition);
    margin-right: 16px;
}

button:disabled,
input[type="button"]:disabled,
input[type="submit"]:disabled,
input[type="reset"]:disabled,
input:disabled::file-selector-button,
a.button.disabled {
    background: var(--bright-grey);
    cursor: default;
    color: var(--text-main-inverse);
}

button.hollow,
input.hollow,
a.button.hollow {
    background: transparent;
    color: var(--primary-blue);
    border-color: var(--primary-blue);
}

button.grey,
input.grey,
a.button.grey {
    background: var(--bright-grey);
    /*color: var(--dim-grey);*/
    border-color: var(--light-grey);
}


/* END Inputs and buttons*/
/* Sidebar Navigation */
.sidebar {
    margin-top: var(--top-margin);
    width: var(--sidebar-width);
    height: 100vh;
    background: var(--bg-light);
    border-right: 1px solid var(--border-color);
    position: fixed;
    padding: 2rem 1rem;
    overflow-y: auto;
    display: flex;
    flex-direction: column;
    gap: 16px;
    justify-content: space-between;
    transition: var(--transition);
}

    .sidebar h1 {
        font-size: 1.2rem;
        margin-bottom: 1rem;
        padding-left: 1rem;
    }

    .sidebar nav a {
        display: block;
        padding: 0.75rem 1rem;
        text-decoration: none;
        border-radius: var(--radius);
        margin-bottom: 0.25rem;
    }

    .sidebar .products {
        margin-bottom: 122px;
        display: grid;
        grid-template-columns: repeat(auto-fill, minmax(100px, 1fr));
    }

        .sidebar .products button {
            padding: 5px 10px;
            min-width: 50px;
        }

/* Card */
.card {
    border: 1px solid var(--border-color-light);
    border-radius: var(--radius);
    margin-bottom: 1rem;
    overflow: hidden;
    box-shadow: var(--card-shadow);
    background: var(--card-bg);
}


.card-container {
    display: flex;
    min-height: calc(100vh - 30rem);
    flex-direction: column;
    align-items: center;
    justify-content: center;
    margin-top: 1rem;
}

.content-frame {
    max-width: 1366px;
    width: 100%;
    position: relative;
}

.content-header {
    margin-left: 1rem;
}


.card-header {
    text-align: center;
    line-height: 0px;
    margin-bottom: 3rem;
}

    .card-header:has(.circle-div) {
        display: flex;
        flex-direction: column;
        align-items: center;
    }

    .card-header .circle-div {
        background: var(--highlight-green);
        color: var(--green);
        width: 6rem;
        height: 6rem;
        display: flex;
        border-radius: var(--round);
        justify-content: center;
        align-items: center;
        margin-top: 2rem;
        margin-bottom: 1rem;
    }

    .card-header i {
        font-size: 3rem;
        margin-left: 7px;
    }

.ATSSection,
.OnboardSection,
.MyPaySection,
.AllPaySection {
    display: none;
}

section {
    margin-bottom: 5rem;
    scroll-margin-top: 6rem;
}

.page-header,
.page-footer {
    display: flex;
    flex-direction: row;
    align-items: center;
    z-index: 10;
}

.page-header {
    top: 0;
    height: var(--top-margin);
    justify-content: space-between;
    width: 100%;
    background: var(--bg-light);
    box-shadow: var(--shadow-down);
}

    .page-header img {
        max-width: 280px;
        max-height: 63px;
    }

.page-actions {
    display: flex;
    align-items: center;
    gap: 1.5rem;
    padding-right: 30px;
}

    .page-actions .user-translate {
        height: 30px;
        width: 30px;
        border-radius: 50%;
        display: inline-block;
        border: thin solid var(--border-color);
        background: var(--primary-blue);
        color: var(--text-main-inverse);
        display: flex;
        align-items: center;
        justify-content: center;
        cursor: pointer;
        transition: all 0.2s ease;
        position: relative;
        transition: var(--transition);
        font-size: 0.8rem;
    }


    .page-actions .user-signout,
    .page-actions .settings-icon {
        cursor: pointer;
        transition: var(--transition);
        color: var(--text-muted);
    }

        .page-actions .settings-icon i {
            transition: var(--transition);
        }


.page-footer {
    position: static;
    justify-content: center;
    width: 100%;
    height: var(--bottom-margin);
    background: var(--bg-light);
    box-shadow: var(--shadow-up);
}

    .page-footer img {
        max-width: 133px;
    }

.terms-and-privacy {
    display: flex;
    gap: 2.5rem;
    align-items: center;
}

    .terms-and-privacy a {
        color: var(--text-muted);
        text-decoration: none;
        font-size: 0.875rem;
        transition: var(--transition);
        padding: 0.25rem 0;
        border-bottom: 1px solid transparent;
        font-weight: 500;
    }

    .terms-and-privacy a {
        position: relative;
        overflow: hidden;
    }

        .terms-and-privacy a::before {
            content: '';
            position: absolute;
            top: 0;
            left: 0;
            width: 0;
            height: 2px;
            background: var(--highlight-blue);
            transition: width 0.3s ease;
        }


.page-footer .footer-logo {
    display: flex;
    align-items: center;
    font-size: 0.9rem;
}

.forgot-password,
.no-account {
    text-align: right;
    font-size: .8rem;
    margin-top: -9px;
    margin-right: 12px;
}

.input-wrapper {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
    gap: 1.5rem;
}

.code-block {
    background: var(--code-bg);
    color: #ccc;
    padding: 1rem;
    font-family: "Courier New", "Fira Code", "Consolas", "Monaco", monospace;
    font-size: 0.85rem;
    position: relative;
    margin-top: 15px;
}

    .code-block::before {
        content: "HTML";
        position: absolute;
        top: 0;
        right: 0;
        padding: 0.2rem 0.5rem;
        font-size: 0.7rem;
        background: var(--primary-blue);
    }

    .code-block.css::before {
        content: "CSS";
        background: var(--dark-orange);
    }

    .code-block .indent {
        margin-left: 25px;
    }

/* Color swatches */
.color-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
    gap: 1.5rem;
}

.color-swatch {
    border: 1px solid var(--border-color);
    border-radius: var(--radius);
    overflow: hidden;
}

.swatch-box {
    height: 50px;
    width: 100%;
    color: #ffff;
    display: flex;
    align-items: center;
    justify-content: center;
}

.swatch-info {
    padding: 0.75rem;
    font-size: 0.8rem;
}

    .swatch-info span {
        display: block;
        color: #888;
        margin-top: 4px;
    }

/* Alerts */
.alert-box {
    background: #fff;
    color: #ccc;
    padding: 1rem;
    border-radius: 4px;
    margin-bottom: 1rem;
    border: 1px solid var(--border-color);
    display: grid;
    grid-template-columns: 30px 1fr;
    grid-auto-flow: column;
    gap: 16px;
    text-align: left;
}

    .alert-box i {
        font-size: 1.3rem;
    }

    .alert-box.error {
        background: var(--highlight-red);
        color: var(--red);
        border-color: var(--light-red);
    }

        .alert-box.error i {
            color: var(--red);
        }

    .alert-box.warn {
        background: var(--highlight-orange);
        color: var(--dark-orange);
        border-color: var(--light-orange);
    }

        .alert-box.warn i {
            color: var(--orange);
        }

    .alert-box.success {
        background: var(--highlight-green);
        color: var(--green);
        border-color: var(--light-green);
    }

        .alert-box.success i {
            color: var(--green);
        }

    .alert-box.info {
        background: var(--highlight-blue);
        color: var(--dark-blue);
        border-color: var(--light-blue);
    }

        .alert-box.info i {
            color: var(--primary-blue);
        }

/*   */

.temp-break {
    margin: 4rem;
}

.badge {
    font-size: .7rem;
    background-color: var(--tint-blue);
    border-radius: var(--round);
    border: thin solid var(--highlight-blue);
    display: flex;
    padding: 3px 6px;
    width: max-content;
    font-weight: 600;
    display: inline-block;
    color: var(--primary-blue);
    margin-right: .5rem;
    margin-bottom: .5rem;
}

    .badge.square {
        background-color: var(--bright-grey);
        border-color: var(--mid-grey);
        color: var(--text-main);
        margin-top: 0.3rem;
        border-radius: 5px;
    }

    .badge.badge-icon {
    }

.drop-zone {
    background-color: var(--tint-blue);
    border: 2px dashed var(--border-color-light);
    border-radius: var(--radius);
    padding: 30px 20px;
    position: relative;
    transition: var(--transition);
    display: flex;
    flex-direction: column;
    align-items: center;
    margin: 10px auto;
}

    .drop-zone.dragging {
        border-color: var(--primary-blue);
    }


.icon-cloud {
    font-size: 2rem;
    color: var(--light-blue);
}

.drop-zone p {
    color: var(--text-gray);
    margin: 5px 0;
    font-size: 14px;
}

.separator {
    display: flex;
    align-items: center;
    color: var(--dim-grey);
    font-size: 12px;
    margin: 15px 0;
}

    .separator::before,
    .separator::after {
        content: "";
        flex: 1;
        height: 1px;
        background: #e2e8f0;
        margin: 0 10px;
    }

.custom-file-upload {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    border: 2px solid var(--highlight-blue);
    color: var(--primary-blue);
    padding: 10px 24px;
    border-radius: var(--radius-button);
    cursor: pointer;
    font-weight: 500;
    background: white;
    transition: var(--transition);
    margin: 6px 3px;
}

.upload-container {
    display: grid;
    gap: 18px;
    background-color: var(--tint-blue);
    border-radius: var(--radius);
    border: 2px dashed var(--border-color-light);
    transition: var(--transition);
    grid-auto-flow: column;
    align-items: center;
    grid-template-columns: 190px 1fr;
}

.icon {
    margin-right: 8px;
}

#file-name,
#file-name-box,
#fileName {
    font-size: 0.9rem;
    color: var(--text-grey);
    text-overflow: ellipsis;
    white-space: nowrap;
    overflow: hidden;
    padding-right: 10px;
}

.addition-file-name {
    padding: 10px 10px 0px;
}

.file-types {
    display: block;
    margin-top: 20px;
    font-size: 11px;
    color: var(--text-gray);
    font-style: italic;
}

.no-resume {
    margin-top: 20px;
    font-size: 13px;
}

.black-screen {
    background: var(--black);
    opacity: 0.5;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 2;
}

.portal-modal {
    border-radius: var(--radius);
    width: 100%;
    max-width: 500px;
    min-width: 300px;
    position: absolute;
    z-index: 22;
    background: var(--card-bg);
    border: thin solid var(--border-color-light);
    box-shadow: var(--shadow-modal);
}

    .portal-modal.loading-modal {
        border: none;
        background: transparent;
        max-width: max-content;
        min-width: max-content;
        width: auto;
        height: auto;
        z-index: 23;
        box-shadow: none;
    }

    .portal-modal .modal-close {
        font-family: 'Font Awesome 6 Pro';
        float: right;
        font-weight: 900;
        cursor: pointer;
        line-height: 12px;
        font-size: 25px;
        content: "";
        transition: var(--transition);
        color: var(--primary-blue);
    }

    .portal-modal .modal-header {
        display: grid;
        grid-template-columns: 51px 1fr 15px;
        padding: 1rem 1rem;
        margin: 0;
        padding-bottom: 0;
        align-items: center;
    }

        .portal-modal .modal-header h2,
        .portal-modal .modal-header h3,
        .portal-modal .modal-header h4 {
            margin: 0;
        }

    .portal-modal.info .alert-icon {
        color: var(--primary-blue);
    }

    .portal-modal.success .modal-close,
    .portal-modal.success .alert-icon {
        color: var(--green);
    }

    .portal-modal.error .modal-close,
    .portal-modal.error .alert-icon {
        color: var(--red);
    }

    .portal-modal.warn .modal-close,
    .portal-modal.warn .alert-icon {
        color: var(--orange);
    }

    .portal-modal .modal-close::after {
        display: inline-block;
        content: "\f00d";
    }

    .portal-modal.loading-modal .modal-close {
        color: var(--white);
        top: 15px;
        right: 11px;
        font-size: 25px;
        font-weight: 300;
    }


    .portal-modal.loading-modal .custom-body img {
        display: block;
        margin: 20px auto;
        width: 150px;
        height: 150px;
    }

    .portal-modal .modal-container {
        padding: 1rem;
    }

    .portal-modal .modal-header .header-box {
        margin: 0;
        font-size: 1.2rem;
    }

    .portal-modal .modal-loading-content {
        max-height: 500px;
        overflow-y: auto;
    }

    .portal-modal .modal-content {
        max-height: 500px;
        overflow-y: auto;
        padding: 20px 0;
        border-bottom: thin solid var(--border-color);
        border-top: thin solid var(--border-color);
    }

    .portal-modal .modal-body {
        line-height: 1.5rem;
    }

    .portal-modal .modal-buttons {
        display: flex;
        justify-content: flex-end;
        margin-top: 1.1rem;
    }

    .portal-modal.info {
        border-color: var(--light-blue);
    }

    .portal-modal.success {
        border-color: var(--mid-green);
    }

    .portal-modal.error {
        border-color: var(--light-red);
    }

        .portal-modal.error .header-box {
            background-color: var(--highlight-red);
            color: var(--red);
        }

    .portal-modal.warn {
        border-color: var(--light-orange);
    }

        .portal-modal.warn .header-box {
            background-color: var(--highlight-orange);
            color: var(--orange);
        }

    .portal-modal .alert-icon {
        font-family: 'Font Awesome 6 pro';
        font-weight: 500;
        font-size: 2rem;
    }

    .portal-modal.info .alert-icon::after {
        content: "\f06a";
    }

    .portal-modal.warn .alert-icon::after {
        content: "\e405";
        font-weight: 300;
    }

    .portal-modal.error .alert-icon::after {
        content: "\e204";
    }

    .portal-modal.success .alert-icon::after {
        content: "\f058";
        font-weight: 300;
    }

.upload-container.error {
    border-color: var(--light-red);
}


.user-translate {
    height: 32px;
    width: 32px;
    border-radius: 50%;
    display: inline-block;
    border: thin solid var(--grey-12);
    background: var(--highlight-blue-1);
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: all 0.2s ease;
    position: relative;
}

    .user-translate #google-translate-bar,
    .user-translate .goog-te-gadget-simple,
    .user-translate .goog-te-gadget-simple * {
        opacity: 0;
        width: 34px;
        height: 34px;
        position: absolute;
        top: 0;
        left: 0;
        margin: 0;
        padding: 0;
        font-size: 0;
    }

.goog-te-gadget {
    font-family: arial;
    font-size: 11px;
    color: #666;
    white-space: nowrap;
}

.goog-te-gadget-simple .VIpgJd-ZVi9od-xl07Ob-lTBxed {
    color: #000;
}

    .goog-te-gadget-simple .VIpgJd-ZVi9od-xl07Ob-lTBxed span {
        text-decoration: none;
    }


.job-application-steps {
    padding: 0rem;
}

.sticky-menu {
    position: sticky;
    z-index: 1;
}

.menu-container {
    border-radius: var(--radius);
}

    .menu-container h3 {
        padding: 13px 11px;
    }

.progress-icon {
    font-size: 12px;
    display: inline-flex;
    gap: 4px;
    align-items: center;
    padding: 3px 9px;
    margin: 9px 10px 0px;
    border-radius: var(--radius);
}

    .progress-icon.in-progress {
        background: var(--tint-orange);
        color: var(--orange);
    }

    .progress-icon.badge {
        border-color: var(--highlight-orange);
    }

.menu-progress {
    margin: 10px 35px 11px 12px;
}

.progress-block {
    display: flex;
    gap: 5px;
    align-items: center;
    font-size: 12px;
    margin-bottom: 4px;
    color: var(--mid-grey)
}

.progress-number {
    font-size: 16px;
    font-weight: 600;
    color: var(--light-grey);
}

.progress-bar {
    height: 7px;
    width: 100%;
    background: var(--tint-blue);
}

.progress-bar-percent {
    height: 7px;
    background-color: var(--highlight-blue);
}

.menu-scroll {
    height: 100%;
    max-height: 440px;
    overflow-y: scroll;
    position: relative;
    padding-right: 2rem;
}

.menu-item {
    display: grid;
    grid-template-columns: 40px 1fr;
    padding: 11px 0px 11px 12px;
    color: var(--text-grey);
    cursor: pointer;
    text-decoration: none;
    font-weight: 300;
    align-items: center;
}

    .menu-item.current {
        background: var(--highlight-blue);
    }

    .menu-item .menu-step-icon {
        height: 25px;
        width: 25px;
        border-radius: 50%;
        border: thin solid var(--light-grey);
        transition: background 0.3s ease;
    }

    .menu-item.current .menu-step-icon {
        background: var(--primary-blue);
    }

    .menu-item .menu-step-icon::after {
        font-family: 'Font Awesome 6 Pro';
        color: var(--white);
        margin: 4px 4px;
        font-size: 15px;
        display: inline-block;
        vertical-align: top;
    }

    .menu-item.current .menu-step-icon::after {
        content: '\f303';
        font-weight: 300;
    }

    .menu-item.complete .menu-step-icon {
        background: var(--light-green);
    }

        .menu-item.complete .menu-step-icon::after {
            content: '\f00c';
            font-weight: 800;
            margin: 5px 5px;
        }

    /* Disable pointer events and change the cursor */
    .menu-item:not(.current):not(.complete):not(.available) {
        pointer-events: none;
        /* Prevents clicks, hovers, and active states */
        cursor: not-allowed;
        /* Visual cue that it's disabled */
        opacity: 0.6;
        /* Optional: makes it look visually "greyed out" */
    }

/* Ensure the icon doesn't change color on hover if it's disabled */


.content-frame:not(:has(.page-column-menu)) .mobile-hamburger {
    display: none;
}

.mobile-hamburger {
    display: none;
    padding: .7rem 0.6rem .3rem;
    font-size: 1.5rem;
    text-align: right;
    position: absolute;
    right: 1rem;
    transition: var(--transition);
    color: var(--primary-blue);
    z-index: 2;
    border: thin solid transparent;
}

    .mobile-hamburger.toTop {
        background-color: var(--bg-main);
        border-bottom-right-radius: var(--radius-button);
        border-bottom-left-radius: var(--radius-button);
        box-shadow: var(--shadow-down);
        border: thin solid var(--border-color-light);
        position: fixed;
    }

.page-column-menu {
    font-size: initial;
}

.mobile-menu-container {
    padding: 1rem;
    padding-top: .6rem;
    z-index: 11;
    top: 0;
    transition: var(--transition);
    background: var(--tint-blue);
    border: thin solid var(--highlight-blue);
    height: 100%;
    overflow-y: scroll;
    width: 100%;
    left: -800px;
}

.mobile-menu-close {
    content: "";
    font-size: 2rem;
    font-weight: 600;
    margin: 0px;
    cursor: pointer;
    text-align: right;
    color: var(--primary-blue);
    transition: var(--transition);
    display: none;
    position: absolute;
    right: 1rem;
}

    .mobile-menu-close::before {
        font-family: "Font Awesome 5 Duotone";
        font-weight: 400;
        /* color: #1e3050; */
        background: #9fbcd4;
        border-radius: var(--radius);
        content: "\f410";
        opacity: 1;
        /* This will render the 'X' */
    }

    .mobile-menu-close::after {
        font-family: "Font Awesome 5 Duotone";
        font-weight: 900;
        color: #3072ac;
        content: "\f410";
        position: absolute;
        right: 0px;
        /* This will render the 'X' */
    }




@media only screen and (max-width: 1366px) {
    main {
        padding: 0 1rem 4rem
    }
}

@media only screen and (max-width: 768px) {
    .content-frame {
        /* margin-bottom: 4rem; */
    }

        .content-frame:has(.job-desc-container) .mobile-hamburger {
            display: block;
        }

    .mobile-menu-container {
        display: block;
        box-shadow: var(--shadow-right);
        position: fixed;
    }

        .mobile-menu-container .page-column-menu {
            top: 10px;
            z-index: 1;
            transition: top .3s ease-in-out;
        }

    .menu-item {
        padding: 11px;
    }

    .mobile-menu-close {
        display: block;
    }


    .menu-scroll {
        padding: 0;
        overflow-y: auto;
    }

    .page-footer img {
        max-width: 100px;
    }

    .terms-and-privacy {
        gap: 1rem;
    }

        .terms-and-privacy a {
            text-align: center;
        }

    .drag-container {
        display: none;
    }
}

@media only screen and (max-width: 480px) {
    main {
        padding: 0 1rem 4rem
    }

    .card,
    .form-detail-item {
        border: none;
        border-radius: var(--radius);
        margin-bottom: 1rem;
        overflow: hidden;
        box-shadow: none;
        background: none;
    }

        .card:is(.job-card),
        .card:is(.job-apply-desc) {
            border: 1px solid var(--border-color-light);
            border-radius: 0;
            overflow: hidden;
            background: var(--card-bg);
        }

    .ats-job-item .inner-job-card {
        border: thin solid var(--border-color-light);
    }

    #file-name,
    #file-name-box,
    #fileName {
        margin-bottom: 6px;
        width: 200px;
        text-align: center;
    }

    .terms-and-privacy a {
        font-size: .7rem;
    }

    .page-footer .footer-logo {
        display: flex;
        font-size: 0.8rem;
        flex-direction: column;
        align-items: center;
    }
}

@media only screen and (max-width: 370px) {
    .portal-modal .modal-content ul {
        padding: 26px;
    }

    .page-header img {
        max-width: 150px;
    }
}

@media (hover: hover) and (pointer: fine) {
    /* will only work on desktop 

    On mobile devices, when a user clicks, the hover effect triggers as well and stays on.  
      This will stop that from happening


  */
    a:hover {
        color: var(--light-blue)
    }

    input:hover,
    select:hover,
    textarea:hover {
        border-color: var(--border-color-light);
    }

    input[type="range"]:hover::-webkit-slider-runnable-track {
        background-color: var(--highlight-blue);
    }

    input[type="range"]:hover::-webkit-slider-thumb {
        background-color: var(--light-blue);
        border: thin solid var(--primary-blue);
    }

    input[type="checkbox"]:hover,
    input[type="radio"]:hover {
        border-color: var(--highlight-blue);
    }


    input[type=button]:hover,
    input[type=submit]:hover,
    input[type=reset]:hover,
    button:hover,
    input::file-selector-button:hover,
    a.button:hover {
        background: var(--light-blue);
        color: var(--text-main-inverse-hover);
    }

    button.hollow:hover,
    input.hollow:hover,
    a.button.hollow:hover {
        background: transparent;
        color: var(--light-blue);
        border-color: var(--light-blue);
    }

    button.grey:hover,
    input.grey:hover,
    a.button.grey:hover {
        background: var(--light-grey);
        color: var(--white);
        border-color: var(--dim-grey);
    }

    .page-actions .user-translate:hover {
        background: var(--highlight-blue);
    }

    .page-actions .user-signout:hover {
        color: var(--text-hover);
    }

    .page-actions .settings-icon i:hover {
        color: var(--text-hover);
    }

    .sidebar nav a:hover {
        background: var(--bright-grey);
    }


    .terms-and-privacy a:hover {
        color: var(--text-hover);
    }

        .terms-and-privacy a:hover::before {
            width: 100%;
        }



    .custom-file-upload:hover {
        background-color: #f0faff;
    }


    .upload-container:hover {
        border-color: var(--primary-blue);
    }


    .portal-modal .modal-close:hover {
        color: var(--light-blue);
    }

    .portal-modal.error .modal-close:hover {
        color: var(--light-red);
    }

    .portal-modal.warn .modal-close:hover {
        color: var(--light-orange);
    }

    .portal-modal.success .modal-close:hover {
        color: var(--light-green);
    }

    .portal-modal.loading-modal .modal-close:hover {
        color: var(--light-blue);
    }


    .drop-zone:hover {
        border-color: var(--primary-blue);
    }



    .menu-item.complete:hover > .menu-step-icon {
        background: var(--mid-green);
    }

    .menu-item:hover > .menu-step-icon,
    .menu-item .menu-step-icon:hover {
        background: var(--highlight-blue);
    }

    .menu-item:not(.current):not(.complete):not(.available):hover > .menu-step-icon {
        background: transparent;
    }


    .menu-item.current:hover > .menu-step-icon {
        background: var(--dark-blue);
    }

    .mobile-hamburger:hover {
        color: var(--light-blue);
    }

    .mobile-menu-close:hover {
        color: var(--light-blue);
    }

    button:hover[disabled],
    button:hover:disabled {
        background: var(--bright-grey);
        cursor: default;
        color: var(--text-main-inverse);
    }
}
