:root{--font-display: "DM Serif Display", "Georgia", serif;--font-body: "DM Sans", -apple-system, BlinkMacSystemFont, sans-serif;--bg-primary: #0a0a0a;--bg-secondary: #0f0f0f;--bg-tertiary: #161616;--bg-elevated: #1c1c1e;--bg-glass: rgba(28, 28, 30, .85);--bg-glass-border: rgba(255, 255, 255, .06);--text-primary: #f5f5f4;--text-secondary: #a8a29e;--text-muted: #6b7280;--text-inverse: #0a0a0a;--accent: #f59e0b;--accent-hover: #d97706;--accent-soft: rgba(245, 158, 11, .12);--accent-glow: rgba(245, 158, 11, .25);--success: #10b981;--success-soft: rgba(16, 185, 129, .12);--info: #06b6d4;--info-soft: rgba(6, 182, 212, .12);--danger: #ef4444;--danger-soft: rgba(239, 68, 68, .12);--border: #2a2a2a;--border-light: #1f1f1f;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .3);--shadow-md: 0 4px 16px rgba(0, 0, 0, .4);--shadow-lg: 0 8px 32px rgba(0, 0, 0, .5);--shadow-xl: 0 16px 48px rgba(0, 0, 0, .6);--radius-sm: 6px;--radius-md: 10px;--radius-lg: 16px;--radius-xl: 24px;--transition: .25s cubic-bezier(.16, 1, .3, 1);--transition-fast: .15s cubic-bezier(.16, 1, .3, 1)}.light{--bg-primary: #fafaf9;--bg-secondary: #f5f5f4;--bg-tertiary: #efefed;--bg-elevated: #ffffff;--bg-glass: rgba(255, 255, 255, .85);--bg-glass-border: rgba(0, 0, 0, .06);--text-primary: #1c1917;--text-secondary: #57534e;--text-muted: #a8a29e;--text-inverse: #fafaf9;--accent: #d97706;--accent-hover: #b45309;--accent-soft: rgba(217, 119, 6, .08);--accent-glow: rgba(217, 119, 6, .15);--success: #059669;--success-soft: rgba(5, 150, 105, .08);--info: #0891b2;--info-soft: rgba(8, 145, 178, .08);--danger: #dc2626;--danger-soft: rgba(220, 38, 38, .08);--border: #e7e5e4;--border-light: #f5f5f4;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .04);--shadow-md: 0 4px 16px rgba(0, 0, 0, .06);--shadow-lg: 0 8px 32px rgba(0, 0, 0, .08);--shadow-xl: 0 16px 48px rgba(0, 0, 0, .1);--accent-glow: rgba(217, 119, 6, .12)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-body);background:var(--bg-primary);color:var(--text-primary);line-height:1.6;font-size:.9375rem;transition:background var(--transition),color var(--transition);min-height:100vh}#root{min-height:100vh}::selection{background:var(--accent);color:var(--text-inverse)}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:var(--radius-sm)}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);font-weight:400;line-height:1.2;color:var(--text-primary)}h1{font-size:2.25rem}h2{font-size:1.75rem}h3{font-size:1.375rem}h4{font-size:1.125rem}.section-title{font-size:1.5rem;margin-bottom:1.25rem}.section-subtitle{font-size:1.125rem;margin-bottom:1rem}code{font-family:SF Mono,Fira Code,monospace;font-size:.8125em;background:var(--bg-tertiary);padding:.125em .375em;border-radius:var(--radius-sm)}.app{display:flex;flex-direction:column;min-height:100vh;background:var(--bg-primary)}.main-content{flex:1;display:flex;flex-direction:column}.navbar{display:flex;align-items:center;justify-content:space-between;height:60px;padding:0 1.25rem;background:var(--bg-glass);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-bottom:1px solid var(--bg-glass-border);position:sticky;top:0;z-index:100}.navbar-brand{display:flex;align-items:center;gap:.625rem}.navbar-logo{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:var(--accent);color:var(--text-inverse);border-radius:var(--radius-sm);font-size:1rem;font-weight:700;font-family:var(--font-body)}.navbar-title{font-family:var(--font-display);font-size:1.125rem;color:var(--text-primary);letter-spacing:-.01em}.navbar-center{display:flex;align-items:center;gap:.25rem}.navbar-right{display:flex;align-items:center;gap:.75rem}.navbar-user-name{font-size:.8125rem;color:var(--text-muted);font-weight:500}.navbar-avatar{width:34px;height:34px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:600;color:var(--text-inverse);background:var(--accent);letter-spacing:.02em;flex-shrink:0}.navbar-tabs{display:flex;gap:.25rem;background:var(--bg-tertiary);padding:3px;border-radius:var(--radius-md)}.navbar-tab{padding:.375rem .875rem;border:none;background:transparent;color:var(--text-muted);font-family:var(--font-body);font-size:.8125rem;font-weight:500;border-radius:calc(var(--radius-md) - 3px);cursor:pointer;transition:all var(--transition-fast);white-space:nowrap}.navbar-tab:hover{color:var(--text-secondary);background:var(--bg-glass)}.navbar-tab.active{color:var(--text-primary);background:var(--bg-elevated);box-shadow:var(--shadow-sm)}.btn-lang{padding:.375rem .75rem;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-elevated);color:var(--text-muted);font-family:var(--font-body);font-size:.75rem;font-weight:600;cursor:pointer;letter-spacing:.04em;transition:all var(--transition-fast)}.btn-lang:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-soft)}.auth-lang-toggle{position:fixed;top:1.25rem;right:1.25rem;z-index:100;padding:.5rem 1rem;border:1px solid var(--bg-glass-border);border-radius:var(--radius-md);background:var(--bg-glass);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);color:var(--text-secondary);font-family:var(--font-body);font-size:.8125rem;font-weight:600;cursor:pointer;letter-spacing:.04em;transition:all var(--transition-fast)}.auth-lang-toggle:hover{border-color:var(--accent);color:var(--accent);background:#f59e0b1a}.dark-mode-toggle{width:34px;height:34px;border:1px solid var(--border);border-radius:50%;background:var(--bg-elevated);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:.875rem;transition:all var(--transition-fast)}.dark-mode-toggle:hover{border-color:var(--accent);background:var(--accent-soft)}.btn-logout{padding:.375rem .875rem;border:1px solid var(--border);border-radius:var(--radius-md);background:transparent;color:var(--text-muted);font-family:var(--font-body);font-size:.8125rem;font-weight:500;cursor:pointer;transition:all var(--transition-fast)}.btn-logout:hover{border-color:var(--danger);color:var(--danger);background:var(--danger-soft)}.admin-view{display:flex;flex:1;min-height:0}.admin-sidebar{width:230px;flex-shrink:0;background:var(--bg-tertiary);border-right:1px solid var(--border);padding:1rem .75rem;display:flex;flex-direction:column;gap:.25rem}.admin-sidebar-label{font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);padding:.5rem .75rem .25rem}.admin-nav-tab{display:flex;align-items:center;gap:.625rem;padding:.625rem .75rem;border:none;background:transparent;color:var(--text-secondary);font-family:var(--font-body);font-size:.875rem;font-weight:500;border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);width:100%;text-align:left}.admin-nav-tab:hover{background:var(--bg-elevated);color:var(--text-primary)}.admin-nav-tab.active{background:var(--accent-soft);color:var(--accent);font-weight:600}.admin-nav-tab .nav-icon{font-size:1rem;width:1.25rem;text-align:center}.admin-content{flex:1;display:flex;flex-direction:column;min-width:0;overflow:auto}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.625rem 1.25rem;border:none;border-radius:var(--radius-md);font-family:var(--font-body);font-size:.875rem;font-weight:600;cursor:pointer;transition:all var(--transition-fast);text-decoration:none;line-height:1.2;white-space:nowrap}.btn:active{transform:scale(.97)}.btn:disabled{opacity:.4;cursor:not-allowed;transform:none}.btn-primary{background:var(--accent);color:var(--text-inverse);box-shadow:0 0 20px var(--accent-glow)}.btn-primary:hover:not(:disabled){background:var(--accent-hover);box-shadow:0 0 28px var(--accent-glow)}.btn-secondary{background:var(--bg-elevated);color:var(--text-primary);border:1px solid var(--border)}.btn-secondary:hover:not(:disabled){background:var(--bg-tertiary);border-color:var(--text-muted)}.btn-ghost{background:transparent;color:var(--text-secondary);padding:.5rem;border-radius:var(--radius-sm)}.btn-ghost:hover:not(:disabled){background:var(--bg-tertiary);color:var(--text-primary)}.btn-destructive{background:var(--danger);color:#fff}.btn-destructive:hover:not(:disabled){background:#dc2626}.btn-sm{padding:.375rem .75rem;font-size:.8125rem}.btn-icon{width:36px;height:36px;padding:0;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm)}.form-group{display:flex;flex-direction:column;gap:.375rem}.form-group label{font-size:.8125rem;font-weight:600;color:var(--text-secondary);letter-spacing:.01em}.form-group input,.form-group select{height:44px;padding:0 .875rem;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-elevated);color:var(--text-primary);font-family:var(--font-body);font-size:.875rem;transition:all var(--transition-fast);-webkit-appearance:none;-moz-appearance:none;appearance:none}.form-group input::placeholder{color:var(--text-muted)}.form-group input:focus,.form-group select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.form-group input.input-error{border-color:var(--danger);box-shadow:0 0 0 3px var(--danger-soft)}.form-error{font-size:.75rem;color:var(--danger);font-weight:500;animation:fadeIn .2s ease}.form-success{font-size:.75rem;color:var(--success);font-weight:500;animation:fadeIn .2s ease}.time-input-wrap{position:relative}.time-input-wrap input[type=time],.time-input-wrap input[type=date]{width:100%;cursor:pointer}.time-input-wrap input[type=time]::-webkit-calendar-picker-indicator,.time-input-wrap input[type=date]::-webkit-calendar-picker-indicator{position:absolute;top:0;left:0;right:0;bottom:0;width:auto;height:auto;color:transparent;background:transparent;cursor:pointer}.time-selector{display:flex;flex-wrap:wrap;align-items:flex-end;gap:.75rem;padding:1rem 1.25rem;background:var(--bg-elevated);border-bottom:1px solid var(--border)}.time-selector-group{display:flex;flex-direction:column;gap:.25rem;min-width:0;position:relative}.time-selector-group label{font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted)}.time-selector-group input,.time-selector-group select{height:38px;padding:0 .75rem;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-tertiary);color:var(--text-primary);font-family:var(--font-body);font-size:.8125rem;transition:all var(--transition-fast);cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none}.time-selector-group select{padding-right:2rem;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%236b7280' d='M6 8L1 3h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .625rem center}.time-selector-group input:focus,.time-selector-group select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-soft)}.time-selector-group input[type=date]::-webkit-calendar-picker-indicator{position:absolute;top:0;left:0;right:0;bottom:0;width:auto;height:auto;color:transparent;background:transparent;cursor:pointer}.membership-buttons{display:flex;gap:.375rem;margin-left:auto;align-self:center}.btn-membership{font-family:var(--font-body);font-size:.75rem;font-weight:600;line-height:1.2;padding:.35rem .75rem;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-tertiary);color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast)}.btn-membership:hover{border-color:var(--accent);color:var(--accent)}.btn-membership.active{background:var(--accent);color:#000;border-color:var(--accent)}.btn-membership small{font-weight:400;opacity:.85}.btn-membership.active small{opacity:1}.time-selector-error{width:100%;font-size:.75rem;color:var(--danger);font-weight:500}.auth-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:1.25rem;background:var(--bg-primary);position:relative;overflow:hidden}.auth-page:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(800px circle at 20% 50%,var(--accent-soft) 0%,transparent 70%),radial-gradient(600px circle at 80% 20%,var(--info-soft) 0%,transparent 60%),radial-gradient(400px circle at 50% 80%,var(--accent-soft) 0%,transparent 50%);pointer-events:none}.light .auth-page:before{opacity:.6}.auth-card{width:100%;max-width:400px;background:var(--bg-glass);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border:1px solid var(--bg-glass-border);border-radius:var(--radius-xl);padding:2rem 1.75rem;box-shadow:var(--shadow-xl);position:relative;animation:cardEnter .6s var(--transition) both}@keyframes cardEnter{0%{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.auth-header{text-align:center;margin-bottom:1.5rem}.auth-header-logo{width:48px;height:48px;display:inline-flex;align-items:center;justify-content:center;background:var(--accent);color:var(--text-inverse);border-radius:var(--radius-md);font-size:1.375rem;font-weight:700;margin-bottom:.75rem}.auth-header h1{font-size:1.625rem;margin-bottom:.25rem}.auth-subtitle{color:var(--text-muted);font-size:.8125rem}.auth-tabs{display:flex;gap:.25rem;background:var(--bg-tertiary);padding:3px;border-radius:var(--radius-md);margin-bottom:1.5rem}.auth-tab{flex:1;padding:.5rem;border:none;background:transparent;color:var(--text-muted);font-family:var(--font-body);font-size:.8125rem;font-weight:500;border-radius:calc(var(--radius-md) - 3px);cursor:pointer;transition:all var(--transition-fast)}.auth-tab:hover{color:var(--text-secondary)}.auth-tab.active{color:var(--text-primary);background:var(--bg-elevated);box-shadow:var(--shadow-sm)}.auth-form{display:flex;flex-direction:column;gap:1rem}.auth-form .form-group{gap:.375rem}.auth-form .form-group label{font-size:.8125rem;font-weight:600;color:var(--text-secondary)}.auth-form .form-group input{height:46px;padding:0 .875rem;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-elevated);color:var(--text-primary);font-family:var(--font-body);font-size:.875rem;transition:all var(--transition-fast)}.auth-form .form-group input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.auth-submit{margin-top:.25rem;height:46px;width:100%}.auth-footer-text{text-align:center;margin-top:1rem;font-size:.8125rem;color:var(--text-muted)}.btn-link{background:none;border:none;color:var(--accent);font-family:var(--font-body);font-size:.8125rem;font-weight:600;cursor:pointer;padding:0;text-decoration:none;transition:color var(--transition-fast)}.btn-link:hover{color:var(--accent-hover)}.auth-hint{margin-top:1.25rem;padding:.875rem 1rem;background:var(--bg-tertiary);border-radius:var(--radius-md);font-size:.75rem;color:var(--text-muted);line-height:1.6}.auth-hint strong{color:var(--text-secondary);font-size:.6875rem;text-transform:uppercase;letter-spacing:.06em}.auth-hint p{margin-bottom:.125rem}.user-view{display:flex;flex-direction:column;flex:1;min-height:0}.user-view-body{flex:1;display:flex;gap:0;min-height:0;position:relative}.map-container{flex:1;min-height:400px;position:relative}.map-container .leaflet-container{border-radius:0;background:#1a1a1a}.booking-panel{width:340px;flex-shrink:0;padding:1.25rem;background:var(--bg-elevated);border-left:1px solid var(--border);overflow-y:auto;display:flex;flex-direction:column;gap:1rem;animation:slideIn .3s var(--transition) both}@keyframes slideIn{0%{opacity:0;transform:translate(16px)}to{opacity:1;transform:translate(0)}}.booking-panel-header{display:flex;align-items:center;justify-content:space-between}.booking-panel-header h2{font-size:1.125rem;margin:0}.booking-info{display:flex;flex-direction:column;gap:.625rem;padding:.875rem 1rem;background:var(--bg-tertiary);border-radius:var(--radius-md)}.booking-info-item{display:flex;align-items:center;justify-content:space-between}.booking-info-label{font-size:.8125rem;color:var(--text-muted);font-weight:500}.booking-info-value{font-size:.875rem;color:var(--text-primary);font-weight:600}.booking-info-value.fee{color:var(--accent);font-size:1rem}.reservation-form{display:flex;flex-direction:column;gap:.75rem}.reservation-form .form-group input{height:44px}.my-rentals{width:100%;max-width:640px;margin:0 auto;padding:1.5rem 1.25rem}.my-rentals-header{display:flex;align-items:center;gap:.625rem;margin-bottom:1rem}.my-rentals-title{font-size:1.125rem;font-weight:600;font-family:var(--font-body)}.my-rentals-count{font-size:.75rem;font-weight:600;color:var(--text-inverse);background:var(--accent);padding:.125rem .5rem;border-radius:999px;min-width:1.25rem;text-align:center}.my-rentals-list{display:flex;flex-direction:column;gap:.625rem}.my-rental-card{display:flex;align-items:center;gap:1rem;padding:1rem 1.125rem;background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-lg);transition:all var(--transition-fast)}.my-rental-card:hover{border-color:var(--accent-soft);box-shadow:var(--shadow-md)}.my-rental-card.past{opacity:.7}.my-rental-card.past:hover{opacity:1}.my-rental-spot{width:56px;height:56px;display:flex;align-items:center;justify-content:center;background:var(--accent-soft);color:var(--accent);font-family:var(--font-display);font-size:1.25rem;font-weight:600;border-radius:var(--radius-md);flex-shrink:0}.my-rental-details{flex:1;display:flex;flex-direction:column;gap:.125rem;min-width:0}.my-rental-plate{font-size:.875rem;font-weight:600;color:var(--text-primary)}.my-rental-time{font-size:.75rem;color:var(--text-muted)}.dashboard{padding:1.5rem;max-width:1200px}.kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-bottom:2rem}.kpi-card{display:flex;align-items:center;gap:1rem;padding:1.25rem;background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-lg);transition:all var(--transition-fast)}.kpi-card:hover{border-color:var(--accent-soft);box-shadow:var(--shadow-md)}.kpi-icon{width:44px;height:44px;display:flex;align-items:center;justify-content:center;background:var(--accent-soft);color:var(--accent);border-radius:var(--radius-md);font-size:1.125rem;flex-shrink:0}.kpi-content{display:flex;flex-direction:column}.kpi-value{font-size:1.5rem;font-weight:700;font-family:var(--font-display);line-height:1.1;color:var(--text-primary)}.kpi-label{font-size:.75rem;color:var(--text-muted);font-weight:500;text-transform:uppercase;letter-spacing:.04em}.table-wrapper{overflow-x:auto;-webkit-overflow-scrolling:touch;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--bg-elevated)}.data-table{width:100%;border-collapse:collapse;font-size:.8125rem}.data-table thead{background:var(--bg-tertiary)}.data-table th{padding:.75rem 1rem;text-align:left;font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);border-bottom:1px solid var(--border);white-space:nowrap}.data-table td{padding:.75rem 1rem;border-bottom:1px solid var(--border-light);color:var(--text-secondary)}.data-table tbody tr:last-child td{border-bottom:none}.data-table tbody tr{transition:background var(--transition-fast)}.data-table tbody tr:hover{background:var(--accent-soft)}.clickable-row{cursor:pointer}.clickable-row:hover{background:var(--accent-soft)!important}.badge{display:inline-flex;align-items:center;padding:.25rem .625rem;font-size:.75rem;font-weight:600;font-family:var(--font-body);border-radius:999px;background:var(--accent-soft);color:var(--accent)}.status-badge{display:inline-flex;align-items:center;padding:.2rem .625rem;font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;border-radius:999px}.status-badge.active{background:var(--success-soft);color:var(--success)}.status-badge.finished{background:var(--bg-tertiary);color:var(--text-muted)}.search-bar{display:flex;align-items:center;gap:.5rem;padding:0 1rem;height:44px;background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-md);margin-bottom:1.25rem;max-width:480px;transition:all var(--transition-fast)}.search-bar:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.search-icon{color:var(--text-muted);font-size:.875rem;flex-shrink:0}.search-input{flex:1;border:none;background:transparent;color:var(--text-primary);font-family:var(--font-body);font-size:.8125rem;outline:none;height:100%}.search-input::placeholder{color:var(--text-muted)}.reservations-page{padding:1.5rem;max-width:1200px}.plate-lookup{padding:1.5rem;max-width:800px}.plate-lookup-bar{display:flex;align-items:center;justify-content:space-between;margin-top:1rem;margin-bottom:.75rem}.plate-lookup-count{font-size:.875rem;color:var(--text-muted)}.plate-list{display:flex;flex-direction:column;gap:6px}.plate-item{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;background:var(--surface);border:1px solid var(--border);border-radius:6px}.plate-index{font-size:.8rem;color:var(--text-muted);min-width:1.5rem}.plate-value{font-size:1.1rem;font-weight:600;color:var(--accent);letter-spacing:.02em}.admin-map-layout{display:flex;flex:1;min-height:0;position:relative}.admin-map-main{flex:1;position:relative;min-height:400px}.admin-map-main .map-container{position:absolute;top:0;right:0;bottom:0;left:0;min-height:0;flex:none}.admin-spot-info{width:340px;flex-shrink:0;padding:1.25rem;background:var(--bg-elevated);border-left:1px solid var(--border);overflow-y:auto;display:flex;flex-direction:column;gap:1rem;animation:slideIn .3s var(--transition) both}.admin-spot-info-header{display:flex;align-items:center;justify-content:space-between}.admin-spot-info-header h3{font-size:1.125rem;margin:0}.admin-spot-info-body{display:flex;flex-direction:column;gap:.75rem}.admin-spot-res-card{display:flex;flex-direction:column;gap:.5rem;padding:.875rem 1rem;background:var(--bg-tertiary);border-radius:var(--radius-md)}.admin-spot-res-row{display:flex;align-items:center;justify-content:space-between;font-size:.8125rem}.admin-spot-res-row .fee{color:var(--accent);font-weight:600}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000b3;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:1.25rem;animation:fadeIn .2s ease}.modal{width:100%;max-width:420px;background:var(--bg-glass);backdrop-filter:blur(32px);-webkit-backdrop-filter:blur(32px);border:1px solid var(--bg-glass-border);border-radius:var(--radius-xl);padding:1.5rem;box-shadow:var(--shadow-xl);animation:modalEnter .35s var(--transition) both}@keyframes modalEnter{0%{opacity:0;transform:scale(.92) translateY(8px)}to{opacity:1;transform:scale(1) translateY(0)}}.modal-header{display:flex;flex-direction:column;align-items:center;gap:.75rem;margin-bottom:1.25rem;text-align:center}.modal-success-icon{width:56px;height:56px;display:flex;align-items:center;justify-content:center;background:var(--success-soft);color:var(--success);border-radius:50%;font-size:1.5rem;font-weight:700}.modal-header h2{font-size:1.25rem;margin:0}.modal-body{display:flex;flex-direction:column;gap:.75rem;margin-bottom:1.25rem}.modal-field{display:flex;align-items:center;justify-content:space-between;padding:.5rem 0;border-bottom:1px solid var(--border-light)}.modal-field:last-child{border-bottom:none}.modal-label{font-size:.75rem;color:var(--text-muted);font-weight:500}.modal-value{font-size:.875rem;color:var(--text-primary);font-weight:600;text-align:right}.modal-value.fee{color:var(--accent)}.modal-close-btn{width:100%;height:46px}.empty-state{text-align:center;padding:3rem 1.5rem;color:var(--text-muted);font-size:.875rem}.leaflet-container{font-family:var(--font-body)!important}.leaflet-control-zoom{display:none!important}.leaflet-popup-content-wrapper{background:var(--bg-elevated)!important;color:var(--text-primary)!important;border-radius:var(--radius-md)!important;box-shadow:var(--shadow-lg)!important;font-family:var(--font-body)!important}.leaflet-popup-tip{background:var(--bg-elevated)!important}.spot-tooltip{font-size:.75rem;line-height:1.4;max-width:200px}.spot-tooltip strong{display:block;margin-bottom:.25rem;font-family:var(--font-display);font-size:.875rem}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media(max-width:1024px){.admin-sidebar{width:60px;padding:.75rem .5rem}.admin-sidebar-label{display:none}.admin-nav-tab{justify-content:center;padding:.625rem;font-size:0}.admin-nav-tab .nav-icon{font-size:1.125rem}.booking-panel,.admin-spot-info{width:300px}}@media(max-width:768px){.navbar{padding:0 .875rem;height:54px}.navbar-title{display:none}.navbar-center{position:absolute;left:50%;transform:translate(-50%)}.navbar-tabs{gap:.125rem}.navbar-tab{padding:.25rem .625rem;font-size:.75rem}.navbar-user-name{display:none}.admin-view{flex-direction:column}.admin-sidebar{width:100%;flex-direction:row;padding:.5rem .75rem;border-right:none;border-bottom:1px solid var(--border);overflow-x:auto}.admin-sidebar-label{display:none}.admin-nav-tab{font-size:.75rem;padding:.5rem .75rem;white-space:nowrap;width:auto}.admin-nav-tab .nav-icon{font-size:.875rem}.user-view-body{flex-direction:column}.map-container{min-height:50vh}.booking-panel{width:100%;border-left:none;border-top:1px solid var(--border);max-height:50vh}.admin-map-layout{flex-direction:column}.admin-spot-info{width:100%;border-left:none;border-top:1px solid var(--border);max-height:50vh}.kpi-grid{grid-template-columns:repeat(2,1fr);gap:.75rem}.auth-page{padding:0;align-items:flex-start;padding-top:2rem}.auth-card{max-width:100%;border-radius:var(--radius-xl) var(--radius-xl) 0 0;box-shadow:none;border:none;background:var(--bg-primary);-webkit-backdrop-filter:none;backdrop-filter:none}.auth-form .form-group input{height:44px}.dashboard,.reservations-page,.my-rentals{padding:1rem}.time-selector{padding:.75rem 1rem;gap:.5rem}.time-selector-group{flex:1;min-width:calc(33.33% - .5rem)}.time-selector-group input{height:36px;font-size:.75rem}}@media(max-width:480px){.kpi-grid{grid-template-columns:1fr}.navbar-tab{font-size:.6875rem;padding:.25rem .5rem}.modal{padding:1.25rem}.auth-card{padding:1.5rem 1.25rem}}
