/* ==================================================================
   NORVARCH — World-Class Design Layer  (theme-world.css)
   Loads LAST on public, admin and portal layouts.
   Purpose: one coherent brand system across every surface.
   Non-destructive: overrides only. Remove the <link> to roll back.
   ================================================================== */

@import url('https://fonts.googleapis.com/css2?family=Inter:opsz,wght@14..32,400..800&display=swap');

/* ------------------------------------------------------------------
   0. SHARED TOKENS  (brand = teal #0FB5A6 on ink #0C1615)
   ------------------------------------------------------------------ */
:root {
    --nv-teal:        #0fb5a6;
    --nv-teal-600:    #0a8c80;
    --nv-teal-700:    #08736a;
    --nv-teal-50:     #e7f7f5;
    --nv-teal-100:    #c9eeea;
    --nv-ink:         #0c1615;
    --nv-ink-2:       #121e1d;
    --nv-ink-3:       #1a2927;
    --nv-coral:       #ff5a3c;

    --nv-font: "Inter", -apple-system, BlinkMacSystemFont, "SF Pro Text", "Segoe UI", Roboto, sans-serif;

    --nv-ease:      cubic-bezier(.22, 1, .36, 1);
    --nv-ease-fast: cubic-bezier(.4, 0, .2, 1);

    --nv-radius-sm: 10px;
    --nv-radius:    14px;
    --nv-radius-lg: 20px;

    /* Fluid type scale */
    --nv-fs-hero: clamp(2.6rem, 1.4rem + 5.2vw, 5.25rem);
    --nv-fs-h1:   clamp(2.1rem, 1.3rem + 3.2vw, 3.75rem);
    --nv-fs-h2:   clamp(1.75rem, 1.2rem + 2.2vw, 2.85rem);
    --nv-fs-h3:   clamp(1.3rem, 1.05rem + 1vw, 1.75rem);
    --nv-fs-lead: clamp(1.05rem, .98rem + .35vw, 1.25rem);

    --nv-section: clamp(4.5rem, 3rem + 6vw, 8rem);

    --nv-focus: 0 0 0 3px rgba(15,181,166,.45);
}

/* ------------------------------------------------------------------
   1. GLOBAL BASE  (all layouts)
   ------------------------------------------------------------------ */
html { -webkit-text-size-adjust: 100%; text-rendering: optimizeLegibility; }
body {
    font-family: var(--nv-font);
    font-feature-settings: "cv11", "ss01", "ss03";
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}
h1, h2, h3, h4, h5, h6, .hero-title, .section-title, .admin-page-title, .portal-page-title,
.btn, .navbar, .nav-link, .sidebar-nav-link, .sidebar-brand-text, .badge {
    font-family: var(--nv-font);
}
h1, h2, h3 { text-wrap: balance; }
p, li { text-wrap: pretty; }

/* Numbers line up everywhere */
.stat-value, .stat-number, .stat-counter-number, .industry-stat-number,
table td, table th, .badge, .welcome-date { font-variant-numeric: tabular-nums; }

::selection { background: rgba(15,181,166,.28); }

/* Accessible, consistent focus */
:where(a, button, input, select, textarea, .btn, [tabindex]):focus-visible {
    outline: none !important;
    box-shadow: var(--nv-focus) !important;
    border-radius: 8px;
}

/* Images never overflow, render crisply */
img { max-width: 100%; height: auto; }

/* Respect reduced motion */
@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after {
        animation-duration: .01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: .01ms !important;
        scroll-behavior: auto !important;
    }
}

/* ------------------------------------------------------------------
   2. PUBLIC SITE
   ------------------------------------------------------------------ */
.public-layout { --section-py: var(--nv-section); }

