:root{
  --teal:#2f9d8c; --teal-d:#268576; --navy:#25356b; --indigo:#2e2d6e; --ink:#1d2430;
  --muted:#6b7480; --line:#e7eaf0; --bg:#f4f7f9; --card:#fff;
  --red:#c0392b; --green:#1e9e5a;
  --hero:linear-gradient(120deg,#2f9d8c 0%,#268a86 45%,#25356b 130%);
  --shadow:0 1px 2px rgba(16,24,40,.04),0 6px 20px rgba(16,24,40,.05);
}
*{box-sizing:border-box}
html,body{margin:0}
body{font-family:Inter,-apple-system,Segoe UI,Roboto,Arial,sans-serif;background:var(--bg);color:var(--ink);font-size:14.5px;line-height:1.5}
h1,h2,h3{font-family:Poppins,Inter,sans-serif;color:var(--navy);margin:0}
a{color:var(--teal-d);text-decoration:none}

.topbar{display:flex;align-items:center;justify-content:space-between;background:#fff;border-bottom:1px solid var(--line);padding:14px 30px;position:sticky;top:0;z-index:20}
.brand{display:flex;align-items:center}
.logo-img{height:30px;width:auto;display:block}
.nav{display:flex;align-items:center;gap:18px;font-size:14px}
.nav a{color:var(--muted);font-weight:600;padding:6px 2px;border-bottom:2px solid transparent}
.nav a.on{color:var(--navy);border-bottom-color:var(--teal)}
.nav .who{color:var(--muted);font-size:12.5px;display:flex;align-items:center;gap:6px}
.nav .who .dot{width:7px;height:7px;border-radius:50%;background:var(--green)}
.ghost{background:#fff;border:1px solid var(--line);border-radius:9px;padding:7px 12px;color:var(--muted);font-size:12.5px;font-weight:600;cursor:pointer}
.ghost:hover{border-color:#cdd4df;color:var(--ink)}

.hero{background:var(--hero);color:#fff;padding:40px 30px 64px}
.hero-inner{max-width:1140px;margin:0 auto}
.eyebrow{text-transform:uppercase;letter-spacing:.18em;font-size:12px;font-weight:600;color:rgba(255,255,255,.82)}
.hero-title{font-size:34px;line-height:1.12;margin:8px 0 0;color:#fff;letter-spacing:-.01em}
.hero-sub{color:rgba(255,255,255,.9);margin:10px 0 0;font-size:15px}
.hero-stats{display:flex;gap:14px;flex-wrap:wrap;margin-top:22px}
.hstat{background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.18);border-radius:14px;padding:12px 18px;min-width:104px}
.hstat .n{display:block;font-family:Poppins;font-size:26px;font-weight:700;color:#fff;line-height:1}
.hstat .l{display:block;font-size:12px;color:rgba(255,255,255,.85);margin-top:5px}


.wrap.wide{max-width:1600px}
.wrap{max-width:1140px;margin:-40px auto 30px;padding:0 30px;position:relative;z-index:5}
.page-title{font-size:24px;margin-bottom:6px}
.foot{max-width:1140px;margin:36px auto;padding:0 30px;color:var(--muted);font-size:12px;display:flex;align-items:center;gap:12px}
.foot-logo{height:18px;opacity:.5}
.muted{color:var(--muted);font-size:13px}

.card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:22px;margin-bottom:18px;box-shadow:var(--shadow)}
.card-head{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:12px}
.card.center{text-align:center}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:18px}
h2{font-size:17px;margin-bottom:6px}
.big2{font-size:28px;font-weight:700;color:var(--teal);font-family:Poppins;margin:6px 0}

.btn{display:inline-block;border:1px solid var(--line);background:#fff;color:var(--ink);padding:9px 15px;border-radius:10px;font-weight:600;font-size:13px;cursor:pointer;transition:.12s}
.btn:hover{border-color:#cdd4df}
.btn.primary{background:var(--teal);color:#fff;border-color:var(--teal)}
.btn.primary:hover{background:var(--teal-d);border-color:var(--teal-d)}
.btn.call{border-color:#bfe6dd;color:var(--teal-d);background:#f2fbf9}
.btn.call:hover{background:#e6f7f3}
.btn.text{border-color:#d3d9e6}
.btn.sf{border-color:#c4ccf0;color:var(--indigo);background:#f5f6ff}
.btn[disabled]{opacity:.55;cursor:default}
.link{color:var(--teal-d);font-weight:600;font-size:13px}

.bar{display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap;margin-bottom:16px}
.pills{display:flex;gap:8px;flex-wrap:wrap}
.pill{background:#fff;border:1px solid var(--line);border-radius:20px;padding:7px 13px;font-size:12.5px;color:var(--muted)}
.pill b{color:var(--ink);margin-left:4px}
.pill.green b{color:var(--green)} .pill.teal b{color:var(--teal-d)} .pill.red b{color:var(--red)}
.daysel{font-size:13px;color:var(--muted);font-weight:600;display:flex;align-items:center;gap:8px}
.daysel select{border:1px solid var(--line);border-radius:9px;padding:8px 10px;font-family:inherit;font-weight:600;font-size:13px;background:#fff}

.leads{display:flex;flex-direction:column;gap:12px}
.lead{background:#fff;border:1px solid var(--line);border-radius:14px;padding:16px 18px;box-shadow:var(--shadow);border-left:4px solid var(--line);transition:.12s}
.lead[data-status="contacted"]{border-left-color:var(--green)}
.lead[data-status="submitted"]{border-left-color:var(--teal)}
.lead[data-status="dnc"]{border-left-color:var(--red)}
.lead[data-status="new"]{border-left-color:#d6a32e}
.lead:hover{box-shadow:0 2px 4px rgba(16,24,40,.05),0 10px 28px rgba(16,24,40,.07)}
.lhead{display:flex;justify-content:space-between;gap:14px;align-items:flex-start}
.lbiz{font-weight:700;font-size:16px;color:var(--navy);font-family:Poppins}
.lsub{color:var(--muted);font-size:13px;margin-top:3px}
.lphone{color:var(--teal-d);font-weight:600}
.lactions{display:flex;gap:8px;flex-wrap:wrap}
.lmeta{display:flex;gap:20px;flex-wrap:wrap;color:var(--muted);font-size:12.5px;margin:12px 0}
.lmeta b{color:var(--ink);font-weight:600}
.lrow{display:flex;gap:10px}
.status{border:1px solid var(--line);border-radius:10px;padding:9px 10px;font-family:inherit;font-size:13px;font-weight:600;background:#fff}
.note{flex:1;border:1px solid var(--line);border-radius:10px;padding:9px 12px;font-family:inherit;font-size:13px}
.note:focus,.status:focus{outline:none;border-color:var(--teal);box-shadow:0 0 0 3px rgba(47,157,140,.12)}
.empty{color:var(--muted);padding:40px;text-align:center;background:#fff;border:1px dashed var(--line);border-radius:14px}

.row{display:flex;gap:10px;align-items:center;flex-wrap:nowrap}
.row.wrap{flex-wrap:wrap}
.row input,.row select{border:1px solid var(--line);border-radius:10px;padding:10px 12px;font-family:inherit;font-size:13px}
.row input[type=file]{padding:8px}
.inline{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--muted);font-weight:600}
.inline input{width:90px}
.reps-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px;margin:14px 0}
.chk{display:flex;align-items:center;gap:8px;font-size:13px}

.tbl{width:100%;border-collapse:collapse;font-size:13px}
.tbl th,.tbl td{text-align:left;padding:10px 12px;border-bottom:1px solid var(--line);white-space:nowrap}
.tbl th{color:var(--muted);font-weight:600;font-size:12px;text-transform:uppercase;letter-spacing:.04em}
.tbl tr:last-child td{border-bottom:none}
.tbl .strong{font-weight:600;color:var(--ink)}
.c-green{color:var(--green);font-weight:600}.c-teal{color:var(--teal-d);font-weight:600}.c-red{color:var(--red);font-weight:600}
.tbl.small th,.tbl.small td{padding:6px 9px;font-size:12px;text-transform:none;letter-spacing:0}
.scroll{overflow-x:auto;border:1px solid var(--line);border-radius:12px}
.maprows{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px;margin-bottom:16px}
.maprow label{display:block;font-size:12.5px;color:var(--muted);margin-bottom:4px;font-weight:600}
.maprow select{width:100%;border:1px solid var(--line);border-radius:10px;padding:9px}

.auth{display:flex;justify-content:center;align-items:flex-start;padding:70px 20px}
.auth-card{max-width:400px;width:100%;background:#fff;border:1px solid var(--line);border-radius:20px;padding:40px;text-align:center;box-shadow:var(--shadow)}
.auth-logo{height:40px;margin-bottom:18px}
.auth-card h1{font-size:25px;margin:4px 0 0}
.auth .sub{color:var(--muted);font-size:14px;margin:12px 0 6px}
.err{color:var(--red);font-size:13px;background:#fdeceb;border:1px solid #f6d4d0;border-radius:10px;padding:9px 12px}
.gbtn{display:inline-flex;align-items:center;gap:10px;margin-top:14px;border:1px solid var(--line);border-radius:12px;padding:12px 22px;font-weight:600;color:var(--ink);background:#fff}
.gbtn:hover{border-color:#cdd4df;box-shadow:var(--shadow)}
.gbtn .g{font-family:Poppins;font-weight:700;color:#4285F4}
.fineprint{color:var(--muted);font-size:12px;margin-top:18px}

.toast{position:fixed;bottom:22px;left:50%;transform:translateX(-50%);background:var(--ink);color:#fff;padding:10px 18px;border-radius:11px;font-size:13px;opacity:0;transition:opacity .2s;box-shadow:0 8px 24px rgba(0,0,0,.2)}
.toast.show{opacity:1}

@media(max-width:760px){
  .topbar{padding:12px 18px}.hero{padding:30px 18px 56px}.hero-title{font-size:27px}
  .wrap,.foot{padding:0 18px}.grid2{grid-template-columns:1fr}
  .lhead{flex-direction:column}.lactions{width:100%}
}

/* settings / access table */
.add-access{background:#f8fafc;border:1px solid var(--line);border-radius:12px;padding:14px}
.rowform{display:inline-flex;align-items:center;gap:9px;flex-wrap:wrap}
.mini{padding:6px 9px;border:1px solid var(--line);border-radius:8px;font-family:inherit;font-size:12.5px;font-weight:600;background:#fff;cursor:pointer}
select.mini{padding:6px 8px}
.btn.mini{padding:6px 12px}
.chk.inrow{font-size:12.5px;color:var(--muted)}

/* weekday tabs (rep dashboard) */
.daytabs{display:flex;gap:10px;flex-wrap:wrap;align-items:stretch;margin-bottom:18px}
.daytab{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-width:88px;padding:11px 16px;background:#fff;border:1px solid var(--line);border-radius:13px;color:var(--ink);font-weight:600;position:relative;box-shadow:var(--shadow);transition:.12s}
.daytab:hover{border-color:#cdd4df}
.daytab .dt-day{font-size:14px;font-family:Poppins}
.daytab .dt-date{font-size:11px;color:var(--muted)}
.daytab .dt-today{color:var(--teal)}
.daytab.today:not(.on){border-color:var(--teal);box-shadow:0 0 0 3px rgba(47,157,140,.08)}
.daytab.on{background:var(--navy);border-color:var(--navy)}
.daytab.on .dt-day,.daytab.on .dt-date,.daytab.on .dt-today{color:#fff}
.daytab .dt-badge{position:absolute;top:-8px;right:-8px;background:var(--teal);color:#fff;font-size:11px;font-weight:700;min-width:21px;height:21px;border-radius:11px;display:flex;align-items:center;justify-content:center;padding:0 6px;box-shadow:var(--shadow)}
.daytab.on .dt-badge{background:#fff;color:var(--navy)}
.daytab-other{align-self:center;border:1px solid var(--line);border-radius:13px;padding:11px 14px;font-family:inherit;font-weight:600;font-size:13px;color:var(--muted);background:#fff;cursor:pointer}

.staffbar{background:#eef7f5;border:1px solid #cfe9e3;color:#1f6b5f;border-radius:11px;padding:11px 15px;font-size:13px;margin-bottom:18px}
.staffbar a{font-weight:700}

/* toolbar: tabs + view toggle */
.toolbar{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;flex-wrap:wrap;margin-bottom:16px}
.viewtoggle{display:inline-flex;background:#fff;border:1px solid var(--line);border-radius:11px;overflow:hidden;box-shadow:var(--shadow)}
.viewtoggle a{padding:10px 16px;font-size:13px;font-weight:600;color:var(--muted)}
.viewtoggle a.on{background:var(--teal);color:#fff}

/* kanban board */
.board{display:flex;gap:12px;align-items:flex-start;overflow-x:auto;padding-bottom:8px}
.col{flex:0 0 300px;background:#eef1f6;border:1px solid var(--line);border-radius:14px;min-height:120px;display:flex;flex-direction:column}
.col-new{flex:0 0 624px;max-width:90vw}
.col-new .col-body{display:grid;grid-template-columns:repeat(auto-fill,minmax(284px,1fr));gap:9px;align-content:start}
.col-head{display:flex;justify-content:space-between;align-items:center;padding:11px 14px;font-family:Poppins;font-weight:700;font-size:13px;color:var(--navy);border-bottom:2px solid var(--line);border-radius:14px 14px 0 0;background:#fff}
.col-head.s-new{border-bottom-color:#d6a32e}
.col-head.s-contacted{border-bottom-color:var(--green)}
.col-head.s-wip{border-bottom-color:#3b6fd4}
.col-head.s-submitted{border-bottom-color:var(--teal)}
.col-head.s-dnc{border-bottom-color:var(--red)}
.col-head.s-oob{border-bottom-color:#9aa1ad}
.col-count{background:#eef1f6;color:var(--muted);border-radius:10px;min-width:24px;text-align:center;padding:2px 7px;font-size:12px}
.col-body{padding:10px;display:flex;flex-direction:column;gap:9px;min-height:60px;flex:1;transition:background .12s;border-radius:0 0 14px 14px}
.col-body.over{background:rgba(47,157,140,.10);outline:2px dashed var(--teal);outline-offset:-6px}

.kcard{position:relative;background:#fff;border:1px solid var(--line);border-radius:11px;padding:11px 12px 11px;box-shadow:var(--shadow);cursor:grab;transition:box-shadow .12s,transform .12s}
.kcard:hover{box-shadow:0 2px 4px rgba(16,24,40,.05),0 12px 30px rgba(16,24,40,.10);transform:translateY(-1px)}
.kcard:active{cursor:grabbing}
.kcard.dragging{opacity:.5}
.kcard.picked{outline:2px solid var(--teal);outline-offset:-1px}
.kpick{position:absolute;top:9px;right:9px}
.kpick input{width:16px;height:16px;cursor:pointer}
.kgrip{position:absolute;top:8px;right:30px;color:#c3cad6;font-size:14px;line-height:1;cursor:grab;user-select:none;letter-spacing:-1px}
.kcard:hover .kgrip{color:#9aa1ad}
.kbiz{font-family:Poppins;font-weight:700;font-size:13.5px;color:var(--navy);padding-right:22px;line-height:1.22}
.kbiz .kmerch{display:block;font-family:Inter;font-weight:500;font-size:11.5px;color:var(--muted);margin-top:1px}
.kphone{display:inline-block;color:var(--teal-d);font-weight:700;font-size:14.5px;font-variant-numeric:tabular-nums;letter-spacing:.02em;white-space:nowrap}
.kphone:hover{text-decoration:underline}
.ktop{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin:8px 0 10px;padding-bottom:10px;border-bottom:1px solid #eef1f6}
.kbtns{display:flex;gap:6px;flex-wrap:wrap}
.cbtn{border:1px solid var(--line);background:#fff;border-radius:7px;padding:5px 11px;font-size:11.5px;font-weight:700;color:var(--ink);cursor:pointer;line-height:1.4;white-space:nowrap}
.cbtn.call{border-color:var(--teal);color:#fff;background:var(--teal)}
.cbtn.call:hover{background:var(--teal-d);border-color:var(--teal-d)}
.cbtn.text{border-color:#d3d9e6}
.cbtn.sf{border-color:#c4ccf0;color:var(--indigo);background:#f5f6ff}
.cbtn[disabled]{opacity:.5;cursor:default}
.kfacts{display:grid;grid-template-columns:max-content 1fr;gap:4px 14px;font-size:12.5px;align-items:baseline}
.kf-l{color:var(--muted);font-size:10.5px;text-transform:uppercase;letter-spacing:.03em;white-space:nowrap}
.kf-v{color:var(--ink);font-weight:600;text-align:left;font-variant-numeric:tabular-nums;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.kemail{display:flex;gap:14px;align-items:baseline;margin-top:5px;font-size:12px}
.kemail .kf-l{flex:0 0 auto}
.kemv{flex:1;min-width:0;color:var(--muted);font-weight:500;font-size:11.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.knote{width:100%;border:1px solid var(--line);border-radius:8px;padding:7px 9px;font-family:inherit;font-size:12px;margin-top:9px;background:#fbfcfe;resize:none;overflow:hidden;min-height:34px;line-height:1.4;box-sizing:border-box}
.knote:focus{outline:none;border-color:var(--teal);box-shadow:0 0 0 3px rgba(47,157,140,.12);background:#fff}

/* sticky bulk action bar */
.bulkbar{position:fixed;left:50%;bottom:22px;transform:translateX(-50%) translateY(20px);display:none;align-items:center;gap:9px;background:var(--navy);color:#fff;padding:10px 14px;border-radius:13px;box-shadow:0 10px 30px rgba(0,0,0,.25);z-index:40;flex-wrap:wrap;max-width:94vw}
.bulkbar.show{display:flex;transform:translateX(-50%) translateY(0)}
.bulkbar .bulkcount{font-size:13px}.bulkbar .bulkmove{font-size:12px;color:rgba(255,255,255,.7);margin-left:4px}
.bulkbar .btn{background:rgba(255,255,255,.14);border-color:rgba(255,255,255,.2);color:#fff}
.bulkbar .btn:hover{background:rgba(255,255,255,.24)}
.bulkbar .ghostlink{background:none;border:none;color:rgba(255,255,255,.7)}

@media(max-width:760px){ .board{grid-template-columns:repeat(5,minmax(270px,1fr))} }

/* this-week stats table */
.weekcard{margin-bottom:16px}
.wtbl{width:100%;border-collapse:separate;border-spacing:0;font-size:13px;min-width:560px}
.wtbl th,.wtbl td{padding:9px 10px;text-align:center;border-bottom:1px solid var(--line)}
.wtbl thead th{font-family:Poppins;color:var(--navy);font-weight:700;font-size:12px;border-bottom:2px solid var(--line)}
.wtbl thead th .wd{display:block}
.wtbl thead th .wdm{display:block;font-family:Inter;font-weight:500;font-size:10.5px;color:var(--muted)}
.wtbl .rl{text-align:left;color:var(--muted);font-weight:600;font-size:12px;white-space:nowrap}
.wtbl td{font-variant-numeric:tabular-nums;font-weight:600;color:var(--ink)}
.wtbl td.z{color:#c3c8d4;font-weight:500}
.wtbl .wk{background:#f5f8fa;font-weight:700;border-left:1px solid var(--line)}
.wtbl thead .wk{color:var(--teal-d)}
.wtbl .sel{background:rgba(47,157,140,.08)}
.wtbl thead .sel{box-shadow:inset 0 -2px 0 var(--teal)}
.wtbl thead .tdy .wd{color:var(--teal-d)}
.wtbl tbody tr:last-child td{border-bottom:none}

/* column count chip echoes status color */
.col-head.s-new .col-count{color:#a9791d}
.col-head.s-contacted .col-count{color:var(--green)}
.col-head.s-submitted .col-count{color:var(--teal-d)}
.col-head.s-dnc .col-count{color:var(--red)}

/* Working In Progress accents */
.col-head.s-wip .col-count{color:#3b6fd4}
.lead[data-status="wip"]{border-left-color:#3b6fd4}
.wtbl thead .tdy .wd{color:var(--teal-d)}
