/* App shell styles. Board and shared styles come from styles.css. */
.app-body{ background:var(--paper); }
.app-loading{ padding:60px 20px; text-align:center; color:var(--ink-faint); }
.app-top{ position:sticky; top:0; z-index:30; background:var(--paper); border-bottom:1px solid var(--line); }
.app-top-inner{ max-width:1100px; margin:0 auto; padding:10px 20px; display:flex; align-items:center; gap:18px; flex-wrap:wrap; }
.app-brand{ display:flex; align-items:center; gap:8px; font-family:"Poppins",sans-serif; font-weight:600; font-size:18px; color:var(--ink); text-decoration:none; }
.app-brand svg{ stroke:var(--brand); }
.app-nav{ display:flex; gap:4px; margin-left:8px; flex:1; }
.app-nav a{ text-decoration:none; color:var(--ink-soft); font-size:14px; font-weight:600; padding:8px 12px; border-radius:6px; }
.app-nav a:hover{ background:var(--surface-2); color:var(--ink); }
.app-nav a.active{ color:var(--ink); box-shadow:inset 0 -2px 0 var(--brand); border-radius:0; }
.app-user{ display:flex; align-items:center; gap:10px; font-size:13px; color:var(--ink-soft); }
.app-org{ font-weight:600; color:var(--ink); }
.demo-banner{ background:var(--brand-soft); color:var(--ink); font-size:13px; text-align:center; padding:8px 14px; border-bottom:1px solid var(--line); }
.demo-banner button{ font:inherit; font-weight:600; background:none; border:0; color:var(--brand); text-decoration:underline; cursor:pointer; padding:0 0 0 8px; }
.app-main{ max-width:1100px; margin:0 auto; padding:28px 20px 60px; }
.app-head{ display:flex; justify-content:space-between; align-items:flex-end; gap:16px; flex-wrap:wrap; margin-bottom:20px; }
.app-head h1{ font-size:28px; margin:0; }
.app-head p{ margin:4px 0 0; color:var(--ink-soft); font-size:14px; }
.auth-wrap{ max-width:420px; margin:70px auto; padding:0 20px; }
.auth-card{ background:var(--surface); border:1px solid var(--line); border-radius:14px; padding:26px; display:flex; flex-direction:column; gap:14px; }
.auth-card h1{ font-size:24px; margin:0 0 2px; }
.field label{ display:block; font-size:12.5px; font-weight:600; color:var(--ink-soft); margin-bottom:5px; }
.field input, .field select, .field textarea{ width:100%; padding:10px 12px; font:inherit; font-size:14.5px; border:1px solid var(--line-strong); border-radius:8px; background:var(--surface); color:var(--ink); box-sizing:border-box; }
.field textarea{ min-height:70px; resize:vertical; }
.field .hint{ font-size:12px; color:var(--ink-faint); margin-top:4px; }
.form-error{ background:var(--bad-soft); color:var(--bad); border-radius:8px; padding:10px 12px; font-size:13.5px; }
.form-ok{ background:var(--good-soft); color:var(--good); border-radius:8px; padding:10px 12px; font-size:13.5px; }
.link-btn{ background:none; border:0; padding:0; font:inherit; color:var(--brand); cursor:pointer; text-decoration:underline; }
.plan-grid{ display:grid; grid-template-columns:repeat(auto-fill,minmax(310px,1fr)); gap:16px; }
.plan-card{ background:var(--surface); border:1px solid var(--line); border-radius:14px; padding:18px 20px; display:flex; flex-direction:column; gap:10px; text-decoration:none; color:inherit; transition:border-color .15s, transform .15s; }
.plan-card:hover{ border-color:var(--brand); transform:translateY(-2px); }
.plan-kind{ font-family:"Public Sans",sans-serif; font-size:10.5px; letter-spacing:.06em; text-transform:uppercase; color:var(--brand); }
.plan-card h3{ font-size:17px; margin:0; }
.plan-bar{ height:6px; background:var(--line); border-radius:3px; overflow:hidden; }
.plan-bar span{ display:block; height:100%; background:var(--brand); }
.plan-meta{ display:flex; justify-content:space-between; align-items:center; font-size:12.5px; color:var(--ink-soft); gap:8px; flex-wrap:wrap; }
.empty{ background:var(--surface); border:1px dashed var(--line-strong); border-radius:14px; padding:40px 20px; text-align:center; color:var(--ink-soft); }
.panel{ background:var(--surface); border:1px solid var(--line); border-radius:14px; padding:22px; margin-bottom:18px; }
.panel h2{ font-size:18px; margin:0 0 12px; }
.row-2{ display:grid; grid-template-columns:1fr 1fr; gap:14px; }
@media (max-width:700px){ .row-2{ grid-template-columns:1fr; } }
.kind-pick{ display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.kind-opt{ border:1.5px solid var(--line-strong); border-radius:12px; padding:14px 16px; cursor:pointer; background:var(--surface); display:block; }
.kind-opt input{ margin-right:8px; }
.kind-opt strong{ display:block; font-size:15px; }
.kind-opt span{ font-size:12.5px; color:var(--ink-soft); }
.kind-opt.on{ border-color:var(--brand); background:var(--brand-soft); }
.lib-stage{ border:1px solid var(--line); border-radius:12px; margin-bottom:10px; background:var(--surface); }
.lib-stage summary{ padding:12px 16px; cursor:pointer; font-weight:600; display:flex; justify-content:space-between; gap:10px; align-items:center; list-style:none; }
.lib-stage summary::-webkit-details-marker{ display:none; }
.lib-stage .count{ font-family:"Public Sans",sans-serif; font-size:11px; color:var(--ink-faint); font-weight:400; }
.lib-items{ padding:2px 16px 12px; display:flex; flex-direction:column; gap:7px; }
.lib-item{ display:flex; gap:10px; align-items:flex-start; font-size:14px; }
.lib-item input{ margin-top:4px; }
.lib-item small{ display:block; color:var(--ink-soft); font-size:12.5px; }
.lib-tools{ font-size:12.5px; margin-left:auto; }
.plan-bar-top{ display:flex; justify-content:space-between; align-items:center; gap:12px; flex-wrap:wrap; margin-bottom:12px; }
.plan-bar-top a{ color:var(--ink-soft); text-decoration:none; font-size:14px; font-weight:600; }
.plan-bar-top .actions{ display:flex; gap:8px; flex-wrap:wrap; }
.sync-note{ font-size:12px; color:var(--ink-faint); }
.modal-back{ position:fixed; inset:0; background:rgba(20,24,22,.45); display:flex; align-items:center; justify-content:center; z-index:60; padding:20px; }
.modal{ background:var(--surface); border-radius:14px; padding:24px; width:100%; max-width:520px; max-height:90vh; overflow:auto; display:flex; flex-direction:column; gap:14px; }
.modal h2{ margin:0; font-size:20px; }
.copy-box{ display:flex; gap:8px; }
.copy-box input{ flex:1; font-family:"Public Sans",sans-serif; font-size:12.5px; padding:9px 10px; border:1px solid var(--line-strong); border-radius:8px; }
.table{ width:100%; border-collapse:collapse; font-size:14px; }
.table th, .table td{ text-align:left; padding:10px 8px; border-bottom:1px solid var(--line); }
.table th{ font-size:12px; color:var(--ink-faint); font-weight:600; text-transform:uppercase; letter-spacing:.04em; }
.pill{ display:inline-block; font-size:11.5px; font-weight:600; padding:3px 9px; border-radius:999px; background:var(--surface-2); color:var(--ink-soft); }
.pill.good{ background:var(--good-soft); color:var(--good); } .pill.warn{ background:var(--warn-soft); color:var(--warn); } .pill.bad{ background:var(--bad-soft); color:var(--bad); }
#toasts{ position:fixed; right:16px; bottom:16px; display:flex; flex-direction:column; gap:8px; z-index:80; }
.toast{ background:var(--ink); color:#fff; padding:10px 14px; border-radius:10px; font-size:13.5px; max-width:340px; box-shadow:0 6px 20px rgba(0,0,0,.2); }
.toast.err{ background:var(--bad); }
.guest-top{ background:var(--paper); border-bottom:1px solid var(--line); }
.guest-top-inner{ max-width:1100px; margin:0 auto; padding:12px 20px; display:flex; justify-content:space-between; align-items:center; gap:12px; flex-wrap:wrap; font-size:13.5px; color:var(--ink-soft); }
.plan-host .board-bar{ display:none; }
.plan-host .wrap{ padding:0; max-width:none; }
.guest-mode .b-title, .guest-mode .b-partyA, .guest-mode .b-partyB{ cursor:default; }
.app-foot{ max-width:1100px; margin:0 auto; padding:0 20px 40px; font-size:12px; color:var(--ink-faint); }

.example-note{display:none;}

/* plan assistant */
.assist-callout{ display:flex; align-items:center; justify-content:space-between; gap:14px; flex-wrap:wrap; background:var(--brand-soft); border:1px solid var(--line); border-radius:12px; padding:14px 18px; margin:0 0 18px; }
.assist-callout div{ display:flex; flex-direction:column; gap:2px; font-size:14px; } .assist-callout span{ color:var(--ink-soft); }
.assist{ max-width:760px; }
.chat{ display:flex; flex-direction:column; gap:10px; margin-bottom:14px; }
.bubble{ max-width:88%; padding:11px 15px; border-radius:14px; font-size:15px; line-height:1.45; white-space:pre-wrap; }
.bubble small{ display:block; margin-top:4px; font-size:12.5px; color:var(--ink-faint); }
.bubble.assistant{ background:var(--surface); border:1px solid var(--line); align-self:flex-start; border-top-left-radius:4px; }
.bubble.user{ background:var(--ink); color:#fff; align-self:flex-end; border-top-right-radius:4px; }
.bubble.typing{ color:var(--ink-faint); letter-spacing:.2em; }
.as-controls{ display:flex; flex-direction:column; gap:10px; align-items:flex-start; }
.chips{ display:flex; flex-wrap:wrap; gap:8px; }
.chip{ border:1px solid var(--line-strong); background:var(--surface); border-radius:999px; padding:9px 15px; font:inherit; font-size:14px; font-weight:600; cursor:pointer; color:var(--ink); }
.chip:hover, .chip:focus-visible{ border-color:var(--brand); background:var(--brand-soft); outline:none; }
.as-row{ display:flex; gap:8px; width:100%; max-width:520px; } .as-row input{ flex:1; }
.draft{ max-width:900px; margin-top:18px; } .draft-sum{ color:var(--ink-soft); font-size:14px; margin:4px 0 8px; }
.draft-stage{ font-size:15px; margin:18px 0 6px; padding-bottom:4px; border-bottom:1px solid var(--line); }
.draft-row{ display:flex; align-items:center; justify-content:space-between; gap:12px; padding:7px 0; border-bottom:1px solid var(--surface-2); }
.draft-main{ display:flex; gap:10px; align-items:flex-start; flex:1; min-width:0; cursor:pointer; }
.draft-main input{ width:auto; margin-top:4px; flex:none; } .draft-main small{ display:block; color:var(--ink-faint); font-size:12.5px; margin-top:2px; }
.draft-due{ width:150px; flex:none; }
@media (max-width:640px){ .draft-row{ flex-direction:column; align-items:stretch; } .draft-due{ width:100%; } .bubble{ max-width:96%; } }

/* ---- workspace branding */
.logo-plate{ display:inline-flex; align-items:center; justify-content:center; background:#fff; border:1px solid var(--line); border-radius:8px; padding:5px 10px; min-height:40px; }
.logo-plate img{ display:block; max-height:36px; max-width:190px; width:auto; height:auto; }
.logo-plate.empty{ color:var(--ink-faint); font-size:12.5px; min-width:110px; }
.app-brand.has-logo{ flex-wrap:wrap; gap:2px 10px; }
.app-brand-sub{ font-family:"Public Sans",sans-serif; font-weight:500; font-size:10.5px; color:var(--ink-faint); letter-spacing:.02em; }
.auth-brand{ display:flex; align-items:center; justify-content:space-between; gap:10px; flex-wrap:wrap; margin-bottom:4px; }
.auth-brand strong{ font-family:"Poppins",sans-serif; font-size:19px; }
.ws-form{ display:flex; flex-direction:column; gap:16px; max-width:640px; }
.ws-slug{ display:flex; align-items:center; gap:0; border:1px solid var(--line-strong, var(--line)); border-radius:8px; overflow:hidden; background:var(--surface); }
.ws-slug span{ padding:9px 10px; background:var(--surface-2); color:var(--ink-soft); font-size:13px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; max-width:60%; }
.ws-slug input{ border:0; flex:1; min-width:80px; border-radius:0; }
.ws-logo-row{ display:flex; gap:14px; align-items:flex-start; flex-wrap:wrap; }
.ws-accent{ display:flex; gap:10px; align-items:center; flex-wrap:wrap; }
.ws-accent input[type=color]{ width:44px; height:38px; padding:2px; }
.ws-accent input[type=text], .ws-accent #ws-hex{ width:110px; }
.ws-preview{ border:1px solid var(--line); border-radius:10px; overflow:hidden; background:var(--surface); max-width:420px; }
.ws-preview-top{ display:flex; align-items:center; gap:10px; padding:10px 14px; border-bottom:3px solid var(--p, var(--brand)); min-height:56px; }
.ws-preview-body{ display:flex; align-items:center; gap:12px; padding:14px; flex-wrap:wrap; }
.ws-preview .pv-pill{ background:var(--ps, var(--brand-soft)); color:var(--p, var(--brand)); font-weight:600; font-size:12.5px; padding:3px 10px; border-radius:999px; }
.ws-preview .pv-bar{ flex:1; min-width:80px; height:8px; border-radius:5px; background:var(--surface-2); overflow:hidden; }
.ws-preview .pv-bar span{ display:block; width:62%; height:100%; background:var(--p, var(--brand)); }
.ws-preview .pv-link{ color:var(--p, var(--brand)); font-weight:600; font-size:13px; text-decoration:underline; }

/* ---- guided set-up, invitations */
.row-3{ display:grid; grid-template-columns:2fr 2fr 1fr; gap:14px; } @media (max-width:640px){ .row-3{ grid-template-columns:1fr; } }
.wiz{ max-width:760px; margin:0 auto; }
.wiz-steps{ list-style:none; display:flex; gap:8px; padding:0; margin:0 0 16px; flex-wrap:wrap; }
.wiz-steps li{ display:flex; align-items:center; gap:8px; font-size:13px; color:var(--ink-faint); font-weight:600; padding:6px 12px 6px 6px; border-radius:999px; background:var(--surface-2); }
.wiz-steps li span{ width:22px; height:22px; border-radius:50%; background:var(--line); color:var(--ink-soft); display:grid; place-items:center; font-size:12px; }
.wiz-steps li.now{ color:var(--ink); background:var(--brand-soft, var(--surface-2)); } .wiz-steps li.now span{ background:var(--brand, var(--ink)); color:#fff; }
.wiz-steps li.done span{ background:var(--good); color:#fff; }
.wiz-body h1{ font-size:26px; margin:0 0 6px; } .wiz-lead{ margin:0 0 18px; color:var(--ink-soft); font-size:15.5px; line-height:1.55; }
.inv-row{ display:grid; grid-template-columns:1fr 130px; gap:10px; margin-bottom:8px; }
.inv-row input, .inv-row select{ padding:10px 12px; border:1px solid var(--line); border-radius:8px; font:inherit; background:var(--surface); }
.inv-results{ margin-top:6px; } .inv-results td{ vertical-align:top; }
.copy-row{ display:flex; gap:8px; align-items:center; margin-top:8px; } .copy-row input{ flex:1; min-width:0; padding:9px 10px; border:1px solid var(--line); border-radius:8px; font:inherit; font-size:13px; background:var(--surface-2); }
.setup-card{ display:flex; gap:16px; align-items:center; justify-content:space-between; flex-wrap:wrap; border-color:var(--brand, var(--line)); } .setup-card h2{ margin:0 0 4px; }
.tour-dots{ display:flex; gap:6px; margin-bottom:14px; } .tour-dots span{ width:26px; height:5px; border-radius:3px; background:var(--line); } .tour-dots span.on{ background:var(--brand, var(--ink)); }

/* ---- Pontem brand: logo mark in the header and on sign-in */
.app-brand .brand-logo{ height:40px; width:auto; display:block; }
.app-brand .brand-logo-dark{ display:none; }
.auth-card > .app-brand .brand-logo{ height:54px; margin-bottom:4px; }
@media (prefers-color-scheme:dark){ :root:not([data-theme="light"]) .app-brand .brand-logo-light{ display:none; } :root:not([data-theme="light"]) .app-brand .brand-logo-dark{ display:block; } }
.app-top{ background:var(--surface); } 
.app-top::after{ content:""; display:block; height:3px; background:linear-gradient(90deg, var(--brand), var(--sky, #8CC7D6)); }
.demo-banner{ background:var(--navy, #083048); color:#DCEBF2; } .demo-banner button{ color:#8CC7D6; }

/* ---------------------------------------------------------------- deal details panel */
.deal-panel{ padding:0; margin-bottom:16px; }
.deal-panel summary{ list-style:none; cursor:pointer; display:flex; align-items:center; gap:10px 14px; flex-wrap:wrap; padding:14px 18px; }
.deal-panel summary::-webkit-details-marker{ display:none; }
.deal-panel summary::before{ content:"▸"; color:var(--brand); font-size:13px; transition:transform .15s; }
.deal-panel[open] summary::before{ transform:rotate(90deg); }
.deal-title{ font-family:"Poppins",sans-serif; font-weight:600; font-size:15px; color:var(--ink); }
.deal-flag{ font-size:11.5px; font-weight:600; padding:3px 9px; border-radius:999px; background:var(--brand-soft); color:var(--brand); }
.deal-line{ font-size:13px; color:var(--ink-soft); flex:1 1 220px; min-width:0; }
.deal-body{ padding:0 18px 18px; border-top:1px solid var(--line); }
.deal-body h3{ font-size:14px; margin:18px 0 10px; font-family:"Poppins",sans-serif; }
.deal-body h3 small{ font-weight:500; color:var(--ink-faint); font-family:inherit; font-size:12.5px; margin-left:6px; }
.deal-body .field{ margin-bottom:12px; }
.qty-box .recur-fill{ background:var(--brand); }

/* ---------------------------------------------------------------- reports */
.rp-controls{ display:flex; gap:14px; align-items:flex-end; flex-wrap:wrap; padding:16px 18px; }
.rp-controls .field{ margin:0; min-width:150px; }
.rp-seg{ display:inline-flex; border:1px solid var(--line-strong); border-radius:9px; overflow:hidden; }
.rp-seg button{ font:inherit; font-size:13.5px; font-weight:600; padding:9px 14px; border:0; background:var(--surface); color:var(--ink-soft); cursor:pointer; }
.rp-seg button.on{ background:var(--brand); color:#fff; }
.rp-note{ background:var(--brand-soft); border:1px solid var(--line); color:var(--ink); border-radius:10px; padding:10px 14px; font-size:13.5px; margin-bottom:16px; }
.rp-kpis{ display:grid; grid-template-columns:repeat(auto-fit,minmax(170px,1fr)); gap:12px; margin-bottom:18px; }
.rp-kpis-sm{ margin-bottom:6px; }
.rp-kpi{ background:var(--surface); border:1px solid var(--line); border-radius:12px; padding:14px 16px; display:flex; flex-direction:column; gap:2px; }
.rp-kpi .rp-k{ font-size:12px; font-weight:600; color:var(--ink-soft); text-transform:uppercase; letter-spacing:.04em; }
.rp-kpi b{ font-family:"Poppins",sans-serif; font-size:24px; color:var(--ink); line-height:1.2; }
.rp-kpi small{ font-size:12.5px; color:var(--ink-faint); }
.rp-sec h2{ margin-bottom:4px; }
.rp-sec h3{ font-size:15px; margin:22px 0 4px; font-family:"Poppins",sans-serif; }
.rp-sub{ margin:0 0 12px; font-size:13.5px; color:var(--ink-soft); max-width:78ch; }
.rp-foot{ margin:12px 0 0; font-size:12.5px; color:var(--ink-faint); max-width:78ch; }
.rp-empty{ margin:6px 0; padding:14px 16px; background:var(--surface-2); border-radius:10px; font-size:14px; color:var(--ink-soft); }
.rp-scroll{ overflow-x:auto; margin:0 -4px; padding:0 4px; }
.rp-table{ width:100%; border-collapse:collapse; font-size:13.5px; }
.rp-table th{ text-align:left; font-size:12px; font-weight:600; color:var(--ink-soft); padding:8px 10px; border-bottom:1px solid var(--line); white-space:nowrap; }
.rp-table td{ padding:8px 10px; border-bottom:1px solid var(--line); vertical-align:top; }
.rp-table td small{ display:block; color:var(--ink-faint); font-size:12px; }
.rp-table .num{ text-align:right; font-variant-numeric:tabular-nums; white-space:nowrap; }
.rp-table td.num small{ display:inline; }
.rp-grid-table td.num{ min-width:46px; text-align:center; }
.rp-grid-table th.num{ text-align:center; }
.rp-chart{ width:100%; height:auto; max-height:230px; display:block; }
.rp-grid{ stroke:var(--line); stroke-width:1; }
.rp-tick{ fill:var(--ink-faint); font-size:11px; }
.rp-bar{ fill:var(--brand); }
.rp-line{ fill:none; stroke:var(--ink-soft); stroke-width:2; stroke-dasharray:5 4; }
.rp-dot{ fill:var(--surface); stroke:var(--ink-soft); stroke-width:2; }
.rp-legend{ display:flex; gap:16px; font-size:12.5px; color:var(--ink-soft); margin-top:4px; }
.rp-legend i{ display:inline-block; vertical-align:middle; margin-right:5px; }
.lg-bar{ width:12px; height:12px; border-radius:2px; background:var(--brand); }
.lg-line{ width:16px; height:0; border-top:2px dashed var(--ink-soft); }
.rp-lift{ display:inline-block; width:80px; height:8px; border-radius:4px; background:var(--surface-2); vertical-align:middle; overflow:hidden; }
.rp-lift i{ display:block; height:100%; background:var(--good); }
.rp-lift.neg i{ background:var(--bad); }
.rp-cols{ display:grid; grid-template-columns:repeat(auto-fit,minmax(min(300px,100%),1fr)); gap:8px 28px; }
.rp-reasons{ margin:8px 0 0; padding-left:18px; font-size:14px; } .rp-reasons li{ margin-bottom:4px; }
@media (max-width:700px){ .rp-controls .field{ min-width:100%; } .rp-seg{ width:100%; } .rp-seg button{ flex:1; } }
/* the nav can have up to seven links: let it scroll sideways on a phone instead of widening the page */
@media (max-width:760px){
  .app-top-inner{ gap:8px 12px; }
  .app-nav{ order:3; flex:1 0 100%; margin-left:0; overflow-x:auto; -webkit-overflow-scrolling:touch; scrollbar-width:none; }
  .app-nav::-webkit-scrollbar{ display:none; }
  .app-nav a{ white-space:nowrap; flex:0 0 auto; }
  .app-user{ margin-left:auto; flex-wrap:wrap; justify-content:flex-end; }
}
.rp-grid-table td:first-child, .rp-grid-table th:first-child{ min-width:190px; position:sticky; left:0; background:var(--surface); z-index:1; }
.rp-grid-table td.num{ min-width:40px; padding-left:6px; padding-right:6px; }
.rp-grid-table th.num{ padding-left:6px; padding-right:6px; }

/* ---- rep view, Rep Synopsis, 1 on 1 prep, scheduled briefs */
.rp-reps{ display:flex; gap:8px; flex-wrap:wrap; margin:0 0 14px; }
.rp-reps button{ font:inherit; font-size:13.5px; font-weight:600; padding:7px 14px; border-radius:999px; border:1px solid var(--line-strong); background:var(--surface); color:var(--ink-soft); cursor:pointer; }
.rp-reps button.on{ background:var(--brand); border-color:var(--brand); color:#fff; }
.rp-rephead-top{ display:flex; gap:16px; justify-content:space-between; align-items:flex-start; flex-wrap:wrap; }
.rp-rephead-top h2{ margin:0 0 4px; }
.rp-rephead-btns{ display:flex; gap:8px; flex-wrap:wrap; }
.rp-vs td.vs-up b{ color:#1f7a45; } .rp-vs td.vs-down b{ color:#b03a2e; }
.rp-vs td small{ display:block; color:var(--ink-soft); font-size:12px; font-weight:400; }
.rp-glance{ margin:6px 0 2px; font-size:13.5px; } .rp-glance.good b{ color:#1f7a45; } .rp-glance.bad b{ color:#b03a2e; }
.rp-glance-list{ margin:0 0 8px; padding-left:18px; font-size:14px; } .rp-glance-list li{ margin:2px 0; }
.rp-actions{ white-space:nowrap; }
.modal.modal-wide{ max-width:860px; }
.brief-toolbar{ display:flex; gap:10px; justify-content:space-between; align-items:flex-start; flex-wrap:wrap; position:sticky; top:-24px; background:var(--surface); padding:2px 0 8px; margin-top:-4px; z-index:2; border-bottom:1px solid var(--line); }
.brief-tools{ display:flex; gap:6px; flex-wrap:wrap; }
.btn-sm{ padding:7px 11px; font-size:13px; }
.brief-status{ font-size:13px; color:var(--ink-soft); flex:1; min-width:200px; align-self:center; }
.brief-status.busy::before{ content:""; display:inline-block; width:10px; height:10px; margin-right:6px; border:2px solid var(--brand); border-right-color:transparent; border-radius:50%; animation:bfspin .8s linear infinite; vertical-align:-1px; }
.brief-status.ok{ color:#1f7a45; } .brief-status.warn{ color:#9a6a00; }
@keyframes bfspin{ to{ transform:rotate(360deg); } }
.brief{ font-size:14.5px; line-height:1.5; color:var(--ink); }
.brief header h2{ font-size:22px; margin:0; } .brief-meta{ margin:2px 0 12px; font-size:13px; color:var(--ink-soft); }
.brief-src{ padding:1px 8px; border-radius:999px; background:var(--surface-2, #eef1ef); font-weight:600; font-size:12px; } .brief-src-ai{ background:#e7f0ff; color:#244a8f; }
.brief-head{ font-size:16px; font-weight:600; margin:0 0 6px; } .brief-sum{ margin:0 0 6px; }
.brief section{ margin:16px 0 0; } .brief h3{ font-size:15px; margin:0 0 6px; padding-bottom:4px; border-bottom:2px solid var(--brand); } .brief h4{ font-size:13.5px; margin:10px 0 2px; color:var(--ink-soft); }
.brief ul{ margin:4px 0 0; padding-left:20px; } .brief li{ margin:3px 0; }
.brief-scroll{ overflow-x:auto; } .brief-kpis{ width:100%; border-collapse:collapse; font-size:13.5px; }
.brief-kpis th, .brief-kpis td{ text-align:left; padding:5px 8px; border-bottom:1px solid var(--line); } .brief-kpis thead th{ font-size:12px; text-transform:uppercase; letter-spacing:.04em; color:var(--ink-soft); }
.brief-kpis tbody th{ font-weight:500; } .brief-kpis small{ color:var(--ink-soft); font-size:12px; margin-left:4px; }
.brief-kpis td.bk-up{ color:#1f7a45; font-weight:700; } .brief-kpis td.bk-down{ color:#b03a2e; font-weight:700; }
.brief-two{ display:grid; grid-template-columns:repeat(auto-fit, minmax(min(300px,100%), 1fr)); gap:0 22px; }
.brief-good h3{ border-color:#2e9e5b; } .brief-bad h3{ border-color:#c8553d; } .brief-none{ color:var(--ink-soft); margin:4px 0 0; }
.brief-deal{ border:1px solid var(--line); border-radius:10px; padding:10px 12px; margin:8px 0; page-break-inside:avoid; }
.bd-top{ display:flex; flex-wrap:wrap; gap:4px 10px; align-items:baseline; } .bd-top span{ color:var(--ink-soft); } .bd-top em{ margin-left:auto; font-style:normal; font-size:13px; color:var(--ink-soft); }
.bd-q{ margin:6px 0 0; background:var(--surface-2, #f3f6f4); border-radius:8px; padding:7px 10px; }
.brief-checks{ list-style:none; padding-left:0; } .brief-checks li{ padding-left:26px; position:relative; } .brief-checks li::before{ content:""; position:absolute; left:2px; top:4px; width:14px; height:14px; border:1.5px solid var(--ink-soft); border-radius:3px; } .brief-checks li.blank{ border-bottom:1px solid var(--line); height:24px; }
.brief-notes{ min-height:90px; border:1px dashed var(--line-strong); border-radius:8px; }
.brief-data{ color:var(--ink-soft); font-size:13px; }
.sf-set{ border:1px solid var(--line); border-radius:10px; padding:8px 12px 10px; margin:0; } .sf-set legend{ font-size:13px; font-weight:600; padding:0 6px; }
.sf-check{ display:flex; gap:8px; align-items:center; margin:5px 0; font-weight:400; cursor:pointer; } .sf-check input{ width:auto; }
.sf-row{ display:flex; gap:12px; flex-wrap:wrap; } .sf-row > div{ flex:1; min-width:140px; } .sf-row [hidden]{ display:none; }
@media (max-width:700px){ .brief-toolbar{ top:-20px; } .bd-top em{ margin-left:0; } }
@media print{
  body > *:not(.modal-back){ display:none !important; }
  .modal-back{ position:static !important; background:none !important; padding:0 !important; display:block !important; }
  .modal, .modal.modal-wide{ max-width:none !important; max-height:none !important; overflow:visible !important; box-shadow:none !important; padding:0 !important; background:#fff !important; }
  .brief-toolbar{ display:none !important; }
  .brief{ font-size:11pt; } .brief-two{ display:block; } .brief section{ page-break-inside:avoid; }
}

/* ---- import existing deals */
.modal.imp{ max-width:980px; }
.imp-lead{ margin:0; font-size:14px; color:var(--ink-soft); }
.imp-kind{ max-width:460px; }
.imp-tabs{ display:flex; gap:4px; border-bottom:1px solid var(--line, #dcdfd8); }
.imp-tabs button{ border:0; background:none; padding:10px 14px; font:inherit; font-size:14px; font-weight:600; color:var(--ink-soft); cursor:pointer; border-bottom:2px solid transparent; margin-bottom:-1px; }
.imp-tabs button.on{ color:var(--ink); border-bottom-color:var(--brand, #0e5c4a); }
.imp-gridwrap{ overflow:auto; max-height:46vh; border:1px solid var(--line, #dcdfd8); border-radius:10px; }
.imp-grid{ border-collapse:collapse; width:100%; min-width:720px; }
.imp-grid th{ text-align:left; font-size:12px; padding:8px 8px; background:var(--surface-2, #f4f5f1); position:sticky; top:0; }
.imp-grid td{ padding:0; border-top:1px solid var(--line, #e6e8e2); }
.imp-grid td.n{ padding:0 8px; color:var(--ink-faint); font-size:12px; width:32px; }
.imp-grid input{ width:100%; border:0; padding:9px 8px; font:inherit; font-size:14px; background:transparent; min-width:90px; }
.imp-grid input:focus{ outline:2px solid var(--brand, #0e5c4a); outline-offset:-2px; background:#fff; }
.imp-actions{ display:flex; gap:8px; align-items:center; flex-wrap:wrap; }
.imp-spacer{ flex:1; }
.imp-drop{ border:2px dashed var(--line, #c9cdc4); border-radius:12px; padding:34px 20px; text-align:center; display:flex; flex-direction:column; gap:8px; align-items:center; }
.imp-drop.over{ border-color:var(--brand, #0e5c4a); background:var(--surface-2, #f4f5f1); }
.imp-file{ display:flex; gap:10px; flex-wrap:wrap; align-items:center; font-size:14px; }
.imp-h3{ margin:4px 0 0; font-size:15px; }
.imp-map{ display:grid; grid-template-columns:repeat(auto-fit, minmax(240px, 1fr)); gap:10px 14px; }
.imp-sample-t{ font-size:13px; }
.imp-counts{ display:flex; gap:8px; flex-wrap:wrap; align-items:center; }
.imp-kindtag{ font-size:13px; color:var(--ink-soft); }
.imp-review td, .imp-review th{ font-size:13px; vertical-align:top; }
.imp-review tr.bad td{ background:rgba(180,40,40,.06); }
.imp-review tr.warn td{ background:rgba(200,140,0,.07); }
.imp-note{ max-width:300px; color:var(--ink-soft); }
.imp-skip{ display:flex; gap:8px; align-items:flex-start; font-size:14px; }
.imp-skip input{ margin-top:3px; }
@media (max-width:640px){ .modal.imp{ padding:16px; } .imp-gridwrap{ max-height:40vh; } }
.modal label.imp-skip{ display:flex; flex-direction:row; justify-content:flex-start; align-items:flex-start; gap:8px; text-align:left; font-weight:400; }
.modal label.imp-skip input{ width:auto; flex:none; }

/* ---- email and calendar link */
.act-conn-top{ display:flex; gap:16px; justify-content:space-between; align-items:flex-start; flex-wrap:wrap; }
.act-conn-top h2{ margin:0 0 4px; font-size:19px; }
.act-conn-top p{ margin:0; font-size:14px; color:var(--ink-soft); max-width:62ch; }
.act-btns{ display:flex; gap:8px; flex-wrap:wrap; }
.act-what{ display:grid; grid-template-columns:repeat(auto-fit, minmax(260px, 1fr)); gap:16px; margin-top:14px; }
.act-what h3{ margin:0 0 6px; font-size:14px; }
.act-what ul{ margin:0; padding-left:18px; font-size:13px; color:var(--ink-soft); display:flex; flex-direction:column; gap:4px; }
.act-more{ margin-top:12px; font-size:14px; }
.act-more summary{ cursor:pointer; color:var(--ink-soft); }
.act-bad{ color:#a02828; } .act-warn{ color:#8a5a00; }
.rp-verify{ margin-top:14px; }
.rp-verify h3{ display:flex; gap:8px; align-items:center; flex-wrap:wrap; }
.deal-meet{ margin-top:18px; border-top:1px solid var(--line, #e1e4dd); padding-top:12px; }
.deal-meet h3{ margin:0 0 6px; font-size:15px; } .deal-meet h3 small{ font-weight:400; color:var(--ink-faint); font-size:12px; }
.deal-meet ul{ margin:0; padding:0; list-style:none; display:flex; flex-direction:column; gap:6px; font-size:14px; }
.brief-verify .bv-score{ font-size:12px; font-weight:600; padding:2px 8px; border-radius:99px; margin-left:6px; }
.bv-good{ background:#e3f3ea; color:#1d6b3f; } .bv-warn{ background:#fbf0d4; color:#8a5a00; } .bv-bad{ background:#fbe3e3; color:#a02828; }
.rp-table th small{ display:block; font-weight:400; font-size:11px; color:var(--ink-faint); text-transform:none; letter-spacing:0; }
.act-co{ margin-top:16px; }
.act-co h2{ margin:0 0 6px; font-size:19px; }
.act-co > p{ margin:0 0 10px; font-size:14px; color:var(--ink-soft); max-width:70ch; }
.act-steps{ margin:0 0 14px; padding-left:20px; font-size:14px; color:var(--ink-soft); max-width:70ch; }
.act-steps li{ margin:4px 0; }
.co-pick{ display:flex; gap:8px; align-items:center; cursor:pointer; }
.act-co .act-btns{ margin-top:12px; }
/* business overview (Pontem staff) */
.bz-tiles{ display:grid; grid-template-columns:repeat(auto-fit, minmax(190px, 1fr)); gap:12px; margin-bottom:8px; }
.bz-tile{ background:var(--paper, #fff); border:1px solid var(--line); border-radius:12px; padding:14px 16px; }
.bz-tile.warn{ border-color:#e3c27a; background:#fdf6e3; } .bz-tile.bad{ border-color:#e5a0a0; background:#fdeeee; }
.bz-label{ font-size:12px; font-weight:700; letter-spacing:.05em; text-transform:uppercase; color:var(--ink-soft); }
.bz-big{ font-family:"Poppins", sans-serif; font-weight:600; font-size:26px; margin:4px 0 2px; line-height:1.2; }
.bz-sub{ font-size:12.5px; color:var(--ink-soft); }
.bz-two{ display:grid; grid-template-columns:repeat(auto-fit, minmax(340px, 1fr)); gap:16px; }
.bz-rens{ display:grid; grid-template-columns:repeat(auto-fit, minmax(240px, 1fr)); gap:16px; }
.bz-ren h3{ margin:0 0 6px; font-size:14px; } .bz-ren ul{ margin:0; padding-left:18px; font-size:13.5px; } .bz-ren li{ margin:6px 0; }
.bz-bar{ display:inline-block; width:64px; height:8px; border-radius:99px; background:var(--line); vertical-align:middle; overflow:hidden; }
.bz-bar span{ display:block; height:100%; background:var(--brand); } .bz-bar span.low{ background:#d08a2a; }
.bz-small{ display:block; font-size:11.5px; color:var(--ink-faint); } .bz-small.warn{ color:#9a6a12; } .bz-small.bad{ color:#a33; }
.bz-filters{ display:flex; gap:10px; flex-wrap:wrap; margin:0 0 10px; } .bz-filters input, .bz-filters select{ padding:8px 10px; border:1px solid var(--line); border-radius:8px; font:inherit; }
.bz-form .row-2{ display:grid; grid-template-columns:1fr 1fr; gap:12px; } @media (max-width:560px){ .bz-form .row-2{ grid-template-columns:1fr; } }
#bz-table td, #bz-table th{ white-space:nowrap; }

/* ---- assigning leads to reps */
.asg-card{display:flex;justify-content:space-between;gap:14px;align-items:flex-start;flex-wrap:wrap;padding:12px 14px;border:1px solid var(--line);border-left:4px solid var(--brand);border-radius:10px;background:var(--paper);margin:8px 0;}
.asg-card strong{display:block;font-size:15px;}
.asg-card span{display:block;font-size:13px;color:var(--ink-soft);margin-top:2px;}
.asg-note{margin:8px 0 0;font-size:14px;color:var(--ink);white-space:pre-wrap;}
.asg-actions{display:flex;gap:8px;flex-wrap:wrap;}
.asg-line{margin:0 0 12px;font-size:14px;color:var(--ink-soft);line-height:2;}
.asg-line .pill{margin:0 4px;}
.asg-ack{font-style:italic;}
#asg-strip .asg-card{margin:0 0 14px;}
.tpl-head,.tpl-main{display:grid;grid-template-columns:minmax(0,1fr) 190px 74px 112px 124px;gap:6px;align-items:center;}
.tpl-head{font-size:12px;color:var(--ink-faint);padding:0 9px 4px;}
.tpl-row{margin:0 0 10px;padding:8px;border:1px solid var(--line);border-radius:8px;}
.tpl-row input,.tpl-row select{width:100%;min-width:0;}
.tpl-row .tp-desc{margin-top:6px;font-size:13px;}
.tpl-btns{display:flex;gap:2px;}
.tpl-btns button{border:1px solid var(--line);background:var(--paper);border-radius:6px;width:30px;height:32px;cursor:pointer;color:var(--ink);}
.tpl-btns button:disabled{opacity:.35;cursor:default;}
.modal.modal-wide{max-width:900px;width:calc(100vw - 32px);}
@media (max-width:720px){.tpl-head{display:none;}.tpl-main{grid-template-columns:1fr 1fr;}.tpl-main .tp-title{grid-column:1 / -1;}.tpl-btns{grid-column:1 / -1;justify-content:flex-end;}}

/* Pontem-wide insights */
.ag-guard{margin:0 0 16px;font-size:14px;color:var(--ink-soft);}
.ag-guard h2{margin:0 0 6px;font-size:17px;color:var(--ink);}
.ag-guard p{margin:0;}
.ag-facts{margin:0;padding-left:20px;display:block;}
.ag-facts li{display:list-item;margin:0 0 8px;line-height:1.45;font-size:15px;}
.ag-facts small{color:var(--ink-soft);margin-left:6px;}
.ag-chk{display:inline-flex;gap:8px;align-items:center;cursor:pointer;}

/* date pushed prompt */
.psh-sum{margin:0 0 12px;font-size:14.5px;color:var(--ink-soft);}
.psh-form{display:block;}
.psh-sec{border:0;padding:0;margin:0 0 16px;}
.psh-sec legend{font-weight:700;font-size:14px;margin:0 0 8px;padding:0;color:var(--ink);}
.psh-opt{display:flex;gap:10px;align-items:flex-start;padding:8px 0;cursor:pointer;font-size:14.5px;}
.psh-opt small,.psh-item small{display:block;color:var(--ink-soft);font-size:12.5px;margin-top:2px;font-weight:400;}
.psh-opt input,.psh-item input{margin-top:3px;}
.psh-hint{margin:0 0 8px;font-size:13.5px;color:var(--ink-soft);}
.psh-list{display:block;max-height:280px;overflow:auto;border:1px solid var(--line);border-radius:10px;padding:4px 12px;}
.psh-item{display:flex;gap:10px;align-items:flex-start;padding:9px 0;border-bottom:1px solid var(--line);cursor:pointer;font-size:14px;}
.psh-item:last-child{border-bottom:0;}
.psh-item em{font-style:normal;color:var(--ink-faint);}
.psh-custom{margin-top:10px;}
.psh-custom label{display:block;font-size:13px;font-weight:600;margin-bottom:4px;}
.psh-custom input{width:100%;}
.psh-foot{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;}
.psh-need{font-size:13px;color:var(--ink-soft);}
@media (max-width:560px){.psh-foot{flex-direction:column;align-items:stretch;}.psh-foot > div{justify-content:flex-end;}}

/* Team page */
.tm-seats{ margin-bottom:14px; } .tm-seat-top{ display:flex; gap:20px; align-items:center; flex-wrap:wrap; justify-content:space-between; }
.tm-meter{ flex:1 1 220px; max-width:420px; height:12px; border-radius:99px; background:var(--line, #dfe6ea); overflow:hidden; } .tm-meter span{ display:block; height:100%; background:var(--brand, #25748A); border-radius:99px; }
.tm-seat-msg{ margin:10px 0 0; font-size:14px; color:var(--ink-soft); } .tm-full{ margin:0; font-size:14px; color:var(--ink-soft); background:var(--warn-soft, #fdf6e3); border:1px solid #e3c27a; border-radius:10px; padding:10px 12px; }
.tm-table small, #pending-table small{ display:block; font-size:12px; color:var(--ink-soft); font-weight:400; } .tm-email{ margin-top:1px; } .tm-acts{ white-space:nowrap; text-align:right; }
.tm-role{ font:inherit; font-size:13px; padding:4px 6px; border:1px solid var(--line); border-radius:8px; background:var(--paper, #fff); color:inherit; }
.pill.bad{ background:#fdeeee; color:#9a2b2b; border-color:#e5a0a0; } .pill.good{ background:#e9f6ee; color:#1d6b3a; border-color:#a8d5b8; } .pill.warn{ background:#fdf6e3; color:#8a6410; border-color:#e3c27a; }
#tm-tiles{ margin-bottom:14px; }

/* ---- drag to put things in order (new plan, lead assignment template) */
.grip{display:inline-flex;align-items:center;justify-content:center;width:26px;height:32px;cursor:grab;color:var(--ink-faint,#8a97a3);font-size:15px;letter-spacing:-3px;user-select:none;touch-action:none;border-radius:6px;flex:none;}
.grip:hover{background:var(--paper-2,#eef4f8);color:var(--ink);}
.seq-stage{margin:0 0 14px;}
.seq-stage h3{margin:0 0 6px;font-size:14px;color:var(--navy,#083048);}
.seq-stage .count{font-family:IBM Plex Mono,monospace;font-size:12px;color:var(--ink-faint,#8a97a3);font-weight:400;}
.seq-list{display:flex;flex-direction:column;gap:6px;}
.seq-row{display:flex;align-items:center;gap:8px;padding:6px 8px;border:1px solid var(--line);border-radius:8px;background:var(--paper,#fff);}
.seq-n{flex:none;width:22px;text-align:center;font-family:IBM Plex Mono,monospace;font-size:12px;color:var(--ink-soft);}
.seq-t{flex:1;font-size:14px;min-width:0;}
.seq-row.dragging,.tpl-row.dragging{box-shadow:0 6px 18px rgba(0,0,0,.18);border-color:var(--teal,#25748A);background:#f4fafc;position:relative;z-index:2;}
.is-sorting,.is-sorting *{cursor:grabbing !important;}
.tpl-btns .grip{height:32px;}

/* ---- cadence by product */
.tp-products{margin:12px 0 14px;padding:12px;border:1px solid var(--line);border-radius:10px;background:var(--paper-2,#f6f9fb);}
.tp-products h3{margin:0 0 4px;font-size:15px;}
.tp-products .hint{margin:0 0 8px;}
.pr-list{display:flex;flex-direction:column;gap:2px;margin:6px 0;max-height:220px;overflow:auto;}
.pr-row{display:flex;align-items:center;gap:8px;padding:5px 6px;border-radius:6px;cursor:pointer;}
.pr-row:hover{background:#fff;}
.pr-row .pr-n{font-size:14px;}
.pr-note{color:var(--ink-faint,#8a97a3);font-size:12px;flex:1;}
.pr-note.warn{color:#9a5b00;}
.pr-del{font-size:12px;opacity:.6;}
.pr-tools{margin:4px 0 8px;font-size:13px;}
.pr-empty{margin:4px 0 8px;font-size:13px;color:var(--ink-soft);}
.pr-add{display:flex;gap:8px;}
.pr-add input{flex:1;min-width:0;}

/* ---- cadence by product */
.tp-products{margin:12px 0 14px;padding:12px;border:1px solid var(--line);border-radius:10px;background:var(--paper-2,#f6f9fb);}
.tp-products h3{margin:0 0 4px;font-size:15px;}
.tp-products .hint{margin:0 0 8px;}
.pr-list{display:flex;flex-direction:column;gap:2px;margin:6px 0;max-height:220px;overflow:auto;}
.pr-row{display:flex;align-items:center;gap:8px;padding:5px 6px;border-radius:6px;cursor:pointer;}
.pr-row:hover{background:#fff;}
.pr-row .pr-n{font-size:14px;}
.pr-note{color:var(--ink-faint,#8a97a3);font-size:12px;flex:1;}
.pr-note.warn{color:#9a5b00;}
.pr-del{font-size:12px;opacity:.6;}
.pr-tools{margin:4px 0 8px;font-size:13px;}
.pr-empty{margin:4px 0 8px;font-size:13px;color:var(--ink-soft);}
.pr-add{display:flex;gap:8px;}
.pr-add input{flex:1;min-width:0;}

/* ---- standard cadences */
.std-pick{margin:0 0 12px;}
.std-banner{margin:0 0 10px;padding:8px 12px;border-radius:8px;background:#eef6f9;border:1px solid #cfe4ec;font-size:13px;color:var(--navy,#083048);}
.std-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin-bottom:10px;}
.std-list{display:flex;flex-direction:column;gap:10px;}
.std-card{border:1px solid var(--line);border-radius:10px;padding:12px;background:var(--paper,#fff);}
.std-top{display:flex;justify-content:space-between;gap:12px;align-items:center;}
.std-meta{display:block;font-size:12px;color:var(--ink-soft);margin-top:2px;}
.std-best{margin:6px 0;font-size:14px;color:var(--ink-soft);}
.std-card summary{cursor:pointer;font-size:13px;color:var(--teal,#25748A);}
.std-steps{margin:8px 0 0;padding-left:20px;font-size:13px;}
.std-steps li{margin:3px 0;}
.std-steps small{display:block;color:var(--ink-faint,#8a97a3);}

/* deal stages */
.stg-strip{padding:16px 20px;}
.stg-head{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:10px;} .stg-head h2{margin:0;font-size:16px;} .stg-head .btn{margin-left:auto;}
.stg-chips{display:flex;flex-wrap:wrap;gap:6px;}
.stg-chip{border:1px solid var(--line);background:var(--surface);color:var(--ink-soft);border-radius:999px;padding:5px 12px;font-size:13px;cursor:pointer;font-family:inherit;}
.stg-chip.past{background:var(--surface-2);color:var(--ink);} .stg-chip.now{background:var(--navy,#1f3d5a);border-color:var(--navy,#1f3d5a);color:#fff;font-weight:600;}
.stg-line{margin:10px 0 0;font-size:14px;color:var(--ink-soft);}
.stg-spin{margin-top:12px;padding:12px 14px;border-radius:10px;background:#fdf6e3;border:1px solid #e3c27a;color:#6e4f0c;font-size:14px;line-height:1.5;}
.stg-hist{margin-top:12px;font-size:14px;} .stg-hist summary{cursor:pointer;color:var(--ink-soft);}
.stg-pick{display:flex;flex-direction:column;gap:6px;} .stg-opt{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:400;}
.stg-badge{display:flex;gap:6px;flex-wrap:wrap;margin:2px 0 8px;} .stg-pill{background:var(--surface-2);}
.stg-rows{display:flex;flex-direction:column;gap:8px;margin-bottom:12px;}
.stg-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap;} .stg-row.dragging{opacity:.7;box-shadow:0 4px 14px rgba(0,0,0,.15);background:var(--surface);}
.stg-name{flex:1 1 200px;min-width:160px;} .stg-fin{font-size:13px;display:flex;gap:6px;align-items:center;white-space:nowrap;} .stg-open{font-size:12.5px;color:var(--ink-soft);min-width:80px;}
.stg-actions{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0;}
.stg-h3{font-size:16px;margin:22px 0 6px;}
.stg-rules{display:flex;gap:14px;align-items:flex-end;flex-wrap:wrap;} .stg-rules .field{margin:0;} .stg-rules input{width:120px;}
.stg-report .muted{color:var(--ink-faint,#8a97a3);}
.table-wrap{overflow-x:auto;}

/* milestone search and approval */
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;}
.lib-search{position:relative;margin:0 0 14px;} .lib-search input{width:100%;}
.lib-sug{position:absolute;left:0;right:0;top:100%;z-index:30;background:var(--surface);border:1px solid var(--line);border-radius:10px;box-shadow:0 8px 24px rgba(0,0,0,.14);margin-top:4px;max-height:360px;overflow:auto;}
.lib-sug-row{padding:9px 14px;cursor:pointer;display:flex;flex-direction:column;gap:2px;border-bottom:1px solid var(--line);} .lib-sug-row:last-child{border-bottom:0;}
.lib-sug-row:hover,.lib-sug-row.on{background:var(--surface-2);} .ls-t{font-size:14px;font-weight:600;} .ls-s{font-size:12.5px;color:var(--ink-soft);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.lib-sug-new .ls-t{color:var(--teal,#1b7f95);} .lib-sug-none{padding:10px 14px;font-size:13px;color:var(--ink-soft);}
.lib-item.flash{background:#e9f6ee;border-radius:8px;transition:background .3s;}
.lib-wait{border-color:#e3c27a;} .lib-wait .lib-item{flex-wrap:wrap;padding:8px 0;border-top:1px solid var(--line);} .lib-wait-btns{display:flex;gap:8px;} .lib-dc{display:flex;gap:8px;width:100%;margin-top:6px;} .lib-dc input{flex:1;}
.lib-note{display:block;font-size:12px;color:var(--ink-soft);}
.lib-item input[type=checkbox]{width:auto;flex:none;margin:4px 0 0;}

/* walk-through fixes */
.modal label.stg-opt,.modal label.psh-opt{display:flex;flex-direction:row;align-items:center;justify-content:flex-start;gap:8px;margin:0;font-weight:400;color:var(--ink);}
.modal label.psh-opt{align-items:flex-start;}
.modal .stg-opt input,.modal .psh-opt input{width:auto;flex:none;margin:0;padding:0;}
.modal .psh-opt input{margin-top:3px;}
.chk{display:flex;flex-direction:row;align-items:center;gap:8px;margin:0 0 6px;font-size:14px;font-weight:400;color:var(--ink);cursor:pointer;}
.chk input{width:auto;flex:none;margin:0;padding:0;}
.chk-set{border:0;padding:0;margin:0;min-width:0;}
.chk-set legend{font-size:12.5px;font-weight:600;color:var(--ink-soft);margin-bottom:6px;padding:0;}
.chk-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:6px 12px;margin-bottom:8px;}
.field label.chk-opt{display:flex;flex-direction:row;align-items:center;gap:8px;margin:0;font-size:14px;font-weight:400;color:var(--ink);cursor:pointer;}
.field .chk-opt input{width:auto;flex:none;margin:0;padding:0;}

.info-i{display:inline-flex;align-items:center;justify-content:center;width:15px;height:15px;margin-left:4px;border:1px solid var(--ink-faint,#8a97a3);border-radius:50%;background:transparent;color:var(--ink-faint,#8a97a3);font-family:Georgia,serif;font-style:italic;font-weight:700;font-size:10px;line-height:1;cursor:help;padding:0;position:relative;vertical-align:middle;}
.info-i:hover,.info-i:focus{color:var(--teal,#25748A);border-color:var(--teal,#25748A);outline:none;}
.info-i::after{content:attr(data-tip);position:absolute;bottom:calc(100% + 8px);right:-30px;width:240px;padding:8px 10px;border-radius:8px;background:#1f2d3a;color:#fff;font-family:inherit;font-style:normal;font-weight:400;font-size:12px;line-height:1.4;text-align:left;white-space:normal;box-shadow:0 6px 18px rgba(0,0,0,.2);opacity:0;pointer-events:none;transition:opacity .12s;z-index:20;}
.info-i:hover::after,.info-i:focus::after{opacity:1;}

/* ---- planning menu and page */
.nav-drop{ display:inline-flex; }
.nav-drop-btn{ font:inherit; background:none; border:0; cursor:pointer; color:var(--ink-soft); font-size:14px; font-weight:600; padding:8px 12px; border-radius:6px; white-space:nowrap; }
.nav-drop-btn:hover{ background:var(--surface-2); color:var(--ink); }
.nav-drop-btn.active{ color:var(--ink); box-shadow:inset 0 -2px 0 var(--brand); border-radius:0; }
.plan-menu{ position:fixed; z-index:60; min-width:270px; max-width:calc(100vw - 16px); background:var(--surface); border:1px solid var(--line); border-radius:10px; box-shadow:0 10px 30px rgba(15,30,50,.18); padding:6px; }
.plan-menu a, .plan-menu .pm-item{ display:block; width:100%; text-align:left; background:none; border:0; font:inherit; cursor:pointer; padding:9px 12px; border-radius:8px; text-decoration:none; color:var(--ink); }
.plan-menu a:hover, .plan-menu a:focus, .plan-menu .pm-item:hover, .plan-menu .pm-item:focus{ background:var(--surface-2); outline:none; }
.plan-menu a strong, .plan-menu .pm-item strong{ display:block; font-size:14px; } .plan-menu a span, .plan-menu .pm-item span{ display:block; font-size:12.5px; color:var(--ink-soft); }
.plan-controls{ display:flex; flex-wrap:wrap; gap:12px 16px; align-items:flex-end; margin-bottom:14px; }
.plan-controls .field{ margin:0; min-width:170px; }
.plan-tools{ display:flex; gap:6px; flex-wrap:wrap; margin-left:auto; }
.plan-intro{ margin:0 0 6px; color:var(--ink-soft); font-size:13.5px; }
.plan-note{ color:var(--ink-soft); font-size:13px; }
.plan-doc .brief header h2{ font-size:24px; }
@media print{
  body.plan-printing > #app{ display:block !important; }
  body.plan-printing .app-top, body.plan-printing .demo-banner, body.plan-printing .app-head, body.plan-printing .plan-controls{ display:none !important; }
  body.plan-printing .app-main{ padding:0 !important; max-width:none !important; }
  body.plan-printing .plan-doc{ border:0 !important; box-shadow:none !important; padding:0 !important; }
}
.plan-who{ padding:9px 12px; font-weight:600; border:1px solid var(--line); border-radius:8px; background:var(--surface-2); }
.rep-view-note{ margin:0 0 14px; font-size:14px; background:var(--surface-2); }
@media (max-width:700px){ #rep-switch{ max-width:100% !important; } }

/* ---- dashboard */
.dash-kpis{ display:grid; grid-template-columns:repeat(auto-fit, minmax(170px, 1fr)); gap:12px; margin:0 0 16px; }
.dash-tile{ background:var(--surface); border:1px solid var(--line); border-radius:12px; padding:14px 16px; }
.dash-tile.warn{ border-color:#e3b9ae; background:#fdf6f3; }
.dash-label{ font-size:12px; font-weight:700; letter-spacing:.04em; text-transform:uppercase; color:var(--ink-soft); }
.dash-big{ font-size:28px; font-weight:700; margin:4px 0 2px; line-height:1.1; }
.dash-sub{ font-size:12.5px; color:var(--ink-soft); }
.dash-act-head{ display:flex; justify-content:space-between; gap:12px; align-items:flex-start; flex-wrap:wrap; }
.dash-act-head h2{ margin:0; }
.act-row{ display:grid; grid-template-columns:minmax(150px,1.2fr) minmax(150px,1.4fr) 110px auto; gap:10px 18px; align-items:center; padding:12px 0; border-top:1px solid var(--line); }
.act-name small{ display:block; color:var(--ink-soft); font-size:12.5px; margin-top:2px; }
.act-num{ font-size:22px; font-weight:700; } .act-num span{ font-size:13px; font-weight:500; color:var(--ink-soft); margin-left:4px; }
.act-num.ok{ color:#1f7a45; } .act-num.low{ color:#b03a2e; }
.act-bar{ height:8px; background:var(--surface-2); border-radius:6px; overflow:hidden; margin-top:4px; }
.act-bar span{ display:block; height:100%; background:var(--brand); border-radius:6px; } .act-bar span.ok{ background:#2e9e5b; } .act-bar span.mid{ background:#d89b2b; } .act-bar span.low{ background:#c8553d; }
.spark{ display:inline-flex; align-items:flex-end; gap:3px; height:36px; }
.spark i{ display:block; width:9px; background:#c5d0dc; border-radius:2px 2px 0 0; } .spark i.hit{ background:#7fc79d; } .spark i.now{ background:var(--brand); }
.act-log{ display:flex; gap:6px; } .act-log input{ width:78px; padding:7px 9px; }
.act-recent{ margin-top:6px; font-size:13.5px; } .act-recent ul{ margin:6px 0 0; padding-left:18px; }
.link-btn{ background:none; border:0; color:var(--brand); cursor:pointer; text-decoration:underline; font:inherit; padding:0; }
.dash-two{ display:grid; grid-template-columns:repeat(auto-fit, minmax(min(380px,100%), 1fr)); gap:16px; }
.dash-deal{ display:block; text-decoration:none; color:inherit; border:1px solid var(--line); border-radius:10px; padding:10px 12px; margin:8px 0; }
.dash-deal:hover{ border-color:var(--brand); }
.dd-top{ display:flex; flex-wrap:wrap; gap:2px 10px; align-items:baseline; } .dd-top span{ color:var(--ink-soft); font-size:13px; }
.dash-deal ul{ margin:4px 0 0; padding-left:18px; font-size:13.5px; } .dd-do{ margin-top:6px; background:var(--surface-2); border-radius:8px; padding:6px 10px; font-size:13.5px; }
.dash-steps{ list-style:none; padding:0; margin:0; } .dash-steps li{ padding:7px 0; border-top:1px solid var(--line); } .dash-steps li:first-child{ border-top:0; } .dash-steps small{ display:block; color:var(--ink-soft); }
.dash-links{ display:flex; gap:8px; flex-wrap:wrap; margin:6px 0 20px; }
.dash-back{ margin:0 0 4px; } .dash-who{ margin:0 0 12px; font-size:24px; }
.pill.ok{ background:#e3f4ea; color:#1f7a45; } .pill.mid{ background:#fbf0d8; color:#8a6112; } .pill.low{ background:#fbe6e1; color:#b03a2e; }
.dash-team td small, .dash-team th small{ display:block; font-weight:400; color:var(--ink-soft); font-size:11.5px; }
.dash-total td{ border-top:2px solid var(--line); background:var(--surface-2); }
.tg-row{ display:grid; grid-template-columns:1fr 110px 90px auto auto; gap:8px; align-items:center; margin:6px 0; }
@media (max-width:700px){ .act-row{ grid-template-columns:1fr; } .tg-row{ grid-template-columns:1fr 1fr; } .dash-big{ font-size:24px; } }

/* ---- info icon and contacts */
.info-wrap{ position:relative; display:inline-flex; vertical-align:middle; margin-left:6px; }
.info-i{ width:18px; height:18px; border-radius:50%; border:1.5px solid var(--ink-soft); background:transparent; color:var(--ink-soft); font:italic 700 11px/1 Georgia, serif; cursor:help; padding:0; display:inline-flex; align-items:center; justify-content:center; }
.info-i:hover, .info-i:focus{ border-color:var(--brand); color:var(--brand); outline:none; }
.info-tip{ position:absolute; z-index:40; left:-8px; top:24px; width:max-content; max-width:min(300px, 78vw); background:#14263a; color:#fff; padding:9px 12px; border-radius:8px; font:400 13px/1.45 inherit; font-style:normal; text-transform:none; letter-spacing:0; text-align:left; box-shadow:0 8px 24px rgba(10,20,35,.25); opacity:0; visibility:hidden; transition:opacity .12s; pointer-events:none; }
.info-wrap:hover .info-tip, .info-wrap:focus-within .info-tip{ opacity:1; visibility:visible; }
.stage-heading h2 .info-wrap{ font-size:0; } .stage-heading h2 .info-tip{ font-size:13px; font-weight:400; }
.ct-card{ border:1px solid var(--line); border-radius:10px; padding:10px 12px; margin:8px 0; }
.ct-top{ display:flex; flex-wrap:wrap; gap:4px 10px; align-items:baseline; } .ct-title{ color:var(--ink-soft); } .ct-main{ margin-left:auto; font-size:12px; color:var(--ink-soft); }
.ct-row{ font-size:13.5px; margin-top:4px; } .ct-row span{ display:inline-block; min-width:92px; color:var(--ink-soft); }
.ct-actions{ display:flex; gap:10px; margin-top:8px; align-items:center; }
.ct-form{ border:1px solid var(--brand); border-radius:10px; padding:12px; margin:8px 0; }
.node-lead{ display:flex; align-items:center; min-width:0; flex-wrap:wrap; } .ct-row span{ min-width:108px !important; }

/* ---- batch 2: dashboard tiles you can click, leads, summaries with a pencil */
.dash-tile.clickable{ cursor:pointer; transition:box-shadow .15s, transform .15s; }
.dash-tile.clickable:hover, .dash-tile.clickable:focus-visible{ box-shadow:0 2px 10px rgba(20,38,58,.14); outline:none; }
.dash-tile.is-on{ outline:2px solid var(--brand); }
.dash-go{ margin-top:6px; font-size:12px; font-weight:600; color:var(--brand); }
.dash-label .info-wrap, .act-name .info-wrap{ margin-left:5px; }
.dash-count{ display:inline-block; min-width:22px; padding:1px 7px; margin-left:6px; border-radius:999px; background:var(--brand-soft); color:var(--brand); font:600 13px/20px "Inter",sans-serif; text-align:center; vertical-align:middle; }
.dash-focus{ margin:0 0 10px; font-size:13px; color:var(--ink-soft); }
.dash-lead{ border:1px solid #e9c46a; background:#fff9ea; border-radius:10px; padding:12px 14px; margin-bottom:10px; }
.dash-lead .dd-top{ display:flex; flex-wrap:wrap; justify-content:space-between; gap:4px 12px; }
.dash-lead .dd-top span{ font-size:12.5px; color:var(--ink-soft); }
.dash-lead .dd-do{ margin:6px 0 4px; }
.dash-lead-act{ display:flex; gap:8px; flex-wrap:wrap; margin-top:8px; }
.dash-deal.is-focus{ border-color:var(--brand); box-shadow:0 0 0 1px var(--brand) inset; }
.dd-tags{ margin:4px 0 2px; display:flex; gap:6px; flex-wrap:wrap; }
.pencil{ display:inline-flex; align-items:center; justify-content:center; width:28px; height:28px; border-radius:7px; border:1px solid var(--line); background:#fff; color:var(--ink-soft); cursor:pointer; padding:0; }
.pencil:hover, .pencil:focus-visible{ color:var(--brand); border-color:var(--brand); outline:none; }
.deal-sum{ padding:14px 18px 10px; }
.deal-head{ display:flex; align-items:center; gap:10px 12px; flex-wrap:wrap; }
.deal-head-b{ margin-top:12px; padding-top:12px; border-top:1px solid var(--line); }
.deal-spacer, .ct-spacer{ flex:1; }
.deal-sub{ font-size:12.5px; color:var(--ink-faint); }
.dv-grid{ display:grid; grid-template-columns:repeat(auto-fit,minmax(150px,1fr)); gap:8px 18px; margin:10px 0 2px; }
.dv-cell span{ display:block; font-size:11.5px; text-transform:uppercase; letter-spacing:.04em; color:var(--ink-faint); }
.dv-cell b{ font-weight:600; font-size:14px; color:var(--ink); }
.dv-cell em{ font-weight:400; color:var(--ink-faint); font-style:normal; }
.deal-sum .deal-body{ padding:6px 0 4px; border-top:0; }
.deal-buyers{ margin-top:8px; }
.deal-buyers .ct-card{ padding:8px 10px; margin-bottom:6px; }
.ct-card .ct-top{ display:flex; align-items:center; gap:4px 10px; flex-wrap:wrap; }
.ct-line{ font-size:13px; color:var(--ink-soft); margin-top:3px; }
.ct-clamp{ display:-webkit-box; -webkit-line-clamp:1; -webkit-box-orient:vertical; overflow:hidden; }
.ct-chip-l{ font-size:11px; text-transform:uppercase; letter-spacing:.04em; color:var(--ink-faint); margin-right:3px; }
.ct-hint .rp-sub{ margin:2px 0 8px; }
.deal-meet{ margin-top:10px; font-size:13px; }
.deal-meet summary{ cursor:pointer; color:var(--ink-soft); }
.cur-row{ display:flex; gap:8px; align-items:center; }
.cur-row input{ flex:1 1 auto; min-width:0; }
.cur-row select{ width:auto; flex:0 0 auto; }
.cur-fixed{ font-weight:600; color:var(--ink-soft); padding:0 6px; }
.desc-static .desc-text{ margin:2px 0 4px; font-size:14px; line-height:1.5; color:var(--ink); }
.desc-static .desc-none{ color:var(--ink-faint); }
.desc-static .desc-edit{ font-size:12.5px; }
.field label .info-wrap{ margin-left:6px; }
@media (max-width:640px){ .dv-grid{ grid-template-columns:1fr 1fr; } }
#dash-att{ scroll-margin-top:130px; }
.dash-kpis{ grid-template-columns:repeat(3, 1fr); }
@media (min-width:1000px){ .dash-kpis{ grid-template-columns:repeat(6, 1fr); } .dash-tile{ padding:12px 13px; } .dash-big{ font-size:24px; } }
@media (max-width:560px){ .dash-kpis{ grid-template-columns:repeat(2, 1fr); } }
.info-tip{ display:none; }
.info-wrap:hover .info-tip, .info-wrap:focus-within .info-tip{ display:block; }
@media (max-width:640px){ .info-tip{ position:fixed; left:12px; right:12px; top:auto; bottom:16px; width:auto; max-width:none; z-index:200; } }
.fx-note{ margin:0 0 12px; padding:9px 12px; border-radius:8px; background:#fff9ea; border:1px solid #e9c46a; font-size:13px; color:var(--ink); }
.dv-fx{ display:block; font-size:12px; font-weight:400; color:var(--ink-faint); }
.cu-fx{ margin-top:4px; }

/* activity page: manager table and collapsed explanations */
.rp-sub-sm{ font-size:12.5px; margin:-6px 0 12px; }
.rp-table td .tgt-pct{ display:block !important; margin-top:2px;}
.tgt-pct{ display:block; font-size:11.5px; font-weight:600; }
.tgt-pct.good{ color:var(--good, #1d7a46); } .tgt-pct.warn{ color:var(--warn, #9a6b00); } .tgt-pct.bad{ color:var(--bad, #b3261e); }
.act-more-p{ margin:10px 0 0; font-size:13.5px; color:var(--ink-soft); max-width:70ch; }
.act-co .act-conn-top h2{ margin:0; }

.act-notes{ margin:14px 0 0; padding-left:18px; display:flex; flex-direction:column; gap:3px; }

.dash-act-btns{ display:flex; gap:8px; flex-wrap:wrap; }
.modal.modal-wide{ max-width:1000px; width:calc(100vw - 32px); max-height:90vh; overflow:auto; }
.vf-head{ display:flex; justify-content:space-between; align-items:center; gap:12px; margin-bottom:8px; }
.vf-head h2{ margin:0; }
.vf-modal .panel{ border:0; box-shadow:none; padding:0; }

/* deal stage sits inside the deal panel, quietly */
.deal-stage{ margin-top:10px; padding-top:10px; border-top:1px solid var(--line); }
.stg-row-c{ display:flex; align-items:baseline; gap:10px; flex-wrap:wrap; font-size:14px; }
.stg-row-c .dv-l{ font-size:12px; text-transform:uppercase; letter-spacing:.04em; color:var(--ink-faint); }
.stg-row-c .stg-line{ margin:0; font-size:13px; color:var(--ink-soft); }
.stg-row-c .link-btn{ margin-left:auto; font-size:13px; }
.deal-stage .stg-spin{ margin-top:8px; }

/* the three sections of a plan: The Deal, Buyers, Plan. Same look for each. */
.plan-sec{ padding:0 !important; margin:0 0 18px !important; border:1px solid var(--line-strong, var(--line)); border-radius:12px; overflow:hidden; background:#fff; }
.plan-sec > .deal-head{ background:var(--surface-2, #f3f5f2); border-bottom:1px solid var(--line); border-left:5px solid var(--brand); padding:12px 18px !important; margin:0 !important; border-top:0 !important; }
.plan-sec > .deal-head .deal-title, .plan-sec-plan > .deal-head .deal-title{ font-size:19px; letter-spacing:-.01em; margin:0; }
.plan-sec > :not(.deal-head){ margin-left:18px; margin-right:18px; }
.plan-sec > .deal-view, .plan-sec > .deal-body, .plan-sec > .deal-buyers{ margin-top:12px; }
.plan-sec > :last-child{ margin-bottom:16px; }
.plan-sec-plan .progress-row{ margin:14px 18px 16px; }
.plan-sec-plan{ padding-bottom:0 !important; }
#asg-strip{ margin-bottom:14px; }
.asg-line [data-reasg]{ margin:0 10px 0 6px; }

.dash-steps .ds-top{ display:flex; justify-content:space-between; align-items:baseline; gap:12px; }
.dash-steps .ds-deal{ font-family:"Poppins",sans-serif; font-size:18px; font-weight:600; color:var(--ink); }
.dash-steps .ds-due{ font-size:13px; color:var(--ink-faint); white-space:nowrap; }
.dash-steps a.ds-step{ display:block; margin-top:2px; font-size:13px; }

/* buyer affinity slider */
.chk-other[hidden]{display:none;}
.aff-field input.c-aff{-webkit-appearance:none;appearance:none;width:100%;height:10px;border-radius:999px;border:0;padding:0;margin:10px 0 4px;background:linear-gradient(90deg,#8b0000 0%,#d9534f 25%,#bebebe 50%,#7bc67b 75%,#1e8e3e 100%);cursor:pointer;}
.aff-field input.c-aff::-webkit-slider-thumb{-webkit-appearance:none;width:26px;height:26px;border-radius:50%;background:var(--aff,#bebebe);border:3px solid #fff;box-shadow:0 1px 4px rgba(0,0,0,.45);}
.aff-field input.c-aff::-moz-range-thumb{width:20px;height:20px;border-radius:50%;background:var(--aff,#bebebe);border:3px solid #fff;box-shadow:0 1px 4px rgba(0,0,0,.45);}
.aff-field input.c-aff:focus-visible{outline:2px solid var(--brand,#25748A);outline-offset:6px;}
.aff-scale{display:flex;justify-content:space-between;font-size:12px;color:var(--ink-soft);}
.aff-now{font-weight:700;font-size:13px;margin-top:2px;}
.aff-mini{display:inline-block;position:relative;width:90px;height:6px;border-radius:999px;vertical-align:middle;background:linear-gradient(90deg,#8b0000,#d9534f 25%,#bebebe 50%,#7bc67b 75%,#1e8e3e);}
.aff-mini i{position:absolute;top:50%;width:12px;height:12px;border-radius:50%;border:2px solid #fff;box-shadow:0 0 0 1px rgba(0,0,0,.3);transform:translate(-50%,-50%);}
.ct-clamp-i{color:var(--ink-soft);}

.aff-field{margin-top:12px;}
#precall-btn{margin-right:2px;}

/* products */
.prod-list{display:grid;gap:8px;}
.prod-opt{display:flex;gap:10px;align-items:flex-start;padding:10px 12px;border:1px solid var(--line,#d5dde3);border-radius:10px;cursor:pointer;background:#fff;}
.prod-opt:has(input:checked){border-color:var(--brand,#25748A);background:#f2f9fb;}
.prod-opt input{margin-top:3px;}
.prod-opt span{display:flex;flex-direction:column;gap:2px;}
.prod-opt small{color:var(--ink-soft);font-size:12.5px;line-height:1.35;}
.dv-prods{margin-top:12px;display:grid;gap:6px;}
.dv-pl{font-size:11px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--ink-soft);}
.dv-prod{display:flex;gap:8px;align-items:baseline;flex-wrap:wrap;}
.dv-prod small{color:var(--ink-soft);font-size:12.5px;flex:1 1 260px;}
.pp-card{border:1px solid var(--line,#d5dde3);border-radius:10px;margin-bottom:8px;background:#fff;}
.pp-card>summary{padding:10px 14px;cursor:pointer;display:flex;flex-direction:column;gap:2px;}
.pp-card>summary small{color:var(--ink-soft);font-size:12.5px;}
.pp-body{padding:4px 14px 14px;}
.pp-body textarea{min-height:70px;}
.pp-kind{border:1px solid var(--line,#d5dde3);border-radius:8px;margin:6px 0;padding:6px 10px;}
.pp-kind>summary{cursor:pointer;font-weight:600;font-size:14px;}
.pp-stage h4{margin:10px 0 2px;font-size:12px;text-transform:uppercase;letter-spacing:.05em;color:var(--ink-soft);}
.pp-actions{display:flex;gap:12px;align-items:center;margin-top:8px;}
.prod-opt{display:flex;align-items:center;justify-content:space-between;gap:12px;cursor:default;}
.prod-opt .prod-nm{display:flex;align-items:center;gap:10px;cursor:pointer;flex:1;}
.prod-opt input.prod-val{width:140px;flex:none;text-align:right;}
.prod-opt input.prod-val:disabled{opacity:.45;}
.prod-total{display:flex;justify-content:space-between;margin-top:10px;padding:10px 12px;border-radius:10px;background:#f2f9fb;font-size:14px;}
.prod-total b{font-size:16px;}
.pp-simple{list-style:none;margin:0;padding:0;}
.pp-simple li{display:flex;justify-content:space-between;align-items:center;padding:9px 2px;border-bottom:1px solid var(--line,#e3e9ee);}
.dv-prod b{font-size:13px;}
@media (max-width:560px){.prod-opt{flex-wrap:wrap}.prod-opt input.prod-val{width:100%}}

.th-sort{ background:none; border:0; padding:0; font:inherit; color:inherit; text-transform:inherit; letter-spacing:inherit; cursor:pointer; white-space:nowrap; } .th-sort span{ font-size:11px; opacity:.55; } .th-sort.on span{ opacity:1; }

.vel-parts{ font-size:11.5px; color:var(--ink-soft); line-height:1.5; } .age-line{ cursor:pointer; } .age-line:hover{ text-decoration:underline; } .age-line.is-on{ font-weight:700; }

.dash-team td:first-child{ white-space:nowrap; }

.act-ol{font-size:12px;font-weight:600;color:var(--ink-soft);border:1px solid var(--line,#d8dee6);border-radius:999px;padding:4px 10px;white-space:nowrap;align-self:center}
.act-add{margin-left:8px;padding:2px 10px;font-size:12px;line-height:1.4;min-height:0;vertical-align:middle}
.act-slide{width:100%;margin:0;accent-color:var(--navy,#1f4e6b);height:20px;cursor:pointer}
/* products on a plan: compact, left-aligned rows */
.prod-field .prod-list{display:grid;grid-template-columns:max-content max-content;gap:6px 14px;justify-content:start;align-items:center;margin:4px 0 8px;}
.prod-field .prod-opt{display:contents;}
.prod-field .prod-opt .prod-nm{display:flex;flex-direction:row;align-items:center;justify-content:flex-start;gap:8px;margin:0;flex:none;text-align:left;font-size:14px;font-weight:400;}
.prod-field .prod-opt .prod-nm input{width:auto;flex:none;margin:0;padding:0;}
.prod-field .prod-opt .prod-nm b{font-weight:500;}
.prod-field .prod-opt input.prod-val{width:120px;min-height:0;height:32px;padding:4px 10px;font-size:14px;text-align:left;}
.prod-field .prod-total{max-width:340px;padding:7px 12px;}
@media (max-width:560px){.prod-field .prod-opt input.prod-val{width:110px}}
.prod-field{margin-top:16px;}
.prod-field .chk-set legend{margin-bottom:8px;}

.cs-row{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:6px}
.cs-chip{position:relative;display:inline-flex;margin:0}
.field .cs-chip input{position:absolute;opacity:0;width:0;height:0;margin:0}
.cs-chip span{display:inline-block;padding:5px 12px;border:1px solid var(--line,#cfd8df);border-radius:999px;font-size:13px;font-weight:500;color:var(--ink);background:#fff;cursor:pointer;user-select:none}
.cs-chip input:checked+span{background:var(--navy,#1f4e6b);border-color:var(--navy,#1f4e6b);color:#fff}
.cs-chip input:disabled+span{opacity:.4;cursor:not-allowed}
.cs-chip input:focus-visible+span{outline:2px solid var(--teal,#3a8fa8);outline-offset:2px}
.cs-set legend small{font-weight:400;color:var(--ink-faint,#7a8b97)}
.cs-other{margin-top:4px;max-width:360px}
.ct-more{margin:6px 0 10px}.ct-more summary{cursor:pointer;font-size:13px;font-weight:600;color:var(--ink-soft)}
.ct-more textarea{margin-top:6px;min-height:70px}
.ct-cov{border:1px solid var(--line,#d5dde3);border-radius:10px;padding:8px 12px;margin:8px 0;font-size:13.5px}
.ct-cov ul{margin:6px 0 0;padding-left:18px}.ct-cov li{margin:2px 0}

.lib-stage .lib-items{display:grid;grid-template-columns:1fr 1fr;gap:8px 28px}
@media (max-width:760px){.lib-stage .lib-items{grid-template-columns:1fr}}
.new-wrap{display:inline-flex}

.lib-tabs{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 14px}
.lib-tab{border:1px solid var(--line,#cfd8df);background:#fff;border-radius:999px;padding:6px 14px;font-size:13px;font-weight:600;color:var(--ink);cursor:pointer}
.lib-tab.on{background:var(--navy,#1f4e6b);border-color:var(--navy,#1f4e6b);color:#fff}
.lib-more{grid-column:1/-1;margin-top:6px}.lib-more>summary{cursor:pointer;font-size:13px;font-weight:600;color:var(--ink-soft)}.lib-more .lib-items{margin-top:8px;padding:0}
.inv-row{ grid-template-columns:1fr 130px 190px; }
.inv-row .inv-ramp[hidden]{ display:none; }
.inv-row.inv-nr{ grid-template-columns:1fr 130px; }
@media (max-width:700px){ .inv-row, .inv-row.inv-nr{ grid-template-columns:1fr; } }
.ramp-banner .ramp-top{ display:flex; justify-content:space-between; gap:14px; align-items:flex-start; flex-wrap:wrap; }
.ramp-banner h2{ margin:2px 0 2px; }

.enable-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px;margin:0 0 22px;}
.enable-card{display:flex;flex-direction:column;gap:6px;text-align:left;background:var(--panel,#fff);border:1px solid var(--line,#d9e2e8);border-radius:12px;padding:16px 18px;color:inherit;text-decoration:none;font:inherit;cursor:pointer;}
.enable-card:hover,.enable-card:focus-visible{border-color:var(--teal,#25748a);box-shadow:0 2px 10px rgba(14,42,58,.08);}
.enable-card strong{font-size:17px;color:var(--ink,#0e2a3a);}
.enable-card span{font-size:14px;color:var(--ink-soft,#5a6b78);line-height:1.4;}
.enable-h2{font-size:19px;margin:6px 0 10px;}

/* build 2026-10-13b */
.en-autopsy{ border-top:1px solid var(--line); padding:14px 0 4px; } .en-autopsy:first-of-type{ border-top:0; }
.en-autopsy h3{ margin:0 0 4px; } .en-next{ margin:8px 0 6px; padding:10px 12px; border-radius:10px; background:var(--surface-2); font-size:14px; }
.wl-col{display:flex;flex-direction:column;gap:8px}
.wl-row{display:grid;grid-template-columns:minmax(120px,1.2fr) 3fr 90px;gap:10px;align-items:center;font-size:14px}
.wl-lab small{display:block;color:#6b7280;font-size:12px}
.wl-bar{height:14px;background:#eef0f3;border-radius:7px;overflow:hidden}
.wl-bar i{display:block;height:100%;border-radius:7px}
.wl-bar i.good{background:#2e9e6a}.wl-bar i.warn{background:#e0a530}.wl-bar i.bad{background:#d65b5b}.wl-bar i.none{background:#c5cad3}
.wl-val{text-align:right;font-weight:600}
@media(max-width:600px){.wl-row{grid-template-columns:1fr 2fr 70px}}

.tg-row.tg-rep{ grid-template-columns:1fr 110px auto auto; }
.tgt-own{ display:block; color:var(--ink-faint); }

/* ---------------------------------------------------------------- Target Outlook */
.ol-band{ display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:12px 18px; background:#e6f1f3; border:1px solid #c6dde2; border-left:4px solid var(--brand); border-radius:12px; padding:16px 18px; margin:0 0 30px; min-width:0; }
.ol-band .btn-outline{ background:#fff; }
.ol-band-main{ flex:1 1 520px; min-width:0; }
.ol-band-main p{ margin:4px 0 0; font-size:14px; color:var(--ink-soft); }
.ol-band-top{ display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:8px 12px; }
.ol-band-nums{ display:flex; flex-wrap:wrap; gap:10px 28px; margin-top:8px; }
.ol-n{ display:flex; flex-direction:column; min-width:0; }
.ol-n small{ font-size:12.5px; color:var(--ink-soft); }
.ol-big{ font-size:30px; font-weight:700; line-height:1.1; }
.ol-mid{ font-size:20px; font-weight:700; line-height:1.3; }
.ol-big.ok{ color:#1f7a45; } .ol-big.mid{ color:#8a6112; } .ol-big.low{ color:#b03a2e; }
.ol-open{ flex:0 0 auto; }
.ol-teaser{ border-left-color:var(--line-strong); }
.ol-toggle{ display:inline-flex; flex-wrap:wrap; border:1px solid var(--line-strong); border-radius:8px; overflow:hidden; }
.ol-toggle button{ font-family:inherit; font-weight:600; font-size:12.5px; line-height:1; padding:7px 10px; border:0; background:var(--surface); color:var(--ink-soft); cursor:pointer; }
.ol-toggle button + button{ border-left:1px solid var(--line-strong); }
.ol-toggle button.on{ background:var(--brand); color:#fff; }
.ol-trend{ display:inline-block; font-size:11.5px; font-weight:700; margin-left:4px; white-space:nowrap; }
.ol-trend.up{ color:#1f7a45; } .ol-trend.down{ color:#b03a2e; } .ol-trend.flat{ color:var(--ink-faint); font-weight:600; }
.ol-pagebar{ display:flex; flex-wrap:wrap; justify-content:space-between; align-items:center; gap:10px; margin:0 0 14px; }
.ol-team-head{ display:flex; flex-wrap:wrap; align-items:baseline; gap:4px 12px; } .ol-team-head h2{ margin:0; } .ol-team-head small{ color:var(--ink-soft); }
.ol-warn{ margin:12px 0 0; font-size:13.5px; background:#fdf6e3; border:1px solid #e3c27a; color:#6d4e0b; border-radius:8px; padding:8px 11px; }
.ol-reps{ display:flex; flex-direction:column; gap:8px; }
.ol-rep{ border:1px solid var(--line); border-radius:10px; }
.ol-rep > summary{ display:grid; grid-template-columns:minmax(0,2fr) minmax(0,1.2fr) minmax(0,1.6fr) minmax(0,1fr); gap:6px 14px; align-items:center; padding:10px 14px; cursor:pointer; list-style:none; }
.ol-rep > summary::-webkit-details-marker{ display:none; }
.ol-rep[open] > summary{ border-bottom:1px solid var(--line); background:var(--surface-2); border-radius:10px 10px 0 0; }
.ol-rn, .ol-rv{ display:flex; flex-direction:column; min-width:0; } .ol-rn small, .ol-rv small{ font-size:12px; color:var(--ink-soft); }
.ol-rc .pill{ font-size:14px; font-weight:700; }
.ol-rep-body{ padding:10px 14px 14px; } .ol-rep-body h4{ margin:12px 0 4px; font-size:13.5px; }
.ol-swings, .ol-deals{ margin:0; padding-left:18px; font-size:13.5px; } .ol-swings li, .ol-deals li{ margin:6px 0; }
.ol-swings em, .ol-deals em{ font-style:normal; color:var(--ink-soft); }
.ol-deals li{ display:flex; flex-wrap:wrap; justify-content:space-between; gap:2px 12px; }
.ol-why{ display:block; flex-basis:100%; color:var(--ink-soft); font-size:12px; }
.ol-how{ font-size:13.5px; color:var(--ink-soft); } .ol-stages{ max-width:520px; }
.ol-mh{ font-size:14px; margin:14px 0 6px; } .ol-tg-list{ display:grid; grid-template-columns:repeat(auto-fill, minmax(min(200px,100%), 1fr)); gap:4px 12px; max-height:46vh; overflow:auto; }
@media (max-width:640px){
  .ol-rep > summary{ grid-template-columns:minmax(0,1fr) auto; }
  .ol-rep > summary .ol-rv{ grid-column:span 1; }
  .ol-band-nums{ display:grid; grid-template-columns:1fr 1fr; gap:10px 16px; } .ol-big{ font-size:26px; } .ol-mid{ font-size:18px; }
}
.ol-rep{ position:relative; } .ol-rep > summary{ padding-right:36px; }
.ol-rep > summary::after{ content:"\25BE"; position:absolute; right:14px; top:14px; color:var(--ink-faint); font-size:14px; transition:transform .15s; }
.ol-rep[open] > summary::after{ transform:rotate(180deg); }

.gs{ margin:0 0 26px; } .gs-head{ display:flex; flex-wrap:wrap; justify-content:space-between; align-items:flex-start; gap:10px 16px; margin-bottom:12px; } .gs-head h2{ margin:0 0 4px; } .gs-head p{ margin:0; color:var(--ink-soft); font-size:14px; }
.gs-actions{ display:flex; align-items:center; gap:14px; }
.gs-grid{ list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(auto-fill,minmax(300px,1fr)); gap:10px; }
.gs-grid li{ display:grid; grid-template-columns:28px 1fr; gap:6px 12px; align-items:start; border:1px solid var(--line); border-radius:10px; padding:12px 14px; background:var(--surface); min-width:0; }
.gs-grid li.done{ background:#f3f8f5; } .gs-grid li.done .gs-t strong{ text-decoration:line-through; color:var(--ink-soft); }
.gs-n{ width:28px; height:28px; border-radius:50%; border:1.5px solid var(--brand); background:#fff; color:var(--brand); font-weight:600; font-size:13px; font-family:inherit; cursor:pointer; padding:0; line-height:1; }
.gs-grid li.done .gs-n{ background:var(--brand); color:#fff; }
.gs-t{ min-width:0; } .gs-t strong{ display:block; font-size:14.5px; line-height:28px; } .gs-t p{ margin:0; font-size:13px; color:var(--ink-soft); line-height:1.4; }
.gs-grid li .btn{ grid-column:2; justify-self:start; margin-top:4px; }
.gs-min{ margin:-6px 0 14px; font-size:13px; }
@media (max-width:560px){ .gs-grid{ grid-template-columns:1fr; } }

.imp-miss{ margin:12px 0; padding:10px 14px; border:1px solid var(--line); border-radius:10px; background:#f4f8fa; font-size:13.5px; }
.imp-miss.warn{ background:#fff7e6; border-color:#f0d9a6; } .imp-miss.good{ background:#f1f8f4; border-color:#cfe5d7; }
.imp-miss ul{ margin:6px 0 0; padding-left:18px; } .imp-miss li{ margin:0 0 4px; line-height:1.4; } .imp-miss li.info{ color:var(--ink-soft); }

.imp-wait{ border-color:var(--brand, var(--line)); margin:12px 0; }
.imp-wait-row{ display:flex; gap:10px; align-items:center; flex-wrap:wrap; padding:8px 0; border-bottom:1px solid var(--line); }
.imp-wait-row > div{ flex:1 1 180px; min-width:0; } .imp-wait-row select{ flex:1 1 200px; max-width:260px; }

.plan-kind:empty, .bz-small:empty{ display:none; }
.wiz-list{ margin:16px 0 0; padding-left:20px; line-height:1.55; } .wiz-list li{ margin-bottom:8px; }
.wiz-actions{ margin-top:20px; }

/* ---- activity log on a plan */
.plan-actions{ display:flex; gap:10px; flex-wrap:wrap; margin:0 0 10px; }
.plan-actions .add-toggle{ border:1px solid var(--line-strong); background:var(--surface); color:var(--brand, var(--ink)); font-weight:600; font-size:13px; padding:8px 14px; border-radius:8px; cursor:pointer; }
.plan-actions .add-toggle:hover{ background:var(--surface-2); }
.plan-actions + .add-node{ margin:0; }
.plan-sec-log{ margin:0 0 6px; }
.plan-sec-log .log-form{ margin:0 0 14px; padding:12px 16px; border:1px solid var(--line); border-radius:10px; background:var(--surface); }
.log-orph{ margin:0 0 14px; padding:8px 14px; border:1px solid var(--line); border-radius:10px; background:var(--surface); font-size:13.5px; }
.log-orph summary{ cursor:pointer; color:var(--ink-soft); }
.node-log{ margin:8px 0 2px; padding:6px 10px; border-left:3px solid #f0d9a8; background:#fffaf0; border-radius:0 8px 8px 0; font-size:13.5px; }
.nl-head{ font-size:12px; font-weight:700; color:var(--ink-soft); text-transform:uppercase; letter-spacing:.03em; margin-bottom:2px; } .nl-head span{ font-weight:600; margin-left:4px; }
.node-log .log-row{ padding:4px 0; font-size:13.5px; } .node-log .log-row:first-of-type{ border-top:0; }
.log-top{ display:flex; gap:10px; align-items:baseline; flex-wrap:wrap; }
.log-title{ font-size:14px; }
.log-sum{ font-size:13px; color:var(--ink-soft); }
.plan-sec-log .log-help{ margin:10px 0 8px; font-size:13px; color:var(--ink-soft); }
.log-grid{ display:grid; grid-template-columns:110px minmax(180px, 1.1fr) 150px minmax(200px, 2fr) auto; gap:10px; align-items:end; margin-bottom:4px; }
.lf{ display:flex; flex-direction:column; gap:4px; min-width:0; } .lf span{ font-size:12px; color:var(--ink-soft); font-weight:600; }
.lf select, .lf input{ width:100%; min-width:0; text-overflow:ellipsis; }
.lf-go .btn{ white-space:nowrap; }
.plan-sec-log .log-msg{ font-size:13px; color:var(--bad, #b3261e); }
.plan-sec-log .log-list{ margin:4px 0 0; }
.log-row{ display:flex; gap:10px; align-items:baseline; padding:6px 0; border-top:1px solid var(--line); font-size:14px; flex-wrap:wrap; }
.log-kind{ font-size:12px; font-weight:700; padding:2px 8px; border-radius:99px; background:var(--surface-2, #f3f5f2); color:var(--ink-soft); flex:0 0 auto; }
.log-date{ color:var(--ink-faint); font-size:13px; flex:0 0 auto; }
.log-text{ flex:1 1 220px; min-width:0; overflow-wrap:anywhere; }
.log-by{ color:var(--ink-faint); font-size:12.5px; margin-left:4px; }
.log-x{ color:var(--ink-faint); font-size:12.5px; }
.log-step{ font-size:12px; color:var(--ink-soft); background:var(--surface-2, #f3f5f2); padding:1px 7px; border-radius:99px; white-space:nowrap; }
.log-stall{ margin:8px 0 2px; padding:7px 12px; border-radius:8px; background:#fff6e5; border:1px solid #f0d9a8; font-size:13.5px; }
.log-stall summary{ cursor:pointer; } .log-more{ text-decoration:underline; margin-left:4px; }
.log-stall ul{ margin:6px 0 2px 18px; padding:0; } .log-stall li{ margin:3px 0; }
@media (max-width:860px){ .log-grid{ grid-template-columns:1fr 1fr; } .lf-body{ grid-column:1 / -1; } .lf-step{ grid-column:1 / -1; } }

.ds-doc{margin-bottom:14px;}
.ds-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:10px;}
.ds-head h2{margin:0 0 2px;}
.ds-head p{margin:0;}
.ds-save{display:flex;align-items:center;gap:12px;margin:6px 0 24px;}
@media (max-width:560px){.ds-head{flex-direction:column;}}
.bd-meet{ margin:6px 0 0; }
.sm-rows{margin:10px 0;border-top:1px solid var(--line,#dbe5ec)}
.sm-row{display:grid;grid-template-columns:1fr minmax(170px,260px);gap:12px;align-items:center;padding:9px 0;border-bottom:1px solid var(--line,#dbe5ec)}
.sm-std small{display:block;color:var(--ink-soft,#48617a);font-size:12.5px;margin-top:2px}
.sm-sel{width:100%}
@media (max-width:640px){.sm-row{grid-template-columns:1fr}}
.stg-map{margin-bottom:26px;padding-bottom:6px;border-bottom:1px solid var(--line,#dbe5ec)}

/* CRM insights */
.ci-facts{margin:8px 0 0;padding-left:20px;font-size:14px;line-height:1.6;color:var(--ink);}
.ci-rec{display:flex;gap:10px;align-items:flex-start;padding:10px 12px;border:1px solid var(--line);border-radius:10px;margin:8px 0;cursor:pointer;}
.ci-rec input[type=checkbox]{margin:4px 0 0;flex:none;width:auto;min-width:0;padding:0;}
.ci-rec > span{flex:1;min-width:0;display:block;}
.ci-rec small{display:block;color:var(--ink-soft);font-size:13px;line-height:1.5;margin-top:3px;}
.ci-light{font-style:normal;font-size:12px;color:var(--ink-soft);border:1px solid var(--line);border-radius:999px;padding:1px 8px;margin-left:6px;}
.ci-det{margin:6px 0;font-size:14px;}
.ci-det summary{cursor:pointer;}

/* Communication Resources */
.cm-logo{display:flex;gap:12px;align-items:center;margin:4px 0 14px;flex-wrap:wrap;}
.cm-logo img{max-height:44px;max-width:180px;display:block;}
.cm-docs{display:grid;gap:18px;margin-top:16px;}
.cm-doc{display:grid;grid-template-columns:200px 1fr;gap:18px;align-items:start;border:1px solid var(--line);border-radius:12px;padding:14px;}
.cm-doc h3{margin:0 0 4px;font-size:17px;}
.cm-prev{display:block;border:1px solid var(--line);border-radius:8px;overflow:hidden;background:#fff;}
.cm-prev img{display:block;width:100%;height:auto;}
#ws-comms h3{margin:22px 0 4px;font-size:18px;}
.cm-card{border:1px solid var(--line);border-radius:12px;padding:12px 14px;margin:0 0 10px;}
.cm-card h4{margin:0 0 2px;font-size:16px;}
.cm-card .stg-actions{flex-wrap:wrap;}
.cm-pv{border:1px solid var(--line);border-radius:8px;padding:14px;background:#fff;color:#1a2b36;margin-top:10px;overflow:auto;max-height:460px;}
@media (max-width:640px){.cm-doc{grid-template-columns:1fr;}.cm-prev{max-width:240px;}}

.pl-explain{background:var(--paper-2,#f4f7f9);border:1px solid var(--line);border-radius:12px;padding:12px 16px;margin:0 0 14px;}
.pl-explain p{margin:0 0 8px;font-size:14px;}
.pl-prod, .pl-ramp{padding:0;margin:0 0 10px;}
.pl-prod>summary, .pl-ramp>summary{cursor:pointer;padding:12px 16px;font-size:16px;list-style:none;display:flex;gap:10px;align-items:baseline;flex-wrap:wrap;}
.pl-prod>summary::-webkit-details-marker, .pl-ramp>summary::-webkit-details-marker{display:none;}
.pl-prod>summary::before, .pl-ramp>summary::before{content:"\25B8";color:var(--ink-faint);}
.pl-prod[open]>summary::before, .pl-ramp[open]>summary::before{content:"\25BE";}
.pl-in{padding:0 16px 14px;}
.pl-tools{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin:12px 0;}
.pl-q{flex:1;min-width:220px;}
.wiz-how{margin:8px 0 0;padding-left:20px;font-size:14px;}
.wiz-how li{margin:0 0 5px;}
.wiz-howbox{background:var(--paper-2,#f4f7f9);border:1px solid var(--line);border-radius:12px;padding:12px 16px;margin:14px 0 0;font-size:14px;}
.rp-scope{ display:inline-flex; align-items:center; font-size:13.5px; font-weight:600; color:var(--ink-soft); padding:9px 14px; border:1px dashed var(--line-strong); border-radius:9px; align-self:flex-end; }

/* Meeting format */
.mf-bar{ display:flex; height:26px; border-radius:6px; overflow:hidden; margin:10px 0 6px; background:var(--line, #e1e4dd); }
.mf-seg{ display:flex; align-items:center; justify-content:center; font-size:12px; font-weight:600; color:#fff; min-width:2px; }
.mf-in_person{ background:#2f6f4f; } .mf-virtual{ background:#3b6ea5; } .mf-phone{ background:#b07a2a; } .mf-unknown{ background:#8a8f87; }
.mf-legend{ display:flex; flex-wrap:wrap; gap:6px 16px; font-size:13px; margin-bottom:14px; }
.mf-dot{ display:inline-block; width:10px; height:10px; border-radius:2px; margin-right:5px; }
.mf-same{ margin:12px 0 6px; } .mf-lines{ margin:6px 0 10px; padding-left:20px; } .mf-lines li{ margin:4px 0; }
.pill.mf-tag{ background:var(--line, #e1e4dd); color:inherit; }
.pl-prod > summary{ position:relative; padding-right:110px; }
.pl-prod > summary .pl-rm{ position:absolute; right:14px; top:50%; transform:translateY(-50%); float:none !important; }

.dc-tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:12px;}
.dc-tile{border:1px solid var(--line);border-radius:12px;padding:16px;background:var(--surface);display:flex;flex-direction:column;min-width:0;}
.dc-tile .dc-h{margin:0 0 6px;font-size:16px;}
.dc-tile .hint{font-size:14px;margin:0 0 4px;flex:1;}
.dc-tile .stg-actions{margin:10px 0 0;}
@media (max-width:900px){ .dc-tiles{grid-template-columns:1fr;} }

.sf-sub{margin:10px 0 4px;font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-soft);}
.rp-snap h2{margin:0 0 4px;}
.rp-snap section.panel,.rp-snap .panel{box-shadow:none;border:0;padding:0;margin:12px 0;}

details.ds-doc > summary{cursor:pointer;list-style:none;display:flex;align-items:center;gap:10px;padding:2px 0;font-size:16px;}
details.ds-doc > summary::-webkit-details-marker{display:none;}
details.ds-doc > summary::before{content:"\25B8";color:var(--ink-soft);font-size:14px;transition:transform .15s;}
details.ds-doc[open] > summary::before{transform:rotate(90deg);}
details.ds-doc .ds-head{margin-top:10px;}

/* Where deals sit */
.sit-tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:12px;margin:14px 0;}
.sit-tile{border:1px solid var(--line);border-radius:12px;padding:12px 14px;background:var(--surface);}
.sit-tile b{display:block;font-size:26px;line-height:1.1;color:var(--ink);}
.sit-tile span{font-size:13px;color:var(--ink-soft);}
.sit-tile.warn{border-color:#e7c27a;background:#fff8e8;}
.sit-stages{display:flex;flex-direction:column;gap:8px;margin:10px 0 18px;}
.sit-row{display:grid;grid-template-columns:minmax(120px,190px) minmax(140px,1fr) auto;gap:14px;align-items:center;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:var(--surface);}
.sit-row.sit-final{grid-template-columns:1fr;background:transparent;border-style:dashed;}
.sit-name{font-weight:600;font-size:14px;}
.sit-bar{position:relative;height:26px;border-radius:8px;background:var(--bg,#eef3f7);overflow:hidden;}
.sit-bar i{position:absolute;left:0;top:0;bottom:0;border-radius:8px;background:linear-gradient(90deg,var(--accent,#1f6f8b),var(--accent-2,#4aa3c0));}
.sit-bar b{position:relative;z-index:1;display:block;line-height:26px;padding-left:10px;font-size:13px;color:#fff;text-shadow:0 0 3px rgba(0,0,0,.35);}
.sit-facts{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end;}
.sit-chip{display:inline-block;font-size:12px;padding:3px 9px;border-radius:999px;background:var(--bg,#eef3f7);color:var(--ink-soft);white-space:nowrap;}
.sit-chip b{color:var(--ink);}
.sit-chip.good{background:#e3f4ea;} .sit-chip.warn{background:#fff1d6;} .sit-chip.bad{background:#fde4e1;}
.sit-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:12px;margin:10px 0 16px;}
.sit-card{border:1px solid var(--line);border-radius:12px;padding:12px 14px;background:var(--surface);display:flex;flex-wrap:wrap;gap:6px;align-content:flex-start;}
.sit-card-top{width:100%;font-weight:600;} .sit-card-top small{display:block;font-weight:400;color:var(--ink-soft);}
.sit-card-sub{width:100%;font-size:13px;color:var(--ink-soft);margin-bottom:2px;}
@media (max-width:760px){ .sit-row{grid-template-columns:1fr;} .sit-facts{justify-content:flex-start;} }

.sit-list{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:10px;overflow:hidden;margin:8px 0 12px;background:var(--surface);}
.sit-li{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:7px 12px;border-top:1px solid var(--line);font-size:14px;}
.sit-li:first-child{border-top:0;}
.sit-li-main{min-width:0;display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;}
.sit-li-main small{color:var(--ink-soft);font-size:12.5px;}
.sit-more{margin:-4px 0 12px;font-size:13px;} .sit-more summary{cursor:pointer;color:var(--accent,#1f6f8b);padding:4px 0;}
@media (max-width:640px){ .sit-li{flex-direction:column;align-items:flex-start;} }

.en-filter{display:flex;align-items:center;gap:10px;margin:6px 0 14px;flex-wrap:wrap}
.en-filter label{font-size:13px;font-weight:600;color:var(--ink-soft)}
.en-filter select{min-width:240px;max-width:100%}
.en-filter select{width:auto;flex:0 1 340px}
.en-filter label{margin:0;display:inline}

.lib-item.locked{opacity:.7;background:var(--surface-2);cursor:not-allowed}
.lib-item.locked input{cursor:not-allowed}
.lib-req{font-style:normal;font-size:11px;font-weight:600;color:var(--ink-soft);background:var(--surface);border:1px solid var(--line,#d5dde3);border-radius:999px;padding:1px 8px;margin-left:6px}
.lib-sub{margin:10px 0 4px;font-size:12px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-soft)}
.lib-sub{grid-column:1/-1}
.draft-row.locked{opacity:.75;background:var(--surface-2)}
.draft-row.locked input{cursor:not-allowed}

.br-nudge{background:#fff6e5;border:1px solid #f0d9a8;border-radius:10px;padding:10px 14px;margin:0 0 12px;font-size:14px}
.br-panel td small{color:var(--ink-soft)}
.br-body{padding:14px 20px 16px}

.br-docs{margin-top:18px;border-top:1px solid var(--line);padding-top:12px}
.br-docs-h{display:flex;align-items:center;justify-content:space-between;gap:10px}.br-docs-h h3{margin:0}
.doc-row{display:flex;gap:12px;justify-content:space-between;align-items:flex-start;padding:10px 0;border-bottom:1px solid var(--line)}
.doc-main{min-width:0}.doc-stat{font-size:14px;color:var(--ink-soft);margin-top:2px}.doc-acts{display:flex;gap:6px;flex-wrap:wrap;flex:none}
.doc-url{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:13px;word-break:break-all;background:var(--surface-2);padding:8px 10px;border-radius:8px;margin-top:6px}
.doc-prev{border:1px solid var(--line);border-radius:10px;overflow:hidden;margin:10px 0}.doc-prev-h{display:flex;align-items:center;gap:12px;padding:10px 14px;border-bottom:3px solid var(--accent,#14425a);background:#fff}.doc-prev-h img{max-height:30px}.doc-prev-h span{margin-left:auto;color:var(--ink-soft);font-size:14px}
.doc-prev-b{height:180px;display:flex;align-items:center;justify-content:center;background:var(--surface-2);color:var(--ink-faint)}.doc-prev-f{padding:8px 14px;font-size:12px;color:var(--ink-soft);background:#fff}
.br-docs-rep{margin-top:18px}
/* Buyer Momentum: places, per-contact links, hot documents */
.pill.hot{ background:#fde9dc; color:#9c3b08; border:1px solid #f0b48f; }
.chk{ display:block; margin:6px 0; font-weight:400; cursor:pointer; } .chk input{ margin-right:6px; }
.sd-people{ margin:6px 0 0 22px; padding:8px 10px; border:1px solid var(--line, #d9e0e5); border-radius:8px; max-height:180px; overflow:auto; }
.doc-group{ border-bottom:1px solid var(--line, #e3e9ed); padding:6px 0; } .doc-group-h{ padding:6px 0 0; }
.doc-group .doc-row.doc-sub{ border-bottom:0; padding:6px 0 6px 14px; border-left:3px solid var(--line, #d9e0e5); margin:6px 0 0 4px; }
.doc-link{ margin:10px 0 0; padding:8px 10px; border:1px solid var(--line, #d9e0e5); border-radius:8px; } .doc-link > span{ font-weight:600; display:block; margin-bottom:2px; }
/* buyers: momentum, documents, alerts */
.ct-bar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:8px}
.ct-mom{margin-top:2px}
.ct-docs{margin-top:16px;padding-top:12px;border-top:1px solid var(--line,#d9e0e5)}
.ct-docs-h{margin:0 0 6px;font-size:15px}
.ct-quiet:empty{display:none}
.ct-quiet .br-nudge{margin-bottom:8px}
.br-nudge.hot{background:#fdecec;border-color:#f2b8b5}
.br-sub-h{margin:16px 0 6px;font-size:15px}
.al-n{width:64px;display:inline-block;padding:4px 6px;margin:0 2px}
.da-alerts{margin-top:28px;padding-top:18px;border-top:1px solid var(--line,#d9e0e5)}
.al-form .imp-actions{margin-top:10px;gap:8px}
/* buyers + menu, documents under each buyer */
#buyers-plus-slot{position:relative;display:inline-flex}
.bp-plus{width:30px;height:30px;border-radius:50%;border:1px solid var(--line,#d9e0e5);background:#fff;color:var(--teal,#25748A);font-size:20px;line-height:1;cursor:pointer;display:inline-flex;align-items:center;justify-content:center}
.bp-plus:hover,.bp-plus:focus{border-color:var(--teal,#25748A);outline:none}
.bp-menu{position:absolute;top:36px;right:0;z-index:30;min-width:210px;background:#fff;border:1px solid var(--line,#d9e0e5);border-radius:10px;box-shadow:0 6px 20px rgba(20,40,60,.14);padding:6px;display:flex;flex-direction:column}
.bp-menu button{background:none;border:0;text-align:left;padding:9px 10px;border-radius:7px;font:inherit;color:inherit;cursor:pointer}
.bp-menu button:hover,.bp-menu button:focus{background:#eef5f7;outline:none}
.ct-add-h{display:none!important}
.ct-bdocs{margin-top:8px;padding-top:6px;border-top:1px dashed var(--line,#d9e0e5)}
.ct-bdocs .doc-row{padding:6px 0;border-bottom:0}
.sd-people{display:flex;flex-direction:column;gap:2px}
.btn:disabled,.btn[disabled]{opacity:.45;cursor:not-allowed;background:#c9d1d8;border-color:#c9d1d8;color:#fff}
.btn-outline:disabled{background:transparent;color:inherit;border-color:var(--line,#d9e0e5)}
.br-filter-note{margin:0 0 8px;padding:6px 10px;background:#fdecec;border-radius:8px;font-size:14px}.br-hot-l{text-decoration:underline;color:inherit;cursor:pointer}.sit-tile .br-hot-l{color:inherit}
.mom-n { font-weight: 700; margin-right: 2px; }
.mom-b { color: var(--muted, #5b6b7a); display: inline-block; margin-top: 2px; }
.ct-bench .ct-chip-l { visibility: hidden; }
.ct-bench { margin-top: -2px; }
.sd-mode { display: flex; gap: 18px; flex-wrap: wrap; margin: 4px 0 12px; }
.sd-lib-h { font-size: 12px; text-transform: uppercase; letter-spacing: .04em; color: var(--muted, #5b6b7a); margin: 8px 0 2px; }
.sd-lib { display: block; margin: 4px 0; }
.lb-sec { margin: 14px 0; }
.lb-sec h3 { margin: 0 0 6px; font-size: 16px; }
.lb-list { list-style: none; margin: 0 0 8px; padding: 0; }
.lb-list li { display: flex; justify-content: space-between; align-items: center; gap: 10px; padding: 6px 0; border-bottom: 1px solid var(--line, #e3e8ee); }
.lb-add { display: flex; gap: 8px; flex-wrap: wrap; align-items: center; margin-top: 8px; }
.lb-add .lb-title { flex: 1 1 140px; min-width: 120px; }
.da-lib { margin: 18px 0; }

/* documents shared with a buyer: set apart from the buyer's own details */
.doc-row.doc-card{align-items:flex-start;gap:12px;background:#f3f7fa;border:1px solid #dbe5ec;border-left:4px solid #3b6f8f;border-radius:10px;padding:12px 14px;margin:10px 0 0 18px}
.doc-ico{flex:none;color:#3b6f8f;margin-top:2px}
.doc-card .doc-main{flex:1;min-width:0}
.doc-kind{font-size:10.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#3b6f8f;margin-bottom:2px}
.doc-title{font-size:15px;font-weight:650}
.doc-card .doc-stat{font-size:13.5px}
.ct-bdocs{border-top:0;padding-top:0}
.ct-bdocs .doc-row.doc-card{padding:12px 14px;border-bottom:1px solid #dbe5ec}
@media (max-width:640px){.doc-row.doc-card{margin-left:6px;flex-wrap:wrap}}

/* plan actions: quiet, one line, aligned right under the progress bar */
.plan-actions{ justify-content:flex-end; gap:4px; margin:2px 0 6px; }
.plan-actions .add-toggle{ border:0; background:transparent; color:var(--ink-soft); font-weight:600; font-size:13.5px; padding:6px 10px; border-radius:6px; }
.plan-actions .add-toggle:hover{ background:var(--surface-2); color:var(--brand, var(--ink)); text-decoration:underline; }
.log-orph-end{ margin-top:18px; }

/* Plan header + (Add a step, Log activity) replaces the row of links */
#plan-plus-slot{position:relative;display:inline-flex}
.plan-actions{display:none!important}
.plan-sec-plan{overflow:visible!important}
.plan-sec-plan > .deal-head{border-radius:12px 12px 0 0}
.plan-sec-plan > .progress-row{position:relative}

.srt-th{cursor:pointer;user-select:none}
.srt-th:hover{color:var(--ink,#1a2b3c)}
.srt{font-size:10px;color:var(--ink-faint,#9aa7b2);margin-left:2px}
.srt.on{color:var(--brand,#0b3a52)}

/* Internal Resources: everything folded so the page stays short */
.cm-fold{padding:0;margin:0 0 6px}
.cm-fold > summary{cursor:pointer;padding:10px 14px;list-style:none;display:flex;align-items:center;gap:8px}
.cm-fold > summary::-webkit-details-marker{display:none}
.cm-fold > summary::before{content:"\25B8";color:var(--ink-soft);font-size:12px}
.cm-fold[open] > summary::before{content:"\25BE"}
.cm-fold > :not(summary){margin-left:14px;margin-right:14px}
.cm-fold[open]{padding-bottom:12px}
#cm-list h3{margin:14px 0 6px;font-size:15px}
.ib-det{border:1px solid var(--line);border-radius:12px;margin:10px 0;padding:0}
.ib-det > summary{cursor:pointer;padding:11px 14px;font-weight:600;list-style:none}
.ib-det > summary::-webkit-details-marker{display:none}
.ib-det > summary::before{content:"\25B8";margin-right:8px;color:var(--ink-soft);font-size:12px}
.ib-det[open] > summary::before{content:"\25BE"}
.ib-det > div{padding:0 14px 12px}
.ib-count{font-weight:400;color:var(--ink-soft)}

.env-banner{position:sticky;top:0;z-index:9999;background:#b45309;color:#fff;text-align:center;font-size:13px;font-weight:600;padding:6px 12px}
