:root{
  --snc-bg-a:#fbf8f4;
  --snc-bg-b:#f2ebe3;
  --snc-bg-c:#e9ded3;
  --snc-panel:rgba(255,255,255,.86);
  --snc-panel-solid:#ffffff;
  --snc-text:#241f1b;
  --snc-muted:#756b64;
  --snc-line:#e4d8cd;
  --snc-accent:#8b6f5e;
  --snc-accent-2:#cdb9a8;
  --snc-accent-soft:#f1e8df;
  --snc-accent-glow:#dfcfc1;
  --snc-accent-ink:#553d32;
  --snc-accent-wash:#fbf6f1;
  --snc-primary:var(--snc-accent);
  --snc-secondary:var(--snc-accent-2);
  --snc-theme-dot:#8b6f5e;
  --snc-accent-dot:#8b6f5e;
  --snc-danger:#b85c5c;
  --snc-ok:#5d8f70;
  --snc-warn:#c39741;
  --snc-shadow:0 24px 70px rgba(75,53,40,.12);
}
body .snc-app{box-sizing:border-box}.snc-app *{box-sizing:border-box}
.snc-app{display:flex;min-height:88vh;background:radial-gradient(circle at 14% 0%,#fff 0,var(--snc-bg-a) 34%,var(--snc-bg-b) 72%,var(--snc-bg-c) 100%);border-radius:34px;overflow:hidden;color:var(--snc-text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;box-shadow:var(--snc-shadow);border:1px solid rgba(255,255,255,.72)}
.snc-sidebar{width:286px;background:rgba(255,255,255,.64);backdrop-filter:blur(22px);border-right:1px solid var(--snc-line);padding:24px 18px;display:flex;flex-direction:column;gap:8px;position:relative}.snc-sidebar:before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(255,255,255,.76),rgba(255,255,255,.30));pointer-events:none}.snc-sidebar>*{position:relative}.snc-brand{display:flex;gap:12px;align-items:center;margin:0 6px 16px}.snc-brand strong{letter-spacing:.08em}.snc-brand span{display:block;color:var(--snc-muted);font-size:13px;margin-top:2px}.snc-logo{width:48px;height:48px;border-radius:18px;background:linear-gradient(135deg,var(--snc-accent),var(--snc-accent-2));color:#fff;display:grid;place-items:center;font-weight:900;letter-spacing:.5px;box-shadow:0 14px 30px rgba(0,0,0,.10)}
.snc-brand-home{border:0;background:transparent;text-align:left;cursor:pointer;padding:0}.snc-brand-home:hover .snc-logo{transform:translateY(-1px);box-shadow:0 18px 34px rgba(0,0,0,.14)}.snc-brand-home:focus-visible{outline:3px solid var(--snc-accent-soft);outline-offset:5px}.snc-brand-home .snc-logo{transition:transform .16s ease,box-shadow .16s ease}

.snc-side-card{margin:0 6px 18px;padding:14px 14px;border-radius:20px;background:linear-gradient(135deg,#fff,var(--snc-accent-soft));border:1px solid var(--snc-line);box-shadow:0 12px 28px rgba(0,0,0,.045)}.snc-side-card b{display:block;color:var(--snc-accent-ink);font-size:13px}.snc-side-card small{display:block;color:var(--snc-muted);margin-top:3px}
.snc-sidebar button,.snc-chip,.snc-btn,.snc-form button,.snc-mini,#sncRunUpdate{border:0;border-radius:16px;padding:12px 14px;background:transparent;color:var(--snc-text);text-align:left;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:8px;font-weight:750;transition:transform .16s ease,background .16s ease,box-shadow .16s ease,filter .16s ease}.snc-sidebar button{justify-content:flex-start;width:100%;color:var(--snc-muted)}.snc-sidebar button .snc-nav-icon{width:22px;height:22px;display:grid;place-items:center;border-radius:9px;background:var(--snc-accent-soft);color:var(--snc-accent-ink);font-size:13px;flex:0 0 22px}.snc-sidebar button em{font-style:normal;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.snc-sidebar button:hover,.snc-sidebar button.active{background:var(--snc-accent-soft);color:var(--snc-accent-ink);box-shadow:0 12px 24px rgba(0,0,0,.055);transform:translateY(-1px)}.snc-version{margin-top:auto;color:var(--snc-muted);font-size:12px;padding:12px 8px}.snc-main{flex:1;padding:30px;overflow:auto}
.snc-topbar{display:flex;justify-content:space-between;gap:16px;align-items:center;margin-bottom:24px}.snc-topbar>div:first-child{min-width:220px;flex:1 1 310px}.snc-eyebrow{text-transform:uppercase;letter-spacing:.14em;font-size:11px;color:var(--snc-accent);font-weight:900;margin-bottom:8px}.snc-topbar h1{margin:0;font-size:25px;line-height:1.06;letter-spacing:-.04em;white-space:nowrap}.snc-topbar p{margin:8px 0 0;color:var(--snc-muted)}.snc-top-actions{display:flex;gap:9px;flex-wrap:wrap;justify-content:flex-end;align-items:center}.snc-chip,.snc-theme-toggle{background:rgba(255,255,255,.86);box-shadow:0 10px 25px rgba(0,0,0,.055);border:1px solid var(--snc-line);min-height:42px;padding:11px 13px;white-space:nowrap}.snc-chip:hover,.snc-theme-toggle:hover{transform:translateY(-1px);background:#fff}.snc-chip.active{background:linear-gradient(135deg,var(--snc-accent),var(--snc-accent-2));color:#fff;border-color:transparent;box-shadow:0 14px 30px color-mix(in srgb,var(--snc-accent) 24%,transparent);transform:translateY(-1px)}.snc-chip.active:hover{filter:saturate(1.06);background:linear-gradient(135deg,var(--snc-accent),var(--snc-accent-2));color:#fff}.snc-chip.active:active{transform:translateY(0)}
.snc-theme-picker{position:relative}.snc-theme-toggle{border-radius:16px;color:var(--snc-text);font-weight:800;cursor:pointer}.snc-theme-menu{display:none;position:absolute;right:0;top:calc(100% + 10px);z-index:20;background:#fff;border:1px solid var(--snc-line);border-radius:18px;padding:8px;box-shadow:0 18px 46px rgba(0,0,0,.12);min-width:178px}.snc-theme-picker.open .snc-theme-menu{display:grid;gap:6px}.snc-theme-menu button{border:0;background:transparent;border-radius:12px;padding:10px 11px;text-align:left;font-weight:800;cursor:pointer;color:var(--snc-text)}.snc-theme-menu button:before{content:"";display:inline-block;width:12px;height:12px;border-radius:99px;background:var(--dot);margin-right:8px;vertical-align:-1px}.snc-theme-menu button:hover{background:var(--snc-accent-wash)}
.snc-tab{display:none;animation:sncFade .18s ease}.snc-tab.active{display:block}@keyframes sncFade{from{opacity:.35;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}
.snc-grid-4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.snc-grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.snc-dashboard-layout{display:grid;grid-template-columns:1.65fr .9fr;gap:18px}.snc-card,.snc-panel{background:var(--snc-panel);backdrop-filter:blur(18px);border:1px solid var(--snc-line);border-radius:28px;padding:22px;box-shadow:0 18px 46px rgba(0,0,0,.06);margin-bottom:18px}.snc-kpi{position:relative;overflow:hidden}.snc-kpi:before{display:none!important;content:none!important}.snc-kpi:after{content:"";position:absolute;right:-30px;top:-34px;width:112px;height:112px;border-radius:999px;background:linear-gradient(135deg,var(--snc-accent-soft),var(--snc-accent-2));opacity:.55;box-shadow:none}.snc-kpi>*{position:relative;z-index:1}.snc-card span{display:block;color:var(--snc-muted);font-size:13px}.snc-card strong{display:block;font-size:29px;margin-top:8px;letter-spacing:-.03em;color:var(--snc-accent-ink)}.snc-card small{display:block;color:var(--snc-muted);margin-top:4px}.snc-kpi-version strong{font-size:16px;line-height:1.25;letter-spacing:-.01em;word-break:break-word}.snc-kpi-version small{font-size:12px}.snc-panel h2{margin:0 0 16px;letter-spacing:-.02em;color:var(--snc-accent-ink)}.snc-panel h3{margin:0;color:var(--snc-accent-ink)}.snc-panel-head{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:16px}.snc-panel-head h2{margin:0}
.snc-search{max-width:280px}.snc-form{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;align-items:start}.snc-form input,.snc-form textarea,.snc-form select,.snc-dev input,.snc-search{width:100%;box-sizing:border-box;border:1px solid var(--snc-line);background:var(--snc-accent-wash);border-radius:15px;padding:12px 13px;color:var(--snc-text);outline:none;transition:.15s}.snc-form input:focus,.snc-form textarea:focus,.snc-form select:focus,.snc-search:focus,.snc-dev input:focus{border-color:var(--snc-accent-2);box-shadow:0 0 0 4px var(--snc-accent-soft)}.snc-form textarea{min-height:46px;resize:vertical}.snc-form label{background:var(--snc-accent-wash);border:1px solid var(--snc-line);border-radius:15px;padding:10px 12px;color:var(--snc-muted)}.snc-form button,.snc-btn,#sncRunUpdate{background:linear-gradient(135deg,var(--snc-accent),var(--snc-accent-2));color:#fff;text-align:center;box-shadow:0 12px 24px rgba(0,0,0,.10)}.snc-form button:hover,.snc-btn:hover,#sncRunUpdate:hover{filter:brightness(.97);transform:translateY(-1px)}.snc-form-status{align-self:center;color:var(--snc-ok);font-weight:750}
.snc-table{overflow:auto;border-radius:20px;border:1px solid var(--snc-line);background:#fff}.snc-table table{width:100%;border-collapse:collapse;background:#fff}.snc-table th,.snc-table td{padding:13px 14px;border-bottom:1px solid var(--snc-line);text-align:left;white-space:nowrap}.snc-table th{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--snc-accent-ink);background:var(--snc-accent-soft);font-weight:900}.snc-table tr:hover td{background:var(--snc-accent-wash)}.snc-mini{background:var(--snc-accent-soft);color:var(--snc-accent-ink);padding:8px 11px;border-radius:12px;font-size:12px;white-space:nowrap}.snc-mini.danger{background:#f6e5e5;color:var(--snc-danger)}.snc-status{padding:6px 10px;border-radius:999px;background:var(--snc-accent-soft);color:var(--snc-accent-ink);font-size:12px;font-weight:750}.snc-status.completed{background:#e4f1e8;color:var(--snc-ok)}.snc-status.cancelled,.snc-status.no_show{background:#f5e4e4;color:var(--snc-danger)}.snc-status.planned{background:var(--snc-accent-soft);color:var(--snc-accent-ink)}.snc-actions,.snc-calendar-tools{display:flex;gap:10px;flex-wrap:wrap}.snc-calendar-tools button{border:1px solid var(--snc-line);background:#fff;border-radius:13px;padding:10px 12px;font-weight:750;color:var(--snc-accent-ink);cursor:pointer}.snc-calendar-tools .active{background:var(--snc-accent-soft);color:var(--snc-accent-ink)}
.snc-calendar-board{display:grid;grid-template-columns:repeat(7,minmax(130px,1fr));gap:10px;margin-bottom:18px;overflow:auto;padding-bottom:4px}.snc-day-col{background:linear-gradient(180deg,#fff,var(--snc-accent-wash));border:1px solid var(--snc-line);border-radius:20px;padding:12px;min-height:160px}.snc-day-head{display:flex;justify-content:space-between;align-items:center;color:var(--snc-accent-ink);margin-bottom:12px}.snc-day-head span{color:var(--snc-muted);font-size:12px}.snc-event-pill{padding:10px;border-radius:15px;background:linear-gradient(135deg,#fff,var(--snc-accent-wash));border:1px solid var(--snc-line);margin-bottom:8px;display:grid;gap:2px}.snc-event-pill.completed{background:#eaf5ee}.snc-event-pill.cancelled,.snc-event-pill.no_show{background:#f7e8e8}.snc-event-pill strong{font-size:12px}.snc-event-pill span{font-size:12px;color:var(--snc-muted)}.snc-empty,.snc-empty-slot{border:1px dashed var(--snc-line);border-radius:16px;padding:16px;color:var(--snc-muted);background:var(--snc-accent-wash);text-align:center}.snc-empty-slot{font-size:12px;padding:12px}.snc-empty.compact{text-align:left}
.snc-client-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.snc-client-card{display:grid;grid-template-columns:52px 1fr auto;gap:13px;align-items:start;background:linear-gradient(135deg,#fff,var(--snc-accent-wash));border:1px solid var(--snc-line);border-radius:22px;padding:16px;box-shadow:0 12px 26px rgba(0,0,0,.045);transition:.15s}.snc-client-card:hover{transform:translateY(-1px);box-shadow:0 18px 36px rgba(0,0,0,.075)}.snc-avatar{width:52px;height:52px;border-radius:18px;background:linear-gradient(135deg,var(--snc-accent-soft),var(--snc-accent-2));display:grid;place-items:center;color:var(--snc-accent-ink);font-weight:900}.snc-client-main h3{margin:0 0 4px;color:var(--snc-accent-ink)}.snc-client-main p{margin:0;color:var(--snc-muted)}.snc-client-main small{display:block;color:var(--snc-muted);margin-top:8px}.snc-tags{display:flex;gap:6px;flex-wrap:wrap;margin-top:9px}.snc-tags span{font-size:11px;background:var(--snc-accent-soft);border:1px solid var(--snc-line);border-radius:999px;padding:5px 8px;color:var(--snc-accent-ink)}.snc-client-actions{display:flex;gap:7px;flex-direction:column;align-items:flex-end}.snc-agenda{display:grid;gap:10px}.snc-agenda-item{display:grid;grid-template-columns:52px 1fr;gap:6px 12px;align-items:center;background:linear-gradient(135deg,#fff,var(--snc-accent-wash));border:1px solid var(--snc-line);border-radius:18px;padding:12px}.snc-agenda-item b{grid-row:span 2;color:var(--snc-accent-ink)}.snc-agenda-item span{font-weight:800}.snc-agenda-item small{color:var(--snc-muted)}
.snc-signature{grid-column:span 2;background:var(--snc-accent-wash);border:1px solid var(--snc-line);border-radius:18px;padding:10px}.snc-signature canvas{width:100%;height:140px;background:#fff;border-radius:14px;border:1px dashed var(--snc-line);touch-action:none}.snc-clear-sign{margin-top:8px}
.snc-dev-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:18px}.snc-dev-head p{margin:6px 0 0;color:var(--snc-muted)}.snc-dev-badge{display:inline-flex;align-items:center;border:1px solid var(--snc-line);background:var(--snc-accent-soft);color:var(--snc-accent-ink);border-radius:999px;padding:8px 11px;font-size:12px;font-weight:900;white-space:nowrap}.snc-dev-box{display:grid;gap:14px;padding:20px;border-radius:24px;background:linear-gradient(135deg,#fff,var(--snc-accent-wash));border:1px solid var(--snc-line)}.snc-dev-help{margin:0;color:var(--snc-muted)}.snc-upload-zone{display:grid;gap:5px;border:1px dashed var(--snc-line);border-radius:20px;background:rgba(255,255,255,.72);padding:18px;cursor:pointer}.snc-upload-zone span{font-weight:900;color:var(--snc-accent-ink)}.snc-upload-zone small{color:var(--snc-muted)}.snc-upload-zone input{display:none}.snc-dev pre{background:#28231f;color:#f7f5f1;border-radius:16px;padding:16px;white-space:pre-wrap;margin:0;min-height:56px}.snc-login{max-width:480px;margin:10vh auto;padding:34px;background:#fff;border-radius:30px;box-shadow:var(--snc-shadow);font-family:Inter,system-ui}.snc-login a{display:inline-block;background:var(--snc-accent);color:#fff;padding:12px 18px;border-radius:14px;text-decoration:none;font-weight:800}
@media(max-width:1180px){.snc-grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}.snc-dashboard-layout{grid-template-columns:1fr}.snc-form{grid-template-columns:repeat(2,minmax(0,1fr))}.snc-client-grid{grid-template-columns:1fr}.snc-topbar{align-items:flex-start}.snc-topbar h1{font-size:23px;white-space:normal}.snc-top-actions{justify-content:flex-start;width:100%}}
@media(max-width:820px){.snc-app{display:block;border-radius:24px}.snc-sidebar{width:auto;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));padding:14px}.snc-brand,.snc-side-card,.snc-version{grid-column:1/-1}.snc-sidebar button{font-size:12px;padding:10px}.snc-sidebar button .snc-nav-icon{display:none}.snc-main{padding:18px}.snc-topbar{display:block}.snc-top-actions{margin-top:14px}.snc-chip,.snc-theme-toggle{min-height:40px;padding:10px 11px}.snc-theme-menu{left:0;right:auto}.snc-grid-4,.snc-grid-2{grid-template-columns:1fr}.snc-form{grid-template-columns:1fr}.snc-signature{grid-column:auto}.snc-calendar-board{grid-template-columns:repeat(7,150px)}.snc-client-card{grid-template-columns:46px 1fr}.snc-client-actions{grid-column:1/-1;flex-direction:row;align-items:center}.snc-dev-head{display:block}.snc-dev-badge{margin-top:10px}}


/* v1.1.18 stable client form labels + modal window system */
.snc-panel .snc-client-form.snc-form,
.snc-modal-client-form.snc-form{
  display:grid!important;
  grid-template-columns:repeat(12,minmax(0,1fr))!important;
  gap:14px!important;
  align-items:start!important;
}
.snc-panel .snc-client-form .snc-field,
.snc-modal-client-form .snc-field{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:8px!important;
  min-width:0!important;
  width:100%!important;
  box-sizing:border-box!important;
  align-content:start!important;
}
.snc-panel .snc-client-form label,
.snc-modal-client-form label{
  display:block!important;
  width:100%!important;
  margin:0!important;
  box-sizing:border-box!important;
  line-height:1.25!important;
}
.snc-panel .snc-client-form input,
.snc-panel .snc-client-form textarea,
.snc-panel .snc-client-form select,
.snc-modal-client-form input,
.snc-modal-client-form textarea,
.snc-modal-client-form select{
  display:block!important;
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  box-sizing:border-box!important;
}
.snc-panel .snc-client-form .snc-client-name-field{grid-column:span 4!important;}
.snc-panel .snc-client-form .snc-phone-field{grid-column:span 4!important;}
.snc-panel .snc-client-form .snc-client-instagram-field{grid-column:span 4!important;}
.snc-panel .snc-client-form .snc-client-small-field{grid-column:span 4!important;}
.snc-panel .snc-client-form .snc-client-text-field{grid-column:span 6!important;}
.snc-panel .snc-client-form .snc-client-save-row{grid-column:1/-1!important;}
.snc-panel .snc-client-form .snc-phone-row,
.snc-modal-client-form .snc-phone-row{
  display:grid!important;
  grid-template-columns:76px minmax(0,1fr)!important;
  gap:9px!important;
  align-items:center!important;
  width:100%!important;
  min-width:0!important;
}
.snc-panel .snc-client-form input[name="phone"],
.snc-panel .snc-client-form input[name="whatsapp"],
.snc-modal-client-form input[name="phone"],
.snc-modal-client-form input[name="whatsapp"]{
  height:44px!important;
  min-width:0!important;
}
.snc-country-code{display:none!important;}
.snc-country-picker{
  position:relative!important;
  width:76px!important;
  min-width:76px!important;
  max-width:76px!important;
  z-index:50!important;
}
.snc-country-current{
  width:76px!important;
  height:44px!important;
  min-height:44px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:4px!important;
  padding:0 5px!important;
  border:1px solid var(--snc-line)!important;
  border-radius:15px!important;
  background:rgba(255,255,255,.84)!important;
  color:var(--snc-text)!important;
  box-shadow:0 9px 20px rgba(0,0,0,.04)!important;
  cursor:pointer!important;
  font-weight:900!important;
  white-space:nowrap!important;
  line-height:1!important;
}
.snc-country-current:hover,
.snc-country-picker.open .snc-country-current{
  border-color:var(--snc-accent-2)!important;
  background:var(--snc-accent-wash)!important;
}
.snc-country-flag{font-size:15px!important;line-height:1!important;display:inline-block!important;}
.snc-country-code-text{font-size:12px!important;letter-spacing:-.045em!important;line-height:1!important;}
.snc-country-popover{
  position:absolute!important;
  top:calc(100% + 8px)!important;
  left:0!important;
  width:315px!important;
  max-width:min(315px,calc(100vw - 38px))!important;
  display:none!important;
  padding:10px!important;
  border:1px solid var(--snc-line)!important;
  border-radius:20px!important;
  background:rgba(255,255,255,.98)!important;
  box-shadow:0 24px 70px rgba(0,0,0,.18)!important;
  backdrop-filter:blur(12px)!important;
  z-index:1000002!important;
}
.snc-country-picker.open .snc-country-popover{display:block!important;}
.snc-country-search{
  width:100%!important;
  height:42px!important;
  border-radius:14px!important;
  margin:0 0 8px!important;
  padding:0 12px!important;
  font-size:13px!important;
}
.snc-country-options{max-height:265px!important;overflow:auto!important;display:grid!important;gap:5px!important;padding-right:3px!important;}
.snc-country-options button{
  display:grid!important;
  grid-template-columns:24px 58px 1fr!important;
  align-items:center!important;
  gap:8px!important;
  width:100%!important;
  border:0!important;
  border-radius:13px!important;
  background:transparent!important;
  color:var(--snc-text)!important;
  padding:9px!important;
  text-align:left!important;
  cursor:pointer!important;
}
.snc-country-options button:hover{background:var(--snc-accent-soft)!important;}
.snc-country-options b{font-size:13px!important;white-space:nowrap!important;}
.snc-country-options em{font-style:normal!important;font-size:12px!important;color:var(--snc-muted)!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important;}
.snc-panel .snc-form-footer.snc-client-save-row,
.snc-modal-client-form .snc-form-footer.snc-client-save-row{
  display:flex!important;
  justify-content:flex-end!important;
  align-items:center!important;
  gap:12px!important;
  margin-top:3px!important;
}
.snc-panel .snc-save-client-btn{min-width:190px!important;}
.snc-client-card[data-client-card]{cursor:pointer!important;}
.snc-client-actions .snc-mini{border:0!important;cursor:pointer!important;text-decoration:none!important;font-weight:850!important;}

.snc-client-modal{
  position:fixed!important;
  inset:0!important;
  z-index:999999!important;
  display:none!important;
  padding:24px!important;
}
.snc-client-modal.open{display:block!important;}
.snc-client-modal-backdrop{position:fixed!important;inset:0!important;background:rgba(30,25,22,.42)!important;backdrop-filter:blur(8px)!important;}
.snc-client-modal-card{
  position:fixed!important;
  left:var(--snc-modal-left,50%)!important;
  top:var(--snc-modal-top,50%)!important;
  transform:var(--snc-modal-transform,translate(-50%,-50%))!important;
  width:min(880px,calc(100vw - 40px))!important;
  max-height:min(780px,calc(100vh - 40px))!important;
  overflow:hidden!important;
  background:linear-gradient(135deg,#fff,var(--snc-accent-wash))!important;
  border:1px solid var(--snc-line)!important;
  border-radius:30px!important;
  box-shadow:0 34px 100px rgba(0,0,0,.26)!important;
  padding:0!important;
}
.snc-client-modal-card.snc-is-dragged{transform:none!important;}
.snc-client-modal-titlebar{
  height:56px!important;
  display:flex!important;
  align-items:center!important;
  gap:10px!important;
  padding:0 60px 0 15px!important;
  border-bottom:1px solid var(--snc-line)!important;
  background:linear-gradient(135deg,rgba(255,255,255,.88),var(--snc-accent-wash))!important;
  cursor:default!important;
  user-select:none!important;
}
.snc-client-modal-titlebar strong{font-size:12px!important;color:var(--snc-accent-ink)!important;letter-spacing:.04em!important;text-transform:uppercase!important;}
.snc-client-modal-dots{display:none!important;}
.snc-client-modal-minimize,
.snc-client-modal-close{
  display:grid!important;
  place-items:center!important;
  border:0!important;
  cursor:pointer!important;
  color:var(--snc-accent-ink)!important;
  background:var(--snc-accent-soft)!important;
  box-shadow:none!important;
}
.snc-client-modal-minimize{
  width:30px!important;
  height:30px!important;
  min-width:30px!important;
  border-radius:11px!important;
  font-size:18px!important;
  line-height:1!important;
  padding:0!important;
  flex:0 0 30px!important;
}
.snc-client-modal-close{position:absolute!important;top:9px!important;right:10px!important;z-index:3!important;width:38px!important;height:38px!important;border-radius:14px!important;font-size:24px!important;line-height:1!important;padding:0!important;}
.snc-client-modal-body{max-height:calc(min(780px,calc(100vh - 40px)) - 56px)!important;overflow:auto!important;padding:28px!important;}
.snc-client-modal-head{display:grid!important;grid-template-columns:72px 1fr!important;gap:18px!important;align-items:center!important;padding-right:0!important;margin:0 0 22px!important;}
.snc-client-modal-avatar{width:72px!important;height:72px!important;border-radius:24px!important;background:linear-gradient(135deg,var(--snc-accent-soft),var(--snc-accent-2))!important;display:grid!important;place-items:center!important;color:var(--snc-accent-ink)!important;font-size:28px!important;font-weight:950!important;}
.snc-client-modal-head h2{margin:0 0 5px!important;color:var(--snc-accent-ink)!important;font-size:28px!important;letter-spacing:-.03em!important;}
.snc-client-modal-head p{margin:0!important;color:var(--snc-muted)!important;font-weight:800!important;}
.snc-client-modal-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:13px!important;}
.snc-client-modal-grid div,.snc-client-modal-notes{border:1px solid var(--snc-line)!important;background:rgba(255,255,255,.70)!important;border-radius:19px!important;padding:15px 16px!important;}
.snc-client-modal-grid span,.snc-client-modal-notes span{display:block!important;color:var(--snc-muted)!important;font-size:12px!important;font-weight:850!important;margin-bottom:6px!important;}
.snc-client-modal-grid strong{display:block!important;color:var(--snc-text)!important;font-size:15px!important;word-break:break-word!important;}
.snc-client-modal-notes{margin-top:13px!important;}
.snc-client-modal-notes p{margin:0!important;color:var(--snc-text)!important;line-height:1.45!important;white-space:pre-wrap!important;}
.snc-modal-actions{display:flex!important;gap:10px!important;justify-content:flex-end!important;margin-top:16px!important;flex-wrap:wrap!important;}
.snc-btn.ghost{background:rgba(255,255,255,.68)!important;color:var(--snc-accent-ink)!important;border:1px solid var(--snc-line)!important;}
.snc-modal-client-form{display:none!important;margin-top:0!important;}
.snc-modal-client-form .snc-client-name-field{grid-column:span 6!important;}
.snc-modal-client-form .snc-phone-field{grid-column:span 6!important;}
.snc-modal-client-form .snc-client-instagram-field{grid-column:span 4!important;}
.snc-modal-client-form .snc-client-small-field{grid-column:span 4!important;}
.snc-modal-client-form .snc-client-text-field{grid-column:span 6!important;}
.snc-modal-client-form .snc-client-save-row{grid-column:1/-1!important;}
.snc-client-modal.is-edit-mode .snc-modal-client-form{display:grid!important;}
.snc-client-modal.is-edit-mode [data-client-view-mode]{display:none!important;}
.snc-client-modal.is-minimized .snc-client-modal-body,
.snc-client-modal.is-minimized .snc-client-modal-close{display:none!important;}
.snc-client-modal.is-minimized .snc-client-modal-card{
  width:260px!important;
  max-height:56px!important;
  border-radius:20px!important;
  overflow:hidden!important;
}
.snc-client-modal.is-minimized .snc-client-modal-titlebar{height:48px!important;border-bottom:0!important;padding-right:14px!important;cursor:pointer!important;}
.snc-client-modal.is-minimized .snc-client-modal-titlebar strong{white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;}
.snc-modal-open{overflow:hidden!important;}
.snc-dragging-modal{user-select:none!important;}

@media(max-width:1180px){
  .snc-panel .snc-client-form.snc-form{grid-template-columns:repeat(8,minmax(0,1fr))!important;}
  .snc-panel .snc-client-form .snc-client-name-field{grid-column:span 8!important;}
  .snc-panel .snc-client-form .snc-phone-field,
  .snc-panel .snc-client-form .snc-client-instagram-field,
  .snc-panel .snc-client-form .snc-client-small-field{grid-column:span 4!important;}
  .snc-panel .snc-client-form .snc-client-text-field{grid-column:span 4!important;}
}
@media(max-width:820px){
  .snc-panel .snc-client-form.snc-form,
  .snc-modal-client-form.snc-form{grid-template-columns:1fr!important;}
  .snc-panel .snc-client-form .snc-client-name-field,
  .snc-panel .snc-client-form .snc-phone-field,
  .snc-panel .snc-client-form .snc-client-instagram-field,
  .snc-panel .snc-client-form .snc-client-small-field,
  .snc-panel .snc-client-form .snc-client-text-field,
  .snc-panel .snc-client-form .snc-client-save-row,
  .snc-modal-client-form .snc-client-name-field,
  .snc-modal-client-form .snc-phone-field,
  .snc-modal-client-form .snc-client-instagram-field,
  .snc-modal-client-form .snc-client-small-field,
  .snc-modal-client-form .snc-client-text-field,
  .snc-modal-client-form .snc-client-save-row{grid-column:1/-1!important;}
  .snc-panel .snc-form-footer.snc-client-save-row,
  .snc-modal-client-form .snc-form-footer.snc-client-save-row{justify-content:stretch!important;align-items:stretch!important;flex-direction:column!important;}
  .snc-panel .snc-save-client-btn,.snc-modal-client-form .snc-save-client-btn{width:100%!important;min-width:0!important;}
  .snc-client-modal{padding:10px!important;}
  .snc-client-modal-card{width:calc(100vw - 20px)!important;max-height:calc(100vh - 20px)!important;border-radius:24px!important;}
  .snc-client-modal-body{padding:18px!important;max-height:calc(100vh - 70px)!important;}
  .snc-client-modal-titlebar{height:50px!important;}
  .snc-client-modal-head{grid-template-columns:58px 1fr!important;gap:12px!important;}
  .snc-client-modal-avatar{width:58px!important;height:58px!important;border-radius:20px!important;font-size:23px!important;}
  .snc-client-modal-head h2{font-size:23px!important;}
  .snc-client-modal-grid{grid-template-columns:1fr!important;}
  .snc-country-popover{width:270px!important;}
}


/* v1.1.18 clean overrides: client form hierarchy + modal coordinates */
.snc-panel .snc-client-form.snc-form .snc-field > label,
.snc-modal-client-form.snc-form .snc-field > label{
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  padding:0 2px!important;
  min-height:0!important;
  height:auto!important;
  line-height:1.2!important;
  font-size:11px!important;
  font-weight:900!important;
  letter-spacing:.075em!important;
  text-transform:uppercase!important;
  color:var(--snc-muted)!important;
}
.snc-panel .snc-client-form.snc-form input,
.snc-panel .snc-client-form.snc-form textarea,
.snc-panel .snc-client-form.snc-form select,
.snc-modal-client-form.snc-form input,
.snc-modal-client-form.snc-form textarea,
.snc-modal-client-form.snc-form select{
  min-height:44px!important;
  height:44px!important;
  padding-top:0!important;
  padding-bottom:0!important;
  display:flex!important;
  align-items:center!important;
}
.snc-panel .snc-client-form.snc-form textarea,
.snc-modal-client-form.snc-form textarea{
  height:auto!important;
  min-height:76px!important;
  padding-top:12px!important;
  padding-bottom:12px!important;
  display:block!important;
}
.snc-panel .snc-client-form.snc-form input[type="date"],
.snc-modal-client-form.snc-form input[type="date"]{
  height:44px!important;
  min-height:44px!important;
  line-height:44px!important;
  padding-top:0!important;
  padding-bottom:0!important;
  appearance:auto!important;
}
.snc-client-modal{
  pointer-events:none!important;
}
.snc-client-modal.open{
  pointer-events:auto!important;
}
.snc-client-modal-card{
  left:var(--snc-modal-left,50%)!important;
  top:var(--snc-modal-top,50%)!important;
  right:auto!important;
  bottom:auto!important;
  transform:var(--snc-modal-transform,translate(-50%,-50%))!important;
  will-change:left,top,transform!important;
}
.snc-client-modal-card.snc-is-dragged{
  transform:var(--snc-modal-transform,none)!important;
}
.snc-client-modal.is-minimized{
  pointer-events:none!important;
}
.snc-client-modal.is-minimized .snc-client-modal-backdrop{
  display:none!important;
}
.snc-client-modal.is-minimized .snc-client-modal-card{
  pointer-events:auto!important;
  left:auto!important;
  top:auto!important;
  right:26px!important;
  bottom:26px!important;
  transform:none!important;
  width:310px!important;
  max-width:calc(100vw - 52px)!important;
  max-height:52px!important;
  border-radius:18px!important;
  box-shadow:0 22px 55px rgba(0,0,0,.22)!important;
}
.snc-client-modal.is-minimized .snc-client-modal-titlebar{
  height:52px!important;
  padding:0 14px!important;
  cursor:pointer!important;
}
.snc-client-modal.is-minimized .snc-client-modal-minimize{
  order:-1!important;
}


/* v1.1.19 FINAL clean client form + stable desktop modal */
.snc-panel .snc-client-form.snc-form{
  display:grid!important;
  grid-template-columns:repeat(12,minmax(0,1fr))!important;
  gap:16px 14px!important;
  align-items:start!important;
}
.snc-panel .snc-client-form .snc-field,
.snc-modal-client-form .snc-field{
  display:flex!important;
  flex-direction:column!important;
  gap:7px!important;
  min-width:0!important;
}
.snc-panel .snc-client-form .snc-field>label,
.snc-modal-client-form .snc-field>label{
  all:unset!important;
  display:block!important;
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important;
  font-size:11px!important;
  line-height:1.15!important;
  font-weight:900!important;
  letter-spacing:.08em!important;
  text-transform:uppercase!important;
  color:var(--snc-muted)!important;
  padding-left:3px!important;
  cursor:default!important;
}
.snc-panel .snc-client-form input,
.snc-panel .snc-client-form select,
.snc-modal-client-form input,
.snc-modal-client-form select{
  height:44px!important;
  min-height:44px!important;
  line-height:44px!important;
  padding:0 13px!important;
  border:1px solid var(--snc-line)!important;
  border-radius:15px!important;
  background:var(--snc-accent-wash)!important;
  box-shadow:none!important;
}
.snc-panel .snc-client-form input[type="date"],
.snc-modal-client-form input[type="date"]{
  height:44px!important;
  min-height:44px!important;
  line-height:44px!important;
  padding:0 13px!important;
  -webkit-appearance:auto!important;
  appearance:auto!important;
}
.snc-panel .snc-client-form textarea,
.snc-modal-client-form textarea{
  min-height:76px!important;
  height:auto!important;
  padding:12px 13px!important;
  border:1px solid var(--snc-line)!important;
  border-radius:15px!important;
  background:var(--snc-accent-wash)!important;
}
.snc-panel .snc-client-form .snc-client-name-field{grid-column:span 4!important;}
.snc-panel .snc-client-form .snc-phone-field{grid-column:span 4!important;}
.snc-panel .snc-client-form .snc-client-instagram-field{grid-column:span 4!important;}
.snc-panel .snc-client-form .snc-client-small-field{grid-column:span 4!important;}
.snc-panel .snc-client-form .snc-client-text-field{grid-column:span 6!important;}
.snc-panel .snc-client-form .snc-client-save-row{grid-column:1/-1!important;}
.snc-panel .snc-client-form .snc-phone-row,
.snc-modal-client-form .snc-phone-row{
  display:grid!important;
  grid-template-columns:76px minmax(0,1fr)!important;
  gap:9px!important;
  align-items:center!important;
  width:100%!important;
}
.snc-country-picker{width:76px!important;min-width:76px!important;max-width:76px!important;position:relative!important;}
.snc-country-current{width:76px!important;height:44px!important;min-height:44px!important;padding:0 5px!important;display:flex!important;align-items:center!important;justify-content:center!important;gap:4px!important;}
.snc-country-popover{z-index:2147483647!important;}
body .snc-client-modal{
  position:fixed!important;
  inset:0!important;
  display:none!important;
  z-index:2147483000!important;
  pointer-events:none!important;
}
body .snc-client-modal.open{display:block!important;pointer-events:auto!important;}
body .snc-client-modal-backdrop{position:fixed!important;inset:0!important;background:rgba(30,25,22,.42)!important;backdrop-filter:blur(8px)!important;}
body .snc-client-modal-card{
  position:fixed!important;
  left:50%!important;
  top:50%!important;
  right:auto!important;
  bottom:auto!important;
  transform:translate(-50%,-50%)!important;
  width:min(880px,calc(100vw - 40px))!important;
  max-height:calc(100vh - 40px)!important;
  overflow:hidden!important;
  background:linear-gradient(135deg,#fff,var(--snc-accent-wash))!important;
  border:1px solid var(--snc-line)!important;
  border-radius:30px!important;
  box-shadow:0 34px 100px rgba(0,0,0,.26)!important;
  padding:0!important;
  margin:0!important;
}
body .snc-client-modal-card.snc-modal-positioned{transform:none!important;}
body .snc-client-modal-titlebar{height:56px!important;display:flex!important;align-items:center!important;gap:10px!important;padding:0 60px 0 15px!important;cursor:grab!important;user-select:none!important;touch-action:none!important;}
body body .snc-client-modal-body{max-height:calc(100vh - 96px)!important;overflow:auto!important;padding:28px!important;}
body .snc-client-modal.is-minimized{pointer-events:none!important;}
body .snc-client-modal.is-minimized .snc-client-modal-backdrop{display:none!important;}
body .snc-client-modal.is-minimized .snc-client-modal-card{
  pointer-events:auto!important;
  left:auto!important;
  top:auto!important;
  right:26px!important;
  bottom:26px!important;
  transform:none!important;
  width:310px!important;
  max-width:calc(100vw - 52px)!important;
  max-height:52px!important;
  border-radius:18px!important;
}
body .snc-client-modal.is-minimized .snc-client-modal-body,
body .snc-client-modal.is-minimized .snc-client-modal-close{display:none!important;}
body .snc-client-modal.is-minimized .snc-client-modal-titlebar{height:52px!important;border-bottom:0!important;padding:0 14px!important;cursor:pointer!important;}
@media(max-width:1180px){.snc-panel .snc-client-form.snc-form{grid-template-columns:repeat(8,minmax(0,1fr))!important}.snc-panel .snc-client-form .snc-client-name-field{grid-column:span 8!important}.snc-panel .snc-client-form .snc-phone-field,.snc-panel .snc-client-form .snc-client-instagram-field,.snc-panel .snc-client-form .snc-client-small-field,.snc-panel .snc-client-form .snc-client-text-field{grid-column:span 4!important}}
@media(max-width:820px){.snc-panel .snc-client-form.snc-form,.snc-modal-client-form.snc-form{grid-template-columns:1fr!important}.snc-panel .snc-client-form .snc-field,.snc-modal-client-form .snc-field,.snc-panel .snc-client-form .snc-client-save-row,.snc-modal-client-form .snc-client-save-row{grid-column:1/-1!important}body .snc-client-modal-card{width:calc(100vw - 20px)!important;max-height:calc(100vh - 20px)!important;border-radius:24px!important}body .snc-client-modal-body{padding:18px!important;max-height:calc(100vh - 70px)!important}.snc-country-popover{width:270px!important}}


/* v1.1.20 HARD CLEANUP: client form labels + true fixed draggable modal */
.snc-panel .snc-client-form .snc-field,
.snc-modal-client-form .snc-field{
  display:flex!important;
  flex-direction:column!important;
  gap:7px!important;
  min-width:0!important;
}
.snc-panel .snc-client-form .snc-field > label,
.snc-modal-client-form .snc-field > label{
  display:block!important;
  width:auto!important;
  min-height:0!important;
  height:auto!important;
  padding:0 2px!important;
  margin:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  color:var(--snc-muted)!important;
  font-size:11px!important;
  font-weight:900!important;
  line-height:1.2!important;
  letter-spacing:.08em!important;
  text-transform:uppercase!important;
}
.snc-panel .snc-client-form input,
.snc-panel .snc-client-form select,
.snc-panel .snc-client-form textarea,
.snc-modal-client-form input,
.snc-modal-client-form select,
.snc-modal-client-form textarea{
  min-height:44px!important;
  height:44px!important;
  line-height:20px!important;
}
.snc-panel .snc-client-form textarea,
.snc-modal-client-form textarea{
  height:auto!important;
  min-height:76px!important;
}
.snc-panel .snc-client-form input[type="date"],
.snc-modal-client-form input[type="date"]{
  height:44px!important;
  min-height:44px!important;
  padding-top:0!important;
  padding-bottom:0!important;
  appearance:auto!important;
  -webkit-appearance:auto!important;
}
.snc-client-modal.open{
  display:block!important;
}
.snc-client-modal-card{
  position:fixed!important;
  right:auto!important;
  bottom:auto!important;
  will-change:left,top!important;
}
.snc-client-modal-card.snc-modal-positioned,
.snc-client-modal-card.snc-is-dragged{
  transform:none!important;
}
.snc-client-modal.is-minimized .snc-client-modal-card{
  left:auto!important;
  top:auto!important;
  right:24px!important;
  bottom:24px!important;
  transform:none!important;
  width:280px!important;
  max-width:calc(100vw - 32px)!important;
  max-height:54px!important;
  border-radius:22px!important;
  box-shadow:0 20px 60px rgba(0,0,0,.22)!important;
}
.snc-client-modal.is-minimized .snc-client-modal-titlebar{
  height:54px!important;
  padding:0 14px!important;
  cursor:pointer!important;
}
.snc-client-modal.is-minimized .snc-client-modal-minimize{
  transform:rotate(180deg)!important;
}
body.snc-dragging-modal,
body.snc-dragging-modal *{
  cursor:grabbing!important;
  user-select:none!important;
}


/* v1.1.21 fullscreen base */
.snc-app:fullscreen,
.snc-app:-webkit-full-screen{
  width:100vw!important;
  height:100vh!important;
  min-height:100vh!important;
  border-radius:0!important;
  margin:0!important;
}
.snc-app:fullscreen .snc-main,
.snc-app:-webkit-full-screen .snc-main{
  height:100vh!important;
}
.snc-fullscreen-btn{
  background:linear-gradient(135deg,var(--snc-accent-soft),#fff)!important;
  color:var(--snc-accent-ink)!important;
  border:1px solid var(--snc-line)!important;
}
.snc-client-modal-card{
  width:min(760px,calc(100vw - 36px))!important;
  height:min(780px,calc(100vh - 36px))!important;
  min-width:520px!important;
  min-height:430px!important;
  max-width:calc(100vw - 24px)!important;
  max-height:calc(100vh - 24px)!important;
  display:flex!important;
  flex-direction:column!important;
  resize:none!important;
  overflow:hidden!important;
}
.snc-client-modal-titlebar{
  flex:0 0 56px!important;
}
.snc-client-modal-body{
  flex:1 1 auto!important;
  min-height:0!important;
  max-height:none!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  padding:28px 28px 36px!important;
  scroll-padding-bottom:120px!important;
}
.snc-client-modal-body:after{
  content:"";
  display:block;
  height:26px;
  flex:0 0 auto;
}
.snc-modal-actions,
.snc-modal-client-form .snc-form-footer.snc-client-save-row{
  position:sticky!important;
  bottom:-1px!important;
  z-index:5!important;
  margin-top:20px!important;
  padding:16px 0 8px!important;
  background:linear-gradient(180deg,rgba(255,255,255,0),var(--snc-panel-solid) 28%,var(--snc-panel-solid) 100%)!important;
  border-radius:0 0 20px 20px!important;
}
.snc-modal-client-form .snc-form-footer.snc-client-save-row{
  align-items:center!important;
}
.snc-client-modal.is-minimized .snc-client-modal-card{
  resize:none!important;
  width:300px!important;
  height:54px!important;
  min-width:260px!important;
  min-height:54px!important;
  max-height:54px!important;
  overflow:hidden!important;
}
.snc-client-modal.is-minimized .snc-client-modal-body:after{display:none!important;}
@media(max-width:820px){
  .snc-client-modal-card{
    resize:none!important;
    width:calc(100vw - 20px)!important;
    height:calc(100vh - 20px)!important;
    min-width:0!important;
    min-height:0!important;
  }
  .snc-client-modal-body{padding:18px 18px 32px!important;}
  .snc-modal-actions,.snc-modal-client-form .snc-form-footer.snc-client-save-row{padding-bottom:10px!important;}
}


/* v1.1.22 fullscreen click fix */
.snc-client-modal:not(.open){
  display:none!important;
  pointer-events:none!important;
  visibility:hidden!important;
}
.snc-client-modal.open{
  pointer-events:auto!important;
  visibility:visible!important;
}
.snc-client-modal-backdrop{pointer-events:auto!important;}
.snc-client-modal-card{pointer-events:auto!important;}
.snc-app:fullscreen,
.snc-app:-webkit-full-screen,
:fullscreen .snc-app,
:-webkit-full-screen .snc-app{
  overflow:auto!important;
}
.snc-app.is-snc-fullscreen{
  width:100vw!important;
  min-height:100vh!important;
  border-radius:0!important;
}
.snc-app.is-snc-fullscreen .snc-client-card,
.snc-app.is-snc-fullscreen [data-client-card],
.snc-app.is-snc-fullscreen button,
.snc-app.is-snc-fullscreen a{
  pointer-events:auto!important;
}
.snc-app.is-snc-fullscreen .snc-client-modal:not(.open){
  pointer-events:none!important;
}


/* v1.1.23 view-first client modal state */
.snc-client-modal:not(.is-edit-mode) .snc-modal-client-form[data-client-edit-mode]{
  display:none!important;
  visibility:hidden!important;
}
.snc-client-modal.is-edit-mode .snc-modal-client-form[data-client-edit-mode]{
  display:grid!important;
  visibility:visible!important;
}
.snc-client-modal:not(.is-edit-mode) [data-client-view-mode]{
  display:block!important;
  visibility:visible!important;
}
.snc-client-modal.is-edit-mode [data-client-view-mode]{
  display:none!important;
  visibility:hidden!important;
}

/* v1.1.24 client referrals, birthday rewards, care notes + real resize handle */
.snc-client-care-grid{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:13px!important;
  margin-top:13px!important;
}
.snc-referral-box p,
.snc-birthday-box p{
  font-weight:800!important;
  color:var(--snc-accent-ink)!important;
}
.snc-birthday-list{display:grid!important;gap:10px!important;}
.snc-birthday-list>div{
  border:1px solid var(--snc-line)!important;
  background:rgba(255,255,255,.68)!important;
  border-radius:18px!important;
  padding:12px 14px!important;
}
.snc-birthday-list strong{display:block!important;color:var(--snc-accent-ink)!important;margin-bottom:3px!important;}
.snc-birthday-list span{display:block!important;color:var(--snc-muted)!important;font-size:13px!important;font-weight:750!important;}
.snc-panel .snc-client-form .snc-field>label,
.snc-modal-client-form .snc-field>label{
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  color:var(--snc-muted)!important;
  font-size:11px!important;
  font-weight:950!important;
  letter-spacing:.08em!important;
  text-transform:uppercase!important;
  padding:0 3px!important;
}
.snc-modal-client-form .snc-client-text-field textarea{min-height:92px!important;}
.snc-client-modal-card{position:fixed!important;resize:none!important;}
.snc-client-modal-resize{
  position:absolute!important;
  right:10px!important;
  bottom:10px!important;
  width:22px!important;
  height:22px!important;
  cursor:nwse-resize!important;
  z-index:12!important;
  border-radius:8px!important;
  background:linear-gradient(135deg,transparent 0 45%,var(--snc-accent-soft) 46% 100%)!important;
  border-right:2px solid var(--snc-accent-2)!important;
  border-bottom:2px solid var(--snc-accent-2)!important;
  opacity:.9!important;
}
.snc-client-modal.is-minimized .snc-client-modal-resize{display:none!important;}
body.snc-resizing-modal,
body.snc-resizing-modal *{cursor:nwse-resize!important;user-select:none!important;}
@media(max-width:820px){
  .snc-client-care-grid{grid-template-columns:1fr!important;}
  .snc-client-modal-resize{display:none!important;}
}


/* v1.1.25 visible client CRM sections */
.snc-client-section-title{
  grid-column:1/-1!important;
  margin:6px 0 0!important;
  padding:10px 14px!important;
  border-radius:16px!important;
  background:linear-gradient(135deg,var(--snc-accent-soft),rgba(255,255,255,.62))!important;
  color:var(--snc-accent-ink)!important;
  font-weight:950!important;
  letter-spacing:.02em!important;
  border:1px solid var(--snc-line)!important;
}
.snc-client-card .snc-tags span{background:var(--snc-accent-soft)!important;color:var(--snc-accent-ink)!important;}
.snc-client-care-grid,.snc-referral-box,.snc-birthday-box{display:grid!important;}
.snc-client-modal-notes p{white-space:pre-wrap!important;}
.snc-client-modal-card{min-width:520px!important;min-height:430px!important;}
.snc-client-modal-body{padding-bottom:92px!important;}
.snc-client-modal-footer{position:sticky!important;bottom:0!important;background:linear-gradient(180deg,rgba(255,255,255,.82),rgba(255,255,255,.98))!important;backdrop-filter:blur(16px)!important;padding:14px 18px!important;margin:14px -18px -18px!important;border-top:1px solid var(--snc-line)!important;}
@media(max-width:820px){.snc-client-modal-card{min-width:0!important;width:calc(100vw - 24px)!important;}.snc-client-section-title{font-size:13px!important;}}

/* v1.1.26 Calendar + Sterilization UI */
.snc-panel-hint{margin:6px 0 0;color:var(--snc-muted);font-size:13px;line-height:1.45}
.snc-calendar-view{display:none}.snc-calendar-view.is-active{display:grid}.snc-cal-day.is-active{display:block}.snc-hour-row{display:grid;grid-template-columns:72px 1fr;gap:12px;align-items:stretch;border-bottom:1px solid var(--snc-line);padding:8px 0}.snc-hour-label{font-weight:850;color:var(--snc-accent-ink);font-size:13px}.snc-hour-events{min-height:42px;background:var(--snc-accent-wash);border:1px solid var(--snc-line);border-radius:14px;padding:7px;display:flex;gap:8px;align-items:center;flex-wrap:wrap}.snc-hour-empty{font-size:12px;color:var(--snc-muted)}
.snc-ster-form{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start}.snc-ster-form .snc-wide{grid-column:1/-1}.snc-field{display:grid;gap:7px}.snc-field label,.snc-signature-preview label{font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.06em;color:var(--snc-accent-ink);background:transparent;border:0;padding:0;box-shadow:none}.snc-ster-checks{display:flex;gap:9px;flex-wrap:wrap;background:var(--snc-accent-wash);border:1px solid var(--snc-line);border-radius:18px;padding:12px}.snc-ster-checks label{width:auto;min-width:auto;display:inline-flex;align-items:center;gap:7px;background:#fff;border:1px solid var(--snc-line);border-radius:999px;padding:9px 12px;font-size:13px;font-weight:800;color:var(--snc-text)}.snc-ster-checks input{width:auto;height:auto;margin:0}.snc-ster-form textarea[name="notes"]{min-height:150px;resize:vertical}.snc-signature-preview{display:grid;gap:9px}.snc-signature-thumb{min-height:112px;border:1px dashed var(--snc-line);border-radius:18px;background:#fff;display:flex;align-items:center;justify-content:center;color:var(--snc-muted);padding:12px}.snc-signature-thumb img{max-width:100%;max-height:105px;object-fit:contain}.snc-sign-modal{position:fixed;inset:0;z-index:999999;background:rgba(20,18,16,.32);backdrop-filter:blur(8px);display:none;align-items:center;justify-content:center;padding:18px}.snc-sign-modal.open{display:flex}.snc-sign-box{width:min(760px,calc(100vw - 28px));background:#fff;border:1px solid var(--snc-line);border-radius:28px;box-shadow:0 30px 90px rgba(0,0,0,.22);padding:18px}.snc-sign-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.snc-sign-close{border:0;background:var(--snc-accent-soft);color:var(--snc-accent-ink);width:36px;height:36px;border-radius:999px;font-size:22px;cursor:pointer}.snc-sign-box canvas{width:100%;height:260px;border:1px dashed var(--snc-line);border-radius:18px;background:#fff;touch-action:none}.snc-sign-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:12px}.snc-sign-actions button,.snc-open-signature{border:0;background:var(--snc-accent);color:#fff;border-radius:14px;padding:11px 14px;font-weight:900;cursor:pointer}.snc-sign-actions .snc-clear-sign{background:var(--snc-accent-soft);color:var(--snc-accent-ink)}.snc-ster-table td{vertical-align:middle}.snc-ster-table td:nth-child(6){white-space:normal;min-width:220px;max-width:380px}
@media(max-width:820px){.snc-ster-form{grid-template-columns:1fr}.snc-hour-row{grid-template-columns:54px 1fr}.snc-ster-checks label{flex:1 1 auto}}

/* v1.1.27 visible calendar + friendly sterilization cleanup */
.snc-calendar-panel .snc-calendar-shell{margin-top:16px;position:relative;z-index:1}
.snc-current-view{display:inline-flex;align-items:center;gap:6px;margin:0 0 14px;padding:9px 13px;border-radius:999px;background:var(--snc-accent-soft);color:var(--snc-accent-ink);font-size:12px;font-weight:800}
.snc-calendar-list-title{margin:22px 0 10px;font-weight:900;color:var(--snc-accent-ink)}
.snc-calendar-shell .snc-calendar-view{display:none!important}
.snc-calendar-shell[data-view="day"] .snc-calendar-view[data-calendar-view="day"]{display:block!important}
.snc-calendar-shell[data-view="week"] .snc-calendar-view[data-calendar-view="week"]{display:grid!important}
.snc-calendar-shell[data-view="month"] .snc-calendar-view[data-calendar-view="month"]{display:grid!important}
.snc-calendar-tools button.active{background:linear-gradient(135deg,var(--snc-accent),var(--snc-accent-2))!important;color:#fff!important;border-color:transparent!important;box-shadow:0 12px 24px rgba(0,0,0,.10)}
.snc-cal-day{background:#fff;border:1px solid var(--snc-line);border-radius:22px;padding:16px}
.snc-day-title{font-weight:950;color:var(--snc-accent-ink);margin-bottom:12px}


.snc-ster-friendly{align-items:start!important}
.snc-ster-steps{display:grid!important;grid-template-columns:repeat(5,minmax(120px,1fr));gap:10px!important;margin:4px 0 2px!important}
.snc-ster-step{position:relative;display:grid!important;grid-template-columns:34px 1fr!important;grid-template-rows:auto auto;column-gap:10px;align-items:center;padding:12px!important;border:1px solid var(--snc-line)!important;border-radius:18px!important;background:linear-gradient(180deg,#fff,var(--snc-accent-wash))!important;cursor:pointer;min-height:76px!important}
.snc-ster-step input{position:absolute;opacity:0;pointer-events:none}
.snc-step-icon{grid-row:1/3;width:34px;height:34px;border-radius:14px;display:grid;place-items:center;background:var(--snc-accent-soft);color:var(--snc-accent-ink);font-weight:950}
.snc-ster-step strong{font-size:13px;color:var(--snc-text);line-height:1.15}.snc-ster-step small{font-size:11px;color:var(--snc-muted);line-height:1.2}
.snc-ster-step:has(input:checked){border-color:transparent!important;background:linear-gradient(135deg,var(--snc-accent-soft),#fff)!important;box-shadow:0 10px 24px rgba(0,0,0,.08)}
.snc-ster-step:has(input:checked) .snc-step-icon{background:linear-gradient(135deg,var(--snc-accent),var(--snc-accent-2));color:#fff}
.snc-ster-notes{min-height:130px!important;resize:vertical}.snc-form-footer{display:flex;align-items:center;gap:12px;justify-content:flex-start}
.snc-signature-preview{padding:14px;border:1px solid var(--snc-line);border-radius:20px;background:#fff}.snc-signature-thumb{min-height:92px;border:1px dashed var(--snc-line);border-radius:16px;display:flex;align-items:center;justify-content:center;background:var(--snc-accent-wash);color:var(--snc-muted);margin:8px 0 12px;overflow:hidden}.snc-signature-thumb img{max-width:100%;max-height:120px;display:block}
.snc-sign-modal{position:fixed;inset:0;display:none;place-items:center;background:rgba(30,25,24,.35);backdrop-filter:blur(10px);z-index:999999}.snc-sign-modal.open{display:grid}.snc-sign-box{width:min(760px,calc(100vw - 30px));background:#fff;border-radius:28px;padding:18px;box-shadow:0 30px 80px rgba(0,0,0,.22);border:1px solid var(--snc-line)}.snc-sign-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.snc-sign-close{border:0;background:var(--snc-accent-soft);border-radius:999px;width:34px;height:34px;cursor:pointer}.snc-sign-box canvas{width:100%;height:260px;border-radius:20px;border:1px solid var(--snc-line);background:var(--snc-accent-wash);touch-action:none}.snc-sign-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:12px}.snc-sign-actions button{border:0;border-radius:14px;padding:11px 14px;font-weight:850;cursor:pointer}.snc-save-sign{background:var(--snc-accent)!important;color:#fff}.snc-clear-sign{background:var(--snc-accent-soft);color:var(--snc-accent-ink)}
.snc-ster-log-cards{display:grid;gap:12px;margin-top:18px}.snc-ster-log-card{background:#fff;border:1px solid var(--snc-line);border-radius:22px;padding:15px;box-shadow:0 12px 30px rgba(0,0,0,.04)}.snc-ster-log-top{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.snc-ster-log-top strong{display:block;color:var(--snc-text)}.snc-ster-log-top span{display:block;color:var(--snc-muted);font-size:12px;margin-top:3px}.snc-ster-log-top em{font-style:normal;font-size:12px;border-radius:999px;padding:7px 10px;background:var(--snc-accent-soft);color:var(--snc-accent-ink);white-space:nowrap}.snc-ster-log-steps{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0}.snc-ster-log-steps span{font-size:12px;border-radius:999px;padding:7px 10px;background:var(--snc-accent-wash);border:1px solid var(--snc-line);color:var(--snc-accent-ink);font-weight:800}.snc-ster-log-card p{margin:0 0 12px;color:var(--snc-muted)}.snc-muted-inline{color:var(--snc-muted);font-size:12px}
@media(max-width:980px){.snc-ster-steps{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:560px){.snc-ster-steps{grid-template-columns:1fr!important}.snc-ster-log-top{display:block}.snc-ster-log-top em{display:inline-flex;margin-top:10px}}


/* v1.1.28 calendar appointment/client linking */
.snc-appointment-form.snc-form{grid-template-columns:repeat(4,minmax(0,1fr))!important;align-items:end!important;}
.snc-appointment-form .snc-field{min-width:0!important;}
.snc-appointment-form .snc-appointment-notes{grid-column:1/-1!important;}
.snc-appointment-form .snc-form-footer{grid-column:1/-1!important;justify-content:flex-end!important;}
.snc-event-clickable{border:1px solid var(--snc-line)!important;text-align:left!important;width:100%!important;cursor:pointer!important;color:inherit!important;font-family:inherit!important;transition:transform .15s ease, box-shadow .15s ease, border-color .15s ease!important;}
.snc-event-clickable:hover{transform:translateY(-1px)!important;box-shadow:0 14px 28px rgba(40,32,27,.12)!important;border-color:var(--snc-accent)!important;}
.snc-event-clickable small{font-size:11px!important;color:var(--snc-muted)!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;}



.snc-appointment-context{margin:-6px 0 18px!important;border:1px solid var(--snc-line)!important;background:var(--snc-accent-wash)!important;border-radius:18px!important;padding:12px 14px!important;display:grid!important;gap:4px!important;}
.snc-appointment-context strong{color:var(--snc-accent-ink)!important;font-size:13px!important;}
.snc-appointment-context span{color:var(--snc-muted)!important;font-size:12px!important;font-weight:750!important;}
@media(max-width:900px){.snc-appointment-form.snc-form{grid-template-columns:1fr 1fr!important;}.snc-appointment-form .snc-form-footer{justify-content:stretch!important}.snc-appointment-form .snc-form-footer button{width:100%!important;}}
@media(max-width:560px){.snc-appointment-form.snc-form{grid-template-columns:1fr!important;}}

/* v1.1.29 calendar click + appointment form hardfix */
.snc-appointment-form-clean.snc-form{grid-template-columns:repeat(4,minmax(0,1fr))!important;align-items:end!important;gap:14px!important;}
.snc-appointment-form-clean .snc-field{min-width:0!important;align-self:stretch!important;}
.snc-appointment-form-clean input,
.snc-appointment-form-clean select,
.snc-appointment-form-clean textarea{width:100%!important;box-sizing:border-box!important;}
.snc-appointment-form-clean .snc-appointment-notes{grid-column:1/-1!important;}
.snc-appointment-form-clean .snc-appointment-notes textarea{min-height:58px!important;height:58px!important;resize:vertical!important;line-height:1.35!important;padding-top:14px!important;padding-bottom:14px!important;}
.snc-appointment-form-clean .snc-form-footer{grid-column:1/-1!important;justify-content:flex-end!important;}
.snc-appointment-form-clean .snc-legacy-time-field,
.snc-appointment-form-clean .snc-legacy-date-field{display:none!important;}
.snc-calendar-shell button.snc-event-pill,
.snc-calendar-shell .snc-event-pill.snc-event-clickable{position:relative!important;z-index:5!important;pointer-events:auto!important;appearance:none!important;-webkit-appearance:none!important;background:linear-gradient(135deg,#fff,var(--snc-accent-wash))!important;}
.snc-calendar-shell button.snc-event-pill:hover{transform:translateY(-1px)!important;box-shadow:0 14px 28px rgba(40,32,27,.14)!important;}
@media(max-width:900px){.snc-appointment-form-clean.snc-form{grid-template-columns:1fr 1fr!important;}.snc-appointment-form-clean .snc-form-footer button{width:100%!important;}}
@media(max-width:560px){.snc-appointment-form-clean.snc-form{grid-template-columns:1fr!important;}.snc-appointment-form-clean .snc-appointment-notes textarea{height:74px!important;}}


/* v1.1.30 month navigation + status labels */










@media(max-width:980px){}


/* v1.1.31 unified menu icons + modern date/time picker */
.snc-sidebar button .snc-nav-icon svg{
  width:16px!important;
  height:16px!important;
  display:block!important;
  stroke:currentColor!important;
  fill:none!important;
  stroke-width:1.9!important;
  stroke-linecap:round!important;
  stroke-linejoin:round!important;
}
.snc-sidebar button .snc-nav-icon{
  background:linear-gradient(135deg,var(--snc-accent-soft),rgba(255,255,255,.82))!important;
}
.snc-sidebar button:hover .snc-nav-icon,
.snc-sidebar button.active .snc-nav-icon{
  background:linear-gradient(135deg,var(--snc-accent),var(--snc-accent-2))!important;
  color:#fff!important;
}
.snc-smart-picker-input{
  cursor:pointer!important;
  background-image:linear-gradient(135deg,rgba(255,255,255,.82),var(--snc-accent-wash))!important;
}
.snc-smart-picker-input:read-write{caret-color:var(--snc-accent)}
.snc-picker-popover{
  position:fixed;
  z-index:999999;
  width:min(330px,calc(100vw - 28px));
  background:rgba(255,255,255,.96);
  border:1px solid var(--snc-line);
  border-radius:22px;
  box-shadow:0 28px 80px rgba(35,25,20,.18);
  backdrop-filter:blur(18px);
  padding:12px;
  color:var(--snc-text);
}
.snc-picker-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:10px}
.snc-picker-head strong{font-size:14px;color:var(--snc-accent-ink)}
.snc-picker-head button,.snc-picker-close{
  border:1px solid var(--snc-line);
  background:var(--snc-accent-wash);
  color:var(--snc-accent-ink);
  border-radius:12px;
  min-width:36px;
  height:36px;
  cursor:pointer;
  font-weight:900;
}
.snc-picker-week,.snc-picker-days{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}
.snc-picker-week span{text-align:center;font-size:11px;font-weight:900;color:var(--snc-muted);padding:4px 0}
.snc-picker-day{
  border:0;
  border-radius:13px;
  min-height:38px;
  background:var(--snc-accent-wash);
  color:var(--snc-text);
  cursor:pointer;
  font-weight:800;
}
.snc-picker-day:hover{background:var(--snc-accent-soft);color:var(--snc-accent-ink)}
.snc-picker-day.is-selected{background:linear-gradient(135deg,var(--snc-accent),var(--snc-accent-2));color:#fff}
.snc-picker-day.is-muted{opacity:.38}
.snc-time-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;max-height:260px;overflow:auto;padding-right:3px}
.snc-time-option{
  border:1px solid var(--snc-line);
  border-radius:13px;
  background:var(--snc-accent-wash);
  color:var(--snc-accent-ink);
  padding:9px 8px;
  font-weight:850;
  cursor:pointer;
}
.snc-time-option:hover,.snc-time-option.is-selected{background:linear-gradient(135deg,var(--snc-accent),var(--snc-accent-2));color:#fff;border-color:transparent}
.snc-time-manual{display:flex;gap:8px;margin-top:10px}
.snc-time-manual input{flex:1;border:1px solid var(--snc-line);border-radius:14px;padding:10px;background:var(--snc-accent-wash);outline:none}
.snc-time-manual button{border:0;border-radius:14px;padding:10px 12px;background:linear-gradient(135deg,var(--snc-accent),var(--snc-accent-2));color:#fff;font-weight:900;cursor:pointer}
@media(max-width:820px){.snc-picker-popover{left:14px!important;right:14px!important;width:auto!important;max-height:70vh;overflow:auto}.snc-time-grid{grid-template-columns:repeat(3,1fr)}}

.snc-kpi-next strong{font-size:24px}.snc-kpi-next small{max-width:180px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}


/* v1.1.33 dashboard KPI quick links */
.snc-kpi-link{appearance:none;border:0;text-align:left;width:100%;font:inherit;cursor:pointer;transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;background:var(--snc-card, rgba(255,255,255,.72));}
.snc-kpi-link:hover{transform:translateY(-2px);box-shadow:0 18px 45px rgba(37,30,24,.12);border-color:var(--snc-accent-glow);}
.snc-kpi-link:active{transform:translateY(0);}
.snc-kpi-link:focus-visible{outline:3px solid var(--snc-accent-glow);outline-offset:3px;}


/* v1.1.34 collapsible New Client block - full patch based on v1.1.33 */
.snc-new-client-panel{
  overflow:hidden;
  transition:border-color .2s ease, box-shadow .2s ease, background .2s ease;
}
.snc-new-client-head{
  align-items:center;
  gap:16px;
  margin-bottom:0!important;
}
.snc-new-client-head h2{margin:0 0 4px!important;}
.snc-new-client-head p{margin:0;color:var(--snc-muted);font-size:13px;}
.snc-toggle-new-client{
  white-space:nowrap;
  min-width:145px;
}
.snc-new-client-body{
  max-height:1800px;
  overflow:visible;
  opacity:1;
  margin-top:18px;
  transition:max-height .28s ease, opacity .18s ease, margin-top .22s ease;
}
.snc-new-client-panel.is-collapsed .snc-new-client-body{
  max-height:0!important;
  opacity:0;
  margin-top:0!important;
  pointer-events:none;
  overflow:hidden!important;
}
.snc-new-client-panel.is-collapsed{
  background:linear-gradient(135deg,var(--snc-panel),var(--snc-accent-wash));
}
.snc-new-client-panel.is-collapsed .snc-new-client-head{
  margin-bottom:0!important;
}
@media(max-width:820px){
  .snc-new-client-head{display:grid!important;grid-template-columns:1fr;align-items:start;}
  .snc-toggle-new-client{width:100%;}
}


/* v1.1.42 CLEAN SERVICES: only one service picker implementation */
.snc-services-v142 .snc-services-box{grid-column:1 / -1 !important;}
.snc-services-v142 .snc-services-selected{
  display:flex; flex-wrap:wrap; gap:7px; align-items:center;
  min-height:38px; margin:6px 0 9px; padding:8px 10px;
  border-radius:16px;
  background:color-mix(in srgb,var(--snc-accent) 7%,#fff);
  border:1px solid color-mix(in srgb,var(--snc-accent) 15%,rgba(15,23,42,.10));
  color:#738095; font-size:12.5px;
}
.snc-services-v142 .snc-services-list{
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:9px !important;
}
.snc-services-v142 .snc-service-button{
  appearance:none !important;
  width:100% !important;
  border:1px solid rgba(15,23,42,.10) !important;
  border-radius:17px !important;
  background:linear-gradient(180deg,#fff,rgba(255,255,255,.82)) !important;
  display:grid !important;
  grid-template-columns:24px 1fr auto !important;
  align-items:center !important;
  gap:9px !important;
  padding:10px 12px !important;
  min-height:54px !important;
  text-align:left !important;
  cursor:pointer !important;
  box-shadow:0 8px 20px rgba(15,23,42,.045) !important;
  transition:transform .16s ease,border-color .16s ease,background .16s ease,box-shadow .16s ease !important;
}
.snc-services-v142 .snc-service-button:hover{
  background:color-mix(in srgb,var(--snc-accent) 7%,#fff) !important;
  border-color:color-mix(in srgb,var(--snc-accent) 35%,rgba(15,23,42,.12)) !important;
  transform:translateY(-1px) !important;
}
.snc-services-v142 .snc-service-button.is-selected{
  transform:translateY(1px) scale(.992) !important;
  background:linear-gradient(135deg,color-mix(in srgb,var(--snc-accent) 30%,#fff),color-mix(in srgb,var(--snc-accent-2) 18%,#fff)) !important;
  border-color:var(--snc-accent) !important;
  box-shadow:inset 0 2px 7px rgba(15,23,42,.08),0 10px 24px color-mix(in srgb,var(--snc-accent) 16%,rgba(15,23,42,.08)) !important;
}
.snc-services-v142 .snc-service-plus{
  width:22px; height:22px; border-radius:999px; display:grid; place-items:center;
  font-weight:900; font-size:13px; color:var(--snc-accent);
  background:color-mix(in srgb,var(--snc-accent) 8%,#fff);
  border:1px solid color-mix(in srgb,var(--snc-accent) 22%,rgba(15,23,42,.10));
}
.snc-services-v142 .snc-service-button.is-selected .snc-service-plus{
  color:#fff; background:linear-gradient(135deg,var(--snc-accent),var(--snc-accent-2)); border-color:transparent;
}
.snc-services-v142 .snc-service-title{
  display:flex; flex-direction:column; gap:2px; min-width:0;
  color:#26303f; font-weight:760; font-size:12.8px; line-height:1.18;
}
.snc-services-v142 .snc-service-title small{font-size:10.8px;color:#778195;font-weight:500;}
.snc-services-v142 .snc-service-button b{font-size:14px;color:var(--snc-accent);white-space:nowrap;}
.snc-services-v142 .snc-selected-service{
  display:inline-flex; align-items:center; gap:5px; border-radius:999px; padding:6px 9px;
  background:#fff; color:#26303f; box-shadow:0 6px 16px rgba(15,23,42,.05);
}
.snc-services-v142 .snc-selected-service b{color:var(--snc-accent);}
.snc-services-v142 .snc-design-price-row{
  margin-top:8px; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; padding:9px;
  border-radius:15px; border:1px dashed color-mix(in srgb,var(--snc-accent) 35%,rgba(15,23,42,.12));
  background:color-mix(in srgb,var(--snc-accent) 6%,#fff);
}
.snc-services-v142 .snc-design-price-row[hidden]{display:none !important;}
.snc-price-panel .snc-panel-hint,.snc-price-head{display:none !important;}
.snc-price-list-form .snc-form-footer{justify-content:flex-end;margin-top:10px;}
.snc-price-list-form .snc-form-footer button{
  appearance:none;border:0;border-radius:18px;min-height:44px;padding:0 18px;
  background:linear-gradient(135deg,var(--snc-accent),var(--snc-accent-2));
  color:#fff;font-weight:850;box-shadow:0 12px 28px color-mix(in srgb,var(--snc-accent) 20%,rgba(15,23,42,.12));cursor:pointer;
}
@media(max-width:900px){.snc-services-v142 .snc-services-list{grid-template-columns:1fr !important;}.snc-services-v142 .snc-design-price-row{grid-template-columns:1fr;}}


/* v1.1.43 DIAGNOSTIC/STABLE native service picker */
.snc-services-v143 .snc-dev-visible-marker{
  grid-column:1 / -1;
  padding:8px 12px;
  border-radius:14px;
  background:#111827;
  color:#fff;
  font-size:12px;
  font-weight:900;
  letter-spacing:.04em;
}
.snc-services-v143 .snc-services-box{grid-column:1 / -1 !important;}
.snc-services-v143 .snc-services-selected{
  display:flex;flex-wrap:wrap;gap:7px;align-items:center;
  min-height:38px;margin:6px 0 9px;padding:8px 10px;
  border-radius:16px;
  background:color-mix(in srgb,var(--snc-accent) 7%,#fff);
  border:1px solid color-mix(in srgb,var(--snc-accent) 15%,rgba(15,23,42,.10));
  color:#738095;font-size:12.5px;
}
.snc-services-v143 .snc-services-native-list{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:9px;
}
.snc-services-v143 .snc-native-service{
  width:100%;
  display:grid;
  grid-template-columns:24px 24px 1fr auto;
  align-items:center;
  gap:9px;
  min-height:54px;
  padding:10px 12px;
  border-radius:17px;
  border:1px solid rgba(15,23,42,.10);
  background:linear-gradient(180deg,#fff,rgba(255,255,255,.82));
  box-shadow:0 8px 20px rgba(15,23,42,.045);
  cursor:pointer;
  transition:.16s ease;
}
.snc-services-v143 .snc-native-service:hover{
  transform:translateY(-1px);
  background:color-mix(in srgb,var(--snc-accent) 7%,#fff);
  border-color:color-mix(in srgb,var(--snc-accent) 35%,rgba(15,23,42,.12));
}
.snc-services-v143 .snc-native-service.is-selected{
  transform:translateY(1px) scale(.992);
  background:linear-gradient(135deg,color-mix(in srgb,var(--snc-accent) 30%,#fff),color-mix(in srgb,var(--snc-accent-2) 18%,#fff));
  border-color:var(--snc-accent);
  box-shadow:inset 0 2px 7px rgba(15,23,42,.08),0 10px 24px color-mix(in srgb,var(--snc-accent) 16%,rgba(15,23,42,.08));
}
.snc-services-v143 .snc-native-service input[type="checkbox"]{
  width:18px;
  height:18px;
  accent-color:var(--snc-accent);
}
.snc-services-v143 .snc-native-check{
  width:22px;height:22px;border-radius:999px;display:grid;place-items:center;
  font-weight:900;font-size:13px;color:transparent;
  background:color-mix(in srgb,var(--snc-accent) 8%,#fff);
  border:1px solid color-mix(in srgb,var(--snc-accent) 22%,rgba(15,23,42,.10));
}
.snc-services-v143 .snc-native-service.is-selected .snc-native-check{
  color:#fff;background:linear-gradient(135deg,var(--snc-accent),var(--snc-accent-2));border-color:transparent;
}
.snc-services-v143 .snc-native-title{
  display:flex;flex-direction:column;gap:2px;min-width:0;
  color:#26303f;font-weight:760;font-size:12.8px;line-height:1.18;
}
.snc-services-v143 .snc-native-title small{font-size:10.8px;color:#778195;font-weight:500;}
.snc-services-v143 .snc-native-service b{font-size:14px;color:var(--snc-accent);white-space:nowrap;}
.snc-services-v143 .snc-selected-service{
  display:inline-flex;align-items:center;gap:5px;border-radius:999px;padding:6px 9px;
  background:#fff;color:#26303f;box-shadow:0 6px 16px rgba(15,23,42,.05);
}
.snc-services-v143 .snc-selected-service b{color:var(--snc-accent);}
.snc-services-v143 .snc-design-price-row{
  margin-top:8px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:9px;
  border-radius:15px;border:1px dashed color-mix(in srgb,var(--snc-accent) 35%,rgba(15,23,42,.12));
  background:color-mix(in srgb,var(--snc-accent) 6%,#fff);
}
.snc-services-v143 .snc-design-price-row[hidden]{display:none !important;}
@media(max-width:900px){.snc-services-v143 .snc-services-native-list{grid-template-columns:1fr;}.snc-services-v143 .snc-design-price-row{grid-template-columns:1fr;}}


/* v1.1.44: dashboard overflow fix for long appointment/service names */
.snc-dashboard-layout,
.snc-dashboard-layout .snc-panel,
.snc-dashboard-layout .snc-table,
.snc-dashboard-layout table {
  max-width: 100% !important;
  min-width: 0 !important;
}

.snc-dashboard-layout {
  overflow-x: hidden !important;
}

.snc-dashboard-layout .snc-table {
  overflow-x: auto !important;
}

.snc-dashboard-layout table {
  table-layout: fixed !important;
  width: 100% !important;
}

.snc-dashboard-layout th,
.snc-dashboard-layout td {
  min-width: 0 !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

.snc-dashboard-layout td:nth-child(3),
.snc-dashboard-layout td:nth-child(4) {
  white-space: normal !important;
  overflow-wrap: anywhere !important;
  word-break: break-word !important;
  line-height: 1.25 !important;
}

.snc-dashboard-layout .snc-agenda-item,
.snc-dashboard-layout .snc-birthday-item,
.snc-birthday-reminders,
.snc-today {
  max-width: 100% !important;
  min-width: 0 !important;
  overflow: hidden !important;
}

.snc-dashboard-layout .snc-agenda-item span,
.snc-dashboard-layout .snc-agenda-item small,
.snc-birthday-reminders * {
  max-width: 100% !important;
  overflow-wrap: anywhere !important;
  word-break: break-word !important;
}

@media (max-width: 900px) {
  .snc-dashboard-layout table,
  .snc-dashboard-layout thead,
  .snc-dashboard-layout tbody,
  .snc-dashboard-layout tr,
  .snc-dashboard-layout th,
  .snc-dashboard-layout td {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  .snc-dashboard-layout tr {
    padding: 10px !important;
    border-radius: 16px !important;
    margin-bottom: 8px !important;
    background: rgba(255,255,255,.65) !important;
  }

  .snc-dashboard-layout td {
    white-space: normal !important;
    overflow: visible !important;
    text-overflow: initial !important;
    padding: 4px 0 !important;
  }
}


/* v1.1.51: dashboard appointment modal rebuilt with inline opener */
.snc-dashboard-appointments-v151{
  display:flex;
  flex-direction:column;
  gap:10px;
  max-width:100%;
  min-width:0;
}

.snc-dash-appt-v151{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:10px;
  align-items:center;
  width:100%;
  padding:10px;
  border-radius:20px;
  background:rgba(255,255,255,.72);
  border:1px solid rgba(15,23,42,.08);
  box-shadow:0 8px 20px rgba(15,23,42,.045);
}

.snc-dash-appt-main-v151{
  appearance:none;
  border:0;
  background:transparent;
  padding:0;
  margin:0;
  display:grid;
  grid-template-columns:64px minmax(0,1fr) auto;
  gap:10px;
  align-items:center;
  width:100%;
  min-width:0;
  text-align:left;
  cursor:pointer;
}

.snc-dash-appt-v151:hover{
  background:color-mix(in srgb,var(--snc-accent) 6%,#fff);
  border-color:color-mix(in srgb,var(--snc-accent) 32%,rgba(15,23,42,.1));
}

.snc-dash-appt-time-v151{display:flex;flex-direction:column;gap:2px;}
.snc-dash-appt-time-v151 b{color:var(--snc-accent);font-size:17px;line-height:1;font-family:inherit;}
.snc-dash-appt-time-v151 small{font-size:11px;color:#7b8494;font-family:inherit;}

.snc-dash-appt-text-v151{min-width:0;display:flex;flex-direction:column;gap:3px;}
.snc-dash-appt-text-v151 strong{
  color:#26303f;
  font-size:13.5px;
  font-family:inherit;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.snc-dash-appt-text-v151 small{
  color:#7b8494;
  font-size:12px;
  font-family:inherit;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

.snc-dash-appt-status-v151{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  max-width:118px;
  padding:6px 9px;
  border-radius:999px;
  font-family:inherit;
  font-size:11.5px;
  font-weight:800;
  letter-spacing:0;
  line-height:1;
  white-space:nowrap;
  color:var(--snc-accent);
  background:color-mix(in srgb,var(--snc-accent) 11%,#fff);
  border:1px solid color-mix(in srgb,var(--snc-accent) 16%,rgba(15,23,42,.08));
}

.snc-dash-appt-status-v151.completed{background:rgba(34,197,94,.12);color:#15803d;}
.snc-dash-appt-status-v151.cancelled{background:rgba(239,68,68,.12);color:#b91c1c;}
.snc-dash-appt-status-v151.no_show{background:rgba(245,158,11,.16);color:#92400e;}

.snc-dash-appt-wa-v151{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:92px;
  min-height:34px;
  padding:0 12px;
  border-radius:999px;
  background:linear-gradient(135deg,var(--snc-accent),var(--snc-accent-2));
  color:#fff !important;
  text-decoration:none !important;
  font-family:inherit;
  font-size:12px;
  font-weight:850;
  line-height:1;
  box-shadow:0 8px 18px color-mix(in srgb,var(--snc-accent) 18%,rgba(15,23,42,.12));
  white-space:nowrap;
}

.snc-dashboard-appt-modal-v151{
  position:fixed !important;
  inset:0 !important;
  z-index:2147483000 !important;
  display:none !important;
  pointer-events:none !important;
}

.snc-dashboard-appt-modal-v151.open{
  display:block !important;
  pointer-events:auto !important;
}

.snc-dashboard-appt-backdrop-v151{
  position:fixed;
  inset:0;
  background:rgba(15,23,42,.34);
  backdrop-filter:blur(10px);
}

.snc-dashboard-appt-card-v151{
  position:fixed;
  left:50%;
  top:50%;
  transform:translate(-50%,-50%);
  width:min(620px,calc(100vw - 28px));
  max-height:calc(100vh - 34px);
  overflow:hidden;
  border-radius:28px;
  background:rgba(255,255,255,.94);
  box-shadow:0 28px 70px rgba(15,23,42,.28);
  border:1px solid rgba(255,255,255,.7);
}

.snc-dashboard-appt-head-v151{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:16px 18px;
  border-bottom:1px solid rgba(15,23,42,.08);
}

.snc-dashboard-appt-head-v151 strong{font-size:15px;color:#26303f;}
.snc-dashboard-appt-head-v151 button{
  appearance:none;
  border:0;
  display:grid;
  place-items:center;
  width:34px;
  height:34px;
  border-radius:999px;
  background:rgba(15,23,42,.06);
  color:#26303f;
  font-size:20px;
  cursor:pointer;
}

.snc-dashboard-appt-body-v151{
  padding:18px;
  overflow:auto;
  max-height:calc(100vh - 110px);
}

.snc-dashboard-appt-top-v151,
.snc-dashboard-appt-grid-v151{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
}

.snc-dashboard-appt-top-v151 > div,
.snc-dashboard-appt-grid-v151 > div,
.snc-dashboard-appt-box-v151{
  border-radius:20px;
  padding:14px;
  background:color-mix(in srgb,var(--snc-accent) 6%,#fff);
  border:1px solid rgba(15,23,42,.07);
}

.snc-dashboard-appt-box-v151{margin-top:12px;}
.snc-dashboard-appt-body-v151 span{
  display:block;
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:.04em;
  color:#7b8494;
  font-weight:850;
  margin-bottom:5px;
}
.snc-dashboard-appt-body-v151 h3,
.snc-dashboard-appt-body-v151 p,
.snc-dashboard-appt-body-v151 strong{
  margin:0;
  color:#26303f;
  font-family:inherit;
}
.snc-dashboard-appt-body-v151 p{line-height:1.45;overflow-wrap:anywhere;}

@media(max-width:720px){
  .snc-dash-appt-v151{grid-template-columns:1fr;}
  .snc-dash-appt-main-v151{grid-template-columns:56px minmax(0,1fr);}
  .snc-dash-appt-status-v151{grid-column:2 / -1;justify-self:start;}
  .snc-dash-appt-wa-v151{justify-self:start;}
  .snc-dashboard-appt-top-v151,.snc-dashboard-appt-grid-v151{grid-template-columns:1fr;}
}


/* v1.1.58: restore stable dashboard appointments, remove reminder button only */
.snc-dashboard-appointments-v151 .snc-dash-appt-wa-v151,
.snc-dashboard-appointments .snc-dash-appt-wa,
.snc-dashboard-appointments [class*="appt-wa"]{
  display:none !important;
}

/* Remove suspicious pseudo shadows/underlays without touching card layout */
.snc-dashboard-layout .snc-panel::before,
.snc-dashboard-layout .snc-panel::after,
.snc-birthday-reminders::before,
.snc-birthday-reminders::after,
.snc-today::before,
.snc-today::after{
  content:none !important;
  display:none !important;
  box-shadow:none !important;
  filter:none !important;
}

.snc-dashboard-layout,
.snc-dashboard-layout .snc-panel,
.snc-birthday-reminders,
.snc-today{
  filter:none !important;
}

/* Keep the v1.51 appointment card stable */
.snc-dashboard-appointments-v151 .snc-dash-appt-v151{
  max-width:100% !important;
  min-width:0 !important;
  overflow:hidden !important;
}

.snc-dashboard-appointments-v151 .snc-dash-appt-main-v151{
  max-width:100% !important;
  min-width:0 !important;
}

.snc-dashboard-appointments-v151 .snc-dash-appt-text-v151{
  min-width:0 !important;
}


/* v1.1.59: remove parasitic dashboard underlay only, keep v1.51 layout intact */
#tab-dashboard,
#tab-dashboard .snc-dashboard-layout,
#tab-dashboard .snc-dashboard-layout > *,
#tab-dashboard .snc-panel,
#tab-dashboard .snc-today,
#tab-dashboard .snc-birthday-reminders {
  background-clip: padding-box !important;
}

#tab-dashboard .snc-dashboard-layout::before,
#tab-dashboard .snc-dashboard-layout::after,
#tab-dashboard .snc-panel::before,
#tab-dashboard .snc-panel::after,
#tab-dashboard .snc-today::before,
#tab-dashboard .snc-today::after,
#tab-dashboard .snc-birthday-reminders::before,
#tab-dashboard .snc-birthday-reminders::after,
#tab-dashboard .snc-dashboard-appointments::before,
#tab-dashboard .snc-dashboard-appointments::after {
  content: none !important;
  display: none !important;
  opacity: 0 !important;
  visibility: hidden !important;
  box-shadow: none !important;
  filter: none !important;
  backdrop-filter: none !important;
  background: transparent !important;
}

#tab-dashboard .snc-dashboard-layout,
#tab-dashboard .snc-panel,
#tab-dashboard .snc-today,
#tab-dashboard .snc-birthday-reminders {
  filter: none !important;
}

#tab-dashboard .snc-panel {
  isolation: auto !important;
}

/* keep only the actual panel/card shadow, remove external ghost shadows */
#tab-dashboard .snc-dashboard-layout .snc-panel {
  box-shadow: none !important;
}

#tab-dashboard .snc-dashboard-appointments-v151 .snc-dash-appt-v151 {
  box-shadow: 0 8px 20px rgba(15,23,42,.045) !important;
}


/* v1.1.60: appointment info modal spacing polish only */
.snc-dashboard-appt-body-v151 .snc-dashboard-appt-box-v151,
.snc-dashboard-appt-body-v151 .snc-dashboard-appt-grid-v151 {
  margin-top: 14px !important;
}

.snc-dashboard-appt-body-v151 .snc-dashboard-appt-box-v151 + .snc-dashboard-appt-grid-v151 {
  margin-top: 16px !important;
}

.snc-dashboard-appt-body-v151 .snc-dashboard-appt-grid-v151 + .snc-dashboard-appt-box-v151 {
  margin-top: 16px !important;
}

.snc-dashboard-appt-body-v151 .snc-dashboard-appt-top-v151 {
  margin-bottom: 2px !important;
}

.snc-dashboard-appt-body-v151 .snc-dashboard-appt-box-v151,
.snc-dashboard-appt-body-v151 .snc-dashboard-appt-grid-v151 > div {
  box-shadow: 0 6px 18px rgba(15,23,42,.035) !important;
}

.snc-dashboard-appt-body-v151 .snc-modal-actions {
  margin-top: 16px !important;
}


/* v1.1.64: appointment form top-row centering + calendar price picker stability */
.snc-appointment-form-clean > .snc-field:not(.snc-wide):not(.snc-appointment-notes){
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
  min-height:74px!important;
}
.snc-appointment-form-clean > .snc-field:not(.snc-wide):not(.snc-appointment-notes) > label{
  line-height:1.15!important;
  margin-bottom:0!important;
}
.snc-appointment-form-clean > .snc-field:not(.snc-wide):not(.snc-appointment-notes) > input,
.snc-appointment-form-clean > .snc-field:not(.snc-wide):not(.snc-appointment-notes) > select{
  min-height:46px!important;
}
.snc-services-v143 .snc-native-service{
  user-select:none!important;
}
.snc-services-v143 .snc-native-service input[type="checkbox"]{
  pointer-events:auto!important;
}

/* v1.1.68: polished editable price list */
#tab-price .snc-panel{
  border:1px solid rgba(148,163,184,.22) !important;
  background:linear-gradient(180deg,rgba(255,255,255,.88),rgba(255,255,255,.72)) !important;
  box-shadow:0 18px 46px rgba(15,23,42,.07) !important;
  backdrop-filter:blur(18px) !important;
}
#tab-price .snc-panel h2{margin-bottom:6px!important;letter-spacing:-.03em!important;}
.snc-price-list-form-v168{display:flex!important;flex-direction:column!important;gap:14px!important;margin-top:14px!important;}
.snc-price-toolbar-v168{
  display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px;
  border-radius:24px;background:rgba(255,255,255,.72);border:1px solid rgba(148,163,184,.18);
  box-shadow:0 10px 28px rgba(15,23,42,.045);
}
.snc-price-toolbar-v168 strong{display:block;font-size:15px;color:#172033;letter-spacing:-.02em;}
.snc-price-toolbar-v168 span{display:block;margin-top:3px;font-size:12.5px;color:#7b8496;line-height:1.35;}
.snc-price-add-v168,
.snc-price-footer-v168 button{
  appearance:none;border:0;border-radius:18px;min-height:44px;padding:0 18px;cursor:pointer;white-space:nowrap;
  background:linear-gradient(135deg,var(--snc-accent),var(--snc-accent-2));color:#fff;font-weight:850;
  box-shadow:0 12px 26px color-mix(in srgb,var(--snc-accent) 22%,rgba(15,23,42,.12));
}
.snc-price-list-table-v168{display:flex!important;flex-direction:column!important;gap:10px!important;}
.snc-price-head-v168{
  display:grid!important;grid-template-columns:minmax(220px,1.5fr) 110px 190px 130px minmax(170px,1fr) 92px!important;
  gap:10px!important;padding:0 12px!important;color:#8a94a6!important;font-size:11px!important;font-weight:800!important;text-transform:uppercase!important;letter-spacing:.04em!important;
}
.snc-price-row-v168{
  display:grid!important;grid-template-columns:minmax(220px,1.5fr) 110px 190px 130px minmax(170px,1fr) 92px!important;
  gap:10px!important;align-items:center!important;padding:12px!important;border-radius:24px!important;
  background:rgba(255,255,255,.86)!important;border:1px solid rgba(148,163,184,.18)!important;
  box-shadow:0 10px 26px rgba(15,23,42,.045)!important;
}
.snc-price-cell-v168{display:flex!important;flex-direction:column!important;gap:5px!important;min-width:0!important;}
.snc-price-cell-v168 label{display:none!important;font-size:11px!important;color:#8a94a6!important;font-weight:750!important;}
.snc-price-row-v168 input,
.snc-price-row-v168 select{
  width:100%!important;min-height:42px!important;border-radius:16px!important;border:1px solid rgba(148,163,184,.24)!important;
  background:rgba(248,250,252,.82)!important;color:#172033!important;padding:0 12px!important;outline:none!important;
  font-family:inherit!important;font-weight:650!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.65)!important;
}
.snc-price-row-v168 input:focus,
.snc-price-row-v168 select:focus{border-color:color-mix(in srgb,var(--snc-accent) 55%,rgba(148,163,184,.24))!important;box-shadow:0 0 0 4px color-mix(in srgb,var(--snc-accent) 12%,transparent)!important;}
.snc-price-enabled-v168{display:flex!important;align-items:center!important;justify-content:center!important;gap:8px!important;height:42px!important;min-width:160px!important;padding:0 14px!important;border-radius:16px!important;background:rgba(248,250,252,.9)!important;border:1px solid rgba(148,163,184,.22)!important;color:#344154!important;font-size:12.5px!important;font-weight:800!important;white-space:nowrap!important;}
.snc-price-enabled-v168 input{width:16px!important;height:16px!important;min-height:16px!important;padding:0!important;accent-color:var(--snc-accent)!important;}
.snc-price-delete-v168{
  appearance:none;border:0;border-radius:16px;min-height:42px;padding:0 12px;cursor:pointer;
  background:rgba(254,226,226,.72);color:#b42318;font-weight:850;font-size:12.5px;
}
.snc-price-delete-v168:hover{background:rgba(254,202,202,.9);}
.snc-price-footer-v168{justify-content:flex-end!important;margin-top:2px!important;}
.snc-price-footer-v168 .snc-form-status{font-weight:750;color:#6b7280;}.snc-price-footer-v168 .snc-form-status:empty{display:none!important;}
@media(max-width:1050px){
  .snc-price-head-v168{display:none!important;}
  .snc-price-row-v168{grid-template-columns:1fr 1fr!important;}
  .snc-price-title-cell-v168,.snc-price-note-cell-v168{grid-column:1 / -1!important;}
  .snc-price-cell-v168 label{display:block!important;}
  .snc-price-enabled-v168,.snc-price-delete-v168{width:100%!important;}
}
@media(max-width:640px){
  .snc-price-toolbar-v168{align-items:stretch;flex-direction:column;}
  .snc-price-row-v168{grid-template-columns:1fr!important;}
  .snc-price-title-cell-v168,.snc-price-note-cell-v168{grid-column:auto!important;}
}

/* v1.1.69: price editor actions polish */
.snc-price-toolbar-v169{
  position:sticky!important;top:14px!important;z-index:5!important;
  padding:16px!important;border-radius:28px!important;
  background:linear-gradient(180deg,rgba(255,255,255,.92),rgba(255,255,255,.78))!important;
  box-shadow:0 18px 42px rgba(15,23,42,.08)!important;
}
.snc-price-actions-v169{display:flex!important;align-items:center!important;gap:10px!important;flex-wrap:wrap!important;justify-content:flex-end!important;}
.snc-price-add-v169{
  background:rgba(255,255,255,.9)!important;color:#172033!important;border:1px solid rgba(148,163,184,.28)!important;
  box-shadow:0 10px 24px rgba(15,23,42,.06)!important;
}
.snc-price-add-v169:hover{transform:translateY(-1px);box-shadow:0 14px 30px rgba(15,23,42,.08)!important;}
.snc-price-save-v169{
  appearance:none!important;border:0!important;border-radius:18px!important;min-height:44px!important;padding:0 20px!important;cursor:pointer!important;white-space:nowrap!important;
  background:linear-gradient(135deg,var(--snc-accent),var(--snc-accent-2))!important;color:#fff!important;font-weight:900!important;
  box-shadow:0 14px 30px color-mix(in srgb,var(--snc-accent) 24%,rgba(15,23,42,.12))!important;
}
.snc-price-save-v169:hover{transform:translateY(-1px);filter:saturate(1.04);}
.snc-price-row-v168{transition:transform .16s ease, box-shadow .16s ease, border-color .16s ease!important;}
.snc-price-row-v168:hover{transform:translateY(-1px)!important;border-color:rgba(148,163,184,.32)!important;box-shadow:0 16px 34px rgba(15,23,42,.07)!important;}
.snc-price-delete-v168{background:rgba(255,255,255,.86)!important;border:1px solid rgba(248,113,113,.28)!important;color:#b42318!important;}
.snc-price-footer-v169{
  position:sticky!important;bottom:10px!important;z-index:4!important;padding:12px!important;border-radius:24px!important;
  background:rgba(255,255,255,.78)!important;border:1px solid rgba(148,163,184,.18)!important;backdrop-filter:blur(16px)!important;
  box-shadow:0 -10px 30px rgba(15,23,42,.055)!important;
}
@media(max-width:760px){
  .snc-price-toolbar-v169{position:relative!important;top:auto!important;}
  .snc-price-actions-v169{width:100%!important;display:grid!important;grid-template-columns:1fr!important;}
  .snc-price-add-v169,.snc-price-save-v169{width:100%!important;}
}


/* v1.1.70: stronger visible price editor action buttons */
#tab-price .snc-price-actions-v169 .snc-price-save-v169,
#tab-price .snc-price-footer-v169 .snc-price-save-v169{
  background:linear-gradient(135deg,var(--snc-accent,#8b6f5e),var(--snc-accent-2,var(--snc-accent-2)))!important;
  color:#fff!important;
  border:1px solid rgba(255,255,255,.28)!important;
  box-shadow:0 16px 34px color-mix(in srgb,var(--snc-accent) 24%,transparent)!important;
}
#tab-price .snc-price-add-v169{
  background:linear-gradient(180deg,rgba(255,255,255,.98),rgba(248,250,252,.9))!important;
  color:#1f2937!important;
  border:1px solid var(--snc-accent-border)!important;
  box-shadow:0 12px 28px rgba(15,23,42,.07)!important;
}
#tab-price .snc-price-add-v169::before{content:'+';display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;margin-right:8px;border-radius:999px;background:var(--snc-accent-soft);color:var(--snc-accent,#8b6f5e);font-weight:950;}
#tab-price .snc-price-add-v169{font-weight:900!important;}
#tab-price .snc-price-row-new-v170{animation:sncPriceRowIn .22s ease-out both;}
@keyframes sncPriceRowIn{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}


/* v1.1.71: price editor final polish */
#tab-price .snc-price-footer-v169 button{display:none!important;}
#tab-price .snc-price-footer-v169{min-height:22px!important;justify-content:flex-start!important;margin-top:0!important;}
#tab-price .snc-price-save-v169{
  border:0!important;color:#fff!important;background:linear-gradient(135deg,var(--snc-accent),var(--snc-accent-2))!important;
  box-shadow:0 14px 34px color-mix(in srgb,var(--snc-accent) 24%,transparent)!important;border-radius:16px!important;min-height:42px!important;
  padding:0 18px!important;font-weight:900!important;letter-spacing:-.01em!important;
}
#tab-price .snc-price-add-v169{
  display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:8px!important;
  border:1px solid var(--snc-accent-border)!important;color:var(--snc-accent-ink)!important;background:rgba(255,255,255,.86)!important;
  box-shadow:0 10px 24px rgba(15,23,42,.06)!important;border-radius:16px!important;min-height:42px!important;
  padding:0 16px!important;font-weight:900!important;letter-spacing:-.01em!important;
}
#tab-price .snc-price-add-v169::before{content:none!important;}
#tab-price .snc-price-add-v169:hover,#tab-price .snc-price-save-v169:hover{transform:translateY(-1px)!important;filter:saturate(1.03)!important;}
#tab-price .snc-price-actions-v169{gap:10px!important;}


/* v1.1.73: price status true-hide + calendar toggle layout fix */
#tab-price .snc-price-footer-v169[hidden],
#tab-price .snc-price-footer-v169:not(.is-visible){
  display:none!important;
  padding:0!important;
  margin:0!important;
  min-height:0!important;
  height:0!important;
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
#tab-price .snc-price-footer-v169.is-visible{
  display:flex!important;
}
#tab-price .snc-price-row-v168,
#tab-price .snc-price-head-v168{
  grid-template-columns:minmax(210px,1.35fr) 100px 155px 160px minmax(220px,1fr) 88px!important;
}
#tab-price .snc-price-enabled-v168{
  width:100%!important;
  min-width:0!important;
  box-sizing:border-box!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:clip!important;
}
#tab-price .snc-price-note-cell-v168{min-width:0!important;}
#tab-price .snc-price-note-cell-v168 input{min-width:0!important;}
@media(max-width:1180px){
  #tab-price .snc-price-head-v168{display:none!important;}
  #tab-price .snc-price-row-v168{grid-template-columns:1fr 1fr!important;}
  #tab-price .snc-price-title-cell-v168,#tab-price .snc-price-note-cell-v168{grid-column:1 / -1!important;}
  #tab-price .snc-price-enabled-v168,#tab-price .snc-price-delete-v168{width:100%!important;}
}

/* v1.1.74: searchable client picker in calendar appointment form */
.snc-client-picker-field{position:relative!important;z-index:8!important;overflow:visible!important;}
.snc-client-picker{position:relative;width:100%;}
.snc-client-picker-input{padding-right:38px!important;background:linear-gradient(180deg,#fff,var(--snc-accent-wash))!important;}
.snc-client-picker::after{content:'⌕';position:absolute;right:14px;top:50%;transform:translateY(-50%);color:var(--snc-muted);font-weight:900;pointer-events:none;}
.snc-client-picker-results{position:absolute;left:0;right:0;top:calc(100% + 8px);z-index:80;display:none;max-height:280px;overflow:auto;padding:8px;border:1px solid var(--snc-line);border-radius:18px;background:rgba(255,255,255,.96);box-shadow:0 22px 52px rgba(15,23,42,.16);backdrop-filter:blur(14px);}
.snc-client-picker.is-open .snc-client-picker-results{display:grid;gap:6px;}
.snc-client-picker-option{width:100%!important;display:grid!important;grid-template-columns:1fr!important;align-items:start!important;justify-content:start!important;text-align:left!important;gap:3px!important;padding:11px 12px!important;border-radius:14px!important;background:transparent!important;color:var(--snc-text)!important;box-shadow:none!important;border:1px solid transparent!important;}
.snc-client-picker-option:hover,.snc-client-picker-option.is-selected{background:var(--snc-accent-soft)!important;border-color:var(--snc-line)!important;transform:none!important;filter:none!important;}
.snc-client-picker-option strong{font-size:13px;font-weight:900;color:var(--snc-accent-ink);line-height:1.2;}
.snc-client-picker-option small{font-size:11px;color:var(--snc-muted);line-height:1.25;white-space:normal;word-break:break-word;}
.snc-client-picker-empty{padding:13px 12px;border-radius:14px;background:var(--snc-accent-wash);color:var(--snc-muted);font-weight:750;text-align:center;}
@media(max-width:820px){.snc-client-picker-results{max-height:240px;}}

/* v1.1.75 client search hard filtering fix: .snc-client-picker-option uses display!important, so hidden needs its own rule */
.snc-client-picker-option[hidden],
.snc-client-picker-empty[hidden]{display:none!important;}


/* v1.1.76: client follow-up reminders */
.snc-followup-panel{margin:18px 0;background:linear-gradient(180deg,rgba(255,255,255,.86),rgba(255,255,255,.68));border:1px solid var(--snc-line);border-radius:26px;padding:18px;box-shadow:0 16px 40px rgba(15,23,42,.055);backdrop-filter:blur(18px)}
.snc-followup-calendar{margin:20px 0 14px}.snc-followup-head{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:12px}.snc-followup-head h2{margin:0!important;color:var(--snc-accent-ink);letter-spacing:-.02em}.snc-followup-head p{margin:5px 0 0;color:var(--snc-muted);font-size:13px;line-height:1.35}.snc-followup-head>span{min-width:36px;height:36px;border-radius:999px;display:grid;place-items:center;background:var(--snc-accent-soft);color:var(--snc-accent-ink);font-weight:950}.snc-followup-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.snc-followup-card{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:10px;padding:12px;border-radius:18px;border:1px solid var(--snc-line);background:rgba(255,255,255,.72)}.snc-followup-card.red{background:linear-gradient(180deg,#fff7f7,#fff)}.snc-followup-card.yellow{background:linear-gradient(180deg,#fffaf0,#fff)}.snc-followup-card.green{background:linear-gradient(180deg,#f5fff8,#fff)}.snc-followup-main{border:0;background:transparent!important;box-shadow:none!important;color:var(--snc-text)!important;text-align:left!important;padding:0!important;display:grid!important;gap:3px!important;justify-content:stretch!important}.snc-followup-main strong{font-size:14px;color:var(--snc-accent-ink);font-weight:950;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.snc-followup-main small{font-size:12px;color:var(--snc-muted);white-space:normal}.snc-followup-badge{white-space:nowrap;border-radius:999px;padding:7px 10px;font-size:12px;font-weight:900}.snc-followup-badge.green{background:#e4f1e8;color:#2f7d4a}.snc-followup-badge.yellow{background:#fff1c9;color:#9a6a00}.snc-followup-badge.red{background:#f8dfdf;color:#b33a3a}.snc-followup-empty{border:1px dashed var(--snc-line);border-radius:18px;padding:14px;color:var(--snc-muted);background:rgba(255,255,255,.55)}.snc-followup-wa{justify-content:center!important}.snc-followup-context{border-left:4px solid var(--snc-accent-2)}
@media(max-width:1180px){.snc-followup-list{grid-template-columns:1fr}.snc-followup-card{grid-template-columns:1fr auto}.snc-followup-wa{grid-column:1 / -1;width:100%}}

/* v1.1.77: developer test follow-up notification */
.snc-dev-test-box{margin-bottom:16px}
.snc-dev-test-reminder{justify-self:start;border:0!important;min-height:44px;padding:12px 18px!important;border-radius:16px!important;font-weight:950!important;cursor:pointer!important}
.snc-test-reminder-toast{position:fixed;right:24px;bottom:24px;z-index:999999;width:min(420px,calc(100vw - 32px));background:rgba(255,255,255,.92);border:1px solid var(--snc-line);border-radius:24px;box-shadow:0 22px 70px rgba(15,23,42,.18);backdrop-filter:blur(18px);padding:16px;display:grid;gap:12px;animation:sncToastIn .18s ease-out}
.snc-test-reminder-toast .snc-test-top{display:flex;align-items:flex-start;gap:12px}
.snc-test-reminder-toast .snc-test-dot{width:12px;height:12px;border-radius:999px;background:#ef4444;box-shadow:0 0 0 5px rgba(239,68,68,.12);margin-top:6px;flex:0 0 auto}
.snc-test-reminder-toast strong{display:block;color:var(--snc-accent-ink);font-size:15px;font-weight:950;letter-spacing:-.01em}
.snc-test-reminder-toast span{display:block;color:var(--snc-muted);font-size:13px;line-height:1.35;margin-top:3px}
.snc-test-reminder-toast .snc-test-actions{display:flex;gap:8px;flex-wrap:wrap}
.snc-test-reminder-toast button{border:0;border-radius:14px;padding:10px 13px;font-weight:900;cursor:pointer}
.snc-test-reminder-toast .snc-test-open{background:linear-gradient(135deg,var(--snc-accent),var(--snc-accent-2));color:#fff}
.snc-test-reminder-toast .snc-test-close{background:var(--snc-accent-wash);color:var(--snc-accent-ink);border:1px solid var(--snc-line)}
.snc-test-reminder-toast .snc-test-card{display:none;border:1px solid var(--snc-line);border-radius:18px;background:var(--snc-accent-wash);padding:12px}
.snc-test-reminder-toast.open .snc-test-card{display:grid;gap:7px}
.snc-test-reminder-toast .snc-test-status{display:inline-flex;width:max-content;border-radius:999px;padding:6px 10px;font-size:12px;font-weight:950;background:#f8dfdf;color:#b33a3a}
@keyframes sncToastIn{from{opacity:0;transform:translateY(10px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}
@media(max-width:640px){.snc-test-reminder-toast{right:16px;bottom:16px}}


/* v1.1.81 — polished client appointment history inside client modal */
.snc-history-box{
  overflow:hidden!important;
}
.snc-client-history-list{
  margin-top:12px!important;
}
.snc-client-history-list .snc-history-empty{
  border:1px dashed rgba(28,25,23,.16)!important;
  background:rgba(255,255,255,.58)!important;
  border-radius:18px!important;
  padding:14px 16px!important;
  color:rgba(28,25,23,.56)!important;
  font-weight:700!important;
}
.snc-history-timeline{
  display:grid!important;
  gap:10px!important;
}
.snc-history-card{
  display:grid!important;
  grid-template-columns:minmax(116px,132px) minmax(0,1fr)!important;
  gap:12px!important;
  align-items:stretch!important;
  padding:12px!important;
  border-radius:20px!important;
  border:1px solid rgba(28,25,23,.08)!important;
  background:linear-gradient(135deg,rgba(255,255,255,.86),rgba(255,255,255,.58))!important;
  box-shadow:0 10px 28px rgba(32,24,20,.06)!important;
}
.snc-history-date{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  text-align:center!important;
  min-height:58px!important;
  padding:10px 8px!important;
  border-radius:16px!important;
  background:rgba(246,232,222,.76)!important;
  color:#7c4a35!important;
  font-size:12px!important;
  line-height:1.25!important;
  font-weight:900!important;
  letter-spacing:-.01em!important;
  white-space:normal!important;
}
.snc-history-content{
  min-width:0!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
  gap:7px!important;
}
.snc-history-top{
  display:flex!important;
  align-items:flex-start!important;
  justify-content:space-between!important;
  gap:12px!important;
}
.snc-history-title{
  min-width:0!important;
  color:#241916!important;
  font-size:14px!important;
  line-height:1.3!important;
  font-weight:900!important;
  overflow-wrap:anywhere!important;
}
.snc-history-total{
  flex:0 0 auto!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-width:58px!important;
  padding:7px 10px!important;
  border-radius:999px!important;
  background:#241916!important;
  color:#fff!important;
  font-size:13px!important;
  line-height:1!important;
  font-weight:900!important;
  box-shadow:0 8px 18px rgba(36,25,22,.13)!important;
}
.snc-history-meta{
  display:flex!important;
  align-items:center!important;
  gap:8px!important;
  flex-wrap:wrap!important;
}
.snc-history-status{
  display:inline-flex!important;
  align-items:center!important;
  min-height:24px!important;
  padding:5px 9px!important;
  border-radius:999px!important;
  background:rgba(120,113,108,.12)!important;
  color:rgba(68,64,60,.88)!important;
  font-size:11px!important;
  line-height:1!important;
  font-weight:900!important;
}
.snc-history-status.done{background:rgba(34,197,94,.13)!important;color:#15803d!important;}
.snc-history-status.planned{background:rgba(245,158,11,.15)!important;color:#b45309!important;}
.snc-history-status.cancel{background:rgba(239,68,68,.12)!important;color:#b91c1c!important;}
.snc-history-note{
  border-radius:14px!important;
  padding:9px 10px!important;
  background:rgba(255,255,255,.62)!important;
  color:rgba(68,64,60,.78)!important;
  font-size:12px!important;
  line-height:1.45!important;
  font-weight:650!important;
  overflow-wrap:anywhere!important;
}
@media(max-width:720px){
  .snc-history-card{grid-template-columns:1fr!important;gap:8px!important;}
  .snc-history-date{justify-content:flex-start!important;text-align:left!important;min-height:auto!important;}
  .snc-history-top{align-items:center!important;}
}


/* v1.1.82: dashboard Today status badge */
.snc-agenda-item-v182{
  position:relative;
  grid-template-columns:52px minmax(0,1fr) auto!important;
  gap:6px 12px!important;
}
.snc-agenda-item-v182 b{grid-row:span 2;}
.snc-agenda-item-v182 span,
.snc-agenda-item-v182 small{min-width:0;}
.snc-today-status-badge{
  grid-column:3;
  grid-row:1 / span 2;
  align-self:center;
  justify-self:end;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  white-space:nowrap;
  min-width:92px;
  padding:7px 10px;
  border-radius:999px;
  font-style:normal;
  font-size:11px;
  font-weight:950;
  letter-spacing:.01em;
  border:1px solid rgba(255,255,255,.65);
  box-shadow:0 8px 18px rgba(17,24,39,.06);
}
.snc-today-status-badge.planned{background:rgba(245,158,11,.15);color:#b45309;border-color:rgba(245,158,11,.22);}
.snc-today-status-badge.completed{background:rgba(34,197,94,.14);color:#15803d;border-color:rgba(34,197,94,.22);}
.snc-today-status-badge.cancelled,.snc-today-status-badge.no_show{background:rgba(239,68,68,.12);color:#b91c1c;border-color:rgba(239,68,68,.2);}
@media(max-width:680px){
  .snc-agenda-item-v182{grid-template-columns:50px minmax(0,1fr)!important;}
  .snc-today-status-badge{grid-column:2;grid-row:auto;justify-self:start;margin-top:2px;min-width:0;}
}

/* v1.1.84: client modal action cleanup */
.snc-whatsapp-reminder-btn{white-space:nowrap;min-width:190px;background:linear-gradient(135deg,var(--snc-accent),var(--snc-accent-2))!important;color:#fff!important;border:0!important;box-shadow:0 12px 24px rgba(0,0,0,.10)!important}

/* v1.1.85 — client history visual tune to match active theme */
.snc-history-box{
  background:linear-gradient(135deg,var(--snc-panel-solid),var(--snc-accent-wash))!important;
  border-color:var(--snc-line)!important;
}
.snc-history-box > span{
  color:var(--snc-accent-ink)!important;
  font-weight:900!important;
}
.snc-client-history-list .snc-history-empty{
  border-color:var(--snc-line)!important;
  background:rgba(255,255,255,.62)!important;
  color:var(--snc-muted)!important;
}
.snc-history-card{
  border:1px solid color-mix(in srgb,var(--snc-accent) 16%,var(--snc-line))!important;
  background:linear-gradient(135deg,rgba(255,255,255,.94),var(--snc-accent-wash))!important;
  box-shadow:0 14px 34px color-mix(in srgb,var(--snc-accent) 10%,transparent)!important;
}
.snc-history-card:hover{
  transform:translateY(-1px)!important;
  border-color:color-mix(in srgb,var(--snc-accent) 28%,var(--snc-line))!important;
  box-shadow:0 18px 42px color-mix(in srgb,var(--snc-accent) 14%,transparent)!important;
}
.snc-history-date{
  background:linear-gradient(135deg,var(--snc-accent-soft),rgba(255,255,255,.72))!important;
  color:var(--snc-accent-ink)!important;
  border:1px solid color-mix(in srgb,var(--snc-accent) 18%,var(--snc-line))!important;
}
.snc-history-title{
  color:var(--snc-text)!important;
}
.snc-history-total{
  min-width:68px!important;
  background:linear-gradient(135deg,var(--snc-accent),var(--snc-accent-2))!important;
  color:#fff!important;
  box-shadow:0 10px 22px color-mix(in srgb,var(--snc-accent) 24%,transparent)!important;
  border:1px solid rgba(255,255,255,.45)!important;
}
.snc-history-status{
  background:var(--snc-accent-soft)!important;
  color:var(--snc-accent-ink)!important;
  border:1px solid color-mix(in srgb,var(--snc-accent) 16%,var(--snc-line))!important;
}
.snc-history-status.done{
  background:color-mix(in srgb,var(--snc-ok) 14%,#fff)!important;
  color:var(--snc-ok)!important;
  border-color:color-mix(in srgb,var(--snc-ok) 24%,var(--snc-line))!important;
}
.snc-history-status.planned{
  background:var(--snc-accent-soft)!important;
  color:var(--snc-accent-ink)!important;
  border-color:color-mix(in srgb,var(--snc-accent) 22%,var(--snc-line))!important;
}
.snc-history-status.cancel{
  background:color-mix(in srgb,var(--snc-danger) 11%,#fff)!important;
  color:var(--snc-danger)!important;
  border-color:color-mix(in srgb,var(--snc-danger) 22%,var(--snc-line))!important;
}
.snc-history-note{
  background:rgba(255,255,255,.72)!important;
  color:var(--snc-muted)!important;
  border:1px solid var(--snc-line)!important;
}


/* v1.1.87: real appointment info popup status colors */
.snc-dashboard-appt-body-v151 [data-appt-status].snc-appt-info-status-pill{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:max-content!important;
  min-height:30px!important;
  padding:7px 12px!important;
  border-radius:999px!important;
  font-size:12px!important;
  line-height:1!important;
  font-weight:900!important;
  letter-spacing:.01em!important;
  box-shadow:none!important;
  border:1px solid transparent!important;
  color:#26303f!important;
  background:rgba(15,23,42,.08)!important;
}
.snc-dashboard-appt-body-v151 [data-appt-status].snc-appt-info-status-pill.planned{
  background:rgba(245,158,11,.16)!important;
  color:#92400e!important;
  border-color:rgba(245,158,11,.22)!important;
}
.snc-dashboard-appt-body-v151 [data-appt-status].snc-appt-info-status-pill.completed{
  background:rgba(34,197,94,.14)!important;
  color:#15803d!important;
  border-color:rgba(34,197,94,.22)!important;
}
.snc-dashboard-appt-body-v151 [data-appt-status].snc-appt-info-status-pill.cancelled{
  background:rgba(239,68,68,.13)!important;
  color:#b91c1c!important;
  border-color:rgba(239,68,68,.22)!important;
}
.snc-dashboard-appt-body-v151 [data-appt-status].snc-appt-info-status-pill.no_show{
  background:rgba(15,23,42,.09)!important;
  color:#111827!important;
  border-color:rgba(15,23,42,.16)!important;
}


/* v1.1.88: unified CRM status colors everywhere
   planned = yellow, completed = green, cancelled = red, no_show = dark neutral */
.snc-status,
.snc-dash-appt-status-v151,
.snc-today-status-badge,
.snc-history-status,
.snc-appt-info-status-pill,
[data-appt-status].snc-appt-info-status-pill{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:max-content!important;
  max-width:100%!important;
  min-height:28px!important;
  padding:7px 11px!important;
  border-radius:999px!important;
  font-size:11.5px!important;
  line-height:1!important;
  font-weight:900!important;
  font-style:normal!important;
  letter-spacing:.01em!important;
  white-space:nowrap!important;
  border:1px solid transparent!important;
  box-shadow:0 8px 18px rgba(17,24,39,.04)!important;
}
.snc-status.planned,
.snc-dash-appt-status-v151.planned,
.snc-today-status-badge.planned,
.snc-history-status.planned,
.snc-appt-info-status-pill.planned,
[data-appt-status].snc-appt-info-status-pill.planned{
  background:rgba(245,158,11,.15)!important;
  color:#92400e!important;
  border-color:rgba(245,158,11,.24)!important;
}
.snc-status.completed,
.snc-dash-appt-status-v151.completed,
.snc-today-status-badge.completed,
.snc-history-status.completed,
.snc-history-status.done,
.snc-appt-info-status-pill.completed,
[data-appt-status].snc-appt-info-status-pill.completed{
  background:rgba(34,197,94,.14)!important;
  color:#15803d!important;
  border-color:rgba(34,197,94,.24)!important;
}
.snc-status.cancelled,
.snc-dash-appt-status-v151.cancelled,
.snc-today-status-badge.cancelled,
.snc-history-status.cancelled,
.snc-history-status.cancel,
.snc-appt-info-status-pill.cancelled,
[data-appt-status].snc-appt-info-status-pill.cancelled{
  background:rgba(239,68,68,.13)!important;
  color:#b91c1c!important;
  border-color:rgba(239,68,68,.24)!important;
}
.snc-status.no_show,
.snc-dash-appt-status-v151.no_show,
.snc-today-status-badge.no_show,
.snc-history-status.no_show,
.snc-appt-info-status-pill.no_show,
[data-appt-status].snc-appt-info-status-pill.no_show{
  background:rgba(15,23,42,.09)!important;
  color:#111827!important;
  border-color:rgba(15,23,42,.16)!important;
}
/* Calendar event pills also follow the same status palette, but remain appointment cards */
.snc-calendar-shell .snc-event-pill.planned,
.snc-event-pill.planned{
  background:linear-gradient(135deg,rgba(255,255,255,.96),rgba(245,158,11,.10))!important;
  border-color:rgba(245,158,11,.24)!important;
}
.snc-calendar-shell .snc-event-pill.completed,
.snc-event-pill.completed{
  background:linear-gradient(135deg,rgba(255,255,255,.96),rgba(34,197,94,.10))!important;
  border-color:rgba(34,197,94,.24)!important;
}
.snc-calendar-shell .snc-event-pill.cancelled,
.snc-event-pill.cancelled{
  background:linear-gradient(135deg,rgba(255,255,255,.96),rgba(239,68,68,.10))!important;
  border-color:rgba(239,68,68,.24)!important;
}
.snc-calendar-shell .snc-event-pill.no_show,
.snc-event-pill.no_show{
  background:linear-gradient(135deg,rgba(255,255,255,.96),rgba(15,23,42,.07))!important;
  border-color:rgba(15,23,42,.16)!important;
}


#sncFullscreen{
 width:42px;
 min-width:42px;
 height:42px;
 padding:0 !important;
 display:inline-flex;
 align-items:center;
 justify-content:center;
 border-radius:14px;
 font-size:18px;
 line-height:1;
}

/* v1.1.90 no flash on fullscreen button */
.snc-fullscreen-btn{
  width:42px!important;
  height:42px!important;
  min-width:42px!important;
  max-width:42px!important;
  padding:0!important;
  flex:0 0 42px!important;
  display:inline-grid!important;
  place-items:center!important;
  overflow:hidden!important;
  text-indent:0!important;
  line-height:1!important;
}
.snc-fullscreen-btn .snc-fs-icon{
  width:19px!important;
  height:19px!important;
  display:block!important;
  fill:none!important;
  stroke:currentColor!important;
  stroke-width:1.9!important;
  stroke-linecap:round!important;
  stroke-linejoin:round!important;
}
@media(max-width:820px){.snc-fullscreen-btn{width:40px!important;height:40px!important;min-width:40px!important;max-width:40px!important;}}


/* v1.1.94: mobile app mode + full mobile layout safety */
body.snc-crm-app-mode{
  background:var(--snc-bg-a,#f7f3ef)!important;
  overflow-x:hidden!important;
}
body.snc-crm-app-mode .snc-app{
  width:100%!important;
  max-width:100%!important;
  min-height:100dvh!important;
  margin:0!important;
}
body.snc-crm-app-mode .entry-content > *{
  max-width:none!important;
}
.snc-app,
.snc-main,
.snc-panel,
.snc-card,
.snc-table,
.snc-client-card,
.snc-client-modal-card,
.snc-appt-info-card{
  max-width:100%;
}
.snc-main,
.snc-panel,
.snc-card,
.snc-client-card,
.snc-followup-card,
.snc-dash-appt-v151,
.snc-today-item,
.snc-history-item,
.snc-price-row,
.snc-price-toolbar,
.snc-topbar,
.snc-top-actions{
  min-width:0!important;
}
.snc-table,
.snc-calendar-board,
.snc-month-weekdays,
.snc-month-grid,
.snc-week-grid,
.snc-day-grid{
  -webkit-overflow-scrolling:touch;
}
.snc-table table{
  min-width:720px;
}
.snc-modal-client-form input,
.snc-modal-client-form select,
.snc-modal-client-form textarea,
.snc-appointment-form-clean input,
.snc-appointment-form-clean select,
.snc-appointment-form-clean textarea,
.snc-form input,
.snc-form select,
.snc-form textarea{
  max-width:100%!important;
}
@media(max-width:820px){
  body.snc-crm-app-mode .snc-app,
  .snc-app{
    border-radius:0!important;
    min-height:100svh!important;
  }
  .snc-main{
    padding:14px!important;
    overflow:visible!important;
  }
  .snc-sidebar{
    position:sticky!important;
    top:0!important;
    z-index:50!important;
    width:100%!important;
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
    gap:7px!important;
    padding:10px!important;
    border-right:0!important;
    border-bottom:1px solid var(--snc-line)!important;
    border-radius:0!important;
  }
  .snc-sidebar button{
    min-width:0!important;
    min-height:38px!important;
    padding:9px 7px!important;
    justify-content:center!important;
    text-align:center!important;
    border-radius:13px!important;
  }
  .snc-sidebar button em{
    max-width:100%!important;
    font-size:11.5px!important;
    line-height:1.1!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
  }
  .snc-brand{
    margin:0!important;
    padding:2px 4px 8px!important;
  }
  .snc-logo{
    width:40px!important;
    height:40px!important;
    border-radius:14px!important;
  }
  .snc-side-card{
    display:none!important;
  }
  .snc-topbar{
    display:grid!important;
    gap:12px!important;
    margin-bottom:16px!important;
  }
  .snc-topbar h1{
    font-size:22px!important;
    white-space:normal!important;
  }
  .snc-topbar p{
    font-size:13px!important;
  }
  .snc-top-actions{
    display:grid!important;
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
    gap:8px!important;
    width:100%!important;
  }
  .snc-top-actions .snc-chip,
  .snc-top-actions .snc-theme-toggle{
    width:100%!important;
    min-width:0!important;
    min-height:40px!important;
    padding:8px 9px!important;
    font-size:12px!important;
    border-radius:14px!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
  }
  .snc-top-actions .snc-theme-picker{
    min-width:0!important;
  }
  .snc-top-actions .snc-fullscreen-btn{
    width:40px!important;
    height:40px!important;
    min-width:40px!important;
    max-width:40px!important;
    justify-self:end!important;
  }
  .snc-panel,
  .snc-card{
    border-radius:22px!important;
    padding:16px!important;
  }
  .snc-panel-head{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:12px!important;
    align-items:start!important;
  }
  .snc-panel-head .snc-search{
    width:100%!important;
  }
  .snc-grid-4,
  .snc-grid-3,
  .snc-grid-2,
  .snc-dashboard-layout,
  .snc-client-grid,
  .snc-followup-list{
    grid-template-columns:1fr!important;
  }
  .snc-table{
    overflow-x:auto!important;
    width:100%!important;
  }
  .snc-table th,
  .snc-table td{
    padding:11px 12px!important;
  }
  .snc-calendar-tools{
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    width:100%!important;
  }
  .snc-calendar-tools button{
    width:100%!important;
    min-width:0!important;
    text-align:center!important;
  }
  .snc-calendar-board,
  .snc-month-weekdays,
  .snc-month-grid{
    width:100%!important;
    overflow-x:auto!important;
  }
  .snc-appointment-form-clean.snc-form,
  .snc-appointment-form.snc-form,
  .snc-form{
    grid-template-columns:1fr!important;
  }
  .snc-appointment-form-clean .snc-field,
  .snc-form .snc-field,
  .snc-form-footer{
    grid-column:1/-1!important;
  }
  .snc-form-footer,
  .snc-actions,
  .snc-client-actions,
  .snc-modal-actions{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:9px!important;
    width:100%!important;
  }
  .snc-actions > *,
  .snc-form-footer > *,
  .snc-client-actions > *,
  .snc-modal-actions > *{
    width:100%!important;
    justify-content:center!important;
  }
  .snc-client-card{
    grid-template-columns:42px 1fr!important;
    gap:10px!important;
    padding:13px!important;
  }
  .snc-client-card strong,
  .snc-client-card small,
  .snc-dash-appt-text-v151,
  .snc-dash-appt-text-v151 strong,
  .snc-dash-appt-text-v151 small,
  .snc-history-title,
  .snc-history-meta{
    min-width:0!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
  }
  .snc-client-modal-card,
  body .snc-client-modal-card{
    width:calc(100vw - 18px)!important;
    max-width:calc(100vw - 18px)!important;
    min-width:0!important;
    max-height:calc(100svh - 18px)!important;
    border-radius:22px!important;
  }
  .snc-client-modal-body{
    padding:16px!important;
    max-height:calc(100svh - 74px)!important;
    overflow:auto!important;
  }
  .snc-appt-info-card{
    width:calc(100vw - 18px)!important;
    max-width:calc(100vw - 18px)!important;
    max-height:calc(100svh - 18px)!important;
    overflow:auto!important;
    border-radius:22px!important;
  }
  .snc-appt-info-grid,
  .snc-appt-info-main,
  .snc-history-item,
  .snc-price-row{
    grid-template-columns:1fr!important;
  }
  .snc-history-price,
  .snc-price-actions{
    justify-self:start!important;
  }
  .snc-price-row .snc-field,
  .snc-price-row input{
    min-width:0!important;
    width:100%!important;
  }
  .snc-followup-card{
    grid-template-columns:1fr!important;
  }
  .snc-followup-badge,
  .snc-followup-wa{
    justify-self:start!important;
  }
}
@media(max-width:430px){
  .snc-main{padding:10px!important;}
  .snc-sidebar{grid-template-columns:repeat(3,minmax(0,1fr))!important;}
  .snc-top-actions{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
  .snc-top-actions .snc-fullscreen-btn{justify-self:stretch!important;width:100%!important;max-width:none!important;}
  .snc-brand span{font-size:11px!important;}
  .snc-panel,.snc-card{padding:14px!important;border-radius:20px!important;}
}


/* v1.1.95 — mobile popup/button safety + desktop time accent polish */
:root{
  --snc-time-accent: color-mix(in srgb,var(--snc-accent) 86%,#2f241f);
  --snc-time-accent-soft: color-mix(in srgb,var(--snc-accent) 12%,#fff);
  --snc-time-accent-line: color-mix(in srgb,var(--snc-accent) 22%,rgba(15,23,42,.08));
}

/* перенос красивого акцента времени на desktop */
.snc-agenda-item b,
.snc-dash-appt-time-v151 b,
.snc-event-pill strong,
.snc-hour-label,
.snc-day-title,
.snc-dashboard-appt-body-v151 [data-appt-datetime],
.snc-kpi-next strong{
  color:var(--snc-time-accent)!important;
}
.snc-dash-appt-time-v151{
  align-items:center!important;
  justify-content:center!important;
  min-width:54px!important;
  padding:8px 7px!important;
  border-radius:15px!important;
  background:var(--snc-time-accent-soft)!important;
  border:1px solid var(--snc-time-accent-line)!important;
}
.snc-agenda-item b{
  display:grid!important;
  place-items:center!important;
  min-height:38px!important;
  border-radius:14px!important;
  background:var(--snc-time-accent-soft)!important;
  border:1px solid var(--snc-time-accent-line)!important;
}

/* общий анти-overflow для popup-окон */
.snc-client-modal-card,
.snc-dashboard-appt-card-v151,
.snc-sign-box,
.snc-test-reminder-toast,
.snc-picker-popover,
.snc-theme-menu{
  box-sizing:border-box!important;
  max-width:calc(100vw - 24px)!important;
}
.snc-client-modal-body,
.snc-dashboard-appt-body-v151,
.snc-sign-box{
  -webkit-overflow-scrolling:touch!important;
}
.snc-client-modal-card *,
.snc-dashboard-appt-card-v151 *,
.snc-sign-box *,
.snc-test-reminder-toast *{
  min-width:0;
}
.snc-modal-actions,
.snc-sign-actions,
.snc-form-footer{
  flex-wrap:wrap!important;
}
.snc-modal-actions .snc-btn,
.snc-modal-actions button,
.snc-modal-actions a,
.snc-sign-actions button{
  white-space:nowrap!important;
}

@media(max-width:820px){
  .snc-client-modal,
  .snc-dashboard-appt-modal-v151,
  .snc-sign-modal{
    padding:max(10px,env(safe-area-inset-top)) max(10px,env(safe-area-inset-right)) max(10px,env(safe-area-inset-bottom)) max(10px,env(safe-area-inset-left))!important;
  }
  .snc-client-modal-card,
  body .snc-client-modal-card,
  .snc-dashboard-appt-card-v151,
  .snc-sign-box,
  .snc-appt-info-card{
    left:auto!important;
    top:auto!important;
    right:auto!important;
    bottom:auto!important;
    transform:none!important;
    position:relative!important;
    width:100%!important;
    max-width:calc(100vw - 20px)!important;
    min-width:0!important;
    max-height:calc(100svh - 20px)!important;
    border-radius:22px!important;
    overflow:hidden!important;
  }
  .snc-dashboard-appt-modal-v151.open,
  .snc-sign-modal.open{
    display:grid!important;
    place-items:center!important;
  }
  .snc-dashboard-appt-backdrop-v151,
  .snc-client-modal-backdrop{
    position:fixed!important;
    inset:0!important;
  }
  .snc-client-modal-body,
  .snc-dashboard-appt-body-v151{
    max-height:calc(100svh - 82px)!important;
    overflow:auto!important;
    padding:16px!important;
  }
  .snc-dashboard-appt-head-v151{
    padding:13px 14px!important;
  }
  .snc-dashboard-appt-head-v151 strong{
    font-size:14px!important;
  }
  .snc-dashboard-appt-top-v151,
  .snc-dashboard-appt-grid-v151,
  .snc-client-modal-grid{
    grid-template-columns:1fr!important;
    gap:10px!important;
  }
  .snc-dashboard-appt-top-v151 > div,
  .snc-dashboard-appt-grid-v151 > div,
  .snc-dashboard-appt-box-v151,
  .snc-client-modal-grid div,
  .snc-client-modal-notes{
    padding:13px!important;
    border-radius:18px!important;
  }
  .snc-modal-actions,
  .snc-sign-actions,
  .snc-form-footer,
  .snc-client-save-row{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:9px!important;
    width:100%!important;
  }
  .snc-modal-actions .snc-btn,
  .snc-modal-actions button,
  .snc-modal-actions a,
  .snc-sign-actions button,
  .snc-form-footer button,
  .snc-form-footer .snc-btn{
    width:100%!important;
    max-width:100%!important;
    justify-content:center!important;
    text-align:center!important;
    white-space:normal!important;
    min-height:42px!important;
  }
  .snc-whatsapp-reminder-btn{
    min-width:0!important;
  }
  .snc-sign-box canvas{
    height:min(260px,42svh)!important;
  }
  .snc-test-reminder-toast{
    left:10px!important;
    right:10px!important;
    bottom:calc(10px + env(safe-area-inset-bottom))!important;
    width:auto!important;
    max-width:none!important;
  }
  .snc-picker-popover,
  .snc-theme-menu{
    max-width:calc(100vw - 28px)!important;
  }
}

@media(max-width:430px){
  .snc-dashboard-appt-body-v151,
  .snc-client-modal-body{
    padding:14px!important;
  }
  .snc-dashboard-appt-head-v151 button,
  .snc-client-modal-close,
  .snc-client-modal-minimize{
    width:38px!important;
    height:38px!important;
    min-width:38px!important;
  }
  .snc-dashboard-appt-body-v151 h3{
    font-size:16px!important;
    overflow-wrap:anywhere!important;
  }
  .snc-appt-info-status-pill,
  [data-appt-status].snc-appt-info-status-pill,
  .snc-status,
  .snc-today-status-badge,
  .snc-dash-appt-status-v151{
    max-width:100%!important;
    white-space:normal!important;
    text-align:center!important;
    line-height:1.15!important;
  }
}

/* v1.1.97 — mobile polish: compact dashboard time/date, app shell, offcanvas menu */
.snc-dash-appt-time-v151{
  min-width:48px!important;
  padding:6px 6px!important;
  border-radius:13px!important;
  line-height:1.05!important;
}
.snc-dash-appt-time-v151 b{
  font-size:13px!important;
  line-height:1!important;
  letter-spacing:-.02em!important;
}
.snc-dash-appt-time-v151 small{
  font-size:9.5px!important;
  line-height:1.05!important;
  margin-top:3px!important;
  white-space:nowrap!important;
}
.snc-dash-appt-main-v151{
  gap:10px!important;
  padding:10px!important;
}
.snc-dashboard-appointments-v151 .snc-dash-appt-text-v151 strong{font-size:13.5px!important;}
.snc-dashboard-appointments-v151 .snc-dash-appt-text-v151 small{font-size:11.5px!important;}
.snc-mobile-menu-toggle,.snc-mobile-nav-backdrop{display:none;}

@media(max-width:820px){
  body.snc-crm-app-mode #masthead,
  body.snc-crm-app-mode .site-header,
  body.snc-crm-app-mode header.site-header,
  body.snc-crm-app-mode .main-header-bar,
  body.snc-crm-app-mode .ast-mobile-header-wrap,
  body.snc-crm-app-mode .ast-primary-header-bar,
  body.snc-crm-app-mode .ast-above-header-bar,
  body.snc-crm-app-mode .ast-below-header-bar,
  body.snc-crm-app-mode #colophon,
  body.snc-crm-app-mode .site-footer,
  body.snc-crm-app-mode footer,
  body.snc-crm-app-mode .footer-adv,
  body.snc-crm-app-mode .ast-footer-copyright,
  body.snc-crm-app-mode .entry-header,
  body.snc-crm-app-mode .page-title,
  body.snc-crm-app-mode .woocommerce-MyAccount-navigation{
    display:none!important;
    height:0!important;
    min-height:0!important;
    overflow:hidden!important;
  }
  body.snc-crm-app-mode,
  body.snc-crm-app-mode .site,
  body.snc-crm-app-mode #page,
  body.snc-crm-app-mode #content,
  body.snc-crm-app-mode .site-content,
  body.snc-crm-app-mode .content-area,
  body.snc-crm-app-mode .entry-content,
  body.snc-crm-app-mode .ast-container,
  body.snc-crm-app-mode .woocommerce,
  body.snc-crm-app-mode .woocommerce-MyAccount-content{
    margin:0!important;
    padding:0!important;
    width:100%!important;
    max-width:none!important;
  }
  .snc-app{position:relative!important;min-height:100svh!important;border-radius:0!important;}
  .snc-mobile-menu-toggle{
    display:grid!important;
    position:fixed!important;
    left:12px!important;
    top:calc(10px + env(safe-area-inset-top))!important;
    z-index:10050!important;
    width:42px!important;
    height:42px!important;
    border:1px solid var(--snc-line)!important;
    border-radius:15px!important;
    background:rgba(255,255,255,.88)!important;
    backdrop-filter:blur(16px)!important;
    box-shadow:0 14px 34px rgba(0,0,0,.12)!important;
    place-items:center!important;
    padding:9px!important;
  }
  .snc-mobile-menu-toggle span{
    display:block!important;
    width:18px!important;
    height:2px!important;
    border-radius:99px!important;
    background:var(--snc-accent-ink)!important;
    margin:2px 0!important;
  }
  .snc-mobile-nav-backdrop{
    display:block!important;
    position:fixed!important;
    inset:0!important;
    z-index:10030!important;
    background:rgba(40,32,27,.22)!important;
    backdrop-filter:blur(4px)!important;
    opacity:0!important;
    pointer-events:none!important;
    transition:opacity .18s ease!important;
  }
  body.snc-mobile-nav-open .snc-mobile-nav-backdrop{opacity:1!important;pointer-events:auto!important;}
  .snc-sidebar{
    position:fixed!important;
    left:10px!important;
    top:calc(60px + env(safe-area-inset-top))!important;
    bottom:calc(10px + env(safe-area-inset-bottom))!important;
    z-index:10040!important;
    width:min(310px,calc(100vw - 20px))!important;
    display:flex!important;
    flex-direction:column!important;
    transform:translateX(calc(-100% - 22px))!important;
    transition:transform .22s ease!important;
    overflow:auto!important;
    border-radius:24px!important;
    box-shadow:0 24px 70px rgba(0,0,0,.22)!important;
    padding:16px!important;
  }
  body.snc-mobile-nav-open .snc-sidebar{transform:translateX(0)!important;}
  .snc-sidebar .snc-brand{display:none!important;}
  .snc-side-card{margin:0 0 10px!important;}
  .snc-main{padding-top:64px!important;}
  .snc-topbar{margin-bottom:14px!important;}
  .snc-topbar h1{display:none!important;}
  .snc-topbar p{font-size:13px!important;line-height:1.25!important;margin-top:4px!important;}
  .snc-eyebrow{font-size:10px!important;margin-left:48px!important;}
  .snc-fullscreen-btn{display:none!important;}
  .snc-dash-appt-time-v151{min-width:44px!important;padding:5px 5px!important;border-radius:12px!important;}
  .snc-dash-appt-time-v151 b{font-size:12px!important;}
  .snc-dash-appt-time-v151 small{font-size:8.8px!important;}
  .snc-dash-appt-main-v151{padding:9px!important;gap:8px!important;align-items:center!important;}
}


/* v1.1.98 — mobile menu click fix, correct title visibility, centered mobile popups */
@media(max-width:820px){
  /* hide WordPress/page title duplicate, not CRM topbar title */
  body.snc-crm-app-mode .entry-title,
  body.snc-crm-app-mode h1.entry-title,
  body.snc-crm-app-mode .page .entry-title,
  body.snc-crm-app-mode .wp-block-post-title,
  body.snc-crm-app-mode .woocommerce-products-header{
    display:none!important;
    height:0!important;
    margin:0!important;
    padding:0!important;
    overflow:hidden!important;
  }

  /* keep the real CRM header title visible */
  .snc-topbar h1{
    display:block!important;
    font-size:22px!important;
    line-height:1.08!important;
    margin:0!important;
    white-space:normal!important;
  }
  .snc-topbar p{display:none!important;}
  .snc-eyebrow{display:none!important;}
  .snc-topbar{padding-left:52px!important;min-height:46px!important;display:flex!important;align-items:center!important;margin-bottom:12px!important;}
  .snc-topbar>div:first-child{min-width:0!important;flex:1 1 auto!important;}
  .snc-top-actions{margin-top:10px!important;width:100%!important;}

  /* hamburger must always be tappable */
  .snc-mobile-menu-toggle{
    display:grid!important;
    pointer-events:auto!important;
    cursor:pointer!important;
    touch-action:manipulation!important;
    z-index:2147483100!important;
  }
  .snc-mobile-menu-toggle *{pointer-events:none!important;}
  .snc-mobile-nav-backdrop{z-index:2147483060!important;}
  .snc-sidebar{z-index:2147483080!important;}

  /* center every CRM modal on mobile instead of sticking to right/bottom */
  .snc-client-modal.open,
  .snc-dashboard-appt-modal-v151.open,
  .snc-sign-modal.open,
  .snc-appt-info-modal.open,
  .snc-appt-info-modal.is-open{
    display:grid!important;
    place-items:center!important;
    align-items:center!important;
    justify-items:center!important;
    padding:12px!important;
  }
  .snc-client-modal-card,
  body .snc-client-modal-card,
  .snc-dashboard-appt-card-v151,
  .snc-sign-box,
  .snc-appt-info-card{
    position:relative!important;
    left:auto!important;
    top:auto!important;
    right:auto!important;
    bottom:auto!important;
    transform:none!important;
    margin:auto!important;
    width:min(100%,calc(100vw - 24px))!important;
    max-width:calc(100vw - 24px)!important;
    max-height:calc(100svh - 24px)!important;
    box-sizing:border-box!important;
  }
  .snc-client-modal.is-minimized .snc-client-modal-card{margin:0!important;}
}

@media(max-width:430px){
  .snc-topbar h1{font-size:20px!important;}
  .snc-topbar{padding-left:48px!important;}
}

/* v1.1.112 — clean mobile app adaptation from v1.1.98 baseline */
.snc-mobile-brand{display:none;}
@media(max-width:820px){
  html,body{max-width:100%!important;overflow-x:hidden!important;}
  body.snc-crm-app-mode{background:var(--snc-bg-a)!important;overscroll-behavior:none!important;}
  body.snc-crm-app-mode #wpadminbar,
  body.snc-crm-app-mode #masthead,
  body.snc-crm-app-mode .site-header,
  body.snc-crm-app-mode header,
  body.snc-crm-app-mode .main-header-bar,
  body.snc-crm-app-mode .ast-mobile-header-wrap,
  body.snc-crm-app-mode .ast-primary-header-bar,
  body.snc-crm-app-mode .ast-above-header-wrap,
  body.snc-crm-app-mode .ast-below-header-wrap,
  body.snc-crm-app-mode #colophon,
  body.snc-crm-app-mode .site-footer,
  body.snc-crm-app-mode footer,
  body.snc-crm-app-mode .woocommerce-MyAccount-navigation,
  body.snc-crm-app-mode .entry-header,
  body.snc-crm-app-mode .entry-title,
  body.snc-crm-app-mode .page-title{display:none!important;}
  body.snc-crm-app-mode .site,
  body.snc-crm-app-mode #page,
  body.snc-crm-app-mode #content,
  body.snc-crm-app-mode .site-content,
  body.snc-crm-app-mode .content-area,
  body.snc-crm-app-mode .ast-container,
  body.snc-crm-app-mode .entry-content,
  body.snc-crm-app-mode .woocommerce,
  body.snc-crm-app-mode .woocommerce-MyAccount-content{width:100%!important;max-width:none!important;margin:0!important;padding:0!important;}
  .snc-app{width:100%!important;max-width:100vw!important;min-height:100svh!important;border:0!important;border-radius:0!important;box-shadow:none!important;overflow:hidden!important;}
  .snc-main{width:100%!important;max-width:100vw!important;padding:calc(12px + env(safe-area-inset-top)) 12px calc(20px + env(safe-area-inset-bottom))!important;overflow-x:hidden!important;}

  .snc-mobile-menu-toggle{top:calc(13px + env(safe-area-inset-top))!important;left:12px!important;width:40px!important;height:40px!important;border-radius:14px!important;background:rgba(255,255,255,.86)!important;}
  .snc-sidebar{top:calc(60px + env(safe-area-inset-top))!important;left:10px!important;bottom:calc(10px + env(safe-area-inset-bottom))!important;width:min(286px,calc(100vw - 20px))!important;padding:12px!important;gap:5px!important;border-radius:22px!important;}
  .snc-sidebar .snc-brand{display:none!important;}
  .snc-sidebar button{min-height:40px!important;padding:9px 10px!important;border-radius:14px!important;font-size:13px!important;}
  .snc-sidebar button .snc-nav-icon{width:20px!important;height:20px!important;flex-basis:20px!important;border-radius:8px!important;}
  .snc-side-card{padding:10px 11px!important;margin:0 0 8px!important;border-radius:16px!important;}
  .snc-version{padding:8px 6px!important;font-size:11px!important;}

  .snc-topbar{display:block!important;padding:0!important;margin:0 0 12px!important;min-height:0!important;}
  .snc-topbar>div:not(.snc-mobile-brand):first-of-type{display:none!important;}
  .snc-mobile-brand{display:flex!important;align-items:center!important;justify-content:center!important;gap:10px!important;width:100%!important;min-height:42px!important;margin:0 auto 10px!important;padding:0 48px!important;text-align:center!important;}
  .snc-mobile-brand .snc-logo{width:38px!important;height:38px!important;border-radius:14px!important;flex:0 0 38px!important;font-size:13px!important;}
  .snc-mobile-brand strong{font-size:18px!important;line-height:1.05!important;letter-spacing:-.03em!important;color:var(--snc-accent-ink)!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;}
  .snc-fullscreen-btn{display:none!important;}
  .snc-top-actions{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important;width:100%!important;margin:0 0 12px!important;align-items:stretch!important;}
  .snc-top-actions .snc-chip,.snc-top-actions .snc-theme-picker,.snc-top-actions .snc-theme-toggle{width:100%!important;min-width:0!important;}
  .snc-chip,.snc-theme-toggle{min-height:38px!important;padding:9px 10px!important;border-radius:14px!important;font-size:12.5px!important;justify-content:center!important;text-align:center!important;white-space:nowrap!important;}
  .snc-theme-menu{left:0!important;right:auto!important;width:100%!important;min-width:0!important;z-index:2147482000!important;}

  .snc-grid-4{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:8px!important;margin-bottom:10px!important;}
  .snc-grid-4>.snc-kpi-next{grid-column:1/-1!important;}
  .snc-card,.snc-panel{border-radius:20px!important;padding:14px!important;margin-bottom:12px!important;}
  .snc-kpi{min-height:86px!important;text-align:left!important;}
  .snc-kpi span{font-size:11px!important;line-height:1.1!important;}
  .snc-kpi strong{font-size:22px!important;margin-top:5px!important;line-height:1!important;}
  .snc-kpi small{font-size:10.5px!important;line-height:1.15!important;}
  .snc-kpi-next{min-height:76px!important;display:grid!important;grid-template-columns:1fr auto!important;gap:2px 10px!important;align-items:center!important;}
  .snc-kpi-next span,.snc-kpi-next small{grid-column:1!important;}
  .snc-kpi-next strong{grid-column:2!important;grid-row:1/3!important;font-size:28px!important;margin:0!important;}
  .snc-dashboard-layout{display:grid!important;grid-template-columns:1fr!important;gap:12px!important;}
  .snc-dashboard-appointments-v151,.snc-dash-appt-list-v151{gap:8px!important;}
  .snc-dash-appt-main-v151{padding:9px!important;border-radius:16px!important;grid-template-columns:44px 1fr auto!important;}
  .snc-dash-appt-time-v151{min-width:42px!important;}
  .snc-dash-appt-text-v151{min-width:0!important;}

  .snc-client-grid{display:grid!important;grid-template-columns:1fr!important;gap:10px!important;}
  .snc-client-card{display:grid!important;grid-template-columns:46px minmax(0,1fr)!important;gap:10px!important;align-items:center!important;padding:12px!important;border-radius:18px!important;}
  .snc-client-main{min-width:0!important;}
  .snc-client-main h3{font-size:15px!important;line-height:1.15!important;margin-bottom:4px!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important;}
  .snc-client-main p,.snc-client-main small{font-size:12px!important;line-height:1.2!important;}
  .snc-client-actions{grid-column:1/-1!important;display:flex!important;flex-direction:row!important;justify-content:flex-start!important;align-items:center!important;gap:7px!important;width:auto!important;}
  .snc-client-actions .snc-mini{flex:0 0 auto!important;padding:7px 9px!important;border-radius:11px!important;font-size:11.5px!important;}

  .snc-table{max-width:100%!important;overflow:auto!important;}
  .snc-form,.snc-grid-2{grid-template-columns:1fr!important;}
  .snc-panel-head{display:grid!important;grid-template-columns:1fr!important;gap:10px!important;align-items:start!important;}
  .snc-search{max-width:none!important;width:100%!important;}

  body .snc-client-modal.open,
  .snc-dashboard-appt-modal-v151.open,
  .snc-sign-modal.open,
  .snc-appt-info-modal.open,
  .snc-appt-info-modal.is-open{position:fixed!important;inset:0!important;display:grid!important;place-items:center!important;padding:12px!important;z-index:2147482500!important;overflow:hidden!important;}
  body .snc-client-modal-card,
  .snc-dashboard-appt-card-v151,
  .snc-sign-box,
  .snc-appt-info-card{position:relative!important;left:auto!important;top:auto!important;right:auto!important;bottom:auto!important;transform:none!important;margin:auto!important;width:min(100%,calc(100vw - 24px))!important;max-width:calc(100vw - 24px)!important;max-height:calc(100svh - 24px)!important;border-radius:22px!important;box-sizing:border-box!important;}
  body .snc-client-modal-titlebar{cursor:default!important;touch-action:auto!important;height:48px!important;padding:0 54px 0 14px!important;}
  body .snc-client-modal-minimize,[data-client-modal-resize]{display:none!important;}
  body .snc-client-modal-body{padding:16px!important;max-height:calc(100svh - 78px)!important;overflow:auto!important;}
  .snc-client-modal-head{grid-template-columns:52px minmax(0,1fr)!important;gap:11px!important;margin-bottom:14px!important;}
  .snc-client-modal-avatar{width:52px!important;height:52px!important;border-radius:18px!important;font-size:22px!important;}
  .snc-client-modal-head h2{font-size:21px!important;line-height:1.1!important;}
  .snc-client-modal-grid{grid-template-columns:1fr!important;gap:9px!important;}
  .snc-modal-actions,.snc-appt-info-actions{display:grid!important;grid-template-columns:1fr!important;gap:8px!important;}
  .snc-modal-actions .snc-btn,.snc-appt-info-actions .snc-btn,.snc-dashboard-appt-card-v151 .snc-btn{width:100%!important;justify-content:center!important;text-align:center!important;min-height:38px!important;padding:9px 10px!important;}
  body.snc-modal-open{overflow:hidden!important;}
}
@media(max-width:380px){
  .snc-mobile-brand strong{font-size:16px!important;}
  .snc-top-actions{grid-template-columns:1fr!important;}
  .snc-grid-4{gap:6px!important;}
  .snc-card,.snc-panel{padding:12px!important;}
}


/* v1.1.113 — calendar/referral focused fixes */
.snc-dev-visible-marker{display:none!important;}
.snc-referral-picker{width:100%;}
.snc-referral-picker .snc-client-picker-results{z-index:2147482600;}
.snc-calendar-board[data-calendar-view="week"]{grid-template-columns:repeat(7,minmax(124px,1fr))!important;gap:8px!important;overflow-x:auto!important;overflow-y:visible!important;max-width:100%!important;padding:0 2px 8px!important;scrollbar-width:thin;cursor:grab;overscroll-behavior-x:contain;}
.snc-calendar-board[data-calendar-view="week"].is-dragging{cursor:grabbing;user-select:none;}
.snc-calendar-board[data-calendar-view="week"] .snc-day-col{min-width:124px!important;padding:10px!important;}
.snc-calendar-board[data-calendar-view="week"] .snc-event-pill{padding:8px!important;border-radius:13px!important;}
@media(min-width:821px){.snc-calendar-board[data-calendar-view="week"]{grid-template-columns:repeat(7,minmax(118px,1fr))!important;}.snc-calendar-board[data-calendar-view="week"] .snc-day-col{min-width:118px!important;}}
@media(max-width:820px){.snc-calendar-board[data-calendar-view="week"]{grid-template-columns:repeat(7,136px)!important;}.snc-calendar-board[data-calendar-view="week"] .snc-day-col{min-width:136px!important;}.snc-referral-picker .snc-client-picker-results{max-height:220px;}}


/* v1.1.114 — clickable Instagram link in client card modal */
.snc-instagram-link{
  color:var(--snc-accent,#8b6f5e);
  text-decoration:none;
  font-weight:800;
  word-break:break-word;
}
.snc-instagram-link:hover{text-decoration:underline;}


/* v1.1.116 — clean client modal: no minimize/resize window logic, integrated action row */
.snc-client-modal-card{
  resize:none!important;
}
.snc-client-modal-titlebar{
  cursor:default!important;
  padding-left:22px!important;
}
.snc-client-modal-minimize,
.snc-client-modal-resize,
[data-minimize-client-modal],
[data-client-modal-resize]{
  display:none!important;
}
.snc-client-modal.is-minimized .snc-client-modal-body,
.snc-client-modal.is-minimized .snc-client-modal-close{
  display:block!important;
}
.snc-client-modal.is-minimized .snc-client-modal-card{
  width:min(760px,calc(100vw - 36px))!important;
  height:min(780px,calc(100vh - 36px))!important;
  min-width:520px!important;
  min-height:430px!important;
  max-height:calc(100vh - 24px)!important;
  overflow:hidden!important;
}
.snc-client-view .snc-modal-actions{
  position:static!important;
  bottom:auto!important;
  z-index:auto!important;
  margin:18px 0 0!important;
  padding:16px 0 0!important;
  background:transparent!important;
  border-radius:0!important;
  border-top:1px solid var(--snc-line)!important;
  box-shadow:none!important;
}
.snc-client-view .snc-modal-actions .snc-btn{
  min-height:42px!important;
  border-radius:14px!important;
}
.snc-client-modal-body{
  scroll-padding-bottom:24px!important;
}
.snc-client-modal-body:after{
  display:none!important;
}
@media(max-width:820px){
  .snc-client-modal.is-minimized .snc-client-modal-card{
    width:min(100%,calc(100vw - 24px))!important;
    height:auto!important;
    min-width:0!important;
    min-height:0!important;
    max-height:calc(100svh - 24px)!important;
  }
}


/* v1.1.117 — appointment info popup button alignment and WhatsApp style fix */
.snc-dashboard-appt-body-v151 .snc-modal-actions{
  align-items:stretch!important;
}
.snc-dashboard-appt-body-v151 .snc-modal-actions .snc-btn,
.snc-dashboard-appt-body-v151 .snc-modal-actions button,
.snc-dashboard-appt-body-v151 .snc-modal-actions a{
  min-height:44px!important;
  height:44px!important;
  padding:0 16px!important;
  border-radius:16px!important;
  box-sizing:border-box!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  line-height:1!important;
  font-size:14px!important;
  font-weight:800!important;
  text-decoration:none!important;
}
.snc-dashboard-appt-body-v151 .snc-modal-actions [data-appt-wa],
.snc-dashboard-appt-body-v151 .snc-modal-actions [data-appt-wa]:link,
.snc-dashboard-appt-body-v151 .snc-modal-actions [data-appt-wa]:visited,
.snc-dashboard-appt-body-v151 .snc-modal-actions [data-appt-wa]:hover,
.snc-dashboard-appt-body-v151 .snc-modal-actions [data-appt-wa]:focus,
.snc-dashboard-appt-body-v151 .snc-modal-actions [data-appt-wa]:active{
  background:linear-gradient(135deg,var(--snc-accent),var(--snc-accent-2))!important;
  color:#fff!important;
  border:0!important;
  box-shadow:0 12px 24px rgba(0,0,0,.10)!important;
  text-decoration:none!important;
}
.snc-dashboard-appt-body-v151 .snc-modal-actions [data-appt-wa]:hover{
  filter:brightness(.97)!important;
  transform:translateY(-1px)!important;
}
.snc-dashboard-appt-body-v151 .snc-modal-actions .snc-btn.ghost{
  background:rgba(255,255,255,.68)!important;
  color:var(--snc-accent-ink)!important;
  border:1px solid var(--snc-line)!important;
  box-shadow:none!important;
}
@media(max-width:820px){
  .snc-dashboard-appt-body-v151 .snc-modal-actions .snc-btn,
  .snc-dashboard-appt-body-v151 .snc-modal-actions button,
  .snc-dashboard-appt-body-v151 .snc-modal-actions a{
    width:100%!important;
    height:42px!important;
    min-height:42px!important;
  }
}

/* v1.1.119 — Appointments workspace vertical layout, history search and pagination */
.snc-appointments-workspace{display:flex;flex-direction:column;gap:18px;min-width:0;}
.snc-appointments-hero{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:0;}
.snc-appointments-hero h2{margin:0 0 6px;}
.snc-appointments-stats{display:grid;grid-template-columns:repeat(3,minmax(120px,1fr));gap:10px;min-width:360px;}
.snc-appointments-stats span{display:flex;flex-direction:column;gap:3px;padding:13px 14px;border-radius:18px;background:var(--snc-accent-wash);border:1px solid var(--snc-line);}
.snc-appointments-stats b{font-size:20px;color:var(--snc-accent-ink);letter-spacing:-.03em;}
.snc-appointments-stats small{font-size:12px;color:var(--snc-muted);}
.snc-appointments-section{margin-bottom:0;min-width:0;width:100%;}
.snc-appointments-upcoming-section,.snc-appointments-history-section{display:block;}
.snc-appointments-history-head{align-items:flex-start;gap:14px;}
.snc-appointments-history-search{min-width:260px;width:min(360px,100%);}
.snc-appointments-history-search .snc-search{width:100%;}
.snc-appointment-cards{display:flex;flex-direction:column;gap:12px;}
.snc-appointment-card{position:relative;border:1px solid var(--snc-line);border-radius:22px;background:linear-gradient(135deg,rgba(255,255,255,.92),var(--snc-accent-wash));box-shadow:0 12px 28px rgba(0,0,0,.045);overflow:hidden;}
.snc-appointment-card-main{width:100%;border:0;background:transparent;display:grid;grid-template-columns:82px minmax(0,1fr) auto auto;align-items:center;gap:12px;padding:14px;text-align:left;cursor:pointer;color:var(--snc-text);}
.snc-appointment-card-main:hover{background:rgba(255,255,255,.55);}
.snc-appointment-date{display:flex;flex-direction:column;gap:2px;border-radius:15px;background:#fff;border:1px solid var(--snc-line);padding:10px 9px;text-align:center;}
.snc-appointment-date b{font-size:18px;color:var(--snc-accent-ink);line-height:1;}
.snc-appointment-date small{font-size:11px;color:var(--snc-muted);white-space:nowrap;}
.snc-appointment-info{min-width:0;display:flex;flex-direction:column;gap:3px;}
.snc-appointment-info strong{color:var(--snc-accent-ink);font-size:15px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.snc-appointment-info small{color:var(--snc-muted);font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.snc-appointment-money{font-weight:900;color:var(--snc-accent-ink);white-space:nowrap;}
.snc-appointment-card-actions{position:relative;z-index:3;display:flex;gap:8px;align-items:center;justify-content:flex-end;padding:0 14px 14px;flex-wrap:wrap;pointer-events:auto;}
.snc-appointment-card-actions .snc-mini{min-height:34px;cursor:pointer;pointer-events:auto;position:relative;z-index:4;}
.snc-appointment-income{margin:0 14px 14px;padding:10px 12px;border-radius:15px;background:#e4f1e8;color:var(--snc-ok);font-size:13px;font-weight:750;}
.snc-appointment-income b{font-weight:950;}
.snc-appointments-pagination{display:flex;justify-content:center;align-items:center;gap:10px;margin-top:16px;flex-wrap:wrap;}
.snc-appointments-pagination span{font-size:13px;color:var(--snc-muted);font-weight:750;}
.snc-appointments-pagination button:disabled{opacity:.42;cursor:not-allowed;}
.snc-form [data-appointment-id]{display:none!important;}
.snc-form-footer [data-appointment-edit-cancel]{box-shadow:none!important;}
@media(max-width:1180px){.snc-appointments-hero{align-items:flex-start;flex-direction:column}.snc-appointments-stats{width:100%;min-width:0}}
@media(max-width:820px){.snc-appointments-stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.snc-appointments-stats span{padding:10px 8px;border-radius:16px}.snc-appointments-stats b{font-size:16px}.snc-appointments-stats small{font-size:10px}.snc-appointments-history-head{flex-direction:column}.snc-appointments-history-search{width:100%;min-width:0}.snc-appointment-card-main{grid-template-columns:68px minmax(0,1fr);gap:10px;padding:12px}.snc-appointment-card-main .snc-status,.snc-appointment-money{justify-self:start}.snc-appointment-card-actions{justify-content:flex-start;padding:0 12px 12px}.snc-appointment-card-actions .snc-mini{flex:0 1 auto;padding:8px 10px}.snc-appointment-date b{font-size:15px}.snc-appointment-date small{font-size:10px}}


/* v1.1.120 appointments workspace polish */
.snc-appointments-workspace-v120 .snc-appointments-history-head{align-items:center;}
.snc-appointments-workspace-v120 .snc-appointments-history-search{position:relative;width:min(430px,100%);}
.snc-appointments-workspace-v120 .snc-appointments-history-search:before{content:'⌕';position:absolute;left:15px;top:50%;transform:translateY(-50%);font-weight:900;color:var(--snc-muted);z-index:1;}
.snc-appointments-workspace-v120 [data-appointment-history-search]{height:46px;border-radius:16px;padding:0 16px 0 40px;background:rgba(255,255,255,.88);border:1px solid var(--snc-line);box-shadow:0 10px 24px rgba(0,0,0,.04);font-weight:750;outline:none;}
.snc-appointments-workspace-v120 [data-appointment-history-search]:focus{border-color:var(--snc-accent);box-shadow:0 0 0 4px var(--snc-accent-wash),0 10px 24px rgba(0,0,0,.04);}
.snc-appointments-workspace-v120 .snc-appointment-card-actions{justify-content:flex-end;padding:0 14px 14px;}
.snc-appointments-workspace-v120 .snc-appointment-card-actions .snc-mini{min-width:92px;}
.snc-confirm-backdrop{position:fixed;inset:0;z-index:999999;background:rgba(15,23,42,.34);backdrop-filter:blur(8px);display:grid;place-items:center;padding:20px;}
.snc-confirm-backdrop[hidden]{display:none!important;}
.snc-confirm-modal{width:min(390px,100%);border-radius:26px;background:rgba(255,255,255,.96);border:1px solid var(--snc-line);box-shadow:0 28px 80px rgba(15,23,42,.22);padding:22px;text-align:center;}
.snc-confirm-modal h3{margin:0 0 8px;color:var(--snc-accent-ink);font-size:22px;letter-spacing:-.03em;}
.snc-confirm-modal p{margin:0 0 18px;color:var(--snc-muted);font-weight:650;}
.snc-confirm-actions{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;}
.snc-confirm-actions .snc-btn{min-height:42px;border-radius:14px;}
.snc-confirm-actions .snc-btn.danger{background:#b42318;color:#fff;border-color:#b42318;}
@media(max-width:820px){.snc-appointments-workspace-v120 .snc-appointments-history-head{align-items:stretch}.snc-appointments-workspace-v120 .snc-appointment-card-actions{justify-content:flex-start}.snc-confirm-modal{padding:18px;border-radius:22px}.snc-confirm-actions .snc-btn{width:100%;}}

/* v1.1.121 appointments workspace: integrated delete + reliable history filtering */
.snc-appointments-workspace-v122 .snc-appointments-history-search{position:relative;min-width:min(100%,360px)}
.snc-appointments-workspace-v122 .snc-appointments-history-search:before{content:'⌕';position:absolute;left:14px;top:50%;transform:translateY(-50%);font-size:15px;color:var(--snc-muted);pointer-events:none;z-index:1}
.snc-appointments-workspace-v122 [data-appointment-history-search]{width:100%;height:42px;border-radius:16px;padding:0 14px 0 38px;background:rgba(255,255,255,.78);border:1px solid var(--snc-line);box-shadow:inset 0 1px 0 rgba(255,255,255,.72),0 8px 20px rgba(0,0,0,.035)}
.snc-appointments-workspace-v122 [data-appointment-history-search]:focus{outline:none;border-color:rgba(151,112,88,.42);box-shadow:0 0 0 4px rgba(151,112,88,.10)}
.snc-appointments-workspace-v122 .snc-appointment-card{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:stretch;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease;background:linear-gradient(135deg,rgba(255,255,255,.94),rgba(250,246,243,.92))}
.snc-appointments-workspace-v122 .snc-appointment-card:hover{transform:translateY(-1px);box-shadow:0 16px 34px rgba(0,0,0,.07);border-color:rgba(151,112,88,.24)}
.snc-appointments-workspace-v122 .snc-appointment-card-main{grid-column:1;min-width:0}
.snc-appointments-workspace-v122 .snc-appointment-card-actions{grid-column:2;grid-row:1;align-self:center;padding:0 14px 0 4px;display:flex;align-items:center;justify-content:center;background:transparent;z-index:8}
.snc-appointments-workspace-v122 .snc-appointment-card-actions .snc-mini.danger{height:34px;min-width:82px;border-radius:999px;background:rgba(190,78,78,.08);border:1px solid rgba(190,78,78,.18);color:#9f3737;box-shadow:none;transition:background .16s ease,color .16s ease,transform .16s ease,border-color .16s ease}
.snc-appointments-workspace-v122 .snc-appointment-card:hover .snc-appointment-card-actions .snc-mini.danger{background:rgba(190,78,78,.12);border-color:rgba(190,78,78,.28)}
.snc-appointments-workspace-v122 .snc-appointment-card-actions .snc-mini.danger:hover{background:#b94242;color:#fff;border-color:#b94242;transform:translateY(-1px)}
.snc-appointments-workspace-v122 .snc-appointment-income{grid-column:1 / -1;margin:0 14px 14px}
.snc-appointments-workspace-v122 [data-history-item][hidden]{display:none!important}
@media(max-width:820px){.snc-appointments-workspace-v122 .snc-appointment-card{grid-template-columns:1fr}.snc-appointments-workspace-v122 .snc-appointment-card-actions{grid-column:1;grid-row:auto;justify-content:flex-start;padding:0 12px 12px}.snc-appointments-workspace-v122 .snc-appointment-card-actions .snc-mini.danger{min-width:92px}.snc-appointments-workspace-v122 .snc-appointments-history-search{min-width:0;width:100%}}

/* v1.1.122 hard filter/delete fixes */
.snc-appointments-workspace-v122 .snc-history-filtered-out{display:none !important;}
.snc-appointments-workspace-v122 [data-delete-pending]{opacity:.72;}
.snc-appointments-workspace-v122 .snc-appointment-card-actions{pointer-events:auto;}
.snc-appointments-workspace-v122 .snc-appointment-card-actions button{pointer-events:auto;touch-action:manipulation;}

/* v1.1.123 appointments workspace hard fixes */
.snc-appointments-workspace-v123 [data-appointment-history-search]{width:100%;height:42px;border-radius:16px;padding:0 14px 0 38px;background:rgba(255,255,255,.78);border:1px solid var(--snc-line);box-shadow:inset 0 1px 0 rgba(255,255,255,.72),0 8px 20px rgba(0,0,0,.035)}
.snc-appointments-workspace-v123 [data-appointment-history-search]:focus{outline:none;border-color:rgba(151,112,88,.42);box-shadow:0 0 0 4px rgba(151,112,88,.10)}
.snc-appointments-workspace-v123 .snc-appointment-card{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:stretch;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease;background:linear-gradient(135deg,rgba(255,255,255,.94),rgba(250,246,243,.92))}
.snc-appointments-workspace-v123 .snc-appointment-card:hover{transform:translateY(-1px);box-shadow:0 16px 34px rgba(0,0,0,.07);border-color:rgba(151,112,88,.24)}
.snc-appointments-workspace-v123 .snc-appointment-card-main{grid-column:1;min-width:0}
.snc-appointments-workspace-v123 .snc-appointment-card-actions{grid-column:2;grid-row:1;align-self:center;padding:0 14px 0 4px;display:flex;align-items:center;justify-content:center;background:transparent;z-index:20;pointer-events:auto;position:relative}
.snc-appointments-workspace-v123 .snc-appointment-card-actions button{pointer-events:auto;touch-action:manipulation;position:relative;z-index:21}
.snc-appointments-workspace-v123 .snc-appointment-card-actions .snc-mini.danger{height:34px;min-width:82px;border-radius:999px;background:rgba(190,78,78,.08);border:1px solid rgba(190,78,78,.18);color:#9f3737;box-shadow:none;transition:background .16s ease,color .16s ease,transform .16s ease,border-color .16s ease}
.snc-appointments-workspace-v123 .snc-appointment-card:hover .snc-appointment-card-actions .snc-mini.danger{background:rgba(190,78,78,.12);border-color:rgba(190,78,78,.28)}
.snc-appointments-workspace-v123 .snc-appointment-card-actions .snc-mini.danger:hover{background:#b94242;color:#fff;border-color:#b94242;transform:translateY(-1px)}
.snc-appointments-workspace-v123 [data-v123-hidden="1"]{display:none!important;}
@media(max-width:820px){.snc-appointments-workspace-v123 .snc-appointment-card{grid-template-columns:1fr}.snc-appointments-workspace-v123 .snc-appointment-card-actions{grid-column:1;grid-row:auto;justify-content:flex-start;padding:0 12px 12px}.snc-appointments-workspace-v123 .snc-appointment-card-actions .snc-mini.danger{min-width:92px}.snc-appointments-workspace-v123 .snc-appointments-history-search{min-width:0;width:100%}}


/* v1.1.125: hide empty client profile rows in view mode */
.snc-client-view .snc-client-empty-hide{display:none!important;}
.snc-client-view .snc-client-modal-grid.snc-client-empty-hide,
.snc-client-view .snc-client-care-grid.snc-client-empty-hide{display:none!important;}

/* v1.1.125 stronger empty client profile block hide */
#sncClientModal [data-client-view-mode] .snc-client-empty-hide{display:none!important;}

/* v1.1.127: source-level client empty fields */
#sncClientModal .snc-client-empty-hide{display:none!important;}

/* v1.1.134 finance vertical layout and reliable totals */
.snc-finance-clean{display:flex;flex-direction:column;gap:18px;}
.snc-finance-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;}
.snc-finance-period{display:grid;gap:6px;min-width:190px;font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.06em;color:var(--snc-accent-ink);}
.snc-finance-period select{min-height:42px;border:1px solid var(--snc-line);border-radius:16px;background:rgba(255,255,255,.78);padding:0 12px;font-weight:850;color:var(--snc-text);}
.snc-grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;}
.snc-finance-summary-cards .snc-card,.snc-finance-year-cards .snc-card{margin-bottom:0;}
.snc-profit-card.positive strong{color:#2f7d55!important;}.snc-profit-card.negative strong{color:#b35a55!important;}
.snc-finance-stack{display:flex;flex-direction:column;gap:18px;}
.snc-finance-columns{display:flex;flex-direction:column;gap:18px;align-items:stretch;}
.snc-finance-income-block,.snc-finance-expense-block{margin-bottom:0;}
.snc-finance-income-list{display:grid;gap:12px;}
.snc-finance-income-list .snc-appointment-card[hidden],.snc-expense-card[hidden]{display:none!important;}
.snc-income-history-head{align-items:flex-start;}
.snc-income-history-head .snc-appointments-history-search{min-width:min(360px,100%);}
.snc-expense-form-v133{display:grid;grid-template-columns:minmax(180px,1.25fr) minmax(100px,.6fr) minmax(130px,.7fr) minmax(160px,1fr);gap:12px;align-items:end;margin:8px 0 18px;padding:16px;border-radius:24px;background:rgba(255,255,255,.66);border:1px solid rgba(120,100,90,.16);box-shadow:0 18px 50px rgba(80,60,45,.06);}
/* Receipt upload zone */
.snc-receipt-upload-zone{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 14px;border:1.5px dashed var(--snc-line);border-radius:16px;background:var(--snc-card);min-width:0;height:100%;box-sizing:border-box;}
.snc-receipt-info{display:flex;flex-direction:column;gap:3px;min-width:0;flex:1;}
.snc-receipt-info strong{font-size:12px;font-weight:800;color:var(--snc-text);}
.snc-receipt-label{font-size:11px;color:var(--snc-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:120px;}
.snc-receipt-actions{display:flex;flex-direction:column;gap:6px;flex-shrink:0;}
.snc-receipt-upload-btn{display:inline-flex;align-items:center;gap:5px;padding:6px 12px;border-radius:10px;background:var(--snc-accent-soft);color:var(--snc-accent-ink);font-size:12px;font-weight:700;cursor:pointer;border:1px solid transparent;transition:background .15s;white-space:nowrap;}
.snc-receipt-upload-btn:hover{background:color-mix(in srgb,var(--snc-accent) 15%,transparent);}
.snc-camera-btn{background:rgba(100,116,139,.08);color:var(--snc-muted);}
/* Receipt modal */
.snc-receipt-img{max-width:100%;border-radius:12px;display:block;}
.snc-receipt-pdf-wrap{display:flex;flex-direction:column;align-items:center;gap:8px;}
.snc-receipt-pdf{width:100%;height:500px;border:1px solid var(--snc-line);border-radius:12px;}
.snc-expense-form-v133 .snc-form-footer{grid-column:1/-1;display:flex;align-items:center;justify-content:flex-end;gap:12px;}
.snc-expense-cards{display:grid;gap:12px;}
.snc-expense-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;padding:14px;border-radius:24px;background:rgba(255,255,255,.72);border:1px solid rgba(120,100,90,.14);box-shadow:0 14px 34px rgba(50,35,25,.06);transition:.18s ease;}
.snc-expense-card:hover{transform:translateY(-1px);box-shadow:0 18px 44px rgba(50,35,25,.10);border-color:rgba(120,100,90,.24);}
.snc-expense-main{display:grid;grid-template-columns:auto 1fr auto;gap:14px;align-items:center;min-width:0;}
.snc-expense-card .snc-appointment-info{min-width:0;}.snc-expense-card .snc-appointment-info strong,.snc-expense-card .snc-appointment-info small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.snc-expense-card .snc-appointment-card-actions{padding:0;position:static;z-index:auto;}
.snc-expense-card .snc-mini{min-height:34px;border-radius:999px;}
.snc-finance-year summary{cursor:pointer;font-weight:950;color:var(--snc-accent-ink);font-size:18px;list-style:none;}
.snc-finance-year summary::-webkit-details-marker{display:none;}
.snc-finance-year summary:after{content:'⌄';float:right;opacity:.7;}.snc-finance-year[open] summary:after{content:'⌃';}
.snc-finance-year .snc-finance-filters{margin:16px 0;}
@media(max-width:1020px){.snc-finance-columns,.snc-finance-stack{display:flex;flex-direction:column;}.snc-grid-3{grid-template-columns:1fr;}.snc-finance-head{flex-direction:column;}.snc-finance-period{width:100%;}.snc-expense-form-v133{grid-template-columns:1fr;}.snc-expense-form-v133 .snc-form-footer{align-items:stretch;flex-direction:column;}.snc-expense-form-v133 .snc-btn{width:100%;}.snc-expense-card{grid-template-columns:1fr;}.snc-expense-main{grid-template-columns:auto 1fr;}.snc-expense-main .snc-appointment-money{grid-column:1/-1;justify-self:start;}.snc-expense-card .snc-mini{width:100%;}}
@media(max-width:820px){.snc-expense-form-v133{grid-template-columns:1fr 1fr;gap:10px;padding:12px;}.snc-expense-form-v133>*:first-child{grid-column:1/-1;}.snc-expense-form-v133 .snc-form-footer{grid-column:1/-1;}}

/* v1.1.135 finance UI polish + real summary cards */
.snc-finance-clean-v135 .snc-finance-summary-cards .snc-card{
  padding:18px 18px;
  border-radius:26px;
  background:rgba(255,255,255,.74);
  border:1px solid rgba(120,100,90,.14);
}
.snc-finance-clean-v135 .snc-finance-summary-cards strong{
  display:block;
  margin-top:8px;
  font-size:clamp(24px,3vw,34px);
  line-height:1;
}
.snc-finance-clean-v135 .snc-income-history-head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:16px;
  flex-wrap:wrap;
}
.snc-finance-clean-v135 .snc-appointments-history-search{
  flex:0 1 390px;
  min-width:min(390px,100%);
  padding:6px;
  border-radius:22px;
  background:rgba(255,255,255,.62);
  border:1px solid rgba(120,100,90,.14);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.7);
}
.snc-finance-clean-v135 .snc-appointments-history-search .snc-search,
.snc-finance-clean-v135 [data-finance-income-search]{
  width:100%;
  height:44px;
  border:0!important;
  border-radius:18px!important;
  background:rgba(255,255,255,.86)!important;
  padding:0 16px!important;
  box-shadow:none!important;
  font-size:14px;
}
.snc-expense-form-v135{
  grid-template-columns:minmax(240px,1.3fr) minmax(150px,.7fr) minmax(170px,.75fr) minmax(220px,1fr)!important;
  gap:16px!important;
}
.snc-expense-form-v135 .snc-field{min-width:0;}
.snc-expense-form-v135 input{
  width:100%;
  min-height:46px;
  box-sizing:border-box;
}
.snc-expense-form-v135 .snc-field label{
  display:block;
  margin-bottom:7px;
  line-height:1.2;
}
@media(max-width:1180px){
  .snc-expense-form-v135{grid-template-columns:1fr 1fr!important;}
}
@media(max-width:760px){
  .snc-finance-clean-v135 .snc-income-history-head{align-items:stretch;}
  .snc-finance-clean-v135 .snc-appointments-history-search{flex:1 1 auto;min-width:100%;}
  .snc-expense-form-v135{grid-template-columns:1fr!important;}
}


/* v1.1.136 expense AJAX animation */
.snc-expense-card-new{ animation: sncExpenseIn .32s ease-out both; }
.snc-expense-card-removing{ animation: sncExpenseOut .18s ease-in both; pointer-events:none; }
.snc-form-status.error{ color:#b42318; }
@keyframes sncExpenseIn{ from{ opacity:0; transform:translateY(-10px) scale(.985); } to{ opacity:1; transform:translateY(0) scale(1); } }
@keyframes sncExpenseOut{ from{ opacity:1; transform:translateY(0) scale(1); } to{ opacity:0; transform:translateY(-6px) scale(.985); } }

/* v1.1.140 expense inline edit panel */
.snc-expense-inline-editor{
  margin:6px 0 14px;
  padding:16px;
  border-radius:24px;
  background:rgba(255,255,255,.88);
  border:1px solid rgba(120,100,90,.22);
  box-shadow:0 18px 46px rgba(60,42,28,.10);
  animation:sncExpenseIn .24s ease-out both;
}
.snc-inline-edit-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px;}
.snc-inline-edit-head strong{display:block;font-size:15px;color:#3b2f2a;}
.snc-inline-edit-head small{display:block;margin-top:2px;color:#8b7a70;font-size:12px;}
.snc-inline-edit-grid{display:grid;grid-template-columns:minmax(220px,1.3fr) minmax(120px,.65fr) minmax(150px,.75fr) minmax(180px,1fr);gap:14px;align-items:end;}
.snc-expense-card-editing{outline:2px solid rgba(154,118,92,.28);background:rgba(255,255,255,.92);}
.snc-expense-inline-editor .snc-form-footer{display:flex;align-items:center;justify-content:flex-end;gap:12px;margin-top:14px;}
@media(max-width:1020px){.snc-inline-edit-grid{grid-template-columns:1fr 1fr;}.snc-expense-inline-editor .snc-form-footer{align-items:stretch;flex-direction:column}.snc-expense-inline-editor .snc-btn,.snc-expense-inline-editor .snc-mini{width:100%;}}
@media(max-width:560px){.snc-inline-edit-grid{grid-template-columns:1fr;}}

/* v1.1.141 inline expense editor field layout fix */
.snc-expense-inline-editor .snc-field{min-width:0!important;}
.snc-expense-inline-editor .snc-field label{display:block;margin-bottom:7px;line-height:1.2;}
.snc-expense-inline-editor input{width:100%!important;min-width:0!important;box-sizing:border-box!important;min-height:46px;}
.snc-expense-inline-editor .snc-inline-edit-grid{grid-template-columns:minmax(240px,1.25fr) minmax(160px,.75fr) minmax(170px,.8fr) minmax(220px,1fr)!important;}
@media(max-width:1120px){.snc-expense-inline-editor .snc-inline-edit-grid{grid-template-columns:1fr 1fr!important;}}
@media(max-width:620px){.snc-expense-inline-editor .snc-inline-edit-grid{grid-template-columns:1fr!important;}}


/* v1.1.142 finance month/year picker */
.snc-finance-period-row{display:flex;gap:12px;align-items:end;flex-wrap:wrap;justify-content:flex-end}
.snc-finance-period-row .snc-finance-period{min-width:150px}
@media (max-width:760px){.snc-finance-head{gap:16px}.snc-finance-period-row{width:100%;justify-content:stretch}.snc-finance-period-row .snc-finance-period{flex:1 1 140px;min-width:0}}


/* v1.1.143 desktop floating sidebar */
@media (min-width: 821px){
  .snc-app{align-items:flex-start;}
  .snc-sidebar{position:sticky!important;top:18px!important;max-height:calc(100vh - 36px);overflow:auto;align-self:flex-start;scrollbar-width:thin;}
}

/* v1.1.144 finance income search visual restore for current finance root */
.snc-finance-clean .snc-income-history-head,
.snc-finance-clean-v142 .snc-income-history-head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:16px;
  flex-wrap:wrap;
}
.snc-finance-clean .snc-income-history-head .snc-appointments-history-search,
.snc-finance-clean-v142 .snc-income-history-head .snc-appointments-history-search{
  position:relative;
  flex:0 1 390px;
  min-width:min(390px,100%);
  padding:6px;
  border-radius:22px;
  background:rgba(255,255,255,.62);
  border:1px solid rgba(120,100,90,.14);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.7);
}
.snc-finance-clean .snc-income-history-head .snc-appointments-history-search:before,
.snc-finance-clean-v142 .snc-income-history-head .snc-appointments-history-search:before{
  content:'⌕';
  position:absolute;
  left:18px;
  top:50%;
  transform:translateY(-50%);
  font-size:15px;
  color:var(--snc-muted);
  pointer-events:none;
  z-index:1;
}
.snc-finance-clean .snc-income-history-head [data-finance-income-search],
.snc-finance-clean-v142 .snc-income-history-head [data-finance-income-search]{
  width:100%;
  height:44px;
  border:0!important;
  border-radius:18px!important;
  background:rgba(255,255,255,.86)!important;
  padding:0 16px 0 38px!important;
  box-shadow:none!important;
  font-size:14px;
  box-sizing:border-box!important;
}
@media(max-width:820px){
  .snc-finance-clean .snc-income-history-head .snc-appointments-history-search,
  .snc-finance-clean-v142 .snc-income-history-head .snc-appointments-history-search{width:100%;min-width:0;flex:1 1 100%;}
}

/* v1.1.145 expense period controls + real desktop floating sidebar */
.snc-finance-expense-block .snc-expense-history-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;flex-wrap:wrap;}
.snc-expense-period-row{display:flex;align-items:end;justify-content:flex-end;gap:12px;flex-wrap:wrap;padding:6px;border-radius:22px;background:rgba(255,255,255,.54);border:1px solid rgba(120,100,90,.14);}
.snc-expense-period-row .snc-finance-period{min-width:150px;}
.snc-expense-period-row select{width:100%;}
@media(max-width:820px){.snc-expense-period-row{width:100%;justify-content:stretch}.snc-expense-period-row .snc-finance-period{flex:1 1 140px;min-width:0}}
@media (min-width:821px){
  .snc-app{overflow:visible!important;align-items:flex-start!important;}
  .snc-main{overflow:visible!important;min-width:0!important;}
  .snc-sidebar{position:sticky!important;top:18px!important;max-height:calc(100vh - 36px)!important;overflow:auto!important;align-self:flex-start!important;z-index:30!important;}
}

/* v1.1.146 finance period UI cleanup + stronger desktop sticky sidebar */
.snc-finance-clean-v146 .snc-finance-head-v146{
  display:flex!important;
  align-items:flex-start!important;
  justify-content:space-between!important;
  gap:18px!important;
}
.snc-finance-clean-v146 .snc-finance-period-card{
  flex:0 0 auto;
  min-width:min(360px,100%);
  padding:12px;
  border-radius:24px;
  background:linear-gradient(135deg,rgba(255,255,255,.82),rgba(255,255,255,.56));
  border:1px solid rgba(120,100,90,.16);
  box-shadow:0 16px 40px rgba(60,42,30,.07), inset 0 1px 0 rgba(255,255,255,.75);
}
.snc-finance-clean-v146 .snc-period-title{
  display:block;
  margin:0 0 8px 2px;
  font-size:12px;
  line-height:1;
  font-weight:950;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:var(--snc-accent-ink);
}
.snc-finance-clean-v146 .snc-finance-period-row{
  display:grid!important;
  grid-template-columns:1fr .75fr;
  gap:10px!important;
  align-items:end!important;
  justify-content:stretch!important;
  width:100%;
  padding:0!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
}
.snc-finance-clean-v146 .snc-finance-period{
  min-width:0!important;
  width:100%!important;
  display:grid!important;
  gap:6px!important;
}
.snc-finance-clean-v146 .snc-finance-period span{
  font-size:11px!important;
  line-height:1!important;
  font-weight:900!important;
  letter-spacing:.06em!important;
  text-transform:uppercase!important;
  color:var(--snc-muted)!important;
}
.snc-finance-clean-v146 .snc-finance-period select{
  width:100%!important;
  min-height:44px!important;
  border-radius:16px!important;
  border:1px solid rgba(120,100,90,.18)!important;
  background:rgba(255,255,255,.9)!important;
  padding:0 12px!important;
  color:var(--snc-text)!important;
  font-weight:850!important;
  box-shadow:0 8px 20px rgba(60,42,30,.05)!important;
}
.snc-expense-period-badge{
  display:inline-flex;
  align-items:center;
  gap:7px;
  min-height:38px;
  padding:8px 12px;
  border-radius:999px;
  background:rgba(255,255,255,.70);
  border:1px solid rgba(120,100,90,.14);
  color:var(--snc-muted);
  font-size:13px;
  font-weight:800;
  white-space:nowrap;
}
.snc-expense-period-badge b{color:var(--snc-accent-ink);font-weight:950;}
@media(max-width:820px){
  .snc-finance-clean-v146 .snc-finance-head-v146{flex-direction:column!important;align-items:stretch!important;}
  .snc-finance-clean-v146 .snc-finance-period-card{width:100%;min-width:0;}
  .snc-finance-clean-v146 .snc-finance-period-row{grid-template-columns:1fr 1fr!important;}
  .snc-expense-period-badge{width:100%;justify-content:center;white-space:normal;text-align:center;}
}
@media(max-width:520px){.snc-finance-clean-v146 .snc-finance-period-row{grid-template-columns:1fr!important;}}
@media(min-width:821px){
  body:not(.snc-crm-mobile) .snc-app{overflow:visible!important;align-items:flex-start!important;}
  body:not(.snc-crm-mobile) .snc-main{overflow:visible!important;}
  body:not(.snc-crm-mobile) .snc-sidebar{
    position:sticky!important;
    top:18px!important;
    align-self:flex-start!important;
    max-height:calc(100vh - 36px)!important;
    overflow:auto!important;
    z-index:80!important;
  }
}

/* v1.1.147 desktop sidebar radius restore - visual only, no data/storage changes */
@media (min-width:821px){
  body:not(.snc-crm-mobile) .snc-app{
    overflow:visible!important;
    border-radius:34px!important;
  }
  body:not(.snc-crm-mobile) .snc-sidebar{
    position:sticky!important;
    top:18px!important;
    align-self:flex-start!important;
    max-height:calc(100vh - 36px)!important;
    overflow:auto!important;
    z-index:80!important;
    border-radius:34px 0 0 34px!important;
    clip-path:inset(0 round 34px 0 0 34px)!important;
  }
  body:not(.snc-crm-mobile) .snc-sidebar:before{
    border-radius:34px 0 0 34px!important;
  }
}


/* v1.1.148 finance period visual polish - no storage/data changes */
.snc-finance-clean-v146 .snc-finance-period-card{
  min-width:min(420px,100%)!important;
  padding:14px!important;
  border-radius:26px!important;
}
.snc-finance-clean-v146 .snc-period-title{
  margin:0 0 10px 4px!important;
  opacity:.86;
}
.snc-finance-clean-v146 .snc-finance-period-row{
  grid-template-columns:minmax(170px,1fr) minmax(120px,.72fr)!important;
  gap:12px!important;
}
.snc-finance-clean-v146 .snc-finance-period select{
  height:46px!important;
  appearance:none;
  -webkit-appearance:none;
  background-image:linear-gradient(45deg,transparent 50%,var(--snc-accent-ink) 50%),linear-gradient(135deg,var(--snc-accent-ink) 50%,transparent 50%),linear-gradient(180deg,rgba(255,255,255,.96),rgba(255,255,255,.86))!important;
  background-position:calc(100% - 18px) 20px,calc(100% - 12px) 20px,0 0!important;
  background-size:6px 6px,6px 6px,100% 100%!important;
  background-repeat:no-repeat!important;
  padding-right:34px!important;
}
.snc-finance-clean-v146 .snc-finance-period select:focus{
  outline:none!important;
  border-color:var(--snc-accent)!important;
  box-shadow:0 0 0 4px var(--snc-accent-soft),0 10px 24px rgba(60,42,30,.06)!important;
}
@media(max-width:760px){
  .snc-finance-clean-v146 .snc-finance-period-card{min-width:0!important;}
  .snc-finance-clean-v146 .snc-finance-period-row{grid-template-columns:1fr 1fr!important;}
}
@media(max-width:480px){
  .snc-finance-clean-v146 .snc-finance-period-row{grid-template-columns:1fr!important;}
}

/* v1.1.149 dashboard upcoming status filter */
.snc-dashboard-upcoming-head{
  align-items:center;
  gap:14px;
}
.snc-dashboard-status-filter{
  display:flex;
  align-items:center;
  gap:8px;
  padding:7px 8px 7px 12px;
  border:1px solid rgba(120,100,85,.18);
  border-radius:18px;
  background:rgba(255,255,255,.72);
  box-shadow:0 10px 24px rgba(55,38,29,.06);
  backdrop-filter:blur(12px);
  white-space:nowrap;
}
.snc-dashboard-status-filter span{
  font-size:12px;
  font-weight:800;
  color:rgba(55,38,29,.56);
}
.snc-dashboard-status-filter select{
  min-width:145px;
  height:34px;
  border:0;
  border-radius:14px;
  background:rgba(255,255,255,.9);
  color:#3b2b25;
  font-weight:800;
  font-size:13px;
  padding:0 30px 0 12px;
  outline:none;
  box-shadow:inset 0 0 0 1px rgba(120,100,85,.12);
}
.snc-dashboard-filter-hidden{display:none!important;}
@media (max-width: 760px){
  .snc-dashboard-upcoming-head{align-items:stretch;}
  .snc-dashboard-status-filter{width:100%; justify-content:space-between; border-radius:16px;}
  .snc-dashboard-status-filter select{flex:1; min-width:0;}
}

/* v1.1.150 hard hide filtered dashboard appointments */
.snc-dashboard-upcoming-panel [data-dashboard-appt-item].snc-dashboard-filter-hidden{display:none !important;}

/* v1.1.152 — calendar week navigation + free-slot shortcut */
.snc-week-toolbar{display:flex;align-items:center;justify-content:center;gap:14px;margin:10px 0 14px;padding:10px;border:1px solid var(--snc-line);border-radius:18px;background:linear-gradient(180deg,#fff,var(--snc-accent-wash));box-shadow:0 10px 24px rgba(38,30,25,.05)}
.snc-week-toolbar strong{min-width:190px;text-align:center;font-size:14px;color:var(--snc-accent-ink);font-weight:950;letter-spacing:-.01em}
.snc-week-nav-btn{width:38px;height:38px;border-radius:14px;border:1px solid var(--snc-line);background:#fff;color:var(--snc-accent-ink);font-size:24px;line-height:1;cursor:pointer;box-shadow:0 8px 18px rgba(22,18,15,.06);display:grid;place-items:center}
.snc-week-nav-btn:hover{background:var(--snc-accent-soft);border-color:var(--snc-accent-glow);transform:translateY(-1px)}
.snc-calendar-board .snc-free-slot-btn{width:100%;border:1px dashed color-mix(in srgb,var(--snc-accent) 42%,var(--snc-line));background:rgba(255,255,255,.72);color:var(--snc-accent-ink);border-radius:13px;padding:9px 10px;font-size:12px;font-weight:900;cursor:pointer;text-align:center;transition:transform .18s ease,box-shadow .18s ease,background .18s ease,border-color .18s ease;}
.snc-calendar-board .snc-free-slot-btn:hover{background:var(--snc-accent-soft);border-color:var(--snc-accent);box-shadow:0 10px 22px rgba(38,30,25,.08);transform:translateY(-1px)}
.snc-date-prefilled-pulse{animation:sncDatePrefilledPulse 1.05s ease both!important;box-shadow:0 0 0 4px var(--snc-accent-soft)!important;border-color:var(--snc-accent)!important}
@keyframes sncDatePrefilledPulse{0%{transform:scale(1)}35%{transform:scale(1.015)}100%{transform:scale(1)}}
@media(max-width:820px){.snc-week-toolbar{justify-content:space-between;gap:10px}.snc-week-toolbar strong{min-width:auto;font-size:13px}.snc-week-nav-btn{width:36px;height:36px}}


/* v1.1.153 — calendar week action real fix */
.snc-calendar-shell .snc-week-toolbar,
.snc-calendar-shell .snc-week-toolbar *{pointer-events:auto!important;}
.snc-calendar-shell .snc-week-nav-btn{position:relative!important;z-index:20!important;}
.snc-calendar-shell .snc-free-slot-btn{position:relative!important;z-index:12!important;pointer-events:auto!important;}
.snc-calendar-board .snc-free-slot-btn{margin-bottom:9px!important;}
.snc-calendar-shell button.snc-event-pill.snc-event-clickable{background:linear-gradient(135deg,#fff,var(--snc-accent-wash))!important;color:var(--snc-text)!important;}
.snc-calendar-shell button.snc-event-pill.snc-event-clickable.planned{background:linear-gradient(135deg,rgba(255,255,255,.96),var(--snc-accent-wash))!important;border-color:var(--snc-accent-glow)!important;}
.snc-calendar-shell button.snc-event-pill.snc-event-clickable.completed{background:linear-gradient(135deg,rgba(255,255,255,.96),rgba(34,197,94,.10))!important;border-color:rgba(34,197,94,.24)!important;}
.snc-calendar-shell button.snc-event-pill.snc-event-clickable.cancelled{background:linear-gradient(135deg,rgba(255,255,255,.96),rgba(239,68,68,.10))!important;border-color:rgba(239,68,68,.24)!important;}
.snc-calendar-shell button.snc-event-pill.snc-event-clickable.no_show{background:linear-gradient(135deg,rgba(255,255,255,.96),rgba(15,23,42,.07))!important;border-color:rgba(15,23,42,.16)!important;}
.snc-calendar-board[data-calendar-view="week"] .snc-day-col{display:flex!important;flex-direction:column!important;gap:8px!important;}
.snc-calendar-board[data-calendar-view="week"] .snc-day-head{margin-bottom:2px!important;}


/* v1.1.155 calendar/new client refinements */
.snc-calendar-shell:not([data-view="week"]) .snc-week-toolbar{display:none!important;}
.snc-new-client-inline{grid-column:1/-1;border:1px solid var(--snc-line);border-radius:18px;background:rgba(255,255,255,.58);padding:12px;margin:2px 0 4px;}
.snc-new-client-toggle-row{display:flex;align-items:center;gap:10px;justify-content:space-between;flex-wrap:wrap;}
.snc-new-client-toggle-row small{color:var(--snc-muted);font-weight:700;}
.snc-new-client-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:12px;}
@media(max-width:720px){.snc-new-client-fields{grid-template-columns:1fr}.snc-new-client-toggle-row{align-items:flex-start;}}


/* v1.1.157: New appointment - new client fields layout fix */
.snc-appointment-form-clean .snc-new-client-inline-v156,
.snc-appointment-form .snc-new-client-inline-v156{
  grid-column:1/-1!important;
  margin:6px 0 14px!important;
  padding:14px!important;
  border:1px solid var(--snc-line)!important;
  border-radius:18px!important;
  background:rgba(255,255,255,.60)!important;
  box-sizing:border-box!important;
  overflow:visible!important;
}
.snc-appointment-form-clean .snc-new-client-fields-v156,
.snc-appointment-form .snc-new-client-fields-v156{
  display:grid!important;
  grid-template-columns:minmax(180px,.9fr) minmax(260px,1.1fr)!important;
  gap:12px!important;
  align-items:end!important;
  margin-top:0!important;
}
.snc-appointment-form-clean .snc-new-client-fields-v156 .snc-field,
.snc-appointment-form .snc-new-client-fields-v156 .snc-field{
  min-height:auto!important;
  min-width:0!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:flex-end!important;
}
.snc-appointment-form-clean .snc-new-client-fields-v156 label,
.snc-appointment-form .snc-new-client-fields-v156 label{
  margin:0 0 6px!important;
  line-height:1.15!important;
}
.snc-appointment-form-clean .snc-new-client-fields-v156 input[name="new_client_name"],
.snc-appointment-form .snc-new-client-fields-v156 input[name="new_client_name"]{
  height:44px!important;
  min-height:44px!important;
  width:100%!important;
  box-sizing:border-box!important;
}
.snc-appointment-form-clean .snc-new-client-fields-v156 .snc-phone-row,
.snc-appointment-form .snc-new-client-fields-v156 .snc-phone-row{
  display:grid!important;
  grid-template-columns:82px minmax(0,1fr)!important;
  gap:9px!important;
  align-items:center!important;
  width:100%!important;
  min-width:0!important;
}
.snc-appointment-form-clean .snc-new-client-fields-v156 .snc-phone-row select,
.snc-appointment-form .snc-new-client-fields-v156 .snc-phone-row select{
  width:82px!important;
  min-width:82px!important;
  max-width:82px!important;
  height:44px!important;
  box-sizing:border-box!important;
}
.snc-appointment-form-clean .snc-new-client-fields-v156 input[name="new_client_phone"],
.snc-appointment-form .snc-new-client-fields-v156 input[name="new_client_phone"]{
  height:44px!important;
  min-height:44px!important;
  min-width:0!important;
  width:100%!important;
  box-sizing:border-box!important;
}
@media(max-width:720px){
  .snc-appointment-form-clean .snc-new-client-fields-v156,
  .snc-appointment-form .snc-new-client-fields-v156{grid-template-columns:1fr!important;}
}

/* v1.1.162 — dashboard upcoming filter follows selected CRM theme */
#tab-dashboard .snc-dashboard-upcoming-panel .snc-dashboard-status-filter,
.snc-app #tab-dashboard .snc-dashboard-upcoming-panel .snc-dashboard-status-filter{
  border:1px solid color-mix(in srgb,var(--snc-accent) 24%,var(--snc-line))!important;
  background:linear-gradient(135deg,rgba(255,255,255,.92),var(--snc-accent-wash))!important;
  box-shadow:0 14px 30px color-mix(in srgb,var(--snc-accent) 12%,transparent)!important;
}
#tab-dashboard .snc-dashboard-upcoming-panel .snc-dashboard-status-filter span,
.snc-app #tab-dashboard .snc-dashboard-upcoming-panel .snc-dashboard-status-filter span{
  color:var(--snc-accent-ink)!important;
}
#tab-dashboard .snc-dashboard-upcoming-panel .snc-dashboard-status-filter select,
.snc-app #tab-dashboard .snc-dashboard-upcoming-panel .snc-dashboard-status-filter select{
  appearance:none!important;
  -webkit-appearance:none!important;
  border:1px solid color-mix(in srgb,var(--snc-accent) 30%,var(--snc-line))!important;
  color:var(--snc-accent-ink)!important;
  background:
    linear-gradient(45deg,transparent 50%,var(--snc-accent-ink) 50%) calc(100% - 18px) 50%/6px 6px no-repeat,
    linear-gradient(135deg,var(--snc-accent-ink) 50%,transparent 50%) calc(100% - 13px) 50%/6px 6px no-repeat,
    linear-gradient(135deg,var(--snc-accent-soft),#fff)!important;
  box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--snc-accent) 10%,transparent)!important;
}
#tab-dashboard .snc-dashboard-upcoming-panel .snc-dashboard-status-filter select:hover,
.snc-app #tab-dashboard .snc-dashboard-upcoming-panel .snc-dashboard-status-filter select:hover{
  border-color:var(--snc-accent)!important;
  background:
    linear-gradient(45deg,transparent 50%,#fff 50%) calc(100% - 18px) 50%/6px 6px no-repeat,
    linear-gradient(135deg,#fff 50%,transparent 50%) calc(100% - 13px) 50%/6px 6px no-repeat,
    linear-gradient(135deg,var(--snc-accent),var(--snc-accent-2))!important;
  color:#fff!important;
}
#tab-dashboard .snc-dashboard-upcoming-panel .snc-dashboard-status-filter select:focus,
.snc-app #tab-dashboard .snc-dashboard-upcoming-panel .snc-dashboard-status-filter select:focus{
  outline:none!important;
  border-color:var(--snc-accent)!important;
  box-shadow:0 0 0 4px var(--snc-accent-soft),0 12px 24px color-mix(in srgb,var(--snc-accent) 14%,transparent)!important;
}

/* v1.1.163 — fullscreen scroll + modal visibility hard fix */
.snc-app:fullscreen,
.snc-app:-webkit-full-screen,
.snc-app.is-snc-fullscreen{
  width:100vw!important;
  height:100vh!important;
  max-height:100vh!important;
  min-height:100vh!important;
  overflow:hidden!important;
  border-radius:0!important;
}
.snc-app:fullscreen .snc-main,
.snc-app:-webkit-full-screen .snc-main,
.snc-app.is-snc-fullscreen .snc-main{
  height:100vh!important;
  max-height:100vh!important;
  min-height:0!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  -webkit-overflow-scrolling:touch!important;
  overscroll-behavior:contain!important;
  scroll-behavior:smooth!important;
}
.snc-app:fullscreen .snc-sidebar,
.snc-app:-webkit-full-screen .snc-sidebar,
.snc-app.is-snc-fullscreen .snc-sidebar{
  height:100vh!important;
  max-height:100vh!important;
  overflow-y:auto!important;
  border-radius:0!important;
}
.snc-app.is-snc-fullscreen .snc-dashboard-appt-modal-v151,
.snc-app:fullscreen .snc-dashboard-appt-modal-v151,
.snc-app:-webkit-full-screen .snc-dashboard-appt-modal-v151{
  position:fixed!important;
  inset:0!important;
  z-index:999999!important;
}
.snc-app.is-snc-fullscreen .snc-dashboard-appt-modal-v151.open,
.snc-app:fullscreen .snc-dashboard-appt-modal-v151.open,
.snc-app:-webkit-full-screen .snc-dashboard-appt-modal-v151.open{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  pointer-events:auto!important;
  visibility:visible!important;
}


/* v1.1.164 — fullscreen appointment modal visibility hard fix */
:fullscreen .snc-dashboard-appt-modal-v151,
:-webkit-full-screen .snc-dashboard-appt-modal-v151,
.snc-app.is-snc-fullscreen .snc-dashboard-appt-modal-v151{
  position:fixed!important;
  inset:0!important;
  z-index:2147483647!important;
  pointer-events:auto!important;
}
:fullscreen .snc-dashboard-appt-modal-v151.open,
:-webkit-full-screen .snc-dashboard-appt-modal-v151.open,
.snc-app.is-snc-fullscreen .snc-dashboard-appt-modal-v151.open{
  display:flex!important;
  visibility:visible!important;
  opacity:1!important;
  align-items:center!important;
  justify-content:center!important;
}

/* v1.1.165 — fullscreen modal must live and render inside fullscreen host */
.snc-app:fullscreen .snc-dashboard-appt-modal-v151.open,
.snc-app:-webkit-full-screen .snc-dashboard-appt-modal-v151.open,
.snc-app.is-snc-fullscreen .snc-dashboard-appt-modal-v151.open,
:fullscreen .snc-dashboard-appt-modal-v151.open,
:-webkit-full-screen .snc-dashboard-appt-modal-v151.open{
  display:flex!important;
  position:fixed!important;
  inset:0!important;
  z-index:2147483647!important;
  visibility:visible!important;
  opacity:1!important;
  align-items:center!important;
  justify-content:center!important;
  pointer-events:auto!important;
}
.snc-app:fullscreen .snc-dashboard-appt-modal-v151.open .snc-dashboard-appt-card-v151,
.snc-app:-webkit-full-screen .snc-dashboard-appt-modal-v151.open .snc-dashboard-appt-card-v151,
.snc-app.is-snc-fullscreen .snc-dashboard-appt-modal-v151.open .snc-dashboard-appt-card-v151,
:fullscreen .snc-dashboard-appt-modal-v151.open .snc-dashboard-appt-card-v151,
:-webkit-full-screen .snc-dashboard-appt-modal-v151.open .snc-dashboard-appt-card-v151{
  position:relative!important;
  z-index:2147483647!important;
}

/* v1.1.166 — fullscreen appointment modal center fix */
.snc-app:fullscreen #sncDashboardApptModalV151.open,
.snc-app:-webkit-full-screen #sncDashboardApptModalV151.open,
.snc-app.is-snc-fullscreen #sncDashboardApptModalV151.open,
:fullscreen #sncDashboardApptModalV151.open,
:-webkit-full-screen #sncDashboardApptModalV151.open,
#sncDashboardApptModalV151.snc-fs-centered.open{
  position:fixed!important;
  left:0!important;
  top:0!important;
  right:0!important;
  bottom:0!important;
  width:100vw!important;
  height:100vh!important;
  max-width:100vw!important;
  max-height:100vh!important;
  margin:0!important;
  padding:clamp(14px,3vh,28px)!important;
  display:grid!important;
  place-items:center!important;
  align-items:center!important;
  justify-items:center!important;
  z-index:2147483647!important;
  pointer-events:auto!important;
  overflow:hidden!important;
  box-sizing:border-box!important;
}
.snc-app:fullscreen #sncDashboardApptModalV151.open .snc-dashboard-appt-backdrop-v151,
.snc-app:-webkit-full-screen #sncDashboardApptModalV151.open .snc-dashboard-appt-backdrop-v151,
.snc-app.is-snc-fullscreen #sncDashboardApptModalV151.open .snc-dashboard-appt-backdrop-v151,
:fullscreen #sncDashboardApptModalV151.open .snc-dashboard-appt-backdrop-v151,
:-webkit-full-screen #sncDashboardApptModalV151.open .snc-dashboard-appt-backdrop-v151,
#sncDashboardApptModalV151.snc-fs-centered.open .snc-dashboard-appt-backdrop-v151{
  position:absolute!important;
  inset:0!important;
  z-index:0!important;
}
.snc-app:fullscreen #sncDashboardApptModalV151.open .snc-dashboard-appt-card-v151,
.snc-app:-webkit-full-screen #sncDashboardApptModalV151.open .snc-dashboard-appt-card-v151,
.snc-app.is-snc-fullscreen #sncDashboardApptModalV151.open .snc-dashboard-appt-card-v151,
:fullscreen #sncDashboardApptModalV151.open .snc-dashboard-appt-card-v151,
:-webkit-full-screen #sncDashboardApptModalV151.open .snc-dashboard-appt-card-v151,
#sncDashboardApptModalV151.snc-fs-centered.open .snc-dashboard-appt-card-v151{
  position:relative!important;
  left:auto!important;
  top:auto!important;
  right:auto!important;
  bottom:auto!important;
  transform:none!important;
  margin:auto!important;
  width:min(620px,calc(100vw - 32px))!important;
  max-width:calc(100vw - 32px)!important;
  max-height:calc(100vh - 32px)!important;
  overflow:auto!important;
  z-index:1!important;
  box-sizing:border-box!important;
}


/* v1.1.167 — real mobile menu button sticky/clickability fix */
@media(max-width:820px){
  #sncMobileMenuToggle.snc-mobile-menu-toggle{
    display:grid!important;
    position:fixed!important;
    left:max(12px, env(safe-area-inset-left))!important;
    top:calc(12px + env(safe-area-inset-top))!important;
    width:44px!important;
    height:44px!important;
    min-width:44px!important;
    min-height:44px!important;
    padding:10px!important;
    border-radius:16px!important;
    background:rgba(255,255,255,.94)!important;
    border:1px solid rgba(255,255,255,.72)!important;
    box-shadow:0 16px 42px rgba(0,0,0,.18)!important;
    backdrop-filter:blur(18px)!important;
    -webkit-backdrop-filter:blur(18px)!important;
    z-index:2147483647!important;
    pointer-events:auto!important;
    cursor:pointer!important;
    touch-action:manipulation!important;
    -webkit-tap-highlight-color:transparent!important;
    transform:translateZ(0)!important;
    isolation:isolate!important;
  }
  #sncMobileMenuToggle.snc-mobile-menu-toggle span{
    display:block!important;
    width:20px!important;
    height:2px!important;
    margin:2.5px auto!important;
    border-radius:999px!important;
    background:var(--snc-accent-ink)!important;
    pointer-events:none!important;
  }
  body.snc-mobile-nav-open #sncMobileMenuToggle.snc-mobile-menu-toggle{
    background:var(--snc-accent)!important;
  }
  body.snc-mobile-nav-open #sncMobileMenuToggle.snc-mobile-menu-toggle span{
    background:#fff!important;
  }
  #sncMobileNavBackdrop.snc-mobile-nav-backdrop{
    position:fixed!important;
    inset:0!important;
    z-index:2147483600!important;
  }
  body.snc-mobile-nav-open .snc-sidebar{
    z-index:2147483620!important;
    transform:translateX(0)!important;
  }
}


/* v1.1.168 — mobile menu single-tap + sticky floating source fix, no data/storage changes */
@media(max-width:820px){
  html.snc-mobile-nav-open,
  body.snc-mobile-nav-open{
    overflow:hidden!important;
  }
  #sncMobileMenuToggle.snc-mobile-menu-toggle{
    display:grid!important;
    position:fixed!important;
    left:max(12px, env(safe-area-inset-left))!important;
    top:calc(12px + env(safe-area-inset-top))!important;
    width:46px!important;
    height:46px!important;
    min-width:46px!important;
    min-height:46px!important;
    padding:10px!important;
    place-items:center!important;
    border-radius:17px!important;
    background:rgba(255,255,255,.96)!important;
    border:1px solid rgba(255,255,255,.82)!important;
    box-shadow:0 16px 42px rgba(0,0,0,.18)!important;
    backdrop-filter:blur(18px)!important;
    -webkit-backdrop-filter:blur(18px)!important;
    z-index:2147483647!important;
    pointer-events:auto!important;
    cursor:pointer!important;
    touch-action:manipulation!important;
    -webkit-tap-highlight-color:transparent!important;
    transform:translateZ(0)!important;
  }
  #sncMobileMenuToggle.snc-mobile-menu-toggle span{
    display:block!important;
    width:20px!important;
    height:2px!important;
    margin:2px auto!important;
    border-radius:999px!important;
    background:var(--snc-accent-ink)!important;
    pointer-events:none!important;
  }
  html.snc-mobile-nav-open #sncMobileMenuToggle.snc-mobile-menu-toggle,
  body.snc-mobile-nav-open #sncMobileMenuToggle.snc-mobile-menu-toggle,
  .snc-app.snc-mobile-nav-open #sncMobileMenuToggle.snc-mobile-menu-toggle{
    background:var(--snc-accent)!important;
  }
  html.snc-mobile-nav-open #sncMobileMenuToggle.snc-mobile-menu-toggle span,
  body.snc-mobile-nav-open #sncMobileMenuToggle.snc-mobile-menu-toggle span,
  .snc-app.snc-mobile-nav-open #sncMobileMenuToggle.snc-mobile-menu-toggle span{
    background:#fff!important;
  }
  #sncMobileNavBackdrop.snc-mobile-nav-backdrop{
    display:block!important;
    position:fixed!important;
    inset:0!important;
    z-index:2147483600!important;
    background:rgba(40,32,27,.24)!important;
    opacity:0!important;
    pointer-events:none!important;
    transition:opacity .18s ease!important;
  }
  html.snc-mobile-nav-open #sncMobileNavBackdrop.snc-mobile-nav-backdrop,
  body.snc-mobile-nav-open #sncMobileNavBackdrop.snc-mobile-nav-backdrop,
  .snc-app.snc-mobile-nav-open #sncMobileNavBackdrop.snc-mobile-nav-backdrop{
    opacity:1!important;
    pointer-events:auto!important;
  }
  html.snc-mobile-nav-open .snc-sidebar,
  body.snc-mobile-nav-open .snc-sidebar,
  .snc-app.snc-mobile-nav-open .snc-sidebar{
    display:flex!important;
    position:fixed!important;
    left:10px!important;
    top:calc(64px + env(safe-area-inset-top))!important;
    bottom:calc(10px + env(safe-area-inset-bottom))!important;
    width:min(310px,calc(100vw - 20px))!important;
    transform:translateX(0)!important;
    visibility:visible!important;
    opacity:1!important;
    pointer-events:auto!important;
    z-index:2147483620!important;
  }
}


/* v1.1.169 — mobile duplicate title removal + no input auto zoom, visual only, no data/storage changes */
@media(max-width:820px){
  .snc-topbar > .snc-mobile-brand + div{
    display:none!important;
  }
  .snc-topbar h1,
  .snc-topbar .snc-eyebrow,
  .snc-topbar p{
    display:none!important;
  }
  .snc-topbar > div:not(.snc-mobile-brand):not(.snc-top-actions){
    display:none!important;
  }
  .snc-topbar .snc-top-actions{
    display:grid!important;
  }
  .snc-app input,
  .snc-app select,
  .snc-app textarea,
  .snc-app button{
    font-size:16px!important;
    touch-action:manipulation!important;
  }
  .snc-app .snc-chip,
  .snc-app .snc-mini,
  .snc-app .snc-status,
  .snc-app .snc-theme-toggle{
    font-size:12.5px!important;
  }
}

/* v1.1.170 — clean app mode when CRM is opened from WooCommerce account/front-end */
body.snc-crm-app-mode{
  width:100%!important;
  max-width:100%!important;
  overflow-x:hidden!important;
  background:var(--snc-bg-a,#f7f3ef)!important;
}
body.snc-crm-app-mode .site,
body.snc-crm-app-mode #page,
body.snc-crm-app-mode #content,
body.snc-crm-app-mode .site-content,
body.snc-crm-app-mode .content-area,
body.snc-crm-app-mode .ast-container,
body.snc-crm-app-mode .entry-content,
body.snc-crm-app-mode article,
body.snc-crm-app-mode .woocommerce,
body.snc-crm-app-mode .woocommerce-MyAccount-content{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  float:none!important;
  display:block!important;
  box-sizing:border-box!important;
}
body.snc-crm-app-mode .snc-app{
  width:100%!important;
  max-width:100vw!important;
  margin:0!important;
  box-sizing:border-box!important;
}
body.snc-crm-app-mode .snc-main{
  max-width:100vw!important;
  box-sizing:border-box!important;
  overflow-x:hidden!important;
}
@media(max-width:820px){
  body.snc-crm-app-mode .snc-mobile-brand{
    display:flex!important;
    visibility:visible!important;
    opacity:1!important;
  }
  body.snc-crm-app-mode .snc-topbar > div:not(.snc-mobile-brand):not(.snc-top-actions){
    display:none!important;
  }
  body.snc-crm-app-mode .snc-app,
  body.snc-crm-app-mode .snc-main,
  body.snc-crm-app-mode .snc-panel,
  body.snc-crm-app-mode .snc-card{
    max-width:100vw!important;
  }
}


/* v1.1.171 — real front-end CRM app mode for /beauty-crm/?snc_app=1, no data/storage changes */
html.snc-front-app-mode-html,
body.snc-front-app-mode-body{
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  margin:0!important;
  padding:0!important;
  overflow:hidden!important;
  background:var(--snc-bg-a,#f7f3ef)!important;
  -webkit-text-size-adjust:100%!important;
}
body.snc-front-app-mode-body > *:not(.snc-modal):not(.snc-toast){
  max-width:100%!important;
}
.snc-app.snc-front-app-mode{
  position:fixed!important;
  inset:0!important;
  z-index:2147482500!important;
  width:100vw!important;
  max-width:100vw!important;
  height:100dvh!important;
  min-height:100dvh!important;
  margin:0!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  overflow:auto!important;
  -webkit-overflow-scrolling:touch!important;
  background:linear-gradient(135deg,var(--snc-bg-a),var(--snc-bg-b) 48%,var(--snc-bg-c))!important;
  box-sizing:border-box!important;
  contain:layout paint!important;
}
.snc-app.snc-front-app-mode .snc-main{
  max-width:100%!important;
  width:100%!important;
  min-width:0!important;
  overflow-x:hidden!important;
  box-sizing:border-box!important;
}
@media(max-width:820px){
  .snc-app.snc-front-app-mode{
    display:block!important;
    padding:0!important;
  }
  .snc-app.snc-front-app-mode .snc-topbar{
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    justify-content:center!important;
    width:100%!important;
    max-width:100%!important;
    padding:calc(12px + env(safe-area-inset-top)) 12px 10px!important;
    margin:0!important;
    box-sizing:border-box!important;
  }
  .snc-app.snc-front-app-mode .snc-mobile-brand{
    display:flex!important;
    visibility:visible!important;
    opacity:1!important;
    align-items:center!important;
    justify-content:center!important;
    gap:10px!important;
    width:100%!important;
    max-width:100%!important;
    min-height:42px!important;
    margin:0 auto 10px!important;
    padding:0 52px!important;
    box-sizing:border-box!important;
    text-align:center!important;
  }
  .snc-app.snc-front-app-mode .snc-topbar > div:not(.snc-mobile-brand):not(.snc-top-actions){
    display:none!important;
  }
  .snc-app.snc-front-app-mode .snc-top-actions{
    width:100%!important;
    max-width:100%!important;
    box-sizing:border-box!important;
  }
  .snc-app.snc-front-app-mode .snc-panel,
  .snc-app.snc-front-app-mode .snc-card,
  .snc-app.snc-front-app-mode .snc-list,
  .snc-app.snc-front-app-mode .snc-tab{
    max-width:100%!important;
    box-sizing:border-box!important;
  }
  .snc-app.snc-front-app-mode input:not([type=checkbox]):not([type=radio]),
  .snc-app.snc-front-app-mode select,
  .snc-app.snc-front-app-mode textarea{
    max-width:100%!important;
    box-sizing:border-box!important;
    font-size:16px!important;
  }
  .snc-app.snc-front-app-mode input[type=checkbox],
  .snc-app.snc-front-app-mode input[type=radio]{
    width:16px!important;height:16px!important;min-height:16px!important;
    max-width:16px!important;padding:0!important;flex-shrink:0!important;
  }
  .snc-app.snc-front-app-mode .snc-mobile-menu-toggle{
    display:flex!important;
    position:fixed!important;
    top:calc(12px + env(safe-area-inset-top))!important;
    left:12px!important;
    z-index:2147483600!important;
    pointer-events:auto!important;
    touch-action:manipulation!important;
  }
}


/* v1.1.172 — mobile app-mode sticky menu + safe date/time fields, visual only, no data/storage changes */
.snc-app.snc-front-app-mode{
  contain:none!important;
}
@media(max-width:820px){
  .snc-app.snc-front-app-mode #sncMobileMenuToggle.snc-mobile-menu-toggle,
  body.snc-crm-app-mode #sncMobileMenuToggle.snc-mobile-menu-toggle{
    display:grid!important;
    position:fixed!important;
    top:calc(12px + env(safe-area-inset-top))!important;
    left:max(12px, env(safe-area-inset-left))!important;
    width:46px!important;
    height:46px!important;
    min-width:46px!important;
    min-height:46px!important;
    z-index:2147483647!important;
    pointer-events:auto!important;
    touch-action:manipulation!important;
    transform:none!important;
    will-change:auto!important;
  }
  .snc-app.snc-front-app-mode .snc-form,
  .snc-app.snc-front-app-mode .snc-ster-form,
  .snc-app.snc-front-app-mode .snc-appointment-form-clean.snc-form{
    grid-template-columns:1fr!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    overflow:hidden!important;
    box-sizing:border-box!important;
  }
  .snc-app.snc-front-app-mode .snc-field,
  .snc-app.snc-front-app-mode .snc-form .snc-field,
  .snc-app.snc-front-app-mode .snc-ster-form .snc-field,
  .snc-app.snc-front-app-mode .snc-appointment-form-clean .snc-field{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    box-sizing:border-box!important;
    overflow:hidden!important;
  }
  .snc-app.snc-front-app-mode input[type="date"],
  .snc-app.snc-front-app-mode input[type="time"],
  .snc-app.snc-front-app-mode input[type="datetime-local"],
  .snc-app.snc-front-app-mode .snc-ster-form input[type="date"],
  .snc-app.snc-front-app-mode .snc-ster-form input[type="time"],
  .snc-app.snc-front-app-mode .snc-appointment-form-clean input[name="appointment_date"],
  .snc-app.snc-front-app-mode .snc-appointment-form-clean input[name="appointment_time"]{
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    height:44px!important;
    min-height:44px!important;
    box-sizing:border-box!important;
    padding-left:12px!important;
    padding-right:10px!important;
    font-size:16px!important;
    overflow:hidden!important;
    -webkit-appearance:none!important;
    appearance:none!important;
  }
  .snc-app.snc-front-app-mode .snc-panel{
    overflow:hidden!important;
  }
}

/* v1.1.173 — mobile modal action flow, client modal centering, dashboard date pill overflow fix */
@media(max-width:820px){
  /* Appointment info popup: actions must be part of the scrollable content, not sticky/floating over information */
  .snc-dashboard-appt-card-v151,
  .snc-appt-info-card{
    display:flex!important;
    flex-direction:column!important;
    overflow:hidden!important;
  }
  .snc-dashboard-appt-body-v151{
    position:relative!important;
    overflow:auto!important;
    -webkit-overflow-scrolling:touch!important;
    max-height:calc(100svh - 88px)!important;
    padding-bottom:16px!important;
  }
  .snc-dashboard-appt-body-v151 .snc-modal-actions,
  .snc-appt-info-card .snc-modal-actions,
  .snc-appt-info-card .snc-appt-info-actions{
    position:static!important;
    inset:auto!important;
    transform:none!important;
    z-index:auto!important;
    margin:16px 0 0!important;
    padding:14px 0 0!important;
    background:transparent!important;
    border-top:1px solid var(--snc-line)!important;
    box-shadow:none!important;
    backdrop-filter:none!important;
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:9px!important;
  }
  .snc-dashboard-appt-body-v151 .snc-modal-actions .snc-btn,
  .snc-dashboard-appt-body-v151 .snc-modal-actions button,
  .snc-dashboard-appt-body-v151 .snc-modal-actions a,
  .snc-appt-info-card .snc-modal-actions .snc-btn,
  .snc-appt-info-card .snc-modal-actions button,
  .snc-appt-info-card .snc-modal-actions a,
  .snc-appt-info-card .snc-appt-info-actions .snc-btn{
    width:100%!important;
    max-width:100%!important;
    min-height:42px!important;
    height:auto!important;
    white-space:normal!important;
  }

  /* Client modal: hard-center on mobile/app overlay, never bottom-right */
  body .snc-client-modal,
  body .snc-client-modal.open,
  body .snc-client-modal.is-open,
  .snc-app .snc-client-modal,
  .snc-app .snc-client-modal.open,
  .snc-app .snc-client-modal.is-open{
    position:fixed!important;
    inset:0!important;
    display:none;
    align-items:center!important;
    justify-content:center!important;
    place-items:center!important;
    padding:12px!important;
    z-index:2147482600!important;
    overflow:hidden!important;
  }
  body .snc-client-modal.open,
  body .snc-client-modal.is-open,
  .snc-app .snc-client-modal.open,
  .snc-app .snc-client-modal.is-open{
    display:grid!important;
  }
  body .snc-client-modal-card,
  .snc-app .snc-client-modal-card{
    position:relative!important;
    left:auto!important;
    right:auto!important;
    top:auto!important;
    bottom:auto!important;
    transform:none!important;
    margin:auto!important;
    width:min(100%,calc(100vw - 24px))!important;
    max-width:calc(100vw - 24px)!important;
    min-width:0!important;
    max-height:calc(100svh - 24px)!important;
    border-radius:22px!important;
    box-sizing:border-box!important;
  }

  /* Dashboard upcoming: compact date/time pill, prevent date from escaping its badge */
  .snc-dash-appt-time-v151,
  .snc-dashboard-appointments-v151 .snc-dash-appt-time-v151{
    min-width:0!important;
    width:58px!important;
    max-width:58px!important;
    flex:0 0 58px!important;
    padding:7px 5px!important;
    box-sizing:border-box!important;
    overflow:hidden!important;
  }
  .snc-dash-appt-time-v151 b,
  .snc-dash-appt-time-v151 small,
  .snc-dashboard-appointments-v151 .snc-dash-appt-time-v151 b,
  .snc-dashboard-appointments-v151 .snc-dash-appt-time-v151 small{
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    white-space:nowrap!important;
    text-align:center!important;
    line-height:1.08!important;
  }
  .snc-dash-appt-time-v151 b{font-size:13px!important;}
  .snc-dash-appt-time-v151 small{font-size:9.5px!important;letter-spacing:-.02em!important;}
  .snc-dashboard-appointments-v151 [data-dashboard-appt-item],
  .snc-dash-appt-v151{
    min-width:0!important;
    max-width:100%!important;
    overflow:hidden!important;
  }
}

/* v1.1.174 — mobile client modal hard center, dashboard date pill, Today click cards */
@media (max-width: 820px){
  body .snc-client-modal.open,
  body .snc-client-modal.is-open,
  .snc-app .snc-client-modal.open,
  .snc-app .snc-client-modal.is-open{
    position:fixed!important;
    inset:0!important;
    width:100vw!important;
    height:100dvh!important;
    display:block!important;
    overflow:hidden!important;
    padding:0!important;
    z-index:2147483000!important;
  }
  body .snc-client-modal.open .snc-client-modal-card,
  body .snc-client-modal.is-open .snc-client-modal-card,
  .snc-app .snc-client-modal.open .snc-client-modal-card,
  .snc-app .snc-client-modal.is-open .snc-client-modal-card{
    position:fixed!important;
    left:50%!important;
    top:50%!important;
    right:auto!important;
    bottom:auto!important;
    transform:translate(-50%,-50%)!important;
    margin:0!important;
    width:calc(100vw - 24px)!important;
    max-width:calc(100vw - 24px)!important;
    max-height:calc(100dvh - 24px)!important;
    min-width:0!important;
    box-sizing:border-box!important;
    overflow:hidden!important;
  }
  body .snc-client-modal.open .snc-client-modal-body,
  .snc-app .snc-client-modal.open .snc-client-modal-body{
    max-height:calc(100dvh - 86px)!important;
    overflow:auto!important;
    -webkit-overflow-scrolling:touch!important;
  }
  .snc-client-view .snc-modal-actions,
  .snc-client-modal .snc-modal-actions{
    position:static!important;
    left:auto!important;
    right:auto!important;
    bottom:auto!important;
    top:auto!important;
    transform:none!important;
    margin:14px 0 0!important;
    padding:0!important;
    background:transparent!important;
    box-shadow:none!important;
    border:0!important;
  }

  .snc-dashboard-appointments-v151 .snc-dash-appt-v151{
    padding:9px!important;
    overflow:hidden!important;
  }
  .snc-dashboard-appointments-v151 .snc-dash-appt-main-v151,
  .snc-dash-appt-main-v151{
    display:grid!important;
    grid-template-columns:52px minmax(0,1fr)!important;
    grid-template-areas:"time text" "status status"!important;
    gap:8px 10px!important;
    align-items:center!important;
    width:100%!important;
    min-width:0!important;
  }
  .snc-dashboard-appointments-v151 .snc-dash-appt-time-v151,
  .snc-dash-appt-time-v151{
    grid-area:time!important;
    width:52px!important;
    min-width:52px!important;
    max-width:52px!important;
    flex:0 0 52px!important;
    padding:6px 4px!important;
    align-self:center!important;
  }
  .snc-dashboard-appointments-v151 .snc-dash-appt-text-v151,
  .snc-dash-appt-text-v151{
    grid-area:text!important;
    min-width:0!important;
    padding-right:0!important;
  }
  .snc-dashboard-appointments-v151 .snc-dash-appt-status-v151,
  .snc-dash-appt-status-v151{
    grid-area:status!important;
    justify-self:start!important;
    max-width:100%!important;
  }

  .snc-agenda-item-v182.snc-agenda-appt-click{
    width:100%!important;
    border:1px solid rgba(15,23,42,.08)!important;
    background:rgba(255,255,255,.72)!important;
    text-align:left!important;
    cursor:pointer!important;
  }
}


/* v1.1.175 — mobile dashboard upcoming: full date must fit, service text truncates first */
@media (max-width: 820px){
  .snc-dashboard-appointments-v151 .snc-dash-appt-main-v151,
  .snc-dash-appt-main-v151{
    grid-template-columns:76px minmax(0,1fr)!important;
    grid-template-areas:"time text" "status status"!important;
    column-gap:9px!important;
  }
  .snc-dashboard-appointments-v151 .snc-dash-appt-time-v151,
  .snc-dash-appt-time-v151{
    width:76px!important;
    min-width:76px!important;
    max-width:76px!important;
    flex:0 0 76px!important;
    padding:7px 5px!important;
    overflow:visible!important;
  }
  .snc-dashboard-appointments-v151 .snc-dash-appt-time-v151 small,
  .snc-dash-appt-time-v151 small{
    overflow:visible!important;
    text-overflow:clip!important;
    white-space:nowrap!important;
    font-size:10px!important;
    letter-spacing:-.04em!important;
  }
  .snc-dashboard-appointments-v151 .snc-dash-appt-time-v151 b,
  .snc-dash-appt-time-v151 b{
    overflow:visible!important;
    text-overflow:clip!important;
    white-space:nowrap!important;
    font-size:13px!important;
  }
  .snc-dashboard-appointments-v151 .snc-dash-appt-text-v151,
  .snc-dash-appt-text-v151{
    min-width:0!important;
    overflow:hidden!important;
  }
  .snc-dashboard-appointments-v151 .snc-dash-appt-text-v151 small,
  .snc-dash-appt-text-v151 small{
    display:block!important;
    max-width:100%!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    white-space:nowrap!important;
  }
}

/* v1.1.176 — mobile finance income status chip: keep text inside pill */
@media (max-width: 820px){
  .snc-finance-income-row .snc-appointment-card-main{
    grid-template-columns: 68px minmax(0, 1fr) auto;
    align-items:center;
  }
  .snc-finance-income-row .snc-status{
    max-width: 100%;
    min-width: max-content;
    box-sizing: border-box;
    padding: 6px 9px;
    font-size: 11px!important;
    line-height: 1.1;
    white-space: nowrap;
    overflow: visible;
    text-overflow: clip;
    justify-self:end;
  }
  .snc-finance-income-row .snc-appointment-money{
    grid-column: 2 / 4;
    justify-self:start;
    margin-top: 4px;
  }
}


/* v1.1.177 — mobile Clients tab: clean client cards, no overlapping text/buttons */
@media (max-width: 820px){
  #tab-clients .snc-panel .snc-panel-head{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:10px!important;
    align-items:stretch!important;
  }
  #tab-clients .snc-panel-head h2{
    margin:0!important;
  }
  #tab-clients .snc-panel-head .snc-search{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    height:42px!important;
    box-sizing:border-box!important;
  }
  #tab-clients .snc-client-grid{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:10px!important;
    width:100%!important;
    min-width:0!important;
  }
  #tab-clients .snc-client-card{
    display:grid!important;
    grid-template-columns:44px minmax(0,1fr)!important;
    grid-template-areas:
      "avatar main"
      "actions actions"!important;
    gap:10px 11px!important;
    align-items:start!important;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    padding:13px!important;
    border-radius:19px!important;
    box-sizing:border-box!important;
    overflow:hidden!important;
  }
  #tab-clients .snc-client-card .snc-avatar{
    grid-area:avatar!important;
    width:44px!important;
    height:44px!important;
    min-width:44px!important;
    border-radius:15px!important;
    font-size:15px!important;
  }
  #tab-clients .snc-client-card .snc-client-main{
    grid-area:main!important;
    min-width:0!important;
    width:100%!important;
    overflow:hidden!important;
    align-self:center!important;
  }
  #tab-clients .snc-client-card .snc-client-main h3{
    margin:0 0 5px!important;
    font-size:15.5px!important;
    line-height:1.18!important;
    max-width:100%!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
  }
  #tab-clients .snc-client-card .snc-client-main p,
  #tab-clients .snc-client-card .snc-client-main small{
    display:block!important;
    margin:0!important;
    max-width:100%!important;
    font-size:12px!important;
    line-height:1.25!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
  }
  #tab-clients .snc-client-card .snc-client-main small{
    margin-top:5px!important;
  }
  #tab-clients .snc-client-card .snc-tags{
    display:flex!important;
    flex-wrap:wrap!important;
    gap:5px!important;
    margin-top:8px!important;
    max-width:100%!important;
    overflow:hidden!important;
  }
  #tab-clients .snc-client-card .snc-tags span{
    max-width:100%!important;
    min-width:0!important;
    font-size:10.5px!important;
    line-height:1!important;
    padding:5px 7px!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
  }
  #tab-clients .snc-client-card .snc-client-actions{
    grid-area:actions!important;
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:7px!important;
    width:100%!important;
    min-width:0!important;
    align-items:stretch!important;
    justify-content:stretch!important;
    margin-top:2px!important;
  }
  #tab-clients .snc-client-card .snc-client-actions .snc-mini,
  #tab-clients .snc-client-card .snc-client-actions a.snc-mini,
  #tab-clients .snc-client-card .snc-client-actions button.snc-mini{
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    height:36px!important;
    min-height:36px!important;
    padding:0 6px!important;
    border-radius:12px!important;
    box-sizing:border-box!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    text-align:center!important;
    font-size:11px!important;
    line-height:1.05!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
  }
}
@media (max-width: 380px){
  #tab-clients .snc-client-card .snc-client-actions{
    grid-template-columns:1fr!important;
  }
  #tab-clients .snc-client-card .snc-client-actions .snc-mini,
  #tab-clients .snc-client-card .snc-client-actions a.snc-mini,
  #tab-clients .snc-client-card .snc-client-actions button.snc-mini{
    height:34px!important;
  }
}


/* v1.1.179 — Mobile dashboard order: Today → Upcoming → Followups → Birthdays */
@media (max-width: 760px){
  #tab-dashboard.snc-tab.active{
    display:flex !important;
    flex-direction:column !important;
    gap:16px !important;
  }
  #tab-dashboard .snc-grid-4{
    order:1 !important;
  }
  #tab-dashboard .snc-dashboard-layout{
    display:contents !important;
  }
  #tab-dashboard .snc-today{
    order:2 !important;
  }
  #tab-dashboard .snc-dashboard-upcoming-panel{
    order:3 !important;
  }
  #tab-dashboard .snc-followup-dashboard{
    order:4 !important;
  }
  #tab-dashboard .snc-birthday-reminders{
    order:5 !important;
  }
}

/* v1.1.180 — Desktop Price List overflow fix */
@media (min-width: 1181px){
  #tab-price .snc-panel{
    overflow:hidden!important;
  }
  #tab-price .snc-price-list-form-v168,
  #tab-price .snc-price-list-table-v168{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    overflow:hidden!important;
    box-sizing:border-box!important;
  }
  #tab-price .snc-price-head-v168,
  #tab-price .snc-price-row-v168{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    box-sizing:border-box!important;
    grid-template-columns:minmax(0,1.55fr) minmax(74px,.5fr) minmax(118px,.72fr) minmax(112px,.68fr) minmax(0,1.1fr) minmax(72px,.45fr)!important;
    gap:8px!important;
  }
  #tab-price .snc-price-cell-v168,
  #tab-price .snc-price-title-cell-v168,
  #tab-price .snc-price-note-cell-v168,
  #tab-price .snc-price-enabled-v168,
  #tab-price .snc-price-delete-v168{
    min-width:0!important;
    max-width:100%!important;
    box-sizing:border-box!important;
  }
  #tab-price .snc-price-row-v168 input,
  #tab-price .snc-price-row-v168 select{
    min-width:0!important;
    max-width:100%!important;
    box-sizing:border-box!important;
    padding-left:10px!important;
    padding-right:10px!important;
  }
  #tab-price .snc-price-enabled-v168{
    padding-left:8px!important;
    padding-right:8px!important;
    font-size:11.5px!important;
    gap:6px!important;
  }
  #tab-price .snc-price-enabled-v168 span{
    min-width:0!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    white-space:nowrap!important;
  }
  #tab-price .snc-price-delete-v168{
    padding-left:8px!important;
    padding-right:8px!important;
    font-size:11.5px!important;
  }
}


/* v1.1.181 — price header spacing + polished mobile drawer icons */
#tab-price .snc-price-toolbar-v168,
#tab-price .snc-price-toolbar-v169{
  margin-bottom:16px!important;
}
#tab-price .snc-price-list-table-v168{
  margin-top:2px!important;
}
@media(min-width:821px){
  #tab-price .snc-price-toolbar-v168,
  #tab-price .snc-price-toolbar-v169{margin-bottom:18px!important;}
}
@media(max-width:820px){
  body.snc-mobile-nav-open .snc-sidebar,
  .snc-sidebar{
    gap:7px!important;
  }
  .snc-sidebar button{
    display:flex!important;
    align-items:center!important;
    justify-content:flex-start!important;
    gap:10px!important;
    min-height:44px!important;
    padding:10px 12px!important;
    border-radius:16px!important;
    color:var(--snc-muted)!important;
    background:rgba(255,255,255,.34)!important;
    border:1px solid rgba(255,255,255,.22)!important;
  }
  .snc-sidebar button:hover,
  .snc-sidebar button.active{
    background:linear-gradient(135deg,var(--snc-accent-soft),rgba(255,255,255,.72))!important;
    color:var(--snc-accent-ink)!important;
    box-shadow:0 12px 24px rgba(0,0,0,.07)!important;
  }
  .snc-sidebar button .snc-nav-icon{
    display:grid!important;
    width:30px!important;
    height:30px!important;
    flex:0 0 30px!important;
    place-items:center!important;
    border-radius:12px!important;
    background:rgba(255,255,255,.78)!important;
    color:var(--snc-accent-ink)!important;
    box-shadow:inset 0 0 0 1px rgba(255,255,255,.55),0 8px 18px rgba(0,0,0,.055)!important;
    font-size:15px!important;
  }
  .snc-sidebar button.active .snc-nav-icon{
    background:linear-gradient(135deg,var(--snc-accent),var(--snc-accent-2))!important;
    color:#fff!important;
  }
  .snc-sidebar button .snc-nav-icon svg{
    width:18px!important;
    height:18px!important;
    display:block!important;
    stroke:currentColor!important;
    stroke-width:1.9!important;
    fill:none!important;
  }
  .snc-sidebar button em{
    display:block!important;
    font-size:14px!important;
    line-height:1.15!important;
    font-weight:820!important;
    color:inherit!important;
  }
}


/* v1.1.183 — SAFE Price header spacing/shadow fix + mobile popup rollback-safe build
   Based on v1.1.181 to avoid the v1.1.182 modal regression. */
#tab-price .snc-price-toolbar-v168,
#tab-price .snc-price-toolbar-v169{
  margin-bottom:16px!important;
  box-shadow:none!important;
}
#tab-price .snc-price-toolbar-v168::before,
#tab-price .snc-price-toolbar-v168::after,
#tab-price .snc-price-toolbar-v169::before,
#tab-price .snc-price-toolbar-v169::after{
  display:none!important;
  content:none!important;
}
#tab-price .snc-price-list-table-v168{
  margin-top:0!important;
}
@media(max-width:760px){
  .snc-modal,
  .snc-modal-backdrop,
  .snc-appointment-modal,
  .snc-client-modal{
    pointer-events:auto!important;
  }
}

/* v1.1.185 — appointment popup edit button */
.snc-dashboard-appt-card-v151 [data-appt-edit]{white-space:nowrap;}
@media (max-width:820px){
  .snc-dashboard-appt-card-v151 .snc-modal-actions{gap:10px!important;}
  .snc-dashboard-appt-card-v151 .snc-modal-actions .snc-btn{width:100%;justify-content:center;}
}

/* v1.1.187 — inline appointment edit panel inside appointment info popup */
.snc-appt-inline-edit-anchor-v187[hidden]{display:none!important}
.snc-appt-edit-panel-v187{margin:16px 0 0;padding:16px;border:1px solid var(--snc-line);border-radius:22px;background:rgba(255,255,255,.72);box-shadow:0 16px 42px rgba(47,38,32,.08);display:grid;gap:14px;box-sizing:border-box}
.snc-appt-edit-title-v187{display:flex;flex-direction:column;gap:3px}.snc-appt-edit-title-v187 strong{font-size:16px;color:var(--snc-text,#2f261f)}.snc-appt-edit-title-v187 small{color:var(--snc-muted,#8a7a70)}
.snc-appt-edit-grid-v187{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.snc-appt-edit-grid-v187 label,.snc-appt-edit-notes-v187,.snc-appt-edit-manual-v187 label{display:flex;flex-direction:column;gap:6px;min-width:0}.snc-appt-edit-grid-v187 span,.snc-appt-edit-notes-v187 span,.snc-appt-edit-services-v187>span,.snc-appt-edit-manual-v187 span{font-size:12px;font-weight:700;color:var(--snc-muted,#8a7a70)}
.snc-appt-edit-panel-v187 input,.snc-appt-edit-panel-v187 select,.snc-appt-edit-panel-v187 textarea{width:100%;min-width:0;box-sizing:border-box;border:1px solid var(--snc-accent-border);border-radius:14px;background:#fff;padding:11px 12px;font:inherit;color:var(--snc-text,#2f261f);outline:none}.snc-appt-edit-panel-v187 textarea{min-height:76px;resize:vertical}.snc-appt-edit-panel-v187 input:focus,.snc-appt-edit-panel-v187 select:focus,.snc-appt-edit-panel-v187 textarea:focus{border-color:var(--snc-accent,#8b6f5e);box-shadow:0 0 0 4px var(--snc-accent-soft)}
.snc-appt-edit-services-v187{display:grid;gap:8px}.snc-appt-edit-services-list-v187{display:grid;gap:8px;max-height:250px;overflow:auto;padding-right:3px}.snc-appt-edit-service-v187{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;padding:10px 12px;border:1px solid var(--snc-line);border-radius:16px;background:rgba(255,255,255,.72);cursor:pointer}.snc-appt-edit-service-v187 input{width:18px;min-width:18px;height:18px;padding:0}.snc-appt-edit-service-v187 span{display:flex;flex-direction:column;gap:2px;min-width:0}.snc-appt-edit-service-v187 b{font-size:13px;white-space:normal}.snc-appt-edit-service-v187 small{font-size:11px;color:var(--snc-muted,#8a7a70)}.snc-appt-edit-service-v187 em{font-style:normal;font-weight:800;white-space:nowrap;color:var(--snc-accent,#8b6f5e)}
.snc-appt-edit-manual-v187{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:12px;border-radius:18px;background:var(--snc-surface-neutral-soft)}.snc-appt-edit-money-v187{align-items:end}.snc-appt-edit-actions-v187{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.snc-appt-edit-actions-v187 [data-appt-edit-status]{font-size:13px;color:var(--snc-muted,#8a7a70)}
@media(max-width:820px){.snc-appt-edit-panel-v187{padding:14px;border-radius:20px}.snc-appt-edit-grid-v187,.snc-appt-edit-manual-v187{grid-template-columns:1fr}.snc-appt-edit-services-list-v187{max-height:none}.snc-appt-edit-actions-v187{flex-direction:column;align-items:stretch}.snc-appt-edit-actions-v187 .snc-btn{width:100%;justify-content:center}.snc-appt-edit-service-v187{grid-template-columns:auto minmax(0,1fr) auto}}

/* v1.1.187.41 — isolated Notification Center */
.snc-notification-center{display:grid;gap:18px;overflow:visible}
.snc-nc-hero{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px;border:1px solid rgba(255,255,255,.55);border-radius:28px;background:linear-gradient(135deg,rgba(255,255,255,.84),rgba(255,255,255,.55));box-shadow:0 18px 55px rgba(15,23,42,.08)}
.snc-nc-kicker{display:inline-flex;border-radius:999px;background:var(--snc-accent-wash);border:1px solid var(--snc-line);padding:7px 11px;font-weight:950;color:var(--snc-accent-ink);font-size:12px;margin-bottom:8px}
.snc-nc-hero h2{margin:0;font-size:28px;letter-spacing:-.04em;color:var(--snc-text)}
.snc-nc-hero p{margin:6px 0 0;color:var(--snc-muted);max-width:760px;line-height:1.45}
.snc-nc-count{min-width:112px;text-align:center;border-radius:24px;background:linear-gradient(135deg,var(--snc-accent),var(--snc-accent-2));color:#fff;padding:14px;box-shadow:0 14px 34px rgba(15,23,42,.16)}
.snc-nc-count b{display:block;font-size:32px;line-height:1;font-weight:950}.snc-nc-count small{display:block;font-size:12px;opacity:.9;margin-top:4px}
.snc-nc-toolbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.snc-nc-toolbar button,.snc-nc-tests button,.snc-nc-push button{border:1px solid var(--snc-line);background:rgba(255,255,255,.75);color:var(--snc-accent-ink);border-radius:15px;padding:10px 13px;font-weight:950;cursor:pointer;box-shadow:0 8px 20px rgba(15,23,42,.04)}
.snc-nc-toolbar button:hover,.snc-nc-tests button:hover,.snc-nc-push button:hover{transform:translateY(-1px);box-shadow:0 14px 28px rgba(15,23,42,.09)}
.snc-nc-toolbar button.active{background:linear-gradient(135deg,var(--snc-accent),var(--snc-accent-2));color:#fff;border-color:transparent}.snc-nc-mark{margin-left:auto!important}
.snc-nc-grid{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:18px}.snc-nc-list{display:grid;gap:12px}.snc-nc-list-wrap,.snc-nc-side>div{border:1px solid var(--snc-line);border-radius:26px;background:rgba(255,255,255,.68);box-shadow:0 18px 50px rgba(15,23,42,.07);padding:14px;backdrop-filter:blur(16px)}
.snc-nc-item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;border:1px solid var(--snc-line);border-radius:22px;background:rgba(255,255,255,.78);padding:12px;transition:.18s ease;position:relative;overflow:hidden}.snc-nc-item:before{content:'';position:absolute;left:0;top:0;bottom:0;width:5px;background:var(--snc-accent)}.snc-nc-item.sev-important:before{background:#ef4444}.snc-nc-item.sev-warning:before{background:#f59e0b}.snc-nc-item.is-read{opacity:.62}.snc-nc-open{border:0;background:transparent;text-align:left;padding:0;cursor:pointer;display:grid;gap:4px}.snc-nc-open span{text-transform:uppercase;font-size:10px;font-weight:950;color:var(--snc-muted);letter-spacing:.08em}.snc-nc-open strong{font-size:15px;font-weight:950;color:var(--snc-text)}.snc-nc-open small{font-size:13px;color:var(--snc-muted);line-height:1.35}.snc-nc-open em{font-size:12px;color:var(--snc-accent-ink);font-style:normal}.snc-nc-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.snc-nc-actions button{border:1px solid var(--snc-line);background:var(--snc-accent-wash);color:var(--snc-accent-ink);border-radius:13px;padding:8px 10px;font-weight:900;cursor:pointer}.snc-nc-empty{color:var(--snc-muted);padding:20px;text-align:center}.snc-nc-side{display:grid;gap:14px;align-content:start}.snc-nc-side h3{margin:0 0 6px;font-size:17px;color:var(--snc-text);letter-spacing:-.02em}.snc-nc-side p{margin:0 0 12px;color:var(--snc-muted);font-size:13px;line-height:1.4}.snc-nc-settings label{display:flex;align-items:center;gap:9px;margin:9px 0;color:var(--snc-text);font-weight:800;font-size:13px}.snc-nc-settings input[type=checkbox]{width:18px;height:18px;accent-color:var(--snc-accent)}.snc-nc-custom{display:grid;gap:7px;margin-top:12px}.snc-nc-custom span{font-weight:900;color:var(--snc-text);font-size:13px}.snc-nc-custom select,.snc-nc-custom input{border:1px solid var(--snc-line);border-radius:14px;padding:10px;background:#fff}.snc-nc-saved{display:inline-flex;margin-top:12px;border-radius:999px;background:#ecfdf5;color:#047857;padding:8px 11px;font-size:12px}.snc-nc-saved.pulse{animation:sncSavedPulse .7s ease}.snc-nc-tests{display:grid;gap:8px}.snc-nc-tests h3,.snc-nc-tests p{grid-column:1/-1}.snc-nc-tests button{width:100%;text-align:left}.snc-nc-test-log,.snc-nc-push span{display:block;color:var(--snc-muted);font-size:12px;margin-top:8px}.snc-nc-push button{width:100%;text-align:center;background:linear-gradient(135deg,var(--snc-accent),var(--snc-accent-2));color:#fff;border-color:transparent}
@keyframes sncSavedPulse{0%{transform:scale(1)}50%{transform:scale(1.04)}100%{transform:scale(1)}}
@media(max-width:980px){.snc-nc-grid{grid-template-columns:1fr}.snc-nc-mark{margin-left:0!important}.snc-nc-hero{align-items:flex-start;flex-direction:column}.snc-nc-count{width:100%}.snc-nc-item{grid-template-columns:1fr}.snc-nc-actions{justify-content:flex-start}}
/* v1.1.187.42 — Notification Center action buttons */
.snc-nc-toolbar .snc-nc-mark.danger{border-color:rgba(200,70,70,.28);color:#9f2d2d;background:rgba(255,235,235,.8)}
.snc-nc-toolbar .snc-nc-mark.danger:hover{background:rgba(255,220,220,.95)}


/* v1.1.187.43 — stacked notification toasts */
.snc-test-reminder-toast.snc-nc-toast{transition:bottom .22s ease, transform .18s ease, opacity .18s ease;z-index:2147483600!important;}
@media(max-width:640px){.snc-test-reminder-toast.snc-nc-toast{left:12px!important;right:12px!important;width:auto!important;max-width:none!important;max-height:34vh!important;overflow:auto!important;box-sizing:border-box!important;}}

/* v1.1.187.44 Notification Center refinements */
.snc-nc-replay-box{display:grid;gap:8px}
.snc-nc-replay-btn{width:100%;border:1px solid var(--snc-line);background:linear-gradient(135deg,var(--snc-accent-wash),rgba(255,255,255,.92));color:var(--snc-accent-ink);border-radius:16px;padding:11px 13px;font-weight:950;cursor:pointer;box-shadow:0 8px 20px rgba(15,23,42,.04);text-align:center}
.snc-nc-replay-btn:hover{transform:translateY(-1px);box-shadow:0 14px 28px rgba(15,23,42,.09)}
.snc-nc-summary-modal{position:fixed;inset:0;z-index:999999;background:rgba(15,23,42,.32);backdrop-filter:blur(12px);display:grid;place-items:center;padding:18px}
.snc-nc-summary-card{width:min(720px,100%);max-height:min(82vh,760px);overflow:auto;border:1px solid rgba(255,255,255,.65);border-radius:30px;background:linear-gradient(135deg,rgba(255,255,255,.96),rgba(255,255,255,.86));box-shadow:0 28px 90px rgba(15,23,42,.25);padding:18px;position:relative;color:var(--snc-text)}
.snc-nc-summary-x{position:absolute;right:14px;top:14px;width:36px;height:36px;border-radius:999px;border:1px solid var(--snc-line);background:#fff;color:var(--snc-text);font-size:22px;font-weight:800;cursor:pointer}
.snc-nc-summary-head span{display:inline-flex;border-radius:999px;background:var(--snc-accent-wash);border:1px solid var(--snc-line);padding:7px 11px;font-weight:950;color:var(--snc-accent-ink);font-size:12px;margin-bottom:9px}.snc-nc-summary-head h3{margin:0;font-size:28px;letter-spacing:-.04em}.snc-nc-summary-head p{margin:6px 0 0;color:var(--snc-muted)}
.snc-nc-summary-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:16px 0}.snc-nc-summary-stats div{border:1px solid var(--snc-line);border-radius:20px;background:rgba(255,255,255,.72);padding:13px;text-align:center}.snc-nc-summary-stats b{display:block;font-size:28px;line-height:1;color:var(--snc-accent-ink)}.snc-nc-summary-stats small{display:block;margin-top:5px;color:var(--snc-muted);font-size:12px;font-weight:800}
.snc-nc-summary-list h4{margin:0 0 10px;font-size:16px}.snc-nc-summary-row{width:100%;display:grid;grid-template-columns:60px minmax(0,1fr);gap:12px;align-items:center;text-align:left;border:1px solid var(--snc-line);border-radius:18px;background:rgba(255,255,255,.78);padding:12px;margin-bottom:8px;cursor:pointer}.snc-nc-summary-row:hover{transform:translateY(-1px);box-shadow:0 12px 24px rgba(15,23,42,.08)}.snc-nc-summary-row b{color:var(--snc-accent-ink);font-size:17px}.snc-nc-summary-row strong{display:block;color:var(--snc-text)}.snc-nc-summary-row small{display:block;color:var(--snc-muted);margin-top:2px}.snc-nc-summary-empty{border:1px dashed var(--snc-line);border-radius:18px;padding:16px;color:var(--snc-muted);text-align:center}
@media(max-width:640px){.snc-nc-summary-modal{align-items:end;padding:10px}.snc-nc-summary-card{border-radius:26px 26px 18px 18px;max-height:88vh}.snc-nc-summary-stats{grid-template-columns:1fr}.snc-nc-summary-row{grid-template-columns:52px minmax(0,1fr)}}

/* v1.1.187.45 Notification Center mobile/fullscreen fixes */
.snc-app .snc-test-reminder-toast.snc-nc-toast,
.snc-front-app-mode .snc-test-reminder-toast.snc-nc-toast,
.snc-is-fullscreen .snc-test-reminder-toast.snc-nc-toast{
  z-index:2147483647!important;
}
.snc-app .snc-nc-summary-modal,
.snc-front-app-mode .snc-nc-summary-modal,
.snc-is-fullscreen .snc-nc-summary-modal{
  z-index:2147483646!important;
}
@media(max-width:640px){
  .snc-notification-center{padding-left:0!important;padding-right:0!important;overflow:hidden;}
  .snc-nc-hero{border-radius:22px;padding:14px;margin-left:0;margin-right:0;}
  .snc-nc-hero h2{font-size:23px;line-height:1.08;}
  .snc-nc-hero p{font-size:13px;line-height:1.35;}
  .snc-nc-toolbar{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;width:100%;}
  .snc-nc-toolbar button{width:100%;min-width:0;padding:10px 8px;font-size:12px;white-space:normal;line-height:1.2;}
  .snc-nc-toolbar .snc-nc-mark{grid-column:1/-1;margin-left:0!important;}
  .snc-nc-grid{gap:12px;}
  .snc-nc-list-wrap{padding:10px;border-radius:22px;max-width:100%;overflow:hidden;}
  .snc-nc-list{gap:10px;max-width:100%;}
  .snc-nc-item{grid-template-columns:1fr!important;gap:10px;padding:11px;border-radius:19px;max-width:100%;}
  .snc-nc-open{width:100%;min-width:0;}
  .snc-nc-open strong,.snc-nc-open small,.snc-nc-open em{max-width:100%;overflow-wrap:anywhere;word-break:break-word;}
  .snc-nc-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;width:100%;justify-content:stretch;}
  .snc-nc-actions button{width:100%;padding:9px 8px;font-size:12px;}
  .snc-nc-side>div{border-radius:22px;padding:12px;}
  .snc-test-reminder-toast.snc-nc-toast{left:12px!important;right:12px!important;width:auto!important;max-width:none!important;}
}

/* v1.1.187.46 Notification Center mobile history layout polish */
@media(max-width:640px){
  .snc-notification-center .snc-nc-list-wrap{
    padding:10px!important;
    overflow:visible!important;
  }
  .snc-notification-center .snc-nc-list{
    width:100%!important;
    min-width:0!important;
  }
  .snc-notification-center .snc-nc-item{
    box-sizing:border-box!important;
    width:100%!important;
    min-width:0!important;
    overflow:hidden!important;
    padding:12px 12px 12px 18px!important;
    align-items:stretch!important;
  }
  .snc-notification-center .snc-nc-item:before{
    width:4px!important;
    border-radius:22px 0 0 22px!important;
    pointer-events:none!important;
  }
  .snc-notification-center .snc-nc-open{
    box-sizing:border-box!important;
    display:block!important;
    width:100%!important;
    min-width:0!important;
    padding-left:2px!important;
  }
  .snc-notification-center .snc-nc-open span,
  .snc-notification-center .snc-nc-open strong,
  .snc-notification-center .snc-nc-open small,
  .snc-notification-center .snc-nc-open em{
    display:block!important;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    white-space:normal!important;
    overflow-wrap:anywhere!important;
    word-break:normal!important;
  }
  .snc-notification-center .snc-nc-open span{margin-bottom:4px!important;}
  .snc-notification-center .snc-nc-open strong{line-height:1.22!important;margin-bottom:3px!important;}
  .snc-notification-center .snc-nc-open small{line-height:1.35!important;}
  .snc-notification-center .snc-nc-open em{margin-top:5px!important;}
  .snc-notification-center .snc-nc-actions{
    grid-template-columns:1fr!important;
    width:100%!important;
    min-width:0!important;
  }
  .snc-notification-center .snc-nc-actions button{
    min-width:0!important;
    white-space:normal!important;
  }
}


/* v1.1.187.52 — app-mode visual parity with admin/normal CRM view
   The ?snc_app=1 front-end URL can inherit theme button/font styles from the public site.
   This shield keeps CRM typography/controls/cards identical to the admin CRM shell while preserving PWA fullscreen. */
body.snc-crm-pwa-mode,
body.snc-crm-pwa-mode .snc-app,
body.snc-crm-pwa-mode .snc-app *{
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important;
  -webkit-font-smoothing:antialiased!important;
  text-rendering:geometricPrecision!important;
}
body.snc-crm-pwa-mode .snc-app{
  isolation:isolate!important;
  contain:layout paint style!important;
  width:100vw!important;
  max-width:100vw!important;
  min-height:100dvh!important;
  background:radial-gradient(circle at 14% 0%,#fff 0,var(--snc-bg-a) 34%,var(--snc-bg-b) 72%,var(--snc-bg-c) 100%)!important;
  color:var(--snc-text)!important;
}
body.snc-crm-pwa-mode .snc-app button,
body.snc-crm-pwa-mode .snc-app input,
body.snc-crm-pwa-mode .snc-app select,
body.snc-crm-pwa-mode .snc-app textarea{
  font-family:inherit!important;
  box-sizing:border-box!important;
}
body.snc-crm-pwa-mode .snc-app button{
  line-height:normal!important;
  text-decoration:none!important;
  -webkit-tap-highlight-color:transparent!important;
}
body.snc-crm-pwa-mode .snc-app .snc-sidebar button,
body.snc-crm-pwa-mode .snc-app .snc-btn,
body.snc-crm-pwa-mode .snc-app .snc-chip,
body.snc-crm-pwa-mode .snc-app .snc-theme-toggle{
  font-weight:800!important;
  letter-spacing:-.01em!important;
}
body.snc-crm-pwa-mode .snc-app .snc-card,
body.snc-crm-pwa-mode .snc-app .snc-panel,
body.snc-crm-pwa-mode .snc-app .snc-dash-appt-v151,
body.snc-crm-pwa-mode .snc-app .snc-dash-appt-main-v151{
  transform:translateZ(0)!important;
  backface-visibility:hidden!important;
}

@media(max-width:820px){
  body.snc-crm-pwa-mode .snc-app{
    min-height:100svh!important;
    overflow:hidden!important;
  }
  body.snc-crm-pwa-mode .snc-main{
    width:100%!important;
    max-width:100vw!important;
    overflow-x:hidden!important;
    box-sizing:border-box!important;
  }
  body.snc-crm-pwa-mode .snc-panel,
  body.snc-crm-pwa-mode .snc-card,
  body.snc-crm-pwa-mode .snc-appointments-section,
  body.snc-crm-pwa-mode .snc-dashboard-upcoming-panel{
    min-width:0!important;
    max-width:100%!important;
    box-sizing:border-box!important;
  }
  body.snc-crm-pwa-mode .snc-appointments-upcoming-section .snc-dash-appt-v151,
  body.snc-crm-pwa-mode .snc-dashboard-upcoming-panel .snc-dash-appt-v151,
  body.snc-crm-pwa-mode .snc-dash-appt-v151{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    overflow:hidden!important;
    border-radius:18px!important;
  }
  body.snc-crm-pwa-mode .snc-appointments-upcoming-section .snc-dash-appt-main-v151,
  body.snc-crm-pwa-mode .snc-dashboard-upcoming-panel .snc-dash-appt-main-v151,
  body.snc-crm-pwa-mode .snc-dash-appt-main-v151{
    display:grid!important;
    width:100%!important;
    min-width:0!important;
    grid-template-columns:76px minmax(0,1fr)!important;
    grid-template-areas:"time text" "status status"!important;
    gap:8px 10px!important;
    align-items:center!important;
    text-align:left!important;
    border:0!important;
    background:transparent!important;
    box-shadow:none!important;
  }
  body.snc-crm-pwa-mode .snc-dash-appt-time-v151{
    grid-area:time!important;
    width:76px!important;
    min-width:76px!important;
    max-width:76px!important;
    padding:7px 5px!important;
    overflow:hidden!important;
  }
  body.snc-crm-pwa-mode .snc-dash-appt-text-v151{
    grid-area:text!important;
    min-width:0!important;
    max-width:100%!important;
    overflow:hidden!important;
  }
  body.snc-crm-pwa-mode .snc-dash-appt-text-v151 strong,
  body.snc-crm-pwa-mode .snc-dash-appt-text-v151 small{
    display:block!important;
    max-width:100%!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    white-space:nowrap!important;
  }
  body.snc-crm-pwa-mode .snc-dash-appt-status-v151{
    grid-area:status!important;
    justify-self:start!important;
    max-width:100%!important;
    white-space:normal!important;
  }
}


/* v1.1.187.53 — remove hidden top/bottom reserved space in PWA/app URL.
   The blank strips came from safe-area padding / wrapper offsets after the app shell was unified.
   Keep the CRM content fullscreen and let real components handle their own spacing. */
html.snc-pwa-mode-html,
body.snc-crm-pwa-mode{
  margin:0!important;
  padding:0!important;
  width:100%!important;
  height:100%!important;
  min-height:100%!important;
  overflow:hidden!important;
}
body.snc-crm-pwa-mode.admin-bar{
  margin-top:0!important;
  padding-top:0!important;
}
body.snc-crm-pwa-mode .site,
body.snc-crm-pwa-mode #page,
body.snc-crm-pwa-mode #content,
body.snc-crm-pwa-mode .site-content,
body.snc-crm-pwa-mode .content-area,
body.snc-crm-pwa-mode .ast-container,
body.snc-crm-pwa-mode .entry-content,
body.snc-crm-pwa-mode article,
body.snc-crm-pwa-mode .woocommerce,
body.snc-crm-pwa-mode .woocommerce-MyAccount-content{
  margin-top:0!important;
  margin-bottom:0!important;
  padding-top:0!important;
  padding-bottom:0!important;
  min-height:0!important;
}
body.snc-crm-pwa-mode .snc-app{
  position:relative!important;
  width:100vw!important;
  height:100dvh!important;
  min-height:100dvh!important;
  max-height:100dvh!important;
  margin:0!important;
  padding:0!important;
  border-radius:0!important;
  overflow:auto!important;
}
@supports(height:100svh){
  body.snc-crm-pwa-mode .snc-app{
    height:100svh!important;
    min-height:100svh!important;
    max-height:100svh!important;
  }
}
body.snc-crm-pwa-mode .snc-main{
  margin-top:0!important;
  margin-bottom:0!important;
}
@media(max-width:820px){
  body.snc-crm-pwa-mode .snc-app{
    height:100svh!important;
    min-height:100svh!important;
    max-height:100svh!important;
    padding:0!important;
  }
}

/* v1.1.187.54 — mobile appointments status badge containment
   Scope: mobile only, appointments tab/upcoming/history cards. Prevent long status labels from overflowing into the price. */
@media(max-width:820px){
  #tab-appointments .snc-appointment-card-main{
    grid-template-columns:64px minmax(0,1fr)!important;
    align-items:start!important;
    gap:9px 10px!important;
  }
  #tab-appointments .snc-appointment-date{
    grid-column:1!important;
    grid-row:1 / span 4!important;
    min-width:0!important;
  }
  #tab-appointments .snc-appointment-info{
    grid-column:2!important;
    grid-row:auto!important;
    min-width:0!important;
    width:100%!important;
  }
  #tab-appointments .snc-appointment-card-main .snc-status{
    grid-column:2!important;
    grid-row:auto!important;
    justify-self:start!important;
    align-self:start!important;
    min-width:0!important;
    width:auto!important;
    max-width:100%!important;
    box-sizing:border-box!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    white-space:nowrap!important;
    padding-left:10px!important;
    padding-right:10px!important;
  }
  #tab-appointments .snc-appointment-money{
    grid-column:2!important;
    grid-row:auto!important;
    justify-self:start!important;
    align-self:start!important;
    min-width:0!important;
    max-width:100%!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    margin-top:-2px!important;
  }
  #tab-appointments .snc-appointment-card-actions{
    padding-top:2px!important;
  }

  /* same protection for the compact nearest appointment card when reused on mobile */
  #tab-appointments .snc-dash-appt-main-v151{
    grid-template-columns:44px minmax(0,1fr)!important;
    align-items:start!important;
  }
  #tab-appointments .snc-dash-appt-status-v151{
    grid-column:2!important;
    justify-self:start!important;
    max-width:100%!important;
    min-width:0!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    white-space:nowrap!important;
    box-sizing:border-box!important;
  }
}

/* v1.1.187.55 — mobile appointments card alignment + centered modals
   Scope: mobile only. Keeps desktop/admin dashboard untouched. */
@media(max-width:820px){
  /* Appointments tab cards: keep date/time block visually centered and delete button on the right */
  #tab-appointments .snc-appointment-card{
    position:relative!important;
    overflow:hidden!important;
  }
  #tab-appointments .snc-appointment-card-main{
    grid-template-columns:68px minmax(0,1fr)!important;
    align-items:center!important;
    gap:10px!important;
    padding:12px!important;
  }
  #tab-appointments .snc-appointment-date{
    grid-column:1!important;
    grid-row:1 / span 4!important;
    align-self:center!important;
    justify-self:center!important;
    width:58px!important;
    min-width:58px!important;
    max-width:58px!important;
    min-height:58px!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    justify-content:center!important;
    text-align:center!important;
    padding:8px 6px!important;
    box-sizing:border-box!important;
  }
  #tab-appointments .snc-appointment-date b,
  #tab-appointments .snc-appointment-date small{
    display:block!important;
    width:100%!important;
    text-align:center!important;
    line-height:1.08!important;
  }
  #tab-appointments .snc-appointment-info,
  #tab-appointments .snc-appointment-card-main .snc-status,
  #tab-appointments .snc-appointment-money{
    grid-column:2!important;
    min-width:0!important;
    max-width:100%!important;
  }
  #tab-appointments .snc-appointment-card-main .snc-status{
    justify-self:start!important;
    width:auto!important;
  }
  #tab-appointments .snc-appointment-money{
    justify-self:start!important;
    margin-top:0!important;
  }
  #tab-appointments .snc-appointment-card-actions,
  .snc-appointments-workspace-v123 .snc-appointment-card-actions{
    grid-column:1!important;
    grid-row:auto!important;
    justify-content:flex-end!important;
    align-items:center!important;
    width:100%!important;
    padding:0 12px 12px!important;
    box-sizing:border-box!important;
  }
  #tab-appointments .snc-appointment-card-actions .snc-mini.danger,
  .snc-appointments-workspace-v123 .snc-appointment-card-actions .snc-mini.danger{
    margin-left:auto!important;
    min-width:92px!important;
  }

  /* Appointment info popup: center in the visible viewport, independent from page scroll */
  #sncDashboardApptModalV151.snc-dashboard-appt-modal-v151,
  .snc-app #sncDashboardApptModalV151.snc-dashboard-appt-modal-v151,
  body #sncDashboardApptModalV151.snc-dashboard-appt-modal-v151{
    position:fixed!important;
    inset:0!important;
    width:100vw!important;
    height:100dvh!important;
    min-height:100dvh!important;
    display:none!important;
    align-items:center!important;
    justify-content:center!important;
    place-items:center!important;
    padding:12px!important;
    box-sizing:border-box!important;
    overflow:hidden!important;
    z-index:2147483200!important;
  }
  #sncDashboardApptModalV151.snc-dashboard-appt-modal-v151.open,
  .snc-app #sncDashboardApptModalV151.snc-dashboard-appt-modal-v151.open,
  body #sncDashboardApptModalV151.snc-dashboard-appt-modal-v151.open{
    display:flex!important;
  }
  #sncDashboardApptModalV151 .snc-dashboard-appt-backdrop-v151{
    position:absolute!important;
    inset:0!important;
  }
  #sncDashboardApptModalV151 .snc-dashboard-appt-card-v151{
    position:relative!important;
    left:auto!important;
    top:auto!important;
    right:auto!important;
    bottom:auto!important;
    transform:none!important;
    margin:auto!important;
    width:calc(100vw - 24px)!important;
    max-width:560px!important;
    max-height:calc(100dvh - 24px)!important;
    overflow:auto!important;
    -webkit-overflow-scrolling:touch!important;
    box-sizing:border-box!important;
  }

  /* Client card popup: ignore old dragged/positioned coordinates on mobile and center it */
  #sncClientModal.snc-client-modal,
  body #sncClientModal.snc-client-modal{
    position:fixed!important;
    inset:0!important;
    width:100vw!important;
    height:100dvh!important;
    min-height:100dvh!important;
    display:none!important;
    align-items:center!important;
    justify-content:center!important;
    place-items:center!important;
    padding:12px!important;
    box-sizing:border-box!important;
    overflow:hidden!important;
    z-index:2147483150!important;
  }
  #sncClientModal.snc-client-modal.open,
  body #sncClientModal.snc-client-modal.open{
    display:flex!important;
  }
  #sncClientModal .snc-client-modal-backdrop{
    position:absolute!important;
    inset:0!important;
  }
  #sncClientModal .snc-client-modal-card,
  body #sncClientModal .snc-client-modal-card,
  #sncClientModal .snc-client-modal-card.snc-modal-positioned,
  #sncClientModal .snc-client-modal-card.snc-is-dragged{
    position:relative!important;
    left:auto!important;
    top:auto!important;
    right:auto!important;
    bottom:auto!important;
    transform:none!important;
    margin:auto!important;
    width:calc(100vw - 24px)!important;
    max-width:560px!important;
    min-width:0!important;
    max-height:calc(100dvh - 24px)!important;
    overflow:hidden!important;
    box-sizing:border-box!important;
  }
  #sncClientModal .snc-client-modal-body{
    max-height:calc(100dvh - 92px)!important;
    overflow:auto!important;
    -webkit-overflow-scrolling:touch!important;
  }
}


/* v1.1.187.56 — mobile-only: true viewport-centered popups, sticky menu, safe appointment date pill
   No dashboard logic changes. This only fixes CSS layout on phones/PWA. */
@media(max-width:820px){
  /* Floating menu must stay visible while the appointments page scrolls */
  html body #sncMobileMenuToggle.snc-mobile-menu-toggle{
    position:fixed!important;
    top:calc(12px + env(safe-area-inset-top,0px))!important;
    left:calc(12px + env(safe-area-inset-left,0px))!important;
    z-index:2147483647!important;
    transform:translate3d(0,0,0)!important;
    will-change:transform!important;
  }

  /* Appointment cards in the Appointments tab: wider date/time tile so dd.mm.yyyy never escapes */
  #tab-appointments .snc-appointment-card-main{
    grid-template-columns:82px minmax(0,1fr)!important;
    align-items:center!important;
    gap:10px!important;
  }
  #tab-appointments .snc-appointment-date{
    width:72px!important;
    min-width:72px!important;
    max-width:72px!important;
    min-height:64px!important;
    padding:7px 5px!important;
    box-sizing:border-box!important;
    overflow:hidden!important;
    align-self:center!important;
    justify-self:center!important;
  }
  #tab-appointments .snc-appointment-date b{
    font-size:14px!important;
    line-height:1.05!important;
    max-width:100%!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
  }
  #tab-appointments .snc-appointment-date small{
    font-size:10.5px!important;
    line-height:1.05!important;
    letter-spacing:-.25px!important;
    max-width:100%!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:clip!important;
  }
  #tab-appointments .snc-appointment-card-actions{
    display:flex!important;
    justify-content:flex-end!important;
    text-align:right!important;
  }
  #tab-appointments .snc-appointment-card-actions .snc-mini.danger{
    margin-left:auto!important;
    margin-right:0!important;
  }

  /* Appointment info popup: when JS moves it to body, force real viewport centering */
  body > #sncDashboardApptModalV151.snc-dashboard-appt-modal-v151,
  body > #sncDashboardApptModalV151.snc-dashboard-appt-modal-v151.open{
    position:fixed!important;
    inset:0!important;
    width:100vw!important;
    height:100dvh!important;
    min-height:100dvh!important;
    margin:0!important;
    padding:12px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    overflow:hidden!important;
    box-sizing:border-box!important;
    z-index:2147483200!important;
    transform:none!important;
  }
  body > #sncDashboardApptModalV151.snc-dashboard-appt-modal-v151:not(.open){
    display:none!important;
  }
  body > #sncDashboardApptModalV151 .snc-dashboard-appt-card-v151{
    position:relative!important;
    top:auto!important;
    left:auto!important;
    right:auto!important;
    bottom:auto!important;
    transform:none!important;
    margin:auto!important;
    width:min(560px, calc(100vw - 24px))!important;
    max-width:calc(100vw - 24px)!important;
    max-height:calc(100dvh - 24px)!important;
    overflow:auto!important;
    -webkit-overflow-scrolling:touch!important;
  }

  /* Client card popup: same real viewport centering */
  body > #sncClientModal.snc-client-modal,
  body > #sncClientModal.snc-client-modal.open,
  body > #sncClientModal.snc-client-modal.is-open{
    position:fixed!important;
    inset:0!important;
    width:100vw!important;
    height:100dvh!important;
    min-height:100dvh!important;
    margin:0!important;
    padding:12px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    overflow:hidden!important;
    box-sizing:border-box!important;
    z-index:2147483150!important;
    transform:none!important;
  }
  body > #sncClientModal.snc-client-modal:not(.open):not(.is-open){
    display:none!important;
  }
  body > #sncClientModal .snc-client-modal-card,
  body > #sncClientModal .snc-client-modal-card.snc-modal-positioned,
  body > #sncClientModal .snc-client-modal-card.snc-is-dragged{
    position:relative!important;
    top:auto!important;
    left:auto!important;
    right:auto!important;
    bottom:auto!important;
    transform:none!important;
    margin:auto!important;
    width:min(560px, calc(100vw - 24px))!important;
    max-width:calc(100vw - 24px)!important;
    max-height:calc(100dvh - 24px)!important;
    overflow:hidden!important;
  }
  body > #sncClientModal .snc-client-modal-body{
    max-height:calc(100dvh - 96px)!important;
    overflow:auto!important;
    -webkit-overflow-scrolling:touch!important;
  }
}


/* v1.1.187.57 — app-mode mobile parity with normal /beauty-crm/ mobile view
   Scope: only ?snc_app=1 / PWA mobile. Reuses the good normal mobile layout fixes inside app-mode. */
@media(max-width:820px){
  body.snc-crm-pwa-mode,
  body.snc-crm-pwa-mode .snc-app,
  body.snc-crm-pwa-mode .snc-main{
    overflow-x:hidden!important;
  }

  /* Appointments cards in PWA/app-mode: same structure as normal mobile URL */
  body.snc-crm-pwa-mode #tab-appointments .snc-appointment-card,
  .snc-app[data-snc-app-mode="1"] #tab-appointments .snc-appointment-card{
    position:relative!important;
    overflow:hidden!important;
    box-sizing:border-box!important;
  }
  body.snc-crm-pwa-mode #tab-appointments .snc-appointment-card-main,
  .snc-app[data-snc-app-mode="1"] #tab-appointments .snc-appointment-card-main{
    display:grid!important;
    grid-template-columns:82px minmax(0,1fr)!important;
    align-items:center!important;
    gap:10px!important;
    width:100%!important;
    min-width:0!important;
    padding:12px!important;
    box-sizing:border-box!important;
  }
  body.snc-crm-pwa-mode #tab-appointments .snc-appointment-date,
  .snc-app[data-snc-app-mode="1"] #tab-appointments .snc-appointment-date{
    grid-column:1!important;
    grid-row:1 / span 4!important;
    align-self:center!important;
    justify-self:center!important;
    width:72px!important;
    min-width:72px!important;
    max-width:72px!important;
    min-height:64px!important;
    padding:7px 5px!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    justify-content:center!important;
    text-align:center!important;
    box-sizing:border-box!important;
    overflow:hidden!important;
  }
  body.snc-crm-pwa-mode #tab-appointments .snc-appointment-date b,
  body.snc-crm-pwa-mode #tab-appointments .snc-appointment-date small,
  .snc-app[data-snc-app-mode="1"] #tab-appointments .snc-appointment-date b,
  .snc-app[data-snc-app-mode="1"] #tab-appointments .snc-appointment-date small{
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    text-align:center!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:clip!important;
    line-height:1.05!important;
  }
  body.snc-crm-pwa-mode #tab-appointments .snc-appointment-date b,
  .snc-app[data-snc-app-mode="1"] #tab-appointments .snc-appointment-date b{font-size:14px!important;}
  body.snc-crm-pwa-mode #tab-appointments .snc-appointment-date small,
  .snc-app[data-snc-app-mode="1"] #tab-appointments .snc-appointment-date small{font-size:10.5px!important;letter-spacing:-.25px!important;}
  body.snc-crm-pwa-mode #tab-appointments .snc-appointment-info,
  body.snc-crm-pwa-mode #tab-appointments .snc-appointment-card-main .snc-status,
  body.snc-crm-pwa-mode #tab-appointments .snc-appointment-money,
  .snc-app[data-snc-app-mode="1"] #tab-appointments .snc-appointment-info,
  .snc-app[data-snc-app-mode="1"] #tab-appointments .snc-appointment-card-main .snc-status,
  .snc-app[data-snc-app-mode="1"] #tab-appointments .snc-appointment-money{
    grid-column:2!important;
    min-width:0!important;
    max-width:100%!important;
    justify-self:start!important;
    align-self:start!important;
    box-sizing:border-box!important;
  }
  body.snc-crm-pwa-mode #tab-appointments .snc-appointment-card-main .snc-status,
  .snc-app[data-snc-app-mode="1"] #tab-appointments .snc-appointment-card-main .snc-status{
    width:auto!important;
    max-width:100%!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    white-space:nowrap!important;
  }
  body.snc-crm-pwa-mode #tab-appointments .snc-appointment-card-actions,
  .snc-app[data-snc-app-mode="1"] #tab-appointments .snc-appointment-card-actions{
    display:flex!important;
    justify-content:flex-end!important;
    align-items:center!important;
    width:100%!important;
    padding:0 12px 12px!important;
    box-sizing:border-box!important;
    text-align:right!important;
  }
  body.snc-crm-pwa-mode #tab-appointments .snc-appointment-card-actions .snc-mini.danger,
  .snc-app[data-snc-app-mode="1"] #tab-appointments .snc-appointment-card-actions .snc-mini.danger{
    margin-left:auto!important;
    margin-right:0!important;
    min-width:92px!important;
  }

  /* PWA/app-mode popups: always center against the visible viewport, not app scroll container */
  body.snc-crm-pwa-mode #sncDashboardApptModalV151.snc-dashboard-appt-modal-v151,
  body.snc-crm-pwa-mode > #sncDashboardApptModalV151.snc-dashboard-appt-modal-v151,
  body.snc-crm-pwa-mode .snc-app #sncDashboardApptModalV151.snc-dashboard-appt-modal-v151{
    position:fixed!important;
    inset:0!important;
    width:100vw!important;
    height:100svh!important;
    min-height:100svh!important;
    margin:0!important;
    padding:12px!important;
    display:none!important;
    align-items:center!important;
    justify-content:center!important;
    place-items:center!important;
    overflow:hidden!important;
    box-sizing:border-box!important;
    z-index:2147483200!important;
    transform:none!important;
  }
  body.snc-crm-pwa-mode #sncDashboardApptModalV151.snc-dashboard-appt-modal-v151.open,
  body.snc-crm-pwa-mode > #sncDashboardApptModalV151.snc-dashboard-appt-modal-v151.open,
  body.snc-crm-pwa-mode .snc-app #sncDashboardApptModalV151.snc-dashboard-appt-modal-v151.open{
    display:flex!important;
  }
  body.snc-crm-pwa-mode #sncDashboardApptModalV151 .snc-dashboard-appt-card-v151{
    position:relative!important;
    top:auto!important;
    left:auto!important;
    right:auto!important;
    bottom:auto!important;
    transform:none!important;
    margin:auto!important;
    width:min(560px, calc(100vw - 24px))!important;
    max-width:calc(100vw - 24px)!important;
    max-height:calc(100svh - 24px)!important;
    overflow:auto!important;
    -webkit-overflow-scrolling:touch!important;
    box-sizing:border-box!important;
  }

  body.snc-crm-pwa-mode #sncClientModal.snc-client-modal,
  body.snc-crm-pwa-mode > #sncClientModal.snc-client-modal,
  body.snc-crm-pwa-mode .snc-app #sncClientModal.snc-client-modal{
    position:fixed!important;
    inset:0!important;
    width:100vw!important;
    height:100svh!important;
    min-height:100svh!important;
    margin:0!important;
    padding:12px!important;
    display:none!important;
    align-items:center!important;
    justify-content:center!important;
    place-items:center!important;
    overflow:hidden!important;
    box-sizing:border-box!important;
    z-index:2147483150!important;
    transform:none!important;
  }
  body.snc-crm-pwa-mode #sncClientModal.snc-client-modal.open,
  body.snc-crm-pwa-mode #sncClientModal.snc-client-modal.is-open,
  body.snc-crm-pwa-mode > #sncClientModal.snc-client-modal.open,
  body.snc-crm-pwa-mode > #sncClientModal.snc-client-modal.is-open,
  body.snc-crm-pwa-mode .snc-app #sncClientModal.snc-client-modal.open,
  body.snc-crm-pwa-mode .snc-app #sncClientModal.snc-client-modal.is-open{
    display:flex!important;
  }
  body.snc-crm-pwa-mode #sncClientModal .snc-client-modal-card,
  body.snc-crm-pwa-mode #sncClientModal .snc-client-modal-card.snc-modal-positioned,
  body.snc-crm-pwa-mode #sncClientModal .snc-client-modal-card.snc-is-dragged{
    position:relative!important;
    top:auto!important;
    left:auto!important;
    right:auto!important;
    bottom:auto!important;
    transform:none!important;
    margin:auto!important;
    width:min(560px, calc(100vw - 24px))!important;
    max-width:calc(100vw - 24px)!important;
    max-height:calc(100svh - 24px)!important;
    overflow:hidden!important;
    box-sizing:border-box!important;
  }
  body.snc-crm-pwa-mode #sncClientModal .snc-client-modal-body{
    max-height:calc(100svh - 96px)!important;
    overflow:auto!important;
    -webkit-overflow-scrolling:touch!important;
  }
}

/* v1.1.187.62 — mobile search stability + iOS no-zoom inputs */
@media (max-width: 820px){
  .snc-app input[type="search"],
  .snc-app input[type="text"],
  .snc-app input[type="tel"],
  .snc-app input[type="email"],
  .snc-app input[type="number"],
  .snc-app textarea,
  .snc-app select{
    font-size:16px!important;
  }
  .snc-app,
  .snc-main,
  .snc-panel,
  .snc-client-grid,
  .snc-appointments-workspace{
    overflow-anchor:none!important;
  }
  .snc-search{
    transform:translateZ(0);
    -webkit-transform:translateZ(0);
  }
}

.snc-client-card.snc-search-hidden,
.snc-appointment-card.snc-search-hidden{
  display:none!important;
}


/* v1.1.187.109 — Shared Notification Center cleanup.
   Replaces old standalone-only v90/v91 forks. Same component CSS now applies in wp-admin and standalone. */
@media (min-width: 981px){
  .snc-app #tab-notifications .snc-notification-center{
    gap:18px!important;
    max-width:none!important;
    width:100%!important;
    margin:0!important;
    padding:0!important;
    overflow:visible!important;
    background:transparent!important;
    border:0!important;
    box-shadow:none!important;
    font-family:var(--snc-font, -apple-system, BlinkMacSystemFont, "SF Pro Display", "SF Pro Text", "Inter", "Manrope", "Segoe UI", sans-serif)!important;
  }
  .snc-app #tab-notifications .snc-nc-hero,
  .snc-app #tab-notifications .snc-nc-list-wrap,
  .snc-app #tab-notifications .snc-nc-side>div{
    background:var(--snc-panel)!important;
    border:1px solid var(--snc-line)!important;
    box-shadow:0 18px 46px rgba(0,0,0,.06)!important;
    backdrop-filter:blur(18px)!important;
    -webkit-backdrop-filter:blur(18px)!important;
  }
  .snc-app #tab-notifications .snc-nc-hero{
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:18px!important;
    min-height:112px!important;
    padding:18px!important;
    border-radius:28px!important;
  }
  .snc-app #tab-notifications .snc-nc-hero h2{
    font-size:28px!important;
    line-height:1.05!important;
    letter-spacing:-.04em!important;
    margin:0!important;
  }
  .snc-app #tab-notifications .snc-nc-hero p{
    font-size:14px!important;
    line-height:1.45!important;
    margin:6px 0 0!important;
  }
  .snc-app #tab-notifications .snc-nc-count{
    background:linear-gradient(135deg,var(--snc-accent),var(--snc-accent-2))!important;
    border:0!important;
    color:var(--snc-accent-contrast,#fff)!important;
    border-radius:24px!important;
    box-shadow:0 14px 34px rgba(0,0,0,.13)!important;
  }
  .snc-app #tab-notifications .snc-nc-toolbar{
    display:flex!important;
    align-items:center!important;
    gap:8px!important;
    flex-wrap:wrap!important;
    margin:0!important;
  }
  .snc-app #tab-notifications .snc-nc-toolbar button,
  .snc-app #tab-notifications .snc-nc-tests button,
  .snc-app #tab-notifications .snc-nc-push button,
  .snc-app #tab-notifications .snc-nc-replay-btn,
  .snc-app #tab-notifications .snc-nc-actions button{
    appearance:none!important;
    -webkit-appearance:none!important;
    font-family:inherit!important;
    border:1px solid var(--snc-line)!important;
    background:var(--snc-accent-wash)!important;
    color:var(--snc-accent-ink)!important;
    box-shadow:0 10px 22px rgba(0,0,0,.045)!important;
    cursor:pointer!important;
    white-space:nowrap!important;
    border-radius:15px!important;
    min-height:40px!important;
    line-height:1.15!important;
    padding:10px 13px!important;
    font-size:13px!important;
    font-weight:950!important;
    text-decoration:none!important;
    box-sizing:border-box!important;
  }
  .snc-app #tab-notifications .snc-nc-toolbar button.active,
  .snc-app #tab-notifications .snc-nc-push button{
    background:linear-gradient(135deg,var(--snc-accent),var(--snc-accent-2))!important;
    color:var(--snc-accent-contrast,#fff)!important;
    border-color:transparent!important;
  }
  .snc-app #tab-notifications .snc-nc-toolbar .danger{
    background:rgba(255,235,235,.9)!important;
    color:#9f2d2d!important;
    border-color:rgba(200,70,70,.22)!important;
  }
  .snc-app #tab-notifications .snc-nc-grid{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) 360px!important;
    gap:18px!important;
    align-items:start!important;
  }
  .snc-app #tab-notifications .snc-nc-list-wrap,
  .snc-app #tab-notifications .snc-nc-side>div{
    border-radius:26px!important;
    padding:14px!important;
    box-sizing:border-box!important;
  }
  .snc-app #tab-notifications .snc-nc-list{ gap:12px!important; }
  .snc-app #tab-notifications .snc-nc-item{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto!important;
    gap:12px!important;
    align-items:center!important;
    border-radius:22px!important;
    min-height:78px!important;
    box-sizing:border-box!important;
    background:var(--snc-panel-solid,#fff)!important;
    border:1px solid var(--snc-line)!important;
    box-shadow:0 12px 30px rgba(0,0,0,.045)!important;
    overflow:hidden!important;
    padding:14px 14px 14px 18px!important;
  }
  .snc-app #tab-notifications .snc-nc-item:before{
    left:0!important;top:0!important;bottom:0!important;width:5px!important;border-radius:22px 0 0 22px!important;
  }
  .snc-app #tab-notifications .snc-nc-open{
    width:100%!important;
    min-width:0!important;
    display:grid!important;
    gap:4px!important;
    appearance:none!important;
    -webkit-appearance:none!important;
    border:0!important;
    background:transparent!important;
    box-shadow:none!important;
    padding:0!important;
    color:inherit!important;
    text-align:left!important;
  }
  .snc-app #tab-notifications .snc-nc-open span{
    display:block!important;
    font-size:10px!important;
    font-weight:950!important;
    letter-spacing:.08em!important;
    color:var(--snc-muted)!important;
    text-transform:uppercase!important;
  }
  .snc-app #tab-notifications .snc-nc-open strong,
  .snc-app #tab-notifications .snc-nc-open small,
  .snc-app #tab-notifications .snc-nc-open em{
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    white-space:nowrap!important;
    max-width:100%!important;
    display:block!important;
  }
  .snc-app #tab-notifications .snc-nc-open strong{color:var(--snc-text)!important;font-size:15px!important;line-height:1.22!important;margin-top:1px!important;}
  .snc-app #tab-notifications .snc-nc-open small{color:var(--snc-muted)!important;font-size:13px!important;line-height:1.35!important;margin-top:1px!important;}
  .snc-app #tab-notifications .snc-nc-open em{color:var(--snc-accent-ink)!important;font-size:12px!important;line-height:1.25!important;margin-top:2px!important;font-style:normal!important;}
  .snc-app #tab-notifications .snc-nc-actions{display:flex!important;gap:8px!important;flex-wrap:nowrap!important;justify-content:flex-end!important;align-items:center!important;}
  .snc-app #tab-notifications .snc-nc-actions button{border-radius:13px!important;padding:8px 10px!important;min-height:34px!important;font-size:12px!important;font-weight:900!important;}
  .snc-app #tab-notifications .snc-nc-side{display:grid!important;gap:14px!important;align-content:start!important;}
  .snc-app #tab-notifications .snc-nc-side h3{color:var(--snc-accent-ink)!important;font-size:17px!important;line-height:1.2!important;margin:0 0 6px!important;}
  .snc-app #tab-notifications .snc-nc-side p{color:var(--snc-muted)!important;font-size:13px!important;line-height:1.45!important;margin:0 0 12px!important;}
  .snc-app #tab-notifications .snc-nc-settings label{display:flex!important;align-items:center!important;gap:9px!important;background:var(--snc-accent-wash)!important;border:1px solid var(--snc-line)!important;border-radius:16px!important;padding:10px 12px!important;margin:8px 0!important;color:var(--snc-text)!important;box-sizing:border-box!important;line-height:1.25!important;font-size:13px!important;font-weight:800!important;}
  .snc-app #tab-notifications .snc-nc-settings input[type="checkbox"]{appearance:none!important;-webkit-appearance:none!important;display:inline-grid!important;place-items:center!important;width:19px!important;height:19px!important;min-width:19px!important;max-width:19px!important;flex:0 0 19px!important;padding:0!important;margin:0!important;border:1.5px solid var(--snc-line)!important;border-radius:7px!important;background:var(--snc-panel-solid,#fff)!important;box-shadow:inset 0 1px 2px rgba(0,0,0,.04)!important;opacity:1!important;visibility:visible!important;position:relative!important;vertical-align:middle!important;}
  .snc-app #tab-notifications .snc-nc-settings input[type="checkbox"]:checked{border-color:transparent!important;background:linear-gradient(135deg,var(--snc-accent),var(--snc-accent-2))!important;}
  .snc-app #tab-notifications .snc-nc-settings input[type="checkbox"]:checked:after{content:""!important;width:9px!important;height:5px!important;border-left:2px solid #fff!important;border-bottom:2px solid #fff!important;transform:rotate(-45deg) translateY(-1px)!important;display:block!important;}
  .snc-app #tab-notifications .snc-nc-custom select,
  .snc-app #tab-notifications .snc-nc-custom input{width:100%!important;border:1px solid var(--snc-line)!important;border-radius:15px!important;background:var(--snc-accent-wash)!important;color:var(--snc-text)!important;padding:12px 13px!important;box-sizing:border-box!important;}
}


/* v1.1.187.93 — Shared Export / Access / Developer parity
   Applies to the common CRM UI in both wp-admin and standalone /beauty-crm/.
   No standalone-only fork here: same component styling for both environments. */
.snc-app #tab-export .snc-panel,
.snc-app #tab-access .snc-panel,
.snc-app #tab-developer .snc-panel{
  border-radius:28px;
  border:1px solid var(--snc-line);
  background:var(--snc-panel);
  box-shadow:0 22px 58px rgba(16,24,40,.07);
  backdrop-filter:blur(18px);
  -webkit-backdrop-filter:blur(18px);
}
.snc-app #tab-export .snc-panel h2,
.snc-app #tab-access .snc-panel h2,
.snc-app #tab-developer .snc-panel h2,
.snc-app #tab-developer .snc-dev-head h2{
  margin:0 0 6px;
  font-size:24px;
  line-height:1.15;
  font-weight:950;
  letter-spacing:-.03em;
  color:var(--snc-text);
}
.snc-app #tab-export .snc-panel p,
.snc-app #tab-access .snc-panel p,
.snc-app #tab-developer .snc-panel p,
.snc-app #tab-developer .snc-dev-help{
  color:var(--snc-muted);
  font-size:14px;
  line-height:1.45;
  margin:0 0 16px;
}
.snc-app #tab-export .snc-actions{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
  align-items:stretch;
  margin-top:16px;
}
.snc-app #tab-export .snc-actions .snc-btn,
.snc-app #tab-access .snc-btn,
.snc-app #tab-developer .snc-btn,
.snc-app #tab-developer button.snc-btn{
  appearance:none;
  -webkit-appearance:none;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  min-height:44px;
  padding:12px 16px;
  border-radius:16px;
  border:1px solid var(--snc-line);
  background:linear-gradient(135deg,var(--snc-accent),var(--snc-accent-2));
  color:#fff;
  font-family:inherit;
  font-size:14px;
  font-weight:900;
  line-height:1;
  text-decoration:none;
  box-shadow:0 14px 28px rgba(16,24,40,.12);
  cursor:pointer;
  white-space:nowrap;
  box-sizing:border-box;
}
.snc-app #tab-export .snc-actions .snc-btn:hover,
.snc-app #tab-developer .snc-btn:hover{
  transform:translateY(-1px);
  box-shadow:0 18px 34px rgba(16,24,40,.16);
}
.snc-app #tab-access .snc-panel{
  max-width:900px;
}
.snc-app #tab-access .snc-panel p{
  padding:16px 18px;
  border:1px solid var(--snc-line);
  border-radius:20px;
  background:var(--snc-accent-wash);
  color:var(--snc-text);
  font-weight:750;
}
.snc-app #tab-access .snc-panel b{
  color:var(--snc-accent-ink);
  font-weight:950;
}
.snc-app #tab-developer .snc-dev{
  display:grid;
  gap:16px;
}
.snc-app #tab-developer .snc-dev-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:18px;
  padding-bottom:14px;
  border-bottom:1px solid var(--snc-line);
}
.snc-app #tab-developer .snc-dev-badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:34px;
  padding:8px 12px;
  border-radius:999px;
  background:var(--snc-accent-wash);
  color:var(--snc-accent-ink);
  border:1px solid var(--snc-line);
  font-size:12px;
  font-weight:950;
  white-space:nowrap;
}
.snc-app #tab-developer .snc-dev-box,
.snc-app #tab-developer .snc-dev-upload{
  border:1px solid var(--snc-line);
  background:rgba(255,255,255,.62);
  border-radius:22px;
  padding:18px;
  box-shadow:0 12px 30px rgba(16,24,40,.045);
  box-sizing:border-box;
}
.snc-app #tab-developer .snc-dev-box h3,
.snc-app #tab-developer .snc-dev-upload h3{
  margin:0 0 6px;
  font-size:17px;
  line-height:1.2;
  font-weight:950;
  color:var(--snc-accent-ink);
}
.snc-app #tab-developer input[type="file"],
.snc-app #tab-developer input[type="text"],
.snc-app #tab-developer textarea,
.snc-app #tab-developer select{
  width:100%;
  border:1px solid var(--snc-line);
  border-radius:16px;
  background:rgba(255,255,255,.82);
  color:var(--snc-text);
  font-family:inherit;
  font-size:14px;
  padding:11px 13px;
  box-sizing:border-box;
}
@media (max-width: 760px){
  .snc-app #tab-export .snc-actions{grid-template-columns:1fr;}
  .snc-app #tab-developer .snc-dev-head{display:grid;}
  .snc-app #tab-developer .snc-dev-badge{justify-content:flex-start;white-space:normal;}
}


/* v1.1.187.97: Dashboard Today real spacing after final render */
#tab-dashboard .snc-panel.snc-today > h2,
.snc-app #tab-dashboard .snc-panel.snc-today > h2{
  margin-bottom:16px !important;
}
#tab-dashboard .snc-panel.snc-today > .snc-agenda,
#tab-dashboard .snc-panel.snc-today > .snc-today-agenda-v197,
.snc-app #tab-dashboard .snc-panel.snc-today > .snc-agenda,
.snc-app #tab-dashboard .snc-panel.snc-today > .snc-today-agenda-v197{
  margin-top:16px !important;
  padding-top:2px !important;
}
#tab-dashboard .snc-panel.snc-today > h2 + .snc-agenda,
#tab-dashboard .snc-panel.snc-today > h2 + .snc-empty,
.snc-app #tab-dashboard .snc-panel.snc-today > h2 + .snc-agenda,
.snc-app #tab-dashboard .snc-panel.snc-today > h2 + .snc-empty{
  margin-top:16px !important;
}/* v1.1.187.100 — Theme / Accent apply fix.
   The chosen color scheme is an accent only. It must not recolor structural backgrounds. */
.snc-app{
  --snc-focus-ring:color-mix(in srgb,var(--snc-accent) 24%,transparent);
  --snc-accent-border:color-mix(in srgb,var(--snc-accent) 38%,var(--snc-line));
  --snc-positive:#11845b;
  --snc-positive-soft:#e8f5ed;
  --snc-negative:#c2413b;
  --snc-negative-soft:#f7e7e7;
}
.snc-app input[type="checkbox"],
.snc-app input[type="radio"]{accent-color:var(--snc-accent)!important;}
.snc-app input:focus-visible,
.snc-app select:focus-visible,
.snc-app textarea:focus-visible,
.snc-app button:focus-visible,
.snc-app a:focus-visible{outline:3px solid var(--snc-focus-ring)!important;outline-offset:3px!important;}
.snc-app .snc-btn,
.snc-app .snc-form button,
.snc-app #sncRunUpdate,
.snc-app .snc-notif-primary,
.snc-app .snc-access-primary{background:linear-gradient(135deg,var(--snc-accent),var(--snc-accent-2))!important;color:#fff!important;border-color:transparent!important;}
.snc-app .snc-chip.active,
.snc-app .snc-calendar-tools .active,
.snc-app [aria-selected="true"]{background:linear-gradient(135deg,var(--snc-accent),var(--snc-accent-2))!important;color:#fff!important;border-color:transparent!important;}
.snc-app .snc-service-row.is-selected,
.snc-app .snc-day-card.is-selected,
.snc-app .snc-calendar-card.is-selected,
.snc-app .snc-native-service:has(input[type="checkbox"]:checked){border-color:var(--snc-accent-border)!important;color:var(--snc-accent-ink)!important;}
.snc-app .snc-status.completed,
.snc-app .snc-history-status.completed{background:var(--snc-positive-soft)!important;color:var(--snc-positive)!important;}
.snc-app .snc-status.cancelled,
.snc-app .snc-status.no_show,
.snc-app .snc-history-status.cancelled,
.snc-app .snc-history-status.no_show,
.snc-app .snc-mini.danger{background:var(--snc-negative-soft)!important;color:var(--snc-negative)!important;}
.snc-app #tab-finance .snc-profit-card.positive strong{color:var(--snc-positive)!important;}
.snc-app #tab-finance .snc-profit-card.negative strong{color:var(--snc-negative)!important;}

/* v1.1.187.101 — Shared theme preset + independent accent picker */
.snc-theme-picker.snc-accent-picker .snc-theme-toggle::before{
  content:"";
  width:10px;height:10px;border-radius:999px;
  background:var(--snc-accent);
  display:inline-block;
  box-shadow:0 0 0 3px var(--snc-accent-soft);
}
.snc-theme-menu button.is-current{
  background:var(--snc-accent-soft)!important;
  color:var(--snc-accent-ink)!important;
}
.snc-theme-menu button.is-current::after{
  content:"✓";
  float:right;
  color:var(--snc-accent-ink);
  font-weight:950;
}
.snc-app .snc-panel,
.snc-app .snc-card,
.snc-app .snc-kpi,
.snc-app .snc-table,
.snc-app .snc-day-col,
.snc-app .snc-client-card,
.snc-app .snc-agenda-item,
.snc-app .snc-expense-card,
.snc-app .snc-income-card,
.snc-app .snc-notification-card,
.snc-app .snc-notif-card,
.snc-app .snc-notif-item,
.snc-app .snc-price-row,
.snc-app .snc-dev-box,
.snc-app .snc-upload-zone{
  border-color:var(--snc-line)!important;
}
.snc-app .snc-card,
.snc-app .snc-panel{
  background:var(--snc-panel)!important;
}
.snc-app .snc-client-card,
.snc-app .snc-agenda-item,
.snc-app .snc-event-pill,
.snc-app .snc-day-col,
.snc-app .snc-price-row,
.snc-app .snc-expense-card,
.snc-app .snc-income-card,
.snc-app .snc-notification-card,
.snc-app .snc-notif-card,
.snc-app .snc-notif-item,
.snc-app .snc-dev-box{
  background:linear-gradient(135deg,var(--snc-panel-solid),var(--snc-card))!important;
}
.snc-app .snc-form input,
.snc-app .snc-form textarea,
.snc-app .snc-form select,
.snc-app .snc-search,
.snc-app .snc-dev input{
  background:var(--snc-accent-wash)!important;
  border-color:var(--snc-line)!important;
}
.snc-app .snc-side-card,
.snc-app .snc-mini,

.snc-app .snc-dev-badge,
.snc-app .snc-tags span{
  background:var(--snc-accent-soft)!important;
  color:var(--snc-accent-ink)!important;
}
.snc-app .snc-chip.active,
.snc-app .snc-btn,
.snc-app .snc-form button,
.snc-app #sncRunUpdate,
.snc-app .snc-calendar-tools button.active,
.snc-app .snc-save-sign{
  background:linear-gradient(135deg,var(--snc-accent),var(--snc-accent-2))!important;
  color:var(--snc-accent-contrast,#fff)!important;
}
.snc-app input[type="checkbox"],
.snc-app input[type="radio"]{
  accent-color:var(--snc-accent)!important;
}


/* v1.1.187.103 — real shared theme/accent cleanup
   Theme controls surfaces. Accent controls only interactive/highlight states. */
.snc-app{
  --snc-primary:var(--snc-accent)!important;
  --snc-secondary:var(--snc-accent-2)!important;
  --snc-accent-border:color-mix(in srgb,var(--snc-accent) 38%,var(--snc-line))!important;
  --snc-focus-ring:color-mix(in srgb,var(--snc-accent) 24%,transparent)!important;
}
.snc-theme-toggle{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:8px!important;
}
#sncThemePicker .snc-theme-toggle::before,
#sncAccentPicker .snc-theme-toggle::before{
  content:""!important;
  display:inline-block!important;
  width:10px!important;
  height:10px!important;
  min-width:10px!important;
  border-radius:999px!important;
  margin:0!important;
  box-shadow:0 0 0 3px var(--snc-accent-soft)!important;
}
#sncThemePicker .snc-theme-toggle::before{background:var(--snc-theme-dot,var(--snc-bg-b))!important;}
#sncAccentPicker .snc-theme-toggle::before{background:var(--snc-accent-dot,var(--snc-accent))!important;}

/* Old modules still use --snc-primary/--snc-secondary, so keep them tied to Accent. */
.snc-services-v142 .snc-service-button b,
.snc-services-v143 .snc-native-service b,
.snc-services-v142 .snc-selected-service b,
.snc-services-v143 .snc-selected-service b,
.snc-dash-appt-time-v151 b,
.snc-app .snc-eyebrow,
.snc-app #tab-appointments .snc-appt-time b,
.snc-app #tab-finance .snc-finance-period-card strong,
.snc-app #tab-finance .snc-expense-card b,
.snc-app #tab-dashboard .snc-agenda-item-v182 b{
  color:var(--snc-accent)!important;
}
.snc-app .snc-chip.active,
.snc-app .snc-btn,
.snc-app .snc-form button,
.snc-app .snc-calendar-tools button.active,
.snc-app .snc-save-sign,
.snc-app #sncRunUpdate,
.snc-app .snc-access-primary,
.snc-app .snc-notif-primary{
  background:linear-gradient(135deg,var(--snc-accent),var(--snc-accent-2))!important;
  color:var(--snc-accent-contrast,#fff)!important;
  border-color:transparent!important;
}
.snc-app .snc-service-row.is-selected,
.snc-app .snc-native-service:has(input[type="checkbox"]:checked),
.snc-app .snc-day-card.is-selected,
.snc-app .snc-calendar-card.is-selected,
.snc-app .snc-filter.is-active,
.snc-app .snc-nc-filter.is-active,
.snc-app .snc-price-row.is-selected,
.snc-app #tab-finance .snc-expense-card:hover,
.snc-app #tab-appointments .snc-appointment-card:hover,
.snc-app #tab-dashboard .snc-dash-appt-v151:hover{
  border-color:var(--snc-accent-border)!important;
}
.snc-app input[type="checkbox"],
.snc-app input[type="radio"],
.snc-app .snc-price-enabled-v168 input,
.snc-app .snc-appt-edit-service-v187 input[type=checkbox]{
  accent-color:var(--snc-accent)!important;
}
.snc-app .snc-form input:focus,
.snc-app .snc-form textarea:focus,
.snc-app .snc-form select:focus,
.snc-app input:focus,
.snc-app textarea:focus,
.snc-app select:focus{
  border-color:var(--snc-accent)!important;
  box-shadow:0 0 0 4px var(--snc-focus-ring)!important;
}
/* Finance backgrounds stay neutral; only semantic text stays green/red. */
.snc-app #tab-finance .snc-finance-head,
.snc-app #tab-finance .snc-finance-income-block,
.snc-app #tab-finance .snc-finance-expense-block,
.snc-app #tab-finance .snc-expense-card,
.snc-app #tab-finance .snc-income-card,
.snc-app #tab-finance .snc-profit-card{
  background:linear-gradient(135deg,var(--snc-panel-solid),var(--snc-card))!important;
}
.snc-app #tab-finance .snc-profit-card.positive strong,
.snc-app #tab-finance [data-finance-profit-month].positive,
.snc-app #tab-finance [data-finance-profit-year].positive{color:var(--snc-positive,#11845b)!important;}
.snc-app #tab-finance .snc-profit-card.negative strong,
.snc-app #tab-finance [data-finance-profit-month].negative,
.snc-app #tab-finance [data-finance-profit-year].negative{color:var(--snc-negative,#c2413b)!important;}


/* v1.1.187.104 — Shared theme/accent parity for Clients / Appointments / Finance
   Rule: surfaces follow Color Scheme; interactive/selected states follow Accent. */
.snc-app{
  --snc-component-surface:linear-gradient(135deg,var(--snc-panel-solid,#fff),var(--snc-card,rgba(255,255,255,.74)))!important;
  --snc-component-surface-soft:linear-gradient(135deg,var(--snc-panel,rgba(255,255,255,.86)),var(--snc-surface-neutral-soft,var(--snc-card,rgba(255,255,255,.74))))!important;
  --snc-component-hover:color-mix(in srgb,var(--snc-accent) 7%,var(--snc-panel-solid,#fff))!important;
}

/* Neutral surfaces: never hard-coded sand/green/blue backgrounds. */
.snc-app #tab-clients .snc-panel,
.snc-app #tab-clients .snc-client-card,
.snc-app #tab-appointments .snc-panel,
.snc-app #tab-appointments .snc-appointment-card,
.snc-app #tab-appointments .snc-appointments-stats span,
.snc-app #tab-finance .snc-panel,
.snc-app #tab-finance .snc-finance-head,
.snc-app #tab-finance .snc-finance-period-card,
.snc-app #tab-finance .snc-finance-income-block,
.snc-app #tab-finance .snc-finance-expense-block,
.snc-app #tab-finance .snc-year-summary,
.snc-app #tab-finance .snc-finance-summary-cards .snc-card,
.snc-app #tab-finance .snc-finance-year-cards .snc-card,
.snc-app #tab-finance .snc-expense-form-v133,
.snc-app #tab-finance .snc-expense-form-v135,
.snc-app #tab-finance .snc-expense-card,
.snc-app #tab-finance .snc-income-card,
.snc-app #tab-finance .snc-finance-income-row{
  background:var(--snc-component-surface)!important;
  border-color:var(--snc-line)!important;
}

/* Inner date/time boxes stay neutral, but adapt to selected Color Scheme. */
.snc-app #tab-appointments .snc-appointment-date,
.snc-app #tab-finance .snc-appointment-date,
.snc-app #tab-finance .snc-expense-card .snc-appointment-date,
.snc-app #tab-finance .snc-finance-income-row .snc-appointment-date{
  background:var(--snc-panel-solid,#fff)!important;
  border-color:var(--snc-line)!important;
}

/* Accent text / chips / important small elements. */
.snc-app #tab-clients .snc-avatar,
.snc-app #tab-clients .snc-client-main h3,
.snc-app #tab-clients .snc-tags span,
.snc-app #tab-appointments .snc-appointment-date b,
.snc-app #tab-appointments .snc-appointments-stats b,
.snc-app #tab-finance .snc-finance-period-card strong,
.snc-app #tab-finance .snc-expense-period-badge b,
.snc-app #tab-finance .snc-expense-card .snc-appointment-info strong,
.snc-app #tab-finance .snc-finance-income-row .snc-appointment-info strong,
.snc-app #tab-finance .snc-finance-summary-cards .snc-card strong:not([data-finance-profit-month]):not([data-finance-profit-year]){
  color:var(--snc-accent-ink,var(--snc-accent))!important;
}
.snc-app #tab-clients .snc-avatar{
  background:linear-gradient(135deg,var(--snc-accent-soft),var(--snc-accent-glow))!important;
  border:1px solid var(--snc-accent-border)!important;
}
.snc-app #tab-clients .snc-tags span,


.snc-app #tab-finance .snc-expense-period-badge{
  background:var(--snc-accent-soft)!important;
  border-color:var(--snc-accent-border)!important;
  color:var(--snc-accent-ink)!important;
}

/* Hover/focus/selected uses Accent only as a highlight, not a block fill. */
.snc-app #tab-clients .snc-client-card:hover,
.snc-app #tab-appointments .snc-appointment-card:hover,
.snc-app #tab-finance .snc-expense-card:hover,
.snc-app #tab-finance .snc-finance-income-row:hover{
  border-color:var(--snc-accent-border)!important;
  box-shadow:0 18px 38px color-mix(in srgb,var(--snc-accent) 10%,rgba(15,23,42,.08))!important;
}
.snc-app #tab-clients .snc-search:focus,
.snc-app #tab-appointments [data-appointment-history-search]:focus,
.snc-app #tab-finance [data-finance-income-search]:focus,
.snc-app #tab-finance .snc-finance-period select:focus,
.snc-app #tab-finance .snc-expense-form-v133 input:focus,
.snc-app #tab-finance .snc-expense-form-v135 input:focus{
  border-color:var(--snc-accent)!important;
  box-shadow:0 0 0 4px var(--snc-focus-ring)!important;
}

/* Action buttons inside these tabs use Accent gradient. */
.snc-app #tab-clients .snc-btn:not(.danger),
.snc-app #tab-clients button.snc-btn:not(.danger),
.snc-app #tab-appointments .snc-btn:not(.danger),
.snc-app #tab-appointments button.snc-btn:not(.danger),
.snc-app #tab-finance .snc-btn:not(.danger),
.snc-app #tab-finance button.snc-btn:not(.danger){
  background:linear-gradient(135deg,var(--snc-accent),var(--snc-accent-2))!important;
  border-color:transparent!important;
  color:var(--snc-accent-contrast,#fff)!important;
}

/* Danger buttons remain semantic red, not theme accent. */
.snc-app #tab-appointments .snc-mini.danger,
.snc-app #tab-finance .snc-mini.danger{
  background:rgba(190,78,78,.08)!important;
  border-color:rgba(190,78,78,.20)!important;
  color:#9f3737!important;
}
.snc-app #tab-appointments .snc-mini.danger:hover,
.snc-app #tab-finance .snc-mini.danger:hover{
  background:#b94242!important;
  border-color:#b94242!important;
  color:#fff!important;
}

/* Finance semantic values stay semantic, not accent. */
.snc-app #tab-finance .snc-profit-card.positive strong,
.snc-app #tab-finance .snc-profit-card.positive [data-finance-profit-month],
.snc-app #tab-finance .snc-profit-card.positive [data-finance-profit-year]{
  color:var(--snc-positive,#15803d)!important;
}
.snc-app #tab-finance .snc-profit-card.negative strong,
.snc-app #tab-finance .snc-profit-card.negative [data-finance-profit-month],
.snc-app #tab-finance .snc-profit-card.negative [data-finance-profit-year]{
  color:var(--snc-negative,#b91c1c)!important;
}

/* Picker buttons: matching dot spacing in both controls. */
#sncThemePicker .snc-theme-toggle,
#sncAccentPicker .snc-theme-toggle{
  gap:10px!important;
}
#sncThemePicker .snc-theme-toggle::before,
#sncAccentPicker .snc-theme-toggle::before{
  margin-right:2px!important;
}

/* v1.1.187.105 status semantic colors are injected in footer as final guard. */


/* v1.1.187.106 — Shared semantic status system.
   Status colors are fixed meaning-colors and never follow theme/accent. */
.snc-app{ 
  --snc-status-planned-bg:#eef5ff!important;
  --snc-status-planned-text:#1d4ed8!important;
  --snc-status-planned-border:rgba(29,78,216,.24)!important;
  --snc-status-completed-bg:#e4f7ed!important;
  --snc-status-completed-text:#15803d!important;
  --snc-status-completed-border:rgba(21,128,61,.24)!important;
  --snc-status-cancelled-bg:#fee2e2!important;
  --snc-status-cancelled-text:#b91c1c!important;
  --snc-status-cancelled-border:rgba(185,28,28,.24)!important;
  --snc-status-noshow-bg:#fff3d6!important;
  --snc-status-noshow-text:#b45309!important;
  --snc-status-noshow-border:rgba(180,83,9,.24)!important;
}
.snc-app .snc-status,
.snc-app .snc-dash-appt-status-v151,
.snc-app .snc-today-status-badge,
.snc-app .snc-history-status,
.snc-app .snc-appt-info-status-pill,
.snc-app [data-appt-status].snc-appt-info-status-pill{
  display:inline-flex!important;align-items:center!important;justify-content:center!important;
  width:max-content!important;max-width:100%!important;min-height:28px!important;
  padding:7px 11px!important;border-radius:999px!important;font-size:11.5px!important;
  line-height:1!important;font-weight:900!important;letter-spacing:.01em!important;white-space:nowrap!important;
  border:1px solid transparent!important;box-shadow:0 8px 18px rgba(17,24,39,.04)!important;
}
.snc-app .snc-status.planned,
.snc-app .snc-dash-appt-status-v151.planned,
.snc-app .snc-today-status-badge.planned,
.snc-app .snc-history-status.planned,
.snc-app .snc-appt-info-status-pill.planned,
.snc-app [data-appt-status].snc-appt-info-status-pill.planned,
.snc-app [data-status="planned"] .snc-status,
.snc-app .snc-appointment-card.planned .snc-status{
  background:var(--snc-status-planned-bg)!important;color:var(--snc-status-planned-text)!important;border-color:var(--snc-status-planned-border)!important;
}
.snc-app .snc-status.completed,
.snc-app .snc-dash-appt-status-v151.completed,
.snc-app .snc-today-status-badge.completed,
.snc-app .snc-history-status.completed,
.snc-app .snc-history-status.done,
.snc-app .snc-appt-info-status-pill.completed,
.snc-app [data-appt-status].snc-appt-info-status-pill.completed,
.snc-app [data-status="completed"] .snc-status,
.snc-app .snc-appointment-card.completed .snc-status{
  background:var(--snc-status-completed-bg)!important;color:var(--snc-status-completed-text)!important;border-color:var(--snc-status-completed-border)!important;
}
.snc-app .snc-status.cancelled,
.snc-app .snc-dash-appt-status-v151.cancelled,
.snc-app .snc-today-status-badge.cancelled,
.snc-app .snc-history-status.cancelled,
.snc-app .snc-history-status.cancel,
.snc-app .snc-appt-info-status-pill.cancelled,
.snc-app [data-appt-status].snc-appt-info-status-pill.cancelled,
.snc-app [data-status="cancelled"] .snc-status,
.snc-app .snc-appointment-card.cancelled .snc-status{
  background:var(--snc-status-cancelled-bg)!important;color:var(--snc-status-cancelled-text)!important;border-color:var(--snc-status-cancelled-border)!important;
}
.snc-app .snc-status.no_show,
.snc-app .snc-dash-appt-status-v151.no_show,
.snc-app .snc-today-status-badge.no_show,
.snc-app .snc-history-status.no_show,
.snc-app .snc-appt-info-status-pill.no_show,
.snc-app [data-appt-status].snc-appt-info-status-pill.no_show,
.snc-app [data-status="no_show"] .snc-status,
.snc-app .snc-appointment-card.no_show .snc-status{
  background:var(--snc-status-noshow-bg)!important;color:var(--snc-status-noshow-text)!important;border-color:var(--snc-status-noshow-border)!important;
}

/* v1.1.187.108 asset marker: legacy hardcoded sand/accent remnants cleaned; final shared layer is injected from footer. */

/* v1.1.187.109 architecture cleanup phase 1: Notification Center standalone-only CSS fork consolidated into shared component layer. */

/* v1.1.187.113 — Appointment status save + dashboard next fix.
   Shared, conservative guards only. No business logic, no DB/storage changes. */
.snc-app,
.snc-app *{box-sizing:border-box;}

/* Prevent theme/site CSS from creating horizontal overflow in admin, standalone and mobile. */
html body .snc-app,
html body .snc-app .snc-shell,
html body .snc-app .snc-main,
html body .snc-app .snc-tab-panel{max-width:100%;}
html body .snc-app{overflow-x:hidden;}

/* Shared modal/toast stacking order: popups above CRM, toasts above popups. */
.snc-app .snc-modal-host,
.snc-app .snc-popup-host,
.snc-app .snc-global-popup,
.snc-app .snc-appt-info-popup,
.snc-app .snc-client-modal{z-index:100050!important;}
.snc-app .snc-toast-wrap,
.snc-app .snc-notification-toast-stack,
.snc-app .snc-toast-stack{z-index:100080!important;}

/* Shared popup positioning guard for both admin and standalone. */
.snc-app .snc-global-popup,
.snc-app .snc-appt-info-popup,
.snc-app .snc-client-modal{
  max-width:min(720px,calc(100vw - 32px));
  max-height:min(86dvh,860px);
}
@media (max-width: 782px){
  .snc-app .snc-global-popup,
  .snc-app .snc-appt-info-popup,
  .snc-app .snc-client-modal{
    position:fixed!important;
    left:50%!important;
    top:50%!important;
    transform:translate(-50%,-50%)!important;
    width:calc(100vw - 24px)!important;
    max-width:calc(100vw - 24px)!important;
    max-height:calc(100dvh - 34px)!important;
    overflow:auto!important;
    overscroll-behavior:contain;
  }
}

/* Inputs/search stability: consistent field sizing and no theme inherited zoom/line-height weirdness. */
.snc-app input[type="search"],
.snc-app input[type="text"],
.snc-app input[type="tel"],
.snc-app input[type="number"],
.snc-app input[type="date"],
.snc-app input[type="time"],
.snc-app textarea,
.snc-app select{
  font:inherit;
  min-height:42px;
  max-width:100%;
}
@media (max-width: 782px){
  .snc-app input[type="search"],
  .snc-app input[type="text"],
  .snc-app input[type="tel"],
  .snc-app input[type="number"],
  .snc-app input[type="date"],
  .snc-app input[type="time"],
  .snc-app textarea,
  .snc-app select{font-size:16px!important;}
  .snc-app .snc-tab-panel{padding-bottom:max(28px,env(safe-area-inset-bottom));}
}

/* Theme system guard: statuses stay semantic; cards/surfaces never inherit accent as background. */
.snc-app .snc-card,
.snc-app .snc-panel,
.snc-app .snc-section,
.snc-app .snc-dashboard-card,
.snc-app .snc-finance-card,
.snc-app .snc-client-card,
.snc-app .snc-appointment-card,
.snc-app .snc-notification-card{
  background:var(--snc-card-bg,var(--snc-surface,#fff))!important;
}
.snc-app .snc-status,
.snc-app [class*="status"]{background-clip:padding-box;}

/* Regression guard for finance period filtering: hidden means hidden even if layout rules use grid/flex. */
.snc-app #tab-finance [hidden],
.snc-app #tab-finance .snc-hidden,
.snc-app #tab-finance .is-hidden{display:none!important;}

/* v1.1.187.153 — Calendar service checkbox visual cleanup.
   The native checkbox must stay functional but invisible; only .snc-native-check is the visible control. */
.snc-app #tab-calendar .snc-services-native-list .snc-native-service input[type="checkbox"][data-native-service],
#tab-calendar .snc-services-native-list .snc-native-service input[type="checkbox"][data-native-service]{
  position:absolute!important;
  left:-9999px!important;
  top:auto!important;
  width:1px!important;
  height:1px!important;
  min-width:1px!important;
  min-height:1px!important;
  max-width:1px!important;
  max-height:1px!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  opacity:0!important;
  visibility:hidden!important;
  pointer-events:none!important;
  appearance:none!important;
  -webkit-appearance:none!important;
  box-shadow:none!important;
  transform:none!important;
  overflow:hidden!important;
}
.snc-app #tab-calendar .snc-services-native-list .snc-native-service .snc-native-check,
#tab-calendar .snc-services-native-list .snc-native-service .snc-native-check{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:22px!important;
  height:22px!important;
  min-width:22px!important;
  min-height:22px!important;
  max-width:22px!important;
  max-height:22px!important;
  border-radius:7px!important;
  border:1.5px solid var(--snc-line,rgba(90,70,56,.18))!important;
  background:var(--snc-panel-solid,#fff)!important;
  color:transparent!important;
  font-size:14px!important;
  line-height:1!important;
  font-weight:900!important;
  box-sizing:border-box!important;
}
.snc-app #tab-calendar .snc-services-native-list .snc-native-service.is-selected .snc-native-check,
.snc-app #tab-calendar .snc-services-native-list .snc-native-service input[type="checkbox"][data-native-service]:checked + .snc-native-check,
#tab-calendar .snc-services-native-list .snc-native-service.is-selected .snc-native-check,
#tab-calendar .snc-services-native-list .snc-native-service input[type="checkbox"][data-native-service]:checked + .snc-native-check{
  border-color:var(--snc-accent,#8b6f5e)!important;
  background:linear-gradient(135deg,var(--snc-accent,#8b6f5e),var(--snc-accent-2,#b89b87))!important;
  color:#fff!important;
}


/* v1.1.187.154 — mobile calendar checkbox layout fix.
   Keep the native checkbox invisible, but do not let it break the mobile service-card grid. */
@media (max-width:760px){
  .snc-app #tab-calendar .snc-services-native-list,
  #tab-calendar .snc-services-native-list{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:10px!important;
    width:100%!important;
    min-width:0!important;
  }
  .snc-app #tab-calendar .snc-services-native-list .snc-native-service,
  #tab-calendar .snc-services-native-list .snc-native-service{
    position:relative!important;
    display:grid!important;
    grid-template-columns:24px minmax(0,1fr) auto!important;
    align-items:center!important;
    gap:10px!important;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    box-sizing:border-box!important;
    overflow:hidden!important;
  }
  .snc-app #tab-calendar .snc-services-native-list .snc-native-service input[type="checkbox"][data-native-service],
  #tab-calendar .snc-services-native-list .snc-native-service input[type="checkbox"][data-native-service]{
    position:absolute!important;
    left:12px!important;
    top:50%!important;
    transform:translateY(-50%)!important;
    width:22px!important;
    height:22px!important;
    min-width:22px!important;
    min-height:22px!important;
    margin:0!important;
    padding:0!important;
    opacity:0!important;
    visibility:hidden!important;
    pointer-events:none!important;
    appearance:none!important;
    -webkit-appearance:none!important;
  }
  .snc-app #tab-calendar .snc-services-native-list .snc-native-service .snc-native-check,
  #tab-calendar .snc-services-native-list .snc-native-service .snc-native-check{
    grid-column:1!important;
    grid-row:1!important;
    width:22px!important;
    height:22px!important;
    min-width:22px!important;
    min-height:22px!important;
    max-width:22px!important;
    max-height:22px!important;
  }
  .snc-app #tab-calendar .snc-services-native-list .snc-native-service .snc-native-title,
  #tab-calendar .snc-services-native-list .snc-native-service .snc-native-title{
    grid-column:2!important;
    grid-row:1!important;
    min-width:0!important;
    max-width:100%!important;
    overflow:hidden!important;
  }
  .snc-app #tab-calendar .snc-services-native-list .snc-native-service b,
  #tab-calendar .snc-services-native-list .snc-native-service b{
    grid-column:3!important;
    grid-row:1!important;
    justify-self:end!important;
    white-space:nowrap!important;
  }
}

/* v1.1.187.155 — Calendar new appointment dropdown layering/contrast cleanup
   Keep country picker usable inside the form, but never above modals/search dropdowns. */
.snc-tab[data-tab="calendar"] .snc-panel,
.snc-tab[data-tab="calendar"] .snc-form,
.snc-tab[data-tab="calendar"] .snc-field,
.snc-tab[data-tab="calendar"] .snc-phone-field,
.snc-tab[data-tab="calendar"] .snc-phone-row{
  overflow:visible!important;
}
.snc-tab[data-tab="calendar"] .snc-country-picker{
  z-index:12!important;
}
.snc-tab[data-tab="calendar"] .snc-country-picker.open{
  z-index:120!important;
}
.snc-tab[data-tab="calendar"] .snc-country-popover{
  z-index:121!important;
  background:#fff!important;
  color:var(--snc-text)!important;
  border-color:rgba(15,23,42,.12)!important;
  box-shadow:0 22px 54px rgba(15,23,42,.18)!important;
}
.snc-tab[data-tab="calendar"] .snc-client-picker-field,
.snc-tab[data-tab="calendar"] .snc-client-picker.is-open{
  z-index:220!important;
}
.snc-tab[data-tab="calendar"] .snc-client-picker-results{
  z-index:221!important;
  background:#fff!important;
  color:var(--snc-text)!important;
  border-color:rgba(15,23,42,.12)!important;
  box-shadow:0 22px 54px rgba(15,23,42,.18)!important;
}
.snc-tab[data-tab="calendar"] .snc-country-options button,
.snc-tab[data-tab="calendar"] .snc-client-picker-option{
  background:#fff!important;
  color:var(--snc-text)!important;
}
.snc-tab[data-tab="calendar"] .snc-country-options button:hover,
.snc-tab[data-tab="calendar"] .snc-country-options button:focus,
.snc-tab[data-tab="calendar"] .snc-client-picker-option:hover,
.snc-tab[data-tab="calendar"] .snc-client-picker-option:focus,
.snc-tab[data-tab="calendar"] .snc-client-picker-option.is-selected{
  background:#f3f4f6!important;
  color:var(--snc-text)!important;
  border-color:rgba(15,23,42,.10)!important;
}
.snc-tab[data-tab="calendar"] .snc-country-options b,
.snc-tab[data-tab="calendar"] .snc-client-picker-option strong{
  color:var(--snc-text)!important;
}
.snc-tab[data-tab="calendar"] .snc-country-options em,
.snc-tab[data-tab="calendar"] .snc-client-picker-option small{
  color:#667085!important;
}
body .snc-client-modal.open ~ .snc-app .snc-country-picker,
body .snc-dashboard-appt-modal.open ~ .snc-app .snc-country-picker{
  z-index:1!important;
}
@media(max-width:820px){
  .snc-tab[data-tab="calendar"] .snc-country-popover{
    width:min(292px,calc(100vw - 42px))!important;
    max-width:calc(100vw - 42px)!important;
  }
}


/* v1.1.187.156 — Calendar country picker real selectors, layering, contrast and filter visibility.
   Uses #tab-calendar because .snc-tab[data-tab="calendar"] may not exist in the actual markup. */
#tab-calendar,
#tab-calendar .snc-panel,
#tab-calendar .snc-form,
#tab-calendar .snc-field,
#tab-calendar .snc-phone-field,
#tab-calendar .snc-phone-row,
#tab-calendar .snc-client-picker-field,
#tab-calendar .snc-client-picker{
  overflow:visible!important;
}
#tab-calendar .snc-phone-field,
#tab-calendar .snc-phone-row{
  position:relative!important;
}
#tab-calendar .snc-country-picker{
  position:relative!important;
  z-index:20!important;
}
#tab-calendar .snc-country-picker.open{
  z-index:260!important;
}
#tab-calendar .snc-country-popover{
  z-index:261!important;
  background:#fff!important;
  color:#1f2937!important;
  border-color:rgba(15,23,42,.14)!important;
  box-shadow:0 22px 58px rgba(15,23,42,.20)!important;
}
#tab-calendar .snc-client-picker-field,
#tab-calendar .snc-client-picker.is-open{
  z-index:420!important;
}
#tab-calendar .snc-client-picker-results{
  z-index:421!important;
  background:#fff!important;
  color:#1f2937!important;
  border-color:rgba(15,23,42,.14)!important;
  box-shadow:0 22px 58px rgba(15,23,42,.20)!important;
}
#tab-calendar .snc-country-search{
  background:#fff!important;
  color:#1f2937!important;
}
#tab-calendar .snc-country-options button,
#tab-calendar .snc-client-picker-option{
  background:#fff!important;
  color:#1f2937!important;
}
#tab-calendar .snc-country-options button[hidden],
#tab-calendar .snc-client-picker-option[hidden],
#tab-calendar .snc-client-picker-empty[hidden]{
  display:none!important;
}
#tab-calendar .snc-country-options button:hover,
#tab-calendar .snc-country-options button:focus,
#tab-calendar .snc-client-picker-option:hover,
#tab-calendar .snc-client-picker-option:focus,
#tab-calendar .snc-client-picker-option.is-selected{
  background:#f3f4f6!important;
  color:#1f2937!important;
  border-color:rgba(15,23,42,.10)!important;
}
#tab-calendar .snc-country-options b,
#tab-calendar .snc-client-picker-option strong{
  color:#111827!important;
}
#tab-calendar .snc-country-options em,
#tab-calendar .snc-client-picker-option small{
  color:#667085!important;
}
.snc-client-modal.open,
.snc-dashboard-appt-modal.open{
  z-index:2147482600!important;
}
@media(max-width:820px){
  #tab-calendar .snc-country-popover{
    width:min(292px,calc(100vw - 42px))!important;
    max-width:calc(100vw - 42px)!important;
  }
}


/* v1.1.187.157 — Mobile country picker popover escapes the new-client block without clipping. */
@media(max-width:820px){
  #tab-calendar .snc-new-client-inline-v156,
  #tab-calendar .snc-new-client-fields-v156,
  #tab-calendar .snc-phone-field,
  #tab-calendar .snc-phone-row,
  #tab-calendar .snc-country-picker{
    overflow:visible!important;
  }
  #tab-calendar .snc-country-picker.open .snc-country-popover{
    max-height:min(330px,calc(100vh - 150px))!important;
    overflow:hidden!important;
  }
  #tab-calendar .snc-country-picker.open .snc-country-options{
    max-height:min(238px,calc(100vh - 245px))!important;
    overflow:auto!important;
  }
}


/* v1.1.187.158 — Mobile country picker must escape clipped phone row.
   Base .snc-country-popover uses position:absolute!important, so mobile needs
   stronger fixed positioning with JS-provided CSS variables. */
@media(max-width:820px){
  #tab-calendar .snc-country-picker.open .snc-country-popover{
    position:fixed!important;
    top:var(--snc-country-popover-top, 96px)!important;
    left:var(--snc-country-popover-left, 12px)!important;
    right:auto!important;
    width:var(--snc-country-popover-width, min(292px, calc(100vw - 24px)))!important;
    max-width:calc(100vw - 24px)!important;
    z-index:2147481200!important;
    transform:none!important;
    contain:none!important;
  }
  #tab-calendar .snc-phone-row,
  #tab-calendar .snc-phone-field,
  #tab-calendar .snc-panel,
  #tab-calendar .snc-form{
    overflow:visible!important;
  }
}

/* v1.1.187.159 — Calendar native service picker unified layout guard.
   Keep admin/backend and frontend on the same 3-column service-card layout after hiding the native checkbox. */
.snc-app #tab-calendar .snc-services-native-list,
#tab-calendar .snc-services-native-list{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:10px!important;
  width:100%!important;
  min-width:0!important;
}
.snc-app #tab-calendar .snc-services-native-list .snc-native-service,
#tab-calendar .snc-services-native-list .snc-native-service{
  position:relative!important;
  display:grid!important;
  grid-template-columns:24px minmax(0,1fr) max-content!important;
  align-items:center!important;
  gap:10px!important;
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  box-sizing:border-box!important;
  overflow:hidden!important;
}
.snc-app #tab-calendar .snc-services-native-list .snc-native-service input[type="checkbox"][data-native-service],
#tab-calendar .snc-services-native-list .snc-native-service input[type="checkbox"][data-native-service]{
  position:absolute!important;
  left:-9999px!important;
  width:1px!important;
  height:1px!important;
  min-width:1px!important;
  min-height:1px!important;
  max-width:1px!important;
  max-height:1px!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  opacity:0!important;
  visibility:hidden!important;
  pointer-events:none!important;
  appearance:none!important;
  -webkit-appearance:none!important;
}
.snc-app #tab-calendar .snc-services-native-list .snc-native-service .snc-native-check,
#tab-calendar .snc-services-native-list .snc-native-service .snc-native-check{
  grid-column:1!important;
  grid-row:1!important;
  justify-self:start!important;
}
.snc-app #tab-calendar .snc-services-native-list .snc-native-service .snc-native-title,
#tab-calendar .snc-services-native-list .snc-native-service .snc-native-title{
  grid-column:2!important;
  grid-row:1!important;
  min-width:0!important;
  max-width:100%!important;
  overflow:hidden!important;
}
.snc-app #tab-calendar .snc-services-native-list .snc-native-service b,
#tab-calendar .snc-services-native-list .snc-native-service b{
  grid-column:3!important;
  grid-row:1!important;
  justify-self:end!important;
  white-space:nowrap!important;
}
@media (max-width:900px){
  .snc-app #tab-calendar .snc-services-native-list,
  #tab-calendar .snc-services-native-list{
    grid-template-columns:1fr!important;
  }
}

/* v1.1.187.160 — Calendar order + compact all appointments list */
#tab-calendar .snc-calendar-all-list-panel{
  margin-top:16px;
  overflow:hidden;
}
#tab-calendar .snc-calendar-all-list-panel > summary{
  list-style:none;
  cursor:pointer;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:4px 0 12px;
  font-weight:800;
  color:var(--snc-text,#1f2933);
}
#tab-calendar .snc-calendar-all-list-panel > summary::-webkit-details-marker{display:none;}
#tab-calendar .snc-calendar-all-list-panel > summary span{
  font-size:18px;
  line-height:1.2;
}
#tab-calendar .snc-calendar-all-list-panel > summary small{
  flex:0 0 auto;
  padding:8px 12px;
  border:1px solid rgba(31,41,51,.12);
  border-radius:999px;
  background:rgba(255,255,255,.72);
  color:var(--snc-muted,#6b7280);
  font-size:12px;
  font-weight:700;
}
#tab-calendar .snc-calendar-all-list-panel[open] > summary small::before{content:'Скрыть';}
#tab-calendar .snc-calendar-all-list-panel:not([open]) > summary small::before{content:'Показать';}
#tab-calendar .snc-calendar-all-list-panel > summary small{font-size:0;}
#tab-calendar .snc-calendar-all-list-panel > summary small::before{font-size:12px;}
#tab-calendar .snc-calendar-all-list-panel .snc-table{
  margin-top:4px;
  overflow:auto;
  -webkit-overflow-scrolling:touch;
}
#tab-calendar .snc-calendar-all-list-panel .snc-table table{
  width:100%;
  table-layout:fixed;
  border-spacing:0 8px;
}
#tab-calendar .snc-calendar-all-list-panel .snc-table th,
#tab-calendar .snc-calendar-all-list-panel .snc-table td{
  padding:9px 10px;
  font-size:13px;
  line-height:1.25;
  vertical-align:middle;
}
#tab-calendar .snc-calendar-all-list-panel .snc-table th:nth-child(1),
#tab-calendar .snc-calendar-all-list-panel .snc-table td:nth-child(1){width:138px;}
#tab-calendar .snc-calendar-all-list-panel .snc-table th:nth-child(2),
#tab-calendar .snc-calendar-all-list-panel .snc-table td:nth-child(2){width:130px;}
#tab-calendar .snc-calendar-all-list-panel .snc-table th:nth-child(3),
#tab-calendar .snc-calendar-all-list-panel .snc-table td:nth-child(3){width:auto;}
#tab-calendar .snc-calendar-all-list-panel .snc-table th:nth-child(4),
#tab-calendar .snc-calendar-all-list-panel .snc-table td:nth-child(4){width:112px;}
#tab-calendar .snc-calendar-all-list-panel .snc-table th:nth-child(5),
#tab-calendar .snc-calendar-all-list-panel .snc-table td:nth-child(5){width:82px; white-space:nowrap;}
#tab-calendar .snc-calendar-all-list-panel .snc-table th:nth-child(6),
#tab-calendar .snc-calendar-all-list-panel .snc-table td:nth-child(6){width:104px;}
#tab-calendar .snc-calendar-all-list-panel .snc-table td:nth-child(3){
  word-break:break-word;
  overflow-wrap:anywhere;
}
@media (max-width: 760px){
  #tab-calendar .snc-calendar-all-list-panel{margin-top:12px;}
  #tab-calendar .snc-calendar-all-list-panel > summary{
    padding:2px 0 10px;
  }
  #tab-calendar .snc-calendar-all-list-panel > summary span{font-size:16px;}
  #tab-calendar .snc-calendar-all-list-panel .snc-table table{
    min-width:720px;
  }
  #tab-calendar .snc-calendar-all-list-panel .snc-table th,
  #tab-calendar .snc-calendar-all-list-panel .snc-table td{
    padding:8px 9px;
    font-size:12px;
  }
}


/* v1.2.0 — Dashboard desktop: place client reminders under Today.
   Mobile keeps the previous useful order: reminders first inside the dashboard stack. */
@media (min-width:1181px){
  #tab-dashboard .snc-dashboard-layout{
    display:grid!important;
    grid-template-columns:minmax(0,1.65fr) minmax(320px,.9fr)!important;
    grid-template-areas:
      "upcoming today"
      "upcoming followups"
      "upcoming birthdays"!important;
    align-items:start!important;
    gap:18px!important;
  }
  #tab-dashboard .snc-dashboard-upcoming-panel{grid-area:upcoming!important;}
  #tab-dashboard .snc-today{grid-area:today!important;}
  #tab-dashboard .snc-followup-dashboard{
    grid-area:followups!important;
    width:100%!important;
    margin:0 0 18px!important;
    padding:22px!important;
    border-radius:28px!important;
  }
  #tab-dashboard .snc-birthday-reminders{grid-area:birthdays!important;}
  #tab-dashboard .snc-followup-dashboard .snc-followup-list{
    display:grid!important;
    gap:10px!important;
  }
  #tab-dashboard .snc-followup-dashboard .snc-followup-card{
    grid-template-columns:minmax(0,1fr) auto auto!important;
    align-items:center!important;
  }
}
@media (max-width:1180px){
  #tab-dashboard .snc-dashboard-layout{display:grid!important;grid-template-columns:1fr!important;}
  #tab-dashboard .snc-dashboard-layout .snc-followup-dashboard{order:-10!important;}
  #tab-dashboard .snc-dashboard-upcoming-panel{order:0!important;}
  #tab-dashboard .snc-today{order:1!important;}
  #tab-dashboard .snc-birthday-reminders{order:2!important;}
}


/* v1.2.1 — Dashboard desktop right column stable spacing + Settings tab controls */
@media (min-width:1181px){
  #tab-dashboard .snc-dashboard-layout{
    align-content:start!important;
    grid-auto-rows:max-content!important;
    row-gap:18px!important;
    column-gap:18px!important;
  }
  #tab-dashboard .snc-dashboard-upcoming-panel{align-self:start!important;}
  #tab-dashboard .snc-today,
  #tab-dashboard .snc-followup-dashboard,
  #tab-dashboard .snc-birthday-reminders{
    align-self:start!important;
    margin-bottom:0!important;
  }
}
.snc-settings-ui-box{
  background:linear-gradient(135deg,var(--snc-panel-solid,#fff),var(--snc-accent-wash,rgba(255,255,255,.72)))!important;
}
.snc-settings-controls{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(180px,1fr))!important;
  gap:12px!important;
  align-items:start!important;
}
.snc-settings-controls .snc-chip,
.snc-settings-controls .snc-theme-picker{
  width:100%!important;
  margin:0!important;
}
.snc-settings-controls .snc-theme-toggle{
  width:100%!important;
  justify-content:center!important;
}
.snc-settings-controls .snc-theme-menu{
  z-index:99999!important;
}
@media (max-width:760px){
  .snc-settings-controls{grid-template-columns:1fr!important;}
}


/* v1.2.2 — Dashboard right column independent stack + Settings nav label/icon fix */
.snc-app .snc-sidebar button[data-tab="developer"] .snc-nav-icon svg,
.snc-front-app-mode .snc-sidebar button[data-tab="developer"] .snc-nav-icon svg{
  fill:none!important;
  stroke:currentColor!important;
  stroke-width:1.9!important;
  stroke-linecap:round!important;
  stroke-linejoin:round!important;
}
@media (min-width:1181px){
  #tab-dashboard .snc-dashboard-layout{
    display:grid!important;
    grid-template-columns:minmax(0,1.65fr) minmax(320px,.9fr)!important;
    grid-template-areas:"upcoming right"!important;
    align-items:start!important;
    gap:18px!important;
  }
  #tab-dashboard .snc-dashboard-upcoming-panel{
    grid-area:upcoming!important;
    align-self:start!important;
  }
  #tab-dashboard .snc-dashboard-right-column{
    grid-area:right!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:stretch!important;
    gap:18px!important;
    min-width:0!important;
    align-self:start!important;
  }
  #tab-dashboard .snc-dashboard-right-column > .snc-panel,
  #tab-dashboard .snc-dashboard-right-column > .snc-followup-dashboard{
    width:100%!important;
    margin:0!important;
    align-self:stretch!important;
  }
  #tab-dashboard .snc-today,
  #tab-dashboard .snc-followup-dashboard,
  #tab-dashboard .snc-birthday-reminders{
    grid-area:auto!important;
  }
}
@media (max-width:1180px){
  #tab-dashboard{
    display:flex!important;
    flex-direction:column!important;
  }
  #tab-dashboard > .snc-grid-4{order:0!important;}
  #tab-dashboard > .snc-dashboard-layout{order:1!important;}
  #tab-dashboard .snc-dashboard-layout{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:12px!important;
  }
  #tab-dashboard .snc-dashboard-upcoming-panel{order:0!important;}
  #tab-dashboard .snc-dashboard-right-column{
    order:1!important;
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:12px!important;
  }
  #tab-dashboard .snc-dashboard-right-column .snc-followup-dashboard{order:0!important;}
  #tab-dashboard .snc-dashboard-right-column .snc-today{order:1!important;}
  #tab-dashboard .snc-dashboard-right-column .snc-birthday-reminders{order:2!important;}
}


/* v1.2.3 — Settings gear, dashboard right stack equal gaps, birthday header spacing, mobile Today order */
.snc-app .snc-sidebar button[data-tab="developer"] .snc-nav-icon svg,
.snc-front-app-mode .snc-sidebar button[data-tab="developer"] .snc-nav-icon svg{
  width:20px!important;
  height:20px!important;
  fill:none!important;
  stroke:currentColor!important;
  stroke-width:1.65!important;
  stroke-linecap:round!important;
  stroke-linejoin:round!important;
}
@media (min-width:1181px){
  #tab-dashboard .snc-dashboard-right-column{
    display:flex!important;
    flex-direction:column!important;
    gap:0!important;
    row-gap:0!important;
  }
  #tab-dashboard .snc-dashboard-right-column > .snc-panel,
  #tab-dashboard .snc-dashboard-right-column > .snc-followup-dashboard{
    margin:0!important;
  }
  #tab-dashboard .snc-dashboard-right-column > .snc-panel + .snc-panel,
  #tab-dashboard .snc-dashboard-right-column > .snc-panel + .snc-followup-dashboard,
  #tab-dashboard .snc-dashboard-right-column > .snc-followup-dashboard + .snc-panel{
    margin-top:18px!important;
  }
  #tab-dashboard .snc-birthday-reminders > h2{
    margin-bottom:14px!important;
    padding-bottom:2px!important;
  }
}
@media (max-width:1180px){
  #tab-dashboard .snc-dashboard-layout{
    display:flex!important;
    flex-direction:column!important;
    gap:12px!important;
  }
  #tab-dashboard .snc-dashboard-right-column{
    display:contents!important;
  }
  #tab-dashboard .snc-today{order:0!important;}
  #tab-dashboard .snc-dashboard-upcoming-panel{order:1!important;}
  #tab-dashboard .snc-followup-dashboard{order:2!important;}
  #tab-dashboard .snc-birthday-reminders{order:3!important;}
}


/* v1.2.4 — precise Settings icon, no topbar controls flash, correct mobile dashboard order */
.snc-app .snc-sidebar button[data-tab="developer"] .snc-nav-icon-settings svg,
.snc-front-app-mode .snc-sidebar button[data-tab="developer"] .snc-nav-icon-settings svg{
  width:19px!important;
  height:19px!important;
  display:block!important;
  fill:none!important;
  stroke:currentColor!important;
  stroke-width:1.75!important;
  stroke-linecap:round!important;
  stroke-linejoin:round!important;
}
/* Prevent the old language/theme/accent controls from flashing in the top bar before JS moves them to Settings. */
.snc-app .snc-top-actions > #sncLang,
.snc-app .snc-top-actions > #sncThemePicker,
.snc-app .snc-top-actions > #sncAccentPicker{
  display:none!important;
}
.snc-app .snc-settings-controls > #sncLang{
  display:inline-flex!important;
}
.snc-app .snc-settings-controls > #sncThemePicker,
.snc-app .snc-settings-controls > #sncAccentPicker{
  display:block!important;
}
@media (min-width:1181px){
  #tab-dashboard .snc-dashboard-right-column{
    display:flex!important;
    flex-direction:column!important;
    align-items:stretch!important;
    gap:18px!important;
    row-gap:18px!important;
  }
  #tab-dashboard .snc-dashboard-right-column > .snc-panel,
  #tab-dashboard .snc-dashboard-right-column > .snc-followup-dashboard{
    margin:0!important;
  }
  #tab-dashboard .snc-dashboard-right-column > .snc-panel + .snc-panel,
  #tab-dashboard .snc-dashboard-right-column > .snc-panel + .snc-followup-dashboard,
  #tab-dashboard .snc-dashboard-right-column > .snc-followup-dashboard + .snc-panel{
    margin-top:0!important;
  }
  #tab-dashboard .snc-birthday-reminders > h2{
    margin-bottom:16px!important;
    padding-bottom:4px!important;
  }
}
@media (max-width:1180px){
  #tab-dashboard{
    display:flex!important;
    flex-direction:column!important;
  }
  #tab-dashboard > .snc-grid-4{
    order:0!important;
  }
  #tab-dashboard > .snc-dashboard-layout{
    order:1!important;
    display:flex!important;
    flex-direction:column!important;
    gap:12px!important;
  }
  #tab-dashboard .snc-dashboard-layout > .snc-dashboard-upcoming-panel{
    order:1!important;
  }
  #tab-dashboard .snc-dashboard-layout > .snc-dashboard-right-column{
    display:contents!important;
  }
  #tab-dashboard .snc-dashboard-layout > .snc-dashboard-right-column > .snc-today{
    order:0!important;
  }
  #tab-dashboard .snc-dashboard-layout > .snc-dashboard-right-column > .snc-followup-dashboard{
    order:2!important;
  }
  #tab-dashboard .snc-dashboard-layout > .snc-dashboard-right-column > .snc-birthday-reminders{
    order:3!important;
  }
}


/* v1.2.5 — mobile tab switching regression fix after dashboard order CSS.
   Important: dashboard flex layout must only apply when the dashboard tab is active.
   Otherwise #tab-dashboard display:flex!important overrides .snc-tab{display:none} on mobile
   and blocks visual switching between sidebar tabs. */
@media (max-width:1180px){
  .snc-app #tab-dashboard.snc-tab:not(.active),
  .snc-front-app-mode #tab-dashboard.snc-tab:not(.active){
    display:none!important;
  }
  .snc-app #tab-dashboard.snc-tab.active,
  .snc-front-app-mode #tab-dashboard.snc-tab.active{
    display:flex!important;
    flex-direction:column!important;
  }
}

/* v1.2.9 clients pagination hard hide */
#tab-clients [data-client-card][data-snc-page-hidden="1"],
#tab-clients .snc-client-card[data-snc-page-hidden="1"],
#tab-clients .snc-client-page-hidden{
  display:none!important;
}
#tab-clients .snc-clients-pagination{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  margin-top:14px;
  flex-wrap:wrap;
}
#tab-clients .snc-clients-pagination[hidden]{display:none!important;}
#tab-clients .snc-clients-pagination [data-clients-page-info]{
  color:var(--snc-muted);
  font-size:13px;
  font-weight:800;
}


/* v1.2.10 — client modal polish: desktop history cards + mobile centering */
.snc-app #sncClientModal .snc-history-box{
  padding:18px!important;
  border-radius:22px!important;
}
.snc-app #sncClientModal .snc-history-box > span{
  display:flex!important;
  align-items:center!important;
  gap:8px!important;
  margin-bottom:12px!important;
  padding-bottom:10px!important;
  border-bottom:1px solid var(--snc-line)!important;
  font-size:13px!important;
  letter-spacing:.03em!important;
}
.snc-app #sncClientModal .snc-history-box > span:before{
  content:""!important;
  width:10px!important;
  height:10px!important;
  border-radius:999px!important;
  background:linear-gradient(135deg,var(--snc-accent),var(--snc-accent-2))!important;
  box-shadow:0 0 0 5px var(--snc-accent-soft)!important;
  flex:0 0 auto!important;
}
.snc-app #sncClientModal .snc-client-history-list{margin-top:0!important;}
.snc-app #sncClientModal .snc-history-timeline{gap:12px!important;}
.snc-app #sncClientModal .snc-history-card{
  grid-template-columns:118px minmax(0,1fr)!important;
  padding:13px!important;
  border-radius:22px!important;
  background:linear-gradient(135deg,var(--snc-panel-solid,#fff),var(--snc-accent-wash))!important;
  box-shadow:0 12px 28px rgba(0,0,0,.055)!important;
}
.snc-app #sncClientModal .snc-history-date{
  min-height:64px!important;
  border-radius:18px!important;
  font-size:12px!important;
}
.snc-app #sncClientModal .snc-history-title{font-size:14px!important;line-height:1.32!important;}
.snc-app #sncClientModal .snc-history-total{min-width:64px!important;padding:8px 11px!important;}
.snc-app #sncClientModal .snc-history-note{margin-top:2px!important;}
@media(max-width:820px){
  .snc-app #sncClientModal.snc-client-modal.open{
    display:block!important;
    position:fixed!important;
    inset:0!important;
    padding:0!important;
    overflow:hidden!important;
  }
  .snc-app #sncClientModal .snc-client-modal-backdrop{
    position:fixed!important;
    inset:0!important;
  }
  .snc-app #sncClientModal .snc-client-modal-card,
  .snc-app #sncClientModal .snc-client-modal-card.snc-modal-positioned,
  .snc-app #sncClientModal .snc-client-modal-card.snc-is-dragged{
    position:fixed!important;
    left:50%!important;
    top:50%!important;
    right:auto!important;
    bottom:auto!important;
    transform:translate(-50%,-50%)!important;
    margin:0!important;
    width:calc(100vw - 20px)!important;
    max-width:calc(100vw - 20px)!important;
    max-height:calc(100dvh - 20px)!important;
    border-radius:24px!important;
    overflow:hidden!important;
  }
  .snc-app #sncClientModal .snc-client-modal-body{
    max-height:calc(100dvh - 70px)!important;
    overflow:auto!important;
    -webkit-overflow-scrolling:touch!important;
  }
  .snc-app #sncClientModal .snc-history-box{padding:15px!important;}
  .snc-app #sncClientModal .snc-history-card{grid-template-columns:1fr!important;padding:12px!important;}
  .snc-app #sncClientModal .snc-history-date{justify-content:flex-start!important;min-height:auto!important;}
}


/* v1.2.11 — shared client modal history polish for admin + frontend.
   The client modal may be moved outside .snc-app on frontend, so this is intentionally scoped to #sncClientModal itself. */
#sncClientModal .snc-history-box,
body #sncClientModal .snc-history-box,
.snc-app #sncClientModal .snc-history-box{
  padding:18px!important;
  border-radius:22px!important;
  background:var(--snc-component-surface,var(--snc-panel-solid,#fff))!important;
  border:1px solid var(--snc-line)!important;
  box-shadow:0 12px 30px rgba(15,23,42,.045)!important;
}
#sncClientModal .snc-history-box > span,
body #sncClientModal .snc-history-box > span,
.snc-app #sncClientModal .snc-history-box > span{
  display:flex!important;
  align-items:center!important;
  gap:8px!important;
  margin:0 0 12px!important;
  padding:0 0 10px!important;
  border-bottom:1px solid var(--snc-line)!important;
  color:var(--snc-accent-ink,var(--snc-text))!important;
  font-size:13px!important;
  font-weight:950!important;
  letter-spacing:.03em!important;
  text-transform:uppercase!important;
}
#sncClientModal .snc-history-box > span:before,
body #sncClientModal .snc-history-box > span:before,
.snc-app #sncClientModal .snc-history-box > span:before{
  content:""!important;
  width:10px!important;
  height:10px!important;
  border-radius:999px!important;
  background:linear-gradient(135deg,var(--snc-accent),var(--snc-accent-2))!important;
  box-shadow:0 0 0 5px var(--snc-accent-soft)!important;
  flex:0 0 auto!important;
}
#sncClientModal .snc-client-history-list,
body #sncClientModal .snc-client-history-list,
.snc-app #sncClientModal .snc-client-history-list{
  margin-top:0!important;
}
#sncClientModal .snc-history-timeline,
body #sncClientModal .snc-history-timeline,
.snc-app #sncClientModal .snc-history-timeline{
  display:grid!important;
  gap:12px!important;
}
#sncClientModal .snc-history-card,
body #sncClientModal .snc-history-card,
.snc-app #sncClientModal .snc-history-card{
  display:grid!important;
  grid-template-columns:118px minmax(0,1fr)!important;
  gap:12px!important;
  align-items:stretch!important;
  padding:13px!important;
  border-radius:22px!important;
  border:1px solid var(--snc-line)!important;
  background:linear-gradient(135deg,var(--snc-panel-solid,#fff),var(--snc-accent-wash))!important;
  box-shadow:0 12px 28px rgba(15,23,42,.055)!important;
}
#sncClientModal .snc-history-date,
body #sncClientModal .snc-history-date,
.snc-app #sncClientModal .snc-history-date{
  min-height:64px!important;
  border-radius:18px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  text-align:center!important;
  padding:10px 8px!important;
  background:var(--snc-accent-soft)!important;
  color:var(--snc-accent-ink,var(--snc-accent))!important;
  font-size:12px!important;
  line-height:1.25!important;
  font-weight:950!important;
}
#sncClientModal .snc-history-content,
body #sncClientModal .snc-history-content,
.snc-app #sncClientModal .snc-history-content{
  min-width:0!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
  gap:7px!important;
}
#sncClientModal .snc-history-top,
body #sncClientModal .snc-history-top,
.snc-app #sncClientModal .snc-history-top{
  display:flex!important;
  align-items:flex-start!important;
  justify-content:space-between!important;
  gap:12px!important;
}
#sncClientModal .snc-history-title,
body #sncClientModal .snc-history-title,
.snc-app #sncClientModal .snc-history-title{
  min-width:0!important;
  color:var(--snc-text)!important;
  font-size:14px!important;
  line-height:1.32!important;
  font-weight:950!important;
  overflow-wrap:anywhere!important;
}
#sncClientModal .snc-history-total,
body #sncClientModal .snc-history-total,
.snc-app #sncClientModal .snc-history-total{
  flex:0 0 auto!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-width:64px!important;
  padding:8px 11px!important;
  border-radius:999px!important;
  background:var(--snc-accent-ink,var(--snc-text))!important;
  color:#fff!important;
  font-size:13px!important;
  line-height:1!important;
  font-weight:950!important;
  box-shadow:0 8px 18px rgba(15,23,42,.13)!important;
}
#sncClientModal .snc-history-meta,
body #sncClientModal .snc-history-meta,
.snc-app #sncClientModal .snc-history-meta{
  display:flex!important;
  align-items:center!important;
  gap:8px!important;
  flex-wrap:wrap!important;
}
#sncClientModal .snc-history-status,
body #sncClientModal .snc-history-status,
.snc-app #sncClientModal .snc-history-status{
  display:inline-flex!important;
  align-items:center!important;
  min-height:24px!important;
  padding:5px 9px!important;
  border-radius:999px!important;
  background:rgba(120,113,108,.12)!important;
  color:rgba(68,64,60,.88)!important;
  font-size:11px!important;
  line-height:1!important;
  font-weight:950!important;
}
#sncClientModal .snc-history-status.planned,
body #sncClientModal .snc-history-status.planned{background:rgba(245,158,11,.15)!important;color:#b45309!important;}
#sncClientModal .snc-history-status.completed,
#sncClientModal .snc-history-status.done,
body #sncClientModal .snc-history-status.completed,
body #sncClientModal .snc-history-status.done{background:rgba(34,197,94,.13)!important;color:#15803d!important;}
#sncClientModal .snc-history-status.cancelled,
#sncClientModal .snc-history-status.cancel,
body #sncClientModal .snc-history-status.cancelled,
body #sncClientModal .snc-history-status.cancel{background:rgba(239,68,68,.12)!important;color:#b91c1c!important;}
#sncClientModal .snc-history-status.no_show,
body #sncClientModal .snc-history-status.no_show{background:rgba(99,102,241,.12)!important;color:#4f46e5!important;}
#sncClientModal .snc-history-note,
body #sncClientModal .snc-history-note,
.snc-app #sncClientModal .snc-history-note{
  margin-top:2px!important;
  border-radius:14px!important;
  padding:9px 10px!important;
  background:rgba(255,255,255,.62)!important;
  color:var(--snc-muted)!important;
  font-size:12px!important;
  line-height:1.45!important;
  font-weight:700!important;
  overflow-wrap:anywhere!important;
}
@media(max-width:820px){
  #sncClientModal .snc-history-box,
  body #sncClientModal .snc-history-box,
  .snc-app #sncClientModal .snc-history-box{padding:15px!important;}
  #sncClientModal .snc-history-card,
  body #sncClientModal .snc-history-card,
  .snc-app #sncClientModal .snc-history-card{grid-template-columns:1fr!important;padding:12px!important;}
  #sncClientModal .snc-history-date,
  body #sncClientModal .snc-history-date,
  .snc-app #sncClientModal .snc-history-date{justify-content:flex-start!important;text-align:left!important;min-height:auto!important;}
}


/* v1.2.13 — restore proven v1.2.5 mobile client modal centering.
   Do not move the modal to body and do not use relative card positioning: legacy drag/top-left
   coordinates are neutralized by fixed 50%/50% + translate. */
@media (max-width: 820px){
  body #sncClientModal.snc-client-modal.open,
  body #sncClientModal.snc-client-modal.is-open,
  .snc-app #sncClientModal.snc-client-modal.open,
  .snc-app #sncClientModal.snc-client-modal.is-open,
  body .snc-client-modal.open,
  body .snc-client-modal.is-open,
  .snc-app .snc-client-modal.open,
  .snc-app .snc-client-modal.is-open{
    position:fixed!important;
    inset:0!important;
    width:100vw!important;
    height:100dvh!important;
    display:block!important;
    overflow:hidden!important;
    padding:0!important;
    margin:0!important;
    z-index:2147483000!important;
  }
  body #sncClientModal.snc-client-modal.open .snc-client-modal-card,
  body #sncClientModal.snc-client-modal.is-open .snc-client-modal-card,
  .snc-app #sncClientModal.snc-client-modal.open .snc-client-modal-card,
  .snc-app #sncClientModal.snc-client-modal.is-open .snc-client-modal-card,
  body .snc-client-modal.open .snc-client-modal-card,
  body .snc-client-modal.is-open .snc-client-modal-card,
  .snc-app .snc-client-modal.open .snc-client-modal-card,
  .snc-app .snc-client-modal.is-open .snc-client-modal-card{
    position:fixed!important;
    left:50%!important;
    top:50%!important;
    right:auto!important;
    bottom:auto!important;
    transform:translate(-50%,-50%)!important;
    margin:0!important;
    width:calc(100vw - 24px)!important;
    max-width:calc(100vw - 24px)!important;
    max-height:calc(100dvh - 24px)!important;
    min-width:0!important;
    box-sizing:border-box!important;
    overflow:hidden!important;
  }
  body #sncClientModal.snc-client-modal.open .snc-client-modal-body,
  body #sncClientModal.snc-client-modal.is-open .snc-client-modal-body,
  .snc-app #sncClientModal.snc-client-modal.open .snc-client-modal-body,
  .snc-app #sncClientModal.snc-client-modal.is-open .snc-client-modal-body,
  body .snc-client-modal.open .snc-client-modal-body,
  .snc-app .snc-client-modal.open .snc-client-modal-body{
    max-height:calc(100dvh - 86px)!important;
    overflow:auto!important;
    -webkit-overflow-scrolling:touch!important;
  }
}


/* v1.2.14 — mobile client modal must be viewport-centered even if moved to body.
   This is intentionally scoped to mobile and to #sncClientModal only. */
@media (max-width: 820px){
  html body > #sncClientModal.snc-client-modal.open,
  html body > #sncClientModal.snc-client-modal.is-open,
  html body #sncClientModal.snc-client-modal.open,
  html body #sncClientModal.snc-client-modal.is-open{
    position:fixed!important;
    inset:0!important;
    left:0!important;
    top:0!important;
    right:0!important;
    bottom:0!important;
    width:100vw!important;
    height:100dvh!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    padding:12px!important;
    margin:0!important;
    overflow:hidden!important;
    box-sizing:border-box!important;
    z-index:2147483000!important;
    transform:none!important;
  }
  html body > #sncClientModal.snc-client-modal.open .snc-client-modal-card,
  html body > #sncClientModal.snc-client-modal.is-open .snc-client-modal-card,
  html body #sncClientModal.snc-client-modal.open .snc-client-modal-card,
  html body #sncClientModal.snc-client-modal.is-open .snc-client-modal-card{
    position:relative!important;
    left:auto!important;
    top:auto!important;
    right:auto!important;
    bottom:auto!important;
    transform:none!important;
    margin:auto!important;
    width:calc(100vw - 24px)!important;
    max-width:560px!important;
    min-width:0!important;
    max-height:calc(100dvh - 24px)!important;
    overflow:hidden!important;
    box-sizing:border-box!important;
  }
  html body #sncClientModal.snc-client-modal.open .snc-client-modal-body,
  html body #sncClientModal.snc-client-modal.is-open .snc-client-modal-body{
    max-height:calc(100dvh - 88px)!important;
    overflow:auto!important;
    -webkit-overflow-scrolling:touch!important;
  }
}

/* v1.2.15 — compact client modal reminder button.
   Keep the client modal actions neat: the WhatsApp reminder link should not stretch wider than needed. */
#sncClientModal .snc-modal-actions{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:10px!important;
  flex-wrap:wrap!important;
}
#sncClientModal #sncClientModalReminder.snc-whatsapp-reminder-btn{
  width:auto!important;
  min-width:0!important;
  max-width:max-content!important;
  flex:0 0 auto!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:9px 14px!important;
  min-height:38px!important;
  border-radius:14px!important;
  font-size:13px!important;
  line-height:1.1!important;
  white-space:nowrap!important;
}
@media(max-width:640px){
  #sncClientModal .snc-modal-actions{
    gap:8px!important;
  }
  #sncClientModal #sncClientModalReminder.snc-whatsapp-reminder-btn{
    width:auto!important;
    max-width:100%!important;
    padding:9px 12px!important;
  }
}


/* v1.2.16 — client modal actions + history compact tune */
#sncClientModal .snc-modal-actions{
  align-items:center!important;
  gap:10px!important;
}
#sncClientModal .snc-modal-actions .snc-btn{
  flex:0 0 auto!important;
  min-width:138px!important;
  width:138px!important;
  justify-content:center!important;
  text-align:center!important;
}
#sncClientModal .snc-modal-actions #sncClientModalReminder.snc-whatsapp-reminder-btn{
  min-width:138px!important;
  width:138px!important;
  padding-left:14px!important;
  padding-right:14px!important;
}
#sncClientModal .snc-history-box #sncClientModalHistory,
#sncClientModal .snc-history-box .snc-client-history-list,
#sncClientModal .snc-history-box .snc-history-timeline{
  max-width:96%!important;
  margin-left:auto!important;
  margin-right:auto!important;
}
#sncClientModal .snc-history-box .snc-history-card{
  max-width:100%!important;
}
@media(max-width:680px){
  #sncClientModal .snc-modal-actions .snc-btn,
  #sncClientModal .snc-modal-actions #sncClientModalReminder.snc-whatsapp-reminder-btn{
    min-width:132px!important;
    width:132px!important;
  }
  #sncClientModal .snc-history-box #sncClientModalHistory,
  #sncClientModal .snc-history-box .snc-client-history-list,
  #sncClientModal .snc-history-box .snc-history-timeline{
    max-width:97%!important;
  }
}


/* v1.2.17 — client modal actions exact sizing + centered history cards */
#sncClientModal .snc-modal-actions{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:10px!important;
  flex-wrap:wrap!important;
}
#sncClientModal .snc-modal-actions .snc-btn,
#sncClientModal .snc-modal-actions #sncClientModalReminder.snc-whatsapp-reminder-btn{
  box-sizing:border-box!important;
  width:138px!important;
  min-width:138px!important;
  max-width:138px!important;
  height:38px!important;
  min-height:38px!important;
  max-height:38px!important;
  padding:0 14px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  text-align:center!important;
  font-size:13px!important;
  font-weight:700!important;
  line-height:1!important;
  white-space:nowrap!important;
  flex:0 0 138px!important;
}
#sncClientModal .snc-history-box #sncClientModalHistory,
#sncClientModal .snc-history-box .snc-client-history-list,
#sncClientModal .snc-history-box .snc-history-timeline{
  width:100%!important;
  max-width:94%!important;
  margin-left:auto!important;
  margin-right:auto!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
}
#sncClientModal .snc-history-box .snc-history-card{
  width:100%!important;
  max-width:100%!important;
  margin-left:auto!important;
  margin-right:auto!important;
}
@media(max-width:680px){
  #sncClientModal .snc-modal-actions .snc-btn,
  #sncClientModal .snc-modal-actions #sncClientModalReminder.snc-whatsapp-reminder-btn{
    width:132px!important;
    min-width:132px!important;
    max-width:132px!important;
    height:38px!important;
    min-height:38px!important;
    max-height:38px!important;
    flex-basis:132px!important;
    padding:0 12px!important;
  }
  #sncClientModal .snc-history-box #sncClientModalHistory,
  #sncClientModal .snc-history-box .snc-client-history-list,
  #sncClientModal .snc-history-box .snc-history-timeline{
    max-width:96%!important;
  }
}


/* v1.2.18 — final centering for client modal actions and appointment-history cards.
   Scope: #sncClientModal only. Keeps v1.2.17 button sizes, changes alignment only. */
#sncClientModal .snc-modal-actions{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:10px!important;
  flex-wrap:wrap!important;
  width:100%!important;
  margin-left:auto!important;
  margin-right:auto!important;
  text-align:center!important;
}
#sncClientModal .snc-history-box{
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:flex-start!important;
  width:100%!important;
  box-sizing:border-box!important;
}
#sncClientModal .snc-history-box > span{
  width:min(520px,100%)!important;
  margin-left:auto!important;
  margin-right:auto!important;
  box-sizing:border-box!important;
}
#sncClientModal .snc-history-box #sncClientModalHistory,
#sncClientModal .snc-history-box .snc-client-history-list,
#sncClientModal .snc-history-box .snc-history-timeline{
  width:min(520px,100%)!important;
  max-width:min(520px,100%)!important;
  margin-left:auto!important;
  margin-right:auto!important;
  align-self:center!important;
  box-sizing:border-box!important;
}
#sncClientModal .snc-history-box .snc-history-card{
  width:100%!important;
  max-width:100%!important;
  margin-left:auto!important;
  margin-right:auto!important;
  align-self:center!important;
  box-sizing:border-box!important;
}
@media(max-width:680px){
  #sncClientModal .snc-modal-actions{justify-content:center!important;}
  #sncClientModal .snc-history-box > span,
  #sncClientModal .snc-history-box #sncClientModalHistory,
  #sncClientModal .snc-history-box .snc-client-history-list,
  #sncClientModal .snc-history-box .snc-history-timeline{
    width:100%!important;
    max-width:100%!important;
  }
}


/* v1.2.19 — mobile client edit: birthday input width matches favorite-color field.
   Scope: client modal edit form only. Keeps desktop unchanged. */
@media (max-width: 820px){
  #sncClientModal .snc-modal-client-form .snc-field:has(input[name="birthday"]),
  #sncClientModal .snc-modal-client-form .snc-field:has(input[name="favorite_color"]){
    width:100%!important;
    max-width:100%!important;
    box-sizing:border-box!important;
  }
  #sncClientModal .snc-modal-client-form input[name="birthday"],
  #sncClientModal .snc-modal-client-form input[name="favorite_color"]{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    box-sizing:border-box!important;
    display:block!important;
  }
}


/* v1.2.20 — Client edit modal mobile: force Birthday date input to use the same box sizing as the normal small fields/selects (e.g. birthday discount). */
@media (max-width: 820px){
  body #sncClientModal .snc-modal-client-form.snc-form .snc-field.snc-client-small-field:has(input[name="birthday"]),
  body #sncClientModal .snc-modal-client-form.snc-form .snc-field.snc-client-small-field:has(input[name="birthday_reward_value"]),
  body #sncClientModal .snc-modal-client-form.snc-form .snc-field.snc-client-small-field:has(select[name="birthday_reward_type"]){
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    flex:0 1 auto!important;
    box-sizing:border-box!important;
    overflow:visible!important;
  }

  body #sncClientModal .snc-modal-client-form.snc-form input[name="birthday"],
  body #sncClientModal .snc-modal-client-form.snc-form input[type="date"][name="birthday"]{
    width:100%!important;
    inline-size:100%!important;
    max-width:100%!important;
    min-width:0!important;
    min-inline-size:0!important;
    height:44px!important;
    min-height:44px!important;
    line-height:44px!important;
    padding:0 13px!important;
    margin:0!important;
    display:block!important;
    box-sizing:border-box!important;
    flex:0 1 auto!important;
    align-self:stretch!important;
    border-radius:15px!important;
    overflow:hidden!important;
  }

  body #sncClientModal .snc-modal-client-form.snc-form input[name="birthday"]::-webkit-date-and-time-value{
    min-width:0!important;
    width:100%!important;
    max-width:100%!important;
    text-align:left!important;
  }
}


/* v1.2.21 — Client card modal: center title and make Birthday date input match small fields reliably. */
#sncClientModal .snc-client-modal-titlebar{
  justify-content:center!important;
  text-align:center!important;
  padding-left:54px!important;
  padding-right:54px!important;
}
#sncClientModal .snc-client-modal-titlebar > strong{
  display:block!important;
  width:100%!important;
  text-align:center!important;
  margin:0 auto!important;
}
@media (max-width:820px){
  body #sncClientModal .snc-modal-client-form.snc-form .snc-client-birthday-field{
    display:grid!important;
    grid-template-columns:1fr!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    box-sizing:border-box!important;
    justify-self:stretch!important;
    align-self:start!important;
  }
  body #sncClientModal .snc-modal-client-form.snc-form .snc-client-birthday-field input[name="birthday"],
  body #sncClientModal .snc-modal-client-form.snc-form .snc-client-birthday-field input[type="date"]{
    display:block!important;
    width:100%!important;
    inline-size:100%!important;
    max-width:100%!important;
    min-width:0!important;
    min-inline-size:0!important;
    height:44px!important;
    min-height:44px!important;
    max-height:44px!important;
    line-height:20px!important;
    padding:0 13px!important;
    margin:0!important;
    box-sizing:border-box!important;
    border:1px solid var(--snc-line)!important;
    border-radius:15px!important;
    background:var(--snc-accent-wash)!important;
    overflow:hidden!important;
    -webkit-appearance:none!important;
    appearance:none!important;
  }
  body #sncClientModal .snc-modal-client-form.snc-form .snc-client-birthday-field input[name="birthday"]::-webkit-date-and-time-value{
    min-width:0!important;
    max-width:100%!important;
    text-align:left!important;
  }
  body #sncClientModal .snc-modal-client-form.snc-form .snc-client-birthday-field input[name="birthday"]::-webkit-calendar-picker-indicator{
    margin-left:auto!important;
    flex:0 0 auto!important;
  }
}


/* v1.2.22 — follow-up reminder blocks: unified readable layout + clickable client name */
.snc-app .snc-followup-panel{
  overflow:visible!important;
}
.snc-app .snc-followup-dashboard,
.snc-app .snc-followup-calendar{
  box-sizing:border-box!important;
}
.snc-app .snc-followup-list{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:10px!important;
  align-items:stretch!important;
}
.snc-app .snc-followup-card{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto auto!important;
  align-items:center!important;
  gap:10px!important;
  padding:12px!important;
  border-radius:18px!important;
  border:1px solid var(--snc-line)!important;
  background:rgba(255,255,255,.72)!important;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  box-sizing:border-box!important;
  overflow:hidden!important;
  cursor:pointer!important;
}
.snc-app .snc-followup-card.red{background:linear-gradient(180deg,#fff7f7,#fff)!important;}
.snc-app .snc-followup-card.yellow{background:linear-gradient(180deg,#fffaf0,#fff)!important;}
.snc-app .snc-followup-card.green{background:linear-gradient(180deg,#f5fff8,#fff)!important;}
.snc-app .snc-followup-main{
  min-width:0!important;
  width:100%!important;
  max-width:100%!important;
  cursor:pointer!important;
  border-radius:14px!important;
}
.snc-app .snc-followup-main:hover strong{
  text-decoration:underline!important;
  text-underline-offset:3px!important;
}
.snc-app .snc-followup-main strong,
.snc-app .snc-followup-main small{
  display:block!important;
  min-width:0!important;
  max-width:100%!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
.snc-app .snc-followup-main small{
  white-space:normal!important;
  line-height:1.35!important;
}
.snc-app .snc-followup-badge,
.snc-app .snc-followup-wa{
  flex:0 0 auto!important;
  white-space:nowrap!important;
}
#tab-calendar .snc-followup-calendar .snc-followup-card{
  grid-template-columns:minmax(0,1fr) auto auto!important;
}
@media(max-width:820px){
  .snc-app .snc-followup-card,
  #tab-calendar .snc-followup-calendar .snc-followup-card{
    grid-template-columns:minmax(0,1fr) auto!important;
    grid-template-areas:"main badge" "wa wa"!important;
  }
  .snc-app .snc-followup-main{grid-area:main!important;}
  .snc-app .snc-followup-badge{grid-area:badge!important;}
  .snc-app .snc-followup-wa{grid-area:wa!important;width:100%!important;}
}

/* v1.2.22 — notification toasts: keep above app panels, not inside cramped blocks */
.snc-app .snc-test-reminder-toast.snc-nc-toast,
.snc-test-reminder-toast.snc-nc-toast{
  z-index:2147483450!important;
}


/* v1.2.23 — follow-up client cards: reliable click target + readable non-cropped content */
.snc-app .snc-followup-card{
  grid-template-columns:minmax(0,1fr) auto!important;
  grid-template-areas:"main badge" "wa wa"!important;
  align-items:start!important;
  overflow:visible!important;
}
.snc-app .snc-followup-main{
  grid-area:main!important;
  pointer-events:auto!important;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  text-align:left!important;
  line-height:1.25!important;
}
.snc-app .snc-followup-main strong,
.snc-app .snc-followup-main small{
  white-space:normal!important;
  overflow:visible!important;
  text-overflow:clip!important;
  word-break:break-word!important;
}
.snc-app .snc-followup-badge{
  grid-area:badge!important;
  justify-self:end!important;
  align-self:start!important;
}
.snc-app .snc-followup-wa{
  grid-area:wa!important;
  width:100%!important;
  max-width:100%!important;
  justify-content:center!important;
  box-sizing:border-box!important;
}
#tab-calendar .snc-followup-calendar .snc-followup-card,
#tab-dashboard .snc-followup-dashboard .snc-followup-card{
  grid-template-columns:minmax(0,1fr) auto!important;
  grid-template-areas:"main badge" "wa wa"!important;
}

/* v1.2.25 follow-up client opener */
.snc-followup-card[data-client-card]{cursor:pointer}
.snc-followup-main[role="button"]{cursor:pointer}
.snc-followup-wa{cursor:pointer}


/* v1.2.26 — Desktop only: widen client modal appointment history content.
   Mobile history layout stays exactly as in v1.2.25. */
@media (min-width: 821px){
  #sncClientModal .snc-history-box > span,
  #sncClientModal .snc-history-box #sncClientModalHistory,
  #sncClientModal .snc-history-box .snc-client-history-list,
  #sncClientModal .snc-history-box .snc-history-timeline{
    width:100%!important;
    max-width:100%!important;
    margin-left:0!important;
    margin-right:0!important;
    align-self:stretch!important;
  }
  #sncClientModal .snc-history-box .snc-history-card{
    width:100%!important;
    max-width:100%!important;
  }
}

/* v1.2.27 — sidebar badges + client birthday highlights */
.snc-sidebar button{position:relative!important;}
.snc-nav-badge{
  margin-left:auto!important;
  min-width:22px!important;
  height:22px!important;
  padding:0 7px!important;
  border-radius:999px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  font-size:11px!important;
  font-weight:950!important;
  line-height:1!important;
  color:var(--snc-accent-contrast,#fff)!important;
  background:linear-gradient(135deg,var(--snc-accent),var(--snc-accent-2))!important;
  box-shadow:0 8px 18px color-mix(in srgb,var(--snc-accent) 24%,rgba(15,23,42,.14))!important;
  border:1px solid color-mix(in srgb,var(--snc-accent) 26%,#fff)!important;
  flex:0 0 auto!important;
}
.snc-nav-badge-birthday{background:linear-gradient(135deg,#c76b9a,#9b7bb5)!important;}
.snc-nav-badge-notifications{background:linear-gradient(135deg,#b46a64,#c76b9a)!important;}
.snc-clients-birthday-notice{
  margin:0 0 14px!important;
  padding:13px 15px!important;
  border-radius:20px!important;
  display:flex!important;
  align-items:center!important;
  gap:12px!important;
  background:linear-gradient(135deg,color-mix(in srgb,#c76b9a 12%,var(--snc-panel-solid,#fff)),color-mix(in srgb,var(--snc-accent) 7%,var(--snc-panel-solid,#fff)))!important;
  border:1px solid color-mix(in srgb,#c76b9a 22%,var(--snc-line))!important;
  box-shadow:0 12px 28px rgba(15,23,42,.055)!important;
}
.snc-clients-birthday-dot{width:34px!important;height:34px!important;border-radius:14px!important;display:grid!important;place-items:center!important;background:rgba(255,255,255,.7)!important;border:1px solid rgba(255,255,255,.8)!important;flex:0 0 34px!important;}
.snc-clients-birthday-notice strong{display:block!important;font-size:14px!important;font-weight:950!important;color:var(--snc-text)!important;line-height:1.2!important;}
.snc-clients-birthday-notice small{display:block!important;margin-top:3px!important;font-size:12px!important;font-weight:800!important;color:var(--snc-muted)!important;line-height:1.25!important;}
.snc-client-card.snc-client-birthday-soon{
  border-color:color-mix(in srgb,#c76b9a 42%,var(--snc-line))!important;
  box-shadow:0 16px 34px color-mix(in srgb,#c76b9a 12%,rgba(15,23,42,.06))!important;
  position:relative!important;
}
.snc-client-card.snc-client-birthday-soon::after{
  content:'🎂 ' attr(data-birthday-days) ' дн.'!important;
  position:absolute!important;
  right:14px!important;
  top:12px!important;
  height:24px!important;
  padding:0 9px!important;
  border-radius:999px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  font-size:11px!important;
  font-weight:950!important;
  color:#8b3f68!important;
  background:rgba(199,107,154,.12)!important;
  border:1px solid rgba(199,107,154,.22)!important;
}
.snc-client-card.snc-client-birthday-soon[data-birthday-days="0"]::after{content:'🎂 сегодня'!important;}
@media(max-width:820px){
  .snc-nav-badge{position:absolute!important;right:6px!important;top:5px!important;min-width:18px!important;height:18px!important;font-size:10px!important;padding:0 5px!important;}
  .snc-client-card.snc-client-birthday-soon::after{position:static!important;margin-top:8px!important;width:max-content!important;grid-column:1/-1!important;}
}


/* v1.2.28 — unread-only notification badge + accent badges + birthday chip under avatar */
.snc-nav-badge,
.snc-nav-badge-birthday,
.snc-nav-badge-notifications,
.snc-nav-badge-appointments{
  color:var(--snc-accent-contrast,#fff)!important;
  background:linear-gradient(135deg,var(--snc-accent),var(--snc-accent-2))!important;
  border-color:color-mix(in srgb,var(--snc-accent) 28%,#fff)!important;
  box-shadow:0 8px 18px color-mix(in srgb,var(--snc-accent) 24%,rgba(15,23,42,.14))!important;
}
#tab-clients .snc-client-card.snc-client-birthday-soon{
  border-color:color-mix(in srgb,var(--snc-accent) 42%,var(--snc-line))!important;
  box-shadow:0 16px 34px color-mix(in srgb,var(--snc-accent) 12%,rgba(15,23,42,.06))!important;
  position:relative!important;
}
#tab-clients .snc-client-card.snc-client-birthday-soon::after{
  content:'🎂 ' attr(data-birthday-days) ' дн.'!important;
  position:absolute!important;
  left:16px!important;
  top:76px!important;
  right:auto!important;
  width:52px!important;
  max-width:52px!important;
  height:auto!important;
  min-height:22px!important;
  padding:4px 5px!important;
  border-radius:12px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  text-align:center!important;
  line-height:1.05!important;
  font-size:10px!important;
  font-weight:950!important;
  color:var(--snc-accent-ink)!important;
  background:color-mix(in srgb,var(--snc-accent) 12%,var(--snc-panel-solid,#fff))!important;
  border:1px solid color-mix(in srgb,var(--snc-accent) 24%,var(--snc-line))!important;
  box-sizing:border-box!important;
  z-index:1!important;
  pointer-events:none!important;
}
#tab-clients .snc-client-card.snc-client-birthday-soon[data-birthday-days="0"]::after{content:'🎂 сегодня'!important;}
@media(max-width:820px){
  #tab-clients .snc-client-card.snc-client-birthday-soon::after{
    position:static!important;
    grid-column:1/2!important;
    width:46px!important;
    max-width:46px!important;
    margin:6px 0 0!important;
    padding:4px 4px!important;
  }
}


/* v1.2.29 — mobile sidebar badges centered vertically + accent color consistency */
.snc-nav-badge,
.snc-nav-badge-birthday,
.snc-nav-badge-notifications,
.snc-nav-badge-appointments{
  background:linear-gradient(135deg,var(--snc-accent),var(--snc-accent-2))!important;
  color:var(--snc-accent-contrast,#fff)!important;
}
@media(max-width:820px){
  .snc-sidebar button{position:relative!important;padding-right:42px!important;}
  .snc-sidebar button .snc-nav-badge,
  .snc-sidebar .snc-nav-badge{
    position:absolute!important;
    right:12px!important;
    top:50%!important;
    transform:translateY(-50%)!important;
    margin:0!important;
    min-width:20px!important;
    height:20px!important;
    padding:0 6px!important;
    border-radius:999px!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    line-height:1!important;
    font-size:10px!important;
  }
  .snc-sidebar button .snc-nav-badge[hidden],
  .snc-sidebar .snc-nav-badge[hidden]{display:none!important;}
}


/* v1.2.32 — Birthday dashboard block visual polish only. Keeps block position unchanged. */
.snc-birthday-reminders .snc-birthday-list-v1232{
  display:grid!important;
  gap:10px!important;
  margin-top:8px!important;
}
.snc-birthday-reminders .snc-birthday-card-v1232{
  display:grid!important;
  grid-template-columns:38px minmax(0,1fr) auto!important;
  align-items:center!important;
  gap:10px!important;
  width:100%!important;
  max-width:100%!important;
  padding:11px 12px!important;
  border-radius:18px!important;
  border:1px solid color-mix(in srgb, var(--snc-accent, #7c3aed) 22%, var(--snc-line, rgba(15,23,42,.12)))!important;
  background:linear-gradient(135deg, rgba(255,255,255,.86), color-mix(in srgb, var(--snc-accent, #7c3aed) 8%, rgba(255,255,255,.72)))!important;
  box-shadow:0 10px 26px rgba(15,23,42,.055)!important;
  overflow:hidden!important;
}
.snc-birthday-reminders .snc-birthday-icon-v1232{
  width:38px!important;
  height:38px!important;
  display:grid!important;
  place-items:center!important;
  border-radius:14px!important;
  background:color-mix(in srgb, var(--snc-accent, #7c3aed) 14%, #fff)!important;
  color:var(--snc-accent-ink, #4c1d95)!important;
  font-size:17px!important;
  box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--snc-accent, #7c3aed) 18%, transparent)!important;
}
.snc-birthday-reminders .snc-birthday-content-v1232{
  min-width:0!important;
  display:grid!important;
  gap:3px!important;
}
.snc-birthday-reminders .snc-birthday-card-v1232 strong{
  display:block!important;
  margin:0!important;
  color:var(--snc-ink, #0f172a)!important;
  font-size:14px!important;
  font-weight:950!important;
  line-height:1.18!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
.snc-birthday-reminders .snc-birthday-card-v1232 span{
  display:block!important;
  margin:0!important;
  color:var(--snc-muted, #64748b)!important;
  font-size:12px!important;
  font-weight:800!important;
  line-height:1.2!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
.snc-birthday-reminders .snc-birthday-card-v1232 em{
  justify-self:end!important;
  max-width:112px!important;
  padding:6px 8px!important;
  border-radius:999px!important;
  background:var(--snc-accent, #7c3aed)!important;
  color:#fff!important;
  font-style:normal!important;
  font-size:11px!important;
  font-weight:950!important;
  line-height:1!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
@media (max-width: 720px){
  .snc-birthday-reminders .snc-birthday-card-v1232{
    grid-template-columns:34px minmax(0,1fr)!important;
    gap:9px!important;
    padding:10px!important;
  }
  .snc-birthday-reminders .snc-birthday-icon-v1232{
    width:34px!important;
    height:34px!important;
    border-radius:13px!important;
  }
  .snc-birthday-reminders .snc-birthday-card-v1232 em{
    grid-column:2!important;
    justify-self:start!important;
    max-width:100%!important;
    margin-top:2px!important;
  }
}


/* v1.2.33 — birthday cards: use one cake icon, open client modal, and center sidebar hover/icon backing */
.snc-birthday-reminders .snc-birthday-card-v1232{
  cursor:pointer!important;
  transition:transform .14s ease, box-shadow .14s ease, border-color .14s ease!important;
}
.snc-birthday-reminders .snc-birthday-card-v1232:hover{
  transform:translateY(-1px)!important;
  box-shadow:0 14px 30px rgba(15,23,42,.075)!important;
  border-color:color-mix(in srgb,var(--snc-accent) 34%,var(--snc-line))!important;
}
.snc-birthday-reminders .snc-birthday-icon-v1232{
  font-family:inherit!important;
  line-height:1!important;
  text-align:center!important;
}
.snc-birthday-reminders .snc-birthday-cake-v1233{
  display:block!important;
  width:1em!important;
  height:1em!important;
  line-height:1!important;
  font-size:17px!important;
  transform:none!important;
}
.snc-sidebar button{
  align-items:center!important;
}
.snc-sidebar button .snc-nav-icon{
  display:inline-grid!important;
  place-items:center!important;
  align-self:center!important;
  justify-self:center!important;
  overflow:visible!important;
}
.snc-sidebar button .snc-nav-icon svg{
  display:block!important;
  width:18px!important;
  height:18px!important;
  margin:auto!important;
  transform:none!important;
}
.snc-sidebar button[data-tab="developer"] .snc-nav-icon svg,
.snc-sidebar button[data-tab="developer"] .snc-nav-icon-settings svg{
  width:18px!important;
  height:18px!important;
  transform:none!important;
}
.snc-sidebar button:hover .snc-nav-icon,
.snc-sidebar button.active .snc-nav-icon{
  background:color-mix(in srgb,var(--snc-accent) 14%,#fff)!important;
  box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--snc-accent) 18%,transparent)!important;
}
@media(max-width:820px){
  .snc-birthday-reminders .snc-birthday-cake-v1233{font-size:16px!important;}
}

/* v1.2.34 — center appointment info popup title without moving close button */
.snc-dashboard-appt-head-v151{
  display:grid!important;
  grid-template-columns:34px minmax(0,1fr) 34px!important;
  align-items:center!important;
  column-gap:8px!important;
}
.snc-dashboard-appt-head-v151 strong{
  grid-column:2!important;
  justify-self:center!important;
  text-align:center!important;
  width:100%!important;
}
.snc-dashboard-appt-head-v151 button{
  grid-column:3!important;
  justify-self:end!important;
}

/* v1.2.35 — desktop appointment popup compact actions + edit scroll target polish */
@media (min-width:821px){
  #sncDashboardApptModalV151 .snc-dashboard-appt-body-v151 .snc-modal-actions{
    display:flex!important;
    flex-wrap:wrap!important;
    align-items:center!important;
    justify-content:center!important;
    gap:8px!important;
    margin:14px 0 0!important;
    padding:12px 0 0!important;
    border-top:1px solid var(--snc-line)!important;
  }
  #sncDashboardApptModalV151 .snc-dashboard-appt-body-v151 .snc-modal-actions .snc-btn,
  #sncDashboardApptModalV151 .snc-dashboard-appt-body-v151 .snc-modal-actions button,
  #sncDashboardApptModalV151 .snc-dashboard-appt-body-v151 .snc-modal-actions a,
  #sncDashboardApptModalV151 .snc-dashboard-appt-body-v151 .snc-modal-actions label.snc-btn{
    width:auto!important;
    max-width:none!important;
    min-width:0!important;
    min-height:34px!important;
    height:34px!important;
    padding:0 12px!important;
    border-radius:12px!important;
    font-size:12.5px!important;
    line-height:1!important;
    white-space:nowrap!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
  }
  #sncDashboardApptModalV151 .snc-dashboard-appt-body-v151 .snc-appt-inline-edit-anchor-v187{
    scroll-margin-top:18px!important;
  }
  #sncDashboardApptModalV151 .snc-dashboard-appt-body-v151 .snc-appt-edit-panel-v187{
    scroll-margin-top:18px!important;
  }
}


/* v1.2.38: appointment popup edit button split — desktop shows only desktop trigger, mobile remains unchanged */
@media (min-width: 821px){
  #sncDashboardApptModalV151 .snc-modal-actions .snc-appt-edit-mobile-v23{display:none!important;}
  #sncDashboardApptModalV151 .snc-modal-actions .snc-appt-edit-desktop-v75{display:inline-flex!important;}
}
@media (max-width: 820px){
  #sncDashboardApptModalV151 .snc-modal-actions .snc-appt-edit-desktop-v75{display:none!important;}
  #sncDashboardApptModalV151 .snc-modal-actions .snc-appt-edit-mobile-v23{display:inline-flex!important;align-items:center!important;justify-content:center!important;}
}

/* v1.2.39 — desktop-only duplicate appointment edit button fix */
@media (min-width: 821px){
  #sncDashboardApptModalV151 .snc-modal-actions .snc-appt-edit-mobile-v23{
    display:none!important;
    visibility:hidden!important;
    width:0!important;
    min-width:0!important;
    max-width:0!important;
    height:0!important;
    min-height:0!important;
    padding:0!important;
    margin:0!important;
    border:0!important;
    overflow:hidden!important;
    pointer-events:none!important;
  }
  #sncDashboardApptModalV151 .snc-modal-actions .snc-appt-edit-desktop-v75{
    display:inline-flex!important;
  }
}
@media (max-width: 820px){
  #sncDashboardApptModalV151 .snc-modal-actions .snc-appt-edit-desktop-v75{
    display:none!important;
  }
  #sncDashboardApptModalV151 .snc-modal-actions .snc-appt-edit-mobile-v23{
    display:inline-flex!important;
  }
}


/* v1.2.40 — desktop appointment popup: remove duplicate edit button from layout, not just visually */
@media (min-width:821px){
  #sncDashboardApptModalV151 .snc-modal-actions > .snc-appt-edit-mobile-v23,
  #sncDashboardApptModalV151 .snc-modal-actions > [data-appt-edit-unified],
  #sncDashboardApptModalV151 .snc-modal-actions > .snc-appt-edit-desktop-v23{
    display:none!important;
    width:0!important;
    min-width:0!important;
    max-width:0!important;
    height:0!important;
    min-height:0!important;
    padding:0!important;
    margin:0!important;
    border:0!important;
    overflow:hidden!important;
    pointer-events:none!important;
  }
  #sncDashboardApptModalV151 .snc-modal-actions > .snc-appt-edit-desktop-v75{
    display:inline-flex!important;
  }
}


/* v1.2.41 — desktop appointment popup cleanup + single calendar service checkmark.
   Desktop only: remove the duplicate edit action from the actual flex layout.
   Calendar: show only one custom checkmark, no native/stacked check overlap. */
@media (min-width:821px){
  #sncDashboardApptModalV151 .snc-modal-actions > .snc-appt-edit-mobile-v23,
  #sncDashboardApptModalV151 .snc-modal-actions > [data-snc-desktop-edit-duplicate-removed="1"]{
    display:none!important;
    position:absolute!important;
    width:0!important;
    min-width:0!important;
    max-width:0!important;
    height:0!important;
    min-height:0!important;
    max-height:0!important;
    padding:0!important;
    margin:0!important;
    border:0!important;
    overflow:hidden!important;
    opacity:0!important;
    visibility:hidden!important;
    pointer-events:none!important;
  }
  #sncDashboardApptModalV151 .snc-modal-actions > .snc-appt-edit-desktop-v75{
    display:inline-flex!important;
    position:relative!important;
    opacity:1!important;
    visibility:visible!important;
    pointer-events:auto!important;
  }
}
@media (max-width:820px){
  #sncDashboardApptModalV151 .snc-modal-actions > .snc-appt-edit-desktop-v75{
    display:none!important;
  }
  #sncDashboardApptModalV151 .snc-modal-actions > .snc-appt-edit-mobile-v23{
    display:inline-flex!important;
  }
}
#tab-calendar .snc-services-native-list .snc-native-service input[type="checkbox"][data-native-service],
.snc-app #tab-calendar .snc-services-native-list .snc-native-service input[type="checkbox"][data-native-service]{
  display:none!important;
  position:absolute!important;
  left:-99999px!important;
  width:0!important;
  min-width:0!important;
  max-width:0!important;
  height:0!important;
  min-height:0!important;
  max-height:0!important;
  padding:0!important;
  margin:0!important;
  border:0!important;
  opacity:0!important;
  visibility:hidden!important;
  pointer-events:none!important;
  appearance:none!important;
  -webkit-appearance:none!important;
}
#tab-calendar .snc-services-native-list .snc-native-service .snc-native-check,
.snc-app #tab-calendar .snc-services-native-list .snc-native-service .snc-native-check{
  font-size:0!important;
  color:transparent!important;
  text-indent:0!important;
  overflow:hidden!important;
}
#tab-calendar .snc-services-native-list .snc-native-service .snc-native-check::after,
.snc-app #tab-calendar .snc-services-native-list .snc-native-service .snc-native-check::after{
  content:none!important;
  display:none!important;
}
#tab-calendar .snc-services-native-list .snc-native-service .snc-native-check::before,
.snc-app #tab-calendar .snc-services-native-list .snc-native-service .snc-native-check::before{
  content:""!important;
  display:block!important;
  width:10px!important;
  height:6px!important;
  border-left:2px solid transparent!important;
  border-bottom:2px solid transparent!important;
  transform:rotate(-45deg) translateY(-1px)!important;
  box-sizing:border-box!important;
}
#tab-calendar .snc-services-native-list .snc-native-service.is-selected .snc-native-check::before,
#tab-calendar .snc-services-native-list .snc-native-service input[type="checkbox"][data-native-service]:checked + .snc-native-check::before,
.snc-app #tab-calendar .snc-services-native-list .snc-native-service.is-selected .snc-native-check::before,
.snc-app #tab-calendar .snc-services-native-list .snc-native-service input[type="checkbox"][data-native-service]:checked + .snc-native-check::before{
  border-left-color:#fff!important;
  border-bottom-color:#fff!important;
}

/* v1.2.42 — desktop appointment edit services: single custom checkbox only.
   Fixes the desktop-only visual overlap where the native checkbox checkmark
   was drawn underneath/over a styled checkmark. Mobile layout is untouched. */
@media (min-width:821px){
  #sncDashboardApptModalV151 .snc-appt-edit-service-v187{
    position:relative!important;
    grid-template-columns:20px minmax(0,1fr) auto!important;
  }
  #sncDashboardApptModalV151 .snc-appt-edit-service-v187 input[type="checkbox"][name="selected_services[]"]{
    position:absolute!important;
    left:12px!important;
    top:50%!important;
    transform:translateY(-50%)!important;
    width:20px!important;
    min-width:20px!important;
    max-width:20px!important;
    height:20px!important;
    min-height:20px!important;
    max-height:20px!important;
    margin:0!important;
    padding:0!important;
    opacity:0!important;
    visibility:hidden!important;
    pointer-events:none!important;
    appearance:none!important;
    -webkit-appearance:none!important;
    border:0!important;
    background:transparent!important;
    box-shadow:none!important;
  }
  #sncDashboardApptModalV151 .snc-appt-edit-service-v187 input[type="checkbox"][name="selected_services[]"]::before,
  #sncDashboardApptModalV151 .snc-appt-edit-service-v187 input[type="checkbox"][name="selected_services[]"]::after{
    content:none!important;
    display:none!important;
  }
  #sncDashboardApptModalV151 .snc-appt-edit-service-v187::before{
    content:""!important;
    display:block!important;
    grid-column:1!important;
    grid-row:1!important;
    width:18px!important;
    height:18px!important;
    min-width:18px!important;
    border-radius:7px!important;
    border:1.5px solid var(--snc-line)!important;
    background:var(--snc-panel-solid,#fff)!important;
    box-shadow:inset 0 1px 2px rgba(0,0,0,.04)!important;
    box-sizing:border-box!important;
    align-self:center!important;
    justify-self:center!important;
  }
  #sncDashboardApptModalV151 .snc-appt-edit-service-v187::after{
    content:""!important;
    position:absolute!important;
    left:18px!important;
    top:50%!important;
    width:8px!important;
    height:4px!important;
    border-left:2px solid #fff!important;
    border-bottom:2px solid #fff!important;
    transform:translateY(-70%) rotate(-45deg)!important;
    opacity:0!important;
    pointer-events:none!important;
    box-sizing:border-box!important;
  }
  #sncDashboardApptModalV151 .snc-appt-edit-service-v187.is-selected::before,
  #sncDashboardApptModalV151 .snc-appt-edit-service-v187:has(input[type="checkbox"][name="selected_services[]"]:checked)::before{
    border-color:transparent!important;
    background:linear-gradient(135deg,var(--snc-accent),var(--snc-accent-2))!important;
  }
  #sncDashboardApptModalV151 .snc-appt-edit-service-v187.is-selected::after,
  #sncDashboardApptModalV151 .snc-appt-edit-service-v187:has(input[type="checkbox"][name="selected_services[]"]:checked)::after{
    opacity:1!important;
  }
}

/* v1.2.43 — desktop edit-popup service checkbox checkmark centering.
   Keep mobile untouched; only nudge the custom checkmark inside the desktop square. */
@media (min-width:821px){
  #sncDashboardApptModalV151 .snc-appt-edit-service-v187::after{
    left:16.5px!important;
    top:50%!important;
    width:8px!important;
    height:4px!important;
    transform:translateY(-72%) rotate(-45deg)!important;
  }
}


/* =============================================================================
   THEME + ACCENT SYSTEM
   Поверхности, интерактивные состояния, акцент.
   (перенесено из savrana-beauty-crm.php: snc_theme_final_pass_v108)
   ============================================================================= */

.snc-app {
  --snc-surface-1: var(--snc-panel-solid, #fff);
  --snc-surface-2: var(--snc-card, rgba(255,255,255,.74));
  --snc-surface-panel: var(--snc-panel, rgba(255,255,255,.88));
  --snc-surface-soft: var(--snc-surface-neutral-soft, var(--snc-card, rgba(255,255,255,.74)));
  --snc-ui-surface: linear-gradient(135deg, var(--snc-surface-1), var(--snc-surface-soft));
  --snc-ui-surface-plain: var(--snc-surface-panel);
  --snc-ui-subtle: color-mix(in srgb, var(--snc-surface-1) 84%, var(--snc-bg-b));
  --snc-ui-hover: color-mix(in srgb, var(--snc-accent) 7%, var(--snc-surface-1));
  --snc-ui-focus: var(--snc-focus-ring, color-mix(in srgb, var(--snc-accent) 24%, transparent));
  --snc-ui-accent-border: var(--snc-accent-border, color-mix(in srgb, var(--snc-accent) 38%, var(--snc-line)));
}

.snc-app .snc-panel, .snc-app .snc-card, .snc-app .snc-kpi, .snc-app .snc-table,
.snc-app .snc-table table, .snc-app .snc-side-card, .snc-app .snc-day-col,
.snc-app .snc-day-card, .snc-app .snc-calendar-card, .snc-app .snc-event-pill,
.snc-app .snc-client-card, .snc-app .snc-appointment-card, .snc-app .snc-agenda-item,
.snc-app .snc-agenda-item-v182, .snc-app .snc-dash-appt-v151,
.snc-app .snc-birthday-list > div, .snc-app .snc-finance-head,
.snc-app .snc-finance-period-card, .snc-app .snc-finance-income-block,
.snc-app .snc-finance-expense-block, .snc-app .snc-year-summary,
.snc-app .snc-expense-form-v133, .snc-app .snc-expense-form-v135,
.snc-app .snc-expense-card, .snc-app .snc-income-card, .snc-app .snc-finance-income-row,
.snc-app .snc-price-row, .snc-app .snc-price-toolbar-v169, .snc-app .snc-price-table-v169,
.snc-app .snc-export-card, .snc-app .snc-access-card, .snc-app .snc-nc-item,
.snc-app .snc-nc-card, .snc-app .snc-nc-settings, .snc-app .snc-notification-card,
.snc-app .snc-notif-card, .snc-app .snc-notif-item, .snc-app .snc-dev-box,
.snc-app .snc-upload-zone, .snc-app .snc-appt-edit-panel-v187,
.snc-app .snc-appt-edit-service-v187, .snc-app .snc-service-row,
.snc-app .snc-native-service, .snc-app .snc-ster-log-card,
.snc-app .snc-ster-step, .snc-app .snc-signature-preview {
  background: var(--snc-ui-surface);
  border-color: var(--snc-line);
  color: var(--snc-text);
}

.snc-app .snc-form label, .snc-app .snc-appointment-context, .snc-app .snc-month-toolbar,
.snc-app .snc-current-view, .snc-app .snc-expense-period-badge,
.snc-app .snc-dashboard-status-filter, .snc-app .snc-filter-bar, .snc-app .snc-nc-filters,
.snc-app .snc-price-toolbar, .snc-app .snc-appt-edit-manual-v187, .snc-app .snc-muted-box,
.snc-app .snc-manual-price-box, .snc-app .snc-signature, .snc-app .snc-theme-menu,
.snc-app .snc-calendar-tools button:not(.active), .snc-app .snc-chip:not(.active),
.snc-app .snc-theme-toggle {
  background: var(--snc-ui-subtle);
  border-color: var(--snc-line);
  color: var(--snc-text);
}

.snc-app input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]):not([type="button"]):not([type="file"]),
.snc-app select, .snc-app textarea, .snc-app .snc-search,
.snc-app .snc-dev input:not([type="checkbox"]):not([type="radio"]),
.snc-app .snc-form input:not([type="checkbox"]):not([type="radio"]),
.snc-app .snc-form select,
.snc-app .snc-form textarea {
  background: color-mix(in srgb, var(--snc-surface-1) 88%, var(--snc-bg-b));
  border-color: var(--snc-line);
  color: var(--snc-text);
}

.snc-app input:not([type="checkbox"]):not([type="radio"]):focus,
.snc-app select:focus, .snc-app textarea:focus, .snc-app .snc-search:focus {
  border-color: var(--snc-accent);
  box-shadow: 0 0 0 4px var(--snc-ui-focus);
}

.snc-app .snc-btn:not(.danger), .snc-app button.snc-btn:not(.danger),
.snc-app .snc-form button:not(.danger), .snc-app #sncRunUpdate,
.snc-app .snc-save-sign, .snc-app .snc-access-primary, .snc-app .snc-notif-primary,
.snc-app .snc-nc-push button, .snc-app .snc-chip.active,
.snc-app .snc-calendar-tools button.active, .snc-app .snc-theme-menu button.is-current,
.snc-app .snc-filter.is-active, .snc-app .snc-nc-filter.is-active,
.snc-app .snc-price-save-v169, .snc-app .snc-price-add-v169, .snc-app [aria-selected="true"] {
  background: linear-gradient(135deg, var(--snc-accent), var(--snc-accent-2));
  border-color: transparent;
  color: var(--snc-accent-contrast, #fff);
}

.snc-app input[type="checkbox"], .snc-app input[type="radio"] {
  accent-color: var(--snc-accent);
}

.snc-app .snc-client-card:hover, .snc-app .snc-appointment-card:hover,
.snc-app .snc-dash-appt-v151:hover, .snc-app .snc-agenda-item-v182:hover,
.snc-app .snc-expense-card:hover, .snc-app .snc-finance-income-row:hover,
.snc-app .snc-price-row:hover, .snc-app .snc-nc-item:hover, .snc-app .snc-dev-box:hover {
  border-color: var(--snc-ui-accent-border);
  box-shadow: 0 18px 38px color-mix(in srgb, var(--snc-accent) 10%, rgba(15,23,42,.08));
}

.snc-app .snc-service-row.is-selected,
.snc-app .snc-native-service:has(input[type="checkbox"]:checked),
.snc-app .snc-day-card.is-selected, .snc-app .snc-calendar-card.is-selected,
.snc-app .snc-price-row.is-selected {
  border-color: var(--snc-ui-accent-border);
  box-shadow: 0 0 0 3px var(--snc-ui-focus);
}

.snc-app .snc-tags span, .snc-app .snc-mini:not(.danger), .snc-app .snc-dev-badge,
.snc-app .snc-step-icon, .snc-app .snc-nc-kicker, .snc-app .snc-nc-summary-head span {
  background: var(--snc-accent-soft);
  border-color: var(--snc-ui-accent-border);
  color: var(--snc-accent-ink);
}

.snc-app .snc-logo, .snc-app .snc-client-avatar, .snc-app .snc-avatar {
  background: linear-gradient(135deg, var(--snc-accent-soft), var(--snc-accent-glow));
  color: var(--snc-accent-ink);
  border-color: var(--snc-ui-accent-border);
}

.snc-app .snc-eyebrow, .snc-app .snc-panel h2, .snc-app .snc-panel h3,
.snc-app .snc-card strong:not(.snc-status):not([data-status-label]),
.snc-app .snc-appointment-date b, .snc-app .snc-dash-appt-time-v151 b,
.snc-app .snc-finance-period-card strong:not([data-finance-profit-month]):not([data-finance-profit-year]) {
  color: var(--snc-accent-ink);
}

.snc-app .snc-mini.danger, .snc-app button.danger, .snc-app .snc-btn.danger {
  background: rgba(190,78,78,.10);
  border-color: rgba(190,78,78,.22);
  color: #9f3737;
}

.snc-app #tab-finance .snc-profit-card.positive strong,
.snc-app #tab-finance [data-finance-profit-month].positive,
.snc-app #tab-finance [data-finance-profit-year].positive { color: var(--snc-positive, #15803d); }

.snc-app #tab-finance .snc-profit-card.negative strong,
.snc-app #tab-finance [data-finance-profit-month].negative,
.snc-app #tab-finance [data-finance-profit-year].negative { color: var(--snc-negative, #b91c1c); }

#sncThemePicker .snc-theme-toggle, #sncAccentPicker .snc-theme-toggle {
  display: inline-flex;
  align-items: center;
  gap: 10px;
}

#sncThemePicker .snc-theme-toggle::before, #sncAccentPicker .snc-theme-toggle::before {
  content: "";
  display: inline-block;
  width: 10px; height: 10px; min-width: 10px;
  border-radius: 999px;
  margin: 0 4px 0 0;
  box-shadow: 0 0 0 3px var(--snc-accent-soft);
}
#sncThemePicker .snc-theme-toggle::before { background: var(--snc-theme-dot, var(--snc-bg-b)); }
#sncAccentPicker .snc-theme-toggle::before { background: var(--snc-accent-dot, var(--snc-accent)); }


/* =============================================================================
   MOBILE: БАЗОВЫЕ СТИЛИ + КЛАВИАТУРА
   (перенесено из savrana-beauty-crm.php: snc_mobile_polish_stage1_v111)
   ============================================================================= */

@media (max-width: 820px) {
  html, body { overflow-x: hidden; }
  .snc-app, .snc-main, .snc-tab, .snc-panel { max-width: 100vw; box-sizing: border-box; }

  body.snc-crm-normal-fullscreen .snc-app,
  body.snc-crm-pwa-mode .snc-app { width: 100vw; min-height: 100dvh; }

  @supports (height: 100svh) {
    body.snc-crm-normal-fullscreen .snc-app,
    body.snc-crm-pwa-mode .snc-app { min-height: 100svh; }
  }

  .snc-mobile-keyboard-active .snc-main,
  .snc-mobile-keyboard-active .snc-tab.is-active,
  .snc-mobile-keyboard-active .snc-panel {
    overflow-anchor: none;
    scroll-behavior: auto;
  }

  .snc-app input.snc-search, .snc-app input[type="search"],
  .snc-app [data-search="clients"], .snc-app [data-appointment-history-search],
  .snc-app [data-finance-income-search] {
    font-size: 16px;
    min-height: 46px;
    line-height: 1.25;
    touch-action: manipulation;
    -webkit-appearance: none;
    appearance: none;
  }

  .snc-search-hidden { display: none; }

  .snc-mobile-search-active .snc-client-grid,
  .snc-mobile-search-active .snc-appointments-history-list,
  .snc-mobile-search-active .snc-finance-income-list {
    padding-bottom: max(180px, env(safe-area-inset-bottom, 0px) + 120px);
  }

  .snc-mobile-keyboard-spacer {
    display: block;
    height: var(--snc-keyboard-spacer, 0px);
    min-height: var(--snc-keyboard-spacer, 0px);
    pointer-events: none;
    flex: 0 0 auto;
  }

  .snc-app .snc-modal, .snc-app .snc-popup, .snc-app .snc-client-modal,
  .snc-app .snc-appointment-popup, .snc-app [data-snc-modal],
  .snc-app [data-client-modal], .snc-app [data-appointment-popup] {
    max-height: calc(100dvh - 28px);
    max-width: calc(100vw - 24px);
    box-sizing: border-box;
  }

  body.snc-mobile-modal-open .snc-app .snc-modal.is-open,
  body.snc-mobile-modal-open .snc-app .snc-popup.is-open,
  body.snc-mobile-modal-open .snc-app .snc-client-modal.is-open,
  body.snc-mobile-modal-open .snc-app .snc-appointment-popup.is-open,
  body.snc-mobile-modal-open .snc-app [data-snc-modal].is-open,
  body.snc-mobile-modal-open .snc-app [data-client-modal].is-open,
  body.snc-mobile-modal-open .snc-app [data-appointment-popup].is-open {
    position: fixed;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    margin: 0;
    z-index: 999999;
  }

  .snc-mobile-menu-toggle, .snc-sidebar-toggle, [data-snc-menu-toggle] {
    position: sticky;
    top: calc(env(safe-area-inset-top, 0px) + 10px);
    z-index: 9990;
  }
}


/* =============================================================================
   MOBILE: ПОЛЯ ДАТА/ВРЕМЯ И ЧЕКБОКСЫ В ФОРМАХ
   Объединённая финальная версия (v146 + v150 money-margin + v152 winner).
   (перенесено из savrana-beauty-crm.php: snc_mobile_form_cosmetic_fix_v146 → v152)
   ============================================================================= */

/* Отступ перед блоком скидки/итого на всех экранах */
.snc-app #sncDashboardApptModalV151 .snc-appt-edit-panel-v187 .snc-appt-edit-money-v187 {
  margin-top: 8px;
}

@media (max-width: 820px) {
  .snc-app, .snc-app * { box-sizing: border-box; }

  .snc-app #tab-calendar .snc-appointment-form,
  .snc-app #tab-calendar .snc-appointment-form-clean,
  .snc-app #tab-calendar .snc-new-client-fields,
  .snc-app #tab-calendar .snc-design-price-row,
  .snc-app #sncDashboardApptModalV151 .snc-appt-edit-panel-v187,
  .snc-app #sncDashboardApptModalV151 .snc-appt-edit-grid-v187,
  .snc-app #sncDashboardApptModalV151 .snc-appt-edit-manual-v187 {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    box-sizing: border-box;
    overflow: hidden;
  }

  .snc-app #tab-calendar .snc-appointment-form .snc-field,
  .snc-app #tab-calendar .snc-appointment-form-clean .snc-field,
  .snc-app #sncDashboardApptModalV151 .snc-appt-edit-panel-v187 label {
    min-width: 0;
    max-width: 100%;
    box-sizing: border-box;
  }

  /* Поля дата/время: финальная версия (v152 победил над v146–v151) */
  .snc-app #sncDashboardApptModalV151 .snc-appt-edit-panel-v187 input[type="date"],
  .snc-app #sncDashboardApptModalV151 .snc-appt-edit-panel-v187 input[type="time"],
  .snc-app #tab-calendar .snc-appointment-form input[type="date"],
  .snc-app #tab-calendar .snc-appointment-form input[type="time"],
  .snc-app #tab-calendar .snc-appointment-form-clean input[type="date"],
  .snc-app #tab-calendar .snc-appointment-form-clean input[type="time"] {
    -webkit-appearance: none;
    appearance: none;
    display: block;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    flex: 0 0 auto;
    flex-basis: auto;
    height: 42px;
    min-height: 42px;
    max-height: 42px;
    padding: 8px 12px;
    line-height: 24px;
    font-size: 16px;
    border-radius: 14px;
    box-sizing: border-box;
    overflow: hidden;
  }

  .snc-app #sncDashboardApptModalV151 .snc-appt-edit-panel-v187 input[type="date"]::-webkit-date-and-time-value,
  .snc-app #sncDashboardApptModalV151 .snc-appt-edit-panel-v187 input[type="time"]::-webkit-date-and-time-value,
  .snc-app #tab-calendar .snc-appointment-form input[type="date"]::-webkit-date-and-time-value,
  .snc-app #tab-calendar .snc-appointment-form input[type="time"]::-webkit-date-and-time-value,
  .snc-app #tab-calendar .snc-appointment-form-clean input[type="date"]::-webkit-date-and-time-value,
  .snc-app #tab-calendar .snc-appointment-form-clean input[type="time"]::-webkit-date-and-time-value {
    min-height: 0;
    height: auto;
    line-height: 24px;
    padding: 0;
    margin: 0;
    text-align: left;
  }

  .snc-app #sncDashboardApptModalV151 .snc-appt-edit-panel-v187 label:has(input[type="date"]),
  .snc-app #sncDashboardApptModalV151 .snc-appt-edit-panel-v187 label:has(input[type="time"]),
  .snc-app #tab-calendar .snc-appointment-form label:has(input[type="date"]),
  .snc-app #tab-calendar .snc-appointment-form label:has(input[type="time"]),
  .snc-app #tab-calendar .snc-appointment-form-clean label:has(input[type="date"]),
  .snc-app #tab-calendar .snc-appointment-form-clean label:has(input[type="time"]) {
    width: 100%;
    max-width: 100%;
  }

  /* Чекбокс услуги: нативный вид, фиксированный размер */
  .snc-app #sncDashboardApptModalV151 .snc-appt-edit-service-v187 {
    overflow: hidden;
    min-width: 0;
  }

  .snc-app #sncDashboardApptModalV151 .snc-appt-edit-service-v187 input[type="checkbox"] {
    -webkit-appearance: checkbox;
    appearance: auto;
    display: inline-block;
    width: 18px;
    min-width: 18px;
    max-width: 18px;
    height: 18px;
    min-height: 18px;
    max-height: 18px;
    margin: 1px 0 0;
    padding: 0;
    border-radius: 4px;
    border: 1px solid color-mix(in srgb, var(--snc-accent, #8b6f5e) 45%, var(--snc-line, rgba(90,70,56,.18)));
    background: var(--snc-panel-solid, #fff);
    box-shadow: none;
    outline: none;
    flex: 0 0 18px;
    align-self: flex-start;
    accent-color: var(--snc-accent, #8b6f5e);
  }

  .snc-app #sncDashboardApptModalV151 .snc-appt-edit-service-v187 input[type="checkbox"]:focus {
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--snc-accent, #8b6f5e) 18%, transparent);
  }
}


/* =============================================================================
   snc-appt-inline-edit-v1877-css
   (перенесено из trait-snc-render.php в app.css)
   ============================================================================= */
.snc-appt-edit-panel-v187{margin-top:14px;padding:14px;border:1px solid var(--snc-line,rgba(90,70,56,.14));border-radius:18px;background:var(--snc-panel,rgba(255,255,255,.86));color:var(--snc-text,#2a211d);box-shadow:var(--snc-shadow,0 18px 46px rgba(70,50,35,.12));backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}.snc-appt-edit-title-v187{display:flex;flex-direction:column;gap:3px;margin-bottom:12px}.snc-appt-edit-title-v187 strong{font-size:15px;color:var(--snc-text,#2a211d)}.snc-appt-edit-grid-v187{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.snc-appt-edit-panel-v187 label{display:flex;flex-direction:column;gap:5px}.snc-appt-edit-panel-v187 label>span,.snc-appt-edit-services-v187>span{font-size:12px;font-weight:700;color:var(--snc-muted,#7a6b62)}.snc-appt-edit-panel-v187 input,.snc-appt-edit-panel-v187 select,.snc-appt-edit-panel-v187 textarea{width:100%;box-sizing:border-box;border:1px solid var(--snc-line,rgba(90,70,56,.16));border-radius:12px;padding:9px 10px;background:var(--snc-panel-solid,#fff);color:var(--snc-text,#2a211d);outline:none}.snc-appt-edit-panel-v187 input:focus,.snc-appt-edit-panel-v187 select:focus,.snc-appt-edit-panel-v187 textarea:focus{border-color:var(--snc-accent,rgba(139,111,94,.55));box-shadow:0 0 0 3px var(--snc-accent-soft,rgba(139,111,94,.14))}.snc-appt-edit-services-v187{margin-top:12px}.snc-appt-edit-services-list-v187{display:grid;gap:8px;margin-top:8px}.snc-appt-edit-service-v187{display:grid!important;grid-template-columns:auto 1fr auto;align-items:center;gap:9px;padding:9px;border-radius:12px;background:var(--snc-card,rgba(255,255,255,.72));border:1px solid var(--snc-line,rgba(90,70,56,.12));color:var(--snc-text,#2a211d)}.snc-appt-edit-service-v187 span{display:flex;flex-direction:column}.snc-appt-edit-service-v187 small{opacity:.72;color:var(--snc-muted,#7a6b62)}.snc-appt-edit-service-v187 em{font-style:normal;color:var(--snc-muted,#7a6b62)}.snc-appt-edit-manual-v187{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:10px;padding:10px;border-radius:14px;background:var(--snc-accent-wash,var(--snc-accent-soft,rgba(139,111,94,.10)));border:1px solid var(--snc-line,rgba(90,70,56,.12))}.snc-appt-edit-manual-v187[hidden]{display:none!important}.snc-appt-edit-notes-v187{margin-top:10px}.snc-appt-edit-actions-v187{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:12px}.snc-appt-edit-actions-v187 [data-appt-edit-status]{font-size:13px;color:var(--snc-muted,#7a6b62)}@media(max-width:640px){.snc-appt-edit-panel-v187{margin:12px 0 0;padding:12px;border-radius:16px}.snc-appt-edit-grid-v187,.snc-appt-edit-manual-v187{grid-template-columns:1fr}.snc-appt-edit-service-v187{grid-template-columns:auto 1fr;align-items:start}.snc-appt-edit-service-v187 em{grid-column:2}.snc-appt-edit-actions-v187{display:grid;grid-template-columns:1fr;gap:8px}.snc-appt-edit-actions-v187 .snc-btn{width:100%;justify-content:center}.snc-appt-edit-panel-v187 input,.snc-appt-edit-panel-v187 select,.snc-appt-edit-panel-v187 textarea{font-size:16px;min-height:42px}.snc-appt-edit-panel-v187 textarea{min-height:88px}}


/* =============================================================================
   snc-appt-edit-v27-mobile-desktop-button-split
   (перенесено из trait-snc-render.php в app.css)
   ============================================================================= */
.snc-modal-actions .snc-appt-edit-mobile-v23{display:none!important}@media(min-width:821px){.snc-modal-actions .snc-appt-edit-unified-v26{display:inline-flex!important}.snc-modal-actions .snc-appt-edit-mobile-v23{display:none!important}}@media(max-width:820px){.snc-modal-actions .snc-appt-edit-unified-v26{display:none!important}.snc-modal-actions .snc-appt-edit-mobile-v23{display:inline-flex!important;align-items:center!important;justify-content:center!important;width:100%!important;cursor:pointer!important;pointer-events:auto!important;touch-action:manipulation!important;-webkit-tap-highlight-color:transparent!important}.snc-dashboard-appt-card-v151{overflow:auto!important;-webkit-overflow-scrolling:touch!important}}


/* =============================================================================
   snc-appt-modal-mobile-host-fix-v184
   (перенесено из trait-snc-render.php в app.css)
   ============================================================================= */
.snc-app .snc-dashboard-appt-modal-v151{position:fixed!important;inset:0!important;z-index:2147483200!important;display:none!important;align-items:center!important;justify-content:center!important;padding:18px!important;box-sizing:border-box!important}.snc-app .snc-dashboard-appt-modal-v151.open{display:flex!important}.snc-app .snc-dashboard-appt-backdrop-v151{position:absolute!important;inset:0!important;background:rgba(20,16,14,.42)!important;backdrop-filter:blur(8px)!important}.snc-app .snc-dashboard-appt-card-v151{position:relative!important;left:auto!important;right:auto!important;top:auto!important;bottom:auto!important;transform:none!important;margin:auto!important;max-width:min(560px,calc(100vw - 28px))!important;width:100%!important;max-height:calc(100dvh - 36px)!important;overflow:auto!important;box-sizing:border-box!important}@media(max-width:820px){.snc-app .snc-dashboard-appt-modal-v151{padding:14px!important;align-items:center!important;justify-content:center!important}.snc-app .snc-dashboard-appt-card-v151{max-width:calc(100vw - 20px)!important;width:calc(100vw - 20px)!important;max-height:calc(100dvh - 28px)!important}.snc-app .snc-dashboard-appt-body-v151{overflow:visible!important}.snc-app .snc-dashboard-appt-body-v151 .snc-modal-actions{position:static!important;display:flex!important;flex-direction:column!important;gap:10px!important;margin-top:16px!important;padding:0!important;background:transparent!important;box-shadow:none!important}}


/* =============================================================================
   snc-appt-mobile-static-v23-css
   (перенесено из trait-snc-render.php в app.css)
   ============================================================================= */
.snc-appt-edit-toggle-v23{display:none!important;appearance:none!important;-webkit-appearance:none!important;position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important}.snc-appt-edit-mobile-v23{display:none!important}.snc-appt-edit-static-v23{display:none!important}.snc-appt-edit-toggle-v23:checked~.snc-appt-edit-static-v23{display:block!important}@media(min-width:821px){.snc-modal-actions .snc-appt-edit-mobile-v23{display:none!important}.snc-modal-actions .snc-appt-edit-desktop-v23{display:inline-flex!important}}@media(max-width:820px){.snc-modal-actions .snc-appt-edit-desktop-v23{display:none!important}.snc-modal-actions .snc-appt-edit-mobile-v23{display:inline-flex!important;align-items:center!important;justify-content:center!important;cursor:pointer!important;pointer-events:auto!important;touch-action:manipulation!important;-webkit-tap-highlight-color:transparent!important}.snc-dashboard-appt-card-v151{overflow:auto!important;-webkit-overflow-scrolling:touch!important}.snc-appt-edit-toggle-v23:checked~.snc-modal-actions{margin-bottom:10px!important}.snc-appt-edit-toggle-v23:checked~.snc-appt-edit-static-v23{display:block!important}}


/* =============================================================================
   snc-appt-edit-v26-single-button-css
   (перенесено из trait-snc-render.php в app.css)
   ============================================================================= */
.snc-appt-edit-desktop-v23,.snc-appt-edit-mobile-v23{display:none!important}.snc-appt-edit-unified-v26{display:inline-flex!important}.snc-appt-edit-toggle-v23{display:none!important;appearance:none!important;-webkit-appearance:none!important;position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important}.snc-appt-edit-static-v23.snc-open-v26{display:block!important}@media(max-width:820px){.snc-appt-edit-unified-v26{width:100%!important;justify-content:center!important;touch-action:manipulation!important;pointer-events:auto!important}.snc-dashboard-appt-card-v151{overflow:auto!important;-webkit-overflow-scrolling:touch!important}}


/* =============================================================================
   snc-appt-edit-v29-final-button-visibility
   (перенесено из trait-snc-render.php в app.css)
   ============================================================================= */
#sncDashboardApptModalV151 .snc-appt-edit-toggle-v23{display:none!important;appearance:none!important;-webkit-appearance:none!important;position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important}@media(min-width:821px){#sncDashboardApptModalV151 .snc-modal-actions>[data-appt-edit-unified]{display:inline-flex!important}#sncDashboardApptModalV151 .snc-modal-actions>.snc-appt-edit-mobile-v23{display:none!important}}@media(max-width:820px){#sncDashboardApptModalV151 .snc-modal-actions>[data-appt-edit-unified]{display:none!important}#sncDashboardApptModalV151 .snc-modal-actions>.snc-appt-edit-mobile-v23{display:inline-flex!important;align-items:center!important;justify-content:center!important;width:100%!important;cursor:pointer!important;pointer-events:auto!important;touch-action:manipulation!important;-webkit-tap-highlight-color:transparent!important}#sncDashboardApptModalV151 .snc-dashboard-appt-card-v151{overflow:auto!important;-webkit-overflow-scrolling:touch!important}#sncDashboardApptModalV151 .snc-appt-edit-toggle-v23:checked~.snc-appt-edit-static-v23{display:block!important}}


/* =============================================================================
   snc-appt-edit-v75-desktop-toggle-css
   (перенесено из trait-snc-render.php в app.css)
   ============================================================================= */
@media(min-width:821px){#sncDashboardApptModalV151 .snc-modal-actions>.snc-appt-edit-desktop-v75{display:inline-flex!important;align-items:center!important;justify-content:center!important;cursor:pointer!important;pointer-events:auto!important;touch-action:manipulation!important;-webkit-tap-highlight-color:transparent!important}#sncDashboardApptModalV151 .snc-modal-actions>[data-appt-edit-unified]{display:none!important}#sncDashboardApptModalV151 .snc-modal-actions>.snc-appt-edit-mobile-v23{display:none!important}#sncDashboardApptModalV151 .snc-appt-edit-toggle-v23:checked~.snc-appt-edit-static-v23{display:block!important}}@media(max-width:820px){#sncDashboardApptModalV151 .snc-modal-actions>.snc-appt-edit-desktop-v75{display:none!important}}


/* =============================================================================
   snc-appt-edit-v76-services-checkbox-css
   (перенесено из trait-snc-render.php в app.css)
   ============================================================================= */
#sncDashboardApptModalV151 .snc-appt-edit-service-v187 input[type=checkbox]{appearance:auto!important;-webkit-appearance:checkbox!important;display:inline-block!important;position:static!important;opacity:1!important;pointer-events:auto!important;width:18px!important;height:18px!important;min-width:18px!important;min-height:18px!important;margin:0!important;accent-color:var(--snc-accent,#8b6f5e)!important}


/* =============================================================================
   snc-theme-tab-accent-parity-v104
   (перенесено из trait-snc-render.php в app.css)
   ============================================================================= */
  /* v1.1.187.120-standalone-edit-real-flow — Shared theme/accent parity for Clients / Appointments / Finance    Rule: surfaces follow Color Scheme; interactive/selected states follow Accent. */ .snc-app{   --snc-component-surface:linear-gradient(135deg,var(--snc-panel-solid,#fff),var(--snc-card,rgba(255,255,255,.74)))!important;   --snc-component-surface-soft:linear-gradient(135deg,var(--snc-panel,rgba(255,255,255,.86)),var(--snc-surface-neutral-soft,var(--snc-card,rgba(255,255,255,.74))))!important;   --snc-component-hover:color-mix(in srgb,var(--snc-accent) 7%,var(--snc-panel-solid,#fff))!important; }  /* Neutral surfaces: never hard-coded sand/green/blue backgrounds. */ .snc-app #tab-clients .snc-panel, .snc-app #tab-clients .snc-client-card, .snc-app #tab-appointments .snc-panel, .snc-app #tab-appointments .snc-appointment-card, .snc-app #tab-appointments .snc-appointments-stats span, .snc-app #tab-finance .snc-panel, .snc-app #tab-finance .snc-finance-head, .snc-app #tab-finance .snc-finance-period-card, .snc-app #tab-finance .snc-finance-income-block, .snc-app #tab-finance .snc-finance-expense-block, .snc-app #tab-finance .snc-year-summary, .snc-app #tab-finance .snc-finance-summary-cards .snc-card, .snc-app #tab-finance .snc-finance-year-cards .snc-card, .snc-app #tab-finance .snc-expense-form-v133, .snc-app #tab-finance .snc-expense-form-v135, .snc-app #tab-finance .snc-expense-card, .snc-app #tab-finance .snc-income-card, .snc-app #tab-finance .snc-finance-income-row{   background:var(--snc-component-surface)!important;   border-color:var(--snc-line)!important; }  /* Inner date/time boxes stay neutral, but adapt to selected Color Scheme. */ .snc-app #tab-appointments .snc-appointment-date, .snc-app #tab-finance .snc-appointment-date, .snc-app #tab-finance .snc-expense-card .snc-appointment-date, .snc-app #tab-finance .snc-finance-income-row .snc-appointment-date{   background:var(--snc-panel-solid,#fff)!important;   border-color:var(--snc-line)!important; }  /* Accent text / chips / important small elements. */ .snc-app #tab-clients .snc-avatar, .snc-app #tab-clients .snc-client-main h3, .snc-app #tab-clients .snc-tags span, .snc-app #tab-appointments .snc-appointment-date b, .snc-app #tab-appointments .snc-appointments-stats b, .snc-app #tab-finance .snc-finance-period-card strong, .snc-app #tab-finance .snc-expense-period-badge b, .snc-app #tab-finance .snc-expense-card .snc-appointment-info strong, .snc-app #tab-finance .snc-finance-income-row .snc-appointment-info strong, .snc-app #tab-finance .snc-finance-summary-cards .snc-card strong:not([data-finance-profit-month]):not([data-finance-profit-year]){   color:var(--snc-accent-ink,var(--snc-accent))!important; } .snc-app #tab-clients .snc-avatar{   background:linear-gradient(135deg,var(--snc-accent-soft),var(--snc-accent-glow))!important;   border:1px solid var(--snc-accent-border)!important; } .snc-app #tab-clients .snc-tags span,   .snc-app #tab-finance .snc-expense-period-badge{   background:var(--snc-accent-soft)!important;   border-color:var(--snc-accent-border)!important;   color:var(--snc-accent-ink)!important; }  /* Hover/focus/selected uses Accent only as a highlight, not a block fill. */ .snc-app #tab-clients .snc-client-card:hover, .snc-app #tab-appointments .snc-appointment-card:hover, .snc-app #tab-finance .snc-expense-card:hover, .snc-app #tab-finance .snc-finance-income-row:hover{   border-color:var(--snc-accent-border)!important;   box-shadow:0 18px 38px color-mix(in srgb,var(--snc-accent) 10%,rgba(15,23,42,.08))!important; } .snc-app #tab-clients .snc-search:focus, .snc-app #tab-appointments [data-appointment-history-search]:focus, .snc-app #tab-finance [data-finance-income-search]:focus, .snc-app #tab-finance .snc-finance-period select:focus, .snc-app #tab-finance .snc-expense-form-v133 input:focus, .snc-app #tab-finance .snc-expense-form-v135 input:focus{   border-color:var(--snc-accent)!important;   box-shadow:0 0 0 4px var(--snc-focus-ring)!important; }  /* Action buttons inside these tabs use Accent gradient. */ .snc-app #tab-clients .snc-btn:not(.danger), .snc-app #tab-clients button.snc-btn:not(.danger), .snc-app #tab-appointments .snc-btn:not(.danger), .snc-app #tab-appointments button.snc-btn:not(.danger), .snc-app #tab-finance .snc-btn:not(.danger), .snc-app #tab-finance button.snc-btn:not(.danger){   background:linear-gradient(135deg,var(--snc-accent),var(--snc-accent-2))!important;   border-color:transparent!important;   color:var(--snc-accent-contrast,#fff)!important; }  /* Danger buttons remain semantic red, not theme accent. */ .snc-app #tab-appointments .snc-mini.danger, .snc-app #tab-finance .snc-mini.danger{   background:rgba(190,78,78,.08)!important;   border-color:rgba(190,78,78,.20)!important;   color:#9f3737!important; } .snc-app #tab-appointments .snc-mini.danger:hover, .snc-app #tab-finance .snc-mini.danger:hover{   background:#b94242!important;   border-color:#b94242!important;   color:#fff!important; }  /* Finance semantic values stay semantic, not accent. */ .snc-app #tab-finance .snc-profit-card.positive strong, .snc-app #tab-finance .snc-profit-card.positive [data-finance-profit-month], .snc-app #tab-finance .snc-profit-card.positive [data-finance-profit-year]{   color:var(--snc-positive,#15803d)!important; } .snc-app #tab-finance .snc-profit-card.negative strong, .snc-app #tab-finance .snc-profit-card.negative [data-finance-profit-month], .snc-app #tab-finance .snc-profit-card.negative [data-finance-profit-year]{   color:var(--snc-negative,#b91c1c)!important; }  /* Picker buttons: matching dot spacing in both controls. */ #sncThemePicker .snc-theme-toggle, #sncAccentPicker .snc-theme-toggle{   gap:10px!important; } #sncThemePicker .snc-theme-toggle::before, #sncAccentPicker .snc-theme-toggle::before{   margin-right:2px!important; } 
/* ── Finance tab buttons ─────────────────────────────────────────── */
.snc-finance-tabs{display:flex;gap:8px;margin:16px 0 20px;}
.snc-finance-tabs button{padding:10px 24px;border-radius:12px;border:1.5px solid var(--snc-line);background:var(--snc-card);color:var(--snc-muted);font-size:14px;font-weight:700;cursor:pointer;transition:all .17s;}
.snc-finance-tabs button.active{background:linear-gradient(135deg,var(--snc-accent),var(--snc-accent-2,var(--snc-accent)));color:#fff;border-color:transparent;box-shadow:0 8px 20px color-mix(in srgb,var(--snc-accent) 28%,transparent);}
.snc-finance-tabs button:hover:not(.active){border-color:var(--snc-accent-border,rgba(139,111,94,.3));color:var(--snc-text);}

/* ── Expense form v157 ───────────────────────────────────────────── */
.snc-expense-form-v157{display:flex;flex-direction:column;gap:14px;padding:18px;border-radius:20px;background:var(--snc-card);border:1px solid var(--snc-line);margin:12px 0 20px;}
.snc-expense-form-grid{display:grid;grid-template-columns:2fr 1fr 1fr 2fr;gap:12px;align-items:end;}
.snc-expense-form-grid .snc-field{display:flex;flex-direction:column;gap:6px;}
.snc-expense-form-grid .snc-field label{font-size:12px;font-weight:800;color:var(--snc-muted);}
.snc-expense-form-grid .snc-field input{height:42px;border:1.5px solid var(--snc-line);border-radius:12px;background:var(--snc-surface,#fff);padding:0 12px;font-size:14px;font-weight:600;color:var(--snc-text);outline:none;transition:border-color .15s;width:100%;box-sizing:border-box;}
.snc-expense-form-grid .snc-field input:focus{border-color:var(--snc-accent);}

/* ── Receipt upload zone ─────────────────────────────────────────── */
.snc-receipt-upload-zone{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 16px;border:2px dashed var(--snc-line);border-radius:16px;background:color-mix(in srgb,var(--snc-accent,#8b6f5e) 4%,transparent);}
.snc-receipt-info{display:flex;flex-direction:column;gap:3px;min-width:0;flex:1;}
.snc-receipt-info strong{font-size:13px;font-weight:800;color:var(--snc-text);}
.snc-receipt-label{font-size:11px;color:var(--snc-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.snc-receipt-actions{display:flex;gap:8px;flex-shrink:0;flex-wrap:wrap;justify-content:flex-end;}
.snc-receipt-upload-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;border-radius:10px;background:var(--snc-card);border:1.5px solid var(--snc-line);color:var(--snc-text);font-size:12px;font-weight:700;cursor:pointer;transition:border-color .15s,background .15s;white-space:nowrap;}
.snc-receipt-upload-btn:hover{border-color:var(--snc-accent);background:color-mix(in srgb,var(--snc-accent) 6%,var(--snc-card));}
.snc-camera-btn{color:var(--snc-muted);}

/* Receipt modal preview */
.snc-receipt-img{max-width:100%;border-radius:12px;display:block;margin:0 auto;}
.snc-receipt-pdf-wrap{display:flex;flex-direction:column;align-items:stretch;gap:10px;}
.snc-receipt-pdf{width:100%;height:480px;border:1px solid var(--snc-line);border-radius:12px;}

/* ── Expense form footer ─────────────────────────────────────────── */
.snc-expense-form-v157 .snc-form-footer{display:flex;align-items:center;gap:12px;}

/* ── Expense cards redesign ──────────────────────────────────────── */
.snc-expense-cards{display:flex;flex-direction:column;gap:10px;margin-top:4px;}
.snc-expense-card{border-radius:18px;border:1px solid var(--snc-line);background:var(--snc-card);overflow:hidden;transition:border-color .15s,box-shadow .15s;}
.snc-expense-card:hover{border-color:var(--snc-accent-border,rgba(139,111,94,.3));box-shadow:0 8px 24px rgba(0,0,0,.07);}
.snc-expense-main{display:grid;grid-template-columns:56px 56px 1fr auto;align-items:center;gap:0;width:100%;border:0;background:none;cursor:pointer;padding:0;text-align:left;}
.snc-expense-main .snc-appointment-date{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:14px 10px;background:var(--snc-surface,rgba(255,255,255,.6));border-right:1px solid var(--snc-line);min-width:52px;}
.snc-expense-main .snc-appointment-date b{font-size:18px;font-weight:900;color:var(--snc-text);line-height:1;}
.snc-expense-main .snc-appointment-date small{font-size:10px;color:var(--snc-muted);margin-top:2px;}
.snc-receipt-thumb{display:flex;align-items:center;justify-content:center;width:52px;height:100%;min-height:60px;border-right:1px solid var(--snc-line);overflow:hidden;flex-shrink:0;}
.snc-receipt-thumb img{width:52px;height:60px;object-fit:cover;}
.snc-receipt-thumb.is-empty{background:var(--snc-surface,rgba(0,0,0,.02));color:var(--snc-muted);font-size:9px;text-align:center;padding:4px;}
.snc-expense-main .snc-appointment-info{padding:12px 14px;min-width:0;}
.snc-expense-main .snc-appointment-info strong{display:block;font-size:14px;font-weight:800;color:var(--snc-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.snc-expense-main .snc-appointment-info small{display:block;font-size:12px;color:var(--snc-muted);margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.snc-expense-main .snc-appointment-money{font-size:16px;font-weight:900;color:var(--snc-text);padding:0 16px;white-space:nowrap;}
.snc-appointment-card-actions{display:flex;gap:8px;padding:0 14px 12px;justify-content:flex-end;}

/* ── Responsive ──────────────────────────────────────────────────── */
@media(max-width:900px){
    .snc-expense-form-grid{grid-template-columns:1fr 1fr;}
    .snc-receipt-upload-zone{flex-direction:column;align-items:flex-start;}
    .snc-receipt-actions{width:100%;}
}
@media(max-width:600px){
    .snc-expense-form-grid{grid-template-columns:1fr;}
    .snc-expense-main{grid-template-columns:52px 44px 1fr auto;}
}

/* ── Expense form date mobile fix ─────────────────────────────────── */
.snc-expense-form-v157 input[type="date"]{-webkit-appearance:none;appearance:none;min-width:0;width:100%;}
@media(max-width:600px){
    .snc-expense-form-v157 .snc-expense-form-grid{grid-template-columns:1fr;}
    .snc-expense-form-v157 input[type="date"]{font-size:14px;max-width:100%;}
    .snc-receipt-upload-zone{flex-direction:column;}
    .snc-receipt-actions{width:100%;flex-direction:row;flex-wrap:wrap;}
}

/* ── Expense receipt modal ───────────────────────────────────────── */
.snc-expense-modal{position:fixed;inset:0;z-index:9100;display:flex;align-items:center;justify-content:center;padding:16px;animation:sncFadeIn .18s ease;}
.snc-expense-modal-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.52);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);}
.snc-expense-modal-card{position:relative;z-index:1;width:min(94vw,680px);max-height:90vh;border-radius:24px;background:var(--snc-panel-solid,#fff);box-shadow:0 32px 80px rgba(0,0,0,.22);display:flex;flex-direction:column;overflow:hidden;}
.snc-expense-modal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:20px 20px 16px;border-bottom:1px solid var(--snc-line);}
.snc-expense-modal-head h2{margin:0;font-size:18px;font-weight:900;color:var(--snc-text);}
.snc-expense-modal-head p{margin:4px 0 0;font-size:13px;color:var(--snc-muted);}
.snc-expense-modal-x{background:none;border:0;font-size:22px;line-height:1;cursor:pointer;color:var(--snc-muted);padding:4px 8px;border-radius:8px;flex-shrink:0;}
.snc-expense-modal-x:hover{background:rgba(0,0,0,.06);}
.snc-expense-modal-notes{margin:0;padding:12px 20px;font-size:14px;color:var(--snc-muted);border-bottom:1px solid var(--snc-line);}
.snc-expense-modal-receipt{flex:1;overflow:auto;padding:16px 20px 20px;display:flex;flex-direction:column;gap:12px;min-height:0;}
/* PDF preview */
.snc-receipt-pdf-wrap{display:flex;flex-direction:column;gap:10px;flex:1;}
.snc-receipt-pdf-actions{display:flex;gap:10px;flex-wrap:wrap;padding-bottom:4px;}
.snc-receipt-pdf-actions .snc-btn,.snc-receipt-pdf-actions .snc-receipt-dl-btn{
    display:inline-flex;align-items:center;gap:8px;padding:10px 18px;
    border-radius:12px;font-size:14px;font-weight:700;cursor:pointer;
    text-decoration:none!important;border:0;transition:opacity .15s;}
.snc-receipt-pdf-actions .snc-receipt-dl-btn{
    background:linear-gradient(135deg,var(--snc-accent),var(--snc-accent-2,var(--snc-accent)));
    color:#fff!important;box-shadow:0 8px 20px color-mix(in srgb,var(--snc-accent) 30%,transparent);}
.snc-receipt-pdf-actions .snc-receipt-dl-btn:hover{opacity:.88;}
.snc-receipt-pdf-actions .snc-receipt-dl-btn:disabled{opacity:.6;cursor:wait;}
.snc-receipt-pdf-actions a.snc-btn.ghost,.snc-receipt-pdf-actions .snc-btn.ghost{
    background:rgba(0,0,0,.06)!important;color:var(--snc-text)!important;
    box-shadow:none!important;border:1.5px solid var(--snc-line);}
.snc-receipt-pdf{width:100%;height:min(55vh,480px);border:1px solid var(--snc-line);border-radius:12px;display:block;}
/* Image preview */
.snc-receipt-img{max-width:100%;max-height:60vh;border-radius:12px;display:block;margin:0 auto;object-fit:contain;}
@media(max-width:600px){
    .snc-expense-modal{padding:8px;}
    .snc-expense-modal-card{width:100%;max-height:95vh;border-radius:18px;}
    .snc-receipt-pdf{height:50vh;}
}

/* ── Finance cards mobile - income + expense ─────────────────────── */
@media(max-width:820px){
    .snc-finance-income-row,
    .snc-expense-card{
        border-radius:16px !important;
        border:1px solid var(--snc-line) !important;
        background:var(--snc-card) !important;
        box-shadow:0 2px 8px rgba(0,0,0,.06) !important;
        margin-bottom:8px !important;
        overflow:hidden !important;
    }
    .snc-expense-cards,
    .snc-finance-income-list,
    [data-finance-expense-list],
    [data-finance-income-list]{
        display:flex;
        flex-direction:column;
        gap:8px;
        padding:0 2px;
    }
    /* Fix expense main button layout on mobile */
    .snc-expense-main{
        grid-template-columns:48px 44px 1fr auto !important;
    }
    .snc-expense-main .snc-appointment-date{
        padding:10px 6px !important;
    }
    .snc-expense-main .snc-appointment-date b{
        font-size:15px !important;
    }
    .snc-expense-main .snc-appointment-info{
        padding:10px 8px !important;
    }
    .snc-expense-main .snc-appointment-info strong{
        font-size:13px !important;
    }
    .snc-expense-main .snc-appointment-money{
        font-size:13px !important;
        padding:0 8px !important;
    }
    .snc-receipt-thumb{
        width:44px !important;
        min-height:54px !important;
    }
    .snc-receipt-thumb img{
        width:44px !important;
        height:54px !important;
    }
    /* Income rows on mobile */
    .snc-finance-income-row .snc-income-main,
    .snc-finance-income-row > button{
        padding:12px 14px !important;
    }
}

/* ── Trial period badge ──────────────────────────────────────────── */
.snc-trial-badge{
    display:flex;align-items:center;gap:8px;
    margin:12px 12px 4px;
    padding:10px 14px;
    border-radius:12px;
    background:color-mix(in srgb,var(--snc-accent) 10%,transparent);
    border:1px solid color-mix(in srgb,var(--snc-accent) 25%,transparent);
    color:var(--snc-accent-ink);
    font-size:11px;font-weight:700;
    line-height:1.3;
}
.snc-trial-badge svg{flex-shrink:0;color:var(--snc-accent);}
.snc-trial-badge span{color:var(--snc-accent-ink);}

.snc-trial-account-badge{
    display:flex;align-items:flex-start;gap:14px;
    padding:16px 20px;
    margin-bottom:16px;
    border-radius:16px;
    background:color-mix(in srgb,var(--snc-accent) 8%,transparent);
    border:1.5px solid color-mix(in srgb,var(--snc-accent) 22%,transparent);
}
.snc-trial-account-icon{
    width:40px;height:40px;border-radius:50%;
    background:color-mix(in srgb,var(--snc-accent) 15%,transparent);
    display:flex;align-items:center;justify-content:center;
    flex-shrink:0;color:var(--snc-accent);
}
.snc-trial-account-badge strong{
    display:block;font-size:14px;font-weight:800;
    color:var(--snc-accent-ink);margin-bottom:2px;
}
.snc-trial-account-badge p{
    margin:0;font-size:13px;color:var(--snc-muted);
}

/* ── Subscription admin select fix ──────────────────────────────── */
.snc-sub-actions select{
    min-width:130px !important;
    width:auto !important;
}

/* ── Trial sidebar badge (PHP-rendered) ─────────────────────────── */
.snc-trial-sidebar-badge{
    display:flex;align-items:flex-start;gap:8px;
    margin:10px 12px 6px;
    padding:10px 12px;
    border-radius:12px;
    background:color-mix(in srgb,var(--snc-accent) 12%,transparent);
    border:1px solid color-mix(in srgb,var(--snc-accent) 30%,transparent);
    color:var(--snc-accent-ink);
    font-size:11px;font-weight:700;line-height:1.4;
}
.snc-trial-sidebar-badge svg{flex-shrink:0;margin-top:1px;color:var(--snc-accent);}
.snc-trial-sidebar-badge em{display:block;font-style:normal;font-weight:600;opacity:.8;font-size:10px;margin-top:1px;}

/* ── Trial subscription badge ───────────────────────────────────── */
.snc-acb--trial{
    background:color-mix(in srgb,var(--snc-accent) 15%,transparent) !important;
    color:var(--snc-accent-ink) !important;
}
.snc-sub-dashboard-badge--trial{
    background:color-mix(in srgb,var(--snc-accent) 12%,transparent);
    color:var(--snc-accent-ink);
    border:1px solid color-mix(in srgb,var(--snc-accent) 25%,transparent);
}

/* ── Trial info card in account ─────────────────────────────────── */
.snc-trial-info-card{
    display:flex;align-items:flex-start;gap:14px;
    margin:14px 0 0;
    padding:16px 18px;
    border-radius:14px;
    background:color-mix(in srgb,var(--snc-accent) 8%,transparent);
    border:1.5px solid color-mix(in srgb,var(--snc-accent) 20%,transparent);
}
.snc-trial-info-icon{
    width:40px;height:40px;border-radius:50%;flex-shrink:0;
    background:color-mix(in srgb,var(--snc-accent) 15%,transparent);
    display:flex;align-items:center;justify-content:center;
    color:var(--snc-accent);
}
.snc-trial-info-body{flex:1;}
.snc-trial-info-body strong{display:block;font-size:14px;font-weight:800;color:var(--snc-text);margin-bottom:4px;}
.snc-trial-info-body p{margin:0 0 10px;font-size:13px;color:var(--snc-muted);}
.snc-trial-info-body b{color:var(--snc-accent-ink);font-weight:700;}
.snc-trial-progress{height:5px;border-radius:99px;background:color-mix(in srgb,var(--snc-accent) 18%,transparent);margin-bottom:12px;overflow:hidden;}
.snc-trial-progress-bar{height:100%;border-radius:99px;background:var(--snc-accent);transition:width .3s;}
.snc-trial-actions{display:flex;gap:8px;flex-wrap:wrap;}
.snc-btn--sm{padding:7px 14px;font-size:12px;font-weight:700;border-radius:9px;text-decoration:none;border:1.5px solid var(--snc-line);color:var(--snc-text);background:var(--snc-card);transition:border-color .15s;}
.snc-btn--sm:hover{border-color:var(--snc-accent);}
.snc-btn--accent{background:var(--snc-accent) !important;color:#fff !important;border-color:var(--snc-accent) !important;}

/* ═══════════════════════════════════════════════════════════
   Month Calendar — полный редизайн
   ═══════════════════════════════════════════════════════════ */

/* Wrapper */
.snc-month-view { display: none; }
.snc-month-view.is-active { display: block !important; }
.snc-calendar-shell[data-view="month"] .snc-calendar-view[data-calendar-view="month"] {
    display: block !important;
}

/* Toolbar */
.snc-month-toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 2px 14px;
    gap: 12px;
}
.snc-month-toolbar strong {
    flex: 1;
    text-align: center;
    font-size: 16px;
    font-weight: 800;
    color: var(--snc-text);
    letter-spacing: -.01em;
}
.snc-month-nav-btn {
    width: 36px; height: 36px;
    border-radius: 12px;
    border: 1.5px solid var(--snc-line);
    background: var(--snc-card);
    color: var(--snc-text);
    font-size: 18px;
    cursor: pointer;
    display: flex; align-items: center; justify-content: center;
    transition: background .14s, border-color .14s;
    flex-shrink: 0;
}
.snc-month-nav-btn:hover {
    background: var(--snc-accent-soft);
    border-color: var(--snc-accent-glow);
    color: var(--snc-accent-ink);
}

/* Weekday headers */
.snc-month-weekdays {
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    gap: 4px;
    margin-bottom: 4px;
}
.snc-month-weekdays span {
    text-align: center;
    font-size: 11px;
    font-weight: 800;
    color: var(--snc-muted);
    text-transform: uppercase;
    letter-spacing: .04em;
    padding: 4px 0;
}

/* Grid */
.snc-month-grid {
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    gap: 4px;
}

/* Cell */
.snc-month-cell {
    min-height: 72px;
    background: var(--snc-card);
    border: 1px solid var(--snc-line);
    border-radius: 12px;
    padding: 7px 6px 6px;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 4px;
    cursor: pointer;
    transition: border-color .14s, background .14s;
    position: relative;
    user-select: none;
}
.snc-month-cell:hover:not(.is-muted) {
    border-color: var(--snc-accent-glow, var(--snc-accent));
    background: color-mix(in srgb, var(--snc-accent) 6%, var(--snc-card));
}
.snc-month-cell.is-today {
    border-color: var(--snc-accent);
}
.snc-month-cell.is-muted {
    opacity: 0.38;
    cursor: default;
}
.snc-month-count {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 22px;
    height: 22px;
    padding: 0 6px;
    background: var(--snc-accent);
    color: #fff;
    border-radius: 20px;
    font-size: 11px;
    font-weight: 800;
    margin-top: 2px;
    letter-spacing: .01em;
}

.snc-month-date {
    font-size: 13px;
    font-weight: 900;
    color: var(--snc-text);
    line-height: 1;
    margin-bottom: 2px;
    flex-shrink: 0;
}

/* Muted (other month days) */
.snc-month-cell.is-muted {
    background: var(--snc-surface-neutral-soft);
    border-color: transparent;
    opacity: .55;
}
.snc-month-cell.is-muted:hover { opacity: .75; }

/* Today */
.snc-month-cell.is-today {
    border-color: var(--snc-accent) !important;
    background: var(--snc-accent-wash) !important;
}
.snc-month-cell.is-today .snc-month-date {
    color: var(--snc-accent-ink);
    background: var(--snc-accent);
    color: #fff;
    width: 22px; height: 22px;
    border-radius: 50%;
    display: flex; align-items: center; justify-content: center;
    font-size: 11px;
}

/* Event pills inside month cell */
.snc-month-cell .snc-event-pill,
.snc-month-cell .snc-event-clickable {
    width: 100% !important;
    text-align: left !important;
    padding: 3px 6px !important;
    border-radius: 6px !important;
    font-size: 11px !important;
    line-height: 1.3 !important;
    display: flex !important;
    align-items: center !important;
    gap: 4px !important;
    overflow: hidden !important;
    white-space: nowrap !important;
    text-overflow: ellipsis !important;
    flex-shrink: 0 !important;
    cursor: pointer !important;
    margin: 0 !important;
    border: 0 !important;
    min-height: 22px !important;
}
.snc-month-cell .snc-event-clickable strong {
    font-size: 10px !important;
    font-weight: 700 !important;
    opacity: .75 !important;
    flex-shrink: 0 !important;
}
.snc-month-cell .snc-event-clickable span {
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
    flex: 1 !important;
    display: block !important;
    font-size: 11px !important;
    font-weight: 600 !important;
}
.snc-month-cell small {
    font-size: 10px;
    color: var(--snc-muted);
    text-align: center;
    margin-top: auto;
}

/* Status pill colors inside month */
.snc-month-cell .planned   { background: color-mix(in srgb, var(--snc-accent) 14%, transparent); color: var(--snc-accent-ink); }
.snc-month-cell .completed { background: #dcfce7; color: #15803d; }
.snc-month-cell .cancelled { background: #fee2e2; color: #b91c1c; }
.snc-month-cell .no_show   { background: #fef3c7; color: #b45309; }

/* Mobile */
@media (max-width: 820px) {
    .snc-month-weekdays,
    .snc-month-grid {
        grid-template-columns: repeat(7, minmax(40px, 1fr));
        gap: 2px;
    }
    .snc-month-cell {
        min-height: 56px;
        border-radius: 8px;
        padding: 5px 4px 4px;
        gap: 2px;
    }
    .snc-month-date { font-size: 11px; }
    .snc-month-cell.is-today .snc-month-date {
        width: 18px; height: 18px; font-size: 10px;
    }
    .snc-month-cell .snc-event-clickable {
        padding: 2px 4px !important;
        font-size: 9px !important;
        min-height: 18px !important;
        border-radius: 4px !important;
    }
    .snc-month-cell .snc-event-clickable strong { display: none !important; }
    .snc-month-cell .snc-event-clickable span { font-size: 9px !important; }
    .snc-month-toolbar strong { font-size: 14px; }
    .snc-month-nav-btn { width: 30px; height: 30px; font-size: 16px; border-radius: 9px; }
}

/* ── Month day appointments popup ───────────────────────────────── */
.snc-month-day-popup {
    position: fixed;
    inset: 0;
    z-index: 9000;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 20px;
    opacity: 0;
    transition: opacity .18s;
    pointer-events: none;
}
.snc-month-day-popup.is-open {
    opacity: 1;
    pointer-events: auto;
}
.snc-month-day-popup-backdrop {
    position: fixed;
    inset: 0;
    background: rgba(0,0,0,.35);
    backdrop-filter: blur(4px);
    -webkit-backdrop-filter: blur(4px);
    cursor: pointer;
}
.snc-month-day-popup-card {
    position: relative;
    background: var(--snc-panel-solid, #fff);
    border-radius: 22px;
    box-shadow: 0 24px 64px rgba(0,0,0,.18);
    width: 100%;
    max-width: 480px;
    max-height: 80vh;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    transform: scale(.96) translateY(8px);
    transition: transform .18s;
}
.snc-month-day-popup.is-open .snc-month-day-popup-card {
    transform: scale(1) translateY(0);
}
.snc-month-day-popup-head {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 18px 20px 14px;
    border-bottom: 1px solid var(--snc-line);
    flex-shrink: 0;
}
.snc-month-day-popup-head strong {
    font-size: 17px;
    font-weight: 900;
    color: var(--snc-text);
}
.snc-month-day-popup-head span {
    font-size: 12px;
    color: var(--snc-muted);
    font-weight: 600;
    flex: 1;
}
.snc-month-day-popup-close {
    width: 30px; height: 30px;
    border-radius: 50%;
    border: 0;
    background: var(--snc-line);
    color: var(--snc-text);
    font-size: 18px;
    cursor: pointer;
    display: flex; align-items: center; justify-content: center;
    line-height: 1;
    transition: background .14s;
    flex-shrink: 0;
}
.snc-month-day-popup-close:hover { background: var(--snc-accent-soft); }
.snc-month-day-popup-list {
    overflow-y: auto;
    padding: 10px 12px 14px;
    display: flex;
    flex-direction: column;
    gap: 6px;
}
.snc-month-day-appt {
    display: grid;
    grid-template-columns: 44px 1fr auto;
    align-items: center;
    gap: 10px;
    padding: 10px 12px;
    border-radius: 12px;
    border: 1.5px solid var(--snc-line);
    background: var(--snc-card);
    cursor: pointer;
    text-align: left;
    width: 100%;
    transition: border-color .14s, background .14s;
    font-family: inherit;
}
.snc-month-day-appt:hover {
    border-color: var(--snc-accent-glow);
    background: var(--snc-accent-wash);
}
.snc-month-day-appt.planned   { border-left: 3px solid var(--snc-accent); }
.snc-month-day-appt.completed { border-left: 3px solid #22c55e; }
.snc-month-day-appt.cancelled { border-left: 3px solid #ef4444; }
.snc-month-day-appt.no_show   { border-left: 3px solid #f59e0b; }
.snc-mda-time {
    font-size: 13px;
    font-weight: 800;
    color: var(--snc-accent-ink);
    text-align: center;
    line-height: 1.2;
}
.snc-mda-body { min-width: 0; }
.snc-mda-name {
    font-size: 14px;
    font-weight: 700;
    color: var(--snc-text);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.snc-mda-service {
    font-size: 12px;
    color: var(--snc-muted);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    margin-top: 1px;
}
.snc-mda-right {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 3px;
    flex-shrink: 0;
}
.snc-mda-badge {
    font-size: 10px;
    font-weight: 700;
    padding: 2px 7px;
    border-radius: 20px;
    white-space: nowrap;
}
.snc-mda-badge.planned   { background: color-mix(in srgb, var(--snc-accent) 14%, transparent); color: var(--snc-accent-ink); }
.snc-mda-badge.completed { background: #dcfce7; color: #15803d; }
.snc-mda-badge.cancelled { background: #fee2e2; color: #b91c1c; }
.snc-mda-badge.no_show   { background: #fef3c7; color: #b45309; }
.snc-mda-price {
    font-size: 12px;
    font-weight: 700;
    color: var(--snc-muted);
}

@media (max-width: 820px) {
    .snc-month-day-popup { padding: 12px; align-items: flex-end; }
    .snc-month-day-popup-card { max-width: 100%; max-height: 70vh; border-radius: 20px 20px 16px 16px; }
}

/* Pagination buttons — гарантированная кликабельность */
[data-clients-page-prev],
[data-clients-page-next],
[data-clients-pagination] button,
#tab-clients .snc-clients-pagination button {
    pointer-events: auto !important;
    cursor: pointer !important;
    position: relative !important;
    z-index: 10 !important;
    user-select: none !important;
}
[data-clients-page-prev]:disabled,
[data-clients-page-next]:disabled,
#tab-clients .snc-clients-pagination button:disabled {
    pointer-events: none !important;
    cursor: not-allowed !important;
    opacity: 0.42 !important;
}

/* v1.2.86: Sphere/specialization selector in Settings → Price list */
.snc-sphere-panel{margin-bottom:18px}
.snc-sphere-form{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.snc-sphere-select{height:44px;border:1.5px solid var(--snc-line);border-radius:14px;background:var(--snc-card);padding:0 14px;font-size:14px;font-weight:600;color:var(--snc-text);min-width:220px}

/* v1.2.91: Toggle switch for online booking (and other on/off settings) */
.snc-switch{display:inline-flex;align-items:center;gap:10px;cursor:pointer;user-select:none}
.snc-switch input{position:absolute;opacity:0;width:1px;height:1px;pointer-events:none}
.snc-switch-track{position:relative;display:inline-block;width:44px;height:26px;border-radius:999px;background:var(--snc-line);transition:background .18s;flex-shrink:0}
.snc-switch-thumb{position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.18);transition:transform .18s}
.snc-switch input:checked + .snc-switch-track{background:var(--snc-accent)}
.snc-switch input:checked + .snc-switch-track .snc-switch-thumb{transform:translateX(18px)}
.snc-switch input:focus-visible + .snc-switch-track{outline:2px solid var(--snc-accent);outline-offset:2px}
.snc-switch-label{font-weight:700;font-size:14px;color:var(--snc-text)}
