.login-container{display:flex;justify-content:center;align-items:center;min-height:100vh;background:linear-gradient(135deg,#667eea,#764ba2);padding:20px}.login-card{background:#fff;border-radius:12px;box-shadow:0 10px 40px #0000001a;padding:40px;width:100%;max-width:400px}.login-title{font-size:28px;font-weight:700;color:#333;margin-bottom:8px;text-align:center}.login-subtitle{color:#666;text-align:center;margin-bottom:32px;font-size:14px}.login-form{display:flex;flex-direction:column;gap:20px}.form-group input{padding:12px;border:1px solid #ddd;border-radius:6px;font-size:14px;transition:border-color .2s}.form-group input:focus{outline:none;border-color:#667eea}.form-group input:disabled{background-color:#f5f5f5;cursor:not-allowed}.login-button{padding:12px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:6px;font-size:16px;font-weight:600;cursor:pointer;transition:opacity .2s;margin-top:8px}.login-button:hover:not(:disabled){opacity:.9}.login-button:disabled{opacity:.6;cursor:not-allowed}.error-message{background-color:#fee;color:#c33;padding:12px;border-radius:6px;font-size:14px;border:1px solid #fcc}.dashboard{min-height:100vh;background-color:#f5f5f5}.dashboard-header{background:#fff;box-shadow:0 2px 4px #0000001a;padding:20px 0;margin-bottom:32px}.header-content{max-width:1200px;margin:0 auto;padding:0 24px;display:flex;justify-content:space-between;align-items:center}.dashboard-header h1{font-size:24px;font-weight:700;color:#333;margin:0}.header-actions{display:flex;align-items:center;gap:16px}.user-info{color:#666;font-size:14px}.logout-button{padding:8px 16px;background-color:#dc3545;color:#fff;border:none;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:background-color .2s}.logout-button:hover{background-color:#c82333}.dashboard-content{max-width:1200px;margin:0 auto;padding:0 24px}.content-card{background:#fff;border-radius:8px;box-shadow:0 2px 8px #0000001a;padding:32px}.content-card h2{font-size:24px;font-weight:600;color:#333;margin-bottom:8px}.card-description{color:#666;font-size:14px;margin-bottom:24px}.dashboard-nav{max-width:1200px;margin:0 auto 32px;padding:0 24px;display:flex;gap:12px;border-bottom:2px solid #e0e0e0}.nav-button{padding:12px 24px;background:transparent;color:#666;border:none;border-bottom:3px solid transparent;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s;margin-bottom:-2px}.nav-button:hover{color:#667eea;background-color:#f8f9fa}.nav-button.active{color:#667eea;border-bottom-color:#667eea}.home-container{text-align:center;padding:60px 24px}.home-container h2{font-size:32px;font-weight:700;color:#333;margin-bottom:16px}.home-description{font-size:16px;color:#666;margin-bottom:48px}.action-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:32px;max-width:800px;margin:0 auto}.action-card{background:#fff;border-radius:12px;box-shadow:0 4px 12px #0000001a;padding:40px 32px;cursor:pointer;transition:all .3s;border:2px solid transparent}.action-card:hover{transform:translateY(-4px);box-shadow:0 8px 24px #00000026;border-color:#667eea}.action-icon{font-size:48px;margin-bottom:16px}.action-card h3{font-size:20px;font-weight:600;color:#333;margin-bottom:12px}.action-card p{font-size:14px;color:#666;line-height:1.6;margin:0}.card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.card-header h2{margin-bottom:0}.add-button{padding:10px 20px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:opacity .2s}.add-button:hover{opacity:.9}.form-section{margin-bottom:32px;padding-bottom:32px;border-bottom:1px solid #e0e0e0}.form-section h3{font-size:18px;font-weight:600;color:#333;margin-bottom:20px}.list-section{margin-top:24px}.wallet-credit-form{display:flex;flex-direction:column;gap:20px}.form-group textarea{resize:vertical;min-height:80px}.idempotency-key-group{display:flex;gap:8px}.idempotency-key-group input{flex:1}.generate-key-button{padding:12px 16px;background-color:#6c757d;color:#fff;border:none;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:background-color .2s;white-space:nowrap}.generate-key-button:hover:not(:disabled){background-color:#5a6268}.generate-key-button:disabled{opacity:.6;cursor:not-allowed}.discount-code-form{display:flex;flex-direction:column;gap:20px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}@media (max-width: 768px){.form-row{grid-template-columns:1fr}}.form-group{display:flex;flex-direction:column;gap:8px}.form-group label{font-size:14px;font-weight:500;color:#333}.form-group input[type=checkbox]{width:auto;margin-top:4px}.form-group input,.form-group select,.form-group textarea{padding:12px;border:1px solid #ddd;border-radius:6px;font-size:14px;font-family:inherit;transition:border-color .2s}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:#667eea}.form-group input:disabled,.form-group select:disabled,.form-group textarea:disabled{background-color:#f5f5f5;cursor:not-allowed}.form-hint{color:#666;font-size:12px;margin-top:-4px}.submit-button{padding:14px 24px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:6px;font-size:16px;font-weight:600;cursor:pointer;transition:opacity .2s;margin-top:8px}.submit-button:hover:not(:disabled){opacity:.9}.submit-button:disabled{opacity:.6;cursor:not-allowed}.alert-success{background-color:#efe;color:#3c3;border:1px solid #cfc}.alert-success h4{margin:0 0 12px;font-size:16px;font-weight:600}.success-details{display:flex;flex-direction:column;gap:8px}.success-details p{margin:0}.success-details strong{display:inline-block;min-width:140px}.discount-code-list{display:flex;flex-direction:column;gap:20px}.codes-table-container{overflow-x:auto;border:1px solid #ddd;border-radius:6px}.codes-table{width:100%;border-collapse:collapse;background-color:#fff}.codes-table thead{background-color:#f8f9fa}.codes-table th{padding:12px;text-align:left;font-weight:600;font-size:14px;color:#333;border-bottom:2px solid #ddd}.codes-table td{padding:12px;font-size:14px;color:#555;border-bottom:1px solid #eee}.codes-table tbody tr:hover{background-color:#f8f9fa}.codes-table tbody tr.inactive{opacity:.6}.delete-button{padding:6px 12px;background-color:#dc3545;color:#fff;border:none;border-radius:4px;font-size:12px;font-weight:500;cursor:pointer;transition:background-color .2s}.delete-button:hover:not(:disabled){background-color:#c82333}.delete-button:disabled{opacity:.6;cursor:not-allowed}@media (max-width: 768px){.codes-table-container{font-size:12px}.codes-table th,.codes-table td{padding:8px}}.parking-spaces-list{display:flex;flex-direction:column;gap:20px}.spaces-table-container{overflow-x:auto;border:1px solid #ddd;border-radius:6px}.spaces-table{width:100%;border-collapse:collapse;background-color:#fff}.spaces-table thead{background-color:#f8f9fa}.spaces-table th{padding:12px;text-align:left;font-weight:600;font-size:14px;color:#333;border-bottom:2px solid #ddd}.spaces-table td{padding:12px;font-size:14px;color:#555;border-bottom:1px solid #eee}.spaces-table tbody tr:hover{background-color:#f8f9fa}.spaces-table tbody tr.inactive{opacity:.6}.location-cell{max-width:300px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.status-badge.active{background-color:#d4edda;color:#155724}.status-badge.inactive{background-color:#f8d7da;color:#721c24}@media (max-width: 768px){.spaces-table-container{font-size:12px}.spaces-table th,.spaces-table td{padding:8px}.location-cell{max-width:150px}}.bookings-list{display:flex;flex-direction:column;gap:20px}.loading{text-align:center;padding:40px;color:#666}.empty-state{text-align:center;padding:40px;color:#666;background-color:#f9f9f9;border-radius:6px}.list-header{display:flex;justify-content:space-between;align-items:center}.list-header h3{margin:0;font-size:18px;font-weight:600;color:#333}.refresh-button{padding:8px 16px;background-color:#6c757d;color:#fff;border:none;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:background-color .2s}.refresh-button:hover:not(:disabled){background-color:#5a6268}.refresh-button:disabled{opacity:.6;cursor:not-allowed}.bookings-table-container{overflow-x:auto;border:1px solid #ddd;border-radius:6px}.bookings-table{width:100%;border-collapse:collapse;background-color:#fff}.bookings-table thead{background-color:#f8f9fa}.bookings-table th{padding:12px;text-align:left;font-weight:600;font-size:14px;color:#333;border-bottom:2px solid #ddd}.bookings-table td{padding:12px;font-size:14px;color:#555;border-bottom:1px solid #eee}.bookings-table tbody tr:hover{background-color:#f8f9fa}.bookings-table tbody tr.inactive{opacity:.6}.user-cell{max-width:250px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.discount-code-cell{max-width:140px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.status-badge{display:inline-block;padding:4px 8px;border-radius:4px;font-size:12px;font-weight:500}.status-badge.status-confirmed{background-color:#d4edda;color:#155724}.status-badge.status-pending{background-color:#fff3cd;color:#856404}.status-badge.status-cancelled{background-color:#f8d7da;color:#721c24}.status-badge.status-expired{background-color:#e2e3e5;color:#383d41}.status-badge.status-ended{background-color:#d1ecf1;color:#0c5460}.status-badge.status-awaiting{background-color:#ffeaa7;color:#856404}.status-badge.status-unknown{background-color:#e9ecef;color:#495057}.alert{padding:16px;border-radius:6px;font-size:14px}.alert-error{background-color:#fee;color:#c33;border:1px solid #fcc}@media (max-width: 768px){.bookings-table-container{font-size:12px}.bookings-table th,.bookings-table td{padding:8px}.user-cell{max-width:150px}}.users-list{display:flex;flex-direction:column;gap:20px}.users-list.loading{text-align:center;padding:40px;color:#666}.users-list .empty-state{text-align:center;padding:40px;color:#666;background-color:#f9f9f9;border-radius:6px}.users-list .list-header{display:flex;justify-content:space-between;align-items:center}.users-list .list-header h3{margin:0;font-size:18px;font-weight:600;color:#333}.users-list .refresh-button{padding:8px 16px;background-color:#6c757d;color:#fff;border:none;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:background-color .2s}.users-list .refresh-button:hover:not(:disabled){background-color:#5a6268}.users-list .refresh-button:disabled{opacity:.6;cursor:not-allowed}.users-table-container{overflow-x:auto;border:1px solid #ddd;border-radius:6px}.users-table{width:100%;border-collapse:collapse;background-color:#fff}.users-table thead{background-color:#f8f9fa}.users-table th{padding:12px;text-align:left;font-weight:600;font-size:14px;color:#333;border-bottom:2px solid #ddd}.users-table td{padding:12px;font-size:14px;color:#555;border-bottom:1px solid #eee}.users-table tbody tr:hover{background-color:#f8f9fa}.users-list .alert{padding:16px;border-radius:6px;font-size:14px}.users-list .alert-error{background-color:#fee;color:#c33;border:1px solid #fcc}@media (max-width: 768px){.users-table-container{font-size:12px}.users-table th,.users-table td{padding:8px}}.app{min-height:100vh}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#f5f5f5}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}
