@import "https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@400;500;600;700&family=Inter:wght@400;500;600;700&family=JetBrains+Mono:wght@400;600&display=swap";:root{--bg:#f5f7fb;--surface:#fff;--card-border:#e5eaf3;--text:#101828;--text-dim:#5b6b84;--cyan:#0891b2;--violet:#7c3aed;--emerald:#059669;--amber:#d97706;--rose:#e11d48;--blue:#2563eb;--grad:linear-gradient(90deg, #06b6d4 0%, #8b5cf6 100%);--shadow-sm:0 1px 2px #1018280d;--shadow-md:0 4px 16px #10182812;--shadow-lg:0 12px 32px #1018281a}*{box-sizing:border-box;margin:0;padding:0}body{background:var(--bg);color:var(--text);min-height:100vh;font-family:Inter,system-ui,sans-serif;font-size:14px}body:before{content:"";pointer-events:none;z-index:0;background:radial-gradient(800px 420px at 90% -8%,#8b5cf614,#0000 60%),radial-gradient(700px 400px at -8% 108%,#06b6d412,#0000 60%);position:fixed;inset:0}#root{z-index:1;position:relative}h1,h2,h3,.display{font-family:Space Grotesk,sans-serif}.mono{font-family:JetBrains Mono,monospace}.shell{min-height:100vh;display:flex}.rail{background:var(--surface);border-right:1px solid var(--card-border);width:222px;height:100vh;box-shadow:var(--shadow-sm);flex-direction:column;flex-shrink:0;gap:4px;padding:20px 12px;display:flex;position:sticky;top:0}.brand{align-items:center;gap:10px;padding:4px 10px 18px;display:flex}.brand-badge{background:var(--grad);color:#fff;border-radius:11px;place-items:center;width:36px;height:36px;font-family:Space Grotesk;font-size:15px;font-weight:700;display:grid;box-shadow:0 4px 12px #7c3aed4d}.brand-name{font-family:Space Grotesk;font-size:15px;font-weight:700;line-height:1.15}.brand-sub{color:var(--text-dim);letter-spacing:.09em;text-transform:uppercase;font-size:10.5px;font-weight:600}.nav-item{color:var(--text-dim);cursor:pointer;background:0 0;border:none;border-radius:11px;align-items:center;gap:10px;width:100%;padding:10px 13px;font-family:Inter;font-size:13.5px;font-weight:600;transition:all .15s;display:flex}.nav-item:hover{color:var(--text);background:#f0f3f9}.nav-item.active{color:#fff;background:var(--grad);box-shadow:0 4px 14px #7c3aed47}.nav-item .ico{text-align:center;width:20px;font-size:16px}.nav-count{background:#0000000f;border-radius:6px;margin-left:auto;padding:1px 7px;font-family:JetBrains Mono;font-size:11px}.nav-item.active .nav-count{background:#ffffff40}.main{flex:1;min-width:0}.topbar{border-bottom:1px solid var(--card-border);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:5;background:#ffffffd9;justify-content:space-between;align-items:center;padding:14px 28px;display:flex;position:sticky;top:0}.page-title{font-family:Space Grotesk;font-size:16px;font-weight:700}.pulse-wrap{opacity:.85;flex:1;height:34px;margin:0 26px;overflow:hidden}.live-dot{background:var(--emerald);border-radius:50%;width:9px;height:9px;margin-right:8px;animation:2s infinite ping;display:inline-block;box-shadow:0 0 #05966980}@keyframes ping{0%{box-shadow:0 0 #05966973}70%{box-shadow:0 0 0 9px #05966900}to{box-shadow:0 0 #05966900}}.clock{color:var(--text-dim);font-family:JetBrains Mono;font-size:13px}.content{max-width:1280px;padding:28px 30px 52px}.kpis{grid-template-columns:repeat(auto-fit,minmax(162px,1fr));gap:16px;margin-bottom:28px;display:grid}.kpi{background:var(--surface);border:1px solid var(--card-border);box-shadow:var(--shadow-sm);border-radius:16px;padding:18px 19px;transition:transform .15s,box-shadow .15s;position:relative;overflow:hidden}.kpi:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.kpi:after{content:"";background:var(--accent,var(--grad));height:3px;position:absolute;top:0;left:0;right:0}.kpi-label{letter-spacing:.09em;text-transform:uppercase;color:var(--text-dim);font-size:11px;font-weight:700}.kpi-value{color:var(--text);margin-top:7px;font-family:Space Grotesk;font-size:31px;font-weight:700}.kpi-sub{color:var(--text-dim);margin-top:3px;font-size:11.5px}.card{background:var(--surface);border:1px solid var(--card-border);box-shadow:var(--shadow-sm);border-radius:18px;margin-bottom:24px;overflow:hidden}.card-head{border-bottom:1px solid var(--card-border);justify-content:space-between;align-items:center;gap:14px;padding:16px 22px;display:flex}.card-title{font-family:Space Grotesk;font-size:15.5px;font-weight:700}.search{border:1px solid var(--card-border);color:var(--text);background:#f5f7fb;border-radius:10px;outline:none;width:260px;padding:9px 14px;font-family:Inter;font-size:13px;transition:all .15s}.search:focus{border-color:var(--cyan);background:#fff;box-shadow:0 0 0 3px #06b6d41f}table{border-collapse:collapse;width:100%;font-size:13px}th{text-align:left;letter-spacing:.09em;text-transform:uppercase;color:var(--text-dim);border-bottom:1px solid var(--card-border);white-space:nowrap;background:#fafbfe;padding:11px 18px;font-size:10.5px;font-weight:700}td{vertical-align:top;border-bottom:1px solid #f0f3f9;padding:12px 18px}tr:last-child td{border-bottom:none}tr:hover td{background:#f8fafe}.td-dim{color:var(--text-dim)}.td-wrap{max-width:340px}.chip{letter-spacing:.02em;white-space:nowrap;border-radius:999px;padding:3px 11px;font-size:11px;font-weight:700;display:inline-block}.tid{color:#3b4b66;white-space:nowrap;background:#eef2fa;border-radius:7px;padding:3px 9px;font-family:JetBrains Mono;font-size:12px;font-weight:600}.tabs-inline{gap:6px;padding:12px 18px 0;display:flex}.tab-inline{cursor:pointer;color:var(--text-dim);background:0 0;border:none;border-radius:10px;padding:9px 18px;font-family:Inter;font-size:13px;font-weight:700;transition:all .15s}.tab-inline:hover{color:var(--text);background:#f0f3f9}.tab-inline.active{color:#fff;background:var(--grad);box-shadow:0 3px 10px #7c3aed40}.empty{text-align:center;color:var(--text-dim);padding:46px}.section-note{color:var(--text-dim);padding:10px 22px;font-size:12px}.login-wrap{background:radial-gradient(700px 420px at 85% 0%, #8b5cf61f, transparent 55%), radial-gradient(600px 380px at 0% 100%, #06b6d41a, transparent 55%), var(--bg);place-items:center;min-height:100vh;padding:20px;display:grid}.login-card{background:var(--surface);border:1px solid var(--card-border);width:100%;max-width:410px;box-shadow:var(--shadow-lg);border-radius:22px;padding:40px 36px}.login-logo{justify-content:center;margin-bottom:20px;display:flex}.login-title{text-align:center;margin-bottom:5px;font-size:22px;font-weight:700}.login-sub{text-align:center;color:var(--text-dim);margin-bottom:28px;font-size:13px}.field{margin-bottom:16px}.field label{letter-spacing:.07em;text-transform:uppercase;color:var(--text-dim);margin-bottom:7px;font-size:11.5px;font-weight:700;display:block}.field input{border:1px solid var(--card-border);width:100%;color:var(--text);background:#f5f7fb;border-radius:11px;outline:none;padding:12px 15px;font-family:Inter;font-size:14px;transition:all .15s}.field input:focus{border-color:var(--cyan);background:#fff;box-shadow:0 0 0 3px #06b6d41f}.btn-primary{background:var(--grad);color:#fff;cursor:pointer;letter-spacing:.02em;border:none;border-radius:12px;width:100%;padding:14px;font-family:Space Grotesk;font-size:14.5px;font-weight:700;transition:transform .12s,box-shadow .12s;box-shadow:0 6px 18px #7c3aed4d}.btn-primary:hover{transform:translateY(-1px);box-shadow:0 10px 26px #7c3aed61}.login-err{color:#b91c1c;background:#fef2f2;border:1px solid #fecaca;border-radius:10px;margin-bottom:14px;padding:10px 14px;font-size:13px}.loading{text-align:center;color:var(--text-dim);padding:60px;font-family:Space Grotesk}@media (width<=860px){.rail{width:64px;padding:20px 8px}.brand-name,.brand-sub,.nav-item span.lbl,.nav-count{display:none}.content{padding:20px 14px 40px}.pulse-wrap{display:none}}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}.filterbar{border-bottom:1px solid var(--card-border);background:#fafbfe;flex-wrap:wrap;align-items:center;gap:10px;padding:12px 22px;display:flex}.fselect{border:1px solid var(--card-border);color:var(--text);cursor:pointer;background:#fff;border-radius:9px;outline:none;max-width:220px;padding:7px 11px;font-family:Inter;font-size:12.5px;font-weight:600}.fselect:focus{border-color:var(--cyan)}.fclear{color:var(--rose);cursor:pointer;background:0 0;border:none;border-radius:8px;padding:6px 10px;font-family:Inter;font-size:12px;font-weight:700}.fclear:hover{background:#fef2f2}.modal-back{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:50;background:#1018288c;place-items:center;padding:18px;display:grid;position:fixed;inset:0}.modal{background:var(--surface);width:96%;max-width:1100px;height:94vh;box-shadow:var(--shadow-lg);border-radius:20px;flex-direction:column;display:flex;overflow:hidden}.modal-head{border-bottom:2px solid var(--card-border);background:var(--surface);flex-shrink:0;justify-content:space-between;align-items:center;padding:20px 30px;display:flex}.modal-head .card-title{font-size:19px}.modal-body{flex:1;padding:22px 30px 10px;overflow-y:auto}.modal-foot{border-top:2px solid var(--card-border);background:var(--surface);flex-shrink:0;justify-content:flex-end;padding:16px 30px;display:flex}.modal .field input,.modal .field textarea,.modal .fselect{padding:12px 15px;font-size:14.5px}.modal .field label{font-size:12px}.fgrid{grid-template-columns:1fr 1fr;gap:14px;display:grid}.fgrid3{grid-template-columns:1fr 1fr 1fr;gap:14px;display:grid}.w100{width:100%;max-width:none}.field textarea{border:1px solid var(--card-border);width:100%;color:var(--text);resize:vertical;background:#f5f7fb;border-radius:11px;outline:none;padding:11px 14px;font-family:Inter;font-size:13.5px}.field textarea:focus{border-color:var(--cyan);background:#fff;box-shadow:0 0 0 3px #06b6d41f}.toast-ok{color:#065f46;background:#ecfdf5;border:1px solid #a7f3d0;border-radius:10px;margin:12px 22px 0;padding:10px 16px;font-size:13px;font-weight:600}@media (width<=680px){.fgrid,.fgrid3{grid-template-columns:1fr}}.mini-btn{border:1px solid var(--card-border);color:var(--text);cursor:pointer;white-space:nowrap;background:#f0f3f9;border-radius:9px;padding:7px 13px;font-family:Inter;font-size:12px;font-weight:700}.mini-btn:hover{background:#e6ebf5}.mini-btn.ok{color:#065f46;background:#ecfdf5;border-color:#a7f3d0}.mini-btn.ok:hover{background:#d1fae5}.mini-btn.warn{color:#9a3412;background:#fff7ed;border-color:#fed7aa;padding:9px 16px;font-size:13px}.mini-btn.warn:hover{background:#ffedd5}.action-panel{border:1px solid var(--card-border);background:#fafbfe;border-radius:12px;min-width:340px;margin-top:10px;padding:14px}.action-ta{border:1px solid var(--card-border);resize:vertical;background:#fff;border-radius:10px;outline:none;padding:10px 12px;font-family:Inter;font-size:13px}.action-ta:focus{border-color:var(--cyan)}.cust-list{border:1px solid var(--card-border);background:#fafbfe;border-radius:12px;max-height:44vh;overflow-y:auto}.cust-row{cursor:pointer;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;border-bottom:1px solid #f0f3f9;align-items:center;gap:12px;min-height:48px;padding:13px 16px;font-size:14.5px;display:flex}.cust-row input[type=checkbox]{accent-color:#7c3aed;outline:none;flex-shrink:0;width:17px;height:17px}.cust-row input[type=checkbox]:focus,.cust-row input[type=checkbox]:focus-visible{box-shadow:none;outline:none}.cust-row span{line-height:1.45}.cust-search{border:1px solid var(--card-border);background:#fff;border-radius:10px;outline:none;width:100%;margin-bottom:10px;padding:11px 14px;font-family:Inter;font-size:14px}.cust-search:focus{border-color:var(--cyan);box-shadow:0 0 0 3px #06b6d41f}.cust-row:last-child{border-bottom:none}.cust-row:hover{background:#f3f6fc}
