:root{--bg:#0c0f14;--bg-soft:#121826;--card:#151c2f;--text:#f5f7ff;--muted:#a8b0c2;--accent:#2cf6c3;--accent-2:#ff7a59;--accent-3:#6d7cff;--outline:rgba(255,255,255,0.08);--glow:0 0 40px rgba(44,246,195,0.2);--radius:16px}:root[data-theme=light]{--bg:#f4f7fb;--bg-soft:#e9eef7;--card:#ffffff;--text:#1d2430;--muted:#5c697f;--accent:#0e9f83;--accent-2:#d94e2e;--accent-3:#3f5bd8;--outline:rgba(24,38,66,0.14);--glow:0 0 30px rgba(63,91,216,0.18)}*{box-sizing:border-box}body,html{height:100%}body{margin:0;font-family:Sora,Space Grotesk,system-ui,sans-serif;color:var(--text);background:radial-gradient(1200px 600px at 15% 0,#1d2b3a 0,transparent 55%),radial-gradient(900px 600px at 85% 10%,#2a1c3f 0,transparent 60%),linear-gradient(180deg,#0b0e14,#0f1420)}:root[data-theme=light] body{background:radial-gradient(1100px 560px at 12% 0,#d8e6ff 0,transparent 55%),radial-gradient(900px 560px at 88% 8%,#f3dff1 0,transparent 60%),linear-gradient(180deg,#f7f9fd,#eef3fa)}@import url("https://fonts.googleapis.com/css2?family=Sora:wght@300;400;500;600;700&family=Space+Grotesk:wght@400;500;600&display=swap");.app-shell{min-height:100vh;display:flex;flex-direction:column}.app-header{position:-webkit-sticky;position:sticky;top:0;z-index:10;justify-content:space-between;padding:20px 28px;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:rgba(10,14,20,.65);border-bottom:1px solid var(--outline)}.app-header,.brand{display:flex;align-items:center}.brand{gap:10px}.brand-dot{width:14px;height:14px;border-radius:50%;background:conic-gradient(from 120deg,var(--accent),var(--accent-2),var(--accent-3));box-shadow:var(--glow)}.brand-text{font-size:20px;font-weight:700;letter-spacing:.5px}.brand-sub{font-size:12px;padding:2px 8px;border-radius:999px;background:rgba(109,124,255,.2);color:#c6d0ff}.header-actions{display:flex;align-items:center;gap:12px}.btn{border:none;border-radius:999px;padding:8px 14px;font-weight:600;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease}.btn-ghost{background:transparent;color:var(--text);border:1px solid var(--outline)}.btn-primary{background:linear-gradient(135deg,var(--accent),var(--accent-3));color:#0b0e14;border:none}.btn-station-edit{background:rgba(44,246,195,.12);color:var(--accent);border:1px solid rgba(44,246,195,.45);padding:6px 12px}.btn-station-danger{background:rgba(255,122,89,.1);color:var(--accent-2);border:1px solid rgba(255,122,89,.45);padding:6px 12px}.btn:hover{transform:translateY(-1px);box-shadow:var(--glow)}.chip{display:inline-flex;align-items:center;padding:6px 12px;border-radius:999px;font-size:12px;line-height:1.35;border:1px solid rgba(44,246,195,.4);color:var(--accent);background:rgba(44,246,195,.08);white-space:normal;word-break:break-word}.chip-row{display:flex;flex-wrap:wrap;gap:8px;align-items:flex-start}.app-body{display:grid;grid-template-columns:240px 1fr;grid-gap:24px;gap:24px;padding:24px}.app-sidebar{border-radius:var(--radius);padding:18px;background:linear-gradient(180deg,rgba(23,31,52,.9),rgba(16,22,38,.85));border:1px solid rgba(109,124,255,.22);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);height:-moz-fit-content;height:fit-content;box-shadow:inset 0 1px 0 rgba(255,255,255,.04),0 14px 28px rgba(0,0,0,.22)}.nav-title{font-size:11px;text-transform:uppercase;letter-spacing:.14em;color:#9ca8c6;margin-bottom:10px;padding:0 6px}.nav{display:flex;flex-direction:column;gap:6px}.nav-item{display:block;padding:11px 12px;border-radius:10px;color:#c8d1e6;font-weight:500;text-decoration:none;border:1px solid transparent;cursor:pointer;transition:background .2s ease,color .2s ease,border-color .2s ease,transform .15s ease}.nav-item.active,.nav-item:hover{background:linear-gradient(135deg,rgba(109,124,255,.22),rgba(44,246,195,.08));border-color:rgba(109,124,255,.45);color:#eef1ff;transform:translateX(1px)}.nav-item:focus-visible{outline:2px solid rgba(44,246,195,.55);outline-offset:1px}.sidebar-card{margin-top:20px;padding:14px;border-radius:12px;background:rgba(15,20,32,.6);border:1px solid var(--outline)}.sidebar-card-title{font-size:12px;color:var(--muted);margin-bottom:6px}.sidebar-card-value{font-size:16px;font-weight:600}.sidebar-card-note{font-size:12px;color:var(--muted)}.app-content,.page{gap:24px}.app-content,.auth-screen,.page{display:flex;flex-direction:column}.auth-screen{min-height:100vh;justify-content:center;align-items:center;gap:18px;padding:24px}.auth-hero{width:min(680px,96vw)}.auth-card{width:min(560px,96vw)}.section-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));grid-gap:16px;gap:16px}.stations-layout{grid-template-columns:1fr 2fr}.section-title{font-size:16px;margin:0 0 12px}.form-card{max-width:560px}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));grid-gap:12px;gap:12px;margin-bottom:12px}.field{display:flex;flex-direction:column;gap:6px;font-size:12px;color:var(--muted)}.field input,.field select{padding:10px 12px;border-radius:10px;border:1px solid var(--outline)}.field input,.field select,.textarea{background:rgba(10,14,20,.6);color:var(--text)}.textarea{width:100%;padding:12px;border-radius:12px;border:1px solid var(--outline);margin-bottom:12px;font-family:Space Grotesk,monospace;font-size:12px}.field.full{grid-column:1/-1}.error-text{color:var(--accent-2);margin-bottom:10px}.list{display:flex;flex-direction:column;gap:10px;margin-top:12px}.list-item{display:flex;align-items:center;justify-content:space-between;padding:12px;border-radius:12px;border:1px solid var(--outline);background:rgba(15,20,32,.7);gap:12px}.list-item-column{flex-direction:column;align-items:stretch}.list-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.list-actions{display:flex;gap:8px}.stock-inline-controls{flex-wrap:wrap;align-items:center}.stock-inline-input{width:96px;padding:9px 10px;border-radius:10px;border:1px solid var(--outline);background:rgba(10,14,20,.6);color:var(--text);font-size:12px}.stock-inline-input::placeholder{color:var(--muted)}.btn-icon{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0}.btn-icon svg{width:18px;height:18px}.modal-backdrop{position:fixed;inset:0;background:rgba(5,8,12,.6);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;z-index:50}.modal{width:min(720px,92vw);background:var(--card);border-radius:var(--radius);border:1px solid var(--outline);box-shadow:0 30px 80px rgba(0,0,0,.4);padding:18px}.modal-wide{width:min(980px,95vw)}.modal-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.modal-title{font-size:16px;font-weight:600}.modal-body{max-height:70vh;overflow:auto;padding-right:6px}.modal-footer{display:flex;justify-content:flex-end;gap:10px;margin-top:12px}.list-title{font-weight:600}.list-meta{color:var(--muted);font-size:12px}.hero-actions{display:flex;gap:12px;margin-top:16px;flex-wrap:wrap}.hero{padding:24px;border-radius:var(--radius);background:linear-gradient(135deg,rgba(109,124,255,.2),rgba(44,246,195,.15));border:1px solid rgba(109,124,255,.35);position:relative;overflow:hidden}.hero:after{content:"";position:absolute;right:-40px;top:-80px;width:200px;height:200px;background:radial-gradient(circle,rgba(255,122,89,.45),transparent 60%);pointer-events:none}.hero-title{font-size:26px;font-weight:700;margin:0 0 8px}.hero-sub{color:var(--muted);max-width:520px}.dashboard-hero{padding:16px 18px}.dashboard-hero-head .hero-title{margin-bottom:2px;font-size:22px}.dashboard-hero-actions{margin-top:8px}@media (min-width:900px){.dashboard-hero{display:flex;align-items:center;justify-content:space-between;gap:16px}.dashboard-hero-actions{margin-top:0;margin-left:auto}}.dashboard-page{gap:14px}.dashboard-main-grid{display:grid;grid-template-columns:1.45fr 1fr;grid-gap:12px;gap:12px;align-items:start}.dashboard-report-card .section-row{margin-bottom:8px}.dashboard-report-card .stats-grid{gap:10px}.dashboard-report-card .stat-card{padding:12px}.dashboard-chart{margin-top:12px;min-height:100px;padding:10px}.dashboard-summary-panel .section-row{margin-bottom:8px}.dashboard-summary-panel .summary-grid{grid-template-columns:repeat(2,minmax(120px,1fr));gap:10px}.dashboard-summary-panel .summary-card{padding:10px 12px}.dashboard-summary-panel .summary-value{font-size:18px}@media (max-width:1200px){.dashboard-main-grid{grid-template-columns:1fr}}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));grid-gap:16px;gap:16px}.card{background:var(--card);border-radius:var(--radius);border:1px solid var(--outline);padding:18px;box-shadow:0 10px 30px rgba(0,0,0,.2);position:relative;overflow:hidden}.card:before{content:"";position:absolute;inset:-1px;border-radius:var(--radius);border:1px solid rgba(255,255,255,.05);pointer-events:none}.card-title{font-size:14px;color:var(--muted);margin-bottom:10px}.card-value{font-size:24px;font-weight:700}.card-meta{font-size:12px;color:var(--muted);margin-top:6px}.section-row{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:12px;flex-wrap:wrap}.section-sub{color:var(--muted);font-size:12px;margin:-6px 0 0}.segmented{display:inline-flex;border-radius:999px;border:1px solid var(--outline);background:rgba(10,14,20,.4);overflow:hidden}.segmented-btn{border:none;background:transparent;color:var(--muted);padding:6px 12px;font-size:12px;cursor:pointer}.segmented-btn.active{background:rgba(109,124,255,.25);color:#e6e9ff}.search-shell{position:relative}.search-input{width:100%;padding:12px 14px;border-radius:12px;background:rgba(10,14,20,.6);color:var(--text)}.search-input,.search-results{border:1px solid var(--outline)}.search-results{margin-top:8px;background:var(--card);border-radius:12px;overflow:hidden;box-shadow:0 20px 40px rgba(0,0,0,.35)}.search-item{width:100%;border:none;background:transparent;color:var(--text);padding:12px 14px;display:flex;align-items:center;justify-content:space-between;gap:12px;cursor:pointer;text-align:left}.search-item:hover{background:rgba(109,124,255,.12)}.search-title{font-weight:600}.empty-state,.search-meta{color:var(--muted);font-size:12px}.empty-state{padding:12px 14px}.search-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));grid-gap:12px;gap:12px}.search-card{border:1px solid var(--outline);background:rgba(12,16,26,.6);border-radius:14px;padding:14px;color:var(--text);text-align:left;cursor:pointer}.search-card:hover{border-color:rgba(109,124,255,.5);box-shadow:0 0 0 1px rgba(109,124,255,.2)}.search-card-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.search-card-body{display:grid;grid-gap:8px;gap:8px}.search-product{display:grid;grid-template-columns:minmax(220px,1fr) minmax(260px,1.4fr);grid-gap:12px;gap:12px;align-items:stretch}.search-card-left,.search-card-right{cursor:default}.search-card-left{cursor:pointer}.timeline{display:grid;grid-gap:10px;gap:10px}.timeline-item{display:grid;grid-template-columns:12px 1fr;grid-gap:10px;gap:10px}.timeline-dot{width:10px;height:10px;border-radius:50%;background:var(--accent);margin-top:6px;box-shadow:0 0 12px rgba(44,246,195,.5)}.timeline-body{display:grid;grid-gap:4px;gap:4px}.timeline-title{font-weight:600}.timeline-meta{color:var(--muted);font-size:11px}.timeline-note{color:var(--text);font-size:12px}.search-row{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:12px;color:var(--muted)}.search-row strong{color:var(--text);font-weight:600}.autofill-guard{position:absolute;opacity:0;pointer-events:none;height:0;width:0;overflow:hidden}.detail-grid{display:grid;grid-gap:10px;gap:10px}.detail-row{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:12px;color:var(--muted);border-bottom:1px solid var(--outline);padding-bottom:6px}.detail-row strong{color:var(--text);font-weight:600}.qr-card{display:grid;grid-template-columns:140px 1fr;grid-gap:16px;gap:16px;align-items:start;padding:12px;border:1px solid var(--outline);border-radius:14px;background:rgba(10,14,20,.6)}.qr-left{display:flex;align-items:center;justify-content:center}.qr-image{width:140px;height:140px;object-fit:contain;background:#fff;padding:6px;border-radius:12px}.qr-image-small{width:64px;height:64px;padding:4px;border-radius:10px;margin-left:8px}.qr-right{display:grid;grid-gap:8px;gap:8px}.qr-title{font-weight:700}.qr-row{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:12px;color:var(--muted)}.qr-row strong{color:var(--text);font-weight:600}.qr-strip{display:flex;gap:6px;margin-top:6px;flex-wrap:wrap}.qr-strip-item{width:44px;height:44px;background:#fff;border-radius:8px;padding:3px}.qr-strip-item img{width:100%;height:100%;object-fit:contain}.qr-items{display:grid;grid-gap:6px;gap:6px;padding-top:6px;border-top:1px solid var(--outline)}.qr-items-title{font-weight:600;font-size:12px}.qr-item-row{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:12px;color:var(--muted)}.qr-item-main{display:grid;grid-gap:2px;gap:2px}.qr-item-row-btn{width:100%;border:1px solid var(--outline);border-radius:10px;background:transparent;color:inherit;text-align:left;cursor:pointer;padding:8px}.qr-item-row-btn:hover{border-color:rgba(109,124,255,.45)}.qr-item-name{color:var(--text);font-weight:600}.qr-item-meta{color:var(--muted)}.qr-event-row{display:grid;grid-gap:6px;gap:6px;border:1px solid var(--outline);border-radius:10px;background:rgba(255,255,255,.02);padding:8px}.qr-event-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.qr-event-date{color:var(--muted);font-size:12px;white-space:nowrap}.items-grid{display:grid;grid-gap:12px;gap:12px;margin-top:8px}.item-row{display:grid;grid-template-columns:1.2fr 1.2fr 1fr .6fr auto;grid-gap:8px;gap:8px;align-items:center}.item-actions{display:flex;gap:6px}.item-row-actions{display:flex;gap:8px;justify-content:flex-end}.item-row input,.item-row select{padding:8px 10px;border-radius:10px;border:1px solid var(--outline);background:rgba(10,14,20,.6);color:var(--text);font-size:12px}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));grid-gap:14px;gap:14px}.stat-card{border-radius:14px;border:1px solid var(--outline);background:rgba(12,16,26,.6);padding:14px}.stat-label{color:var(--muted);font-size:12px}.stat-value{font-size:22px;font-weight:700;margin-top:6px}.stat-sub{color:var(--muted);font-size:11px;margin-top:4px}.chart{display:grid;grid-template-columns:repeat(7,minmax(36px,1fr));grid-gap:10px;gap:10px;align-items:end;margin-top:18px;padding:12px;border-radius:14px;border:1px solid var(--outline);background:rgba(10,14,20,.5)}.chart-bar{display:flex;flex-direction:column;align-items:center;gap:6px;height:120px;justify-content:flex-end}.chart-value{width:100%;border-radius:8px;background:linear-gradient(180deg,var(--accent),rgba(44,246,195,.15));min-height:6px}.chart-top-value{font-size:10px;color:var(--text);font-weight:700}.chart-label{font-size:10px;color:var(--muted)}.summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));grid-gap:12px;gap:12px}.summary-card{border-radius:14px;border:1px solid var(--outline);background:rgba(12,16,26,.6);padding:14px}.summary-label{color:var(--muted);font-size:12px}.summary-value{font-size:20px;font-weight:700;margin-top:6px}.code-block{background:rgba(10,14,20,.8);border:1px solid var(--outline);border-radius:12px;padding:12px;font-size:12px;color:#cfd6e6;overflow:auto}.pulse{position:relative}.pulse:after{content:"";position:absolute;width:12px;height:12px;border-radius:50%;background:var(--accent);right:16px;top:16px;box-shadow:0 0 18px rgba(44,246,195,.6);animation:pulse 2s infinite}@keyframes pulse{0%{transform:scale(.9);opacity:.7}70%{transform:scale(1.4);opacity:0}to{transform:scale(.9);opacity:0}}.loading-wrap{display:flex;align-items:center;justify-content:center;gap:12px;padding:48px}.loading-dot{width:10px;height:10px;border-radius:50%;background:var(--accent-3);animation:bounce 1.2s ease-in-out infinite}.loading-dot:nth-child(2){animation-delay:.2s;background:var(--accent)}.loading-dot:nth-child(3){animation-delay:.4s;background:var(--accent-2)}@keyframes bounce{0%,80%,to{transform:translateY(0);opacity:.6}40%{transform:translateY(-8px);opacity:1}}@media (max-width:960px){.app-body{grid-template-columns:1fr}.app-sidebar{order:2}.stations-layout{grid-template-columns:1fr}}:root[data-theme=light] .app-header{background:rgba(255,255,255,.78)}:root[data-theme=light] .brand-sub{background:rgba(63,91,216,.14);color:#3f4d7d}:root[data-theme=light] .app-sidebar{background:linear-gradient(180deg,rgba(255,255,255,.94),rgba(245,249,255,.92));border-color:rgba(63,91,216,.2);box-shadow:inset 0 1px 0 rgba(255,255,255,.8),0 10px 24px rgba(29,36,48,.1)}:root[data-theme=light] .nav-title{color:#5c6982}:root[data-theme=light] .nav-item{color:#2b3650}:root[data-theme=light] .nav-item.active,:root[data-theme=light] .nav-item:hover{color:#1e2740;background:linear-gradient(135deg,rgba(63,91,216,.16),rgba(14,159,131,.14));border-color:rgba(63,91,216,.36)}:root[data-theme=light] .sidebar-card{background:rgba(244,248,255,.86)}:root[data-theme=light] .field input,:root[data-theme=light] .field select,:root[data-theme=light] .item-row input,:root[data-theme=light] .item-row select,:root[data-theme=light] .search-input,:root[data-theme=light] .stock-inline-input,:root[data-theme=light] .textarea{background:#ffffff;color:#1d2430;border-color:rgba(24,38,66,.2)}:root[data-theme=light] .field input::placeholder,:root[data-theme=light] .search-input::placeholder,:root[data-theme=light] .stock-inline-input::placeholder,:root[data-theme=light] .textarea::placeholder{color:#73809a}:root[data-theme=light] .chart,:root[data-theme=light] .code-block,:root[data-theme=light] .list-item,:root[data-theme=light] .qr-card,:root[data-theme=light] .search-card,:root[data-theme=light] .stat-card,:root[data-theme=light] .summary-card{background:rgba(255,255,255,.9);border-color:rgba(24,38,66,.16)}