.error-boundary{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-primary-dark) 100%);padding:20px;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif}.error-content{background:var(--color-surface);border-radius:15px;padding:40px;box-shadow:0 8px 25px #00000026;text-align:center;max-width:500px;width:100%}.error-content h2{color:var(--color-danger);margin-bottom:20px;font-size:2rem}.error-content p{color:var(--color-text-secondary);margin-bottom:30px;font-size:1.1rem;line-height:1.5}.error-details{background:var(--color-neutral-100);border:1px solid var(--color-border-muted);border-radius:8px;padding:15px;margin:20px 0;text-align:left}.error-details summary{cursor:pointer;font-weight:700;color:var(--color-text-secondary);margin-bottom:10px}.error-details pre{background:var(--color-neutral-200);padding:10px;border-radius:4px;overflow-x:auto;font-size:.8rem;color:var(--color-danger);margin:10px 0}.error-actions{display:flex;gap:15px;justify-content:center;flex-wrap:wrap}.retry-btn,.reload-btn{padding:12px 24px;border:none;border-radius:25px;cursor:pointer;font-size:1rem;font-weight:500;transition:all .3s ease;min-width:120px}.retry-btn{background:linear-gradient(135deg,var(--color-success) 0%,var(--color-success-alt) 100%);color:#fff}.reload-btn{background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-primary-dark) 100%);color:#fff}.retry-btn:hover,.reload-btn:hover{transform:translateY(-2px);box-shadow:0 8px 25px #0003}@media(max-width:768px){.error-content{padding:30px 20px}.error-content h2{font-size:1.5rem}.error-actions{flex-direction:column;align-items:center}.retry-btn,.reload-btn{width:100%;max-width:200px}}.reset-overlay{position:fixed;inset:0;background:radial-gradient(circle at 20% 20%,var(--color-bg-start) 0%,var(--color-bg-mid) 40%,var(--color-bg-end) 100%);display:flex;align-items:center;justify-content:center;z-index:1000}.reset-modal{background:var(--color-surface);padding:25px;border-radius:12px;text-align:center;width:380px;max-width:90%;position:relative;box-shadow:0 10px 25px #00000026;animation:reset-modal-pop .35s ease-out;transform-origin:center}@keyframes reset-modal-pop{0%{transform:scale(.85);opacity:0}60%{transform:scale(1.05);opacity:1}to{transform:scale(1)}}.reset-header{margin-bottom:8px}.reset-title{font-size:2.5rem;margin:0 0 .2rem;font-weight:700;letter-spacing:.04em;color:var(--color-text-primary)}.reset-subtitle{margin:0 0 1.5rem;font-size:.95rem;font-weight:500;color:var(--color-text-subtle)}.reset-form{display:flex;flex-direction:column;gap:16px;text-align:left}.reset-form-heading{font-size:1.1rem;font-weight:600;color:var(--color-text-primary);margin:0;text-align:center}.reset-form-desc{font-size:.85rem;color:var(--color-text-secondary);margin:0;text-align:center;line-height:1.45}.reset-input-group{display:flex;flex-direction:column;gap:4px}.reset-input-wrapper{position:relative;display:flex;align-items:center;border:1px solid var(--color-border-input);border-radius:8px;padding:12px 16px;background-color:var(--color-neutral-100);transition:border-color .2s,box-shadow .2s;height:48px;box-sizing:border-box}.reset-input-wrapper:focus-within{border-color:var(--color-primary-focus);box-shadow:0 0 0 2px var(--color-primary-focus-ring)}.reset-input{flex:1;border:none;outline:none;background:transparent;font-size:1rem;color:var(--color-text-primary)}.reset-eye-btn{background:none;border:none;cursor:pointer;padding:4px;margin-left:8px;display:flex;align-items:center;color:var(--color-text-secondary);flex-shrink:0;-webkit-user-select:none;user-select:none;transition:color .2s}.reset-eye-btn svg{width:20px;height:20px;stroke:currentColor}.reset-eye-btn:hover{color:var(--color-primary)}.reset-error{color:var(--color-danger);font-size:.85rem;margin:0}.reset-error--api{text-align:center}.reset-submit-btn{background-color:var(--color-primary);color:#fff;border:none;padding:10px 18px;border-radius:8px;cursor:pointer;font-size:.95rem;font-weight:500;transition:background-color .2s,transform .2s;width:100%;display:flex;align-items:center;justify-content:center;gap:8px}.reset-submit-btn:hover:not(:disabled){background-color:var(--color-primary-dark);transform:translateY(-2px)}.reset-submit-btn:disabled{opacity:.6;cursor:not-allowed}.reset-state{display:flex;flex-direction:column;align-items:center;gap:12px;padding:8px 0 4px}.reset-state-icon{width:56px;height:56px}.reset-state-icon svg{width:100%;height:100%}.reset-state-icon--success{color:var(--color-success)}.reset-state-icon--error{color:var(--color-danger)}.reset-state-title{font-size:1.1rem;font-weight:600;color:var(--color-text-primary);margin:0}.reset-state-msg{color:var(--color-text-secondary);font-size:.9rem;text-align:center;margin:0;line-height:1.5}.spinner-small{width:16px;height:16px;border:2px solid rgba(255,255,255,.4);border-top-color:#fff;border-radius:50%;animation:reset-spin .7s linear infinite;display:inline-block;flex-shrink:0}@keyframes reset-spin{to{transform:rotate(360deg)}}:root{--color-bg-start: #f3f7ff;--color-bg-mid: #eef2f6;--color-bg-end: #e6edf5;--color-surface: #ffffff;--color-text-primary: #333;--color-text-secondary: #666;--color-text-muted: #999;--color-primary: #667eea;--color-primary-dark: #764ba2;--color-primary-focus: #667eea;--color-primary-focus-ring: rgba(102, 126, 234, .25);--color-border-input: #e0e0e0;--color-border-muted: #dee2e6;--color-border-soft: #e9ecef;--color-border-hover: #d0d0d0;--color-neutral-50: #f9fafb;--color-neutral-100: #f8f9fa;--color-neutral-150: #f5f5f5;--color-neutral-200: #e9ecef;--color-neutral-250: #f1f3f5;--color-neutral-300: #e2e3e5;--color-text-subtle: #8b8f97;--color-text-strong: #1a1a2e;--color-danger: #dc3545;--color-success: #28a745;--color-success-dark: #218838;--color-success-alt: #20c997;--color-warning: #ffc107;--color-info: #17a2b8;--color-info-dark: #059669;--color-secondary: #6c757d;--color-secondary-dark: #5a6268;--color-disabled-bg: #c9d4e1;--color-danger-light: #ef4444;--color-status-available: #28a745;--color-status-reserved: #fd7e14;--color-status-occupied: #dc3545;--color-status-cleaning: #007bff;--color-status-unknown: #6c757d}
