:root{--primary: #6366f1;--primary-dark: #4f46e5;--primary-light: #818cf8;--secondary: #64748b;--success: #10b981;--warning: #f59e0b;--danger: #ef4444;--info: #06b6d4;--bg-dark: #0f172a;--bg-card: #1e293b;--bg-input: #334155;--bg-hover: #475569;--text-primary: #f8fafc;--text-secondary: #94a3b8;--text-muted: #64748b;--border-color: #334155;--border-radius: 12px;--border-radius-sm: 8px;--shadow: 0 4px 6px -1px rgba(0, 0, 0, .3);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .3);--transition: all .2s ease}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:var(--bg-dark);color:var(--text-primary);line-height:1.6;min-height:100vh}input,select,button,textarea{font-family:inherit}.loading-screen{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;gap:1rem;color:var(--text-secondary)}.spinner{width:32px;height:32px;border:3px solid var(--border-color);border-top-color:var(--primary);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.login-container{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:2rem;background:linear-gradient(135deg,var(--bg-dark) 0%,#1a1a2e 50%,var(--bg-dark) 100%)}.login-card{background:var(--bg-card);border-radius:var(--border-radius);padding:3rem;width:100%;max-width:420px;box-shadow:var(--shadow-lg);border:1px solid var(--border-color)}.login-header{text-align:center;margin-bottom:2rem}.login-logo{width:80px;height:80px;background:linear-gradient(135deg,var(--primary) 0%,var(--primary-dark) 100%);border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 1.5rem}.logo-icon{font-size:2.5rem}.login-header h1{font-size:1.75rem;font-weight:700;margin-bottom:.25rem}.login-header p{color:var(--text-secondary)}.login-form .form-group{margin-bottom:1.25rem}.login-form label{display:block;font-size:.875rem;font-weight:500;margin-bottom:.5rem;color:var(--text-secondary)}.login-form input{width:100%;padding:.875rem 1rem;background:var(--bg-input);border:1px solid var(--border-color);border-radius:var(--border-radius-sm);color:var(--text-primary);font-size:1rem;transition:var(--transition)}.login-form input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #6366f133}.login-form input::placeholder{color:var(--text-muted)}.password-input{position:relative}.password-input input{padding-right:3rem}.password-toggle{position:absolute;right:1rem;top:50%;transform:translateY(-50%);background:none;border:none;color:var(--text-muted);cursor:pointer;padding:0;display:flex}.password-toggle:hover{color:var(--text-primary)}.login-button{width:100%;padding:1rem;background:linear-gradient(135deg,var(--primary) 0%,var(--primary-dark) 100%);border:none;border-radius:var(--border-radius-sm);color:#fff;font-size:1rem;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:.5rem;transition:var(--transition)}.login-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px #6366f166}.login-button:disabled{opacity:.7;cursor:not-allowed}.error-message{display:flex;align-items:center;gap:.5rem;padding:.875rem 1rem;background:#ef44441a;border:1px solid rgba(239,68,68,.3);border-radius:var(--border-radius-sm);color:#fca5a5;margin-bottom:1.25rem;font-size:.875rem}.dashboard{display:flex;min-height:100vh}.sidebar{width:260px;background:var(--bg-card);border-right:1px solid var(--border-color);display:flex;flex-direction:column;position:fixed;height:100vh;z-index:100}.sidebar-header{padding:1.5rem;display:flex;align-items:center;gap:.75rem;border-bottom:1px solid var(--border-color)}.sidebar-logo{font-size:1.75rem}.sidebar-header h2{font-size:1.25rem;font-weight:700;background:linear-gradient(135deg,var(--primary-light),var(--primary));-webkit-background-clip:text;-webkit-text-fill-color:transparent}.sidebar-nav{flex:1;padding:1rem;display:flex;flex-direction:column;gap:.25rem}.nav-item{display:flex;align-items:center;gap:.75rem;padding:.875rem 1rem;background:transparent;border:none;border-radius:var(--border-radius-sm);color:var(--text-secondary);font-size:.9375rem;font-weight:500;cursor:pointer;transition:var(--transition);width:100%;text-align:left}.nav-item:hover{background:var(--bg-input);color:var(--text-primary)}.nav-item.active{background:linear-gradient(135deg,#6366f133,#6366f11a);color:var(--primary-light)}.sidebar-footer{padding:1rem 1.5rem;border-top:1px solid var(--border-color)}.sidebar-footer p{font-size:.75rem;color:var(--text-muted)}.main-content{flex:1;margin-left:260px;padding:2rem;min-height:100vh}.header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem}.header h1{font-size:1.75rem;font-weight:700}.header-right{display:flex;align-items:center;gap:1rem}.user-name{color:var(--text-secondary);font-size:.875rem}.icon-button{width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--border-radius-sm);color:var(--text-secondary);cursor:pointer;transition:var(--transition)}.icon-button:hover{background:var(--bg-input);color:var(--text-primary)}.logout-button{display:flex;align-items:center;gap:.5rem;padding:.625rem 1rem;background:#ef44441a;border:1px solid rgba(239,68,68,.3);border-radius:var(--border-radius-sm);color:#fca5a5;font-size:.875rem;font-weight:500;cursor:pointer;transition:var(--transition)}.logout-button:hover{background:#ef444433}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1.5rem;margin-bottom:2rem}.stat-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--border-radius);padding:1.5rem;display:flex;align-items:center;gap:1rem}.stat-icon{width:56px;height:56px;border-radius:var(--border-radius-sm);display:flex;align-items:center;justify-content:center}.stat-info{display:flex;flex-direction:column}.stat-value{font-size:1.75rem;font-weight:700}.stat-label{color:var(--text-secondary);font-size:.875rem}.content-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--border-radius);overflow:hidden}.card-header{display:flex;justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;border-bottom:1px solid var(--border-color)}.card-header h2{font-size:1.125rem;font-weight:600}.primary-button{display:flex;align-items:center;gap:.5rem;padding:.625rem 1rem;background:linear-gradient(135deg,var(--primary) 0%,var(--primary-dark) 100%);border:none;border-radius:var(--border-radius-sm);color:#fff;font-size:.875rem;font-weight:500;cursor:pointer;transition:var(--transition)}.primary-button:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #6366f166}.primary-button:disabled{opacity:.7;cursor:not-allowed}.secondary-button{display:flex;align-items:center;gap:.5rem;padding:.625rem 1rem;background:var(--bg-input);border:1px solid var(--border-color);border-radius:var(--border-radius-sm);color:var(--text-primary);font-size:.875rem;font-weight:500;cursor:pointer;transition:var(--transition)}.secondary-button:hover{background:var(--bg-hover)}.booking-table-container{padding:1.5rem}.table-toolbar{margin-bottom:1rem}.search-box{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;background:var(--bg-input);border:1px solid var(--border-color);border-radius:var(--border-radius-sm);width:320px}.search-box input{flex:1;background:transparent;border:none;color:var(--text-primary);font-size:.875rem}.search-box input:focus{outline:none}.search-box input::placeholder{color:var(--text-muted)}.search-box svg{color:var(--text-muted)}.table-wrapper{overflow-x:auto}.booking-table{width:100%;border-collapse:collapse}.booking-table th,.booking-table td{padding:1rem;text-align:left;border-bottom:1px solid var(--border-color)}.booking-table th{background:var(--bg-input);font-weight:600;font-size:.8125rem;text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary)}.booking-table th.sortable{cursor:pointer}.booking-table th.sortable:hover{color:var(--text-primary)}.th-content{display:flex;align-items:center;gap:.5rem}.booking-table tbody tr:hover{background:#6366f10d}.customer-cell{display:flex;flex-direction:column}.customer-name{font-weight:500}.customer-phone{font-size:.8125rem;color:var(--text-secondary)}.datetime-cell{display:flex;flex-direction:column}.datetime-cell .date{font-weight:500}.datetime-cell .time{font-size:.8125rem;color:var(--text-secondary)}.assignments-cell{display:flex;flex-wrap:wrap;gap:.375rem}.assignment-tag{padding:.25rem .5rem;background:#6366f126;border-radius:4px;font-size:.75rem;color:var(--primary-light)}.no-assignments{color:var(--text-muted);font-style:italic;font-size:.875rem}.status-select{padding:.375rem .625rem;border-radius:4px;border:none;font-size:.8125rem;font-weight:500;cursor:pointer}.status-select.pending{background:#f59e0b33;color:#fbbf24}.status-select.confirmed{background:#10b98133;color:#34d399}.status-select.cancelled{background:#ef444433;color:#f87171}.status-select.completed{background:#6366f133;color:#a5b4fc}.actions-cell{display:flex;gap:.5rem}.action-btn{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:transparent;border:1px solid var(--border-color);border-radius:6px;color:var(--text-secondary);cursor:pointer;transition:var(--transition)}.action-btn:hover{background:var(--bg-input);color:var(--text-primary)}.action-btn.delete:hover{background:#ef44441a;border-color:#ef44444d;color:#f87171}.empty-row{text-align:center!important;padding:3rem!important;color:var(--text-muted)}.table-loading{display:flex;flex-direction:column;align-items:center;padding:4rem 2rem;gap:1rem;color:var(--text-secondary)}.resource-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem;padding:1.5rem}.resource-card{background:var(--bg-input);border:1px solid var(--border-color);border-radius:var(--border-radius-sm);padding:1.25rem;display:flex;align-items:flex-start;gap:1rem;transition:var(--transition)}.resource-card:hover{border-color:var(--primary)}.resource-avatar{width:48px;height:48px;background:linear-gradient(135deg,var(--primary),var(--primary-dark));border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.25rem;font-weight:600;color:#fff;flex-shrink:0}.resource-icon{width:48px;height:48px;background:var(--bg-card);border-radius:var(--border-radius-sm);display:flex;align-items:center;justify-content:center;color:var(--primary-light);flex-shrink:0}.resource-info h3{font-size:1rem;font-weight:600;margin-bottom:.25rem}.resource-info p{font-size:.8125rem;color:var(--text-secondary);margin-bottom:.5rem}.status-badge{display:inline-block;padding:.25rem .5rem;border-radius:4px;font-size:.6875rem;font-weight:600;text-transform:uppercase}.status-badge.active{background:#10b98133;color:#34d399}.status-badge.inactive,.status-badge.on_leave{background:#64748b33;color:#94a3b8}.package-card{flex-direction:column;gap:.75rem}.package-header{display:flex;justify-content:space-between;align-items:flex-start;width:100%}.package-description{font-size:.8125rem;color:var(--text-secondary);margin:0}.package-details{display:flex;justify-content:space-between;width:100%;padding-top:.75rem;border-top:1px solid var(--border-color)}.package-duration{color:var(--text-secondary);font-size:.8125rem}.package-price{font-weight:600;color:var(--success)}.modal-overlay{position:fixed;inset:0;background:#000000b3;display:flex;align-items:center;justify-content:center;padding:2rem;z-index:200;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.modal-content{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--border-radius);width:100%;max-width:600px;max-height:90vh;display:flex;flex-direction:column;overflow:hidden}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;border-bottom:1px solid var(--border-color);flex-shrink:0}.modal-header h2{font-size:1.25rem;font-weight:600}.close-button{width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;border-radius:50%;color:var(--text-secondary);cursor:pointer;transition:var(--transition)}.close-button:hover{background:var(--bg-input);color:var(--text-primary)}.booking-form-modal{max-width:640px}.booking-form-modal form{display:flex;flex-direction:column;overflow:hidden;flex:1;min-height:0}.booking-form-modal .form-step{overflow-y:auto;flex:1;min-height:0}.step-indicator{display:flex;align-items:center;justify-content:center;padding:1.5rem;gap:1rem;flex-shrink:0}.step{display:flex;align-items:center;gap:.5rem;color:var(--text-muted)}.step span{width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:var(--bg-input);border-radius:50%;font-size:.75rem;font-weight:600}.step p{font-size:.875rem}.step.active{color:var(--primary-light)}.step.active span{background:var(--primary);color:#fff}.step-line{width:60px;height:2px;background:var(--border-color)}.form-step{padding:1.5rem}.form-error{display:flex;align-items:center;gap:.5rem;padding:.875rem 1rem;background:#ef44441a;border:1px solid rgba(239,68,68,.3);border-radius:var(--border-radius-sm);color:#fca5a5;margin-bottom:1rem;font-size:.875rem}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1rem}.form-group{display:flex;flex-direction:column;gap:.5rem}.form-group label{font-size:.8125rem;font-weight:500;color:var(--text-secondary)}.form-group input,.form-group select{padding:.75rem 1rem;background:var(--bg-input);border:1px solid var(--border-color);border-radius:var(--border-radius-sm);color:var(--text-primary);font-size:.9375rem;transition:var(--transition)}.form-group input:focus,.form-group select:focus{outline:none;border-color:var(--primary)}.form-group select{cursor:pointer}.field-error{font-size:.75rem;color:#f87171}.package-summary{background:var(--bg-input);border:1px solid var(--border-color);border-radius:var(--border-radius-sm);padding:1rem;margin-top:1rem}.package-summary h4{font-size:.8125rem;color:var(--text-secondary);margin-bottom:.5rem}.package-summary p{font-size:.875rem;margin-bottom:.25rem}.package-summary .total{font-weight:600;color:var(--success);margin-top:.5rem;padding-top:.5rem;border-top:1px solid var(--border-color)}.step-description{color:var(--text-secondary);margin-bottom:1rem}.assignments-list{display:flex;flex-direction:column;gap:1rem}.assignment-row{background:var(--bg-input);border:1px solid var(--border-color);border-radius:var(--border-radius-sm);padding:1rem}.assignment-header h4{font-size:.9375rem;margin-bottom:.75rem;color:var(--primary-light)}.assignment-fields{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.form-actions{display:flex;justify-content:flex-end;gap:.75rem;margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid var(--border-color)}.calendar-container{padding:1.5rem}.calendar-toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;flex-wrap:wrap;gap:1rem}.date-navigation{display:flex;align-items:center;gap:.5rem}.nav-btn{width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:var(--bg-input);border:1px solid var(--border-color);border-radius:var(--border-radius-sm);color:var(--text-secondary);cursor:pointer;transition:var(--transition)}.nav-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.date-picker-wrapper{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;background:var(--bg-input);border:1px solid var(--border-color);border-radius:var(--border-radius-sm);color:var(--text-secondary)}.date-input{background:transparent;border:none;color:var(--text-primary);font-size:.875rem;cursor:pointer}.date-input::-webkit-calendar-picker-indicator{filter:invert(1);cursor:pointer}.today-btn{padding:.5rem 1rem;background:var(--primary);border:none;border-radius:var(--border-radius-sm);color:#fff;font-size:.875rem;font-weight:500;cursor:pointer;transition:var(--transition)}.today-btn:hover{background:var(--primary-dark)}.current-date-display{font-size:1rem;font-weight:600;color:var(--text-primary)}.calendar-grid-wrapper{overflow-x:auto;border:1px solid var(--border-color);border-radius:var(--border-radius-sm)}.calendar-grid{display:grid;min-width:1200px}.calendar-header{display:grid;grid-template-columns:120px repeat(15,1fr);background:var(--bg-input);border-bottom:1px solid var(--border-color)}.room-header-cell,.time-header-cell{padding:.75rem .5rem;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary);text-align:center;border-right:1px solid var(--border-color)}.room-header-cell{text-align:left;padding-left:1rem}.time-header-cell:last-child{border-right:none}.room-row{display:grid;grid-template-columns:120px repeat(15,1fr);border-bottom:1px solid var(--border-color);min-height:80px}.room-row:last-child{border-bottom:none}.room-label-cell{display:flex;flex-direction:column;justify-content:center;padding:.75rem 1rem;background:var(--bg-input);border-right:1px solid var(--border-color)}.room-number{font-weight:600;font-size:.875rem;color:var(--text-primary)}.room-type{font-size:.6875rem;color:var(--text-muted);text-transform:uppercase}.time-slot-cell{border-right:1px solid var(--border-color);min-height:80px}.time-slot-cell:last-child{border-right:none}.time-slot-cell.empty{background:transparent}.time-slot-cell.empty:hover{background:#6366f10d}.time-slot-cell.booking-slot{padding:.375rem}.time-slot-cell.booking-slot.pending{background:linear-gradient(135deg,#f59e0b26,#f59e0b0d);border-left:3px solid #f59e0b}.time-slot-cell.booking-slot.confirmed{background:linear-gradient(135deg,#10b98126,#10b9810d);border-left:3px solid #10b981}.time-slot-cell.booking-slot.completed{background:linear-gradient(135deg,#6366f126,#6366f10d);border-left:3px solid #6366f1}.time-slot-cell.booking-slot.cancelled{background:linear-gradient(135deg,#ef44441a,#ef444405);border-left:3px solid #ef4444;opacity:.6}.booking-card{height:100%;display:flex;flex-direction:column;gap:.25rem}.booking-customer{font-size:.8125rem;font-weight:600;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.booking-details{display:flex;flex-direction:column;gap:.125rem}.booking-therapist,.booking-package{font-size:.6875rem;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.booking-price{font-size:.75rem;font-weight:600;color:var(--success);margin-top:auto}.no-rooms-message{padding:3rem;text-align:center;color:var(--text-muted);grid-column:1 / -1}.calendar-legend{display:flex;gap:1.5rem;margin-top:1rem;padding-top:1rem;border-top:1px solid var(--border-color);flex-wrap:wrap}.legend-item{display:flex;align-items:center;gap:.5rem;font-size:.8125rem;color:var(--text-secondary)}.legend-dot{width:12px;height:12px;border-radius:2px}.legend-dot.pending{background:#f59e0b}.legend-dot.confirmed{background:#10b981}.legend-dot.completed{background:#6366f1}.legend-dot.cancelled{background:#ef4444}@media(max-width:768px){.sidebar{width:72px}.sidebar-header h2,.sidebar-nav .nav-item span,.sidebar-footer{display:none}.main-content{margin-left:72px}.form-row,.assignment-fields{grid-template-columns:1fr}.header{flex-direction:column;align-items:flex-start;gap:1rem}.header-right{width:100%;justify-content:flex-end}.stats-grid{grid-template-columns:1fr}.modal-overlay{padding:.5rem;align-items:flex-start}.modal-content{max-height:100vh;border-radius:var(--border-radius-sm);margin-top:.5rem}}.table-toolbar{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.date-filter{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;background:var(--bg-input);border:1px solid var(--border-color);border-radius:var(--border-radius-sm);position:relative}.date-filter svg{color:var(--text-muted)}.date-filter-input{background:transparent;border:none;color:var(--text-primary);font-size:.875rem;cursor:pointer}.date-filter-input:focus{outline:none}.date-filter-input::-webkit-calendar-picker-indicator{filter:invert(1);cursor:pointer}.clear-date-btn{display:flex;align-items:center;justify-content:center;width:20px;height:20px;background:var(--bg-hover);border:none;border-radius:50%;color:var(--text-secondary);cursor:pointer;transition:var(--transition)}.clear-date-btn:hover{background:#ef444433;color:#f87171}.proof-indicator{display:flex;align-items:center;justify-content:center}.proof-indicator .has-proof{color:var(--success)}.proof-indicator .no-proof-icon{color:var(--text-muted)}.booking-detail-modal{max-width:540px}.close-btn{width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;border-radius:50%;color:var(--text-secondary);cursor:pointer;transition:var(--transition)}.close-btn:hover{background:var(--bg-input);color:var(--text-primary)}.modal-body{padding:1.5rem;overflow-y:auto;flex:1}.detail-status{display:flex;justify-content:center;margin-bottom:1.5rem}.status-badge.large{padding:.5rem 1rem;font-size:.8125rem}.status-badge.pending{background:#f59e0b33;color:#fbbf24}.status-badge.confirmed{background:#10b98133;color:#34d399}.status-badge.cancelled{background:#ef444433;color:#f87171}.status-badge.completed{background:#6366f133;color:#a5b4fc}.detail-section{margin-bottom:1.5rem}.detail-section h3{font-size:.875rem;font-weight:600;color:var(--text-secondary);margin-bottom:.75rem;text-transform:uppercase;letter-spacing:.05em}.detail-row{display:flex;align-items:center;gap:.75rem;padding:.5rem 0;border-bottom:1px solid var(--border-color)}.detail-row:last-child{border-bottom:none}.detail-row svg{color:var(--primary-light);flex-shrink:0}.detail-label{color:var(--text-muted);font-size:.875rem;min-width:80px}.detail-value{color:var(--text-primary);font-weight:500}.detail-value.price{color:var(--success);font-weight:600}.assignment-detail{background:var(--bg-input);border-radius:var(--border-radius-sm);padding:.75rem;margin-bottom:.5rem}.assignment-detail:last-child{margin-bottom:0}.assignment-detail .detail-row{border-bottom:none;padding:.25rem 0}.transaction-proof-preview{border:1px solid var(--border-color);border-radius:var(--border-radius-sm);overflow:hidden}.proof-image{width:100%;max-height:300px;object-fit:contain;background:var(--bg-dark)}.no-proof{display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:2rem;background:var(--bg-input);border-radius:var(--border-radius-sm);color:var(--text-muted)}.modal-footer{display:flex;justify-content:flex-end;gap:.75rem;padding:1rem 1.5rem;border-top:1px solid var(--border-color);flex-shrink:0}.booking-edit-modal{max-width:480px}.proof-upload-section{display:flex;flex-direction:column;gap:.75rem}.upload-placeholder{display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:2rem;background:var(--bg-input);border:2px dashed var(--border-color);border-radius:var(--border-radius-sm);cursor:pointer;transition:var(--transition)}.upload-placeholder:hover{border-color:var(--primary);background:#6366f10d}.upload-placeholder svg{color:var(--text-muted)}.upload-placeholder span{color:var(--text-secondary);font-size:.875rem}.upload-hint{font-size:.75rem!important;color:var(--text-muted)!important}.upload-btn{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem 1rem;background:var(--bg-input);border:1px solid var(--border-color);border-radius:var(--border-radius-sm);color:var(--text-primary);font-size:.875rem;cursor:pointer;transition:var(--transition)}.upload-btn:hover{background:var(--bg-hover);border-color:var(--primary)}.proof-preview-container{position:relative;border:1px solid var(--border-color);border-radius:var(--border-radius-sm);overflow:hidden}.proof-preview{width:100%;max-height:200px;object-fit:contain;background:var(--bg-dark)}.remove-proof-btn{display:flex;align-items:center;gap:.375rem;position:absolute;top:.5rem;right:.5rem;padding:.375rem .625rem;background:#ef4444e6;border:none;border-radius:4px;color:#fff;font-size:.75rem;cursor:pointer;transition:var(--transition)}.remove-proof-btn:hover{background:#ef4444}.time-slot-cell.booking-slot.clickable{cursor:pointer;transition:var(--transition)}.time-slot-cell.booking-slot.clickable:hover{transform:scale(1.02);box-shadow:0 4px 12px #0000004d;z-index:10;position:relative}.time-slot-cell.booking-slot.clickable:active{transform:scale(.98)}.therapist-form-modal{max-width:500px}.therapist-form-modal form{padding:1.5rem}.therapist-form-modal .form-group{margin-bottom:1rem}.therapist-form-modal textarea{padding:.75rem 1rem;background:var(--bg-input);border:1px solid var(--border-color);border-radius:var(--border-radius-sm);color:var(--text-primary);font-size:.9375rem;font-family:inherit;resize:vertical;width:100%;transition:var(--transition)}.therapist-form-modal textarea:focus{outline:none;border-color:var(--primary)}.form-hint{display:block;margin-top:.25rem;font-size:.75rem;color:var(--text-muted)}.resource-card{position:relative}.resource-actions{display:flex;gap:.375rem;margin-left:auto;flex-shrink:0}.resource-actions .icon-button{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:transparent;border:1px solid var(--border-color);border-radius:6px;color:var(--text-secondary);cursor:pointer;transition:var(--transition)}.resource-actions .icon-button:hover{background:var(--bg-hover);color:var(--text-primary)}.resource-actions .icon-button.edit:hover{border-color:var(--primary);color:var(--primary-light)}.resource-actions .icon-button.delete:hover{background:#ef44441a;border-color:#ef44444d;color:#f87171}.specialties-tags{display:flex;flex-wrap:wrap;gap:.375rem;margin-bottom:.5rem}.specialty-tag{padding:.125rem .5rem;background:#6366f126;border-radius:4px;font-size:.6875rem;color:var(--primary-light)}.specialty-tag.more{background:#64748b33;color:var(--text-secondary)}.resource-bio{font-size:.75rem!important;color:var(--text-muted)!important;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;line-clamp:2;overflow:hidden}.confirm-modal{max-width:400px;text-align:center;padding:2rem}.confirm-icon{width:64px;height:64px;margin:0 auto 1rem;background:#f59e0b26;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#f59e0b}.confirm-modal h3{font-size:1.25rem;margin-bottom:.5rem}.confirm-modal p{color:var(--text-secondary);margin-bottom:.5rem}.confirm-warning{font-size:.8125rem;color:var(--text-muted)!important}.danger-button{display:flex;align-items:center;gap:.5rem;padding:.625rem 1rem;background:#ef4444;border:none;border-radius:var(--border-radius-sm);color:#fff;font-size:.875rem;font-weight:500;cursor:pointer;transition:var(--transition)}.danger-button:hover:not(:disabled){background:#dc2626}.danger-button:disabled{opacity:.7;cursor:not-allowed}.empty-state{padding:3rem 1.5rem;text-align:center;color:var(--text-muted)}.status-badge.on-leave{background:#f59e0b33;color:#fbbf24}
