:root {
    --background: #061521;
    --background-light: #0b1c29;
    --background-lighter: #102532;
    --card-background: #152633;
    --card-light: #1b2d3a;
    --text: #f7f9fa;
    --muted-text: #a3b2bd;
    --green: #81df38;
    --dark-green: #55b82c;
    --blue: #1997df;
    --red: #ef5b5b;
    --yellow: #f4c95d;
    --border: rgba(255, 255, 255, 0.08);
    --border-bright: rgba(255, 255, 255, 0.14);
    --shadow: 0 20px 50px rgba(0, 0, 0, 0.3);
}


/* ==========================================================
   RESET
========================================================== */

* {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

html {
    scroll-behavior: smooth;
    scroll-padding-top: 80px;
}

body {
    min-height: 100vh;
    overflow-x: hidden;
    color: var(--text);

    background:
        radial-gradient(
            circle at 15% 5%,
            rgba(60, 140, 65, 0.15),
            transparent 25%
        ),
        radial-gradient(
            circle at 85% 5%,
            rgba(20, 105, 180, 0.15),
            transparent 28%
        ),
        var(--background);

    font-family: "Inter", Arial, sans-serif;
    line-height: 1.6;
}

body.modal-open,
body.dashboard-open {
    overflow: hidden;
}

img {
    display: block;
    max-width: 100%;
}

a {
    color: inherit;
    text-decoration: none;
}

button,
input,
textarea {
    font: inherit;
}

button {
    color: inherit;
}


/* ==========================================================
   REUSABLE WEBSITE CLASSES
========================================================== */

.container {
    width: min(1080px, calc(100% - 40px));
    margin: 0 auto;
}

.section {
    padding: 95px 0;
}

h1,
h2,
h3 {
    font-family: "Anton", Impact, sans-serif;
    font-weight: 400;
    text-transform: uppercase;
}

h1 {
    font-size: clamp(3.4rem, 7vw, 6rem);
    line-height: 0.98;
    letter-spacing: 0.4px;
}

h2 {
    font-size: clamp(2.4rem, 4.5vw, 4rem);
    line-height: 1;
}

p {
    color: var(--muted-text);
}

.button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 46px;
    padding: 0 23px;
    border: none;
    border-radius: 8px;
    color: white;

    background:
        linear-gradient(
            100deg,
            var(--dark-green),
            var(--blue)
        );

    box-shadow: 0 10px 25px rgba(21, 143, 180, 0.2);
    font-size: 0.83rem;
    font-weight: 800;
    cursor: pointer;

    transition:
        transform 0.2s ease,
        filter 0.2s ease;
}

.button:hover {
    transform: translateY(-2px);
    filter: brightness(1.1);
}

.section-label {
    display: inline-block;
    margin-bottom: 16px;
    padding: 5px 11px;
    border: 1px solid rgba(45, 135, 190, 0.25);
    border-radius: 999px;
    color: #74bbe8;
    background: rgba(20, 100, 155, 0.2);
    font-size: 0.64rem;
    font-weight: 800;
    letter-spacing: 0.5px;
    text-transform: uppercase;
}

.section-description {
    max-width: 690px;
    margin-top: 14px;
    font-size: 0.91rem;
}


/* ==========================================================
   WEBSITE HEADER
========================================================== */

.header {
    position: sticky;
    top: 0;
    z-index: 100;
    border-bottom: 1px solid var(--border);
    background: rgba(4, 15, 24, 0.92);
    backdrop-filter: blur(15px);
}

.nav-container {
    display: flex;
    align-items: center;
    min-height: 64px;
    gap: 28px;
}

.logo img {
    width: 150px;
    height: auto;
}

.navigation {
    display: flex;
    align-items: center;
    gap: 24px;
    margin-left: auto;
}

.navigation a {
    font-size: 0.76rem;
    font-weight: 700;
    transition: color 0.2s ease;
}

.navigation a:hover {
    color: var(--green);
}

.header-quote-button {
    min-height: 39px;
    padding: 0 18px;
    font-size: 0.75rem;
}

.menu-button {
    display: none;
    margin-left: auto;
    padding: 8px;
    border: none;
    background: transparent;
    cursor: pointer;
}

.menu-button span {
    display: block;
    width: 26px;
    height: 2px;
    margin: 5px 0;
    border-radius: 3px;
    background: white;
}


/* ==========================================================
   HERO
========================================================== */

.hero {
    padding: 70px 0 100px;
}

.hero-grid {
    display: grid;
    grid-template-columns: 1.05fr 0.95fr;
    align-items: center;
    gap: 60px;
}

.hero-content {
    max-width: 590px;
}

.hero-glow {
    width: 290px;
    height: 13px;
    margin-bottom: 22px;
    border-radius: 999px;

    background:
        linear-gradient(
            90deg,
            transparent,
            rgba(37, 146, 178, 0.65),
            transparent
        );

    filter: blur(7px);
}

.hero h1 span {
    color: var(--green);
}

.hero-description {
    max-width: 580px;
    margin-top: 19px;
    font-size: 0.89rem;
}

.service-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 23px 0;
}

.service-tags span {
    padding: 6px 11px;
    border: 1px solid var(--border);
    border-radius: 999px;
    color: #dce5eb;
    background: rgba(255, 255, 255, 0.07);
    font-size: 0.68rem;
    font-weight: 700;
}

.service-area {
    margin-top: 21px;
    font-size: 0.75rem;
}

.hero-tagline {
    margin-top: 8px;
    font-size: 0.74rem;
    font-weight: 700;
}

.hero-image img {
    width: 100%;
    max-width: 500px;
    margin: 0 auto;
    border-radius: 22px;
    box-shadow: var(--shadow);
}


/* ==========================================================
   SERVICES
========================================================== */

.services-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 18px;
    margin-top: 34px;
}

.service-card {
    position: relative;
    min-height: 420px;
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, 0.14);
    border-radius: 21px;
    background-position: center;
    background-size: cover;
    box-shadow: var(--shadow);

    transition:
        transform 0.25s ease,
        border-color 0.25s ease;
}

.service-card:hover {
    transform: translateY(-7px);
    border-color: rgba(129, 223, 56, 0.5);
}

