﻿.name-column-wrap {
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.name-row-top {
  display: flex;
  align-items: center;
  gap: 6px;
  flex-wrap: wrap;
  line-height: 1.2;
  margin-bottom: 2px;
}
:root{
  --bg:#f4f7f9;
  --surface:#ffffff;--surface2:#f1f5f9;--surface-blur:rgba(255,255,255,.8);
  --border:#e2e8f0;--border-l:rgba(0,0,0,0.04);
  --tp:#0f172a;--ts:#64748b;--tt:#94a3b8;
  --brand:#0066CC;--brand-l:#EBF4FF;--brand-h:#0055A5;
  --success:#10b981;--success-l:#ecfdf5;
  --warn:#f59e0b;--warn-l:#fffbeb;
  --danger:#ef4444;--danger-l:#fef2f2;
  --teal:#06b6d4;--teal-l:#ecfeff;
  --purple:#8b5cf6;--purple-l:#f5f3ff;
  --rose:#78716c;--rose-l:#F5F0EE;
  --sb:250px;
  --r:10px;--r2:16px;--r3:24px;
  --sh:0 4px 20px -4px rgba(0,0,0,0.03), 0 2px 8px -2px rgba(0,0,0,0.02); /* Bento 弥散阴影 */
  --sh2:0 12px 32px -4px rgba(0,0,0,0.06), 0 4px 12px -2px rgba(0,0,0,0.04);
  --ease:cubic-bezier(.16,1,.3,1);
  --spring:cubic-bezier(0.34, 1.56, 0.64, 1);
}
body.dark{
  --bg:#020617;--surface:#0f172a;--surface2:#1e293b;--surface-blur:rgba(15,23,42,.8);
  --border:#334155;--border-l:rgba(255,255,255,0.05);
  --tp:#f8fafc;--ts:#94a3b8;--tt:#64748b;
  --brand:#3b82f6;--brand-l:#1e3a8a;--brand-h:#60a5fa;
  --sh:0 4px 20px rgba(0,0,0,.4);--sh2:0 12px 32px rgba(0,0,0,.5);
}
*{box-sizing:border-box;margin:0;padding:0}
::-webkit-scrollbar { width: 6px; height: 6px; }
::-webkit-scrollbar-track { background: transparent; }
::-webkit-scrollbar-thumb { background: var(--border); border-radius: 3px; }
::-webkit-scrollbar-thumb:hover { background: var(--ts); }
body{font-family:'DM Sans',-apple-system,'PingFang SC','Microsoft YaHei',sans-serif;background:var(--bg);color:var(--tp);min-height:100vh;font-size:14px;-webkit-font-smoothing:antialiased;transition:background .3s,color .3s}
button{cursor:pointer;font-family:inherit;border:none}
input,select,textarea{font-family:inherit;outline:none}

#login-screen {
  position: fixed; inset: 0; z-index: 1000;
  display: flex; align-items: center; justify-content: center;
  background-color: #010309; overflow: hidden; perspective: 2000px;
}
.log-bg-blueprint {
  position: absolute; inset: -10px; z-index: 1; pointer-events: none;
  background-image: radial-gradient(rgba(255, 255, 255, 0.12) 1px, transparent 1px); background-size: 28px 28px;
  opacity: 0; animation: logFadeIn 2s 0.2s var(--ease) forwards;
}
#nexus-canvas { position: absolute; inset: 0; z-index: 2; pointer-events: auto; opacity: 0; animation: logFadeIn 2s 0.5s var(--ease) forwards; }
.log-core-glow {
  position: absolute; width: 800px; height: 800px; top: 50%; left: 50%; transform: translate(-50%, -50%);
  background: radial-gradient(circle, rgba(16, 185, 255, 0.15) 0%, transparent 65%);
  z-index: 3; pointer-events: none; opacity: 0; animation: logFadeIn 3s 0.8s var(--ease) forwards;
}
@keyframes logFadeIn { to { opacity: 1; } }

.log-command-center-frame {
  position: relative; z-index: 10; display: flex; align-items: center; justify-content: center;
  opacity: 0; animation: logFrameEntrance 1.2s 0.6s var(--ease) forwards;
}
@keyframes logFrameEntrance {
  from { opacity: 0; transform: scale(1.03) translateZ(-50px); }
  to { opacity: 1; transform: scale(1) translateZ(0); }
}
.log-corner-marker { position: absolute; width: 40px; height: 40px; border: 1.5px solid rgba(255, 255, 255, 0.08); pointer-events: none; transition: all 0.5s var(--ease); }
.log-command-center-frame:hover .log-corner-marker { border-color: rgba(16, 185, 255, 0.4); box-shadow: 0 0 12px rgba(16,185,255,0.2) inset; }
.log-corner-tl { top: -20px; left: -20px; border-right: none; border-bottom: none; border-radius: 4px 0 0 0; }
.log-corner-tr { top: -20px; right: -20px; border-left: none; border-bottom: none; border-radius: 0 4px 0 0; }
.log-corner-bl { bottom: -20px; left: -20px; border-right: none; border-top: none; border-radius: 0 0 0 4px; }
.log-corner-br { bottom: -20px; right: -20px; border-left: none; border-top: none; border-radius: 0 0 4px 0; }

.log-login-card {
  background: rgba(255, 255, 255, 0.95); backdrop-filter: blur(32px); -webkit-backdrop-filter: blur(32px);
  width: 440px; border-radius: 24px; padding: 48px 40px;
  box-shadow: 0 0 0 1px rgba(255,255,255,0.6) inset, 0 32px 80px rgba(0,0,0,0.6), 0 0 60px rgba(16, 185, 255, 0.12); 
  position: relative; overflow: hidden;
}
.log-login-card::before {
  content: ''; position: absolute; inset: 0; pointer-events: none;
  background: radial-gradient(800px circle at var(--mouse-x, 50%) var(--mouse-y, -50%), rgba(255, 255, 255, 0.6), transparent 40%);
  z-index: 20; mix-blend-mode: overlay; opacity: 0; transition: opacity 0.5s;
}
.log-login-card:hover::before { opacity: 1; }

