@import "https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;500;600;700;800&family=Plus+Jakarta+Sans:wght@300;400;500;600;700;800&display=swap";
:root{--font-sans:"Plus Jakarta Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-display:"Outfit", sans-serif;--bg-primary:#0b0d19;--bg-secondary:#13172c;--bg-tertiary:#1b203e;--text-primary:#f8fafc;--text-secondary:#94a3b8;--text-muted:#64748b;--accent-violet:#8b5cf6;--accent-indigo:#6366f1;--accent-pink:#ec4899;--accent-cyan:#06b6d4;--accent-violet-glow:#8b5cf626;--status-success:#10b981;--status-success-bg:#10b9811a;--status-warning:#f59e0b;--status-warning-bg:#f59e0b1a;--status-danger:#ef4444;--status-danger-bg:#ef44441a;--status-info:#3b82f6;--status-info-bg:#3b82f61a;--glass-bg:#13172ca6;--glass-border:#ffffff12;--glass-border-focus:#8b5cf666;--glass-shadow:0 8px 32px 0 #0000005e;--radius-sm:8px;--radius-md:12px;--radius-lg:20px;--radius-full:9999px;--transition-fast:.15s cubic-bezier(.4, 0, .2, 1);--transition-normal:.25s cubic-bezier(.4, 0, .2, 1);--transition-slow:.4s cubic-bezier(.4, 0, .2, 1)}.light-theme{--bg-primary:#f8fafc;--bg-secondary:#fff;--bg-tertiary:#f1f5f9;--text-primary:#0f172a;--text-secondary:#475569;--text-muted:#64748b;--accent-violet:#7c3aed;--accent-indigo:#4f46e5;--accent-pink:#db2777;--accent-cyan:#0891b2;--accent-violet-glow:#7c3aed14;--glass-bg:#fffc;--glass-border:#00000014;--glass-border-focus:#7c3aed66;--glass-shadow:0 8px 32px 0 #0f172a0d}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;height:100%;font-size:16px}body{font-family:var(--font-sans);background-color:var(--bg-primary);color:var(--text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;flex-direction:column;min-height:100%;line-height:1.5;display:flex;overflow-x:hidden}body:before{content:"";z-index:-2;pointer-events:none;filter:blur(80px);background:radial-gradient(circle,#6366f114 0%,#8b5cf60d 50%,#0000 100%);width:50vw;height:50vw;position:absolute;top:0;left:25%}body:after{content:"";z-index:-2;pointer-events:none;filter:blur(80px);background:radial-gradient(circle,#ec48990d 0%,#06b6d408 50%,#0000 100%);width:40vw;height:40vw;position:absolute;bottom:0;right:10%}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);color:var(--text-primary);font-weight:700;line-height:1.25}p{color:var(--text-secondary)}a{color:var(--accent-violet);transition:color var(--transition-fast);text-decoration:none}a:hover{color:var(--accent-pink)}.btn{font-family:var(--font-sans);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-normal);-webkit-user-select:none;user-select:none;border:1px solid #0000;justify-content:center;align-items:center;gap:.5rem;padding:.75rem 1.5rem;font-size:.95rem;font-weight:600;display:inline-flex}.btn-primary{background:linear-gradient(135deg, var(--accent-indigo) 0%, var(--accent-violet) 100%);color:#fff;box-shadow:0 4px 14px #8b5cf64d}.btn-primary:hover{background:linear-gradient(135deg, var(--accent-indigo) 20%, var(--accent-violet) 120%);transform:translateY(-2px);box-shadow:0 6px 20px #8b5cf680}.btn-primary:active{transform:translateY(0)}.btn-secondary{background-color:var(--bg-tertiary);border-color:var(--glass-border);color:var(--text-primary)}.btn-secondary:hover{background-color:var(--bg-secondary);border-color:var(--glass-border-focus)}.btn-glass{background-color:var(--glass-bg);border-color:var(--glass-border);color:var(--text-primary);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:var(--glass-shadow)}.btn-glass:hover{border-color:var(--glass-border-focus);background-color:#1b203ecc;transform:translateY(-1px)}.btn-danger{background-color:var(--status-danger-bg);color:#fca5a5;border-color:#ef6c6c33}.btn-danger:hover{background-color:var(--status-danger);color:#fff}.btn-sm{border-radius:var(--radius-sm);padding:.5rem 1rem;font-size:.85rem}.btn-disabled,.btn:disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.glass-panel{background:var(--glass-bg);-webkit-backdrop-filter:blur(16px);border:1px solid var(--glass-border);border-radius:var(--radius-lg);box-shadow:var(--glass-shadow);transition:border-color var(--transition-normal);padding:2rem}.glass-panel:hover{border-color:#ffffff1f}.glass-card{background:var(--glass-bg);-webkit-backdrop-filter:blur(10px);border:1px solid var(--glass-border);border-radius:var(--radius-md);transition:all var(--transition-normal);padding:1.5rem;box-shadow:0 4px 20px #0003}.glass-card:hover{border-color:var(--glass-border-focus);transform:translateY(-4px);box-shadow:0 8px 30px #8b5cf626}.form-group{margin-bottom:1.5rem}.form-label{text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary);margin-bottom:.5rem;font-size:.85rem;font-weight:600;display:block}.form-control{width:100%;font-family:var(--font-sans);border:1px solid var(--glass-border);border-radius:var(--radius-md);color:var(--text-primary);transition:all var(--transition-normal);background-color:#0b0d1999;padding:.85rem 1rem;font-size:.95rem}.form-control::placeholder{color:var(--text-muted)}.form-control:focus{border-color:var(--accent-violet);background-color:var(--bg-primary);box-shadow:0 0 0 3px var(--accent-violet-glow);outline:none}.form-control:disabled{background-color:var(--bg-primary);opacity:.6;cursor:not-allowed}.badge{border-radius:var(--radius-full);text-transform:uppercase;letter-spacing:.05em;align-items:center;padding:.25rem .75rem;font-size:.75rem;font-weight:600;display:inline-flex}.badge-success{background-color:var(--status-success-bg);color:var(--status-success)}.badge-warning{background-color:var(--status-warning-bg);color:var(--status-warning)}.badge-danger{background-color:var(--status-danger-bg);color:var(--status-danger)}.badge-info{background-color:var(--status-info-bg);color:var(--status-info)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes pulseGlow{0%{box-shadow:0 0 #8b5cf666}70%{box-shadow:0 0 0 10px #8b5cf600}to{box-shadow:0 0 #8b5cf600}}.anim-fade-in{animation:fadeIn var(--transition-normal) forwards}.anim-slide-up{animation:slideUp var(--transition-slow) cubic-bezier(.16, 1, .3, 1) forwards}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--bg-primary)}::-webkit-scrollbar-thumb{background:var(--bg-tertiary);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}@media (max-width:768px){body{overflow-x:hidden!important}.admin-container{box-sizing:border-box!important;width:100%!important;padding:.5rem!important;overflow-x:hidden!important}.glass-panel{box-sizing:border-box!important;width:100%!important;padding:1rem!important;overflow-x:hidden!important}.admin-container>div:first-of-type{-webkit-overflow-scrolling:touch;flex-wrap:nowrap!important;gap:.5rem!important;width:100%!important;padding-bottom:.5rem!important;overflow-x:auto!important}.admin-container>div:first-of-type a{flex-shrink:0!important;padding:.5rem 1rem!important;font-size:.8rem!important}.calendar-header{flex-direction:column!important;align-items:stretch!important;gap:1rem!important}.calendar-header>div:first-child{text-align:center!important}.calendar-header>div:last-child{flex-direction:column!important;align-items:stretch!important}.calendar-header button{width:100%!important}.calendar-control-header{flex-direction:column!important;align-items:stretch!important;gap:1rem!important}.calendar-control-header>div:last-child{flex-direction:column!important;align-items:stretch!important;gap:1rem!important;width:100%!important}.calendar-control-header div[style*=filterGroup],.calendar-control-header input,.calendar-control-header select{width:100%!important}.agenda-item{flex-direction:column!important;align-items:stretch!important;gap:1rem!important;padding:1rem!important}.appt-time-col,.appt-details-col,.appt-action-col{width:100%!important;min-width:0!important}.appt-action-col>div{flex-wrap:wrap!important;gap:.5rem!important;width:100%!important}.appt-action-col button,.appt-action-col a{text-align:center!important;flex-grow:1!important;justify-content:center!important}.metrics-grid{grid-template-columns:1fr!important;gap:1rem!important}.metrics-grid .glass-panel{padding:1.25rem!important}.metrics-grid p[style*=metricValue]{font-size:1.75rem!important}.services-grid,.staff-grid,.settings-grid{grid-template-columns:1fr!important;gap:1.5rem!important}.calendar-month-grid{grid-template-columns:repeat(7,1fr)!important;gap:3px!important}.calendar-month-cell{justify-content:flex-start!important;gap:2px!important;min-height:48px!important;padding:3px!important}.calendar-month-cell-day-num{text-align:center!important;width:100%!important;font-size:.7rem!important;display:block!important}.calendar-month-cell-indicators{gap:1px!important}.calendar-month-indicator-appts,.calendar-month-indicator-block{white-space:nowrap!important;text-overflow:ellipsis!important;padding:0 2px!important;font-size:.55rem!important;overflow:hidden!important}.calendar-month-day-name{padding-bottom:2px!important;font-size:.68rem!important}}input[type=date]::-webkit-calendar-picker-indicator{filter:invert(.85);cursor:pointer;transition:opacity .2s}input[type=date]::-webkit-calendar-picker-indicator:hover{opacity:.7}.light-theme input[type=date]::-webkit-calendar-picker-indicator{filter:invert(0)}select option{color:#f8fafc!important;background-color:#13172c!important}.light-theme select option{color:#0f172a!important;background-color:#fff!important}@media (max-height:500px) and (orientation:landscape){.admin-container{padding:.25rem!important}.glass-panel{padding:.75rem!important}.calendar-header{margin-bottom:.75rem!important}.calendar-control-header{gap:.5rem!important;margin-bottom:.75rem!important}.calendar-month-grid{grid-template-columns:repeat(7,1fr)!important;gap:2px!important}.calendar-month-cell{min-height:38px!important;padding:2px!important;font-size:.75rem!important}.calendar-month-cell-day-num{font-size:.65rem!important}.calendar-month-indicator-appts,.calendar-month-indicator-block{padding:0 1px!important;font-size:.5rem!important}.calendar-month-day-name{padding-bottom:1px!important;font-size:.65rem!important}}