.service-card-content {
    position: absolute;
    right: 0;
    bottom: 0;
    left: 0;
    padding: 24px 19px;
}

.service-card h3 {
    font-size: 2rem;
    line-height: 0.96;
}

.green-line {
    width: 34px;
    height: 4px;
    margin: 13px 0;
    border-radius: 99px;
    background: var(--green);
}

.service-card p {
    color: #d5dfe5;
    font-size: 0.72rem;
    line-height: 1.55;
}


/* ==========================================================
   REVIEWS
========================================================== */

.reviews-section {
    border-top: 1px solid var(--border);
    border-bottom: 1px solid var(--border);
    background: rgba(11, 29, 42, 0.35);
}

.reviews-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 21px;
    margin-top: 34px;
}

.review-card {
    padding: 27px;
    border: 1px solid var(--border);
    border-radius: 18px;

    background:
        linear-gradient(
            145deg,
            var(--card-background),
            var(--card-light)
        );

    box-shadow: var(--shadow);
}

.stars {
    margin-bottom: 13px;
    color: var(--green);
    font-size: 1rem;
    letter-spacing: 2px;
}

.review-card p {
    min-height: 145px;
    color: #d4dde3;
    font-size: 0.82rem;
}

.review-card strong {
    display: block;
    margin-top: 15px;
    font-size: 0.77rem;
}

.review-card small {
    display: block;
    color: var(--muted-text);
    font-size: 0.68rem;
}


/* ==========================================================
   FAQ
========================================================== */

.faq-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 14px;
    margin-top: 30px;
}

.faq-column {
    display: flex;
    flex-direction: column;
    gap: 13px;
}

.faq-item {
    overflow: hidden;
    border: 1px solid var(--border);
    border-radius: 11px;
    background: #132531;
}

.faq-question {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    padding: 17px 18px;
    border: none;
    color: white;
    background: transparent;
    font-size: 0.78rem;
    font-weight: 800;
    text-align: left;
    cursor: pointer;
}

.faq-question span {
    color: var(--green);
    font-size: 1.45rem;
    font-weight: 400;
    transition: transform 0.2s ease;
}

.faq-answer {
    max-height: 0;
    overflow: hidden;

    transition:
        max-height 0.3s ease,
        padding 0.3s ease;
}

.faq-answer p {
    padding: 0 18px 18px;
    font-size: 0.79rem;
}

.faq-item.active .faq-answer {
    max-height: 220px;
}

.faq-item.active .faq-question span {
    transform: rotate(45deg);
}


/* ==========================================================
   ABOUT
========================================================== */

.about-section {
    min-height: 450px;
}

.about-description {
    max-width: 790px;
    margin-top: 17px;
    font-size: 0.88rem;
}


/* ==========================================================
   PUBLIC EMPLOYEE PORTAL SECTION
========================================================== */

.employee-portal-section {
    border-top: 1px solid var(--border);
    border-bottom: 1px solid var(--border);

    background:
        radial-gradient(
            circle at 10% 50%,
            rgba(96, 179, 54, 0.13),
            transparent 34%
        ),
        rgba(8, 25, 36, 0.65);
}

.employee-portal-card {
    display: grid;
    grid-template-columns: 1fr 0.9fr;
    align-items: center;
    gap: 50px;
    padding: 55px;
    border: 1px solid var(--border);
    border-radius: 25px;

    background:
        linear-gradient(
            120deg,
            rgba(58, 121, 39, 0.18),
            rgba(15, 85, 137, 0.17)
        ),
        #102330;

    box-shadow: var(--shadow);
}

.employee-portal-copy p {
    max-width: 590px;
    margin: 18px 0 24px;
}

.portal-feature-list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    margin-bottom: 28px;
}

.portal-feature {
    display: flex;
    align-items: center;
    gap: 9px;
    color: #dce7ec;
    font-size: 0.79rem;
    font-weight: 700;
}

.portal-feature-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 23px;
    height: 23px;
    border-radius: 50%;
    color: #071520;
    background: var(--green);
    font-size: 0.72rem;
}

.employee-portal-preview {
    padding: 25px;
    border: 1px solid var(--border-bright);
    border-radius: 20px;
    background: rgba(4, 17, 26, 0.75);
    box-shadow: 0 25px 55px rgba(0, 0, 0, 0.26);
}

.portal-preview-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
}

.preview-small-text {
    color: #78bddf;
    font-size: 0.59rem;
    font-weight: 800;
    letter-spacing: 1px;
}

.portal-preview-header h3 {
    margin-top: 5px;
    font-family: "Inter", sans-serif;
    font-size: 1.05rem;
    font-weight: 800;
    text-transform: none;
}

.preview-avatar {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    border-radius: 50%;
    color: #071520;
    background: var(--green);
    font-weight: 900;
}

.preview-progress-card {
    margin-top: 23px;
    padding: 18px;
    border: 1px solid var(--border);
    border-radius: 13px;
    background: rgba(255, 255, 255, 0.04);
}

.preview-progress-heading {
    display: flex;
    justify-content: space-between;
    gap: 15px;
    margin-bottom: 10px;
    font-size: 0.72rem;
}

.preview-progress-heading strong {
    color: var(--green);
}

.preview-progress-track,
.dashboard-progress-track {
    height: 8px;
    overflow: hidden;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.08);
}

.preview-progress-fill {
    width: 0;
    height: 100%;
    border-radius: inherit;
    background: linear-gradient(90deg, var(--green), var(--blue));
}

.preview-modules {
    display: grid;
    gap: 10px;
    margin-top: 15px;
}

.preview-module {
    display: flex;
    align-items: center;
    gap: 11px;
    padding: 13px;
    border: 1px solid var(--border);
    border-radius: 11px;
    color: #dce5eb;
    background: rgba(255, 255, 255, 0.035);
    font-size: 0.72rem;
    font-weight: 700;
}

.preview-module span {
    color: var(--green);
    font-size: 0.64rem;
}


/* ==========================================================
   CONTACT
========================================================== */

.contact-box {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 35px;
    padding: 52px;
    border: 1px solid var(--border);
    border-radius: 22px;

    background:
        linear-gradient(
            105deg,
            rgba(74, 136, 42, 0.35),
            rgba(20, 93, 151, 0.32)
        ),
        #122635;

    box-shadow: var(--shadow);
}

