@import url(https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600;700&family=Playfair+Display:wght@400;500;600;700&display=swap);body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.App{text-align:center}.App-logo{height:40vmin;pointer-events:none}@media (prefers-reduced-motion:no-preference){.App-logo{animation:App-logo-spin 20s linear infinite}}.App-header{align-items:center;background-color:#282c34;color:#fff;display:flex;flex-direction:column;font-size:calc(10px + 2vmin);justify-content:center;min-height:100vh}.App-link{color:#61dafb}@keyframes App-logo-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.toast-container{display:flex;flex-direction:column;gap:12px;max-width:380px;position:fixed;right:24px;top:24px;z-index:9999}.toast{animation:toastIn .35s cubic-bezier(.21,1.02,.73,1) forwards;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#fff;border-left:4px solid #0000;border-radius:12px;box-shadow:0 10px 25px #00000014,0 4px 10px #0000000f;color:#1f2937;font-size:14px;font-weight:500;gap:12px;line-height:1.4;overflow:hidden;padding:14px 16px 14px 14px;position:relative}.toast,.toast-icon{align-items:center;display:flex}.toast-icon{flex-shrink:0;font-size:18px;height:22px;justify-content:center;width:22px}.toast-message{color:#111827;flex:1 1}.toast-close{align-items:center;background:none;border:none;border-radius:6px;color:#9ca3af;cursor:pointer;display:flex;flex-shrink:0;font-size:12px;justify-content:center;padding:4px;transition:background .15s ease,color .15s ease}.toast-close:hover{background:#f3f4f6;color:#4b5563}.toast-progress{animation-fill-mode:forwards;animation-name:toastProgress;animation-timing-function:linear;background:currentColor;bottom:0;height:3px;left:0;opacity:.35;position:absolute}.toast-success{border-left-color:#16a34a}.toast-success .toast-icon,.toast-success .toast-progress{color:#16a34a}.toast-error{border-left-color:#dc2626}.toast-error .toast-icon,.toast-error .toast-progress{color:#dc2626}.toast-info{border-left-color:#2563eb}.toast-info .toast-icon,.toast-info .toast-progress{color:#2563eb}@keyframes toastIn{0%{opacity:0;transform:translateX(110%)}to{opacity:1;transform:translateX(0)}}@keyframes toastProgress{0%{width:100%}to{width:0}}@media (max-width:480px){.toast-container{left:12px;max-width:none;right:12px}}.auth-page{background:#fff;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif}.auth-page,.auth-wrapper{display:flex;min-height:100vh;width:100%}.auth-visual{background:linear-gradient(160deg,#0c1a2e,#1a3560 50%,#1265b0);color:#fff;display:flex;flex:1 1;flex-direction:column;justify-content:space-between;max-width:46%;overflow:hidden;padding:48px 44px;position:relative}.auth-visual:before{background-image:radial-gradient(circle,#ffffff0f 1.5px,#0000 0);background-size:26px 26px;content:"";inset:0;pointer-events:none;position:absolute}.testimonial-box,.visual-top{position:relative;z-index:1}.brand-row{gap:12px}.brand-icon-box{border-radius:10px;font-size:16px;height:38px;width:38px}.brand-name{font-size:18px;letter-spacing:.3px}.badge-pill{align-items:center;background:#ffffff1f;border:1px solid #fff3;border-radius:20px;display:inline-flex;font-size:11px;font-weight:700;gap:8px;letter-spacing:.6px;margin-bottom:22px;padding:6px 14px}.badge-icon{color:#d4af6a;font-size:12px}.visual-heading{font-size:34px;font-weight:800;line-height:1.25;margin:0 0 18px}.visual-heading span{color:#d4af6a}.visual-text{color:#fffc;font-size:14.5px;line-height:1.6;margin-bottom:34px;max-width:380px}.stats-row{display:flex;gap:36px;margin-bottom:10px}.stat-item h3{color:#d4af6a;font-size:22px;font-weight:800;margin:0 0 4px}.stat-item span{color:#ffffffb3;font-size:11.5px;letter-spacing:.4px;text-transform:uppercase}.testimonial-box{background:#ffffff14;border:1px solid #ffffff26;border-radius:14px;margin-top:30px;padding:22px 24px}.testimonial-box p{color:#ffffffe6;font-size:13.5px;font-style:italic;line-height:1.6;margin:0 0 16px}.testimonial-user{gap:12px}.avatar,.testimonial-user{align-items:center;display:flex}.avatar{background:#d4af6a;border-radius:50%;color:#123a34;flex-shrink:0;font-size:13px;font-weight:700;height:38px;justify-content:center;width:38px}.testimonial-user strong{display:block;font-size:13px}.testimonial-user span{color:#ffffffa6;font-size:12px}.auth-form-side{align-items:center;background:#fff;display:flex;flex:1 1;justify-content:center;padding:50px 60px}.auth-form-box{max-width:400px;width:100%}.form-head h2{color:#16211f;font-size:26px;font-weight:800;margin:0 0 6px}.form-head p{color:#777;font-size:13.5px;margin:0 0 26px}.form-head a{color:#1a7fd4;font-weight:700;text-decoration:none}.form-head a:hover{text-decoration:underline}.social-row{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:22px}.social-btn{align-items:center;background:#fff;border:1px solid #e2e2e2;border-radius:9px;color:#333;cursor:pointer;display:flex;flex:1 1;font-size:13px;font-weight:600;gap:8px;justify-content:center;min-width:160px;padding:11px 10px;transition:border-color .2s,background .2s}.social-btn:hover{background:#f7faf9;border-color:#1a7fd4}.social-icon.google{color:#ea4335}.social-icon.facebook{color:#1877f2}.divider{align-items:center;color:#999;display:flex;font-size:12px;margin:22px 0;text-align:center}.divider:after,.divider:before{background:#e5e5e5;content:"";flex:1 1;height:1px}.divider span{padding:0 12px;white-space:nowrap}.field-label{color:#333;margin-top:16px}.input-group{padding:12px 14px;transition:border-color .25s,box-shadow .25s}.input-icon{margin-right:10px}.toggle-icon{color:#999;margin-left:8px}.form-row{font-size:13px;justify-content:space-between;margin-top:18px}.form-row,.remember-me{align-items:center;display:flex}.remember-me{color:#555;gap:6px}.forgot-link{color:#1a7fd4;font-weight:700;text-decoration:none}.forgot-link:hover{text-decoration:underline}.auth-btn{align-items:center;background:linear-gradient(135deg,#1265b0,#1a7fd4 50%,#3ab4f2);border:none;border-radius:10px;color:#fff;cursor:pointer;display:flex;font-size:14.5px;font-weight:700;gap:8px;justify-content:center;letter-spacing:.3px;margin-top:24px;padding:13px;transition:transform .2s,box-shadow .2s;width:100%}.auth-btn:hover{box-shadow:0 10px 22px #0f3d354d;transform:translateY(-2px)}.btn-icon{font-size:12px}.auth-switch{color:#666;font-size:13.5px;margin-top:22px;text-align:center}.auth-switch a{color:#1a7fd4;font-weight:700;text-decoration:none}.auth-switch a:hover{text-decoration:underline}.fine-print{color:#999;font-size:11.5px;line-height:1.6;margin-top:18px;text-align:center}.fine-print a{color:#666;font-weight:600;text-decoration:underline}@media (max-width:992px){.auth-visual{max-width:42%;padding:40px 32px}.visual-heading{font-size:28px}.auth-form-side{padding:40px 36px}}@media (max-width:768px){.auth-wrapper{flex-direction:column}.auth-visual{max-width:100%;padding:36px 28px}.stats-row{gap:24px}.testimonial-box{margin-top:24px}.auth-form-side{padding:40px 28px}}@media (max-width:480px){.visual-heading{font-size:24px}.visual-text{font-size:13px}.stats-row{flex-wrap:wrap;gap:18px}.social-row{flex-direction:column}.social-btn{min-width:100%}.form-head h2{font-size:22px}}@media (max-width:768px){.auth-wrapper{flex-direction:column}.auth-form-side{order:1;padding:36px 24px}.auth-visual{max-width:100%;order:2;padding:32px 24px}.stats-row{gap:24px}.testimonial-box{margin-top:24px}.auth-wrapper{flex-direction:column}.auth-form-side{order:1;padding:36px 24px}.auth-visual{display:none}}.btn-spinner{margin-right:8px;vertical-align:middle}.verify-box{align-items:center;display:flex;flex-direction:column;gap:10px;justify-content:center;text-align:center}.verify-icon{font-size:56px;margin-bottom:10px}.verify-icon.success{color:#16a34a}.verify-icon.error{color:#dc2626}.verify-icon.spin{animation:spin 1s linear infinite;color:#6366f1}.verify-btn{align-items:center;display:inline-flex;justify-content:center;margin-top:16px;text-decoration:none}.layout-container{background:#f4f5f6;display:flex;font-family:Poppins,Segoe UI,Tahoma,Geneva,Verdana,sans-serif;min-height:100vh}.sidebar{background:linear-gradient(180deg,#0d1b2e,#1265b0);bottom:0;color:#fff;display:flex;flex-direction:column;left:0;position:fixed;top:0;transition:transform .3s ease;z-index:100}.sidebar-header{border-bottom:1px solid #ffffff1a;justify-content:space-between;padding:20px}.brand-row,.sidebar-header{align-items:center;display:flex}.brand-row{gap:10px}.brand-icon-box{align-items:center;background:#ffffff26;border:1px solid #ffffff40;border-radius:9px;display:flex;flex-shrink:0;font-size:14px;height:34px;justify-content:center;width:34px}.brand-name{font-size:16px;font-weight:700}.sidebar-close-btn{background:none;border:none;color:#fff;cursor:pointer;display:none;font-size:18px}.sidebar-nav{display:flex;flex-direction:column;gap:4px;overflow-y:auto;padding:16px 12px}.sidebar-link{align-items:center;border-radius:9px;color:#ffffffbf;display:flex;font-size:14px;font-weight:500;gap:12px;padding:11px 14px;text-decoration:none;transition:background .2s,color .2s}.sidebar-link:hover{background:#ffffff14;color:#fff}.sidebar-link.active{background:#1a7fd438;border:1px solid #1a7fd459;color:#fff;font-weight:700}.sidebar-icon{display:flex;font-size:15px;justify-content:center;width:18px}.sidebar-overlay{display:none}.layout-main{display:flex;flex:1 1;flex-direction:column;min-height:100vh;min-width:0}.topbar{align-items:center;background:#fff;border-bottom:1px solid #e5e5e5;display:flex;height:64px;justify-content:space-between;padding:0 24px;position:-webkit-sticky;position:sticky;top:0;z-index:50}.menu-toggle-btn{background:none;border:none;color:#123a34;cursor:pointer;display:none;font-size:20px}.topbar-title{color:#1c1c1c;font-size:17px;font-weight:700}.topbar-right{align-items:center;display:flex;gap:20px}.icon-btn{background:none;border:none;color:#555;font-size:17px}.topbar-user{align-items:center;display:flex;gap:8px}.user-avatar-icon{color:#1265b0;font-size:28px}.user-name{color:#333;font-size:14px;font-weight:600}.layout-content{flex:1 1;max-width:100%;min-width:0;overflow-x:hidden;padding:24px}@media (max-width:900px){.sidebar{transform:translateX(-100%);width:260px}.sidebar-open{box-shadow:4px 0 20px #00000040;transform:translateX(0)}.sidebar-close-btn{display:block}.sidebar-overlay{background:#0006;display:block;inset:0;position:fixed;z-index:90}.layout-main{margin-left:0}.menu-toggle-btn{display:block}.topbar{padding:0 16px}.user-name{display:none}}@media (max-width:480px){.layout-content{padding:16px}.topbar-title{font-size:15px}}.dropdown-wrapper,.icon-btn{position:relative}.badge-dot{align-items:center;background:#e0453d;border-radius:50%;color:#fff;display:flex;font-size:10px;font-weight:700;height:16px;justify-content:center;min-width:16px;padding:0 3px;position:absolute;right:-6px;top:-4px}.topbar-user{cursor:pointer}.dropdown-menu{animation:dropdownFade .15s ease;background:#fff;border:1px solid #e5e5e5;border-radius:10px;box-shadow:0 10px 30px #0000001f;overflow:hidden;position:absolute;right:0;top:calc(100% + 12px);z-index:200}@keyframes dropdownFade{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.notif-dropdown{width:320px}.profile-dropdown{width:240px}.dropdown-header{align-items:center;border-bottom:1px solid #f0f0f0;color:#1c1c1c;display:flex;font-size:14px;font-weight:700;justify-content:space-between;padding:14px 16px}.mark-read-btn{align-items:center;background:none;border:none;color:#0f7a63;cursor:pointer;display:flex;font-size:12px;font-weight:600;gap:5px}.dropdown-list{max-height:280px;overflow-y:auto}.dropdown-item{align-items:center;cursor:pointer;display:flex;gap:12px;padding:12px 16px;transition:background .2s}.dropdown-item:hover{background:#f6f7f8}.notif-dot{background:#0f7a63;border-radius:50%;flex-shrink:0;height:8px;margin-top:6px;width:8px}.notif-content{display:flex;flex-direction:column;gap:3px}.notif-text{color:#1c1c1c;font-size:13px;margin:0}.notif-time{color:#888;font-size:11px}.dropdown-footer{border-top:1px solid #f0f0f0;padding:10px 16px;text-align:center}.dropdown-footer a{color:#0f7a63;font-size:13px;font-weight:600;text-decoration:none}.profile-header{align-items:center;display:flex;gap:12px;padding:16px}.profile-avatar-lg{color:#1265b0;flex-shrink:0;font-size:40px}.profile-name{color:#1c1c1c;font-size:14px;font-weight:700;margin:0 0 2px}.profile-email{color:#888;font-size:12px}.dropdown-item-icon{color:#555;font-size:14px;width:16px}.logout-item,.logout-item .dropdown-item-icon{color:#e0453d}.logout-item span{color:#e0453d;font-weight:600}.sidebar-collapse-btn-top{align-items:center;background:#ffffff14;border:1px solid #ffffff26;border-radius:7px;color:#fffc;cursor:pointer;display:flex;flex-shrink:0;font-size:13px;height:30px;justify-content:center;transition:background .2s,color .2s;width:30px}.sidebar-collapse-btn-top:hover{background:#ffffff29;color:#fff}.sidebar{transition:transform .3s ease,width .25s ease;width:250px}.sidebar-collapsed{width:78px}.sidebar-collapsed .sidebar-header{justify-content:center;padding:20px 10px}.sidebar-collapsed .brand-row{justify-content:center}.sidebar-collapsed .sidebar-nav{align-items:center}.sidebar-collapsed .sidebar-link{justify-content:center;padding:11px 0;width:48px}.sidebar-collapsed .sidebar-icon{font-size:17px}.sidebar-collapse-btn{align-items:center;background:#ffffff14;border:1px solid #ffffff26;border-radius:9px;color:#fffc;cursor:pointer;display:flex;font-size:13px;font-weight:600;gap:8px;justify-content:center;margin:10px 12px 16px;padding:10px;transition:background .2s,color .2s}.sidebar-collapse-btn:hover{background:#ffffff29;color:#fff}.sidebar-collapsed .sidebar-collapse-btn{margin:10px 14px 16px;padding:10px 0}.layout-main{margin-left:250px;transition:margin-left .25s ease}.sidebar-is-collapsed .layout-main{margin-left:78px}@media (max-width:900px){.sidebar,.sidebar-collapsed{transform:translateX(-100%);width:260px}.sidebar-collapsed .brand-row,.sidebar-collapsed .sidebar-header{justify-content:space-between}.sidebar-collapsed .sidebar-link{justify-content:flex-start;padding:11px 14px;width:auto}.sidebar-open{transform:translateX(0)}.sidebar-collapse-btn{display:none}.layout-main,.sidebar-is-collapsed .layout-main{margin-left:0}}.dashboard-page{color:#1c1c1c;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;max-width:100%;overflow-x:hidden;width:100%}.dashboard-error,.dashboard-loading{color:#888;font-size:14px;padding:60px;text-align:center}.dashboard-header{margin-bottom:20px}.dashboard-header h2{color:#0a2647;font-size:22px;font-weight:800;margin:0 0 4px}.dashboard-header p{color:#777;font-size:13.5px;margin:0}.dash-stats-grid{grid-gap:14px;display:grid;gap:14px;grid-template-columns:repeat(6,1fr);margin-bottom:22px}.dash-stat-card{align-items:center;background:#fff;border:1px solid #dde6f0;border-radius:12px;display:flex;gap:12px;padding:16px}.dash-stat-icon{align-items:center;border-radius:10px;color:#fff;display:flex;flex-shrink:0;font-size:16px;height:42px;justify-content:center;width:42px}.dash-stat-icon.revenue{background:linear-gradient(135deg,#0b2f5c,#14498c)}.dash-stat-icon.month{background:linear-gradient(135deg,#14498c,#1e63b8)}.dash-stat-icon.appt{background:linear-gradient(135deg,#1e63b8,#2f7fd6)}.dash-stat-icon.clients{background:linear-gradient(135deg,#0d3a6b,#1a5aa3)}.dash-stat-icon.staff{background:linear-gradient(135deg,#1a5aa3,#3892e0)}.dash-stat-icon.services{background:linear-gradient(135deg,#0a2647,#16528f)}.dash-stat-value{color:#0a2647;display:block;font-size:18px;font-weight:800;white-space:nowrap}.dash-stat-label{color:#888;font-size:11.5px;font-weight:600}.dash-charts-row{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(3,1fr);margin-bottom:20px}.dash-charts-row:first-of-type{grid-template-columns:2fr 1fr}.dash-chart-card{background:#fff;border:1px solid #dde6f0;border-radius:14px;overflow:hidden;padding:18px}.dash-chart-card.wide{grid-column:span 1}.dash-chart-head{margin-bottom:10px}.dash-chart-head h4{align-items:center;color:#0a2647;display:flex;font-size:14px;font-weight:800;gap:8px;margin:0}.dash-empty{align-items:center;color:#999;display:flex;font-size:13px;height:260px;justify-content:center}.dash-tables-row{grid-gap:16px;display:grid;gap:16px;grid-template-columns:1fr 1fr}.dash-table-card{background:#fff;border:1px solid #dde6f0;border-radius:14px;overflow-x:auto;padding:18px}.dash-mini-table{border-collapse:collapse;min-width:420px;width:100%}.dash-mini-table thead th{border-bottom:1px solid #e3eaf3;color:#6b7f9e;font-size:11px;font-weight:800;padding:10px 8px;text-align:left;text-transform:uppercase;white-space:nowrap}.dash-mini-table tbody td{border-bottom:1px solid #eef2f8;color:#1c2b3d;font-size:13px;padding:10px 8px;white-space:nowrap}.dash-empty-row{color:#999;padding:24px!important;text-align:center}.dash-status-pill{border-radius:20px;display:inline-block;font-size:11px;font-weight:700;padding:4px 10px;text-transform:capitalize}.pill-paid{background:#e3f0ff;color:#14498c}.pill-partial{background:#d6e6fa;color:#1e63b8}.pill-due{background:#eaf1fb;color:#0b2f5c}@media (max-width:1200px){.dash-stats-grid{grid-template-columns:repeat(3,1fr)}.dash-charts-row,.dash-charts-row:first-of-type,.dash-tables-row{grid-template-columns:1fr}}@media (max-width:600px){.dash-stats-grid{grid-template-columns:repeat(2,1fr)}.dash-stat-card{padding:12px}.dash-stat-value{font-size:15px}}.appt-page{color:#1c1c1c;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif}.appt-header{align-items:flex-start;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;margin-bottom:20px}.appt-header h2{color:#111827;font-size:22px;font-weight:800;margin:0 0 4px}.appt-header p{color:#777;font-size:13.5px;margin:0}.appt-toolbar{flex-wrap:wrap;gap:14px;justify-content:space-between;margin-bottom:18px}.appt-toolbar,.date-nav{align-items:center;display:flex}.date-nav{gap:10px}.nav-btn{align-items:center;background:#fff;border:1px solid #e2e4e3;border-radius:8px;color:#1265b0;cursor:pointer;display:flex;height:34px;justify-content:center;transition:background .15s;width:34px}.nav-btn:hover{background:#f4f8f7}.date-display{align-items:center;background:#fff;border:1px solid #e2e4e3;border-radius:8px;color:#1265b0;display:flex;font-size:14.5px;font-weight:700;gap:8px;padding:8px 16px}.date-icon,.today-btn{color:#1265b0}.today-btn{background:#fff;border:1px solid #e2e4e3;border-radius:8px;cursor:pointer;font-size:13px;font-weight:700;padding:8px 14px}.today-btn:hover{background:#f4f8f7}.view-toggle{border:1px solid #e2e4e3;border-radius:9px;display:flex;overflow:hidden}.view-toggle button{align-items:center;background:#fff;border:none;color:#666;cursor:pointer;display:flex;font-size:13px;font-weight:600;gap:6px;padding:9px 16px}.view-toggle button.active{background:#1265b0;color:#fff}.schedule-wrapper{background:#fff;border:1px solid #e8eae9;border-radius:14px;overflow-x:auto;padding:6px}.schedule-grid{display:grid;min-width:720px}.schedule-corner{background:#fff;left:0;position:-webkit-sticky;position:sticky;z-index:2}.schedule-staff-head{align-items:center;background:#f7f8f8;border-bottom:2px solid #e8eae9;color:#1265b0;display:flex;font-size:13px;font-weight:700;gap:8px;padding:12px 10px}.staff-avatar-icon{color:#1265b0;flex-shrink:0;font-size:18px}.schedule-time-label{align-items:center;background:#fafbfb;border-top:1px solid #f0f1f0;color:#888;display:flex;font-size:12px;font-weight:700;left:0;padding:10px;position:-webkit-sticky;position:sticky}.schedule-cell{border-left:1px solid #f0f1f0;border-top:1px solid #f0f1f0;min-height:46px;padding:3px}.appt-block{border-left:3px solid;border-radius:6px;display:flex;flex-direction:column;font-size:11.5px;gap:1px;height:100%;overflow:hidden;padding:5px 8px}.appt-block strong{font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.status-upcoming{background:#eef3fb;border-color:#3b6fd6;color:#1d4390}.status-progress{background:#fff6e6;border-color:#d4af6a;color:#8a6a1f}.status-completed{background:#eef8f1;border-color:#1b6b3a;color:#1b6b3a}.status-walkin{background:#f4eef8;border-color:#8d5cc4;color:#5d3a91}.appt-list{display:flex;flex-direction:column;gap:12px}.appt-card{background:#fff;border:1px solid #e8eae9;border-radius:12px;flex-wrap:wrap;gap:18px;padding:16px 18px}.appt-card,.appt-time-col{align-items:center;display:flex}.appt-time-col{color:#1265b0;font-size:15px;font-weight:800;gap:8px;min-width:90px}.time-icon{color:#1265b0}.appt-info-col{flex:1 1;min-width:220px}.appt-client-row{align-items:center;display:flex;flex-wrap:wrap;gap:8px;margin-bottom:4px}.client-icon{color:#1265b0;font-size:18px}.appt-phone{align-items:center;color:#888;display:flex;font-size:12.5px;gap:5px}.appt-meta-row{color:#666;display:flex;font-size:13px;gap:16px}.appt-meta-row span{align-items:center;display:flex;gap:6px}.appt-status-col{align-items:flex-end;display:flex;flex-direction:column;gap:8px}.status-badge{align-items:center;border-radius:20px;display:flex;font-size:12px;font-weight:700;gap:6px;padding:5px 12px}.status-select{background:#fff;border:1px solid #e2e4e3;border-radius:7px;color:#444;font-size:12.5px;padding:6px 10px}.appt-empty{background:#fff;border:1px solid #e8eae9;border-radius:12px;color:#999;font-size:14px;padding:40px;text-align:center}.modal-overlay{background:#0f141480;padding:20px;z-index:200}.modal-box{background:#fff;border-radius:16px;max-height:90vh;max-width:580px;overflow-y:auto;padding:26px;width:100%}.modal-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:18px}.modal-header h3{color:#1f1f1f;font-size:18px;font-weight:800;margin:0}.modal-close-btn{align-items:center;background:#f4f5f5;border:none;border-radius:8px;color:#666;cursor:pointer;display:flex;height:30px;justify-content:center;width:30px}.modal-close-btn:hover{background:#eceeed}.modal-form .field-label{color:#333;display:block;font-size:12.5px;font-weight:700;margin-bottom:6px;margin-top:14px}.modal-form select{background:#fff;border:1px solid #e2e4e3;border-radius:9px;color:#333;font-size:13.5px;padding:10px 12px;width:100%}.modal-form-row{grid-gap:12px;display:grid;gap:12px;grid-template-columns:1fr 1fr}.modal-form .btn-primary{margin-top:22px}@media (max-width:700px){.appt-toolbar{align-items:stretch;flex-direction:column}.date-nav{justify-content:space-between}.view-toggle{align-self:stretch}.view-toggle button{flex:1 1;justify-content:center}.header-actions{width:100%}.header-actions button{flex:1 1;justify-content:center}.appt-card{align-items:flex-start;flex-direction:column}.appt-status-col{align-items:flex-start;width:100%}.modal-form-row{grid-template-columns:1fr}}.time-12h{color:#9ca3af;font-size:11px;margin-left:4px}.appt-bill-btn{align-items:center;background:#fff;border:1px solid #7c3aed;border-radius:8px;color:#7c3aed;cursor:pointer;display:inline-flex;font-size:12px;font-weight:600;gap:6px;margin-top:6px;padding:6px 12px;transition:all .15s ease}.appt-bill-btn:hover{background:#7c3aed;color:#fff}.billing-page{color:#1c1c1c;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif}.billing-header{align-items:flex-start;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;margin-bottom:22px}.billing-header h2{color:#16211f;font-size:22px;font-weight:800;margin:0 0 4px}.billing-header p{color:#777;font-size:13.5px;margin:0}.header-actions{display:flex;gap:10px}.btn-primary{background:linear-gradient(135deg,#1265b0,#1b5a4f)}.full-width{margin-top:16px}.billing-grid{grid-gap:20px;align-items:start;display:grid;gap:20px;grid-template-columns:1fr 340px}.billing-main{display:flex;flex-direction:column;gap:18px;min-width:0}.panel{background:#fff;border:1px solid #e8eae9;border-radius:14px;padding:20px}.panel-title{color:#16211f;font-size:15px;font-weight:800;margin:0 0 14px}.panel-subtitle{color:#888;font-size:12.5px;margin:-8px 0 14px}.input-group{padding:10px 12px;transition:border-color .2s,box-shadow .2s}.input-icon{flex-shrink:0}.client-row{grid-gap:14px;display:grid;gap:14px;grid-template-columns:1fr 1fr}.search-box{margin-bottom:4px}.search-results{border:1px solid #e8eae9;border-radius:9px;margin-bottom:14px;margin-top:6px;overflow:hidden}.search-result-item{border-bottom:1px solid #f0f1f0;cursor:pointer;display:flex;font-size:13.5px;justify-content:space-between;padding:10px 14px;transition:background .15s}.search-result-item:last-child{border-bottom:none}.search-result-item:hover{background:#f4f8f7}.svc-price{color:#0f3d35;font-weight:700}.search-result-empty{color:#999;font-size:13px;padding:12px 14px}.items-table{border:1px solid #e8eae9;border-radius:10px;margin-top:6px;overflow:hidden}.items-table-head,.items-table-row{grid-gap:10px;align-items:center;display:grid;gap:10px;grid-template-columns:2fr 1.6fr .7fr .9fr .9fr 40px;padding:10px 14px}.items-table-head{background:#f4f5f6;color:#888;font-size:11.5px;font-weight:700;letter-spacing:.3px;text-transform:uppercase}.items-table-row{border-top:1px solid #f0f1f0;font-size:13.5px}.items-table-row input,.items-table-row select{background:#fff;border:1px solid #e2e4e3;border-radius:6px;color:#333;font-size:13px;padding:7px 8px;width:100%}.cell-price,.cell-total{color:#333;font-weight:600}.cell-total{color:#0f3d35;font-weight:700}.row-delete-btn{background:none;border:none;border-radius:6px;color:#c0392b;cursor:pointer;font-size:13px;padding:6px;transition:background .15s}.row-delete-btn:hover{background:#fdecea}.items-empty{color:#999;font-size:13.5px;padding:20px;text-align:center}.discount-row{display:flex;gap:12px;margin-bottom:16px}.discount-type-toggle{border:1px solid #e2e4e3;border-radius:9px;display:flex;flex-shrink:0;overflow:hidden}.discount-type-toggle button{align-items:center;background:#fff;border:none;color:#666;cursor:pointer;display:flex;font-size:13px;font-weight:600;gap:6px;padding:10px 14px}.discount-type-toggle button.active{background:linear-gradient(135deg,#1265b0,#1a7fd4 50%,#3ab4f2);color:#fff}.discount-input{border:1px solid #e2e4e3;border-radius:9px;flex:1 1;font-size:13.5px;outline:none;padding:10px 12px}.discount-input:focus{border-color:#0f3d35}.coupon-row{display:flex;gap:10px}.coupon-row .input-group{flex:1 1}.coupon-applied{background:#eef8f1;border:1px solid #cdeedb;border-radius:8px;color:#1b6b3a;font-size:13px;margin-top:10px;padding:8px 12px}.split-row{align-items:center;gap:10px;margin-bottom:12px}.method-select,.split-row{display:flex;flex-wrap:wrap}.method-select{gap:6px}.method-chip{align-items:center;background:#fff;border:1px solid #e2e4e3;border-radius:8px;color:#555;cursor:pointer;display:flex;font-size:12.5px;font-weight:600;gap:6px;padding:8px 12px;transition:all .15s}.method-chip.active{background:linear-gradient(135deg,#1265b0,#1a7fd4 50%,#3ab4f2);border-color:#1265b0;color:#fff}.split-amount-input{border:1px solid #e2e4e3;border-radius:8px;font-size:13px;outline:none;padding:9px 10px;width:110px}.split-amount-input:focus{border-color:#0f3d35}.link-btn{border:none;font-size:12.5px;padding:0;text-decoration:underline}.add-split-btn,.link-btn{background:none;color:#0f3d35;cursor:pointer;font-weight:700}.add-split-btn{align-items:center;border:1px dashed #c4c9c7;border-radius:8px;display:flex;font-size:13px;gap:8px;justify-content:center;margin-top:4px;padding:10px 14px;width:100%}.add-split-btn:hover{background:#f4f8f7;border-color:#0f3d35}.billing-summary{position:-webkit-sticky;position:sticky;top:20px}.summary-panel{background:#fff;border:1px solid #e8eae9;border-radius:14px;padding:20px}.summary-row{align-items:center;color:#444;display:flex;font-size:13.5px;justify-content:space-between;padding:6px 0}.summary-row.discount{color:#c0392b}.summary-row.due{color:#c0392b;font-weight:700}.summary-row.change{color:#1b6b3a;font-weight:700}.summary-divider{background:#eceeed;margin:10px 0}.summary-row.grand-total{color:#1265b0;font-size:17px;font-weight:800}.due-note{color:#888;font-size:12px;line-height:1.5;margin-top:12px;text-align:center}@media (max-width:1100px){.billing-grid{grid-template-columns:1fr}.billing-summary{position:static}}@media (max-width:700px){.client-row{grid-template-columns:1fr}.items-table-head{display:none}.items-table-row{grid-template-areas:"service service" "staff staff" "qty price" "total delete";grid-template-columns:1fr 1fr;padding:14px;position:relative;row-gap:8px}.items-table-row select:first-of-type{grid-area:service}.items-table-row select:nth-of-type(2){grid-area:staff}.items-table-row input{grid-area:qty}.cell-price{grid-area:price;text-align:right}.cell-total{grid-area:total}.row-delete-btn{grid-area:delete;justify-self:end}.discount-row{flex-direction:column}.coupon-row,.split-row{align-items:stretch;flex-direction:column}.header-actions,.split-amount-input{width:100%}.header-actions button{flex:1 1;justify-content:center}}.billing-loading{color:#9ca3af;font-size:14px;padding:60px;text-align:center}.tax-row{align-items:center;display:flex;gap:12px;margin-top:14px}.tax-select{background:#fff;border:1px solid #e5e7eb;border-radius:10px;color:#111827;font-size:13.5px;padding:8px 12px}.clients-page{color:#1c1c1c;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;max-width:100%;overflow-x:hidden;width:100%}.clients-header{align-items:flex-start;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;margin-bottom:20px}.clients-header h2{color:#16211f;font-size:22px;font-weight:800;margin:0 0 4px}.clients-header p{color:#777;font-size:13.5px;margin:0}.btn-outline,.btn-primary{align-items:center;border:none;border-radius:9px;cursor:pointer;display:flex;font-size:13.5px;font-weight:700;gap:8px;padding:10px 18px;transition:transform .15s,box-shadow .15s,background .2s;white-space:nowrap}.btn-primary{background:linear-gradient(135deg,#123a34,#1b5a4f)}.btn-outline{color:#123a34}.btn-outline:hover{border-color:#123a34}.full-width{justify-content:center}.stat-value{color:#123a34}.clients-toolbar{align-items:center;display:flex;flex-wrap:wrap;gap:14px;justify-content:space-between;margin-bottom:18px}.input-group:focus-within{border-color:#0f3d35}.input-icon{color:#0f3d35}.filter-chip.active{background:#0f3d35;border-color:#0f3d35}.client-tag{border-radius:20px;display:inline-block;font-size:11px;font-weight:800;letter-spacing:.3px;padding:4px 10px;text-transform:uppercase;white-space:nowrap}.tag-vip{background:#fdf3e2;color:#a8791b}.tag-regular{background:#eef3fb;color:#1d4390}.tag-new{background:#eef8f1;color:#1b6b3a}.tag-inactive{background:#f3f3f3;color:#888}.client-avatar{align-items:center;background:linear-gradient(135deg,#123a34,#1b5a4f);border-radius:50%;color:#d4af6a;display:flex;flex-shrink:0;font-size:15px;font-weight:800;height:46px;justify-content:center;width:46px}.client-avatar.large{font-size:19px;height:58px;width:58px}.client-avatar.small{font-size:12.5px;height:36px;width:36px}.client-favorites{display:flex;flex-wrap:wrap;gap:6px}.fav-chip{align-items:center;background:#f4f8f7;border-radius:20px;color:#0f3d35;display:flex;font-size:11.5px;font-weight:600;gap:5px;padding:4px 10px;white-space:nowrap}.clients-table-wrapper{-webkit-overflow-scrolling:touch;background:#fff;border:1px solid #e8eae9;border-radius:14px;display:block;max-width:100%;overflow-x:auto;overflow-y:hidden;width:100%}.clients-table{border-collapse:collapse;display:table;min-width:900px;table-layout:fixed;width:100%}.clients-table thead{display:table-header-group}.clients-table tbody{display:table-row-group}.clients-table tr{display:table-row}.clients-table td,.clients-table th{display:table-cell}.clients-table thead th{background:#fafbfb;border-bottom:1px solid #eceeed;color:#888;font-size:11.5px;font-weight:800;letter-spacing:.4px;padding:14px 16px;text-align:left;text-transform:uppercase;white-space:nowrap}.clients-table thead th:first-child{border-top-left-radius:14px}.clients-table thead th:last-child{border-top-right-radius:14px}.clients-table tbody td{border-bottom:1px solid #f0f1f0;color:#333;font-size:13.5px;padding:14px 16px;vertical-align:middle}.clients-table td:first-child,.clients-table th:first-child{width:20%}.clients-table td:nth-child(2),.clients-table th:nth-child(2){width:18%}.clients-table td:nth-child(3),.clients-table th:nth-child(3){width:8%}.clients-table td:nth-child(4),.clients-table th:nth-child(4){width:7%}.clients-table td:nth-child(5),.clients-table th:nth-child(5){width:12%}.clients-table td:nth-child(6),.clients-table th:nth-child(6){width:10%}.clients-table td:nth-child(7),.clients-table th:nth-child(7){width:17%}.clients-table td:nth-child(8),.clients-table th:nth-child(8){width:8%}.client-row{cursor:pointer;transition:background .15s}.client-row:hover{background:#f7f9f8}.client-row:last-child td{border-bottom:none}.table-client-name{align-items:center;display:flex;gap:12px}.table-client-name strong{color:#16211f;display:block;font-size:13.5px;font-weight:700;white-space:nowrap}.table-contact{display:flex;flex-direction:column;gap:2px}.table-contact span:first-child{align-items:center;color:#555;display:flex;gap:6px;white-space:nowrap}.table-view-btn{color:#0f3d35}.table-view-btn:hover{background:#0f3d35;border-color:#0f3d35}.clients-empty-row{color:#999;font-size:14px;padding:40px!important;text-align:center}.edit-link{color:#0f3d35}.contact-info-list{display:flex;flex-direction:column;gap:10px}.contact-info-item{align-items:center;color:#444;display:flex;font-size:13.5px;gap:10px}.contact-info-item svg{color:#0f3d35;flex-shrink:0}.drawer-stat-icon{color:#d4af6a}.history-timeline{display:flex;flex-direction:column;gap:16px;padding-left:6px;position:relative}.history-item{display:flex;gap:12px;position:relative}.history-dot{background:#d4af6a;border-radius:50%;flex-shrink:0;height:10px;margin-top:5px;width:10px}.history-content{border-bottom:1px solid #f0f1f0;flex:1 1;padding-bottom:12px}.history-top-row{display:flex;font-size:13.5px;justify-content:space-between;margin-bottom:4px}.history-amount{color:#0f3d35;font-weight:700}.history-meta{align-items:center;color:#888;display:flex;font-size:12px;gap:6px}.history-empty{color:#999;font-size:13px}@media (max-width:700px){.clients-toolbar{align-items:stretch;flex-direction:column}.search-input{min-width:0}.filter-chips{flex-wrap:nowrap;overflow-x:auto;padding-bottom:4px}.clients-table-wrapper{border-radius:10px}.drawer-panel{max-width:100%}.drawer-footer{flex-direction:column}}.staff-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:20px}.staff-header h2{color:#111827;font-size:22px;font-weight:700;margin:0}.staff-header p{color:#6b7280;font-size:13px;margin:4px 0 0}.staff-error-banner{background:#fef2f2;border:1px solid #fecaca;border-radius:10px;color:#dc2626;font-size:13px;margin-bottom:16px;padding:10px 14px}.stats-strip{grid-gap:16px;gap:16px}.stat-card{border:1px solid #f1f5f9;border-radius:14px;box-shadow:0 2px 8px #00000008;padding:18px}.stat-value{color:#111827;font-size:24px;font-weight:700}.stat-value-sm{font-size:15px}.stat-label{color:#6b7280}.staff-toolbar{align-items:center;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;margin-bottom:18px}.input-group.search-input{align-items:center;background:#f9fafb;border:1px solid #e5e7eb;border-radius:10px;display:flex;gap:8px;min-width:260px;padding:9px 14px}.input-group.search-input input{background:#0000;border:none;font-size:13px;outline:none;width:100%}.input-icon{color:#9ca3af}.filter-chip{transition:all .15s ease}.filter-chip:hover{background:#f9fafb}.filter-chip.active{background:#7c3aed;border-color:#7c3aed}.staff-table-wrapper{background:#fff;border:1px solid #f1f5f9;border-radius:16px;box-shadow:0 2px 8px #00000008;overflow:hidden}.staff-table{border-collapse:collapse;width:100%}.staff-table thead th{background:#f9fafb;border-bottom:1px solid #f1f5f9;color:#9ca3af;font-size:12px;letter-spacing:.03em;padding:14px 18px;text-align:left;text-transform:uppercase}.staff-row{border-bottom:1px solid #f6f7f9;transition:background .15s ease}.staff-row:hover{background:#fafafa}.staff-row td{color:#374151;font-size:13.5px;padding:14px 18px;vertical-align:middle}.table-staff-name{align-items:center;display:flex;gap:12px}.staff-avatar{align-items:center;background:linear-gradient(135deg,#1265b0,#1a7fd4 50%,#3ab4f2);border-radius:50%;color:#fff;display:flex;flex-shrink:0;font-size:14px;font-weight:700;height:40px;justify-content:center;width:40px}.staff-avatar.large{font-size:18px;height:56px;width:56px}.role-tag{border-radius:999px;font-size:12px;font-weight:600;padding:5px 12px;white-space:nowrap}.role-stylist{background:#eaf7ff;color:#1d4ed8}.role-beautician{background:#eaf7ff;color:#be185d}.role-makeup{background:#eaf7ff;color:#c2410c}.role-massage{background:#eaf7ff;color:#1d4ed8}.role-nails{background:#eaf7ff;color:#15803d}.role-reception{background:#eaf7ff;color:#a16207}.role-manager{background:#eaf7ff;color:#4338ca}.table-date,.table-phone{align-items:center;color:#6b7280;display:inline-flex;gap:6px}.status-pill{cursor:pointer;-webkit-user-select:none;user-select:none}.status-active{background:#dcfce7;color:#15803d}.status-inactive{background:#fee2e2;color:#b91c1c}.table-view-btn{background:#fff;border:1px solid #e5e7eb;border-radius:8px;color:#374151;font-size:12.5px;font-weight:500;padding:6px 14px;transition:all .15s ease}.table-view-btn:hover{background:#7c3aed;border-color:#7c3aed}.staff-empty-row{color:#9ca3af;font-size:13.5px;padding:32px;text-align:center}.btn-primary{align-items:center;background:linear-gradient(135deg,#7c3aed,#9333ea);border:none;border-radius:10px;cursor:pointer;display:inline-flex;font-size:13.5px;font-weight:600;gap:8px;padding:10px 18px;transition:transform .15s ease,box-shadow .15s ease}.btn-primary:hover{box-shadow:0 6px 16px #7c3aed4d;transform:translateY(-1px)}.btn-primary:disabled{cursor:not-allowed;opacity:.6;transform:none}.btn-outline{align-items:center;border:1px solid #e5e7eb;border-radius:10px;color:#374151;cursor:pointer;display:inline-flex;font-size:13.5px;font-weight:600;gap:8px;justify-content:center;padding:10px 18px;transition:all .15s ease}.btn-outline:hover{background:#f9fafb}.btn-danger{align-items:center;background:#fef2f2;border:1px solid #fecaca;border-radius:10px;color:#dc2626;cursor:pointer;display:inline-flex;font-size:13.5px;font-weight:600;gap:8px;justify-content:center;padding:10px 18px;transition:all .15s ease}.btn-danger:hover{background:#fee2e2}.full-width{flex:1 1}.drawer-overlay{animation:fadeIn .2s ease;background:#0f172a66;z-index:999}.drawer-panel{animation:slideInRight .25s ease;box-shadow:-8px 0 30px #0000001a;max-width:100%;width:420px}.drawer-header{align-items:center;border-bottom:1px solid #f1f5f9;padding:20px}.drawer-header-info h3{color:#111827;font-size:16px;margin:0 0 4px}.drawer-close-btn{background:#f3f4f6;color:#6b7280}.drawer-close-btn:hover{background:#e5e7eb}.drawer-body{overflow-y:auto;padding:20px}.drawer-stat-row{display:flex;gap:12px}.drawer-stat-box{background:#f9fafb;border-radius:12px;flex:1 1;padding:14px}.drawer-stat-icon{color:#7c3aed;font-size:16px}.drawer-stat-box strong{color:#111827;font-size:13.5px}.drawer-stat-box span{color:#9ca3af;font-size:11px}.drawer-section h4{color:#374151;font-size:13px}.edit-link{color:#7c3aed;font-weight:600;gap:6px}.notes-text{color:#4b5563;margin:4px 0}.form-label{color:#374151;font-weight:600}.form-input,.form-select,.form-textarea{background:#fff;border:1px solid #e5e7eb;border-radius:10px;color:#111827;padding:10px 12px;transition:border-color .15s ease}.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:#7c3aed}.form-grid{grid-gap:12px;gap:12px}.drawer-footer{border-top:1px solid #f1f5f9;gap:12px;padding:18px 20px}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideInRight{0%{transform:translateX(100%)}to{transform:translateX(0)}}@media (max-width:768px){.stats-strip{grid-template-columns:repeat(2,1fr)}.form-grid{grid-template-columns:1fr}.drawer-panel{width:100%}}.services-page{color:#1c1c1c;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;max-width:100%;overflow-x:hidden;width:100%}.services-header{align-items:flex-start;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;margin-bottom:20px}.services-header h2{color:#16211f;font-size:22px;font-weight:800;margin:0 0 4px}.services-header p{color:#777;font-size:13.5px;margin:0}.btn-danger,.btn-outline,.btn-primary{align-items:center;border:none;border-radius:9px;cursor:pointer;display:flex;font-size:13.5px;font-weight:700;gap:8px;justify-content:center;padding:10px 18px;transition:transform .15s,box-shadow .15s,background .2s;white-space:nowrap}.btn-primary{background:linear-gradient(135deg,#1265b0,#1a7fd4 50%,#3ab4f2);color:#fff}.btn-primary:hover{box-shadow:0 8px 18px #0f3d354d;transform:translateY(-2px)}.btn-outline{background:#fff;border:1px solid #d7dbda;color:#1265b0}.btn-outline:hover{background:#f4f8f7;border-color:#1265b0}.btn-danger{background:#fdf0ef;border:1px solid #f3d7d4;color:#b3261e}.btn-danger:hover{background:#b3261e;color:#fff}.full-width{width:100%}.stats-strip{grid-gap:14px;display:grid;gap:14px;grid-template-columns:repeat(4,1fr);margin-bottom:20px}.stat-card{background:#fff;border:1px solid #e8eae9;border-radius:12px;display:flex;flex-direction:column;gap:4px;overflow:hidden;padding:16px}.stat-value{color:#000;font-size:22px;font-weight:800}.stat-value-sm{font-size:14.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.stat-label{color:#888;font-size:12px;font-weight:600}.services-toolbar{align-items:center;display:flex;flex-wrap:wrap;gap:14px;justify-content:space-between;margin-bottom:18px}.input-group{background:#f5f6f6;border:1px solid #e2e4e3;padding:10px 14px}.input-group:focus-within{border-color:#1a7fd4;box-shadow:0 0 0 3px #0f3d351a}.input-icon{color:#1a7fd4}.search-input{flex:1 1;min-width:240px}.filter-chip{border:1px solid #e2e4e3;border-radius:20px;color:#666;font-size:13px;font-weight:600;padding:9px 16px;transition:all .15s;white-space:nowrap}.filter-chip.active{background:#1a7fd4;border-color:#1a7fd4}.category-tag{border-radius:20px;display:inline-block;font-size:11px;font-weight:800;letter-spacing:.3px;padding:4px 10px;text-transform:uppercase;white-space:nowrap}.cat-hair{background:#fdf3e2;color:#a8791b}.cat-skin{background:#eef8f1;color:#1b6b3a}.cat-nails{background:#eef3fb;color:#1d4390}.cat-makeup{background:#fbeef6;color:#a3195b}.cat-spa{background:#eaf6f6;color:#147a7a}.status-pill{border-radius:20px;font-size:11.5px;padding:5px 10px;white-space:nowrap}.status-active{background:#f4faff;color:#1265b0}.status-inactive{background:#f3f3f3;color:#888}.service-icon-box{align-items:center;background:linear-gradient(135deg,#1265b0,#1a7fd4 50%,#3ab4f2);border-radius:10px;color:#d4af6a;display:flex;flex-shrink:0;font-size:16px;height:42px;justify-content:center;width:42px}.service-icon-box.large{border-radius:12px;font-size:20px;height:54px;width:54px}.services-table-wrapper{-webkit-overflow-scrolling:touch;background:#fff;border:1px solid #e8eae9;border-radius:14px;display:block;max-width:100%;overflow-x:auto;overflow-y:hidden;width:100%}.services-table{border-collapse:collapse;display:table;min-width:850px;table-layout:fixed;width:100%}.services-table thead{display:table-header-group}.services-table tbody{display:table-row-group}.services-table tr{display:table-row}.services-table td,.services-table th{display:table-cell}.services-table thead th{background:#fafbfb;border-bottom:1px solid #eceeed;color:#888;font-size:11.5px;font-weight:800;letter-spacing:.4px;padding:14px 16px;text-align:left;text-transform:uppercase;white-space:nowrap}.services-table thead th:first-child{border-top-left-radius:14px}.services-table thead th:last-child{border-top-right-radius:14px}.services-table tbody td{border-bottom:1px solid #f0f1f0;color:#333;font-size:13.5px;padding:14px 16px;vertical-align:middle}.services-table td:first-child,.services-table th:first-child{width:28%}.services-table td:nth-child(2),.services-table th:nth-child(2){width:12%}.services-table td:nth-child(3),.services-table th:nth-child(3){width:14%}.services-table td:nth-child(4),.services-table th:nth-child(4){width:12%}.services-table td:nth-child(5),.services-table th:nth-child(5){width:10%}.services-table td:nth-child(6),.services-table th:nth-child(6){width:14%}.services-table td:nth-child(7),.services-table th:nth-child(7){width:10%}.service-row{cursor:pointer;transition:background .15s}.service-row:hover{background:#f7f9f8}.service-row:last-child td{border-bottom:none}.table-service-name{align-items:center;display:flex;gap:12px}.table-service-name strong{color:#16211f;display:block;font-size:13.5px;font-weight:700;white-space:nowrap}.table-sub{color:#999;font-size:11.5px;white-space:nowrap}.table-duration{align-items:center;color:#555;display:flex;gap:6px;white-space:nowrap}.table-price{color:#123a34}.table-price,.table-view-btn{font-weight:700;white-space:nowrap}.table-view-btn{background:#f4f8f7;border:1px solid #d7e4e1;border-radius:7px;color:#1a7fd4;cursor:pointer;font-size:12px;padding:7px 14px;transition:background .15s,color .15s}.table-view-btn:hover{background:#1a7fd4;border-color:#1a7fd4;color:#fff}.services-empty-row{color:#999;font-size:14px;padding:40px!important;text-align:center}.drawer-overlay{background:#0f141480;display:flex;inset:0;justify-content:flex-end;position:fixed;z-index:300}.drawer-panel{animation:slideIn .25s ease-out;background:#fff;display:flex;flex-direction:column;height:100%;max-width:460px;overflow-y:auto;width:100%}@keyframes slideIn{0%{transform:translateX(100%)}to{transform:translateX(0)}}.drawer-header{align-items:flex-start;border-bottom:1px solid #eceeed;display:flex;justify-content:space-between;padding:22px 24px}.drawer-header-info{align-items:center;display:flex;gap:14px}.drawer-header-info h3{color:#16211f;font-size:18px;font-weight:800;margin:0 0 6px}.drawer-close-btn{align-items:center;background:#f4f5f5;border:none;border-radius:8px;color:#666;cursor:pointer;display:flex;flex-shrink:0;height:32px;justify-content:center;width:32px}.drawer-close-btn:hover{background:#eceeed}.drawer-body{display:flex;flex:1 1;flex-direction:column;gap:22px;padding:22px 24px}.drawer-section-head{align-items:center;display:flex;justify-content:space-between;margin-bottom:10px}.drawer-section h4{color:#16211f;font-size:14px;font-weight:800;gap:8px;margin:0 0 10px}.drawer-section h4,.edit-link{align-items:center;display:flex}.edit-link{background:none;border:none;color:#1a7fd4;cursor:pointer;font-size:12.5px;font-weight:700;gap:5px}.drawer-stat-row{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(3,1fr)}.drawer-stat-box{align-items:center;background:#f7f8f8;border-radius:10px;display:flex;gap:10px;padding:12px}.drawer-stat-icon{color:#1265b0;flex-shrink:0;font-size:18px}.drawer-stat-box strong{color:#123a34;display:block;font-size:14px}.drawer-stat-box span{color:#888;font-size:10.5px;text-transform:uppercase}.notes-text{background:#f7f8f8;border-radius:9px;color:#555;font-size:13.5px;line-height:1.6;margin:0;padding:12px 14px}.drawer-footer{border-top:1px solid #eceeed;display:flex;gap:10px;padding:18px 24px}.form-label{color:#444;display:block;font-size:12.5px;font-weight:700;margin-bottom:6px}.form-input,.form-select,.form-textarea{background:#f9fafa;border:1px solid #e2e4e3;border-radius:9px;color:#333;font-family:inherit;font-size:13.5px;outline:none;padding:10px 14px;transition:border-color .15s,box-shadow .15s;width:100%}.form-input:focus,.form-select:focus,.form-textarea:focus{background:#fff;border-color:#1a7fd4;box-shadow:0 0 0 3px #0f3d351a}.form-textarea{min-height:90px;resize:vertical}.form-grid{grid-gap:14px;display:grid;gap:14px;grid-template-columns:1fr 1fr}@media (max-width:900px){.stats-strip{grid-template-columns:repeat(2,1fr)}}@media (max-width:700px){.services-toolbar{align-items:stretch;flex-direction:column}.search-input{min-width:0}.filter-chips{flex-wrap:nowrap;overflow-x:auto;padding-bottom:4px}.services-table-wrapper{border-radius:10px}.drawer-panel{max-width:100%}.drawer-footer{flex-direction:column}.form-grid{grid-template-columns:1fr}}@media (max-width:480px){.stats-strip{gap:10px;grid-template-columns:repeat(2,1fr)}.stat-card{padding:12px}.stat-value{font-size:18px}}*{box-sizing:border-box}.settings-page{color:#1c1c1c;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;max-width:100%;width:100%}.settings-header{margin-bottom:20px}.settings-header h2{color:#0a2647;font-size:22px;font-weight:800;margin:0 0 4px}.settings-header p{color:#777;font-size:13.5px;margin:0}.settings-grid{grid-gap:18px;display:grid;gap:18px;grid-template-columns:1fr 1fr}.settings-card{background:#fff;border:1px solid #dde6f0;border-radius:14px;padding:22px}.settings-card-head{align-items:center;display:flex;gap:10px;margin-bottom:18px}.settings-card-icon{color:#14498c;font-size:18px}.settings-card-head h3{color:#0a2647;font-size:15px;font-weight:800;margin:0}.field-label{color:#444;display:block;font-size:12.5px;font-weight:700;margin-bottom:6px;margin-top:14px}.field-label:first-of-type{margin-top:0}.input-group{align-items:center;background:#f5f7fa;border:1px solid #e2e6ec;border-radius:9px;display:flex;padding:11px 14px}.input-group:focus-within{border-color:#14498c;box-shadow:0 0 0 3px #14498c1a}.input-icon{color:#14498c;font-size:14px;margin-right:8px}.input-group input{background:#0000;border:none;color:#333;font-size:13.5px;outline:none;width:100%}.toggle-icon{color:#888;cursor:pointer;font-size:14px}.settings-hint{color:#888;font-size:12px;line-height:1.5;margin:10px 0 0}.settings-btn{align-items:center;background:linear-gradient(135deg,#0b2f5c,#14498c);border:none;border-radius:9px;color:#fff;cursor:pointer;display:flex;font-size:14px;font-weight:700;gap:8px;justify-content:center;margin-top:18px;padding:12px;transition:transform .15s,box-shadow .15s;width:100%}.settings-btn:hover{box-shadow:0 8px 18px #0b2f5c4d;transform:translateY(-2px)}.settings-btn:disabled{cursor:not-allowed;opacity:.7;transform:none}.btn-spinner{animation:spin .7s linear infinite;border:2px solid #fff6;border-radius:50%;border-top-color:#fff;display:inline-block;height:16px;width:16px}@keyframes spin{to{transform:rotate(1turn)}}.password-strength{margin-top:8px}.strength-bar-track{background:#e5e7eb;border-radius:4px;height:6px;overflow:hidden;width:100%}.strength-bar-fill{border-radius:4px;height:100%;transition:width .3s ease,background .3s ease}.strength-label{display:inline-block;font-size:12px;font-weight:600;margin-top:4px}@media (max-width:900px){.settings-grid{grid-template-columns:1fr}}.invoices-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:20px}.invoices-header h2{color:#111827;font-size:22px;font-weight:700;margin:0}.invoices-header p{color:#6b7280;font-size:13px;margin:4px 0 0}.invoices-toolbar{align-items:center;display:flex;flex-wrap:wrap;gap:16px;margin-bottom:18px}.invoices-toolbar .input-group.search-input{align-items:center;background:#f9fafb;border:1px solid #e5e7eb;border-radius:10px;display:flex;gap:8px;min-width:280px;padding:9px 14px}.invoices-toolbar .input-group.search-input input{background:#0000;border:none;font-size:13px;outline:none;width:100%}.filter-chips{display:flex;flex-wrap:wrap;gap:8px}.filter-chip{background:#fff;border:1px solid #e5e7eb;border-radius:999px;color:#4b5563;cursor:pointer;font-size:12.5px;font-weight:500;padding:7px 14px}.filter-chip.active{background:#1265b0;border-color:#1265b0;color:#fff}.archive-toggle-btn{align-items:center;background:#fff;border:1px solid #e5e7eb;border-radius:10px;color:#4b5563;cursor:pointer;display:inline-flex;font-size:12.5px;font-weight:600;gap:8px;margin-left:auto;padding:8px 14px}.archive-toggle-btn.active{background:#fef3c7;border-color:#f59e0b;color:#92400e}.invoices-table-wrapper{background:#fff;border:1px solid #f1f5f9;border-radius:16px;box-shadow:0 2px 8px #00000008;overflow:hidden}.invoices-table{border-collapse:collapse;width:100%}.invoices-table thead th{background:#f9fafb;border-bottom:1px solid #f1f5f9;color:#9ca3af;font-size:12px;letter-spacing:.03em;padding:14px 18px;text-align:left;text-transform:uppercase}.invoice-row{border-bottom:1px solid #f6f7f9;transition:background .15s ease}.invoice-row:hover{background:#fafafa}.invoice-row td{color:#374151;font-size:13.5px;padding:14px 18px;vertical-align:middle}.invoice-number-cell{align-items:center;display:flex;gap:8px}.invoice-icon{color:#1265b0}.table-sub{color:#9ca3af;display:block;font-size:12px;margin-top:2px}.table-total{color:#111827;font-weight:600}.status-pill{font-weight:600;padding:5px 12px}.invoice-actions{display:flex;gap:8px}.icon-btn{align-items:center;background:#fff;border:1px solid #e5e7eb;border-radius:8px;color:#4b5563;cursor:pointer;display:flex;height:32px;justify-content:center;transition:all .15s ease;width:32px}.icon-btn:hover{background:#f3f4f6}.icon-btn.archive-btn:hover{background:#fef2f2;border-color:#fecaca;color:#dc2626}.icon-btn.restore-btn:hover{background:#ecfdf5;border-color:#a7f3d0;color:#15803d}.invoices-empty-row{color:#9ca3af;font-size:13.5px;padding:32px;text-align:center}@media (max-width:768px){.invoices-toolbar{align-items:stretch;flex-direction:column}.archive-toggle-btn{margin-left:0}}.modal-overlay{align-items:center;animation:fadeIn .2s ease;background:#0f172a73;display:flex;inset:0;justify-content:center;position:fixed;z-index:1000}.confirm-modal{animation:popIn .2s ease;background:#fff;border-radius:16px;box-shadow:0 20px 50px #0003;max-width:90%;padding:28px;text-align:center;width:380px}.confirm-modal-icon{align-items:center;background:#f3e8ff;border-radius:50%;color:#7c3aed;display:flex;font-size:20px;height:52px;justify-content:center;margin:0 auto 16px;width:52px}.confirm-modal h3{color:#111827;font-size:16px;margin:0 0 10px}.confirm-modal p{color:#6b7280;font-size:13.5px;line-height:1.6;margin:0 0 22px}.confirm-modal-actions{display:flex;gap:12px}@keyframes popIn{0%{opacity:0;transform:scale(.92)}to{opacity:1;transform:scale(1)}}.date-filter-group{align-items:center;background:#f9fafb;border:1px solid #e5e7eb;border-radius:10px;display:flex;gap:8px;padding:8px 12px}.date-filter-input{background:#0000;border:none;color:#374151;font-size:12.5px;outline:none}.date-filter-sep{color:#9ca3af;font-size:12px}.export-excel-btn{align-items:center;background:#fff;border:1px solid #16a34a;border-radius:10px;color:#16a34a;cursor:pointer;display:inline-flex;font-size:12.5px;font-weight:600;gap:8px;padding:8px 14px;transition:all .15s ease}.export-excel-btn:hover{background:#16a34a;color:#fff}.export-excel-btn:disabled{cursor:not-allowed;opacity:.6}.invoice-view-page{margin:0 auto;max-width:900px;padding:24px}.invoice-view-loading{color:#9ca3af;font-size:14px;padding:60px;text-align:center}.invoice-view-topbar{align-items:center;display:flex;justify-content:space-between;margin-bottom:20px}.topbar-actions{display:flex;gap:12px}.invoice-sheet{background:#fff;border:1px solid #f1f5f9;border-radius:18px;box-shadow:0 4px 20px #0000000d;padding:40px}.invoice-sheet-header{align-items:flex-start;display:flex;justify-content:space-between}.brand-block{gap:14px}.brand-block,.brand-logo{align-items:center;display:flex}.brand-logo{background:linear-gradient(135deg,#1265b0,#1a7fd4 50%,#3ab4f2);border-radius:14px;color:#fff;font-size:18px;font-weight:800;height:52px;justify-content:center;width:52px}.brand-block h2{color:#111827;font-size:18px;margin:0}.brand-tagline{color:#9ca3af;font-size:12px;margin:2px 0 0}.invoice-meta-block{text-align:right}.invoice-meta-block h1{color:#1265b0;font-size:26px;letter-spacing:2px;margin:0}.invoice-number{color:#374151;font-size:14px;font-weight:600;margin:4px 0 8px}.status-pill{align-items:center;border-radius:999px;display:inline-flex;font-size:12px;font-weight:700;gap:6px;padding:5px 14px}.status-paid{background:#dcfce7;color:#15803d}.status-partial{background:#fef9c3;color:#a16207}.status-due{background:#fee2e2;color:#b91c1c}.invoice-sheet-divider{background:#f1f5f9;height:1px;margin:28px 0}.invoice-info-row{display:flex;justify-content:space-between;margin-bottom:30px}.block-label{color:#9ca3af;display:block;font-size:11px;letter-spacing:.05em;margin-bottom:6px;text-transform:uppercase}.bill-to-block h3{color:#111827;font-size:16px;margin:0 0 6px}.bill-to-line{align-items:center;color:#6b7280;display:flex;font-size:13px;gap:6px;margin:0}.invoice-dates-block{text-align:right}.date-row{margin-bottom:10px}.date-row strong{color:#111827;font-size:13.5px}.invoice-items-section{margin-bottom:26px}.invoice-items-table{border-collapse:collapse;width:100%}.invoice-items-table thead th{border-bottom:2px solid #f1f5f9;color:#9ca3af;font-size:11px;letter-spacing:.04em;padding:10px 8px;text-align:left;text-transform:uppercase}.invoice-items-table tbody td{border-bottom:1px solid #f6f7f9;color:#374151;font-size:13.5px;padding:12px 8px}.cell-total{color:#111827;font-weight:600}.invoice-summary-section{display:flex;justify-content:flex-end;margin-bottom:26px}.invoice-summary-box{width:300px}.summary-line{color:#4b5563;display:flex;font-size:13.5px;justify-content:space-between;padding:6px 0}.summary-line.discount span:last-child{color:#dc2626}.summary-line.due span:last-child{color:#dc2626;font-weight:700}.summary-line.grand-total{color:#111827;font-size:16px;font-weight:800}.summary-divider{background:#f1f5f9;height:1px;margin:8px 0}.invoice-payments-section{margin-bottom:30px}.payment-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:6px}.payment-chip{background:#f3e8ff;border-radius:999px;color:#6d28d9;font-size:12.5px;font-weight:600;padding:6px 14px}.invoice-sheet-footer{border-top:1px dashed #e5e7eb;padding-top:20px;text-align:center}.invoice-sheet-footer p{color:#6b7280;font-size:13px;margin:0 0 4px}.footer-small{color:#9ca3af;font-size:11px}@media print{.no-print{display:none!important}.invoice-view-page{max-width:100%;padding:0}.invoice-sheet{border:none;border-radius:0;box-shadow:none}}@media (max-width:768px){.invoice-sheet{padding:20px}.invoice-info-row,.invoice-sheet-header{flex-direction:column;gap:16px}.invoice-dates-block,.invoice-meta-block{text-align:left}.invoice-summary-section{justify-content:stretch}.invoice-summary-box{width:100%}}
/*# sourceMappingURL=main.8bb75851.css.map*/