/*
 * Screen-only UI theme extension point.
 *
 * The current application CSS remains the default fallback. Future themes
 * should override shared UI variables under their matching html class only.
 * This file is intentionally not loaded by PDF, print, or email templates.
 */

html.ui-theme-default {
}

html.ui-theme-corporate-blue {
    --ink: #172033;
    --muted: #657086;
    --line: #d6dde8;
    --panel: #ffffff;
    --page: #f4f7fb;
    --brand: #1769c2;
    --brand-dark: #104b8d;
    --accent: #157f70;
    --corporate-navy: #10243e;
    --corporate-navy-soft: #183858;
    --corporate-blue-soft: #eaf3fc;
    --corporate-surface-soft: #f8fafc;
    --corporate-line-strong: #bcc8d8;
    --corporate-error: #b42318;
}

html.ui-theme-corporate-blue body {
    color: var(--ink);
    background: var(--page);
    font-family: Arial, Helvetica, sans-serif;
    font-size: 14px;
    line-height: 1.45;
}

html.ui-theme-corporate-blue a {
    color: var(--brand-dark);
    font-weight: 600;
}

html.ui-theme-corporate-blue a:hover {
    color: var(--brand);
}

html.ui-theme-corporate-blue .topbar {
    position: sticky;
    top: 0;
    z-index: 10;
    min-height: 64px;
    padding: 0 36px;
    border-bottom: 3px solid var(--brand);
    background: var(--corporate-navy);
}

html.ui-theme-corporate-blue .topbar .brand {
    display: inline-flex;
    align-items: center;
    min-height: 64px;
    padding-left: 15px;
    border-left: 4px solid var(--brand);
    color: #ffffff;
    font-size: 16px;
    letter-spacing: 0;
}

html.ui-theme-corporate-blue .topbar .muted {
    color: #cad7e6;
}

html.ui-theme-corporate-blue .topbar .button.secondary,
html.ui-theme-corporate-blue .topbar button.secondary {
    border-color: #6d8cab;
    background: transparent;
    color: #ffffff;
}

html.ui-theme-corporate-blue .shell {
    max-width: 1880px;
    padding: 28px 36px 44px;
}

html.ui-theme-corporate-blue .panel {
    border: 1px solid var(--line);
    border-radius: 2px;
    background: var(--panel);
    box-shadow: 0 1px 2px rgba(16, 36, 62, 0.04);
}

html.ui-theme-corporate-blue .panel > h1,
html.ui-theme-corporate-blue .panel > h2,
html.ui-theme-corporate-blue .panel > h3,
html.ui-theme-corporate-blue .panel .actions h1,
html.ui-theme-corporate-blue .panel .actions h2,
html.ui-theme-corporate-blue .panel .actions h3 {
    color: var(--corporate-navy);
    letter-spacing: 0;
}

html.ui-theme-corporate-blue .panel > h1,
html.ui-theme-corporate-blue .panel .actions h1 {
    font-size: 22px;
}

html.ui-theme-corporate-blue .grid > .panel,
html.ui-theme-corporate-blue .grid > a.panel {
    border-top: 3px solid var(--brand);
    background: var(--corporate-surface-soft);
    box-shadow: none;
}

html.ui-theme-corporate-blue .grid > a.panel:hover {
    border-color: var(--brand-dark);
    background: var(--corporate-blue-soft);
}

html.ui-theme-corporate-blue .button,
html.ui-theme-corporate-blue button {
    min-height: 40px;
    padding: 9px 15px;
    border: 1px solid var(--brand);
    border-radius: 2px;
    background: var(--brand);
    color: #ffffff;
    font-size: 13px;
    letter-spacing: 0;
}

html.ui-theme-corporate-blue .button:hover,
html.ui-theme-corporate-blue button:hover {
    border-color: var(--brand-dark);
    background: var(--brand-dark);
    color: #ffffff;
}

html.ui-theme-corporate-blue .button.secondary,
html.ui-theme-corporate-blue button.secondary {
    border-color: var(--corporate-line-strong);
    background: #ffffff;
    color: var(--brand-dark);
}

