@import url('https://fonts.googleapis.com/css2?family=Sora:wght@400;500;600;700;800&display=swap');

*{margin:0;padding:0;box-sizing:border-box;}
html,body{height:100%;overflow-x:hidden;}
body {
    font-family: var(--font-body);
    background: var(--paper);
    color: var(--ink);
    -webkit-font-smoothing: antialiased;
}
h1, h2, h3, h4, h5, h6,
a, p, ol, ul, button, input, select, textarea {
    font-family: var(--font-body);
}

a {
    color: inherit;
    text-decoration: none;
}
::selection{background:var(--brand-100);}

@media (prefers-reduced-motion: reduce){
  *{animation-duration:.001s !important;animation-iteration-count:1 !important;transition-duration:.001s !important;}
}

/* ============================================================
   APP SHELL (used by Site.master)
   ============================================================ */
.app-shell{
  display:grid;
  grid-template-columns:var(--sidebar-w) 1fr;
  grid-template-rows:var(--topbar-h) 1fr auto;
  grid-template-areas:"sidebar topbar" "sidebar main" "sidebar footer";
  min-height:100vh;
  transition:grid-template-columns .3s var(--ease);
}
.app-shell.collapsed{grid-template-columns:var(--sidebar-w-collapsed) 1fr;}
/* Grid items default to min-width:auto, which lets wide content (tables,
   stat rows) blow out the "1fr" track and force horizontal scroll on the
   whole page. Pinning min-width:0 on every column-2 grid area fixes it. */
.topbar,.main,.footer{min-width:0;}

/* ---------------- SIDEBAR ---------------- */
.sidebar{
  grid-area:sidebar;
  background:var(--surface);
  border-right:1px solid var(--line);
  display:flex;flex-direction:column;
  position:relative;z-index:30;
  height:100vh;position:sticky;top:0;
}
.sidebar-brand{
  display:flex;align-items:center;gap:10px;
  padding:16px 18px;border-bottom:1px solid var(--line);
  flex-shrink:0;
}
.sidebar-brand img{width:32px;height:32px;object-fit:contain;flex-shrink:0;}
.sidebar-brand .txt{overflow:hidden;white-space:nowrap;transition:opacity .2s,width .25s;}
.sidebar-brand .txt b{display:block;font-size:14px;color:var(--ink);}
.sidebar-brand .txt span{font-size:10px;color:var(--muted);letter-spacing:.03em;}
.app-shell.collapsed .sidebar-brand .txt{opacity:0;width:0;}

.sidebar-scroll{
  flex:1;overflow-y:auto;padding:10px 10px 14px;
}
.sidebar-scroll::-webkit-scrollbar{width:6px;}
.sidebar-scroll::-webkit-scrollbar-thumb{background:var(--line);border-radius:6px;}

.nav-group{margin-bottom:2px;}
.nav-top{
  width:100%;display:flex;align-items:center;gap:11px;
  padding:10px 10px;border-radius:10px;border:none;background:none;
  color:var(--ink-soft);font-size:13.5px;font-weight:600;text-align:left;
  transition:background .18s var(--ease),color .18s var(--ease);
}
.nav-top .ico{
  width:30px;height:30px;border-radius:8px;background:var(--brand-50);color:var(--brand-600);
  display:flex;align-items:center;justify-content:center;flex-shrink:0;
}
.nav-top .ico svg{width:16px;height:16px;}
.nav-top .lbl{flex:1;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;}
.nav-top:hover{background:var(--brand-50);color:var(--brand-700);}
.nav-group.active > .nav-top{background:linear-gradient(135deg,var(--brand-500),var(--brand-600));color:#fff;box-shadow:var(--shadow-sm);}
.nav-group.active > .nav-top .ico{background:rgba(255,255,255,.18);color:#fff;}

.app-shell.collapsed .nav-top .lbl{display:none;}
.app-shell.collapsed .nav-top{justify-content:center;}

.sidebar-collapse{
  flex-shrink:0;display:flex;align-items:center;gap:9px;
  padding:12px 16px;border-top:1px solid var(--line);
  color:var(--muted);font-size:12.5px;font-weight:600;background:none;border:none;width:100%;text-align:left;
}
.sidebar-collapse:hover{color:var(--brand-700);}
.sidebar-collapse svg{width:15px;height:15px;transition:transform .3s var(--ease);flex-shrink:0;}
.app-shell.collapsed .sidebar-collapse svg{transform:rotate(180deg);}
.app-shell.collapsed .sidebar-collapse .lbl{display:none;}

/* ---------------- TOPBAR ---------------- */
.topbar{
  grid-area:topbar;background:var(--surface);border-bottom:1px solid var(--line);
  display:flex;align-items:center;gap:14px;padding:0 22px;position:sticky;top:0;z-index:20;
}
.topbar-hamburger{display:none;width:20px;height:15px;flex-direction:column;justify-content:space-between;background:none;border:none;}
.topbar-hamburger span{display:block;height:2px;background:var(--ink);border-radius:2px;}
.crumb{font-size:17px;font-weight:600;}
.crumb .sep{color:var(--brand-400);margin:0 6px;font-weight:400;}
.crumb .sub{color:var(--muted);font-weight:500;font-size:15px;}
.topbar-search{
  flex:1;max-width:320px;margin-left:14px;display:flex;align-items:center;gap:8px;
  background:var(--paper);border:1px solid var(--line);border-radius:9px;padding:8px 11px;
}
.topbar-search input{border:none;background:none;font-size:13px;width:100%;outline:none;color:var(--ink);}
.topbar-search svg{width:15px;height:15px;color:var(--muted);flex-shrink:0;}
.topbar-actions{margin-left:auto;display:flex;align-items:center;gap:8px;}
.tb-icon-btn{
  position:relative;width:36px;height:36px;border-radius:9px;background:none;border:none;
  display:flex;align-items:center;justify-content:center;color:var(--ink-soft);
}
.tb-icon-btn:hover{background:var(--brand-50);color:var(--brand-700);}
.tb-icon-btn svg{width:18px;height:18px;}
.tb-dot{position:absolute;top:6px;right:6px;width:7px;height:7px;border-radius:50%;background:var(--accent-coral);border:2px solid var(--surface);}
.tb-avatar{
  width:36px;height:36px;border-radius:9px;background:linear-gradient(135deg,var(--brand-400),var(--brand-700));
  color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:12.5px;
}

/* ---------------- MAIN / FOOTER ---------------- */
.main{grid-area:main;padding:22px 26px 8px;}
.footer{
  grid-area:footer;background:var(--surface);border-top:1px solid var(--line);
  padding:11px 26px;display:flex;align-items:center;justify-content:space-between;
  font-size:11.5px;color:var(--muted);
}
.footer a{color:var(--brand-600);font-weight:600;}

/* ---------------- shared content components ---------------- */
.page-hero{
  background:linear-gradient(120deg,var(--brand-50) 0%,var(--white) 65%);
  border:1px solid var(--brand-100);border-radius:var(--radius);
  padding:22px 24px;margin-bottom:20px;
}
.page-hero h1{font-size:21px;font-weight:600;margin-bottom:5px;}
.page-hero p{font-size:13px;color:var(--muted);max-width:520px;}

.stat-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px;margin-bottom:20px;}
.stat-card{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:16px;transition:transform .2s var(--ease),box-shadow .2s var(--ease);}
.stat-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-md);}
.stat-icon{width:34px;height:34px;border-radius:9px;background:var(--brand-50);color:var(--brand-600);display:flex;align-items:center;justify-content:center;margin-bottom:12px;}
.stat-icon svg{width:17px;height:17px;}
.stat-icon.c-purple{background:var(--stat-purple-bg);color:var(--stat-purple-fg);}
.stat-icon.c-teal{background:var(--stat-teal-bg);color:var(--stat-teal-fg);}
.stat-icon.c-pink{background:var(--stat-pink-bg);color:var(--stat-pink-fg);}
.stat-icon.c-orange{background:var(--stat-orange-bg);color:var(--stat-orange-fg);}
.stat-icon.c-amber{background:#fdf3dd;color:var(--accent-amber-600);}
.stat-num{font-size:24px;font-weight:600;line-height:1;margin-bottom:4px;}
.stat-trend{font-size:11px;font-weight:700;}
.stat-trend.up{color:var(--brand-600);}
.stat-trend.down{color:var(--accent-coral);}
.stat-label{font-size:11.5px;color:var(--muted);font-weight:600;margin-top:6px;}

.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:20px;}
.card + .card{margin-top:16px;}
.card h3{font-size:15px;font-weight:600;margin-bottom:12px;}