.contact-box h2 {
    font-size: clamp(2.1rem, 3.5vw, 3.5rem);
}

.contact-box p {
    max-width: 670px;
    margin-top: 12px;
    font-size: 0.82rem;
}

.contact-buttons {
    display: flex;
    flex-wrap: wrap;
    gap: 11px;
    min-width: max-content;
}

.secondary-button {
    border: 1px solid var(--border);
    background: rgba(255, 255, 255, 0.08);
    box-shadow: none;
}


/* ==========================================================
   FOOTER
========================================================== */

.footer {
    padding: 25px 0 70px;
    border-top: 1px solid var(--border);
}

.footer p {
    font-size: 0.7rem;
}


/* ==========================================================
   FLOATING CALL BUTTON
========================================================== */

.floating-call-button {
    position: fixed;
    right: 20px;
    bottom: 17px;
    z-index: 90;
    display: flex;
    align-items: center;
    gap: 7px;
    padding: 10px 17px;
    border-radius: 999px;
    color: white;

    background:
        linear-gradient(
            90deg,
            var(--dark-green),
            var(--blue)
        );

    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.38);
    font-size: 0.73rem;
    font-weight: 800;
}

.phone-icon {
    font-size: 0.9rem;
}


/* ==========================================================
   LOGIN MODAL
========================================================== */

.portal-modal {
    position: fixed;
    inset: 0;
    z-index: 1000;
    display: none;
    align-items: center;
    justify-content: center;
    padding: 20px;
}

.portal-modal.open {
    display: flex;
}

.portal-modal-overlay {
    position: absolute;
    inset: 0;
    background: rgba(1, 8, 13, 0.86);
    backdrop-filter: blur(9px);
}

.portal-login-card {
    position: relative;
    z-index: 1;
    width: min(470px, 100%);
    max-height: calc(100vh - 40px);
    overflow-y: auto;
    padding: 38px;
    border: 1px solid var(--border-bright);
    border-radius: 23px;

    background:
        radial-gradient(
            circle at 15% 0%,
            rgba(79, 154, 46, 0.18),
            transparent 34%
        ),
        #0d202c;

    box-shadow: 0 30px 90px rgba(0, 0, 0, 0.55);
}

.portal-close-button {
    position: absolute;
    top: 15px;
    right: 17px;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    border: 1px solid var(--border);
    border-radius: 50%;
    color: #dce5eb;
    background: rgba(255, 255, 255, 0.04);
    font-size: 1.4rem;
    cursor: pointer;
}

.portal-login-logo {
    width: 155px;
    margin-bottom: 28px;
}

.portal-login-card h2 {
    font-size: 3rem;
}

.portal-login-description {
    margin: 13px 0 25px;
    font-size: 0.82rem;
}

.form-group {
    margin-bottom: 17px;
}

.form-group label {
    display: block;
    margin-bottom: 7px;
    color: #dfe8ed;
    font-size: 0.72rem;
    font-weight: 800;
}

.form-group input {
    width: 100%;
    height: 49px;
    padding: 0 14px;
    border: 1px solid var(--border-bright);
    border-radius: 9px;
    outline: none;
    color: white;
    background: rgba(255, 255, 255, 0.045);
    font-size: 0.82rem;
}

.form-group input:focus {
    border-color: rgba(129, 223, 56, 0.65);
    box-shadow: 0 0 0 3px rgba(129, 223, 56, 0.09);
}

.password-wrapper {
    position: relative;
}

.password-wrapper input {
    padding-right: 65px;
}

.show-password-button {
    position: absolute;
    top: 50%;
    right: 10px;
    border: none;
    color: #78bddf;
    background: transparent;
    font-size: 0.68rem;
    font-weight: 800;
    cursor: pointer;
    transform: translateY(-50%);
}

.login-error-message {
    min-height: 21px;
    margin: 3px 0 10px;
    color: #ff8383;
    font-size: 0.75rem;
    font-weight: 700;
}

.portal-login-submit {
    width: 100%;
}

.portal-help-text {
    margin-top: 20px;
    text-align: center;
    font-size: 0.67rem;
}


/* ==========================================================
   EMPLOYEE DASHBOARD LAYOUT
========================================================== */

.employee-dashboard {
    position: fixed;
    inset: 0;
    z-index: 900;
    display: none;
    overflow: hidden;
    background: #071722;
}

.employee-dashboard.open {
    display: grid;
    grid-template-columns: 265px 1fr;
}

.dashboard-sidebar {
    position: relative;
    z-index: 20;
    display: flex;
    flex-direction: column;
    min-height: 100vh;
    padding: 24px 16px;
    border-right: 1px solid var(--border);
    background: #081a25;
}

.dashboard-brand {
    padding: 4px 10px 25px;
    border-bottom: 1px solid var(--border);
}

.dashboard-brand img {
    width: 165px;
}

.dashboard-navigation {
    display: grid;
    gap: 7px;
    margin-top: 22px;
}

.dashboard-nav-button {
    display: flex;
    align-items: center;
    gap: 12px;
    width: 100%;
    padding: 13px 14px;
    border: 1px solid transparent;
    border-radius: 10px;
    color: #aebdc6;
    background: transparent;
    font-size: 0.75rem;
    font-weight: 750;
    text-align: left;
    cursor: pointer;

    transition:
        color 0.2s ease,
        background 0.2s ease,
        border-color 0.2s ease;
}

.dashboard-nav-button span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 22px;
    color: #70bfe9;
    font-size: 0.95rem;
}

.dashboard-nav-button:hover {
    color: white;
    background: rgba(255, 255, 255, 0.04);
}

.dashboard-nav-button.active {
    border-color: rgba(129, 223, 56, 0.18);
    color: white;
    background: rgba(84, 164, 45, 0.14);
}

.dashboard-nav-button.active span {
    color: var(--green);
}

.dashboard-sidebar-bottom {
    display: grid;
    gap: 9px;
    margin-top: auto;
    padding-top: 22px;
}

.back-to-website-button,
.logout-button {
    width: 100%;
    padding: 12px;
    border-radius: 9px;
    font-size: 0.72rem;
    font-weight: 800;
    cursor: pointer;
}

