*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#0a0e0f;color:#e0e0e0}#app{min-height:100vh}.login-container[data-v-58586de1]{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#0a0e0f,#0f1a1c);padding:20px}.login-card[data-v-58586de1]{background:#0f1a1cf2;border-radius:16px;padding:48px 40px;box-shadow:0 20px 60px #00000080,0 0 0 1px #00d9a51a;width:100%;max-width:400px;animation:slideUp-58586de1 .4s ease-out;border:1px solid rgba(0,217,165,.1)}@keyframes slideUp-58586de1{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}h1[data-v-58586de1]{margin:0 0 8px;font-size:32px;font-weight:700;color:#00d9a5;text-align:center}.subtitle[data-v-58586de1]{margin:0 0 32px;color:#e0e0e099;text-align:center;font-size:14px}.login-form[data-v-58586de1]{display:flex;flex-direction:column;gap:20px}.input-group[data-v-58586de1]{position:relative}.password-input[data-v-58586de1]{width:100%;padding:14px 16px;border:2px solid rgba(0,217,165,.2);border-radius:8px;font-size:16px;transition:all .2s;box-sizing:border-box;background:#0a0e0f80;color:#e0e0e0}.password-input[data-v-58586de1]::placeholder{color:#e0e0e066}.password-input[data-v-58586de1]:focus{outline:none;border-color:#00d9a5;background:#0a0e0fcc;box-shadow:0 0 0 3px #00d9a51a}.password-input[data-v-58586de1]:disabled{opacity:.6;cursor:not-allowed}.login-button[data-v-58586de1]{width:100%;padding:14px;background:linear-gradient(135deg,#00d9a5,#00b894);color:#0a0e0f;border:none;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:all .2s;box-shadow:0 4px 12px #00d9a54d}.login-button[data-v-58586de1]:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 16px #00d9a566}.login-button[data-v-58586de1]:active:not(:disabled){transform:translateY(0)}.login-button[data-v-58586de1]:disabled{opacity:.6;cursor:not-allowed;transform:none}.error-message[data-v-58586de1]{margin:0;color:#f44;font-size:14px;text-align:center;padding:8px;background:#ff44441a;border-radius:6px;border:1px solid rgba(255,68,68,.2)}.dashboard[data-v-bf915015]{display:flex;min-height:100vh;background:#0a0e0f}.sidebar[data-v-bf915015]{width:260px;background:linear-gradient(180deg,#0f1a1c,#0a0e0f);display:flex;flex-direction:column;box-shadow:2px 0 20px #00000080;position:fixed;height:100vh;overflow-y:auto;border-right:1px solid rgba(0,217,165,.1)}.sidebar-header[data-v-bf915015]{padding:24px 20px;border-bottom:1px solid rgba(0,217,165,.15)}.sidebar-header h2[data-v-bf915015]{margin:0;color:#00d9a5;font-size:24px;font-weight:700;letter-spacing:-.5px}.sidebar-nav[data-v-bf915015]{flex:1;padding:16px 0}.nav-item[data-v-bf915015]{display:flex;align-items:center;padding:14px 20px;color:#e0e0e0b3;text-decoration:none;transition:all .2s;cursor:pointer;border-left:3px solid transparent;font-weight:500}.nav-item[data-v-bf915015]:hover{background:#00d9a514;color:#00d9a5}.nav-item.active[data-v-bf915015]{background:#00d9a526;color:#00d9a5;border-left-color:#00d9a5}.nav-label[data-v-bf915015]{font-size:15px;font-weight:500}.sidebar-footer[data-v-bf915015]{padding:16px 0;border-top:1px solid rgba(0,217,165,.15)}.logout-button[data-v-bf915015]{width:100%;display:flex;align-items:center;padding:14px 20px;background:none;border:none;color:#e0e0e0b3;cursor:pointer;transition:all .2s;text-align:left;font-size:15px;font-weight:500;border-left:3px solid transparent}.logout-button[data-v-bf915015]:hover{background:#d900001a;color:#f44}.main-content[data-v-bf915015]{flex:1;margin-left:260px;padding:0;min-height:100vh;background:#0a0e0f;transition:margin-left .3s ease}.main-content.expanded[data-v-bf915015]{margin-left:0}.mobile-menu-toggle[data-v-bf915015]{display:none;position:fixed;top:16px;left:16px;z-index:1001;background:#00d9a51a;border:1px solid rgba(0,217,165,.3);border-radius:6px;padding:10px;cursor:pointer;flex-direction:column;gap:5px;transition:all .2s}.mobile-menu-toggle[data-v-bf915015]:hover{background:#00d9a533;border-color:#00d9a580}.hamburger-line[data-v-bf915015]{width:24px;height:2px;background:#00d9a5;border-radius:2px;transition:all .3s}.sidebar-overlay[data-v-bf915015]{display:none;position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;z-index:999;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}@media (max-width: 720px){.mobile-menu-toggle[data-v-bf915015]{display:flex}.sidebar[data-v-bf915015]{width:260px;transform:translate(-100%);transition:transform .3s ease;z-index:1000}.sidebar.open[data-v-bf915015]{transform:translate(0)}.sidebar-overlay[data-v-bf915015]{display:block}.main-content[data-v-bf915015]{margin-left:0;width:100%}.main-content.expanded[data-v-bf915015]{margin-left:0}}.home[data-v-2d775b8d]{padding:40px;max-width:1400px;margin:0 auto}.home-header[data-v-2d775b8d]{margin-bottom:40px}.home-header h1[data-v-2d775b8d]{margin:0 0 8px;font-size:36px;font-weight:700;color:#00d9a5;letter-spacing:-.5px}.subtitle[data-v-2d775b8d]{margin:0;color:#e0e0e099;font-size:18px}.home-content[data-v-2d775b8d]{display:flex;flex-direction:column;gap:32px}.cards-grid[data-v-2d775b8d]{display:grid;grid-template-columns:repeat(auto-fit,minmax(350px,1fr));gap:24px}.card[data-v-2d775b8d]{background:#0f1a1c99;border-radius:12px;padding:24px;box-shadow:0 4px 16px #0000004d;border:1px solid rgba(0,217,165,.1);transition:all .3s}.card[data-v-2d775b8d]:hover{transform:translateY(-2px);box-shadow:0 8px 24px #0006;border-color:#00d9a533}.card-header[data-v-2d775b8d]{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;padding-bottom:16px;border-bottom:1px solid rgba(0,217,165,.1)}.card-header h3[data-v-2d775b8d]{margin:0;font-size:20px;font-weight:600;color:#00d9a5}.loading-spinner[data-v-2d775b8d]{width:16px;height:16px;border:2px solid rgba(0,217,165,.3);border-top-color:#00d9a5;border-radius:50%;animation:spin-2d775b8d .8s linear infinite}@keyframes spin-2d775b8d{to{transform:rotate(360deg)}}.error-badge[data-v-2d775b8d]{padding:4px 8px;background:#f443;color:#f44;border-radius:4px;font-size:12px;font-weight:500}.occupancy-badge[data-v-2d775b8d]{padding:4px 12px;border-radius:12px;font-size:14px;font-weight:600}.occupancy-badge.low[data-v-2d775b8d]{background:#00d9a533;color:#00d9a5}.occupancy-badge.medium[data-v-2d775b8d]{background:#ffc10733;color:#ffc107}.occupancy-badge.high[data-v-2d775b8d]{background:#f443;color:#f44}.card-content[data-v-2d775b8d]{color:#e0e0e0cc}.current-time[data-v-2d775b8d]{margin-bottom:16px;font-size:14px;color:#e0e0e099}.occupancy-chart[data-v-2d775b8d]{display:flex;align-items:flex-end;gap:4px;height:120px;margin-top:16px}.chart-bar[data-v-2d775b8d]{flex:1;background:linear-gradient(to top,#00d9a5,#00b894);border-radius:4px 4px 0 0;min-height:4px;transition:all .2s;opacity:.6}.chart-bar.is-current[data-v-2d775b8d]{opacity:1;box-shadow:0 0 8px #00d9a580}.fuel-prices[data-v-2d775b8d]{display:flex;flex-direction:column;gap:12px}.fuel-item[data-v-2d775b8d]{display:flex;justify-content:space-between;padding:12px;background:#00d9a50d;border-radius:8px;border:1px solid rgba(0,217,165,.1)}.fuel-type[data-v-2d775b8d]{font-weight:500;color:#e0e0e0}.fuel-price[data-v-2d775b8d]{font-weight:600;color:#00d9a5;font-size:18px}.fuel-status[data-v-2d775b8d]{text-align:center;padding:20px;color:#e0e0e099}.route-selector[data-v-2d775b8d]{margin-bottom:16px}.route-select[data-v-2d775b8d]{width:100%;padding:10px 12px;background:#0a0e0f80;border:2px solid rgba(0,217,165,.2);border-radius:8px;color:#e0e0e0;font-size:14px;cursor:pointer}.route-select[data-v-2d775b8d]:focus{outline:none;border-color:#00d9a5}.route-info[data-v-2d775b8d]{display:flex;flex-direction:column;gap:12px}.route-detail[data-v-2d775b8d]{display:flex;justify-content:space-between;padding:12px;background:#00d9a50d;border-radius:8px}.route-label[data-v-2d775b8d]{color:#e0e0e0b3}.route-value[data-v-2d775b8d]{font-weight:600;color:#00d9a5}.route-traffic-badge[data-v-2d775b8d]{display:flex;justify-content:space-between;align-items:center;padding:10px 12px;background:#ffc10726;border-radius:8px;border:1px solid rgba(255,193,7,.3);margin-top:4px}.traffic-label[data-v-2d775b8d]{color:#ffc107e6;font-size:13px;font-weight:500}.traffic-value[data-v-2d775b8d]{color:#ffc107;font-weight:600;font-size:14px}.refresh-button[data-v-2d775b8d]{padding:6px 12px;background:#00d9a51a;border:1px solid rgba(0,217,165,.3);border-radius:6px;color:#00d9a5;font-size:12px;font-weight:500;cursor:pointer;transition:all .2s}.refresh-button[data-v-2d775b8d]:hover{background:#00d9a533;border-color:#00d9a580}.route-updated[data-v-2d775b8d]{margin-top:12px;padding-top:12px;border-top:1px solid rgba(0,217,165,.1);display:flex;justify-content:space-between;font-size:12px}.updated-label[data-v-2d775b8d]{color:#e0e0e080}.updated-time[data-v-2d775b8d]{color:#e0e0e0b3}.trash-next[data-v-2d775b8d]{display:flex;flex-direction:column;gap:16px}.trash-next-item[data-v-2d775b8d]{display:flex;flex-direction:column;align-items:center;padding:24px;background:linear-gradient(135deg,#00d9a51a,#00b8941a);border-radius:12px;border:2px solid rgba(0,217,165,.2);transition:all .3s}.trash-next-item[data-v-2d775b8d]:hover{border-color:#00d9a566;transform:translateY(-2px);box-shadow:0 4px 12px #00d9a533}.trash-next-item.is-tomorrow[data-v-2d775b8d]{background:linear-gradient(135deg,#ff444426,#dc262626);border-color:#f446}.trash-next-item.is-tomorrow[data-v-2d775b8d]:hover{border-color:#f449;box-shadow:0 4px 12px #ff44444d}.trash-next-item.is-tomorrow .trash-next-date[data-v-2d775b8d]{color:#f44}.trash-next-item.is-tomorrow .trash-next-type[data-v-2d775b8d]{background:#f443;color:#f66}.trash-next-date[data-v-2d775b8d]{font-weight:700;color:#00d9a5;font-size:24px;margin-bottom:8px;letter-spacing:-.5px}.trash-next-type[data-v-2d775b8d]{color:#e0e0e0;font-size:16px;font-weight:500;padding:8px 16px;background:#00d9a526;border-radius:8px;text-align:center}.trash-empty[data-v-2d775b8d]{text-align:center;padding:20px;color:#e0e0e099}.weather-days[data-v-2d775b8d]{display:grid;grid-template-columns:1fr 1fr;gap:16px}.weather-day[data-v-2d775b8d]{display:flex;flex-direction:column;padding:16px;background:#00d9a50d;border-radius:8px;border:1px solid rgba(0,217,165,.1)}.weather-day-label[data-v-2d775b8d]{font-size:14px;font-weight:600;color:#00d9a5;margin-bottom:12px;text-align:center}.weather-temps[data-v-2d775b8d]{display:flex;justify-content:center;align-items:baseline;gap:8px;margin-bottom:12px}.weather-temp-max[data-v-2d775b8d]{font-size:28px;font-weight:700;color:#e0e0e0}.weather-temp-min[data-v-2d775b8d]{font-size:20px;font-weight:500;color:#e0e0e099}.weather-rain[data-v-2d775b8d]{display:flex;justify-content:center;align-items:center;gap:6px;padding-top:8px;border-top:1px solid rgba(0,217,165,.1)}.rain-label[data-v-2d775b8d]{font-size:12px;color:#e0e0e099}.rain-chance[data-v-2d775b8d]{font-size:14px;font-weight:600;color:#00d9a5}.header-actions[data-v-2d775b8d]{display:flex;align-items:center;gap:8px}.raw-data-button[data-v-2d775b8d]{padding:6px 12px;background:#00d9a51a;border:1px solid rgba(0,217,165,.3);border-radius:6px;color:#00d9a5;font-size:12px;font-weight:500;cursor:pointer;transition:all .2s}.raw-data-button[data-v-2d775b8d]:hover{background:#00d9a533;border-color:#00d9a580}.raw-data-container[data-v-2d775b8d]{margin-top:8px}.raw-data-header[data-v-2d775b8d]{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;padding-bottom:8px;border-bottom:1px solid rgba(0,217,165,.1)}.raw-data-header h4[data-v-2d775b8d]{margin:0;font-size:14px;font-weight:600;color:#00d9a5}.copy-button[data-v-2d775b8d]{padding:4px 10px;background:#00d9a51a;border:1px solid rgba(0,217,165,.3);border-radius:4px;color:#00d9a5;font-size:11px;font-weight:500;cursor:pointer;transition:all .2s}.copy-button[data-v-2d775b8d]:hover{background:#00d9a533;border-color:#00d9a580}.raw-data-content[data-v-2d775b8d]{background:#0a0e0fcc;border:1px solid rgba(0,217,165,.2);border-radius:8px;padding:16px;overflow-x:auto;max-height:400px;overflow-y:auto;font-size:12px;line-height:1.6;color:#e0e0e0e6;font-family:Courier New,monospace;white-space:pre-wrap;word-wrap:break-word}.error-text[data-v-2d775b8d]{color:#f44;text-align:center}@media (max-width: 768px){.home[data-v-2d775b8d]{padding:24px}.home-header h1[data-v-2d775b8d]{font-size:28px}.cards-grid[data-v-2d775b8d]{grid-template-columns:1fr}}.gym[data-v-771dd275]{padding:40px;max-width:1200px;margin:0 auto}.page-header[data-v-771dd275]{margin-bottom:40px}.page-header h1[data-v-771dd275]{margin:0 0 8px;font-size:36px;font-weight:700;color:#00d9a5;letter-spacing:-.5px}.subtitle[data-v-771dd275]{margin:0;color:#e0e0e099;font-size:18px}.gym-content[data-v-771dd275]{background:#0f1a1c99;border-radius:12px;padding:32px;box-shadow:0 4px 16px #0000004d;border:1px solid rgba(0,217,165,.1)}.loading-state[data-v-771dd275]{text-align:center;padding:60px 20px}.loading-spinner[data-v-771dd275]{width:40px;height:40px;border:3px solid rgba(0,217,165,.3);border-top-color:#00d9a5;border-radius:50%;animation:spin-771dd275 .8s linear infinite;margin:0 auto 20px}@keyframes spin-771dd275{to{transform:rotate(360deg)}}.error-state[data-v-771dd275]{text-align:center;padding:60px 20px}.error-text[data-v-771dd275]{color:#f44;margin-bottom:20px}.retry-button[data-v-771dd275]{padding:10px 20px;background:linear-gradient(135deg,#00d9a5,#00b894);color:#0a0e0f;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s}.retry-button[data-v-771dd275]:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00d9a54d}.empty-state[data-v-771dd275]{text-align:center;padding:60px 20px;color:#e0e0e099}.history-list[data-v-771dd275]{display:flex;flex-direction:column;gap:16px}.history-item[data-v-771dd275]{background:#0a0e0f80;border-radius:8px;padding:20px;border:1px solid rgba(0,217,165,.1);transition:all .2s}.history-item[data-v-771dd275]:hover{border-color:#00d9a54d;transform:translate(4px)}.history-header[data-v-771dd275]{display:flex;justify-content:space-between;margin-bottom:12px;padding-bottom:12px;border-bottom:1px solid rgba(0,217,165,.1)}.history-date[data-v-771dd275]{font-weight:600;color:#00d9a5}.history-time[data-v-771dd275]{color:#e0e0e099;font-size:14px}.history-content[data-v-771dd275]{display:flex;justify-content:space-between;align-items:center}.occupancy-info[data-v-771dd275]{display:flex;align-items:center;gap:12px}.occupancy-label[data-v-771dd275]{color:#e0e0e0b3}.occupancy-value[data-v-771dd275]{font-weight:600;font-size:18px;padding:4px 12px;border-radius:12px}.occupancy-value.low[data-v-771dd275]{background:#00d9a533;color:#00d9a5}.occupancy-value.medium[data-v-771dd275]{background:#ffc10733;color:#ffc107}.occupancy-value.high[data-v-771dd275]{background:#f443;color:#f44}.time-slot[data-v-771dd275]{color:#e0e0e099;font-size:14px}@media (max-width: 768px){.gym[data-v-771dd275]{padding:24px}.history-content[data-v-771dd275]{flex-direction:column;align-items:flex-start;gap:8px}}
