/* SPDX-License-Identifier: LicenseRef-PVIR-Proprietary */

/* Local UI font: packaged with PVIR, no network dependency. */
@font-face {
    font-family: "PVIR Sans";
    src: url("../../client/vendor/fonts/LiberationSans-Regular.ttf") format("truetype");
    font-style: normal;
    font-weight: 400;
    font-display: swap;
}

@font-face {
    font-family: "PVIR Sans";
    src: url("../../client/vendor/fonts/LiberationSans-Bold.ttf") format("truetype");
    font-style: normal;
    font-weight: 700;
    font-display: swap;
}

:root {
    --document-summary-width: 18rem;
    --panel-side-min-width: 18.75rem;
    --document-line-index-width: 2rem;
    --status-border-width: .25rem;
    --border-strong-width: .125rem;
    --topbar-blur: .5rem;
    --switch-inset: .125rem;
    --focus-shadow: 0 0 0 var(--focus-width) var(--focus-ring);
    --login-shadow: 0 28px 80px var(--shadow-dark);
    --sidebar-shadow: 10px 0 30px var(--shadow-dark-soft);
    --search-shadow: 0 12px 40px var(--shadow-dark-soft);
    --switch-shadow: 0 1px 3px var(--shadow-dark-soft);
    --sidebar-width: 14.875rem;
    --sidebar-drawer-width: 20rem;
    --visually-hidden-size: 1px;
    --nav-icon-width: 1.25rem;
    --field-compact-width: 10rem;
    --field-wide-min-width: 15rem;
    --field-max-width: 32.5rem;
    --status-control-compact-width: 8.25rem;
    --table-min-width: 51.25rem;
    --table-wide-min-width: 73.75rem;
    --table-compact-min-width: 35rem;
    --table-financial-min-width: 40.625rem;
    --column-name-min-width: 14.5rem;
    --document-reference-width: calc(23ch + var(--space-6));
    --case-reference-width: calc(10ch + var(--control-padding) * 2 + var(--border-width) * 2);
    --column-quantity-width: 5rem;
    --column-unit-width: 4.75rem;
    --column-amount-width: 7rem;
    --column-short-width: 5.625rem;
    --column-action-width: 7.5rem;
    --preview-max-height: 61.25rem;
    --editor-max-height: 63.75rem;
    --toast-max-width: 22.5rem;
    --search-results-width: 33.75rem;
    --button-spinner-size: .875rem;
    --disabled-opacity: .45;
    --radius-circle: 50%;
    --font-family: "PVIR Sans", Arial, sans-serif;
    --type-page: 1.25rem;
    --type-section: 1.125rem;
    --type-panel: .875rem;
    --type-body: .8125rem;
    --type-label: .75rem;
    --type-description: var(--type-body);
    --type-meta: .625rem;
    --leading-page: 1.285714;
    --leading-section: 1.363636;
    --leading-panel: 1.444444;
    --leading-body: 1.5;
    --leading-label: 1.428571;
    --leading-description: var(--leading-body);
    --leading-meta: 1.333333;
    --weight-normal: 400;
    --weight-label: 600;
    --weight-heading: 700;
    --space-1: .25rem;
    --space-2: .5rem;
    --space-3: .75rem;
    --space-4: 1rem;
    --space-6: 1.5rem;
    --space-8: 2rem;
    --gap-label: var(--space-1);
    --gap-title: var(--space-1);
    --gap-actions: var(--space-2);
    --gap-fields: var(--space-3);
    --gap-panels: var(--space-3);
    --panel-padding: var(--space-4);
    --control-height: 2.125rem;
    --touch-target: 2.75rem;
    --choice-size: 1.25rem;
    --choice-mark-size: .5rem;
    --switch-width: 2.5rem;
    --switch-height: 1.5rem;
    --switch-knob-size: 1rem;
    --avatar-size: 2rem;
    --topbar-height: 4rem;
    --content-max-width: 107.5rem;
    --search-min-width: 16rem;
    --result-list-max-height: 13rem;
    --progress-height: .375rem;
    --textarea-long-min-height: 13.75rem;
    --logo-settings-min-height: 4.625rem;
    --logo-preview-shell-height: 4.875rem;
    --logo-preview-height: 3.875rem;
    --brand-logo-height: 3.875rem;
    --brand-logo-height-compact: 4rem;
    --brand-logo-height-mobile: 3.625rem;
    --remote-logo-height: 4.5rem;
    --chart-height: 9rem;
    --chart-height-compact: 8rem;
    --chart-empty-min-height: 11.25rem;
    --chart-zero-min-height: 12.5rem;
    --chart-bar-height: .75rem;
    --picker-max-height: 15rem;
    --choice-check-width: .5625rem;
    --choice-check-height: .3125rem;
    --control-radius: .5rem;
    --radius-sm: .375rem;
    --radius-lg: .75rem;
    --radius-pill: 999px;
    --control-padding: var(--space-3);
    --field-min-width: 12rem;
    --source-label-offset: 6rem;
    --dialog-small: 30rem;
    --dialog-medium: 45rem;
    --dialog-large: 65rem;
    --dialog-workspace: 90rem;
    --border-width: 1px;
    --focus-width: 3px;
    --focus-offset: 2px;
    --accent: #ECCA23;
    --accent-hover: #ddb91a;
    --accent-strong: #806a0b;
    --accent-soft: #fff8d2;
    --accent-soft-2: #fffdf1;
    --accent-surface: #fffdf4;
    --accent-gradient: linear-gradient(90deg, #fff8cf 0, #fffdf4 48%, #fff 100%);
    --login-gradient: linear-gradient(135deg, #2f2f2f 0, #252525 58%, #1f1f1f 100%);
    --accent-border: #ddc55a;
    --focus-ring: rgba(128, 106, 11, .3);
    --yellow: var(--accent);
    --yellow-dark: var(--accent-strong);
    --ink: #272727;
    --graphite: #333333;
    --bg: #f4f3ee;
    --surface: #fffefb;
    --surface-2: #f8f7f2;
    --surface-pure: #fff;
    --surface-3: #ecebe6;
    --surface-dark-2: #292929;
    --surface-dark-hover: #41413f;
    --surface-translucent: rgba(255, 254, 251, .94);
    --surface-on-dark-soft: rgba(255, 255, 255, .45);
    --overlay-soft: rgba(18, 18, 18, .55);
    --line: #dedcd4;
    --line-strong: #cbc7b8;
    --line-soft: #eceae4;
    --line-on-dark: #494949;
    --border: var(--line);
    --panel-soft: var(--surface-2);
    --muted: #625f56;
    --text-subtle: #6d6a64;
    --text-on-dark: #d8d8d3;
    --text-on-dark-muted: #bdbdb7;
    --text-on-dark-subtle: #999995;
    --ink-on-accent: #27250f;
    --ok: #2e6d42;
    --ok-bg: #e5f1e8;
    --bad: #9a3333;
    --bad-bg: #f7e8e8;
    --warn: #7a5b12;
    --warn-bg: #f5edcf;
    --info: #415866;
    --info-bg: #e8eef1;
    --radius: .625rem;
    --shadow: 0 1px 3px rgba(28, 28, 24, .04);
    --dialog-shadow: 0 22px 70px rgba(0, 0, 0, .22);
    --shadow-dark-soft: rgba(0, 0, 0, .22);
    --shadow-dark: rgba(0, 0, 0, .34);
    font-family: var(--font-family);
    color: var(--ink);
    background: var(--bg);
}

.sidebar,
.toast {
    --muted: var(--text-on-dark-muted);
}

.button.primary,
.button.active,
.button.is-selected,
.button[aria-selected="true"] {
    --muted: var(--ink);
}

@media (max-width: 640px) {
    :root {
        --panel-padding: var(--space-4);
    }
}

@media (pointer: coarse) {
    :root {
        --control-height: 2.75rem;
    }
}