html.ui-theme-corporate-blue .button.secondary:hover,
html.ui-theme-corporate-blue button.secondary:hover {
    border-color: var(--brand);
    background: var(--corporate-blue-soft);
    color: var(--brand-dark);
}

html.ui-theme-corporate-blue .button.danger,
html.ui-theme-corporate-blue button.danger {
    border-color: var(--corporate-error);
    background: var(--corporate-error);
    color: #ffffff;
}

html.ui-theme-corporate-blue input,
html.ui-theme-corporate-blue select,
html.ui-theme-corporate-blue textarea {
    min-height: 40px;
    border-color: var(--corporate-line-strong);
    border-radius: 2px;
    background: #ffffff;
    color: var(--ink);
}

html.ui-theme-corporate-blue input:focus,
html.ui-theme-corporate-blue select:focus,
html.ui-theme-corporate-blue textarea:focus {
    border-color: var(--brand);
    outline: 2px solid rgba(23, 105, 194, 0.14);
    outline-offset: 0;
}

html.ui-theme-corporate-blue label {
    color: var(--corporate-navy);
    font-size: 13px;
}

html.ui-theme-corporate-blue table {
    border: 1px solid var(--line);
    background: #ffffff;
}

html.ui-theme-corporate-blue th,
html.ui-theme-corporate-blue td {
    border-bottom-color: var(--line);
}

html.ui-theme-corporate-blue th {
    background: var(--corporate-navy);
    color: #ffffff;
    font-size: 12px;
    letter-spacing: 0;
}

html.ui-theme-corporate-blue tbody tr:nth-child(even) td {
    background: var(--corporate-surface-soft);
}

html.ui-theme-corporate-blue tbody tr:hover td {
    background: var(--corporate-blue-soft);
}

html.ui-theme-corporate-blue .status {
    border-left-color: var(--accent);
    background: #eefbf7;
}

html.ui-theme-corporate-blue .errors {
    border-left-color: var(--corporate-error);
    background: #fff4f2;
}

html.ui-theme-corporate-blue .muted {
    color: var(--muted);
}

html.ui-theme-corporate-blue .pagination {
    color: var(--muted);
}

@media (max-width: 760px) {
    html.ui-theme-corporate-blue .topbar {
        min-height: 58px;
        padding: 0 16px;
    }

    html.ui-theme-corporate-blue .topbar .brand {
        min-height: 58px;
    }

    html.ui-theme-corporate-blue .shell {
        padding: 16px;
    }
}

html.ui-theme-warm-premium {
    --ink: #26211f;
    --muted: #766d68;
    --line: #e3d9cf;
    --panel: #fffdf9;
    --page: #f8f4ed;
    --brand: #c76572;
    --brand-dark: #9f4e5a;
    --accent: #5d9889;
    --warm-surface-soft: #f2ebe1;
    --warm-surface-strong: #e9ddd0;
    --warm-dark: #292524;
    --warm-dark-soft: #3a3431;
    --warm-line-strong: #d6c7b9;
    --warm-error: #b64747;
}

html.ui-theme-warm-premium body {
    color: var(--ink);
    background: var(--page);
    font-family: Arial, Helvetica, sans-serif;
    font-size: 14px;
    line-height: 1.5;
}

html.ui-theme-warm-premium a {
    color: var(--brand-dark);
    font-weight: 600;
}

html.ui-theme-warm-premium a:hover {
    color: var(--brand);
}

html.ui-theme-warm-premium .topbar {
    position: sticky;
    top: 0;
    z-index: 10;
    min-height: 64px;
    padding: 0 36px;
    border-bottom: 3px solid var(--brand);
    background: var(--warm-dark);
}

html.ui-theme-warm-premium .topbar .brand {
    display: inline-flex;
    align-items: center;
    min-height: 64px;
    color: #fffaf2;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 18px;
    font-weight: 700;
    letter-spacing: 0;
}

html.ui-theme-warm-premium .topbar .muted {
    color: #d9ccc1;
}

