/* Canvast App Styles */

@font-face {
  font-family:'DM Sans';
  src:url('/assets/fonts/dm-sans-300.woff2') format('woff2');
  font-weight:300;
  font-style:normal;
  font-display:swap;
}
@font-face {
  font-family:'DM Sans';
  src:url('/assets/fonts/dm-sans-400.woff2') format('woff2');
  font-weight:400;
  font-style:normal;
  font-display:swap;
}
@font-face {
  font-family:'DM Sans';
  src:url('/assets/fonts/dm-sans-500.woff2') format('woff2');
  font-weight:500;
  font-style:normal;
  font-display:swap;
}
@font-face {
  font-family:'Syne';
  src:url('/assets/fonts/syne-400.woff2') format('woff2');
  font-weight:400;
  font-style:normal;
  font-display:swap;
}
@font-face {
  font-family:'Syne';
  src:url('/assets/fonts/syne-500.woff2') format('woff2');
  font-weight:500;
  font-style:normal;
  font-display:swap;
}
@font-face {
  font-family:'Syne';
  src:url('/assets/fonts/syne-600.woff2') format('woff2');
  font-weight:600;
  font-style:normal;
  font-display:swap;
}
@font-face {
  font-family:'Syne';
  src:url('/assets/fonts/syne-700.woff2') format('woff2');
  font-weight:700;
  font-style:normal;
  font-display:swap;
}
@font-face {
  font-family:'Syne';
  src:url('/assets/fonts/syne-800.woff2') format('woff2');
  font-weight:800;
  font-style:normal;
  font-display:swap;
}
  .maplibregl-popup-content{background:var(--surface)!important;color:var(--text)!important;border:1px solid var(--border2)!important;border-radius:10px!important;box-shadow:0 4px 24px rgba(0,0,0,0.5)!important;font-family:'DM Sans',sans-serif!important;padding:12px!important;}
  .maplibregl-popup-tip{border-top-color:var(--surface)!important;}
  .maplibregl-popup-close-button{color:var(--text)!important;font-size:16px!important;padding:4px 8px!important;}
  .maplibregl-map{background:#1a1a2e;}
  html.light-mode .maplibregl-map{background:#e8e8f0;}
  .fp-popup-name{font-weight:600;font-size:14px;margin-bottom:3px;}
  .fp-popup-addr{font-size:12px;color:var(--text3);margin-bottom:10px;}
  .fp-popup-pills{display:flex;gap:4px;flex-wrap:wrap;margin-bottom:10px;}
  .fp-pill{padding:4px 9px;border-radius:10px;border:1px solid var(--border2);background:transparent;cursor:pointer;font-size:11px;transition:all 0.1s;font-family:'DM Sans',sans-serif;}
  .fp-pill.active{color:white!important;}
  .fp-popup-phone{display:block;font-size:13px;color:var(--accent5);margin-bottom:10px;text-decoration:none;}
  .fp-popup-btn{width:100%;padding:8px;border-radius:6px;border:1px solid var(--border2);background:var(--surface2);color:var(--text);cursor:pointer;font-size:12px;font-family:'DM Sans',sans-serif;transition:background 0.15s;}
  .fp-popup-btn:hover{background:var(--surface3);}

:root {
  --bg:#0a0a0f; --surface:#111118; --surface2:#1a1a24; --surface3:#22222f;
  --border:rgba(255,255,255,0.07); --border2:rgba(255,255,255,0.14);
  --accent:#6c63ff; --accent2:#ff6b6b; --accent3:#43e97b; --accent4:#f7971e; --accent5:#38bdf8;
  --text:#f0f0f8; --text2:#9999b3; --text3:#55556a;
  --radius:14px; --radius-sm:9px;
}
html.light-mode {
  --bg:#f4f4f8; --surface:#ffffff; --surface2:#f0f0f5; --surface3:#e5e5ee;
  --border:rgba(0,0,0,0.08); --border2:rgba(0,0,0,0.15);
  --accent:#6c63ff; --accent2:#ff6b6b; --accent3:#22c55e; --accent4:#f7971e; --accent5:#38bdf8;
  --text:#0a0a0f; --text2:#44445a; --text3:#88889a;
}
*{margin:0;padding:0;box-sizing:border-box;-webkit-tap-highlight-color:transparent;}
html,body{width:100%;max-width:100%;overflow-x:hidden;overflow-y:auto;margin:0;padding:0;} body{font-family:'DM Sans',system-ui,-apple-system,'Segoe UI',Roboto,Arial,sans-serif;background:var(--bg);color:var(--text);min-height:100vh;font-size:14px;}

/* ── SCREENS ── */
.screen{display:none;}

/* ══════════════════════════════
   LOGIN SCREEN
══════════════════════════════ */
#screen-login{
  display:none;align-items:center;justify-content:center;
  min-height:100vh;padding:20px;
  background:radial-gradient(ellipse at 30% 20%, rgba(108,99,255,0.08) 0%, transparent 60%),
             radial-gradient(ellipse at 70% 80%, rgba(67,233,123,0.05) 0%, transparent 60%);
}
#screen-login.active{display:flex;}
.login-card{
  background:var(--surface);border:1px solid var(--border2);
  border-radius:var(--radius);padding:36px 32px;width:100%;max-width:400px;
}
.login-logo{
  font-family:'Syne',sans-serif;font-weight:800;font-size:18px;
  color:var(--accent);letter-spacing:-1px;text-align:center;margin-bottom:4px;
}
.login-tagline{text-align:center;font-size:13px;color:var(--text3);margin-bottom:28px;}
.login-label{font-size:11px;color:var(--text3);text-transform:uppercase;letter-spacing:0.4px;margin-bottom:5px;display:block;}
.login-input{
  width:100%;background:var(--surface2);border:1px solid var(--border2);
  border-radius:var(--radius-sm);padding:11px 14px;color:var(--text);
  font-size:14px;font-family:'DM Sans',sans-serif;outline:none;
  transition:border-color 0.15s;margin-bottom:14px;
}
.login-input:focus{border-color:var(--accent);}
.login-btn{
  width:100%;padding:13px;border-radius:var(--radius-sm);border:none;
  background:var(--accent);color:white;font-size:15px;
  font-family:'Syne',sans-serif;font-weight:700;cursor:pointer;
  transition:opacity 0.15s;letter-spacing:0.3px;
}
.login-btn:hover{opacity:0.85;}
.login-error{
  background:rgba(255,107,107,0.1);border:1px solid rgba(255,107,107,0.3);
  border-radius:var(--radius-sm);padding:9px 12px;font-size:13px;
  color:var(--accent2);margin-bottom:14px;display:none;
}
/* ══════════════════════════════
   SHARED CHROME
══════════════════════════════ */
.topnav{
  position:sticky;top:0;z-index:200;
  background:var(--surface);border-bottom:1px solid var(--border);
  display:flex;align-items:center;padding:0 16px;gap:12px;
  padding-top:env(safe-area-inset-top, 0px);
  height:calc(54px + env(safe-area-inset-top, 0px));
}
.logo{font-family:'Syne',sans-serif;font-weight:800;font-size:17px;color:var(--accent);letter-spacing:-0.5px;flex:1;}
.user-pill{
  display:flex;align-items:center;gap:8px;
  background:var(--surface2);border:1px solid var(--border2);
  border-radius:20px;padding:4px 12px 4px 6px;font-size:13px;cursor:pointer;
}
.avatar{
  width:26px;height:26px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  font-size:11px;font-weight:700;
}
.logout-btn{
  padding:5px 12px;border-radius:20px;border:1px solid var(--border2);
  background:transparent;color:var(--text3);cursor:pointer;font-size:12px;
  font-family:'DM Sans',sans-serif;transition:all 0.15s;
}
.logout-btn:hover{color:var(--accent2);border-color:rgba(255,107,107,0.3);}




/* ══════════════════════════════
   OWNER LAYOUT
══════════════════════════════ */
#screen-owner.active{display:flex!important;flex-direction:column;min-height:100vh;}
.owner-body{display:block;width:100%;flex:1;}
.owner-content{display:block;width:100%;padding:12px 20px 120px 20px;overflow-x:hidden;}
.tab.active{display:block;}
#screen-owner{width:100%;max-width:100vw;}
.tab{display:none;}
.tab.active{display:block;}
.range-btn{
  padding:6px 14px;border-radius:20px;
  border:1px solid var(--border2);background:var(--surface2);
  color:var(--text3);cursor:pointer;font-size:12px;
  font-family:'DM Sans',sans-serif;font-weight:500;
  transition:all 0.15s;white-space:nowrap;
}
.range-btn:hover{background:var(--surface3);color:var(--text);}
.range-btn.active{background:var(--accent);border-color:var(--accent);color:#fff;}
.settings-tab-btn{padding:8px 16px;border-radius:20px;border:1px solid var(--border2);background:var(--surface2);color:var(--text2);cursor:pointer;font-size:13px;font-family:'DM Sans',sans-serif;font-weight:500;transition:all 0.15s;outline:none;-webkit-appearance:none;appearance:none;}
.settings-tab-btn.active{background:var(--accent);border-color:var(--accent);color:#fff;}
.settings-tab-btn:hover{background:var(--surface3);color:var(--text);}
.settings-tab-btn.active{background:#6c63ff;border-color:#6c63ff;color:#fff;}

@media(max-width:768px){
  .owner-content{padding:14px 12px 16px;}
  .stats-grid{grid-template-columns:repeat(2,1fr)!important;}
  .dashboard-two-col{grid-template-columns:1fr!important;}
  #o-units-grid{grid-template-columns:repeat(3,1fr)!important;}
  #cal-grid-view{display:none!important;}
  #cal-list-view{display:block!important;}
  #pipe-kanban{grid-template-columns:1fr!important;overflow-x:unset!important;}
  #pipe-kanban > div{min-height:unset!important;}
}
#otab-pipeline.active #pipe-kanban > div { min-height: 400px; }

/* ══════════════════════════════
   REP LAYOUT
══════════════════════════════ */
#screen-rep{display:none;flex-direction:column;}#screen-rep.active{display:flex;min-height:100vh;width:100%;}
#screen-rep.active{display:flex;min-height:100vh;width:100%;}

.rep-page{display:none;padding:16px 16px 24px;}
.rep-page.active{display:block;}
#rpage-map{padding:0!important;overflow:hidden!important;}
#rpage-map.active{display:flex!important;}
html.map-active, html.map-active body{ overflow:hidden!important; height:100%!important; }

/* Desktop rep */









/* ══════════════════════════════
   SHARED COMPONENTS
══════════════════════════════ */
.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:20px;}
.card-title{font-family:'Syne',sans-serif;font-size:13px;font-weight:600;color:var(--text2);text-transform:uppercase;letter-spacing:0.5px;margin-bottom:14px;}
.section-title{font-family:'Syne',sans-serif;font-size:13px;font-weight:600;color:var(--text3);text-transform:uppercase;letter-spacing:0.5px;margin-bottom:10px;}
.btn{
  padding:9px 16px;border-radius:var(--radius-sm);border:1px solid var(--border2);
  background:var(--surface2);color:var(--text);cursor:pointer;font-size:13px;
  font-family:'DM Sans',sans-serif;font-weight:500;transition:all 0.15s;
}
.btn:hover{background:var(--surface3);}
.btn.primary{background:var(--accent);border-color:var(--accent);color:white;}
.btn.primary:hover{opacity:0.85;}
.btn.danger{background:rgba(255,107,107,0.1);border-color:rgba(255,107,107,0.3);color:var(--accent2);}
.badge{display:inline-flex;align-items:center;padding:3px 9px;border-radius:20px;font-size:11px;font-weight:500;}
.badge-green{background:rgba(67,233,123,0.12);color:var(--accent3);}
.badge-yellow{background:rgba(247,151,30,0.12);color:var(--accent4);}
.badge-red{background:rgba(255,107,107,0.12);color:var(--accent2);}
.badge-blue{background:rgba(108,99,255,0.12);color:var(--accent);}
.badge-gray{background:rgba(150,150,180,0.1);color:var(--text2);}
.form-group{margin-bottom:13px;width:100%;box-sizing:border-box;}
.form-label{font-size:11px;color:var(--text3);text-transform:uppercase;letter-spacing:0.4px;margin-bottom:5px;display:block;}
.form-input{
  width:100%;background:var(--surface2);border:1px solid var(--border2);
  border-radius:var(--radius-sm);padding:10px 12px;color:var(--text);
  font-size:14px;font-family:'DM Sans',sans-serif;outline:none;transition:border-color 0.15s;
}
.form-input:focus{border-color:var(--accent);}
.form-select{
  width:100%;background:var(--surface2);border:1px solid var(--border2);
  border-radius:var(--radius-sm);padding:10px 12px;color:var(--text);
  font-size:14px;font-family:'DM Sans',sans-serif;outline:none;
}
.form-section-label{font-size:10px;font-weight:600;color:var(--text3);text-transform:uppercase;letter-spacing:0.6px;margin-bottom:8px;}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:var(--gap,14px);}
.pbar{height:6px;background:var(--surface2);border-radius:3px;overflow:hidden;}
.pfill{height:100%;border-radius:3px;transition:width 0.4s;}
.progress-bar{height:4px;background:var(--surface3);border-radius:2px;overflow:hidden;margin-top:6px;}
.progress-fill{height:100%;border-radius:2px;background:var(--accent);}

/* Modal */
.modal-overlay{
  position:fixed;inset:0;background:rgba(0,0,0,0.75);
  display:none;z-index:2000;backdrop-filter:blur(4px);
  overflow-y:auto;
}
.modal-overlay.open{display:block;}
.modal{
  background:var(--surface);border:1px solid var(--border2);
  border-radius:var(--radius);padding:20px;
  width:calc(100% - 32px);max-width:460px;
  margin:16px auto;box-sizing:border-box;
}
.modal-sheet{
  background:var(--surface);border:1px solid var(--border2);
  border-radius:var(--radius) var(--radius) 0 0;
  padding:20px;width:100%;max-width:520px;max-height:90vh;overflow-y:auto;
}
.modal-handle{width:40px;height:4px;background:var(--border2);border-radius:2px;margin:0 auto 16px;}
.modal-title{font-family:'Syne',sans-serif;font-size:17px;font-weight:700;margin-bottom:16px;}
.modal-actions{display:flex;gap:8px;margin-top:16px;}

/* Toast */
.toast{
  position:fixed;bottom:72px;left:50%;transform:translateX(-50%) translateY(20px);
  background:var(--surface3);border:1px solid var(--border2);border-radius:20px;
  padding:8px 20px;font-size:13px;color:var(--text);opacity:0;
  transition:all 0.25s;pointer-events:none;z-index:600;white-space:nowrap;
}
.toast.show{opacity:1;transform:translateX(-50%) translateY(0);}

/* Stats */
.stats-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:12px;margin-bottom:20px;}
.stats-grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:20px;}
.scard{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:16px;border-top:3px solid var(--card-c,var(--border));}
.scard-label{font-size:10px;color:var(--text3);text-transform:uppercase;letter-spacing:0.4px;margin-bottom:6px;}
.scard-val{font-family:'Syne',sans-serif;font-size:26px;font-weight:700;line-height:1;}
.scard-sub{font-size:11px;color:var(--text2);margin-top:4px;}
.stat-up{color:var(--accent3);}

