/* Symfony bridge for Downloads/govfin-honeycomb-ui-library.
   Keeps application markup and behavior while applying the library surfaces. */
.portal-app {
    --gf-navy-950: #031a37;
    --gf-navy-900: #082b5c;
    --gf-navy-800: #0b3a77;
    --gf-gold-600: #df9800;
    --gf-gold-500: #f7b818;
    --gf-ink: #0b2547;
    --gf-text: #334a68;
    --gf-muted: #6a7d94;
    --gf-line: #dfe7ef;
    --gf-surface: #f3f6f9;
    --gf-surface-2: #edf2f6;
    --gf-shadow-raised: -9px -9px 18px rgba(255,255,255,.95), 12px 14px 24px rgba(89,111,132,.20);
    --gf-shadow-soft: -5px -5px 12px rgba(255,255,255,.90), 7px 9px 18px rgba(89,111,132,.15);
    --gf-shadow-inset: inset 5px 5px 10px rgba(118,135,151,.18), inset -5px -5px 10px rgba(255,255,255,.95);
    color: var(--gf-text);
    background: var(--gf-surface);
}

.portal-app .workspace-shell {
    grid-template-columns: 260px minmax(0, 1fr);
    background: var(--gf-surface);
}

.portal-app .workspace-sidebar {
    padding: 24px 18px;
    border: 0;
    border-right: 1px solid #d9e3eb;
    border-radius: 0 !important;
    background: linear-gradient(180deg, #f7f9fb, #e9eff4);
    box-shadow: none;
}

.portal-app .workspace-brand { padding: 0 4px; }
.portal-app .workspace-brand img { width: 44px; height: 41px; }
.portal-app .workspace-brand strong,
.portal-app h1,
.portal-app h2,
.portal-app h3 { color: var(--gf-ink); }

.portal-app .workspace-nav { gap: 6px; }
.portal-app .workspace-nav a {
    min-height: 46px;
    padding: 9px 12px;
    border: 0;
    border-radius: 12px !important;
    color: var(--gf-text);
    background: transparent;
    box-shadow: none;
}

.portal-app .workspace-nav a:hover,
.portal-app .workspace-nav a[aria-current="page"] {
    color: var(--gf-ink);
    background: var(--gf-surface);
    box-shadow: var(--gf-shadow-soft);
    transform: none;
}

.portal-app .workspace-nav a[aria-current="page"]::before { display: none; }
.portal-app .workspace-nav-icon {
    width: 28px;
    height: 26px;
    color: #785100 !important;
    background: #fff0b4;
    clip-path: polygon(25% 0, 75% 0, 100% 50%, 75% 100%, 25% 100%, 0 50%);
}

.portal-app .workspace-stage { background: var(--gf-surface); }
.portal-app .workspace-stage::before { display: none; }
.portal-app .workspace-topbar {
    min-height: 74px;
    padding: 14px 24px;
    border: 0;
    border-bottom: 1px solid var(--gf-line);
    border-radius: 0 !important;
    background: rgba(244,247,250,.90);
    box-shadow: none;
    backdrop-filter: blur(15px);
}

.portal-app .workspace-content {
    min-height: calc(100vh - 74px);
    padding: 28px;
    background: var(--gf-surface);
}

.portal-app .workspace-page-heading,
.portal-app .portal-heading,
.portal-app .request-header { margin-bottom: 22px; }
.portal-app .workspace-page-heading h1,
.portal-app .portal-heading h1,
.portal-app .request-header h1 { font-size: clamp(2rem, 3vw, 3rem); }

.portal-app .operations-command,
.portal-app .dashboard-summary article,
.portal-app .client-quick-actions a,
.portal-app .portal-panel,
.portal-app .metric-card,
.portal-app .governance-card,
.portal-app .wizard-card,
.portal-app .admin-document-list article {
    border: 1px solid rgba(255,255,255,.78) !important;
    border-radius: 18px !important;
    background: linear-gradient(145deg, #fbfcfd, #e7edf2) !important;
    box-shadow: var(--gf-shadow-raised) !important;
}

.portal-app .operations-command,
.portal-app .portal-panel { padding: 24px; }
.portal-app .dashboard-summary { gap: 18px; margin-bottom: 24px; }
.portal-app .dashboard-summary article,
.portal-app .metric-card,
.portal-app .governance-card { padding: 22px; }
.portal-app .dashboard-summary article::after { display: none; }
.portal-app .governance-card:hover { transform: none; }

.portal-app .queue-filters,
.portal-app .portal-panel > form,
.portal-app form:not(.inline-form) {
    border: 0 !important;
    border-radius: 12px !important;
    background: var(--gf-surface-2) !important;
    box-shadow: var(--gf-shadow-inset) !important;
}

.portal-app input,
.portal-app select,
.portal-app textarea {
    min-height: 46px;
    border: 1px solid transparent !important;
    border-radius: 12px !important;
    color: var(--gf-ink);
    background: var(--gf-surface-2) !important;
    box-shadow: var(--gf-shadow-inset) !important;
}

.portal-app input:focus,
.portal-app select:focus,
.portal-app textarea:focus {
    border-color: var(--gf-gold-500) !important;
    box-shadow: var(--gf-shadow-inset), 0 0 0 4px rgba(247,184,24,.25) !important;
}

.portal-app .button,
.portal-app form button,
.portal-app .workspace-menu-toggle {
    min-height: 44px;
    border-radius: 999px !important;
    background: linear-gradient(145deg, #155293, var(--gf-navy-950));
    box-shadow: 0 8px 16px rgba(3,26,55,.18);
}

.portal-app .button:hover,
.portal-app form button:hover { transform: none; }
.portal-app .workspace-signout button {
    color: var(--gf-text);
    background: transparent;
    box-shadow: none;
}

.portal-app .workspace-table-wrap {
    border-radius: 14px !important;
    box-shadow: var(--gf-shadow-soft) !important;
}
.portal-app table {
    border: 0;
    border-radius: 14px !important;
    background: var(--gf-surface);
    box-shadow: none;
}
.portal-app th { background: var(--gf-surface-2); }
.portal-app th,
.portal-app td { padding: 14px 16px; border-bottom-color: var(--gf-line); }
.portal-app tbody tr:hover { background: #fff9e5; }

.portal-app .metric-chip,
.portal-app .admin-lock,
.portal-app .status-badge,
.portal-app .access-state {
    border-radius: 999px !important;
}

@media (max-width: 980px) {
    .portal-app .workspace-shell { grid-template-columns: 82px minmax(0, 1fr); }
    .portal-app .workspace-sidebar { padding: 20px 10px; }
}

@media (max-width: 760px) {
    .portal-app .workspace-shell { grid-template-columns: 1fr; }
    .portal-app .workspace-sidebar { width: 260px; }
    .portal-app .workspace-content { padding: 18px; }
    .portal-app .workspace-topbar { padding: 12px 16px; }
}

@media (prefers-reduced-motion: reduce) {
    .portal-app *, .portal-app *::before, .portal-app *::after { transition: none !important; }
}

/* The authenticated workspace uses the same embossed sheet as the public
   surface. The honeycomb is deliberately low-contrast behind dense data so
   it reads as material depth, while panels and controls share its light source. */
.portal-app .workspace-stage {
    position: relative;
    isolation: isolate;
    background: #edf1f5;
}

.portal-app .workspace-stage::before {
    content: "";
    display: block;
    position: fixed;
    z-index: 0;
    inset: 74px 0 0 260px;
    pointer-events: none;
    opacity: .16;
    background: #edf1f5 url("../images/honeycomb-public-IlOYrXG.svg") center / cover no-repeat;
    mix-blend-mode: multiply;
}

.portal-app .workspace-content { background: transparent; }

.portal-app .operations-command,
.portal-app .dashboard-summary article,
.portal-app .client-quick-actions a,
.portal-app .portal-panel,
.portal-app .metric-card,
.portal-app .governance-card,
.portal-app .wizard-card,
.portal-app .admin-document-list article {
    background: linear-gradient(145deg, #f7f9fb, #e3e8ed) !important;
    box-shadow:
        -12px -12px 24px rgba(255,255,255,.96),
        14px 16px 28px rgba(102,119,136,.23),
        inset 1px 1px 0 rgba(255,255,255,.98),
        inset -1px -1px 0 rgba(112,129,145,.12) !important;
}

.portal-app input,
.portal-app select,
.portal-app textarea,
.portal-app .queue-filters,
.portal-app .portal-panel > form,
.portal-app .workspace-table-wrap {
    background: #edf1f5 !important;
    box-shadow:
        inset 5px 5px 10px rgba(102,119,136,.18),
        inset -5px -5px 10px rgba(255,255,255,.95) !important;
}

@media (max-width: 760px) {
    .portal-app .workspace-stage::before { inset: 74px 0 0 0; opacity: .1; }
}
