/* ============================================================
   luxe.css — LUXE1: the premium look for the staff app (r74).
   Loaded after styles.css and pro.css. Restyles only (no logic): delete
   the <link> to go back. The clinic's own colour still comes from
   brand.js (--brand, --brand-2, --brand-soft).

   Ideas: a floating light "canvas" on a deep ink backdrop, an editorial
   serif (Fraunces) for titles and big numbers with Inter for everything
   else, warm neutrals, hairline borders with soft layered shadows, and
   quiet motion. Fonts are served from our own server (no Google).
   ============================================================ */
@font-face{font-family:"Inter";src:url(../fonts/inter.woff2) format("woff2");font-weight:100 900;font-style:normal;font-display:swap}
@font-face{font-family:"Fraunces";src:url(../fonts/fraunces.woff2) format("woff2");font-weight:100 900;font-style:normal;font-display:swap}
@font-face{font-family:"Fraunces";src:url(../fonts/fraunces-italic.woff2) format("woff2");font-weight:100 900;font-style:italic;font-display:swap}

:root{
  --bg:#f6f4f1;--surface:#ffffff;--surface-2:#faf8f6;--surface-3:#f1eeea;
  --border:#ebe6df;--border-strong:#dcd5cb;
  --text:#17141f;--text-2:#4f4a5c;--text-3:#7a7487;
  --ink:#100d1a;--ink-2:#1a1528;
  --side-bg:var(--ink);--side-2:var(--ink-2);--side-ink:#b9b3c9;--side-line:rgba(255,255,255,.07);
  --shadow-sm:0 1px 2px rgba(23,20,31,.04),0 1px 1px rgba(23,20,31,.03);
  --shadow-md:0 1px 2px rgba(23,20,31,.04),0 12px 32px -12px rgba(23,20,31,.14);
  --shadow-lg:0 30px 80px -20px rgba(16,13,26,.45);
  --radius:16px;--radius-sm:10px;--radius-lg:20px;
  --font:"Inter","Segoe UI Variable Text","Segoe UI",system-ui,-apple-system,Roboto,"Noto Sans","Noto Sans Devanagari",sans-serif;
  --display:"Fraunces",Georgia,"Times New Roman",serif;
  --canvas-gap:10px;
  --ease:cubic-bezier(.2,.8,.2,1);
}
:root[data-theme="dark"]{
  --bg:#0e0c15;--surface:#16131f;--surface-2:#1b1726;--surface-3:#221d2f;
  --border:#2a2438;--border-strong:#3a3349;
  --text:#ece9f3;--text-2:#b1abc2;--text-3:#857f96;
  --ink:#07060b;--ink-2:#0d0b14;
  --shadow-md:0 1px 2px rgba(0,0,0,.3),0 12px 32px -12px rgba(0,0,0,.6);
}
body{background:var(--ink);font-feature-settings:"cv11","ss01","ss03";-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
::selection{background:color-mix(in srgb,var(--brand) 22%,transparent)}

/* ---------- the shell: sidebar on ink, the work on a floating canvas ---------- */
@media(min-width:901px){
  .sidebar{background:transparent;border-right:0}
  .sidebar::before{opacity:.9;height:320px;background:radial-gradient(380px 260px at -20% -10%,color-mix(in srgb,var(--brand) 45%,transparent),transparent 70%)}
  .main{margin:var(--canvas-gap) var(--canvas-gap) var(--canvas-gap) 0;background:var(--bg);border-radius:20px;min-height:calc(100vh - 2*var(--canvas-gap));box-shadow:0 0 0 1px rgba(255,255,255,.04),0 20px 60px -20px rgba(0,0,0,.6);isolation:isolate}
  .topbar::before{content:"";position:absolute;left:-1px;right:-1px;top:calc(-1*var(--canvas-gap));height:var(--canvas-gap);background:var(--ink);pointer-events:none}
  .topbar{top:var(--canvas-gap);border-radius:20px 20px 0 0;background:color-mix(in srgb,var(--bg) 82%,transparent);border-bottom:1px solid color-mix(in srgb,var(--border) 80%,transparent)}
}

/* ---------- sidebar ---------- */
.brand{border-bottom:0;padding:20px 18px 14px}
.brand-logo{width:36px;height:36px;border-radius:11px;box-shadow:0 0 0 1px rgba(255,255,255,.12),0 10px 24px -8px color-mix(in srgb,var(--brand) 85%,transparent)}
.brand-name{font-family:var(--display);font-weight:600;font-size:17px;letter-spacing:-.01em;font-variation-settings:"opsz" 30}
.nav-sep{color:#625b75;font-weight:600;letter-spacing:.16em;padding:18px 12px 6px}
.nav-item{color:var(--side-ink);border-radius:10px;padding:8px 11px;transition:background .18s var(--ease),color .18s var(--ease)}
.nav-item .ni-icon{color:#8d86a0;transition:color .18s}
.nav-item:hover{background:rgba(255,255,255,.045);color:#f3f0fa}
.nav-item:hover .ni-icon{color:#d6d0e6}
.nav-item.active{background:linear-gradient(180deg,rgba(255,255,255,.10),rgba(255,255,255,.06));color:#fff;box-shadow:inset 0 0 0 1px rgba(255,255,255,.08),0 8px 20px -10px rgba(0,0,0,.6)}
.nav-item.active::before{left:auto;right:10px;top:50%;bottom:auto;width:6px;height:6px;border-radius:50%;transform:translateY(-50%);background:var(--brand-2);box-shadow:0 0 0 3px color-mix(in srgb,var(--brand-2) 25%,transparent),0 0 12px var(--brand-2)}
.nav-item.active .ni-icon{color:#fff}
.nav{scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.12) transparent}
.sidebar-foot{border-top:1px solid var(--side-line)}

/* ---------- top bar ---------- */
.topbar-title{font-size:14.5px}
.searchkick{background:var(--surface);border-color:var(--border);border-radius:10px;box-shadow:var(--shadow-sm)}
.icon-btn{border-radius:10px;border-color:var(--border);box-shadow:var(--shadow-sm)}
.clinic-badge{background:var(--surface);border:1px solid var(--border);border-radius:10px;box-shadow:var(--shadow-sm)}
.user-chip{border:1px solid var(--border);background:var(--surface);box-shadow:var(--shadow-sm)}
.content{padding:28px 32px 72px}

/* ---------- page heads: editorial titles ---------- */
.page-head{margin-bottom:24px}
.page-head h1,.lx-title{font-family:var(--display);font-weight:500;font-size:30px;line-height:1.12;letter-spacing:-.02em;font-variation-settings:"opsz" 72,"SOFT" 30}
.page-head h1 em,.lx-title em{font-style:italic;color:var(--brand)}
.page-head .muted{margin-top:4px}
.modal-head h3{font-family:var(--display);font-weight:500;font-size:20px;letter-spacing:-.01em;font-variation-settings:"opsz" 40}

/* ---------- buttons ---------- */
.btn{background:linear-gradient(180deg,color-mix(in srgb,var(--brand) 88%,#fff),var(--brand));border:1px solid color-mix(in srgb,var(--brand) 80%,#000);border-radius:10px;box-shadow:0 1px 0 rgba(255,255,255,.25) inset,0 1px 2px rgba(23,20,31,.18),0 6px 16px -8px color-mix(in srgb,var(--brand) 80%,transparent);transition:transform .15s var(--ease),box-shadow .2s var(--ease),filter .2s}
.btn:hover{background:linear-gradient(180deg,color-mix(in srgb,var(--brand) 92%,#fff),color-mix(in srgb,var(--brand) 92%,#000));box-shadow:0 1px 0 rgba(255,255,255,.25) inset,0 2px 4px rgba(23,20,31,.18),0 10px 24px -10px color-mix(in srgb,var(--brand) 90%,transparent)}
.btn:active{transform:translateY(1px)}
.btn-outline,.btn-ghost{border-radius:10px}
.btn-outline{background:var(--surface);border-color:var(--border-strong)}
:root[data-theme="dark"] .btn{box-shadow:0 1px 0 rgba(255,255,255,.15) inset}

/* ---------- cards ---------- */
.card{border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);background:var(--surface)}
.card-head{border-bottom-color:color-mix(in srgb,var(--border) 75%,transparent)}
.card-head h3{font-size:14.5px;font-weight:650;letter-spacing:-.005em}
.kpi{padding:18px 20px 16px;transition:box-shadow .2s var(--ease),transform .2s var(--ease),border-color .2s}
.kpi-click:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);border-color:var(--border-strong)}
.kpi .kpi-label{font-size:12.5px;font-weight:550;color:var(--text-3);letter-spacing:.005em}
.kpi .kpi-value{font-family:var(--display);font-weight:500;font-size:32px;letter-spacing:-.025em;line-height:1.1;margin:6px 0 4px;font-variant-numeric:lining-nums tabular-nums;font-variation-settings:"opsz" 72}
.kpi .kpi-ic{border-radius:10px}
.kpi .kpi-foot{font-size:12.5px;color:var(--text-3)}
.qa{border:1px solid var(--border);border-radius:14px;transition:transform .2s var(--ease),box-shadow .2s var(--ease),border-color .2s}
.qa:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}
.qa .qa-ic{border-radius:11px;background:linear-gradient(180deg,color-mix(in srgb,var(--brand) 14%,var(--surface)),color-mix(in srgb,var(--brand) 7%,var(--surface)));color:var(--brand);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--brand) 14%,transparent)}
.qa .qa-t{font-weight:650}

/* trend chip + sparkline (luxe.js / dashboard.js) */
.lx-trend{display:inline-flex;align-items:center;gap:3px;font-size:11.5px;font-weight:650;padding:2px 7px;border-radius:999px;margin-left:6px;vertical-align:2px;font-family:var(--font);letter-spacing:0}
.lx-trend.up{color:var(--green);background:var(--green-soft)}
.lx-trend.down{color:var(--red);background:var(--red-soft)}
.lx-trend.flat{color:var(--text-3);background:var(--surface-3)}
.lx-spark{display:block;width:100%;height:34px;margin:8px 0 2px;overflow:visible}
.lx-spark path.l{fill:none;stroke:var(--brand);stroke-width:1.8;stroke-linejoin:round;stroke-linecap:round}
.lx-spark path.a{fill:url(#lxg);opacity:.9}
.lx-spark circle{fill:var(--surface);stroke:var(--brand);stroke-width:2}

/* ---------- Today hero ---------- */
.lx-hero{position:relative;overflow:hidden;border-radius:20px;padding:26px 28px;margin-bottom:20px;color:#fff;
  background:radial-gradient(600px 300px at 0% 0%,color-mix(in srgb,var(--brand-2) 70%,transparent),transparent 60%),radial-gradient(500px 340px at 100% 120%,color-mix(in srgb,#e8a87c 55%,transparent),transparent 60%),linear-gradient(135deg,color-mix(in srgb,var(--brand) 92%,#000),color-mix(in srgb,var(--brand) 55%,#1a0f2e));
  box-shadow:0 24px 50px -24px color-mix(in srgb,var(--brand) 80%,transparent)}
.lx-hero::after{content:"";position:absolute;inset:0;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 .08 0'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)'/%3E%3C/svg%3E");mix-blend-mode:overlay;pointer-events:none}
.lx-hero > *{position:relative;z-index:1}
.lx-hero-top{display:flex;align-items:flex-start;gap:16px;flex-wrap:wrap}
.lx-eyebrow{font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;opacity:.75}
.lx-hero h1{font-family:var(--display);font-weight:400;font-size:38px;line-height:1.08;letter-spacing:-.025em;margin:6px 0 4px;color:#fff;font-variation-settings:"opsz" 96,"SOFT" 50}
.lx-hero h1 em{font-style:italic;font-weight:400;color:#f6dcc4}
.lx-hero .lx-sub{opacity:.82;font-size:14px}
.lx-hero .spacer{flex:1}
.lx-hero .btn{background:#fff;color:var(--brand);border-color:#fff;box-shadow:0 10px 24px -10px rgba(0,0,0,.45)}
.lx-hero .btn:hover{background:#fff;filter:brightness(.97)}
.lx-hero .btn-glass{background:rgba(255,255,255,.12);color:#fff;border:1px solid rgba(255,255,255,.25);border-radius:10px;padding:8px 14px;font-weight:600;font-size:13.5px;cursor:pointer;backdrop-filter:blur(8px);font-family:inherit}
.lx-hero .btn-glass:hover{background:rgba(255,255,255,.2)}
.lx-glance{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:22px}
.lx-glance > div{background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.16);border-radius:14px;padding:12px 14px;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);min-width:0}
.lx-glance b{display:block;font-family:var(--display);font-weight:500;font-size:24px;letter-spacing:-.02em;font-variant-numeric:lining-nums tabular-nums;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.lx-glance span{display:block;font-size:12px;opacity:.78;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.lx-hero .qa-row{display:flex;gap:8px;flex-wrap:wrap}

/* ---------- tables ---------- */
table.tbl th{background:transparent;font-size:10.5px;letter-spacing:.1em;color:var(--text-3);font-weight:650;border-bottom:1px solid var(--border)}
table.tbl tbody tr{transition:background .12s}
table.tbl tbody tr:hover{background:color-mix(in srgb,var(--brand) 3.5%,var(--surface))}

/* ---------- forms ---------- */
input,select,textarea{border-radius:10px;background:var(--surface);border-color:var(--border-strong);transition:border-color .15s,box-shadow .15s}
input:focus,select:focus,textarea:focus{box-shadow:0 0 0 4px color-mix(in srgb,var(--brand) 14%,transparent)}
.seg{border-radius:11px;padding:3px}
.seg button{border-radius:8px}
.seg button.active{background:var(--surface);box-shadow:0 1px 2px rgba(23,20,31,.08),0 0 0 1px var(--border)}

/* ---------- badges ---------- */
.badge{font-weight:600;letter-spacing:.005em}

/* ---------- modal ---------- */
.modal-backdrop{background:rgba(16,13,26,.42);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
.modal{border-radius:20px;box-shadow:var(--shadow-lg);animation:lx-pop .22s var(--ease)}
@keyframes lx-pop{from{opacity:0;transform:translateY(8px) scale(.985)}to{opacity:1;transform:none}}

/* ---------- toasts ---------- */
.toast{background:var(--ink);border-radius:12px;box-shadow:var(--shadow-lg);border-left-width:3px}

/* ---------- notices from TechHub: one calm line ---------- */
#thNotices > div{background:var(--surface)!important;color:var(--text)!important;border:1px solid var(--border)!important;box-shadow:var(--shadow-sm);padding:10px 14px!important;border-radius:12px!important}
#thNotices > div b,#thNotices > div strong{color:var(--brand)}

/* ---------- motion: a view settles in ---------- */
@media(prefers-reduced-motion:no-preference){
  #view.lx-enter > *{animation:lx-rise .32s var(--ease) both}
  #view.lx-enter > *:nth-child(2){animation-delay:.03s}
  #view.lx-enter > *:nth-child(3){animation-delay:.06s}
  #view.lx-enter > *:nth-child(4){animation-delay:.09s}
  #view.lx-enter > *:nth-child(n+5){animation-delay:.12s}
}
@keyframes lx-rise{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}

/* ---------- sign-in: split screen ---------- */
.auth-wrap.lx-auth{background:var(--ink)!important;flex-direction:row;align-items:stretch;justify-content:stretch;padding:0}
.lx-auth .lx-art{flex:1.15;position:relative;overflow:hidden;color:#fff;padding:44px 52px;display:flex;flex-direction:column;
  background:radial-gradient(700px 480px at 10% 0%,color-mix(in srgb,var(--brand-2) 75%,transparent),transparent 60%),radial-gradient(620px 520px at 100% 100%,color-mix(in srgb,#e8a87c 60%,transparent),transparent 62%),linear-gradient(160deg,color-mix(in srgb,var(--brand) 80%,#000),#120c20)}
.lx-auth .lx-art::after{content:"";position:absolute;inset:0;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 .08 0'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)'/%3E%3C/svg%3E");mix-blend-mode:overlay;pointer-events:none}
.lx-art > *{position:relative;z-index:1}
.lx-art-brand{display:flex;align-items:center;gap:12px;font-weight:600}
.lx-art-brand .auth-logo{width:40px;height:40px;margin:0;border-radius:12px;box-shadow:0 0 0 1px rgba(255,255,255,.2)}
.lx-art-mid{margin:auto 0;max-width:520px}
.lx-art h2{font-family:var(--display);font-weight:400;font-size:46px;line-height:1.05;letter-spacing:-.03em;margin:0 0 16px;color:#fff;font-variation-settings:"opsz" 120,"SOFT" 60}
.lx-art h2 em{font-style:italic}
.lx-art p{font-size:15.5px;line-height:1.6;opacity:.82;margin:0 0 26px}
.lx-art ul{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.lx-art li{display:flex;gap:12px;align-items:center;font-size:14.5px;opacity:.92}
.lx-art li i{width:28px;height:28px;border-radius:9px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.2);display:grid;place-items:center;font-style:normal;font-size:13px;flex:none}
.lx-art-foot{font-size:12.5px;opacity:.6}
.lx-auth .lx-form{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 24px;background:var(--bg)}
.lx-auth .auth-card{box-shadow:none;border:0;background:transparent;max-width:380px;padding:0}
.lx-auth .auth-brand{text-align:left;margin-bottom:26px}
.lx-auth .auth-brand .auth-logo{display:none}
.lx-auth .auth-name{font-family:var(--display);font-weight:500;font-size:30px;letter-spacing:-.02em;font-variation-settings:"opsz" 72}
.lx-auth .auth-tag{font-style:normal;font-size:14px;margin-top:6px}
.lx-auth .auth-alt{text-align:left}
.lx-auth .auth-foot{color:var(--text-3);opacity:1;margin-top:28px}
.lx-auth .btn.block{padding:11px 14px;font-size:14.5px}
@media(max-width:900px){
  .auth-wrap.lx-auth{flex-direction:column}
  .lx-auth .lx-art{flex:none;padding:22px 22px 26px}
  .lx-auth .lx-art-mid{margin:22px 0 0}
  .lx-auth .lx-art h2{font-size:30px;margin-bottom:8px}
  .lx-auth .lx-art p,.lx-auth .lx-art ul,.lx-auth .lx-art-foot{display:none}
  .lx-auth .lx-form{justify-content:flex-start;padding:28px 20px 40px;border-radius:22px 22px 0 0;margin-top:-16px;position:relative;z-index:2;flex:1}
}

/* ---------- phone ---------- */
@media(max-width:900px){
  body{background:var(--bg)}
  .sidebar{background:var(--ink)}
  .lx-hero{padding:20px 18px;border-radius:18px}
  .lx-hero h1{font-size:28px}
  .lx-glance{grid-template-columns:1fr 1fr;gap:8px;margin-top:16px}
  .lx-glance b{font-size:20px}
  .page-head h1,.lx-title{font-size:24px}
  .kpi .kpi-value{font-size:26px}
}
@media(max-width:600px){.content{padding:14px 12px 46px}.lx-hero .qa-row{width:100%}.lx-hero .qa-row .btn,.lx-hero .qa-row .btn-glass{flex:1}}
.lx-hero.page-head{display:block;align-items:initial}
.lx-art-brand .auth-logo img,.lx-art-brand .auth-logo svg{width:100%;height:100%;display:block}
.lx-auth .auth-alt .btn-ghost{padding-left:0;padding-right:0}
:root[data-theme="dark"] .lx-hero .btn{background:#fff;color:#2a1650;border-color:#fff}

/* ---------- REVBOOST1: Reviews booster card ---------- */
.rb-card .card-head .sub{margin-left:8px}
.rb-switch{display:inline-flex;align-items:center;gap:8px;font-size:13.5px;font-weight:600;cursor:pointer}
.rb-switch input{width:auto}
.rb-flow{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;border:1px solid var(--border);border-radius:14px;overflow:hidden;margin-bottom:16px}
.rb-step{padding:14px 16px;position:relative;background:var(--surface)}
.rb-step+.rb-step{border-left:1px solid var(--border)}
.rb-step b{display:block;font-family:var(--display);font-weight:500;font-size:28px;letter-spacing:-.02em;line-height:1.1}
.rb-step span{display:block;font-size:12.5px;color:var(--text-2);font-weight:550}
.rb-step i{display:block;font-style:normal;font-size:11.5px;color:var(--text-3);margin-top:2px}
.rb-opts{display:flex;gap:14px;flex-wrap:wrap;align-items:flex-start}
.rb-opts .field{flex:1;min-width:200px}
.rb-warn{margin-top:12px;padding:10px 12px;border-radius:10px;background:var(--amber-soft);color:var(--amber);font-size:13px;border:1px solid color-mix(in srgb,var(--amber) 22%,transparent)}
@media(max-width:600px){.rb-flow{grid-template-columns:1fr 1fr}.rb-step:nth-child(3){border-left:0}.rb-step:nth-child(n+3){border-top:1px solid var(--border)}}

/* ---------- LEADS1: the enquiry inbox ---------- */
.nav-item .ni-count{margin-left:auto;min-width:20px;height:20px;padding:0 6px;border-radius:10px;background:#e0475b;color:#fff;font-size:11px;font-weight:800;display:inline-grid;place-items:center;line-height:1;font-variant-numeric:tabular-nums;box-shadow:0 2px 6px rgba(224,71,91,.35)}
.ld-tbl .ld-msg{font-size:12px;max-width:320px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ld-tbl td .btn-ghost.sm,.ld-tbl td .btn.sm{margin-left:2px}
.ld-src{display:inline-block;font-size:11.5px;font-weight:700;padding:2px 9px;border-radius:20px;background:var(--surface-2);color:var(--text-2);border:1px solid var(--border)}
.ld-src-instagram{background:#fde8f1;color:#b4235f;border-color:#f8cfe0}
.ld-src-facebook,.ld-src-meta-ads{background:#e8effd;color:#2851a3;border-color:#cfdcf8}
.ld-src-google,.ld-src-gbp,.ld-src-google-ads{background:#e6f4ea;color:#1e7a3c;border-color:#c8e8d2}
.ld-src-booking,.ld-src-link,.ld-src-qr{background:var(--brand-soft);color:var(--brand);border-color:transparent}
.ld-src-whatsapp{background:#e3f7ec;color:#128c4b;border-color:#c5ecd6}
.ld-dline{justify-content:space-between;gap:10px;padding:8px 0;border-bottom:1px solid var(--border);color:inherit;text-decoration:none}
.ld-dline:last-child{border-bottom:0}
.ld-top{display:flex;gap:14px;justify-content:space-between;flex-wrap:wrap}
.ld-quote{margin-top:8px;padding:9px 12px;border-left:3px solid var(--brand);background:var(--surface-2);border-radius:0 10px 10px 0;font-size:13.5px;white-space:pre-wrap}
.ld-outcome{margin-top:14px;padding:12px;border:1px dashed var(--border-strong);border-radius:12px}
.ld-outcome.pulse{border-color:var(--brand);background:var(--brand-soft)}
.ld-hist{margin-top:8px;max-height:240px;overflow:auto;border-top:1px solid var(--border);padding-top:8px}
.ld-h{display:flex;gap:10px;padding:7px 0;font-size:13px;border-bottom:1px solid var(--border)}
.ld-h:last-child{border-bottom:0}
.ld-h-k{flex-shrink:0;width:74px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.4px;color:var(--text-3);padding-top:2px}
.ld-h-enquiry{color:var(--brand)}.ld-h-call{color:#b7791f}.ld-h-whatsapp{color:#128c4b}
.ld-links{display:grid;gap:8px}
.ld-link{display:flex;align-items:center;gap:10px;justify-content:space-between;padding:9px 12px;border:1px solid var(--border);border-radius:12px}
.ld-url{font-size:12px;word-break:break-all}
.ld-step{margin:8px 0 12px;line-height:1.6}
.ld-code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;background:var(--surface-2);border:1px solid var(--border);border-radius:8px;padding:6px 9px;margin:4px 0;word-break:break-all;color:var(--text)}
.ld-q{max-width:230px}
.ld-srct{min-width:640px}
@media (max-width:700px){
  .ld-seg{max-width:100%;overflow-x:auto;scrollbar-width:none;flex-wrap:nowrap}
  .ld-seg button{white-space:nowrap;flex-shrink:0}
  .ld-q{max-width:none;width:100%}
  .ld-tbl .ld-msg{white-space:normal;max-width:none}
}
.ld-srccard{overflow:hidden;max-width:100%}.ld-srccard .table-wrap{max-width:100%}

/* ---------- CAMP1: campaigns ---------- */
.cp-wa{display:flex;gap:9px;align-items:flex-start;padding:11px 14px;border:1px solid var(--border);border-radius:12px;background:var(--surface);margin-bottom:14px;font-size:13px;line-height:1.5}
.cp-dot{flex-shrink:0;width:9px;height:9px;border-radius:50%;background:#d9a23b;margin-top:5px;box-shadow:0 0 0 3px rgba(217,162,59,.18)}
.cp-dot.ok{background:#1f9d63;box-shadow:0 0 0 3px rgba(31,157,99,.18)}
.cp-auto.on{border-color:color-mix(in srgb,var(--brand) 35%,var(--border))}
.cp-auto .card-pad{display:grid;gap:10px}
.cp-d{width:54px!important;padding:3px 6px!important;display:inline-block;text-align:center;font-weight:700}
.cp-msg{position:relative;background:#e7f7ec;color:#14301f;border-radius:4px 14px 14px 14px;padding:10px 12px 12px;font-size:13px;line-height:1.5;max-width:520px;box-shadow:0 1px 1px rgba(0,0,0,.06)}
.cp-msg .cp-btn{display:block;margin-top:9px;padding-top:8px;border-top:1px solid rgba(0,0,0,.08);text-align:center;color:#0a7cc1;font-weight:700}
.cp-stat{font-size:13px}
.cp-aud{padding:9px 12px;border-radius:10px;background:var(--brand-soft);margin:2px 0 10px;font-size:13.5px}
.cp-hmsg{font-size:12.5px;max-width:520px}
.cp-switch{position:relative;display:inline-block;width:42px;height:24px;flex-shrink:0}
.cp-switch input{opacity:0;width:0;height:0}
.cp-switch span{position:absolute;inset:0;border-radius:24px;background:var(--border-strong);transition:.15s;cursor:pointer}
.cp-switch span::before{content:"";position:absolute;width:18px;height:18px;left:3px;top:3px;border-radius:50%;background:#fff;transition:.15s;box-shadow:0 1px 3px rgba(0,0,0,.25)}
.cp-switch input:checked+span{background:var(--brand)}
.cp-switch input:checked+span::before{transform:translateX(18px)}
.cp-switch input:focus-visible+span{outline:2px solid var(--brand);outline-offset:2px}
:root[data-theme="dark"] .cp-msg{background:#1d3a2a;color:#e6f6ec}
