@tailwind base;
@tailwind components;
@tailwind utilities;

[x-cloak] {
    display: none !important;
}

:root {
    --tech-bg: #04043A;
    --tech-bg-soft: #080b46;
    --tech-surface: rgba(17, 21, 79, .92);
    --tech-surface-hover: rgba(23, 28, 97, .98);
    --tech-surface-soft: rgba(13, 17, 71, .94);
    --tech-border: rgba(255,255,255,.12);
    --tech-border-strong: rgba(255,255,255,.22);
    --tech-text: rgba(255,255,255,.94);
    --tech-text-soft: rgba(255,255,255,.68);
    --tech-text-muted: rgba(255,255,255,.48);
    --tech-primary: #f04b16;
    --tech-primary-hover: #d93e0d;
    --tech-danger: #ef4444;
    --tech-success: #10b981;
    --tech-focus: rgba(59,130,246,.45);
    --tech-accent: #f04b16;
}

html.theme-light {
    --tech-bg: #f5f8ff;
    --tech-bg-soft: #eaf0ff;
    --tech-surface: rgba(255,255,255,.94);
    --tech-surface-hover: rgba(248,250,255,.98);
    --tech-surface-soft: rgba(255,255,255,.90);
    --tech-border: rgba(15,23,42,.10);
    --tech-border-strong: rgba(37,99,235,.25);
    --tech-text: #111827;
    --tech-text-soft: #475569;
    --tech-text-muted: #64748b;
    --tech-focus: rgba(37,99,235,.25);
    --tech-accent: #f04b16;
}

@layer base {
    html {
        font-family: 'Figtree', sans-serif;
        min-height: 100%;
        background: var(--tech-bg);
    }

    body {
        margin: 0;
        min-height: 100%;
        color: var(--tech-text);
        background:
            radial-gradient(circle at 18% 20%, rgba(255,255,255,0.08), transparent 28%),
            radial-gradient(circle at 82% 78%, rgba(70,90,255,0.16), transparent 30%),
            var(--tech-bg);
        transition: background-color .2s ease, color .2s ease;
    }

    html.theme-light body {
        background:
            radial-gradient(circle at 18% 20%, rgba(59,130,246,.10), transparent 30%),
            radial-gradient(circle at 82% 78%, rgba(99,102,241,.10), transparent 32%),
            var(--tech-bg);
    }

    input, select, textarea {
        color-scheme: dark;
    }

    html.theme-light input,
    html.theme-light select,
    html.theme-light textarea {
        color-scheme: light;
    }
}

