:root {
  --nav-grad: linear-gradient(135deg, #0f3d99 0%, #6d28d9 45%, #06b6d4 100%);
  --surface-grad: linear-gradient(135deg, rgba(255,255,255,.96), rgba(255,255,255,.85));
}
body {
  min-height: 100vh;
  background:
    radial-gradient(circle at top left, rgba(56,189,248,.18), transparent 28%),
    radial-gradient(circle at top right, rgba(168,85,247,.16), transparent 24%),
    radial-gradient(circle at bottom left, rgba(16,185,129,.13), transparent 26%),
    linear-gradient(135deg, #eef4ff 0%, #fbf8ff 48%, #f3fcfa 100%);
  color: #17263c;
  font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
}
.app-nav { background: var(--nav-grad); backdrop-filter: blur(12px); }
.brand-mark { width: 34px; height: 34px; display:inline-flex; align-items:center; justify-content:center; border-radius:12px; background:rgba(255,255,255,.18); box-shadow: inset 0 1px 0 rgba(255,255,255,.25); }
.navbar .nav-link { color: rgba(255,255,255,.88); border-radius: 999px; padding-inline: .9rem; }
.navbar .nav-link:hover,.navbar .nav-link:focus,.navbar .nav-link.active { color:#fff; background:rgba(255,255,255,.12); }
.user-pill { background: rgba(255,255,255,.12); border:1px solid rgba(255,255,255,.18); padding:.5rem .8rem; border-radius:999px; }
.page-shell { position:relative; z-index:1; }
.card,.glass-card,.stat-card,.item-card,.summary-box,.invoice-paper,.dashboard-panel,.status-card { border-radius:24px; background: var(--surface-grad); backdrop-filter: blur(12px); }
.card { overflow:hidden; border:0; }
.dashboard-panel,.stat-card,.status-card,.glass-card,.invoice-paper,.login-shell { box-shadow:0 18px 40px rgba(18,37,63,.09); }
.stat-card { position:relative; }
.stat-card::before,.status-card::before { content:""; position:absolute; inset:0; border-radius:inherit; border:1px solid rgba(255,255,255,.55); pointer-events:none; }
.stat-blue { background: linear-gradient(135deg, rgba(59,130,246,.22), rgba(255,255,255,.90)); }
.stat-purple { background: linear-gradient(135deg, rgba(147,51,234,.20), rgba(255,255,255,.90)); }
.stat-teal { background: linear-gradient(135deg, rgba(20,184,166,.20), rgba(255,255,255,.90)); }
.pending-card { background: linear-gradient(135deg, rgba(245,158,11,.18), rgba(255,255,255,.90)); }
.paid-card { background: linear-gradient(135deg, rgba(34,197,94,.16), rgba(255,255,255,.90)); }
.form-control,.form-select,textarea { border-radius:16px !important; border-color:#d7def2; box-shadow:none !important; }
.form-control:focus,.form-select:focus,textarea:focus { border-color:#6c63ff; box-shadow:0 0 0 .25rem rgba(108,99,255,.12) !important; }
.btn { border-radius:14px; }
.btn-primary { border:0; background: linear-gradient(135deg, #245dff 0%, #7a3df0 100%); box-shadow:0 10px 24px rgba(72,87,255,.24); }
.btn-primary:hover,.btn-primary:focus { background: linear-gradient(135deg, #1849d9 0%, #6930de 100%); }
.btn-outline-primary { border-color:#5e5ce6; color:#4d46d1; }
.btn-outline-primary:hover { background: linear-gradient(135deg, #eef2ff, #f6edff); color:#4338ca; border-color:#5e5ce6; }
.btn-outline-danger:hover { background:#fff1f2; }
.alert { border-radius:18px; }
.login-side-panel { background: linear-gradient(160deg, #153eaa, #7c3aed 55%, #0fceb4); min-height: 520px; }
.login-mini-card,.login-badge,.login-logo,.premium-filter-card,.premium-chart-card,.premium-item-card { position:relative; }
.login-mini-card { background: rgba(255,255,255,.14); padding:16px; border-radius:18px; border:1px solid rgba(255,255,255,.2); }
.login-badge { display:inline-flex; gap:8px; align-items:center; background: rgba(255,255,255,.16); padding:8px 14px; border-radius:999px; font-size:.9rem; }
.login-logo { width:68px; height:68px; display:flex; align-items:center; justify-content:center; border-radius:22px; background: linear-gradient(135deg, #245dff, #7a3df0); color:#fff; font-size:1.75rem; }
.login-input-group .input-group-text { border-radius:16px 0 0 16px !important; background:#f4f7ff; }
.summary-box { padding:1.2rem 1.35rem; }
.colorful-summary { background: linear-gradient(135deg, rgba(59,130,246,.14), rgba(168,85,247,.12), rgba(16,185,129,.10), rgba(255,255,255,.88)); }
.cart-line { background: linear-gradient(135deg, rgba(36,93,255,.06), rgba(122,61,240,.04), rgba(16,185,129,.04)); border:1px solid rgba(115,126,177,.12); }
.search-results { position:absolute; left:12px; right:12px; top:100%; z-index:5; background:white; border-radius:16px; box-shadow:0 18px 40px rgba(0,0,0,.12); padding:8px; }
.search-result-item { padding:10px 12px; border-radius:12px; cursor:pointer; }
.search-result-item:hover { background: linear-gradient(135deg, #f1f5ff, #faf5ff); }
.item-thumb { width:80px; height:80px; object-fit:cover; border-radius:18px; background:#edf2f7; }
.item-picker-grid { display:grid; grid-template-columns: repeat(auto-fill, minmax(135px, 1fr)); gap:10px; }
.small-item-grid .item-choice-card { min-height:92px; }
.item-choice-card { border:1px solid #d9def9; background:#fff; border-radius:18px; padding:10px; text-align:left; display:flex; align-items:center; gap:10px; width:100%; }
.item-choice-card img { width:46px; height:46px; border-radius:12px; object-fit:cover; background:#edf2f7; }
.item-choice-card.active { border-color:#5b63f1; box-shadow:0 0 0 .2rem rgba(91,99,241,.12); background:linear-gradient(135deg,#f7f7ff,#eefbff); }
.item-choice-name { font-size:.92rem; line-height:1.1; }
.item-choice-desc { font-size:.75rem; color:#64748b; }
.invoice-paper { background:white; max-width:760px; margin:0 auto; padding:30px; }
.thermal-total { max-width:280px; margin-left:auto; }
.table thead th { color:#57627b; font-weight:700; white-space:nowrap; }
.table tbody tr:hover { background: rgba(94,92,230,.035); }
.payment-pending { background: linear-gradient(135deg, rgba(245,158,11,.14), rgba(255,255,255,.9)); }
.payment-paid { background: linear-gradient(135deg, rgba(34,197,94,.14), rgba(255,255,255,.9)); }
.sticky-card { position:sticky; top:92px; }
.no-print { display:flex; }
.min-vh-100-minus { min-height: calc(100vh - 110px); }
@media (max-width: 991.98px) { .sticky-card { position:static; } .item-picker-grid { grid-template-columns: repeat(auto-fill, minmax(120px, 1fr)); } }
@media print {
  .navbar,.no-print,.btn,form,.alert { display:none !important; }
  body { background:white !important; }
  .page-shell { padding:0 !important; }
  .invoice-paper { box-shadow:none !important; padding:0 !important; }
}
