.profile-overview__card{max-width:600px}.profile-overview__form{grid-template-columns:1fr 1fr;gap:1rem;display:grid}.profile-overview__field{flex-direction:column;gap:.35rem;display:flex}.profile-overview__field--full{grid-column:1/-1}.profile-overview__readonly-with-status{align-items:center;gap:.5rem;display:flex}.profile-overview__readonly-with-status input{flex:1}.profile-overview__status-icon{flex:none;width:1.15rem;height:1.15rem}.profile-overview__status-icon--verified{color:#16a34a}.profile-overview__status-icon--unverified{color:#dc2626}.profile-overview__inline-btn{white-space:nowrap;padding:.45rem .7rem;font-size:.78rem}.profile-overview__sms-verify{gap:.5rem;margin-top:.5rem;display:flex}.profile-overview__sms-verify input{max-width:170px}.profile-overview__avatar-actions{color:#6b7280;flex-wrap:wrap;align-items:center;gap:.65rem;margin-top:.5rem;font-size:.78rem;display:flex}.profile-overview__avatar-file-input{display:none}.profile-overview__avatar-editor{grid-template-columns:180px 1fr;gap:1rem;margin-top:.75rem;display:grid}.profile-overview__crop-frame{touch-action:none;background:#f3f4f6;border:1px solid #d1d5db;border-radius:999px;width:180px;height:180px;position:relative;overflow:hidden}.profile-overview__crop-image{object-fit:cover;transform-origin:50%;cursor:grab;-webkit-user-select:none;user-select:none;position:absolute;top:0;left:0}.profile-overview__crop-image--dragging{cursor:grabbing}.profile-overview__crop-controls{flex-direction:column;gap:.65rem;display:flex}.profile-overview__crop-controls label{color:#4b5563;flex-direction:column;gap:.35rem;font-size:.78rem;display:flex}.profile-overview__crop-controls input[type=range]{width:100%}.profile-overview__crop-nudge{flex-wrap:wrap;gap:.35rem;display:flex}.profile-overview__source-preview-wrap{color:#4b5563;flex-direction:column;gap:.35rem;font-size:.78rem;display:flex}.profile-overview__source-preview{object-fit:contain;background:#f9fafb;border:1px solid #d1d5db;border-radius:6px;width:100%;max-width:220px;max-height:120px}.profile-overview__modal-backdrop{z-index:1000;background:#11182780;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.profile-overview__modal{background:#fff;border:1px solid #e5e7eb;border-radius:12px;width:min(920px,100%);max-height:90vh;padding:1rem;overflow:auto;box-shadow:0 20px 40px #0003}.profile-overview__modal-header{justify-content:space-between;align-items:center;margin-bottom:.75rem;display:flex}.profile-overview__modal-header h3{color:#111827;margin:0;font-size:1rem}.profile-overview__modal-actions{justify-content:flex-end;gap:.65rem;margin-top:1rem;display:flex}.profile-overview__avatar-preview{object-fit:cover;border:1px solid #d1d5db;border-radius:999px;width:120px;height:120px;margin-top:.65rem}.profile-overview__meta{color:#374151;background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;grid-template-columns:1fr 1fr;gap:.45rem 1rem;margin-top:.25rem;padding:.85rem 1rem;font-size:.85rem;display:grid}.profile-overview__field label{color:#374151;font-size:.8rem;font-weight:600}.profile-overview__field input,.profile-overview__field textarea{color:#111827;background:#fff;border:1px solid #d1d5db;border-radius:6px;padding:.55rem .75rem;font-size:.875rem;transition:border-color .2s,box-shadow .2s}.profile-overview__field input:focus,.profile-overview__field textarea:focus{border-color:var(--color-primary,#6366f1);outline:none;box-shadow:0 0 0 3px #6366f11a}.profile-overview__field textarea{resize:vertical;min-height:80px}.profile-overview__field input:disabled{color:#6b7280;cursor:not-allowed;background:#f9fafb}.profile-overview__actions{border-top:1px solid #e5e7eb;grid-column:1/-1;justify-content:flex-end;align-items:center;gap:.75rem;margin-top:1.25rem;padding-top:1rem;display:flex}.profile-overview__btn{cursor:pointer;border:none;border-radius:6px;align-items:center;gap:.35rem;padding:.5rem 1rem;font-size:.85rem;font-weight:600;text-decoration:none;transition:all .2s;display:inline-flex}.profile-overview__btn--primary{background:var(--color-primary,#6366f1);color:#fff}.profile-overview__btn--primary:hover{opacity:.9}.profile-overview__btn--primary:disabled{opacity:.5;cursor:not-allowed}.profile-overview__btn--secondary{color:#374151;background:#fff;border:1px solid #d1d5db}.profile-overview__btn--secondary:hover{background:#f3f4f6}.profile-overview__success{color:#166534;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:6px;align-items:center;gap:.5rem;margin-bottom:1rem;padding:.75rem 1rem;font-size:.85rem;display:flex}.profile-overview__error{color:#991b1b;background:#fef2f2;border:1px solid #fecaca;border-radius:6px;margin-bottom:1rem;padding:.75rem 1rem;font-size:.85rem}.profile-overview__loading{text-align:center;color:#6b7280;padding:2rem;font-size:.9rem}@media (width<=768px){.profile-overview__form,.profile-overview__meta{grid-template-columns:1fr}.profile-overview__readonly-with-status{flex-wrap:wrap}.profile-overview__sms-verify{flex-direction:column}.profile-overview__avatar-editor{grid-template-columns:1fr}}.dashboard{max-width:1000px;margin:0 auto}.dashboard__header{margin-bottom:var(--spacing-2xl)}.dashboard__title{font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);color:var(--text-primary);margin:0 0 var(--spacing-xs)}.dashboard__subtitle{font-size:var(--font-size-base);color:var(--text-secondary);margin:0}.dashboard__loading,.dashboard__error{text-align:center;padding:var(--spacing-2xl);color:var(--text-secondary)}.dashboard__error{background:var(--color-danger-light);border:1px solid var(--color-danger);border-radius:var(--component-radius);color:var(--color-danger)}.dashboard__metrics{gap:var(--spacing-lg);margin-bottom:var(--spacing-2xl);grid-template-columns:repeat(auto-fit,minmax(200px,1fr));display:grid}.metric-card{background:var(--bg-secondary);border:1px solid var(--border-light);border-radius:var(--component-radius);padding:var(--spacing-lg);align-items:center;gap:var(--spacing-md);transition:box-shadow var(--transition-fast), transform var(--transition-fast);display:flex}.metric-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.metric-card__icon{border-radius:var(--radius-lg);color:#fff;flex-shrink:0;justify-content:center;align-items:center;width:48px;height:48px;display:flex}.metric-card__icon--blue{background:var(--color-primary)}.metric-card__icon--yellow{background:var(--color-warning)}.metric-card__icon--green{background:var(--color-success)}.metric-card__content{flex:1}.metric-card__value{font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);color:var(--text-primary);margin-bottom:var(--spacing-xs)}.metric-card__label{font-size:var(--font-size-sm);color:var(--text-secondary)}.dashboard__quick-actions{margin-bottom:var(--spacing-2xl)}.dashboard__section-title{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--text-primary);margin:0 0 var(--spacing-md)}.dashboard__section-header{margin-bottom:var(--spacing-md);justify-content:space-between;align-items:center;display:flex}.quick-actions{gap:var(--spacing-md);grid-template-columns:repeat(auto-fit,minmax(180px,1fr));display:grid}.quick-action{align-items:center;gap:var(--spacing-sm);padding:var(--spacing-lg);background:var(--bg-secondary);border:1px solid var(--border-light);border-radius:var(--component-radius);color:var(--text-primary);cursor:pointer;transition:all var(--transition-fast);flex-direction:column;display:flex}.quick-action:hover{background:var(--bg-hover);border-color:var(--color-primary);color:var(--color-primary);box-shadow:var(--shadow-sm);transform:translateY(-2px)}.quick-action svg{color:var(--color-primary)}.quick-action span{font-weight:var(--font-weight-medium);font-size:var(--font-size-sm)}.dashboard__bookings{margin-bottom:var(--spacing-2xl)}.booking-list{gap:var(--spacing-md);flex-direction:column;display:flex}.booking-card{background:var(--bg-secondary);border:1px solid var(--border-light);border-radius:var(--component-radius);padding:var(--spacing-lg);justify-content:space-between;align-items:center;gap:var(--spacing-md);transition:box-shadow var(--transition-fast);display:flex}.booking-card:hover{box-shadow:var(--shadow-sm)}.booking-card__main{align-items:center;gap:var(--spacing-md);flex:1;min-width:0;display:flex}.booking-card__icon{border-radius:var(--radius-lg);background:var(--color-primary-light);width:48px;height:48px;color:var(--color-primary);flex-shrink:0;justify-content:center;align-items:center;display:flex}.booking-card__info{flex:1;min-width:0}.booking-card__title{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--text-primary);margin:0 0 var(--spacing-xs);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.booking-card__details{gap:var(--spacing-md);font-size:var(--font-size-sm);color:var(--text-secondary);flex-wrap:wrap;display:flex}.booking-card__date,.booking-card__time{align-items:center;gap:var(--spacing-xs);display:flex}.booking-card__facility{font-size:var(--font-size-sm);color:var(--text-tertiary);margin-top:var(--spacing-xs)}.booking-card__status{flex-shrink:0}.dashboard__empty{text-align:center;padding:var(--spacing-3xl);color:var(--text-secondary)}.dashboard__empty svg{color:var(--text-tertiary);margin-bottom:var(--spacing-md)}.dashboard__empty p{font-size:var(--font-size-lg);margin:0 0 var(--spacing-lg)}.text-link{color:var(--color-primary);font-weight:var(--font-weight-medium);font-size:var(--font-size-sm);transition:color var(--transition-fast);text-decoration:none}.text-link:hover{color:var(--color-primary-dark);text-decoration:underline}@media (width<=768px){.dashboard__metrics{grid-template-columns:1fr}.dashboard__quick-actions{gap:var(--spacing-sm)}.quick-actions{grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}.booking-card{flex-direction:column;align-items:flex-start}.booking-card__main,.booking-card__status{width:100%}.dashboard__section-header{align-items:flex-start;gap:var(--spacing-sm);flex-direction:column}}@media (width<=480px){.dashboard__title{font-size:var(--font-size-xl)}.metric-card{padding:var(--spacing-md)}.metric-card__value{font-size:var(--font-size-xl)}.quick-actions{grid-template-columns:1fr}}.dashboard__invoices{margin-top:2rem}.invoice-list{flex-direction:column;gap:.75rem;display:flex}.invoice-card{background:var(--bg-secondary);border-radius:var(--radius-lg);cursor:pointer;justify-content:space-between;align-items:center;padding:1rem 1.25rem;transition:all .2s;display:flex}.invoice-card:hover{background:var(--bg-tertiary);transform:translateY(-1px)}.invoice-card__main{align-items:center;gap:1rem;display:flex}.invoice-card__icon{border-radius:var(--radius-md);background:var(--color-primary-light);width:40px;height:40px;color:var(--color-primary);justify-content:center;align-items:center;display:flex}.invoice-card__info{flex-direction:column;gap:.25rem;display:flex}.invoice-card__title{color:var(--text-primary);margin:0;font-size:.95rem;font-weight:600}.invoice-card__details{color:var(--text-secondary);align-items:center;gap:.75rem;font-size:.85rem;display:flex}.invoice-card__amount{color:var(--text-primary);font-weight:500}.invoice-card__status{align-items:center;display:flex}.status--paid{background:var(--color-success-light);color:var(--color-success)}.status--sent{background:var(--color-info-light);color:var(--color-info)}.status--overdue{background:var(--color-danger-light);color:var(--color-danger)}.status--draft{background:var(--bg-tertiary);color:var(--text-secondary)}.status--partially-paid{background:var(--color-warning-light);color:var(--color-warning)}.status--cancelled,.status--credit-noted{background:var(--bg-tertiary);color:var(--text-tertiary)}.dashboard__tickets{margin-top:2rem}.ticket-list{flex-direction:column;gap:.75rem;display:flex}.ticket-card{background:var(--bg-secondary);border-radius:var(--radius-lg);cursor:pointer;justify-content:space-between;align-items:center;padding:1rem 1.25rem;transition:all .2s;display:flex}.ticket-card:hover{background:var(--bg-tertiary);transform:translateY(-1px)}.ticket-card__main{align-items:center;gap:1rem;display:flex}.ticket-card__icon{border-radius:var(--radius-md);color:#7c3aed;background:#f3e8ff;justify-content:center;align-items:center;width:40px;height:40px;display:flex}.ticket-card__info{flex-direction:column;gap:.25rem;display:flex}.ticket-card__title{color:var(--text-primary);margin:0;font-family:Monaco,Menlo,monospace;font-size:.95rem;font-weight:600}.ticket-card__details{color:var(--text-secondary);align-items:center;gap:.75rem;font-size:.85rem;display:flex}.ticket-card__type{font-weight:500}.ticket-card__seat{color:var(--text-tertiary)}.ticket-card__holder{color:var(--text-tertiary);font-size:.8rem}.ticket-card__status{align-items:center;display:flex}.status--active{background:var(--color-success-light);color:var(--color-success)}.status--used{background:var(--color-info-light);color:var(--color-info)}.status--refunded{background:var(--color-warning-light);color:var(--color-warning)}.metric-card__icon--purple{color:#7c3aed;background:#f3e8ff}.change-password__card{max-width:500px}.change-password__form{flex-direction:column;gap:1rem;display:flex}.change-password__field{flex-direction:column;gap:.35rem;display:flex}.change-password__field label{color:#374151;font-size:.8rem;font-weight:600}.change-password__field input{color:#111827;background:#fff;border:1px solid #d1d5db;border-radius:6px;padding:.55rem .75rem;font-size:.875rem;transition:border-color .2s,box-shadow .2s}.change-password__field input:focus{border-color:var(--color-primary,#6366f1);outline:none;box-shadow:0 0 0 3px #6366f11a}.change-password__strength{border-radius:4px;align-items:center;gap:.4rem;margin-top:.25rem;padding:.35rem .5rem;font-size:.75rem;display:flex}.change-password__strength--weak{color:#991b1b;background:#fef2f2;border:1px solid #fecaca}.change-password__strength--fair{color:#92400e;background:#fffbeb;border:1px solid #fde68a}.change-password__strength--good{color:#166534;background:#f0fdf4;border:1px solid #bbf7d0}.change-password__strength--strong{color:#1e40af;background:#dbeafe;border:1px solid #bfdbfe}.change-password__actions{border-top:1px solid #e5e7eb;justify-content:flex-end;align-items:center;gap:.75rem;margin-top:.5rem;padding-top:1rem;display:flex}.change-password__btn{cursor:pointer;border:none;border-radius:6px;align-items:center;gap:.35rem;padding:.5rem 1rem;font-size:.85rem;font-weight:600;text-decoration:none;transition:all .2s;display:inline-flex}.change-password__btn--primary{background:var(--color-primary,#6366f1);color:#fff}.change-password__btn--primary:hover{opacity:.9}.change-password__btn--primary:disabled{opacity:.5;cursor:not-allowed}.change-password__btn--secondary{color:#374151;background:#fff;border:1px solid #d1d5db}.change-password__btn--secondary:hover{background:#f3f4f6}.change-password__success{color:#166534;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:6px;align-items:center;gap:.5rem;margin-bottom:1rem;padding:.75rem 1rem;font-size:.85rem;display:flex}.change-password__error{color:#991b1b;background:#fef2f2;border:1px solid #fecaca;border-radius:6px;margin-bottom:1rem;padding:.75rem 1rem;font-size:.85rem}.change-password__loading{text-align:center;color:#6b7280;padding:2rem;font-size:.9rem}
