/* assets/css/app.css  -  dark glass theme on top of Bootstrap 5.3 (vendored) */
:root { --nw-accent: #22d3ee; --nw-glass: rgba(255,255,255,.05); --nw-border: rgba(255,255,255,.12); }
[data-bs-theme="light"] { --nw-glass: rgba(255,255,255,.85); --nw-border: rgba(15,23,42,.12); }
[data-bs-theme="dark"] body { background: radial-gradient(1100px 520px at 8% -8%, rgba(34,211,238,.10), transparent 60%), radial-gradient(900px 480px at 100% 0, rgba(99,102,241,.10), transparent 60%), #0b1120; background-attachment: fixed; }
[data-bs-theme="light"] body { background: #f1f4fa; }

.glass { background: var(--nw-glass); border: 1px solid var(--nw-border); border-radius: .9rem; -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); }
.card.glass, .modal-content.glass { color: var(--bs-body-color); }
.modal-content.glass { background: var(--bs-body-bg); }

.nw-nav { background: var(--nw-glass); border-bottom: 1px solid var(--nw-border); -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px); position: sticky; top: 0; z-index: 1030; }
.nw-brand { display: inline-flex; align-items: center; gap: .6rem; font-weight: 700; color: inherit; text-decoration: none; }
.nw-brand img { max-height: 32px; max-width: 120px; border-radius: .35rem; }
.nw-nav .nav-link.active { color: var(--nw-accent); font-weight: 600; }
.nw-nav .dropdown-menu { right: 0; left: auto; }

.nw-stat { padding: 1rem 1.15rem; }
.nw-stat .nw-num { font-size: 1.7rem; font-weight: 700; line-height: 1.1; }
.nw-stat .nw-label { color: var(--bs-secondary-color); font-size: .8rem; }
.nw-mono { font-family: ui-monospace, SFMono-Regular, Menlo, monospace; }
.nw-clickable { cursor: pointer; }
.table > :not(caption) > * > * { background: transparent; }
.table-hover > tbody > tr:hover > * { --bs-table-hover-bg: rgba(255,255,255,.04); }
.nw-sticky-head thead th { position: sticky; top: 56px; background: var(--bs-body-bg); z-index: 1; }

/* typeahead */
.nw-ta { position: relative; }
.nw-ta-results { position: absolute; left: 0; right: 0; top: 100%; z-index: 1040; max-height: 320px; overflow: auto; margin-top: .25rem; }
.nw-ta-results .list-group-item { cursor: pointer; }
.nw-ta-results .list-group-item.active { background: rgba(34,211,238,.18); color: inherit; border-color: transparent; }

.print-only { display: none; }
.nw-w-420 { max-width: 420px; } .nw-w-480 { max-width: 480px; } .nw-w-640 { max-width: 640px; }
.nw-logo-preview { max-height: 90px; }
.nw-pre { white-space: pre-wrap; }
.nw-w-qty { width: 7.5rem; }
.nw-print-logo { max-height: 64px; max-width: 160px; }
.badge { font-weight: 600; }

@media (max-width: 575.98px) { .nw-hide-sm { display: none !important; } }

@media print {
  [data-bs-theme="dark"], [data-bs-theme="light"] { --bs-body-color: #000; --bs-body-bg: #fff; --bs-border-color: #ccc; --bs-secondary-color: #444; --bs-table-color: #000; }
  body { background: #fff !important; color: #000 !important; }
  .no-print, .nw-nav, .toast-container, #banners, .modal, .modal-backdrop { display: none !important; }
  .print-only { display: block !important; }
  .glass, .card { background: #fff !important; border: 0 !important; box-shadow: none !important; -webkit-backdrop-filter: none !important; backdrop-filter: none !important; }
  .badge { border: 1px solid #000; color: #000 !important; background: #fff !important; }
  a { color: #000; text-decoration: none; }
}
