:root{
  --navy:#001F5F; --navy-2:#0B2E7A; --accent:#156082; --accent-soft:#E6F0F5;
  --bg:#F4F5F7; --surface:#FFFFFF; --line:#E1E4EA; --line-2:#CDD2DB;
  --text:#1B2230; --muted:#667085; --ok:#137A3E; --ok-soft:#E7F5EC; --warn:#B25E00; --warn-soft:#FFF4E2;
  --bad:#B42318; --bad-soft:#FDECEA; --radius:8px;
  --font: system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
}
*{box-sizing:border-box}
html,body{margin:0}
body{font:14px/1.45 var(--font);color:var(--text);background:var(--bg)}
a{color:var(--accent)}
h1{font-size:22px;margin:0 0 4px;letter-spacing:-.01em}
h2{font-size:15px;margin:0 0 12px}
h3{font-size:13px;margin:16px 0 8px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}
code{background:#EEF0F4;padding:1px 5px;border-radius:4px;font-size:12px}
.muted{color:var(--muted)} .small{font-size:12px} .strong{font-weight:600} .right{text-align:right} .center{text-align:center}
.nowrap{white-space:nowrap} .bad{color:var(--bad)} .grow{flex:1 1 220px}
.dim{opacity:.6}

/* top bar */
.topbar{position:sticky;top:0;z-index:30;display:flex;align-items:center;justify-content:space-between;gap:16px;
  background:var(--navy);color:#fff;padding:0 20px;height:52px}
.brand{display:flex;align-items:center;gap:10px;color:#fff;text-decoration:none;font-weight:600}
.brand small{display:block;font-weight:400;opacity:.7;font-size:11px}
.logo{display:inline-grid;place-items:center;width:32px;height:32px;border-radius:7px;background:#fff;color:var(--navy);font-weight:800;font-size:11px;letter-spacing:.05em}
.logo.big{width:52px;height:52px;font-size:15px;background:var(--navy);color:#fff;margin:0 auto 12px}
.topbar nav{display:flex;gap:4px;align-items:center}
.topbar nav a{color:#DCE3F2;text-decoration:none;padding:6px 10px;border-radius:6px}
.topbar nav a:hover{background:rgba(255,255,255,.1);color:#fff}
.role{font-size:10px;background:rgba(255,255,255,.15);padding:1px 6px;border-radius:9px;margin-left:4px}

/* pages */
.page{max-width:1200px;margin:24px auto;padding:0 20px}
.page.narrow{max-width:520px}
.page-head{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:16px;flex-wrap:wrap}
.crumbs{margin:0 0 6px;font-size:12px;color:var(--muted)} .crumbs a{color:var(--muted)}
.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);margin-bottom:16px}
.card.pad,.pad{padding:18px 20px}
.empty{text-align:center;color:var(--muted);padding:40px}
.alert{background:var(--bad-soft);color:var(--bad);padding:10px 12px;border-radius:6px;margin:10px 0}
.alert.info{background:var(--accent-soft);color:var(--accent)}
.alert.ok{background:var(--ok-soft);color:var(--ok);display:flex;align-items:center;gap:10px;flex-wrap:wrap}

/* tables */
table.grid{width:100%;border-collapse:collapse}
.grid th{text-align:left;font-size:12px;font-weight:600;color:var(--muted);padding:10px 14px;border-bottom:1px solid var(--line);background:#FAFBFC}
.grid td{padding:10px 14px;border-bottom:1px solid var(--line);vertical-align:top}
.grid tr:last-child td{border-bottom:0}
.grid.compact td{padding:6px 14px}
.grid.diff td.del{background:#FFF6F5} .grid.diff td.ins{background:#F3FBF5}
.grid .strong{color:var(--text);text-decoration:none}
.pill{font-size:11px;padding:2px 8px;border-radius:10px;background:#EEF0F4;color:#475467;font-weight:600}
.pill.final{background:var(--ok-soft);color:var(--ok)} .pill.submitted{background:var(--accent-soft);color:var(--accent)}

/* forms */
label{display:block}
input,select,textarea{font:inherit;color:inherit;border:1px solid var(--line-2);border-radius:6px;padding:7px 9px;background:#fff;width:100%;min-width:0}
textarea{resize:vertical;line-height:1.45}
input:focus,select:focus,textarea:focus{outline:2px solid #9CC3D9;outline-offset:0;border-color:var(--accent)}
input:disabled,select:disabled,textarea:disabled{background:#F7F8FA;color:#475467}
.mono{font-family:ui-monospace,Consolas,monospace;font-size:12px}
.auth-card label,.card.pad>label{margin-bottom:12px}
.check{display:flex;gap:8px;align-items:flex-start;cursor:pointer}
.check input{width:auto;margin-top:3px}
.form-row,.row{display:flex;gap:12px;flex-wrap:wrap;align-items:flex-end}
.form-row>label{flex:1 1 160px}
.row+.row{margin-top:12px}
.fld{flex:1 1 180px;min-width:0}
.fld.xs{flex:0 0 84px} .fld.sm{flex:0 1 170px}
.fld .fl{display:block;font-size:12px;font-weight:600;color:#475467;margin-bottom:4px}
.fld .fl em{font-weight:400;color:var(--muted)}
.hint{display:block;font-size:11px;color:var(--muted);margin-top:3px}
.with-ai{position:relative}
.with-ai textarea,.with-ai input{padding-right:36px}
.ai-btn{position:absolute;right:5px;top:5px;border:0;background:var(--accent-soft);border-radius:5px;width:26px;height:26px;cursor:pointer;font-size:13px;line-height:1}
.ai-btn:hover{background:#D3E6EF}
form.inline{display:inline}

/* buttons */
.btn{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line-2);background:#fff;color:var(--text);border-radius:6px;
  padding:7px 14px;font:inherit;font-weight:500;cursor:pointer;text-decoration:none;white-space:nowrap}
.btn:hover{background:#F2F4F7}
.btn.primary{background:var(--navy);border-color:var(--navy);color:#fff}
.btn.primary:hover{background:var(--navy-2)}
.btn.accent{border-color:var(--accent);color:var(--accent)}
.btn.ghost{background:transparent;border-color:transparent;color:var(--accent)}
.btn.ghost:hover{background:var(--accent-soft)}
.btn.danger{color:var(--bad)}
.btn.small{padding:4px 10px;font-size:12.5px}
.btn.big{padding:10px 20px;font-size:15px}
.btn.wide{width:100%;justify-content:center;padding:10px}
.btn:disabled{opacity:.6;cursor:wait}
.icon-btn{border:0;background:transparent;width:26px;height:26px;border-radius:5px;cursor:pointer;color:#475467;font-size:13px}
.icon-btn:hover{background:#EEF0F4}
.icon-btn.danger:hover{background:var(--bad-soft);color:var(--bad)}

/* auth */
body.auth{display:grid;place-items:center;min-height:100vh;background:linear-gradient(160deg,#001F5F 0%,#0E3A73 55%,#156082 100%)}
.auth-card{background:#fff;padding:32px;border-radius:12px;width:min(400px,92vw);text-align:left;box-shadow:0 20px 60px rgba(0,0,0,.25)}
.auth-card h1,.auth-card>p{text-align:center}
.auth-card form{margin-top:18px}

/* dialog */
.dialog{border:0;border-radius:12px;padding:24px;width:min(640px,94vw);box-shadow:0 20px 60px rgba(0,0,0,.3)}
.dialog::backdrop{background:rgba(10,20,40,.45)}
.dialog label{margin-bottom:12px}
.dialog-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:16px}

/* toast */
.toast{position:fixed;left:50%;bottom:24px;transform:translateX(-50%) translateY(20px);background:#101828;color:#fff;padding:10px 16px;border-radius:8px;
  opacity:0;pointer-events:none;transition:.2s;z-index:100;max-width:90vw;white-space:pre-line}
.toast.show{opacity:1;transform:translateX(-50%)}
.toast.bad{background:var(--bad)}

/* ---------------- editor ---------------- */
.editor-bar{position:sticky;top:52px;z-index:25;display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;
  background:#fff;border-bottom:1px solid var(--line);padding:8px 20px}
.eb-left,.eb-right{display:flex;align-items:center;gap:8px;min-width:0}
.eb-left{flex:1}
.crumb-link{color:var(--muted);text-decoration:none;font-size:13px;white-space:nowrap}
.title-input{border-color:transparent;font-weight:600;font-size:16px;max-width:420px}
.title-input:hover{border-color:var(--line-2)}
.status-select{width:auto;font-size:12px;padding:4px 6px}
.save-state{font-size:12px;color:var(--muted);white-space:nowrap}
.save-state.pending{color:var(--warn)} .save-state.ok{color:var(--ok)} .save-state.bad{color:var(--bad)}
.editor-wrap{display:grid;grid-template-columns:290px minmax(0,1fr);gap:0;align-items:start}
.steps{position:sticky;top:105px;height:calc(100vh - 105px);overflow:auto;border-right:1px solid var(--line);background:#fff;padding:10px 8px 40px}
.st-group{font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);padding:14px 10px 4px}
.step{display:grid;grid-template-columns:1fr auto;align-items:center;padding:7px 10px;border-radius:6px;text-decoration:none;color:var(--text);margin:1px 0}
.step:hover{background:#F2F4F7}
.step.on{background:var(--accent-soft);box-shadow:inset 3px 0 0 var(--accent)}
.st-label{font-size:13px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.st-sub{grid-column:1;font-size:11px;color:var(--muted)}
.step .badge{grid-row:1/span 2;grid-column:2}
.step.excl .st-label{color:var(--muted)}
.badge{font-size:11px;font-weight:700;min-width:20px;height:20px;padding:0 6px;border-radius:10px;display:inline-grid;place-items:center}
.badge.warn{background:var(--warn-soft);color:var(--warn)}
.step-pane{padding:20px 28px 40px;max-width:1180px}
.pane-head{margin-bottom:16px}
.tc-title .fld .fl{font-size:11px}
.tc-title input{font-size:17px;font-weight:600}
.nav-foot{display:flex;justify-content:space-between;margin-top:24px;padding-top:16px;border-top:1px solid var(--line)}
.adv summary{cursor:pointer;font-weight:600}
.adv[open] summary{margin-bottom:14px}
.hd-prev{display:block;padding:8px 10px;border:1px dashed var(--line-2);border-radius:6px;font-weight:600;font-size:13px;background:#FAFBFC}
.extra-rows .row{margin-bottom:8px}

.edit-grid{width:100%;border-collapse:collapse}
.edit-grid th{font-size:12px;text-align:left;color:var(--muted);font-weight:600;padding:6px}
.edit-grid td{padding:4px 6px;border-top:1px solid var(--line);vertical-align:middle}
.edit-grid td.xs{width:70px}
.edit-grid tfoot td{font-weight:700;background:#F2F4F7;padding:10px 12px}
.add-bar{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:12px}
.add-bar.center{justify-content:center;margin:8px 0 24px}

.sum-rows{display:flex;flex-direction:column;gap:10px}
.sum-row{display:grid;grid-template-columns:24px 1.3fr 1.3fr 130px 1fr 150px 1fr auto;gap:8px;align-items:start;padding:10px;border:1px solid var(--line);border-radius:6px;background:#FCFCFD}
.sum-row .fld{flex:none}
.sr-n{font-weight:700;color:var(--muted);padding-top:24px;text-align:center}
.sr-act{padding-top:20px;display:flex}

.sec{padding:0;overflow:visible}
.sec-head{display:flex;align-items:center;gap:12px;padding:12px 16px;border-bottom:1px solid var(--line);background:#FAFBFC;border-radius:var(--radius) var(--radius) 0 0}
.sec-head h2{margin:0}
.info-box{padding:14px 16px;border-bottom:1px solid var(--line)}
.info-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}
.blocks{padding:8px 16px}
.block{border:1px solid var(--line);border-radius:6px;margin:10px 0;background:#fff;transition:box-shadow .15s}
.block:hover{box-shadow:0 1px 4px rgba(16,24,40,.08)}
.block.dragging{opacity:.4}
.block.drop-before{box-shadow:0 -3px 0 var(--accent)}
.block-tools{display:flex;align-items:center;gap:4px;padding:4px 6px 4px 8px;border-bottom:1px solid var(--line);background:#FAFBFC;border-radius:6px 6px 0 0}
.block>div:last-child{padding:10px 12px}
.block .fld .fl{display:none}
.handle{cursor:grab;color:#98A2B3;font-weight:700;letter-spacing:-2px;padding:0 6px;user-select:none}
.type-sel{width:auto;font-size:12px;padding:3px 6px;border-color:transparent;background:transparent;font-weight:600}
.type-tag{font-size:12px;font-weight:600;padding:0 6px}
.type-bullet{border-left:3px solid #9CC3D9} .type-images{border-left:3px solid #7FB89A} .type-table{border-left:3px solid #B9A2E0}
.type-pagebreak .pb{color:var(--muted);text-align:center;font-size:12px;letter-spacing:.1em}
.md-prev{font-size:12.5px;color:#344054;background:#F8FAFC;border-radius:4px;padding:6px 8px;margin-top:6px}
.blocks-add{padding:10px 16px 14px;border-top:1px dashed var(--line);margin:0}
.add-bar.floating{background:var(--accent-soft);padding:8px;border-radius:6px}

.photos-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}
.seg{display:inline-flex;border:1px solid var(--line-2);border-radius:6px;overflow:hidden}
.seg button{border:0;background:#fff;padding:4px 10px;font:inherit;font-size:12px;cursor:pointer}
.seg button.on{background:var(--navy);color:#fff}
.thumbs{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:10px}
.thumb{margin:0;border:1px solid var(--line);border-radius:6px;overflow:hidden;background:#F2F4F7;cursor:grab}
.thumb img{display:block;width:100%;height:140px;object-fit:contain;background:#E9ECF1}
.thumb figcaption{display:flex;align-items:center;gap:2px;padding:4px;background:#fff}
.thumb figcaption select{font-size:11.5px;padding:2px 4px;flex:1}
.thumb .num{font-size:11px;font-weight:700;color:var(--muted);padding:0 4px}
.thumbs.side{grid-template-columns:repeat(auto-fill,minmax(160px,1fr))}
.drop{margin-top:10px;border:2px dashed var(--line-2);border-radius:8px;padding:14px;text-align:center;color:var(--muted);cursor:pointer;font-size:13px}
.drop:hover,.drop:focus,.drop.over{border-color:var(--accent);background:var(--accent-soft);color:var(--accent);outline:0}
.drop b{color:var(--accent)}

.tb-scroll{overflow:auto;margin-top:10px}
.tb-edit{border-collapse:collapse;min-width:100%}
.tb-edit th,.tb-edit td{border:1px solid var(--line);padding:2px;min-width:90px;vertical-align:top}
.tb-edit textarea{border:0;padding:4px 6px;font-size:12.5px;min-height:28px}
.tb-edit textarea.th{font-weight:600;background:#F2F4F7}
.tb-edit td:last-child,.tb-edit th:last-child{min-width:60px;border:0}

.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin-bottom:16px}
.kpi{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:14px 16px}
.kpi span{display:block;font-size:12px;color:var(--muted)} .kpi b{font-size:18px}
.issues{margin:0;padding-left:18px;columns:2;column-gap:32px} .issues li{margin:3px 0;break-inside:avoid}

/* AI popover */
.ai-pop{position:absolute;z-index:60;width:min(560px,94vw);background:#fff;border:1px solid var(--line-2);border-radius:10px;box-shadow:0 16px 48px rgba(16,24,40,.22)}
.ai-head{display:flex;justify-content:space-between;align-items:center;padding:10px 14px;border-bottom:1px solid var(--line)}
.ai-head .x{border:0;background:none;font-size:20px;cursor:pointer;color:var(--muted)}
.ai-modes{display:flex;flex-wrap:wrap;gap:6px;padding:10px 14px}
.ai-modes button{border:1px solid var(--line-2);background:#fff;border-radius:14px;padding:4px 11px;font:inherit;font-size:12.5px;cursor:pointer}
.ai-modes button:hover{border-color:var(--accent);color:var(--accent)}
.ai-modes button.on{background:var(--accent);border-color:var(--accent);color:#fff}
.ai-body{padding:4px 14px 14px;max-height:380px;overflow:auto}
.sugg{border:1px solid var(--line);border-radius:8px;padding:10px;margin-top:8px}
.sugg-text{font-size:13px}
.sugg-act{display:flex;gap:6px;margin-top:8px}
.spinner{width:22px;height:22px;border:3px solid var(--accent-soft);border-top-color:var(--accent);border-radius:50%;margin:16px auto 4px;animation:spin .8s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}

@media (max-width:1100px){
  .sum-row{grid-template-columns:24px 1fr 1fr}
  .sum-row .sr-act{grid-column:1/-1;padding:0}
}
@media (max-width:860px){
  .editor-wrap{grid-template-columns:1fr}
  .steps{position:static;height:auto;max-height:240px;border-right:0;border-bottom:1px solid var(--line)}
  .step-pane{padding:16px}
  .editor-bar{top:52px}
  .issues{columns:1}
  .grid td,.grid th{padding:8px}
}
.info-box .row{align-items:flex-start}
[hidden]{display:none!important}

/* ---------------- live Word preview ---------------- */
.editor-wrap{grid-template-columns:260px minmax(0,1fr) minmax(420px,44%)}
body.no-preview .editor-wrap{grid-template-columns:290px minmax(0,1fr)}
body.no-preview .preview-col{display:none}
.btn.toggle.on{background:var(--accent-soft);border-color:var(--accent);color:var(--accent)}
.preview-col{position:sticky;top:105px;height:calc(100vh - 105px);display:flex;flex-direction:column;background:#DDE1E7;border-left:1px solid var(--line-2)}
.pv-bar{display:flex;align-items:center;gap:10px;padding:8px 14px;background:#fff;border-bottom:1px solid var(--line)}
.pv-bar .pv-info-txt{flex:1}
.pv-scroll{flex:1;overflow:auto;padding:14px}
.pv-list{display:flex;flex-direction:column;align-items:center;gap:14px}
.pv-holder{position:relative;flex:none;box-shadow:0 2px 10px rgba(16,24,40,.18);background:#fff}
.pv-holder .pv-page{position:absolute;left:0;top:0;transform-origin:0 0}
.pv-offscreen{position:absolute;left:-20000px;top:0;visibility:hidden}

.pv-page{width:1123px;height:794px;background:#fff;position:relative;overflow:hidden;color:#000;
  font-family:Aptos,Calibri,"Segoe UI",Arial,sans-serif;font-size:16px;line-height:1.16}
.pv-page::before{content:"";position:absolute;inset:32px;border:1px solid #000;pointer-events:none}
.pv-hdr{position:absolute;top:38px;left:50%;transform:translateX(-50%);width:888px;border:1px solid #000;border-collapse:collapse;
  font-family:"Aptos Narrow","Arial Narrow",Arial,sans-serif;font-weight:700;font-size:14.6px}
.pv-hdr td{padding:10px 8px;text-align:center;width:33%} .pv-hdr td:first-child{text-align:left;width:37%} .pv-hdr td.r{text-align:right}
.pv-body{position:absolute;top:104px;left:67px;right:48px;height:596px;overflow:hidden}
.pv-ftr{position:absolute;top:706px;left:50%;transform:translateX(-50%);width:832px}
.pv-ftr table{width:100%;border-collapse:collapse;font-family:Cambria,Georgia,serif;font-size:12px}
.pv-ftr th{background:#001F5F;color:#fff;text-align:left;padding:2px 6px;border:1px solid #000}
.pv-ftr td{height:32px;border:1px solid #000}
.pv-pno{text-align:center;font-size:14.6px;margin-top:2px}
.pv-body.cover{display:flex;flex-direction:column;align-items:center;padding-top:80px}
.cover .c1{color:#156082;font-weight:700;font-size:24px;margin:0 0 50px}
.cover .c2{color:#156082;font-weight:700;font-size:34.6px;margin:0 0 50px}
.cover .c3{font-weight:700;font-size:26.6px;margin:0 0 14px}
.cover .c4{color:#0F4761;font-size:26.6px;margin:0}
.pv-body p{margin:0 0 10.7px}
.pv-intro{font-size:14.6px;margin:0 72px 14px!important;text-align:justify}
.pv-h{font-weight:700;font-size:18.6px;margin-left:72px!important}
.pv-h.sp{margin-top:16px!important}
.pv-note{margin-left:105px!important;font-size:16px}
.pv-tbl{border-collapse:collapse;margin:0 auto 4px;table-layout:fixed}
.pv-tbl th,.pv-tbl td{border:1px solid #000;padding:3px 6px;vertical-align:middle;text-align:left;word-wrap:break-word}
.pv-tbl.cam{font-family:Cambria,Georgia,serif;font-size:14.6px;color:#0D0D0D}
.pv-tbl.navy th{background:#001F5F;color:#fff;font-weight:700}
.pv-tbl .c{text-align:center} .pv-tbl .b{font-weight:700} .pv-tbl .grey{background:#D1D1D1}
.pv-tbl tr.h40 td{height:36px}
.pv-tbl.sum td,.pv-tbl.sum th{font-size:14.6px}
.pv-tbl.blue,.pv-tbl.navy:not(.cam){font-family:"Aptos Narrow","Arial Narrow",Arial,sans-serif;font-size:13.3px}
.pv-tbl.blue th{color:#000;text-align:center}
.pv-tbl th.blank{border:0}
.pv-infowrap{padding-bottom:8px}
.pv-info{border-collapse:collapse;margin:0 auto;font-size:12px}
.pv-info{width:836px}
.pv-info th,.pv-info td{border:1px solid #000;padding:1px 6px;text-align:left;vertical-align:middle;white-space:pre-line}
.pv-info th{width:324px;font-weight:700}
.pv-bul{font-size:13.3px;margin:0 72px 8px 96px!important;text-align:justify;position:relative}
.pv-bul::before{content:"➢";position:absolute;left:-22px}
.pv-para{font-size:14.6px;margin:0 72px 10px!important;text-align:justify}
.pv-cap{font-size:14.6px;font-weight:700;margin-left:72px!important}
.pv-sub{font-size:18.6px;font-weight:700;margin:8px 0 8px 72px!important}
.pv-ctr{font-size:18.6px;text-align:center;margin-top:32px!important}
.pv-img{text-align:center;margin-bottom:10px!important;line-height:0}
.pv-img img{display:inline-block;margin:0 6px;object-fit:fill;background:#eee}
.pv-empty{text-align:center;color:#B25E00;border:1px dashed #E5A54B;padding:20px;font-size:13px}
@media (max-width:1250px){ .editor-wrap{grid-template-columns:240px minmax(0,1fr) 40%} }
@media (max-width:860px){ .preview-col{display:none} }
body:not(.no-preview) .sum-row{grid-template-columns:24px 1fr 1fr}
body:not(.no-preview) .sum-row .sr-act{grid-column:1/-1;padding:0}
body:not(.no-preview) .step-pane{padding:20px 20px 40px}
body:not(.no-preview) .sum-row{grid-template-columns:1fr 1fr}
body:not(.no-preview) .sum-row .sr-n{grid-column:1/-1;padding:0;text-align:left;font-size:12px}
body:not(.no-preview) .sum-row .sr-n::before{content:"Row "}
@media (max-width:1100px){ .sum-row{grid-template-columns:1fr 1fr} .sum-row .sr-n{grid-column:1/-1;padding:0;text-align:left} }
.edit-grid td.xs{width:58px}

/* ---------------- live collaboration ---------------- */
.people{display:inline-flex;align-items:center;gap:0;margin-right:4px}
.avatar{display:inline-grid;place-items:center;width:28px;height:28px;border-radius:50%;color:#fff;font-size:11px;font-weight:700;border:2px solid #fff;margin-left:-6px;box-shadow:0 0 0 1px rgba(0,0,0,.08)}
.avatar:first-child{margin-left:0}
.avatar.xs{width:18px;height:18px;font-size:8.5px;border-width:1px;margin-left:-4px}
.step{position:relative}
.who-dots{position:absolute;right:34px;top:50%;transform:translateY(-50%);display:inline-flex}
.remote-edit{position:relative;outline:2px solid var(--who);outline-offset:2px;border-radius:6px}
.remote-edit::after{content:attr(data-who);position:absolute;right:0;top:-10px;background:var(--who);color:#fff;font-size:10.5px;font-weight:600;padding:1px 7px;border-radius:8px;white-space:nowrap;z-index:5}
@keyframes flashbg{0%{background:#FFF1B8}100%{background:transparent}}
.flash{animation:flashbg 1.8s ease-out}
.flash input,.flash textarea{animation:flashbg 1.8s ease-out}
.live-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#12B76A;box-shadow:0 0 0 3px rgba(18,183,106,.2);margin:0 2px 1px}

/* ---------------- rich text editor ---------------- */
.rte-wrap{position:relative}
.rte{min-height:38px;border:1px solid var(--line-2);border-radius:6px;padding:7px 36px 7px 10px;background:#fff;line-height:1.5;
  white-space:pre-wrap;word-wrap:break-word;outline:none;cursor:text}
.rte.single{min-height:0;white-space:nowrap;overflow:hidden}
.rte:focus{outline:2px solid #9CC3D9;border-color:var(--accent)}
.rte[contenteditable="false"]{background:#F7F8FA;color:#475467;cursor:default}
.rte:empty::before{content:attr(data-placeholder);color:#98A2B3;pointer-events:none}
.rte sup{font-size:.72em;line-height:0}
.rte-bar{position:absolute;right:36px;top:-15px;z-index:6;display:none;gap:2px;background:#fff;border:1px solid var(--line-2);border-radius:7px;padding:2px;box-shadow:0 4px 12px rgba(16,24,40,.12)}
.rte-wrap:focus-within .rte-bar{display:flex}
.rte-bar button{border:0;background:transparent;min-width:26px;height:24px;border-radius:5px;cursor:pointer;font:13px/1 Georgia,serif;color:#344054;padding:0 5px}
.rte-bar button:hover{background:#EEF0F4}
.rte-bar button.on{background:var(--navy);color:#fff}
.with-ai .rte{padding-right:36px}
.rte-wrap .ai-btn{z-index:2}
.block-bullet .rte{padding-left:26px;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12'%3E%3Cpath d='M2 2l7 4-7 4z' fill='%23667085'/%3E%3C/svg%3E") no-repeat 10px 13px}
.block-caption .rte{font-weight:700}
.block-heading .rte{font-weight:700;font-size:16px}
.block-centered .rte{text-align:center;font-size:16px}
.sum-row .rte,.info-box .rte{min-height:36px}