.table-scroll{width:100%;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;}
table.data-table{width:100%;border-collapse:collapse;font-size:12.8px;}
table.data-table th{
  text-align:left;font-size:10.5px;text-transform:uppercase;letter-spacing:.05em;
  color:var(--muted);font-weight:700;padding:9px 12px;border-bottom:1px solid var(--line);
}
table.data-table td{padding:11px 12px;border-bottom:1px solid var(--line);color:var(--ink-soft);}
table.data-table tr:hover td{background:var(--brand-50);}
.pill{display:inline-block;font-size:10.5px;font-weight:700;padding:3px 10px;border-radius:20px;}
.pill.hot{background:#fdf0ee;color:var(--accent-coral);}
.pill.warm{background:#fdf6e6;color:#a5760f;}
.pill.cold{background:var(--brand-50);color:var(--brand-700);}
.pill.won{background:var(--brand-50);color:var(--brand-700);}

.tab-row{display:flex;margin-bottom:16px;}
    .tab-row a {
        padding: 9px 4px;
        margin-right: 8px;
        font-size: 13px;
        font-weight: 600;
        color: var(--muted);
        white-space: nowrap;
        flex-shrink: 0;
        background: linear-gradient(120deg, var(--brand-50) 0%, var(--white) 65%);
        border: 1px solid var(--brand-100);
        border-radius: var(--radius);
        padding: 10px 15px;
    }
.tab-row a:hover{color:var(--brand-700);}
    .tab-row a.current {
        color: var(--brand-700);
        border-color: var(--brand-500);
        background: linear-gradient(120deg, var(--brand-50) 0%, var(--white) 65%);
        border: 1px solid var(--brand-100);
        border-radius: var(--radius);
        padding: 10px 15px;
    }

.module-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:14px;}
.module-card{
  background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:18px;
  display:flex;flex-direction:column;gap:8px;transition:transform .2s var(--ease),box-shadow .2s var(--ease);
}
.module-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-md);}
.module-card .m-icon{width:38px;height:38px;border-radius:11px;background:var(--brand-50);color:var(--brand-600);display:flex;align-items:center;justify-content:center;}
.module-card .m-icon svg{width:19px;height:19px;}
.module-card h4{font-size:13.5px;font-weight:600;}
.module-card p{font-size:11.5px;color:var(--muted);}
.module-tag{align-self:flex-start;font-size:9.5px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--brand-600);background:var(--brand-50);padding:3px 8px;border-radius:20px;}

.placeholder-box{
  border:1.5px dashed var(--brand-200);background:var(--brand-50);border-radius:var(--radius);
  padding:52px 24px;text-align:center;color:var(--brand-700);
}
.placeholder-box svg{width:38px;height:38px;margin-bottom:14px;color:var(--brand-400);}
.placeholder-box h3{font-size:16px;margin-bottom:6px;}
.placeholder-box p{font-size:13px;color:var(--ink-soft);max-width:380px;margin:0 auto;}

/* ---------------- Buttons (site-wide — login.css's .btn-signin is
   login-page-only and isn't loaded via Site.master, so module pages
   need their own primary/secondary button classes) ---------------- */
.btn-primary{
  position:relative;display:inline-flex;align-items:center;justify-content:center;gap:6px;
  padding:12px 24px;border-radius:11px;border:none;
  background:linear-gradient(135deg,var(--brand-500),var(--brand-700));color:#fff;font-weight:700;font-size:13.5px;
  box-shadow:0 8px 20px rgba(47,107,224,.28);transition:transform .2s var(--ease),box-shadow .2s var(--ease);cursor:pointer;
}
.btn-primary:hover{transform:translateY(-2px);box-shadow:0 13px 26px rgba(47,107,224,.36);}
.btn-secondary{
  display:inline-flex;align-items:center;justify-content:center;gap:6px;
  padding:12px 24px;border-radius:11px;border:1.5px solid var(--line);background:var(--white);color:var(--ink-soft);
  font-weight:700;font-size:13.5px;transition:background .2s var(--ease),border-color .2s var(--ease),color .2s var(--ease);cursor:pointer;
}
.btn-secondary:hover{background:var(--paper);border-color:var(--brand-300);color:var(--brand-700);}