html.ui-theme-warm-premium .topbar .button.secondary,
html.ui-theme-warm-premium .topbar button.secondary {
    border-color: #8f7d73;
    background: var(--warm-dark-soft);
    color: #fffaf2;
}

html.ui-theme-warm-premium .shell {
    max-width: 1880px;
    padding: 30px 36px 46px;
}

html.ui-theme-warm-premium .panel {
    border: 1px solid var(--line);
    border-radius: 10px;
    background: var(--panel);
    box-shadow: 0 1px 3px rgba(58, 43, 36, 0.06);
}

html.ui-theme-warm-premium .panel > h1,
html.ui-theme-warm-premium .panel > h2,
html.ui-theme-warm-premium .panel > h3,
html.ui-theme-warm-premium .panel .actions h1,
html.ui-theme-warm-premium .panel .actions h2,
html.ui-theme-warm-premium .panel .actions h3 {
    color: var(--warm-dark);
    font-family: Georgia, "Times New Roman", serif;
    letter-spacing: 0;
}

html.ui-theme-warm-premium .panel > h1,
html.ui-theme-warm-premium .panel .actions h1 {
    font-size: 25px;
}

html.ui-theme-warm-premium .grid > .panel,
html.ui-theme-warm-premium .grid > a.panel {
    border-color: var(--line);
    background: var(--warm-surface-soft);
    box-shadow: none;
}

html.ui-theme-warm-premium .grid > a.panel:hover {
    border-color: var(--brand);
    background: #f6e8e5;
}

html.ui-theme-warm-premium .button,
html.ui-theme-warm-premium button {
    min-height: 40px;
    padding: 9px 15px;
    border: 1px solid var(--brand);
    border-radius: 8px;
    background: var(--brand);
    color: #ffffff;
    font-size: 13px;
    letter-spacing: 0;
}

html.ui-theme-warm-premium .button:hover,
html.ui-theme-warm-premium button:hover {
    border-color: var(--brand-dark);
    background: var(--brand-dark);
    color: #ffffff;
}

html.ui-theme-warm-premium .button.secondary,
html.ui-theme-warm-premium button.secondary {
    border-color: var(--warm-line-strong);
    background: #fffdf9;
    color: var(--brand-dark);
}

html.ui-theme-warm-premium .button.secondary:hover,
html.ui-theme-warm-premium button.secondary:hover {
    border-color: var(--brand);
    background: #f8ebe8;
    color: var(--brand-dark);
}

html.ui-theme-warm-premium .button.danger,
html.ui-theme-warm-premium button.danger {
    border-color: var(--warm-error);
    background: var(--warm-error);
    color: #ffffff;
}

html.ui-theme-warm-premium input,
html.ui-theme-warm-premium select,
html.ui-theme-warm-premium textarea {
    min-height: 40px;
    border-color: var(--warm-line-strong);
    border-radius: 8px;
    background: #fffdf9;
    color: var(--ink);
}

html.ui-theme-warm-premium input:focus,
html.ui-theme-warm-premium select:focus,
html.ui-theme-warm-premium textarea:focus {
    border-color: var(--brand);
    outline: 3px solid rgba(199, 101, 114, 0.14);
    outline-offset: 0;
}

html.ui-theme-warm-premium label {
    color: var(--warm-dark);
    font-size: 13px;
}

html.ui-theme-warm-premium table {
    border: 1px solid var(--line);
    background: #fffdf9;
}

html.ui-theme-warm-premium th,
html.ui-theme-warm-premium td {
    border-bottom-color: var(--line);
}

html.ui-theme-warm-premium th {
    background: var(--warm-dark);
    color: #fffaf2;
    font-size: 12px;
    letter-spacing: 0;
}

html.ui-theme-warm-premium tbody tr:nth-child(even) td {
    background: #fbf7f1;
}

html.ui-theme-warm-premium tbody tr:hover td {
    background: #f8ebe8;
}

html.ui-theme-warm-premium .status {
    border-left-color: var(--accent);
    background: #eef8f4;
}