.log-header { text-align: center; margin-bottom: 36px; display: flex; flex-direction: column; align-items: center; }
.log-logo-wrapper {
  position: relative; width: 70px; height: 70px; border-radius: 18px; margin-bottom: 22px; display: flex; align-items: center; justify-content: center;
  background: #fff; box-shadow: 0 8px 24px rgba(0,102,204,0.15);
}
.log-logo-wrapper::before {
  content: ''; position: absolute; inset: -2px; border-radius: 20px; background: conic-gradient(from 0deg, #10b9ff, #06b6d4, #0066CC, #10b9ff); z-index: -1; animation: logSpin 5s linear infinite;
}
.log-logo-inner { width: 100%; height: 100%; background: #fff; border-radius: 18px; display: flex; align-items: center; justify-content: center; overflow: hidden;}
.log-logo-inner img { width: 44px; height: auto; object-fit: contain; }
@keyframes logSpin { 100% { transform: rotate(360deg); } }

.log-title { font-size: 25px; font-weight: 800; letter-spacing: -0.6px; margin-bottom: 9px; color: #0f172a; }
.log-subtitle { font-size: 14px; color: #64748b; font-weight: 500; }

.log-user-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-bottom: 16px; }
.log-user-btn {
  display: flex; align-items: center; gap: 12px; padding: 13px 15px; background: #f8fafc; border: 1px solid #e2e8f0; border-radius: 12px;
  font-size: 14px; font-weight: 600; color: #0f172a; transition: all 0.25s var(--ease); position: relative; overflow: hidden;
  opacity: 0; animation: logCascadeUp 0.6s var(--ease) forwards;
}
.log-user-btn::before {
  content: ''; position: absolute; inset: 0; background: linear-gradient(110deg, transparent 30%, rgba(16,185,255,0.15) 50%, transparent 70%); transform: translateX(-100%); transition: transform 0.4s ease-out;
}
.log-user-btn:nth-child(1) { animation-delay: 1.0s; } .log-user-btn:nth-child(2) { animation-delay: 1.05s; } .log-user-btn:nth-child(3) { animation-delay: 1.1s; } .log-user-btn:nth-child(4) { animation-delay: 1.15s; } .log-user-btn:nth-child(5) { animation-delay: 1.2s; } .log-user-btn:nth-child(6) { animation-delay: 1.25s; } .log-user-btn:nth-child(7) { animation-delay: 1.3s; }
@keyframes logCascadeUp { from { opacity: 0; transform: translateY(15px); } to { opacity: 1; transform: translateY(0); } }
.log-user-btn:hover { border-color: rgba(16, 185, 255, 0.4); background: #ffffff; box-shadow: 0 4px 14px rgba(0,102,204,0.08); transform: translateY(-2px); }
.log-user-btn:hover::before { transform: translateX(100%); }
.log-user-btn:active { transform: translateY(0); }
.log-avatar { width: 32px; height: 32px; border-radius: 10px; background: #ffffff; border: 1px solid #e2e8f0; color: #64748b; display: flex; align-items: center; justify-content: center; font-size: 12px; font-weight: 700; transition:all 0.2s; }
.log-user-btn:hover .log-avatar { background: var(--brand); color: #fff; border-color: var(--brand); }
.log-btn-wide { grid-column: span 2; }

.log-divider { display: flex; align-items: center; text-align: center; margin: 24px 0; color: #94a3b8; font-size: 11px; text-transform: uppercase; letter-spacing: 1.2px; font-weight: 700; opacity: 0; animation: logCascadeUp 0.6s var(--ease) forwards; animation-delay: 1.4s; }
.log-divider::before, .log-divider::after { content: ''; flex: 1; border-bottom: 1.5px dashed #e2e8f0; } .log-divider::before { margin-right: 1.2em; } .log-divider::after { margin-left: 1.2em; }

.log-admin-btn { width: 100%; display: flex; align-items: center; justify-content: center; gap: 8px; padding: 15px; background: #0f172a; color: #fff; border-radius: 12px; font-size: 14px; font-weight: 600; transition: all 0.2s var(--ease); opacity: 0; animation: logCascadeUp 0.6s var(--ease) forwards; animation-delay: 1.5s; }
.log-admin-btn:hover { background: #000; box-shadow: 0 10px 28px rgba(0,0,0,0.4); transform: translateY(-2px); }
.log-footer { text-align: center; font-size: 12px; color: #94a3b8; margin-top: 36px; font-weight: 500; opacity: 0; animation: logCascadeUp 0.6s var(--ease) forwards; animation-delay: 1.6s;}

@media (max-width: 600px) {
  #login-screen { padding: 12px; }
  .log-core-glow { width: 100vw; height: 100vw; background: radial-gradient(circle, rgba(16, 185, 255, 0.12) 0%, transparent 60%); }
  .log-corner-marker { display: none; }
  .log-command-center-frame { animation: none; opacity: 1; width: 100%; }
  .log-login-card { padding: 36px 20px; border-radius: 20px; max-width: 100%; box-shadow: 0 16px 40px rgba(0,0,0,0.5), 0 0 30px rgba(16, 185, 255, 0.15); }
  .log-user-grid { grid-template-columns: 1fr; gap: 8px;} .log-btn-wide { grid-column: span 1; }
}
/* APP LAYOUT */
#app{display:flex;min-height:100vh}
/* MAIN */
.main-wrap{margin-left:var(--sb);flex:1;display:flex;flex-direction:column;height:100vh;overflow:hidden;min-width:0}
#main { flex:1; display:flex; flex-direction:column; overflow-y:auto; overflow-x:hidden; min-width:0; width:100%}
.topbar{height:72px;background:var(--surface);border-bottom:1px solid var(--border-l);display:flex;align-items:center;justify-content:space-between;padding:0 24px;position:sticky;top:0;z-index:40;width:100%}
.tb-left{min-width:0}
.tb-title{font-size:17px;font-weight:700;letter-spacing:-.3px}
.tb-sub{font-size:12px;color:var(--tt);margin-top:1px}
.tb-right{display:flex;align-items:center;gap:8px;flex-shrink:0}
.content{padding:22px 24px;min-width:0;width:100%}

/* BUTTONS */
.btn{display:inline-flex;align-items:center;gap:5px;padding:7px 14px;border-radius:var(--r);font-size:13px;font-weight:600;cursor:pointer;border:none;transition:all .2s var(--ease);font-family:inherit;line-height:1;white-space:nowrap}
.btn:active{transform:scale(.96)}
.bp{background:var(--brand);color:#fff;box-shadow:0 2px 8px rgba(0,102,204,.2)}.bp:hover{background:var(--brand-h)}
.bg{background:transparent;color:var(--ts);border:1px solid var(--border)}.bg:hover{background:var(--surface2);color:var(--tp)}
.ib{width:32px;height:32px;border-radius:var(--r);border:1px solid var(--border);background:transparent;color:var(--ts);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s;font-size:14px;flex-shrink:0}
.ib:hover{background:var(--surface2);color:var(--tp)}

/* FILTERS */
.fsec{background:var(--surface);border-radius:var(--r2);padding:14px 18px;margin-bottom:16px;box-shadow:var(--sh);border:1px solid var(--border-l)}
.frow{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.frow+.frow{margin-top:12px;padding-top:12px;border-top:1px solid var(--border-l)}
.sbox{display:flex;align-items:center;gap:7px;background:var(--bg);border:1px solid var(--border);border-radius:var(--r);padding:7px 11px;min-width:200px;flex:1;max-width:280px;transition:all .2s}
.sbox:focus-within{border-color:var(--brand);box-shadow:0 0 0 3px rgba(0,102,204,.1);background:var(--surface)}
.sbox input{border:none;background:transparent;font-size:13px;color:var(--tp);width:100%;outline:none;font-family:inherit}
.sbox input::placeholder{color:var(--tt)}
.fsel{background:var(--bg);border:1px solid var(--border);border-radius:var(--r);padding:7px 10px;font-size:12px;color:var(--ts);font-family:inherit;cursor:pointer;transition:all .15s}
.fsel:hover{border-color:var(--tt);color:var(--tp)}.fsel:focus{border-color:var(--brand);box-shadow:0 0 0 3px rgba(0,102,204,.1)}
.pill{padding:5px 13px;border-radius:20px;font-size:12px;font-weight:500;border:1px solid var(--border);background:var(--surface);color:var(--ts);cursor:pointer;transition:all .15s;white-space:nowrap}
.pill:hover{border-color:var(--brand);color:var(--brand)}.pill.on{border-color:var(--brand);background:var(--brand-l);color:var(--brand);font-weight:600}
.flbl{font-size:11px;font-weight:700;color:var(--tt);white-space:nowrap;flex-shrink:0}
.more-filter-btn{font-size:12px;color:var(--ts);cursor:pointer;padding:7px 12px;border-radius:var(--r);border:1px solid var(--border);background:transparent;font-family:inherit;transition:all .15s;white-space:nowrap}
.more-filter-btn:hover{border-color:var(--tt);color:var(--tp);background:var(--surface2)}
#adv-filters{display:none;gap:10px;flex-wrap:wrap;align-items:center;margin-top:12px;padding-top:12px;border-top:1px solid var(--border-l)}
#adv-filters.open{display:flex}

/* TABLE */
.tc{background:var(--surface);border-radius:var(--r2);box-shadow:0 2px 12px rgba(0,0,0,.03), 0 1px 3px rgba(0,0,0,.02);border:1px solid var(--border-l);overflow:hidden;display:flex;flex-direction:column}
.tc-head{padding:16px 20px;border-bottom:1px solid rgba(0,0,0,.03);display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap}
.tc-title{font-size:15px;font-weight:700;color:var(--tp);letter-spacing:-0.2px}
.tscroll{overflow-x:auto; min-height: 280px;}
tbody tr:nth-last-child(-n+3):nth-child(n+4) .more-dd-btn .dd { top: auto; bottom: calc(100% + 4px); box-shadow: 0 -4px 24px rgba(0,0,0,.15); }
table{width:100%;border-collapse:separate;border-spacing:0}
thead th{position:sticky;top:0;z-index:10;background:var(--surface);padding:14px 12px;text-align:left;font-size:11px;font-weight:600;color:var(--ts);letter-spacing:0.8px;text-transform:uppercase;border-bottom:1px solid rgba(0,0,0,.04);white-space:nowrap}
thead th:first-child{padding-left:24px}
tbody tr{transition:background .2s ease; border-bottom:1px solid transparent}
tbody tr:hover td{background:var(--surface2)}
tbody td{padding:12px 12px;border-bottom:1px solid rgba(0,0,0,.02);vertical-align:top;font-size:13px}
tbody td:first-child{padding-left:24px}
tbody tr:last-child td{border-bottom:none}
body.compact tbody td{padding:8px 12px}
body.compact tbody td:first-child{padding-left:24px}
/* BADGES */
.badge{display:inline-flex;align-items:center;gap:6px;padding:3px 10px;border-radius:12px;font-size:11px;font-weight:600;white-space:nowrap;background:var(--surface2);border:1px solid var(--border-l);color:var(--tp)}
.badge::before{content:'';width:6px;height:6px;border-radius:50%;flex-shrink:0;box-shadow:inset 0 0 0 1px rgba(0,0,0,.05)}
.s-潜在::before{background:var(--brand)}.s-意向::before{background:var(--warn)}
.s-成交::before{background:var(--success)}.s-流失::before{background:var(--ts)}
.s-垃圾::before{background:var(--danger)}.s-转交代理商::before{background:var(--teal)}
.s-::before{background:var(--border)}
.rating{width:20px;height:20px;border-radius:5px;display:inline-flex;align-items:center;justify-content:center;font-size:10px;font-weight:800;border:1px solid;flex-shrink:0}
.r-A{background:var(--warn-l);color:var(--warn);border-color:rgba(255,149,0,.3)}
.r-B{background:var(--brand-l);color:var(--brand);border-color:rgba(0,102,204,.2)}
.r-C{background:var(--teal-l);color:var(--teal);border-color:rgba(8,145,178,.2)}
.r-D{background:var(--rose-l);color:var(--rose);border-color:rgba(120,113,108,.25)}
.rs{width:40px;height:40px;border-radius:var(--r);display:flex;align-items:center;justify-content:center;font-size:15px;font-weight:800;border:1px solid var(--border);background:var(--surface2);color:var(--tt);cursor:pointer;transition:all .15s}
.rs:hover{border-color:var(--ts);color:var(--ts)}
.sel-A{background:var(--warn-l)!important;color:var(--warn)!important;border-color:rgba(255,149,0,.3)!important}
.sel-B{background:var(--brand-l)!important;color:var(--brand)!important;border-color:rgba(0,102,204,.2)!important}
.sel-C{background:var(--teal-l)!important;color:var(--teal)!important;border-color:rgba(8,145,178,.2)!important}
.sel-D{background:var(--rose-l)!important;color:var(--rose)!important;border-color:rgba(120,113,108,.25)!important}

/* CONTACT BTNS */
.wa-btn,.mail-btn{width:22px;height:22px;border-radius:5px;display:inline-flex;align-items:center;justify-content:center;font-size:11px;cursor:pointer;border:none;transition:all .15s;flex-shrink:0}
.wa-btn{background:var(--success-l);color:var(--success)}.wa-btn:hover{background:var(--success);color:#fff}
.mail-btn{background:var(--brand-l);color:var(--brand)}.mail-btn:hover{background:var(--brand);color:#fff}

/* ROW ACTIONS */
.acts{display:flex;gap:4px;align-items:center}
.ab{font-size:11px;padding:4px 9px;border-radius:6px;border:1px solid;white-space:nowrap;cursor:pointer;font-family:inherit;transition:all .12s;background:transparent}
.ag{color:var(--success);border-color:rgba(52,199,89,.3);background:var(--success-l)}.ag:hover{background:var(--success);color:#fff;border-color:var(--success)}
.ab2{color:var(--brand);border-color:rgba(0,102,204,.2);background:var(--brand-l)}.ab2:hover{background:var(--brand);color:#fff}
.ac{color:var(--ts);border-color:var(--border);background:var(--surface2)}.ac:hover{color:var(--tp);border-color:var(--ts)}
.ar{color:var(--danger);border-color:rgba(255,59,48,.2);background:var(--danger-l)}.ar:hover{background:var(--danger);color:#fff}
.more-dd-btn{width:26px;height:26px;border-radius:6px;border:1px solid var(--border);background:transparent;color:var(--ts);font-size:14px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:all .15s;position:relative;font-family:inherit;vertical-align:middle}
.more-dd-btn:hover{background:var(--surface2);color:var(--tp)}
.dd{position:absolute;right:0;top:calc(100% + 4px);background:var(--surface);border:1px solid var(--border);border-radius:var(--r2);box-shadow:var(--sh2);z-index:200;min-width:110px;overflow:hidden;display:none}
.dd.open{display:block}
.ddi{padding:8px 14px;font-size:12px;cursor:pointer;color:var(--ts);transition:background .1s;white-space:nowrap}
.ddi:hover{background:var(--surface2);color:var(--tp)}.ddi.danger{color:var(--danger)}.ddi.danger:hover{background:var(--danger-l)}

/* STAT CARDS */
.sc{background:var(--surface);border-radius:var(--r2);padding:18px 20px;box-shadow:var(--sh);border:1px solid var(--border-l);cursor:pointer;transition:all .25s var(--ease)}
.sc:hover{box-shadow:var(--sh2);transform:translateY(-2px)}
.sc-lbl{font-size:11px;font-weight:700;color:var(--tt);letter-spacing:.4px;text-transform:uppercase;margin-bottom:7px}
.sc-val{font-size:30px;font-weight:700;letter-spacing:-1px;line-height:1}
.sc.sm{padding:12px 14px}.sc.sm .sc-val{font-size:20px;letter-spacing:-.5px}.sc.sm .sc-lbl{font-size:9px;margin-bottom:4px}

/* CHARTS */
.cc{background:var(--surface);border-radius:var(--r2);padding:18px 20px;box-shadow:var(--sh);border:1px solid var(--border-l)}
.cc-title{font-size:11px;font-weight:700;color:var(--tt);letter-spacing:.4px;text-transform:uppercase;margin-bottom:12px;display:flex;justify-content:space-between;align-items:center}
.bar-chart{max-height:200px;overflow-y:auto;padding-right:2px}
.bar-chart::-webkit-scrollbar{width:3px}.bar-chart::-webkit-scrollbar-thumb{background:var(--border);border-radius:2px}
.bar-row{display:flex;align-items:center;gap:8px;margin-bottom:6px}
.bar-lbl{font-size:11px;color:var(--ts);width:90px;flex-shrink:0;text-align:right;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.bar-track{flex:1;height:5px;background:var(--border);border-radius:3px;overflow:hidden}
.bar-fill{height:100%;border-radius:3px;transition:width .6s var(--ease)}
.bar-val{font-size:11px;color:var(--tt);width:28px;font-family:monospace;text-align:right;flex-shrink:0}
.chart-wrap{position:relative;height:150px}
.dashboard-shell{padding-bottom:18px}
.dash-panel{background:var(--surface);border-radius:var(--r2);padding:18px 20px;box-shadow:var(--sh);border:1px solid var(--border-l)}
.dash-section-title{font-size:13px;font-weight:800;color:var(--tp);display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px}
.dash-section-sub{font-size:12px;color:var(--tt);font-weight:600}
.dash-metric{background:var(--surface);border-radius:var(--r2);padding:16px 18px;box-shadow:var(--sh);border:1px solid var(--border-l);cursor:pointer;transition:all .25s var(--ease);min-height:114px;display:flex;flex-direction:column;justify-content:space-between}
.dash-metric:hover{box-shadow:var(--sh2);transform:translateY(-2px);border-color:rgba(0,102,204,.18)}
.dash-metric-head{display:flex;align-items:center;justify-content:space-between;gap:10px}
.dash-metric-label{font-size:12px;font-weight:800;color:var(--ts)}
.dash-metric-icon{width:30px;height:30px;border-radius:10px;background:var(--brand-l);color:var(--brand);display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:800}
.dash-metric-value{font-size:32px;font-weight:800;letter-spacing:-.8px;line-height:1;color:var(--tp);margin-top:12px}
.dash-metric-foot{font-size:11px;color:var(--tt);font-weight:600;margin-top:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dash-mini-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:14px}
.dash-mini-card{background:var(--surface);border:1px solid var(--border-l);border-radius:16px;padding:12px 14px;box-shadow:var(--sh);cursor:pointer;transition:all .2s var(--ease)}
.dash-mini-card:hover{transform:translateY(-1px);box-shadow:var(--sh2)}
.dash-mini-label{font-size:11px;color:var(--tt);font-weight:800;margin-bottom:6px}
.dash-mini-value{font-size:21px;font-weight:800;color:var(--tp)}
.dash-layout{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(320px,.65fr);gap:14px;margin-top:14px}
.dash-main-stack{display:grid;gap:14px}
.dash-side-stack{display:grid;gap:14px;align-content:start}
.dash-dist-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.dash-dist-list{max-height:390px;overflow:auto;padding-right:2px}
.dash-dist-list.tall{max-height:460px}
.dash-dist-row{display:grid;grid-template-columns:minmax(92px,1fr) minmax(90px,1.5fr) 42px;align-items:center;gap:10px;padding:8px 0;border-bottom:1px solid var(--border-l);cursor:pointer}
.dash-dist-row:last-child{border-bottom:none}
.dash-dist-row:hover .dash-dist-name{color:var(--brand)}
.dash-dist-name{font-size:12px;font-weight:700;color:var(--ts);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.dash-dist-track{height:7px;background:var(--surface2);border-radius:999px;overflow:hidden}
.dash-dist-fill{height:100%;border-radius:999px;background:var(--brand);opacity:.72}
.dash-dist-val{font-size:12px;font-weight:800;color:var(--tp);text-align:right;font-variant-numeric:tabular-nums}
.dash-work-row{display:flex;align-items:center;gap:10px;padding:9px 0;border-bottom:1px solid var(--border-l);cursor:pointer}
.dash-work-row:last-child{border-bottom:none}
.dash-work-row:hover .pname{color:var(--brand)}
.dash-task-list{max-height:330px;overflow:auto}
.dash-task-item{display:flex;align-items:center;gap:9px;padding:10px 0;border-bottom:1px solid var(--border-l)}
.dash-task-item:last-child{border-bottom:none}
.dash-empty{padding:18px;text-align:center;color:var(--tt);font-size:13px;background:var(--surface2);border-radius:14px}
.perf-row{display:flex;align-items:center;gap:10px;padding:8px 0;border-bottom:1px solid var(--border-l)}
.perf-row:last-child{border-bottom:none}
.pav{width:24px;height:24px;border-radius:50%;background:var(--brand-l);color:var(--brand);font-size:9px;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.pname{font-size:13px;font-weight:600;flex:1}
.ptrack{height:4px;background:var(--border);border-radius:2px;overflow:hidden;width:80px;flex-shrink:0}
.pfill{height:100%;background:var(--success);border-radius:2px;transition:width .5s}
.pstat{font-size:11px;color:var(--ts);font-family:monospace;min-width:72px;text-align:right}
.adq-funnel{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}
.adq-step{border:1px solid var(--border-l);border-radius:16px;background:linear-gradient(180deg,var(--surface),var(--surface2));padding:13px 14px;cursor:pointer;position:relative;overflow:hidden;transition:all .2s var(--ease)}
.adq-step:hover{transform:translateY(-1px);box-shadow:var(--sh2);border-color:rgba(0,102,204,.18)}
.adq-step:after{content:'';position:absolute;left:14px;right:14px;bottom:0;height:4px;border-radius:999px;background:var(--brand);opacity:.65}
.adq-step-k{font-size:11px;color:var(--tt);font-weight:800;margin-bottom:9px}
.adq-step-v{font-size:24px;font-weight:800;color:var(--tp);line-height:1}
.adq-step-r{font-size:11px;color:var(--ts);font-weight:700;margin-top:8px}
.adq-notes{display:grid;gap:9px}
.adq-notes>div{font-size:12px;color:var(--ts);line-height:1.55;background:var(--surface2);border:1px solid var(--border-l);border-radius:12px;padding:10px 12px}
.adq-shell .dash-layout{grid-template-columns:minmax(0,1fr) minmax(340px,360px);align-items:start}
.adq-shell .dash-main-stack,.adq-shell .dash-side-stack,.adq-shell .dash-panel{min-width:0}
.adq-shell .dash-side-stack{width:100%;max-width:360px;justify-self:end}
.adq-shell .tscroll{max-width:100%;overflow-x:auto}
.adq-shell table{width:100%}

/* TASKS */
.task-row{background:var(--surface);border-radius:var(--r);padding:12px 16px;display:flex;align-items:center;gap:10px;border:1px solid var(--border-l);transition:all .15s;margin-bottom:3px}
.task-row:hover{border-color:var(--brand);box-shadow:var(--sh)}
.tinfo{flex:1;min-width:0}
.tname{font-size:13px;font-weight:600;display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-bottom:2px}
.tmeta{font-size:11px;color:var(--tt);margin-bottom:2px}
.tprev{font-size:12px;color:var(--ts);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:400px}
.tr-right{display:flex;align-items:center;gap:5px;flex-shrink:0}

/* DOTS */
.sdots{display:flex;gap:3px;align-items:center;margin-top:3px}
.dot{width:5px;height:5px;border-radius:50%;background:var(--border);flex-shrink:0}
.dot.done{background:var(--success)}.dot.cur{background:var(--warn)}
.nf-pend{color:var(--tt);font-size:12px}.nf-soon{color:var(--warn);font-size:12px;font-weight:600}
.nf-today{color:var(--danger);font-size:12px;font-weight:700}.nf-over{color:var(--danger);font-size:12px;font-weight:700}
.nf-done{color:var(--success);font-size:12px;font-weight:500}
.follow-state{display:inline-flex;align-items:center;gap:4px;padding:2px 7px;border-radius:999px;font-size:10px;font-weight:700;border:1px solid var(--border-l);background:var(--surface2);color:var(--ts);white-space:nowrap}
.follow-state.wait{color:var(--brand);background:var(--brand-l);border-color:rgba(0,102,204,.18)}
.follow-state.due{color:var(--warn);background:var(--warn-l);border-color:rgba(255,149,0,.22)}
.follow-state.over{color:var(--danger);background:var(--danger-l);border-color:rgba(255,59,48,.2)}
.follow-state.reply{color:var(--success);background:var(--success-l);border-color:rgba(52,199,89,.2)}
.follow-state.done{color:var(--success);background:var(--success-l);border-color:rgba(52,199,89,.2)}

/* MISC */
.dup-w{background:var(--warn-l);color:var(--warn);font-size:10px;padding:1px 5px;border-radius:4px;margin-left:3px;font-weight:600}
.sea-badge{background:var(--danger-l);color:var(--danger);font-size:10px;padding:1px 5px;border-radius:4px;margin-left:3px;font-weight:600}

/* EMPTY STATES */
.empty { display:flex; flex-direction:column; align-items:center; justify-content:center; padding:64px 20px; text-align:center; animation: dvFade .4s var(--ease); }
.empty-icon { width:64px; height:64px; border-radius:50%; background:var(--surface2); border:1px solid var(--border-l); color:var(--ts); display:flex; align-items:center; justify-content:center; font-size:24px; margin-bottom:16px; box-shadow: 0 8px 24px rgba(0,0,0,.02); }
.empty-ttl { font-size:14px; font-weight:600; color:var(--tp); margin-bottom:6px; letter-spacing:-0.2px; }

/* PAGE BAR */
.pbar{display:flex;align-items:center;gap:5px;padding:10px 20px;border-top:1px solid var(--border-l);flex-wrap:wrap}
.pinfo{font-size:12px;color:var(--tt);flex:1}
.pbtn{min-width:28px;height:28px;padding:0 6px;border-radius:6px;border:1px solid var(--border);background:transparent;display:flex;align-items:center;justify-content:center;font-size:12px;cursor:pointer;color:var(--ts);transition:all .12s;font-family:inherit}
.pbtn:hover{background:var(--surface2)}.pbtn.on{background:var(--brand);color:#fff;border-color:var(--brand)}
.pbtn:disabled{opacity:.4;cursor:not-allowed}

/* DRAWER */
.drawer-overlay{position:fixed;inset:0;background:rgba(0,0,0,.25);z-index:500;display:flex;justify-content:flex-end;animation:dvFade .25s var(--ease)}
.drawer { width: 480px; max-width: 95vw; background: var(--surface); box-shadow: -10px 0 40px rgba(0,0,0,.1); display: flex; flex-direction: column; height: 100%; animation: dvSlide .3s var(--ease); direction: ltr; text-align: left; }
@keyframes dvFade{from{opacity:0}to{opacity:1}}
@keyframes dvSlide{from{transform:translateX(100%)}to{transform:translateX(0)}}
.drawer-header { padding: 24px 56px 20px 28px; border-bottom: 1px solid var(--border); position: relative; flex-shrink: 0; }
.close-btn { position: absolute; top: 20px; right: 20px; background: var(--surface2); border: none; width: 32px; height: 32px; border-radius: 50%; color: var(--ts); font-size: 16px; cursor: pointer; transition: all 0.2s; display:flex; align-items:center; justify-content:center;}
.close-btn:hover { background: var(--border); color: var(--tp); }
.cus-title { font-size: 18px; font-weight: 700; color: var(--tp); display: flex; align-items: center; gap: 8px; margin-bottom: 6px; }
.cus-meta { font-size: 13px; color: var(--ts); display: flex; align-items: center; gap: 6px; flex-wrap: wrap; }
.drawer-body { flex: 1; overflow-y: auto; padding: 24px 28px; }
.drawer-body::-webkit-scrollbar { width: 6px; }
.drawer-body::-webkit-scrollbar-thumb { background: var(--border); border-radius: 4px; }
.drawer-body::-webkit-scrollbar-thumb:hover { background: var(--ts); }
.form-section { background: var(--surface); margin-bottom: 24px; }
.section-title { font-size: 13px; font-weight: 600; color: var(--tp); margin-bottom: 10px; display: flex; align-items: center; justify-content: space-between; }
.pills-group { display: flex; flex-wrap: wrap; gap: 8px; }
.pill { padding: 8px 16px; border-radius: 24px; font-size: 13px; font-weight: 500; border: 1px solid var(--border); background: var(--surface); color: var(--ts); cursor: pointer; transition: all 0.2s var(--ease); display: inline-flex; align-items: center; justify-content: center; gap: 4px; white-space: nowrap; }
.pill:hover { border-color: var(--brand); color: var(--brand); background: var(--surface2); }
.pill.active { border-color: var(--brand); background: var(--brand-l); color: var(--brand); font-weight: 600; box-shadow: 0 2px 8px rgba(0,102,204,0.1); }
.pill.q-good.active { border-color: var(--success); background: var(--success-l); color: var(--success); box-shadow: 0 2px 8px rgba(16,185,129,0.1); }
.pill.q-warn.active { border-color: var(--warn); background: var(--warn-l); color: var(--warn); box-shadow: 0 2px 8px rgba(245,158,11,0.1); }
.pill.q-bad.active { border-color: var(--danger); background: var(--danger-l); color: var(--danger); box-shadow: 0 2px 8px rgba(239,68,68,0.1); }
.date-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; background: var(--surface2); padding: 16px; border-radius: var(--r2); border: 1px solid var(--border); margin-bottom: 24px; }
.input-label { font-size: 12px; color: var(--ts); margin-bottom: 6px; display: block; font-weight: 500; }
.input-field { width: 100%; padding: 10px 12px; border-radius: var(--r); border: 1px solid var(--border); font-size: 14px; color: var(--tp); background: var(--surface); transition: all 0.2s; box-sizing: border-box; outline: none; font-family: inherit; }
.input-field:focus { border-color: var(--brand); box-shadow: 0 0 0 3px rgba(0,102,204,0.1); }
textarea.input-field { resize: vertical; min-height: 100px; line-height: 1.6; }
select.input-field { appearance: none; background-image: url('data:image/svg+xml;utf8,<svg width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="%239CA3AF" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M6 9l6 6 6-6"/></svg>'); background-repeat: no-repeat; background-position: right 12px center; padding-right: 32px; }
.drawer-footer { padding: 16px 28px; border-top: 1px solid var(--border); display: flex; align-items: center; justify-content: space-between; background: var(--surface); flex-shrink: 0; }
.btn-ghost { background: transparent; color: var(--ts); border: 1px solid var(--border); padding: 10px 20px; border-radius: var(--r); font-weight: 600; cursor: pointer; transition: all 0.2s; font-size: 14px; }
.btn-ghost:hover { background: var(--border-l); color: var(--tp); }
.btn-primary { background: var(--brand); color: #fff; border: none; padding: 10px 20px; border-radius: var(--r); font-weight: 600; cursor: pointer; transition: all 0.2s; box-shadow: 0 4px 12px rgba(0,102,204,0.2); font-size: 14px; }
.btn-primary:hover { background: var(--brand-h); transform: translateY(-1px); }
.btn-lt { background: var(--warn-l); color: #B45309; border: 1px solid rgba(245,158,11,0.3); display: flex; align-items: center; gap: 6px; padding: 10px 20px; border-radius: var(--r); font-weight: 600; cursor: pointer; transition: all 0.2s; font-size: 14px; }
.btn-lt:hover { background: #FDE68A; border-color: var(--warn); }
.checkbox-wrap { display: flex; align-items: center; gap: 8px; margin-top: 16px; padding: 12px 16px; background: var(--surface2); border-radius: var(--r); border: 1px solid var(--border); cursor: pointer; transition: background 0.2s; }
.checkbox-wrap:hover { background: var(--border-l); }
.checkbox-wrap input { width: 16px; height: 16px; accent-color: var(--brand); cursor: pointer; }
.checkin-type-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.checkin-type{padding:12px 10px;border:1px solid var(--border);border-radius:14px;background:var(--surface);text-align:left;color:var(--ts);transition:.18s}
.checkin-type b{display:block;color:var(--tp);font-size:13px;margin-bottom:4px}
.checkin-type span{font-size:11px;line-height:1.45}
.checkin-type.active{border-color:var(--brand);background:var(--brand-l);box-shadow:0 0 0 3px rgba(0,102,204,.08)}
.checkin-section{background:var(--surface);border:1px solid var(--border-l);border-radius:16px;padding:14px 16px;margin-bottom:14px}
.checkin-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px}
.checkin-title{font-size:13px;font-weight:800;color:var(--tp)}
.checkin-sub{font-size:12px;color:var(--tt);font-weight:500;margin-top:3px;line-height:1.45}
.checkin-edit-btn{border:1px solid rgba(0,102,204,.18);background:var(--brand-l);color:var(--brand);border-radius:10px;padding:6px 10px;font-size:12px;font-weight:800;white-space:nowrap}
#log-drawer .date-grid{margin-bottom:0;background:transparent;border:none;padding:0}
.checkin-source-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.checkin-source{padding:9px;border-radius:12px;background:var(--surface2);border:1px solid var(--border-l)}
.checkin-source-label{font-size:11px;color:var(--tt);font-weight:800;margin-bottom:4px}
.checkin-source-val{font-size:12px;color:var(--tp);font-weight:700;min-height:17px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.checkin-pill.multi.active:after{content:'✓';font-size:11px;margin-left:5px}
.rating-help{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-top:8px}
.rating-help div{padding:7px 8px;border-radius:10px;background:var(--surface2);color:var(--ts);font-size:11px;line-height:1.45}
.rating-help b{color:var(--tp);margin-right:4px}
.contact-state-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.contact-state{padding:10px;border:1px solid var(--border);border-radius:14px;background:var(--surface)}
.contact-state-title{font-weight:800;font-size:13px;margin-bottom:8px}
.mini-toggle{display:grid;grid-template-columns:1fr 1fr 1fr;gap:4px}
.mini-toggle button{padding:5px 4px;border-radius:8px;background:var(--surface2);color:var(--ts);font-size:11px;font-weight:800}
.mini-toggle button.active{background:var(--brand);color:#fff}
.mini-toggle button.bad.active{background:var(--danger)}
.auto-log-box{background:var(--surface2);border:1px solid var(--border-l);border-radius:14px;padding:12px;font-size:13px;line-height:1.7;color:var(--tp);white-space:pre-wrap}
.checkin-soft-note{margin-top:10px;font-size:12px;color:var(--ts);background:var(--surface2);border:1px solid var(--border-l);border-radius:10px;padding:8px 10px;line-height:1.55}
.hist-item{padding:10px 0;border-bottom:1px dashed var(--border-l);display:flex;align-items:flex-start;gap:8px}
.hist-item:last-child{border-bottom:none}
.hist-date{font-size:11px;color:var(--tt);white-space:nowrap;flex-shrink:0;padding-top:1px;width:36px}
.hist-content{flex:1;min-width:0}
.hist-stage{font-size:11px;color:var(--brand);font-weight:600;margin-bottom:2px}
.hist-text{font-size:12px;color:var(--ts);line-height:1.5;word-break:break-word}
.hist-acts{display:flex;gap:3px;flex-shrink:0;padding-top:1px}
.ha{font-size:10px;padding:2px 7px;border-radius:4px;cursor:pointer;border:1px solid var(--border);background:transparent;color:var(--tt);font-family:inherit;transition:all .12s}
.ha:hover{color:var(--tp);border-color:var(--ts)}.ha.del:hover{color:var(--danger);border-color:rgba(255,59,48,.3);background:var(--danger-l)}

/* MODAL */
.overlay{position:fixed;inset:0;background:rgba(0,0,0,.3);z-index:400;display:flex;align-items:center;justify-content:center;padding:16px;animation:dvFade .2s var(--ease)}
.modal{background:var(--surface);border-radius:var(--r3);width:100%;max-width:640px;max-height:88vh;display:flex;flex-direction:column;box-shadow:0 8px 40px rgba(0,0,0,.12);animation:dvModalIn .3s var(--ease)}
.modal.msm{max-width:460px}.modal.mlg{max-width:720px}
@keyframes dvModalIn{from{opacity:0;transform:scale(.96) translateY(8px)}to{opacity:1;transform:none}}
.modal-header{padding:18px 24px 0;flex-shrink:0}
.modal-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}
.modal-title{font-size:15px;font-weight:700}
.modal-close{width:28px;height:28px;border-radius:50%;border:none;background:var(--surface2);color:var(--ts);font-size:16px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s;flex-shrink:0}
.modal-close:hover{background:var(--border);color:var(--tp)}
.tabs{display:flex;border-bottom:1px solid var(--border-l);overflow-x:auto}
.tab{padding:9px 16px;font-size:13px;font-weight:500;color:var(--ts);cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px;transition:all .15s;white-space:nowrap}
.tab:hover{color:var(--tp)}.tab.on{color:var(--brand);border-bottom-color:var(--brand);font-weight:600}
.modal-body{flex:1;overflow-y:auto;padding:20px 24px}
.modal-body::-webkit-scrollbar{width:4px}.modal-body::-webkit-scrollbar-thumb{background:var(--border);border-radius:2px}
.tab-panel{display:none}.tab-panel.on{display:block;animation:dvFade .2s var(--ease)}
.modal-footer{padding:12px 24px;border-top:1px solid var(--border-l);display:flex;gap:8px;justify-content:flex-end;flex-shrink:0}
.simple-body{padding:16px 24px;max-height:70vh;overflow-y:auto}
.fg{margin-bottom:14px}
.fl{font-size:12px;font-weight:600;color:var(--ts);display:block;margin-bottom:5px}
.fi{width:100%;padding:8px 11px;border-radius:var(--r);border:1px solid var(--border);font-size:13px;background:var(--surface);color:var(--tp);font-family:inherit;transition:all .2s}
.fi:focus{border-color:var(--brand);box-shadow:0 0 0 3px rgba(0,102,204,.1)}
textarea.fi{resize:vertical;line-height:1.6}.fi::placeholder{color:var(--tt)}
.stitle{font-size:10px;font-weight:700;color:var(--tt);letter-spacing:.6px;text-transform:uppercase;margin:16px 0 10px;padding-bottom:6px;border-bottom:1px solid var(--border-l)}
.prod-tags{display:flex;gap:6px;flex-wrap:wrap}
.ptag{padding:6px 13px;border-radius:20px;font-size:12px;font-weight:500;border:1px solid var(--border);background:var(--surface2);color:var(--ts);cursor:pointer;transition:all .15s}
.ptag:hover{border-color:var(--brand);color:var(--brand)}.ptag.on{border-color:var(--brand);background:var(--brand-l);color:var(--brand);font-weight:600}
.tags-wrap{display:flex;flex-wrap:wrap;gap:6px;padding:8px 10px;border:1px solid var(--border);border-radius:var(--r);background:var(--surface);min-height:40px;cursor:text;transition:all .2s}
.tags-wrap:focus-within{border-color:var(--brand);box-shadow:0 0 0 3px rgba(0,102,204,.1)}
.di{padding:8px 10px;background:var(--surface2);border-radius:var(--r)}
.dk{font-size:11px;color:var(--tt);margin-bottom:2px}
.dv{font-size:13px;color:var(--tp);font-weight:500;word-break:break-all}
.detail-modal{overflow:hidden}
.detail-modal .modal-header{padding:0;border-bottom:1px solid var(--border-l)}
.detail-head{padding:20px 24px 14px;display:grid;grid-template-columns:1fr auto;gap:16px;align-items:start}
.detail-name{display:flex;align-items:center;gap:8px;font-size:16px;font-weight:800;color:var(--tp);flex-wrap:wrap}
.detail-company{color:var(--tt);font-weight:600}
.detail-meta{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}
.detail-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap;justify-content:flex-end}
.detail-body{padding:16px 24px 18px;overflow-y:auto}
.detail-section{margin-bottom:16px}
.detail-section-title{font-size:12px;font-weight:800;color:var(--ts);margin-bottom:8px;display:flex;align-items:center;justify-content:space-between}
.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.detail-field{background:var(--surface2);border:1px solid var(--border-l);border-radius:var(--r);padding:10px 11px;min-height:52px}
.detail-field.wide{grid-column:1/-1}
.detail-ai{display:flex;gap:8px;flex-wrap:wrap;background:var(--purple-l);border:1px solid rgba(139,92,246,.18);border-radius:var(--r2);padding:10px}
.detail-ai .btn{background:var(--surface);color:var(--purple);border:1px solid rgba(139,92,246,.22)}
.detail-timeline{position:relative;padding-left:16px}
.detail-timeline:before{content:'';position:absolute;left:5px;top:6px;bottom:8px;width:2px;background:var(--border)}
.detail-timeline .hist-item{position:relative;background:var(--surface2);border:1px solid var(--border-l);border-radius:var(--r);padding:10px 12px;margin-bottom:8px;display:block}
.detail-timeline .hist-item:before{content:'';position:absolute;left:-15px;top:14px;width:8px;height:8px;border-radius:50%;background:var(--brand);box-shadow:0 0 0 3px var(--brand-l)}
.detail-timeline .hist-date{width:auto;display:inline;color:var(--brand);font-weight:700;margin-right:6px}
.detail-timeline .hist-content{display:block}
.detail-timeline .hist-stage{display:inline;color:var(--brand)}
.detail-timeline .hist-acts{position:absolute;right:8px;top:8px}
.detail-footer{padding:12px 24px 16px;border-top:1px solid var(--border-l);background:var(--surface);flex-shrink:0;border-radius:0 0 var(--r3) var(--r3)}
.detail-secondary{display:flex;justify-content:space-between;gap:10px;margin-bottom:10px;flex-wrap:wrap}
.detail-secondary .group{display:flex;gap:8px;flex-wrap:wrap}
.detail-primary{display:grid;grid-template-columns:1fr 1fr 92px;gap:8px}
.detail-primary .btn{justify-content:center;height:38px}
.detail-mobile-more{display:none}
.imp-tpl{font-family:monospace;font-size:11px;background:var(--surface2);padding:10px 12px;border-radius:var(--r);overflow-x:auto;white-space:pre;color:var(--ts);margin-bottom:10px;border:1px solid var(--border-l)}
.drill-row{padding:9px 14px;border-bottom:1px solid var(--border-l);display:flex;align-items:center;gap:10px}
.drill-row:hover{background:var(--surface2)}.drill-row:last-child{border-bottom:none}

/* PC GRID LAYOUTS */
.sg3{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:14px}
.sg6{display:grid;grid-template-columns:repeat(6,1fr);gap:8px;margin-bottom:18px}
.sg4{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:18px}
.cg3{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:12px}
.cg2{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-bottom:12px}
.db3{display:grid;grid-template-columns:3fr 2fr;gap:12px;margin-top:12px}
.g2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.g3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px}
.det-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}

/* RESPONSIVE & MOBILE */
.menu-btn { display:none; background:transparent; border:none; font-size:24px; color:var(--tp); cursor:pointer; margin-right:12px; padding:0; line-height:1; }
.mobile-list { display:none; padding: 0 4px; }

@media(max-width:1100px){.cg3{grid-template-columns:1fr 1fr}.db3{grid-template-columns:1fr}}
@media(max-width:1180px){
  .dash-layout{grid-template-columns:1fr}
  .dash-dist-grid{grid-template-columns:1fr}
}
@media(max-width:1280px){
  .adq-shell .dash-layout{grid-template-columns:1fr!important}
  .adq-shell .dash-side-stack{max-width:none;justify-self:stretch}
}
@media(max-width:768px){
  :root{--sb:0px}
  .main-wrap{margin-left:0; width: 100vw; overflow-x: hidden;}
  .menu-btn { display:block; }
  .topbar { height: auto !important; min-height: 72px !important; padding: 12px 14px !important; flex-wrap: wrap !important; gap: 10px; }
  .tb-left { width: 100%; display: flex; align-items: center; }
  .tb-title { font-size: 16px; white-space: normal; line-height: 1.3; }
  .tb-sub { white-space: normal; margin-top: 4px; font-size: 11px; }
  .tb-right { width: 100%; justify-content: flex-start; padding-top: 4px; border-top: 1px dashed var(--border-l); }
  .sg3 { grid-template-columns: 1fr 1fr; }
  .sg6 { grid-template-columns: 1fr 1fr 1fr; }
  .sg4 { grid-template-columns: 1fr 1fr; }
  .cg3, .cg2, .db3, .g2, .g3, .det-grid, .date-grid { grid-template-columns: 1fr; }
  .dashboard-shell{padding-bottom:calc(var(--mobile-nav-safe) + 12px)}
  .dash-panel{padding:14px!important;border-radius:18px!important}
  .dash-mini-grid{grid-template-columns:1fr 1fr;gap:8px}
  .dash-layout,.dash-main-stack,.dash-side-stack,.dash-dist-grid{gap:10px}
  .dash-metric{min-height:104px;padding:14px!important}
  .dash-metric-value{font-size:27px}
  .dash-metric-foot{white-space:normal;line-height:1.35}
  .dash-dist-list,.dash-dist-list.tall{max-height:310px}
  .dash-dist-row{grid-template-columns:minmax(78px,1fr) minmax(74px,1.1fr) 34px;gap:7px}
  .dash-dist-name{font-size:11px}
  .dash-task-list{max-height:280px}
  .adq-funnel{grid-template-columns:1fr!important}
  .adq-step{padding:12px!important;border-radius:14px!important}
  .detail-modal{height:calc(100vh - 20px);max-height:calc(100vh - 20px);border-radius:22px}
  .detail-head{grid-template-columns:1fr;gap:8px;padding:16px 14px 12px;position:relative}
  .detail-name{font-size:16px;line-height:1.3;padding-right:36px}
  .detail-company{display:block;width:100%;font-size:12px}
  .detail-meta{margin-top:7px}
  .detail-actions{justify-content:flex-start;padding-right:36px}
  .detail-actions .modal-close{position:absolute;right:14px;top:14px}
  .detail-body{padding:13px 14px 12px}
  .detail-grid{grid-template-columns:1fr}
  .detail-field{min-height:auto;padding:9px 10px}
  .detail-ai{display:grid;grid-template-columns:1fr;gap:8px}
  .detail-timeline .hist-item{padding:10px 11px}
  .detail-timeline .hist-acts{position:static;justify-content:flex-end;margin-top:8px}
  .detail-footer{padding:10px 14px 12px}
  .detail-secondary{display:none}
  .detail-primary{grid-template-columns:1fr 1fr 76px;gap:7px}
  .detail-primary .btn{height:40px;padding:0 8px}
  .detail-mobile-more{display:flex;gap:7px;overflow-x:auto;margin-top:8px;padding-bottom:2px}
  .detail-mobile-more .btn{height:32px;flex:0 0 auto}
  .fsec { padding: 12px; }
  .frow { gap: 8px; flex-wrap: wrap; }
  .sbox { min-width: 100%; margin-bottom: 4px; }
  .fsel { flex: 1; min-width: 45%; }
  .pill { margin-bottom: 4px; }
  .tc { display: none; }
  .mobile-list { display: block; }
  .mobile-card { background: var(--surface); margin-bottom: 12px; border-radius: 12px; border: 1px solid var(--border-l); box-shadow: var(--sh); padding: 16px; position: relative; }
  .mc-header { display: flex; gap: 8px; align-items: center; margin-bottom: 6px; }
  .mc-name { font-size: 15px; font-weight: 700; color: var(--brand); cursor: pointer; }
  .mc-company { font-size: 12px; color: var(--tt); margin-bottom: 8px; border-bottom: 1px dashed var(--border-l); padding-bottom: 8px; }
  .mc-row { display: flex; font-size: 12px; color: var(--ts); margin-bottom: 5px; gap: 8px; flex-wrap: wrap; }
  .mc-label { font-weight: 600; color: var(--ts); min-width: 60px; }
  .mc-follow-up { display: flex; flex-direction: column; gap: 6px; padding: 12px; background: var(--surface2); border-radius: 8px; border: 1px solid var(--border-l); margin: 10px 0; }
  .mc-fu-item { display: flex; align-items: center; justify-content: space-between; font-size: 12px; }
  .mc-acts { display: flex; gap: 5px; justify-content: flex-end; margin-top: 12px; border-top: 1px dashed var(--border-l); padding-top: 12px; }
  .mc-acts .ab { font-size: 11px; padding: 5px 12px; border-radius: 6px; }
  .content { padding: 14px 12px; }
  .col-hide { display:none; }
  .modal { max-height: 90vh; margin: 10px; width: calc(100% - 20px); }
  .drawer { width: 85vw; }
  .task-row { flex-wrap: wrap !important; padding: 14px 12px !important; }
  .task-row .tinfo { min-width: 100% !important; margin-right: 0 !important; }
  .task-row .tr-right {
    width: 100% !important;
    flex-direction: row !important;
    justify-content: space-between !important;
    align-items: center !important;
    border-left: none !important;
    border-top: 1px dashed var(--border-l) !important;
    padding-left: 0 !important;
    margin-left: 0 !important;
    margin-top: 12px !important;
    padding-top: 12px !important;
  }
  .task-row .tr-right > div:first-child { 
    flex-direction: row !important; 
    align-items: center !important; 
    width: auto !important; 
    gap: 8px !important;
  }
  .task-row .tr-right > div:first-child > div:last-child { margin-top: 0 !important; }
  .task-row .tr-right > div:last-child {
    flex-direction: row !important;
    width: auto !important;
    align-items: center !important;
    gap: 6px !important;
  }
  .task-row .tr-right .more-dd-btn { 
    width: auto !important; 
    min-width: 72px !important;
    padding: 0 8px !important; 
    white-space: nowrap !important; /* 绝对禁止文字换行 */
    height: 30px !important;
  }
  .task-row .tr-right > div:last-child > div:last-child { gap: 6px !important; }
  .task-row .tr-right .ab { 
    flex: none !important; 
    width: 36px !important; 
    height: 30px !important;
    padding: 0 !important;
  }
}
#toast {
  position: fixed;
  bottom: 40px;
  left: 50%;
  transform: translate(-50%, 20px);
  background: var(--surface);
  color: var(--tp);
  padding: 10px 24px;
  border-radius: 30px;
  font-size: 13px;
  font-weight: 600;
  box-shadow: 0 8px 32px rgba(0,0,0,0.12), 0 1px 4px rgba(0,0,0,0.04);
  border: 1px solid var(--border);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  z-index: 9999;
  transition: all 0.3s var(--ease);
  white-space: nowrap;
}
#toast.show {
  opacity: 1;
  visibility: visible;
  transform: translate(-50%, 0);
}
/* AI 打分体系样式 */
.ai-score-badge {
  display: inline-flex;
  align-items: center;
  gap: 3px;
  padding: 2px 6px;
  border-radius: 6px;
  font-size: 11px;
  font-weight: 700;
  cursor: help;
  border: 1px solid;
  white-space: nowrap;
}
.ai-score-S { background: var(--danger-l); color: var(--danger); border-color: rgba(255,59,48,.2); } /* 80-100分 */
.ai-score-A { background: var(--success-l); color: var(--success); border-color: rgba(52,199,89,.2); } /* 60-79分 */
.ai-score-B { background: var(--warn-l); color: var(--warn); border-color: rgba(255,149,0,.2); } /* 40-59分 */
.ai-score-C { background: var(--surface2); color: var(--ts); border-color: var(--border); } /* 0-39分 */

.fsec { 
  background: var(--surface); 
  border-radius: 16px; 
  padding: 16px 24px; 
  margin-bottom: 20px; 
  box-shadow: 0 2px 12px rgba(0,0,0,.03), 0 1px 3px rgba(0,0,0,.02); 
  border: 1px solid rgba(0,0,0,.04); 
}
.sbox { 
  border-radius: 12px; 
  background: var(--surface2); 
  border: 1px solid transparent; 
  transition: all 0.2s var(--ease); 
}
.sbox:focus-within { 
  background: var(--surface); 
  border-color: var(--brand); 
  box-shadow: 0 0 0 3px rgba(0,102,204,.1); 
}
.fsel { border-radius: 8px; border-color: var(--border-l); background: var(--surface2); }

@media (max-width: 768px) {
  .mobile-card { 
    background: var(--surface); margin-bottom: 16px; border-radius: 16px; 
    border: 1px solid rgba(0,0,0,.04); box-shadow: 0 4px 20px rgba(0,0,0,.03); 
    padding: 20px; position: relative; transition: transform 0.2s var(--ease); 
  }
  .mobile-card:active { transform: scale(0.99); }
  .mc-header { display: flex; gap: 8px; align-items: center; margin-bottom: 6px; padding-right: 28px; }
  .mc-name { font-size: 16px; font-weight: 700; color: var(--tp); }
  .mc-company { font-size: 13px; color: var(--ts); margin-bottom: 14px; }
  .mc-row { display: flex; font-size: 12px; color: var(--ts); margin-bottom: 10px; gap: 8px; flex-wrap: wrap; align-items: center; }
  
  .mc-acts { display: flex; gap: 10px; margin-top: 16px; padding-top: 16px; border-top: 1px solid rgba(0,0,0,.04); }
  .btn-primary-sm { flex: 1; background: var(--brand); color: #fff; border-radius: 10px; padding: 10px 0; font-weight: 600; font-size: 13px; border: none; display: flex; justify-content: center; align-items: center; gap: 4px; box-shadow: 0 2px 8px rgba(0,102,204,.2); }
  .btn-secondary-sm { flex: 1; background: var(--surface2); color: var(--tp); border-radius: 10px; padding: 10px 0; font-weight: 600; font-size: 13px; border: 1px solid var(--border-l); display: flex; justify-content: center; align-items: center; gap: 4px; }
  .more-dd-btn-sm { width: 38px; height: 38px; border-radius: 10px; border: 1px solid var(--border); background: transparent; color: var(--ts); display: flex; justify-content: center; align-items: center; position: relative; }
  .more-dd-btn-sm .dd { bottom: calc(100% + 8px); top: auto; right: 0; min-width: 140px; }
}

/* Mobile app shell and settings */
.mobile-bottom-nav{display:none}
.hub-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px}
.hub-section{margin-bottom:18px}
.hub-section-title{font-size:12px;font-weight:800;color:var(--tt);letter-spacing:.8px;text-transform:uppercase;margin:0 0 10px}
.hub-card{background:var(--surface);border:1px solid var(--border-l);border-radius:var(--r2);padding:16px;text-align:left;box-shadow:var(--sh);transition:all .2s var(--ease);width:100%;color:var(--tp)}
.hub-card:hover{transform:translateY(-2px);box-shadow:var(--sh2)}
.hub-card-title{font-size:14px;font-weight:800;margin-bottom:6px;color:var(--tp)}
.hub-card-desc{font-size:12px;color:var(--ts);line-height:1.5}
.me-grid{display:grid;grid-template-columns:minmax(240px,360px) 1fr;gap:14px;align-items:start}
.me-profile,.me-panel{background:var(--surface);border:1px solid var(--border-l);border-radius:var(--r2);box-shadow:var(--sh);padding:18px}
.me-avatar{width:54px;height:54px;border-radius:16px;background:var(--brand);color:#fff;display:flex;align-items:center;justify-content:center;font-size:18px;font-weight:800;box-shadow:0 4px 14px rgba(0,102,204,.22)}
.me-name{font-size:18px;font-weight:800;margin-top:12px}
.me-role{font-size:12px;color:var(--ts);margin-top:4px}
.me-actions{display:grid;gap:8px;margin-top:16px}
.me-action{width:100%;display:flex;align-items:center;justify-content:space-between;text-align:left;padding:12px 14px;border-radius:var(--r);background:var(--surface2);color:var(--tp);font-size:13px;font-weight:700;border:1px solid var(--border-l)}
.me-action:hover{border-color:var(--brand);color:var(--brand);background:var(--brand-l)}
.settings-overlay{position:fixed;inset:0;z-index:3000;background:rgba(15,23,42,.42);opacity:0;animation:overlayFadeIn .2s ease forwards}
.settings-panel{position:fixed;left:16px;bottom:16px;width:min(460px,calc(100vw - 32px));height:calc(100vh - 32px);z-index:3001;background:var(--surface);border:1px solid rgba(255,255,255,.6);border-radius:24px;box-shadow:var(--sh2);display:flex;flex-direction:column;overflow:hidden;animation:settingsSlideIn .34s var(--ease) forwards}
@keyframes settingsSlideIn{from{transform:translateX(-110%) scale(.98);opacity:0}to{transform:translateX(0) scale(1);opacity:1}}
.settings-head{padding:22px 22px 18px;background:linear-gradient(135deg,var(--surface),var(--surface2));border-bottom:1px solid var(--border-l)}
.settings-top{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}
.settings-kicker{font-size:11px;font-weight:800;color:var(--tt);letter-spacing:1px;text-transform:uppercase}
.settings-title{font-size:20px;font-weight:800;letter-spacing:-.5px;margin-top:6px;color:var(--tp)}
.settings-sub{font-size:12px;color:var(--ts);line-height:1.6;margin-top:6px}
.settings-close{width:32px;height:32px;border-radius:50%;background:var(--surface2);color:var(--ts);font-size:18px}
.settings-close:hover{background:var(--border);color:var(--tp)}
.settings-tabs{display:flex;gap:6px;margin-top:16px;overflow-x:auto;padding-bottom:2px}
.settings-tab{padding:8px 12px;border-radius:999px;background:transparent;color:var(--ts);font-size:12px;font-weight:800;white-space:nowrap;border:1px solid transparent}
.settings-tab.on{background:var(--brand-l);color:var(--brand);border-color:rgba(0,102,204,.12)}
.settings-body{flex:1;overflow-y:auto;padding:16px 18px}
.settings-card{background:var(--surface);border:1px solid var(--border-l);border-radius:var(--r2);padding:14px;margin-bottom:10px;box-shadow:var(--sh)}
.settings-card-title{font-size:14px;font-weight:800;color:var(--tp);margin-bottom:4px}
.settings-card-desc{font-size:12px;color:var(--ts);line-height:1.6}
.settings-row{display:flex;align-items:center;justify-content:space-between;gap:12px}
.settings-toggle{width:44px;height:26px;border-radius:999px;background:var(--border);padding:3px;flex:0 0 auto;transition:background .2s}
.settings-toggle::after{content:'';display:block;width:20px;height:20px;border-radius:50%;background:#fff;box-shadow:0 2px 6px rgba(0,0,0,.16);transition:transform .2s var(--ease)}
.settings-toggle.on{background:var(--brand)}
.settings-toggle.on::after{transform:translateX(18px)}
.settings-list{display:grid;gap:8px}
.settings-person{display:grid;grid-template-columns:36px 1fr auto;align-items:center;gap:10px;padding:10px;border:1px solid var(--border-l);border-radius:var(--r);background:var(--surface2)}
.settings-person-av{width:36px;height:36px;border-radius:12px;background:var(--brand);color:#fff;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:800}
.settings-person-name{font-size:13px;font-weight:800;color:var(--tp)}
.settings-person-role{font-size:11px;color:var(--ts);margin-top:2px}
.settings-pill{font-size:11px;font-weight:800;color:var(--brand);background:var(--brand-l);padding:4px 8px;border-radius:999px}
.settings-footer{padding:12px 18px;border-top:1px solid var(--border-l);display:flex;gap:8px;justify-content:space-between;background:var(--surface)}
.settings-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.settings-field{display:flex;flex-direction:column;gap:6px}
.settings-field label{font-size:11px;font-weight:800;color:var(--tt);letter-spacing:.3px}
.settings-input{width:100%;border:1px solid var(--border);border-radius:var(--r);background:var(--bg);color:var(--tp);font-size:13px;padding:9px 10px;outline:none}
.settings-input:focus{border-color:var(--brand);box-shadow:0 0 0 3px rgba(0,102,204,.1);background:var(--surface)}
.settings-check-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.settings-check{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 10px;border:1px solid var(--border-l);border-radius:var(--r);background:var(--surface2);font-size:12px;font-weight:700;color:var(--tp)}
.settings-check input{width:15px;height:15px;accent-color:var(--brand);flex-shrink:0}
.settings-mini-note{font-size:11px;color:var(--tt);line-height:1.5;margin-top:8px}

@media(max-width:768px){
  .menu-btn{display:none!important}
  .main-wrap{padding-bottom:76px}
  .content{padding-bottom:92px!important}
  .mobile-bottom-nav{position:fixed;left:10px;right:10px;bottom:10px;z-index:800;display:grid;grid-template-columns:repeat(5,1fr);gap:5px;padding:6px;border:1px solid rgba(255,255,255,.7);border-radius:20px;background:var(--surface-blur);box-shadow:0 14px 34px rgba(15,23,42,.16);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)}
  .mb-item{height:48px;border-radius:15px;background:transparent;color:var(--ts);display:flex;align-items:center;justify-content:center;position:relative;font-size:12px;font-weight:800}
  .mb-item.on{background:var(--brand);color:#fff;box-shadow:0 6px 16px rgba(0,102,204,.2)}
  .mb-item.add{background:var(--tp);color:var(--surface);font-size:20px}
  .mb-badge{position:absolute;top:5px;right:12px;min-width:17px;height:17px;padding:0 5px;border-radius:999px;background:var(--danger);color:#fff;font-size:10px;line-height:17px;font-weight:800}
  .hub-grid{grid-template-columns:1fr;gap:10px}
  .hub-card{padding:15px;border-radius:16px}
  .me-grid{grid-template-columns:1fr}
  .settings-panel{left:0;right:0;bottom:0;width:100%;height:min(92vh,760px);border-radius:24px 24px 0 0;animation:settingsSheetIn .32s var(--ease) forwards}
  @keyframes settingsSheetIn{from{transform:translateY(110%);opacity:0}to{transform:translateY(0);opacity:1}}
  .settings-head{padding:18px 18px 14px}
  .settings-body{padding:14px}
  .settings-footer{padding-bottom:calc(12px + env(safe-area-inset-bottom))}
  .settings-form-grid,.settings-check-grid{grid-template-columns:1fr}
}

.fi, .sbox input, .input-field, .fsel {
  border: 1px solid transparent !important;
  background: var(--surface2) !important;
  border-radius: 12px !important;
  transition: all 0.2s var(--ease) !important;
  color: var(--tp) !important;
}
.fi:focus, .sbox:focus-within input, .input-field:focus, .fsel:focus {
  background: var(--surface) !important;
  border-color: rgba(0,102,204,0.3) !important;
  box-shadow: 0 0 0 4px rgba(0,102,204,0.1) !important;
}

.overlay, .drawer-overlay {
  background: rgba(15, 23, 42, 0.6) !important;
  animation: overlayFadeIn 0.2s ease forwards !important;
}
@keyframes overlayFadeIn { from { opacity: 0; } to { opacity: 1; } }

.modal {
  border-radius: 24px !important;
  box-shadow: 0 32px 80px rgba(0,0,0,0.3), 0 0 0 1px rgba(255,255,255,0.2) inset !important;
  animation: modalSpringIn 0.5s var(--spring) forwards !important;
}
@keyframes modalSpringIn {
  from { transform: scale(0.9) translateY(30px); opacity: 0; }
  to { transform: scale(1) translateY(0); opacity: 1; }
}

.drawer {
  border-radius: 24px 0 0 24px !important;
  box-shadow: -20px 0 60px rgba(0,0,0,0.15) !important;
  animation: drawerSpringIn 0.5s var(--spring) forwards !important;
}
@keyframes drawerSpringIn {
  from { transform: translateX(100%); }
  to { transform: translateX(0); }
}
.sc, .cc, .fsec, .tc, .task-row, .mobile-card {
  border-radius: 20px !important;
  border: 1px solid rgba(0,0,0,0.02) !important;
  box-shadow: var(--sh) !important;
  transition: transform 0.3s var(--ease), box-shadow 0.3s var(--ease) !important;
}
.sc:hover, .task-row:hover {
  transform: translateY(-2px) !important;
  box-shadow: var(--sh2) !important;
}

#top-loader {
  position: fixed; top: 0; left: 0; height: 3px; background: var(--brand);
  z-index: 9999; width: 0%; opacity: 0; transition: width 0.3s ease, opacity 0.3s ease;
  box-shadow: 0 0 10px var(--brand); pointer-events: none;
}
#top-loader.loading { width: 80%; opacity: 1; animation: pulseLoad 1s infinite alternate; }
@keyframes pulseLoad { from { box-shadow: 0 0 10px var(--brand); } to { box-shadow: 0 0 20px var(--brand); } }

/* Optimization pass: page polish, mobile safe areas, high-frequency workflows */
:root{
  --op-ink:#17232b;--op-muted:#66737d;--op-soft:#98a4ad;--op-line:#dfe8e5;--op-line2:#edf3f1;
  --op-jade:#087a70;--op-jade2:#e6f5f2;--op-gold:#b98635;--op-gold2:#fff4df;
  --op-glass:linear-gradient(135deg,rgba(255,255,255,.94),rgba(255,255,255,.66));
  --op-glass2:linear-gradient(180deg,rgba(255,255,255,.9),rgba(255,255,255,.62));
  --op-shadow:0 28px 76px rgba(23,35,43,.12);
  --op-shadow2:0 12px 32px rgba(23,35,43,.08);
  --op-inner:inset 0 1px 0 rgba(255,255,255,.86),inset 0 -1px 0 rgba(23,35,43,.04);
}
body:not(.dark){
  --bg:#f2f7f4;--surface:#ffffff;--surface2:#eef5f2;--brand:var(--op-jade);--brand-l:var(--op-jade2);--brand-h:#0f9f90;
  --border:#dfe8e5;--border-l:rgba(23,35,43,.055);--tp:var(--op-ink);--ts:var(--op-muted);--tt:var(--op-soft);
  background:
    radial-gradient(circle at 8% 8%,rgba(255,244,222,.96),transparent 26%),
    radial-gradient(circle at 86% 10%,rgba(216,243,239,.98),transparent 30%),
    radial-gradient(circle at 50% 98%,rgba(232,238,248,.86),transparent 36%),
    linear-gradient(135deg,#fbfaf5 0%,#eef6f3 52%,#f7efe5 100%)!important;
}
body:not(.dark)::before{
  content:"";position:fixed;inset:0;pointer-events:none;opacity:.72;z-index:0;
  background-image:linear-gradient(rgba(23,35,43,.026) 1px,transparent 1px),linear-gradient(90deg,rgba(23,35,43,.022) 1px,transparent 1px);
  background-size:42px 42px;mask-image:linear-gradient(180deg,rgba(0,0,0,.55),transparent 74%);
}
body.app-ready #app{display:block!important}
#app{position:relative;z-index:1;min-height:100vh;padding:18px 18px 108px!important}
.main-wrap{background:transparent!important;margin-left:0!important;height:auto!important;min-height:calc(100vh - 126px)!important;overflow:visible!important}
#main{overflow:visible!important;height:auto!important}
.crm-studio-content{max-width:1480px;margin:0 auto;width:100%!important}
.app-topbar{display:grid;grid-template-columns:auto minmax(260px,1fr) auto;gap:14px;align-items:center;max-width:1480px;margin:0 auto 14px;position:relative;top:auto;z-index:10}
.app-brand,.app-search,.app-actions{background:var(--op-glass);border:1px solid rgba(255,255,255,.74);box-shadow:var(--op-shadow2),var(--op-inner)}
.app-brand{height:52px;border-radius:999px;display:flex;align-items:center;gap:12px;padding:0 16px 0 8px;min-width:236px}
.app-brand img{width:34px;height:34px;object-fit:contain}
.app-brand b{display:block;font-size:15px;color:var(--tp)}.app-brand span{display:block;font-size:11px;color:var(--ts);margin-top:2px;white-space:nowrap}
.app-menu{width:38px;height:38px;border-radius:999px;background:#fff;color:var(--op-jade);font-size:17px;font-weight:900;box-shadow:0 6px 14px rgba(23,35,43,.08)}
.app-search{height:52px;border-radius:999px;display:flex;align-items:center;gap:10px;padding:0 16px;color:var(--ts);min-width:0}
.app-search input{border:0;background:transparent;outline:0;width:100%;min-width:0;color:var(--tp)}
.app-actions{height:52px;border-radius:999px;display:flex;align-items:center;gap:8px;padding:0 8px}
.app-actions .btn{height:38px}
.crm-sync-state{display:inline-flex;align-items:center;gap:6px;min-height:28px;padding:0 10px;border-radius:999px;font-size:11px;font-weight:700;color:var(--success);background:var(--success-l);white-space:nowrap}
.crm-sync-state::before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}
.crm-sync-state.syncing,.crm-sync-state.cached{color:var(--warn);background:var(--warn-l)}
.crm-sync-state.offline{color:var(--danger);background:var(--danger-l)}
.crm-sync-state[hidden]{display:none}

/* Long result sets keep their layout but skip paint work outside the viewport. */
.customer-table tbody tr,.task-row,.perf-leader-customer,.perf-task-event,.mobile-list>*,.dash-dist-row{content-visibility:auto;contain-intrinsic-size:auto 72px}
.op-section-title{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin:2px 0 12px}
.op-section-title h2{margin:0;font-size:22px;line-height:1.2;color:var(--tp);letter-spacing:0}
.op-section-title p{margin:4px 0 0;color:var(--ts);font-size:12px}
.op-section-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.tb-title{letter-spacing:0!important}
.tb-right .btn,.btn{border-radius:999px!important;font-weight:850}
.btn.bp{background:linear-gradient(135deg,var(--op-jade),#0f9f90)!important;box-shadow:0 10px 22px rgba(8,122,112,.22)!important}
.btn.bg{background:rgba(255,255,255,.68)!important;border-color:rgba(223,232,229,.9)!important}
.fsec,.tc,.sc,.cc,.dash-panel,.dash-metric,.mobile-card,.task-row,.settings-card,.perf-sales-card{
  background:var(--op-glass2)!important;border:1px solid rgba(255,255,255,.68)!important;box-shadow:var(--op-shadow2),var(--op-inner)!important;border-radius:26px!important;
}
.fsec{padding:14px!important;margin:10px 0 16px!important}
.sbox,.fsel,.fi,.input-field,.settings-input{
  background:rgba(255,255,255,.76)!important;border:1px solid var(--op-line2)!important;border-radius:999px!important;
}
textarea.fi,textarea.input-field,textarea.settings-input{border-radius:16px!important}
.pill,.more-filter-btn,.chip,.ab,.pbtn,.settings-pill{border-radius:999px!important}
.tc{overflow:visible!important}
.tc-head{background:linear-gradient(180deg,rgba(255,255,255,.88),rgba(255,255,255,.58))!important;border-bottom:1px solid var(--op-line2)!important}
.tscroll{background:transparent!important}
.customer-table th{background:rgba(255,255,255,.74)!important}
.customer-table tbody tr{background:rgba(255,255,255,.58)}
.customer-table tbody td{border-bottom:1px solid rgba(223,232,229,.55)!important}
.task-row{background:linear-gradient(180deg,#fff,#fbfdfc)!important}
.task-row:hover,.mobile-card:hover,.dash-metric:hover,.sc:hover{transform:translateY(-2px)!important;box-shadow:var(--op-shadow),var(--op-inner)!important}
.mobile-card{background:linear-gradient(180deg,#fff,#fbfdfc)!important}
.detail-modal,.modal,.drawer,.settings-panel{border:1px solid rgba(255,255,255,.68)!important;background:var(--surface)!important;box-shadow:var(--op-shadow),var(--op-inner)!important}
.detail-head,.detail-hero,.settings-head{background:linear-gradient(135deg,#fff,rgba(230,245,242,.78))!important}
.detail-field,.mc-contact span,.info-grid div{background:rgba(238,245,242,.9)!important;border:1px solid var(--op-line2)!important;border-radius:14px!important}
.mobile-bottom-nav{display:grid!important;position:fixed!important;left:50%!important;right:auto!important;bottom:18px!important;transform:translateX(-50%)!important;width:min(720px,calc(100vw - 28px))!important;grid-template-columns:repeat(5,1fr)!important;gap:4px!important;padding:7px!important;z-index:800!important;border-radius:999px!important;background:var(--op-glass)!important;border:1px solid rgba(255,255,255,.74)!important;box-shadow:0 18px 46px rgba(23,35,43,.18),var(--op-inner)!important}
.mb-item{border-radius:999px!important}.mb-item.on{background:linear-gradient(135deg,var(--op-jade),#0f9f90)!important;color:#fff!important}
.mb-item{height:46px!important;background:transparent;color:var(--ts);font-size:12px;font-weight:900;position:relative}.mb-item.add{background:#fff!important;color:var(--op-jade)!important;font-size:18px!important;box-shadow:0 8px 18px rgba(23,35,43,.08)}
.settings-panel{border-radius:26px!important}
.crm-hero{border-radius:36px;padding:26px;margin-bottom:16px;background:linear-gradient(135deg,rgba(255,255,255,.93),rgba(255,255,255,.58)),radial-gradient(circle at 78% 18%,rgba(8,122,112,.15),transparent 31%),radial-gradient(circle at 14% 88%,rgba(185,134,53,.15),transparent 34%);border:1px solid rgba(255,255,255,.76);box-shadow:var(--op-shadow),var(--op-inner);overflow:hidden}
.crm-hero-grid{display:grid;grid-template-columns:minmax(320px,1fr) minmax(520px,1.25fr);gap:22px;align-items:stretch}
.crm-hero-grid>div:first-child{display:flex;align-items:center;min-height:112px}
.crm-hero-title{font-size:34px;line-height:1.1;margin:0;letter-spacing:0;color:var(--tp)}
.crm-hero-copy{color:var(--ts);line-height:1.7;margin:12px 0 0;max-width:650px}
.crm-hero-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.crm-hero-metric{min-height:112px;border-radius:24px;padding:16px;background:var(--op-glass2);border:1px solid rgba(255,255,255,.68);box-shadow:0 12px 30px rgba(23,35,43,.07),var(--op-inner);cursor:pointer}
.crm-hero-metric label{font-size:12px;color:var(--ts);font-weight:900}.crm-hero-metric b{display:block;font-size:30px;margin-top:8px}.crm-hero-metric span{font-size:12px;color:var(--tt)}
.overlay{z-index:1200!important}
.drawer-overlay{z-index:1200!important}
.fsec{position:relative}
.fsec .frow:first-child{align-items:center}
.pbar{background:var(--surface)}
.tc .pbar{position:sticky;bottom:0;z-index:2}
.task-row{overflow:visible}
.task-row.dd-active{position:relative!important;z-index:120!important;overflow:visible!important}
.task-row.dd-active .dd{z-index:5000}
.task-row .tname{line-height:1.35}
.task-claim-note{margin-top:8px;padding:8px 10px;border-radius:10px;background:var(--teal-l);border:1px solid rgba(8,145,178,.22);color:var(--teal);font-size:12px;line-height:1.55}
.task-action-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px;width:100%}
.task-action-grid .wide{grid-column:1/-1}
.task-masonry{columns:2 540px;column-gap:12px;padding-bottom:16px}
.task-masonry .task-row{display:inline-grid!important;width:100%;break-inside:avoid;margin:0 0 12px!important}
.mc-contact{display:grid;grid-template-columns:1fr;gap:6px;margin:9px 0 10px}
.mc-contact span{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;background:var(--surface2);border:1px solid var(--border-l);border-radius:10px;padding:7px 9px;font-size:12px;color:var(--tp)}
.detail-back-btn{font-weight:700}
.fsec{background:var(--op-glass2)!important;border-radius:28px!important;padding:14px!important;margin:10px 0 14px!important}
.frow{gap:10px!important}
.sbox{min-width:220px!important}
.fsel{min-width:120px!important}
.fsec .frow{align-items:center}
.fsec .frow:first-child{gap:12px!important}
.fsec .sbox{height:40px!important}
.fsec .fsel,.fsec .more-filter-btn{min-height:40px!important}
.fsec [style*="background:var(--surface2); padding:4px"]{border-radius:999px!important;background:rgba(255,255,255,.62)!important}
.fsec [onclick^="setCusDR"],.dash-filters [onclick^="setDashDR"]{border-radius:999px!important}
.customer-table{table-layout:fixed;min-width:1260px}
.tc{max-width:100%!important;border-radius:28px!important;overflow:hidden!important}
.tc .tc-head{border-radius:28px 28px 0 0!important;padding:18px 22px!important}
.tscroll{overflow-x:auto!important}
.customer-table th,.customer-table td{vertical-align:top}
.customer-table tbody tr{content-visibility:auto;contain-intrinsic-size:72px}
.mobile-list>.mobile-card{content-visibility:auto;contain-intrinsic-size:220px}
.customer-table thead th{font-size:11px!important;color:var(--op-muted)!important;background:rgba(255,255,255,.78)!important}
.customer-table tbody tr{transition:transform .16s ease,background .16s ease}
.customer-table tbody tr:hover{transform:translateY(-1px)}
.customer-table tbody tr:hover td{background:rgba(255,255,255,.88)!important}
.customer-table .name-column-wrap{gap:4px}
.customer-table .name-row-top span[onclick]{font-size:14px!important}
.customer-table td:nth-child(3){width:170px!important}
.customer-table td:nth-child(5) span[title]{max-width:150px!important}
.customer-table .acts{gap:5px}
.customer-table .acts .ab{padding:4px 7px}
.customer-table .more-dd-btn{width:auto;min-width:42px;height:28px;padding:0 8px;font-size:12px;font-weight:700}
.ai-subtitle{font-size:12px;color:var(--tt);margin-left:10px;font-weight:650}
.ai-metric-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;margin:0 0 14px}
.ai-metric{appearance:none;border:1px solid rgba(255,255,255,.72);background:var(--op-glass2);box-shadow:var(--op-shadow2),var(--op-inner);border-radius:24px;padding:15px 16px;text-align:left;cursor:pointer;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease;min-width:0}
.ai-metric:hover,.ai-metric.on{transform:translateY(-2px);box-shadow:var(--op-shadow),var(--op-inner);border-color:rgba(64,198,182,.38)}
.ai-metric span{display:block;font-size:11px;font-weight:850;color:var(--op-muted);margin-bottom:7px}
.ai-metric strong{display:block;font-size:28px;line-height:1;font-weight:900;letter-spacing:-.4px}
.ai-metric em{display:block;font-style:normal;font-size:11px;color:var(--tt);margin-top:7px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ai-runtime-panel{margin-top:0}
.ai-runtime-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.danger-lite{color:var(--danger)!important;border-color:rgba(255,59,48,.25)!important;background:var(--danger-l)!important}
.ai-runtime-grid{display:grid;grid-template-columns:repeat(4,minmax(92px,140px)) minmax(220px,1fr) minmax(220px,1fr);gap:12px;padding:14px}
.ai-runtime-count{background:rgba(255,255,255,.64);border:1px solid var(--border-l);border-radius:18px;padding:13px 14px;min-height:82px}
.ai-runtime-count span{display:block;font-size:11px;font-weight:850;color:var(--tt);margin-bottom:8px}
.ai-runtime-count strong{font-size:28px;line-height:1;color:var(--brand);font-weight:900}
.ai-runtime-count.warn strong{color:var(--warn)}.ai-runtime-count.danger strong{color:var(--danger)}.ai-runtime-count.muted strong{color:var(--purple)}
.ai-runtime-current{background:rgba(255,255,255,.64);border:1px solid var(--border-l);border-radius:18px;padding:13px 14px;min-width:0}
.ai-panel-label{font-size:11px;font-weight:850;color:var(--tt);margin-bottom:8px}
.ai-runtime-job{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:start}
.ai-runtime-job b{display:block;font-size:13px;color:var(--tp);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ai-runtime-job span{display:block;font-size:11px;color:var(--ts);margin-top:4px}
.ai-runtime-error{grid-column:1/-1;color:var(--danger);font-size:11px;line-height:1.5;background:var(--danger-l);border-radius:12px;padding:7px 9px}
.ai-runtime-empty{font-size:12px;color:var(--tt);padding:8px 0}
.ai-insight-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:14px}
.ai-mini-list{padding:12px 14px;display:grid;gap:8px}
.ai-mini-item{appearance:none;border:1px solid var(--border-l);background:rgba(255,255,255,.66);border-radius:16px;padding:11px 12px;text-align:left;cursor:pointer}
.ai-mini-item b{display:block;font-size:13px;color:var(--tp);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ai-mini-item span{display:block;font-size:11px;color:var(--tt);margin-top:5px}
.empty.small{padding:18px;color:var(--tt);font-size:12px;text-align:center}
.ai-filter-panel{padding:14px;border-bottom:1px solid var(--border-l);background:rgba(255,255,255,.38)}
.ai-filter-row{display:flex;gap:12px;align-items:flex-start;justify-content:space-between;flex-wrap:wrap}
.ai-chip-row{display:flex;gap:7px;flex-wrap:wrap;min-width:260px;flex:1}
.ai-chip{appearance:none;border:1px solid var(--border-l);background:rgba(255,255,255,.72);color:var(--ts);border-radius:999px;padding:8px 11px;font-size:12px;font-weight:850;cursor:pointer}
.ai-chip:hover,.ai-chip.on{background:var(--op-jade2);border-color:rgba(64,198,182,.32);color:var(--op-jade)}
.ai-filter-tools{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.ai-search{min-width:260px!important}
.ai-filter-foot{font-size:11px;color:var(--tt);margin-top:10px}
.ai-bulkbar{padding:12px 14px;display:flex;gap:8px;align-items:center;justify-content:space-between;flex-wrap:wrap;border-bottom:1px solid var(--border-l)}
.ai-conv-table{min-width:1140px!important;table-layout:fixed}
.ai-conv-table th,.ai-conv-table td{padding:10px 10px!important}
.ai-job-filter-row{padding:12px 14px;border-bottom:1px solid var(--border-l);display:flex;gap:7px;flex-wrap:wrap;background:rgba(255,255,255,.38)}
.ai-job-load-state{margin:12px 14px 0;padding:10px 12px;border:1px solid var(--border-l);border-radius:8px;background:var(--surface2);color:var(--ts);font-size:12px;display:flex;align-items:center;gap:8px;justify-content:space-between}
.ai-job-load-state.error{border-color:rgba(255,59,48,.28);background:var(--danger-l);color:var(--danger)}
.ai-job-table{min-width:1120px!important}
.ai-customer-cell{min-width:0}
.ai-customer-name{font-weight:900;color:var(--brand);max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ai-customer-meta{font-size:11px;color:var(--tt);line-height:1.45;margin-top:3px}
.ai-badge-line{display:flex;gap:5px;flex-wrap:wrap;margin-top:6px}
.ai-need-cell{font-size:12px;color:var(--ts);line-height:1.55;white-space:pre-line;overflow-wrap:anywhere}
.ai-status-cell{display:flex;gap:5px;flex-wrap:wrap;align-items:center}
.ai-time-cell{font-size:12px;color:var(--ts);white-space:nowrap}
.ai-time-cell span{display:block;font-size:11px;color:var(--tt);margin-top:4px}
.ai-time-stack,.ai-activity-cell{display:grid;gap:7px;font-size:12px;color:var(--ts);line-height:1.45}
.ai-time-stack b,.ai-activity-cell b{display:block;font-size:11px;color:var(--tp);font-weight:850}
.ai-time-stack span,.ai-activity-cell span{display:block;font-size:11px;color:var(--tt)}
.ai-last-msg{margin-top:8px;font-size:12px;color:var(--ts);line-height:1.45;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.ai-conv-actions{display:grid;grid-template-columns:1fr;gap:5px;width:98px;justify-content:start;align-content:start}
.ai-conv-actions .ab,.ai-conv-actions .badge{padding:4px 7px;font-size:11px;line-height:1.1;width:100%;text-align:center;justify-content:center}
.ai-conv-table th:last-child,.ai-conv-table td:last-child{background:rgba(255,255,255,.72)!important}
.customer-table .dd,.task-action-grid .dd,.more-dd-btn-sm .dd{
  border-radius:16px!important;border:1px solid rgba(223,232,229,.95)!important;background:#fff!important;box-shadow:0 18px 46px rgba(23,35,43,.16)!important;overflow:hidden!important;
}

/* Performance / structured follow-up redesign */
.perf-date-row{display:inline-flex;background:var(--surface2);padding:3px;border-radius:10px;border:1px solid var(--border-l);gap:3px;flex-wrap:wrap;align-items:center}
.perf-date-pill{padding:5px 12px;border-radius:8px;font-size:12px;font-weight:700;color:var(--ts);cursor:pointer}
.perf-date-pill.on{background:var(--brand);color:#fff}
.perf-date-custom{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.perf-date-custom input{padding:5px 8px;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--tp)}
.perf-topbar{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-bottom:10px}
.perf-alert-row{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px}
.perf-topbar .perf-alert-row{margin-bottom:0}
.perf-tabs{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;padding:3px;margin:0 0 10px}
.perf-tabs::-webkit-scrollbar{display:none}
.perf-tab{display:inline-flex;align-items:center;gap:7px;border:1px solid var(--border-l);background:var(--surface);color:var(--ts);border-radius:999px;padding:8px 13px;font-size:12px;font-weight:850;white-space:nowrap;cursor:pointer;box-shadow:0 4px 14px rgba(23,35,43,.04)}
.perf-tab b{font-size:11px;color:inherit;background:var(--surface2);border-radius:999px;padding:1px 6px}
.perf-tab.on{background:var(--brand);color:#fff;border-color:var(--brand)}
.perf-tab.on b{background:rgba(255,255,255,.18);color:#fff}
.perf-tab-panel{background:var(--surface);border:1px solid var(--border-l);border-radius:var(--r3);box-shadow:var(--sh);padding:12px;margin-bottom:14px}
.perf-compact-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px}
.perf-risk-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.perf-mini-kpi{border:1px solid var(--border-l);background:var(--surface2);border-radius:14px;padding:11px;min-height:88px;min-width:0}
.perf-mini-val{font-size:24px;line-height:1.05;font-weight:900;margin-top:5px}
.perf-kpi{min-height:116px}.perf-kpi-hint{font-size:11px;color:var(--tt);margin-top:7px;line-height:1.35}
.perf-num{background:transparent;border:0;font:inherit;font-weight:900;padding:0;cursor:pointer}
.perf-num:hover{text-decoration:underline}
.perf-rating-line{font-size:12px;color:var(--ts);white-space:nowrap}
.perf-rating-mini{display:flex;align-items:center;justify-content:flex-end;gap:5px;flex-wrap:wrap;min-width:132px}
.perf-rating-mini .perf-num{border:1px solid var(--border-l);background:var(--surface2);border-radius:999px;padding:2px 6px;font-size:12px;line-height:1.25;min-width:24px}
.detail-load-more{margin-top:10px;width:100%;justify-content:center}
.perf-funnel{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin-bottom:10px}
.perf-funnel-step{border:1px solid var(--border-l);background:linear-gradient(180deg,var(--surface),var(--surface2));border-radius:14px;padding:10px;cursor:pointer;min-width:0}
.perf-funnel-step>div:first-child{display:flex;justify-content:space-between;gap:8px;font-size:11px;color:var(--tt);font-weight:800}
.perf-funnel-step strong{display:block;font-size:24px;line-height:1.1;margin:6px 0;font-weight:900}
.perf-funnel-track{height:5px;background:var(--border-l);border-radius:99px;overflow:hidden}
.perf-funnel-track i{display:block;height:100%;border-radius:99px}
.perf-drill-modal{max-width:900px!important}
.perf-drill-list{padding:8px 14px!important}
.perf-drill-row{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(130px,180px);gap:12px;padding:12px 6px;border-bottom:1px solid var(--border-l);cursor:pointer;align-items:start}
.perf-drill-row:hover{background:var(--surface2)}
.perf-drill-name{font-size:14px;font-weight:850;color:var(--brand);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.perf-drill-name span{font-size:12px;color:var(--tt);font-weight:600}
.perf-drill-meta,.perf-drill-next span{font-size:11px;color:var(--tt);margin-top:3px}
.perf-drill-note{font-size:12px;color:var(--ts);line-height:1.5;margin-top:6px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.perf-drill-tags{display:flex;gap:5px;flex-wrap:wrap;justify-content:flex-end;max-width:280px}
.perf-drill-next{text-align:right;font-size:12px;color:var(--tp)}
.perf-drill-next b{display:block;color:var(--tp);margin-bottom:4px}
.perf-manager-head,.perf-section-title,.perf-comparison-note{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin:2px 2px 12px}
.perf-manager-head>div,.perf-section-title{min-width:0}.perf-manager-head b,.perf-section-title b,.perf-comparison-note b{font-size:15px;color:var(--tp)}
.perf-manager-head span,.perf-section-title span,.perf-comparison-note span{display:block;font-size:12px;color:var(--ts);margin-top:3px;line-height:1.45}
.perf-current-risk-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:10px}
.perf-history-preview{border:1px solid var(--border-l);background:var(--surface);border-radius:8px;margin-bottom:10px;overflow:hidden}
.perf-task-toolbar{display:flex;gap:10px;align-items:center;position:sticky;top:0;background:var(--surface);z-index:2;padding:10px 14px;border-bottom:1px solid var(--border-l)}
.perf-task-toolbar .fi{flex:1;min-width:0}
.perf-task-event{display:grid;grid-template-columns:minmax(200px,1.6fr) minmax(100px,.7fr) minmax(105px,.7fr) minmax(120px,.8fr);gap:12px;align-items:center;padding:12px 14px;border-bottom:1px solid var(--border-l);cursor:pointer}
.perf-task-event:last-child{border-bottom:0}.perf-task-event:hover{background:var(--surface2)}
.perf-task-event>div{min-width:0}.perf-task-event b{display:block;font-size:13px;color:var(--tp);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.perf-task-event span,.perf-cell-sub{display:block;font-size:11px;color:var(--tt);margin-top:3px}.perf-danger{color:var(--danger)!important}
.perf-leader-page{display:grid;gap:14px}.perf-leader-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.perf-data-health{display:flex;gap:7px;flex-wrap:wrap}.perf-refresh{width:34px;height:34px;padding:0;justify-content:center;font-size:18px}
.perf-loading{padding:48px 20px;text-align:center}.perf-error{font-size:12px;color:var(--danger);margin-top:8px}
.perf-leader-section{background:var(--surface);border:1px solid var(--border-l);border-radius:8px;padding:14px;box-shadow:0 6px 20px rgba(23,35,43,.04)}
.perf-alert-section{border-color:rgba(225,48,69,.18)}
.perf-leader-title{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px}.perf-leader-title b{font-size:15px;color:var(--tp)}
.perf-leader-title span{display:block;font-size:11px;color:var(--tt);margin-top:3px;line-height:1.45}
.perf-leader-grid{display:grid;gap:9px}.perf-grid-6{grid-template-columns:repeat(6,minmax(0,1fr))}.perf-grid-5{grid-template-columns:repeat(5,minmax(0,1fr))}.perf-secondary-grid{margin-top:9px}
.perf-leader-card{min-width:0;min-height:92px;border:1px solid var(--border-l);border-radius:8px;background:var(--surface2);padding:11px}
.perf-card-label{font-size:11px;color:var(--ts);font-weight:800}.perf-card-value{display:block;border:0;background:transparent;padding:0;margin:6px 0 0;font-size:25px;line-height:1;font-weight:900;cursor:pointer;text-align:left}
button.perf-card-value:hover{text-decoration:underline}.perf-card-hint{font-size:10px;color:var(--tt);line-height:1.4;margin-top:7px}
.perf-leader-table{width:100%;border-collapse:collapse;min-width:1040px}.perf-leader-table th{font-size:11px;color:var(--tt);font-weight:800;text-align:right;padding:9px 10px;border-bottom:1px solid var(--border-l);white-space:nowrap}
.perf-leader-table th:first-child,.perf-leader-table td:first-child{text-align:left;position:sticky;left:0;background:var(--surface);z-index:1}.perf-leader-table td{font-size:13px;color:var(--tp);text-align:right;padding:10px;border-bottom:1px solid var(--border-l);white-space:nowrap}
.perf-leader-table tbody tr:hover td{background:var(--surface2)}.perf-table-num{border:0;background:transparent;padding:0;font:inherit;font-weight:900;cursor:pointer}.perf-table-num:hover{text-decoration:underline}.perf-zero{color:var(--tt)}.perf-empty-cell{text-align:center!important;color:var(--tt)!important;padding:28px!important}
.perf-ok{color:var(--success)!important;background:var(--success-l)!important}.perf-warn{color:var(--warn)!important;background:var(--warn-l)!important}
.perf-modal-meta{font-size:12px;color:var(--ts);margin-top:4px}.perf-leader-customer{display:grid;grid-template-columns:minmax(0,1.4fr) auto minmax(140px,.8fr);gap:12px;align-items:center;padding:12px 14px;border-bottom:1px solid var(--border-l);cursor:pointer}
.perf-leader-customer:hover{background:var(--surface2)}.perf-leader-customer>div{min-width:0}.perf-leader-customer b{display:block;font-size:13px;color:var(--tp);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.perf-leader-customer span{display:block;font-size:11px;color:var(--tt);margin-top:3px}.perf-leader-badges{display:flex;gap:5px;align-items:center;flex-wrap:wrap}.perf-leader-badges .badge{display:inline-flex;margin:0}
.ai-response-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;padding:14px}
.detail-insight-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.detail-insight{background:var(--surface2);border:1px solid var(--border-l);border-radius:var(--r);padding:11px;min-height:110px}
.detail-insight b{display:block;font-size:12px;color:var(--ts);margin-bottom:7px}
.detail-insight p{white-space:pre-wrap;font-size:12px;color:var(--tp);line-height:1.6;margin:0;max-height:132px;overflow:auto}
.detail-tabs-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.detail-tab-card{background:var(--surface);border:1px solid var(--border-l);border-radius:var(--r2);padding:12px}
@media (max-width:760px){
  .perf-topbar{display:grid;grid-template-columns:1fr;gap:8px}
  .perf-date-row{width:100%;overflow-x:auto;flex-wrap:nowrap}
  .perf-tabs{margin-left:-2px;margin-right:-2px;padding-bottom:7px}
  .perf-tab{padding:8px 11px}
  .perf-tab-panel{padding:10px;border-radius:18px}
  .perf-funnel{grid-template-columns:1fr 1fr}
  .perf-compact-grid{grid-template-columns:1fr 1fr}
  .perf-risk-grid{grid-template-columns:1fr}
  .perf-current-risk-strip{grid-template-columns:1fr}
  .perf-mini-kpi{min-height:82px;padding:10px}
  .perf-mini-val{font-size:22px}
  .perf-drill-row{grid-template-columns:1fr;gap:8px}
  .perf-drill-tags{justify-content:flex-start;max-width:none}
  .perf-drill-next{text-align:left}
  .perf-manager-head,.perf-section-title,.perf-comparison-note{display:block}
  .perf-manager-head .badge{display:inline-flex;margin-top:8px}
  .perf-task-event{grid-template-columns:1fr 1fr;gap:9px}
  .perf-leader-toolbar{display:grid;grid-template-columns:1fr}.perf-data-health{justify-content:flex-start}.perf-leader-section{padding:10px}
  .perf-grid-6,.perf-grid-5{grid-template-columns:1fr 1fr}.perf-leader-card{min-height:84px;padding:10px}.perf-card-value{font-size:22px}
  .perf-leader-customer{grid-template-columns:1fr;gap:8px}.perf-leader-badges{justify-content:flex-start}
  .detail-insight-grid,.detail-tabs-grid{grid-template-columns:1fr}
  .ai-response-grid{grid-template-columns:1fr 1fr}
}
.dd.open{z-index:7000!important}
.ddi{padding:10px 14px!important;color:var(--op-muted)!important}
.ddi:hover{background:var(--op-jade2)!important;color:var(--op-jade)!important}
.task-masonry{overflow:visible!important}
.task-masonry .task-row{page-break-inside:avoid}
.task-row .tmeta{line-height:1.55;color:var(--op-muted)!important}
.task-row .tname{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.task-row .tname span[onclick]{font-size:16px!important}
.task-row .tinfo>div[style*="font-family:monospace"] span{
  border-radius:999px!important;background:rgba(238,245,242,.9)!important;border-color:var(--op-line2)!important;max-width:100%;overflow:hidden;text-overflow:ellipsis;
}
.task-action-grid .ab,.task-action-grid .more-dd-btn{border-radius:999px!important;font-weight:850!important}
.task-action-grid .ab{min-height:34px!important}
.task-action-grid .more-dd-btn{min-height:34px!important;background:rgba(255,255,255,.82)!important}
.dash-filters{background:var(--op-glass2)!important;border:1px solid rgba(255,255,255,.68)!important;box-shadow:var(--op-shadow2),var(--op-inner)!important;border-radius:28px!important}
.dashboard-shell{padding-top:2px!important}
.dash-panel{padding:22px 24px!important}
.dash-section-title{padding:0 0 10px!important;margin-bottom:8px!important}
.dash-dist-list{padding:0 2px 0 0!important}
.dash-dist-row,.dash-task-item,.dash-work-row{padding-left:12px!important;padding-right:12px!important}
.dash-dist-row{margin:0 0 6px!important}
.dash-task-item,.dash-work-row{margin-bottom:6px!important}
.chart-wrap{padding:10px 12px 4px!important}
.crm-hero{padding:30px 32px!important}
.crm-hero-copy{font-size:15px!important;color:var(--op-muted)!important;max-width:560px!important}
.dash-mini-card,.dash-work-row,.dash-task-item,.dash-dist-row{
  background:rgba(255,255,255,.58);border:1px solid rgba(223,232,229,.72);border-radius:16px;
}
.dash-task-item{padding:10px!important}
.chart-wrap canvas{filter:saturate(.92)}
.settings-overlay{background:rgba(23,35,43,.28)!important}
.settings-panel{background:var(--op-glass)!important}
.hub-card,.me-profile,.me-panel{
  background:var(--op-glass2)!important;border:1px solid rgba(255,255,255,.68)!important;box-shadow:var(--op-shadow2),var(--op-inner)!important;border-radius:24px!important;
}
.hub-card{min-height:118px}
.hub-card-title{color:var(--tp)!important;font-size:15px!important}
.hub-card-desc{color:var(--ts)!important}
.me-action{border-radius:18px!important;background:rgba(255,255,255,.66)!important;border-color:var(--op-line2)!important}
.me-avatar{background:linear-gradient(135deg,var(--op-jade),#0f9f90)!important;border-radius:18px!important}
#login-screen{
  background:
    radial-gradient(circle at 8% 8%,rgba(255,244,222,.96),transparent 26%),
    radial-gradient(circle at 86% 10%,rgba(216,243,239,.98),transparent 30%),
    radial-gradient(circle at 50% 98%,rgba(232,238,248,.86),transparent 36%),
    linear-gradient(135deg,#fbfaf5 0%,#eef6f3 52%,#f7efe5 100%)!important;
  perspective:none!important;
}
.log-bg-blueprint{
  background-image:linear-gradient(rgba(23,35,43,.026) 1px,transparent 1px),linear-gradient(90deg,rgba(23,35,43,.022) 1px,transparent 1px)!important;
  background-size:42px 42px!important;opacity:.72!important;animation:none!important;
}
#nexus-canvas,.log-core-glow,.log-corner-marker{display:none!important}
.log-command-center-frame{animation:none!important;opacity:1!important;transform:none!important}
.log-login-card{
  background:var(--op-glass)!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;
  border:1px solid rgba(255,255,255,.74)!important;border-radius:34px!important;padding:42px 38px!important;
  box-shadow:var(--op-shadow),var(--op-inner)!important;
}
.log-login-card::before{display:none!important}
.log-logo-wrapper{border-radius:50%!important;width:64px!important;height:64px!important;background:#fff!important;box-shadow:0 14px 28px rgba(23,35,43,.08)!important}
.log-logo-wrapper::before{display:none!important}
.log-logo-inner{border-radius:50%!important}
.log-title{color:var(--op-ink)!important;letter-spacing:0!important}
.log-subtitle{color:var(--op-muted)!important}
.log-user-btn{background:rgba(255,255,255,.72)!important;border-color:var(--op-line2)!important;border-radius:18px!important;animation:none!important;opacity:1!important}
.log-user-btn:hover{border-color:#bde3dd!important;box-shadow:0 12px 28px rgba(8,122,112,.1)!important;transform:translateY(-1px)!important}
.log-user-btn::before{display:none!important}
.log-avatar{border-radius:999px!important;color:var(--op-jade)!important}
.log-user-btn:hover .log-avatar{background:var(--op-jade)!important;border-color:var(--op-jade)!important}
.log-divider{color:var(--op-muted)!important;letter-spacing:0!important;text-transform:none!important;animation:none!important;opacity:1!important}
.log-admin-btn{background:linear-gradient(135deg,var(--op-jade),#0f9f90)!important;border-radius:999px!important;box-shadow:0 12px 28px rgba(8,122,112,.22)!important;animation:none!important;opacity:1!important}
.log-footer{color:var(--op-muted)!important;animation:none!important;opacity:1!important}
@media(min-width:769px){
  .content{padding-left:18px!important;padding-right:18px!important}
  .dashboard-shell,.tc,.fsec,.task-masonry,.sg3,.sg4,.sg6,.dash-layout,.dash-mini-grid,.dash-dist-grid,.hub-grid,.me-grid{max-width:100%}
  .task-row{display:grid!important;grid-template-columns:36px minmax(0,1fr) 168px;gap:12px!important;align-items:stretch!important}
  .task-row>div:first-child{margin-right:0!important}
  .task-row .tinfo{min-width:0!important}
  .task-row .tr-right{width:auto!important;margin-left:0!important;padding-left:12px!important;min-width:0!important}
  .task-action-grid .ab{min-width:0!important;overflow:hidden}
  .task-action-grid .more-dd-btn{min-width:0!important;overflow:visible!important}
  .task-action-grid .more-dd-btn .dd{z-index:6000}
}
.dashboard-priority{display:none}
.form-modal .modal-footer{background:var(--surface);border-radius:0 0 24px 24px}
.drawer-footer{position:relative;z-index:2}
.sea-card-main{border-left:4px solid var(--warn);border-radius:16px}
.perf-mobile-summary,.ads-mobile-summary,.perf-sales-mobile{display:none}
.mobile-card .badge,.task-row .badge{max-width:100%;overflow:hidden;text-overflow:ellipsis}
.tc-head{background:linear-gradient(180deg,var(--surface),var(--surface2))}
.tscroll{background:var(--surface)}
.batch-action-surface{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:12px;padding:10px 12px;border-radius:var(--r2);align-items:center}
.pc-action-strip{position:sticky;top:84px;z-index:25}
.log-drawer-grid{display:block}
.log-history-panel{margin-top:24px}
body.dark{
  --bg:#121923;
  --surface:#182330;
  --surface2:#202c3a;
  --surface-blur:rgba(24,35,48,.88);
  --border:#334253;
  --border-l:rgba(224,233,239,.11);
  --tp:#f4f7f6;
  --ts:#b6c2cb;
  --tt:#8b9aa6;
  --brand:#40c6b6;
  --brand-l:rgba(64,198,182,.16);
  --brand-h:#5bd8ca;
  --success:#4fd6a3;
  --success-l:rgba(79,214,163,.15);
  --warn:#f2b84b;
  --warn-l:rgba(242,184,75,.16);
  --danger:#ff6b74;
  --danger-l:rgba(255,107,116,.15);
  --teal:#63d4e4;
  --teal-l:rgba(99,212,228,.15);
  --purple:#b9a7ff;
  --purple-l:rgba(185,167,255,.15);
  --op-ink:#f4f7f6;
  --op-muted:#b6c2cb;
  --op-soft:#8b9aa6;
  --op-line:#334253;
  --op-line2:rgba(224,233,239,.12);
  --op-glass:linear-gradient(135deg,rgba(37,49,62,.96),rgba(24,35,48,.82));
  --op-glass2:linear-gradient(180deg,rgba(37,49,62,.94),rgba(24,35,48,.78));
  --op-shadow:0 26px 70px rgba(0,0,0,.36);
  --op-shadow2:0 12px 34px rgba(0,0,0,.28);
  --op-inner:inset 0 1px 0 rgba(255,255,255,.08),inset 0 -1px 0 rgba(0,0,0,.22);
  background:
    radial-gradient(circle at 8% 8%,rgba(64,198,182,.16),transparent 28%),
    radial-gradient(circle at 84% 12%,rgba(242,184,75,.10),transparent 30%),
    linear-gradient(135deg,#101820 0%,#162230 54%,#101720 100%)!important;
}
body.dark::before{opacity:.24;background-image:linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.04) 1px,transparent 1px)}
body.dark .app-brand,
body.dark .app-search,
body.dark .app-actions,
body.dark .fsec,
body.dark .tc,
body.dark .sc,
body.dark .cc,
body.dark .dash-panel,
body.dark .dash-metric,
body.dark .mobile-card,
body.dark .task-row,
body.dark .settings-card,
body.dark .perf-sales-card,
body.dark .crm-hero,
body.dark .crm-hero-metric,
body.dark .dash-filters,
body.dark .hub-card,
body.dark .me-profile,
body.dark .me-panel{
  background:var(--op-glass2)!important;
  border-color:rgba(224,233,239,.13)!important;
  box-shadow:var(--op-shadow2),var(--op-inner)!important;
}
body.dark .app-menu,
body.dark .btn.bg,
body.dark .sbox,
body.dark .fsel,
body.dark .fi,
body.dark .input-field,
body.dark .settings-input,
body.dark .mobile-bottom-nav,
body.dark .dash-mini-card,
body.dark .dash-work-row,
body.dark .dash-task-item,
body.dark .dash-dist-row,
body.dark .mc-contact span,
body.dark .detail-field,
body.dark .info-grid div,
body.dark .customer-table tbody tr,
body.dark .customer-table thead th,
body.dark .tc-head,
body.dark .pbar,
body.dark .tscroll,
body.dark .me-action{
  background:rgba(31,43,56,.86)!important;
  border-color:rgba(224,233,239,.12)!important;
  color:var(--tp)!important;
}
body.dark .customer-table tbody tr:hover td,
body.dark .task-row:hover,
body.dark .mobile-card:hover{
  background:rgba(42,57,72,.92)!important;
}
body.dark .customer-table tbody td{border-bottom-color:rgba(224,233,239,.08)!important}
body.dark .dash-dist-track,
body.dark .ptrack{background:rgba(224,233,239,.13)!important}
body.dark .detail-head,
body.dark .detail-hero,
body.dark .settings-head{background:linear-gradient(135deg,rgba(37,49,62,.96),rgba(24,35,48,.82))!important}
body.dark .dd,
body.dark .customer-table .dd,
body.dark .task-action-grid .dd,
body.dark .more-dd-btn-sm .dd{
  background:#1f2b38!important;
  border-color:rgba(224,233,239,.14)!important;
}
body.dark .ddi{color:var(--ts)!important}
body.dark .ddi:hover{background:rgba(64,198,182,.14)!important;color:var(--brand)!important}
.ai-pending-card{grid-column:1/-1}
.ai-pending-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;padding:14px}
.ai-pending-tile{border:1px solid var(--border-l);background:var(--surface);border-radius:12px;padding:11px 10px;text-align:left;cursor:pointer;min-width:0}
.ai-pending-tile.hot{background:linear-gradient(180deg,rgba(64,198,182,.10),rgba(255,255,255,.86));border-color:rgba(64,198,182,.24)}
.ai-pending-tile b{display:block;font-size:22px;line-height:1;color:var(--brand);margin-bottom:5px}
.ai-pending-tile span{display:block;font-size:12px;font-weight:900;color:var(--tp);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ai-pending-tile small{display:block;font-size:11px;color:var(--tt);line-height:1.35;margin-top:4px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.ai-more-wrap{display:inline-block;position:relative;vertical-align:top}
.ai-more-wrap>summary{list-style:none;display:inline-flex}
.ai-more-wrap>summary::-webkit-details-marker{display:none}
.ai-more-menu{position:absolute;right:0;top:calc(100% + 6px);z-index:30;width:156px;background:var(--surface);border:1px solid var(--border-l);border-radius:12px;box-shadow:var(--sh);padding:6px}
.ai-more-menu .ddi{display:block;width:100%;border:0;background:transparent;text-align:left;border-radius:8px;padding:8px 9px;font-size:12px;line-height:1.25;color:var(--ts);cursor:pointer}
.ai-more-menu .ddi.danger{color:var(--danger)}
.ai-more-menu .ddi:hover{background:var(--surface2);color:var(--brand)}
@media(min-width:1280px){
  #log-drawer .drawer{width:min(920px,92vw)!important}
  #log-drawer .drawer-body{padding:0!important;display:grid;grid-template-columns:minmax(0,1fr) 340px;overflow:hidden}
  #log-drawer .log-form-panel{padding:24px 28px;overflow:auto}
  #log-drawer .log-history-panel{margin-top:0;padding:24px 22px;border-left:1px solid var(--border-l);background:var(--surface2);overflow:auto}
  #log-drawer .log-history-panel #drawer-hist-list .hist-item{background:var(--surface);border:1px solid var(--border-l);border-radius:var(--r);padding:10px;margin-bottom:8px}
  #log-drawer .drawer-footer{padding:14px 28px}
}

@media(max-width:768px){
  :root{--mobile-nav-safe:108px}
  #app{padding:10px 10px 118px!important}
  .app-topbar{grid-template-columns:1fr;top:auto;margin-bottom:12px}
  .app-brand,.app-search,.app-actions{border-radius:22px}
  .app-actions{justify-content:space-between}.app-actions .btn{flex:1;justify-content:center}
  .main-wrap{margin-left:0!important;width:auto!important;max-width:100%!important}
  #main{width:auto!important;max-width:100%!important}
  .op-section-title{display:block;margin-top:4px}.op-section-actions{justify-content:flex-start;margin-top:10px;overflow:auto;flex-wrap:nowrap;padding-bottom:2px}
  .crm-hero{border-radius:26px;padding:18px}
  .crm-hero-grid{grid-template-columns:1fr}
  .crm-hero-grid>div:first-child{min-height:86px}
  .crm-hero-title{font-size:28px}
  .crm-hero-metrics{grid-template-columns:1fr 1fr}
  #main{padding-bottom:var(--mobile-nav-safe)}
  .main-wrap{padding-bottom:var(--mobile-nav-safe)}
  .content{padding:14px 12px calc(var(--mobile-nav-safe) + 14px)!important;width:auto!important;max-width:100%!important}
  .crm-studio-content{width:auto!important;max-width:100%!important}
  .app-topbar{width:100%!important;max-width:100%!important}
  .app-brand,.app-search,.app-actions{min-width:0!important;width:100%!important}
  .crm-hero,.fsec,.tc,.dash-panel,.dash-metric,.mobile-card,.task-row,.hub-card,.me-profile,.me-panel{max-width:100%!important}
  .topbar{padding:12px 14px!important}
  .tb-right{overflow-x:auto;scrollbar-width:none}
  .tb-right::-webkit-scrollbar{display:none}
  .overlay{align-items:flex-end;padding:10px 10px calc(10px + env(safe-area-inset-bottom))!important}
  .modal{max-height:calc(100vh - 24px)!important;margin:0!important;width:100%!important;border-radius:22px!important}
  .modal-body,.simple-body{padding:16px 14px!important}
  .modal-footer{padding:10px 14px calc(12px + env(safe-area-inset-bottom))!important;gap:8px;flex-wrap:wrap}
  .modal-footer .btn{flex:1;justify-content:center;min-height:38px}
  .form-modal{height:calc(100vh - 20px);max-height:calc(100vh - 20px)!important}
  .form-modal .modal-header{padding:16px 14px 0}
  .form-modal .modal-top{align-items:flex-start;gap:10px}
  .form-modal .modal-title{font-size:16px;line-height:1.4;display:block!important}
  .form-modal .tabs{margin:0 -14px;padding:0 14px;gap:6px;border-bottom:1px solid var(--border-l)}
  .form-modal .tab{border:1px solid var(--border-l);border-radius:999px;margin:0 0 10px;padding:8px 12px;background:var(--surface2)}
  .form-modal .tab.on{background:var(--brand);color:#fff;border-color:var(--brand)}
  .form-modal .modal-body{padding-bottom:88px!important}
  .form-modal .modal-footer{position:sticky;bottom:0;box-shadow:0 -10px 24px rgba(15,23,42,.08)}
  .drawer-overlay{align-items:stretch;justify-content:center}
  .drawer{width:100%!important;max-width:100%!important;height:100%!important;border-radius:0!important}
  .drawer-header{padding:18px 56px 14px 18px!important}
  .drawer-body{padding:16px 18px calc(var(--mobile-nav-safe) + 20px)!important}
  .drawer-footer{padding:10px 18px calc(14px + env(safe-area-inset-bottom))!important;gap:8px;display:grid!important;grid-template-columns:1fr 1fr}
  #log-drawer .drawer-body{display:block!important;overflow-y:auto!important}
  #log-drawer .log-form-panel{padding:0!important}
  #log-drawer .log-history-panel{padding:0!important;margin-top:24px!important;border-left:none!important;background:transparent!important}
  .drawer-footer .btn,.drawer-footer .btn-primary,.drawer-footer .btn-ghost,.drawer-footer .btn-lt{justify-content:center;width:100%;padding:11px 10px}
  .checkin-type-grid,.checkin-source-grid,.contact-state-grid{grid-template-columns:1fr!important}
  .checkin-section{padding:12px!important;border-radius:14px!important;margin-bottom:12px!important}
  .checkin-heading{align-items:flex-start!important}
  .rating-help{grid-template-columns:1fr!important}
  .fsec{padding:12px!important;border-radius:18px!important;margin-bottom:12px!important}
  .frow{display:grid!important;grid-template-columns:1fr;gap:8px!important}
  .frow+.frow{margin-top:10px!important;padding-top:10px!important}
  .sbox,.fsel{width:100%!important;max-width:none!important;min-width:0!important}
  .pill{min-height:32px}
  .pbar{position:relative!important;padding:10px 8px calc(10px + env(safe-area-inset-bottom))!important;justify-content:center}
  .pinfo{flex:0 0 100%;text-align:center}
  .mobile-bottom-nav{left:12px!important;right:12px!important;bottom:calc(12px + env(safe-area-inset-bottom))!important;transform:none!important;width:auto!important;border-radius:999px!important;padding:7px!important;background:var(--op-glass)!important;border:1px solid rgba(255,255,255,.74)!important;box-shadow:0 18px 44px rgba(15,23,42,.18)!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
  .mb-item{border-radius:999px!important}
  .mobile-list{padding-bottom:calc(var(--mobile-nav-safe) + 8px)!important}
  .mobile-card{padding:16px!important;margin-bottom:12px!important;border-radius:18px!important}
  .mobile-card .mc-follow-up{border-radius:14px!important}
  .mc-header{padding-right:34px!important;align-items:flex-start!important}
  .mc-name{line-height:1.35}
  .mc-acts{display:grid!important;grid-template-columns:1fr 1fr 42px;gap:8px!important}
  .mc-acts .ab,.mc-acts .btn-primary-sm,.mc-acts .btn-secondary-sm{height:40px;justify-content:center}
  .task-row{display:grid!important;grid-template-columns:34px 1fr!important;gap:10px!important;padding:14px!important;border-radius:18px!important}
  .task-row .tinfo{min-width:0!important;width:100%!important}
  .task-row .tr-right{grid-column:1/-1!important;width:100%!important;border-left:none!important;border-top:1px dashed var(--border-l)!important;margin-left:0!important;padding-left:0!important;padding-top:12px!important;display:grid!important;grid-template-columns:1fr!important;align-items:stretch!important}
  .task-row .tr-right>div:first-child{align-items:flex-start!important;width:100%!important}
  .task-row .tr-right>div:first-child>div:first-child{font-size:12px!important;margin-bottom:8px}
  .task-row .tr-right>div:first-child>div:last-child{position:absolute;right:14px;top:14px}
  .task-row .tr-right>div:last-child,.task-row .task-action-grid{display:grid!important;grid-template-columns:1fr 1fr!important;width:100%!important;gap:8px!important}
  .task-row .tr-right .more-dd-btn,.task-row .task-action-grid .more-dd-btn{width:100%!important;height:40px!important;min-height:40px!important;font-size:12px!important;justify-content:center!important;gap:6px!important}
  .task-row .tr-right .ab,.task-row .task-action-grid .ab{height:40px!important;min-height:40px!important;font-size:12px!important;justify-content:center!important;padding:0 8px!important}
  .task-row .task-action-grid .dd{right:0!important;left:auto!important;width:calc(200% + 8px)!important;min-width:220px!important}
  .task-masonry{columns:1!important;column-gap:0}
  .task-masonry .task-row{display:grid!important;width:100%!important;break-inside:avoid;margin-bottom:12px!important}
  .task-claim-note{font-size:12px}
  .ai-metric-grid{grid-template-columns:1fr 1fr!important;gap:9px!important}
  .ai-metric{border-radius:18px!important;padding:13px!important}
  .ai-metric strong{font-size:24px!important}
  .ai-runtime-grid{grid-template-columns:1fr 1fr!important;padding:12px!important}
  .ai-runtime-current{grid-column:1/-1}
  .ai-insight-grid{grid-template-columns:1fr!important}
  .ai-pending-grid{grid-template-columns:1fr 1fr!important}
  .ai-filter-tools,.ai-filter-tools .sbox,.ai-filter-tools .fsel{width:100%!important;min-width:0!important}
  .ai-filter-row{display:grid!important;grid-template-columns:1fr!important}
  .ai-bulkbar{display:grid!important;grid-template-columns:1fr!important}
  .sg3,.sg4,.sg6,.cg2,.cg3,.db3,.g2,.g3{grid-template-columns:1fr!important}
  .sc{padding:14px!important}
  .sc-val{font-size:24px!important}
  .cc{padding:14px!important}
  .dash-filters{padding:12px!important;border-radius:18px!important}
  .dashboard-priority{display:block}
  .dash-dist-list,.dash-dist-list.tall{max-height:none!important;overflow:visible!important}
  .dash-dist-row{grid-template-columns:minmax(88px,1.1fr) minmax(96px,1.4fr) 34px!important;padding:8px 10px!important;gap:8px!important;margin-bottom:7px!important}
  .dash-dist-name{font-size:12px!important;white-space:nowrap!important}
  .dash-dist-track{display:block!important;min-width:86px!important}
  .dash-dist-val{display:block!important;text-align:right!important}
  .dash-panel{padding:18px 16px!important}
  .chart-wrap{height:190px!important;padding:8px 4px 4px!important;overflow:visible!important}
  .perf-mobile-summary,.ads-mobile-summary{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:12px}
  .perf-stat-grid,.ads-stat-grid{display:none!important}
  .perf-mobile-summary + .tc{margin-top:10px}
  .perf-sales-mobile{display:grid;gap:10px;margin-bottom:14px}
  .perf-sales-card{background:var(--surface);border:1px solid var(--border-l);border-radius:18px;padding:14px;box-shadow:var(--sh)}
  .perf-sales-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}
  .perf-sales-name{font-size:15px;font-weight:800;color:var(--tp)}
  .perf-sales-rate{font-size:12px;font-weight:800;color:var(--brand);background:var(--brand-l);border:1px solid rgba(0,102,204,.14);border-radius:999px;padding:4px 8px}
  .perf-sales-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}
  .perf-sales-metric{background:var(--surface2);border:1px solid var(--border-l);border-radius:12px;padding:9px}
  .perf-sales-label{font-size:11px;color:var(--tt);font-weight:800;margin-bottom:5px}
  .perf-sales-value{font-size:16px;font-weight:800;color:var(--tp)}
  .sg6 + .ads-mobile-summary{margin-top:-4px}
  .settings-panel{bottom:calc(76px + env(safe-area-inset-bottom));height:calc(92vh - 76px);border-radius:22px}
}