.back-to-website-button {
    border: 1px solid var(--border);
    color: #c8d4db;
    background: rgba(255, 255, 255, 0.04);
}

.logout-button {
    border: 1px solid rgba(239, 91, 91, 0.25);
    color: #ff9292;
    background: rgba(239, 91, 91, 0.08);
}

.dashboard-main {
    min-width: 0;
    height: 100vh;
    overflow-y: auto;
    background:
        radial-gradient(
            circle at 90% 0%,
            rgba(27, 110, 161, 0.11),
            transparent 30%
        ),
        #071722;
}

.dashboard-topbar {
    position: sticky;
    top: 0;
    z-index: 15;
    display: flex;
    align-items: center;
    min-height: 80px;
    padding: 14px 32px;
    border-bottom: 1px solid var(--border);
    background: rgba(7, 23, 34, 0.93);
    backdrop-filter: blur(13px);
}

.dashboard-topbar-label {
    display: block;
    color: #72bce5;
    font-size: 0.57rem;
    font-weight: 800;
    letter-spacing: 1px;
}

.dashboard-topbar h2 {
    margin-top: 4px;
    font-family: "Inter", sans-serif;
    font-size: 1.2rem;
    font-weight: 850;
    text-transform: none;
}

.dashboard-user {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-left: auto;
}

.dashboard-user-text {
    text-align: right;
}

.dashboard-user-text strong,
.dashboard-user-text span {
    display: block;
}

.dashboard-user-text strong {
    font-size: 0.72rem;
}

.dashboard-user-text span {
    color: var(--muted-text);
    font-size: 0.63rem;
}

.dashboard-user-avatar {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 41px;
    height: 41px;
    border-radius: 50%;
    color: #071520;
    background: var(--green);
    font-size: 0.85rem;
    font-weight: 900;
}

.dashboard-menu-button {
    display: none;
    margin-right: 14px;
    border: none;
    background: transparent;
    font-size: 1.4rem;
    cursor: pointer;
}

.dashboard-content {
    width: min(1250px, 100%);
    margin: 0 auto;
    padding: 34px;
}

.dashboard-page {
    display: none;
}

.dashboard-page.active {
    display: block;
}

.dashboard-page-intro {
    margin-bottom: 27px;
}

.dashboard-eyebrow,
.dashboard-panel-label {
    display: block;
    color: #73bbe3;
    font-size: 0.58rem;
    font-weight: 850;
    letter-spacing: 1.1px;
}

.dashboard-page-intro h1,
.dashboard-welcome-card h1 {
    margin-top: 7px;
    font-size: clamp(2.8rem, 5vw, 4.8rem);
}

.dashboard-page-intro p {
    max-width: 720px;
    margin-top: 12px;
    font-size: 0.82rem;
}


/* ==========================================================
   DASHBOARD OVERVIEW
========================================================== */

.dashboard-welcome-card {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 30px;
    padding: 38px;
    border: 1px solid var(--border);
    border-radius: 20px;

    background:
        linear-gradient(
            105deg,
            rgba(77, 143, 43, 0.26),
            rgba(18, 92, 151, 0.23)
        ),
        #102634;

    box-shadow: var(--shadow);
}

.dashboard-welcome-card p {
    max-width: 700px;
    margin-top: 13px;
    font-size: 0.8rem;
}

.dashboard-stat-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 18px;
    margin-top: 20px;
}

.dashboard-stat-card {
    padding: 23px;
    border: 1px solid var(--border);
    border-radius: 15px;
    background: #102430;
}

.stat-card-label {
    display: block;
    color: #9fb0ba;
    font-size: 0.66rem;
    font-weight: 750;
}

.dashboard-stat-card > strong {
    display: block;
    margin-top: 7px;
    font-size: 1.75rem;
}

.dashboard-stat-card p {
    margin-top: 6px;
    font-size: 0.68rem;
}

.dashboard-progress-track {
    margin-top: 14px;
}

.dashboard-progress-fill {
    width: 0;
    height: 100%;
    border-radius: inherit;
    background: linear-gradient(90deg, var(--green), var(--blue));
    transition: width 0.35s ease;
}

.dashboard-two-column {
    display: grid;
    grid-template-columns: 1.08fr 0.92fr;
    gap: 20px;
    margin-top: 20px;
}

.dashboard-panel {
    padding: 25px;
    border: 1px solid var(--border);
    border-radius: 16px;
    background: #102430;
}

.dashboard-panel-heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 15px;
    margin-bottom: 20px;
}

.dashboard-panel-heading h3 {
    margin-top: 3px;
    font-family: "Inter", sans-serif;
    font-size: 1rem;
    font-weight: 850;
    text-transform: none;
}

.announcement-item {
    display: grid;
    grid-template-columns: 50px 1fr;
    gap: 14px;
    padding: 16px 0;
    border-top: 1px solid var(--border);
}

.announcement-date {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    height: 49px;
    border-radius: 9px;
    color: #9dc8df;
    background: rgba(32, 114, 163, 0.13);
    font-size: 0.52rem;
    font-weight: 850;
}

.announcement-date strong {
    color: white;
    font-size: 1rem;
    line-height: 1;
}

.announcement-item h4 {
    font-size: 0.76rem;
}

.announcement-item p {
    margin-top: 4px;
    font-size: 0.67rem;
}

.quick-link-grid {
    display: grid;
    gap: 10px;
}

.quick-link-card {
    display: flex;
    align-items: center;
    gap: 13px;
    width: 100%;
    padding: 14px;
    border: 1px solid var(--border);
    border-radius: 11px;
    color: white;
    background: rgba(255, 255, 255, 0.03);
    text-align: left;
    cursor: pointer;

    transition:
        background 0.2s ease,
        border-color 0.2s ease,
        transform 0.2s ease;
}

.quick-link-card:hover {
    transform: translateX(3px);
    border-color: rgba(129, 223, 56, 0.25);
    background: rgba(255, 255, 255, 0.05);
}

.quick-link-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 38px;
    height: 38px;
    flex-shrink: 0;
    border-radius: 9px;
    color: var(--green);
    background: rgba(82, 161, 44, 0.12);
}

.quick-link-card strong,
.quick-link-card small {
    display: block;
}

