:root {
    --deep-blue: #075A84;
    --mustard: #F7C548;
    --slate: #8CA9C3;
    --white: #FFFFFF;
    --charcoal: #1C1C1C;
    --ink: #1f2933;
    --muted: #667085;
    --line: #d7e0e8;
    --panel: #FFFFFF;
    --bg: #F3F7FA;
    --danger: #B42318;
    --warn: #B54708;
    --good: #027A48;
}

* {
    box-sizing: border-box;
}

body {
    margin: 0;
    background: var(--bg);
    color: var(--ink);
    font-family: "Open Sans", Arial, Helvetica, sans-serif;
    font-size: 15px;
}

a {
    color: var(--deep-blue);
    font-weight: 700;
    text-decoration: none;
}

h1, h2, h3 {
    color: var(--charcoal);
    font-family: "Poppins", "Open Sans", Arial, sans-serif;
    letter-spacing: 0;
    margin-top: 0;
}

h1 {
    font-size: 30px;
    line-height: 1.15;
}

h2 {
    font-size: 22px;
}

h3 {
    font-size: 17px;
}

.topbar {
    align-items: center;
    background: var(--deep-blue);
    border-bottom: 4px solid var(--mustard);
    display: flex;
    justify-content: space-between;
    padding: 10px 22px;
    position: sticky;
    top: 0;
    z-index: 20;
}

.brand {
    align-items: center;
    color: var(--white);
    display: inline-flex;
    font-family: "Montserrat", "Open Sans", Arial, sans-serif;
    font-size: 18px;
    font-weight: 800;
    gap: 10px;
    text-transform: uppercase;
    white-space: nowrap;
}

.brand img {
    background: var(--charcoal);
    border: 2px solid rgba(255,255,255,0.85);
    border-radius: 50%;
    height: 44px;
    object-fit: cover;
    width: 44px;
}

nav {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    justify-content: flex-end;
}

nav a {
    border-radius: 6px;
    color: var(--white);
    padding: 8px 10px;
}

nav a:hover {
    background: rgba(255,255,255,0.14);
}

.notification-link {
    align-items: center;
    display: inline-flex;
    justify-content: center;
    min-height: 40px;
    min-width: 40px;
    position: relative;
}

.bell-icon {
    font-size: 18px;
    line-height: 1;
}

.notification-badge {
    align-items: center;
    background: #D92D20;
    border: 2px solid var(--deep-blue);
    border-radius: 999px;
    color: var(--white);
    display: flex;
    font-size: 10px;
    font-weight: 800;
    height: 20px;
    justify-content: center;
    min-width: 20px;
    padding: 0 4px;
    position: absolute;
    right: 0;
    top: 0;
}

.shell {
    margin: 0 auto;
    max-width: 1220px;
    padding: 24px;
}

.panel, .hero-panel, .metric-card {
    background: var(--panel);
    border: 1px solid var(--line);
    border-radius: 8px;
    box-shadow: 0 8px 24px rgba(7, 90, 132, 0.06);
}

.panel {
    margin-bottom: 18px;
    padding: 18px;
}

.inner-panel {
    background: #F8FBFD;
    border: 1px solid var(--line);
    border-radius: 8px;
    margin: 12px 0;
    padding: 14px;
}

.hero-panel {
    align-items: center;
    border-left: 6px solid var(--mustard);
    display: flex;
    justify-content: space-between;
    margin-bottom: 18px;
    padding: 22px;
}

.eyebrow {
    color: var(--deep-blue);
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 0;
    margin: 0 0 8px;
    text-transform: uppercase;
}

.hero-copy {
    color: var(--muted);
    margin: 0;
}

.grid, .metric-grid {
    display: grid;
    gap: 16px;
    grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
}

.metric-grid {
    margin-bottom: 18px;
}

.metric-card, .stat {
    padding: 16px;
}

.metric-card {
    border-top: 4px solid var(--deep-blue);
}

.metric-card span, .stat span {
    color: var(--muted);
    display: block;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 0;
    text-transform: uppercase;
}

.metric-card strong, .stat strong {
    color: var(--charcoal);
    display: block;
    font-family: "Montserrat", "Open Sans", Arial, sans-serif;
    font-size: 30px;
    line-height: 1.1;
    margin-top: 6px;
}

.metric-card small {
    color: var(--muted);
    display: block;
    margin-top: 6px;
}

.metric-danger { border-top-color: var(--danger); }
.metric-warning { border-top-color: var(--mustard); }
.metric-success { border-top-color: var(--good); }

.section-heading {
    align-items: end;
    display: flex;
    justify-content: space-between;
    margin: 22px 0 12px;
}

.section-heading h2,
.section-heading p {
    margin-bottom: 0;
}

.stat {
    border-left: 4px solid var(--mustard);
}

.brand-strip {
    display: grid;
    gap: 12px;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
}

.brand-strip div {
    background: #F8FBFD;
    border: 1px solid var(--line);
    border-radius: 8px;
    padding: 14px;
}

.brand-strip span, .brand-strip small {
    color: var(--muted);
    display: block;
    font-size: 12px;
    font-weight: 700;
}

.brand-strip strong {
    color: var(--deep-blue);
    display: block;
    font-family: "Montserrat", "Open Sans", Arial, sans-serif;
    font-size: 24px;
    margin: 4px 0;
}

label {
    color: #344054;
    display: block;
    font-size: 13px;
    font-weight: 800;
    margin-bottom: 6px;
}

input, select, textarea, button {
    font: inherit;
}

input, select, textarea {
    background: var(--white);
    border: 1px solid #C8D4DF;
    border-radius: 6px;
    min-height: 44px;
    padding: 10px 11px;
    width: 100%;
}

input:focus, select:focus, textarea:focus {
    border-color: var(--deep-blue);
    box-shadow: 0 0 0 3px rgba(7, 90, 132, 0.14);
    outline: none;
}

textarea {
    min-height: 84px;
    resize: vertical;
}

button, .button {
    background: var(--mustard);
    border: 0;
    border-radius: 6px;
    color: var(--charcoal);
    cursor: pointer;
    display: inline-block;
    font-weight: 800;
    min-height: 44px;
    padding: 11px 16px;
}

button:hover, .button:hover {
    filter: brightness(0.98);
}

.button.secondary {
    background: var(--deep-blue);
    color: var(--white);
}

button.danger, .button.danger {
    background: var(--danger);
    color: var(--white);
}

.flash {
    border-radius: 6px;
    font-weight: 700;
    margin-bottom: 16px;
    padding: 12px;
}

.flash.error {
    background: #FEF3F2;
    color: var(--danger);
}

