:root{--bg:#0a0a0f;--bg-card:#141420;--bg-card-hover:#1a1a2e;--border:#2a2a3e;--text:#e4e4ef;--text-muted:#8888a0;--accent:#6366f1;--accent-hover:#818cf8;--green:#22c55e;--yellow:#eab308;--red:#ef4444;--blue:#3b82f6}*{box-sizing:border-box;margin:0;padding:0}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,system-ui,sans-serif;background:var(--bg);color:var(--text);line-height:1.5}a{color:var(--accent);text-decoration:none}a:hover{color:var(--accent-hover)}.layout{display:flex;min-height:100vh}.sidebar{width:240px;background:var(--bg-card);border-right:1px solid var(--border);padding:24px 16px;position:fixed;top:0;left:0;bottom:0;overflow-y:auto}.sidebar h1{font-size:18px;font-weight:700;margin-bottom:8px;color:var(--text)}.sidebar .subtitle{font-size:12px;color:var(--text-muted);margin-bottom:32px}.sidebar nav a{display:block;padding:8px 12px;border-radius:6px;color:var(--text-muted);font-size:14px;margin-bottom:4px;transition:all .15s}.sidebar nav a.active,.sidebar nav a:hover{background:var(--bg-card-hover);color:var(--text)}.main{flex:1 1;margin-left:240px;padding:32px;max-width:1400px}.page-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:32px}.page-header h2{font-size:24px;font-weight:700}.kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));grid-gap:16px;gap:16px;margin-bottom:32px}.kpi-card{background:var(--bg-card);border:1px solid var(--border);border-radius:12px;padding:20px}.kpi-card .label{font-size:12px;font-weight:500;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:8px}.kpi-card .value{font-size:28px;font-weight:700;color:var(--text)}.kpi-card .trend{font-size:13px;margin-top:4px}.kpi-card .trend.up{color:var(--green)}.kpi-card .trend.down{color:var(--red)}.kpi-card .trend.flat{color:var(--text-muted)}.section{background:var(--bg-card);border:1px solid var(--border);border-radius:12px;padding:24px;margin-bottom:24px}.section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.section-header h3{font-size:16px;font-weight:600}.time-filter{display:flex;gap:4px;background:var(--bg);border-radius:8px;padding:3px}.time-filter button{padding:6px 14px;border:none;border-radius:6px;background:transparent;color:var(--text-muted);font-size:13px;font-weight:500;cursor:pointer;transition:all .15s}.time-filter button:hover{color:var(--text)}.time-filter button.active{background:var(--accent);color:#fff}table{width:100%;border-collapse:collapse;font-size:14px}thead th{text-align:left;padding:10px 12px;font-size:12px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid var(--border);cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;white-space:nowrap}thead th:hover{color:var(--text)}thead th.sorted{color:var(--accent)}thead th .sort-arrow{margin-left:4px;font-size:10px}tbody tr{border-bottom:1px solid var(--border);transition:background .1s}tbody tr:hover{background:var(--bg-card-hover)}tbody td{padding:12px;white-space:nowrap}tbody td.store-name{font-weight:500;color:var(--text)}tbody td.numeric{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;text-align:right}.tier-badge{display:inline-block;padding:2px 8px;border-radius:4px;font-size:11px;font-weight:600;text-transform:uppercase}.tier-badge.top{background:rgba(34,197,94,.15);color:var(--green)}.tier-badge.growing{background:rgba(234,179,8,.15);color:var(--yellow)}.tier-badge.needs-attention{background:rgba(239,68,68,.15);color:var(--red)}.login-container{display:flex;align-items:center;justify-content:center;min-height:100vh;padding:20px}.login-card{background:var(--bg-card);border:1px solid var(--border);border-radius:16px;padding:40px;width:100%;max-width:400px}.login-card h1{font-size:24px;font-weight:700;margin-bottom:8px;text-align:center}.login-card .desc{font-size:14px;color:var(--text-muted);text-align:center;margin-bottom:32px}.login-card input[type=password]{width:100%;padding:12px 16px;background:var(--bg);border:1px solid var(--border);border-radius:8px;color:var(--text);font-size:15px;margin-bottom:16px;outline:none;transition:border-color .15s}.login-card input[type=password]:focus{border-color:var(--accent)}.login-card button{width:100%;padding:12px;background:var(--accent);border:none;border-radius:8px;color:#fff;font-size:15px;font-weight:600;cursor:pointer;transition:background .15s}.login-card button:hover{background:var(--accent-hover)}.login-card .error{color:var(--red);font-size:14px;text-align:center;margin-bottom:16px}.empty-state{text-align:center;padding:48px 24px;color:var(--text-muted)}.empty-state h3{font-size:18px;margin-bottom:8px;color:var(--text)}.loading-skeleton{background:linear-gradient(90deg,var(--bg-card) 25%,var(--bg-card-hover) 50%,var(--bg-card) 75%);background-size:200% 100%;animation:skeleton-pulse 1.5s ease-in-out infinite;border-radius:6px}@keyframes skeleton-pulse{0%{background-position:200% 0}to{background-position:-200% 0}}.detail-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:24px;gap:24px}.store-info{display:flex;align-items:center;gap:16px;margin-bottom:32px}.store-info h2{font-size:24px;font-weight:700}.back-link,.store-info .domain{font-size:14px;color:var(--text-muted)}.back-link{display:inline-flex;align-items:center;gap:6px;margin-bottom:24px}.back-link:hover{color:var(--text)}.refresh-btn{padding:6px 14px;background:var(--bg);border:1px solid var(--border);border-radius:6px;color:var(--text-muted);font-size:13px;cursor:pointer;transition:all .15s}.refresh-btn:hover{border-color:var(--accent);color:var(--text)}.last-updated{font-size:12px;color:var(--text-muted)}.search-input{padding:8px 14px;background:var(--bg);border:1px solid var(--border);border-radius:8px;color:var(--text);font-size:14px;width:260px;outline:none}.search-input:focus{border-color:var(--accent)}.search-input::placeholder{color:var(--text-muted)}.pagination{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:16px}.pagination button{padding:6px 12px;background:var(--bg);border:1px solid var(--border);border-radius:6px;color:var(--text-muted);font-size:13px;cursor:pointer}.pagination button:hover:not(:disabled){border-color:var(--accent);color:var(--text)}.pagination button:disabled{opacity:.4;cursor:not-allowed}.pagination .page-info{font-size:13px;color:var(--text-muted)}@media (max-width:768px){.sidebar{display:none}.main{margin-left:0;padding:16px}.kpi-grid{grid-template-columns:repeat(2,1fr)}.detail-grid{grid-template-columns:1fr}table{font-size:12px}.search-input{width:100%}}