.quick-link-card strong {
    font-size: 0.72rem;
}

.quick-link-card small {
    margin-top: 2px;
    color: var(--muted-text);
    font-size: 0.62rem;
}


/* ==========================================================
   POLICIES
========================================================== */

.policy-card-list {
    display: grid;
    gap: 13px;
}

.policy-card {
    display: grid;
    grid-template-columns: 53px 1fr;
    gap: 17px;
    padding: 22px;
    border: 1px solid var(--border);
    border-radius: 14px;
    background: #102430;
}

.policy-card-number {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 48px;
    height: 48px;
    border-radius: 10px;
    color: var(--green);
    background: rgba(129, 223, 56, 0.09);
    font-size: 0.7rem;
    font-weight: 850;
}

.policy-card h3 {
    font-family: "Inter", sans-serif;
    font-size: 0.88rem;
    font-weight: 850;
    text-transform: none;
}

.policy-card p {
    margin-top: 5px;
    font-size: 0.72rem;
}


/* ==========================================================
   NOTES
========================================================== */

.notes-card {
    padding: 25px;
    border: 1px solid var(--border);
    border-radius: 16px;
    background: #102430;
}

.notes-card label {
    display: block;
    margin-bottom: 10px;
    font-size: 0.72rem;
    font-weight: 850;
}

.notes-card textarea {
    width: 100%;
    min-height: 380px;
    padding: 17px;
    resize: vertical;
    border: 1px solid var(--border-bright);
    border-radius: 11px;
    outline: none;
    color: white;
    background: rgba(255, 255, 255, 0.035);
    font-size: 0.78rem;
    line-height: 1.7;
}

.notes-card textarea:focus {
    border-color: rgba(129, 223, 56, 0.55);
}

.notes-actions {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    margin-top: 13px;
}

.notes-actions span {
    color: #8ca0ab;
    font-size: 0.64rem;
}

.clear-notes-button {
    padding: 9px 12px;
    border: 1px solid rgba(239, 91, 91, 0.22);
    border-radius: 7px;
    color: #ff9d9d;
    background: rgba(239, 91, 91, 0.07);
    font-size: 0.64rem;
    font-weight: 800;
    cursor: pointer;
}


/* ==========================================================
   TABLET
========================================================== */

@media (max-width: 1050px) {

    .navigation,
    .header-quote-button {
        display: none;
    }

    .menu-button {
        display: block;
    }

    .navigation.open {
        position: absolute;
        top: 72px;
        right: 20px;
        left: 20px;
        display: flex;
        flex-direction: column;
        align-items: stretch;
        gap: 0;
        padding: 12px;
        border: 1px solid var(--border);
        border-radius: 15px;
        background: #10232f;
        box-shadow: var(--shadow);
    }

    .navigation.open a {
        padding: 13px;
        border-radius: 8px;
    }

    .navigation.open a:hover {
        background: rgba(255, 255, 255, 0.05);
    }

    .hero-grid {
        grid-template-columns: 1fr;
    }

    .hero-content {
        max-width: none;
    }

    .hero-image {
        max-width: 610px;
        margin: 0 auto;
    }

    .services-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .reviews-grid {
        grid-template-columns: 1fr;
    }

    .review-card p {
        min-height: 0;
    }

    .employee-portal-card {
        grid-template-columns: 1fr;
    }

    .contact-box {
        flex-direction: column;
        align-items: flex-start;
    }

    .employee-dashboard.open {
        grid-template-columns: 1fr;
    }

    .dashboard-sidebar {
        position: fixed;
        top: 0;
        bottom: 0;
        left: 0;
        width: 270px;
        transform: translateX(-105%);
        transition: transform 0.25s ease;
        box-shadow: 20px 0 60px rgba(0, 0, 0, 0.4);
    }

    .dashboard-sidebar.open {
        transform: translateX(0);
    }

    .dashboard-menu-button {
        display: block;
    }

    .dashboard-two-column {
        grid-template-columns: 1fr;
    }
}


/* ==========================================================
   MOBILE
========================================================== */

@media (max-width: 720px) {

    .container {
        width: min(100% - 28px, 1080px);
    }

    .section {
        padding: 66px 0;
    }

    h1 {
        font-size: 3.2rem;
    }

    h2 {
        font-size: 2.5rem;
    }

    .hero {
        padding: 48px 0 68px;
    }

    .hero-grid {
        gap: 40px;
    }

    .hero-glow {
        width: 220px;
    }

    .services-grid {
        grid-template-columns: 1fr;
    }

    .service-card {
        min-height: 470px;
    }

    .faq-grid {
        grid-template-columns: 1fr;
    }

    .employee-portal-card {
        padding: 31px 23px;
    }

    .portal-feature-list {
        grid-template-columns: 1fr;
    }

    .contact-box {
        padding: 31px 23px;
    }

    .contact-buttons {
        width: 100%;
        min-width: 0;
    }

    .contact-buttons .button {
        width: 100%;
    }

    .floating-call-button span:last-child {
        display: none;
    }

    .floating-call-button {
        width: 46px;
        height: 46px;
        justify-content: center;
        padding: 0;
    }

    .portal-login-card {
        padding: 30px 22px;
    }

    .portal-login-card h2 {
        font-size: 2.5rem;
    }

    .dashboard-topbar {
        padding: 12px 16px;
    }

    .dashboard-topbar-label {
        display: none;
    }

    .dashboard-user-text {
        display: none;
    }

    .dashboard-content {
        padding: 20px 14px 40px;
    }

    .dashboard-welcome-card {
        align-items: flex-start;
        flex-direction: column;
        padding: 27px 22px;
    }

    .dashboard-stat-grid {
        grid-template-columns: 1fr;
    }

    .resource-card-grid,
    .checklist-grid {
        grid-template-columns: 1fr;
    }

    .policy-card {
        grid-template-columns: 45px 1fr;
        padding: 17px;
    }

    .policy-card-number {
        width: 42px;
        height: 42px;
    }

    .notes-actions {
        align-items: flex-start;
        flex-direction: column;
    }
}

