@import"https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap";.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--color-primary-light) 0%,var(--color-primary) 100%);padding:20px;position:relative}.login-page:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:radial-gradient(circle at 20% 50%,rgba(244,143,177,.3) 0%,transparent 50%),radial-gradient(circle at 80% 80%,rgba(244,143,177,.2) 0%,transparent 50%)}.login-container{width:100%;max-width:400px;position:relative;z-index:1}.login-card{background:#fff;border-radius:var(--radius-lg);padding:40px;box-shadow:var(--shadow-xl);border:1px solid var(--color-border)}.login-title{font-size:28px;font-weight:600;text-align:center;margin-bottom:8px;color:var(--color-text)}.login-subtitle{text-align:center;color:var(--color-text-light);margin-bottom:32px;font-size:14px}.login-form{margin-bottom:24px}.input-with-icon{position:relative;display:flex;align-items:center}.input-icon{position:absolute;left:12px;color:var(--color-text-light);pointer-events:none;z-index:1}.form-input.with-icon{padding-left:40px}.login-button{width:100%;justify-content:center;margin-top:8px;gap:8px}.login-info{margin-top:24px;padding-top:24px;border-top:1px solid var(--color-border);font-size:12px;color:var(--color-text-light)}.login-info p{margin-bottom:8px;font-weight:500}.login-info ul{list-style:none;padding:0}.login-info li{margin-bottom:4px}.login-warning{margin-top:12px;padding:8px 12px;background:#fff3cd;border:1px solid #ffc107;border-radius:6px;color:#856404;font-size:11px;line-height:1.4}.stats-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:var(--spacing-md);margin-bottom:var(--spacing-lg)}.stat-card{background:#fff;border-radius:16px;padding:20px;border:none;display:flex;align-items:center;gap:16px;transition:all .3s cubic-bezier(.4,0,.2,1);cursor:default;box-shadow:0 1px 3px #0000000d,0 1px 2px #0000001a;position:relative;overflow:hidden}.stat-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,transparent,currentColor,transparent);opacity:0;transition:opacity .3s}.stat-card.clickable{cursor:pointer}.stat-card.clickable:hover{transform:translateY(-4px);box-shadow:0 10px 25px #0000001a,0 4px 10px #00000014}.stat-card.clickable:hover:before{opacity:1}.stat-icon{display:flex;align-items:center;justify-content:center;width:56px;height:56px;border-radius:14px;flex-shrink:0;transition:all .3s cubic-bezier(.4,0,.2,1)}.stat-total .stat-icon{background:linear-gradient(135deg,#06b6d4,#0891b2);color:#fff;box-shadow:0 4px 12px #06b6d44d}.stat-pending .stat-icon{background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff;box-shadow:0 4px 12px #f59e0b4d}.stat-arrived .stat-icon{background:linear-gradient(135deg,#10b981,#059669);color:#fff;box-shadow:0 4px 12px #10b9814d}.stat-canceled .stat-icon{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff;box-shadow:0 4px 12px #ef44444d}.stat-card.clickable:hover .stat-icon{transform:scale(1.08) rotate(2deg)}.stat-content{flex:1;min-width:0}.stat-label{font-size:13px;color:#64748b;margin-bottom:6px;font-weight:600;text-transform:uppercase;letter-spacing:.3px}.stat-value{font-size:28px;font-weight:700;color:#1e293b;line-height:1.2;letter-spacing:-.8px}.stat-total{border-left:none}.stat-total .stat-value{color:#0891b2}.stat-pending{border-left:none}.stat-pending .stat-value{color:#d97706}.stat-arrived{border-left:none}.stat-arrived .stat-value{color:#059669}.stat-canceled{border-left:none}.stat-canceled .stat-value{color:#dc2626}@media (max-width: 768px){.stats-cards{grid-template-columns:1fr}}.top-customers{margin-top:24px}.top-customers-title{font-size:18px;font-weight:600;margin-bottom:16px;color:var(--color-text)}.top-customers-list{display:flex;flex-direction:column;gap:12px}.top-customer-item{display:flex;align-items:center;gap:16px;padding:12px;background:var(--color-bg);border-radius:var(--radius-sm);transition:background .2s}.top-customer-item.clickable{cursor:pointer}.top-customer-item:hover,.top-customer-item.clickable:hover{background:var(--color-bg-hover)}.customer-rank{font-size:20px;font-weight:600;color:var(--color-primary);min-width:40px;text-align:center}.customer-info{flex:1}.customer-name{font-weight:500;margin-bottom:4px;display:flex;align-items:center;gap:8px}.customer-phone{font-size:14px;color:var(--color-text-light)}.customer-count{font-weight:600;color:var(--color-primary)}.appointment-list{display:flex;flex-direction:column;gap:16px}.appointment-card{transition:border-color .2s}.appointment-card:hover{border-color:var(--color-border-accent)}.appointment-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid var(--color-border)}.appointment-time{display:flex;align-items:center;gap:8px}.time-icon{color:var(--color-primary)}.time-value{font-size:20px;font-weight:600;color:var(--color-text);letter-spacing:-.3px}.appointment-body{margin-bottom:16px}.appointment-customer{margin-bottom:12px}.customer-name{font-size:16px;font-weight:600;margin-bottom:4px;display:flex;align-items:center;gap:8px;letter-spacing:-.2px}.customer-name svg{color:var(--color-primary);flex-shrink:0}.customer-phone{font-size:14px;color:var(--color-text-light);display:flex;align-items:center;gap:6px}.customer-phone svg{flex-shrink:0}.appointment-details{display:flex;flex-direction:column;gap:8px}.detail-item{display:flex;align-items:center;gap:8px;font-size:14px}.detail-icon{color:var(--color-text-light);flex-shrink:0}.detail-label{font-weight:500;color:var(--color-text-light);min-width:60px}.detail-value{color:var(--color-text);flex:1}.appointment-actions{display:flex;gap:8px;padding-top:12px;border-top:1px solid var(--color-border)}.appointment-actions .btn{flex:1;justify-content:center}.empty-state{text-align:center;padding:40px;color:var(--color-text-light)}@media (max-width: 768px){.appointment-header{flex-direction:column;align-items:flex-start;gap:8px}.appointment-actions{flex-direction:column}}.spinner-sm{width:16px;height:16px;border-width:2px}.loading-page{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;gap:var(--spacing-md)}.loading-message{color:var(--color-text-light);font-size:14px;font-weight:500}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.skeleton-card{min-height:200px}.skeleton-table{display:flex;flex-direction:column;gap:var(--spacing-md)}.skeleton-table-header,.skeleton-table-row{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--spacing-md)}.skeleton-table-header{padding-bottom:var(--spacing-md);border-bottom:1px solid var(--color-border)}.skeleton-table-row{padding:var(--spacing-md) 0;border-bottom:1px solid var(--color-border-light)}.dashboard-page{width:100%}.dashboard-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;flex-wrap:nowrap;gap:16px}.dashboard-header h2{font-size:24px;font-weight:600;margin:0}.date-picker{width:auto;min-width:140px;max-width:160px;margin-left:auto;padding:8px 12px;font-size:14px}@media (max-width: 768px){.dashboard-header{flex-wrap:wrap}.date-picker{margin-left:0;width:100%}}.loading{text-align:center;padding:40px;color:var(--color-text-light)}.dashboard-appointments-section{margin-top:var(--spacing-xl)}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-md)}.section-header h3{font-size:20px;font-weight:600;color:var(--color-text);letter-spacing:-.3px;margin:0}.dashboard-pending-section{margin-top:var(--spacing-xl);margin-bottom:var(--spacing-xl)}.section-title{display:flex;align-items:center;gap:12px;font-size:20px;font-weight:700;color:#1e293b;letter-spacing:-.4px;margin:0}.section-icon{font-size:24px}.section-icon-svg{color:var(--color-primary);flex-shrink:0}.pending-appointments-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:var(--spacing-md);margin-top:var(--spacing-md)}.pending-appointment-card{border-left:4px solid #f59e0b;border-radius:16px;transition:all .3s cubic-bezier(.4,0,.2,1);cursor:pointer;background:#fff;box-shadow:0 1px 3px #0000000d,0 1px 2px #0000001a}.pending-appointment-card:hover{transform:translateY(-4px);box-shadow:0 10px 25px #f59e0b26,0 4px 10px #f59e0b1a;border-left-color:#d97706}.pending-appointment-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-sm);padding-bottom:var(--spacing-sm);border-bottom:1px solid var(--color-border)}.pending-time{display:flex;align-items:center;gap:8px;color:#0891b2;font-size:16px;font-weight:600}.pending-time svg{color:#06b6d4}.pending-time strong{font-weight:600}.badge-vip-small{display:inline-flex;align-items:center;padding:6px 10px;background:linear-gradient(135deg,#fbbf24,#f59e0b);color:#fff;border-radius:8px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;box-shadow:0 2px 6px #fbbf244d}.pending-appointment-body{display:flex;flex-direction:column;gap:var(--spacing-sm)}.pending-customer{margin-bottom:var(--spacing-xs)}.pending-customer-name{font-size:16px;font-weight:600;color:var(--color-text);margin:0 0 4px}.pending-customer-phone{display:flex;align-items:center;gap:6px;color:var(--color-text-light);font-size:14px;margin:0}.pending-details{display:flex;flex-direction:column;gap:6px;padding-top:var(--spacing-xs);border-top:1px solid var(--color-border)}.pending-detail-item{display:flex;align-items:center;gap:8px;color:var(--color-text-light);font-size:13px}.pending-detail-item svg{color:#06b6d4;flex-shrink:0}.pending-empty{text-align:center;padding:var(--spacing-lg);background:linear-gradient(135deg,#f0fdf4,#dcfce7);color:#059669;border-left:4px solid #10b981;border-radius:16px;font-weight:500}.pending-empty p{margin:0;font-size:14px}@media (max-width: 768px){.pending-appointments-grid{grid-template-columns:1fr}.section-title{font-size:18px}}.dashboard-revenue-card{margin-bottom:var(--spacing-lg)}.revenue-card{display:flex;align-items:center;gap:24px;padding:28px;background:linear-gradient(135deg,#06b6d4,#0891b2,#0e7490)!important;color:#fff;border:none!important;border-radius:20px;box-shadow:0 10px 30px #06b6d440,0 4px 12px #06b6d426;position:relative;overflow:hidden}.revenue-card.revenue-zero{background:linear-gradient(135deg,#94a3b8,#64748b,#475569)!important;box-shadow:0 10px 30px #94a3b833,0 4px 12px #94a3b81a}.revenue-icon{display:flex;align-items:center;justify-content:center;width:72px;height:72px;background:#ffffff40;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:18px;border:1px solid rgba(255,255,255,.3);box-shadow:0 4px 12px #0000001a;z-index:1}.revenue-content{flex:1}.revenue-label{font-size:13px;opacity:.95;margin-bottom:8px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.revenue-value{font-size:36px;font-weight:800;margin-bottom:6px;letter-spacing:-1px;text-shadow:0 2px 4px rgba(0,0,0,.1);z-index:1;position:relative}.revenue-zero-text{font-size:20px;font-weight:600;opacity:.9;font-style:italic}.revenue-count{font-size:14px;opacity:.9;font-weight:500;z-index:1;position:relative}.dashboard-alerts-section{margin-bottom:var(--spacing-lg)}.alert-card{border-left:4px solid #f59e0b;background:linear-gradient(135deg,#fff7ed,#ffedd5);border-radius:16px;box-shadow:0 4px 12px #f59e0b1a}.alert-header{display:flex;align-items:center;gap:var(--spacing-sm);margin-bottom:var(--spacing-md);color:var(--color-warning, #f59e0b);font-size:16px}.alert-icon{color:var(--color-warning, #f59e0b)}.alert-list{display:flex;flex-direction:column;gap:var(--spacing-sm)}.alert-item{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-sm);background:#fff;border-radius:8px;font-size:14px}.alert-time{font-weight:600;color:var(--color-primary);min-width:60px}.alert-customer{font-weight:500;flex:1}.alert-service{color:var(--color-text-light);flex:1}.alert-minutes{font-weight:700;color:#d97706;min-width:100px;text-align:right;background:#f59e0b1a;padding:4px 10px;border-radius:8px}.dashboard-timeline-section{margin-top:var(--spacing-xl);margin-bottom:var(--spacing-xl)}.timeline-container{display:flex;gap:var(--spacing-xs);overflow-x:auto;padding:var(--spacing-sm) 0;margin-top:var(--spacing-md)}.timeline-slot{flex:1;min-width:60px;display:flex;flex-direction:column;align-items:center;gap:8px;padding:12px 8px;border-radius:12px;background:#f8fafc;transition:all .3s cubic-bezier(.4,0,.2,1);border:2px solid transparent}.timeline-slot.has-appointments{background:linear-gradient(135deg,#06b6d4,#0891b2);color:#fff;border-color:#0891b2;box-shadow:0 4px 12px #06b6d440;transform:scale(1.05)}.timeline-hour{font-size:12px;font-weight:700;color:#64748b}.timeline-slot.has-appointments .timeline-hour{color:#fff;font-weight:800}.timeline-content{width:100%;display:flex;justify-content:center;align-items:center;min-height:40px}.timeline-badge{display:flex;align-items:center;justify-content:center;width:36px;height:36px;background:#fff;color:#0891b2;border-radius:50%;font-weight:800;font-size:15px;box-shadow:0 2px 8px #00000026}.timeline-empty{color:var(--color-text-light);font-size:12px}.dashboard-top-services-section{margin-top:var(--spacing-xl);margin-bottom:var(--spacing-xl)}.top-services-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:var(--spacing-md);margin-top:var(--spacing-md)}.top-service-card{display:flex;gap:16px;padding:20px;border-left:4px solid #06b6d4;border-radius:16px;background:#fff;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 1px 3px #0000000d,0 1px 2px #0000001a}.top-service-card:hover{transform:translateY(-4px);box-shadow:0 10px 25px #06b6d426,0 4px 10px #06b6d41a;border-left-color:#0891b2}.service-rank{display:flex;align-items:center;justify-content:center;width:44px;height:44px;background:linear-gradient(135deg,#06b6d4,#0891b2);color:#fff;border-radius:12px;font-weight:800;font-size:18px;flex-shrink:0;box-shadow:0 4px 12px #06b6d44d}.service-info{flex:1}.service-name{font-size:16px;font-weight:700;color:#1e293b;margin:0 0 8px;letter-spacing:-.2px}.service-stats{display:flex;flex-direction:column;gap:4px}.service-count{font-size:13px;color:#64748b;font-weight:600}.service-revenue{font-size:16px;font-weight:700;color:#0891b2;letter-spacing:-.3px}.dashboard-revenue-details-section{margin-top:var(--spacing-xl);margin-bottom:var(--spacing-xl)}.revenue-details-table{background:#fff;border-radius:16px;overflow:hidden;box-shadow:0 1px 3px #0000000d,0 1px 2px #0000001a;margin-top:var(--spacing-md)}.revenue-details-header{display:grid;grid-template-columns:100px 1.5fr 1.5fr 1fr 150px;gap:16px;padding:16px 20px;background:#f8fafc;border-bottom:2px solid #e2e8f0;font-weight:700;font-size:13px;color:#475569;text-transform:uppercase;letter-spacing:.5px}.revenue-details-body{display:flex;flex-direction:column}.revenue-detail-row{display:grid;grid-template-columns:100px 1.5fr 1.5fr 1fr 150px;gap:16px;padding:16px 20px;border-bottom:1px solid #f1f5f9;transition:background .2s}.revenue-detail-row:hover{background:#f8fafc}.revenue-detail-row:last-child{border-bottom:none}.revenue-detail-cell{display:flex;align-items:center;gap:8px;font-size:14px;color:#1e293b}.time-cell{font-weight:600;color:#0891b2}.time-cell svg{color:#06b6d4;flex-shrink:0}.customer-cell{flex-direction:column;align-items:flex-start;gap:4px}.customer-name{font-weight:600;color:#1e293b;display:flex;align-items:center;gap:8px}.customer-phone{font-size:13px;color:#64748b}.badge-vip-inline{display:inline-flex;align-items:center;padding:2px 6px;background:linear-gradient(135deg,#fbbf24,#f59e0b);color:#fff;border-radius:4px;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.3px}.service-cell{color:#475569}.staff-cell{color:#64748b}.price-cell{font-weight:700;color:#059669;justify-content:flex-end}.revenue-details-footer{display:flex;justify-content:space-between;align-items:center;padding:20px;background:#f8fafc;border-top:2px solid #e2e8f0}.revenue-total-label{font-size:16px;font-weight:700;color:#1e293b}.revenue-total-value{font-size:24px;font-weight:800;color:#059669;letter-spacing:-.5px}.revenue-empty{text-align:center;padding:var(--spacing-xl);background:linear-gradient(135deg,#f8fafc,#f1f5f9);color:#64748b;border-radius:16px;font-weight:500}@media (max-width: 768px){.revenue-card{flex-direction:column;text-align:center}.revenue-value{font-size:24px}.revenue-details-header,.revenue-detail-row{grid-template-columns:1fr;gap:12px}.revenue-detail-col{display:none}.revenue-detail-cell{flex-direction:column;align-items:flex-start}.revenue-details-footer{flex-direction:column;gap:12px;text-align:center}.alert-item{flex-wrap:wrap;font-size:13px}.alert-time,.alert-minutes{min-width:auto}.timeline-container{gap:4px}.timeline-slot{min-width:50px}.top-services-grid{grid-template-columns:1fr}}.appointment-form-card{position:sticky;top:20px}.form-title{font-size:20px;font-weight:600;margin-bottom:20px;color:var(--color-text)}.appointment-form{display:flex;flex-direction:column}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form-checkbox-label{display:flex;align-items:center;cursor:pointer;font-weight:500}.form-actions{display:flex;gap:12px;margin-top:8px}.form-actions .btn{flex:1;justify-content:center}@media (max-width: 768px){.form-row{grid-template-columns:1fr}}.filters-card{margin-bottom:20px}.filters-title{font-size:18px;font-weight:600;margin-bottom:16px;color:var(--color-text)}.filters-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px}@media (max-width: 768px){.filters-grid{grid-template-columns:1fr}}.appointments-page{width:100%}.appointments-layout{display:grid;grid-template-columns:400px 1fr;gap:24px}.appointments-form-section{position:sticky;top:20px;height:fit-content}.appointments-list-section{min-width:0}@media (max-width: 1024px){.appointments-layout{grid-template-columns:1fr}.appointments-form-section{position:static}}.services-page{padding:var(--spacing-lg)}.page-subtitle{color:var(--color-text-light);margin-top:4px}.services-table-container{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-lg);overflow-x:auto}.services-table{width:100%;border-collapse:collapse}.services-table th,.services-table td{padding:var(--spacing-md);border-bottom:1px solid var(--color-border-light);text-align:left}.services-table th{font-size:13px;text-transform:uppercase;letter-spacing:.5px;color:var(--color-text-light)}.service-name{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.service-name-text{font-weight:600;color:var(--color-text)}.service-description{max-width:320px;color:var(--color-text-light)}.services-card{border-radius:var(--radius-lg)}.form-row{display:flex;gap:var(--spacing-md)}@media (max-width: 768px){.services-page{padding:var(--spacing-md)}.form-row{flex-direction:column}.services-table th,.services-table td{padding:var(--spacing-sm);font-size:13px}}.rooms-page{padding:var(--spacing-lg)}.rooms-table-container{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-lg);overflow-x:auto}.rooms-table{width:100%;border-collapse:collapse}.rooms-table th,.rooms-table td{padding:var(--spacing-md);border-bottom:1px solid var(--color-border-light);text-align:left}.rooms-table th{font-size:13px;text-transform:uppercase;letter-spacing:.5px;color:var(--color-text-light)}.rooms-card{border-radius:var(--radius-lg)}.empty-state{text-align:center;color:var(--color-text-light);padding:var(--spacing-xl)}.modal-content{border-radius:var(--radius-lg)}@media (max-width: 768px){.rooms-page{padding:var(--spacing-md)}.rooms-table th,.rooms-table td{padding:var(--spacing-sm);font-size:13px}}.logo-upload{margin-bottom:16px}.logo-preview{display:flex;flex-direction:column;gap:12px}.logo-image{max-width:200px;max-height:80px;object-fit:contain;border-radius:8px;background:var(--color-bg);padding:8px}.logo-actions{display:flex;gap:8px}.logo-btn{display:flex;align-items:center;gap:6px;padding:8px 12px;border:1px solid var(--color-border);border-radius:6px;background:#fff;cursor:pointer;font-size:14px;transition:all .2s}.logo-btn:hover:not(:disabled){border-color:var(--color-primary);background:var(--color-bg)}.logo-btn:disabled{opacity:.5;cursor:not-allowed}.logo-btn-change{color:var(--color-primary)}.logo-btn-remove{color:var(--color-error)}.logo-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--spacing-xl);border:1px dashed var(--color-border);border-radius:var(--radius-sm);cursor:pointer;transition:all .2s;background:var(--color-bg-card)}.logo-placeholder:hover{border-color:var(--color-primary);background:var(--color-primary-light)}.logo-text{font-weight:500;color:var(--color-text);margin-bottom:var(--spacing-xs);font-size:14px}.logo-hint{font-size:12px;color:var(--color-text-light)}.theme-selector{position:relative}.theme-selector-button{display:flex;align-items:center;gap:8px;padding:8px 12px;background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-sm);cursor:pointer;font-size:14px;transition:border-color .2s}.theme-selector-button:hover{border-color:var(--color-primary)}.theme-preview{width:20px;height:20px;border-radius:var(--radius-sm);border:1px solid var(--color-border);display:block}.theme-name{font-weight:500}.theme-arrow{font-size:10px;opacity:.6}.theme-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0000004d;z-index:999}.theme-dropdown{position:absolute;top:calc(100% + 8px);right:0;background:#fff;border-radius:var(--radius-md);box-shadow:0 8px 24px #00000026;z-index:1000;min-width:280px;max-width:320px}.theme-dropdown-header{display:flex;justify-content:space-between;align-items:center;padding:16px;border-bottom:1px solid var(--color-border)}.theme-dropdown-header h3{font-size:16px;font-weight:600;margin:0}.theme-close{background:none;border:none;font-size:24px;cursor:pointer;color:var(--color-text-light);padding:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center}.theme-close:hover{color:var(--color-text)}.theme-list{padding:8px;max-height:400px;overflow-y:auto}.theme-option{display:flex;align-items:center;gap:12px;width:100%;padding:12px;background:none;border:2px solid transparent;border-radius:var(--radius-md);cursor:pointer;transition:all .2s;text-align:left}.theme-option:hover{background:var(--color-bg)}.theme-option.active{border-color:var(--color-primary);background:var(--color-primary-light)}.theme-preview-large{width:32px;height:32px;border-radius:var(--radius-md);border:1px solid var(--color-border);display:block;flex-shrink:0}.theme-option-name{flex:1;font-weight:500}.theme-check{color:var(--color-primary);font-weight:700;font-size:18px}@media (max-width: 768px){.theme-dropdown{right:auto;left:0;min-width:100%}}.settings-page{width:100%}.settings-header{margin-bottom:var(--spacing-xl)}.settings-title{font-size:24px;font-weight:600;margin-bottom:var(--spacing-sm);color:var(--color-text);letter-spacing:-.4px}.settings-subtitle{color:var(--color-text-light);font-size:14px}.settings-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:var(--spacing-lg);margin-bottom:var(--spacing-lg)}.settings-card{display:flex;flex-direction:column;gap:var(--spacing-md)}.settings-card-title{font-size:16px;font-weight:600;margin:0 0 var(--spacing-sm) 0;color:var(--color-text);letter-spacing:-.2px;text-transform:uppercase;font-size:13px;letter-spacing:.5px}.settings-card-desc{color:var(--color-text-light);font-size:14px;margin:0;line-height:1.5}.settings-info{margin-top:var(--spacing-lg)}.settings-info-list{list-style:none;padding:0;margin:var(--spacing-md) 0 0 0;display:flex;flex-direction:column;gap:var(--spacing-sm)}.settings-info-list li{padding-left:var(--spacing-lg);position:relative;color:var(--color-text-light);font-size:14px;line-height:1.6}.settings-info-list li:before{content:"•";position:absolute;left:0;color:var(--color-primary);font-weight:700}@media (max-width: 768px){.settings-grid{grid-template-columns:1fr}.settings-title{font-size:24px}}.users-page{padding:var(--spacing-lg)}.page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-lg)}.page-actions{display:flex;gap:var(--spacing-sm)}.users-table-container{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-sm);overflow-x:auto}.users-table{width:100%;border-collapse:collapse}.users-table thead{background:var(--color-bg-secondary);border-bottom:1px solid var(--color-border)}.users-table th{padding:var(--spacing-md);text-align:left;font-weight:600;font-size:13px;text-transform:uppercase;letter-spacing:.5px;color:var(--color-text-light)}.users-table td{padding:var(--spacing-md);border-bottom:1px solid var(--color-border-light);font-size:14px}.users-table tbody tr:hover{background:var(--color-bg-hover)}.action-buttons{display:flex;gap:var(--spacing-xs)}.btn-sm{padding:6px 12px;font-size:13px}.badge-role{text-transform:uppercase;font-size:11px;padding:4px 8px;border-radius:var(--radius-sm);font-weight:600;letter-spacing:.5px}.badge-admin{background:var(--color-primary-light);color:var(--color-primary-accent);border:1px solid var(--color-primary)}.badge-manager{background:#e3f2fd;color:#1976d2;border:1px solid #90caf9}.badge-staff{background:#f5f5f5;color:#616161;border:1px solid #e0e0e0}.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:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--spacing-xl);width:90%;max-width:500px;max-height:90vh;overflow-y:auto}.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-lg);padding-bottom:var(--spacing-md);border-bottom:1px solid var(--color-border)}.modal-header h3{font-size:18px;font-weight:600;color:var(--color-text)}.modal-close{background:none;border:none;font-size:24px;cursor:pointer;color:var(--color-text-light);padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm)}.modal-close:hover{background:var(--color-bg-hover)}.modal-actions{display:flex;gap:var(--spacing-sm);justify-content:flex-end;margin-top:var(--spacing-lg);padding-top:var(--spacing-md);border-top:1px solid var(--color-border)}.alert{padding:var(--spacing-md);border-radius:var(--radius-sm);margin-bottom:var(--spacing-lg);border:1px solid}.alert-error{background:#ffebee;color:#c62828;border-color:#ef9a9a}.permissions-section{margin-top:var(--spacing-lg);padding-top:var(--spacing-lg);border-top:1px solid var(--color-border)}.permissions-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:var(--spacing-md);gap:var(--spacing-md)}.permissions-header label{font-weight:600;color:var(--color-text);margin-bottom:4px;display:block}.permissions-hint{font-size:13px;color:var(--color-text-light);margin:0;line-height:1.5}.permissions-grid{display:grid;grid-template-columns:1fr;gap:var(--spacing-md);margin-top:var(--spacing-md)}.permission-item{padding:var(--spacing-md);border:1px solid var(--color-border);border-radius:var(--radius-sm);cursor:pointer;transition:all .2s ease;display:block}.permission-item:hover{border-color:var(--color-border-accent);background:var(--color-bg-hover)}.permission-item-top{display:flex;align-items:center;gap:12px;margin-bottom:6px}.permission-item-top input[type=checkbox]{width:18px;height:18px;cursor:pointer;flex-shrink:0;margin:0}.permission-label{font-weight:500;color:var(--color-text);font-size:14px;cursor:pointer;flex:1}.permission-description{font-size:13px;color:var(--color-text-light);margin:0;padding-left:30px;line-height:1.5}@media (max-width: 768px){.page-header{flex-direction:column;align-items:flex-start;gap:var(--spacing-md)}.page-actions{width:100%;flex-direction:column}.page-actions .btn{width:100%}.users-table{font-size:12px}.users-table th,.users-table td{padding:var(--spacing-sm)}.action-buttons{flex-direction:column}}.customers-page{width:100%;padding:var(--spacing-lg);max-width:1400px;margin:0 auto}.page-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:var(--spacing-xl);gap:var(--spacing-md)}.page-header h2{font-size:28px;font-weight:700;color:var(--color-text);margin:0 0 var(--spacing-xs) 0}.page-subtitle{color:var(--color-text-light);font-size:14px;margin:0}.customers-filters{display:flex;justify-content:space-between;align-items:center;gap:var(--spacing-md);margin-bottom:var(--spacing-lg);flex-wrap:wrap}.search-box{position:relative;flex:1;min-width:300px;max-width:500px}.search-icon{position:absolute;right:12px;top:50%;transform:translateY(-50%);color:var(--color-text-light);pointer-events:none;z-index:1}.search-input{padding-right:40px;padding-left:12px;width:100%}.select-all-checkbox{display:flex;align-items:center}.checkbox-label{display:flex;align-items:center;gap:8px;cursor:pointer;-webkit-user-select:none;user-select:none}.checkbox-input{width:18px;height:18px;cursor:pointer;accent-color:var(--color-primary)}.checkbox-text{font-size:14px;color:var(--color-text);font-weight:500}.customers-list-container{background:#fff;border-radius:16px;overflow:hidden;box-shadow:0 1px 3px #0000000d,0 1px 2px #0000001a;margin-bottom:var(--spacing-lg)}.customers-table-header{display:grid;grid-template-columns:auto 2fr 1.5fr 1fr 1.5fr 1fr 120px;gap:var(--spacing-md);padding:16px 20px;background:linear-gradient(135deg,#f8fafc,#f1f5f9);border-bottom:2px solid #e2e8f0;font-weight:700;font-size:13px;color:#475569;text-transform:uppercase;letter-spacing:.5px;align-items:center}.customers-table-header .table-col{display:flex;align-items:center}.customers-list{display:flex;flex-direction:column}.customer-row{display:grid;grid-template-columns:auto 2fr 1.5fr 1fr 1.5fr 1fr 120px;gap:var(--spacing-md);padding:20px;border-bottom:1px solid #f1f5f9;transition:all .2s ease;align-items:center;background:#fff}.customer-row:last-child{border-bottom:none}.customer-row:hover{background:#f8fafc;transform:translate(4px);box-shadow:-4px 0 0 0 var(--color-primary)}.customer-row.selected{background:linear-gradient(135deg,#f0f9ff,#e0f2fe);border-left:4px solid var(--color-primary)}.table-col{display:flex;align-items:center;gap:var(--spacing-sm)}.checkbox-col{width:24px;justify-content:center}.name-col{min-width:0}.customer-name-wrapper{display:flex;align-items:center;gap:12px;min-width:0}.customer-icon{color:var(--color-primary);flex-shrink:0}.customer-name-group{display:flex;align-items:center;gap:8px;min-width:0}.customer-name{font-size:16px;font-weight:700;color:var(--color-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.badge-vip{display:inline-flex;align-items:center;gap:4px;padding:4px 8px;background:linear-gradient(135deg,#fbbf24,#f59e0b);color:#fff;border-radius:6px;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.3px;box-shadow:0 2px 4px #fbbf244d;flex-shrink:0}.phone-col{min-width:0}.phone-wrapper{display:flex;align-items:center;gap:8px;color:var(--color-text);font-size:14px;font-weight:500}.phone-wrapper svg{color:var(--color-text-light);flex-shrink:0}.stats-col{justify-content:flex-start}.stat-badge{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;background:linear-gradient(135deg,#e0f2fe,#bae6fd);color:#0369a1;border-radius:8px;font-size:14px;font-weight:700;border:1px solid #7dd3fc}.stat-badge svg{color:#0284c7;flex-shrink:0}.revenue-col{justify-content:flex-start}.revenue-value{display:flex;align-items:center;gap:6px;color:#059669;font-size:14px;font-weight:700}.revenue-value svg{color:#10b981;flex-shrink:0}.no-revenue{color:var(--color-text-light);font-style:italic}.date-col{justify-content:flex-start}.date-value{color:var(--color-text);font-size:14px;font-weight:500}.no-date{color:var(--color-text-light);font-style:italic}.actions-col{justify-content:flex-end}.btn-sm{padding:8px 16px;font-size:14px;white-space:nowrap}.empty-state{text-align:center;padding:var(--spacing-xl);color:var(--color-text-light);background:#fff;border-radius:16px}.customers-summary{text-align:center;padding:var(--spacing-md);color:var(--color-text-light);font-size:14px;background:#fff;border-radius:12px}.customers-summary strong{color:var(--color-text);font-weight:600}@media (max-width: 1200px){.customers-table-header,.customer-row{grid-template-columns:auto 2fr 1.3fr .9fr 1.3fr 1fr 100px;gap:var(--spacing-sm);padding:16px}}@media (max-width: 968px){.customers-list-container{overflow-x:auto}.customers-table-header,.customer-row{grid-template-columns:auto 200px 140px 80px 140px 100px 100px;min-width:800px;gap:var(--spacing-sm);padding:12px}.customer-name{font-size:14px}.phone-wrapper,.date-value{font-size:13px}}@media (max-width: 768px){.page-header,.customers-filters{flex-direction:column;align-items:stretch}.search-box{min-width:100%;max-width:100%}.customers-table-header{font-size:11px;padding:12px}.customer-row{padding:12px}.btn-sm{padding:6px 12px;font-size:12px}}.customer-detail-page{padding:var(--spacing-lg)}.page-header{display:flex;align-items:center;gap:var(--spacing-md);margin-bottom:var(--spacing-lg)}.page-header h2{font-size:24px;font-weight:600;color:var(--color-text);letter-spacing:-.4px}.customer-info-card{margin-bottom:var(--spacing-lg)}.customer-header{display:flex;justify-content:space-between;align-items:flex-start}.customer-header h3{font-size:20px;font-weight:600;margin:0 0 var(--spacing-xs) 0;color:var(--color-text)}.customer-phone{font-size:14px;color:var(--color-text-light);margin:0}.customer-stats{display:flex;align-items:center;gap:var(--spacing-md)}.stat-item{display:flex;flex-direction:column;align-items:flex-end}.stat-label{font-size:12px;color:var(--color-text-light);text-transform:uppercase;letter-spacing:.5px}.stat-value{font-size:24px;font-weight:600;color:var(--color-text)}.appointments-history h3{font-size:18px;font-weight:600;margin-bottom:var(--spacing-md);color:var(--color-text)}.appointment-history-card{margin-bottom:var(--spacing-md)}.history-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-md);padding-bottom:var(--spacing-md);border-bottom:1px solid var(--color-border)}.history-date-time{display:flex;align-items:center;gap:var(--spacing-md)}.history-date-time .date{font-size:16px;font-weight:600;color:var(--color-text)}.history-date-time .time{font-size:14px;color:var(--color-text-light);padding:4px 8px;background:var(--color-bg-secondary);border-radius:var(--radius-sm)}.history-body{display:flex;flex-direction:column;gap:var(--spacing-sm)}.history-item{display:flex;gap:var(--spacing-sm)}.history-item .label{font-weight:500;color:var(--color-text-light);min-width:120px}.history-item .value{color:var(--color-text)}.page-loading{padding:var(--spacing-xl);text-align:center;color:var(--color-text-light)}@media (max-width: 768px){.customer-header{flex-direction:column;gap:var(--spacing-md)}.customer-stats{width:100%;justify-content:space-between}}.support-page{width:100%;max-width:800px;margin:0 auto;padding:var(--spacing-lg)}.support-header{text-align:center;margin-bottom:var(--spacing-xl)}.support-title{font-size:28px;font-weight:700;margin-bottom:var(--spacing-sm);color:var(--color-text);letter-spacing:-.5px}.support-subtitle{color:var(--color-text-light);font-size:16px;line-height:1.6}.support-content-wrapper{display:flex;justify-content:center}.support-main-card{width:100%;padding:var(--spacing-xl);background:var(--color-bg-secondary);border-radius:16px;box-shadow:0 4px 20px #0000000d;border:1px solid var(--color-border)}.support-logo-area{text-align:center;margin-bottom:var(--spacing-xl);padding-bottom:var(--spacing-lg);border-bottom:1px solid var(--color-border)}.vietts-title{font-size:24px;font-weight:800;color:var(--color-primary);margin-bottom:var(--spacing-xs);letter-spacing:-.5px}.vietts-slogan{font-size:14px;color:var(--color-text-light);font-style:italic}.support-contact-info{display:flex;flex-direction:column;gap:var(--spacing-lg);margin-bottom:var(--spacing-xl)}.contact-row{display:flex;align-items:flex-start;gap:var(--spacing-md)}.contact-icon{width:40px;height:40px;border-radius:10px;background:var(--color-bg);display:flex;align-items:center;justify-content:center;color:var(--color-primary);flex-shrink:0}.contact-details{display:flex;flex-direction:column;gap:4px}.contact-label{font-size:12px;text-transform:uppercase;letter-spacing:.5px;color:var(--color-text-light);font-weight:600}.contact-value{font-size:16px;color:var(--color-text);font-weight:500;text-decoration:none;display:flex;align-items:center;gap:6px}.contact-value.highlight{color:var(--color-primary);font-weight:600}.contact-value:hover{text-decoration:underline}.external-link-icon{opacity:.5}.support-services{margin-bottom:var(--spacing-xl)}.services-title{font-size:14px;font-weight:600;color:var(--color-text);margin-bottom:var(--spacing-md);text-align:center}.services-grid{display:flex;flex-wrap:wrap;gap:var(--spacing-sm);justify-content:center}.service-tag{padding:6px 12px;background:var(--color-bg);border-radius:20px;font-size:13px;color:var(--color-text-secondary);border:1px solid var(--color-border)}.support-cta{text-align:center}.btn-visit-website{display:inline-flex;align-items:center;justify-content:center;padding:12px 32px;background:var(--color-primary);color:#fff;font-weight:600;border-radius:8px;text-decoration:none;transition:all .2s;box-shadow:0 4px 12px rgba(var(--color-primary-rgb),.2)}.btn-visit-website:hover{background:var(--color-primary-dark);transform:translateY(-2px);box-shadow:0 6px 16px rgba(var(--color-primary-rgb),.3);text-decoration:none}@media (max-width: 600px){.support-page{padding:var(--spacing-md)}.support-main-card{padding:var(--spacing-lg)}.vietts-title{font-size:20px}}.layout{min-height:100vh;display:flex;flex-direction:column;background:var(--color-bg)}.header{background:var(--color-bg-card);color:var(--color-text);padding:var(--spacing-lg) 0;border-bottom:1px solid var(--color-border);border-top:3px solid var(--color-primary);position:sticky;top:0;z-index:100;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffff2}.header-content{max-width:1400px;margin:0 auto;padding:0 var(--spacing-lg);display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:var(--spacing-lg)}.header-brand{display:flex;align-items:center;gap:var(--spacing-md)}.header-logo{height:48px;width:auto;object-fit:contain;border-radius:var(--radius-sm);border:1px solid var(--color-border);padding:6px;background:var(--color-bg-card)}.header-logo-icon{font-size:14px;font-weight:600;display:flex;align-items:center;justify-content:center;width:48px;height:48px;background:var(--color-primary);color:var(--color-text-white);border-radius:var(--radius-sm);border:1px solid var(--color-primary);letter-spacing:.5px}.header-title-group{display:flex;flex-direction:column;gap:2px}.header-title{font-size:20px;font-weight:600;margin:0;line-height:1.3;color:var(--color-text);letter-spacing:-.4px}.header-subtitle{font-size:13px;color:var(--color-text-light);margin:0;font-weight:400}.header-actions{display:flex;align-items:center;gap:var(--spacing-md);flex-wrap:wrap}.user-menu{display:flex;align-items:center;gap:var(--spacing-md)}.user-info{display:flex;align-items:center;gap:8px;font-size:14px;padding:8px 14px;background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-sm)}.user-name{font-weight:500;color:var(--color-text)}.user-role{color:var(--color-text-light);font-size:12px;text-transform:uppercase;font-weight:500;letter-spacing:.5px}.btn-logout{background:var(--color-bg-card);color:var(--color-text);border:1px solid var(--color-border)}.btn-logout:hover{background:var(--color-bg-hover);border-color:var(--color-border-accent)}.icon{font-size:16px;line-height:1}.navbar{background:var(--color-bg-card);border-bottom:1px solid var(--color-border);position:sticky;top:0;z-index:99}.navbar-content{max-width:1400px;margin:0 auto;padding:0 var(--spacing-lg);display:flex;gap:var(--spacing-xs);overflow-x:auto;-webkit-overflow-scrolling:touch}.navbar-content::-webkit-scrollbar{display:none}.nav-link{padding:var(--spacing-md) var(--spacing-lg);text-decoration:none;color:var(--color-text-light);font-weight:500;font-size:14px;border-bottom:2px solid transparent;transition:all .2s ease;white-space:nowrap;display:flex;align-items:center;gap:8px;position:relative;letter-spacing:-.2px}.nav-link:before{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:var(--color-primary);transform:scaleX(0);transition:transform .2s ease}.nav-link:hover{color:var(--color-text);background:var(--color-bg-hover)}.nav-link.active{color:var(--color-text);font-weight:600;background:var(--color-primary-light);border-radius:var(--radius-sm)}.nav-link.active:before{transform:scaleX(1)}.main-content{flex:1;max-width:1400px;margin:0 auto;padding:var(--spacing-lg);width:100%}@media (max-width: 768px){.header{padding:var(--spacing-md) 0}.header-content{padding:0 var(--spacing-md);gap:var(--spacing-md)}.header-brand{flex:1;min-width:0}.header-logo,.header-logo-icon{width:40px;height:40px;flex-shrink:0}.header-title{font-size:18px}.header-subtitle{font-size:12px}.header-actions{width:100%;justify-content:space-between;margin-top:var(--spacing-sm)}.user-info{flex:1;min-width:0;padding:6px 10px;font-size:13px}.user-name,.user-role{display:none}.btn-logout{padding:8px 12px;font-size:13px}.navbar-content{padding:0 var(--spacing-md)}.nav-link{padding:var(--spacing-md);font-size:13px}.main-content{padding:var(--spacing-md)}}@media (max-width: 480px){.header-title-group{min-width:0}.header-title{font-size:16px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.header-subtitle,.theme-selector-button .theme-name{display:none}}*{margin:0;padding:0;box-sizing:border-box}:root{--color-primary: #f48fb1;--color-primary-light: #fce4ec;--color-primary-dark: #ec407a;--color-primary-hover: #f8bbd0;--color-primary-accent: #ec407a;--color-bg: #ffffff;--color-bg-secondary: #fafafa;--color-bg-hover: #f5f5f5;--color-bg-card: #ffffff;--color-text: #1a1a1a;--color-text-light: #666666;--color-text-lighter: #999999;--color-text-white: #ffffff;--color-border: #f1e6ec;--color-border-light: #f7eff3;--color-border-dark: #e0ccd6;--color-border-accent: #f48fb1;--color-success: #66bb6a;--color-warning: #ffa726;--color-error: #ef5350;--color-info: #42a5f5;--color-vip: #ab47bc;--shadow-none: none;--shadow-sm: 0 1px 3px rgba(0, 0, 0, .08);--shadow-md: 0 2px 8px rgba(0, 0, 0, .1);--shadow-lg: 0 4px 16px rgba(0, 0, 0, .12);--shadow-xl: 0 8px 24px rgba(0, 0, 0, .15);--radius-sm: 8px;--radius-md: 12px;--radius-lg: 20px;--radius-pill: 999px;--spacing-xs: 4px;--spacing-sm: 8px;--spacing-md: 16px;--spacing-lg: 24px;--spacing-xl: 32px;--spacing-2xl: 48px}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:var(--color-bg-secondary);color:var(--color-text);line-height:1.6;font-size:15px;font-weight:400;letter-spacing:-.01em}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.container{max-width:1200px;margin:0 auto;padding:0 20px}.card{background:var(--color-bg-card);border-radius:var(--radius-lg);border:1px solid var(--color-border);padding:var(--spacing-xl);margin-bottom:var(--spacing-lg);transition:all .3s ease;box-shadow:var(--shadow-sm)}.card:hover{border-color:var(--color-border-accent);box-shadow:var(--shadow-md);transform:translateY(-2px)}.btn{padding:10px 24px;border:1px solid var(--color-border);border-radius:var(--radius-pill);cursor:pointer;font-size:14px;font-weight:500;transition:all .2s ease;display:inline-flex;align-items:center;justify-content:center;gap:8px;white-space:nowrap;-webkit-user-select:none;user-select:none;background:var(--color-bg-card);color:var(--color-text)}.btn:disabled{opacity:.4;cursor:not-allowed}.btn:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.btn-loading{position:relative;color:transparent}.btn-loading:after{content:"";position:absolute;width:16px;height:16px;top:50%;left:50%;margin-left:-8px;margin-top:-8px;border:2px solid currentColor;border-radius:50%;border-top-color:transparent;animation:spin .6s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.btn-primary{background:var(--color-primary);color:var(--color-text-white);border-color:var(--color-primary);font-weight:500}.btn-primary:hover:not(:disabled){background:var(--color-primary-dark);border-color:var(--color-primary-dark)}.btn-primary:active:not(:disabled){background:var(--color-primary-dark)}.btn-success{background:var(--color-success);color:var(--color-text-white);border-color:var(--color-success)}.btn-success:hover:not(:disabled){background:#4caf50;border-color:#4caf50}.btn-danger{background:var(--color-error);color:var(--color-text-white);border-color:var(--color-error)}.btn-danger:hover:not(:disabled){background:#e53935;border-color:#e53935}.btn-secondary{background:var(--color-bg-card);color:var(--color-text);border-color:var(--color-border)}.btn-secondary:hover:not(:disabled){background:var(--color-bg-hover);border-color:var(--color-border-dark)}.badge{display:inline-block;padding:4px 10px;border-radius:var(--radius-pill);font-size:12px;font-weight:500;border:1px solid}.badge-warning{background:#fff8e1;color:#f57c00;border-color:#ffcc80}.badge-success{background:#e8f5e9;color:#388e3c;border-color:#a5d6a7}.badge-error{background:#ffebee;color:#c62828;border-color:#ef9a9a}.badge-vip{background:var(--color-primary-light);color:var(--color-primary-accent);border-color:var(--color-primary);font-weight:600}.form-group{margin-bottom:16px}.form-label{display:block;margin-bottom:6px;font-weight:500;color:var(--color-text)}.form-input,.form-select,.form-textarea{width:100%;padding:12px 16px;border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:15px;transition:all .2s ease;background:var(--color-bg-card);color:var(--color-text);font-weight:400}.form-input:focus,.form-select:focus,.form-textarea:focus{outline:none;border-color:var(--color-primary);background:var(--color-bg-card);box-shadow:0 0 0 3px #f48fb11a}.form-input:focus-visible,.form-select:focus-visible,.form-textarea:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.form-input:hover:not(:focus),.form-select:hover:not(:focus),.form-textarea:hover:not(:focus){border-color:var(--color-border-accent)}.form-textarea{resize:vertical;min-height:80px}.form-checkbox{margin-right:10px;width:18px;height:18px;cursor:pointer}.checkbox-wrapper{display:flex;align-items:center;gap:10px;cursor:pointer}.checkbox-wrapper input[type=checkbox]{margin:0;flex-shrink:0}.checkbox-wrapper label{margin:0;cursor:pointer;-webkit-user-select:none;user-select:none}.error-message{color:var(--color-error);font-size:14px;margin-top:4px}.success-message{color:var(--color-success);font-size:14px;margin-top:4px}.spinner{display:inline-block;width:20px;height:20px;border:2px solid var(--color-border);border-radius:50%;border-top-color:var(--color-primary);animation:spin .6s linear infinite}.spinner-lg{width:40px;height:40px;border-width:3px}.skeleton{background:linear-gradient(90deg,var(--color-bg-secondary) 0%,var(--color-bg-hover) 50%,var(--color-bg-secondary) 100%);background-size:200% 100%;animation:skeleton-loading 1.5s ease-in-out infinite;border-radius:var(--radius-sm)}@keyframes skeleton-loading{0%{background-position:200% 0}to{background-position:-200% 0}}.skeleton-text{height:16px;margin-bottom:8px}.skeleton-title{height:24px;margin-bottom:12px}@media (max-width: 768px){.container{padding:0 16px}.card{padding:16px}}
