/* CUNNTAS Module 523: public presentation */
/* Shared: base.css */
:root {
    --colour-brand: #163A5F;
    --colour-brand-dark: #0B2B4A;
    --colour-accent: #8FB98D;
    --colour-text: #24323F;
    --colour-muted: #667482;
    --colour-border: #D9E0E6;
    --colour-surface: #FFFFFF;
    --colour-background: #F5F7F9;
    --colour-danger: #A93636;
    --colour-warning: #8A6116;
    --colour-success: #2E6A44;

    --font-family: Arial, Helvetica, sans-serif;
    --font-size-base: 16px;
    --line-height-base: 1.6;

    --content-width: 1280px;
    --content-padding: 24px;

    --space-1: 4px;
    --space-2: 8px;
    --space-3: 12px;
    --space-4: 16px;
    --space-5: 24px;
    --space-6: 32px;
    --space-7: 48px;

    --radius-small: 4px;
    --radius-medium: 8px;
    --radius-large: 14px;

    --shadow-card: 0 8px 24px rgba(17, 39, 62, 0.07);
    --field-height: 44px;
}

*,
*::before,
*::after {
    box-sizing: border-box;
}

html {
    min-height: 100%;
    background: var(--colour-background);
}

body {
    min-height: 100vh;
    margin: 0;
    background: var(--colour-background);
    color: var(--colour-text);
    font-family: var(--font-family);
    font-size: var(--font-size-base);
    line-height: var(--line-height-base);
}

img {
    max-width: 100%;
    height: auto;
}

a {
    color: var(--colour-brand);
}

h1,
h2,
h3,
h4 {
    margin-top: 0;
    color: var(--colour-brand-dark);
    line-height: 1.2;
}

h1 { font-size: clamp(2rem, 3vw, 2.75rem); }
h2 { font-size: clamp(1.5rem, 2vw, 2rem); }
h3 { font-size: 1.25rem; }
h4 { font-size: 1rem; }

p {
    margin-top: 0;
}

button,
input,
select,
textarea {
    font: inherit;
}

/* Shared: layout.css */
.app-shell {
    min-height: 100vh;
    display: flex;
    flex-direction: column;
}

.app-header {
    background: var(--colour-surface);
    border-bottom: 1px solid var(--colour-border);
}

.app-header__inner,
.content-container {
    width: min(100% - (var(--content-padding) * 2), var(--content-width));
    margin-inline: auto;
}

.app-header__inner {
    min-height: 76px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--space-5);
}

.brand {
    display: inline-flex;
    align-items: center;
    gap: var(--space-3);
    color: var(--colour-brand-dark);
    font-weight: 700;
    letter-spacing: 0.14em;
    text-decoration: none;
}

.brand img {
    width: 42px;
    height: 42px;
    object-fit: contain;
}

.primary-nav {
    display: flex;
    align-items: center;
    gap: var(--space-5);
}

.primary-nav a,
.nav-button,
.contextual-help-trigger {
    color: var(--colour-brand);
    text-decoration: none;
    font-weight: 600;
}

.nav-form {
    margin: 0;
}

.nav-button {
    border: 0;
    background: transparent;
    cursor: pointer;
    padding: 0;
}

.main-content {
    flex: 1;
    padding-block: var(--space-7);
}

.page-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    gap: var(--space-5);
    margin-bottom: calc(var(--space-7) + var(--space-2));
}

.page-header h1 {
    margin-bottom: var(--space-3);
}

.page-description {
    max-width: 760px;
    margin-bottom: 0;
    color: var(--colour-muted);
}

.eyebrow {
    margin-bottom: var(--space-2);
    color: var(--colour-muted);
    font-size: 0.78rem;
    font-weight: 700;
    letter-spacing: 0.14em;
    text-transform: uppercase;
}

.section {
    margin-top: calc(var(--space-7) + var(--space-3));
}

.section-heading {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: var(--space-4);
    margin-bottom: var(--space-5);
}

.section-heading h2 {
    margin-bottom: 0;
}

.card-grid {
    display: grid;
    gap: var(--space-5);
}