/* ===== 2026 EXPANSION: PRESERVES ORIGINAL DESIGN SYSTEM ===== */
.hero-video-ready{position:relative;overflow:hidden}.hero-video-ready>.container{position:relative;z-index:2}.hero-media{position:absolute;inset:0;z-index:0}.hero-media video,.hero-media-fallback,.hero-media-overlay{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.hero-media video{opacity:.18}.hero-media-fallback{background:radial-gradient(circle at 80% 30%,rgba(25,151,223,.22),transparent 35%),radial-gradient(circle at 20% 60%,rgba(85,184,44,.2),transparent 32%)}.hero-media-overlay{background:linear-gradient(90deg,rgba(6,21,33,.98) 0%,rgba(6,21,33,.88) 48%,rgba(6,21,33,.6) 100%)}
.hero-placeholder{min-height:440px;border:1px solid var(--border-bright);border-radius:22px;background:linear-gradient(145deg,rgba(85,184,44,.16),rgba(25,151,223,.16)),#0b1c29;display:grid;place-content:center;text-align:center;box-shadow:var(--shadow)}.placeholder-mark{font-family:"Anton",Impact,sans-serif;font-size:clamp(3rem,7vw,6rem);color:rgba(255,255,255,.08);letter-spacing:4px}.hero-placeholder p{font-size:.8rem}
.trust-strip{border-block:1px solid var(--border);background:rgba(11,29,42,.65);padding:18px 0}.trust-grid{display:flex;flex-wrap:wrap;justify-content:center;gap:10px}.trust-grid span{padding:7px 12px;border:1px solid rgba(129,223,56,.2);border-radius:999px;background:rgba(129,223,56,.07);font-size:.68rem;font-weight:800}
.service-card{background-image:linear-gradient(145deg,rgba(85,184,44,.24),rgba(25,151,223,.18)),linear-gradient(to top,rgba(0,0,0,.96),rgba(0,0,0,.05))!important}.service-card:before{content:"Gallery coming soon";position:absolute;top:18px;left:18px;padding:5px 9px;border-radius:999px;background:rgba(6,21,33,.8);font-size:.6rem;font-weight:800}.reviews-empty{border-block:1px solid var(--border);background:rgba(11,29,42,.35)}.empty-state-card{padding:45px;border:1px dashed var(--border-bright);border-radius:22px;text-align:center}.empty-state-card p{max-width:650px;margin:14px auto 0}.quote-layout{display:grid;grid-template-columns:.65fr 1.35fr;gap:45px;align-items:start}.quote-copy{position:sticky;top:100px}.quote-direct{display:grid;gap:8px;margin-top:25px}.quote-direct a{color:var(--green);font-weight:800}.quote-form{padding:30px;border:1px solid var(--border);border-radius:22px;background:var(--card-background);box-shadow:var(--shadow)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.quote-form label{display:grid;gap:7px;margin-bottom:16px;color:#dfe8ed;font-size:.72rem;font-weight:800}.quote-form label span{color:var(--muted-text);font-weight:500}.quote-form input,.quote-form select,.quote-form textarea{width:100%;padding:12px 14px;border:1px solid var(--border-bright);border-radius:9px;outline:none;color:white;background:rgba(255,255,255,.045)}.quote-form select option{color:#111}.prototype-note,.form-message{font-size:.7rem;margin:6px 0 14px}.form-message{color:var(--green);font-weight:700}
.page-hero{padding:80px 0 45px}.page-hero p{max-width:720px;margin-top:16px}.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.gallery-empty{min-height:260px;border:1px dashed var(--border-bright);border-radius:18px;display:grid;place-content:center;text-align:center;background:linear-gradient(145deg,rgba(85,184,44,.08),rgba(25,151,223,.08))}.gallery-empty strong{display:block;margin-bottom:8px}.back-link{display:inline-block;margin-top:25px;color:var(--green);font-weight:800}
@media(max-width:800px){.quote-layout{grid-template-columns:1fr}.quote-copy{position:static}.form-grid,.gallery-grid{grid-template-columns:1fr}.hero-placeholder{min-height:300px}}

.text-logo{font-family:"Anton",Impact,sans-serif;font-size:1.5rem;letter-spacing:1px;color:white}

/* ======================================================
   REVISION: QUOTE CONTACT BUTTONS, GOALS & ANNOUNCEMENTS
====================================================== */
.quote-direct {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 24px;
}

.quote-contact-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 52px;
    padding: 0 22px;
    border-radius: 12px;
    font-weight: 800;
    text-decoration: none;
    transition: transform .2s ease, box-shadow .2s ease, background .2s ease;
}

.quote-contact-button:hover {
    transform: translateY(-2px);
    box-shadow: 0 12px 24px rgba(15, 64, 36, .18);
}

.quote-call-button {
    background: var(--green, #174f2d);
    color: #fff;
}

.quote-email-button {
    background: #fff;
    color: var(--green, #174f2d);
    border: 2px solid var(--green, #174f2d);
}

.form-action-row,
.record-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px;
}

.secondary-button,
.small-action-button {
    border: 1px solid rgba(22, 74, 43, .24);
    background: #fff;
    color: #164a2b;
    border-radius: 10px;
    padding: 11px 16px;
    font: inherit;
    font-weight: 800;
    cursor: pointer;
}

.small-action-button {
    padding: 8px 12px;
    font-size: .86rem;
}

.danger-action {
    color: #9f2727;
    border-color: rgba(159, 39, 39, .25);
}

.goal-list,
.record-list,
.announcement-feed {
    display: grid;
    gap: 12px;
}

.goal-item {
    display: flex;
    gap: 13px;
    align-items: center;
    padding: 16px;
    border-radius: 14px;
    background: #f5f7f4;
    border: 1px solid rgba(22, 74, 43, .1);
}

.goal-item small {
    display: block;
    margin-top: 4px;
    color: #627067;
}

.goal-check {
    width: 30px;
    height: 30px;
    flex: 0 0 30px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    border: 2px solid #aeb9b1;
    color: #fff;
    font-weight: 900;
}

.goal-reached {
    background: #edf8f0;
    border-color: rgba(31, 127, 64, .3);
}

.goal-reached .goal-check {
    background: #1f7f40;
    border-color: #1f7f40;
}

.record-card,
.announcement-card {
    padding: 17px;
    border: 1px solid rgba(22, 74, 43, .13);
    border-radius: 14px;
    background: #fff;
}

.record-card {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
}

.record-card p,
.announcement-card p {
    margin-top: 7px;
}

.announcement-card-top {
    display: flex;
    justify-content: space-between;
    gap: 14px;
    margin-bottom: 10px;
    color: #4d6556;
    font-size: .8rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .05em;
}

.unread-announcement {
    border-left: 5px solid #1f7f40;
    box-shadow: 0 10px 28px rgba(20, 72, 41, .08);
}

.expired-announcement {
    opacity: .6;
}

.announcement-video {
    display: block;
    width: 100%;
    max-height: 520px;
    margin-top: 14px;
    border-radius: 12px;
    background: #0d1711;
}

.announcement-card .record-actions {
    margin-top: 14px;
}

.checkbox-label {
    display: flex !important;
    flex-direction: row !important;
    align-items: center;
    gap: 10px;
}

.checkbox-label input {
    width: auto !important;
}

@media (max-width: 700px) {
    .quote-direct,
    .form-action-row,
    .record-actions {
        align-items: stretch;
        flex-direction: column;
    }

    .quote-contact-button,
    .secondary-button,
    .small-action-button {
        width: 100%;
    }

    .record-card,
    .announcement-card-top {
        align-items: flex-start;
        flex-direction: column;
    }
}


/* ======================================================
   V3 POLISH — APPROVED AREAS ONLY
====================================================== */
.quote-layout-premium{grid-template-columns:minmax(290px,.72fr) minmax(0,1.28fr);gap:64px}
.quote-copy-premium{padding:10px 0}.quote-copy-premium>p{max-width:430px;font-size:1rem;line-height:1.75}
.quote-contact-card{margin-top:30px;padding:18px;border:1px solid var(--border);border-radius:20px;background:linear-gradient(145deg,rgba(129,223,56,.08),rgba(25,151,223,.06));box-shadow:0 18px 50px rgba(0,0,0,.16)}
.quote-contact-intro{margin:0 0 12px!important;font-size:.78rem!important;font-weight:800;color:#dce7ed!important}
.quote-direct{display:grid;grid-template-columns:1fr;gap:11px;margin-top:0}
.quote-contact-button{width:100%;min-height:66px;padding:10px 16px;border:1px solid transparent;border-radius:14px;gap:13px;justify-content:flex-start;overflow:visible;color:#fff!important}
.quote-contact-button *{color:inherit!important}.quote-button-icon{width:38px;height:38px;display:grid;place-items:center;flex:0 0 38px;border-radius:10px;background:rgba(255,255,255,.16);font-size:1.15rem}
.quote-button-copy{display:grid;gap:2px;text-align:left;line-height:1.1}.quote-button-copy small{font-size:.64rem;text-transform:uppercase;letter-spacing:.08em;opacity:.82}.quote-button-copy strong{font-size:.95rem}
.quote-call-button{background:linear-gradient(135deg,#78df2f,#42bf3b 48%,#1ea8d8);box-shadow:0 12px 30px rgba(66,191,59,.18)}
.quote-email-button{background:rgba(255,255,255,.055);border-color:rgba(129,223,56,.45);color:#eff8f2!important}
.quote-email-button .quote-button-icon{background:rgba(129,223,56,.12);color:var(--green)!important}.quote-contact-button:hover{transform:translateY(-2px);border-color:rgba(255,255,255,.24)}
.quote-reassurance{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}.quote-reassurance span{padding:7px 10px;border-radius:999px;border:1px solid var(--border);font-size:.62rem;font-weight:800;color:#c7d4db;background:rgba(255,255,255,.025)}
.quote-form-premium{padding:34px;border-radius:24px;background:linear-gradient(160deg,rgba(20,45,60,.97),rgba(12,32,46,.98));border-color:rgba(129,223,56,.12);box-shadow:0 28px 80px rgba(0,0,0,.28)}
.quote-form-heading,.panel-title-row,.quote-submit-row{display:flex;align-items:center;justify-content:space-between;gap:20px}.quote-form-heading{padding-bottom:20px;margin-bottom:22px;border-bottom:1px solid var(--border)}.quote-form-heading h3{margin-top:4px}.required-note,.panel-helper{font-size:.67rem;color:var(--muted-text);font-weight:700}
.quote-form-premium input,.quote-form-premium select,.quote-form-premium textarea{min-height:48px;background:rgba(255,255,255,.055);border-color:rgba(169,205,223,.2)}.quote-form-premium textarea{min-height:auto}.quote-form-premium input:focus,.quote-form-premium select:focus,.quote-form-premium textarea:focus{border-color:rgba(129,223,56,.65);box-shadow:0 0 0 3px rgba(129,223,56,.08)}
.quote-form-secondary{align-items:start}.quote-submit-row{margin-top:8px}.quote-submit-button{min-width:220px}.quote-submit-button span{margin-left:8px}.quote-privacy{font-size:.66rem;max-width:240px;text-align:right;margin:0}

.app-shell{display:grid;gap:22px}.app-hero{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;padding:30px 32px;border:1px solid var(--border);border-radius:24px;background:radial-gradient(circle at 88% 20%,rgba(25,151,223,.13),transparent 33%),radial-gradient(circle at 8% 90%,rgba(129,223,56,.11),transparent 28%),linear-gradient(145deg,rgba(18,42,56,.96),rgba(9,26,39,.96));box-shadow:0 24px 70px rgba(0,0,0,.22)}
.app-hero h1{font-size:clamp(2.4rem,5vw,4.6rem);line-height:.98;margin:6px 0 10px}.app-hero p{margin:0}.app-logout{width:auto;min-width:110px;margin:0}
.dashboard-stat-grid-four{grid-template-columns:repeat(4,1fr);gap:14px}.dashboard-stat-card{position:relative;overflow:hidden;min-height:150px;padding:23px;border-radius:18px;background:linear-gradient(160deg,rgba(19,46,61,.98),rgba(13,34,47,.98));box-shadow:0 16px 42px rgba(0,0,0,.15)}.dashboard-stat-card:after{content:"";position:absolute;right:-28px;bottom:-42px;width:105px;height:105px;border-radius:50%;background:rgba(255,255,255,.025)}.dashboard-stat-card>strong{font-size:2rem;margin-top:18px}.stat-accent-green{border-color:rgba(129,223,56,.35)}.stat-accent-blue{border-color:rgba(25,151,223,.35)}
.dashboard-panel{padding:26px;border-radius:20px;background:linear-gradient(155deg,rgba(18,43,57,.97),rgba(12,32,45,.97));box-shadow:0 18px 55px rgba(0,0,0,.14)}.dashboard-feature-panel{border-color:rgba(129,223,56,.2)}.panel-title-row{margin-bottom:18px}.panel-title-row h3{margin-top:4px}.panel-status-dot{padding:6px 9px;border-radius:999px;background:rgba(129,223,56,.1);color:var(--green);font-size:.58rem;font-weight:900;letter-spacing:.1em}
.employee-workspace-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(310px,.65fr);gap:22px}.dashboard-inner-form{margin:0;padding:20px;background:rgba(4,18,28,.35);box-shadow:none;border-radius:16px}.dashboard-inner-form .form-grid{gap:12px}.dashboard-inner-form label{margin-bottom:10px}.totals-panel-premium{border-color:rgba(25,151,223,.18)}
.goal-list{gap:14px}.goal-item{display:grid;align-items:stretch;gap:10px;padding:18px;background:rgba(255,255,255,.035);border-color:rgba(169,205,223,.14);color:#fff}.goal-item-top,.goal-numbers{display:flex;align-items:center;justify-content:space-between;gap:12px}.goal-item strong{font-size:1rem}.goal-state{font-size:.62rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase;color:#93a7b2}.goal-check{width:26px;height:26px;flex:0 0 26px;border-color:#607681}.goal-numbers{font-size:.7rem;color:#aebdc5}.goal-numbers b{color:#fff}.goal-progress-track{height:7px;border-radius:999px;background:rgba(255,255,255,.075);overflow:hidden}.goal-progress-track span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#58c52d,#1ba7da)}.goal-reached{background:linear-gradient(145deg,rgba(129,223,56,.12),rgba(255,255,255,.035));border-color:rgba(129,223,56,.35)}.goal-reached .goal-check{background:var(--green);border-color:var(--green);color:#062114}.goal-reached .goal-state{color:var(--green)}
.record-card,.announcement-card{background:rgba(255,255,255,.035);border-color:rgba(169,205,223,.14);color:#fff}.record-card p,.announcement-card p{color:var(--muted-text)}.secondary-button,.small-action-button{background:rgba(255,255,255,.055);color:#eef7f2;border-color:rgba(169,205,223,.2)}
.owner-overview-grid{display:grid;grid-template-columns:1.5fr .5fr;gap:22px}.owner-kpi-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.owner-kpi-grid>div{padding:16px;border:1px solid rgba(169,205,223,.12);border-radius:14px;background:rgba(255,255,255,.03)}.owner-kpi-grid span,.owner-revenue-row span{display:block;font-size:.65rem;color:var(--muted-text);font-weight:700}.owner-kpi-grid strong{display:block;margin-top:7px;font-size:1.35rem}.owner-revenue-row{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:14px;padding:17px 18px;border-radius:14px;background:linear-gradient(135deg,rgba(129,223,56,.1),rgba(25,151,223,.08));border:1px solid rgba(129,223,56,.18)}.owner-revenue-row strong{font-size:1.3rem}.priority-list{display:grid;gap:10px}.priority-list>div{display:flex;align-items:center;justify-content:space-between;padding:15px;border-radius:13px;background:rgba(255,255,255,.035);border:1px solid rgba(169,205,223,.1)}.priority-list span{font-size:.72rem;color:var(--muted-text)}.priority-list strong{font-size:1.15rem}.owner-list-grid{display:grid;gap:12px}.owner-list-grid>p{padding:28px;border:1px dashed rgba(169,205,223,.2);border-radius:14px;text-align:center;background:rgba(255,255,255,.02)}.announcement-composer{margin-bottom:20px}

@media(max-width:1050px){.dashboard-stat-grid-four{grid-template-columns:repeat(2,1fr)}.employee-workspace-grid,.owner-overview-grid{grid-template-columns:1fr}.quote-layout-premium{gap:38px}}
@media(max-width:800px){.quote-layout-premium{grid-template-columns:1fr}.quote-copy-premium{position:static}.quote-contact-card{max-width:none}.quote-form-heading,.quote-submit-row,.panel-title-row,.app-hero{align-items:flex-start;flex-direction:column}.quote-privacy{text-align:left}.dashboard-stat-grid-four{grid-template-columns:1fr 1fr}.owner-kpi-grid{grid-template-columns:1fr 1fr}.app-hero{padding:24px}.app-logout{width:100%}}
@media(max-width:560px){.dashboard-stat-grid-four,.owner-kpi-grid{grid-template-columns:1fr}.quote-form-premium,.dashboard-panel{padding:20px}.quote-contact-button{min-height:62px}.quote-submit-button{width:100%}}

/* Ensure authenticated dashboard views fully disappear when logged out. */
[hidden] {
    display: none !important;
}

.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}

/* Owner lifecycle controls and password setup additions */
.management-subheading{margin:28px 0 12px;font-size:.85rem;letter-spacing:.08em;text-transform:uppercase}.management-subheading:first-of-type{margin-top:20px}.employee-status{display:inline-flex;padding:6px 10px;border-radius:999px;font-size:.68rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em}.employee-status.is-active{background:rgba(129,223,56,.12);color:#baf28f;border:1px solid rgba(129,223,56,.25)}.employee-status.is-inactive{background:rgba(255,255,255,.06);color:var(--muted-text);border:1px solid rgba(169,205,223,.16)}.danger-action,.compact-danger{border-color:rgba(255,100,100,.35)!important;color:#ffb1b1!important}.compact-danger{width:auto}.password-setup-card{max-width:620px}.record-actions{flex-wrap:wrap}.review-card select{max-width:220px}
@media(max-width:800px){body:not(.portal-page) .portal-login-card{margin-top:12px!important}.review-card .panel-title-row{gap:10px}.review-card select{width:100%;max-width:none}.record-actions>*{flex:1 1 150px}.navigation.open{z-index:1000}.owner-list-grid .review-card{padding:18px}}
