/* ============================================================
   Signet — prepare flow, field editor, signer ceremony
   ============================================================ */

/* ---------- prepare flow (steps 1-2 + review) ---------- */
.flowbar{background:#fff;border-bottom:1px solid var(--line);padding:0 28px;display:flex;align-items:center;gap:22px;height:56px;position:sticky;top:0;z-index:40}
.flow-steps{display:flex;align-items:center;gap:8px;overflow-x:auto}
.fstep{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:560;color:var(--ink-4);white-space:nowrap;border:0;background:none;padding:6px 2px;cursor:default}
.fstep .num{width:22px;height:22px;border-radius:50%;border:1.5px solid var(--line-2);display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;color:var(--ink-4);background:#fff;transition:all .18s}
.fstep.done{color:var(--green);cursor:pointer}
.fstep.done .num{background:var(--green);border-color:var(--green);color:#fff}
.fstep.cur{color:var(--accent-700)}
.fstep.cur .num{border-color:var(--accent);color:var(--accent);box-shadow:0 0 0 3.5px var(--accent-50)}
.fstep-arrow{color:#C9D2E0;flex:0 0 auto}
.flow-actions{margin-left:auto;display:flex;gap:9px;align-items:center}
.flow-body{padding:26px 0 40px;display:flex;justify-content:center}
.flow-panel{width:min(860px,94vw)}
.step-title{font-size:18px;margin-bottom:4px}
.step-sub{color:var(--ink-3);font-size:13.5px;margin-bottom:20px}

.dropzone{border:2px dashed var(--line-2);border-radius:14px;background:#FAFBFD;padding:44px 24px;text-align:center;transition:all .16s;cursor:pointer}
.dropzone:hover,.dropzone.over{border-color:var(--accent);background:var(--accent-50)}
.dropzone .dz-ic{width:52px;height:52px;margin:0 auto 12px;border-radius:14px;background:var(--accent-50);color:var(--accent-700);display:flex;align-items:center;justify-content:center}
.dropzone h3{font-size:15px}
.dropzone p{color:var(--ink-3);font-size:13px;margin:5px 0 0}
.dropzone .fmt{font-size:11.5px;color:var(--ink-4);margin-top:10px}
.doc-pick{margin-top:18px}
.doc-pick .list{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:10px;margin-top:10px}
.doc-pick .dp{display:flex;gap:11px;align-items:center;border:1.5px solid var(--line);border-radius:10px;padding:10px;background:#fff;cursor:pointer;text-align:left;transition:all .13s;width:100%}
.doc-pick .dp:hover{border-color:var(--accent);box-shadow:var(--shadow-2)}
.doc-pick .dp .nm{font-size:13.5px;font-weight:600}
.doc-pick .dp .mt{font-size:11.5px;color:var(--ink-4);margin-top:1px}

.rc-edit{display:grid;grid-template-columns:30px minmax(0,1.4fr) minmax(0,1.4fr) 150px 110px 36px;gap:10px;align-items:center;padding:10px 12px;border:1.5px solid var(--line);border-radius:10px;background:#fff;margin-bottom:10px;transition:border-color .15s,box-shadow .15s}
.rc-edit .drag{color:#C2CBDA;cursor:grab;display:flex;justify-content:center}
.rc-edit.err{border-color:var(--red);box-shadow:0 0 0 3px #F6D7D7}
.rc-edit .role-sel{display:flex;align-items:center;gap:8px}
.rc-edit .role-dot{width:10px;height:10px;border-radius:3px;flex:0 0 auto}
.rc-add{display:flex;gap:10px;margin-top:4px}
.rc-add .btn{flex:0 0 auto}
.routing-note{display:flex;gap:10px;align-items:flex-start;background:var(--accent-50);border:1px solid #D3E0FC;color:var(--accent-700);border-radius:10px;padding:12px 14px;font-size:12.8px;line-height:1.5;margin:14px 0}
.order-preview{display:flex;flex-direction:column;gap:8px}
.op-line{display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:#fff}
.op-line .arrowdown{align-self:center;color:var(--ink-4);margin:-3px 0}

/* ---------- field editor ---------- */
.editor-shell{position:fixed;inset:0;z-index:200;display:flex;flex-direction:column;background:var(--canvas)}
.ed-top{height:54px;background:var(--navy);color:#fff;display:flex;align-items:center;gap:14px;padding:0 14px;flex:0 0 auto}
.ed-top .ed-title{font-size:14.5px;font-weight:640;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:32vw}
.ed-top .btn{background:rgba(255,255,255,.1);color:#fff;border-color:transparent}
.ed-top .btn:hover{background:rgba(255,255,255,.2)}
.ed-top .btn.primary{background:var(--accent)}
.ed-top .btn.primary:hover{background:var(--accent-600)}
.ed-top .vr{width:1px;height:24px;background:rgba(255,255,255,.14)}
.icon-tbtn{width:32px;height:32px;border:0;background:transparent;color:#D5DCEC;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer}
.icon-tbtn:hover:not(:disabled){background:rgba(255,255,255,.12);color:#fff}
.icon-tbtn:disabled{opacity:.35;cursor:default}
.icon-tbtn.on{background:rgba(255,255,255,.16);color:#fff}
.ed-body{flex:1;display:flex;min-height:0;position:relative}
.ed-palette{width:196px;background:var(--navy-2);color:#C3CDE4;display:flex;flex-direction:column;flex:0 0 auto}
.ed-palette .rec-sel{padding:10px 12px 4px}
.ed-palette .rec-sel .lbl{font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#5D6C8E;margin-bottom:6px}
.rec-opt{display:flex;align-items:center;gap:8px;width:100%;padding:6px 8px;border-radius:7px;border:1.5px solid transparent;background:rgba(255,255,255,.05);color:#C3CDE4;font-size:12.5px;font-weight:560;cursor:pointer;margin-bottom:4px;text-align:left}
.rec-opt .nm{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rec-opt .role{font-size:10px;color:#7E8CAD;text-transform:capitalize}
.rec-opt.sel{background:rgba(255,255,255,.12);color:#fff}
.rec-opt .swatch{width:12px;height:12px;border-radius:4px;flex:0 0 auto}
.ed-palette .fields-scroll{flex:1;overflow-y:auto;padding:6px 12px 16px}
.pal-group{font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#5D6C8E;margin:12px 2px 6px}
.pal-item{display:flex;align-items:center;gap:9px;padding:7px 9px;border-radius:8px;border:1px solid transparent;background:rgba(255,255,255,.04);color:#C3CDE4;font-size:12.5px;font-weight:530;cursor:grab;margin-bottom:3px;user-select:none;transition:background .12s,border-color .12s}
.pal-item:hover{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.14);color:#fff}
.pal-item:active{cursor:grabbing}
.pal-item.dragging{opacity:.45}
.pal-item .key{font-size:9.5px;color:#7E8CAD;margin-left:auto;border:1px solid rgba(255,255,255,.15);border-radius:4px;padding:0 4px}
.ed-thumbs{width:128px;background:#F1F3F7;border-right:1px solid var(--line);overflow-y:auto;padding:12px 10px;flex:0 0 auto}
.ed-thumb{position:relative;margin-bottom:12px;cursor:pointer;border-radius:6px;transition:transform .12s}
.ed-thumb .pg{width:100%;aspect-ratio:8.5/11;background:#fff;border:1.5px solid var(--line-2);border-radius:4px;box-shadow:var(--shadow-1);position:relative;overflow:hidden}
.ed-thumb.cur .pg{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-100)}
.ed-thumb:hover .pg{border-color:var(--accent)}
.ed-thumb .num{position:absolute;top:-7px;left:50%;transform:translateX(-50%);background:var(--ink);color:#fff;font-size:9.5px;font-weight:700;border-radius:99px;padding:1px 7px;z-index:2}
.ed-thumb.cur .num{background:var(--accent)}
.ed-canvas{flex:1;overflow:auto;position:relative;padding:34px 40px 120px}
.ed-pages-inner{position:relative;margin:0 auto;transform-origin:50% 0}
.doc-page{position:relative;background:#fff;border-radius:2px;box-shadow:var(--shadow-page);margin-bottom:30px;user-select:none}
.doc-page .page-tag{position:absolute;top:-20px;left:0;font-size:11px;color:var(--ink-4);font-weight:600;letter-spacing:.03em}
.doc-page .corner{position:absolute;width:14px;height:14px;border-color:#D7DEE9 !important;pointer-events:none}
.doc-page .corner.tl{top:6px;left:6px;border-top:1.5px solid;border-left:1.5px solid}
.doc-page .corner.br{bottom:6px;right:6px;border-bottom:1.5px solid;border-right:1.5px solid}
.drop-glow{outline:2.5px dashed var(--accent);outline-offset:4px;border-radius:4px}

/* document paper (generated HTML docs) */
.doc-content{position:absolute;inset:0;font-family:var(--font-doc);color:#20242C;background:#fff;overflow:hidden}
.doc-content .pad{padding:8.5% 9%}
.doc-content h1{font-size:1.32em;font-family:var(--font-doc);font-weight:700;text-align:center;margin:.2em 0 1em;letter-spacing:.01em}
.doc-content h2{font-size:1.02em;font-family:var(--font-doc);font-weight:700;margin:1.15em 0 .45em}
.doc-content p{margin:.55em 0;font-size:.86em;line-height:1.55}
.doc-content li{margin:.3em 0 .3em 1.2em;font-size:.86em;line-height:1.5}
.doc-content li{list-style:decimal}
.doc-content ul li{list-style:disc}
.doc-content .ctr{text-align:center}
.doc-content .small-p{font-size:.72em;color:#4A505C}
.doc-content .sigline{display:inline-block;min-width:46%;border-bottom:1px solid #333;padding-bottom:2px;margin-top:1.1em;font-size:.8em;color:#333}
.doc-content .sigrow{display:flex;gap:8%;margin-top:1.4em;flex-wrap:wrap}
.doc-content .sigrow>div{flex:1;min-width:120px}
.doc-content table{width:100%;border-collapse:collapse;font-size:.8em;margin:.7em 0}
.doc-content td,.doc-content th{border:1px solid #444;padding:.35em .5em;text-align:left}
.doc-content .kv{display:grid;grid-template-columns:34% 1fr;gap:.3em .8em;font-size:.84em;margin:.8em 0}
.doc-content .kv b{font-weight:700}
.doc-content .pagefoot{position:absolute;bottom:5%;left:9%;right:9%;display:flex;justify-content:space-between;font-size:.68em;color:#5A606C;border-top:1px solid #C9CFDA;padding-top:.5em}

/* pdf page canvas */
.pdf-canvas{position:absolute;inset:0;width:100%;height:100%}

/* fields on page */
.ftag{position:absolute;border-radius:6px;border:1.5px solid;background:rgba(255,255,255,.55);display:flex;flex-direction:column;overflow:hidden;transition:box-shadow .12s,background .12s;cursor:pointer}
.ftag .fhandle{position:absolute;inset:0;cursor:move}
.ftag .flabel{font-size:10px;font-weight:700;letter-spacing:.03em;text-transform:uppercase;color:var(--ink-3);padding:2px 6px;background:rgba(255,255,255,.85);border-bottom:1px solid rgba(0,0,0,.05);display:flex;align-items:center;gap:4px;white-space:nowrap;overflow:hidden;flex:0 0 auto}
.ftag .fval{flex:1;display:flex;align-items:center;padding:1px 6px;font-size:12px;color:var(--ink-2);overflow:hidden;white-space:nowrap}
.ftag.selected{z-index:30;box-shadow:0 0 0 2.5px var(--accent),var(--shadow-3) !important;background:#fff;border-color:var(--accent) !important}
.ftag.selected .flabel{color:var(--accent-700)}
.ftag .rz{position:absolute;width:9px;height:9px;background:#fff;border:1.5px solid var(--accent);border-radius:2.5px;z-index:5}
.ftag .rz.n{top:-5px;left:50%;margin-left:-4.5px;cursor:ns-resize}
.ftag .rz.s{bottom:-5px;left:50%;margin-left:-4.5px;cursor:ns-resize}
.ftag .rz.w{left:-5px;top:50%;margin-top:-4.5px;cursor:ew-resize}
.ftag .rz.e{right:-5px;top:50%;margin-top:-4.5px;cursor:ew-resize}
.ftag .rz.nw{top:-5px;left:-5px;cursor:nwse-resize}
.ftag .rz.ne{top:-5px;right:-5px;cursor:nesw-resize}
.ftag .rz.sw{bottom:-5px;left:-5px;cursor:nesw-resize}
.ftag .rz.se{bottom:-5px;right:-5px;cursor:nwse-resize}
.ftag .req-star{color:var(--red)}
.ftag .ftype-badge{position:absolute;top:-9px;right:-1px;font-size:8.5px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:#fff;border-radius:3px;padding:1px 5px}
.snap-guide{position:absolute;background:#FF5A5A;z-index:40;pointer-events:none;opacity:.85}
.snap-guide.v{width:1px;top:0;bottom:0}
.snap-guide.h{height:1px;left:0;right:0}
.marquee{position:absolute;border:1px solid var(--accent);background:rgba(44,95,246,.08);z-index:45;pointer-events:none}
.ed-props{width:270px;background:#fff;border-left:1px solid var(--line);overflow-y:auto;flex:0 0 auto;padding-bottom:30px}
.ed-props .ph{padding:14px 16px 10px;border-bottom:1px solid var(--line);position:sticky;top:0;background:#fff;z-index:2}
.ed-props .ph .t{font-size:13.5px;font-weight:680;display:flex;align-items:center;gap:7px}
.ed-props .ph .s{font-size:11.5px;color:var(--ink-4);margin-top:2px}
.prop-group{padding:12px 16px;border-bottom:1px solid var(--line)}
.prop-group .gt{font-size:10.5px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--ink-4);margin-bottom:9px}
.prop-row{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}
.prop-row:last-child{margin-bottom:0}
.prop-row .lbl{font-size:12.5px;color:var(--ink-2);font-weight:540}
.prop-row .in{width:120px}
.opt-line{display:flex;gap:6px;margin-bottom:6px;align-items:center}
.opt-line .input{height:30px;font-size:12.5px}
.pos-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.pos-grid .cell .input{height:30px;font-size:12px;padding:0 8px;text-align:right}
.pos-grid .cell .lbl{font-size:10px;color:var(--ink-4);margin-bottom:2px;display:block;font-weight:600}
.empty-props{padding:30px 18px;text-align:center;color:var(--ink-4);font-size:12.5px}
.empty-props svg{margin:0 auto 10px;color:#C4CDDC}
.zoom-pill{position:absolute;bottom:16px;left:50%;transform:translateX(-50%);background:#fff;border:1px solid var(--line);box-shadow:var(--shadow-3);border-radius:99px;display:flex;align-items:center;gap:2px;padding:3px;z-index:50}
.zoom-pill .zval{font-size:12px;font-weight:650;color:var(--ink-2);width:44px;text-align:center}
.zoom-pill button{width:28px;height:28px;border:0;background:none;border-radius:50%;cursor:pointer;color:var(--ink-2);display:flex;align-items:center;justify-content:center}
.zoom-pill button:hover{background:var(--slate-bg)}
.ed-status{position:absolute;bottom:18px;right:18px;z-index:50;font-size:11.5px;color:var(--ink-3);background:#fff;border:1px solid var(--line);border-radius:8px;padding:6px 10px;box-shadow:var(--shadow-1)}

/* editor responsive */
@media (max-width: 1080px){
  .ed-thumbs{display:none}
  .ed-props{position:absolute;right:0;top:0;bottom:0;z-index:60;box-shadow:var(--shadow-4);transform:translateX(105%);transition:transform .2s ease}
  .ed-props.open{transform:none}
  .ed-top .props-toggle{display:inline-flex !important}
}
@media (max-width: 780px){
  .ed-palette{width:52px}
  .ed-palette .pal-item span,.ed-palette .pal-group,.ed-palette .rec-sel .lbl,.ed-palette .rec-sel .nm,.ed-palette .rec-sel .role{display:none}
  .ed-palette .rec-opt{justify-content:center;padding:6px}
  .ed-palette .pal-item{justify-content:center;padding:8px 0}
  .ed-canvas{padding:20px 14px 120px}
  .ed-top .ed-title{display:none}
}

/* ---------- signer ceremony ---------- */
.sign-shell{min-height:100vh;background:var(--canvas);display:flex;flex-direction:column}
.sign-top{position:sticky;top:0;z-index:100;background:#fff;border-bottom:1px solid var(--line);box-shadow:var(--shadow-1)}
.sign-top .row1{display:flex;align-items:center;gap:14px;padding:10px 20px;max-width:1060px;margin:0 auto;width:100%}
.sign-brand{display:flex;align-items:center;gap:8px;font-weight:700;font-size:14px;color:var(--ink)}
.sign-brand .lg{width:26px;height:26px;border-radius:7px;display:flex;align-items:center;justify-content:center;font-size:10px;color:#fff;font-weight:800}
.sign-brand .powered{font-size:10px;color:var(--ink-4);font-weight:500;margin-left:2px}
.sign-progress{display:flex;align-items:center;gap:8px;font-size:12.5px;color:var(--ink-2);font-weight:560}
.sign-progress .pbar{width:120px;height:6px;background:var(--line);border-radius:3px;overflow:hidden}
.sign-progress .pbar i{display:block;height:100%;background:var(--green);border-radius:3px;transition:width .3s ease}
.sign-actions{margin-left:auto;display:flex;gap:8px;align-items:center}
.sign-nav{background:var(--navy)}
.sign-nav .inner{max-width:1060px;margin:0 auto;padding:9px 20px;display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.sign-nav .msg{color:#C9D3E8;font-size:12.8px;flex:1;min-width:180px;display:flex;align-items:center;gap:8px}
.sign-nav .msg b{color:#fff}
.sign-body{flex:1;display:flex;justify-content:center;padding:30px 16px 90px}
.sign-doc-col{width:min(860px,100%)}
.sign-page-wrap{position:relative;margin-bottom:26px}
.doc-note{position:absolute;z-index:5;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;padding:2px 8px;border-radius:4px;color:#fff;white-space:nowrap}
.field-cell{position:absolute;border-radius:6px;border:2px solid;box-sizing:border-box;cursor:pointer;transition:box-shadow .13s,transform .13s;overflow:hidden;scroll-margin-top:140px;scroll-margin-bottom:140px}
.field-cell:hover{box-shadow:var(--shadow-3)}
.field-cell.active-mine{background:rgba(255,255,255,.66)}
.field-cell.locked{border-style:dashed;opacity:.55;cursor:not-allowed}
.field-cell .cell-inner{position:absolute;inset:0;display:flex;flex-direction:column}
.field-cell .cc-top{flex:0 0 auto;font-size:9.5px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;padding:2px 6px;display:flex;align-items:center;gap:4px;white-space:nowrap;overflow:hidden}
.field-cell .cc-body{flex:1;display:flex;align-items:center;justify-content:center;padding:2px 6px;min-height:0}
.field-cell .cc-body input[type=text],.field-cell .cc-body input[type=email]{width:100%;height:100%;border:0;background:transparent;font:inherit;font-size:13px;color:var(--ink);padding:0 4px;outline:none}
.field-cell .cc-body select{width:100%;height:100%;border:0;background:transparent;font-size:13px;color:var(--ink);outline:none;appearance:none}
.field-cell .cc-body .placeholder-hint{color:#9AA6BC;font-size:12px}
.field-cell .cc-body .adopted-sig{max-width:100%;max-height:100%;font-size:1.6em;line-height:1.1;white-space:nowrap;overflow:hidden}
.field-cell .cc-body .adopted-sig img{max-height:100%;max-width:100%;object-fit:contain}
.field-cell .cc-check{width:100%;height:100%;display:flex;align-items:center;justify-content:center}
.field-cell .cc-check .box{width:20px;height:20px;border:2px solid var(--ink-3);border-radius:4px;background:#fff;display:flex;align-items:center;justify-content:center}
.field-cell.done{background:rgba(255,255,255,.9)}
.field-cell.done .cc-top .chk{display:inline-flex}
.field-cell.err-flash{animation:shake .3s ease}
@keyframes shake{25%{transform:translateX(-3px)}75%{transform:translateX(3px)}}
.field-cell .hint-tip{position:absolute;top:calc(100% + 4px);left:0;background:var(--ink);color:#fff;font-size:10.5px;padding:3px 7px;border-radius:5px;white-space:nowrap;z-index:20;display:none}
.field-cell.show-hint .hint-tip{display:block}
.field-cell .err-tip{position:absolute;top:calc(100% + 4px);left:0;background:var(--red);color:#fff;font-size:10.5px;font-weight:600;padding:3px 7px;border-radius:5px;white-space:nowrap;z-index:21}
.next-anchor{box-shadow:0 0 0 3px #FFC53D,var(--shadow-3) !important}
.next-anchor.pulse{animation:pulse-ring 1.2s ease 2}
@keyframes pulse-ring{0%{box-shadow:0 0 0 3px #FFC53D}50%{box-shadow:0 0 0 7px rgba(255,197,61,.45)}100%{box-shadow:0 0 0 3px #FFC53D}}
.sign-footbar{position:fixed;bottom:0;left:0;right:0;z-index:110;background:#fff;border-top:1px solid var(--line);box-shadow:0 -4px 16px rgba(16,24,40,.07)}
.sign-footbar .inner{max-width:1060px;margin:0 auto;padding:10px 20px;display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.sign-footbar .req-note{font-size:12.5px;color:var(--ink-3);display:flex;align-items:center;gap:6px;flex:1;min-width:170px}
.adopt-modal-canvas{border:1px solid var(--line-2);border-radius:10px;background:#fff;touch-action:none;cursor:crosshair;position:relative}
.adopt-modal-canvas canvas{display:block;width:100%;touch-action:none}
.adopt-tabs{display:flex;border-bottom:1px solid var(--line);margin-bottom:16px}
.adopt-tab{border:0;background:none;padding:9px 14px;font-size:13.5px;font-weight:580;color:var(--ink-3);cursor:pointer;border-bottom:2.5px solid transparent;margin-bottom:-1px}
.adopt-tab.active{color:var(--accent-700);border-color:var(--accent)}
.sig-live-preview{height:104px;border:1px solid var(--line-2);border-radius:10px;background:linear-gradient(180deg,#fff,#FBFCFE);display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}
.sig-live-preview .ln{position:absolute;bottom:30px;left:12%;right:12%;border-bottom:1.5px dotted #B9C3D6}
.sig-live-preview .content{font-size:40px;transform:translateY(-8px);white-space:nowrap;max-width:90%;overflow:hidden}
.sig-live-preview img{max-height:70px;max-width:88%}

/* consent overlay */
.consent-overlay{position:fixed;inset:0;z-index:250;background:rgba(12,18,34,.62);display:flex;align-items:center;justify-content:center;padding:18px;backdrop-filter:blur(3px)}
.consent-card{background:#fff;border-radius:16px;width:min(640px,100%);max-height:92vh;display:flex;flex-direction:column;box-shadow:var(--shadow-4);animation:modal-in .22s cubic-bezier(.2,.9,.3,1.1)}
.consent-card .ch{padding:22px 26px 0}
.consent-card .ch h2{font-size:18px}
.consent-card .ch p{color:var(--ink-3);font-size:13px;margin:6px 0 0}
.consent-scroll{overflow-y:auto;padding:16px 26px;flex:1}
.consent-scroll h4{font-size:13px;margin:14px 0 4px}
.consent-scroll p,.consent-scroll li{font-size:12.5px;color:var(--ink-2);line-height:1.6}
.consent-scroll ul{padding-left:20px;margin:6px 0}
.consent-card .cf{padding:16px 26px;border-top:1px solid var(--line);display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.consent-card .cf .check{font-size:12.5px;flex:1;min-width:220px}

/* completion / terminal screens */
.done-hero{max-width:560px;margin:7vh auto;text-align:center;background:#fff;border:1px solid var(--line);border-radius:16px;padding:44px 34px;box-shadow:var(--shadow-2)}
.done-hero .big-ic{width:74px;height:74px;border-radius:50%;margin:0 auto 18px;display:flex;align-items:center;justify-content:center;animation:pop-in .45s cubic-bezier(.2,1.4,.4,1)}
.done-hero .big-ic svg{width:36px;height:36px}
@keyframes pop-in{from{transform:scale(.4);opacity:0}to{transform:scale(1);opacity:1}}
.done-hero h1{font-size:22px;margin-bottom:8px}
.done-hero .sub{color:var(--ink-3);font-size:14px;margin-bottom:22px}
.done-summary{text-align:left;border:1px solid var(--line);border-radius:12px;padding:16px 18px;margin-bottom:22px;background:#FAFBFD}
.done-summary .row{display:flex;justify-content:space-between;gap:12px;font-size:13px;padding:5px 0}
.done-summary .row b{font-weight:620}
.done-hero .btns{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}

/* delegation & finish-later */
.term-banner{max-width:760px;margin:8vh auto 0;background:#fff;border:1px solid var(--line);border-radius:16px;padding:38px;text-align:center;box-shadow:var(--shadow-2)}
.term-banner .ic{width:64px;height:64px;border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 16px}
.term-banner h1{font-size:19px;margin-bottom:8px}
.term-banner p{color:var(--ink-3);font-size:13.5px}

@media (max-width: 640px){
  .sign-top .row1{padding:8px 12px;gap:8px}
  .sign-brand .powered{display:none}
  .sign-actions .hide-sm{display:none}
  .sign-nav .inner{padding:8px 12px}
  .sign-body{padding:16px 8px 130px}
  .sign-footbar .inner{padding:8px 12px}
  .sign-footbar .btn{flex:1}
  .field-cell .cc-top{font-size:8.5px}
  .flowbar{padding:0 12px;gap:10px}
  .flow-actions .btn span.txt{display:none}
}
