/* Exact GovFin neomorphism market-launch theme -------------------------------
   Source reference: govfin-neomorphism-market-launch/styles.css. This block is
   intentionally last in app.css so it normalises earlier visual experiments
   without changing Symfony templates, routes, forms, or accessibility markup. */
:root {
    --bg: #edf1f5;
    --bg-2: #e7ecf1;
    --surface: #eef2f6;
    --surface-high: #f5f7fa;
    --surface-strong: #f5f7fa;
    --paper: #edf1f5;
    --mist: #e7ecf1;
    --white: #f5f7fa;
    --ink: #152338;
    --muted: #657286;
    --line: rgba(35, 53, 78, .12);
    --brand: #0a6b5d;
    --brand-dark: #075349;
    --brand-soft: #d8ebe7;
    --navy: #172b46;
    --navy-deep: #172b46;
    --navy-soft: #213b5d;
    --teal: #0a6b5d;
    --teal-bright: #0a6b5d;
    --gold: #c69235;
    --gold-bright: #c69235;
    --gold-soft: #e5c172;
    --danger: #a34b3c;
    --warning: #9a6a15;
    --success: #23735f;
    --shadow-out: 12px 12px 28px rgba(130,145,163,.22), -12px -12px 28px rgba(255,255,255,.82);
    --shadow-soft: 7px 7px 16px rgba(130,145,163,.18), -7px -7px 16px rgba(255,255,255,.72);
    --shadow-in: inset 5px 5px 11px rgba(130,145,163,.18), inset -5px -5px 11px rgba(255,255,255,.78);
    --neo-raised: var(--shadow-out);
    --neo-raised-sm: var(--shadow-soft);
    --neo-inset: var(--shadow-in);
    --shadow: var(--shadow-out);
    --radius: 0;
}

