/* iFix Cellfone — Scheduling System v12.4
   ifsc-* = customer widget · isa-* = admin page */

:root{
  --sc-brand:#1860f0;--sc-brand-lite:#e8f2ff;--sc-brand-glow:rgba(24,96,240,.15);
  --sc-green:#059669;--sc-green-lite:#d1fae5;
  --sc-amber:#d97706;--sc-amber-lite:#fef3c7;
  --sc-red:#dc2626;--sc-red-lite:#fee2e2;
  --sc-gray-50:#f8fafc;--sc-gray-100:#f1f5f9;--sc-gray-200:#e2e8f0;
  --sc-gray-400:#94a3b8;--sc-gray-500:#64748b;--sc-gray-700:#334155;--sc-gray-900:#0f172a;
  --sc-radius:13px;--sc-radius-sm:8px;
  --sc-shadow:0 2px 10px rgba(15,23,42,.08),0 1px 3px rgba(15,23,42,.05);
  --sc-shadow-lg:0 10px 36px rgba(15,23,42,.13);
  --sc-font:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
}
@keyframes sc-spin{to{transform:rotate(360deg);}}
@keyframes sc-step-in{from{opacity:0;transform:translateY(8px);}to{opacity:1;transform:none;}}

/* ═══ CUSTOMER WIDGET ═════════════════════════════════════════════ */
.ifix-sched-mount,.ifix-sched-mount-panel{margin-top:0;text-align:left;}
.ifsc-wrap{background:#fff;border:1.5px solid var(--sc-gray-200);border-radius:var(--sc-radius);box-shadow:var(--sc-shadow-lg);font-family:var(--sc-font);font-size:14px;color:var(--sc-gray-900);overflow:hidden;-webkit-font-smoothing:antialiased;text-align:left;max-width:100%;box-sizing:border-box;}
.ifsc-wrap *,.ifsc-wrap *::before,.ifsc-wrap *::after{box-sizing:border-box;}
.ifsc-hdr{position:relative;overflow:hidden;background:linear-gradient(130deg,#1860f0 0%,#4f46e5 55%,#7c3aed 100%);}
.ifsc-hdr::before,.ifsc-hdr::after{content:'';position:absolute;border-radius:50%;background:rgba(255,255,255,.08);pointer-events:none;}
.ifsc-hdr::before{width:160px;height:160px;top:-60px;right:-40px;}
.ifsc-hdr::after{width:90px;height:90px;bottom:-30px;left:60px;}
.ifsc-hdr-inner{position:relative;display:flex;align-items:center;gap:14px;padding:22px 24px 20px;z-index:1;}
.ifsc-hdr-ico{font-size:30px;line-height:1;flex-shrink:0;}
.ifsc-hdr-title{font-size:18px;font-weight:800;color:#fff;letter-spacing:-.3px;}
.ifsc-hdr-sub{font-size:12px;color:rgba(255,255,255,.8);margin-top:3px;}
/* .ifsc-step in the INDICATOR BAR — styled by .ifsc-steps .ifsc-step below */
/* Content panels use .ifsc-panel (added in the critical rules section below) */
.ifsc-step-label{display:flex;align-items:center;gap:10px;margin-bottom:16px;font-size:15px;font-weight:700;color:var(--sc-gray-900);flex-wrap:wrap;}
.ifsc-step-num{width:26px;height:26px;border-radius:50%;background:var(--sc-brand);color:#fff;font-size:12px;font-weight:800;display:flex;align-items:center;justify-content:center;flex-shrink:0;box-shadow:0 3px 10px var(--sc-brand-glow);}
.ifsc-chosen-badge{margin-left:auto;font-size:12px;color:var(--sc-brand);font-weight:600;background:var(--sc-brand-lite);padding:3px 10px;border-radius:99px;}
.ifsc-cal-nav{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px;}
.ifsc-cal-nav-title{font-size:15px;font-weight:700;color:var(--sc-gray-900);}
.ifsc-cal-nav-btn{width:34px;height:34px;border-radius:50%;border:1.5px solid var(--sc-gray-200);background:#fff;font-size:17px;line-height:1;color:var(--sc-gray-700);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s;-webkit-tap-highlight-color:transparent;}
.ifsc-cal-nav-btn:hover{background:var(--sc-brand-lite);border-color:var(--sc-brand);color:var(--sc-brand);}
.ifsc-cal-grid-wrap{overflow:hidden;}
.ifsc-cal-row-dow{display:grid;grid-template-columns:repeat(7,1fr);gap:3px;margin-bottom:4px;}
.ifsc-cal-dow{text-align:center;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--sc-gray-400);padding:5px 2px 3px;}
.ifsc-cal-days{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;}
.ifsc-day{position:relative;width:100%;padding-bottom:100%;border-radius:8px;border:1.5px solid transparent;cursor:pointer;transition:all .15s;-webkit-tap-highlight-color:transparent;user-select:none;-webkit-user-select:none;}
.ifsc-day-num{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;font-size:13px;font-weight:600;gap:2px;}
.ifsc-day-dot{width:4px;height:4px;border-radius:50%;background:var(--sc-green);display:block;}
.ifsc-dot-amber{background:var(--sc-amber);}
.ifsc-day-empty{cursor:default;pointer-events:none;background:transparent;}
.ifsc-day-past,.ifsc-day-unavailable{background:var(--sc-gray-50);color:var(--sc-gray-400);cursor:not-allowed;pointer-events:none;}
.ifsc-day-full{background:var(--sc-red-lite);color:#991b1b;cursor:not-allowed;pointer-events:none;}
.ifsc-day-limited{background:var(--sc-amber-lite);color:#78350f;border-color:#fde68a;font-weight:700;}
.ifsc-day-limited:hover,.ifsc-day-limited:focus{background:#fde68a;transform:scale(1.06);outline:none;}
.ifsc-day-available{background:var(--sc-green-lite);color:#065f46;border-color:#a7f3d0;font-weight:700;}
.ifsc-day-available:hover,.ifsc-day-available:focus{background:#a7f3d0;transform:scale(1.08);box-shadow:0 4px 14px rgba(5,150,105,.2);outline:none;}
.ifsc-day-today{border-color:var(--sc-brand)!important;font-weight:800!important;}
.ifsc-day-selected{background:var(--sc-brand)!important;color:#fff!important;border-color:var(--sc-brand)!important;transform:scale(1.10)!important;box-shadow:0 6px 20px rgba(24,96,240,.35)!important;font-weight:800!important;}
.ifsc-day-selected .ifsc-day-dot{background:rgba(255,255,255,.8);}
.ifsc-cal-legend{display:flex;gap:14px;flex-wrap:wrap;margin-top:12px;font-size:11px;color:var(--sc-gray-500);align-items:center;}
.ifsc-cal-legend-item{display:flex;align-items:center;gap:5px;}
.sc-dot{width:8px;height:8px;border-radius:50%;display:inline-block;}
.sc-dot-avail{background:var(--sc-green);}
.sc-dot-limited{background:var(--sc-amber);}
.sc-dot-full{background:var(--sc-red);}
.sc-dot-off{background:var(--sc-gray-400);}
.ifsc-slots{display:grid;grid-template-columns:repeat(auto-fill,minmax(128px,1fr));gap:8px;margin-bottom:14px;}
.ifsc-slot{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:12px 10px;border-radius:var(--sc-radius-sm);border:1.5px solid var(--sc-gray-200);background:#fff;cursor:pointer;font-family:var(--sc-font);transition:all .15s;-webkit-tap-highlight-color:transparent;gap:2px;min-height:62px;}
.ifsc-slot-start{font-size:13px;font-weight:700;color:var(--sc-gray-900);line-height:1.2;}
.ifsc-slot-sep{font-size:10px;color:var(--sc-gray-400);line-height:1;}
.ifsc-slot-end{font-size:11px;font-weight:500;color:var(--sc-gray-500);line-height:1.2;}
.ifsc-slot:not([disabled]):hover{background:var(--sc-brand-lite);border-color:var(--sc-brand);transform:translateY(-2px);box-shadow:0 6px 16px var(--sc-brand-glow);}
.ifsc-slot:not([disabled]):hover .ifsc-slot-start{color:var(--sc-brand);}
.ifsc-slot-selected{background:linear-gradient(135deg,#1860f0,#4f46e5)!important;border-color:var(--sc-brand)!important;box-shadow:0 8px 24px rgba(24,96,240,.32)!important;transform:translateY(-2px)!important;}
.ifsc-slot-selected .ifsc-slot-start,.ifsc-slot-selected .ifsc-slot-sep,.ifsc-slot-selected .ifsc-slot-end{color:#fff!important;}
.ifsc-slot-taken,.ifsc-slot-past{background:var(--sc-gray-50);color:var(--sc-gray-400);cursor:not-allowed;opacity:.7;}
.ifsc-slot-taken .ifsc-slot-start,.ifsc-slot-past .ifsc-slot-start{text-decoration:line-through;color:var(--sc-gray-400);}
.ifsc-no-slots{grid-column:1/-1;text-align:center;padding:24px;color:var(--sc-gray-500);font-size:14px;}
.ifsc-back{background:none;border:none;color:var(--sc-gray-500);font-size:13px;cursor:pointer;padding:6px 0;font-family:var(--sc-font);display:inline-flex;align-items:center;gap:5px;transition:color .14s;-webkit-tap-highlight-color:transparent;margin-top:4px;}
.ifsc-back:hover{color:var(--sc-brand);}
.ifsc-zone-banner{display:flex;align-items:flex-start;gap:10px;background:linear-gradient(135deg,#eff6ff,#f0fdf4);border:1px solid #bfdbfe;border-radius:var(--sc-radius-sm);padding:13px 15px;margin-bottom:16px;font-size:13px;color:#1d4ed8;line-height:1.55;}
.ifsc-zone-icon{width:18px;height:18px;flex-shrink:0;margin-top:1px;stroke:#1d4ed8;}
.ifsc-addr-field{position:relative;}
.ifsc-addr-wrap{position:relative;display:flex;align-items:center;border:1.5px solid var(--sc-gray-200);border-radius:var(--sc-radius-sm);background:#fff;transition:all .15s;overflow:hidden;}
.ifsc-addr-wrap:focus-within{border-color:var(--sc-brand);box-shadow:0 0 0 3px var(--sc-brand-glow);}
.ifsc-addr-pin{position:absolute;left:12px;top:50%;transform:translateY(-50%);width:18px;height:18px;color:var(--sc-gray-400);pointer-events:none;flex-shrink:0;z-index:2;}
.ifsc-addr-input{width:100%;padding:13px 13px 13px 40px;border:none;font-size:14px;font-family:var(--sc-font);color:var(--sc-gray-900)!important;-webkit-text-fill-color:var(--sc-gray-900)!important;background:#fff!important;outline:none;-webkit-appearance:none;color-scheme:light;}
.ifsc-addr-input:-webkit-autofill,.ifsc-addr-input:-webkit-autofill:hover,.ifsc-addr-input:-webkit-autofill:focus{-webkit-text-fill-color:var(--sc-gray-900)!important;box-shadow:0 0 0 1000px #fff inset!important;transition:background-color 9999s ease-out 0s!important;}
.ifsc-addr-input::placeholder{color:var(--sc-gray-400);}
.ifsc-addr-clear-wrap{padding-right:8px;}
.ifsc-addr-clear{background:none;border:none;cursor:pointer;color:var(--sc-gray-400);font-size:16px;padding:4px 6px;border-radius:4px;display:flex;align-items:center;transition:color .12s;-webkit-tap-highlight-color:transparent;}
.ifsc-addr-clear:hover{color:var(--sc-red);background:var(--sc-red-lite);}
.ifsc-sugg{position:absolute;left:0;right:0;top:calc(100% + 4px);background:#fff;border:1.5px solid var(--sc-gray-200);border-radius:var(--sc-radius-sm);box-shadow:var(--sc-shadow-lg);z-index:9999;max-height:280px;overflow-y:auto;-webkit-overflow-scrolling:touch;display:none;}
.ifsc-sugg.is-open{display:block;animation:sc-step-in .16s ease;}
.ifsc-sugg-item{display:flex;align-items:flex-start;gap:10px;padding:12px 14px;cursor:pointer;border-bottom:1px solid var(--sc-gray-100);transition:background .12s;-webkit-tap-highlight-color:transparent;}
.ifsc-sugg-item:last-child{border-bottom:none;}
.ifsc-sugg-item:hover{background:var(--sc-gray-50);}
.ifsc-sugg-pin{width:17px;height:17px;stroke:var(--sc-brand);flex-shrink:0;margin-top:1px;}
.ifsc-sugg-body{flex:1;min-width:0;}
.ifsc-sugg-name{font-size:13px;font-weight:600;color:var(--sc-gray-900);word-break:break-word;line-height:1.4;}
.ifsc-sugg-sub{font-size:11px;color:var(--sc-gray-500);margin-top:2px;line-height:1.35;}
.ifsc-sugg-loading{padding:12px 14px;font-size:12px;font-weight:700;color:var(--sc-brand);display:flex;align-items:center;gap:8px;}
.ifsc-sugg-badge{display:inline-block;font-size:10px;font-weight:700;padding:2px 8px;border-radius:99px;margin-top:4px;}
.sc-in-zone{background:var(--sc-green-lite);color:#065f46;}
.sc-out-zone{background:var(--sc-amber-lite);color:#78350f;}
.ifsc-addr-selected{display:flex;align-items:center;gap:10px;padding:13px 15px;background:var(--sc-green-lite);border:1.5px solid #a7f3d0;border-radius:var(--sc-radius-sm);margin-top:8px;font-size:13px;font-weight:600;color:#065f46;}
.ifsc-addr-selected[hidden]{display:none;}
.ifsc-addr-change{margin-left:auto;background:none;border:none;cursor:pointer;color:#065f46;font-size:12px;font-weight:700;padding:3px 8px;border-radius:4px;font-family:var(--sc-font);text-decoration:underline;flex-shrink:0;}
.ifsc-out-zone-warn{padding:11px 14px;background:var(--sc-amber-lite);border:1.5px solid #fde68a;border-radius:var(--sc-radius-sm);font-size:13px;color:#78350f;margin-top:8px;line-height:1.5;}
.ifsc-out-zone-warn[hidden]{display:none;}
.ifsc-confirm-bar{padding:20px 24px;background:linear-gradient(to bottom,var(--sc-gray-50),#fff);border-top:1px solid var(--sc-gray-200);}
.ifsc-confirm-bar[hidden]{display:none;}
.ifsc-confirm-card{background:#fff;border:1.5px solid var(--sc-brand);border-radius:var(--sc-radius-sm);padding:15px 17px;margin-bottom:14px;font-size:14px;color:var(--sc-gray-700);line-height:1.75;}
.ifsc-confirm-card strong{color:var(--sc-gray-900);}
.ifsc-confirm-btn{width:100%;padding:15px;background:linear-gradient(135deg,var(--sc-green),#047857);color:#fff;border:none;border-radius:var(--sc-radius-sm);font-size:15px;font-weight:700;font-family:var(--sc-font);cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;transition:all .18s;box-shadow:0 6px 22px rgba(5,150,105,.3);-webkit-tap-highlight-color:transparent;}
.ifsc-confirm-btn:hover:not(:disabled){background:linear-gradient(135deg,#047857,#065f46);transform:translateY(-1px);box-shadow:0 10px 30px rgba(5,150,105,.4);}
.ifsc-confirm-btn:disabled{opacity:.6;cursor:not-allowed;transform:none;box-shadow:none;}
@keyframes sc-btn-spin{to{transform:rotate(360deg);}}
.ifsc-btn-spinner{width:16px;height:16px;border:2.5px solid rgba(255,255,255,.35);border-top-color:#fff;border-radius:50%;animation:sc-btn-spin .6s linear infinite;flex-shrink:0;}
.ifsc-confirm-err{margin-top:10px;font-size:13px;font-weight:600;color:var(--sc-red);text-align:center;min-height:18px;}
.ifsc-booked-wrap{padding:36px 24px;text-align:center;animation:sc-step-in .3s ease;}
.ifsc-booked-wrap[hidden]{display:none;}
.ifsc-booked-ico{font-size:52px;display:block;margin-bottom:14px;}
.ifsc-booked-title{font-size:22px;font-weight:800;color:var(--sc-gray-900);letter-spacing:-.3px;margin-bottom:14px;}
.ifsc-booked-detail{background:var(--sc-green-lite);border:1.5px solid #a7f3d0;border-radius:var(--sc-radius-sm);padding:15px 20px;font-size:14px;color:#065f46;font-weight:600;line-height:1.75;max-width:440px;margin:0 auto 14px;}
.ifsc-booked-sms{font-size:13px;color:var(--sc-gray-500);}
.ifsc-loading{display:flex;align-items:center;justify-content:center;padding:28px;gap:10px;color:var(--sc-gray-500);font-size:13px;}
.ifsc-spinner{width:22px;height:22px;border:3px solid var(--sc-brand-lite);border-top-color:var(--sc-brand);border-radius:50%;animation:sc-spin .7s linear infinite;flex-shrink:0;}
.tp-square-note{text-align:center;font-size:12px;color:var(--sc-gray-400);margin-top:10px;}
@media(max-width:500px){
  .ifsc-hdr-inner{padding:18px 16px 16px;}.ifsc-hdr-title{font-size:16px;}
  .ifsc-step{padding:18px 16px;}.ifsc-slots{grid-template-columns:repeat(auto-fill,minmax(100px,1fr));}
  .ifsc-slot{min-height:56px;padding:10px 8px;}.ifsc-cal-days{gap:3px;}
}

/* Current customer widget markup */
.ifsc-header{position:relative;overflow:hidden;background:linear-gradient(135deg,#0f172a 0%,#1d4ed8 58%,#0f766e 100%);}
.ifsc-header::before{content:'';position:absolute;inset:auto -70px -90px auto;width:220px;height:220px;border-radius:50%;background:rgba(255,255,255,.12);}
.ifsc-header-inner{position:relative;z-index:1;display:flex;align-items:center;gap:14px;padding:24px;}
.ifsc-header-icon{width:46px;height:46px;border-radius:14px;background:rgba(255,255,255,.16);display:flex;align-items:center;justify-content:center;font-size:24px;box-shadow:inset 0 1px 0 rgba(255,255,255,.2);}
.ifsc-header-title{font-size:20px;font-weight:850;color:#fff;letter-spacing:0;line-height:1.15;}
.ifsc-header-sub{font-size:13px;color:rgba(255,255,255,.78);margin-top:4px;line-height:1.35;}
.ifsc-cal-month{font-size:16px;font-weight:800;color:var(--sc-gray-900);letter-spacing:0;}
.ifsc-dot{width:8px;height:8px;border-radius:50%;display:inline-block;margin-right:5px;}
.ifsc-dot-avail{background:var(--sc-green);}
.ifsc-dot-limited{background:var(--sc-amber);}
.ifsc-dot-full{background:var(--sc-red);}
.ifsc-dot-closed{background:var(--sc-gray-400);}
.ifsc-slots-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(126px,1fr));gap:10px;margin-bottom:14px;}
.ifsc-addr-input-wrap{position:relative;display:flex;align-items:center;border:1.5px solid var(--sc-gray-200);border-radius:12px;background:#fff!important;transition:all .15s;overflow:hidden;box-shadow:0 1px 2px rgba(15,23,42,.04);color-scheme:light;isolation:isolate;}
.ifsc-addr-input-wrap::before{content:'';position:absolute;inset:0;background:#fff;z-index:0;}
.ifsc-addr-input-wrap:focus-within{border-color:var(--sc-brand);box-shadow:0 0 0 4px var(--sc-brand-glow);}
.ifsc-addr-input,.ifsc-addr-clear-wrap{position:relative;z-index:1;}
.ifsc-addr-input{min-height:50px;}
.ifsc-suggestions{position:absolute;left:0;right:0;top:calc(100% + 8px);background:#fff;border:1.5px solid var(--sc-gray-200);border-radius:12px;box-shadow:var(--sc-shadow-lg);z-index:9999;max-height:300px;overflow-y:auto;-webkit-overflow-scrolling:touch;}
.ifsc-suggestions[hidden]{display:none!important;}
.pac-container{z-index:100000!important;border:1px solid #dbe7f5;border-radius:14px;box-shadow:0 18px 44px rgba(15,23,42,.14);padding:6px;background:#fff;font-family:var(--sc-font);}
.pac-item{padding:10px 12px;font-size:13px;color:#0f172a;border-top:1px solid #eef4fb;}
.pac-item:first-child{border-top:none;}
.pac-item:hover,.pac-item-selected{background:#eef5ff;}
.pac-icon{display:none;}
.ifsc-sugg-badge.ifsc-badge-in{background:var(--sc-green-lite);color:#065f46;}
.ifsc-sugg-badge.ifsc-badge-out{background:var(--sc-amber-lite);color:#78350f;}
.ifsc-addr-confirmed{display:flex;align-items:flex-start;gap:10px;padding:14px 15px;background:linear-gradient(135deg,#ecfdf5,#f0fdfa);border:1.5px solid #a7f3d0;border-radius:12px;margin-top:10px;font-size:13px;font-weight:650;color:#065f46;line-height:1.45;}
.ifsc-addr-confirmed[hidden]{display:none!important;}
.ifsc-addr-confirmed span{min-width:0;word-break:break-word;flex:1;}
.ifsc-confirm-row{display:grid;grid-template-columns:118px 1fr;gap:12px;padding:12px 0;border-bottom:1px solid var(--sc-gray-100);}
.ifsc-confirm-row:last-child{border-bottom:none;}
.ifsc-cr-label{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.6px;color:var(--sc-gray-500);}
.ifsc-cr-val{font-size:14px;font-weight:700;color:var(--sc-gray-900);line-height:1.45;word-break:break-word;}

@media(max-width:560px){
  .ifsc-header-inner{padding:20px 18px;}
  .ifsc-header-title{font-size:18px;}
  .ifsc-slots-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
  .ifsc-confirm-row{grid-template-columns:1fr;gap:3px;}
}

/* ═══ ADMIN SCHEDULING PAGE ════════════════════════════════════════ */
.ifix-sched-admin{max-width:1320px;font-family:var(--sc-font);padding:8px 8px 28px;}
.isa-kpi-strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin:0 0 18px;}
.isa-kpi-card{background:linear-gradient(180deg,#ffffff 0%,#f8fbff 100%);border:1px solid #dbe7f5;border-radius:16px;padding:18px 18px;box-shadow:0 12px 34px rgba(15,23,42,.07);}
.isa-kpi-label{display:block;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.7px;color:#64748b;margin-bottom:8px;}
.isa-kpi-value{display:block;font-size:28px;line-height:1;font-weight:900;color:#0f172a;letter-spacing:-.5px;margin-bottom:6px;}
.isa-kpi-meta{display:block;font-size:12px;color:#64748b;line-height:1.4;}
.isa-head{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:20px;flex-wrap:wrap;gap:14px;padding:18px 20px;border:1px solid #dce7f5;border-radius:20px;background:linear-gradient(135deg,#ffffff 0%,#f6f9ff 60%,#eef6ff 100%);box-shadow:0 18px 46px rgba(15,23,42,.07);}
.isa-page-title{font-size:28px;font-weight:900;color:#0f172a;margin:0 0 5px;letter-spacing:-.7px;line-height:1.1;}
.isa-page-sub{font-size:14px;color:#64748b;margin:0;line-height:1.6;}
.isa-mode-pill{display:inline-flex;align-items:center;gap:6px;padding:6px 14px;border-radius:99px;font-size:12px;font-weight:700;}
.mode-native{background:#d1fae5;color:#065f46;border:1px solid #a7f3d0;}
.mode-square{background:#eff6ff;color:#1d4ed8;border:1px solid #bfdbfe;}
.isa-layout{display:grid;grid-template-columns:minmax(360px,430px) minmax(0,1fr);gap:22px;align-items:start;}
@media(max-width:1060px){.isa-layout{grid-template-columns:1fr;}}
.isa-col-left,.isa-col-right{display:flex;flex-direction:column;gap:14px;}
.isa-card{background:linear-gradient(180deg,#ffffff 0%,#fbfdff 100%);border:1px solid #deebf7;border-radius:20px;box-shadow:0 18px 44px rgba(15,23,42,.06);padding:22px 24px;transition:transform .16s,box-shadow .2s,border-color .2s;}
.isa-card:hover{box-shadow:0 22px 52px rgba(15,23,42,.09);border-color:#cfe0f4;}
.isa-card-title{font-size:15px;font-weight:800;color:#0f172a;margin:0 0 16px;padding-bottom:12px;border-bottom:1px solid #edf3f9;letter-spacing:-.2px;}
.isa-card-head-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid #edf3f9;flex-wrap:wrap;gap:8px;}
.isa-card-tools{display:flex;align-items:center;gap:8px;flex-wrap:wrap;}
.isa-input-search{min-width:260px;}
.isa-count-pill{display:inline-flex;align-items:center;padding:3px 10px;border-radius:99px;font-size:11px;font-weight:700;background:#e8f2ff;color:#1860f0;}
.isa-mode-group{display:flex;flex-direction:column;gap:10px;}
.isa-mode-opt{display:flex;align-items:flex-start;gap:14px;padding:17px;border:1px solid #d9e6f3;border-radius:14px;cursor:pointer;transition:all .15s;position:relative;background:#fff;}
.isa-mode-opt:hover{border-color:#1860f0;background:#e8f2ff;}
.isa-mode-opt.is-sel{border-color:#1860f0;background:linear-gradient(135deg,#eef5ff,#f5f3ff);box-shadow:0 0 0 4px rgba(24,96,240,.08),0 18px 30px rgba(24,96,240,.08);}
.isa-mode-ico{font-size:24px;flex-shrink:0;margin-top:2px;}
.isa-mode-name{font-size:14px;font-weight:700;color:#0f172a;display:block;margin-bottom:3px;}
.isa-mode-desc{font-size:12px;color:#64748b;line-height:1.5;}
.isa-mode-radio{position:absolute;top:16px;right:16px;width:16px;height:16px;accent-color:#1860f0;cursor:pointer;}
.isa-rules-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px 18px;margin-bottom:16px;}
@media(max-width:560px){.isa-rules-grid{grid-template-columns:1fr;}}
.isa-field{display:flex;flex-direction:column;gap:5px;}
.isa-label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.7px;color:#64748b;}
.isa-hint{font-size:11px;color:#94a3b8;margin:0;}
.isa-hint-inline{font-size:11px;color:#94a3b8;font-weight:400;text-transform:none;letter-spacing:0;}
.isa-input{border:1px solid #d4e0ee;border-radius:12px;padding:11px 13px;font-size:13px;font-family:var(--sc-font);color:#0f172a;background:#fff;width:100%;transition:all .15s;box-shadow:inset 0 1px 2px rgba(15,23,42,.03);}
.isa-input:focus{border-color:#1860f0;outline:none;box-shadow:0 0 0 4px rgba(24,96,240,.1);}
.isa-textarea{resize:vertical;min-height:76px;}
.isa-toggle{display:inline-flex;cursor:pointer;}
.isa-toggle input{position:absolute;opacity:0;width:0;height:0;}
.isa-toggle-knob{position:relative;display:block;width:42px;height:23px;border-radius:12px;background:#cbd5e1;transition:background .2s;}
.isa-toggle-knob::after{content:'';position:absolute;top:3px;left:3px;width:17px;height:17px;border-radius:50%;background:#fff;box-shadow:0 1px 4px rgba(0,0,0,.2);transition:transform .2s;}
.isa-toggle input:checked+.isa-toggle-knob{background:linear-gradient(135deg,#10b981,#059669);}
.isa-toggle input:checked+.isa-toggle-knob::after{transform:translateX(19px);}
.isa-form-foot{display:flex;align-items:center;gap:10px;flex-wrap:wrap;}
.isa-msg{font-size:12px;font-weight:700;min-height:18px;}
.isa-msg.ok{color:#059669;}.isa-msg.err{color:#dc2626;}
.isa-btn{display:inline-flex;align-items:center;gap:6px;padding:9px 16px;border-radius:11px;font-size:13px;font-weight:700;font-family:var(--sc-font);cursor:pointer;border:1px solid transparent;transition:all .15s;white-space:nowrap;-webkit-tap-highlight-color:transparent;}
.isa-btn-primary{background:linear-gradient(135deg,#1860f0,#4f46e5);color:#fff;border-color:#1860f0;box-shadow:0 4px 14px rgba(24,96,240,.28);}
.isa-btn-primary:hover{transform:translateY(-1px);box-shadow:0 8px 22px rgba(24,96,240,.38);}
.isa-btn:not(.isa-btn-primary):not(.isa-btn-danger):not(.isa-btn-icon){background:#fff;color:#334155;border-color:#d9e6f3;box-shadow:0 8px 18px rgba(15,23,42,.04);}
.isa-btn:not(.isa-btn-primary):not(.isa-btn-danger):not(.isa-btn-icon):hover{background:#f8fafc;border-color:#cbd5e1;}
.isa-btn-danger{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff;border-color:#dc2626;}
.isa-btn-danger:hover{transform:translateY(-1px);box-shadow:0 6px 18px rgba(220,38,38,.32);}
.isa-btn-icon{width:30px;height:30px;border-radius:50%;background:#fff;border:1.5px solid #e2e8f0;display:flex;align-items:center;justify-content:center;font-size:16px;cursor:pointer;transition:all .15s;padding:0;}
.isa-btn-icon:hover{background:#e8f2ff;border-color:#1860f0;color:#1860f0;}
.isa-btn-sm{padding:5px 12px;font-size:12px;}.isa-btn-xs{padding:4px 10px;font-size:11px;border-radius:6px;}
.isa-week-grid{display:flex;flex-direction:column;}
.isa-day-row{display:grid;grid-template-columns:48px minmax(120px,1fr) auto;grid-template-areas:"toggle name badge" "toggle controls slot";align-items:center;gap:10px 12px;padding:14px 14px;margin-bottom:10px;border:1px solid #e6eef8;border-radius:16px;background:linear-gradient(180deg,#ffffff 0%,#f8fbff 100%);box-shadow:0 10px 24px rgba(15,23,42,.04);transition:transform .12s,box-shadow .12s,border-color .12s;}
.isa-day-row:last-child{margin-bottom:0;}
.isa-day-row.is-off{opacity:.62;background:#f8fafc;}
.isa-day-row:hover{border-color:#cfe0f4;box-shadow:0 14px 32px rgba(15,23,42,.06);transform:translateY(-1px);}
.isa-day-row .isa-toggle{grid-area:toggle;}
.isa-day-name{grid-area:name;font-size:14px;font-weight:700;color:#0f172a;}
.isa-day-times{grid-area:controls;display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:8px;min-width:260px;}
.isa-time{border:1px solid #d4e0ee;border-radius:10px;padding:9px 34px 9px 10px;font-size:12px;font-family:var(--sc-font);color:#0f172a;background:#fff;width:100%;min-width:0;transition:all .15s;box-shadow:inset 0 1px 2px rgba(15,23,42,.03);}
.isa-time:focus{border-color:#1860f0;outline:none;box-shadow:0 0 0 4px rgba(24,96,240,.1);}
.isa-time-arrow{color:#94a3b8;font-size:11px;}
.isa-slot-sel{grid-area:slot;border:1px solid #d4e0ee;border-radius:10px;padding:9px 34px 9px 10px;font-size:12px;font-family:var(--sc-font);color:#334155;background:#fff;cursor:pointer;width:132px;max-width:100%;box-shadow:inset 0 1px 2px rgba(15,23,42,.03);}
.isa-time,.isa-slot-sel{-webkit-appearance:none;appearance:none;background-image:linear-gradient(45deg,transparent 50%,#64748b 50%),linear-gradient(135deg,#64748b 50%,transparent 50%);background-position:calc(100% - 18px) calc(50% - 3px),calc(100% - 12px) calc(50% - 3px);background-size:6px 6px,6px 6px;background-repeat:no-repeat;}
.isa-badge-on{background:#d1fae5;color:#065f46;border-radius:99px;padding:2px 8px;font-size:10px;font-weight:700;}
.isa-badge-off{background:#f1f5f9;color:#64748b;border-radius:99px;padding:2px 8px;font-size:10px;font-weight:700;}
.isa-day-badge{grid-area:badge;justify-self:end;}
@media(max-width:760px){.isa-day-row{grid-template-columns:48px minmax(0,1fr);grid-template-areas:"toggle name" "controls controls" "slot slot";}.isa-day-times{min-width:0;}.isa-slot-sel{width:100%;max-width:220px;}.isa-day-badge{display:none;}}
@media(max-width:540px){.isa-day-row{grid-template-columns:44px minmax(0,1fr);}.isa-day-times{grid-template-columns:1fr;}.isa-time-arrow{display:none;}.isa-slot-sel{width:100%;max-width:none;}.isa-day-badge{display:none;}}
/* Today's appointments */
.isa-today-list{display:flex;flex-direction:column;gap:10px;}
.isa-apt-card{background:#f8fafc;border:1.5px solid #e2e8f0;border-radius:10px;padding:14px 16px;transition:all .15s;}
.isa-apt-card:hover{border-color:#1860f0;background:#e8f2ff;}
.isa-apt-time{font-size:12px;font-weight:700;color:#1860f0;margin-bottom:5px;}
.isa-apt-name{font-size:14px;font-weight:700;color:#0f172a;}
.isa-apt-meta{display:flex;gap:12px;flex-wrap:wrap;margin-top:4px;font-size:12px;color:#64748b;}
.isa-apt-addr{font-size:12px;color:#64748b;margin-top:4px;word-break:break-word;}
.isa-apt-actions{display:flex;gap:6px;margin-top:10px;flex-wrap:wrap;}
/* Calendar */
.isa-cal-wrap{}
.isa-cal-nav{display:flex;align-items:center;gap:8px;}
.isa-cal-month-label{font-size:14px;font-weight:700;color:#0f172a;min-width:140px;text-align:center;}
.isa-cal-grid-inner{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;margin-top:12px;user-select:none;}
.isa-cal-dh{text-align:center;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.6px;color:#64748b;padding:4px 0;}
.isa-cal-d{position:relative;width:100%;padding-bottom:100%;border-radius:8px;cursor:pointer;transition:all .15s;border:1.5px solid transparent;-webkit-tap-highlight-color:transparent;}
.isa-cal-d-inner{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:12px;font-weight:600;gap:2px;}
.isa-cal-d.ac-empty{cursor:default;pointer-events:none;}
.isa-cal-d.ac-today{border-color:#1860f0!important;font-weight:800;}
.isa-cal-d.ac-blocked{background:#fee2e2;color:#991b1b;}.isa-cal-d.ac-blocked:hover{background:#fecaca;}
.isa-cal-d.ac-full{background:#fee2e2;color:#991b1b;border-color:#fecaca;}.isa-cal-d.ac-full:hover{background:#fecaca;}
.isa-cal-d.ac-closed{background:#f1f5f9;color:#94a3b8;cursor:pointer;pointer-events:auto;}
.isa-cal-d.ac-open{background:#d1fae5;color:#065f46;}.isa-cal-d.ac-open:hover{background:#a7f3d0;border-color:#10b981;}
.isa-cal-d.is-selected{box-shadow:0 0 0 3px rgba(24,96,240,.18),0 10px 24px rgba(24,96,240,.18);border-color:#1860f0;transform:translateY(-1px);}
.isa-cal-d.ac-has-apts::after{content:'';position:absolute;bottom:4px;left:50%;transform:translateX(-50%);width:5px;height:5px;border-radius:50%;background:#1860f0;}
.isa-cal-day-num{font-size:13px;line-height:1;}.isa-cal-day-cnt{font-size:9px;opacity:.75;}
.isa-day-view{margin-top:14px;padding:18px;border:1px solid #deebf7;border-radius:18px;background:linear-gradient(180deg,#fbfdff 0%,#fff 100%);box-shadow:inset 0 1px 0 rgba(255,255,255,.6);}
.isa-day-view-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-bottom:12px;}
.isa-day-view-label{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.7px;color:#64748b;margin-bottom:4px;}
.isa-day-view-title{font-size:15px;font-weight:800;color:#0f172a;line-height:1.3;}
.isa-day-view-count{display:inline-flex;align-items:center;padding:4px 10px;border-radius:999px;background:#eff6ff;color:#1860f0;font-size:11px;font-weight:800;}
.isa-day-appts{display:flex;flex-direction:column;gap:10px;}
.isa-day-apt{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:14px 15px;border:1px solid #e3eef8;border-radius:14px;background:#fff;box-shadow:0 10px 24px rgba(15,23,42,.05);}
.isa-day-apt-main{min-width:0;flex:1;}
.isa-day-apt-time{font-size:12px;font-weight:800;color:#1860f0;margin-bottom:4px;}
.isa-day-apt-name{font-size:14px;font-weight:800;color:#0f172a;line-height:1.3;}
.isa-day-apt-meta{font-size:12px;color:#64748b;line-height:1.5;margin-top:3px;word-break:break-word;}
.isa-day-apt-actions{display:flex;gap:6px;flex-wrap:wrap;flex-shrink:0;}
.isa-block-form{margin-top:14px;padding:15px;background:#fef3c7;border:1.5px solid #fde68a;border-radius:9px;}
.isa-block-title{font-size:13px;font-weight:700;color:#92400e;margin-bottom:10px;}
.isa-cal-legend{display:flex;gap:14px;flex-wrap:wrap;margin-top:12px;font-size:11px;color:#64748b;align-items:center;}
.isa-leg{display:flex;align-items:center;gap:5px;}.isa-dot{width:8px;height:8px;border-radius:50%;display:inline-block;}
.dot-avail{background:#10b981;}.dot-full{background:#dc2626;}.dot-blocked{background:#d97706;}.dot-off{background:#94a3b8;}
/* Month appointments — NEW premium card style */
#isa-month-apts{max-height:420px;overflow-y:auto;-webkit-overflow-scrolling:touch;display:flex;flex-direction:column;gap:10px;padding:2px 0;}
.isa-month-apt-card{display:flex;align-items:center;gap:14px;padding:15px 16px;background:linear-gradient(180deg,#ffffff 0%,#f8fbff 100%);border:1px solid #e3eef8;border-radius:16px;transition:all .15s;box-shadow:0 10px 24px rgba(15,23,42,.05);}
.isa-month-apt-card:hover{border-color:#cfe0f4;background:#f5f9ff;box-shadow:0 14px 32px rgba(15,23,42,.07);}
.isa-mac-time{flex-shrink:0;min-width:52px;text-align:center;}
.isa-mac-date{font-size:12px;font-weight:800;color:#1860f0;line-height:1.2;}
.isa-mac-clock{font-size:11px;color:#64748b;margin-top:2px;}
.isa-mac-body{flex:1;min-width:0;}
.isa-mac-name{font-size:13px;font-weight:700;color:#0f172a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.isa-mac-dev{font-size:11px;color:#64748b;margin-top:2px;}
.isa-mac-addr{font-size:11px;color:#64748b;margin-top:1px;word-break:break-word;}
.isa-mac-actions{display:flex;gap:5px;flex-shrink:0;}
/* Empty / Loading */
.isa-empty{display:flex;flex-direction:column;align-items:center;padding:28px 20px;text-align:center;color:#64748b;font-size:13px;}
.isa-empty-ico{font-size:34px;margin-bottom:10px;}
.isa-loading{display:flex;justify-content:center;align-items:center;gap:8px;padding:26px;color:#64748b;font-size:13px;}
.isa-spinner{width:18px;height:18px;border:3px solid #e2e8f0;border-top-color:#1860f0;border-radius:50%;animation:sc-spin .7s linear infinite;}


/* Customer scheduling structure */

/* Hide panels — this is the core visibility toggle */
.ifsc-hidden { display: none !important; }

/* Content panels — the actual date/time/address/confirm sections */
.ifsc-panel {
  padding: 24px;
  border-bottom: 1px solid var(--sc-gray-100);
  animation: sc-step-in .22s ease;
}
.ifsc-panel:last-of-type { border-bottom: none; }

/* Step indicator item */
.ifsc-steps .ifsc-step {
  padding: 0;
  border-bottom: none;
  animation: none;
  display: flex;
  align-items: center;
  gap: 7px;
  flex-shrink: 0;
}

/* The step indicator container — horizontal flex row */
.ifsc-steps {
  display: flex;
  align-items: center;
  padding: 14px 24px;
  background: var(--sc-gray-50);
  border-bottom: 1px solid var(--sc-gray-200);
  gap: 0;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

/* Connecting line between step dots */
.ifsc-step-line {
  flex: 1;
  height: 2px;
  background: var(--sc-gray-200);
  margin: 0 8px;
  min-width: 12px;
  border-radius: 99px;
  transition: background .3s;
}

/* Step indicator dot */
.ifsc-steps .ifsc-step-num {
  width: 26px;
  height: 26px;
  border-radius: 50%;
  background: var(--sc-gray-200);
  color: var(--sc-gray-500);
  font-size: 12px;
  font-weight: 700;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  transition: all .25s;
}
.ifsc-steps .ifsc-step.is-active .ifsc-step-num {
  background: var(--sc-brand);
  color: #fff;
  box-shadow: 0 4px 12px var(--sc-brand-glow);
}
.ifsc-steps .ifsc-step.is-done .ifsc-step-num {
  background: var(--sc-green);
  color: #fff;
}

/* Step label text */
.ifsc-steps .ifsc-step-lbl {
  font-size: 11px;
  font-weight: 600;
  color: var(--sc-gray-400);
  white-space: nowrap;
  transition: color .2s;
}
.ifsc-steps .ifsc-step.is-active .ifsc-step-lbl { color: var(--sc-brand); }
.ifsc-steps .ifsc-step.is-done   .ifsc-step-lbl { color: var(--sc-green); }

/* Panel header */
.ifsc-panel-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 18px;
  flex-wrap: wrap;
  gap: 8px;
}
.ifsc-panel-title {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 15px;
  font-weight: 700;
  color: var(--sc-gray-900);
}
.ifsc-panel-num {
  width: 26px; height: 26px;
  border-radius: 50%;
  background: var(--sc-brand);
  color: #fff;
  font-size: 12px;
  font-weight: 800;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  box-shadow: 0 3px 10px var(--sc-brand-glow);
}

/* Confirm bar (step 4 inside widget) */
.ifsc-confirm-bar {
  padding: 20px 24px;
  background: linear-gradient(to bottom, var(--sc-gray-50), #fff);
  border-top: 1px solid var(--sc-gray-200);
}
.ifsc-confirm-bar[hidden] { display: none; }
.ifsc-confirm-card {
  background: #fff;
  border: 1.5px solid var(--sc-brand);
  border-radius: var(--sc-radius-sm);
  padding: 15px 17px;
  margin-bottom: 14px;
  font-size: 14px;
  color: var(--sc-gray-700);
  line-height: 1.75;
}
.ifsc-confirm-card strong { color: var(--sc-gray-900); }
.ifsc-confirm-btn {
  width: 100%;
  padding: 15px;
  background: linear-gradient(135deg, var(--sc-green), #047857);
  color: #fff;
  border: none;
  border-radius: var(--sc-radius-sm);
  font-size: 15px;
  font-weight: 700;
  font-family: var(--sc-font);
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  transition: all .18s;
  box-shadow: 0 6px 22px rgba(5,150,105,.3);
  -webkit-tap-highlight-color: transparent;
}
.ifsc-confirm-btn:hover:not(:disabled) {
  background: linear-gradient(135deg, #047857, #065f46);
  transform: translateY(-1px);
}
.ifsc-confirm-btn:disabled { opacity: .6; cursor: not-allowed; transform: none; box-shadow: none; }
.ifsc-confirm-err {
  margin-top: 10px;
  font-size: 13px;
  font-weight: 600;
  color: var(--sc-red);
  text-align: center;
  min-height: 18px;
}

/* Success screen inside widget (transitional before step 8) */
.ifsc-success {
  padding: 32px 24px;
  text-align: center;
}
.ifsc-success-icon { width: 64px; height: 64px; margin: 0 auto 14px; }
.ifsc-success-icon svg { width: 64px; height: 64px; display: block; }
@keyframes ifsc-check-circle { to { stroke-dashoffset: 0; } }
@keyframes ifsc-check-tick    { to { stroke-dashoffset: 0; } }
.ifsc-success-circle {
  stroke: var(--sc-green); stroke-width: 2; fill: none;
  stroke-dasharray: 166; stroke-dashoffset: 166;
  animation: ifsc-check-circle .6s ease .1s forwards;
}
.ifsc-success-tick {
  stroke: var(--sc-green); stroke-width: 2.8; fill: none;
  stroke-linecap: round; stroke-linejoin: round;
  stroke-dasharray: 48; stroke-dashoffset: 48;
  animation: ifsc-check-tick .35s ease .75s forwards;
}
.ifsc-success-title { font-size: 20px; font-weight: 800; color: var(--sc-gray-900); margin-bottom: 12px; }
.ifsc-success-detail {
  background: var(--sc-green-lite);
  border: 1.5px solid #a7f3d0;
  border-radius: var(--sc-radius-sm);
  padding: 13px 17px;
  font-size: 14px;
  font-weight: 600;
  color: #065f46;
  line-height: 1.7;
  margin-bottom: 12px;
}
.ifsc-success-sms { font-size: 13px; color: var(--sc-gray-500); }
.ifsc-suc-row { display: flex; align-items: flex-start; gap: 8px; margin-bottom: 4px; }

/* Back button inside scheduling widget */
.ifsc-back-btn {
  background: none;
  border: none;
  color: var(--sc-gray-500);
  font-size: 13px;
  cursor: pointer;
  padding: 8px 0;
  font-family: var(--sc-font);
  display: inline-flex;
  align-items: center;
  gap: 5px;
  transition: color .14s;
  -webkit-tap-highlight-color: transparent;
  margin-top: 6px;
}
.ifsc-back-btn:hover { color: var(--sc-brand); }
.ifsc-skip-addr-btn {
  width: 100%;
  margin-top: 14px;
  padding: 12px 16px;
  border: 1.5px solid var(--sc-brand);
  border-radius: var(--sc-radius-sm);
  background: var(--sc-brand-lite);
  color: var(--sc-brand);
  font-family: var(--sc-font);
  font-size: 13px;
  font-weight: 800;
  cursor: pointer;
  transition: all .15s;
}
.ifsc-skip-addr-btn:hover { background: #dbeafe; transform: translateY(-1px); }

@media (max-width: 400px) {
  .ifsc-steps .ifsc-step-lbl { display: none; }
  .ifsc-steps { padding: 12px 16px; }
}
@media(max-width:760px){
  .isa-card-tools{width:100%;}
  .isa-input-search{min-width:0;flex:1;}
  .isa-day-apt{flex-direction:column;}
  .isa-day-apt-actions{width:100%;}
  .isa-head{padding:16px 16px 18px;}
  .isa-page-title{font-size:24px;}
}
