:root {
    --ink: #171714;
    --ink-soft: #302f2a;
    --cream: #f6f2ea;
    --paper: #fffdf9;
    --line: #ded8cb;
    --muted: #716f68;
    --gold: #a88b58;
    --gold-soft: #d8c7a7;
    --danger: #8b2e2e;
    --danger-bg: #fff0f0;
    --shadow: 0 18px 45px rgba(26, 24, 20, .08);
}

* { box-sizing: border-box; }
html { min-height: 100%; }
body {
    margin: 0;
    min-height: 100vh;
    font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    color: var(--ink);
    background: var(--cream);
    -webkit-font-smoothing: antialiased;
}
a { color: inherit; }
button, input { font: inherit; }

.eyebrow {
    margin: 0 0 14px;
    font-size: 11px;
    line-height: 1;
    font-weight: 800;
    letter-spacing: .24em;
}
.eyebrow.dark { color: var(--gold); }
.muted { color: var(--muted); }
.small { font-size: 13px; }

/* Login */
.login-shell {
    min-height: 100vh;
    display: grid;
    grid-template-columns: minmax(320px, .9fr) minmax(420px, 1.1fr);
}
.brand-panel {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    padding: clamp(42px, 7vw, 92px);
    color: #fff;
    background:
        radial-gradient(circle at 15% 15%, rgba(255,255,255,.08), transparent 33%),
        linear-gradient(145deg, #171714, #2d2b26);
}
.brand-mark {
    display: inline-block;
    padding-bottom: 7px;
    border-bottom: 1px solid rgba(255,255,255,.35);
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(38px, 5vw, 72px);
    letter-spacing: .16em;
}
.brand-panel h1 {
    max-width: 650px;
    margin: 70px 0 20px;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(42px, 6vw, 82px);
    line-height: .98;
    font-weight: 400;
    letter-spacing: -.035em;
}
.brand-copy {
    max-width: 500px;
    color: rgba(255,255,255,.72);
    font-size: 17px;
    line-height: 1.65;
}
.brand-footer {
    margin: 80px 0 0;
    color: rgba(255,255,255,.48);
    font-size: 12px;
    letter-spacing: .14em;
    text-transform: uppercase;
}
.login-panel {
    display: grid;
    place-items: center;
    padding: 42px;
    background: var(--paper);
}
.login-card { width: min(100%, 430px); }
.login-card h2 {
    margin: 0;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(38px, 4vw, 52px);
    font-weight: 400;
    letter-spacing: -.03em;
}
.login-card > .muted { margin: 12px 0 34px; line-height: 1.6; }
.login-form { display: grid; gap: 10px; }
.login-form label {
    margin-top: 9px;
    font-size: 13px;
    font-weight: 700;
}
.login-form input {
    width: 100%;
    height: 50px;
    padding: 0 14px;
    border: 1px solid var(--line);
    border-radius: 9px;
    color: var(--ink);
    background: #fff;
    outline: none;
    transition: border-color .15s, box-shadow .15s;
}
.login-form input:focus {
    border-color: var(--gold);
    box-shadow: 0 0 0 3px rgba(168,139,88,.14);
}
.security-note {
    margin: 24px 0 0;
    color: var(--muted);
    font-size: 12px;
    line-height: 1.5;
}
.alert {
    margin: 0 0 18px;
    padding: 12px 14px;
    border-radius: 8px;
    font-size: 13px;
    line-height: 1.45;
}
.alert-error {
    color: var(--danger);
    border: 1px solid #efc8c8;
    background: var(--danger-bg);
}

/* Buttons */
.btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    padding: 0 18px;
    border: 1px solid transparent;
    border-radius: 8px;
    text-decoration: none;
    font-weight: 750;
    cursor: pointer;
    transition: transform .15s, background .15s, border-color .15s;
}
.btn:hover { transform: translateY(-1px); }
.btn-primary { color: #fff; background: var(--ink); }
.btn-primary:hover { background: #282720; }
.btn-secondary { color: var(--ink); border-color: var(--line); background: transparent; }
.btn-secondary:hover { border-color: #bbb3a4; background: #fff; }
.btn-full { width: 100%; margin-top: 16px; }
.btn-small { min-height: 38px; padding: 0 14px; font-size: 13px; }

/* Dashboard */
.dashboard-page { background: #f4f1ea; }
.topbar {
    position: sticky;
    top: 0;
    z-index: 5;
    display: flex;
    align-items: center;
    justify-content: space-between;
    min-height: 74px;
    padding: 0 max(24px, calc((100vw - 1180px) / 2));
    border-bottom: 1px solid var(--line);
    background: rgba(255,253,249,.93);
    backdrop-filter: blur(12px);
}
.wordmark {
    display: inline-flex;
    align-items: baseline;
    gap: 10px;
    text-decoration: none;
}
.wordmark span {
    font-family: Georgia, "Times New Roman", serif;
    font-size: 27px;
    letter-spacing: .12em;
}
.wordmark small {
    color: var(--gold);
    font-size: 9px;
    font-weight: 900;
    letter-spacing: .24em;
}
.topbar-actions { display: flex; align-items: center; gap: 16px; }
.user-meta { display: grid; text-align: right; line-height: 1.25; }
.user-meta strong { font-size: 13px; }
.user-meta span { color: var(--muted); font-size: 11px; }
.dashboard-wrap {
    width: min(1180px, calc(100% - 48px));
    margin: 0 auto;
    padding: 64px 0 42px;
}
.welcome-row {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 24px;
    margin-bottom: 34px;
}
.welcome-row h1 {
    margin: 0;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(40px, 5vw, 62px);
    font-weight: 400;
    letter-spacing: -.035em;
}
.welcome-row .muted { margin: 10px 0 0; }
.access-pill {
    flex: 0 0 auto;
    padding: 9px 12px;
    border: 1px solid var(--line);
    border-radius: 999px;
    color: var(--muted);
    background: rgba(255,255,255,.55);
    font-size: 12px;
    font-weight: 700;
}
.app-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
}
.app-card {
    min-height: 280px;
    display: flex;
    flex-direction: column;
    padding: 24px;
    border: 1px solid var(--line);
    border-radius: 16px;
    background: var(--paper);
    box-shadow: 0 1px 0 rgba(255,255,255,.9) inset;
    transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.app-card:hover {
    transform: translateY(-3px);
    border-color: #c7bdab;
    box-shadow: var(--shadow);
}
.app-card-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}
.app-badge {
    width: 48px;
    height: 48px;
    display: grid;
    place-items: center;
    border-radius: 12px;
    color: #fff;
    background: var(--ink);
    font-family: Georgia, "Times New Roman", serif;
    font-size: 15px;
    letter-spacing: .08em;
}
.role-chip {
    padding: 6px 8px;
    border-radius: 999px;
    color: #735f39;
    background: #f2eadb;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}
.app-card-body { flex: 1; padding: 38px 0 28px; }
.app-card h2 {
    margin: 0 0 9px;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 29px;
    font-weight: 400;
    letter-spacing: -.02em;
}
.app-card p {
    margin: 0;
    color: var(--muted);
    font-size: 14px;
    line-height: 1.6;
}
.app-launch-form { margin: 0; }
.app-link {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 15px 0 0;
    border: 0;
    border-top: 1px solid var(--line);
    color: var(--ink);
    background: transparent;
    font-weight: 800;
    text-align: left;
    cursor: pointer;
}
.app-link span { font-size: 20px; transition: transform .15s; }
.app-card:hover .app-link span { transform: translateX(4px); }
.empty-state {
    padding: 70px 28px;
    border: 1px dashed #c7bdab;
    border-radius: 16px;
    text-align: center;
    background: rgba(255,255,255,.5);
}
.empty-icon { color: var(--gold); font-size: 34px; }
.empty-state h2 {
    margin: 12px 0 8px;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 30px;
    font-weight: 400;
}
.empty-state p { margin: 5px auto; max-width: 520px; }
.dashboard-footnote {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-top: 30px;
    color: var(--muted);
    font-size: 12px;
}
.status-dot {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: #63835d;
}

@media (max-width: 900px) {
    .login-shell { grid-template-columns: 1fr; }
    .brand-panel { min-height: 310px; padding: 44px 32px; }
    .brand-panel h1 { margin: 35px 0 14px; font-size: 49px; }
    .brand-footer { display: none; }
    .login-panel { padding: 46px 24px 58px; }
    .app-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 620px) {
    .brand-panel { min-height: 270px; }
    .brand-panel h1 { font-size: 42px; }
    .brand-copy { font-size: 14px; }
    .topbar { min-height: 68px; padding: 0 18px; }
    .wordmark small, .user-meta { display: none; }
    .dashboard-wrap { width: min(100% - 28px, 1180px); padding-top: 42px; }
    .welcome-row { align-items: flex-start; flex-direction: column; }
    .welcome-row h1 { font-size: 42px; }
    .app-grid { grid-template-columns: 1fr; }
    .app-card { min-height: 245px; }
}


/* Phase 8 - central administration */
.alert-success {
    color: #355b32;
    border: 1px solid #bfd3bb;
    background: #f1f8ef;
}
.admin-wrap { max-width: 1180px; }
.admin-heading { align-items: center; }
.admin-card {
    border: 1px solid var(--line);
    border-radius: 16px;
    background: var(--paper);
    box-shadow: 0 1px 0 rgba(255,255,255,.9) inset;
}
.table-scroll { overflow-x: auto; }
.admin-table {
    width: 100%;
    border-collapse: collapse;
    min-width: 720px;
}
.admin-table th,
.admin-table td {
    padding: 16px 18px;
    border-bottom: 1px solid var(--line);
    text-align: left;
    vertical-align: middle;
}
.admin-table th {
    color: var(--muted);
    font-size: 11px;
    letter-spacing: .08em;
    text-transform: uppercase;
}
.admin-table tbody tr:last-child td { border-bottom: 0; }
.table-sub {
    display: block;
    margin-top: 4px;
    color: var(--muted);
    font-size: 12px;
}
.table-action { text-align: right !important; }
.table-action a {
    font-weight: 800;
    text-decoration: none;
}
.status-chip,
.link-state {
    display: inline-flex;
    align-items: center;
    width: fit-content;
    margin-top: 5px;
    padding: 5px 8px;
    border-radius: 999px;
    font-size: 10px;
    font-weight: 800;
}
.status-active,
.linked {
    color: #355b32;
    background: #edf5ea;
}
.status-inactive,
.unlinked {
    color: #8b5a2b;
    background: #fbf0df;
}
.admin-form { display: grid; gap: 18px; }
.form-section { padding: 26px; }
.section-heading {
    display: flex;
    justify-content: space-between;
    gap: 20px;
    margin-bottom: 24px;
}
.section-heading h2 {
    margin: 0 0 6px;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 29px;
    font-weight: 400;
}
.section-heading p {
    margin: 0;
    color: var(--muted);
    font-size: 13px;
}
.form-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
}
.form-grid label {
    display: grid;
    gap: 8px;
}
.form-grid label > span {
    font-size: 12px;
    font-weight: 800;
}
.form-grid input,
.form-grid select {
    width: 100%;
    min-height: 46px;
    padding: 0 12px;
    border: 1px solid var(--line);
    border-radius: 8px;
    background: #fff;
}
.form-grid small,
.form-note {
    color: var(--muted);
    font-size: 11px;
    line-height: 1.5;
}
.form-span-2 { grid-column: 1 / -1; }
.permission-list {
    display: grid;
    gap: 10px;
}
.permission-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    padding: 15px 16px;
    border: 1px solid var(--line);
    border-radius: 10px;
    background: #fff;
}
.permission-row > div { display: grid; }
.permission-row input[type="checkbox"] {
    width: 22px;
    height: 22px;
}
.form-note { margin: 16px 2px 0; }
.form-actions {
    display: flex;
    justify-content: flex-end;
    gap: 10px;
    padding-bottom: 30px;
}
@media (max-width: 620px) {
    .topbar-actions .btn-small:first-child { display: none; }
    .admin-heading { align-items: stretch; }
    .admin-heading .btn { width: 100%; }
    .form-grid { grid-template-columns: 1fr; }
    .form-span-2 { grid-column: auto; }
    .form-section { padding: 20px; }
}

/* Phase 9 - provisioning feedback */
.provision-summary {
    display: grid;
    gap: 8px;
    margin-bottom: 18px;
}
.provision-result {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 12px 14px;
    border: 1px solid var(--line);
    border-radius: 10px;
    background: var(--paper);
    font-size: 12px;
}
.provision-result strong {
    min-width: 90px;
}
.provision-result span {
    color: var(--muted);
}
.provision-ok {
    border-color: #bfd3bb;
    background: #f1f8ef;
}
.provision-error {
    border-color: #e7c1bc;
    background: #fff3f1;
}
.provision-ready {
    color: #665937;
    background: #f5f0df;
}


/* ===== Phase 10: Employee Management & Deprovisioning ===== */
.phase10-toolbar {
    margin-bottom: 18px;
}
.employee-filter-form {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
    align-items: center;
}
.employee-filter-form input,
.employee-filter-form select {
    min-height: 42px;
    border: 1px solid rgba(20,20,20,.18);
    border-radius: 10px;
    background: #fff;
    padding: 9px 12px;
    font: inherit;
}
.employee-filter-form input {
    min-width: min(320px, 100%);
    flex: 1 1 260px;
}
.employee-filter-form select {
    min-width: 150px;
}
.phase10-actions {
    min-width: 165px;
}
.inline-status-form {
    display: inline;
    margin-left: 10px;
}
.text-action {
    appearance: none;
    border: 0;
    background: transparent;
    padding: 0;
    font: inherit;
    text-decoration: underline;
    cursor: pointer;
}
.danger-action {
    color: #8c2f2f;
}
.phase10-note {
    margin-top: 18px;
    padding: 18px 20px;
}
.phase10-note strong {
    display: block;
    margin-bottom: 6px;
}
.phase10-note p {
    margin: 0;
    line-height: 1.6;
}
@media (max-width: 720px) {
    .employee-filter-form .btn {
        flex: 1 1 auto;
    }
    .phase10-actions {
        min-width: 130px;
    }
    .inline-status-form {
        display: block;
        margin: 7px 0 0;
    }
}


/* ===== Phase 18: Square Integration + Business Overview ===== */
.business-overview {
    margin: 0 0 34px;
}
.overview-heading {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    gap: 20px;
    margin-bottom: 16px;
}
.overview-heading h2 {
    margin: 0;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 31px;
    font-weight: 400;
}
.overview-heading p:not(.eyebrow) {
    margin: 7px 0 0;
    color: var(--muted);
    font-size: 13px;
}
.overview-config {
    color: var(--muted);
    font-size: 12px;
    font-weight: 750;
    text-decoration: none;
}
.overview-config:hover { color: var(--ink); }

.square-empty,
.integration-card,
.today-schedule,
.overview-stat {
    border: 1px solid var(--line);
    background: var(--paper);
    box-shadow: 0 10px 28px rgba(26,24,20,.045);
}
.square-empty {
    display: flex;
    align-items: center;
    gap: 18px;
    padding: 22px;
    border-radius: 14px;
}
.square-empty > div:nth-child(2) { flex: 1; }
.square-empty strong { font-size: 14px; }
.square-empty p { margin: 4px 0 0; color: var(--muted); font-size: 12px; line-height: 1.5; }

.overview-stat-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 12px;
}
.overview-stat {
    display: grid;
    min-height: 145px;
    padding: 20px;
    border-radius: 14px;
}
.overview-stat > span {
    color: var(--muted);
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .07em;
    text-transform: uppercase;
}
.overview-stat > strong {
    align-self: center;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 30px;
    font-weight: 400;
    letter-spacing: -.025em;
}
.overview-stat > small {
    align-self: end;
    color: var(--muted);
    font-size: 10px;
}
.overview-warning {
    display: grid;
    gap: 5px;
    margin-top: 12px;
    padding: 11px 13px;
    color: #7c5528;
    border: 1px solid #ead2ac;
    border-radius: 9px;
    background: #fff8eb;
    font-size: 11px;
}

.today-schedule {
    margin-top: 12px;
    padding: 22px;
    border-radius: 14px;
}
.today-schedule-head {
    display: flex;
    justify-content: space-between;
    gap: 20px;
    align-items: center;
    margin-bottom: 15px;
}
.today-schedule-head .eyebrow { margin-bottom: 8px; }
.today-schedule h3 {
    margin: 0;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 23px;
    font-weight: 400;
}
.square-mini-totals span {
    color: var(--muted);
    font-size: 11px;
}
.square-mini-totals strong {
    margin-left: 4px;
    color: var(--ink);
}
.schedule-list { display: grid; }
.schedule-row {
    display: grid;
    grid-template-columns: 85px minmax(0,1fr) auto;
    gap: 16px;
    align-items: center;
    padding: 13px 0;
    border-top: 1px solid #ece7dd;
}
.schedule-row time {
    font-size: 12px;
    font-weight: 800;
}
.schedule-row > div {
    min-width: 0;
    display: grid;
    gap: 3px;
}
.schedule-row > div strong {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: 13px;
}
.schedule-row > div span {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    color: var(--muted);
    font-size: 11px;
}
.schedule-status {
    padding: 5px 8px;
    border-radius: 999px;
    background: #f2eee5;
    color: #686259;
    font-size: 9px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .05em;
}
.schedule-empty,
.schedule-more {
    padding: 18px 0 4px;
    color: var(--muted);
    font-size: 12px;
}

/* Integrations admin */
.integration-card {
    overflow: hidden;
    border-radius: 15px;
}
.integration-card-head {
    display: flex;
    align-items: center;
    gap: 17px;
    padding: 23px 24px;
    border-bottom: 1px solid var(--line);
}
.integration-brand {
    display: grid;
    place-items: center;
    width: 48px;
    height: 48px;
    border-radius: 12px;
    color: #fff;
    background: #171714;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 18px;
}
.integration-heading { flex: 1; }
.integration-title-row {
    display: flex;
    gap: 10px;
    align-items: center;
}
.integration-title-row h2 {
    margin: 0;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 26px;
    font-weight: 400;
}
.integration-heading p {
    margin: 5px 0 0;
    color: var(--muted);
    font-size: 12px;
}
.integration-status {
    display: inline-flex;
    align-items: center;
    min-height: 24px;
    padding: 0 8px;
    border-radius: 999px;
    color: #6e685e;
    background: #eee9df;
    font-size: 9px;
    font-weight: 850;
    letter-spacing: .06em;
    text-transform: uppercase;
}
.status-connected { color: #386244; background: #e9f4eb; }
.status-warning { color: #865c27; background: #fff2dc; }

.integration-form { padding: 24px; }
.integration-switch-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    padding: 15px 16px;
    margin-bottom: 20px;
    border: 1px solid var(--line);
    border-radius: 11px;
    background: #faf8f3;
}
.integration-switch-row strong {
    display: block;
    font-size: 13px;
}
.integration-switch-row span:not(.switch-slider) {
    display: block;
    margin-top: 4px;
    color: var(--muted);
    font-size: 11px;
}
.switch {
    position: relative;
    width: 46px;
    height: 26px;
    flex: 0 0 auto;
}
.switch input { opacity: 0; width: 0; height: 0; }
.switch-slider {
    position: absolute;
    inset: 0;
    border-radius: 999px;
    background: #cbc6bb;
    cursor: pointer;
    transition: .2s;
}
.switch-slider:before {
    content: "";
    position: absolute;
    width: 20px;
    height: 20px;
    left: 3px;
    top: 3px;
    border-radius: 50%;
    background: #fff;
    transition: .2s;
    box-shadow: 0 2px 6px rgba(0,0,0,.18);
}
.switch input:checked + .switch-slider { background: var(--ink); }
.switch input:checked + .switch-slider:before { transform: translateX(20px); }

.integration-grid { margin-bottom: 20px; }
.integration-form select,
.integration-form input[type="password"],
.integration-form input[type="text"] {
    width: 100%;
    min-height: 47px;
    border: 1px solid var(--line);
    border-radius: 9px;
    padding: 9px 12px;
    color: var(--ink);
    background: #fff;
    outline: none;
}
.integration-form select:focus,
.integration-form input:focus {
    border-color: var(--gold);
    box-shadow: 0 0 0 3px rgba(168,139,88,.13);
}
.integration-form .form-field small {
    display: block;
    margin-top: 6px;
    color: var(--muted);
    font-size: 10px;
    line-height: 1.5;
}
.integration-meta {
    display: grid;
    grid-template-columns: repeat(3,1fr);
    gap: 10px;
    margin: 4px 0 20px;
}
.integration-meta span {
    padding: 12px;
    border-radius: 9px;
    background: #f6f2ea;
}
.integration-meta small,
.integration-meta strong {
    display: block;
}
.integration-meta small {
    margin-bottom: 4px;
    color: var(--muted);
    font-size: 9px;
    text-transform: uppercase;
    letter-spacing: .07em;
}
.integration-meta strong {
    overflow-wrap: anywhere;
    font-size: 11px;
}
.scope-card {
    display: grid;
    grid-template-columns: 220px 1fr;
    gap: 25px;
    margin-top: 8px;
    padding: 18px;
    border: 1px solid var(--line);
    border-radius: 11px;
    background: #fbf9f5;
}
.scope-card .eyebrow { margin-bottom: 8px; }
.scope-card h3 { margin: 0; font-size: 14px; }
.scope-card p:not(.eyebrow) { margin: 5px 0 0; color: var(--muted); font-size: 10px; line-height: 1.5; }
.scope-grid {
    display: grid;
    grid-template-columns: repeat(2,1fr);
    gap: 7px;
}
.scope-grid > span {
    display: flex;
    align-items: center;
    gap: 9px;
    padding: 9px;
    border-radius: 8px;
    background: #f1eee7;
}
.scope-grid > span.scope-ok { background: #edf5ed; }
.scope-grid b { color: var(--muted); font-size: 11px; }
.scope-ok b { color: #3e6f4a; }
.scope-grid span span { min-width: 0; }
.scope-grid strong,
.scope-grid small { display: block; }
.scope-grid strong {
    font-size: 9px;
    letter-spacing: .02em;
}
.scope-grid small {
    margin-top: 2px;
    color: var(--muted);
    font-size: 8px;
}
.integration-actions { margin: 22px 0 0; padding-bottom: 0; }

.alert-success {
    color: #315d3d;
    border: 1px solid #bed3c2;
    background: #eef7ef;
}
code {
    padding: 2px 5px;
    border-radius: 4px;
    background: #ece8df;
    font-size: .92em;
}

@media (max-width: 850px) {
    .overview-stat-grid { grid-template-columns: repeat(2, 1fr); }
    .scope-card { grid-template-columns: 1fr; }
}
@media (max-width: 620px) {
    .overview-heading { align-items: flex-start; }
    .overview-config { display: none; }
    .overview-stat-grid { grid-template-columns: 1fr 1fr; gap: 9px; }
    .overview-stat { min-height: 125px; padding: 15px; }
    .overview-stat > strong { font-size: 24px; }
    .today-schedule { padding: 17px; }
    .schedule-row { grid-template-columns: 70px minmax(0,1fr); gap: 11px; }
    .schedule-status { display: none; }
    .square-empty { align-items: flex-start; flex-wrap: wrap; }
    .square-empty .btn { width: 100%; }
    .integration-card-head { align-items: flex-start; padding: 19px; }
    .integration-form { padding: 19px; }
    .integration-grid,
    .integration-meta,
    .scope-grid { grid-template-columns: 1fr; }
    .integration-actions { flex-direction: column-reverse; }
    .integration-actions .btn { width: 100%; }
}


/* ===== Phase 19: Central Employee Hub ===== */
.employee-stats {
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:12px;
    margin:0 0 18px;
}
.employee-stats article {
    padding:18px 20px;
    border:1px solid var(--line);
    border-radius:13px;
    background:var(--paper);
    box-shadow:0 10px 28px rgba(26,24,20,.04);
}
.employee-stats span {
    display:block;
    color:var(--muted);
    font-size:10px;
    font-weight:800;
    letter-spacing:.07em;
    text-transform:uppercase;
}
.employee-stats strong {
    display:block;
    margin-top:10px;
    font-family:Georgia,"Times New Roman",serif;
    font-size:29px;
    font-weight:400;
}
.phase19-toolbar { margin-bottom:18px; }
.phase19-toolbar .employee-filter-form {
    display:grid;
    grid-template-columns:minmax(220px,1fr) 150px 150px auto auto;
    gap:9px;
    align-items:center;
}
.employee-grid {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:14px;
}
.employee-card {
    padding:20px;
    border:1px solid var(--line);
    border-radius:14px;
    background:var(--paper);
    box-shadow:0 10px 30px rgba(26,24,20,.045);
}
.employee-card-top {
    display:grid;
    grid-template-columns:48px minmax(0,1fr) auto;
    align-items:center;
    gap:12px;
}
.employee-avatar {
    display:grid;
    place-items:center;
    width:48px;
    height:48px;
    border-radius:50%;
    background:#1c1c19;
    color:#fff;
    font-family:Georgia,"Times New Roman",serif;
    font-size:14px;
}
.employee-card-title { min-width:0; }
.employee-card-title h2 {
    margin:0;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
    font-family:Georgia,"Times New Roman",serif;
    font-size:21px;
    font-weight:400;
}
.employee-card-title p {
    margin:3px 0 0;
    color:var(--muted);
    font-size:11px;
}
.employee-card-meta {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:8px;
    margin:17px 0 12px;
}
.employee-card-meta span {
    padding:10px;
    border-radius:9px;
    background:#f6f3ec;
}
.employee-card-meta small,
.employee-card-meta strong { display:block; }
.employee-card-meta small {
    margin-bottom:4px;
    color:var(--muted);
    font-size:8px;
    letter-spacing:.06em;
    text-transform:uppercase;
}
.employee-card-meta strong {
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
    font-size:10px;
}
.employee-workspaces {
    min-height:34px;
    margin:0 0 14px;
    color:var(--muted);
    font-size:10px;
    line-height:1.5;
}
.employee-card-actions {
    display:flex;
    gap:8px;
}
.employee-empty {
    text-align:center;
    padding:36px;
}
.employee-empty p { color:var(--muted); }

.employee-profile-hero {
    display:flex;
    justify-content:space-between;
    align-items:flex-end;
    gap:20px;
    margin-bottom:20px;
}
.employee-profile-hero h1 {
    margin:4px 0 3px;
    font-family:Georgia,"Times New Roman",serif;
    font-size:34px;
    font-weight:400;
}
.employee-profile-hero p:not(.eyebrow) {
    margin:0;
    color:var(--muted);
    font-size:12px;
}
.employee-profile-actions {
    display:flex;
    align-items:center;
    gap:10px;
}
.employee-profile-grid {
    display:grid;
    grid-template-columns:minmax(0,1fr) 290px;
    gap:16px;
    align-items:start;
}
.employee-profile-main {
    display:grid;
    gap:16px;
}
.employee-profile-side {
    display:grid;
    gap:16px;
    position:sticky;
    top:86px;
}
.admin-form textarea,
.form-section textarea {
    width:100%;
    border:1px solid var(--line);
    border-radius:9px;
    padding:11px 12px;
    color:var(--ink);
    background:#fff;
    font:inherit;
    resize:vertical;
}
.phase19-save {
    justify-content:flex-end;
    margin:18px 0 0;
    padding:0;
}
.employee-app-list {
    display:grid;
    border-top:1px solid var(--line);
}
.employee-app-row {
    display:flex;
    justify-content:space-between;
    gap:16px;
    align-items:center;
    padding:13px 0;
    border-bottom:1px solid var(--line);
}
.employee-app-row > div:first-child {
    display:grid;
    gap:3px;
}
.employee-app-row strong { font-size:12px; }
.employee-app-row > div:first-child span {
    color:var(--muted);
    font-size:9px;
}
.employee-app-state { text-align:right; }

.employee-summary-card dl {
    display:grid;
    gap:0;
    margin:12px 0 0;
}
.employee-summary-card dl div {
    display:flex;
    justify-content:space-between;
    gap:15px;
    padding:10px 0;
    border-top:1px solid var(--line);
}
.employee-summary-card dt {
    color:var(--muted);
    font-size:9px;
    text-transform:uppercase;
    letter-spacing:.06em;
}
.employee-summary-card dd {
    margin:0;
    text-align:right;
    font-size:10px;
    font-weight:700;
}
.employee-activity {
    display:grid;
}
.employee-activity-row {
    display:grid;
    grid-template-columns:10px minmax(0,1fr) auto;
    gap:10px;
    align-items:start;
    padding:12px 0;
    border-top:1px solid var(--line);
}
.activity-dot {
    width:7px;
    height:7px;
    margin-top:5px;
    border-radius:50%;
    background:var(--gold);
}
.employee-activity-row strong { font-size:11px; }
.employee-activity-row p {
    margin:3px 0 0;
    color:var(--muted);
    font-size:9px;
}
.employee-activity-row time {
    color:var(--muted);
    font-size:9px;
    white-space:nowrap;
}
.employee-empty-inline {
    padding:18px 0 2px;
    color:var(--muted);
    font-size:11px;
}

@media (max-width: 900px) {
    .employee-stats { grid-template-columns:repeat(2,1fr); }
    .phase19-toolbar .employee-filter-form { grid-template-columns:1fr 1fr; }
    .phase19-toolbar .employee-filter-form input[type="search"] { grid-column:1/-1; }
    .employee-profile-grid { grid-template-columns:1fr; }
    .employee-profile-side { position:static; grid-template-columns:repeat(2,1fr); }
}
@media (max-width: 680px) {
    .employee-grid { grid-template-columns:1fr; }
    .employee-profile-hero { align-items:flex-start; flex-direction:column; }
    .employee-profile-actions { width:100%; justify-content:space-between; }
    .employee-profile-side { grid-template-columns:1fr; }
    .employee-card-actions { flex-direction:column; }
    .employee-card-actions .btn { width:100%; }
    .employee-activity-row { grid-template-columns:10px minmax(0,1fr); }
    .employee-activity-row time { grid-column:2; }
}


/* ===== Phase 20: Notifications / Attention Center ===== */
.phase20-notification-button {
    position:relative;
    gap:6px;
}
.phase20-notification-button > span {
    display:inline-grid;
    place-items:center;
    min-width:18px;
    height:18px;
    padding:0 5px;
    border-radius:999px;
    color:#fff;
    background:#9b3e35;
    font-size:9px;
    font-weight:850;
}

.dashboard-attention-preview {
    margin:0 0 34px;
}
.attention-preview-list,
.attention-preview-clear {
    overflow:hidden;
    border:1px solid var(--line);
    border-radius:14px;
    background:var(--paper);
    box-shadow:0 10px 28px rgba(26,24,20,.04);
}
.attention-preview-row {
    display:grid;
    grid-template-columns:10px minmax(0,1fr) auto;
    gap:12px;
    align-items:center;
    padding:14px 17px;
    color:var(--ink);
    text-decoration:none;
    border-top:1px solid var(--line);
}
.attention-preview-row:first-child { border-top:0; }
.attention-preview-row:hover { background:#faf8f3; }
.attention-preview-dot {
    width:7px;
    height:7px;
    border-radius:50%;
    background:#7e776e;
}
.attention-preview-row.severity-warning .attention-preview-dot { background:#b77b2d; }
.attention-preview-row.severity-critical .attention-preview-dot { background:#a13f36; }
.attention-preview-row > div { min-width:0; }
.attention-preview-row strong {
    display:block;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
    font-size:12px;
}
.attention-preview-row p {
    margin:4px 0 0;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
    color:var(--muted);
    font-size:10px;
}
.attention-preview-row small {
    padding:5px 7px;
    border-radius:999px;
    background:#f0ece3;
    color:var(--muted);
    font-size:8px;
    font-weight:800;
    text-transform:uppercase;
    letter-spacing:.05em;
}
.attention-preview-row.severity-warning small {
    color:#815620;
    background:#fff1d9;
}
.attention-preview-row.severity-critical small {
    color:#7f302a;
    background:#fae6e3;
}
.attention-preview-clear {
    display:flex;
    align-items:center;
    gap:14px;
    padding:18px;
}
.attention-preview-clear > span {
    display:grid;
    place-items:center;
    width:34px;
    height:34px;
    border-radius:50%;
    color:#376244;
    background:#eaf4ec;
    font-weight:900;
}
.attention-preview-clear strong { font-size:12px; }
.attention-preview-clear p {
    margin:3px 0 0;
    color:var(--muted);
    font-size:10px;
}

.phase20-heading { align-items:flex-end; }

.attention-stats {
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:12px;
    margin-bottom:18px;
}
.attention-stats a {
    padding:17px 19px;
    border:1px solid var(--line);
    border-radius:13px;
    color:var(--ink);
    background:var(--paper);
    text-decoration:none;
    box-shadow:0 10px 28px rgba(26,24,20,.04);
}
.attention-stats a.active {
    border-color:#b99a66;
    box-shadow:0 0 0 2px rgba(169,130,67,.10);
}
.attention-stats span {
    display:block;
    color:var(--muted);
    font-size:9px;
    font-weight:850;
    letter-spacing:.07em;
    text-transform:uppercase;
}
.attention-stats strong {
    display:block;
    margin-top:8px;
    font-family:Georgia,"Times New Roman",serif;
    font-size:28px;
    font-weight:400;
}
.attention-layout {
    display:grid;
    grid-template-columns:220px minmax(0,1fr);
    gap:16px;
    align-items:start;
}
.attention-filters {
    position:sticky;
    top:86px;
}
.attention-filters nav {
    display:grid;
    gap:3px;
    margin-top:10px;
}
.attention-filters nav a {
    display:flex;
    justify-content:space-between;
    gap:10px;
    padding:9px 10px;
    border-radius:8px;
    color:var(--muted);
    text-decoration:none;
    font-size:11px;
}
.attention-filters nav a:hover,
.attention-filters nav a.active {
    color:var(--ink);
    background:#f2eee6;
}
.attention-filters nav small {
    font-size:9px;
}
.attention-filter-label { margin-top:23px; }

.attention-feed {
    display:grid;
    gap:10px;
}
.attention-item {
    position:relative;
    display:grid;
    grid-template-columns:6px minmax(0,1fr);
    overflow:hidden;
    border:1px solid var(--line);
    border-radius:13px;
    background:var(--paper);
    box-shadow:0 10px 28px rgba(26,24,20,.035);
}
.attention-item.is-unread {
    border-color:#d7c9ad;
    box-shadow:0 10px 32px rgba(169,130,67,.08);
}
.attention-marker { background:#8a8378; }
.attention-item.severity-warning .attention-marker { background:#b47b31; }
.attention-item.severity-critical .attention-marker { background:#9b3e35; }
.attention-content { padding:17px 18px; }
.attention-meta {
    display:flex;
    flex-wrap:wrap;
    gap:8px;
    align-items:center;
    color:var(--muted);
    font-size:8px;
    font-weight:700;
    text-transform:uppercase;
    letter-spacing:.05em;
}
.attention-source {
    color:var(--ink);
}
.resolved-label {
    padding:3px 6px;
    border-radius:999px;
    color:#376244;
    background:#eaf4ec;
}
.attention-content h2 {
    margin:8px 0 0;
    font-family:Georgia,"Times New Roman",serif;
    font-size:20px;
    font-weight:400;
}
.attention-content > p {
    margin:6px 0 0;
    color:var(--muted);
    font-size:11px;
    line-height:1.55;
}
.attention-actions {
    display:flex;
    flex-wrap:wrap;
    gap:7px;
    margin-top:14px;
}
.attention-actions form { margin:0; }

.attention-empty {
    padding:54px 25px;
    text-align:center;
}
.attention-empty-icon {
    display:grid;
    place-items:center;
    width:46px;
    height:46px;
    margin:0 auto 13px;
    border-radius:50%;
    color:#376244;
    background:#eaf4ec;
    font-size:20px;
    font-weight:900;
}
.attention-empty h2 {
    margin:0;
    font-family:Georgia,"Times New Roman",serif;
    font-size:23px;
    font-weight:400;
}
.attention-empty p {
    margin:6px 0 0;
    color:var(--muted);
    font-size:11px;
}

@media (max-width: 850px) {
    .attention-layout { grid-template-columns:1fr; }
    .attention-filters {
        position:static;
        display:grid;
        grid-template-columns:1fr 1fr;
        gap:18px;
    }
    .attention-filters .attention-filter-label { margin-top:0; }
}
@media (max-width: 620px) {
    .attention-stats { grid-template-columns:repeat(2,1fr); }
    .attention-filters { grid-template-columns:1fr; }
    .attention-filter-label { margin-top:10px !important; }
    .attention-content h2 { font-size:18px; }
    .attention-preview-row {
        grid-template-columns:10px minmax(0,1fr);
    }
    .attention-preview-row small { display:none; }
}


/* ===== Phase 20.1: Operational attention sources ===== */
.attention-settings {
    margin-bottom:12px;
    padding:0;
    overflow:hidden;
}
.attention-settings summary {
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:20px;
    padding:15px 17px;
    cursor:pointer;
    list-style:none;
}
.attention-settings summary::-webkit-details-marker { display:none; }
.attention-settings summary > div {
    display:grid;
    gap:3px;
}
.attention-settings summary strong { font-size:12px; }
.attention-settings summary span {
    color:var(--muted);
    font-size:10px;
}
.attention-settings summary > span {
    font-size:9px;
    font-weight:850;
    letter-spacing:.06em;
    text-transform:uppercase;
}
.attention-settings-form {
    display:grid;
    grid-template-columns:1fr 1fr auto;
    gap:15px;
    align-items:end;
    padding:17px;
    border-top:1px solid var(--line);
    background:#faf8f3;
}
.attention-settings-form label > span {
    display:block;
    margin-bottom:6px;
    color:var(--ink);
    font-size:10px;
    font-weight:750;
}
.attention-settings-form input {
    width:100%;
    min-height:42px;
    padding:9px 10px;
    border:1px solid var(--line);
    border-radius:8px;
    background:#fff;
}
.attention-settings-form small {
    display:block;
    margin-top:5px;
    color:var(--muted);
    font-size:8px;
    line-height:1.4;
}
.input-suffix {
    display:grid;
    grid-template-columns:1fr auto;
    align-items:center;
    overflow:hidden;
    border:1px solid var(--line);
    border-radius:8px;
    background:#fff;
}
.input-suffix input {
    border:0;
    border-radius:0;
}
.input-suffix span {
    padding:0 10px;
    color:var(--muted);
    font-size:9px;
}
.operational-source-strip {
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:10px;
    margin-bottom:16px;
}
.operational-source-strip > div {
    display:grid;
    grid-template-columns:34px 1fr;
    grid-template-rows:auto auto;
    column-gap:10px;
    align-items:center;
    padding:12px;
    border:1px solid var(--line);
    border-radius:11px;
    background:var(--paper);
}
.operational-source-strip > div > span {
    grid-row:1/3;
    display:grid;
    place-items:center;
    width:34px;
    height:34px;
    border-radius:8px;
    color:#fff;
    background:#1c1c19;
    font-size:9px;
    font-weight:850;
}
.operational-source-strip strong {
    align-self:end;
    font-size:10px;
}
.operational-source-strip small {
    align-self:start;
    color:var(--muted);
    font-size:8px;
}

@media (max-width:760px) {
    .attention-settings-form { grid-template-columns:1fr; }
}
@media (max-width:620px) {
    .operational-source-strip { grid-template-columns:1fr; }
}


/* ===== Phase 20.2: Clock In, Expense & Salon alerts ===== */
.phase20-expanded-settings {
    grid-template-columns:repeat(3,minmax(0,1fr));
    align-items:start;
}
.phase20-settings-submit {
    grid-column:1/-1;
    display:flex;
    justify-content:flex-end;
}
.input-prefix {
    display:grid;
    grid-template-columns:auto 1fr;
    align-items:center;
    overflow:hidden;
    border:1px solid var(--line);
    border-radius:8px;
    background:#fff;
}
.input-prefix > span {
    padding:0 0 0 11px;
    color:var(--muted);
    font-size:10px;
}
.input-prefix input {
    border:0 !important;
    border-radius:0 !important;
}
.phase20-six-sources {
    grid-template-columns:repeat(3,1fr);
}
@media (max-width:900px) {
    .phase20-expanded-settings { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:620px) {
    .phase20-expanded-settings { grid-template-columns:1fr; }
    .phase20-settings-submit { grid-column:auto; }
}


/* ===== Phase 20.3: Dismiss notifications ===== */
.phase20-dismiss-note {
    max-width:720px;
    margin-top:7px !important;
    color:var(--muted);
    font-size:9px !important;
}


/* ===== Phase 20.4: Bulk notification actions ===== */
.attention-bulk-form {
    display:none;
}

.attention-bulk-toolbar {
    display:flex;
    align-items:center;
    gap:14px;
    margin-bottom:10px;
    padding:10px 12px;
    position:sticky;
    top:10px;
    z-index:10;
}

.attention-select-all,
.attention-row-checkbox {
    display:flex;
    align-items:center;
    cursor:pointer;
}

.attention-select-all {
    gap:7px;
    font-size:9px;
    font-weight:800;
}

.attention-select-all input,
.attention-row-checkbox input {
    width:16px;
    height:16px;
    accent-color:#1c1c19;
    cursor:pointer;
}

.attention-selected-count {
    color:var(--muted);
    font-size:9px;
    white-space:nowrap;
}

.attention-bulk-actions {
    display:flex;
    gap:7px;
    margin-left:auto;
}

.attention-row-checkbox {
    align-self:flex-start;
    padding:2px 1px 0 0;
}

.attention-item {
    grid-template-columns:auto 4px minmax(0,1fr);
}

.attention-dismiss-selected {
    border-color:#cdbfb0;
}

@media (max-width:620px) {
    .attention-bulk-toolbar {
        flex-wrap:wrap;
        position:static;
    }

    .attention-bulk-actions {
        width:100%;
        margin-left:0;
    }

    .attention-bulk-actions .btn {
        flex:1;
    }
}


/* ===== Phase 21: Global Search ===== */
.phase21-top-search {
    display:flex;
    align-items:center;
    min-width:210px;
    height:34px;
    overflow:hidden;
    border:1px solid var(--line);
    border-radius:8px;
    background:#fff;
}
.phase21-top-search input {
    min-width:0;
    width:100%;
    height:100%;
    padding:0 10px;
    border:0;
    outline:0;
    color:var(--ink);
    background:transparent;
    font-size:10px;
}
.phase21-top-search button {
    display:grid;
    place-items:center;
    width:36px;
    height:100%;
    padding:0;
    border:0;
    border-left:1px solid var(--line);
    color:var(--ink);
    background:#f7f4ee;
    cursor:pointer;
    font-size:16px;
}
.phase21-search-wrap {
    max-width:1120px;
}
.phase21-search-hero {
    padding:32px 0 25px;
    text-align:center;
}
.phase21-search-hero h1 {
    margin:6px 0 6px;
    font-family:Georgia,"Times New Roman",serif;
    font-size:38px;
    font-weight:400;
}
.phase21-search-hero > p:not(.eyebrow):not(.phase21-search-hint) {
    max-width:700px;
    margin:0 auto;
    color:var(--muted);
    font-size:12px;
}
.phase21-search-form {
    display:grid;
    grid-template-columns:38px minmax(0,1fr) auto;
    align-items:center;
    max-width:780px;
    margin:22px auto 0;
    padding:7px;
    border:1px solid #d7cdbb;
    border-radius:13px;
    background:#fff;
    box-shadow:0 14px 38px rgba(26,24,20,.07);
}
.phase21-search-icon {
    display:grid;
    place-items:center;
    color:var(--muted);
    font-size:19px;
}
.phase21-search-form input {
    min-width:0;
    height:42px;
    padding:0 7px;
    border:0;
    outline:0;
    color:var(--ink);
    background:transparent;
    font-size:13px;
}
.phase21-search-hint {
    margin:10px 0 0 !important;
    color:var(--muted);
    font-size:9px !important;
}
.phase21-results {
    display:grid;
    gap:25px;
    padding-bottom:45px;
}
.phase21-group-heading {
    display:flex;
    justify-content:space-between;
    align-items:flex-end;
    gap:15px;
    margin-bottom:9px;
}
.phase21-group-heading h2 {
    margin:3px 0 0;
    font-family:Georgia,"Times New Roman",serif;
    font-size:22px;
    font-weight:400;
}
.phase21-group-heading > span {
    display:grid;
    place-items:center;
    min-width:25px;
    height:25px;
    padding:0 7px;
    border-radius:999px;
    color:var(--muted);
    background:#ece7dd;
    font-size:9px;
    font-weight:800;
}
.phase21-result-list {
    overflow:hidden;
    border:1px solid var(--line);
    border-radius:13px;
    background:var(--paper);
    box-shadow:0 10px 28px rgba(26,24,20,.04);
}
.phase21-result-row {
    display:grid;
    grid-template-columns:38px minmax(0,1fr) minmax(120px,260px) 20px;
    gap:11px;
    align-items:center;
    padding:13px 15px;
    border-top:1px solid var(--line);
    color:var(--ink);
    text-decoration:none;
}
.phase21-result-row:first-child { border-top:0; }
.phase21-result-row:hover { background:#faf8f3; }
.phase21-result-badge {
    display:grid;
    place-items:center;
    width:34px;
    height:34px;
    border-radius:9px;
    color:#fff;
    background:#1c1c19;
    font-size:9px;
    font-weight:850;
    letter-spacing:.04em;
}
.phase21-result-copy {
    min-width:0;
    display:grid;
    gap:3px;
}
.phase21-result-copy strong,
.phase21-result-copy small,
.phase21-result-meta {
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
}
.phase21-result-copy strong { font-size:11px; }
.phase21-result-copy small {
    color:var(--muted);
    font-size:9px;
}
.phase21-result-meta {
    color:var(--muted);
    text-align:right;
    font-size:9px;
}
.phase21-result-arrow {
    color:var(--muted);
    text-align:right;
}
.phase21-empty {
    padding:48px 25px;
    text-align:center;
}
.phase21-empty > div {
    display:grid;
    place-items:center;
    width:44px;
    height:44px;
    margin:0 auto 12px;
    border-radius:50%;
    background:#eee9df;
    font-size:20px;
}
.phase21-empty h2 {
    margin:0;
    font-family:Georgia,"Times New Roman",serif;
    font-size:22px;
    font-weight:400;
}
.phase21-empty p {
    max-width:560px;
    margin:7px auto 0;
    color:var(--muted);
    font-size:10px;
}
.phase21-source-errors {
    max-width:780px;
    margin:0 auto 20px;
}
.phase21-source-errors summary {
    cursor:pointer;
    font-size:10px;
    font-weight:750;
}
.phase21-source-errors div {
    padding-top:10px;
    color:var(--muted);
    font-size:9px;
}
.phase21-source-errors p { margin:4px 0; }
.attention-item[id] { scroll-margin-top:90px; }
.attention-item:target {
    border-color:#ae8b51;
    box-shadow:0 0 0 3px rgba(169,130,67,.12);
}

@media (max-width:900px) {
    .phase21-top-search { display:none; }
    .phase21-result-row {
        grid-template-columns:38px minmax(0,1fr) 20px;
    }
    .phase21-result-meta {
        grid-column:2;
        grid-row:2;
        text-align:left;
    }
    .phase21-result-arrow {
        grid-column:3;
        grid-row:1/3;
    }
}
@media (max-width:620px) {
    .phase21-search-hero { padding-top:20px; }
    .phase21-search-hero h1 { font-size:31px; }
    .phase21-search-form {
        grid-template-columns:34px minmax(0,1fr);
    }
    .phase21-search-form .btn {
        grid-column:1/-1;
        width:100%;
        margin-top:5px;
    }
    .phase21-result-row {
        padding:12px;
    }
}


/* ===== Phase 22: Tasks & Checklists ===== */
.phase22-wrap { max-width:1080px; }
.phase22-heading {
    display:flex;
    justify-content:space-between;
    align-items:flex-end;
    gap:20px;
    padding:30px 0 18px;
}
.phase22-heading h1 {
    margin:4px 0 5px;
    font-family:Georgia,"Times New Roman",serif;
    font-size:34px;
    font-weight:400;
}
.phase22-heading p:not(.eyebrow) {
    margin:0;
    color:var(--muted);
    font-size:10px;
}
.phase22-stats {
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:9px;
    margin-bottom:13px;
}
.phase22-stats a {
    display:grid;
    gap:2px;
    padding:13px 14px;
    border:1px solid var(--line);
    border-radius:10px;
    color:var(--ink);
    background:var(--paper);
    text-decoration:none;
}
.phase22-stats strong {
    font-family:Georgia,"Times New Roman",serif;
    font-size:21px;
    font-weight:400;
}
.phase22-stats span { color:var(--muted); font-size:8px; }
.phase22-new-task {
    display:none;
    margin-bottom:14px;
}
.phase22-new-task.is-open { display:block; }
.phase22-section-title h2 {
    margin:3px 0 15px;
    font-family:Georgia,"Times New Roman",serif;
    font-size:21px;
    font-weight:400;
}
.phase22-task-form {
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:12px;
}
.phase22-field { display:block; }
.phase22-field-wide { grid-column:1/-1; }
.phase22-field > span {
    display:block;
    margin-bottom:5px;
    font-size:9px;
    font-weight:750;
}
.phase22-field > span small {
    color:var(--muted);
    font-weight:500;
}
.phase22-field input,
.phase22-field select,
.phase22-field textarea {
    width:100%;
    padding:10px;
    border:1px solid var(--line);
    border-radius:8px;
    color:var(--ink);
    background:#fff;
    font:inherit;
    font-size:10px;
}
.phase22-field textarea { resize:vertical; }
.phase22-form-actions {
    display:flex;
    justify-content:flex-end;
}
.phase22-filters {
    display:flex;
    gap:6px;
    overflow-x:auto;
    margin:17px 0 10px;
    padding-bottom:2px;
}
.phase22-filters a {
    flex:0 0 auto;
    padding:7px 11px;
    border:1px solid var(--line);
    border-radius:999px;
    color:var(--muted);
    background:var(--paper);
    text-decoration:none;
    font-size:8px;
    font-weight:750;
}
.phase22-filters a.is-active {
    color:#fff;
    border-color:#1c1c19;
    background:#1c1c19;
}
.phase22-task-list { display:grid; gap:10px; padding-bottom:45px; }
.phase22-task-card { padding:15px; }
.phase22-task-card.is-completed { opacity:.68; }
.phase22-task-card.is-overdue { border-color:#d6a4a0; }
.phase22-task-top {
    display:grid;
    grid-template-columns:auto minmax(0,1fr) auto;
    gap:12px;
    align-items:start;
}
.phase22-priority {
    padding:5px 7px;
    border-radius:6px;
    font-size:7px;
    font-weight:900;
    letter-spacing:.06em;
}
.priority-low { background:#eeeae1; color:#706b62; }
.priority-normal { background:#e7e3d9; color:#403d37; }
.priority-high { background:#f2dfc3; color:#7d551c; }
.priority-urgent { background:#f2d5d2; color:#8a2e28; }
.phase22-task-title h2 {
    margin:0;
    font-size:12px;
}
.phase22-task-title p {
    margin:5px 0 0;
    color:var(--muted);
    font-size:9px;
    line-height:1.5;
}
.phase22-task-meta {
    display:grid;
    gap:4px;
    min-width:130px;
    color:var(--muted);
    text-align:right;
    font-size:8px;
}
.phase22-task-meta .is-danger { color:#9a3c35; font-weight:800; }
.phase22-progress {
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    gap:10px;
    align-items:center;
    margin:13px 0 8px;
}
.phase22-progress > div {
    height:5px;
    overflow:hidden;
    border-radius:999px;
    background:#ece7dd;
}
.phase22-progress > div span {
    display:block;
    height:100%;
    border-radius:inherit;
    background:#1c1c19;
}
.phase22-progress small { color:var(--muted); font-size:8px; }
.phase22-checklist {
    overflow:hidden;
    border:1px solid var(--line);
    border-radius:9px;
}
.phase22-check-item { border-top:1px solid var(--line); }
.phase22-check-item:first-child { border-top:0; }
.phase22-check-item button {
    display:flex;
    align-items:center;
    gap:9px;
    width:100%;
    padding:9px 10px;
    border:0;
    color:var(--ink);
    background:#fff;
    text-align:left;
    cursor:pointer;
    font-size:9px;
}
.phase22-check-item button:hover { background:#faf8f3; }
.phase22-check-item.is-done button { color:var(--muted); text-decoration:line-through; }
.phase22-check-box {
    display:grid;
    place-items:center;
    flex:0 0 17px;
    width:17px;
    height:17px;
    border:1px solid #bcb4a7;
    border-radius:5px;
    font-size:9px;
}
.phase22-check-item.is-done .phase22-check-box {
    color:#fff;
    border-color:#1c1c19;
    background:#1c1c19;
    text-decoration:none;
}
.phase22-task-actions {
    display:flex;
    justify-content:flex-end;
    gap:7px;
    margin-top:12px;
}
.phase22-empty { padding:45px 20px; text-align:center; }
.phase22-empty > div {
    display:grid;
    place-items:center;
    width:42px;
    height:42px;
    margin:0 auto 10px;
    border-radius:50%;
    background:#ece7dd;
}
.phase22-empty h2 {
    margin:0;
    font-family:Georgia,"Times New Roman",serif;
    font-size:20px;
    font-weight:400;
}
.phase22-empty p { color:var(--muted); font-size:9px; }

@media (max-width:760px) {
    .phase22-heading { align-items:flex-start; flex-direction:column; }
    .phase22-stats { grid-template-columns:repeat(2,1fr); }
    .phase22-task-form { grid-template-columns:1fr; }
    .phase22-field-wide { grid-column:auto; }
    .phase22-task-top { grid-template-columns:auto minmax(0,1fr); }
    .phase22-task-meta {
        grid-column:2;
        min-width:0;
        text-align:left;
    }
}


/* ===== Phase 23: Central Customer CRM ===== */
.phase23-wrap { max-width:1120px; }
.phase23-heading,
.phase23-profile-heading { padding:30px 0 18px; }
.phase23-heading h1,
.phase23-profile-heading h1 {
    margin:4px 0 5px;
    font-family:Georgia,"Times New Roman",serif;
    font-size:34px;
    font-weight:400;
}
.phase23-heading p:not(.eyebrow),
.phase23-profile-heading p:not(.eyebrow) {
    margin:0;
    color:var(--muted);
    font-size:10px;
}
.phase23-stats {
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:9px;
    margin-bottom:12px;
}
.phase23-stats > div {
    display:grid;
    gap:2px;
    padding:13px 14px;
    border:1px solid var(--line);
    border-radius:10px;
    background:var(--paper);
}
.phase23-stats strong {
    font-family:Georgia,"Times New Roman",serif;
    font-size:21px;
    font-weight:400;
}
.phase23-stats span { color:var(--muted); font-size:8px; }
.phase23-search-card { margin-bottom:12px; padding:12px; }
.phase23-search-form {
    display:grid;
    grid-template-columns:minmax(0,1fr) 180px auto auto;
    gap:9px;
    align-items:end;
}
.phase23-search-form label > span {
    display:block;
    margin-bottom:5px;
    font-size:8px;
    font-weight:750;
}
.phase23-search-form input,
.phase23-search-form select,
.phase23-note-form textarea,
.phase23-tag-form input {
    width:100%;
    padding:9px 10px;
    border:1px solid var(--line);
    border-radius:8px;
    background:#fff;
    color:var(--ink);
    font:inherit;
    font-size:9px;
}
.phase23-customer-list { display:grid; gap:8px; padding-bottom:45px; }
.phase23-customer-card {
    display:grid;
    grid-template-columns:auto minmax(0,1fr) auto auto;
    gap:12px;
    align-items:center;
    color:var(--ink);
    text-decoration:none;
    padding:13px;
}
.phase23-customer-card:hover { transform:translateY(-1px); }
.phase23-avatar {
    display:grid;
    place-items:center;
    width:38px;
    height:38px;
    border-radius:50%;
    background:#e9e3d9;
    font-family:Georgia,"Times New Roman",serif;
    font-size:16px;
}
.phase23-avatar-large {
    width:54px;
    height:54px;
    font-size:22px;
}
.phase23-customer-main h2 { margin:0; font-size:11px; }
.phase23-customer-main p { margin:3px 0 5px; color:var(--muted); font-size:8px; }
.phase23-source-tags {
    display:flex;
    flex-wrap:wrap;
    gap:5px;
}
.phase23-source-tags span,
.phase23-history-status span {
    padding:3px 6px;
    border-radius:999px;
    background:#efebe3;
    color:#625c53;
    font-size:7px;
    font-weight:750;
}
.phase23-customer-metrics { display:flex; gap:18px; }
.phase23-customer-metrics > div {
    display:grid;
    gap:1px;
    text-align:right;
}
.phase23-customer-metrics strong { font-size:11px; }
.phase23-customer-metrics span { color:var(--muted); font-size:7px; }
.phase23-customer-metrics .is-warning strong { color:#99601e; }
.phase23-chevron { color:#9c958a; font-size:22px; }
.phase23-empty { padding:40px 20px; text-align:center; }
.phase23-empty h2 { margin:0; font-family:Georgia,"Times New Roman",serif; font-weight:400; }
.phase23-empty p { color:var(--muted); font-size:9px; }
.phase23-back {
    display:inline-block;
    margin-bottom:12px;
    color:var(--muted);
    text-decoration:none;
    font-size:8px;
    font-weight:750;
}
.phase23-profile-title {
    display:flex;
    align-items:center;
    gap:13px;
}
.phase23-profile-grid {
    display:grid;
    grid-template-columns:minmax(0,1fr) 300px;
    gap:12px;
    padding-bottom:45px;
}
.phase23-main-column,
.phase23-side-column { display:grid; align-content:start; gap:12px; }
.phase23-card-heading {
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:12px;
    margin-bottom:13px;
}
.phase23-card-heading h2 {
    margin:3px 0 0;
    font-family:Georgia,"Times New Roman",serif;
    font-size:19px;
    font-weight:400;
}
.phase23-overview-grid {
    display:grid;
    grid-template-columns:repeat(4,1fr);
    overflow:hidden;
    border:1px solid var(--line);
    border-radius:9px;
}
.phase23-overview-grid > div {
    display:grid;
    gap:4px;
    padding:12px;
    border-left:1px solid var(--line);
}
.phase23-overview-grid > div:first-child { border-left:0; }
.phase23-overview-grid span { color:var(--muted); font-size:7px; }
.phase23-overview-grid strong { font-family:Georgia,"Times New Roman",serif; font-size:17px; font-weight:400; }
.phase23-profile-sources { margin-top:11px; }
.phase23-history-list { border:1px solid var(--line); border-radius:9px; overflow:hidden; }
.phase23-history-row {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    padding:10px 11px;
    border-top:1px solid var(--line);
}
.phase23-history-row:first-child { border-top:0; }
.phase23-history-row > div:first-child { display:grid; gap:3px; }
.phase23-history-row strong { font-size:9px; }
.phase23-history-row span { color:var(--muted); font-size:7px; }
.phase23-history-status { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:4px; }
.phase23-note-form { display:grid; gap:8px; }
.phase23-note-form button { justify-self:end; }
.phase23-note-list { display:grid; gap:7px; margin-top:12px; }
.phase23-note-list article {
    padding:10px 11px;
    border:1px solid var(--line);
    border-radius:8px;
}
.phase23-note-list p { margin:0 0 6px; font-size:9px; line-height:1.55; }
.phase23-note-list span,
.phase23-muted { color:var(--muted); font-size:7px; }
.phase23-tag-form {
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    gap:7px;
}
.phase23-tags {
    display:flex;
    flex-wrap:wrap;
    gap:6px;
    margin-top:10px;
}
.phase23-tag {
    display:flex;
    align-items:center;
    gap:5px;
    padding:5px 7px;
    border-radius:999px;
    background:#ece7de;
    font-size:8px;
    font-weight:750;
}
.phase23-tag form { margin:0; }
.phase23-tag button {
    padding:0;
    border:0;
    background:transparent;
    color:#81796e;
    cursor:pointer;
    font-size:12px;
}
.phase23-quick-links { display:grid; border:1px solid var(--line); border-radius:9px; overflow:hidden; }
.phase23-quick-links a {
    display:flex;
    justify-content:space-between;
    padding:10px 11px;
    border-top:1px solid var(--line);
    color:var(--ink);
    text-decoration:none;
    font-size:8px;
    font-weight:750;
}
.phase23-quick-links a:first-child { border-top:0; }

@media (max-width:800px) {
    .phase23-stats { grid-template-columns:repeat(2,1fr); }
    .phase23-search-form { grid-template-columns:1fr 1fr; }
    .phase23-profile-grid { grid-template-columns:1fr; }
    .phase23-overview-grid { grid-template-columns:repeat(2,1fr); }
    .phase23-overview-grid > div:nth-child(3) { border-left:0; border-top:1px solid var(--line); }
    .phase23-overview-grid > div:nth-child(4) { border-top:1px solid var(--line); }
}
@media (max-width:560px) {
    .phase23-search-form { grid-template-columns:1fr; }
    .phase23-customer-card { grid-template-columns:auto minmax(0,1fr) auto; }
    .phase23-customer-metrics {
        grid-column:2;
        justify-content:flex-start;
    }
    .phase23-customer-metrics > div { text-align:left; }
    .phase23-chevron { grid-column:3; grid-row:1/3; }
}


/* Phase 23.3 - CRM app links must launch through central SSO */
.phase23-inline-launch {
    margin: 0;
}
.phase23-quick-launch {
    margin: 0;
}
.phase23-quick-launch button {
    display: flex;
    width: 100%;
    justify-content: space-between;
    padding: 10px 11px;
    border: 0;
    border-top: 1px solid var(--line);
    color: var(--ink);
    background: transparent;
    font: inherit;
    font-size: 8px;
    font-weight: 750;
    text-align: left;
    cursor: pointer;
}
.phase23-quick-launch:first-child button {
    border-top: 0;
}


/* ===== Phase 24: Business Analytics ===== */
.phase24-wrap { max-width:1180px; }
.phase24-heading {
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:18px;
    padding:30px 0 18px;
}
.phase24-heading h1 {
    margin:4px 0 5px;
    font-family:Georgia,"Times New Roman",serif;
    font-size:34px;
    font-weight:400;
}
.phase24-heading p:not(.eyebrow) {
    margin:0;
    color:var(--muted);
    font-size:9px;
}
.phase24-periods {
    display:flex;
    gap:5px;
    padding:4px;
    border:1px solid var(--line);
    border-radius:10px;
    background:var(--paper);
}
.phase24-periods a {
    min-width:44px;
    padding:7px 10px;
    border-radius:7px;
    color:var(--muted);
    text-align:center;
    text-decoration:none;
    font-size:8px;
    font-weight:800;
}
.phase24-periods a.is-active {
    color:#fff;
    background:#1c1c19;
}
.phase24-kpis {
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:9px;
    margin-bottom:10px;
}
.phase24-kpi {
    display:grid;
    gap:5px;
    padding:15px;
}
.phase24-kpi > span {
    color:var(--muted);
    font-size:8px;
    font-weight:750;
}
.phase24-kpi > strong {
    font-family:Georgia,"Times New Roman",serif;
    font-size:23px;
    font-weight:400;
}
.phase24-kpi > small {
    color:var(--muted);
    font-size:7px;
}
.phase24-kpi > small.is-positive { color:#437054; }
.phase24-kpi > small.is-negative { color:#9b443d; }
.phase24-note {
    margin-bottom:10px;
    padding:10px 12px;
    border:1px solid #ded5c7;
    border-radius:9px;
    background:#f6f1e7;
    color:#6d6458;
    font-size:7.5px;
    line-height:1.55;
}
.phase24-note strong { color:#3c3730; }
.phase24-two-column {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:10px;
    margin-bottom:10px;
}
.phase24-card-head {
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:10px;
    margin-bottom:13px;
}
.phase24-card-head h2 {
    margin:3px 0 0;
    font-family:Georgia,"Times New Roman",serif;
    font-size:19px;
    font-weight:400;
}
.phase24-card-head > span,
.phase24-card-head > small {
    color:var(--muted);
    font-size:7px;
}
.phase24-metric-grid {
    display:grid;
    grid-template-columns:repeat(3,1fr);
    overflow:hidden;
    border:1px solid var(--line);
    border-radius:9px;
}
.phase24-metric-grid > div {
    display:grid;
    gap:4px;
    min-height:64px;
    padding:11px;
    border-left:1px solid var(--line);
    border-top:1px solid var(--line);
}
.phase24-metric-grid > div:nth-child(-n+3) { border-top:0; }
.phase24-metric-grid > div:nth-child(3n+1) { border-left:0; }
.phase24-metric-grid span {
    color:var(--muted);
    font-size:7px;
}
.phase24-metric-grid strong {
    align-self:end;
    font-family:Georgia,"Times New Roman",serif;
    font-size:16px;
    font-weight:400;
}
.phase24-metric-grid .phase24-span-2 { grid-column:span 2; }
.phase24-bars { display:grid; gap:11px; }
.phase24-bar-row {
    display:grid;
    grid-template-columns:170px minmax(0,1fr);
    gap:12px;
    align-items:center;
}
.phase24-bar-row > div:first-child {
    display:grid;
    gap:2px;
}
.phase24-bar-row strong { font-size:8px; }
.phase24-bar-row span { color:var(--muted); font-size:7px; }
.phase24-bar {
    height:7px;
    overflow:hidden;
    border-radius:999px;
    background:#eee9df;
}
.phase24-bar > span {
    display:block;
    height:100%;
    border-radius:inherit;
    background:#1c1c19;
}
.phase24-bars-small { margin-top:13px; }
.phase24-consent-summary {
    grid-template-columns:repeat(2,1fr);
}
.phase24-consent-summary > div:nth-child(-n+3) { border-top:0; }
.phase24-consent-summary > div:nth-child(3n+1) { border-left:1px solid var(--line); }
.phase24-consent-summary > div:first-child { border-left:0; }
.phase24-source-error,
.phase24-empty {
    padding:16px;
    border:1px dashed var(--line);
    border-radius:8px;
    color:var(--muted);
    text-align:center;
    font-size:8px;
}
.phase24-source-status { margin-bottom:45px; }
.phase24-source-grid {
    display:flex;
    flex-wrap:wrap;
    gap:6px;
}
.phase24-source-grid span {
    position:relative;
    padding:6px 9px 6px 19px;
    border-radius:999px;
    background:#efebe3;
    color:#615b52;
    font-size:7px;
    font-weight:750;
}
.phase24-source-grid span::before {
    content:"";
    position:absolute;
    left:8px;
    top:50%;
    width:6px;
    height:6px;
    margin-top:-3px;
    border-radius:50%;
    background:#aaa39a;
}
.phase24-source-grid span.is-ok::before { background:#5a7d62; }
.phase24-source-grid span.is-off::before { background:#a55a53; }

@media (max-width:900px) {
    .phase24-kpis { grid-template-columns:repeat(2,1fr); }
    .phase24-two-column { grid-template-columns:1fr; }
}
@media (max-width:620px) {
    .phase24-heading {
        align-items:flex-start;
        flex-direction:column;
    }
    .phase24-periods {
        width:100%;
    }
    .phase24-periods a { flex:1; }
    .phase24-kpis { grid-template-columns:1fr; }
    .phase24-metric-grid { grid-template-columns:repeat(2,1fr); }
    .phase24-metric-grid > div { border-top:1px solid var(--line); }
    .phase24-metric-grid > div:nth-child(-n+2) { border-top:0; }
    .phase24-metric-grid > div:nth-child(3n+1) { border-left:1px solid var(--line); }
    .phase24-metric-grid > div:nth-child(2n+1) { border-left:0; }
    .phase24-bar-row { grid-template-columns:1fr; gap:6px; }
    .phase24-metric-grid .phase24-span-2 { grid-column:span 2; }
}


/* ===== Phase 24.2: Customer Smart Search + Before/After Photos ===== */
.phase24-smart-search-status {
    display:flex;
    align-items:center;
    gap:5px;
    margin-top:9px;
    color:var(--muted);
    font-size:7.5px;
}
.phase24-smart-search-status > span {
    color:var(--ink);
    font-weight:800;
}
.phase24-smart-search-status small {
    margin-left:auto;
    color:var(--muted);
    font-size:7px;
}
.phase24-smart-customer[hidden] {
    display:none !important;
}
.phase24-photo-section {
    overflow:hidden;
}
.phase24-photo-upload {
    display:grid;
    grid-template-columns:1.25fr .65fr 1fr .75fr;
    gap:8px;
    align-items:end;
    margin-bottom:18px;
    padding:12px;
    border:1px solid var(--line);
    border-radius:10px;
    background:#faf8f4;
}
.phase24-photo-upload label {
    display:grid;
    gap:5px;
}
.phase24-photo-upload label > span {
    color:var(--muted);
    font-size:7px;
    font-weight:750;
}
.phase24-photo-upload input,
.phase24-photo-upload select {
    width:100%;
    min-height:36px;
}
.phase24-photo-upload .phase24-photo-caption {
    grid-column:span 3;
}
.phase24-before-after-grid {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:14px;
}
.phase24-photo-column {
    min-width:0;
}
.phase24-photo-column-head {
    display:flex;
    justify-content:space-between;
    align-items:center;
    margin-bottom:8px;
}
.phase24-photo-column-head h3 {
    margin:0;
    font-family:Georgia,"Times New Roman",serif;
    font-size:17px;
    font-weight:400;
}
.phase24-photo-column-head span {
    color:var(--muted);
    font-size:7px;
}
.phase24-photo-gallery {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:8px;
}
.phase24-photo-card {
    overflow:hidden;
    border:1px solid var(--line);
    border-radius:9px;
    background:#fff;
}
.phase24-photo-card > a {
    display:block;
    aspect-ratio:4/3;
    overflow:hidden;
    background:#eee9df;
}
.phase24-photo-card img {
    display:block;
    width:100%;
    height:100%;
    object-fit:cover;
}
.phase24-photo-meta {
    display:grid;
    gap:3px;
    padding:8px;
}
.phase24-photo-meta strong {
    font-size:8px;
}
.phase24-photo-meta > span {
    color:var(--muted);
    font-size:7px;
}
.phase24-photo-meta p {
    margin:3px 0;
    color:var(--muted);
    font-size:7px;
    line-height:1.4;
}
.phase24-photo-meta form {
    margin-top:4px;
}
.phase24-photo-meta button {
    padding:0;
    border:0;
    background:none;
    color:#9b443d;
    font:inherit;
    font-size:7px;
    font-weight:750;
    cursor:pointer;
}
.phase24-photo-empty {
    display:grid;
    place-items:center;
    min-height:110px;
    border:1px dashed var(--line);
    border-radius:9px;
    color:var(--muted);
    font-size:8px;
}
@media (max-width:820px) {
    .phase24-photo-upload {
        grid-template-columns:1fr 1fr;
    }
    .phase24-photo-upload .phase24-photo-caption {
        grid-column:span 2;
    }
}
@media (max-width:620px) {
    .phase24-smart-search-status {
        align-items:flex-start;
        flex-wrap:wrap;
    }
    .phase24-smart-search-status small {
        width:100%;
        margin-left:0;
    }
    .phase24-before-after-grid {
        grid-template-columns:1fr;
    }
    .phase24-photo-upload {
        grid-template-columns:1fr;
    }
    .phase24-photo-upload .phase24-photo-caption {
        grid-column:auto;
    }
}


/* ===== Phase 24.3: Mobile / Tablet Client Photo Capture ===== */
.phase24-photo-section {
    padding:0 !important;
    overflow:hidden;
}
.phase24-photo-hero {
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:18px;
    padding:22px 22px 18px;
    border-bottom:1px solid var(--line);
    background:linear-gradient(180deg,#fbfaf7 0%,#f7f3ec 100%);
}
.phase24-photo-hero h2 {
    margin:4px 0 5px;
    font-family:Georgia,"Times New Roman",serif;
    font-size:24px;
    font-weight:400;
}
.phase24-photo-hero p:not(.eyebrow) {
    max-width:560px;
    margin:0;
    color:var(--muted);
    font-size:8px;
    line-height:1.55;
}
.phase24-photo-counts {
    display:flex;
    gap:7px;
}
.phase24-photo-counts span {
    display:grid;
    min-width:72px;
    gap:2px;
    padding:9px 11px;
    border:1px solid var(--line);
    border-radius:10px;
    background:#fff;
    color:var(--muted);
    text-align:center;
    font-size:7px;
}
.phase24-photo-counts strong {
    color:var(--ink);
    font-family:Georgia,"Times New Roman",serif;
    font-size:17px;
    font-weight:400;
}
.phase24-capture-grid {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:12px;
    padding:18px 22px 22px;
}
.phase24-capture-card {
    position:relative;
    display:grid;
    grid-template-columns:auto 1fr;
    gap:12px;
    padding:16px;
    border:1px solid var(--line);
    border-radius:14px;
    background:#fff;
}
.phase24-capture-card > div:nth-of-type(2) {
    align-self:center;
}
.phase24-capture-card h3 {
    margin:2px 0 3px;
    font-family:Georgia,"Times New Roman",serif;
    font-size:18px;
    font-weight:400;
}
.phase24-capture-card p {
    margin:0;
    color:var(--muted);
    font-size:7.5px;
}
.phase24-capture-icon {
    display:grid;
    place-items:center;
    width:42px;
    height:42px;
    border-radius:50%;
    background:#1f1f1c;
    color:#fff;
    font-family:Georgia,"Times New Roman",serif;
    font-size:16px;
}
.phase24-capture-label {
    color:var(--muted);
    font-size:6.5px;
    font-weight:850;
    letter-spacing:.12em;
}
.phase24-camera-input {
    position:absolute;
    width:1px;
    height:1px;
    overflow:hidden;
    opacity:0;
    pointer-events:none;
}
.phase24-camera-button {
    grid-column:1/-1;
    display:flex !important;
    align-items:center;
    justify-content:center;
    min-height:46px;
    margin-top:3px;
    cursor:pointer;
    font-size:9px !important;
}
.phase24-capture-fields {
    grid-column:1/-1;
    display:grid;
    grid-template-columns:1.2fr .8fr;
    gap:8px;
    padding-top:4px;
}
.phase24-capture-fields label {
    display:grid;
    gap:5px;
}
.phase24-capture-fields label > span {
    color:var(--muted);
    font-size:7px;
    font-weight:750;
}
.phase24-capture-fields input {
    width:100%;
    min-height:38px;
}
.phase24-capture-note {
    grid-column:1/-1;
}
.phase24-photo-preview {
    grid-column:1/-1;
    overflow:hidden;
    margin-top:4px;
    border:1px solid var(--line);
    border-radius:12px;
    background:#f4f0e9;
}
.phase24-photo-preview img {
    display:block;
    width:100%;
    max-height:430px;
    object-fit:contain;
    background:#171715;
}
.phase24-preview-actions {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:8px;
    padding:10px;
    background:#fff;
}
.phase24-preview-actions .btn {
    min-height:42px;
}
.phase24-gallery-section {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:16px;
    padding:22px;
    border-top:1px solid var(--line);
    background:#faf8f4;
}
.phase24-gallery-column {
    min-width:0;
}
.phase24-gallery-heading {
    display:flex;
    align-items:center;
    justify-content:space-between;
    margin-bottom:10px;
}
.phase24-gallery-heading span {
    color:var(--muted);
    font-size:6.5px;
    font-weight:850;
    letter-spacing:.11em;
}
.phase24-gallery-heading h3 {
    margin:2px 0 0;
    font-family:Georgia,"Times New Roman",serif;
    font-size:20px;
    font-weight:400;
}
.phase24-gallery-heading > strong {
    display:grid;
    place-items:center;
    min-width:30px;
    height:30px;
    padding:0 8px;
    border-radius:999px;
    background:#1f1f1c;
    color:#fff;
    font-size:8px;
}
.phase24-photo-gallery-large {
    grid-template-columns:1fr 1fr;
    gap:10px;
}
.phase24-photo-card {
    box-shadow:0 7px 20px rgba(40,34,27,.05);
}
.phase24-photo-image {
    position:relative;
    aspect-ratio:4/5 !important;
}
.phase24-photo-image img {
    transition:transform .2s ease;
}
.phase24-photo-image:hover img {
    transform:scale(1.02);
}
.phase24-photo-image > span {
    position:absolute;
    right:8px;
    bottom:8px;
    padding:5px 7px;
    border-radius:999px;
    background:rgba(20,20,18,.78);
    color:#fff;
    font-size:6.5px;
}
.phase24-photo-meta {
    padding:10px !important;
}
.phase24-photo-meta-top {
    display:flex;
    justify-content:space-between;
    gap:8px;
}
.phase24-photo-meta-top > div {
    display:grid;
    gap:2px;
}
.phase24-photo-meta-top strong {
    font-size:8px;
}
.phase24-photo-meta-top span {
    color:var(--muted);
    font-size:7px;
}
.phase24-type-badge {
    align-self:flex-start;
    padding:4px 7px;
    border-radius:999px;
    background:#ece6dc;
    color:#5d574f !important;
    font-size:6.5px !important;
    font-weight:800;
}
.phase24-type-after {
    background:#e8eee8;
    color:#4d6251 !important;
}
.phase24-retake-form {
    margin-top:7px !important;
}
.phase24-delete-retake {
    width:100%;
    min-height:34px;
    padding:7px 9px !important;
    border:1px solid #ead4d1 !important;
    border-radius:7px !important;
    background:#fff7f6 !important;
    color:#94473f !important;
    font-size:7.5px !important;
}
.phase24-delete-retake:hover {
    background:#f9ecea !important;
}
.phase24-photo-empty {
    min-height:150px !important;
    gap:4px;
}
.phase24-photo-empty strong {
    color:var(--ink);
    font-family:Georgia,"Times New Roman",serif;
    font-size:14px;
    font-weight:400;
}
.phase24-photo-empty span {
    color:var(--muted);
    font-size:7.5px;
}

@media (max-width:860px) {
    .phase24-capture-grid,
    .phase24-gallery-section {
        grid-template-columns:1fr;
    }
    .phase24-photo-gallery-large {
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
}
@media (max-width:620px) {
    .phase24-photo-hero {
        flex-direction:column;
        padding:18px 15px 14px;
    }
    .phase24-photo-counts {
        width:100%;
    }
    .phase24-photo-counts span {
        flex:1;
    }
    .phase24-capture-grid,
    .phase24-gallery-section {
        padding:14px;
    }
    .phase24-capture-card {
        grid-template-columns:auto 1fr;
        padding:14px;
    }
    .phase24-capture-fields {
        grid-template-columns:1fr;
    }
    .phase24-capture-note {
        grid-column:auto;
    }
    .phase24-camera-button {
        min-height:52px;
        font-size:10px !important;
    }
    .phase24-preview-actions {
        grid-template-columns:1fr;
    }
    .phase24-preview-actions .btn {
        min-height:48px;
    }
    .phase24-photo-gallery-large {
        grid-template-columns:1fr;
    }
    .phase24-photo-image {
        aspect-ratio:4/5 !important;
        max-height:none;
    }
    .phase24-delete-retake {
        min-height:42px;
        font-size:8.5px !important;
    }
}


/* ===== Phase 24.5: Square Customer Profile + Notes ===== */
.phase245-square-profile {
    overflow:hidden;
}
.phase245-match-badge {
    align-self:flex-start;
    padding:5px 8px;
    border-radius:999px;
    background:#e9efe9;
    color:#4e6753;
    font-size:6.5px;
    font-weight:800;
    text-transform:capitalize;
}
.phase245-square-empty {
    display:grid;
    gap:4px;
    padding:16px;
    border:1px dashed var(--line);
    border-radius:9px;
    background:#faf8f4;
}
.phase245-square-empty strong {
    font-family:Georgia,"Times New Roman",serif;
    font-size:14px;
    font-weight:400;
}
.phase245-square-empty span {
    color:var(--muted);
    font-size:7.5px;
}
.phase245-square-grid {
    display:grid;
    grid-template-columns:repeat(3,1fr);
    overflow:hidden;
    margin-bottom:12px;
    border:1px solid var(--line);
    border-radius:10px;
}
.phase245-square-grid > div {
    display:grid;
    gap:4px;
    min-height:62px;
    padding:11px;
    border-top:1px solid var(--line);
    border-left:1px solid var(--line);
}
.phase245-square-grid > div:nth-child(-n+3) {
    border-top:0;
}
.phase245-square-grid > div:nth-child(3n+1) {
    border-left:0;
}
.phase245-square-grid span {
    color:var(--muted);
    font-size:7px;
}
.phase245-square-grid strong {
    align-self:end;
    overflow-wrap:anywhere;
    font-size:8.5px;
}
.phase245-square-id {
    font-family:monospace;
    font-size:7px !important;
    font-weight:500 !important;
}
.phase245-square-note {
    overflow:hidden;
    border:1px solid #ddd5c8;
    border-radius:10px;
    background:#faf7f0;
}
.phase245-square-note-head {
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:10px;
    padding:11px 13px 9px;
    border-bottom:1px solid #e6ded2;
}
.phase245-square-note-head span {
    color:#81796d;
    font-size:6.5px;
    font-weight:850;
    letter-spacing:.11em;
}
.phase245-square-note-head h3 {
    margin:2px 0 0;
    font-family:Georgia,"Times New Roman",serif;
    font-size:15px;
    font-weight:400;
}
.phase245-square-note-head small {
    color:var(--muted);
    font-size:6.5px;
}
.phase245-square-note > p {
    margin:0;
    padding:14px;
    color:#413d37;
    font-size:8.5px;
    line-height:1.65;
    white-space:normal;
}
.phase245-no-note {
    padding:14px;
    color:var(--muted);
    font-size:8px;
}
.phase245-square-help {
    margin:8px 1px 0;
    color:var(--muted);
    font-size:7px;
    line-height:1.5;
}
@media (max-width:720px) {
    .phase245-square-grid {
        grid-template-columns:repeat(2,1fr);
    }
    .phase245-square-grid > div {
        border-top:1px solid var(--line);
        border-left:1px solid var(--line);
    }
    .phase245-square-grid > div:nth-child(-n+2) {
        border-top:0;
    }
    .phase245-square-grid > div:nth-child(2n+1) {
        border-left:0;
    }
}
@media (max-width:480px) {
    .phase245-square-grid {
        grid-template-columns:1fr;
    }
    .phase245-square-grid > div,
    .phase245-square-grid > div:nth-child(-n+2),
    .phase245-square-grid > div:nth-child(2n+1) {
        border-left:0;
        border-top:1px solid var(--line);
    }
    .phase245-square-grid > div:first-child {
        border-top:0;
    }
}


/* ===== Phase 25: Marketing Center ===== */
.phase25-header {
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:16px;
}
.phase25-safety-note {
    display:grid;
    grid-template-columns:220px 1fr;
    gap:20px;
    align-items:center;
    border-left:4px solid #9c7c58;
}
.phase25-safety-note h2 {
    margin:3px 0 0;
    font-family:Georgia,"Times New Roman",serif;
    font-size:18px;
    font-weight:400;
}
.phase25-safety-note > p {
    margin:0;
    color:var(--muted);
    font-size:8px;
    line-height:1.6;
}
.phase25-kpi-grid {
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:10px;
}
.phase25-kpi-grid article {
    display:grid;
    gap:4px;
}
.phase25-kpi-grid span {
    color:var(--muted);
    font-size:7px;
}
.phase25-kpi-grid strong {
    font-family:Georgia,"Times New Roman",serif;
    font-size:26px;
    font-weight:400;
}
.phase25-kpi-grid small {
    color:var(--muted);
    font-size:7px;
}
.phase25-segment-grid {
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:9px;
}
.phase25-segment-grid a {
    display:grid;
    gap:4px;
    padding:12px;
    border:1px solid var(--line);
    border-radius:10px;
    background:#fff;
    color:inherit;
    text-decoration:none;
}
.phase25-segment-grid a.active {
    border-color:#8e765c;
    background:#faf6ef;
    box-shadow:inset 0 0 0 1px #c9b79f;
}
.phase25-segment-grid span {
    font-size:8px;
    font-weight:800;
}
.phase25-segment-grid strong {
    font-family:Georgia,"Times New Roman",serif;
    font-size:22px;
    font-weight:400;
}
.phase25-segment-grid small {
    color:var(--muted);
    font-size:7px;
}
.phase25-campaign-form {
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:10px;
}
.phase25-campaign-form label {
    display:grid;
    gap:5px;
}
.phase25-campaign-form label > span {
    color:var(--muted);
    font-size:7px;
    font-weight:750;
}
.phase25-campaign-form input,
.phase25-campaign-form select,
.phase25-campaign-form textarea {
    width:100%;
}
.phase25-wide {
    grid-column:1/-1;
}
.phase25-form-actions {
    display:flex;
    justify-content:flex-end;
}
.phase25-campaign-list {
    display:grid;
    gap:10px;
}
.phase25-campaign-card {
    display:grid;
    grid-template-columns:1fr 170px;
    gap:16px;
    padding:14px;
    border:1px solid var(--line);
    border-radius:10px;
    background:#fff;
}
.phase25-campaign-title-row {
    display:flex;
    justify-content:space-between;
    gap:12px;
}
.phase25-campaign-title-row > div > span {
    color:var(--muted);
    font-size:6.5px;
    font-weight:800;
    letter-spacing:.08em;
    text-transform:uppercase;
}
.phase25-campaign-title-row h3 {
    margin:3px 0 0;
    font-family:Georgia,"Times New Roman",serif;
    font-size:18px;
    font-weight:400;
}
.phase25-status {
    align-self:flex-start;
    padding:5px 8px;
    border-radius:999px;
    font-size:6.5px;
    font-weight:800;
}
.phase25-status-draft {
    background:#eeeae3;
    color:#6e685f;
}
.phase25-status-planned {
    background:#e7edf3;
    color:#4d6277;
}
.phase25-status-completed {
    background:#e7efe8;
    color:#4e6753;
}
.phase25-status-archived {
    background:#f0eded;
    color:#776b6b;
}
.phase25-campaign-meta {
    display:flex;
    flex-wrap:wrap;
    gap:6px;
    margin-top:7px;
}
.phase25-campaign-meta span {
    padding:4px 7px;
    border-radius:999px;
    background:#f5f2ec;
    color:var(--muted);
    font-size:6.5px;
}
.phase25-offer {
    margin:10px 0 0;
    font-size:8px;
    font-weight:800;
}
.phase25-subject {
    display:block;
    margin-top:8px;
    font-size:8px;
}
.phase25-copy {
    margin:6px 0 0;
    color:var(--muted);
    font-size:8px;
    line-height:1.6;
}
.phase25-campaign-actions {
    display:grid;
    align-content:start;
    gap:8px;
}
.phase25-campaign-actions select {
    width:100%;
}
.phase25-campaign-actions button {
    width:100%;
    padding:8px;
    border:1px solid #ead4d1;
    border-radius:7px;
    background:#fff7f6;
    color:#94473f;
    font-size:7.5px;
    font-weight:750;
    cursor:pointer;
}
.phase25-empty {
    display:grid;
    place-items:center;
    min-height:140px;
    gap:4px;
    border:1px dashed var(--line);
    border-radius:9px;
}
.phase25-empty strong {
    font-family:Georgia,"Times New Roman",serif;
    font-size:15px;
    font-weight:400;
}
.phase25-empty span {
    color:var(--muted);
    font-size:7.5px;
}
@media (max-width:900px) {
    .phase25-kpi-grid,
    .phase25-segment-grid {
        grid-template-columns:repeat(2,1fr);
    }
    .phase25-campaign-form {
        grid-template-columns:repeat(2,1fr);
    }
    .phase25-campaign-card {
        grid-template-columns:1fr;
    }
}
@media (max-width:620px) {
    .phase25-header,
    .phase25-safety-note {
        grid-template-columns:1fr;
        display:grid;
    }
    .phase25-kpi-grid,
    .phase25-segment-grid,
    .phase25-campaign-form {
        grid-template-columns:1fr;
    }
    .phase25-wide {
        grid-column:auto;
    }
    .phase25-kpi-grid strong {
        font-size:23px;
    }
}


/* ===== Phase 25.1: Responsive Control Center Navigation ===== */
.phase251-topbar {
    z-index:100;
}
.phase251-topbar-right {
    display:flex;
    align-items:center;
    margin-left:auto;
}
.phase251-menu-button {
    display:inline-flex;
    align-items:center;
    gap:9px;
    min-height:42px;
    padding:0 14px;
    border:1px solid var(--line);
    border-radius:9px;
    background:#fff;
    color:var(--ink);
    font-weight:800;
    cursor:pointer;
}
.phase251-menu-lines {
    display:grid;
    gap:3px;
    width:16px;
}
.phase251-menu-lines i {
    display:block;
    width:100%;
    height:1.5px;
    border-radius:2px;
    background:currentColor;
}
.phase251-menu-badge {
    display:grid;
    place-items:center;
    min-width:20px;
    height:20px;
    padding:0 5px;
    border-radius:999px;
    background:var(--ink);
    color:#fff;
    font-size:10px;
}
.phase251-menu-panel {
    position:fixed;
    top:0;
    right:0;
    z-index:120;
    display:flex;
    flex-direction:column;
    width:min(430px, 92vw);
    height:100dvh;
    padding:22px;
    border-left:1px solid var(--line);
    background:var(--paper);
    box-shadow:-24px 0 70px rgba(30,27,22,.16);
    transform:translateX(102%);
    opacity:0;
    transition:transform .18s ease, opacity .18s ease;
    overflow-y:auto;
}
.phase251-menu-panel.is-open {
    transform:translateX(0);
    opacity:1;
}
.phase251-menu-backdrop {
    position:fixed;
    inset:0;
    z-index:110;
    background:rgba(18,17,14,.34);
    opacity:0;
    transition:opacity .18s ease;
}
.phase251-menu-backdrop.is-open {
    opacity:1;
}
.phase251-menu-open {
    overflow:hidden;
}
.phase251-menu-head {
    display:flex;
    justify-content:space-between;
    gap:15px;
    padding-bottom:17px;
    border-bottom:1px solid var(--line);
}
.phase251-menu-head > div {
    display:grid;
    gap:3px;
}
.phase251-menu-head > div > span {
    color:var(--gold);
    font-size:9px;
    font-weight:900;
    letter-spacing:.16em;
}
.phase251-menu-head strong {
    margin-top:3px;
    font-family:Georgia,"Times New Roman",serif;
    font-size:25px;
    font-weight:400;
}
.phase251-menu-head small {
    color:var(--muted);
    font-size:11px;
}
.phase251-menu-close {
    display:grid;
    place-items:center;
    width:38px;
    height:38px;
    padding:0;
    border:1px solid var(--line);
    border-radius:50%;
    background:#fff;
    color:var(--ink);
    font-size:24px;
    line-height:1;
    cursor:pointer;
}
.phase251-menu-search {
    display:grid;
    grid-template-columns:1fr auto;
    gap:8px;
    margin:18px 0;
}
.phase251-menu-search input {
    min-width:0;
    height:44px;
    padding:0 12px;
    border:1px solid var(--line);
    border-radius:8px;
    background:#fff;
    outline:none;
}
.phase251-menu-search input:focus {
    border-color:var(--gold);
    box-shadow:0 0 0 3px rgba(168,139,88,.12);
}
.phase251-menu-search button {
    min-height:44px;
    padding:0 15px;
    border:0;
    border-radius:8px;
    background:var(--ink);
    color:#fff;
    font-weight:800;
    cursor:pointer;
}
.phase251-menu-links {
    display:grid;
    gap:6px;
}
.phase251-menu-links a {
    display:grid;
    gap:3px;
    padding:12px 13px;
    border:1px solid transparent;
    border-radius:9px;
    text-decoration:none;
    transition:background .15s,border-color .15s;
}
.phase251-menu-links a:hover {
    border-color:var(--line);
    background:#faf7f1;
}
.phase251-menu-links a > span {
    display:flex;
    align-items:center;
    gap:7px;
    font-size:13px;
    font-weight:800;
}
.phase251-menu-links a > span b {
    display:grid;
    place-items:center;
    min-width:19px;
    height:19px;
    padding:0 5px;
    border-radius:999px;
    background:#8b2e2e;
    color:#fff;
    font-size:9px;
}
.phase251-menu-links a > small {
    color:var(--muted);
    font-size:10px;
}
.phase251-menu-footer {
    margin-top:auto;
    padding-top:20px;
}
.phase251-menu-footer .btn {
    width:100%;
}

/* ===== Phase 25.1: Marketing Center visual refresh ===== */
.phase251-marketing-wrap {
    display:grid;
    gap:18px;
    padding-top:44px;
}
.phase251-marketing-wrap .admin-card {
    padding:22px;
}
.phase251-marketing-wrap .phase25-header {
    padding:4px 2px 10px;
}
.phase251-marketing-wrap .phase25-header h1 {
    margin:0;
    font-family:Georgia,"Times New Roman",serif;
    font-size:clamp(38px,5vw,58px);
    line-height:1;
    font-weight:400;
    letter-spacing:-.035em;
}
.phase251-marketing-wrap .phase25-header > div > p:last-child {
    max-width:680px;
    margin:11px 0 0;
    color:var(--muted);
    font-size:14px;
    line-height:1.6;
}
.phase251-marketing-wrap .phase25-safety-note {
    position:relative;
    overflow:hidden;
    grid-template-columns:minmax(190px,.7fr) minmax(0,1.3fr);
    padding:20px 22px;
    border-left:0;
    background:linear-gradient(135deg,#fffdf9,#f3ecdf);
}
.phase251-marketing-wrap .phase25-safety-note:before {
    content:"";
    position:absolute;
    inset:0 auto 0 0;
    width:4px;
    background:var(--gold);
}
.phase251-marketing-wrap .phase25-safety-note h2 {
    font-size:22px;
}
.phase251-marketing-wrap .phase25-safety-note > p {
    font-size:12px;
}
.phase251-marketing-wrap .phase25-kpi-grid {
    gap:12px;
}
.phase251-marketing-wrap .phase25-kpi-grid article {
    min-height:130px;
    align-content:space-between;
    padding:18px;
}
.phase251-marketing-wrap .phase25-kpi-grid span {
    font-size:10px;
    font-weight:800;
    letter-spacing:.04em;
    text-transform:uppercase;
}
.phase251-marketing-wrap .phase25-kpi-grid strong {
    font-size:38px;
}
.phase251-marketing-wrap .phase25-kpi-grid small {
    font-size:11px;
    line-height:1.4;
}
.phase251-marketing-wrap .phase23-card-heading {
    margin-bottom:16px;
}
.phase251-marketing-wrap .phase23-card-heading h2 {
    margin:3px 0 0;
    font-family:Georgia,"Times New Roman",serif;
    font-size:27px;
    font-weight:400;
}
.phase251-marketing-wrap .phase25-segment-grid {
    gap:12px;
}
.phase251-marketing-wrap .phase25-segment-grid a {
    min-height:128px;
    align-content:space-between;
    padding:16px;
    border-radius:12px;
}
.phase251-marketing-wrap .phase25-segment-grid span {
    font-size:11px;
}
.phase251-marketing-wrap .phase25-segment-grid strong {
    font-size:34px;
}
.phase251-marketing-wrap .phase25-segment-grid small {
    font-size:10px;
    line-height:1.45;
}
.phase251-marketing-wrap .phase25-campaign-form {
    gap:14px;
}
.phase251-marketing-wrap .phase25-campaign-form label {
    gap:7px;
}
.phase251-marketing-wrap .phase25-campaign-form label > span {
    color:var(--ink-soft);
    font-size:11px;
    font-weight:800;
}
.phase251-marketing-wrap .phase25-campaign-form input,
.phase251-marketing-wrap .phase25-campaign-form select,
.phase251-marketing-wrap .phase25-campaign-form textarea {
    min-height:46px;
    padding:11px 12px;
    border:1px solid var(--line);
    border-radius:8px;
    background:#fff;
    color:var(--ink);
    font-size:13px;
    outline:none;
}
.phase251-marketing-wrap .phase25-campaign-form textarea {
    min-height:150px;
    resize:vertical;
}
.phase251-marketing-wrap .phase25-campaign-form input:focus,
.phase251-marketing-wrap .phase25-campaign-form select:focus,
.phase251-marketing-wrap .phase25-campaign-form textarea:focus {
    border-color:var(--gold);
    box-shadow:0 0 0 3px rgba(168,139,88,.12);
}
.phase251-marketing-wrap .phase25-form-actions .btn {
    min-width:175px;
}
.phase251-marketing-wrap .phase25-campaign-list {
    gap:12px;
}
.phase251-marketing-wrap .phase25-campaign-card {
    grid-template-columns:minmax(0,1fr) 185px;
    padding:17px;
    border-radius:12px;
}
.phase251-marketing-wrap .phase25-campaign-title-row > div > span {
    font-size:9px;
}
.phase251-marketing-wrap .phase25-campaign-title-row h3 {
    font-size:22px;
}
.phase251-marketing-wrap .phase25-status {
    padding:6px 9px;
    font-size:9px;
}
.phase251-marketing-wrap .phase25-campaign-meta span {
    padding:5px 8px;
    font-size:9px;
}
.phase251-marketing-wrap .phase25-offer,
.phase251-marketing-wrap .phase25-subject {
    font-size:12px;
}
.phase251-marketing-wrap .phase25-copy {
    font-size:12px;
    line-height:1.6;
}
.phase251-marketing-wrap .phase25-campaign-actions select,
.phase251-marketing-wrap .phase25-campaign-actions button {
    min-height:42px;
    font-size:11px;
}
.phase251-marketing-wrap .phase25-empty {
    min-height:175px;
}
.phase251-marketing-wrap .phase25-empty strong {
    font-size:20px;
}
.phase251-marketing-wrap .phase25-empty span {
    font-size:11px;
}

@media (max-width:900px) {
    .phase251-marketing-wrap {
        padding-top:34px;
    }
    .phase251-marketing-wrap .phase25-kpi-grid,
    .phase251-marketing-wrap .phase25-segment-grid {
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
    .phase251-marketing-wrap .phase25-campaign-form {
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
    .phase251-marketing-wrap .phase25-campaign-card {
        grid-template-columns:1fr;
    }
}

@media (max-width:620px) {
    .phase251-topbar {
        min-height:64px;
        padding:0 14px;
    }
    .phase251-menu-button {
        min-height:40px;
        padding:0 12px;
    }
    .phase251-menu-panel {
        width:100vw;
        padding:18px 15px max(18px,env(safe-area-inset-bottom));
        border-left:0;
    }
    .phase251-menu-search {
        grid-template-columns:1fr;
    }
    .phase251-menu-search button {
        width:100%;
    }
    .phase251-menu-links a {
        padding:13px 10px;
    }
    .phase251-menu-links a > span {
        font-size:14px;
    }
    .phase251-menu-links a > small {
        font-size:11px;
    }
    .phase251-marketing-wrap {
        width:min(100% - 24px,1180px);
        padding-top:28px;
        gap:14px;
    }
    .phase251-marketing-wrap .admin-card {
        padding:16px;
        border-radius:13px;
    }
    .phase251-marketing-wrap .phase25-header {
        display:grid;
        gap:14px;
    }
    .phase251-marketing-wrap .phase25-header .btn {
        width:100%;
    }
    .phase251-marketing-wrap .phase25-header h1 {
        font-size:40px;
    }
    .phase251-marketing-wrap .phase25-header > div > p:last-child {
        font-size:13px;
    }
    .phase251-marketing-wrap .phase25-safety-note,
    .phase251-marketing-wrap .phase25-kpi-grid,
    .phase251-marketing-wrap .phase25-segment-grid,
    .phase251-marketing-wrap .phase25-campaign-form {
        grid-template-columns:1fr;
    }
    .phase251-marketing-wrap .phase25-wide {
        grid-column:auto;
    }
    .phase251-marketing-wrap .phase25-kpi-grid article {
        min-height:112px;
    }
    .phase251-marketing-wrap .phase25-segment-grid a {
        min-height:112px;
    }
    .phase251-marketing-wrap .phase25-form-actions .btn {
        width:100%;
        min-height:50px;
    }
    .phase251-marketing-wrap .phase25-campaign-title-row {
        display:grid;
    }
    .phase251-marketing-wrap .phase25-status {
        justify-self:start;
    }
}


/* ===== Phase 26: Marketing Consent & Contact Preferences ===== */
.phase26-consent-summary {
    overflow:hidden;
}
.phase26-consent-grid {
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:10px;
}
.phase26-consent-grid > div {
    display:grid;
    gap:4px;
    min-height:110px;
    padding:15px;
    border:1px solid var(--line);
    border-radius:10px;
    background:#faf8f4;
}
.phase26-consent-grid span {
    color:var(--muted);
    font-size:9px;
    font-weight:800;
    letter-spacing:.04em;
    text-transform:uppercase;
}
.phase26-consent-grid strong {
    font-family:Georgia,"Times New Roman",serif;
    font-size:31px;
    font-weight:400;
}
.phase26-consent-grid small {
    color:var(--muted);
    font-size:10px;
    line-height:1.45;
}
.phase26-preferences-card {
    overflow:hidden;
}
.phase26-consent-status {
    align-self:flex-start;
    padding:6px 9px;
    border-radius:999px;
    background:#f3e9e7;
    color:#8a514b;
    font-size:9px;
    font-weight:800;
}
.phase26-consent-status.is-opted-in {
    background:#e6efe7;
    color:#4c6751;
}
.phase26-preferences-form {
    display:grid;
    gap:12px;
}
.phase26-optin-option {
    display:grid;
    grid-template-columns:auto 1fr;
    gap:11px;
    align-items:flex-start;
    padding:14px;
    border:1px solid var(--line);
    border-radius:10px;
    background:#fff;
    cursor:pointer;
}
.phase26-optin-option input {
    width:18px;
    height:18px;
    margin-top:2px;
}
.phase26-optin-option > span {
    display:grid;
    gap:3px;
}
.phase26-optin-option strong {
    font-size:12px;
}
.phase26-optin-option small {
    color:var(--muted);
    font-size:10px;
    line-height:1.45;
}
.phase26-pref-grid {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:10px;
}
.phase26-pref-grid label {
    display:grid;
    gap:6px;
}
.phase26-pref-grid label > span {
    color:var(--muted);
    font-size:10px;
    font-weight:800;
}
.phase26-pref-grid input,
.phase26-pref-grid select {
    width:100%;
    min-height:43px;
    padding:9px 10px;
    border:1px solid var(--line);
    border-radius:8px;
    background:#fff;
}
.phase26-wide {
    grid-column:1/-1;
}
.phase26-preference-meta {
    display:flex;
    flex-wrap:wrap;
    gap:7px;
}
.phase26-preference-meta span {
    padding:5px 8px;
    border-radius:999px;
    background:#f5f2ec;
    color:var(--muted);
    font-size:9px;
}
@media (max-width:850px) {
    .phase26-consent-grid {
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
}
@media (max-width:620px) {
    .phase26-consent-grid,
    .phase26-pref-grid {
        grid-template-columns:1fr;
    }
    .phase26-wide {
        grid-column:auto;
    }
    .phase26-consent-grid > div {
        min-height:95px;
    }
    .phase26-preferences-form > .btn {
        min-height:48px;
        width:100%;
    }
}


/* ===== Phase 27: Campaign Templates + Audience Preview ===== */
.phase27-heading-actions {
    display:flex;
    flex-wrap:wrap;
    gap:8px;
}
.phase27-template-form {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:12px;
    margin-bottom:18px;
}
.phase27-template-form label {
    display:grid;
    gap:6px;
}
.phase27-template-form label > span {
    color:var(--muted);
    font-size:10px;
    font-weight:800;
}
.phase27-template-form input,
.phase27-template-form select,
.phase27-template-form textarea {
    width:100%;
    min-height:44px;
    padding:10px 11px;
    border:1px solid var(--line);
    border-radius:8px;
    background:#fff;
}
.phase27-template-form textarea {
    min-height:120px;
    resize:vertical;
}
.phase27-wide {
    grid-column:1/-1;
}
.phase27-template-grid {
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:10px;
    padding-top:4px;
    border-top:1px solid var(--line);
}
.phase27-template-card {
    display:grid;
    gap:10px;
    padding:15px;
    border:1px solid var(--line);
    border-radius:10px;
    background:#faf8f4;
}
.phase27-template-card > div > span {
    color:var(--muted);
    font-size:8px;
    font-weight:800;
    text-transform:uppercase;
    letter-spacing:.08em;
}
.phase27-template-card h3 {
    margin:3px 0 0;
    font-family:Georgia,"Times New Roman",serif;
    font-size:19px;
    font-weight:400;
}
.phase27-template-card p {
    margin:0;
    font-size:11px;
    line-height:1.5;
}
.phase27-template-card small {
    color:var(--muted);
    font-size:10px;
    line-height:1.5;
}
.phase27-template-card button {
    width:100%;
    min-height:38px;
    border:1px solid #ead4d1;
    border-radius:7px;
    background:#fff7f6;
    color:#94473f;
    font-size:10px;
    font-weight:800;
    cursor:pointer;
}
.phase27-audience-wrap {
    display:grid;
    gap:16px;
    padding-top:40px;
}
.phase27-page-head h1 {
    margin:0;
    font-family:Georgia,"Times New Roman",serif;
    font-size:clamp(36px,5vw,54px);
    font-weight:400;
    letter-spacing:-.03em;
}
.phase27-page-head > div > p:last-child {
    margin:8px 0 0;
    color:var(--muted);
    font-size:13px;
}
.phase27-filter-form {
    display:grid;
    grid-template-columns:1fr 1fr auto;
    gap:10px;
    align-items:end;
}
.phase27-filter-form label {
    display:grid;
    gap:6px;
}
.phase27-filter-form span {
    color:var(--muted);
    font-size:10px;
    font-weight:800;
}
.phase27-filter-form select {
    min-height:44px;
    padding:9px 10px;
    border:1px solid var(--line);
    border-radius:8px;
    background:#fff;
}
.phase27-audience-kpis {
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:10px;
}
.phase27-audience-kpis article {
    display:grid;
    gap:5px;
}
.phase27-audience-kpis span {
    color:var(--muted);
    font-size:9px;
    font-weight:800;
    text-transform:uppercase;
}
.phase27-audience-kpis strong {
    font-family:Georgia,"Times New Roman",serif;
    font-size:31px;
    font-weight:400;
}
.phase27-table-wrap {
    overflow-x:auto;
}
.phase27-audience-table {
    width:100%;
    border-collapse:collapse;
    min-width:760px;
}
.phase27-audience-table th,
.phase27-audience-table td {
    padding:11px 10px;
    border-bottom:1px solid var(--line);
    text-align:left;
    vertical-align:top;
    font-size:11px;
}
.phase27-audience-table th {
    color:var(--muted);
    font-size:9px;
    text-transform:uppercase;
    letter-spacing:.05em;
}
.phase27-audience-table td:first-child {
    display:grid;
    gap:2px;
}
.phase27-audience-table td:first-child small {
    color:var(--muted);
    font-size:8px;
}
.phase27-eligibility-badges {
    display:flex;
    flex-wrap:wrap;
    gap:5px;
}
.phase27-eligibility-badges span {
    padding:4px 7px;
    border-radius:999px;
    background:#e6efe7;
    color:#4c6751;
    font-size:9px;
    font-weight:800;
}
@media (max-width:900px) {
    .phase27-template-grid {
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
    .phase27-audience-kpis {
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
}
@media (max-width:620px) {
    .phase27-template-form,
    .phase27-template-grid,
    .phase27-filter-form,
    .phase27-audience-kpis {
        grid-template-columns:1fr;
    }
    .phase27-wide {
        grid-column:auto;
    }
    .phase27-heading-actions {
        width:100%;
    }
    .phase27-heading-actions .btn {
        flex:1 1 100%;
    }
    .phase27-filter-form .btn {
        width:100%;
        min-height:48px;
    }
}


/* ===== Phase 28: Marketing Calendar + Approval Workflow ===== */
.phase25-status-approved,
.phase28-event-approved {
    background:#e8efe7;
    color:#49634e;
}
.phase28-calendar-wrap {
    display:grid;
    gap:16px;
    padding-top:40px;
}
.phase28-page-head h1 {
    margin:0;
    font-family:Georgia,"Times New Roman",serif;
    font-size:clamp(36px,5vw,54px);
    font-weight:400;
    letter-spacing:-.03em;
}
.phase28-page-head > div > p:last-child {
    margin:8px 0 0;
    color:var(--muted);
    font-size:13px;
}
.phase28-kpis {
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:10px;
}
.phase28-kpis article {
    display:grid;
    gap:5px;
}
.phase28-kpis span {
    color:var(--muted);
    font-size:9px;
    font-weight:800;
    text-transform:uppercase;
}
.phase28-kpis strong {
    font-family:Georgia,"Times New Roman",serif;
    font-size:31px;
    font-weight:400;
}
.phase28-calendar-card {
    overflow:hidden;
}
.phase28-calendar-toolbar {
    display:grid;
    grid-template-columns:auto 1fr auto;
    gap:12px;
    align-items:center;
    margin-bottom:16px;
}
.phase28-calendar-toolbar > div {
    text-align:center;
}
.phase28-calendar-toolbar > div > span {
    color:var(--muted);
    font-size:8px;
    font-weight:900;
    letter-spacing:.1em;
}
.phase28-calendar-toolbar h2 {
    margin:3px 0 0;
    font-family:Georgia,"Times New Roman",serif;
    font-size:28px;
    font-weight:400;
}
.phase28-weekdays {
    display:grid;
    grid-template-columns:repeat(7,minmax(0,1fr));
    border:1px solid var(--line);
    border-bottom:0;
    border-radius:10px 10px 0 0;
    overflow:hidden;
}
.phase28-weekdays span {
    padding:9px 7px;
    border-left:1px solid var(--line);
    background:#f5f1ea;
    color:var(--muted);
    font-size:8px;
    font-weight:850;
    text-align:center;
    text-transform:uppercase;
}
.phase28-weekdays span:first-child {
    border-left:0;
}
.phase28-calendar-grid {
    display:grid;
    grid-template-columns:repeat(7,minmax(0,1fr));
    border-top:1px solid var(--line);
    border-left:1px solid var(--line);
}
.phase28-day {
    min-width:0;
    min-height:132px;
    padding:8px;
    border-right:1px solid var(--line);
    border-bottom:1px solid var(--line);
    background:#fff;
}
.phase28-day.is-empty {
    background:#faf8f4;
}
.phase28-day.is-today {
    box-shadow:inset 0 0 0 2px #aa8b5c;
}
.phase28-day-number {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:6px;
    min-height:23px;
    margin-bottom:7px;
}
.phase28-day-number > span {
    font-size:11px;
    font-weight:850;
}
.phase28-day-number small {
    color:#866b45;
    font-size:7px;
    font-weight:850;
}
.phase28-day-campaigns {
    display:grid;
    gap:5px;
}
.phase28-calendar-event {
    display:grid;
    gap:2px;
    padding:6px 7px;
    border-radius:7px;
    background:#f0ece5;
    color:inherit;
    text-decoration:none;
}
.phase28-calendar-event > span {
    overflow:hidden;
    text-overflow:ellipsis;
    font-size:8px;
    font-weight:800;
}
.phase28-calendar-event small {
    color:inherit;
    opacity:.78;
    font-size:7px;
}
.phase28-event-draft {
    background:#efebe5;
    color:#69635c;
}
.phase28-event-planned {
    background:#e8edf2;
    color:#4f6274;
}
.phase28-event-completed {
    background:#e7efe8;
    color:#4d6752;
}
.phase28-empty-month {
    display:grid;
    justify-items:center;
    gap:7px;
    padding:28px;
    text-align:center;
}
.phase28-empty-month strong {
    font-family:Georgia,"Times New Roman",serif;
    font-size:21px;
    font-weight:400;
}
.phase28-empty-month span {
    color:var(--muted);
    font-size:11px;
}
.phase28-empty-month .btn {
    margin-top:5px;
}
.phase28-approval-note h2 {
    margin:4px 0 8px;
    font-family:Georgia,"Times New Roman",serif;
    font-size:23px;
    font-weight:400;
}
.phase28-approval-note > p:last-child {
    margin:0;
    color:var(--muted);
    font-size:11px;
    line-height:1.6;
}
@media (max-width:900px) {
    .phase28-kpis {
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
    .phase28-calendar-card {
        overflow-x:auto;
    }
    .phase28-weekdays,
    .phase28-calendar-grid {
        min-width:840px;
    }
}
@media (max-width:620px) {
    .phase28-calendar-wrap {
        width:min(100% - 24px,1180px);
        padding-top:28px;
    }
    .phase28-kpis {
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
    .phase28-calendar-toolbar {
        grid-template-columns:1fr 1fr;
    }
    .phase28-calendar-toolbar > div {
        grid-column:1/-1;
        grid-row:1;
    }
    .phase28-calendar-toolbar > a:first-child {
        grid-column:1;
        grid-row:2;
    }
    .phase28-calendar-toolbar > a:last-child {
        grid-column:2;
        grid-row:2;
    }
}

/* Phases 29-31 */
.phase2931-wrap{display:grid;gap:16px;padding-top:40px}.phase2931-wrap>header h1{margin:0;font-family:Georgia,"Times New Roman",serif;font-size:clamp(36px,5vw,54px);font-weight:400;letter-spacing:-.03em}.phase2931-wrap>header>p:last-child,.phase2931-note{color:var(--muted);font-size:11px;line-height:1.6}.phase2931-kpis{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:9px}.phase2931-kpis article{display:grid;gap:5px;padding:15px}.phase2931-kpis span{color:var(--muted);font-size:8px;font-weight:800;text-transform:uppercase}.phase2931-kpis strong{font-family:Georgia,"Times New Roman",serif;font-size:28px;font-weight:400}.phase2931-list{display:grid;gap:8px}.phase2931-list article{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px;border:1px solid var(--line);border-radius:9px;background:#faf8f4}.phase2931-list article>div{display:grid;gap:3px}.phase2931-list strong{font-size:11px}.phase2931-list small{color:var(--muted);font-size:9px}.phase2931-safety{border-left:4px solid var(--gold)}.phase2931-safety h2{margin:4px 0 8px;font-family:Georgia,"Times New Roman",serif;font-size:23px;font-weight:400}.phase2931-safety p:last-child{margin:0;color:var(--muted);font-size:11px;line-height:1.6}
@media(max-width:1000px){.phase2931-kpis{grid-template-columns:repeat(4,minmax(0,1fr))}}@media(max-width:620px){.phase2931-wrap{width:min(100% - 24px,1180px);padding-top:28px}.phase2931-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.phase2931-list article{align-items:stretch;flex-direction:column}.phase2931-list .btn{width:100%}}


/* ===== Phase 32: Live Email/SMS Delivery ===== */
.phase32-wrap{display:grid;gap:16px;padding-top:40px}
.phase32-wrap>header h1{margin:0;font-family:Georgia,"Times New Roman",serif;font-size:clamp(36px,5vw,54px);font-weight:400;letter-spacing:-.03em}
.phase32-wrap>header>p:last-child{margin:8px 0 0;color:var(--muted);font-size:12px}
.phase32-provider-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.phase32-state{padding:5px 9px;border-radius:999px;background:#eee8df;color:#756d63;font-size:9px;font-weight:850}
.phase32-state.is-on{background:#e5efe6;color:#45614a}
.phase32-form{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.phase32-form label{display:grid;gap:6px}
.phase32-form label>span,.phase32-test-form+span{color:var(--muted);font-size:9px;font-weight:800}
.phase32-form input,.phase32-form textarea,.phase32-form select,.phase32-test-form input,.phase32-test-form select{width:100%;box-sizing:border-box;min-height:44px;padding:10px 11px;border:1px solid var(--line);border-radius:8px;background:#fff}
.phase32-form textarea{resize:vertical;min-height:96px}
.phase32-form .phase32-wide{grid-column:1/-1}
.phase32-toggle{grid-column:1/-1;display:flex!important;grid-template-columns:none!important;align-items:center;gap:8px!important}
.phase32-toggle input{width:18px!important;min-height:18px!important}
.phase32-urls{display:grid;gap:8px;margin-top:18px}
.phase32-urls>div{display:grid;gap:5px;padding:11px;border:1px solid var(--line);border-radius:8px;background:#faf8f4}
.phase32-urls span{font-size:9px;font-weight:850}
.phase32-urls code{overflow-wrap:anywhere;color:#6b635b;font-size:9px;line-height:1.5}
.phase32-test-form{display:grid;grid-template-columns:180px 1fr auto;gap:9px}
.phase32-delivery-kpis{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:8px}
.phase32-delivery-kpis article{display:grid;gap:5px;padding:13px}
.phase32-delivery-kpis span{color:var(--muted);font-size:8px;font-weight:850;text-transform:uppercase}
.phase32-delivery-kpis strong{font-family:Georgia,"Times New Roman",serif;font-size:25px;font-weight:400}
.phase32-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:15px}
.phase32-send-link{min-height:32px!important;padding:7px 10px!important;font-size:9px!important}
@media(max-width:1000px){.phase32-delivery-kpis{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:780px){.phase32-provider-grid{grid-template-columns:1fr}.phase32-form{grid-template-columns:1fr}.phase32-form .phase32-wide,.phase32-toggle{grid-column:auto}.phase32-test-form{grid-template-columns:1fr}.phase32-test-form .btn{width:100%}}
@media(max-width:620px){.phase32-wrap{width:min(100% - 24px,1180px);padding-top:28px}.phase32-delivery-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.phase32-actions{display:grid}.phase32-actions .btn{width:100%}}


/* ===== Phase 33: System Consolidation & Final Polish ===== */
:root{--phase33-drawer:360px}
.phase33-topbar{position:relative;z-index:100;min-height:70px;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:0 max(22px,calc((100vw - 1180px)/2));border-bottom:1px solid var(--line);background:rgba(255,255,255,.96);backdrop-filter:blur(10px)}
.phase33-menu-button{display:inline-flex;align-items:center;gap:9px;min-height:40px;padding:8px 12px;border:1px solid var(--line);border-radius:8px;background:#fff;color:inherit;font:inherit;font-size:11px;font-weight:800;cursor:pointer}
.phase33-menu-button>b,.phase33-menu-links a span>b{display:inline-grid;place-items:center;min-width:19px;height:19px;padding:0 5px;border-radius:999px;background:#292722;color:#fff;font-size:8px}
.phase33-menu-lines{display:grid;gap:3px;width:15px}.phase33-menu-lines i{height:1.5px;background:currentColor}
.phase33-menu{position:fixed;z-index:130;top:0;right:0;width:min(var(--phase33-drawer),92vw);height:100dvh;box-sizing:border-box;display:flex;flex-direction:column;padding:20px;background:#fff;border-left:1px solid var(--line);box-shadow:-20px 0 50px rgba(25,20,15,.12);overflow:auto}
.phase33-menu[hidden],.phase33-menu-backdrop[hidden]{display:none!important}
.phase33-menu-backdrop{position:fixed;z-index:120;inset:0;border:0;background:rgba(25,20,15,.36);cursor:pointer}
.phase33-menu-head{display:flex;justify-content:space-between;gap:14px;align-items:flex-start;padding-bottom:16px;border-bottom:1px solid var(--line)}
.phase33-menu-head>div{display:grid;gap:2px}.phase33-menu-head small{font-size:8px;letter-spacing:.12em;color:var(--muted);font-weight:900}.phase33-menu-head strong{font-family:Georgia,"Times New Roman",serif;font-size:24px;font-weight:400}.phase33-menu-head span{font-size:9px;color:var(--muted)}
.phase33-menu-head>button{width:36px;height:36px;border:1px solid var(--line);border-radius:8px;background:#fff;font-size:22px;cursor:pointer}
.phase33-menu-search{display:grid;grid-template-columns:1fr auto;gap:7px;margin:14px 0}.phase33-menu-search input{min-width:0;min-height:42px;padding:9px 10px;border:1px solid var(--line);border-radius:8px}.phase33-menu-search button{min-height:42px;padding:8px 11px;border:0;border-radius:8px;background:#25231f;color:#fff;font-size:10px;font-weight:800}
.phase33-menu-links{display:grid;gap:4px}.phase33-menu-links a{display:grid;gap:2px;padding:10px 11px;border:1px solid transparent;border-radius:8px;color:inherit;text-decoration:none}.phase33-menu-links a:hover,.phase33-menu-links a.is-active{background:#f5f1ea;border-color:var(--line)}.phase33-menu-links a>span{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:11px;font-weight:800}.phase33-menu-links a>small{font-size:8px;color:var(--muted)}
.phase33-menu-footer{margin-top:auto;padding-top:16px;border-top:1px solid var(--line)}.phase33-menu-footer .btn{width:100%}
html.phase33-menu-open,html.phase33-menu-open body{overflow:hidden}
.phase33-status-wrap{display:grid;gap:16px;padding-top:40px;padding-bottom:50px}.phase33-status-hero{display:flex;align-items:flex-end;justify-content:space-between;gap:20px}.phase33-status-hero h1{margin:0;font-family:Georgia,"Times New Roman",serif;font-size:clamp(38px,6vw,62px);font-weight:400;letter-spacing:-.04em}.phase33-status-hero p:last-child{max-width:700px;margin:8px 0 0;color:var(--muted);font-size:12px;line-height:1.6}
.phase33-health-ring{flex:0 0 auto;width:116px;height:116px;border:1px solid var(--line);border-radius:999px;display:grid;place-content:center;text-align:center;background:#faf8f4}.phase33-health-ring strong{font-family:Georgia,"Times New Roman",serif;font-size:35px;font-weight:400;line-height:1}.phase33-health-ring span{margin-top:4px;color:var(--muted);font-size:8px;text-transform:uppercase;font-weight:850}
.phase33-status-groups{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.phase33-check-list{display:grid}.phase33-check-row{display:grid;grid-template-columns:10px 1fr auto;align-items:center;gap:10px;padding:10px 0;border-top:1px solid var(--line)}.phase33-check-row:first-child{border-top:0}.phase33-check-dot{width:8px;height:8px;border-radius:999px;background:#b68b84}.phase33-check-dot.is-ok{background:#6b8a70}.phase33-check-row>div{display:grid;gap:2px}.phase33-check-row strong{font-size:10px}.phase33-check-row small{color:var(--muted);font-size:8px;overflow-wrap:anywhere}.phase33-check-row>b{font-size:8px;color:var(--muted)}.phase33-final-card h2{margin:4px 0 8px;font-family:Georgia,"Times New Roman",serif;font-size:25px;font-weight:400}.phase33-final-card p:last-child{margin:0;color:var(--muted);font-size:11px;line-height:1.6}
@media(max-width:760px){.phase33-topbar{padding:0 16px}.phase33-menu{width:100vw;border-left:0}.phase33-status-wrap{width:min(100% - 24px,1180px);padding-top:28px}.phase33-status-hero{align-items:flex-start;flex-direction:column}.phase33-health-ring{width:94px;height:94px}.phase33-status-groups{grid-template-columns:1fr}}


/* ===== Phase 33.1: true desktop navigation + visible Notifications ===== */
.phase33-topbar{
    display:block;
    min-height:0;
    padding:0;
}
.phase33-topbar-inner{
    width:min(1180px,calc(100% - 44px));
    min-height:66px;
    margin:0 auto;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:18px;
}
.phase33-desktop-user{
    margin-left:auto;
    display:flex;
    align-items:baseline;
    gap:7px;
    color:var(--muted);
}
.phase33-desktop-user span{font-size:10px;font-weight:800;color:inherit}
.phase33-desktop-user small{font-size:8px;text-transform:uppercase;letter-spacing:.08em}

.phase33-desktop-nav{
    display:block;
    border-top:1px solid var(--line);
    background:#fff;
}
.phase33-desktop-nav-inner{
    width:min(1180px,calc(100% - 44px));
    min-height:47px;
    margin:0 auto;
    display:flex;
    align-items:stretch;
    gap:2px;
    overflow-x:auto;
    scrollbar-width:none;
}
.phase33-desktop-nav-inner::-webkit-scrollbar{display:none}
.phase33-desktop-nav a{
    position:relative;
    flex:0 0 auto;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:6px;
    padding:0 11px;
    color:#625c54;
    text-decoration:none;
    font-size:9px;
    font-weight:800;
    white-space:nowrap;
    border-bottom:2px solid transparent;
}
.phase33-desktop-nav a:hover{
    color:#23211d;
    background:#faf8f4;
}
.phase33-desktop-nav a.is-active{
    color:#23211d;
    border-bottom-color:#23211d;
}
.phase33-desktop-nav .phase33-notification-link{
    color:#302d28;
}
.phase33-notification-link>b{
    display:inline-grid;
    place-items:center;
    min-width:18px;
    height:18px;
    padding:0 5px;
    border-radius:999px;
    background:#292722;
    color:#fff;
    font-size:8px;
    line-height:1;
}
.phase33-desktop-signout{
    margin-left:auto;
    color:#8a8177!important;
}
.phase33-menu-button{display:none}

@media(max-width:900px){
    .phase33-topbar{
        min-height:70px;
        display:flex;
        align-items:center;
    }
    .phase33-topbar-inner{
        width:100%;
        min-height:70px;
        padding:0 16px;
        box-sizing:border-box;
    }
    .phase33-desktop-nav,
    .phase33-desktop-user{
        display:none;
    }
    .phase33-menu-button{
        display:inline-flex;
    }
}


/* ===== Phase 34: Complete Business Management System ===== */
.phase34-wrap{display:grid;gap:16px;padding-top:36px;padding-bottom:60px}
.phase34-hero{display:flex;align-items:flex-end;justify-content:space-between;gap:20px}
.phase34-hero h1{margin:0;font-family:Georgia,"Times New Roman",serif;font-size:clamp(38px,5.5vw,62px);font-weight:400;letter-spacing:-.04em}
.phase34-hero p:last-child{margin:7px 0 0;color:var(--muted);font-size:11px;max-width:760px;line-height:1.6}
.phase34-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.phase34-kpis article{display:grid;gap:5px;padding:16px}
.phase34-kpis span{font-size:8px;color:var(--muted);font-weight:900;text-transform:uppercase;letter-spacing:.06em}
.phase34-kpis strong{font-family:Georgia,"Times New Roman",serif;font-size:27px;font-weight:400}
.phase34-kpis small{font-size:8px;color:var(--muted)}
.phase34-two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.phase34-three{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.phase34-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}
.phase34-form h2,.phase34-two h2,.phase34-three h2{font-family:Georgia,"Times New Roman",serif;font-weight:400}
.phase34-form>h2,.phase34-form>.section-heading,.phase34-form>.btn{grid-column:1/-1}
.phase34-form label{display:grid;gap:5px}.phase34-form label>span{font-size:8px;color:var(--muted);font-weight:850}
.phase34-form input,.phase34-form select,.phase34-form textarea,.phase34-inline-filter input,.phase34-table input,.phase34-table select{width:100%;box-sizing:border-box;min-height:40px;padding:8px 9px;border:1px solid var(--line);border-radius:7px;background:#fff}
.phase34-form textarea{resize:vertical}.phase34-wide{grid-column:1/-1!important}
.phase34-check{grid-column:1/-1!important;display:flex!important;align-items:center;gap:8px!important}.phase34-check input{width:17px!important;min-height:17px!important}
.phase34-list{display:grid}.phase34-list>div{display:grid;gap:2px;padding:10px 0;border-top:1px solid var(--line)}.phase34-list>div:first-child{border-top:0}.phase34-list strong{font-size:10px}.phase34-list span,.phase34-list p{font-size:8px;color:var(--muted)}
.phase34-list-action{grid-template-columns:1fr auto!important;align-items:center;gap:10px!important}.phase34-list-action form{display:flex;gap:5px}
.phase34-detail-list{display:grid}.phase34-detail-list>div{display:grid;grid-template-columns:120px 1fr;gap:10px;padding:9px 0;border-top:1px solid var(--line)}.phase34-detail-list>div:first-child{border-top:0}.phase34-detail-list span{font-size:8px;color:var(--muted)}.phase34-detail-list strong{font-size:9px;font-weight:600;overflow-wrap:anywhere}
.phase34-table-wrap{overflow:auto}.phase34-table{width:100%;border-collapse:collapse;min-width:820px}.phase34-table th,.phase34-table td{padding:9px 8px;border-bottom:1px solid var(--line);text-align:left;font-size:8px;vertical-align:middle}.phase34-table th{color:var(--muted);font-weight:900;text-transform:uppercase}.phase34-table td a{font-weight:800;color:inherit}
.phase34-inline-filter{display:flex;gap:6px;align-items:center}.phase34-inline-filter input{width:auto}
.phase34-owner-tabs{display:flex;gap:6px;flex-wrap:wrap}.phase34-owner-tabs a{padding:8px 10px;border:1px solid var(--line);border-radius:7px;text-decoration:none;color:inherit;font-size:9px;font-weight:800}.phase34-owner-tabs a.is-active{background:#292722;color:#fff}
.phase34-dashboard-strip{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}.phase34-dashboard-strip article{padding:13px;border:1px solid var(--line);border-radius:10px;background:#fff;display:grid;gap:4px}.phase34-dashboard-strip span{font-size:8px;color:var(--muted);font-weight:850}.phase34-dashboard-strip strong{font-family:Georgia,"Times New Roman",serif;font-size:23px;font-weight:400}
.phase34-command-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.phase34-command-grid a{display:grid;gap:3px;padding:13px;border:1px solid var(--line);border-radius:10px;background:#faf8f4;color:inherit;text-decoration:none}.phase34-command-grid strong{font-size:10px}.phase34-command-grid span{font-size:8px;color:var(--muted);line-height:1.45}
@media(max-width:1050px){.phase34-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.phase34-dashboard-strip{grid-template-columns:repeat(3,minmax(0,1fr))}.phase34-command-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.phase34-three{grid-template-columns:1fr}}
@media(max-width:760px){.phase34-wrap{width:min(100% - 24px,1180px);padding-top:26px}.phase34-hero{align-items:flex-start;flex-direction:column}.phase34-two{grid-template-columns:1fr}.phase34-form{grid-template-columns:1fr}.phase34-wide,.phase34-check,.phase34-form>h2,.phase34-form>.section-heading,.phase34-form>.btn{grid-column:auto!important}.phase34-inline-filter{width:100%;display:grid;grid-template-columns:1fr 1fr}.phase34-inline-filter .btn{grid-column:1/-1}.phase34-dashboard-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.phase34-command-grid{grid-template-columns:1fr}}
@media(max-width:480px){.phase34-kpis{grid-template-columns:1fr}.phase34-dashboard-strip{grid-template-columns:1fr}}

.phase34-actions-inline{display:flex;gap:7px;flex-wrap:wrap;align-items:center}.phase34-actions-inline form{margin:0}
.phase34-inline-approval{display:flex;gap:5px;align-items:center;flex-wrap:wrap}.phase34-inline-approval input{min-height:34px;padding:6px 8px;border:1px solid var(--line);border-radius:6px}


/* ===== Phase 34.1: Global page padding / spacing fix ===== */

/* Give all central Control Panel content comfortable breathing room. */
.dashboard-wrap,
.admin-wrap,
.phase34-wrap,
.phase33-status-wrap {
    width: min(1180px, calc(100% - 64px));
    margin-left: auto;
    margin-right: auto;
    box-sizing: border-box;
}

/* Standard page spacing below the navigation. */
.dashboard-wrap,
.admin-wrap {
    padding-top: 32px;
    padding-bottom: 56px;
}

/* Phase 34 pages already define their own grid spacing, so preserve that
   while ensuring the content does not touch the browser edges. */
.phase34-wrap {
    padding-left: 0;
    padding-right: 0;
}

/* Make large cards feel less cramped. */
.phase34-wrap .admin-card,
.dashboard-wrap .admin-card,
.admin-wrap .admin-card {
    padding: 18px;
    box-sizing: border-box;
}

/* Prevent dense table/card sections from touching one another. */
.phase34-wrap > section,
.phase34-wrap > div,
.dashboard-wrap > section,
.admin-wrap > section {
    min-width: 0;
}

/* Slightly wider content padding on very large displays. */
@media (min-width: 1400px) {
    .dashboard-wrap,
    .admin-wrap,
    .phase34-wrap,
    .phase33-status-wrap {
        width: min(1240px, calc(100% - 96px));
    }
}

/* Tablet */
@media (max-width: 900px) {
    .dashboard-wrap,
    .admin-wrap,
    .phase34-wrap,
    .phase33-status-wrap {
        width: calc(100% - 36px);
    }

    .dashboard-wrap,
    .admin-wrap {
        padding-top: 26px;
        padding-bottom: 44px;
    }

    .phase34-wrap .admin-card,
    .dashboard-wrap .admin-card,
    .admin-wrap .admin-card {
        padding: 16px;
    }
}

/* Mobile */
@media (max-width: 600px) {
    .dashboard-wrap,
    .admin-wrap,
    .phase34-wrap,
    .phase33-status-wrap {
        width: calc(100% - 24px) !important;
        margin-left: 12px;
        margin-right: 12px;
    }

    .dashboard-wrap,
    .admin-wrap,
    .phase34-wrap,
    .phase33-status-wrap {
        padding-top: 20px;
        padding-bottom: 36px;
    }

    .phase34-wrap .admin-card,
    .dashboard-wrap .admin-card,
    .admin-wrap .admin-card {
        padding: 14px;
    }

    .phase34-hero {
        padding-left: 2px;
        padding-right: 2px;
    }
}


/* ========================================================================
   PHASE 34.2 — UI/UX & WORKFLOW POLISH
   Shared application shell
   ======================================================================== */

:root{
    --phase342-sidebar:232px;
    --phase342-topbar:62px;
    --phase342-bg:#f5f2ec;
    --phase342-panel:#fff;
    --phase342-ink:#24231f;
    --phase342-soft:#77736b;
    --phase342-border:#ded9cf;
    --phase342-hover:#f0ece4;
    --phase342-active:#292722;
    --phase342-radius:12px;
    --phase342-shadow:0 16px 44px rgba(37,34,28,.10);
}

/* App canvas */
html{background:var(--phase342-bg)}
body.dashboard-page,
body.admin-page{
    background:var(--phase342-bg)!important;
    min-height:100vh;
}
body.dashboard-page,
body.admin-page{
    padding-left:var(--phase342-sidebar);
    padding-top:var(--phase342-topbar);
    box-sizing:border-box;
}

/* Hide the retired Phase 33 shell if an older cached page happens to include it. */
.phase33-topbar{display:none!important}

/* Desktop sidebar */
.phase342-sidebar{
    position:fixed;
    z-index:1000;
    inset:0 auto 0 0;
    width:var(--phase342-sidebar);
    display:flex;
    flex-direction:column;
    background:#fbfaf7;
    border-right:1px solid var(--phase342-border);
    color:var(--phase342-ink);
    box-sizing:border-box;
}
.phase342-sidebar-head{
    min-height:74px;
    padding:17px 18px 14px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    border-bottom:1px solid var(--phase342-border);
    box-sizing:border-box;
}
.phase342-wordmark{
    display:grid;
    grid-template-columns:auto auto;
    align-items:baseline;
    column-gap:5px;
    text-decoration:none;
    color:inherit;
}
.phase342-wordmark strong{
    font-family:Georgia,"Times New Roman",serif;
    font-size:25px;
    font-weight:400;
    letter-spacing:-.04em;
}
.phase342-wordmark>span{
    font-size:8px;
    font-weight:900;
    letter-spacing:.18em;
}
.phase342-wordmark small{
    grid-column:1/-1;
    margin-top:2px;
    color:var(--phase342-soft);
    font-size:6px;
    font-weight:900;
    letter-spacing:.16em;
}
.phase342-sidebar-close{display:none}
.phase342-sidebar-scroll{
    flex:1;
    min-height:0;
    overflow:auto;
    padding:14px 10px 18px;
    scrollbar-width:thin;
}
.phase342-nav{display:grid;gap:2px}
.phase342-nav-label{
    margin:8px 10px 6px;
    color:#99938a;
    font-size:7px;
    font-weight:900;
    letter-spacing:.15em;
    text-transform:uppercase;
}
.phase342-nav-label-spaced{margin-top:19px}
.phase342-nav-link{
    min-height:38px;
    display:grid;
    grid-template-columns:27px minmax(0,1fr) auto;
    align-items:center;
    gap:7px;
    padding:6px 8px;
    border-radius:8px;
    color:#5d5952;
    text-decoration:none;
    box-sizing:border-box;
    transition:background .15s ease,color .15s ease,transform .15s ease;
}
.phase342-nav-link:hover{
    background:var(--phase342-hover);
    color:var(--phase342-ink);
}
.phase342-nav-link.is-active{
    background:var(--phase342-active);
    color:#fff;
}
.phase342-nav-icon{
    width:27px;
    height:27px;
    display:grid;
    place-items:center;
    border:1px solid rgba(77,73,65,.14);
    border-radius:7px;
    background:rgba(255,255,255,.48);
    font-family:Arial,sans-serif;
    font-size:12px;
    line-height:1;
}
.phase342-nav-link.is-active .phase342-nav-icon{
    border-color:rgba(255,255,255,.12);
    background:rgba(255,255,255,.08);
}
.phase342-nav-copy{display:grid;gap:1px;min-width:0}
.phase342-nav-copy strong{
    overflow:hidden;
    font-size:9px;
    font-weight:800;
    line-height:1.2;
    text-overflow:ellipsis;
    white-space:nowrap;
}
.phase342-nav-copy small{
    overflow:hidden;
    color:#989289;
    font-size:6.5px;
    line-height:1.25;
    text-overflow:ellipsis;
    white-space:nowrap;
}
.phase342-nav-link.is-active small{color:rgba(255,255,255,.62)}
.phase342-badge{
    min-width:18px;
    height:18px;
    padding:0 5px;
    display:grid;
    place-items:center;
    border-radius:999px;
    background:#b64c42;
    color:#fff;
    font-size:7px;
    box-sizing:border-box;
}
.phase342-sidebar-user{
    min-height:64px;
    padding:10px 12px;
    display:grid;
    grid-template-columns:34px minmax(0,1fr) 28px;
    align-items:center;
    gap:8px;
    border-top:1px solid var(--phase342-border);
}
.phase342-avatar{
    width:34px;
    height:34px;
    display:grid;
    place-items:center;
    flex:0 0 auto;
    border-radius:50%;
    background:#e8dfd1;
    color:#4d473e;
    font-family:Georgia,"Times New Roman",serif;
    font-size:13px;
}
.phase342-user-copy,.phase342-top-user>div:last-child{display:grid;gap:1px;min-width:0}
.phase342-user-copy strong,.phase342-top-user strong{
    overflow:hidden;
    font-size:8px;
    text-overflow:ellipsis;
    white-space:nowrap;
}
.phase342-user-copy small,.phase342-top-user small{color:var(--phase342-soft);font-size:6.5px}
.phase342-sidebar-user>a{
    width:28px;height:28px;display:grid;place-items:center;
    border-radius:7px;color:var(--phase342-soft);text-decoration:none;
}
.phase342-sidebar-user>a:hover{background:var(--phase342-hover);color:var(--phase342-ink)}

/* Desktop utility header */
.phase342-utilitybar{
    position:fixed;
    z-index:900;
    top:0;
    right:0;
    left:var(--phase342-sidebar);
    height:var(--phase342-topbar);
    padding:0 24px;
    display:grid;
    grid-template-columns:minmax(160px,1fr) minmax(260px,420px) minmax(240px,1fr);
    align-items:center;
    gap:18px;
    border-bottom:1px solid var(--phase342-border);
    background:rgba(251,250,247,.94);
    backdrop-filter:blur(14px);
    box-sizing:border-box;
}
.phase342-breadcrumb{
    display:flex;
    align-items:center;
    gap:8px;
    min-width:0;
    font-size:8px;
}
.phase342-breadcrumb span{color:var(--phase342-soft)}
.phase342-breadcrumb i{color:#b6b0a6;font-style:normal}
.phase342-breadcrumb strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.phase342-global-search{
    height:36px;
    display:grid;
    grid-template-columns:24px minmax(0,1fr) auto;
    align-items:center;
    gap:4px;
    padding:0 8px 0 10px;
    border:1px solid var(--phase342-border);
    border-radius:9px;
    background:#fff;
}
.phase342-global-search>span{color:#8d877e;font-size:15px}
.phase342-global-search input{
    width:100%;
    min-width:0;
    border:0!important;
    outline:0!important;
    background:transparent!important;
    box-shadow:none!important;
    font-size:8px;
}
.phase342-global-search kbd{
    padding:3px 5px;
    border:1px solid var(--phase342-border);
    border-radius:5px;
    background:#f7f4ef;
    color:#8a857c;
    font-family:inherit;
    font-size:6px;
}
.phase342-utility-actions{
    display:flex;
    justify-content:flex-end;
    align-items:center;
    gap:7px;
}
.phase342-new-button{
    height:34px;
    padding:0 12px;
    display:flex;
    align-items:center;
    gap:6px;
    border:0;
    border-radius:8px;
    background:var(--phase342-active);
    color:#fff;
    cursor:pointer;
    font:inherit;
    font-size:8px;
    font-weight:850;
}
.phase342-new-button b{font-size:15px;font-weight:400;line-height:1}
.phase342-quick-wrap{position:relative}
.phase342-quick-menu{
    position:absolute;
    z-index:1200;
    top:43px;
    right:0;
    width:330px;
    padding:13px;
    border:1px solid var(--phase342-border);
    border-radius:12px;
    background:#fff;
    box-shadow:var(--phase342-shadow);
}
.phase342-quick-head{display:grid;gap:2px;padding:3px 4px 11px}
.phase342-quick-head small{color:var(--phase342-soft);font-size:6px;font-weight:900;letter-spacing:.13em}
.phase342-quick-head strong{font-family:Georgia,"Times New Roman",serif;font-size:17px;font-weight:400}
.phase342-quick-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}
.phase342-quick-grid a{
    min-height:50px;
    padding:8px;
    display:grid;
    grid-template-columns:30px 1fr;
    align-items:center;
    gap:7px;
    border:1px solid var(--phase342-border);
    border-radius:8px;
    color:inherit;
    text-decoration:none;
}
.phase342-quick-grid a:hover{background:var(--phase342-hover)}
.phase342-quick-grid b{
    width:30px;height:30px;display:grid;place-items:center;
    border-radius:7px;background:#f1ede6;font-size:13px;
}
.phase342-quick-grid span{font-size:8px;font-weight:800}
.phase342-notification-button{
    position:relative;
    width:34px;height:34px;
    display:grid;place-items:center;
    border:1px solid var(--phase342-border);
    border-radius:8px;
    background:#fff;color:inherit;text-decoration:none;
    font-weight:900;
}
.phase342-notification-button>b{
    position:absolute;top:-5px;right:-5px;
    min-width:16px;height:16px;padding:0 4px;
    display:grid;place-items:center;
    border:2px solid #fbfaf7;border-radius:999px;
    background:#b64c42;color:#fff;font-size:6px;
    box-sizing:border-box;
}
.phase342-top-user{
    min-width:116px;
    display:grid;
    grid-template-columns:30px minmax(0,1fr);
    align-items:center;
    gap:7px;
    padding-left:4px;
}
.phase342-top-user .phase342-avatar{width:30px;height:30px;font-size:11px}

/* Mobile shell hidden on desktop */
.phase342-mobile-topbar,.phase342-backdrop{display:none}

/* Content rhythm — consistent across old and new pages */
.dashboard-wrap,
.admin-wrap,
.phase34-wrap,
.phase33-status-wrap{
    width:min(1180px,calc(100% - 56px))!important;
    margin-left:auto!important;
    margin-right:auto!important;
    padding-top:28px!important;
    padding-bottom:60px!important;
    box-sizing:border-box;
}
.phase34-wrap{gap:16px!important}
.admin-card,
.dashboard-card,
.phase34-wrap .admin-card{
    border-radius:var(--phase342-radius)!important;
    border-color:var(--phase342-border)!important;
    box-shadow:0 1px 0 rgba(255,255,255,.75);
}
.phase34-wrap .admin-card,
.dashboard-wrap .admin-card,
.admin-wrap .admin-card{
    padding:19px!important;
}
.phase34-hero{
    min-height:74px;
    padding:5px 2px 9px;
}
.phase34-hero h1{line-height:1.02}
.phase34-hero p:last-child{font-size:9px!important;max-width:720px}
.phase34-kpis{gap:10px!important}
.phase34-kpis .admin-card{min-height:96px}
.phase34-kpis strong{font-size:29px!important}
.phase34-two,.phase34-three{gap:12px!important}
.section-heading{gap:14px}
.section-heading h2{margin-bottom:3px}
.notice{border-radius:9px!important}

/* Form polish */
.phase34-form{gap:13px!important}
.phase34-form label>span{font-size:7px!important;letter-spacing:.02em}
.phase34-form input,
.phase34-form select,
.phase34-form textarea,
.phase34-inline-filter input,
.phase34-table input,
.phase34-table select{
    border-color:var(--phase342-border)!important;
    border-radius:8px!important;
    transition:border-color .15s ease,box-shadow .15s ease,background .15s ease;
}
.phase34-form input:focus,
.phase34-form select:focus,
.phase34-form textarea:focus,
.phase34-inline-filter input:focus,
.phase34-table input:focus,
.phase34-table select:focus{
    outline:0;
    border-color:#9e9689!important;
    box-shadow:0 0 0 3px rgba(98,91,79,.08);
}
.btn{border-radius:8px!important;transition:transform .12s ease,opacity .12s ease,background .12s ease}
.btn:hover{transform:translateY(-1px)}
.btn:active{transform:translateY(0)}

/* Table polish */
.phase34-table-wrap{
    margin-left:-4px;
    margin-right:-4px;
    border:1px solid var(--phase342-border);
    border-radius:9px;
    overflow:auto;
}
.phase34-table th{
    position:sticky;
    top:0;
    z-index:2;
    background:#f8f6f2;
    color:#777168!important;
}
.phase34-table tbody tr:hover{background:#faf8f4}
.phase34-table th,.phase34-table td{padding:10px!important}

/* Empty / muted copy */
.muted{color:var(--phase342-soft)!important;line-height:1.55}

/* Better action grouping */
.phase34-actions-inline{gap:8px!important}
.phase34-list>div{padding:11px 0!important}
.phase34-list-action{gap:12px!important}

/* Dashboard workflow cards */
.phase34-dashboard-strip{gap:10px!important}
.phase34-dashboard-strip article{
    min-height:80px;
    padding:15px!important;
    border-radius:10px!important;
    background:#fff!important;
}
.phase34-command-grid{gap:10px!important}
.phase34-command-grid a{
    min-height:70px;
    padding:15px!important;
    border-radius:10px!important;
    transition:transform .12s ease,box-shadow .12s ease,background .12s ease;
}
.phase34-command-grid a:hover{
    transform:translateY(-2px);
    box-shadow:0 8px 22px rgba(43,39,32,.07);
    background:#fff;
}

/* Accessibility */
.phase342-nav-link:focus-visible,
.phase342-new-button:focus-visible,
.phase342-notification-button:focus-visible,
.phase342-menu-trigger:focus-visible,
.phase342-icon-button:focus-visible,
.phase342-quick-grid a:focus-visible{
    outline:2px solid #5f594f;
    outline-offset:2px;
}

/* Mid-size desktop */
@media (max-width:1180px) and (min-width:901px){
    :root{--phase342-sidebar:210px}
    .phase342-utilitybar{grid-template-columns:minmax(120px,.8fr) minmax(220px,340px) minmax(210px,1fr);padding-left:18px;padding-right:18px}
    .phase342-nav-copy small{display:none}
    .phase342-nav-link{min-height:36px}
    .phase342-top-user{min-width:95px}
}

/* Mobile / tablet */
@media (max-width:900px){
    :root{--phase342-mobilebar:58px}

    body.dashboard-page,
    body.admin-page{
        padding-left:0!important;
        padding-top:var(--phase342-mobilebar)!important;
    }

    .phase342-utilitybar{display:none}
    .phase342-mobile-topbar{
        position:fixed;
        z-index:1000;
        inset:0 0 auto 0;
        height:var(--phase342-mobilebar);
        padding:0 14px;
        display:flex;
        align-items:center;
        justify-content:space-between;
        border-bottom:1px solid var(--phase342-border);
        background:rgba(251,250,247,.96);
        backdrop-filter:blur(14px);
        box-sizing:border-box;
    }
    .phase342-mobile-brand{
        display:flex;
        align-items:baseline;
        gap:4px;
        color:inherit;
        text-decoration:none;
    }
    .phase342-mobile-brand strong{
        font-family:Georgia,"Times New Roman",serif;
        font-size:22px;font-weight:400;letter-spacing:-.04em;
    }
    .phase342-mobile-brand span{font-size:7px;font-weight:900;letter-spacing:.16em}
    .phase342-mobile-actions{display:flex;align-items:center;gap:6px}
    .phase342-icon-button{
        position:relative;
        width:34px;height:34px;
        display:grid;place-items:center;
        border:1px solid var(--phase342-border);
        border-radius:8px;
        background:#fff;color:inherit;text-decoration:none;
        font-size:14px;font-weight:900;
    }
    .phase342-bell b{
        position:absolute;top:-5px;right:-5px;
        min-width:16px;height:16px;padding:0 4px;
        display:grid;place-items:center;
        border:2px solid #fbfaf7;border-radius:999px;
        background:#b64c42;color:#fff;font-size:6px;
        box-sizing:border-box;
    }
    .phase342-menu-trigger{
        width:43px;height:34px;padding:7px 9px;
        display:grid;align-content:center;gap:3px;
        border:1px solid var(--phase342-border);
        border-radius:8px;background:#fff;cursor:pointer;
    }
    .phase342-menu-trigger span{height:1px;background:#33302b;display:block}
    .phase342-menu-trigger em{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}

    .phase342-sidebar{
        z-index:1200;
        width:min(310px,88vw);
        transform:translateX(-102%);
        transition:transform .22s ease;
        box-shadow:var(--phase342-shadow);
    }
    .phase342-menu-open .phase342-sidebar{transform:translateX(0)}
    .phase342-sidebar-head{min-height:66px}
    .phase342-sidebar-close{
        width:34px;height:34px;
        display:grid;place-items:center;
        border:1px solid var(--phase342-border);
        border-radius:8px;background:#fff;
        color:inherit;font-size:20px;cursor:pointer;
    }
    .phase342-sidebar-scroll{padding:12px 10px 18px}
    .phase342-nav-link{min-height:44px;padding:7px 9px}
    .phase342-nav-copy strong{font-size:10px}
    .phase342-nav-copy small{font-size:7px}
    .phase342-backdrop{
        position:fixed;
        z-index:1150;
        inset:0;
        display:block;
        border:0;
        background:rgba(29,27,23,.38);
        opacity:0;
        pointer-events:none;
        transition:opacity .2s ease;
    }
    .phase342-menu-open .phase342-backdrop{opacity:1;pointer-events:auto}
    .phase342-menu-open{overflow:hidden}

    .dashboard-wrap,
    .admin-wrap,
    .phase34-wrap,
    .phase33-status-wrap{
        width:calc(100% - 30px)!important;
        margin-left:15px!important;
        margin-right:15px!important;
        padding-top:22px!important;
        padding-bottom:46px!important;
    }
    .phase34-hero{min-height:0;padding-top:2px}
    .phase34-wrap .admin-card,
    .dashboard-wrap .admin-card,
    .admin-wrap .admin-card{padding:16px!important}
}

/* Phone */
@media (max-width:600px){
    .dashboard-wrap,
    .admin-wrap,
    .phase34-wrap,
    .phase33-status-wrap{
        width:calc(100% - 22px)!important;
        margin-left:11px!important;
        margin-right:11px!important;
        padding-top:18px!important;
        padding-bottom:38px!important;
    }
    .phase34-wrap{gap:12px!important}
    .phase34-hero h1{font-size:34px!important}
    .phase34-hero p:last-child{font-size:8px!important}
    .phase34-wrap .admin-card,
    .dashboard-wrap .admin-card,
    .admin-wrap .admin-card{padding:14px!important}
    .phase34-kpis{gap:8px!important}
    .phase34-kpis .admin-card{min-height:82px}
    .phase34-kpis strong{font-size:25px!important}
    .phase34-dashboard-strip{gap:8px!important}
    .phase34-dashboard-strip article{min-height:70px;padding:13px!important}
    .phase34-command-grid a{min-height:62px;padding:13px!important}
    .phase34-list-action{grid-template-columns:1fr!important}
    .phase34-list-action form{justify-content:flex-start;flex-wrap:wrap}
    .phase34-table-wrap{margin-left:0;margin-right:0}
}

/* Reduced motion */
@media (prefers-reduced-motion:reduce){
    *,*::before,*::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}
}


/* ========================================================================
   PHASE 34.3 — MARKETING CENTER STYLE FIX
   Keeps existing Marketing functionality; normalizes it to Phase 34.2 shell.
   ======================================================================== */

.phase343-marketing-wrap{
    display:grid;
    gap:16px;
}

.phase343-marketing-hero{
    align-items:center;
    margin-bottom:2px;
}

.phase343-hero-actions{
    display:flex;
    align-items:center;
    justify-content:flex-end;
    gap:7px;
    flex-wrap:wrap;
}

/* Legacy marketing header/card classes normalized to current design language */
.phase343-marketing-wrap .phase25-header,
.phase343-marketing-wrap .page-header{
    margin:0;
}

.phase343-marketing-wrap .alert{
    margin:0;
    padding:12px 14px;
    border-radius:9px;
    border:1px solid var(--phase342-border);
    font-size:9px;
    line-height:1.5;
}

.phase343-marketing-wrap .alert.success{
    background:#f3f8f1;
}

.phase343-marketing-wrap .alert.error{
    background:#fff2ef;
}

.phase343-marketing-wrap .phase25-safety-note{
    display:grid;
    grid-template-columns:minmax(190px,.42fr) minmax(0,1fr);
    align-items:center;
    gap:18px;
}

.phase343-marketing-wrap .phase25-safety-note h2{
    margin:3px 0 0;
    font-family:Georgia,"Times New Roman",serif;
    font-weight:400;
    font-size:24px;
}

.phase343-marketing-wrap .phase25-safety-note > p{
    margin:0;
    color:var(--phase342-soft);
    font-size:9px;
    line-height:1.65;
}

/* KPI row */
.phase343-marketing-wrap .phase25-kpi-grid{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:10px;
}

.phase343-marketing-wrap .phase25-kpi-grid .admin-card{
    min-height:98px;
    display:grid;
    align-content:center;
    gap:5px;
}

.phase343-marketing-wrap .phase25-kpi-grid span,
.phase343-marketing-wrap .phase26-consent-grid span{
    color:var(--phase342-soft);
    font-size:7px;
    font-weight:900;
    letter-spacing:.05em;
    text-transform:uppercase;
}

.phase343-marketing-wrap .phase25-kpi-grid strong,
.phase343-marketing-wrap .phase26-consent-grid strong{
    font-family:Georgia,"Times New Roman",serif;
    font-size:29px;
    font-weight:400;
    line-height:1;
}

.phase343-marketing-wrap .phase25-kpi-grid small,
.phase343-marketing-wrap .phase26-consent-grid small{
    color:var(--phase342-soft);
    font-size:7px;
    line-height:1.4;
}

/* Card headings */
.phase343-marketing-wrap .phase23-card-heading{
    margin-bottom:14px;
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:14px;
}

.phase343-marketing-wrap .phase23-card-heading h2{
    margin:3px 0 0;
    font-family:Georgia,"Times New Roman",serif;
    font-size:25px;
    font-weight:400;
}

.phase343-marketing-wrap .phase27-heading-actions{
    display:flex;
    justify-content:flex-end;
    flex-wrap:wrap;
    gap:6px;
}

/* Audience segments */
.phase343-marketing-wrap .phase25-segment-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:9px;
}

.phase343-marketing-wrap .phase25-segment-grid > a{
    min-height:100px;
    padding:14px;
    display:grid;
    align-content:center;
    gap:5px;
    border:1px solid var(--phase342-border);
    border-radius:10px;
    background:#fbfaf7;
    color:inherit;
    text-decoration:none;
    transition:transform .12s ease,box-shadow .12s ease,background .12s ease,border-color .12s ease;
}

.phase343-marketing-wrap .phase25-segment-grid > a:hover{
    transform:translateY(-1px);
    background:#fff;
    box-shadow:0 8px 22px rgba(43,39,32,.06);
}

.phase343-marketing-wrap .phase25-segment-grid > a.active{
    border-color:#34312b;
    background:#292722;
    color:#fff;
}

.phase343-marketing-wrap .phase25-segment-grid span{
    font-size:9px;
    font-weight:800;
}

.phase343-marketing-wrap .phase25-segment-grid strong{
    font-family:Georgia,"Times New Roman",serif;
    font-size:25px;
    font-weight:400;
}

.phase343-marketing-wrap .phase25-segment-grid small{
    color:var(--phase342-soft);
    font-size:7px;
    line-height:1.45;
}

.phase343-marketing-wrap .phase25-segment-grid > a.active small{
    color:rgba(255,255,255,.65);
}

/* Consent summary */
.phase343-marketing-wrap .phase26-consent-grid{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:8px;
}

.phase343-marketing-wrap .phase26-consent-grid > div{
    min-height:88px;
    padding:13px;
    display:grid;
    align-content:center;
    gap:5px;
    border:1px solid var(--phase342-border);
    border-radius:9px;
    background:#faf8f4;
}

/* Marketing forms */
.phase343-marketing-wrap .phase27-template-form,
.phase343-marketing-wrap .phase25-campaign-form{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:12px;
}

.phase343-marketing-wrap .phase27-template-form label,
.phase343-marketing-wrap .phase25-campaign-form label{
    display:grid;
    gap:5px;
}

.phase343-marketing-wrap .phase27-template-form label > span,
.phase343-marketing-wrap .phase25-campaign-form label > span{
    color:var(--phase342-soft);
    font-size:7px;
    font-weight:850;
}

.phase343-marketing-wrap .phase27-template-form input,
.phase343-marketing-wrap .phase27-template-form select,
.phase343-marketing-wrap .phase27-template-form textarea,
.phase343-marketing-wrap .phase25-campaign-form input,
.phase343-marketing-wrap .phase25-campaign-form select,
.phase343-marketing-wrap .phase25-campaign-form textarea,
.phase343-marketing-wrap .phase25-campaign-actions select{
    width:100%;
    min-height:40px;
    padding:8px 10px;
    border:1px solid var(--phase342-border);
    border-radius:8px;
    background:#fff;
    box-sizing:border-box;
    font:inherit;
    font-size:9px;
}

.phase343-marketing-wrap .phase27-template-form textarea,
.phase343-marketing-wrap .phase25-campaign-form textarea{
    min-height:110px;
    resize:vertical;
}

.phase343-marketing-wrap .phase27-template-form input:focus,
.phase343-marketing-wrap .phase27-template-form select:focus,
.phase343-marketing-wrap .phase27-template-form textarea:focus,
.phase343-marketing-wrap .phase25-campaign-form input:focus,
.phase343-marketing-wrap .phase25-campaign-form select:focus,
.phase343-marketing-wrap .phase25-campaign-form textarea:focus{
    outline:0;
    border-color:#9e9689;
    box-shadow:0 0 0 3px rgba(98,91,79,.08);
}

.phase343-marketing-wrap .phase27-wide,
.phase343-marketing-wrap .phase25-wide{
    grid-column:1/-1;
}

/* Templates */
.phase343-marketing-wrap .phase27-template-grid{
    margin-top:16px;
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:9px;
}

.phase343-marketing-wrap .phase27-template-card{
    min-width:0;
    padding:14px;
    display:flex;
    flex-direction:column;
    gap:8px;
    border:1px solid var(--phase342-border);
    border-radius:10px;
    background:#faf8f4;
}

.phase343-marketing-wrap .phase27-template-card h3{
    margin:3px 0 0;
    font-family:Georgia,"Times New Roman",serif;
    font-size:17px;
    font-weight:400;
}

.phase343-marketing-wrap .phase27-template-card > div > span{
    color:var(--phase342-soft);
    font-size:6px;
    font-weight:900;
    letter-spacing:.08em;
    text-transform:uppercase;
}

.phase343-marketing-wrap .phase27-template-card p{
    margin:0;
    font-size:8px;
    line-height:1.5;
}

.phase343-marketing-wrap .phase27-template-card small{
    color:var(--phase342-soft);
    font-size:7px;
    line-height:1.55;
}

.phase343-marketing-wrap .phase27-template-card form{
    margin-top:auto;
    padding-top:4px;
}

.phase343-marketing-wrap .phase27-template-card form button,
.phase343-marketing-wrap .phase25-campaign-actions button{
    min-height:32px;
    padding:6px 9px;
    border:1px solid var(--phase342-border);
    border-radius:7px;
    background:#fff;
    color:#6f6960;
    cursor:pointer;
    font:inherit;
    font-size:7px;
    font-weight:800;
}

/* Campaign history */
.phase343-marketing-wrap .phase25-campaign-list{
    display:grid;
    gap:9px;
}

.phase343-marketing-wrap .phase25-campaign-card{
    padding:15px;
    display:grid;
    grid-template-columns:minmax(0,1fr) 180px;
    gap:16px;
    border:1px solid var(--phase342-border);
    border-radius:10px;
    background:#faf9f6;
}

.phase343-marketing-wrap .phase25-campaign-main{
    min-width:0;
}

.phase343-marketing-wrap .phase25-campaign-title-row{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:12px;
}

.phase343-marketing-wrap .phase25-campaign-title-row h3{
    margin:3px 0 0;
    font-family:Georgia,"Times New Roman",serif;
    font-size:19px;
    font-weight:400;
}

.phase343-marketing-wrap .phase25-campaign-title-row > div > span{
    color:var(--phase342-soft);
    font-size:6px;
    font-weight:900;
    letter-spacing:.08em;
    text-transform:uppercase;
}

.phase343-marketing-wrap .phase25-status{
    flex:0 0 auto;
    padding:5px 7px;
    border-radius:999px;
    background:#eee9e0;
    font-size:6px;
    font-weight:900;
    text-transform:uppercase;
    letter-spacing:.05em;
}

.phase343-marketing-wrap .phase25-campaign-meta{
    margin-top:8px;
    display:flex;
    flex-wrap:wrap;
    gap:5px;
}

.phase343-marketing-wrap .phase25-campaign-meta span{
    padding:4px 6px;
    border:1px solid var(--phase342-border);
    border-radius:999px;
    background:#fff;
    color:var(--phase342-soft);
    font-size:6.5px;
}

.phase343-marketing-wrap .phase25-offer{
    margin:10px 0 4px;
    font-size:9px;
    font-weight:850;
}

.phase343-marketing-wrap .phase25-subject{
    display:block;
    margin-top:7px;
    font-size:9px;
}

.phase343-marketing-wrap .phase25-copy{
    margin:6px 0 0;
    color:#666158;
    font-size:8px;
    line-height:1.6;
}

.phase343-marketing-wrap .phase25-campaign-actions{
    display:grid;
    align-content:start;
    gap:7px;
}

.phase343-marketing-wrap .phase25-campaign-actions form{
    margin:0;
}

.phase343-marketing-wrap .phase25-empty{
    min-height:120px;
    display:grid;
    place-items:center;
    align-content:center;
    gap:5px;
    border:1px dashed var(--phase342-border);
    border-radius:10px;
    color:var(--phase342-soft);
    text-align:center;
}

.phase343-marketing-wrap .phase25-empty strong{
    color:var(--phase342-ink);
    font-family:Georgia,"Times New Roman",serif;
    font-size:18px;
    font-weight:400;
}

.phase343-marketing-wrap .phase25-empty span{
    font-size:8px;
}

/* Tablet */
@media(max-width:1050px){
    .phase343-marketing-wrap .phase25-kpi-grid,
    .phase343-marketing-wrap .phase26-consent-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }

    .phase343-marketing-wrap .phase25-segment-grid,
    .phase343-marketing-wrap .phase27-template-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }

    .phase343-marketing-wrap .phase25-campaign-card{
        grid-template-columns:minmax(0,1fr) 155px;
    }
}

/* Mobile */
@media(max-width:760px){
    .phase343-marketing-hero{
        align-items:flex-start;
    }

    .phase343-hero-actions{
        width:100%;
        justify-content:flex-start;
    }

    .phase343-marketing-wrap .phase25-safety-note{
        grid-template-columns:1fr;
        gap:8px;
    }

    .phase343-marketing-wrap .phase23-card-heading{
        flex-direction:column;
    }

    .phase343-marketing-wrap .phase27-heading-actions{
        width:100%;
        justify-content:flex-start;
    }

    .phase343-marketing-wrap .phase27-heading-actions .btn{
        flex:1 1 calc(50% - 6px);
        text-align:center;
    }

    .phase343-marketing-wrap .phase27-template-form,
    .phase343-marketing-wrap .phase25-campaign-form{
        grid-template-columns:1fr;
    }

    .phase343-marketing-wrap .phase27-wide,
    .phase343-marketing-wrap .phase25-wide{
        grid-column:auto;
    }

    .phase343-marketing-wrap .phase25-campaign-card{
        grid-template-columns:1fr;
    }

    .phase343-marketing-wrap .phase25-campaign-actions{
        grid-template-columns:1fr 1fr;
    }
}

@media(max-width:520px){
    .phase343-marketing-wrap .phase25-kpi-grid,
    .phase343-marketing-wrap .phase26-consent-grid,
    .phase343-marketing-wrap .phase25-segment-grid,
    .phase343-marketing-wrap .phase27-template-grid{
        grid-template-columns:1fr;
    }

    .phase343-marketing-wrap .phase27-heading-actions .btn{
        flex:1 1 100%;
    }

    .phase343-marketing-wrap .phase25-campaign-title-row{
        flex-direction:column;
    }

    .phase343-marketing-wrap .phase25-campaign-actions{
        grid-template-columns:1fr;
    }
}

/* Phase 35 — Multi-POS */
.phase35-provider-card{display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,.8fr);gap:20px;align-items:center;margin-bottom:16px}
.phase35-provider-card h2{margin:4px 0 6px;font-family:Georgia,"Times New Roman",serif;font-size:27px;font-weight:400}
.phase35-provider-form{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.phase35-provider-form label{min-height:64px;padding:11px;display:grid;grid-template-columns:18px 1fr;align-content:center;column-gap:7px;border:1px solid var(--phase342-border,#ded9cf);border-radius:9px;background:#faf8f4;cursor:pointer}
.phase35-provider-form label input{grid-row:1/3;align-self:center}
.phase35-provider-form label strong{font-size:9px}.phase35-provider-form label span{color:#77736b;font-size:7px}
.phase35-provider-form .btn{grid-column:1/-1;justify-self:end}
.phase35-clover-card{margin-top:16px}
@media(max-width:820px){.phase35-provider-card{grid-template-columns:1fr}.phase35-provider-form{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.phase35-provider-form{grid-template-columns:1fr}.phase35-provider-form .btn{grid-column:auto;width:100%}}

/* Phase 35.1 deployment marker */
.phase35-build-tag{
    margin:6px 0 0;
    color:#756f65;
    font-size:7px;
    font-weight:800;
    letter-spacing:.06em;
    text-transform:uppercase;
}

/* Phase 36 — Platform Companies */
.p36-shell{max-width:1440px}.p36-hero{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin-bottom:22px}.p36-hero h1{margin:4px 0 6px}.p36-hero p{max-width:720px;margin:0}.p36-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.p36-company{padding:22px}.p36-company-head{display:flex;justify-content:space-between;gap:16px}.p36-company h2{margin:4px 0 2px}.p36-pill{height:max-content;border-radius:999px;padding:7px 11px;font-size:12px;font-weight:800;background:#eee}.p36-pill.complimentary{background:#e7f5ea}.p36-pill.trial{background:#fff3d8}.p36-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:18px 0}.p36-stats div{padding:12px;border:1px solid rgba(0,0,0,.08);border-radius:12px}.p36-stats b,.p36-stats span{display:block}.p36-stats span{font-size:11px;opacity:.65;margin-top:3px}.p36-inline{display:grid;grid-template-columns:150px 1fr auto;gap:9px;margin-top:15px}.p36-inline select,.p36-inline input,.p36-dialog input,.p36-dialog select{width:100%;min-height:42px;border:1px solid rgba(0,0,0,.14);border-radius:10px;padding:9px 11px;background:#fff}.p36-dialog{width:min(520px,calc(100% - 28px));border:0;border-radius:18px;padding:0;box-shadow:0 24px 80px rgba(0,0,0,.24)}.p36-dialog::backdrop{background:rgba(0,0,0,.38)}.p36-dialog form{padding:24px}.p36-dialog label{display:block;font-weight:700;margin:14px 0}.p36-dialog label input,.p36-dialog label select{display:block;margin-top:7px;font-weight:400}.p36-dialog-head{display:flex;justify-content:space-between;gap:15px}.p36-dialog-head h2{margin:4px 0}.p36-dialog-head button{border:0;background:transparent;font-size:28px;cursor:pointer}@media(max-width:900px){.p36-grid{grid-template-columns:1fr}.p36-inline{grid-template-columns:1fr}.p36-hero{display:block}.p36-hero .btn{margin-top:16px}}


/* =========================================================
   Phase 37 — Tenant-aware login, role context & safety gates
   ========================================================= */
.phase37-company-context{
    margin:0 14px 12px;
    padding:12px 13px;
    border:1px solid rgba(255,255,255,.10);
    border-radius:14px;
    background:rgba(255,255,255,.055);
    display:grid;
    gap:3px;
}
.phase37-company-context small{
    font-size:9px;
    letter-spacing:.12em;
    opacity:.62;
    font-weight:800;
}
.phase37-company-context strong{
    font-size:13px;
    line-height:1.25;
}
.phase37-company-context span{
    font-size:11px;
    opacity:.72;
}
.phase37-company-context a{
    margin-top:6px;
    font-size:11px;
    font-weight:800;
    text-decoration:none;
}
.phase37-gate-page{
    min-height:100vh;
    margin:0;
    background:#f5f2ec;
}
.phase37-gate-shell,
.phase37-switch-shell{
    min-height:100vh;
    display:grid;
    place-items:center;
    padding:28px 18px;
}
.phase37-gate-card{
    width:min(680px,100%);
    background:#fff;
    border:1px solid #e9e3da;
    border-radius:24px;
    padding:34px;
    box-shadow:0 18px 55px rgba(31,27,22,.08);
}
.phase37-gate-card h1{
    margin:5px 0 10px;
}
.phase37-gate-card h2{
    margin:22px 0 8px;
    font-size:20px;
}
.phase37-gate-card p{
    line-height:1.65;
}
.phase37-role-line{
    margin:0;
    font-weight:800;
    color:#756f65;
}
.phase37-status-pill{
    display:inline-flex;
    padding:7px 10px;
    border-radius:999px;
    background:#f0eee9;
    font-size:10px;
    font-weight:900;
    letter-spacing:.08em;
}
.phase37-safety-box{
    margin:22px 0;
    padding:15px 16px;
    border-radius:15px;
    background:#f8f6f2;
    display:grid;
    gap:4px;
}
.phase37-safety-box span{
    font-size:13px;
    line-height:1.5;
}
.phase37-gate-actions{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    margin-top:24px;
}
.phase37-switch-card{
    width:min(760px,100%);
}
.phase37-company-list{
    display:grid;
    gap:10px;
    margin-top:22px;
}
.phase37-company-choice{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:16px;
    padding:15px;
    border:1px solid #e8e2d9;
    border-radius:16px;
    background:#fff;
}
.phase37-company-choice.is-current{
    border-color:#bcb3a5;
    background:#faf8f4;
}
.phase37-company-choice > div{
    display:grid;
    gap:3px;
}
.phase37-company-choice strong{
    font-size:15px;
}
.phase37-company-choice span{
    font-size:12px;
    font-weight:800;
    color:#6f685f;
}
.phase37-company-choice small{
    font-size:11px;
    color:#8b8378;
}
@media(max-width:700px){
    .phase37-gate-card{padding:24px 18px;border-radius:20px}
    .phase37-company-choice{align-items:flex-start;flex-direction:column}
    .phase37-company-choice .btn{width:100%}
    .phase37-gate-actions .btn{flex:1 1 100%;text-align:center}
}

/* Phase 39 — Company Admin Control */
.p39-wrap{padding-bottom:48px}.p39-hero{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin:8px 0 22px}.p39-hero h1{margin:4px 0 8px;font-size:clamp(28px,4vw,42px);line-height:1.05}.p39-hero p{margin:0;color:#6f685f;max-width:760px;line-height:1.6}.p39-company-id{display:inline-flex;padding:8px 11px;border-radius:999px;background:#f1eee8;font-size:11px;font-weight:900;white-space:nowrap}.p39-stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:0 0 18px}.p39-stat{background:#fff;border:1px solid #e7e1d8;border-radius:18px;padding:18px;display:grid;gap:5px}.p39-stat span,.p39-readonly-grid span{font-size:11px;font-weight:900;letter-spacing:.07em;text-transform:uppercase;color:#837b70}.p39-stat strong{font-size:28px}.p39-stat small{color:#81796f}.p39-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:18px}.p39-action-card{display:grid;gap:8px;padding:22px;border:1px solid #e7e1d8;border-radius:20px;background:#fff;text-decoration:none;color:inherit;transition:.18s ease}.p39-action-card:hover{transform:translateY(-2px);box-shadow:0 12px 28px rgba(31,27,22,.07)}.p39-action-card strong{font-size:19px}.p39-action-card span{color:#746d64;line-height:1.55}.p39-action-card b{font-size:12px;margin-top:5px}.p39-section{margin-bottom:18px}.p39-safety-list{display:grid;gap:9px;color:#575149}.p39-two-col{display:grid;grid-template-columns:1fr 1fr;gap:18px}.p39-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.p39-form-grid.one{grid-template-columns:1fr}.p39-form-grid label{display:grid;gap:7px}.p39-form-grid label>span{font-size:12px;font-weight:850}.p39-form-grid input,.p39-form-grid select{width:100%;box-sizing:border-box}.p39-form-grid small,.p39-note{font-size:11px;color:#81796f;line-height:1.45}.p39-form-action{display:flex;align-items:end}.p39-table-wrap{overflow:auto}.p39-table{width:100%;border-collapse:collapse;min-width:680px}.p39-table th,.p39-table td{text-align:left;padding:13px 10px;border-bottom:1px solid #eee8df;vertical-align:middle}.p39-table th{font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:#857d72}.p39-table td strong,.p39-table td small{display:block}.p39-table td small{margin-top:3px;color:#8a8175}.p39-table a{font-weight:800;text-decoration:none}.p39-pill{display:inline-flex;padding:6px 9px;border-radius:999px;background:#eeeae3;font-size:10px;font-weight:900}.p39-pill.is-good{background:#edf5ef}.p39-pill.is-muted{opacity:.62}.p39-check-grid,.p39-app-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0 0 16px}.p39-check{display:flex!important;align-items:flex-start;gap:10px;padding:12px 13px;border:1px solid #e9e3da;border-radius:14px;background:#faf8f5}.p39-check.inline{align-self:end}.p39-check input{width:auto;margin-top:2px}.p39-check span{font-size:13px;font-weight:750}.p39-app-check span{display:grid;gap:2px}.p39-app-check small{font-size:10px;color:#877f74}.p39-location-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.p39-location-card{padding:17px;border:1px solid #e8e2d9;border-radius:16px;background:#fff;display:grid;gap:8px}.p39-location-card>div{display:flex;justify-content:space-between;gap:10px}.p39-location-card>div span{font-size:10px;font-weight:900;text-transform:uppercase;color:#8a8176}.p39-location-card p{margin:0;color:#686158}.p39-location-card small{color:#8a8176}.p39-location-card form{margin-top:5px}.p39-readonly-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.p39-readonly-grid>div{display:grid;gap:5px;padding:15px;border-radius:14px;background:#f8f6f2}.p39-readonly-grid strong{font-size:15px}
@media(max-width:950px){.p39-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.p39-card-grid{grid-template-columns:1fr}.p39-two-col{grid-template-columns:1fr}}@media(max-width:700px){.p39-hero{flex-direction:column}.p39-stat-grid,.p39-form-grid,.p39-check-grid,.p39-app-grid,.p39-location-grid,.p39-readonly-grid{grid-template-columns:1fr}.p39-form-action .btn{width:100%}}
.p39-location-actions{display:flex;gap:8px;align-items:center}.p39-location-actions form{margin:0}


/* Phase 40 — Company Onboarding */
.p40-wrap{max-width:1280px;margin:0 auto;padding:28px 28px 64px}.p40-hero{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:22px}.p40-hero h1{margin:2px 0 8px}.p40-section,.p40-invite{margin-bottom:22px}.p40-invite{padding:22px;border:1px solid rgba(15,23,42,.12);border-radius:18px}.p40-copy-row{display:flex;gap:10px;margin-top:14px}.p40-copy-row input{flex:1;min-width:0}.p40-form{display:grid;gap:22px}.p40-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.p40-grid label,.p40-password-form label{display:grid;gap:7px}.p40-grid label span,.p40-password-form label span{font-weight:700}.p40-apps{border:1px solid rgba(15,23,42,.12);border-radius:16px;padding:18px}.p40-apps legend{font-weight:800;padding:0 8px}.p40-apps>p{margin:0 0 12px;color:#64748b}.p40-app-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.p40-app-grid label{display:flex;align-items:center;gap:10px;padding:12px;border:1px solid rgba(15,23,42,.1);border-radius:12px}.p40-app-grid label span{display:grid}.p40-app-grid small{color:#64748b}.p40-row-actions,.p40-actions{display:flex;gap:8px;flex-wrap:wrap}.p40-public{min-height:100vh;margin:0;background:#f7f7f5;color:#111827;font-family:inherit}.p40-accept-shell{min-height:100vh;display:grid;place-items:center;padding:28px}.p40-accept-card{width:min(640px,100%);background:#fff;border:1px solid rgba(15,23,42,.1);box-shadow:0 18px 60px rgba(15,23,42,.08);border-radius:24px;padding:34px}.p40-brand{width:56px;height:56px;border-radius:16px;background:#111827;color:#fff;display:grid;place-items:center;font-weight:800;font-size:13px;margin-bottom:24px}.p40-accept-card h1{font-size:clamp(30px,5vw,46px);line-height:1.04;margin:5px 0 14px}.p40-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:22px 0}.p40-summary>div{background:#f8fafc;border-radius:14px;padding:13px;display:grid;gap:4px}.p40-summary span{font-size:12px;color:#64748b}.p40-summary strong{font-size:14px}.p40-password-form{display:grid;gap:14px;margin-top:22px}.p40-security-note{font-size:13px;color:#64748b;margin-top:18px}
@media(max-width:800px){.p40-wrap{padding:20px 16px 56px}.p40-hero{display:grid}.p40-grid{grid-template-columns:1fr}.p40-app-grid{grid-template-columns:1fr}.p40-copy-row{display:grid}.p40-summary{grid-template-columns:1fr}.p40-accept-card{padding:24px}}


/* Phase 41 — Subscription Billing */
.p41-wrap{max-width:1240px;margin:0 auto;padding-bottom:56px}.p41-hero{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin:0 0 22px}.p41-hero h1{margin:4px 0 8px}.p41-section{margin-bottom:20px}.p41-form{display:grid;gap:18px}.p41-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.p41-grid label,.p41-plan label{display:grid;gap:7px}.p41-grid label>span,.p41-plan label>span{font-size:12px;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.p41-grid input,.p41-grid select,.p41-plan input{width:100%}.p41-check{display:flex!important;align-items:center;gap:10px;padding-top:28px}.p41-check input{width:auto}.p41-actions,.p41-inline{display:flex;gap:10px;align-items:center}.p41-inline{margin-top:12px}.p41-webhook{margin-top:18px;padding:14px;border:1px solid var(--border,#ddd);border-radius:14px;display:grid;gap:6px}.p41-webhook code{white-space:normal;overflow-wrap:anywhere}.p41-plan-list{display:grid;gap:12px}.p41-plan{display:grid;grid-template-columns:1.1fr .7fr 1.4fr .7fr 1.4fr auto;gap:12px;align-items:end;padding:14px;border:1px solid var(--border,#ddd);border-radius:14px}.p41-plan>div{display:grid;gap:3px}.p41-status-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:20px}.p41-status{background:#fff;border:1px solid var(--border,#ddd);border-radius:16px;padding:16px;display:grid;gap:6px}.p41-status span{font-size:12px;text-transform:uppercase;font-weight:800}.p41-status strong{font-size:19px}.p41-plan-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.p41-price-card{border:1px solid var(--border,#ddd);border-radius:18px;padding:20px;display:grid;gap:12px}.p41-price-card h3{margin:0}.p41-price{font-size:30px;font-weight:900}.p41-price small{font-size:13px;font-weight:600;margin-left:3px}.p41-price-card form{margin:0}.p41-price-card button{width:100%}.p41-price-card button[disabled]{opacity:.45;cursor:not-allowed}
@media(max-width:1050px){.p41-plan{grid-template-columns:1fr 1fr}.p41-status-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.p41-plan-cards{grid-template-columns:1fr 1fr}}
@media(max-width:700px){.p41-hero{align-items:flex-start;flex-direction:column}.p41-grid,.p41-plan,.p41-status-grid,.p41-plan-cards{grid-template-columns:1fr}.p41-check{padding-top:0}}

/* Phase 41.1 — Multi-plan billing */
.p411-create-plan small,.p411-plan-details small{display:block;margin-top:4px;color:var(--muted,#667085);font-size:.78rem}.p411-plan-card{display:block!important}.p411-plan-card.is-inactive{opacity:.72}.p411-plan-details{display:grid;grid-template-columns:minmax(150px,1.15fr) repeat(4,minmax(110px,1fr)) auto;gap:12px;align-items:end}.p411-plan-details>div{align-self:center}.p411-plan-details label{min-width:0}.p411-toggle{display:flex;justify-content:flex-end;margin-top:10px}@media(max-width:900px){.p411-plan-details{grid-template-columns:1fr 1fr}.p411-plan-details>div,.p411-plan-details button{grid-column:1/-1}.p411-toggle{justify-content:stretch}.p411-toggle .btn{width:100%}}@media(max-width:580px){.p411-plan-details{grid-template-columns:1fr}}

/* Phase 42 — Platform Owner Dashboard */
.p42-wrap{max-width:1500px}.p42-hero{display:flex;justify-content:space-between;gap:24px;align-items:flex-end;margin-bottom:24px}.p42-hero h1{margin:4px 0 8px}.p42-hero p{max-width:760px}.p42-hero-actions{display:flex;gap:10px;flex-wrap:wrap}.p42-kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:14px}.p42-kpi{background:#fff;border:1px solid rgba(18,24,40,.08);border-radius:18px;padding:20px;box-shadow:0 10px 30px rgba(18,24,40,.04)}.p42-kpi span{display:block;font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;opacity:.56}.p42-kpi strong{display:block;font-size:31px;line-height:1.1;margin:8px 0}.p42-kpi small{opacity:.62}.p42-alert-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:18px}.p42-alert{display:flex;align-items:center;gap:12px;padding:14px 16px;border-radius:14px;background:#fff;border:1px solid rgba(18,24,40,.08);color:inherit;text-decoration:none}.p42-alert strong{font-size:24px}.p42-alert span{font-size:13px;font-weight:700}.p42-alert.is-warn{background:#fff9ed;border-color:#f0d49d}.p42-alert.is-danger{background:#fff2f2;border-color:#efb5b5}.p42-alert.is-info{background:#f2f7ff;border-color:#bfd2ef}.p42-alert.is-good{background:#f5fbf7;border-color:#c8e2d0}.p42-two-col{display:grid;grid-template-columns:1.25fr .75fr;gap:16px;margin-bottom:16px}.p42-card{margin-bottom:16px}.p42-health-list,.p42-status-list{display:grid;gap:0}.p42-health-list>div,.p42-status-list>div{display:flex;justify-content:space-between;gap:16px;padding:12px 0;border-bottom:1px solid rgba(18,24,40,.07)}.p42-health-list>div:last-child,.p42-status-list>div:last-child{border-bottom:0}.p42-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:16px}.p42-actions a{padding:9px 12px;border-radius:10px;background:rgba(18,24,40,.05);text-decoration:none;color:inherit;font-weight:700;font-size:13px}.is-good-text{color:#237447}.is-warn-text{color:#a56400}.p42-empty{padding:24px;border-radius:14px;background:rgba(18,24,40,.035);text-align:center;opacity:.72}.p42-attention-list{display:grid;gap:8px}.p42-attention-list a{display:flex;justify-content:space-between;align-items:center;gap:16px;border:1px solid rgba(18,24,40,.07);border-radius:13px;padding:13px 15px;text-decoration:none;color:inherit}.p42-attention-list strong,.p42-attention-list span{display:block}.p42-attention-list span{font-size:13px;opacity:.65;margin-top:3px}.p42-table-wrap{overflow:auto}.p42-table{width:100%;border-collapse:collapse;min-width:850px}.p42-table th,.p42-table td{text-align:left;padding:12px 10px;border-bottom:1px solid rgba(18,24,40,.07);font-size:13px}.p42-table th{font-size:11px;text-transform:uppercase;letter-spacing:.06em;opacity:.55}.p42-table td strong,.p42-table td small{display:block}.p42-table td small{opacity:.55;margin-top:3px}.p42-badge{display:inline-flex;padding:5px 8px;border-radius:999px;background:rgba(18,24,40,.06);font-size:11px;font-weight:800}.p39-pill.is-warn{background:#fff2d8;color:#8a5700}@media(max-width:1100px){.p42-kpi-grid,.p42-alert-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.p42-two-col{grid-template-columns:1fr}}@media(max-width:700px){.p42-hero{align-items:flex-start;flex-direction:column}.p42-kpi-grid,.p42-alert-grid{grid-template-columns:1fr}.p42-kpi strong{font-size:27px}}

/* Phase 43 — Multi-location & final SaaS polish */
.p43-wrap{max-width:1180px;margin:0 auto;padding-bottom:64px}
.p43-hero{display:flex;justify-content:space-between;gap:24px;align-items:flex-start;margin:8px 0 24px}
.p43-hero h1{margin:4px 0 8px}
.p43-section{margin-bottom:20px}
.p43-nav-location{margin:0 16px 14px;padding:12px 14px;border:1px solid rgba(127,127,127,.18);border-radius:14px;display:flex;flex-direction:column;gap:3px}
.p43-nav-location small{font-size:10px;letter-spacing:.12em;font-weight:800;opacity:.65}
.p43-nav-location strong{font-size:13px}
.p43-nav-location a{font-size:12px;font-weight:700;text-decoration:none}
.p43-location-choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.p43-location-choice{border:1px solid rgba(127,127,127,.22);border-radius:16px;padding:16px;display:flex;align-items:center;justify-content:space-between;gap:14px}
.p43-location-choice.is-current{box-shadow:0 0 0 2px rgba(127,127,127,.12) inset}
.p43-location-choice div{display:flex;flex-direction:column;gap:4px}
.p43-location-choice span,.p43-location-choice small{font-size:12px;opacity:.72}
.p43-empty{grid-column:1/-1;padding:28px;text-align:center}
.p43-assignment-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:18px}
.p43-assignment-card{border:1px solid rgba(127,127,127,.22);border-radius:14px;padding:13px;display:flex;justify-content:space-between;gap:14px;align-items:center}
.p43-assignment-main{display:flex;gap:10px;align-items:flex-start}
.p43-assignment-main>span{display:flex;flex-direction:column;gap:3px}
.p43-assignment-main small{opacity:.66}
.p43-primary-choice{display:flex;align-items:center;gap:6px;font-size:12px;white-space:nowrap}
.p43-readiness-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.p43-readiness-card{margin:0}
.p43-readiness-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:16px}
.p43-readiness-head>div{display:flex;flex-direction:column;gap:4px}
.p43-readiness-head span{font-size:12px;opacity:.7}
.p43-readiness-head>b{font-size:11px;letter-spacing:.08em;padding:6px 9px;border-radius:999px;border:1px solid rgba(127,127,127,.2)}
.p43-check-list{display:grid;gap:8px;margin:14px 0 18px}
.p43-check-list span{padding-left:24px;position:relative;font-size:13px}
.p43-check-list span:before{position:absolute;left:0;top:0;font-weight:900}
.p43-check-list .ok:before{content:'✓'}
.p43-check-list .bad:before{content:'×'}
.p43-readiness-actions{display:flex;justify-content:space-between;align-items:center;gap:12px;border-top:1px solid rgba(127,127,127,.18);padding-top:14px}
.p43-readiness-actions form{margin:0}
@media(max-width:820px){.p43-location-choice-grid,.p43-assignment-grid,.p43-readiness-grid{grid-template-columns:1fr}.p43-hero,.p43-readiness-actions{flex-direction:column}.p43-location-choice{align-items:flex-start}.p43-assignment-card{align-items:flex-start;flex-direction:column}}