/* Navigation — calmer, more precise */
.public-layout .navbar { padding-top: .85rem; padding-bottom: .85rem; transition: padding .35s var(--nv-ease), background .35s var(--nv-ease), box-shadow .35s var(--nv-ease); }
.public-layout .navbar.scrolled { padding-top: .55rem; padding-bottom: .55rem; box-shadow: 0 1px 0 var(--color-border), 0 8px 30px rgba(0,0,0,.12); }
.public-layout .navbar .nav-link {
    font-size: .925rem; font-weight: 500; letter-spacing: -.005em;
    padding: .5rem .85rem !important; position: relative;
}
.public-layout .navbar .nav-link::after {
    content: ""; position: absolute; left: .85rem; right: .85rem; bottom: .2rem; height: 2px;
    background: var(--color-gold); border-radius: 2px;
    transform: scaleX(0); transform-origin: left; transition: transform .35s var(--nv-ease);
}
.public-layout .navbar .nav-link:hover::after,
.public-layout .navbar .nav-link.active::after { transform: scaleX(1); }
.public-layout .brand-svg { height: 34px; width: auto; }

/* Headings & rhythm */
.public-layout h1 { font-size: var(--nv-fs-h1); }
.public-layout h2, .public-layout .section-title { font-size: var(--nv-fs-h2); font-weight: 750; letter-spacing: -.028em; line-height: 1.1; }
.public-layout h3 { font-size: var(--nv-fs-h3); letter-spacing: -.02em; line-height: 1.2; }
.public-layout .section-subtitle, .public-layout .lead {
    font-size: var(--nv-fs-lead); line-height: 1.6; color: var(--color-text-muted);
    max-width: 62ch; margin-left: auto; margin-right: auto;
}
.public-layout p { line-height: 1.7; }
.public-layout .section-tag, .public-layout .hero-tag {
    font-size: .72rem; font-weight: 650; letter-spacing: .16em; text-transform: uppercase;
}
.public-layout .section, .public-layout section.section { padding-top: var(--nv-section); padding-bottom: var(--nv-section); }

/* Hero — stronger readability, cinematic overlay */
.public-layout .hero-title { font-size: var(--nv-fs-hero) !important; font-weight: 800; letter-spacing: -.035em; line-height: 1.02; }
.public-layout .hero-desc { font-size: var(--nv-fs-lead); max-width: 58ch; margin-inline: auto; opacity: .88; line-height: 1.6; }
.public-layout .hero-slide-overlay, .public-layout .hero-overlay, .public-layout .industry-hero-overlay, .public-layout .page-banner::before {
    background:
        radial-gradient(120% 80% at 50% 30%, rgba(8,18,17,.35) 0%, rgba(8,18,17,.78) 70%),
        linear-gradient(180deg, rgba(8,18,17,.15) 0%, rgba(8,18,17,.85) 100%) !important;
}
.public-layout .hero-actions .btn { min-width: 168px; }
.public-layout .hero-arrow { backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); border: 1px solid rgba(255,255,255,.18); }

/* Inner-page banners: tighter, more editorial */
.public-layout .page-banner, .public-layout .industry-hero { min-height: clamp(340px, 46vh, 520px); display: flex; align-items: center; }
.public-layout .page-banner h1, .public-layout .industry-hero h1 { font-size: var(--nv-fs-h1); letter-spacing: -.032em; }

/* Buttons — one consistent system */
.btn { font-weight: 600; letter-spacing: -.005em; transition: transform .25s var(--nv-ease), box-shadow .25s var(--nv-ease), background-color .2s var(--nv-ease-fast), color .2s var(--nv-ease-fast), border-color .2s var(--nv-ease-fast); }
.public-layout .btn { padding: .78rem 1.45rem; }
.public-layout .btn-sm { padding: .5rem 1.05rem; }
.public-layout .btn-lg { padding: .95rem 1.85rem; }
.btn:active { transform: translateY(0) scale(.98) !important; }