html.ui-theme-warm-premium .errors {
    border-left-color: var(--warm-error);
    background: #fff1ef;
}

html.ui-theme-warm-premium .muted {
    color: var(--muted);
}

html.ui-theme-warm-premium .pagination {
    color: var(--muted);
}

@media (max-width: 760px) {
    html.ui-theme-warm-premium .topbar {
        min-height: 58px;
        padding: 0 16px;
    }

    html.ui-theme-warm-premium .topbar .brand {
        min-height: 58px;
    }

    html.ui-theme-warm-premium .shell {
        padding: 16px;
    }
}

html.ui-theme-clean-travel {
    --ink: #242424;
    --muted: #6f6f6f;
    --line: #e2e2e2;
    --panel: #ffffff;
    --page: #ffffff;
    --brand: #d94f6d;
    --brand-dark: #b83255;
    --accent: #238477;
    --travel-surface-soft: #f7f7f7;
    --travel-surface-strong: #f0f0f0;
    --travel-line-strong: #cccccc;
    --travel-error: #b83b2a;
}

html.ui-theme-clean-travel body {
    color: var(--ink);
    background: var(--page);
    font-family: Arial, Helvetica, sans-serif;
    font-size: 14px;
    line-height: 1.48;
}

html.ui-theme-clean-travel a {
    color: var(--brand-dark);
    font-weight: 600;
}

html.ui-theme-clean-travel a:hover {
    color: var(--brand);
}

html.ui-theme-clean-travel .topbar {
    position: sticky;
    top: 0;
    z-index: 10;
    min-height: 68px;
    padding: 0 36px;
    border-bottom: 1px solid var(--line);
    background: #ffffff;
}

html.ui-theme-clean-travel .topbar .brand {
    display: inline-flex;
    align-items: center;
    min-height: 68px;
    color: var(--brand-dark);
    font-size: 17px;
    letter-spacing: 0;
}

html.ui-theme-clean-travel .topbar .button.secondary,
html.ui-theme-clean-travel .topbar button.secondary {
    border-color: var(--line);
    background: #ffffff;
    color: var(--ink);
}

html.ui-theme-clean-travel .shell {
    max-width: 1880px;
    padding: 32px 36px 48px;
}

html.ui-theme-clean-travel .panel {
    border: 1px solid var(--line);
    border-radius: 12px;
    background: var(--panel);
    box-shadow: none;
}

html.ui-theme-clean-travel .panel > h1,
html.ui-theme-clean-travel .panel > h2,
html.ui-theme-clean-travel .panel > h3,
html.ui-theme-clean-travel .panel .actions h1,
html.ui-theme-clean-travel .panel .actions h2,
html.ui-theme-clean-travel .panel .actions h3 {
    color: var(--ink);
    letter-spacing: 0;
}

html.ui-theme-clean-travel .panel > h1,
html.ui-theme-clean-travel .panel .actions h1 {
    font-size: 23px;
}

html.ui-theme-clean-travel .grid > .panel,
html.ui-theme-clean-travel .grid > a.panel {
    border-color: var(--line);
    background: #ffffff;
}

html.ui-theme-clean-travel .grid > a.panel:hover {
    border-color: var(--travel-line-strong);
    box-shadow: 0 4px 10px rgba(36, 36, 36, 0.08);
}

html.ui-theme-clean-travel .button,
html.ui-theme-clean-travel button {
    min-height: 40px;
    padding: 9px 16px;
    border: 1px solid var(--brand);
    border-radius: 8px;
    background: var(--brand);
    color: #ffffff;
    font-size: 13px;
    letter-spacing: 0;
}

html.ui-theme-clean-travel .button:hover,
html.ui-theme-clean-travel button:hover {
    border-color: var(--brand-dark);
    background: var(--brand-dark);
    color: #ffffff;
}

html.ui-theme-clean-travel .button.secondary,
html.ui-theme-clean-travel button.secondary {
    border-color: var(--travel-line-strong);
    background: #ffffff;
    color: var(--ink);
}