/* Door btns */
.door-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-bottom:16px;}
.door-btn{
  padding:16px 12px;border-radius:var(--radius);border:1px solid var(--border2);
  background:var(--surface);color:var(--text);cursor:pointer;
  font-family:'DM Sans',sans-serif;font-weight:500;font-size:14px;
  display:flex;align-items:center;gap:10px;transition:all 0.15s;text-align:left;
}
.door-btn:active{transform:scale(0.97);}
.door-btn .dc{margin-left:auto;font-family:'Syne',sans-serif;font-size:20px;font-weight:700;opacity:0.8;}
.door-btn.dnew{border-color:rgba(108,99,255,0.4);} .door-btn.dnew:hover{background:rgba(108,99,255,0.08);}
.door-btn.dnh{border-color:rgba(150,150,180,0.3);} .door-btn.dnh:hover{background:rgba(150,150,180,0.06);}
.door-btn.dgb{border-color:rgba(247,151,30,0.4);} .door-btn.dgb:hover{background:rgba(247,151,30,0.08);}
.door-btn.dap{border-color:rgba(67,233,123,0.4);} .door-btn.dap:hover{background:rgba(67,233,123,0.08);}
.door-btn.dbk{border-color:rgba(67,233,123,0.6);background:rgba(67,233,123,0.04);} .door-btn.dbk:hover{background:rgba(67,233,123,0.1);}
.door-btn.dni{border-color:rgba(255,107,107,0.4);} .door-btn.dni:hover{background:rgba(255,107,107,0.08);}

/* Lead items */
.lead-item{
  background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);
  padding:13px;margin-bottom:8px;display:flex;align-items:flex-start;gap:12px;
  cursor:pointer;transition:border-color 0.15s;
}
.lead-item:hover{border-color:var(--border2);}
.lead-dot{width:10px;height:10px;border-radius:50%;margin-top:4px;flex-shrink:0;}
.tag{font-size:10px;padding:2px 7px;border-radius:10px;font-weight:500;}
.tag-speed{background:rgba(56,189,248,0.12);color:var(--accent5);}
.tag-mob{background:rgba(67,233,123,0.12);color:var(--accent3);}
.tag-nomob{background:rgba(255,107,107,0.1);color:var(--accent2);}

/* Appt items */
.appt-item{
  background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);
  padding:14px;margin-bottom:8px;display:flex;gap:14px;align-items:flex-start;
}

/* Activity */
.act-item{display:flex;align-items:flex-start;gap:12px;padding:10px 0;border-bottom:1px solid var(--border);}
.act-item:last-child{border-bottom:none;}
.act-dot{width:8px;height:8px;border-radius:50%;margin-top:5px;flex-shrink:0;}

/* Rep profile cards */
.rep-card{
  background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);
  padding:18px;display:flex;align-items:center;gap:14px;margin-bottom:10px;
  transition:border-color 0.15s;
}
.rep-card:hover{border-color:var(--border2);}
.rep-av{width:42px;height:42px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:15px;flex-shrink:0;}
.rep-info{flex:1;}
.rep-name{font-weight:500;font-size:15px;}
.rep-role-tag{font-size:12px;color:var(--text3);}
.rep-stats-mini{text-align:right;}

/* map */
.map-area{
  background:var(--surface2);border:1px solid var(--border);border-radius:var(--radius);
  height:400px;display:flex;align-items:center;justify-content:center;
  flex-direction:column;gap:12px;position:relative;overflow:hidden;margin-bottom:12px;
}
.map-grid-bg{
  position:absolute;inset:0;opacity:0.06;
  background-image:linear-gradient(var(--accent) 1px,transparent 1px),linear-gradient(90deg,var(--accent) 1px,transparent 1px);
  background-size:36px 36px;
}
.map-pin{position:absolute;width:13px;height:13px;border-radius:50%;border:2px solid white;cursor:pointer;transition:transform 0.2s;}
.map-pin:hover{transform:scale(1.6);z-index:5;}
.pin-tip{position:absolute;background:var(--surface);border:1px solid var(--border2);border-radius:6px;padding:5px 10px;font-size:11px;color:var(--text);white-space:nowrap;pointer-events:none;z-index:10;bottom:120%;left:50%;transform:translateX(-50%);display:none;}
.map-pin:hover .pin-tip{display:block;}
.map-legend{position:absolute;bottom:12px;right:12px;background:var(--surface);border:1px solid var(--border2);border-radius:var(--radius-sm);padding:10px 12px;}

