
:root{
  --bg:#f3f6fb;--surface:#ffffff;--surface-2:#eef3f9;--text:#0b1830;--muted:#617087;
  --line:#dfe6ef;--primary:#2468f2;--primary-dark:#1554d8;--blue-soft:#e8f0ff;
  --green:#16a35a;--green-soft:#e8f8ef;--yellow:#b87900;--yellow-soft:#fff5d9;
  --red:#dc3038;--red-soft:#ffebed;--orange:#ed6a16;--purple:#7a37ed;--teal:#12a89d;
  --radius:22px;--shadow:0 10px 28px rgba(24,48,84,.08);
  --nav-w:245px;
}
*{box-sizing:border-box}
html,body{margin:0;min-height:100%;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--text);background:var(--bg)}
button,input,select,textarea{font:inherit}
button{cursor:pointer}
a{color:inherit}
.hidden{display:none!important}
.app-shell{min-height:100vh}
.preview-banner{position:fixed;z-index:80;left:50%;top:12px;transform:translateX(-50%);background:#0b1830;color:#fff;border-radius:999px;padding:7px 13px;font-size:12px;box-shadow:var(--shadow)}
.sidebar{position:fixed;inset:0 auto 0 0;width:var(--nav-w);background:#0d1b33;color:#fff;padding:28px 16px 18px;z-index:40;display:flex;flex-direction:column}
.brand{display:flex;align-items:center;gap:12px;padding:0 10px 26px}
.brand-mark{display:grid;place-items:center;width:42px;height:42px;border-radius:14px;background:linear-gradient(145deg,#2a73ff,#174bc6);font-weight:900;font-size:19px}
.brand strong{display:block;font-size:18px}.brand small{color:#aebbd0}
.nav{display:flex;flex-direction:column;gap:5px;overflow:auto;padding-right:2px}
.nav-btn{display:flex;align-items:center;gap:11px;border:0;background:transparent;color:#c7d1e3;padding:12px 13px;border-radius:13px;text-align:left;font-weight:750}
.nav-btn:hover,.nav-btn.active{background:#1a2b49;color:#fff}
.nav-icon{width:24px;text-align:center;font-size:16px}
.sidebar-foot{margin-top:auto;border-top:1px solid #263754;padding-top:14px}
.sidebar-foot button{width:100%}
.main{margin-left:var(--nav-w);min-height:100vh;padding:26px 30px 80px}
.topbar{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:26px}
.page-title h1{font-size:34px;margin:0 0 4px;letter-spacing:-.04em}.page-title p{margin:0;color:var(--muted);font-weight:600}
.top-actions{display:flex;gap:10px;align-items:center}
.search{position:relative;min-width:360px}
.search input{width:100%;height:48px;border:1px solid var(--line);background:var(--surface);border-radius:15px;padding:0 44px 0 16px;outline:none}
.search button{position:absolute;right:5px;top:5px;width:38px;height:38px;border:0;background:transparent}
.pill{height:48px;padding:0 15px;border-radius:15px;border:1px solid var(--line);background:var(--surface);font-weight:800;color:var(--text)}
.primary{background:var(--primary)!important;color:#fff!important;border-color:var(--primary)!important}
.primary:hover{background:var(--primary-dark)!important}
.icon-btn{width:48px;padding:0;font-size:24px}
.grid{display:grid;gap:18px}
.metrics{grid-template-columns:repeat(5,minmax(0,1fr))}
.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}
.metric{padding:22px;display:flex;gap:15px;align-items:center;min-height:138px}
.metric-icon{width:58px;height:58px;display:grid;place-items:center;border-radius:50%;font-size:24px;color:#fff;flex:0 0 auto}
.metric:nth-child(1) .metric-icon{background:var(--primary)}
.metric:nth-child(2) .metric-icon{background:var(--green)}
.metric:nth-child(3) .metric-icon{background:var(--orange)}
.metric:nth-child(4) .metric-icon{background:var(--purple)}
.metric:nth-child(5) .metric-icon{background:var(--teal)}
.metric-label{font-size:14px;font-weight:850}.metric-value{font-size:34px;line-height:1;font-weight:900;margin:5px 0}.metric-sub{font-size:13px;color:var(--muted);font-weight:700}
.dashboard-grid{grid-template-columns:1.45fr .85fr;margin-top:18px}
.section-card{padding:24px}
.section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:20px}
.section-head h2{margin:0 0 5px;font-size:22px;letter-spacing:-.025em}.section-head p{margin:0;color:var(--muted);font-weight:600;font-size:14px}
.btn{border:1px solid var(--line);background:#fff;color:var(--text);border-radius:12px;padding:10px 14px;font-weight:800}
.btn:hover{background:#f7f9fc}
.btn-sm{padding:8px 11px;font-size:13px}
.btn-danger{color:var(--red);border-color:#ffc9cc;background:#fff}
.progress-row{margin:18px 0}
.progress-meta{display:flex;justify-content:space-between;font-size:13px;font-weight:850;margin-bottom:8px}
.progress-track{height:11px;background:#e7edf5;border-radius:99px;overflow:hidden}
.progress-fill{height:100%;border-radius:99px;background:linear-gradient(90deg,#2468f2,#4b85ff)}
.timing-list{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.timing{border:1px solid var(--line);border-radius:14px;padding:13px}
.timing-top{display:flex;align-items:center;justify-content:space-between;gap:8px;font-weight:850}
.dot{width:11px;height:11px;border-radius:50%}.dot.blue{background:#2b69e8}.dot.yellow{background:#e3a10a}.dot.green{background:#19a35b}.dot.red{background:#db3038}
.timing small{display:block;color:var(--muted);margin-top:5px}
.stop-list{display:flex;flex-direction:column;gap:12px}
.stop-card{border:1px solid var(--line);border-radius:17px;padding:15px;display:grid;grid-template-columns:auto 1fr auto;gap:14px;align-items:center}
.stop-number{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:var(--primary);color:#fff;font-weight:900}
.stop-main strong{display:block;font-size:15px;margin-bottom:4px}.stop-main span{display:block;color:var(--muted);font-size:13px}
.badge{display:inline-flex;align-items:center;border-radius:99px;padding:5px 9px;font-size:11px;font-weight:900;margin-top:8px}
.badge.blue{background:var(--blue-soft);color:#1c59cf}.badge.yellow{background:var(--yellow-soft);color:#946000}.badge.green{background:var(--green-soft);color:#118348}.badge.red{background:var(--red-soft);color:#c41f2a}
.stop-actions{display:flex;gap:7px}
.empty{padding:45px 22px;text-align:center;color:var(--muted)}
.placeholder-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.placeholder{padding:22px;min-height:170px}
.placeholder h3{margin:12px 0 7px}.placeholder p{color:var(--muted);line-height:1.5}
.module-icon{width:48px;height:48px;border-radius:15px;display:grid;place-items:center;background:var(--blue-soft);font-size:21px}
.route-layout{display:grid;grid-template-columns:1.4fr .7fr;gap:18px}
.route-list{display:flex;flex-direction:column;gap:13px}
.route-card{padding:18px;display:grid;grid-template-columns:auto 1fr auto;gap:14px;align-items:center}
.route-card .route-number{width:42px;height:42px;display:grid;place-items:center;border-radius:50%;background:var(--green);color:#fff;font-weight:900}
.route-card h3{margin:0 0 5px}.route-card p{margin:0;color:var(--muted)}
.map-mock{min-height:430px;position:sticky;top:20px;overflow:hidden;background:
 radial-gradient(circle at 25% 35%,#b9d8ff 0 4px,transparent 5px),
 radial-gradient(circle at 62% 22%,#ff646b 0 5px,transparent 6px),
 radial-gradient(circle at 73% 63%,#20aa63 0 5px,transparent 6px),
 linear-gradient(35deg,transparent 47%,#cbd8e7 48% 51%,transparent 52%),
 linear-gradient(140deg,transparent 44%,#d5e0ed 45% 48%,transparent 49%),
 #edf3f8}
.map-mock:after{content:"Route Map Preview";position:absolute;left:18px;bottom:18px;background:#fff;padding:10px 13px;border-radius:12px;font-weight:850;box-shadow:var(--shadow)}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}
.field label{display:block;font-size:13px;font-weight:850;margin:0 0 7px}
.field input,.field select,.field textarea{width:100%;border:1px solid var(--line);background:#fff;border-radius:12px;padding:12px 13px;outline:none}
.field textarea{min-height:100px;resize:vertical}
.field.full{grid-column:1/-1}
.settings-grid{grid-template-columns:1fr 1fr}
.setting-card{padding:22px}
.setting-card h2{margin:0 0 7px}.setting-card p{margin:0 0 18px;color:var(--muted)}
.table{width:100%;border-collapse:collapse}
.table th,.table td{text-align:left;padding:13px;border-bottom:1px solid var(--line);font-size:13px}.table th{color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:.05em}
.modal-backdrop{position:fixed;inset:0;background:rgba(8,18,36,.56);display:grid;place-items:center;padding:20px;z-index:100}
.modal{width:min(620px,100%);max-height:90vh;overflow:auto;background:#fff;border-radius:24px;box-shadow:0 24px 80px rgba(0,0,0,.26)}
.modal-head{display:flex;align-items:center;justify-content:space-between;padding:21px 22px;border-bottom:1px solid var(--line)}
.modal-head h2{margin:0}.modal-body{padding:22px}.modal-foot{display:flex;justify-content:flex-end;gap:10px;padding:0 22px 22px}
.close{border:0;background:#eef3f9;border-radius:50%;width:36px;height:36px;font-size:20px}
.choice-row{display:flex;flex-wrap:wrap;gap:9px}
.choice{border:1px solid var(--line);background:#fff;border-radius:12px;padding:10px 12px;font-weight:800}
.choice.active{background:var(--blue-soft);border-color:#8bb0ff;color:#1f5fd7}
.toast{position:fixed;right:22px;bottom:24px;background:#101d34;color:#fff;border-radius:14px;padding:14px 17px;box-shadow:var(--shadow);z-index:110;font-weight:750}
.login{min-height:100vh;display:grid;place-items:center;padding:25px;background:
 radial-gradient(circle at 15% 20%,rgba(36,104,242,.12),transparent 28%),
 radial-gradient(circle at 85% 75%,rgba(18,168,157,.10),transparent 24%),var(--bg)}
.login-card{width:min(440px,100%);padding:30px}
.login-brand{text-align:center;margin-bottom:24px}.login-brand .brand-mark{margin:auto}.login-brand h1{margin:15px 0 4px}.login-brand p{margin:0;color:var(--muted)}
.login .field{margin-bottom:14px}.login-actions{display:grid;gap:10px;margin-top:18px}
.login-note{margin-top:15px;border-radius:13px;background:var(--surface-2);padding:12px;color:var(--muted);font-size:12px;line-height:1.5}
.mobile-bottom{display:none}
.mobile-menu{display:none}
@media(max-width:1200px){
  .metrics{grid-template-columns:repeat(3,1fr)}
  .placeholder-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:900px){
  .sidebar{transform:translateX(-100%);transition:.25s}.sidebar.open{transform:translateX(0)}
  .main{margin-left:0;padding:18px 16px 92px}
  .mobile-menu{display:inline-grid;place-items:center}
  .topbar{align-items:flex-start}.top-actions{flex-wrap:wrap;justify-content:flex-end}
  .search{order:3;width:100%;min-width:0}
  .page-title h1{font-size:29px}
  .dashboard-grid,.route-layout,.settings-grid{grid-template-columns:1fr}
  .map-mock{position:relative;top:auto;min-height:300px}
  .mobile-bottom{display:grid;grid-template-columns:repeat(6,1fr);position:fixed;left:0;right:0;bottom:0;background:#fff;border-top:1px solid var(--line);z-index:60;padding:7px 7px max(7px,env(safe-area-inset-bottom))}
  .mobile-bottom button{border:0;background:transparent;padding:7px 2px;color:var(--muted);font-size:10px;font-weight:800}.mobile-bottom button.active{color:var(--primary)}
  .mobile-bottom span{display:block;font-size:19px;margin-bottom:3px}
}
@media(max-width:680px){
  .preview-banner{top:6px;font-size:10px}
  .topbar{padding-top:17px}.top-actions .location-pill{display:none}
  .metrics{grid-template-columns:1fr 1fr;gap:11px}.metric{min-height:118px;padding:16px}.metric-icon{width:46px;height:46px}.metric-value{font-size:28px}
  .metric:nth-child(5){grid-column:1/-1}
  .dashboard-grid{gap:12px}.section-card{padding:17px}.section-head{display:block}.section-head .btn{margin-top:12px}
  .timing-list{grid-template-columns:1fr}.stop-card{grid-template-columns:auto 1fr}.stop-actions{grid-column:1/-1;padding-left:52px}
  .placeholder-grid{grid-template-columns:1fr}.route-card{grid-template-columns:auto 1fr}.route-card>.btn{grid-column:1/-1}
  .form-grid{grid-template-columns:1fr}.field.full{grid-column:auto}
  .top-actions{gap:7px}.pill{height:44px}.icon-btn{width:44px}.search input{height:44px}
  .page-title p{font-size:13px}
}

.user-card{display:flex;align-items:center;gap:10px;padding:10px 11px;border-radius:13px;background:#152744;margin-bottom:10px}
.user-avatar{width:36px;height:36px;display:grid;place-items:center;border-radius:50%;background:#2468f2;font-weight:900}
.user-card strong{display:block;font-size:13px}.user-card small{display:block;color:#aebbd0;font-size:11px;max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.system-result{margin-top:14px;border:1px solid var(--line);background:var(--surface-2);border-radius:13px;padding:13px;font-size:13px;line-height:1.5}
.install-wrap{min-height:100vh;padding:38px 20px;background:radial-gradient(circle at 15% 20%,rgba(36,104,242,.12),transparent 28%),radial-gradient(circle at 85% 75%,rgba(18,168,157,.10),transparent 24%),var(--bg)}
.install-container{width:min(920px,100%);margin:auto}.install-header{text-align:center;margin-bottom:24px}.install-header .brand-mark{margin:auto}.install-header h1{margin:15px 0 6px}.install-header p{margin:0;color:var(--muted)}
.install-card{padding:26px}.install-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:20px 0}.install-step{border:1px solid var(--line);border-radius:14px;padding:14px;background:#fff}.install-step strong{display:block;margin-bottom:4px}.install-step span{color:var(--muted);font-size:12px}
.alert{border-radius:13px;padding:13px 15px;margin-bottom:16px;font-weight:700;line-height:1.45}.alert.error{background:var(--red-soft);color:#a51721;border:1px solid #ffc7cb}.alert.success{background:var(--green-soft);color:#0e713d;border:1px solid #bce8cf}.alert.info{background:var(--blue-soft);color:#174cad;border:1px solid #bfd2ff}
.code-note{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;background:#0d1b33;color:#d9e5f7;border-radius:11px;padding:11px;overflow:auto;font-size:12px}
@media(max-width:680px){.install-steps{grid-template-columns:1fr}.install-card{padding:18px}}
/* Version 0.3 — Accounts module */
.badge.gray{background:#edf1f6;color:#5d6a7d}.badge.category-badge{background:#eef0ff;color:#4e43bb}.badge.route-badge{background:#e7f7fb;color:#08788b}
.metric-click{cursor:pointer;transition:transform .18s ease,box-shadow .18s ease}.metric-click:hover{transform:translateY(-2px);box-shadow:0 14px 34px rgba(24,48,84,.12)}
.account-summary{grid-template-columns:repeat(5,minmax(0,1fr));margin-bottom:18px}
.accounts-shell{padding:22px}.account-section-head{align-items:center}
.account-toolbar{display:grid;grid-template-columns:minmax(280px,1.6fr) repeat(6,minmax(125px,.65fr)) auto auto;gap:9px;align-items:center;margin-bottom:18px}
.account-toolbar select,.filter-search input{height:43px;border:1px solid var(--line);border-radius:12px;background:#fff;padding:0 11px;min-width:0;color:var(--text)}
.filter-search{position:relative}.filter-search input{width:100%;padding-right:38px}.filter-search span{position:absolute;right:12px;top:10px;color:var(--muted)}
.view-switch{display:flex;border:1px solid var(--line);border-radius:12px;overflow:hidden;height:43px}.view-switch button{width:42px;border:0;background:#fff;color:var(--muted);font-size:18px}.view-switch button.active{background:var(--blue-soft);color:var(--primary)}
.account-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}
.account-card{padding:18px;position:relative;overflow:hidden;border-left-width:5px;box-shadow:0 7px 22px rgba(24,48,84,.06)}
.account-card.timing-overdue{border-left-color:var(--red)}.account-card.timing-perfect{border-left-color:var(--green)}.account-card.timing-due{border-left-color:#e2a20b}.account-card.timing-tooSoon{border-left-color:#2b69e8}.account-card.timing-unvisited{border-left-color:#8995a8}
.account-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.account-card-head h3{margin:0;font-size:18px;letter-spacing:-.02em}.account-card-head p{margin:4px 0 0;color:var(--muted);font-size:13px;font-weight:650}
.account-title-row{display:flex;align-items:center;flex-wrap:wrap;gap:7px}.account-more{width:35px;height:35px;border:0;border-radius:10px;background:#eef3f9;color:var(--muted);font-weight:900}
.account-badges{display:flex;flex-wrap:wrap;gap:6px;margin:13px 0}
.account-facts{display:grid;grid-template-columns:1fr 1fr;gap:10px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:13px 0;margin-bottom:13px}
.account-facts span,.account-facts small{display:block;color:var(--muted);font-size:11px}.account-facts strong{display:block;font-size:14px;margin:3px 0}
.account-contact-lines{display:grid;gap:7px;font-size:13px;min-height:70px}.account-contact-lines a,.account-contact-lines span,.link-button{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted);text-decoration:none}
.link-button{border:0;background:transparent;padding:0;text-align:left;cursor:pointer}
.tag-row{display:flex;gap:6px;flex-wrap:wrap;margin-top:12px}.tag{background:#f0f4f9;color:#526176;border:1px solid #e0e7ef;border-radius:999px;padding:5px 8px;font-size:11px;font-weight:800}
.account-card-actions{display:flex;gap:7px;flex-wrap:wrap;margin-top:14px}
.account-empty{border:1px dashed var(--line);border-radius:18px}.empty-icon{font-size:34px;margin-bottom:10px}
.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:15px}.account-table{min-width:980px}.account-table td:first-child strong,.account-table td:first-child small{display:block}.account-table td:first-child small{color:var(--muted);margin-top:3px}.table-actions{display:flex;gap:6px;justify-content:flex-end}
.modal-wide{width:min(900px,100%)}.modal-sub{margin:4px 0 0;color:var(--muted);font-size:13px}.form-section{border:1px solid var(--line);border-radius:16px;padding:17px;margin-bottom:14px}.form-section h3{margin:0 0 14px;font-size:16px}.check-line{display:flex!important;align-items:center;gap:9px;font-weight:750!important}.check-line input{width:auto!important}
.account-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.account-detail-grid>section{border:1px solid var(--line);border-radius:16px;padding:17px}.account-detail-grid h3{margin:0 0 12px}.full-detail{grid-column:1/-1}
.detail-line{display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid var(--line);padding:9px 0}.detail-line:last-child{border-bottom:0}.detail-line span{color:var(--muted);font-size:13px}
.detail-actions{display:flex;gap:7px;flex-wrap:wrap}.notes-box{white-space:pre-wrap;line-height:1.55;background:var(--surface-2);border-radius:12px;padding:13px}.muted{color:var(--muted)}
.section-head.mini{margin-bottom:10px}.section-head.mini h3{margin:0}.visit-history{display:grid;gap:10px}.visit-history article{border-left:3px solid var(--primary);background:var(--surface-2);border-radius:0 12px 12px 0;padding:12px}.visit-history p{margin:4px 0}.visit-history small{color:var(--muted)}.visit-history blockquote{margin:9px 0 0;padding:9px 11px;background:#fff;border-radius:9px;color:#415069}.visit-date{float:right;color:var(--muted);font-size:12px}.empty.compact{padding:20px}
@media(max-width:1450px){.account-toolbar{grid-template-columns:minmax(260px,1.4fr) repeat(4,minmax(120px,.7fr));}.account-toolbar>:nth-child(n+6){grid-row:2}.account-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:1200px){.account-summary{grid-template-columns:repeat(3,1fr)}}
@media(max-width:900px){.account-toolbar{grid-template-columns:1fr 1fr}.filter-search{grid-column:1/-1}.account-toolbar>:nth-child(n){grid-row:auto}.account-card-grid{grid-template-columns:1fr}.account-summary{grid-template-columns:repeat(2,1fr)}}
@media(max-width:680px){.account-summary{grid-template-columns:1fr 1fr;gap:10px}.account-summary .metric{min-height:104px}.accounts-shell{padding:15px}.account-toolbar{grid-template-columns:1fr}.filter-search{grid-column:auto}.account-toolbar select,.account-toolbar .btn,.view-switch{width:100%}.view-switch button{width:50%}.account-card{padding:15px}.account-facts{grid-template-columns:1fr}.account-detail-grid{grid-template-columns:1fr}.full-detail{grid-column:auto}.modal-wide{width:100%;height:100%;max-height:100%;border-radius:0}.modal-backdrop{padding:0}.modal-foot{position:sticky;bottom:0;background:#fff;border-top:1px solid var(--line);padding-top:14px}.form-section{padding:13px}}

/* Version 0.4 — Contacts & Relationship Memory */
.contacts-shell{padding:22px}.contact-toolbar{display:grid;grid-template-columns:minmax(270px,1.5fr) repeat(7,minmax(125px,.65fr)) auto auto;gap:9px;align-items:center;margin-bottom:18px}
.contact-toolbar select,.contact-toolbar input{height:43px;border:1px solid var(--line);border-radius:12px;background:#fff;padding:0 11px;min-width:0;color:var(--text)}
.contact-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}
.contact-card{padding:18px;border-left-width:5px;box-shadow:0 7px 22px rgba(24,48,84,.06)}
.contact-card.timing-overdue{border-left-color:var(--red)}.contact-card.timing-perfect{border-left-color:var(--green)}.contact-card.timing-due{border-left-color:#e2a20b}.contact-card.timing-tooSoon{border-left-color:#2b69e8}.contact-card.timing-unvisited{border-left-color:#8995a8}
.contact-card-head{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:start}.contact-avatar{width:48px;height:48px;border-radius:50%;display:grid;place-items:center;background:#eaf0f8;color:#0d1b33;font-size:16px;font-weight:900}.contact-avatar.large{width:76px;height:76px;font-size:24px;background:var(--primary);color:#fff}
.contact-card-title h3{margin:0;font-size:18px}.contact-card-title p{margin:3px 0;color:var(--muted);font-size:13px}.company-link{border:0;background:transparent;padding:0;color:var(--primary);font-weight:800;text-align:left}
.contact-lines{display:grid;gap:7px;font-size:13px;min-height:72px}.contact-lines a,.contact-lines span{color:var(--muted);text-decoration:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.contact-stats{display:grid;grid-template-columns:1.4fr .7fr .7fr;gap:8px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:12px 0;margin:13px 0}.contact-stats span,.contact-next span{display:block;color:var(--muted);font-size:11px}.contact-stats strong{display:block;margin-top:4px;font-size:13px}.contact-next{background:var(--surface-2);border-radius:12px;padding:11px}.contact-next strong{display:block;margin-top:4px;font-size:13px;line-height:1.35}
.active-filter-chip{display:flex;align-items:center;gap:8px;width:max-content;max-width:100%;background:var(--blue-soft);border:1px solid #bfd2ff;border-radius:999px;padding:7px 10px;margin:-5px 0 14px;color:#174cad;font-size:12px}.active-filter-chip button{border:0;background:transparent;color:inherit;font-weight:900}
.contact-detail-modal{width:min(1180px,100%)}.contact-profile-hero{display:grid;grid-template-columns:auto 1fr auto;gap:18px;align-items:center;padding:18px;border:1px solid var(--line);border-radius:18px;margin-bottom:16px}.contact-profile-hero h2{margin:0 0 4px}.contact-profile-hero p{margin:0;color:var(--muted)}.profile-actions{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}
.snapshot-card{border:2px solid #bdd1ff;background:linear-gradient(135deg,#f8fbff,#edf4ff);border-radius:18px;padding:18px;margin-bottom:16px}.snapshot-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.snapshot-grid>div{background:#fff;border:1px solid #dce7fb;border-radius:13px;padding:12px}.snapshot-grid span{display:block;color:var(--muted);font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.04em}.snapshot-grid strong,.snapshot-grid p{display:block;margin:6px 0 0;line-height:1.45}.snapshot-wide{grid-column:span 2}.snapshot-empty{background:#fff;border-radius:13px;padding:18px}.snapshot-empty p{margin-bottom:0;color:var(--muted)}
.contact-detail-layout{display:grid;grid-template-columns:1fr 1fr;gap:15px}.detail-panel{border:1px solid var(--line);border-radius:16px;padding:17px}.detail-panel.full-detail{grid-column:1/-1}
.relationship-notes{display:grid;gap:10px}.relationship-notes article{background:var(--surface-2);border-radius:12px;padding:12px}.relationship-notes strong{display:block}.relationship-notes p{white-space:pre-wrap;line-height:1.5;margin:6px 0}.relationship-notes small{color:var(--muted)}
.task-list{display:grid;gap:9px}.task-item{display:flex;justify-content:space-between;gap:12px;border-left:3px solid var(--yellow);background:var(--surface-2);border-radius:0 12px 12px 0;padding:12px}.task-item.done{border-left-color:var(--green);opacity:.7}.task-item p{margin:4px 0}.task-item small{color:var(--muted)}
.referral-list{display:grid;gap:9px}.referral-list article{display:flex;justify-content:space-between;gap:12px;background:var(--surface-2);border-radius:12px;padding:12px}.referral-list p{margin:4px 0}.referral-list small{display:block;margin-top:6px;color:var(--muted);text-align:right}
.file-list{display:grid;gap:9px}.file-list article{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;background:var(--surface-2);border-radius:12px;padding:12px}.file-icon{width:40px;height:40px;border-radius:11px;background:#fff;display:grid;place-items:center;font-size:20px}.file-list strong,.file-list small{display:block}.file-list small{color:var(--muted);margin-top:3px}
.account-pager{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-top:20px;padding:16px 4px 0;border-top:1px solid var(--line);color:var(--muted);font-size:13px}.pager-actions{display:flex;align-items:center;gap:10px}.pager-actions span{font-weight:800;color:var(--text)}.btn:disabled{opacity:.45;cursor:not-allowed}
@media(max-width:1500px){.contact-toolbar{grid-template-columns:minmax(250px,1.4fr) repeat(4,minmax(120px,.7fr))}.contact-toolbar>:nth-child(n+6){grid-row:2}.contact-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:1000px){.contact-card-grid{grid-template-columns:1fr}.snapshot-grid{grid-template-columns:1fr 1fr}.contact-profile-hero{grid-template-columns:auto 1fr}.profile-actions{grid-column:1/-1;justify-content:flex-start}.contact-detail-layout{grid-template-columns:1fr}.detail-panel.full-detail{grid-column:auto}}
@media(max-width:680px){.contacts-shell{padding:15px}.contact-toolbar{grid-template-columns:1fr}.contact-toolbar>:nth-child(n){grid-row:auto}.contact-toolbar .filter-search,.contact-toolbar select,.contact-toolbar .btn,.contact-toolbar .view-switch{width:100%}.snapshot-grid{grid-template-columns:1fr}.snapshot-wide{grid-column:auto}.contact-profile-hero{grid-template-columns:1fr;text-align:center}.contact-avatar.large{margin:auto}.profile-actions{justify-content:center}.contact-stats{grid-template-columns:1fr 1fr}.contact-stats>div:first-child{grid-column:1/-1}.contact-detail-modal{width:100%;height:100%;max-height:100%;border-radius:0}.account-pager{flex-direction:column;align-items:stretch}.pager-actions{justify-content:space-between}}

/* Version 0.4.1 — searchable business selector */
.business-picker{position:relative}.business-search-control{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:8px;border:1px solid var(--line);border-radius:13px;background:#fff;padding:0 10px;transition:border-color .16s,box-shadow .16s}.business-search-control:focus-within{border-color:#79a3ff;box-shadow:0 0 0 4px rgba(36,104,242,.10)}.business-search-control>span{color:var(--muted);font-size:20px}.business-search-control input{border:0!important;outline:0!important;padding:13px 2px!important;background:transparent!important;box-shadow:none!important}.business-search-clear{width:30px;height:30px;border:0;border-radius:50%;background:var(--surface-2);color:var(--muted);font-size:18px}
.field-help{display:block;color:var(--muted);font-size:11px;line-height:1.45;margin-top:7px}
.selected-business-card{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:11px;margin-top:10px;padding:11px;border:1px solid #bcd0ff;background:var(--blue-soft);border-radius:13px}.selected-business-icon{width:38px;height:38px;display:grid;place-items:center;border-radius:11px;background:var(--primary);color:#fff;font-weight:900}.selected-business-card span,.selected-business-card strong,.selected-business-card small{display:block}.selected-business-card span{font-size:10px;text-transform:uppercase;letter-spacing:.05em;color:#3462b8;font-weight:900}.selected-business-card strong{margin:2px 0}.selected-business-card small{color:var(--muted)}.selected-business-card button{border:1px solid #91b1f8;background:#fff;color:#1d57c8;border-radius:9px;padding:7px 9px;font-weight:800}
.business-results{position:absolute;z-index:125;left:0;right:0;top:48px;background:#fff;border:1px solid var(--line);border-radius:15px;box-shadow:0 18px 50px rgba(13,27,51,.18);max-height:min(470px,58vh);overflow:auto;padding:8px}.business-results-head{display:flex;justify-content:space-between;gap:12px;padding:7px 9px;color:var(--muted);font-size:11px}.business-results-head strong{color:var(--text);font-size:12px}.business-result-list{display:grid;gap:4px}.business-result{width:100%;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;text-align:left;border:1px solid transparent;background:#fff;border-radius:11px;padding:10px}.business-result:hover,.business-result.highlighted{background:#f4f7fc;border-color:#cbd9ee}.business-result-icon{width:36px;height:36px;display:grid;place-items:center;border-radius:10px;background:#eaf0f8;font-weight:900}.business-result-copy{min-width:0}.business-result-copy strong,.business-result-copy span,.business-result-copy small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.business-result-copy span{margin-top:3px;color:#3f4d63;font-size:12px}.business-result-copy small{margin-top:3px;color:var(--muted);font-size:11px}.business-result-select{color:var(--primary);font-size:11px;font-weight:900}.business-no-results{padding:18px 12px;color:var(--muted);text-align:center;line-height:1.5}.business-create-action{width:100%;display:grid;grid-template-columns:auto 1fr;gap:10px;align-items:center;text-align:left;border:0;border-top:1px solid var(--line);background:#fff;margin-top:6px;padding:12px 10px;color:var(--primary)}.business-create-action>span:first-child{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;background:var(--blue-soft);font-size:20px}.business-create-action strong,.business-create-action small{display:block}.business-create-action small{margin-top:2px;color:var(--muted)}
@media(max-width:680px){.business-results{position:fixed;left:10px;right:10px;top:88px;max-height:calc(100vh - 110px);border-radius:18px}.business-result{grid-template-columns:auto 1fr;padding:13px}.business-result-select{display:none}.business-result-copy strong{font-size:14px}.business-result-copy span,.business-result-copy small{white-space:normal}.selected-business-card{grid-template-columns:auto 1fr}.selected-business-card button{grid-column:1/-1;width:100%}}

/* Version 0.5 — Routes */
.routes-shell,.route-stop-section,.route-detail-map{padding:22px}.route-head-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.route-toolbar{display:grid;grid-template-columns:minmax(260px,1.4fr) repeat(4,minmax(135px,.7fr)) auto;gap:9px;align-items:center;margin-bottom:18px}.route-toolbar select,.route-toolbar input{height:43px;border:1px solid var(--line);border-radius:12px;background:#fff;padding:0 11px;min-width:0;color:var(--text)}
.route-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px}.route-card{padding:18px}.route-card-top{display:grid;grid-template-columns:auto 1fr auto;gap:11px;align-items:start}.route-color{width:12px;height:44px;border-radius:999px}.route-color.large{width:13px;height:58px}.route-card h3{margin:0}.route-card p{margin:4px 0 0;color:var(--muted)}.route-map-shell{position:relative;margin:15px 0;border:1px solid var(--line);border-radius:17px;overflow:hidden}.route-map-shell svg{display:block;width:100%;height:auto}.route-map-caption{position:absolute;right:9px;bottom:8px;background:rgba(255,255,255,.9);border:1px solid var(--line);border-radius:999px;padding:4px 8px;font-size:10px;color:var(--muted)}.route-map-empty{display:grid;place-items:center;min-height:178px;text-align:center;background:var(--surface-2);border:1px dashed var(--line);border-radius:16px;padding:20px}.route-map-empty span{font-size:30px}.route-map-empty small{color:var(--muted)}
.route-progress-line{display:grid;grid-template-columns:auto 1fr;gap:14px;align-items:center}.route-progress-line strong,.route-progress-line span{display:block}.route-progress-line span{font-size:11px;color:var(--muted)}.progress-track{height:9px;background:#e8eef7;border-radius:999px;overflow:hidden}.progress-track span{height:100%;display:block;background:var(--primary);border-radius:999px}.route-card-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:14px 0}.route-card-stats div{background:var(--surface-2);border-radius:11px;padding:9px;text-align:center}.route-card-stats span,.route-card-stats strong{display:block}.route-card-stats span{font-size:10px;color:var(--muted)}.route-card-stats strong{margin-top:4px}.route-card-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;color:var(--muted);font-size:12px}
.route-detail-header{display:grid;grid-template-columns:auto 1fr auto;gap:15px;align-items:center;margin-bottom:16px}.route-detail-title{display:flex;align-items:center;gap:12px}.route-detail-title h2{margin:0}.route-detail-title p{margin:4px 0;color:var(--muted)}.route-detail-metrics{margin-bottom:16px}.route-detail-map{margin-bottom:16px}.route-map-shell.large{margin-bottom:0}
.route-stop-list{display:grid;gap:12px}.route-stop{display:grid;grid-template-columns:auto 1fr auto;gap:13px;border:1px solid var(--line);border-left:5px solid #94a3b8;border-radius:16px;background:#fff;padding:14px;box-shadow:0 5px 17px rgba(24,48,84,.05)}.route-stop.completed{border-left-color:var(--green);background:#fbfffc}.route-stop-order{display:grid;align-content:start;justify-items:center;gap:5px}.route-stop-order span{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:var(--primary);color:#fff;font-weight:900}.route-stop-order small{color:#8a96a9;letter-spacing:-2px;cursor:grab}.route-stop-title{display:flex;justify-content:space-between;gap:14px;align-items:flex-start}.route-stop-title h3{margin:0}.route-stop-title p{margin:4px 0;color:var(--muted);font-size:12px}.route-stop-badges{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}.route-stop-context{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:12px 0}.route-stop-context>div{background:var(--surface-2);border-radius:10px;padding:9px}.route-stop-context span,.route-stop-context strong{display:block}.route-stop-context span{font-size:10px;color:var(--muted)}.route-stop-context strong{font-size:12px;margin-top:4px}.route-last-conversation{background:#f7f9fc;border-radius:12px;padding:11px}.route-last-conversation span{font-size:10px;color:var(--muted);font-weight:900;text-transform:uppercase}.route-last-conversation p{margin:5px 0;line-height:1.45}.route-last-conversation small{display:block;color:var(--muted)}.route-stop-actions{display:flex;gap:6px;flex-wrap:wrap;margin-top:12px}.route-reorder-buttons{display:grid;align-content:start;gap:5px}.route-reorder-buttons button{width:32px;height:32px;border:1px solid var(--line);background:#fff;border-radius:9px}.btn.success{background:#e8f8ed;border-color:#9dd8ad;color:#117436}.danger-text{color:var(--red)!important}
.add-stop-results{display:grid;gap:5px;max-height:300px;overflow:auto;border:1px solid var(--line);border-radius:13px;padding:7px}.add-stop-result{display:block;width:100%;text-align:left;border:1px solid transparent;background:#fff;border-radius:10px;padding:10px}.add-stop-result:hover,.add-stop-result.selected{background:var(--blue-soft);border-color:#a9c2f6}.add-stop-result strong,.add-stop-result span,.add-stop-result small{display:block}.add-stop-result span{font-size:12px;margin-top:3px}.add-stop-result small{color:var(--muted);margin-top:3px}
.route-suggestion-list{display:grid;gap:10px}.route-suggestion{display:grid;grid-template-columns:1.2fr 1fr auto;gap:15px;align-items:center;border:1px solid var(--line);border-radius:14px;padding:13px}.route-suggestion p{margin:4px 0}.route-suggestion small,.route-suggestion span{display:block;color:var(--muted);font-size:11px}
@media(max-width:1150px){.route-grid{grid-template-columns:1fr}.route-toolbar{grid-template-columns:minmax(230px,1.5fr) repeat(2,1fr)}.route-detail-header{grid-template-columns:1fr}.route-detail-header>.btn{width:max-content}.route-head-actions{justify-content:flex-start}.route-stop-context{grid-template-columns:1fr 1fr}}
@media(max-width:680px){.routes-shell,.route-stop-section,.route-detail-map{padding:14px}.route-toolbar{grid-template-columns:1fr}.route-toolbar>*{width:100%}.route-card-stats{grid-template-columns:1fr 1fr}.route-card-foot{align-items:stretch;flex-direction:column}.route-card-foot .btn{width:100%}.route-detail-header{gap:10px}.route-detail-title{align-items:flex-start}.route-head-actions{display:grid;grid-template-columns:1fr 1fr;width:100%}.route-head-actions .btn{width:100%}.route-stop{grid-template-columns:auto 1fr;padding:11px}.route-stop-title{display:block}.route-stop-badges{justify-content:flex-start;margin-top:8px}.route-stop-context{grid-template-columns:1fr}.route-stop-actions{display:grid;grid-template-columns:1fr 1fr}.route-stop-actions .btn{width:100%}.route-reorder-buttons{grid-column:1/-1;display:flex;justify-content:flex-end}.route-suggestion{grid-template-columns:1fr}.route-suggestion .btn{width:100%}.route-map-shell.large svg{min-height:230px}.route-summary{grid-template-columns:1fr 1fr}}

/* Version 0.6 — Visits & Quick Visit */
.visits-shell{padding:22px}.visit-toolbar{display:grid;grid-template-columns:minmax(250px,1.5fr) repeat(7,minmax(125px,.72fr)) auto auto;gap:9px;align-items:center;margin-bottom:18px}.visit-toolbar select,.visit-toolbar input{height:43px;border:1px solid var(--line);border-radius:12px;background:#fff;padding:0 11px;min-width:0;color:var(--text)}.custom-date-row{display:flex;gap:12px;max-width:520px;margin:-5px 0 18px}.custom-date-row .field{flex:1}
.visit-timeline{display:grid;gap:22px}.visit-day-group{display:grid;grid-template-columns:120px 1fr;gap:15px}.visit-day-label{position:sticky;top:18px;align-self:start;border-left:4px solid var(--primary);padding-left:10px}.visit-day-label strong,.visit-day-label span{display:block}.visit-day-label span{color:var(--muted);font-size:11px;margin-top:4px}.visit-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.visit-card{padding:16px}.visit-card-head{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:start}.visit-time-block{width:76px;background:var(--surface-2);border-radius:12px;padding:8px;text-align:center}.visit-time-block strong,.visit-time-block span{display:block}.visit-time-block strong{font-size:12px}.visit-time-block span{font-size:11px;color:var(--muted);margin-top:3px}.visit-card-title h3{margin:0}.visit-card-title p{margin:4px 0;color:var(--muted)}.visit-badge-row{display:flex;gap:6px;flex-wrap:wrap;margin:11px 0}.visit-conversation{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.visit-conversation>div{background:var(--surface-2);border-radius:10px;padding:9px}.visit-conversation span,.visit-conversation strong{display:block}.visit-conversation span,.visit-next-step span{font-size:10px;color:var(--muted);text-transform:uppercase;font-weight:800}.visit-conversation strong{font-size:12px;margin-top:4px}.visit-card blockquote{margin:11px 0;border-left:3px solid #b8c8df;padding:9px 11px;background:#f8fafc;border-radius:0 10px 10px 0;white-space:pre-wrap}.visit-next-step{border:1px solid #c9d9f7;background:var(--blue-soft);border-radius:11px;padding:10px;margin-top:10px}.visit-next-step strong{display:block;margin-top:4px}.visit-card-foot{display:flex;justify-content:space-between;align-items:center;gap:10px;border-top:1px solid var(--line);padding-top:11px;margin-top:12px;color:var(--muted);font-size:11px}.follow-overdue{color:var(--red);font-weight:900}.visit-table td small{display:block;color:var(--muted);margin-top:3px}
.quick-visit-modal{width:min(880px,100%)}.quick-visit-body{display:grid;gap:14px;background:#f6f8fc}.quick-section{background:#fff;border:1px solid var(--line);border-radius:16px;padding:16px}.quick-section-title{display:flex;gap:11px;align-items:flex-start;margin-bottom:13px}.quick-section-title>span{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:var(--primary);color:#fff;font-weight:900;flex:0 0 auto}.quick-section-title h3{margin:0}.quick-section-title p{margin:3px 0 0;color:var(--muted);font-size:12px}.quick-business-results{top:48px}.quick-visit-context{margin-top:10px}.quick-context-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.quick-context-grid>div{background:var(--surface-2);border-radius:10px;padding:9px}.quick-context-grid span,.quick-context-grid strong{display:block}.quick-context-grid span{font-size:10px;color:var(--muted)}.quick-context-grid strong{margin-top:4px;font-size:12px}.quick-last-conversation{background:#f5f8fd;border-radius:11px;padding:10px;margin-top:8px}.quick-last-conversation span{font-size:10px;text-transform:uppercase;color:var(--muted);font-weight:900}.quick-last-conversation p{margin:5px 0 0;line-height:1.45}.quick-route-stop{display:inline-block;background:#e8f8ed;color:#17753a;border-radius:999px;padding:5px 9px;font-size:11px;font-weight:800;margin-top:8px}.quick-choice-grid{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:10px}.quick-choice{border:1px solid var(--line);background:#fff;border-radius:11px;padding:8px 10px;text-align:left}.quick-choice.selected{border-color:var(--primary);background:var(--blue-soft)}.quick-choice strong,.quick-choice small{display:block}.quick-choice small{color:var(--muted);margin-top:2px}.quick-label{font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);font-weight:900;margin:12px 0 7px}.quick-chip-row{display:flex;flex-wrap:wrap;gap:7px}.quick-choice-chip{border:1px solid var(--line);background:#fff;border-radius:999px;padding:8px 11px;font-weight:800;color:#3c4960}.quick-choice-chip.selected,.quick-choice-chip:hover{border-color:var(--primary);background:var(--blue-soft);color:var(--primary)}.quick-toggle-row{display:flex;gap:18px;flex-wrap:wrap;margin-bottom:12px}.quick-toggle-row label{display:flex;gap:7px;align-items:center;font-weight:800}.quick-gps-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.quick-gps-status{color:var(--muted);font-size:12px}.quick-gps-status.success{color:var(--green);font-weight:800}.quick-gps-status.error{color:var(--red)}.quick-gps-status.loading{color:var(--primary)}.quick-visit-foot{position:sticky;bottom:0;background:#fff;z-index:4}.visit-view-hero{display:flex;gap:14px;align-items:center;border:1px solid var(--line);border-radius:16px;padding:16px;margin-bottom:14px}.visit-view-icon{width:58px;height:58px;border-radius:16px;display:grid;place-items:center;background:var(--green);color:#fff;font-size:27px;font-weight:900}.visit-view-hero h2{margin:0}.visit-view-hero p{margin:4px 0;color:var(--muted)}.visit-view-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
@media(max-width:1450px){.visit-toolbar{grid-template-columns:minmax(240px,1.4fr) repeat(4,minmax(120px,.75fr))}.visit-toolbar>:nth-child(n+6){grid-row:2}}
@media(max-width:1050px){.visit-card-grid{grid-template-columns:1fr}.visit-day-group{grid-template-columns:1fr}.visit-day-label{position:static}.quick-context-grid{grid-template-columns:1fr 1fr}}
@media(max-width:680px){.visits-shell{padding:14px}.visit-toolbar{grid-template-columns:1fr}.visit-toolbar>:nth-child(n){grid-row:auto}.visit-toolbar>*{width:100%}.custom-date-row{display:grid;max-width:none}.visit-card-head{grid-template-columns:auto 1fr}.visit-card-head .account-more{grid-column:2;grid-row:1;justify-self:end}.visit-conversation{grid-template-columns:1fr}.visit-card-foot{align-items:stretch;flex-direction:column}.visit-card-foot .table-actions{display:grid;grid-template-columns:1fr 1fr;width:100%}.visit-card-foot .btn{width:100%}.quick-visit-modal{width:100%;height:100%;max-height:100%;border-radius:0}.quick-section{padding:13px}.quick-context-grid{grid-template-columns:1fr 1fr}.quick-visit-foot{display:grid;grid-template-columns:1fr 1fr}.quick-visit-foot .btn{width:100%}.quick-visit-foot #quickVisitSaveBtn{grid-column:1/-1}.visit-view-grid{grid-template-columns:1fr}.visit-summary{grid-template-columns:1fr 1fr}}

/* Version 0.7 — Networking Connections & Events */
.networking-shell{padding:22px}.networking-tabs{display:flex;gap:6px;border-bottom:1px solid var(--line);margin:-5px 0 20px}.networking-tabs button{border:0;background:transparent;padding:12px 15px;color:var(--muted);font-weight:900;border-bottom:3px solid transparent}.networking-tabs button.active{color:var(--primary);border-bottom-color:var(--primary)}
.networking-toolbar{display:grid;grid-template-columns:minmax(250px,1.4fr) repeat(7,minmax(120px,.7fr)) auto auto;gap:8px;align-items:center;margin-bottom:18px}.networking-toolbar select,.networking-toolbar input{height:43px;border:1px solid var(--line);border-radius:12px;background:#fff;padding:0 10px;min-width:0;color:var(--text)}
.networking-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.networking-card{padding:17px}.networking-card-head{display:grid;grid-template-columns:auto 1fr auto;gap:11px;align-items:start}.networking-avatar{width:48px;height:48px;border-radius:50%;display:grid;place-items:center;background:#e9eef7;color:#17345f;font-weight:900}.networking-avatar.large{width:76px;height:76px;background:#7446d9;color:#fff;font-size:22px}.networking-avatar.small{width:38px;height:38px}.networking-card h3{margin:0}.networking-card p{margin:3px 0;color:var(--muted);font-size:12px}.networking-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:12px 0;padding:11px 0}.networking-stats span,.networking-stats strong{display:block;text-align:center}.networking-stats span{font-size:9px;color:var(--muted)}.networking-stats strong{font-size:13px;margin-top:3px}.contact-next small{display:block;margin-top:6px;color:var(--muted)}
.networking-history{display:grid;gap:9px}.networking-history article{border-left:3px solid #7446d9;background:var(--surface-2);border-radius:0 11px 11px 0;padding:11px}.networking-history article>div{display:flex;justify-content:space-between;gap:12px}.networking-history span,.networking-history small{color:var(--muted);font-size:11px}.networking-history p{margin:6px 0;white-space:pre-wrap}.networking-event-chips{display:flex;flex-wrap:wrap;gap:8px}.networking-event-chips button{border:1px solid var(--line);background:#fff;border-radius:11px;padding:9px 11px;text-align:left}.networking-event-chips strong,.networking-event-chips span{display:block}.networking-event-chips span{color:var(--muted);font-size:11px;margin-top:3px}
.networking-event-list{display:grid;gap:13px}.networking-event-card{display:grid;grid-template-columns:auto 1fr;gap:15px;padding:17px}.event-date-block{width:66px;height:72px;border-radius:14px;background:#7446d9;color:#fff;display:grid;place-items:center;align-content:center}.event-date-block strong,.event-date-block span{display:block;text-transform:uppercase}.event-date-block strong{font-size:11px}.event-date-block span{font-size:28px;font-weight:900}.event-date-block.large{width:82px;height:88px}.event-card-main h3{margin:0}.event-title-row{display:flex;justify-content:space-between;gap:12px}.event-title-row p{margin:4px 0;color:var(--muted)}.event-meta{display:flex;gap:14px;flex-wrap:wrap;color:var(--muted);font-size:12px;margin:11px 0}.event-notes{background:var(--surface-2);border-radius:10px;padding:9px}.event-detail-hero{display:grid;grid-template-columns:auto 1fr auto;gap:15px;align-items:center;border:1px solid var(--line);border-radius:16px;padding:16px;margin-bottom:14px}.event-detail-hero h2{margin:0}.event-detail-hero p{margin:4px 0;color:var(--muted)}
.event-attendee-list{display:grid;gap:8px}.event-attendee-list article{display:grid;grid-template-columns:auto 1fr minmax(125px,auto) auto;gap:10px;align-items:center;background:var(--surface-2);border-radius:12px;padding:10px}.event-attendee-list p{margin:3px 0;color:var(--muted)}.event-attendee-list select{height:38px;border:1px solid var(--line);border-radius:9px;background:#fff}
@media(max-width:1500px){.networking-toolbar{grid-template-columns:minmax(230px,1.4fr) repeat(4,minmax(115px,.75fr))}.networking-toolbar>:nth-child(n+6){grid-row:2}.networking-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:950px){.networking-grid{grid-template-columns:1fr}.event-detail-hero{grid-template-columns:auto 1fr}.event-detail-hero .profile-actions{grid-column:1/-1}.event-attendee-list article{grid-template-columns:auto 1fr}.event-attendee-list select,.event-attendee-list .btn{grid-column:2}}
@media(max-width:680px){.networking-shell{padding:14px}.networking-toolbar{grid-template-columns:1fr}.networking-toolbar>:nth-child(n){grid-row:auto}.networking-toolbar>*{width:100%}.networking-stats{grid-template-columns:1fr 1fr}.networking-event-card{grid-template-columns:1fr}.event-date-block{width:100%;height:58px;display:flex;gap:8px}.event-title-row{display:block}.event-detail-hero{grid-template-columns:1fr;text-align:center}.event-date-block.large{width:100%;height:65px;display:flex;gap:8px}.event-detail-hero .profile-actions{justify-content:center}.event-attendee-list article{grid-template-columns:1fr;text-align:center}.event-attendee-list .networking-avatar{margin:auto}.event-attendee-list select,.event-attendee-list .btn{grid-column:auto;width:100%}}

/* Version 0.8 — Referral Pipeline & Performance */
.referrals-shell,.referral-performance{padding:22px}.referral-tabs{display:flex;gap:6px;border-bottom:1px solid var(--line);margin:-5px 0 20px}.referral-tabs button{border:0;background:transparent;padding:12px 15px;color:var(--muted);font-weight:900;border-bottom:3px solid transparent}.referral-tabs button.active{color:var(--primary);border-bottom-color:var(--primary)}
.referral-toolbar{display:grid;grid-template-columns:minmax(260px,1.45fr) repeat(6,minmax(125px,.72fr)) auto auto;gap:8px;align-items:center;margin-bottom:18px}.referral-toolbar select,.referral-toolbar input{height:43px;border:1px solid var(--line);border-radius:12px;background:#fff;padding:0 10px;min-width:0;color:var(--text)}
.referral-board{display:grid;grid-template-columns:repeat(6,minmax(260px,1fr));gap:12px;overflow-x:auto;padding-bottom:12px}.referral-column{background:#f3f6fa;border:1px solid var(--line);border-radius:16px;min-height:430px}.referral-column-head{display:flex;justify-content:space-between;gap:10px;align-items:center;padding:13px;border-bottom:1px solid var(--line);background:#fff;border-radius:16px 16px 0 0}.referral-column-head>div{display:grid;grid-template-columns:auto 1fr;column-gap:7px}.referral-column-head strong{font-size:13px}.referral-column-head small{grid-column:2;color:var(--muted)}.stage-dot{width:10px;height:10px;border-radius:50%;margin-top:3px}.stage-dot.blue,.history-marker.blue{background:#2563eb}.stage-dot.yellow,.history-marker.yellow{background:#d79b06}.stage-dot.purple,.history-marker.purple{background:#7446d9}.stage-dot.orange,.history-marker.orange{background:#e46f19}.stage-dot.green,.history-marker.green{background:#1b9b4b}.stage-dot.red,.history-marker.red{background:#dc3545}.referral-column-body{display:grid;align-content:start;gap:9px;padding:10px;min-height:365px}.referral-column-empty{border:1px dashed #bdc9d9;border-radius:12px;padding:24px 10px;text-align:center;color:var(--muted);font-size:12px}
.referral-card{border:1px solid var(--line);background:#fff;border-radius:14px;padding:13px;box-shadow:0 5px 15px rgba(24,48,84,.05)}.referral-card.compact{cursor:grab}.referral-card-top{display:flex;justify-content:space-between;gap:10px;align-items:start}.referral-card h3{margin:0;font-size:15px}.referral-card p{margin:3px 0;color:var(--muted);font-size:12px}.referral-value{font-weight:900;color:var(--primary);white-space:nowrap}.referral-source{background:var(--surface-2);border-radius:10px;padding:8px;margin:10px 0}.referral-source span,.referral-source strong,.referral-source small{display:block}.referral-source span{font-size:9px;text-transform:uppercase;color:var(--muted);font-weight:900}.referral-source strong{margin-top:2px}.referral-source small{color:var(--muted);margin-top:2px}.referral-card-meta{display:flex;gap:8px;flex-wrap:wrap;color:var(--muted);font-size:10px}.referral-next{border-left:3px solid var(--primary);padding:7px 9px;background:#f5f8ff;border-radius:0 9px 9px 0;margin-top:9px}.referral-next span,.referral-next strong{display:block}.referral-next span{font-size:9px;text-transform:uppercase;color:var(--muted)}.referral-next strong{font-size:12px;margin-top:3px}.referral-card-foot{display:flex;justify-content:space-between;gap:8px;align-items:center;border-top:1px solid var(--line);padding-top:9px;margin-top:10px;color:var(--muted);font-size:10px}
.badge.purple{background:#efe8ff;color:#5d2db8}.badge.orange{background:#fff0e5;color:#a94b0b}
.referral-detail-hero{display:grid;grid-template-columns:auto 1fr auto;gap:15px;align-items:center;border:1px solid var(--line);border-radius:17px;padding:17px;margin-bottom:14px}.referral-detail-icon{width:66px;height:66px;border-radius:17px;display:grid;place-items:center;color:#fff;font-size:28px;font-weight:900}.referral-detail-icon.blue{background:#2563eb}.referral-detail-icon.yellow{background:#d79b06}.referral-detail-icon.purple{background:#7446d9}.referral-detail-icon.orange{background:#e46f19}.referral-detail-icon.green{background:#1b9b4b}.referral-detail-icon.red{background:#dc3545}.referral-detail-hero h2{margin:0}.referral-detail-hero p{margin:4px 0;color:var(--muted)}.referral-detail-value{text-align:right}.referral-detail-value span,.referral-detail-value strong,.referral-detail-value small{display:block}.referral-detail-value span,.referral-detail-value small{color:var(--muted)}.referral-detail-value strong{font-size:27px;margin:4px 0}.referral-stage-actions{display:grid;grid-template-columns:repeat(6,1fr);gap:7px;margin-bottom:15px}.referral-stage-actions button{border:1px solid var(--line);background:#fff;border-radius:10px;padding:9px;font-weight:800}.referral-stage-actions button.active{background:var(--primary);border-color:var(--primary);color:#fff}
.referral-history{display:grid;gap:9px}.referral-history article{display:grid;grid-template-columns:auto 1fr;gap:11px}.history-marker{width:12px;height:12px;border-radius:50%;margin-top:4px;box-shadow:0 0 0 4px #eef2f7}.referral-history strong,.referral-history span{display:block}.referral-history span{color:var(--muted);font-size:11px;margin-top:2px}.referral-history p{margin:5px 0;background:var(--surface-2);border-radius:9px;padding:8px}
.referral-type-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:15px}.referral-type-summary article{border:1px solid var(--line);border-radius:14px;padding:15px}.referral-type-summary span,.referral-type-summary strong,.referral-type-summary small{display:block}.referral-type-summary span,.referral-type-summary small{color:var(--muted)}.referral-type-summary strong{font-size:25px;margin:5px 0}.referral-performance-grid{display:grid;gap:14px}.referral-trend{height:230px;display:grid;grid-template-columns:repeat(6,1fr);gap:13px;align-items:end;padding-top:20px}.referral-trend>div{text-align:center}.trend-bars{height:170px;display:flex;gap:5px;align-items:end;justify-content:center;border-bottom:1px solid var(--line)}.trend-bars span{display:block;width:18px;border-radius:5px 5px 0 0;min-height:3px}.trend-bars .received{background:#8fb2f8}.trend-bars .converted{background:#1b9b4b}.referral-trend strong,.referral-trend small{display:block}.referral-trend strong{margin-top:7px}.referral-trend small{color:var(--muted);font-size:9px}.referral-table td small{display:block;color:var(--muted);margin-top:3px}
@media(max-width:1500px){.referral-toolbar{grid-template-columns:minmax(240px,1.4fr) repeat(4,minmax(120px,.75fr))}.referral-toolbar>:nth-child(n+6){grid-row:2}}
@media(max-width:850px){.referral-detail-hero{grid-template-columns:auto 1fr}.referral-detail-value{grid-column:1/-1;text-align:left}.referral-stage-actions{grid-template-columns:repeat(3,1fr)}.referral-type-summary{grid-template-columns:1fr}.referral-card-foot{align-items:stretch;flex-direction:column}.referral-card-foot .table-actions{display:grid;grid-template-columns:1fr 1fr}.referral-card-foot .btn{width:100%}}
@media(max-width:680px){.referrals-shell,.referral-performance{padding:14px}.referral-toolbar{grid-template-columns:1fr}.referral-toolbar>:nth-child(n){grid-row:auto}.referral-toolbar>*{width:100%}.referral-board{grid-template-columns:repeat(6,minmax(82vw,1fr));scroll-snap-type:x mandatory}.referral-column{scroll-snap-align:start}.referral-detail-hero{grid-template-columns:1fr;text-align:center}.referral-detail-icon{margin:auto}.referral-detail-value{text-align:center}.referral-stage-actions{grid-template-columns:1fr 1fr}.referral-trend{gap:6px}.trend-bars span{width:12px}.referral-summary{grid-template-columns:1fr 1fr}}

/* Version 0.9 — Map, nearby accounts, geocoding, and live distance */
.map-shell,.map-queue{padding:22px}.map-toolbar{display:grid;grid-template-columns:minmax(260px,1.4fr) repeat(4,minmax(125px,.72fr)) auto repeat(4,auto) auto;gap:8px;align-items:center;margin-bottom:12px}.map-toolbar select,.map-toolbar input{height:43px;border:1px solid var(--line);border-radius:12px;background:#fff;padding:0 10px;min-width:0;color:var(--text)}.map-radius{display:flex;align-items:center;gap:6px;font-size:11px;color:var(--muted);white-space:nowrap}.map-radius select{width:88px}.map-toggle{height:39px;border:1px solid var(--line);background:#fff;border-radius:10px;padding:0 10px;font-weight:800;color:var(--muted)}.map-toggle.active{background:var(--blue-soft);border-color:#9fbcf5;color:var(--primary)}
.map-legend{display:flex;gap:12px;flex-wrap:wrap;align-items:center;margin:4px 0 12px;color:var(--muted);font-size:11px}.map-legend span{display:flex;align-items:center;gap:5px}.map-legend i{display:block;width:10px;height:10px;border-radius:50%}.map-layout{display:grid;grid-template-columns:minmax(0,1.75fr) minmax(300px,.65fr);gap:14px;align-items:start}.map-main{min-width:0}.crm-map-canvas{border:1px solid var(--line);border-radius:20px;overflow:hidden;background:#f8fbff}.crm-map-canvas svg{display:block;width:100%;height:auto;min-height:520px}.map-marker-group{cursor:pointer}.map-marker-group circle{transition:r .15s,stroke-width .15s}.map-marker-group:hover circle{r:14}.map-canvas-caption{display:flex;justify-content:space-between;gap:12px;padding:8px 12px;border-top:1px solid var(--line);background:#fff;color:var(--muted);font-size:10px}.map-side{position:sticky;top:14px;border:1px solid var(--line);border-radius:18px;background:#fff;min-height:560px;overflow:hidden}.map-side-empty{display:grid;place-items:center;text-align:center;min-height:560px;padding:30px}.map-side-empty span{font-size:44px;color:var(--primary)}.map-side-empty p{color:var(--muted);line-height:1.5}.map-selected-card{padding:16px}.map-selected-head{display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:start}.map-selected-head h3{margin:0}.map-selected-head p{margin:4px 0;color:var(--muted);font-size:12px}.map-selected-details{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:12px 0}.map-selected-details>div{background:var(--surface-2);border-radius:10px;padding:9px}.map-selected-details span,.map-selected-details strong{display:block}.map-selected-details span{font-size:10px;color:var(--muted)}.map-selected-details strong{font-size:12px;margin-top:4px}.map-selected-actions{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin:11px 0}.map-selected-actions .btn{width:100%}.nearby-account-list{display:grid;gap:6px;max-height:310px;overflow:auto}.nearby-account-list article{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center;border:1px solid var(--line);border-radius:11px;padding:9px}.nearby-account-list article>button{border:0;background:transparent;text-align:left;padding:0;min-width:0}.nearby-account-list strong,.nearby-account-list span,.nearby-account-list small{display:block}.nearby-account-list span,.nearby-account-list small{color:var(--muted);font-size:10px}.nearby-account-list article>div{text-align:right}
.map-queue{margin-top:14px}.map-queue-list{display:grid;gap:7px}.map-queue-list article{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center;border:1px solid var(--line);border-radius:12px;padding:11px}.map-queue-list strong,.map-queue-list span{display:block}.map-queue-list span{color:var(--muted);font-size:11px;margin-top:3px}.coordinate-address{background:var(--surface-2);border-radius:10px;padding:10px;margin-top:0}.coordinate-help{color:var(--muted);font-size:11px;margin-top:10px}
.map-settings-status{display:flex;align-items:center;gap:7px;margin:10px 0;padding:9px 10px;border-radius:11px;background:var(--surface-2)}.map-settings-status.configured{background:#eaf8ef;color:#14723a}.map-settings-status.not-configured{background:#fff5e6;color:#985b00}.map-secret-note{font-size:11px;color:var(--muted);line-height:1.5;margin-top:8px}
.suggestion-rules{display:flex;gap:8px;flex-wrap:wrap;background:#f6f8fc;border:1px solid var(--line);border-radius:13px;padding:11px;margin-bottom:14px}.suggestion-rules strong{width:100%}.suggestion-rules span{background:#fff;border:1px solid var(--line);border-radius:999px;padding:5px 8px;font-size:11px}.category-check-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;max-height:220px;overflow:auto;border:1px solid var(--line);border-radius:12px;padding:9px}.category-check-grid label{display:flex;align-items:center;gap:7px;background:var(--surface-2);border-radius:9px;padding:8px}.suggestion-accuracy-note,.suggestion-warning{border-left:4px solid var(--primary);background:var(--blue-soft);border-radius:0 11px 11px 0;padding:10px 12px;margin-top:12px;line-height:1.45}.map-suggestion-list{display:grid;gap:13px;margin-top:12px}.map-suggestion-list>article{border:1px solid var(--line);border-radius:15px;padding:14px}.map-suggestion-head{display:flex;justify-content:space-between;gap:12px;align-items:start}.map-suggestion-head h3{margin:0}.map-suggestion-head p{margin:4px 0;color:var(--muted)}.suggestion-stop-list{display:grid;gap:6px;margin-top:11px}.suggestion-stop-list>div{display:grid;grid-template-columns:auto 1fr auto;gap:9px;align-items:center;background:var(--surface-2);border-radius:10px;padding:8px}.suggestion-stop-list>div>span{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:var(--primary);color:#fff;font-weight:900}.suggestion-stop-list strong,.suggestion-stop-list small,.suggestion-stop-list em{display:block}.suggestion-stop-list small{color:var(--muted)}.suggestion-stop-list em{font-style:normal;font-size:10px;color:#486080;text-align:right}
@media(max-width:1450px){.map-toolbar{grid-template-columns:minmax(240px,1.35fr) repeat(4,minmax(115px,.72fr))}.map-toolbar>:nth-child(n+6){grid-row:2}.map-layout{grid-template-columns:minmax(0,1.4fr) minmax(290px,.7fr)}}
@media(max-width:1050px){.map-layout{grid-template-columns:1fr}.map-side{position:static;min-height:auto}.map-side-empty{min-height:230px}.crm-map-canvas svg{min-height:430px}.category-check-grid{grid-template-columns:1fr 1fr}}
@media(max-width:680px){.map-shell,.map-queue{padding:14px}.map-toolbar{grid-template-columns:1fr}.map-toolbar>:nth-child(n){grid-row:auto}.map-toolbar>*{width:100%}.map-radius{justify-content:space-between}.map-radius select{width:45%}.map-canvas-caption{display:grid}.crm-map-canvas svg{min-height:360px}.map-selected-details{grid-template-columns:1fr}.map-selected-actions{grid-template-columns:1fr 1fr}.map-queue-list article{grid-template-columns:1fr}.map-queue-list .table-actions{display:grid;grid-template-columns:1fr 1fr}.map-queue-list .btn{width:100%}.category-check-grid{grid-template-columns:1fr}.map-suggestion-head{display:grid}.map-suggestion-head .btn{width:100%}.suggestion-stop-list>div{grid-template-columns:auto 1fr}.suggestion-stop-list em{grid-column:2;text-align:left}.map-summary{grid-template-columns:1fr 1fr}}

.live-map-stack{position:relative}.google-map-canvas{width:100%;height:610px;border:1px solid var(--line);border-radius:20px;overflow:hidden;background:#eef3f8}.live-map-status{position:absolute;left:12px;bottom:12px;z-index:5;max-width:calc(100% - 24px);background:rgba(255,255,255,.94);border:1px solid var(--line);border-radius:999px;padding:6px 10px;color:var(--muted);font-size:10px;box-shadow:0 4px 15px rgba(20,40,70,.10)}.live-map-pin{width:30px;height:30px;border:3px solid #fff;border-radius:50%;display:grid;place-items:center;background:var(--pin-color,#2563eb);color:#fff;font-size:11px;font-weight:900;line-height:1;padding:0;box-shadow:0 3px 9px rgba(0,0,0,.28);cursor:pointer}.live-map-pin.selected{width:38px;height:38px;border-width:4px;box-shadow:0 0 0 5px rgba(37,99,235,.18),0 4px 12px rgba(0,0,0,.28)}.live-user-pin{width:18px;height:18px;border-radius:50%;background:#2563eb;border:4px solid #fff;box-shadow:0 0 0 8px rgba(37,99,235,.18),0 3px 10px rgba(0,0,0,.25)}
@media(max-width:1050px){.google-map-canvas{height:500px}}
@media(max-width:680px){.google-map-canvas{height:430px}.live-map-status{border-radius:12px;line-height:1.35}}

.map-suggestion-progress{border:1px solid var(--line);border-radius:16px;padding:18px;background:#fff}.map-suggestion-progress-head{display:flex;justify-content:space-between;align-items:start;gap:15px}.map-suggestion-progress-head h3{margin:0}.map-suggestion-progress-head p{margin:5px 0;color:var(--muted)}.map-suggestion-progress-head>strong{font-size:25px;color:var(--primary)}.progress-track.large{height:13px;margin:15px 0}.map-suggestion-progress-meta{display:flex;gap:12px;flex-wrap:wrap;color:var(--muted);font-size:11px}.map-suggestion-progress-meta span{background:var(--surface-2);border-radius:999px;padding:6px 9px}

.live-map-marker{display:flex;align-items:center;gap:6px;transform:translateY(-3px)}.live-map-marker-label{max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;background:rgba(255,255,255,.96);border:1px solid #cbd8e8;border-radius:8px;padding:5px 7px;color:#17243a;font-size:11px;font-weight:800;box-shadow:0 3px 10px rgba(20,40,70,.12)}

/* Version 1.0 — Management Dashboard, Reports, Goals & Exports */
.management-banner{display:flex;justify-content:space-between;gap:18px;align-items:center;background:linear-gradient(135deg,#0d1b33,#16355e);color:#fff;border-radius:20px;padding:22px;margin-bottom:14px}.management-banner span{font-size:11px;text-transform:uppercase;letter-spacing:.1em;opacity:.72;font-weight:900}.management-banner h2{margin:4px 0 5px;font-size:27px}.management-banner p{margin:0;max-width:760px;opacity:.8}.management-banner-actions{display:flex;gap:8px}.management-banner .btn{background:#fff;border-color:#fff;color:#17345d}.management-banner .btn.primary{background:#2d79f7;color:#fff;border-color:#2d79f7}
.dashboard-metrics{grid-template-columns:repeat(6,minmax(150px,1fr))}.management-grid{grid-template-columns:1.25fr .75fr;align-items:start}.dashboard-task-list,.dashboard-route-list{display:grid;gap:8px}.dashboard-task-list article{display:flex;justify-content:space-between;gap:12px;align-items:center;border:1px solid var(--line);border-radius:12px;padding:10px}.dashboard-task-list strong,.dashboard-task-list span,.dashboard-task-list small{display:block}.dashboard-task-list span,.dashboard-task-list small{color:var(--muted);font-size:11px;margin-top:3px}.dashboard-task-list article>div:last-child{text-align:right}.dashboard-route-list button{width:100%;display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center;border:1px solid var(--line);background:#fff;border-radius:12px;padding:10px;text-align:left}.dashboard-route-list button>span{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:var(--blue-soft);color:var(--primary);font-weight:900}.dashboard-route-list strong,.dashboard-route-list small{display:block}.dashboard-route-list small{color:var(--muted);margin-top:3px}.dashboard-route-list em{font-style:normal;color:var(--primary);font-weight:900}
.reports-shell,.report-section,.report-chart-card,.report-goals-card,.report-notes-card{padding:22px}.report-tabs{display:flex;gap:6px;border-bottom:1px solid var(--line);margin:-5px 0 18px}.report-tabs button{border:0;background:transparent;padding:12px 15px;font-weight:900;color:var(--muted);border-bottom:3px solid transparent}.report-tabs button.active{color:var(--primary);border-bottom-color:var(--primary)}
.report-toolbar{display:grid;grid-template-columns:minmax(300px,1.35fr) repeat(3,minmax(145px,.72fr)) minmax(220px,1fr) auto;gap:8px;align-items:center}.report-toolbar select,.report-toolbar input{height:43px;border:1px solid var(--line);border-radius:12px;background:#fff;padding:0 10px;min-width:0}.report-range-nav{display:flex;align-items:center;gap:7px}.report-range-nav>div{min-width:190px;flex:1;background:var(--surface-2);border:1px solid var(--line);border-radius:12px;padding:7px 10px}.report-range-nav strong,.report-range-nav span{display:block}.report-range-nav span{font-size:10px;color:var(--muted);margin-top:2px}.report-custom-row{margin-top:10px}
.report-summary{grid-template-columns:repeat(6,minmax(150px,1fr));margin-top:14px}.report-comparison-strip{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0}.report-comparison-strip>span{display:flex;align-items:center;gap:7px;border:1px solid var(--line);border-radius:999px;padding:6px 10px;background:#fff;font-size:11px}.report-delta{font-weight:900}.report-delta.up{color:#15803d}.report-delta.down{color:#c2410c}.report-delta.flat{color:var(--muted)}
.report-overview-grid{grid-template-columns:1.5fr .75fr;align-items:stretch}.report-chart-card,.report-goals-card{min-width:0}.report-bars{height:250px;display:grid;grid-auto-flow:column;grid-auto-columns:minmax(34px,1fr);gap:7px;align-items:end;overflow-x:auto;padding:10px 3px 0}.report-bar-item{text-align:center;min-width:34px}.report-bar-stack{height:185px;display:flex;align-items:end;justify-content:center;position:relative;border-bottom:1px solid var(--line)}.report-bar-stack .visits{display:block;width:70%;max-width:28px;background:#2d79f7;border-radius:6px 6px 0 0;min-height:0}.report-bar-stack i{position:absolute;background:#178a46;color:#fff;font-style:normal;font-size:9px;font-weight:900;border-radius:999px;padding:2px 5px;transform:translateY(-6px)}.report-bar-item strong,.report-bar-item small{display:block}.report-bar-item strong{font-size:9px;margin-top:6px;color:var(--muted);white-space:nowrap}.report-bar-item small{font-weight:900;margin-top:2px}
.report-goals-card .progress-row{margin:16px 0}.goal-forecast{background:var(--surface-2);border-radius:13px;padding:12px;margin-top:14px}.goal-forecast span,.goal-forecast strong,.goal-forecast small{display:block}.goal-forecast span,.goal-forecast small{color:var(--muted)}.goal-forecast strong{font-size:28px;margin:4px 0;color:var(--primary)}
.report-section{margin-top:14px}.report-table td small{display:block;color:var(--muted);margin-top:3px}.table-link{border:0;background:transparent;padding:0;color:var(--text);font-weight:900;text-align:left}.table-link:hover{color:var(--primary)}.report-count{background:var(--surface-2);border-radius:999px;padding:6px 10px;color:var(--muted);font-size:11px;font-weight:900}
.report-visit-list{display:grid;gap:8px}.report-visit-list article{display:grid;grid-template-columns:120px minmax(0,1fr) auto;gap:12px;align-items:start;border:1px solid var(--line);border-radius:13px;padding:11px}.report-visit-date strong,.report-visit-date span{display:block}.report-visit-date strong{font-size:13px}.report-visit-date span{color:var(--muted);font-size:10px;margin-top:3px}.report-visit-copy strong,.report-visit-copy span{display:block}.report-visit-copy span{color:var(--muted);font-size:11px;margin-top:3px}.report-visit-copy p{margin:6px 0 0;line-height:1.4}.report-visit-flags{display:flex;gap:6px;align-items:center;justify-content:flex-end;flex-wrap:wrap}
.report-performance-grid{grid-template-columns:.9fr 1.1fr;margin-top:14px}.weekly-trend-chart{height:245px;display:grid;grid-template-columns:repeat(12,1fr);gap:7px;align-items:end;padding-top:15px}.weekly-trend-chart>div{text-align:center}.weekly-column{height:175px;border-bottom:1px solid var(--line);display:flex;align-items:end;justify-content:center}.weekly-column span{display:block;width:75%;max-width:24px;background:#2d79f7;border-radius:5px 5px 0 0}.weekly-trend-chart strong,.weekly-trend-chart small{display:block}.weekly-trend-chart strong{font-size:9px;margin-top:6px;color:var(--muted)}.weekly-trend-chart small{font-size:10px;font-weight:900}
.report-goals-export-grid{grid-template-columns:.8fr 1.2fr;margin-top:14px}.goal-forecast-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.goal-forecast-grid article{border:1px solid var(--line);border-radius:13px;padding:13px}.goal-forecast-grid span,.goal-forecast-grid strong,.goal-forecast-grid small{display:block}.goal-forecast-grid span,.goal-forecast-grid small{color:var(--muted)}.goal-forecast-grid strong{font-size:26px;margin:4px 0}
.report-export-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.report-export-grid button{display:grid;grid-template-columns:auto 1fr;column-gap:10px;text-align:left;border:1px solid var(--line);background:#fff;border-radius:14px;padding:14px}.report-export-grid button:hover{border-color:#9ebcf5;background:#f8fbff}.report-export-grid button>span{grid-row:1/4;width:38px;height:38px;border-radius:11px;background:var(--blue-soft);display:grid;place-items:center;color:var(--primary);font-size:18px}.report-export-grid strong,.report-export-grid small{display:block}.report-export-grid small{color:var(--muted);margin-top:3px;line-height:1.35}
.report-notes-card textarea{min-height:95px}
@media(max-width:1450px){.dashboard-metrics,.report-summary{grid-template-columns:repeat(3,1fr)}.report-toolbar{grid-template-columns:minmax(290px,1.3fr) repeat(2,minmax(135px,.7fr))}.report-toolbar>:nth-child(n+4){grid-row:2}.report-export-grid{grid-template-columns:1fr 1fr}}
@media(max-width:1050px){.management-grid,.report-overview-grid,.report-performance-grid,.report-goals-export-grid{grid-template-columns:1fr}.report-toolbar{grid-template-columns:1fr 1fr}.report-toolbar>:nth-child(n){grid-row:auto}.report-range-nav{grid-column:1/-1}.weekly-trend-chart{overflow-x:auto;grid-template-columns:repeat(12,minmax(45px,1fr))}.report-visit-list article{grid-template-columns:95px 1fr}.report-visit-flags{grid-column:2;justify-content:flex-start}}
@media(max-width:680px){.management-banner{display:grid;padding:17px}.management-banner-actions{display:grid;grid-template-columns:1fr 1fr}.management-banner-actions .btn{width:100%}.dashboard-metrics,.report-summary{grid-template-columns:1fr 1fr}.reports-shell,.report-section,.report-chart-card,.report-goals-card,.report-notes-card{padding:14px}.report-tabs{overflow-x:auto}.report-tabs button{white-space:nowrap}.report-toolbar{grid-template-columns:1fr}.report-range-nav{display:grid;grid-template-columns:auto 1fr auto}.report-range-nav>div{min-width:0}.report-range-nav .btn:last-child{grid-column:1/-1}.report-export-grid{grid-template-columns:1fr}.goal-forecast-grid{grid-template-columns:1fr 1fr}.report-visit-list article{grid-template-columns:1fr}.report-visit-flags{grid-column:1;justify-content:flex-start}.report-bars{grid-auto-columns:minmax(42px,1fr)}}

/* Version 1.1 — Business Card Scanner & OCR Intake */
.scanner-summary{grid-template-columns:repeat(5,minmax(150px,1fr));margin-bottom:14px}.scanner-capture-card,.scanner-queue-shell{padding:22px}.scanner-capture-grid{display:grid;grid-template-columns:minmax(320px,.9fr) minmax(320px,1.1fr);gap:20px;align-items:stretch}.scanner-drop-zone{min-height:290px;border:2px dashed #9fb5d0;border-radius:18px;background:linear-gradient(145deg,#f8fbff,#eef5ff);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:22px;gap:9px;cursor:pointer;transition:.15s}.scanner-drop-zone:hover,.scanner-drop-zone.dragging{border-color:var(--primary);background:#edf4ff;transform:translateY(-1px)}.scanner-drop-zone>span{color:var(--muted);font-size:11px}.scanner-camera-icon{width:110px;height:74px;border-radius:14px;background:#fff;border:1px solid var(--line);display:grid;place-items:center;font-size:35px;color:var(--primary);overflow:hidden;box-shadow:0 7px 20px rgba(31,70,120,.08)}.scanner-camera-icon img{width:100%;height:100%;object-fit:cover}.scanner-capture-copy{border:1px solid var(--line);border-radius:17px;padding:18px}.scanner-capture-copy h3{margin-top:0}.scanner-step-list{display:grid;gap:8px}.scanner-step-list>div{display:grid;grid-template-columns:auto 1fr;gap:10px;align-items:start}.scanner-step-list>div>span{width:29px;height:29px;border-radius:50%;display:grid;place-items:center;background:var(--blue-soft);color:var(--primary);font-weight:900}.scanner-step-list p{margin:0}.scanner-step-list strong,.scanner-step-list small{display:block}.scanner-step-list small{color:var(--muted);margin-top:2px;line-height:1.4}.scanner-capture-actions{display:flex;gap:7px;flex-wrap:wrap;margin-top:17px}.scanner-setup-note{font-size:11px;color:var(--muted);line-height:1.45;background:var(--surface-2);padding:9px;border-radius:10px}
.scanner-toolbar{display:grid;grid-template-columns:minmax(280px,1fr) 190px auto;gap:8px;margin-bottom:14px}.scanner-toolbar select,.scanner-toolbar input{height:43px;border:1px solid var(--line);border-radius:12px;background:#fff;padding:0 10px}.scanner-queue-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.scanner-queue-card{display:grid;grid-template-columns:140px 1fr;gap:12px;border:1px solid var(--line);border-radius:15px;padding:11px;background:#fff}.scanner-queue-card.status-ready{border-color:#a8d9bb}.scanner-queue-card.status-failed{border-color:#efb2b2}.scanner-thumb{height:115px;border:0;background:#eef3f8;border-radius:11px;overflow:hidden;display:grid;place-items:center;font-size:30px;color:var(--primary);padding:0}.scanner-thumb img{width:100%;height:100%;object-fit:cover}.scanner-queue-copy{min-width:0}.scanner-queue-title{display:flex;justify-content:space-between;gap:8px;align-items:start}.scanner-queue-title h3{margin:0;font-size:15px}.scanner-queue-title p{margin:3px 0;color:var(--muted)}.scanner-queue-meta{display:flex;gap:8px;flex-wrap:wrap;color:var(--muted);font-size:10px;margin:9px 0}.scanner-queue-meta span{background:var(--surface-2);border-radius:999px;padding:4px 7px}.scanner-queue-actions{display:flex;gap:6px;flex-wrap:wrap;margin-top:9px}.scanner-error{background:#fff0f0;color:#9d2424;border-radius:9px;padding:7px;font-size:11px}
.scanner-review-modal{width:min(1180px,96vw);max-height:94vh}.scanner-review-body{display:grid;grid-template-columns:minmax(260px,.55fr) minmax(520px,1.45fr);gap:16px;align-items:start}.scanner-review-image-panel{position:sticky;top:0}.scanner-review-visual{min-height:220px;border:1px solid var(--line);border-radius:16px;overflow:hidden;background:#eef3f8;display:grid;place-items:center}.scanner-review-visual>img{width:100%;height:auto;max-height:390px;object-fit:contain;background:#fff}.scanner-card-fallback{min-height:260px;place-items:center;font-size:38px;color:var(--primary);gap:6px}.scanner-card-fallback span{font-size:11px;color:var(--muted)}.scanner-demo-card{width:92%;aspect-ratio:1.75;border-radius:12px;background:#fff;padding:20px;box-shadow:0 8px 28px rgba(26,48,80,.12);display:flex;flex-direction:column;justify-content:center}.scanner-demo-card small{color:var(--muted);letter-spacing:.08em}.scanner-demo-card h3{margin:9px 0 2px;font-size:24px}.scanner-demo-card p{margin:0 0 12px;color:var(--muted)}.scanner-demo-card strong{font-size:15px;margin-bottom:8px}.scanner-demo-card span{font-size:11px;margin-top:3px}.scanner-review-safety{margin-top:10px;background:#fff8e8;border-left:4px solid #d99a00;border-radius:0 11px 11px 0;padding:10px}.scanner-review-safety strong,.scanner-review-safety p{display:block}.scanner-review-safety p{margin:4px 0 0;color:#735c23;line-height:1.45;font-size:11px}.scanner-review-fields{min-width:0}.form-help{color:var(--muted);font-size:11px;margin-top:-3px}
.scanner-no-duplicate{border:1px solid #b9dec6;background:#effaf3;border-radius:12px;padding:11px}.scanner-no-duplicate strong,.scanner-no-duplicate span{display:block}.scanner-no-duplicate span{font-size:11px;color:#4d6f59;margin-top:3px}.scanner-duplicate-list{display:grid;gap:7px}.scanner-duplicate-list button{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center;border:1px solid var(--line);background:#fff;border-radius:12px;padding:10px;text-align:left}.scanner-duplicate-list button:hover{border-color:#8dafed;background:#f8fbff}.scanner-duplicate-list strong,.scanner-duplicate-list span,.scanner-duplicate-list small{display:block}.scanner-duplicate-list span,.scanner-duplicate-list small{color:var(--muted);margin-top:2px}.scanner-duplicate-list em{font-style:normal;font-size:16px;font-weight:900;color:#ad6800}.scanner-selected-contact{display:flex;justify-content:space-between;gap:10px;align-items:center;border:1px solid #d0b3f0;background:#f8f2ff;border-radius:12px;padding:10px;margin-top:9px}.scanner-selected-contact span,.scanner-selected-contact strong,.scanner-selected-contact small{display:block}.scanner-selected-contact span,.scanner-selected-contact small{color:var(--muted);font-size:10px}.scanner-selected-contact button{border:0;background:transparent;color:var(--primary);font-weight:900}.scanner-update-hint{background:#f4f7fb;border-radius:10px;padding:9px;color:var(--muted);font-size:11px;margin-top:9px}
@media(max-width:1250px){.scanner-summary{grid-template-columns:repeat(3,1fr)}.scanner-queue-list{grid-template-columns:1fr}.scanner-review-body{grid-template-columns:320px 1fr}}
@media(max-width:900px){.scanner-capture-grid,.scanner-review-body{grid-template-columns:1fr}.scanner-review-image-panel{position:static}.scanner-review-visual{min-height:190px}.scanner-toolbar{grid-template-columns:1fr 1fr}.scanner-toolbar .filter-search{grid-column:1/-1}}
@media(max-width:680px){.scanner-summary{grid-template-columns:1fr 1fr}.scanner-capture-card,.scanner-queue-shell{padding:14px}.scanner-capture-grid{grid-template-columns:1fr;gap:12px}.scanner-drop-zone{min-height:240px}.scanner-capture-actions{display:grid;grid-template-columns:1fr 1fr}.scanner-capture-actions .btn{width:100%}.scanner-toolbar{grid-template-columns:1fr}.scanner-toolbar .filter-search{grid-column:auto}.scanner-queue-card{grid-template-columns:96px 1fr}.scanner-thumb{height:92px}.scanner-queue-title{display:grid}.scanner-queue-actions{grid-column:1/-1}.scanner-review-modal{width:100vw;max-height:100vh;border-radius:0}.scanner-review-body{padding:12px}.scanner-demo-card h3{font-size:20px}}

.scanner-review-warnings{display:flex;gap:5px;flex-wrap:wrap;margin-top:7px}.scanner-review-warnings span{background:#fff4dd;color:#815a00;border-radius:999px;padding:4px 7px;font-size:10px;font-weight:800}

/* Version 1.2 — deployment readiness, offline field mode, import/export */
.offline-banner{display:flex;justify-content:space-between;gap:12px;align-items:center;background:#eef7ff;border:1px solid #b8d6f2;border-radius:14px;padding:10px 13px;margin-bottom:12px}.offline-banner.offline-active{background:#fff4dd;border-color:#e6c775}.offline-banner>div strong,.offline-banner>div span{display:block}.offline-banner>div span{font-size:11px;color:var(--muted);margin-top:2px}.offline-visit-card{padding:18px;margin-bottom:14px;border-color:#b8d6f2}.offline-visit-list{display:grid;gap:8px}.offline-visit-list article{display:flex;justify-content:space-between;gap:10px;align-items:center;border:1px solid var(--line);border-radius:11px;padding:10px}.offline-visit-list strong,.offline-visit-list span,.offline-visit-list small{display:block}.offline-visit-list span{color:var(--muted);font-size:11px;margin-top:3px}.offline-visit-list small{color:#b45309;font-size:10px;margin-top:4px}.offline-device-note{color:var(--muted);font-size:10px;margin:10px 0 0}
.setting-divider{height:1px;background:var(--line);margin:16px 0}.data-safety-card,.data-import-card{grid-column:span 1}.compact-danger{margin-top:14px;padding:13px}.compact-danger p{font-size:11px;line-height:1.45}.compact-danger .field{margin:10px 0}.import-preview{margin-top:12px;border:1px solid var(--line);border-radius:13px;background:#f8fbff;padding:12px}.import-preview>div:first-child strong,.import-preview>div:first-child span{display:block}.import-preview>div:first-child span{color:var(--muted);font-size:10px;margin-top:3px}.import-count-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;margin-top:10px}.import-count-grid span{border:1px solid var(--line);border-radius:10px;background:#fff;padding:8px;color:var(--muted);font-size:9px;text-transform:capitalize}.import-count-grid strong{display:block;color:var(--text);font-size:17px}.import-warnings{display:grid;gap:5px;margin-top:10px}.import-warnings span{background:#fff6df;color:#76560a;border-radius:8px;padding:7px;font-size:10px}.pwa-status-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.pwa-status-grid>div{border:1px solid var(--line);border-radius:11px;padding:10px}.pwa-status-grid span,.pwa-status-grid strong{display:block}.pwa-status-grid span{font-size:10px;color:var(--muted)}.pwa-status-grid strong{font-size:16px;margin-top:3px}.health-overview{border-radius:12px;padding:11px;margin-top:12px}.health-overview.healthy{background:#edf9f1;color:#166534}.health-overview.attention{background:#fff3e5;color:#9a4b0c}.health-overview strong,.health-overview span{display:block}.health-overview span{font-size:10px;margin-top:3px}.health-check-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:7px;margin-top:10px}.health-check-grid>div{display:grid;grid-template-columns:auto 1fr;gap:8px;align-items:center;border:1px solid var(--line);border-radius:10px;padding:8px}.health-check-grid>div>span{width:25px;height:25px;border-radius:50%;display:grid;place-items:center;font-weight:900}.health-check-grid .pass>span{background:#e5f7eb;color:#15803d}.health-check-grid .fail>span{background:#fff0e6;color:#c2410c}.health-check-grid p{margin:0}.health-check-grid strong,.health-check-grid small{display:block}.health-check-grid strong{text-transform:capitalize;font-size:11px}.health-check-grid small{color:var(--muted);font-size:9px}.health-integrations{display:flex;gap:7px;flex-wrap:wrap;margin-top:10px}.health-integrations span{background:var(--surface-2);border-radius:999px;padding:5px 8px;font-size:10px}
@media(max-width:900px){.import-count-grid{grid-template-columns:repeat(3,1fr)}.pwa-status-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:680px){.offline-banner{position:sticky;top:0;z-index:40;border-radius:0;margin-left:-16px;margin-right:-16px}.offline-visit-list article{align-items:flex-start}.import-count-grid{grid-template-columns:repeat(2,1fr)}.health-check-grid{grid-template-columns:1fr}.pwa-status-grid{grid-template-columns:1fr 1fr}}

.legacy-unmatched-list{display:grid;gap:7px;margin-top:12px}.legacy-unmatched-list article{display:flex;justify-content:space-between;gap:10px;align-items:flex-start;border:1px solid var(--line);border-radius:11px;padding:9px;background:#fff}.legacy-unmatched-list strong,.legacy-unmatched-list span,.legacy-unmatched-list small{display:block}.legacy-unmatched-list>article>div>span{color:var(--muted);font-size:10px;margin-top:3px}.legacy-unmatched-list small{font-size:10px;line-height:1.4;margin-top:5px;color:#6b5d3a}
