:root{--bg:#f5f6f8;--panel:#fff;--text:#182026;--muted:#6d7781;--line:#e7e9ee;--accent:#111827;--soft:#f0f2f5;--danger:#b42318;--ok:#067647;--radius:16px;--shadow:0 8px 30px rgba(20,25,35,.08)}*{box-sizing:border-box}body{margin:0;font-family:Inter,Arial,"Noto Sans Hebrew","Noto Sans Arabic",sans-serif;background:var(--bg);color:var(--text)}button,input,select,textarea{font:inherit}.hidden{display:none!important}.app{display:grid;grid-template-columns:240px 1fr;min-height:100vh}.sidebar{background:#111318;color:#fff;padding:18px 12px;display:flex;flex-direction:column;position:sticky;top:0;height:100vh}.brand{font-size:22px;font-weight:800;padding:8px 12px 22px}.brand-big{font-size:30px;font-weight:900;margin-bottom:8px}.sidebar nav{display:grid;gap:5px}.sidebar nav button,.sidebar .ghost{border:0;background:transparent;color:#cfd3da;text-align:start;padding:11px 12px;border-radius:11px;cursor:pointer}.sidebar nav button:hover,.sidebar nav button.active{background:#272b33;color:#fff}.sidebar-bottom{margin-top:auto;border-top:1px solid #2b3038;padding-top:14px;font-size:13px;color:#aeb5bf}.topbar{height:74px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 26px;position:sticky;top:0;z-index:5}.topbar h1{font-size:20px;margin:0}.topbar small{color:var(--muted)}.top-actions{display:flex;gap:8px;align-items:center}.content{padding:24px;max-width:1600px;margin:auto}.primary{background:var(--accent);color:#fff;border:0;border-radius:10px;padding:10px 14px;cursor:pointer}.danger{background:#fee4e2;color:var(--danger);border:0;border-radius:10px;padding:8px 11px}.ghost{border:1px solid var(--line)!important;background:#fff!important;color:var(--text)!important;border-radius:10px;padding:9px 12px;cursor:pointer}.wide{width:100%;margin-top:12px}.cards{display:grid;grid-template-columns:repeat(5,minmax(150px,1fr));gap:14px}.card,.panel{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 1px 2px rgba(0,0,0,.02)}.card{padding:18px}.card .metric{font-size:28px;font-weight:800;margin-top:8px}.muted{color:var(--muted)}.panel{margin-top:18px;padding:18px}.panel-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.panel h2{font-size:17px;margin:0}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:18px}.toolbar{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.toolbar input,.toolbar select,.topbar select,input,select,textarea{border:1px solid #d8dce2;border-radius:9px;padding:9px 10px;background:#fff;color:var(--text)}.table-wrap{overflow:auto}.table{width:100%;border-collapse:collapse}.table th,.table td{padding:11px 10px;border-bottom:1px solid var(--line);text-align:start;white-space:nowrap}.table th{font-size:12px;text-transform:uppercase;color:var(--muted);font-weight:700}.badge{display:inline-flex;padding:5px 8px;border-radius:999px;background:var(--soft);font-size:12px}.badge.ok{background:#dcfae6;color:var(--ok)}.badge.bad{background:#fee4e2;color:var(--danger)}.calendar{display:grid;grid-template-columns:90px repeat(7,minmax(130px,1fr));min-width:1050px;border:1px solid var(--line);background:#fff;border-radius:12px;overflow:hidden}.cal-cell,.cal-head{border-inline-end:1px solid var(--line);border-bottom:1px solid var(--line);padding:7px;min-height:52px}.cal-head{background:#fafafa;font-weight:700;text-align:center;min-height:auto}.appt{font-size:12px;background:#eef2ff;border-radius:8px;padding:6px;margin:2px 0;cursor:pointer}.auth-wrap{min-height:100vh;display:grid;place-items:center;padding:20px;background:radial-gradient(circle at 20% 10%,#e8eaf1 0,transparent 35%),#f8f8fa}.auth-card{width:min(420px,95vw);background:#fff;border:1px solid var(--line);box-shadow:var(--shadow);border-radius:24px;padding:28px}.auth-card form{display:grid;gap:8px;margin-top:20px}.langs{display:flex;justify-content:center;gap:8px;margin-top:18px}.langs button{border:0;background:transparent;color:var(--muted);cursor:pointer}.modal{position:fixed;inset:0;background:rgba(16,24,40,.45);display:grid;place-items:center;padding:16px;z-index:20}.modal-card{width:min(720px,96vw);max-height:92vh;overflow:auto;background:#fff;border-radius:18px;padding:22px;position:relative;box-shadow:var(--shadow)}.modal-x{position:absolute;inset-inline-end:12px;top:10px;border:0;background:transparent;font-size:28px;cursor:pointer}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.form-grid label{display:grid;gap:5px;font-size:13px}.span2{grid-column:span 2}.empty{padding:30px;text-align:center;color:var(--muted)}.chat{display:grid;grid-template-columns:300px 1fr;min-height:520px;border:1px solid var(--line);border-radius:14px;overflow:hidden}.chat-list{border-inline-end:1px solid var(--line);background:#fafafa;padding:8px;overflow:auto}.chat-item{padding:10px;border-bottom:1px solid var(--line);cursor:pointer}.chat-main{display:flex;flex-direction:column}.chat-messages{flex:1;padding:16px;overflow:auto;background:#f7f7f8}.bubble{max-width:70%;padding:9px 11px;border-radius:12px;background:#fff;margin:6px 0;border:1px solid var(--line)}.bubble.out{margin-inline-start:auto;background:#e9f7ef}.chat-compose{padding:10px;display:flex;gap:8px;border-top:1px solid var(--line)}.chat-compose input{flex:1}.mobile-only{display:none}.rtl{direction:rtl}.ltr{direction:ltr}@media(max-width:1000px){.cards{grid-template-columns:repeat(2,1fr)}.grid2{grid-template-columns:1fr}.app{grid-template-columns:1fr}.sidebar{position:fixed;z-index:30;width:240px;transform:translateX(110%);transition:.2s}.ltr .sidebar{transform:translateX(-110%)}.sidebar.open{transform:translateX(0)!important}.mobile-only{display:block}.topbar{padding:0 12px}.content{padding:14px}.top-actions .primary{display:none}.form-grid{grid-template-columns:1fr}.span2{grid-column:auto}.chat{grid-template-columns:1fr}.chat-list{max-height:160px}.cards{grid-template-columns:1fr 1fr}}@media(max-width:520px){.cards{grid-template-columns:1fr}.topbar select#salonSelect{max-width:100px}}
.gallery-admin{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px}.gallery-admin-item{position:relative}.gallery-admin-item img{width:100%;height:140px;object-fit:cover;border-radius:12px;display:block}.gallery-admin-item button{position:absolute;bottom:7px;inset-inline-end:7px}.profile-cover-preview{width:100%;height:190px;object-fit:cover;border-radius:14px;margin:12px 0}

/* v1.8.7 public social shortcuts */
.profile-socials{display:flex;justify-content:center;align-items:center;gap:14px;flex-wrap:wrap;margin:14px 0 18px}.profile-social{width:52px;height:52px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:#eef1f5;color:#172235;text-decoration:none;font-size:27px;font-weight:800;transition:transform .15s ease,box-shadow .15s ease}.profile-social:hover{transform:translateY(-2px);box-shadow:0 5px 14px rgba(0,0,0,.12)}.profile-social span{line-height:1}.public-meta{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;margin-top:10px}.public-meta span{font-size:15px}@media(max-width:600px){.profile-socials{gap:10px}.profile-social{width:46px;height:46px;font-size:24px}}

/* v1.8.8 polished social shortcut icons */
.profile-social{width:56px;height:56px;background:#f1f4f8;color:#16243a;border:1px solid rgba(22,36,58,.04);box-shadow:0 2px 7px rgba(18,31,49,.04)}.profile-social span{width:27px;height:27px;display:flex;align-items:center;justify-content:center}.profile-social svg{width:100%;height:100%;display:block;fill:currentColor}.profile-social.phone svg,.profile-social.instagram svg,.profile-social.waze svg{fill:none}.profile-social:hover{transform:translateY(-3px) scale(1.04);box-shadow:0 8px 20px rgba(18,31,49,.12)}@media(max-width:600px){.profile-social{width:50px;height:50px}.profile-social span{width:24px;height:24px}}
/* v1.9 reviews */
.public-reviews{margin:28px 0 6px;padding:22px 0;border-top:1px solid var(--line)}.reviews-head{display:flex;align-items:end;justify-content:space-between;gap:16px;margin-bottom:14px}.reviews-head h2{margin:0 0 6px;font-size:25px}.review-score{font-size:18px}.review-score span,.review-stars{letter-spacing:1px}.review-score small{color:var(--muted)}.review-filter{display:flex;gap:8px;align-items:center;color:var(--muted);font-size:14px}.review-card{display:grid;grid-template-columns:48px 1fr;gap:12px;padding:15px 0;border-bottom:1px solid var(--line)}.review-card small{display:block;color:var(--muted);margin-top:3px}.review-card p{margin:7px 0;white-space:pre-wrap}.review-avatar{width:46px;height:46px;border-radius:50%;display:grid;place-items:center;background:#34536d;color:white;font-weight:800;font-size:20px}.review-stars{margin-top:6px}.owner-reply{background:#f5f6f8;border-radius:10px;padding:9px 11px;margin-top:8px;font-size:13px}.review-empty{padding:18px 0}@media(max-width:600px){.reviews-head{align-items:start;flex-direction:column}.public-reviews{margin-top:20px}.review-card{grid-template-columns:42px 1fr}.review-avatar{width:40px;height:40px}}

/* v2.1 onboarding wizard */
.wizard-shell{max-width:980px;margin:auto}.wizard-top{display:flex;justify-content:space-between;gap:20px;align-items:end;margin-bottom:16px}.wizard-kicker{font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.wizard-top h2{font-size:28px;margin:5px 0}.wizard-progress{min-width:220px;text-align:end;font-weight:700}.wizard-progress>div{height:7px;background:var(--soft);border-radius:99px;overflow:hidden;margin-top:7px}.wizard-progress i{display:block;height:100%;background:var(--accent);border-radius:99px;transition:.2s}.wizard-card{background:#fff;border:1px solid var(--line);border-radius:22px;padding:24px;box-shadow:var(--shadow)}.wiz-step h3{margin:0 0 18px;font-size:20px}.wizard-row{display:grid;grid-template-columns:2fr 1.4fr 42px;gap:8px;margin-bottom:8px}.wizard-row.service{grid-template-columns:2fr 1fr 1fr 42px}.wizard-hours{display:grid;gap:8px;margin-top:14px}.wizard-hour{display:grid;grid-template-columns:minmax(150px,1fr) 120px 20px 120px;gap:8px;align-items:center;padding:9px 12px;border:1px solid var(--line);border-radius:12px}.wizard-brand-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.wizard-brand-grid>div:first-child{display:grid;gap:12px}.wizard-brand-grid label{display:grid;gap:6px}.wizard-preview{min-height:250px;border:1px solid var(--line);border-radius:20px;overflow:hidden;text-align:center;position:relative;padding-bottom:18px}.preview-cover{height:110px;background:linear-gradient(135deg,var(--preview-accent),#e9edf3)}.preview-logo{width:68px;height:68px;border-radius:50%;display:grid;place-items:center;background:#fff;border:4px solid #fff;box-shadow:0 3px 12px #0002;margin:-34px auto 8px;font-size:28px}.wizard-preview b{display:block;font-size:19px;margin:8px}.wizard-preview button{border:0;border-radius:10px;padding:10px 18px;background:var(--preview-accent);color:#fff}.wizard-nav{display:flex;justify-content:space-between;margin-top:24px;padding-top:18px;border-top:1px solid var(--line)}.wizard-ready{text-align:center;padding:34px 10px}.ready-icon{width:70px;height:70px;border-radius:50%;display:grid;place-items:center;margin:0 auto 16px;background:#dcfae6;color:#067647;font-size:36px;font-weight:900}.ready-link{padding:13px;background:var(--soft);border-radius:12px;overflow-wrap:anywhere;margin:18px auto;max-width:620px}.ready-actions{display:flex;justify-content:center;gap:10px}@media(max-width:700px){.wizard-top{align-items:start;flex-direction:column}.wizard-progress{width:100%;min-width:0}.wizard-card{padding:16px}.wizard-row,.wizard-row.service{grid-template-columns:1fr 1fr}.wizard-row .danger{grid-column:span 2}.wizard-hour{grid-template-columns:1fr 1fr 16px 1fr}.wizard-brand-grid{grid-template-columns:1fr}.wizard-preview{min-height:220px}}
/* v2.2 wizard polish */
.wizard-row-head{display:grid;gap:8px;margin:12px 0 6px;padding:0 8px;font-size:12px;font-weight:800;color:var(--muted)}
.wizard-row-head.staff-head{grid-template-columns:2fr 1.4fr 42px}.wizard-row-head.service-head{grid-template-columns:2fr 1fr 1fr 42px}
.hours-quick{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:14px 0;padding:12px;background:var(--soft);border-radius:12px}.hours-quick input{width:120px}
.file-picker{display:flex;align-items:center;justify-content:center;border:1px dashed var(--line);border-radius:12px;padding:14px;cursor:pointer;font-weight:700;background:var(--soft)}.file-picker input{display:none}
.color-picks{display:flex;gap:9px;align-items:center;flex-wrap:wrap}.color-picks button{width:30px;height:30px;border-radius:50%;border:2px solid #fff;box-shadow:0 0 0 1px var(--line);cursor:pointer}.color-picks button:nth-child(1){background:#111827}.color-picks button:nth-child(2){background:#2563eb}.color-picks button:nth-child(3){background:#7c3aed}.color-picks button:nth-child(4){background:#059669}.color-picks button:nth-child(5){background:#dc2626}.color-picks input[type=color]{width:42px;height:34px;padding:2px}
.ready-qr{display:flex;justify-content:center;margin:16px auto}.ready-qr img{border:8px solid #fff;border-radius:12px;box-shadow:0 2px 12px #0001}.ready-actions{flex-wrap:wrap}
@media(max-width:700px){.wizard-row-head{display:none}.hours-quick input{width:105px}.ready-actions>*{flex:1 1 100%}}
.brand-upload-box{display:grid;gap:9px;padding:12px;border:1px solid var(--line);border-radius:16px;background:#fff}.brand-thumb{display:block;width:100%;border:1px solid var(--line);background:#f8fafc}.brand-thumb.logo-thumb{width:92px;height:92px;object-fit:contain;border-radius:18px;margin:auto}.brand-thumb.cover-thumb{height:120px;object-fit:cover;border-radius:12px}.brand-status{text-align:center;font-size:13px;color:var(--muted);font-weight:700}.brand-status.ok{color:#067647;background:#ecfdf3;border-radius:999px;padding:6px 10px}.brand-remove{width:100%}.hidden{display:none!important}

/* v2.5 PWA / mobile business app */
.pwa-bottom-nav{display:none}.pwa-install{white-space:nowrap}
@media(max-width:700px){
 body{padding-bottom:calc(72px + env(safe-area-inset-bottom))}
 .pwa-bottom-nav{position:fixed;z-index:40;inset-inline:0;bottom:0;height:calc(64px + env(safe-area-inset-bottom));padding:6px 8px env(safe-area-inset-bottom);display:grid;grid-template-columns:repeat(5,1fr);background:rgba(255,255,255,.96);backdrop-filter:blur(14px);border-top:1px solid var(--line);box-shadow:0 -8px 24px #11182710}
 .pwa-bottom-nav button{border:0;background:transparent;color:#667085;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;font-size:20px;min-width:0}
 .pwa-bottom-nav button span{font-size:10px;font-weight:700;white-space:nowrap}
 .pwa-bottom-nav .pwa-new{width:50px;height:50px;justify-self:center;align-self:center;border-radius:16px;background:var(--accent);color:#fff;box-shadow:0 7px 18px #11182730}
 .pwa-bottom-nav .pwa-new span{color:#fff}
 .topbar{height:64px}.topbar h1{font-size:18px}.top-actions{gap:5px}.top-actions select#langSelect{max-width:92px}.pwa-install{display:none!important}
 .content{padding:12px}.card{padding:15px}.card .metric{font-size:24px}.panel{padding:14px;border-radius:14px}
}
@media(display-mode:standalone){.sidebar{padding-top:calc(18px + env(safe-area-inset-top))}.topbar{padding-top:env(safe-area-inset-top);height:calc(64px + env(safe-area-inset-top))}}

/* v2.6 mobile-first appointments + contact actions */
.contact-phone{border:0;background:transparent;padding:3px 0;color:#175cd3;text-decoration:underline;text-underline-offset:3px;cursor:pointer;font:inherit}.contact-actions{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:22px}.contact-action{display:flex;align-items:center;justify-content:center;text-decoration:none;padding:14px 16px;border-radius:12px;font-weight:800}.wa-action{background:#25d366;color:#fff}.mobile-appt-list,.mobile-customer-list{display:grid;gap:10px}.mobile-appt-card,.mobile-customer-card{border:1px solid var(--line);border-radius:14px;padding:14px;background:#fff;min-width:0}.mobile-appt-card h3,.mobile-customer-card h3{margin:7px 0;font-size:18px}.mobile-appt-top{display:flex;align-items:center;justify-content:space-between;gap:10px}.mobile-appt-meta{display:grid;gap:5px;margin:10px 0;color:var(--muted);font-size:14px}.mobile-appt-actions{display:flex;gap:7px;flex-wrap:wrap;padding-top:10px;border-top:1px solid var(--line)}.mobile-appt-actions select{max-width:100%;flex:1 1 145px}.mobile-appt-actions button{flex:0 1 auto}.mobile-customer-stats{display:flex;gap:14px;flex-wrap:wrap;margin-top:12px;padding-top:10px;border-top:1px solid var(--line);font-size:13px}.mobile-email{overflow-wrap:anywhere;margin-top:6px}@media(max-width:700px){.calendar-panel{overflow:hidden}.calendar-panel .panel-head{align-items:stretch}.calendar-panel .toolbar{flex:1}.calendar-panel #calDate{min-width:0;flex:1}.calendar-panel #calNew{white-space:nowrap}.table-wrap{max-width:100%}.contact-actions{grid-template-columns:1fr}.mobile-appt-card .contact-phone,.mobile-customer-card .contact-phone{font-size:16px;font-weight:700}}

/* v2.7 global mobile no-horizontal-scroll */
html,body{max-width:100%;overflow-x:hidden}img,video,canvas,svg{max-width:100%;height:auto}.app,.main,.content,.panel,.card,.modal-card,.toolbar,.panel-head,.topbar,.top-actions,.grid2,.cards,.form-grid,.chat,.chat-main,.chat-list{min-width:0;max-width:100%}input,select,textarea,button{max-width:100%}a{overflow-wrap:anywhere;word-break:break-word}
@media(max-width:700px){
 html,body,.app{width:100%;max-width:100%;overflow-x:hidden}
 .content{width:100%;max-width:100%;margin:0;padding-inline:10px}
 .panel,.card,.modal-card{width:100%;max-width:100%;min-width:0}
 .panel-head,.toolbar,.topbar,.top-actions{min-width:0;max-width:100%;flex-wrap:wrap}
 .panel-head>* ,.toolbar>*{min-width:0}
 .toolbar input,.toolbar select,.toolbar button{max-width:100%}
 .grid2,.cards,.form-grid{grid-template-columns:minmax(0,1fr)!important}
 .span2{grid-column:auto}
 .table-wrap{width:100%;max-width:100%;overflow-x:hidden!important}
 .table{width:100%;max-width:100%;table-layout:fixed}
 .table th,.table td{white-space:normal!important;overflow-wrap:anywhere;word-break:break-word}
 .calendar{width:100%;max-width:100%;min-width:0!important;grid-template-columns:minmax(52px,.65fr) repeat(7,minmax(0,1fr));font-size:10px}
 .cal-cell,.cal-head{min-width:0;padding:4px;overflow:hidden;overflow-wrap:anywhere}
 .appt{min-width:0;overflow:hidden;text-overflow:ellipsis;padding:4px;font-size:10px}
 .chat{width:100%;max-width:100%;grid-template-columns:minmax(0,1fr)}
 .chat-list,.chat-main,.chat-messages,.chat-compose{min-width:0;max-width:100%}
 .chat-compose{flex-wrap:wrap}.chat-compose input{min-width:0;flex:1 1 160px}
 .bubble{max-width:88%;overflow-wrap:anywhere}
 .wizard-shell,.wizard-card,.wizard-body,.wizard-preview,.wizard-row,.hours-quick,.ready-actions{min-width:0;max-width:100%}
 .wizard-row,.hours-quick,.ready-actions{flex-wrap:wrap}
 .wizard-row input,.wizard-row select,.hours-quick input,.hours-quick select{min-width:0;max-width:100%}
 .brand-upload-box,.brand-thumb{max-width:100%}
 .mobile-appt-card,.mobile-customer-card{width:100%;max-width:100%;overflow:hidden}
 .mobile-appt-top,.mobile-appt-actions,.mobile-customer-stats{min-width:0;max-width:100%;flex-wrap:wrap}
 .mobile-email,.contact-phone{max-width:100%;overflow-wrap:anywhere;word-break:break-word}
 .topbar{width:100%;max-width:100%;gap:6px}.topbar>div{min-width:0}.top-actions{justify-content:flex-end}.top-actions select{min-width:0}
 .pwa-bottom-nav{max-width:100vw;overflow:hidden}
}

.locale-checks{display:flex;gap:14px;flex-wrap:wrap;margin-top:8px}.locale-checks label{display:flex;align-items:center;gap:6px;font-weight:500}.locale-checks input{width:auto}

/* v2.20 mobile management cards: never squeeze data tables into phone columns */
.mobile-manage-list{display:grid;gap:12px}.mobile-manage-card{border:1px solid var(--line);border-radius:16px;padding:14px;background:#fff;min-width:0;overflow:hidden}.mobile-manage-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.mobile-manage-head h3{margin:0 0 5px;font-size:18px;line-height:1.35;overflow-wrap:normal;word-break:normal}.mobile-manage-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:13px;padding-top:12px;border-top:1px solid var(--line);font-size:14px}.mobile-manage-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:13px;padding-top:12px;border-top:1px solid var(--line)}.mobile-manage-actions .ghost{min-height:42px}.mobile-manage-actions .staffDefault,.mobile-manage-actions .svcDefault{flex:1 1 170px}.mobile-manage-actions button:not(.staffDefault):not(.svcDefault){flex:0 0 46px}
@media(max-width:700px){
 .table-wrap{overflow-x:auto!important;-webkit-overflow-scrolling:touch;overscroll-behavior-inline:contain}
 .table{width:max-content;min-width:100%;max-width:none;table-layout:auto}
 .table th,.table td{white-space:nowrap!important;word-break:normal!important;overflow-wrap:normal!important;min-width:max-content}
 .mobile-manage-list{width:100%}.mobile-manage-card{width:100%}
 .mobile-manage-meta{grid-template-columns:1fr}.mobile-manage-head .badge{flex:0 0 auto}
}

/* v2.24 professional calendar: desktop staff lanes + mobile day agenda */
.calendar-head{position:sticky;top:74px;background:#fff;z-index:4;padding-bottom:10px}.cal-staff-chips{display:flex;gap:8px;overflow-x:auto;padding:4px 1px 14px;scrollbar-width:none}.cal-staff-chips::-webkit-scrollbar{display:none}.cal-staff-chips button{border:1px solid var(--line);background:#fff;border-radius:999px;padding:8px 13px;white-space:nowrap;cursor:pointer}.cal-staff-chips button.active{background:var(--accent);border-color:var(--accent);color:#fff}.day-schedule{display:grid;grid-template-columns:72px repeat(var(--staff-count,1),minmax(190px,1fr));overflow:auto;border:1px solid var(--line);border-radius:14px;background:#fff}.schedule-hours{position:sticky;inset-inline-start:0;z-index:3;background:#fff;color:var(--muted);font-size:12px;text-align:center}.schedule-hours-head,.schedule-col-head{height:46px;border-bottom:1px solid var(--line);display:grid;place-items:center;background:#fafafa;font-weight:800;position:sticky;top:0;z-index:2}.schedule-hours>div:not(.schedule-hours-head){padding-top:7px;border-bottom:1px solid var(--line)}.schedule-col{min-width:190px;border-inline-start:1px solid var(--line)}.schedule-track{position:relative;background:repeating-linear-gradient(to bottom,#fff 0,#fff 63px,var(--line) 64px)}.schedule-slot{position:absolute;inset-inline:0;width:100%;border:0;background:transparent;cursor:pointer;z-index:0}.schedule-slot:hover{background:#11182708}.schedule-appt{position:absolute;inset-inline:5px;width:calc(100% - 10px);z-index:1;border:1px solid #cbd5e1;border-inline-start:4px solid var(--accent);border-radius:9px;background:#f8fafc;padding:7px 9px;text-align:start;overflow:hidden;cursor:pointer;color:var(--text)}.schedule-appt b,.schedule-appt small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.schedule-appt small{color:var(--muted);margin-top:3px}.schedule-appt.cancelled{opacity:.45;text-decoration:line-through}.mobile-day-summary{display:flex;justify-content:space-between;align-items:center;margin:2px 0 12px}.mobile-day-summary span{min-width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:var(--soft);font-weight:800}
@media(max-width:700px){.calendar-head{top:64px;display:flex;align-items:stretch}.calendar-head .toolbar{display:grid;grid-template-columns:1fr 1fr;gap:7px}.calendar-head #calDate{grid-column:1/-1;width:100%}.calendar-head #calNew{min-width:92px}.cal-staff-chips{margin-inline:-2px;padding-bottom:12px}.mobile-appt-card{box-shadow:0 2px 8px #1118270a}.mobile-appt-top strong{font-size:20px}.mobile-appt-card .contact-phone{display:inline-block;margin-top:2px}}

/* v2.25 visual polish — production UI refinement */
:root{--shadow-sm:0 1px 2px rgba(16,24,40,.04);--shadow-md:0 8px 24px rgba(16,24,40,.07);--focus:0 0 0 3px rgba(17,24,39,.10)}
html{scroll-behavior:smooth}body{-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{transition:transform .14s ease,box-shadow .14s ease,background-color .14s ease,border-color .14s ease,opacity .14s ease}button:active{transform:scale(.985)}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:none;box-shadow:var(--focus);border-color:#98a2b3}
.primary{font-weight:750;min-height:40px;box-shadow:0 1px 2px rgba(16,24,40,.08)}.primary:hover{filter:brightness(1.06);box-shadow:0 5px 14px rgba(16,24,40,.14)}
.ghost{font-weight:650}.ghost:hover{background:#f8fafc!important;border-color:#cfd4dc!important}.danger{font-weight:700}
.sidebar{box-shadow:8px 0 28px rgba(16,24,40,.06)}.rtl .sidebar{box-shadow:-8px 0 28px rgba(16,24,40,.06)}.sidebar nav button{font-weight:650;transition:background .15s ease,color .15s ease,transform .15s ease}.sidebar nav button:hover{transform:translateX(2px)}.rtl .sidebar nav button:hover{transform:translateX(-2px)}
.topbar{box-shadow:0 1px 8px rgba(16,24,40,.025);backdrop-filter:saturate(150%) blur(10px)}.content{animation:salonFade .18s ease-out}@keyframes salonFade{from{opacity:.4;transform:translateY(3px)}to{opacity:1;transform:none}}
.card,.panel{box-shadow:var(--shadow-sm);transition:box-shadow .18s ease,border-color .18s ease}.card:hover{box-shadow:var(--shadow-md);border-color:#dfe3e8}.panel{border-color:#e4e7ec}.panel-head h2{letter-spacing:-.01em}
.badge{font-weight:750;border:1px solid transparent}.badge.ok{border-color:#abefc6}.badge.bad{border-color:#fecdca}
.modal{backdrop-filter:blur(3px)}.modal-card{animation:modalIn .16s ease-out;border:1px solid rgba(255,255,255,.7)}@keyframes modalIn{from{opacity:0;transform:translateY(8px) scale(.99)}to{opacity:1;transform:none}}
input,select,textarea{min-height:40px;transition:border-color .14s ease,box-shadow .14s ease;background-color .14s ease}input:hover,select:hover,textarea:hover{border-color:#bfc5ce}
.table tbody tr{transition:background .12s ease}.table tbody tr:hover{background:#fafbfc}.table th{letter-spacing:.025em}
/* Calendar depth and clearer hierarchy */
.calendar-panel{box-shadow:0 10px 30px rgba(16,24,40,.055)}.calendar-head{border-bottom:1px solid #f0f1f3;margin-inline:-18px;padding-inline:18px}.cal-staff-chips{scroll-snap-type:x proximity}.cal-staff-chips button{scroll-snap-align:start;font-weight:700;box-shadow:0 1px 2px rgba(16,24,40,.03)}.cal-staff-chips button:hover{border-color:#aeb5bf;background:#f9fafb}.cal-staff-chips button.active{box-shadow:0 5px 14px rgba(16,24,40,.16)}
.day-schedule{box-shadow:inset 0 1px 0 #fff}.schedule-col-head{font-size:13px;letter-spacing:.01em}.schedule-slot{transition:background .1s ease}.schedule-appt{box-shadow:0 2px 6px rgba(16,24,40,.07);transition:transform .12s ease,box-shadow .12s ease,border-color .12s ease}.schedule-appt:hover{transform:translateY(-1px);box-shadow:0 6px 14px rgba(16,24,40,.12);border-color:#98a2b3}.schedule-appt b{font-size:12.5px}.schedule-appt small{font-size:11.5px}
/* Mobile app polish */
.mobile-appt-list,.mobile-customer-list,.mobile-manage-list{gap:12px}.mobile-appt-card,.mobile-customer-card,.mobile-manage-card{box-shadow:0 2px 10px rgba(16,24,40,.045);transition:transform .14s ease,box-shadow .14s ease,border-color .14s ease}.mobile-appt-card:active,.mobile-customer-card:active,.mobile-manage-card:active{transform:scale(.995)}.mobile-appt-top strong{letter-spacing:-.02em}.mobile-appt-card h3,.mobile-customer-card h3{letter-spacing:-.015em}.mobile-appt-meta span{display:flex;align-items:center;gap:5px}.mobile-appt-actions button,.mobile-appt-actions select{min-height:42px}.contact-phone{text-decoration-thickness:1px;font-weight:650}
.pwa-bottom-nav{box-shadow:0 -10px 30px rgba(16,24,40,.08)!important}.pwa-bottom-nav button{border-radius:12px;transition:background .12s ease,color .12s ease,transform .12s ease}.pwa-bottom-nav button:not(.pwa-new):active{background:#f2f4f7}.pwa-bottom-nav .pwa-new{border-radius:17px;box-shadow:0 8px 22px rgba(16,24,40,.24)}
/* Wizard polish */
.wizard-card{box-shadow:0 12px 36px rgba(16,24,40,.07)}.wizard-progress i{box-shadow:0 0 10px rgba(17,24,39,.12)}.wizard-hour,.brand-upload-box,.file-picker{transition:border-color .14s ease,box-shadow .14s ease}.wizard-hour:hover,.brand-upload-box:hover,.file-picker:hover{border-color:#c7ccd4;box-shadow:0 3px 12px rgba(16,24,40,.04)}
@media(max-width:700px){
 body{background:#f7f8fa}.topbar{background:rgba(255,255,255,.94)}.content{padding-top:10px}.panel{margin-top:12px;padding:13px;border-radius:16px}.calendar-panel{box-shadow:none;border-color:#e5e7eb}.calendar-head{margin-inline:-13px;padding-inline:13px;padding-bottom:12px}.calendar-head .ghost,.calendar-head .primary{min-height:42px}.cal-staff-chips button{min-height:38px;padding-inline:14px}.mobile-day-summary{padding:2px 2px 0}.mobile-day-summary strong{font-size:15px}.mobile-appt-card,.mobile-customer-card,.mobile-manage-card{border-radius:17px;padding:15px}.mobile-appt-card{border-inline-start:4px solid var(--accent)}.mobile-appt-top strong{font-size:21px}.mobile-appt-actions{gap:8px}.mobile-appt-actions button{flex:1 1 88px}.pwa-bottom-nav{height:calc(68px + env(safe-area-inset-bottom));padding-top:7px}.pwa-bottom-nav button span{font-size:10.5px}.modal{align-items:end;padding:0}.modal-card{width:100%;max-width:100%;max-height:90dvh;border-radius:22px 22px 0 0;padding:20px 16px calc(18px + env(safe-area-inset-bottom));animation:sheetIn .18s ease-out}@keyframes sheetIn{from{transform:translateY(18px);opacity:.7}to{transform:none;opacity:1}}
}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation:none!important;transition:none!important}}

/* v2.26 calendar fixes */
.calendar-panel{width:100%;overflow:hidden}
.day-schedule-wrap{width:100%;overflow:auto;border-radius:14px}
.day-schedule{position:relative;width:100%;min-width:max(760px,calc(72px + var(--staff-count,1)*190px));grid-template-columns:72px repeat(var(--staff-count,1),minmax(190px,1fr))}
.schedule-now-line{position:absolute;inset-inline:72px 0;height:2px;background:#2563eb;z-index:4;pointer-events:none}
.schedule-now-line:before{content:'';position:absolute;inset-inline-start:-5px;top:-4px;width:10px;height:10px;border-radius:50%;background:#2563eb}
.schedule-now-line span{position:absolute;inset-inline-end:8px;top:-12px;background:#fff;color:#2563eb;border:1px solid #2563eb;border-radius:999px;padding:2px 7px;font-size:11px;font-weight:800}
@media(max-width:760px){.day-schedule-wrap{display:none}.calendar-panel{padding:12px}.calendar-head{align-items:stretch}.calendar-head .toolbar{width:100%}.calendar-head .toolbar input{flex:1;min-width:0}}

/* v2.27 calendar final polish */
@media(min-width:761px){
 .calendar-panel{padding:14px 16px 16px}
 .calendar-head{position:relative;top:auto;z-index:5;margin:0 0 10px!important;padding:0 0 10px!important;min-height:0;border-bottom:1px solid #eef0f3;display:flex;align-items:center;gap:10px}
 .calendar-toolbar{display:flex;align-items:center;gap:8px;flex-wrap:nowrap}
 .calendar-toolbar #calDate{width:190px}
 .calendar-head #calNew{margin-inline-start:auto;white-space:nowrap}
 .cal-staff-chips{padding:0 0 10px;margin:0;min-height:42px;align-items:center}
 .day-schedule-wrap{margin-top:0}
 .schedule-now-line span{font-variant-numeric:tabular-nums;direction:ltr}
}
@media(max-width:760px){
 .calendar-head{position:relative;top:auto}
}

/* v2.28 mobile calendar final polish */
@media(max-width:760px){
 .calendar-panel{padding:12px!important}
 .calendar-head{display:grid!important;grid-template-columns:minmax(0,1fr) auto;gap:8px 10px;align-items:start;margin:0!important;padding:0 0 10px!important}
 .calendar-head .calendar-toolbar{display:grid!important;grid-template-columns:1fr 1fr;gap:7px;width:100%;order:1}
 .calendar-head .calendar-toolbar #calDate{grid-column:1/-1;width:100%;min-height:42px}
 .calendar-head #calNew{order:2;align-self:stretch;min-width:108px!important;width:auto!important;padding:9px 12px!important;font-size:14px;line-height:1.2;white-space:nowrap}
 .cal-staff-chips{padding:4px 0 9px!important;margin:0!important;gap:7px}
 .cal-staff-chips button{min-height:36px!important;padding:7px 12px!important;font-size:14px}
 .mobile-day-summary{margin:0 0 8px!important;min-height:32px}
 .mobile-day-summary b{font-size:14px}.mobile-day-summary span{width:28px;min-width:28px;height:28px;font-size:14px}
 .mobile-appt-list{gap:9px!important}
 .mobile-appt-card{padding:12px!important;border-radius:15px!important;border-inline-start-width:3px!important;box-shadow:0 2px 8px rgba(16,24,40,.04)!important}
 .mobile-appt-top{align-items:center;gap:8px}
 .mobile-appt-top strong{font-size:19px!important;line-height:1.1;direction:ltr;font-variant-numeric:tabular-nums}
 .mobile-appt-top .badge{font-size:11px;padding:4px 8px}
 .mobile-appt-card h3{font-size:17px!important;line-height:1.25;margin:6px 0 3px!important;overflow-wrap:anywhere}
 .mobile-appt-card .contact-phone{font-size:15px!important;margin:0!important;direction:ltr;unicode-bidi:isolate;display:inline-block}
 .mobile-appt-meta{gap:3px!important;margin:7px 0!important;font-size:13px!important}
 .mobile-appt-actions{gap:7px!important;padding-top:8px!important;margin-top:4px}
 .mobile-appt-actions select,.mobile-appt-actions button{min-height:38px!important;height:38px;padding-block:6px!important;font-size:13px}
 .mobile-appt-actions select{flex:1 1 150px}.mobile-appt-actions button{flex:0 0 92px!important}
 .mobile-appt-list .empty{padding:34px 16px;text-align:center;border:1px dashed var(--line);border-radius:14px;background:#fafafa;color:var(--muted)}
}
@media(max-width:420px){
 .calendar-head{grid-template-columns:1fr!important}
 .calendar-head #calNew{order:0;width:100%!important;min-height:42px!important}
 .calendar-head .calendar-toolbar{order:1}
 .mobile-appt-actions{display:grid!important;grid-template-columns:minmax(0,1fr) 92px}
 .mobile-appt-actions select,.mobile-appt-actions button{width:100%;min-width:0}
}

/* v2.29: locale-independent DD/MM/YYYY calendar display */
.simple-date-picker{position:relative;display:inline-flex;align-items:center;justify-content:center;min-width:190px;height:46px;border:1px solid var(--border,#d9dee7);border-radius:12px;background:#fff;overflow:hidden;font:inherit;direction:ltr}
.simple-date-picker>span{font-variant-numeric:tabular-nums;font-size:16px;pointer-events:none}
.simple-date-picker>input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}
@media(max-width:700px){.simple-date-picker{width:100%;min-width:0;height:54px}.simple-date-picker>span{font-size:18px}}

/* v2.30 business essentials */
.row-actions{display:flex;gap:6px;flex-wrap:wrap}.report-filter{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.report-stats{margin:14px 0}.report-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.report-grid .panel{box-shadow:none;border:1px solid #e5e7eb}@media(max-width:760px){.report-grid{grid-template-columns:1fr}.report-filter{width:100%}.report-filter input{min-width:0;flex:1}.row-actions button{min-height:38px}}