/* cal */
.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:3px;}
.cal-day-label{font-size:10px;color:var(--text3);text-align:center;padding:4px 0;text-transform:uppercase;letter-spacing:0.4px;}
.cal-cell{background:var(--surface2);border-radius:5px;min-height:68px;padding:5px;cursor:pointer;transition:background 0.15s;border:1px solid transparent;}
.cal-cell:hover{background:var(--surface3);border-color:var(--border2);}
.cal-cell.today{border-color:var(--accent);}
.cal-cell.other-month .cal-num{opacity:0.35;}
.cal-num{font-size:11px;font-weight:500;color:var(--text2);margin-bottom:3px;}
.cal-cell.today .cal-num{color:var(--accent);font-weight:700;}
.cal-appt{font-size:9px;padding:2px 4px;border-radius:3px;margin-bottom:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.cal-appt.appt{background:rgba(108,99,255,0.2);color:var(--accent);}
.cal-appt.deal{background:rgba(67,233,123,0.15);color:var(--accent3);}
.cal-appt.follow{background:rgba(247,151,30,0.15);color:var(--accent4);}

/* upload */
.upload-zone{
  border:2px dashed var(--border2);border-radius:var(--radius);
  padding:28px 20px;text-align:center;cursor:pointer;
  transition:border-color 0.2s,background 0.2s;margin-bottom:16px;
}
.upload-zone:hover,.upload-zone.drag{border-color:var(--accent);background:rgba(108,99,255,0.04);}
.mapper-row{display:flex;align-items:center;gap:10px;margin-bottom:10px;}
.mapper-field{width:160px;font-size:12px;color:var(--text2);flex-shrink:0;}
.mapper-select{flex:1;background:var(--surface2);border:1px solid var(--border2);border-radius:var(--radius-sm);padding:7px 10px;color:var(--text);font-size:13px;font-family:'DM Sans',sans-serif;outline:none;}
.mapper-select:focus{border-color:var(--accent);}

/* bar chart */
.bar-chart{display:flex;align-items:flex-end;gap:6px;height:80px;margin-top:10px;}
.bar{flex:1;border-radius:4px 4px 0 0;background:var(--accent);opacity:0.7;transition:opacity 0.2s;min-height:3px;}
.bar:hover{opacity:1;}
.bar-labels{display:flex;gap:6px;margin-top:4px;}
.bar-label{flex:1;font-size:10px;color:var(--text3);text-align:center;}

::-webkit-scrollbar{width:4px;}
::-webkit-scrollbar-thumb{background:var(--surface3);border-radius:2px;}

/* ── EXTRACTED UTILITY CLASSES ── */
.flex-between{display:flex;align-items:center;justify-content:space-between;}
.flex-center{display:flex;align-items:center;}
.flex-row{display:flex;}
.flex-col{display:flex;flex-direction:column;}
.flex-wrap{display:flex;flex-wrap:wrap;}
.flex-1{flex:1;}
.gap-4{gap:4px;}
.gap-6{gap:6px;}
.gap-8{gap:8px;}
.gap-10{gap:10px;}
.gap-12{gap:12px;}
.mb-8{margin-bottom:8px;}
.mb-14{margin-bottom:14px;}
.mb-16{margin-bottom:16px;}
.mt-0{margin-top:0;}
.hidden{display:none;}
.c-text2{color:var(--text2);}
.c-accent{color:var(--accent);}
.text-13{font-size:13px;}
.text-muted{font-size:11px;color:var(--text3);}
.text-muted-sm{font-size:12px;color:var(--text3);}
.text-tiny{font-size:10px;color:var(--text3);}
.text-semibold{font-size:13px;font-weight:600;}
.text-medium{font-size:13px;font-weight:500;}
.heading-lg{font-family:'Syne',sans-serif;font-size:18px;font-weight:700;}
.heading-md{font-family:'Syne',sans-serif;font-size:16px;font-weight:700;}
.heading-sm{font-family:'Syne',sans-serif;font-size:14px;font-weight:700;}
.section-label{font-family:'Syne',sans-serif;font-size:13px;font-weight:700;color:var(--text3);text-transform:uppercase;letter-spacing:0.5px;margin-bottom:8px;}
.section-label-sm{font-family:'Syne',sans-serif;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:0.5px;}
.label-upper{font-size:11px;color:var(--text3);text-transform:uppercase;letter-spacing:0.5px;margin-bottom:10px;}
.label-upper-bold{font-size:11px;font-weight:600;color:var(--text3);text-transform:uppercase;letter-spacing:0.5px;margin-bottom:8px;}
.subtitle{font-size:13px;color:var(--text3);margin-top:2px;}
.subtitle-sm{font-size:11px;color:var(--text3);margin-top:2px;}
.subtitle-xs{font-size:12px;color:var(--text3);margin-top:2px;}
.subtitle-xxs{font-size:10px;color:var(--text3);margin-top:2px;}
.empty-state{text-align:center;padding:20px;color:var(--text3);font-size:13px;}
.sheet-handle{width:40px;height:4px;background:var(--border2);border-radius:2px;margin:12px auto 16px;}
.sheet-section{padding:16px 20px;border-bottom:1px solid var(--border2);}
.sheet-section-last{padding:16px 20px 24px;}
.sheet-section-top{padding:0 20px 16px;border-bottom:1px solid var(--border2);}
.sheet-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,0.5);z-index:3000;}
.list-row{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;background:var(--surface2);border-radius:var(--radius-sm);}
.toggle-label{position:relative;display:inline-block;width:44px;height:24px;cursor:pointer;}
.toggle-input{opacity:0;width:0;height:0;}
.toggle-track{position:absolute;inset:0;border-radius:12px;background:var(--surface3);transition:background 0.2s;}
.toggle-thumb{position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:white;transition:transform 0.2s;}
.menu-item{width:100%;display:flex;align-items:center;gap:12px;padding:12px 8px;background:none;border:none;color:var(--text);cursor:pointer;border-radius:var(--radius-sm);font-size:14px;font-family:'DM Sans',sans-serif;}
.menu-item.active{color:var(--accent);background:rgba(108,99,255,0.1);}
/* ── PASS 1 UTILITY CLASSES ── */
.gap-14{gap:14px;}
.gap-16{gap:16px;}
.gap-20{gap:20px;}
.mb-4{margin-bottom:4px;}
.mb-6{margin-bottom:6px;}
.mb-10{margin-bottom:10px;}
.mb-12{margin-bottom:12px;}
.mb-20{margin-bottom:20px;}
.mt-4{margin-top:4px;}
.mt-8{margin-top:8px;}
.mt-10{margin-top:10px;}
.mt-12{margin-top:12px;}
.mt-14{margin-top:14px;}
.mt-16{margin-top:16px;}
.mt-20{margin-top:20px;}
.p-8{padding:8px;}
.p-10{padding:10px;}
.p-12{padding:12px;}
.p-14{padding:14px;}
.p-16{padding:16px;}
.p-20{padding:20px;}
.px-12{padding-left:12px;padding-right:12px;}
.px-14{padding-left:14px;padding-right:14px;}
.px-20{padding-left:20px;padding-right:20px;}
.py-6{padding-top:6px;padding-bottom:6px;}
.py-8{padding-top:8px;padding-bottom:8px;}
.py-12{padding-top:12px;padding-bottom:12px;}
.py-16{padding-top:16px;padding-bottom:16px;}
.w-100{width:100%;}
.w-18{width:18px;}
.w-24{width:24px;}
.w-44{width:44px;}
.h-24{height:24px;}
.h-22{height:22px;}
.h-18{height:18px;}
.min-w-0{min-width:0;}
.overflow-y-auto{overflow-y:auto;}
.box-border{box-sizing:border-box;}
.pos-relative{position:relative;}
.pos-absolute{position:absolute;}
.pos-fixed{position:fixed;}
.inset-0{top:0;right:0;bottom:0;left:0;}
.border-none{border:none;}
.border-b{border-bottom:1px solid var(--border2);}
.border-t{border-top:1px solid var(--border2);}
.border-2-transparent{border:2px solid transparent;}
.radius-50{border-radius:50%;}
.radius-12{border-radius:12px;}
.radius-full{border-radius:var(--radius);}
.text-upper{text-transform:uppercase;letter-spacing:0.5px;}
.text-12{font-size:12px;}
.text-10{font-size:10px;}
.text-11{font-size:11px;}
.text-14{font-size:14px;}
.text-16{font-size:16px;}
.text-18{font-size:18px;}
.text-center{text-align:center;}
.font-600{font-weight:600;}
.font-700{font-weight:700;}
.bg-surface{background:var(--surface);}
.bg-surface2{background:var(--surface2);}
.bg-surface3{background:var(--surface3);}
.bg-accent{background:var(--accent);}
.bg-white{background:white;}
.bg-none{background:none;}
.c-text3{color:var(--text3);}
.c-text{color:var(--text);}
.c-accent{color:var(--accent);}
.c-white{color:white;}
.outline-none{outline:none;}
.shrink-0{flex-shrink:0;}
.transition-bg{transition:background 0.2s;}
.z-300{z-index:300;}
.z-9999{z-index:9999;}
.shadow-menu{box-shadow:-8px 0 32px rgba(0,0,0,0.4);}
.overlay-bg{background:rgba(0,0,0,0.5);}
.font-dm{font-family:'DM Sans',sans-serif;}
.font-syne{font-family:'Syne',sans-serif;}
/* ── PASS 1B COMPOUND CLASSES ── */
.flex-1-13{flex:1;font-size:13px;}
.form-search{width:100%;box-sizing:border-box;background:var(--surface2);border:1px solid var(--border2);border-radius:var(--radius-sm);padding:8px 12px;color:var(--text);font-size:13px;font-family:'DM Sans',sans-serif;outline:none;margin-bottom:8px;}
.pipe-col{background:var(--surface2);border-radius:var(--radius);padding:12px;min-height:0;display:flex;flex-direction:column;}
.pipe-col-card{background:var(--surface);border-radius:var(--radius);padding:12px;}
.flex-between-12{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;}
.flex-col-6-1{display:flex;flex-direction:column;gap:6px;flex:1;}
.modal-sheet-base{display:none;position:fixed;bottom:0;left:0;right:0;background:var(--surface);border-radius:20px 20px 0 0;border-top:1px solid var(--border2);z-index:3001;padding:0 0 env(safe-area-inset-bottom,0px);max-height:80vh;overflow-y:auto;}
.modal-sheet-tall{display:none;position:fixed;bottom:0;left:0;right:0;background:var(--surface);border-radius:20px 20px 0 0;border-top:1px solid var(--border2);z-index:3001;padding:0 0 env(safe-area-inset-bottom,0px);max-height:85vh;overflow-y:auto;}
.text-12-muted{font-size:12px;color:var(--text3);font-family:'DM Sans',sans-serif;}
.text-13-semibold{font-size:13px;font-weight:600;font-family:'DM Sans',sans-serif;}
.text-14-text{font-size:14px;color:var(--text);}
.text-13-text3{color:var(--text3);font-size:13px;}
.text-11-text3{color:var(--text3);font-size:11px;}
.flex-between-click{display:flex;align-items:center;justify-content:space-between;cursor:pointer;}
.filter-pill-btn{display:flex;align-items:center;gap:6px;padding:7px 14px;background:var(--surface2);border:1px solid var(--border2);border-radius:var(--radius-sm);color:var(--text);font-size:13px;font-family:'DM Sans',sans-serif;cursor:pointer;}
.filter-pill-btn-sm{display:flex;align-items:center;gap:6px;padding:8px 12px;background:var(--surface2);border:1px solid var(--border2);border-radius:var(--radius-sm);color:var(--text);font-size:13px;font-family:'DM Sans',sans-serif;cursor:pointer;white-space:nowrap;flex-shrink:0;}
.text-muted-weight{color:var(--text3);font-weight:400;}
.heading-sm-mb{font-family:'Syne',sans-serif;font-size:14px;font-weight:700;margin-bottom:14px;}
.toggle-track-on{position:absolute;inset:0;border-radius:12px;background:var(--accent);transition:background 0.2s;}
.toggle-thumb-on{position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:white;transition:transform 0.2s;transform:translateX(20px);}
.toggle-thumb-old{position:absolute;top:2px;right:2px;width:20px;height:20px;border-radius:50%;background:white;transition:right 0.2s;}
.toggle-track-old{width:44px;height:24px;border-radius:12px;background:var(--accent);position:relative;transition:background 0.2s;}
.rep-row-card{display:flex;align-items:center;gap:12px;padding:12px 14px;background:var(--surface2);border-radius:var(--radius-sm);}
.filter-input-row{display:flex;align-items:center;gap:4px;background:var(--surface);border:1px solid var(--border2);border-radius:var(--radius-sm);padding:6px 10px;}
.year-input{width:70px;background:transparent;border:none;color:var(--text);font-size:14px;font-family:'Syne',sans-serif;font-weight:700;outline:none;}
/* ── PASS 1C ── */
.btn-done{width:100%;padding:12px;font-size:14px;}
.section-card{background:var(--surface);border:1px solid var(--border2);border-radius:var(--radius);padding:16px;margin-bottom:16px;}
.heading-15-mb{font-family:'Syne',sans-serif;font-size:15px;font-weight:700;margin-bottom:14px;}
.heading-18-mb{font-family:'Syne',sans-serif;font-size:18px;font-weight:700;margin-bottom:16px;}
.heading-18-1{font-family:'Syne',sans-serif;font-size:18px;font-weight:700;flex:1;}
.subtitle-mb{font-size:13px;color:var(--text3);margin-bottom:16px;}
.flex-wrap-6-mb8{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:8px;}
.flex-wrap-6-mb10{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px;}
.flex-center-gap8{display:flex;gap:8px;align-items:center;}
.cb-style{width:16px;height:16px;accent-color:var(--accent);}
.search-input-flex{flex:1;min-width:0;background:var(--surface);border:1px solid var(--border2);border-radius:var(--radius-sm);padding:8px 12px;color:var(--text);font-size:13px;font-family:'DM Sans',sans-serif;outline:none;}
.drop-pin-btn{display:flex;align-items:center;gap:6px;padding:8px 12px;background:var(--accent);border:none;border-radius:var(--radius-sm);color:white;font-size:13px;font-family:'DM Sans',sans-serif;cursor:pointer;white-space:nowrap;flex-shrink:0;}
.avatar-accent{background:rgba(108,99,255,0.2);color:var(--accent);}
.select-sm2{padding:6px 10px;font-size:12px;width:auto;}
.hidden-mb16{display:none;margin-bottom:16px;}
.custom-dates{display:none;margin-top:10px;display:flex;gap:8px;flex-wrap:wrap;}
.overlay-z9998{display:none;position:fixed;inset:0;background:rgba(0,0,0,0.5);z-index:9998;}
.logout-full{width:100%;padding:12px;border-radius:var(--radius-sm);font-size:14px;}
/* ── PASS 2 JS TEMPLATE CLASSES ── */
.flex-1-min0{flex:1;min-width:0;}
.text-12-muted2{font-size:12px;color:var(--text3);font-family:'DM Sans',sans-serif;}
.text-11{font-size:11px;}
.mb-3{margin-bottom:3px;}
.mb-2{margin-bottom:2px;}
.empty-state-lg{text-align:center;padding:40px;color:var(--text3);font-size:13px;}
.empty-state-md{text-align:center;padding:30px;color:var(--text3);font-size:13px;}
.text-11-accent{font-size:11px;color:var(--accent);}
.text-11-blue{font-size:11px;color:#38bdf8;}
.text-11-text2{font-size:11px;color:var(--text2);}
.text-12-text2{font-size:12px;color:var(--text2);}
.text-12-text2-600{font-size:12px;font-weight:600;color:var(--text);}
.text-13-600{font-size:13px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.text-14-500{font-weight:500;font-size:14px;}
.text-15-syne{font-family:'Syne',sans-serif;font-size:15px;font-weight:700;}
.text-18-green{font-family:'Syne',sans-serif;font-weight:700;font-size:18px;color:#43e97b;}
.chip-row{display:flex;align-items:center;gap:8px;padding:7px 10px;background:var(--surface2);border:1px solid var(--border2);border-radius:var(--radius-sm);font-size:13px;}
.cb-sm{width:15px;height:15px;accent-color:var(--accent);}
.btn-tag-accent{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;background:var(--accent);border-radius:20px;border:none;color:white;font-size:11px;font-family:'DM Sans',sans-serif;cursor:pointer;}
.icon-close-btn{cursor:pointer;opacity:0.8;font-size:14px;line-height:1;}
.text-upper-xs{font-size:10px;color:var(--text3);text-transform:uppercase;letter-spacing:0.5px;margin-top:2px;}
.btn-sm-12{padding:6px 14px;font-size:12px;}
.btn-tiny{font-size:12px;padding:6px 10px;}
.btn-tiny-8{font-size:12px;padding:6px 8px;}
.btn-sm-10{font-size:12px;padding:5px 12px;}
.flex-between-mb4{display:flex;justify-content:space-between;margin-bottom:4px;}
.flex-between-wrap{display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap;}
.flex-center-click{display:flex;align-items:center;gap:8px;font-size:13px;cursor:pointer;}
.flex-row-12-mt5{display:flex;gap:12px;margin-top:5px;flex-wrap:wrap;}
.icon-28{font-size:28px;margin-bottom:10px;}
.dot-8{width:8px;height:8px;border-radius:50%;flex-shrink:0;}
.text-11-block-mb4{font-size:11px;color:var(--text2);display:block;margin-bottom:4px;}
.resize-none{resize:none;}
.w-100-mt4{width:100%;margin-top:4px;}
.mb-0-m{margin:0;}
.color-blue{color:#38bdf8;font-size:13px;}
.cursor-pointer{cursor:pointer;}
/* ── PASS 3 ── */
/* Pipeline column headers */
.pipe-hdr{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:0.5px;}
.pipe-hdr-gray{font-size:12px;font-weight:700;color:var(--text2);text-transform:uppercase;letter-spacing:0.5px;}
.pipe-hdr-orange{font-size:12px;font-weight:700;color:#f7971e;text-transform:uppercase;letter-spacing:0.5px;}
.pipe-hdr-blue{font-size:12px;font-weight:700;color:#38bdf8;text-transform:uppercase;letter-spacing:0.5px;}
.pipe-hdr-gold{font-size:12px;font-weight:700;color:#ffd700;text-transform:uppercase;letter-spacing:0.5px;}
.pipe-hdr-red{font-size:12px;font-weight:700;color:#ff4444;text-transform:uppercase;letter-spacing:0.5px;}
/* Syne column headers (owner pipeline) */
.pipe-hdr-syne-gray{font-family:'Syne',sans-serif;font-size:12px;font-weight:700;color:var(--text2);text-transform:uppercase;letter-spacing:0.5px;}
.pipe-hdr-syne-orange{font-family:'Syne',sans-serif;font-size:12px;font-weight:700;color:#f7971e;text-transform:uppercase;letter-spacing:0.5px;}
.pipe-hdr-syne-blue{font-family:'Syne',sans-serif;font-size:12px;font-weight:700;color:#38bdf8;text-transform:uppercase;letter-spacing:0.5px;}
.pipe-hdr-syne-gold{font-family:'Syne',sans-serif;font-size:12px;font-weight:700;color:#ffd700;text-transform:uppercase;letter-spacing:0.5px;}
.pipe-hdr-syne-red{font-family:'Syne',sans-serif;font-size:12px;font-weight:700;color:#ff4444;text-transform:uppercase;letter-spacing:0.5px;}
/* Color dot */
.dot-accent{width:6px;height:6px;border-radius:50%;background:var(--accent);flex-shrink:0;margin-top:5px;}
.dot-accent-8{width:8px;height:8px;border-radius:50%;background:var(--accent);flex-shrink:0;}
/* ── PASS 4 FINAL ── */
.chip-row-blue{font-size:11px;font-weight:600;color:#38bdf8;text-transform:uppercase;letter-spacing:0.5px;margin-bottom:8px;}
.chip-row-purple{font-size:11px;font-weight:600;color:#6c63ff;text-transform:uppercase;letter-spacing:0.5px;margin-bottom:8px;}
.grid-2-6{display:grid;grid-template-columns:1fr 1fr;gap:6px;}
.grid-2-10-mb{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;}
.grid-5-10{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;overflow-x:auto;padding-bottom:20px;}
.grid-auto-260{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px;}
.grid-1-16{display:grid;grid-template-columns:1fr;gap:16px;}
.grid-3-8-mb12{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:12px;background:var(--surface2);border:1px solid var(--border2);border-radius:var(--radius-sm);}
.grid-2-align{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:10px;padding:8px 10px;background:var(--surface2);border-radius:var(--radius-sm);}
.swatch-24{width:24px;height:24px;border-radius:50%;border:2px solid transparent;cursor:pointer;}
.swatch-22{width:22px;height:22px;border-radius:50%;border:none;cursor:pointer;}
.color-grey{color:#55556a;}
.color-red{color:#ff6b6b;}
.color-orange{color:#f7971e;}
.color-purple{color:#a78bfa;}
.color-blue{color:#38bdf8;}
.color-green{color:#43e97b;}
.color-gold{color:#ffd700;}
.color-accent2{color:var(--accent2);}
.color-accent3{color:var(--accent3);}
.color-accent{color:var(--accent);}
.heading-14-700-mb6{font-family:'Syne',sans-serif;font-size:14px;font-weight:700;margin-bottom:6px;}
.heading-14-700-mb4{font-family:'Syne',sans-serif;font-size:14px;font-weight:700;margin-bottom:4px;}
.heading-14-700-mb12{font-family:'Syne',sans-serif;font-size:14px;font-weight:700;margin-bottom:12px;}
.heading-14-700-text{font-family:'Syne',sans-serif;font-size:14px;font-weight:700;color:var(--text);}
.heading-15-700{font-family:'Syne',sans-serif;font-size:15px;font-weight:700;}
.heading-15-700-mb10{font-family:'Syne',sans-serif;font-size:15px;font-weight:700;margin-bottom:10px;}
.heading-16-700-flex{font-family:'Syne',sans-serif;font-size:16px;font-weight:700;flex:1;}
.heading-16-700-shrink{font-family:'Syne',sans-serif;font-size:16px;font-weight:700;flex-shrink:0;}
.heading-18-700-mb6{font-family:'Syne',sans-serif;font-size:18px;font-weight:700;margin-bottom:6px;}
.heading-18-800-accent{font-family:'Syne',sans-serif;font-size:18px;font-weight:800;color:var(--accent);width:28px;}
.heading-18-800-muted{font-family:'Syne',sans-serif;font-size:18px;font-weight:800;color:var(--text3);width:28px;}
.heading-22-700{font-family:'Syne',sans-serif;font-size:22px;font-weight:700;}
.heading-22-700-green{font-family:'Syne',sans-serif;font-size:22px;font-weight:700;color:#43e97b;}
.heading-22-700-orange{font-family:'Syne',sans-serif;font-size:22px;font-weight:700;color:#f7971e;}
.heading-22-700-red{font-family:'Syne',sans-serif;font-size:22px;font-weight:700;color:#ff6b6b;}
.heading-16-700{font-family:'Syne',sans-serif;font-weight:700;font-size:16px;}
.text-9-muted{font-size:9px;color:var(--text3);}
.text-9-upper{font-size:9px;color:var(--text3);text-transform:uppercase;}
.text-10-muted-ml{font-size:10px;color:var(--text3);margin-left:6px;}
.text-10-ml{font-size:10px;color:var(--text2);margin-left:4px;}
.text-10-accent-px{font-size:10px;color:#6c63ff;padding:2px 5px;}
.text-11-3-mb8{font-size:11px;color:var(--text3);margin-bottom:8px;}
.text-11-3-mb6{font-size:11px;color:var(--text3);margin-bottom:6px;}
.text-11-3-mb4{font-size:11px;color:var(--text3);margin-bottom:4px;}
.text-11-3-mb16{font-size:11px;color:var(--text3);margin-bottom:16px;}
.text-11-3-mt3{font-size:11px;color:var(--text3);margin-top:3px;}
.text-11-3-mt4{font-size:11px;color:var(--text3);margin-top:4px;}
.text-11-3-mr6{font-size:11px;color:var(--text3);margin-right:6px;}
.text-11-3-mt5{font-size:11px;color:var(--text3);margin-top:5px;}
.text-11-3-center{font-size:11px;color:var(--text3);text-align:center;}
.text-11-3-pad8{font-size:11px;color:var(--text3);padding:8px;}
.text-11-600-upper{font-size:11px;font-weight:600;color:var(--text3);text-transform:uppercase;letter-spacing:0.5px;margin-bottom:10px;}
.text-11-upper-4l{font-size:11px;color:var(--text3);text-transform:uppercase;letter-spacing:0.4px;margin-bottom:8px;}
.text-11-upper-4m{font-size:11px;color:var(--text3);text-transform:uppercase;letter-spacing:0.4px;margin:10px 0 8px;}
.text-11-upper-w{width:100%;font-size:11px;color:var(--text3);text-transform:uppercase;letter-spacing:0.5px;margin:4px 0 6px;}
.text-11-upper-w10{width:100%;font-size:11px;color:var(--text3);text-transform:uppercase;letter-spacing:0.5px;margin:10px 0 6px;}
.text-11-upper-p{font-size:10px;color:var(--text3);text-transform:uppercase;letter-spacing:0.5px;padding:10px 4px 4px;font-family:'DM Sans',sans-serif;}
.text-11-2-mb6{font-size:11px;color:var(--text2);margin-bottom:6px;}
.text-12-3-mb12{font-size:12px;color:var(--text3);margin-bottom:12px;}
.text-12-3-mb6{font-size:12px;color:var(--text3);margin-bottom:6px;}
.text-12-3-mb4{font-size:13px;color:var(--text3);margin-bottom:4px;}
.text-12-3-mt3{font-size:12px;color:var(--text3);margin-top:3px;}
.text-12-3-mt4{font-size:12px;color:var(--text3);margin-top:4px;}
.text-12-3-mt8{font-size:12px;color:var(--text3);margin-top:8px;border-top:1px solid var(--border);padding-top:8px;}
.text-12-3-pad4{font-size:12px;color:var(--text3);padding:4px 0;}
.text-12-3-pad12{font-size:12px;color:var(--text3);padding:12px;}
.text-12-3-upper{font-size:12px;color:var(--text3);text-transform:uppercase;letter-spacing:0.4px;}
.text-12-text{font-size:12px;color:var(--text);}
.text-12-text-500{font-size:12px;color:var(--text);font-weight:500;}
.text-12-green-mb6{font-size:12px;color:#43e97b;margin-bottom:6px;}
.text-12-green-mt10{margin-top:10px;font-size:12px;color:#43e97b;}
.text-12-red-mt10{margin-top:10px;font-size:12px;color:#ff6b6b;}
.text-12-orange-mt8{margin-top:8px;font-size:12px;color:#f7971e;}
.text-13-3-mb4{font-size:13px;color:var(--text3);margin-bottom:4px;}
.text-13-3-mb12{font-size:13px;color:var(--text3);margin-bottom:12px;}
.text-13-3-mt4{font-size:13px;color:var(--text3);margin-top:4px;}
.text-13-600-mb2{font-size:13px;font-weight:600;color:var(--text);margin-bottom:2px;}
.text-13-700-gold{font-size:13px;font-weight:700;color:#ffd700;}
.text-13-white-600{font-size:13px;color:white;font-weight:600;}
.text-14-500-mb1{font-weight:500;font-size:14px;margin-bottom:1px;}
.text-16-blue-link{color:#38bdf8;font-size:16px;text-decoration:none;}
.text-28{font-size:28px;}
.text-right-shrink{text-align:right;flex-shrink:0;}
.text-center-36{text-align:center;padding:36px 20px;color:var(--text3);font-size:13px;}
.text-center-24{text-align:center;padding:24px;color:var(--text3);font-size:13px;}
.text-center-24-12{text-align:center;padding:24px 12px;color:var(--text3);font-size:13px;}
.text-center-30{text-align:center;padding:30px;color:var(--text3);}
.text-center-18{text-align:center;padding:18px;color:var(--text3);font-size:13px;}
.text-center-12{text-align:center;padding:12px;color:var(--text3);font-size:12px;}
.text-center-pad0{display:none;text-align:center;padding:24px 0;}
.text-center-mt2{display:flex;justify-content:center;margin-top:2px;}
.text-cal-dim{padding:6px 0;text-align:center;font-size:12px;color:var(--text3);opacity:0.35;}
.text-cal-minw{text-align:center;min-width:36px;}
.text-ml-auto{margin-left:auto;font-size:12px;color:var(--text3);}
.text-ml-auto-accent{margin-left:auto;color:var(--accent);font-size:12px;}
.text-right-11{text-align:right;font-size:11px;color:var(--text3);margin-top:4px;min-height:18px;}
.tr-bg{transition:background 0.15s;}
.tr-bg-02{color:var(--text3);font-size:12px;transition:transform 0.2s;}
.pos-rel-pl36{position:relative;padding-left:36px;}
.pos-rel-mb20{position:relative;margin-bottom:20px;min-height:36px;}
.pos-abs-line{position:absolute;left:16px;top:0;bottom:0;width:2px;background:var(--border2);border-radius:2px;}
.pl-4{padding-left:4px;}
.hidden-mt8{display:none;margin-top:8px;}
.hidden-mt10{display:none;margin-top:10px;}
.hidden-mt12{display:none;margin-top:12px;max-width:480px;}
.hidden-mt14{display:none;margin-top:14px;border-top:1px solid var(--border);padding-top:14px;}
.hidden-mt20{display:none;margin-top:20px;}
.hidden-pad{display:none;padding:10px;border-top:1px solid var(--border);}
.hidden-blue-box{display:none;background:rgba(56,189,248,0.08);border:1px solid rgba(56,189,248,0.3);border-radius:var(--radius-sm);padding:12px;}
.hidden-mt10-blue{display:none;margin-top:10px;background:rgba(56,189,248,0.08);border:1px solid rgba(56,189,248,0.3);border-radius:var(--radius-sm);}
.hidden-mt8-surface{display:none;margin-top:8px;background:var(--surface2);border:1px solid var(--border2);border-radius:var(--radius-sm);padding:12px;}
.card-clickable{background:var(--surface);border:1px solid var(--border2);border-radius:var(--radius);padding:14px 16px;cursor:pointer;transition:background 0.15s;}
.card-clickable2{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);padding:14px;display:flex;}
.card-inner-surface2{background:var(--surface2);border-radius:8px;padding:12px;margin-bottom:12px;}
.card-surface2-10{background:var(--surface2);border-radius:10px;padding:14px 16px;}
.card-surface2-p{background:var(--surface2);border-radius:var(--radius-sm);padding:12px;}
.card-surface2-border{background:var(--surface2);border:1px solid var(--border2);}
.card-surface-border{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);margin-bottom:8px;padding:14px;display:flex;}
.card-surface2-wide{width:100%;background:var(--surface2);border:1px solid var(--border2);border-radius:6px;padding:7px 9px;color:var(--text);}
.card-surface2-full{width:100%;background:var(--surface2);border:1px solid var(--border2);}
.card-surface2-mb8{background:var(--surface2);border:1px solid var(--border);border-radius:var(--radius-sm);margin-bottom:8px;padding:14px;display:flex;align-items:center;}
.pill-active{padding:5px 14px;border-radius:20px;border:1px solid var(--accent);background:var(--accent);color:white;font-size:12px;font-family:'DM Sans',sans-serif;cursor:pointer;}
.pill-inactive{padding:5px 14px;border-radius:20px;border:1px solid var(--border2);background:transparent;color:var(--text3);font-size:12px;font-family:'DM Sans',sans-serif;cursor:pointer;}
.pill-3-11{padding:3px 10px;font-size:11px;}
.btn-pill-accent{padding:6px 10px;border-radius:var(--radius-sm);border:1px solid var(--border2);background:var(--surface2);color:var(--text);}
.btn-accent-5-8{background:var(--accent);border-radius:6px;padding:5px 8px;text-align:center;min-width:46px;flex-shrink:0;}
.btn-wide-mt20{width:100%;padding:12px;font-size:14px;margin-top:20px;}
.btn-wide-100{width:100%;padding:10px;}
.btn-wide-mb14{width:100%;margin-bottom:14px;}
.btn-wide-mt8{width:100%;margin-top:8px;}
.btn-link-accent{margin-top:8px;background:none;border:none;color:var(--accent);font-size:13px;font-family:'DM Sans',sans-serif;cursor:pointer;}
.btn-clear-accent{background:none;border:none;color:var(--text3);font-size:20px;cursor:pointer;}
.btn-surface3-sm{display:flex;align-items:center;gap:5px;padding:3px 10px;border-radius:20px;background:var(--surface3);border:1px solid var(--border2);}
.btn-surface3-p{display:flex;align-items:center;gap:8px;padding:7px 10px;background:var(--surface3);border-radius:8px;}
.btn-7-14-12{padding:7px 14px;font-size:12px;}
.btn-7-14-12-shrink{padding:7px 14px;font-size:12px;flex-shrink:0;}
.btn-8-14-13-nowrap{padding:8px 14px;font-size:13px;white-space:nowrap;}
.btn-9-14-13-shrink{padding:9px 14px;font-size:13px;flex-shrink:0;}
.btn-6-16-12-pill{padding:6px 16px;border-radius:20px;border:none;background:var(--accent);color:white;font-size:12px;font-family:'DM Sans',sans-serif;font-weight:600;cursor:pointer;}
.btn-6-16-12-pill-off{padding:6px 16px;border-radius:20px;border:none;background:transparent;color:var(--text3);font-size:12px;font-family:'DM Sans',sans-serif;font-weight:500;cursor:pointer;}
.btn-7-12-shrink{width:auto;padding:7px 12px;font-size:13px;}
.btn-8-12-13{width:auto;padding:8px 12px;font-size:13px;}
.btn-6-12-12{width:auto;padding:6px 12px;font-size:12px;}
.btn-6-14-12{padding:6px 14px;font-size:12px;}
.btn-5-12-12{padding:5px 12px;font-size:12px;}
.input-accent6{accent-color:#6c63ff;}
.cb-12{accent-color:#6c63ff;width:12px;height:12px;}
.cb-14{width:14px;height:14px;accent-color:var(--accent);}
.cb-15-6{accent-color:#6c63ff;width:15px;height:15px;}
.cb-row-click{display:flex;align-items:center;gap:6px;cursor:pointer;font-weight:400;font-size:12px;color:var(--text2);}
.cb-row-click2{display:flex;align-items:center;gap:4px;cursor:pointer;font-size:11px;color:var(--text2);}
.cb-row-click3{display:flex;align-items:center;gap:8px;cursor:pointer;font-size:12px;color:var(--text2);}
.cb-row-click4{display:flex;align-items:center;gap:8px;cursor:pointer;font-size:13px;}
.flex-center-10-13{display:flex;align-items:center;gap:10px;font-size:13px;}
.flex-center-12-p10{display:flex;align-items:center;gap:12px;padding:10px;background:var(--surface2);border-radius:var(--radius-sm);cursor:pointer;}
.flex-center-6-p10{display:flex;align-items:center;gap:6px;padding:6px 10px;background:var(--surface2);border:1px solid var(--border2);border-radius:var(--radius-sm);}
.flex-center-5-accent{display:flex;align-items:center;gap:5px;background:rgba(108,99,255,0.15);border:1px solid rgba(108,99,255,0.3);border-radius:var(--radius-sm);}
.flex-center-6-border20{display:flex;align-items:center;gap:6px;background:var(--surface2);border:1px solid var(--border);border-radius:20px;}
.flex-row-6-mt6{display:flex;gap:6px;margin-top:6px;}
.flex-row-8-mt4{margin-top:4px;display:flex;gap:8px;}
.flex-row-6-wrap-mt6{display:flex;gap:6px;flex-wrap:wrap;margin-top:6px;}
.flex-row-10-mt6{display:flex;align-items:center;gap:10px;margin-top:6px;}
.flex-row-12-mt4{display:flex;gap:12px;margin-top:4px;font-size:11px;color:var(--text3);}
.flex-row-8-mb10{display:flex;gap:8px;margin-bottom:10px;}
.flex-row-wrap-mb16{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;flex-wrap:wrap;gap:8px;}
.flex-col-8-mt6{display:flex;flex-direction:column;gap:8px;margin-top:6px;}
.flex-col-6-wrap{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px;min-height:0;}
.flex-col-mt10-wrap{display:flex;gap:10px;margin-top:6px;flex-wrap:wrap;}
.flex-1-42-bar{flex:1;width:100%;background:var(--border);border-radius:4px 4px 0 0;display:flex;align-items:flex-end;}
.flex-1-11-muted{flex:1;text-align:center;font-size:11px;color:var(--text3);}
.flex-1-13-c{flex:1;font-size:13px;}
.stat-summary-green{flex:1;min-width:120px;padding:12px;background:rgba(67,233,123,0.1);border:1px solid rgba(67,233,123,0.3);border-radius:var(--radius-sm);}
.stat-summary-orange{flex:1;min-width:120px;padding:12px;background:rgba(247,151,30,0.1);border:1px solid rgba(247,151,30,0.3);border-radius:var(--radius-sm);}
.stat-summary-red{flex:1;min-width:120px;padding:12px;background:rgba(255,107,107,0.1);border:1px solid rgba(255,107,107,0.3);border-radius:var(--radius-sm);}
.chart-area{height:160px;display:flex;align-items:flex-end;gap:6px;padding-top:10px;}
.spacer-h80{height:80px;}
.form-wide-surface{width:100%;box-sizing:border-box;background:var(--surface2);border:1px solid var(--border2);border-radius:var(--radius-sm);}
.form-mini-surface{width:100%;background:var(--surface2);border:1px solid var(--border2);border-radius:6px;padding:7px 9px;color:var(--text);}
.form-select-auto{padding:9px 14px;border-radius:var(--radius-sm);border:1px solid var(--border2);background:var(--surface2);color:var(--text);}
.map-page{display:none;flex-direction:column;position:fixed;top:calc(54px + env(safe-area-inset-top, 0px));left:0;right:0;bottom:0;padding:0;overflow:hidden;width:100%;z-index:100;background:var(--bg);}
.map-container{flex:1;min-height:0;border-radius:var(--radius);overflow:hidden;border:1px solid var(--border);margin:0 16px 16px;width:calc(100% - 32px);position:relative;}
.map-filter-row{display:flex;gap:8px;padding:6px 16px 8px;flex-shrink:0;width:100%;box-sizing:border-box;}
.custom-dates-row{display:none;margin-top:10px;gap:8px;flex-wrap:wrap;}
.ham-menu-owner{display:none;position:fixed;top:0;right:0;bottom:0;width:280px;background:var(--surface);border-left:1px solid var(--border2);z-index:9999;box-shadow:-8px 0 32px rgba(0,0,0,0.4);overflow-y:auto;padding-top:env(safe-area-inset-top,0px);}
.ham-header-row{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--border2);}
.ham-title{font-family:'Syne',sans-serif;font-weight:700;font-size:16px;}
.ham-close{background:none;border:none;color:var(--text3);font-size:20px;cursor:pointer;}
.pad-8-8-4{padding:8px 8px 4px;}
.w18-center{width:18px;text-align:center;}
.owner-content-full{width:100%;display:block;padding:12px 20px 40px 20px;overflow-anchor:none;}
.owner-screen-full{width:100%;max-width:100vw;}
.flex-0-120{flex:0 0 120px;}
.pad-4-8-h42{padding:4px 8px;height:42px;}
.door-42{width:42px;height:42px;border-radius:8px;background:var(--surface2);border:1px solid var(--border);display:flex;align-items:center;justify-content:center;}
.door-60{width:60px;height:42px;border-radius:8px;border:1px solid var(--border2);background:var(--surface2);cursor:pointer;}
.door-48{width:48px;height:40px;border-radius:8px;border:1px solid var(--border2);background:var(--surface2);cursor:pointer;}
.door-36{width:36px;height:36px;border-radius:8px;background:var(--surface2);border:1px solid var(--border);display:flex;align-items:center;justify-content:center;}
.door-add{flex:1;height:42px;border-radius:8px;background:#6c63ff;display:flex;align-items:center;justify-content:center;}
.upload-center{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:28px;cursor:pointer;}
.tl-section-divider{display:flex;align-items:center;gap:12px;margin:16px 0 12px;padding-top:12px;border-top:1px solid var(--border);}
.tl-divider-line{flex:1;height:1px;background:var(--border);}
.notif-badge-accent{font-size:11px;color:white;font-weight:600;font-family:'DM Sans',sans-serif;}
.dot-accent-6{width:6px;height:6px;border-radius:50%;background:var(--accent);flex-shrink:0;}
.select-filter-row{display:flex;align-items:center;gap:6px;background:var(--surface2);border:1px solid var(--border);border-radius:20px;}
.hidden-mt8-surface2{margin-top:8px;background:var(--surface2);border:1px solid var(--border2);border-radius:var(--radius-sm);padding:12px;}
.mt-0-pt-16{margin-top:0;padding-top:16px;}
.mt-6{margin-top:6px;}
.tag-chip-inline{font-size:12px;color:var(--text2);background:var(--surface2);border-radius:6px;padding:5px 10px;display:inline-block;}
.card-clickable-accent{cursor:pointer;border:1px solid var(--accent);border-radius:var(--radius);margin-bottom:4px;}
/* ── PASS 5 FINAL SWEEP ── */
.count-badge-surface3{background:var(--surface3);color:var(--text2);min-width:22px;height:22px;border-radius:11px;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:600;padding:0 6px;}

.select-filter-sm{padding:9px 14px;border-radius:var(--radius-sm);border:1px solid var(--border2);background:var(--surface2);color:var(--text2);cursor:pointer;font-size:13px;font-family:'DM Sans',sans-serif;outline:none;}
.select-dash-rep{padding:6px 10px;border-radius:var(--radius-sm);border:1px solid var(--border2);background:var(--surface2);color:var(--text);font-size:12px;font-family:'DM Sans',sans-serif;outline:none;max-width:140px;}
.filter-btn-nowrap{display:flex;align-items:center;gap:6px;padding:8px 14px;background:var(--surface2);border:1px solid var(--border2);border-radius:var(--radius-sm);color:var(--text);font-size:13px;font-family:'DM Sans',sans-serif;cursor:pointer;white-space:nowrap;}
.flex-between-baseline{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:8px;}
.text-11-3-w-mb4{font-size:11px;color:var(--text3);width:100%;margin-bottom:4px;}
.door-42-icon{width:42px;height:42px;border-radius:8px;background:var(--surface2);border:1px solid var(--border);display:flex;align-items:center;justify-content:center;font-size:18px;flex-shrink:0;}
.door-36-icon{width:36px;height:36px;border-radius:8px;background:var(--surface2);border:1px solid var(--border);display:flex;align-items:center;justify-content:center;font-size:16px;flex-shrink:0;}
.door-60-pad{width:60px;height:42px;border-radius:8px;border:1px solid var(--border2);background:var(--surface2);cursor:pointer;padding:4px;}
.door-48-pad{width:48px;height:40px;border-radius:8px;border:1px solid var(--border2);background:var(--surface2);cursor:pointer;padding:3px;}
.text-36-mb10{font-size:36px;margin-bottom:10px;}
.text-32-mb10{font-size:32px;margin-bottom:10px;}
.card-c-gold-span2{--card-c:#ffd700;grid-column:span 2;}
.info-box-blue{display:none;background:rgba(56,189,248,0.08);border:1px solid rgba(56,189,248,0.3);border-radius:var(--radius-sm);padding:10px 12px;margin-bottom:14px;}
.info-box-blue-mt{display:none;margin-top:10px;background:rgba(56,189,248,0.08);border:1px solid rgba(56,189,248,0.3);border-radius:var(--radius-sm);padding:10px 12px;}
.info-box-purple-mt{display:none;margin-top:10px;background:rgba(108,99,255,0.08);border:1px solid rgba(108,99,255,0.3);border-radius:var(--radius-sm);padding:10px 12px;}
.info-box-red-mt{display:none;margin-top:10px;background:rgba(255,107,107,0.08);border:1px solid rgba(255,107,107,0.3);border-radius:var(--radius-sm);padding:10px 12px;}
.info-box-red-mt.error{border-color:#ff6b6b;background:rgba(255,107,107,0.15);}
.text-12-muted-dm{font-size:12px;color:var(--text3);font-family:'DM Sans',sans-serif;margin-bottom:8px;}
.max-w-380{max-width:380px;}
.owner-content-120{width:100%;display:block;padding:12px 20px 120px 20px;overflow-anchor:none;}
.w-100-max{width:100%;max-width:100%;}
/* JS template classes */
.chip-row-click{display:flex;align-items:center;gap:8px;padding:7px 10px;background:var(--surface2);border:1px solid var(--border2);border-radius:var(--radius-sm);cursor:pointer;font-size:13px;}
.chip-row-pad-click{display:flex;align-items:center;gap:8px;padding:8px 12px;background:var(--surface2);border:1px solid var(--border2);border-radius:var(--radius-sm);cursor:pointer;font-size:13px;}
.btn-tag-accent2{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;background:var(--accent);border-radius:20px;color:white;font-size:12px;font-family:'DM Sans',sans-serif;}
.empty-state-span{text-align:center;padding:40px;color:var(--text3);font-size:13px;grid-column:1/-1;}
.card-hover{background:var(--surface);border:1px solid var(--border2);border-radius:var(--radius);padding:16px;cursor:pointer;transition:border-color 0.15s,transform 0.15s;}
.card-row-click{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);margin-bottom:8px;padding:14px;display:flex;align-items:center;gap:12px;cursor:pointer;transition:border-color 0.15s;}
.card-row-plain{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);padding:14px;display:flex;align-items:center;gap:12px;}
.card-hover-border{background:var(--surface);border:1px solid var(--border2);border-radius:var(--radius);padding:14px 16px;cursor:pointer;transition:border-color 0.15s;}
.tag-sm-surface{font-size:12px;padding:4px 8px;background:var(--surface2);border:1px solid var(--border2);border-radius:var(--radius-sm);color:var(--text);}
.text-12-3-mt8-bt{margin-top:8px;font-size:12px;color:var(--text3);border-top:1px solid var(--border);padding-top:8px;}
.text-600-13-mb2{font-weight:600;font-size:13px;margin-bottom:2px;}
.text-12-3-mt4-b{margin-top:4px;font-size:12px;color:var(--text3);}
.pill-accent-trans{display:flex;align-items:center;gap:5px;background:rgba(108,99,255,0.15);border:1px solid rgba(108,99,255,0.3);border-radius:20px;padding:4px 10px;font-size:12px;}
.select-pill-border{display:flex;align-items:center;gap:6px;background:var(--surface2);border:1px solid var(--border);border-radius:20px;padding:4px 10px;cursor:pointer;font-size:12px;transition:border-color 0.15s;}
.cb-14-6{accent-color:#6c63ff;width:14px;height:14px;}
.color-input-swatch{width:24px;height:24px;border:none;border-radius:4px;cursor:pointer;padding:0;}
.cb-row-click5{display:flex;align-items:center;gap:4px;cursor:pointer;font-size:11px;color:var(--text2);}

.btn-surface3-dm{background:var(--surface3);border:1px solid var(--border2);color:var(--text2);border-radius:8px;padding:4px 12px;cursor:pointer;font-size:12px;font-family:'DM Sans',sans-serif;}
.btn-surface3-pill{display:flex;align-items:center;gap:5px;padding:3px 10px;border-radius:20px;background:var(--surface3);border:1px solid var(--border);}
.text-9-3-px{font-size:9px;color:var(--text3);padding:1px 3px;}
.text-10-upper-dm{font-size:10px;color:var(--text3);text-transform:uppercase;letter-spacing:0.5px;padding:10px 4px 4px;font-family:'DM Sans',sans-serif;}
.flex-center-10-p-mb4{display:flex;align-items:center;gap:10px;padding:10px 12px;background:var(--surface2);border-radius:var(--radius-sm);margin-bottom:4px;cursor:pointer;}
.text-13-text-500b{font-size:13px;color:var(--text);font-weight:500;}
.text-12-3-ellipsis{font-size:12px;color:var(--text3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.pill-active-trans{padding:5px 14px;border-radius:20px;border:1px solid var(--accent);background:var(--accent);color:white;font-size:12px;font-family:'DM Sans',sans-serif;cursor:pointer;font-weight:500;transition:all 0.15s;}
.pill-inactive-trans{padding:5px 14px;border-radius:20px;border:1px solid var(--border2);background:transparent;color:var(--text3);font-size:12px;font-family:'DM Sans',sans-serif;cursor:pointer;font-weight:500;transition:all 0.15s;}
.text-10-3-self{font-size:10px;color:var(--text3);align-self:center;}
.grid-3-8-border-pad{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:12px;background:var(--surface2);border:1px solid var(--border);border-radius:var(--radius-sm);padding:10px;}
.btn-accent-dm{background:var(--accent);border:none;border-radius:var(--radius-sm);color:white;padding:6px 12px;font-size:12px;cursor:pointer;font-family:'DM Sans',sans-serif;flex-shrink:0;}
.form-textarea-full{width:100%;background:var(--surface2);border:1px solid var(--border2);border-radius:6px;padding:7px 9px;color:var(--text);font-size:12px;font-family:'DM Sans',sans-serif;resize:none;outline:none;margin-bottom:8px;box-sizing:border-box;}
.color-accent2-mr{color:var(--accent2);margin-right:4px;}
.stat-summary-green-center{flex:1;min-width:120px;padding:12px;background:rgba(67,233,123,0.1);border:1px solid rgba(67,233,123,0.3);border-radius:var(--radius-sm);text-align:center;}
.stat-summary-orange-center{flex:1;min-width:120px;padding:12px;background:rgba(247,151,30,0.1);border:1px solid rgba(247,151,30,0.3);border-radius:var(--radius-sm);text-align:center;}
.stat-summary-red-center{flex:1;min-width:120px;padding:12px;background:rgba(255,107,107,0.1);border:1px solid rgba(255,107,107,0.3);border-radius:var(--radius-sm);text-align:center;}
.tag-chip-ml{font-size:10px;color:var(--text3);background:var(--surface3);padding:1px 6px;border-radius:10px;margin-left:4px;}
.flex-center-6-p10-6{display:flex;align-items:center;gap:6px;padding:6px 10px;background:var(--surface2);border:1px solid var(--border2);border-radius:6px;cursor:pointer;font-size:13px;}
.bg-accent-pure{background:#6c63ff;}
/* ── PASS 5B FINAL ── */
.text-12-3-shrink{color:var(--text3);font-size:12px;}
.text-16-3-shrink{color:var(--text3);font-size:16px;flex-shrink:0;}
.swatch-grey{width:24px;height:24px;border-radius:50%;background:#55556a;border:2px solid transparent;cursor:pointer;}
.swatch-red{width:24px;height:24px;border-radius:50%;background:#ff6b6b;border:2px solid transparent;cursor:pointer;}
.swatch-orange{width:24px;height:24px;border-radius:50%;background:#f7971e;border:2px solid transparent;cursor:pointer;}
.swatch-purple{width:24px;height:24px;border-radius:50%;background:#a78bfa;border:2px solid transparent;cursor:pointer;}
.swatch-blue{width:24px;height:24px;border-radius:50%;background:#38bdf8;border:2px solid transparent;cursor:pointer;}
.swatch-green{width:24px;height:24px;border-radius:50%;background:#43e97b;border:2px solid transparent;cursor:pointer;}
.swatch-red2{width:24px;height:24px;border-radius:50%;background:#ef4444;border:2px solid transparent;cursor:pointer;}
.swatch-amber{width:24px;height:24px;border-radius:50%;background:#f59e0b;border:2px solid transparent;cursor:pointer;}
.swatch-pink{width:24px;height:24px;border-radius:50%;background:#ec4899;border:2px solid transparent;cursor:pointer;}
.swatch-accent{width:24px;height:24px;border-radius:50%;background:#6c63ff;border:2px solid transparent;cursor:pointer;}
.swatch-22-accent{width:22px;height:22px;border-radius:50%;background:#6c63ff;border:none;cursor:pointer;}
.swatch-22-green{width:22px;height:22px;border-radius:50%;background:#43e97b;border:none;cursor:pointer;}
.swatch-22-orange{width:22px;height:22px;border-radius:50%;background:#f7971e;border:none;cursor:pointer;}
.swatch-22-blue{width:22px;height:22px;border-radius:50%;background:#38bdf8;border:none;cursor:pointer;}
.swatch-22-pink{width:22px;height:22px;border-radius:50%;background:#ec4899;border:none;cursor:pointer;}
.swatch-22-red{width:22px;height:22px;border-radius:50%;background:#ef4444;border:none;cursor:pointer;}
.swatch-22-purple{width:22px;height:22px;border-radius:50%;background:#a78bfa;border:none;cursor:pointer;}
.swatch-22-amber{width:22px;height:22px;border-radius:50%;background:#f59e0b;border:none;cursor:pointer;}
.btn-6-12-12b{padding:6px 12px;font-size:12px;}

.text-c-text{color:var(--text);}


/* Color swatches */
.swatch{width:24px;height:24px;border-radius:50%;border:2px solid transparent;cursor:pointer;}
/* Avatar colors */
.av-accent{background:rgba(108,99,255,0.15);border:1px solid rgba(108,99,255,0.3);border-radius:var(--radius-sm);padding:5px 8px;text-align:center;min-width:46px;flex-shrink:0;}
/* Stat highlight boxes */
.stat-box-green{background:rgba(67,233,123,0.1);border-radius:var(--radius-sm);padding:8px;}
.stat-box-blue{background:rgba(56,189,248,0.1);border-radius:var(--radius-sm);padding:8px;}
.stat-box-red{background:rgba(255,68,68,0.1);border-radius:var(--radius-sm);padding:8px;}
.stat-num-green{font-family:'Syne',sans-serif;font-size:20px;font-weight:700;color:#43e97b;}
.stat-num-blue{font-family:'Syne',sans-serif;font-size:20px;font-weight:700;color:#38bdf8;}
.stat-num-red{font-family:'Syne',sans-serif;font-size:20px;font-weight:700;color:#ff4444;}
/* Common text patterns */
.text-13-text3{font-size:13px;color:var(--text3);}
.text-13-text2{font-size:13px;color:var(--text2);}
.text-13-500{font-weight:500;font-size:13px;}
.text-13-text-500{flex:1;font-size:13px;color:var(--text);font-weight:500;}
.text-12-upper{font-size:12px;color:var(--text2);text-transform:uppercase;letter-spacing:0.5px;margin-bottom:8px;}
.text-12-upper-600{font-size:12px;color:var(--text2);font-weight:600;margin-bottom:10px;}
.text-11-upper-mb{font-size:11px;color:var(--text3);text-transform:uppercase;letter-spacing:0.5px;margin-bottom:14px;}
.text-11-upper-4{font-size:11px;color:var(--text3);text-transform:uppercase;letter-spacing:0.5px;margin-bottom:4px;}
.text-11-upper-10{font-size:11px;color:var(--text3);text-transform:uppercase;letter-spacing:0.5px;margin-bottom:10px;}
.text-11-upper-8{font-size:11px;color:var(--text3);text-transform:uppercase;letter-spacing:0.5px;margin-bottom:8px;}
.text-14-600{font-size:14px;font-weight:600;color:var(--text);}
.text-14-600-mb2{font-weight:600;font-size:14px;margin-bottom:2px;}
.text-16{font-size:16px;}
.text-24{font-size:24px;}
.text-32{font-size:32px;}
.text-36{font-size:36px;}
.text-13-3-pad{font-size:13px;color:var(--text3);padding:12px 0;}
.text-13-3-pad8{font-size:13px;color:var(--text3);padding:8px 0;}
.text-13-accent-mb{font-size:12px;color:var(--accent3);margin-bottom:10px;}
.text-12-green-600{font-size:12px;color:var(--accent3);font-weight:600;}
.text-11-green{font-size:11px;color:#43e97b;}
.text-11-green-mt{font-size:11px;color:#43e97b;margin-top:2px;}
.text-10-accent{font-size:10px;color:var(--accent);}
/* Layout patterns */
.grid-2-8{display:grid;grid-template-columns:1fr 1fr;gap:8px;}
.grid-2-10{display:grid;grid-template-columns:1fr 1fr;gap:10px;}
.grid-3-8{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;text-align:center;}
.grid-4-10-14{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:14px;}
.grid-4-10-16{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:16px;}
.flex-col-8-mb16{display:flex;flex-direction:column;gap:8px;margin-bottom:16px;}
.flex-col-8-mt4{display:flex;flex-direction:column;gap:8px;margin-top:4px;}
.flex-col-6-mt4{display:flex;flex-direction:column;gap:6px;margin-top:4px;}
.flex-col-6-mt4-200{display:flex;flex-direction:column;gap:6px;margin-top:4px;max-height:200px;overflow-y:auto;}
.flex-col-12-660{display:flex;flex-direction:column;gap:12px;max-width:660px;}
.flex-col-20-520{display:flex;flex-direction:column;gap:20px;max-width:520px;}
.flex-col-8-pb{display:flex;flex-direction:column;gap:8px;padding-bottom:80px;}
.flex-col-8-pb100{display:flex;flex-direction:column;gap:8px;padding-bottom:100px;}
.flex-col-10-pb{display:flex;flex-direction:column;gap:10px;padding-bottom:80px;}
.flex-col-6-pb{display:flex;flex-direction:column;gap:6px;padding-bottom:80px;}
.flex-col-6-mb12{display:flex;flex-direction:column;gap:6px;margin-bottom:12px;}
.flex-col-1{display:flex;flex-direction:column;gap:1px;}
.flex-col-align-end{display:flex;flex-direction:column;align-items:flex-end;gap:6px;}
.flex-col-align-end-4{display:flex;flex-direction:column;align-items:flex-end;gap:4px;flex-shrink:0;}
.flex-col-align-end-3{display:flex;flex-direction:column;align-items:flex-end;gap:3px;}
.flex-col-center{flex:1;display:flex;flex-direction:column;align-items:center;gap:4px;}
.flex-end-click{display:flex;align-items:center;gap:4px;cursor:pointer;}
.flex-between-start{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:12px;}
.flex-between-start-8{display:flex;justify-content:space-between;align-items:flex-start;gap:8px;}
.flex-between-center-4{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:4px;}
.flex-between-4{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px;}
.flex-center-10-14{display:flex;align-items:center;gap:10px;margin-bottom:14px;}
.flex-center-8-16{display:flex;align-items:center;gap:8px;margin-bottom:16px;}
.flex-center-8-mb{display:flex;align-items:center;gap:8px;margin-bottom:14px;}
.flex-center-12-click{display:flex;align-items:center;gap:12px;cursor:pointer;}
.flex-center-10-click{display:flex;align-items:center;gap:10px;cursor:pointer;}
.flex-center-8-click{display:flex;align-items:center;gap:8px;cursor:pointer;font-size:13px;}
.flex-wrap-6-mb16{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:16px;}
.flex-wrap-6-mb14{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:14px;}
.flex-wrap-6-mb12{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px;}
.flex-wrap-8-mb20{display:flex;gap:8px;margin-bottom:20px;flex-wrap:wrap;}
.flex-wrap-6-align{display:flex;gap:6px;flex-wrap:wrap;align-items:center;}
.flex-wrap-6-shrink{display:flex;gap:6px;flex-shrink:0;}
.flex-wrap-8-mt6{display:flex;flex-wrap:wrap;gap:8px;margin-top:6px;}
.flex-wrap-10{display:flex;gap:10px;flex-wrap:wrap;}
.flex-row-10-mt5{display:flex;gap:10px;margin-top:5px;flex-wrap:wrap;}
.flex-row-6-mb16{display:flex;gap:6px;margin-bottom:16px;flex-wrap:wrap;}
.flex-row-6-mb14{display:flex;gap:6px;margin-bottom:14px;flex-wrap:wrap;}
.flex-row-6-mb12{display:flex;gap:6px;margin-bottom:12px;flex-wrap:wrap;}
.flex-row-8-10{display:flex;gap:8px;padding:10px 16px;flex-shrink:0;width:100%;box-sizing:border-box;}
.flex-row-10-bt{display:flex;gap:10px;padding:10px 0;border-bottom:1px solid var(--border);}
.flex-center-gap8-p8{display:flex;align-items:center;gap:8px;padding:8px 10px;}
.flex-center-10-p{display:flex;align-items:center;gap:10px;padding:10px 12px;background:var(--surface2);border-radius:var(--radius-sm);margin-bottom:8px;}
.flex-center-12-p16{display:flex;align-items:center;gap:12px;padding:12px 16px;background:var(--surface2);border-radius:10px;}
/* Form patterns */
.form-search-wide{flex:1;min-width:200px;background:var(--surface2);border:1px solid var(--border2);border-radius:var(--radius-sm);padding:9px 14px;color:var(--text);font-size:13px;font-family:'DM Sans',sans-serif;outline:none;}
.form-select-full{width:100%;padding:9px 12px;font-size:13px;}
.form-textarea{resize:none;}
/* Modal patterns */
.modal-close-btn{background:none;border:none;color:var(--text3);font-size:20px;cursor:pointer;line-height:1;}
.modal-close-btn2{cursor:pointer;color:var(--text3);font-size:14px;line-height:1;}
.modal-close-red{background:none;border:none;color:#ff6b6b;cursor:pointer;font-size:14px;padding:2px 4px;line-height:1;}
.modal-tab-active{padding:6px 16px;border-radius:20px;border:none;background:var(--accent);color:white;font-size:12px;font-family:'DM Sans',sans-serif;font-weight:600;cursor:pointer;}
.modal-tab-inactive{padding:6px 16px;border-radius:20px;border:none;background:transparent;color:var(--text3);font-size:12px;font-family:'DM Sans',sans-serif;font-weight:500;cursor:pointer;}
.modal-tabs-row{display:flex;gap:6px;margin-bottom:16px;border-bottom:1px solid var(--border);padding-bottom:10px;}
/* Misc */
.divider-v{width:1px;height:20px;background:var(--border2);margin:0 4px;}
.progress-bar-h{height:4px;background:var(--border);border-radius:2px;}
.progress-bar-h6{height:6px;background:var(--border);border-radius:3px;}
.bar-fill-accent{width:0%;height:100%;background:var(--accent);}
.disabled-look{opacity:0.5;cursor:not-allowed;}
.opacity-hidden{color:var(--text2);cursor:default;opacity:0.7;pointer-events:none;}
.max-w-420{max-width:420px;}
.max-w-400{max-width:400px;}
.max-w-440{max-width:440px;}
.max-w-500-85{max-width:500px;max-height:85vh;overflow-y:auto;}
.max-w-500-80{max-width:500px;max-height:80vh;overflow-y:auto;}
.modal-wide{max-width:700px;width:calc(100% - 32px);}
.nl-two-col{display:flex;gap:16px;align-items:flex-start;}
.nl-two-col .nl-col-left{flex:1;min-width:0;}
.nl-two-col .nl-col-right{width:220px;flex-shrink:0;}
@media(max-width:540px){.nl-two-col{flex-direction:column;}.nl-two-col .nl-col-left,.nl-two-col .nl-col-right{width:100%;min-width:0;}}
.max-h-240{max-height:240px;overflow-y:auto;display:flex;flex-direction:column;gap:6px;margin-bottom:14px;}
.max-h-340{max-height:340px;overflow-y:auto;}
.mt-16-tr{margin-top:16px;text-align:right;}
.pad-020-24{padding:0 20px 24px;}
.hidden-tl-section{display:none;margin-top:20px;border-top:1px solid var(--border2);padding-top:16px;}
.section-divider{border-top:1px solid var(--border2);margin:8px 0 10px;}
.tag-chip{font-size:11px;padding:3px 8px;border-radius:10px;background:rgba(108,99,255,0.15);color:var(--accent);font-weight:600;}
.tag-chip-surface{font-size:10px;color:var(--text3);background:var(--surface3);padding:1px 6px;border-radius:10px;margin-left:4px;}
.tag-chip-surface2{font-size:10px;color:var(--text3);background:var(--surface3);padding:2px 6px;border-radius:8px;white-space:nowrap;}
.btn-surface3{background:var(--surface3);border:1px solid var(--border2);color:var(--text2);border-radius:8px;padding:4px 12px;cursor:pointer;}
.btn-accent-sm{background:var(--accent);border:none;border-radius:var(--radius-sm);color:white;padding:6px 12px;font-size:12px;cursor:pointer;}
.mini-btn{background:none;border:none;color:var(--text2);cursor:pointer;font-size:12px;padding:2px 5px;}
.mini-btn-6{background:none;border:none;color:var(--text2);cursor:pointer;font-size:12px;padding:2px 6px;}
.mini-btn-11{background:none;border:none;color:var(--text2);cursor:pointer;font-size:11px;padding:2px 4px;}
.mini-btn-10{background:none;border:none;color:var(--text2);cursor:pointer;font-size:10px;padding:1px 3px;line-height:1;}
.invisible-input{width:0;height:0;opacity:0;position:absolute;pointer-events:none;}
.accent-16-center{color:var(--accent);width:18px;text-align:center;}
.accent3-16-center{color:var(--accent3);width:18px;text-align:center;}
.accent2-16-center{color:var(--accent2);width:18px;text-align:center;}
.blue-16-center{color:#38bdf8;width:18px;text-align:center;}
.bar-bg{flex:1;background:var(--surface2);border-radius:3px;height:6px;overflow:hidden;}
.bar-bg-s3{background:var(--surface3);border-radius:3px;height:5px;overflow:hidden;}
.bar-label-sm{color:var(--text2);width:110px;font-size:12px;}
.bar-pct{color:var(--text3);font-size:11px;width:28px;text-align:right;}
.progress-bar-8{height:8px;border-radius:4px;}
.event-row{display:flex;gap:6px;margin-bottom:14px;border-bottom:1px solid var(--border);padding-bottom:10px;}

.hidden-gap{display:none;gap:6px;align-items:center;}
.notif-row{display:flex;gap:8px;padding:8px 10px;background:var(--surface2);border-left:3px solid;}

/* ── PASS 2B ── */
.cb-16{width:16px;height:16px;accent-color:var(--accent);}
.accent-color{accent-color:var(--accent);}
.empty-state-28{text-align:center;padding:28px;color:var(--text3);font-size:13px;}
.appt-date-col{text-align:center;min-width:46px;}
.appt-date-day{font-family:'Syne',sans-serif;font-size:22px;font-weight:700;}
.appt-date-sub{font-size:12px;color:var(--text2);margin-top:3px;}
.appt-end-col{display:flex;flex-direction:column;align-items:flex-end;gap:6px;}
.appt-name{font-weight:500;font-size:14px;margin-bottom:2px;}
.appt-type-pill{font-size:10px;padding:3px 8px;border-radius:10px;font-weight:500;}
.text-10-upper{font-size:10px;color:var(--text3);text-transform:uppercase;}
.bg-surface2-pad{background:var(--surface2);border:1px solid var(--border2);border-radius:var(--radius-sm);padding:12px;}
.mini-close-btn{background:none;border:none;color:var(--text2);cursor:pointer;font-size:10px;padding:1px 3px;line-height:1;}
.dot-color-8{width:8px;height:8px;border-radius:50%;flex-shrink:0;}
.chip-row-pad{display:flex;align-items:center;gap:8px;padding:8px 12px;background:var(--surface2);border:1px solid var(--border2);border-radius:var(--radius-sm);font-size:13px;}


.max-w-480{max-width:480px;}

.mb-0{margin-bottom:0;}
.flex-wrap-gap8-center{display:flex;gap:8px;margin-bottom:16px;flex-wrap:wrap;align-items:center;}

.border-l{border-left:1px solid var(--border2);}
.right-0{right:0;}
.bottom-0{bottom:0;}
.top-0{top:0;}
.left-0{left:0;}
.min-h-0{min-height:0;}
.line-1{line-height:1;}

.pill-btn{padding:7px 14px;border:1px solid var(--border2);border-radius:20px;background:var(--surface2);color:var(--text2);font-size:13px;font-family:'DM Sans',sans-serif;font-weight:600;cursor:pointer;}
/* ── SCREEN-OWNER REFACTOR CLASSES ── */
.stat-val-accent4{color:var(--accent4);}
.stat-val-accent3{color:var(--accent3);}
.stat-val-blue{color:#38bdf8;}
.stat-val-green{color:#43e97b;}
.stat-val-accent2{color:var(--accent2);}
.unit-box{background:var(--surface2);border-radius:var(--radius-sm);padding:10px;text-align:center;}
.unit-box-icon{font-size:18px;margin-bottom:4px;}
.unit-box-val{font-family:'Syne',sans-serif;font-size:20px;font-weight:700;}
.units-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;}
.cal-nav-btn{background:var(--surface2);border:1px solid var(--border);border-radius:6px;color:var(--text2);cursor:pointer;padding:4px 10px;font-size:14px;}
.cal-title{font-family:'Syne',sans-serif;font-size:15px;font-weight:600;}
.cal-list-body{display:flex;flex-direction:column;gap:4px;}
.view-all-btn{background:none;border:none;color:var(--accent);font-size:13px;font-family:'DM Sans',sans-serif;cursor:pointer;}
.view-all-btn-sm{font-size:11px;color:var(--accent);background:none;border:none;cursor:pointer;padding:0;font-family:'DM Sans',sans-serif;}
.select-sm{width:auto;padding:6px 10px;font-size:12px;}
.card-sub-section{margin-top:18px;border-top:1px solid var(--border);padding-top:14px;}
.spacer-80{height:80px;}
.col-list-body{display:flex;flex-direction:column;gap:4px;}
.text-center-padded{text-align:center;padding:12px 0 4px;}


/* ── Rep View Styles ── */

.campaign-chip{display:flex;align-items:center;gap:6px;padding:6px 14px;border-radius:20px;border:1px solid var(--border2);background:var(--surface2);color:var(--text2);cursor:pointer;font-size:12px;font-family:'DM Sans',sans-serif;font-weight:500;white-space:nowrap;transition:all 0.15s;flex-shrink:0;}
.campaign-chip.active{background:var(--accent);border-color:var(--accent);color:white;}
.tally-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-bottom:14px;}
.tally-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);padding:12px 14px;display:flex;align-items:center;gap:12px;}
.tally-icon{font-size:22px;flex-shrink:0;}
.map-sheet-pill{padding:7px 14px;border-radius:20px;border:1px solid var(--border2);background:var(--surface2);color:var(--text2);font-size:13px;font-family:'DM Sans',sans-serif;font-weight:500;cursor:pointer;transition:all 0.15s;}
.map-sheet-pill.active{background:var(--accent);border-color:var(--accent);color:white;}
.fmenu-chip{padding:4px 10px;border-radius:20px;border:1px solid var(--border2);background:var(--surface3);color:var(--text2);font-size:11px;cursor:pointer;font-family:'DM Sans',sans-serif;transition:all 0.1s;}
.fmenu-chip.active{background:var(--accent);border-color:var(--accent);color:white;}
.fmenu-item{padding:10px 14px;font-size:13px;cursor:pointer;color:var(--text2);transition:background 0.1s;}
.fmenu-item:hover{background:var(--surface3);color:var(--text);}
.fmenu-item.active{color:var(--accent);font-weight:500;}
.tally-label{font-size:11px;color:var(--text3);text-transform:uppercase;letter-spacing:0.4px;}
.tally-val{font-family:'Syne',sans-serif;font-size:24px;font-weight:700;line-height:1;}
.tally-unit{font-size:11px;color:var(--text2);margin-top:2px;}
.r-lead-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);margin-bottom:8px;overflow:hidden;transition:border-color 0.15s;}
.r-lead-card.expanded{border-color:var(--accent);}
.r-lead-header{display:flex;align-items:center;gap:12px;padding:13px 14px;cursor:pointer;}
.r-lead-header:hover{background:var(--surface2);}
.r-lead-expand{max-height:0;overflow:hidden;transition:max-height 0.35s ease;border-top:0px solid var(--border);}
.r-lead-card.expanded .r-lead-expand{max-height:700px;border-top-width:1px;}
.r-lead-expand-inner{padding:14px;}
.outcome-pills{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:14px;}
.outcome-pill{padding:6px 12px;border-radius:20px;border:1px solid var(--border2);background:var(--surface2);color:var(--text2);cursor:pointer;font-size:12px;font-family:'DM Sans',sans-serif;font-weight:500;transition:all 0.15s;}
.outcome-pill.sel{color:white;border-color:transparent;}
.sold-checks{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:10px;}
.sold-check{display:flex;align-items:center;gap:6px;padding:7px 12px;border-radius:var(--radius-sm);border:1px solid var(--border2);background:var(--surface2);cursor:pointer;font-size:13px;transition:all 0.15s;user-select:none;}
.sold-check.checked{background:rgba(67,233,123,0.12);border-color:rgba(67,233,123,0.4);color:var(--accent3);}
.sold-check input{display:none;}
.mobile-qty{display:flex;align-items:center;gap:8px;margin-bottom:10px;}
.qty-btn{width:32px;height:32px;border-radius:50%;border:1px solid var(--border2);background:var(--surface2);color:var(--text);cursor:pointer;font-size:18px;display:flex;align-items:center;justify-content:center;transition:all 0.15s;}
.qty-btn:hover{background:var(--surface3);}
.qty-display{font-family:'Syne',sans-serif;font-size:20px;font-weight:700;min-width:36px;text-align:center;}
/* ── SCREEN-REP REFACTOR CLASSES ── */
.hamburger-btn{background:var(--surface2);border:1px solid var(--border2);border-radius:10px;padding:7px 10px;cursor:pointer;color:var(--text);font-size:18px;line-height:1;margin-left:8px;}
.hamburger-menu{display:none;position:fixed;top:0;right:0;bottom:0;width:280px;background:var(--surface);border-left:1px solid var(--border2);z-index:9999;box-shadow:-8px 0 32px rgba(0,0,0,0.4);overflow-y:auto;padding-top:env(safe-area-inset-top,0px);}
.hamburger-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--border2);}
.hamburger-title{font-family:'Syne',sans-serif;font-weight:700;font-size:16px;}
.hamburger-close{background:none;border:none;color:var(--text3);font-size:20px;cursor:pointer;}
.camp-selector{display:flex;align-items:center;gap:8px;background:var(--surface2);border:1px solid var(--border);border-radius:var(--radius-sm);padding:10px 14px;cursor:pointer;}
.camp-icon{font-size:16px;}
.camp-name{font-weight:600;font-size:13px;}
.camp-arrow{font-size:10px;color:var(--text3);display:none;}
.camp-dropdown{display:none;position:absolute;top:calc(100% + 4px);left:0;right:0;background:var(--surface);border:1px solid var(--border2);border-radius:var(--radius-sm);z-index:300;overflow:hidden;box-shadow:0 8px 24px rgba(0,0,0,0.4);}
.signout-row{padding:20px;}
.tl-divider{display:flex;align-items:center;gap:12px;margin:20px 0 14px;padding-top:16px;border-top:1px solid var(--border);}
.tl-leaderboard-row{display:flex;align-items:center;gap:8px;padding:8px 10px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);}
.tl-medal{font-size:13px;font-weight:800;color:var(--text3);width:20px;text-align:center;}
.tl-rep-av{width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:700;flex-shrink:0;}
.tl-install-val{font-family:'Syne',sans-serif;font-weight:700;font-size:15px;color:#43e97b;}
.tl-install-lbl{font-size:9px;color:var(--text3);}
.appt-item-addr{font-size:12px;color:var(--text3);margin-bottom:4px;}
.appt-item-rep{font-size:11px;color:var(--accent);margin-bottom:2px;}
.appt-item-notes{font-size:12px;color:var(--text2);}
.appt-type-tag{font-size:10px;padding:3px 8px;border-radius:10px;font-weight:500;}
.rep-search-input{flex:1;background:var(--surface);border:1px solid var(--border2);border-radius:var(--radius-sm);padding:9px 12px;color:var(--text);font-size:13px;font-family:'DM Sans',sans-serif;outline:none;}
.filter-btn{display:flex;align-items:center;gap:6px;padding:9px 14px;background:var(--surface2);border:1px solid var(--border2);border-radius:var(--radius-sm);color:var(--text);font-size:13px;font-family:'DM Sans',sans-serif;cursor:pointer;white-space:nowrap;}
.count-badge{min-width:22px;height:22px;border-radius:11px;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:600;padding:0 6px;}
.count-badge-gray{background:var(--surface2);color:var(--text2);}
.count-badge-orange{background:rgba(247,151,30,0.15);color:#f7971e;}
.count-badge-blue{background:rgba(56,189,248,0.15);color:#38bdf8;}
.count-badge-gold{background:rgba(255,215,0,0.15);color:#ffd700;}
.count-badge-red{background:rgba(255,68,68,0.15);color:#ff4444;}

