*{margin:0;padding:0;box-sizing:border-box}:root{--primary-color:#FF0D0E;--secondary-color:#FF0D0E;--text-color:#333;--bg-color:#f5f5f5;--white:#fff;--shadow:0 2px 4px rgba(0, 0, 0, 0.1);--shadow-hover:0 4px 8px rgba(0, 0, 0, 0.15)}html{touch-action:manipulation;-webkit-text-size-adjust:100%}body{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Helvetica Neue",Arial,sans-serif;color:var(--text-color);background-color:var(--bg-color);min-height:100vh;display:flex;flex-direction:column;touch-action:manipulation}.header{background-color:var(--white);box-shadow:var(--shadow);position:relative;z-index:1000}.header-container{max-width:1200px;margin:0 auto;padding:1rem;display:flex;justify-content:space-between;align-items:center}.header-title{font-size:1.5rem;font-weight:600;color:#2d2828}.header-controls{display:flex;gap:.5rem}.search-container{background-color:var(--white);padding:1rem;box-shadow:var(--shadow);position:relative;z-index:999}.search-box{max-width:600px;margin:0 auto;display:flex;gap:.5rem}.search-input{flex:1;padding:.75rem 1rem;border:2px solid #ddd;border-radius:8px;font-size:1rem;transition:border-color .3s;touch-action:manipulation}.search-input:focus{outline:0;border-color:var(--primary-color)}.btn{padding:.75rem;border:none;border-radius:8px;cursor:pointer;transition:all .3s;display:inline-flex;align-items:center;justify-content:center;font-size:1rem;font-weight:500;touch-action:manipulation}.btn-location{background-color:var(--white);color:var(--primary-color);border:2px solid var(--primary-color)}.btn-location:hover{background-color:var(--primary-color);color:var(--white)}.btn-search{background-color:var(--primary-color);color:var(--white);padding:.75rem 1.5rem}.btn-search:hover{background-color:#a01129}.btn-retry{background-color:var(--primary-color);color:var(--white);padding:.75rem 1.5rem}.btn-retry:hover{background-color:#cc0010}.main-content{flex:1;position:relative;display:flex}.map-container{width:100%;height:calc(100vh - 200px);min-height:400px;touch-action:auto}.loading-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:rgba(0,0,0,.5);display:none;flex-direction:column;justify-content:center;align-items:center;z-index:9999;pointer-events:none}.loading-spinner{width:50px;height:50px;border:4px solid #ddd;border-top-color:var(--primary-color);border-radius:50%;animation:spin 1s linear infinite;pointer-events:auto}@keyframes spin{to{transform:rotate(360deg)}}.loading-overlay p{margin-top:1rem;color:#fff;font-size:1.1rem;font-weight:600;pointer-events:auto;text-shadow:1px 1px 2px rgba(0,0,0,.7)}.error-message{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);text-align:center;background-color:var(--white);padding:2.5rem 2rem;border-radius:16px;box-shadow:0 8px 24px rgba(0,0,0,.15);z-index:100;max-width:400px;width:90%;border-top:4px solid var(--primary-color)}.error-icon{width:64px;height:64px;margin:0 auto 1.5rem;background-color:#ffebee;border-radius:50%;display:flex;align-items:center;justify-content:center;animation:error-pulse 2s ease-in-out infinite}.error-icon svg{width:36px;height:36px;stroke:var(--primary-color);stroke-width:2.5;fill:none}.error-message h3{color:var(--text-color);font-size:1.25rem;font-weight:600;margin-bottom:.75rem}.error-message p{margin-bottom:1.5rem;color:#666;font-size:.95rem;line-height:1.6}.error-message .btn-retry{width:100%;max-width:200px;margin:0 auto;display:block}@keyframes error-pulse{0%,100%{transform:scale(1)}50%{transform:scale(1.05)}}.footer{background-color:var(--white);padding:1rem;text-align:center;box-shadow:0 -2px 4px rgba(0,0,0,.1)}.footer p{color:#666;font-size:.9rem}.gm-ui-hover-effect{width:36px!important;height:36px!important;top:4px!important;right:4px!important}.gm-ui-hover-effect>span{width:20px!important;height:20px!important;margin:4px!important}.station-info{padding:0 .5rem .5rem .5rem;min-width:200px}.station-info h3{font-size:1.1rem;color:var(--primary-color);margin-bottom:.5rem}.station-info-details{display:flex;flex-direction:column;gap:.25rem;font-size:.9rem;color:var(--text-color)}.station-info-item{display:flex;align-items:center;gap:.5rem}.station-status{padding:.25rem .5rem;border-radius:4px;font-size:.85rem;font-weight:500}.status-available{background-color:#d4edda;color:#155724}.status-full{background-color:#f8d7da;color:#721c24}.status-empty{background-color:#fff3cd;color:#856404}.status-unavailable{background-color:#e2e3e5;color:#383d41}.update-notification{position:fixed;bottom:20px;right:80px;background:rgba(33,33,33,.9);color:#fff;padding:12px 16px;border-radius:8px;box-shadow:0 2px 8px rgba(0,0,0,.2);font-size:13px;max-width:300px;z-index:1000;opacity:0;transform:translateY(10px);transition:opacity 1s ease,transform 1s ease;pointer-events:none}.update-notification.show{opacity:1;transform:translateY(0)}.update-notification-title{font-weight:600;margin-bottom:4px;color:#4caf50}.update-notification-content{line-height:1.4}.update-notification-item{margin:2px 0;font-size:12px;color:#e0e0e0}@media (max-width:768px){.header-title{font-size:1.2rem}.search-container{padding:.75rem}.search-input{font-size:.9rem;padding:.6rem .8rem}.btn{padding:.6rem;font-size:.9rem}.map-container{height:calc(100vh - 180px)}.station-info{min-width:180px}.station-info h3{font-size:1rem}.error-message{padding:2rem 1.5rem;max-width:90%;border-radius:12px}.error-icon{width:56px;height:56px;margin-bottom:1rem}.error-icon svg{width:32px;height:32px}.error-message h3{font-size:1.1rem;margin-bottom:.5rem}.error-message p{font-size:.9rem;margin-bottom:1.25rem}.update-notification{bottom:10px;right:10px;left:10px;max-width:none;font-size:12px;padding:10px 12px}.update-notification-title{font-size:13px}.update-notification-item{font-size:11px}}