html.ui-theme-clean-travel .button.secondary:hover,
html.ui-theme-clean-travel button.secondary:hover {
    border-color: var(--ink);
    background: var(--travel-surface-soft);
    color: var(--ink);
}

html.ui-theme-clean-travel .button.danger,
html.ui-theme-clean-travel button.danger {
    border-color: var(--travel-error);
    background: var(--travel-error);
    color: #ffffff;
}

html.ui-theme-clean-travel input,
html.ui-theme-clean-travel select,
html.ui-theme-clean-travel textarea {
    min-height: 42px;
    border-color: var(--travel-line-strong);
    border-radius: 8px;
    background: #ffffff;
    color: var(--ink);
}

html.ui-theme-clean-travel input:focus,
html.ui-theme-clean-travel select:focus,
html.ui-theme-clean-travel textarea:focus {
    border-color: var(--ink);
    outline: 2px solid rgba(36, 36, 36, 0.1);
    outline-offset: 0;
}

html.ui-theme-clean-travel label {
    color: var(--ink);
    font-size: 13px;
}

html.ui-theme-clean-travel table {
    border: 1px solid var(--line);
    border-radius: 10px;
    background: #ffffff;
}

html.ui-theme-clean-travel th,
html.ui-theme-clean-travel td {
    border-bottom-color: var(--line);
}

html.ui-theme-clean-travel th {
    background: var(--travel-surface-soft);
    color: var(--muted);
    font-size: 12px;
    letter-spacing: 0;
}

html.ui-theme-clean-travel tbody tr:hover td {
    background: #fff7f9;
}

html.ui-theme-clean-travel .status {
    border-left-color: var(--accent);
    background: #f1fbf8;
}

html.ui-theme-clean-travel .errors {
    border-left-color: var(--travel-error);
    background: #fff5f3;
}

html.ui-theme-clean-travel .muted {
    color: var(--muted);
}

html.ui-theme-clean-travel .pagination {
    color: var(--muted);
}

@media (max-width: 760px) {
    html.ui-theme-clean-travel .topbar {
        min-height: 60px;
        padding: 0 16px;
    }

    html.ui-theme-clean-travel .topbar .brand {
        min-height: 60px;
    }

    html.ui-theme-clean-travel .shell {
        padding: 16px;
    }
}

html.ui-theme-dark {
    --ink: #e8edf3;
    --muted: #a7b0bd;
    --line: #394555;
    --panel: #1b2430;
    --page: #111820;
    --brand: #4f9bea;
    --brand-dark: #7db6f2;
    --accent: #4fb79d;
    --dark-surface-soft: #222e3b;
    --dark-surface-strong: #2b3948;
    --dark-line-strong: #506174;
    --dark-error: #e16a65;
    --dark-error-soft: #382328;
    --dark-success-soft: #17332f;
}

html.ui-theme-dark body {
    color: var(--ink);
    background: var(--page);
    font-family: Arial, Helvetica, sans-serif;
    font-size: 14px;
    line-height: 1.48;
}

html.ui-theme-dark a {
    color: var(--brand-dark);
    font-weight: 600;
}

html.ui-theme-dark a:hover {
    color: #a9d0f7;
}

html.ui-theme-dark .topbar {
    position: sticky;
    top: 0;
    z-index: 10;
    min-height: 64px;
    padding: 0 36px;
    border-bottom: 2px solid var(--brand);
    background: #0b1219;
}

html.ui-theme-dark .topbar .brand {
    display: inline-flex;
    align-items: center;
    min-height: 64px;
    padding-left: 14px;
    border-left: 3px solid var(--brand);
    color: #f5f8fb;
    font-size: 16px;
    letter-spacing: 0;
}

html.ui-theme-dark .topbar .muted {
    color: #c1cbd6;
}

html.ui-theme-dark .topbar .button.secondary,
html.ui-theme-dark .topbar button.secondary {
    border-color: var(--dark-line-strong);
    background: var(--dark-surface-soft);
    color: #f5f8fb;
}

