@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap";*{box-sizing:border-box;margin:0;padding:0}body{color:#f1f5f9;background:#0a0f1e;margin:0}#root{flex-direction:column;width:100%;max-width:100%;min-height:100dvh;margin:0;display:flex}:root{--bg-primary:#0a0f1e;--bg-secondary:#111827;--bg-card:#1e293b99;--bg-card-solid:#1e293b;--border-subtle:#ffffff0f;--border-medium:#ffffff1a;--text-primary:#f1f5f9;--text-secondary:#94a3b8;--text-muted:#64748b;--blue:#3b82f6;--red:#ef4444;--green:#22c55e;--yellow:#f59e0b;--purple:#8b5cf6;--indigo:#6366f1;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-xl:20px;--shadow-card:0 4px 24px #0000004d;--shadow-glow:0 0 20px #3b82f626;--transition:.25s cubic-bezier(.4, 0, .2, 1);--cell-size:36px;--cell-gap:2px;--cell-radius:6px;--cell-font:14px;--cell-label:8px}*{box-sizing:border-box}body{background:var(--bg-primary);color:var(--text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;font-family:Inter,system-ui,-apple-system,sans-serif;overflow-x:hidden}#root{border:none;flex-direction:column;width:100%;max-width:100%;min-height:100dvh;margin:0;display:flex}.app-shell{background:radial-gradient(circle at 50% 20%,#1e3a8a1f,#0000 55%),linear-gradient(#0b1220 0%,#0a0f1a 100%);min-height:100dvh}.page-enter{animation:.3s both pageIn}@keyframes pageIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.brand-title{letter-spacing:-.03em;background:linear-gradient(135deg,#60a5fa 0%,#818cf8 50%,#a78bfa 100%);-webkit-text-fill-color:transparent;text-shadow:none;filter:drop-shadow(0 0 20px #60a5fa26);-webkit-background-clip:text;background-clip:text;font-size:30px;font-weight:700}.nav-bar{-webkit-backdrop-filter:blur(16px);border-bottom:1px solid var(--border-subtle);z-index:100;background:#0a0f1ed9;justify-content:center;align-items:center;gap:4px;padding:8px 12px;display:flex;position:sticky;top:0}.nav-tab{border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;transition:var(--transition);background:0 0;border:none;align-items:center;gap:6px;padding:10px 20px;font-family:inherit;font-size:13px;font-weight:600;display:flex}.nav-tab:hover{color:var(--text-primary);background:#ffffff0d}.nav-tab.active{color:var(--blue);background:#3b82f61f}.glass-card{-webkit-backdrop-filter:blur(16px);border-radius:var(--radius-lg);background:#1e293b73;border:1px solid #ffffff0d;padding:20px;box-shadow:0 4px 24px #00000040,inset 0 1px #ffffff08}.btn{border-radius:var(--radius-sm);cursor:pointer;transition:var(--transition);color:#fff;white-space:nowrap;border:none;justify-content:center;align-items:center;gap:6px;padding:10px 16px;font-family:inherit;font-size:13px;font-weight:600;display:inline-flex}.btn:hover{filter:brightness(1.1);transform:translateY(-1px)}.btn:active{filter:brightness(.95);transform:translateY(0)scale(.97)}.btn-primary{background:var(--blue)}.btn-danger{background:var(--red)}.btn-success{background:var(--green)}.btn-purple{background:var(--purple)}.btn-indigo{background:var(--indigo)}.btn-ghost{color:var(--text-secondary);border:1px solid var(--border-subtle);background:#ffffff0f}.btn-ghost:hover{border-color:var(--border-medium);background:#ffffff1a}.btn-emergency-on{background:var(--red);box-shadow:0 0 16px #ef44444d}.btn-emergency-off{color:var(--text-secondary);border:1px solid var(--border-subtle);background:#ffffff0f}.capsule-grid{grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:10px;display:grid}.capsule{border-radius:var(--radius-lg);border:1px solid var(--border-subtle);cursor:pointer;transition:var(--transition);text-align:center;padding:18px 14px;position:relative;overflow:hidden}.capsule:before{content:"";border-radius:inherit;opacity:.1;transition:opacity .3s;position:absolute;inset:0}.capsule:hover:before{opacity:.18}.capsule:hover{border-color:var(--border-medium);transform:translateY(-3px)scale(1.02)}.capsule.selected{box-shadow:var(--shadow-glow);border-color:#fff3;transform:scale(1.03)}.capsule.selected:before{opacity:.22}.capsule-medical:before{background:var(--blue)}.capsule-danger:before{background:var(--red)}.capsule-shelter:before{background:var(--green)}.capsule-food:before{background:var(--yellow)}.capsule-transport:before{background:var(--purple)}.capsule-other:before{background:var(--text-muted)}.capsule-emoji{margin-bottom:6px;font-size:24px}.capsule-label{text-transform:uppercase;letter-spacing:.06em;color:var(--text-secondary);font-size:11px;font-weight:600}.capsule-count{margin-top:4px;font-size:20px;font-weight:700}.msg-card{-webkit-backdrop-filter:blur(8px);border:1px solid var(--border-subtle);border-radius:var(--radius-md);transition:var(--transition);background:#1e293b73;margin-bottom:10px;padding:14px 16px}.msg-card:hover{border-color:var(--border-medium);transform:translateY(-1px)}.msg-title{margin-bottom:4px;font-size:14px;font-weight:600}.msg-meta{color:var(--text-muted);flex-wrap:wrap;align-items:center;gap:10px;font-size:11px;display:flex}.priority-badge{border-radius:10px;padding:2px 8px;font-size:11px;font-weight:700}.confidence-bar{background:#ffffff0f;border-radius:2px;height:3px;margin-top:8px;overflow:hidden}.confidence-fill{border-radius:2px;height:100%;transition:width .4s}.input{border-radius:var(--radius-sm);border:1px solid var(--border-medium);width:100%;color:var(--text-primary);transition:var(--transition);background:#0a0f1ecc;outline:none;padding:10px 14px;font-family:inherit;font-size:14px}.input:focus{border-color:var(--blue);box-shadow:0 0 0 3px #3b82f626}.input::placeholder{color:var(--text-muted)}.section-title{color:var(--text-secondary);margin:0 0 12px;font-size:15px;font-weight:600}#reader video{object-fit:cover!important;width:100%!important;height:100%!important}#reader{z-index:1;position:relative}.map-wrapper{border-radius:var(--radius-lg);width:100%;max-width:100%;overflow:hidden}.map-grid-container{border-radius:var(--radius-md);background:radial-gradient(circle,#3b82f60d 0%,#0000 65%),#020617;border:1px solid #ffffff0a;justify-content:center;width:100%;padding:6px;display:flex;overflow:hidden}.map-grid-inner{gap:var(--cell-gap);flex-direction:column;width:100%;display:flex}.map-row{gap:var(--cell-gap);width:100%;display:flex}.map-cell{aspect-ratio:1;border-radius:var(--cell-radius);cursor:default;flex:1 1 0;justify-content:center;align-items:center;min-width:0;transition:background-color .3s;display:flex}.map-cell-user{aspect-ratio:1;border-radius:calc(var(--cell-radius) + 2px);z-index:2;cursor:default;border:2px solid #3b82f6;flex-direction:column;flex:1 1 0;justify-content:center;align-items:center;min-width:0;transition:all .3s;animation:3s ease-in-out infinite userPulse;display:flex;position:relative;box-shadow:0 0 12px #3b82f659,inset 0 0 8px #3b82f61a}.map-cell-alert{aspect-ratio:1;border-radius:calc(var(--cell-radius) + 2px);cursor:pointer;flex-direction:column;flex:1 1 0;justify-content:center;align-items:center;min-width:0;transition:transform .2s,box-shadow .2s;animation:.4s both markerAppear;display:flex;position:relative}.map-cell-alert:hover{transform:scale(1.15)}.map-cell-user .cell-emoji{font-size:var(--cell-font);line-height:1}.map-cell-alert .cell-emoji{font-size:calc(var(--cell-font) - 1px);line-height:1}.cell-sublabel{bottom:calc(var(--cell-label) * -1.6);font-size:var(--cell-label);color:#94a3b899;white-space:nowrap;letter-spacing:.03em;font-weight:600;position:absolute}@keyframes markerAppear{0%{opacity:0;transform:scale(.6)}to{opacity:1;transform:scale(1)}}@keyframes userPulse{0%,to{box-shadow:0 0 12px #3b82f659,inset 0 0 8px #3b82f61a}50%{box-shadow:0 0 20px #3b82f680,inset 0 0 12px #3b82f626}}.map-legend{flex-wrap:wrap;justify-content:center;gap:6px;margin-top:14px;display:flex}.map-legend-item{color:#94a3b8;background:#ffffff0a;border:1px solid #ffffff0d;border-radius:20px;align-items:center;gap:4px;padding:3px 10px;font-size:10px;display:flex}@media (width<=520px){:root{--cell-gap:1px;--cell-radius:4px;--cell-font:10px;--cell-label:5px}.nav-tab{padding:8px 14px;font-size:12px}.capsule-grid{grid-template-columns:repeat(2,1fr);gap:8px}.capsule{padding:14px 10px}.capsule-emoji{font-size:20px}.capsule-count{font-size:18px}.action-row .btn{padding:8px 12px;font-size:12px}.brand-title{font-size:24px}.msg-card{padding:12px 14px}.glass-card{padding:14px}.map-legend-item{padding:2px 8px;font-size:9px}.map-grid-container{padding:4px}.filter-scroll{-webkit-overflow-scrolling:touch;overflow-x:auto}.filter-scroll::-webkit-scrollbar{display:none}}@media (width>=521px) and (width<=700px){:root{--cell-gap:2px;--cell-font:12px}}.scanner-box{aspect-ratio:1;border-radius:12px;width:100%;max-width:300px;margin:10px auto;position:relative;overflow:hidden}
