.gc-search-dropdown{position:absolute;left:0;right:0;top:calc(100% + 4px);z-index:80;max-height:320px;overflow-y:auto;padding:4px;background:var(--bg-card, #0f172a);border:1px solid rgba(148,163,184,.22);border-radius:8px;box-shadow:0 18px 40px -12px #0000008c,0 0 0 1px #0f172a59;-webkit-backdrop-filter:saturate(1.2);backdrop-filter:saturate(1.2)}.gc-search-dropdown[hidden]{display:none!important}.gc-search-option{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:6px;cursor:pointer;font-size:12px;color:var(--text-primary, #e2e8f0);transition:background .12s ease,transform .05s ease}.gc-search-option:hover,.gc-search-option--active{background:#3b82f624;outline:none}.gc-search-option:active{transform:scale(.995)}.gc-search-empty{padding:10px 12px;font-size:12px;font-style:italic;color:var(--text-muted, #94a3b8);text-align:center}mark.gc-hl{background:#3b82f64d;color:#e2e8f0;padding:0 2px;border-radius:3px;font-weight:600;box-shadow:inset 0 -1px #3b82f673}.gc-search-option__badge{display:inline-flex;align-items:center;padding:2px 8px;font-size:11px;font-weight:700;letter-spacing:.3px;background:linear-gradient(135deg,#1e40af,#0ea5e9);color:#fff;border-radius:5px;min-width:58px;justify-content:center;flex-shrink:0}.gc-search-option__label{flex:1;font-weight:500;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gc-search-option__meta{font-size:10px;color:var(--text-muted, #94a3b8);letter-spacing:.3px;flex-shrink:0}.gc-filter-empty{padding:18px 14px;font-size:12px;color:var(--text-muted, #94a3b8);text-align:center;font-style:italic}.gc-search-input{position:relative}.gc-search-input>input[type=text],.gc-search-input>input[type=search]{padding-left:32px}.gc-search-input:before{content:"";position:absolute;left:10px;top:50%;transform:translateY(-50%);width:14px;height:14px;background:no-repeat center / contain url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2394a3b8' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><circle cx='11' cy='11' r='8'/><path d='m21 21-4.3-4.3'/></svg>");pointer-events:none;opacity:.9}.gcv4-badge{display:inline-block;align-self:flex-start;margin:6px 0;padding:4px 10px;font-size:10.5px;letter-spacing:.35px;border-radius:12px;border:1px solid rgba(148,163,184,.18);background:#0f172a8c;color:var(--text-muted, #94a3b8);font-family:ui-monospace,JetBrains Mono,monospace;max-width:100%;word-break:break-word}.gcv4-badge--thinking{background:#3b82f61a;border-color:#3b82f647;color:#93c5fd;animation:gcv4-pulse 1.4s ease-in-out infinite}.gcv4-badge--tool{background:#a855f71a;border-color:#a855f747;color:#d8b4fe}.gcv4-badge--action{background:#10b9811a;border-color:#10b98147;color:#6ee7b7}.gcv4-badge--warn{background:#fbbf241a;border-color:#fbbf244d;color:#fcd34d}@keyframes gcv4-pulse{0%,to{opacity:.7}50%{opacity:1}}#gcaMessages,#chat-messages{display:flex;flex-direction:column}.gcv4-bubble{max-width:92%}.map-loading-indicator{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;background:#0d121e;color:#cbd5e1;font-family:Inter,system-ui,sans-serif;font-size:14px;letter-spacing:.02em;z-index:2;pointer-events:none;transition:opacity .4s ease-out}.map-loading-indicator.hidden{opacity:0;pointer-events:none}.map-loading-spinner{width:36px;height:36px;border:3px solid rgba(255,255,255,.1);border-top-color:#3b82f6;border-radius:50%;animation:map-loading-spin .9s linear infinite}.map-loading-text{opacity:.8;font-weight:500}@keyframes map-loading-spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.map-loading-spinner{animation:none;border-top-color:#3b82f6;border-right-color:#3b82f6}.map-loading-indicator{transition:none}}.route-result-card{background:#fff;border-radius:8px;padding:20px;box-shadow:0 2px 8px #0000001a}.route-stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;margin:15px 0}.route-stat{text-align:center;padding:10px;background:#f8f9fa;border-radius:6px}.route-stat .stat-value{display:block;font-size:24px;font-weight:700;color:#2c3e50}.route-stat .stat-label{font-size:12px;color:#7f8c8d}.savings-section{background:#e8f5e9;padding:15px;border-radius:6px;margin:15px 0}.savings-section h5{color:#27ae60;margin-bottom:10px}.savings-list{list-style:none;padding:0}.savings-list li{padding:5px 0}.geofences-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:15px}.geofence-card{background:#fff;border-radius:8px;overflow:hidden;box-shadow:0 2px 4px #0000001a}.geofence-header{padding:15px;display:flex;justify-content:space-between;align-items:center}.geofence-name{font-weight:700}.geofence-type-badge{font-size:11px;padding:3px 8px;background:#3498db;color:#fff;border-radius:12px}.geofence-details{padding:10px 15px;border-top:1px solid #eee}.geofence-details p{margin:5px 0;font-size:13px;color:#666}.geofence-actions{padding:10px 15px;border-top:1px solid #eee;display:flex;gap:10px}.btn-icon{border:none;background:#f0f0f0;padding:8px 12px;border-radius:4px;cursor:pointer}.btn-icon:hover{background:#e0e0e0}.eco-summary-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-bottom:20px}.eco-card{background:#fff;padding:20px;border-radius:12px;text-align:center;box-shadow:0 2px 8px #00000014}.eco-card.total-co2{border-top:4px solid #e74c3c}.eco-card.avg-score{border-top:4px solid #27ae60}.eco-card.total-fuel{border-top:4px solid #f39c12}.eco-card.distance{border-top:4px solid #3498db}.eco-icon{font-size:32px;margin-bottom:10px;color:#666}.eco-value{font-size:36px;font-weight:700;color:#2c3e50}.eco-label{font-size:13px;color:#7f8c8d;margin-top:5px}.eco-recommendations{background:#fff3cd;padding:15px;border-radius:8px;margin:15px 0}.eco-recommendations h4{color:#856404;margin-bottom:10px}.eco-recommendations ul{margin:0;padding-left:20px}.eco-savings-potential{background:#d4edda;padding:15px;border-radius:8px}.savings-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;margin-top:10px}.saving-item{text-align:center}.saving-item span{display:block;font-size:24px;font-weight:700;color:#155724}.saving-item label{font-size:12px;color:#666}.drivers-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:15px}.driver-card{background:#fff;border-radius:8px;padding:15px;box-shadow:0 2px 4px #0000001a;transition:transform .2s}.driver-card:hover{transform:translateY(-2px)}.driver-card.sos-active{border:2px solid #e74c3c;animation:pulse 1s infinite}@keyframes pulse{0%,to{box-shadow:0 0 #e74c3c66}50%{box-shadow:0 0 0 10px #e74c3c00}}.driver-avatar{font-size:40px;text-align:center;color:#3498db;position:relative}.status-dot{width:12px;height:12px;border-radius:50%;position:absolute;bottom:0;right:40%;border:2px solid white}.status-dot.active{background:#27ae60}.driver-info{text-align:center;margin-top:10px}.driver-name{display:block;font-weight:700;margin-bottom:5px}.vehicle-name{font-size:12px;color:#666}.no-data{text-align:center;padding:40px;color:#999}.no-data i{font-size:48px;margin-bottom:15px}.loader{text-align:center;padding:20px;color:#666}.offset-project-card{display:flex;align-items:center;background:#fff;padding:15px;border-radius:8px;margin-bottom:10px;box-shadow:0 1px 3px #0000001a}.project-icon{font-size:32px;color:#27ae60;margin-right:15px}.project-info{flex:1}.project-info h5{margin:0 0 5px}.project-info p{margin:0;font-size:13px;color:#666}.project-cost{text-align:right}.project-cost .cost{display:block;font-size:18px;font-weight:700;color:#27ae60}.btn-purchase{margin-top:10px;padding:8px 16px;background:#27ae60;color:#fff;border:none;border-radius:4px;cursor:pointer}.btn-purchase:hover{background:#219a52}.emissions-result-card{background:#fff;padding:20px;border-radius:8px;box-shadow:0 2px 8px #0000001a}.emissions-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;margin:15px 0}.emission-item{text-align:center;padding:15px;border-radius:8px}.emission-item.co2{background:#ffebee}.emission-item.nox{background:#fff3e0}.emission-item.pm{background:#e3f2fd}.emission-item .value{display:block;font-size:28px;font-weight:700}.emission-item .unit{font-size:12px;color:#666}.fleet-routes-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:15px}.vehicle-route-card{background:#fff;padding:15px;border-radius:8px;box-shadow:0 2px 4px #0000001a}.vehicle-route-card.has-route{border-left:4px solid #27ae60}.vehicle-name{font-weight:700;margin-bottom:10px}.route-progress .progress-bar{height:8px;background:#e0e0e0;border-radius:4px;overflow:hidden}.route-progress .progress-fill{height:100%;background:#27ae60;transition:width .3s}.no-route{color:#999;font-style:italic}html,body{width:100%;min-height:100vh;min-height:100dvh}html{font-size:clamp(13px,.65vw + 8px,18px)}#app{width:100%;min-height:100vh;min-height:100dvh}:root{--sidebar-width: clamp(240px, 18vw, 340px)}#map,.mapboxgl-map,.maplibregl-map,.cesium-viewer{width:100%!important;height:100%!important}.floating-camera-panel{width:clamp(380px,32vw,800px)!important;max-width:calc(100vw - 340px)!important;max-height:calc(100vh - 80px)}.video-panel,.rich-veh-popup,.panel-container{max-width:min(520px,42vw);max-height:min(80vh,720px)}.floating-camera-panel .video-slot{aspect-ratio:16 / 9;min-height:clamp(120px,14vh,220px)}.floating-camera-panel .video-slot video{width:100%;height:100%;object-fit:cover}.floating-camera-panel .video-slot.expanded{position:fixed;top:5vh;left:5vw;width:90vw;height:90vh;z-index:10000;aspect-ratio:unset}.content-panel,.admin-panel,.info-card,.dashboard-card{max-width:min(100%,92vw)}.cards-grid,.modules-grid,.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(280px,100%),1fr));gap:clamp(12px,1.2vw,24px)}@media(pointer:coarse){button,.btn,[role=button]{min-height:44px;min-width:44px}}@media(max-width:768px){html,body{overflow:auto}#app{grid-template-columns:1fr!important;grid-template-rows:auto 1fr}.sidebar{position:fixed;top:0;left:0;width:min(320px,85vw);height:100vh;z-index:9999;transform:translate(-100%);transition:transform .3s ease}.sidebar.open{transform:translate(0)}}@media(min-width:2400px){.content-panel,.admin-panel-body,.dashboard-main{max-width:2000px;margin-left:auto;margin-right:auto}}:root{--sp-bg: #0a0e17;--sp-bg-elevated: #0f172a;--sp-border: rgba(148, 163, 184, .1);--sp-border-strong: rgba(148, 163, 184, .18);--sp-text-primary: #e2e8f0;--sp-text-secondary: #cbd5e1;--sp-text-muted: #94a3b8;--sp-text-faint: #64748b;--sp-accent: #3b82f6;--sp-accent-soft: rgba(59, 130, 246, .15);--sp-accent-strong: rgba(59, 130, 246, .3);--sp-hover: rgba(255, 255, 255, .05);--sp-hover-strong: rgba(255, 255, 255, .09);--sp-transition: .18s ease;--sp-fs-xs: 10px;--sp-fs-sm: 11px;--sp-fs-md: 13px;--sp-fs-lg: 14px;--sp-fs-xl: 16px}.sidebar{background:var(--sp-bg)!important;border-right:1px solid var(--sp-border)!important;box-shadow:none!important}.sidebar-header{padding:14px 16px!important;background:transparent!important;border-bottom:1px solid var(--sp-border)!important}.sidebar-header:after{display:none!important}.sidebar-header h1{font-size:14px!important;font-weight:600!important;color:var(--sp-text-primary)!important;letter-spacing:-.01em!important;line-height:1.25!important}.sidebar-header p.subtitle,.sidebar-header p{font-size:var(--sp-fs-xs)!important;font-weight:500!important;color:var(--sp-text-faint)!important;letter-spacing:.08em!important;text-transform:uppercase!important;margin-top:3px!important}#lbCloseBtn{width:28px;height:28px;padding:0!important;display:inline-flex;align-items:center;justify-content:center;background:transparent;border:1px solid var(--sp-border-strong);border-radius:6px;color:var(--sp-text-muted);cursor:pointer;transition:var(--sp-transition)}#lbCloseBtn:hover{background:var(--sp-hover);color:var(--sp-text-primary);border-color:var(--sp-border-strong)}#lbCloseBtn:focus-visible{outline:2px solid var(--sp-accent);outline-offset:2px}#lbCloseBtn .icon{width:14px;height:14px}.u-sidebar-search-trigger{display:flex;align-items:center;gap:8px;width:100%;margin-top:10px;padding:7px 10px;background:#ffffff08;border:1px solid var(--sp-border-strong);border-radius:8px;color:var(--sp-text-muted);cursor:pointer;font-size:var(--sp-fs-md);font-family:inherit;transition:var(--sp-transition)}.u-sidebar-search-trigger:hover{background:#ffffff0f;border-color:var(--sp-accent-strong);color:var(--sp-text-primary)}.u-sidebar-search-trigger:focus-visible{outline:2px solid var(--sp-accent);outline-offset:2px}.u-sidebar-search-trigger .icon{width:14px;height:14px;flex-shrink:0;opacity:.8}.u-sidebar-search-label{flex:1;text-align:left;letter-spacing:-.01em}.u-sidebar-search-kbd{display:inline-flex;gap:2px;flex-shrink:0}.u-sidebar-search-kbd kbd{display:inline-flex;align-items:center;justify-content:center;min-width:16px;height:16px;padding:0 4px;background:#94a3b81f;border:1px solid var(--sp-border);border-radius:3px;font-family:JetBrains Mono,ui-monospace,Consolas,monospace;font-size:9px;font-weight:600;color:var(--sp-text-faint)}.u-sidebar-footer-dotlabel{display:inline-flex;align-items:center;gap:5px}.u-sidebar-footer-count{color:var(--sp-text-faint)}.u-sidebar-footer-count.is-ok{color:#34d399}.u-sidebar-footer-count.is-err{color:#f87171}.u-sidebar-footer-clock{color:var(--sp-text-muted)}.u-sidebar-footer-source{color:#818cf8}.u-sidebar-footer-ver{opacity:.55}.sidebar-content{padding:8px 4px!important}.sidebar-menu{gap:2px!important}.sidebar-menu::-webkit-scrollbar{width:4px}.sidebar-menu::-webkit-scrollbar-track{background:transparent}.sidebar-menu::-webkit-scrollbar-thumb{background:var(--sp-border-strong);border-radius:4px}.sidebar-menu::-webkit-scrollbar-thumb:hover{background:var(--sp-text-faint)}.menu-group{margin-bottom:2px!important}.menu-group-header{padding:10px 14px 6px!important;margin:0!important;width:100%!important;background:transparent!important;color:var(--sp-text-muted)!important;font-size:var(--sp-fs-xs)!important;font-weight:600!important;text-transform:uppercase!important;letter-spacing:.1em!important;border-radius:0!important;gap:8px!important;transition:color var(--sp-transition)!important}.menu-group-header:hover{background:transparent!important;color:var(--sp-text-primary)!important}.menu-group-header:focus-visible{outline:2px solid var(--sp-accent);outline-offset:-2px}.menu-group-header .group-icon{width:16px!important;height:16px!important;color:var(--sp-text-faint)!important;opacity:1!important;font-size:inherit!important;display:inline-flex;align-items:center;justify-content:center}.menu-group-header .group-icon .icon{width:14px;height:14px}.menu-group-header:hover .group-icon,.menu-group-header.expanded .group-icon{color:var(--sp-text-primary)!important}.menu-group-header .group-label{flex:1!important}.menu-group-header .group-count{font-size:9px!important;font-weight:600!important;padding:2px 7px!important;min-width:22px!important;background:#94a3b81a!important;color:var(--sp-text-faint)!important;border-radius:10px!important;font-family:JetBrains Mono,ui-monospace,Consolas,monospace!important;letter-spacing:0!important}.u-group-kbd{display:inline-flex;align-items:center;margin-left:4px;flex-shrink:0;opacity:0;transition:opacity var(--sp-transition)}.menu-group-header:hover .u-group-kbd,.menu-group-header:focus-visible .u-group-kbd{opacity:1}.u-group-kbd kbd{display:inline-flex;align-items:center;justify-content:center;height:15px;padding:0 5px;background:#94a3b81a;border:1px solid var(--sp-border);border-radius:3px;font-family:JetBrains Mono,ui-monospace,Consolas,monospace;font-size:9px;font-weight:600;color:var(--sp-text-faint);letter-spacing:0;text-transform:none}.menu-group-header .group-chevron{width:14px;height:14px;display:inline-flex;align-items:center;justify-content:center;color:var(--sp-text-faint)!important;font-size:12px!important;transition:transform var(--sp-transition)!important;opacity:.8!important}.menu-group-header .group-chevron .icon{width:12px;height:12px}.menu-group-header.expanded .group-chevron{transform:rotate(90deg)!important;color:var(--sp-text-primary)!important;opacity:1!important}.menu-group-items{padding:2px 0 6px!important;background:transparent!important;transition:max-height .2s ease!important}.menu-group-items.expanded{max-height:800px!important}.menu-group-items .menu-item{padding:7px 14px 7px 42px!important;margin:0!important;width:100%!important;font-size:var(--sp-fs-md)!important;font-weight:500!important;color:var(--sp-text-secondary)!important;background:transparent!important;border:none!important;border-left:2px solid transparent!important;border-radius:0!important;transition:background var(--sp-transition),color var(--sp-transition),border-color var(--sp-transition)!important;letter-spacing:-.01em!important;text-align:left!important;display:flex!important;align-items:center!important;gap:10px!important;cursor:pointer!important}.menu-group-items .menu-item:hover{background:var(--sp-hover)!important;color:var(--sp-text-primary)!important;border-left-color:var(--sp-border-strong)!important}.menu-group-items .menu-item.active{background:var(--sp-accent-soft)!important;color:#93c5fd!important;border-left-color:var(--sp-accent)!important;background-image:none!important;font-weight:600!important}.menu-group-items .menu-item:focus-visible{outline:2px solid var(--sp-accent);outline-offset:-2px}.menu-group-items .menu-item .icon{width:16px!important;height:16px!important;opacity:.75;flex-shrink:0}.menu-group-items .menu-item:hover .icon,.menu-group-items .menu-item.active .icon{opacity:1}.menu-group-items .menu-item .label{flex:1!important;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.badge-menu,.menu-item .badge{margin-left:auto!important;padding:2px 7px!important;min-width:20px;font-size:var(--sp-fs-xs)!important;font-weight:600!important;text-align:center;border-radius:10px!important;font-family:JetBrains Mono,ui-monospace,Consolas,monospace;letter-spacing:0;line-height:1.35;background:#94a3b81f!important;color:var(--sp-text-muted)!important}.badge-menu.badge-menu--danger,.menu-item .badge.badge-menu--danger,.menu-item .badge.u-badge-danger,.menu-item .badge--danger{background:#ef444424!important;color:#f87171!important}.badge-menu.badge-menu--warning,.menu-item .badge.badge-menu--warning,.menu-item .badge--warning{background:#f59e0b24!important;color:#fbbf24!important}.badge-menu.badge-menu--success,.menu-item .badge.badge-menu--success,.menu-item .badge.u-badge-success,.menu-item .badge--success{background:#10b98124!important;color:#34d399!important}.badge-menu.badge-menu--info,.menu-item .badge.badge-menu--info,.menu-item .badge.u-badge-blue,.menu-item .badge--info{background:#3b82f624!important;color:#60a5fa!important}.badge-menu .icon,.menu-item .badge .icon{width:10px!important;height:10px!important;stroke-width:2.5}.menu-group[data-group] .menu-group-header .group-icon{color:var(--sp-text-faint)!important}.menu-group[data-group] .menu-group-header.expanded .group-icon{color:var(--sp-text-primary)!important}.menu-group[data-group] .menu-group-items .menu-item:hover{border-left-color:var(--sp-border-strong)!important}.menu-group[data-group] .menu-group-items .menu-item.active{border-left-color:var(--sp-accent)!important;background:var(--sp-accent-soft)!important}.u-sidebar-footer{padding:10px 14px!important;border-top:1px solid var(--sp-border)!important;margin-top:auto!important;font-family:JetBrains Mono,ui-monospace,Consolas,monospace!important;font-size:var(--sp-fs-xs)!important;color:var(--sp-text-faint)!important;display:flex!important;flex-direction:column!important;gap:5px!important;background:linear-gradient(180deg,transparent,rgba(59,130,246,.03))!important}.u-sidebar-footer-row{display:flex;justify-content:space-between;align-items:center;gap:8px}.u-sidebar-footer .status-dot{width:6px;height:6px;border-radius:50%;background:#f59e0b;display:inline-block;box-shadow:0 0 4px currentColor}.u-sidebar-footer .status-dot.is-ok{background:#10b981}.u-sidebar-footer .status-dot.is-err{background:#ef4444}.u-sidebar-footer .status-dot.is-warn{background:#f59e0b}.u-sidebar-logout{width:100%;padding:8px 12px;background:#ef44441a;color:#f87171;border:1px solid rgba(239,68,68,.22);border-radius:8px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:8px;font-family:inherit;font-size:var(--sp-fs-md);font-weight:500;transition:var(--sp-transition)}.u-sidebar-logout:hover{background:#ef44442e;color:#fca5a5;border-color:#ef444466}.u-sidebar-logout:focus-visible{outline:2px solid #ef4444;outline-offset:2px}.u-sidebar-logout .icon{width:14px;height:14px}.cmd-palette-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#030712b8;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);z-index:10000;display:flex;align-items:flex-start;justify-content:center;padding-top:max(8vh,64px);opacity:0;pointer-events:none;transition:opacity .15s ease}.cmd-palette-backdrop.is-open{opacity:1;pointer-events:auto}.cmd-palette{width:min(640px,calc(100% - 32px));max-height:70vh;background:var(--sp-bg-elevated);border:1px solid var(--sp-border-strong);border-radius:12px;box-shadow:0 20px 60px #0000008c,0 0 0 1px #3b82f614;display:flex;flex-direction:column;overflow:hidden;transform:translateY(-8px);transition:transform .15s ease}.cmd-palette-backdrop.is-open .cmd-palette{transform:translateY(0)}.cmd-palette-input-row{display:flex;align-items:center;gap:10px;padding:14px 16px;border-bottom:1px solid var(--sp-border);background:#0f172a80}.cmd-palette-input-row .icon{width:18px;height:18px;color:var(--sp-text-muted);flex-shrink:0}.cmd-palette-input{flex:1;background:transparent;border:none;outline:none;color:var(--sp-text-primary);font-size:15px;font-weight:500;font-family:inherit;letter-spacing:-.01em}.cmd-palette-input::placeholder{color:var(--sp-text-faint)}.cmd-palette-esc{padding:3px 8px;font-size:10px;font-weight:600;font-family:JetBrains Mono,ui-monospace,Consolas,monospace;letter-spacing:.05em;text-transform:uppercase;background:#94a3b81f;color:var(--sp-text-muted);border-radius:4px;border:1px solid var(--sp-border);flex-shrink:0}.cmd-palette-results{flex:1;overflow-y:auto;padding:6px 0;min-height:60px}.cmd-palette-results::-webkit-scrollbar{width:6px}.cmd-palette-results::-webkit-scrollbar-thumb{background:var(--sp-border-strong);border-radius:6px}.cmd-palette-group-label{font-size:9px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--sp-text-faint);padding:8px 16px 4px}.cmd-palette-item{display:flex;align-items:center;gap:12px;padding:9px 16px;border:none;background:transparent;width:100%;text-align:left;cursor:pointer;color:var(--sp-text-secondary);font-size:var(--sp-fs-md);font-weight:500;transition:background var(--sp-transition),color var(--sp-transition);border-left:2px solid transparent}.cmd-palette-item:hover,.cmd-palette-item.is-selected{background:var(--sp-accent-soft);color:#dbeafe;border-left-color:var(--sp-accent)}.cmd-palette-item .icon{width:16px;height:16px;color:var(--sp-text-muted);flex-shrink:0}.cmd-palette-item:hover .icon,.cmd-palette-item.is-selected .icon{color:#93c5fd}.cmd-palette-item-label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cmd-palette-item-group{font-size:10px;color:var(--sp-text-faint);font-weight:500;text-transform:uppercase;letter-spacing:.06em;flex-shrink:0}.cmd-palette-empty{padding:32px 16px;text-align:center;color:var(--sp-text-faint);font-size:var(--sp-fs-md)}.cmd-palette-footer{display:flex;justify-content:space-between;align-items:center;padding:8px 16px;border-top:1px solid var(--sp-border);background:#0f172a4d;font-size:var(--sp-fs-xs);color:var(--sp-text-faint)}.cmd-palette-footer .kbd-group{display:inline-flex;align-items:center;gap:4px}.cmd-palette-footer kbd{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:18px;padding:0 5px;background:#94a3b81f;border:1px solid var(--sp-border-strong);border-radius:4px;font-family:JetBrains Mono,ui-monospace,Consolas,monospace;font-size:10px;font-weight:600;color:var(--sp-text-muted)}.cmd-palette-item-label mark{background:#f59e0b38;color:#fcd34d;padding:0 1px;border-radius:2px}.u-parc-chip{display:inline-flex;align-items:center;justify-content:center;min-width:28px;height:18px;padding:0 6px;background:#3b82f624;border:1px solid rgba(59,130,246,.3);border-radius:5px;color:#93c5fd;font-family:JetBrains Mono,ui-monospace,Consolas,monospace;font-size:11px;font-weight:700;letter-spacing:0;vertical-align:middle;flex-shrink:0;font-variant-numeric:tabular-nums}.u-parc-chip[data-type=BOM]{background:#a786572e;border-color:#a7865773;color:#c9a77a}.u-parc-chip[data-type=MOVI]{background:#38bdf824;border-color:#38bdf873;color:#7dd3fc}.u-parc-chip[data-type=CANTER]{background:#f59e0b24;border-color:#f59e0b6b;color:#fbbf24}.u-parc-chip[data-type=VL]{background:#94a3b829;border-color:#94a3b861;color:#cbd5e1}.u-parc-name{font-weight:500;color:inherit}.u-parc-imei{font-family:JetBrains Mono,ui-monospace,Consolas,monospace;font-size:10px;color:var(--sp-text-faint, #64748b);opacity:.7;margin-left:4px;letter-spacing:0}.u-parc-chip+.u-parc-name,.u-parc-chip+span.u-parc-name{margin-left:2px}[data-theme=light] .sidebar{background:#f8fafc!important;border-right-color:#0f172a14!important}[data-theme=light] .menu-group-header{color:#475569!important}[data-theme=light] .menu-group-header:hover{color:#0f172a!important}[data-theme=light] .menu-group-header .group-count{background:#0f172a0f!important;color:#64748b!important}[data-theme=light] .menu-group-items .menu-item{color:#334155!important}[data-theme=light] .menu-group-items .menu-item:hover{background:#0f172a0a!important;color:#0f172a!important}[data-theme=light] .menu-group-items .menu-item.active{background:#3b82f61a!important;color:#2563eb!important}@media(max-width:768px){.sidebar{width:100%!important;max-width:320px}}.u-form-row{display:flex;flex-direction:column;gap:6px;margin-bottom:14px}.u-form-row.is-inline{flex-direction:row;align-items:center;gap:10px}.u-form-group{display:grid;grid-template-columns:1fr 1fr;gap:12px}@media(max-width:640px){.u-form-group{grid-template-columns:1fr}}.u-label{font-size:11px;font-weight:600;color:var(--sp-text-muted, #94a3b8);text-transform:uppercase;letter-spacing:.08em;line-height:1.2;display:inline-flex;align-items:center;gap:6px}.u-label.is-required:after{content:"*";color:#f87171;font-weight:700;margin-left:1px}.u-label .icon{width:12px;height:12px;opacity:.75}.u-input,.u-select,.u-textarea{width:100%;padding:8px 12px;background:#ffffff0a;border:1px solid var(--sp-border-strong, rgba(148, 163, 184, .18));border-radius:8px;color:var(--sp-text-primary, #e2e8f0);font-size:13px;font-family:inherit;font-weight:500;letter-spacing:-.01em;line-height:1.4;transition:background .18s ease,border-color .18s ease,box-shadow .18s ease;outline:none;box-sizing:border-box}.u-input::placeholder,.u-textarea::placeholder{color:var(--sp-text-faint, #64748b)}.u-input:hover,.u-select:hover,.u-textarea:hover{border-color:#94a3b847;background:#ffffff0e}.u-input:focus,.u-input:focus-visible,.u-select:focus,.u-select:focus-visible,.u-textarea:focus,.u-textarea:focus-visible{border-color:var(--sp-accent, #3b82f6);background:#ffffff0f;box-shadow:0 0 0 3px #3b82f626}.u-input:disabled,.u-select:disabled,.u-textarea:disabled,.u-input.is-disabled,.u-select.is-disabled,.u-textarea.is-disabled{opacity:.5;cursor:not-allowed;background:#ffffff05}.u-input[readonly]{background:#ffffff05;color:var(--sp-text-muted, #94a3b8)}.u-input--sm,.u-select--sm{padding:6px 10px;font-size:12px;border-radius:6px}.u-input--lg,.u-select--lg{padding:10px 14px;font-size:14px}.u-input--error,.u-input[aria-invalid=true],.u-select--error,.u-textarea--error{border-color:#ef444473!important;background:#ef44440a}.u-input--error:focus,.u-input[aria-invalid=true]:focus,.u-select--error:focus,.u-textarea--error:focus{border-color:#ef4444!important;box-shadow:0 0 0 3px #ef44442e!important}.u-input--success,.u-select--success,.u-textarea--success{border-color:#10b98173!important;background:#10b9810a}.u-input--success:focus{border-color:#10b981!important;box-shadow:0 0 0 3px #10b9812e!important}.u-input--warning,.u-select--warning,.u-textarea--warning{border-color:#f59e0b73!important;background:#f59e0b0a}.u-input--warning:focus{border-color:#f59e0b!important;box-shadow:0 0 0 3px #f59e0b2e!important}.u-textarea{resize:vertical;min-height:72px;line-height:1.55}.u-select{-moz-appearance:none;appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%2394a3b8' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><polyline points='6 9 12 15 18 9'/></svg>");background-repeat:no-repeat;background-position:right 10px center;padding-right:32px;cursor:pointer}.u-select option{background:var(--sp-bg-elevated, #0f172a);color:var(--sp-text-primary, #e2e8f0)}.u-input-wrap{position:relative;display:block}.u-input-wrap .u-input-icon{position:absolute;left:10px;top:50%;transform:translateY(-50%);width:14px;height:14px;color:var(--sp-text-faint, #64748b);pointer-events:none}.u-input-wrap .u-input{padding-left:32px}.u-form-help{font-size:11px;color:var(--sp-text-faint, #64748b);line-height:1.4;display:inline-flex;align-items:center;gap:4px}.u-form-error{font-size:11px;color:#f87171;font-weight:500;display:inline-flex;align-items:center;gap:4px}.u-form-success{font-size:11px;color:#34d399;font-weight:500;display:inline-flex;align-items:center;gap:4px}.u-form-help .icon,.u-form-error .icon,.u-form-success .icon{width:12px;height:12px;stroke-width:2.2;flex-shrink:0}.u-checkbox,.u-radio{display:inline-flex;align-items:center;gap:8px;cursor:pointer;font-size:13px;color:var(--sp-text-secondary, #cbd5e1);-webkit-user-select:none;user-select:none}.u-checkbox input[type=checkbox],.u-radio input[type=radio]{-moz-appearance:none;appearance:none;-webkit-appearance:none;width:16px;height:16px;background:#ffffff0a;border:1px solid var(--sp-border-strong, rgba(148, 163, 184, .28));cursor:pointer;transition:background .15s ease,border-color .15s ease;flex-shrink:0;position:relative}.u-checkbox input[type=checkbox]{border-radius:4px}.u-radio input[type=radio]{border-radius:50%}.u-checkbox input[type=checkbox]:hover,.u-radio input[type=radio]:hover{border-color:var(--sp-accent, #3b82f6);background:#3b82f60f}.u-checkbox input[type=checkbox]:focus-visible,.u-radio input[type=radio]:focus-visible{outline:2px solid var(--sp-accent, #3b82f6);outline-offset:2px}.u-checkbox input[type=checkbox]:checked,.u-radio input[type=radio]:checked{background:var(--sp-accent, #3b82f6);border-color:var(--sp-accent, #3b82f6)}.u-checkbox input[type=checkbox]:checked:after{content:"";position:absolute;top:2px;right:2px;bottom:2px;left:2px;background:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'><polyline points='20 6 9 17 4 12'/></svg>") center / contain no-repeat}.u-radio input[type=radio]:checked:after{content:"";position:absolute;top:4px;right:4px;bottom:4px;left:4px;border-radius:50%;background:#fff}.u-switch{position:relative;display:inline-flex;align-items:center;gap:10px;cursor:pointer;font-size:13px;color:var(--sp-text-secondary, #cbd5e1);-webkit-user-select:none;user-select:none}.u-switch input[type=checkbox]{-moz-appearance:none;appearance:none;-webkit-appearance:none;width:32px;height:18px;background:#94a3b838;border-radius:10px;cursor:pointer;position:relative;transition:background .18s ease;flex-shrink:0}.u-switch input[type=checkbox]:before{content:"";position:absolute;width:14px;height:14px;background:#f1f5f9;border-radius:50%;top:2px;left:2px;transition:transform .18s ease,background .18s ease;box-shadow:0 1px 2px #0000004d}.u-switch input[type=checkbox]:checked{background:var(--sp-accent, #3b82f6)}.u-switch input[type=checkbox]:checked:before{transform:translate(14px)}.u-switch input[type=checkbox]:focus-visible{outline:2px solid var(--sp-accent, #3b82f6);outline-offset:2px}.u-fieldset{border:1px solid var(--sp-border, rgba(148, 163, 184, .1));border-radius:10px;padding:14px 16px 16px;margin-bottom:16px;background:#ffffff04}.u-fieldset legend,.u-fieldset .u-fieldset-title{font-size:10px;font-weight:700;color:var(--sp-text-muted, #94a3b8);text-transform:uppercase;letter-spacing:.1em;padding:0 6px;margin-bottom:10px;display:inline-flex;align-items:center;gap:6px}.u-table-wrap{position:relative;overflow:auto;max-height:100%;border:1px solid var(--sp-border, rgba(148, 163, 184, .1));border-radius:10px;background:#ffffff04;box-shadow:inset 0 1px #ffffff05}.u-table-wrap::-webkit-scrollbar{width:8px;height:8px}.u-table-wrap::-webkit-scrollbar-thumb{background:#94a3b833;border-radius:6px}.u-table-wrap::-webkit-scrollbar-thumb:hover{background:#94a3b866}.u-table{width:100%;border-collapse:collapse;font-size:12.5px;color:var(--sp-text-secondary, #cbd5e1)}.u-table thead th{position:sticky;top:0;z-index:2;background:#0f172af2;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);border-bottom:1px solid var(--sp-border-strong, rgba(148, 163, 184, .18));padding:9px 12px;text-align:left;font-size:10.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--sp-text-muted, #94a3b8);white-space:nowrap;-webkit-user-select:none;user-select:none}.u-table thead th.is-sortable{cursor:pointer;transition:color .18s ease}.u-table thead th.is-sortable:hover{color:var(--sp-text-primary, #e2e8f0)}.u-table thead th.is-sortable:after{content:"";display:inline-block;width:0;height:0;margin-left:6px;border-left:3px solid transparent;border-right:3px solid transparent;border-top:4px solid currentColor;opacity:.4;vertical-align:middle}.u-table thead th.is-sorted-asc:after{border-top:none;border-bottom:4px solid var(--sp-accent, #3b82f6);opacity:1}.u-table thead th.is-sorted-desc:after{border-top:4px solid var(--sp-accent, #3b82f6);opacity:1}.u-table tbody td{padding:9px 12px;border-bottom:1px solid rgba(148,163,184,.06);vertical-align:middle;line-height:1.4}.u-table tbody tr{transition:background .12s ease}.u-table tbody tr:nth-child(2n) td{background:#ffffff05}.u-table tbody tr:hover td{background:#3b82f60f}.u-table tbody tr.is-selected td{background:#3b82f624;border-bottom-color:#3b82f640}.u-table tbody tr:last-child td{border-bottom:none}.u-table .u-cell-num{text-align:right;font-variant-numeric:tabular-nums;font-family:JetBrains Mono,ui-monospace,Consolas,monospace}.u-table .u-cell-center{text-align:center}.u-table .u-cell-nowrap{white-space:nowrap}.u-table--compact tbody td,.u-table--compact thead th{padding:6px 10px;font-size:11.5px}.u-table--compact thead th{font-size:9.5px}.u-table--comfy tbody td,.u-table--comfy thead th{padding:12px 14px}.u-chip{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;font-size:10.5px;font-weight:600;border-radius:10px;background:#94a3b824;color:var(--sp-text-muted, #94a3b8);white-space:nowrap}.u-chip--online{background:#10b98124;color:#34d399}.u-chip--offline{background:#94a3b824;color:#94a3b8}.u-chip--danger{background:#ef444424;color:#f87171}.u-chip--warning{background:#f59e0b24;color:#fbbf24}.u-chip--info{background:#3b82f624;color:#60a5fa}.u-chip .icon{width:10px;height:10px;stroke-width:2.5}.u-chip .chip-dot{width:6px;height:6px;border-radius:50%;background:currentColor;box-shadow:0 0 4px currentColor;display:inline-block}.u-table-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border-bottom:1px solid var(--sp-border, rgba(148, 163, 184, .1))}.u-table-title{font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--sp-text-muted, #94a3b8);display:inline-flex;align-items:center;gap:6px}.u-table-title .count{padding:1px 7px;background:#94a3b81f;color:var(--sp-text-faint, #64748b);border-radius:10px;font-family:JetBrains Mono,ui-monospace,Consolas,monospace;font-size:9.5px;letter-spacing:0}.u-table-empty{padding:36px 16px;text-align:center;color:var(--sp-text-faint, #64748b);font-size:13px}.u-table-empty .icon{width:28px;height:28px;opacity:.4;margin-bottom:8px}.u-table-empty-label{display:block;font-weight:600;color:var(--sp-text-muted, #94a3b8);margin-bottom:4px}.u-table-empty-hint{display:block;font-size:11px;color:var(--sp-text-faint, #64748b)}.u-table .u-row-actions{display:flex;gap:4px;justify-content:flex-end;opacity:0;transition:opacity .15s ease}.u-table tbody tr:hover .u-row-actions,.u-table tbody tr:focus-within .u-row-actions{opacity:1}.u-table .u-row-action-btn{width:26px;height:26px;background:#ffffff0a;border:1px solid var(--sp-border, rgba(148, 163, 184, .1));border-radius:6px;color:var(--sp-text-muted, #94a3b8);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:all .15s ease}.u-table .u-row-action-btn:hover{background:#ffffff1a;color:var(--sp-text-primary, #e2e8f0)}.u-table .u-row-action-btn:focus-visible{outline:2px solid var(--sp-accent, #3b82f6);outline-offset:2px}.u-table .u-row-action-btn .icon{width:13px;height:13px;stroke-width:2}.u-table-pagination{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 14px;border-top:1px solid var(--sp-border, rgba(148, 163, 184, .1));font-size:12px;color:var(--sp-text-faint, #64748b)}.u-table-pagination .u-page-btns{display:inline-flex;gap:4px}.u-table-pagination .u-page-btn{min-width:28px;height:26px;padding:0 8px;background:transparent;border:1px solid var(--sp-border, rgba(148, 163, 184, .1));border-radius:6px;color:var(--sp-text-muted, #94a3b8);cursor:pointer;transition:all .15s ease;font-family:JetBrains Mono,ui-monospace,Consolas,monospace;font-size:11px;font-weight:600}.u-table-pagination .u-page-btn:hover:not([disabled]){background:#ffffff0f;color:var(--sp-text-primary, #e2e8f0);border-color:var(--sp-accent-strong, rgba(59, 130, 246, .3))}.u-table-pagination .u-page-btn.is-current{background:var(--sp-accent-soft, rgba(59, 130, 246, .15));color:#93c5fd;border-color:var(--sp-accent, #3b82f6)}.u-table-pagination .u-page-btn[disabled]{opacity:.35;cursor:not-allowed}[data-theme=light] .u-input,[data-theme=light] .u-select,[data-theme=light] .u-textarea{background:#fff;border-color:#0f172a24;color:#0f172a}[data-theme=light] .u-input::placeholder,[data-theme=light] .u-textarea::placeholder{color:#94a3b8}[data-theme=light] .u-table thead th{background:#f8fafcfa;color:#64748b;border-bottom-color:#0f172a1a}[data-theme=light] .u-table tbody td{border-bottom-color:#0f172a0f}[data-theme=light] .u-table tbody tr:nth-child(2n) td{background:#0f172a05}[data-theme=light] .u-table tbody tr:hover td{background:#3b82f60f}.type-filter-bar{display:flex;flex-wrap:wrap;gap:5px;padding:8px 2px 14px}.type-filter-btn{--chip-accent: #64748b;position:relative;display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:6px;min-width:30px;height:30px;font-size:11.5px;font-weight:600;color:var(--sp-text-secondary, #cbd5e1);background:#ffffff08;border:1px solid var(--sp-border, rgba(148,163,184,.14));border-radius:8px;cursor:pointer;transition:background .14s ease,border-color .14s ease,color .14s ease,transform .18s cubic-bezier(.34,1.56,.64,1),padding .22s cubic-bezier(.34,1.56,.64,1),min-width .22s cubic-bezier(.34,1.56,.64,1),opacity .14s ease;white-space:nowrap;letter-spacing:-.01em;font-family:inherit;will-change:transform,padding}.type-filter-btn:hover{background:#ffffff12;border-color:var(--chip-accent);color:var(--sp-text-primary, #e2e8f0);transform:translateY(-1px)}.type-filter-btn:active{transform:translateY(0) scale(.96);transition-duration:80ms}.type-filter-btn:focus-visible{outline:2px solid var(--chip-accent);outline-offset:2px}.type-filter-btn.active{padding:6px 12px;background:color-mix(in srgb,var(--chip-accent) 18%,transparent);border-color:var(--chip-accent);color:#f1f5f9;box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--chip-accent) 45%,transparent),0 2px 8px color-mix(in srgb,var(--chip-accent) 20%,transparent)}.type-filter-btn[data-empty-bucket=true]:not(.active){opacity:.55}.type-filter-btn[data-empty-bucket=true]:not(.active):hover{opacity:1}.type-filter-btn[data-tooltip]:not(.active):hover:before{content:attr(data-tooltip);position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%);padding:5px 9px;background:#0f172af5;color:#f1f5f9;font-size:10.5px;font-weight:600;border-radius:5px;white-space:nowrap;pointer-events:none;z-index:1000;box-shadow:0 6px 18px #00000073,0 0 0 1px #94a3b82e;letter-spacing:0;font-family:inherit;animation:chipTooltipIn .14s ease-out}.type-filter-btn[data-tooltip]:not(.active):hover:after{content:"";position:absolute;bottom:calc(100% + 2px);left:50%;transform:translate(-50%);border:5px solid transparent;border-top-color:#0f172af5;pointer-events:none;z-index:1000;animation:chipTooltipIn .14s ease-out}@keyframes chipTooltipIn{0%{opacity:0;transform:translate(-50%) translateY(2px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.type-filter-btn .icon{width:14px;height:14px;stroke-width:2.2;color:var(--chip-accent);flex-shrink:0}.type-filter-btn:not(.active) .chip-label{display:none}.type-filter-btn:not(.active) .chip-count{position:absolute;top:-5px;right:-5px;font-family:JetBrains Mono,ui-monospace,Consolas,monospace;font-size:9px;font-weight:700;padding:0 4px;min-width:14px;height:14px;display:inline-flex;align-items:center;justify-content:center;border-radius:7px;background:var(--chip-accent);color:#fff;letter-spacing:0;line-height:1;box-shadow:0 1px 3px #0000004d}.type-filter-btn:not(.active) .chip-count[data-empty=true]{display:none}.type-filter-btn.active .chip-label{display:inline;flex:0 0 auto}.type-filter-btn.active .chip-count{position:static;font-family:JetBrains Mono,ui-monospace,Consolas,monospace;font-size:10px;padding:0 6px;min-width:18px;height:15px;display:inline-flex;align-items:center;justify-content:center;border-radius:8px;background:color-mix(in srgb,var(--chip-accent) 30%,transparent);color:#f1f5f9;letter-spacing:0;box-shadow:none}.pp-empty-state{padding:48px 22px 36px;text-align:center;color:#4a5260;display:flex;flex-direction:column;align-items:center;gap:10px}.pp-empty-state-icon{width:56px;height:56px;border-radius:14px;display:inline-flex;align-items:center;justify-content:center;background:#94a3b814;color:#94a3b88c;margin-bottom:4px;box-shadow:inset 0 0 0 1px #94a3b81a}.pp-empty-state-icon .icon{width:26px;height:26px;stroke-width:1.6}.pp-empty-state-title{font-size:13.5px;font-weight:600;color:#94a3b8;margin-bottom:2px;letter-spacing:-.01em}.pp-empty-state-desc{font-size:11.5px;color:#64748b;line-height:1.55;max-width:320px}.pp-icon-badge{width:36px;height:36px;border-radius:10px;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;box-shadow:inset 0 0 0 1px #ffffff0d}.pp-icon-badge .icon{width:18px;height:18px;stroke-width:2.1}.geo-avatar-animated{transform-origin:50% 50%;transform-box:view-box;animation:geo-idle-breathe 4.2s ease-in-out infinite;transition:filter .3s ease;will-change:transform,filter}@keyframes geo-idle-breathe{0%,to{transform:scale(1)}50%{transform:scale(1.015)}}.geo-eye{transform-origin:center;transform-box:fill-box;animation:geo-blink 6s cubic-bezier(.77,0,.18,1) infinite}.geo-eye-right{animation-delay:.02s}@keyframes geo-blink{0%,93%,to{transform:scaleY(1)}95%,96%{transform:scaleY(.05)}}.geo-mouth{transform-origin:50% 52px;transform-box:fill-box;transform:scaleY(var(--mouth-open, 1));transition:transform .06s ease-out}.geo-brow{transform-origin:center;transform-box:fill-box;transition:transform .2s ease}.geo-avatar-animated.speaking .geo-brow{transform:translateY(-.8px)}.geo-avatar-animated.thinking .geo-brow{transform:translateY(-1.2px) scale(1.05)}.geo-avatar-animated.speaking{filter:drop-shadow(0 0 6px rgba(26,115,232,.55));animation:geo-idle-breathe 2.5s ease-in-out infinite}.geo-avatar-animated.listening{filter:drop-shadow(0 0 10px rgba(234,67,53,.7));animation:geo-listen-pulse 1.4s ease-in-out infinite}@keyframes geo-listen-pulse{0%,to{transform:scale(1);filter:drop-shadow(0 0 8px rgba(234,67,53,.5))}50%{transform:scale(1.04);filter:drop-shadow(0 0 14px rgba(234,67,53,.85))}}.geo-avatar-animated.thinking{filter:drop-shadow(0 0 7px rgba(251,191,36,.6));animation:geo-think-bob 1.6s ease-in-out infinite}@keyframes geo-think-bob{0%,to{transform:rotate(-1.5deg) scale(1)}50%{transform:rotate(1.5deg) scale(1.02)}}#gcaChatPanel.geo-speaking .gca-chat-header{box-shadow:inset 0 -2px #1a73e866}.geo-hand,.geo-arm-left,.geo-arm-right{transform-box:fill-box;transform-origin:center;transition:transform .42s cubic-bezier(.34,1.56,.64,1)}.geo-avatar-animated .geo-hand-left{animation:geo-hand-idle-l 4.2s ease-in-out infinite}.geo-avatar-animated .geo-hand-right{animation:geo-hand-idle-r 4.2s ease-in-out infinite}@keyframes geo-hand-idle-l{0%,to{transform:translate(0)}50%{transform:translate(-.3px,-.4px)}}@keyframes geo-hand-idle-r{0%,to{transform:translate(0)}50%{transform:translate(.3px,-.4px)}}.geo-avatar-animated.speaking .geo-hand-left{transform:translate(-.8px,-.5px);animation:none}.geo-avatar-animated.speaking .geo-hand-right{transform:translate(.8px,-.5px);animation:none}.geo-avatar-animated.thinking .geo-hand-right{transform:translate(-2.5px,-4px) rotate(-8deg);animation:none}.geo-avatar-animated.thinking .geo-arm-right{transform:translate(-1px,-2.5px) rotate(-10deg)}.geo-avatar-animated.listening .geo-hand-left{transform:translate(-2px,-5px) rotate(6deg);animation:none}.geo-avatar-animated.listening .geo-arm-left{transform:translate(-.5px,-3px) rotate(-6deg)}.geo-avatar-animated.pondering .geo-hand-right{animation:geo-pondering-hand 2.6s cubic-bezier(.4,0,.2,1) forwards}.geo-avatar-animated.pondering .geo-arm-right{animation:geo-pondering-arm 2.6s cubic-bezier(.4,0,.2,1) forwards}@keyframes geo-pondering-hand{0%,to{transform:translate(0) rotate(0)}22%,78%{transform:translate(-4px,-9px) rotate(-12deg)}}@keyframes geo-pondering-arm{0%,to{transform:translate(0) rotate(0)}22%,78%{transform:translate(-2px,-5px) rotate(-14deg)}}.gca-typing-bubble{display:inline-flex;align-items:center;gap:5px;padding:12px 16px!important;margin-bottom:10px;border-radius:14px 14px 14px 4px;background:#1e293bd1;border:1px solid rgba(59,130,246,.18);width:fit-content;max-width:fit-content;animation:gca-bubble-in .22s cubic-bezier(.2,.9,.3,1.2) both}.gca-typing-dot{width:7px;height:7px;border-radius:50%;background:#60a5fa;opacity:.4;animation:gca-typing-pulse 1.1s ease-in-out infinite}.gca-typing-dot:nth-child(2){animation-delay:.15s}.gca-typing-dot:nth-child(3){animation-delay:.3s}@keyframes gca-typing-pulse{0%,60%,to{opacity:.35;transform:scale(.85) translateY(0)}30%{opacity:1;transform:scale(1.05) translateY(-2px)}}.gcv4-bubble,.gca-chat-msg{animation:gca-bubble-in .2s cubic-bezier(.2,.9,.3,1.15) both;position:relative}@keyframes gca-bubble-in{0%{opacity:0;transform:translateY(8px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}.gcv4-bubble-time,.gca-chat-msg-time{position:absolute;bottom:-14px;font-size:10px;color:#94a3b880;opacity:0;transition:opacity .16s ease,transform .16s ease;transform:translateY(-2px);pointer-events:none;white-space:nowrap;font-variant-numeric:tabular-nums;letter-spacing:.02em}.gcv4-bubble--assistant .gcv4-bubble-time,.gca-chat-msg.bot .gca-chat-msg-time{left:8px}.gcv4-bubble--user .gcv4-bubble-time,.gca-chat-msg.user .gca-chat-msg-time{right:8px}.gcv4-bubble:hover .gcv4-bubble-time,.gca-chat-msg:hover .gca-chat-msg-time{opacity:1;transform:translateY(0)}.gca-chat-header-status{display:block;font-size:11px;font-weight:500;color:#94a3b8;margin-top:2px;letter-spacing:.01em;transition:color .2s ease;min-height:14px}.gca-chat-header-status[data-state=thinking]{color:#fbbf24}.gca-chat-header-status[data-state=listening]{color:#f87171}.gca-chat-header-status[data-state=speaking]{color:#60a5fa}.gca-chat-header-status[data-state=idle]{color:#94a3b8}.gca-chat-header-dot{transition:background .2s ease,box-shadow .2s ease}.gca-chat-header-dot[data-state=thinking]{background:#fbbf24;box-shadow:0 0 10px #fbbf2499;animation:gca-dot-pulse 1.4s ease-in-out infinite}.gca-chat-header-dot[data-state=listening]{background:#f87171;box-shadow:0 0 12px #f87171b3;animation:gca-dot-pulse .9s ease-in-out infinite}.gca-chat-header-dot[data-state=speaking]{background:#60a5fa;box-shadow:0 0 12px #60a5fab3;animation:gca-dot-pulse 1.2s ease-in-out infinite}@keyframes gca-dot-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.25)}}.gca-eq-container{display:inline-flex;align-items:flex-end;gap:3px;height:18px;width:28px;margin-left:auto;margin-right:4px;opacity:0;transition:opacity .22s ease;pointer-events:none}.gca-eq-container.active{opacity:1}.gca-eq-bar{width:3px;min-height:3px;border-radius:2px;background:#60a5fa;transform-origin:bottom;transform:scaleY(.2);transition:transform 55ms linear,background .2s ease}.gca-eq-container[data-source=mic] .gca-eq-bar{background:#f87171}.gca-eq-container[data-source=tts] .gca-eq-bar{background:#60a5fa}@media(prefers-reduced-motion:reduce){.geo-avatar-animated,.geo-eye,.geo-mouth,.geo-brow,.gca-typing-dot,.gcv4-bubble,.gca-chat-msg,.gca-chat-header-dot,.gca-eq-bar{animation:none!important;transition:none!important}}
