/* Self-hosted Manrope, unmodified Google Fonts subsets; see brand/manrope/OFL.txt. */
@font-face {
  font-family:"Manrope";font-style:normal;font-weight:200 800;font-display:swap;
  src:url("./brand/manrope/manrope-cyrillic-ext.woff2") format("woff2");
  unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F;
}
@font-face {
  font-family:"Manrope";font-style:normal;font-weight:200 800;font-display:swap;
  src:url("./brand/manrope/manrope-cyrillic.woff2") format("woff2");
  unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;
}
@font-face {
  font-family:"Manrope";font-style:normal;font-weight:200 800;font-display:swap;
  src:url("./brand/manrope/manrope-latin-ext.woff2") format("woff2");
  unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF;
}
@font-face {
  font-family:"Manrope";font-style:normal;font-weight:200 800;font-display:swap;
  src:url("./brand/manrope/manrope-latin.woff2") format("woff2");
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}

/* Shared screen materials. Print labels deliberately keep their existing stylesheet. */
@media screen {
  :root, html[data-theme="light"] {
    color-scheme:light;
    --erp-font:"Manrope","Arial Nova","Helvetica Neue",Arial,sans-serif;
    --erp-page:#f3f5f3;
    --erp-surface:#ffffff;
    --erp-soft:#edf0ed;
    --erp-raised:#ffffff;
    --erp-ink:#242826;
    --erp-muted:#616a65;
    --erp-line:#dfe4df;
    --erp-control-line:#b6c0b8;
    --erp-accent:#e9e3ef;
    --erp-accent-ink:#655475;
    --erp-primary:#282a2b;
    --erp-primary-ink:#fffefa;
    --erp-focus:#79628f;
    --erp-focus-ring:#9b7cb32e;
    --erp-danger:#a43c38;
    --erp-danger-surface:#faece7;
    --erp-danger-line:#dfb6ac;
    --erp-warning:#805615;
    --erp-warning-surface:#f7efdc;
    --erp-warning-line:#dbc7a1;
    --erp-success:#386b56;
    --erp-success-surface:#e6f0e7;
    --erp-radius:28px;
    --erp-control-radius:16px;
    --erp-shadow:0 8px 28px #25232a07,inset 0 1px #ffffffb3;
    --erp-modal-shadow:0 24px 90px #24212a30;
    --erp-glass:#fffffff5;
    --erp-mesh-card:radial-gradient(ellipse at 0% 100%,#cce1dc4d,transparent 62%),radial-gradient(ellipse at 100% 0%,#e0d5eb52,transparent 64%),radial-gradient(ellipse at 90% 100%,#f1d6c529,transparent 50%),var(--erp-surface);
    --erp-mesh-hero:radial-gradient(ellipse at 0% 0%,#c8e1db9c,transparent 62%),radial-gradient(ellipse at 100% 0%,#ddd3e9a3,transparent 64%),radial-gradient(ellipse at 90% 110%,#f1d0bda3,transparent 64%),#f4f0ec;
    --erp-mesh-quiet:radial-gradient(ellipse at 100% 100%,#dfd3e626,transparent 64%),radial-gradient(ellipse at 0% 0%,#cde1d926,transparent 62%),var(--erp-surface);
    --erp-mesh:var(--erp-mesh-hero);
    --erp-selected-mesh:linear-gradient(115deg,#e7dfed,#e9e7e3 48%,#d6e8e1);
    --erp-selected-ink:#303536;
    /* Financial summaries pair their material with readable text and actions. */
    --erp-summary-mesh:radial-gradient(ellipse at 2% 10%,#bcd9d5e6,transparent 64%),radial-gradient(ellipse at 78% 0%,#dcd4e8de,transparent 62%),radial-gradient(ellipse at 100% 100%,#f5c6a9ed,transparent 66%),#e6e3e3;
    --erp-summary-ink:#272f30;
    --erp-summary-muted:#4e5959;
    --erp-summary-line:#52656230;
    --erp-summary-warning:#735016;
    --erp-summary-warning-surface:#fff1d98c;
    --erp-summary-warning-line:#9d784340;
    --erp-summary-chart-mint:#497268;
    --erp-summary-chart-lilac:#7d638b;
    --erp-summary-soft:color-mix(in srgb,var(--erp-surface) 40%,transparent);
    --erp-summary-soft-hover:color-mix(in srgb,var(--erp-surface) 65%,transparent);
    --erp-summary-action-surface:var(--erp-primary);
    --erp-summary-action-ink:var(--erp-primary-ink);
    --erp-chart-mint:#507d6d;
    --erp-chart-lilac:#8b6a9c;
    --erp-text-size:16px;
    --erp-label-size:14px;
    --erp-caption-size:13px;
    --erp-page-heading-size:clamp(32px,3.6vw,44px);
    --erp-page-heading-leading:1.15;
    --erp-page-heading-tracking:-.035em;
    --erp-card-heading-size:24px;
    --erp-card-heading-weight:400;
    --erp-card-heading-leading:1.2;
    --erp-metric-size:56px;
    --erp-metric-weight:400;
    --erp-metric-leading:1.06;
    --erp-backdrop:#1b1b2259;
    --erp-glow-mint:#cae1d940;
    --erp-glow-lilac:#dfcee940;
    --erp-page-paint:radial-gradient(ellipse at 0% 0%,#dfd6e81c,transparent 45rem),radial-gradient(ellipse at 100% 20%,#d1e4dd21,transparent 42rem),var(--erp-page);
  }

  html[data-theme="dark"] {
    color-scheme:dark;
    --erp-page:#0e100f;
    --erp-surface:#1a1d1c;
    --erp-soft:#242827;
    --erp-raised:#2e3330;
    --erp-ink:#f4f5f0;
    --erp-muted:#b4bcb6;
    --erp-line:#353c37;
    --erp-control-line:#657168;
    --erp-accent:#39333f;
    --erp-accent-ink:#dfcce9;
    --erp-primary:#f1f2eb;
    --erp-primary-ink:#292d2d;
    --erp-focus:#d1b6e2;
    --erp-focus-ring:#b595ce33;
    --erp-danger:#ffc0b4;
    --erp-danger-surface:#3b2825;
    --erp-danger-line:#805950;
    --erp-warning:#f0d29b;
    --erp-warning-surface:#363025;
    --erp-warning-line:#7a6745;
    --erp-success:#b4ddc6;
    --erp-success-surface:#283b30;
    --erp-shadow:0 10px 32px #0000001c,inset 0 1px #ffffff05;
    --erp-modal-shadow:0 24px 100px #00000085;
    --erp-glass:#1a1d1cf7;
    --erp-mesh-card:radial-gradient(ellipse at 2% 105%,#8bbcac1c,transparent 62%),radial-gradient(ellipse at 100% 0%,#bba0d11c,transparent 62%),radial-gradient(ellipse at 95% 100%,#d8b29712,transparent 48%),var(--erp-surface);
    --erp-mesh-hero:radial-gradient(ellipse at 0% 0%,#8cbbb033,transparent 63%),radial-gradient(ellipse at 100% 0%,#b7a2cf38,transparent 64%),radial-gradient(ellipse at 90% 110%,#d4af9430,transparent 64%),#202623;
    --erp-mesh-quiet:radial-gradient(ellipse at 100% 100%,#bba0cd0e,transparent 64%),radial-gradient(ellipse at 0% 0%,#8bb5a70d,transparent 62%),var(--erp-surface);
    --erp-selected-mesh:linear-gradient(115deg,#e2d7eb,#e9e4e0 48%,#d2e6dd);
    --erp-selected-ink:#303536;
    --erp-chart-mint:#b1d8c7;
    --erp-chart-lilac:#cfb4df;
    --erp-summary-mesh:var(--erp-mesh-hero);
    --erp-summary-ink:var(--erp-ink);
    --erp-summary-muted:var(--erp-muted);
    --erp-summary-line:var(--erp-line);
    --erp-summary-warning:var(--erp-warning);
    --erp-summary-warning-surface:var(--erp-warning-surface);
    --erp-summary-warning-line:var(--erp-warning-line);
    --erp-summary-chart-mint:var(--erp-chart-mint);
    --erp-summary-chart-lilac:var(--erp-chart-lilac);
    --erp-backdrop:#08080ba6;
    --erp-glow-mint:#8bbcac1c;
    --erp-glow-lilac:#bba0d11c;
    --erp-page-paint:radial-gradient(ellipse at 0% 0%,#aa90bd07,transparent 45rem),radial-gradient(ellipse at 100% 20%,#87b3a406,transparent 42rem),var(--erp-page);
  }

  html[data-theme] {
    --ink:var(--erp-ink);
    --text:var(--erp-ink);
    --muted:var(--erp-muted);
    --line:var(--erp-line);
    --surface:var(--erp-page);
    --pearl:var(--erp-surface);
    --glass:var(--erp-glass);
    --focus:var(--erp-focus);
    --font-display:var(--erp-font);
    --soft-shadow:var(--erp-shadow);
    --page-background:var(--erp-page-paint);
    --directory-surface:var(--erp-surface);
    --directory-card:var(--erp-soft);
    --directory-line:var(--erp-line);
    --directory-ink:var(--erp-ink);
    --directory-muted:var(--erp-muted);
    --directory-hover:var(--erp-raised);
    --directory-selected:var(--erp-selected-mesh);
    --desktop-rail-surface:var(--erp-page);
    --desktop-rail-line:var(--erp-line);
    --desktop-rail-icon:var(--erp-muted);
    --desktop-rail-hover:var(--erp-soft);
    --desktop-rail-accent:var(--erp-accent);
    font-family:var(--erp-font);
    background:var(--erp-page);
  }
  html[data-theme] body:not(.camera-mode) {
    color:var(--erp-ink);
    background:var(--erp-page-paint);
    font-family:var(--erp-font);
    font-size:var(--erp-text-size);
  }
  html[data-theme] body:not(.camera-mode):has(#navigation:not([hidden])) {background:var(--erp-page-paint)}
  html[data-theme] :is(button,input,select,textarea) {font-family:var(--erp-font)}
  html[data-theme] :is(h1,h2,h3,h4) {font-family:var(--erp-font)}
  html[data-theme] :is(.heading,.dialog-heading,.section-label) :is(h1,h2,h3) {font-weight:var(--erp-card-heading-weight)}
  html[data-theme] #content :is(.heading,.notification-heading,.settings-heading,.supplier-heading) h1 {font-size:var(--erp-page-heading-size);font-weight:400;line-height:var(--erp-page-heading-leading);letter-spacing:var(--erp-page-heading-tracking)}
  html[data-theme] :is(input,select,textarea) {accent-color:var(--erp-focus)}
  html[data-theme] :is(input,select,textarea):not([type="checkbox"],[type="radio"],[type="range"],[type="file"]):not(.quantity-value) {caret-color:var(--erp-focus)}
  html[data-theme] :is(.form-error,.field-error) {color:var(--erp-danger)}
  html[data-theme] .eyebrow {font-size:12px;line-height:1.45;letter-spacing:.09em;color:var(--erp-muted)}

  /* Apply the same material to the global header; dossiers retain their own layout. */
  html[data-theme] body:not(.camera-mode):not(:has(.doctor-profile-reference)) #header.site-header {
    border-color:var(--erp-line);
    border-radius:28px;
    color:var(--erp-ink);
    background:var(--erp-mesh-quiet);
    box-shadow:var(--erp-shadow);
    backdrop-filter:none;
    -webkit-backdrop-filter:none;
  }
  html[data-theme] body:not(.camera-mode):not(:has(.doctor-profile-reference)) #header :is(.desktop-quick-action,.mobile-settings-action,.desktop-profile,.mobile-character-profile) {
    border-color:var(--erp-line);background:var(--erp-soft);color:var(--erp-ink);
  }
  html[data-theme] body:not(.camera-mode):not(:has(.doctor-profile-reference)) #header :is(.unit-trigger,.warehouse-control-select) {
    color:var(--erp-ink);background:var(--erp-soft);border-color:var(--erp-line);font-size:14px;
  }
  html[data-theme] body:not(.camera-mode):not(:has(.doctor-profile-reference)) #header .cabinet-control .unit-trigger {
    color:var(--erp-accent-ink);background:var(--erp-accent);border-color:var(--erp-control-line);
  }
  html[data-theme] #header :is(.desktop-profile-copy small,.context-field-label) {color:var(--erp-muted)}
  html[data-theme] body:has(.management-overview) {
    --overview-shell-surface:var(--erp-surface);--overview-shell-soft:var(--erp-soft);
    --overview-shell-line:var(--erp-line);--overview-shell-ink:var(--erp-ink);--overview-shell-muted:var(--erp-muted);
    --overview-shell-glow:radial-gradient(ellipse at 0% 100%,var(--erp-glow-mint),transparent 65%),radial-gradient(ellipse at 100% 0%,var(--erp-glow-lilac),transparent 65%);
  }

  /* Menus and forms keep their original geometry and scrolling contracts. */
  html[data-theme] :is(.unit-menu,.unit-selector-menu,.item-actions-menu,.nav-more-panel) {
    color:var(--erp-ink);background:var(--erp-surface);border-color:var(--erp-line);box-shadow:var(--erp-modal-shadow);
  }
  html[data-theme] .unit-menu :is(input,button) {font-size:14px}
  html[data-theme] :is(.item-action-map,.item-action-picker) {
    --item-action-ink:var(--erp-ink);--item-action-muted:var(--erp-muted);
    --item-action-surface:var(--erp-surface);--item-action-tile:var(--erp-soft);
    --item-action-edge:var(--erp-line);--item-action-accent:var(--erp-chart-mint);
    --item-action-selected:var(--erp-accent);--item-action-selected-ink:var(--erp-accent-ink);
    background:var(--erp-mesh-quiet);
  }
  html[data-theme] .item-action-source {background:var(--erp-mesh-card)}
  html[data-theme] .item-action-target small {font-size:13px;line-height:1.5}
  html[data-theme] .item-action-target.is-destructive .item-action-symbol {color:var(--erp-danger)}
  html[data-theme] .item-action-target:is(:focus-visible,.is-connected) {box-shadow:0 0 0 3px var(--erp-focus-ring)}
  html[data-theme] dialog:where(:not(#label-dialog,.scan-dialog)) {
    color:var(--erp-ink);background:var(--erp-mesh-quiet);border-color:var(--erp-line);box-shadow:var(--erp-modal-shadow);
  }
  html[data-theme] dialog:not(#label-dialog)::backdrop {
    background:var(--erp-backdrop);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);
  }
  html[data-theme] .catalog-filter-dialog {
    background:var(--erp-mesh-quiet);color:var(--erp-ink);border-color:var(--erp-line);
    -webkit-backdrop-filter:none;backdrop-filter:none;
  }
  html[data-theme] .catalog-filter-dialog :is(.catalog-filter-dialog-heading,.catalog-filter-section,footer) {border-color:var(--erp-line)}
  html[data-theme] .catalog-filter-dialog-heading button {width:44px;height:44px;border-color:var(--erp-line);background:var(--erp-soft)}
  html[data-theme] .catalog-filter-dialog :is(.unit-trigger,input) {background:var(--erp-surface);color:var(--erp-ink);border-color:var(--erp-control-line)}
  html[data-theme] .catalog-filter-dialog :is(.catalog-filter-section h3,.catalog-filter-price-range label) {font-size:13px;color:var(--erp-muted);letter-spacing:.03em}
  html[data-theme] .catalog-filter-dialog #catalog-price-filter-error {color:var(--erp-danger)}
  html[data-theme] :is(.supplier-dialog,.employee-editor-dialog,.stock-editor-dialog,.cabinet-team-dialog,.product-editor-dialog) :is(.dialog-heading,.supplier-dialog-heading,.supplier-dialog-actions,.stock-editor-footer) {border-color:var(--erp-line);background:var(--erp-surface)}
  html[data-theme] .scan-dialog {
    --scan-dialog-surface:var(--erp-surface);font-family:var(--erp-font);
    background:var(--erp-mesh-quiet);border:1px solid var(--erp-control-line);
    color:var(--erp-ink);color-scheme:inherit;box-shadow:var(--erp-modal-shadow);
  }
  html[data-theme] .scan-dialog :is(.scan-dialog-heading,.scan-current-person,.scan-note,.issue-summary) {border-color:var(--erp-line)}
  html[data-theme] .scan-dialog :is(.scan-dialog-heading h2,.scan-material h3,.quantity-value,.quantity-summary-total,.balance-preview strong,.scan-stock-preview>strong,.scan-working-context strong,.scan-dialog-message h3) {color:var(--erp-ink)}
  html[data-theme] .scan-dialog :is(.scan-material p,.scan-material-simple #scan-batch-caption,.scan-dialog-heading p,.scan-working-context small,.scan-cabinet-setup>small,.scan-stock-preview>span,.scan-stock-preview small,.quantity-unit-static,.quantity-control-heading span,.quantity-summary-note,.quantity-summary-heading,.balance-preview span,.balance-preview small,.scan-dialog-message p,.submit-area p) {color:var(--erp-muted);font-size:13px;line-height:1.5}
  html[data-theme] .scan-dialog :is(label,.quantity-control-heading label,.quantity-unit>label,.scan-batch-field>label,.scan-note>summary,.scan-batch-choice>summary) {color:var(--erp-ink);font-size:14px;line-height:1.5}
  html[data-theme] .scan-dialog .scan-working-context {background:var(--erp-mesh-card);border-color:var(--erp-line)}
  html[data-theme] .scan-dialog .scan-working-context strong {font-size:15px}
  html[data-theme] .scan-dialog :is(.scan-context-symbol,#change-scan-cabinet) {color:var(--erp-accent-ink)}
  html[data-theme] .scan-dialog #change-scan-cabinet {font-size:14px}
  html[data-theme] .scan-dialog #close-scan,
  html[data-theme] .scan-dialog .quantity-adjust {background:var(--erp-soft);color:var(--erp-ink);border-color:var(--erp-control-line)}
  html[data-theme] .scan-dialog .quantity-adjust[data-quantity-delta="1"] {background:var(--erp-accent);color:var(--erp-accent-ink);border-color:var(--erp-line)}
  html[data-theme] .scan-dialog .quantity-ruler::before {background:linear-gradient(90deg,var(--erp-surface),transparent)}
  html[data-theme] .scan-dialog .quantity-ruler::after {background:linear-gradient(270deg,var(--erp-surface),transparent)}
  html[data-theme] .scan-dialog .quantity-tick {background:var(--erp-control-line)}
  html[data-theme] .scan-dialog .quantity-tick.is-major {background:var(--erp-muted)}
  html[data-theme] .scan-dialog .quantity-ruler-marker {background:var(--erp-focus)}
  html[data-theme] .scan-dialog .quantity-ruler[data-dragging="true"] {background:var(--erp-soft);border-color:var(--erp-control-line)}
  html[data-theme] .scan-dialog .quantity-ruler[data-dragging="true"] .quantity-ruler-marker {box-shadow:0 0 12px var(--erp-focus-ring)}
  html[data-theme] .scan-dialog :is(.unit-trigger,.unit-menu,input:not(.quantity-value),textarea,select) {background:var(--erp-surface);color:var(--erp-ink);border-color:var(--erp-control-line)}
  html[data-theme] .scan-dialog .unit-option {color:var(--erp-ink)}
  html[data-theme] .scan-dialog .unit-option[aria-selected="true"] {background:var(--erp-accent);color:var(--erp-accent-ink)}
  html[data-theme] .scan-dialog :is(input,textarea)::placeholder {color:var(--erp-muted)}
  html[data-theme] .scan-dialog :is(input:not(.quantity-value),textarea,select):focus {background:var(--erp-raised);border-color:var(--erp-focus)}
  html[data-theme] .scan-dialog :focus-visible {outline-color:var(--erp-focus)}
  html[data-theme] .scan-dialog .issue-summary {background:var(--erp-soft)}
  html[data-theme] .scan-dialog :is(.form-error,.issue-summary[data-valid="false"]) {border-color:var(--erp-danger-line);background:var(--erp-danger-surface);color:var(--erp-danger)}
  html[data-theme] .scan-dialog .issue-summary[data-valid="false"] :is(.quantity-summary-total,.quantity-summary-note,.scan-stock-preview>strong) {color:var(--erp-danger)}
  html[data-theme] .scan-dialog .scan-dialog-pending {background:var(--erp-warning-surface);border-color:var(--erp-warning-line);color:var(--erp-warning)}
  html[data-theme] .scan-dialog .scan-dialog-pending p {color:var(--erp-warning);font-size:14px}
  html[data-theme] .scan-dialog :is(.scan-recipient-summary,.scan-recipient-field,.scan-allocation-options) {color:var(--erp-ink);border-color:var(--erp-line)}

  html[data-theme] #navigation-directory.navigation-directory {
    color:var(--erp-ink);background:var(--erp-mesh-quiet);border-color:var(--erp-line);
  }
  html[data-theme] #navigation-directory :is(input,button,a) {font-family:var(--erp-font)}
  html[data-theme] :is(.navigation-directory-search,.directory-search) {border-color:var(--erp-control-line)}

  @media (max-width:1179px) {
    html[data-theme] #navigation.bottom-nav {
      --dock-surface:var(--erp-glass);--dock-ink:var(--erp-muted);
      --dock-active:var(--erp-primary);--dock-active-ink:var(--erp-primary-ink);
      border-color:var(--erp-line);background:var(--erp-glass);
    }
  }
  @media (max-width:600px) {
    :root,html[data-theme] {--erp-metric-size:40px;--erp-page-heading-size:32px}
    html[data-theme] body:not(.camera-mode):not(:has(.doctor-profile-reference)) #header.site-header {border-radius:24px}
  }
  @media (prefers-reduced-motion:reduce) {
    html[data-theme] :is(button,input,select,textarea,dialog) {scroll-behavior:auto}
  }
  @media (forced-colors:active) {
    html[data-theme] :is(.panel,dialog,.unit-menu) {border-color:CanvasText}
  }
}
