.invoices-container{max-width:1200px;margin:0 auto;padding:var(--spacing-xl)}.invoices-header{margin-bottom:var(--spacing-2xl)}.invoices-back-button{background:none;border:none;color:var(--color-primary);cursor:pointer;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);display:flex;align-items:center;gap:var(--spacing-xs);margin-bottom:var(--spacing-lg);padding:0;transition:opacity var(--transition-base)}.invoices-back-button:hover{opacity:.8}.invoices-header-content{display:flex;justify-content:space-between;align-items:center}.invoices-title{font-size:var(--font-size-3xl);font-weight:var(--font-weight-bold);color:var(--color-text-primary);margin-bottom:var(--spacing-xs)}.invoices-patient-info{font-size:var(--font-size-base);color:var(--color-text-secondary)}.invoices-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:var(--spacing-lg);margin-bottom:var(--spacing-3xl)}.summary-card{border-radius:var(--radius-lg);padding:var(--spacing-xl);border:2px solid}.summary-card-total{background:linear-gradient(135deg,var(--color-primary-alpha-10) 0%,var(--color-primary-alpha-20) 100%);border-color:var(--color-primary)}.summary-card-paid{background:linear-gradient(135deg,var(--color-success-alpha-10) 0%,var(--color-success-alpha-20) 100%);border-color:var(--color-success)}.summary-card-pending{background:linear-gradient(135deg,var(--color-error-alpha-10) 0%,var(--color-error-alpha-20) 100%);border-color:var(--color-error)}.summary-label{font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);margin-bottom:var(--spacing-sm);text-transform:uppercase;letter-spacing:.5px}.summary-card-total .summary-label{color:var(--color-primary)}.summary-card-paid .summary-label{color:var(--color-success-dark)}.summary-card-pending .summary-label{color:var(--color-error-dark)}.summary-amount{font-size:var(--font-size-4xl);font-weight:var(--font-weight-bold)}.summary-card-total .summary-amount{color:var(--color-primary)}.summary-card-paid .summary-amount{color:var(--color-success-dark)}.summary-card-pending .summary-amount{color:var(--color-error-dark)}.summary-subtitle{font-size:var(--font-size-xs);color:var(--color-text-secondary);margin-top:var(--spacing-xs)}.invoices-list-container{background:var(--color-bg-primary);border-radius:var(--radius-lg);border:1px solid var(--color-border-secondary);overflow:hidden;box-shadow:var(--shadow-md)}.invoices-list-header{background:var(--color-bg-secondary);padding:var(--spacing-lg) var(--spacing-xl);border-bottom:1px solid var(--color-border-secondary)}.invoices-list-title{font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);color:var(--color-text-primary);margin:0}.invoices-empty{padding:60px var(--spacing-xl);text-align:center;color:var(--color-text-tertiary)}.invoices-empty svg{margin:0 auto var(--spacing-lg);color:var(--color-text-tertiary)}.invoices-empty-title{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--color-text-secondary);margin-bottom:var(--spacing-sm)}.invoices-empty-text{font-size:var(--font-size-sm);color:var(--color-text-tertiary);margin-bottom:var(--spacing-lg)}.invoice-item{padding:var(--spacing-xl);border-bottom:1px solid var(--color-border-secondary);transition:background-color var(--transition-base);cursor:pointer}.invoice-item:hover{background-color:var(--color-bg-hover)}.invoice-item:last-child{border-bottom:none}.invoice-item-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:var(--spacing-md)}.invoice-item-left{flex:1}.invoice-item-title-row{display:flex;align-items:center;gap:var(--spacing-md);margin-bottom:var(--spacing-sm)}.invoice-item-title{font-size:var(--font-size-base);font-weight:var(--font-weight-bold);color:var(--color-text-primary);margin:0}.invoice-status-badge{color:#fff;padding:4px 12px;border-radius:var(--radius-full);font-size:11px;font-weight:var(--font-weight-bold);text-transform:uppercase}.invoice-status-paid{background-color:var(--color-success)}.invoice-status-partial{background-color:var(--color-warning)}.invoice-status-pending{background-color:var(--color-error)}.invoice-status-cancelled{background-color:var(--color-text-tertiary)}.invoice-orders{margin-bottom:var(--spacing-sm);font-size:var(--font-size-sm);color:var(--color-text-secondary)}.invoice-orders ul{margin-top:var(--spacing-xs);padding-left:var(--spacing-xl);margin-bottom:0}.invoice-metadata{font-size:var(--font-size-sm);color:var(--color-text-secondary)}.invoice-item-right{text-align:right}.invoice-amount{font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);color:var(--color-text-primary);margin-bottom:var(--spacing-xs)}.invoice-pending{font-size:var(--font-size-sm);color:var(--color-error);font-weight:var(--font-weight-semibold)}.payment-progress{margin-top:var(--spacing-md)}.payment-progress-header{display:flex;justify-content:space-between;margin-bottom:6px;font-size:var(--font-size-xs);color:var(--color-text-secondary)}.payment-progress-bar{background:var(--color-border-secondary);height:6px;border-radius:var(--radius-sm);overflow:hidden}.payment-progress-fill{height:100%;transition:width .3s ease}.payment-progress-fill-paid{background:linear-gradient(90deg,var(--color-success),var(--color-success-dark))}.payment-progress-fill-partial{background:linear-gradient(90deg,var(--color-warning),var(--color-warning-dark))}.payment-history{margin-top:var(--spacing-md);padding:var(--spacing-md);background:var(--color-bg-secondary);border-radius:var(--radius-md)}.payment-history-title{font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);color:var(--color-text-secondary);margin-bottom:var(--spacing-sm)}.payment-history-item{display:flex;justify-content:space-between;font-size:var(--font-size-sm);color:var(--color-text-primary);margin-bottom:var(--spacing-xs)}.payment-history-item:last-child{margin-bottom:0}.payment-history-amount{font-weight:var(--font-weight-semibold);color:var(--color-success)}.register-payment-button{margin-top:var(--spacing-md);width:100%;background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-primary-dark) 100%);color:#fff;border:none;padding:var(--spacing-sm) var(--spacing-lg);border-radius:var(--radius-md);font-weight:var(--font-weight-semibold);font-size:var(--font-size-sm);cursor:pointer;display:flex;align-items:center;justify-content:center;gap:var(--spacing-sm);transition:all var(--transition-base)}.register-payment-button:hover{transform:translateY(-1px);box-shadow:var(--shadow-md)}@media (max-width: 768px){.invoices-container{padding:var(--spacing-lg)}.invoices-header-content{flex-direction:column;align-items:flex-start;gap:var(--spacing-lg)}.invoices-summary{grid-template-columns:1fr}.invoice-item-header{flex-direction:column}.invoice-item-right{text-align:left;margin-top:var(--spacing-md)}}.appointments-page{max-width:1400px;margin:0 auto;padding:20px;min-height:100vh}.appointments-header{margin-bottom:32px;animation:fadeInDown .5s ease-out}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.header-content{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:24px;flex-wrap:wrap}.header-left{display:flex;align-items:center;gap:16px}.icon-wrapper{display:flex;align-items:center;justify-content:center;width:56px;height:56px;background:linear-gradient(135deg,#6366f1,#4f46e5);border-radius:16px;color:#fff;box-shadow:0 4px 12px #6366f14d}.appointments-header h1{font-size:28px;font-weight:800;color:var(--color-text-primary);margin:0 0 4px;letter-spacing:-.5px}.subtitle{font-size:14px;color:var(--color-text-tertiary);margin:0}.btn-create{display:inline-flex;align-items:center;gap:8px;padding:12px 24px;background:linear-gradient(135deg,#6366f1,#4f46e5);color:#fff;border:none;border-radius:12px;font-size:14px;font-weight:600;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 4px 12px #6366f14d}.btn-create:hover{transform:translateY(-2px);box-shadow:0 6px 20px #6366f166}.btn-create:active{transform:translateY(0)}.view-toggle-modern{display:inline-flex;gap:0;background:var(--color-bg-primary);border-radius:12px;padding:4px;box-shadow:0 2px 8px #00000014}.view-btn{display:inline-flex;align-items:center;gap:8px;padding:10px 20px;background:transparent;border:none;border-radius:8px;font-size:14px;font-weight:600;color:var(--color-text-tertiary);cursor:pointer;transition:all .2s ease}.view-btn:hover{background:var(--color-bg-tertiary);color:var(--color-text-secondary)}.view-btn.active{background:linear-gradient(135deg,#6366f1,#4f46e5);color:#fff;box-shadow:0 2px 8px #6366f14d}.view-btn svg{flex-shrink:0}.filters-modern{background:var(--color-bg-primary);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid var(--color-border-secondary);border-radius:20px;padding:24px;margin-bottom:24px;box-shadow:var(--shadow-md);animation:fadeInUp .5s ease-out}.filters-minimal{padding:16px 24px}.filters-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;padding-bottom:16px;border-bottom:2px solid var(--color-border-secondary)}.filters-title{display:flex;align-items:center;gap:12px;font-size:16px;font-weight:700;color:var(--color-text-primary)}.filters-title svg{color:var(--color-primary)}.filter-badge{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-primary-dark) 100%);color:#fff;font-size:12px;font-weight:700;border-radius:50%;animation:pulse 2s ease-in-out infinite}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.btn-clear-filters{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;background:var(--color-bg-primary);border:1px solid var(--color-border-secondary);border-radius:8px;font-size:13px;font-weight:600;color:var(--color-text-tertiary);cursor:pointer;transition:all .2s ease}.btn-clear-filters:hover{background:var(--color-error-alpha-10);border-color:#fecaca;color:var(--color-error)}.filters-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;align-items:start}.filter-item{display:flex;flex-direction:column;gap:8px}.filter-label{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--color-text-tertiary)}.filter-label svg{color:var(--color-text-tertiary)}.filter-select-modern,.date-input-modern{padding:10px 14px;background:var(--color-bg-primary);border:2px solid var(--color-border-secondary);border-radius:10px;font-size:14px;font-weight:500;color:var(--color-text-primary);transition:all .2s ease}.filter-select-modern:hover,.date-input-modern:hover{border-color:var(--color-border-primary)}.filter-select-modern:focus,.date-input-modern:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 4px var(--color-primary-alpha-10)}.checkbox-modern{display:inline-flex;align-items:center;gap:12px;cursor:pointer;-webkit-user-select:none;user-select:none;padding:12px 16px;background:var(--color-bg-primary);border:2px solid var(--color-border-secondary);border-radius:12px;transition:all .2s ease}.checkbox-modern:hover{border-color:var(--color-primary);background:var(--color-bg-tertiary)}.checkbox-modern input[type=checkbox]{display:none}.checkbox-custom{position:relative;width:24px;height:24px;background:var(--color-bg-primary);border:2px solid var(--color-border-primary);border-radius:6px;transition:all .2s ease}.checkbox-modern input[type=checkbox]:checked+.checkbox-custom{background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-primary-dark) 100%);border-color:var(--color-primary)}.checkbox-modern input[type=checkbox]:checked+.checkbox-custom:after{content:"";position:absolute;top:50%;left:50%;width:12px;height:8px;border-left:2px solid white;border-bottom:2px solid white;transform:translate(-50%,-60%) rotate(-45deg)}.checkbox-label{font-size:14px;font-weight:600;color:var(--color-text-primary)}.error-alert{display:flex;align-items:center;gap:12px;padding:16px 20px;background:linear-gradient(135deg,#fee2e2,#fecaca);border:2px solid #fca5a5;border-radius:16px;margin-bottom:24px;color:#991b1b;font-size:14px;font-weight:600;animation:slideInDown .3s ease-out}.error-alert svg{flex-shrink:0}.results-info-modern{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;padding:16px 20px;background:#ffffffe6;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.5);border-radius:16px;box-shadow:0 2px 8px #0000000d}.results-count{display:flex;align-items:baseline;gap:8px}.count-number{font-size:32px;font-weight:900;color:#6366f1;letter-spacing:-1px}.count-label{font-size:14px;font-weight:600;color:var(--color-text-tertiary)}.appointments-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:20px;margin-bottom:32px}@media (max-width: 768px){.appointments-grid{grid-template-columns:1fr}}.appointment-card{position:relative;background:#fffffff2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.5);border-radius:20px;padding:20px;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 4px 12px #00000014;animation:fadeIn .5s ease-out;overflow:hidden}@keyframes fadeIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.appointment-card:hover{transform:translateY(-4px);box-shadow:0 12px 24px #0000001f;border-color:#6366f1}.appointment-card:hover .card-hover-indicator{opacity:1;transform:translate(0)}.card-hover-indicator{position:absolute;top:50%;right:16px;transform:translate(-10px) translateY(-50%);opacity:0;transition:all .3s ease;color:#6366f1}.card-header-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;gap:12px}.patient-avatar{display:flex;align-items:center;justify-content:center;width:48px;height:48px;background:linear-gradient(135deg,#6366f1,#4f46e5);color:#fff;font-size:16px;font-weight:700;border-radius:12px;box-shadow:0 4px 12px #6366f14d}.card-status-badge{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;border-radius:10px;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;box-shadow:0 2px 6px #0000001a}.status-icon{font-size:14px}.status-text{color:var(--color-text-secondary)}.card-main-info{margin-bottom:16px}.patient-name{font-size:18px;font-weight:800;color:var(--color-text-primary);margin:0 0 12px;line-height:1.3}.card-meta{display:flex;flex-wrap:wrap;gap:16px}.meta-item{display:flex;align-items:center;gap:6px;font-size:13px;font-weight:600;color:var(--color-text-tertiary)}.meta-item svg{color:#9ca3af;flex-shrink:0}.card-services{margin-bottom:16px;padding:12px;background:linear-gradient(135deg,#f9fafb,#f3f4f6);border-radius:12px}.services-label{display:flex;align-items:center;gap:6px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--color-text-tertiary);margin-bottom:8px}.services-label svg{color:#9ca3af}.services-tags{display:flex;flex-wrap:wrap;gap:6px}.service-tag{display:inline-block;padding:4px 10px;background:var(--color-bg-primary);border:1px solid var(--color-border-secondary);border-radius:6px;font-size:12px;font-weight:600;color:var(--color-text-secondary)}.service-tag.more{background:linear-gradient(135deg,#6366f1,#4f46e5);color:#fff;border-color:#6366f1}.card-footer{display:flex;justify-content:space-between;align-items:center;gap:12px;padding-top:16px;border-top:2px solid #f3f4f6;flex-wrap:wrap}.payment-status-mini,.created-by-mini{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:600}.payment-pending-mini{color:var(--color-warning)}.payment-complete-mini{color:var(--color-success)}.payment-none-mini{color:#9ca3af}.created-by-mini{color:var(--color-text-tertiary)}.payment-status-mini svg,.created-by-mini svg{flex-shrink:0}.loading-container{display:flex;justify-content:center;align-items:center;min-height:400px;background:#ffffffe6;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.5);border-radius:20px;box-shadow:0 4px 12px #00000014}@media (max-width: 768px){.appointments-page{padding:16px}.appointments-header h1{font-size:24px}.icon-wrapper{width:48px;height:48px}.btn-create{width:100%;justify-content:center}.header-content{flex-direction:column;align-items:stretch}.view-toggle-modern{width:100%;justify-content:center}.view-btn{flex:1}.filters-grid{grid-template-columns:1fr}.card-footer{flex-direction:column;align-items:flex-start}}.apt-detail__photo-gallery{margin-top:20px}.apt-detail__photo-section{margin-bottom:24px}.apt-detail__photo-section:last-child{margin-bottom:0}.apt-detail__photo-header{font-size:16px;font-weight:600;color:var(--color-text-primary);margin-bottom:12px;display:flex;align-items:center;gap:8px}.apt-detail__photo-badge{padding:4px 12px;color:#fff;border-radius:6px;font-size:13px;font-weight:600;letter-spacing:.5px}.apt-detail__photo-badge--before{background:linear-gradient(135deg,#3498db,#2980b9)}.apt-detail__photo-badge--after{background:linear-gradient(135deg,#2ecc71,#27ae60)}.apt-detail__photo-count{font-size:13px;color:#7f8c8d;font-weight:500}.apt-detail__photo-grid{display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}@media (min-width: 640px){.apt-detail__photo-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr))}}@media (min-width: 1024px){.apt-detail__photo-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:16px}}.apt-detail__photo-card{position:relative;border-radius:8px;overflow:hidden;box-shadow:0 2px 8px #0000001a;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease;background:var(--color-bg-secondary)}.apt-detail__photo-card:hover{transform:translateY(-4px);box-shadow:0 4px 16px #00000026}.apt-detail__photo-card:active{transform:translateY(-2px)}.apt-detail__photo-img{width:100%;height:200px;object-fit:cover;display:block;background:linear-gradient(135deg,#667eea,#764ba2)}@media (max-width: 639px){.apt-detail__photo-img{height:150px}}.apt-detail__photo-overlay{position:absolute;bottom:0;left:0;right:0;padding:8px 12px;background:linear-gradient(to top,rgba(0,0,0,.8),transparent);color:#fff;font-size:12px;font-weight:600}.apt-detail__photo-empty{padding:60px 20px;text-align:center;color:#7f8c8d;background:linear-gradient(135deg,#f8f9fa,#e9ecef);border-radius:12px;border:2px dashed #dee2e6}.apt-detail__photo-empty-icon{margin:0 auto 20px;opacity:.5}.apt-detail__photo-empty-title{font-size:18px;margin:0 0 8px;font-weight:600;color:var(--color-text-secondary)}.apt-detail__photo-empty-text{font-size:14px;margin:0;color:var(--color-text-tertiary)}.apt-detail__upload-buttons{display:flex;gap:12px;margin-top:20px;flex-wrap:wrap}@media (max-width: 639px){.apt-detail__upload-buttons{flex-direction:column}}.apt-detail__upload-btn{flex:1;min-width:200px;padding:14px 20px;background:linear-gradient(135deg,#6366f1,#4f46e5);color:#fff;border:none;border-radius:10px;font-size:14px;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:10px;transition:all .3s ease;box-shadow:0 4px 12px #6366f14d}.apt-detail__upload-btn:hover{background:linear-gradient(135deg,#4f46e5,#4338ca);transform:translateY(-2px);box-shadow:0 6px 20px #6366f166}.apt-detail__upload-btn:active{transform:translateY(0)}.apt-detail__upload-btn svg{flex-shrink:0}@media (max-width: 639px){.apt-detail__upload-btn{min-width:100%}}.apt-detail__upload-btn--after{background:linear-gradient(135deg,var(--color-success) 0%,#059669 100%);box-shadow:0 4px 12px #10b9814d}.apt-detail__upload-btn--after:hover{background:linear-gradient(135deg,#059669,#047857);box-shadow:0 6px 20px #10b98166}.apt-detail__photo-skeleton{display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}@media (min-width: 640px){.apt-detail__photo-skeleton{grid-template-columns:repeat(auto-fill,minmax(180px,1fr))}}@media (min-width: 1024px){.apt-detail__photo-skeleton{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:16px}}.apt-detail__skeleton-card{border-radius:8px;overflow:hidden;background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0,#f0f0f0 75%);background-size:200% 100%;animation:shimmer 1.5s infinite;height:200px}@media (max-width: 639px){.apt-detail__skeleton-card{height:150px}}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.apt-detail__loading{padding:40px;text-align:center;color:var(--color-text-tertiary)}.apt-detail__loading-spinner{display:inline-block;width:40px;height:40px;border:4px solid #f3f4f6;border-top-color:#6366f1;border-radius:50%;animation:spin .8s linear infinite;margin-bottom:12px}.apt-detail__loading-text{font-size:14px;font-weight:500}.apt-detail__upload-progress{margin-top:16px;padding:16px;background:linear-gradient(135deg,#f8f9fa,#e9ecef);border-radius:8px;border-left:4px solid #6366f1}.apt-detail__progress-bar{width:100%;height:8px;background:#dee2e6;border-radius:4px;overflow:hidden;margin-bottom:8px}.apt-detail__progress-fill{height:100%;background:linear-gradient(90deg,#6366f1,#4f46e5);border-radius:4px;transition:width .3s ease;animation:progressPulse 1.5s ease-in-out infinite}@keyframes progressPulse{0%,to{opacity:1}50%{opacity:.7}}.apt-detail__progress-text{font-size:13px;color:var(--color-text-secondary);font-weight:500}.apt-detail__success-message{margin-top:16px;padding:12px 16px;background:linear-gradient(135deg,#d5f4e6,#c3e6cb);border-radius:8px;border-left:4px solid var(--color-success);color:#186a3b;font-size:14px;font-weight:500;display:flex;align-items:center;gap:8px;animation:slideIn .3s ease}@keyframes slideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.apt-detail__error-message{margin-top:16px;padding:12px 16px;background:linear-gradient(135deg,#fadbd8,#f5c6cb);border-radius:8px;border-left:4px solid var(--color-error);color:#c0392b;font-size:14px;font-weight:500;display:flex;align-items:center;gap:8px;animation:slideIn .3s ease}.apt-detail__photo-meta{position:absolute;top:8px;right:8px;background:#000000b3;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);padding:4px 8px;border-radius:6px;font-size:11px;color:#fff;font-weight:500}.apt-detail__view-switcher{display:flex;gap:8px;margin-bottom:16px;padding:4px;background:var(--color-bg-secondary);border-radius:8px;width:fit-content}.apt-detail__view-btn{padding:8px 16px;background:transparent;border:none;border-radius:6px;font-size:13px;font-weight:500;color:var(--color-text-tertiary);cursor:pointer;transition:all .2s ease}.apt-detail__view-btn:hover{color:var(--color-text-secondary);background:#0000000d}.apt-detail__view-btn--active{background:var(--color-bg-primary);color:#6366f1;box-shadow:0 2px 4px #0000001a}.apt-detail__comparison-view{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:20px}@media (max-width: 767px){.apt-detail__comparison-view{grid-template-columns:1fr}}.apt-detail__comparison-side{background:var(--color-bg-secondary);border-radius:12px;padding:16px;border:2px solid #e9ecef}.apt-detail__comparison-side h3{margin:0 0 12px;font-size:14px;font-weight:600;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.5px}.workflow-guide{margin-top:24px;margin-bottom:24px}.workflow-timeline{display:flex;align-items:center;justify-content:center;gap:16px;margin-bottom:24px;padding:20px;background:linear-gradient(135deg,#f8f9fa,#e9ecef);border-radius:12px;position:relative}.workflow-step{display:flex;flex-direction:column;align-items:center;gap:8px;position:relative;flex:1;max-width:120px}.workflow-step-indicator{width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:16px;transition:all .3s ease;z-index:2;position:relative}.workflow-step-indicator.completed{background:linear-gradient(135deg,var(--color-success) 0%,#059669 100%);color:#fff;box-shadow:0 4px 12px #10b9814d}.workflow-step-indicator.current{background:linear-gradient(135deg,#6366f1,#4f46e5);color:#fff;box-shadow:0 4px 16px #6366f166;animation:pulse 2s ease-in-out infinite}.workflow-step-indicator.pending{background:var(--color-bg-primary);color:#9ca3af;border:2px solid var(--color-border-secondary)}@keyframes pulse{0%,to{box-shadow:0 4px 16px #6366f166}50%{box-shadow:0 4px 24px #6366f199}}.workflow-step-label{font-size:12px;font-weight:600;color:var(--color-text-secondary);text-align:center;text-transform:uppercase;letter-spacing:.5px}.workflow-step-line{position:absolute;top:20px;left:60%;width:100%;height:3px;background:var(--color-border-secondary);z-index:1}.workflow-step-line.completed{background:linear-gradient(90deg,var(--color-success),#059669)}.workflow-suggestions{background:linear-gradient(135deg,var(--color-bg-primary) 0%,var(--color-bg-secondary) 100%);border-radius:12px;padding:20px;border:2px solid #e9ecef;box-shadow:0 2px 8px #0000000d}.workflow-suggestions-header{display:flex;align-items:center;gap:12px;margin-bottom:16px;padding-bottom:12px;border-bottom:2px solid #e9ecef}.workflow-suggestions-header svg{color:#6366f1;flex-shrink:0}.workflow-suggestions-header h3{margin:0;font-size:16px;font-weight:600;color:var(--color-text-primary)}.workflow-actions{display:flex;flex-direction:column;gap:12px;margin-bottom:16px}.workflow-action{display:flex;align-items:center;gap:12px;padding:12px 16px;background:var(--color-bg-primary);border-radius:8px;border:1px solid #e9ecef;transition:all .2s ease}.workflow-action:hover{border-color:#6366f1;transform:translate(4px);box-shadow:0 2px 8px #6366f11a}.workflow-action--primary{background:linear-gradient(135deg,var(--color-info-alpha-10) 0%,#dbeafe 100%);border-color:var(--color-primary)}.workflow-action--primary:hover{background:linear-gradient(135deg,#dbeafe,#bfdbfe);box-shadow:0 4px 12px #3b82f633}.workflow-action-icon{font-size:20px;flex-shrink:0}.workflow-action-text{font-size:14px;color:var(--color-text-secondary);font-weight:500}.workflow-action--primary .workflow-action-text{color:#1e40af;font-weight:600}.workflow-tip{display:flex;align-items:flex-start;gap:10px;padding:12px;background:linear-gradient(135deg,var(--color-warning-alpha-10) 0%,#fde68a 100%);border-radius:8px;border-left:4px solid var(--color-warning)}.workflow-tip svg{color:var(--color-warning);flex-shrink:0;margin-top:2px}.workflow-tip span{font-size:13px;color:#78350f;line-height:1.5}@media (max-width: 639px){.workflow-timeline{gap:8px;padding:16px 8px}.workflow-step{max-width:80px}.workflow-step-indicator{width:32px;height:32px;font-size:14px}.workflow-step-label{font-size:10px}.workflow-step-line{top:16px}.workflow-suggestions{padding:16px}.workflow-action{padding:10px 12px}.workflow-action-icon{font-size:18px}.workflow-action-text{font-size:13px}}.card-header--collapsible{display:flex;justify-content:space-between;align-items:center;-webkit-user-select:none;user-select:none}.card-header--collapsible:hover{background:#6366f10d;border-radius:12px 12px 0 0}.card-header--collapsible:active{background:#6366f11a}.payment-card--urgent{border:2px solid var(--color-error);box-shadow:0 0 0 4px #ef44441a;animation:urgent-pulse 2s ease-in-out infinite}@keyframes urgent-pulse{0%,to{box-shadow:0 0 0 4px #ef44441a}50%{box-shadow:0 0 0 8px #ef444433}}.payment-card--warning{border:2px solid var(--color-warning);box-shadow:0 0 0 4px #f59e0b1a}.payment-card--urgent .card-header,.payment-card--warning .card-header{position:relative}.payment-card--urgent .card-header:before{content:"⚠️ URGENTE: Pago Pendiente";position:absolute;top:-8px;right:16px;background:var(--color-error);color:#fff;padding:4px 12px;border-radius:12px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.payment-card--warning .card-header:before{content:"⚠️ Falta Recibo";position:absolute;top:-8px;right:16px;background:var(--color-warning);color:#fff;padding:4px 12px;border-radius:12px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.btn-contextual{display:inline-flex;align-items:center;gap:8px;padding:10px 20px;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 8px #0000001a}.btn-contextual svg{flex-shrink:0}.btn-contextual--primary{background:linear-gradient(135deg,#6366f1,#4f46e5);color:#fff}.btn-contextual--pulse{animation:cta-pulse 2s ease-in-out infinite}@keyframes cta-pulse{0%,to{transform:scale(1);box-shadow:0 2px 8px #6366f14d}50%{transform:scale(1.02);box-shadow:0 4px 16px #6366f180}}.btn-contextual--primary:hover{background:linear-gradient(135deg,#4f46e5,#4338ca);transform:translateY(-2px);box-shadow:0 4px 16px #6366f166}.btn-contextual--success{background:linear-gradient(135deg,var(--color-success) 0%,#059669 100%);color:#fff}.btn-contextual--success:hover{background:linear-gradient(135deg,#059669,#047857);transform:translateY(-2px);box-shadow:0 4px 16px #10b98166}.btn-contextual--secondary{background:linear-gradient(135deg,#8b5cf6,#7c3aed);color:#fff}.btn-contextual--secondary:hover{background:linear-gradient(135deg,#7c3aed,#6d28d9);transform:translateY(-2px);box-shadow:0 4px 16px #8b5cf666}.btn-contextual:active{transform:translateY(0)}@media (max-width: 640px){.btn-contextual{padding:8px 16px;font-size:13px}.payment-card--urgent .card-header:before,.payment-card--warning .card-header:before{font-size:10px;padding:3px 8px;top:-6px;right:12px}}.state-transition-selector{margin:16px 0;padding:16px;background:linear-gradient(135deg,#f8f9fa,#e9ecef);border-radius:12px;border:2px solid #dee2e6}.transition-label{font-size:13px;font-weight:600;color:var(--color-text-secondary);margin-bottom:12px;text-transform:uppercase;letter-spacing:.5px}.transition-buttons{display:flex;flex-wrap:wrap;gap:8px}.transition-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border:2px solid transparent;border-radius:8px;font-size:13px;font-weight:600;cursor:pointer;transition:all .2s ease;white-space:nowrap}.transition-btn svg{flex-shrink:0}.transition-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.transition-btn:active:not(:disabled){transform:translateY(0)}.transition-btn:disabled{opacity:.5;cursor:not-allowed}.transition-btn--primary{background:linear-gradient(135deg,#6366f1,#4f46e5);color:#fff;border-color:#4f46e5}.transition-btn--primary:hover:not(:disabled){background:linear-gradient(135deg,#4f46e5,#4338ca);box-shadow:0 4px 12px #6366f166}.transition-btn--success{background:linear-gradient(135deg,var(--color-success) 0%,#059669 100%);color:#fff;border-color:#059669}.transition-btn--success:hover:not(:disabled){background:linear-gradient(135deg,#059669,#047857);box-shadow:0 4px 12px #10b98166}.transition-btn--secondary{background:linear-gradient(135deg,#8b5cf6,#7c3aed);color:#fff;border-color:#7c3aed}.transition-btn--secondary:hover:not(:disabled){background:linear-gradient(135deg,#7c3aed,#6d28d9);box-shadow:0 4px 12px #8b5cf666}.transition-btn--danger{background:linear-gradient(135deg,var(--color-error) 0%,#dc2626 100%);color:#fff;border-color:#dc2626}.transition-btn--danger:hover:not(:disabled){background:linear-gradient(135deg,#dc2626,#b91c1c);box-shadow:0 4px 12px #ef444466}.transition-btn--default{background:var(--color-bg-primary);color:var(--color-text-secondary);border-color:#dee2e6}.transition-btn--default:hover:not(:disabled){background:var(--color-bg-secondary);border-color:#adb5bd}.transition-error{display:flex;align-items:center;gap:8px;margin-top:12px;padding:10px 12px;background:linear-gradient(135deg,var(--color-error-alpha-10) 0%,#fecaca 100%);border-radius:8px;border-left:4px solid var(--color-error);color:#991b1b;font-size:13px;font-weight:500}.transition-error svg{flex-shrink:0;color:var(--color-error)}.transition-confirm-modal{padding:8px 0}.transition-confirm-message{font-size:15px;line-height:1.6;color:var(--color-text-secondary);margin-bottom:24px}.transition-confirm-actions{display:flex;gap:12px;justify-content:flex-end}.transition-confirm-actions button{padding:10px 20px;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease}.btn-cancel{background:#e9ecef;color:var(--color-text-secondary)}.btn-cancel:hover:not(:disabled){background:#dee2e6}.btn-confirm{background:linear-gradient(135deg,#6366f1,#4f46e5);color:#fff}.btn-confirm:hover:not(:disabled){background:linear-gradient(135deg,#4f46e5,#4338ca);transform:translateY(-2px);box-shadow:0 4px 12px #6366f166}.btn-confirm:disabled,.btn-cancel:disabled{opacity:.5;cursor:not-allowed}@media (max-width: 640px){.state-transition-selector{padding:12px}.transition-label{font-size:12px;margin-bottom:10px}.transition-buttons{gap:6px}.transition-btn{padding:7px 12px;font-size:12px}.transition-btn svg{width:14px;height:14px}.transition-error{font-size:12px;padding:8px 10px}.transition-confirm-message{font-size:14px}.transition-confirm-actions button{padding:8px 16px;font-size:13px}}@keyframes transition-success{0%{transform:scale(1)}50%{transform:scale(1.05)}to{transform:scale(1)}}.transition-btn--success-animation{animation:transition-success .3s ease}.commissions-page{padding:2rem;max-width:1400px;margin:0 auto}.page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem}.page-header h1{margin:0;font-size:2rem;color:#333}.subtitle{color:#666;margin-top:.5rem}.summary-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.5rem;margin-bottom:2rem}.summary-card{background:linear-gradient(135deg,#667eea,#764ba2);padding:1.5rem;border-radius:12px;color:#fff;box-shadow:0 4px 6px #0000001a}.summary-card:nth-child(2){background:linear-gradient(135deg,#f093fb,#f5576c)}.summary-card:nth-child(3){background:linear-gradient(135deg,#4facfe,#00f2fe)}.summary-card:nth-child(4){background:linear-gradient(135deg,#43e97b,#38f9d7)}.summary-card:nth-child(5){background:linear-gradient(135deg,#fa709a,#fee140)}.summary-label{font-size:.9rem;opacity:.9;margin-bottom:.5rem}.summary-value{font-size:1.8rem;font-weight:700;margin-bottom:.25rem}.summary-count{font-size:.85rem;opacity:.8}.filters-section{background:#fff;padding:1.5rem;border-radius:8px;box-shadow:0 2px 4px #0000001a;margin-bottom:1.5rem;display:flex;gap:1rem;flex-wrap:wrap;align-items:flex-end}.filter-group{display:flex;flex-direction:column;gap:.5rem;min-width:150px}.filter-group label{font-size:.9rem;font-weight:500;color:#555}.filter-group select,.filter-group input{padding:.5rem;border:1px solid #ddd;border-radius:4px;font-size:.95rem}.batch-actions{background:#f8f9fa;padding:1rem;border-radius:8px;margin-bottom:1.5rem;display:flex;gap:1rem;align-items:center}.batch-actions span{font-weight:500;color:#333;margin-right:auto}.table-container{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;overflow:hidden;margin-bottom:1.5rem}.commissions-table{width:100%;border-collapse:collapse}.commissions-table thead{background:#f8f9fa}.commissions-table th{padding:1rem;text-align:left;font-weight:600;color:#555;border-bottom:2px solid #dee2e6;font-size:.9rem}.commissions-table td{padding:1rem;border-bottom:1px solid #f0f0f0;font-size:.95rem}.commissions-table tbody tr:hover{background:#f8f9fa}.commissions-table td.amount{font-weight:600;color:#28a745}.commissions-table td.actions{display:flex;gap:.5rem;align-items:center}.badge{display:inline-block;padding:.4rem .8rem;border-radius:12px;font-size:.85rem;font-weight:500;text-transform:uppercase}.badge-warning{background:#fff3cd;color:#856404}.badge-info{background:#d1ecf1;color:#0c5460}.badge-success{background:#d4edda;color:#155724}.badge-danger{background:#f8d7da;color:#721c24}.badge-secondary{background:#e2e3e5;color:#383d41}.btn-sm{padding:.4rem .8rem;border:none;border-radius:4px;cursor:pointer;font-size:.9rem;transition:all .2s}.btn-sm.btn-success{background:#28a745;color:#fff}.btn-sm.btn-success:hover{background:#218838}.btn-sm.btn-danger{background:#dc3545;color:#fff}.btn-sm.btn-danger:hover{background:#c82333}.btn-sm.btn-primary{background:#007bff;color:#fff}.btn-sm.btn-primary:hover{background:#0056b3}.btn-primary,.btn-secondary,.btn-success{padding:.6rem 1.2rem;border:none;border-radius:6px;cursor:pointer;font-size:.95rem;font-weight:500;transition:all .2s}.btn-primary{background:#007bff;color:#fff}.btn-primary:hover{background:#0056b3}.btn-secondary{background:#6c757d;color:#fff}.btn-secondary:hover{background:#5a6268}.btn-success{background:#28a745;color:#fff}.btn-success:hover{background:#218838}.pagination{display:flex;justify-content:center;align-items:center;gap:1rem;margin-top:2rem}.pagination button{padding:.5rem 1rem;border:1px solid #ddd;background:#fff;border-radius:4px;cursor:pointer;transition:all .2s}.pagination button:hover:not(:disabled){background:#f8f9fa;border-color:#adb5bd}.pagination button:disabled{opacity:.5;cursor:not-allowed}.pagination span{font-size:.95rem;color:#666}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-content{background:#fff;padding:2rem;border-radius:12px;box-shadow:0 10px 25px #0003;max-width:500px;width:90%}.modal-content h3{margin-top:0;margin-bottom:1.5rem;color:#333}.modal-content p{margin-bottom:.5rem;color:#666}.form-group{margin-bottom:1.5rem}.form-group label{display:block;margin-bottom:.5rem;font-weight:500;color:#555}.form-group input,.form-group select,.form-group textarea{width:100%;padding:.6rem;border:1px solid #ddd;border-radius:4px;font-size:.95rem;font-family:inherit}.form-group textarea{resize:vertical;min-height:80px}.modal-actions{display:flex;gap:1rem;justify-content:flex-end;margin-top:1.5rem}.loading,.error-message{padding:1.5rem;text-align:center;border-radius:8px}.loading{background:#f8f9fa;color:#666}.error-message{background:#f8d7da;color:#721c24;border:1px solid #f5c6cb}.text-muted{color:#6c757d;font-size:.85rem}@media (max-width: 768px){.commissions-page{padding:1rem}.summary-cards{grid-template-columns:1fr}.filters-section{flex-direction:column}.filter-group{width:100%}.table-container{overflow-x:auto}.commissions-table{min-width:800px}.batch-actions{flex-direction:column;align-items:stretch}.batch-actions span{margin-right:0}}.login-page{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:var(--spacing-lg)}.login-container{width:100%;max-width:420px;background:var(--color-bg-primary);border-radius:var(--radius-xl);box-shadow:var(--shadow-2xl);padding:var(--spacing-2xl);border:1px solid var(--color-border-secondary)}.login-header{text-align:center;margin-bottom:var(--spacing-2xl)}.login-logo{font-size:var(--font-size-4xl);font-weight:var(--font-weight-extrabold);color:var(--color-primary);margin:0 0 var(--spacing-sm) 0;background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-primary-dark) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.login-title{font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin:0}.login-form{display:flex;flex-direction:column;gap:var(--spacing-lg)}.login-form-group{display:flex;flex-direction:column;gap:var(--spacing-xs)}.login-form-label{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-primary)}.login-form-input{width:100%;padding:var(--spacing-md);font-size:var(--font-size-base);color:var(--color-text-primary);background:var(--color-bg-secondary);border:1px solid var(--color-border-primary);border-radius:var(--radius-md);transition:all var(--transition-base);font-family:var(--font-family-base)}.login-form-input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-alpha-10);background:var(--color-bg-primary)}.login-form-input::placeholder{color:var(--color-text-tertiary)}.login-error{padding:var(--spacing-md);background:var(--color-error-alpha-10);border:1px solid var(--color-error);border-radius:var(--radius-md);color:var(--color-error-dark);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);text-align:center}.login-submit-btn{width:100%;padding:var(--spacing-md);font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:#fff;background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-primary-dark) 100%);border:none;border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-base);box-shadow:var(--shadow-sm)}.login-submit-btn:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}.login-submit-btn:active{transform:translateY(0);box-shadow:var(--shadow-sm)}.login-version{margin-top:var(--spacing-lg);text-align:center}.login-version p{font-size:var(--font-size-xs);color:var(--color-text-tertiary);margin:0;font-weight:var(--font-weight-medium)}.login-footer{margin-top:var(--spacing-xl);padding-top:var(--spacing-lg);border-top:1px solid var(--color-border-secondary)}.login-demo-info{font-size:var(--font-size-xs);color:var(--color-text-secondary);line-height:var(--line-height-relaxed)}.login-demo-info p{margin:var(--spacing-xs) 0}.login-demo-info strong{color:var(--color-text-primary);font-weight:var(--font-weight-semibold)}.login-loading{display:flex;align-items:center;justify-content:center;min-height:100vh;background:var(--color-bg-secondary);color:var(--color-text-primary);font-size:var(--font-size-lg)}@media (max-width: 480px){.login-page{padding:var(--spacing-md)}.login-container{padding:var(--spacing-xl)}.login-logo{font-size:var(--font-size-3xl)}.login-title{font-size:var(--font-size-lg)}}.dashboard-layout{display:flex;height:100vh;overflow:hidden;background:var(--color-bg-secondary)}.dashboard-sidebar{width:var(--sidebar-width);background:var(--color-bg-primary);border-right:1px solid var(--color-border-secondary);display:flex;flex-direction:column;overflow-y:auto;box-shadow:var(--shadow-md);z-index:var(--z-sticky)}.sidebar-header{padding:var(--spacing-xl);border-bottom:1px solid var(--color-border-secondary);background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-primary-dark) 100%)}.sidebar-logo{font-size:var(--font-size-2xl);font-weight:var(--font-weight-extrabold);color:#fff;margin:0;text-shadow:0 2px 4px rgba(0,0,0,.1)}.sidebar-user{padding:var(--spacing-lg) var(--spacing-xl);border-bottom:1px solid var(--color-border-secondary);background:var(--color-bg-secondary)}.sidebar-user-name{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin:0 0 var(--spacing-xs) 0}.sidebar-user-role{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin:0;text-transform:capitalize}.sidebar-nav{flex:1;padding:var(--spacing-lg) 0;overflow-y:auto}.sidebar-nav-list{list-style:none;padding:0;margin:0}.sidebar-nav-item{margin-bottom:var(--spacing-xs);padding:0 var(--spacing-md)}.sidebar-nav-link{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-md) var(--spacing-lg);color:var(--color-text-secondary);text-decoration:none;border-radius:var(--radius-md);transition:all var(--transition-base);font-size:var(--font-size-base);font-weight:var(--font-weight-medium)}.sidebar-nav-link:hover{background:var(--color-bg-hover);color:var(--color-text-primary);transform:translate(4px)}.sidebar-nav-link.active{background:var(--color-primary-alpha-10);color:var(--color-primary);font-weight:var(--font-weight-semibold)}.sidebar-nav-icon{font-size:var(--font-size-lg);width:24px;text-align:center}.sidebar-footer{padding:var(--spacing-lg) var(--spacing-xl);border-top:1px solid var(--color-border-secondary);background:var(--color-bg-secondary)}.sidebar-logout-btn{width:100%;padding:var(--spacing-md);font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:#fff;background:var(--color-error);border:none;border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-base);box-shadow:var(--shadow-sm);display:flex;align-items:center;justify-content:center;gap:var(--spacing-sm)}.sidebar-logout-btn:hover{background:var(--color-error-dark);transform:translateY(-2px);box-shadow:var(--shadow-md)}.sidebar-logout-btn:active{transform:translateY(0);box-shadow:var(--shadow-sm)}.dashboard-main{flex:1;overflow-y:auto;background:var(--color-bg-secondary)}.dashboard-content{padding:var(--spacing-2xl);max-width:var(--width-7xl);margin:0 auto}.dashboard-home{display:flex;flex-direction:column;gap:var(--spacing-xl)}.dashboard-welcome{background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-primary-dark) 100%);color:#fff;padding:var(--spacing-2xl);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg)}.dashboard-welcome-title{font-size:var(--font-size-3xl);font-weight:var(--font-weight-bold);margin:0 0 var(--spacing-sm) 0}.dashboard-welcome-subtitle{font-size:var(--font-size-base);margin:0;opacity:.9}.dashboard-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:var(--spacing-lg)}.dashboard-stat-card{background:var(--color-bg-primary);border:1px solid var(--color-border-secondary);border-radius:var(--radius-lg);padding:var(--spacing-xl);box-shadow:var(--shadow-sm);transition:all var(--transition-base)}.dashboard-stat-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.dashboard-stat-label{font-size:var(--font-size-sm);color:var(--color-text-secondary);font-weight:var(--font-weight-medium);margin:0 0 var(--spacing-sm) 0}.dashboard-stat-value{font-size:var(--font-size-3xl);font-weight:var(--font-weight-bold);color:var(--color-text-primary);margin:0}.dashboard-quick-actions{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--spacing-md);margin-top:var(--spacing-xl)}.dashboard-action-btn{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-lg);background:var(--color-bg-primary);border:1px solid var(--color-border-secondary);border-radius:var(--radius-lg);color:var(--color-text-primary);font-size:var(--font-size-base);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-base);text-decoration:none}.dashboard-action-btn:hover{border-color:var(--color-primary);box-shadow:var(--shadow-md);transform:translateY(-2px)}@media (max-width: 768px){.dashboard-layout{flex-direction:column}.dashboard-sidebar{width:100%;height:auto;max-height:60vh;border-right:none;border-bottom:1px solid var(--color-border-secondary)}.sidebar-header{padding:var(--spacing-lg)}.sidebar-logo{font-size:var(--font-size-xl)}.sidebar-user{padding:var(--spacing-md) var(--spacing-lg)}.sidebar-nav{padding:var(--spacing-md) 0}.sidebar-nav-link{padding:var(--spacing-sm) var(--spacing-md)}.dashboard-content{padding:var(--spacing-lg)}.dashboard-welcome{padding:var(--spacing-xl)}.dashboard-welcome-title{font-size:var(--font-size-2xl)}.dashboard-stats,.dashboard-quick-actions{grid-template-columns:1fr}}@media (max-width: 480px){.dashboard-content{padding:var(--spacing-md)}.dashboard-welcome,.dashboard-stat-card{padding:var(--spacing-lg)}}.dashboard-sidebar::-webkit-scrollbar,.dashboard-main::-webkit-scrollbar{width:8px}.dashboard-sidebar::-webkit-scrollbar-track,.dashboard-main::-webkit-scrollbar-track{background:var(--color-bg-secondary)}.dashboard-sidebar::-webkit-scrollbar-thumb,.dashboard-main::-webkit-scrollbar-thumb{background:var(--color-border-primary);border-radius:var(--radius-full)}.dashboard-sidebar::-webkit-scrollbar-thumb:hover,.dashboard-main::-webkit-scrollbar-thumb:hover{background:var(--color-text-tertiary)}.settings-page{padding:var(--spacing-2xl);max-width:var(--width-5xl);margin:0 auto}.settings-header{margin-bottom:var(--spacing-2xl);padding-bottom:var(--spacing-lg);border-bottom:2px solid var(--color-border-secondary)}.settings-title{font-size:var(--font-size-3xl);font-weight:var(--font-weight-bold);color:var(--color-text-primary);margin:0 0 var(--spacing-sm) 0}.settings-subtitle{font-size:var(--font-size-base);color:var(--color-text-secondary);margin:0}.settings-content{display:flex;flex-direction:column;gap:var(--spacing-2xl)}.settings-section{background:var(--color-bg-primary);border-radius:var(--radius-xl);padding:var(--spacing-xl);box-shadow:var(--shadow-sm);border:1px solid var(--color-border-secondary)}.settings-section-header{margin-bottom:var(--spacing-xl);padding-bottom:var(--spacing-lg);border-bottom:1px solid var(--color-border-secondary)}.settings-section-title{font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin:0 0 var(--spacing-sm) 0}.settings-section-description{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin:0}.settings-group{margin-bottom:var(--spacing-xl)}.settings-group:last-child{margin-bottom:0}.settings-label{display:block;font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin-bottom:var(--spacing-xs)}.settings-hint{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin:0 0 var(--spacing-lg) 0;line-height:var(--line-height-relaxed)}.settings-hint-accent{color:var(--color-primary);font-weight:var(--font-weight-medium)}.theme-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:var(--spacing-lg)}.theme-option{position:relative;display:flex;flex-direction:column;gap:var(--spacing-md);padding:var(--spacing-lg);background:var(--color-bg-secondary);border:2px solid var(--color-border-secondary);border-radius:var(--radius-lg);cursor:pointer;transition:all var(--transition-base);text-align:left}.theme-option:hover{border-color:var(--color-primary-light);box-shadow:var(--shadow-md);transform:translateY(-2px)}.theme-option-active{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-alpha-20);background:var(--color-primary-alpha-10)}.theme-option-preview{width:100%;height:120px;border-radius:var(--radius-md);overflow:hidden;border:1px solid var(--color-border-primary);box-shadow:var(--shadow-sm)}.theme-option-preview-light{background:#fff}.theme-option-preview-dark{background:#1f2937}.theme-option-preview-auto{background:transparent;border:none;box-shadow:none}.theme-preview-header{height:20px;background:linear-gradient(135deg,#6366f1,#4f46e5)}.theme-preview-sidebar{position:absolute;left:0;top:20px;width:40px;height:calc(100% - 20px);background:#6366f11a}.theme-preview-content{margin-left:48px;margin-top:8px;padding:8px;display:flex;flex-direction:column;gap:6px}.theme-preview-card{height:16px;border-radius:3px}.theme-option-preview-light .theme-preview-card{background:#f3f4f6;border:1px solid #e5e7eb}.theme-option-preview-dark .theme-preview-card{background:#374151;border:1px solid #4b5563}.theme-preview-split{display:flex;height:100%}.theme-preview-half{flex:1;position:relative;overflow:hidden}.theme-preview-half-light{background:#fff}.theme-preview-half-dark{background:#1f2937}.theme-preview-half .theme-preview-header{height:24px}.theme-preview-half .theme-preview-content{margin:0;padding:8px}.theme-preview-half-light .theme-preview-card{height:20px;background:#f3f4f6;border:1px solid #e5e7eb;border-radius:3px;margin-bottom:6px}.theme-preview-half-dark .theme-preview-card{height:20px;background:#374151;border:1px solid #4b5563;border-radius:3px;margin-bottom:6px}.theme-option-info{display:flex;align-items:center;gap:var(--spacing-md)}.theme-option-icon{font-size:var(--font-size-2xl);line-height:1}.theme-option-name{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin-bottom:var(--spacing-xs)}.theme-option-desc{font-size:var(--font-size-sm);color:var(--color-text-secondary)}.theme-option-check{position:absolute;top:var(--spacing-md);right:var(--spacing-md);width:24px;height:24px;background:var(--color-primary);color:#fff;border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow-sm)}.settings-info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--spacing-lg)}.settings-info-item{display:flex;flex-direction:column;gap:var(--spacing-xs);padding:var(--spacing-md);background:var(--color-bg-secondary);border-radius:var(--radius-md);border:1px solid var(--color-border-secondary)}.settings-info-label{font-size:var(--font-size-sm);color:var(--color-text-secondary);font-weight:var(--font-weight-medium)}.settings-info-value{font-size:var(--font-size-base);color:var(--color-text-primary);font-weight:var(--font-weight-semibold)}@media (max-width: 768px){.settings-page{padding:var(--spacing-lg)}.theme-options{grid-template-columns:1fr}.settings-title{font-size:var(--font-size-2xl)}.settings-section{padding:var(--spacing-lg)}}@media (max-width: 480px){.settings-page{padding:var(--spacing-md)}.settings-header{margin-bottom:var(--spacing-lg)}.settings-section,.theme-option{padding:var(--spacing-md)}.settings-info-grid{grid-template-columns:1fr}}.permissions-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.5rem;margin-top:1rem}.permission-module{border:1px solid var(--border-color, #e5e7eb);border-radius:8px;padding:1rem;background-color:var(--card-background, #fff)}.permission-module-header{display:flex;justify-content:space-between;align-items:center;padding-bottom:.75rem;border-bottom:1px solid var(--border-color, #e5e7eb);margin-bottom:.75rem}.permission-list{display:flex;flex-direction:column;gap:.5rem}.permission-item{display:flex;align-items:flex-start;gap:.75rem;padding:.625rem;border-radius:6px;cursor:pointer;transition:background-color .2s}.permission-item:hover{background-color:var(--hover-background, #f9fafb)}.permission-item input[type=checkbox]{margin-top:.25rem;cursor:pointer;flex-shrink:0}.permission-info{display:flex;flex-direction:column;gap:.25rem;flex:1}.permission-name{font-weight:500;font-size:.875rem;color:var(--text-color, #111827)}.permission-description{font-size:.75rem;color:var(--text-muted, #6b7280)}.checkbox-label{display:flex;align-items:center;gap:.5rem;cursor:pointer;-webkit-user-select:none;user-select:none}.checkbox-label input[type=checkbox]{cursor:pointer}.badge{display:inline-flex;align-items:center;padding:.25rem .75rem;font-size:.75rem;font-weight:500;border-radius:9999px;white-space:nowrap}.badge-primary{background-color:#dbeafe;color:#1e40af}.badge-secondary{background-color:#e5e7eb;color:#374151}.badge-success{background-color:#d1fae5;color:#065f46}.badge-warning{background-color:#fef3c7;color:#92400e}.badge-info{background-color:#ddd6fe;color:#5b21b6}.badge-danger{background-color:#fee2e2;color:#991b1b}.action-buttons{display:flex;gap:.5rem;align-items:center}.btn-icon{background:none;border:none;padding:.375rem;cursor:pointer;font-size:1.125rem;border-radius:4px;transition:background-color .2s}.btn-icon:hover:not(:disabled){background-color:var(--hover-background, #f3f4f6)}.btn-icon:disabled{opacity:.5;cursor:not-allowed}.btn-icon.btn-danger:hover:not(:disabled){background-color:#fee2e2}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem}.form-group{display:flex;flex-direction:column;gap:.5rem}.form-label{font-size:.875rem;font-weight:500;color:var(--text-color, #374151)}.form-label.required:after{content:" *";color:#ef4444}.form-help{font-size:.75rem;color:var(--text-muted, #6b7280);margin-top:.25rem}.form-textarea{width:100%;padding:.625rem;border:1px solid var(--border-color, #d1d5db);border-radius:6px;font-size:.875rem;font-family:inherit;resize:vertical;transition:border-color .2s}.form-textarea:focus{outline:none;border-color:var(--primary-color, #3b82f6);box-shadow:0 0 0 3px #3b82f61a}.form-actions{display:flex;gap:1rem;justify-content:flex-end;margin-top:2rem;padding-top:2rem;border-top:1px solid var(--border-color, #e5e7eb)}.alert{padding:1rem;border-radius:8px;margin-bottom:1.5rem;display:flex;align-items:flex-start;gap:.75rem}.alert-error{background-color:#fee2e2;color:#991b1b;border:1px solid #fecaca}.alert-warning{background-color:#fef3c7;color:#92400e;border:1px solid #fde68a}.alert-info{background-color:#dbeafe;color:#1e40af;border:1px solid #bfdbfe}.grid{display:grid}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}@media (min-width: 1024px){.lg\\:col-span-1{grid-column:span 1 / span 1}.lg\\:col-span-2{grid-column:span 2 / span 2}.grid-cols-1.lg\\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (min-width: 768px){.md\\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-6{gap:1.5rem}.space-y-1>*+*{margin-top:.25rem}.space-y-2>*+*{margin-top:.5rem}.space-y-3>*+*{margin-top:.75rem}.space-y-4>*+*{margin-top:1rem}.flex{display:flex}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xs{font-size:.75rem;line-height:1rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-2xl{font-size:1.5rem;line-height:2rem}.font-medium{font-weight:500}.font-semibold{font-weight:600}.font-bold{font-weight:700}.text-gray-500{color:#6b7280}.text-gray-700{color:#374151}.text-green-600{color:#059669}.bg-gray-50{background-color:#f9fafb}.bg-gray-100{background-color:#f3f4f6}.bg-blue-50{background-color:#eff6ff}.rounded{border-radius:.25rem}.rounded-lg{border-radius:.5rem}.border{border-width:1px}.p-2{padding:.5rem}.p-4{padding:1rem}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-4{margin-top:1rem}.mt-6{margin-top:1.5rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-6{margin-bottom:1.5rem}.ml-2{margin-left:.5rem}.capitalize{text-transform:capitalize}.hover\\:bg-gray-50:hover{background-color:#f9fafb}.filters-container{margin-bottom:1rem;padding:1rem;background-color:var(--card-background, #fff);border-radius:8px;border:1px solid var(--border-color, #e5e7eb)}:root{--color-primary: #6366f1;--color-primary-dark: #4f46e5;--color-primary-light: #818cf8;--color-primary-alpha-10: rgba(99, 102, 241, .1);--color-primary-alpha-20: rgba(99, 102, 241, .2);--color-success: #10b981;--color-success-dark: #059669;--color-success-light: #34d399;--color-success-alpha-10: rgba(16, 185, 129, .1);--color-warning: #f59e0b;--color-warning-dark: #d97706;--color-warning-light: #fbbf24;--color-warning-alpha-10: rgba(245, 158, 11, .1);--color-error: #ef4444;--color-error-dark: #dc2626;--color-error-light: #f87171;--color-error-alpha-10: rgba(239, 68, 68, .1);--color-info: #3b82f6;--color-info-dark: #2563eb;--color-info-light: #60a5fa;--color-info-alpha-10: rgba(59, 130, 246, .1);--color-bg-primary: #ffffff;--color-bg-secondary: #f9fafb;--color-bg-tertiary: #f3f4f6;--color-bg-hover: #f3f4f6;--color-bg-active: #e5e7eb;--color-bg-disabled: #f9fafb;--color-bg-overlay: rgba(0, 0, 0, .5);--color-text-primary: #1f2937;--color-text-secondary: #4b5563;--color-text-tertiary: #6b7280;--color-text-disabled: #9ca3af;--color-text-inverse: #ffffff;--color-text-link: var(--color-primary);--color-text-link-hover: var(--color-primary-dark);--color-border-primary: #d1d5db;--color-border-secondary: #e5e7eb;--color-border-focus: var(--color-primary);--color-border-error: var(--color-error);--color-border-success: var(--color-success);--shadow-xs: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow-sm: 0 1px 3px 0 rgba(0, 0, 0, .1), 0 1px 2px -1px rgba(0, 0, 0, .1);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -2px rgba(0, 0, 0, .1);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -4px rgba(0, 0, 0, .1);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .1), 0 8px 10px -6px rgba(0, 0, 0, .1);--shadow-2xl: 0 25px 50px -12px rgba(0, 0, 0, .25);--shadow-inner: inset 0 2px 4px 0 rgba(0, 0, 0, .05);--spacing-xs: 4px;--spacing-sm: 8px;--spacing-md: 16px;--spacing-lg: 24px;--spacing-xl: 32px;--spacing-2xl: 48px;--spacing-3xl: 64px;--radius-sm: 4px;--radius-md: 6px;--radius-lg: 8px;--radius-xl: 12px;--radius-2xl: 16px;--radius-full: 9999px;--font-family-base: -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;--font-family-mono: "SF Mono", "Monaco", "Inconsolata", "Fira Code", "Fira Mono", "Roboto Mono", "Courier New", monospace;--font-size-xs: 12px;--font-size-sm: 14px;--font-size-base: 16px;--font-size-lg: 18px;--font-size-xl: 20px;--font-size-2xl: 24px;--font-size-3xl: 30px;--font-size-4xl: 36px;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--font-weight-extrabold: 800;--line-height-tight: 1.25;--line-height-normal: 1.5;--line-height-relaxed: 1.75;--transition-fast: .15s ease-in-out;--transition-base: .2s ease-in-out;--transition-slow: .3s ease-in-out;--transition-slower: .5s ease-in-out;--z-dropdown: 1000;--z-sticky: 1020;--z-fixed: 1030;--z-modal-backdrop: 1040;--z-modal: 1050;--z-popover: 1060;--z-tooltip: 1070;--width-xs: 320px;--width-sm: 384px;--width-md: 448px;--width-lg: 512px;--width-xl: 576px;--width-2xl: 672px;--width-3xl: 768px;--width-4xl: 896px;--width-5xl: 1024px;--width-6xl: 1152px;--width-7xl: 1280px;--width-full: 100%;--color-status-scheduled: #3b82f6;--color-status-scheduled-bg: rgba(59, 130, 246, .1);--color-status-confirmed: #8b5cf6;--color-status-confirmed-bg: rgba(139, 92, 246, .1);--color-status-in-progress: #f59e0b;--color-status-in-progress-bg: rgba(245, 158, 11, .1);--color-status-completed: #10b981;--color-status-completed-bg: rgba(16, 185, 129, .1);--color-status-cancelled: #ef4444;--color-status-cancelled-bg: rgba(239, 68, 68, .1);--color-status-no-show: #6b7280;--color-status-no-show-bg: rgba(107, 114, 128, .1);--sidebar-width: 250px;--header-height: 60px;--input-height: 40px;--button-height: 40px}[data-theme=dark]{--color-primary: #818cf8;--color-primary-dark: #6366f1;--color-primary-light: #a5b4fc;--color-primary-alpha-10: rgba(129, 140, 248, .15);--color-primary-alpha-20: rgba(129, 140, 248, .25);--color-success: #34d399;--color-success-dark: #10b981;--color-success-light: #6ee7b7;--color-success-alpha-10: rgba(52, 211, 153, .15);--color-warning: #fbbf24;--color-warning-dark: #f59e0b;--color-warning-light: #fcd34d;--color-warning-alpha-10: rgba(251, 191, 36, .15);--color-error: #f87171;--color-error-dark: #ef4444;--color-error-light: #fca5a5;--color-error-alpha-10: rgba(248, 113, 113, .15);--color-info: #60a5fa;--color-info-dark: #3b82f6;--color-info-light: #93c5fd;--color-info-alpha-10: rgba(96, 165, 250, .15);--color-bg-primary: #1e293b;--color-bg-secondary: #0f172a;--color-bg-tertiary: #334155;--color-bg-hover: #334155;--color-bg-active: #475569;--color-bg-disabled: #1e293b;--color-bg-overlay: rgba(0, 0, 0, .8);--color-text-primary: #f1f5f9;--color-text-secondary: #cbd5e1;--color-text-tertiary: #94a3b8;--color-text-disabled: #64748b;--color-text-inverse: #0f172a;--color-text-link: var(--color-primary-light);--color-text-link-hover: #c7d2fe;--color-border-primary: #475569;--color-border-secondary: #334155;--color-border-focus: var(--color-primary-light);--color-border-error: var(--color-error);--color-border-success: var(--color-success);--shadow-xs: 0 1px 2px 0 rgba(0, 0, 0, .4);--shadow-sm: 0 1px 3px 0 rgba(0, 0, 0, .5), 0 1px 2px -1px rgba(0, 0, 0, .5);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .5), 0 2px 4px -2px rgba(0, 0, 0, .5);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .6), 0 4px 6px -4px rgba(0, 0, 0, .5);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .6), 0 8px 10px -6px rgba(0, 0, 0, .5);--shadow-2xl: 0 25px 50px -12px rgba(0, 0, 0, .7);--shadow-inner: inset 0 2px 4px 0 rgba(0, 0, 0, .4);--color-status-scheduled: #60a5fa;--color-status-scheduled-bg: rgba(96, 165, 250, .2);--color-status-confirmed: #a78bfa;--color-status-confirmed-bg: rgba(167, 139, 250, .2);--color-status-in-progress: #fbbf24;--color-status-in-progress-bg: rgba(251, 191, 36, .2);--color-status-completed: #34d399;--color-status-completed-bg: rgba(52, 211, 153, .2);--color-status-cancelled: #f87171;--color-status-cancelled-bg: rgba(248, 113, 113, .2);--color-status-no-show: #a8a29e;--color-status-no-show-bg: rgba(168, 162, 158, .2)}html.loading *{transition:none!important}html:not(.loading) *{transition:background-color var(--transition-base),color var(--transition-base),border-color var(--transition-base)}*:where([style*=transition]){transition:initial!important}input,textarea,select{transition:border-color var(--transition-base),box-shadow var(--transition-base)}body{background-color:var(--color-bg-secondary);color:var(--color-text-primary);font-family:var(--font-family-base);font-size:var(--font-size-base);line-height:var(--line-height-normal)}[data-theme=dark]{color-scheme:dark}[data-theme=light]{color-scheme:light}::-webkit-scrollbar{width:12px;height:12px}::-webkit-scrollbar-track{background:var(--color-bg-secondary)}::-webkit-scrollbar-thumb{background:var(--color-border-primary);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--color-text-tertiary)}*{scrollbar-width:thin;scrollbar-color:var(--color-border-primary) var(--color-bg-secondary)}.page-container{max-width:var(--width-7xl);margin:0 auto}.page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-2xl);flex-wrap:wrap;gap:var(--spacing-lg)}.page-header h1{color:var(--color-text-primary);font-size:var(--font-size-3xl);font-weight:var(--font-weight-bold);margin:0}.header-actions{display:flex;gap:var(--spacing-sm);flex-wrap:wrap}.btn{padding:var(--spacing-sm) var(--spacing-lg);border:none;border-radius:var(--radius-md);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-base);display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-xs);font-family:var(--font-family-base);box-shadow:var(--shadow-sm)}.btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:var(--shadow-md)}.btn:active:not(:disabled){transform:translateY(0);box-shadow:var(--shadow-sm)}.btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.btn-primary{background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-primary-dark) 100%);color:#fff}.btn-primary:hover:not(:disabled){background:var(--color-primary-dark)}.btn-secondary{background-color:var(--color-bg-tertiary);color:var(--color-text-primary);border:1px solid var(--color-border-primary)}.btn-secondary:hover:not(:disabled){background-color:var(--color-bg-hover);border-color:var(--color-border-focus)}.btn-danger{background-color:var(--color-error);color:#fff}.btn-success{background-color:var(--color-success);color:#fff}.btn-sm{padding:var(--spacing-xs) var(--spacing-md);font-size:var(--font-size-xs)}.btn-lg{padding:var(--spacing-md) var(--spacing-xl);font-size:var(--font-size-base)}.form-group{margin-bottom:var(--spacing-lg)}.form-label{display:block;margin-bottom:var(--spacing-xs);color:var(--color-text-primary);font-weight:var(--font-weight-medium);font-size:var(--font-size-sm)}.form-label.required:after{content:" *";color:var(--color-error)}.form-input,.form-textarea,.form-select{width:100%;padding:var(--spacing-md);border:1px solid var(--color-border-primary);border-radius:var(--radius-md);font-size:var(--font-size-base);font-family:var(--font-family-base);background-color:var(--color-bg-primary);color:var(--color-text-primary);transition:all var(--transition-base)}.form-input:focus,.form-textarea:focus,.form-select:focus{outline:none;border-color:var(--color-border-focus);box-shadow:0 0 0 3px var(--color-primary-alpha-10)}.form-input::placeholder,.form-textarea::placeholder{color:var(--color-text-tertiary)}.form-input:disabled,.form-textarea:disabled,.form-select:disabled{background-color:var(--color-bg-disabled);color:var(--color-text-disabled);cursor:not-allowed}.form-textarea{resize:vertical;min-height:100px}.form-error{margin-top:var(--spacing-xs);color:var(--color-error);font-size:var(--font-size-sm)}.form-input.error,.form-textarea.error,.form-select.error{border-color:var(--color-border-error)}.form-hint{margin-top:var(--spacing-xs);color:var(--color-text-secondary);font-size:var(--font-size-sm)}.filters{background-color:var(--color-bg-primary);padding:var(--spacing-lg);border-radius:var(--radius-lg);margin-bottom:var(--spacing-xl);border:1px solid var(--color-border-secondary);box-shadow:var(--shadow-sm)}.filters-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:var(--spacing-md);margin-bottom:var(--spacing-md)}.filters-actions{display:flex;gap:var(--spacing-sm);justify-content:flex-end}.table-container{background-color:var(--color-bg-primary);border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-md);border:1px solid var(--color-border-secondary)}.table thead{background-color:var(--color-bg-secondary)}.table th{padding:var(--spacing-md) var(--spacing-lg);text-align:left;font-weight:var(--font-weight-semibold);color:var(--color-text-primary);font-size:var(--font-size-sm);border-bottom:2px solid var(--color-border-primary)}.table td{padding:var(--spacing-md) var(--spacing-lg);border-bottom:1px solid var(--color-border-secondary);color:var(--color-text-primary);font-size:var(--font-size-sm)}.table tbody tr{transition:background-color var(--transition-base)}.table tbody tr:hover{background-color:var(--color-bg-hover)}.table tbody tr:last-child td{border-bottom:none}.table-actions{display:flex;gap:var(--spacing-xs)}.table-empty{text-align:center;padding:var(--spacing-3xl);color:var(--color-text-secondary);font-size:var(--font-size-base)}.pagination{display:flex;justify-content:center;align-items:center;gap:var(--spacing-sm);margin-top:var(--spacing-xl)}.pagination-button{padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--color-border-primary);background-color:var(--color-bg-primary);color:var(--color-text-primary);border-radius:var(--radius-md);cursor:pointer;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);transition:all var(--transition-base);min-width:36px}.pagination-button:hover:not(:disabled){background-color:var(--color-bg-hover);border-color:var(--color-primary)}.pagination-button:disabled{opacity:.4;cursor:not-allowed}.pagination-button.active{background-color:var(--color-primary);color:#fff;border-color:var(--color-primary)}.pagination-info{color:var(--color-text-secondary);font-size:var(--font-size-sm);padding:0 var(--spacing-md)}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:var(--color-bg-overlay);display:flex;align-items:center;justify-content:center;z-index:var(--z-modal-backdrop);padding:var(--spacing-lg)}.modal-content{background-color:var(--color-bg-primary);border-radius:var(--radius-xl);box-shadow:var(--shadow-2xl);max-width:500px;width:100%;max-height:90vh;overflow-y:auto;border:1px solid var(--color-border-secondary);position:relative;z-index:var(--z-modal)}.modal-header{padding:var(--spacing-xl);border-bottom:1px solid var(--color-border-secondary);display:flex;justify-content:space-between;align-items:center}.modal-title{font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin:0}.modal-close{background:transparent;border:none;font-size:var(--font-size-2xl);color:var(--color-text-secondary);cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-md);transition:all var(--transition-base)}.modal-close:hover{background-color:var(--color-bg-hover);color:var(--color-text-primary)}.modal-body{padding:var(--spacing-xl)}.modal-body p{margin:var(--spacing-md) 0;line-height:var(--line-height-relaxed)}.modal-warning{background-color:var(--color-warning-alpha-10);border:1px solid var(--color-warning);border-radius:var(--radius-md);padding:var(--spacing-md);margin:var(--spacing-md) 0;text-align:center}.modal-warning strong{color:var(--color-warning-dark);font-size:var(--font-size-lg)}.modal-footer{padding:var(--spacing-xl);border-top:1px solid var(--color-border-secondary);display:flex;justify-content:flex-end;gap:var(--spacing-sm)}.badge{display:inline-flex;align-items:center;padding:var(--spacing-xs) var(--spacing-md);border-radius:var(--radius-full);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);text-transform:uppercase;letter-spacing:.5px}.badge-success{background-color:var(--color-success-alpha-10);color:var(--color-success-dark)}.badge-warning{background-color:var(--color-warning-alpha-10);color:var(--color-warning-dark)}.badge-error{background-color:var(--color-error-alpha-10);color:var(--color-error-dark)}.badge-info{background-color:var(--color-info-alpha-10);color:var(--color-info-dark)}.badge-scheduled{background-color:var(--color-status-scheduled-bg);color:var(--color-status-scheduled)}.badge-confirmed{background-color:var(--color-status-confirmed-bg);color:var(--color-status-confirmed)}.badge-in-progress{background-color:var(--color-status-in-progress-bg);color:var(--color-status-in-progress)}.badge-completed{background-color:var(--color-status-completed-bg);color:var(--color-status-completed)}.badge-cancelled{background-color:var(--color-status-cancelled-bg);color:var(--color-status-cancelled)}.badge-no-show{background-color:var(--color-status-no-show-bg);color:var(--color-status-no-show)}.loading-container{display:flex;justify-content:center;align-items:center;padding:var(--spacing-3xl)}.loading-spinner{width:40px;height:40px;border:4px solid var(--color-border-secondary);border-top-color:var(--color-primary);border-radius:var(--radius-full);animation:spin .8s linear infinite}.card{background-color:var(--color-bg-primary);border:1px solid var(--color-border-secondary);border-radius:var(--radius-lg);padding:var(--spacing-xl);box-shadow:var(--shadow-sm);transition:all var(--transition-base)}.card:hover{box-shadow:var(--shadow-md)}.card-header{margin-bottom:var(--spacing-lg);padding-bottom:var(--spacing-lg);border-bottom:1px solid var(--color-border-secondary)}.card-title{font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin:0}.card-body{color:var(--color-text-primary)}.card-footer{margin-top:var(--spacing-lg);padding-top:var(--spacing-lg);border-top:1px solid var(--color-border-secondary);display:flex;justify-content:flex-end;gap:var(--spacing-sm)}.alert{padding:var(--spacing-md) var(--spacing-lg);border-radius:var(--radius-md);margin-bottom:var(--spacing-lg);display:flex;align-items:flex-start;gap:var(--spacing-md);border-left:4px solid}.alert-success{background-color:var(--color-success-alpha-10);border-color:var(--color-success);color:var(--color-success-dark)}.alert-warning{background-color:var(--color-warning-alpha-10);border-color:var(--color-warning);color:var(--color-warning-dark)}.alert-error{background-color:var(--color-error-alpha-10);border-color:var(--color-error);color:var(--color-error-dark)}.alert-info{background-color:var(--color-info-alpha-10);border-color:var(--color-info);color:var(--color-info-dark)}.text-secondary{color:var(--color-text-secondary)}.checkbox-label{display:flex;align-items:center;cursor:pointer;font-size:var(--font-size-sm);color:var(--color-text-primary);gap:var(--spacing-sm)}.checkbox-input{width:16px;height:16px;cursor:pointer;accent-color:var(--color-primary)}.row-deleted{background-color:var(--color-warning-alpha-10);opacity:.7}@media (max-width: 768px){.page-header{flex-direction:column;align-items:flex-start}.header-actions{width:100%;justify-content:flex-start}.filters-grid{grid-template-columns:1fr}.table-container{overflow-x:auto}.modal-content{max-width:100%;margin:var(--spacing-md)}.pagination{flex-wrap:wrap}}@media (max-width: 480px){.btn{width:100%}.filters-actions{flex-direction:column}.filters-actions .btn{width:100%}.modal-header,.modal-body,.modal-footer,.card{padding:var(--spacing-lg)}}.datetime-time-select{width:100%;padding:12px 40px 12px 16px;background:var(--color-bg-primary);border:2px solid var(--color-border-secondary);border-radius:8px;font-size:14px;cursor:pointer;transition:all .2s ease;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg width='12' height='8' viewBox='0 0 12 8' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1L6 6L11 1' stroke='%236b7280' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 16px center}*{margin:0;padding:0;box-sizing:border-box}body{font-family:var(--font-family-base);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:var(--color-bg-secondary);color:var(--color-text-primary);line-height:var(--line-height-normal)}#root{min-height:100vh}*{box-sizing:border-box;margin:0;padding:0}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}.page-container{max-width:1400px;margin:0 auto}.page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px;flex-wrap:wrap;gap:15px}.page-header h1{color:var(--color-text-primary);font-size:28px;margin:0}.header-actions{display:flex;gap:10px}.btn{padding:10px 20px;border:none;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s;display:inline-flex;align-items:center;justify-content:center}.btn:disabled{opacity:.6;cursor:not-allowed}.btn-primary{background-color:var(--color-primary);color:var(--color-bg-primary)}.btn-primary:hover:not(:disabled){background-color:var(--color-primary-dark)}.btn-secondary{background-color:var(--color-text-tertiary);color:var(--color-bg-primary)}.btn-secondary:hover:not(:disabled){background-color:var(--color-text-secondary)}.btn-danger{background-color:var(--color-error);color:var(--color-bg-primary)}.btn-danger:hover:not(:disabled){background-color:var(--color-error-dark)}.btn-success{background-color:var(--color-success);color:var(--color-bg-primary)}.btn-success:hover:not(:disabled){background-color:var(--color-success-dark)}.btn-sm{padding:6px 12px;font-size:12px}.btn-md{padding:10px 20px;font-size:14px}.btn-lg{padding:14px 28px;font-size:16px}.input-group{margin-bottom:20px}.input-label{display:block;margin-bottom:8px;font-weight:500;color:var(--color-text-primary);font-size:14px}.input{width:100%;padding:10px 12px;border:1px solid var(--color-border-primary);border-radius:6px;font-size:14px;transition:border-color .2s}.input:focus{outline:none;border-color:var(--color-primary)}.input-error{border-color:var(--color-error)}.error-message{display:block;margin-top:5px;color:var(--color-error);font-size:12px}.filters-container{background-color:var(--color-bg-secondary);padding:20px;border-radius:8px;margin-bottom:25px}.filters-row{display:flex;gap:15px;align-items:flex-end;flex-wrap:wrap}.search-input{flex:1;min-width:250px}.filter-select{min-width:150px}.table-container{background-color:var(--color-bg-primary);border-radius:8px;overflow:hidden;box-shadow:0 2px 4px #0000001a}.table{width:100%;border-collapse:collapse}.table thead{background-color:var(--color-bg-tertiary);color:var(--color-bg-primary)}.table th{padding:14px 16px;text-align:left;font-weight:600;font-size:13px;text-transform:uppercase;letter-spacing:.5px}.table td{padding:14px 16px;border-bottom:1px solid var(--color-bg-tertiary);font-size:14px}.table tbody tr{transition:background-color .2s}.table tbody tr:hover{background-color:var(--color-bg-secondary)}.table-row-clickable{cursor:pointer}.table-loading,.table-empty{padding:60px 20px;text-align:center;color:var(--color-text-secondary)}.pagination{display:flex;justify-content:center;align-items:center;gap:8px;margin-top:25px;padding:20px 0}.pagination-btn,.pagination-page{padding:8px 14px;border:1px solid var(--color-border-primary);background-color:var(--color-bg-primary);color:var(--color-text-primary);border-radius:6px;cursor:pointer;font-size:14px;transition:all .2s}.pagination-btn:hover:not(:disabled),.pagination-page:hover{background-color:var(--color-bg-tertiary)}.pagination-btn:disabled{opacity:.5;cursor:not-allowed}.pagination-page.active{background-color:var(--color-primary);color:var(--color-bg-primary);border-color:var(--color-primary)}.pagination-ellipsis{padding:8px 4px;color:var(--color-text-secondary)}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;color:var(--color-text-secondary)}.spinner{border:4px solid var(--color-bg-tertiary);border-top:4px solid var(--color-primary);border-radius:50%;width:40px;height:40px;animation:spin 1s linear infinite;margin-bottom:15px}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.modal-content{background-color:var(--color-bg-primary);border-radius:8px;box-shadow:0 4px 6px #0000001a;width:100%;max-height:90vh;overflow-y:auto}.modal-content.max-w-md{max-width:500px}.modal-content.max-w-2xl{max-width:700px}.modal-content.max-w-4xl{max-width:1000px}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 25px;border-bottom:1px solid var(--color-bg-tertiary)}.modal-header h2{margin:0;font-size:20px;color:var(--color-text-primary)}.modal-close{background:none;border:none;font-size:28px;color:var(--color-text-secondary);cursor:pointer;padding:0;width:30px;height:30px;display:flex;align-items:center;justify-content:center}.modal-close:hover{color:var(--color-text-primary)}.modal-body{padding:25px}.modal-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:25px}.form-container{background-color:var(--color-bg-primary);padding:30px;border-radius:8px;box-shadow:0 2px 4px #0000001a}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(400px,1fr));gap:30px;margin-bottom:30px}.form-column h3{color:var(--color-text-primary);font-size:18px;margin-bottom:20px;padding-bottom:10px;border-bottom:2px solid var(--color-bg-tertiary)}.form-actions{display:flex;gap:15px;justify-content:flex-end;padding-top:20px;border-top:1px solid var(--color-bg-tertiary)}.detail-container{background-color:var(--color-bg-primary);padding:30px;border-radius:8px;box-shadow:0 2px 4px #0000001a}.detail-section{margin-bottom:35px}.detail-section:last-child{margin-bottom:0}.detail-section h2{color:var(--color-text-primary);font-size:20px;margin-bottom:20px;padding-bottom:12px;border-bottom:2px solid var(--color-bg-tertiary)}.detail-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:20px}.detail-item{display:flex;flex-direction:column;gap:5px}.detail-item.full-width{grid-column:1 / -1}.detail-item label{font-weight:600;color:var(--color-text-secondary);font-size:13px;text-transform:uppercase;letter-spacing:.5px}.detail-item span{color:var(--color-text-primary);font-size:15px}.detail-actions{margin-top:30px;padding-top:25px;border-top:1px solid var(--color-bg-tertiary);display:flex;gap:15px}.error-banner{background-color:var(--color-error-alpha-10);color:var(--color-error-dark);padding:15px 20px;border-radius:6px;margin-bottom:20px;border-left:4px solid var(--color-error)}.success-banner{background-color:var(--color-success-alpha-10);color:var(--color-success-dark);padding:15px 20px;border-radius:6px;margin-bottom:20px;border-left:4px solid var(--color-success)}.info-banner{background-color:var(--color-bg-secondary);color:var(--color-primary-dark);padding:15px 20px;border-radius:6px;margin-bottom:20px;border-left:4px solid var(--color-primary)}.results-info{margin-bottom:15px;color:var(--color-text-secondary);font-size:14px}.text-muted{color:var(--color-text-secondary);font-family:monospace;font-size:12px}.text-danger{color:var(--color-error);margin-top:10px;font-size:14px}@media (max-width: 768px){.page-header{flex-direction:column;align-items:flex-start}.form-grid,.detail-grid{grid-template-columns:1fr}.filters-row{flex-direction:column;align-items:stretch}.search-input,.filter-select{width:100%}.table-container{overflow-x:auto}}.status-badge{padding:4px 12px;border-radius:12px;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;display:inline-block}.status-reserved{background-color:var(--color-bg-secondary);color:var(--color-primary-dark)}.status-in-progress{background-color:var(--color-bg-primary)3cd;color:var(--color-warning-dark)}.status-attended{background-color:var(--color-success-alpha-10);color:var(--color-success-dark)}.status-cancelled{background-color:var(--color-error-alpha-10);color:var(--color-error-dark)}.status-no-show{background-color:var(--color-warning-alpha-10);color:var(--color-warning-dark)}.filter-input{min-width:150px}.info-box{background-color:var(--color-bg-secondary);border-left:4px solid var(--color-primary);padding:15px;border-radius:4px;margin-top:20px}.form-section-card{padding:20px;background-color:var(--color-bg-secondary);border-radius:8px;border:2px solid var(--color-bg-tertiary);margin-bottom:30px;transition:all .2s ease}.form-section-card:hover{border-color:var(--color-border-secondary);box-shadow:0 2px 8px #0000000d}.form-section-card.highlighted{background-color:var(--color-info-alpha-10);border-color:var(--color-bg-secondary)}.form-section-card.highlighted:hover{border-color:var(--color-bg-secondary)}.progress-indicator{display:flex;gap:20px;justify-content:center;flex-wrap:wrap;margin-bottom:30px;padding-bottom:20px;border-bottom:2px solid var(--color-bg-tertiary)}.progress-step{display:flex;align-items:center;gap:8px;font-weight:500;font-size:14px;transition:all .3s ease}.progress-step.completed{color:var(--color-success)}.progress-step.pending{color:var(--color-text-tertiary)}.progress-step-icon{width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:600;transition:all .3s ease}.progress-step.completed .progress-step-icon{background-color:var(--color-success);color:var(--color-bg-primary);animation:checkmarkPop .3s ease}.progress-step.pending .progress-step-icon{background-color:var(--color-bg-tertiary);color:var(--color-text-secondary)}@keyframes checkmarkPop{0%{transform:scale(.8)}50%{transform:scale(1.1)}to{transform:scale(1)}}.section-header-with-icon{display:flex;align-items:center;gap:8px;margin-bottom:15px}.section-header-with-icon h4{margin:0;font-size:15px;color:var(--color-text-primary);font-weight:600}.info-message{display:flex;gap:10px;padding:12px;border-radius:6px;font-size:13px;margin-top:12px;transition:all .2s ease}.info-message svg{flex-shrink:0;margin-top:2px}.info-message.info{background-color:var(--color-bg-secondary);border:1px solid var(--color-info-alpha-10);color:var(--color-info-dark)}.info-message.warning{background-color:var(--color-bg-primary)8e1;border:1px solid var(--color-warning-alpha-10);color:var(--color-warning-dark)}.info-message.error{background-color:var(--color-warning-alpha-10);border:1px solid var(--color-warning-alpha-10);color:var(--color-warning-dark)}.service-card{padding:12px;background-color:var(--color-bg-primary);border-radius:6px;margin-bottom:8px;display:flex;justify-content:space-between;align-items:center;border:2px solid var(--color-bg-secondary);box-shadow:0 1px 3px #0000000d;transition:all .2s ease}.service-card:hover{border-color:var(--color-bg-secondary);box-shadow:0 2px 6px #0000001a;transform:translateY(-1px)}.service-card-content{flex:1}.service-card-title{font-weight:600;color:var(--color-text-primary);margin-bottom:4px}.service-card-meta{font-size:12px;color:var(--color-primary)}@media (max-width: 768px){.progress-indicator{gap:10px}.progress-step{font-size:12px}.progress-step-icon{width:20px;height:20px;font-size:10px}.form-section-card{padding:15px;margin-bottom:20px}}.calendar-container{background:var(--color-bg-primary);border-radius:8px;box-shadow:0 2px 4px #0000001a;padding:20px}.calendar-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.calendar-nav{display:flex;align-items:center;gap:20px}.calendar-nav-btn{background:none;border:1px solid var(--color-border-primary);border-radius:4px;padding:8px 12px;font-size:18px;cursor:pointer;transition:all .2s}.calendar-nav-btn:hover{background-color:var(--color-bg-tertiary)}.calendar-title{font-size:24px;font-weight:600;color:var(--color-text-primary);margin:0;min-width:200px;text-align:center}.calendar-today-btn{padding:8px 16px;background-color:var(--color-primary);color:var(--color-bg-primary);border:none;border-radius:4px;cursor:pointer;font-size:14px;font-weight:500;transition:all .2s}.calendar-today-btn:hover{background-color:var(--color-primary-dark)}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:1px;background-color:var(--color-bg-tertiary);border:1px solid var(--color-bg-tertiary)}.calendar-day-name{background-color:var(--color-bg-tertiary);color:var(--color-bg-primary);padding:12px;text-align:center;font-weight:600;font-size:13px;text-transform:uppercase}.calendar-day{background-color:var(--color-bg-primary);min-height:120px;padding:8px;position:relative;cursor:default}.calendar-day.empty{background-color:var(--color-bg-secondary)}.calendar-day.today{background-color:var(--color-success-alpha-10)}.calendar-day-number{font-weight:600;color:var(--color-text-primary);margin-bottom:4px;font-size:14px}.calendar-day.today .calendar-day-number{background-color:var(--color-primary);color:var(--color-bg-primary);border-radius:50%;width:28px;height:28px;display:flex;align-items:center;justify-content:center}.calendar-appointments{display:flex;flex-direction:column;gap:2px}.calendar-appointment{background-color:var(--color-bg-secondary);border-left:3px solid var(--color-primary);padding:4px 6px;font-size:11px;border-radius:2px;cursor:pointer;transition:all .2s;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.calendar-appointment:hover{background-color:var(--color-bg-secondary);transform:scale(1.02)}.appointment-time{font-weight:600;color:var(--color-text-primary);margin-right:4px}.appointment-patient{color:var(--color-text-secondary)}.calendar-more{font-size:11px;color:var(--color-text-secondary);padding:2px 6px;font-weight:500}.view-toggle{display:flex;gap:0;background-color:var(--color-bg-tertiary);border-radius:6px;padding:4px}.view-toggle-btn{padding:8px 16px;background:none;border:none;border-radius:4px;cursor:pointer;font-size:14px;font-weight:500;color:var(--color-text-secondary);transition:all .2s}.view-toggle-btn.active{background-color:var(--color-bg-primary);color:var(--color-text-primary);box-shadow:0 2px 4px #0000001a}.view-toggle-btn:hover:not(.active){color:var(--color-text-primary)}@media (max-width: 768px){.calendar-day{min-height:80px}.calendar-appointment{font-size:10px}.calendar-day-name{font-size:11px;padding:8px 4px}}.patient-selector{margin-bottom:20px}.patient-selector-controls{display:flex;align-items:flex-start;gap:10px}.patient-selected{flex:1;display:flex;align-items:center;justify-content:space-between;padding:12px 15px;background-color:var(--color-success-alpha-10);border:2px solid var(--color-success);border-radius:6px}.patient-info{display:flex;flex-direction:column;gap:4px}.patient-info strong{color:var(--color-text-primary);font-size:15px}.patient-details{font-size:13px;color:var(--color-text-secondary)}.btn-clear-patient{background:none;border:none;color:var(--color-error);font-size:20px;cursor:pointer;padding:0 8px;line-height:1;transition:all .2s}.btn-clear-patient:hover{color:var(--color-error-dark);transform:scale(1.2)}.patient-search-container{position:relative;flex:1}.patient-dropdown{position:absolute;top:100%;left:0;right:0;margin-top:4px;background-color:var(--color-bg-primary);border:1px solid var(--color-border-secondary);border-radius:6px;box-shadow:0 4px 12px #00000026;max-height:400px;overflow-y:auto;z-index:9999}.patient-dropdown-item{padding:12px 15px;cursor:pointer;border-bottom:1px solid var(--color-bg-tertiary);transition:background-color .2s}.patient-dropdown-item:last-child{border-bottom:none}.patient-dropdown-item:hover{background-color:var(--color-bg-secondary)}.patient-dropdown-name{font-weight:500;color:var(--color-text-primary);margin-bottom:4px}.patient-dropdown-details{font-size:12px;color:var(--color-text-secondary)}.patient-dropdown-loading,.patient-dropdown-empty,.patient-dropdown-info{color:var(--color-text-secondary);text-align:center;font-style:italic}.patient-dropdown-loading:hover,.patient-dropdown-empty:hover,.patient-dropdown-info:hover{background-color:var(--color-bg-primary);cursor:default}.patient-dropdown-create{background-color:var(--color-primary);color:var(--color-bg-primary);font-weight:600;text-align:center;border-radius:0 0 6px 6px}.patient-dropdown-create:hover{background-color:var(--color-primary-dark)}.patient-dropdown-divider{height:1px;background-color:var(--color-border-secondary);margin:5px 0}@media (max-width: 768px){.patient-selector-controls{flex-direction:column}.patient-search-container{width:100%}}.calendar-container-v2{background:var(--color-bg-primary);border-radius:8px;box-shadow:0 2px 8px #0000001a;overflow:hidden}.calendar-toolbar{display:flex;justify-content:space-between;align-items:center;padding:15px 20px;border-bottom:1px solid var(--color-border-secondary);background:var(--color-bg-primary)}.calendar-nav-controls{display:flex;align-items:center;gap:15px}.btn-today{padding:8px 16px;border:1px solid var(--color-border-primary);border-radius:4px;background:var(--color-bg-primary);color:var(--color-text-secondary);font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.btn-today:hover{background:var(--color-bg-secondary);border-color:var(--color-border-secondary)}.nav-buttons{display:flex;gap:5px}.btn-nav{width:36px;height:36px;border:none;border-radius:50%;background:transparent;color:var(--color-text-secondary);font-size:18px;cursor:pointer;transition:background .2s;display:flex;align-items:center;justify-content:center}.btn-nav:hover{background:var(--color-bg-tertiary)}.calendar-title-v2{font-size:22px;font-weight:400;color:var(--color-text-secondary);margin:0}.view-switcher{display:flex;gap:0;border:1px solid var(--color-border-primary);border-radius:4px;overflow:hidden}.view-btn{padding:8px 16px;border:none;background:var(--color-bg-primary);color:var(--color-text-secondary);font-size:14px;font-weight:500;cursor:pointer;transition:all .2s;border-right:1px solid var(--color-border-primary)}.view-btn:last-child{border-right:none}.view-btn.active{background:var(--color-bg-secondary);color:var(--color-info)}.view-btn:hover:not(.active){background:var(--color-bg-secondary)}.calendar-content{padding:20px;background:var(--color-bg-primary)}.calendar-month-view{width:100%}.calendar-weekdays{display:grid;grid-template-columns:repeat(7,1fr);gap:1px;background:var(--color-border-secondary);margin-bottom:1px}.calendar-weekday{background:var(--color-bg-tertiary);padding:10px;text-align:center;font-size:12px;font-weight:600;color:var(--color-text-tertiary);text-transform:uppercase}.calendar-days-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:1px;background:var(--color-border-secondary)}.calendar-day-cell{background:var(--color-bg-primary);min-height:120px;padding:8px;position:relative;cursor:pointer;transition:background .2s}.calendar-day-cell:hover{background:var(--color-bg-secondary)}.calendar-day-cell.empty{background:var(--color-bg-secondary);cursor:default}.calendar-day-cell.today{background:var(--color-bg-secondary)}.day-number{font-size:12px;font-weight:500;color:var(--color-text-secondary);margin-bottom:4px}.calendar-day-cell.today .day-number{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;background:var(--color-primary);color:var(--color-bg-primary);border-radius:50%}.day-appointments{display:flex;flex-direction:column;gap:2px}.appointment-item{padding:4px 6px;border-left:3px solid;border-radius:2px;background:var(--color-bg-secondary);font-size:11px;cursor:pointer;transition:background .2s;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.appointment-item:hover{background:var(--color-bg-tertiary)}.apt-time{font-weight:600;margin-right:4px;color:var(--color-text-primary)}.apt-patient{color:var(--color-text-secondary)}.more-appointments{font-size:11px;color:var(--color-text-secondary);padding:4px 6px;font-weight:500}.calendar-week-view{width:100%;overflow-x:auto}.week-header{display:grid;grid-template-columns:80px repeat(7,1fr);border-bottom:1px solid var(--color-border-primary);position:sticky;top:0;background:var(--color-bg-primary);z-index:10}.time-gutter{padding:10px;text-align:center;font-size:11px;color:var(--color-text-tertiary);border-right:1px solid var(--color-border-primary)}.week-day-header{padding:10px;text-align:center;border-right:1px solid var(--color-border-primary)}.week-day-header:last-child{border-right:none}.week-day-header.today{background:var(--color-bg-secondary)}.day-name{font-size:11px;text-transform:uppercase;color:var(--color-text-tertiary);font-weight:500;margin-bottom:4px}.day-date{font-size:24px;font-weight:400;color:var(--color-text-secondary)}.week-day-header.today .day-date{display:inline-flex;align-items:center;justify-content:center;width:46px;height:46px;background:var(--color-primary);color:var(--color-bg-primary);border-radius:50%}.week-grid{display:grid;grid-template-columns:80px repeat(7,1fr);position:relative}.time-column{border-right:1px solid var(--color-border-primary)}.time-slot{height:60px;padding:4px 8px;font-size:11px;color:var(--color-text-tertiary);border-bottom:1px solid var(--color-bg-tertiary);text-align:right}.day-column{position:relative;border-right:1px solid var(--color-border-primary)}.day-column:last-child{border-right:none}.day-column.today{background:var(--color-warning-alpha-10)}.hour-slot{height:60px;border-bottom:1px solid var(--color-bg-tertiary);position:relative;background-image:linear-gradient(to right,transparent 0%,var(--color-bg-tertiary) 8px,transparent 8px),linear-gradient(to right,transparent 0%,var(--color-border-secondary) 8px,transparent 8px),linear-gradient(to right,transparent 0%,var(--color-bg-tertiary) 8px,transparent 8px);background-size:100% 1px;background-position:0 15px,0 30px,0 45px;background-repeat:no-repeat}.appointment-block{position:absolute;left:4px;right:4px;min-height:30px;padding:3px 6px;border-radius:4px;color:var(--color-bg-primary);cursor:pointer;transition:all .2s;box-shadow:0 1px 3px #0003;overflow:hidden;z-index:5;display:flex;flex-direction:column;justify-content:center}.appointment-block:hover{box-shadow:0 2px 6px #0000004d;transform:scale(1.02);z-index:10}.appointment-block .apt-time{font-size:10px;font-weight:600;margin-bottom:1px;color:var(--color-bg-primary);line-height:1.2}.appointment-block .apt-title{font-size:11px;font-weight:500;margin-bottom:1px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.2}.appointment-block .apt-service{font-size:9px;opacity:.9;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.2}.appointment-block[style*="height: 30px"],.appointment-block[style*="height: 31px"],.appointment-block[style*="height: 32px"],.appointment-block[style*="height: 33px"],.appointment-block[style*="height: 34px"],.appointment-block[style*="height: 35px"],.appointment-block[style*="height: 36px"],.appointment-block[style*="height: 37px"],.appointment-block[style*="height: 38px"],.appointment-block[style*="height: 39px"],.appointment-block[style*="height: 40px"],.appointment-block[style*="height: 41px"],.appointment-block[style*="height: 42px"],.appointment-block[style*="height: 43px"],.appointment-block[style*="height: 44px"],.appointment-block[style*="height: 45px"]{padding:2px 4px;flex-direction:row;align-items:center;gap:4px}.appointment-block[style*="height: 30px"] .apt-service,.appointment-block[style*="height: 31px"] .apt-service,.appointment-block[style*="height: 32px"] .apt-service,.appointment-block[style*="height: 33px"] .apt-service,.appointment-block[style*="height: 34px"] .apt-service,.appointment-block[style*="height: 35px"] .apt-service,.appointment-block[style*="height: 36px"] .apt-service,.appointment-block[style*="height: 37px"] .apt-service,.appointment-block[style*="height: 38px"] .apt-service,.appointment-block[style*="height: 39px"] .apt-service,.appointment-block[style*="height: 40px"] .apt-service,.appointment-block[style*="height: 41px"] .apt-service,.appointment-block[style*="height: 42px"] .apt-service,.appointment-block[style*="height: 43px"] .apt-service,.appointment-block[style*="height: 44px"] .apt-service,.appointment-block[style*="height: 45px"] .apt-service{display:none}.appointment-block[style*="height: 30px"] .apt-time,.appointment-block[style*="height: 31px"] .apt-time,.appointment-block[style*="height: 32px"] .apt-time,.appointment-block[style*="height: 33px"] .apt-time,.appointment-block[style*="height: 34px"] .apt-time,.appointment-block[style*="height: 35px"] .apt-time,.appointment-block[style*="height: 36px"] .apt-time,.appointment-block[style*="height: 37px"] .apt-time,.appointment-block[style*="height: 38px"] .apt-time,.appointment-block[style*="height: 39px"] .apt-time,.appointment-block[style*="height: 40px"] .apt-time,.appointment-block[style*="height: 41px"] .apt-time,.appointment-block[style*="height: 42px"] .apt-time,.appointment-block[style*="height: 43px"] .apt-time,.appointment-block[style*="height: 44px"] .apt-time,.appointment-block[style*="height: 45px"] .apt-time{margin-bottom:0;font-size:9px}.appointment-block[style*="height: 30px"] .apt-title,.appointment-block[style*="height: 31px"] .apt-title,.appointment-block[style*="height: 32px"] .apt-title,.appointment-block[style*="height: 33px"] .apt-title,.appointment-block[style*="height: 34px"] .apt-title,.appointment-block[style*="height: 35px"] .apt-title,.appointment-block[style*="height: 36px"] .apt-title,.appointment-block[style*="height: 37px"] .apt-title,.appointment-block[style*="height: 38px"] .apt-title,.appointment-block[style*="height: 39px"] .apt-title,.appointment-block[style*="height: 40px"] .apt-title,.appointment-block[style*="height: 41px"] .apt-title,.appointment-block[style*="height: 42px"] .apt-title,.appointment-block[style*="height: 43px"] .apt-title,.appointment-block[style*="height: 44px"] .apt-title,.appointment-block[style*="height: 45px"] .apt-title{margin-bottom:0;font-size:10px;flex:1}.hour-slot.drag-over{background-color:#3498db1a;border:2px dashed var(--color-primary)}.appointment-block[draggable=true]{cursor:move}.calendar-container-v2.dragging .appointment-block:not(.dragging-block){opacity:.6}.calendar-container-v2.dragging .appointment-block.dragging-block{opacity:.5;cursor:grabbing}.drag-preview-indicator{position:absolute;left:0;right:0;background-color:#3498db33;border:2px solid var(--color-primary);border-radius:4px;pointer-events:none;z-index:100;box-shadow:0 2px 8px #3498db4d}.drag-preview-indicator:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background-color:var(--color-primary);border-radius:4px 4px 0 0}.preview-time-label{position:absolute;top:-24px;left:0;background-color:var(--color-primary);color:var(--color-bg-primary);padding:4px 10px;border-radius:4px;font-size:12px;font-weight:600;box-shadow:0 2px 6px #0000004d;white-space:nowrap;z-index:1000}.hover-helper-indicator{position:absolute;left:0;right:0;background-color:#2ecc7126;border:2px dashed var(--color-success);border-radius:4px;pointer-events:auto;z-index:50;transition:all .15s ease}.hover-helper-indicator:hover{background-color:#2ecc7140;border-color:var(--color-success)}.helper-time-label{position:absolute;top:4px;left:4px;background-color:var(--color-success);color:var(--color-bg-primary);padding:3px 8px;border-radius:3px;font-size:11px;font-weight:600;box-shadow:0 2px 4px #0003;white-space:nowrap;pointer-events:none}.resize-handle{position:absolute;left:0;right:0;height:8px;cursor:ns-resize;z-index:10;transition:background-color .2s;pointer-events:none}.appointment-block:hover .resize-handle{pointer-events:auto}.resize-handle:hover{background-color:#ffffff4d}.resize-handle-top{top:0;border-top:3px solid transparent}.resize-handle-top:hover{border-top-color:#fffc}.resize-handle-bottom{bottom:0;border-bottom:3px solid transparent}.resize-handle-bottom:hover{border-bottom-color:#fffc}.appointment-block.resizing{pointer-events:none}.resize-preview-indicator{position:absolute;left:0;right:0;border:2px solid rgba(255,255,255,.8);border-radius:4px;pointer-events:none;z-index:100;opacity:.6;box-shadow:0 2px 8px #0000004d}.resize-preview-indicator .preview-time-label{background-color:#000000b3;color:var(--color-bg-primary)}.calendar-day-view{width:100%;max-width:100%;overflow-x:auto}.day-header{display:grid;grid-template-columns:80px 1fr;border-bottom:1px solid var(--color-border-primary);position:sticky;top:0;background:var(--color-bg-primary);z-index:10}.day-header-info{padding:15px;text-align:center;background:var(--color-bg-secondary)}.day-header-info .day-name{font-size:12px;text-transform:uppercase;color:var(--color-text-tertiary);margin-bottom:6px}.day-header-info .day-date{font-size:32px;font-weight:400;color:var(--color-primary)}.day-grid{display:grid;grid-template-columns:80px 1fr;position:relative}.events-column{position:relative;min-height:1440px}.blocked-past-overlay{position:absolute;top:0;left:0;right:0;background:repeating-linear-gradient(45deg,#9ca3af26,#9ca3af26 10px,#9ca3af0d 10px,#9ca3af0d 20px);border-bottom:2px solid var(--color-border-primary);z-index:3;pointer-events:none;opacity:.8}[data-theme=dark] .blocked-past-overlay{background:repeating-linear-gradient(45deg,#4b556340,#4b556340 10px,#4b55631a 10px,#4b55631a 20px);border-bottom-color:var(--color-border-primary)}.blocked-past-day-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:repeating-linear-gradient(45deg,#9ca3af33,#9ca3af33 10px,#9ca3af14 10px,#9ca3af14 20px);z-index:3;pointer-events:none;opacity:.9}[data-theme=dark] .blocked-past-day-overlay{background:repeating-linear-gradient(45deg,#4b55634d,#4b55634d 10px,#4b55631f 10px,#4b55631f 20px)}.day-column.past-day,.events-column.past-day{cursor:not-allowed}.current-time-indicator{position:absolute;left:0;right:0;z-index:100;pointer-events:none;display:flex;align-items:center}.time-indicator-dot{position:absolute;left:-6px;width:12px;height:12px;background:var(--color-error);border:2px solid var(--color-bg-primary);border-radius:50%;box-shadow:0 0 8px #ef444480;animation:pulse-dot 2s ease-in-out infinite}.time-indicator-line{flex:1;height:2px;background:var(--color-error);box-shadow:0 0 4px #ef44444d}.time-indicator-label{position:absolute;left:12px;top:-20px;background:var(--color-error);color:#fff;padding:2px 8px;border-radius:4px;font-size:11px;font-weight:600;white-space:nowrap;box-shadow:0 2px 4px #0003}@keyframes pulse-dot{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.2);opacity:.8}}@media (max-width: 768px){.calendar-toolbar{flex-direction:column;gap:10px;align-items:stretch}.calendar-nav-controls{flex-wrap:wrap;justify-content:center}.view-switcher{width:100%}.view-btn{flex:1}.calendar-title-v2{font-size:18px}.week-header,.week-grid,.day-grid,.day-header{grid-template-columns:60px repeat(7,120px)}.time-gutter{width:60px}.appointment-block .apt-service{display:none}}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px;margin-top:20px}.stat-card{background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-primary) 100%);color:var(--color-bg-primary);padding:20px;border-radius:12px;box-shadow:0 4px 6px #0000001a;transition:all .3s ease}.stat-card:hover{transform:translateY(-5px);box-shadow:0 8px 12px #00000026}.stat-card:nth-child(2){background:linear-gradient(135deg,var(--color-primary-light) 0%,var(--color-error) 100%)}.stat-card:nth-child(3){background:linear-gradient(135deg,var(--color-info) 0%,var(--color-info) 100%)}.stat-card:nth-child(4){background:linear-gradient(135deg,var(--color-success) 0%,var(--color-success) 100%)}.stat-card:nth-child(5){background:linear-gradient(135deg,var(--color-error) 0%,var(--color-warning) 100%)}.stat-card:nth-child(6){background:linear-gradient(135deg,var(--color-info) 0%,var(--color-primary-dark) 100%)}.stat-value{font-size:32px;font-weight:700;margin-bottom:8px;text-shadow:0 2px 4px rgba(0,0,0,.1)}.stat-label{font-size:13px;font-weight:500;opacity:.95;text-transform:uppercase;letter-spacing:.5px}.form-group{margin:15px 0}.checkbox-label{display:flex;align-items:center;gap:10px;cursor:pointer;-webkit-user-select:none;user-select:none}.checkbox-label input[type=checkbox]{width:20px;height:20px;cursor:pointer}.checkbox-label span{font-size:14px;color:var(--color-text-primary);font-weight:500}@media (max-width: 768px){.stats-grid{grid-template-columns:1fr}}.timeline-container{max-width:1200px;margin:0 auto}.timeline{position:relative;padding:20px 0}.timeline:before{content:"";position:absolute;left:30px;top:0;bottom:0;width:4px;background:linear-gradient(to bottom,var(--color-primary),var(--color-success))}.timeline-item{position:relative;margin-bottom:50px;padding-left:80px}.timeline-marker{position:absolute;left:16px;top:0;width:30px;height:30px;border-radius:50%;background-color:var(--color-primary);border:4px solid var(--color-bg-primary);box-shadow:0 2px 8px #00000026;display:flex;align-items:center;justify-content:center;color:var(--color-bg-primary);font-weight:700;font-size:16px;z-index:2}.timeline-content{background:var(--color-bg-primary);padding:25px;border-radius:8px;box-shadow:0 2px 8px #0000001a;border-left:4px solid var(--color-primary);transition:transform .2s,box-shadow .2s}.timeline-content:hover{transform:translate(5px);box-shadow:0 4px 12px #00000026}.timeline-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:20px;padding-bottom:15px;border-bottom:2px solid var(--color-bg-tertiary)}.timeline-details{background-color:var(--color-bg-secondary);padding:15px;border-radius:6px;margin-bottom:15px}.detail-row{margin-bottom:8px;color:var(--color-text-primary);font-size:14px}.detail-row:last-child{margin-bottom:0}.detail-row strong{color:var(--color-bg-tertiary);font-weight:600;margin-right:8px}.medical-records{margin-top:20px;padding-top:20px;border-top:2px solid var(--color-bg-tertiary)}.medical-record-item{background-color:var(--color-bg-primary)8e1;padding:15px;border-radius:6px;border-left:4px solid var(--color-warning);margin-bottom:15px}.photo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:10px;margin-top:10px}.timeline-photo{width:100%;height:120px;object-fit:cover;border-radius:6px;border:2px solid var(--color-border-secondary);cursor:pointer;transition:transform .2s,box-shadow .2s}.timeline-photo:hover{transform:scale(1.05);box-shadow:0 4px 12px #0003;border-color:var(--color-primary)}@media (max-width: 768px){.timeline:before{left:15px}.timeline-item{padding-left:50px}.timeline-marker{left:6px;width:20px;height:20px;font-size:12px}.timeline-header{flex-direction:column}.timeline-header .status-badge{margin-top:10px}.photo-grid{grid-template-columns:repeat(auto-fill,minmax(100px,1fr))}.timeline-photo{height:100px}}.appointment-detail-modern{max-width:1200px;margin:0 auto;padding:16px;background:linear-gradient(135deg,var(--color-bg-secondary) 0%,var(--color-bg-tertiary) 100%);min-height:100vh}.detail-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px;gap:12px}.btn-back{display:flex;align-items:center;gap:8px;padding:10px 16px;background:var(--color-bg-primary);border:1px solid var(--color-border-secondary);border-radius:12px;font-size:14px;font-weight:600;color:var(--color-text-primary);cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 1px 3px #0000000d}.btn-back:hover{background:var(--color-bg-secondary);border-color:var(--color-border-primary);transform:translateY(-1px);box-shadow:0 4px 6px #0000001a}.detail-title{font-size:20px;font-weight:700;color:var(--color-text-primary);margin:0;flex:1}.detail-actions-mobile{display:flex;gap:8px}.btn-icon{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border:none;border-radius:12px;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 2px 4px #0000001a}.btn-icon.btn-primary{background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-primary-dark) 100%);color:var(--color-bg-primary)}.btn-icon.btn-success{background:linear-gradient(135deg,var(--color-success) 0%,var(--color-success-dark) 100%);color:var(--color-bg-primary)}.btn-icon.btn-danger{background:linear-gradient(135deg,var(--color-error) 0%,var(--color-error-dark) 100%);color:var(--color-bg-primary)}.btn-icon:hover{transform:translateY(-2px) scale(1.05);box-shadow:0 6px 12px #00000026}.btn-icon:active{transform:translateY(0) scale(1)}.alert{display:flex;align-items:center;gap:12px;padding:16px;border-radius:12px;margin-bottom:20px;font-size:14px;font-weight:500;animation:slideInDown .3s ease-out}.alert-error{background:linear-gradient(135deg,var(--color-error-alpha-10) 0%,var(--color-error-alpha-10) 100%);border:1px solid var(--color-error-light);color:var(--color-error-dark)}.alert-success{background:linear-gradient(135deg,var(--color-success-alpha-10) 0%,var(--color-success-alpha-10) 100%);border:1px solid var(--color-success-light);color:var(--color-success-dark)}@keyframes slideInDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.status-section{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px;gap:12px;flex-wrap:wrap}.status-badge-large{padding:12px 24px;border-radius:16px;font-size:16px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;display:inline-flex;align-items:center;box-shadow:0 4px 6px #0000001a;animation:bounceIn .5s cubic-bezier(.68,-.55,.265,1.55)}@keyframes bounceIn{0%{opacity:0;transform:scale(.3)}50%{opacity:1;transform:scale(1.05)}70%{transform:scale(.9)}to{transform:scale(1)}}.status-select{padding:10px 16px;border:2px solid var(--color-border-secondary);border-radius:12px;font-size:14px;font-weight:600;background:var(--color-bg-primary);cursor:pointer;transition:all .2s}.status-select:hover{border-color:var(--color-primary)}.status-select:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 4px #6366f11a}.glass-card{background:var(--color-bg-primary);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid var(--color-border-secondary);border-radius:20px;padding:24px;margin-bottom:20px;box-shadow:var(--shadow-lg);transition:all .3s cubic-bezier(.4,0,.2,1);animation:fadeInUp .5s ease-out}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.glass-card:hover{box-shadow:var(--shadow-xl);transform:translateY(-2px)}.card-header{display:flex;align-items:center;gap:12px;margin-bottom:20px;padding-bottom:16px;border-bottom:2px solid var(--color-bg-tertiary)}.card-icon{color:var(--color-primary);flex-shrink:0}.card-header h2{font-size:18px;font-weight:700;color:var(--color-text-primary);margin:0}.info-grid{display:grid;grid-template-columns:1fr;gap:20px}.info-item.full-width{grid-column:1 / -1}.info-label{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--color-text-tertiary)}.info-value{font-size:16px;font-weight:600;color:var(--color-text-primary);line-height:1.4}.info-value.clickable{color:var(--color-primary);cursor:pointer;display:inline-flex;align-items:center;transition:all .2s}.info-value.clickable:hover{color:var(--color-primary-dark);text-decoration:underline}.info-time{font-size:32px;font-weight:800;color:var(--color-primary);letter-spacing:-1px}.services-subtitle{font-size:14px;color:var(--color-text-tertiary);margin-bottom:16px}.services-list{display:flex;flex-direction:column;gap:12px;margin-bottom:20px}.service-item{display:flex;align-items:center;justify-content:space-between;padding:16px;background:linear-gradient(135deg,var(--color-bg-secondary) 0%,var(--color-bg-tertiary) 100%);border:2px solid var(--color-border-secondary);border-radius:16px;transition:all .3s ease}.service-item:hover{border-color:var(--color-primary);transform:translate(4px);box-shadow:0 4px 12px #6366f126}.service-content{flex:1}.service-name{font-size:16px;font-weight:700;color:var(--color-text-primary);margin:0 0 8px}.service-badge{display:inline-flex;align-items:center;padding:4px 12px;background:linear-gradient(135deg,var(--color-bg-secondary) 0%,var(--color-bg-secondary) 100%);color:var(--color-primary-dark);font-size:12px;font-weight:600;border-radius:8px}.service-badge.standalone{background:linear-gradient(135deg,var(--color-bg-tertiary) 0%,var(--color-border-secondary) 100%);color:var(--color-text-tertiary)}.service-price{font-size:20px;font-weight:800;color:var(--color-success)}.services-total{display:flex;align-items:center;justify-content:space-between;padding:20px;background:linear-gradient(135deg,var(--color-bg-secondary) 0%,var(--color-bg-secondary) 100%);border-radius:16px;margin-top:12px}.total-label{font-size:16px;font-weight:700;color:var(--color-primary-dark)}.total-amount{font-size:28px;font-weight:900;color:var(--color-primary-dark);letter-spacing:-1px}.payment-card{border:2px solid var(--color-success)}.payment-status{margin-top:20px}.payment-row{display:flex;align-items:center;justify-content:space-between;padding:16px;background:linear-gradient(135deg,var(--color-success-alpha-10) 0%,var(--color-success-alpha-10) 100%);border-radius:12px;margin-bottom:16px}.payment-label{font-size:14px;font-weight:600;color:var(--color-success-dark)}.payment-amount{font-size:24px;font-weight:900;color:var(--color-success-dark)}.payment-amount.success{color:var(--color-success)}.receipt-preview{margin-top:16px;text-align:center}.receipt-thumbnail{max-width:200px;max-height:200px;border-radius:12px;border:2px solid var(--color-border-secondary);cursor:pointer;transition:all .3s;margin-bottom:12px}.receipt-thumbnail:hover{transform:scale(1.05);border-color:var(--color-primary);box-shadow:0 8px 16px #0000001a}.receipt-link{display:inline-flex;align-items:center;gap:8px;padding:10px 16px;background:var(--color-primary);color:var(--color-bg-primary);text-decoration:none;border-radius:10px;font-size:14px;font-weight:600;transition:all .3s}.receipt-link:hover{background:var(--color-primary-dark);transform:translateY(-2px);box-shadow:0 4px 12px #6366f14d}.btn-upload{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 24px;background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-primary-dark) 100%);color:var(--color-bg-primary);border:none;border-radius:12px;font-size:14px;font-weight:600;cursor:pointer;transition:all .3s;margin-top:12px;width:100%}.btn-upload:hover{transform:translateY(-2px);box-shadow:0 6px 20px #6366f159}.btn-upload.secondary{background:linear-gradient(135deg,var(--color-text-disabled) 0%,var(--color-text-tertiary) 100%)}.btn-upload:disabled{opacity:.6;cursor:not-allowed;transform:none}.spinner-small{width:16px;height:16px;border:2px solid rgba(255,255,255,.3);border-top-color:var(--color-bg-primary);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.payment-status.no-reservation{text-align:center;padding:32px 16px}.payment-icon-large{margin:0 auto 16px;color:var(--color-text-disabled)}.no-reservation-text{font-size:14px;color:var(--color-text-tertiary);margin-bottom:16px}.payment-pending{margin-top:20px;padding:20px;background:linear-gradient(135deg,var(--color-warning-alpha-10) 0%,var(--color-warning-alpha-10) 100%);border:2px solid var(--color-warning);border-radius:16px}.pending-header{display:flex;align-items:center;gap:8px;margin-bottom:12px;color:var(--color-warning-dark)}.pending-title{font-size:14px;font-weight:700;text-transform:uppercase;letter-spacing:.5px}.pending-amount{font-size:36px;font-weight:900;color:var(--color-warning-dark);margin-bottom:16px;letter-spacing:-1px}.btn-pay{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:14px 24px;background:linear-gradient(135deg,var(--color-warning) 0%,var(--color-warning-dark) 100%);color:var(--color-bg-primary);border:none;border-radius:12px;font-size:16px;font-weight:700;cursor:pointer;transition:all .3s;width:100%;box-shadow:0 4px 12px #f59e0b4d}.btn-pay:hover{transform:translateY(-2px);box-shadow:0 6px 20px #f59e0b66}.payment-complete{display:flex;align-items:center;justify-content:center;gap:12px;padding:20px;background:linear-gradient(135deg,var(--color-success-alpha-10) 0%,var(--color-success-alpha-10) 100%);border-radius:16px;margin-top:20px;color:var(--color-success-dark);font-size:16px;font-weight:700}.system-card{background:#f3f4f6e6;border-color:var(--color-border-secondary)}.system-info{display:flex;flex-direction:column;gap:16px}.system-item{display:flex;flex-direction:column;gap:4px;padding-bottom:12px;border-bottom:1px solid var(--color-border-secondary)}.system-item:last-child{border-bottom:none;padding-bottom:0}.system-item.full{grid-column:1 / -1}.system-label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--color-text-disabled)}.system-value{font-size:14px;font-weight:600;color:var(--color-text-secondary)}.system-id{font-family:Courier New,monospace;font-size:12px;color:var(--color-text-tertiary);background:var(--color-bg-tertiary);padding:8px 12px;border-radius:8px;display:block;word-break:break-all}.action-buttons{display:grid;grid-template-columns:1fr;gap:12px;margin-top:24px;margin-bottom:32px}.action-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:14px 20px;border:none;border-radius:12px;font-size:14px;font-weight:600;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 2px 4px #0000001a}.action-btn.primary{background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-primary-dark) 100%);color:var(--color-bg-primary)}.action-btn.success{background:linear-gradient(135deg,var(--color-success) 0%,var(--color-success-dark) 100%);color:var(--color-bg-primary)}.action-btn.secondary{background:linear-gradient(135deg,var(--color-text-disabled) 0%,var(--color-text-tertiary) 100%);color:var(--color-bg-primary)}.action-btn:hover{transform:translateY(-2px);box-shadow:0 6px 12px #00000026}.action-btn:active{transform:translateY(0)}@media (min-width: 640px){.appointment-detail-modern{padding:24px}.detail-title{font-size:24px}.info-grid,.action-buttons{grid-template-columns:repeat(2,1fr)}}@media (min-width: 1024px){.appointment-detail-modern{padding:32px}.detail-title{font-size:28px}.glass-card{padding:32px}.info-grid,.action-buttons{grid-template-columns:repeat(3,1fr)}}@media (prefers-reduced-motion: reduce){*{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.upload-reservation-form{padding:20px 0}.form-section{display:flex;flex-direction:column;gap:24px}.input-with-icon{position:relative;display:flex;align-items:center}.input-prefix{position:absolute;left:16px;font-size:16px;font-weight:700;color:var(--color-text-tertiary);pointer-events:none}.input-with-prefix{padding-left:48px}.input-help{margin-top:8px;font-size:12px;color:var(--color-text-tertiary);font-style:italic}.file-upload-area{position:relative}.file-input-hidden{display:none}.file-upload-button{display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;min-height:200px;padding:32px;background:linear-gradient(135deg,var(--color-bg-secondary) 0%,var(--color-bg-tertiary) 100%);border:2px dashed var(--color-border-primary);border-radius:16px;cursor:pointer;transition:all .3s ease;color:var(--color-text-tertiary)}.file-upload-button:hover:not(:disabled){border-color:var(--color-primary);background:linear-gradient(135deg,var(--color-primary-alpha-10) 0%,var(--color-primary-alpha-10) 100%);color:var(--color-primary);transform:scale(1.02)}.file-upload-button:disabled{opacity:.6;cursor:not-allowed}.upload-text{font-size:16px;font-weight:600;margin-top:16px}.upload-hint{font-size:13px;margin-top:4px;color:var(--color-text-disabled)}.file-preview{display:flex;flex-direction:column;align-items:center;gap:16px;padding:20px;background:var(--color-bg-secondary);border:2px solid var(--color-border-secondary);border-radius:16px}.preview-image{max-width:100%;max-height:300px;border-radius:12px;border:2px solid var(--color-border-secondary);object-fit:contain}.pdf-preview{display:flex;flex-direction:column;align-items:center;gap:12px;color:var(--color-text-tertiary);text-align:center}.pdf-preview p{font-size:14px;font-weight:600;word-break:break-word;max-width:100%}.remove-file-btn{display:inline-flex;align-items:center;gap:8px;padding:10px 20px;background:var(--color-bg-primary);border:2px solid var(--color-border-secondary);border-radius:10px;font-size:14px;font-weight:600;color:var(--color-text-tertiary);cursor:pointer;transition:all .3s ease}.remove-file-btn:hover:not(:disabled){border-color:var(--color-error);color:var(--color-error);background:var(--color-error-alpha-10)}.remove-file-btn:disabled{opacity:.6;cursor:not-allowed}@media (max-width: 640px){.file-upload-button{min-height:160px;padding:24px}.upload-text{font-size:14px}.preview-image{max-height:200px}}.datetime-picker{display:flex;flex-direction:column;gap:8px}.datetime-picker-container{display:grid;grid-template-columns:1fr 1fr;gap:16px}.datetime-date-section,.datetime-time-section{display:flex;flex-direction:column;gap:6px}.datetime-sublabel{font-size:12px;font-weight:600;color:var(--color-text-tertiary);text-transform:uppercase;letter-spacing:.5px}.datetime-input-wrapper{position:relative}.datetime-input-button{width:100%;display:flex;align-items:center;gap:10px;padding:12px 16px;background:var(--color-bg-primary);border:2px solid var(--color-border-secondary);border-radius:8px;font-size:14px;cursor:pointer;transition:all .2s ease;text-align:left}.datetime-input-button:hover:not(:disabled){border-color:var(--color-primary);background:var(--color-bg-secondary)}.datetime-input-button:disabled{background:var(--color-bg-tertiary);cursor:not-allowed;opacity:.6}.datetime-input-button svg{color:var(--color-text-tertiary);flex-shrink:0}.datetime-input-placeholder{color:var(--color-text-disabled)}.datetime-input-selected{color:var(--color-text-primary);font-weight:500}.datetime-input-error{border-color:var(--color-error)}.datetime-time-select{width:100%;padding:12px 40px 12px 16px;background:var(--color-bg-primary);border:2px solid var(--color-border-secondary);border-radius:8px;font-size:14px;cursor:pointer;transition:all .2s ease;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg width='12' height='8' viewBox='0 0 12 8' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1L6 6L11 1' stroke='%236b7280' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 16px center}.datetime-time-select:hover:not(:disabled){border-color:var(--color-primary);background-color:var(--color-bg-secondary)}.datetime-time-select:disabled{background-color:var(--color-bg-tertiary);cursor:not-allowed;opacity:.6}.datetime-time-select.datetime-input-placeholder{color:var(--color-text-disabled)}.datetime-time-select.datetime-input-selected{color:var(--color-text-primary);font-weight:500}.datetime-calendar-dropdown{position:absolute;top:calc(100% + 4px);left:0;right:0;background:var(--color-bg-primary);border:2px solid var(--color-border-secondary);border-radius:8px;box-shadow:0 10px 25px #0000001a;z-index:1000;padding:12px;animation:fadeIn .2s ease;width:280px}@keyframes fadeIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.datetime-calendar-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.datetime-calendar-month{font-size:13px;font-weight:600;color:var(--color-text-primary)}.datetime-calendar-nav{width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:var(--color-bg-primary);border:1.5px solid var(--color-border-secondary);border-radius:6px;font-size:16px;font-weight:700;color:var(--color-text-tertiary);cursor:pointer;transition:all .2s ease}.datetime-calendar-nav:hover{border-color:var(--color-primary);color:var(--color-primary);background:var(--color-bg-secondary)}.datetime-calendar-days-header{display:grid;grid-template-columns:repeat(7,1fr);gap:3px;margin-bottom:6px}.datetime-calendar-day-name{text-align:center;font-size:10px;font-weight:600;color:var(--color-text-tertiary);text-transform:uppercase;padding:2px}.datetime-calendar-grid{display:flex;flex-direction:column;gap:3px}.datetime-calendar-week{display:grid;grid-template-columns:repeat(7,1fr);gap:3px}.datetime-calendar-day{width:32px;height:32px;display:flex;align-items:center;justify-content:center;border:1.5px solid transparent;border-radius:6px;font-size:12px;font-weight:500;color:var(--color-text-primary);background:var(--color-bg-primary);cursor:pointer;transition:all .2s ease}.datetime-calendar-day:hover:not(:disabled):not(.datetime-calendar-day-empty){border-color:var(--color-primary);background:var(--color-bg-secondary);color:var(--color-primary)}.datetime-calendar-day-empty{cursor:default;visibility:hidden}.datetime-calendar-day-today{background:var(--color-primary-alpha-10);border-color:var(--color-primary);color:var(--color-primary);font-weight:600}.datetime-calendar-day-selected{background:var(--color-primary);border-color:var(--color-primary);color:var(--color-bg-primary);font-weight:600}.datetime-calendar-day-selected:hover{background:var(--color-primary-dark);border-color:var(--color-primary-dark);color:var(--color-bg-primary)}.datetime-calendar-day-disabled{color:var(--color-border-primary);cursor:not-allowed;text-decoration:line-through}.datetime-calendar-day-disabled:hover{border-color:transparent;background:var(--color-bg-primary);color:var(--color-border-primary)}@media (max-width: 640px){.datetime-picker-container{grid-template-columns:1fr}.datetime-calendar-dropdown{left:-8px;right:-8px}}.patient-detail-modern{background:linear-gradient(135deg,var(--color-bg-secondary) 0%,var(--color-bg-tertiary) 100%);min-height:100vh;padding:20px}.patient-name-header{color:var(--color-text-primary);font-size:32px;font-weight:700;margin:10px 0 5px}.patient-subtitle{color:var(--color-text-secondary);font-size:14px;font-weight:500}.tabs-container{background:var(--color-bg-primary);border-radius:16px;box-shadow:0 4px 12px #00000014;overflow:hidden;margin-top:30px}.tabs-navigation{display:flex;background:linear-gradient(135deg,var(--color-bg-tertiary) 0%,var(--color-text-primary) 100%);padding:0;overflow-x:auto;border-bottom:3px solid var(--color-primary)}.tab-button{flex:1;min-width:140px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:18px 20px;background:transparent;border:none;border-bottom:3px solid transparent;cursor:pointer;transition:all .3s ease;color:#ffffffb3;font-weight:500;position:relative}.tab-button:hover{background:#3498db1a;color:var(--color-bg-primary)}.tab-button-active{background:linear-gradient(135deg,#3498db33,#2980b933);color:var(--color-bg-primary);border-bottom-color:var(--color-primary);font-weight:600}.tab-icon{font-size:24px;transition:transform .3s ease}.tab-button-active .tab-icon{transform:scale(1.1)}.tab-label{font-size:13px;text-align:center}.tabs-content{padding:0;background:var(--color-bg-primary)}.tab-content-wrapper{padding:30px;animation:fadeIn .4s ease-in-out}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.info-section{margin-bottom:30px}.info-section:last-child{margin-bottom:0}.info-section-header{display:flex;align-items:center;gap:12px;margin-bottom:20px;padding-bottom:12px;border-bottom:3px solid var(--color-bg-tertiary)}.info-section-icon{font-size:28px}.info-section-header h3{color:var(--color-text-primary);font-size:22px;font-weight:700;margin:0}.info-grid-modern{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px}.info-card{background:linear-gradient(135deg,var(--color-bg-secondary) 0%,var(--color-bg-tertiary) 100%);padding:20px;border-radius:12px;border:2px solid var(--color-border-secondary);transition:all .3s ease}.info-card:hover{transform:translateY(-3px);box-shadow:0 6px 16px #0000001a;border-color:var(--color-primary)}.info-card-full{grid-column:1 / -1}.info-card-label{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.8px;color:var(--color-text-secondary);margin-bottom:8px}.info-card-value{font-size:18px;font-weight:600;color:var(--color-text-primary);word-wrap:break-word}.info-card-id{font-family:Courier New,monospace;font-size:13px;color:var(--color-text-secondary);background:var(--color-bg-primary);padding:10px;border-radius:6px;word-break:break-all}.empty-state{text-align:center;padding:60px 20px;background:linear-gradient(135deg,var(--color-bg-secondary) 0%,var(--color-bg-tertiary) 100%);border-radius:12px;border:2px dashed var(--color-border-secondary)}.empty-state-icon{font-size:80px;margin-bottom:20px;opacity:.6}.empty-state h4{color:var(--color-text-primary);font-size:24px;font-weight:700;margin-bottom:15px}.empty-state p{color:var(--color-text-secondary);font-size:16px;margin-bottom:25px;max-width:600px;margin-left:auto;margin-right:auto;line-height:1.6}.treatments-list{display:flex;flex-direction:column;gap:25px}.treatment-card{background:linear-gradient(135deg,var(--color-bg-primary) 0%,var(--color-bg-secondary) 100%);padding:25px;border-radius:16px;border:2px solid var(--color-border-secondary);box-shadow:0 4px 12px #00000014;transition:all .3s ease}.treatment-card:hover{transform:translate(5px);box-shadow:0 8px 20px #0000001f;border-color:var(--color-primary)}.treatment-card-completed{background:linear-gradient(135deg,var(--color-success-alpha-10) 0%,var(--color-success-alpha-10) 100%);border-color:var(--color-success)}.treatment-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:20px}.treatment-info{flex:1}.treatment-name{color:var(--color-text-primary);font-size:20px;font-weight:700;margin:0 0 8px}.treatment-date{color:var(--color-text-secondary);font-size:14px;margin:0}.treatment-progress-indicator{text-align:right}.treatment-sessions-count{font-size:28px;font-weight:800;color:var(--color-primary);line-height:1}.treatment-card-completed .treatment-sessions-count{color:var(--color-success)}.treatment-sessions-label{font-size:12px;color:var(--color-text-secondary);font-weight:500;margin-top:4px}.treatment-progress-bar{width:100%;height:12px;background:var(--color-bg-tertiary);border-radius:8px;overflow:hidden;margin-bottom:20px;box-shadow:inset 0 2px 4px #0000001a}.treatment-progress-fill{height:100%;background:var(--color-primary);border-radius:8px;transition:width .5s ease;box-shadow:0 2px 6px #3498db66}.treatment-price{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:20px}.price-original{text-decoration:line-through;color:var(--color-text-secondary);font-size:16px}.price-final{font-weight:800;color:var(--color-success);font-size:24px}.price-discount{color:var(--color-error);font-size:14px;font-weight:600;background:var(--color-error-alpha-10);padding:4px 10px;border-radius:6px}.treatment-sessions{margin-top:20px;padding-top:20px;border-top:2px solid var(--color-bg-tertiary)}.treatment-sessions-title{font-size:13px;font-weight:700;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.5px;margin-bottom:12px}.treatment-sessions-grid{display:flex;flex-wrap:wrap;gap:10px}.session-badge{padding:10px 16px;border-radius:8px;font-size:13px;font-weight:600;cursor:pointer;transition:all .3s ease;border:2px solid}.session-badge:hover{transform:translateY(-2px);box-shadow:0 4px 8px #00000026}.session-badge-attended{background:var(--color-success-alpha-10);color:var(--color-success-dark);border-color:var(--color-success-alpha-10)}.session-badge-reserved{background:var(--color-bg-primary)3cd;color:var(--color-warning-dark);border-color:var(--color-warning-alpha-10)}.session-badge-cancelled{background:var(--color-error-alpha-10);color:var(--color-error-dark);border-color:var(--color-error-alpha-10)}.session-badge-in_progress{background:var(--color-info-alpha-10);color:var(--color-info-dark);border-color:var(--color-info-alpha-10)}.treatment-completed-badge{margin-top:20px;padding:12px 20px;background:linear-gradient(135deg,var(--color-success-alpha-10) 0%,var(--color-success-alpha-10) 100%);border:2px solid var(--color-success);border-radius:8px;color:var(--color-success-dark);font-size:16px;font-weight:700;text-align:center}.treatment-payment-status{margin-top:20px;padding-top:20px;border-top:2px solid var(--color-bg-tertiary)}.payment-status-title{font-size:13px;font-weight:700;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.5px;margin-bottom:15px}.payment-pending-info{background:linear-gradient(135deg,var(--color-bg-primary)3cd 0%,var(--color-warning-alpha-10) 100%);padding:20px;border-radius:12px;border:2px solid var(--color-warning)}.payment-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;font-size:15px;color:var(--color-text-primary)}.payment-row:last-of-type{margin-bottom:0}.payment-row-pending{padding-top:12px;margin-top:12px;border-top:2px solid rgba(0,0,0,.1)}.payment-amount{font-weight:700}.payment-paid-label{color:var(--color-success);font-weight:600}.payment-paid-amount{font-weight:700;color:var(--color-success)}.payment-pending-label{color:var(--color-error);font-weight:700}.payment-pending-amount{font-weight:900;color:var(--color-error);font-size:20px}.payment-warning{margin-top:15px;padding:12px;background:#ffffffb3;border-radius:8px;font-size:14px;color:var(--color-warning-dark);font-weight:600;text-align:center}.payment-complete{display:flex;align-items:center;gap:12px;padding:20px;background:linear-gradient(135deg,var(--color-success-alpha-10) 0%,var(--color-success-alpha-10) 100%);border-radius:12px;border:2px solid var(--color-success);color:var(--color-success-dark)}.payment-complete>span{font-size:32px}.payment-complete-title{font-weight:700;font-size:16px}.payment-complete-amount{font-size:14px;margin-top:4px}@media (max-width: 768px){.patient-detail-modern{padding:15px}.patient-name-header{font-size:24px}.tabs-navigation{overflow-x:auto;-webkit-overflow-scrolling:touch}.tab-button{min-width:100px;padding:14px 12px}.tab-icon{font-size:20px}.tab-label{font-size:11px}.tab-content-wrapper{padding:20px}.info-grid-modern{grid-template-columns:1fr}.info-section-icon{font-size:24px}.info-section-header h3{font-size:18px}.empty-state-icon{font-size:60px}.empty-state h4{font-size:20px}.empty-state p{font-size:14px}.treatment-card{padding:20px}.treatment-name{font-size:18px}.treatment-sessions-count{font-size:24px}.treatment-sessions-grid{gap:8px}.session-badge{font-size:12px;padding:8px 12px}}.patient-hero{background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-primary) 100%);color:var(--color-bg-primary);margin:-20px -20px 30px;padding:0;box-shadow:0 4px 6px #0000001a}.patient-hero-content{max-width:1400px;margin:0 auto;padding:30px 40px}.back-button-hero{background:#fff3;color:var(--color-bg-primary);border:1px solid rgba(255,255,255,.3);padding:10px 18px;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s;margin-bottom:20px;display:inline-flex;align-items:center;gap:6px}.back-button-hero:hover{background:#ffffff4d;transform:translate(-4px)}.patient-hero-main{display:flex;align-items:center;gap:24px;margin-bottom:24px}.patient-avatar{width:100px;height:100px;border-radius:50%;background:#fff3;border:3px solid rgba(255,255,255,.5);display:flex;align-items:center;justify-content:center;font-size:36px;font-weight:700;color:var(--color-bg-primary);text-transform:uppercase;box-shadow:0 4px 12px #00000026;flex-shrink:0}.patient-hero-info{flex:1}.patient-hero-name{font-size:32px;font-weight:700;margin:0 0 12px;color:var(--color-bg-primary);text-shadow:0 2px 4px rgba(0,0,0,.1)}.patient-hero-meta{display:flex;align-items:center;gap:12px;flex-wrap:wrap;font-size:15px;opacity:.95}.meta-item{display:flex;align-items:center;gap:6px;background:#0000004d;padding:6px 14px;border-radius:20px;font-weight:500;color:#fff;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.meta-icon{font-size:16px}.meta-separator{opacity:.5;font-weight:300}.patient-hero-actions{display:flex;gap:12px;flex-wrap:wrap}.patient-hero-actions .btn{background:var(--color-bg-primary);color:var(--color-primary);font-weight:600;padding:12px 24px;box-shadow:0 2px 8px #0000001a}.patient-hero-actions .btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.patient-hero-actions .btn-danger{background:var(--color-error);color:var(--color-bg-primary)}.patient-hero-actions .btn-danger:hover{background:var(--color-error-dark)}.patient-dashboard{display:grid;grid-template-columns:repeat(2,1fr);gap:24px;margin-top:30px}.dashboard-card{background:var(--color-bg-primary);border-radius:12px;box-shadow:0 2px 8px #00000014;overflow:hidden;transition:all .3s}.dashboard-card:hover{box-shadow:0 4px 16px #0000001f;transform:translateY(-2px)}.card-header{padding:20px 24px;border-bottom:1px solid var(--color-bg-tertiary);background:linear-gradient(to bottom,var(--color-bg-secondary),var(--color-bg-primary))}.card-title{font-size:18px;font-weight:700;color:var(--color-text-primary);margin:0;display:flex;align-items:center;gap:10px}.card-icon{font-size:22px;display:inline-flex;align-items:center;justify-content:center}.card-body{padding:24px}.info-grid{display:grid;gap:18px}.info-item{display:flex;flex-direction:column;gap:6px}.info-label{font-size:12px;font-weight:600;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.5px}.info-value{font-size:15px;color:var(--color-text-primary);font-weight:500}.activity-content{display:flex;flex-direction:column;gap:24px}.activity-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.stat-item{text-align:center;padding:16px;background:linear-gradient(135deg,var(--color-bg-secondary) 0%,var(--color-bg-tertiary) 100%);border-radius:10px;border:1px solid var(--color-bg-tertiary)}.stat-number{display:block;font-size:28px;font-weight:700;color:var(--color-primary);margin-bottom:6px;line-height:1}.stat-label{display:block;font-size:12px;color:var(--color-text-secondary);font-weight:600;text-transform:uppercase;letter-spacing:.5px}.last-appointment{padding:16px;background:var(--color-bg-secondary);border-radius:8px;border-left:4px solid var(--color-primary)}.last-appointment-header{font-size:13px;font-weight:600;color:var(--color-text-secondary);margin-bottom:10px;text-transform:uppercase;letter-spacing:.5px}.last-appointment-details{display:flex;flex-direction:column;gap:8px}.last-appointment-service{font-size:16px;font-weight:600;color:var(--color-text-primary)}.last-appointment-date{font-size:14px;color:var(--color-text-secondary);display:flex;align-items:center;gap:6px}.treatments-list{display:flex;flex-direction:column;gap:20px}.treatment-item{padding:18px;background:var(--color-bg-secondary);border-radius:10px;border:1px solid var(--color-bg-tertiary);transition:all .2s}.treatment-item:hover{background:var(--color-bg-tertiary);border-color:var(--color-border-secondary)}.treatment-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.treatment-name{font-size:15px;font-weight:600;color:var(--color-text-primary);margin:0}.treatment-sessions{font-size:13px;font-weight:600;color:var(--color-text-secondary);background:var(--color-bg-primary);padding:4px 12px;border-radius:12px}.treatment-progress-container{display:flex;align-items:center;gap:12px}.treatment-progress-bar{flex:1;height:8px;background:var(--color-border-secondary);border-radius:10px;overflow:hidden;position:relative}.treatment-progress-fill{height:100%;background:linear-gradient(90deg,var(--color-success) 0%,var(--color-success) 100%);border-radius:10px;transition:width .4s ease;box-shadow:0 0 8px #2ecc7166}.treatment-progress-text{font-size:13px;font-weight:700;color:var(--color-success);min-width:45px;text-align:right}.quick-actions{display:grid;gap:12px}.quick-action-item{display:flex;align-items:center;gap:16px;padding:16px 18px;background:linear-gradient(to right,var(--color-bg-secondary),var(--color-bg-primary));border:1px solid var(--color-bg-tertiary);border-radius:10px;cursor:pointer;transition:all .2s;text-decoration:none}.quick-action-item:hover{background:linear-gradient(to right,var(--color-bg-tertiary),var(--color-bg-tertiary));border-color:var(--color-border-secondary);transform:translate(4px);box-shadow:0 2px 8px #00000014}.action-icon{font-size:28px;width:50px;height:50px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-primary) 100%);border-radius:12px;flex-shrink:0}.action-content{flex:1}.action-title{font-size:15px;font-weight:600;color:var(--color-text-primary);margin:0 0 4px}.action-description{font-size:13px;color:var(--color-text-secondary);margin:0}.empty-state-simple{text-align:center;padding:32px 20px;color:var(--color-text-tertiary)}.empty-state-simple-icon{font-size:48px;margin-bottom:12px;opacity:.5}.empty-state-simple p{font-size:14px;margin:0 0 16px}.empty-state-simple .btn{margin-top:8px}@media (max-width: 1024px){.patient-dashboard{grid-template-columns:1fr}.patient-hero-content{padding:24px 30px}.patient-hero-name{font-size:26px}.patient-avatar{width:80px;height:80px;font-size:30px}}@media (max-width: 768px){.patient-hero{margin:-20px -15px 20px}.patient-hero-content{padding:20px}.patient-hero-main{flex-direction:column;align-items:flex-start;gap:16px}.patient-hero-name{font-size:24px}.patient-avatar{width:70px;height:70px;font-size:26px}.patient-hero-meta{font-size:13px}.patient-hero-actions{width:100%}.patient-hero-actions .btn{flex:1;padding:10px 16px;font-size:13px}.patient-dashboard{gap:16px}.activity-stats{grid-template-columns:repeat(2,1fr)}.card-body{padding:18px}.card-header{padding:16px 18px}.card-title{font-size:16px}.action-icon{width:45px;height:45px;font-size:24px}.action-title{font-size:14px}.action-description{font-size:12px}}.completed-list{display:flex;flex-direction:column;gap:12px}.completed-item{display:flex;align-items:center;gap:14px;padding:14px 16px;background:linear-gradient(to right,var(--color-bg-secondary),var(--color-bg-primary));border:1px solid var(--color-bg-tertiary);border-radius:8px;transition:all .2s}.completed-item:hover{background:linear-gradient(to right,var(--color-success-alpha-10),var(--color-success-alpha-10));border-color:var(--color-success-alpha-10)}.completed-icon{width:36px;height:36px;border-radius:50%;background:linear-gradient(135deg,var(--color-success) 0%,var(--color-success) 100%);color:var(--color-bg-primary);display:flex;align-items:center;justify-content:center;font-size:18px;font-weight:700;flex-shrink:0;box-shadow:0 2px 8px #2ecc714d}.completed-content{flex:1}.completed-name{font-size:14px;font-weight:600;color:var(--color-text-primary);margin-bottom:4px}.completed-sessions{font-size:12px;color:var(--color-text-secondary)}.invoices-content{display:flex;flex-direction:column;gap:18px}.pending-amount-banner{background:linear-gradient(135deg,var(--color-warning) 0%,var(--color-error) 100%);color:var(--color-bg-primary);padding:20px;border-radius:10px;text-align:center;box-shadow:0 4px 12px #f39c124d}.pending-amount-banner .amount-label{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;opacity:.9;margin-bottom:8px}.pending-amount-banner .amount-value{font-size:32px;font-weight:700;text-shadow:0 2px 4px rgba(0,0,0,.1)}.invoices-list{display:flex;flex-direction:column;gap:10px}.invoice-item{padding:14px 16px;background:var(--color-bg-secondary);border:1px solid var(--color-bg-tertiary);border-radius:8px;border-left:4px solid var(--color-warning);transition:all .2s}.invoice-item:hover{background:var(--color-bg-primary)5e6;border-left-color:var(--color-error);box-shadow:0 2px 8px #f39c1226}.invoice-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.invoice-date{font-size:12px;color:var(--color-text-secondary);font-weight:600}.invoice-status{font-size:11px;font-weight:600;padding:4px 10px;border-radius:12px;text-transform:uppercase;letter-spacing:.3px}.invoice-status.pending{background:var(--color-bg-primary)3cd;color:var(--color-warning-dark)}.invoice-status.partial{background:var(--color-error-alpha-10);color:var(--color-error-dark)}.invoice-amount{display:flex;justify-content:space-between;align-items:center}.invoice-amount .amount-label{font-size:12px;color:var(--color-text-secondary);font-weight:600}.invoice-amount .amount-value{font-size:18px;font-weight:700;color:var(--color-error)}.view-all-link{background:none;border:none;color:var(--color-primary);font-size:13px;font-weight:600;padding:12px;cursor:pointer;text-align:center;border-radius:6px;transition:all .2s;margin-top:6px}.view-all-link:hover{background:var(--color-bg-secondary);color:var(--color-primary-dark)}.card-badge{background:var(--color-primary);color:var(--color-bg-primary);font-size:12px;font-weight:700;padding:4px 10px;border-radius:12px;min-width:24px;text-align:center}.card-badge.warning{background:var(--color-warning)}.info-link{color:var(--color-primary);text-decoration:none;transition:color .2s}.info-link:hover{color:var(--color-primary-dark);text-decoration:underline}.info-empty{color:var(--color-text-tertiary);font-style:italic}@media (min-width: 1200px){.patient-dashboard{grid-template-columns:repeat(3,1fr)}.info-card,.activity-card,.treatments-card,.completed-card,.invoices-card,.actions-card{grid-column:span 1}}@media (max-width: 1199px){.patient-dashboard{grid-template-columns:repeat(2,1fr)}}@media (max-width: 768px){.patient-dashboard{grid-template-columns:1fr}.pending-amount-banner .amount-value{font-size:28px}.completed-icon{width:32px;height:32px;font-size:16px}.invoice-amount .amount-value{font-size:16px}}.add-session-form{margin-top:20px;padding:20px;background:var(--color-bg-secondary);border-radius:16px;border:2px dashed var(--color-border-primary)}.add-session-header{display:flex;align-items:center;gap:8px;margin-bottom:16px;color:var(--color-text-primary);font-weight:600;font-size:14px}.add-session-fields{display:flex;flex-direction:column;gap:16px}.receipt-container{padding:16px;border:2px solid var(--color-success);border-radius:12px;background:var(--color-bg-primary);display:flex;flex-direction:column;gap:12px}.receipt-image-wrapper{width:100%;max-width:200px;aspect-ratio:4/3;border-radius:8px;overflow:hidden;border:2px solid var(--color-border-primary);margin:0 auto}.receipt-image{width:100%;height:100%;object-fit:cover}.receipt-info{display:flex;align-items:center;justify-content:space-between;padding-top:8px;border-top:1px solid var(--color-border-primary)}.receipt-status{display:flex;align-items:center;gap:8px}.receipt-status-text{font-size:13px;font-weight:600;color:var(--color-success-dark)}.receipt-actions{display:flex;gap:8px}.receipt-view-btn{padding:6px 12px;background:var(--color-success-alpha-10);border:1px solid var(--color-success);border-radius:6px;color:var(--color-success-dark);font-weight:600;font-size:12px;text-decoration:none;transition:all .2s;display:inline-block}.receipt-view-btn:hover{background:var(--color-success-alpha-10);transform:translateY(-1px)}.receipt-change-btn{padding:6px 12px;background:var(--color-bg-primary);border:1px solid var(--color-border-secondary);border-radius:6px;color:var(--color-text-secondary);font-weight:600;font-size:12px;cursor:pointer;transition:all .2s}.receipt-change-btn:hover{background:var(--color-bg-hover);border-color:var(--color-border-focus)}.upload-receipt-button{width:100%;padding:16px;border:2px dashed var(--color-border-secondary);border-radius:12px;background:var(--color-bg-secondary);cursor:pointer;transition:all .2s;display:flex;flex-direction:column;align-items:center;gap:8px}.upload-receipt-button:hover{border-color:var(--color-primary);background:var(--color-primary-alpha-10)}.upload-icon{color:var(--color-text-tertiary)}.upload-label{color:var(--color-text-secondary);font-weight:600;font-size:14px}.upload-hint{color:var(--color-text-tertiary);font-size:12px}.notes-textarea{width:100%;padding:12px 16px;border:2px solid var(--color-border-primary);border-radius:12px;font-size:14px;font-family:inherit;resize:vertical;transition:all .2s;background:var(--color-bg-primary);color:var(--color-text-primary)}.notes-textarea:focus{border-color:var(--color-primary);box-shadow:0 0 0 4px var(--color-primary-alpha-10);outline:none}.notes-textarea::placeholder{color:var(--color-text-tertiary)}.field-label{display:block;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--color-text-secondary);margin-bottom:8px}.loading-orders{display:flex;align-items:center;gap:8px;margin-top:12px;font-size:13px;color:var(--color-text-tertiary);justify-content:center}.header-spacer{width:40px}
