:root{--primary-color: #3b82f6;--secondary-color: #1e3a8a;--primary-hover: #2563eb;--accent-color: #10b981;--danger-color: #ef4444;--warning-color: #f59e0b;--bg-gradient: linear-gradient(135deg, #0f172a 0%, #1e1b4b 100%);--bg-surface: rgba(30, 41, 59, .7);--text-main: #f8fafc;--text-muted: #94a3b8;--border-color: rgba(255, 255, 255, .08);--glass-shadow: 0 8px 32px 0 rgba(0, 0, 0, .25);--sidebar-active-bg: rgba(59, 130, 246, .12);--sidebar-active-color: #3b82f6;--sidebar-active-border: #3b82f6;--btn-primary-shadow: rgba(59, 130, 246, .3);--font-family: "Outfit", sans-serif;--border-radius: 16px;--transition: all .3s cubic-bezier(.4, 0, .2, 1)}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-family);background:var(--bg-gradient);color:var(--text-main);min-height:100vh;line-height:1.5;overflow-x:hidden}.glass-panel{background:var(--bg-surface);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid var(--border-color);border-radius:var(--border-radius);box-shadow:var(--glass-shadow);padding:2.5rem;transition:var(--transition)}.glass-panel:hover{border-color:#ffffff26;box-shadow:0 12px 40px #00000059}h1,h2,h3,h4{font-weight:700;letter-spacing:-.02em;margin-bottom:1rem}h1{background:linear-gradient(to right,#fff,#93c5fd);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.sub-header{color:var(--text-muted);font-size:1.1rem;margin-bottom:2rem}.flex-center{display:flex;align-items:center;justify-content:center}.form-group{margin-bottom:1.5rem;display:flex;flex-direction:column}.form-label{font-size:.9rem;font-weight:500;margin-bottom:.5rem;color:var(--text-main)}.form-input,.form-select,.form-textarea{background:#0f172a99;border:1px solid var(--border-color);border-radius:10px;padding:.8rem 1rem;color:var(--text-main);font-family:var(--font-family);font-size:1rem;outline:none;transition:var(--transition);width:100%}.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:var(--primary-color);box-shadow:0 0 0 3px #3b82f640;background:#0f172acc}.btn{font-family:var(--font-family);font-weight:600;font-size:1rem;padding:.8rem 2rem;border-radius:10px;border:none;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:.5rem;transition:var(--transition);text-decoration:none;white-space:nowrap}.btn-primary{background:linear-gradient(135deg,var(--primary-color) 0%,var(--secondary-color) 100%);color:#fff;box-shadow:0 4px 15px var(--btn-primary-shadow)}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 6px 20px var(--btn-primary-shadow)}.btn-primary:active{transform:translateY(0)}.btn-secondary{background:#ffffff14;color:var(--text-main);border:1px solid var(--border-color)}.btn-secondary:hover{background:#ffffff26;border-color:#ffffff40}.btn-danger{background:var(--danger-color);color:#fff;box-shadow:0 4px 15px #ef44444d}.btn-danger:hover{transform:translateY(-2px);box-shadow:0 6px 20px #ef444473}.form-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.dashboard-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.5rem;margin-bottom:2rem}.stat-card{padding:1.5rem;border-radius:var(--border-radius);background:#ffffff08;border:1px solid var(--border-color);display:flex;flex-direction:column;gap:.5rem}.stat-val{font-size:2.2rem;font-weight:700;color:#fff;line-height:1}.stat-label{color:var(--text-muted);font-size:.9rem}.responsive-table-container{overflow-x:auto;border-radius:12px;border:1px solid var(--border-color)}.custom-table{width:100%;border-collapse:collapse;text-align:left;background:#0f172a66}.custom-table th,.custom-table td{padding:1rem 1.25rem;border-bottom:1px solid var(--border-color)}.custom-table th{font-weight:600;color:var(--text-main);background:#ffffff05;text-transform:uppercase;font-size:.8rem;letter-spacing:.05em}.custom-table td{color:var(--text-muted);font-size:.95rem}.custom-table tbody tr:hover{background:#ffffff05}.custom-alert{padding:1rem 1.25rem;border-radius:var(--border-radius);margin-bottom:1.5rem;border:1px solid transparent;display:flex;gap:.75rem;font-size:.95rem}.custom-alert-danger{background:#ef444426;border-color:#ef444440;color:#fca5a5}.custom-alert-warning{background:#f59e0b26;border-color:#f59e0b40;color:#fde047}.custom-alert-success{background:#10b98126;border-color:#10b98140;color:#a7f3d0}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.animate-fade-in{animation:fadeIn .4s ease-out forwards}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:.5rem}.calendar-day{aspect-ratio:1;border-radius:8px;background:#ffffff05;border:1px solid var(--border-color);padding:.5rem;cursor:pointer;transition:var(--transition)}.calendar-day:hover{background:#ffffff14}.calendar-day.active{background:var(--primary-color);color:#fff;border-color:var(--primary-hover)}.upcoming-weeks-overview{background:#ffffff05;padding:1.1rem;border-radius:14px;border:1px solid var(--border-color);margin-bottom:1.25rem}.weeks-cards-scroll{display:grid;grid-template-columns:repeat(5,1fr);gap:.75rem}@media(max-width:1100px){.weeks-cards-scroll{grid-template-columns:repeat(3,1fr)}}@media(max-width:640px){.weeks-cards-scroll{display:flex;overflow-x:auto;padding-bottom:.5rem;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch}.week-chip-card{min-width:180px;scroll-snap-align:start}}.week-chip-card{background:#0f172a99;border:1px solid var(--border-color);border-radius:10px;padding:.75rem;cursor:pointer;transition:var(--transition);display:flex;flex-direction:column;justify-content:space-between;-webkit-user-select:none;user-select:none}.week-chip-card:hover{border-color:#ffffff40;background:#1e293bcc;transform:translateY(-2px)}.week-chip-card.active-week-chip{border-color:var(--primary-color);background:#3b82f61f;box-shadow:0 0 12px #3b82f640}.week-chip-title{font-size:.85rem;font-weight:700;color:#fff}.week-chip-tag{font-size:.65rem;background:var(--primary-color);color:#fff;padding:1px 6px;border-radius:10px;font-weight:600;text-transform:uppercase}.week-chip-dates{font-size:.75rem;color:var(--text-muted)}.week-chip-badge{font-size:.78rem;font-weight:600;border-radius:6px;padding:2px 6px}.week-chip-badge.badge-active{background:#10b98126;color:#a7f3d0}.week-chip-badge.badge-empty{background:#ffffff0d;color:var(--text-muted)}.week-chip-pending{font-size:.72rem;background:#f59e0b33;color:#fde047;padding:2px 6px;border-radius:6px;font-weight:700}.week-density-bar-track{width:100%;height:4px;background:#ffffff14;border-radius:2px;margin-top:.5rem;overflow:hidden}.week-density-bar-fill{height:100%;border-radius:2px;transition:width .3s ease}.weekly-calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:.75rem;margin-top:1rem}@media(max-width:1200px){.weekly-calendar-grid{grid-template-columns:repeat(4,1fr)}}@media(max-width:768px){.weekly-calendar-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:480px){.weekly-calendar-grid{grid-template-columns:1fr}}.weekly-day-card{background:#ffffff05;border:1px solid var(--border-color);border-radius:var(--border-radius);padding:1rem;min-height:450px;display:flex;flex-direction:column;transition:var(--transition)}.weekly-day-card:hover{border-color:#ffffff26;background:#ffffff0a}.weekly-day-card.today-card{border-color:var(--primary-color);background:#3b82f60d}.day-card-header{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--border-color);padding-bottom:.5rem;margin-bottom:.75rem}.day-name{font-weight:600;text-transform:capitalize;color:var(--text-main);font-size:.85rem}.day-number{font-size:1.1rem;font-weight:700;color:var(--primary-color)}.weekly-day-card.today-card .day-number{background:var(--primary-color);color:#fff;width:28px;height:28px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center}.day-card-appointments{display:flex;flex-direction:column;gap:.5rem;flex-grow:1;overflow-y:auto;max-height:380px}.no-appointments-label{color:var(--text-muted);font-size:.8rem;text-align:center;margin:auto 0;font-style:italic}.app-item{background:#0f172a99;border-left:4px solid var(--text-muted);border-radius:8px;padding:.5rem;display:flex;flex-direction:column;gap:.25rem;transition:var(--transition);font-size:.75rem}.app-item:hover{background:#0f172acc;transform:translateY(-1px)}.app-item.app-status-confirmed{border-left-color:var(--accent-color)}.app-item.app-status-pending{border-left-color:var(--warning-color)}.app-item.app-status-unconfirmed{border-left-color:#64748b}.app-item.app-status-cancelled{border-left-color:var(--danger-color);opacity:.6}.app-item.app-status-completed{border-left-color:#a855f7}.app-time-badge{font-weight:600;color:#fff;font-size:.75rem}.app-client-name{font-weight:500;color:var(--text-main);word-break:break-word}.app-service-name{color:var(--text-muted);font-size:.72rem}.app-notes{color:var(--text-muted);font-size:.7rem;font-style:italic;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mini-action-btn{background:transparent;border:1px solid transparent;color:var(--text-main);border-radius:4px;width:20px;height:20px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;font-size:.7rem;transition:var(--transition)}.mini-action-btn.success{border-color:#10b98166;color:var(--accent-color)}.mini-action-btn.success:hover{background:var(--accent-color);color:#fff}.mini-action-btn.danger{border-color:#ef444466;color:var(--danger-color)}.mini-action-btn.danger:hover{background:var(--danger-color);color:#fff}.modal-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;background:#0f172abf;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:1000;display:flex;align-items:center;justify-content:center;padding:1rem}.modal-content{background:var(--bg-surface);border:1px solid var(--border-color);border-radius:var(--border-radius);box-shadow:var(--glass-shadow);width:100%;max-width:550px;padding:2rem;max-height:90vh;overflow-y:auto;position:relative}.modal-close-btn{position:absolute;top:1.25rem;right:1.25rem;background:transparent;border:none;color:var(--text-muted);font-size:1.5rem;cursor:pointer;transition:var(--transition)}.modal-close-btn:hover{color:#fff}@media(max-width:768px){.glass-panel{padding:1.5rem 1.25rem}.form-grid-2,.dashboard-grid{grid-template-columns:1fr}.modal-content{padding:1.5rem 1.25rem}h1{font-size:1.6rem}h2{font-size:1.3rem}}@media(max-width:480px){.glass-panel{padding:1.25rem 1rem;border-radius:12px}.btn{padding:.7rem 1.2rem;font-size:.9rem}.form-input,.form-select,.form-textarea{font-size:.95rem;padding:.7rem .85rem}h1{font-size:1.4rem}}