/* Cards — quiet depth, crisp edges */
.public-layout .card, .public-layout .service-card, .public-layout .feature-box,
.public-layout .industry-service-card, .public-layout .testimonial-card, .public-layout .glass-card {
    border-radius: var(--nv-radius-lg) !important;
    border: 1px solid var(--color-border) !important;
    transition: transform .45s var(--nv-ease), box-shadow .45s var(--nv-ease), border-color .3s var(--nv-ease);
}
.public-layout .card:hover, .public-layout .service-card:hover, .public-layout .industry-service-card:hover, .public-layout .feature-box:hover {
    transform: translateY(-4px);
    border-color: color-mix(in srgb, var(--color-gold) 40%, var(--color-border)) !important;
    box-shadow: 0 2px 6px rgba(0,0,0,.06), 0 24px 48px -12px rgba(0,0,0,.28);
}

/* Project cards (Projects page + home Featured) */
.public-layout .project-card .card { overflow: hidden; background: var(--color-bg-elev, var(--color-white)); }
.public-layout .project-card .position-relative { height: auto !important; aspect-ratio: 16 / 10; }
.public-layout .project-card img { object-fit: cover; transition: transform 1.1s var(--nv-ease); }
.public-layout .project-card:hover img { transform: scale(1.045); }
.public-layout .project-card .card-body { padding: 1.35rem 1.4rem 1.5rem; }
.public-layout .project-card h5 {
    font-size: 1.125rem; font-weight: 700; line-height: 1.3; letter-spacing: -.015em; margin-bottom: .45rem;
    display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; min-height: 2.6em;
}
.public-layout .project-card .badge { font-weight: 600; letter-spacing: .02em; border-radius: 999px; padding: .38em .8em; }
.public-layout .project-card .position-absolute .badge { backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px); }
.public-layout .project-filter-btns .filter-btn, .public-layout .filter-btn {
    border-radius: 999px; padding: .55rem 1.15rem; font-weight: 600; font-size: .9rem;
}
.public-layout .gallery-item, .public-layout .project-item { border-radius: var(--nv-radius); overflow: hidden; }
.public-layout .gallery-item img, .public-layout .project-item img { transition: transform 1.1s var(--nv-ease); }
.public-layout .gallery-item:hover img, .public-layout .project-item:hover img { transform: scale(1.05); }

/* Stats */
.public-layout .stat-counter-number, .public-layout .industry-stat-number, .public-layout .stat-number {
    font-weight: 800; letter-spacing: -.04em;
}

/* Forms */
.public-layout .form-control, .public-layout .form-select {
    border-radius: var(--nv-radius-sm); padding: .8rem 1rem; font-size: .975rem;
    transition: border-color .2s var(--nv-ease-fast), box-shadow .2s var(--nv-ease-fast);
}
.public-layout .form-control:focus, .public-layout .form-select:focus { border-color: var(--color-gold); box-shadow: var(--nv-focus); }
.public-layout .form-label { font-weight: 600; font-size: .85rem; letter-spacing: .005em; }

/* Footer */
.public-layout .site-footer { border-top: 1px solid rgba(255,255,255,.06); }
.public-layout .footer-heading { font-size: .75rem; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; }
.public-layout .footer-links a { transition: color .2s var(--nv-ease-fast), padding-left .3s var(--nv-ease); }
.public-layout .footer-links a:hover { padding-left: 4px; }
.public-layout .social-link { transition: transform .3s var(--nv-ease), background .2s; }
.public-layout .social-link:hover { transform: translateY(-2px); }

/* CTA banner */
.public-layout .cta-banner { border-radius: var(--nv-radius-lg); overflow: hidden; }
.public-layout .cta-banner-title { font-size: var(--nv-fs-h2); letter-spacing: -.03em; }

/* Mobile polish */
@media (max-width: 767.98px) {
    .public-layout .hero-actions { flex-direction: column; align-items: stretch; gap: .75rem; }
    .public-layout .hero-actions .btn { width: 100%; }
    .public-layout .project-card .card-body { padding: 1.15rem; }
    .public-layout .navbar .nav-link::after { display: none; }
}

/* ------------------------------------------------------------------
   3. ADMIN + PORTAL  — unify with the public brand
   ------------------------------------------------------------------ */