/* ---------------- Structured multi-section forms (New Lead, etc.) ---------------- */
.form-header{display:flex;align-items:center;gap:14px;margin-bottom:20px;}
.form-header .fh-icon{width:48px;height:48px;border-radius:14px;background:linear-gradient(135deg,var(--brand-500),var(--brand-700));color:#fff;display:flex;align-items:center;justify-content:center;flex-shrink:0;box-shadow:0 8px 18px rgba(47,107,224,.28);}
.form-header .fh-icon svg{width:23px;height:23px;}
.form-header h1{font-size:21px;font-weight:700;margin-bottom:3px;}
.form-header p{font-size:13px;color:var(--muted);}

.form-section{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:22px;margin-bottom:16px;}
.form-section-head{display:flex;align-items:center;gap:10px;margin-bottom:18px;padding-bottom:14px;border-bottom:1px solid var(--line);}
.form-section-head .fs-icon{width:30px;height:30px;border-radius:9px;background:var(--brand-50);color:var(--brand-600);display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.form-section-head .fs-icon svg{width:15px;height:15px;}
.form-section-head h3{font-size:14.5px;font-weight:700;color:var(--brand-700);}

.f-grid{display:grid;gap:16px;margin-bottom:16px;}
.f-grid:last-child{margin-bottom:0;}
.f-grid-2{grid-template-columns:repeat(2,1fr);}
.f-grid-3{grid-template-columns:repeat(3,1fr);}
.f-group{display:flex;flex-direction:column;gap:6px;min-width:0;}
.f-group label{font-size:11.5px;font-weight:700;color:var(--ink-soft);}
.f-group label .req{color:var(--accent-coral);margin-left:2px;}
.f-group input[type=text],.f-group input[type=email],.f-group input[type=tel],.f-group input[type=date],
.f-group input[type=number],.f-group select,.f-group textarea{
  width:100%;padding:11px 13px;border:1.5px solid var(--line);border-radius:9px;font-size:13px;color:var(--ink);
  background:var(--paper);font-family:inherit;transition:border-color .2s var(--ease),box-shadow .2s var(--ease),background .2s var(--ease);
}
.f-group input:focus,.f-group select:focus,.f-group textarea:focus{outline:none;border-color:var(--brand-400);background:var(--white);box-shadow:0 0 0 4px var(--brand-50);}
.f-group select{background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%237c8296' stroke-width='2'><polyline points='6 9 12 15 18 9'/></svg>");background-repeat:no-repeat;background-position:right 12px center;background-size:15px;appearance:none;-webkit-appearance:none;padding-right:34px;}
.f-group textarea{resize:vertical;min-height:88px;}
.f-phone{display:flex;gap:8px;}
.f-phone select{max-width:92px;flex-shrink:0;}
.f-upload{border:1.5px dashed var(--line);border-radius:9px;padding:14px 16px;display:flex;align-items:center;gap:14px;background:var(--paper);flex-wrap:wrap;}
.f-upload .hint{font-size:11px;color:var(--muted);}

.form-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:4px;}
.form-cols-2{display:grid;grid-template-columns:1fr 1fr;gap:16px;align-items:start;min-width:0;}
.form-cols-2 .form-section{margin-bottom:0;}

@media (max-width:880px){
  .f-grid-2,.f-grid-3,.form-cols-2{grid-template-columns:1fr;}
}

.sidebar-overlay{position:fixed;inset:0;background:rgba(7,46,31,.35);z-index:40;opacity:0;pointer-events:none;transition:opacity .3s;}
.sidebar-overlay.show{opacity:1;pointer-events:auto;}

#loginForm {
    width: 100% !important;
    height: 100% !important;
}

/* ============================================================
   EXECUTIVE DASHBOARD WIDGETS
   ============================================================ */

.dash-grid-4{display:grid;grid-template-columns:repeat(auto-fit,minmax(255px,1fr));gap:14px;margin-bottom:16px;align-items:stretch;}
.dash-grid-3{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:14px;margin-bottom:16px;align-items:stretch;}

.card.tight{padding:16px 18px;}
.card-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px;}
.card-head h3{font-size:14px;font-weight:700;margin:0;}
.card-head .muted-link{font-size:11.5px;font-weight:600;color:var(--brand-600);}
.card-foot-link{display:block;text-align:right;margin-top:10px;font-size:11.5px;font-weight:600;color:var(--brand-600);}

/* ---- Lead Funnel ---- */
.funnel{display:flex;flex-direction:column;gap:9px;}
.funnel-row{display:flex;align-items:center;gap:10px;}
.funnel-label{width:74px;flex-shrink:0;font-size:11.5px;color:var(--ink-soft);font-weight:600;}
.funnel-bar-wrap{flex:1;height:22px;background:var(--paper);border-radius:6px;overflow:hidden;}
.funnel-bar{height:100%;border-radius:6px;transition:width .5s var(--ease);}
.funnel-val{width:74px;flex-shrink:0;text-align:right;font-size:11.5px;font-weight:700;color:var(--ink);}
.funnel-foot{display:flex;justify-content:space-between;margin-top:12px;padding-top:12px;border-top:1px solid var(--line);font-size:12.5px;font-weight:700;color:var(--brand-700);}

/* ---- Enquiries Trend ---- */
.trend-mini-stats{display:flex;gap:22px;margin-bottom:6px;}
.trend-mini-stats b{display:block;font-size:19px;font-weight:700;color:var(--ink);}
.trend-mini-stats span{font-size:11px;color:var(--muted);}
.trend-chart-wrap{margin-top:4px;}
.trend-labels{display:flex;justify-content:space-between;margin-top:2px;}
.trend-labels span{font-size:10px;color:var(--muted);}

/* ---- Donut charts (Enquiries by Source / Treatment Status) ---- */
.donut-row {
    display: flex;
    align-items: center;
    gap: 18px;
    flex-direction: column;
}
.donut{width:118px;height:118px;border-radius:50%;flex-shrink:0;position:relative;}
.donut::after{content:'';position:absolute;inset:20px;background:var(--surface);border-radius:50%;display:flex;}
.donut-center{position:absolute;inset:20px;display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:1;}
.donut-center b{font-size:17px;font-weight:700;color:var(--ink);line-height:1;}
.donut-center span{font-size:9.5px;color:var(--muted);margin-top:2px;}
.donut-legend{flex:1;display:flex;flex-direction:column;gap:7px;min-width:0;}
.legend-row{display:flex;align-items:center;gap:7px;font-size:11.5px;}
.legend-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0;}
.legend-row .lg-label{flex:1;color:var(--ink-soft);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.legend-row .lg-pct{font-weight:700;color:var(--ink);}

/* ---- Top Performing Campaigns / Counsellor Performance (reuse .data-table) ---- */
.mini-table{width:100%;border-collapse:collapse;font-size:12px;}
.mini-table th{text-align:left;font-size:10.5px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);padding:0 0 8px;font-weight:700;}
.mini-table td{padding:8px 0;border-top:1px solid var(--line);color:var(--ink-soft);}
.mini-table td:first-child{color:var(--ink);font-weight:600;}
.mini-table td.num{text-align:right;font-weight:600;}

/* ---- Today's Appointments ---- */
.appt-list{display:flex;flex-direction:column;}
.appt-row{display:flex;align-items:center;gap:10px;padding:9px 0;border-top:1px solid var(--line);}
.appt-row:first-child{border-top:none;padding-top:0;}
.appt-time{width:64px;flex-shrink:0;font-size:11px;font-weight:700;color:var(--brand-600);}
.appt-avatar{width:30px;height:30px;border-radius:50%;background:var(--brand-50);color:var(--brand-700);display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;flex-shrink:0;}
.appt-info{flex:1;min-width:0;}
.appt-info b{display:block;font-size:12.5px;color:var(--ink);font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.appt-info span{font-size:10.5px;color:var(--muted);}

/* ---- Tasks & Follow-ups ---- */
.task-mini-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:14px;}
.task-mini{background:var(--paper);border-radius:10px;padding:8px 10px;text-align:center;}
.task-mini b{display:block;font-size:16px;font-weight:700;color:var(--ink);}
.task-mini span{font-size:9.5px;color:var(--muted);}
.task-list{display:flex;flex-direction:column;}
.task-row{display:flex;align-items:flex-start;gap:9px;padding:8px 0;border-top:1px solid var(--line);}
.task-row:first-child{border-top:none;padding-top:0;}
.task-row .pill{flex-shrink:0;margin-top:1px;}
.task-info{flex:1;min-width:0;}
.task-info p{font-size:12px;color:var(--ink);font-weight:500;margin:0;}
.task-info span{font-size:10px;color:var(--muted);}

