body{margin:0;padding:0;font-family:Roboto,-apple-system,BlinkMacSystemFont,Segoe UI,system-ui,sans-serif;font-weight:var(--font-weight-normal);line-height:1.6;letter-spacing:var(--letter-spacing-normal);background:linear-gradient(135deg,var(--dark-bg) 0%,var(--darker-bg) 100%);color:var(--text-color);overflow:hidden;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.layer-notification{position:fixed;top:20px;right:20px;background:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--radius-md);padding:var(--spacing-md) var(--spacing-lg);display:flex;align-items:center;gap:var(--spacing-sm);box-shadow:var(--shadow-lg);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);z-index:10000;animation:slideInRight .3s ease-out;max-width:300px}.layer-notification.error{border-left:4px solid var(--error-color)}.layer-notification.info{border-left:4px solid var(--primary-color)}@keyframes slideInRight{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}.layer-popup{font-family:inherit;line-height:1.4}.layer-popup h4{margin:0 0 var(--spacing-sm) 0;color:var(--primary-color);font-size:14px;font-weight:var(--font-weight-semibold)}.layer-popup p{margin:var(--spacing-xs) 0;font-size:13px}.layer-popup strong{color:var(--text-color)}.direct-parsed-table,.manual-table{border:2px solid var(--primary-color);box-shadow:0 4px 12px #0003}.bot-message .message-content{overflow-x:auto}table{border-collapse:collapse;width:100%;margin-bottom:1rem;background-color:transparent;font-size:.9rem}table th,table td{padding:.75rem;vertical-align:top;border-top:1px solid #dee2e6;text-align:left}table thead th{vertical-align:bottom;border-bottom:2px solid #dee2e6;background-color:var(--primary-color);color:#fff;font-weight:700}table tbody tr:nth-of-type(odd){background-color:#0000000d}table tbody tr:hover{background-color:#0079c11a}.manual-table{border:1px solid rgba(255,255,255,.2);border-radius:4px;overflow:hidden;box-shadow:0 4px 8px #00000026;margin:15px 0}.manual-table th{background-color:var(--primary-color);color:#fff;font-weight:600;padding:10px 12px;position:sticky;top:0}.manual-table td{border-top:1px solid rgba(255,255,255,.1);padding:8px 12px}@media screen and (max-width: 768px){.manual-table{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch}}.manual-table table,.bot-message table table{margin:0;width:100%}.bot-message .message-content table{margin:15px 0}table.manual-table:has(th:contains("Institution Name")),table.manual-table:has(th:contains("School")){border-left:4px solid #00c853}table.manual-table:has(th:contains("Airport")),table.manual-table:has(th:contains("Passenger Capacity")){border-left:4px solid #ff9800}.sidebar-content{max-height:calc(100vh - 100px);overflow-y:auto}.query-history{margin-top:20px;padding:10px;background-color:#fff;border-radius:4px}.history-item{padding:8px;margin-bottom:8px;background-color:#f9f9f9;border-radius:4px;cursor:pointer}.history-item:hover{background-color:#f0f0f0}.rag-indicator{font-size:12px;background-color:#0079c133;color:var(--text-color);padding:3px 8px;border-radius:12px;margin-left:10px;display:inline-flex;align-items:center;gap:5px;animation:fadeIn .5s ease-in-out}.rag-indicator i{font-size:10px}.context-header{display:flex;justify-content:space-between;align-items:center;padding:10px 15px;background:linear-gradient(120deg,var(--primary-color),#005a8e 80%);color:var(--text-color);font-weight:500;border-radius:8px 8px 0 0}.property-name{font-weight:500;min-width:100px;color:var(--text-secondary)}#container{height:calc(100vh - var(--header-height, 70px));position:relative;margin-top:var(--header-height, 70px)}.main-layout{width:100vw;height:100vh;display:flex;flex-direction:column;overflow:hidden;background:linear-gradient(135deg,var(--dark-bg) 0%,var(--darker-bg) 100%);color:var(--text-color);font-family:Roboto,-apple-system,BlinkMacSystemFont,Segoe UI,system-ui,sans-serif}.toggle-sidebar{position:fixed;top:50%;left:0;transform:translateY(-50%);z-index:var(--z-overlay);background:var(--primary-color);border:none;color:#fff;width:32px;height:48px;border-radius:0 var(--radius-md) var(--radius-md) 0;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .3s ease;box-shadow:var(--shadow-md)}.toggle-sidebar.collapsed{left:0}.toggle-sidebar:not(.collapsed){left:var(--sidebar-width)}.toggle-sidebar:hover{background:var(--primary-hover);transform:translateY(-50%) translate(4px)}.map-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;flex-direction:column;color:var(--text-color);text-align:center;padding:var(--spacing-xl)}.map-placeholder h3{margin:0 0 var(--spacing-md);font-size:24px;font-weight:var(--font-weight-bold)}.map-placeholder p{color:var(--text-secondary);font-size:16px}.tools-panel{position:fixed;top:var(--header-height);width:320px;height:calc(100vh - var(--header-height));background:var(--darker-bg);border-right:1px solid var(--card-border);z-index:var(--z-overlay);box-shadow:var(--shadow-xl);transition:all .3s ease}.tools-header{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-lg);border-bottom:1px solid var(--card-border);background:var(--card-bg)}.tools-header h3{margin:0;color:var(--text-color);font-size:16px;font-weight:var(--font-weight-bold)}.tools-header button{background:none;border:none;color:var(--text-color);font-size:20px;cursor:pointer;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-md);transition:all .3s ease}.tools-header button:hover{background:var(--card-border)}.tools-content{padding:var(--spacing-lg);color:var(--text-color)}.welcome-overlay{position:fixed;inset:0;background:#000c;z-index:var(--z-modal);display:flex;align-items:center;justify-content:center;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.welcome-content{background:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--radius-xl);padding:var(--spacing-xxl);text-align:center;max-width:400px;color:var(--text-color)}.welcome-content h2{margin:0 0 var(--spacing-md);font-size:24px;font-weight:var(--font-weight-bold)}.welcome-content p{margin:0 0 var(--spacing-xl);color:var(--text-secondary);font-size:16px}.welcome-content button{background:var(--primary-color);border:none;color:#fff;padding:var(--spacing-md) var(--spacing-xl);border-radius:var(--radius-lg);cursor:pointer;font-size:16px;font-weight:var(--font-weight-medium);transition:all .3s ease}.welcome-content button:hover{background:var(--primary-hover);transform:translateY(-1px);box-shadow:var(--shadow-md)}.gis-tools-dropdown{position:fixed;top:80px;right:20px;width:350px;max-height:500px;background:linear-gradient(145deg,#0f0f0ffa,#1a1a1af2);-webkit-backdrop-filter:blur(20px) saturate(1.2);backdrop-filter:blur(20px) saturate(1.2);border:1px solid rgba(0,188,212,.3);border-radius:16px;box-shadow:0 20px 60px #00000080,0 0 40px #00bcd433,inset 0 1px #ffffff1a;z-index:10002;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;animation:slideDown .3s cubic-bezier(.4,0,.2,1);overflow:hidden}@keyframes slideDown{0%{opacity:0;transform:translateY(-20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.dropdown-header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.25rem;background:linear-gradient(135deg,#00bcd426,#00bcd40d);border-bottom:1px solid rgba(0,188,212,.2)}.dropdown-header h3{margin:0;color:#00bcd4f2;font-size:16px;font-weight:700;display:flex;align-items:center;gap:.5rem}.dropdown-header h3 i{font-size:18px}.close-btn{background:#ffffff0d;border:1px solid rgba(255,255,255,.1);color:#fff;width:32px;height:32px;border-radius:8px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.close-btn:hover{background:#ff6b6b33;border-color:#ff6b6b4d;color:#ff6b6b}.dropdown-content{padding:1rem;max-height:400px;overflow-y:auto}.category-tabs{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1.5rem}.category-tab{background:#0000004d;border:2px solid rgba(255,255,255,.1);border-radius:12px;padding:.75rem 1rem;color:#fff;cursor:pointer;display:flex;align-items:center;gap:.75rem;font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:.3px;transition:all .3s ease;position:relative;overflow:hidden}.category-tab:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:var(--category-color, #4a90e2);transform:scaleX(0);transition:transform .3s ease}.category-tab:hover,.category-tab.active{background:#00000080;border-color:var(--category-color, #4a90e2);transform:translate(4px)}.category-tab:hover:before,.category-tab.active:before{transform:scaleX(1)}.category-tab i{color:var(--category-color, #4a90e2);font-size:1rem}.tool-count{margin-left:auto;background:var(--category-color, #4a90e2);color:#fff;font-size:10px;font-weight:700;padding:.25rem .5rem;border-radius:6px;min-width:20px;text-align:center}.tools-grid{margin-bottom:1.5rem}.category-header{display:flex;align-items:center;gap:.5rem;color:#fff;font-size:14px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;margin-bottom:1rem;padding-bottom:.5rem;border-bottom:1px solid rgba(74,144,226,.2)}.tools-container{display:flex;flex-direction:column;gap:.5rem}.tool-item{background:#0003;border:1px solid rgba(255,255,255,.1);border-radius:10px;padding:.75rem;color:#fff;cursor:pointer;display:flex;align-items:center;gap:.75rem;transition:all .3s ease;position:relative;overflow:hidden}.tool-item:hover{background:#4a90e21a;border-color:#4a90e24d;transform:translate(4px)}.tool-item.active{background:#4a90e233;border-color:#4a90e280;box-shadow:0 0 15px #4a90e24d}.tool-item.tool-clicked{animation:toolClick .2s ease}@keyframes toolClick{0%,to{transform:scale(1)}50%{transform:scale(.95)}}.tool-icon{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:#4a90e21a;border-radius:8px;border:1px solid rgba(74,144,226,.2)}.tool-icon i{color:#4a90e2cc;font-size:14px}.tool-info{flex:1;display:flex;flex-direction:column;gap:.25rem}.tool-name{font-size:13px;font-weight:600;color:#fff}.tool-shortcut{font-size:10px;color:#8bb6e8;font-weight:500;text-transform:uppercase}.active-indicator{color:#00c896;font-size:8px;animation:activeIndicatorPulse 2s ease-in-out infinite}@keyframes activeIndicatorPulse{0%,to{opacity:1}50%{opacity:.5}}.quick-actions{margin-bottom:1.5rem}.quick-actions-header{display:flex;align-items:center;gap:.5rem;color:#fff;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;margin-bottom:.75rem}.quick-actions-header i{color:#ff9800}.quick-buttons{display:grid;grid-template-columns:repeat(4,1fr);gap:.5rem}.quick-btn{background:#0000004d;border:1px solid rgba(255,255,255,.1);border-radius:8px;padding:.75rem;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .3s ease;aspect-ratio:1}.quick-btn:hover{background:#4a90e233;border-color:#4a90e266;transform:translateY(-2px)}.quick-btn.active{background:#4a90e24d;border-color:#4a90e299;box-shadow:0 0 15px #4a90e266}.quick-btn i{color:#4a90e2cc;font-size:14px}.quick-btn.active i{color:#fff}.toolbar-status{border-top:1px solid rgba(74,144,226,.2);padding-top:1rem;display:flex;flex-direction:column;gap:.5rem}.status-item{display:flex;justify-content:space-between;align-items:center}.status-label{color:#8bb6e8;font-size:11px;font-weight:600;text-transform:uppercase}.status-value{color:#fff;font-size:11px;font-weight:700;background:#4a90e21a;padding:.25rem .5rem;border-radius:4px;border:1px solid rgba(74,144,226,.2)}.dropdown-content::-webkit-scrollbar{width:4px}.dropdown-content::-webkit-scrollbar-track{background:#0003;border-radius:2px}.dropdown-content::-webkit-scrollbar-thumb{background:#4a90e280;border-radius:2px}.dropdown-content::-webkit-scrollbar-thumb:hover{background:#4a90e2b3}@media (max-width: 768px){.gis-tools-dropdown{top:70px;right:10px;left:10px;width:auto;max-height:70vh}.dropdown-content{padding:.75rem}.category-tabs{margin-bottom:1rem}.category-tab{padding:.5rem .75rem;font-size:12px}.tool-item{padding:.5rem;gap:.5rem}.tool-icon{width:28px;height:28px}.tool-icon i,.tool-name{font-size:12px}.quick-buttons{grid-template-columns:repeat(2,1fr)}.quick-btn{padding:.5rem}}@media (prefers-reduced-motion: reduce){.gis-tools-dropdown,.category-tab,.tool-item,.quick-btn{transition:none;animation:none}.category-tab:hover,.tool-item:hover,.quick-btn:hover{transform:none}.slideDown,.activeIndicatorPulse,.toolClick{animation:none}}.draggable-modal-backdrop{position:fixed;inset:0;background:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:10000;animation:fadeIn .2s ease}.draggable-modal-container{position:absolute;background:linear-gradient(135deg,#141419fa,#0f0f14fa);border:1px solid rgba(255,255,255,.15);border-radius:16px;box-shadow:0 20px 60px #00000080,0 0 0 1px #ffffff0d;overflow:hidden;animation:scaleIn .3s cubic-bezier(.34,1.56,.64,1);-webkit-user-select:none;user-select:none}@keyframes scaleIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.draggable-modal-header{background:linear-gradient(135deg,#0079c126,#0079c10d);border-bottom:1px solid rgba(255,255,255,.1);padding:16px 20px;display:flex;justify-content:space-between;align-items:center;-webkit-user-select:none;user-select:none}.draggable-modal-title{margin:0;font-size:18px;font-weight:600;color:#fff;display:flex;align-items:center}.draggable-modal-close{background:#ffffff14;border:none;border-radius:8px;width:32px;height:32px;display:flex;align-items:center;justify-content:center;color:#ddd;cursor:pointer;transition:all .2s ease}.draggable-modal-close:hover{background:#ff646433;color:#ff6b6b}.draggable-modal-content{padding:20px;overflow-y:auto;max-height:calc(85vh - 80px);color:#ddd}.draggable-modal-content::-webkit-scrollbar{width:8px}.draggable-modal-content::-webkit-scrollbar-track{background:#0003;border-radius:4px}.draggable-modal-content::-webkit-scrollbar-thumb{background:#fff3;border-radius:4px}.draggable-modal-content::-webkit-scrollbar-thumb:hover{background:#ffffff4d}@media (max-width: 768px){.draggable-modal-container{left:10px!important;right:10px!important;top:10px!important;width:calc(100% - 20px)!important;max-width:none!important;max-height:calc(100vh - 20px)!important}}.notification-system{position:fixed;top:20px;right:20px;z-index:calc(var(--z-tooltip) + 10);max-width:400px;width:100%;pointer-events:none}.professional-notification{background:var(--card-bg);border-radius:var(--radius-lg);padding:var(--spacing-lg);margin-bottom:var(--spacing-md);box-shadow:var(--shadow-xl);-webkit-backdrop-filter:blur(20px) saturate(1.2);backdrop-filter:blur(20px) saturate(1.2);border:1px solid var(--card-border);display:flex;align-items:center;justify-content:space-between;pointer-events:auto;animation:slideInRight .3s ease-out;position:relative;overflow:hidden}.professional-notification:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--primary-color)}.professional-notification.success{border-left-color:var(--success-color)}.professional-notification.success:before{background:var(--success-color)}.professional-notification.error{border-left-color:var(--error-color)}.professional-notification.error:before{background:var(--error-color)}.professional-notification.warning{border-left-color:var(--warning-color)}.professional-notification.warning:before{background:var(--warning-color)}.professional-notification.info{border-left-color:var(--info-color)}.professional-notification.info:before{background:var(--info-color)}.notification-content{display:flex;align-items:center;gap:var(--spacing-md);flex:1}.notification-content i{font-size:16px;flex-shrink:0}.professional-notification.success .notification-content i{color:var(--success-color)}.professional-notification.error .notification-content i{color:var(--error-color)}.professional-notification.warning .notification-content i{color:var(--warning-color)}.professional-notification.info .notification-content i{color:var(--info-color)}.notification-message{font-size:14px;color:var(--text-color);line-height:1.5;font-weight:var(--font-weight-medium)}.notification-actions{display:flex;align-items:center;gap:var(--spacing-sm);margin-left:var(--spacing-md)}.notification-action-btn{background:var(--primary-color);color:#fff;border:none;padding:6px 12px;border-radius:var(--radius-md);font-size:12px;font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-normal)}.notification-action-btn:hover{background:var(--primary-hover);transform:translateY(-1px)}.notification-close{background:#ffffff1a;border:none;color:var(--text-secondary);padding:6px;border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-normal);display:flex;align-items:center;justify-content:center;width:28px;height:28px;flex-shrink:0}.notification-close:hover{background:#fff3;color:var(--text-color)}@keyframes slideInRight{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}@keyframes slideOutRight{0%{transform:translate(0);opacity:1}to{transform:translate(100%);opacity:0}}.professional-notification.success{animation:slideInRight .3s ease-out,successPulse .6s ease-out .3s}@keyframes successPulse{0%,to{box-shadow:var(--shadow-xl)}50%{box-shadow:var(--shadow-xl),0 0 20px #00c8534d}}.professional-notification.error{animation:slideInRight .3s ease-out,errorShake .5s ease-out .3s}@keyframes errorShake{0%,to{transform:translate(0)}25%{transform:translate(-5px)}75%{transform:translate(5px)}}.professional-notification.warning{animation:slideInRight .3s ease-out,warningGlow 1s ease-in-out .3s infinite alternate}@keyframes warningGlow{0%{box-shadow:var(--shadow-xl)}to{box-shadow:var(--shadow-xl),0 0 15px #ffd60033}}@media (max-width: 768px){.notification-system{top:10px;right:10px;left:10px;max-width:none}.professional-notification{padding:var(--spacing-md);flex-direction:column;align-items:flex-start;gap:var(--spacing-sm)}.notification-actions{margin-left:0;align-self:flex-end}.notification-message{font-size:13px}}.professional-notification{background:#1a1a1af2;border-color:#ffffff1a}.professional-notification.success{background:#00c8531a;border-color:var(--success-color)}.professional-notification.error{background:#ff3d001a;border-color:var(--error-color)}.professional-notification.warning{background:#ffd6001a;border-color:var(--warning-color)}.professional-notification.info{background:#2196f31a;border-color:var(--info-color)}.modal-backdrop{position:fixed;inset:0;background:#000000bf;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);display:flex;align-items:center;justify-content:center;z-index:10001;padding:20px}.user-profile-modal{background:linear-gradient(135deg,#1a1f2e,#0f1419);border:1px solid rgba(255,255,255,.1);border-radius:16px;box-shadow:0 20px 60px #0009;max-width:700px;width:100%;max-height:85vh;overflow:hidden;display:flex;flex-direction:column;margin:auto}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:24px 30px;background:linear-gradient(135deg,#4da8da26,#00308726);border-bottom:1px solid rgba(255,255,255,.1)}.modal-header-content{display:flex;align-items:center;gap:20px}.profile-avatar-large{width:64px;height:64px;border-radius:50%;background:linear-gradient(135deg,#4da8da,#003087);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:24px;box-shadow:0 6px 20px #0006}.profile-header-info{display:flex;flex-direction:column;gap:8px}.profile-username{font-size:24px;font-weight:600;color:#fff;margin:0}.profile-role-badge{display:inline-flex;align-items:center;padding:4px 12px;border-radius:12px;font-size:12px;font-weight:600;color:#fff;text-transform:uppercase;letter-spacing:.5px;width:fit-content}.modal-close-btn{width:36px;height:36px;border-radius:8px;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);color:#fff9;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center}.modal-close-btn:hover{background:#ffffff1a;color:#fff;transform:rotate(90deg)}.modal-content{padding:30px;overflow-y:auto;flex:1}.profile-section{margin-bottom:30px}.profile-section:last-child{margin-bottom:0}.section-title{font-size:16px;font-weight:600;color:#fff;margin:0 0 16px;display:flex;align-items:center;gap:10px}.section-title i{color:#4da8da;font-size:18px}.info-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.info-item{display:flex;flex-direction:column;gap:6px;padding:14px 16px;background:#ffffff08;border:1px solid rgba(255,255,255,.08);border-radius:10px}.info-item.full-width{grid-column:1 / -1}.info-label{font-size:12px;color:#ffffff80;text-transform:uppercase;letter-spacing:.5px;font-weight:500}.info-value{font-size:15px;color:#fff;font-weight:500}.status-active{color:#00c853;display:flex;align-items:center;gap:6px}.status-active i{font-size:8px;animation:pulse 2s infinite}.permissions-list{display:flex;flex-direction:column;gap:10px}.permission-item{display:flex;align-items:center;gap:12px;padding:12px 14px;background:#00c8530d;border:1px solid rgba(0,200,83,.15);border-radius:8px;color:#ffffffd9;font-size:14px}.permission-item i{color:#00c853;font-size:14px}.profile-actions{display:flex;gap:12px;padding-top:10px}.profile-action-btn{flex:1;padding:14px 20px;background:linear-gradient(135deg,#4da8da26,#00308726);border:1px solid rgba(77,168,218,.3);border-radius:10px;color:#4da8da;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;gap:10px}.profile-action-btn:hover{background:linear-gradient(135deg,#4da8da40,#00308740);border-color:#4da8da80;transform:translateY(-2px)}.password-form{display:flex;flex-direction:column;gap:20px}.form-group{display:flex;flex-direction:column;gap:8px}.form-group label{font-size:13px;color:#ffffffb3;font-weight:500}.form-input{padding:12px 16px;background:#ffffff0d;border:1px solid rgba(255,255,255,.15);border-radius:8px;color:#fff;font-size:14px;transition:all .2s ease}.form-input:focus{outline:none;border-color:#4da8da;background:#ffffff14}.form-actions{display:flex;gap:12px;margin-top:10px}.btn-secondary,.btn-primary{flex:1;padding:14px 20px;border-radius:10px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease;border:none}.btn-secondary{background:#ffffff14;color:#fffc}.btn-secondary:hover{background:#ffffff1f;color:#fff}.btn-primary{background:linear-gradient(135deg,#4da8da,#003087);color:#fff}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 6px 20px #4da8da66}@media (max-width: 768px){.user-profile-modal{max-width:100%;max-height:95vh}.modal-header{padding:20px}.profile-avatar-large{width:56px;height:56px;font-size:20px}.profile-username{font-size:20px}.modal-content{padding:20px}.info-grid{grid-template-columns:1fr}}.user-settings-modal{background:linear-gradient(135deg,#1a1f2e,#0f1419);border:1px solid rgba(255,255,255,.1);border-radius:16px;box-shadow:0 20px 60px #0009;max-width:700px;width:100%;max-height:85vh;overflow:hidden;display:flex;flex-direction:column;margin:auto}.settings-section{margin-bottom:30px}.settings-section:last-child{margin-bottom:0}.settings-group{display:flex;flex-direction:column;gap:12px}.setting-item{display:flex;align-items:center;justify-content:space-between;padding:16px 18px;background:#ffffff08;border:1px solid rgba(255,255,255,.08);border-radius:10px;transition:all .2s ease}.setting-item:hover{background:#ffffff0d;border-color:#ffffff1f}.setting-info{display:flex;flex-direction:column;gap:4px;flex:1}.setting-label{font-size:14px;font-weight:500;color:#fff}.setting-description{font-size:12px;color:#ffffff80}.toggle-switch{position:relative;width:48px;height:26px;flex-shrink:0}.toggle-switch input{opacity:0;width:0;height:0}.toggle-slider{position:absolute;cursor:pointer;inset:0;background:#ffffff1a;border:1px solid rgba(255,255,255,.15);border-radius:26px;transition:all .3s ease}.toggle-slider:before{position:absolute;content:"";height:18px;width:18px;left:3px;bottom:3px;background:#ffffff80;border-radius:50%;transition:all .3s ease}.toggle-switch input:checked+.toggle-slider{background:linear-gradient(135deg,#4da8da,#003087);border-color:#4da8da}.toggle-switch input:checked+.toggle-slider:before{transform:translate(22px);background:#fff}.toggle-switch input:disabled+.toggle-slider{opacity:.4;cursor:not-allowed}.setting-select{padding:8px 12px;background:#ffffff14;border:1px solid rgba(255,255,255,.15);border-radius:8px;color:#fff;font-size:13px;cursor:pointer;transition:all .2s ease;min-width:160px}.setting-select:hover{background:#ffffff1f;border-color:#ffffff40}.setting-select:focus{outline:none;border-color:#4da8da;background:#ffffff1f}.settings-actions{display:flex;gap:12px;padding-top:20px;border-top:1px solid rgba(255,255,255,.1);margin-top:20px}@media (max-width: 768px){.user-settings-modal{max-width:100%;max-height:95vh}.setting-item{flex-direction:column;align-items:flex-start;gap:12px}.toggle-switch{align-self:flex-end}.setting-select{width:100%}.settings-actions{flex-direction:column}}.usage-stats-modal{background:linear-gradient(135deg,#1a1f2e,#0f1419);border:1px solid rgba(255,255,255,.1);border-radius:16px;box-shadow:0 20px 60px #0009;max-width:750px;width:100%;max-height:85vh;overflow:hidden;display:flex;flex-direction:column;margin:auto}.stats-section{margin-bottom:30px}.stats-section:last-child{margin-bottom:0}.stats-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.stat-card{display:flex;align-items:center;gap:16px;padding:20px;background:#ffffff08;border:1px solid rgba(255,255,255,.08);border-radius:12px;transition:all .3s ease}.stat-card:hover{background:#ffffff0d;border-color:#ffffff26;transform:translateY(-2px)}.stat-icon{width:48px;height:48px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:20px;color:#fff;flex-shrink:0}.stat-content{display:flex;flex-direction:column;gap:4px;flex:1}.stat-label{font-size:12px;color:#fff9;font-weight:500;text-transform:uppercase;letter-spacing:.5px}.stat-value{font-size:24px;font-weight:700;color:#fff}.rate-limit-info{display:flex;flex-direction:column;gap:20px}.rate-limit-item{padding:18px;background:#ffffff08;border:1px solid rgba(255,255,255,.08);border-radius:10px}.rate-limit-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.rate-limit-label{font-size:14px;color:#fffc;font-weight:500}.rate-limit-value{font-size:16px;font-weight:700;color:#4da8da}.rate-limit-bar{height:8px;background:#ffffff1a;border-radius:4px;overflow:hidden;margin-bottom:8px}.rate-limit-fill{height:100%;background:linear-gradient(90deg,#4da8da,#00c853);border-radius:4px;transition:width .3s ease}.rate-limit-count{font-size:12px;color:#ffffff80}.token-info-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.status-enabled{color:#00c853;display:flex;align-items:center;gap:6px}.activity-list{display:flex;flex-direction:column;gap:12px}.activity-item{display:flex;align-items:center;gap:14px;padding:14px 16px;background:#ffffff08;border:1px solid rgba(255,255,255,.08);border-radius:8px;transition:all .2s ease}.activity-item:hover{background:#ffffff0d;border-color:#ffffff1f}.activity-icon{font-size:16px;color:#4da8da;width:24px;text-align:center}.activity-text{flex:1;font-size:14px;color:#fffc}.activity-count{font-size:16px;font-weight:700;color:#fff;padding:4px 12px;background:#4da8da26;border-radius:8px}@media (max-width: 768px){.usage-stats-modal{max-width:100%;max-height:95vh}.stats-grid,.token-info-grid{grid-template-columns:1fr}.stat-value{font-size:20px}}.user-management-content{display:flex;flex-direction:column;gap:20px;padding:20px;background:#0a0e2799;border-radius:12px}.user-tabs{display:flex;gap:10px;border-bottom:2px solid rgba(255,255,255,.1);padding-bottom:10px}.tab-button{display:flex;align-items:center;gap:8px;padding:12px 20px;background:transparent;border:none;color:#fff9;font-size:14px;font-weight:500;cursor:pointer;border-radius:8px;transition:all .3s ease;position:relative}.tab-button:hover{background:#ffffff0d;color:#ffffffe6}.tab-button.active{background:linear-gradient(135deg,#007bff,#0056b3);color:#fff}.tab-badge{background:#dc3545;color:#fff;padding:2px 8px;border-radius:12px;font-size:12px;font-weight:600}.tab-count{color:#ffffff80;font-size:12px}.loading-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;gap:15px;color:#fff9}.loading-state i{font-size:32px;color:#007bff}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;gap:15px;text-align:center}.empty-state i{font-size:48px;color:#ffffff4d}.empty-state h3{color:#fffc;margin:0;font-size:18px}.empty-state p{color:#ffffff80;margin:0;font-size:14px}.users-list{display:flex;flex-direction:column;gap:15px;max-height:500px;overflow-y:auto}.user-card{background:#ffffff08;border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:20px;transition:all .3s ease}.user-card:hover{background:#ffffff0d;border-color:#fff3;transform:translateY(-2px)}.user-card.pending{border-left:4px solid #ffc107}.user-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:15px}.user-info{display:flex;gap:15px;align-items:center}.user-avatar{width:60px;height:60px;border-radius:50%;background:linear-gradient(135deg,#007bff,#0056b3);display:flex;align-items:center;justify-content:center;color:#fff;font-size:20px;font-weight:600;flex-shrink:0}.user-details h3{margin:0 0 5px;color:#fff;font-size:18px}.user-details .user-name{margin:0 0 5px;color:#ffffffb3;font-size:14px}.user-details .user-email{margin:0;color:#ffffff80;font-size:13px}.user-status{display:flex;gap:8px}.status-badge{display:inline-flex;align-items:center;gap:5px;padding:6px 12px;border-radius:20px;font-size:12px;font-weight:600}.pending-badge{background:#ffc10733;color:#ffc107;border:1px solid rgba(255,193,7,.3)}.approved-badge{background:#28a74533;color:#28a745;border:1px solid rgba(40,167,69,.3)}.user-card-body{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:12px;margin-bottom:15px}.info-row{display:flex;align-items:center;gap:8px}.info-row.full-width{grid-column:1 / -1;flex-direction:column;align-items:flex-start}.info-row .label{color:#ffffff80;font-size:13px;font-weight:500}.info-row span:not(.label){color:#ffffffe6;font-size:14px}.reason-text{margin:8px 0 0;color:#fffc;font-size:13px;line-height:1.6;padding:12px;background:#ffffff08;border-radius:8px;border-left:3px solid #007bff}.role-badge{padding:4px 10px;border-radius:12px;font-size:12px;font-weight:600;text-transform:capitalize}.role-badge-admin{background:#dc354533;color:#dc3545;border:1px solid rgba(220,53,69,.3)}.role-badge-developer{background:#007bff33;color:#007bff;border:1px solid rgba(0,123,255,.3)}.role-badge-analyst{background:#20c99733;color:#20c997;border:1px solid rgba(32,201,151,.3)}.role-badge-viewer{background:#6c757d33;color:#6c757d;border:1px solid rgba(108,117,125,.3)}.user-card-actions{display:flex;gap:10px;justify-content:flex-end;padding-top:15px;border-top:1px solid rgba(255,255,255,.1)}.view-details-btn{display:flex;align-items:center;gap:8px;padding:10px 20px;background:linear-gradient(135deg,#007bff,#0056b3);border:none;border-radius:8px;color:#fff;font-size:14px;font-weight:500;cursor:pointer;transition:all .3s ease}.view-details-btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px #007bff4d}.users-table{max-height:500px;overflow-y:auto;border-radius:12px;background:#ffffff05}.users-table table{width:100%;border-collapse:collapse}.users-table thead{position:sticky;top:0;background:#007bff1a;z-index:1}.users-table th{padding:15px;text-align:left;color:#ffffffe6;font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;border-bottom:2px solid rgba(255,255,255,.1)}.users-table td{padding:15px;color:#fffc;font-size:14px;border-bottom:1px solid rgba(255,255,255,.05)}.users-table tbody tr{transition:background .2s ease}.users-table tbody tr:hover{background:#ffffff08}.table-username{display:flex;align-items:center;gap:10px}.mini-avatar{width:32px;height:32px;border-radius:50%;background:linear-gradient(135deg,#007bff,#0056b3);display:flex;align-items:center;justify-content:center;color:#fff;font-size:12px;font-weight:600}.review-modal-backdrop{position:fixed;inset:0;background:#000000b3;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:10000}.review-modal{background:linear-gradient(135deg,#0a0e27,#1a1f3a);border:1px solid rgba(255,255,255,.2);border-radius:16px;max-width:600px;width:90%;max-height:80vh;overflow-y:auto;box-shadow:0 20px 60px #00000080}.review-modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px;border-bottom:1px solid rgba(255,255,255,.1)}.review-modal-header h2{margin:0;color:#fff;font-size:20px}.close-btn{width:32px;height:32px;border-radius:50%;background:#ffffff1a;border:none;color:#fff;cursor:pointer;transition:all .2s ease}.close-btn:hover{background:#fff3;transform:rotate(90deg)}.review-modal-body{padding:20px;display:flex;flex-direction:column;gap:20px}.review-user-info{display:flex;gap:15px;align-items:center;padding:15px;background:#ffffff08;border-radius:12px}.review-avatar{width:60px;height:60px;border-radius:50%;background:linear-gradient(135deg,#007bff,#0056b3);display:flex;align-items:center;justify-content:center;color:#fff;font-size:20px;font-weight:600;flex-shrink:0}.review-user-info h3{margin:0 0 5px;color:#fff;font-size:18px}.review-user-info p{margin:0;color:#fff9;font-size:14px}.review-details{display:flex;flex-direction:column;gap:15px}.detail-item{display:flex;justify-content:space-between;align-items:center;padding:12px;background:#ffffff05;border-radius:8px}.detail-item.full{flex-direction:column;align-items:flex-start}.detail-item label{color:#ffffff80;font-size:13px;font-weight:500}.detail-item span{color:#ffffffe6;font-size:14px}.reason-box{margin:10px 0 0;padding:12px;background:#ffffff08;border-radius:8px;border-left:3px solid #007bff;color:#fffc;font-size:14px;line-height:1.6;width:100%}.approval-section{padding:20px;background:#007bff0d;border-radius:12px;border:1px solid rgba(0,123,255,.2)}.approval-section h3{margin:0 0 15px;color:#fff;font-size:16px}.role-selection{display:flex;flex-direction:column;gap:10px}.role-selection label{color:#ffffffb3;font-size:14px;font-weight:500}.role-select{padding:12px;background:#ffffff0d;border:1px solid rgba(255,255,255,.2);border-radius:8px;color:#fff;font-size:14px;cursor:pointer}.role-select:focus{outline:none;border-color:#007bff}.review-modal-actions{display:flex;gap:10px;padding:20px;border-top:1px solid rgba(255,255,255,.1)}.reject-btn,.approve-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:8px;padding:14px;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .3s ease}.reject-btn{background:#dc35451a;color:#dc3545;border:1px solid rgba(220,53,69,.3)}.reject-btn:hover{background:#dc354533;transform:translateY(-2px)}.approve-btn{background:linear-gradient(135deg,#28a745,#1e7e34);color:#fff}.approve-btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px #28a7454d}.users-list::-webkit-scrollbar,.users-table::-webkit-scrollbar,.review-modal::-webkit-scrollbar{width:8px}.users-list::-webkit-scrollbar-track,.users-table::-webkit-scrollbar-track,.review-modal::-webkit-scrollbar-track{background:#ffffff0d;border-radius:10px}.users-list::-webkit-scrollbar-thumb,.users-table::-webkit-scrollbar-thumb,.review-modal::-webkit-scrollbar-thumb{background:#fff3;border-radius:10px}.users-list::-webkit-scrollbar-thumb:hover,.users-table::-webkit-scrollbar-thumb:hover,.review-modal::-webkit-scrollbar-thumb:hover{background:#ffffff4d}.api-keys-modal-content{padding:20px;max-height:70vh;overflow-y:auto}.api-keys-info-banner{display:flex;gap:12px;padding:16px;background:#4facfe1a;border:1px solid rgba(79,172,254,.3);border-radius:8px;margin-bottom:20px}.api-keys-info-banner i{color:#4facfe;font-size:20px;flex-shrink:0}.api-keys-info-banner strong{color:#fffffff2;display:block;margin-bottom:4px}.api-keys-info-banner p{color:#ffffffb3;font-size:13px;margin:0}.add-key-btn{width:100%;padding:14px;background:linear-gradient(135deg,#4facfe,#00f2fe);border:none;border-radius:8px;color:#fff;font-weight:600;font-size:14px;cursor:pointer;transition:all .3s ease;margin-bottom:20px;display:flex;align-items:center;justify-content:center;gap:8px}.add-key-btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px #4facfe66}.add-key-form{background:#1e293b99;border:1px solid rgba(79,172,254,.2);border-radius:12px;padding:20px;margin-bottom:20px}.add-key-form h4{color:#fffffff2;margin:0 0 20px;font-size:16px;display:flex;align-items:center;gap:8px}.form-group{margin-bottom:16px}.form-group label{display:block;color:#fffc;font-size:13px;font-weight:500;margin-bottom:8px}.form-group input,.form-group select{width:100%;padding:10px 12px;background:#0f172a99;border:1px solid rgba(79,172,254,.3);border-radius:6px;color:#ffffffe6;font-size:14px;transition:all .3s ease}.form-group input:focus,.form-group select:focus{outline:none;border-color:#4facfe;box-shadow:0 0 0 3px #4facfe1a}.form-group input::placeholder{color:#fff6}.form-group input:disabled,.form-group select:disabled{opacity:.5;cursor:not-allowed}.form-actions{display:flex;gap:12px;margin-top:20px}.btn-primary,.btn-secondary{flex:1;padding:10px 16px;border:none;border-radius:6px;font-weight:600;font-size:14px;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center;gap:8px}.btn-primary{background:linear-gradient(135deg,#4facfe,#00f2fe);color:#fff}.btn-primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px #4facfe66}.btn-primary:disabled{opacity:.5;cursor:not-allowed;transform:none}.btn-secondary{background:#64748b33;color:#fffc;border:1px solid rgba(100,116,139,.3)}.btn-secondary:hover:not(:disabled){background:#64748b4d;border-color:#64748b80}.api-keys-list{display:flex;flex-direction:column;gap:16px}.loading-state{text-align:center;padding:40px;color:#fff9;font-size:14px}.loading-state i{font-size:24px;margin-bottom:12px;color:#4facfe}.empty-state{text-align:center;padding:60px 20px;color:#fff9}.empty-state i{font-size:48px;margin-bottom:16px;color:#4facfe4d}.empty-state p{font-size:16px;font-weight:500;margin:0 0 8px;color:#ffffffb3}.empty-state small{font-size:13px;color:#ffffff80}.api-key-card{background:#1e293b99;border:1px solid rgba(79,172,254,.2);border-radius:12px;padding:20px;transition:all .3s ease}.api-key-card.active{border-color:#22c55e4d;background:#1e293bb3}.api-key-card.inactive{opacity:.7;border-color:#64748b33}.api-key-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0003}.key-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid rgba(255,255,255,.1)}.key-provider{display:flex;align-items:center;gap:10px}.provider-icon{font-size:24px}.provider-name{font-size:16px;font-weight:600;color:#fffffff2}.status-badge{padding:6px 12px;border-radius:20px;font-size:12px;font-weight:600;display:flex;align-items:center;gap:6px}.status-badge.active{background:#22c55e33;color:#22c55e;border:1px solid rgba(34,197,94,.3)}.status-badge.inactive{background:#ef444433;color:#ef4444;border:1px solid rgba(239,68,68,.3)}.key-details{margin-bottom:16px}.key-info{display:flex;gap:12px;margin-bottom:10px;font-size:14px}.key-label{color:#fff9;font-weight:500;min-width:60px}.key-value{color:#ffffffe6}.key-preview{font-family:Monaco,Courier New,monospace;background:#0f172a99;padding:4px 8px;border-radius:4px;border:1px solid rgba(79,172,254,.2)}.key-stats{display:flex;gap:24px;margin-top:12px;padding-top:12px;border-top:1px solid rgba(255,255,255,.05)}.stat{display:flex;align-items:center;gap:8px;font-size:13px;color:#ffffffb3}.stat i{color:#4facfe99;font-size:14px}.key-actions{display:flex;gap:12px}.action-btn{flex:1;padding:10px 16px;border:none;border-radius:6px;font-weight:600;font-size:13px;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center;gap:8px}.toggle-btn{background:#4facfe33;color:#4facfe;border:1px solid rgba(79,172,254,.3)}.toggle-btn:hover{background:#4facfe4d;border-color:#4facfe80;transform:translateY(-2px)}.delete-btn{background:#ef444433;color:#ef4444;border:1px solid rgba(239,68,68,.3)}.delete-btn:hover{background:#ef44444d;border-color:#ef444480;transform:translateY(-2px)}.api-keys-modal-content::-webkit-scrollbar{width:8px}.api-keys-modal-content::-webkit-scrollbar-track{background:#0f172a66;border-radius:4px}.api-keys-modal-content::-webkit-scrollbar-thumb{background:#4facfe4d;border-radius:4px}.api-keys-modal-content::-webkit-scrollbar-thumb:hover{background:#4facfe80}.account-menu-container{position:relative;display:flex;align-items:center}.account-avatar-btn{display:flex;align-items:center;gap:8px;padding:6px 12px;background:linear-gradient(135deg,#ffffff1a,#ffffff0d);border:1px solid rgba(255,255,255,.15);border-radius:20px;cursor:pointer;transition:all .3s ease;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.account-avatar-btn:hover{background:linear-gradient(135deg,#ffffff26,#ffffff14);border-color:#ffffff40;transform:translateY(-1px);box-shadow:0 4px 12px #0003}.avatar-circle{width:32px;height:32px;border-radius:50%;background:linear-gradient(135deg,#4da8da,#003087);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:13px;box-shadow:0 2px 8px #0003}.avatar-chevron{font-size:10px;color:#ffffffb3;transition:transform .3s ease}.account-dropdown{position:absolute;top:calc(100% + 8px);right:0;width:280px;background:linear-gradient(135deg,#1a1f2e,#0f1419);border:1px solid rgba(255,255,255,.1);border-radius:12px;box-shadow:0 8px 32px #0006;overflow:hidden;z-index:10000;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.account-header{display:flex;align-items:center;gap:12px;padding:16px;background:linear-gradient(135deg,#4da8da1a,#0030871a);border-bottom:1px solid rgba(255,255,255,.05)}.account-avatar-large{width:48px;height:48px;border-radius:50%;background:linear-gradient(135deg,#4da8da,#003087);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:18px;box-shadow:0 4px 12px #0000004d}.account-details{flex:1;display:flex;flex-direction:column;gap:6px}.account-username{font-size:15px;font-weight:600;color:#fff}.account-role-badge{display:inline-flex;align-items:center;padding:3px 10px;border-radius:12px;font-size:11px;font-weight:600;color:#fff;text-transform:uppercase;letter-spacing:.5px;width:fit-content}.account-menu-items{padding:8px}.account-menu-item{display:flex;align-items:center;gap:12px;width:100%;padding:12px;background:transparent;border:none;border-radius:8px;color:#fffc;font-size:14px;cursor:pointer;transition:all .2s ease}.account-menu-item:hover{background:#ffffff14;color:#fff}.account-menu-item i{font-size:16px;width:20px;text-align:center;opacity:.7}.account-menu-item:hover i{opacity:1}.account-menu-item.admin-only{background:linear-gradient(135deg,#dc354514,#ff6b6b14);border:1px solid rgba(220,53,69,.2);color:#ff6b6b;font-weight:600;position:relative}.account-menu-item.admin-only:hover{background:linear-gradient(135deg,#dc354526,#ff6b6b26);border-color:#dc354566;color:#ff8787;transform:translate(2px)}.admin-icon{margin-left:auto;font-size:14px;color:gold;animation:pulse 2s ease-in-out infinite}@keyframes pulse{0%,to{opacity:.6}50%{opacity:1}}.account-divider{height:1px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.1),transparent);margin:8px 0}.account-logout-btn{display:flex;align-items:center;gap:12px;width:100%;padding:14px 16px;background:linear-gradient(135deg,#e74c3c1a,#c0392b1a);border:none;border-top:1px solid rgba(255,255,255,.05);color:#e74c3c;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease}.account-logout-btn:hover{background:linear-gradient(135deg,#e74c3c33,#c0392b33);color:#ff5c4d}.account-logout-btn i{font-size:16px}@media (max-width: 768px){.account-dropdown{width:260px}.account-avatar-btn{padding:4px 8px}.avatar-circle{width:28px;height:28px;font-size:12px}}:root{--primary-blue: #3b82f6;--primary-blue-hover: #2563eb;--primary-purple: #8b5cf6;--surface-primary: rgba(8, 12, 24, .95);--surface-elevated: rgba(15, 23, 42, .98);--border-subtle: rgba(255, 255, 255, .06);--text-primary: #f1f5f9;--text-secondary: rgba(203, 213, 225, .75);--text-tertiary: rgba(148, 163, 184, .55);--success: #22c55e;--space-md: 12px;--space-lg: 16px;--radius-md: 8px;--shadow-md: 0 4px 12px rgba(0, 0, 0, .5)}.top-bar{position:fixed;top:0;left:0;right:0;height:var(--header-height, 66px);background:linear-gradient(180deg,#080c18f7,#050a14f2);-webkit-backdrop-filter:blur(16px) saturate(1.2);backdrop-filter:blur(16px) saturate(1.2);border-bottom:1px solid rgba(59,130,246,.08);display:flex;align-items:center;padding:0 16px;z-index:1002;transition:all .2s ease;box-shadow:0 1px 20px #0000004d,0 1px #3b82f60a}.top-bar:before{content:"";position:absolute;inset:0;pointer-events:none;opacity:.05;mix-blend-mode:overlay;--ctr: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 200'><path d='M0,120 C60,90 140,150 200,120 M0,60 C80,30 120,90 200,60' fill='none' stroke='white' stroke-width='1' opacity='.7' /></svg>");-webkit-mask:var(--ctr) center/800px 800px repeat;mask:var(--ctr) center/800px 800px repeat;background:radial-gradient(1200px 400px at 30% -50%,#fff,transparent)}.top-bar-collapsed{left:0}.nav-left{display:flex;align-items:center;gap:12px;flex:0 1 auto;min-width:0}.nav-center{flex:1 1 auto;display:flex;justify-content:flex-end;padding:0 20px 0 12px;min-width:0}.nav-right{display:flex;align-items:center;gap:12px;flex:0 0 auto;justify-content:flex-end;min-width:0}.nav-separator{width:1px;height:28px;margin:0 8px;opacity:.35;background-image:repeating-linear-gradient(to bottom,#ffffff2e 0 6px,#fff0 6px 8px)}.app-brand{display:flex;align-items:center;gap:var(--space-md);position:relative}.brand-icon{width:38px;height:38px;background:linear-gradient(135deg,var(--primary-blue),var(--primary-purple));border-radius:10px;display:flex;align-items:center;justify-content:center;color:#fff;font-size:17px;box-shadow:0 2px 12px #3b82f640;animation:brandPop .6s ease-out 1,brandBreathe 4s ease-in-out 1s infinite;position:relative}.brand-logo-img{height:36px;width:auto;border-radius:8px;filter:drop-shadow(0 2px 8px rgba(59,130,246,.2));animation:brandPop .6s ease-out 1,brandBreathe 4s ease-in-out 1s infinite;transition:filter .3s,transform .3s}.app-brand:hover .brand-logo-img{filter:drop-shadow(0 2px 16px rgba(59,130,246,.4));transform:scale(1.05)}@keyframes brandBreathe{0%,to{box-shadow:0 2px 12px #3b82f640;filter:drop-shadow(0 2px 8px rgba(59,130,246,.2))}50%{box-shadow:0 2px 20px #3b82f666,0 0 30px #8b5cf61a;filter:drop-shadow(0 2px 16px rgba(59,130,246,.35))}}@keyframes brandPop{0%{transform:scale(.96)}to{transform:scale(1)}}.brand-info{display:flex;flex-direction:column}.brand-version{font-size:11px;color:var(--text-tertiary);font-weight:var(--font-weight-medium);display:inline-flex;align-items:center;gap:4px}.brand-version:after{content:"AI";font-size:8px;padding:2px 5px;background:linear-gradient(135deg,var(--primary-blue),var(--primary-purple));color:#fff;border-radius:4px;font-weight:700;margin-left:4px}.main-navigation{display:flex;align-items:center;gap:1rem}.nav-btn{background:transparent;border:1px solid rgba(255,255,255,.08);color:var(--text-secondary);padding:8px 12px;border-radius:var(--radius-md);cursor:pointer;display:flex;align-items:center;gap:8px;transition:all .2s ease;font-size:13px;font-weight:600;position:relative;min-height:40px;min-width:160px;flex:0 1 auto;justify-content:center;white-space:nowrap;text-transform:none;letter-spacing:0}.nav-btn:hover{background:#3b82f614;color:var(--text-primary);border-color:#3b82f62e;box-shadow:0 2px 12px #3b82f614}.nav-btn.active{color:var(--text-primary);background:#3b82f61a;border-color:#3b82f633;box-shadow:0 0 20px #3b82f614,inset 0 0 12px #3b82f60a}.nav-btn.active:after{content:"";position:absolute;bottom:0;left:8%;right:8%;height:2px;background:var(--primary-blue);border-radius:2px 2px 0 0}.nav-btn.active:before{content:"";position:absolute;bottom:0;left:15%;right:15%;height:2px;background:linear-gradient(90deg,var(--primary-blue),var(--primary-purple));border-radius:2px 2px 0 0;box-shadow:0 0 8px #3b82f666}.nav-btn.active:after{content:none}.nav-btn i{font-size:16px;color:var(--text-secondary);transition:transform .12s ease}.nav-btn:hover i{color:var(--text-primary);transform:translateY(-1px)}.nav-btn.active i{color:#93c5fd}.advanced-search-container{display:flex;align-items:center;gap:8px;width:100%;max-width:500px;position:relative}.search-input-wrapper{flex:1;position:relative;display:flex;align-items:center}.advanced-search-input{width:100%;padding:10px 12px 10px 38px;background:var(--surface-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-md);color:var(--text-primary);font-size:13px;transition:all .2s ease;font-variant-numeric:tabular-nums}.advanced-search-input::placeholder{color:#ffffff73}.advanced-search-input:focus{outline:none;border-color:var(--primary-blue);background:#0f172a;box-shadow:0 0 0 3px #3b82f626,0 4px 16px #3b82f614}.search-icon{position:absolute;left:12px;color:var(--text-tertiary);font-size:13px;z-index:1}.fmt-hint{position:absolute;right:10px;top:50%;transform:translateY(-50%);font:11px/1 ui-monospace,SFMono-Regular,Menlo,monospace;color:#ffffff73;border:1px solid rgba(255,255,255,.16);border-radius:6px;padding:2px 6px;pointer-events:none}.search-clear-btn{position:absolute;right:var(--spacing-sm);background:var(--text-muted);border:none;color:var(--darker-bg);width:20px;height:20px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:10px;transition:all .2s ease}.search-clear-btn:hover{background:var(--text-color)}.search-filters-btn{background:var(--card-bg);border:1px solid var(--card-border);color:var(--text-color);padding:var(--spacing-md);border-radius:var(--radius-md);cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.search-filters-btn:hover{background:#ffffff1a;border-color:var(--primary-color)}.search-spinner{position:absolute;right:10px;top:50%;transform:translateY(-50%);color:var(--primary-blue);font-size:14px}.search-results-dropdown{position:absolute;top:calc(100% + 8px);left:0;right:0;background:#0f172afa;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid rgba(59,130,246,.3);border-radius:8px;box-shadow:0 8px 32px #00000080,0 0 0 1px #3b82f61a inset;z-index:1100;max-height:400px;overflow-y:auto;animation:slideDown .2s ease-out}.search-results-dropdown::-webkit-scrollbar{width:6px}.search-results-dropdown::-webkit-scrollbar-track{background:#ffffff05;border-radius:3px}.search-results-dropdown::-webkit-scrollbar-thumb{background:#3b82f64d;border-radius:3px}.search-results-dropdown::-webkit-scrollbar-thumb:hover{background:#3b82f680}.search-result-item{width:100%;display:flex;align-items:center;gap:12px;padding:12px 16px;background:transparent;border:none;border-bottom:1px solid rgba(255,255,255,.05);color:#ffffffd9;cursor:pointer;transition:all .2s ease;text-align:left}.search-result-item:last-child{border-bottom:none}.search-result-item:hover{background:#3b82f614;color:#fffffff2}.search-result-item i:first-child{width:24px;text-align:center;color:#3b82f6cc;font-size:14px}.result-details{flex:1;min-width:0}.result-name{font-size:13px;font-weight:600;color:#fffffff2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-bottom:2px}.result-meta{font-size:11px;color:#ffffff80;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.result-arrow{width:16px;text-align:center;color:#ffffff4d;font-size:12px;opacity:0;transform:translate(-4px);transition:all .2s ease}.search-result-item:hover .result-arrow{opacity:1;transform:translate(0)}.action-btn{background:transparent;border:1px solid rgba(255,255,255,.08);color:var(--text-secondary);padding:8px 14px;border-radius:var(--radius-md);cursor:pointer;display:flex;align-items:center;gap:6px;transition:all .2s ease;font-size:13px;font-weight:500}.action-btn:hover{background:#3b82f614;border-color:#3b82f62e;color:var(--text-primary);box-shadow:0 2px 12px #3b82f614}.action-btn i{transition:transform .12s ease}.action-btn:hover i{transform:translateY(-1px)}.action-btn.is-processing:after{content:"";position:absolute;left:10%;right:10%;bottom:-2px;height:2px;background:linear-gradient(90deg,transparent,rgba(0,120,212,.6),transparent);background-size:200% 100%;animation:aiScan 1.4s linear infinite}@keyframes aiScan{to{background-position:200% 0}}.btn-label{display:none}@media (min-width: 900px){.btn-label{display:inline}}.status-indicator{background:var(--card-bg);border:1px solid var(--card-border);color:var(--text-color);padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-md);cursor:pointer;display:flex;align-items:center;gap:var(--spacing-sm);font-size:12px;font-weight:var(--font-weight-medium);transition:all .3s ease}.status-dot{width:auto;height:10px;border-radius:0;animation:none;display:inline-grid;grid-auto-flow:column;gap:2px}.status-dot:before,.status-dot:after{content:"";width:3px;background:currentColor;display:block;align-self:end}.status-dot:before{height:6px}.status-dot:after{height:10px}.status-indicator.is-changing .status-dot{animation:pulse 3s ease 1}.status-indicator{color:var(--text-secondary)}.status-indicator.online,.status-dot.online{color:var(--success)}.gis-btn{background:var(--primary-blue);border-color:var(--primary-blue);color:#fff}.gis-btn:hover{background:var(--primary-blue-hover);border-color:var(--primary-blue-hover)}.gis-btn.active{background:var(--success);border-color:var(--success)}.gis-btn.active:hover{background:#15803d;border-color:#15803d}.badge{font-size:10px;padding:2px 6px;border-radius:6px;font-weight:700;background:#3b82f626;color:#93c5fd}.badge.ai{background:#8b5cf626;color:#c4b5fd}@media (min-width: 1400px){.advanced-search-container{max-width:560px}.nav-btn{min-width:160px}}@media (max-width: 1400px){.advanced-search-container{max-width:420px}}@media (max-width: 1200px){.nav-center{padding:0 16px}.advanced-search-container{max-width:350px}.nav-btn{min-width:120px;padding:.8rem 1.1rem;font-size:12px;gap:.5rem}.brand-info .brand-title{font-size:14px}}@media (max-width: 1024px){.nav-btn span{display:none}.nav-btn{padding:var(--spacing-sm);min-width:46px;width:46px;height:46px;justify-content:center}.nav-btn i{font-size:20px}}@media (max-width: 900px){.advanced-search-container{max-width:280px}.action-btn span{display:none!important}}@media (max-width: 768px){.top-bar{padding:0 12px}.advanced-search-container{max-width:200px}.nav-left .app-brand .brand-info{display:none}.nav-left{gap:8px}.nav-right{gap:6px}.search-filters-btn{display:none}}.nav-btn:focus-visible,.action-btn:focus-visible,.advanced-search-input:focus-visible,.search-filters-btn:focus-visible{outline:2px dashed rgba(0,120,212,.55);outline-offset:2px;border-color:transparent}@media (prefers-reduced-motion: reduce){*{animation-duration:.01ms!important;animation-iteration-count:1!important;transition:none!important}}@keyframes slideInFromLeft{0%{transform:translate(-100%);opacity:0}to{transform:translate(0);opacity:1}}@keyframes logoGlow{0%,to{filter:drop-shadow(0 2px 8px rgba(59,130,246,.3))}50%{filter:drop-shadow(0 4px 12px rgba(59,130,246,.6))}}@keyframes titleShimmer{0%{background-position:-200% center}to{background-position:200% center}}.resizable-sidebar{animation:slideInFromLeft .6s cubic-bezier(.4,0,.2,1) forwards}.app-title{background-size:400% 100%;animation:titleShimmer 3s ease-in-out infinite}.logo-container img{animation:logoGlow 2s ease-in-out infinite}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-2px)}}.toggle-sidebar{animation:float 3s ease-in-out infinite}.toggle-sidebar:hover{animation:none}.resizable-sidebar{position:fixed;top:var(--header-height, 70px);left:0;bottom:0;display:flex;flex-direction:column;height:calc(100vh - var(--header-height, 70px));background:linear-gradient(180deg,#050505fa,#0f0f0ff2);-webkit-backdrop-filter:blur(20px) saturate(1.6);backdrop-filter:blur(20px) saturate(1.6);border-right:1px solid rgba(59,130,246,.15);box-shadow:4px 0 24px #0000004d,0 0 40px #3b82f614,inset -1px 0 #ffffff0d;transition:all .4s cubic-bezier(.4,0,.2,1);z-index:1001;overflow:hidden;pointer-events:auto;isolation:isolate}.resizable-sidebar.sidebar-collapsed{transform:translate(-100%)}.resizable-sidebar.resizing{transition:none}.sidebar-content{flex:1;overflow-y:auto;padding:1.5rem 1rem 1.5rem 1.5rem;box-sizing:border-box;background:linear-gradient(180deg,#00000005,#3b82f603);position:relative}.sidebar-content:before{content:"";position:absolute;top:0;left:0;right:0;height:20px;background:linear-gradient(180deg,rgba(59,130,246,.08) 0%,transparent 100%);pointer-events:none}.sidebar-content::-webkit-scrollbar{width:6px}.sidebar-content::-webkit-scrollbar-track{background:#0000001a;border-radius:3px}.sidebar-content::-webkit-scrollbar-thumb{background:linear-gradient(135deg,#3b82f699,#3b82f6cc);border-radius:3px;transition:all .3s ease}.sidebar-content::-webkit-scrollbar-thumb:hover{background:linear-gradient(135deg,#3b82f6cc,#3b82f6)}.sidebar-header{padding:.5rem 1.5rem .75rem!important;border-bottom:1px solid rgba(59,130,246,.2)!important;background:linear-gradient(135deg,#050505fa,#0f0f0ff2)!important;position:relative!important;overflow:hidden!important}.sidebar-header:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(59,130,246,.03) 0%,transparent 100%);pointer-events:none}.logo-container{display:flex!important;align-items:center!important;gap:.875rem!important;position:relative!important;z-index:2!important;transition:all .3s ease!important;padding:.25rem!important;border-radius:12px!important}.logo-container:hover{background:#3b82f614!important;transform:translateY(-1px)!important;box-shadow:0 4px 20px #3b82f626!important}.logo-container img{flex-shrink:0!important;transition:all .3s ease!important;filter:drop-shadow(0 2px 8px rgba(59,130,246,.3))!important;border-radius:6px!important}.logo-container:hover img{transform:scale(1.05)!important;filter:drop-shadow(0 4px 12px rgba(59,130,246,.5))!important}.app-title{margin:0!important;font-size:20px!important;font-weight:800!important;background:linear-gradient(135deg,#f1f5f9,#93c5fd,#c4b5fd)!important;background-clip:text!important;-webkit-background-clip:text!important;-webkit-text-fill-color:transparent!important;line-height:1.2!important;letter-spacing:.5px!important;transition:all .3s ease!important}.logo-container:hover .app-title{transform:scale(1.02)!important;text-shadow:0 0 20px rgba(59,130,246,.4)!important}.center-name{margin:0!important;font-size:11px!important;color:#93c5fd99!important;font-weight:600!important;line-height:1.1!important;text-transform:uppercase!important;letter-spacing:.8px!important;transition:all .3s ease!important}.logo-container:hover .center-name{color:#93c5fdcc!important;transform:translate(2px)!important}.sidebar-header *{margin-block-start:0!important;margin-block-end:0!important}.sidebar-content{padding-top:.75rem!important}.toggle-sidebar{position:fixed!important;top:50%!important;margin-top:-20px!important;left:20px!important;z-index:1001!important;background:linear-gradient(135deg,#3b82f6e6,#3b82f6)!important;border:none!important;border-radius:12px!important;width:40px!important;height:40px!important;display:flex!important;align-items:center!important;justify-content:center!important;color:#fff!important;font-size:16px!important;cursor:pointer!important;transition:all .3s cubic-bezier(.4,0,.2,1)!important;box-shadow:0 4px 15px #3b82f64d,0 0 20px #3b82f633,inset 0 1px #fff3!important}.toggle-sidebar:hover{background:linear-gradient(135deg,#3b82f6,#64aaff)!important;transform:translateY(-2px) scale(1.05)!important;box-shadow:0 8px 25px #3b82f666,0 0 30px #3b82f64d,inset 0 1px #ffffff4d!important}.toggle-sidebar:active{transform:translateY(0) scale(.98)!important}.sidebar-resize-handle{position:absolute;right:-6px;top:0;bottom:0;width:12px;background:linear-gradient(135deg,#3b82f6cc,#3b82f6);cursor:ew-resize;z-index:calc(var(--z-sidebar) + 1);opacity:0;transition:all .4s cubic-bezier(.4,0,.2,1);border-radius:0 8px 8px 0;display:flex;align-items:center;justify-content:center;box-shadow:2px 0 8px #3b82f633,inset -1px 0 #ffffff1a}.sidebar-resize-handle:hover,.sidebar-resize-handle.dragging{opacity:1;width:16px;right:-8px;background:linear-gradient(135deg,#3b82f6,#64aaff);box-shadow:4px 0 20px #3b82f666,0 0 25px #3b82f64d,inset -1px 0 #fff3}.resizable-sidebar:hover .sidebar-resize-handle{opacity:.8;transform:translate(1px)}.resize-handle-indicator{color:#fff;font-size:16px;letter-spacing:-2px;opacity:.8;writing-mode:vertical-lr;text-orientation:mixed;pointer-events:none}.sidebar-resize-handle.dragging{box-shadow:0 0 25px #0079c199}.sidebar-content table{width:100%!important;table-layout:auto;word-wrap:break-word;overflow-wrap:break-word}.sidebar-content table th,.sidebar-content table td{min-width:60px;max-width:none;padding:8px 6px;font-size:13px;line-height:1.4;overflow-wrap:break-word;word-break:break-word}.sidebar-content::-webkit-scrollbar{width:8px}.sidebar-content::-webkit-scrollbar-track{background:#0000001a}.sidebar-content::-webkit-scrollbar-thumb{background:#fff3;border-radius:4px}.sidebar-content::-webkit-scrollbar-thumb:hover{background:#ffffff4d}@media (max-width: 768px){.resizable-sidebar{position:fixed;left:0;top:0;width:100vw!important;max-width:100vw;border-radius:0}.sidebar-resize-handle{display:none}}.basemap-panel{position:absolute;right:70px;top:80px;background:#000000b3;border-radius:4px;padding:10px;z-index:1000;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.basemap-option{padding:10px;color:var(--text-color);cursor:pointer;display:flex;align-items:center;gap:10px;border-radius:4px}.basemap-option:hover{background-color:#ffffff1a}.basemap-option.active{background-color:var(--primary-color)}.dl-panel{position:fixed;top:60px;right:0;height:calc(100vh - 60px);background:linear-gradient(145deg,#1a1f2e,#252b3d);border-left:1px solid rgba(59,130,246,.3);box-shadow:-10px 0 30px #00000080;z-index:10000;overflow:hidden;animation:dlSlideIn .3s ease-out;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);display:flex;flex-direction:row}.dl-resize-handle{position:absolute;top:0;left:-3px;width:6px;height:100%;cursor:ew-resize;z-index:10;background:transparent;transition:background .2s}.dl-resize-handle:hover,.dl-resize-handle:active{background:#3b82f680}@keyframes dlSlideIn{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}.dl-sidebar{width:70px;min-width:70px;background:linear-gradient(180deg,#151820,#1a1f2e);border-right:1px solid rgba(59,130,246,.2);display:flex;flex-direction:column;align-items:center;padding:1rem 0;gap:.25rem}.dl-sidebar-logo{width:44px;height:44px;border-radius:12px;background:linear-gradient(135deg,#3b82f6,#0079c1);display:flex;align-items:center;justify-content:center;margin-bottom:1.5rem;box-shadow:0 4px 12px #3b82f64d}.dl-sidebar-logo i{color:#fff;font-size:20px}.dl-nav-item{width:54px;height:54px;border-radius:12px;background:transparent;border:none;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;cursor:pointer;transition:all .2s ease;color:#ffffff80;position:relative}.dl-nav-item:hover{background:#3b82f61a;color:#fffc}.dl-nav-item.active{background:linear-gradient(135deg,#3b82f633,#0079c133);color:#3b82f6}.dl-nav-item.active:before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:3px;height:24px;background:linear-gradient(180deg,#3b82f6,#0079c1);border-radius:0 3px 3px 0}.dl-nav-item i{font-size:18px}.dl-nav-item span{font-size:9px;font-weight:500;text-transform:uppercase;letter-spacing:.5px}.dl-nav-badge{position:absolute;top:4px;right:4px;min-width:16px;height:16px;border-radius:8px;background:linear-gradient(135deg,#3b82f6,#0079c1);color:#fff;font-size:9px;font-weight:700;display:flex;align-items:center;justify-content:center;padding:0 4px;border:1.5px solid #151820}.dl-sidebar-close-btn{margin-top:auto;width:54px;padding:.75rem 0;border-radius:12px;background:#ef44441a;border:1px solid rgba(239,68,68,.2);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;cursor:pointer;transition:all .2s ease;color:#ef4444cc;margin-bottom:1rem}.dl-sidebar-close-btn:hover{background:#ef444433;border-color:#ef444466;color:#ef4444}.dl-sidebar-close-btn i{font-size:16px}.dl-sidebar-close-btn span{font-size:9px;font-weight:500;text-transform:uppercase;letter-spacing:.5px}.dl-main-content{flex:1;display:flex;flex-direction:column;overflow:hidden;min-width:0}.dl-panel-header{display:flex;align-items:center;justify-content:space-between;padding:14px 20px;background:linear-gradient(90deg,#3b82f61a,#0079c11a);border-bottom:1px solid rgba(59,130,246,.2);flex-shrink:0}.dl-panel-title{display:flex;align-items:center;gap:.65rem;font-size:1.1rem;font-weight:600;color:#fff}.dl-panel-title i{color:#3b82f6;font-size:1.25rem}.dl-header-actions{display:flex;align-items:center;gap:8px}.dl-search-input{width:180px;padding:6px 12px 6px 32px;border-radius:8px;border:1px solid rgba(59,130,246,.25);background:#ffffff0d;color:#fff;font-size:12px;outline:none;transition:all .2s ease}.dl-search-input::placeholder{color:#ffffff4d}.dl-search-input:focus{border-color:#3b82f680;background:#ffffff14;width:220px}.dl-search-wrapper{position:relative}.dl-search-wrapper i{position:absolute;left:10px;top:50%;transform:translateY(-50%);font-size:11px;color:#ffffff4d;pointer-events:none}.dl-refresh-btn{display:inline-flex;align-items:center;gap:5px;padding:6px 12px;border-radius:6px;border:1px solid rgba(59,130,246,.3);background:#3b82f61a;color:#3b82f6;font-size:.75rem;font-weight:600;cursor:pointer;transition:all .2s ease}.dl-refresh-btn:hover{background:#3b82f633;border-color:#3b82f680}.dl-refresh-btn:disabled{opacity:.5;cursor:not-allowed}.dl-panel-content{flex:1;overflow-y:auto;padding:16px 20px}.dl-panel-content::-webkit-scrollbar{width:8px}.dl-panel-content::-webkit-scrollbar-track{background:#ffffff0d;border-radius:4px}.dl-panel-content::-webkit-scrollbar-thumb{background:linear-gradient(180deg,#3b82f6,#0079c1);border-radius:4px}.dl-active-layers{margin-bottom:16px;background:#3b82f60a;border:1px solid rgba(59,130,246,.15);border-radius:10px;overflow:hidden}.dl-active-layers-header{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;cursor:pointer;transition:background .2s}.dl-active-layers-header:hover{background:#3b82f60f}.dl-active-layers-header h5{margin:0;font-size:12px;font-weight:600;color:#fffc;display:flex;align-items:center;gap:8px}.dl-active-layers-header h5 i{color:#3b82f6;font-size:13px}.dl-active-layers-count{font-size:10px;padding:2px 8px;border-radius:10px;background:#3b82f626;color:#60a5fa;font-weight:600}.dl-active-layer-row{display:flex;align-items:center;gap:10px;padding:8px 14px;border-top:1px solid rgba(255,255,255,.04);transition:background .15s}.dl-active-layer-row:hover{background:#ffffff08}.dl-active-layer-icon{width:28px;height:28px;border-radius:6px;display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:12px}.dl-active-layer-icon.polygon{background:#3b82f626;color:#60a5fa}.dl-active-layer-icon.line{background:#22c55e26;color:#4ade80}.dl-active-layer-icon.point{background:#f9731626;color:#fb923c}.dl-active-layer-icon.other{background:#a855f726;color:#c084fc}.dl-active-layer-name{flex:1;font-size:12px;font-weight:500;color:#ffffffd9;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.dl-source-badge{font-size:9px;padding:2px 6px;border-radius:3px;font-weight:600;text-transform:uppercase;letter-spacing:.3px;flex-shrink:0}.dl-source-badge.primary{background:#3b82f626;color:#60a5fa;border:1px solid rgba(59,130,246,.2)}.dl-source-badge.parkville{background:#a855f726;color:#c084fc;border:1px solid rgba(168,85,247,.2)}.dl-source-badge.urban_heat{background:#ef535026;color:#ef5350;border:1px solid rgba(239,83,80,.2)}.dl-source-badge.vicmap{background:#22c55e26;color:#4ade80;border:1px solid rgba(34,197,94,.2)}.dl-opacity-slider{width:60px;height:4px;-webkit-appearance:none;appearance:none;border-radius:2px;background:#ffffff1a;outline:none;flex-shrink:0}.dl-opacity-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:12px;height:12px;border-radius:50%;background:#3b82f6;cursor:pointer;border:2px solid #1a1f2e}.dl-active-layer-btn{width:26px;height:26px;border-radius:6px;border:none;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .15s;font-size:11px;flex-shrink:0}.dl-active-layer-btn.visibility{background:#3b82f61a;color:#60a5fa}.dl-active-layer-btn.visibility:hover{background:#3b82f640}.dl-active-layer-btn.visibility.hidden{color:#ffffff40}.dl-active-layer-btn.style{background:#a855f71a;color:#a855f7cc}.dl-active-layer-btn.style:hover{background:#a855f740;color:#a855f7}.dl-active-layer-btn.remove{background:#ef44441a;color:#ef4444b3}.dl-active-layer-btn.remove:hover{background:#ef444440;color:#ef4444}.dl-buildings-toggle{display:flex;align-items:center;gap:10px;padding:8px 14px;border-top:1px solid rgba(255,255,255,.04);cursor:pointer;transition:background .15s}.dl-buildings-toggle:hover{background:#ffffff08}.dl-buildings-toggle .dl-active-layer-icon{background:#a855f726;color:#c084fc}.dl-toggle-pill{font-size:9px;padding:2px 8px;border-radius:3px;font-weight:700;flex-shrink:0}.dl-toggle-pill.on{background:#4caf50;color:#fff}.dl-toggle-pill.off{background:#ff9800;color:#fff}.dl-geom-group{margin-bottom:12px}.dl-geom-group-header{display:flex;align-items:center;gap:8px;padding:8px 12px;border-radius:8px;cursor:pointer;transition:all .2s;background:#ffffff05;border:1px solid rgba(255,255,255,.04)}.dl-geom-group-header:hover{background:#3b82f60f;border-color:#3b82f61f}.dl-geom-group-header i.toggle{font-size:10px;color:#ffffff4d;width:12px;text-align:center;transition:transform .2s}.dl-geom-group-header .group-icon{font-size:14px}.dl-geom-group-header .group-icon.polygon{color:#60a5fa}.dl-geom-group-header .group-icon.line{color:#4ade80}.dl-geom-group-header .group-icon.point{color:#fb923c}.dl-geom-group-header .group-icon.other{color:#c084fc}.dl-geom-group-header .group-label{flex:1;font-size:12px;font-weight:600;color:#ffffffbf}.dl-geom-group-header .group-count{font-size:10px;color:#ffffff59;padding:2px 8px;background:#ffffff0d;border-radius:10px}.dl-geom-group-list{padding:6px 0 6px 8px;display:flex;flex-direction:column;gap:4px}.dl-layer-card{display:flex;align-items:center;gap:10px;padding:10px 12px;background:#ffffff08;border:1px solid rgba(255,255,255,.06);border-radius:8px;cursor:default;transition:all .2s ease;position:relative}.dl-layer-card:hover{background:#3b82f60f;border-color:#3b82f626}.dl-layer-card.previewing{background:#3b82f614;border-color:#3b82f640;border-left:3px solid #3b82f6}.dl-layer-card-icon{width:32px;height:32px;border-radius:7px;display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:13px}.dl-layer-card-icon.polygon{background:#3b82f61f;color:#60a5fa}.dl-layer-card-icon.line{background:#22c55e1f;color:#4ade80}.dl-layer-card-icon.point{background:#f973161f;color:#fb923c}.dl-layer-card-icon.other{background:#a855f71f;color:#c084fc}.dl-layer-card-info{flex:1;min-width:0}.dl-layer-card-name{font-size:12px;font-weight:600;color:#ffffffd9;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dl-layer-card-meta{font-size:10px;color:#ffffff59;margin-top:2px}.dl-layer-actions{display:flex;gap:4px;opacity:0;transition:opacity .15s;flex-shrink:0}.dl-layer-card:hover .dl-layer-actions{opacity:1}.dl-layer-action-btn{width:28px;height:28px;border-radius:6px;border:1px solid rgba(255,255,255,.1);background:#ffffff0d;color:#fff9;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .15s;font-size:11px}.dl-layer-action-btn:hover{background:#3b82f626;border-color:#3b82f64d;color:#60a5fa}.dl-layer-action-btn.preview{color:#3b82f6cc}.dl-layer-action-btn.preview:hover{background:#3b82f633;color:#3b82f6}.dl-layer-action-btn.inspect{color:#a855f7cc}.dl-layer-action-btn.inspect:hover{background:#a855f726;color:#a855f7}.dl-layer-action-btn.ai{color:#22c55ecc}.dl-layer-action-btn.ai:hover{background:#22c55e26;color:#22c55e}.dl-layer-action-btn.clear{color:#ef4444b3}.dl-layer-action-btn.clear:hover{background:#ef444426;color:#ef4444}.dl-vicmap-info{font-size:11px;color:#ffffff73;padding:10px 14px;background:#3b82f60f;border-radius:8px;border-left:3px solid rgba(59,130,246,.4);margin-bottom:14px;line-height:1.5}.dl-vicmap-add-btn{width:100%;padding:10px;margin-bottom:14px;background:linear-gradient(135deg,#3b82f6,#6366f1);color:#fff;border:none;border-radius:8px;cursor:pointer;font-size:12px;font-weight:600;display:flex;align-items:center;justify-content:center;gap:8px;transition:all .2s}.dl-vicmap-add-btn:hover{transform:translateY(-1px);box-shadow:0 4px 12px #3b82f64d}.dl-vicmap-category{margin-bottom:8px}.dl-vicmap-category-header{padding:8px 10px;display:flex;justify-content:space-between;align-items:center;background:#ffffff08;border-radius:6px;cursor:pointer;transition:background .2s}.dl-vicmap-category-header:hover{background:#ffffff0f}.dl-vicmap-category-header .cat-left{display:flex;align-items:center;gap:8px}.dl-vicmap-category-header .cat-icon{font-size:14px}.dl-vicmap-category-header .cat-label{font-size:12px;font-weight:500;color:#ffffffbf}.dl-vicmap-category-header .cat-toggle{font-size:10px;color:#ffffff4d;transition:transform .2s}.dl-vicmap-category-header .cat-count{font-size:10px;color:#ffffff4d}.dl-vicmap-services{display:flex;flex-direction:column;gap:5px;margin-top:6px;padding-left:6px}.dl-service-card{display:flex;align-items:flex-start;gap:10px;padding:10px 12px;background:#ffffff08;border:1px solid rgba(255,255,255,.06);border-radius:8px;transition:all .2s}.dl-service-card:hover{border-color:#3b82f633;background:#3b82f60a}.dl-service-card-info{flex:1;min-width:0}.dl-service-card-name{font-size:12px;font-weight:500;color:#ffffffd9;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:flex;align-items:center;gap:6px;margin-bottom:3px}.dl-service-badge{font-size:9px;padding:1px 5px;border-radius:3px;font-weight:600;color:#fff;flex-shrink:0}.dl-service-card-desc{font-size:10px;color:#fff6;line-height:1.4}.dl-service-card-meta{font-size:9px;color:#ffffff40;margin-top:3px}.dl-service-actions{display:flex;gap:4px;flex-shrink:0}.dl-service-btn{padding:5px 7px;border-radius:5px;border:1px solid rgba(255,255,255,.1);background:#ffffff0d;color:#fff9;cursor:pointer;transition:all .15s;display:flex;align-items:center;justify-content:center;font-size:12px}.dl-service-btn.load{background:#3b82f626;border-color:#3b82f640;color:#60a5fa}.dl-service-btn.load:hover:not(:disabled){background:#3b82f64d;color:#93c5fd}.dl-service-btn.draw{background:#ff980026;border-color:#ff980040;color:#ffb74d}.dl-service-btn.draw:hover:not(:disabled){background:#ff98004d}.dl-service-btn.clear{color:#ef444499}.dl-service-btn.clear:hover{background:#ef444426;color:#ef4444}.dl-service-btn:disabled{opacity:.5;cursor:not-allowed}.dl-raster-layers{margin-bottom:14px;padding:12px;background:#a855f70d;border-radius:8px;border:1px solid rgba(168,85,247,.15)}.dl-raster-layers-title{font-size:12px;font-weight:600;color:#c084fc;display:flex;align-items:center;gap:8px;margin-bottom:10px}.dl-raster-layer-row{padding:8px 10px;background:#ffffff08;border:1px solid rgba(255,255,255,.06);border-radius:6px;margin-bottom:6px}.dl-raster-layer-header{display:flex;align-items:center;gap:8px;margin-bottom:6px}.dl-raster-layer-name{flex:1;font-size:11px;font-weight:500;color:#fffc;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dl-raster-layer-info{font-size:9px;color:#ffffff4d;margin-top:4px}.dl-raster-slider-row{display:flex;align-items:center;gap:8px}.dl-raster-slider-label{font-size:9px;color:#ffffff59;min-width:55px}.dl-raster-slider{flex:1;height:3px;-webkit-appearance:none;appearance:none;border-radius:2px;background:#ffffff1a;outline:none}.dl-raster-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:10px;height:10px;border-radius:50%;background:#c084fc;cursor:pointer}.dl-dialog-overlay{position:fixed;inset:0;background:#000000bf;display:flex;align-items:center;justify-content:center;z-index:999999;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.dl-dialog{background:linear-gradient(145deg,#1e1e28fa,#232837fa);border:1px solid rgba(59,130,246,.25);border-radius:14px;box-shadow:0 8px 32px #00000080;max-width:480px;width:90%;max-height:80vh;overflow:auto;position:relative;z-index:1000000}.dl-dialog-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid rgba(255,255,255,.08)}.dl-dialog-header-left{display:flex;align-items:center;gap:10px}.dl-dialog-header-left i{font-size:18px;color:#3b82f6}.dl-dialog-header h3{margin:0;font-size:15px;font-weight:600;color:#fff}.dl-dialog-header p{margin:3px 0 0;font-size:11px;color:#fff6}.dl-dialog-close{background:none;border:none;font-size:22px;color:#fff6;cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:6px;transition:all .2s}.dl-dialog-close:hover{background:#ffffff14;color:#ffffffb3}.dl-dialog-body{padding:20px;color:#ffffffb3}.dl-dialog-info-box{padding:12px;background:#3b82f60f;border-radius:8px;border-left:3px solid rgba(59,130,246,.4);margin-bottom:16px;font-size:12px;line-height:1.5}.dl-dialog-label{display:block;margin-bottom:6px;font-size:12px;font-weight:500;color:#fff9}.dl-dialog-input{width:100%;padding:9px 12px;border:1px solid rgba(255,255,255,.12);border-radius:6px;background:#ffffff0d;color:#fff;font-size:13px;font-family:inherit;outline:none;transition:border-color .2s}.dl-dialog-input::placeholder{color:#ffffff40}.dl-dialog-input:focus{border-color:#3b82f680}.dl-dialog-hint{font-size:10px;color:#ffffff4d;margin-top:4px}.dl-dialog-actions{display:flex;gap:10px;margin-top:20px}.dl-btn-cancel{flex:1;padding:10px 16px;background:#ffffff0f;color:#fff9;border:1px solid rgba(255,255,255,.1);border-radius:6px;cursor:pointer;font-size:13px;font-weight:500;transition:all .2s}.dl-btn-cancel:hover{background:#ffffff1a}.dl-btn-confirm{flex:2;padding:10px 16px;background:linear-gradient(135deg,#3b82f6,#0079c1);color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:13px;font-weight:600;transition:all .2s;display:flex;align-items:center;justify-content:center;gap:8px}.dl-btn-confirm:hover:not(:disabled){box-shadow:0 4px 12px #3b82f64d}.dl-btn-confirm:disabled{opacity:.5;cursor:not-allowed}.dl-btn-confirm.green{background:linear-gradient(135deg,#22c55e,#16a34a)}.dl-btn-confirm.green:hover:not(:disabled){box-shadow:0 4px 12px #22c55e4d}.dl-panel-footer{padding:10px 20px;background:#0003;border-top:1px solid rgba(59,130,246,.2);display:flex;justify-content:space-between;align-items:center;flex-shrink:0}.dl-footer-stats{display:flex;gap:16px}.dl-footer-stat{display:flex;align-items:center;gap:5px;color:#ffffff80;font-size:11px}.dl-footer-stat i{color:#3b82f6;font-size:11px}.dl-gs-health{display:flex;align-items:center;gap:5px;font-size:10px}.dl-gs-dot{width:7px;height:7px;border-radius:50%}.dl-gs-dot.healthy{background:#4caf50;box-shadow:0 0 6px #4caf5066}.dl-gs-dot.unhealthy{background:#ef4444;box-shadow:0 0 6px #ef444466}.dl-loading{display:flex;align-items:center;gap:8px;padding:16px 0;color:#ffffff80;font-size:13px}.dl-loading i{color:#3b82f6}.dl-error{display:flex;align-items:center;gap:8px;padding:12px 14px;background:#ef44441a;border:1px solid rgba(239,68,68,.2);border-radius:8px;color:#fca5a5;font-size:12px}.dl-error i{color:#ef4444;flex-shrink:0}.dl-empty{text-align:center;padding:24px 16px;color:#ffffff4d;font-size:12px}.dl-empty i{font-size:28px;display:block;margin-bottom:8px;color:#ffffff26}.dl-fade-in{animation:dlFadeIn .3s ease-out}@keyframes dlFadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 768px){.dl-panel{width:100vw!important}.dl-sidebar{width:54px;min-width:54px}.dl-search-input{width:120px}}@media (prefers-reduced-motion: reduce){.dl-panel,.dl-fade-in{animation:none}}.measurement-panel{position:absolute;right:70px;top:130px;background:#000000b3;border-radius:4px;padding:10px;z-index:1000;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.measurement-option{padding:10px;color:var(--text-color);cursor:pointer;display:flex;align-items:center;gap:10px;border-radius:4px}.measurement-option:hover{background-color:#ffffff1a}.live-coordinate-tracker{position:fixed;top:90px;right:20px;background:linear-gradient(145deg,#0f1923fa,#19232df2);border:2px solid rgba(74,144,226,.4);border-radius:16px;padding:1rem;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);box-shadow:0 15px 50px #0006,inset 0 1px #ffffff1a,0 0 40px #4a90e233;min-width:240px;max-width:280px;z-index:10003;transition:all .3s ease;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;pointer-events:auto;cursor:default}.live-coordinate-tracker:hover{border-color:#4a90e299;box-shadow:0 20px 60px #00000080,inset 0 1px #ffffff26,0 0 50px #4a90e24d;transform:translateY(-2px);background:linear-gradient(145deg,#141e28fa,#1e2832f2)}.tracker-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;padding-bottom:.5rem;border-bottom:1px solid rgba(74,144,226,.2)}.tracker-title{display:flex;align-items:center;gap:.75rem;color:#fff;font-size:1.1rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px}.tracker-title i{color:#4a90e2cc;font-size:1.2rem;animation:crosshairPulse 3s ease-in-out infinite}@keyframes crosshairPulse{0%,to{transform:scale(1);color:#4a90e2cc}50%{transform:scale(1.1);color:#4a90e2}}.tracker-status{display:flex;align-items:center}.live-indicator{display:flex;align-items:center;gap:.5rem;color:#00c896;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.5px}.live-dot{width:8px;height:8px;background:#00c896;border-radius:50%;animation:livePulse 1.5s ease-in-out infinite}@keyframes livePulse{0%,to{opacity:1;box-shadow:0 0 4px #00c89699}50%{opacity:.6;box-shadow:0 0 12px #00c896cc}}.coordinate-systems{display:flex;flex-direction:column;gap:.75rem}.coord-system{background:#0000004d;border:1px solid rgba(74,144,226,.2);border-radius:12px;padding:.75rem;transition:all .3s ease}.coord-system:hover{background:#0006;border-color:#4a90e266;transform:translate(2px)}.coord-system.additional-info{border-color:#00c8964d}.coord-system.additional-info:hover{border-color:#00c89680}.system-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.system-name{color:#fff;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.5px}.system-epsg{color:#4a90e2cc;font-size:10px;font-weight:600;background:#4a90e21a;padding:.25rem .5rem;border-radius:6px;border:1px solid rgba(74,144,226,.2)}.coord-values{display:flex;flex-direction:column;gap:.375rem}.coord-item{display:flex;justify-content:space-between;align-items:center;padding:.375rem .5rem;background:#4a90e20d;border-radius:8px;border:1px solid rgba(74,144,226,.1);transition:all .3s ease}.coord-item:hover{background:#4a90e21a;border-color:#4a90e233}.coord-label{color:#8bb6e8;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.3px}.coord-value{color:#fff;font-size:12px;font-weight:700;font-family:Courier New,monospace;text-align:right;background:linear-gradient(135deg,#fff,#e3f2fd);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent}.tracker-footer{margin-top:1rem;padding-top:.5rem;border-top:1px solid rgba(74,144,226,.2);display:flex;justify-content:space-between;align-items:center}.data-quality,.coordinate-precision{display:flex;align-items:center;gap:.5rem}.quality-label,.precision-label{color:#8bb6e8;font-size:10px;font-weight:600;text-transform:uppercase}.quality-value{font-size:10px;font-weight:700;padding:.25rem .5rem;border-radius:4px;text-transform:uppercase;letter-spacing:.3px}.quality-value.high{background:#00c89633;color:#00c896;border:1px solid rgba(0,200,150,.3)}.precision-value{color:#4a90e2cc;font-size:10px;font-weight:700;background:#4a90e21a;padding:.25rem .5rem;border-radius:4px;border:1px solid rgba(74,144,226,.2)}@media (max-width: 768px){.live-coordinate-tracker{position:fixed;top:80px;right:10px;left:10px;min-width:auto;max-width:none}.tracker-footer{flex-direction:column;gap:.5rem;align-items:flex-start}}@keyframes slideInFromTop{0%{transform:translateY(-20px) translate(20px);opacity:0}to{transform:translateY(0) translate(0);opacity:1}}.live-coordinate-tracker{animation:slideInFromTop .5s ease-out}.live-coordinate-tracker{will-change:transform;contain:layout style paint}@media (prefers-reduced-motion: reduce){.live-coordinate-tracker,.live-dot,.tracker-title i{animation:none}.live-coordinate-tracker:hover{transform:none}}.feature-details-panel{position:fixed;width:420px;max-width:90vw;max-height:calc(100vh - 120px);background:#0f172af2;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid rgba(59,130,246,.3);border-radius:8px;overflow:hidden;z-index:1050;animation:popIn .3s cubic-bezier(.34,1.56,.64,1);box-shadow:0 12px 48px #0009,0 0 0 1px #3b82f61a inset;-webkit-user-select:none;user-select:none}.feature-details-panel.dragging{transition:none;box-shadow:0 16px 64px #000c,0 0 0 2px #3b82f666 inset}@keyframes popIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.feature-details-header{display:flex;align-items:center;justify-content:space-between;padding:16px;border-bottom:1px solid rgba(255,255,255,.08);background:linear-gradient(135deg,#3b82f614,#3b82f605);position:relative}.feature-details-header:before{content:"⋮⋮";position:absolute;left:8px;top:50%;transform:translateY(-50%);color:#ffffff4d;font-size:14px;letter-spacing:-2px;pointer-events:none;transition:color .2s ease}.feature-details-panel.dragging .feature-details-header:before{color:#22c55e99}.feature-title{display:flex;align-items:center;gap:8px;flex:1;min-width:0;padding-left:16px}.feature-title h3{margin:0;font-size:14px;font-weight:600;color:#fffffff2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1}.close-btn{background:transparent;border:1px solid rgba(255,255,255,.08);color:#fff9;width:28px;height:28px;border-radius:4px;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:16px;transition:all .2s ease;flex-shrink:0}.close-btn:hover{background:#ef44441a;border-color:#ef44444d;color:#ef4444e6}.feature-details-body{padding:16px;max-height:calc(100vh - 220px);overflow-y:auto}.feature-details-body::-webkit-scrollbar{width:6px}.feature-details-body::-webkit-scrollbar-track{background:#ffffff05;border-radius:3px}.feature-details-body::-webkit-scrollbar-thumb{background:#3b82f64d;border-radius:3px}.feature-details-body::-webkit-scrollbar-thumb:hover{background:#3b82f680}.feature-section{margin-bottom:16px}.feature-section:last-child{margin-bottom:0}.section-title{font-size:11px;font-weight:600;color:#ffffff80;text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px;display:flex;align-items:center;gap:6px}.badge{display:inline-flex;align-items:center;padding:2px 8px;font-size:10px;font-weight:600;border-radius:4px;text-transform:uppercase;letter-spacing:.3px;white-space:nowrap}.badge-geometry{background:#3b82f626;color:#3b82f6f2;border:1px solid rgba(59,130,246,.3)}.badge-count{background:#a855f726;color:#a855f7f2;border:1px solid rgba(168,85,247,.3)}.badge-draggable{background:#22c55e26;color:#22c55ef2;border:1px solid rgba(34,197,94,.3);animation:dragPulse 2s ease-in-out infinite}@keyframes dragPulse{0%,to{opacity:.6}50%{opacity:1}}.properties-list{display:flex;flex-direction:column;gap:8px}.property-item{background:#ffffff05;border:1px solid rgba(255,255,255,.05);border-radius:6px;padding:10px 12px;transition:all .2s ease}.property-item:hover{background:#3b82f60d;border-color:#3b82f633}.property-key{font-size:11px;font-weight:600;color:#ffffff80;text-transform:uppercase;letter-spacing:.3px;margin-bottom:4px}.property-value{font-size:13px;color:#ffffffd9;word-break:break-word;font-family:Consolas,Monaco,monospace}.property-value.null-value{color:#ffffff4d;font-style:italic}.feature-actions{display:flex;gap:8px;margin-top:16px;padding-top:16px;border-top:1px solid rgba(255,255,255,.08)}.action-btn{flex:1;background:#3b82f61a;border:1px solid rgba(59,130,246,.3);color:#3b82f6f2;padding:8px 12px;border-radius:6px;font-size:12px;font-weight:500;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;gap:6px}.action-btn:hover{background:#3b82f633;border-color:#3b82f680;color:#3b82f6}.action-btn:active{transform:scale(.98)}.no-properties{padding:24px;text-align:center;color:#fff6;font-size:13px;font-style:italic}.feature-details-panel:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent 0%,rgba(59,130,246,.6) 50%,transparent 100%);animation:scanline 3s ease-in-out infinite}@keyframes scanline{0%,to{opacity:.3}50%{opacity:1}}.feature-details-body:after{content:"";position:absolute;bottom:0;right:0;width:40px;height:40px;background:linear-gradient(90deg,transparent 0%,rgba(59,130,246,.03) 100%),repeating-linear-gradient(45deg,transparent,transparent 2px,rgba(59,130,246,.02) 2px,rgba(59,130,246,.02) 4px);pointer-events:none;border-radius:8px 0}.cesium-svgPath-svg{position:absolute;top:0;left:0;width:100%;height:100%;overflow:hidden}.cesium-button{display:inline-block;position:relative;background:#303336;border:1px solid #444;color:#edffff;fill:#edffff;border-radius:4px;padding:5px 12px;margin:2px 3px;cursor:pointer;overflow:hidden;-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none;user-select:none}.cesium-button:focus{color:#fff;fill:#fff;border-color:#ea4;outline:none}.cesium-button:hover{color:#fff;fill:#fff;background:#48b;border-color:#aef;box-shadow:0 0 8px #fff}.cesium-button:active{color:#000;fill:#000;background:#adf;border-color:#fff;box-shadow:0 0 8px #fff}.cesium-button:disabled,.cesium-button-disabled,.cesium-button-disabled:focus,.cesium-button-disabled:hover,.cesium-button-disabled:active{background:#303336;border-color:#444;color:#646464;fill:#646464;box-shadow:none;cursor:default}.cesium-button option{background-color:#000;color:#eee}.cesium-button option:disabled{color:#777}.cesium-button input,.cesium-button label{cursor:pointer}.cesium-button input{vertical-align:sub}.cesium-toolbar-button{box-sizing:border-box;width:32px;height:32px;border-radius:14%;padding:0;vertical-align:middle;z-index:0}.cesium-performanceDisplay-defaultContainer{position:absolute;top:50px;right:10px;text-align:right}.cesium-performanceDisplay{background-color:#282828b3;padding:7px;border-radius:5px;border:1px solid #444;font:700 12px sans-serif}.cesium-performanceDisplay-fps{color:#e52}.cesium-performanceDisplay-throttled{color:#a42}.cesium-performanceDisplay-ms{color:#de3}.cesium-animation-theme{visibility:hidden;display:block;position:absolute;z-index:-100}.cesium-animation-themeNormal{color:#222}.cesium-animation-themeHover{color:#4488b0}.cesium-animation-themeSelect{color:#242}.cesium-animation-themeDisabled{color:#333}.cesium-animation-themeKnob{color:#222}.cesium-animation-themePointer{color:#2e2}.cesium-animation-themeSwoosh{color:#8ac}.cesium-animation-themeSwooshHover{color:#aef}.cesium-animation-svgText{fill:#edffff;font-family:Sans-Serif;font-size:15px;text-anchor:middle}.cesium-animation-blank{fill:#000;fill-opacity:.01;stroke:none}.cesium-animation-rectButton{cursor:pointer;-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none;user-select:none}.cesium-animation-rectButton .cesium-animation-buttonGlow{fill:#fff;stroke:none;display:none}.cesium-animation-rectButton:hover .cesium-animation-buttonGlow{display:block}.cesium-animation-rectButton .cesium-animation-buttonPath{fill:#edffff}.cesium-animation-rectButton .cesium-animation-buttonMain{stroke:#444;stroke-width:1.2}.cesium-animation-rectButton:hover .cesium-animation-buttonMain{stroke:#aef}.cesium-animation-rectButton:active .cesium-animation-buttonMain{fill:#abd6ff}.cesium-animation-buttonDisabled{-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none;user-select:none}.cesium-animation-buttonDisabled .cesium-animation-buttonMain{stroke:#555}.cesium-animation-buttonDisabled .cesium-animation-buttonPath{fill:#818181}.cesium-animation-buttonDisabled .cesium-animation-buttonGlow{display:none}.cesium-animation-buttonToggled .cesium-animation-buttonGlow{display:block;fill:#2e2}.cesium-animation-buttonToggled .cesium-animation-buttonMain{stroke:#2e2}.cesium-animation-buttonToggled:hover .cesium-animation-buttonGlow{fill:#fff}.cesium-animation-buttonToggled:hover .cesium-animation-buttonMain{stroke:#2e2}.cesium-animation-shuttleRingG,.cesium-animation-shuttleRingPointer,.cesium-animation-shuttleRingPausePointer{cursor:pointer}.cesium-animation-shuttleRingBack{fill:#181818;fill-opacity:.8;stroke:#333;stroke-width:1.2}.cesium-animation-shuttleRingSwoosh line{stroke:#8ac;stroke-width:3;stroke-opacity:.2;stroke-linecap:round}.cesium-animation-knobOuter{cursor:pointer;stroke:#444;stroke-width:1.2}.cesium-animation-knobInner{cursor:pointer}.cesium-baseLayerPicker-selected{position:absolute;top:0;left:0;width:100%;height:100%;border:none}.cesium-baseLayerPicker-dropDown{display:block;position:absolute;box-sizing:content-box;top:auto;right:0;width:320px;max-height:500px;margin-top:5px;background-color:#262626bf;border:1px solid #444;padding:6px;overflow:auto;border-radius:10px;-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none;user-select:none;transform:translateY(-20%);visibility:hidden;opacity:0;transition:visibility 0s .2s,opacity .2s ease-in,transform .2s ease-in}.cesium-baseLayerPicker-dropDown-visible{transform:translate(0);visibility:visible;opacity:1;transition:opacity .2s ease-out,transform .2s ease-out}.cesium-baseLayerPicker-sectionTitle{display:block;font-family:sans-serif;font-size:16pt;text-align:left;color:#edffff;margin-bottom:4px}.cesium-baseLayerPicker-choices{margin-bottom:5px}.cesium-baseLayerPicker-categoryTitle{color:#edffff;font-size:11pt}.cesium-baseLayerPicker-choices{display:block;border:1px solid #888;border-radius:5px;padding:5px 0}.cesium-baseLayerPicker-item{display:inline-block;vertical-align:top;margin:2px 5px;width:64px;text-align:center;cursor:pointer}.cesium-baseLayerPicker-itemLabel{display:block;font-family:sans-serif;font-size:8pt;text-align:center;vertical-align:middle;color:#edffff;cursor:pointer;word-wrap:break-word}.cesium-baseLayerPicker-item:hover .cesium-baseLayerPicker-itemLabel,.cesium-baseLayerPicker-item:focus .cesium-baseLayerPicker-itemLabel{text-decoration:underline}.cesium-baseLayerPicker-itemIcon{display:inline-block;position:relative;width:inherit;height:auto;background-size:100% 100%;border:solid 1px #444;border-radius:9px;color:#edffff;margin:0;padding:0;cursor:pointer;box-sizing:border-box}.cesium-baseLayerPicker-item:hover .cesium-baseLayerPicker-itemIcon{border-color:#fff;box-shadow:0 0 8px #fff,0 0 8px #fff}.cesium-baseLayerPicker-selectedItem .cesium-baseLayerPicker-itemLabel{color:#bdecf8}.cesium-baseLayerPicker-selectedItem .cesium-baseLayerPicker-itemIcon{border:double 4px rgb(189,236,248)}.cesium-widget{font-family:sans-serif;font-size:16px;overflow:hidden;display:block;position:relative;top:0;left:0;width:100%;height:100%}.cesium-widget,.cesium-widget canvas{width:100%;height:100%;touch-action:none}.cesium-widget-credits{display:block;position:absolute;bottom:0;left:0;color:#fff;font-size:10px;text-shadow:0px 0px 2px #000000;padding-right:5px}.cesium-widget-errorPanel{position:absolute;inset:0;text-align:center;background:#000000b3;z-index:99999}.cesium-widget-errorPanel:before{display:inline-block;vertical-align:middle;height:100%;content:""}.cesium-widget-errorPanel-content{width:75%;max-width:500px;display:inline-block;text-align:left;vertical-align:middle;border:1px solid #510c00;border-radius:7px;background-color:#f0d9d5;font-size:14px;color:#510c00}.cesium-widget-errorPanel-content.expanded{max-width:75%}.cesium-widget-errorPanel-header{font-size:18px;font-family:Open Sans,Verdana,Geneva,sans-serif;background:#d69d93;border-bottom:2px solid #510c00;border-radius:3px 3px 0 0;padding:15px}.cesium-widget-errorPanel-scroll{overflow:auto;font-family:Open Sans,Verdana,Geneva,sans-serif;white-space:pre-wrap;padding:0 15px;margin:10px 0 20px}.cesium-widget-errorPanel-buttonPanel{padding:0 15px;margin:10px 0 20px;text-align:right}.cesium-widget-errorPanel-buttonPanel button{border-color:#510c00;background:#d69d93;color:#202020;margin:0}.cesium-widget-errorPanel-buttonPanel button:focus{border-color:#510c00;background:#f0d9d5;color:#510c00}.cesium-widget-errorPanel-buttonPanel button:hover{border-color:#510c00;background:#f0d9d5;color:#510c00}.cesium-widget-errorPanel-buttonPanel button:active{border-color:#510c00;background:#b17b72;color:#510c00}.cesium-widget-errorPanel-more-details{text-decoration:underline;cursor:pointer}.cesium-widget-errorPanel-more-details:hover{color:#2b0700}.cesium-cesiumInspector{border-radius:5px;transition:width ease-in-out .25s;background:#303336cc;border:1px solid #444;color:#edffff;display:inline-block;position:relative;padding:4px 12px;-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none;user-select:none;overflow:hidden}.cesium-cesiumInspector-button{text-align:center;font-size:11pt}.cesium-cesiumInspector-visible .cesium-cesiumInspector-button{border-bottom:1px solid #aaa;padding-bottom:3px}.cesium-cesiumInspector input:enabled,.cesium-cesiumInspector-button{cursor:pointer}.cesium-cesiumInspector-visible{width:185px;height:auto}.cesium-cesiumInspector-hidden{width:122px;height:17px}.cesium-cesiumInspector-sectionContent{max-height:600px}.cesium-cesiumInspector-section-collapsed .cesium-cesiumInspector-sectionContent{max-height:0;padding:0!important;overflow:hidden}.cesium-cesiumInspector-dropDown{margin:5px 0;font-family:sans-serif;font-size:10pt;width:185px}.cesium-cesiumInspector-frustumStatistics{padding:5px;background-color:#505050bf}.cesium-cesiumInspector-pickButton{background-color:#0000004d;border:1px solid #444;color:#edffff;border-radius:5px;padding:3px 7px;cursor:pointer;-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none;user-select:none;margin:0 auto}.cesium-cesiumInspector-pickButton:focus{outline:none}.cesium-cesiumInspector-pickButton:active,.cesium-cesiumInspector-pickButtonHighlight{color:#000;background:#adf;border-color:#fff;box-shadow:0 0 8px #fff}.cesium-cesiumInspector-center{text-align:center}.cesium-cesiumInspector-sectionHeader{font-weight:700;font-size:10pt;margin:0;cursor:pointer}.cesium-cesiumInspector-pickSection{border:1px solid #aaa;border-radius:5px;padding:3px;margin-bottom:5px}.cesium-cesiumInspector-sectionContent{margin-bottom:10px;transition:max-height .25s}.cesium-cesiumInspector-tileText{padding-bottom:10px;border-bottom:1px solid #aaa}.cesium-cesiumInspector-relativeText{padding-top:10px}.cesium-cesiumInspector-sectionHeader:before{margin-right:5px;content:"-";width:1ch;display:inline-block}.cesium-cesiumInspector-section-collapsed .cesium-cesiumInspector-sectionHeader:before{content:"+"}ul.cesium-cesiumInspector-statistics{margin:0;padding-top:3px;padding-bottom:3px}ul.cesium-cesiumInspector-statistics+ul.cesium-cesiumInspector-statistics{border-top:1px solid #aaa}.cesium-cesiumInspector-slider{margin-top:5px}.cesium-cesiumInspector-slider input[type=number]{text-align:left;background-color:#222;outline:none;border:1px solid #444;color:#edffff;width:100px;border-radius:3px;padding:1px;margin-left:10px;cursor:auto}.cesium-cesiumInspector-slider input[type=number]::-webkit-outer-spin-button,.cesium-cesiumInspector-slider input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.cesium-cesiumInspector-slider input[type=range]{margin-left:5px;vertical-align:middle}.cesium-cesiumInspector-hide .cesium-cesiumInspector-styleEditor{display:none}.cesium-cesiumInspector-styleEditor{padding:10px;border-radius:5px;background:#303336cc;border:1px solid #444}.cesium-cesiumInspector-styleEditor textarea{width:100%;height:300px;background:transparent;color:#edffff;border:none;padding:0;white-space:pre;overflow-wrap:normal;overflow-x:auto}.cesium-3DTilesInspector{width:300px;pointer-events:all}.cesium-3DTilesInspector-statistics{font-size:11px}.cesium-3DTilesInspector-disabledElementsInfo{margin:5px 0 0;padding:0 0 0 20px;color:#eed202}.cesium-3DTilesInspector div,.cesium-3DTilesInspector input[type=range]{width:100%;box-sizing:border-box}.cesium-cesiumInspector-error{color:#ff9e9e;overflow:auto}.cesium-3DTilesInspector .cesium-cesiumInspector-section{margin-top:3px}.cesium-3DTilesInspector .cesium-cesiumInspector-sectionHeader+.cesium-cesiumInspector-show{border-top:1px solid white}input.cesium-cesiumInspector-url{overflow:hidden;white-space:nowrap;overflow-x:scroll;background-color:transparent;color:#fff;outline:none;border:none;height:1em;width:100%}.cesium-cesiumInspector .field-group{display:table}.cesium-cesiumInspector .field-group>label{display:table-cell;font-weight:700}.cesium-cesiumInspector .field-group>.field{display:table-cell;width:100%}.cesium-VoxelInspector{width:300px;pointer-events:all}.cesium-VoxelInspector div,.cesium-VoxelInspector input[type=range]{width:100%;box-sizing:border-box}.cesium-VoxelInspector .cesium-cesiumInspector-section{margin-top:3px}.cesium-VoxelInspector .cesium-cesiumInspector-sectionHeader+.cesium-cesiumInspector-show{border-top:1px solid white}.cesium-button.cesium-fullscreenButton,.cesium-button.cesium-vrButton{display:block;width:100%;height:100%;margin:0;border-radius:0}.cesium-viewer-geocoderContainer .cesium-geocoder-input{border:solid 1px #444;background-color:#282828b3;color:#fff;display:inline-block;vertical-align:middle;width:0;height:32px;margin:0;padding:0 32px 0 0;border-radius:0;box-sizing:border-box;transition:width ease-in-out .25s,background-color .2s ease-in-out;-webkit-appearance:none}.cesium-viewer-geocoderContainer:hover .cesium-geocoder-input{border-color:#aef;box-shadow:0 0 8px #fff}.cesium-viewer-geocoderContainer .cesium-geocoder-input:focus{border-color:#ea4;background-color:#0f0f0fe6;box-shadow:none;outline:none}.cesium-viewer-geocoderContainer:hover .cesium-geocoder-input,.cesium-viewer-geocoderContainer .cesium-geocoder-input:focus,.cesium-viewer-geocoderContainer .cesium-geocoder-input-wide{padding-left:4px;width:250px}.cesium-viewer-geocoderContainer .search-results{position:absolute;background-color:#000;color:#eee;overflow-y:auto;opacity:.8;width:100%}.cesium-viewer-geocoderContainer .search-results ul{list-style-type:none;margin:0;padding:0}.cesium-viewer-geocoderContainer .search-results ul li{font-size:14px;padding:3px 10px}.cesium-viewer-geocoderContainer .search-results ul li:hover{cursor:pointer}.cesium-viewer-geocoderContainer .search-results ul li.active{background:#48b}.cesium-geocoder-searchButton{background-color:#303336;display:inline-block;position:absolute;cursor:pointer;width:32px;top:1px;right:1px;height:30px;vertical-align:middle;fill:#edffff}.cesium-geocoder-searchButton:hover{background-color:#48b}.cesium-infoBox{display:block;position:absolute;top:50px;right:0;width:40%;max-width:480px;background:#262626f2;color:#edffff;border:1px solid #444;border-right:none;border-top-left-radius:7px;border-bottom-left-radius:7px;box-shadow:0 0 10px 1px #000;transform:translate(100%);visibility:hidden;opacity:0;transition:visibility 0s .2s,opacity .2s ease-in,transform .2s ease-in}.cesium-infoBox-visible{transform:translate(0);visibility:visible;opacity:1;transition:opacity .2s ease-out,transform .2s ease-out}.cesium-infoBox-title{display:block;height:20px;padding:5px 30px 5px 25px;background:#545454;border-top-left-radius:7px;text-align:center;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;box-sizing:content-box}.cesium-infoBox-bodyless .cesium-infoBox-title{border-bottom-left-radius:7px}button.cesium-infoBox-camera{display:block;position:absolute;top:4px;left:4px;width:22px;height:22px;background:transparent;border-color:transparent;border-radius:3px;padding:0 5px;margin:0}button.cesium-infoBox-close{display:block;position:absolute;top:5px;right:5px;height:20px;background:transparent;border:none;border-radius:2px;font-weight:700;font-size:16px;padding:0 5px;margin:0;color:#edffff}button.cesium-infoBox-close:focus{background:#ee880070;outline:none}button.cesium-infoBox-close:hover{background:#888;color:#000}button.cesium-infoBox-close:active{background:#a00;color:#000}.cesium-infoBox-bodyless .cesium-infoBox-iframe{display:none}.cesium-infoBox-iframe{border:none;width:100%;width:calc(100% - 2px)}span.cesium-sceneModePicker-wrapper{display:inline-block;position:relative;margin:0 3px}.cesium-sceneModePicker-visible{visibility:visible;opacity:1;transition:opacity .25s linear}.cesium-sceneModePicker-hidden{visibility:hidden;opacity:0;transition:visibility 0s .25s,opacity .25s linear}.cesium-sceneModePicker-wrapper .cesium-sceneModePicker-none{display:none}.cesium-sceneModePicker-slide-svg{transition:left 2s;top:0;left:0}.cesium-sceneModePicker-wrapper .cesium-sceneModePicker-dropDown-icon{box-sizing:border-box;padding:0;margin:3px 0}.cesium-sceneModePicker-wrapper .cesium-sceneModePicker-button3D,.cesium-sceneModePicker-wrapper .cesium-sceneModePicker-buttonColumbusView,.cesium-sceneModePicker-wrapper .cesium-sceneModePicker-button2D{margin:0 0 3px}.cesium-sceneModePicker-wrapper .cesium-sceneModePicker-button3D .cesium-sceneModePicker-icon2D{left:100%}.cesium-sceneModePicker-wrapper .cesium-sceneModePicker-button3D .cesium-sceneModePicker-iconColumbusView{left:200%}.cesium-sceneModePicker-wrapper .cesium-sceneModePicker-buttonColumbusView .cesium-sceneModePicker-icon3D{left:-200%}.cesium-sceneModePicker-wrapper .cesium-sceneModePicker-buttonColumbusView .cesium-sceneModePicker-icon2D,.cesium-sceneModePicker-wrapper .cesium-sceneModePicker-button2D .cesium-sceneModePicker-icon3D{left:-100%}.cesium-sceneModePicker-wrapper .cesium-sceneModePicker-button2D .cesium-sceneModePicker-iconColumbusView{left:100%}.cesium-sceneModePicker-wrapper .cesium-sceneModePicker-selected{border-color:#2e2;box-shadow:0 0 8px #fff,0 0 8px #fff}span.cesium-projectionPicker-wrapper{display:inline-block;position:relative;margin:0 3px}.cesium-projectionPicker-visible{visibility:visible;opacity:1;transition:opacity .25s linear}.cesium-projectionPicker-hidden{visibility:hidden;opacity:0;transition:visibility 0s .25s,opacity .25s linear}.cesium-projectionPicker-wrapper .cesium-projectionPicker-none{display:none}.cesium-projectionPicker-wrapper .cesium-projectionPicker-dropDown-icon{box-sizing:border-box;padding:0;margin:3px 0}.cesium-projectionPicker-wrapper .cesium-projectionPicker-buttonPerspective,.cesium-projectionPicker-wrapper .cesium-projectionPicker-buttonOrthographic{margin:0 0 3px}.cesium-projectionPicker-wrapper .cesium-projectionPicker-buttonPerspective .cesium-projectionPicker-iconOrthographic{left:100%}.cesium-projectionPicker-wrapper .cesium-projectionPicker-buttonOrthographic .cesium-projectionPicker-iconPerspective{left:-100%}.cesium-projectionPicker-wrapper .cesium-projectionPicker-selected{border-color:#2e2;box-shadow:0 0 8px #fff,0 0 8px #fff}.cesium-performance-watchdog-message-area{position:relative;background-color:#ff0;color:#000;padding:10px}.cesium-performance-watchdog-message{margin-right:30px}.cesium-performance-watchdog-message-dismiss{position:absolute;right:0;margin:0 10px 0 0}.cesium-navigationHelpButton-wrapper{position:relative;display:inline-block}.cesium-navigation-help{visibility:hidden;position:absolute;top:38px;right:2px;width:250px;border-radius:10px;transform:scale(.01);transform-origin:234px -10px;transition:visibility 0s .25s,transform .25s ease-in}.cesium-navigation-help-visible{visibility:visible;transform:scale(1);transition:transform .25s ease-out}.cesium-navigation-help-instructions{border:1px solid #444;background-color:#262626bf;padding-bottom:5px;border-radius:0 0 10px 10px}.cesium-click-navigation-help{display:none}.cesium-touch-navigation-help{display:none;padding-top:5px}.cesium-click-navigation-help-visible,.cesium-touch-navigation-help-visible{display:block}.cesium-navigation-help-pan{color:#6cf;font-weight:700}.cesium-navigation-help-zoom{color:#65fd00;font-weight:700}.cesium-navigation-help-rotate{color:#ffd800;font-weight:700}.cesium-navigation-help-tilt{color:#d800d8;font-weight:700}.cesium-navigation-help-details{color:#fff}.cesium-navigation-button{color:#fff;background-color:transparent;border-bottom:none;border-top:1px solid #444;border-right:1px solid #444;margin:0;width:50%;cursor:pointer}.cesium-navigation-button-icon{vertical-align:middle;padding:5px 1px}.cesium-navigation-button:focus{outline:none}.cesium-navigation-button-left{border-radius:10px 0 0;border-left:1px solid #444}.cesium-navigation-button-right{border-radius:0 10px 0 0;border-left:none}.cesium-navigation-button-selected{background-color:#262626bf}.cesium-navigation-button-unselected{background-color:#000000bf}.cesium-navigation-button-unselected:hover{background-color:#4c4c4cbf}.cesium-selection-wrapper{position:absolute;width:160px;height:160px;pointer-events:none;visibility:hidden;opacity:0;transition:visibility 0s .2s,opacity .2s ease-in}.cesium-selection-wrapper-visible{visibility:visible;opacity:1;transition:opacity .2s ease-out}.cesium-selection-wrapper svg{fill:#2e2;stroke:#000;stroke-width:1.1px}.cesium-timeline-main{position:relative;left:0;bottom:0;overflow:hidden;border:solid 1px #888;-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none;user-select:none}.cesium-timeline-trackContainer{width:100%;overflow:auto;border-top:solid 1px #888;position:relative;top:0;left:0}.cesium-timeline-tracks{position:absolute;top:0;left:0;width:100%}.cesium-timeline-needle{position:absolute;left:0;top:1.7em;bottom:0;width:1px;background:red}.cesium-timeline-bar{position:relative;left:0;top:0;overflow:hidden;cursor:pointer;width:100%;height:1.7em;background:linear-gradient(to bottom,#747577cc,#3a4452cc 11%,#2e3238cc 46%,#353535cc 81% 100%)}.cesium-timeline-ruler{visibility:hidden;white-space:nowrap;font-size:80%;z-index:-200}.cesium-timeline-highlight{position:absolute;bottom:0;left:0;background:#08f}.cesium-timeline-ticLabel{position:absolute;top:0;left:0;white-space:nowrap;font-size:80%;color:#eee}.cesium-timeline-ticMain{position:absolute;bottom:0;left:0;width:1px;height:50%;background:#eee}.cesium-timeline-ticSub{position:absolute;bottom:0;left:0;width:1px;height:33%;background:#aaa}.cesium-timeline-ticTiny{position:absolute;bottom:0;left:0;width:1px;height:25%;background:#888}.cesium-timeline-icon16{display:block;position:absolute;width:16px;height:16px;background-image:url(data:text/plain;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAQCAYAAAB3AH1ZAAAAAXNSR0IArs4c6QAAAAZiS0dEAP8A/wD/oL2nkwAAAAlwSFlzAAALEwAACxMBAJqcGAAAAAd0SU1FB9sIDBITKIVzLEMAAAKNSURBVEjHxdXNSxRhHAfw7zzrqhuoWJnSkrippUVSEKsHI9BTUYdAJA/RoYMREV26rAdn6tAfUARi16hQqkOBQRgUEYFWEC3OwczMjdZd92VmdWfmeelgTjO7q7gb0VzmmZnn85vvPPPMM8B/3qTcE2PPpuTZKB1eWuUQACgXYACYwVFbCTTVeZXB/i55o4LFelcAZfStYD4vpAoPGAGo4GBcQEgSOAUMQyAezwK6iQfDPXnhS/FkHZ+/8VLMWxxqWkfH3gbMRNOYi2roavbja0zHQmoFPYf8ED4Ko4aivm9MOG/u9I8mwrafeK7a/tVrNc/bARYN5noadeq7q0342vXw9CIMU6BmW8rVP9cPBPe52uu+v3O/y9sB4gkTWs6Qsk0mj5ExXMelejvA8WafYmkmGPHanTijdtvif8rx5RiCjdWKs2Cp3jWRDl96KhrbqlBeJqBOLyLQXg0IgbkZDS0dO8EZxZfPSTA9jvDDK3mT0OmP1FXh3XwEEAKdTX5MRWLgjCK4pwH3xt/YnjgLHAv4lHTCAKMMu/wV+KZGob6PoKyMQ0+sgBpZVJZn0NterxQaVqef/DRn+/EXYds/mZx2eVeAW9d65dhCEsaKCb7K8HH0gqTevyh9GDkn0VULRiaLzJKGBu9swfdaiie5RVo9ESURN8E8BE0n7ggACJy8KzghSCzp6DmwWxkaCm24EBXr8wI8Hrkq06QBiRC0t24HALS11IBTCyJl4vb1AXmzpbVYTwoVOXN0h7L8Mwtm8bXPybIQ/5FCX3dA2cr6XowvGCA02CvztAnz9+JiZk1AMxG6fEreSoBiPNmoyNnuWiWVzAIAtISO08E6pZi/3N96AIDn4E3h3P8L/wshP+txtEs4JAAAAABJRU5ErkJggg==);background-repeat:no-repeat}.cesium-viewer{font-family:sans-serif;font-size:16px;overflow:hidden;display:block;position:relative;top:0;left:0;width:100%;height:100%}.cesium-viewer-cesiumWidgetContainer{width:100%;height:100%}.cesium-viewer-bottom{display:block;position:absolute;bottom:0;left:0;padding-right:5px}.cesium-viewer .cesium-widget-credits{display:inline;position:static;bottom:auto;left:auto;padding-right:0;color:#fff;font-size:10px;text-shadow:0 0 2px #000000}.cesium-viewer-timelineContainer{position:absolute;bottom:0;left:169px;right:29px;height:27px;padding:0;margin:0;overflow:hidden;font-size:14px}.cesium-viewer-animationContainer{position:absolute;bottom:0;left:0;padding:0;width:169px;height:112px}.cesium-viewer-fullscreenContainer,.cesium-viewer-vrContainer{position:absolute;bottom:0;right:0;padding:0;width:29px;height:29px;overflow:hidden}.cesium-viewer-toolbar{display:block;position:absolute;top:5px;right:5px}.cesium-viewer-cesiumInspectorContainer{display:block;position:absolute;top:50px;right:10px}.cesium-viewer-geocoderContainer{position:relative;display:inline-block;margin:0 3px}.cesium-viewer-cesium3DTilesInspectorContainer,.cesium-viewer-voxelInspectorContainer{display:block;position:absolute;top:50px;right:10px;max-height:calc(100% - 120px);box-sizing:border-box;overflow-y:auto;overflow-x:hidden}.cesium-viewer-i3s-explorer ul{list-style-type:none}.cesium-viewer-i3s-explorer .layersList{padding:0}.cesium-viewer-i3s-explorer input{margin:0 3px 0 0}.cesium-viewer-i3s-explorer .expandItem{cursor:pointer;-webkit-user-select:none;user-select:none;width:20px}.cesium-viewer-i3s-explorer .nested,.cesium-viewer-i3s-explorer #bsl-wrapper{display:none}.cesium-viewer-i3s-explorer .active{display:block}.cesium-viewer-i3s-explorer .li-wrapper{display:flex;flex-direction:row;align-content:center}.sparkline-container{width:100%;border-radius:4px;overflow:hidden;margin-top:4px}.sparkline-loading{width:100%;background:#ffffff08;border-radius:4px;animation:sparklinePulse 1.5s ease-in-out infinite}@keyframes sparklinePulse{0%,to{opacity:.3}50%{opacity:.6}}.sensor-popup-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:10000;animation:fadeIn .2s ease-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.sensor-popup-card{background:#1f2937;border-radius:12px;box-shadow:0 20px 40px #0006;min-width:320px;max-width:400px;color:#f3f4f6;animation:slideUp .2s ease-out;border:1px solid rgba(255,255,255,.1)}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.sensor-popup-header{display:flex;align-items:flex-start;justify-content:space-between;padding:16px;border-bottom:1px solid rgba(255,255,255,.1)}.sensor-popup-title h3{margin:0 0 4px;font-size:18px;font-weight:600;color:#fff}.sensor-popup-type{font-size:12px;color:#9ca3af}.sensor-popup-close{background:transparent;border:none;color:#9ca3af;cursor:pointer;padding:4px 8px;font-size:16px;border-radius:4px;transition:all .15s ease}.sensor-popup-close:hover{background:#ffffff1a;color:#fff}.sensor-popup-status-row{display:flex;align-items:center;gap:12px;padding:12px 16px;background:#0003}.sensor-popup-status-badge{padding:4px 12px;border-radius:4px;font-size:11px;font-weight:600;color:#fff;text-transform:uppercase;letter-spacing:.5px}.sensor-popup-alerts{display:flex;align-items:center;gap:6px;color:#fbbf24;font-size:13px}.sensor-popup-alerts i{font-size:12px}.sensor-popup-location{display:flex;align-items:center;gap:8px;padding:12px 16px;color:#9ca3af;font-size:13px;border-bottom:1px solid rgba(255,255,255,.05)}.sensor-popup-location i{color:#60a5fa}.sensor-popup-readings{padding:16px}.sensor-popup-readings h4{margin:0 0 12px;font-size:13px;font-weight:500;color:#9ca3af;text-transform:uppercase;letter-spacing:.5px}.sensor-popup-readings-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.sensor-popup-reading{background:#0003;padding:12px;border-radius:8px;display:flex;flex-direction:column;gap:4px}.reading-label{font-size:11px;color:#9ca3af;text-transform:uppercase;letter-spacing:.3px}.reading-value{font-size:20px;font-weight:600}.reading-unit{font-size:12px;font-weight:400;margin-left:2px;opacity:.7}.sensor-popup-no-data{color:#6b7280;font-size:13px;font-style:italic;margin:0}.sensor-popup-timestamp{display:flex;align-items:center;gap:8px;padding:12px 16px;color:#6b7280;font-size:12px;border-top:1px solid rgba(255,255,255,.05)}.sensor-popup-timestamp i{font-size:11px}.sensor-popup-container-status{display:flex;align-items:center;gap:8px;padding:8px 16px;color:#9ca3af;font-size:12px}.sensor-popup-container-status i{color:#60a5fa}.sensor-popup-actions{display:flex;gap:8px;padding:16px;border-top:1px solid rgba(255,255,255,.1)}.sensor-popup-action-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:8px;padding:10px 16px;border:none;border-radius:8px;font-size:13px;font-weight:500;cursor:pointer;transition:all .15s ease;background:#ffffff1a;color:#f3f4f6}.sensor-popup-action-btn:hover{background:#ffffff26}.sensor-popup-action-btn.primary{background:#3b82f6;color:#fff}.sensor-popup-action-btn.primary:hover{background:#2563eb}.sensor-filter-bar{display:flex;flex-direction:column;gap:0}.sensor-filter-header{display:flex;align-items:center;gap:8px;padding:2px 0}.sensor-filter-toggle{position:relative;background:transparent;border:none;color:#9ca3af;cursor:pointer;padding:4px 6px;border-radius:4px;font-size:13px;transition:all .15s ease}.sensor-filter-toggle:hover,.sensor-filter-toggle.active{color:#60a5fa;background:#60a5fa1a}.sensor-filter-badge{position:absolute;top:-4px;right:-6px;background:#3b82f6;color:#fff;font-size:9px;font-weight:700;min-width:14px;height:14px;border-radius:7px;display:flex;align-items:center;justify-content:center;padding:0 3px}.sensor-filter-count{font-size:12px;color:#9ca3af;white-space:nowrap}.sensor-filter-clear{background:transparent;border:none;color:#6b7280;cursor:pointer;padding:2px 4px;font-size:11px;border-radius:3px;transition:all .15s ease}.sensor-filter-clear:hover{color:#ef4444;background:#ef44441a}.sensor-filter-panel{margin-top:6px;padding-top:8px;border-top:1px solid rgba(255,255,255,.06);animation:filterSlideDown .15s ease-out;min-width:200px}@keyframes filterSlideDown{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.sensor-filter-search{display:flex;align-items:center;gap:6px;background:#0000004d;border-radius:6px;padding:6px 8px;margin-bottom:8px;border:1px solid rgba(255,255,255,.05)}.sensor-filter-search i{color:#6b7280;font-size:11px}.sensor-filter-search input{background:transparent;border:none;outline:none;color:#f3f4f6;font-size:12px;width:100%}.sensor-filter-search input::placeholder{color:#4b5563}.sensor-filter-search-clear{background:transparent;border:none;color:#6b7280;cursor:pointer;padding:0 2px;font-size:10px}.sensor-filter-search-clear:hover{color:#ef4444}.sensor-filter-group{margin-bottom:6px}.sensor-filter-group:last-child{margin-bottom:0}.sensor-filter-group-label{display:block;font-size:10px;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.5px;margin-bottom:4px}.sensor-filter-chips{display:flex;flex-wrap:wrap;gap:4px}.sensor-filter-chip{display:flex;align-items:center;gap:4px;padding:3px 8px;border-radius:4px;border:1px solid rgba(255,255,255,.1);background:#ffffff08;color:#9ca3af;font-size:11px;cursor:pointer;transition:all .15s ease;white-space:nowrap}.sensor-filter-chip:hover{background:#ffffff14;color:#f3f4f6}.sensor-filter-chip.active{background:#3b82f633;border-color:#3b82f666;color:#60a5fa}.sensor-filter-status-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.cluster-list-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:10000;animation:clusterFadeIn .15s ease-out}@keyframes clusterFadeIn{0%{opacity:0}to{opacity:1}}.cluster-list-card{background:#1f2937;border-radius:12px;box-shadow:0 20px 40px #0006;min-width:340px;max-width:420px;max-height:70vh;display:flex;flex-direction:column;color:#f3f4f6;animation:clusterSlideUp .2s ease-out;border:1px solid rgba(255,255,255,.1)}@keyframes clusterSlideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.cluster-list-header{display:flex;align-items:center;justify-content:space-between;padding:16px;border-bottom:1px solid rgba(255,255,255,.1)}.cluster-list-title{display:flex;align-items:center;gap:10px}.cluster-list-title i{color:#60a5fa;font-size:16px}.cluster-list-title h3{margin:0;font-size:15px;font-weight:600;color:#fff}.cluster-list-close{background:transparent;border:none;color:#9ca3af;cursor:pointer;padding:4px 8px;font-size:14px;border-radius:4px;transition:all .15s ease}.cluster-list-close:hover{background:#ffffff1a;color:#fff}.cluster-list-items{overflow-y:auto;padding:8px}.cluster-list-item{display:flex;align-items:center;gap:10px;width:100%;padding:12px;background:transparent;border:1px solid transparent;border-radius:8px;cursor:pointer;color:#f3f4f6;text-align:left;transition:all .15s ease}.cluster-list-item:hover{background:#3b82f61a;border-color:#3b82f633}.cluster-list-status-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.cluster-list-item-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.cluster-list-item-name{font-size:14px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cluster-list-item-meta{font-size:11px;color:#9ca3af}.cluster-list-item-status{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;padding:3px 8px;border-radius:4px;flex-shrink:0}.cluster-list-item-status.normal{color:#22c55e;background:#22c55e1a}.cluster-list-item-status.warning{color:#eab308;background:#eab3081a}.cluster-list-item-status.critical{color:#ef4444;background:#ef44441a}.cluster-list-item-status.offline{color:#6b7280;background:#6b72801a}.cluster-list-arrow{color:#4b5563;font-size:11px;flex-shrink:0;transition:color .15s ease}.cluster-list-item:hover .cluster-list-arrow{color:#60a5fa}.cesium-viewer{width:100%;height:100%;position:relative;background:var(--dark-bg, #1a1a1a);overflow:hidden;border-radius:var(--radius-lg, 12px)}.cesium-loading{display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--dark-bg, #1a1a1a) 0%,var(--darker-bg, #0f0f0f) 100%);color:var(--text-color, #ffffff)}.cesium-loading-content{text-align:center;display:flex;flex-direction:column;align-items:center;gap:1rem}.cesium-loading-spinner{width:50px;height:50px;border:3px solid var(--card-border, rgba(255, 255, 255, .08));border-top:3px solid var(--primary-color, #0079c1);border-radius:50%;animation:cesium-spin 1s linear infinite}@keyframes cesium-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.cesium-loading-content p{color:var(--text-secondary, #a0a0a0);font-size:.9rem;margin:0}.cesium-error{display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--dark-bg, #1a1a1a) 0%,var(--darker-bg, #0f0f0f) 100%);color:var(--text-color, #ffffff)}.cesium-error-content{text-align:center;max-width:400px;padding:2rem;background:var(--card-bg, rgba(255, 255, 255, .05));border:1px solid var(--card-border, rgba(255, 255, 255, .08));border-radius:var(--radius-xl, 16px);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.cesium-error-icon{font-size:3rem;margin-bottom:1rem}.cesium-error-content h3{color:var(--error-color, #ff3d00);margin:0 0 1rem;font-size:1.2rem;font-weight:var(--font-weight-semibold, 600)}.cesium-error-content p{color:var(--text-secondary, #a0a0a0);margin:0 0 1.5rem;font-size:.9rem;line-height:1.5}.cesium-retry-button{background:var(--primary-color, #0079c1);color:#fff;border:none;padding:.75rem 1.5rem;border-radius:var(--radius-md, 8px);font-size:.9rem;font-weight:var(--font-weight-medium, 500);cursor:pointer;transition:all .2s ease}.cesium-retry-button:hover{background:var(--primary-hover, #005a8e);transform:translateY(-1px);box-shadow:var(--shadow-md)}.cesium-viewer .cesium-widget-credits{display:none!important}.cesium-viewer .cesium-toolbar-button{background:var(--card-bg, rgba(255, 255, 255, .05))!important;border:1px solid var(--card-border, rgba(255, 255, 255, .08))!important;color:var(--text-color, #ffffff)!important;border-radius:var(--radius-md, 8px)!important}.cesium-viewer .cesium-toolbar-button:hover{background:var(--primary-color, #0079c1)!important;box-shadow:var(--shadow-md)!important}.cesium-viewer .cesium-baseLayerPicker-dropDown{background:var(--card-bg, rgba(255, 255, 255, .05))!important;border:1px solid var(--card-border, rgba(255, 255, 255, .08))!important;-webkit-backdrop-filter:blur(10px)!important;backdrop-filter:blur(10px)!important}.cesium-viewer .cesium-baseLayerPicker-item{background:transparent!important;color:var(--text-color, #ffffff)!important;border-radius:var(--radius-sm, 6px)!important;margin:2px!important}.cesium-viewer .cesium-baseLayerPicker-item:hover{background:var(--primary-color, #0079c1)!important}.cesium-viewer .cesium-infoBox{background:var(--card-bg, rgba(255, 255, 255, .05))!important;border:1px solid var(--card-border, rgba(255, 255, 255, .08))!important;color:var(--text-color, #ffffff)!important;-webkit-backdrop-filter:blur(10px)!important;backdrop-filter:blur(10px)!important;border-radius:var(--radius-lg, 12px)!important}.cesium-viewer .cesium-infoBox-title{background:var(--primary-color, #0079c1)!important;color:#fff!important}.cesium-viewer .cesium-widget{outline:none}@media (max-width: 768px){.cesium-viewer{border-radius:0}.cesium-error-content{max-width:90%;padding:1.5rem}.cesium-loading-spinner{width:40px;height:40px}.cesium-viewer .cesium-sceneModePicker-wrapper,.cesium-viewer .cesium-baseLayerPicker-wrapper{display:none!important}}@media (prefers-color-scheme: dark){.cesium-viewer{background:var(--darker-bg, #0f0f0f)}}@media (-webkit-min-device-pixel-ratio: 2),(min-resolution: 192dpi){.cesium-loading-spinner{border-width:2px}}.cesium-retry-button:focus{outline:2px solid var(--primary-light, #4da7d9);outline-offset:2px}.cesium-viewer{transition:opacity .3s ease}.cesium-viewer.cesium-loading{opacity:.8}.cesium-loading-content{animation:cesium-fade-in .5s ease}@keyframes cesium-fade-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.cesium-wrapper,.cesium-wrapper #cesiumContainer{width:100%!important;height:100%!important;position:absolute!important;inset:0!important;overflow:visible!important;background:#1a1a1a;pointer-events:auto!important}.map-container .cesium-wrapper{width:100%!important;height:100%!important;position:absolute!important;inset:0!important}.cesium-wrapper .cesium-widget{width:100%!important;height:100%!important;position:absolute!important;top:0!important;left:0!important;border:none!important;margin:0!important;padding:0!important;pointer-events:auto!important}.cesium-wrapper .cesium-widget canvas{width:100%!important;height:100%!important;position:absolute!important;top:0!important;left:0!important;display:block!important;pointer-events:auto!important;cursor:grab!important}.cesium-wrapper .cesium-widget canvas:active{cursor:grabbing!important}.map-container{position:fixed;top:70px;left:calc(var(--sidebar-width) + var(--left-dock-width, 0px));right:0;bottom:0;background-color:#1a1a1a;transition:left .3s cubic-bezier(.4,0,.2,1);z-index:1;overflow:visible}.map-container.map-container-collapsed{left:var(--left-dock-width, 0px)}.basemap-panel{position:absolute;top:60px;right:20px;background:#0f0f0ff2;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.1);border-radius:8px;padding:12px;z-index:1000;min-width:200px;box-shadow:0 4px 20px #0000004d}.layers-panel{position:absolute;top:60px;right:20px;background:#0f0f0ff2;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.1);border-radius:8px;padding:12px;z-index:1000;min-width:250px;box-shadow:0 4px 20px #0000004d}.layers-panel h4{margin:0 0 12px;color:#fff;font-size:14px;display:flex;align-items:center;gap:8px}.layer-item{display:flex;align-items:center;gap:12px;padding:8px 12px;color:#fff;cursor:pointer;border-radius:4px;transition:all .3s ease;margin-bottom:4px}.layer-item:hover{background:#ffffff1a}.layer-item input[type=checkbox]{accent-color:#0079c1}.layer-item i{width:16px;text-align:center}.measurement-panel{position:absolute;top:60px;right:20px;background:#0f0f0ff2;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.1);border-radius:8px;padding:12px;z-index:1000;min-width:200px;box-shadow:0 4px 20px #0000004d}.measurement-option{display:flex;align-items:center;gap:12px;padding:8px 12px;color:#fff;cursor:pointer;border-radius:4px;transition:all .3s ease;margin-bottom:4px}.measurement-option:hover{background:#ffffff1a}.measurement-option i{width:16px;text-align:center;color:#0079c1}@media (max-width: 768px){.basemap-panel,.layers-panel,.measurement-panel{right:10px;top:50px;min-width:180px}}.map-mode-toggle{position:absolute;top:20px;left:20px;z-index:1000}.mode-toggle-btn{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;background:var(--card-bg, rgba(255, 255, 255, .05));border:1px solid var(--card-border, rgba(255, 255, 255, .08));color:var(--text-color, #ffffff);border-radius:var(--radius-lg, 12px);font-size:.9rem;font-weight:var(--font-weight-medium, 500);cursor:pointer;transition:all .3s ease;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:var(--shadow-md);text-transform:uppercase;letter-spacing:.5px;min-width:80px;justify-content:center}.mode-toggle-btn:hover{background:var(--primary-color, #0079c1);transform:translateY(-2px);box-shadow:var(--shadow-lg)}.mode-toggle-btn.active{background:var(--primary-color, #0079c1);border-color:var(--primary-light, #4da7d9);box-shadow:0 0 20px #0079c14d}.mode-toggle-btn i{font-size:1.1rem}.mode-toggle-btn span{font-weight:var(--font-weight-semibold, 600)}@media (max-width: 768px){.map-mode-toggle{top:10px;left:10px}.mode-toggle-btn{padding:.5rem .75rem;font-size:.8rem;min-width:70px}.mode-toggle-btn i{font-size:1rem}}.cesium-wrapper,.cesium-wrapper #cesiumContainer{position:absolute!important;top:0!important;left:0!important;width:100%!important;height:100%!important;overflow:visible!important}.cesium-wrapper .cesium-widget{width:100%!important;height:100%!important;position:absolute!important;top:0!important;left:0!important}.cesium-wrapper .cesium-widget canvas{width:100%!important;height:100%!important;display:block!important}.cesium-wrapper *{box-sizing:border-box}.basemap-option{display:flex;align-items:center;gap:12px;padding:8px 12px;color:#fff;cursor:pointer;border-radius:4px;transition:all .3s ease;margin-bottom:4px}.basemap-option:hover{background:#ffffff1a}.basemap-option.active{background:#0079c14d;border:1px solid rgba(0,121,193,.5)}.basemap-option i{width:16px;text-align:center;color:#0079c1}@media (max-width: 768px){.basemap-panel,.layers-panel,.measurement-panel{right:10px!important;top:50px!important;min-width:180px!important}}.sth-status-bar{position:fixed;top:calc(var(--header-height, 66px) + 12px);left:50%;transform:translate(-50%);z-index:1000;display:flex;align-items:center;gap:10px;padding:10px 16px;background:#0f172aeb;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:1px solid rgba(255,255,255,.1);border-left:3px solid #3b82f6;border-radius:10px;box-shadow:0 8px 32px #0006;color:#e2e8f0;font-size:13px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;animation:sth-slide-down .3s ease-out}@keyframes sth-slide-down{0%{opacity:0;transform:translate(-50%) translateY(-10px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.sth-status-bar i:first-child{color:inherit;font-size:14px}.sth-status-text{font-weight:500}.sth-cancel-btn{background:#ef444426;border:1px solid rgba(239,68,68,.25);border-radius:6px;color:#fca5a5;width:28px;height:28px;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:11px;transition:all .2s;margin-left:4px}.sth-cancel-btn:hover{background:#ef444440;color:#ef4444}.sth-result{font-weight:700;color:#60a5fa}.sth-result-area{color:#a78bfa}.sth-result-distance{color:#fbbf24}.message-toolbar{position:absolute;top:8px;right:8px;display:none;gap:12px;z-index:2;background:#000000d9;padding:8px;border-radius:8px;flex-direction:row;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border:1px solid rgba(255,255,255,.1);min-height:40px;align-items:center}.bot-message:hover .message-toolbar{display:flex}.toolbar-btn{background:#ffffff1a;border:none;color:var(--text-color);padding:8px 16px;border-radius:6px;cursor:pointer;font-size:13px;display:flex;align-items:center;gap:6px;transition:all .2s ease;white-space:nowrap;min-width:100px;justify-content:center;height:36px;position:relative}.toolbar-btn:hover{background:#fff3;transform:translateY(-1px)}.export-dropdown{position:relative;display:inline-block}.export-dropdown:hover .export-menu{display:block}.export-menu{position:absolute;top:calc(100% + 8px);right:0;background:var(--darker-bg);border-radius:8px;box-shadow:0 4px 12px #0000004d;padding:6px;display:none;z-index:1000;min-width:180px;border:1px solid rgba(255,255,255,.1);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.export-option{padding:8px 12px;cursor:pointer;display:flex;align-items:center;gap:8px;border-radius:4px}.export-option:hover{background:#ffffff1a}.spatial-context-panel{background:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--radius-xl);margin:var(--spacing-lg) 0;max-height:300px;overflow-y:auto;box-shadow:var(--shadow-lg);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);animation:slideDown .4s cubic-bezier(.4,0,.2,1);transition:all .3s cubic-bezier(.4,0,.2,1)}.spatial-context-panel:hover{border-color:#0079c166;box-shadow:var(--shadow-xl)}.context-header{display:flex;justify-content:space-between;align-items:center;padding:10px 15px;background:linear-gradient(120deg,var(--primary-color),#005a8e 80%);color:var(--text-color);font-weight:500;border-radius:8px 8px 0 0;position:sticky;top:0;z-index:1}.context-content{padding:10px 15px}.context-item{background:#ffffff08;border:1px solid rgba(255,255,255,.08);border-radius:var(--radius-md);padding:var(--spacing-md);margin-bottom:var(--spacing-md);border-left:3px solid var(--primary-color);transition:all .3s cubic-bezier(.4,0,.2,1);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.context-item:hover{background:#ffffff0f;border-color:#ffffff1f;border-left-color:var(--primary-light);transform:translate(4px)}.context-item-title{font-weight:500;margin-bottom:5px;color:var(--primary-color)}.context-item-property{display:flex;margin:3px 0;font-size:13px}.property-name{font-weight:500;min-width:100px;color:var(--text-secondary);text-transform:capitalize}.property-value{flex:1}.close-context{background:none;border:none;color:#ffffffb3;cursor:pointer;padding:5px;border-radius:50%;width:24px;height:24px;display:flex;align-items:center;justify-content:center;transition:all .2s}.close-context:hover{background-color:#ffffff1a;color:#fff}@keyframes slideDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.paginated-table-container{position:relative;margin:15px 0}.visualize-btn{position:absolute;top:-35px;right:0;background:var(--primary-color);color:#fff;border:none;border-radius:4px;padding:5px 10px;cursor:pointer;font-size:12px;display:flex;align-items:center;gap:5px;z-index:2}.paginated-table{width:100%;border-collapse:collapse}.auto-chart{background:transparent;border:none;border-radius:6px;padding:4px 0;margin:0}.auto-chart-toolbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.auto-chart-title{font-weight:600;color:#ddd;font-size:13px}.auto-chart-modes{display:flex;gap:6px;align-items:center}.auto-chart-modes .mode-btn{background:#ffffff0f;border:1px solid rgba(255,255,255,.12);color:#ddd;border-radius:4px;padding:4px 6px;font-size:12px;cursor:pointer;transition:all .2s ease}.auto-chart-modes .mode-btn:hover{background:#ffffff1a;border-color:#fff3}.auto-chart-modes .mode-btn.active{background:#4a90e24d;border-color:#4a90e299;color:#fff}.auto-chart-modes select{background:#ffffff0f;border:1px solid rgba(255,255,255,.12);color:#ddd;border-radius:4px;padding:3px 6px;font-size:11px}.auto-chart-stats{display:flex;gap:10px;margin:4px 0 6px;color:#999;font-size:11px}.auto-chart-canvas{height:200px}.structured-message{padding:0;font-family:Roboto,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;color:#fff!important}.structured-message *,.structured-message p,.structured-message div,.structured-message span,.structured-message text,.structured-message li,.structured-message ul,.structured-message ol{color:#fff!important}.message-summary{background:linear-gradient(135deg,#0079c1,#005a8e,#00c853);color:#fff;padding:20px;border-radius:12px;margin-bottom:20px;box-shadow:0 4px 16px #0079c14d;border:1px solid rgba(255,255,255,.1)}.message-summary h3{margin:0 0 12px;font-size:1.2rem;font-weight:600;display:flex;align-items:center;gap:8px}.message-summary p{margin:0;font-size:.95rem;line-height:1.5;opacity:.95}.buildings-grid{margin-bottom:20px}.buildings-grid h4{color:#fff;margin:0 0 16px;font-size:1.1rem;font-weight:600;padding-bottom:8px;border-bottom:2px solid rgba(255,255,255,.2)}.building-card{background:#0006!important;border:1px solid rgba(255,255,255,.2)!important;border-radius:12px;padding:20px;margin-bottom:16px;box-shadow:0 2px 8px #00000080;transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);color:#fff!important}.building-card:hover{transform:translateY(-2px);box-shadow:0 4px 16px #0079c166;border-color:#0079c1!important;background:#0009!important}.building-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,#0079c1,#00c853)}.building-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:16px}.building-name{display:flex;align-items:center;gap:10px;flex:1}.building-name i{color:#0079c1;font-size:1.1rem}.building-name span{font-weight:600;font-size:1rem;color:#fff;line-height:1.3}.building-rank{background:linear-gradient(135deg,#0079c1,#00c853);color:#fff;padding:4px 12px;border-radius:20px;font-size:.85rem;font-weight:600;min-width:32px;text-align:center}.building-stats{display:grid;gap:12px;margin-bottom:16px}.stat{display:flex;justify-content:space-between;align-items:center;padding:8px 0;border-bottom:1px solid rgba(255,255,255,.1)}.stat:last-child{border-bottom:none}.stat-label{font-size:.9rem;color:#fff!important;font-weight:500;opacity:.9}.stat-value{font-weight:600;font-size:.95rem}.co2-value{color:#ff3d00;background:#ff3d001a;padding:4px 8px;border-radius:6px;font-family:Courier New,monospace;border:1px solid rgba(255,61,0,.2)}.location-value{color:#0cf;background:#00ccff1a;padding:4px 8px;border-radius:6px;font-family:Courier New,monospace;font-size:.85rem;border:1px solid rgba(0,204,255,.2)}.data-value{color:gold;background:#ffd7001a;padding:4px 8px;border-radius:6px;font-family:Courier New,monospace;border:1px solid rgba(255,215,0,.2)}.building-actions{display:flex;gap:8px}.show-on-map-btn{background:linear-gradient(135deg,#00c853,#0079c1);color:#fff;border:none;padding:10px 16px;border-radius:8px;font-size:.9rem;font-weight:500;cursor:pointer;display:flex;align-items:center;gap:8px;transition:all .3s cubic-bezier(.4,0,.2,1);flex:1;justify-content:center;box-shadow:0 2px 8px #00c8534d}.show-on-map-btn:hover{background:linear-gradient(135deg,#00a843,#005a8e);transform:translateY(-1px);box-shadow:0 4px 16px #00c85380}.show-on-map-btn:disabled{background:linear-gradient(135deg,#6c757d,#495057)!important;cursor:not-allowed;opacity:.6;transform:none!important;box-shadow:0 2px 8px #6c757d4d}.show-on-map-btn:disabled:hover{transform:none!important;box-shadow:0 2px 8px #6c757d4d!important}.show-on-map-btn:active{transform:translateY(0)}.show-on-map-btn i{font-size:.9rem}.raw-data-toggle{margin-top:20px;padding-top:20px;border-top:1px solid rgba(255,255,255,.1)}.toggle-btn{background:#ffffff0d;color:#a0a0a0;border:1px solid rgba(255,255,255,.1);padding:8px 16px;border-radius:6px;font-size:.85rem;cursor:pointer;display:flex;align-items:center;gap:8px;transition:all .3s ease;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.toggle-btn:hover{background:#ffffff14;border-color:#fff3;color:#fff}.raw-data-content{margin-top:12px;background:#1a202c;color:#e2e8f0;padding:16px;border-radius:8px;font-family:Courier New,monospace;font-size:.8rem;line-height:1.4;overflow-x:auto;max-height:300px;overflow-y:auto}.raw-data-content pre{margin:0;white-space:pre-wrap;word-wrap:break-word}.message-content-wrapper{line-height:1.6;color:#fff!important}.message-content-wrapper *,.message-content-wrapper p,.message-content-wrapper div,.message-content-wrapper span,.message-content-wrapper li,.message-content-wrapper ul,.message-content-wrapper ol,.message-content-wrapper strong,.message-content-wrapper em,.message-content-wrapper b,.message-content-wrapper i,.table-container *,.table-container p,.table-container div,.table-container span,[class*=message] *{color:#fff!important}.structured-message .building-card,.buildings-grid .building-card{background:#0006!important;border:1px solid rgba(255,255,255,.2)!important;color:#fff!important}.structured-message .building-card:hover,.buildings-grid .building-card:hover{background:#0009!important;border-color:#0079c1!important}@media (max-width: 768px){.building-header{flex-direction:column;gap:12px;align-items:flex-start}.building-rank{align-self:flex-end}.stat{flex-direction:column;align-items:flex-start;gap:4px}.building-actions{flex-direction:column}}.message-accordion{display:flex;flex-direction:column;gap:8px}.table-section,.chart-section,.sql-section,.technical-details-section{margin:6px 0}.accordion-toggle-btn{width:100%;padding:8px 12px;background:#ffffff0a;border:1px solid rgba(255,255,255,.1);border-radius:6px;color:#ddd;font-size:13px;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;gap:8px;margin-top:6px}.accordion-toggle-btn:hover{background:#0079c126;border-color:#0079c14d;color:#fff}.accordion-toggle-btn i{font-size:11px}.accordion-badge{display:inline-flex;align-items:center;gap:8px;padding:8px 16px;background:#0079c126;border:1px solid rgba(0,121,193,.3);border-radius:20px;color:#4a90e2;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s ease;margin:4px 0}.accordion-badge:hover{background:#0079c140;border-color:#0079c180;transform:translateY(-1px);box-shadow:0 2px 8px #0079c133}.accordion-badge i{font-size:12px}.chart-expanded,.sql-expanded,.technical-details-expanded{border:1px solid rgba(255,255,255,.1);border-radius:8px;padding:8px;background:#0003;animation:slideDown .3s ease}.chart-header,.sql-header,.technical-details-header{display:flex;justify-content:space-between;align-items:center;padding:6px 8px;border-bottom:1px solid rgba(255,255,255,.1);margin-bottom:8px}.chart-header span,.sql-header span,.technical-details-header span{font-size:13px;font-weight:600;color:#ddd;display:flex;align-items:center;gap:8px}.technical-details-content{color:#ddd;font-size:13px;line-height:1.6;padding:8px}.technical-details-content h2,.technical-details-content h3,.technical-details-content h4,.technical-details-content h5{color:#4a90e2;margin:12px 0 8px;font-size:14px;font-weight:600}.technical-details-content pre,.technical-details-content code{background:#0006;padding:8px 12px;border-radius:4px;font-family:Courier New,monospace;font-size:12px;overflow-x:auto;display:block;margin:8px 0}.technical-details-content ul,.technical-details-content ol{margin:8px 0;padding-left:24px}.technical-details-content li{margin:4px 0}.close-btn{background:transparent;border:none;color:#999;cursor:pointer;padding:4px 8px;border-radius:4px;transition:all .2s ease;font-size:14px}.close-btn:hover{background:#ffffff1a;color:#fff}.table-container{margin:12px 0;overflow-x:auto}.response-table{width:100%;border-collapse:collapse;background:#ffffff0d;border-radius:8px;overflow:hidden;box-shadow:0 2px 8px #0003;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.1)}.response-table thead{background:linear-gradient(135deg,#0079c1,#005a8e)}.response-table th{padding:10px 12px;text-align:left;font-weight:600;color:#fff;font-size:12px;border-bottom:2px solid rgba(255,255,255,.2);position:sticky;top:0;z-index:1}.response-table td{padding:8px 10px;border-bottom:1px solid rgba(255,255,255,.1);color:#fff!important;font-size:12px;font-weight:500;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;text-shadow:0 1px 2px rgba(0,0,0,.5)}.response-table tbody tr{transition:all .2s ease}.response-table tbody tr:hover{background:#0079c11a}.response-table tbody tr:nth-child(2n){background:#ffffff05}.response-table tbody tr:nth-child(odd){background:#ffffff0d}.response-table td *,.response-table th *{color:#fff!important}.response-table td p,.response-table td span,.response-table td div{color:#fff!important;margin:0}@media (max-width: 768px){.table-container{margin:10px -15px}.response-table{font-size:12px}.response-table th,.response-table td{padding:8px 12px}}@media (prefers-color-scheme: light){.structured-message{color:#2d3748}.buildings-grid h4{color:#2d3748;border-bottom-color:#e2e8f0}.building-card{background:#fff;border-color:#e2e8f0;color:#2d3748}.building-name span{color:#2d3748}.stat{border-bottom-color:#f7fafc}.stat-label{color:#718096}.message-content-wrapper{color:#2d3748}.response-table{background:#fff;border-color:#e2e8f0}.response-table th{color:#fff}.response-table td{color:#2d3748;border-bottom-color:#e2e8f0}}.table-map-button{background:linear-gradient(135deg,#0079c1,#005a8e);border:none;color:#fff;padding:.4rem .8rem;border-radius:4px;cursor:pointer;font-size:.75rem;font-weight:500;display:inline-flex;align-items:center;gap:.3rem;transition:all .2s ease;box-shadow:0 2px 4px #0000001a}.table-map-button:hover{background:linear-gradient(135deg,#005a8e,#004d6b);transform:translateY(-1px);box-shadow:0 4px 8px #0003}.table-map-button:active{transform:translateY(0);box-shadow:0 2px 4px #0000001a}.table-map-button i{font-size:.7rem}.response-table th:last-child,.response-table td:last-child{text-align:center!important;vertical-align:middle!important;min-width:120px!important;padding:8px 12px!important}.gee-discovery-progress{background:linear-gradient(135deg,#677eea14,#764ba214);border-left:3px solid #667eea;border-radius:8px;padding:16px;margin:12px 0;font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;box-shadow:0 2px 8px #0000000d}.progress-header{display:flex;align-items:center;gap:8px;font-weight:600;color:#4a5568;margin-bottom:16px;font-size:14px}.progress-header svg{color:#667eea}.progress-phase{display:flex;gap:12px;margin-bottom:12px;padding:12px;border-radius:6px;background:#fff;border:1px solid #e2e8f0;transition:all .3s ease}.progress-phase.complete{border-color:#48bb78;background:#48bb780d}.progress-phase.active{border-color:#667eea;background:#667eea0d;animation:pulse 2s ease-in-out infinite}.progress-phase.pending{opacity:.6}@keyframes pulse{0%,to{box-shadow:0 0 #667eea33}50%{box-shadow:0 0 0 4px #667eea00}}.phase-icon{flex-shrink:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:#f7fafc;color:#a0aec0}.progress-phase.complete .phase-icon{background:#48bb781a}.progress-phase.active .phase-icon{background:#667eea1a}.phase-number{font-weight:700;font-size:14px;color:#4a5568}.phase-icon .success{color:#48bb78}.spin{animation:spin 1s linear infinite;color:#667eea}.phase-content{flex:1}.phase-title{font-weight:600;color:#2d3748;font-size:13px;margin-bottom:8px;display:flex;align-items:center;gap:8px}.phase-badge{display:inline-flex;align-items:center;padding:2px 8px;background:#667eea;color:#fff;border-radius:12px;font-size:11px;font-weight:600;margin-left:auto}.phase-badge.badge-database{background:#48bb78}.phase-badge.badge-hybrid{background:linear-gradient(135deg,#48bb78,#667eea)}.phase-badge.badge-llm{background:#667eea}.phase-badge.badge-scraping{background:#ed8936}.phase-details{margin-top:8px;padding-left:4px}.phase-details.empty{color:#a0aec0;font-size:12px;font-style:italic}.dataset-match{display:flex;align-items:flex-start;gap:8px;padding:6px 0;font-size:12px;color:#4a5568}.match-rank{font-weight:700;color:#667eea;font-size:11px;min-width:24px;flex-shrink:0;padding-top:2px}.match-name{flex:1;font-weight:500;overflow-wrap:break-word;word-wrap:break-word;-webkit-hyphens:auto;hyphens:auto;line-height:1.4;min-width:0}.match-score{font-weight:600;color:#48bb78;background:#48bb781a;padding:2px 6px;border-radius:8px;font-size:11px;flex-shrink:0;align-self:flex-start}.dataset-recommended{display:flex;align-items:flex-start;gap:8px;padding:6px 8px;margin:4px 0;background:#667eea0d;border-radius:4px;font-size:12px}.dataset-recommended svg{color:#667eea;flex-shrink:0;margin-top:2px}.dataset-id{font-family:Monaco,Menlo,Courier New,monospace;font-size:11px;color:#2d3748;font-weight:500;flex:1;overflow-wrap:break-word;word-wrap:break-word;line-height:1.4;min-width:0}.dataset-scraped{display:flex;align-items:flex-start;gap:8px;padding:6px 8px;margin:4px 0;background:#ed89360d;border-radius:4px;border:1px solid rgba(237,137,54,.2);font-size:12px}.dataset-scraped svg{color:#ed8936;flex-shrink:0;margin-top:2px}.scraped-tag{background:#ed8936;color:#fff;padding:2px 6px;border-radius:8px;font-size:10px;font-weight:700;margin-left:auto;flex-shrink:0;align-self:flex-start}.progress-summary{margin-top:12px;padding:10px 12px;background:linear-gradient(135deg,#48bb7814,#667eea14);border-radius:6px;border-left:3px solid #48bb78}.summary-text{font-size:12px;color:#2d3748;font-weight:500;line-height:1.5}@keyframes slideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.progress-phase{animation:slideIn .3s ease-out}@media (max-width: 640px){.gee-discovery-progress{padding:12px}.progress-phase{gap:8px;padding:10px}.phase-icon{width:28px;height:28px}.phase-title{font-size:12px}.dataset-match,.dataset-recommended,.dataset-scraped{font-size:11px}}.chat-container{display:flex;flex-direction:column;height:100%}.chat-messages{flex:1;overflow-y:auto;padding:12px 8px;background-color:#ffffff0d;border-radius:4px;max-width:100%}.message{margin-bottom:12px;padding:12px 16px;border-radius:var(--radius-xl);max-width:90%;font-size:14px;line-height:1.6;position:relative;background:var(--card-bg);border:1px solid var(--card-border);box-shadow:var(--shadow-md);animation:messageFloat .6s cubic-bezier(.23,1.02,.69,1.01);transition:all .3s cubic-bezier(.4,0,.2,1);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.message:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px);border-color:#0079c133}.message-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;font-size:12px;color:var(--text-secondary)}.user-message{background:linear-gradient(135deg,var(--primary-color) 0%,var(--primary-hover) 100%);color:var(--text-color);margin-left:auto;border-radius:var(--radius-xl) var(--radius-xl) var(--radius-sm) var(--radius-xl);font-weight:var(--font-weight-medium);border:1px solid rgba(0,121,193,.3);box-shadow:var(--shadow-md)}.bot-message{background:linear-gradient(135deg,#ffffff14,#ffffff1f);color:var(--text-color);margin-right:auto;border-radius:var(--radius-xl) var(--radius-xl) var(--radius-xl) var(--radius-sm);word-break:break-word;overflow-x:auto;padding:12px 16px;border:1px solid rgba(255,255,255,.15);position:relative;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.bot-message:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:linear-gradient(180deg,var(--primary-color) 0%,var(--success-color) 100%);border-radius:var(--radius-sm)}.chat-input-container{padding:16px;background-color:transparent}.chat-input-form{position:relative;display:flex;flex-direction:column;gap:8px}.attached-files-display{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:8px}.attached-file-chip{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;background:#0079c126;border:1px solid rgba(0,121,193,.3);border-radius:16px;font-size:13px;color:#4a90e2}.attached-file-chip i{font-size:12px}.remove-file-btn{background:none;border:none;color:inherit;cursor:pointer;padding:0;margin-left:4px;opacity:.7;transition:opacity .2s}.remove-file-btn:hover{opacity:1}.input-wrapper{display:flex;align-items:flex-end;gap:8px;background:#ffffff14;border:1px solid rgba(255,255,255,.15);border-radius:24px;padding:8px 12px;transition:all .2s ease}.input-wrapper:focus-within{border-color:#0079c180;box-shadow:0 0 0 3px #0079c11a;background:#ffffff1a}.workflow-selector-wrapper{position:relative;display:flex;align-items:center;gap:8px}.ai-detection-badge{position:absolute;top:-32px;right:0;display:flex;align-items:center;gap:6px;padding:4px 10px;background:linear-gradient(135deg,#667eea,#764ba2);border:1px solid rgba(102,126,234,.5);border-radius:12px;font-size:11px;font-weight:600;color:#fff;box-shadow:0 4px 12px #667eea4d;animation:aiPulse 2s ease-in-out infinite,slideDown .3s ease-out;z-index:10;white-space:nowrap}.ai-detection-badge i{font-size:12px;animation:brainPulse 1.5s ease-in-out infinite}.loading-skeleton{margin-bottom:12px;padding:12px 16px;border-radius:var(--radius-xl);max-width:90%;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);animation:skeletonPulse 1.5s ease-in-out infinite}.skeleton-header{display:flex;gap:8px;margin-bottom:12px}.skeleton-avatar{width:32px;height:32px;border-radius:50%;background:linear-gradient(90deg,#ffffff1a 25%,#fff3,#ffffff1a 75%);background-size:200% 100%;animation:shimmer 1.5s infinite}.skeleton-lines{flex:1}.skeleton-line{height:12px;background:linear-gradient(90deg,#ffffff1a 25%,#fff3,#ffffff1a 75%);background-size:200% 100%;border-radius:4px;margin-bottom:8px;animation:shimmer 1.5s infinite}.skeleton-line:nth-child(1){width:90%}.skeleton-line:nth-child(2){width:80%;animation-delay:.1s}.skeleton-line:nth-child(3){width:70%;animation-delay:.2s}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes skeletonPulse{0%,to{opacity:.6}50%{opacity:.8}}.typing-indicator{display:flex;align-items:center;gap:8px;padding:12px 16px;margin-bottom:12px;max-width:90%;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:var(--radius-xl) var(--radius-xl) var(--radius-xl) var(--radius-sm);animation:messageFloat .6s cubic-bezier(.23,1.02,.69,1.01)}.typing-indicator-label{font-size:13px;color:var(--text-secondary);font-weight:500}.typing-dots{display:flex;gap:4px;align-items:center}.typing-dot{width:8px;height:8px;border-radius:50%;background:var(--primary-color);animation:typingBounce 1.4s infinite}.typing-dot:nth-child(1){animation-delay:0s}.typing-dot:nth-child(2){animation-delay:.2s}.typing-dot:nth-child(3){animation-delay:.4s}@keyframes typingBounce{0%,60%,to{transform:translateY(0);opacity:.7}30%{transform:translateY(-10px);opacity:1}}@keyframes aiPulse{0%,to{box-shadow:0 4px 12px #667eea4d}50%{box-shadow:0 4px 20px #667eea99}}@keyframes brainPulse{0%,to{transform:scale(1)}50%{transform:scale(1.15)}}.plus-menu-container{position:relative}.plus-button{width:32px;height:32px;border-radius:8px;background:#ffffff14;border:none;color:#ddd;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease;flex-shrink:0}.plus-button:hover{background:#ffffff26;color:#fff}.plus-menu-dropdown{position:absolute;bottom:100%;left:0;margin-bottom:8px;min-width:220px;background:#141419fa;border:1px solid rgba(255,255,255,.15);border-radius:12px;padding:6px;box-shadow:0 8px 32px #0006;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);z-index:1000;animation:slideUpFade .2s ease}@keyframes slideUpFade{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.menu-item{width:100%;display:flex;align-items:center;gap:12px;padding:10px 12px;background:none;border:none;border-radius:8px;color:#ddd;font-size:14px;cursor:pointer;transition:all .2s ease;text-align:left}.menu-item:hover:not(:disabled){background:#0079c126;color:#fff}.menu-item:disabled{opacity:.4;cursor:not-allowed}.menu-item i{width:18px;font-size:14px;text-align:center}.menu-divider{height:1px;background:#ffffff1a;margin:4px 0}.menu-item-select{display:flex;align-items:center;gap:12px;padding:8px 12px}.menu-item-select i{width:18px;font-size:14px;text-align:center;color:#999}.mode-select-dropdown{flex:1;background:#ffffff14;border:1px solid rgba(255,255,255,.15);border-radius:6px;padding:6px 8px;color:#ddd;font-size:13px;cursor:pointer}.chat-action-groups{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.action-group{display:inline-flex;gap:8px;align-items:center;padding:6px 8px;border:1px solid var(--card-border);border-radius:10px;background:#ffffff0a;box-shadow:var(--shadow-sm)}.group-label{font-size:12px;opacity:.85;padding:2px 8px;border-right:1px solid var(--card-border);margin-right:6px;display:inline-flex;align-items:center;gap:6px}@media (max-width: 900px){.action-group{width:100%;justify-content:flex-start}}#query-input{flex:1;background:transparent;border:none;color:var(--text-color);font-size:15px;font-weight:400;resize:none;min-height:24px;max-height:150px;overflow-y:auto;line-height:1.5;font-family:inherit;padding:0}#query-input:focus{outline:none}#query-input::placeholder{color:#fff6}.workflow-mode-compact{padding:10px 12px;background:#ffffff0d;border:1px solid rgba(255,255,255,.15);border-radius:8px;color:#ddd;font-size:.9em;cursor:pointer;transition:all .2s ease;min-width:120px}.workflow-mode-compact:hover:not(:disabled){background:#ffffff14;border-color:#0079c166}.workflow-mode-compact:focus{outline:none;border-color:#0079c1;box-shadow:0 0 0 2px #0079c133}.workflow-mode-compact:disabled{opacity:.5;cursor:not-allowed}.workflow-mode-compact option{background:#1a1a1f;color:#fff;padding:8px}.workflow-mode-compact option[value=auto]{font-weight:600}.workflow-mode-compact:has(option[value=auto]:checked){background:linear-gradient(135deg,#667eea26,#764ba226);border-color:#667eea66}.send-button-modern{width:32px;height:32px;border-radius:50%;background:linear-gradient(135deg,#0079c1,#00a0e9);border:none;color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease;flex-shrink:0}.send-button-modern:hover:not(:disabled){background:linear-gradient(135deg,#005a8e,#0079c1);transform:scale(1.05)}.send-button-modern:disabled{opacity:.4;cursor:not-allowed;background:#ffffff1a}.send-button-modern i{font-size:14px}.send-button{background-color:var(--primary-color);color:var(--text-color);border:none;border-radius:50%;width:40px;height:40px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .3s ease;flex-shrink:0}.control-button{background:var(--card-bg);color:var(--text-color);border:1px solid var(--card-border);border-radius:8px;height:36px;padding:0 10px;display:inline-flex;align-items:center;gap:6px;cursor:pointer;transition:all .2s ease}.control-button:hover{border-color:var(--primary-color);box-shadow:0 0 0 2px #0079c126}.attach-btn{min-width:36px;justify-content:center}.ask-attachment-btn{background:linear-gradient(135deg,#0bbf6a,#0a9f58);border:none;color:#fff}.ask-attachment-btn:disabled{opacity:.6;cursor:not-allowed}.mode-select{padding:6px 8px;border-radius:8px;background:#1f2937;color:#fff;border:1px solid #374151}.file-count{font-size:12px;opacity:.8}.send-button:hover{background-color:#0069a3;transform:scale(1.05)}.send-button:active{transform:scale(.95)}.loading{display:flex;text-align:center;padding:15px;color:var(--text-color);background:#ffffff0d;border-radius:15px;margin:10px 0;position:relative;overflow:hidden;justify-content:center;align-items:center}.collapsible-session-list{display:flex;flex-direction:column;gap:4px}.collapsible-section{margin-bottom:8px}.section-header{width:100%;display:flex;align-items:center;gap:8px;padding:10px 12px;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:8px;color:var(--text-color);cursor:pointer;transition:all .2s ease;font-size:13px;font-weight:600}.section-header:hover{background:#ffffff14;border-color:#0078d44d}.section-header i{font-size:10px;color:var(--text-secondary);transition:transform .2s ease}.section-title{flex:1;text-align:left}.session-count-badge{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 6px;background:#0078d426;border:1px solid rgba(0,120,212,.3);border-radius:10px;font-size:11px;font-weight:700;color:var(--primary-color)}.badge-new{display:inline-flex;align-items:center;padding:2px 6px;background:linear-gradient(135deg,#ff6b6b,#ee5a6f);border:1px solid rgba(255,107,107,.5);border-radius:6px;font-size:9px;font-weight:800;color:#fff;text-transform:uppercase;letter-spacing:.5px;box-shadow:0 2px 8px #ff6b6b4d;animation:badgePulse 2s ease-in-out infinite}@keyframes badgePulse{0%,to{box-shadow:0 2px 8px #ff6b6b4d}50%{box-shadow:0 2px 12px #ff6b6b80}}.section-content{margin-top:4px;padding-left:8px;animation:slideDown .3s ease-out}@keyframes slideDown{0%{opacity:0;max-height:0;transform:translateY(-10px)}to{opacity:1;max-height:1000px;transform:translateY(0)}}.session-item{display:flex;align-items:center;gap:8px;padding:10px 12px;margin-bottom:4px;background:#ffffff08;border:1px solid rgba(255,255,255,.08);border-radius:6px;cursor:pointer;transition:all .2s ease}.session-item:hover{background:#ffffff0f;border-color:#0078d44d;transform:translate(4px)}.session-item.active{background:#0078d426;border-color:#0078d480}.session-name{font-size:13px;font-weight:500;color:var(--text-color);margin-bottom:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.session-meta{display:flex;align-items:center;gap:6px;font-size:11px;color:var(--text-secondary);flex-wrap:wrap}.session-meta .dot{opacity:.5}.workflow-tag{display:inline-flex;align-items:center;padding:2px 6px;background:#9c27b026;border:1px solid rgba(156,39,176,.3);border-radius:4px;font-size:10px;font-weight:600;color:#ba68c8}.delete-session-btn{padding:6px 8px;background:transparent;border:none;color:var(--text-secondary);cursor:pointer;border-radius:4px;transition:all .2s ease;opacity:0}.delete-session-btn:hover{background:#ff6b6b33;color:#ff6b6b}.message-search-bar{background:#ffffff08;border-radius:12px;padding:12px;margin-bottom:12px;border:1px solid rgba(255,255,255,.08);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.search-row-compact{display:flex;gap:8px;align-items:center}.search-input-wrapper{flex:1;position:relative}.search-icon{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:#fff6;pointer-events:none}.search-input{width:100%;padding:10px 12px 10px 36px;background:#0000004d!important;border:1px solid rgba(255,255,255,.1);border-radius:8px;color:#fff!important;font-size:14px;transition:all .2s ease}.search-input:focus{outline:none;border-color:#4facfe80;background:#0006;box-shadow:0 0 0 3px #4facfe1a}.search-input::placeholder{color:#ffffff4d}.filter-toggle-btn,.search-btn,.clear-btn{padding:10px 16px;border:none;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:6px;white-space:nowrap}.filter-toggle-btn{background:#ffffff0d;color:#ffffffb3;position:relative}.filter-toggle-btn:hover{background:#ffffff1a;color:#fff}.filter-toggle-btn i.active{color:#4facfe}.filter-badge{position:absolute;top:4px;right:4px;color:#4facfe;font-size:18px;line-height:1}.search-btn{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.search-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #667eea66}.search-btn:disabled{opacity:.5;cursor:not-allowed}.clear-btn{background:#ef444426;color:#ef4444}.clear-btn:hover{background:#ef444440}.advanced-filters-toggle{width:100%;margin-top:12px;padding:10px 16px;background:#4facfe14;border:1px solid rgba(79,172,254,.2);border-radius:8px;color:#fffc;font-size:13px;font-weight:500;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;gap:8px;justify-content:center}.advanced-filters-toggle:hover{background:#4facfe26;border-color:#4facfe66;color:#4facfe}.advanced-filters-toggle .toggle-icon{font-size:14px;transition:transform .3s ease}.search-filters-advanced{margin-top:12px;padding-top:12px;border-top:1px solid rgba(255,255,255,.08);animation:slideDown .3s ease-out;overflow:hidden}@keyframes slideDown{0%{opacity:0;max-height:0;transform:translateY(-10px)}to{opacity:1;max-height:500px;transform:translateY(0)}}.search-filters-expanded{margin-top:12px;padding-top:12px;border-top:1px solid rgba(255,255,255,.08);animation:slideDown .2s ease}.filter-row{display:flex;gap:16px;flex-wrap:wrap}.filter-group{display:flex;flex-direction:column;gap:6px;min-width:200px}.filter-group label{font-size:12px;font-weight:600;color:#fff9;text-transform:uppercase;letter-spacing:.5px}.date-range{display:flex;align-items:center;gap:8px}.date-input{flex:1;padding:8px 12px;background:#0000004d!important;border:1px solid rgba(255,255,255,.1);border-radius:6px;color:#fff!important;font-size:13px;transition:all .2s ease;color-scheme:dark;cursor:pointer}.date-input:valid,.date-input:invalid,.date-input:placeholder-shown{background:#0000004d!important;color:#fff!important}.date-input::-webkit-datetime-edit-text,.date-input::-webkit-datetime-edit-month-field,.date-input::-webkit-datetime-edit-day-field,.date-input::-webkit-datetime-edit-year-field{color:#fff}.date-input::-webkit-calendar-picker-indicator{filter:invert(1);cursor:pointer;opacity:.7;transition:opacity .2s ease}.date-input::-webkit-calendar-picker-indicator:hover{opacity:1}.date-input::-moz-calendar-picker-indicator{filter:invert(1)}.date-input:focus{outline:none;border-color:#4facfe80;box-shadow:0 0 0 3px #4facfe1a}.date-separator{color:#fff6;font-size:13px}.workflow-select{padding:8px 12px;background:#0000004d!important;border:1px solid rgba(255,255,255,.1);border-radius:6px;color:#fff!important;font-size:13px;cursor:pointer;transition:all .2s ease}.workflow-select:focus{outline:none;border-color:#4facfe80;box-shadow:0 0 0 3px #4facfe1a}.workflow-select option{background:#1a1a2e;color:#fff}.checkbox-label{display:flex;align-items:center;gap:8px;cursor:pointer;padding:8px 0}.checkbox-label input[type=checkbox]{width:18px;height:18px;cursor:pointer;accent-color:#4FACFE}.checkbox-label span{color:#fffc;font-size:14px;-webkit-user-select:none;user-select:none}.search-results-info{margin-top:12px;padding:8px 12px;background:#4facfe1a;border-left:3px solid #4FACFE;border-radius:6px;color:#fffc;font-size:13px;display:flex;align-items:center;gap:8px}.search-results-info i{color:#4facfe}.filtered-indicator{color:#4facfe;font-weight:600}@media (max-width: 768px){.search-row-compact{flex-wrap:wrap}.search-input-wrapper{flex:1 1 100%}.filter-row{flex-direction:column}.filter-group{width:100%}.date-range{flex-direction:column;align-items:stretch}.date-separator{text-align:center}}@media (prefers-color-scheme: light){.message-search-bar{background:#00000005;border-color:#0000001a}.search-input,.date-input,.workflow-select{background:#fff;border-color:#00000026;color:#1a1a2e}.search-icon{color:#0006}.filter-toggle-btn{background:#0000000d;color:#000000b3}.filter-toggle-btn:hover{background:#0000001a;color:#000}}.session-switcher{position:relative;margin-bottom:16px}.session-controls{display:flex;gap:8px}.session-dropdown-btn{flex:1;display:flex;align-items:center;padding:10px 14px;background:#ffffff0d;border:1px solid rgba(255,255,255,.12);border-radius:8px;color:#fff;cursor:pointer;transition:all .2s ease;font-size:.95em}.session-dropdown-btn:hover{background:#ffffff14;border-color:#0079c166}.current-session-name{flex:1;text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:250px}.session-count{margin-left:8px;opacity:.6;font-size:.9em}.new-session-btn{padding:10px 16px;background:linear-gradient(135deg,#0079c1,#005a8e);border:none;border-radius:8px;color:#fff;cursor:pointer;transition:all .2s ease;font-size:1.1em}.new-session-btn:hover{background:linear-gradient(135deg,#005a8e,#004570);box-shadow:0 4px 12px #0079c14d}.session-dropdown{position:absolute;top:calc(100% + 8px);left:0;right:0;background:#1a1a1f;border:2px solid #0079c1;border-radius:12px;box-shadow:0 8px 32px #0009;z-index:1100;max-height:500px;display:flex;flex-direction:column;animation:slideDown .2s ease}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.dropdown-header{padding:12px 16px;border-bottom:1px solid rgba(255,255,255,.1);display:flex;justify-content:space-between;align-items:center;font-weight:600;color:#fff}.close-dropdown{background:none;border:none;color:#aaa;cursor:pointer;padding:4px 8px;border-radius:4px;transition:all .2s ease}.close-dropdown:hover{background:#ffffff1a;color:#fff}.session-list{flex:1;overflow-y:auto;max-height:400px}.session-item{display:flex;align-items:center;padding:12px 16px;cursor:pointer;transition:all .2s ease;border-bottom:1px solid rgba(255,255,255,.05)}.session-item:hover{background:#ffffff0d}.session-item.active{background:#0079c126;border-left:3px solid #0079c1}.session-info{flex:1;min-width:0}.session-name{font-weight:500;color:#fff;margin-bottom:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.session-meta{font-size:.8em;color:#888;display:flex;align-items:center;gap:6px;flex-wrap:wrap}.dot{opacity:.5}.workflow-tag{background:#0079c133;padding:2px 6px;border-radius:4px;font-size:.9em}.delete-session-btn{background:none;border:none;color:#666;cursor:pointer;padding:8px;border-radius:6px;transition:all .2s ease;opacity:0}.session-item:hover .delete-session-btn{opacity:1}.delete-session-btn:hover{background:#ef444433;color:#ef4444}.session-loading,.no-sessions{padding:32px 16px;text-align:center;color:#888;display:flex;flex-direction:column;align-items:center;gap:8px}.start-first-btn{margin-top:12px;padding:10px 20px;background:linear-gradient(135deg,#0079c1,#005a8e);border:none;border-radius:8px;color:#fff;cursor:pointer;font-weight:500;transition:all .2s ease}.start-first-btn:hover{background:linear-gradient(135deg,#005a8e,#004570);box-shadow:0 4px 12px #0079c14d}.dropdown-footer{padding:12px 16px;border-top:1px solid rgba(255,255,255,.1)}.new-session-footer-btn{width:100%;padding:10px 16px;background:linear-gradient(135deg,#0079c1,#005a8e);border:none;border-radius:8px;color:#fff;cursor:pointer;font-weight:500;transition:all .2s ease;display:flex;align-items:center;justify-content:center}.new-session-footer-btn:hover{background:linear-gradient(135deg,#005a8e,#004570);box-shadow:0 4px 12px #0079c14d}.search-result-card{background:linear-gradient(135deg,#0f172af2,#1e293bf2);border:1px solid rgba(79,172,254,.2);border-radius:12px;padding:20px;margin-bottom:16px;transition:all .3s ease;box-shadow:0 4px 6px #0000004d;position:relative;overflow:hidden}.search-result-card:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,#4facfe00,#4facfe80,#4facfe00);opacity:0;transition:opacity .3s ease}.search-result-card:hover{border-color:#4facfe80;box-shadow:0 8px 16px #4facfe33;transform:translateY(-2px)}.search-result-card:hover:before{opacity:1}.card-header{display:flex;align-items:center;gap:12px;margin-bottom:16px;flex-wrap:wrap}.session-badge{padding:6px 12px;background:#4facfe1a;border:1px solid rgba(79,172,254,.3);border-radius:8px;font-size:12px;font-weight:500;color:#4facfe;display:flex;align-items:center;gap:6px}.workflow-badge{padding:4px 12px;border-radius:12px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;display:flex;align-items:center;gap:4px}.timestamp{margin-left:auto;font-size:11px;color:#ffffff80;display:flex;align-items:center;gap:4px}.question-section{margin-bottom:16px;padding:12px;background:#3b82f60d;border-left:3px solid #3B82F6;border-radius:8px}.role-label{font-size:11px;font-weight:600;color:#ffffffb3;text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px;display:flex;align-items:center;gap:6px}.question-content{color:#fffffff2;font-size:14px;line-height:1.6;margin:0;white-space:pre-wrap;word-break:break-word}.response-section{padding:12px;background:#10b9810d;border-left:3px solid #10B981;border-radius:8px;margin-bottom:12px}.response-content{color:#ffffffe6;font-size:14px;line-height:1.6}.response-content p{margin:0 0 12px;white-space:pre-wrap;word-break:break-word}.response-content table{width:100%;margin:12px 0;background:#1e293b99!important;border:1px solid rgba(79,172,254,.3)}.response-content table thead{background:#3b82f626!important}.response-content table thead th{background:transparent!important;color:#fffffff2!important;font-weight:600;padding:10px 12px;border-bottom:2px solid rgba(79,172,254,.4)}.response-content table tbody tr{background:transparent!important;border-bottom:1px solid rgba(79,172,254,.1)}.response-content table tbody tr:hover{background:#3b82f614!important}.response-content table tbody td{background:transparent!important;color:#ffffffe6!important;padding:10px 12px}.response-content .message-section{margin:0;padding:0}.response-content .response-table{max-width:100%;overflow-x:auto}.response-content button.expand-btn{margin-top:12px}.no-response{color:#ffffff80;font-style:italic;margin:0}.expand-btn{background:linear-gradient(135deg,#4facfe,#00f2fe);color:#fff;border:none;padding:8px 16px;border-radius:6px;font-size:12px;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 2px 4px #4facfe4d}.expand-btn:hover{transform:translateY(-2px);box-shadow:0 4px 8px #4facfe80;animation:pulse 1.5s infinite}.card-actions{display:flex;gap:8px;align-items:center}.map-action-btn{background:linear-gradient(135deg,#4facfe,#00f2fe);color:#fff;border:none;padding:10px 16px;border-radius:8px;font-size:13px;font-weight:600;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;gap:8px;box-shadow:0 2px 4px #4facfe4d}.map-action-btn:hover{transform:translateY(-2px);box-shadow:0 4px 8px #4facfe80;animation:pulse 1.5s infinite}.map-action-btn i{font-size:14px}.remove-btn{background:linear-gradient(135deg,#ef4444,#dc2626);box-shadow:0 2px 4px #ef44444d}.remove-btn:hover{box-shadow:0 4px 8px #ef444480}@keyframes pulse{0%,to{box-shadow:0 4px 8px #4facfe80}50%{box-shadow:0 4px 16px #4facfecc}}@media (max-width: 768px){.card-header{flex-direction:column;align-items:flex-start}.timestamp{margin-left:0}.card-actions{flex-direction:column;width:100%}.map-action-btn{width:100%;justify-content:center}}.search-results-threaded{padding:20px;max-height:calc(100vh - 200px);overflow-y:auto;overflow-x:hidden}.search-results-threaded::-webkit-scrollbar{width:8px}.search-results-threaded::-webkit-scrollbar-track{background:#0f172a80;border-radius:4px}.search-results-threaded::-webkit-scrollbar-thumb{background:#4facfe4d;border-radius:4px;transition:background .3s ease}.search-results-threaded::-webkit-scrollbar-thumb:hover{background:#4facfe80}.results-header{margin-bottom:20px;padding-bottom:16px;border-bottom:1px solid rgba(79,172,254,.2);display:flex;align-items:center;gap:16px;flex-wrap:wrap}.back-to-chat-btn{background:linear-gradient(135deg,#4facfe26,#00f2fe26);border:1px solid rgba(79,172,254,.4);color:#4facfe;padding:10px 18px;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;gap:8px;box-shadow:0 2px 4px #4facfe33}.back-to-chat-btn:hover{background:linear-gradient(135deg,#4facfe40,#00f2fe40);border-color:#4facfe99;transform:translate(-2px);box-shadow:0 4px 8px #4facfe66}.back-to-chat-btn i{font-size:12px;transition:transform .3s ease}.back-to-chat-btn:hover i{transform:translate(-3px)}.results-header h3{margin:0;font-size:18px;font-weight:600;color:#fffffff2;display:flex;align-items:center;gap:12px}.result-count{font-size:14px;font-weight:400;color:#fff9}.results-list{display:flex;flex-direction:column;gap:16px}.load-more-container{display:flex;justify-content:center;margin-top:24px;padding:16px}.load-more-btn{background:linear-gradient(135deg,#4facfe33,#00f2fe33);border:1px solid rgba(79,172,254,.4);color:#4facfe;padding:12px 32px;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;gap:10px;box-shadow:0 2px 8px #4facfe33}.load-more-btn:hover:not(:disabled){background:linear-gradient(135deg,#4facfe4d,#00f2fe4d);border-color:#4facfe99;transform:translateY(-2px);box-shadow:0 4px 12px #4facfe66}.load-more-btn:disabled{opacity:.6;cursor:not-allowed}.load-more-btn i{font-size:12px}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;gap:16px}.loading-spinner{font-size:48px;color:#4facfe;animation:pulse 2s infinite}.loading-spinner i{font-size:48px}.loading-container p{font-size:14px;color:#fff9;margin:0}.search-results-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:80px 20px;text-align:center}.empty-icon{font-size:64px;margin-bottom:20px;opacity:.5;animation:float 3s ease-in-out infinite}.search-results-empty h3{font-size:20px;font-weight:600;color:#ffffffe6;margin:0 0 12px}.search-results-empty p{font-size:14px;color:#ffffff80;margin:0;max-width:400px}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@media (max-width: 768px){.search-results-threaded{padding:12px}.results-header h3{flex-direction:column;align-items:flex-start;gap:8px}.load-more-btn{width:100%;justify-content:center}}:root{--wo-blue: #3b82f6;--wo-purple: #8b5cf6;--wo-cyan: #06b6d4;--wo-bg: #030712}.wo-overlay{position:fixed;inset:0;z-index:10001;background:var(--wo-bg);display:flex;align-items:center;justify-content:center;overflow-y:auto;overflow-x:hidden;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,sans-serif}.wo-overlay.wo-phase-0{opacity:0;transition:opacity .5s cubic-bezier(.4,0,.2,1)}.wo-overlay.wo-phase-1{opacity:1;transition:opacity .5s cubic-bezier(.4,0,.2,1)}.wo-overlay.wo-phase-2{opacity:1}.wo-overlay.wo-phase-3{opacity:0;transform:scale(1.03);filter:brightness(2);pointer-events:none;transition:opacity .6s cubic-bezier(.4,0,.2,1),transform .6s cubic-bezier(.4,0,.2,1),filter .6s cubic-bezier(.4,0,.2,1)}.wo-particle-canvas{position:absolute;inset:0;width:100%;height:100%;z-index:0;pointer-events:none}.wo-aurora{position:absolute;border-radius:40% 60% 70% 30%/40% 50% 60%;filter:blur(100px);z-index:1;pointer-events:none;opacity:0}.wo-phase-1 .wo-aurora,.wo-phase-2 .wo-aurora{opacity:1;transition:opacity 1s ease-in}.wo-aurora-1{width:600px;height:600px;top:-10%;left:-10%;background:radial-gradient(ellipse,rgba(59,130,246,.1),transparent 70%);animation:wo-aurora-morph-1 15s ease-in-out infinite}.wo-aurora-2{width:500px;height:500px;bottom:-8%;right:-8%;background:radial-gradient(ellipse,rgba(139,92,246,.09),transparent 70%);animation:wo-aurora-morph-2 20s ease-in-out infinite}.wo-aurora-3{width:450px;height:450px;top:30%;right:20%;background:radial-gradient(ellipse,rgba(6,182,212,.08),transparent 70%);animation:wo-aurora-morph-3 25s ease-in-out infinite}@keyframes wo-aurora-morph-1{0%{border-radius:40% 60% 70% 30%/40% 50% 60%;transform:translate(0) rotate(0)}25%{border-radius:60% 40% 30% 70%/50% 60% 40% 50%;transform:translate(30px,-20px) rotate(5deg)}50%{border-radius:50% 50% 40% 60%/60% 40% 50%;transform:translate(-15px,25px) rotate(-3deg)}75%{border-radius:30% 70% 60% 40%/40% 60% 50%;transform:translate(20px,10px) rotate(4deg)}to{border-radius:40% 60% 70% 30%/40% 50% 60%;transform:translate(0) rotate(0)}}@keyframes wo-aurora-morph-2{0%{border-radius:50% 50% 40% 60%/60% 40%;transform:translate(0) rotate(0)}33%{border-radius:60% 40% 50% 50%/40% 60%;transform:translate(-25px,15px) rotate(-6deg)}66%{border-radius:40% 60% 60% 40%/50%;transform:translate(20px,-20px) rotate(4deg)}to{border-radius:50% 50% 40% 60%/60% 40%;transform:translate(0) rotate(0)}}@keyframes wo-aurora-morph-3{0%{border-radius:60% 40% 50% 50%/50% 50% 60% 40%;transform:translate(0) rotate(0)}50%{border-radius:40% 60%/60% 40% 50% 50%;transform:translate(15px,20px) rotate(8deg)}to{border-radius:60% 40% 50% 50%/50% 50% 60% 40%;transform:translate(0) rotate(0)}}.wo-content{position:relative;z-index:10;width:100%;max-width:1100px;padding:2rem;display:flex;flex-direction:column;align-items:center;gap:1.6rem}.wo-logo-row{display:flex;align-items:center;justify-content:center;gap:20px;margin-bottom:.4rem;opacity:0;filter:blur(12px);transition:transform .2s ease-out;animation:wo-blur-in .8s cubic-bezier(.16,1,.3,1) 1s forwards}@keyframes wo-blur-in{0%{opacity:0;filter:blur(12px);transform:translateY(10px)}to{opacity:1;filter:blur(0px);transform:translateY(0)}}.wo-logo{height:60px;filter:drop-shadow(0 0 20px rgba(59,130,246,.3));transition:all .35s cubic-bezier(.16,1,.3,1);background:#ffffffe0;padding:10px 16px;border-radius:14px;border:1px solid rgba(255,255,255,.15);box-shadow:0 4px 24px #0000004d,0 0 0 1px #ffffff0f}.wo-logo:hover{filter:drop-shadow(0 0 30px rgba(59,130,246,.5));transform:scale(1.06) translateY(-2px);background:#fffffff2;box-shadow:0 8px 32px #0000004d,0 0 40px #3b82f61f}.wo-logo-uom{height:54px}.wo-pre-title{display:flex;align-items:center;justify-content:center;gap:16px;font-size:11px;letter-spacing:4px;text-transform:uppercase;color:#93c5fd99;font-weight:500;margin-bottom:.2rem;opacity:0;animation:wo-fade-up .8s cubic-bezier(.16,1,.3,1) 1.3s forwards}.wo-line{width:40px;height:1px;background:linear-gradient(90deg,transparent,rgba(59,130,246,.5),transparent)}.wo-title{font-size:clamp(64px,10vw,120px);font-weight:800;letter-spacing:18px;line-height:1;margin:0 0 .3rem;color:transparent;transition:transform .2s ease-out;text-align:center}.wo-title-letter{display:inline-block;background:linear-gradient(135deg,#93c5fd,#c4b5fd,#67e8f9,#93c5fd);background-size:300% 300%;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;filter:drop-shadow(0 0 40px rgba(147,197,253,.4))}.wo-letter-scrambling{opacity:.6;animation:wo-gradient-shift 2s ease-in-out infinite}.wo-letter-locked{opacity:1;animation:wo-gradient-shift 6s ease-in-out infinite,wo-shimmer 3s ease-in-out infinite}@keyframes wo-gradient-shift{0%,to{background-position:0% 50%}50%{background-position:100% 50%}}@keyframes wo-shimmer{0%,to{filter:drop-shadow(0 0 30px rgba(147,197,253,.3))}50%{filter:drop-shadow(0 0 50px rgba(147,197,253,.6))}}.wo-subtitle{font-size:15px;color:#cbd5e199;font-weight:300;letter-spacing:1px;margin:0;opacity:0;animation:wo-fade-up .8s cubic-bezier(.16,1,.3,1) 2s forwards}.wo-stats-bar{display:flex;justify-content:center;gap:3rem;margin-top:.5rem;opacity:0;animation:wo-fade-up .8s cubic-bezier(.16,1,.3,1) 2s forwards}.wo-stat{text-align:center;position:relative}.wo-stat:not(:last-child):after{content:"";position:absolute;right:-1.5rem;top:10%;height:80%;width:1px;background:linear-gradient(to bottom,transparent,rgba(59,130,246,.3),transparent)}.wo-stat-value{font-size:28px;font-weight:700;color:#f1f5f9;font-variant-numeric:tabular-nums}.wo-stat-label{font-size:10px;letter-spacing:2px;text-transform:uppercase;color:#94a3b880;margin-top:2px}.wo-capabilities{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;width:100%;perspective:1000px}.wo-cap-card{position:relative;background:#ffffff08;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.06);border-radius:16px;padding:1.2rem;opacity:0;transform-style:preserve-3d;will-change:transform;animation:wo-card-spring-in .8s cubic-bezier(.34,1.56,.64,1) forwards;overflow:hidden}.wo-cap-card:hover{background:#ffffff0d;border-color:#3b82f640;box-shadow:0 8px 32px #3b82f614,0 0 0 1px #3b82f61a}.wo-cap-card:nth-child(1){animation-name:wo-card-spring-in}.wo-cap-card:nth-child(2){animation-name:wo-card-spring-in}.wo-cap-card:nth-child(3){animation-name:wo-card-spring-in}@keyframes wo-card-spring-in{0%{opacity:0;transform:translateY(60px) scale(.9) rotateX(10deg)}60%{opacity:1;transform:translateY(-8px) scale(1.02) rotateX(-2deg)}80%{transform:translateY(3px) scale(.99) rotateX(1deg)}to{opacity:1;transform:translateY(0) scale(1) rotateX(0)}}.wo-phase-2 .wo-cap-card:nth-child(1){animation:wo-card-spring-in .8s cubic-bezier(.34,1.56,.64,1) forwards,wo-float-bob 6s ease-in-out 3.5s infinite}.wo-phase-2 .wo-cap-card:nth-child(2){animation:wo-card-spring-in .8s cubic-bezier(.34,1.56,.64,1) forwards,wo-float-bob 7s ease-in-out 3.8s infinite}.wo-phase-2 .wo-cap-card:nth-child(3){animation:wo-card-spring-in .8s cubic-bezier(.34,1.56,.64,1) forwards,wo-float-bob 8s ease-in-out 4.1s infinite}@keyframes wo-float-bob{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}.wo-card-gloss{position:absolute;inset:0;border-radius:inherit;pointer-events:none;z-index:1;transition:background .15s ease-out}.wo-cap-header{display:flex;align-items:center;gap:10px;margin-bottom:.8rem;position:relative;z-index:2}.wo-cap-icon{width:36px;height:36px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:16px;flex-shrink:0}.wo-cap-title{font-size:13px;font-weight:600;color:#e2e8f0;margin:0;letter-spacing:.5px}.wo-cap-items{display:flex;flex-direction:column;gap:6px;position:relative;z-index:2}.wo-cap-item{display:flex;align-items:flex-start;gap:8px;opacity:0;animation:wo-item-in .5s cubic-bezier(.16,1,.3,1) forwards}@keyframes wo-item-in{0%{opacity:0;transform:translate(-10px)}to{opacity:1;transform:translate(0)}}.wo-cap-dot{width:5px;height:5px;border-radius:50%;margin-top:6px;flex-shrink:0;animation:wo-dot-pulse 2s ease-in-out infinite}@keyframes wo-dot-pulse{0%,to{opacity:.7;box-shadow:0 0 #3b82f666}50%{opacity:1;box-shadow:0 0 6px 2px #3b82f633}}.wo-cap-name{font-size:12px;font-weight:500;color:#e2e8f0d9;line-height:1.3}.wo-cap-desc{font-size:10px;color:#94a3b880;line-height:1.3}.wo-cta{display:flex;flex-direction:column;align-items:center;gap:12px;opacity:0;animation:wo-fade-up .8s cubic-bezier(.16,1,.3,1) 3s forwards}.wo-enter-btn{position:relative;display:flex;align-items:center;gap:12px;padding:14px 40px;background:linear-gradient(135deg,#3b82f633,#8b5cf633);border:1px solid rgba(59,130,246,.3);border-radius:50px;color:#e2e8f0;font-size:15px;font-weight:500;letter-spacing:1px;cursor:pointer;overflow:hidden;transition:all .4s cubic-bezier(.16,1,.3,1);animation:wo-btn-pulse-glow 2s ease-in-out 3.5s infinite}@keyframes wo-btn-pulse-glow{0%,to{box-shadow:0 0 20px #3b82f61a,0 0 60px #3b82f60d}50%{box-shadow:0 0 30px #3b82f633,0 0 80px #3b82f61a}}.wo-enter-btn:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,#3b82f666,#8b5cf666);opacity:0;transition:opacity .4s;border-radius:inherit}.wo-enter-btn:hover{border-color:#3b82f6b3;transform:translateY(-2px) scale(1.03);box-shadow:0 10px 40px #3b82f640,0 0 80px #3b82f61a,0 0 120px #8b5cf60f}.wo-enter-btn:hover:before{opacity:1}.wo-enter-text,.wo-enter-arrow{position:relative;z-index:1}.wo-enter-arrow{display:flex;align-items:center;transition:transform .3s}.wo-enter-btn:hover .wo-enter-arrow{transform:translate(4px)}.wo-dont-show{display:flex;align-items:center;gap:6px;font-size:11px;color:#94a3b866;cursor:pointer;transition:color .2s}.wo-dont-show:hover{color:#94a3b8b3}.wo-dont-show input{margin:0;accent-color:var(--wo-blue)}.wo-version{position:absolute;bottom:16px;font-size:10px;letter-spacing:1px;color:#64748b4d}@keyframes wo-fade-up{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 900px){.wo-capabilities{grid-template-columns:1fr}.wo-stats-bar{gap:1.5rem}.wo-title{letter-spacing:8px}.wo-content{padding:1rem;gap:1.2rem}.wo-aurora{width:300px!important;height:300px!important}}@media (max-width: 600px){.wo-stats-bar{flex-wrap:wrap;gap:1rem}.wo-stat:not(:last-child):after{display:none}.wo-logo-row{gap:12px}.wo-logo{height:32px}.wo-logo-uom{height:28px}.wo-title{letter-spacing:4px}.wo-aurora{display:none}}.particle-background{position:fixed;top:0;left:0;width:100vw;height:100vh;pointer-events:none;z-index:0;overflow:hidden}.particle-canvas{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;background:transparent}.particle-background *{pointer-events:none}.particle-background:hover{pointer-events:auto}.particle-canvas{will-change:transform;transform-style:preserve-3d;image-rendering:-webkit-optimize-contrast;image-rendering:crisp-edges}@media (prefers-reduced-motion: reduce){.particle-background{display:none}}.App{text-align:center}.App-logo{height:40vmin;pointer-events:none}@media (prefers-reduced-motion: no-preference){.App-logo{animation:App-logo-spin infinite 20s linear}}.App-header{background-color:#282c34;padding:20px;color:#fff}.App-link{color:#61dafb}@keyframes App-logo-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.app{width:100vw;height:100vh;display:flex;flex-direction:column;overflow:hidden;background:linear-gradient(135deg,var(--dark-bg) 0%,var(--darker-bg) 100%);color:var(--text-color);font-family:Roboto,-apple-system,BlinkMacSystemFont,Segoe UI,system-ui,sans-serif}.loading-container{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);text-align:center;z-index:100}.loading-spinner{width:40px;height:40px;border:4px solid var(--card-border);border-top:4px solid var(--primary-color);border-radius:50%;animation:spin 1s linear infinite;margin:0 auto 16px}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.error-container{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);text-align:center;z-index:100;background:var(--card-bg);padding:var(--spacing-xl);border-radius:var(--radius-lg);border:1px solid var(--error-color);max-width:400px}.error-icon{font-size:48px;color:var(--error-color);margin-bottom:var(--spacing-lg)}.error-title{font-size:18px;font-weight:var(--font-weight-semibold);margin-bottom:var(--spacing-sm);color:var(--text-color)}.error-message{color:var(--text-secondary);margin-bottom:var(--spacing-lg)}.error-retry-btn{background:var(--primary-color);color:#fff;border:none;padding:var(--spacing-sm) var(--spacing-lg);border-radius:var(--radius-md);cursor:pointer;font-weight:var(--font-weight-medium);transition:background .3s ease}.error-retry-btn:hover{background:var(--primary-hover)}.notification{position:fixed;top:20px;right:20px;padding:var(--spacing-md) var(--spacing-xl);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);z-index:var(--z-tooltip);animation:slideInRight .3s ease-out;max-width:400px;display:flex;align-items:center;gap:var(--spacing-md)}.notification.success{background:var(--success-color);color:#fff}.notification.error{background:var(--error-color);color:#fff}.notification.warning{background:var(--warning-color);color:var(--dark-bg)}.notification.info{background:var(--info-color);color:#fff}.notification-close{background:none;border:none;color:inherit;cursor:pointer;font-size:1.2rem;padding:0;margin-left:auto}.status-indicator{display:inline-flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-xs) var(--spacing-md);border-radius:var(--radius-sm);font-size:.875rem;font-weight:var(--font-weight-medium);background:var(--card-bg);border:1px solid var(--card-border)}.status-dot.offline{background:var(--error-color)}.status-dot.warning{background:var(--warning-color)}.tool-status-indicator{position:absolute;top:-4px;right:-4px;width:12px;height:12px;background:var(--success-color);border:2px solid var(--dark-bg);border-radius:50%;animation:pulse 2s infinite}*{scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.2) rgba(0,0,0,.1)}*::-webkit-scrollbar{width:8px;height:8px}*::-webkit-scrollbar-track{background:#0000001a;border-radius:4px}*::-webkit-scrollbar-thumb{background:#fff3;border-radius:4px;transition:background .3s ease}*::-webkit-scrollbar-thumb:hover{background:#ffffff4d}*::-webkit-scrollbar-corner{background:#0000001a}.focus-ring{position:relative}.focus-ring:before{content:"";position:absolute;inset:-2px;border:2px solid var(--primary-color);border-radius:inherit;opacity:0;transition:opacity .2s ease}.focus-ring:focus:before{opacity:1}@media (max-width: 768px){.app{flex-direction:column}.map-container-collapsed{left:0}.notification{top:10px;right:10px;left:10px;max-width:none}.status-indicator{font-size:.8rem;padding:var(--spacing-xs) var(--spacing-sm)}}@media (max-width: 480px){.app{font-size:13px}.loading-spinner{min-height:150px}.spinner{width:30px;height:30px;border-width:3px}}*{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:Roboto,-apple-system,BlinkMacSystemFont,Segoe UI,system-ui,sans-serif;font-weight:var(--font-weight-normal);line-height:1.6;letter-spacing:var(--letter-spacing-normal);background:linear-gradient(135deg,var(--dark-bg) 0%,var(--darker-bg) 100%);color:var(--text-color);min-height:100vh;overflow:hidden;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.app{display:flex;flex-direction:column;min-height:100vh}.btn-primary{background:linear-gradient(135deg,var(--primary-color) 0%,var(--primary-hover) 100%);border:1px solid rgba(0,121,193,.3);color:var(--text-color);padding:var(--spacing-md) var(--spacing-xl);border-radius:var(--radius-md);font-weight:var(--font-weight-medium);font-size:14px;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:var(--shadow-sm);position:relative;overflow:hidden}.btn-primary:hover{transform:translateY(-1px);box-shadow:var(--shadow-md);border-color:var(--primary-light)}.btn-secondary{background:var(--card-bg);border:1px solid var(--card-border);color:var(--text-color);padding:var(--spacing-md) var(--spacing-xl);border-radius:var(--radius-md);font-weight:var(--font-weight-medium);font-size:14px;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:var(--shadow-sm);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.btn-secondary:hover{background:#ffffff1a;border-color:var(--primary-color);transform:translateY(-1px);box-shadow:var(--shadow-md)}.btn-danger{background:linear-gradient(135deg,var(--error-color) 0%,#cc3300 100%);border:1px solid rgba(255,61,0,.3);color:var(--text-color);padding:var(--spacing-md) var(--spacing-xl);border-radius:var(--radius-md);font-weight:var(--font-weight-medium);font-size:14px;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:var(--shadow-sm)}.btn-danger:hover{transform:translateY(-1px);box-shadow:var(--shadow-md);border-color:#f63}.enhanced-card{background:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--radius-xl);padding:var(--spacing-xl);box-shadow:var(--shadow-md);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);transition:all .3s cubic-bezier(.4,0,.2,1)}.enhanced-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px);border-color:#0079c133}.heading-primary{font-size:2rem;font-weight:var(--font-weight-bold);letter-spacing:var(--letter-spacing-tight);color:var(--text-color);margin-bottom:var(--spacing-lg)}.heading-secondary{font-size:1.5rem;font-weight:var(--font-weight-semibold);letter-spacing:var(--letter-spacing-normal);color:var(--text-color);margin-bottom:var(--spacing-md)}.text-muted{color:var(--text-muted);font-size:.875rem}.text-secondary{color:var(--text-secondary)}.bot-message table,.markdown-table,.direct-parsed-table,.manual-table{display:block;width:100%;overflow-x:auto;max-width:100%;font-size:14px;margin:var(--spacing-lg) 0;border-collapse:collapse;background:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);transition:all .3s cubic-bezier(.4,0,.2,1)}.bot-message table:hover,.markdown-table:hover,.direct-parsed-table:hover,.manual-table:hover{box-shadow:var(--shadow-lg);border-color:#0079c133}.bot-message th,.bot-message td,.markdown-table th,.markdown-table td,.direct-parsed-table th,.direct-parsed-table td,.manual-table th,.manual-table td{white-space:pre-line;word-break:break-word;max-width:300px;padding:8px 12px;border:1px solid rgba(255,255,255,.1);vertical-align:top}.bot-message th,.markdown-table th,.direct-parsed-table th,.manual-table th{background:linear-gradient(135deg,var(--primary-color) 0%,var(--primary-hover) 100%);color:var(--text-color);position:sticky;top:0;left:0;z-index:1;font-weight:var(--font-weight-semibold);font-size:13px;letter-spacing:var(--letter-spacing-wide);text-align:left;text-transform:capitalize;padding:var(--spacing-md) var(--spacing-lg);border-bottom:2px solid rgba(0,121,193,.3)}.bot-message td,.markdown-table td,.direct-parsed-table td,.manual-table td{background:#0003}.bot-message tr:nth-child(2n) td,.markdown-table tr:nth-child(2n) td,.direct-parsed-table tr:nth-child(2n) td,.manual-table tr:nth-child(2n) td{background:#ffffff0d}.bot-message tr:hover td,.markdown-table tr:hover td,.direct-parsed-table tr:hover td,.manual-table tr:hover td{background:#0079c11a}.fade-in{animation:fadeIn .3s ease-in-out}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.slide-in-right{animation:slideInRight .3s ease-out}@keyframes slideInRight{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}@keyframes messageFloat{0%{opacity:0;transform:translateY(18px) scale(.98)}70%{opacity:.8;transform:translateY(-8px) scale(1.04)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.7;transform:scale(1.1)}}@keyframes sidebarPulse{0%{box-shadow:0 2px 18px #0079c126}to{box-shadow:0 0 32px 6px #0079c140,0 2px 18px #0079c126}}@keyframes shine{0%{transform:translate(-100%)}to{transform:translate(100%)}}@keyframes pulse-animation{0%{transform:scale(.8);opacity:.8}60%{transform:scale(1.5);opacity:0}to{transform:scale(.8);opacity:0}}.pulsing-marker{width:32px;height:32px;position:relative;background:none}.pulse{width:32px;height:32px;background:#0079c140;border-radius:50%;position:absolute;left:0;top:0;animation:pulse-animation 1.5s infinite cubic-bezier(.66,0,0,1);z-index:1}.pulse-inner{width:16px;height:16px;background:#0079c1;border:3px solid #fff;border-radius:50%;position:absolute;left:8px;top:8px;z-index:2;box-shadow:0 0 8px 2px #0079c140}.pulse-hospital .pulse-inner{background:#00c853}.pulse-clinic .pulse-inner{background:#ffd600}.pulse-airport .pulse-inner{background:#0079c1}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:#0000001a}::-webkit-scrollbar-thumb{background:#fff3;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#ffffff4d}button:focus{outline:2px solid var(--primary-color);outline-offset:2px}button{border:none;background:none;cursor:pointer;font-family:inherit}input,textarea,select{font-family:inherit;font-size:inherit;background:#ffffff14;border:1px solid rgba(255,255,255,.15);color:#fff;border-radius:6px;padding:8px 12px;transition:all .2s ease}input:focus,textarea:focus,select:focus{background:#ffffff1f;border-color:#4facfe80;box-shadow:0 0 0 3px #4facfe1a}input::placeholder,textarea::placeholder{color:#fff6;opacity:1}select{cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23ffffff' d='M6 9L1 4h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:36px}select option{background:#1a1a2e;color:#fff;padding:8px}input[type=date],input[type=datetime-local],input[type=time],input[type=month],input[type=week]{color-scheme:dark;cursor:pointer}input[type=date]::-webkit-calendar-picker-indicator,input[type=datetime-local]::-webkit-calendar-picker-indicator,input[type=time]::-webkit-calendar-picker-indicator{filter:invert(1);cursor:pointer;opacity:.7;transition:opacity .2s ease}input[type=date]::-webkit-calendar-picker-indicator:hover,input[type=datetime-local]::-webkit-calendar-picker-indicator:hover,input[type=time]::-webkit-calendar-picker-indicator:hover{opacity:1}input[type=date]::-moz-calendar-picker-indicator{filter:invert(1)}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{opacity:.7;filter:invert(1)}input:disabled,textarea:disabled,select:disabled{opacity:.5;cursor:not-allowed;background:#ffffff08}a{color:var(--primary-color);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--primary-light)}.custom-marker{background:var(--card-bg);border:2px solid white;border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow-md);transition:all .3s ease}.custom-marker:hover{transform:scale(1.2);box-shadow:var(--shadow-lg)}.custom-marker i{font-size:12px}.chart-container{margin:20px 0;padding:15px;background:#323232b3;border-radius:8px;box-shadow:0 2px 10px #0003;position:relative}.chart-wrapper{position:relative;height:300px;width:100%;margin-top:10px}.chart-controls{display:flex;gap:10px;margin-bottom:10px;flex-wrap:wrap}.chart-type-btn{background:#0079c133;border:1px solid rgba(0,121,193,.5);color:var(--text-color);padding:6px 12px;border-radius:4px;cursor:pointer;font-size:13px;transition:all .2s ease}.chart-type-btn:hover{background:#0079c166}.chart-type-btn.active{background:var(--primary-color);border-color:var(--primary-color)}.chart-title{font-size:16px;font-weight:500;margin-bottom:15px;color:var(--text-color)}.toggle-chart-btn{position:absolute;top:10px;right:10px;background:#ffffff1a;border:none;color:var(--text-color);padding:4px 8px;border-radius:4px;cursor:pointer;font-size:12px;display:flex;align-items:center;gap:5px}.table-container{position:relative;overflow:hidden;margin-bottom:15px}.pagination-controls{display:flex;justify-content:space-between;align-items:center;margin-top:10px;padding:5px 0;font-size:.9rem}.page-info{color:#666}.page-buttons{display:flex;gap:5px}.page-button{background:#f0f0f0;border:1px solid #ddd;border-radius:3px;padding:3px 8px;cursor:pointer;font-size:.85rem}.page-button:hover{background:#e0e0e0}.page-button.disabled{opacity:.5;cursor:not-allowed}.rows-selector{margin-left:10px;font-size:.85rem}.rows-selector select{padding:2px 5px;margin-left:5px;border-radius:3px;border:1px solid #ddd}.markdown-table tbody tr,.manual-table tbody tr,.direct-parsed-table tbody tr{display:table-row}.markdown-table tbody tr.hidden,.manual-table tbody tr.hidden,.direct-parsed-table tbody tr.hidden{display:none}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-xs{gap:var(--spacing-xs)}.gap-sm{gap:var(--spacing-sm)}.gap-md{gap:var(--spacing-md)}.gap-lg{gap:var(--spacing-lg)}.gap-xl{gap:var(--spacing-xl)}.p-xs{padding:var(--spacing-xs)}.p-sm{padding:var(--spacing-sm)}.p-md{padding:var(--spacing-md)}.p-lg{padding:var(--spacing-lg)}.p-xl{padding:var(--spacing-xl)}.m-xs{margin:var(--spacing-xs)}.m-sm{margin:var(--spacing-sm)}.m-md{margin:var(--spacing-md)}.m-lg{margin:var(--spacing-lg)}.m-xl{margin:var(--spacing-xl)}.w-full{width:100%}.h-full{height:100%}.absolute{position:absolute}.relative{position:relative}.fixed{position:fixed}.hidden{display:none}.block{display:block}.inline-block{display:inline-block}@media (max-width: 768px){.hidden-mobile{display:none}.block-mobile{display:block}}@media (min-width: 769px){.hidden-desktop{display:none}.block-desktop{display:block}}:root{--primary-color: #0079c1;--primary-hover: #005a8e;--primary-light: #4da7d9;--secondary-color: #4c4c4c;--dark-bg: #1a1a1a;--darker-bg: #0f0f0f;--card-bg: rgba(255, 255, 255, .05);--card-border: rgba(255, 255, 255, .08);--text-color: #ffffff;--text-secondary: #a0a0a0;--text-muted: #707070;--sidebar-width: 480px;--header-height: 70px;--success-color: #00c853;--success-light: rgba(0, 200, 83, .1);--warning-color: #ffd600;--warning-light: rgba(255, 214, 0, .1);--error-color: #ff3d00;--error-light: rgba(255, 61, 0, .1);--info-color: #2196f3;--font-weight-light: 300;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--letter-spacing-tight: -.025em;--letter-spacing-normal: 0;--letter-spacing-wide: .025em;--spacing-xs: .25rem;--spacing-sm: .5rem;--spacing-md: .75rem;--spacing-lg: 1rem;--spacing-xl: 1.5rem;--spacing-2xl: 2rem;--spacing-xxl: 3rem;--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -1px rgba(0, 0, 0, .06);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -2px rgba(0, 0, 0, .05);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .1), 0 10px 10px -5px rgba(0, 0, 0, .04);--shadow-glow: 0 0 20px rgba(0, 121, 193, .3);--radius-sm: .375rem;--radius-md: .5rem;--radius-lg: .75rem;--radius-xl: 1rem;--radius-2xl: 1.5rem;--transition-fast: .15s ease;--transition-normal: .3s ease;--transition-slow: .5s ease;--transition-cubic: .3s cubic-bezier(.4, 0, .2, 1);--z-dropdown: 1000;--z-sticky: 1020;--z-fixed: 1030;--z-sidebar: 1040;--z-overlay: 1050;--z-modal: 1060;--z-popover: 1070;--z-tooltip: 1080;--z-modal-draggable: 1200;--nav-height: 60px;--sidebar-min-width: 300px;--sidebar-max-width: 800px;--breakpoint-sm: 640px;--breakpoint-md: 768px;--breakpoint-lg: 1024px;--breakpoint-xl: 1280px;--breakpoint-2xl: 1536px}:root{--primary-color: #0079c1;--primary-hover: #005a8e;--primary-light: #4da7d9;--secondary-color: #4c4c4c;--dark-bg: #1a1a1a;--darker-bg: #0f0f0f;--card-bg: rgba(255, 255, 255, .05);--card-border: rgba(255, 255, 255, .08);--text-color: #ffffff;--text-secondary: #a0a0a0;--text-muted: #707070;--sidebar-width: 480px;--success-color: #00c853;--success-light: rgba(0, 200, 83, .1);--warning-color: #ffd600;--warning-light: rgba(255, 214, 0, .1);--error-color: #ff3d00;--error-light: rgba(255, 61, 0, .1);--font-weight-light: 300;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--letter-spacing-tight: -.025em;--letter-spacing-normal: 0;--letter-spacing-wide: .025em;--spacing-xs: .25rem;--spacing-sm: .5rem;--spacing-md: .75rem;--spacing-lg: 1rem;--spacing-xl: 1.5rem;--spacing-2xl: 2rem;--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -1px rgba(0, 0, 0, .06);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -2px rgba(0, 0, 0, .05);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .1), 0 10px 10px -5px rgba(0, 0, 0, .04);--shadow-glow: 0 0 20px rgba(0, 121, 193, .3);--radius-sm: .375rem;--radius-md: .5rem;--radius-lg: .75rem;--radius-xl: 1rem;--radius-2xl: 1.5rem}body{font-family:Roboto,-apple-system,BlinkMacSystemFont,Segoe UI,system-ui,sans-serif!important;font-weight:var(--font-weight-normal);line-height:1.6;letter-spacing:var(--letter-spacing-normal);background:linear-gradient(135deg,var(--dark-bg) 0%,var(--darker-bg) 100%)!important;color:var(--text-color);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.resizable-sidebar{background:#0f0f0ff2!important;-webkit-backdrop-filter:blur(16px) saturate(1.4)!important;backdrop-filter:blur(16px) saturate(1.4)!important;border-right:1px solid var(--card-border)!important;box-shadow:var(--shadow-xl),var(--shadow-glow)!important;border-radius:0 var(--radius-2xl) var(--radius-2xl) 0!important}.sidebar-header{padding:var(--spacing-lg) var(--spacing-xl) var(--spacing-md) var(--spacing-xl);border-bottom:1px solid var(--card-border)}.logo-container{display:flex;align-items:center;gap:var(--spacing-md)}.app-title{margin:0;font-size:18px;font-weight:var(--font-weight-bold);color:var(--text-color);line-height:1.2}.center-name{margin:0;font-size:11px;color:var(--text-muted);font-weight:var(--font-weight-medium)}.top-bar{background:#0f0f0ff2!important;-webkit-backdrop-filter:blur(16px) saturate(1.4)!important;backdrop-filter:blur(16px) saturate(1.4)!important;border-bottom:1px solid var(--card-border)!important;padding:var(--spacing-md) var(--spacing-xl);display:flex;align-items:center;justify-content:space-between}.app-brand{display:flex;align-items:center;gap:var(--spacing-md)}.brand-icon{width:40px;height:40px;background:linear-gradient(135deg,var(--primary-color),var(--primary-hover));border-radius:var(--radius-lg);display:flex;align-items:center;justify-content:center;color:#fff;font-size:18px;box-shadow:var(--shadow-md)}.brand-title{margin:0;font-size:16px;font-weight:var(--font-weight-bold);color:var(--text-color);line-height:1.2}.brand-version{font-size:11px;color:var(--text-muted);font-weight:var(--font-weight-medium)}.nav-btn{background:var(--card-bg)!important;border:1px solid var(--card-border)!important;color:var(--text-color)!important;padding:var(--spacing-sm) var(--spacing-lg)!important;border-radius:var(--radius-md)!important;cursor:pointer;display:flex;align-items:center;gap:var(--spacing-sm);transition:all .3s cubic-bezier(.4,0,.2,1)!important;font-size:13px;font-weight:var(--font-weight-medium);position:relative;-webkit-backdrop-filter:blur(8px)!important;backdrop-filter:blur(8px)!important}.nav-btn:hover{background:#ffffff1a!important;border-color:var(--primary-color)!important;transform:translateY(-1px)!important;box-shadow:var(--shadow-md)!important}.nav-btn.active{background:linear-gradient(135deg,var(--primary-color),var(--primary-hover))!important;border-color:var(--primary-color)!important;box-shadow:var(--shadow-md),0 0 0 2px #0079c133!important}.action-btn{background:var(--card-bg)!important;border:1px solid var(--card-border)!important;color:var(--text-color)!important;padding:var(--spacing-sm) var(--spacing-lg)!important;border-radius:var(--radius-md)!important;cursor:pointer;display:flex;align-items:center;gap:var(--spacing-sm);transition:all .3s cubic-bezier(.4,0,.2,1)!important;font-size:13px;font-weight:var(--font-weight-medium);-webkit-backdrop-filter:blur(8px)!important;backdrop-filter:blur(8px)!important}.action-btn:hover{background:#ffffff1a!important;border-color:var(--primary-color)!important;transform:translateY(-1px)!important;box-shadow:var(--shadow-md)!important}.status-indicator{background:var(--card-bg)!important;border:1px solid var(--card-border)!important;color:var(--text-color)!important;padding:var(--spacing-sm) var(--spacing-lg)!important;border-radius:var(--radius-md)!important;cursor:pointer;display:flex;align-items:center;gap:var(--spacing-sm);font-size:13px;font-weight:var(--font-weight-medium);-webkit-backdrop-filter:blur(8px)!important;backdrop-filter:blur(8px)!important}.status-dot{width:8px;height:8px;border-radius:50%;animation:pulse 2s infinite}.status-dot.online{background:var(--success-color)}.chat-header{background-color:var(--primary-color)!important;color:var(--text-color)!important;font-weight:500!important;padding:15px!important;border-radius:4px 4px 0 0!important;margin-bottom:8px!important}.chat-messages{background-color:#ffffff0d!important;border-radius:0 0 4px 4px!important}.message{background:var(--card-bg)!important;border:1px solid var(--card-border)!important;box-shadow:var(--shadow-md)!important;border-radius:var(--radius-xl)!important;-webkit-backdrop-filter:blur(8px)!important;backdrop-filter:blur(8px)!important;transition:all .3s cubic-bezier(.4,0,.2,1)!important}.message:hover{box-shadow:var(--shadow-lg)!important;transform:translateY(-2px)!important;border-color:#0079c133!important}.user-message{background:linear-gradient(135deg,var(--primary-color) 0%,var(--primary-hover) 100%)!important;color:var(--text-color)!important}.tool-status-indicator{position:absolute;top:-4px;right:-4px;width:12px;height:12px;background:var(--success-color);border:2px solid var(--darker-bg);border-radius:50%;display:none;animation:pulse 2s infinite}.tool-status-indicator.active{display:block}.advanced-search-input{background:var(--card-bg)!important;border:1px solid var(--card-border)!important;border-radius:var(--radius-lg)!important;color:var(--text-color)!important;-webkit-backdrop-filter:blur(8px)!important;backdrop-filter:blur(8px)!important}.advanced-search-input:focus{border-color:var(--primary-color)!important;box-shadow:0 0 0 3px #0079c11a!important;background:#ffffff0d!important}.search-icon{color:var(--text-muted)}.search-clear-btn,.search-filters-btn{background:var(--card-bg)!important;border:1px solid var(--card-border)!important;color:var(--text-color)!important;border-radius:var(--radius-md)!important;-webkit-backdrop-filter:blur(8px)!important;backdrop-filter:blur(8px)!important}.search-clear-btn:hover,.search-filters-btn:hover{background:#ffffff1a!important;border-color:var(--primary-color)!important}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.app{background:linear-gradient(135deg,var(--dark-bg) 0%,var(--darker-bg) 100%)!important;min-height:100vh}.nav-separator{width:1px;height:32px;background:var(--card-border);opacity:.5}.btn-label{display:inline}@media (min-width: 1200px){.btn-label{display:inline}}.layer-inspector-drawer{position:absolute;left:52px;top:64px;width:520px;max-height:calc(100% - 96px);overflow:auto;background:#141821f5;border:1px solid rgba(255,255,255,.12);border-radius:12px;box-shadow:var(--shadow-lg);z-index:3000}.lid-header{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;border-bottom:1px solid rgba(255,255,255,.08);font-weight:600}.lid-close{background:transparent;color:var(--text-color);border:none;font-size:20px;cursor:pointer}.lid-content{padding:12px 16px}.lid-section{margin-bottom:16px}.lid-section h4{margin:0 0 8px}.lid-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.lid-grid>div{background:#ffffff0a;border:1px solid rgba(255,255,255,.08);border-radius:8px;padding:8px}.lid-table-wrapper{overflow:auto;max-height:300px;border:1px solid rgba(255,255,255,.08);border-radius:8px}.lid-table{width:100%;border-collapse:collapse;font-size:12px}.lid-table th,.lid-table td{padding:6px 8px;border-bottom:1px solid rgba(255,255,255,.06)}.lid-table thead{background:#ffffff0f;position:sticky;top:0}.tools-panel{position:fixed;top:var(--header-height);left:var(--sidebar-width);width:400px;height:calc(100vh - var(--header-height));background:var(--card-bg);border-right:1px solid var(--card-border);-webkit-backdrop-filter:blur(20px) saturate(1.2);backdrop-filter:blur(20px) saturate(1.2);z-index:calc(var(--z-sidebar) - 1);transform:translate(-100%);transition:all .4s cubic-bezier(.25,.46,.45,.94);box-shadow:var(--shadow-xl)}.tools-panel.active{transform:translate(0)}.tools-panel-header{padding:var(--spacing-xl);border-bottom:1px solid var(--card-border);display:flex;align-items:center;justify-content:space-between;background:linear-gradient(135deg,var(--primary-color),var(--primary-hover));color:#fff}.panel-title{display:flex;align-items:center;gap:var(--spacing-md)}.panel-title h3{margin:0;font-size:16px;font-weight:var(--font-weight-semibold)}.panel-close{background:#ffffff1a;border:1px solid rgba(255,255,255,.2);color:#fff;padding:var(--spacing-sm);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-normal);display:flex;align-items:center;justify-content:center;width:32px;height:32px}.panel-close:hover{background:#fff3}.tools-panel-content{padding:var(--spacing-xl);height:calc(100% - 80px);overflow-y:auto}.tool-category{margin-bottom:var(--spacing-2xl)}.category-header{display:flex;align-items:center;gap:var(--spacing-md);margin-bottom:var(--spacing-lg);padding-bottom:var(--spacing-sm);border-bottom:1px solid var(--card-border)}.category-header h4{margin:0;font-size:14px;font-weight:var(--font-weight-semibold);color:var(--text-color);flex:1}.category-badge{background:var(--primary-color);color:#fff;padding:2px 8px;border-radius:var(--radius-sm);font-size:10px;font-weight:var(--font-weight-medium)}.tools-grid{display:grid;gap:var(--spacing-md)}.tool-card{background:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--radius-lg);padding:var(--spacing-lg);display:flex;align-items:center;gap:var(--spacing-md);transition:all var(--transition-cubic);cursor:pointer;position:relative;overflow:hidden}.tool-card:hover{background:#ffffff0d;border-color:var(--primary-color);transform:translateY(-2px);box-shadow:var(--shadow-lg)}.tool-card.active{border-color:var(--primary-color);background:#0079c11a}.tool-icon{width:40px;height:40px;background:linear-gradient(135deg,var(--primary-color),var(--primary-hover));border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;color:#fff;font-size:16px;flex-shrink:0}.tool-info{flex:1}.tool-info h5{margin:0 0 4px;font-size:13px;font-weight:var(--font-weight-semibold);color:var(--text-color)}.tool-info p{margin:0;font-size:11px;color:var(--text-muted);line-height:1.4}.tool-toggle{position:relative}.tool-toggle input[type=checkbox]{opacity:0;width:0;height:0}.tool-toggle label{display:block;width:40px;height:22px;background:var(--card-border);border-radius:11px;cursor:pointer;transition:all var(--transition-normal);position:relative}.tool-toggle label:before{content:"";position:absolute;top:2px;left:2px;width:18px;height:18px;background:var(--text-color);border-radius:50%;transition:all var(--transition-normal)}.tool-toggle input[type=checkbox]:checked+label{background:var(--primary-color)}.tool-toggle input[type=checkbox]:checked+label:before{transform:translate(18px)}.tool-action-btn{background:var(--primary-color);border:none;color:#fff;padding:var(--spacing-sm);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-normal);display:flex;align-items:center;justify-content:center;width:36px;height:36px;flex-shrink:0}.tool-action-btn:hover{background:var(--primary-hover);transform:scale(1.05)}.tool-action-btn:active{transform:scale(.95)}@media (max-width: 1024px){.tools-panel{width:350px}}@media (max-width: 768px){.tools-panel{width:100vw;left:0}}.tools-panel-content::-webkit-scrollbar{width:8px}.tools-panel-content::-webkit-scrollbar-track{background:#0000001a}.tools-panel-content::-webkit-scrollbar-thumb{background:#fff3;border-radius:4px}.tools-panel-content::-webkit-scrollbar-thumb:hover{background:#ffffff4d}.map-controls{position:absolute;top:20px;right:20px;z-index:2000;display:flex;flex-direction:column;gap:var(--spacing-md)}.control-group{display:flex;flex-direction:column;background:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-lg);-webkit-backdrop-filter:blur(20px) saturate(1.2);backdrop-filter:blur(20px) saturate(1.2)}.control-btn{background:transparent;border:none;color:var(--text-color);padding:var(--spacing-md);cursor:pointer;transition:all var(--transition-normal);display:flex;align-items:center;justify-content:center;width:40px;height:40px;font-size:16px;border-bottom:1px solid var(--card-border)}.control-btn:last-child{border-bottom:none}.control-btn:hover{background:var(--primary-color);color:#fff}.control-btn:active{transform:scale(.95)}.control-btn.active{background:var(--primary-color);color:#fff}.map-controls{position:absolute;right:20px;top:80px;display:flex;flex-direction:column;gap:var(--spacing-md);z-index:var(--z-fixed)}.control-group{background:#000000b3;border-radius:var(--radius-md);overflow:hidden;box-shadow:var(--shadow-lg);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid var(--card-border)}.control-btn{background:var(--card-bg);border:1px solid var(--card-border);color:var(--text-color);padding:var(--spacing-sm);cursor:pointer;display:flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:var(--radius-md);transition:all var(--transition-cubic);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:var(--shadow-sm);font-weight:var(--font-weight-medium);position:relative;overflow:hidden}.control-btn:hover{background:#ffffff1a;border-color:var(--primary-color);box-shadow:var(--shadow-md);transform:translateY(-1px)}.control-btn:active{transform:translateY(0);box-shadow:var(--shadow-sm)}.control-btn.active{background:linear-gradient(135deg,var(--primary-color) 0%,var(--primary-hover) 100%);border-color:var(--primary-color);box-shadow:var(--shadow-md),0 0 0 2px #0079c133}.control-btn i{font-size:14px;z-index:1}.control-btn:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.1),transparent);transition:left .5s ease}.control-btn:hover:before{left:100%}@media (max-width: 768px){.map-controls{right:10px;top:70px}.control-btn{width:40px;height:40px}.control-btn i{font-size:12px}}.control-btn:focus{outline:2px solid var(--primary-color);outline-offset:2px}.control-btn:focus:not(:focus-visible){outline:none}.toggle-sidebar{position:absolute;left:0;top:80px;z-index:2001;background:var(--primary-color);border:none;color:var(--text-color);cursor:pointer;font-size:20px;width:40px;height:40px;border-radius:0 4px 4px 0;display:flex;align-items:center;justify-content:center;box-shadow:2px 2px 8px #00000026;transition:left .3s,top .3s,transform .3s}.toggle-sidebar.collapsed{left:0;top:80px;border-radius:0 4px 4px 0;background:var(--primary-color);box-shadow:2px 2px 8px #00000026}