.admin-layout, .portal-layout {
    --color-navy:       var(--nv-ink);
    --color-navy-light: var(--nv-ink-2);
    --color-navy-mid:   var(--nv-ink-3);
    --color-navy-dark:  #071010;
    --color-gold:       var(--nv-teal);
    --color-gold-light: #1ad3c2;
    --color-gold-dark:  var(--nv-teal-600);
    --logo-accent:      var(--nv-teal);
    --color-bg:         #ffffff;
    --color-bg-alt:     #f5f7f6;
    --color-text:       #1f2422;
    --color-text-muted: #66706c;
    --color-border:     #e4e8e6;
    --font-heading:     var(--nv-font);
    --font-body:        var(--nv-font);
    --card-radius:      var(--nv-radius);
    --btn-radius:       10px;
    --shadow-sm: 0 1px 2px rgba(12,22,21,.04), 0 1px 3px rgba(12,22,21,.06);
    --shadow-md: 0 4px 12px rgba(12,22,21,.06), 0 12px 28px rgba(12,22,21,.06);
    --shadow-lg: 0 12px 40px rgba(12,22,21,.12);
    --bs-primary: var(--nv-teal);
    --bs-primary-rgb: 15,181,166;
    --bs-link-color: var(--nv-teal-600);
    --bs-link-hover-color: var(--nv-teal-700);
    --bs-body-font-family: var(--nv-font);
    background: var(--color-bg-alt);
    color: var(--color-text);
    font-size: .9375rem;
}

