:root{--dark:#161b22;--gray-900:#161b22;--gray-850:#161b22;--input-bg:var(--gray-850);--accent-light:#6ec1e4;--border:#30363d}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#161b22;background-color:var(--dark);color:#e6edf3;color:var(--text);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}code{font-family:Inter,source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}svg:focus{box-shadow:none!important;outline:none!important}.dashboard-container{background:linear-gradient(135deg,var(--gray-900),var(--dark));color:var(--text);font-family:Segoe UI,sans-serif;min-height:60vh;padding:.5rem 1rem 0}.dashboard-title{color:var(--accent-light);font-size:2rem;font-weight:700;margin-bottom:1.5rem}.summary-box{background-color:initial;border:1px solid var(--border);border-radius:12px;box-shadow:0 0 8px #ffffff0d;margin-top:-20px;padding:1.1rem}.summary-box h3{border-bottom:1px solid var(--border);font-size:1.3rem;margin-top:auto;padding-bottom:.5rem}.summary-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.summary-item{display:flex;flex-direction:column;font-size:.95rem}.summary-item .label{color:var(--accent-light);font-weight:500}.summary-item .value{color:var(--text);font-size:1.1rem;font-weight:700}.upload-section{background:var(--gray-900);border-radius:12px;box-shadow:0 0 12px #0000004d;margin-bottom:2rem;padding:1.5rem}.dropdown-section{align-items:center;background:var(--gray-850);border-radius:12px;box-shadow:0 0 8px #ffffff0d;display:flex;gap:12px;margin:2rem 0;padding:1.5rem}.chart-card h3,.summary-box h3{color:var(--accent-light);margin-bottom:.5rem}.file-info,table{margin-top:1rem}table{background-color:var(--dark);border-collapse:collapse;width:100%}table,td,th{border:1px solid var(--border)}td,th{padding:.6rem;text-align:left}th{background-color:var(--accent);color:#fff}select,td{color:var(--text)}select{background-color:var(--gray-900);border:1px solid var(--border);border-radius:6px;padding:.5rem}option{background-color:var(--dark);color:var(--text)}.chart-card{margin-bottom:24px;padding:16px}.chart-row{display:flex;flex-wrap:wrap;gap:20px;margin-top:-55px!important}.chart-block{background:#ffffff08;background-color:initial;border:1px solid #ffffff12;border-radius:10px;border-radius:8px;box-shadow:0 0 8px #ffffff0d;flex:1 1 560px;height:450px;margin-top:40px;min-width:500px;padding:16px 20px}.chart-header{align-items:baseline;display:flex;justify-content:space-between;margin-bottom:12px;padding:0 4px}.chart-header h3{color:#e5e7eb;letter-spacing:.2px}.chart-price{color:#fff;font-size:32px;font-weight:700}.chart-diff{align-items:center;display:flex;font-size:14px;gap:8px}.diff-dot{color:#ccc;font-size:13px;margin-left:8px}.charts-toggle{background:#ffffff0a;border:1px solid #2a2a3b;border-radius:12px;display:inline-flex;gap:8px;margin:12px 0 8px;padding:6px}.charts-toggle .seg{background:#0000;border:1px solid #0000;border-radius:10px;color:#e5e7eb;cursor:pointer;font-weight:600;padding:8px 12px}.charts-toggle .seg:hover{background:#ffffff0f}.charts-toggle .seg.active{background:#4e79a7;color:#0c1222}.charts-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(2,minmax(0,1fr))}.top-section{align-items:flex-start;display:flex;gap:1rem;margin-top:-10px}.filters-section{flex:1.2 1;min-width:300px}.map-section{flex:1 1;height:410px}.table-wrapper{max-height:400px}.table-wrapper table{width:100%}.chart-block .table-wrapper::-webkit-scrollbar-track{background:var(--gray-800)}.chart-block .table-wrapper::-webkit-scrollbar-thumb{background:var(--gray-600)}.chart-block .table-wrapper::-webkit-scrollbar-thumb:hover{background:var(--gray-500)}@media (max-width:1100px){.top-section{flex-direction:column}.filters-section{margin-bottom:1rem;width:100%}.map-section{align-items:center!important;max-width:none;width:100%}}@media (max-width:1400px){.charts-grid{grid-template-columns:1fr}.chart-row{flex-direction:column;margin-top:-35px!important}}@media (max-width:768px){.chart-block{flex:1 1 100%;max-width:115%}.full-bleed-mobile{box-sizing:border-box;left:50%;position:relative;transform:translateX(-50%);width:100vw}.recharts-cartesian-axis-tick text{font-size:8px}.chart-header{align-items:flex-start!important;flex-direction:column!important;gap:8px}.chart-header h3{margin-bottom:4px}}.more-info-btn{background:#ffffff0a;border:1px solid #ffffff1a;border-radius:8px;color:var(--text);cursor:pointer;font-family:Segoe UI,sans-serif;font-size:.75rem;font-weight:500;margin-bottom:.5rem;margin-left:1rem;padding:6px 12px;transition:all .2s ease}.more-info-btn:hover{background:#ffffff14;border-color:#fff3}.more-info-btn:active{background:#ffffff0f;transform:scale(.98)}.filters-bar{align-items:flex-end;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border:1px solid #2a2a3b;border:1px solid var(--border,#2a2a3b);border-radius:12px;display:flex;flex-wrap:wrap;gap:12px 16px;margin-top:5px;padding:12px 16px}.field{align-items:center;display:flex;gap:8px;min-width:160px}.field label{color:#cbd5e1;font-size:12px;letter-spacing:.2px}.field input[type=month],.field select{background:var(--gray-850);border:1px solid var(--border);border-radius:8px;color:var(--text);height:38px;outline:none;padding:0 10px;width:150px}.field input[type=month]:focus,.field select:focus{border-color:#4e79a7;border-color:var(--accent,#4e79a7);box-shadow:0 0 0 3px #4e79a740}.actions{align-items:end;display:flex;justify-content:flex-end}.btn{border:1px solid #0000;border-radius:8px;height:30px;padding:0 12px}.btn-clear{background:#ffffff0f;border-color:#ffffff1f;color:#e5e7eb}.btn-clear:hover{background:#ffffff1a}.btn-clear:active{transform:translateY(1px)}@media (max-width:860px){.filters-bar{align-items:stretch;flex-direction:column}.field,.field-inline{width:100%}.filters-bar select{min-width:0;width:100%}.field-inline .ym{width:100%}.field-inline .ym select{flex:1 1}.btn-clear{width:100%}}.loader-wrap{align-items:center;color:#8ab4ff;display:flex;flex-direction:column;gap:24px;justify-content:center;min-height:100%;padding:24px}.loader-wrap.fullscreen{background:radial-gradient(1200px 800px at 50% -10%,#8ab4ff14,#0000),linear-gradient(135deg,var(--gray-900),var(--dark));inset:0;position:fixed;z-index:9999}.svg-holder{filter:drop-shadow(0 6px 16px rgba(138,180,255,.25));height:400px;height:var(--loader-size,400px);overflow:visible;transform:translateX(-30px)!important;width:400px;width:var(--loader-size,400px)}.loader-text{color:#cbd5e1;font-size:16px;letter-spacing:.4px;opacity:.9}.slow-rot{animation:slow-rot 10s linear infinite}@keyframes dash{0%{stroke-dashoffset:var(--len);opacity:.5}45%{stroke-dashoffset:0;opacity:1}60%{stroke-dashoffset:0;opacity:1}to{stroke-dashoffset:calc(var(--len)*-.15);opacity:.85}}@keyframes slow-rot{0%{transform:rotate(0)}to{transform:rotate(8deg)}}.mi-overlay{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0000008c;display:grid;inset:0;padding:24px;place-items:center;position:fixed;z-index:2000}.mi-modal{background:var(--gray-900);border:1px solid #ffffff14;border-radius:12px;box-shadow:0 20px 60px #00000073;color:var(--text);max-height:120vh;overflow:auto;padding:14px 16px;width:min(100%,1200px)}.mi-head{align-items:center;display:flex;gap:12px;justify-content:space-between;margin-bottom:10px}.mi-head h4{color:var(--text);font-size:16px;margin:0}.mi-actions{align-items:center;display:flex;gap:8px}.mi-btn{background:#4e79a7;background:var(--accent,#4e79a7);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:6px 12px;transition:background .2s ease,transform .15s ease}.mi-btn:hover{background:#5a8cc1;transform:translateY(-1px)}.mi-btn:active{background:#3a5f85;transform:none}.mi-x{background:#0000;border:none;color:#cbd5e1;cursor:pointer;font-size:20px;line-height:1;padding:4px 8px}.mi-x:hover{color:#fff}.leaflet-image-layer,.leaflet-layer,.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-pane,.leaflet-pane>canvas,.leaflet-pane>svg,.leaflet-tile,.leaflet-tile-container,.leaflet-zoom-box{left:0;position:absolute;top:0}.leaflet-container{overflow:hidden}.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-tile{-webkit-user-drag:none;-webkit-user-select:none;user-select:none}.leaflet-tile::selection{background:#0000}.leaflet-safari .leaflet-tile{image-rendering:-webkit-optimize-contrast}.leaflet-safari .leaflet-tile-container{height:1600px;-webkit-transform-origin:0 0;width:1600px}.leaflet-marker-icon,.leaflet-marker-shadow{display:block}.leaflet-container .leaflet-overlay-pane svg{max-height:none!important;max-width:none!important}.leaflet-container .leaflet-marker-pane img,.leaflet-container .leaflet-shadow-pane img,.leaflet-container .leaflet-tile,.leaflet-container .leaflet-tile-pane img,.leaflet-container img.leaflet-image-layer{max-height:none!important;max-width:none!important;padding:0;width:auto}.leaflet-container img.leaflet-tile{mix-blend-mode:plus-lighter}.leaflet-container.leaflet-touch-zoom{touch-action:pan-x pan-y}.leaflet-container.leaflet-touch-drag{touch-action:none;touch-action:pinch-zoom}.leaflet-container.leaflet-touch-drag.leaflet-touch-zoom{touch-action:none}.leaflet-container{-webkit-tap-highlight-color:transparent}.leaflet-container a{-webkit-tap-highlight-color:rgba(51,181,229,.4)}.leaflet-tile{filter:inherit;visibility:hidden}.leaflet-tile-loaded{visibility:inherit}.leaflet-zoom-box{box-sizing:border-box;height:0;width:0;z-index:800}.leaflet-overlay-pane svg{-moz-user-select:none}.leaflet-pane{z-index:400}.leaflet-tile-pane{z-index:200}.leaflet-overlay-pane{z-index:400}.leaflet-shadow-pane{z-index:500}.leaflet-marker-pane{z-index:600}.leaflet-tooltip-pane{z-index:650}.leaflet-popup-pane{z-index:700}.leaflet-map-pane canvas{z-index:100}.leaflet-map-pane svg{z-index:200}.leaflet-vml-shape{height:1px;width:1px}.lvml{behavior:url(#default#VML);display:inline-block;position:absolute}.leaflet-control{pointer-events:visiblePainted;pointer-events:auto;position:relative;z-index:800}.leaflet-bottom,.leaflet-top{pointer-events:none;position:absolute;z-index:1000}.leaflet-top{top:0}.leaflet-right{right:0}.leaflet-bottom{bottom:0}.leaflet-left{left:0}.leaflet-control{clear:both;float:left}.leaflet-right .leaflet-control{float:right}.leaflet-top .leaflet-control{margin-top:10px}.leaflet-bottom .leaflet-control{margin-bottom:10px}.leaflet-left .leaflet-control{margin-left:10px}.leaflet-right .leaflet-control{margin-right:10px}.leaflet-fade-anim .leaflet-popup{opacity:0;transition:opacity .2s linear}.leaflet-fade-anim .leaflet-map-pane .leaflet-popup{opacity:1}.leaflet-zoom-animated{transform-origin:0 0}svg.leaflet-zoom-animated{will-change:transform}.leaflet-zoom-anim .leaflet-zoom-animated{transition:transform .25s cubic-bezier(0,0,.25,1)}.leaflet-pan-anim .leaflet-tile,.leaflet-zoom-anim .leaflet-tile{transition:none}.leaflet-zoom-anim .leaflet-zoom-hide{visibility:hidden}.leaflet-interactive{cursor:pointer}.leaflet-grab{cursor:grab}.leaflet-crosshair,.leaflet-crosshair .leaflet-interactive{cursor:crosshair}.leaflet-control,.leaflet-popup-pane{cursor:auto}.leaflet-dragging .leaflet-grab,.leaflet-dragging .leaflet-grab .leaflet-interactive,.leaflet-dragging .leaflet-marker-draggable{cursor:move;cursor:grabbing}.leaflet-image-layer,.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-pane>svg path,.leaflet-tile-container{pointer-events:none}.leaflet-image-layer.leaflet-interactive,.leaflet-marker-icon.leaflet-interactive,.leaflet-pane>svg path.leaflet-interactive,svg.leaflet-image-layer.leaflet-interactive path{pointer-events:visiblePainted;pointer-events:auto}.leaflet-container{background:#ddd;outline-offset:1px}.leaflet-container a{color:#0078a8}.leaflet-zoom-box{background:#ffffff80;border:2px dotted #38f}.leaflet-container{font-family:Helvetica Neue,Arial,Helvetica,sans-serif;font-size:12px;font-size:.75rem;line-height:1.5}.leaflet-bar{border-radius:4px;box-shadow:0 1px 5px #000000a6}.leaflet-bar a{background-color:#fff;border-bottom:1px solid #ccc;color:#000;display:block;height:26px;line-height:26px;text-align:center;text-decoration:none;width:26px}.leaflet-bar a,.leaflet-control-layers-toggle{background-position:50% 50%;background-repeat:no-repeat;display:block}.leaflet-bar a:focus,.leaflet-bar a:hover{background-color:#f4f4f4}.leaflet-bar a:first-child{border-top-left-radius:4px;border-top-right-radius:4px}.leaflet-bar a:last-child{border-bottom:none;border-bottom-left-radius:4px;border-bottom-right-radius:4px}.leaflet-bar a.leaflet-disabled{background-color:#f4f4f4;color:#bbb;cursor:default}.leaflet-touch .leaflet-bar a{height:30px;line-height:30px;width:30px}.leaflet-touch .leaflet-bar a:first-child{border-top-left-radius:2px;border-top-right-radius:2px}.leaflet-touch .leaflet-bar a:last-child{border-bottom-left-radius:2px;border-bottom-right-radius:2px}.leaflet-control-zoom-in,.leaflet-control-zoom-out{font:700 18px Lucida Console,Monaco,monospace;text-indent:1px}.leaflet-touch .leaflet-control-zoom-in,.leaflet-touch .leaflet-control-zoom-out{font-size:22px}.leaflet-control-layers{background:#fff;border-radius:5px;box-shadow:0 1px 5px #0006}.leaflet-control-layers-toggle{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABoAAAAaCAQAAAADQ4RFAAACf0lEQVR4AY1UM3gkARTePdvdoTxXKc+qTl3aU5U6b2Kbkz3Gtq3Zw6ziLGNPzrYx7946Tr6/ee/XeCQ4D3ykPtL5tHno4n0d/h3+xfuWHGLX81cn7r0iTNzjr7LrlxCqPtkbTQEHeqOrTy4Yyt3VCi/IOB0v7rVC7q45Q3Gr5K6jt+3Gl5nCoDD4MtO+j96Wu8atmhGqcNGHObuf8OM/x3AMx38+4Z2sPqzCxRFK2aF2e5Jol56XTLyggAMTL56XOMoS1W4pOyjUcGGQdZxU6qRh7B9Zp+PfpOFlqt0zyDZckPi1ttmIp03jX8gyJ8a/PG2yutpS/Vol7peZIbZcKBAEEheEIAgFbDkz5H6Zrkm2hVWGiXKiF4Ycw0RWKdtC16Q7qe3X4iOMxruonzegJzWaXFrU9utOSsLUmrc0YjeWYjCW4PDMADElpJSSQ0vQvA1Tm6/JlKnqFs1EGyZiFCqnRZTEJJJiKRYzVYzJck2Rm6P4iH+cmSY0YzimYa8l0EtTODFWhcMIMVqdsI2uiTvKmTisIDHJ3od5GILVhBCarCfVRmo4uTjkhrhzkiBV7SsaqS+TzrzM1qpGGUFt28pIySQHR6h7F6KSwGWm97ay+Z+ZqMcEjEWebE7wxCSQwpkhJqoZA5ivCdZDjJepuJ9IQjGGUmuXJdBFUygxVqVsxFsLMbDe8ZbDYVCGKxs+W080max1hFCarCfV+C1KATwcnvE9gRRuMP2prdbWGowm1KB1y+zwMMENkM755cJ2yPDtqhTI6ED1M/82yIDtC/4j4BijjeObflpO9I9MwXTCsSX8jWAFeHr05WoLTJ5G8IQVS/7vwR6ohirYM7f6HzYpogfS3R2OAAAAAElFTkSuQmCC);height:36px;width:36px}.leaflet-retina .leaflet-control-layers-toggle{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADQAAAA0CAQAAABvcdNgAAAEsklEQVR4AWL4TydIhpZK1kpWOlg0w3ZXP6D2soBtG42jeI6ZmQTHzAxiTbSJsYLjO9HhP+WOmcuhciVnmHVQcJnp7DFvScowZorad/+V/fVzMdMT2g9Cv9guXGv/7pYOrXh2U+RRR3dSd9JRx6bIFc/ekqHI29JC6pJ5ZEh1yWkhkbcFeSjxgx3L2m1cb1C7bceyxA+CNjT/Ifff+/kDk2u/w/33/IeCMOSaWZ4glosqT3DNnNZQ7Cs58/3Ce5HL78iZH/vKVIaYlqzfdLu8Vi7dnvUbEza5Idt36tquZFldl6N5Z/POLof0XLK61mZCmJSWjVF9tEjUluu74IUXvgttuVIHE7YxSkaYhJZam7yiM9Pv82JYfl9nptxZaxMJE4YSPty+vF0+Y2up9d3wwijfjZbabqm/3bZ9ecKHsiGmRflnn1MW4pjHf9oLufyn2z3y1D6n8g8TZhxyzipLNPnAUpsOiuWimg52psrTZYnOWYNDTMuWBWa0tJb4rgq1UvmutpaYEbZlwU3CLJm/ayYjHW5/h7xWLn9Hh1vepDkyf7dE7MtT5LR4e7yYpHrkhOUpEfssBLq2pPhAqoSWKUkk7EDqkmK6RrCEzqDjhNDWNE+XSMvkJRDWlZTmCW0l0PHQGRZY5t1L83kT0Y3l2SItk5JAWHl2dCOBm+fPu3fo5/3v61RMCO9Jx2EEYYhb0rmNQMX/vm7gqOEJLcXTGw3CAuRNeyaPWwjR8PRqKQ1PDA/dpv+on9Shox52WFnx0KY8onHayrJzm87i5h9xGw/tfkev0jGsQizqezUKjk12hBMKJ4kbCqGPVNXudyyrShovGw5CgxsRICxF6aRmSjlBnHRzg7Gx8fKqEubI2rahQYdR1YgDIRQO7JvQyD52hoIQx0mxa0ODtW2Iozn1le2iIRdzwWewedyZzewidueOGqlsn1MvcnQpuVwLGG3/IR1hIKxCjelIDZ8ldqWz25jWAsnldEnK0Zxro19TGVb2ffIZEsIO89EIEDvKMPrzmBOQcKQ+rroye6NgRRxqR4U8EAkz0CL6uSGOm6KQCdWjvjRiSP1BPalCRS5iQYiEIvxuBMJEWgzSoHADcVMuN7IuqqTeyUPq22qFimFtxDyBBJEwNyt6TM88blFHao/6tWWhuuOM4SAK4EI4QmFHA+SEyWlp4EQoJ13cYGzMu7yszEIBOm2rVmHUNqwAIQabISNMRstmdhNWcFLsSm+0tjJH1MdRxO5Nx0WDMhCtgD6OKgZeljJqJKc9po8juskR9XN0Y1lZ3mWjLR9JCO1jRDMd0fpYC2VnvjBSEFg7wBENc0R9HFlb0xvF1+TBEpF68d+DHR6IOWVv2BECtxo46hOFUBd/APU57WIoEwJhIi2CdpyZX0m93BZicktMj1AS9dClteUFAUNUIEygRZCtik5zSxI9MubTBH1GOiHsiLJ3OCoSZkILa9PxiN0EbvhsAo8tdAf9Seepd36lGWHmtNANTv5Jd0z4QYyeo/UEJqxKRpg5LZx6btLPsOaEmdMyxYdlc8LMaJnikDlhclqmPiQnTEpLUIZEwkRagjYkEibQErwhkTAKCLQEbUgkzJQWc/0PstHHcfEdQ+UAAAAASUVORK5CYII=);background-size:26px 26px}.leaflet-touch .leaflet-control-layers-toggle{height:44px;width:44px}.leaflet-control-layers .leaflet-control-layers-list,.leaflet-control-layers-expanded .leaflet-control-layers-toggle{display:none}.leaflet-control-layers-expanded .leaflet-control-layers-list{display:block;position:relative}.leaflet-control-layers-expanded{background:#fff;color:#333;padding:6px 10px 6px 6px}.leaflet-control-layers-scrollbar{overflow-x:hidden;overflow-y:scroll;padding-right:5px}.leaflet-control-layers-selector{margin-top:2px;position:relative;top:1px}.leaflet-control-layers label{display:block;font-size:13px;font-size:1.08333em}.leaflet-control-layers-separator{border-top:1px solid #ddd;height:0;margin:5px -10px 5px -6px}.leaflet-default-icon-path{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABkAAAApCAYAAADAk4LOAAAFgUlEQVR4Aa1XA5BjWRTN2oW17d3YaZtr2962HUzbDNpjszW24mRt28p47v7zq/bXZtrp/lWnXr337j3nPCe85NcypgSFdugCpW5YoDAMRaIMqRi6aKq5E3YqDQO3qAwjVWrD8Ncq/RBpykd8oZUb/kaJutow8r1aP9II0WmLKLIsJyv1w/kqw9Ch2MYdB++12Onxee/QMwvf4/Dk/Lfp/i4nxTXtOoQ4pW5Aj7wpici1A9erdAN2OH64x8OSP9j3Ft3b7aWkTg/Fm91siTra0f9on5sQr9INejH6CUUUpavjFNq1B+Oadhxmnfa8RfEmN8VNAsQhPqF55xHkMzz3jSmChWU6f7/XZKNH+9+hBLOHYozuKQPxyMPUKkrX/K0uWnfFaJGS1QPRtZsOPtr3NsW0uyh6NNCOkU3Yz+bXbT3I8G3xE5EXLXtCXbbqwCO9zPQYPRTZ5vIDXD7U+w7rFDEoUUf7ibHIR4y6bLVPXrz8JVZEql13trxwue/uDivd3fkWRbS6/IA2bID4uk0UpF1N8qLlbBlXs4Ee7HLTfV1j54APvODnSfOWBqtKVvjgLKzF5YdEk5ewRkGlK0i33Eofffc7HT56jD7/6U+qH3Cx7SBLNntH5YIPvODnyfIXZYRVDPqgHtLs5ABHD3YzLuespb7t79FY34DjMwrVrcTuwlT55YMPvOBnRrJ4VXTdNnYug5ucHLBjEpt30701A3Ts+HEa73u6dT3FNWwflY86eMHPk+Yu+i6pzUpRrW7SNDg5JHR4KapmM5Wv2E8Tfcb1HoqqHMHU+uWDD7zg54mz5/2BSnizi9T1Dg4QQXLToGNCkb6tb1NU+QAlGr1++eADrzhn/u8Q2YZhQVlZ5+CAOtqfbhmaUCS1ezNFVm2imDbPmPng5wmz+gwh+oHDce0eUtQ6OGDIyR0uUhUsoO3vfDmmgOezH0mZN59x7MBi++WDL1g/eEiU3avlidO671bkLfwbw5XV2P8Pzo0ydy4t2/0eu33xYSOMOD8hTf4CrBtGMSoXfPLchX+J0ruSePw3LZeK0juPJbYzrhkH0io7B3k164hiGvawhOKMLkrQLyVpZg8rHFW7E2uHOL888IBPlNZ1FPzstSJM694fWr6RwpvcJK60+0HCILTBzZLFNdtAzJaohze60T8qBzyh5ZuOg5e7uwQppofEmf2++DYvmySqGBuKaicF1blQjhuHdvCIMvp8whTTfZzI7RldpwtSzL+F1+wkdZ2TBOW2gIF88PBTzD/gpeREAMEbxnJcaJHNHrpzji0gQCS6hdkEeYt9DF/2qPcEC8RM28Hwmr3sdNyht00byAut2k3gufWNtgtOEOFGUwcXWNDbdNbpgBGxEvKkOQsxivJx33iow0Vw5S6SVTrpVq11ysA2Rp7gTfPfktc6zhtXBBC+adRLshf6sG2RfHPZ5EAc4sVZ83yCN00Fk/4kggu40ZTvIEm5g24qtU4KjBrx/BTTH8ifVASAG7gKrnWxJDcU7x8X6Ecczhm3o6YicvsLXWfh3Ch1W0k8x0nXF+0fFxgt4phz8QvypiwCCFKMqXCnqXExjq10beH+UUA7+nG6mdG/Pu0f3LgFcGrl2s0kNNjpmoJ9o4B29CMO8dMT4Q5ox8uitF6fqsrJOr8qnwNbRzv6hSnG5wP+64C7h9lp30hKNtKdWjtdkbuPA19nJ7Tz3zR/ibgARbhb4AlhavcBebmTHcFl2fvYEnW0ox9xMxKBS8btJ+KiEbq9zA4RthQXDhPa0T9TEe69gWupwc6uBUphquXgf+/FrIjweHQS4/pduMe5ERUMHUd9xv8ZR98CxkS4F2n3EUrUZ10EYNw7BWm9x1GiPssi3GgiGRDKWRYZfXlON+dfNbM+GgIwYdwAAAAASUVORK5CYII=)}.leaflet-container .leaflet-control-attribution{background:#fff;background:#fffc;margin:0}.leaflet-control-attribution,.leaflet-control-scale-line{color:#333;line-height:1.4;padding:0 5px}.leaflet-control-attribution a{text-decoration:none}.leaflet-control-attribution a:focus,.leaflet-control-attribution a:hover{text-decoration:underline}.leaflet-attribution-flag{display:inline!important;height:.6669em;vertical-align:initial!important;width:1em}.leaflet-left .leaflet-control-scale{margin-left:5px}.leaflet-bottom .leaflet-control-scale{margin-bottom:5px}.leaflet-control-scale-line{background:#fffc;border:2px solid #777;border-top:none;box-sizing:border-box;line-height:1.1;padding:2px 5px 1px;text-shadow:1px 1px #fff;white-space:nowrap}.leaflet-control-scale-line:not(:first-child){border-bottom:none;border-top:2px solid #777;margin-top:-2px}.leaflet-control-scale-line:not(:first-child):not(:last-child){border-bottom:2px solid #777}.leaflet-touch .leaflet-bar,.leaflet-touch .leaflet-control-attribution,.leaflet-touch .leaflet-control-layers{box-shadow:none}.leaflet-touch .leaflet-bar,.leaflet-touch .leaflet-control-layers{background-clip:padding-box;border:2px solid #0003}.leaflet-popup{margin-bottom:20px;position:absolute;text-align:center}.leaflet-popup-content-wrapper{border-radius:12px;padding:1px;text-align:left}.leaflet-popup-content{font-size:13px;font-size:1.08333em;line-height:1.3;margin:13px 24px 13px 20px;min-height:1px}.leaflet-popup-content p{margin:1.3em 0}.leaflet-popup-tip-container{height:20px;left:50%;margin-left:-20px;margin-top:-1px;overflow:hidden;pointer-events:none;position:absolute;width:40px}.leaflet-popup-tip{height:17px;margin:-10px auto 0;padding:1px;pointer-events:auto;transform:rotate(45deg);width:17px}.leaflet-popup-content-wrapper,.leaflet-popup-tip{background:#fff;box-shadow:0 3px 14px #0006;color:#333}.leaflet-container a.leaflet-popup-close-button{background:#0000;border:none;color:#757575;font:16px/24px Tahoma,Verdana,sans-serif;height:24px;position:absolute;right:0;text-align:center;text-decoration:none;top:0;width:24px}.leaflet-container a.leaflet-popup-close-button:focus,.leaflet-container a.leaflet-popup-close-button:hover{color:#585858}.leaflet-popup-scrolled{overflow:auto}.leaflet-oldie .leaflet-popup-content-wrapper{-ms-zoom:1}.leaflet-oldie .leaflet-popup-tip{-ms-filter:"progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678, M12=0.70710678, M21=-0.70710678, M22=0.70710678)";filter:progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678,M12=0.70710678,M21=-0.70710678,M22=0.70710678);margin:0 auto;width:24px}.leaflet-oldie .leaflet-control-layers,.leaflet-oldie .leaflet-control-zoom,.leaflet-oldie .leaflet-popup-content-wrapper,.leaflet-oldie .leaflet-popup-tip{border:1px solid #999}.leaflet-div-icon{background:#fff;border:1px solid #666}.leaflet-tooltip{background-color:#fff;border:1px solid #fff;border-radius:3px;box-shadow:0 1px 3px #0006;color:#222;padding:6px;pointer-events:none;position:absolute;-webkit-user-select:none;user-select:none;white-space:nowrap}.leaflet-tooltip.leaflet-interactive{cursor:pointer;pointer-events:auto}.leaflet-tooltip-bottom:before,.leaflet-tooltip-left:before,.leaflet-tooltip-right:before,.leaflet-tooltip-top:before{background:#0000;border:6px solid #0000;content:"";pointer-events:none;position:absolute}.leaflet-tooltip-bottom{margin-top:6px}.leaflet-tooltip-top{margin-top:-6px}.leaflet-tooltip-bottom:before,.leaflet-tooltip-top:before{left:50%;margin-left:-6px}.leaflet-tooltip-top:before{border-top-color:#fff;bottom:0;margin-bottom:-12px}.leaflet-tooltip-bottom:before{border-bottom-color:#fff;margin-left:-6px;margin-top:-12px;top:0}.leaflet-tooltip-left{margin-left:-6px}.leaflet-tooltip-right{margin-left:6px}.leaflet-tooltip-left:before,.leaflet-tooltip-right:before{margin-top:-6px;top:50%}.leaflet-tooltip-left:before{border-left-color:#fff;margin-right:-12px;right:0}.leaflet-tooltip-right:before{border-right-color:#fff;left:0;margin-left:-12px}@media print{.leaflet-control{-webkit-print-color-adjust:exact;print-color-adjust:exact}}.chart-row2{align-items:stretch;display:flex;gap:1rem;margin-top:20px}.chart-block{background:#0f172a;background:var(--gray-900,#0f172a);border:1px solid #1f2937;border:1px solid var(--gray-800,#1f2937);border-radius:12px;box-shadow:0 2px 12px #00000040;display:flex;flex:1 1;flex-direction:column;min-width:280px;padding:12px}.chart-block .chart-header,.chart-block>h3{color:#e5e7eb;color:var(--text,#e5e7eb);flex:0 0 auto;font-size:1.05rem;font-weight:600;margin:0 0 12px}.table-wrapper{border-radius:8px;flex:1 1 auto;max-height:clamp(220px,35vh,360px);overflow-x:auto;overflow-y:auto}.chart-block .table-wrapper::-webkit-scrollbar{height:8px;width:8px}.chart-block .table-wrapper::-webkit-scrollbar-track{background:#1f2937;background:var(--gray-800,#1f2937);border-radius:4px}.chart-block .table-wrapper::-webkit-scrollbar-thumb{background:#4b5563;background:var(--gray-600,#4b5563);border-radius:4px}.chart-block .table-wrapper::-webkit-scrollbar-thumb:hover{background:#6b7280;background:var(--gray-500,#6b7280)}.more-info-table{border-collapse:collapse;color:#e5e7eb;color:var(--text,#e5e7eb);font-size:.9rem;min-width:700px;table-layout:auto;width:100%}.more-info-table thead th{background:#0f172a;background:var(--gray-900,#0f172a);position:sticky;text-align:left;top:0;z-index:1}.more-info-table tbody td,.more-info-table thead th{border-bottom:1px solid #1f2937;border-bottom:1px solid var(--gray-800,#1f2937);overflow:hidden;padding:6px 8px;text-overflow:ellipsis;white-space:nowrap}.more-info-table tbody td{line-height:1.2}.more-info-table .right{text-align:right;white-space:nowrap}.more-info-table tbody tr:nth-child(2n) td{background:#ffffff05}.table-wrapper table.more-info-table td:nth-child(2){text-overflow:ellipsis;white-space:normal;word-break:break-word}.table-wrapper table.more-info-table th:nth-child(2){overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.table-wrapper table.more-info-table td:nth-child(3),.table-wrapper table.more-info-table td:nth-child(4),.table-wrapper table.more-info-table td:nth-child(5),.table-wrapper table.more-info-table th:nth-child(3),.table-wrapper table.more-info-table th:nth-child(4),.table-wrapper table.more-info-table th:nth-child(5){white-space:nowrap}@media (max-width:1024px){.chart-row2{flex-direction:column}}@media (max-width:768px){.chart-row2{flex:1 1 100%;max-width:100%;padding-left:10px;padding-right:10px}.table-wrapper{-webkit-overflow-scrolling:touch;overflow-x:auto}.table-wrapper .more-info-table{min-width:680px}}.searchable-select{position:relative;width:100%}.searchable-select-label{color:#e0e0e0;color:var(--text,#e0e0e0);display:block;font-size:14px;font-weight:500;margin-bottom:4px}.searchable-select-container{position:relative}.searchable-select-input{align-items:center;background:var(--gray-850)!important;border:1px solid #2a2a3b!important;border:1px solid var(--border,#2a2a3b)!important;border-radius:8px!important;color:var(--text)!important;cursor:pointer;display:flex;height:30px!important;padding:0 10px!important;position:relative;transition:border-color .15s ease}.searchable-select-input:hover{border-color:#4e79a726;border-color:var(--accent-light,#4e79a726)}.searchable-select-input.open{border-color:#4e79a7;border-color:var(--accent,#4e79a7);box-shadow:0 0 0 3px #4e79a71f}.searchable-select-field{align-items:center;background:var(--gray-850)!important;border:none;color:var(--text);cursor:text;display:flex;flex:1 1;font-size:13px;outline:none}.searchable-select-arrow,.searchable-select-field::placeholder{color:#8898a6;color:var(--text-muted,#8898a6)}.searchable-select-arrow{margin-left:8px;pointer-events:none;transition:transform .15s ease}.searchable-select-input.open .searchable-select-arrow{transform:rotate(180deg)}.searchable-select-dropdown{background:var(--gray-850)!important;border:1px solid #2a2a3b!important;border:1px solid var(--border,#2a2a3b)!important;border-radius:8px;box-shadow:0 6px 18px #00000040;left:0;max-height:300px;overflow:hidden;overflow-x:hidden;position:absolute;right:0;top:calc(100% + 6px);z-index:1000}.searchable-select-options{max-height:400px;overflow-x:hidden;overflow-y:auto}.searchable-select-option{background:var(--gray-850)!important;box-sizing:border-box;color:var(--text)!important;cursor:pointer;display:block;font-size:14px;overflow:hidden!important;padding:8px 12px;text-overflow:ellipsis;transition:background-color .15s ease;white-space:nowrap;width:100%}.searchable-select-option:hover{background:#4e79a780!important;color:var(--text)!important}.searchable-select-option.selected{background:#4e79a733;font-weight:500}.searchable-select-no-results{background:var(--gray-850)!important;color:var(--text-muted)!important;font-size:14px;font-style:italic;padding:8px 12px;text-align:center}.searchable-select-options::-webkit-scrollbar{width:6px}.searchable-select-options::-webkit-scrollbar-track{background:#0000}.searchable-select-options::-webkit-scrollbar-thumb{background:#8898a6;background:var(--text-muted,#8898a6);border-radius:3px}.searchable-select-options::-webkit-scrollbar-thumb:hover{background:#4e79a726;background:var(--accent-light,#4e79a726)}@media (prefers-color-scheme:dark){.searchable-select-dropdown{box-shadow:0 4px 6px -1px #0000004d}}.month-selector-container{display:flex;flex-direction:column;gap:4px;position:relative;width:100%}.month-selector-label{color:#e0e0e0;color:var(--text,#e0e0e0);display:block;font-size:14px;font-weight:500}.month-selector-input{align-items:center;background:var(--gray-850)!important;border:1px solid #2a2a3b!important;border:1px solid var(--border,#2a2a3b)!important;border-radius:8px!important;color:var(--text)!important;cursor:pointer;display:flex;font-family:inherit;font-size:13px;height:30px;justify-content:space-between;padding:0 12px;transition:all .15s ease;-webkit-user-select:none;user-select:none}.month-selector-display{color:#e0e0e0;color:var(--text,#e0e0e0);flex:1 1}.month-selector-icon{color:#4e79a7;color:var(--accent,#4e79a7);flex-shrink:0;opacity:.7;transition:all .2s ease}.month-selector-icon.open{opacity:1;transform:scale(1.1)}.month-selector-input:hover{background:var(--gray-800)!important;border-color:#4e79a74d;border-color:var(--accent-light,#4e79a74d)}.month-selector-input:hover .month-selector-icon{opacity:1}.month-selector-input:focus{background:var(--gray-800)!important;border-color:#4e79a7;border-color:var(--accent,#4e79a7);box-shadow:0 0 0 3px #4e79a71f;outline:none}.month-selector-dropdown{background:#1a1a2e;background:var(--gray-850,#1a1a2e);border:1px solid #2a2a3b;border:1px solid var(--border,#2a2a3b);border-radius:12px;box-shadow:0 8px 24px #0006,0 2px 8px #0003;box-sizing:border-box;left:50%;max-width:calc(100vw - 32px);min-width:200px;padding:12px;position:absolute;top:calc(100% + 6px);transform:translateX(-50%);z-index:1000}@keyframes dropdownFadeIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.month-selector-year-header{align-items:center;border-bottom:1px solid #2a2a3b;border-bottom:1px solid var(--border,#2a2a3b);display:flex;justify-content:space-between;margin-bottom:12px;padding:0 4px 8px}.month-selector-year-display{color:#4e79a7;color:var(--accent,#4e79a7);flex:1 1;font-size:16px;font-weight:600;text-align:center}.month-selector-year-btn{align-items:center;background:#0000;border:1px solid #2a2a3b;border:1px solid var(--border,#2a2a3b);border-radius:6px;color:#e0e0e0;color:var(--text,#e0e0e0);cursor:pointer;display:flex;font-size:18px;height:28px;justify-content:center;line-height:1;padding:0;transition:all .15s ease;width:28px}.month-selector-year-btn:hover{background:#4e79a7;background:var(--accent,#4e79a7);border-color:#4e79a7;border-color:var(--accent,#4e79a7);color:#fff;transform:scale(1.05)}.month-selector-year-btn:active{transform:scale(.95)}.month-selector-grid{grid-gap:4px;display:grid;gap:4px;grid-template-columns:repeat(3,1fr)}.month-selector-month-btn{background:#16213e;background:var(--gray-800,#16213e);border:1px solid #2a2a3b;border:1px solid var(--border,#2a2a3b);border-radius:8px;color:#e0e0e0;color:var(--text,#e0e0e0);cursor:pointer;font-size:11px;font-weight:500;padding:10px 8px;text-align:center;transition:all .15s ease}.month-selector-month-btn:hover{background:#0f1419;background:var(--gray-700,#0f1419);box-shadow:0 4px 8px #0003;transform:translateY(-2px)}.month-selector-month-btn:active{transform:translateY(0)}.month-selector-month-btn.selected{background:#4e79a7;background:var(--accent,#4e79a7);border-color:#4e79a7;border-color:var(--accent,#4e79a7);box-shadow:0 2px 8px #4e79a766;color:#fff;font-weight:600}.month-selector-month-btn.selected:hover{background:#3d5f85;background:var(--accent-dark,#3d5f85);border-color:#3d5f85;border-color:var(--accent-dark,#3d5f85);color:#fff}@media (max-width:768px){.month-selector-dropdown{left:0;min-width:100%;right:0;transform:none}.month-selector-grid{gap:6px;grid-template-columns:repeat(3,1fr)}.month-selector-month-btn{font-size:12px;padding:10px 6px}}.telemetry-page{padding:1rem}.telemetry-nav{background:#fff;border-bottom:2px solid #e9ecef;border-radius:8px 8px 0 0;box-shadow:0 2px 4px #0000001a;display:flex;gap:0;margin-bottom:2rem;overflow:hidden}.nav-tab{background:#f8f9fa;border:none;border-bottom:3px solid #0000;color:#6c757d;cursor:pointer;flex:1 1;font-size:1rem;font-weight:600;padding:1rem 1.5rem;position:relative;transition:all .3s ease}.nav-tab:hover{background:#e9ecef;color:#495057}.nav-tab.active{background:#fff;border-bottom-color:#007bff;box-shadow:inset 0 3px 0 #007bff;color:#007bff}.nav-tab.active:first-child{border-bottom-color:#28a745;box-shadow:inset 0 3px 0 #28a745;color:#28a745}.nav-tab.active:last-child{border-bottom-color:#dc3545;box-shadow:inset 0 3px 0 #dc3545;color:#dc3545}.telemetry-content{display:flex;flex-direction:column;gap:2rem}.telemetry-row{grid-gap:1.5rem;align-items:start;display:grid;gap:1.5rem;grid-template-columns:1fr 1fr}.telemetry-map-section{border-radius:8px;height:fit-content;padding:1.5rem}.telemetry-map-section h2{color:#2c3e50;color:var(--text-primary,#2c3e50);font-size:1.2rem;margin:0 0 1rem}.telemetry-chart-section{background:#f8f9fa;background:var(--bg-secondary,#f8f9fa);border:1px solid #e0e0e0;border:1px solid var(--border-color,#e0e0e0);border-radius:8px;height:fit-content;padding:1.5rem}.filters-bar2.dropdown-section2{align-items:center;border-bottom:1px solid #ffffff12;display:flex;gap:12px;justify-content:center;margin-top:40px;padding:.5rem 0}.filters-bar2.dropdown-section2 .field{flex:1 1 220px;min-width:160px}.filters-bar2.dropdown-section2 .field select{background:#fff;border:1px solid #d1d5db;border-radius:6px;padding:8px 10px}.fixed-select{width:180px}.filters-bar2.dropdown-section2 .actions{align-items:center;display:flex;flex:0 0 auto;justify-content:flex-end}@media (max-width:1324px){.telemetry-row{grid-template-columns:1fr}}@media (max-width:768px){.telemetry-filter{align-items:stretch;flex-direction:column}.telemetry-filter .field{min-width:auto}.telemetry-header h1{font-size:1.5rem}.telemetry-tabs{overflow-x:auto;white-space:nowrap}.telemetry-tabs .tab{flex-shrink:0}}.outlier-dashboard{color:#e6edf3;color:var(--text,#e6edf3);display:flex;flex-direction:column;gap:1.5rem;padding-top:3rem}.outlier-supplies-section{border:1px solid #1f2937;border:1px solid var(--gray-800,#1f2937);border-radius:12px;padding:12px}.supplies-header{align-items:center;display:flex;flex-wrap:wrap;gap:8px;justify-content:space-between;margin-bottom:10px}.supplies-title{color:#e6edf3;color:var(--text,#e6edf3);font-size:1.2rem;margin:0}.supplies-controls{align-items:center;display:flex;gap:8px}.supply-search{background:#161b22;background:var(--gray-900,#161b22);border:1px solid #1f2937;border:1px solid var(--gray-800,#1f2937);border-radius:8px;color:#e6edf3;color:var(--text,#e6edf3);font-size:.9rem;padding:8px 10px}.outliers-checkbox{align-items:center;color:#6c757d;color:var(--text-secondary,#6c757d);display:flex;font-size:13px;gap:6px}.outlier-cards{display:flex;gap:8px;overflow-x:auto;padding-bottom:.5rem;scrollbar-color:#4e79a7 #0000;scrollbar-color:var(--primary-color,#4e79a7) #0000;scrollbar-width:thin}.outlier-cards::-webkit-scrollbar{height:6px}.outlier-cards::-webkit-scrollbar-track{background:#1e2329;background:var(--gray-850,#1e2329);border-radius:3px}.outlier-cards::-webkit-scrollbar-thumb{background:#2f80ed;background:var(--primary-color,#2f80ed);border-radius:3px}.outlier-card{background:#161b22;background:var(--gray-900,#161b22);border:1px solid #1f2937;border:1px solid var(--gray-800,#1f2937);border-left:6px solid #6c757d;border-radius:10px;cursor:pointer;flex:0 0 280px;padding:10px;transition:all .2s ease}.outlier-card:hover{box-shadow:0 4px 12px #0000001a;transform:translateY(-2px)}.outlier-card.selected{background:#2f80ed0f;border-color:#2f80ed;border-color:var(--primary-color,#2f80ed)}.card-header{align-items:center;display:flex;gap:8px}.severity-icon{font-size:18px}.meter-number{color:#e6edf3;color:var(--text,#e6edf3);font-size:14px;font-weight:700}.severity-badge{border:1px solid #0000001a;border-radius:999px;font-size:11px;font-weight:600;margin-left:auto;padding:2px 6px}.severity-badge.severity-high{background:#dc35451a;border-color:#dc3545;color:#dc3545}.severity-badge.severity-medium{background:#fd7e141f;border-color:#fd7e14;color:#fd7e14}.severity-badge.severity-low{background:#ffc10729;border-color:#ffc107;color:#ffc107}.severity-badge.severity-{background:#0000000d;color:#6c757d}.card-stats{grid-gap:8px;display:grid;gap:8px;grid-template-columns:1fr 1fr;margin-top:8px}.stat-item{background:#ffffff0d;border:1px solid #1f2937;border:1px solid var(--gray-800,#1f2937);border-radius:8px;padding:8px}.stat-label{color:#6c757d;color:var(--text-secondary,#6c757d);font-size:11px;opacity:.8}.stat-value{color:#e6edf3;color:var(--text,#e6edf3);font-size:16px;font-weight:700}.card-date-range{color:#6c757d;color:var(--text-secondary,#6c757d);font-size:12px;margin-top:8px;opacity:.85}.outlier-chart-section{border-radius:12px;min-height:480px}.chart-header2{align-items:baseline;align-items:center;display:flex;justify-content:space-between;margin-bottom:12px;padding:0 4px}.chart-header2 h3{color:#e5e7eb;letter-spacing:.2px}.chart-title{font-size:1.2rem}.no-selection{display:grid;min-height:400px;place-items:center}.no-selection-content{opacity:.9;text-align:center}.no-selection-content h3{color:#2c3e50;color:var(--text-primary,#2c3e50);margin:0 0 .5rem}.no-selection-content p{color:#6c757d;color:var(--text-secondary,#6c757d);margin:0}.detail-loading,.loading-message{color:#6c757d;color:var(--text-secondary,#6c757d);padding:12px}.outlier-chart-container{display:flex;flex-direction:column;gap:1.5rem}.outlier-stats{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));margin-bottom:1rem}.stat-card{background:#f8f9fa;background:var(--bg-secondary,#f8f9fa);border:2px solid #0000;border-radius:8px;padding:1rem;text-align:center}.stat-card.outlier{background:#fff5f5;border-color:#fed7d7}.stat-card .stat-label{color:#6c757d;color:var(--text-secondary,#6c757d);display:block;font-size:.8rem;letter-spacing:.5px;margin-bottom:.5rem;text-transform:uppercase}.stat-card .stat-value{color:#2c3e50;color:var(--text-primary,#2c3e50);display:block;font-size:1.2rem;font-weight:700}.chart-wrapper{border:1px solid #1f2937;border:1px solid var(--gray-800,#1f2937);border-radius:8px;padding:1rem}.chart-wrapper h4{color:#e6edf3;color:var(--text,#e6edf3);margin:0 0 1rem;text-align:center}.outlier-list{background:#fff5f5;border:1px solid #fed7d7;border-radius:8px;padding:1rem}.outlier-list h4{color:#dc3545;margin:0 0 1rem}.outlier-items{display:flex;flex-direction:column;gap:.5rem;max-height:200px;overflow-y:auto}.outlier-item{align-items:center;background:#fff;border:1px solid #fecaca;border-radius:4px;display:flex;justify-content:space-between;padding:.5rem}.outlier-time{color:#374151;font-family:monospace;font-size:.9rem}.outlier-consumption{color:#dc3545;font-weight:600}.outlier-more{color:#6c757d;color:var(--text-secondary,#6c757d);font-style:italic;padding:.5rem;text-align:center}.outlier-tooltip{background:#000000e6;border-radius:6px;box-shadow:0 4px 12px #0000004d;color:#fff;font-size:.9rem;padding:.75rem}.tooltip-label{font-weight:600}.tooltip-consumption,.tooltip-label{margin:0 0 .25rem}.tooltip-outlier{color:#ff6b6b;font-weight:700;margin:0}.chart-title{color:#2c3e50;color:var(--text-primary,#2c3e50);font-size:1.1rem;margin:0;text-align:center}.no-data{color:#6c757d;color:var(--text-secondary,#6c757d);margin:1rem 0;opacity:.8;text-align:center}@media (max-width:768px){.supplies-header{align-items:stretch;flex-direction:column}.supplies-controls{justify-content:space-between}.chart-header2{align-items:stretch;flex-direction:column}.outlier-cards{gap:.5rem}.outlier-card{min-width:250px}}.map-page-container{height:calc(100vh - 92px);overflow:hidden;position:relative;width:100%}.map-page-container.with-sidebar-open,.with-sidebar .app-content .map-page-container{height:calc(100vh - 32px)}.map-page-container.with-sidebar-closed{height:calc(100vh - 92px)}.map-container-responsive{height:100%;position:relative;width:100%}.map-loading-center{background:#000c;border-radius:8px;color:#fff;left:50%;padding:2rem;position:absolute;text-align:center;top:50%;transform:translate(-50%,-50%);z-index:1000}.map-overlay-filters{background:#11182766;box-sizing:border-box;display:flex;flex-direction:column;gap:.3rem;left:10px!important;overflow-y:none;top:10px!important;width:260px;z-index:200}.map-overlay-filters .overlay-header h3{border-bottom:1px solid #4b556366;color:#fff;font-size:1.125rem;font-weight:600;margin-bottom:1rem;padding-bottom:.75rem}.map-overlay-filters .overlay-field{box-sizing:border-box;display:flex;flex-direction:column;margin-bottom:0;width:100%}.map-overlay-filters .overlay-field label{color:#f3f4f6e6;display:block;font-size:.875rem;font-weight:500;margin-bottom:.5rem}.map-overlay-filters .overlay-field input,.map-overlay-filters .overlay-field select{background:#1f2937cc;border:1px solid #4b556380;border-radius:6px;color:#fff;font-size:.875rem;padding:.5rem .75rem;transition:all .15s ease;width:100%}.map-overlay-filters .overlay-field input,.map-overlay-filters .overlay-field input[type=month],.map-overlay-filters .overlay-field select{box-sizing:border-box;height:38px;line-height:1.2}.map-overlay-filters .overlay-field input[type=month]{padding:.35rem .75rem}.map-overlay-filters .overlay-field input:focus,.map-overlay-filters .overlay-field select:focus{background:#1f2937f2;border-color:#3b82f6b3;outline:none}.map-overlay-filters .overlay-actions{border-top:1px solid #4b556366;padding-top:1rem}.map-overlay-filters .btn-clear-overlay{background:#ef4444cc;border:1px solid #ef444480;border-radius:6px;color:#fff;cursor:pointer;font-size:.875rem;font-weight:500;padding:.625rem 1rem;transition:all .15s ease;width:100%}.map-overlay-filters .btn-clear-overlay:hover{background:#ef4444e6;border-color:#ef4444b3}.map-overlay-summary{background:#111827cc;border:1px solid #4b55634d;border-radius:12px;box-shadow:0 20px 25px -5px #0000004d,0 10px 10px -5px #0000001a;min-width:150px;padding:1rem;position:absolute;right:10px;top:10px;z-index:1000}.map-overlay-summary .summary-item{align-items:center;display:flex;justify-content:space-between;margin-bottom:.75rem}.map-overlay-summary .summary-item:last-child{margin-bottom:0}.map-overlay-summary .summary-label{color:#f3f4f6b3;font-size:.875rem;font-weight:500}.map-filters-toggle{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#0009;border:1px solid #ffffff14;border-radius:8px;color:#fff;cursor:pointer;font-weight:600;left:18px;padding:8px 10px;position:absolute;top:18px;z-index:1100}.map-filters-toggle:hover{background:#000000b3}.map-overlay-filters{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#111827b8;border:1px solid #4b556340;border-radius:12px;box-shadow:0 18px 22px -5px #00000047,0 8px 8px -5px #00000014;left:20px;max-height:calc(100vh - 40px);padding:1.25rem;position:absolute;top:20px;width:280px;z-index:1000}.map-overlay-filters .overlay-close{background:#0000;border:none;border-radius:6px;color:#f3f4f680;cursor:pointer;font-size:18px;line-height:1;padding:4px 6px;position:absolute;right:8px;top:8px}.map-overlay-filters .overlay-close:hover{color:#f3f4f6e6}.map-overlay-close-global{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#0009;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:8px 10px;position:absolute;right:14px;top:14px;z-index:1200}.map-overlay-close-global:hover{background:#000000bf}.map-overlay-summary .summary-value{color:#fff;font-size:.95rem;font-weight:600;text-align:right}.map-overlay-legend{background:#11182799;border:1px solid #4b55634d;border-radius:12px;bottom:10px;box-shadow:0 20px 25px -5px #0000004d,0 10px 10px -5px #0000001a;left:10px;min-width:250px;padding:1rem 1.5rem;position:absolute;z-index:1000}.map-overlay-legend .legend-title{color:#f3f4f6e6;font-size:.875rem;font-weight:500;margin-bottom:.75rem;text-align:center}.map-overlay-legend .legend-bar{position:relative}.map-overlay-legend .legend-gradient{background:linear-gradient(90deg,#3498db 0,#ff0 50%,red);border:1px solid #4b556380;border-radius:4px;height:16px}.map-overlay-legend .legend-labels{color:#f3f4f6b3;display:flex;font-size:.75rem;justify-content:space-between;margin-top:.5rem}.map-supply-info{background:#111827cc;border:1px solid #4b556366;border-radius:12px;box-shadow:0 20px 25px -5px #0000004d,0 10px 10px -5px #0000001a;left:50%;min-width:260px;padding:1rem 1.25rem;position:absolute;top:10px;transform:translateX(-50%);z-index:1000}.map-supply-info .supply-header{align-items:start;display:flex;gap:1rem;justify-content:space-between}.map-supply-info .supply-title{border-bottom:1px solid #4b55634d;color:#f3f4f6f2;font-size:1rem;font-weight:600;margin-bottom:.75rem;padding-bottom:.5rem}.map-supply-info .supply-details{color:#f3f4f6d9;font-size:.875rem;line-height:1.8}.map-supply-info .supply-details>div{display:flex;justify-content:space-between;margin-bottom:.4rem}.map-supply-info .supply-details>div:last-child{margin-bottom:0}.map-supply-info .supply-details strong{color:#f3f4f6b3;font-weight:500;margin-right:.5rem}.map-supply-info .supply-details span{color:#fff;font-weight:600}.map-supply-info .close-btn{background:#0000;border:none;color:#f3f4f680;cursor:pointer;font-size:18px;line-height:1;padding:0;transition:color .2s}.map-supply-info .close-btn:hover{color:#f3f4f6e6}@media (max-width:768px){.map-overlay-filters{left:10px;padding:1rem;top:10px;width:260px}.map-overlay-summary{min-width:200px;padding:1rem;right:10px;top:10px}.map-overlay-legend{bottom:10px;min-width:250px;padding:.75rem 1rem}.map-overlay-legend .legend-title{font-size:.8rem}.map-overlay-legend .legend-labels{font-size:.7rem}}.color-legend{background:var(--gray-800);border:1px solid var(--gray-700);border-radius:8px;margin-top:1rem;padding:1rem}.legend-title{color:var(--text-secondary);font-size:.875rem;font-weight:500;margin-bottom:.5rem;text-align:center}.legend-bar{position:relative}.legend-gradient{background:linear-gradient(90deg,#3498db 0,#ff0 50%,red);border:1px solid var(--gray-600);border-radius:4px;height:20px}.legend-labels{color:var(--text-secondary);display:flex;font-size:.75rem;justify-content:space-between;margin-top:.25rem}.map-container{flex:1 1;height:100%;min-height:0;width:100%}.map-container .leaflet-container{height:100%!important;width:100%!important}.no-data-message{align-items:center;color:var(--text-secondary);display:flex;flex-direction:column;font-size:1.125rem;gap:1rem;height:100%;justify-content:center}@media (max-width:768px){.map-filters-section{padding:.75rem}.filters-bar.dropdown-section{flex-direction:column;gap:.75rem}.filters-bar.dropdown-section .field{width:100%}.map-summary-box .summary-grid{gap:.75rem;grid-template-columns:1fr}.legend-labels{font-size:.625rem}}.leaflet-tooltip{background-color:var(--gray-900)!important;border:1px solid var(--accent-light)!important;border-radius:6px!important;box-shadow:0 4px 12px #0000004d!important;color:var(--text)!important;font-size:.875rem!important;z-index:1000!important}.leaflet-tooltip-top:before{border-top-color:var(--gray-900)!important}.leaflet-tooltip-bottom:before{border-bottom-color:var(--gray-900)!important}.leaflet-tooltip-left:before{border-left-color:var(--gray-900)!important}.leaflet-tooltip-right:before{border-right-color:var(--gray-900)!important}.leaflet-control-zoom{border:none!important}.leaflet-control-zoom a{background-color:var(--gray-800)!important;border:1px solid var(--gray-600)!important;color:var(--text)!important}.leaflet-control-zoom a:hover{background-color:var(--gray-700)!important;border-color:var(--accent-light)!important}.leaflet-control-attribution{background-color:#000000b3!important;color:var(--text-secondary)!important}.leaflet-control-attribution a{color:var(--accent-light)!important}@media (max-width:1024px){.map-overlay-filters{padding:1rem;width:260px}.map-overlay-summary{min-width:150px;padding:1rem}}@media (max-width:768px){.map-overlay-filters{left:10px;max-width:300px;top:10px;width:calc(100vw - 40px)}.map-overlay-summary{left:auto;max-width:100px;right:10px;top:10px;width:calc(100vw - 40px)}.map-overlay-legend{bottom:10px;max-width:calc(100vw - 40px);min-width:200px}.map-page-container{height:calc(100vh - 50px)}.with-sidebar .app-content .map-page-container{height:calc(100vh - 10px)}}.text-box-container{animation:slideUp .4s cubic-bezier(.16,1,.3,1);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);background:linear-gradient(135deg,#161b22f2,#111827fa 50%,#0f172af2);border:1px solid #4e79a733;border-radius:16px;bottom:12px;box-shadow:0 0 0 1px #4e79a71a,0 8px 32px #0006,0 4px 16px #4e79a714,inset 0 1px 0 #ffffff0d;color:#e6edf3;color:var(--text);display:flex;flex-direction:column;left:50%;max-height:calc(100vh - 80px);max-width:1400px;padding:0;position:fixed;transform:translateX(-50%);transition:all .3s cubic-bezier(.16,1,.3,1);width:68%;z-index:9990}@keyframes slideUp{0%{opacity:0;transform:translateX(-50%) translateY(20px)}to{opacity:1;transform:translateX(-50%) translateY(0)}}.text-box-container:hover{border-color:#4e79a759;box-shadow:0 0 0 1px #4e79a733,0 8px 32px #0006,0 4px 16px #4e79a726,inset 0 1px 0 #ffffff14}.text-box-container.with-sidebar{left:calc(50% + 100px);transform:translateX(-50%)}@media (max-width:1300px){.text-box-container,.text-box-container.with-sidebar{left:50%;transform:translateX(-50%);width:75%}}@media (max-width:768px){.text-box-container,.text-box-container.with-sidebar{border-radius:12px;bottom:8px;left:50%;max-width:none;padding:16px;transform:translateX(-50%);width:95%}}.text-box-container .text-box-form{align-items:flex-end;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-radius:0 0 16px 16px;border-top:1px solid #30363d;border-top:1px solid var(--border,#30363d);display:flex;gap:16px;padding:20px}.text-box-container .text-box{field-sizing:content;word-wrap:break-word;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);background:linear-gradient(135deg,#161b22f2,#111827fa);border:1px solid #4e79a740;border-radius:14px;color:#e6edf3;color:var(--text);flex:1 1;font-family:Segoe UI,-apple-system,BlinkMacSystemFont,sans-serif;font-size:16px;font-weight:400;height:auto;line-height:1.5;max-height:80px;min-height:18px;overflow-y:auto;padding:14px;resize:none;scrollbar-color:#4e79a7 #0000;scrollbar-color:var(--accent) #0000;scrollbar-width:thin;transition:all .3s cubic-bezier(.16,1,.3,1)}.text-box-container .text-box:focus{background:linear-gradient(135deg,#161b22,#111827);border-color:#4e79a7;border-color:var(--accent);box-shadow:0 0 0 3px #4e79a733,0 6px 20px #4e79a726,0 2px 8px #0000001a,inset 0 1px 0 #ffffff14;outline:none;transform:translateY(-2px)}.text-box-container .text-box::placeholder{color:#9ca3af99;font-family:Segoe UI,-apple-system,BlinkMacSystemFont,sans-serif;font-size:16px;font-style:italic;font-weight:400}.text-box-container .text-box::-webkit-scrollbar{width:6px}.text-box-container .text-box::-webkit-scrollbar-track{background:#0000;border-radius:8px}.text-box-container .text-box::-webkit-scrollbar-thumb{background:linear-gradient(180deg,#4e79a7 0,var(--accent-light) 100%);background:linear-gradient(180deg,var(--accent) 0,var(--accent-light) 100%);border:1px solid #ffffff1a;border-radius:8px}.text-box-container .text-box::-webkit-scrollbar-thumb:hover{background:linear-gradient(180deg,var(--accent-light) 0,#7dd3fc 100%)}.text-box-container .messages{border-radius:0;flex:1 1;font-size:16px;margin:0;overflow-y:auto;padding:20px;scrollbar-color:#4e79a766 #0000;scrollbar-width:thin}.text-box-container .message{backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);background:linear-gradient(135deg,#1e293bcc,#0f172ae6);border:1px solid #4e79a726;border-radius:14px;box-shadow:0 2px 8px #00000026,0 1px 3px #0000001a,inset 0 1px 0 #ffffff08;color:#e6edf3;color:var(--text);margin:16px 0;padding:18px 20px;transform:translateY(0);transition:all .3s cubic-bezier(.16,1,.3,1)}.text-box-container .message:hover{border-color:#4e79a740;box-shadow:0 8px 25px #0003,0 3px 8px #00000026,inset 0 1px 0 #ffffff0d;transform:translateY(-2px)}.text-box-container .message-header{align-items:center;display:flex;margin-bottom:10px}.text-box-container .message-author{color:var(--accent-light);font-size:14px;font-weight:600;letter-spacing:.5px;position:relative;text-transform:uppercase}.text-box-container .message-author:after{background:linear-gradient(90deg,var(--accent-light),#0000);bottom:-2px;content:"";height:1px;left:0;position:absolute;width:100%}.text-box-container .message-content{color:#e6edf3;color:var(--text);font-weight:400;line-height:1.6;margin-top:0}.text-box-container .messages::-webkit-scrollbar{width:8px}.text-box-container .messages::-webkit-scrollbar-thumb{background-color:#4e79a7;background-color:var(--accent);border-radius:4px}.text-box-container .messages::-webkit-scrollbar-thumb:hover{background-color:var(--accent-light)}.text-box-container .messages::-webkit-scrollbar-track{background-color:var(--gray-900)}.text-box-container .loader{display:inline-block;height:24px;margin:8px 0;position:relative;width:90px}.text-box-container .loader div{animation:premium-loader-bounce 1.4s cubic-bezier(.68,-.55,.265,1.55) infinite;background:linear-gradient(135deg,#4e79a7 0,var(--accent-light) 50%,#7dd3fc 100%);background:linear-gradient(135deg,var(--accent) 0,var(--accent-light) 50%,#7dd3fc 100%);border-radius:50%;box-shadow:0 0 8px #4e79a766,0 0 16px #4e79a733,inset 0 1px 0 #ffffff4d;height:8px;position:absolute;top:8px;width:8px}.text-box-container .loader div:first-child{animation-delay:-.32s;left:8px}.text-box-container .loader div:nth-child(2){animation-delay:-.16s;left:32px}.text-box-container .loader div:nth-child(3){animation-delay:0s;left:56px}@keyframes premium-loader-bounce{0%,80%,to{box-shadow:0 0 4px #4e79a733,0 0 8px #4e79a71a;opacity:.5;transform:scale(.6)}40%{box-shadow:0 0 12px #4e79a799,0 0 24px #4e79a74d,inset 0 1px 0 #fff6;opacity:1;transform:scale(1.2)}}.chat-send-button{align-items:center!important;align-self:center!important;backdrop-filter:blur(12px)!important;-webkit-backdrop-filter:blur(12px)!important;background:linear-gradient(135deg,#1e293bcc,#0f172ae6)!important;border:1px solid #4e79a74d!important;border-radius:14px!important;box-shadow:0 2px 8px #00000026,0 1px 3px #0000001a,inset 0 1px 0 #ffffff0d!important;color:var(--accent-light)!important;cursor:pointer!important;flex-shrink:0!important;font-size:18px!important;height:100%!important;justify-content:center!important;margin-left:0!important;min-height:46px!important;min-width:46px!important;overflow:hidden!important;position:relative!important;transition:all .3s cubic-bezier(.16,1,.3,1)!important;width:46px!important}.chat-send-button:hover{background:linear-gradient(135deg,#1e293be6,#0f172a)!important;border-color:#4e79a780!important;box-shadow:0 4px 12px #0003,0 2px 6px #4e79a726,inset 0 1px 0 #ffffff14!important;color:#4e79a7!important;color:var(--accent)!important;transform:translateY(-1px)!important}.chat-send-button:active{box-shadow:0 2px 6px #00000026,0 1px 3px #4e79a71a,inset 0 1px 0 #ffffff0d!important;transform:translateY(0)!important}.chat-send-button:disabled{color:#9ca3af80!important;cursor:not-allowed!important;opacity:.5!important;transform:none!important}:root{--accent-rgb:78,121,167;--accent-soft:rgba(var(--accent-rgb),0.15);--accent-soft-2:rgba(var(--accent-rgb),0.25);--accent-strong:rgba(var(--accent-rgb),0.35)}.text-box-container .chat-header{align-items:center;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);background:linear-gradient(135deg,#161b22fa,#111827),linear-gradient(0deg,#4e79a712,#4e79a712);background:linear-gradient(135deg,#161b22fa 0,#111827 100%),linear-gradient(0deg,rgba(var(--accent-rgb),.07),rgba(var(--accent-rgb),.07));border-bottom:1px solid #30363d;border-bottom:1px solid var(--panel-border);border-radius:16px 16px 0 0;box-shadow:0 1px 0 #00000080,0 8px 24px #00000038;display:flex;gap:12px;justify-content:space-between;padding:14px 18px}.text-box-container .chat-header-left{align-items:center;display:inline-flex;gap:10px;min-width:0}.text-box-container .history-toggle-btn,.text-box-container .new-chat-btn-header{-webkit-tap-highlight-color:transparent;align-items:center;background:#4e79a726;background:var(--accent-soft);border:1px solid #30363d;border:1px solid var(--panel-border);border-radius:10px;color:#e6edf3;color:var(--text);cursor:pointer;display:inline-flex;font-size:14px;font-weight:500;gap:8px;height:36px;line-height:1;padding:8px 12px;transition:background .18s ease,border-color .18s ease,color .18s ease,box-shadow .18s ease,transform .08s ease;-webkit-user-select:none;user-select:none}.text-box-container .history-toggle-btn:hover,.text-box-container .new-chat-btn-header:hover{background:#4e79a740;background:var(--accent-soft-2);border-color:#4e79a7;border-color:var(--accent);box-shadow:0 0 0 2px #4e79a72e,inset 0 1px 0 #ffffff0f;box-shadow:0 0 0 2px rgba(var(--accent-rgb),.18),inset 0 1px 0 #ffffff0f;color:#e6edf3;color:var(--text)}.text-box-container .history-toggle-btn:active,.text-box-container .new-chat-btn-header:active{background:#4e79a733;background:rgba(var(--accent-rgb),.2);border-color:#4e79a7;border-color:var(--accent);box-shadow:inset 0 1px 4px #0006,0 0 0 2px #4e79a729;box-shadow:inset 0 1px 4px #0006,0 0 0 2px rgba(var(--accent-rgb),.16);transform:translateY(1px)}.text-box-container .history-toggle-btn:focus-visible,.text-box-container .new-chat-btn-header:focus-visible{box-shadow:0 0 0 2px #ffffff14,0 0 0 4px #4e79a726;box-shadow:0 0 0 2px #ffffff14,0 0 0 4px var(--accent-soft);outline:none}.text-box-container .history-toggle-btn:disabled,.text-box-container .new-chat-btn-header:disabled{box-shadow:none;cursor:not-allowed;opacity:.65;transform:none}.text-box-container .history-toggle-btn>svg,.text-box-container .new-chat-btn-header>svg{flex:0 0 16px;height:16px;opacity:.95;width:16px}.text-box-container .chat-header h3,.text-box-container .chat-header-title{color:#e6edf3;color:var(--text);font-size:15px;font-weight:600;letter-spacing:.2px;margin:0;text-shadow:0 1px 0 #00000059}.text-box-container .chat-header small,.text-box-container .chat-header-subtitle{color:#7d8590;color:var(--text-muted);font-size:12.5px;letter-spacing:.2px}@media (max-width:768px){.text-box-container .chat-header{gap:10px;padding:12px 14px}.text-box-container .history-toggle-btn,.text-box-container .new-chat-btn-header{border-radius:9px;font-size:13px;height:34px;padding:6px 10px}}@media (max-width:480px){.text-box-container .chat-header{padding:10px 12px}.text-box-container .history-toggle-btn,.text-box-container .new-chat-btn-header{border-radius:8px;font-size:12.5px;height:32px;padding:6px 9px}}:root{--bg:var(--gray-900,#161b22);--bg-soft:#161b2299;--panel-border:var(--border,#30363d);--text:#e6edf3;--text-muted:#7d8590;--accent:#4e79a7;--accent-soft:#4e79a726;--accent-strong:#4e79a759;--link:#6ec1e4;--success:#10b981;--danger:#f85149}.chat-history-panel{background:#161b22;background:var(--bg);border-right:1px solid #30363d;border-right:1px solid var(--panel-border);box-shadow:0 0 0 #0000;display:flex;flex-direction:column;height:100vh;inset:0 auto 0 0;overflow:hidden;position:fixed;transition:transform .28s ease,box-shadow .28s ease;width:320px;z-index:1000}.chat-history-panel.closed{box-shadow:none;transform:translateX(-100%)}.chat-history-panel.open{box-shadow:12px 0 24px #00000040;transform:translateX(0)}.chat-history-header{align-items:center;background:linear-gradient(180deg,#161b22,#161b22e0);background:linear-gradient(180deg,var(--bg) 0,#161b22e0 100%);border-bottom:1px solid #30363d;border-bottom:1px solid var(--panel-border);display:flex;gap:10px;justify-content:space-between;padding:14px}.chat-history-header h3{color:#e6edf3;color:var(--text);font-size:16px;font-weight:600;letter-spacing:.2px;margin:0}.chat-history-toggle{background:#0000;border:1px solid #30363d;border:1px solid var(--panel-border);border-radius:8px;color:#7d8590;color:var(--text-muted);cursor:pointer;font-size:13px;padding:6px 10px;transition:all .2s ease}.chat-history-toggle:hover{background:#4e79a726;background:var(--accent-soft);border-color:#4e79a7;border-color:var(--accent);color:#e6edf3;color:var(--text)}.chat-history-panel .history-toggle-btn,.chat-history-panel .new-chat-btn-header{background:#0000;border:1px solid #30363d;border:1px solid var(--panel-border);border-radius:8px;color:#7d8590;color:var(--text-muted);cursor:pointer;font-size:12px;padding:6px 10px;transition:all .2s ease}.chat-history-panel .history-toggle-btn:hover,.chat-history-panel .new-chat-btn-header:hover{background:#4e79a726;background:var(--accent-soft);border-color:#4e79a7;border-color:var(--accent);color:#e6edf3;color:var(--text)}.chat-history-list{flex:1 1;overflow-y:auto;padding:8px 8px 16px}.chat-history-list::-webkit-scrollbar{width:10px}.chat-history-list::-webkit-scrollbar-thumb{background:#30363de6;border:2px solid #161b22;border:2px solid var(--bg);border-radius:10px}.chat-history-list::-webkit-scrollbar-track{background:#0000}.chat-history-empty,.chat-history-loading{background:#30363d14;border:1px dashed #30363d;border:1px dashed var(--panel-border);border-radius:10px;color:#7d8590;color:var(--text-muted);font-size:13px;margin:16px;padding:18px 14px;text-align:center}.chat-history-error{background:#f8514914;border:1px solid #f8514959;border-radius:8px;color:#e6edf3;color:var(--text);font-size:12px;margin:12px 14px 0;padding:10px 12px}.chat-history-item{align-items:center;background:#161b228c;border:1px solid #30363d;border:1px solid var(--panel-border);border-radius:10px;cursor:pointer;display:flex;gap:8px;margin:8px 6px;padding:10px;transition:transform .15s ease,border-color .2s ease,background .2s ease,box-shadow .2s ease}.chat-history-item:hover{background:#161b22c7;border-color:#4e79a7;border-color:var(--accent);box-shadow:0 2px 12px #0000001f;transform:translateY(-1px)}.chat-history-item.active{background:#4e79a726;background:var(--accent-soft);border-color:#4e79a7;border-color:var(--accent);box-shadow:inset 0 0 0 1px #4e79a759;box-shadow:inset 0 0 0 1px var(--accent-strong)}.chat-history-item-content{grid-gap:4px;display:grid;flex:1 1;gap:4px;grid-auto-rows:min-content;grid-template-columns:1fr;min-width:0}.chat-history-item-title{color:#e6edf3;color:var(--text);font-size:14px;font-weight:600;letter-spacing:.2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-history-item-date{color:#7d8590;color:var(--text-muted);font-size:12px;line-height:1.2;white-space:nowrap}.chat-history-item-delete,.chat-history-item-rename,.rename-cancel,.rename-save{background:#0000;border:1px solid #0000;border-radius:8px;color:#7d8590;color:var(--text-muted);cursor:pointer;font-size:14px;padding:6px 8px;transition:all .15s ease}.chat-history-item-rename:hover,.rename-save:hover{background:#4e79a726;background:var(--accent-soft);border-color:#4e79a7;border-color:var(--accent);color:#e6edf3;color:var(--text)}.chat-history-item-delete:hover,.rename-cancel:hover{background:#f8514914;border-color:#f8514959;color:#e6edf3;color:var(--text)}.rename-row{align-items:center;display:flex;gap:8px;width:100%}.rename-input{background:#161b2299;border:1px solid #30363d;border:1px solid var(--panel-border);border-radius:8px;color:#e6edf3;color:var(--text);flex:1 1;font-size:14px;outline:none;padding:8px 10px;transition:border-color .15s ease,box-shadow .15s ease,background .15s ease}.rename-input::placeholder{color:#7d8590;color:var(--text-muted)}.rename-input:focus{background:#161b22d9;border-color:#4e79a7;border-color:var(--accent);box-shadow:0 0 0 3px #4e79a726;box-shadow:0 0 0 3px var(--accent-soft)}.rename-save:disabled{cursor:not-allowed;opacity:.6}.chat-status{color:#7d8590;color:var(--text-muted);font-size:12px;margin:6px 14px 0}.chat-history-panel a{color:#6ec1e4;color:var(--link);text-decoration:none}.chat-history-panel a:hover{text-decoration:underline}.chat-history-panel .rename-input:focus-visible,.chat-history-panel [role=button]:focus-visible,.chat-history-panel button:focus-visible{box-shadow:0 0 0 3px #4e79a726;box-shadow:0 0 0 3px var(--accent-soft);outline:none}@media (max-width:1040px){.chat-history-panel{width:300px}}@media (max-width:860px){.chat-history-panel{width:280px}}@media (max-width:600px){.chat-history-panel{width:100vw}.chat-history-header{padding:12px}.chat-history-item{margin:8px;padding:10px}}@media (max-width:480px){.chat-history-panel .history-toggle-btn,.chat-history-panel .new-chat-btn-header{font-size:11px;padding:6px 8px}.chat-status{font-size:10px}}.app-shell{background:var(--gray-900);color:#fff;display:flex;min-height:100vh}.app-main{flex:1 1;min-width:0;transition:margin-left .22s ease}.app-main.with-sidebar{margin-left:165px}.app-main.no-sidebar{margin-left:0}.app-topbar{align-items:center;background:linear-gradient(135deg,var(--gray-900),var(--dark));border-bottom:1px solid #1f2937;display:flex;gap:12px;padding:10px 12px;position:sticky;top:0;z-index:9999}.topbar-title{font-size:16px;font-weight:600;margin:0}.topbar-toggle{background:#0000;border:1px solid #374151;border-radius:8px;color:#fff;cursor:pointer;padding:6px 8px}.topbar-toggle:hover{background:#1f2937}.app-content{padding:16px}.sidebar{background:linear-gradient(135deg,var(--gray-900),var(--dark));box-shadow:2px 0 8px #0006;color:#fff;display:flex;flex-direction:column;height:100vh;left:0;min-width:180px;position:fixed;top:0;transition:transform .22s ease;z-index:10}.sidebar.is-open{transform:translateX(0)}.sidebar.is-closed{transform:translateX(-100%)}.sidebar-header{align-items:center;border-bottom:1px solid #333;display:flex;justify-content:space-between;padding:.5rem}.sidebar-toggle{background:#0000;border:1px solid #374151;border-radius:8px;color:#fff;cursor:pointer;padding:6px 8px}.sidebar-toggle:hover{background:#1f2937}.sidebar-nav{display:flex;flex-direction:column;gap:1rem;padding:1rem}.sidebar-nav a{border-radius:6px;color:#fff;font-weight:500;padding:.5rem;text-decoration:none;transition:background .16s ease,color .16s ease}.sidebar-nav a:hover{background:#ffffff0f;text-decoration:none}.active-link{background-color:#4e79a7;border-radius:6px}@media (max-width:1300px){.app-main.with-sidebar{margin-left:0}.sidebar{backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);background:linear-gradient(135deg,#1f2937bf,#111827bf);border-right:1px solid #ffffff1a;z-index:9999}.sidebar.is-open:before{background:#0000004d;bottom:0;content:"";left:200px;opacity:1;position:fixed;right:0;top:0;transition:opacity .22s ease;z-index:-1}}.sidebar-footer{border-top:1px solid #3a3a3a;border-top:1px solid var(--gray-700,#3a3a3a);margin-top:auto;padding:16px}.logout-button{background:#ef4444cc;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;font-weight:500;padding:10px 16px;transition:all .2s ease;width:100%}.logout-button:hover{background:#ef4444;transform:translateY(-1px)}.logout-button:active{transform:translateY(0)}@media (max-width:768px){.sidebar{backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);background:linear-gradient(135deg,#1f2937bf,#111827bf)}.sidebar.is-open:before{background:#00000080}}.sidebar-bottom{margin-top:auto}.language-switcher{border-radius:8px;display:flex;gap:8px;margin-bottom:8px;padding:8px}.lang-button{align-items:center;background:#0000;border:1px solid #fff3;border-radius:6px;color:#fffc;cursor:pointer;display:flex;flex:1 1;font-size:13px;font-weight:400;gap:6px;justify-content:center;padding:8px 12px;transition:all .2s ease}.lang-button:hover{background:#ffffff1a;border-color:#ffffff4d;color:#fff}.lang-button.active{background:#4e79a7cc;border-color:#4e79a7;color:#fff}.lang-button:active{transform:scale(.98)}.uploader-card{background:#ffffff05;background:var(--panel,#ffffff05);border:1px solid #2a2a3b;border:1px solid var(--border,#2a2a3b);border-radius:14px;margin:8vh auto;max-width:760px;padding:16px;width:100%}.dropzone{align-items:center;border:1.5px dashed #3b3b56;border-radius:12px;cursor:pointer;display:flex;gap:14px;padding:28px 16px;transition:border-color .2s ease,background .2s ease;-webkit-user-select:none;user-select:none}.dropzone:hover{border-color:#4e79a7}.dropzone.is-dragover{background:#4e79a714;border-color:#4e79a7}.dz-icon{color:#8aa2c1;display:grid;place-items:center}.dz-text{grid-gap:2px;display:grid;gap:2px}.dz-title{color:#e5e7eb;color:var(--text,#e5e7eb);font-weight:600}.dz-subtitle{color:#9aa3b2;font-size:.95rem}.dz-hint{color:#7c8799;font-size:.8rem}.uploader-actions{align-items:center;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;margin-top:12px}.file-chip{align-items:center;background:#4e79a714;border:1px solid #3b3b56;border-radius:999px;display:inline-flex;gap:10px;max-width:100%;padding:6px 10px}.file-name{color:#e5e7eb;color:var(--text,#e5e7eb);max-width:380px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-size{color:#9aa3b2;font-size:.85rem}.file-placeholder{color:#9aa3b2;font-size:.95rem}.btn-row{display:inline-flex;gap:8px}.btn{background:#0000;border:1px solid #4e79a7;border-radius:10px;color:#e5e7eb;color:var(--text,#e5e7eb);cursor:pointer;font-weight:600;padding:8px 14px;transition:transform .08s ease,box-shadow .15s ease,background .2s ease,border-color .2s ease,opacity .2s ease}.btn:hover{background:#ffffff0d;box-shadow:0 4px 12px #00000040}.btn:active{transform:translateY(1px)}.btn:disabled{cursor:not-allowed;opacity:.5}.btn-primary{background:#4e79a7;border-color:#4e79a7;color:#0c1222}.btn-primary:hover{filter:brightness(1.03)}.btn-ghost{background:#0000;border-color:#0000;color:#e5e7eb;padding:6px 8px}.btn-ghost:hover,.progress-line{background:#ffffff0f}.progress-line{border-radius:999px;height:4px;margin-top:12px;overflow:hidden}.progress-line .bar{animation:progressSlide 1.2s ease-in-out infinite;background:linear-gradient(90deg,#4e79a7,#8aa2c1);border-radius:999px;height:100%;width:32%}@keyframes progressSlide{0%{transform:translateX(-110%)}50%{transform:translateX(20%)}to{transform:translateX(110%)}}@media (max-width:640px){.uploader-actions{align-items:stretch;flex-direction:column;gap:10px}.btn-row{width:100%}.btn-row .btn{flex:1 1}.file-chip{justify-content:space-between;width:100%}}.chatbot-container{bottom:20px;position:fixed;right:20px;z-index:1000}.chatbot-toggle{align-items:center;background:linear-gradient(135deg,#4e79a7,#2f5f86);border:none;border-radius:50%;box-shadow:0 4px 12px #007bff4d;color:#fff;cursor:pointer;display:flex;font-size:18px;height:55px;justify-content:center;transition:all .3s ease;width:55px}.chatbot-toggle:hover{box-shadow:0 6px 16px #007bff66;transform:scale(1.1)}.chatbot-window{background-color:#fff;border:0 #ffffff0d;border-radius:10px;bottom:0;box-shadow:0 8px 24px #00000026;display:flex;flex-direction:column;height:400px;overflow:hidden;position:absolute;right:0;width:300px}.chatbot-ui-container{backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);background:linear-gradient(135deg,#161b22f2,#111827fa 50%,#0f172af2);display:flex;flex-direction:column;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;height:100%;position:relative;z-index:1}.chatbot-header{align-items:center;background:linear-gradient(135deg,#4e79a7,#2f5f86);border-bottom:1px solid #4e79a71f;border-radius:10px 10px 0 0;color:#7dd3fc;color:var(--accent-light,#7dd3fc);display:flex;justify-content:space-between;padding:12px}.chatbot-header h3{color:#e6eef5;color:var(--text,#e6eef5);font-size:14px;font-weight:600;margin:0}.chatbot-close-button{align-items:center;background:none;border:none;border-radius:4px;color:#e6eef5;color:var(--text,#e6eef5);cursor:pointer;display:flex;font-size:16px;height:24px;justify-content:center;padding:4px;transition:all .2s;width:24px}.chatbot-close-button:hover{color:red}.chatbot-messages{background:#f9f9f9;flex:1 1;max-height:280px;overflow-y:auto;padding:10px}.chatbot-message{word-wrap:break-word;border-radius:12px;font-size:13px;line-height:1.4;margin-bottom:12px;max-width:85%;padding:10px 14px}.chatbot-message.user{background:#e3f2fd;border:1px solid #bbdefb;border-bottom-right-radius:4px;color:#1976d2;margin-left:auto}.chatbot-message.chat{background:#f5f5f5;border:1px solid #e0e0e0;border-bottom-left-radius:4px;color:#333;margin-right:auto}.chatbot-message-content{margin:0}.chatbot-loader{display:flex;gap:3px;padding:8px 0}.chatbot-loader div{animation:chatbot-bounce 1.4s ease-in-out infinite both;background:#1976d2;border-radius:50%;height:6px;width:6px}.chatbot-loader div:first-child{animation-delay:-.32s}.chatbot-loader div:nth-child(2){animation-delay:-.16s}@keyframes chatbot-bounce{0%,80%,to{transform:scale(0)}40%{transform:scale(1)}}.chatbot-input-container{background:#fff;border-radius:0 0 10px 10px;border-top:1px solid #e9ecef;display:flex;gap:8px;padding:10px}.chatbot-input-field{border:1px solid #e9ecef;border-radius:20px;flex:1 1;font-size:13px;outline:none;padding:8px 12px;resize:none;transition:border-color .2s}.chatbot-input-field:focus{border-color:#007bff}.chatbot-send-button{align-items:center;background:linear-gradient(135deg,#4e79a7,#2f5f86);border:1px solid #4e79a726;border-radius:50%;color:#e6eef5;color:var(--text,#e6eef5);cursor:pointer;display:flex;font-size:16px;font-weight:700;height:32px;justify-content:center;transition:background-color .2s,color .2s,transform .12s;width:32px}.chatbot-send-button:hover:not(:disabled){background:linear-gradient(135deg,#4e79a7,#2f5f86 50%);box-shadow:0 6px 18px #2e40532e;color:blue;transform:translateY(-1px)}.chatbot-send-button:disabled{background:#6c757d;cursor:not-allowed}.chatbot-messages::-webkit-scrollbar{width:4px}.chatbot-messages::-webkit-scrollbar-track{background:#f1f1f1;border-radius:10px}.chatbot-messages::-webkit-scrollbar-thumb{background:#c1c1c1;border-radius:10px}.chatbot-messages::-webkit-scrollbar-thumb:hover{background:#a8a8a8}.auth-login-container{align-items:center;background:#161b22;background:var(--dark,#161b22);box-sizing:border-box;display:flex;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;justify-content:center;min-height:100vh;padding:20px}.auth-login-card{background:#161b22;background:var(--gray-900,#161b22);border:1px solid #30363d;border:1px solid var(--border,#30363d);border-radius:12px;box-shadow:0 20px 60px #00000073;max-width:450px;padding:40px;position:relative;width:100%}.auth-login-header{margin-bottom:32px;text-align:center}.auth-login-header h1{color:#e6edf3;color:var(--text,#e6edf3);font-size:28px;font-weight:700;letter-spacing:-.025em;margin:0 0 8px}.auth-login-header h2{color:#6ec1e4;color:var(--accent-light,#6ec1e4);font-size:18px;font-weight:400;margin:0;opacity:.9}.auth-form-group{margin-bottom:24px}.auth-form-group label{color:#e6edf3;color:var(--text,#e6edf3);display:block;font-size:14px;font-weight:600;letter-spacing:.025em;margin-bottom:8px}.auth-form-group input{background:#161b22;background:var(--gray-900,#161b22);border:1px solid #30363d;border:1px solid var(--border,#30363d);border-radius:8px;box-sizing:border-box;color:#e6edf3;color:var(--text,#e6edf3);font-size:16px;font-weight:500;padding:14px 16px;transition:all .2s ease;width:100%}.auth-form-group input:focus{border-color:#4e79a7;border-color:var(--accent,#4e79a7);box-shadow:0 0 0 3px #4e79a71a;outline:none}.auth-form-group input::placeholder{color:#7d8590;font-weight:400}.auth-error-message{background:#f851491a;border:1px solid #f851494d;border-radius:8px;color:#f85149;font-size:14px;font-weight:500;margin-bottom:16px;padding:12px;text-align:center}.auth-submit-button{background:#4e79a7;background:var(--accent,#4e79a7);border:none;border-radius:8px;color:#fff;cursor:pointer;font-family:inherit;font-size:16px;font-weight:600;margin-top:8px;padding:14px 24px;transition:all .2s ease;width:100%}.auth-submit-button:hover:not(:disabled){background:#6ec1e4;background:var(--accent-light,#6ec1e4);transform:translateY(-1px)}.auth-submit-button:active:not(:disabled){transform:translateY(0)}.auth-submit-button:disabled{background:#6e7681;cursor:not-allowed;opacity:.6;transform:none}.auth-toggle-mode{margin-top:24px;text-align:center}.auth-toggle-mode p{color:#7d8590;font-size:14px;font-weight:400;margin:0}.auth-toggle-button{background:none;border:none;border-radius:4px;color:#6ec1e4;color:var(--accent-light,#6ec1e4);cursor:pointer;font-size:14px;font-weight:600;margin-left:4px;padding:2px 4px;text-decoration:none;transition:all .2s ease}.auth-toggle-button:hover{background:#4e79a71a;color:#4e79a7;color:var(--accent,#4e79a7)}@media (max-width:480px){.auth-login-container{padding:16px}.auth-login-card{border-radius:12px;padding:32px 24px}.auth-login-header h1{font-size:24px}.auth-login-header h2{font-size:16px}.auth-form-group input{padding:12px 16px}}.user-management{margin:0 auto;max-width:1200px;padding:20px}.user-management-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:20px}.user-management-header h2{color:var(--text);margin:0}.search-box{align-items:center;display:flex}.search-input{background-color:var(--gray-800);border:1px solid var(--border);border-radius:4px;color:var(--text);font-size:14px;padding:8px 12px;width:250px}.search-input:focus{border-color:var(--accent);outline:none}.users-table-container{background-color:var(--gray-900);border-radius:8px;box-shadow:0 2px 8px #0000004d;overflow:hidden}.users-table{border-collapse:collapse;width:100%}.users-table td,.users-table th{border-bottom:1px solid var(--border);padding:12px 15px;text-align:left}.users-table th{background-color:var(--gray-850);color:var(--text);font-size:14px;font-weight:600}.users-table td{color:var(--text-secondary);font-size:13px}.users-table tbody tr:hover{background-color:var(--gray-850)}.status-badge{border-radius:12px;display:inline-block;font-size:11px;font-weight:500;padding:4px 8px;text-transform:uppercase}.status-badge.approved{background-color:#22c55e33;border:1px solid #22c55e4d;color:#22c55e}.status-badge.pending{background-color:#fbbf2433;border:1px solid #fbbf244d;color:#fbbf24}.admin-badge{background-color:#6b728033;border:1px solid #6b72804d;border-radius:12px;color:#9ca3af;display:inline-block;font-size:11px;font-weight:500;padding:4px 8px;text-transform:uppercase}.admin-badge.admin{background-color:#9333ea33;border:1px solid #9333ea4d;color:#a855f7}.afms-list{max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.action-buttons{display:flex;gap:8px}.btn-add-afm,.btn-cancel,.btn-delete,.btn-edit,.btn-remove-afm,.btn-save{border:none;border-radius:4px;cursor:pointer;font-size:12px;font-weight:500;padding:6px 12px;transition:all .2s ease}.btn-edit{background-color:var(--accent);color:#fff}.btn-edit:hover{background-color:var(--accent-light)}.btn-delete{background-color:#ef4444;color:#fff}.btn-delete:hover{background-color:#dc2626}.btn-save{background-color:#10b981;color:#fff}.btn-save:hover{background-color:#059669}.btn-cancel{background-color:var(--gray-600);color:#fff}.btn-cancel:hover{background-color:var(--gray-500)}.btn-add-afm{background-color:var(--accent);color:#fff;font-size:11px;padding:4px 8px}.btn-remove-afm{background-color:#ef4444;color:#fff;font-size:14px;font-weight:700;min-width:24px;padding:4px 8px}.modal-overlay{align-items:center;background-color:#000000b3;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.modal-content{background-color:var(--gray-900);border:1px solid var(--border);border-radius:8px;max-height:80vh;max-width:500px;overflow-y:auto;padding:24px;width:90%}.modal-content h3{color:var(--text);font-size:18px;margin:0 0 20px}.form-group{margin-bottom:16px}.form-group label{color:var(--text);display:block;font-size:14px;font-weight:500;margin-bottom:6px}.form-group input[type=text]{background-color:var(--gray-800);border:1px solid var(--border);border-radius:4px;box-sizing:border-box;color:var(--text);font-size:14px;padding:8px 12px;width:100%}.form-group input[type=text]:focus{border-color:var(--accent);outline:none}.checkbox-group label{align-items:center;cursor:pointer;display:flex}.checkbox-group input[type=checkbox]{accent-color:var(--accent);margin-right:8px}.afms-editor{display:flex;flex-direction:column;gap:8px}.afm-input-group{align-items:center;display:flex;gap:8px}.afm-input-group input{flex:1 1}.modal-actions{border-top:1px solid var(--border);display:flex;gap:12px;justify-content:flex-end;margin-top:24px;padding-top:16px}.delete-modal{max-width:400px}.delete-modal p{color:var(--text-secondary);line-height:1.5;margin:16px 0 24px}.user-management-loading{align-items:center;color:var(--text);display:flex;font-size:16px;height:200px;justify-content:center}@media (max-width:768px){.user-management-header{align-items:stretch;flex-direction:column;gap:16px}.search-input{width:100%}.users-table-container{overflow-x:auto}.users-table{min-width:800px}.action-buttons{flex-direction:column}.modal-content{padding:16px;width:95%}}.database-management{margin:0 auto;max-width:1400px;padding:20px}.database-header{margin-bottom:30px;text-align:center}.database-header h2{color:var(--text);font-size:2rem;margin-bottom:8px}.database-header p{color:var(--text-secondary);font-size:1rem}.tab-navigation{border-bottom:2px solid var(--border);display:flex;gap:8px;margin-bottom:30px}.tab-button{background:#0000;border:none;border-bottom:3px solid #0000;color:var(--text-secondary);cursor:pointer;font-size:1rem;padding:12px 24px;transition:all .2s;white-space:nowrap}.tab-button:hover{background:var(--bg-secondary);color:var(--text)}.tab-button.active{border-bottom-color:var(--accent);color:var(--accent);font-weight:600}.message{border-radius:8px;font-weight:500;margin-bottom:20px;padding:12px 16px}.message.success{background:#22c55e1a;border:1px solid #22c55e33;color:#22c55e}.message.error{background:#ef44441a;border:1px solid #ef444433;color:#ef4444}.loading{color:var(--text-secondary);font-size:1.1rem;padding:40px;text-align:center}.columns-section{margin-top:30px}.columns-section h3{align-items:center;color:var(--text);display:flex;font-size:1.3rem;gap:8px;margin-bottom:16px}.columns-table-container{background:var(--card-bg);border:1px solid var(--border);border-radius:12px;margin-bottom:40px;overflow:hidden}.columns-table{border-collapse:collapse;width:100%}.columns-table th{background:var(--bg-secondary);border-bottom:1px solid var(--border);color:var(--text);font-size:.9rem;font-weight:600;letter-spacing:.05em;padding:16px;text-align:left;text-transform:uppercase}.columns-table td{border-bottom:1px solid var(--border-light);color:var(--text);padding:12px 16px}.columns-table tr:hover{background:var(--bg-hover)}.columns-table tr:last-child td{border-bottom:none}.column-name{color:var(--accent)!important;font-weight:600}.column-name,.data-type{font-family:Courier New,monospace}.data-type{color:var(--text-secondary)!important;font-size:.9rem}.nullable-badge{border-radius:4px;font-size:.75rem;font-weight:600;padding:4px 8px;text-transform:uppercase}.nullable-badge.yes{background:#22c55e1a;color:#22c55e}.nullable-badge.no{background:#ef44441a;color:#ef4444}.insert-form-section{margin-top:40px}.insert-form-section h3{color:var(--text);font-size:1.3rem;margin-bottom:20px}.insert-form{background:var(--card-bg);border:1px solid var(--border);border-radius:12px;padding:24px}.form-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));margin-bottom:30px}.form-field{display:flex;flex-direction:column;gap:6px}.form-label{align-items:center;color:var(--text);display:flex;font-size:.9rem;font-weight:500;gap:4px}.required{color:#ef4444;font-weight:700}.form-input{background:var(--bg);border:1px solid var(--border);border-radius:6px;color:var(--text);font-size:.9rem;padding:10px 12px;transition:border-color .2s}.form-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px #4e79a71a;outline:none}.form-checkbox{accent-color:var(--accent);height:18px;width:18px}.field-type{color:var(--text-secondary);font-family:Courier New,monospace;font-size:.75rem}.form-actions{border-top:1px solid var(--border-light);display:flex;gap:12px;justify-content:flex-end;padding-top:20px}.btn-insert{background:var(--accent);border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:.9rem;font-weight:500;padding:10px 20px;transition:all .2s}.btn-insert:hover:not(:disabled){background:var(--accent-dark);transform:translateY(-1px)}.btn-insert:disabled{background:var(--text-secondary);cursor:not-allowed}@media (max-width:768px){.database-management{padding:16px}.tab-navigation{flex-direction:column}.form-grid{grid-template-columns:1fr}.form-actions{flex-direction:column-reverse}.btn-insert{width:100%}.columns-table-container{overflow-x:auto}.columns-table{min-width:600px}}.admin-panel{background:var(--bg);min-height:100vh;padding:0}.admin-header{background:var(--card-bg);border-bottom:1px solid var(--border);padding:30px;text-align:center}.admin-header h1{color:var(--text);font-size:2.5rem;font-weight:700;margin-bottom:8px}.admin-header p{color:var(--text-secondary);font-size:1.1rem;margin:0}.admin-tab-navigation{background:var(--card-bg);border-bottom:1px solid var(--border);display:flex;gap:0;padding:0 30px}.admin-tab-button{align-items:center;background:#0000;border:none;border-bottom:3px solid #0000;color:var(--text-secondary);cursor:pointer;display:flex;font-size:1rem;font-weight:500;gap:8px;padding:16px 24px;position:relative;transition:all .2s;white-space:nowrap}.admin-tab-button:hover{background:var(--bg-hover);color:var(--text)}.admin-tab-button.active{background:var(--bg-hover);border-bottom-color:var(--accent);color:var(--accent)}.admin-tab-button.active:after{background:var(--accent);bottom:-1px;content:"";height:3px;left:0;position:absolute;right:0}.admin-content{background:var(--bg);min-height:calc(100vh - 140px)}@media (max-width:768px){.admin-header{padding:20px}.admin-header h1{font-size:2rem}.admin-tab-navigation{overflow-x:auto;padding:0 16px}.admin-tab-button{font-size:.9rem;padding:14px 20px}}.App{text-align:center}.loading-container{align-items:center;background:#1a1a1a;background:var(--gray-900,#1a1a1a);color:#f5f5f5;color:var(--gray-100,#f5f5f5);display:flex;font-size:18px;justify-content:center;min-height:100vh}.App-logo{height:40vmin;pointer-events:none}@media (prefers-reduced-motion:no-preference){.App-logo{animation:App-logo-spin 20s linear infinite}}@keyframes App-logo-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}