/* 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 auto;gap:6px;align-items:center;}
.tpl-head{font-size:12px;color:var(--ink-faint);padding:0 2px 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;}
