:root{--bg-base: #0a0d14;--bg-surface: #111726;--bg-surface-elevated: #182238;--bg-card: rgba(22, 30, 49, .75);--bg-glass: rgba(17, 23, 38, .85);--border-color: rgba(255, 255, 255, .08);--border-highlight: rgba(255, 255, 255, .16);--accent-primary: #f59e0b;--accent-primary-hover: #d97706;--accent-secondary: #6366f1;--accent-glow: rgba(245, 158, 11, .35);--color-critical: #ef4444;--color-critical-glow: rgba(239, 68, 68, .4);--color-high: #f97316;--color-high-glow: rgba(249, 115, 22, .4);--color-medium: #eab308;--color-medium-glow: rgba(234, 179, 8, .4);--color-low: #10b981;--color-resolved: #10b981;--color-resolved-glow: rgba(16, 185, 129, .4);--color-in-progress: #3b82f6;--text-primary: #f8fafc;--text-secondary: #94a3b8;--text-muted: #64748b;--navbar-height: 70px;--sidebar-width: 440px;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 18px;--radius-xl: 24px;--shadow-sm: 0 2px 8px rgba(0, 0, 0, .25);--shadow-md: 0 8px 24px rgba(0, 0, 0, .4);--shadow-lg: 0 16px 48px rgba(0, 0, 0, .6);--glass-blur: blur(16px)}*{margin:0;padding:0;box-sizing:border-box;font-family:Plus Jakarta Sans,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;-webkit-font-smoothing:antialiased}body{background-color:var(--bg-base);color:var(--text-primary);min-height:100vh;overflow:hidden}body.app-locked .main-content,body.app-locked .quick-stats-bar,body.app-locked #btn-open-report{filter:blur(8px);pointer-events:none;-webkit-user-select:none;user-select:none}h1,h2,h3,h4,.brand-title,.stat-num{font-family:Outfit,sans-serif}.app-layout{display:flex;flex-direction:column;height:100vh;width:100vw;overflow:hidden;position:relative}.navbar{height:var(--navbar-height);background:var(--bg-glass);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border-bottom:1px solid var(--border-color);display:flex;align-items:center;justify-content:space-between;padding:0 24px;z-index:1000;position:relative}.logo-container{display:flex;align-items:center;gap:12px;cursor:pointer}.logo-badge{width:42px;height:42px;border-radius:var(--radius-md);background:linear-gradient(135deg,#f59e0b,#d97706);display:flex;align-items:center;justify-content:center;color:#0f172a;box-shadow:0 0 20px var(--accent-glow)}.logo-text{display:flex;flex-direction:column}.brand-title{font-size:1.35rem;font-weight:800;letter-spacing:-.5px;color:var(--text-primary)}.brand-dot{color:var(--accent-primary)}.brand-sub{font-size:.72rem;color:var(--text-secondary);font-weight:500;text-transform:uppercase;letter-spacing:.5px}.quick-stats-bar{display:flex;align-items:center;gap:10px;background:#0000004d;padding:6px 12px;border-radius:999px;border:1px solid var(--border-color);transition:filter .3s ease}.stat-pill{display:flex;align-items:center;gap:6px;padding:4px 10px;border-radius:999px;font-size:.8rem;font-weight:600}.stat-pill .stat-num{font-weight:700;font-size:.9rem}.stat-pill.total{background:#ffffff0f;color:var(--text-primary)}.stat-pill.critical{background:#ef444426;color:#f87171;border:1px solid rgba(239,68,68,.3)}.stat-pill.fixed{background:#10b98126;color:#34d399;border:1px solid rgba(16,185,129,.3)}.nav-right{display:flex;align-items:center;gap:12px}.app-downloads{display:flex;align-items:center;gap:8px}.btn-download{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;background:var(--bg-surface-elevated);border:1px solid var(--border-color);color:var(--text-primary);border-radius:var(--radius-sm);font-size:.82rem;font-weight:600;cursor:pointer;transition:all .2s ease}.btn-download:hover{background:#ffffff1a;border-color:var(--border-highlight);transform:translateY(-1px)}.user-profile-pill{display:flex;align-items:center;gap:8px;background:var(--bg-surface-elevated);border:1px solid var(--border-color);padding:4px 10px 4px 4px;border-radius:999px}.user-avatar{width:28px;height:28px;border-radius:50%;object-fit:cover;border:1px solid var(--accent-primary)}.user-name-text{font-size:.8rem;font-weight:600;color:var(--text-primary);max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.btn-signout-icon{background:transparent;border:none;color:var(--text-muted);cursor:pointer;display:flex;align-items:center;padding:2px;transition:color .2s ease}.btn-signout-icon:hover{color:var(--color-critical)}.btn-primary{display:inline-flex;align-items:center;gap:8px;padding:10px 18px;background:linear-gradient(135deg,var(--accent-primary) 0%,#d97706 100%);color:#0f172a;border:none;border-radius:var(--radius-sm);font-size:.9rem;font-weight:700;cursor:pointer;box-shadow:0 4px 16px var(--accent-glow);transition:all .2s ease}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 6px 20px #f59e0b80}.btn-secondary{display:inline-flex;align-items:center;gap:8px;padding:10px 18px;background:var(--bg-surface-elevated);border:1px solid var(--border-color);color:var(--text-primary);border-radius:var(--radius-sm);font-size:.88rem;font-weight:600;cursor:pointer;transition:all .2s ease}.btn-secondary:hover{background:#ffffff1a;border-color:var(--border-highlight)}.gate-overlay{position:absolute;top:0;right:0;bottom:0;left:0;top:var(--navbar-height);background:#0a0d14d1;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);z-index:1500;display:flex;align-items:center;justify-content:center;padding:20px;transition:opacity .4s cubic-bezier(.4,0,.2,1),transform .4s ease}.gate-overlay.gate-dismissed{opacity:0;transform:scale(.96);pointer-events:none}.gate-card{background:var(--bg-surface);border:1px solid var(--border-highlight);border-radius:var(--radius-xl);box-shadow:0 24px 64px #000c,0 0 32px #f59e0b26;width:100%;max-width:480px;padding:36px 32px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:20px;position:relative;overflow:hidden}.gate-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,#f59e0b,#6366f1,#10b981)}.gate-icon-badge{width:72px;height:72px;border-radius:50%;display:flex;align-items:center;justify-content:center;position:relative}.gate-icon-badge.auth{background:#f59e0b1f;color:var(--accent-primary);border:1px solid rgba(245,158,11,.3)}.gate-icon-badge.location{background:#6366f11f;color:#818cf8;border:1px solid rgba(99,102,241,.3)}.radar-pulse{position:absolute;width:100%;height:100%;border-radius:50%;border:2px solid #818cf8;animation:radar-expand 2s infinite ease-out}@keyframes radar-expand{0%{transform:scale(.8);opacity:1}to{transform:scale(2.2);opacity:0}}.gate-header h2{font-size:1.55rem;font-weight:800;color:#fff;margin-bottom:8px}.gate-header p{font-size:.9rem;color:var(--text-secondary);line-height:1.5}.user-greeting{display:flex;align-items:center;gap:10px;background:var(--bg-surface-elevated);padding:8px 16px;border-radius:999px;border:1px solid var(--border-color);font-size:.85rem}.user-greeting img{width:24px;height:24px;border-radius:50%;object-fit:cover}.btn-google{width:100%;display:flex;align-items:center;justify-content:center;gap:12px;padding:14px 20px;background:#fff;color:#1f2937;border:1px solid #e5e7eb;border-radius:var(--radius-md);font-size:.95rem;font-weight:700;cursor:pointer;box-shadow:0 4px 16px #00000040;transition:all .2s ease}.btn-google:hover{background:#f9fafb;transform:translateY(-2px);box-shadow:0 8px 24px #00000059}.btn-location-cta{width:100%;display:flex;align-items:center;justify-content:center;gap:10px;padding:14px 20px;background:linear-gradient(135deg,#6366f1,#4f46e5);color:#fff;border:none;border-radius:var(--radius-md);font-size:.95rem;font-weight:700;cursor:pointer;box-shadow:0 4px 20px #6366f166;transition:all .2s ease}.btn-location-cta:hover{transform:translateY(-2px);box-shadow:0 8px 28px #6366f199}.gate-footer-note{font-size:.76rem;color:var(--text-muted);line-height:1.4}.btn-text-link{background:transparent;border:none;color:var(--text-muted);font-size:.78rem;cursor:pointer;text-decoration:underline;transition:color .2s ease}.btn-text-link:hover{color:var(--color-critical)}.main-content{display:flex;flex:1;height:calc(100vh - var(--navbar-height));position:relative;overflow:hidden;transition:filter .3s ease}.map-section{flex:1;height:100%;position:relative}.map-container{width:100%;height:100%;background:#0c101c;z-index:1}.leaflet-container{background:#0c101c!important;font-family:inherit!important}.leaflet-popup-content-wrapper{background:var(--bg-surface-elevated)!important;color:var(--text-primary)!important;border:1px solid var(--border-color)!important;border-radius:var(--radius-md)!important;box-shadow:var(--shadow-lg)!important;padding:4px!important}.leaflet-popup-tip{background:var(--bg-surface-elevated)!important;border:1px solid var(--border-color)!important}.map-overlay-controls{position:absolute;top:20px;left:20px;z-index:500;display:flex;align-items:center;gap:10px}.search-box{display:flex;align-items:center;gap:10px;background:var(--bg-glass);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--border-color);padding:10px 16px;border-radius:999px;box-shadow:var(--shadow-md);width:280px}.search-box input{background:transparent;border:none;outline:none;color:var(--text-primary);font-size:.88rem;width:100%}.search-box input::placeholder{color:var(--text-muted)}.btn-icon{width:42px;height:42px;border-radius:50%;background:var(--bg-glass);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--border-color);color:var(--text-primary);display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:var(--shadow-md);transition:all .2s ease}.btn-icon:hover{background:var(--accent-primary);color:#0f172a;transform:translateY(-2px)}.map-legend{position:absolute;bottom:24px;left:20px;z-index:500;background:var(--bg-glass);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--border-color);padding:10px 16px;border-radius:var(--radius-md);box-shadow:var(--shadow-md);display:flex;align-items:center;gap:16px;font-size:.78rem;color:var(--text-secondary);font-weight:500}.legend-item{display:flex;align-items:center;gap:6px}.dot{width:10px;height:10px;border-radius:50%;display:inline-block}.dot.critical{background:var(--color-critical);box-shadow:0 0 8px var(--color-critical-glow)}.dot.high{background:var(--color-high);box-shadow:0 0 8px var(--color-high-glow)}.dot.medium{background:var(--color-medium);box-shadow:0 0 8px var(--color-medium-glow)}.dot.resolved{background:var(--color-resolved);box-shadow:0 0 8px var(--color-resolved-glow)}.user-beacon-pin{display:flex;align-items:center;justify-content:center;position:relative}.beacon-pulse-ring{position:absolute;width:40px;height:40px;border-radius:50%;background:#6366f166;border:2px solid #818cf8;animation:pulse-ring 1.8s infinite ease-out}.beacon-core-dot{width:16px;height:16px;border-radius:50%;background:#6366f1;border:3px solid #ffffff;box-shadow:0 0 12px #6366f1cc;z-index:2}.custom-map-pin{display:flex;align-items:center;justify-content:center;position:relative;cursor:pointer}.pin-pulse{position:absolute;width:32px;height:32px;border-radius:50%;animation:pulse-ring 2s infinite ease-out;opacity:.6}.pin-core{width:24px;height:24px;border-radius:50%;border:2px solid #ffffff;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:800;font-size:11px;box-shadow:0 2px 10px #00000080;z-index:2;transition:transform .2s ease}.custom-map-pin:hover .pin-core{transform:scale(1.25)}.pin-critical .pin-core,.pin-critical .pin-pulse{background:var(--color-critical)}.pin-high .pin-core,.pin-high .pin-pulse{background:var(--color-high)}.pin-medium .pin-core{background:var(--color-medium);color:#000}.pin-medium .pin-pulse{background:var(--color-medium)}.pin-resolved .pin-core,.pin-resolved .pin-pulse{background:var(--color-resolved)}@keyframes pulse-ring{0%{transform:scale(.6);opacity:.8}to{transform:scale(1.8);opacity:0}}.feed-section{width:var(--sidebar-width);height:100%;background:var(--bg-surface);border-left:1px solid var(--border-color);display:flex;flex-direction:column;z-index:10}.feed-header{padding:20px;border-bottom:1px solid var(--border-color);display:flex;flex-direction:column;gap:14px;background:#111726f2}.feed-title-row{display:flex;align-items:center;justify-content:space-between}.feed-title-row h2{font-size:1.25rem;font-weight:700}.live-indicator{display:flex;align-items:center;gap:6px;font-size:.75rem;color:#34d399;font-weight:600;background:#10b9811f;padding:3px 8px;border-radius:999px}.pulse-dot{width:7px;height:7px;border-radius:50%;background:#10b981;box-shadow:0 0 8px #10b981;animation:blink 1.5s infinite}@keyframes blink{0%,to{opacity:1}50%{opacity:.3}}.filter-group{display:flex;gap:6px;overflow-x:auto;padding-bottom:4px;scrollbar-width:none}.filter-group::-webkit-scrollbar{display:none}.chip{padding:6px 12px;border-radius:999px;background:var(--bg-surface-elevated);border:1px solid var(--border-color);color:var(--text-secondary);font-size:.78rem;font-weight:600;cursor:pointer;white-space:nowrap;transition:all .2s ease}.chip:hover{background:#ffffff14;color:var(--text-primary)}.chip.active{background:var(--accent-primary);color:#0f172a;border-color:var(--accent-primary)}.filter-row-secondary{display:flex;gap:10px}.custom-select{flex:1;background:var(--bg-surface-elevated);border:1px solid var(--border-color);color:var(--text-primary);padding:7px 10px;border-radius:var(--radius-sm);font-size:.8rem;outline:none;cursor:pointer}.pothole-list{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:14px}.pothole-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-md);overflow:hidden;cursor:pointer;transition:all .22s cubic-bezier(.4,0,.2,1);display:flex;flex-direction:column;position:relative}.pothole-card:hover{transform:translateY(-3px);border-color:var(--border-highlight);box-shadow:var(--shadow-md)}.pothole-card.active-card{border-color:var(--accent-primary);box-shadow:0 0 16px var(--accent-glow)}.card-img-wrap{width:100%;height:140px;position:relative;background:#090d16;overflow:hidden}.card-img{width:100%;height:100%;object-fit:cover;transition:transform .3s ease}.pothole-card:hover .card-img{transform:scale(1.05)}.card-badges{position:absolute;top:10px;left:10px;right:10px;display:flex;justify-content:space-between;align-items:center}.badge{font-size:.72rem;font-weight:700;text-transform:uppercase;padding:4px 8px;border-radius:6px;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.badge.critical{background:#ef4444d9;color:#fff}.badge.high{background:#f97316d9;color:#fff}.badge.medium{background:#eab308d9;color:#000}.badge.low{background:#10b981d9;color:#fff}.badge.status-reported{background:#1e293bd9;color:#94a3b8;border:1px solid rgba(255,255,255,.1)}.badge.status-verified{background:#3b82f6d9;color:#fff}.badge.status-in_progress{background:#f59e0bd9;color:#000}.badge.status-resolved{background:#10b981d9;color:#fff}.card-content{padding:14px;display:flex;flex-direction:column;gap:8px}.card-title{font-size:.98rem;font-weight:700;color:var(--text-primary);line-height:1.3}.card-address{font-size:.8rem;color:var(--text-secondary);display:flex;align-items:center;gap:5px}.card-footer{display:flex;align-items:center;justify-content:space-between;padding-top:10px;margin-top:4px;border-top:1px solid rgba(255,255,255,.05);font-size:.76rem;color:var(--text-muted)}.card-actions{display:flex;align-items:center;gap:8px}.btn-upvote{display:inline-flex;align-items:center;gap:5px;background:var(--bg-surface-elevated);border:1px solid var(--border-color);color:var(--text-primary);padding:4px 10px;border-radius:999px;font-size:.78rem;font-weight:700;cursor:pointer;transition:all .2s ease}.btn-upvote:hover{background:#f59e0b33;border-color:var(--accent-primary);color:var(--accent-primary)}.btn-upvote.voted{background:var(--accent-primary);color:#0f172a;border-color:var(--accent-primary)}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000bf;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);z-index:2000;display:flex;align-items:center;justify-content:center;padding:20px;opacity:1;transition:opacity .25s ease}.modal-backdrop.hidden{opacity:0;pointer-events:none}.modal-card{background:var(--bg-surface);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);width:100%;max-width:580px;max-height:90vh;overflow-y:auto;display:flex;flex-direction:column}.modal-header{padding:20px 24px;border-bottom:1px solid var(--border-color);display:flex;align-items:flex-start;justify-content:space-between}.modal-title{display:flex;align-items:flex-start;gap:12px}.modal-title h3{font-size:1.2rem;font-weight:700}.modal-title p{font-size:.8rem;color:var(--text-secondary);margin-top:2px}.modal-icon{width:38px;height:38px;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;flex-shrink:0}.modal-icon.warning{background:#f59e0b26;color:var(--accent-primary)}.btn-close{background:transparent;border:none;color:var(--text-muted);font-size:1.6rem;line-height:1;cursor:pointer;padding:0 4px;transition:color .2s ease}.btn-close:hover{color:var(--text-primary)}.modal-body{padding:24px;display:flex;flex-direction:column;gap:18px}.form-group{display:flex;flex-direction:column;gap:8px}.form-label{font-size:.84rem;font-weight:600;color:var(--text-primary)}.required{color:var(--color-critical)}.form-input,.form-textarea{width:100%;background:var(--bg-surface-elevated);border:1px solid var(--border-color);border-radius:var(--radius-sm);color:var(--text-primary);padding:10px 14px;font-size:.88rem;outline:none;transition:border-color .2s ease}.form-input:focus,.form-textarea:focus{border-color:var(--accent-primary);box-shadow:0 0 0 2px #f59e0b33}.dropzone{border:2px dashed rgba(255,255,255,.15);border-radius:var(--radius-md);padding:20px;text-align:center;cursor:pointer;transition:all .2s ease;position:relative;background:#0003}.dropzone:hover{border-color:var(--accent-primary);background:#f59e0b0a}.file-input-hidden{display:none}.camera-icon-wrap{width:52px;height:52px;border-radius:50%;background:var(--bg-surface-elevated);display:flex;align-items:center;justify-content:center;margin:0 auto 10px;color:var(--accent-primary)}.dropzone-text{font-size:.85rem;color:var(--text-secondary);display:flex;flex-direction:column;gap:4px}.dropzone-text strong{color:var(--text-primary)}.dropzone-text span{font-size:.75rem;color:var(--text-muted)}.dropzone-preview{position:relative;width:100%;height:200px;border-radius:var(--radius-sm);overflow:hidden}.dropzone-preview img{width:100%;height:100%;object-fit:cover}.btn-remove-img{position:absolute;top:8px;right:8px;background:#000000b3;border:none;color:#fff;width:28px;height:28px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:1.1rem}.label-with-action{display:flex;align-items:center;justify-content:space-between}.btn-link{background:transparent;border:none;color:var(--accent-primary);font-size:.78rem;font-weight:600;display:flex;align-items:center;gap:4px;cursor:pointer}.grid-2-col{display:grid;grid-template-columns:1fr 1fr;gap:10px}.input-with-icon{position:relative;display:flex;align-items:center}.coord-label{position:absolute;left:12px;font-size:.72rem;font-weight:800;color:var(--text-muted)}.input-with-icon input{padding:10px 10px 10px 45px;width:100%;background:var(--bg-surface-elevated);border:1px solid var(--border-color);border-radius:var(--radius-sm);color:var(--text-primary);font-size:.85rem;outline:none}.severity-selector{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.severity-card{display:flex;align-items:center;gap:8px;background:var(--bg-surface-elevated);border:1px solid var(--border-color);padding:10px 8px;border-radius:var(--radius-sm);cursor:pointer;position:relative;transition:all .2s ease}.severity-card input{display:none}.severity-card .indicator{width:8px;height:8px;border-radius:50%;flex-shrink:0}.severity-card.low .indicator{background:var(--color-low)}.severity-card.medium .indicator{background:var(--color-medium)}.severity-card.high .indicator{background:var(--color-high)}.severity-card.critical .indicator{background:var(--color-critical)}.severity-card:has(input:checked){border-color:var(--accent-primary);background:#f59e0b1a}.card-info{display:flex;flex-direction:column}.card-info strong{font-size:.78rem;color:var(--text-primary)}.card-info small{font-size:.65rem;color:var(--text-muted)}.modal-footer{display:flex;align-items:center;justify-content:flex-end;gap:10px;padding-top:10px}.detail-card{max-width:680px}.detail-badge-group{display:flex;gap:8px}.detail-body{display:flex;flex-direction:column}.detail-image-container{width:100%;height:280px;background:#090d16}.detail-image-container img{width:100%;height:100%;object-fit:cover}.detail-content{padding:24px;display:flex;flex-direction:column;gap:16px}.detail-location{display:flex;align-items:center;gap:6px;color:var(--text-secondary);font-size:.88rem}.detail-desc{color:var(--text-primary);font-size:.95rem;line-height:1.5}.detail-meta-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;background:var(--bg-surface-elevated);padding:16px;border-radius:var(--radius-md);border:1px solid var(--border-color)}.meta-item{display:flex;flex-direction:column;gap:4px}.meta-label{font-size:.72rem;color:var(--text-muted);text-transform:uppercase;font-weight:600}.meta-val{font-size:.88rem;font-weight:600;color:var(--text-primary)}.detail-actions{display:flex;gap:12px;margin-top:8px}.btn-upvote.large{padding:12px 24px;font-size:.92rem}.app-modal-body{display:flex;flex-direction:column;gap:16px}.app-platform-box{display:flex;align-items:center;gap:16px;background:var(--bg-surface-elevated);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:16px}.platform-icon{width:50px;height:50px;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;flex-shrink:0}.platform-icon.android{background:#22c55e26;color:#22c55e}.platform-icon.apple{background:#ffffff1a;color:#fff}.platform-info{display:flex;flex-direction:column;gap:4px}.platform-info h4{font-size:1.05rem;color:var(--text-primary)}.platform-info p{font-size:.82rem;color:var(--text-secondary)}.code-pill{display:inline-block;background:#0000004d;padding:3px 8px;border-radius:4px;font-family:monospace;font-size:.74rem;color:var(--accent-primary);width:fit-content;margin-top:4px}.toast-container{position:fixed;bottom:24px;right:24px;z-index:3000;display:flex;flex-direction:column;gap:10px}.toast{background:var(--bg-surface-elevated);border:1px solid var(--border-highlight);color:var(--text-primary);padding:12px 18px;border-radius:var(--radius-sm);box-shadow:var(--shadow-lg);font-size:.85rem;display:flex;align-items:center;gap:10px;animation:slide-in .3s cubic-bezier(.4,0,.2,1)}.toast.success{border-left:4px solid var(--color-resolved)}.toast.error{border-left:4px solid var(--color-critical)}.toast.info{border-left:4px solid var(--accent-primary)}@keyframes slide-in{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}.spinner{width:32px;height:32px;border:3px solid rgba(255,255,255,.1);border-top-color:var(--accent-primary);border-radius:50%;animation:spin .8s linear infinite;margin:40px auto 16px}.spinner-sm{width:18px;height:18px;border:2px solid rgba(0,0,0,.15);border-top-color:currentColor;border-radius:50%;animation:spin .8s linear infinite;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}.loading-state{text-align:center;color:var(--text-muted);font-size:.85rem}.hidden{display:none!important}@media(max-width:960px){.main-content{flex-direction:column;overflow-y:auto}.map-section{height:45vh;min-height:300px}.feed-section{width:100%;height:auto;border-left:none;border-top:1px solid var(--border-color)}.quick-stats-bar{display:none}.severity-selector{grid-template-columns:repeat(2,1fr)}}@media(max-width:640px){.navbar{padding:0 14px}.app-downloads span,.brand-sub{display:none}.gate-card{padding:24px 18px}}
