:root{font-family:Inter,system-ui,Arial,sans-serif;color:#0f172a;background:#eef2f8}*{box-sizing:border-box}body{margin:0;background:#eef2f8}.dashboard-shell{position:relative;max-width:1320px;margin:0 auto;padding:28px;min-height:100vh;overflow:hidden}.ambient{display:none}.nav,.kpi-grid,.dashboard-topbar,.dashboard-layout{position:relative;z-index:1}.dashboard-topbar{display:flex;justify-content:space-between;align-items:center;gap:16px;border:1px solid rgba(191,219,254,.8);background:#ffffffd9;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:18px;padding:14px 16px;box-shadow:0 16px 34px #1e40af1c}.brand{min-width:0}.eyebrow{margin:0;color:#2563eb;letter-spacing:.08em;text-transform:uppercase;font-size:12px;font-weight:700}.brand h1{margin:4px 0 0;font-size:clamp(34px,4.2vw,50px);line-height:1;color:#0f172a}.subtitle{margin:9px 0 0;color:#475569}.tenant-pill{border:1px solid rgba(96,165,250,.5);background:linear-gradient(180deg,#f5faff,#eaf2ff);color:#1e40af;border-radius:999px;padding:9px 15px;font-weight:700;box-shadow:0 8px 16px #2563eb1f}.topbar-actions{display:flex;gap:10px;align-items:center}.ghost-btn{position:relative;border:1px solid #d6e0ef;background:#fff;border-radius:12px;width:40px;height:40px;cursor:pointer;transition:all .2s ease}.ghost-btn:hover{border-color:#93c5fd;box-shadow:0 8px 16px #2563eb1f;transform:translateY(-1px)}.notif-dot{position:absolute;top:-6px;right:-6px;width:18px;height:18px;border-radius:999px;background:#ef4444;color:#fff;font-size:11px;display:grid;place-items:center;border:2px solid #fff}.dashboard-layout{margin-top:12px;display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:14px;align-items:start}.main-col,.side-col{display:grid;gap:12px}.nav{display:flex;gap:10px;padding:10px;border-radius:16px;border:1px solid #d2e2fb;background:#ffffffd6;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);width:fit-content;box-shadow:0 12px 24px #1e40af17}.nav a{text-decoration:none;color:#334155;border:1px solid #d6e0ef;border-radius:10px;padding:8px 14px;background:#fff;transition:all .2s ease}.nav a:hover{transform:translateY(-1px);border-color:#93c5fd;color:#0f172a;box-shadow:0 10px 20px #2563eb1a}.nav a.active{background:#eff6ff;border-color:#bfdbfe;color:#1d4ed8;box-shadow:0 8px 16px #2563eb1f}.kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(180px,1fr));gap:12px}.kpi{background:radial-gradient(120% 120% at 90% 0%,rgba(191,219,254,.56),transparent 64%),linear-gradient(180deg,#fff,#f8fbff);border:1px solid #d3e3fb;border-radius:20px;padding:16px;box-shadow:0 16px 34px #2563eb1a}.kpi span{color:#2563eb;font-size:13px;font-weight:600}.kpi-head{display:flex;justify-content:space-between;align-items:center}.kpi strong{display:block;margin-top:8px;font-size:clamp(30px,4vw,38px);line-height:1;color:#0f172a}.kpi small{display:block;margin-top:8px;color:#64748b}.top-row{display:grid;grid-template-columns:1.05fr .95fr;gap:12px}.panel{background:radial-gradient(140% 100% at 100% 0%,rgba(219,234,254,.42),transparent 65%),#fff;border:1px solid #d2e2fb;border-radius:20px;padding:16px;box-shadow:0 16px 32px #1e40af17}.panel-head{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:8px}.panel-head h3{margin:0;font-size:18px;color:#0f172a}.panel-head span{color:#64748b;font-size:13px}.leaders-inline{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.leader-card{border:1px solid #e7edf7;border-radius:14px;padding:10px;text-align:center;background:linear-gradient(180deg,#fff,#f8fbff)}.leader-card .avatar{margin:0 auto 6px;width:38px;height:38px;border-radius:999px;background:#dbeafe;color:#1d4ed8;display:grid;place-items:center;font-weight:700}.leader-card b{display:block;font-size:13px}.leader-card small{color:#64748b}.chart-wrap{position:relative;border:1px solid #e7edf7;border-radius:12px;background:linear-gradient(180deg,#fff,#f9fbff);padding:8px}.chart-wrap svg{width:100%;height:120px}.chart-line{fill:none;stroke:#38bdf8;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1600;stroke-dashoffset:1600;animation:dash 2.2s ease forwards}.chart-meta{position:absolute;right:10px;top:8px;color:#64748b;font-size:12px}.live-chip{background:#dcfce7;color:#166534!important;border-radius:999px;padding:4px 10px;font-weight:600}.tx-tabs{display:inline-flex;gap:6px}.tx-tabs button{border:1px solid #d6e0ef;background:#fff;border-radius:8px;padding:5px 10px;cursor:pointer;color:#334155;transition:all .2s ease}.tx-tabs button:hover{border-color:#93c5fd;color:#1d4ed8}.tx-tabs button.active{background:#eff6ff;border-color:#bfdbfe;color:#1d4ed8}.tx-table-wrap{overflow:auto}.tx-pagination{margin-top:10px;display:flex;align-items:center;justify-content:flex-end;gap:8px}.tx-pagination button{border:1px solid #d6e0ef;background:#fff;border-radius:8px;padding:6px 10px;cursor:pointer}.tx-pagination button:disabled{opacity:.5;cursor:not-allowed}.tx-table{width:100%;border-collapse:collapse}.tx-table th,.tx-table td{text-align:left;padding:10px;border-top:1px solid #eef3fa;font-size:14px}.tx-table th{color:#64748b;font-weight:600}.status-badge{display:inline-block;border-radius:999px;padding:3px 9px;font-size:12px;border:1px solid #dbeafe}.status-badge.completed{background:#dcfce7;color:#166534;border-color:#bbf7d0}.status-badge.pending{background:#fef3c7;color:#92400e;border-color:#fde68a}.plus{color:#16a34a;font-weight:700}.minus{color:#dc2626;font-weight:700}.profile{position:sticky;top:14px}.profile-avatar{width:68px;height:68px;border-radius:999px;margin:8px auto;background:#dbeafe;color:#1d4ed8;font-size:26px;font-weight:700;display:grid;place-items:center}.profile h4{margin:4px 0 0;text-align:center}.profile p{margin:4px 0 10px;text-align:center;color:#64748b;font-size:13px}.progress-row{margin:10px 0}.progress-row span{font-size:13px;color:#334155}.progress-line{height:8px;background:#e2e8f0;border-radius:999px;margin-top:6px;overflow:hidden}.progress-line .fill{height:100%;background:linear-gradient(90deg,#60a5fa,#34d399)}.profile h5{margin:14px 0 8px;font-size:14px}.list{display:grid;gap:6px}.list span{font-size:13px}.quick-links{display:grid;gap:6px}.quick-links a{text-decoration:none;color:#0f172a;border:1px solid #e2e8f0;padding:8px 10px;border-radius:10px;background:#f8fafc;font-size:13px;transition:all .2s ease}.quick-links a:hover{border-color:#bfdbfe;background:#eff6ff;color:#1d4ed8}.notice{background:linear-gradient(135deg,#eff6ff,#ecfeff 55%,#e0f2fe);border:1px solid #93c5fd;border-radius:16px;padding:12px;box-shadow:0 14px 24px #0284c71f}.notice p{margin:0;color:#0c4a6e;font-weight:600}.notice small{color:#155e75}.empty{color:#64748b;margin:10px 0 0}.card-fade{opacity:0;transform:translateY(14px);animation:floatIn .6s ease forwards}.delay-1{animation-delay:.08s}.delay-2{animation-delay:.16s}.delay-3{animation-delay:.24s}.placeholder-shell{max-width:920px;margin:40px auto;padding:28px;border-radius:18px;background:#fff;border:1px solid #dce7f5;box-shadow:0 14px 32px #0f172a12}.placeholder-shell p{color:#64748b}.placeholder-shell a{color:#2563eb}.auth-warning{margin-top:10px;border:1px solid #fecaca;background:#fef2f2;color:#b91c1c;border-radius:10px;padding:8px 10px}.token-login-row{margin-top:8px;display:flex;gap:8px}.token-login-row input{flex:1;border:1px solid #fca5a5;border-radius:8px;padding:8px 10px;font:inherit}.token-login-row button{border:1px solid #ef4444;border-radius:8px;background:#ef4444;color:#fff;padding:8px 12px;cursor:pointer}.shop-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px;margin:14px 0}.shop-toolbar{display:flex;justify-content:space-between;gap:12px;align-items:center;border:1px solid #d5e6ff;border-radius:14px;padding:10px 12px;background:linear-gradient(180deg,#f8fbff,#f0f7ff)}.shop-stats{display:flex;gap:12px;color:#475569;font-size:13px}.shop-actions{display:flex;gap:8px;align-items:center}.shop-actions button{border:1px solid #bfdbfe;border-radius:8px;background:#eff6ff;color:#1d4ed8;padding:7px 10px;cursor:pointer}.shop-card{border:1px solid #cfe2ff;border-radius:14px;padding:12px;display:grid;gap:8px;background:radial-gradient(130% 100% at 100% 0%,rgba(219,234,254,.5),transparent 63%),linear-gradient(180deg,#fff,#f8fbff);box-shadow:0 12px 24px #1e40af1a;transition:transform .2s ease,box-shadow .2s ease}.shop-card:hover{transform:translateY(-2px);box-shadow:0 16px 30px #1e40af24}.shop-card small{color:#64748b}.shop-stock{font-size:13px;font-weight:600}.shop-stock.ok{color:#166534}.shop-stock.empty{color:#b91c1c}.shop-card button{border:1px solid #bfdbfe;border-radius:10px;background:linear-gradient(180deg,#3b82f6,#2563eb);color:#fff;padding:6px 10px;cursor:pointer;font-weight:600}.shop-card button:disabled{background:#e2e8f0;color:#64748b;border-color:#cbd5e1;cursor:not-allowed}.send-form{display:grid;gap:10px;margin:14px 0}.recipients-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px}.recipient-card{border:1px solid #cfe2ff;background:linear-gradient(180deg,#fff,#f8fbff);border-radius:12px;padding:10px;display:flex;align-items:center;gap:10px;text-align:left;cursor:pointer}.recipient-card.selected{border-color:#3b82f6;box-shadow:0 10px 20px #2563eb29}.recipient-card:disabled{opacity:.5;cursor:not-allowed}.recipient-avatar{width:34px;height:34px;border-radius:999px;display:grid;place-items:center;background:#dbeafe;color:#1d4ed8;font-weight:700}.recipient-main{display:grid}.recipient-main small{color:#64748b}.recipient-meta{margin-left:auto;color:#334155;font-size:12px;font-weight:600}.selected-chips{display:flex;gap:8px;flex-wrap:wrap}.chip{border:1px solid #bfdbfe;background:#eff6ff;color:#1d4ed8;border-radius:999px;padding:4px 10px;font-size:12px}.send-form label{display:grid;gap:6px;color:#334155}.send-form input,.send-form select,.send-form button{border:1px solid #dbe6f5;border-radius:10px;padding:9px 10px;font:inherit}.send-form button{width:fit-content;background:linear-gradient(180deg,#3b82f6,#2563eb);color:#fff;border-color:#2563eb;cursor:pointer;font-weight:700}@keyframes floatIn{to{opacity:1;transform:translateY(0)}}@keyframes dash{to{stroke-dashoffset:0}}@media (max-width: 980px){.dashboard-layout{grid-template-columns:1fr}.side-col{order:-1}.profile{position:static}.kpi-grid{grid-template-columns:1fr 1fr}.top-row{grid-template-columns:1fr}}@media (max-width: 640px){.dashboard-shell{padding:18px}.dashboard-topbar{flex-direction:column}.kpi-grid{grid-template-columns:1fr}.nav{overflow-x:auto}.leaders-inline{grid-template-columns:1fr}.tx-tabs{flex-wrap:wrap}.shop-toolbar{flex-direction:column;align-items:stretch}}
