:root {
  --bg:#0f1117;--surface:#181c27;--surface2:#1e2333;--surface3:#252b3d;
  --border:#2a3048;--border2:#333d5c;--text:#e8eaf2;--text2:#8b91a8;--text3:#555d7a;
  --accent:#4f7cff;--accent2:#3563e9;--green:#22c55e;--yellow:#f59e0b;
  --red:#ef4444;--orange:#f97316;--purple:#a855f7;--teal:#14b8a6;
  --radius:10px;--radius-sm:6px;
}
*{box-sizing:border-box;margin:0;padding:0;}
body{font-family:'DM Sans',sans-serif;background:var(--bg);color:var(--text);height:100vh;display:flex;flex-direction:column;overflow:hidden;}

/* NAV */
.topnav{display:flex;align-items:center;padding:0 16px;background:var(--surface);border-bottom:1px solid var(--border);height:50px;flex-shrink:0;gap:6px;}
.logo{font-size:14px;font-weight:600;margin-right:16px;letter-spacing:.5px;white-space:nowrap;}
.logo span{color:var(--accent);}
.nav-tabs{display:flex;gap:2px;}
.nav-tab{padding:5px 12px;border-radius:var(--radius-sm);font-size:13px;font-weight:500;color:var(--text2);cursor:pointer;transition:all .15s;border:none;background:none;}
.cons-btn{padding:3px 10px;border-radius:var(--radius-sm);font-size:11px;font-weight:600;cursor:pointer;border:1px solid var(--border);background:var(--surface3);color:var(--text2);transition:all .15s;}
.cons-btn.active{background:var(--accent);color:#fff;border-color:var(--accent);}
.tpl-card{background:var(--surface3);border:1px solid var(--border);border-radius:var(--radius-sm);padding:10px 12px;cursor:default;}
.tpl-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px;}
.tpl-title{font-size:12px;font-weight:700;color:var(--accent);}
.tpl-lang{font-size:10px;color:var(--text3);background:var(--surface2);padding:1px 6px;border-radius:10px;}
.tpl-body{font-size:11.5px;color:var(--text2);white-space:pre-wrap;line-height:1.55;max-height:120px;overflow:hidden;transition:max-height .25s;}
.tpl-body.expanded{max-height:600px;}
.tpl-actions{display:flex;gap:6px;margin-top:7px;}
.tpl-copy-btn{padding:4px 10px;font-size:11px;border:none;border-radius:var(--radius-sm);background:var(--accent);color:#fff;cursor:pointer;font-weight:600;}
.tpl-expand-btn{padding:4px 10px;font-size:11px;border:1px solid var(--border);border-radius:var(--radius-sm);background:none;color:var(--text2);cursor:pointer;}
.nav-tab:hover{color:var(--text);background:var(--surface3);}
.nav-tab.active{color:var(--text);background:var(--surface3);}

/* SEARCH */
.search-wrap{position:relative;margin-left:10px;}
.search-input{background:var(--surface2);border:1px solid var(--border);border-radius:20px;padding:5px 12px 5px 30px;font-size:12.5px;color:var(--text);width:220px;outline:none;font-family:'DM Sans',sans-serif;transition:border-color .15s;}
.search-input:focus{border-color:var(--accent);width:280px;}
.search-icon{position:absolute;left:10px;top:50%;transform:translateY(-50%);color:var(--text3);font-size:12px;pointer-events:none;}
.search-results{position:absolute;top:calc(100% + 6px);left:0;width:340px;background:var(--surface);border:1px solid var(--border2);border-radius:var(--radius);box-shadow:0 12px 40px rgba(0,0,0,.5);z-index:200;display:none;max-height:400px;overflow-y:auto;}
.search-results.open{display:block;}
.search-group-label{padding:6px 12px 4px;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.6px;color:var(--text3);border-bottom:1px solid var(--border);}
.search-item{padding:8px 12px;cursor:pointer;border-bottom:1px solid var(--border);transition:background .1s;}
.search-item:hover{background:var(--surface2);}
.search-item-name{font-size:13px;font-weight:500;color:var(--text);}
.search-item-meta{font-size:11px;color:var(--text3);margin-top:1px;}

.nav-right{margin-left:auto;display:flex;align-items:center;gap:8px;}
.add-btn{background:var(--accent);color:white;border:none;padding:6px 12px;border-radius:var(--radius-sm);font-size:12.5px;font-weight:500;cursor:pointer;white-space:nowrap;}
.add-btn:hover{background:var(--accent2);}

/* ALERT BANNER */
.alert-banner{background:linear-gradient(90deg,#1a2040,#1e2a50);border-bottom:1px solid #2d3f7a;padding:7px 16px;display:flex;align-items:center;gap:8px;font-size:12px;color:#a0b0e8;flex-shrink:0;flex-wrap:wrap;}
.alert-icon{color:#f59e0b;}
.alert-call{background:#253060;border:1px solid #3a4d8a;border-radius:20px;padding:3px 10px 3px 8px;font-size:11.5px;color:#c0ccf0;cursor:pointer;display:flex;align-items:center;gap:6px;transition:background .15s;}
.alert-call:hover{background:#2e3d80;}
.alert-call-dismiss{background:#1a2550;border:1px solid #3a4d8a;border-radius:50%;width:16px;height:16px;font-size:10px;color:#8090c0;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.alert-call-dismiss:hover{background:#ef4444;color:white;border-color:#ef4444;}

/* PIPELINE BAR */
.pipeline-bar{display:flex;align-items:center;gap:8px;padding:8px 16px;background:var(--surface);border-bottom:1px solid var(--border);flex-shrink:0;}
.pipeline-btn{padding:4px 12px;border-radius:20px;font-size:12px;font-weight:500;cursor:pointer;border:1px solid var(--border2);background:var(--surface2);color:var(--text2);transition:all .15s;}
.pipeline-btn:hover{border-color:var(--accent);color:var(--text);}
.pipeline-btn.active{background:var(--accent);border-color:var(--accent);color:#fff;}
.view-toggle{display:flex;gap:4px;margin-left:auto;}
.view-btn{padding:4px 10px;border-radius:var(--radius-sm);border:1px solid var(--border);background:none;color:var(--text3);cursor:pointer;font-size:12px;transition:all .15s;}
.view-btn.active{background:var(--surface3);color:var(--text);border-color:var(--border2);}

/* BOARD */
.board{display:flex;gap:9px;padding:12px 16px;overflow-x:auto;overflow-y:hidden;flex:1;align-items:flex-start;}
.board::-webkit-scrollbar{height:5px;}
.board::-webkit-scrollbar-thumb{background:var(--border2);border-radius:3px;}

/* COLUMN */
.col{min-width:218px;max-width:218px;display:flex;flex-direction:column;background:var(--surface);border-radius:var(--radius);border:1px solid var(--border);max-height:100%;}
.col-head{padding:9px 10px 7px;border-bottom:1px solid var(--border);flex-shrink:0;}
.col-title-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:3px;}
.col-title{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.6px;color:var(--text2);}
.col-count{background:var(--surface3);border-radius:20px;padding:1px 6px;font-size:10px;color:var(--text3);font-family:'DM Mono',monospace;}
.col-value{font-size:10.5px;color:var(--text3);font-family:'DM Mono',monospace;}
.col-stripe{height:2px;border-radius:1px;margin-top:5px;}
.col-cards{overflow-y:auto;padding:7px;display:flex;flex-direction:column;gap:5px;flex:1;}
.batch-group{border:1px solid rgba(99,102,241,.3);border-radius:6px;margin-bottom:6px;overflow:visible;}
.batch-header{display:flex;align-items:center;gap:5px;padding:4px 7px;background:rgba(99,102,241,.1);border-radius:5px 5px 0 0;border-bottom:1px solid rgba(99,102,241,.2);}
.batch-name{font-size:10px;font-weight:700;color:#818cf8;flex:1;cursor:pointer;outline:none;background:none;border:none;font-family:'DM Sans',sans-serif;padding:0;}
.batch-name:focus{background:var(--surface2);border-radius:3px;padding:1px 4px;}
.batch-cards{padding:6px;display:flex;flex-direction:column;gap:4px;min-height:80px;}
.batch-cards.batch-drop-target{border:2px dashed rgba(99,102,241,.7);border-radius:4px;background:rgba(99,102,241,.08);}
.batch-drop-target{border:2px dashed rgba(99,102,241,.4);border-radius:4px;}
.col-cards::-webkit-scrollbar{width:3px;}
.col-cards::-webkit-scrollbar-thumb{background:var(--border);border-radius:2px;}
.col-expand-btn{padding:6px;text-align:center;font-size:11px;color:var(--text3);cursor:pointer;border-top:1px solid var(--border);}
.col-expand-btn:hover{color:var(--text2);}

/* CARD */
.card{background:var(--surface2);border:1px solid var(--border);border-radius:var(--radius-sm);padding:9px;cursor:pointer;transition:all .15s;position:relative;}
.card:hover{border-color:var(--accent);background:var(--surface3);transform:translateY(-1px);box-shadow:0 4px 12px rgba(0,0,0,.3);}
.card.has-task-overdue{border-color:rgba(239,68,68,.6);box-shadow:0 0 0 2px rgba(239,68,68,.2);}
.card.has-task-overdue:hover{border-color:var(--red);box-shadow:0 0 0 3px rgba(239,68,68,.3);}
.card.has-task-today{border-color:rgba(249,115,22,.6);box-shadow:0 0 0 2px rgba(249,115,22,.2);}
.card.has-task-today:hover{border-color:var(--orange);box-shadow:0 0 0 3px rgba(249,115,22,.3);}
.card.has-task-upcoming{border-color:rgba(20,184,166,.5);box-shadow:0 0 0 2px rgba(20,184,166,.15);}
.card.has-task-upcoming:hover{border-color:var(--teal);box-shadow:0 0 0 3px rgba(20,184,166,.25);}
.card-company{font-size:9.5px;font-weight:700;text-transform:uppercase;letter-spacing:.8px;color:var(--accent);margin-bottom:2px;}
.card-name{font-size:12.5px;font-weight:600;color:var(--text);margin-bottom:5px;padding-right:12px;line-height:1.3;}
.card-meta{display:flex;flex-direction:column;gap:3px;}
.card-row{display:flex;align-items:center;gap:4px;font-size:11px;color:var(--text2);}
.card-row .icon{color:var(--text3);font-size:10px;width:11px;}
.card-tags{display:flex;flex-wrap:wrap;gap:3px;margin-top:6px;}
.tag{font-size:10px;padding:2px 6px;border-radius:10px;font-weight:500;}
.tag-paid{background:rgba(34,197,94,.15);color:#4ade80;border:1px solid rgba(34,197,94,.25);}
.tag-deposit{background:rgba(245,158,11,.15);color:#fbbf24;border:1px solid rgba(245,158,11,.25);}
.tag-unpaid{background:rgba(239,68,68,.15);color:#f87171;border:1px solid rgba(239,68,68,.25);}
.tag-shuttle{background:rgba(168,85,247,.15);color:#c084fc;border:1px solid rgba(168,85,247,.25);}
.tag-source{background:rgba(79,124,255,.12);color:#7ba4ff;border:1px solid rgba(79,124,255,.2);}
.tag-label-current{background:rgba(239,68,68,.15);color:#f87171;border:1px solid rgba(239,68,68,.25);}
.tag-label-next{background:rgba(245,158,11,.15);color:#fbbf24;border:1px solid rgba(245,158,11,.25);}
.tag-label-later{background:rgba(79,124,255,.15);color:#7ba4ff;border:1px solid rgba(79,124,255,.2);}

/* BREADCRUMB on hover */
.card-breadcrumb{display:none;position:absolute;top:-36px;left:0;right:0;background:var(--surface3);border:1px solid var(--border2);border-radius:6px;padding:5px 8px;z-index:10;white-space:nowrap;overflow:hidden;}
.card:hover .card-breadcrumb{display:flex;gap:0;align-items:center;}
.bc-step{font-size:9px;color:var(--text3);padding:0 3px;}
.bc-step.current{color:var(--accent);font-weight:600;}
.bc-sep{font-size:8px;color:var(--text3);}

/* STAGE PROGRESS BAR (modal) */
.stage-progress{display:flex;align-items:stretch;overflow:hidden;border-radius:6px;border:1px solid var(--border);margin-bottom:14px;flex-wrap:nowrap;}
.sp-step{flex:1;padding:6px 4px;text-align:center;font-size:9.5px;font-weight:500;color:var(--text3);cursor:pointer;position:relative;background:var(--surface2);border-right:1px solid var(--border);transition:all .15s;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.3;}
.sp-step:last-child{border-right:none;}
.sp-step:hover{background:var(--surface3);color:var(--text2);}
.sp-step.done{background:rgba(34,197,94,.1);color:#4ade80;}
.sp-step.current{background:var(--accent);color:white;font-weight:600;}
.sp-step.won-step{background:rgba(34,197,94,.15);color:#4ade80;}
.sp-step.lost-step{background:rgba(239,68,68,.15);color:#f87171;}
.sp-step.won-step.current{background:#16a34a;color:white;}
.sp-step.lost-step.current{background:#dc2626;color:white;}
.stage-dropdown{width:100%;background:var(--surface2);border:1px solid var(--border);border-radius:var(--radius-sm);padding:7px 10px;font-size:13px;color:var(--text);font-family:'DM Sans',sans-serif;outline:none;margin-bottom:8px;}
.stage-dropdown:focus{border-color:var(--accent);}

/* MODAL */
.modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,.72);backdrop-filter:blur(4px);z-index:100;display:none;align-items:center;justify-content:center;}
.modal-overlay.open{display:flex;}
.modal{background:var(--surface);border:1px solid var(--border2);border-radius:14px;width:820px;max-width:96vw;max-height:92vh;overflow:hidden;box-shadow:0 24px 80px rgba(0,0,0,.6);display:flex;flex-direction:column;}
.modal-header{display:flex;align-items:flex-start;justify-content:space-between;padding:18px 22px 14px;border-bottom:1px solid var(--border);position:sticky;top:0;background:var(--surface);z-index:1;}
.modal-title-area{flex:1;}
.modal-company-input{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.8px;color:var(--accent);background:none;border:none;outline:none;width:100%;font-family:'DM Sans',sans-serif;margin-bottom:4px;}
.modal-company-input::placeholder{color:var(--text3);text-transform:none;font-weight:400;}
.modal-title-input{font-size:17px;font-weight:600;background:none;border:none;outline:none;color:var(--text);width:100%;font-family:'DM Sans',sans-serif;}
.modal-title-input::placeholder{color:var(--text3);}
.modal-subtitle{font-size:11px;color:var(--text3);margin-top:3px;}
.modal-header-actions{display:flex;align-items:center;gap:6px;margin-left:12px;}
.modal-close{background:var(--surface3);border:none;color:var(--text2);width:28px;height:28px;border-radius:6px;cursor:pointer;font-size:16px;display:flex;align-items:center;justify-content:center;}
.modal-close:hover{background:var(--border2);color:var(--text);}
.modal-body{padding:18px 22px;flex:1;overflow-y:auto;overflow-x:hidden;}
.rail-btn{display:flex;flex-direction:column;align-items:center;gap:3px;padding:8px 4px;cursor:pointer;border-radius:0 6px 6px 0;margin:1px 3px 1px 0;transition:background .12s;border-left:2px solid transparent;}
.rail-btn:hover{background:var(--surface3);}
.rail-btn.rb-active{background:rgba(79,124,255,.15);border-left-color:#4f7cff;}
.rb-icon{font-size:15px;line-height:1;display:block;text-align:center;}
.rb-label{font-size:9px;color:var(--text3);text-align:center;line-height:1.2;letter-spacing:.2px;}
.rail-btn.rb-active .rb-label{color:#4f7cff;}
.modal-section{margin-bottom:4px;border:1px solid var(--border);border-radius:var(--radius-sm);overflow:hidden;}
.modal-section-title{font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.8px;color:#60a5fa;padding:9px 14px;display:flex;align-items:center;gap:6px;cursor:pointer;user-select:none;background:var(--surface2);transition:background .15s;}
.modal-section-title:hover{background:var(--surface3);}
.modal-section-title .sec-chevron{margin-left:auto;font-size:10px;transition:transform .2s;color:#60a5fa;}
.modal-section-title .sec-filled{display:inline-block;width:7px;height:7px;border-radius:50%;background:#60a5fa;margin-right:6px;vertical-align:middle;flex-shrink:0;}
.modal-section-title.collapsed .sec-chevron{transform:rotate(-90deg);}
.modal-section-body{padding:12px 14px;}
.modal-section-body.collapsed{display:none;}
.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px;}
.field{display:flex;flex-direction:column;gap:3px;}
.field-label{font-size:11px;color:var(--text3);font-weight:500;}
.field input,.field select,.field textarea{background:var(--surface2);border:1px solid var(--border);border-radius:var(--radius-sm);padding:7px 9px;font-size:12.5px;color:var(--text);font-family:'DM Sans',sans-serif;transition:border-color .15s;outline:none;}
.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--accent);}
.pack-field-filled{border-color:#60a5fa !important;box-shadow:0 0 0 3px rgba(96,165,250,.15) !important;background:rgba(96,165,250,.05) !important;}
.field textarea{resize:vertical;min-height:140px;}
.field select option{background:var(--surface2);}
.field-full{grid-column:1/-1;}
.field-note{font-size:10px;color:var(--text3);margin-top:2px;}
.add-more-link{font-size:11px;color:var(--accent);cursor:pointer;margin-top:4px;display:inline-block;}
.add-more-link:hover{color:var(--text2);}
.extra-contact-fields{display:none;margin-top:8px;}
.char-count{font-size:10px;color:var(--text3);text-align:right;margin-top:2px;}

/* PAYMENT */
.payment-selector{display:flex;gap:5px;}
.payment-opt{flex:1;padding:7px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface2);color:var(--text2);font-size:12px;font-weight:500;cursor:pointer;text-align:center;transition:all .15s;}
.payment-opt.active-paid{background:rgba(34,197,94,.15);border-color:#22c55e;color:#4ade80;}
.payment-opt.active-deposit{background:rgba(245,158,11,.15);border-color:#f59e0b;color:#fbbf24;}
.payment-opt.active-unpaid{background:rgba(239,68,68,.15);border-color:#ef4444;color:#f87171;}

/* TOGGLES */
.toggle-row{display:flex;gap:6px;flex-wrap:wrap;}
.toggle-opt{padding:5px 11px;border-radius:20px;border:1px solid var(--border);background:var(--surface2);color:var(--text2);font-size:12px;cursor:pointer;transition:all .15s;}
.toggle-opt:hover{border-color:var(--border2);color:var(--text);}
.toggle-opt.active{background:rgba(79,124,255,.15);border-color:var(--accent);color:#7ba4ff;}

/* SHUTTLE SECTION */
.shuttle-section{background:var(--surface2);border:1px solid var(--border);border-radius:var(--radius-sm);padding:10px;margin-top:6px;}
.shuttle-section-title{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--text3);margin-bottom:6px;}

/* FLAGS */
.flag-row{display:flex;gap:6px;flex-wrap:wrap;}
.lf-btn{font-size:11px;font-weight:600;padding:4px 10px;border-radius:20px;border:1px solid var(--border2);background:var(--surface2);color:var(--text3);cursor:pointer;white-space:nowrap;transition:all .15s;font-family:'DM Sans',sans-serif;}
.lf-btn:hover{border-color:var(--accent);color:var(--accent);}
.lf-btn.active{background:var(--accent);color:#fff;border-color:var(--accent);}
.sortable-th{position:relative;cursor:pointer;user-select:none;transition:color .15s;padding-right:18px !important;}
.sortable-th:hover{color:var(--accent);}
.sortable-th .sort-arrow{font-size:9px;color:var(--text3);opacity:.45;margin-left:3px;pointer-events:none;}
.sortable-th:hover .sort-arrow{opacity:.85;color:var(--accent);}
.sortable-th .sort-arrow.active{opacity:1;color:var(--accent);}
.pq-card{border:1px solid var(--border);border-radius:var(--radius-sm);overflow:visible;transition:border-color .2s,box-shadow .2s;}
.pq-card.winner{border-color:#22c55e;box-shadow:0 0 0 2px rgba(34,197,94,.2);}
.pq-card-head{display:flex;align-items:center;gap:8px;padding:8px 10px;background:var(--surface3);}
.pq-card.winner .pq-card-head{background:rgba(34,197,94,.1);}
.pq-card-name{font-size:12px;font-weight:700;color:var(--text);flex:1;}
.pq-select-btn{font-size:11px;font-weight:700;padding:4px 10px;border-radius:20px;border:1px solid var(--border2);background:var(--surface2);color:var(--text3);cursor:pointer;white-space:nowrap;transition:all .15s;}
.pq-card.winner .pq-select-btn{background:#22c55e;color:#fff;border-color:#22c55e;}
.pq-remove-btn{font-size:14px;color:var(--text3);cursor:pointer;padding:0 4px;line-height:1;}
.pq-remove-btn:hover{color:var(--red);}
.pq-body{padding:8px 10px;display:flex;flex-direction:column;gap:8px;}
.pq-card.winner .pq-our-quote{display:flex;flex-direction:column;gap:4px;}
.pq-our-quote{display:none;}
.pq-our-quote-label{font-size:10px;font-weight:700;color:#22c55e;text-transform:uppercase;letter-spacing:.5px;border-top:1px solid rgba(34,197,94,.3);padding-top:8px;}
.flag-opt{padding:4px 10px;border-radius:20px;border:1px solid var(--border);background:var(--surface2);color:var(--text2);font-size:11.5px;cursor:pointer;transition:all .15s;}
.flag-opt:hover{border-color:var(--border2);}
.flag-opt.active{background:rgba(34,197,94,.12);border-color:#22c55e;color:#4ade80;}

/* FILES */
.file-item{display:flex;align-items:center;gap:7px;background:var(--surface2);border:1px solid var(--border);border-radius:var(--radius-sm);padding:6px 9px;font-size:12px;color:var(--text2);margin-bottom:5px;}
.file-item a{color:var(--accent);text-decoration:none;flex:1;}

/* MODAL FOOTER */
.modal-footer{padding:12px 22px;border-top:1px solid var(--border);display:flex;gap:7px;justify-content:flex-end;position:sticky;bottom:0;background:var(--surface);}
.btn{padding:7px 16px;border-radius:var(--radius-sm);font-size:12.5px;font-weight:500;cursor:pointer;transition:all .15s;border:none;font-family:'DM Sans',sans-serif;}
.btn-primary{background:var(--accent);color:white;}
.btn-primary:hover{background:var(--accent2);}
.btn-secondary{background:var(--surface3);color:var(--text2);border:1px solid var(--border);}
.btn-secondary:hover{color:var(--text);border-color:var(--border2);}
.btn-danger{background:rgba(239,68,68,.12);color:#f87171;border:1px solid rgba(239,68,68,.25);}
.btn-danger:hover{background:rgba(239,68,68,.22);}
.btn-print{background:rgba(34,197,94,.12);color:#4ade80;border:1px solid rgba(34,197,94,.25);}
.btn-print:hover{background:rgba(34,197,94,.22);}
.btn-review{background:rgba(245,158,11,.12);color:#fbbf24;border:1px solid rgba(245,158,11,.25);}
.btn-review:hover{background:rgba(245,158,11,.22);}

/* LEADS */
.leads-view{flex:1;overflow-y:auto;padding:14px 16px;}
.leads-table{width:max-content;min-width:100%;border-collapse:collapse;font-size:12.5px;table-layout:fixed;}
.leads-table col, .leads-table th{ box-sizing:border-box; }
.leads-table th{text-align:left;padding:7px 10px;font-size:10.5px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--text3);border-bottom:1px solid var(--border);cursor:pointer;}
.leads-table td{padding:8px 10px;border-bottom:1px solid var(--border);color:var(--text2);vertical-align:middle;}
.leads-table tr:hover td{background:var(--surface2);}
.next-today{color:#4ade80;font-weight:500;}
.next-tomorrow{color:var(--text2);}
.next-overdue{color:#f87171;font-weight:500;}
.qualify-btn{background:rgba(79,124,255,.15);border:1px solid rgba(79,124,255,.3);color:#7ba4ff;padding:3px 9px;border-radius:20px;font-size:11px;cursor:pointer;font-family:'DM Sans',sans-serif;}
.qualify-btn:hover{background:rgba(79,124,255,.25);}
.lose-lead-btn{background:rgba(239,68,68,.12);border:1px solid rgba(239,68,68,.25);color:#f87171;padding:3px 9px;border-radius:20px;font-size:11px;cursor:pointer;font-family:'DM Sans',sans-serif;}
.lose-lead-btn:hover{background:rgba(239,68,68,.22);}

/* LIST VIEW */
.list-table{width:max-content;min-width:100%;border-collapse:collapse;font-size:12px;table-layout:fixed;}
.list-table col, .list-table th{ box-sizing:border-box; }
.list-table th{text-align:left;padding:7px 4px 7px 9px;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--text3);border-bottom:1px solid var(--border);white-space:nowrap;overflow:hidden;position:relative;}
.list-table td{padding:7px 9px;border-bottom:1px solid var(--border);color:var(--text2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:0;}
.list-table tr:hover td{background:var(--surface2);cursor:pointer;}
.list-table td:first-child{font-family:'DM Mono',monospace;}
.list-table td.client-col{color:var(--text);font-weight:600;font-family:'DM Sans',sans-serif;}
.col-resizer{display:none;}
.access-chip{font-size:11px;padding:3px 8px;border-radius:12px;border:1px solid var(--border2);background:var(--surface2);color:var(--text3);cursor:pointer;transition:all .15s;user-select:none;white-space:nowrap;}
.access-chip:hover{border-color:var(--accent);color:var(--text);}
.access-chip.active{background:rgba(96,165,250,.15);border-color:#60a5fa;color:#60a5fa;}
.task-item{display:flex;align-items:flex-start;gap:8px;padding:10px 10px;border-bottom:1px solid var(--border);transition:background .15s;}
.task-item:hover{background:var(--surface3);}
.task-item.overdue .task-due{color:#ef4444;font-weight:700;}
.task-item.due-today .task-due{color:#f59e0b;font-weight:700;}
.task-tick{width:18px;height:18px;border-radius:50%;border:2px solid var(--border2);cursor:pointer;flex-shrink:0;display:flex;align-items:center;justify-content:center;transition:all .15s;margin-top:1px;}
.task-tick:hover{border-color:#22c55e;}
.task-tick.done{background:#22c55e;border-color:#22c55e;color:#fff;}
.task-cat{font-size:16px;flex-shrink:0;}
.task-body{flex:1;min-width:0;}
.task-title{font-size:14px;color:var(--text);font-weight:600;}
.task-meta{font-size:12px;color:var(--text3);margin-top:3px;}
.task-due{font-size:12px;color:var(--text3);}
.mention-item{display:flex;align-items:flex-start;gap:8px;padding:8px 10px;border-bottom:1px solid var(--border);cursor:pointer;transition:background .15s;}
.mention-item:hover{background:var(--surface3);}
.mention-item.unread{border-left:3px solid var(--accent);}
.mention-badge{background:#ef4444;color:#fff;border-radius:10px;padding:1px 6px;font-size:10px;font-weight:700;}


/* WON/LOST collapsed */
.wl-month-group{margin-bottom:8px;}
.wl-month-label{font-size:10px;font-weight:600;color:var(--text3);text-transform:uppercase;letter-spacing:.5px;padding:3px 0;border-bottom:1px solid var(--border);margin-bottom:4px;}

/* REVIEW CARD STYLE */
.col-review .col-stripe{background:#f59e0b;}
.col-issues .col-head{background:rgba(239,68,68,.08);}
.col-review .col-title{color:#fbbf24;}

/* PRINT */
.print-sheet{display:none;padding:28px;font-family:Arial,sans-serif;color:#000;background:white;}
@media print{body>*:not(#printArea){display:none!important;}#printArea{display:block!important;}}

/* SCROLLBARS */
::-webkit-scrollbar{width:4px;height:4px;}
::-webkit-scrollbar-track{background:transparent;}
::-webkit-scrollbar-thumb{background:var(--border2);border-radius:3px;}

.drag-over .col-cards{background:rgba(79,124,255,.07);border-radius:6px;}

/* ── CALENDAR ──────────────────────────────────────── */
.cal-table{border-collapse:collapse;width:100%;min-width:700px;table-layout:fixed;}
.cal-table th{background:var(--surface2);border:1px solid var(--border);padding:6px 4px;font-size:11px;font-weight:600;text-align:center;color:var(--text2);position:sticky;top:0;z-index:2;}
.cal-table th.cal-today-hdr{background:rgba(79,124,255,.18);color:#93c5fd;}
.cal-table td{border:1px solid var(--border);vertical-align:top;padding:0;position:relative;}
.cal-table td.cal-today-col{background:rgba(79,124,255,.05);}
.cal-table th.cal-weekend-hdr{background:rgba(148,163,184,.15);color:var(--text2);}
.cal-table td.cal-weekend-col{background:rgba(148,163,184,.06);}
.cal-client-col{width:180px;min-width:180px;background:var(--surface2);padding:7px 10px;vertical-align:top;cursor:pointer;border-right:2px solid var(--border2) !important;}
.cal-client-col:hover{background:var(--surface3);}
.cal-card-tip{position:fixed;z-index:9999;width:230px;pointer-events:none;opacity:0;transition:opacity .15s;filter:drop-shadow(0 6px 18px rgba(0,0,0,.5));}
.cal-card-tip.visible{opacity:1;}
.cal-client-name{font-size:12px;font-weight:600;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.cal-client-sub{font-size:10.5px;color:var(--text2);margin-top:1px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.cal-client-access{font-size:10px;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.cal-bar-collect{height:28px;border-radius:6px 0 0 6px;display:flex;align-items:center;padding:0 6px;font-size:11px;font-weight:700;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.cal-bar-deliver{height:28px;border-radius:0 6px 6px 0;display:flex;align-items:center;padding:0 6px;font-size:11px;font-weight:700;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;justify-content:flex-end;}
.cal-bar-same{height:28px;border-radius:6px;display:flex;align-items:center;padding:0 6px;font-size:11px;font-weight:700;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.cal-subjob{height:20px;border-radius:4px;border-left:3px solid #ff1493;background:rgba(255,20,147,.18);display:flex;align-items:center;padding:0 5px;font-size:10px;font-weight:500;color:#ff69b4;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer;margin-top:2px;position:relative;}
.cal-subjob:hover{background:rgba(255,20,147,.3);}
.cal-add-job{height:18px;border-radius:4px;border:1px dashed rgba(255,20,147,.4);background:transparent;display:flex;align-items:center;justify-content:center;font-size:10px;color:rgba(255,20,147,.5);cursor:pointer;margin-top:2px;opacity:0;}
.cal-day-cell:hover .cal-add-job{opacity:1;}
.cal-add-job:hover{background:rgba(255,20,147,.1);color:#ff69b4;border-color:#ff1493;}
.cal-subjob-tip{position:fixed;background:#1e2333;border:1px solid #2a3045;border-radius:8px;padding:9px 12px;font-size:11px;color:#e8eaf2;z-index:9999;min-width:180px;max-width:260px;pointer-events:none;box-shadow:0 4px 20px rgba(0,0,0,.5);}
#calSubjobModal{position:fixed;inset:0;background:rgba(0,0,0,.55);z-index:9998;display:none;align-items:center;justify-content:center;}
#calSubjobModal .csm-box{background:var(--surface);border:1px solid var(--border2);border-radius:12px;padding:20px;width:340px;box-shadow:0 24px 60px rgba(0,0,0,.5);}
.cal-bar-transit{height:28px;display:flex;align-items:center;justify-content:center;}
.cal-bar-transit-inner{height:6px;width:100%;border-radius:0;}
.cal-day-cell{height:34px;padding:3px 2px;box-sizing:border-box;}
/* Client autocomplete (repeat-customer recall) */
.ac-dropdown{position:fixed;z-index:2147483646;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);max-height:240px;overflow-y:auto;box-shadow:0 10px 28px rgba(0,0,0,.45);}
.ac-item{padding:7px 10px;font-size:12px;color:var(--text);cursor:pointer;border-bottom:1px solid var(--border);display:flex;flex-direction:column;gap:1px;}
.ac-item:last-child{border-bottom:none;}
.ac-item:hover,.ac-item.active{background:var(--surface2);}
.ac-item .ac-name{font-weight:600;}
.ac-item .ac-sub{font-size:10.5px;color:var(--text3);}
.ac-item mark{background:transparent;color:var(--accent);font-weight:700;}
/* Console Commands */
.cmd-card{background:var(--surface2);border:1px solid var(--border);border-radius:8px;padding:14px 16px;display:flex;align-items:center;justify-content:space-between;gap:14px;}
.cmd-card-title{font-weight:700;color:var(--text);font-size:14px;cursor:help;display:inline-flex;align-items:center;gap:7px;}
.cmd-card-title .cmd-info{font-size:10px;color:var(--text3);font-weight:600;border:1px solid var(--border);border-radius:10px;padding:1px 7px;cursor:help;}
.cmd-card-actions{display:flex;gap:8px;flex-shrink:0;}
.cmd-btn{background:var(--surface3);border:1px solid var(--border);color:var(--text);border-radius:var(--radius-sm);padding:7px 13px;font-size:12px;cursor:pointer;font-family:'DM Sans',sans-serif;white-space:nowrap;}
.cmd-btn:hover{background:var(--accent);color:#fff;border-color:var(--accent);}
/* Presence banner — deliberately loud; this is the one message that should
   interrupt someone before they start typing over a colleague's work. */
@keyframes presencePulse{
  0%,100%{ background:rgba(245,158,11,.22); border-color:rgba(245,158,11,.6); }
  50%{ background:rgba(245,158,11,.55); border-color:rgba(245,158,11,1); }
}
#presenceBanner.pulse{
  animation:presencePulse 1s ease-in-out infinite;
  font-weight:700;
  color:#1a1200;
}
