@import"https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap";:root{--bg-base: #0f0f13;--bg-surface: #1c1c24;--bg-surface-elevated: #252530;--text-main: #f3f4f6;--text-muted: #9ca3af;--accent-primary: #3b82f6;--accent-primary-hover: #2563eb;--accent-amber: #f59e0b;--accent-cyan: #5eead4;--border-color: rgba(255, 255, 255, .1);--glass-bg: rgba(28, 28, 36, .7)}*{box-sizing:border-box;margin:0;padding:0}body{font-family:Inter,system-ui,sans-serif;background-color:var(--bg-base);color:var(--text-main);overflow:hidden}button{cursor:pointer;font-family:inherit;border:none;background:none}.glass-panel{background:var(--glass-bg);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid var(--border-color);box-shadow:0 8px 32px #00000080}.transition-all{transition:all .3s cubic-bezier(.4,0,.2,1)}.app-container{display:flex;height:100vh;width:100vw;position:relative}.map-container{flex-grow:1;position:relative;z-index:1}.floating-header{position:absolute;top:24px;left:50%;transform:translate(-50%);z-index:10;display:flex;gap:16px;align-items:center;padding:12px 24px;border-radius:100px}.search-bar{background:#0003;border:1px solid var(--border-color);color:#fff;padding:10px 16px;border-radius:50px;width:300px;outline:none;font-size:.95rem;transition:border-color .2s}.search-bar:focus{border-color:var(--accent-primary)}.icon-btn{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;background:#ffffff0d;color:var(--text-main);transition:background .2s,transform .1s}.icon-btn:hover{background:#ffffff1a}.icon-btn:active{transform:scale(.95)}.icon-btn.active-state{background:var(--accent-primary);color:#fff;border:2px solid rgba(255,255,255,.2)}.role-badge{position:absolute;top:16px;right:16px;z-index:10;padding:8px 16px;border-radius:20px;font-size:.85rem;font-weight:600;display:flex;align-items:center;gap:8px}.role-badge.admin{border-color:var(--accent-amber);color:var(--accent-amber)}.tools-sidebar{position:absolute;left:24px;top:100px;z-index:10;display:flex;flex-direction:column;gap:12px;padding:16px;border-radius:16px}.data-modal-overlay{position:absolute;top:0;left:0;width:100vw;height:100vh;background:#00000080;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);z-index:20;display:flex;justify-content:center;align-items:center;animation:fadeInOverlay .2s forwards}@keyframes fadeInOverlay{0%{opacity:0}to{opacity:1}}.data-modal{width:450px;max-width:90vw;max-height:90vh;overflow-y:auto;padding:32px;display:flex;flex-direction:column;border-radius:16px;transform:scale(.95);animation:popIn .3s cubic-bezier(.16,1,.3,1) forwards}@keyframes popIn{to{transform:scale(1)}}.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:32px}.modal-title{font-size:1.5rem;font-weight:700}.form-group{margin-bottom:24px}.form-label{display:block;font-size:.85rem;font-weight:600;color:var(--text-muted);margin-bottom:8px;text-transform:uppercase;letter-spacing:.5px}.form-input{width:100%;background:#0003;border:1px solid var(--border-color);color:#fff;padding:14px 16px;border-radius:8px;font-size:1rem;outline:none;transition:all .2s}.form-input:focus{border-color:var(--accent-primary);background:#0000004d}.form-readonly{background:#0000001a;border-color:transparent;color:var(--text-muted);cursor:not-allowed}.modal-footer{margin-top:auto;display:flex;flex-direction:column;gap:12px}.btn-primary{width:100%;padding:14px;border-radius:8px;background:var(--accent-primary);color:#fff;font-weight:600;font-size:1rem;transition:background .2s}.btn-primary:disabled{background:#3b82f680;cursor:not-allowed}.btn-primary:hover:not(:disabled){background:var(--accent-primary-hover)}.btn-danger{width:100%;padding:14px;border-radius:8px;background:transparent;border:1px solid #ef4444;color:#ef4444;font-weight:600;font-size:1rem;transition:background .2s}.btn-danger:hover{background:#ef44441a}.pulse-ring{animation:pulse 2s infinite}@keyframes pulse{0%{transform:scale(.95);opacity:.5}50%{transform:scale(1.1);opacity:1}to{transform:scale(.95);opacity:.5}}.edit-banner{position:absolute;top:90px;left:50%;transform:translate(-50%);background:#f59e0b26;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid var(--accent-amber);color:var(--accent-amber);padding:8px 24px;border-radius:50px;z-index:10;display:flex;align-items:center;gap:8px;font-size:.9rem;font-weight:600;pointer-events:none}.has-tooltip{position:relative}.has-tooltip .tooltip-text{visibility:hidden;opacity:0;width:max-content;background-color:var(--bg-surface-elevated);color:#fff;text-align:center;border-radius:6px;padding:6px 12px;position:absolute;z-index:100;left:calc(100% + 12px);top:50%;transform:translateY(-50%);border:1px solid var(--border-color);font-size:.8rem;font-weight:500;transition:opacity .2s,visibility .2s;pointer-events:none;box-shadow:0 4px 12px #00000080}.has-tooltip:hover .tooltip-text{visibility:visible;opacity:1}.bento-dashboard{position:fixed;top:80px;right:24px;width:320px;padding:16px;border-radius:20px;z-index:900;display:flex;flex-direction:column;gap:16px;animation:slideInRight .4s cubic-bezier(.16,1,.3,1) forwards}.bento-dashboard.minimized{width:auto;padding:10px 16px;flex-direction:row;align-items:center;cursor:pointer;gap:8px}.minimize-btn{position:absolute;top:12px;right:12px;background:none;border:none;color:var(--text-muted);cursor:pointer;padding:4px}.bento-header{display:flex;align-items:center;gap:8px}.bento-header h3{font-size:.95rem;font-weight:700;margin:0;color:var(--text-bright)}.bento-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.bento-card{background:#14141c80;border:1px solid rgba(255,255,255,.04);border-radius:12px;padding:12px;display:flex;flex-direction:column;gap:4px}.bento-card.full-width{grid-column:1 / -1}.bento-label{font-size:.75rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;font-weight:600}.bento-value{display:flex;align-items:baseline;gap:4px;font-size:1.4rem;font-weight:800}.value-huge{font-size:1.8rem;line-height:1}.bento-subtext{font-size:.75rem;color:var(--text-muted)}.bento-progress-bg{width:100%;height:6px;background:#ffffff1a;border-radius:3px;margin-top:4px;overflow:hidden}.bento-progress-fill{height:100%;border-radius:3px;transition:width .5s ease-out}.country-badge{background:#ffffff0d;padding:4px 8px;border-radius:6px;font-size:.75rem;color:var(--text-light);display:flex;gap:4px}.audit-player{position:fixed;bottom:24px;left:50%;transform:translate(-50%);width:400px;padding:16px;border-radius:16px;box-shadow:0 10px 40px #0006;z-index:1000;display:flex;flex-direction:column;gap:12px;animation:slideUp .3s cubic-bezier(.16,1,.3,1) forwards}.audit-player-header{display:flex;justify-content:space-between;align-items:center}.audit-player-controls{display:flex;justify-content:center;align-items:center;gap:16px}.audit-player-controls button{background:none;border:none;color:var(--text-bright);cursor:pointer;transition:.2s all;padding:8px}.audit-player-controls button:hover{color:var(--accent-primary)}.audit-player-controls .play-btn{background:#5eead41a;border-radius:50%;padding:12px}.audit-player-timeline{display:flex;align-items:center;gap:12px;width:100%}.time-label{font-size:.7rem;color:var(--text-muted);font-weight:700;text-transform:uppercase}.time-slider{flex-grow:1;accent-color:var(--accent-primary)}.audit-player-info{text-align:center;background:#0003;padding:8px;border-radius:8px;font-size:.85rem;border-left:3px solid var(--accent-primary)}@keyframes slideUp{0%{transform:translate(-50%,50px);opacity:0}to{transform:translate(-50%);opacity:1}}.location-highlight-desc{background:#ef4444e6;color:#fff;padding:4px 8px;border-radius:4px;font-size:14px;font-weight:700}.context-menu-item{background:transparent;border:none;color:var(--text-bright);padding:8px 12px;text-align:left;border-radius:6px;cursor:pointer;transition:all .2s;font-size:.9rem}.context-menu-item:hover{background:#ffffff1a}.context-menu-item.danger{color:var(--accent-danger)}.context-menu-item.danger:hover{background:#ef444426}.modal-input{background:#0003;border:1px solid rgba(255,255,255,.1);color:var(--text-bright);padding:10px 14px;border-radius:8px;font-size:1rem}.modal-input:focus{outline:none;border-color:var(--accent-primary);box-shadow:0 0 0 2px #5eead433}