.flash.info, .flash.success {
    background: #ECFDF3;
    color: var(--good);
}

.login-panel {
    max-width: 430px;
    margin: 46px auto;
}

.login-brand {
    align-items: center;
    display: flex;
    gap: 12px;
    margin-bottom: 18px;
}

.login-brand img {
    background: var(--charcoal);
    border-radius: 50%;
    height: 58px;
    object-fit: cover;
    width: 58px;
}

.login-brand span {
    color: var(--deep-blue);
    display: block;
    font-family: "Montserrat", "Open Sans", Arial, sans-serif;
    font-size: 18px;
    font-weight: 800;
}

.login-brand small {
    color: var(--muted);
    display: block;
    font-weight: 700;
    margin-top: 3px;
}

.category-panel {
    padding: 0;
}

.category-panel summary {
    align-items: center;
    cursor: pointer;
    display: flex;
    justify-content: space-between;
    list-style: none;
    padding: 16px 18px;
}

.category-panel summary::-webkit-details-marker {
    display: none;
}

.category-panel summary span {
    color: var(--deep-blue);
    font-family: "Poppins", "Open Sans", Arial, sans-serif;
    font-size: 18px;
    font-weight: 700;
}

.category-panel summary small {
    color: var(--muted);
    font-weight: 800;
}

.category-body {
    border-top: 1px solid var(--line);
    padding: 8px 12px 14px;
}

.audit-line {
    border: 1px solid transparent;
    border-radius: 8px;
    display: grid;
    gap: 14px;
    grid-template-columns: minmax(240px, 1.2fr) minmax(190px, 0.7fr) minmax(240px, 1fr) minmax(190px, 0.8fr);
    padding: 14px 10px;
}

.action-assignment {
    background: #F0F6FA;
    border-left: 4px solid var(--mustard);
    border-radius: 6px;
    grid-column: 1 / -1;
    padding: 14px;
}

.action-assignment[hidden] {
    display: none !important;
}

.action-assignment-heading {
    align-items: baseline;
    display: flex;
    flex-wrap: wrap;
    gap: 8px 14px;
    margin-bottom: 10px;
}

.action-assignment-heading strong {
    color: var(--deep-blue);
    font-family: "Poppins", "Open Sans", Arial, sans-serif;
}

.action-assignment-heading small {
    color: var(--muted);
    font-weight: 700;
}

.action-assignment-grid,
.followup-controls {
    display: grid;
    gap: 14px;
    grid-template-columns: minmax(220px, 1fr) minmax(170px, 0.55fr) minmax(240px, 1fr);
}

.action-assignment-grid p,
.followup-controls p,
.filter-bar p {
    margin: 0;
}

.audit-line:hover {
    background: #F8FBFD;
}

.audit-line.needs-attention {
    background: #FFF7ED;
    border-color: #F97316;
}

.standard-title {
    color: var(--charcoal);
    font-weight: 800;
}

.standard-meta {
    color: var(--muted);
    font-size: 13px;
    margin-top: 6px;
}

.abc {
    display: grid;
    gap: 8px;
    grid-template-columns: repeat(4, 1fr);
}

.abc label {
    align-items: center;
    background: var(--white);
    border: 1px solid var(--line);
    border-radius: 6px;
    color: var(--ink);
    display: flex;
    font-size: 16px;
    justify-content: center;
    margin: 0;
    min-height: 48px;
}

.abc label:has(input:checked) {
    border-color: var(--deep-blue);
    box-shadow: inset 0 0 0 2px var(--deep-blue);
}

.grade-a:has(input:checked) {
    background: #ECFDF3;
}

.grade-b:has(input:checked) {
    background: #FFFAEB;
}

.grade-c:has(input:checked) {
    background: #FEF3F2;
}

.grade-na:has(input:checked) {
    background: #EEF2F6;
}

.abc input {
    height: auto;
    margin: 0 6px 0 0;
    min-height: 0;
    width: auto;
}

.badge {
    border-radius: 999px;
    display: inline-block;
    font-size: 12px;
    font-weight: 800;
    padding: 4px 8px;
}

