:root { font-family: Inter, "Segoe UI", Arial, sans-serif; color-scheme:light; --navy:#12395f; --ink:#173755; --blue:#3b6f9f; --muted:#7890a8; --gold:#ce941b; --gold-dark:#aa7710; --canvas:#f4f8fc; --surface:#fff; --surface-muted:#f2f7fc; --line:#dce9f5; --row-selected:#fff8e9; --page-background:radial-gradient(ellipse at 15% 10%,#d7e7f4 0,transparent 48%),radial-gradient(ellipse at 88% 88%,#f5e8cb 0,transparent 36%),linear-gradient(135deg,#eef3f8,#e7eef5 55%,#f4f0e8); --auth-ink:#173755; --auth-muted:#627b94; --auth-surface:#fff; --auth-field:#f7f9fc; --auth-border:#d8e2ed; --auth-shadow:0 28px 80px #102d4930,0 4px 16px #102d4912; }
:root { --chrome-header:#f8fafc; --chrome-ink:#183650; --chrome-muted:#6d8296; --chrome-border:#d9e3ed; --chrome-hover:#eaf0f6; --sidebar-top:#f7f9fc; --sidebar-bottom:#edf2f7; --sidebar-ink:#183650; --sidebar-muted:#71869b; --sidebar-icon:#496984; --sidebar-divider:#dbe4ed; --sidebar-hover:#e9eff5; --sidebar-active-bg:linear-gradient(100deg,#f8efdb,#f3e7c7); --sidebar-active-border:#d3a342; --sidebar-active-ink:#674910; --sidebar-tooltip:#173650; --sidebar-tooltip-border:#36536c; }
* { box-sizing:border-box; }
html,body,#app { width:100%; height:100%; margin:0; overflow:hidden; background:var(--canvas); }
body { font-family:Inter,"Segoe UI",Arial,sans-serif; font-size:14px; }
button,input,select,textarea { font:inherit; }
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible { outline:2px solid #4b9ce0; outline-offset:2px; }
.app-shell[data-theme="dark"] { color-scheme:dark; --navy:#d6e8fb; --ink:#e3effa; --blue:#a3c4e5; --muted:#9bb2c9; --gold:#efbc4d; --gold-dark:#efbc4d; --canvas:#101b27; --surface:#182737; --surface-muted:#1d3043; --line:#30485e; --row-selected:#40351f; --chrome-header:linear-gradient(105deg,#091725,#102a40); --chrome-ink:#edf4fb; --chrome-muted:#a8bac9; --chrome-border:#344b60; --chrome-hover:#ffffff0d; --sidebar-top:#102d46; --sidebar-bottom:#0b243a; --sidebar-ink:#edf4fb; --sidebar-muted:#a9bfd2; --sidebar-icon:#d7e5f1; --sidebar-divider:#ffffff20; --sidebar-hover:#ffffff10; --sidebar-active-bg:linear-gradient(100deg,#bc8b2b,#795a21); --sidebar-active-border:#e3b44c90; --sidebar-active-ink:#fff; --sidebar-tooltip:#102b45; --sidebar-tooltip-border:#36536c; }
.auth-frame[data-theme="dark"] { color-scheme:dark; --navy:#d6e8fb; --ink:#e3effa; --blue:#a3c4e5; --muted:#9bb2c9; --gold:#efbc4d; --gold-dark:#efbc4d; --canvas:#101b27; --surface:#182737; --surface-muted:#1d3043; --line:#30485e; --auth-ink:#edf3fa; --auth-muted:#a4b5c7; --auth-surface:#17283a; --auth-field:#22364a; --auth-border:#344b60; --auth-shadow:0 28px 80px #02091380,0 4px 16px #02091345; color:var(--ink); background:var(--page-background); }
.app-shell[data-theme="dark"] .sidebar { background:linear-gradient(180deg,var(--sidebar-top),var(--sidebar-bottom)); }
.app-shell[data-theme="dark"] .state-pill { background:#183f39; color:#77dfbc; }
.app-shell[data-theme="dark"] .sample-tab { background:#145a91; }
.app-shell[data-theme="dark"] .sample-tabs button.active { background:#42371e; color:#f5c354; }
.app-shell[data-theme="dark"] .scale-state { background:#183f39; color:#77dfbc; }
.app-shell[data-theme="dark"] .photo-placeholder { background:#293849; }
.app-shell[data-theme="dark"] .notice { background:#173c2d; color:#95e1b6; }
.app-shell[data-theme="dark"] .notice.warning { background:#46391d; color:#f5d27a; }
.app-shell[data-theme="dark"] kbd { background:#263a4d; border-color:#3b5064; color:#a9c7e4; }
#blazor-error-ui { color-scheme:light only; background:lightyellow; bottom:0; box-shadow:0 -1px 2px #0003; box-sizing:border-box; display:none; left:0; padding:.6rem 1.25rem .7rem; position:fixed; width:100%; z-index:1000; }
#blazor-error-ui .dismiss { cursor:pointer; position:absolute; right:.75rem; top:.5rem; }
.startup { min-height:100vh; display:grid; align-content:center; justify-items:center; gap:16px; color:var(--auth-ink); background:var(--page-background); transition:background .25s ease,color .25s ease; }
html[data-theme="dark"] { --gold:#efbc4d; --gold-dark:#efbc4d; --page-background:radial-gradient(ellipse at 14% 8%,#26323c 0,transparent 48%),radial-gradient(ellipse at 90% 90%,#3b3020 0,transparent 35%),linear-gradient(135deg,#101d2b,#13263a 56%,#172433); --auth-ink:#edf3fa; --auth-muted:#a4b5c7; --auth-surface:#17283a; --auth-field:#22364a; --auth-border:#344b60; --auth-shadow:0 28px 80px #02091380,0 4px 16px #02091345; color-scheme:dark; }
html[data-theme="dark"] .app-shell { background:var(--page-background); }
html[data-theme="dark"] .startup { color:#edf3fa; }
.loading-visual { position:relative; display:grid; width:82px; height:82px; place-items:center; filter:drop-shadow(0 8px 16px #071c3030); }
.loading-visual::before { position:absolute; inset:-5px; border:1px solid color-mix(in srgb,var(--gold) 24%,transparent); border-radius:50%; content:""; animation:loading-breathe 2.2s ease-in-out infinite; }
.loading-orbit { position:absolute; inset:2px; border:1.5px solid color-mix(in srgb,var(--gold) 25%,transparent); border-top-color:var(--gold); border-right-color:color-mix(in srgb,var(--gold) 76%,transparent); border-radius:50%; animation:loading-spin 2s linear infinite; }
.loading-orbit::after { position:absolute; top:5px; right:8px; width:8px; height:8px; border:2px solid var(--auth-surface); border-radius:50%; background:var(--gold); box-shadow:0 0 14px color-mix(in srgb,var(--gold) 70%,transparent); content:""; }
.loading-mark { display:grid; width:46px; height:46px; place-items:center; border:1px solid color-mix(in srgb,var(--gold) 72%,transparent); border-radius:15px; color:var(--gold-dark); background:var(--auth-surface); box-shadow:0 5px 16px #06172a20,inset 0 1px #ffffff26; font-family:Georgia,serif; font-size:23px; font-weight:750; }
.loading-spark { position:absolute; right:1px; bottom:12px; width:5px; height:5px; border-radius:50%; background:#fff0b4; box-shadow:0 0 12px 3px #dcae3e; animation:spark-pulse 1.5s ease-in-out infinite; }
.loading-brand { display:grid; justify-items:center; gap:4px; }.loading-brand strong { color:var(--auth-ink); font-size:20px; letter-spacing:.15px; }.loading-brand span { color:var(--auth-muted); font-size:9px; font-weight:650; letter-spacing:2.8px; }
.loading-progress { width:140px; height:2px; overflow:hidden; border-radius:2px; background:#ffffff1b; }.loading-progress span { display:block; width:38%; height:100%; border-radius:inherit; background:linear-gradient(90deg,#b67e1d,#f1c75b); animation:loading-progress 1.8s ease-in-out infinite; }
.startup small { color:var(--auth-muted); font-size:12px; letter-spacing:.2px; }
.app-loading { display:flex; min-height:130px; flex-direction:column; align-items:center; justify-content:center; gap:10px; color:var(--ink); }.app-loading .loading-visual { width:58px; height:58px; }.app-loading .loading-mark { width:34px; height:34px; font-size:18px; }.app-loading .loading-brand strong { font-size:14px; }.app-loading .loading-brand span { color:var(--muted); font-size:7px; }.app-loading .loading-progress { width:110px; background:var(--line); }.app-loading small { color:var(--muted); font-size:11px; }
.app-loading--fullscreen { min-height:100dvh; color:var(--auth-ink); background:var(--page-background); transition:background .25s ease,color .25s ease; }
.app-loading--fullscreen[data-theme="dark"] { color:#edf3fa; }
.app-loading--fullscreen[data-theme="dark"] .loading-brand span,.app-loading--fullscreen[data-theme="dark"] small { color:var(--auth-muted); }
.app-loading--fullscreen[data-theme="dark"] .loading-progress { background:#ffffff20; }
@keyframes loading-spin { to { transform:rotate(360deg); } } @keyframes loading-progress { 0% { transform:translateX(-115%); } 55% { transform:translateX(170%); } 100% { transform:translateX(300%); } } @keyframes spark-pulse { 50% { opacity:.45; transform:scale(.7); } } @keyframes loading-breathe { 50% { opacity:.45; transform:scale(1.08); } }
@media(prefers-reduced-motion:reduce) { .loading-orbit,.loading-progress span,.loading-spark,.loading-visual::before { animation-duration:8s; } }
@media print {
  @page { margin:12mm; }
  body.print-search-results { color:#172b40!important; background:#fff!important; }
  body.print-search-results * { visibility:hidden!important; }
  body.print-search-results .receipt-search-overlay,
  body.print-search-results .receipt-search-overlay * { visibility:visible!important; }
  body.print-search-results .receipt-search-overlay { position:absolute!important; inset:auto!important; display:block!important; padding:0!important; background:#fff!important; backdrop-filter:none!important; }
  body.print-search-results .receipt-search-dialog { width:100%!important; max-height:none!important; overflow:visible!important; border:0!important; border-radius:0!important; color:#172b40!important; background:#fff!important; box-shadow:none!important; animation:none!important; }
  body.print-search-results .search-dialog-close,
  body.print-search-results .search-submit,
  body.print-search-results .search-footer-actions { display:none!important; }
  body.print-search-results .search-filters { background:#f2f6fa!important; }
  body.print-search-results .search-results-table { overflow:visible!important; }
  body.print-search-results .search-results-table th { position:static!important; color:#33485d!important; background:#edf3f8!important; }
  body.print-search-results .search-results-table td,
  body.print-search-results .search-dialog-heading h2,
  body.print-search-results .search-results-heading,
  body.print-search-results .search-dialog-footer { color:#172b40!important; }
  body.print-search-results .search-results-table tbody tr { break-inside:avoid; }
}