@layer components {

    .tech-page {
        @apply py-8 sm:py-10;
    }

    .tech-page-content {
        @apply mx-auto w-full max-w-7xl px-4 sm:px-6 lg:px-8;
    }

    .tech-page-header {
        background: color-mix(in srgb, var(--tech-surface) 82%, transparent);
        border-bottom: 1px solid var(--tech-border);
    }

    .tech-panel {
        @apply rounded-xl;
        background: var(--tech-surface);
        border: 1px solid var(--tech-border);
        color: var(--tech-text);
    }

    .tech-panel-soft {
        @apply rounded-xl;
        background: var(--tech-surface-soft);
        border: 1px solid var(--tech-border);
        color: var(--tech-text);
    }

    .tech-field {
        @apply w-full rounded-xl outline-none transition;
        min-height: 42px;
        background: var(--tech-surface);
        border: 1px solid var(--tech-border);
        color: var(--tech-text);
    }

    .tech-field:focus {
        border-color: var(--tech-border-strong);
        box-shadow: 0 0 0 3px var(--tech-focus);
    }

    .tech-action-link {
        @apply inline-flex items-center gap-2 text-sm font-medium transition;
        color: var(--tech-text-soft);
    }

    .tech-action-link:hover {
        color: var(--tech-text);
    }


    .tech-panel > summary::-webkit-details-marker {
        display: none;
    }

    .tech-panel > summary {
        list-style: none;
    }

    .tech-panel > summary:focus-visible {
        outline: 2px solid var(--tech-primary);
        outline-offset: -2px;
    }

    .theme-light .tech-panel .bg-\[\#0d1147\]\/55 {
        background: rgba(248,250,255,.92);
    }

    .tech-table-wrap {
        @apply overflow-hidden rounded-xl;
        background: var(--tech-surface);
        border: 1px solid var(--tech-border);
    }

    .tech-table thead {
        background: var(--tech-surface-soft);
        border-bottom: 1px solid var(--tech-border);
    }

    .tech-table th {
        color: var(--tech-text-soft);
    }

    .tech-table tbody {
        border-color: var(--tech-border);
    }

    .tech-table tbody tr {
        border-color: var(--tech-border);
    }

    .tech-table tbody tr:hover {
        background: var(--tech-surface-hover);
    }

    .tech-status-success {
        @apply inline-flex items-center rounded-lg px-2.5 py-1 text-xs font-semibold;
        color: #34d399;
        background: rgba(16,185,129,.14);
    }

    .tech-status-warning {
        @apply inline-flex items-center rounded-lg px-2.5 py-1 text-xs font-semibold;
        color: #fbbf24;
        background: rgba(245,158,11,.14);
    }

    .tech-status-danger {
        @apply inline-flex items-center rounded-lg px-2.5 py-1 text-xs font-semibold;
        color: #f87171;
        background: rgba(239,68,68,.14);
    }

    .theme-light .tech-status-success {
        color: #047857;
        background: #d1fae5;
    }

    .theme-light .tech-status-warning {
        color: #b45309;
        background: #fef3c7;
    }

    .theme-light .tech-status-danger {
        color: #b91c1c;
        background: #fee2e2;
    }

    .theme-light .tech-page-header {
        background: rgba(255,255,255,.88);
    }

    .theme-light .tech-table-wrap {
        box-shadow: 0 8px 30px rgba(30,64,175,.06);
    }

    /* Normalize legacy page classes so older views visually inherit the system. */
    .tech-page-content .bg-\[\#11154f\]\/85,
    .tech-page-content .bg-\[\#11154f\]\/90,
    .tech-page-content .bg-\[\#11154f\]\/92,
    .tech-page-content .bg-\[\#11154f\]\/95,
    .tech-page-content .bg-\[\#0d1147\]\/90,
    .tech-page-content .bg-\[\#090d43\]\/90 {
        background: var(--tech-surface);
    }

    .theme-light .tech-page-content .bg-\[\#11154f\]\/85,
    .theme-light .tech-page-content .bg-\[\#11154f\]\/90,
    .theme-light .tech-page-content .bg-\[\#11154f\]\/92,
    .theme-light .tech-page-content .bg-\[\#11154f\]\/95,
    .theme-light .tech-page-content .bg-\[\#0d1147\]\/90,
    .theme-light .tech-page-content .bg-\[\#090d43\]\/90 {
        background: var(--tech-surface);
    }

    .tech-grid {
        background-image:
            linear-gradient(rgba(255,255,255,0.035) 1px, transparent 1px),
            linear-gradient(90deg, rgba(255,255,255,0.035) 1px, transparent 1px);
        background-size: 36px 36px;
    }

    .theme-light .tech-grid {
        background-image:
            linear-gradient(rgba(37,99,235,.055) 1px, transparent 1px),
            linear-gradient(90deg, rgba(37,99,235,.055) 1px, transparent 1px);
    }

    .tech-card {
        @apply rounded-xl backdrop-blur-md;
        background: var(--tech-surface);
        border: 1px solid var(--tech-border);
        color: var(--tech-text);
    }

    .tech-card-hover {
        @apply transition duration-200 hover:-translate-y-0.5;
    }

    .tech-card-hover:hover {
        background: var(--tech-surface-hover);
        border-color: var(--tech-border-strong);
    }

    .tech-input {
        @apply w-full rounded-xl outline-none transition;
        background: var(--tech-surface);
        border: 1px solid var(--tech-border);
        color: var(--tech-text);
    }

    .tech-input::placeholder {
        color: var(--tech-text-muted);
    }

    .tech-input:focus {
        border-color: var(--tech-border-strong);
        box-shadow: 0 0 0 3px var(--tech-focus);
    }

    /* One consistent button system */
    .tech-btn {
        @apply inline-flex items-center justify-center gap-2 rounded-xl text-sm font-semibold transition duration-150 ease-out focus:outline-none disabled:cursor-not-allowed disabled:opacity-45;
        min-height: 42px;
        padding: .625rem 1rem;
        border: 1px solid transparent;
    }

    .tech-btn-primary {
        color: #fff;
        background: var(--tech-primary);
        box-shadow: 0 5px 16px rgba(37,99,235,.18);
    }

    .tech-btn-primary:hover {
        background: var(--tech-primary-hover);
        transform: translateY(-1px);
        box-shadow: 0 8px 20px rgba(37,99,235,.24);
    }

    .tech-btn-secondary {
        color: var(--tech-text);
        background: var(--tech-surface);
        border-color: var(--tech-border-strong);
    }

    .tech-btn-secondary:hover {
        background: var(--tech-surface-hover);
        transform: translateY(-1px);
    }

    .tech-btn-danger {
        color: #fff;
        background: var(--tech-danger);
        box-shadow: 0 5px 16px rgba(239,68,68,.16);
    }

    .tech-btn-danger:hover {
        background: #f05252;
        transform: translateY(-1px);
    }

    .tech-btn-success {
        color: #fff;
        background: var(--tech-success);
        box-shadow: 0 5px 16px rgba(16,185,129,.16);
    }

    .tech-btn-success:hover {
        background: #16c784;
        transform: translateY(-1px);
    }

    .tech-btn-ghost {
        color: var(--tech-text-soft);
        background: transparent;
        border-color: transparent;
    }

    .tech-btn-ghost:hover {
        color: var(--tech-text);
        background: var(--tech-surface);
    }

    .tech-icon-btn {
        @apply inline-flex items-center justify-center rounded-xl transition focus:outline-none;
        width: 42px;
        height: 42px;
        color: var(--tech-text-soft);
        background: var(--tech-surface);
        border: 1px solid var(--tech-border);
    }

    .tech-icon-btn:hover {
        color: var(--tech-text);
        background: var(--tech-surface-hover);
        border-color: var(--tech-border-strong);
    }

    .tech-label {
        color: var(--tech-text-soft);
        @apply text-sm font-medium;
    }

    .tech-muted {
        color: var(--tech-text-muted);
    }

    .tech-theme-toggle {
        @apply relative inline-flex items-center justify-center rounded-xl transition;
        width: 42px;
        height: 42px;
        color: var(--tech-text-soft);
        background: var(--tech-surface);
        border: 1px solid var(--tech-border);
    }

    .tech-theme-toggle:hover {
        color: var(--tech-text);
        background: var(--tech-surface-hover);
        border-color: var(--tech-border-strong);
    }

    /* Existing Tailwind classes in older views inherit the theme cleanly. */
    .theme-light [class~="bg-[#04043A]"],
    .theme-light [class~="bg-[#070a3f]"],
    .theme-light [class~="bg-[#11154f]"],
    .theme-light [class~="bg-[#0d1147]"],
    .theme-light [class~="bg-[#090d43]"],
    .theme-light [class~="bg-slate-900"],
    .theme-light [class~="bg-gray-800"],
    .theme-light [class~="bg-gray-900"] {
        background-color: var(--tech-surface) !important;
    }

    .theme-light [class~="text-white"],
    .theme-light [class~="text-white/90"],
    .theme-light [class~="text-white/80"],
    .theme-light [class~="text-white/75"],
    .theme-light [class~="text-white/70"],
    .theme-light [class~="text-white/60"],
    .theme-light [class~="text-white/50"],
    .theme-light [class~="text-white/40"] {
        color: var(--tech-text) !important;
    }

    .theme-light [class~="border-white/10"],
    .theme-light [class~="border-white/15"],
    .theme-light [class~="border-white/20"] {
        border-color: var(--tech-border) !important;
    }

    /* Navigation stays dark in light mode, so navigation text remains white. */
    .theme-light nav [class~="text-white"],
    .theme-light nav [class~="text-white/90"],
    .theme-light nav [class~="text-white/80"],
    .theme-light nav [class~="text-white/70"],
    .theme-light nav [class~="text-white/60"],
    .theme-light nav [class~="text-white/50"],
    .theme-light nav [class~="text-white/40"] {
        color: #ffffff !important;
    }
}

    .tech-logo {
        color: #ffffff;
    }

    
/* ================================================================
   MAN PRINT & SIGN SKIN
   A single visual system for cards, buttons, tables, forms and icons.
   ================================================================ */

html.man-skin {
    --man-navy: #070744;
    --man-navy-2: #0b0b5b;
    --man-orange: #e84b1c;
    --man-orange-hover: #cf3f14;
    --man-orange-soft: #fff0ea;
    --man-green: #1fa66a;
}

html.man-skin.theme-light {
    --tech-bg: #f6f7fa;
    --tech-bg-soft: #eef0f5;
    --tech-surface: #ffffff;
    --tech-surface-hover: #f8f9fb;
    --tech-surface-soft: #f4f5f8;
    --tech-border: #d9dce5;
    --tech-border-strong: #b9bdca;
    --tech-text: var(--man-navy);
    --tech-text-soft: #3f4561;
    --tech-text-muted: #72778d;
    --tech-primary: var(--man-orange);
    --tech-primary-hover: var(--man-orange-hover);
    --tech-focus: rgba(232,75,28,.22);
    --tech-accent: var(--man-orange);
    --man-icon-bg: var(--man-orange-soft);
    --man-icon-color: var(--man-orange);
    --man-button-text: #ffffff;
}

html.man-skin:not(.theme-light) {
    --tech-bg: #050532;
    --tech-bg-soft: #080846;
    --tech-surface: #0a0a42;
    --tech-surface-hover: #101052;
    --tech-surface-soft: #0d0d4d;
    --tech-border: rgba(255,255,255,.14);
    --tech-border-strong: rgba(255,255,255,.26);
    --tech-text: #ffffff;
    --tech-text-soft: #dedff0;
    --tech-text-muted: #a6a8c2;
    --tech-primary: var(--man-orange);
    --tech-primary-hover: var(--man-orange-hover);
    --tech-focus: rgba(232,75,28,.35);
    --tech-accent: #ff6a37;
    --man-icon-bg: rgba(232,75,28,.14);
    --man-icon-color: #ff7040;
    --man-button-text: var(--man-navy);
}

html.man-skin body {
    background: var(--tech-bg);
    color: var(--tech-text);
}

html.man-skin .tech-grid {
    background-image: none;
}

html.man-skin .tech-page-header {
    background: var(--tech-surface);
    border-bottom-color: var(--tech-border);
}

html.man-skin.theme-light nav {
    background: #ffffff !important;
    border-bottom-color: var(--tech-border) !important;
}

html.man-skin:not(.theme-light) nav {
    background: var(--man-navy) !important;
    border-bottom-color: rgba(255,255,255,.12) !important;
}

html.man-skin.theme-light .tech-logo {
    color: var(--man-navy);
}

html.man-skin:not(.theme-light) .tech-logo {
    color: #ffffff;
}

html.man-skin nav .text-white,
html.man-skin nav .text-white\/90,
html.man-skin nav .text-white\/80,
html.man-skin nav .text-white\/70,
html.man-skin nav .text-white\/60 {
    color: var(--tech-text) !important;
}

html.man-skin:not(.theme-light) nav .text-white,
html.man-skin:not(.theme-light) nav .text-white\/90,
html.man-skin:not(.theme-light) nav .text-white\/80,
html.man-skin:not(.theme-light) nav .text-white\/70,
html.man-skin:not(.theme-light) nav .text-white\/60 {
    color: #ffffff !important;
}

/* Core surfaces */
html.man-skin .tech-panel,
html.man-skin .tech-panel-soft,
html.man-skin .tech-card,
html.man-skin .tech-table-wrap {
    background: var(--tech-surface) !important;
    border-color: var(--tech-border) !important;
    color: var(--tech-text) !important;
    box-shadow: none;
}

html.man-skin .tech-panel:hover,
html.man-skin .tech-card-hover:hover {
    border-color: var(--tech-border-strong) !important;
    background: var(--tech-surface-hover) !important;
}

/* One button language everywhere */
html.man-skin .tech-btn,
html.man-skin button[class*="rounded-lg"][class*="bg-"],
html.man-skin button[class*="rounded-xl"][class*="bg-"],
html.man-skin input[type="submit"],
html.man-skin input[type="button"] {
    border-radius: 10px !important;
    min-height: 42px;
    font-weight: 600;
    box-shadow: none !important;
}

html.man-skin .tech-btn-primary,
html.man-skin button[class*="bg-blue-600"],
html.man-skin button[class*="bg-indigo-600"],
html.man-skin button[class*="bg-emerald-600"],
html.man-skin button[class*="bg-green-600"] {
    background: var(--tech-primary) !important;
    color: var(--man-button-text) !important;
    border-color: var(--tech-primary) !important;
}

html.man-skin .tech-btn-primary:hover,
html.man-skin button[class*="bg-blue-600"]:hover,
html.man-skin button[class*="bg-indigo-600"]:hover,
html.man-skin button[class*="bg-emerald-600"]:hover,
html.man-skin button[class*="bg-green-600"]:hover {
    background: var(--tech-primary-hover) !important;
    border-color: var(--tech-primary-hover) !important;
}

html.man-skin .tech-btn-secondary,
html.man-skin .tech-btn:not(.tech-btn-primary):not(.tech-btn-danger):not(.tech-btn-success):not(.tech-btn-ghost) {
    background: var(--tech-surface) !important;
    color: var(--tech-text) !important;
    border-color: var(--tech-border-strong) !important;
}

html.man-skin .tech-btn-success {
    background: var(--man-green) !important;
    color: #ffffff !important;
}

html.man-skin .tech-btn-danger {
    background: #c9352b !important;
    color: #ffffff !important;
}

html.man-skin .tech-btn-ghost {
    background: transparent !important;
    color: var(--tech-text-soft) !important;
}

/* Existing raw Tailwind action links/buttons inherit the same language. */
html.man-skin a[class*="bg-blue-600"],
html.man-skin a[class*="bg-indigo-600"] {
    background: var(--tech-primary) !important;
    color: var(--man-button-text) !important;
    border-radius: 10px !important;
}

html.man-skin a[class*="bg-green-600"],
html.man-skin a[class*="bg-emerald-600"] {
    background: var(--man-orange) !important;
    color: #ffffff !important;
    border-radius: 10px !important;
}

/* Forms */
html.man-skin input,
html.man-skin select,
html.man-skin textarea,
html.man-skin .tech-field,
html.man-skin .tech-input {
    background: var(--tech-surface) !important;
    color: var(--tech-text) !important;
    border-color: var(--tech-border) !important;
}

html.man-skin input::placeholder,
html.man-skin textarea::placeholder {
    color: var(--tech-text-muted) !important;
}

html.man-skin input:focus,
html.man-skin select:focus,
html.man-skin textarea:focus,
html.man-skin .tech-field:focus,
html.man-skin .tech-input:focus {
    border-color: var(--man-orange) !important;
    box-shadow: 0 0 0 3px var(--tech-focus) !important;
}

/* Tables: fixed, quiet and consistent. */
html.man-skin .tech-table {
    color: var(--tech-text);
}

html.man-skin .tech-table thead,
html.man-skin .tech-table thead tr {
    background: var(--tech-surface-soft) !important;
    border-color: var(--tech-border) !important;
}

html.man-skin .tech-table th {
    color: var(--tech-text-muted) !important;
    font-weight: 600;
    letter-spacing: .025em;
}

html.man-skin .tech-table td,
html.man-skin .tech-table tbody tr {
    border-color: var(--tech-border) !important;
}

html.man-skin .tech-table tbody tr:hover {
    background: var(--tech-surface-hover) !important;
}

/* MAN orange icon tiles: same size, background and icon colour everywhere. */
html.man-skin [class*="bg-blue-500/10"],
html.man-skin [class*="bg-blue-600/10"],
html.man-skin [class*="bg-indigo-500/10"],
html.man-skin [class*="bg-indigo-600/10"],
html.man-skin [class*="bg-red-500/10"],
html.man-skin [class*="bg-green-500/10"],
html.man-skin [class*="bg-emerald-500/10"],
html.man-skin [class*="bg-[#04043A]/10"],
html.man-skin [class*="bg-[#11154f]/85/10"] {
    background: var(--man-icon-bg) !important;
    color: var(--man-icon-color) !important;
}

html.man-skin [class*="bg-blue-500/10"] svg,
html.man-skin [class*="bg-blue-600/10"] svg,
html.man-skin [class*="bg-indigo-500/10"] svg,
html.man-skin [class*="bg-indigo-600/10"] svg,
html.man-skin [class*="bg-red-500/10"] svg,
html.man-skin [class*="bg-green-500/10"] svg,
html.man-skin [class*="bg-emerald-500/10"] svg,
html.man-skin [class*="bg-[#04043A]/10"] svg,
html.man-skin [class*="bg-[#11154f]/85/10"] svg {
    color: var(--man-icon-color) !important;
}

html.man-skin .group:hover [class*="bg-blue-500/10"],
html.man-skin .group:hover [class*="bg-blue-600/10"],
html.man-skin .group:hover [class*="bg-[#04043A]/10"] {
    background: var(--man-orange) !important;
    color: #ffffff !important;
}

html.man-skin .group:hover [class*="bg-blue-500/10"] svg,
html.man-skin .group:hover [class*="bg-blue-600/10"] svg,
html.man-skin .group:hover [class*="bg-[#04043A]/10"] svg {
    color: #ffffff !important;
}

/* Blue/indigo links become MAN orange; red remains reserved for errors. */
html.man-skin a[class*="text-blue-"],
html.man-skin a[class*="text-indigo-"] {
    color: var(--man-orange) !important;
}

html.man-skin a[class*="text-blue-"]:hover,
html.man-skin a[class*="text-indigo-"]:hover {
    color: var(--man-orange-hover) !important;
}

/* Legacy dark Tailwind surfaces in older views. */
html.man-skin [class~="bg-gray-800"],
html.man-skin [class~="bg-gray-900"],
html.man-skin [class~="bg-slate-900"],
html.man-skin [class~="bg-slate-800"],
html.man-skin [class~="bg-slate-700"] {
    background: var(--tech-surface-soft) !important;
}

html.man-skin [class~="text-white"],
html.man-skin [class~="text-white/90"],
html.man-skin [class~="text-white/80"],
html.man-skin [class~="text-white/75"],
html.man-skin [class~="text-white/70"],
html.man-skin [class~="text-white/60"],
html.man-skin [class~="text-white/50"],
html.man-skin [class~="text-white/40"] {
    color: var(--tech-text) !important;
}

html.man-skin:not(.theme-light) [class~="text-white"],
html.man-skin:not(.theme-light) [class~="text-white/90"],
html.man-skin:not(.theme-light) [class~="text-white/80"],
html.man-skin:not(.theme-light) [class~="text-white/75"],
html.man-skin:not(.theme-light) [class~="text-white/70"],
html.man-skin:not(.theme-light) [class~="text-white/60"],
html.man-skin:not(.theme-light) [class~="text-white/50"],
html.man-skin:not(.theme-light) [class~="text-white/40"] {
    color: #ffffff !important;
}

html.man-skin [class~="border-white/10"],
html.man-skin [class~="border-white/15"],
html.man-skin [class~="border-white/20"] {
    border-color: var(--tech-border) !important;
}

html.man-skin [class~="bg-gray-200"],
html.man-skin [class~="bg-gray-100"],
html.man-skin [class~="bg-slate-100"],
html.man-skin [class~="bg-slate-200"] {
    background: var(--tech-surface-soft) !important;
}

html.man-skin [class~="text-slate-900"],
html.man-skin [class~="text-slate-800"],
html.man-skin [class~="text-slate-700"],
html.man-skin [class~="text-slate-600"],
html.man-skin [class~="text-slate-500"],
html.man-skin [class~="text-slate-400"],
html.man-skin [class~="text-gray-900"],
html.man-skin [class~="text-gray-800"],
html.man-skin [class~="text-gray-700"],
html.man-skin [class~="text-gray-600"],
html.man-skin [class~="text-gray-500"] {
    color: var(--tech-text-soft) !important;
}

html.man-skin.theme-light [class~="text-slate-900"],
html.man-skin.theme-light [class~="text-gray-900"] {
    color: var(--man-navy) !important;
}

/* Feedback/status blocks keep their meaning but fit the new surfaces. */
html.man-skin [class*="bg-green-50"],
html.man-skin [class*="bg-emerald-50"] {
    background: rgba(31,166,106,.10) !important;
}

html.man-skin [class*="bg-red-50"],
html.man-skin [class*="bg-red-950"] {
    background: rgba(201,53,43,.09) !important;
}

/* The MAN skin's own theme selector. */
html.man-skin .theme-choice {
    position: relative;
    display: flex;
    align-items: center;
    gap: 1rem;
    padding: 1rem;
    border: 1px solid var(--tech-border);
    border-radius: 12px;
    background: var(--tech-surface);
    cursor: pointer;
    transition: .15s ease;
}

html.man-skin .theme-choice:hover,
html.man-skin .theme-choice.is-selected {
    border-color: var(--man-orange);
    box-shadow: 0 0 0 2px rgba(232,75,28,.12);
}

html.man-skin .theme-choice-body {
    display: grid;
    gap: .25rem;
}

html.man-skin .theme-choice-body small {
    color: var(--tech-text-muted);
}

html.man-skin .theme-preview {
    width: 96px;
    height: 64px;
    flex: 0 0 96px;
    border-radius: 9px;
    padding: 8px;
    display: grid;
    grid-template-columns: 1fr 2fr;
    grid-template-rows: 10px 1fr;
    gap: 5px;
    overflow: hidden;
}

html.man-skin .theme-preview span {
    border-radius: 3px;
}

html.man-skin .theme-preview span:nth-child(1) { grid-column: 1 / -1; }
html.man-skin .theme-preview span:nth-child(2) { grid-row: 2; }
html.man-skin .theme-preview span:nth-child(3) { grid-row: 2; }
html.man-skin .theme-preview-techhub { background: #080846; }
html.man-skin .theme-preview-techhub span:nth-child(1) { background: #15155f; }
html.man-skin .theme-preview-techhub span:nth-child(2) { background: #0d0d4d; }
html.man-skin .theme-preview-techhub span:nth-child(3) { background: #2684ff; }
html.man-skin .theme-preview-manprint { background: #f6f7fa; }
html.man-skin .theme-preview-manprint span:nth-child(1) { background: #070744; }
html.man-skin .theme-preview-manprint span:nth-child(2) { background: #ffffff; border: 1px solid #d9dce5; }
html.man-skin .theme-preview-manprint span:nth-child(3) { background: #e84b1c; }

@media (max-width: 640px) {
    html.man-skin .theme-preview {
        width: 78px;
        flex-basis: 78px;
    }
}

/* Remaining legacy hard-coded MAN/TechHub surfaces are normalized here so
   older views do not introduce a second visual language. */
html.man-skin [class*="bg-[#11154f]"],
html.man-skin [class*="bg-[#0d1147]"],
html.man-skin [class*="bg-[#090d43]"],
html.man-skin [class*="bg-[#070a3f]"],
html.man-skin [class*="bg-[#04043A]"] {
    background: var(--tech-surface) !important;
    color: var(--tech-text);
}

html.man-skin:not(.theme-light) [class*="bg-[#04043A]"] {
    background: var(--man-navy) !important;
    color: #ffffff;
}

html.man-skin [class*="hover:bg-[#171c61]"]:hover,
html.man-skin [class*="hover:bg-[#0d1147]"]:hover,
html.man-skin [class*="focus:bg-[#0d1147"]:focus {
    background: var(--tech-surface-hover) !important;
}

html.man-skin [class*="text-[#04043A]"],
html.man-skin [class*="text-[#0c0c45]"],
html.man-skin [class*="text-blue-"],
html.man-skin [class*="text-indigo-"] {
    color: var(--tech-text) !important;
}

html.man-skin a[class*="text-[#04043A]"],
html.man-skin a[class*="text-blue-"],
html.man-skin a[class*="text-indigo-"] {
    color: var(--man-orange) !important;
}

html.man-skin [class*="focus:border-[#04043A]"]:focus,
html.man-skin [class*="focus:ring-[#04043A"]:focus {
    border-color: var(--man-orange) !important;
    --tw-ring-color: var(--man-orange) !important;
}

html.man-skin [class*="bg-gray-800/"],
html.man-skin [class*="bg-gray-800"] {
    background: var(--tech-surface-soft) !important;
}

/* ================================================================
   MAN TECHHUB UI PASS — consistent navigation, accent and controls
   ================================================================ */
html.man-skin {
    --tech-primary: var(--man-orange);
    --tech-primary-hover: var(--man-orange-hover);
    --tech-accent: var(--man-orange);
    --tech-focus: rgba(232,75,28,.20);
}

html.man-skin:not(.theme-light) {
    --tech-primary: var(--man-orange);
    --tech-primary-hover: #f15b2c;
}

html.man-skin .man-nav {
    background: var(--tech-surface) !important;
    border-bottom: 1px solid var(--tech-border);
    color: var(--tech-text);
    box-shadow: 0 1px 0 rgba(15,23,42,.03);
}

html.man-skin .man-nav-inner {
    min-height: 96px;
    max-width: 1280px;
    margin: 0 auto;
    padding: .55rem 1rem;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
}

@media (min-width: 640px) {
    html.man-skin .man-nav-inner { padding-left: 1.5rem; padding-right: 1.5rem; }
}
@media (min-width: 1024px) {
    html.man-skin .man-nav-inner { padding-left: 2rem; padding-right: 2rem; }
}

.man-nav-brand { display:flex; align-items:center; flex:0 0 auto; }
.man-nav-logo { width: 112px; height: 70px; color: var(--man-navy); }
.man-nav-logo .logo-line { fill:none; stroke:currentColor; stroke-width:.75; stroke-linejoin:round; stroke-linecap:round; vector-effect:non-scaling-stroke; }
html.man-skin:not(.theme-light) .man-nav-logo { color:#fff; }

.man-nav-links { align-items:center; gap:.15rem; margin-left:1rem; }
.man-nav-link {
    position:relative;
    display:inline-flex;
    align-items:center;
    min-height:42px;
    padding:.55rem .7rem;
    border-radius:9px;
    color:var(--tech-text-soft);
    font-size:.875rem;
    font-weight:600;
    transition:.15s ease;
}
.man-nav-link:hover { color:var(--tech-text); background:var(--tech-surface-hover); }
.man-nav-link.is-active { color:var(--man-orange) !important; }
.man-nav-link.is-active::after { content:""; position:absolute; left:.7rem; right:.7rem; bottom:2px; height:2px; border-radius:99px; background:var(--man-orange); }

/* Apps dropdown: isolate it from generic button/link rules and keep contrast explicit. */
.man-apps-trigger {
    appearance: none !important;
    -webkit-appearance: none !important;
    position: relative;
    display: inline-flex !important;
    align-items: center;
    gap: .5rem;
    min-height: 42px;
    padding: .55rem .7rem;
    border: 0 !important;
    border-radius: 9px;
    background: transparent !important;
    box-shadow: none !important;
    color: var(--tech-text-soft) !important;
    font: inherit;
    font-size: .875rem;
    font-weight: 600;
    line-height: 1.25rem;
    cursor: pointer;
}
.man-apps-trigger:hover,
.man-apps-trigger:focus-visible { background: var(--tech-surface-hover) !important; color: var(--tech-text) !important; outline: 2px solid var(--man-orange); outline-offset: 1px; }
.man-apps-trigger.is-active { color: var(--man-orange) !important; }
.man-apps-trigger.is-active::after { content: ""; position: absolute; left: .7rem; right: .7rem; bottom: 2px; height: 2px; border-radius: 99px; background: var(--man-orange); }
.man-apps-menu {
    min-width: 16rem;
    color: #f8fafc !important;
    background: #11152b !important;
    border: 1px solid #39415b !important;
    border-radius: 12px;
    opacity: 1 !important;
    backdrop-filter: none !important;
    isolation: isolate;
    overflow: hidden;
    z-index: 100;
}
.man-apps-menu-heading {
    padding: .55rem .75rem .3rem;
    margin-top: .2rem;
    color: #aab4ca;
    font-size: .67rem;
    font-weight: 800;
    letter-spacing: .075em;
    line-height: 1.2;
    text-transform: uppercase;
}
.man-apps-menu-heading:not(:first-child) {
    border-top: 1px solid rgba(148,163,184,.18);
    margin-top: .45rem;
    padding-top: .7rem;
}
html.man-skin.theme-light .man-apps-menu-heading {
    color: #697386;
    border-color: #e6e8ee;
}
.man-apps-menu-item,
.man-apps-menu-item:visited { display: block; width: 100%; color: #f8fafc !important; background: transparent; text-decoration: none; }
.man-apps-menu-item:hover,
.man-apps-menu-item:focus-visible { color: #ffffff !important; background: rgba(255,255,255,.10) !important; outline: none; }
.man-apps-menu-item.is-active { color: #ff744b !important; background: rgba(232,75,28,.12) !important; }
html.man-skin.theme-light .man-apps-menu { background: #ffffff !important; border-color: #d9dce5 !important; color: #111827 !important; }
html.man-skin.theme-light .man-apps-menu-item,
html.man-skin.theme-light .man-apps-menu-item:visited { color: #172033 !important; }
html.man-skin.theme-light .man-apps-menu-item:hover,
html.man-skin.theme-light .man-apps-menu-item:focus-visible { color: #b93812 !important; background: #fff0ea !important; }


.man-nav-manage {
    display:inline-flex; align-items:center; justify-content:center; min-height:38px;
    padding:.45rem .8rem; border:1px solid var(--tech-border-strong); border-radius:9px;
    color:var(--tech-text); background:var(--tech-surface); font-size:.8rem; font-weight:700;
    transition:.15s ease;
}
.man-nav-manage:hover { border-color:var(--man-orange); color:var(--man-orange); }

.man-user-button {
    display:inline-flex; align-items:center; gap:.55rem; min-height:42px; padding:.3rem .5rem .3rem .35rem;
    border:1px solid transparent; border-radius:11px; color:var(--tech-text); font-size:.875rem; font-weight:650; transition:.15s ease;
}
.man-user-button:hover { background:var(--tech-surface-hover); border-color:var(--tech-border); }
.man-user-avatar { width:79px; height:79px; flex:0 0 79px; border-radius:999px; display:flex; align-items:center; justify-content:center; background:var(--man-navy); color:#fff; font-size:.75rem; font-weight:700; border:0 !important; }
.man-user-avatar.object-cover { background:transparent !important; border:0 !important; padding:0 !important; }
html.man-skin:not(.theme-light) .man-user-avatar { background:#fff; color:var(--man-navy); }
.man-user-menu { position:absolute; right:0; top:calc(100% + .45rem); width:220px; padding:.45rem; border:1px solid var(--tech-border); border-radius:12px; background:var(--tech-surface); box-shadow:0 18px 45px rgba(15,23,42,.16); z-index:60; }
.man-user-menu a, .man-user-menu button { display:block; width:100%; padding:.65rem .75rem; border-radius:8px; color:var(--tech-text); font-size:.85rem; text-align:left; }
.man-user-menu a:hover, .man-user-menu button:hover { background:var(--tech-surface-hover); color:var(--man-orange); }
.man-user-menu div { margin:.35rem 0; border-top:1px solid var(--tech-border); }
.man-mobile-toggle { width:42px; height:42px; display:inline-flex; align-items:center; justify-content:center; border:1px solid var(--tech-border); border-radius:10px; color:var(--tech-text); background:var(--tech-surface); }
.man-mobile-menu { background:var(--tech-surface); border-top:1px solid var(--tech-border); box-shadow:0 14px 28px rgba(15,23,42,.08); }
.man-mobile-link { display:flex; align-items:center; min-height:42px; padding:.65rem .8rem; border-radius:9px; color:var(--tech-text); font-size:.875rem; font-weight:600; }
.man-mobile-link:hover { background:var(--tech-surface-hover); color:var(--man-orange); }

/* Make the MAN orange a real secondary/accent colour across legacy views. */
html.man-skin [class*="text-blue-"],
html.man-skin [class*="text-indigo-"] { color:var(--man-orange) !important; }
html.man-skin [class*="bg-blue-500/10"],
html.man-skin [class*="bg-blue-600/10"],
html.man-skin [class*="bg-indigo-500/10"],
html.man-skin [class*="bg-indigo-600/10"] { background:var(--man-orange-soft) !important; color:var(--man-orange) !important; }
html.man-skin [class*="bg-blue-500/10"] svg,
html.man-skin [class*="bg-blue-600/10"] svg,
html.man-skin [class*="bg-indigo-500/10"] svg,
html.man-skin [class*="bg-indigo-600/10"] svg { color:var(--man-orange) !important; }
html.man-skin .tech-btn-primary { background:var(--man-orange) !important; border-color:var(--man-orange) !important; color:#fff !important; }
html.man-skin .tech-btn-primary:hover { background:var(--man-orange-hover) !important; border-color:var(--man-orange-hover) !important; }

/* Image uploader: use the site's own button language instead of plugin defaults. */
html.man-skin .tech-image-upload .fileuploader-input,
html.man-skin .tech-image-upload .fileuploader-thumbnails-input { border-color:var(--tech-border-strong) !important; background:var(--tech-surface-soft) !important; border-radius:10px !important; }
html.man-skin .tech-image-upload .fileuploader-input-button,
html.man-skin .tech-image-upload .fileuploader-input-button span,
html.man-skin .tech-image-upload .fileuploader-thumbnails-input-inner { background:var(--man-orange) !important; color:#fff !important; border-radius:8px !important; }
html.man-skin .tech-image-upload .fileuploader-input-button:hover { background:var(--man-orange-hover) !important; }
html.man-skin .tech-image-upload .fileuploader-input-caption { color:var(--tech-text-soft) !important; }
html.man-skin .tech-image-upload .fileuploader-item-inner { background:var(--tech-surface) !important; border-color:var(--tech-border) !important; border-radius:10px !important; }

/* Welcome page uses the exact same MAN skin, without changing its layout. */
html.man-skin .welcome-logo { color:var(--man-navy) !important; }
html.man-skin:not(.theme-light) .welcome-logo { color:#fff !important; }
html.man-skin .welcome-primary { background:var(--man-orange) !important; box-shadow:none; }
html.man-skin .welcome-primary:hover { background:var(--man-orange-hover) !important; }
html.man-skin .welcome-secondary { border-color:var(--tech-border); background:var(--tech-surface); color:var(--tech-text); }
html.man-skin .welcome-feature { background:var(--tech-surface); border-color:var(--tech-border); }
html.man-skin .welcome-feature-label { color:var(--man-orange); }

/* Compact inventory/admin action areas. */
.inventory-action-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.5rem; }
.inventory-action-grid .tech-btn { width:100%; white-space:nowrap; }
.inventory-search-actions { display:grid; grid-template-columns:minmax(0,1fr) 250px; gap:.75rem; align-items:center; }
@media (max-width: 900px) { .inventory-search-actions { grid-template-columns:1fr; } }
@media (max-width: 520px) { .inventory-action-grid { grid-template-columns:1fr 1fr; } }


/* ================================================================
   GLOBAL HELP TOOLTIPS
   ================================================================ */
.tech-tooltip {
    position: fixed;
    z-index: 9999;
    max-width: 320px;
    padding: .55rem .7rem;
    border: 1px solid var(--tech-border-strong);
    border-radius: 9px;
    background: var(--tech-surface);
    color: var(--tech-text);
    box-shadow: 0 12px 30px rgba(15, 23, 42, .18);
    font-size: .75rem;
    line-height: 1.35;
    font-weight: 500;
    pointer-events: none;
    opacity: 0;
    transform: translateY(3px);
    transition: opacity .12s ease, transform .12s ease;
}
.tech-tooltip.is-visible {
    opacity: 1;
    transform: translateY(0);
}
.tech-tooltip::after {
    content: "";
    position: absolute;
    left: 50%;
    bottom: -5px;
    width: 9px;
    height: 9px;
    transform: translateX(-50%) rotate(45deg);
    background: var(--tech-surface);
    border-right: 1px solid var(--tech-border-strong);
    border-bottom: 1px solid var(--tech-border-strong);
}
.tech-tooltip.is-below::after {
    top: -5px;
    bottom: auto;
    border-right: 0;
    border-bottom: 0;
    border-left: 1px solid var(--tech-border-strong);
    border-top: 1px solid var(--tech-border-strong);
}

/* The login logo is a white-line SVG. In the light MAN skin it is converted
   to the same navy/blue visual language as the rest of the login page. */
html.theme-light .man-login-logo {
    filter: brightness(0) saturate(100%) invert(17%) sepia(57%) saturate(2978%) hue-rotate(230deg) brightness(72%) contrast(113%);
}

/* Dashboard uses one accent for navigational links. */
html.man-skin .dashboard-module-link {
    color: var(--man-orange) !important;
}
html.man-skin .dashboard-module-link:hover {
    color: var(--man-orange-hover) !important;
}
html.man-skin .dashboard-knowledge-icon {
    background: var(--man-orange-soft) !important;
    color: var(--man-orange) !important;
}
html.man-skin .dashboard-knowledge-icon svg {
    color: var(--man-orange) !important;
}

/* Inventory action labels */
html.man-skin .inventory-action-grid .tech-btn,
html.man-skin .inventory-search-actions .tech-btn {
    color: var(--tech-text);
}

/* Make the help affordance visible without changing form layout. */
[data-help] {
    cursor: help;
}


/* ================================================================
   PROFILE — compact TechHub layout
   ================================================================ */
.tech-profile-page { background:var(--tech-page); color:var(--tech-text); }
.tech-profile-container { width:min(1100px, calc(100% - 2rem)); margin:0 auto; padding:1.25rem 0 3rem; display:grid; gap:1rem; }
.tech-profile-header { max-width:1100px; margin:0 auto; padding:1rem 0; }
.tech-profile-header h2 { margin:0; color:var(--tech-text); font-size:1.35rem; font-weight:750; }
.tech-profile-header p { margin:.25rem 0 0; color:var(--tech-text-soft); font-size:.84rem; }
.tech-profile-identity { display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:1rem 1.15rem; border:1px solid var(--tech-border); border-radius:14px; background:var(--tech-surface); box-shadow:0 4px 18px rgba(15,23,42,.035); }
.tech-profile-identity-main { display:flex; align-items:center; gap:.9rem; min-width:0; }
.tech-profile-identity-avatar { width:56px; height:56px; flex:0 0 56px; border-radius:999px; object-fit:cover; border:0; }
.tech-profile-identity h1 { margin:0; color:var(--tech-text); font-size:1rem; font-weight:750; }
.tech-profile-identity p { margin:.15rem 0 0; color:var(--tech-text-soft); font-size:.82rem; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.tech-profile-badges { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:.45rem; }
.tech-profile-badges span { border:1px solid var(--tech-border); border-radius:999px; padding:.35rem .65rem; color:var(--tech-text-soft); background:var(--tech-surface-soft); font-size:.72rem; font-weight:650; }
.tech-profile-card { border:1px solid var(--tech-border); border-radius:14px; background:var(--tech-surface); box-shadow:0 4px 18px rgba(15,23,42,.035); padding:1.1rem 1.15rem; }
.tech-profile-card-heading { display:flex; align-items:center; justify-content:space-between; gap:1rem; margin-bottom:.9rem; }
.tech-profile-card-heading h2 { margin:0; color:var(--tech-text); font-size:.98rem; font-weight:750; }
.tech-profile-card-heading p { margin:.2rem 0 0; color:var(--tech-text-soft); font-size:.78rem; }
.tech-profile-information-form { display:grid; grid-template-columns:150px minmax(0,1fr); gap:1rem 1.25rem; align-items:start; }
.tech-profile-photo-column { display:flex; justify-content:center; }
.tech-profile-photo-editor { width:150px; }
.tech-profile-photo-frame { width:100px; height:100px; margin:0 auto; border-radius:999px; overflow:hidden; background:var(--tech-surface-soft); border:1px solid var(--tech-border); }
.tech-profile-photo-frame img,.tech-profile-photo-frame span { display:block; width:100%; height:100%; object-fit:cover; background-size:cover; background-position:center; }
.tech-profile-photo-actions { display:flex; flex-direction:column; gap:.45rem; margin-top:.65rem; }
.tech-profile-photo-actions .tech-btn { width:100%; justify-content:center; font-size:.76rem; padding:.45rem .55rem; }
.tech-profile-fields { display:grid; grid-template-columns:1fr 1fr; gap:.85rem; }
.tech-profile-fields > div { min-width:0; }
.tech-profile-fields label,.tech-profile-grid-form label { display:block; color:var(--tech-text); font-size:.75rem; font-weight:700; }
.tech-profile-fields .tech-input,.tech-profile-grid-form .tech-field { min-height:40px; border-radius:9px; }
.tech-profile-verification { margin:.4rem 0 0; color:var(--tech-text-muted); font-size:.72rem; }
.tech-profile-verification button { color:var(--man-orange); text-decoration:underline; }
.tech-profile-save-row { grid-column:1 / -1; display:flex; justify-content:flex-end; align-items:center; padding-top:.25rem; border-top:1px solid var(--tech-border); }
.tech-profile-save-row .tech-btn { font-size:.78rem; padding:.5rem .8rem; }
.tech-profile-grid-form { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem; align-items:start; }
.tech-profile-grid-form > div:not(.tech-profile-form-actions) label { min-height:1.1rem; display:flex; align-items:flex-start; }
.tech-profile-grid-form p { margin:.35rem 0 0; color:var(--tech-text-muted); font-size:.68rem; min-height:1rem; }
.tech-profile-grid-form .tech-field { width:100%; box-sizing:border-box; }
.tech-profile-form-actions { grid-column:1 / -1; display:flex; justify-content:flex-end; padding-top:.25rem; }
.tech-profile-readonly-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.8rem; }
.tech-profile-readonly-grid > div { padding:.75rem .85rem; border:1px solid var(--tech-border); border-radius:10px; background:var(--tech-surface-soft); }
.tech-profile-readonly-grid span { display:block; color:var(--tech-text-muted); font-size:.7rem; }
.tech-profile-readonly-grid strong { display:block; margin-top:.2rem; color:var(--tech-text); font-size:.86rem; }
.tech-profile-livewire-section { display:block !important; margin:0 !important; }
.tech-profile-livewire-section > .mt-5 { margin-top:0 !important; }
.tech-profile-livewire-section > .md\:col-span-2 { margin-top:0 !important; width:100%; }
.tech-profile-livewire-section > div { width:100%; }
.tech-profile-livewire-section .bg-\[\#11154f\]\/85,
.tech-profile-livewire-section .bg-\[\#090d43\]\/90,
.tech-profile-livewire-section .bg-\[\#0d1147\]\/90 { background:transparent !important; box-shadow:none !important; }
.tech-profile-livewire-section .shadow { box-shadow:none !important; }
.tech-profile-livewire-section .text-white,.tech-profile-livewire-section .text-white\/60,.tech-profile-livewire-section .text-white\/40 { color:var(--tech-text-soft) !important; }
.tech-profile-livewire-section h3,.tech-profile-livewire-section h2 { color:var(--tech-text) !important; }
.tech-profile-livewire-section .grid.grid-cols-6 { gap:.8rem; }
.tech-profile-livewire-section .grid.grid-cols-6 > div { grid-column:span 6 / span 6; }
.tech-profile-livewire-section form > div:first-child {
    padding:1rem !important;
    background:var(--tech-surface-soft) !important;
    border:1px solid var(--tech-border);
    border-radius:10px !important;
    box-shadow:none !important;
}
.tech-profile-livewire-section form > div:first-child .grid {
    gap:.9rem !important;
}
.tech-profile-livewire-section form > div:last-child {
    padding:.7rem 0 0 !important;
    margin-top:.75rem;
    border-top:0 !important;
    background:transparent !important;
    box-shadow:none !important;
}
.tech-profile-livewire-section form > div:last-child > * {
    margin-top:0 !important;
}
.tech-profile-livewire-section .tech-input { min-height:40px; border-radius:9px; width:100%; box-sizing:border-box; }
.tech-profile-danger-card { border-color:rgba(220,38,38,.25); }
@media (max-width: 700px) {
    .tech-profile-container { width:min(100% - 1rem, 1100px); }
    .tech-profile-identity { align-items:flex-start; flex-direction:column; }
    .tech-profile-badges { justify-content:flex-start; }
    .tech-profile-information-form { grid-template-columns:1fr; }
    .tech-profile-photo-editor { width:100%; }
    .tech-profile-photo-frame { margin:0; }
    .tech-profile-fields,.tech-profile-grid-form,.tech-profile-readonly-grid { grid-template-columns:1fr; }
}

/* ================================================================
   PEC REPORT — MAN skin pass
   The PEC page uses the same light/dark surfaces as the rest of TechHub,
   with MAN orange reserved for accents, active states and primary data.
   ================================================================ */
html.man-skin .pec-report-page {
    --pec-orange: var(--man-orange);
    --pec-orange-hover: var(--man-orange-hover);
    --pec-blue: #4f8cff;
    --pec-blue-light: #8fb5ff;
    --pec-track: #e8ebf1;
    --pec-track-dark: #171a52;
}

html.man-skin:not(.theme-light) .pec-report-page {
    --pec-track: #15184b;
    --pec-track-dark: #171a52;
    --pec-blue: #7fa9ff;
    --pec-blue-light: #a9c6ff;
}

/* Make legacy white-on-dark classes follow the active theme on PEC only. */
html.man-skin .pec-report-page .text-white,
html.man-skin .pec-report-page [class*="text-white/"] {
    color: var(--tech-text) !important;
}
html.man-skin .pec-report-page .text-white\/50,
html.man-skin .pec-report-page .text-white\/40,
html.man-skin .pec-report-page .text-white\/60,
html.man-skin .pec-report-page .text-white\/75 {
    color: var(--tech-text-soft) !important;
}
html.man-skin .pec-report-page .text-white\/40 { color: var(--tech-text-muted) !important; }

html.man-skin .pec-report-page .border-white\/10,
html.man-skin .pec-report-page .border-white\/15 {
    border-color: var(--tech-border) !important;
}

/* Keep all PEC surfaces coherent with the site's cards/panels. */
html.man-skin .pec-report-page [class*="bg-[#11154f]"],
html.man-skin .pec-report-page [class*="bg-[#0d1147]"],
html.man-skin .pec-report-page [class*="bg-[#090d43]"],
html.man-skin .pec-report-page [class*="bg-gray-800"],
html.man-skin .pec-report-page [class*="bg-gray-700"] {
    background: var(--tech-surface-soft) !important;
}

/* Section titles get a restrained MAN-orange accent. */
html.man-skin .pec-report-page .tech-panel > h2,
html.man-skin .pec-report-page .tech-panel > div > h2 {
    position: relative;
    padding-left: .75rem;
}
html.man-skin .pec-report-page .tech-panel > h2::before,
html.man-skin .pec-report-page .tech-panel > div > h2::before {
    content: "";
    position: absolute;
    left: 0;
    top: .2em;
    bottom: .2em;
    width: 3px;
    border-radius: 999px;
    background: var(--pec-orange);
}

/* Primary PEC actions. */
html.man-skin .pec-report-page a[class*="bg-[#04043A]"],
html.man-skin .pec-report-page button[class*="bg-amber-500"] {
    background: var(--pec-orange) !important;
    border-color: var(--pec-orange) !important;
    color: #fff !important;
}
html.man-skin .pec-report-page a[class*="bg-[#04043A]"]:hover,
html.man-skin .pec-report-page button[class*="bg-amber-500"]:hover {
    background: var(--pec-orange-hover) !important;
}

html.man-skin .pec-report-page .pec-chart-panel {
    overflow: hidden;
}
.pec-legend {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .75rem 1rem;
    font-size: .75rem;
    font-weight: 600;
    color: var(--tech-text-soft);
}
.pec-legend span { display: inline-flex; align-items: center; gap: .4rem; }
.pec-dot { width: .65rem; height: .65rem; border-radius: 999px; display: inline-block; }
.pec-dot-print { background: var(--pec-orange); }
.pec-dot-maintenance { background: var(--pec-blue); }

.pec-chart-row {
    padding: .8rem .9rem;
    border: 1px solid transparent;
    border-radius: .75rem;
    transition: background .15s ease, border-color .15s ease;
}
.pec-chart-row:hover {
    background: var(--tech-surface-hover);
    border-color: var(--tech-border);
}
.pec-chart-row.is-current {
    border-color: color-mix(in srgb, var(--pec-orange) 45%, var(--tech-border));
    background: color-mix(in srgb, var(--pec-orange) 5%, transparent);
}
.pec-bar-line { display:flex; align-items:center; gap:.75rem; min-width:0; }
.pec-bar-label { width:6.5rem; flex:0 0 6.5rem; font-size:.75rem; font-weight:600; }
.pec-bar-track { position:relative; flex:1; height:.65rem; overflow:hidden; border-radius:999px; }
.pec-track-print, .pec-track-maintenance { background: var(--pec-track) !important; }
.pec-bar-fill { height:100%; border-radius:999px; min-width:0; }
.pec-fill-print { background: var(--pec-orange) !important; box-shadow: 0 0 0 1px color-mix(in srgb, var(--pec-orange) 35%, transparent); }
.pec-fill-maintenance { background: var(--pec-blue) !important; box-shadow: 0 0 0 1px color-mix(in srgb, var(--pec-blue) 35%, transparent); }
.pec-value-print { color: var(--pec-orange) !important; }
.pec-value-maintenance { color: var(--pec-blue) !important; }
.pec-chart-summary { color: var(--tech-text-soft); }
.pec-chart-footer { border-top:1px solid var(--tech-border); }
.pec-muted { color: var(--tech-text-muted); }

/* Light mode: the tracks must remain visibly different from white cards. */
html.man-skin.theme-light .pec-report-page .pec-track-print,
html.man-skin.theme-light .pec-report-page .pec-track-maintenance { background:#e1e5ed !important; }
/* Dark mode: keep the tracks visible without competing with the fills. */
html.man-skin:not(.theme-light) .pec-report-page .pec-track-print,
html.man-skin:not(.theme-light) .pec-report-page .pec-track-maintenance { background:#171a52 !important; }

@media (max-width: 640px) {
    .pec-bar-label { width:5rem; flex-basis:5rem; }
    .pec-chart-summary { font-size:.68rem; }
}

/* ========================================================================
   GLOBAL CHECKBOX VISIBILITY
   Normal checkboxes are visible in both light and dark themes.
   ======================================================================== */

input[type="checkbox"]:not(.sr-only):not(.hidden) {
    appearance: none !important;
    -webkit-appearance: none !important;
    width: 18px !important;
    height: 18px !important;
    min-width: 18px !important;
    min-height: 18px !important;
    margin: 0;
    padding: 0;
    display: inline-grid;
    place-content: center;
    vertical-align: middle;
    flex: 0 0 18px;
    box-sizing: border-box;
    border: 2px solid var(--tech-border-strong) !important;
    border-radius: 5px !important;
    background: var(--tech-surface) !important;
    color: #fff;
    cursor: pointer;
    transition: background-color .15s ease, border-color .15s ease, box-shadow .15s ease;
}

input[type="checkbox"]:not(.sr-only):not(.hidden):hover {
    border-color: var(--man-orange, var(--tech-accent)) !important;
}

input[type="checkbox"]:not(.sr-only):not(.hidden):checked {
    background-color: var(--man-orange, var(--tech-accent)) !important;
    border-color: var(--man-orange, var(--tech-accent)) !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3 8.5 6.5 12 13 4.5' fill='none' stroke='%23fff' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: center !important;
    background-size: 12px 12px !important;
}

input[type="checkbox"]:not(.sr-only):not(.hidden):focus-visible {
    outline: 2px solid var(--man-orange, var(--tech-accent));
    outline-offset: 2px;
    box-shadow: 0 0 0 3px var(--tech-focus);
}

input[type="checkbox"]:not(.sr-only):not(.hidden):disabled {
    opacity: .5;
    cursor: not-allowed;
}


/* Apps menu: keep grouped navigation usable on shorter screens. */
@media (max-height: 760px) {
    .man-apps-menu { max-height: calc(100vh - 6rem); overflow-y: auto; overscroll-behavior: contain; }
}

/* Dashboard icon tiles: force the MAN theme colours regardless of legacy Tailwind classes.
   This prevents white tile backgrounds from returning after navigation/CSS updates. */
html.man-skin .dashboard-icon-tile {
    background-color: var(--man-icon-bg) !important;
    color: var(--man-icon-color) !important;
    border-color: var(--tech-border) !important;
}

html.man-skin .dashboard-icon-tile svg {
    color: var(--man-icon-color) !important;
    stroke: currentColor;
}

html.man-skin .dashboard-icon-tile img {
    background: transparent !important;
}

html.man-skin .group:hover .dashboard-icon-tile {
    background-color: var(--man-orange) !important;
    color: #ffffff !important;
}

html.man-skin .group:hover .dashboard-icon-tile svg {
    color: #ffffff !important;
}


/* Branded authentication pages: login, registration, email verification, password reset and 2FA. */
html.man-skin .tech-auth-page { color: #f8fafc; background: #070744; }
.tech-auth-shell { background: radial-gradient(ellipse at 50% 0%, rgba(232,75,28,.10), transparent 48%), var(--tech-bg, #070744); }
.tech-auth-layout { position: relative; z-index: 1; }
.tech-auth-card { width: 100%; border: 1px solid rgba(148,163,184,.24); border-radius: 1.1rem; background: rgba(12,12,69,.94); color: #f8fafc; box-shadow: 0 24px 65px rgba(0,0,0,.24); padding: 1.65rem; }
.tech-auth-card-heading { text-align: center; margin-bottom: 1.35rem; }
.tech-auth-card-heading h1, .tech-auth-title { color: #fff; font-size: 1.35rem; font-weight: 700; letter-spacing: -.02em; }
.tech-auth-card-heading p, .tech-auth-subtitle { color: rgba(226,232,240,.72); font-size: .875rem; margin-top: .35rem; }
.tech-auth-logo-link { display: inline-flex; align-items: center; justify-content: center; }
.tech-auth-logo { display: block; width: 13rem; max-width: 75vw; height: auto; filter: none; }
.tech-auth-footer { color: rgba(226,232,240,.52); }
.tech-auth-card label, .tech-auth-label, .tech-auth-card .text-sm { color: rgba(241,245,249,.82); }
.tech-auth-card a, .tech-auth-link { color: #ff7043; }
.tech-auth-card a:hover, .tech-auth-link:hover { color: #ff9a79; }
.tech-auth-card input:not([type=checkbox]):not([type=radio]):not([type=hidden]), .tech-auth-input { width: 100%; border: 1px solid rgba(148,163,184,.30); border-radius: .65rem; background: rgba(255,255,255,.055); color: #fff; padding: .65rem .8rem; }
.tech-auth-card input::placeholder, .tech-auth-input::placeholder { color: rgba(226,232,240,.42); }
.tech-auth-card input:focus, .tech-auth-input:focus { outline: none; border-color: #e84b1c; box-shadow: 0 0 0 3px rgba(232,75,28,.18); }
.tech-auth-card input[type=checkbox] { accent-color: #e84b1c; }
.tech-auth-card .tech-btn, .tech-auth-card button[type=submit] { border-radius: .65rem; }
.tech-auth-notice { border: 1px solid rgba(148,163,184,.25); background: rgba(255,255,255,.045); color: rgba(241,245,249,.78); }
html.theme-light .tech-auth-shell { background: radial-gradient(ellipse at 50% 0%, rgba(232,75,28,.09), transparent 48%), #f3f5f9; }
html.theme-light .tech-auth-card { background: #fff; color: #111b3c; border-color: #dbe1ed; box-shadow: 0 24px 60px rgba(17,27,60,.12); }
html.theme-light .tech-auth-card-heading h1, html.theme-light .tech-auth-title { color: #070744; }
html.theme-light .tech-auth-card-heading p, html.theme-light .tech-auth-subtitle, html.theme-light .tech-auth-footer { color: #5f6980; }
html.theme-light .tech-auth-card label, html.theme-light .tech-auth-label, html.theme-light .tech-auth-card .text-sm { color: #263452; }
html.theme-light .tech-auth-card input:not([type=checkbox]):not([type=radio]):not([type=hidden]), html.theme-light .tech-auth-input { background: #f8f9fc; color: #101a3a; border-color: #d4dbea; }
html.theme-light .tech-auth-card input::placeholder, html.theme-light .tech-auth-input::placeholder { color: #8791a5; }
html.theme-light .tech-auth-notice { background: #f3f5fa; border-color: #dbe1ed; color: #35415d; }
html.theme-light .tech-auth-logo { filter: brightness(0) saturate(100%) invert(13%) sepia(34%) saturate(3330%) hue-rotate(215deg) brightness(83%) contrast(108%); }
@media (max-width: 480px) { .tech-auth-card { padding: 1.2rem; border-radius: .9rem; } .tech-auth-logo { width: 11rem; } }


/* ChronoLab visual consistency: use the selected TechHub accent instead of hard-coded blue controls. */
html.man-skin .tech-page .bg-blue-600,
html.man-skin .tech-page-content .bg-blue-600,
html.man-skin .tech-page .hover\:bg-blue-500:hover,
html.man-skin .tech-page-content .hover\:bg-blue-500:hover {
    background-color: var(--tech-primary) !important;
    border-color: var(--tech-primary) !important;
    color: #fff !important;
}
html.man-skin .tech-page .text-blue-400,
html.man-skin .tech-page-content .text-blue-400 { color: var(--tech-primary) !important; }
html.man-skin .tech-page .bg-blue-500\/80 { background-color: var(--tech-primary) !important; }
html.man-skin .man-apps-menu-heading { color: var(--man-orange) !important; }
html.man-skin.theme-light .man-apps-menu-heading { color: var(--man-orange) !important; }

/* Theme accent also applies to legacy hard-coded blue ChronoLab buttons in page headers. */
html.man-skin [class~="bg-blue-600"] { background-color: var(--tech-primary) !important; border-color: var(--tech-primary) !important; color: #fff !important; }
html.man-skin [class~="hover:bg-blue-500"]:hover { background-color: var(--tech-primary-hover) !important; }

html.man-skin .man-mobile-menu [class*="uppercase"] { color: var(--man-orange) !important; opacity: 1 !important; }


/* ChronoLab: one consistent MAN orange action style in both themes. */
html.man-skin .tech-page-content button[class*="bg-blue-600"],
html.man-skin .tech-page-content a[class*="bg-blue-600"],
html.man-skin .tech-page-content button.tech-btn-primary,
html.man-skin .tech-page-content .tech-btn-primary {
    background: var(--man-orange, #f04b16) !important;
    border-color: var(--man-orange, #f04b16) !important;
    color: #fff !important;
}
html.man-skin .tech-page-content button[class*="bg-blue-600"]:hover,
html.man-skin .tech-page-content a[class*="bg-blue-600"]:hover,
html.man-skin .tech-page-content .tech-btn-primary:hover {
    background: var(--man-orange-hover, #d93e0d) !important;
    border-color: var(--man-orange-hover, #d93e0d) !important;
}
html.man-skin .tech-page-content button:not([class*="bg-"]):not([class*="tech-btn"]),
html.man-skin .tech-page-content form button:not([class*="bg-"]):not([class*="tech-btn"]) {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .35rem;
    padding: .45rem .75rem;
    min-height: 34px;
    border: 1px solid var(--man-orange, #f04b16);
    border-radius: 8px;
    color: var(--man-orange, #f04b16);
    background: transparent;
    font-weight: 600;
    transition: background .15s ease, color .15s ease;
}
html.man-skin .tech-page-content button:not([class*="bg-"]):not([class*="tech-btn"]):hover,
html.man-skin .tech-page-content form button:not([class*="bg-"]):not([class*="tech-btn"]):hover {
    color: #fff;
    background: var(--man-orange, #f04b16);
}