/* ---- Recent Activities ---- */
.activity-feed{display:flex;flex-direction:column;gap:2px;}
.activity-row{display:flex;align-items:flex-start;gap:10px;padding:8px 0;border-top:1px solid var(--line);}
.activity-row:first-child{border-top:none;padding-top:0;}
.activity-icon{width:28px;height:28px;border-radius:8px;background:var(--brand-50);color:var(--brand-600);display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.activity-icon svg{width:14px;height:14px;}
.activity-info p{font-size:12px;color:var(--ink-soft);margin:0;line-height:1.4;}
.activity-info span{font-size:10px;color:var(--muted);}

/* ---- Quick Actions ---- */
.quick-actions-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;}
.quick-action-btn{
  display:flex;flex-direction:column;align-items:center;gap:7px;padding:14px 8px;border-radius:12px;
  border:1px solid var(--line);background:var(--paper);text-align:center;
  transition:transform .2s var(--ease),box-shadow .2s var(--ease),border-color .2s;
}
.quick-action-btn:hover{transform:translateY(-2px);box-shadow:var(--shadow-sm);border-color:var(--brand-300);background:var(--white);}
.quick-action-btn .qa-icon{width:32px;height:32px;border-radius:9px;background:var(--brand-50);color:var(--brand-600);display:flex;align-items:center;justify-content:center;}
.quick-action-btn .qa-icon svg{width:16px;height:16px;}
.quick-action-btn span{font-size:11.5px;font-weight:600;color:var(--ink);}

/* ============================================================
   LEAD MANAGEMENT — SUB-MODULE SCREENS
   (Pipeline / Assignment / Follow-up / Conversion / Lost / Duplicate / Import)
   ============================================================ */

/* ---- shared: filter bar + toolbar row ---- */
.filter-bar{display:flex;gap:10px;flex-wrap:wrap;align-items:flex-end;margin-bottom:16px;}
.filter-field{display:flex;flex-direction:column;gap:5px;}
.filter-field label{font-size:10px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.04em;}
.filter-field select,.filter-field input{
  padding:9px 12px;border:1.5px solid var(--line);border-radius:9px;font-size:12.5px;color:var(--ink);
  background:var(--white);min-width:150px;font-family:inherit;
}
.filter-field select:focus,.filter-field input:focus{outline:none;border-color:var(--brand-400);box-shadow:0 0 0 4px var(--brand-50);}
.toolbar-row{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:16px;justify-content:flex-end;}
.btn-sm{padding:8px 14px;font-size:12px;}
.bulk-bar{display:flex;align-items:center;flex-wrap:wrap;gap:10px 16px;background:var(--brand-50);border:1px solid var(--brand-100);border-radius:12px;padding:10px 14px;margin-bottom:14px;font-size:12.5px;font-weight:600;color:var(--brand-700);}
.bulk-bar .spacer{flex:1;}
.action-link{font-size:11.5px;font-weight:700;color:var(--brand-600);margin-right:12px;cursor:pointer;white-space:nowrap;}
.action-link:hover{text-decoration:underline;}
.action-link.danger{color:var(--accent-coral);}
.empty-state{text-align:center;padding:40px 20px;color:var(--muted);font-size:12.5px;}

