/* ALX CRM v4.3.16 — Randevular Studio, isolated to #viewCallbacks. */
body.alx-crm-page #viewCallbacks.appointments-studio{--appt-bg:var(--alx-panel);--appt-bg2:var(--alx-panel2);--appt-text:var(--alx-text);--appt-muted:var(--alx-muted);--appt-border:var(--alx-line);padding:18px 5px 30px;min-height:0!important;max-height:none!important;color:var(--appt-text)}
body.alx-crm-page #viewCallbacks.appointments-studio *{box-sizing:border-box}
body.alx-crm-page #viewCallbacks .appt-studio-hero{border:1px solid var(--appt-border);background:radial-gradient(ellipse 70% 170% at 100% 0%,rgba(67,128,225,.13),transparent 75%),linear-gradient(120deg,var(--appt-bg),var(--appt-bg2));border-radius:17px;padding:24px 25px;display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:157px;position:relative;overflow:hidden}
body.alx-crm-page #viewCallbacks .appt-studio-hero:after{content:'';pointer-events:none;position:absolute;right:18%;top:-143px;width:170px;height:170px;border:1px solid rgba(94,155,244,.12);border-radius:50%}
body.alx-crm-page #viewCallbacks .appt-studio-overline{display:flex;align-items:center;gap:8px;font-size:9px;letter-spacing:.17em;font-weight:830;color:#79aef7}
body.alx-crm-page #viewCallbacks .appt-studio-overline i{width:7px;height:7px;display:inline-block;border-radius:3px;background:#569bfa;box-shadow:0 0 0 3px rgba(78,156,255,.13)}
body.alx-crm-page #viewCallbacks .appt-hero-copy h2{font-size:clamp(22px,2.25vw,29px);font-weight:790;letter-spacing:-.04em;line-height:1.18;margin:12px 0 7px;color:var(--appt-text)}
body.alx-crm-page #viewCallbacks .appt-hero-copy h2 span{color:#72acff}
body.alx-crm-page #viewCallbacks .appt-hero-copy>p{font-size:11.5px;color:var(--appt-muted);line-height:1.6;margin:0;max-width:630px}
body.alx-crm-page #viewCallbacks .appt-privacy{display:inline-flex;align-items:center;gap:7px;font-size:9.4px;color:var(--appt-muted);margin-top:13px}
body.alx-crm-page #viewCallbacks .appt-privacy b{width:16px;height:16px;display:grid;place-items:center;border-radius:5px;background:rgba(53,177,135,.13);color:#42d3a0;font-size:10px}
body.alx-crm-page #viewCallbacks .appt-hero-actions{display:flex;flex-direction:column;align-items:flex-end;gap:10px;flex:none;z-index:1}
body.alx-crm-page #viewCallbacks .appt-hero-actions small{color:var(--appt-muted);font-size:10px}
body.alx-crm-page #viewCallbacks .appt-refresh{border:1px solid var(--appt-border);background:var(--appt-bg2);color:var(--appt-text);font-size:11px;font-weight:720;padding:0 15px;min-height:37px;border-radius:9px;cursor:pointer}
body.alx-crm-page #viewCallbacks .appt-refresh:hover,body.alx-crm-page #viewCallbacks .appt-reset:hover{border-color:#578cc9;color:#77b0ff}
body.alx-crm-page #viewCallbacks .appt-studio-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:13px 0}
body.alx-crm-page #viewCallbacks .appt-kpi{display:flex;align-items:center;gap:14px;border:1px solid var(--appt-border);background:var(--appt-bg);border-radius:14px;padding:16px 15px;min-height:102px;min-width:0}
body.alx-crm-page #viewCallbacks .appt-kpi-icon{width:40px;height:40px;flex:none;display:grid;place-items:center;border:1px solid rgba(89,151,236,.15);border-radius:12px;font-size:20px;background:rgba(72,142,250,.12);color:#76b4ff}
body.alx-crm-page #viewCallbacks .appt-kpi.today .appt-kpi-icon{background:rgba(57,191,155,.12);color:#47cfaa;border-color:rgba(57,191,155,.16)}
body.alx-crm-page #viewCallbacks .appt-kpi.tomorrow .appt-kpi-icon{background:rgba(151,117,232,.13);color:#baa1ff;border-color:rgba(151,117,232,.16)}
body.alx-crm-page #viewCallbacks .appt-kpi.overdue .appt-kpi-icon{background:rgba(232,140,89,.12);color:#ffb278;border-color:rgba(232,140,89,.16)}
body.alx-crm-page #viewCallbacks .appt-kpi>div{min-width:0;display:grid;gap:3px}
body.alx-crm-page #viewCallbacks .appt-kpi>div>span{color:#92aecb;font-size:8.5px;letter-spacing:.08em;font-weight:840}
body.alx-crm-page #viewCallbacks .appt-kpi strong{font-size:26px;font-weight:770;line-height:1.1;color:var(--appt-text);letter-spacing:-.04em;font-variant-numeric:tabular-nums}
body.alx-crm-page #viewCallbacks .appt-kpi small{font-size:9.5px;color:var(--appt-muted);line-height:1.4}
body.alx-crm-page #viewCallbacks .appt-studio-panel{border:1px solid var(--appt-border);border-radius:15px;background:var(--appt-bg);overflow:hidden;min-height:0}
body.alx-crm-page #viewCallbacks .appt-panel-head{padding:20px 20px 15px;display:flex;align-items:center;justify-content:space-between;gap:14px}
body.alx-crm-page #viewCallbacks .appt-panel-head h3{margin:7px 0 2px;font-size:17px;line-height:1.3;letter-spacing:-.015em;color:var(--appt-text)}
body.alx-crm-page #viewCallbacks .appt-panel-head p{color:var(--appt-muted);font-size:10px;line-height:1.4;margin:0}
body.alx-crm-page #viewCallbacks .appt-total-pill{color:#94bdfa;background:rgba(60,142,253,.08);border:1px solid rgba(85,158,245,.18);font-size:9.5px;border-radius:30px;padding:7px 11px;white-space:nowrap}
body.alx-crm-page #viewCallbacks .appt-toolbar{display:grid;grid-template-columns:minmax(200px,1fr) minmax(145px,190px) minmax(155px,190px) auto;gap:10px;align-items:center;padding:0 20px 16px;border-bottom:1px solid var(--appt-border)}
body.alx-crm-page #viewCallbacks .appt-toolbar input,body.alx-crm-page #viewCallbacks .appt-toolbar select{width:100%;min-width:0;height:37px!important;min-height:37px!important;background:var(--appt-bg2)!important;color:var(--appt-text)!important;border:1px solid var(--appt-border)!important;border-radius:9px;font-size:11px;padding:0 12px;box-shadow:none!important}
body.alx-crm-page #viewCallbacks .appt-search-wrap{position:relative;display:block;margin:0}
body.alx-crm-page #viewCallbacks .appt-search-wrap input{padding-left:34px}
body.alx-crm-page #viewCallbacks .appt-search-icon{position:absolute;left:12px;top:5px;color:#739bc1;font-size:21px;pointer-events:none}
body.alx-crm-page #viewCallbacks .appt-reset{border:1px solid var(--appt-border);color:#a5c0dc;background:var(--appt-bg2);height:37px;font-size:10.5px;font-weight:720;border-radius:9px;white-space:nowrap;padding:0 12px;cursor:pointer}
body.alx-crm-page #viewCallbacks .appt-table-scroll{overflow-x:auto!important;overflow-y:visible!important;max-height:none!important;scrollbar-width:thin;background:var(--appt-bg)}
body.alx-crm-page #viewCallbacks .appt-data-table{width:100%;min-width:960px;border-collapse:collapse;font-size:11px;table-layout:fixed}
body.alx-crm-page #viewCallbacks .appt-data-table th{height:39px!important;background:var(--appt-bg2)!important;border-bottom:1px solid var(--appt-border)!important;color:#8aa6c3!important;font-size:8.5px!important;text-align:left;letter-spacing:.045em;white-space:nowrap;padding:0 11px!important}
body.alx-crm-page #viewCallbacks .appt-data-table td{height:69px!important;padding:10px 11px!important;border-bottom:1px solid var(--appt-border)!important;vertical-align:middle;background:transparent!important;color:var(--appt-text)!important;min-width:0}
body.alx-crm-page #viewCallbacks .appt-data-table tbody tr:hover td{background:color-mix(in srgb,var(--appt-bg2) 58%,transparent)!important}
body.alx-crm-page #viewCallbacks .appt-data-table tbody tr.overdue td:first-child{box-shadow:inset 3px 0 #e98c95}
body.alx-crm-page #viewCallbacks .appt-data-table th:nth-child(1){width:125px}body.alx-crm-page #viewCallbacks .appt-data-table th:nth-child(2){width:165px}body.alx-crm-page #viewCallbacks .appt-data-table th:nth-child(3){width:138px}body.alx-crm-page #viewCallbacks .appt-data-table th:nth-child(4){width:115px}body.alx-crm-page #viewCallbacks .appt-data-table th:nth-child(5){width:auto}body.alx-crm-page #viewCallbacks .appt-data-table th:nth-child(6){width:104px}body.alx-crm-page #viewCallbacks .appt-data-table th:nth-child(7){width:146px}
body.alx-crm-page #viewCallbacks .appt-date{display:grid;gap:5px}body.alx-crm-page #viewCallbacks .appt-date strong{font-size:11px;font-weight:760;color:var(--appt-text)}body.alx-crm-page #viewCallbacks .appt-date span{font-size:10px;color:var(--appt-muted);font-variant-numeric:tabular-nums}
body.alx-crm-page #viewCallbacks .appt-customer{padding:0;border:0;background:transparent;color:var(--appt-text);font-size:11px;font-weight:740;cursor:pointer;display:block;width:100%;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:left}
body.alx-crm-page #viewCallbacks .appt-customer:hover{color:#78b2fb}
body.alx-crm-page #viewCallbacks .appt-email{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--appt-muted);font-size:9.5px;margin-top:6px}
body.alx-crm-page #viewCallbacks .appt-phone{font-size:10.5px;color:#a7c8ef}
body.alx-crm-page #viewCallbacks .appt-agent{font-size:10.5px;color:var(--appt-muted)}
body.alx-crm-page #viewCallbacks .appt-note{font-size:10.5px;line-height:1.5;color:var(--appt-muted);max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
body.alx-crm-page #viewCallbacks .appt-status{display:inline-flex;align-items:center;gap:6px;border-radius:30px;padding:5px 8px;font-size:9px;font-weight:760;white-space:nowrap;background:rgba(121,157,191,.08);border:1px solid rgba(121,157,191,.18);color:#a3bdd7}
body.alx-crm-page #viewCallbacks .appt-status i{height:5px;width:5px;background:currentColor;border-radius:50%}
body.alx-crm-page #viewCallbacks .appt-status.is-overdue{background:rgba(210,106,125,.09);border-color:rgba(210,106,125,.23);color:#e99da8}
body.alx-crm-page #viewCallbacks .appt-status.is-today{background:rgba(44,177,144,.09);border-color:rgba(44,177,144,.21);color:#65d6b0}
body.alx-crm-page #viewCallbacks .appt-status.is-tomorrow{background:rgba(138,111,221,.1);border-color:rgba(138,111,221,.21);color:#b4a0f6}
body.alx-crm-page #viewCallbacks .appt-hint{display:block;margin-top:6px;color:var(--appt-muted);font-size:9px;white-space:nowrap}
body.alx-crm-page #viewCallbacks .appt-row-actions{display:flex;align-items:center;gap:6px;white-space:nowrap}
body.alx-crm-page #viewCallbacks .appt-row-actions button{font-size:10px;font-weight:700;min-height:32px;height:32px;padding:0 9px;cursor:pointer;border-radius:8px;border:1px solid var(--appt-border);background:var(--appt-bg2);color:var(--appt-text)}
body.alx-crm-page #viewCallbacks .appt-row-actions .appt-call{background:#216de1;border:1px solid #3d87e8;color:#fff}
body.alx-crm-page #viewCallbacks .appt-row-actions button:disabled{opacity:.4;cursor:not-allowed}
body.alx-crm-page #viewCallbacks .appt-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:65px 18px;gap:10px;min-height:220px;text-align:center}
body.alx-crm-page #viewCallbacks .appt-empty strong{font-size:13px;color:var(--appt-text)}body.alx-crm-page #viewCallbacks .appt-empty span{font-size:11px;color:var(--appt-muted)}
body.alx-crm-page #viewCallbacks .appt-panel-foot{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:12px 20px;font-size:9.5px;color:var(--appt-muted);line-height:1.5;flex-wrap:wrap}
body.alx-crm-page #viewCallbacks .appt-panel-foot i{display:inline-block;width:6px;height:6px;background:#45c7a2;border-radius:50%;margin-right:6px}
body.alx-crm-page #viewCallbacks :is(button,input,select):focus-visible{outline:2px solid #6eaef9!important;outline-offset:2px}
@media(max-width:1300px){body.alx-crm-page #viewCallbacks .appt-studio-kpis{gap:9px}body.alx-crm-page #viewCallbacks .appt-kpi{padding:13px 10px;gap:9px}body.alx-crm-page #viewCallbacks .appt-kpi-icon{width:35px;height:35px}body.alx-crm-page #viewCallbacks .appt-kpi strong{font-size:23px}}
@media(max-width:1080px){body.alx-crm-page #viewCallbacks .appt-studio-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}body.alx-crm-page #viewCallbacks .appt-toolbar{grid-template-columns:minmax(180px,1fr) minmax(130px,1fr)}body.alx-crm-page #viewCallbacks .appt-toolbar .appt-reset{justify-self:stretch}}
@media(max-width:670px){body.alx-crm-page #viewCallbacks .appt-studio-hero{flex-wrap:wrap;padding:18px}body.alx-crm-page #viewCallbacks .appt-hero-actions{align-items:flex-start}body.alx-crm-page #viewCallbacks .appt-toolbar{grid-template-columns:1fr}body.alx-crm-page #viewCallbacks .appt-studio-kpis{gap:8px}body.alx-crm-page #viewCallbacks .appt-kpi{min-height:96px}body.alx-crm-page #viewCallbacks .appt-kpi-icon{display:none}body.alx-crm-page #viewCallbacks .appt-panel-head{padding:16px}}


/* v4.3.17 appointments polish */
body.alx-crm-page #viewCallbacks .appt-panel-head{flex-wrap:wrap}
body.alx-crm-page #viewCallbacks .appt-panel-head>div{min-width:0}
body.alx-crm-page #viewCallbacks .appt-total-pill{display:inline-flex;align-items:center;justify-content:center;min-height:34px;padding:0 12px;font-size:10px;font-weight:760;line-height:1.1}
body.alx-crm-page #viewCallbacks .appt-toolbar{grid-template-columns:minmax(260px,1.45fr) minmax(180px,.9fr) minmax(180px,.9fr) max-content;gap:12px}
body.alx-crm-page #viewCallbacks .appt-toolbar>*{min-width:0}
body.alx-crm-page #viewCallbacks .appt-search-wrap{display:block;width:100%}
body.alx-crm-page #viewCallbacks .appt-search-icon{top:50%;transform:translateY(-50%);font-size:15px;line-height:1}
body.alx-crm-page #viewCallbacks .appt-toolbar input,
body.alx-crm-page #viewCallbacks .appt-toolbar select,
body.alx-crm-page #viewCallbacks .appt-reset{font-family:inherit!important;font-size:13px!important;line-height:1.2!important;letter-spacing:0!important;font-weight:620!important}
body.alx-crm-page #viewCallbacks .appt-toolbar input::placeholder{color:#84a7ca;opacity:1;font-size:13px;line-height:1.2}
body.alx-crm-page #viewCallbacks .appt-toolbar select{-webkit-appearance:none;appearance:none;background-image:linear-gradient(45deg,transparent 50%,#7ea8d2 50%),linear-gradient(135deg,#7ea8d2 50%,transparent 50%);background-position:calc(100% - 18px) calc(50% - 2px),calc(100% - 12px) calc(50% - 2px);background-size:6px 6px,6px 6px;background-repeat:no-repeat;padding:0 38px 0 12px;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}
body.alx-crm-page #viewCallbacks .appt-reset{display:inline-flex;align-items:center;justify-content:center;min-width:170px;padding:0 18px;white-space:nowrap;text-align:center}
body.alx-crm-page #viewCallbacks .appt-loading{display:flex;align-items:center;justify-content:center;min-height:180px;padding:32px 18px;color:var(--appt-muted);font-size:12px}
@media(max-width:1180px){body.alx-crm-page #viewCallbacks .appt-toolbar{grid-template-columns:minmax(220px,1fr) minmax(170px,1fr);grid-auto-rows:minmax(40px,auto)}body.alx-crm-page #viewCallbacks .appt-reset{min-width:0;width:100%}}
@media(max-width:720px){body.alx-crm-page #viewCallbacks .appt-total-pill{width:100%;justify-content:flex-start}body.alx-crm-page #viewCallbacks .appt-toolbar{grid-template-columns:1fr}}

/* v4.3.18 - Randevular: prevent actual appointment rows from being clipped
   behind a non-scrollable page. Use one deliberate scroll surface. */
body.alx-crm-page:has(#viewCallbacks.is-active) .app-shell {
  height: 100vh !important;
  height: 100dvh !important;
  min-height: 0 !important;
}
body.alx-crm-page:has(#viewCallbacks.is-active) .main {
  height: 100vh !important;
  height: 100dvh !important;
  min-height: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  overflow: hidden !important;
}
body.alx-crm-page:has(#viewCallbacks.is-active) .topbar {
  flex: 0 0 auto !important;
}
body.alx-crm-page #viewCallbacks.appointments-studio.is-active {
  flex: 1 1 auto !important;
  min-height: 0 !important;
  height: auto !important;
  max-height: none !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  scrollbar-width: thin;
  overscroll-behavior: contain;
  padding-bottom: 32px !important;
}
body.alx-crm-page #viewCallbacks .appt-table-scroll {
  max-height: none !important;
  min-height: 0 !important;
  overflow-x: auto !important;
  overflow-y: visible !important;
}
