/* FinestERP — Executive. Presentation only; never changes workflow or print templates.
   The html prefix intentionally outranks legacy screen themes without DOM mutation. */
@media screen {
    html body.erp-formal-theme {
        --fin-ink: #182d43;
        --fin-muted: #64758a;
        --fin-accent: #087f83;
        --fin-accent-dark: #086569;
        --fin-soft: #e9f5f4;
        --fin-paper: #f3f6fa;
        --fin-line: #e0e7ef;
        --fin-line-strong: #c4d0dd;
        --fin-radius: 16px;
        --fin-navy: #142c43;
        --fin-gold: #c3a36b;
        --fin-shadow: 0 4px 20px rgb(22 43 67 / 5%);
        --fin-shadow-raised: 0 14px 36px rgb(22 43 67 / 9%);
        --bs-primary-rgb: 8, 127, 131;
        background: var(--fin-paper);
        color: var(--fin-ink);
        font-size: .95rem;
        line-height: 1.7;
    }
    html body.erp-formal-theme ::selection { background: #c3e6e4; color: #142c43; }
    html body.erp-formal-theme :is(button, a, input, select, textarea, summary):focus-visible {
        outline: 3px solid #34a6ad;
        outline-offset: 3px;
    }
    html body.erp-formal-theme :is(h1, h2, h3) { text-wrap: pretty; }

    /* Frame: a quiet dark navigation rail and a light, distraction-free canvas. */
    html body.erp-formal-theme .erp-layout { --erp-header-height: 76px; }
    html body.erp-formal-theme .erp-layout:not(.sidebar-hidden) { --erp-sidebar-width: 272px; }
    html body.erp-formal-theme .erp-content-scroll {
        background: radial-gradient(ellipse at 5% 0%, #e8eff6 0%, transparent 45%), var(--fin-paper);
    }
    html body.erp-formal-theme .erp-content-scroll > article.content { padding: 24px 28px 36px !important; }
    html body.erp-formal-theme .erp-top-header {
        min-height: 76px; background: #fff; border-bottom: 1px solid #e6ebf2;
        box-shadow: 0 3px 16px #162b4304; padding-inline: 26px;
    }
    html body.erp-formal-theme .brand-context { color: #78899b; font-size: .72rem; }
    html body.erp-formal-theme :is(.sidebar-collapse-btn, .mobile-toggle-btn, .language-switch, .keyboard-shortcuts-button, .btn-logout) {
        border-radius: 11px; border-color: #e1e8f0; background: #fff; color: #50677e;
    }
    html body.erp-formal-theme .user-avatar {
        border-radius: 13px; background: #e9f4f3; color: #086569; border: 1px solid #d3e9e6;
    }
    html body.erp-formal-theme .branch-context { background: #f4f7fb; border-radius: 12px; border-color: #e3eaf2; }
    html body.erp-formal-theme .erp-sidebar { background: #142c43; border: 0; box-shadow: -4px 0 24px #142c430a; }
    html body.erp-formal-theme .premium-light-sidebar {
        color: #d9e5ef; background: linear-gradient(165deg, #18344c, #102638 85%); border: 0;
    }
    html body.erp-formal-theme .premium-light-sidebar .top-row { background: transparent; padding: 24px 20px 16px; }
    html body.erp-formal-theme .sidebar-logo-frame { width: 46px; height: 46px; border: 0; border-radius: 13px; background: #fff; box-shadow: 0 5px 18px #0002; }
    html body.erp-formal-theme .sidebar-logo-frame img { width: 38px; height: 38px; object-fit: contain; }
    html body.erp-formal-theme .sidebar-brand-copy strong,
    html body.erp-formal-theme .sidebar-brand-copy strong span { color: #fff; font-size: 1.25rem; }
    html body.erp-formal-theme .sidebar-brand-copy small { color: #a9bfce; letter-spacing: .06em; }
    html body.erp-formal-theme .sidebar-suite-label { margin-top: 12px; padding-top: 12px; border-top: 1px solid #ffffff12; }
    html body.erp-formal-theme .sidebar-suite-label small { color: #b0c4d3; font-size: .7rem; }
    html body.erp-formal-theme .sidebar-search { margin: 4px 15px 12px; }
    html body.erp-formal-theme .sidebar-search-field { background: #ffffff08; border-color: #ffffff23; border-radius: 11px; min-height: 42px; }
    html body.erp-formal-theme .sidebar-search-field input { color: #fff; font-size: .78rem; }
    html body.erp-formal-theme .sidebar-search-field input::placeholder { color: #adbfce; }
    html body.erp-formal-theme .sidebar-search-field > i { color: #aac1d0; }
    html body.erp-formal-theme .sidebar-search-field kbd { color: #bfd0dd; background: #ffffff08; border-color: #ffffff25; }
    html body.erp-formal-theme .sidebar-search-field:focus-within { border-color: #63b8b8; box-shadow: 0 0 0 3px #51b2b21c; }
    html body.erp-formal-theme .premium-light-sidebar .nav-tree { padding: 2px 12px 20px; }
    html body.erp-formal-theme .premium-light-sidebar .nav-group-items { border-inline-start-color: #ffffff19; margin-inline-start: 12px; }
    html body.erp-formal-theme .premium-light-sidebar :is(.nav-link, .nav-group > summary) {
        color: #c6d6e3; min-height: 42px; border-radius: 10px; padding: 9px 11px; font-size: .81rem;
        border-color: transparent; background: transparent; font-weight: 500;
    }
    html body.erp-formal-theme .premium-light-sidebar :is(.nav-link, .nav-group > summary) > i { color: #8faabc !important; font-size: 1.05rem; }
    html body.erp-formal-theme .premium-light-sidebar :is(.nav-link, .nav-group > summary):hover { color: #fff; background: #ffffff0a; }
    html body.erp-formal-theme .premium-light-sidebar .system-group:has(.nav-link.active) > summary { background: #ffffff07; color: #edf8fa; }
    html body.erp-formal-theme .premium-light-sidebar .nav-link.active,
    html body.erp-formal-theme .premium-light-sidebar .system-group .nav-link.active {
        color: #fff; background: #14777c; border-color: #ffffff0d; border-inline-start: 3px solid #79d0c8;
        box-shadow: 0 5px 15px #071d3425 !important; font-weight: 600;
    }
    html body.erp-formal-theme .premium-light-sidebar .nav-link.active > i,
    html body.erp-formal-theme .premium-light-sidebar .system-group .nav-link.active > i { color: #ddfffa !important; background: transparent; }
    html body.erp-formal-theme .premium-light-sidebar .nav-group[open] > summary::after { color: #8cc9c5; }
    html body.erp-formal-theme .sidebar-divider { border-color: #ffffff17; }
    html body.erp-formal-theme :is(.sidebar-search-result small, .sidebar-search-empty) { color: #a9bfce; }
    html body.erp-formal-theme .sidebar-biometric-status { color: #e9f4fb; background: #ffffff08; border-color: #ffffff14; }
    html body.erp-formal-theme .sidebar-biometric-status small { color: #b9cfda; }
    html body.erp-formal-theme .premium-light-sidebar ::-webkit-scrollbar-thumb { background: #486174; border-radius: 8px; }
    html body.erp-formal-theme .premium-light-sidebar .nav-tree { margin-top: 0 !important; }
    html body.erp-formal-theme .premium-light-sidebar .nav-tree > .nav-item .nav-link > i,
    html body.erp-formal-theme .premium-light-sidebar .system-group > summary > i {
        flex: 0 0 29px; width: 29px; height: 29px; display: inline-grid; place-items: center;
        margin-inline: 0; border: 1px solid #ffffff0c; border-radius: 8px; background: #ffffff07;
    }
    html body.erp-formal-theme .premium-light-sidebar .nav-tree > .nav-item .nav-link { gap: 9px; }
    html body.erp-formal-theme .premium-light-sidebar .system-group > summary { min-height: 48px; gap: 9px; font-weight: 600; }
    html body.erp-formal-theme .premium-light-sidebar [data-nav-key="systems"] > summary {
        color: #8faabc; font-size: .71rem; min-height: 36px; padding-block: 5px;
    }
    html body.erp-formal-theme .premium-light-sidebar [data-nav-key="systems"] > .nav-group-items { margin-inline: 0; padding-inline: 0; border: 0; }
    html body.erp-formal-theme .premium-light-sidebar .system-group > .nav-group-items { margin-inline-start: 22px; }
    html body.erp-formal-theme .premium-light-sidebar .nav-link { overflow-wrap: anywhere; }
    html body.erp-formal-theme .premium-light-sidebar .nav-group > summary::after { font-size: .65rem; flex-shrink: 0; }
    html body.erp-formal-theme .sidebar-mobile-close {
        position: absolute; top: 5px; inset-inline-end: 5px; z-index: 2; width: 44px; height: 44px;
        border-radius: 9px; border: 1px solid #ffffff25; background: #18384e; color: #d8e9f2;
    }
    html body.erp-formal-theme .sidebar-mobile-close:hover { background: #27536a; }
    html body.erp-formal-theme .sidebar-search-result { color: #e0eef5; padding: 10px 12px; border-radius: 10px; margin-block: 4px; border: 1px solid #ffffff0d; background: #ffffff05; }
    html body.erp-formal-theme .sidebar-search-result:hover,
    html body.erp-formal-theme .sidebar-search-result:focus-visible { color: #fff; background: #ffffff12; border-color: #ffffff25; }
    html body.erp-formal-theme .premium-light-sidebar .nav-scrollable { scrollbar-width: thin; scrollbar-color: #486174 transparent; }

    /* Shared screen hierarchy: compact headers, readable forms, clear primary actions. */
    html body.erp-formal-theme article.content .erp-page-header {
        position: relative; min-height: 86px; padding: 18px 24px !important; margin-bottom: 20px;
        background: #fff !important; border: 1px solid var(--fin-line) !important;
        border-radius: 16px !important; box-shadow: var(--fin-shadow);
        border-inline-start: 4px solid var(--fin-accent) !important;
    }
    html body.erp-formal-theme article.content .erp-page-title { color: var(--fin-ink) !important; font-size: clamp(1.2rem, 1.65vw, 1.7rem); font-weight: 700; }
    html body.erp-formal-theme article.content .erp-page-subtitle { color: var(--fin-muted) !important; font-size: .8rem; line-height: 1.8; }
    html body.erp-formal-theme .page-icon-wrapper { color: #08797d !important; background: #eaf6f5 !important; border-color: #d6ebe8; border-radius: 13px; }
    html body.erp-formal-theme article.content :is(.card, .erp-card, .dashboard-panel, .internal-report-viewer) {
        border-radius: 16px !important; border-color: var(--fin-line) !important; box-shadow: var(--fin-shadow) !important;
    }
    html body.erp-formal-theme article.content :is(.card, .erp-card):hover { box-shadow: var(--fin-shadow) !important; }
    html body.erp-formal-theme article.content :is(.card > .card-header, .erp-card > .card-header, .dashboard-panel__header) {
        background: #fff !important; padding: 15px 22px !important; border-color: #e8edf3 !important;
        border-radius: 15px 15px 0 0; min-height: 54px;
    }
    html body.erp-formal-theme article.content :is(.card-header h5, .dashboard-panel__header h2) { font-weight: 650 !important; color: #233e56; }
    html body.erp-formal-theme article.content .form-label { color: #3a526a !important; font-size: .83rem; font-weight: 500 !important; }
    html body.erp-formal-theme :is(.form-control, .form-select, .custom-input, .searchable-select-trigger) {
        min-height: 44px; border-radius: 10px; border-color: #cbd7e2; color: #233c54; background-color: #fff;
        font-size: .88rem; box-shadow: 0 1px 2px #142c4303;
        transition: border-color .16s ease, box-shadow .16s ease;
    }
    html body.erp-formal-theme :is(.form-control, .form-select, .custom-input):focus,
    html body.erp-formal-theme .searchable-select-trigger:focus-visible { border-color: #13878a; box-shadow: 0 0 0 4px #087f8314; }
    html body.erp-formal-theme :is(.form-control, .custom-input)::placeholder { color: #8392a2; }
    html body.erp-formal-theme :is(.form-control, .form-select, .searchable-select-trigger):disabled,
    html body.erp-formal-theme :is(.form-control, .custom-input)[readonly] { background-color: #f3f6fa !important; color: #64758a; }
    html body.erp-formal-theme .input-group-text { background: #f4f7fa; color: #657b90; border-color: #cbd7e2; }
    html body.erp-formal-theme .searchable-select-menu { border: 1px solid #d9e3ec; border-radius: 13px; box-shadow: 0 15px 38px #142c4321; }
    html body.erp-formal-theme .searchable-select-value { min-width: 0; }
    html body.erp-formal-theme .btn { border-radius: 10px; font-weight: 550; transition: background-color .16s, box-shadow .16s, border-color .16s; }
    html body.erp-formal-theme :is(.btn-primary, .btn-success) {
        background: #087f83; border-color: #087f83; color: #fff; box-shadow: 0 4px 10px #087f831c;
    }
    html body.erp-formal-theme :is(.btn-primary, .btn-success):hover:not(:disabled) { background: #086569 !important; border-color: #086569 !important; box-shadow: 0 5px 14px #087f832b; }
    html body.erp-formal-theme :is(.btn-outline-primary, .btn-outline-secondary, .btn-secondary, .btn-light) { background: #fff; border-color: #d4dee8; color: #36546d; }
    html body.erp-formal-theme :is(.btn-outline-primary, .btn-outline-secondary, .btn-light):hover { color: #086569; background: #edf7f6; border-color: #9bcac7; }
    html body.erp-formal-theme :is(.nav-tabs, .nav-pills) { padding: 5px; gap: 5px; background: #edf2f7; border: 1px solid #e2e8f0; border-radius: 13px; }
    html body.erp-formal-theme :is(.nav-tabs, .nav-pills) .nav-link { border-radius: 9px; min-height: 40px; color: #62758a; border-color: transparent; }
    html body.erp-formal-theme :is(.nav-tabs, .nav-pills) .nav-link.active { background: #fff; color: #08797d; border-color: #dfe8ec; box-shadow: 0 2px 6px #142c4308; }

    /* Lists stay dense: decoration must not reduce the number of visible rows. */
    html body.erp-formal-theme article.content :is(.table-responsive, .erp-table-scroll) { border-color: #e0e7ef; border-radius: 12px !important; }
    html body.erp-formal-theme article.content table { --bs-table-hover-bg: #f0f8f8; --bs-table-striped-bg: #f8fafc; font-size: .85rem; }
    html body.erp-formal-theme article.content table thead th,
    html body.erp-formal-theme article.content .erp-modern-table thead th { background: #edf2f7 !important; color: #425c74 !important; border-color: #dce5ee !important; padding: 12px 13px; font-weight: 600; }
    html body.erp-formal-theme article.content table tbody td { padding: 9px 13px; border-color: #ecf0f5; }
    html body.erp-formal-theme article.content table tbody tr:nth-child(even) { background: #fbfcfe; }
    html body.erp-formal-theme article.content table tbody tr:hover { background: #f0f8f8 !important; }
    html body.erp-formal-theme article.content table :is(.form-control, .form-select, .searchable-select-trigger) { min-height: 36px; font-size: .83rem; }
    html body.erp-formal-theme .btn-action { width: 34px; height: 34px; min-height: 34px; border-radius: 9px; }
    html body.erp-formal-theme .table-search-box { background: #f8fafc; border-color: #dbe4ed; border-radius: 11px; min-height: 44px; }
    html body.erp-formal-theme .table-search-box:focus-within { border-color: #7fb8b6; box-shadow: 0 0 0 3px #087f830d; }
    html body.erp-formal-theme :is(.table-match-count, .code-badge) { border-radius: 7px; color: #4e6b82; background: #eff4f8; }
    html body.erp-formal-theme .badge { border-radius: 7px; font-weight: 550; }
    html body.erp-formal-theme .alert { border-radius: 12px; }
    html body.erp-formal-theme :is(.modal-content, .erp-record-dialog, .erp-confirm-dialog, .erp-notification-dialog, .pos-edit-dialog) { border-radius: 18px; border: 1px solid #dfe7ef; box-shadow: 0 24px 80px #142c4330; }
    html body.erp-formal-theme :is(.modal-header, .erp-record-header) { border-bottom-color: #e7edf3; background: #f8fafc; border-radius: 17px 17px 0 0; }

    /* Executive dashboards: real data, strong hierarchy, restrained accents. */
    html body.erp-formal-theme :is(.workspace-command-hero, .finance-hero, .people-hero) {
        color: #fff; background: radial-gradient(ellipse at 5% 100%, #245366 0%, transparent 65%), #142c43;
        border: 1px solid #254256; border-radius: 22px; box-shadow: 0 10px 28px #142c4317;
        padding: 32px 36px; gap: 28px;
    }
    html body.erp-formal-theme .workspace-command-hero::after { background: #bd9d65; width: 4px; }
    html body.erp-formal-theme :is(.workspace-command-hero, .finance-hero, .people-hero) h1 { color: #fff; letter-spacing: -.035em; font-weight: 650; }
    html body.erp-formal-theme .workspace-command-hero h1 { margin: 18px 0 14px; font-size: clamp(1.9rem, 2.8vw, 3rem); }
    html body.erp-formal-theme .workspace-command-hero h1 span { color: #93d6cc; }
    html body.erp-formal-theme :is(.workspace-command-hero-copy > p, .finance-hero p, .people-hero p) { color: #c7d6e2; font-size: .9rem; }
    html body.erp-formal-theme :is(.workspace-command-eyebrow, .finance-eyebrow, .people-eyebrow) { color: #64758a; font-size: .75rem; }
    html body.erp-formal-theme .workspace-command-hero .workspace-command-eyebrow,
    html body.erp-formal-theme .finance-hero .finance-eyebrow,
    html body.erp-formal-theme .people-hero .people-eyebrow { color: #bed9dc; }
    html body.erp-formal-theme :is(.workspace-command-context, .finance-hero-meta, .people-meta) { color: #c0d1df; }
    html body.erp-formal-theme :is(.finance-hero p strong, .people-hero p strong, .people-hero-note) { color: #a6dcd5; }
    html body.erp-formal-theme :is(.workspace-command-hero-control, .finance-period-control, .people-period) {
        color: #273f56; background: #fff; border: 1px solid #fff; border-radius: 16px; padding: 22px; box-shadow: 0 10px 30px #061a2b1a;
    }
    html body.erp-formal-theme .workspace-command-hero-control h2 { color: #19364b; }
    html body.erp-formal-theme .people-hero-note { border-color: #ffffff25; }
    html body.erp-formal-theme :is(.workspace-command-metric, .finance-kpi, .people-kpi, .dashboard-kpi) {
        background: #fff; border: 1px solid #e0e7ef; border-radius: 16px; box-shadow: var(--fin-shadow);
        position: relative; overflow: hidden;
    }
    html body.erp-formal-theme :is(.workspace-command-metric, .finance-kpi, .people-kpi)::after {
        content: ''; position: absolute; inset-block: 24px; inset-inline-start: 0; width: 3px; border-radius: 3px; background: #5fada7;
    }
    html body.erp-formal-theme :is(.workspace-command-metric > strong, .finance-kpi > strong, .people-kpi > strong, .dashboard-kpi__value) { color: #183b52; font-weight: 650; letter-spacing: -.025em; font-variant-numeric: tabular-nums; }
    html body.erp-formal-theme :is(.workspace-command-metric-icon, .finance-kpi-icon, .people-kpi-icon) { color: #118287; background: #eaf6f4; border-color: #d5ebe7; border-radius: 12px; }
    html body.erp-formal-theme .people-kpi.is-primary { background: #f0f8f7; border-color: #c9e3df; color: #174753; }
    html body.erp-formal-theme .people-kpi.is-primary small { color: #4e767b; }
    html body.erp-formal-theme .people-kpi.is-primary .people-kpi-icon { color: #118287; }
    html body.erp-formal-theme :is(.workspace-command-metric-attention, .finance-kpi-net) { background: #fbfcfe; border-color: #dce6ed; }
    html body.erp-formal-theme .workspace-command-metric-attention::after { background: var(--fin-gold); }
    html body.erp-formal-theme :is(.workspace-command-panel, .finance-panel, .people-panel) { background: #fff; border-color: #e0e7ef; border-radius: 18px; box-shadow: var(--fin-shadow); }
    html body.erp-formal-theme :is(.workspace-command-panel h2, .finance-panel h2, .people-panel h2) { color: #243e56; font-weight: 650; }
    html body.erp-formal-theme .workspace-command-chart-bars > span { background: linear-gradient(0deg, #087f83, #58b8b3); border-radius: 5px 5px 0 0; }
    html body.erp-formal-theme .workspace-command-chart-bars > span.is-purchase { background: #bfd0df; }
    html body.erp-formal-theme .workspace-command-donut { background: conic-gradient(#168a89 var(--completion), #e8eef4 0); }
    html body.erp-formal-theme :is(.workspace-command-systems a, .finance-shortcuts a, .people-shortcuts a, .operational-report-link, .dashboard-action) { border-radius: 13px; border-color: #e0e7ef; background: #fff; transition: box-shadow .18s, border-color .18s, background .18s; }
    html body.erp-formal-theme :is(.workspace-command-systems a, .finance-shortcuts a, .people-shortcuts a, .operational-report-link, .dashboard-action):hover { border-color: #8abebb; background: #fcfefe; box-shadow: 0 6px 20px #1734490a; }
    html body.erp-formal-theme :is(.workspace-command-area-icon, .operational-report-link__icon) { border-radius: 12px; background: #eaf5f4; color: #138287; }
    html body.erp-formal-theme article.content .dashboard-hero { padding: 24px 28px; background: #fff !important; border: 1px solid #e0e7ef; border-inline-start: 4px solid #087f83; border-radius: 17px !important; box-shadow: var(--fin-shadow); }

    /* Retail and restaurant POS retain compact cards and a wide cart. */
    html body.erp-formal-theme .point-of-sale-host { background: #f2f5fa; }
    html body.erp-formal-theme .pos-page { --pos-accent: #087f83; --pos-accent-dark: #086569; --pos-soft: #eaf5f4; }
    html body.erp-formal-theme .pos-header { background: #142c43; color: #fff; border-color: #142c43; border-radius: 16px; padding: 18px 22px; box-shadow: 0 6px 22px #142c4312; }
    html body.erp-formal-theme .pos-header h1 { color: #fff; font-size: 1.2rem; }
    html body.erp-formal-theme .pos-header small { color: #c1d3df; }
    html body.erp-formal-theme .pos-brand-icon { background: #ffffff12; color: #a6e2da; border: 1px solid #ffffff1a; border-radius: 13px; }
    html body.erp-formal-theme .pos-header :is(.pos-hold-button, .pos-held-button, .pos-exit-button, .btn-light) { background: #ffffff0a; color: #eef8fc; border-color: #ffffff30 !important; }
    html body.erp-formal-theme .pos-header .btn-outline-danger { color: #ffcfcb; border-color: #c98a88; }
    html body.erp-formal-theme .pos-header .btn-outline-success { color: #a9e7d0; border-color: #63998a; }
    html body.erp-formal-theme .pos-header .pos-live-badge { color: #c9dedf; background: #ffffff0e; }
    html body.erp-formal-theme :is(.pos-context-bar, .pos-products-panel, .pos-cart-panel, .pos-recent-sales, .restaurant-order-strip) { border-radius: 15px; border-color: #e0e7ef; box-shadow: var(--fin-shadow); }
    html body.erp-formal-theme :is(.pos-context-bar, .restaurant-order-strip) > label { min-width: 0; }
    html body.erp-formal-theme .pos-product-grid { gap: 8px; grid-template-columns: repeat(auto-fill, minmax(145px, 1fr)); align-content: start; grid-auto-rows: max-content; }
    html body.erp-formal-theme .pos-product-card { height: auto; min-height: 72px; max-height: none; padding: 7px; gap: 3px 8px; border-color: #dfe7ef; border-inline-start: 4px solid var(--pos-group-color, #087f83); background: color-mix(in srgb, var(--pos-group-color, #087f83) 7%, white); border-radius: 11px; grid-template-columns: 36px minmax(0, 1fr); grid-template-rows: auto auto; }
    html body.erp-formal-theme .pos-product-card__visual { height: 36px; width: 36px; border-radius: 9px; color: #274256; background: color-mix(in srgb, var(--pos-group-color, #087f83) 20%, white); }
    html body.erp-formal-theme .pos-product-card__content strong { color: #274256; font-weight: 550; font-size: .77rem; }
    html body.erp-formal-theme .pos-product-card__content :is(strong, small) { white-space: normal; text-overflow: clip; overflow: visible; overflow-wrap: anywhere; }
    html body.erp-formal-theme .pos-product-card__content { align-self: end; }
    html body.erp-formal-theme .pos-product-card__price { align-self: start; padding-inline-end: 16px; white-space: nowrap; }
    html body.erp-formal-theme .pos-product-card__price { color: #08797d; font-weight: 650; font-size: .8rem; }
    html body.erp-formal-theme .pos-product-card:hover { border-color: var(--pos-group-color, #087f83); background: color-mix(in srgb, var(--pos-group-color, #087f83) 12%, white); box-shadow: 0 4px 12px #087f8310; }
    html body.erp-formal-theme .pos-category-strip button { border-radius: 9px; }
    html body.erp-formal-theme .pos-cart-table th { background: #edf3f8; color: #425d74; }
    html body.erp-formal-theme .pos-checkout-button { background: #087f83; border-radius: 12px; box-shadow: 0 6px 15px #087f8320; }

    /* Light sign-in: existing logo, editorial typography and an airy brand panel. */
    html body.erp-formal-theme .login-shell {
        padding: 68px 28px 28px;
        background: radial-gradient(ellipse at 0% 0%, #e1f1ef 0%, transparent 48%), radial-gradient(ellipse at 100% 100%, #e7edf7, transparent 52%), #f5f7fb;
    }
    html body.erp-formal-theme .auth-surface { width: min(1160px, 100%); min-height: 610px; border: 1px solid #dce7ec; border-radius: 24px; box-shadow: 0 24px 70px #19324b0f; }
    html body.erp-formal-theme .brand-pane { position: relative; isolation: isolate; padding: 32px 38px; background: linear-gradient(145deg, #edf7f5, #eef3fa); border-color: #e1eaf0; }
    html body.erp-formal-theme .brand-pane::before { content: ''; position: absolute; z-index: -1; pointer-events: none; width: 340px; height: 340px; border: 1px solid #bed6d34d; border-radius: 50%; inset-block-start: -195px; inset-inline-start: -120px; box-shadow: 0 0 0 45px #bed6d315, 0 0 0 90px #bed6d30a; }
    html body.erp-formal-theme .brand-top .brand-name { font-size: 1.2rem; color: #193b50; }
    html body.erp-formal-theme .brand-logo { border-radius: 12px; padding: 4px; box-shadow: 0 4px 14px #18364d09; }
    html body.erp-formal-theme .eyebrow { display: inline-flex; padding: 5px 12px; background: #fff9; border: 1px solid #d6e7e3; border-radius: 20px; color: #367670; margin-top: 10px; }
    html body.erp-formal-theme .brand-title { font-size: clamp(1.8rem, 2.9vw, 2.8rem); font-weight: 650; line-height: 1.5; margin-block: 12px; letter-spacing: -.04em; }
    html body.erp-formal-theme .brand-title strong { font-weight: 650; color: #168784; }
    html body.erp-formal-theme .brand-description { font-size: .88rem; color: #586f82; }
    html body.erp-formal-theme .login-overview { background: #ffffffb8; border-color: #dce8eb; border-radius: 15px; box-shadow: 0 5px 20px #284e6204; }
    html body.erp-formal-theme .login-overview-heading { padding: 12px 16px; color: #637d8c; }
    html body.erp-formal-theme .login-overview-item { padding: 11px 16px; border-color: #e5edf0; }
    html body.erp-formal-theme .login-overview-item > i { width: 37px; height: 37px; background: #e8f5f1; color: #13827f; border-radius: 11px; }
    html body.erp-formal-theme .login-overview-item strong { font-size: .83rem; color: #2c4a5e; font-weight: 600; }
    html body.erp-formal-theme .login-overview-item small { color: #6d8191; }
    html body.erp-formal-theme .login-pane { padding: 42px 48px; background: #fff; }
    html body.erp-formal-theme .login-card { max-width: 390px; }
    html body.erp-formal-theme .login-brand-lockup { margin-bottom: 30px; }
    html body.erp-formal-theme .login-mark { border-radius: 16px; border-color: #e2e9f0; box-shadow: 0 6px 18px #142c4308; }
    html body.erp-formal-theme .login-title { font-size: 2.1rem; font-weight: 650; letter-spacing: -.045em; margin-block: 8px; }
    html body.erp-formal-theme .login-welcome { color: #148580; font-weight: 500; }
    html body.erp-formal-theme .login-subtitle { font-size: .86rem; color: #6d7f92; margin-bottom: 26px; }
    html body.erp-formal-theme .input-label { color: #3c536b; font-size: .86rem; }
    html body.erp-formal-theme .cyber-input { min-height: 52px; border-color: #cdd9e3; border-radius: 11px; background: #fcfdff; font-size: .9rem; }
    html body.erp-formal-theme .cyber-input:focus { background: #fff; border-color: #13878a; box-shadow: 0 0 0 4px #087f8312; }
    html body.erp-formal-theme .field-icon { bottom: 16px; color: #7d92a6; }
    html body.erp-formal-theme .password-toggle { bottom: 6px; }
    html body.erp-formal-theme .cyber-btn { min-height: 52px; border-radius: 11px; background: #087f83; border-color: #087f83; box-shadow: 0 7px 18px #087f8320; font-weight: 600; margin-top: 24px; }
    html body.erp-formal-theme .login-language-switch { border-radius: 10px; background: #ffffffbf; border-color: #dfe7ef; }
    html body.erp-formal-theme .support-card { padding-top: 16px; border-color: #d6e4e8; }
    html body.erp-formal-theme .support-card h2 { color: #38586e; }
    html body.erp-formal-theme .support-action { color: #176e77; }

    /* Responsive layouts preserve the navigation drawer and contained table scrolling. */
    @media (max-width: 1199.98px) {
        html body.erp-formal-theme .erp-layout:not(.sidebar-hidden) { --erp-sidebar-width: 250px; }
        html body.erp-formal-theme .erp-content-scroll > article.content { padding: 20px !important; }
        html body.erp-formal-theme :is(.workspace-command-hero, .finance-hero, .people-hero) { padding: 26px; gap: 22px; }
        html body.erp-formal-theme .brand-pane { padding: 28px; }
        html body.erp-formal-theme .login-pane { padding: 32px; }
    }
    @media (max-width: 991.98px) {
        html body.erp-formal-theme .erp-layout .erp-sidebar { width: min(88vw, 290px); }
        html body.erp-formal-theme .erp-layout:not(.sidebar-mobile-open) .erp-sidebar { visibility: hidden; }
        html body.erp-formal-theme .erp-top-header { min-height: 66px; padding-inline: 16px; }
        html body.erp-formal-theme .erp-layout { --erp-header-height: 66px; }
        html body.erp-formal-theme .erp-sidebar-overlay { background: #10263880; backdrop-filter: blur(3px); }
        html body.erp-formal-theme .pos-header { flex-wrap: wrap; gap: 14px; }
        html body.erp-formal-theme .pos-header > .d-flex { flex-wrap: wrap; }
    }
    @media (max-width: 767.98px) {
        html body.erp-formal-theme .erp-content-scroll > article.content { padding: 14px 12px 26px !important; }
        html body.erp-formal-theme article.content .erp-page-header { padding: 15px 17px !important; margin-bottom: 16px; min-height: 76px; border-radius: 13px !important; }
        html body.erp-formal-theme article.content .erp-page-title { font-size: 1.22rem; }
        html body.erp-formal-theme .workspace-command-hero { grid-template-columns: minmax(0, 1fr); padding: 24px; gap: 22px; border-radius: 18px; }
        html body.erp-formal-theme .workspace-command-hero h1 { font-size: 2rem; }
        html body.erp-formal-theme :is(.finance-hero, .people-hero) { padding: 23px; border-radius: 18px; }
        html body.erp-formal-theme .finance-period-control { width: 100%; }
        html body.erp-formal-theme .workspace-command-metric > strong { font-size: 1.6rem; }
        html body.erp-formal-theme .login-shell { padding: 68px 16px 24px; align-items: center; }
        html body.erp-formal-theme .auth-surface { display: block; width: min(460px, 100%); min-height: 0; border-radius: 20px; }
        html body.erp-formal-theme .brand-pane { display: none; }
        html body.erp-formal-theme .login-pane { padding: 32px 26px; }
        html body.erp-formal-theme .login-title { font-size: 1.9rem; }
        html body.erp-formal-theme .login-brand-lockup { margin-bottom: 24px; }
        html body.erp-formal-theme .pos-header { padding: 16px; }
        html body.erp-formal-theme :is(.pos-context-bar, .restaurant-order-strip) { grid-template-columns: minmax(0, 1fr); }
        html body.erp-formal-theme .pos-product-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 7px; }
        html body.erp-formal-theme .pos-header .btn { min-height: 40px; }
        html body.erp-formal-theme :is(.form-control, .form-select, .searchable-select-trigger, .cyber-input) { font-size: 16px; }
    }
    @media (min-width: 992px) {
        html body.erp-formal-theme .erp-layout.sidebar-hidden { --erp-sidebar-width: 0px; }
        html body.erp-formal-theme .erp-layout.sidebar-hidden .erp-sidebar { width: 0; visibility: hidden; overflow: hidden; border: 0; }
    }
    @media (prefers-reduced-motion: reduce) {
        html body.erp-formal-theme *, html body.erp-formal-theme *::before, html body.erp-formal-theme *::after { transition: none !important; animation: none !important; scroll-behavior: auto !important; }
    }
}
