@import"https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap";html,body,#root{height:100%;width:100%}body{font-family:Inter,sans-serif;background:#0f0f1a;color:#fff;-webkit-font-smoothing:antialiased}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}.auth-wrapper{display:flex;min-height:100vh;font-family:Inter,sans-serif;background:#0f0f1a;overflow:hidden}.auth-left{flex:1;background:linear-gradient(135deg,#6c2bd9,#c026a8,#ff6b6b);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem;position:relative;overflow:hidden}.brand{text-align:center;z-index:2;position:relative}.brand-icon{font-size:4rem;background:#fff3;border-radius:50%;width:90px;height:90px;display:flex;align-items:center;justify-content:center;margin:0 auto 1.5rem;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border:2px solid rgba(255,255,255,.3);animation:floatIcon 3s ease-in-out infinite}@keyframes floatIcon{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.brand-name{font-size:2.8rem;font-weight:700;color:#fff;letter-spacing:-1px;margin-bottom:.75rem}.brand-tagline{font-size:1rem;color:#fffc;max-width:280px;line-height:1.6}.decorative-circles{position:absolute;inset:0;pointer-events:none}.circle{position:absolute;border-radius:50%;background:#ffffff12}.c1{width:350px;height:350px;bottom:-100px;right:-100px}.c2{width:200px;height:200px;top:-60px;left:-60px;background:#ffffff0d}.c3{width:120px;height:120px;bottom:100px;left:30px;background:#ffffff0f}.auth-right{flex:1;display:flex;align-items:center;justify-content:center;padding:2rem;background:#0f0f1a;overflow-y:auto}.auth-card{width:100%;max-width:520px;background:#ffffff0a;border:1px solid rgba(255,255,255,.08);border-radius:24px;padding:2.4rem 2.8rem;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);animation:slideUp .5s ease}@keyframes slideUp{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}.auth-header{margin-bottom:1.8rem}.auth-header h2{font-size:1.75rem;font-weight:700;color:#fff;margin-bottom:.35rem}.auth-header p{color:#ffffff80;font-size:.9rem}.auth-form{display:flex;flex-direction:column;gap:1.1rem}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.form-group{display:flex;flex-direction:column;gap:.4rem}.form-group label{font-size:.82rem;font-weight:500;color:#ffffffa6;letter-spacing:.02em;text-transform:uppercase}.label-row{display:flex;justify-content:space-between;align-items:center}.forgot-link{font-size:.8rem;color:#c084fc;text-decoration:none;transition:color .2s}.forgot-link:hover{color:#e879f9}.input-wrapper{position:relative;display:flex;align-items:center}.input-icon{position:absolute;left:12px;font-size:.95rem;pointer-events:none;-webkit-user-select:none;user-select:none;z-index:1}.input-wrapper input,.input-wrapper select{width:100%;padding:.75rem .9rem;background:#ffffff0f;border:1px solid rgba(255,255,255,.1);border-radius:12px;color:#fff;font-size:.9rem;font-family:Inter,sans-serif;outline:none;transition:border-color .25s,background .25s,box-shadow .25s;appearance:none}.input-wrapper input::placeholder{color:#ffffff4d}.input-wrapper input:focus,.input-wrapper select:focus{border-color:#9333ea;background:#9333ea1a;box-shadow:0 0 0 3px #9333ea26}.input-wrapper select option{background:#1e1e2e;color:#fff}.select-wrapper:after{content:"▾";position:absolute;right:12px;color:#fff6;pointer-events:none;font-size:.8rem}.toggle-password{position:absolute;right:10px;background:none;border:none;cursor:pointer;font-size:1rem;padding:0;line-height:1;opacity:.6;transition:opacity .2s}.toggle-password:hover{opacity:1}.password-strength{display:flex;align-items:center;gap:.5rem;margin-top:.35rem}.strength-bar{height:4px;border-radius:99px;transition:width .4s ease,background .4s ease;flex-shrink:0}.password-strength span{font-size:.75rem;font-weight:600}.auth-btn{width:100%;padding:.85rem;border:none;border-radius:12px;background:linear-gradient(135deg,#7c3aed,#db2777);color:#fff;font-size:1rem;font-weight:600;font-family:Inter,sans-serif;cursor:pointer;transition:transform .15s,box-shadow .25s;display:flex;align-items:center;justify-content:center;margin-top:.4rem;letter-spacing:.02em}.auth-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 8px 24px #7c3aed73}.auth-btn:active:not(:disabled){transform:translateY(0)}.auth-btn:disabled{opacity:.6;cursor:not-allowed}.spinner{width:20px;height:20px;border:2.5px solid rgba(255,255,255,.35);border-top-color:#fff;border-radius:50%;animation:spin .7s linear infinite;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}.auth-error{background:#ef44441f;border:1px solid rgba(239,68,68,.3);color:#fca5a5;border-radius:10px;padding:.7rem 1rem;font-size:.88rem;margin-bottom:.5rem;animation:fadeIn .3s ease}.auth-success{background:#10b9811f;border:1px solid rgba(16,185,129,.3);color:#6ee7b7;border-radius:10px;padding:.7rem 1rem;font-size:.88rem;margin-bottom:.5rem;animation:fadeIn .3s ease}@keyframes fadeIn{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.auth-switch{text-align:center;margin-top:1.5rem;font-size:.88rem;color:#fff6}.auth-switch a{color:#c084fc;text-decoration:none;font-weight:600;transition:color .2s}.auth-switch a:hover{color:#e879f9}@media(max-width:768px){.auth-left{display:none}.auth-right{background:linear-gradient(135deg,#0f0f1a,#1a0a2e)}.auth-card{padding:1.8rem 1.5rem}.form-row{grid-template-columns:1fr}}.dashboard-container{display:flex;height:100vh;width:100vw;background-color:#0f0f1a;color:#fff;overflow:hidden;font-family:Inter,sans-serif}.sidebar{width:280px;background:#ffffff08;border-right:1px solid rgba(255,255,255,.08);display:flex;flex-direction:column;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:10;flex-shrink:0}.sidebar-header{padding:1.5rem;display:flex;align-items:center;gap:.8rem;border-bottom:1px solid rgba(255,255,255,.05)}.brand-logo{background:linear-gradient(135deg,#7c3aed,#db2777);width:40px;height:40px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:1.2rem;box-shadow:0 4px 15px #7c3aed4d}.sidebar-header h2{font-size:1.4rem;font-weight:700;letter-spacing:-.5px}.profile-section{padding:2rem 1.5rem;display:flex;flex-direction:column;align-items:center;border-bottom:1px solid rgba(255,255,255,.05)}.profile-image-container{position:relative;width:80px;height:80px;border-radius:50%;margin-bottom:1rem;cursor:pointer;border:2px solid #7c3aed;padding:3px;overflow:hidden}.profile-image{width:100%;height:100%;border-radius:50%;object-fit:cover}.image-upload-overlay{position:absolute;bottom:0;left:0;right:0;background:#000000b3;color:#fff;font-size:.75rem;text-align:center;padding:4px 0;cursor:pointer;opacity:0;transition:opacity .2s}.profile-image-container:hover .image-upload-overlay{opacity:1}.profile-name{font-size:1.1rem;font-weight:600;margin-bottom:.2rem}.profile-role{font-size:.8rem;color:#c084fc;text-transform:uppercase;letter-spacing:1px;font-weight:500}.sidebar-nav{padding:1.5rem 1rem;flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:.4rem}.sidebar-nav::-webkit-scrollbar{width:5px}.sidebar-nav::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:5px}.nav-item{display:flex;align-items:center;gap:1rem;padding:.9rem 1.2rem;color:#fff9;text-decoration:none;border-radius:12px;font-weight:500;font-size:.95rem;transition:all .2s ease}.nav-item:hover{background:#ffffff0d;color:#fff}.nav-item.active{background:linear-gradient(135deg,#7c3aed26,#db277726);color:#fff;border-left:3px solid #db2777}.nav-item svg{color:inherit;opacity:.8}.nav-item.active svg{color:#e879f9;opacity:1}.sidebar-footer{padding:1.5rem;border-top:1px solid rgba(255,255,255,.05)}.logout-btn{width:100%;display:flex;align-items:center;justify-content:center;gap:.8rem;padding:.8rem;background:#ef44441a;color:#fca5a5;border:1px solid rgba(239,68,68,.2);border-radius:10px;font-family:inherit;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .2s ease}.logout-btn:hover{background:#ef444433;color:#fecaca;transform:translateY(-1px)}.main-content{flex:1;display:flex;flex-direction:column;background:#0f0f1a;position:relative;overflow:hidden}.top-header{height:80px;padding:0 2rem;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(255,255,255,.05);background:#ffffff05;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.top-header h2{font-size:1.5rem;font-weight:600}.header-actions{display:flex;align-items:center;gap:1rem}.salon-badge{background:#ffffff14;padding:.5rem 1rem;border-radius:20px;font-size:.85rem;font-weight:500;border:1px solid rgba(255,255,255,.1)}.content-scrollable{flex:1;padding:2rem;overflow-y:auto}.user-header-profile{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:#7c3aed1a;border-radius:20px;color:#c084fc;font-weight:500;border:1px solid rgba(124,58,237,.2)}.notification-wrapper{position:relative}.notification-btn{background:transparent;border:none;color:#a1a1aa;cursor:pointer;padding:.5rem;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:all .2s;position:relative}.notification-btn:hover{background:#ffffff1a;color:#fff}.notification-badge{position:absolute;top:0;right:0;background:#ef4444;color:#fff;font-size:.65rem;font-weight:700;height:16px;width:16px;display:flex;align-items:center;justify-content:center;border-radius:50%;border:2px solid #1e1e2d}.notification-dropdown{position:absolute;top:120%;right:0;width:320px;max-height:400px;background:#181825;border:1px solid rgba(255,255,255,.1);border-radius:12px;box-shadow:0 10px 30px #00000080;display:flex;flex-direction:column;z-index:100;overflow:hidden;animation:slideDown .2s ease-out forwards}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.notification-header{padding:1rem;border-bottom:1px solid rgba(255,255,255,.05)}.notification-header h3{margin:0;font-size:1rem;font-weight:600}.notification-list{overflow-y:auto;max-height:340px}.notification-item{padding:1rem;border-bottom:1px solid rgba(255,255,255,.05);cursor:pointer;transition:background .2s}.notification-item:hover{background:#ffffff08}.notification-item.unread{background:#7c3aed0d;border-left:3px solid #7c3aed}.notification-item h4{margin:0 0 .3rem;font-size:.9rem;color:#fff}.notification-item p{margin:0 0 .5rem;font-size:.8rem;color:#a1a1aa;line-height:1.4}.notif-time{font-size:.7rem;color:#71717a}.no-notifications{padding:2rem;text-align:center;color:#71717a;font-size:.9rem;font-style:italic}.content-scrollable::-webkit-scrollbar{width:8px}.content-scrollable::-webkit-scrollbar-track{background:transparent}.content-scrollable::-webkit-scrollbar-thumb{background:#ffffff26;border-radius:4px}.content-scrollable::-webkit-scrollbar-thumb:hover{background:#ffffff40}.content-scrollable>*{animation:fadeIn .4s ease-in-out}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@media(max-width:1024px){.sidebar{width:240px}}@media(max-width:768px){.dashboard-container{flex-direction:column}.sidebar{width:100%;height:auto;border-right:none;border-bottom:1px solid rgba(255,255,255,.08)}.sidebar-header{justify-content:space-between}.profile-section{display:none}.sidebar-nav{flex-direction:row;overflow-x:auto;padding:1rem}.nav-item{flex-shrink:0}.sidebar-footer{display:none}}.dashboard-home{display:flex;flex-direction:column;gap:2rem;color:#fff}.dashboard-controls{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem}.page-title{font-size:1.8rem;font-weight:700;margin:0;background:linear-gradient(90deg,#fff,#a1a1aa);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent}.filter-group{display:flex;background:#ffffff0d;padding:.3rem;border-radius:12px;border:1px solid rgba(255,255,255,.08)}.filter-btn{background:transparent;border:none;color:#a1a1aa;padding:.6rem 1.2rem;font-size:.9rem;font-weight:500;border-radius:8px;cursor:pointer;transition:all .2s ease}.filter-btn:hover{color:#fff}.filter-btn.active{background:#7c3aed;color:#fff;box-shadow:0 2px 8px #7c3aed66}.metrics-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem}.metric-card{background:#ffffff08;border:1px solid rgba(255,255,255,.05);border-radius:16px;padding:1.5rem;display:flex;align-items:center;gap:1.5rem;transition:transform .2s,box-shadow .2s}.metric-card:hover{transform:translateY(-2px);box-shadow:0 10px 20px #0003;background:#ffffff0d}.metric-icon{width:56px;height:56px;border-radius:14px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.metric-icon.revenue{background:#10b9811a;color:#34d399}.metric-icon.customers{background:#3b82f61a;color:#60a5fa}.metric-icon.services{background:#db27771a;color:#f472b6}.metric-info{display:flex;flex-direction:column}.metric-info p{margin:0;font-size:.9rem;color:#a1a1aa;font-weight:500}.metric-info h3{margin:.2rem 0;font-size:1.6rem;font-weight:700;color:#fff}.trend{font-size:.8rem;display:flex;align-items:center;gap:.3rem;font-weight:500}.trend.positive{color:#34d399}.trend.neutral{color:#a1a1aa}.dashboard-loading{display:flex;justify-content:center;align-items:center;height:60vh;font-size:1.2rem;color:#a1a1aa}.error-banner{background:#ef44441a;color:#fca5a5;border:1px solid rgba(239,68,68,.2);padding:1rem;border-radius:10px;text-align:center}.charts-container{display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem}.chart-card{background:#ffffff05;border:1px solid rgba(255,255,255,.05);border-radius:16px;padding:1.5rem;display:flex;flex-direction:column}.chart-card h3{margin:0 0 1.5rem;font-size:1.1rem;font-weight:600;color:#e4e4e7}.chart-wrapper{flex:1;min-height:250px;display:flex;align-items:center;justify-content:center}.chart-card.featured{grid-column:span 2}.chart-card.featured .chart-wrapper{min-height:350px}.chart-card.full-width{grid-column:span 2}.empty-chart{color:#71717a;font-style:italic;font-size:.9rem}@media(max-width:1024px){.charts-container{grid-template-columns:1fr}.chart-card.featured,.chart-card.full-width{grid-column:1}}.page-container{display:flex;flex-direction:column;gap:1.5rem;color:#fff;height:100%}.page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.page-title{font-size:1.6rem;font-weight:700;margin:0 0 .3rem}.page-subtitle{color:#a1a1aa;margin:0;font-size:.95rem}.primary-btn{background:linear-gradient(135deg,#7c3aed,#db2777);color:#fff;border:none;padding:.7rem 1.2rem;border-radius:8px;font-weight:600;display:flex;align-items:center;gap:.5rem;cursor:pointer;transition:transform .2s,box-shadow .2s}.primary-btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px #7c3aed66}.table-controls{display:flex;justify-content:space-between;align-items:center;background:#ffffff05;padding:1rem;border-radius:12px;border:1px solid rgba(255,255,255,.05);gap:1rem}.search-bar{display:flex;align-items:center;background:#0000004d;border:1px solid rgba(255,255,255,.1);padding:.5rem 1rem;border-radius:8px;width:300px}.search-icon{color:#a1a1aa;margin-right:.8rem}.search-bar input,.date-picker-input{background:transparent;border:none;color:#fff;outline:none;width:100%;font-family:inherit}.date-picker-input{color-scheme:dark}.quick-filters{display:flex;gap:.5rem}.filter-pill{background:#ffffff0d;border:1px solid rgba(255,255,255,.1);color:#a1a1aa;padding:.4rem 1rem;border-radius:20px;font-size:.85rem;cursor:pointer;transition:all .2s}.filter-pill:hover,.filter-pill.active{background:#7c3aed1a;color:#e879f9;border-color:#7c3aed4d}.table-container{background:#ffffff05;border-radius:12px;border:1px solid rgba(255,255,255,.05);overflow-x:auto;box-shadow:0 4px 20px #0003}.data-table{width:100%;border-collapse:collapse;text-align:left}.data-table th{padding:1.2rem 1rem;background:#0003;color:#a1a1aa;font-weight:600;font-size:.85rem;text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid rgba(255,255,255,.08)}.data-table td{padding:1rem;border-bottom:1px solid rgba(255,255,255,.03);font-size:.95rem;vertical-align:middle}.data-table tr:hover td{background:#ffffff05}.user-cell,.service-cell{display:flex;align-items:center;gap:1rem}.user-avatar,.table-avatar,.service-icon-box{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:600;flex-shrink:0}.user-avatar{background:#3b82f6;color:#fff}.table-avatar{object-fit:cover}.service-icon-box{background:#db27771a;color:#f472b6;border-radius:8px}.user-details,.service-details{display:flex;flex-direction:column}.user-name,.service-name{font-weight:600;color:#e4e4e7}.user-joined,.service-desc{font-size:.8rem;color:#71717a;display:flex;align-items:center;gap:.3rem;margin-top:.2rem}.contact-cell{display:flex;flex-direction:column;gap:.3rem;color:#a1a1aa;font-size:.85rem}.contact-cell span{display:flex;align-items:center;gap:.4rem}.time-cell,.price-cell,.duration-cell,.user-combo,.service-combo{display:flex;align-items:center;gap:.4rem;color:#e4e4e7}.category-badge,.role-badge,.staff-assignee{background:#ffffff14;padding:.3rem .6rem;border-radius:6px;font-size:.8rem;font-weight:500}.role-badge{color:#818cf8;background:#818cf81a}.status-badge{padding:.3rem .8rem;border-radius:20px;font-size:.8rem;font-weight:600;display:inline-block}.status-badge.active,.status-badge.success{background:#10b9811a;color:#34d399;border:1px solid rgba(16,185,129,.2)}.status-badge.inactive{background:#a1a1aa1a;color:#a1a1aa;border:1px solid rgba(161,161,170,.2)}.status-badge.warning,.status-badge.info{background:#f59e0b1a;color:#fbbf24;border:1px solid rgba(245,158,11,.2)}.status-badge.danger{background:#ef44441a;color:#f87171;border:1px solid rgba(239,68,68,.2)}.action-buttons{display:flex;gap:.8rem}.icon-btn{background:transparent;border:none;cursor:pointer;padding:.4rem;border-radius:6px;display:flex;align-items:center;justify-content:center;transition:all .2s}.icon-btn.edit{color:#60a5fa}.icon-btn.edit:hover{background:#60a5fa1a}.icon-btn.delete{color:#f87171}.icon-btn.delete:hover{background:#f871711a}.loading-state,.empty-state{padding:3rem;text-align:center;color:#a1a1aa;font-style:italic}.modal-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;justify-content:center;align-items:center;z-index:1000}.modal-content{background:#181825;border:1px solid rgba(255,255,255,.1);border-radius:16px;width:90%;max-width:500px;max-height:90vh;overflow-y:auto;box-shadow:0 20px 40px #0006;animation:modalPop .3s cubic-bezier(.175,.885,.32,1.275)}@keyframes modalPop{0%{transform:scale(.95);opacity:0}to{transform:scale(1);opacity:1}}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-bottom:1px solid rgba(255,255,255,.05)}.modal-header h2{margin:0;font-size:1.3rem}.close-btn{background:transparent;border:none;color:#a1a1aa;cursor:pointer;padding:.5rem;border-radius:50%;display:flex;transition:background .2s}.close-btn:hover{background:#ffffff1a;color:#fff}.modal-form{padding:1.5rem;display:flex;flex-direction:column;gap:1.2rem}.form-row{display:flex;gap:1rem}.form-row .form-group{flex:1}.form-group{display:flex;flex-direction:column;gap:.5rem}.form-group label{font-size:.9rem;color:#a1a1aa;font-weight:500}.form-group input,.form-group select,.form-group textarea{background:#ffffff08;border:1px solid rgba(255,255,255,.1);padding:.8rem 1rem;border-radius:8px;color:#fff;font-family:inherit;transition:border-color .2s}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:#7c3aed}.form-group select option{background:#181825;color:#fff}.checkbox-grid{display:grid;grid-template-columns:1fr 1fr;gap:.8rem;background:#ffffff05;padding:1rem;border-radius:8px;border:1px solid rgba(255,255,255,.05)}.checkbox-label{display:flex;align-items:center;gap:.5rem;font-size:.9rem;color:#e4e4e7;cursor:pointer}.checkbox-label input[type=checkbox]{accent-color:#7c3aed;width:16px;height:16px}.modal-actions{display:flex;justify-content:flex-end;gap:1rem;margin-top:1rem;padding-top:1rem;border-top:1px solid rgba(255,255,255,.05)}.btn-cancel{background:transparent;border:1px solid rgba(255,255,255,.2);color:#e4e4e7;padding:.7rem 1.2rem;border-radius:8px;font-weight:500;cursor:pointer;transition:all .2s}.btn-cancel:hover{background:#ffffff0d}.cursor-pointer{cursor:pointer}.border-0{border:none!important}.service-tags{display:flex;flex-wrap:wrap;gap:.5rem}.small-tag{background:#1e293b;color:#cbd5e1;font-size:.75rem;padding:3px 8px;border-radius:4px;border:1px solid #334155;white-space:nowrap}.small-tag.more{background:transparent;border-style:dashed;color:#94a3b8}.savings-badge{display:inline-block;background:#10b98126;color:#34d399;font-size:.72rem;font-weight:600;padding:3px 8px;border-radius:6px;margin-top:4px;border:1px solid rgba(16,185,129,.3)}.services-selection-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:1rem;max-height:250px;overflow-y:auto;padding:.5rem;background:#0003;border-radius:8px;border:1px solid #334155;margin-bottom:.5rem}.service-picker-card{background:#1e1e2e;border:2px solid #334155;border-radius:8px;padding:.75rem;cursor:pointer;transition:all .2s ease}.service-picker-card:hover{border-color:#64748b;transform:translateY(-2px)}.service-picker-card.selected{border-color:#7c3aed;background:#7c3aed1a}.sp-header{display:flex;align-items:center;gap:.5rem;font-size:.85rem;font-weight:500;color:#f8fafc;margin-bottom:.4rem}.sp-price{font-size:.8rem;color:#94a3b8;font-weight:600}.readonly-box{width:100%;padding:.75rem;background:#ffffff08;border:1px dashed rgba(255,255,255,.2);border-radius:8px;color:#94a3b8;font-weight:600}.savings-indicator{padding:.75rem;border-radius:8px;font-size:.85rem;font-weight:500;margin-bottom:1.25rem;text-align:center}.savings-indicator.positive{background:#10b9811a;color:#34d399;border:1px solid rgba(16,185,129,.3)}.savings-indicator.negative{background:#ef44441a;color:#fca5a5;border:1px solid rgba(239,68,68,.3)}.promo-cell{display:flex;align-items:center;gap:12px}.promo-icon{color:#db2777}.promo-code-text{font-weight:600;color:#f8fafc;letter-spacing:1px;background:#db27771a;padding:4px 10px;border-radius:6px;border:1px dashed rgba(219,39,119,.3)}.discount-value{font-weight:500;color:#10b981}.date-cell{display:flex;flex-direction:column;gap:4px;font-size:13px;color:#94a3b8}.rules-cell{display:flex;flex-direction:column;gap:6px;align-items:flex-start}.rule-badge{background:#7c3aed1a;color:#c084fc;padding:2px 8px;border-radius:4px;font-size:11px;font-weight:500}.rule-badge.neutral{background:#ffffff0d;color:#94a3b8}.large-modal{max-width:600px!important}.section-divider{margin:20px 0 10px;padding-bottom:8px;border-bottom:1px solid rgba(255,255,255,.1);color:#94a3b8;font-size:14px;font-weight:500;text-transform:uppercase;letter-spacing:.5px}.mt-20{margin-top:20px}.calendar-header{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:20px}.mr-2{margin-right:8px}.inline{display:inline;vertical-align:text-bottom}.calendar-controls{display:flex;gap:20px;align-items:center}.view-toggles{display:flex;background:#1e293b;border-radius:8px;padding:4px;border:1px solid #334155}.toggle-btn{background:transparent;border:none;color:#94a3b8;padding:6px 16px;border-radius:6px;cursor:pointer;font-weight:500;transition:all .2s}.toggle-btn.active{background:#3b82f6;color:#fff}.date-nav{display:flex;align-items:center;gap:8px}.nav-btn{background:#1e293b;border:1px solid #334155;color:#f8fafc;width:36px;height:36px;border-radius:8px;display:flex;align-items:center;justify-content:center;cursor:pointer}.nav-btn:hover{background:#334155}.today-btn{background:#1e293b;border:1px solid #334155;color:#f8fafc;padding:0 16px;height:36px;border-radius:8px;font-weight:500;cursor:pointer}.today-btn:hover{background:#334155}.calendar-sub-header{display:flex;justify-content:space-between;align-items:center;background:#1e293b;padding:16px 24px;border-radius:12px 12px 0 0;border:1px solid #334155;border-bottom:none}.calendar-sub-header h2{font-size:18px;font-weight:600;color:#f8fafc;margin:0}.legend{display:flex;gap:16px}.legend-item{display:flex;align-items:center;gap:6px;font-size:13px;color:#94a3b8}.dot{width:10px;height:10px;border-radius:50%}.dot.pending{background:#f59e0b}.dot.confirmed{background:#3b82f6}.dot.completed{background:#10b981}.calendar-container{background:#1e293b;border-radius:0 0 12px 12px;border:1px solid #334155;min-height:500px;overflow:hidden}.daily-view{display:flex;flex-direction:column}.time-slot-row{display:flex;border-bottom:1px solid #334155;min-height:80px}.time-slot-row:last-child{border-bottom:none}.time-label{width:80px;padding:16px;color:#94a3b8;font-size:14px;font-weight:500;border-right:1px solid #334155;display:flex;align-items:flex-start;justify-content:center}.slot-events{flex:1;padding:12px;display:flex;flex-direction:column;gap:8px}.calendar-event{padding:12px;border-radius:8px;border-left:4px solid #3b82f6;background:#3b82f61a;display:flex;flex-direction:column;gap:6px}.calendar-event.status-pending{border-left-color:#f59e0b;background:#f59e0b1a}.calendar-event.status-confirmed,.calendar-event.status-scheduled{border-left-color:#3b82f6;background:#3b82f61a}.calendar-event.status-completed{border-left-color:#10b981;background:#10b9811a}.event-title{display:flex;align-items:center;gap:6px;color:#f8fafc;font-weight:600;font-size:15px}.event-details{display:flex;align-items:center;gap:6px;color:#cbd5e1;font-size:13px}.event-staff{font-size:12px;color:#94a3b8;margin-left:18px}.empty-slot-marker{height:100%;width:100%;border:1px dashed transparent;border-radius:8px;transition:all .2s}.time-slot-row:hover .empty-slot-marker{border-color:#475569;background:#ffffff05}.weekly-grid{display:flex;flex-direction:column;width:100%;overflow-x:auto}.weekly-header{display:flex;border-bottom:1px solid #334155;background:#0f172a}.corner-cell{width:80px;min-width:80px;border-right:1px solid #334155;padding:12px;color:#64748b;font-size:12px;display:flex;align-items:center;justify-content:center}.day-header{flex:1;min-width:120px;padding:12px;display:flex;flex-direction:column;align-items:center;border-right:1px solid #334155;gap:4px}.day-header.today{background:#3b82f61a}.day-header.today .day-number{background:#3b82f6;color:#fff}.day-name{color:#94a3b8;font-size:13px;text-transform:uppercase;font-weight:600}.day-number{color:#f8fafc;font-size:20px;font-weight:700;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:50%}.hour-row{display:flex;border-bottom:1px solid #334155;min-height:100px}.grid-cell{flex:1;min-width:120px;border-right:1px solid #334155;padding:4px;display:flex;flex-direction:column;gap:4px}.grid-cell:hover{background:#ffffff05}.mini-event{padding:4px 6px;border-radius:4px;font-size:11px;border-left:3px solid;cursor:pointer;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mini-event.status-pending{border-left-color:#f59e0b;background:#f59e0b26;color:#fcd34d}.mini-event.status-confirmed,.mini-event.status-scheduled{border-left-color:#3b82f6;background:#3b82f626;color:#93c5fd}.mini-event.status-completed{border-left-color:#10b981;background:#10b98126;color:#6ee7b7}.mini-title{font-weight:600}.mini-time{opacity:.8;font-size:10px}.recurring-table td{vertical-align:middle}.flex-cell{display:flex;align-items:center;gap:10px}.flex-col-cell{display:flex;flex-direction:column}.flex-center{display:flex;align-items:center}.gap-2{gap:8px}.mt-1{margin-top:4px}.text-gray{color:#94a3b8}.text-white{color:#f8fafc}.text-pink{color:#db2777}.text-sm{font-size:13px}.font-medium{font-weight:500}.frequency-badge{display:inline-flex;align-items:center;gap:6px;background:#3b82f61a;color:#60a5fa;padding:4px 10px;border-radius:6px;font-size:13px;font-weight:500}.time-badge{background:#ffffff1a;padding:2px 6px;border-radius:4px;font-size:11px;margin-left:4px;color:#e2e8f0}.status-pill{padding:4px 10px;border-radius:9999px;font-size:12px;font-weight:500;text-transform:capitalize}.status-pill.active{background:#10b9811a;color:#10b981}.status-pill.completed{background:#6366f11a;color:#818cf8}.status-pill.cancelled{background:#ef44441a;color:#ef4444}.row-cancelled td{opacity:.5}.row-cancelled td .action-buttons{opacity:0;pointer-events:none}.form-text-muted{display:block;margin-top:4px;color:#64748b;font-size:12px}.billing-container{padding:24px}.billing-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.billing-header h1{font-size:24px;color:#f8fafc;margin:0}.billing-grid{display:grid;grid-template-columns:1fr 400px;gap:24px}.billing-card{background:#181825;border-radius:12px;padding:20px;border:1px solid rgba(255,255,255,.05);margin-bottom:24px}.billing-card h3{margin-top:0;margin-bottom:16px;color:#e2e8f0;font-size:16px}.search-input-wrapper{position:relative;display:flex;align-items:center}.search-input-wrapper svg{position:absolute;left:12px;color:#94a3b8}.search-input-wrapper input{width:100%;padding:12px 12px 12px 40px;background:#0f0f17;border:1px solid rgba(255,255,255,.1);border-radius:8px;color:#fff;font-size:14px}.search-input-wrapper input:focus{outline:none;border-color:#c084fc}.search-results{margin-top:8px;background:#1e1e2d;border:1px solid rgba(255,255,255,.1);border-radius:8px;max-height:200px;overflow-y:auto}.search-item{padding:12px 16px;cursor:pointer;border-bottom:1px solid rgba(255,255,255,.05);transition:background .2s}.search-item:hover{background:#c084fc1a}.c-name{color:#fff;font-weight:500}.c-phone{color:#94a3b8;font-size:13px;margin-top:4px}.no-results{padding:16px;text-align:center;color:#94a3b8}.selected-customer{display:flex;justify-content:space-between;align-items:center;background:#c084fc1a;padding:16px;border-radius:8px;border:1px solid rgba(192,132,252,.2)}.selected-customer strong{color:#c084fc;font-size:16px}.selected-customer p{color:#e2e8f0;margin:4px 0 0;font-size:14px}.btn-text{background:none;border:none;color:#ef4444;cursor:pointer;font-size:14px}.btn-text:hover{text-decoration:underline}.service-add-row{display:flex;gap:12px}.service-select{flex:1;padding:12px;background:#0f0f17;border:1px solid rgba(255,255,255,.1);border-radius:8px;color:#fff;font-size:14px}.service-select:focus{outline:none;border-color:#c084fc}.invoice-card{background:#181825;border-radius:12px;padding:24px;border:1px solid rgba(255,255,255,.05);display:flex;flex-direction:column;height:100%}.invoice-card h3{margin-top:0;margin-bottom:20px;color:#e2e8f0;font-size:18px;border-bottom:1px solid rgba(255,255,255,.1);padding-bottom:12px}.invoice-items{flex:1;margin-bottom:20px;overflow-y:auto}.empty-invoice{text-align:center;color:#94a3b8;padding:40px 0}.invoice-table{width:100%;border-collapse:collapse}.invoice-table th{text-align:left;padding:12px 8px;color:#94a3b8;font-size:13px;font-weight:500;border-bottom:1px solid rgba(255,255,255,.1)}.invoice-table td{padding:12px 8px;color:#e2e8f0;font-size:14px;border-bottom:1px solid rgba(255,255,255,.05)}.qty-input{width:60px;padding:6px;background:#0f0f17;border:1px solid rgba(255,255,255,.1);border-radius:4px;color:#fff;text-align:center}.btn-icon.danger{background:#ef44441a;color:#ef4444;border:none;padding:6px;border-radius:4px;cursor:pointer;display:flex;align-items:center;justify-content:center}.btn-icon.danger:hover{background:#ef444433}.invoice-summary{background:#0f0f17;border-radius:8px;padding:16px;margin-bottom:20px}.summary-row{display:flex;justify-content:space-between;align-items:center;padding:8px 0;color:#94a3b8;font-size:14px}.summary-row.grand-total{margin-top:12px;padding-top:12px;border-top:1px dashed rgba(255,255,255,.2);color:#10b981;font-size:18px;font-weight:600}.discount-input{width:80px;padding:6px;background:#181825;border:1px solid rgba(255,255,255,.2);border-radius:4px;color:#fff;text-align:right}.payment-method-row{display:flex;justify-content:space-between;align-items:center;padding:12px 0;margin-top:8px;color:#e2e8f0;font-size:14px}.payment-select{padding:8px 12px;background:#181825;border:1px solid rgba(255,255,255,.2);border-radius:6px;color:#fff}.btn-generate-bill{width:100%;padding:16px;background:linear-gradient(to right,#7c3aed,#db2777);color:#fff;border:none;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:opacity .2s}.btn-generate-bill:disabled{opacity:.5;cursor:not-allowed;background:#334155}.btn-generate-bill:hover:not(:disabled){opacity:.9}.btn-primary{display:inline-flex;align-items:center;gap:8px;padding:12px 20px;background:#c084fc;color:#fff;border:none;border-radius:8px;font-weight:500;cursor:pointer}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-secondary{display:inline-flex;align-items:center;gap:8px;padding:10px 16px;background:#1e293b;color:#e2e8f0;border:1px solid rgba(255,255,255,.1);border-radius:8px;font-weight:500;cursor:pointer}.alert{padding:12px 16px;border-radius:8px;margin-bottom:20px;font-size:14px}.alert.error{background:#ef44441a;color:#fca5a5;border:1px solid rgba(239,68,68,.2)}.alert.success{background:#10b9811a;color:#6ee7b7;border:1px solid rgba(16,185,129,.2)}@media(max-width:1024px){.billing-grid{grid-template-columns:1fr}}@media print{body *{visibility:hidden}.invoice-card,.invoice-card *{visibility:visible}.invoice-card{position:absolute;left:0;top:0;width:100%;margin:0;padding:20px;background:#fff;box-shadow:none;border:none;color:#000}.invoice-card h3,.invoice-table th,.invoice-table td,.summary-row,.payment-method-row,.invoice-card span{color:#000!important}.qty-input,.discount-input,.payment-select,.btn-icon,.btn-generate-bill,.billing-left{display:none}.print-only{display:inline-block!important}.invoice-items{overflow:visible;height:auto}.invoice-table th,.invoice-table td{border-bottom:1px solid #ddd}}
