body{font-family:Comic Sans MS,Trebuchet MS,Lucida Grande,Lucida Sans Unicode,Lucida Sans,Tahoma,sans-serif;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}:root{--green:#2e7d32;--green-hover:#1b5e20;--green-dark:#1b5e20;--green-light:#4caf50;--green-pale:#e8f5e9;--dark-gray:#263238;--gray:#546e7a;--light-gray:#cfd8dc;--white:#fff;--gradient-1:linear-gradient(135deg,#2e7d32,#4caf50);--gradient-2:linear-gradient(135deg,#1b5e20,#2e7d32);--gradient-soft:linear-gradient(135deg,#fafafa,#e8f5e9)}*{box-sizing:border-box;margin:0;padding:0}*,body{font-family:Segoe UI,Roboto,Noto Sans JP,Arial,sans-serif}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#fafafa;background:var(--extra-light-gray);color:#263238;color:var(--dark-gray);font-weight:400;line-height:1.6}.App{display:flex;flex-direction:column;min-height:100vh}.main-header{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#2e7d32;background:var(--green);border-bottom:1px solid #1b5e20;border-bottom:1px solid var(--green-dark);box-shadow:0 2px 10px #0000001a;position:sticky;top:0;z-index:100}.header-container{align-items:center;display:flex;justify-content:space-between;margin:0 auto;max-width:1200px;padding:16px 24px}.logo-section{align-items:center;cursor:pointer;display:flex;gap:12px}.site-title{color:#fff;font-size:24px;font-weight:700}.hero{align-items:center;color:#fff;display:flex;justify-content:center;min-height:600px;overflow:hidden;position:relative;text-align:center}.background-slider{z-index:-2}.slider-track{animation:slideAnimation 30s linear infinite;width:500%}.slide{background-position:50%;background-repeat:no-repeat;background-size:cover;height:100%;width:20%}.hero-overlay{background:linear-gradient(135deg,#4ecdc4d9,#44a08dd9 50%,#2e8b8bd9);z-index:-1}@keyframes slideAnimation{0%{transform:translateX(0)}to{transform:translateX(-80%)}}.hero-content{margin:0 auto;max-width:1200px;padding:4rem 2rem;z-index:1}.hero-content h2{animation:fadeInUp 1s ease-out;font-size:3.5rem;margin-bottom:1rem;text-shadow:2px 2px 4px #0000004d}.hero-content p{animation:fadeInUp 1s ease-out .2s both;font-size:1.3rem;margin-bottom:2rem;text-shadow:1px 1px 2px #0000004d}.hero-description{animation:fadeInUp 1s ease-out .4s both;opacity:.95}.hero-features{animation:fadeInUp 1s ease-out .6s both;display:flex;flex-wrap:wrap;gap:2rem;justify-content:center;margin:2rem 0}.feature{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff1a;border-radius:15px;display:flex;flex-direction:column;gap:.5rem;padding:1rem 1.5rem;transition:transform .3s ease,background .3s ease}.feature:hover{background:#fff3;transform:translateY(-5px)}.feature-text{font-size:1.1rem}.feature-description{opacity:.9}.feature-icon{font-size:2rem}.hero-buttons{flex-wrap:wrap;gap:2rem;justify-content:center}.cta-button{background:#2e8b8b;border:none;border-radius:50px;color:#fff;cursor:pointer;font-size:1.1rem;min-width:150px;padding:1rem 2rem;transition:all .3s ease}.cta-button:hover{box-shadow:0 5px 15px #0000004d;transform:translateY(-3px)}.car-button{background:linear-gradient(135deg,#4ecdc4,#44a08d)}.car-button:hover{background:linear-gradient(135deg,#2e8b8b,#1c5a5a)}.motorcycle-button{background:linear-gradient(135deg,#5dade2,#3b82c7)}.motorcycle-button:hover{background:linear-gradient(135deg,#2e86ab,#1b4965)}.vehicles-section{min-height:60vh;padding:4rem 0}.vehicles-section h2{color:#333;font-size:2.5rem;margin-bottom:3rem;text-align:center}.no-vehicles-container{align-items:center;display:flex;justify-content:center;min-height:400px;padding:2rem}.no-vehicles-card{animation:fadeInUp .6s ease-out;background:#fff;border-radius:20px;box-shadow:0 10px 30px #0000001a;max-width:500px;padding:3rem;text-align:center}.no-vehicles-icon{animation:bounce 2s infinite;font-size:4rem;margin-bottom:1.5rem}.no-vehicles-title{color:#333;font-size:1.8rem;margin-bottom:1rem}.no-vehicles-message{color:#666;font-size:1.1rem;line-height:1.6;margin-bottom:.5rem}.no-vehicles-sub-message{color:#888;font-size:1rem;margin-bottom:2rem}.no-vehicles-contact{background:linear-gradient(135deg,#f8f9fa,#e9ecef);border-radius:15px;margin-top:2rem;padding:1.5rem}.no-vehicles-contact p{color:#495057;font-size:1rem;margin:.5rem 0}.no-vehicles-contact p:first-child{color:#2e8b8b;font-weight:700}.filters{background:#fff;border-radius:10px;box-shadow:0 2px 10px #0000001a;display:flex;gap:2rem;margin-bottom:2rem;padding:1rem}.filter-group{display:flex;flex-direction:column;gap:.5rem}.filter-group label{color:#fff;font-weight:600;letter-spacing:-.5px}.header-nav{gap:24px}.header-nav,.user-menu{align-items:center;display:flex}.user-menu{flex-wrap:nowrap;gap:16px;min-width:0}.mypage-link{background:#ffffff26;border:1px solid #ffffff4d;border-radius:6px;color:#fff;font-size:13px;font-weight:500;padding:8px 16px;text-decoration:none;transition:all .3s ease;white-space:nowrap}.selected-vehicle-info h3{margin-bottom:1rem}.vehicle-summary{align-items:center;gap:1rem}.vehicle-summary img{border-radius:10px;height:80px;object-fit:cover;width:100px}.vehicle-details h4{font-size:1.2rem;margin-bottom:.5rem}.daily-price{font-size:1.1rem;font-weight:700}.reservation-form{padding:2rem}.reservation-form h3{border-bottom:2px solid #ff9a9e;color:#333;margin-bottom:1.5rem;padding-bottom:.5rem}.required{color:#e74c3c}.form-group input,.form-group select,.form-group textarea{border:2px solid #ddd;font-size:1rem;padding:.8rem;transition:border-color .3s ease}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:#4ecdc4}.form-group input.error,.form-group select.error,.form-group textarea.error{border-color:#e74c3c}.error-message{color:#e74c3c;margin-top:.5rem}.price-summary{background:#f8f9fa;border-radius:10px;margin-bottom:2rem;padding:1.5rem}.price-placeholder{background:#fff;border:2px dashed #ddd;border-radius:8px;color:#666;font-style:italic;margin:1rem 0;padding:2rem;text-align:center}.price-placeholder p{font-size:1rem;margin:0}.price-breakdown{display:flex;flex-direction:column;gap:.5rem}.price-item{display:flex;justify-content:space-between;padding:.5rem 0}.price-item.subtotal{border-bottom:1px solid #eee;color:#666;font-size:.95rem;padding-bottom:.5rem}.price-item.total{background:linear-gradient(135deg,#f8f9fa,#e9ecef);border-radius:10px;border-top:2px solid #ff9a9e;box-shadow:0 2px 10px #0000001a;color:#333;font-size:1.3rem;font-weight:700;margin-top:1rem;padding:1.2rem}.total-amount{color:#2e8b8b!important;font-weight:700;text-shadow:1px 1px 2px #0000001a}.cancel-button,.submit-button{border:none;border-radius:30px;cursor:pointer;font-size:1.1rem;padding:1rem 2.5rem;transition:all .3s ease}.cancel-button{background:#6c757d}.cancel-button:hover{background:#5a6268}.submit-button{background:linear-gradient(135deg,#4ecdc4,#44a08d);box-shadow:0 4px 15px #4ecdc433;color:#fff;font-weight:600;min-width:200px}.submit-button:hover{background:linear-gradient(135deg,#44a08d,#2e8b8b);box-shadow:0 6px 20px #4ecdc44d;transform:translateY(-3px)}.contact-section{padding:4rem 0}.contact-section h2{color:#333;font-size:2.5rem;margin-bottom:3rem;text-align:center}.contact-info{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.contact-card{background:#fff;border-radius:15px;box-shadow:0 5px 20px #0000001a;padding:2rem;text-align:center}.contact-card h3{color:#2e8b8b;margin-bottom:1rem}.contact-card p{color:#666;margin-bottom:.5rem}.contact-card a{color:#2e8b8b;text-decoration:none;transition:color .3s ease}.contact-card a:hover{color:#5a6fd8;text-decoration:underline}.member-login-button,.member-profile-button{background:linear-gradient(135deg,#4ecdc4,#44a08d)!important;border:none!important;border-radius:25px!important;color:#fff!important;cursor:pointer!important;font-size:.9rem!important;padding:.5rem 1rem!important;transition:all .3s ease!important}.member-login-button:hover,.member-profile-button:hover{background:linear-gradient(135deg,#5a6fd8,#6a4190)!important;transform:translateY(-2px)!important}.member-login-container{align-items:center;background:linear-gradient(135deg,#4ecdc4,#44a08d);display:flex;justify-content:center;min-height:80vh;padding:2rem}.member-login-container .login-card{background:#fff;border-radius:20px;box-shadow:0 20px 60px #0003;max-width:450px;padding:3rem;width:100%}.registration-prompt{background:#f8f9fa;border-radius:10px;margin:2rem 0;padding:1.5rem;text-align:center}.register-button{background:linear-gradient(135deg,#28a745,#218838);border:none;border-radius:30px;box-shadow:0 4px 15px #28a74533;color:#fff;cursor:pointer;font-size:1.1rem;font-weight:600;margin-top:.5rem;min-width:200px;padding:1rem 2.5rem;transition:all .3s ease}.register-button:hover{background:linear-gradient(135deg,#218838,#1e7e34);box-shadow:0 6px 20px #28a7454d;transform:translateY(-3px)}.forgot-password-link{background:none;border:none;color:#2e8b8b;cursor:pointer;font-size:.9rem;text-decoration:underline}.demo-info{background:#e9ecef;border-radius:10px;margin-top:2rem;padding:1rem;text-align:center}.member-registration-container{align-items:center;background:linear-gradient(135deg,#4ecdc4,#44a08d);display:flex;justify-content:center;min-height:100vh;padding:2rem}.registration-card{box-shadow:0 20px 60px #0003;max-height:90vh;max-width:800px;overflow-y:auto;padding:2rem}.registration-header{border-bottom:2px solid #e9ecef;margin-bottom:2rem;padding-bottom:1rem;text-align:center}.registration-header h2{color:#333;margin-bottom:1rem}.step-indicator{margin-top:1rem}.step-indicator span{color:#666;display:block;font-size:.9rem;margin-bottom:.5rem}.progress-bar{background:#e9ecef;border-radius:4px;height:8px;overflow:hidden}.progress-fill{background:linear-gradient(135deg,#4ecdc4,#44a08d)}.registration-step h3{border-bottom:1px solid #e9ecef;color:#333;margin-bottom:1.5rem;padding-bottom:.5rem}.license-upload-section{margin:2rem 0}.upload-group{margin-bottom:2rem}.upload-area{border:2px dashed #e9ecef;border-radius:10px;padding:2rem;text-align:center;transition:border-color .3s ease}.upload-area:hover{border-color:#4ecdc4}.file-input{display:none}.upload-button{background:#4ecdc4;border-radius:25px;font-size:1rem;padding:1rem 2rem;transition:all .3s ease}.upload-button:hover{background:#5a6fd8;transform:translateY(-2px)}.image-preview{margin-top:1rem}.preview-image{border-radius:10px;box-shadow:0 2px 10px #0000001a;margin-bottom:.5rem;max-height:150px;max-width:200px}.license-notice{background:#fff3cd;border:1px solid #ffeaa7;border-radius:10px;margin-top:1rem;padding:1rem}.license-notice p{color:#856404;font-weight:700;margin:0 0 .5rem}.license-notice ul{color:#856404;margin:0;padding-left:1.5rem}.registration-summary{background:#f8f9fa;border-radius:10px;margin-bottom:2rem;padding:1.5rem}.summary-section{border-bottom:1px solid #e9ecef;margin-bottom:1rem;padding-bottom:.5rem}.summary-section:last-child{border-bottom:none}.summary-section h5{color:#333;margin-bottom:.5rem}.preferences-section,.terms-section{background:#f8f9fa;border-radius:10px;margin:2rem 0;padding:1.5rem}.terms-section.required{border:2px solid #ff9a9e}.next-button,.previous-button{background:#4ecdc4;border:none;border-radius:25px;color:#fff;cursor:pointer;font-size:1rem;padding:.8rem 2rem;transition:all .3s ease}.previous-button{background:#6c757d}.previous-button:hover{background:#5a6268}.next-button:hover{background:#5a6fd8;transform:translateY(-2px)}.member-mypage{background:#f8f9fa;min-height:100vh}.mypage-header{background:linear-gradient(135deg,#4ecdc4,#44a08d);color:#fff;padding:2rem 0}.mypage-header .container{align-items:center;display:flex;justify-content:space-between;margin:0 auto;max-width:1200px;padding:0 20px;width:100%}.member-welcome h2{font-size:2rem;margin:0}.member-welcome p{margin:.5rem 0 0;opacity:.9}.mypage-nav{background:#fff;border-bottom:1px solid #e9ecef;padding:0}.mypage-tabs{margin:0 auto;max-width:1200px;padding:0 20px}.mypage-tab{align-items:center;background:none;border:none;border-bottom:3px solid #0000;color:#666;cursor:pointer;display:flex;gap:.5rem;padding:1rem 2rem;transition:all .3s ease}.mypage-tab:hover{background:#f8f9fa;color:#333}.mypage-tab.active{background:#f8f9fa;border-bottom-color:#ff9a9e;color:#2e8b8b}.mypage-content{padding:2rem 0}.profile-content{max-width:800px}.profile-header{border-bottom:2px solid #e9ecef;padding-bottom:1rem}.edit-button,.save-button{background:#4ecdc4}.cancel-edit-button,.edit-button,.save-button{border:none;border-radius:25px;color:#fff;cursor:pointer;padding:.7rem 1.5rem;transition:all .3s ease}.cancel-edit-button{background:#6c757d;margin-left:.5rem}.profile-sections{grid-gap:2rem;display:grid}.profile-section{background:#fff;box-shadow:0 2px 10px #0000001a}.profile-section h4{border-bottom:1px solid #e9ecef;color:#333;margin-bottom:1rem;padding-bottom:.5rem}.reservations-content h3{color:#333;margin-bottom:2rem}.reservation-card{background:#fff;border-radius:15px;box-shadow:0 2px 10px #0000001a;margin-bottom:1rem;padding:1.5rem}.reservation-card .reservation-header{align-items:center;border-bottom:1px solid #e9ecef;display:flex;justify-content:space-between;margin-bottom:1rem;padding-bottom:.5rem}.reservation-card h4{color:#333;margin:0}.points-content{max-width:600px}.membership-card{background:linear-gradient(135deg,#4ecdc4,#44a08d);border-radius:20px;color:#fff;margin-bottom:2rem;padding:2rem}.membership-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1rem}.member-number{opacity:.9}.points-balance{text-align:center}.points-number{display:block;font-size:3rem;font-weight:700}.points-label{font-size:1.2rem;opacity:.9}.membership-benefits{background:#fff;border-radius:15px;box-shadow:0 2px 10px #0000001a;margin-bottom:2rem;padding:2rem}.membership-benefits h4{color:#333;margin-bottom:1rem}.membership-benefits ul{margin:0;padding-left:1.5rem}.membership-benefits li{color:#666;margin-bottom:.5rem}.points-history{background:#fff;border-radius:15px;box-shadow:0 2px 10px #0000001a;padding:2rem}.transaction-item{align-items:center;border-bottom:1px solid #e9ecef;display:flex;justify-content:space-between;padding:1rem 0}.transaction-item:last-child{border-bottom:none}.transaction-date{color:#666;font-size:.9rem}.transaction-description{color:#333;flex:1 1;margin:0 1rem}.transaction-points.positive{color:#28a745;font-weight:700}.license-content{max-width:800px}.license-info{background:#fff;border-radius:15px;box-shadow:0 2px 10px #0000001a;padding:2rem}.license-section{border-bottom:1px solid #e9ecef;margin-bottom:2rem;padding-bottom:1rem}.license-section h4{color:#333;margin-bottom:1rem}.license-status{font-weight:700}.license-images{margin:2rem 0}.license-image-section{margin-bottom:2rem}.license-image-section h4{color:#333;margin-bottom:1rem}.license-image{border-radius:10px;box-shadow:0 2px 10px #0000001a;cursor:pointer;max-width:300px;transition:transform .3s ease}.license-image:hover{transform:scale(1.05)}.license-status-info{margin-top:2rem}.status-message{border-radius:10px;margin-bottom:1rem;padding:1rem}.status-message.warning{background:#fff3cd;border:1px solid #ffeaa7;color:#856404}.status-message.success{background:#d4edda;border:1px solid #c3e6cb;color:#155724}.status-message.error{background:#f8d7da;border:1px solid #f5c6cb;color:#721c24}.reupload-button{background:#dc3545;border:none;border-radius:25px;color:#fff;cursor:pointer;margin-top:1rem;padding:.7rem 1.5rem;transition:all .3s ease}.reupload-button:hover{background:#c82333;transform:translateY(-2px)}.member-management{max-width:1200px}.member-stats{color:#666;display:flex;font-size:.9rem;gap:2rem}.member-filters{background:#fff;border-radius:10px;box-shadow:0 2px 10px #0000001a;margin-bottom:2rem;padding:1rem}.filter-row{display:flex;gap:2rem}.search-input{border:2px solid #e9ecef;border-radius:8px;font-size:1rem;padding:.7rem;width:300px}.search-input:focus{border-color:#4ecdc4;outline:none}.members-grid{grid-gap:1.5rem;display:grid;gap:1.5rem}.member-admin-card{background:#fff;border-radius:15px;box-shadow:0 5px 20px #0000001a;padding:2rem}.member-admin-card.inactive{background:#f8f9fa;opacity:.7}.member-header{align-items:center;border-bottom:1px solid #e9ecef;display:flex;justify-content:space-between;margin-bottom:1.5rem;padding-bottom:.5rem}.member-info h4{color:#333;margin:0}.member-number{color:#666;font-size:.9rem}.member-status-actions{align-items:center;display:flex;gap:1rem}.status-badge{font-weight:700;padding:.3rem .8rem}.status-badge.active{background:#d4edda;color:#155724}.status-badge.inactive{background:#f8d7da;color:#721c24}.status-toggle{border:none;border-radius:20px;cursor:pointer;font-size:.8rem;padding:.5rem 1rem;transition:all .3s ease}.status-toggle.activate{background:#28a745;color:#fff}.status-toggle.deactivate{background:#dc3545;color:#fff}.member-details{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-bottom:1.5rem}.detail-section h5{font-size:1rem}.detail-section a{color:#2e8b8b;text-decoration:none}.detail-section a:hover{text-decoration:underline}.member-actions{display:flex;flex-wrap:wrap;gap:1rem}.member-actions button{border:none;border-radius:25px;cursor:pointer;font-size:.9rem;padding:.7rem 1.5rem;transition:all .3s ease}.approve-button{background:#28a745;color:#fff}.reject-button{background:#dc3545;color:#fff}.member-extended-details{background:#f8f9fa;border-radius:10px;border-top:3px solid #ff9a9e;margin-top:1.5rem;padding:1.5rem}.license-images-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-top:1rem}.license-image-section h6{color:#333;font-size:.9rem;margin-bottom:.5rem}.license-images .license-image{height:120px;max-width:200px;object-fit:cover}.image-note{color:#666;font-size:.8rem;margin-top:.5rem;text-align:center}.member-dates{border-top:1px solid #e9ecef;color:#666;font-size:.9rem;margin-top:1rem;padding-top:1rem}.no-members{color:#666;padding:3rem;text-align:center}.admin-button{background:linear-gradient(135deg,#5dade2,#3b82c7)!important;border:none!important;border-radius:25px!important;color:#fff!important;cursor:pointer!important;font-size:.9rem!important;padding:.5rem 1rem!important;transition:all .3s ease!important}.admin-button:hover{background:linear-gradient(135deg,#2e86ab,#1b4965)!important;transform:translateY(-2px)!important}.admin-login-container{align-items:center;background:linear-gradient(135deg,#4ecdc4,#44a08d);display:flex;justify-content:center;min-height:80vh;padding:2rem}.admin-login-card{border-radius:20px;box-shadow:0 20px 60px #0003;padding:3rem}.login-header{margin-bottom:2rem}.login-header h2{margin-bottom:.5rem}.login-header p{font-size:.9rem}.login-form .form-group{margin-bottom:1.5rem}.login-form input{border:2px solid #e9ecef;border-radius:10px;font-size:1rem;padding:1rem;transition:border-color .3s ease;width:100%}.login-form input:focus{border-color:#4ecdc4;outline:none}.login-button{background:linear-gradient(135deg,#4ecdc4,#44a08d);border:none;border-radius:10px;color:#fff;cursor:pointer;font-size:1.1rem;margin-top:1rem;padding:1rem;transition:all .3s ease;width:100%}.login-button:hover{box-shadow:0 5px 15px #0003;transform:translateY(-2px)}.login-info{background:#f8f9fa;border-radius:10px;margin-top:2rem;padding:1rem;text-align:center}.login-info p{color:#666;margin:.3rem 0}.admin-dashboard{background:#f8f9fa;min-height:100vh}.admin-header{background:linear-gradient(135deg,#4ecdc4,#44a08d);box-shadow:0 2px 10px #0000001a;color:#fff;padding:1.5rem 0}.admin-header-content{align-items:center;display:flex;justify-content:space-between;margin:0 auto;max-width:1200px;padding:0 20px}.admin-header h1{font-size:1.8rem}.admin-header-actions{align-items:center;display:flex;gap:1rem}.admin-user{background:#fff3;font-size:.9rem}.logout-button{background:#dc3545;border:none;border-radius:20px;color:#fff;cursor:pointer;padding:.7rem 1.5rem;transition:all .3s ease}.logout-button:hover{background:#c82333;transform:translateY(-2px)}.admin-nav{background:#fff;border-bottom:1px solid #e9ecef;padding:0}.admin-tabs{display:flex;margin:0 auto;max-width:1200px;padding:0 20px}.admin-tab{align-items:center;background:none;border:none;border-bottom:3px solid #0000;color:#666;cursor:pointer;display:flex;gap:.5rem;padding:1rem 2rem;transition:all .3s ease}.admin-tab:hover{background:#f8f9fa;color:#333}.admin-tab.active{background:#f8f9fa;border-bottom-color:#ff9a9e;color:#2e8b8b}.tab-icon{font-size:1.2rem}.tab-name{font-weight:600}.admin-content{min-height:calc(100vh - 200px);padding:2rem 0}.management-header{align-items:center;border-bottom:2px solid #e9ecef;display:flex;justify-content:space-between;margin-bottom:2rem;padding-bottom:1rem}.management-header h2{color:#333;margin:0}.add-button{background:#28a745;border:none;border-radius:25px;color:#fff;cursor:pointer;font-size:.9rem;padding:.7rem 1.5rem;transition:all .3s ease}.add-button:hover:not(:disabled){background:#218838;transform:translateY(-2px)}.add-button:disabled{background:#6c757d;cursor:not-allowed}.vehicle-form-container{background:#fff;border-radius:15px;box-shadow:0 5px 20px #0000001a;margin-bottom:2rem;padding:2rem}.vehicle-form h3{border-bottom:2px solid #ff9a9e;color:#333;margin-bottom:1.5rem;padding-bottom:.5rem}.form-section{background:#f8f9fa;border-radius:10px;margin:2rem 0;padding:1.5rem}.form-section h4{color:#333}.checkbox-label{font-weight:600}.vehicle-admin-card{border-radius:15px;box-shadow:0 5px 20px #0000001a;transition:transform .3s ease}.vehicle-admin-card:hover{transform:translateY(-3px)}.vehicle-admin-card.unavailable{background:#f8f9fa;opacity:.7}.vehicle-admin-header{border-bottom:1px solid #e9ecef;padding-bottom:.5rem}.vehicle-admin-header h3{color:#333}.vehicle-actions{display:flex;gap:.5rem}.vehicle-actions button{border:none;border-radius:50%;cursor:pointer;font-size:1rem;height:35px;transition:all .3s ease;width:35px}.availability-toggle.available{background:#28a745}.availability-toggle.unavailable{background:#dc3545}.edit-button{background:#4ecdc4;color:#fff}.delete-button{background:#dc3545;color:#fff}.vehicle-actions button:hover:not(:disabled){transform:scale(1.1)}.vehicle-actions button:disabled{cursor:not-allowed;opacity:.5}.vehicle-admin-info p{color:#666;margin:.5rem 0}.status.available{color:#28a745;font-weight:700}.status.unavailable{color:#dc3545;font-weight:700}.reservation-stats{color:#666;display:flex;font-size:.9rem;gap:2rem}.reservation-filters{background:#fff;border-radius:10px;box-shadow:0 2px 10px #0000001a;margin-bottom:2rem;padding:1rem}.reservations-grid{grid-gap:1.5rem;display:grid;gap:1.5rem}.reservation-admin-card{background:#fff;border-radius:15px;box-shadow:0 5px 20px #0000001a;padding:2rem}.reservation-header{align-items:center;border-bottom:1px solid #e9ecef;display:flex;justify-content:space-between;margin-bottom:1.5rem;padding-bottom:.5rem}.reservation-id{color:#333;font-weight:700}.reservation-status{border-radius:20px;color:#fff;font-size:.9rem;font-weight:700;padding:.5rem 1rem}.reservation-details{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-bottom:1.5rem}.customer-info h4,.payment-info h4,.reservation-notes h4,.vehicle-info h4{color:#333;font-size:1rem;margin-bottom:.5rem}.customer-info p,.payment-info p,.vehicle-info p{color:#666;margin:.3rem 0}.customer-info a,.vehicle-info a{color:#2e8b8b;text-decoration:none}.customer-info a:hover,.vehicle-info a:hover{text-decoration:underline}.reservation-dates{border-top:1px solid #e9ecef;color:#666;font-size:.9rem;margin-top:1rem;padding-top:1rem}.reservation-actions{display:flex;flex-wrap:wrap;gap:1rem}.reservation-actions button{border:none;border-radius:25px;cursor:pointer;font-size:.9rem;padding:.7rem 1.5rem;transition:all .3s ease}.details-button{background:#6c757d;color:#fff}.complete-button{background:#28a745;color:#fff}.cancel-button{background:#dc3545;color:#fff}.restore-button{background:#4ecdc4;color:#fff}.reservation-actions button:hover{opacity:.9;transform:translateY(-2px)}.reservation-extended-details{background:#f8f9fa;border-radius:10px;border-top:3px solid #ff9a9e;margin-top:1.5rem;padding:1.5rem}.details-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-top:1rem}.detail-section h5{color:#333;font-size:.9rem;margin-bottom:.5rem}.detail-section p{color:#666;font-size:.9rem;margin:.3rem 0}.no-reservations{color:#666;padding:3rem;text-align:center}.analytics-section h2{color:#333;margin-bottom:2rem}.stats-grid{grid-gap:1.5rem;gap:1.5rem}.stat-card{border-radius:15px;box-shadow:0 5px 20px #0000001a;padding:2rem;text-align:center}.stat-card h3{color:#666;font-size:.9rem;letter-spacing:1px;margin-bottom:1rem;text-transform:uppercase}.stat-number{color:#2e8b8b;font-size:2.5rem}.site-settings-management{background:#fff;border-radius:15px;box-shadow:0 5px 20px #0000001a;padding:2rem}.settings-header{align-items:center;border-bottom:2px solid #f8f9fa;display:flex;justify-content:space-between;margin-bottom:2rem;padding-bottom:1rem}.settings-header h2{color:#333;margin:0}.settings-actions{display:flex;gap:1rem}.settings-actions button{border:none;border-radius:25px;cursor:pointer;font-size:.9rem;padding:.7rem 1.5rem;transition:all .3s ease}.save-button{background:#28a745;color:#fff}.reset-button{background:#dc3545;color:#fff}.settings-actions button:hover{opacity:.9;transform:translateY(-2px)}.settings-tabs{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:2rem}.tab-button{background:#fff;border:2px solid #ff9a9e;border-radius:25px;color:#2e8b8b;cursor:pointer;font-size:.9rem;padding:.7rem 1.5rem;transition:all .3s ease}.tab-button.active,.tab-button:hover{background:#4ecdc4;color:#fff}.settings-content{min-height:400px}.section h3{border-bottom:2px solid #f8f9fa;color:#333;margin-bottom:1.5rem;padding-bottom:.5rem}.form-group label{color:#555}.form-group input,.form-group textarea{border:2px solid #e9ecef;border-radius:8px;font-size:1rem;padding:.8rem;transition:border-color .3s ease;width:100%}.form-group input:focus,.form-group textarea:focus{border-color:#4ecdc4;outline:none}.feature-item{background:#f8f9fa;border-radius:10px;margin-bottom:1rem;padding:1.5rem}.feature-item h4{color:#2e8b8b;margin-bottom:1rem}.hero-description{font-size:1.1rem;margin-top:1rem;opacity:.9}.feature-text{display:block;font-weight:700;margin-bottom:.3rem}.feature-description{font-size:.9rem;opacity:.8}.admin-menu-button{background:#ffffff4d!important;border:1px solid #ffffff80!important}.admin-menu-button:hover{background:#fff6!important}.vehicle-selection{animation:fadeInUp 1s ease-out .8s both;margin-top:3rem;text-align:center}.selection-title{color:#fff;font-size:2rem;font-weight:300;margin-bottom:2rem;text-shadow:2px 2px 4px #0000004d}.vehicle-tiles{margin:0 auto;max-width:1000px;padding:0 2rem}.vehicle-tile{align-items:center;animation:slideInFromBottom .6s ease-out both;background:#fffffff2;box-shadow:0 10px 30px #0003;display:flex;gap:2rem;padding:2.5rem;position:relative;transition:all .4s ease}.vehicle-tile:nth-child(2){animation-delay:.2s}@keyframes slideInFromBottom{0%{opacity:0;transform:translateY(50px)}to{opacity:1;transform:translateY(0)}}.vehicle-tile:before{background:linear-gradient(135deg,#4ecdc4,#44a08d);content:"";height:5px;left:0;position:absolute;right:0;top:0}.vehicle-tile:hover{box-shadow:0 20px 40px #0000004d}.car-tile:hover{background:linear-gradient(135deg,#4ecdc4,#44a08d);color:#fff}.motorcycle-tile:hover{background:linear-gradient(135deg,#5dade2,#3b82c7);color:#fff}.tile-icon{flex-shrink:0;font-size:4rem}.mypage-link:hover{background:#ffffff40;border-color:#ffffff80;transform:translateY(-1px)}.welcome-text{align-items:flex-end;color:#fff;display:flex;flex-direction:column;flex-shrink:1;line-height:1.2;max-width:150px;min-width:0}.welcome-text .greeting{font-size:10px;font-weight:400;opacity:.9;white-space:nowrap}.welcome-text .username{font-size:13px;font-weight:600;margin-top:1px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.logout-btn{background:#ffffff26;border:1px solid #ffffff4d;border-radius:6px;color:#fff;cursor:pointer;flex-shrink:0;font-size:13px;font-weight:500;padding:8px 16px;transition:all .3s ease;white-space:nowrap}.logout-btn:hover{background:#ffffff40;border-color:#ffffff80;transform:translateY(-1px)}.auth-buttons{align-items:center;display:flex;gap:16px}.login-btn,.register-btn{align-items:center;background:#ffffff26;border:1px solid #ffffff4d;border-radius:8px;box-sizing:border-box;color:#fff;display:inline-flex;font-size:14px;font-weight:600;height:44px;justify-content:center;min-width:110px;padding:12px 24px;text-align:center;text-decoration:none;transition:all .3s ease;width:110px}.login-btn:hover,.register-btn:hover{background:#ffffff40;border-color:#ffffff80;transform:translateY(-1px)}.main-footer{background:#fff;background:var(--white);border-top:1px solid #cfd8dc;border-top:1px solid var(--light-gray);margin-top:auto;padding:32px 0}.footer-container{margin:0 auto;max-width:1200px;padding:0 24px;text-align:center}.footer-container p{color:#546e7a;color:var(--gray);font-size:14px;margin-bottom:16px}.footer-links{display:flex;flex-wrap:wrap;gap:24px;justify-content:center}.footer-links a{color:#546e7a;color:var(--gray);font-size:14px;text-decoration:none;transition:color .2s}.footer-links a:hover{color:#263238;color:var(--dark-gray)}@media (max-width:1024px){.header-container{padding:14px 20px}.user-menu{gap:12px}.logout-btn,.mypage-link{font-size:12px;padding:7px 14px}.welcome-text{max-width:120px}.welcome-text .greeting{font-size:9px}.welcome-text .username{font-size:12px}.hero{min-height:500px}.hero-content{padding:3rem 1rem}.hero-content h2{font-size:2rem}.hero-content p{font-size:1.1rem}.slider-track{animation:slideAnimation 30s linear infinite}.hero-features{gap:1rem}.vehicle-grid{gap:1rem;grid-template-columns:1fr}.filters{flex-direction:column;gap:1rem}.form-row{grid-template-columns:1fr}.vehicle-summary{flex-direction:column;text-align:center}.form-actions{flex-direction:column;gap:1rem}.contact-info{grid-template-columns:1fr}.dashboard-tabs{flex-wrap:wrap;gap:.5rem}.dashboard-tabs button{font-size:.8rem;padding:.5rem .8rem}.vehicle-tiles{gap:1.5rem;grid-template-columns:1fr;padding:0 1rem}.vehicle-tile{gap:1.5rem;padding:2rem}.tile-icon{font-size:3rem}.selection-title{font-size:1.5rem}.page-header{align-items:flex-start;flex-direction:column;gap:1rem}}@media (max-width:768px){.header-container{flex-wrap:nowrap;justify-content:space-between;padding:12px 16px}.site-title{font-size:18px}.user-menu{gap:10px}.logout-btn,.mypage-link{font-size:11px;padding:6px 12px}.welcome-text{max-width:100px}.welcome-text .greeting{font-size:8px}.welcome-text .username{font-size:11px}.auth-buttons{gap:10px}.login-btn,.register-btn{font-size:12px;height:36px;min-width:90px;padding:8px 16px;width:90px}.footer-links{flex-direction:column;gap:8px}}@media (max-width:480px){.header-container{padding:10px 12px}.logo-section{gap:8px}.site-title{font-size:16px}.user-menu{gap:8px}.logout-btn,.mypage-link{font-size:10px;padding:5px 10px}.welcome-text{align-items:center;max-width:80px}.welcome-text .greeting{font-size:7px}.welcome-text .username{font-size:10px}.auth-buttons{gap:8px}.login-btn,.register-btn{font-size:11px;height:32px;min-width:80px;padding:6px 12px;width:80px}}@media (max-width:360px){.header-container{padding:8px 10px}.site-title{font-size:14px}.user-menu{gap:6px}.logout-btn,.mypage-link{font-size:9px;padding:4px 8px}.welcome-text{max-width:70px}.welcome-text .greeting{font-size:6px}.welcome-text .username{font-size:9px}.auth-buttons{gap:6px}.login-btn,.register-btn{font-size:10px;height:28px;min-width:70px;padding:5px 10px;width:70px}}.admin-indicator{align-items:center;display:flex;justify-content:flex-end;padding:0 20px}.admin-badge{background:#667eea;border-radius:8px;color:#fff;font-size:12px;font-weight:600;letter-spacing:.5px;padding:8px 16px;text-transform:uppercase}:root{--gradient-primary:linear-gradient(135deg,#2e7d32,#4caf50);--gradient-accent:linear-gradient(135deg,#1b5e20,#2e7d32);--primary-green:#2e7d32;--primary-green-dark:#1b5e20;--accent-green:#4caf50;--mint-green:#e8f5e9;--medium-gray:#546e7a;--extra-light-gray:#fafafa;--shadow-soft:0 5px 20px #2e7d321a;--shadow-medium:0 10px 30px #2e7d3233;--shadow-strong:0 20px 60px #2e7d324d}.home-page{background:linear-gradient(135deg,#fafafa,#e8f5e9);background:linear-gradient(135deg,var(--extra-light-gray) 0,var(--mint-green) 100%);font-family:Inter,Segoe UI,Tahoma,Geneva,Verdana,sans-serif;min-height:100vh;overflow-x:hidden;width:100%}.hero-section{align-items:center;background:linear-gradient(135deg,#2e7d32,#4caf50);background:var(--gradient-primary);display:flex;height:100vh;justify-content:center;overflow:hidden;position:relative;text-align:center;z-index:0}.background-slider{height:100%;left:0;overflow:hidden;position:absolute;top:0;width:100%;z-index:1}.slider-track{animation:slideShow 24s linear infinite;display:flex;height:100%;width:800%;will-change:transform}.background-image{background-attachment:scroll;background-position:50%;background-repeat:no-repeat;background-size:cover;filter:brightness(.4) grayscale(1);flex-shrink:0;height:100%;width:12.5%}@keyframes slideShow{0%{transform:translateX(0)}50%{transform:translateX(-25%)}to{transform:translateX(-50%)}}.hero-overlay{-webkit-backdrop-filter:blur(1px);backdrop-filter:blur(1px);background:linear-gradient(135deg,#2e7d32d9,#1b5e20d9 50%,#4caf50d9);height:100%;left:0;pointer-events:none;position:absolute;top:0;width:100%;z-index:2}.hero-content{color:#fff;max-width:800px;padding:0 2rem;position:relative;text-shadow:0 2px 8px #0000004d;z-index:3}.hero-title{animation:fadeInUp 1s ease-out;-webkit-background-clip:text;background-clip:text;color:#fff;font-size:4rem;font-weight:700;letter-spacing:-.02em;line-height:1.1;margin-bottom:1.5rem;text-shadow:0 4px 20px #4caf504d}.hero-subtitle{animation:fadeInUp 1s ease-out .3s both;color:#fff;font-size:1.5rem;font-weight:300;line-height:1.6;margin-bottom:2rem;opacity:.95}.selection-container{background:#fff;border-radius:30px 30px 0 0;box-shadow:0 -10px 50px #4caf501a;margin:-50px auto 0;max-width:1200px;padding:4rem 2rem;position:relative;z-index:4}.selection-title{color:#2d3748;font-size:2.5rem;font-weight:600;margin-bottom:3rem;position:relative;text-align:center}.selection-title:after{background:linear-gradient(135deg,#2e7d32,#4caf50);background:var(--gradient-primary);border-radius:2px;bottom:-10px;content:"";height:4px;left:50%;position:absolute;transform:translateX(-50%);width:60px}.announcements-section{background:linear-gradient(135deg,#f9fafb,#e8f5e8);border-left:5px solid #2e7d32;border-left:5px solid var(--primary-green);border-radius:20px;box-shadow:0 5px 20px #2e7d321a;box-shadow:var(--shadow-soft);margin-bottom:3rem;padding:2.5rem}.announcements-title{color:#1b5e20;color:var(--primary-green-dark);font-size:1.5rem;font-weight:600;margin-bottom:1rem}.announcements-list{display:flex;flex-direction:column;gap:.75rem}.announcement-item{align-items:center;background:#fff;border:1px solid #4caf501a;border-radius:12px;box-shadow:0 2px 8px #4caf501a;cursor:pointer;display:flex;gap:1rem;padding:1rem;transition:all .3s ease}.announcement-item:hover{border-color:#4caf50;border-color:var(--accent-green);box-shadow:0 10px 30px #2e7d3233;box-shadow:var(--shadow-medium);transform:translateY(-2px)}.announcement-date{color:#546e7a;color:var(--medium-gray);font-size:.875rem;min-width:80px}.announcement-title{color:#2d3748;flex:1 1;font-weight:500}.vehicle-tiles{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:repeat(auto-fit,minmax(400px,1fr));margin-top:2rem}.vehicle-tile{background:#fff;border:1px solid #4caf501a;border-radius:20px;box-shadow:0 5px 20px #2e7d321a;box-shadow:var(--shadow-soft);cursor:pointer;overflow:hidden;transition:all .4s cubic-bezier(.175,.885,.32,1.275)}.vehicle-tile:hover{border-color:#4caf50;border-color:var(--accent-green);box-shadow:0 20px 60px #2e7d324d;box-shadow:var(--shadow-strong);transform:translateY(-10px) scale(1.02)}.tile-image{height:250px;overflow:hidden;position:relative}.tile-img{height:100%;object-fit:cover;transition:transform .6s ease;width:100%}.vehicle-tile:hover .tile-img{transform:scale(1.1)}.tile-content{padding:2rem}.tile-title{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#2e7d32,#4caf50);background:var(--gradient-primary);-webkit-background-clip:text;background-clip:text;color:#2d3748;font-size:2rem;font-weight:700;margin-bottom:1rem}.tile-description{color:#546e7a;color:var(--medium-gray);font-size:1.1rem;line-height:1.6;margin-bottom:1.5rem;white-space:pre-line}.tile-features{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1.5rem}.feature{align-items:center;background:#e8f5e9;background:var(--mint-green);border-radius:20px;color:#1b5e20;color:var(--primary-green-dark);display:inline-flex;font-size:.875rem;font-weight:500;gap:.25rem;padding:.5rem 1rem}.tile-button{background:linear-gradient(135deg,#2e7d32,#4caf50);background:var(--gradient-primary);border:none;border-radius:25px;box-shadow:0 5px 20px #2e7d321a;box-shadow:var(--shadow-soft);color:#fff;cursor:pointer;font-size:.875rem;font-weight:600;padding:.75rem 1.5rem;transition:all .3s ease;width:100%}.tile-button:hover{background:linear-gradient(135deg,#1b5e20,#2e7d32);background:var(--gradient-accent);box-shadow:0 10px 30px #2e7d3233;box-shadow:var(--shadow-medium);transform:translateY(-2px)}.info-section{background:#fafafa;background:var(--extra-light-gray);padding:4rem 2rem}.info-cards{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));margin:0 auto;max-width:1200px}.info-card{background:#fff;border:1px solid #4caf501a;border-radius:20px;box-shadow:0 5px 20px #2e7d321a;box-shadow:var(--shadow-soft);padding:2.5rem;transition:all .3s ease}.info-card:hover{border-color:#4caf50;border-color:var(--accent-green);box-shadow:0 10px 30px #2e7d3233;box-shadow:var(--shadow-medium);transform:translateY(-5px)}.info-icon{display:block;filter:grayscale(.2) hue-rotate(90deg);font-size:3rem;margin-bottom:1.5rem}.info-card h4{color:#1b5e20;color:var(--primary-green-dark);font-size:1.3rem;font-weight:600;margin-bottom:.75rem}.info-card p{color:#546e7a;color:var(--medium-gray);line-height:1.6}@media (max-width:768px){.hero-title{font-size:2.5rem}.hero-subtitle{font-size:1.2rem}.selection-container{border-radius:20px 20px 0 0;margin-top:-30px;padding:3rem 1rem}.selection-title{font-size:2rem}.vehicle-tiles{gap:1.5rem;grid-template-columns:1fr}.tile-content{padding:1.5rem}.tile-title{font-size:1.5rem}.info-cards{gap:1.5rem;grid-template-columns:1fr}.announcements-section{border-radius:15px;padding:1.5rem}.info-card{padding:2rem}}@media (max-width:480px){.hero-section{height:70vh}.hero-title{font-size:2rem}.hero-subtitle{font-size:1rem}.selection-container{padding:2rem 1rem}.tile-content{padding:1rem}.announcement-item{align-items:flex-start;flex-direction:column;gap:.5rem}.announcement-date{min-width:auto}.info-card{padding:1.5rem}}.vehicle-list-container{background:var(--gradient-soft);min-height:calc(100vh - 200px);padding:3rem 2rem}.vehicle-list-header{animation:fadeInDown .6s ease;margin-bottom:3rem;text-align:center}.vehicle-list-header h1{-webkit-text-fill-color:#0000;background:var(--gradient-2);-webkit-background-clip:text;background-clip:text;font-size:3rem;font-weight:800;margin-bottom:.5rem}.vehicle-list-header p{color:var(--gray);font-size:1.125rem;font-weight:500}.vehicles-grid{grid-gap:2rem;gap:2rem;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));margin:0 auto;max-width:1400px}.vehicle-card{animation:fadeInUp .6s ease;background:#fff;border-radius:20px;box-shadow:0 10px 40px #00000014;overflow:hidden;transition:all .4s cubic-bezier(.175,.885,.32,1.275)}.vehicle-card:hover{box-shadow:0 20px 60px #00000026;transform:translateY(-10px) scale(1.02)}.vehicle-image-container{background:var(--gradient-1);height:220px;overflow:hidden;position:relative}.vehicle-image{height:100%;object-fit:cover;transition:transform .6s ease;width:100%}.vehicle-card:hover .vehicle-image{transform:scale(1.1)}.vehicle-badge{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffff2;color:var(--green);font-weight:700;left:1rem;letter-spacing:1px;text-transform:uppercase}.available-badge,.vehicle-badge{border-radius:50px;font-size:.75rem;padding:.5rem 1rem;position:absolute;top:1rem}.available-badge{animation:pulse 2s infinite;background:var(--green-light);color:#fff;font-weight:600;right:1rem}.vehicle-details{padding:1.5rem}.vehicle-details h3{color:#1e293b;font-size:1.5rem;font-weight:700;margin-bottom:1rem}.vehicle-features{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1.5rem}.feature-tag{background:#f1f5f9;border-radius:50px;color:#475569;font-size:.8rem;font-weight:500;padding:.375rem .875rem}.vehicle-pricing{align-items:center;border-top:1px solid #e2e8f0;display:flex;justify-content:space-between;padding-top:1rem}.price-display{display:flex;flex-direction:column}.price-amount{color:var(--green);font-size:1.75rem;font-weight:800}.price-period{color:#94a3b8;font-size:.875rem}.modern-book-btn{background:linear-gradient(135deg,#43a047,#66bb6a);border:none;border-radius:50px;box-shadow:0 4px 15px #43a0474d;color:#fff;cursor:pointer;font-size:.9rem;font-weight:600;padding:.875rem 2rem;transition:all .3s ease}.modern-book-btn:hover{box-shadow:0 8px 25px #43a04766;transform:translateY(-2px)}.modern-book-btn:disabled{cursor:not-allowed;opacity:.5}.modern-modal-overlay{align-items:center;animation:fadeIn .3s ease;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#000000b3;bottom:0;display:flex;justify-content:center;left:0;padding:1rem;position:fixed;right:0;top:0;z-index:1000}.modern-modal{animation:slideUp .4s cubic-bezier(.175,.885,.32,1.275);background:#fff;border-radius:24px;box-shadow:0 25px 100px #0000004d;max-height:90vh;max-width:900px;overflow-y:auto;width:100%}.modal-header{border-bottom:1px solid #e2e8f0}.modal-header h2{color:#1e293b;font-size:1.75rem;font-weight:700}.close-btn{background:#f1f5f9;border:none;border-radius:50%;color:#64748b;cursor:pointer;font-size:1.5rem;height:40px;transition:all .3s ease;width:40px}.close-btn:hover{background:#e2e8f0;transform:rotate(90deg)}.booking-content{padding:2rem}.vehicle-summary{background:linear-gradient(135deg,#f3f4f6,#e5e7eb);border-radius:16px;display:flex;gap:1.5rem;margin-bottom:2rem;padding:1.5rem}.summary-image{border-radius:12px;height:100px;object-fit:cover;width:150px}.summary-details h3{color:#1e293b;font-size:1.25rem;font-weight:700;margin-bottom:.5rem}.summary-details p{color:#64748b;font-size:.9rem}.form-section{margin-bottom:2rem}.form-section h4{color:#1e293b;font-size:1.125rem;font-weight:600;margin-bottom:1rem}.plan-options{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.plan-card{border:2px solid #e2e8f0;border-radius:12px;cursor:pointer;padding:1rem;position:relative;text-align:center;transition:all .3s ease}.plan-card:hover{background:#f1f8e9;border-color:#43a047}.plan-card.selected{background:linear-gradient(135deg,#43a047,#66bb6a);border-color:#43a047;color:#fff}.plan-name{font-weight:600;margin-bottom:.25rem}.plan-discount{background:#fff;border-radius:6px;box-shadow:0 2px 8px #0000001a;color:#10b981;font-size:.75rem;font-weight:700;padding:.25rem .5rem;position:absolute;right:10px;top:-10px}.plan-card.selected .plan-discount{color:var(--green)}.date-inputs{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.date-input-group,.duration-input-group{display:flex;flex-direction:column}.date-input-group label,.duration-input-group label{color:#64748b;font-size:.875rem;font-weight:500;margin-bottom:.5rem}.modern-date-input{border:2px solid #e2e8f0;border-radius:10px;font-size:.9rem;padding:.75rem;transition:all .3s ease}.modern-date-input:focus{border-color:#43a047;box-shadow:0 0 0 3px #43a0471a;outline:none}.duration-selector{align-items:center;border:2px solid #e2e8f0;border-radius:10px;display:flex;gap:1rem;padding:.75rem}.duration-selector button{background:#43a047;border:none;border-radius:50%;color:#fff;cursor:pointer;font-size:1.25rem;height:32px;transition:all .3s ease;width:32px}.duration-selector button:hover{background:#388e3c;transform:scale(1.1)}.duration-selector span{color:#1e293b;flex:1 1;font-weight:600;text-align:center}.insurance-options{display:flex;flex-direction:column;gap:1rem}.insurance-item,.toggle-label{position:relative}.toggle-label{align-items:center;background:#f8faff;border-radius:12px;cursor:pointer;display:flex;padding:1rem;transition:all .3s ease}.toggle-label:hover{background:#eff4ff}.toggle-label input[type=checkbox]{opacity:0;position:absolute}.toggle-slider{background:#cbd5e1;border-radius:50px;height:24px;margin-right:1rem;position:relative;transition:all .3s ease;width:48px}.toggle-slider:after{background:#fff;border-radius:50%;content:"";height:18px;left:3px;position:absolute;top:3px;transition:all .3s ease;width:18px}.toggle-label input[type=checkbox]:checked+.toggle-slider{background:#43a047}.toggle-label input[type=checkbox]:checked+.toggle-slider:after{transform:translateX(24px)}.toggle-label input[type=checkbox]:disabled+.toggle-slider{opacity:.5}.insurance-info{align-items:center;display:flex;flex:1 1;justify-content:space-between}.insurance-name{color:#1e293b;font-weight:600}.insurance-price{color:var(--green);font-weight:700}.price-breakdown{background:linear-gradient(135deg,#f8faff,#eff4ff);border-radius:16px;margin-top:2rem;padding:1.5rem}.price-row{align-items:center;color:#64748b;display:flex;justify-content:space-between;padding:.75rem 0}.price-row.total{border-top:2px solid #e2e8f0;color:#1e293b;font-size:1.125rem;font-weight:700;margin-top:.75rem;padding-top:1rem}.total-amount{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#43a047,#66bb6a);-webkit-background-clip:text;background-clip:text;font-size:1.5rem}.modal-actions button{border-radius:12px;cursor:pointer;flex:1 1;font-size:1rem;font-weight:600;padding:1rem;transition:all .3s ease}.cancel-btn{background:#f1f5f9;border:none;color:#64748b}.cancel-btn:hover{background:#e2e8f0;color:#475569}.confirm-btn{background:linear-gradient(135deg,#43a047,#66bb6a);border:none;box-shadow:0 4px 15px #43a0474d;color:#fff}.confirm-btn:hover{box-shadow:0 8px 25px #43a04766;transform:translateY(-2px)}.success-animation{animation:zoomIn .5s ease;padding:4rem 2rem;text-align:center}.success-icon{align-items:center;animation:rotateIn .6s ease;background:linear-gradient(135deg,#10b981,#059669);border-radius:50%;color:#fff;display:flex;font-size:3rem;height:80px;justify-content:center;margin:0 auto 1.5rem;width:80px}.success-animation h2{color:#1e293b;font-size:2rem;font-weight:700;margin-bottom:.5rem}.success-animation p{color:#64748b;font-size:1.125rem}.points-earned{align-items:center;animation:bounce .6s ease;background:linear-gradient(135deg,#fff3e0,#ffe0b2);border:2px solid #ff9800;border-radius:15px;display:flex;gap:.75rem;justify-content:center;margin:1.5rem auto 0;max-width:300px;padding:1rem 2rem}.points-icon{font-size:2rem}.points-text{color:#e65100;font-size:1.125rem;font-weight:700}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-30px)}to{opacity:1;transform:translateY(0)}}@keyframes zoomIn{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}@keyframes rotateIn{0%{transform:rotate(-180deg) scale(0)}to{transform:rotate(0) scale(1)}}@media (max-width:768px){.vehicles-grid{grid-template-columns:1fr}.vehicle-list-header h1{font-size:2rem}.plan-options{grid-template-columns:1fr 1fr}.date-inputs{grid-template-columns:1fr}.modal-header{padding:1.5rem 1.5rem 1rem}.booking-content{padding:1.5rem}.vehicle-summary{flex-direction:column;text-align:center}.summary-image{height:150px;width:100%}}.member-only-notice{background:#f8f9fa;border:2px solid #e9ecef;border-radius:8px;margin-top:1rem;padding:1rem;text-align:center}.login-required{color:#6c757d;font-size:.9rem;font-weight:500;margin-bottom:.5rem}.price-only{color:var(--green);font-size:1.1rem;font-weight:600;margin:0}.login-required-section{align-items:center;display:flex;flex:1 1;flex-direction:column;gap:.75rem}.login-message{color:#6c757d;font-size:.9rem;font-weight:500;margin:0;text-align:center}.login-btn{background:#43a047;font-size:.95rem;max-width:200px;padding:.75rem 1.5rem}.login-btn:hover{background:#388e3c}.vehicle-list-page{margin:0 auto;max-width:1200px;min-height:calc(100vh - 200px);padding:20px}.page-header{border-bottom:2px solid #e8f5e8;border-bottom:2px solid var(--green-light,#e8f5e8);margin-bottom:30px;padding-bottom:20px;text-align:center}.page-header h1{color:#2d5016;color:var(--green-dark,#2d5016);font-size:2.5rem;font-weight:700;margin-bottom:10px}.page-description{color:#666;font-size:1.1rem;line-height:1.6;margin:0 auto;max-width:600px}.error-container,.loading-container{align-items:center;display:flex;flex-direction:column;justify-content:center;min-height:400px;text-align:center}.loading-spinner{border:4px solid #f0f0f0;border-radius:50%;border-top-color:#4caf50;border-top:4px solid var(--green,#4caf50);height:50px;margin-bottom:20px;width:50px}.loading-container p{color:#666;font-size:1.1rem}.error-container{color:#666}.error-message{background:#fff;border:1px solid #ffebee;border-radius:10px;box-shadow:0 4px 6px #0000001a;max-width:500px;padding:30px}.error-message h3{color:#d32f2f;font-size:1.5rem;margin-bottom:15px}.error-message p{line-height:1.6;margin-bottom:20px}.retry-button{background:#4caf50;background:var(--green,#4caf50);border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:1rem;padding:12px 24px;transition:background-color .3s ease}.retry-button:hover{background:#45a049;background:var(--green-hover,#45a049)}@media (max-width:768px){.vehicle-list-page{padding:15px}.page-header h1{font-size:2rem}.page-description{font-size:1rem}}.email-registration-container{align-items:flex-start;background:linear-gradient(135deg,#e8f5e9,#c8e6c9);display:flex;justify-content:center;min-height:calc(100vh - 160px);overflow-y:auto;padding:2rem 1rem 1rem}.registration-card{background:#fff;border-radius:20px;box-shadow:0 10px 40px #0000001a;margin:1rem auto 2rem;max-width:600px;overflow:visible;width:100%}@media (max-width:768px){.email-registration-container{align-items:flex-start;min-height:100vh;padding:1rem .5rem 2rem}.registration-card{border-radius:15px;box-shadow:0 4px 20px #0000001a;margin:0 0 1rem;max-width:100%}}@media (max-width:480px){.email-registration-container{padding:.25rem .25rem 2rem}.registration-card{border-radius:10px;margin-bottom:1rem}}.card-header{background:linear-gradient(135deg,#43a047,#66bb6a);color:#fff;padding:2rem;text-align:center}.card-header h1{font-size:2rem;margin-bottom:.5rem}.card-header p{font-size:1.1rem;opacity:.95}.member-form{padding:2rem}@media (max-width:768px){.card-header{padding:1.5rem 1rem}.card-header h1{font-size:1.5rem}.card-header p{font-size:1rem}.member-form{padding:1.5rem 1rem 2rem}}.form-group label{color:#2e7d32;font-size:.95rem}.member-id-section{background:#0000;border:none;border-radius:15px;margin-bottom:1.5rem;min-height:auto;padding:1.5rem}.member-id-section .form-group input{border:2px solid #e0e0e0;border-radius:10px;box-sizing:border-box;font-size:1rem;padding:1rem;width:100%}.member-id-section h3{color:#2e7d32;font-size:1.3rem;margin-bottom:.5rem;text-align:center}.id-rule{color:#666;font-size:.9rem;font-style:italic;margin-bottom:1.5rem;text-align:center}.form-row{margin-bottom:1rem}.form-row .form-group input{border:2px solid #e0e0e0;border-radius:10px;box-sizing:border-box;font-size:1rem;padding:1rem;width:100%}@media (max-width:600px){.form-row{gap:.75rem;grid-template-columns:1fr}}@media (max-width:768px){.form-row .form-group input{font-size:16px;padding:.875rem}.member-id-section{margin-bottom:1rem;padding:1rem}.member-id-section h3{font-size:1.1rem}.member-id-section .form-group input{font-size:16px;padding:.875rem}.id-rule{font-size:.85rem;margin-bottom:1rem}}.form-row .form-group{margin-bottom:.5rem}.member-id-preview{animation:slideIn .3s ease;background:linear-gradient(135deg,#43a047,#66bb6a);border-radius:10px;color:#fff;margin-top:1rem;padding:1rem;text-align:center}.member-id-preview strong{font-size:1.2rem;letter-spacing:1px}.password-section{background:#0000;border:none;border-radius:15px;margin-bottom:1.5rem;min-height:auto;padding:1.5rem}.password-section .form-group input{border:2px solid #e0e0e0;border-radius:10px;box-sizing:border-box;font-size:1rem;padding:1rem;width:100%}.password-section h3{color:#2e7d32;font-size:1.3rem;margin-bottom:1.5rem;text-align:center}@media (max-width:768px){.password-section{margin-bottom:1rem;padding:1rem}.password-section .form-group input{font-size:16px;padding:.875rem}.password-section h3{font-size:1.1rem;margin-bottom:1rem}}.form-group input{border:2px solid #e0e0e0;border-radius:10px;box-sizing:border-box;font-size:1rem;padding:1rem;transition:all .3s ease;width:100%}.form-group input:focus{border-color:#43a047;box-shadow:0 0 0 3px #43a0471a;outline:none;transform:translateY(-1px)}@media (max-width:768px){.form-group input{font-size:16px;padding:.875rem}.form-group{margin-bottom:1rem}.form-group label{font-size:.9rem;margin-bottom:.4rem}}.form-group input.auto-filled,.form-group input:disabled{background:#f8f9fa;border-color:#ddd;color:#666;cursor:not-allowed}.form-group input.error{border-color:#d32f2f;box-shadow:0 0 0 3px #d32f2f1a}.password-requirements{border-left:4px solid #43a047}.password-requirements div{align-items:center;display:flex;font-size:.85rem;margin:.25rem 0;transition:color .3s ease}.password-requirements .valid{color:#43a047;font-weight:600}.password-requirements .invalid{color:#999}.general-error{background:linear-gradient(135deg,#ffebee,#ffcdd2);border:2px solid #ef5350;border-radius:10px;color:#c62828;font-weight:500;margin-bottom:1.5rem;padding:1rem;text-align:center}.error-message{color:#d32f2f;display:block;font-size:.875rem;margin-top:.25rem}.submit-btn{box-shadow:0 4px 15px #43a0474d;font-size:1.1rem;margin-top:2rem}.submit-btn:hover:not(:disabled){box-shadow:0 8px 25px #43a04766}@media (max-width:768px){.submit-btn{border-radius:25px;font-size:1rem;margin-bottom:1rem;margin-top:1.5rem;padding:.875rem;position:relative;z-index:10}}.loading-spinner{gap:.5rem}.privacy-notice{color:#666;font-size:.875rem;margin-top:1.5rem;text-align:center}.privacy-notice a{color:#43a047;margin:0 .25rem;text-decoration:none}.privacy-notice a:hover{text-decoration:underline}@media (max-width:768px){.privacy-notice{font-size:.8rem;line-height:1.4;margin-top:1rem}}.success-card{padding:3rem 2rem}@media (max-width:768px){.success-card{padding:2rem 1rem}}.success-icon{animation:bounce 1s ease;margin-bottom:1rem}.success-message{color:#666;font-size:1.1rem;margin-bottom:2rem}.success-message strong{color:#2e7d32}.email-notice{background:#f5f5f5;border-radius:10px;margin-bottom:1.5rem;padding:1.5rem;text-align:left}.email-notice h3{color:#2e7d32;margin-bottom:1rem}.email-notice ol{color:#666;padding-left:1.5rem}.email-notice li{margin:.5rem 0}.demo-notice{background:linear-gradient(135deg,#fff3e0,#ffe0b2);border:2px solid #ff9800;border-radius:10px;margin:1.5rem 0;padding:1rem}.demo-label{color:#e65100;font-size:.875rem;font-weight:600;margin-bottom:.5rem}.demo-link{background:#fff;border-radius:5px;color:#43a047;display:inline-block;font-weight:600;padding:.5rem 1rem;text-decoration:none;transition:all .3s ease}.demo-link:hover{background:#43a047;color:#fff}.resend-section{border-top:1px solid #e0e0e0;margin-top:2rem;padding-top:2rem}.resend-section p{color:#666;margin-bottom:1rem}.resend-btn{background:#0000;border:2px solid #43a047;border-radius:50px;color:#43a047;cursor:pointer;font-weight:600;padding:.75rem 2rem;transition:all .3s ease}.resend-btn:hover{background:#43a047;color:#fff}.member-id-display{background:linear-gradient(135deg,#f1f8e9,#e8f5e9);border:2px solid #43a04733;border-radius:15px;margin:2rem 0;padding:2rem;text-align:center}.member-id-display h3{color:#2e7d32;font-size:1.2rem;font-weight:600;margin:.5rem 0}.member-id-number{background:linear-gradient(135deg,#43a047,#66bb6a);border-radius:10px;box-shadow:0 4px 15px #43a0474d;color:#fff;font-size:2rem;font-weight:700;letter-spacing:2px;margin:1rem 0;padding:1rem 2rem}@media (max-width:768px){.member-id-display{margin:1.5rem 0;padding:1.5rem 1rem}.member-id-display h3{font-size:1rem}.member-id-number{font-size:1.5rem;letter-spacing:1px;padding:.75rem 1.5rem}}.continue-rental-btn{background:linear-gradient(135deg,#43a047,#66bb6a);border:none;border-radius:50px;box-shadow:0 6px 20px #43a0474d;color:#fff;cursor:pointer;font-size:1.2rem;font-weight:600;margin-top:1.5rem;padding:1rem 2rem;transition:all .3s ease;width:100%}.continue-rental-btn:hover{box-shadow:0 10px 30px #43a04766;transform:translateY(-3px)}@media (max-width:768px){.continue-rental-btn{font-size:1rem;margin-top:1rem;padding:.875rem 1.5rem}}.email-section{background:#0000;border:none;border-radius:15px;margin-bottom:1.5rem;min-height:auto;padding:1.5rem}.email-section h3{color:#2e7d32;font-size:1.3rem;margin-bottom:1.5rem;text-align:center}.email-section .form-group input{border:2px solid #e0e0e0;border-radius:10px;box-sizing:border-box;font-size:1rem;padding:1rem;width:100%}.email-notice{background:#f8f9fa;border-left:4px solid #43a047;border-radius:8px;color:#666;font-size:.875rem;margin-top:.5rem;padding:.75rem}@media (max-width:768px){.email-section{margin-bottom:1rem;padding:1rem}.email-section .form-group input{font-size:16px;padding:.875rem}.email-section h3{font-size:1.1rem;margin-bottom:1rem}.email-notice{font-size:.8rem;padding:.6rem}}.security-notice{background:#ffc1071a;border:1px solid #ffc107;border-radius:8px;color:#e65100;font-size:.875rem;font-weight:500;margin-top:.5rem;padding:.75rem;text-align:center}.security-warning{background:#f443361a;border:2px solid #f44336;border-radius:10px;color:#c62828;font-size:.9rem;line-height:1.4;margin-top:1rem;padding:1rem;text-align:center}.security-warning strong{color:#d32f2f;display:block;margin-bottom:.5rem}@media (max-width:768px){.security-notice{font-size:.8rem;padding:.6rem}.security-warning{font-size:.85rem;padding:.875rem}}.complete-registration-container{background:linear-gradient(135deg,#e8f5e9,#c8e6c9);min-height:calc(100vh - 160px);padding:2rem}.error-card,.loading-card{background:#fff;border-radius:20px;box-shadow:0 10px 40px #0000001a;margin:0 auto;max-width:400px;padding:3rem;text-align:center}.return-btn{background:linear-gradient(135deg,#43a047,#66bb6a);border:none;border-radius:50px;color:#fff;cursor:pointer;font-weight:600;padding:1rem 2rem;transition:all .3s ease}.return-btn:hover{box-shadow:0 8px 25px #43a04766;transform:translateY(-2px)}.registration-form-card{background:#fff;border-radius:20px;box-shadow:0 10px 40px #0000001a;margin:0 auto;max-width:800px;overflow:hidden}.progress-bar{background:#e0e0e0;height:4px;position:relative}.progress-fill{background:linear-gradient(135deg,#43a047,#66bb6a);height:100%;transition:width .3s ease}.step-indicators{gap:1rem;padding:2rem 0 1rem}.step-indicator,.step-indicators{display:flex;justify-content:center}.step-indicator{align-items:center;background:#e0e0e0;border-radius:50%;color:#666;font-weight:600;height:40px;transition:all .3s ease;width:40px}.step-indicator.active{background:#43a047;color:#fff}.step-indicator.completed{background:#2e7d32;color:#fff}.form-step{padding:0 3rem 2rem}.form-step h2{color:#2e7d32;font-size:1.5rem;margin-bottom:.5rem}.step-description{color:#666;margin-bottom:2rem}.form-field input,.form-field select{border:2px solid #e0e0e0;border-radius:8px;font-size:1rem;padding:.875rem;transition:all .3s ease;width:100%}.form-field input:focus,.form-field select:focus{border-color:#43a047;box-shadow:0 0 0 3px #43a0471a;outline:none}.disabled-input{background:#f5f5f5;cursor:not-allowed}.form-row{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:1fr 1fr}.radio-group{display:flex;gap:1rem}.radio-label{align-items:center;cursor:pointer;display:flex;font-weight:400;gap:.5rem}.radio-label input[type=radio]{width:auto}.checkbox-label{font-weight:400;gap:.5rem;margin-bottom:1rem}.checkbox-label input[type=checkbox]{width:auto}.error{color:#d32f2f;display:block;font-size:.875rem;margin-top:.25rem}.license-upload-section{background:#f8f9fa;border-radius:10px;margin-top:1rem;padding:1.5rem}.license-upload-section h3{color:#2e7d32;margin-bottom:1rem}.upload-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:1fr 1fr}.upload-card{background:#fff;border:2px dashed #e0e0e0;border-radius:10px;padding:1.5rem;text-align:center}.upload-card h4{color:#2e7d32;margin-bottom:1rem}.upload-buttons{display:flex;flex-direction:column;gap:1rem}.camera-btn,.upload-btn{border:none;border-radius:8px;cursor:pointer;font-size:.9rem;font-weight:600;padding:.875rem 1.5rem;transition:all .3s ease}.upload-btn{background:#43a047;color:#fff;overflow:hidden;position:relative}.upload-btn:hover{background:#388e3c}.camera-btn{background:#f5f5f5;border:1px solid #e0e0e0;color:#333}.camera-btn:hover{background:#eee}.image-preview{position:relative}.image-preview img{border-radius:8px;margin-bottom:1rem;max-height:200px;object-fit:cover;width:100%}.remove-btn{background:#d32f2f;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:.875rem;padding:.5rem 1rem}.remove-btn:hover{background:#c62828}.notification-settings{background:#f8f9fa;border-radius:10px;margin:1.5rem 0;padding:1.5rem}.notification-settings h3{color:#2e7d32;margin-bottom:1rem}.welcome-bonus{background:linear-gradient(135deg,#fff3e0,#ffe0b2);border:2px solid #ff9800;border-radius:10px;margin:1.5rem 0;padding:1.5rem;text-align:center}.welcome-bonus h3{color:#e65100;margin-bottom:.5rem}.welcome-bonus p{color:#bf360c;font-weight:600}.form-navigation{border-top:1px solid #e0e0e0;display:flex;justify-content:space-between;padding:2rem 3rem}.next-btn,.prev-btn,.submit-btn{border:none;border-radius:50px;cursor:pointer;font-weight:600;min-width:120px;padding:1rem 2rem;transition:all .3s ease}.prev-btn{background:#f5f5f5;color:#666}.prev-btn:hover{background:#eee}.next-btn,.submit-btn{background:linear-gradient(135deg,#43a047,#66bb6a);box-shadow:0 4px 15px #43a0474d;color:#fff;margin-left:auto}.next-btn:hover,.submit-btn:hover:not(:disabled){box-shadow:0 8px 25px #43a04766;transform:translateY(-2px)}.camera-modal{align-items:center;background:#000000e6;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:10000}.camera-container{background:#fff;border-radius:10px;max-height:90vh;max-width:90vw;padding:1rem}#camera-preview{border-radius:10px;max-width:400px;width:100%}.camera-controls{display:flex;gap:1rem;justify-content:center;margin-top:1rem}.camera-controls button{border:none;border-radius:8px;cursor:pointer;font-weight:600;padding:.875rem 1.5rem}#capture-btn{background:#43a047;color:#fff}#cancel-btn{background:#f5f5f5;color:#666}@media (max-width:768px){.complete-registration-container{padding:1rem}.form-step{padding:0 1.5rem 2rem}.form-row,.upload-grid{grid-template-columns:1fr}.form-navigation,.radio-group{flex-direction:column}.form-navigation{gap:1rem;padding:2rem 1.5rem}.next-btn,.prev-btn,.submit-btn{width:100%}}.address-search-btn{background:linear-gradient(135deg,#43a047,#66bb6a)}.address-search-btn:hover:not(:disabled){background:linear-gradient(135deg,#388e3c,#5a9f5d);box-shadow:0 4px 15px #43a0474d}.postal-code-hint{color:#666;font-size:.85rem;font-style:italic;margin-top:.25rem}.form-field input.loading,.form-field select.loading{animation:loading-shimmer 1.5s infinite;background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0 50%,#f0f0f0 75%);background-size:200% 100%}@keyframes loading-shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.license-types-container{background:#f8f9fa;border-radius:10px;max-height:400px;overflow-y:auto;padding:1.5rem}.license-category{border-bottom:1px solid #e0e0e0;margin-bottom:1.5rem;padding-bottom:1rem}.license-category:last-child{border-bottom:none;margin-bottom:0}.license-category h4{color:#2e7d32;font-size:1rem;font-weight:600;margin-bottom:.75rem}.license-types-container .checkbox-label{border-radius:6px;margin-bottom:.5rem;padding:.5rem;transition:background-color .2s}.license-types-container .checkbox-label:hover{background-color:#e8f5e9}.license-types-container input[type=checkbox]{cursor:pointer;height:18px;margin-right:.75rem;width:18px}.license-types-container input[type=checkbox]:checked{accent-color:#43a047}.license-types-container::-webkit-scrollbar{width:8px}.license-types-container::-webkit-scrollbar-track{background:#f1f1f1;border-radius:10px}.license-types-container::-webkit-scrollbar-thumb{background:#888;border-radius:10px}.license-types-container::-webkit-scrollbar-thumb:hover{background:#555}@media (max-width:768px){.postal-code-field{align-items:stretch;flex-direction:column}.address-search-btn{min-width:auto;width:100%}.license-types-container{max-height:300px;padding:1rem}}.mypage-container{background:linear-gradient(135deg,#e8f5e9,#c8e6c9);min-height:calc(100vh - 160px);padding:2rem}.mypage-header{align-items:center;background:#fff;border-radius:20px;box-shadow:0 10px 40px #0000001a;display:flex;justify-content:space-between;margin-bottom:2rem;padding:2rem}.user-info{gap:1.5rem}.user-avatar{background:linear-gradient(135deg,#43a047,#66bb6a);font-size:2rem;font-weight:700;height:80px;width:80px}.user-details h1{color:#2e7d32;font-size:1.75rem;margin-bottom:.5rem}.user-email{color:#666;margin-bottom:1rem}.user-stats{display:flex;gap:2rem}.stat-item{text-align:center}.stat-value{color:#43a047;display:block;font-size:1.5rem}.stat-label{color:#666;font-size:.875rem}.quick-actions{display:flex;gap:1rem}.action-btn{border-radius:50px;display:inline-block;padding:1rem 2rem;text-decoration:none}.action-btn.primary{background:linear-gradient(135deg,#43a047,#66bb6a);box-shadow:0 4px 15px #43a0474d;color:#fff}.action-btn.primary:hover{box-shadow:0 8px 25px #43a04766;transform:translateY(-2px)}.action-btn.secondary{background:#fff;border:2px solid #43a047;color:#43a047}.action-btn.secondary:hover{background:#43a047;color:#fff}.mypage-tabs{background:#fff;border-radius:20px;box-shadow:0 4px 20px #0000000d;display:flex;gap:.5rem;margin-bottom:2rem;padding:.5rem}.tab-btn{background:#0000;border:none;border-radius:15px;color:#666;cursor:pointer;flex:1 1;font-weight:600;padding:1rem;transition:all .3s ease}.tab-btn.active{background:linear-gradient(135deg,#43a047,#66bb6a);color:#fff}.tab-btn:hover:not(.active){background:#f5f5f5;color:#43a047}.mypage-content{background:#fff;border-radius:20px;box-shadow:0 10px 40px #0000001a;min-height:600px;padding:2rem}.section{margin-bottom:3rem}.section:last-child{margin-bottom:0}.section h2{color:#2e7d32;font-size:1.5rem;margin-bottom:1.5rem}.bookings-list,.upcoming-bookings{display:flex;flex-direction:column;gap:1rem}.booking-card{border:2px solid #e0e0e0;border-radius:15px;padding:1.5rem;transition:all .3s ease}.booking-card:hover{border-color:#43a047;box-shadow:0 4px 20px #43a0471a}.booking-card.upcoming{background:linear-gradient(135deg,#f1f8e9,#e8f5e9);border-color:#43a047}.booking-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1rem}.booking-header h3{color:#2e7d32;font-size:1.25rem}.status-badge{border-radius:50px;font-size:.875rem;padding:.5rem 1rem}.status-confirmed{background:#e3f2fd;color:#1976d2}.status-active{background:#fff3e0;color:#f57c00}.status-completed{background:#e8f5e9;color:#43a047}.status-cancelled{background:#ffebee;color:#d32f2f}.booking-details{margin-bottom:1rem}.detail-row{display:flex;justify-content:space-between;margin-bottom:.5rem}.detail-row .label{color:#666;font-weight:500}.detail-row .value{color:#333}.detail-row .amount{color:#43a047;font-weight:700}.booking-actions{display:flex;gap:1rem}.booking-actions button{border-radius:8px;cursor:pointer;font-weight:600;padding:.75rem 1.5rem;transition:all .3s ease}.btn-details,.btn-secondary{background:#43a047;border:none;color:#fff}.btn-details:hover,.btn-secondary:hover{background:#388e3c}.btn-modify,.btn-outline{background:#fff;border:2px solid #43a047;color:#43a047}.btn-modify:hover,.btn-outline:hover{background:#43a047;color:#fff}.recent-bookings{display:flex;flex-direction:column;gap:1rem}.booking-item{background:#f8f9fa;border-radius:10px;gap:1rem;padding:1rem}.booking-icon,.booking-item{align-items:center;display:flex}.booking-icon{background:#fff;border-radius:50%;font-size:2rem;height:50px;justify-content:center;width:50px}.booking-details{flex:1 1}.booking-details h4{color:#2e7d32;margin-bottom:.25rem}.booking-details p{color:#666;font-size:.875rem}.booking-amount{color:#43a047;font-size:1.1rem;font-weight:700}.points-summary{display:flex;justify-content:center}.points-card{background:linear-gradient(135deg,#f1f8e9,#e8f5e9);border-radius:20px;min-width:400px;padding:2rem;text-align:center}.points-amount{margin-bottom:1rem}.points-value{color:#43a047;font-size:3rem;font-weight:700}.points-unit{color:#66bb6a;font-size:1.5rem;margin-left:.5rem}.points-note{color:#666;margin-bottom:2rem}.recent-points h4{color:#2e7d32;margin-bottom:1rem;text-align:left}.point-item{align-items:center;display:flex;gap:.75rem;margin-bottom:.75rem;text-align:left}.point-icon{font-size:1.5rem}.point-desc{color:#333;flex:1 1;font-size:.9rem}.point-amount{color:#43a047;font-weight:600}.points-header{margin-bottom:3rem;text-align:center}.balance-amount{margin:1rem 0}.balance-value{color:#43a047;font-size:4rem;font-weight:700}.balance-unit{color:#66bb6a;font-size:1.5rem;margin-left:.5rem}.balance-note{color:#666;font-size:1.1rem}.points-content{grid-gap:3rem;display:grid;gap:3rem;grid-template-columns:1fr 1fr}.info-grid{display:flex;flex-direction:column;gap:1rem}.info-card{background:#f8f9fa;border-radius:10px;padding:1.5rem;text-align:center}.info-card h4,.info-icon{margin-bottom:.5rem}.info-card h4{color:#2e7d32}.info-card p{color:#666;font-size:.9rem}.history-list{display:flex;flex-direction:column;gap:1rem;max-height:400px;overflow-y:auto}.history-item{align-items:center;background:#f8f9fa;border-radius:10px;display:flex;gap:1rem;padding:1rem}.history-icon{font-size:1.5rem;text-align:center;width:40px}.history-details{flex:1 1}.history-desc{color:#333;margin-bottom:.25rem}.history-date{color:#666;font-size:.875rem}.history-amount .amount{font-size:1.1rem;font-weight:700}.history-amount .positive{color:#43a047}.history-amount .negative{color:#d32f2f}.profile-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:2rem}.btn-edit{background:#43a047;border:none;border-radius:8px;color:#fff;cursor:pointer;font-weight:600;padding:.75rem 1.5rem;transition:all .3s ease}.btn-edit:hover{background:#388e3c}.profile-sections{display:flex;flex-direction:column;gap:2rem}.profile-section{border:2px solid #e0e0e0;border-radius:15px;padding:2rem}.profile-section h3{color:#2e7d32;font-size:1.25rem;margin-bottom:1.5rem}.profile-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.profile-field{display:flex;flex-direction:column;gap:.5rem}.profile-field label{color:#2e7d32;font-weight:600}.profile-field span{color:#333;padding:.5rem 0}.license-color.gold{color:#ffc107;font-weight:700}.license-color.blue{color:#1976d2;font-weight:700}.license-color.green{color:#43a047;font-weight:700}.empty-state{color:#666;padding:3rem;text-align:center}.empty-state p{font-size:1.1rem;margin-bottom:1.5rem}.btn-primary{border:none;border-radius:50px;cursor:pointer;display:inline-block;font-weight:600;padding:1rem 2rem;text-decoration:none;transition:all .3s ease}.btn-primary:hover{box-shadow:0 8px 25px #43a04766}.loading-spinner{color:#666;font-size:1.1rem;padding:3rem}.bookings-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:2rem}.booking-filters{display:flex;gap:1rem}.filter-select{border:2px solid #e0e0e0;border-radius:8px;cursor:pointer;font-size:.9rem}.filter-select:focus{border-color:#43a047;outline:none}@media (max-width:768px){.mypage-container{padding:1rem}.mypage-header{gap:1.5rem}.mypage-header,.user-info{flex-direction:column;text-align:center}.quick-actions,.user-stats{justify-content:center}.quick-actions{width:100%}.action-btn{flex:1 1;max-width:200px}.mypage-tabs{flex-direction:column;gap:.25rem}.points-content,.profile-grid{grid-template-columns:1fr}.booking-header{align-items:flex-start;gap:.5rem}.booking-actions,.booking-header,.bookings-header{flex-direction:column}.bookings-header{gap:1rem}}.member-number{background:#43a0471a;color:#43a047;font-size:14px}.modal-content{border-radius:16px;box-shadow:0 20px 60px #0000004d}.modal-header{align-items:center;border-bottom:1px solid #eee;display:flex;justify-content:space-between;padding:2rem 2rem 1rem}.modal-header h2{color:#2e7d32;font-size:1.5rem;margin:0}.modal-close{align-items:center;background:none;border:none;border-radius:50%;color:#999;cursor:pointer;display:flex;font-size:1.5rem;height:32px;justify-content:center;padding:0;transition:background-color .2s;width:32px}.modal-close:hover{background:#f0f0f0;color:#666}.modal-body{padding:1.5rem 2rem}.form-group label{color:#333;font-size:.9rem;font-weight:600}.form-group input,.form-group select{border:2px solid #e0e0e0;border-radius:8px;box-sizing:border-box;font-size:1rem;padding:.75rem;transition:border-color .2s;width:100%}.form-group input:focus,.form-group select:focus{border-color:#43a047;box-shadow:0 0 0 3px #43a0471a;outline:none}.modal-actions{justify-content:flex-end;padding:1rem 2rem 2rem}.btn-save{background:linear-gradient(135deg,#43a047,#66bb6a);border:none;border-radius:8px;color:#fff;cursor:pointer;font-weight:600;padding:.75rem 2rem;transition:all .2s}.btn-save:hover{background:linear-gradient(135deg,#388e3c,#5a9f5d);box-shadow:0 4px 12px #43a0474d;transform:translateY(-1px)}.btn-cancel{background:#fff;border:2px solid #e0e0e0;border-radius:8px;color:#666;cursor:pointer;font-weight:600;padding:.75rem 2rem;transition:all .2s}.btn-cancel:hover{background:#f9f9f9;border-color:#999;color:#333}@media (max-width:768px){.modal-content{margin:1rem;width:95%}.modal-actions,.modal-body,.modal-header{padding:1rem}.modal-actions{flex-direction:column}.btn-cancel,.btn-save{width:100%}}.admin-login-wrapper{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;justify-content:center;min-height:100vh;padding:20px}.admin-login-card{background:#fff;border-radius:16px;box-shadow:0 20px 40px #0000001a;max-width:400px;overflow:hidden;padding:40px;position:relative;width:100%}.admin-login-card:before{background:linear-gradient(90deg,#667eea,#764ba2);content:"";height:4px;left:0;position:absolute;right:0;top:0}.login-header{margin-bottom:30px;text-align:center}.admin-icon{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:50%;box-shadow:0 8px 20px #667eea4d;color:#fff;display:inline-flex;height:80px;justify-content:center;margin-bottom:20px;width:80px}.login-header h2{color:#333;font-size:24px;font-weight:600;margin:0 0 8px}.login-header p{color:#666;font-size:14px;margin:0}.error-alert{align-items:center;background:#fee;border:1px solid #fcc;border-radius:8px;color:#c33;display:flex;font-size:14px;gap:8px;margin-bottom:20px;padding:12px 16px}.error-icon{font-size:16px}.input-group,.login-form{margin-bottom:20px}.input-group label{color:#555;display:block;font-size:14px;font-weight:500;margin-bottom:6px}.input-group input{border:2px solid #e1e5e9;border-radius:8px;box-sizing:border-box;font-size:16px;padding:12px 16px;transition:all .3s ease;width:100%}.input-group input:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:none}.input-group input::placeholder{color:#aaa}.login-btn{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-size:16px;font-weight:600;gap:8px;justify-content:center;padding:14px 20px;transition:all .3s ease;width:100%}.login-btn:hover:not(:disabled){box-shadow:0 8px 20px #667eea4d;transform:translateY(-1px)}.login-btn:disabled{cursor:not-allowed;opacity:.7;transform:none}.spinner{border:2px solid #0000;border-top-color:currentcolor;height:16px;width:16px}.back-btn{background:#0000;border:2px solid #e1e5e9;color:#666;font-size:14px;padding:12px 20px;width:100%}.back-btn:hover{background:#f8f9fa;border-color:#ccc;color:#333}@media (max-width:480px){.admin-login-wrapper{padding:10px}.admin-login-card{padding:30px 20px}.admin-icon{height:60px;width:60px}.login-header h2{font-size:20px}}.auth-loading{align-items:center;background:linear-gradient(135deg,#f0f8f0,#e8f5e8);display:flex;flex-direction:column;height:100vh;justify-content:center;text-align:center}.auth-spinner{animation:spin 1s linear infinite;border:4px solid #e0e0e0;border-radius:50%;border-top-color:#43a047;height:50px;margin-bottom:20px;width:50px}.auth-loading h2{color:#43a047;font-size:24px;font-weight:600;margin-bottom:10px}.auth-loading p{color:#666;font-size:16px;margin:0}.announcements-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:20px}.create-announcement-btn{background:var(--gradient-2);border:none;border-radius:8px;box-shadow:0 2px 10px #43a0474d;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:12px 24px;transition:all .3s ease}.create-announcement-btn:hover{box-shadow:0 4px 15px #43a04766;transform:translateY(-2px)}.announcement-form{background:var(--green-pale);border:1px solid #43a04733;border-radius:12px;margin-bottom:30px;padding:25px}.announcement-form h4{color:var(--dark-gray);font-size:18px;font-weight:600;margin-bottom:20px}.checkbox-label{align-items:center;color:var(--dark-gray);cursor:pointer;display:flex;font-size:14px;gap:8px}.checkbox-label input[type=checkbox]{cursor:pointer;margin:0}.form-buttons{display:flex;gap:12px;margin-top:20px}.form-buttons .save-button{background:var(--green);border:none;border-radius:6px;color:#fff;cursor:pointer;font-weight:500;padding:10px 20px;transition:background-color .3s}.form-buttons .save-button:hover{background:var(--green-hover)}.form-buttons .cancel-button{background:var(--gray);border:none;border-radius:6px;color:#fff;cursor:pointer;font-weight:500;padding:10px 20px;transition:background-color .3s}.form-buttons .cancel-button:hover{background:#37474f}.announcements-list-admin{margin-top:30px}.announcements-list-admin h4{color:var(--dark-gray);font-size:16px;font-weight:600;margin-bottom:15px}.no-announcements{background:var(--green-pale);border-radius:8px;color:var(--gray);font-style:italic;padding:40px 20px;text-align:center}.announcements-table{display:flex;flex-direction:column;gap:15px}.announcement-row{align-items:flex-start;background:#fff;border:1px solid var(--light-gray);border-radius:10px;display:flex;justify-content:space-between;padding:20px;transition:all .3s ease}.announcement-row:hover{border-color:var(--green);box-shadow:0 3px 10px #43a0471a}.announcement-info{flex:1 1;margin-right:20px}.announcement-header-info{align-items:center;display:flex;gap:12px;margin-bottom:10px}.announcement-row .announcement-date{background:var(--green-pale);color:var(--green-dark)}.announcement-row .announcement-date,.announcement-status{border-radius:15px;font-size:12px;font-weight:500;padding:4px 12px}.announcement-status{text-transform:uppercase}.announcement-status.published{background:#4caf50;color:#fff}.announcement-status.draft{background:#ff9800;color:#fff}.announcement-row .announcement-title{color:var(--dark-gray);font-size:16px;font-weight:600;margin-bottom:8px}.announcement-preview{color:var(--gray);font-size:14px;line-height:1.5}.announcement-actions{display:flex;flex-direction:column;flex-shrink:0;gap:8px}.delete-btn,.edit-btn{border:none;border-radius:5px;cursor:pointer;font-size:12px;min-width:70px;padding:6px 12px;transition:all .3s ease}.edit-btn{background:#2196f3}.edit-btn:hover{background:#1976d2}.delete-btn{background:#f44336}.delete-btn:hover{background:#d32f2f}@media (max-width:768px){.announcement-row{flex-direction:column;gap:15px}.announcement-info{margin-right:0}.announcement-actions{flex-direction:row;justify-content:flex-start}.announcements-header{align-items:flex-start;flex-direction:column;gap:10px}}.sync-status{gap:1rem;margin-right:1rem}.sync-btn,.sync-status{align-items:center;display:flex}.sync-btn{background:var(--green-light);border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:.85rem;font-weight:500;gap:.5rem;padding:.5rem 1rem}.sync-btn:hover:not(:disabled){background:var(--green)}.sync-btn:disabled{cursor:not-allowed;opacity:.6}.sync-indicator.syncing{color:#3b82f6;font-weight:500}.icon-management{border:1px solid var(--light-gray);border-radius:8px;margin-top:10px;padding:20px}.current-icon-preview h4{color:var(--dark-gray);margin-bottom:10px}.icon-preview{align-items:center;background:var(--extra-light-gray);border-radius:8px;display:flex;margin-bottom:20px;padding:15px}.icon-upload-controls{border-top:1px solid var(--light-gray);padding-top:15px}.icon-buttons{display:flex;gap:10px;margin-bottom:10px}.upload-button{background:var(--green-light);border:none;border-radius:6px;color:#fff;cursor:pointer;display:inline-block;font-size:14px;padding:10px 20px;text-decoration:none}.upload-button:hover{background:var(--green)}.reset-icon-button{background:var(--gray);border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;padding:10px 20px}.reset-icon-button:hover{background:var(--dark-gray)}.upload-info{color:var(--gray);font-size:12px;line-height:1.4;margin-top:10px}.hero-image-management{border:1px solid var(--light-gray);border-radius:8px;margin-top:10px;padding:20px}.current-images h4{color:var(--dark-gray);margin-bottom:15px}.image-grid{grid-gap:15px;display:grid;gap:15px;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));margin-bottom:20px}.hero-image-item{border-radius:8px;box-shadow:0 2px 8px #0000001a;overflow:hidden;position:relative}.remove-image-button{align-items:center;background:#ffffffe6;border:none;border-radius:50%;cursor:pointer;display:flex;font-size:12px;height:24px;justify-content:center;position:absolute;right:5px;top:5px;width:24px}.remove-image-button:hover{background:#fff}.default-images-note{background:var(--extra-light-gray);border-radius:8px;color:var(--gray);font-style:italic;margin-bottom:20px;padding:20px;text-align:center}.hero-upload-controls{border-top:1px solid var(--light-gray);padding-top:15px}.hero-buttons{display:flex;gap:10px;margin-bottom:10px}.admin-dashboard{background:var(--extra-light-gray);display:flex;font-family:Segoe UI,Roboto,Noto Sans JP,Arial,sans-serif;height:100vh;max-height:100vh;overflow:hidden}.admin-sidebar{background:#1b5e20;box-shadow:4px 0 20px #0000001a;color:#fff!important;display:flex;flex-direction:column;min-width:220px;overflow-y:auto;width:220px}.admin-logo{border-bottom:1px solid #ffffff1a;flex-shrink:0;padding:1.5rem;text-align:center}.logo-icon{font-size:3rem;margin-bottom:1rem}.admin-logo h2{font-size:1.5rem;font-weight:600;margin:0}.admin-nav{flex:1 1;overflow-y:auto;padding:1rem 0}.admin-nav button{align-items:center;background:none;border:none;color:#fff!important;cursor:pointer;display:flex;font-size:.9rem;font-weight:500;gap:1rem;padding:.75rem 1.5rem;text-align:left;width:100%}.admin-nav button:hover{background:#ffffff26;color:#fff!important;padding-left:2.5rem}.admin-nav button.active{background:#fff3;border-left:4px solid #fff;color:#fff!important;font-weight:600}.nav-icon{font-size:1.2rem}.admin-logout-btn{background:#fff3;border:1px solid #fff;border-radius:8px;color:#fff;cursor:pointer;flex-shrink:0;font-size:.9rem;font-weight:600;margin:1rem;padding:.75rem}.admin-logout-btn:hover{background:#fff;color:#667eea}.admin-main{display:flex;flex:1 1;flex-direction:column;min-width:0;overflow:hidden}.admin-header{align-items:center;background:#fff;border:1px solid #e0e0e0;color:#333;display:flex;flex-shrink:0;justify-content:space-between;padding:1rem 1.5rem}.admin-header h1{color:#2d3436;font-size:1.75rem;margin:0}.admin-header-info{align-items:center;display:flex;gap:2rem}.admin-date{color:#636e72;font-size:.9rem}.admin-user{background:#f5f6fa;border-radius:20px;color:#2d3436;font-weight:500;padding:.5rem 1rem}.admin-content{flex:1 1;max-height:calc(100vh - 70px);overflow-y:auto;padding:1rem 1.5rem}.stats-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:1.5rem}.stat-card{align-items:center;background:#fff;border:1px solid #e0e0e0;border-radius:12px;color:#333;display:flex;gap:1rem;padding:1rem;transition:transform .3s}.stat-card:hover{box-shadow:0 5px 20px #0000001a}.stat-icon{-webkit-text-fill-color:#0000;background:#667eea;-webkit-background-clip:text;font-size:2.5rem}.stat-details h3{color:#636e72;font-size:.9rem;margin:0 0 .5rem;text-transform:uppercase}.stat-number{color:#2d3436;font-size:2rem;font-weight:700;margin:0}.stat-label{color:#b2bec3;font-size:.8rem}.recent-activities{background:#fff;border:1px solid #e0e0e0;border-radius:12px;padding:1.5rem}.recent-activities h2{color:#2d3436;font-size:1.25rem;margin-bottom:1rem}.activity-list{display:flex;flex-direction:column;gap:1rem}.activity-item{align-items:center;background:#f5f6fa;border-radius:8px;display:flex;justify-content:space-between;padding:1rem;transition:background .3s}.activity-item:hover{background:#e8eaef}.activity-title{color:#2d3436;font-weight:600;margin:0 0 .25rem}.activity-details{color:#636e72;font-size:.85rem;margin:0}.activity-status{border-radius:20px;font-size:.8rem;font-weight:600;padding:.25rem .75rem}.status-confirmed{background:#00b894;color:#fff}.status-active{background:#0984e3;color:#fff}.status-cancelled{background:#d63031;color:#fff}.status-completed{background:#00b894;color:#fff}.status-pending{background:#fdcb6e;color:#2d3436}.stat-card.confirmed{background:#00b8941a 0,#00b8940d 100%);border-left:4px solid #00b894}.stat-card.cancelled{background:#d630311a 0,#d630310d 100%);border-left:4px solid #d63031}.stat-card.active{background:#0984e31a 0,#0984e30d 100%);border-left:4px solid #0984e3}.stat-card.completed{background:#6c5ce71a 0,#6c5ce70d 100%);border-left:4px solid #6c5ce7}.stat-card.revenue{background:#00b8941a 0,#00b8940d 100%);border-left:4px solid #00b894}.stat-card.cancelled-revenue{background:#d630311a 0,#d630310d 100%);border-left:4px solid #d63031}.section-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1rem}.section-header h2{color:#2d3436;font-size:1.5rem;margin:0}.filter-buttons{display:flex;gap:.5rem}.filter-btn{background:#fff;border:1px solid #dfe6e9;border-radius:8px;color:#636e72;cursor:pointer;padding:.5rem 1rem}.filter-btn:hover{border-color:#667eea;color:#667eea}.filter-btn.active{background:#667eea;border:none;color:#fff}.bookings-table{background:#fff;border:1px solid #e0e0e0;border-radius:12px;overflow:hidden}.bookings-table table{border-collapse:collapse;width:100%}.bookings-table th{background:#f5f6fa;color:#2d3436;font-size:.8rem;font-weight:600;padding:.75rem;text-align:left;text-transform:uppercase}.bookings-table td{border-top:1px solid #f5f6fa;color:#636e72;font-size:.9rem;padding:.75rem}.bookings-table tr:hover{background:#fafbfc}.status-badge{border-radius:20px;display:inline-block;font-size:.8rem;font-weight:600;padding:.25rem .75rem}.action-buttons{display:flex;gap:.5rem}.action-btn{font-size:.85rem;font-weight:600;padding:.375rem .75rem}.action-btn.confirm{background:#00b894;color:#fff}.action-btn.confirm:hover{background:#00a884}.action-btn.cancel{background:#d63031;color:#fff}.action-btn.cancel:hover{background:#c62828}.action-btn.handover{background:#fd79a8 0,#fdcb6e 100%);color:#fff;font-weight:600;overflow:hidden;position:relative}.action-btn.handover:hover{box-shadow:0 6px 20px #fd79a84d;transform:translateY(-2px)}.action-btn.handover:before{background:linear-gradient(45deg,#0000,#fff3,#0000);content:"";height:200%;left:-50%;opacity:0;position:absolute;top:-50%;transform:rotate(45deg);transition:all .6s;width:200%}.action-btn.handover:hover:before{animation:shimmer .6s ease-out}@keyframes shimmer{0%{left:-100%;opacity:0}50%{opacity:1}to{left:100%;opacity:0}}.add-btn{background:#667eea;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:1rem;font-weight:600;padding:.75rem 1.5rem}.add-btn:hover{box-shadow:0 5px 15px #667eea4d;transform:translateY(-2px)}.vehicles-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.vehicle-admin-card{background:#fff;border:1px solid #e0e0e0;border-radius:12px;padding:1.5rem}.vehicle-admin-card:hover{box-shadow:0 5px 20px #0000001a}.vehicle-admin-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1rem}.vehicle-admin-header h3{color:#2d3436;font-size:1.25rem;margin:0}.availability-badge{border-radius:20px;font-size:.8rem;font-weight:600;padding:.25rem .75rem}.availability-badge.available{background:#00b894;color:#fff}.availability-badge.unavailable{background:#d63031;color:#fff}.vehicle-admin-details{margin-bottom:1rem}.vehicle-admin-details p{color:#636e72;font-size:.9rem;margin:.5rem 0}.vehicle-admin-details strong{color:#2d3436}.vehicle-admin-actions{border-top:1px solid #f5f6fa;display:flex;gap:.5rem;padding-top:1rem}.delete-btn,.edit-btn,.toggle-btn{border:none;border-radius:6px;cursor:pointer;flex:1 1;font-size:.85rem;font-weight:600;padding:.5rem}.edit-btn{background:#0984e3;color:#fff}.edit-btn:hover{background:#0874d3}.toggle-btn.disable{background:#fdcb6e;color:#fff}.toggle-btn.enable{background:#00b894;color:#fff}.delete-btn{background:#d63031;color:#fff}.delete-btn:hover{background:#c62828}.search-bar{position:relative}.search-bar input{border:1px solid #dfe6e9;border-radius:8px;font-size:.9rem;padding:.75rem 1rem;width:300px}.search-bar input:focus{border-color:#667eea;outline:none}.users-table{background:#fff;border:1px solid #e0e0e0;border-radius:12px;overflow:hidden}.users-table table{border-collapse:collapse;width:100%}.users-table th{background:#f5f6fa;color:#2d3436;font-size:.8rem;font-weight:600;padding:.75rem;text-align:left;text-transform:uppercase}.users-table td{border-top:1px solid #f5f6fa;color:#636e72;font-size:.9rem;padding:.75rem}.users-table tr:hover{background:#fafbfc}.analytics-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1rem}.analytics-header h2{color:#2d3436;font-size:1.5rem;margin:0}.date-range-selector{display:flex;gap:.5rem}.range-btn{background:#fff;border:1px solid #dfe6e9;border-radius:8px;color:#636e72;cursor:pointer;padding:.5rem 1rem}.range-btn:hover{border-color:#667eea;color:#667eea}.range-btn.active{background:#667eea;border:none;color:#fff}.analytics-cards{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(350px,1fr))}.analytics-card{background:#fff;border:1px solid #e0e0e0;border-radius:12px;padding:1.5rem}.analytics-card h3{color:#2d3436;font-size:1.125rem;margin-bottom:1.5rem}.chart-placeholder{align-items:flex-end;background:#f5f6fa;border-radius:8px;display:flex;height:200px;justify-content:space-around;padding:1rem}.chart-bar{background:#667eea;width:40px}.popularity-list{display:flex;flex-direction:column;gap:1rem}.popularity-item{gap:1rem}.popularity-item,.rank{align-items:center;display:flex}.rank{background:#667eea;border-radius:50%;color:#fff;font-size:.9rem;font-weight:600;height:30px;justify-content:center;width:30px}.vehicle-name{color:#2d3436;flex:1 1;font-weight:500}.popularity-bar{background:#f5f6fa;border-radius:4px;flex:2 1;height:8px;overflow:hidden}.popularity-fill{background:#667eea;height:100%;transition:width .5s ease}.booking-stats{display:flex;flex-direction:column;gap:1rem}.stat-row{background:#f5f6fa;border-radius:8px;display:flex;justify-content:space-between;padding:1rem}.stat-row span:first-child{color:#636e72;font-weight:500}.stat-value{color:#2d3436;font-size:1.25rem;font-weight:700}.modal-overlay{align-items:center;animation:fadeIn .3s;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.modal-content{animation:slideUp .3s;background:#fff;border-radius:12px;max-height:90vh;max-width:500px;overflow-y:auto;padding:1.5rem;width:90%}.modal-content h2{color:#2d3436}.form-group,.modal-content h2{margin-bottom:1.5rem}.form-group label{color:#2d3436;display:block;font-weight:500;margin-bottom:.5rem}.form-group input,.form-group select,.form-group textarea{border:1px solid #dfe6e9;border-radius:8px;font-size:.9rem;padding:.75rem;width:100%}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:#667eea;outline:none}.form-group textarea{min-height:100px;resize:vertical}.modal-actions{display:flex;gap:1rem;margin-top:2rem}.cancel-btn,.save-btn{border:none;border-radius:8px;cursor:pointer;flex:1 1;font-size:1rem;font-weight:600;padding:.875rem}.save-btn{background:#667eea;color:#fff}.save-btn:hover{box-shadow:0 5px 15px #667eea4d;transform:translateY(-2px)}.cancel-btn{background:#f5f6fa;color:#636e72}.cancel-btn:hover{background:#e8eaef}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideIn{0%{opacity:0;transform:translateX(100%)}to{opacity:1;transform:translateX(0)}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@media (max-width:1024px){.admin-sidebar{width:80px}.admin-logo h2,.admin-nav button span:not(.nav-icon){display:none}.admin-nav button{justify-content:center;padding:1rem}.admin-nav button.active{border-bottom:3px solid #fff;border-left:none}}@media (max-width:768px){.admin-dashboard{flex-direction:column}.admin-sidebar{-webkit-overflow-scrolling:touch;align-items:center;flex-direction:row;justify-content:flex-start;overflow-x:auto;padding:1rem;width:100%}.admin-logo{border:none;flex-shrink:0;margin-right:1rem;padding:0}.admin-logo h2{font-size:1.2rem;white-space:nowrap}.admin-nav{-webkit-overflow-scrolling:touch;-ms-overflow-style:none;display:flex;flex-direction:row;gap:.25rem;overflow-x:auto;padding:0;scrollbar-width:none}.admin-nav::-webkit-scrollbar{display:none}.admin-nav button{border-radius:20px;flex-shrink:0;font-size:.85rem;margin:0 .125rem;min-width:fit-content;padding:.75rem 1rem;width:auto}.admin-nav button span:not(.nav-icon){display:none}.admin-nav button .nav-icon{font-size:1.2rem}.admin-logout-btn{flex-shrink:0;font-size:.85rem;margin:0 0 0 auto;padding:.75rem 1rem}.admin-header{align-items:flex-start;flex-direction:column;gap:1rem;padding:1rem}.admin-header h1{font-size:1.5rem}.admin-header-info{gap:1rem}.admin-content{padding:1rem}.stats-grid{gap:1rem;grid-template-columns:1fr}.stat-card{padding:1rem}.vehicles-grid{gap:1rem;grid-template-columns:1fr}.vehicle-admin-card{padding:1rem}.analytics-cards{grid-template-columns:1fr}.bookings-table,.users-table{-webkit-overflow-scrolling:touch;overflow-x:auto}.bookings-table table,.users-table table{min-width:600px}.bookings-table td,.bookings-table th,.users-table td,.users-table th{font-size:.85rem;padding:.75rem .5rem}.settings-grid{gap:1rem;grid-template-columns:1fr}.settings-card{padding:1.5rem}.content-editor{padding:1rem}.editor-section{margin-bottom:1.5rem;padding-bottom:1rem}.info-card-editor{padding:1rem}.form-actions{flex-direction:column}.form-actions .save-btn{margin-bottom:.5rem;width:100%}.modal-content{margin:1rem;max-width:none;padding:1.5rem;width:calc(100% - 2rem)}.modal-header{padding:1rem 1rem .5rem}.modal-actions{flex-direction:column;gap:.75rem}.modal-actions button{width:100%}.design-modal{margin:1rem;max-height:calc(100vh - 2rem);width:calc(100% - 2rem)}.design-sections{gap:1rem;grid-template-columns:1fr}.color-section,.preset-section,.preview-section{grid-column:1;padding:1rem}.color-input-wrapper{flex-direction:column;gap:.5rem}.color-picker,.color-text{width:100%}.preset-btn{padding:.75rem}.theme-presets{gap:.75rem}}.success-toast{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#10b981 0,#059669 100%);border:1px solid #fff3;border-radius:12px;box-shadow:0 8px 32px #10b9814d;color:#fff;display:flex;font-weight:600;gap:.75rem;max-width:90vw;min-width:300px;opacity:0;padding:1rem 1.5rem;position:fixed;right:20px;top:20px;transform:translateX(400px);transition:all .4s cubic-bezier(.175,.885,.32,1.275);z-index:10001}.success-toast.show{opacity:1;transform:translateX(0)}.success-toast.hide{opacity:0;transform:translateX(400px)}.success-toast .toast-icon{animation:successBounce .6s ease;font-size:1.5rem}.success-toast .toast-message{flex:1 1;font-size:1rem}.success-toast .toast-close{background:none;border:none;color:#fff;cursor:pointer;font-size:1.2rem;margin-left:.5rem;opacity:.8;padding:0;transition:opacity .2s ease}.success-toast .toast-close:hover{opacity:1}@keyframes successBounce{0%,20%,60%,to{transform:translateY(0)}40%{transform:translateY(-10px)}}@media (max-width:768px){.success-toast{font-size:.9rem;left:10px;max-width:calc(100vw - 20px);min-width:auto;padding:1rem 1.5rem;right:10px;top:10px;transform:translateY(-100px)}.success-toast.show{transform:translateY(0)}.success-toast.hide{transform:translateY(-100px)}}.user-stats-summary{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:1rem}.user-stat-card{background:#fff;border:1px solid #e0e0e0;border-radius:12px;padding:1.5rem;text-align:center;transition:transform .3s ease}.user-stat-card .stat-number{color:#667eea;display:block;font-size:2rem;font-weight:700;margin-bottom:.5rem}.user-stat-card .stat-label{color:#636e72;font-size:.9rem;font-weight:500}.users-table-container{background:#fff;border-radius:12px;box-shadow:0 4px 20px #00000014;overflow:hidden}.table-controls{background:#f8f9fa;border-bottom:1px solid #e9ecef;gap:1rem;justify-content:space-between;padding:1.5rem}.search-bar,.table-controls{align-items:center;display:flex}.search-bar{gap:.5rem}.search-btn{background:#667eea;border:none;border-radius:6px;color:#fff;cursor:pointer;padding:.75rem;transition:all .3s ease}.search-btn:hover{background:#5a67d8}.filter-options{align-items:center;display:flex;gap:1rem}.filter-select{background:#fff;border:1px solid #dfe6e9;border-radius:6px;padding:.75rem}.export-btn{background:#00b894;border:none;border-radius:6px;color:#fff;cursor:pointer;font-weight:600;padding:.75rem 1.5rem;transition:all .3s ease}.export-btn:hover{background:#00a085}.user-info{gap:1rem}.user-avatar,.user-info{align-items:center;display:flex}.user-avatar{background:#667eea;border-radius:50%;color:#fff;font-size:1.2rem;font-weight:600;height:40px;justify-content:center;width:40px}.user-details{display:flex;flex-direction:column}.user-name{color:#2d3436;font-weight:600}.user-kana{color:#636e72;font-size:.8rem}.points-display{background:#fdcb6e 0,#e17055 100%);border-radius:20px;color:#fff;font-size:.8rem;font-weight:600;padding:.25rem .75rem}.status-vip{background:#fd79a8 0,#fdcb6e 100%);color:#fff}.status-premium{background:#a29bfe 0,#6c5ce7 100%);color:#fff}.status-regular{background:#dfe6e9;color:#636e72}.user-actions{display:flex;gap:.5rem}.action-btn{align-items:center;border:none;border-radius:6px;cursor:pointer;display:flex;height:32px;justify-content:center;transition:all .3s ease;width:32px}.action-btn.view{background:#74b9ff;color:#fff}.action-btn.edit{background:#fdcb6e;color:#fff}.action-btn.message{background:#00b894;color:#fff}.action-btn.delete{background:#d63031;color:#fff}.action-btn.delete:hover{background:#c62828}.member-number{background:#667eea1a;border-radius:4px;color:#667eea;font-family:monospace;font-size:12px;font-weight:600;letter-spacing:.5px;padding:4px 8px}.action-btn:hover{transform:scale(1.1)}.settings-grid{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:repeat(auto-fit,minmax(350px,1fr))}.settings-card{background:#fff;border-radius:16px;box-shadow:0 4px 20px #00000014;padding:1.5rem;transition:transform .3s ease}.settings-card h3{color:#2d3436;font-size:1.25rem;margin-bottom:1rem}.design-btn,.save-settings-btn{background:#667eea;border:none;border-radius:10px;color:#fff;cursor:pointer;font-weight:600;padding:1rem;transition:all .3s ease;width:100%}.design-btn:hover,.save-settings-btn:hover{box-shadow:0 8px 25px #667eea4d;transform:translateY(-2px)}.setting-item{margin-bottom:1.5rem}.setting-item label{color:#2d3436;display:block;font-weight:600;margin-bottom:.5rem}.setting-item input,.setting-item select{border:2px solid #e9ecef;border-radius:8px;font-size:.9rem;padding:.75rem;transition:border-color .3s ease;width:100%}.setting-item input:focus,.setting-item select:focus{border-color:#667eea;outline:none}.setting-item small{color:#636e72;display:block;font-size:.8rem;margin-top:.5rem}.checkbox-group{display:flex;flex-direction:column;gap:.5rem}.checkbox-group label{align-items:center;display:flex;font-weight:400;gap:.5rem;margin-bottom:0}.setting-actions{display:flex;flex-direction:column;gap:1rem}.danger-btn{background:#d63031 0,#e84393 100%);border:none;border-radius:8px;color:#fff;cursor:pointer;font-weight:600;padding:.75rem;transition:all .3s ease}.danger-btn:hover{box-shadow:0 8px 25px #d630314d;transform:translateY(-2px)}.backup-btn{background:#00b894 0,#00cec9 100%);border:none;border-radius:8px;color:#fff;cursor:pointer;font-weight:600;padding:.75rem;transition:all .3s ease}.backup-btn:hover{box-shadow:0 8px 25px #00b8944d;transform:translateY(-2px)}.design-modal{max-height:90vh;max-width:900px;width:95%}.design-sections{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:1fr 1fr;margin-bottom:1rem}.color-section,.preset-section,.preview-section{background:#f8f9fa;border-radius:12px;padding:1.5rem}.color-section{grid-column:1/2}.preset-section{grid-column:2/2}.preview-section{grid-column:1/-1}.color-inputs{display:flex;flex-direction:column;gap:1rem}.color-input-group label{color:#2d3436;font-weight:600;margin-bottom:.5rem}.color-input-wrapper{align-items:center;display:flex;gap:.5rem}.color-picker{cursor:pointer;height:40px;width:50px}.color-picker,.color-text{border:2px solid #e9ecef;border-radius:8px}.color-text{flex:1 1;font-family:monospace;padding:.75rem}.theme-presets{display:flex;flex-direction:column;gap:1rem}.preset-btn{align-items:center;background:#fff;border:2px solid #e9ecef;border-radius:10px;cursor:pointer;display:flex;gap:1rem;padding:1rem;transition:all .3s ease}.preset-btn:hover{background:#f8f9fa;border-color:#667eea}.preset-colors{display:flex;gap:.25rem}.preset-colors span{border-radius:50%;height:20px;width:20px}.design-preview{background:#fff;border-radius:12px;box-shadow:0 4px 20px #0000001a;overflow:hidden}.preview-header{color:#fff;gap:1rem;padding:1rem}.preview-header,.preview-logo{align-items:center;display:flex}.preview-logo{background:#fff3;border-radius:10px;font-size:1.2rem;font-weight:600;height:40px;justify-content:center;width:40px}.preview-content{padding:1.5rem}.preview-button{border-radius:25px;color:#fff;display:inline-block;font-weight:600;margin-bottom:1.5rem;padding:.75rem 2rem}.preview-card{background:#fff;border-radius:12px;border-top:4px solid;box-shadow:0 2px 10px #0000001a;padding:1.5rem}.preview-card h4{font-size:1.1rem;margin:0 0 .5rem}.preview-card p{color:#636e72;margin:0}.design-actions{border-top:1px solid #e9ecef;padding-top:2rem}.content-editor{background:#fff;border-radius:16px;box-shadow:0 4px 20px #00000014;padding:1.5rem}.content-editor h2{color:#2d3436;font-size:1.75rem;margin-bottom:1rem}.editor-section{border-bottom:1px solid #e9ecef;margin-bottom:2.5rem;padding-bottom:2rem}.editor-section:last-of-type{border-bottom:none}.editor-section h3{align-items:center;color:#2d3436;display:flex;font-size:1.25rem;gap:.5rem;margin-bottom:1.5rem}.info-card-editor{background:#f8f9fa;border-radius:12px;margin-bottom:1.5rem;padding:1.5rem}.info-card-editor h4{color:#667eea;font-size:1.1rem;margin-bottom:1rem}.form-actions .save-btn{background:#667eea;border:none;border-radius:10px;color:#fff;cursor:pointer;font-size:1.1rem;font-weight:600;padding:1rem 1.5rem;transition:all .3s ease}.form-actions .save-btn:hover{box-shadow:0 8px 25px #667eea4d;transform:translateY(-2px)}@media (max-width:768px){.design-sections{grid-template-columns:1fr}.color-section,.preset-section,.preview-section{grid-column:1}.design-modal{margin:1rem;width:95%}}.stat-card.clickable{cursor:pointer;position:relative;transition:all .3s ease}.stat-card.clickable:hover{box-shadow:0 8px 25px #00000026;transform:translateY(-4px)}.card-arrow{color:#0000004d;font-size:16px;position:absolute;right:20px;top:50%;transform:translateY(-50%);transition:all .3s ease}.stat-card.clickable:hover .card-arrow{color:#0009;transform:translateY(-50%) translateX(5px)}.details-section{max-width:1200px}.details-header{border-bottom:2px solid #e9ecef;margin-bottom:30px;padding:20px 0}.back-to-overview-btn{background:#667eea;border:none;border-radius:8px;color:#fff;cursor:pointer;font-weight:600;margin-bottom:15px;padding:12px 24px;transition:all .3s ease}.back-to-overview-btn:hover{box-shadow:0 6px 20px #667eea4d;transform:translateY(-2px)}.details-subtitle{color:#636e72;font-size:16px;margin:10px 0 0}.monthly-chart{background:#fff;border-radius:12px;box-shadow:0 4px 20px #0000001a;margin-bottom:30px;padding:30px}.chart-container{overflow-x:auto;padding-bottom:10px;width:100%}.chart-bars{align-items:flex-end;display:flex;gap:8px;justify-content:space-between;min-height:250px;min-width:800px;padding:20px 0}.chart-bar-group{align-items:center;display:flex;flex:1 1;flex-direction:column}.chart-bar{align-items:flex-end;border-radius:4px 4px 0 0;display:flex;justify-content:center;max-width:50px;min-height:10px;padding:5px;position:relative;transition:all .3s ease;width:100%}.chart-bar:hover{opacity:.8;transform:scale(1.05)}.chart-bar.confirmed{background:linear-gradient(0deg,#00b894 0,#55efc4)}.chart-bar.cancelled{background:linear-gradient(0deg,#d63031 0,#fd79a8)}.chart-bar.active{background:linear-gradient(0deg,#0984e3 0,#74b9ff)}.chart-bar.completed{background:linear-gradient(0deg,#6c5ce7 0,#a29bfe)}.chart-bar.revenue{background:linear-gradient(0deg,#00b894 0,#55efc4)}.chart-bar.cancelled-revenue{background:linear-gradient(0deg,#d63031 0,#fd79a8)}.bar-value{color:#fff;text-orientation:mixed;text-shadow:0 1px 2px #0000004d;writing-mode:vertical-rl}.bar-value,.chart-label{font-size:12px;font-weight:600}.chart-label{color:#636e72;margin-top:10px;text-align:center}.details-summary{margin-bottom:30px}.summary-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.summary-card{background:#fff;border-left:4px solid #667eea;border-radius:12px;box-shadow:0 4px 20px #0000001a;padding:24px;text-align:center}.summary-card h3{color:#636e72;font-size:14px;letter-spacing:.5px;margin-bottom:10px;text-transform:uppercase}.summary-number{color:#2d3436;font-size:24px;font-weight:700;margin:0}.details-table{background:#fff;border-radius:12px;box-shadow:0 4px 20px #0000001a;padding:30px}.details-table h3{color:#2d3436;margin-bottom:20px}.details-table table{border-collapse:collapse;width:100%}.details-table th{background:#f8f9fa;border-bottom:2px solid #e9ecef;color:#636e72;font-weight:600;padding:15px;text-align:left}.details-table td{border-bottom:1px solid #e9ecef;padding:15px}.details-table .positive{color:#00b894;font-weight:600}.details-table .negative{color:#d63031;font-weight:600}@media (max-width:768px){.chart-bars{min-width:600px}.summary-grid{grid-template-columns:1fr 1fr}.bar-value{font-size:10px}.details-table{overflow-x:auto}}.postal-code-field{align-items:center;display:flex;gap:.5rem}.postal-code-field input{flex:1 1}.address-search-btn{background:#667eea;border:none;border-radius:8px;color:#fff;cursor:pointer;font-weight:600;min-width:100px;padding:.75rem 1rem;transition:all .3s ease;white-space:nowrap}.address-search-btn:hover:not(:disabled){background:#5a67d8 0,#6b46c1 100%);box-shadow:0 4px 15px #667eea4d;transform:translateY(-2px)}.address-search-btn:disabled{background:#ccc;box-shadow:none;cursor:not-allowed;transform:none}.form-group small{color:#666;display:block;font-size:.85rem;font-style:italic;margin-top:.25rem}.form-group input.loading,.form-group select.loading{animation:loading-shimmer 1.5s infinite;background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0 50%,#f0f0f0 75%);background-size:200% 100%}.contact-container{background:linear-gradient(135deg,#e8f5e9,#c8e6c9);min-height:calc(100vh - 160px);padding:2rem}.contact-header{margin-bottom:3rem;text-align:center}.contact-header h1{color:#2d3436;font-size:2.5rem;font-weight:700;margin-bottom:1rem}.contact-header p{color:#636e72;font-size:1.1rem;margin:0 auto;max-width:600px}.contact-content{grid-gap:3rem;display:grid;gap:3rem;grid-template-columns:1fr 2fr;margin:0 auto;max-width:1200px}.contact-info{border-radius:20px;box-shadow:0 10px 40px #0000001a;height:fit-content}.contact-info h2{color:#2d3436;font-size:1.5rem;font-weight:600;margin-bottom:2rem;text-align:center}.info-item{align-items:flex-start;background:linear-gradient(135deg,#f8f9fa,#e9ecef);border-radius:12px;display:flex;gap:1rem;margin-bottom:2rem;padding:1.5rem;transition:all .3s ease}.info-item:hover{box-shadow:0 5px 20px #0000001a;transform:translateY(-2px)}.info-icon{font-size:2rem;min-width:2rem}.info-details h3{color:#2d3436;font-size:1.1rem;font-weight:600;margin-bottom:.5rem}.info-details p{color:#636e72;font-size:1rem;font-weight:500;margin-bottom:.25rem}.info-details span{color:#74b9ff;font-size:.9rem;font-weight:500}.contact-form{background:#fff;border-radius:20px;box-shadow:0 10px 40px #0000001a;padding:2rem}.contact-form h2{color:#2d3436;font-size:1.5rem;font-weight:600;margin-bottom:2rem;text-align:center}.form-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:1fr 1fr;margin-bottom:1.5rem}.form-field{display:flex;flex-direction:column}.form-field.full-width{grid-column:1/-1;margin-bottom:1.5rem}.form-field label{color:#2d3436;font-size:.9rem}.form-field input,.form-field select,.form-field textarea{background:#f8f9fa;border:2px solid #ddd;border-radius:12px;font-size:1rem;padding:.875rem;transition:all .3s ease}.form-field input:focus,.form-field select:focus,.form-field textarea:focus{background:#fff;border-color:#43a047;box-shadow:0 0 0 3px #43a0471a;outline:none}.form-field textarea{min-height:120px;resize:vertical}.form-actions{display:flex;gap:1rem;justify-content:flex-end;margin-top:2rem}.btn-primary,.btn-secondary{align-items:center;display:flex;gap:.5rem;padding:.875rem 2rem}.btn-primary:hover:not(:disabled){background:linear-gradient(135deg,#388e3c,#5a9f5d);box-shadow:0 5px 20px #43a0474d;transform:translateY(-2px)}.btn-primary:disabled{background:#ccc;box-shadow:none;cursor:not-allowed;transform:none}.btn-secondary{background:#f8f9fa}.btn-secondary:hover{background:#e9ecef}.contact-success{background:#fff;border-radius:20px;box-shadow:0 10px 40px #0000001a;margin:3rem auto;max-width:600px;padding:3rem;text-align:center}.contact-success h1{color:#00b894;font-size:2rem;font-weight:700;margin-bottom:1rem}.contact-success p{color:#636e72;font-size:1.1rem;line-height:1.6;margin-bottom:2rem}.success-actions{display:flex;flex-wrap:wrap;gap:1rem;justify-content:center}@media (max-width:768px){.contact-container{padding:1rem}.contact-content{gap:2rem;grid-template-columns:1fr}.form-grid{gap:1rem;grid-template-columns:1fr}.form-actions{flex-direction:column}.btn-primary,.btn-secondary{justify-content:center;width:100%}.success-actions{flex-direction:column}.contact-header h1{font-size:2rem}.info-item{padding:1rem}}.terms-container{background:linear-gradient(135deg,#f8f9fa,#e9ecef);min-height:calc(100vh - 160px);padding:2rem}.terms-header{margin-bottom:3rem;margin-left:auto;margin-right:auto;max-width:800px;text-align:center}.terms-header h1{color:#2d3436;font-size:2.5rem;font-weight:700;margin-bottom:1rem}.last-updated{color:#74b9ff}.back-btn{background:linear-gradient(135deg,#667eea,#764ba2)}.back-btn:hover{box-shadow:0 4px 15px #667eea4d}.terms-content{margin:0 auto;max-width:1000px}.terms-intro{background:#fff;border-left:4px solid #43a047;border-radius:20px;box-shadow:0 10px 40px #0000001a;margin-bottom:2rem;padding:2rem}.terms-intro p{color:#636e72;font-size:1.1rem;line-height:1.7;margin:0}.terms-sections{display:flex;flex-direction:column;gap:1.5rem}.terms-section{background:#fff;border-left:4px solid #74b9ff;border-radius:16px;box-shadow:0 4px 20px #00000014;padding:2rem;transition:all .3s ease}.terms-section:hover{box-shadow:0 8px 30px #0000001f;transform:translateY(-2px)}.terms-section h2{border-bottom:2px solid #e9ecef;color:#2d3436;font-size:1.3rem;font-weight:700;margin-bottom:1rem;padding-bottom:.5rem}.terms-text{color:#555;line-height:1.8}.terms-text p{font-size:.95rem;margin-bottom:.8rem}.terms-text p:last-child{margin-bottom:0}.terms-footer{border-top:2px solid #e9ecef;margin-top:3rem;padding:2rem 0}.terms-actions{display:flex;flex-wrap:wrap;gap:1rem;justify-content:center}.btn-primary{background:linear-gradient(135deg,#43a047,#66bb6a)}.btn-primary:hover{background:linear-gradient(135deg,#388e3c,#5a9f5d);box-shadow:0 5px 20px #43a0474d}@media (max-width:768px){.terms-container{padding:1rem}.terms-header h1{font-size:2rem}.contact-info,.terms-intro,.terms-section{padding:1.5rem}.terms-section h2{font-size:1.1rem}.terms-text p{font-size:.9rem}.terms-actions{flex-direction:column}.btn-primary,.btn-secondary{width:100%}}@media print{.terms-container{background:#fff;padding:0}.back-btn,.terms-actions{display:none}.contact-info,.terms-intro,.terms-section{border:1px solid #ddd;box-shadow:none;break-inside:avoid;margin-bottom:1rem;page-break-inside:avoid}.terms-header h1,.terms-section h2{color:#000}}.privacy-container{background:linear-gradient(135deg,#f0f8ff,#e6f3ff);min-height:calc(100vh - 160px);padding:2rem}.loading-spinner{align-items:center;display:flex;flex-direction:column;justify-content:center;min-height:300px;text-align:center}.loading-spinner .spinner{animation:spin 1s linear infinite;font-size:3rem;margin-bottom:1rem}.loading-spinner p{color:#636e72;font-size:1.1rem}.privacy-header{margin-bottom:3rem;margin-left:auto;margin-right:auto;max-width:800px;text-align:center}.privacy-header h1{color:#2d3436;font-size:2.5rem;font-weight:700;margin-bottom:1rem}.last-updated{color:#6c5ce7;font-size:1rem;font-weight:500;margin-bottom:2rem}.back-btn{background:linear-gradient(135deg,#6c5ce7,#a29bfe);border:none;border-radius:8px;color:#fff;cursor:pointer;font-weight:600;padding:.75rem 1.5rem;transition:all .3s ease}.back-btn:hover{box-shadow:0 4px 15px #6c5ce74d;transform:translateY(-2px)}.privacy-content{margin:0 auto;max-width:1000px}.privacy-intro{background:#fff;border-left:4px solid #6c5ce7;border-radius:20px;box-shadow:0 10px 40px #0000001a;margin-bottom:2rem;padding:2rem}.privacy-intro p{color:#636e72;font-size:1.1rem;line-height:1.7;margin:0}.privacy-sections{display:flex;flex-direction:column;gap:1.5rem}.privacy-section{background:#fff;border-left:4px solid #a29bfe;border-radius:16px;box-shadow:0 4px 20px #00000014;padding:2rem;transition:all .3s ease}.privacy-section:hover{box-shadow:0 8px 30px #0000001f;transform:translateY(-2px)}.privacy-section h2{border-bottom:2px solid #e9ecef;color:#2d3436;font-size:1.3rem;font-weight:700;margin-bottom:1rem;padding-bottom:.5rem}.privacy-text{color:#555;line-height:1.8}.privacy-text p{font-size:.95rem;margin-bottom:.8rem}.privacy-text p:last-child{margin-bottom:0}.privacy-footer{border-top:2px solid #e9ecef;margin-top:3rem;padding:2rem 0}.contact-info{background:#fff;border-left:4px solid #fd79a8;border-radius:16px;box-shadow:0 4px 20px #00000014;margin-bottom:2rem;padding:2rem}.contact-info h3{color:#2d3436;font-size:1.2rem;font-weight:600;margin-bottom:1rem}.contact-info p{color:#636e72;font-size:.95rem;line-height:1.6;margin:0}.privacy-actions{display:flex;flex-wrap:wrap;gap:1rem;justify-content:center}.btn-primary,.btn-secondary{border:none;border-radius:12px;cursor:pointer;font-size:1rem;font-weight:600;padding:1rem 2rem;transition:all .3s ease}.btn-primary{background:linear-gradient(135deg,#6c5ce7,#a29bfe);color:#fff}.btn-primary:hover{background:linear-gradient(135deg,#5b4bd5,#9085e8);box-shadow:0 5px 20px #6c5ce74d;transform:translateY(-2px)}.btn-secondary{background:#fff;border:2px solid #ddd;color:#636e72}.btn-secondary:hover{background:#f8f9fa;border-color:#adb5bd;transform:translateY(-2px)}@media (max-width:768px){.privacy-container{padding:1rem}.privacy-header h1{font-size:2rem}.contact-info,.privacy-intro,.privacy-section{padding:1.5rem}.privacy-section h2{font-size:1.1rem}.privacy-text p{font-size:.9rem}.privacy-actions{flex-direction:column}.btn-primary,.btn-secondary{width:100%}}@media print{.privacy-container{background:#fff;padding:0}.back-btn,.privacy-actions{display:none}.contact-info,.privacy-intro,.privacy-section{border:1px solid #ddd;box-shadow:none;break-inside:avoid;margin-bottom:1rem;page-break-inside:avoid}.privacy-header h1,.privacy-section h2{color:#000}}.forgot-password-container{align-items:center;background:linear-gradient(135deg,#e8f5e9,#c8e6c9);display:flex;justify-content:center;min-height:calc(100vh - 160px);padding:2rem}.forgot-password-card{background:#fff;border-radius:20px;box-shadow:0 10px 40px #0000001a;max-width:450px;padding:2.5rem;width:100%}.forgot-password-card h2{color:#2e7d32;font-size:1.75rem;margin-bottom:.5rem;text-align:center}.form-field input{padding:.875rem}.links{align-items:center;display:flex;gap:1rem;justify-content:space-between}.back-link,.register-link{color:#43a047;font-size:.9rem;text-decoration:none;transition:all .3s ease;white-space:nowrap}.back-link:hover,.register-link:hover{color:#2e7d32;text-decoration:underline}.success-icon{animation:bounce 1s ease-out}@keyframes bounce{0%,20%,50%,80%,to{transform:translateY(0)}40%{transform:translateY(-20px)}60%{transform:translateY(-10px)}}.success-card p{line-height:1.6;margin-bottom:1.5rem}.success-card strong{color:#2e7d32;font-weight:600}.info-box{background:#f8f9fa;border-radius:10px;margin:1.5rem 0;padding:1.5rem;text-align:left}.info-box p{color:#666;font-weight:600;margin-bottom:.75rem}.info-box ul{list-style:none;margin:0;padding:0}.info-box li{color:#666;font-size:.9rem;padding:.25rem 0 .25rem 1.5rem;position:relative}.info-box li:before{color:#43a047;content:"•";font-weight:700;left:.5rem;position:absolute}.back-to-login-btn{background:linear-gradient(135deg,#43a047,#66bb6a);border-radius:50px;color:#fff;display:inline-block;font-weight:600;margin-top:1rem;padding:.875rem 2rem;text-decoration:none;transition:all .3s ease}.back-to-login-btn:hover{box-shadow:0 8px 25px #43a0474d;transform:translateY(-2px)}@media (max-width:768px){.forgot-password-container{padding:1rem}.forgot-password-card{padding:2rem 1.5rem}.links{flex-direction:column;gap:.75rem}.info-box{padding:1rem}}.reset-password-container{align-items:center;background:linear-gradient(135deg,#e8f5e9,#c8e6c9);display:flex;justify-content:center;min-height:calc(100vh - 160px);padding:2rem}.reset-password-card{background:#fff;border-radius:20px;box-shadow:0 10px 40px #0000001a;max-width:450px;padding:2.5rem;width:100%}.reset-password-card h2{color:#2e7d32;font-size:1.75rem;margin-bottom:.5rem;text-align:center}.description{color:#666;font-size:.95rem;line-height:1.5;margin-bottom:2rem;text-align:center}.spinner{animation:spin 1s linear infinite;border:4px solid #e0e0e0;border-radius:50%;border-top-color:#43a047;height:40px;margin:0 auto 1rem;width:40px}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.form-field{margin-bottom:1.5rem}.form-field label{color:#2e7d32;display:block;font-size:.95rem;font-weight:600;margin-bottom:.5rem}.password-input-wrapper{position:relative}.form-field input{border:2px solid #e0e0e0;border-radius:8px;font-size:1rem;padding:.875rem 3rem .875rem .875rem;transition:all .3s ease;width:100%}.form-field input:focus{border-color:#43a047;box-shadow:0 0 0 3px #43a0471a;outline:none}.form-field input:disabled{background:#f5f5f5;cursor:not-allowed}.toggle-password{background:none;border:none;color:#666;cursor:pointer;font-size:1.25rem;padding:.25rem;position:absolute;right:.875rem;top:50%;transform:translateY(-50%);transition:all .3s ease}.toggle-password:hover{color:#43a047}.password-strength{margin-top:.5rem}.strength-bar{background:#e0e0e0;border-radius:2px;height:4px;margin-bottom:.25rem;overflow:hidden}.strength-fill{height:100%;transition:all .3s ease}.strength-label{font-size:.875rem;font-weight:600}.password-requirements{background:#f8f9fa;border-radius:8px;margin-top:.75rem;padding:1rem}.password-requirements p{color:#666;font-size:.875rem;font-weight:600;margin-bottom:.5rem}.password-requirements ul{list-style:none;margin:0;padding:0}.password-requirements li{color:#999;font-size:.85rem;padding:.25rem 0 .25rem 1.5rem;position:relative;transition:all .3s ease}.password-requirements li:before{content:"○";font-weight:700;left:0;position:absolute}.password-requirements li.met{color:#43a047}.password-requirements li.met:before{color:#43a047;content:"✓"}.field-error{color:#d32f2f;display:block;font-size:.875rem;margin-top:.25rem}.error-message{background:#ffebee;border:1px solid #ffcdd2;border-radius:8px;color:#c62828;font-size:.9rem;margin-bottom:1rem;padding:.75rem}.submit-btn{align-items:center;background:linear-gradient(135deg,#43a047,#66bb6a);border:none;border-radius:50px;color:#fff;cursor:pointer;display:flex;font-size:1rem;font-weight:600;gap:.5rem;justify-content:center;padding:1rem;transition:all .3s ease;width:100%}.submit-btn:hover:not(:disabled){box-shadow:0 8px 25px #43a0474d;transform:translateY(-2px)}.submit-btn:disabled{cursor:not-allowed;opacity:.7;transform:none}.loading-spinner{animation:spin 1s linear infinite;display:inline-block}.divider{background:#e0e0e0;height:1px;margin:2rem 0}.links{text-align:center}.back-link{color:#43a047;font-size:.9rem;text-decoration:none;transition:all .3s ease}.back-link:hover{color:#2e7d32;text-decoration:underline}.error-card{text-align:center}.error-icon{animation:shake .5s;font-size:4rem;margin-bottom:1rem}@keyframes shake{0%,to{transform:translateX(0)}10%,30%,50%,70%,90%{transform:translateX(-5px)}20%,40%,60%,80%{transform:translateX(5px)}}.error-card h2{color:#d32f2f;margin-bottom:1rem}.error-card p{color:#666;margin-bottom:2rem}.retry-btn{background:linear-gradient(135deg,#43a047,#66bb6a);border-radius:50px;color:#fff;display:inline-block;font-weight:600;padding:.875rem 2rem;text-decoration:none;transition:all .3s ease}.retry-btn:hover{box-shadow:0 8px 25px #43a0474d;transform:translateY(-2px)}.success-card{text-align:center}.success-icon{animation:checkmark .8s ease-out;font-size:4rem;margin-bottom:1.5rem}@keyframes checkmark{0%{opacity:0;transform:scale(0) rotate(45deg)}50%{transform:scale(1.2) rotate(45deg)}to{opacity:1;transform:scale(1) rotate(0)}}.success-card h2{color:#2e7d32;margin-bottom:1rem}.success-card p{color:#666;margin-bottom:.5rem}.redirect-text{animation:pulse 1.5s infinite;color:#999;font-size:.9rem;font-style:italic}@keyframes pulse{0%,to{opacity:.6}50%{opacity:1}}@media (max-width:768px){.reset-password-container{padding:1rem}.reset-password-card{padding:2rem 1.5rem}.password-requirements{padding:.75rem}}.announcement-detail-page{background:var(--extra-light-gray);min-height:calc(100vh - 160px);padding:40px 20px}.announcement-container{margin:0 auto;max-width:800px}.announcement-header{margin-bottom:30px}.back-button{align-items:center;background:var(--green);border:none;border-radius:8px;color:#fff;cursor:pointer;display:inline-flex;font-size:14px;font-weight:500;gap:8px;padding:12px 24px;text-decoration:none;transition:all .3s ease}.back-button:hover{background:var(--green-hover);box-shadow:0 5px 15px #43a0474d;transform:translateY(-2px)}.back-button.primary{background:var(--gradient-2);border-radius:30px;box-shadow:0 4px 15px #43a0474d;font-size:16px;font-weight:600;padding:15px 40px}.loading-message{color:var(--gray);font-size:18px;padding:60px 20px;text-align:center}.not-found-message{background:#fff;border-radius:15px;box-shadow:0 5px 20px #43a0471a;padding:60px 20px;text-align:center}.not-found-message h2{color:var(--dark-gray);font-size:24px;margin-bottom:15px}.not-found-message p{color:var(--gray);font-size:16px;line-height:1.6;margin-bottom:30px}.announcement-content{background:#fff;border:1px solid #43a0471a;border-radius:15px;box-shadow:0 5px 20px #43a0471a;margin-bottom:30px;padding:40px}.announcement-meta{align-items:center;border-bottom:1px solid var(--light-gray);display:flex;gap:15px;margin-bottom:25px;padding-bottom:20px}.announcement-date{background:var(--green-pale);color:var(--green-dark)}.announcement-category,.announcement-date{border-radius:20px;font-size:14px;font-weight:500;padding:6px 16px}.announcement-category{background:var(--gradient-2);color:#fff}.announcement-title{color:var(--dark-gray);font-size:28px;font-weight:700;line-height:1.4;margin-bottom:30px}.announcement-body{color:var(--dark-gray);font-size:16px;line-height:1.8}.announcement-body p{margin-bottom:20px}.announcement-body p:last-child{margin-bottom:0}.announcement-footer{text-align:center}@media (max-width:768px){.announcement-detail-page{padding:20px 15px}.announcement-content{padding:25px 20px}.announcement-title{font-size:22px}.announcement-meta{align-items:flex-start;flex-direction:column;gap:10px}.back-button.primary{font-size:14px;padding:12px 30px}}
/*# sourceMappingURL=main.c3ba2b4c.css.map*/