html.ui-theme-dark .shell {
    max-width: 1880px;
    padding: 28px 36px 44px;
}

html.ui-theme-dark .panel {
    border: 1px solid var(--line);
    border-radius: 6px;
    background: var(--panel);
    box-shadow: none;
}

html.ui-theme-dark .panel > h1,
html.ui-theme-dark .panel > h2,
html.ui-theme-dark .panel > h3,
html.ui-theme-dark .panel .actions h1,
html.ui-theme-dark .panel .actions h2,
html.ui-theme-dark .panel .actions h3 {
    color: #f5f8fb;
    letter-spacing: 0;
}

html.ui-theme-dark .panel > h1,
html.ui-theme-dark .panel .actions h1 {
    font-size: 23px;
}

html.ui-theme-dark .grid > .panel,
html.ui-theme-dark .grid > a.panel {
    border-top: 3px solid var(--brand);
    background: var(--dark-surface-soft);
}

html.ui-theme-dark .grid > a.panel:hover {
    border-color: #8cc5f6;
    background: var(--dark-surface-strong);
}

html.ui-theme-dark .button,
html.ui-theme-dark button {
    min-height: 40px;
    padding: 9px 15px;
    border: 1px solid var(--brand);
    border-radius: 5px;
    background: var(--brand);
    color: #07131f;
    font-size: 13px;
    letter-spacing: 0;
}

html.ui-theme-dark .button:hover,
html.ui-theme-dark button:hover {
    border-color: #78b7ef;
    background: #78b7ef;
    color: #07131f;
}

html.ui-theme-dark .button.secondary,
html.ui-theme-dark button.secondary {
    border-color: var(--dark-line-strong);
    background: var(--dark-surface-soft);
    color: var(--ink);
}

html.ui-theme-dark .button.secondary:hover,
html.ui-theme-dark button.secondary:hover {
    border-color: var(--brand);
    background: var(--dark-surface-strong);
    color: #ffffff;
}

html.ui-theme-dark .button.danger,
html.ui-theme-dark button.danger {
    border-color: var(--dark-error);
    background: var(--dark-error);
    color: #ffffff;
}

html.ui-theme-dark input,
html.ui-theme-dark select,
html.ui-theme-dark textarea {
    min-height: 40px;
    border-color: var(--dark-line-strong);
    border-radius: 5px;
    background: var(--dark-surface-soft);
    color: var(--ink);
}

html.ui-theme-dark select option {
    background: var(--dark-surface-soft);
    color: var(--ink);
}

html.ui-theme-dark input:focus,
html.ui-theme-dark select:focus,
html.ui-theme-dark textarea:focus {
    border-color: var(--brand);
    outline: 2px solid rgba(79, 155, 234, 0.22);
    outline-offset: 0;
}

html.ui-theme-dark label {
    color: #edf3f9;
    font-size: 13px;
}

html.ui-theme-dark table {
    border: 1px solid var(--line);
    background: var(--panel);
}

html.ui-theme-dark th,
html.ui-theme-dark td {
    border-bottom-color: var(--line);
}

html.ui-theme-dark th {
    background: #101b27;
    color: #d8e3ee;
    font-size: 12px;
    letter-spacing: 0;
}

html.ui-theme-dark tbody tr:nth-child(even) td {
    background: #202b37;
}

html.ui-theme-dark tbody tr:hover td {
    background: var(--dark-surface-strong);
}

html.ui-theme-dark .status {
    border-left-color: var(--accent);
    background: var(--dark-success-soft);
}

html.ui-theme-dark .errors {
    border-left-color: var(--dark-error);
    background: var(--dark-error-soft);
}

html.ui-theme-dark .muted {
    color: var(--muted);
}

html.ui-theme-dark .pagination {
    color: var(--muted);
}

@media (max-width: 760px) {
    html.ui-theme-dark .topbar {
        min-height: 58px;
        padding: 0 16px;
    }

    html.ui-theme-dark .topbar .brand {
        min-height: 58px;
    }

    html.ui-theme-dark .shell {
        padding: 16px;
    }
}