/* ---- reason / status pill variants ---- */
.pill.reason-cost{background:#fdf6e6;color:#a5760f;}
.pill.reason-competitor{background:#fdf0ee;color:var(--accent-coral);}
.pill.reason-location{background:var(--brand-50);color:var(--brand-700);}
.pill.reason-notresponding{background:#f1ebfb;color:#7c3aed;}
.pill.reason-other{background:var(--paper);color:var(--ink-soft);}
.pill.recovered{background:var(--brand-50);color:var(--brand-700);}
.pill.notrecovered{background:#fdf0ee;color:var(--accent-coral);}
.pill.pending{background:#fdf6e6;color:#a5760f;}
.pill.reviewpending{background:#f1ebfb;color:#7c3aed;}
.pill.ignored{background:var(--paper);color:var(--muted);}

/* ---- Kanban board (Lead Pipeline) ---- */
.kanban-board{display:flex;gap:14px;overflow-x:auto;padding-bottom:10px;align-items:flex-start;}
.kanban-col{flex:0 0 272px;background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:12px;display:flex;flex-direction:column;max-height:720px;}
.kanban-col-head{display:flex;align-items:center;justify-content:space-between;padding:2px 4px 12px;border-bottom:2px solid var(--line);margin-bottom:10px;}
.kanban-col-head h4{font-size:12px;font-weight:700;color:var(--ink);text-transform:uppercase;letter-spacing:.03em;}
.kanban-count{font-size:11px;font-weight:700;color:var(--brand-700);background:var(--brand-50);padding:2px 9px;border-radius:20px;flex-shrink:0;}
.kanban-cards{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:10px;padding-right:2px;}
.kanban-card{background:var(--surface);border:1px solid var(--line);border-left:4px solid var(--brand-400);border-radius:12px;padding:12px;cursor:grab;transition:transform .18s var(--ease),box-shadow .18s var(--ease);}
.kanban-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);}
.kanban-card.priority-high{border-left-color:var(--accent-coral);}
.kanban-card.priority-medium{border-left-color:var(--accent-amber-600);}
.kanban-card.priority-low{border-left-color:var(--brand-400);}
.kc-top{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:8px;gap:6px;}
.kc-top b{font-size:13px;font-weight:700;color:var(--ink);}
.kc-age{font-size:10px;color:var(--muted);white-space:nowrap;flex-shrink:0;}
.kc-meta{display:flex;flex-direction:column;gap:4px;margin-bottom:10px;}
.kc-meta span{font-size:11px;color:var(--ink-soft);display:flex;align-items:center;gap:6px;}
.kc-meta svg{width:12px;height:12px;color:var(--muted);flex-shrink:0;}
.kc-foot{display:flex;align-items:center;justify-content:space-between;padding-top:9px;border-top:1px solid var(--line);}
.kc-score{font-size:11px;font-weight:700;color:var(--brand-700);}
.kc-next{font-size:10px;color:var(--muted);}

/* ---- Split layout (Lead Follow-up) ---- */
.split-layout{display:grid;grid-template-columns:320px 1fr;gap:16px;align-items:start;}
.split-col{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:16px;}
.split-tabs{display:flex;gap:6px;margin-bottom:14px;background:var(--paper);border-radius:10px;padding:4px;}
.split-tabs a{flex:1;text-align:center;padding:8px 6px;border-radius:8px;font-size:11px;font-weight:700;color:var(--muted);}
.split-tabs a.current{background:var(--surface);color:var(--brand-700);box-shadow:var(--shadow-sm);}
.fu-item{padding:11px 10px;border-radius:10px;border:1px solid var(--line);margin-bottom:8px;}
.fu-item.active{background:var(--brand-50);border-color:var(--brand-200);}
.fu-item-top{display:flex;justify-content:space-between;gap:6px;}
.fu-item b{display:block;font-size:12.5px;color:var(--ink);}
.fu-item span{font-size:10.5px;color:var(--muted);}
.fu-detail-head{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:16px;padding-bottom:16px;border-bottom:1px solid var(--line);gap:10px;}
.fu-detail-head h3{font-size:16px;font-weight:700;margin-bottom:4px;}
.fu-detail-head p{font-size:12px;color:var(--muted);}
.fu-timeline{display:flex;flex-direction:column;gap:10px;margin-bottom:6px;}
.fu-tl-row{display:flex;gap:10px;padding-bottom:10px;border-bottom:1px solid var(--line);}
.fu-tl-row:last-child{border-bottom:none;padding-bottom:0;}
.fu-tl-dot{width:8px;height:8px;border-radius:50%;background:var(--brand-500);margin-top:5px;flex-shrink:0;}
.fu-tl-row p{font-size:12px;color:var(--ink-soft);margin-bottom:2px;}
.fu-tl-row span{font-size:10.5px;color:var(--muted);}
.section-label{font-size:11px;font-weight:700;color:var(--brand-700);text-transform:uppercase;letter-spacing:.04em;margin-bottom:10px;display:block;}

/* ---- Wizard progress (Lead Conversion / Lead Import) ---- */
.wizard-progress{display:flex;align-items:center;margin-bottom:22px;overflow-x:auto;padding-bottom:4px;}
.wiz-step{display:flex;flex-direction:column;align-items:center;gap:6px;flex-shrink:0;min-width:96px;}
.wiz-circle{width:34px;height:34px;border-radius:50%;background:var(--paper);border:2px solid var(--line);display:flex;align-items:center;justify-content:center;font-size:12.5px;font-weight:700;color:var(--muted);flex-shrink:0;}
.wiz-step.done .wiz-circle{background:var(--brand-500);border-color:var(--brand-500);color:#fff;}
.wiz-step.current .wiz-circle{border-color:var(--brand-500);color:var(--brand-700);box-shadow:0 0 0 4px var(--brand-50);}
.wiz-step span{font-size:10.5px;font-weight:700;color:var(--muted);text-align:center;white-space:nowrap;}
.wiz-step.done span,.wiz-step.current span{color:var(--brand-700);}
.wiz-line{flex:1;height:2px;background:var(--line);margin:0 4px;min-width:24px;}
.wiz-line.done{background:var(--brand-500);}

/* ---- Checklist (Lead Conversion sidebar) ---- */
.checklist{display:flex;flex-direction:column;gap:12px;}
.check-item{display:flex;align-items:center;gap:10px;font-size:12.5px;color:var(--ink-soft);font-weight:600;}
.check-item .ci-box{width:20px;height:20px;border-radius:6px;background:var(--brand-50);color:var(--brand-600);display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.check-item .ci-box svg{width:12px;height:12px;}
.check-item.pending .ci-box{background:var(--paper);color:var(--muted);border:1.5px dashed var(--line);}
.check-item.pending{color:var(--muted);}
.conversion-layout{display:grid;grid-template-columns:1fr 280px;gap:16px;align-items:start;}
.summary-row{display:flex;justify-content:space-between;padding:8px 0;border-bottom:1px solid var(--line);font-size:12.5px;}
.summary-row:last-child{border-bottom:none;}
.summary-row span{color:var(--muted);}
.summary-row b{color:var(--ink);font-weight:700;}

/* ---- Similarity bar + match chips (Duplicate Leads) ---- */
.similarity-wrap{display:flex;align-items:center;gap:8px;min-width:110px;}
.similarity-track{flex:1;height:6px;background:var(--paper);border-radius:6px;overflow:hidden;}
.similarity-fill{height:100%;border-radius:6px;background:linear-gradient(90deg,var(--brand-400),var(--brand-600));}
.similarity-wrap b{font-size:11px;font-weight:700;color:var(--ink);flex-shrink:0;}
.match-chip{display:inline-block;font-size:10px;font-weight:700;background:var(--brand-50);color:var(--brand-700);padding:2px 8px;border-radius:20px;margin:2px 3px 0 0;}

/* ---- Import wizard: dropzone + progress bar ---- */
.dropzone{border:2px dashed var(--brand-200);background:var(--brand-50);border-radius:var(--radius);padding:44px 24px;text-align:center;color:var(--brand-700);}
.dropzone svg{width:34px;height:34px;color:var(--brand-400);margin-bottom:10px;}
.dropzone h4{font-size:14.5px;margin-bottom:4px;}
.dropzone p{font-size:12px;color:var(--muted);margin-bottom:14px;}
.progress-track{width:100%;height:10px;background:var(--paper);border-radius:20px;overflow:hidden;margin:6px 0 12px;}
.progress-fill{height:100%;background:linear-gradient(90deg,var(--brand-400),var(--brand-600));border-radius:20px;}
.import-summary-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:16px;}

/* ---- Pagination ---- */
.pagination-row{display:flex;align-items:center;justify-content:space-between;margin-top:16px;flex-wrap:wrap;gap:10px;}
.pagination-info{font-size:11.5px;color:var(--muted);}
.pagination{display:flex;gap:6px;}
.pagination a{width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:8px;border:1px solid var(--line);font-size:12px;font-weight:700;color:var(--ink-soft);}
.pagination a:hover{border-color:var(--brand-300);color:var(--brand-700);}
.pagination a.current{background:linear-gradient(135deg,var(--brand-500),var(--brand-600));color:#fff;border-color:transparent;}

/* ---- Pill tabs (secondary in-page tab bar, e.g. Patient 360) ---- */
.pill-tabs{display:flex;gap:6px;background:var(--paper);border-radius:10px;padding:4px;margin-bottom:18px;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;}
.pill-tabs::-webkit-scrollbar{display:none;}
.pill-tabs a{padding:9px 14px;border-radius:8px;font-size:12px;font-weight:700;color:var(--muted);white-space:nowrap;flex-shrink:0;}
.pill-tabs a.current{background:var(--surface);color:var(--brand-700);box-shadow:var(--shadow-sm);}

/* ---- Profile info rows / document cards (Patient 360) ---- */
.profile-head{display:flex;align-items:center;gap:16px;margin-bottom:6px;}
.profile-avatar{width:56px;height:56px;border-radius:16px;background:linear-gradient(135deg,var(--brand-400),var(--brand-600));color:#fff;display:flex;align-items:center;justify-content:center;font-size:19px;font-weight:700;flex-shrink:0;}
.profile-head h2{font-size:18px;font-weight:700;color:var(--ink);margin-bottom:3px;}
.profile-head p{font-size:12.5px;color:var(--muted);}
.info-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:16px;}
.info-row{padding:10px 0;border-bottom:1px solid var(--line);}
.info-row label{display:block;font-size:10px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.04em;margin-bottom:4px;}
.info-row span{font-size:13px;color:var(--ink);font-weight:600;}
.doc-list{display:flex;flex-direction:column;gap:10px;}
.doc-row{display:flex;align-items:center;gap:12px;padding:11px;border:1px solid var(--line);border-radius:12px;}
.doc-icon{width:34px;height:34px;border-radius:9px;background:var(--brand-50);color:var(--brand-600);display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.doc-icon svg{width:16px;height:16px;}
.doc-info{flex:1;}
.doc-info b{display:block;font-size:12.5px;color:var(--ink);}
.doc-info span{font-size:10.5px;color:var(--muted);}

/* ============================================================
   ENQUIRY MANAGEMENT — SUB-MODULE SCREENS
   (Website / Walk-in / Phone / WhatsApp / Social Media / Referral / Campaign)
   ============================================================ */

/* ---- Channel platform badges: colored circle + short code, same
   visual pattern as .appt-avatar / .profile-avatar / .tb-avatar ---- */
.platform-badge{width:24px;height:24px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:9px;font-weight:700;color:#fff;flex-shrink:0;letter-spacing:-.02em;}
.platform-badge.whatsapp{background:#25d366;}
.platform-badge.facebook{background:#1877f2;}
.platform-badge.instagram{background:linear-gradient(135deg,#f58529,#dd2a7b,#8134af);}
.platform-badge.google{background:#ea4335;}
.platform-badge.linkedin{background:#0a66c2;}

/* ---- Name/contact cell with an inline channel badge (WhatsApp &
   Social Media tables) ---- */
.cell-with-badge{display:flex;align-items:center;gap:9px;}
.cell-with-badge b{font-size:12.8px;color:var(--ink);font-weight:600;white-space:nowrap;}

/* ---- Small muted helper line under a table cell's primary text
   (e.g. last message preview, secondary contact detail) ---- */
.cell-sub{display:block;font-size:11px;color:var(--muted);margin-top:2px;max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}

/* ============================================================
   RESPONSIVE — single consolidated section, ordered widest to
   narrowest so the cascade always applies correctly. Do not add
   more @media blocks elsewhere in this file; add them here.
   ============================================================ */

/* ---- Laptop (≤1280px): tighten the 6-col stat row to 3 ---- */
@media (max-width:1280px){
  .stat-row{grid-template-columns:repeat(3,1fr);}
}

/* ---- Small laptop / large tablet (≤1100px) ---- */
@media (max-width:1100px){
  .dash-grid-3{grid-template-columns:1fr 1fr;}
  .split-layout,.conversion-layout{grid-template-columns:1fr;}
}

/* ---- Tablet landscape (≤1024px): collapse sidebar to icon rail ---- */
@media (max-width:1024px){
  .stat-row{grid-template-columns:repeat(2,1fr);}
  .app-shell{grid-template-columns:var(--sidebar-w-collapsed) 1fr;}
  .sidebar-brand .txt,.nav-top .lbl,.sidebar-collapse .lbl{display:none;}
  .app-shell.collapsed{grid-template-columns:var(--sidebar-w) 1fr;}
  .app-shell.collapsed .sidebar-brand .txt,
  .app-shell.collapsed .nav-top .lbl,
  .app-shell.collapsed .sidebar-collapse .lbl{display:block;}
}

/* ---- Tablet portrait (≤900px) ---- */
@media (max-width:900px){
  .topbar-search{max-width:220px;}
  .quick-actions-grid{grid-template-columns:repeat(2,1fr);}
}

/* ---- Tables (≤768px): scroll horizontally instead of squeezing ---- */
@media (max-width:768px){
  .data-table,.mini-table{display:block;overflow-x:auto;white-space:nowrap;-webkit-overflow-scrolling:touch;}
  .tab-row{overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;}
  .tab-row::-webkit-scrollbar{display:none;}
}

/* ---- Mobile (≤680px): sidebar becomes an off-canvas drawer ---- */
@media (max-width:680px){
  .app-shell{grid-template-columns:1fr;grid-template-areas:"topbar" "main" "footer";}
  .sidebar{position:fixed;top:0;left:0;bottom:0;width:var(--sidebar-w);transform:translateX(-100%);transition:transform .3s var(--ease);box-shadow:var(--shadow-lg);z-index:50;}
  .sidebar.open{transform:translateX(0);}
  .sidebar-brand .txt,.nav-top .lbl,.sidebar-collapse .lbl{display:block !important;}
  .topbar-hamburger{display:flex;}
  .topbar-search{display:none;}
  .stat-row{grid-template-columns:repeat(2,1fr);}
  .dash-grid-3{grid-template-columns:1fr;}
  .info-grid{grid-template-columns:1fr;}
  .main{padding:16px 14px 6px;}
  .page-hero{padding:16px;}
  .card{padding:16px;}
  .quick-actions-grid{grid-template-columns:repeat(2,1fr);}
  .import-summary-grid{grid-template-columns:1fr 1fr;}
  .filter-field select,.filter-field input{min-width:120px;}
  .cell-sub{max-width:140px;}
}

/* ---- Small phones (≤480px) ---- */
@media (max-width:480px){
  .stat-row{grid-template-columns:1fr;}
  .module-grid{grid-template-columns:1fr 1fr;}
  .dash-grid-4{grid-template-columns:1fr;}
  .donut-row{flex-direction:column;align-items:flex-start;}
  .funnel-label{width:60px;}
  .funnel-val{width:60px;font-size:10.5px;}
}

/* ============================================================
   LEAD REPORT — SCREENSHOT MATCH
   ============================================================ */

.lead-report{
    width:100%;
    min-width:0;
}


/* ============================================================
   PAGE HEADER
   ============================================================ */

.lr-page-head{
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:20px;
    margin-bottom:18px;
}

.lr-page-head h1{
    font-size:22px;
    line-height:1.15;
    font-weight:700;
    color:var(--ink);
    margin:0 0 7px;
}

.lr-breadcrumb{
    display:flex;
    align-items:center;
    gap:11px;
    font-size:11.5px;
    color:var(--ink-soft);
}

.lr-breadcrumb b{
    color:#a8a0bc;
    font-size:15px;
    font-weight:400;
}

.lr-breadcrumb .current{
    color:var(--muted);
}

.lr-head-actions{
    display:flex;
    align-items:center;
    gap:14px;
}

.lr-btn{
    height:36px;
    padding:0 17px;
    border-radius:7px;
    font-family:var(--font-body);
    font-size:12px;
    font-weight:600;
    cursor:pointer;
    white-space:nowrap;
}

.lr-btn-export{
    background:var(--white);
    border:1px solid #dfe2e9;
    color:var(--ink-soft);
    box-shadow:0 1px 2px rgba(20,20,40,.03);
}

.lr-btn-export:hover{
    border-color:var(--brand-300);
    color:var(--brand-700);
}

.lr-btn-generate{
    border:1px solid transparent;
    background:linear-gradient(135deg,#6841d0,#5630bb);
    color:#fff;
    box-shadow:0 5px 12px rgba(91,53,200,.20);
}

.lr-btn-generate:hover{
    transform:translateY(-1px);
}


/* ============================================================
   FILTER CARD
   ============================================================ */

.lr-filter-card{
    background:var(--surface);
    border:1px solid #e3e5eb;
    border-radius:7px;
    padding:14px 15px;
    margin-bottom:12px;
    box-shadow:0 1px 2px rgba(20,20,40,.025);
}

.lr-filter-title{
    display:flex;
    align-items:center;
    gap:5px;
    font-size:11.5px;
    font-weight:700;
    color:var(--ink);
    margin-bottom:12px;
}

.lr-filter-icon{
    font-size:11px;
    color:#536072;
}

.lr-filter-grid{
    display:grid;
    gap:15px;
    align-items:end;
    margin-bottom:13px;
}

.lr-filter-grid:last-child{
    margin-bottom:0;
}

.lr-filter-grid-6{
    grid-template-columns:
        1.45fr
        1fr
        1fr
        1fr
        1fr
        1fr;
}

.lr-filter-grid-5{
    grid-template-columns:
        1fr
        1fr
        1fr
        1fr
        1.08fr;
}

.lr-field{
    min-width:0;
}

.lr-field label{
    display:block;
    font-size:10.5px;
    line-height:1;
    font-weight:700;
    color:#172033;
    margin-bottom:7px;
}

.lr-input,
.lr-select{
    width:100%;
    height:32px;
    border:1px solid #d9dee7;
    border-radius:6px;
    background:#fff;
    color:#1d2738;
    font-family:var(--font-body);
    font-size:11.5px;
    padding:0 10px;
    outline:none;
}

.lr-select{
    appearance:auto;
    -webkit-appearance:auto;
}

.lr-input:focus,
.lr-select:focus{
    border-color:#8060d5;
    box-shadow:0 0 0 3px rgba(91,53,200,.07);
}

.lr-date-range{
    display:flex;
    align-items:center;
    gap:7px;
}

.lr-date-range .lr-input{
    min-width:0;
}

.lr-date-range span{
    color:#697386;
    font-size:12px;
}

.lr-filter-actions{
    display:flex;
    align-items:flex-end;
    justify-content:flex-end;
    gap:9px;
    min-height:32px;
}

.lr-btn-clear{
    height:35px;
    min-width:96px;
    background:#fff;
    color:#4d31a7;
    border:1px solid #9c83e4;
    padding:0 17px;
}

.lr-btn-apply{
    height:35px;
    min-width:114px;
    color:#fff;
    border:0;
    padding:0 15px;
    background:linear-gradient(135deg,#6540cc,#5530b8);
    box-shadow:0 4px 10px rgba(91,53,200,.16);
}


/* ============================================================
   KPI CARDS
   ============================================================ */

.lr-kpi-grid{
    display:grid;
    grid-template-columns:repeat(6,1fr);
    gap:5px;
    margin-bottom:12px;
}

.lr-kpi-card{
    min-width:0;
    min-height:87px;
    display:flex;
    align-items:center;
    gap:12px;
    background:var(--surface);
    border:1px solid #e5e7ed;
    border-radius:7px;
    padding:12px 15px;
}

.lr-kpi-icon{
    width:43px;
    height:43px;
    min-width:43px;
    border-radius:50%;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:19px;
    font-weight:700;
}

.lr-kpi-icon.purple{
    color:#fff;
    background:linear-gradient(135deg,#7951df,#6334c8);
}

.lr-kpi-icon.blue{
    color:#fff;
    background:#3f91e8;
}

.lr-kpi-icon.orange{
    color:#fff;
    background:#fb791d;
}

.lr-kpi-icon.green{
    color:#fff;
    background:#36a867;
}

.lr-kpi-icon.red{
    color:#fff;
    background:#f34c69;
}

.lr-kpi-icon.cyan{
    color:#fff;
    background:#17b8c9;
}

.lr-kpi-content{
    min-width:0;
}

.lr-kpi-label{
    font-size:10.5px;
    font-weight:600;
    color:#202a3a;
    margin-bottom:4px;
    white-space:nowrap;
}

.lr-kpi-value{
    font-size:21px;
    line-height:1;
    font-weight:700;
    color:#111827;
    margin-bottom:5px;
}

.lr-kpi-growth{
    font-size:9.5px;
    font-weight:600;
    white-space:nowrap;
}

.lr-kpi-growth span{
    color:#303a4b;
    font-weight:400;
}

.lr-kpi-growth.green{
    color:#13a55b;
}

.lr-kpi-growth.red-text{
    color:#ef334f;
}


/* ============================================================
   ANALYTICS GRID
   ============================================================ */

.lr-analytics-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:10px;
    margin-bottom:12px;
}

.lr-chart-card{
    min-width:0;
    min-height:213px;
    background:var(--surface);
    border:1px solid #e4e6ec;
    border-radius:7px;
    padding:13px 14px;
    overflow:hidden;
}

.lr-chart-title{
    font-size:12px;
    font-weight:700;
    color:#131c2d;
}

.lr-chart-head{
    display:flex;
    align-items:center;
    justify-content:space-between;
    margin-bottom:8px;
}

.lr-month-select{
    height:28px;
    padding:0 8px;
    border:1px solid #dfe2e9;
    border-radius:6px;
    background:#fff;
    font-family:var(--font-body);
    font-size:10.5px;
    color:#273246;
}


/* ============================================================
   DONUT
   ============================================================ */

.lr-donut-layout{
    height:175px;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:13px;
}

.lr-donut{
    position:relative;
    width:126px;
    height:126px;
    min-width:126px;
    border-radius:50%;
}

.lr-donut-hole{
    position:absolute;
    inset:30px;
    border-radius:50%;
    background:#fff;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
}

.lr-donut-hole strong{
    color:#151d2e;
    font-size:16px;
    line-height:1;
    font-weight:700;
}

.lr-donut-hole span{
    margin-top:3px;
    font-size:9px;
    color:#596477;
}

.lr-legend{
    display:flex;
    flex-direction:column;
    gap:8px;
    min-width:0;
    width:100%;
}

.lr-legend-row{
    display:grid;
    grid-template-columns:9px minmax(0,1fr) auto;
    align-items:center;
    column-gap:7px;
    font-size:10.5px;
    color:#273143;
}

.lr-legend-row span{
    overflow:hidden;
    white-space:nowrap;
    text-overflow:ellipsis;
}

.lr-legend-row b{
    font-weight:500;
    white-space:nowrap;
    color:#263143;
}

.lr-legend-row .dot{
    width:8px;
    height:8px;
    border-radius:50%;
    display:block;
}

.dot.purple{background:#6038ca;}
.dot.blue{background:#4285df;}
.dot.green{background:#4dbb6c;}
.dot.orange{background:#ff7b2b;}
.dot.red{background:#ef5350;}


/* ============================================================
   LINE CHART
   ============================================================ */

.lr-line-chart{
    height:156px;
    display:grid;
    grid-template-columns:30px 1fr;
    align-items:stretch;
    margin-top:4px;
}

.lr-y-axis{
    display:flex;
    flex-direction:column;
    justify-content:space-between;
    padding:11px 0 7px;
    font-size:8.5px;
    color:#5e6878;
}

.lr-line-chart svg{
    width:100%;
    height:100%;
    overflow:visible;
}

.lr-chart-xlabels{
    display:flex;
    justify-content:space-between;
    padding-left:30px;
    margin-top:-2px;
    font-size:8.5px;
    color:#4d586a;
}


/* ============================================================
   OWNER BARS
   ============================================================ */

.lr-owner-list{
    display:flex;
    flex-direction:column;
    gap:12px;
    margin-top:25px;
}

.lr-owner-row{
    display:grid;
    grid-template-columns:76px minmax(0,1fr) 27px;
    align-items:center;
    gap:7px;
}

.lr-owner-row > span{
    font-size:10px;
    color:#1d2738;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
}

.lr-owner-row > b{
    font-size:10px;
    color:#303a4c;
    font-weight:500;
    text-align:right;
}

.lr-owner-track{
    height:10px;
    background:transparent;
    border-radius:10px;
    overflow:hidden;
}

.lr-owner-track i{
    display:block;
    height:100%;
    border-radius:10px;
    background:linear-gradient(90deg,#6340c7,#7855d7);
}

.lr-owner-track i.blue-bar{
    background:linear-gradient(90deg,#3f91df,#468fdb);
}


/* ============================================================
   TABLE CARD
   ============================================================ */

.lr-table-card{
    background:var(--surface);
    border:1px solid #e3e5eb;
    border-radius:7px;
    overflow:hidden;
}

.lr-table-head{
    height:50px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:15px;
    padding:0 14px;
    border-bottom:1px solid #e5e7ed;
}

.lr-table-title{
    font-size:12px;
    font-weight:700;
    color:#172033;
}

.lr-table-tools{
    display:flex;
    align-items:center;
    gap:14px;
}

.lr-show{
    display:flex;
    align-items:center;
    gap:5px;
    color:#344054;
    font-size:10.5px;
    white-space:nowrap;
}

.lr-small-select{
    width:43px;
    height:27px;
    border:1px solid #dce1e9;
    border-radius:5px;
    background:#fff;
    font-size:10.5px;
    padding:0 4px;
}

.lr-search{
    width:210px;
    height:30px;
    display:flex;
    align-items:center;
    gap:7px;
    border:1px solid #dce1e9;
    border-radius:6px;
    padding:0 9px;
    background:#fff;
}

.lr-search span{
    font-size:15px;
    color:#9aa2af;
}

.lr-search input{
    width:100%;
    border:0;
    outline:0;
    background:transparent;
    font-family:var(--font-body);
    font-size:10.5px;
    color:#283244;
}

.lr-search input::placeholder{
    color:#9ca4b1;
}

.lr-table-scroll{
    width:100%;
    overflow-x:auto;
}

.lr-data-table{
    width:100%;
    min-width:1120px;
    border-collapse:collapse;
    table-layout:auto;
    font-size:10.5px;
}

.lr-data-table th{
    height:36px;
    padding:0 10px;
    background:#f8f7fc;
    border-bottom:1px solid #e3e5eb;
    color:#172033;
    text-align:left;
    font-size:9.5px;
    font-weight:700;
    white-space:nowrap;
}

.lr-data-table td{
    height:47px;
    padding:0 10px;
    border-bottom:1px solid #e8eaf0;
    color:#1f2937;
    white-space:nowrap;
    vertical-align:middle;
}

.lr-data-table tr:hover td{
    background:#fbfaff;
}

.lr-lead-id{
    color:#4930b2 !important;
    font-weight:600;
    text-decoration:none;
}

.lr-lead-id:hover{
    text-decoration:underline;
}

.lr-followup-date{
    color:#f23d63;
    background:#fff0f3;
    border-radius:10px;
    padding:4px 7px;
    font-size:9.5px;
    font-weight:600;
}

.lr-status{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-width:61px;
    height:22px;
    padding:0 9px;
    border-radius:12px;
    font-size:9.5px;
    font-weight:600;
}

.lr-status.new{
    color:#623bc1;
    background:#f0eafd;
}

.lr-status.contacted{
    color:#0875cf;
    background:#e8f3fd;
}

.lr-status.qualified{
    color:#b26b09;
    background:#fff2dc;
}

.lr-status.converted{
    color:#238a4d;
    background:#e8f7ed;
}

.lr-status.lost{
    color:#df3b56;
    background:#fdecef;
}

.lr-converted{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-width:38px;
    height:22px;
    border-radius:12px;
    padding:0 8px;
    font-size:9.5px;
    font-weight:600;
}

.lr-converted.yes{
    color:#269653;
    background:#e5f6eb;
}

.lr-converted.no{
    color:#ef4261;
    background:#fdebed;
}

.lr-row-actions{
    display:flex;
    align-items:center;
    gap:7px;
}

.lr-action-btn{
    width:24px;
    height:24px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    border:1px solid #e0e3e9;
    border-radius:6px;
    background:#fff;
    color:#273247;
    font-size:12px;
    text-decoration:none;
}

.lr-action-btn:hover{
    border-color:#9a82dc;
    color:#5737ba;
    background:#faf8ff;
}


/* ============================================================
   PAGINATION
   ============================================================ */

.lr-pagination-row{
    min-height:61px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:15px;
    padding:0 14px;
}

.lr-pagination-info{
    color:#667085;
    font-size:10.5px;
}

.lr-pagination-info strong{
    color:#475467;
    font-weight:600;
}

.lr-pagination{
    display:flex;
    align-items:center;
    gap:5px;
}

.lr-page-btn{
    width:32px;
    height:32px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    border:1px solid transparent;
    border-radius:6px;
    color:#253044;
    background:#fff;
    font-size:10.5px;
    font-weight:500;
    text-decoration:none;
}

.lr-page-btn:hover{
    border-color:#c9b9f2;
    color:#5836b9;
}

.lr-page-btn.active{
    color:#fff;
    background:linear-gradient(135deg,#6840ce,#5731bb);
    box-shadow:0 4px 9px rgba(91,53,200,.18);
}

.lr-page-dots{
    width:22px;
    text-align:center;
    color:#6b7280;
    font-size:11px;
}


/* ============================================================
   DESKTOP — SCREENSHOT TARGET
   ============================================================ */

@media (min-width:1281px){

    .lr-page-head{
        margin-bottom:17px;
    }

    .lr-kpi-grid{
        grid-template-columns:repeat(6,minmax(0,1fr));
    }

}


/* ============================================================
   1280
   ============================================================ */

@media (max-width:1280px){

    .lr-kpi-grid{
        grid-template-columns:repeat(3,1fr);
    }

    .lr-filter-grid-6{
        grid-template-columns:repeat(3,1fr);
    }

    .lr-filter-grid-5{
        grid-template-columns:repeat(3,1fr);
    }

    .lr-filter-actions{
        justify-content:flex-start;
    }
}


/* ============================================================
   1024
   ============================================================ */

@media (max-width:1024px){

    .lr-analytics-grid{
        grid-template-columns:repeat(2,1fr);
    }

    .lr-filter-grid-6,
    .lr-filter-grid-5{
        grid-template-columns:repeat(2,1fr);
    }

    .lr-kpi-grid{
        grid-template-columns:repeat(2,1fr);
    }
}


/* ============================================================
   680
   ============================================================ */

@media (max-width:680px){

    .lr-page-head{
        align-items:flex-start;
        flex-direction:column;
    }

    .lr-head-actions{
        width:100%;
    }

    .lr-head-actions .lr-btn{
        flex:1;
    }

    .lr-filter-grid-6,
    .lr-filter-grid-5,
    .lr-kpi-grid,
    .lr-analytics-grid{
        grid-template-columns:1fr;
    }

    .lr-filter-actions{
        justify-content:flex-start;
    }

    .lr-table-head{
        height:auto;
        padding:12px;
        align-items:flex-start;
        flex-direction:column;
    }

    .lr-table-tools{
        width:100%;
        justify-content:space-between;
    }

    .lr-search{
        width:180px;
    }

    .lr-pagination-row{
        align-items:flex-start;
        flex-direction:column;
        padding:12px;
    }

}