body,
.portal-app,
.workspace-shell,
.workspace-stage {
    color: var(--ink);
    background: var(--bg);
    font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

body::before,
.workspace-stage::before {
    background: var(--bg);
    background-image: none;
}

.site-header,
.workspace-topbar {
    border-color: rgba(35,53,78,.08);
    background: rgba(237,241,245,.92);
    backdrop-filter: blur(18px);
}

.header-inner,
.workspace-topbar {
    border-radius: 0;
    box-shadow: none;
}

.brand-wordmark strong,
.workspace-brand strong span,
.footer-brand strong span {
    color: var(--brand);
}

.brand-symbol,
.workspace-brand img {
    border-radius: 12px;
    background: var(--surface);
    box-shadow: var(--shadow-soft);
}

.nav-cta,
.button,
form button,
.portal-app .button,
.portal-app form button,
.workspace-menu-toggle {
    border: 1px solid transparent;
    border-radius: 12px !important;
    color: #fff !important;
    background: var(--brand);
    box-shadow: 6px 6px 15px rgba(7,83,73,.20), -4px -4px 12px rgba(255,255,255,.75);
}

.nav-cta:hover,
.button:hover,
form button:hover,
.portal-app .button:hover,
.portal-app form button:hover {
    color: #fff !important;
    background: var(--brand-dark);
}

.button-secondary,
.button-light,
.document-actions button,
.button-danger {
    color: var(--ink) !important;
    border-color: rgba(35,53,78,.08);
    background: var(--surface);
    box-shadow: var(--shadow-soft);
}

.workspace-sidebar {
    border: 0;
    border-right: 1px solid rgba(35,53,78,.08);
    background: var(--surface);
    box-shadow: var(--shadow-soft);
}

.workspace-nav a {
    border: 1px solid transparent;
    border-radius: 12px;
    color: #4d5b6f;
}

.workspace-nav a:hover {
    color: var(--brand);
    background: var(--surface);
    box-shadow: var(--shadow-soft);
}

.workspace-nav a[aria-current="page"] {
    color: var(--brand-dark);
    border-color: rgba(255,255,255,.75);
    background: var(--surface);
    box-shadow: var(--shadow-in);
}

.workspace-nav a[aria-current="page"]::before { background: var(--brand); }
.workspace-nav a[aria-current="page"] .workspace-nav-icon { color: var(--brand); }

.workspace-avatar,
.workspace-avatar-top {
    color: #fff;
    border: 0;
    background: var(--brand);
    box-shadow: var(--shadow-soft);
}

.workspace-content { background: var(--bg); }

.operations-command,
.portal-app .dashboard-summary article,
.client-quick-actions a,
.portal-app .portal-panel,
.portal-app .metric-card,
.portal-app .governance-card,
.wizard-card,
.document-list article,
.admin-document-list article {
    border: 1px solid rgba(255,255,255,.75);
    border-radius: 18px !important;
    background: var(--surface);
    box-shadow: var(--shadow-soft);
}

.operations-command-icon,
.client-quick-actions a > span,
.service-icon {
    color: var(--brand);
    border: 1px solid rgba(255,255,255,.75);
    border-radius: 13px !important;
    background: var(--bg);
    box-shadow: var(--shadow-soft);
}

.operations-command-links a,
.metric-chip,
.admin-lock,
.access-state,
.status-badge {
    border-radius: 999px !important;
}

.operations-command-links a {
    color: var(--brand);
    border-color: rgba(255,255,255,.75);
    background: var(--surface);
    box-shadow: var(--shadow-soft);
}

.portal-app .dashboard-summary article::after { display: none; }
.portal-app .dashboard-summary span { color: var(--brand); }

.portal-app .queue-filters,
.portal-app .portal-panel > form,
.wizard-review,
.wizard-consent,
.workspace-table-wrap {
    border: 1px solid rgba(255,255,255,.8) !important;
    border-radius: 16px !important;
    background: var(--bg-2) !important;
    box-shadow: var(--shadow-in) !important;
}

.portal-app input,
.portal-app select,
.portal-app textarea,
input,
select,
textarea {
    border: 1px solid rgba(255,255,255,.7);
    border-radius: 11px !important;
    color: var(--ink);
    background: var(--bg-2);
    box-shadow: var(--shadow-in);
}

.portal-app input:focus,
.portal-app select:focus,
.portal-app textarea:focus,
input:focus,
select:focus,
textarea:focus {
    border-color: rgba(10,107,93,.35);
    outline: 3px solid rgba(10,107,93,.13);
    background: var(--bg-2);
    box-shadow: var(--shadow-in);
}

.portal-app table {
    border: 0;
    border-radius: 12px !important;
    background: transparent;
    box-shadow: none;
}

.portal-app th { background: rgba(255,255,255,.38); }
.portal-app tbody tr:hover { background: rgba(255,255,255,.42); }

.status-badge,
.metric-chip,
.admin-lock {
    color: var(--brand-dark);
    background: var(--brand-soft);
    box-shadow: none;
}

.access-state-active,
.status-completed,
.status-approved { color: var(--success); background: #d8ebe7; }
.access-state-suspended,
.status-rejected { color: var(--danger); background: #f2ded9; }

.site-footer {
    border-radius: 18px;
    background: #dfe5eb;
    box-shadow: var(--shadow-soft);
}

.site-footer,
.site-footer a,
.footer-brand strong { color: var(--ink); }
.footer-status,
.footer-brand small { color: var(--muted); }

@media (max-width: 820px) {
    .workspace-sidebar { box-shadow: 14px 0 30px rgba(130,145,163,.24); }
}

/* Public website: 3D honeycomb screen treatment. The SVG keeps the centre
   deliberately quiet while raised gold and white cells frame the viewport. */
body:not(.portal-app) {
    background-color: var(--bg);
    background-image: url("../images/honeycomb-3d-background-nTM1WZq.png");
    background-position: center center;
    background-size: cover;
    background-repeat: no-repeat;
    background-attachment: fixed;
}

body:not(.portal-app)::before { display: none; }

body:not(.portal-app) .page-shell {
    position: relative;
    background: transparent;
}

body:not(.portal-app) .hero,
body:not(.portal-app) .page-hero {
    min-height: min(760px, calc(100vh - 92px));
    align-content: center;
}

body:not(.portal-app) .hero-copy,
body:not(.portal-app) .page-hero > * {
    position: relative;
    z-index: 1;
}

body:not(.portal-app) .hero-copy {
    padding: clamp(24px, 4vw, 56px);
    border-left: 4px solid var(--gold);
    background: linear-gradient(90deg, rgba(245,247,250,.93), rgba(245,247,250,.70) 72%, transparent);
    box-shadow: -12px -12px 28px rgba(255,255,255,.76), 12px 12px 28px rgba(130,145,163,.12);
}

@media (max-width: 820px) {
    body:not(.portal-app) {
        background-position: 62% center;
        background-size: cover;
        background-repeat: no-repeat;
        background-attachment: scroll;
    }

    body:not(.portal-app) .hero,
    body:not(.portal-app) .page-hero { min-height: auto; }

    body:not(.portal-app) .hero-copy {
        border-left-width: 3px;
        background: rgba(245,247,250,.90);
    }
}

/* Merged GovFin geometry: retain the Symfony platform's crisp zero-radius
   architecture while using the market-launch palette and tactile depth. */
.header-inner,
.brand-symbol,
.workspace-brand img,
.nav-toggle,
.nav-cta,
.button,
form button,
.workspace-menu-toggle,
.workspace-nav a,
.operations-command,
.operations-command-icon,
.operations-command-links a,
.portal-app .dashboard-summary article,
.client-quick-actions a,
.client-quick-actions a > span,
.portal-app .portal-panel,
.portal-app .metric-card,
.portal-app .governance-card,
.wizard-card,
.portal-app .queue-filters,
.portal-app .portal-panel > form,
.wizard-review,
.wizard-consent,
.workspace-table-wrap,
.portal-app input,
.portal-app select,
.portal-app textarea,
input,
select,
textarea,
.portal-app table,
.document-list article,
.admin-document-list article,
.service-icon,
.site-footer {
    border-radius: 0 !important;
}
