:root{--blue:#0176d3;--blue-dark:#014486;--blue-soft:#eaf5fe;--bg:#f3f6f9;--card:#fff;--text:#181818;--muted:#706e6b;--border:#d8dde6;--green:#2e844a;--red:#ba0517;--amber:#a96404;--shadow:0 2px 8px rgba(0,0,0,.08);--radius:12px}
*{box-sizing:border-box}html,body{margin:0;padding:0;background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif}body{min-height:100vh}.hidden{display:none!important}button,input,select,textarea{font:inherit}button{cursor:pointer}h1,h2,h3,p{margin-top:0}h1{font-size:26px;margin-bottom:4px}h2{font-size:18px;margin-bottom:0}h3{font-size:15px;margin-bottom:12px}.muted{color:var(--muted)}.center{text-align:center}.offline-bar{position:fixed;z-index:2000;top:0;left:0;right:0;background:#fe9339;color:#181818;text-align:center;font-weight:700;font-size:13px;padding:7px}.login-screen{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px;background:linear-gradient(160deg,#f7fbff,#e9f3fb)}.login-card{width:100%;max-width:410px;background:#fff;padding:32px;border-radius:18px;box-shadow:0 20px 50px rgba(1,68,134,.14);border:1px solid #e5edf5}.brand-mark{width:48px;height:48px;border-radius:14px;background:var(--blue);color:#fff;display:grid;place-items:center;font-size:24px;font-weight:800}.brand-mark.small{width:34px;height:34px;border-radius:10px;font-size:17px}.login-title{font-size:24px;font-weight:800;margin-top:18px}.login-sub{color:var(--muted);margin:6px 0 24px}.login-card label,.modal label{display:block;font-size:13px;font-weight:700;color:#444;margin:12px 0 6px}.login-card input,.modal input,.modal select,.modal textarea,.search{width:100%;border:1px solid var(--border);border-radius:9px;background:#fff;padding:11px 12px;color:var(--text);outline:none}.login-card input:focus,.modal input:focus,.modal select:focus,.modal textarea:focus,.search:focus{border-color:var(--blue);box-shadow:0 0 0 2px rgba(1,118,211,.12)}.form-error{min-height:20px;color:var(--red);font-size:13px;margin-top:10px}.link-btn{border:0;background:none;color:var(--blue);padding:10px 0;margin-top:4px}.btn{border:1px solid transparent;border-radius:9px;padding:10px 14px;font-weight:750;min-height:42px}.btn-primary{background:var(--blue);color:#fff}.btn-primary:hover{background:#0b5cab}.btn-secondary{background:#fff;color:var(--blue-dark);border-color:#b6c8dc}.btn-success{background:var(--green);color:#fff}.btn-block{width:100%}.app{min-height:100vh}.topbar{height:62px;background:var(--blue-dark);color:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 18px;position:sticky;top:0;z-index:900;box-shadow:0 1px 6px rgba(0,0,0,.15)}.topbar-left{display:flex;align-items:center;gap:10px}.brand-title{font-size:15px;font-weight:800;letter-spacing:.2px}.brand-meta{font-size:11px;opacity:.8;margin-top:2px}.topbar-actions{display:flex;align-items:center;gap:8px}.icon-btn{border:0;background:rgba(255,255,255,.13);color:#fff;border-radius:8px;padding:7px 10px;min-width:38px}.sync-chip{display:flex;align-items:center;gap:6px;background:rgba(255,255,255,.13);border-radius:999px;padding:7px 10px;font-size:12px}.sync-chip .dot{width:8px;height:8px;border-radius:50%;background:#45c65a}.sync-chip.pending .dot{background:#fe9339}.layout{display:grid;grid-template-columns:220px minmax(0,1fr);min-height:calc(100vh - 62px)}.sidebar{background:#fff;border-right:1px solid var(--border);padding:14px 10px}.nav{display:flex;flex-direction:column;gap:4px;position:sticky;top:76px}.nav-item{display:flex;align-items:center;gap:11px;border:0;background:transparent;border-radius:8px;text-align:left;padding:11px 12px;color:#3e3e3c}.nav-item span{width:20px;text-align:center;color:var(--blue)}.nav-item b{font-size:14px}.nav-item.active{background:var(--blue-soft);color:var(--blue-dark)}.content{padding:24px;max-width:1500px;width:100%;margin:0 auto}.view{display:none}.view.active{display:block}.page-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:18px}.page-head p{color:var(--muted);margin:2px 0 0}.kpi-grid{display:grid;grid-template-columns:repeat(6,minmax(140px,1fr));gap:12px;margin-bottom:16px}.kpi-card{background:#fff;border:1px solid var(--border);border-radius:var(--radius);padding:16px;box-shadow:0 1px 2px rgba(0,0,0,.03)}.kpi-label{color:var(--muted);font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.03em}.kpi-value{font-size:30px;font-weight:800;margin-top:5px;color:#032d60}.panel{background:#fff;border:1px solid var(--border);border-radius:var(--radius);box-shadow:0 1px 2px rgba(0,0,0,.03)}.panel-head{padding:15px 16px;border-bottom:1px solid var(--border)}.list{display:flex;flex-direction:column}.list-row{display:grid;grid-template-columns:minmax(180px,1.5fr) minmax(130px,.8fr) minmax(110px,.5fr);gap:12px;align-items:center;padding:13px 16px;border-bottom:1px solid #eef1f4}.list-row:last-child{border-bottom:0}.list-title{font-weight:750}.list-sub{font-size:12px;color:var(--muted);margin-top:3px}.badge{display:inline-flex;align-items:center;border-radius:999px;padding:4px 8px;font-size:11px;font-weight:800;background:#eef4ff;color:#014486}.badge.vip{background:#fff3cd;color:#6b4e00}.badge.good{background:#e8f5e9;color:#1b5e20}.badge.warn{background:#fff3e0;color:#8a4800}.badge.bad{background:#fde7e9;color:#8e030f}.notice{background:#eaf5fe;border:1px solid #b8dcf4;border-radius:10px;padding:12px 14px;color:#032d60;margin-bottom:14px;font-size:13px}.route-list{display:flex;flex-direction:column;gap:10px}.route-card{display:grid;grid-template-columns:42px minmax(0,1fr) auto;gap:12px;align-items:center;background:#fff;border:1px solid var(--border);border-radius:12px;padding:13px;box-shadow:0 1px 2px rgba(0,0,0,.03)}.route-num{width:36px;height:36px;border-radius:50%;background:var(--blue-soft);color:var(--blue-dark);display:grid;place-items:center;font-weight:800}.route-meta{display:flex;gap:7px;flex-wrap:wrap;margin-top:6px}.route-action{min-width:94px}.toolbar{display:flex;gap:8px;margin-bottom:14px}.search{max-width:480px;background:#fff}.cards-grid{display:grid;grid-template-columns:repeat(3,minmax(250px,1fr));gap:12px}.entity-card{background:#fff;border:1px solid var(--border);border-radius:12px;padding:15px;box-shadow:0 1px 2px rgba(0,0,0,.03)}.entity-card h3{font-size:16px;margin-bottom:5px}.entity-card .entity-address{font-size:13px;color:var(--muted);min-height:34px}.entity-meta{display:flex;gap:7px;flex-wrap:wrap;margin:10px 0}.entity-actions{display:flex;gap:8px;margin-top:12px}.entity-actions .btn{flex:1}.active-visit{position:sticky;top:62px;z-index:850;background:#e8f5e9;color:#17451f;border-bottom:1px solid #b9dfc3;padding:10px 18px;font-size:13px;font-weight:750}.mobile-nav{display:none}.modal{position:fixed;z-index:1200;inset:0;background:rgba(3,45,96,.45);display:flex;align-items:flex-start;justify-content:center;padding:22px;overflow:auto}.modal-sheet{width:100%;max-width:620px;background:#fff;border-radius:16px;padding:18px;box-shadow:0 24px 70px rgba(0,0,0,.25);margin:auto}.visit-sheet{max-width:720px}.modal-head{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:14px}.modal-head.sticky{position:sticky;top:-18px;background:#fff;z-index:5;padding:15px 0 10px}.close-btn{border:0;background:#f3f3f3;width:34px;height:34px;border-radius:50%;font-size:22px;color:#444}.eyebrow{text-transform:uppercase;letter-spacing:.06em;font-size:10px;color:var(--blue);font-weight:800}.gps-card{background:#f6f8fa;border:1px solid var(--border);border-radius:10px;padding:11px 12px;margin-bottom:12px;font-size:13px}.gps-card.good{background:#eef8f1;border-color:#bee2c7}.gps-card.warn{background:#fff7e6;border-color:#f3ce7a}.form-section{padding:16px 0;border-top:1px solid #eef1f4}.check-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.check-row{display:flex!important;align-items:center;gap:9px!important;border:1px solid var(--border);border-radius:9px;padding:10px!important;margin:0!important;background:#fff;font-weight:600!important}.check-row input{width:18px!important;height:18px;margin:0;accent-color:var(--blue)}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:10px}.upload-card{border:1px dashed #9fb8d2;border-radius:10px;padding:12px!important;background:#f8fbfe}.upload-card input{margin-top:8px;background:#fff}.finish-wrap{position:sticky;bottom:-18px;background:#fff;padding:14px 0 6px;border-top:1px solid #eef1f4}.toast{position:fixed;z-index:3000;left:50%;bottom:28px;transform:translateX(-50%);background:#181818;color:#fff;border-radius:9px;padding:11px 14px;box-shadow:var(--shadow);font-size:13px;max-width:min(90vw,520px)}.empty{padding:28px;text-align:center;color:var(--muted);background:#fff;border:1px dashed var(--border);border-radius:12px}.loading{padding:22px;text-align:center;color:var(--muted)}
@media(max-width:1100px){.kpi-grid{grid-template-columns:repeat(3,1fr)}.cards-grid{grid-template-columns:repeat(2,minmax(240px,1fr))}}
@media(max-width:760px){body{padding-bottom:68px}.topbar{height:58px;padding:0 12px}.sync-chip span:last-child{display:none}.layout{display:block;min-height:calc(100vh - 58px)}.sidebar{display:none}.content{padding:14px 12px 28px}.page-head{align-items:flex-start}.page-head h1{font-size:22px}.page-head p{font-size:12px}.kpi-grid{grid-template-columns:repeat(2,1fr);gap:8px}.kpi-card{padding:13px}.kpi-value{font-size:25px}.cards-grid{grid-template-columns:1fr}.list-row{grid-template-columns:1fr auto;padding:12px}.list-row>div:nth-child(2){display:none}.route-card{grid-template-columns:36px minmax(0,1fr)}.route-action{grid-column:2;width:100%}.route-action .btn{width:100%}.toolbar{position:sticky;top:58px;z-index:10;background:var(--bg);padding:4px 0 8px}.mobile-nav{position:fixed;z-index:1000;left:0;right:0;bottom:0;height:64px;background:#fff;border-top:1px solid var(--border);display:grid;grid-template-columns:repeat(5,1fr);padding-bottom:env(safe-area-inset-bottom)}.mobile-nav-item{border:0;background:#fff;color:#5c5c5a;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px}.mobile-nav-item span{font-size:18px}.mobile-nav-item small{font-size:10px;font-weight:700}.mobile-nav-item.active{color:var(--blue)}.modal{padding:0;align-items:flex-end}.modal-sheet{max-width:none;border-radius:18px 18px 0 0;max-height:94vh;overflow:auto;margin-top:auto;padding:18px 14px calc(18px + env(safe-area-inset-bottom))}.modal-head.sticky{top:-18px}.check-grid{grid-template-columns:1fr}.two-col{grid-template-columns:1fr 1fr}.active-visit{top:58px}}
@media(max-width:420px){.two-col{grid-template-columns:1fr}.topbar-actions{gap:5px}.brand-meta{display:none}.page-head>.btn{padding:9px 10px}.kpi-label{font-size:10px}.kpi-value{font-size:23px}}
.admin-toolbar{flex-wrap:wrap}.admin-toolbar .btn{white-space:nowrap}
.filter-control,.date-filter input,.role-editor select{border:1px solid var(--border);border-radius:9px;background:#fff;padding:10px 11px;color:var(--text);min-height:42px}.date-filter{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--muted);font-weight:700}.visit-filters{align-items:center;flex-wrap:wrap}.visit-filters .filter-control{min-width:210px}.legacy-row{background:#fffdf7}.task-description{white-space:pre-wrap;line-height:1.45;margin:8px 0}.role-editor{display:grid;grid-template-columns:1.2fr 1.4fr .7fr auto auto;gap:8px;align-items:end;border-top:1px solid #eef1f4;margin-top:12px;padding-top:12px}.role-editor label{font-size:11px;color:var(--muted);font-weight:700}.role-editor select{width:100%;margin-top:4px}.toggle-label{display:flex;align-items:center;gap:5px;min-height:42px;color:var(--text)!important}.toggle-label input{width:18px;height:18px}.task-card .entity-actions{justify-content:flex-end}.task-card .entity-actions .btn{flex:0 1 auto}.kpi-grid{grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}
@media(max-width:900px){.role-editor{grid-template-columns:1fr 1fr}.role-editor .btn{grid-column:1/-1}.visit-filters{position:static}}
@media(max-width:760px){.mobile-nav{display:flex;overflow-x:auto}.mobile-nav-item{flex:1 0 56px;min-width:52px}.manager-only{display:flex}.visit-filters{position:static;display:grid;grid-template-columns:1fr 1fr}.visit-filters .filter-control{min-width:0;grid-column:1/-1}.visit-filters .btn{grid-column:1/-1}.date-filter{display:block}.date-filter span{display:block;margin-bottom:4px}.list-row{grid-template-columns:1fr}.list-row>div:nth-child(2){display:block}.role-editor{grid-template-columns:1fr}.role-editor .btn{grid-column:auto}.entity-actions{flex-wrap:wrap}.entity-actions .btn{min-width:calc(50% - 4px)}}

/* v3 management details */
.detail-sheet{max-width:980px}.detail-actions{display:flex;gap:8px;flex-wrap:wrap;margin:6px 0 16px}.detail-section{padding:16px 0;border-top:1px solid #eef1f4}.detail-section:first-child{border-top:0}.section-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.detail-grid{display:grid;grid-template-columns:repeat(4,minmax(140px,1fr));gap:10px}.detail-grid>div{background:#f8fafc;border:1px solid #e6ebf1;border-radius:10px;padding:11px 12px;min-height:68px}.detail-grid>div span{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.03em;color:var(--muted);font-weight:750;margin-bottom:5px}.detail-grid>div b{font-size:13px;line-height:1.35;word-break:break-word}.detail-grid .detail-wide{grid-column:span 2}.detail-grid em{font-style:normal;margin-left:5px}.assortment-tags{display:flex;gap:7px;flex-wrap:wrap}.assortment-tag{border-radius:999px;padding:6px 9px;font-size:12px;font-weight:700;border:1px solid #d8dde6}.assortment-tag.on{background:#eef8f1;border-color:#bee2c7;color:#1b5e20}.assortment-tag.off{background:#f7f8fa;color:#777}.photo-grid{display:grid;grid-template-columns:repeat(4,minmax(120px,1fr));gap:10px}.photo-thumb{display:block;position:relative;aspect-ratio:4/3;border-radius:10px;overflow:hidden;background:#eef1f4;border:1px solid var(--border);text-decoration:none;color:#fff}.photo-thumb img{width:100%;height:100%;object-fit:cover;display:block}.photo-thumb span{position:absolute;left:7px;bottom:7px;background:rgba(0,0,0,.62);border-radius:999px;padding:4px 7px;font-size:10px;font-weight:800}.mini-list{display:flex;flex-direction:column;border:1px solid #e9edf2;border-radius:10px;overflow:hidden}.mini-row{width:100%;border:0;border-bottom:1px solid #eef1f4;background:#fff;padding:11px 12px;display:flex;align-items:center;justify-content:space-between;gap:12px;text-align:left;color:var(--text)}button.mini-row:hover{background:#f7fbff}.mini-row:last-child{border-bottom:0}.mini-row span:first-child{min-width:0}.mini-row b{display:block;font-size:13px}.mini-row small{display:block;font-size:11px;color:var(--muted);margin-top:3px}.mini-row.static{cursor:default}.store-edit-panel{background:#fbfcfe;border:1px solid #e4eaf0;border-radius:12px;padding:15px;margin-top:10px}.store-edit-panel label{display:block;font-size:12px;font-weight:700;color:#444;margin:10px 0 5px}.store-edit-panel input,.store-edit-panel select,.store-edit-panel textarea{width:100%;border:1px solid var(--border);border-radius:9px;background:#fff;padding:10px 11px;color:var(--text)}.three-col{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.store-edit-assortment{max-height:360px;overflow:auto;padding:2px}.action-badges{display:flex;gap:7px;flex-wrap:wrap}.text-box{white-space:pre-wrap;line-height:1.5;background:#f8fafc;border:1px solid #e6ebf1;border-radius:10px;padding:12px;font-size:13px}.compact-btn{min-height:30px;padding:5px 10px;margin-top:7px;font-size:11px}.visit-row{transition:background .15s}.visit-row:hover{background:#fbfdff}.store-card{transition:transform .12s,box-shadow .12s}.store-card:hover{transform:translateY(-1px);box-shadow:0 4px 12px rgba(0,0,0,.07)}
@media(max-width:1000px){.detail-grid{grid-template-columns:repeat(2,1fr)}.photo-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:760px){.detail-sheet{max-width:none}.detail-grid{grid-template-columns:1fr 1fr}.detail-grid .detail-wide{grid-column:1/-1}.photo-grid{grid-template-columns:repeat(2,1fr)}.three-col{grid-template-columns:1fr}.detail-actions .btn{flex:1}.store-edit-panel{padding:12px}.mini-row{align-items:flex-start}.visit-row .compact-btn{width:100%}}
@media(max-width:430px){.detail-grid{grid-template-columns:1fr}.detail-grid .detail-wide{grid-column:auto}.photo-grid{grid-template-columns:1fr 1fr}}


/* v4 assortment dashboard */
.dashboard-scope{margin-bottom:12px}.dashboard-scope .filter-control{min-width:260px}.assortment-panel{overflow:hidden}.coverage-grid{display:grid;grid-template-columns:repeat(4,minmax(170px,1fr));gap:12px}.coverage-card{border:1px solid #dfe5ec;border-radius:12px;background:#fff;padding:14px}.coverage-card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}.coverage-card-head b{font-size:14px}.coverage-card-head strong{font-size:22px;color:var(--blue);white-space:nowrap}.coverage-count{font-size:11px;color:var(--muted);margin:6px 0 10px}.coverage-track{height:8px;border-radius:999px;background:#edf1f5;overflow:hidden}.coverage-track span{display:block;height:100%;border-radius:999px;background:var(--blue)}.team-coverage-wrap{margin-top:22px;padding-top:18px;border-top:1px solid #eef1f4}.coverage-table-wrap{overflow-x:auto;border:1px solid #e4e9ef;border-radius:12px}.coverage-table{border-collapse:collapse;width:100%;min-width:760px;background:#fff}.coverage-table th,.coverage-table td{padding:11px 12px;border-bottom:1px solid #edf0f3;text-align:left;vertical-align:middle}.coverage-table th{background:#f6f8fa;font-size:11px;color:#58616d;text-transform:uppercase;letter-spacing:.02em}.coverage-table td{font-size:13px}.coverage-table td:not(:first-child),.coverage-table th:not(:first-child){text-align:center}.coverage-table td small{display:block;color:var(--muted);font-size:10px;margin-top:2px}.legacy-dashboard-wrap,.legacy-assortment-wrap{margin-top:14px}.legacy-dashboard-wrap>.btn,.legacy-assortment-wrap>.btn{margin-bottom:10px}.legacy-dashboard-wrap .coverage-grid{grid-template-columns:repeat(3,minmax(180px,1fr))}.store-legacy-tags{margin-top:10px}
@media(max-width:1050px){.coverage-grid{grid-template-columns:repeat(2,minmax(170px,1fr))}.legacy-dashboard-wrap .coverage-grid{grid-template-columns:repeat(2,minmax(170px,1fr))}}
@media(max-width:760px){.dashboard-scope .filter-control{min-width:0;width:100%}.coverage-grid,.legacy-dashboard-wrap .coverage-grid{grid-template-columns:1fr}.coverage-card-head strong{font-size:20px}.team-coverage-wrap{margin-top:16px}.assortment-panel .panel-head{align-items:flex-start}.assortment-panel .panel-head .badge{white-space:nowrap}}

/* v4.1 — alignment fixes for management and store cards */
.team-card .role-editor{
  grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,.8fr);
  gap:10px;
  align-items:end;
}
.team-card .role-editor>label{min-width:0}
.team-card .role-editor select{min-width:0;width:100%}
.team-card .role-editor .toggle-label{
  grid-column:1/2;
  min-width:0;
  min-height:42px;
  margin:0;
  align-self:center;
}
.team-card .role-editor .save-role{
  grid-column:2/4;
  width:100%;
  min-width:0;
  justify-self:stretch;
}
.store-card .entity-actions{align-items:stretch}
.store-card .entity-actions .btn{
  flex:1 1 0;
  min-width:0;
  width:0;
  padding:10px 8px;
  line-height:1.15;
  white-space:normal;
  text-align:center;
  display:flex;
  align-items:center;
  justify-content:center;
}
@media(max-width:1100px){
  .team-card .role-editor{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  .team-card .role-editor .toggle-label{grid-column:1/2}
  .team-card .role-editor .save-role{grid-column:2/3}
}
@media(max-width:760px){
  .team-card .role-editor{grid-template-columns:1fr 1fr}
  .team-card .role-editor .toggle-label{grid-column:1/2}
  .team-card .role-editor .save-role{grid-column:2/3}
  .store-card .entity-actions{display:grid;grid-template-columns:1fr 1fr}
  .store-card .entity-actions .btn{width:100%;min-width:0}
  .store-card .entity-actions .btn:last-child:nth-child(3){grid-column:1/-1}
}
@media(max-width:420px){
  .team-card .role-editor{grid-template-columns:1fr}
  .team-card .role-editor .toggle-label,
  .team-card .role-editor .save-role{grid-column:1}
  .store-card .entity-actions{grid-template-columns:1fr}
  .store-card .entity-actions .btn:last-child:nth-child(3){grid-column:1}
}

/* VOOPOO CRM v6 management update */
.btn-danger{background:#fff;color:#8e030f;border-color:#efb5bb}.btn-danger:hover{background:#fde7e9}.btn-small{min-height:34px;padding:6px 9px;font-size:12px}.chain-card-top,.kpi-metric-head,.kpi-target-line,.row-actions{display:flex;align-items:center;justify-content:space-between;gap:10px}.product-chips{display:flex;flex-wrap:wrap;gap:6px;margin:10px 0}.product-chip{display:inline-flex;align-items:center;padding:5px 8px;border-radius:999px;background:#eaf5fe;color:#014486;font-size:11px;font-weight:800}.small-note{font-size:11px;margin:8px 0}.kpi-progress-label{font-size:11px;color:var(--muted);font-weight:700;margin-top:4px}.kpi-mini-track,.coverage-track{height:7px;border-radius:999px;background:#e8edf2;overflow:hidden;margin-top:8px}.kpi-mini-track span,.coverage-track span{display:block;height:100%;background:var(--blue);border-radius:inherit}.kpi-work-panel{margin-bottom:20px}.kpi-panel-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.kpi-work-list{padding:14px}.kpi-user-block{padding:14px 0;border-bottom:1px solid var(--border)}.kpi-user-block:last-child{border-bottom:0}.kpi-metric-grid{display:grid;grid-template-columns:repeat(2,minmax(220px,1fr));gap:10px}.kpi-metric{border:1px solid var(--border);border-radius:12px;padding:12px;background:#fbfcfe}.kpi-target-line{font-size:12px;color:var(--muted);margin-top:8px}.kpi-target-input{max-width:90px!important;padding:6px!important}.panel-footer{padding:0 14px 14px}.extra-task-head{margin-top:18px}.kpi-summary-row{display:flex;flex-wrap:wrap;gap:5px;margin-top:10px}.doc-items{display:flex;flex-direction:column;gap:8px;margin:8px 0 14px}.doc-item-row{display:grid;grid-template-columns:minmax(150px,1fr) 90px 110px 42px;gap:6px;align-items:center}.doc-item-row input,.doc-item-row select{margin:0!important}.doc-row>span:last-child{display:flex;gap:6px;align-items:center}.chain-store-row{align-items:flex-start}.chain-store-row>span:first-child{min-width:0;flex:1}.chain-store-row .product-chips{margin:5px 0 0}.row-actions{justify-content:flex-end;flex-wrap:wrap}.dist-name{min-width:220px;border:1px solid var(--border);border-radius:8px;padding:8px}.prod-life{border:1px solid var(--border);border-radius:8px;padding:7px}.role-editor select{min-width:0}.entity-card{overflow:hidden}.chain-card{cursor:default}.vip-card{cursor:default}

@media(max-width:760px){
  body{padding-bottom:104px}
  .mobile-nav{bottom:18px;height:64px;box-shadow:0 -5px 18px rgba(3,45,96,.08);padding-bottom:0;border-bottom:1px solid var(--border)}
  .content{padding-bottom:54px}
  .kpi-metric-grid{grid-template-columns:1fr}.kpi-panel-head{display:block}.kpi-panel-head .toolbar{position:static;margin-top:10px;display:grid;grid-template-columns:1fr 1fr}.kpi-panel-head .toolbar .btn{grid-column:1/-1}
  .doc-item-row{grid-template-columns:1fr 72px 82px 38px}.chain-card-top{align-items:flex-start}.row-actions{width:auto}.mini-row.chain-store-row{display:block}.chain-store-row .row-actions{margin-top:9px;justify-content:flex-start}.chain-store-row .btn{flex:1}
  .detail-actions{display:grid!important;grid-template-columns:1fr 1fr}.detail-actions .btn:first-child{grid-column:1/-1}.kpi-value{font-size:23px}.entity-actions{display:grid!important;grid-template-columns:1fr 1fr}.entity-actions .btn{min-width:0!important}.entity-actions .btn:first-child:last-child{grid-column:1/-1}
}

/* VOOPOO CRM v7 — Wholesale Development */
.wholesale-toolbar{flex-wrap:wrap}.wholesale-toolbar .search{min-width:240px}.wholesale-card .entity-address{min-height:0}.wholesale-card .wholesale-sales{display:flex;gap:8px;flex-wrap:wrap;margin-top:9px}.wholesale-contact-row{display:grid;grid-template-columns:1fr 1fr 1fr 1fr 42px;gap:7px;margin-bottom:7px}.wholesale-contact-row input{margin:0!important}.wholesale-assortment-grid{display:grid;grid-template-columns:repeat(2,minmax(180px,1fr));gap:7px}.wholesale-stat-grid{display:grid;grid-template-columns:repeat(4,minmax(120px,1fr));gap:10px;margin-bottom:12px}.wholesale-stat{border:1px solid var(--border);border-radius:11px;padding:12px;background:#fbfcfe}.wholesale-stat small{display:block;color:var(--muted);font-weight:700;text-transform:uppercase}.wholesale-stat b{display:block;font-size:22px;color:var(--blue-dark);margin-top:5px}.inventory-balance{font-size:20px;color:var(--blue-dark);font-weight:800}.wholesale-section-actions{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0}.wholesale-doc-items,.wholesale-salesin-items{display:flex;flex-direction:column;gap:8px;margin:8px 0 14px}.wholesale-item-row{display:grid;grid-template-columns:minmax(150px,1fr) 90px 110px 42px;gap:6px;align-items:center}.wholesale-item-row input,.wholesale-item-row select{margin:0!important}
@media(max-width:760px){
  .mobile-nav{display:flex;overflow-x:auto;overflow-y:hidden;justify-content:flex-start;scrollbar-width:none}.mobile-nav::-webkit-scrollbar{display:none}.mobile-nav-item{flex:0 0 76px;min-width:76px}
  .wholesale-toolbar{position:static;display:grid;grid-template-columns:1fr 1fr}.wholesale-toolbar .search{min-width:0;grid-column:1/-1}.wholesale-toolbar .btn{width:100%}
  .wholesale-contact-row{grid-template-columns:1fr 1fr}.wholesale-contact-row .contact-position,.wholesale-contact-row .contact-email{grid-column:auto}.wholesale-contact-row .contact-remove{grid-column:1/-1;width:100%}
  .wholesale-assortment-grid{grid-template-columns:1fr}.wholesale-stat-grid{grid-template-columns:1fr 1fr}.wholesale-item-row{grid-template-columns:1fr 72px 82px 38px}
}


/* VOOPOO CRM v7.3 — Admin maintenance */
.maintenance-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:16px;margin-bottom:16px}.maintenance-panel{min-width:0}.version-card{display:flex;align-items:center;justify-content:space-between;border:1px solid var(--border);background:#f7fbff;border-radius:14px;padding:16px;margin:8px 0 14px}.version-card span{color:var(--muted);font-weight:700}.version-card b{font-size:28px;color:var(--blue-dark)}.update-upload-form{display:flex;flex-direction:column;gap:12px}.update-drop{border:2px dashed #b9cce0;border-radius:14px;padding:18px;background:#fbfdff;display:flex;flex-direction:column;gap:8px}.update-drop input{background:#fff}.maintenance-row{align-items:flex-start}.maintenance-row .row-actions{flex-shrink:0}.maintenance-panel .notice{margin:10px 0}
@media(max-width:900px){.maintenance-grid{grid-template-columns:1fr}}@media(max-width:760px){.maintenance-row{display:block}.maintenance-row .row-actions{margin-top:10px;display:grid;grid-template-columns:1fr 1fr}.maintenance-row .row-actions .btn:first-child{grid-column:1/-1;width:100%}.maintenance-panel .panel-head{align-items:flex-start}.maintenance-panel .panel-head .btn{width:auto}}
#visitDraftsPanel{margin-bottom:16px}#visitDraftsList{border:0;border-radius:0}#visitDraftsList .mini-row{padding:14px 16px}#visitDraftsList .row-actions{display:flex;gap:8px;flex-wrap:wrap}@media(max-width:760px){#visitDraftsList .mini-row{display:block}#visitDraftsList .row-actions{margin-top:10px}#visitDraftsList .row-actions .btn{flex:1}}

/* v7.4 VOOPOO School import review */
.school-pending-card .list-sub{margin-top:8px;line-height:1.45}.school-pending-card .entity-actions{grid-template-columns:1fr auto}.school-pending-card .btn-danger{flex:0 0 auto}.school-suggestion{border:0;cursor:pointer}.school-suggestion:hover{background:#d9edff}.school-store-pick small{max-width:680px}.school-store-pick span:last-child{white-space:nowrap;color:var(--blue);font-weight:800}
@media(max-width:760px){.school-pending-card .entity-actions{display:grid;grid-template-columns:1fr}.school-pending-card .btn-danger{width:100%}.school-store-pick{align-items:flex-start}.school-store-pick span:last-child{font-size:11px}}


/* v7.5 visit workflow */
.visit-step{border-left:4px solid #0b7fd3;padding-left:16px}.visit-step-title{display:flex;align-items:center;gap:10px;margin-bottom:12px}.visit-step-title>span{width:30px;height:30px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:#0b7fd3;color:#fff;font-weight:800;flex:0 0 auto}.visit-step-title h3{margin:0}.required-upload{border-color:#87bfe8;background:#f7fbff}.visit-item-list{display:grid;gap:8px}.visit-material-row{display:grid;grid-template-columns:1fr 90px;gap:10px;align-items:center;border:1px solid #dbe4ee;border-radius:14px;padding:8px 10px}.visit-material-row .check-row{margin:0}.visit-material-row input[type=number]{margin:0}.task-group-title{grid-column:1/-1;font-size:18px;font-weight:800;margin:8px 0 0;color:#173b63}.empty.compact{padding:12px}.btn-danger{background:#fff;color:#9b111e;border:1px solid #ef9aa2}.btn-danger:hover{background:#fff4f5}
@media(max-width:640px){.visit-material-row{grid-template-columns:1fr 72px}.visit-step{padding-left:12px}.visit-step-title>span{width:28px;height:28px}}
/* v7.6 assortment team average + week-over-week trend */
.coverage-table .team-average-row td{background:#eef6ff;border-bottom:2px solid #cfe1f5}.coverage-table .team-average-row td:first-child b{color:var(--blue)}.coverage-trend{display:block;font-size:10px;font-weight:800;margin-top:2px;white-space:nowrap}.coverage-trend.up{color:#18864b}.coverage-trend.down{color:#c0392b}.coverage-trend.neutral{color:var(--muted)}

/* v7.9.5 — editable local daily routes, rebuilt on current 7.9.2 */
.route-page-head{align-items:flex-end}.route-build-controls{display:flex;align-items:flex-end;gap:8px}.route-count-label{display:flex;flex-direction:column;gap:5px;font-size:11px;font-weight:800;color:var(--muted)}.route-count-label select{min-width:76px;border:1px solid var(--border);border-radius:9px;background:#fff;padding:9px 10px;min-height:42px}.route-summary{background:#fff;border:1px solid var(--border);border-radius:10px;padding:10px 13px;margin-bottom:12px;color:#032d60;font-size:13px}.route-footer{display:flex;justify-content:flex-end;margin-top:12px}.route-edit-actions{display:flex;gap:6px;margin-bottom:6px}.route-edit-actions .btn{min-height:34px;padding:6px 9px;font-size:12px}.route-edit-actions .btn:disabled{opacity:.35;cursor:default}.route-action{display:flex;flex-direction:column}.mini-item{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:11px 0;border-bottom:1px solid #eef1f4}.mini-item:last-child{border-bottom:0}
@media(max-width:760px){.route-page-head{display:block}.route-build-controls{margin-top:12px;width:100%}.route-build-controls .btn{flex:1}.route-count-label{min-width:82px}.route-action{grid-column:2;width:100%}.route-edit-actions{display:grid;grid-template-columns:44px 44px 1fr}.route-edit-actions .btn{width:100%}.route-footer .btn{width:100%}}

/* v7.10 — territory map route planner */

.route-client-planner{margin-bottom:14px}.route-selector-card{background:#fff;border:1px solid var(--border);border-radius:14px;padding:16px;overflow:visible}.route-selector-wide{max-width:980px}.route-selector-card label{display:flex;flex-direction:column;gap:6px;margin-bottom:14px;font-size:12px;font-weight:800;color:var(--muted)}.route-selector-card select,.route-selector-card input{width:100%;min-height:46px;border:1px solid var(--border);border-radius:9px;background:#fff;padding:9px 11px;font-size:16px;color:var(--text)}.route-selector-card input:disabled{background:#f4f6f8;color:#8995a3}.route-anchor-search{position:relative}.route-anchor-results{max-height:320px;overflow:auto;border:1px solid var(--border);border-radius:10px;background:#fff;margin-top:-7px;margin-bottom:12px;box-shadow:0 8px 26px rgba(3,45,96,.12)}.route-anchor-option{display:flex;width:100%;flex-direction:column;gap:3px;text-align:left;border:0;border-bottom:1px solid #eef1f4;background:#fff;padding:11px 12px;color:var(--text)}.route-anchor-option:last-child{border-bottom:0}.route-anchor-option b{font-size:14px}.route-anchor-option span{font-size:12px;color:var(--muted);line-height:1.35}.route-anchor-option:hover,.route-anchor-option:focus{background:#f2f8fd;outline:none}.route-selected-clients{display:flex;flex-direction:column;gap:8px}.route-selected-head{font-size:12px;font-weight:800;color:var(--muted);margin-bottom:2px}.route-selected-client{display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid #b8dcf4;background:#eef7ff;border-radius:10px;padding:10px 11px}.route-selected-client>div{min-width:0;display:flex;flex-direction:column;gap:2px}.route-selected-client b{font-size:13px;color:#032d60}.route-selected-client span{font-size:11px;color:var(--muted);overflow-wrap:anywhere}.route-selected-client .btn{flex:0 0 auto;width:auto!important}.route-nearby-preview{display:flex;flex-wrap:wrap;gap:6px 12px;margin-top:12px;padding:11px 12px;border-radius:10px;background:#f7f9fb;color:var(--muted);font-size:12px;line-height:1.4}.route-nearby-preview b{color:var(--text)}.small-empty{padding:14px!important;border:0!important;border-radius:0!important}
@media(max-width:760px){.route-selector-card{padding:12px}.route-anchor-results{max-height:260px}.route-selected-client{align-items:flex-start}.route-nearby-preview{flex-direction:column;gap:3px}}
/* v7.10.3 smart route search + ready routes */
.route-ready-panel{margin:14px 0 18px;background:#fff;border:1px solid var(--border);border-radius:14px;padding:14px 16px}.route-ready-head{align-items:flex-start;gap:12px}.route-ready-head h3{margin:0 0 4px}.route-ready-head p{margin:0;color:var(--muted);font-size:12px;line-height:1.4}.ready-route-list{display:flex;flex-direction:column;gap:8px;margin-top:12px}.ready-route-card{display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid #e2e8ef;border-radius:11px;padding:10px 12px;background:#fbfcfd}.ready-route-main{display:flex;min-width:0;flex-direction:column;gap:3px}.ready-route-main b{font-size:14px;overflow-wrap:anywhere}.ready-route-main span{font-size:11px;color:var(--muted);overflow-wrap:anywhere}.ready-route-actions{display:flex;gap:6px;flex:0 0 auto}.route-day-hint{display:flex;align-items:center;justify-content:space-between;gap:12px;background:#f3f8fd;border-color:#bfdcf4}.route-day-hint>div{display:flex;min-width:0;flex-direction:column;gap:3px}.route-day-hint>div span{font-size:12px;color:var(--muted)}
@media(max-width:760px){.route-ready-head,.ready-route-card,.route-day-hint{align-items:stretch;flex-direction:column}.ready-route-actions{width:100%}.ready-route-actions .btn{flex:1}.route-ready-panel{padding:12px}.route-ready-head .btn,.route-day-hint .btn{width:100%}}

/* v7.10.4 — route planning by date + Head BA route viewer */
.route-planning-bar{display:flex;align-items:flex-end;gap:10px;flex-wrap:wrap;background:#fff;border:1px solid var(--border);border-radius:14px;padding:12px 14px;margin-bottom:12px}
.route-planning-field{display:flex;flex-direction:column;gap:5px;min-width:180px;margin:0;font-size:11px;font-weight:800;color:var(--muted)}
.route-planning-field .filter-control{min-height:42px;background:#fff}
.route-day-buttons{display:flex;gap:6px;flex:1;min-width:320px;overflow-x:auto;padding:1px 0 3px;scrollbar-width:thin}
.route-day-chip{min-width:72px;border:1px solid var(--border);border-radius:10px;background:#fff;padding:6px 8px;color:var(--text);display:flex;flex-direction:column;align-items:center;gap:1px;cursor:pointer}
.route-day-chip span{font-size:10px;color:var(--muted);font-weight:800;white-space:nowrap}
.route-day-chip b{font-size:17px;line-height:1.1}
.route-day-chip small{font-size:10px;color:var(--muted)}
.route-day-chip.has-route{border-color:#8bbce7;background:#f4f9fe}
.route-day-chip.has-route small{color:var(--blue-dark);font-weight:800}
.route-day-chip.active{border-color:var(--blue);box-shadow:0 0 0 2px rgba(1,118,211,.12);background:#eaf5fe}
.route-mode-note{min-width:220px;font-size:12px;color:var(--muted);padding:8px 2px}
.route-mode-note b{color:var(--text)}
.route-future-note{display:block;font-size:11px;line-height:1.35;color:var(--muted);text-align:center;padding:5px 0}
@media(max-width:760px){
  .route-planning-bar{display:block;padding:11px}
  .route-planning-field{min-width:0;width:100%;margin-bottom:9px}
  .route-day-buttons{min-width:0;width:100%;margin:4px 0 7px}
  .route-day-chip{min-width:66px}
  .route-mode-note{min-width:0;padding:5px 0 0}
}


/* v7.11 — Wholesale 360: dashboard, separate KPI/stock, sales history and Business Impact */
.wholesale-dashboard-toolbar{display:flex;align-items:flex-end;gap:10px;flex-wrap:wrap;margin-bottom:14px}.wholesale-dashboard-toolbar label{display:flex;flex-direction:column;gap:5px;margin:0;font-size:11px;font-weight:800;color:var(--muted)}.wholesale-dashboard-toolbar input,.wholesale-dashboard-toolbar select{min-height:42px;border:1px solid var(--border);border-radius:9px;background:#fff;padding:8px 10px;color:var(--text)}
.wholesale-dashboard-grid{display:grid;grid-template-columns:repeat(3,minmax(190px,1fr));gap:12px;margin-bottom:14px}.wholesale-dashboard-metric{background:#fff;border:1px solid var(--border);border-radius:14px;padding:16px;min-height:118px;display:flex;flex-direction:column;gap:6px}.wholesale-dashboard-metric>span{font-size:12px;font-weight:800;color:var(--muted)}.wholesale-dashboard-metric strong{font-size:27px;line-height:1.05;color:var(--blue-dark)}.wholesale-dashboard-metric small{font-size:11px;color:var(--muted);line-height:1.35}.wholesale-dashboard-metric.good{border-color:#bee7cc;background:#fbfffc}.wholesale-dashboard-metric.bad{border-color:#f3c2c6;background:#fffafa}.wholesale-dashboard-metric.bad strong{color:#9b111e}
.wholesale-dashboard-panels{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(320px,.85fr);gap:14px;margin-bottom:14px}.wholesale-dashboard-panels>.panel{margin:0;min-width:0}.wholesale-alert-grid{display:grid;grid-template-columns:repeat(3,minmax(180px,1fr));gap:10px}.wholesale-alert-grid article{border:1px solid var(--border);border-radius:12px;padding:13px;background:#fbfcfe;display:flex;flex-direction:column;gap:5px}.wholesale-alert-grid article b{font-size:12px}.wholesale-alert-grid article strong{font-size:22px;color:var(--blue-dark)}.wholesale-alert-grid article span{font-size:11px;color:var(--muted);line-height:1.35}
.wholesale-trend{display:flex;flex-direction:column;gap:8px}.wholesale-trend-row{display:grid;grid-template-columns:72px minmax(150px,1fr) 118px;gap:10px;align-items:center;font-size:11px}.wholesale-trend-row>span{font-weight:800;color:var(--muted)}.wholesale-trend-row>b{text-align:right;font-size:11px}.wholesale-trend-bars{display:grid;gap:3px;min-width:0}.wholesale-trend-bars i{display:block;height:7px;border-radius:999px;min-width:2px}.wholesale-trend-bars .sellin,.wholesale-trend-legend .sellin{background:#0b7fd3}.wholesale-trend-bars .sellout,.wholesale-trend-legend .sellout{background:#46a56d}.wholesale-trend-legend{display:flex;gap:14px;justify-content:flex-end;margin-top:8px;font-size:10px;color:var(--muted);font-weight:800}.wholesale-trend-legend span{display:flex;align-items:center;gap:5px}.wholesale-trend-legend i{display:inline-block;width:18px;height:5px;border-radius:999px}
.wholesale-sales-chart{display:grid;gap:6px}.wholesale-inline-history{display:flex;gap:6px;flex-wrap:wrap;margin-top:10px}.impact-row{align-items:flex-start}.impact-values{display:flex;flex-direction:column;align-items:flex-end;gap:4px;min-width:150px}.impact-values small{font-size:10px;color:var(--muted);text-align:right}.impact-values>b{font-size:13px;color:var(--blue-dark)}
#wholesaleKpiStandalone .toolbar{position:static;margin-bottom:12px}#wholesaleStockItems .row-actions{flex-wrap:wrap}
@media(max-width:1100px){.wholesale-dashboard-grid{grid-template-columns:repeat(2,minmax(190px,1fr))}.wholesale-dashboard-panels{grid-template-columns:1fr}.wholesale-alert-grid{grid-template-columns:1fr 1fr}}
@media(max-width:760px){.wholesale-dashboard-toolbar{display:grid;grid-template-columns:1fr 1fr}.wholesale-dashboard-toolbar .btn{grid-column:1/-1}.wholesale-dashboard-grid{grid-template-columns:1fr 1fr;gap:8px}.wholesale-dashboard-metric{min-height:100px;padding:12px}.wholesale-dashboard-metric strong{font-size:22px}.wholesale-alert-grid{grid-template-columns:1fr}.wholesale-trend-row{grid-template-columns:58px minmax(110px,1fr) 86px;gap:6px}.impact-row{display:block}.impact-values{align-items:flex-start;min-width:0;margin-top:8px}.impact-values small{text-align:left}}
@media(max-width:480px){.wholesale-dashboard-grid{grid-template-columns:1fr}.wholesale-dashboard-toolbar{grid-template-columns:1fr}.wholesale-trend-row{grid-template-columns:1fr}.wholesale-trend-row>b{text-align:left}.wholesale-trend-legend{justify-content:flex-start}}

/* v7.11.1 Wholesale sales-in invoices and client stock snapshots */
.wholesale-model-entry-list{display:flex;flex-direction:column;gap:8px;margin:10px 0 16px}.wholesale-model-entry{display:grid;grid-template-columns:minmax(220px,1fr) 120px 44px;gap:8px;align-items:center;border:1px solid #e4eaf0;background:#fbfcfe;border-radius:10px;padding:9px 10px}.wholesale-model-entry.extra{grid-template-columns:minmax(220px,1fr) 120px 44px 42px}.wholesale-model-entry input,.wholesale-model-entry select{margin:0!important}.wholesale-model-name b{display:block;font-size:13px}.wholesale-model-name small{display:block;color:var(--muted);font-size:11px;margin-top:2px}.wholesale-model-unit{font-size:12px;font-weight:800;color:var(--muted);text-align:center}.wmodel-custom{margin-top:6px!important}.stock-snapshot-items{display:flex;gap:6px;flex-wrap:wrap;margin-top:7px}.stock-snapshot-row>span:first-child{flex:1}.stock-snapshot-row a{color:var(--blue-dark);font-weight:700}.hidden{display:none!important}@media(max-width:720px){.wholesale-model-entry{grid-template-columns:minmax(0,1fr) 82px 34px}.wholesale-model-entry.extra{grid-template-columns:minmax(0,1fr) 82px 34px 38px}.stock-snapshot-row{align-items:flex-start;flex-direction:column}.impact-values{align-items:flex-start}}
/* 7.12.1 wholesale client role */
.badge.wh-role-retail{background:#fff3e0;color:#9a4b00}
.badge.wh-role-wholesale{background:#e8f1fd;color:#014486}
.badge.wh-role-retail_wholesale{background:#efe7fb;color:#5a2d91}
/* 7.14.0 disk widget */
.disk-bar{height:10px;border-radius:6px;background:#e8edf3;overflow:hidden;margin:4px 0 10px}.disk-bar i{display:block;height:100%}
#diskCard>.disk-bar,#diskCard>.notice{margin-left:16px;margin-right:16px}#diskCard>.notice{margin-bottom:16px}
/* 7.15.0 HQ view-only */
.readonly-banner{background:#fff4d6;color:#7a5200;border-bottom:1px solid #f0d58a;padding:6px 16px;font-size:13px;text-align:center}
.readonly-hq .role-editor,.readonly-hq .reset-pass,.readonly-hq #visitSettingsBtn{display:none!important}
.photo-admin{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px;padding:0 16px 16px;align-items:end}.photo-admin label{display:flex;flex-direction:column;gap:4px;font-size:13px}
/* 7.16.0 reports */
.reports-root{display:grid;gap:16px}
.rp-filters{display:flex;flex-wrap:wrap;gap:12px;align-items:end;padding:16px}.rp-filters label{display:flex;flex-direction:column;gap:4px;font-size:13px;min-width:160px}
.rp-close{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-left:auto}
.rp-exports{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px;padding:0 16px 16px}
.rp-export{border:1px solid #e3e8ef;border-radius:12px;padding:12px;display:flex;flex-direction:column;gap:6px}.rp-export small{color:#667085;flex:1}.rp-export .btn{align-self:flex-start}
.rp-team{padding:0 16px 16px}.rp-team h3{margin:18px 0 8px}
.rp-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px}.rp-card{border:1px solid #e3e8ef;border-radius:12px;padding:10px}.rp-card small{display:block;color:#667085;font-size:12px}.rp-card b{font-size:20px}
.rp-table{overflow-x:auto}.rp-table table{width:100%;border-collapse:collapse;font-size:13px}.rp-table th,.rp-table td{padding:6px 8px;border-bottom:1px solid #eef1f5;text-align:left;vertical-align:top}.rp-table td small{display:block;color:#667085}
.rp-items .badge{margin:0 4px 4px 0;display:inline-block}
.rp-bar{height:6px;background:#eef1f5;border-radius:4px;margin-top:4px;min-width:60px}.rp-bar i{display:block;height:100%;border-radius:4px}
/* 7.17.0 control */
.ct-tabs{display:flex;gap:8px;flex-wrap:wrap}.ct-tabs .btn.active{background:#0176d3;color:#fff;border-color:#0176d3}
.ct-filters{display:flex;flex-wrap:wrap;gap:12px;align-items:end;padding:16px}.ct-filters label,#ctTabFilters label{display:inline-flex;flex-direction:column;gap:4px;font-size:13px;margin-right:12px}
.ct-body{display:grid;gap:14px}.ct-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:14px}
.ct-tags{display:flex;flex-wrap:wrap;gap:4px;justify-content:flex-end}
.ct-visits{display:grid;grid-template-columns:repeat(auto-fill,minmax(360px,1fr));gap:12px}
.ct-visit.ct-sus{border-left:4px solid #e9a23b}.ct-vhead{display:flex;justify-content:space-between;gap:8px;align-items:flex-start}
.ct-photos{display:flex;gap:6px;flex-wrap:wrap;margin:8px 0}.ct-photos a{display:flex;flex-direction:column;align-items:center;font-size:11px;color:#667085;text-decoration:none}.ct-photos img{width:84px;height:84px;object-fit:cover;border-radius:8px;border:1px solid #e3e8ef}
.ct-actions{display:flex;gap:6px;margin-top:8px}
.ct-route{border:1px solid #e3e8ef;border-radius:12px;padding:10px 12px;background:#fff}.ct-route summary{display:grid;grid-template-columns:1.2fr 1fr .8fr .8fr 1fr;list-style:none;gap:8px;align-items:center;cursor:pointer}.ct-route summary small{display:block;color:#667085}
.ct-route .badge{margin:2px}
.ct-change{font-size:12px}.ct-pager{display:flex;gap:8px;justify-content:center;margin-top:8px}
.ct-remarks{background:#fdecea;color:#8a1c14;border-bottom:1px solid #f5c2bd;padding:8px 16px;font-size:13px;display:grid;gap:6px}
@media(max-width:700px){.ct-route summary{grid-template-columns:1fr 1fr}.ct-visits{grid-template-columns:1fr}}
/* 7.18.0 retail */
.rt-form .rt-pick{position:relative}.rt-pick-res{position:absolute;z-index:20;left:0;right:0;top:100%;background:#fff;border:1px solid var(--border);border-radius:10px;box-shadow:0 10px 30px rgba(0,0,0,.12);max-height:280px;overflow:auto}
.rt-pick-res button{display:block;width:100%;text-align:left;border:0;border-bottom:1px solid #eef1f5;background:#fff;padding:9px 12px}.rt-pick-res button small{display:block;color:#667085;font-weight:400}
.rt-link .rt-pick{position:relative;min-width:260px}.rt-link-pick{display:flex;gap:8px;align-items:center}.rt-link .rt-pick input{width:100%;border:1px solid var(--border);border-radius:9px;padding:8px 10px}
.rt-models{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px;margin:10px 0}.rt-model{display:flex!important;flex-direction:column;gap:4px;margin:0!important;border:1px solid var(--border);border-radius:10px;padding:8px!important}
.rt-model span{font-size:13px}.req{color:#c62828;font-weight:700}.rt-mrow{display:grid;grid-template-columns:1fr 1fr 2fr;gap:6px;margin-bottom:6px}.rt-mlabel{font-size:13px;font-weight:700;color:#444;margin:12px 0 6px}
.rt-months{display:flex;flex-wrap:wrap;gap:6px 12px;font-size:12px;margin:6px 0;color:#475467}.rt-pre{white-space:pre-wrap;font-size:13px}.rt-exc{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:8px 0}.rt-exc small{color:#667085}
.rt-pdf{display:grid!important;place-items:center;width:84px;height:84px;border:1px solid #e3e8ef;border-radius:8px;font-weight:800;color:#c62828!important}
.route-alerts{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}.route-alert{font-size:12px;border-radius:8px;padding:4px 8px;font-weight:600}
.route-alert.motivation{background:#e8f5e9;color:#1b5e20}.route-alert.exchange{background:#e3f2fd;color:#0d47a1}.route-alert.old_devices{background:#fff3e0;color:#8a4800}
.visit-alerts{display:grid;gap:6px;margin-bottom:12px}
@media(max-width:700px){.rt-exc,.rt-mrow{grid-template-columns:1fr}.rt-link-pick{flex-direction:column;align-items:stretch}}
/* 7.19.0 grouped navigation */
.nav-group{display:flex;flex-direction:column}
.nav-group-head{display:flex;align-items:center;gap:11px;border:0;background:transparent;border-radius:8px;text-align:left;padding:11px 12px;color:#3e3e3c;width:100%}
.nav-group-head span{width:20px;text-align:center;color:var(--blue)}.nav-group-head b{font-size:14px;flex:1}
.nav-group-head em{font-style:normal;color:#98a2b3;transition:transform .15s;font-size:16px}.nav-group.open>.nav-group-head em{transform:rotate(90deg)}
.nav-group-head:hover,.nav-item:hover{background:#f3f6fa}
.nav-group-items{display:none;flex-direction:column;gap:2px;margin:0 0 4px 14px;padding-left:8px;border-left:2px solid #eef1f5}
.nav-group.open>.nav-group-items{display:flex}.nav-group.open>.nav-group-head .nav-badge{display:none}
.nav-group-items .nav-item{padding:9px 10px}.nav-group-items .nav-item b{font-size:13.5px}
.nav-group.single>.nav-group-head{display:none}.nav-group.single>.nav-group-items{display:flex;margin:0;padding:0;border:0}
.nav-group.single>.nav-group-items .nav-item{padding:11px 12px}.nav-group.single>.nav-group-items .nav-item b{font-size:14px}
.nav-item{position:relative}.nav-badge{font-style:normal;margin-left:auto;background:#e53935;color:#fff;border-radius:999px;font-size:11px;font-weight:800;padding:1px 7px;min-width:20px;text-align:center}
.nav-badge:empty{display:none}.nav-bottom{margin-top:10px;border-top:1px solid #eef1f5;padding-top:14px!important}
/* phones: fixed bottom bar with «Ещё» */
.mnav{display:none}
@media(max-width:760px){
  body{padding-bottom:calc(76px + env(safe-area-inset-bottom))!important}
  .mobile-nav.mnav{display:grid!important;position:fixed;z-index:1000;left:0;right:0;bottom:0!important;height:auto;min-height:60px;overflow:hidden;background:#fff;border-top:1px solid var(--border);border-bottom:0;box-shadow:0 -4px 16px rgba(3,45,96,.08);padding:4px 4px calc(4px + env(safe-area-inset-bottom))}
  .mnav-item{border:0;background:none;color:#5c5c5a;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:6px 2px;min-width:0;border-radius:10px}
  .mnav-item span{font-size:19px;line-height:1;position:relative}.mnav-item small{font-size:10.5px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
  .mnav-item.active{color:var(--blue)}.mnav-accent span{background:var(--blue);color:#fff;border-radius:50%;width:30px;height:30px;display:grid;place-items:center;font-size:20px}.mnav-accent small{color:var(--blue)}
  .mnav-visit{color:#1b7d3a!important}.mnav-visit span{color:#1b7d3a;animation:mnavPulse 1.4s infinite}
  .mnav-badge{position:absolute;top:-6px;right:-12px;background:#e53935;color:#fff;border-radius:999px;font-size:10px;font-style:normal;font-weight:800;padding:1px 5px}
  .more-sheet{position:fixed;z-index:1300;inset:0;background:rgba(3,45,96,.35);display:flex;align-items:flex-end}
  .more-card{background:#fff;width:100%;max-height:82vh;overflow:auto;border-radius:18px 18px 0 0;padding:14px 14px calc(18px + env(safe-area-inset-bottom))}
  .more-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}.more-head b{font-size:17px}
  .more-group{margin-top:10px}.more-title{font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:#98a2b3;font-weight:800;margin:6px 4px}
  .more-item{display:flex;align-items:center;gap:12px;width:100%;border:0;background:#fff;text-align:left;padding:12px 8px;border-radius:10px;font-size:15px;font-weight:600;color:#1d2939;position:relative}
  .more-item span{width:24px;text-align:center;color:var(--blue)}.more-item.active{background:var(--blue-soft);color:var(--blue-dark)}.more-item .mnav-badge{position:static;margin-left:auto}
}
@keyframes mnavPulse{0%,100%{opacity:1}50%{opacity:.45}}
/* 7.20.0 warehouse categories */
.wh-cat .wh-cat-row{display:none}.wh-cat.wh-open .wh-cat-row{display:table-row}
.wh-cat-head td{background:#f5f8fc;padding:0!important;border-top:1px solid #e3e8ef}
.wh-cat-toggle{display:flex;align-items:center;gap:10px;width:100%;border:0;background:none;text-align:left;padding:10px 12px;font-size:14px;cursor:pointer}
.wh-cat-toggle small{color:#667085;font-weight:500}.wh-cat-arrow{display:inline-block;transition:transform .15s;transform:rotate(-90deg);color:#0176d3;font-size:14px}
.wh-cat.wh-open .wh-cat-arrow{transform:rotate(0)}
.posm-cat{border:1px solid var(--border);border-radius:10px;margin-bottom:8px;background:#fff}
.posm-cat summary{list-style:none;display:flex;align-items:center;gap:10px;padding:11px 12px;cursor:pointer;font-size:14px}.posm-cat summary::-webkit-details-marker{display:none}
.posm-cat summary small{color:#667085}.posm-cat-count{margin-left:auto;font-style:normal;font-size:12px;font-weight:700;color:#1b7d3a}
.posm-cat-arrow{display:inline-block;transform:rotate(-90deg);transition:transform .15s;color:#0176d3}.posm-cat[open] .posm-cat-arrow{transform:rotate(0)}
.posm-cat .visit-material-row{margin:0 10px 8px}
/* 7.39.0: wholesale sales from stock reports */
.ws-stock-calc .wsc-alert{border-radius:10px;padding:10px 12px;margin:10px 0;font-size:13px}.wsc-alert small{display:block;color:#667085;margin:2px 0 6px}.wsc-alert ul{margin:0;padding-left:18px}
.wsc-alert.bad{background:#fff1f0;border:1px solid #f5c2bd}.wsc-alert.warn{background:#fff8e6;border:1px solid #f3d99a}
.wsc-period{border:1px solid #e4eaf0;border-radius:10px;margin:8px 0;overflow:hidden}
.wsc-head{display:flex;flex-wrap:wrap;gap:8px;align-items:center;width:100%;border:0;background:#fbfcfe;padding:10px 12px;text-align:left;cursor:pointer;font:inherit;font-size:13px}
.wsc-head span{color:#667085}.wsc-head .wsc-sold{margin-left:auto}.wsc-head .wsc-arrow{color:#98a2b3;transition:transform .15s;transform:rotate(-90deg)}
.wsc-period.open .wsc-arrow{transform:none}.wsc-body{display:none}.wsc-period.open .wsc-body{display:block}
.wsc-table-wrap{overflow-x:auto}.wsc-table{width:100%;border-collapse:collapse;font-size:13px}.wsc-table th{text-align:left;color:#667085;font-weight:600;padding:6px 10px;border-bottom:1px solid #e4eaf0;white-space:nowrap}
.wsc-table td{padding:6px 10px;border-bottom:1px solid #f0f3f7;vertical-align:top}.wsc-table td small{display:block;color:#98a2b3}.wsc-table tr.wsc-neg td{background:#fff5f4}
.wsc-err{color:#b42318!important;font-weight:600}.wsc-warn{color:#b54708!important}
.wsc-open-toggle{display:flex;gap:8px;align-items:center;font-size:13px;margin:6px 0}.wholesale-model-entry .wmodel-open{margin-top:6px;max-width:140px}
/* 7.39.0: route — collapsible lists, past days, visits of the day */
.route-collapse-head{display:flex;align-items:center;justify-content:space-between;width:100%;border:1px solid var(--border,#e4eaf0);background:#f7faff;border-radius:10px;padding:10px 12px;font:inherit;font-weight:600;cursor:pointer;text-align:left;color:#344054}
.route-arrow{font-style:normal;color:#667085;transition:transform .15s;display:inline-block;margin-left:6px}
.route-selected-clients.collapsed .route-selected-list{display:none}.route-selected-clients.collapsed .route-arrow{transform:rotate(-90deg)}
.route-selected-list{display:flex;flex-direction:column;gap:8px;margin-top:8px}
.route-collapse-title{cursor:pointer;user-select:none}.route-tpl-count{color:#667085;font-weight:500}
.route-ready-panel.collapsed #routeTemplates,.route-ready-panel.collapsed .route-ready-head p{display:none}.route-ready-panel.collapsed .route-arrow{transform:rotate(-90deg)}
.route-day-chip.past{opacity:.8;background:#f5f6f8}.route-day-chip.past.active{opacity:1}
.route-day-visits{margin-top:14px;background:#fff;border:1px solid var(--border,#e4eaf0);border-radius:14px;padding:12px 14px}.route-day-visits h3{margin:0 0 8px;font-size:15px}
.route-day-visit{display:flex;gap:12px;padding:7px 0;border-top:1px solid #f0f3f7;font-size:14px}.route-day-visit:first-of-type{border-top:0}.route-day-visit b{min-width:88px;color:#0b3a75}.route-day-visit small{display:block;color:#667085}
/* 7.40.0: approvals, chain availability */
.ap-store .ap-freq-now{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-bottom:8px}.ap-freq-badge{display:inline-flex;gap:6px;align-items:center;background:#eef4fb;color:#0b3a75;border-radius:999px;padding:4px 12px;font-weight:600;font-size:13px}
.ap-freq-badge.f-optional{background:#f2f4f7;color:#475467}.ap-freq-badge.f-halfyear{background:#fff4e5;color:#93370d}
.ap-freq-pick{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:4px}.ap-freq-pick .active{background:#0b3a75;color:#fff;border-color:#0b3a75}
.ap-chain{display:flex;justify-content:space-between;gap:10px;align-items:center;border-top:1px solid #eef1f5;margin-top:10px;padding-top:10px;flex-wrap:wrap}.ap-chain small{display:block;color:#667085}
.ap-models{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:6px;margin:8px 0 12px;max-height:45vh;overflow:auto}.ap-model{display:flex;gap:8px;align-items:center;border:1px solid #e4eaf0;border-radius:8px;padding:8px;font-size:14px}
.ap-panel h2{margin:0}.ap-head{display:flex;justify-content:space-between;gap:10px;align-items:flex-start;flex-wrap:wrap;margin-bottom:10px}.ap-panel h3{font-size:15px;margin:16px 0 6px}
.ap-row{display:flex;gap:10px;align-items:flex-start;border:1px solid #e4eaf0;border-radius:10px;padding:10px 12px;margin-bottom:6px;background:#fff}.ap-body{flex:1;min-width:0;font-size:14px}.ap-body small{display:block;color:#667085;margin-top:2px}.ap-body p{margin:4px 0 0;color:#344054;font-size:13px}
.ap-act{display:flex;gap:6px;flex-wrap:wrap}.ap-sel{margin-top:4px}.ap-all{display:flex;gap:6px;align-items:center;font-size:13px}.ap-done summary{cursor:pointer;margin:14px 0 8px;font-weight:600;color:#475467}
.ct-count{font-style:normal;background:#d92d20;color:#fff;border-radius:999px;padding:0 6px;font-size:11px;margin-left:4px}
.rt-chain-mark{display:flex!important;gap:10px;align-items:flex-start;background:#f4f8fd;border:1px solid #d6e4f5;border-radius:10px;padding:10px 12px;font-size:14px}.rt-chain-mark small{display:block;color:#667085;font-weight:400;margin-top:2px}.rt-chain-mark input{margin-top:3px;width:auto}
.hq-logo-row{display:flex;justify-content:space-between;align-items:center;gap:10px;background:#fff;border:1px dashed #d0d5dd;border-radius:12px;padding:10px 14px;margin:0 0 14px;font-size:13px;color:#475467}.hq-row-act{display:flex;gap:6px;align-items:center}
.ap-model{flex-direction:row!important;justify-content:flex-start;cursor:pointer}.ap-model input,.rt-chain-mark input,.ap-sel,.ap-all input{width:18px!important;height:18px!important;min-height:0!important;flex:none;margin:0!important;padding:0!important}
.rm-ceo{color:#b54708}

/* 7.40.2 clickable wholesale tiles + drill modal */
.wholesale-dashboard-metric.ws-drill{cursor:pointer;position:relative;transition:transform .15s,box-shadow .15s,border-color .15s}
.wholesale-dashboard-metric.ws-drill:hover,.wholesale-dashboard-metric.ws-drill:focus-visible{transform:translateY(-2px);box-shadow:0 10px 24px rgba(15,23,42,.08);border-color:var(--primary,#2563eb);outline:none}
.ws-drill-arrow{position:absolute;right:14px;top:12px;font-style:normal;font-size:20px;color:var(--muted,#94a3b8);line-height:1}
.ws-drill-modal .modal-sheet{max-width:1100px;width:calc(100% - 32px)}
.ws-drill-body{max-height:70vh;overflow:auto}.ws-drill-table td.num,.ws-drill-table th.num{text-align:right;white-space:nowrap}
.ws-drill-models{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}
.ws-drill-table{width:100%;border-collapse:collapse;font-size:13px}.ws-drill-table th{position:sticky;top:0;background:#f8fafc;color:#64748b;font-weight:600;font-size:12px;text-align:left;padding:9px 10px;border-bottom:1px solid var(--border,#e2e8f0)}
.ws-drill-table td{padding:9px 10px;border-bottom:1px solid #f1f5f9;vertical-align:top}.ws-drill-table tr:hover td{background:#f8fafc}.ws-drill-table a{color:var(--primary,#1d4ed8);text-decoration:none}.ws-drill-table a:hover{text-decoration:underline}
.ws-drill-body h3{font-size:14px;margin:14px 0 4px}

.coverage-card[data-cov-pid]{cursor:pointer}.coverage-card[data-cov-pid]:hover{box-shadow:0 8px 20px rgba(15,23,42,.08)}.cv-tabs{margin:6px 0 8px}.cv-q{width:100%;height:38px;border:1px solid var(--border,#e2e8f0);border-radius:10px;padding:0 10px;margin-bottom:8px;font:inherit}
.rt-chainreq{font-size:12.5px;font-weight:600;padding:6px 10px;border-radius:10px;background:#fef3e2;color:#9a3412;margin:6px 0}.rt-chainreq.approved{background:#e7f6ec;color:#15803d}.rt-chainreq.rejected{background:#fde8e8;color:#b91c1c}
/* 7.40.4 exchanges */
.xc-modal .dy-pick{max-height:300px;overflow:auto}.xc-row span{display:flex;flex-direction:column;gap:2px}.xc-row small{color:#64748b}.xc-pr{font-style:normal;font-size:12px;color:#0b63ce;font-weight:600}
.xc-price{width:96px;height:30px;border:1px solid #dce3ec;border-radius:8px;padding:0 6px;font:inherit;font-size:13px}
.xc-total{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;background:#f4f7fb;border-radius:12px;padding:10px;margin:8px 0}.xc-total small{display:block;color:#64748b;font-size:11.5px}.xc-total b{font-size:14px}.xc-total .minus b,.xc-bal.minus{color:#b91c1c}.xc-total .plus b,.xc-bal.plus{color:#15803d}
.xc-bal{font-size:12.5px;font-weight:700;margin:4px 0}.xc-img{max-width:100%;border-radius:10px;margin:4px 0}
.xc-prow{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:6px 0;border-bottom:1px solid #f1f5f9}.xc-prow span{font-size:13.5px}.xc-prow small{color:#64748b}.xc-prow input{width:110px;height:34px;border:1px solid #dce3ec;border-radius:9px;padding:0 8px;font:inherit}
.rt-xcard .dy-item{border:0;padding:0;margin:0;background:none}.wh-orig{margin:6px 0;font-size:12.5px;color:#64748b}

/* 7.40.5 dashboard drill */
.kpi-card.kpi-drill{cursor:pointer;transition:transform .15s,box-shadow .15s}.kpi-card.kpi-drill:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(15,23,42,.08)}
.dd-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:10px}.dd-card{border:1px solid #e2e8f0;border-radius:14px;padding:10px;display:flex;flex-direction:column;gap:6px}
.dd-card-h{display:flex;justify-content:space-between;gap:8px}.dd-card-h small{display:block;color:#64748b;font-size:12px}.dd-card-h a{color:#0b63ce;text-decoration:none}.dd-what{font-size:13px}
.dd-ph{display:flex;gap:6px;flex-wrap:wrap}.dd-ph a{position:relative;display:block}.dd-ph img{width:86px;height:86px;object-fit:cover;border-radius:10px;background:#f1f5f9}.dd-ph i{position:absolute;left:4px;bottom:4px;font-style:normal;font-size:10px;background:rgba(15,23,42,.65);color:#fff;border-radius:6px;padding:1px 5px}
.dd-row{cursor:pointer}

/* 7.40.7 */
.cv-tools{display:flex;gap:8px}.cv-tools .cv-q{flex:1}.cv-sort{height:38px;border:1px solid var(--border,#e2e8f0);border-radius:10px;padding:0 8px;font:inherit;background:#fff}
.wl-bar{display:flex;gap:10px;flex-wrap:wrap;align-items:flex-end;margin-bottom:12px}.wl-bar label{display:flex;flex-direction:column;font-size:12px;font-weight:600;color:#64748b;gap:4px}.wl-bar input,.wl-bar select{height:38px;border:1px solid #dce3ec;border-radius:10px;padding:0 10px;font:inherit;background:#fff}
.wl-sum{display:grid;grid-template-columns:1.2fr 1fr 1fr 1fr;gap:10px;margin-bottom:12px}.wl-big{background:linear-gradient(135deg,#b91c1c,#ef4444);color:#fff;border-radius:16px;padding:14px;display:flex;flex-direction:column;gap:4px}.wl-big strong{font-size:34px}.wl-big em{font-style:normal;font-size:14px}.wl-big span{font-size:12px;opacity:.85}
.wl-card{background:#fff;border:1px solid #e2e8f0;border-radius:16px;padding:12px}.wl-card h4{margin:0 0 6px;font-size:13px}.wl-top{display:flex;justify-content:space-between;gap:8px;font-size:13px;padding:3px 0;border-bottom:1px dashed #eef2f7}
.wl-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:10px}.wl-row{background:#fff;border:1px solid #e2e8f0;border-radius:14px;padding:12px;display:flex;flex-direction:column;gap:6px}.wl-row-h{display:flex;justify-content:space-between;gap:8px}.wl-row-h small{display:block;color:#64748b;font-size:12px}.wl-items{display:flex;flex-wrap:wrap;gap:5px}
.wl-line{display:grid;grid-template-columns:1fr 90px auto;gap:6px;margin-bottom:6px}.wl-line select,.wl-line input{height:38px;border:1px solid #dce3ec;border-radius:10px;padding:0 8px;font:inherit}
@media(max-width:900px){.wl-sum{grid-template-columns:1fr 1fr}.wl-big{grid-column:1/-1}}@media(max-width:520px){.wl-sum{grid-template-columns:1fr}}
@media(max-width:600px){.cv-tools{flex-direction:column}}.wl-row-h{flex-wrap:wrap}
.sc-g{font-size:13px;margin:12px 0 4px;color:#64748b;text-transform:uppercase;letter-spacing:.04em}.sc-row{display:flex;gap:10px;align-items:flex-start;padding:6px 0;border-bottom:1px solid #f1f5f9}.sc-row i{font-style:normal;min-width:22px;text-align:center}.sc-row div{display:flex;flex-direction:column;gap:2px;font-size:13px}.sc-row span{color:#334155}.sc-row small{color:#9a3412;white-space:normal;word-break:break-word}

/* 7.40.9 exchange card + detail */
.xc-card{cursor:pointer}.xc-card .dy-exc{grid-template-columns:1fr;gap:6px}.xc-card .dy-row{gap:8px}.xc-card .dy-row span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.xc-card .dy-row b{white-space:nowrap}
.xc-acts{flex-wrap:wrap}.xc-acts .btn{white-space:normal}.xc-clip{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.xc-detail{max-width:960px;width:calc(100% - 24px)}.xc-head{display:flex;flex-wrap:wrap;gap:10px;align-items:center;font-size:13px;color:#475569;margin-bottom:10px}
.xc-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin-bottom:12px}.xc-steps div{background:#f4f7fb;border-radius:10px;padding:8px;display:flex;flex-direction:column;gap:2px;font-size:12px;color:#94a3b8}.xc-steps div.on{background:#e7f6ec;color:#15803d}.xc-steps i{font-style:normal;font-weight:700}.xc-steps b{color:#0f172a;font-size:12.5px}
.xc-totals{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:6px}.xc-totals div{background:#f4f7fb;border-radius:12px;padding:10px;display:flex;flex-direction:column}.xc-totals small{color:#64748b;font-size:12px}.xc-totals b{font-size:18px}.xc-totals span{font-size:12.5px;color:#475569}.xc-totals .minus b{color:#b91c1c}.xc-totals .plus b{color:#15803d}
.xc-detail h3{font-size:14px;margin:14px 0 6px}.xc-tbl{width:100%;border-collapse:collapse;font-size:13px}.xc-tbl th{background:#f8fafc;color:#64748b;font-size:12px;text-align:left;padding:7px 8px}.xc-tbl td{padding:7px 8px;border-bottom:1px solid #f1f5f9}.xc-tbl .num{text-align:right;white-space:nowrap}.xc-low{color:#b91c1c;font-weight:700}
.xc-files{display:flex;flex-wrap:wrap;gap:8px}.xc-files img{width:120px;height:120px;object-fit:cover;border-radius:10px}.xc-dacts{position:sticky;bottom:0;background:#fff;padding:10px 0 4px;border-top:1px solid #eef2f7;margin-top:14px}
@media(max-width:640px){.xc-steps,.xc-totals{grid-template-columns:1fr 1fr}}
.rt-search{min-width:220px}.rt-search input{width:100%}

/* 7.40.11: exchange — coils / cartridges / tanks rows */
.xc-extra{margin-top:6px}.xc-xrow{display:flex;gap:6px;align-items:center;margin:4px 0}.xc-xrow input[type=text]{flex:1;min-width:0;height:34px;border:1px solid #dce3ec;border-radius:8px;padding:0 8px;font:inherit}.xc-xrow input[type=number]:not(.xc-price){width:70px;height:34px;border:1px solid #dce3ec;border-radius:8px;padding:0 6px;font:inherit}.xc-xadd{margin:2px 0 6px}
.gift-lines{display:flex;flex-direction:column;gap:6px;margin-bottom:8px}.gift-line{display:grid;grid-template-columns:1fr 74px 40px;gap:6px;align-items:center}.gift-line select,.gift-line input{min-width:0;height:42px}.gift-line .gift-warn{grid-column:1/-1;color:#b42318;font-size:12px}.gift-line .gift-warn:empty{display:none}.gift-line.over input{border-color:#b42318}#visitGiftAdd{margin-bottom:6px}
.draft-banner{display:flex;align-items:center;justify-content:space-between;gap:10px;background:#fff7e6;border:1px solid #f5c26b;border-radius:12px;padding:10px 12px;margin:0 0 12px;font-size:14px}.draft-banner span{min-width:0}.draft-banner b{word-break:break-word}.draft-banner .btn{flex-shrink:0}
#visitGiftJson+small{display:block}

/* 7.40.13: warehouse notifications on the home screen; wholesale weekly board */
.wh-dash-notice{border-left:4px solid #0176d3;margin-bottom:14px}.wh-dash-notice .panel-head{gap:10px;flex-wrap:wrap}.wh-dn-tools{display:flex;gap:8px;flex-wrap:wrap}.wh-dash-notice .mini-row{gap:10px}.wh-dash-notice .mini-row small{display:block;color:#667085}.wh-dn-more{padding:8px 16px}
.wsb{margin-bottom:14px}.wsb-head{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin:4px 0 10px}.wsb-head h2{margin:0;font-size:18px}
.wsb-toggle{display:flex;align-items:center;gap:8px;background:none;border:0;padding:4px 0;cursor:pointer;font:inherit;color:inherit}.wsb-arrow{display:inline-flex;width:28px;height:28px;align-items:center;justify-content:center;border-radius:8px;background:#eef4fb;color:#0176d3;font-size:16px;transform:rotate(-90deg);transition:transform .15s}.wsb-arrow.open{transform:none}
.wsb-filters{display:flex;gap:8px;flex-wrap:wrap}.wsb-filters select{min-width:180px}.wsb-sub{margin:-4px 0 8px}.wsb-st{font-size:18px!important}
#wsbClient .by-cats{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}#wsbClient .wsb-head h2{font-size:16px}
#recentVisits .rv-all{margin:10px 16px}
@media(max-width:760px){.wsb-filters,.wsb-filters select{width:100%}}
/* 7.40.14: KPI numbers on one line in every card (labels may wrap to 2 lines) */
.wsb-cat .by-cat-nums{align-items:start}.wsb-cat .by-cat-nums>div{display:flex;flex-direction:column;min-width:0}.wsb-cat .by-cat-nums small{min-height:2.6em;line-height:1.3;display:flex;align-items:flex-end}.wsb-cat .by-cat-nums b{line-height:1.15;white-space:nowrap}.wsb-cat .by-cat-nums span{line-height:1.3}

/* 7.40.15: sidebar scrolls on its own (mouse wheel over the menu); School orders at the BA */
@media(min-width:761px){.sidebar{position:sticky;top:62px;max-height:calc(100vh - 62px);overflow-y:auto;overscroll-behavior:contain;align-self:start;scrollbar-width:thin}}
.sba-home{margin-bottom:14px;border-left:4px solid #7a5af8}.sba-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:10px;padding:12px 16px}.sba-more{padding:0 16px 12px}
.sba-card{border:1px solid #e6ebf1;border-radius:12px;padding:12px;display:flex;flex-direction:column;gap:6px;background:#fff}.sba-card.done{background:#f9fafb}.sba-top{display:flex;justify-content:space-between;gap:8px;align-items:center}.sba-what{font-size:14px}.sba-card .btn{align-self:flex-start}
.sba-ph{display:flex;gap:6px;flex-wrap:wrap}.sba-ph img{width:64px;height:64px;object-fit:cover;border-radius:8px;border:1px solid #e6ebf1}
.sba-form{display:flex;flex-direction:column;gap:10px;padding:14px 16px}.sba-prev{display:flex;gap:6px;flex-wrap:wrap}.sba-prev span{position:relative}.sba-prev img{width:72px;height:72px;object-fit:cover;border-radius:8px}.sba-prev button{position:absolute;top:-6px;right:-6px;width:22px;height:22px;border-radius:50%;border:0;background:#b42318;color:#fff;cursor:pointer}
.sc-move-stores{max-height:220px;overflow:auto}.sc-move-stores .mini-row{width:100%;text-align:left;background:#fff;border:0;border-bottom:1px solid #f2f4f7;cursor:pointer;font:inherit}.sc-o-hint{margin:4px 0 10px;font-size:13px}
/* 7.40.17: the menu list itself is no longer sticky (old top:76px) — the whole sidebar is; otherwise a gap appeared above «Главная» when the groups were collapsed */
@media(min-width:761px){.sidebar .nav{position:static;top:auto}}
.sc-oacts{display:flex;gap:8px;flex-wrap:wrap}.sc-odel1{margin-left:6px}
.wh-dash-notice .wh-dn-more{margin:8px 16px 12px}
.sc-site{display:block;font-size:12px;margin-top:2px}.sc-site.ok{color:#067647}.sc-site.wait{color:#b54708}.sc-site.bad{color:#b42318}.sc-push-err{margin:6px 0 10px}
.cov-head-r{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.cov-cfg-body{display:grid;grid-template-columns:1fr 1fr;gap:16px;padding:12px 16px;max-height:60vh;overflow:auto}.cov-cfg-body h3{margin:0 0 6px;font-size:15px}.cov-cfg-foot{padding:10px 16px 16px}@media(max-width:760px){.cov-cfg-body{grid-template-columns:1fr}}
/* 7.40.20: internal chat — Telegram style */
#view-chat{padding:0}#chatRoot{height:calc(100vh - 62px - 40px)}
.tg{display:grid;grid-template-columns:320px minmax(0,1fr);height:100%;min-height:480px;background:#fff;border:1px solid #e6ebf1;border-radius:14px;overflow:hidden}
.tg-side{border-right:1px solid #e6ebf1;display:flex;flex-direction:column;min-height:0}.tg-side-head{display:flex;gap:8px;padding:10px}.tg-q{flex:1;height:38px;border-radius:19px;border:0;background:#f1f3f4;padding:0 14px;font:inherit}
.tg-new{width:38px;height:38px;border-radius:50%;border:0;background:#3390ec;color:#fff;font-size:16px;cursor:pointer}
.tg-list{overflow-y:auto;flex:1}.tg-sep{padding:8px 14px 4px;font-size:12px;color:#707579;font-weight:600}
.tg-item{display:flex;gap:10px;width:100%;padding:8px 10px;border:0;background:none;text-align:left;cursor:pointer;font:inherit;border-radius:10px}.tg-item:hover{background:#f4f4f5}.tg-item.on{background:#3390ec;color:#fff}.tg-item.on small,.tg-item.on .tg-it-bot{color:#e6f0ff}
.tg-ava{flex:0 0 48px;width:48px;height:48px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;color:#fff;font-weight:700;font-size:16px}.tg-ava.sm{flex-basis:40px;width:40px;height:40px;font-size:14px}.tg-ava.xs{flex:0 0 32px;width:32px;height:32px;font-size:12px;align-self:flex-end}.tg-ava.ghost{visibility:hidden}
.tg-it{flex:1;min-width:0;display:flex;flex-direction:column;justify-content:center;gap:3px}.tg-it-top{display:flex;justify-content:space-between;gap:6px}.tg-it-top b{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tg-it-top small{color:#707579;font-size:12px;flex-shrink:0}
.tg-it-bot{display:flex;justify-content:space-between;gap:6px;color:#707579;font-size:14px}.tg-it-bot span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tg-it-bot em{font-style:normal;background:#3390ec;color:#fff;border-radius:11px;min-width:22px;height:22px;padding:0 6px;font-size:12px;font-weight:700;display:inline-flex;align-items:center;justify-content:center}.tg-item.on .tg-it-bot em{background:#fff;color:#3390ec}
.tg-main{display:flex;flex-direction:column;min-width:0;min-height:0;background:#e7ebe0 linear-gradient(160deg,#cfe3b4 0%,#e0e8c8 45%,#c9dcb0 100%)}
.tg-empty{flex:1;display:flex;align-items:center;justify-content:center}.tg-empty div{background:rgba(0,0,0,.18);color:#fff;padding:6px 14px;border-radius:14px;font-size:14px}
.tg-top{display:flex;align-items:center;gap:10px;padding:8px 14px;background:#fff;border-bottom:1px solid #e6ebf1}.tg-top div{display:flex;flex-direction:column}.tg-top small{color:#707579;font-size:13px}.tg-back{display:none;border:0;background:none;font-size:28px;color:#3390ec;cursor:pointer;padding:0 6px}
.tg-msgs{flex:1;overflow-y:auto;padding:10px 4% 6px;position:relative}.tg-msgs.drag{outline:3px dashed #3390ec;outline-offset:-8px}.tg-more{text-align:center;margin-bottom:8px}.tg-more button{border:0;background:rgba(0,0,0,.2);color:#fff;border-radius:12px;padding:4px 12px;cursor:pointer}
.tg-day{text-align:center;margin:10px 0}.tg-day span{background:rgba(0,0,0,.18);color:#fff;font-size:13px;padding:3px 10px;border-radius:12px}
.tg-hello{text-align:center;margin-top:30%;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.3)}
.tg-row{display:flex;align-items:flex-end;gap:6px;margin:2px 0;position:relative}.tg-row.first{margin-top:8px}.tg-row.me{flex-direction:row-reverse}
.tg-b{max-width:min(520px,78%);background:#fff;border-radius:14px 14px 14px 4px;padding:6px 10px 6px;box-shadow:0 1px 1px rgba(0,0,0,.12);position:relative;word-wrap:break-word;overflow-wrap:anywhere}.tg-row.me .tg-b{background:#eeffde;border-radius:14px 14px 4px 14px}.tg-b.del{opacity:.7}
.tg-name{display:block;font-size:13px;margin-bottom:2px}.tg-text{font-size:15px;line-height:1.35;padding-right:52px}.tg-text a{color:#3390ec}
.tg-meta{float:right;font-size:11.5px;color:#8a9aa9;margin:4px 0 -2px 8px;white-space:nowrap}.tg-row.me .tg-meta{color:#5fa957}.tg-tick{font-style:normal;margin-left:3px}.tg-tick.read{color:#4fae4e}
.tg-reply{border-left:3px solid #3390ec;background:rgba(51,144,236,.08);border-radius:4px;padding:3px 8px;margin:2px 0 4px;display:flex;flex-direction:column;font-size:13px}.tg-reply b{color:#3390ec}.tg-reply span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:360px;color:#555}
.tg-img img{display:block;max-width:100%;max-height:320px;border-radius:10px;margin:2px 0 4px}.tg-file{display:flex;gap:10px;align-items:center;text-decoration:none;color:inherit;margin:2px 0 4px;padding-right:40px}.tg-file>span:first-child{width:44px;height:44px;border-radius:50%;background:#3390ec;display:inline-flex;align-items:center;justify-content:center;font-size:20px}.tg-row.me .tg-file>span:first-child{background:#4fae4e}.tg-file b{display:block;font-size:14px;word-break:break-all}.tg-file small{color:#707579}
.tg-menu{opacity:0;border:0;background:rgba(255,255,255,.85);border-radius:50%;width:26px;height:26px;cursor:pointer;color:#555;align-self:center}.tg-row:hover .tg-menu{opacity:1}
.tg-pop{position:fixed;z-index:3000;background:#fff;border-radius:10px;box-shadow:0 6px 24px rgba(0,0,0,.18);padding:4px;display:flex;flex-direction:column;min-width:180px}.tg-pop button,.tg-pop a{border:0;background:none;text-align:left;padding:8px 12px;border-radius:6px;font:inherit;cursor:pointer;color:#111;text-decoration:none}.tg-pop button:hover,.tg-pop a:hover{background:#f4f4f5}.tg-pop .danger{color:#e53935}
.tg-bar-extra{background:#fff;border-top:1px solid #e6ebf1;padding:4px 12px}.tg-ex{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:4px 0;border-left:3px solid #3390ec;padding-left:8px;margin:2px 0}.tg-ex span{display:flex;flex-direction:column;min-width:0}.tg-ex b{color:#3390ec;font-size:13px}.tg-ex small{color:#707579;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tg-ex button{border:0;background:none;font-size:20px;color:#707579;cursor:pointer}
.tg-input{display:flex;align-items:flex-end;gap:8px;padding:8px 12px;background:#fff;border-top:1px solid #e6ebf1}.tg-clip{font-size:22px;cursor:pointer;padding:6px 4px;color:#707579}
.tg-input textarea{flex:1;resize:none;border:0;background:#f1f3f4;border-radius:20px;padding:10px 14px;font:inherit;font-size:15px;line-height:1.35;max-height:160px;outline:none}
.tg-send{width:44px;height:44px;border-radius:50%;border:0;background:#3390ec;color:#fff;font-size:18px;cursor:pointer;flex-shrink:0}.tg-send:disabled{opacity:.6}
.tg-pick .mini-row{width:100%;display:flex;gap:10px;align-items:center;border:0;background:#fff;cursor:pointer;text-align:left;font:inherit}.tg-pick .mini-row span:last-child{display:flex;flex-direction:column}
@media(max-width:760px){.tg{grid-template-columns:1fr;border-radius:0;border:0}.tg .tg-main{display:none}.tg.in-room .tg-side{display:none}.tg.in-room .tg-main{display:flex}.tg-back{display:block}.tg-b{max-width:86%}.tg-menu{opacity:1;background:none}}
.sc-onote{background:#fff8e1;border:1px solid #f5d77a;border-radius:8px;padding:6px 8px;font-size:13px;margin:4px 0}.sc-onote small{display:block;color:#8a6d1d;font-size:11.5px}.sba-card .btn+.btn{margin-left:0}
.sc-amb-chip{display:inline-flex;align-items:center;gap:6px;background:#fff4e5;border:1px solid #f5c26b;border-radius:16px;padding:4px 6px 4px 12px;margin:0 0 8px;font-size:14px}.sc-amb-chip button{border:0;background:#f5c26b;color:#fff;border-radius:50%;width:22px;height:22px;cursor:pointer;font-size:15px;line-height:1}
/* 7.40.22: отправка СДЭК в сеть без визита */
.wh-send-cta{margin-top:8px}
.wh-send-targets{display:flex;flex-direction:column;gap:4px;margin-top:6px;max-height:260px;overflow:auto}
.wh-send-t{display:flex;flex-direction:column;align-items:flex-start;text-align:left;gap:2px;border:1px solid #e6ebf1;background:#fff;border-radius:10px;padding:9px 11px;font:inherit;cursor:pointer}
.wh-send-t:hover,.wh-send-t:active{background:#f2f4f7}.wh-send-t small{color:#667085;font-size:12px}.wh-send-t.chain b{color:#0a6fd6}
.wh-send-picked{display:flex;justify-content:space-between;align-items:center;gap:8px;background:#eef6ff;border:1px solid #cfe3fb;border-radius:10px;padding:9px 11px}
.wh-send-cancel{opacity:.6}
#whSendForm .upload-card{display:block}
/* 7.40.24: баллы и призы */
.pts-bar{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin:8px 0}.pts-bar select{flex:1;min-width:200px}
.pts-info{font-size:13px;color:#667085;margin:6px 0 10px;line-height:1.5}
.pts-card{background:#fff;border:1px solid #e4e7ec;border-radius:14px;padding:12px;margin:10px 0}
.pts-photos{display:flex;gap:6px;overflow-x:auto;margin:8px 0}.pts-photos a{flex:0 0 auto;text-align:center;font-size:11px;color:#667085;text-decoration:none}.pts-photos img{display:block;width:96px;height:96px;object-fit:cover;border-radius:10px;background:#f2f4f7}
.pts-act{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}.pts-act .pts-pt{width:90px}.pts-act .pts-note{flex:1;min-width:140px}
.pts-board,.pts-list{display:flex;flex-direction:column;gap:6px;margin:8px 0}
.pts-row{display:grid;grid-template-columns:36px 1fr auto auto;gap:8px;align-items:center;background:#fff;border:1px solid #e4e7ec;border-radius:12px;padding:10px}
.pts-row.pts-mine{border-color:#ff6a00;background:#fff7f0}.pts-place{font-size:20px;text-align:center}.pts-name small{display:block;color:#98a2b3}.pts-pts{font-weight:700}.pts-pts small{font-weight:400;color:#98a2b3}.pts-prize{font-weight:700;color:#067647;min-width:70px;text-align:right}
.pts-erow{display:flex;justify-content:space-between;gap:8px;background:#fff;border:1px solid #e4e7ec;border-radius:12px;padding:10px}.pts-erow.pts-rej{opacity:.6}.pts-eact{display:flex;gap:4px;flex-wrap:wrap;align-items:flex-start}
.pts-badge{display:inline-block;background:#fff1e6;color:#c4320a;border-radius:8px;padding:1px 8px;font-weight:700;font-size:13px}
.pts-two{display:flex;gap:6px;align-items:center;margin:4px 0}.pts-two input{flex:1;min-width:0}.pts-pl{min-width:90px}
.pts-tile .kpi-value small{font-size:12px;font-weight:400}.pts-tile-place{font-weight:700;color:#c4320a;margin-top:4px;font-size:14px}
.pts-me{background:#fff7f0;border-radius:14px;padding:12px;margin-bottom:8px}.pts-me-pl{font-size:22px;font-weight:800}
.brand-mark.logo{background:none;padding:0;box-shadow:0 4px 12px rgba(1,118,211,.28)}.brand-mark.logo svg{width:100%;height:100%;display:block}
@media(max-width:760px){.toast{bottom:calc(78px + env(safe-area-inset-bottom))}}
/* 7.40.32: расчёт премии (тихий режим) */
.bn-panel{margin-top:14px}.bn-head{display:flex;gap:10px;align-items:center;flex-wrap:wrap;justify-content:space-between}.bn-head h2{margin:0}
.bn-badge{font-size:12px;font-weight:700;padding:4px 10px;border-radius:99px;background:var(--blue-soft);color:var(--blue-dark)}
.bn-note{font-size:12px;line-height:1.5;margin:6px 0}
.bn-form{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px;align-items:end;margin:10px 0}.bn-form label{display:flex;flex-direction:column;gap:3px;font-size:12px;color:var(--muted)}.bn-form input,.bn-form select{padding:8px;border:1px solid var(--border);border-radius:9px;background:var(--card);color:var(--text);min-height:38px}
.bn-sum{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:8px;margin:10px 0}.bn-sum>div{background:var(--bg);border:1px solid var(--border);border-radius:10px;padding:8px 10px}.bn-sum small{display:block;font-size:11px;color:var(--muted)}.bn-sum b{font-size:16px}
.bn-wrap{overflow-x:auto}.bn-table{width:100%;border-collapse:collapse;font-size:13px}.bn-table th,.bn-table td{padding:6px 8px;border-bottom:1px solid var(--border);text-align:right;white-space:nowrap}.bn-table th:nth-child(2),.bn-table td:nth-child(2){text-align:left}.bn-table th:first-child,.bn-table td:first-child{text-align:left}.bn-off{opacity:.55}
.bn-tile .kpi-value small{font-size:12px;font-weight:400}.bn-tile-line{font-size:12px;color:var(--muted);margin-top:4px}
.bn-big{font-size:32px;font-weight:800;color:var(--blue-dark)}.bn-todo{padding-left:18px;line-height:1.7}
.bn-me .bn-table td:last-child{text-align:right}.bn-me .bn-table td:first-child{text-align:left}
.bn-big small{font-size:14px;font-weight:400}
.bn-pilot{grid-column:1/-1;border:1px dashed var(--border);border-radius:10px;padding:8px 10px;display:flex;flex-wrap:wrap;gap:6px 14px}.bn-pilot legend{font-size:12px;color:var(--muted);padding:0 4px}.bn-pilot label{flex-direction:row;align-items:center;gap:5px;color:var(--text)}
.bn-own .bn-big small{font-size:14px}.bn-bar{height:8px;border-radius:99px;background:var(--border);overflow:hidden;margin:8px 0}.bn-bar i{display:block;height:100%;background:var(--blue);border-radius:99px}.bn-how li{margin-bottom:6px}
/* 7.40.36: VIP — фильтры и последнее взаимодействие */
.vip-filters{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:0 0 12px}.vip-filters select{flex:1 1 170px;max-width:260px;padding:9px;border:1px solid var(--border);border-radius:9px;background:var(--card);color:var(--text);min-height:40px}.vip-count{font-size:12px;color:var(--muted);margin-left:auto}
.vip-stores{font-size:15px}.vip-meta{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.vip-last{font-size:12px;color:var(--muted);margin-left:auto}
/* 7.40.37: единый раздел «Активности» */
.ag-type{align-self:flex-start;font-size:11px;font-weight:700;padding:2px 9px;border-radius:99px;background:var(--blue-soft);color:var(--blue-dark)}.ag-t-contest{background:#fff4e5;color:#a96404}.ag-t-goal{background:#e6f6ec;color:#2e844a}
.ag-filter{margin:0 0 12px}.ag-pick-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px}.ag-pick{display:flex;flex-direction:column;gap:4px;text-align:left;padding:14px;border:1px solid var(--border);border-radius:14px;background:var(--card);color:var(--text);cursor:pointer;font:inherit}.ag-pick small{color:var(--muted);line-height:1.4}.ag-pick:hover{border-color:var(--blue)}
.ag-users{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:2px 10px;max-height:200px;overflow:auto;margin:6px 0}
.ag-mine{margin-top:14px}.ag-my-row{display:flex;flex-direction:column;gap:5px;padding:10px 0;border-bottom:1px solid var(--border)}.ag-my-row:last-child{border-bottom:0}.ag-my-top small{display:block;color:var(--muted)}
#actBack{margin:0 0 8px}

/* 7.40.38: карта посещений BA */
.vr-wrap{display:grid;grid-template-columns:340px minmax(0,1fr);gap:14px;align-items:start}
.vr-side{display:flex;flex-direction:column;gap:10px;background:var(--card);border:1px solid var(--border);border-radius:14px;padding:12px;max-height:calc(100vh - 150px);overflow:auto}
.vr-mapbox{position:relative;min-width:0}
.vr-map{height:calc(100vh - 170px);min-height:460px;border-radius:14px;border:1px solid var(--border);background:#f6f8fb;overflow:hidden}
.vr-mode,.vr-tabs{display:flex;gap:4px}.vr-mode button,.vr-tabs button,.mp-seg button{flex:1;border:1px solid var(--border);background:var(--card);border-radius:9px;padding:7px 4px;font-size:13px;cursor:pointer;color:inherit}
.vr-mode button.on,.vr-tabs button.on,.mp-seg button.on{background:var(--blue);border-color:var(--blue);color:#fff}
.mp-seg{display:flex;gap:4px}.vr-row{display:flex;gap:6px;align-items:center}.vr-row input{flex:1;min-width:0}.vr-per{font-size:12px;color:var(--muted);margin-top:4px}
.vr-layers{display:flex;flex-direction:column;gap:4px}.vr-actions{display:flex;gap:6px}.vr-actions .btn{flex:1}
.vr-cards{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:8px}.vr-cards div{background:var(--bg,#f6f8fb);border:1px solid var(--border);border-radius:10px;padding:8px}.vr-cards small{display:block;color:var(--muted);font-size:11px}.vr-cards b{font-size:18px}.vr-cards em{display:block;font-size:11px;color:var(--muted);font-style:normal}
.vr-panel h4{margin:10px 0 6px;font-size:13px}.vr-list{display:flex;flex-direction:column;gap:4px}
.vr-li{display:grid;grid-template-columns:1fr auto;gap:0 8px;text-align:left;border:1px solid var(--border);background:var(--card);color:inherit;border-radius:9px;padding:7px 9px;cursor:pointer}
.vr-li small{grid-column:1;color:var(--muted);font-size:11.5px}.vr-li span{grid-row:1/3;grid-column:2;align-self:center;font-weight:700;font-size:13px}.vr-li.on{border-color:var(--blue)}
.vr-dot{display:inline-block;width:9px;height:9px;border-radius:50%;margin-right:6px}
.vr-legend{position:absolute;left:10px;bottom:10px;z-index:500;display:flex;flex-wrap:wrap;gap:4px 10px;background:rgba(255,255,255,.92);border:1px solid var(--border);border-radius:10px;padding:6px 9px;font-size:11.5px;max-width:calc(100% - 20px);color:#222}
.vr-leg{display:inline-flex;align-items:center;gap:5px;cursor:default}.vr-leg[data-d]{cursor:pointer}.vr-leg i{width:10px;height:10px;border-radius:50%;display:inline-block}.vr-leg i.vr-no{background:#fecdca;border:1.5px solid #d92d20}
.vr-pt span{display:flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:50%;color:#fff;font:700 12px/1 system-ui;border:2px solid #fff;box-shadow:0 1px 4px rgba(0,0,0,.4)}
.vr-pop{font-size:13px;min-width:210px}.vr-kv{display:grid;grid-template-columns:1fr auto;gap:2px 10px;margin:6px 0;font-size:12.5px}.vr-kv span{color:#667085}.vr-tags{display:flex;flex-wrap:wrap;gap:4px;margin:4px 0}.vr-note{margin:4px 0;font-size:12px;color:#475467}
@media (max-width:900px){.vr-wrap{grid-template-columns:1fr}.vr-side{max-height:none}.vr-map{height:62vh}}
.rt-decided{margin:8px 0;padding:8px 12px;border-radius:10px;font-size:13px;background:rgba(27,175,122,.14);color:#1b8a5f}.rt-decided.rejected{background:rgba(217,45,32,.12);color:#c0392b}

/* 7.40.44: прогноз потребности и обмены опта */
.fc-head{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;align-items:flex-start;margin-bottom:10px}.fc-head h3{margin:0}.fc-head p{margin:2px 0 0}
.fc-items{max-height:42vh;overflow:auto;border:1px solid var(--border);border-radius:12px;margin:6px 0}
.fc-item{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:8px 10px;border-bottom:1px solid var(--border)}.fc-item:last-child{border-bottom:0}.fc-item.on{background:rgba(42,120,214,.12)}
.fc-item span{display:flex;flex-direction:column;min-width:0}.fc-item small{color:var(--muted);font-size:11.5px}.fc-item input{width:92px;flex:none}
.fc-table{width:100%;border-collapse:collapse;margin-bottom:12px}.fc-table th,.fc-table td{padding:8px 10px;border-bottom:1px solid var(--border);text-align:left;font-size:13px}.fc-table td small{display:block;color:var(--muted)}.fc-table tr.short b{color:#d92d20}
.fc-list{display:flex;flex-direction:column;gap:6px}.fc-row{display:grid;grid-template-columns:1fr auto auto;gap:10px;align-items:center;padding:9px 11px;border:1px solid var(--border);border-radius:12px;background:var(--card)}.fc-row small{display:block;color:var(--muted);font-size:12px}.fc-row.done{opacity:.65}.fc-q{font-size:15px}
.wsx-select{width:100%;margin:8px 0;border:1px solid var(--border);border-radius:10px;padding:6px;background:var(--card);color:inherit}
@media (max-width:640px){.fc-row{grid-template-columns:1fr auto}.fc-row .row-actions{grid-column:1/3}}

/* 7.40.45: выпадающий список сети/магазина в окне не обрезается; резерв обменов */
.modal .rt-pick-res{position:static;max-height:52vh;margin-top:6px;box-shadow:none}
.wh-reserve{display:flex;flex-direction:column;gap:6px;margin-bottom:10px}.wh-reserve small{color:var(--muted)}
.wh-res-row{display:flex;flex-direction:column;gap:2px;padding:6px 0;border-top:1px solid var(--border);font-size:13px}.wh-res-row span{color:var(--muted)}
.wh-res{color:#1b8a5f}

/* 7.40.48: список клиентов опта — кнопки вместо select (в тёмной теме варианты были невидимы) */
.wsx-list{display:flex;flex-direction:column;gap:4px;max-height:52vh;overflow:auto;margin:8px 0}
.wsx-opt{display:block;width:100%;text-align:left;border:1px solid var(--border);border-radius:10px;background:var(--card);color:inherit;padding:9px 12px;cursor:pointer}
.wsx-opt small{display:block;color:var(--muted);font-size:12px;font-weight:400}
.wsx-opt.on{border-color:#2f8cff;background:rgba(47,140,255,.16)}

/* 7.40.50: объединение магазинов в сети */
.cm-banner{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 14px;margin:0 0 12px;border:1px solid #f0d9a8;background:#fff8e6;color:#6b4e00;border-radius:12px}
.cm-banner.hidden{display:none}
.cm-modal .dy-modal-body{max-height:78vh;overflow:auto}
.cm-tabs{margin-bottom:12px}
.cm-card{border:1px solid var(--border);border-radius:14px;padding:12px 14px;margin:0 0 12px;background:var(--card)}
.cm-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:4px}
.cm-name{display:block;margin:10px 0 6px}
.cm-stores{display:flex;flex-direction:column;gap:4px;margin:10px 0;max-height:260px;overflow:auto}
.cm-store{display:flex;align-items:center;gap:10px;padding:7px 10px;border:1px solid var(--border);border-radius:10px;cursor:pointer}
.cm-store input{flex:0 0 auto;width:auto}
.cm-store small{display:block;color:var(--muted);font-size:12px}
.cm-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}
.cm-chains,.cm-hint{display:flex;flex-direction:column;gap:6px;margin:8px 0}
.cm-hint.hidden{display:none}
.cm-hint{padding:10px 12px;border:1px solid #cfe2ff;background:rgba(47,140,255,.10);border-radius:12px}
.cm-hint-t{font-size:13px;font-weight:600}
.cm-chain{display:block;text-align:left;width:100%;padding:9px 12px;border:1px solid var(--border);border-radius:10px;background:var(--card);color:inherit;cursor:pointer}
.cm-chain small{display:block;color:var(--muted);font-size:12px;font-weight:400}
.cm-chain.on{border-color:#2f8cff;background:rgba(47,140,255,.16)}
.cm-chk{display:flex;align-items:center;gap:8px;font-size:14px;margin:6px 0}
.cm-chk input{width:auto}
.cm-picked{color:#1a7f37;font-weight:600;font-size:14px}
.cm-modal .cm-store{display:flex!important;flex-direction:row!important;align-items:center;gap:10px;flex:0 0 auto;padding:8px 12px}
.cm-modal .cm-store>span{display:block;min-width:0}
.cm-modal .cm-store b{display:block;font-size:14px;color:var(--text)}
.cm-modal .cm-store input[type=checkbox],.cm-modal .cm-store input[type=radio]{width:18px;height:18px;margin:0}
.cm-modal .cm-chk{flex-direction:row!important}
.cm-modal label.cm-name{display:flex;flex-direction:column;gap:4px;font-size:12px;font-weight:700;color:var(--muted)}
.cm-hint .cm-chk{flex-direction:row!important}