.card-grid--three {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.detail-grid {
    display: grid;
    grid-template-columns: minmax(0, 2fr) minmax(280px, 1fr);
    gap: var(--space-5);
}

.app-footer {
    padding-block: var(--space-5);
    background: var(--colour-surface);
    border-top: 1px solid var(--colour-border);
    color: var(--colour-muted);
    font-size: 0.9rem;
}

/* Shared: module-colours.css */
/* CUNNTAS Module Colour Standard
   Values are supplied by the route-driven Module Presentation Registry.
   Module colour is an orientation cue; semantic Help, Warning, Error,
   Success and status colours remain independent. */
.module-page{--module-accent:#53687a;--module-soft:#f5f7f9;--module-border:#b8c3cc}

/* Legacy view wrappers now use the same authoritative Browse Modules palette. */
.module-page--purchase-invoices{--module-accent:#2e7a50;--module-soft:#f2f8f4;--module-border:#a8cdb6}
.module-page--purchase-credit-notes,.module-page--sales-credit-notes{--module-accent:#a94442;--module-soft:#fcf4f4;--module-border:#d8a7a6}
.module-page--inventory,.module-page--projects{--module-accent:#7c5d9c;--module-soft:#f7f3fb;--module-border:#c7b4dc}
.module-page--inventory{--module-accent:#5966a3;--module-soft:#f3f5fb;--module-border:#b6bedc}
.module-page--sales-invoices{--module-accent:#2f6f9f;--module-soft:#f2f7fb;--module-border:#a9c8dc}
.module-page--banking{--module-accent:#3e6f8e;--module-soft:#f2f7f9;--module-border:#aec7d6}
.module-page--vat{--module-accent:#2e6a47;--module-soft:#f2f8f4;--module-border:#aac9b5}
.module-page--payroll{--module-accent:#a46d3c;--module-soft:#fff8f2;--module-border:#d8b796}
.module-page--expenses{--module-accent:#99466d;--module-soft:#fcf3f7;--module-border:#ddb1c5}
.module-page--support{--module-accent:#3f7f79;--module-soft:#f2f8f7;--module-border:#a9cbc8}

.module-page .page-header{
    padding-left:1rem;
    border-left:4px solid var(--module-accent);
    border-radius:.35rem;
    background:linear-gradient(90deg,var(--module-soft) 0,transparent 72%);
}
.module-page .page-header .eyebrow,
.module-page .main-content .card > .eyebrow,
.module-page .main-content .section-heading .eyebrow{color:var(--module-accent)}

.module-page .main-content .card:not(.context-message),
.module-accent-card{
    border-top:4px solid var(--module-accent)!important;
    background:linear-gradient(180deg,var(--module-soft) 0,#fff 82px);
}
.module-page .main-content .payroll-employer-summary{
    border-color:var(--module-border);
    border-top:4px solid var(--module-accent);
    background:linear-gradient(180deg,var(--module-soft) 0,#fff 100%);
}
.module-item-card{border-left:4px solid var(--module-accent)!important}
.module-accent-strip{border-left:4px solid var(--module-accent);background:var(--module-soft)}
.module-accent-badge{display:inline-flex;align-items:center;padding:.2rem .55rem;border:1px solid var(--module-border);border-radius:999px;background:var(--module-soft);color:var(--module-accent);font-weight:700;font-size:.78rem}

.module-page .main-content .button:not(.button--secondary):not(.button--danger),
.module-page .module-primary-action{
    border-color:var(--module-accent)!important;
    background:var(--module-accent)!important;
    color:#fff!important;
}
.module-page .main-content .button:not(.button--secondary):not(.button--danger):hover,
.module-page .main-content .button:not(.button--secondary):not(.button--danger):focus-visible,
.module-page .module-primary-action:hover,
.module-page .module-primary-action:focus-visible{filter:brightness(.94)}

.module-page .main-content input:not([type=checkbox]):not([type=radio]):focus,
.module-page .main-content select:focus,
.module-page .main-content textarea:focus{
    border-color:var(--module-accent);
    outline:0;
    box-shadow:0 0 0 3px var(--module-border);
}

@media(max-width:640px){
    .module-page .page-header{padding-left:.75rem}
}


/* Sales Ledger compact item-entry standard */
.sales-item-list,.sales-credit-item-list{display:grid;gap:14px}
.sales-item-card,.sales-credit-item-card{padding:18px 20px}
.sales-item-header{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:14px}
.sales-item-header h3{margin:0}
.sales-item-grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(180px,1fr) minmax(180px,1fr) minmax(130px,.7fr);gap:12px 14px;align-items:end}
.sales-item-grid .form-field{margin:0}
.sales-item-description,.sales-item-account{grid-column:span 2}
.sales-item-inventory{grid-column:span 2}
.field-label-help{display:flex;align-items:center;gap:7px}
.help-dot{display:inline-flex;align-items:center;justify-content:center;width:19px;height:19px;border:1.5px solid #1473e6;border-radius:50%;color:#1473e6;font-size:12px;font-weight:800;cursor:help;position:relative;flex:0 0 auto}
.help-dot:hover:after,.help-dot:focus:after{content:attr(data-help);position:absolute;z-index:80;left:25px;top:-8px;width:min(285px,70vw);padding:10px 12px;border:1px solid #b9d7f5;border-radius:8px;background:#eef6ff;color:#12324d;font-size:13px;font-weight:500;line-height:1.35;box-shadow:0 6px 18px rgba(20,55,90,.14)}
.warning-dot{border-color:#b88600;color:#8a6500;background:#fff6cf}
.warning-dot:hover:after,.warning-dot:focus:after{background:#fff6cf;border-color:#d8b34d;color:#5d4600}
.sales-credit-header-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 18px;align-items:start}
.sales-credit-header-grid .form-field{min-width:0}
.sales-credit-header-grid .form-field--full{grid-column:1/-1}
.module-item-card{border-left:4px solid var(--module-border)}
.context-message--warning{margin:16px 0}
.journal-ready-help{margin-top:12px}
@media(max-width:1050px){
 .sales-item-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .sales-item-description,.sales-item-account,.sales-item-inventory{grid-column:span 2}
}
@media(max-width:760px){
 .sales-credit-header-grid{grid-template-columns:1fr}
 .sales-credit-header-grid .form-field--full{grid-column:1}
}
@media(max-width:680px){
 .sales-item-card,.sales-credit-item-card{padding:16px}
 .sales-item-grid{grid-template-columns:1fr}
 .sales-item-description,.sales-item-account,.sales-item-inventory{grid-column:span 1}
 .help-dot:hover:after,.help-dot:focus:after{left:auto;right:0;top:25px;width:min(260px,75vw)}
}

/* Purchase Credit Note compact read-only summary */
.purchase-credit-summary-grid{display:grid;grid-template-columns:minmax(0,3fr) minmax(260px,1fr);gap:16px;margin-bottom:20px}
.purchase-credit-current-card,.purchase-credit-total-card{padding:18px 20px}
.purchase-credit-current-card>.eyebrow,.purchase-credit-total-card>.eyebrow{margin:0 0 14px}
.purchase-credit-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px 20px}
.purchase-credit-facts>div{min-width:0}
.purchase-credit-facts span,.purchase-credit-facts strong{display:block}
.purchase-credit-facts span{margin-bottom:4px;color:var(--colour-muted);font-size:.84rem}
.purchase-credit-facts strong{overflow-wrap:anywhere;line-height:1.3}
.purchase-credit-total-card{align-content:start}
@media(max-width:1050px){.purchase-credit-summary-grid{grid-template-columns:1fr}.purchase-credit-facts{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.purchase-credit-facts{grid-template-columns:1fr}.purchase-credit-current-card,.purchase-credit-total-card{padding:16px}}

/* Shared: components.css */
.hero-panel,
.card,
.empty-state {
    background: var(--colour-surface);
    border: 1px solid var(--colour-border);
    border-radius: var(--radius-large);
    box-shadow: var(--shadow-card);
}

.hero-panel {
    padding: clamp(28px, 5vw, 56px);
}

.hero-panel__content {
    max-width: 760px;
}

.card {
    padding: var(--space-5);
}

.card h3:last-child,
.card p:last-child {
    margin-bottom: 0;
}

.button-row,
.badge-row {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-3);
    align-items: center;
}

.button {
    min-height: var(--field-height);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0 var(--space-5);
    border: 1px solid var(--colour-border);
    border-radius: var(--radius-medium);
    background: var(--colour-surface);
    color: var(--colour-brand-dark);
    cursor: pointer;
    font-weight: 700;
    text-decoration: none;
}

.button:hover {
    border-color: var(--colour-brand);
}

.button:disabled {
    cursor: not-allowed;
    opacity: 0.55;
}

.button--primary {
    background: var(--colour-brand);
    border-color: var(--colour-brand);
    color: #fff;
}

.button--primary:hover {
    background: var(--colour-brand-dark);
}

.button--secondary {
    background: #fff;
    border-color: var(--colour-brand);
    color: var(--colour-brand);
}

.button--danger {
    background: var(--colour-danger);
    border-color: var(--colour-danger);
    color: #fff;
}

.badge {
    display: inline-flex;
    align-items: center;
    min-height: 28px;
    padding: 3px 10px;
    border-radius: 999px;
    font-size: 0.78rem;
    font-weight: 700;
}

.badge--success,
.badge--active {
    background: #E7F3EA;
    color: var(--colour-success);
}

.badge--warning,
.badge--pending {
    background: #FFF3D8;
    color: var(--colour-warning);
}

.badge--danger,
.badge--error {
    background: #F9E3E3;
    color: var(--colour-danger);
}

.badge--neutral,
.badge--archived,
.badge--cancelled {
    background: #EEF1F4;
    color: var(--colour-muted);
}

.badge--development,
.badge--draft {
    background: #E8EEF5;
    color: var(--colour-brand);
}

.badge--dormant,
.badge--suspended {
    background: #FFF0E0;
    color: #8A4A16;
}

.alert {
    margin-bottom: var(--space-5);
    padding: var(--space-4) var(--space-5);
    border-radius: var(--radius-medium);
    border: 1px solid var(--colour-border);
}

.alert--info {
    background: #EDF4FA;
    border-color: #C9DCEB;
    color: var(--colour-brand-dark);
}

.alert--success {
    background: #E7F3EA;
    border-color: #B9D9C2;
    color: var(--colour-success);
}

.alert--danger {
    background: #F9E3E3;
    border-color: #E9BBBB;
    color: var(--colour-danger);
}

.empty-state {
    padding: var(--space-7);
    text-align: center;
}

.muted {
    color: var(--colour-muted);
}

.metric-card {
    min-height: 180px;
}

.metric-value {
    margin-bottom: var(--space-3);
    color: var(--colour-brand-dark);
    font-size: 2.5rem;
    font-weight: 700;
    line-height: 1;
}

.auth-panel {
    display: grid;
    place-items: center;
}

.auth-card {
    width: min(100%, 520px);
}

.detail-list {
    display: grid;
    gap: var(--space-5);
}

.detail-list > div {
    display: grid;
    gap: var(--space-1);
    padding-bottom: var(--space-4);
    border-bottom: 1px solid var(--colour-border);
}

.detail-list > div:last-child {
    padding-bottom: 0;
    border-bottom: 0;
}

.detail-list span {
    color: var(--colour-muted);
    font-size: 0.875rem;
}

.health-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--space-5);
}

.system-health-indicator {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    align-self: flex-start;
    min-height: 38px;
    padding: 0.5rem 0.9rem;
    border: 1px solid transparent;
    border-radius: 999px;
    font-size: 0.9rem;
    font-weight: 700;
    line-height: 1.2;
    text-decoration: none;
}

.system-health-indicator--healthy { border-color: #acd9bb; background: #e8f5ed; color: #186a3b; }
.system-health-indicator--attention { border-color: #e7aaaa; background: #fbe9e9; color: #8e1717; }
.system-health-checks { display: grid; gap: 0; margin-top: var(--space-5); border-top: 1px solid var(--colour-border); }
.system-health-check { display: flex; align-items: center; justify-content: space-between; gap: var(--space-4); padding: var(--space-4) 0; border-bottom: 1px solid var(--colour-border); }
.system-health-check > div { display: grid; gap: var(--space-1); }
.system-health-check span:not(.badge) { color: var(--colour-muted); }


.wizard {
    display: grid;
    gap: var(--space-5);
}

.wizard-steps {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: var(--space-3);
    margin: 0;
    padding: 0;
    list-style: none;
}

.wizard-steps li {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-3) var(--space-4);
    border: 1px solid var(--colour-border);
    border-radius: var(--radius-medium);
    background: var(--colour-surface);
    color: var(--colour-muted);
    font-weight: 700;
}

.wizard-steps li span {
    display: inline-grid;
    width: 28px;
    height: 28px;
    place-items: center;
    border-radius: 50%;
    background: #EEF1F4;
    color: var(--colour-muted);
}

.wizard-steps li.is-active {
    border-color: var(--colour-brand);
    color: var(--colour-brand);
}

.wizard-steps li.is-active span,
.wizard-steps li.is-complete span {
    background: var(--colour-brand);
    color: #fff;
}

.wizard-steps li.is-complete {
    color: var(--colour-success);
}

.wizard-summary {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-7);
}

.wizard-summary > div,
.wizard-summary {
    align-items: center;
}

.wizard-summary span {
    display: block;
    color: var(--colour-muted);
    font-size: 0.85rem;
}


.page-actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: var(--space-3);
    margin-bottom: var(--space-5);
}


.section--first {
    margin-top: 0;
}

.recommendation-card {
    padding: var(--space-5);
    border: 2px solid var(--colour-accent);
    border-radius: var(--radius-large);
    background: #F4FAF4;
    box-shadow: var(--shadow-card);
}

.recommendation-card h2 {
    margin-bottom: var(--space-3);
}

.framework-summary {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: var(--space-5);
}

.framework-summary div {
    display: grid;
    gap: var(--space-1);
}

.framework-summary span {
    color: var(--colour-muted);
    font-size: 0.85rem;
}


.inline-control {
    display: inline-flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: var(--space-2);
    align-items: center;
}

.inline-control select {
    min-height: var(--field-height);
    padding: 8px 10px;
    border: 1px solid var(--colour-border);
    border-radius: var(--radius-medium);
    background: #fff;
    color: var(--colour-text);
}


.journal-summary-grid {
    display: grid;
    grid-template-columns: minmax(0, 2fr) minmax(280px, 1fr);
    gap: var(--space-5);
    margin-bottom: var(--space-5);
}

.journal-balance-card {
    align-content: start;
}

.journal-total-row {
    display: flex;
    justify-content: space-between;
    gap: var(--space-4);
    padding: var(--space-3) 0;
    border-bottom: 1px solid var(--colour-border);
}

.journal-total-row--difference {
    margin-bottom: var(--space-4);
    border-bottom: 0;
}

.journal-ready-form {
    margin-top: var(--space-5);
}

.journal-line-form {
    grid-template-columns: minmax(240px, 2fr) minmax(220px, 2fr) minmax(120px, 1fr) minmax(120px, 1fr);
}

.journal-line-form__account,
.journal-line-form__description {
    min-width: 0;
}

.journal-void-form input[type="text"] {
    min-width: 190px;
}

.table-row--void {
    opacity: 0.62;
}

.empty-state--inside {
    border: 0;
    box-shadow: none;
}

@media (max-width: 900px) {
    .journal-summary-grid,
    .journal-line-form {
        grid-template-columns: 1fr;
    }
}


.trial-balance-summary {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    align-items: center;
    gap: var(--space-5);
    margin-bottom: var(--space-5);
}

.trial-balance-summary div {
    display: grid;
    gap: var(--space-2);
}

.trial-balance-summary span:not(.badge) {
    color: var(--colour-text-muted);
}

.trial-balance-summary strong {
    font-size: 1.35rem;
}

@media (max-width: 800px) {
    .trial-balance-summary {
        grid-template-columns: 1fr 1fr;
    }
}


.reversal-source {
    margin: var(--space-5) 0;
}

.ledger-filter {
    display: flex;
    flex-wrap: wrap;
    align-items: end;
    gap: var(--space-3);
}

.ledger-filter .form-field {
    flex: 1 1 320px;
    margin: 0;
}


.partner-search {
    display: flex;
    flex-wrap: wrap;
    align-items: end;
    gap: var(--space-3);
}

.partner-search .form-field {
    flex: 1 1 360px;
    margin: 0;
}

.partner-status-form {
    margin-top: var(--space-5);
}

.input-prefix,
.input-suffix {
    display: flex;
    align-items: stretch;
}

.input-prefix span,
.input-suffix span {
    display: inline-flex;
    align-items: center;
    padding: 0 var(--space-3);
    border: 1px solid var(--colour-border);
    background: var(--colour-surface-muted);
    color: var(--colour-text-muted);
}

.input-prefix span {
    border-right: 0;
    border-radius: var(--radius-medium) 0 0 var(--radius-medium);
}

.input-prefix input {
    border-radius: 0 var(--radius-medium) var(--radius-medium) 0;
}

.input-suffix span {
    border-left: 0;
    border-radius: 0 var(--radius-medium) var(--radius-medium) 0;
}

.input-suffix input {
    border-radius: var(--radius-medium) 0 0 var(--radius-medium);
}

.address-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
    gap: var(--space-4);
    margin-top: var(--space-4);
}

.address-card {
    padding: var(--space-4);
    border: 1px solid var(--colour-border);
    border-radius: var(--radius-medium);
    background: var(--colour-surface);
}

.address-card--inactive {
    opacity: 0.6;
}

.address-card__heading {
    display: flex;
    justify-content: space-between;
    gap: var(--space-3);
    align-items: center;
}

/* Shared: organisation-workspace.css */
.organisation-summary {
    margin-bottom: var(--space-7);
}

.section-introduction {
    margin-bottom: var(--space-5);
}

.section-introduction h2 {
    margin-bottom: var(--space-2);
}

.module-block-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--space-5);
}

.module-block {
    min-width: 0;
    padding: var(--space-5);
    border: 1px solid var(--colour-border);
    border-radius: var(--radius-large);
    background: var(--colour-surface);
    box-shadow: var(--shadow-card);
}

.module-block--planned {
    background: var(--colour-surface-muted);
}

.module-block__heading {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: var(--space-4);
    margin-bottom: var(--space-3);
}

.module-block__heading h3 {
    margin: 0;
    color: var(--colour-brand-dark);
    font-size: 1.35rem;
}

.module-block > p {
    margin: 0 0 var(--space-4);
    color: var(--colour-text-muted);
}

.module-block__status {
    flex: 0 0 auto;
    padding: 5px 10px;
    border-radius: 999px;
    background: var(--colour-surface);
    color: var(--colour-text-muted);
    font-size: 0.75rem;
    font-weight: 700;
}

.module-block__status--active {
    background: var(--colour-success-soft);
    color: var(--colour-success-text);
}

.module-block__actions {
    display: grid;
    gap: var(--space-3);
}

.module-action {
    display: grid;
    gap: 3px;
    min-width: 0;
    padding: 14px 16px;
    border: 1px solid var(--colour-border);
    border-radius: var(--radius-medium);
    background: var(--colour-surface);
    color: var(--colour-brand-dark);
    text-decoration: none;
    transition:
        border-color 140ms ease,
        box-shadow 140ms ease,
        transform 140ms ease;
}

.module-action:hover,
.module-action:focus-visible {
    border-color: var(--colour-brand);
    box-shadow: 0 8px 18px rgba(22, 58, 95, 0.10);
    transform: translateY(-1px);
}

.module-action strong,
.module-action span {
    overflow-wrap: anywhere;
}

.module-action span {
    color: var(--colour-text-muted);
    font-size: 0.9rem;
}

.module-action--planned {
    cursor: default;
    background: var(--colour-surface-muted);
    color: var(--colour-text-muted);
}

.module-action--planned:hover {
    border-color: var(--colour-border);
    box-shadow: none;
    transform: none;
}

.module-block__planned-list {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-2);
}

.module-block__planned-list span {
    padding: 7px 10px;
    border: 1px solid var(--colour-border);
    border-radius: 999px;
    background: var(--colour-surface);
    color: var(--colour-text-muted);
    font-size: 0.85rem;
}

@media (max-width: 900px) {
    .module-block-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 760px) {
    .page-actions--organisation {
        display: grid;
        grid-template-columns: 1fr;
    }

    .module-block {
        padding: var(--space-4);
    }

    .module-block__heading {
        display: grid;
        grid-template-columns: 1fr;
    }

    .module-block__status {
        justify-self: start;
    }

    .module-action {
        width: 100%;
    }
}

/* Shared: aged-balances.css */
.aged-filter {
    margin-bottom: var(--space-5);
}

.aged-summary-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: var(--space-4);
    margin-bottom: var(--space-6);
}

.aged-summary-card {
    display: grid;
    gap: var(--space-2);
    min-width: 0;
    padding: var(--space-4);
    border: 1px solid var(--colour-border);
    border-radius: var(--radius-large);
    background: var(--colour-surface);
    box-shadow: var(--shadow-card);
}

.aged-summary-card span {
    color: var(--colour-text-muted);
    font-weight: 700;
}

.aged-summary-card strong {
    color: var(--colour-brand-dark);
    font-size: 1.5rem;
    overflow-wrap: anywhere;
}

.aged-summary-card--total {
    background: var(--colour-brand-dark);
}

.aged-summary-card--total span,
.aged-summary-card--total strong {
    color: #ffffff;
}

.responsive-card-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--space-5);
}

.record-card {
    display: block;
    min-width: 0;
    padding: var(--space-5);
    border: 1px solid var(--colour-border);
    border-radius: var(--radius-large);
    background: var(--colour-surface);
    box-shadow: var(--shadow-card);
}

.record-card__heading {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: var(--space-4);
    margin-bottom: var(--space-4);
}

.record-card__heading h2 {
    margin: 0;
    font-size: 1.25rem;
    overflow-wrap: anywhere;
}

@media (max-width: 900px) {
    .aged-summary-grid,
    .responsive-card-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 760px) {
    .record-card {
        padding: var(--space-4);
    }

    .record-card__heading {
        display: grid;
        grid-template-columns: 1fr;
    }

    .record-card__heading .badge {
        justify-self: start;
    }
}

/* Shared: forms.css */
.form-layout {
    display: grid;
    gap: var(--space-5);
}

.form-grid {
    display: grid;
    gap: var(--space-5);
}

.form-grid--two {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.form-field {
    display: grid;
    gap: var(--space-2);
}

.form-field label {
    font-weight: 700;
}

.form-field input,
.form-field select,
.form-field textarea,
.search-field,
.form-select {
    width: 100%;
    min-height: var(--field-height);
    padding: 10px 12px;
    border: 1px solid var(--colour-border);
    border-radius: var(--radius-medium);
    background: #fff;
    color: var(--colour-text);
}

/* Compact selection controls are a system-wide form standard. */
input[type="checkbox"],
input[type="radio"] {
    width: 1.125rem;
    min-width: 1.125rem;
    height: 1.125rem;
    min-height: 1.125rem;
    margin: 0;
    padding: 0;
    flex: 0 0 1.125rem;
}

.form-check {
    display: inline-flex;
    align-items: center;
    gap: var(--space-2, 0.5rem);
    width: fit-content;
    min-height: var(--field-height);
    font-weight: 700;
}

.form-check__text {
    line-height: 1.4;
    white-space: normal;
}

.form-field input:focus,
.form-field select:focus,
.form-field textarea:focus,
.search-field:focus,
.form-select:focus {
    outline: 3px solid rgba(22, 58, 95, 0.15);
    border-color: var(--colour-brand);
}

.field-help {
    margin-bottom: 0;
    color: var(--colour-muted);
    font-size: 0.875rem;
}

.checkbox-field {
    display: inline-flex;
    align-items: center;
    gap: var(--space-3);
}

.checkbox-field input {
    margin: 0;
}

.form-actions {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-3);
    padding-top: var(--space-4);
    border-top: 1px solid var(--colour-border);
}


.form-section {
    display: grid;
    gap: var(--space-4);
    padding-top: var(--space-5);
    border-top: 1px solid var(--colour-border);
}

.section-heading--compact {
    margin-bottom: 0;
}

/* Shared: tables.css */
.table-card {
    padding: 0;
    overflow: hidden;
}

.table-toolbar {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: var(--space-4);
    padding: var(--space-5);
    border-bottom: 1px solid var(--colour-border);
}

.search-field {
    max-width: 420px;
}

.table-wrap {
    max-width: 100%;
    overflow-x: auto;
}

table {
    width: 100%;
    border-collapse: collapse;
}

th,
td {
    padding: 14px 18px;
    border-bottom: 1px solid var(--colour-border);
    text-align: left;
    vertical-align: middle;
}

th {
    background: #F8FAFB;
    color: var(--colour-brand-dark);
    font-size: 0.84rem;
    letter-spacing: 0.04em;
    text-transform: none;
}

tbody tr:nth-child(even) {
    background: #FBFCFD;
}

tbody tr:hover {
    background: #F2F6F9;
}

tbody tr:last-child td {
    border-bottom: 0;
}

.table-actions {
    text-align: right;
}

.pagination-bar {
    display: flex;
    justify-content: flex-end;
    padding: var(--space-4) var(--space-5);
    border-top: 1px solid var(--colour-border);
    color: var(--colour-muted);
    font-size: 0.875rem;
}

/*
 * Table card headings
 * Keep headings aligned with the horizontal inset used by table cells.
 */
.table-card > .record-card__heading {
    padding: var(--space-4) 18px;
    margin: 0;
}

/* Demo Session journey table */
.demo-journey-card { margin-top: 1rem; }
.demo-journey-table { width: 100%; table-layout: fixed; }
.demo-journey-table th:nth-child(1) { width: 9%; }
.demo-journey-table th:nth-child(2) { width: 15%; }
.demo-journey-table th:nth-child(3) { width: 16%; }
.demo-journey-table th:nth-child(4) { width: 30%; }
.demo-journey-table th:nth-child(5) { width: 30%; }
.demo-journey-table td { overflow-wrap: anywhere; vertical-align: top; }
@media (max-width: 750px) {
    .demo-journey-table, .demo-journey-table tbody, .demo-journey-table tr, .demo-journey-table td { display: block; width: 100%; }
    .demo-journey-table thead { display: none; }
    .demo-journey-table tr { padding: .7rem; margin-bottom: .7rem; border: 1px solid var(--colour-border, #d6e0e8); border-radius: .7rem; }
    .demo-journey-table td { display: grid; grid-template-columns: 5.5rem minmax(0, 1fr); gap: .5rem; padding: .35rem 0; }
    .demo-journey-table td::before { content: attr(data-label); font-weight: 700; }
}

/* Shared: responsive.css */
@media (max-width: 900px) {
    .card-grid--three,
    .form-grid--two,
    .detail-grid,
    .framework-summary {
        grid-template-columns: 1fr;
    }

    .app-header__inner {
        min-height: auto;
        padding-block: var(--space-4);
        align-items: flex-start;
        flex-direction: column;
    }

    .primary-nav {
        flex-wrap: wrap;
        gap: var(--space-4);
    }
}

@media (max-width: 640px) {
    :root {
        --content-padding: 16px;
    }

    .main-content {
        padding-block: var(--space-6);
    }

    .page-header,
    .section-heading,
    .table-toolbar,
    .health-row,
    .system-health-check,
    .app-footer__inner {
        align-items: stretch;
        flex-direction: column;
    }

    .app-version {
        text-align: left;
    }

    .table-toolbar .button,
    .search-field {
        max-width: none;
        width: 100%;
    }

    .wizard-steps {
        grid-template-columns: 1fr;
    }

    .button-row .button,
    .form-actions .button {
        width: 100%;
    }
}


/*
 * Mobile Data Standard
 *
 * At mobile widths, tabular records are presented as stacked data blocks.
 * The shared JavaScript assigns each value its column heading so no table
 * requires horizontal page scrolling.
 */
@media (max-width: 760px) {
    html,
    body,
    .app-shell,
    .main-content,
    .content-container {
        max-width: 100%;
        overflow-x: hidden;
    }

    .table-card {
        overflow: visible;
        background: transparent;
        border: 0;
        box-shadow: none;
    }

    .table-wrap {
        overflow: visible;
    }

    .responsive-data-table,
    .responsive-data-table tbody,
    .responsive-data-table tfoot,
    .responsive-data-table tr,
    .responsive-data-table td {
        display: block;
        width: 100%;
    }

    .responsive-data-table {
        border-collapse: separate;
    }

    .responsive-data-table thead {
        position: absolute;
        width: 1px;
        height: 1px;
        margin: -1px;
        overflow: hidden;
        clip: rect(0 0 0 0);
        white-space: nowrap;
        border: 0;
    }

    .responsive-data-table tbody {
        display: grid;
        gap: var(--space-4);
    }

    .responsive-data-table tbody tr {
        overflow: hidden;
        border: 1px solid var(--colour-border);
        border-radius: var(--radius-large);
        background: var(--colour-surface);
        box-shadow: var(--shadow-card);
    }

    .responsive-data-table tbody tr:nth-child(even),
    .responsive-data-table tbody tr:hover {
        background: var(--colour-surface);
    }

    .responsive-data-table td {
        display: grid;
        grid-template-columns: minmax(112px, 38%) minmax(0, 1fr);
        gap: var(--space-3);
        align-items: start;
        padding: 12px 16px;
        text-align: left;
        overflow-wrap: anywhere;
        word-break: normal;
    }

.responsive-data-table td::before {
        content: attr(data-label);
        color: var(--colour-brand-dark);
        font-size: 0.75rem;
        font-weight: 700;
        letter-spacing: 0.04em;
        line-height: 1.35;
    text-transform: none;
    }

    .responsive-data-table td.table-actions {
        text-align: left;
    }

    .responsive-data-table td.table-actions .button,
    .responsive-data-table td.table-actions form,
    .responsive-data-table td.table-actions .inline-control {
        width: 100%;
    }

    .responsive-data-table td.table-actions .inline-control {
        display: grid;
        gap: var(--space-2);
    }

    .responsive-data-table td.table-actions .button {
        justify-content: center;
    }

    .responsive-data-table tbody tr:last-child td {
        border-bottom: 1px solid var(--colour-border);
    }

    .responsive-data-table tbody tr td:last-child {
        border-bottom: 0;
    }

    .responsive-data-table tfoot {
        margin-top: var(--space-4);
        overflow: hidden;
        border: 1px solid var(--colour-border);
        border-radius: var(--radius-large);
        background: var(--colour-surface-muted);
    }

    .responsive-data-table tfoot tr {
        display: block;
    }

    .responsive-data-table tfoot td,
    .responsive-data-table tfoot th {
        display: grid;
        grid-template-columns: minmax(112px, 38%) minmax(0, 1fr);
        gap: var(--space-3);
        width: 100%;
        padding: 12px 16px;
        text-align: left;
        overflow-wrap: anywhere;
    }

    .page-actions,
    .button-row {
        width: 100%;
    }

    .page-actions .button,
    .button-row .button {
        width: 100%;
        justify-content: center;
    }

    .partner-search,
    .ledger-filter {
        display: grid;
        grid-template-columns: 1fr;
        align-items: stretch;
    }

    .partner-search .button,
    .ledger-filter .button {
        width: 100%;
        justify-content: center;
    }
}

@media (max-width: 420px) {
    .responsive-data-table td,
    .responsive-data-table tfoot td,
    .responsive-data-table tfoot th {
        grid-template-columns: 1fr;
        gap: 4px;
    }
}


/* Global Mobile Viewport Protection */
@media (max-width: 760px) {
    *, *::before, *::after { box-sizing: border-box; }

    .app-shell, .app-header, .app-header__inner, .primary-nav,
    .main-content, .content-container, .page-header, .section-heading,
    .card, .card-grid, .table-card, .table-wrap,
    main, section, article {
        min-width: 0;
        max-width: 100%;
    }

    .app-header__inner, .primary-nav { width: 100%; }
    .primary-nav { align-items: flex-start; }

    img, svg, canvas, video {
        max-width: 100%;
        height: auto;
    }

    h1, h2, h3, h4, p, a, span, strong, th, td {
        max-width: 100%;
        overflow-wrap: anywhere;
        word-break: normal;
    }

    .table-wrap {
        width: 100%;
        max-width: 100%;
    }

    .table-wrap table:not(.responsive-data-table) {
        width: 100%;
        max-width: 100%;
        table-layout: fixed;
    }

    .table-wrap table:not(.responsive-data-table) th,
    .table-wrap table:not(.responsive-data-table) td {
        min-width: 0;
        white-space: normal;
        overflow-wrap: anywhere;
    }
}

@media (max-width: 420px) {
    .primary-nav { gap: var(--space-3); }
}

/* Shared compatibility for legacy responsive table wrappers. */
.table-responsive {
    width: 100%;
    max-width: 100%;
    overflow-x: auto;
}

@media (max-width: 760px) {
    .table-responsive {
        min-width: 0;
        overflow: visible;
    }
}


/*
 * Global Mobile Header Inset
 *
 * The header container owns the protected mobile inset. The navigation must
 * not add a second inset because that unnecessarily reduces its available
 * width and forces links onto extra rows.
 */
@media (max-width: 900px) {
    .app-header__inner {
        width: 100%;
        padding-inline: var(--content-padding);
        box-sizing: border-box;
    }

    .primary-nav {
        width: 100%;
        max-width: 100%;
        padding-inline: 0;
        margin-inline: 0;
        box-sizing: border-box;
    }
}

@media (max-width: 640px) {
    .primary-nav {
        display: flex;
        flex-wrap: wrap;
        align-items: baseline;
        justify-content: start;
        column-gap: var(--space-4);
        row-gap: var(--space-3);
    }

    .primary-nav .nav-form {
        display: block;
        margin: 0;
    }

    .primary-nav a,
    .primary-nav .nav-button {
        white-space: nowrap;
    }
}

/* Shared: responsive-controls.css */
/* CUNNTAS global responsive control standard — Module 188 */
*,*::before,*::after{box-sizing:border-box}
.content-container,.page-header,.card,.section-heading,.field-heading,
.page-header>*,.card>*,.section-heading>*,.field-heading>*{min-width:0}
.page-description,.card p,.context-message,.alert,.notice,
.section-heading,.field-heading{overflow-wrap:anywhere}
img,svg,video,canvas{max-width:100%;height:auto}
.page-actions,.button-row,.form-actions,.card-actions,.table-actions,
.migration-heading-actions,.rti-draft-actions{display:flex;flex-wrap:wrap;gap:1rem}
:where([class$="-actions"],[class*="__actions"]){min-width:0;max-width:100%}
.page-actions>.button,.button-row>.button,.form-actions>.button,
.card-actions>.button,.table-actions>.button,.migration-heading-actions>.button,
.rti-draft-actions>.button{min-width:0;max-width:100%;white-space:normal;text-align:center}
:where([class$="-actions"],[class*="__actions"])>.button{min-width:0;max-width:100%;white-space:normal;text-align:center}
input,select,textarea,button,.button{max-width:100%}
input[type="file"]{width:100%;min-width:0}
.table-wrap,.table-responsive,.rti-table-wrap,.report-table-wrap{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
@media(max-width:760px){
  .page-actions,.button-row,.form-actions,.card-actions,.migration-heading-actions,
  .rti-draft-actions{display:grid;grid-template-columns:minmax(0,1fr);width:100%}
  :where([class$="-actions"],[class*="__actions"]){flex-wrap:wrap;max-width:100%}
  .card :where([class$="-actions"],[class*="__actions"]),
  .page-header :where([class$="-actions"],[class*="__actions"]){display:grid;grid-template-columns:minmax(0,1fr);width:100%}
  .page-actions>.button,.button-row>.button,.form-actions>.button,
  .card-actions>.button,.migration-heading-actions>.button,
  .rti-draft-actions>.button,.page-actions>form,.form-actions>form,
  .rti-draft-actions>form{width:100%;min-width:0}
  .page-actions>form>.button,.form-actions>form>.button,
  .rti-draft-actions>form>.button{width:100%;white-space:normal}
  .card :where([class$="-actions"],[class*="__actions"])>.button,
  .card :where([class$="-actions"],[class*="__actions"])>form,
  .card :where([class$="-actions"],[class*="__actions"])>form>.button{width:100%;min-width:0;white-space:normal}
  .section-heading,.field-heading{align-items:flex-start;flex-wrap:wrap}
}

/* Shared: workspace-rhythm.css */
/* CUNNTAS Module 085 — Workspace spacing standard. The app layout renders content directly in .content-container. */

:is(.page-content, .main-content > .content-container) > section,
:is(.page-content, .main-content > .content-container) > .detail-grid,
:is(.page-content, .main-content > .content-container) > .responsive-card-grid,
:is(.page-content, .main-content > .content-container) > .record-stack,
:is(.page-content, .main-content > .content-container) > .workspace-grid {
    margin-bottom: 24px;
}

:is(.page-content, .main-content > .content-container) > section:last-child,
:is(.page-content, .main-content > .content-container) > .detail-grid:last-child,
:is(.page-content, .main-content > .content-container) > .responsive-card-grid:last-child,
:is(.page-content, .main-content > .content-container) > .record-stack:last-child,
:is(.page-content, .main-content > .content-container) > .workspace-grid:last-child {
    margin-bottom: 0;
}

:is(.page-content, .main-content > .content-container) > .card + .card,
:is(.page-content, .main-content > .content-container) > .card + .detail-grid,
:is(.page-content, .main-content > .content-container) > .card + .responsive-card-grid,
:is(.page-content, .main-content > .content-container) > .card + .record-stack,
:is(.page-content, .main-content > .content-container) > .card + .table-card,
:is(.page-content, .main-content > .content-container) > .detail-grid + .card,
:is(.page-content, .main-content > .content-container) > .detail-grid + .table-card,
:is(.page-content, .main-content > .content-container) > .responsive-card-grid + .card,
:is(.page-content, .main-content > .content-container) > .responsive-card-grid + .table-card,
:is(.page-content, .main-content > .content-container) > .record-stack + .card,
:is(.page-content, .main-content > .content-container) > .record-stack + .table-card,
:is(.page-content, .main-content > .content-container) > .table-card + .card {
    margin-top: 24px;
}

/* Grid gaps control spacing between cards in the same row. */
:is(.responsive-card-grid, .card-grid, .detail-grid, .workspace-grid,
    .settings-compact-grid, .hmrc-profile-domain-grid, .hmrc-service-grid) {
    align-items: stretch;
}

:is(.responsive-card-grid, .card-grid, .detail-grid, .workspace-grid,
    .settings-compact-grid, .hmrc-profile-domain-grid, .hmrc-service-grid)
    > .card + .card {
    margin-top: 0;
}

.record-card .button,
.card .button-row,
.detail-list + .button,
.detail-list + .button-row {
    margin-top: 18px;
}

/* Shared: support-centre.css */
/* CUNNTAS Module 086.3 — Support Search Presentation */

.support-search-card {
    display: block;
}

.support-search-card__heading {
    align-items: flex-start;
}

.support-search-card__intro {
    margin: 8px 0 0;
    max-width: 760px;
}

.support-search-field {
    margin-top: 26px;
}

.support-search-field label {
    display: block;
    margin-bottom: 10px;
    font-weight: 700;
}

.support-search-input {
    display: block;
    width: 100%;
    min-height: 64px;
    padding: 16px 18px;
    border: 1px solid var(--border-colour, #cfd9e3);
    border-radius: 10px;
    background: #ffffff;
    color: inherit;
    font: inherit;
    font-size: 1.05rem;
    line-height: 1.4;
    box-sizing: border-box;
}

.support-search-input:focus {
    outline: 0;
    border-color: var(--module-accent, #173f68);
    box-shadow: 0 0 0 3px var(--module-border, rgba(23, 63, 104, .16));
}

.support-search-results {
    display: grid;
    gap: 12px;
    margin-top: 18px;
}

.support-search-results[hidden] {
    display: none;
}

.support-result {
    display: block;
    width: 100%;
    padding: 18px 20px;
    border: 1px solid var(--border-colour, #d7e0e8);
    border-radius: 10px;
    background: #ffffff;
    color: inherit;
    text-decoration: none;
    box-sizing: border-box;
    transition:
        border-color .15s ease,
        box-shadow .15s ease,
        transform .15s ease;
}

.support-result:hover,
.support-result:focus {
    border-color: var(--module-accent, #173f68);
    background: var(--module-soft, #ffffff);
    box-shadow: 0 6px 18px rgba(12, 38, 64, .08);
    transform: translateY(-1px);
}

.support-result__title,
.support-result__summary {
    display: block;
}

.support-result__title {
    color: #082f57;
    font-size: 1.02rem;
}

.support-result__summary {
    margin-top: 6px;
    color: #536779;
    line-height: 1.55;
}

.support-search-message {
    margin: 0;
    padding: 18px 20px;
    border: 1px solid var(--border-colour, #d7e0e8);
    border-radius: 10px;
    background: #f7f9fb;
}

.table-card {
    display: block !important;
    width: 100%;
    overflow: hidden;
}

.table-card__heading {
    display: flex !important;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    width: 100%;
    padding: 24px 26px 18px;
    box-sizing: border-box;
}

.table-card .table-wrap {
    display: block;
    width: 100%;
    margin: 0;
}

.table-card table {
    width: 100%;
}

.support-thread {
    display: grid;
    gap: 14px;
    margin: 20px 0 28px;
}

.support-message {
    padding: 18px;
    border: 1px solid var(--border-colour, #d7e0e8);
    border-radius: 12px;
}

.support-message header {
    display: flex;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 10px;
}

.support-message--platform {
    background: #f2f7fb;
}

.support-message--system {
    background: #f7f7f7;
}

.support-script {
    padding: 22px;
    border-left: 5px solid var(--module-accent, #173f68);
    background: var(--module-soft, #f2f7fb);
    font-size: 1.05rem;
    line-height: 1.7;
    margin: 18px 0 24px;
}

.support-code-banner {
    display: grid;
    grid-template-columns: minmax(180px, 1fr) auto auto auto;
    align-items: center;
    gap: 24px;
    padding: 16px max(24px, calc((100vw - 1360px) / 2));
    background: #a40000;
    color: #ffffff;
}

.support-code-banner p,
.support-code-banner span,
.support-code-banner strong {
    margin: 0;
    color: inherit;
}

.support-code-banner__label {
    text-transform: none;
    letter-spacing: .12em;
    font-weight: 700;
    font-size: .78rem;
}

.support-code-banner__text {
    margin-top: 4px !important;
}

.support-code-banner__code {
    text-align: center;
}

.support-code-banner__code span,
.support-code-banner__contact span {
    display: block;
    font-size: .82rem;
}

.support-code-banner__code strong {
    display: block;
    font-size: 2rem;
    letter-spacing: .14em;
}

.support-code-banner__contact {
    text-align: right;
}

.button--light {
    background: #ffffff;
    color: #7d0000;
    border-color: #ffffff;
}

.help-article__body {
    line-height: 1.75;
}

@media (max-width: 800px) {
    .record-card__heading,
    .table-card__heading,
    .support-message header {
        align-items: stretch;
        flex-direction: column;
    }

    .support-search-card__heading .button,
    .table-card__heading .button {
        width: 100%;
    }

    .support-search-input {
        min-height: 60px;
        font-size: 1rem;
    }

    .support-code-banner {
        grid-template-columns: 1fr;
        text-align: center;
        gap: 12px;
    }

    .support-code-banner__contact {
        text-align: center;
    }
}

/* Shared: context-messages.css */
:root {
    --context-help-text: #0b4f9c;
    --context-help-border: #8ab8ef;
    --context-help-bg: #eaf4ff;
    --context-help-bubble-bg: #dcecff;
    --context-help-bubble-text: #082f5d;

    --context-error-text: #a61b1b;
    --context-error-border: #e4a3a3;
    --context-error-bg: #fff0f0;

    --context-warning-text: #765200;
    --context-warning-border: #e5c56d;
    --context-warning-bg: #fff8dc;

    --context-success-text: #176b3a;
    --context-success-border: #9fd1b2;
    --context-success-bg: #edf9f1;
}

.context-message {
    display: block;
    margin: var(--space-4, 1rem) 0;
    padding: 0.7rem 0.85rem;
    border: 1px solid transparent;
    border-radius: 0.55rem;
    font-size: 0.9rem;
    line-height: 1.5;
}

/*
 * A full context message is always a separate content block. This adjacency
 * rule protects the standard gap when a page-level heading or field heading
 * has its own margin reset.
 */
.field-heading + .context-message:not(.context-message--compact),
h1 + .context-message:not(.context-message--compact),
h2 + .context-message:not(.context-message--compact),
h3 + .context-message:not(.context-message--compact) {
    margin-top: var(--space-4, 1rem);
}

/*
 * Cards frequently reset the margins of their first heading. Preserve the
 * same block separation for any later full-width notice, even when a view
 * wraps the heading in a helper container or introduces another element.
 */
.card > .context-message:not(.context-message--compact):not(:first-child) {
    margin-top: var(--space-4, 1rem);
}

.card + .context-message:not(.context-message--compact),
.context-message:not(.context-message--compact) + .card,
.context-message:not(.context-message--compact)
    + .context-message:not(.context-message--compact) {
    margin-top: var(--space-4, 1rem);
}

.context-message--compact {
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
}

.context-message--help,
.field-help--help {
    color: var(--context-help-text);
}

.context-message--help:not(.context-message--compact) {
    border-color: var(--context-help-border);
    background: var(--context-help-bg);
}

.context-message--error,
.field-help--error {
    color: var(--context-error-text);
}

.context-message--error:not(.context-message--compact) {
    border-color: var(--context-error-border);
    background: var(--context-error-bg);
}

.context-message--warning,
.field-help--warning {
    color: var(--context-warning-text);
}

.context-message--warning:not(.context-message--compact) {
    border-color: var(--context-warning-border);
    background: var(--context-warning-bg);
}

.context-message--success,
.field-help--success {
    color: var(--context-success-text);
}

.context-message--success:not(.context-message--compact) {
    border-color: var(--context-success-border);
    background: var(--context-success-bg);
}

.field-help {
    margin: 0;
    font-size: 0.875rem;
    line-height: 1.45;
}

.context-help {
    display: inline-flex;
    position: relative;
    align-items: center;
    margin-left: 0.35rem;
    vertical-align: middle;
}

.context-help__button {
    list-style: none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.2rem;
    height: 1.2rem;
    padding: 0;
    border: 1px solid #1672d4;
    border-radius: 50%;
    background: #ffffff;
    color: #0b63b6;
    font: inherit;
    font-size: 0.78rem;
    font-weight: 800;
    line-height: 1;
    cursor: help;
}

.context-help__button::-webkit-details-marker { display: none; }

.context-help__button:hover,
.context-help__button:focus-visible,
.context-help[open] > .context-help__button,
.context-help.is-open > .context-help__button {
    outline: none;
    border-color: #084e94;
    background: #e6f2ff;
    color: #084e94;
    box-shadow: 0 0 0 3px rgba(22, 114, 212, 0.16);
}

.context-help__bubble {
    position: absolute;
    top: calc(100% + .65rem);
    left: 0;
    z-index: 10000;
    display: none;
    width: min(23rem, calc(100vw - 2rem));
    max-width: calc(100vw - 2rem);
    padding: 0.85rem 1rem;
    border: 1px solid var(--context-help-border);
    border-radius: 1rem;
    background: var(--context-help-bubble-bg);
    color: var(--context-help-bubble-text);
    box-shadow: 0 0.8rem 2rem rgba(7, 46, 88, 0.16);
    font-size: 0.9rem;
    font-weight: 500;
    line-height: 1.5;
    text-align: left;
    white-space: normal;
    overflow-wrap: anywhere;
}

.context-help[open] > .context-help__bubble,
.context-help.is-open > .context-help__bubble,
.context-help:hover > .context-help__bubble,
.context-help:focus-within > .context-help__bubble {
    display: block;
}

.context-help__bubble::before {
    content: "";
    position: absolute;
    top: -0.48rem;
    left: var(--context-help-pointer-left, 1.5rem);
    width: 0.85rem;
    height: 0.85rem;
    border-top: 1px solid var(--context-help-border);
    border-left: 1px solid var(--context-help-border);
    background: var(--context-help-bubble-bg);
    transform: rotate(45deg);
}

.context-help__bubble[data-placement="top"]::before {
    top: auto;
    bottom: -0.48rem;
    border-top: 0;
    border-left: 0;
    border-right: 1px solid var(--context-help-border);
    border-bottom: 1px solid var(--context-help-border);
}

.context-help__bubble.is-visible {
    display: block;
}

@media (max-width: 640px) {
    .context-help__bubble {
        width: calc(100vw - 1.25rem);
        max-width: calc(100vw - 1.25rem);
    }
}

@media (prefers-reduced-motion: no-preference) {
    .context-help__bubble.is-visible {
        animation: context-help-in 120ms ease-out;
    }

    @keyframes context-help-in {
        from {
            opacity: 0;
            transform: translateY(-0.2rem);
        }

        to {
            opacity: 1;
            transform: translateY(0);
        }
    }
}


/* One-tap mobile Help interaction */
.context-help__button {
    touch-action: manipulation;
    -webkit-tap-highlight-color: transparent;
    user-select: none;
    -webkit-user-select: none;
}

@media (hover: none) and (pointer: coarse) {
    .context-help__button {
        cursor: pointer;
        min-width: 1.65rem;
        min-height: 1.65rem;
    }

    .context-help__button:focus:not(:focus-visible) {
        outline: none;
        box-shadow: none;
    }

    .context-help__bubble {
        width: calc(100vw - 1.25rem);
        max-width: calc(100vw - 1.25rem);
        font-size: 1rem;
    }
}


/*
 * CUNNTAS Interface Help Standard
 *
 * HelpBubble must be a sibling of the visible label, never a child of
 * .eyebrow, h1-h6 or label.
 */
.field-heading {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.4rem;
    min-width: 0;
}

.field-heading > .eyebrow,
.field-heading > h1,
.field-heading > h2,
.field-heading > h3,
.field-heading > h4,
.field-heading > h5,
.field-heading > h6,
.field-heading > label,
.field-heading__text {
    margin-top: 0;
    margin-bottom: 0;
}

.field-heading--heading {
    align-items: baseline;
}

.field-heading--label {
    align-items: center;
    margin-bottom: 0.4rem;
}

.field-heading--eyebrow {
    align-items: center;
}

html body .context-help .context-help__bubble {
    color: var(--context-help-bubble-text) !important;
    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 0.9rem !important;
    font-style: normal !important;
    font-weight: 500 !important;
    line-height: 1.5 !important;
    text-align: left !important;
    text-decoration: none !important;
    text-indent: 0 !important;
    text-shadow: none !important;
    text-transform: none !important;
    letter-spacing: normal !important;
    word-spacing: normal !important;
    white-space: normal !important;
}


/* Journal reversal explanatory text spacing. */
.journal-reversal-help {
    display: block;
    margin-top: 0.85rem;
}

/* Shared: warning-bubbles.css */
:root {
    --warning-bubble-bg: #fff8dc;
    --warning-bubble-button-bg: #fff0a8;
    --warning-bubble-border: #d7a91f;
    --warning-bubble-border-strong: #b78a16;
    --warning-bubble-text: #684700;
}

.warning-bubble {
    position: relative;
    display: inline-flex;
    align-items: center;
    vertical-align: middle;
}

.warning-bubble__button {
    display: inline-grid;
    place-items: center;
    width: 1.55rem;
    height: 1.55rem;
    padding: 0;
    border: 1px solid var(--warning-bubble-border);
    border-radius: 999px;
    background: var(--warning-bubble-button-bg);
    color: var(--warning-bubble-text);
    font: inherit;
    font-size: .88rem;
    font-weight: 800;
    line-height: 1;
    cursor: help;
    touch-action: manipulation;
    -webkit-tap-highlight-color: transparent;
    user-select: none;
    -webkit-user-select: none;
}

.warning-bubble__button:hover,
.warning-bubble__button:focus-visible,
.warning-bubble__button[aria-expanded="true"] {
    border-color: var(--warning-bubble-border-strong);
    background: #ffe38a;
    color: #5d4000;
    outline: none;
    box-shadow: 0 0 0 3px rgba(215, 169, 31, .20);
}

.warning-bubble__panel {
    position: fixed;
    z-index: 10000;
    display: none;
    width: min(25rem, calc(100vw - 2rem));
    max-width: calc(100vw - 2rem);
    padding: .9rem 1rem;
    border: 1px solid var(--warning-bubble-border);
    border-radius: .8rem;
    background: var(--warning-bubble-bg);
    color: var(--warning-bubble-text);
    box-shadow: 0 .8rem 2rem rgba(85, 61, 0, .14);
    font-size: .94rem;
    font-weight: 400;
    line-height: 1.5;
    text-align: left;
    white-space: normal;
    overflow-wrap: anywhere;
}

.warning-bubble__panel::before {
    content: "";
    position: absolute;
    top: -.48rem;
    left: var(--warning-bubble-pointer-left, 1.5rem);
    width: .85rem;
    height: .85rem;
    border-top: 1px solid var(--warning-bubble-border);
    border-left: 1px solid var(--warning-bubble-border);
    background: var(--warning-bubble-bg);
    transform: rotate(45deg);
}

.warning-bubble__panel[data-placement="top"]::before {
    top: auto;
    bottom: -.48rem;
    border-top: 0;
    border-left: 0;
    border-right: 1px solid var(--warning-bubble-border);
    border-bottom: 1px solid var(--warning-bubble-border);
}

.warning-bubble__panel.is-visible {
    display: block;
}

@media (max-width: 640px) {
    .warning-bubble__panel {
        width: calc(100vw - 1.25rem);
        max-width: calc(100vw - 1.25rem);
        font-size: 1rem;
    }
}

@media (hover: none) and (pointer: coarse) {
    .warning-bubble__button {
        cursor: pointer;
        min-width: 1.65rem;
        min-height: 1.65rem;
    }

    .warning-bubble__button:focus:not(:focus-visible) {
        outline: none;
        box-shadow: none;
    }
}

@media (prefers-reduced-motion: no-preference) {
    .warning-bubble__panel.is-visible {
        animation: warning-bubble-in 120ms ease-out;
    }

    @keyframes warning-bubble-in {
        from {
            opacity: 0;
            transform: translateY(-.2rem);
        }

        to {
            opacity: 1;
            transform: translateY(0);
        }
    }
}

/* Shared: managed-footer.css */
.managed-footer__inner{display:grid;grid-template-columns:minmax(220px,1fr) minmax(220px,1fr) auto;gap:28px;align-items:start}
.managed-footer__identity{display:flex;flex-direction:column;gap:4px}
.managed-footer__links{display:flex;flex-wrap:wrap;gap:8px 18px}
.managed-footer__links a{color:inherit;text-decoration:underline;text-underline-offset:3px}
@media(max-width:760px){.managed-footer__inner{grid-template-columns:1fr}.managed-footer__links{flex-direction:column}}

.managed-footer__rich-text{display:block;line-height:1.55}
.managed-footer__rich-text a{color:inherit;text-decoration:underline;text-underline-offset:3px}

/* Shared: notifications.css */
.notification-toolbar,.notification-list{display:grid;gap:1rem}.notification-filters{display:grid;grid-template-columns:minmax(10rem,1fr) minmax(12rem,1fr) auto;gap:1rem;align-items:end}.notification-filters .form-field{margin:0}.notification-card{display:flex;align-items:flex-start;justify-content:space-between;gap:1.5rem;padding:1.25rem;border:1px solid #d6e0e8;border-left:4px solid #8798a8;border-radius:.8rem;background:#fff}.notification-card--unread{border-left-color:var(--module-accent,#b5793f);background:#fffaf4}.notification-card__content{display:grid;gap:.45rem}.notification-card__content h3,.notification-card__content p{margin:0}.notification-card__content small{color:#596a7d}.notification-card__actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.6rem}.notification-card__actions form{margin:0}.notification-nav-link{display:inline-flex!important;align-items:center;gap:.4rem}.notification-nav-badge{display:inline-flex;min-width:1.4rem;height:1.4rem;padding:0 .35rem;align-items:center;justify-content:center;border-radius:999px;background:#b5793f;color:#fff;font-size:.75rem;font-weight:700}.email-transport-health,.email-assurance-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;margin:1.25rem 0}.email-transport-health>div,.email-assurance-grid>div{border:1px solid #d6e0e8;border-radius:.8rem;padding:1rem;background:#fff}.email-transport-health span,.email-transport-health strong,.email-assurance-grid span,.email-assurance-grid strong{display:block}.email-transport-health span,.email-assurance-grid span{color:#596a7d;font-size:.85rem;margin-bottom:.35rem}.email-transport-health strong,.email-assurance-grid strong{overflow-wrap:anywhere}.email-assurance-card{border-top:4px solid #2f7d68}.email-failure-categories{display:flex;flex-wrap:wrap;gap:.65rem 1rem;margin:1rem 0 1.5rem}.email-failure-categories>strong{width:100%}.email-failure-categories>span{border:1px solid #d6e0e8;border-radius:999px;padding:.4rem .75rem;background:#fff}.email-test-action{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin:0 0 1.5rem}.email-test-action p{margin:0;color:#596a7d}.email-suppression-card{border-top:4px solid #9b5c5c}.email-suppression-form{display:grid;grid-template-columns:minmax(220px,1fr) minmax(280px,2fr) auto;gap:1rem;align-items:end;margin:1rem 0}.email-suppression-form label{display:grid;gap:.4rem;color:#536b80;font-weight:700}.email-suppression-form input{width:100%}@media(max-width:800px){.notification-filters{grid-template-columns:1fr}.notification-card{flex-direction:column}.notification-card__actions{justify-content:flex-start;width:100%}.email-transport-health,.email-assurance-grid{grid-template-columns:1fr 1fr}.email-test-action{align-items:stretch;flex-direction:column}.email-suppression-form{grid-template-columns:1fr}}@media(max-width:520px){.email-transport-health,.email-assurance-grid{grid-template-columns:1fr}}

.email-queue-summary{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:1rem;margin:0 0 1.5rem}.email-queue-summary__card{display:grid;gap:.3rem;padding:1rem;border:1px solid #d6e0e8;border-top:4px solid #3b837a;border-radius:.8rem;background:#fff}.email-queue-summary__card span{color:#596a7d;font-size:.85rem;font-weight:700}.email-queue-summary__card strong{color:#002b52;font-size:1.65rem;line-height:1.1}.email-queue-summary__card small{color:#596a7d}@media(max-width:1050px){.email-queue-summary{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:520px){.email-queue-summary{grid-template-columns:1fr}}

.email-outbox-filters{display:grid;grid-template-columns:minmax(210px,.7fr) minmax(280px,1.3fr) auto;gap:1rem;align-items:end;margin:1.5rem 0 0}.email-outbox-filters .form-field{margin:0}.email-outbox-filters select,.email-outbox-filters input{width:100%;min-height:var(--field-height);padding:10px 12px;border:1px solid var(--colour-border);border-radius:var(--radius-medium);background:#fff;color:var(--colour-text);font:inherit}.email-queue-results{margin-top:1.5rem}.email-queue-empty{grid-column:1/-1;width:100%;box-sizing:border-box}@media(max-width:800px){.email-outbox-filters{grid-template-columns:1fr}.email-outbox-filters .button{width:100%}}

.notification-filters select { width: 100%; min-height: var(--field-height, 54px); }

/* View: pages/home */

body[data-view="pages/home"] .cunntas-home{
    --home-navy: #163a5f;
    --home-blue: #2867c7;
    --home-green: #2f8f5b;
    --home-soft: #f5f8fb;
    --home-border: #d9e2ea;
    --home-warning: #fff7e7;
    --home-personal-tax: #0f6f78;
    display: grid;
    gap: 1.5rem;
}
body[data-view="pages/home"] .cunntas-home *{ box-sizing: border-box; }
body[data-view="pages/home"] .cunntas-home h1, body[data-view="pages/home"] .cunntas-home h2, body[data-view="pages/home"] .cunntas-home h3{ color: #0b3156; margin-top: 0; }
body[data-view="pages/home"] .home-card{
    background: #fff;
    border: 1px solid var(--home-border);
    border-radius: 18px;
    box-shadow: 0 10px 28px rgba(22,58,95,.06);
}
body[data-view="pages/home"] .home-hero{
    display: grid;
    grid-template-columns: minmax(0, 1.05fr) minmax(360px, .95fr);
    align-items: center;
    gap: 2rem;
    padding: clamp(1.5rem, 3vw, 3rem);
    overflow: hidden;
    background:
        radial-gradient(circle at 88% 18%, rgba(40,103,199,.11), transparent 34%),
        linear-gradient(135deg, #fff 0%, #f6faff 100%);
}
body[data-view="pages/home"] .home-hero h1{
    font-size: clamp(2.35rem, 5vw, 4.7rem);
    line-height: 1.02;
    margin-bottom: 1rem;
    letter-spacing: -.035em;
}
body[data-view="pages/home"] .home-hero h1 strong{ color: var(--home-blue); }
body[data-view="pages/home"] .home-hero__lead{
    font-size: 1.18rem;
    line-height: 1.65;
    max-width: 720px;
}
body[data-view="pages/home"] .home-price{
    margin: 1.4rem 0 .5rem;
    color: var(--home-navy);
    font-size: clamp(1.45rem, 3vw, 2.4rem);
    font-weight: 800;
}
body[data-view="pages/home"] .home-price strong{ color: var(--home-green); }
body[data-view="pages/home"] .home-price-note{ color: #52677b; margin-top: 0; }
body[data-view="pages/home"] .home-actions{ display: flex; flex-wrap: wrap; gap: .8rem; margin-top: 1.4rem; }
body[data-view="pages/home"] .home-actions .button{ min-width: 150px; text-align: center; }
body[data-view="pages/home"] .home-hero__image{
    display: flex;
    align-items: center;
    justify-content: center;
}
body[data-view="pages/home"] .home-hero__image img{
    width: 100%;
    max-width: 620px;
    height: auto;
    display: block;
    border-radius: 16px;
}
body[data-view="pages/home"] .home-section{ padding: clamp(1.35rem, 2.5vw, 2.25rem); }
body[data-view="pages/home"] .home-section__intro{ text-align: center; max-width: 850px; margin: 0 auto 1.6rem; }
body[data-view="pages/home"] .home-section__intro p{ color: #52677b; line-height: 1.65; }
body[data-view="pages/home"] .feature-grid{
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1rem;
}
body[data-view="pages/home"] .feature{
    padding: 1.25rem;
    border: 1px solid var(--home-border);
    border-radius: 14px;
    background: #fff;
}
body[data-view="pages/home"] .feature__icon{
    width: 44px; height: 44px; border-radius: 50%;
    display: inline-flex; align-items: center; justify-content: center;
    margin-bottom: .85rem;
    background: #edf5ff; color: var(--home-blue);
    font-size: 1.25rem; font-weight: 800;
}
body[data-view="pages/home"] .feature p{ margin-bottom: 0; color: #52677b; line-height: 1.55; }
body[data-view="pages/home"] .personal-tax-panel{
    display:grid;
    grid-template-columns:minmax(0,1.45fr) repeat(3,minmax(0,.7fr));
    gap:1rem;
    align-items:stretch;
    padding:clamp(1.35rem,2.5vw,2.1rem);
    border-top:4px solid var(--home-personal-tax);
    background:linear-gradient(135deg,#f1f8f8,#fff);
}
body[data-view="pages/home"] .personal-tax-panel__lead{
    padding:.6rem .4rem;
}
body[data-view="pages/home"] .personal-tax-panel__lead h2{
    margin-bottom:.55rem;
}
body[data-view="pages/home"] .personal-tax-panel__lead p{
    color:#52677b;
    line-height:1.6;
}
body[data-view="pages/home"] .personal-tax-panel__item{
    display:flex;
    flex-direction:column;
    justify-content:center;
    padding:1rem 1.05rem;
    border:1px solid #c9dfe1;
    border-radius:14px;
    background:#fff;
}
body[data-view="pages/home"] .personal-tax-panel__item strong{
    color:#0b5158;
    margin-bottom:.3rem;
}
body[data-view="pages/home"] .personal-tax-panel__item span{
    color:#52677b;
    line-height:1.5;
    font-size:.94rem;
}
body[data-view="pages/home"] .pricing-panel{
    padding: clamp(1.4rem, 2.5vw, 2.3rem);
    background: linear-gradient(135deg, #f5fbf5, #fff);
}
body[data-view="pages/home"] .pricing-grid{
    display: grid;
    grid-template-columns: 1.35fr repeat(3, minmax(0, .75fr));
    gap: 1rem;
    align-items: stretch;
}
body[data-view="pages/home"] .pricing-lead{ padding: 1rem; }
body[data-view="pages/home"] .pricing-lead__day{ font-size: 2.7rem; color: var(--home-green); font-weight: 800; line-height: 1; }
body[data-view="pages/home"] .price-box{
    text-align: center; padding: 1.25rem;
    border: 1px solid #cfe4d2; border-radius: 14px; background: #fff;
}
body[data-view="pages/home"] .price-box strong{ display: block; font-size: 2rem; color: #17623e; margin-top: .45rem; }
body[data-view="pages/home"] .three-grid{ display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }
body[data-view="pages/home"] .info-panel{ padding: 1.5rem; }
body[data-view="pages/home"] .info-panel p, body[data-view="pages/home"] .info-panel li{ color: #52677b; line-height: 1.6; }
body[data-view="pages/home"] .info-panel ul{ padding-left: 1.2rem; }
body[data-view="pages/home"] .demo-panel{ background: linear-gradient(135deg, #fffaf0, #fff); }
body[data-view="pages/home"] .demo-credentials{
    display: grid; grid-template-columns: auto 1fr; gap: .35rem .8rem;
    padding: 1rem; background: #fff; border: 1px solid #ecdcb8; border-radius: 12px;
    margin: 1rem 0;
}
body[data-view="pages/home"] .demo-credentials code{ font-weight: 800; color: var(--home-navy); }
body[data-view="pages/home"] .demo-warning{
    padding: 1rem; border-radius: 12px; background: var(--home-warning);
    border: 1px solid #ecd7a8; color: #664d12; font-size: .95rem;
    margin-top: 1rem;
}
body[data-view="pages/home"] .audience-grid{
    display: grid; grid-template-columns: repeat(5, minmax(0,1fr)); gap: .75rem;
}
body[data-view="pages/home"] .audience{
    padding: 1rem; border-left: 3px solid #dce8f3;
}
body[data-view="pages/home"] .audience strong{ color: var(--home-navy); display: block; margin-bottom: .35rem; }
body[data-view="pages/home"] .audience span{ color: #52677b; font-size: .94rem; line-height: 1.5; }
body[data-view="pages/home"] .home-philosophy{
    display: grid; grid-template-columns: 1fr 1fr; gap: 1rem;
}
body[data-view="pages/home"] .home-philosophy > div{ padding: 1.5rem; background: #f5f9fd; border-radius: 14px; }
body[data-view="pages/home"] .home-philosophy p{ color: #52677b; line-height: 1.6; margin-bottom: 0; }
body[data-view="pages/home"] .home-cta{
    padding: clamp(1.5rem, 3vw, 2.5rem);
    background: var(--home-navy);
    color: #fff;
    text-align: center;
}
body[data-view="pages/home"] .home-cta h2{ color: #fff; margin-bottom: .4rem; }
body[data-view="pages/home"] .home-cta__line{ color: #9ee06a; font-size: clamp(1.45rem, 3vw, 2.2rem); font-weight: 800; }
body[data-view="pages/home"] .home-cta__price{ font-size: 1.2rem; margin: .65rem 0 1.1rem; }
body[data-view="pages/home"] .home-cta .button--secondary{ background: #fff; }
body[data-view="pages/home"] .anchor-target{ scroll-margin-top: 100px; }

@media  (max-width: 1050px) {
    body[data-view="pages/home"] .home-hero{ grid-template-columns: 1fr; }
    body[data-view="pages/home"] .home-hero__image{ order: -1; }
    body[data-view="pages/home"] .home-hero__image img{ max-width: 560px; }
    body[data-view="pages/home"] .pricing-grid{ grid-template-columns: repeat(3, 1fr); }
    body[data-view="pages/home"] .pricing-lead{ grid-column: 1 / -1; }
    body[data-view="pages/home"] .audience-grid{ grid-template-columns: repeat(2, 1fr); }
    body[data-view="pages/home"] .personal-tax-panel{
        grid-template-columns:repeat(3,1fr);
    }
    body[data-view="pages/home"] .personal-tax-panel__lead{
        grid-column:1 / -1;
    }
}
@media  (max-width: 800px) {
    body[data-view="pages/home"] .feature-grid, body[data-view="pages/home"] .three-grid, body[data-view="pages/home"] .home-philosophy{ grid-template-columns: 1fr; }
    body[data-view="pages/home"] .pricing-grid{ grid-template-columns: 1fr; }
    body[data-view="pages/home"] .audience-grid{ grid-template-columns: 1fr; }
    body[data-view="pages/home"] .personal-tax-panel{ grid-template-columns:1fr; }
    body[data-view="pages/home"] .personal-tax-panel__lead{ grid-column:auto; }
}

/* View: pages/auth/two-factor-recovery-codes */
/*
 * CUNNTAS Context Help
 * Viewport-safe Help Bubble standard.
 *
 * The JavaScript positions every bubble relative to the browser viewport.
 * Do not change .context-help__bubble back to position:absolute.
 */

body[data-view="pages/auth/two-factor-recovery-codes"] .context-help{
    position: relative;
    display: inline-flex;
    align-items: center;
    vertical-align: middle;
    margin-left: .35rem;
    font-size: 1rem;
    line-height: 1;
    text-transform: none;
    letter-spacing: normal;
}

body[data-view="pages/auth/two-factor-recovery-codes"] .context-help__button{
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.25rem;
    height: 1.25rem;
    min-width: 1.25rem;
    padding: 0;
    border: 1px solid #1672d4;
    border-radius: 999px;
    background: #ffffff;
    color: #0b63b6;
    font: inherit;
    font-size: .78rem;
    font-weight: 800;
    line-height: 1;
    cursor: help;
    touch-action: manipulation;
    -webkit-tap-highlight-color: transparent;
    user-select: none;
    -webkit-user-select: none;
}

body[data-view="pages/auth/two-factor-recovery-codes"] .context-help__button:hover, body[data-view="pages/auth/two-factor-recovery-codes"] .context-help__button:focus-visible, body[data-view="pages/auth/two-factor-recovery-codes"] .context-help__button[aria-expanded="true"]{
    outline: none;
    border-color: #084e94;
    background: #e6f2ff;
    color: #084e94;
    box-shadow: 0 0 0 3px rgba(22, 114, 212, .16);
}

body[data-view="pages/auth/two-factor-recovery-codes"] .context-help__bubble{
    position: fixed;
    z-index: 10000;
    display: none;
    box-sizing: border-box;
    width: min(23rem, calc(100vw - 1.25rem));
    max-width: calc(100vw - 1.25rem);
    margin: 0;
    padding: .85rem 1rem;
    border: 1px solid var(--context-help-border, #b9d6ee);
    border-radius: 1rem;
    background: var(--context-help-bubble-bg, #eef7ff);
    color: var(--context-help-bubble-text, #0d2f53);
    box-shadow: 0 .8rem 2rem rgba(7, 46, 88, .16);
    font-size: .9rem;
    font-weight: 500;
    line-height: 1.5;
    text-align: left;
    white-space: normal;
    overflow-wrap: anywhere;
    word-break: normal;
    transform: none;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
}

body[data-view="pages/auth/two-factor-recovery-codes"] .context-help__bubble.is-visible{
    display: block;
    opacity: 1;
    visibility: visible;
}

body[data-view="pages/auth/two-factor-recovery-codes"] .context-help__bubble::before{
    content: "";
    position: absolute;
    top: -.48rem;
    left: var(--context-help-pointer-left, 1.5rem);
    width: .85rem;
    height: .85rem;
    border-top: 1px solid var(--context-help-border, #b9d6ee);
    border-left: 1px solid var(--context-help-border, #b9d6ee);
    background: var(--context-help-bubble-bg, #eef7ff);
    transform: rotate(45deg);
}

body[data-view="pages/auth/two-factor-recovery-codes"] .context-help__bubble[data-placement="top"]::before{
    top: auto;
    bottom: -.48rem;
    border-top: 0;
    border-left: 0;
    border-right: 1px solid var(--context-help-border, #b9d6ee);
    border-bottom: 1px solid var(--context-help-border, #b9d6ee);
}

/*
 * No CSS-only hover positioning. context-help.js controls visibility and
 * placement so bubbles at either edge of the page remain inside the viewport.
 */

@media  (max-width: 640px) {
    body[data-view="pages/auth/two-factor-recovery-codes"] .context-help__bubble{
        width: calc(100vw - 1.25rem);
        max-width: calc(100vw - 1.25rem);
        font-size: 1rem;
    }
}

@media  (hover: none) and (pointer: coarse) {
    body[data-view="pages/auth/two-factor-recovery-codes"] .context-help__button{
        cursor: pointer;
        min-width: 1.65rem;
        min-height: 1.65rem;
    }

    body[data-view="pages/auth/two-factor-recovery-codes"] .context-help__button:focus:not(:focus-visible){
        outline: none;
        box-shadow: none;
    }
}

@media  print {
    body[data-view="pages/auth/two-factor-recovery-codes"] .context-help{
        display: none !important;
    }
}

body[data-view="pages/auth/two-factor-recovery-codes"] .two-factor-card{max-width:58rem;margin-inline:auto}body[data-view="pages/auth/two-factor-recovery-codes"] .two-factor-intro{margin-bottom:1.25rem}body[data-view="pages/auth/two-factor-recovery-codes"] .two-factor-warning-row{display:flex;align-items:center;gap:.55rem;flex-wrap:wrap;margin:1rem 0}body[data-view="pages/auth/two-factor-recovery-codes"] .two-factor-setup-grid{display:grid;grid-template-columns:minmax(14rem,20rem) 1fr;gap:2rem;align-items:start;margin:1.5rem 0}body[data-view="pages/auth/two-factor-recovery-codes"] .two-factor-qr{display:grid;place-items:center;padding:1rem;border:1px solid var(--border-color,#d7e0e8);border-radius:.8rem;background:#fff}body[data-view="pages/auth/two-factor-recovery-codes"] .two-factor-qr img{display:block;width:min(100%,18rem);height:auto}body[data-view="pages/auth/two-factor-recovery-codes"] .two-factor-instructions ol{margin-top:0;padding-left:1.35rem}body[data-view="pages/auth/two-factor-recovery-codes"] .two-factor-instructions li{margin-bottom:.55rem}body[data-view="pages/auth/two-factor-recovery-codes"] .two-factor-manual-key{margin-top:1rem}body[data-view="pages/auth/two-factor-recovery-codes"] .two-factor-manual-key code{display:block;margin-top:.65rem;padding:.8rem;overflow-wrap:anywhere;background:#f4f7fa;border-radius:.5rem}body[data-view="pages/auth/two-factor-recovery-codes"] .two-factor-verify-form{max-width:28rem}body[data-view="pages/auth/two-factor-recovery-codes"] .two-factor-trust-option{display:flex;align-items:center;gap:.55rem;flex-wrap:wrap}body[data-view="pages/auth/two-factor-recovery-codes"] .checkbox-row{display:inline-flex;align-items:center;gap:.55rem}body[data-view="pages/auth/two-factor-recovery-codes"] .recovery-code-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem;margin:1rem 0 1.25rem}body[data-view="pages/auth/two-factor-recovery-codes"] .recovery-code-grid code{display:block;padding:.75rem;border:1px solid var(--border-color,#d7e0e8);border-radius:.55rem;background:#f7f9fb;text-align:center;font-size:1rem;letter-spacing:.04em}body[data-view="pages/auth/two-factor-recovery-codes"] .recovery-confirm-form{margin-top:1.5rem}body[data-view="pages/auth/two-factor-recovery-codes"] .trusted-browsers-card{margin-top:1.25rem}body[data-view="pages/auth/two-factor-recovery-codes"] .two-factor-revoke-all{display:flex;align-items:center;gap:.55rem;margin-top:1rem}body[data-view="pages/auth/two-factor-recovery-codes"] .field-heading{display:flex;align-items:center;gap:.45rem;flex-wrap:wrap}@media (max-width:700px){body[data-view="pages/auth/two-factor-recovery-codes"] .two-factor-setup-grid{grid-template-columns:1fr}body[data-view="pages/auth/two-factor-recovery-codes"] .recovery-code-grid{grid-template-columns:1fr}}

/* View: pages/auth/two-factor-setup */
/*
 * CUNNTAS Context Help
 * Viewport-safe Help Bubble standard.
 *
 * The JavaScript positions every bubble relative to the browser viewport.
 * Do not change .context-help__bubble back to position:absolute.
 */

body[data-view="pages/auth/two-factor-setup"] .context-help{
    position: relative;
    display: inline-flex;
    align-items: center;
    vertical-align: middle;
    margin-left: .35rem;
    font-size: 1rem;
    line-height: 1;
    text-transform: none;
    letter-spacing: normal;
}

body[data-view="pages/auth/two-factor-setup"] .context-help__button{
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.25rem;
    height: 1.25rem;
    min-width: 1.25rem;
    padding: 0;
    border: 1px solid #1672d4;
    border-radius: 999px;
    background: #ffffff;
    color: #0b63b6;
    font: inherit;
    font-size: .78rem;
    font-weight: 800;
    line-height: 1;
    cursor: help;
    touch-action: manipulation;
    -webkit-tap-highlight-color: transparent;
    user-select: none;
    -webkit-user-select: none;
}

body[data-view="pages/auth/two-factor-setup"] .context-help__button:hover, body[data-view="pages/auth/two-factor-setup"] .context-help__button:focus-visible, body[data-view="pages/auth/two-factor-setup"] .context-help__button[aria-expanded="true"]{
    outline: none;
    border-color: #084e94;
    background: #e6f2ff;
    color: #084e94;
    box-shadow: 0 0 0 3px rgba(22, 114, 212, .16);
}

body[data-view="pages/auth/two-factor-setup"] .context-help__bubble{
    position: fixed;
    z-index: 10000;
    display: none;
    box-sizing: border-box;
    width: min(23rem, calc(100vw - 1.25rem));
    max-width: calc(100vw - 1.25rem);
    margin: 0;
    padding: .85rem 1rem;
    border: 1px solid var(--context-help-border, #b9d6ee);
    border-radius: 1rem;
    background: var(--context-help-bubble-bg, #eef7ff);
    color: var(--context-help-bubble-text, #0d2f53);
    box-shadow: 0 .8rem 2rem rgba(7, 46, 88, .16);
    font-size: .9rem;
    font-weight: 500;
    line-height: 1.5;
    text-align: left;
    white-space: normal;
    overflow-wrap: anywhere;
    word-break: normal;
    transform: none;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
}

body[data-view="pages/auth/two-factor-setup"] .context-help__bubble.is-visible{
    display: block;
    opacity: 1;
    visibility: visible;
}

body[data-view="pages/auth/two-factor-setup"] .context-help__bubble::before{
    content: "";
    position: absolute;
    top: -.48rem;
    left: var(--context-help-pointer-left, 1.5rem);
    width: .85rem;
    height: .85rem;
    border-top: 1px solid var(--context-help-border, #b9d6ee);
    border-left: 1px solid var(--context-help-border, #b9d6ee);
    background: var(--context-help-bubble-bg, #eef7ff);
    transform: rotate(45deg);
}

body[data-view="pages/auth/two-factor-setup"] .context-help__bubble[data-placement="top"]::before{
    top: auto;
    bottom: -.48rem;
    border-top: 0;
    border-left: 0;
    border-right: 1px solid var(--context-help-border, #b9d6ee);
    border-bottom: 1px solid var(--context-help-border, #b9d6ee);
}

/*
 * No CSS-only hover positioning. context-help.js controls visibility and
 * placement so bubbles at either edge of the page remain inside the viewport.
 */

@media  (max-width: 640px) {
    body[data-view="pages/auth/two-factor-setup"] .context-help__bubble{
        width: calc(100vw - 1.25rem);
        max-width: calc(100vw - 1.25rem);
        font-size: 1rem;
    }
}

@media  (hover: none) and (pointer: coarse) {
    body[data-view="pages/auth/two-factor-setup"] .context-help__button{
        cursor: pointer;
        min-width: 1.65rem;
        min-height: 1.65rem;
    }

    body[data-view="pages/auth/two-factor-setup"] .context-help__button:focus:not(:focus-visible){
        outline: none;
        box-shadow: none;
    }
}

@media  print {
    body[data-view="pages/auth/two-factor-setup"] .context-help{
        display: none !important;
    }
}

body[data-view="pages/auth/two-factor-setup"] .two-factor-card{max-width:58rem;margin-inline:auto}body[data-view="pages/auth/two-factor-setup"] .two-factor-intro{margin-bottom:1.25rem}body[data-view="pages/auth/two-factor-setup"] .two-factor-warning-row{display:flex;align-items:center;gap:.55rem;flex-wrap:wrap;margin:1rem 0}body[data-view="pages/auth/two-factor-setup"] .two-factor-setup-grid{display:grid;grid-template-columns:minmax(14rem,20rem) 1fr;gap:2rem;align-items:start;margin:1.5rem 0}body[data-view="pages/auth/two-factor-setup"] .two-factor-qr{display:grid;place-items:center;padding:1rem;border:1px solid var(--border-color,#d7e0e8);border-radius:.8rem;background:#fff}body[data-view="pages/auth/two-factor-setup"] .two-factor-qr img{display:block;width:min(100%,18rem);height:auto}body[data-view="pages/auth/two-factor-setup"] .two-factor-instructions ol{margin-top:0;padding-left:1.35rem}body[data-view="pages/auth/two-factor-setup"] .two-factor-instructions li{margin-bottom:.55rem}body[data-view="pages/auth/two-factor-setup"] .two-factor-manual-key{margin-top:1rem}body[data-view="pages/auth/two-factor-setup"] .two-factor-manual-key code{display:block;margin-top:.65rem;padding:.8rem;overflow-wrap:anywhere;background:#f4f7fa;border-radius:.5rem}body[data-view="pages/auth/two-factor-setup"] .two-factor-verify-form{max-width:28rem}body[data-view="pages/auth/two-factor-setup"] .two-factor-trust-option{display:flex;align-items:center;gap:.55rem;flex-wrap:wrap}body[data-view="pages/auth/two-factor-setup"] .checkbox-row{display:inline-flex;align-items:center;gap:.55rem}body[data-view="pages/auth/two-factor-setup"] .recovery-code-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem;margin:1rem 0 1.25rem}body[data-view="pages/auth/two-factor-setup"] .recovery-code-grid code{display:block;padding:.75rem;border:1px solid var(--border-color,#d7e0e8);border-radius:.55rem;background:#f7f9fb;text-align:center;font-size:1rem;letter-spacing:.04em}body[data-view="pages/auth/two-factor-setup"] .recovery-confirm-form{margin-top:1.5rem}body[data-view="pages/auth/two-factor-setup"] .trusted-browsers-card{margin-top:1.25rem}body[data-view="pages/auth/two-factor-setup"] .two-factor-revoke-all{display:flex;align-items:center;gap:.55rem;margin-top:1rem}body[data-view="pages/auth/two-factor-setup"] .field-heading{display:flex;align-items:center;gap:.45rem;flex-wrap:wrap}@media (max-width:700px){body[data-view="pages/auth/two-factor-setup"] .two-factor-setup-grid{grid-template-columns:1fr}body[data-view="pages/auth/two-factor-setup"] .recovery-code-grid{grid-template-columns:1fr}}

/* View: pages/auth/two-factor-challenge */
/*
 * CUNNTAS Context Help
 * Viewport-safe Help Bubble standard.
 *
 * The JavaScript positions every bubble relative to the browser viewport.
 * Do not change .context-help__bubble back to position:absolute.
 */

body[data-view="pages/auth/two-factor-challenge"] .context-help{
    position: relative;
    display: inline-flex;
    align-items: center;
    vertical-align: middle;
    margin-left: .35rem;
    font-size: 1rem;
    line-height: 1;
    text-transform: none;
    letter-spacing: normal;
}

body[data-view="pages/auth/two-factor-challenge"] .context-help__button{
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.25rem;
    height: 1.25rem;
    min-width: 1.25rem;
    padding: 0;
    border: 1px solid #1672d4;
    border-radius: 999px;
    background: #ffffff;
    color: #0b63b6;
    font: inherit;
    font-size: .78rem;
    font-weight: 800;
    line-height: 1;
    cursor: help;
    touch-action: manipulation;
    -webkit-tap-highlight-color: transparent;
    user-select: none;
    -webkit-user-select: none;
}

body[data-view="pages/auth/two-factor-challenge"] .context-help__button:hover, body[data-view="pages/auth/two-factor-challenge"] .context-help__button:focus-visible, body[data-view="pages/auth/two-factor-challenge"] .context-help__button[aria-expanded="true"]{
    outline: none;
    border-color: #084e94;
    background: #e6f2ff;
    color: #084e94;
    box-shadow: 0 0 0 3px rgba(22, 114, 212, .16);
}

body[data-view="pages/auth/two-factor-challenge"] .context-help__bubble{
    position: fixed;
    z-index: 10000;
    display: none;
    box-sizing: border-box;
    width: min(23rem, calc(100vw - 1.25rem));
    max-width: calc(100vw - 1.25rem);
    margin: 0;
    padding: .85rem 1rem;
    border: 1px solid var(--context-help-border, #b9d6ee);
    border-radius: 1rem;
    background: var(--context-help-bubble-bg, #eef7ff);
    color: var(--context-help-bubble-text, #0d2f53);
    box-shadow: 0 .8rem 2rem rgba(7, 46, 88, .16);
    font-size: .9rem;
    font-weight: 500;
    line-height: 1.5;
    text-align: left;
    white-space: normal;
    overflow-wrap: anywhere;
    word-break: normal;
    transform: none;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
}

body[data-view="pages/auth/two-factor-challenge"] .context-help__bubble.is-visible{
    display: block;
    opacity: 1;
    visibility: visible;
}

body[data-view="pages/auth/two-factor-challenge"] .context-help__bubble::before{
    content: "";
    position: absolute;
    top: -.48rem;
    left: var(--context-help-pointer-left, 1.5rem);
    width: .85rem;
    height: .85rem;
    border-top: 1px solid var(--context-help-border, #b9d6ee);
    border-left: 1px solid var(--context-help-border, #b9d6ee);
    background: var(--context-help-bubble-bg, #eef7ff);
    transform: rotate(45deg);
}

body[data-view="pages/auth/two-factor-challenge"] .context-help__bubble[data-placement="top"]::before{
    top: auto;
    bottom: -.48rem;
    border-top: 0;
    border-left: 0;
    border-right: 1px solid var(--context-help-border, #b9d6ee);
    border-bottom: 1px solid var(--context-help-border, #b9d6ee);
}

/*
 * No CSS-only hover positioning. context-help.js controls visibility and
 * placement so bubbles at either edge of the page remain inside the viewport.
 */

@media  (max-width: 640px) {
    body[data-view="pages/auth/two-factor-challenge"] .context-help__bubble{
        width: calc(100vw - 1.25rem);
        max-width: calc(100vw - 1.25rem);
        font-size: 1rem;
    }
}

@media  (hover: none) and (pointer: coarse) {
    body[data-view="pages/auth/two-factor-challenge"] .context-help__button{
        cursor: pointer;
        min-width: 1.65rem;
        min-height: 1.65rem;
    }

    body[data-view="pages/auth/two-factor-challenge"] .context-help__button:focus:not(:focus-visible){
        outline: none;
        box-shadow: none;
    }
}

@media  print {
    body[data-view="pages/auth/two-factor-challenge"] .context-help{
        display: none !important;
    }
}

body[data-view="pages/auth/two-factor-challenge"] .two-factor-card{max-width:58rem;margin-inline:auto}body[data-view="pages/auth/two-factor-challenge"] .two-factor-intro{margin-bottom:1.25rem}body[data-view="pages/auth/two-factor-challenge"] .two-factor-warning-row{display:flex;align-items:center;gap:.55rem;flex-wrap:wrap;margin:1rem 0}body[data-view="pages/auth/two-factor-challenge"] .two-factor-setup-grid{display:grid;grid-template-columns:minmax(14rem,20rem) 1fr;gap:2rem;align-items:start;margin:1.5rem 0}body[data-view="pages/auth/two-factor-challenge"] .two-factor-qr{display:grid;place-items:center;padding:1rem;border:1px solid var(--border-color,#d7e0e8);border-radius:.8rem;background:#fff}body[data-view="pages/auth/two-factor-challenge"] .two-factor-qr img{display:block;width:min(100%,18rem);height:auto}body[data-view="pages/auth/two-factor-challenge"] .two-factor-instructions ol{margin-top:0;padding-left:1.35rem}body[data-view="pages/auth/two-factor-challenge"] .two-factor-instructions li{margin-bottom:.55rem}body[data-view="pages/auth/two-factor-challenge"] .two-factor-manual-key{margin-top:1rem}body[data-view="pages/auth/two-factor-challenge"] .two-factor-manual-key code{display:block;margin-top:.65rem;padding:.8rem;overflow-wrap:anywhere;background:#f4f7fa;border-radius:.5rem}body[data-view="pages/auth/two-factor-challenge"] .two-factor-verify-form{max-width:28rem}body[data-view="pages/auth/two-factor-challenge"] .two-factor-trust-option{display:flex;align-items:center;gap:.55rem;flex-wrap:wrap}body[data-view="pages/auth/two-factor-challenge"] .checkbox-row{display:inline-flex;align-items:center;gap:.55rem}body[data-view="pages/auth/two-factor-challenge"] .recovery-code-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem;margin:1rem 0 1.25rem}body[data-view="pages/auth/two-factor-challenge"] .recovery-code-grid code{display:block;padding:.75rem;border:1px solid var(--border-color,#d7e0e8);border-radius:.55rem;background:#f7f9fb;text-align:center;font-size:1rem;letter-spacing:.04em}body[data-view="pages/auth/two-factor-challenge"] .recovery-confirm-form{margin-top:1.5rem}body[data-view="pages/auth/two-factor-challenge"] .trusted-browsers-card{margin-top:1.25rem}body[data-view="pages/auth/two-factor-challenge"] .two-factor-revoke-all{display:flex;align-items:center;gap:.55rem;margin-top:1rem}body[data-view="pages/auth/two-factor-challenge"] .field-heading{display:flex;align-items:center;gap:.45rem;flex-wrap:wrap}@media (max-width:700px){body[data-view="pages/auth/two-factor-challenge"] .two-factor-setup-grid{grid-template-columns:1fr}body[data-view="pages/auth/two-factor-challenge"] .recovery-code-grid{grid-template-columns:1fr}}


/* Former static inline declarations */
body[data-view="pages/home"] [data-inline-style="pages-home-1"]{justify-content:center;}
[data-inline-style="layouts-app-1"]{background:#fff3cd;
            border-bottom:1px solid #e0b100;
            color:#664d03;
            padding:12px 20px;
            text-align:center;
            font-weight:700;
            line-height:1.4;}
[data-inline-style="layouts-app-2"]{margin-top:1rem;}

/* Row card alignment standard: one grid track, aligned top edges and equal heights. */
:is(.ch-status-grid, .vat-quarter-grid, .vat-summary-grid, .vat-system-grid, .hmrc-vat-account-grid, .responsive-card-grid, .card-grid, .detail-grid, .workspace-grid, .settings-compact-grid) { align-items: stretch; }
:is(.ch-status-grid, .vat-quarter-grid, .vat-summary-grid, .vat-system-grid, .hmrc-vat-account-grid, .responsive-card-grid, .card-grid, .detail-grid, .workspace-grid, .settings-compact-grid) > .card { align-self: stretch; min-width: 0; height: 100%; margin: 0; }

/* Shared module rhythm: page templates also render inside a module-page wrapper.
   Apply spacing only to its direct sections; nested card grids retain their own gaps. */
.main-content > .content-container > :is(.module-page, .page-content) > section:not(:last-child) {
    margin-bottom: 24px;
}
.main-content > .content-container > :is(.module-page, .page-content) > :is(article.card, div.card) + :is(article.card, div.card) {
    margin-top: 24px;
}


/* Shared header blessing, above authentication controls on desktop. */
.app-header__inner {
    position: relative;
    padding-top: 1.25rem;
}
.app-header__hebrew-mark {
    position: absolute;
    top: .15rem;
    right: 0;
    color: var(--colour-brand-dark);
    font-size: .875rem;
    font-weight: 700;
    line-height: 1.2;
    white-space: nowrap;
}
@media (max-width: 900px) {
    .app-header__inner {
        padding-top: .5rem;
        row-gap: .75rem;
    }
    .app-header__hebrew-mark {
        position: static;
        display: block;
        order: -1;
        align-self: stretch;
        width: 100%;
        text-align: right;
    }
}

/* Module 579: branded customer account pages. */
.mm-customer-area{max-width:960px;margin:0 auto}
.mm-customer-area .card{margin-bottom:1.5rem}
.mm-customer-actions{display:flex;flex-wrap:wrap;gap:1rem;margin:1rem 0}
.mm-customer-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}
.mm-customer-fields label,.mm-customer-area form>label{display:block}
.mm-customer-fields input,.mm-customer-fields select,.mm-customer-area form>label input{display:block;width:100%;min-width:0;min-height:2.75rem}
.mm-customer-order{margin:1rem 0;padding:1rem;border:1px solid var(--border,#d5dee6);overflow-wrap:anywhere}
.mm-customer-order summary{cursor:pointer;font-weight:600}
@media(max-width:650px){.mm-customer-fields{grid-template-columns:1fr}}

.mm-customer-qr{display:block;max-width:240px;width:100%;height:auto;margin:1rem auto}

/* Module 584: customer workspace follows the Commerce presentation standard. */
body[data-view="pages/mm/customer-account"] .mm-customer-area{max-width:none;margin:0}
body[data-view="pages/mm/customer-account"] .mm-customer-area input:not([type="checkbox"]),body[data-view="pages/mm/customer-account"] .mm-customer-area select{padding:.7rem .85rem;border:1px solid var(--module-border);border-radius:.5rem;background:#fff;font:inherit;color:inherit;box-sizing:border-box}
body[data-view="pages/mm/customer-account"] .mm-customer-area input:focus-visible,body[data-view="pages/mm/customer-account"] .mm-customer-area select:focus-visible{outline:2px solid var(--module-accent);outline-offset:2px}
body[data-view="pages/mm/customer-account"] .mm-customer-area input[type="checkbox"]{display:inline-block;width:auto;min-height:0}

/* Module 585: match the standard sign-in and authenticator card width. */
body[data-view="pages/mm/customer-account"] .mm-customer-area .auth-card{width:min(100%,520px);max-width:520px;min-width:0;box-sizing:border-box;margin-inline:auto}
body[data-view="pages/mm/customer-account"] .mm-customer-trust{display:flex;align-items:center;gap:.55rem;flex-wrap:wrap}
body[data-view="pages/mm/customer-account"] .mm-customer-trust input[type="checkbox"]{flex:0 0 auto;margin:0}

/* Module 586: delivery address book and immutable order addresses. */
body[data-view="pages/mm/customer-addresses"] .mm-customer-area{max-width:none;margin:0}
body[data-view="pages/mm/customer-addresses"] input:not([type="hidden"]),body[data-view="pages/mm/customer-addresses"] select,.mm-delivery-review input:not([type="hidden"]):not([type="checkbox"]),.mm-delivery-review select{padding:.7rem .85rem;border:1px solid var(--module-border,#b8c3cc);border-radius:.5rem;box-sizing:border-box;width:100%;max-width:100%;font:inherit;min-width:0}
.mm-address-entry{padding:1.25rem 0;border-top:1px solid var(--module-border,#b8c3cc)}
.mm-address-entry details{margin-bottom:1rem}.mm-address-entry details form{margin-top:1rem}
.mm-order-addresses{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem}.mm-order-addresses p{overflow-wrap:anywhere}
.mm-delivery-review{margin-top:1.5rem}.mm-delivery-review fieldset{min-width:0;padding:1rem;border:1px solid var(--module-border,#b8c3cc);border-radius:.5rem}
.mm-delivery-review [hidden]{display:none!important}.mm-delivery-review .mm-customer-trust{display:flex;align-items:center;gap:.55rem}
.mm-delivery-review .mm-customer-trust input{width:auto;min-height:0}.mm-delivery-review .mm-customer-fields{margin-bottom:1rem}
@media(max-width:700px){.mm-order-addresses{grid-template-columns:1fr}}

/* Module 587: per-Shop payment connections. */
.mm-payments__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem}
.mm-payments__provider{min-width:0}.mm-payments__environment{border-top:1px solid var(--module-border,#b8c3cc);padding:1rem 0}
.mm-payments__environment summary{cursor:pointer;font-weight:600;overflow-wrap:anywhere}
.mm-payments__form{display:grid;gap:.65rem;margin-top:1.25rem}.mm-payments__form input{width:100%;min-width:0;box-sizing:border-box;min-height:44px}
.mm-payments__form .button{justify-self:start;white-space:normal}.mm-payments__actions{display:flex;gap:.75rem;flex-wrap:wrap;margin-block:1rem}
.mm-payments__actions form{margin:0}.mm-payments p{overflow-wrap:anywhere}
@media(max-width:760px){.mm-payments__grid{grid-template-columns:1fr}.mm-payments__form .button{width:100%}}

/* Module 588: final test checkout and test order summaries. */
.mm-checkout{width:100%;max-width:1000px;margin-inline:auto;min-width:0}
.mm-checkout__lines{list-style:none;padding:0}.mm-checkout__lines li{display:grid;gap:.35rem;padding:.8rem 0;border-bottom:1px solid var(--module-border,#b8c3cc);overflow-wrap:anywhere}
.mm-checkout__totals{max-width:380px;margin:1.25rem 0 1.25rem auto}.mm-checkout__totals>div{display:flex;justify-content:space-between;gap:1rem;padding:.35rem 0}.mm-checkout__totals dd{margin:0;white-space:nowrap}
.mm-checkout__check{margin-top:1rem}.mm-checkout .mm-workspace__actions form{margin:0}.mm-checkout .button{white-space:normal}.mm-customer-order .mm-checkout__lines{margin-top:1rem}
@media(max-width:600px){.mm-checkout__totals{max-width:none}.mm-checkout .mm-workspace__actions{display:grid;grid-template-columns:1fr}.mm-checkout .mm-workspace__actions .button{width:100%}}

.mm-checkout h3,.mm-checkout p,.mm-draft-details summary,.mm-customer-order summary{overflow-wrap:anywhere}

/* Module 589: Storefront layout on the public development page. */
/* Module 551: Inventory action spacing and Storefront preview. */

body[data-view="pages/mm/storefront-preview"] .mm-preview { display:grid; gap:1.5rem; }
body[data-view="pages/mm/storefront-preview"] .mm-preview__notice { padding:1rem; background:#edf4fa; }
body[data-view="pages/mm/storefront-preview"] .mm-preview__notice > * { margin:.25rem 0; }
body[data-view="pages/mm/storefront-preview"] .mm-preview__store { display:grid; gap:1.5rem; padding:clamp(1rem,3vw,2rem); border:1px solid var(--colour-border); background:#fff; }
body[data-view="pages/mm/storefront-preview"] .mm-preview__header { text-align:center; border-bottom:1px solid var(--colour-border); }
body[data-view="pages/mm/storefront-preview"] .mm-preview__filters { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; }
body[data-view="pages/mm/storefront-preview"] .mm-preview__filters > div { display:grid; gap:.35rem; }
body[data-view="pages/mm/storefront-preview"] .mm-preview__filters input,body[data-view="pages/mm/storefront-preview"] .mm-preview__filters select { width:100%; min-height:var(--field-height); padding:.6rem; border:1px solid var(--colour-border); border-radius:var(--radius-medium); }
body[data-view="pages/mm/storefront-preview"] .mm-preview__grid { display:grid; gap:1rem; }
body[data-view="pages/mm/storefront-preview"] .mm-preview__grid--1 { grid-template-columns:minmax(0,1fr); }
body[data-view="pages/mm/storefront-preview"] .mm-preview__grid--2 { grid-template-columns:repeat(2,minmax(0,1fr)); }
body[data-view="pages/mm/storefront-preview"] .mm-preview__grid--3 { grid-template-columns:repeat(3,minmax(0,1fr)); }
body[data-view="pages/mm/storefront-preview"] .mm-preview__grid--4 { grid-template-columns:repeat(4,minmax(0,1fr)); }
body[data-view="pages/mm/storefront-preview"] .mm-preview__product { display:grid; align-content:start; gap:.5rem; border:1px solid var(--colour-border); padding:1rem; min-width:0; overflow-wrap:anywhere; }
body[data-view="pages/mm/storefront-preview"] .mm-preview__product > * { margin:0; }
body[data-view="pages/mm/storefront-preview"] .mm-preview__product img { width:100%; height:10rem; object-fit:contain; }
body[data-view="pages/mm/storefront-preview"] .mm-preview__footer { text-align:center; border-top:1px solid var(--colour-border); padding-top:1rem; }
@media(max-width:850px){body[data-view="pages/mm/storefront-preview"] .mm-preview__grid--3,body[data-view="pages/mm/storefront-preview"] .mm-preview__grid--4 { grid-template-columns:repeat(2,minmax(0,1fr)); }}
@media(max-width:540px){body[data-view="pages/mm/storefront-preview"] .mm-preview__filters,body[data-view="pages/mm/storefront-preview"] .mm-preview__grid { grid-template-columns:minmax(0,1fr); }}

/* Module 552: Shop appearance controls and Storefront themes. */
body[data-view="pages/mm/storefront-preview"] .mm-preview__store--ocean { --mm-accent:#164f78; --mm-tint:#edf5fa; }
body[data-view="pages/mm/storefront-preview"] .mm-preview__store--forest { --mm-accent:#256044; --mm-tint:#eef6ef; }
body[data-view="pages/mm/storefront-preview"] .mm-preview__store--burgundy { --mm-accent:#772d4a; --mm-tint:#fbf0f4; }
body[data-view="pages/mm/storefront-preview"] .mm-preview__store--slate { --mm-accent:#3c4b5e; --mm-tint:#f0f3f6; }
body[data-view="pages/mm/storefront-preview"] .mm-preview__store { border-color:var(--mm-accent); }
body[data-view="pages/mm/storefront-preview"] .mm-preview__header { padding:1.5rem; background:var(--mm-tint); border-bottom:3px solid var(--mm-accent); color:var(--mm-accent); }
body[data-view="pages/mm/storefront-preview"] .mm-preview__header--left { text-align:left; }
body[data-view="pages/mm/storefront-preview"] .mm-preview__header--right { text-align:right; }
body[data-view="pages/mm/storefront-preview"] .mm-preview__logo { display:block; max-width:min(100%,24rem); max-height:10rem; width:auto; height:auto; object-fit:contain; margin:0 auto 1rem; }
body[data-view="pages/mm/storefront-preview"] .mm-preview__header--left .mm-preview__logo { margin-left:0; margin-right:auto; }
body[data-view="pages/mm/storefront-preview"] .mm-preview__header--right .mm-preview__logo { margin-left:auto; margin-right:0; }
body[data-view="pages/mm/storefront-preview"] .mm-preview__slogan { font-size:1.15rem; font-weight:600; }
body[data-view="pages/mm/storefront-preview"] .mm-preview__product { border-color:var(--mm-accent); background:var(--mm-tint); }
body[data-view="pages/mm/storefront-preview"] .mm-preview__product strong,body[data-view="pages/mm/storefront-preview"] .mm-preview__footer { color:var(--mm-accent); }

/* Module 556: draft basket controls. */
body[data-view="pages/mm/storefront-preview"] .mm-preview__add { justify-self:start; margin-top:.5rem; }
body[data-view="pages/mm/storefront-preview"] .mm-preview__basket { display:grid; gap:.75rem; padding:1.25rem; border:1px solid var(--mm-accent); background:var(--mm-tint); }
body[data-view="pages/mm/storefront-preview"] .mm-preview__basket > * { margin:0; }
body[data-view="pages/mm/storefront-preview"] .mm-preview__basket ul { display:grid; gap:.65rem; padding:0; list-style:none; }
body[data-view="pages/mm/storefront-preview"] .mm-preview__basket-line { display:grid; grid-template-columns:minmax(0,1fr) 5rem 7rem auto; align-items:center; gap:.7rem; min-width:0; }
body[data-view="pages/mm/storefront-preview"] .mm-preview__basket-line input { width:100%; min-height:var(--field-height); border:1px solid var(--colour-border); padding:.4rem; }
body[data-view="pages/mm/storefront-preview"] .mm-preview__basket-total { display:flex; justify-content:space-between; gap:1rem; border-top:1px solid var(--mm-accent); padding-top:.75rem; }
body[data-view="pages/mm/storefront-preview"] .mm-preview__basket > .button { justify-self:start; }
@media(max-width:600px){body[data-view="pages/mm/storefront-preview"] .mm-preview__basket-line { grid-template-columns:minmax(0,1fr) 5rem; }body[data-view="pages/mm/storefront-preview"] .mm-preview__basket-line .button { justify-self:start; }}

/* Module 558: expanded Storefront product gallery and Shop description editor. */
body[data-view="pages/mm/storefront-preview"] .mm-preview__product { cursor:pointer; }
body[data-view="pages/mm/storefront-preview"] .mm-preview__details-button { justify-self:start; }
body[data-view="pages/mm/storefront-preview"] .mm-preview__expanded { grid-column:1/-1; display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:1.5rem; padding:1.25rem; border:2px solid var(--mm-accent); background:var(--mm-tint); min-width:0; }
body[data-view="pages/mm/storefront-preview"] .mm-preview__gallery { display:grid; gap:.8rem; min-width:0; align-content:start; }
body[data-view="pages/mm/storefront-preview"] .mm-preview__large-image { width:100%; max-height:26rem; object-fit:contain; background:#fff; }
body[data-view="pages/mm/storefront-preview"] .mm-preview__thumbnails { display:flex; flex-wrap:wrap; gap:.5rem; }
body[data-view="pages/mm/storefront-preview"] .mm-preview__thumbnail { width:4.5rem; height:4.5rem; padding:.25rem; border:1px solid var(--colour-border); background:#fff; cursor:pointer; }
body[data-view="pages/mm/storefront-preview"] .mm-preview__thumbnail[aria-pressed="true"] { border:2px solid var(--mm-accent); }
body[data-view="pages/mm/storefront-preview"] .mm-preview__thumbnail img { width:100%; height:100%; object-fit:contain; }
body[data-view="pages/mm/storefront-preview"] .mm-preview__expanded-content { display:grid; align-content:start; gap:1rem; overflow-wrap:anywhere; white-space:pre-line; }
body[data-view="pages/mm/storefront-preview"] .mm-preview__expanded-content > * { margin:0; }
body[data-view="pages/mm/storefront-preview"] .mm-preview__expanded-content .button { justify-self:start; }
@media(max-width:700px){body[data-view="pages/mm/storefront-preview"] .mm-preview__expanded { grid-template-columns:minmax(0,1fr); }}

/* Module 559: delivery choices in the draft Storefront basket. */
body[data-view="pages/mm/storefront-preview"] .mm-preview__delivery { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:.5rem 1rem; }
body[data-view="pages/mm/storefront-preview"] .mm-preview__delivery label { font-weight:700; }
body[data-view="pages/mm/storefront-preview"] .mm-preview__delivery select { width:100%; min-height:var(--field-height); padding:.6rem; border:1px solid var(--colour-border); border-radius:var(--radius-medium); }
@media(max-width:600px){body[data-view="pages/mm/storefront-preview"] .mm-preview__delivery { grid-template-columns:minmax(0,1fr); }}


body[data-view="pages/mm/storefront-preview"] .mm-preview__variant-picker { display:grid; gap:.75rem; margin-block:1rem; }
body[data-view="pages/mm/storefront-preview"] .mm-preview__variant-choices { display:flex; flex-wrap:wrap; gap:.5rem; }
body[data-view="pages/mm/storefront-preview"] .mm-preview__variant-chip { padding:.55rem .8rem; border:1px solid var(--mm-accent); background:#fff; color:inherit; cursor:pointer; }
body[data-view="pages/mm/storefront-preview"] .mm-preview__variant-chip[aria-pressed="true"] { background:var(--mm-accent); color:#fff; }
body[data-view="pages/mm/storefront-preview"] .mm-preview__choose-note { font-size:.86rem; }
body[data-view="pages/mm/storefront-preview"] .mm-workspace__actions{display:flex;flex-wrap:wrap;gap:.75rem}
body[data-view="pages/mm/storefront-preview"] .mm-preview{min-width:0;overflow-wrap:anywhere}

/* Module 590: storefront-owned page shell, account links and policy text. */
.mm-storefront-shell{margin:0;min-width:0}.mm-storefront-main{width:min(100% - 2rem,1280px);margin:1.5rem auto;min-width:0}
.mm-storefront-links{display:grid;gap:1rem;text-align:center;padding:1.25rem 0}.mm-storefront-links__accounts{display:flex;flex-wrap:wrap;justify-content:center;gap:.75rem}.mm-storefront-links form{margin:0}.mm-storefront-links>div:last-child{display:flex;justify-content:center;flex-wrap:wrap;gap:1.5rem}
.mm-storefront-version{text-align:center;font-size:.8rem;color:#637180;margin:1rem;padding:0 1rem 1.5rem;overflow-wrap:anywhere}
body.mm-storefront-shell .mm-preview__footer{padding-block:1rem;border-bottom:1px solid var(--colour-border,#b8c3cc)}
.mm-shop-policy{padding:clamp(1rem,3vw,2rem);background:#fff;border:1px solid var(--colour-border,#b8c3cc);overflow-wrap:anywhere}.mm-shop-policy__text{white-space:pre-wrap;line-height:1.65}.mm-shop-policy .mm-preview__footer{text-align:center;border-top:1px solid var(--colour-border,#b8c3cc)}
@media(max-width:540px){.mm-storefront-main{width:calc(100% - 1rem);margin:1rem auto}.mm-storefront-links__accounts{display:grid;grid-template-columns:minmax(0,1fr)}.mm-storefront-links .button{width:100%;white-space:normal}}
@media print{.mm-storefront-links,.mm-storefront-version,.mm-storefront-shell .development-banner{display:none}.mm-storefront-main{width:100%;margin:0}.mm-shop-policy{border:0}}

/* Module 591: reveal basket and delivery only when products are selected. */
[data-mm-basket-section][hidden],[data-mm-address-section][hidden]{display:none!important}

/* Module 592: public Shop directory, About page and compact mobile basket. */
.mm-market{display:grid;gap:1.5rem;min-width:0}.mm-market .card{min-width:0;margin:0}.mm-market__header h1{margin-block:.5rem 1rem}.mm-market__catalogue form{display:grid;gap:.5rem;margin-bottom:1rem}.mm-market__catalogue input{width:100%;min-width:0}.mm-market__shops{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;list-style:none;padding:0;margin:1rem 0}.mm-market__shops li{min-width:0}.mm-market__shop{display:flex;flex-direction:column;gap:.6rem;height:100%;padding:1.25rem;border:1px solid var(--colour-border,#b8c3cc);border-radius:.5rem;color:inherit;text-decoration:none;overflow-wrap:anywhere;box-sizing:border-box}.mm-market__shop strong{font-size:1.2rem}.mm-market__shop:hover,.mm-market__shop:focus-visible{background:var(--colour-surface-alt,#eef3f7);border-color:var(--colour-primary,#163957)}.mm-market__visit{margin-top:auto;text-decoration:underline}.mm-market__footer{border-top:1px solid var(--colour-border,#b8c3cc);padding-top:1rem}.mm-market-about p,.mm-market__header p{max-width:80ch}.mm-market [hidden]{display:none!important}
.mm-checkout{display:grid;gap:1.5rem}.mm-checkout>.card,.mm-checkout>.mm-workspace__actions{margin-block:0}
@media(max-width:600px){.mm-market__shops{grid-template-columns:minmax(0,1fr)}body[data-view="pages/mm/storefront-preview"] .mm-preview__basket-line .button{grid-column:1/-1;justify-self:start;width:auto;max-width:100%;white-space:nowrap}}
@media print{.mm-market__catalogue form,.mm-market__catalogue button{display:none}.mm-market__shops{grid-template-columns:repeat(2,minmax(0,1fr))}.mm-market__shops li,.mm-market-about section{break-inside:avoid}.mm-market{gap:1rem}}

/* Module 593: Market branding and managed About-page typography. */
.mm-market__header,.mm-market__footer{text-align:center}.mm-market__header p,.mm-market__footer p{margin-inline:auto}.mm-market__brand{margin:1rem auto;line-height:1}.mm-market__brand img{display:block;width:min(100%,400px);height:auto;margin-inline:auto}.mm-market__footer-links{border-top:1px solid var(--colour-border,#b8c3cc);margin-top:1rem;padding-top:1rem;text-align:center}.mm-storefront-shell:has([data-mm-directory]) .mm-storefront-version{text-align:center}
.static-content-page--market .static-content-page__body{text-align:left;line-height:1.7;overflow-wrap:anywhere}.static-content-page--market .static-content-page__body p{margin:0 0 1rem}.static-content-page--market .static-content-page__body h2,.static-content-page--market .static-content-page__body h3,.static-content-page--market .static-content-page__body h4{margin:1.5rem 0 .75rem}.static-content-page--market .static-content-page__body>:first-child{margin-top:0}.static-content-page--market .static-content-page__body>:last-child{margin-bottom:0}.mm-market-static-return{margin-top:1.5rem}

/* Module 594: policy formatting and Printful connection. */
.mm-policy-field{min-width:0;width:100%}
.mm-policy-toolbar{display:flex;flex-wrap:wrap;gap:.4rem;margin:.65rem 0}
.mm-policy-toolbar .button{min-height:2.75rem;padding:.5rem .8rem}
.mm-policy-input{box-sizing:border-box;width:100%;min-height:14rem;max-height:28rem;overflow:auto;padding:1rem;border:1px solid var(--colour-border);border-radius:var(--radius-medium);background:var(--colour-surface,#fff);font:inherit;overflow-wrap:anywhere}
.mm-policy-input:focus{outline:2px solid var(--colour-primary);outline-offset:2px}
.mm-policy-field textarea[hidden]{display:none!important}
.mm-policy-content{white-space:normal!important;text-align:left!important;line-height:1.65;overflow-wrap:anywhere}
.mm-policy-content p{margin:0 0 1rem}
.mm-policy-content ul,.mm-policy-content ol{margin:.75rem 0 1rem;padding-left:1.75rem}
.mm-policy-content ul{list-style:disc}.mm-policy-content ol{list-style:decimal}
.mm-policy-content li{margin:.35rem 0}.mm-policy-content u{text-decoration:underline}
.mm-printful{display:grid;gap:1.5rem}.mm-printful .card{margin:0}
.mm-printful__products{display:grid;gap:1rem;list-style:none;margin:0;padding:0}
.mm-printful__product{padding:1rem;border:1px solid var(--colour-border);border-radius:var(--radius-medium);overflow-wrap:anywhere}
.mm-printful__product h3{margin:0 0 .5rem}.mm-printful__actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1rem}
.mm-printful__variants{display:grid;gap:.65rem;list-style:none;margin:1rem 0 0;padding:0}
.mm-printful__variant{padding:.65rem;border-bottom:1px solid var(--colour-border)}

/* Module 595: Market search field uses the standard height and a compact desktop width. */
.mm-market__catalogue input[type="search"]{box-sizing:border-box;width:50%;min-height:var(--field-height,44px);padding:.6rem .75rem;border:1px solid var(--colour-border,#b8c3cc);border-radius:var(--radius-medium,.5rem);background:var(--colour-surface,#fff);color:var(--colour-text,#243746);font:inherit}
@media(max-width:600px){.mm-market__catalogue input[type="search"]{width:100%}}

/* Module 596: spacing below Printful connection controls. */
.mm-printful .mm-printful__actions + p { margin-top: 1.5rem; }

.mm-checkout .mm-checkout__order-status{margin-top:1.25rem}