.badge.pass { background: #ECFDF3; color: var(--good); }
.badge.middle { background: #FFFAEB; color: var(--warn); }
.badge.fail { background: #FEF3F2; color: var(--danger); }
.badge.na { background: #EEF2F6; color: #475467; }

table {
    border-collapse: collapse;
    width: 100%;
}

th, td {
    border-bottom: 1px solid var(--line);
    padding: 11px 10px;
    text-align: left;
    vertical-align: top;
}

th {
    background: #F0F6FA;
    color: #344054;
    font-size: 12px;
    letter-spacing: 0;
    text-transform: uppercase;
}

.photos {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 8px;
}

.photos img {
    border: 1px solid var(--line);
    border-radius: 6px;
    height: 90px;
    object-fit: cover;
    width: 120px;
}

.photo-upload-status {
    color: var(--muted);
    display: block;
    font-size: 12px;
    font-weight: 700;
    margin-top: 7px;
    min-height: 18px;
}

.photo-upload-status.is-uploading {
    color: var(--deep-blue);
}

.photo-upload-status.is-saved {
    color: var(--good);
}

.photo-upload-status.is-error {
    color: var(--danger);
}

.actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.actions-cell {
    min-width: 120px;
}

.table-scroll {
    overflow-x: auto;
    width: 100%;
}

.action-table td:nth-child(2) {
    min-width: 300px;
    white-space: normal;
}

.action-table small,
td small {
    color: var(--muted);
}

.overdue-row {
    background: #FFF4F2;
}

.overdue-date {
    color: var(--danger);
    font-weight: 800;
}

.filter-bar {
    align-items: end;
    display: grid;
    gap: 14px;
    grid-template-columns: minmax(240px, 420px) auto;
}

.followup-list {
    display: grid;
    gap: 16px;
}

.followup-item {
    margin-bottom: 0;
}

.followup-item.is-overdue {
    border-left: 5px solid var(--danger);
}

.followup-heading {
    align-items: flex-start;
    display: flex;
    gap: 20px;
    justify-content: space-between;
}

.followup-heading h2 {
    font-size: 19px;
    line-height: 1.35;
    margin-bottom: 8px;
}

.deadline-block {
    background: #F8FBFD;
    border: 1px solid var(--line);
    border-radius: 6px;
    flex: 0 0 150px;
    padding: 10px 12px;
}

.deadline-block span,
.deadline-block strong {
    display: block;
}

.deadline-block span {
    color: var(--muted);
    font-size: 11px;
    font-weight: 800;
    text-transform: uppercase;
}

.action-facts {
    display: grid;
    gap: 10px 18px;
    grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
    margin: 14px 0;
}

.action-facts div {
    border-left: 3px solid var(--slate);
    padding-left: 10px;
}

.action-facts dt {
    color: var(--muted);
    font-size: 11px;
    font-weight: 800;
    text-transform: uppercase;
}

.action-facts dd {
    margin: 3px 0 0;
}

.followup-form {
    border-top: 1px solid var(--line);
    margin-top: 14px;
    padding-top: 14px;
}

.result-choice {
    display: grid;
    gap: 8px;
    grid-template-columns: 1fr 1fr;
}

.result-choice label {
    align-items: center;
    background: var(--white);
    border: 1px solid var(--line);
    border-radius: 6px;
    display: flex;
    justify-content: center;
    margin: 0;
    min-height: 48px;
    padding: 8px;
}

.result-choice input {
    margin-right: 7px;
    min-height: 0;
    width: auto;
}

.empty-state {
    padding: 34px;
    text-align: center;
}

.action-detail-grid {
    display: grid;
    gap: 28px;
    grid-template-columns: minmax(0, 1.5fr) minmax(260px, 0.7fr);
}

.action-facts-large {
    display: block;
    margin: 0;
}

.action-facts-large div {
    margin-bottom: 14px;
}

.timeline {
    margin-left: 8px;
}

.timeline-entry {
    display: grid;
    gap: 14px;
    grid-template-columns: 16px 1fr;
    padding-bottom: 22px;
    position: relative;
}

.timeline-entry::before {
    background: var(--line);
    content: "";
    height: 100%;
    left: 7px;
    position: absolute;
    top: 10px;
    width: 2px;
}

.timeline-entry:last-child::before {
    display: none;
}

.timeline-marker {
    background: var(--mustard);
    border: 3px solid var(--white);
    border-radius: 50%;
    box-shadow: 0 0 0 1px var(--deep-blue);
    height: 16px;
    position: relative;
    width: 16px;
    z-index: 1;
}

.timeline-entry h3 {
    margin-bottom: 2px;
}

.form-panel {
    margin-left: auto;
    margin-right: auto;
    max-width: 900px;
}

.inline-form {
    display: inline;
    margin-left: 10px;
}

.link-button {
    background: transparent;
    color: var(--deep-blue);
    font-weight: 800;
    min-height: 0;
    padding: 0;
}

.link-button:hover {
    text-decoration: underline;
}

.admin-action-grid {
    display: grid;
    gap: 14px;
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
}

.checkbox-grid {
    display: grid;
    gap: 10px;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
}

.checkbox-grid label {
    align-items: center;
    background: #F8FBFD;
    border: 1px solid var(--line);
    border-radius: 6px;
    display: flex;
    gap: 8px;
    margin: 0;
    min-height: 44px;
    padding: 9px 10px;
}

.checkbox-grid input {
    min-height: 0;
    width: auto;
}

.store-role-field {
    margin: 16px 0;
}

.note {
    background: #F0F6FA;
    border-left: 4px solid var(--slate);
    border-radius: 6px;
    color: #344054;
    font-weight: 700;
    padding: 10px 12px;
}

.muted-row {
    opacity: 0.68;
}

.sticky-actions {
    align-items: center;
    bottom: 0;
    border-bottom-left-radius: 0;
    border-bottom-right-radius: 0;
    box-shadow: 0 -10px 24px rgba(7, 90, 132, 0.12);
    display: flex;
    gap: 16px;
    justify-content: space-between;
    position: sticky;
    z-index: 15;
}

.autosave-status {
    align-items: center;
    color: var(--muted);
    display: inline-flex;
    font-size: 13px;
    font-weight: 800;
    gap: 8px;
    min-height: 28px;
}

.autosave-dot {
    background: var(--slate);
    border-radius: 50%;
    display: inline-block;
    height: 10px;
    width: 10px;
}

.autosave-status.is-saving {
    color: var(--deep-blue);
}

.autosave-status.is-saving .autosave-dot {
    animation: autosave-pulse 1s ease-in-out infinite;
    background: var(--deep-blue);
}

.autosave-status.is-saved {
    color: var(--good);
}

.autosave-status.is-saved .autosave-dot {
    background: var(--good);
}

.autosave-status.is-pending {
    color: var(--warn);
}

.autosave-status.is-pending .autosave-dot {
    background: var(--mustard);
}

.autosave-status.is-error {
    color: var(--danger);
}

.autosave-status.is-error .autosave-dot {
    background: var(--danger);
}

@keyframes autosave-pulse {
    0%, 100% { opacity: 0.4; }
    50% { opacity: 1; }
}

hr {
    border: 0;
    border-top: 1px solid var(--line);
    margin: 4px 0;
}

@media (max-width: 900px) {
    .hero-panel {
        align-items: flex-start;
        flex-direction: column;
        gap: 16px;
    }

    .audit-line {
        grid-template-columns: 1fr;
    }

    .action-assignment-grid,
    .followup-controls,
    .action-detail-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 680px) {
    body {
        font-size: 14px;
    }

    .topbar {
        align-items: flex-start;
        flex-direction: column;
        gap: 10px;
        padding: 10px 14px;
    }

    nav {
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        width: 100%;
    }

    nav a {
        background: rgba(255,255,255,0.12);
        overflow-wrap: anywhere;
        text-align: center;
    }

    .notification-link {
        width: 100%;
    }

    .shell {
        padding: 14px;
    }

    .panel, .hero-panel {
        padding: 14px;
    }

    .category-panel {
        padding: 0;
    }

    .category-panel summary {
        align-items: flex-start;
        flex-direction: column;
        gap: 4px;
        padding: 14px;
    }

    .abc label {
        min-height: 54px;
    }

    table {
        display: block;
        overflow-x: auto;
        white-space: nowrap;
    }

    .sticky-actions .actions {
        display: grid;
        grid-template-columns: 1fr 1fr;
        width: 100%;
    }

    .sticky-actions {
        align-items: stretch;
        flex-direction: column;
    }

    .section-heading,
    .followup-heading {
        align-items: flex-start;
        flex-direction: column;
    }

    .deadline-block {
        flex-basis: auto;
        width: 100%;
    }

    .filter-bar {
        grid-template-columns: 1fr;
    }
}

@media print {
    .topbar, .no-print, button {
        display: none !important;
    }

    body {
        background: #ffffff;
    }

    .shell {
        max-width: none;
        padding: 0;
    }

    .panel, .hero-panel, .metric-card {
        box-shadow: none;
        break-inside: avoid;
    }

    details {
        display: block;
    }
}


/* Corporate workspace overhaul V11 */
.app-authenticated { background:#eef3f7; }
.app-sidebar { position:fixed; inset:0 auto 0 0; width:260px; background:#063b59; color:#fff; padding:22px 18px; z-index:30; display:flex; flex-direction:column; overflow:auto; }
.sidebar-brand { display:flex; align-items:center; gap:12px; color:#fff; margin-bottom:22px; }
.sidebar-brand img { width:48px; height:48px; object-fit:cover; border-radius:12px; border:2px solid rgba(255,255,255,.75); }
.sidebar-brand span { display:flex; flex-direction:column; } .sidebar-brand strong{font:800 18px Montserrat,sans-serif}.sidebar-brand em{font-style:normal;color:#b7d5e5;font-size:12px;text-transform:uppercase;letter-spacing:.12em}
.store-context { background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.14); border-radius:12px; padding:14px; margin-bottom:18px; }
.store-context span,.store-context small{display:block;color:#b7d5e5;font-size:11px;text-transform:uppercase;font-weight:800}.store-context strong{display:block;margin:5px 0 2px}.store-context a{display:inline-block;margin-top:10px;color:#f7c548;font-size:12px}
.side-nav{display:flex;flex-direction:column;align-items:stretch;gap:5px}.side-nav a{display:flex;align-items:center;gap:11px;color:#eaf4f8;padding:11px 12px;border-radius:9px}.side-nav a:hover{background:rgba(255,255,255,.1)}.side-nav span{width:22px;text-align:center}.side-nav b{font-size:14px}.side-nav i{background:#d92d20;border-radius:99px;padding:2px 6px;font-style:normal;font-size:10px}
.sidebar-note{margin-top:auto;padding-top:18px;border-top:1px solid rgba(255,255,255,.13);font-size:12px;color:#c6dbe6}.sidebar-note p{margin:6px 0 0;line-height:1.5}
.app-topbar{position:fixed;left:260px;right:0;top:0;height:72px;background:#fff;border-bottom:1px solid #dbe4ea;display:flex;align-items:center;justify-content:space-between;padding:0 28px;z-index:25}.topbar-title span{font:700 17px Poppins,sans-serif;color:#1c1c1c}
.profile-menu{position:relative}.profile-menu summary{list-style:none;display:flex;align-items:center;gap:10px;cursor:pointer}.profile-menu summary::-webkit-details-marker{display:none}.profile-menu summary>span:nth-child(2){display:flex;flex-direction:column}.profile-menu summary strong{font-size:13px}.profile-menu summary em{font-style:normal;font-size:11px;color:#667085}.avatar{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:#075a84;color:#fff;font-weight:800}.profile-dropdown{position:absolute;right:0;top:48px;width:190px;background:#fff;border:1px solid #d7e0e8;border-radius:10px;box-shadow:0 14px 34px rgba(0,0,0,.12);padding:8px}.profile-dropdown a{display:block;padding:10px;border-radius:7px}.profile-dropdown a:hover{background:#f3f7fa}
.app-authenticated .shell{margin-left:260px;max-width:none;padding:96px 28px 30px}.public-topbar{background:#075a84;border-bottom:4px solid #f7c548;padding:12px 22px}.public-topbar .brand img{width:44px;height:44px}
.dashboard-hero,.store-select-hero{border-radius:16px;padding:34px;color:#fff;background-size:cover;background-position:center;margin-bottom:20px;display:flex;align-items:center;justify-content:space-between;min-height:210px;box-shadow:0 14px 35px rgba(7,90,132,.16)}.dashboard-hero h1,.store-select-hero h1{color:#fff;font-size:34px;margin-bottom:8px}.dashboard-hero p,.store-select-hero p{max-width:680px;margin-bottom:0;color:#dcebf2}.eyebrow.light{color:#f7c548}.light-button{background:#fff;color:#075a84}
.workflow-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:20px}.workflow-card{min-height:210px;border-radius:14px;padding:22px;color:#fff;background-size:cover;background-position:center;display:flex;flex-direction:column;justify-content:flex-end;box-shadow:0 10px 24px rgba(0,0,0,.10);transition:.2s transform}.workflow-card:hover{transform:translateY(-3px)}.workflow-card span{font:800 13px Montserrat,sans-serif;color:#f7c548}.workflow-card h2{color:#fff;margin:7px 0}.workflow-card p{margin:0;color:rgba(255,255,255,.82);font-weight:400}
.store-card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:16px}.store-card{background:#fff;border:1px solid #d7e0e8;border-radius:14px;padding:20px;box-shadow:0 8px 22px rgba(7,90,132,.06)}.store-card>span{color:#075a84;text-transform:uppercase;font-size:11px;font-weight:800}.store-card h2{margin:7px 0}.store-card p{color:#667085}.store-card button{width:100%}
@media(max-width:980px){.app-sidebar{width:210px}.app-topbar{left:210px}.app-authenticated .shell{margin-left:210px}.workflow-grid{grid-template-columns:1fr}.dashboard-hero{align-items:flex-start;gap:18px;flex-direction:column}}
@media(max-width:720px){.app-sidebar{position:static;width:auto;min-height:auto}.app-topbar{position:static;height:auto;padding:12px 16px}.app-authenticated .shell{margin-left:0;padding:18px}.side-nav{display:grid;grid-template-columns:1fr 1fr}.sidebar-note{display:none}.dashboard-hero,.store-select-hero{padding:24px}.dashboard-hero h1,.store-select-hero h1{font-size:27px}.profile-menu summary>span:nth-child(2),.topbar-title{display:none}}

/* Corporate platform overhaul V20 */
:root {
    --navy-950:#061925;
    --navy-900:#082437;
    --navy-850:#0b3048;
    --blue-700:#075a84;
    --blue-600:#0877a9;
    --blue-100:#e4f2f8;
    --gold-500:#f3bd3f;
    --gold-100:#fff5d8;
    --surface:#ffffff;
    --canvas:#f3f6f8;
    --ink-950:#14212b;
    --ink-700:#344554;
    --ink-500:#667787;
    --border:#dde5ea;
    --shadow-sm:0 4px 16px rgba(11,37,54,.06);
    --shadow-md:0 16px 40px rgba(11,37,54,.10);
    --radius-sm:10px;
    --radius-md:16px;
    --radius-lg:24px;
}

html { scroll-behavior:smooth; }
body {
    background:var(--canvas);
    color:var(--ink-950);
    font-family:"Manrope","Open Sans",Arial,sans-serif;
    font-size:14px;
    line-height:1.55;
}
h1,h2,h3 { color:var(--ink-950);font-family:"Manrope",sans-serif;letter-spacing:-.025em; }
h1 { font-size:clamp(2rem,3vw,3.4rem);line-height:1.06; }
h2 { font-size:clamp(1.25rem,1.8vw,1.65rem);line-height:1.2; }
a,button,.button { transition:transform .18s ease,box-shadow .18s ease,background-color .18s ease,border-color .18s ease,color .18s ease; }
button,.button { background:var(--gold-500);border-radius:10px;color:var(--navy-950);font-weight:800;padding:12px 17px; }
button:hover,.button:hover { filter:none;transform:translateY(-1px);box-shadow:0 8px 18px rgba(11,37,54,.12); }
.button.secondary { background:var(--navy-900); }
.eyebrow { color:var(--blue-700);font-size:11px;letter-spacing:.12em;margin-bottom:7px; }
.eyebrow.light { color:var(--gold-500); }
.panel,.hero-panel,.metric-card {
    border:1px solid var(--border);
    border-radius:var(--radius-md);
    box-shadow:var(--shadow-sm);
}
.panel { margin-bottom:20px;padding:22px; }
.data-panel { padding:24px; }
.note-plain { color:var(--ink-500);margin:-6px 0 18px; }
input,select,textarea { border:1px solid #cbd6dd;border-radius:10px;min-height:46px;padding:11px 13px; }
input:focus,select:focus,textarea:focus { border-color:var(--blue-600);box-shadow:0 0 0 4px rgba(8,119,169,.12); }
label { color:var(--ink-700);font-size:12px;letter-spacing:.02em; }

/* Login */
.app-public { background:var(--navy-950); }
.app-public .shell { margin:0;max-width:none;padding:0; }
.login-experience { background:#fff;display:grid;grid-template-columns:minmax(0,1.28fr) minmax(420px,.72fr);min-height:100vh; }
.login-visual {
    align-items:flex-end;
    background-image:linear-gradient(180deg,rgba(4,19,29,.12) 15%,rgba(4,19,29,.92) 100%),url("ops-login-hero.png");
    background-position:center;
    background-size:cover;
    display:flex;
    min-height:720px;
    padding:clamp(38px,6vw,84px);
}
.login-visual-copy { color:#fff;max-width:700px; }
.login-kicker { color:var(--gold-500);display:block;font-size:12px;font-weight:800;letter-spacing:.17em;margin-bottom:18px;text-transform:uppercase; }
.login-visual h1 { color:#fff;font-size:clamp(2.7rem,5vw,5rem);margin:0 0 22px;max-width:790px; }
.login-visual-copy>p { color:rgba(255,255,255,.78);font-size:17px;margin:0;max-width:620px; }
.login-proof { border-top:1px solid rgba(255,255,255,.22);display:flex;flex-wrap:wrap;gap:18px 34px;margin-top:38px;padding-top:22px; }
.login-proof span { color:rgba(255,255,255,.76);font-size:12px; }
.login-proof b { color:#fff;display:block;font-size:13px; }
.login-form-wrap { align-self:center;margin:auto;max-width:490px;padding:52px;width:100%; }
.login-brand { gap:14px;margin:0 0 72px; }
.login-logo { align-items:center;background:var(--navy-950);border-radius:15px;display:flex;height:58px;justify-content:center;overflow:hidden;width:58px; }
.login-logo img { border:0;border-radius:0;height:58px;width:58px; }
.login-brand span:not(.login-logo) { color:var(--ink-950);font-size:17px;text-transform:none; }
.login-brand small { color:var(--ink-500);font-size:11px;text-transform:uppercase;letter-spacing:.08em; }
.login-heading>span { color:var(--blue-700);display:block;font-size:12px;font-weight:800;letter-spacing:.12em;margin-bottom:10px;text-transform:uppercase; }
.login-heading h2 { font-size:30px;margin-bottom:10px; }
.login-heading p { color:var(--ink-500);margin:0 0 30px; }
.login-form p { margin:0 0 18px; }
.login-form button { align-items:center;display:flex;justify-content:space-between;margin-top:6px;width:100%; }
.login-form button span { font-size:20px;font-weight:400; }
.login-security { color:#8a98a4;font-size:10px;letter-spacing:.03em;margin:28px 0 0;text-align:center; }

/* Application shell */
.app-authenticated { background:var(--canvas); }
.app-sidebar {
    background:linear-gradient(180deg,var(--navy-900),var(--navy-950));
    box-shadow:10px 0 36px rgba(5,20,30,.08);
    padding:24px 18px;
    width:272px;
}
.sidebar-brand { gap:13px;margin-bottom:24px;padding:0 8px; }
.sidebar-logo { align-items:center;background:#fff;border-radius:14px;display:flex;height:48px;justify-content:center;overflow:hidden;width:48px; }
.sidebar-brand img { border:0;border-radius:0;height:48px;width:48px; }
.sidebar-brand strong { font:800 17px "Montserrat",sans-serif;letter-spacing:.03em; }
.sidebar-brand em { color:#9fb8c7;font-size:10px;letter-spacing:.17em; }
.workspace-context {
    background:linear-gradient(145deg,rgba(255,255,255,.095),rgba(255,255,255,.045));
    border:1px solid rgba(255,255,255,.11);
    border-radius:15px;
    margin:0 3px 21px;
    padding:16px;
}
.workspace-context .context-label { color:#8fb0c3;display:block;font-size:9px;font-weight:800;letter-spacing:.13em;text-transform:uppercase; }
.workspace-context strong { color:#fff;display:block;font-size:13px;margin:3px 0 0; }
.workspace-context small { color:#a9c1cf;display:block;font-size:10px;margin-top:1px; }
.workspace-context a { color:var(--gold-500);display:inline-block;font-size:10px;margin-top:11px;text-transform:uppercase;letter-spacing:.06em; }
.context-divider { background:rgba(255,255,255,.1);height:1px;margin:12px 0; }
.side-nav { display:flex;gap:3px; }
.nav-heading { color:#6f91a5;font-size:9px;font-weight:800;letter-spacing:.16em;padding:5px 12px 7px;text-transform:uppercase; }
.nav-heading-spaced { margin-top:16px; }
.side-nav a { border:1px solid transparent;border-radius:10px;color:#bcd0dc;gap:12px;min-height:43px;padding:10px 11px; }
.side-nav a:hover { background:rgba(255,255,255,.06);color:#fff; }
.side-nav a.active { background:rgba(8,119,169,.24);border-color:rgba(103,190,225,.18);color:#fff;box-shadow:inset 3px 0 0 var(--gold-500); }
.side-nav b { font-size:12px;font-weight:700; }
.nav-icon { align-items:center;display:flex;height:20px;justify-content:center;width:20px; }
.nav-icon svg { fill:currentColor;height:18px;width:18px; }
.side-nav i { margin-left:auto; }
.sidebar-trust { align-items:flex-start;border-top:1px solid rgba(255,255,255,.09);display:flex;gap:11px;margin-top:auto;padding:19px 9px 3px; }
.sidebar-trust>span { align-items:center;background:rgba(243,189,63,.13);border-radius:9px;color:var(--gold-500);display:flex;height:32px;justify-content:center;width:32px; }
.sidebar-trust svg { fill:currentColor;height:17px;width:17px; }
.sidebar-trust strong { color:#eaf3f7;font-size:10px;text-transform:uppercase;letter-spacing:.07em; }
.sidebar-trust p { color:#7897a9;font-size:9px;line-height:1.45;margin:3px 0 0; }
.app-topbar { border-bottom:1px solid var(--border);height:76px;left:272px;padding:0 30px; }
.topbar-title { display:flex;flex-direction:column; }
.topbar-title span { font-size:15px; }
.topbar-title small { color:var(--ink-500);font-size:10px;margin-top:2px; }
.profile-menu summary { border-radius:11px;padding:6px 8px; }
.profile-menu summary:hover { background:#f3f6f8; }
.avatar { background:linear-gradient(145deg,var(--blue-700),var(--navy-900));height:39px;width:39px; }
.profile-copy { display:flex;flex-direction:column;min-width:120px; }
.profile-copy strong { color:var(--ink-950);font-size:12px; }
.profile-copy em { color:var(--ink-500);font-size:10px; }
.profile-chevron { color:var(--ink-500);font-size:16px; }
.profile-dropdown { border-radius:12px;box-shadow:var(--shadow-md);top:52px;width:220px; }
.profile-mini { border-bottom:1px solid var(--border);display:flex;flex-direction:column;margin-bottom:5px;padding:9px 10px 12px; }
.profile-mini strong { font-size:12px; }.profile-mini span{color:var(--ink-500);font-size:10px;}
.profile-dropdown a { color:var(--ink-700);font-size:11px; }
.app-authenticated .shell { margin-left:272px;padding:101px 30px 34px; }
.mobile-nav-toggle { display:none; }
.sidebar-scrim { display:none; }

/* Business/store selection */
.selection-hero,.business-admin-hero {
    align-items:flex-end;
    background-position:center;
    background-size:cover;
    border-radius:var(--radius-lg);
    box-shadow:var(--shadow-md);
    color:#fff;
    display:flex;
    justify-content:space-between;
    margin-bottom:22px;
    min-height:270px;
    overflow:hidden;
    padding:38px;
}
.store-selection-hero { background-image:linear-gradient(90deg,rgba(5,24,36,.94),rgba(5,24,36,.42)),url("ops-workspace-hero.png"); }
.business-selection-hero,.business-admin-hero { background-image:linear-gradient(90deg,rgba(5,24,36,.96),rgba(5,24,36,.54)),url("ops-followup-team.png"); }
.selection-hero>div,.business-admin-hero>div { max-width:720px; }
.selection-hero h1,.business-admin-hero h1 { color:#fff;font-size:clamp(2rem,4vw,3.6rem);margin-bottom:12px; }
.selection-hero p,.business-admin-hero p { color:rgba(255,255,255,.76);margin:0;max-width:630px; }
.glass-button { background:rgba(255,255,255,.13);border:1px solid rgba(255,255,255,.35);color:#fff;white-space:nowrap; }
.selection-toolbar { align-items:center;display:flex;justify-content:space-between;margin:0 4px 18px; }
.selection-toolbar>div { align-items:center;display:flex;gap:9px; }
.selection-toolbar span { align-items:center;background:var(--navy-900);border-radius:999px;color:#fff;display:flex;font-size:11px;font-weight:800;height:28px;justify-content:center;min-width:28px;padding:0 7px; }
.selection-toolbar p { color:var(--ink-500);font-size:11px;margin:0; }
.selection-grid { display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(270px,1fr)); }
.selection-card {
    align-items:center;
    background:#fff;
    border:1px solid var(--border);
    border-radius:15px;
    box-shadow:var(--shadow-sm);
    display:grid;
    gap:14px;
    grid-template-columns:52px 1fr 38px;
    min-height:112px;
    padding:17px;
    text-align:left;
}
.selection-card:hover { border-color:#a9c7d7;box-shadow:var(--shadow-md);transform:translateY(-2px); }
.selection-monogram { align-items:center;background:var(--blue-100);border-radius:13px;color:var(--blue-700);display:flex;font-family:"Montserrat",sans-serif;font-size:14px;font-weight:800;height:52px;justify-content:center;width:52px; }
.card-kicker { color:var(--blue-700);font-size:9px;font-weight:800;letter-spacing:.1em;text-transform:uppercase; }
.selection-card h2 { font-size:16px;margin:3px 0 1px; }
.selection-card p { color:var(--ink-500);font-size:10px;margin:0; }
.button-arrow { align-items:center;background:var(--canvas);border:1px solid var(--border);border-radius:50%;display:flex;font-size:18px;height:36px;justify-content:center;min-height:0;padding:0;width:36px; }
.selection-card:hover .button-arrow { background:var(--gold-500);border-color:var(--gold-500); }

/* Dashboard */
.dashboard-hero {
    align-items:flex-end;
    background-image:linear-gradient(90deg,rgba(5,24,36,.96) 0%,rgba(5,24,36,.65) 48%,rgba(5,24,36,.16) 100%),url("ops-workspace-hero.png");
    background-position:center;
    background-size:cover;
    border-radius:var(--radius-lg);
    box-shadow:var(--shadow-md);
    display:flex;
    justify-content:space-between;
    min-height:330px;
    padding:38px;
}
.dashboard-hero-content { max-width:720px; }
.dashboard-hero h1 { font-size:clamp(2.5rem,5vw,4.8rem);margin:0 0 12px; }
.dashboard-hero p { color:rgba(255,255,255,.78);font-size:15px; }
.hero-actions { align-items:center;display:flex;gap:20px;margin-top:25px; }
.primary-light { background:#fff;color:var(--navy-950); }
.text-link-light { color:#fff;font-size:11px;text-transform:uppercase;letter-spacing:.07em; }
.hero-status { backdrop-filter:blur(10px);background:rgba(5,24,36,.44);border:1px solid rgba(255,255,255,.22);border-radius:14px;color:#fff;display:flex;flex-direction:column;min-width:190px;padding:16px; }
.hero-status span { color:var(--gold-500);font-size:9px;font-weight:800;letter-spacing:.12em;text-transform:uppercase; }
.hero-status strong { font-size:16px;margin:3px 0; }.hero-status small{color:rgba(255,255,255,.66);font-size:10px;}
.workflow-heading { align-items:end;margin-top:30px; }
.workflow-heading>p { color:var(--ink-500);font-size:11px;margin:0; }
.workflow-grid-five { display:grid;gap:14px;grid-template-columns:repeat(6,1fr); }
.workflow-card {
    background:#fff;
    background-image:none;
    border:1px solid var(--border);
    border-radius:var(--radius-md);
    box-shadow:var(--shadow-sm);
    color:var(--ink-950);
    justify-content:space-between;
    min-height:230px;
    overflow:hidden;
    padding:20px;
    position:relative;
    text-align:left;
}
.workflow-card:nth-child(1),.workflow-card:nth-child(2),.workflow-card:nth-child(3) { grid-column:span 2; }
.workflow-card:nth-child(4),.workflow-card:nth-child(5) { grid-column:span 3;min-height:190px; }
.workflow-card:hover { border-color:#b8cfdb;box-shadow:var(--shadow-md);transform:translateY(-3px); }
.workflow-card h2 { color:inherit;font-size:18px;margin:5px 0 8px; }
.workflow-card p { color:var(--ink-500);font-size:11px;line-height:1.55;margin:0;max-width:310px; }
.workflow-card b { color:var(--blue-700);font-size:10px;letter-spacing:.05em;margin-top:18px;text-transform:uppercase; }
.workflow-number { color:#a8b7c1;font-family:"Montserrat",sans-serif;font-size:11px; }
.workflow-label { color:var(--blue-700);font-size:9px;font-weight:800;letter-spacing:.13em;text-transform:uppercase; }
.workflow-card-featured { background:linear-gradient(145deg,var(--blue-700),var(--navy-900));border-color:transparent;color:#fff; }
.workflow-card-featured .workflow-number,.workflow-card-featured p { color:rgba(255,255,255,.68); }
.workflow-card-featured .workflow-label,.workflow-card-featured b { color:var(--gold-500); }
.workflow-card-featured h2 { color:#fff; }
.workflow-card-photo { background-image:linear-gradient(180deg,rgba(5,24,36,.22),rgba(5,24,36,.94)),url("ops-followup-team.png");background-position:center;background-size:cover;border-color:transparent;color:#fff; }
.workflow-card-photo .workflow-number,.workflow-card-photo p { color:rgba(255,255,255,.72); }
.workflow-card-photo .workflow-label,.workflow-card-photo b { color:var(--gold-500); }
.workflow-card-photo h2 { color:#fff; }
.workflow-card-print { border:1px solid var(--border);color:var(--ink-950);font:inherit;min-height:190px;width:100%; }
.workflow-card-print:hover { filter:none; }
.metric-grid { gap:14px;margin-top:20px; }
.metric-card { border:1px solid var(--border);border-top:1px solid var(--border);padding:19px;position:relative; }
.metric-card::before { background:var(--gold-500);border-radius:99px;content:"";height:4px;position:absolute;right:18px;top:18px;width:24px; }
.metric-card strong { font-size:28px; }

/* Section and audit launch presentation */
.hero-panel {
    background:linear-gradient(135deg,#fff 0%,#f8fbfc 100%);
    border:1px solid var(--border);
    border-left:1px solid var(--border);
    border-radius:var(--radius-md);
    padding:25px;
}
.hero-panel h1 { font-size:30px;margin-bottom:8px; }
.audit-launch { background:#fff;border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);display:grid;grid-template-columns:minmax(340px,.85fr) minmax(420px,1.15fr);min-height:610px;overflow:hidden; }
.audit-launch-visual { align-items:flex-end;background-image:linear-gradient(180deg,rgba(5,24,36,.15),rgba(5,24,36,.92)),url("ops-followup-team.png");background-position:center;background-size:cover;color:#fff;display:flex;padding:38px; }
.audit-launch-visual h1 { color:#fff;font-size:clamp(2.4rem,4vw,4.4rem);margin-bottom:17px; }
.audit-launch-visual p { color:rgba(255,255,255,.76);margin:0; }
.audit-launch-form { align-items:center;display:flex;padding:clamp(34px,6vw,74px); }
.audit-launch-form form { max-width:570px;width:100%; }
.audit-launch-form h2 { font-size:34px;margin:0 0 2px; }
.audit-launch-brand { color:var(--blue-700);font-size:12px;font-weight:800;margin:0 0 28px;text-transform:uppercase;letter-spacing:.07em; }
.launch-facts { border-bottom:1px solid var(--border);border-top:1px solid var(--border);display:grid;gap:15px;margin:0 0 23px;padding:22px 0; }
.launch-facts div { display:flex;justify-content:space-between;gap:18px; }
.launch-facts span { color:var(--ink-500);font-size:11px; }.launch-facts strong{font-size:12px;text-align:right;}
.launch-note { background:var(--blue-100);border-radius:10px;color:var(--ink-700);font-size:11px;margin-bottom:20px;padding:13px; }
.audit-launch-form button { align-items:center;display:flex;justify-content:space-between;width:100%; }
.launch-cancel { color:var(--ink-500);display:block;font-size:10px;margin-top:15px;text-align:center;text-transform:uppercase;letter-spacing:.06em; }

/* Administration */
.business-admin-hero { min-height:250px; }
.business-metrics { margin-top:0; }
.admin-create-grid { display:grid;gap:14px;grid-template-columns:repeat(3,1fr); }
.admin-create-grid .panel { display:flex;flex-direction:column; }
.admin-create-grid button { margin-top:auto;width:100%; }
code { background:#eaf1f5;border-radius:6px;color:var(--navy-900);padding:3px 6px; }

/* Compact CIR-style sign-in continuation */
.page-store-select {
    background:
        linear-gradient(135deg,rgba(8,17,21,.72),rgba(43,34,24,.46)),
        url("ops-workspace-hero.png") center/cover fixed;
    min-height:100vh;
}
.page-store-select .app-sidebar,.page-store-select .app-topbar,.page-store-select .mobile-nav-toggle,.page-store-select .sidebar-scrim { display:none!important; }
.page-store-select .shell { align-items:center;display:flex;justify-content:center;margin:0!important;max-width:none;min-height:100vh;padding:24px!important; }
.store-picker-experience { border-radius:16px;box-shadow:0 28px 75px rgba(1,14,24,.42);max-width:470px;overflow:hidden;width:100%; }
.store-picker-brand { align-items:center;background:linear-gradient(135deg,var(--navy-900),var(--blue-700));border-bottom:4px solid var(--gold-500);color:#fff;display:flex;gap:15px;padding:22px 26px; }
.store-picker-brand img { background:#fff;border:3px solid rgba(255,255,255,.8);border-radius:13px;height:62px;object-fit:cover;width:62px; }
.store-picker-brand div { display:flex;flex-direction:column;min-width:0; }
.store-picker-brand strong { font:800 18px "Montserrat",sans-serif; }
.store-picker-brand span { color:#c7deea;font-size:10px;margin-top:4px;text-transform:uppercase;letter-spacing:.08em; }
.store-picker-panel { background:#fff;padding:30px; }
.store-picker-panel h2 { font-size:25px;margin:0 0 18px; }
.store-picker-user { align-items:center;background:#edf4f7;border-radius:9px;color:var(--ink-500);display:flex;font-size:10px;gap:7px;margin-bottom:20px;padding:10px 12px; }
.store-picker-user strong { color:var(--navy-900);font-size:11px; }
.store-picker-user a { color:var(--blue-700);font-weight:800;margin-left:auto; }
.store-picker-form { display:grid;gap:9px; }
.store-picker-form label { color:var(--ink-700);font-size:11px;font-weight:800;margin-top:8px;text-transform:uppercase;letter-spacing:.05em; }
.store-search-wrap { position:relative; }
.store-search-wrap span { color:var(--blue-700);font-size:24px;left:16px;position:absolute;top:10px; }
.store-search-wrap input { padding-left:48px;width:100%; }
.store-picker-form select { min-height:52px;width:100%; }
.store-picker-form small { color:#a43c31;font-size:10px;min-height:14px; }
.store-picker-form button { align-items:center;display:flex;justify-content:space-between;width:100%; }

/* Store record snapshot */
.overview-heading { margin-top:30px; }
.store-overview-grid { display:grid;gap:13px;grid-template-columns:repeat(3,1fr);margin-bottom:22px; }
.overview-stat { background:#fff;border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);color:inherit;display:flex;flex-direction:column;min-height:150px;padding:22px;text-decoration:none;transition:transform .18s ease,box-shadow .18s ease; }
a.overview-stat:hover { box-shadow:var(--shadow-md);transform:translateY(-2px); }
.overview-stat span { color:var(--ink-500);font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.07em; }
.overview-stat strong { color:var(--navy-900);font-size:38px;line-height:1;margin:18px 0 12px; }
.overview-stat small { color:var(--ink-500);font-size:10px;line-height:1.45;margin-top:auto; }
.score-stat { background:linear-gradient(135deg,var(--navy-900),var(--blue-700));border-color:transparent; }
.score-stat span,.score-stat small { color:rgba(255,255,255,.72); }
.score-stat strong { color:#fff; }
.attention-stat { border-top:3px solid var(--gold-500); }
.critical-stat { background:#fff8f7;border-color:#f0c8c3;border-top:3px solid #b94134; }
.critical-stat strong { color:#9e3026; }

@media (max-width:1180px) {
    .login-experience { grid-template-columns:1fr 430px; }
    .login-form-wrap { padding:40px; }
    .workflow-grid-five { grid-template-columns:repeat(2,1fr); }
    .workflow-card:nth-child(n) { grid-column:span 1; }
    .workflow-card:nth-child(5) { grid-column:span 2; }
    .admin-create-grid { grid-template-columns:1fr 1fr; }
}

@media (max-width:900px) {
    .app-sidebar { inset:0 auto 0 0;position:fixed;transform:translateX(-100%);transition:transform .22s ease;width:272px; }
    .app-topbar { height:76px;left:0;padding-left:72px;position:fixed; }
    .app-authenticated .shell { margin-left:0; }
    .mobile-nav-toggle {
        align-items:center;background:var(--navy-900);border-radius:10px;color:#fff;display:flex;height:42px;justify-content:center;left:16px;min-height:0;padding:0;position:fixed;top:17px;width:42px;z-index:45;
    }
    .mobile-nav-toggle svg { fill:currentColor;height:21px;width:21px; }
    .sidebar-scrim { background:rgba(3,15,23,.55);inset:0;opacity:0;position:fixed;transition:opacity .22s ease;visibility:hidden;z-index:29; }
    .nav-open .app-sidebar { transform:translateX(0); }
    .nav-open .sidebar-scrim { display:block;opacity:1;visibility:visible; }
    .login-experience { grid-template-columns:1fr; }
    .login-visual { min-height:50vh; }
    .login-form-wrap { max-width:640px;padding:54px 36px; }
    .login-brand { margin-bottom:46px; }
    .admin-create-grid { grid-template-columns:1fr; }
    .audit-launch { grid-template-columns:1fr; }
    .audit-launch-visual { min-height:420px; }
    .store-overview-grid { grid-template-columns:repeat(2,1fr); }
}

@media (max-width:680px) {
    .app-authenticated .shell { padding:92px 14px 24px; }
    .app-topbar { height:70px;padding-right:11px; }
    .profile-copy,.topbar-title { display:none; }
    .login-visual { min-height:420px;padding:30px 24px; }
    .login-visual h1 { font-size:2.45rem; }
    .login-proof { gap:13px 24px;margin-top:26px; }
    .login-form-wrap { padding:40px 24px; }
    .selection-hero,.business-admin-hero,.dashboard-hero { align-items:flex-start;flex-direction:column;min-height:300px;padding:26px; }
    .selection-hero h1,.business-admin-hero h1 { font-size:2.25rem; }
    .selection-toolbar { align-items:flex-start;gap:8px;flex-direction:column; }
    .selection-grid { grid-template-columns:1fr; }
    .workflow-grid-five { grid-template-columns:1fr; }
    .workflow-card:nth-child(n) { grid-column:span 1; }
    .workflow-card { min-height:190px; }
    .hero-status { min-width:0;width:100%; }
    .hero-actions { align-items:flex-start;flex-direction:column;gap:12px; }
    .page-store-select .shell { padding:13px!important; }
    .store-picker-panel { padding:26px 21px; }
    .store-picker-brand { padding:19px 21px; }
    .store-overview-grid { grid-template-columns:1fr; }
}

@media print {
    .app-sidebar,.app-topbar,.mobile-nav-toggle,.sidebar-scrim,.workflow-grid,.hero-actions { display:none !important; }
    .app-authenticated .shell { margin:0;padding:0; }
    .dashboard-hero { background:#fff!important;border:1px solid #ccc;color:#111;min-height:0;padding:20px; }
    .dashboard-hero h1,.dashboard-hero p,.dashboard-hero .eyebrow { color:#111; }
}
