@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap";:root{--bg:#0e0f1a;--bg-card:#161825;--bg-hover:#1c1e30;--border:#252840;--text:#e8e4dc;--text-dim:#8a8b9e;--gold:#c9a84c;--gold-dim:#c9a84c33;--blue:#6c8ebf;--green:#82ca9d;--red:#e06c75;--radius:14px}*{box-sizing:border-box;margin:0;padding:0}body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;min-height:100vh;font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif}.login-container{background:radial-gradient(at 50% 30%,#c9a84c14,#0000 60%);justify-content:center;align-items:center;min-height:100vh;padding:20px;display:flex}.login-card{background:var(--bg-card);border:1px solid var(--border);text-align:center;border-radius:20px;width:100%;max-width:380px;padding:48px 40px;box-shadow:0 20px 60px #0006}.login-icon{margin-bottom:16px;font-size:48px}.login-card h1{color:var(--gold);margin-bottom:8px;font-size:24px;font-weight:600}.login-card p{color:var(--text-dim);margin-bottom:28px;font-size:14px}.login-card input{background:var(--bg);border:1px solid var(--border);width:100%;color:var(--text);border-radius:10px;outline:none;margin-bottom:16px;padding:14px 16px;font-size:15px;transition:border-color .2s}.login-card input:focus{border-color:var(--gold)}.login-card button{background:linear-gradient(135deg, var(--gold), #b8942e);color:#0e0f1a;cursor:pointer;border:none;border-radius:10px;width:100%;padding:14px;font-size:15px;font-weight:600;transition:transform .15s,box-shadow .15s}.login-card button:hover{transform:translateY(-1px);box-shadow:0 6px 20px #c9a84c4d}.error{color:var(--red);margin-bottom:12px;font-size:13px}.dashboard{max-width:1200px;margin:0 auto;padding:24px 20px 60px}.dash-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:28px;display:flex}.dash-header h1{color:var(--gold);font-size:26px;font-weight:700}.subtitle{color:var(--text-dim);margin-top:4px;font-size:13px}.header-controls{align-items:center;gap:10px;display:flex}.header-controls select{background:var(--bg-card);border:1px solid var(--border);color:var(--text);cursor:pointer;border-radius:8px;outline:none;padding:10px 14px;font-size:13px}.refresh-btn{background:var(--bg-card);border:1px solid var(--border);color:var(--text);cursor:pointer;border-radius:8px;padding:10px 16px;font-size:13px;transition:background .2s}.refresh-btn:hover{background:var(--bg-hover)}.stat-grid{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:14px;margin-bottom:24px;display:grid}.stat-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);text-align:center;padding:20px;transition:transform .2s,border-color .2s}.stat-card:hover{border-color:var(--gold);transform:translateY(-2px)}.stat-icon{margin-bottom:8px;font-size:28px}.stat-value{color:var(--text);font-size:32px;font-weight:700;line-height:1.1}.stat-label{color:var(--text-dim);text-transform:uppercase;letter-spacing:.05em;margin-top:6px;font-size:12px}.stat-sub{color:var(--gold);margin-top:4px;font-size:11px}.panel{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:16px;padding:24px}.panel h2{color:var(--text);margin-bottom:16px;font-size:16px;font-weight:600}.two-col{grid-template-columns:1fr 1fr;gap:16px;display:grid}@media (width<=768px){.two-col{grid-template-columns:1fr}.stat-grid{grid-template-columns:repeat(2,1fr)}}.bar-chart{flex-direction:column;gap:8px;display:flex}.bar-row{align-items:center;gap:10px;display:flex}.bar-label{width:120px;color:var(--text-dim);text-overflow:ellipsis;white-space:nowrap;flex-shrink:0;font-size:12px;overflow:hidden}.bar-track{background:#ffffff08;border-radius:6px;flex:1;height:24px;overflow:hidden}.bar-fill{border-radius:6px;min-width:4px;height:100%;transition:width .6s cubic-bezier(.16,1,.3,1)}.bar-value{width:40px;color:var(--text);text-align:right;flex-shrink:0;font-size:13px;font-weight:600}.mini-chart{width:100%;height:60px;margin-bottom:16px}.device-grid{flex-direction:column;gap:10px;display:flex}.device-item{background:var(--bg);border-radius:10px;align-items:center;gap:10px;padding:10px 14px;display:flex}.device-icon{font-size:20px}.device-name{text-transform:capitalize;flex:1;font-size:14px}.device-count{color:var(--gold);font-size:16px;font-weight:600}.type-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:10px;display:grid}.type-item{background:var(--bg);border-radius:10px;align-items:center;gap:10px;padding:12px 14px;display:flex}.type-icon{font-size:18px}.type-label{color:var(--text-dim);flex:1;font-size:13px}.type-count{color:var(--text);font-size:16px;font-weight:600}.activity-feed{flex-direction:column;gap:6px;max-height:400px;display:flex;overflow-y:auto}.activity-item{background:var(--bg);border-radius:10px;align-items:center;gap:10px;padding:10px 12px;font-size:13px;transition:background .15s;display:flex}.activity-item:hover{background:var(--bg-hover)}.activity-icon{flex-shrink:0;font-size:16px}.activity-content{flex-wrap:wrap;flex:1;align-items:center;gap:8px;display:flex;overflow:hidden}.activity-type{color:var(--text);text-transform:capitalize;font-weight:500}.activity-event{color:var(--blue);text-transform:capitalize;font-size:12px}.activity-photo{color:var(--text-dim);text-overflow:ellipsis;white-space:nowrap;max-width:120px;font-size:11px;overflow:hidden}.activity-meta{flex-shrink:0;align-items:center;gap:8px;display:flex}.activity-device{font-size:14px}.activity-country{color:var(--text-dim);font-size:11px}.activity-time{color:var(--text-dim);white-space:nowrap;font-size:11px}.loading{text-align:center;color:var(--text-dim);padding:60px;font-size:16px}.empty{text-align:center;color:var(--text-dim);padding:30px;font-size:14px}.error-banner{text-align:center;color:var(--red);background:#e06c751a;border:1px solid #e06c754d;border-radius:10px;padding:20px}.cost-panel{border-color:#e6c65a4d}.cost-overview{gap:24px;margin-bottom:8px;display:flex}.cost-total{text-align:center;flex:1}.cost-amount{color:#e6c65a;font-size:36px;font-weight:700;line-height:1.2}.cost-label{color:var(--text-dim);text-transform:uppercase;letter-spacing:.05em;margin-top:4px;font-size:12px}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}