/* Top bar: clean white bar with hairline */
.admin-topbar, .portal-topbar {
    background: rgba(255,255,255,.88) !important;
    backdrop-filter: saturate(180%) blur(14px); -webkit-backdrop-filter: saturate(180%) blur(14px);
    border-bottom: 1px solid var(--color-border) !important;
    box-shadow: none !important;
    color: var(--color-text);
}
.admin-topbar a, .portal-topbar a, .admin-topbar .topbar-icon-btn, .portal-topbar .topbar-icon-btn,
.admin-topbar .sidebar-toggle-btn, .portal-topbar .sidebar-toggle-btn, .admin-topbar .topbar-user-btn, .portal-topbar .topbar-user-btn,
.admin-brand-text, .portal-brand, .admin-badge-label { color: var(--nv-ink) !important; }
.admin-topbar .topbar-icon-btn:hover, .portal-topbar .topbar-icon-btn:hover,
.admin-topbar .sidebar-toggle-btn:hover, .portal-topbar .sidebar-toggle-btn:hover { background: var(--color-bg-alt) !important; color: var(--nv-teal-600) !important; }
.admin-search-input {
    background: var(--color-bg-alt) !important; border: 1px solid var(--color-border) !important;
    color: var(--color-text) !important; border-radius: 10px !important;
}
.admin-search-input::placeholder { color: #8a938f !important; }
.admin-search-input:focus { border-color: var(--nv-teal) !important; box-shadow: var(--nv-focus) !important; background: #fff !important; }
.admin-search-icon { color: #8a938f !important; }
.topbar-avatar, .admin-avatar, .sidebar-user-avatar, .nav-user-avatar {
    background: linear-gradient(135deg, var(--nv-teal), var(--nv-teal-700)) !important; color: #fff !important;
}

/* Sidebar: deep ink, teal accents */
.admin-sidebar, .portal-sidebar {
    background: var(--nv-ink) !important;
    border-right: 1px solid rgba(255,255,255,.04) !important;
}
.admin-sidebar-brand, .sidebar-user-card { border-bottom-color: rgba(255,255,255,.06) !important; }
.sidebar-section-label { color: rgba(255,255,255,.38) !important; font-size: .66rem; letter-spacing: .14em; padding-top: 1rem; }
.sidebar-nav-link {
    color: rgba(255,255,255,.72) !important; font-size: .85rem !important; font-weight: 500 !important;
    letter-spacing: 0 !important; border-radius: 10px !important; padding: .62rem .85rem !important;
}
.sidebar-nav-link i { opacity: .85; }
.sidebar-nav-link:hover { color: #fff !important; background: rgba(255,255,255,.06) !important; }
.sidebar-nav-link.active {
    color: #fff !important;
    background: linear-gradient(90deg, rgba(15,181,166,.26), rgba(15,181,166,.10)) !important;
    box-shadow: inset 3px 0 0 var(--nv-teal) !important;
}
.sidebar-nav-link.active i { color: #4ee6d6 !important; opacity: 1; }
.sidebar-sublink { color: rgba(255,255,255,.6) !important; font-size: .8rem !important; }
.sidebar-sublink:hover, .sidebar-sublink.active { color: #4ee6d6 !important; background: rgba(15,181,166,.08) !important; box-shadow: none !important; }
.sidebar-logout-link:hover { color: #ff8a73 !important; background: rgba(255,90,60,.10) !important; }
.sidebar-divider { background: rgba(255,255,255,.06) !important; }

/* Main content */
.admin-main, .portal-main { background: var(--color-bg-alt) !important; padding: clamp(1.25rem, 1rem + 1.2vw, 2.25rem) !important; }
.admin-page-title, .portal-page-title { font-size: clamp(1.4rem, 1.2rem + .6vw, 1.75rem) !important; font-weight: 750 !important; letter-spacing: -.025em; color: var(--nv-ink) !important; }
.admin-breadcrumb, .portal-breadcrumb { font-size: .8rem; }
.admin-breadcrumb a, .portal-breadcrumb a { color: var(--nv-teal-600) !important; }

/* Cards & panels */
.admin-layout .card, .portal-layout .card, .portal-panel, .portal-stat-card, .stat-card, .admin-layout .glass-card, .portal-layout .glass-card {
    background: #fff !important;
    border: 1px solid var(--color-border) !important;
    border-radius: var(--nv-radius) !important;
    box-shadow: var(--shadow-sm) !important;
    transition: box-shadow .3s var(--nv-ease), transform .3s var(--nv-ease), border-color .2s;
}
.admin-layout .card:hover, .portal-layout .card:hover, .portal-stat-card:hover, .stat-card:hover { box-shadow: var(--shadow-md) !important; }
.admin-layout .card-header, .portal-layout .card-header, .portal-panel-header {
    background: transparent !important; border-bottom: 1px solid var(--color-border) !important; padding: 1rem 1.25rem !important;
}
.admin-layout .card-title, .portal-layout .card-title, .panel-title { font-weight: 650 !important; font-size: .975rem !important; letter-spacing: -.01em; color: var(--nv-ink) !important; }
.admin-layout .card-body .fw-bold.mb-1, .stat-value, .portal-layout .card-body h3, .admin-layout .card-body h3 { letter-spacing: -.03em; }

/* Welcome banner */
.dashboard-welcome {
    background:
        radial-gradient(90% 140% at 100% 0%, rgba(15,181,166,.35) 0%, rgba(15,181,166,0) 55%),
        linear-gradient(135deg, var(--nv-ink) 0%, var(--nv-ink-3) 100%) !important;
    border: 1px solid rgba(255,255,255,.04);
}

/* Tables */
.admin-layout .table, .portal-layout .table, .table-custom { --bs-table-hover-bg: #f3f8f7; font-size: .875rem; }
.admin-layout .table thead th, .portal-layout .table thead th, .table-custom thead th, .admin-layout .table-light th, .portal-layout .table-light th {
    background: #f8faf9 !important; color: #5b6561 !important;
    font-size: .7rem !important; font-weight: 650 !important; letter-spacing: .08em; text-transform: uppercase;
    border-bottom: 1px solid var(--color-border) !important; padding-top: .8rem; padding-bottom: .8rem; white-space: nowrap;
}
.admin-layout .table td, .portal-layout .table td { border-color: #eef1f0 !important; padding-top: .8rem; padding-bottom: .8rem; }
.admin-layout .table img, .portal-layout .table img { border-radius: 8px; }

/* Buttons */
.admin-layout .btn, .portal-layout .btn { border-radius: 10px; font-weight: 600; font-size: .875rem; }
.btn-gold, .admin-layout .btn-primary, .portal-layout .btn-primary, .admin-layout .btn-warning, .portal-layout .btn-warning {
    background: var(--nv-teal) !important; border-color: var(--nv-teal) !important; color: #fff !important;
}
.btn-gold:hover, .btn-gold:focus, .admin-layout .btn-primary:hover, .portal-layout .btn-primary:hover,
.admin-layout .btn-warning:hover, .portal-layout .btn-warning:hover {
    background: var(--nv-teal-600) !important; border-color: var(--nv-teal-600) !important; color: #fff !important;
    box-shadow: 0 6px 18px -6px rgba(15,181,166,.6) !important;
}
.btn-outline-gold { color: var(--nv-teal-600) !important; border-color: var(--nv-teal) !important; background: transparent !important; }
.btn-outline-gold:hover { background: var(--nv-teal) !important; color: #fff !important; }
.btn-navy { background: var(--nv-ink) !important; border-color: var(--nv-ink) !important; color: #fff !important; }
.admin-layout .btn-outline-secondary, .portal-layout .btn-outline-secondary { border-color: var(--color-border); color: #3d4643; }
.admin-layout .btn-outline-secondary:hover, .portal-layout .btn-outline-secondary:hover { background: var(--color-bg-alt); color: var(--nv-ink); border-color: #cfd6d3; }

/* Text helpers that were gold */
.text-gold, .admin-layout .text-warning, .portal-layout .text-warning { color: var(--nv-teal-600) !important; }
.bg-gold, .stat-icon-gold { background: var(--nv-teal-50) !important; color: var(--nv-teal-700) !important; }
.stat-icon-navy, .bg-navy { background: #e9eeed !important; color: var(--nv-ink) !important; }
.divider-gold, .title-underline, .hero-gold-line { background: var(--nv-teal) !important; }

/* Badges: soft, readable */
.admin-layout .badge, .portal-layout .badge { font-weight: 600; letter-spacing: .02em; border-radius: 999px; padding: .38em .72em; }
.admin-layout .badge.bg-warning, .portal-layout .badge.bg-warning { background: #fff4d6 !important; color: #8a5a00 !important; }
.admin-layout .badge.bg-success, .portal-layout .badge.bg-success { background: #ddf5ea !important; color: #0f6b43 !important; }
.admin-layout .badge.bg-danger,  .portal-layout .badge.bg-danger  { background: #fde4e1 !important; color: #a8281a !important; }
.admin-layout .badge.bg-info,    .portal-layout .badge.bg-info    { background: #def4f8 !important; color: #0b6475 !important; }
.admin-layout .badge.bg-primary, .portal-layout .badge.bg-primary { background: var(--nv-teal-50) !important; color: var(--nv-teal-700) !important; }
.admin-layout .badge.bg-secondary, .portal-layout .badge.bg-secondary { background: #eceff0 !important; color: #4a5250 !important; }
.admin-layout .badge.bg-dark, .portal-layout .badge.bg-dark { background: var(--nv-ink) !important; color: #fff !important; }
/* keep red notification counters solid */
.admin-layout .badge.rounded-pill.bg-danger, .portal-layout .badge.rounded-pill.bg-danger, .notif-badge { background: var(--nv-coral) !important; color: #fff !important; }

/* Forms */
.admin-layout .form-control, .admin-layout .form-select, .portal-layout .form-control, .portal-layout .form-select {
    border-radius: 10px; border-color: #d9dfdc; font-size: .9rem; padding: .6rem .85rem;
}
.admin-layout .form-control:focus, .admin-layout .form-select:focus, .portal-layout .form-control:focus, .portal-layout .form-select:focus {
    border-color: var(--nv-teal); box-shadow: var(--nv-focus);
}
.admin-layout .form-label, .portal-layout .form-label { font-weight: 600; font-size: .8rem; color: #3d4643; }
.admin-layout .form-check-input:checked, .portal-layout .form-check-input:checked { background-color: var(--nv-teal); border-color: var(--nv-teal); }

/* Pagination, nav tabs, dropdowns */
.admin-layout .page-link, .portal-layout .page-link { color: var(--nv-teal-600); border-color: var(--color-border); }
.admin-layout .page-item.active .page-link, .portal-layout .page-item.active .page-link { background: var(--nv-teal); border-color: var(--nv-teal); color: #fff; }
.admin-layout .nav-tabs .nav-link.active, .portal-layout .nav-tabs .nav-link.active, .order-filter-tab.active { color: var(--nv-teal-700) !important; border-bottom-color: var(--nv-teal) !important; }
.admin-layout .nav-pills .nav-link.active, .portal-layout .nav-pills .nav-link.active { background: var(--nv-teal) !important; }
.admin-layout .dropdown-menu, .portal-layout .dropdown-menu, .notif-dropdown {
    border: 1px solid var(--color-border) !important; border-radius: 12px !important; box-shadow: var(--shadow-lg) !important; padding: .4rem;
}
.admin-layout .dropdown-item, .portal-layout .dropdown-item { border-radius: 8px; font-size: .875rem; }
.admin-layout .dropdown-item:active, .portal-layout .dropdown-item:active { background: var(--nv-teal); }

/* Modals & alerts */
.admin-layout .modal-content, .portal-layout .modal-content { border: 0; border-radius: 18px; box-shadow: 0 30px 80px rgba(12,22,21,.25); }
.flash-alert, .admin-layout .alert, .portal-layout .alert { border-radius: 12px; border-width: 1px; }

/* Empty states */
.empty-state, .notif-empty { color: var(--color-text-muted); }

/* Auth pages (login / register) inherit brand */
.auth-layout .btn-gold, .auth-page .btn-gold { background: var(--nv-teal) !important; color: #fff !important; border-color: var(--nv-teal) !important; }

/* ------------------------------------------------------------------
   4. FIXES
   ------------------------------------------------------------------ */
/* Active filter pills: dark-mode token flip made text invisible */
.public-layout .filter-btn.active, .public-layout .project-filter-btns .active {
    background: var(--color-gold) !important; border-color: var(--color-gold) !important;
    color: #04110f !important; box-shadow: 0 6px 20px -8px rgba(15,181,166,.7) !important;
}
/* Admin/portal brand + sidebar mark */
.admin-brand, .portal-brand { display: inline-flex; align-items: center; background: none !important; padding: 0 !important; }
.admin-sidebar-brand .nav-brand-icon { color: var(--nv-teal) !important; }
.admin-sidebar-brand .sidebar-brand-text { color: rgba(255,255,255,.55) !important; font-size: .7rem !important; letter-spacing: .16em; text-transform: uppercase; }

/* Dark "navy" surfaces: the dark theme flips --color-navy to near-white,
   which turned these sections light while their text stayed white.
   Pin them to true ink in every theme. */
.public-layout .stats-section,
.public-layout .industry-stats-section,
.public-layout .section-dark,
.public-layout .bg-navy,
.public-layout .error-page,
.public-layout .table-custom th {
    background-color: var(--nv-ink) !important;
    color: #e6edeb;
}
:root[data-theme="dark"] .public-layout .stats-section,
:root[data-theme="dark"] .public-layout .industry-stats-section,
:root[data-theme="dark"] .public-layout .section-dark {
    background-color: #0e1a19 !important;
    border-top: 1px solid rgba(255,255,255,.05); border-bottom: 1px solid rgba(255,255,255,.05);
}
@media (prefers-color-scheme: dark) {
    :root:not([data-theme]) .public-layout .stats-section,
    :root:not([data-theme]) .public-layout .industry-stats-section,
    :root:not([data-theme]) .public-layout .section-dark { background-color: #0e1a19 !important; }
}
.public-layout .btn-navy { background: var(--nv-ink) !important; border-color: var(--nv-ink) !important; color: #fff !important; }
:root[data-theme="dark"] .public-layout .btn-navy { background: #eef4f2 !important; border-color: #eef4f2 !important; color: var(--nv-ink) !important; }
