:root{--navy:#021338;--navy-2:#0b2154;--orange:#fe7215;--grad:linear-gradient(95deg, #fdb515 0%, #ff5a14 100%);--bg:#f4f6fa;--surface:#fff;--border:#e3e8f0;--border-strong:#cfd7e3;--text:#0f172a;--muted:#64748b;--danger:#dc2626;--success:#059669;--radius:12px;--radius-sm:8px;--shadow:0 1px 2px #0213380d, 0 4px 16px #0213380a;--shadow-lg:0 12px 40px #0213382e;--font:"Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-head:"Lexend", var(--font);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}html,body{margin:0}body{font-family:var(--font);background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;font-size:15px;line-height:1.5}img{max-width:100%}button{font:inherit;color:inherit}a{color:inherit}:focus-visible{outline:2px solid var(--orange);outline-offset:2px}.app{flex-direction:column;min-height:100vh;display:flex}.topbar{background:var(--navy);z-index:30;position:sticky;top:0}.topbar:after{content:"";background:var(--grad);height:3px;display:block}.topbar-inner{justify-content:space-between;align-items:center;gap:12px;max-width:1080px;height:72px;margin:0 auto;padding:0 16px;display:flex}.topbar-inner.wide{max-width:1400px}.brand{align-items:center;gap:12px;text-decoration:none;display:flex}.brand img{width:auto;height:34px;display:block}.brand-product{font-family:var(--font-head);color:#fff;border-left:1px solid #ffffff40;padding-left:12px;font-size:20px;font-weight:500;line-height:1}.topbar-right{align-items:center;gap:12px;display:flex}.topbar-email{color:#ffffffb3;font-size:13px}.main{flex:1;width:100%;max-width:1080px;margin:0 auto;padding:28px 16px 80px}.main.wide{max-width:1400px}.narrow{max-width:620px;margin:0 auto}.center-pad{justify-content:center;padding:64px 16px;display:flex}.h1,.h2,.h3{font-family:var(--font-head);color:var(--navy);letter-spacing:-.01em;margin:0}.h1{font-size:26px;font-weight:600}.h2{font-size:21px;font-weight:600}.h3{font-size:17px;font-weight:600}p{margin:0}.muted{color:var(--muted)}.small{font-size:13px}.xsmall{font-size:12px}.strong{font-weight:600}.center{text-align:center}.mono{word-break:break-all;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:12px}.error{color:var(--danger);font-size:14px}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.min0{min-width:0}.grow{flex:1}.back{color:var(--muted);margin-bottom:8px;font-size:14px;text-decoration:none;display:inline-block}.back:hover{color:var(--navy)}.stack{flex-direction:column;gap:14px;display:flex}.stack-sm{flex-direction:column;gap:8px;display:flex}.stack-lg{flex-direction:column;gap:24px;display:flex}.row{align-items:center;gap:10px;display:flex}.row.between{justify-content:space-between}.row.end{justify-content:flex-end}.row.wrap{flex-wrap:wrap}.gap-sm{gap:8px}.gap-xs{gap:4px}.page-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;display:flex}.page-head .h1{margin-bottom:4px}.btn{cursor:pointer;white-space:nowrap;border:1px solid #0000;border-radius:10px;justify-content:center;align-items:center;gap:8px;height:42px;padding:0 18px;font-size:14.5px;font-weight:600;text-decoration:none;transition:background .15s,box-shadow .15s,transform 50ms,opacity .15s;display:inline-flex}.btn:active:not(:disabled){transform:translateY(1px)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn-sm{border-radius:8px;height:34px;padding:0 12px;font-size:13.5px}.btn-block{width:100%}.btn-primary{background:var(--navy);color:#fff}.btn-primary:hover:not(:disabled){background:var(--navy-2)}.btn-accent{background:var(--grad);color:var(--navy);box-shadow:0 2px 10px #fe721540}.btn-accent:hover:not(:disabled){box-shadow:0 4px 16px #fe721559}.btn-ghost{background:var(--surface);border-color:var(--border-strong);color:var(--navy)}.btn-ghost:hover:not(:disabled){background:#f8fafc;border-color:#b8c3d3}.btn-ghost.dashed{color:var(--muted);border-style:dashed}.btn-ghost-light{color:#fff;background:0 0;border-color:#ffffff40}.btn-ghost-light:hover{background:#ffffff14}.btn-danger-ghost{color:var(--danger);background:0 0;border-color:#fecaca}.btn-danger-ghost:hover{background:#fef2f2}.link{color:var(--orange);cursor:pointer;background:0 0;border:0;padding:0;font-weight:600;text-decoration:none}.link:hover:not(:disabled){text-decoration:underline}.link:disabled{color:var(--muted);cursor:default;font-weight:500}.icon-btn{width:32px;height:32px;color:var(--muted);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:8px;flex-shrink:0;place-items:center;display:inline-grid}.icon-btn:hover:not(:disabled){color:var(--navy);background:#eef2f7}.icon-btn:disabled{opacity:.4}.field{color:var(--navy);flex-direction:column;gap:6px;font-size:13.5px;font-weight:500;display:flex}.input{border:1px solid var(--border-strong);width:100%;height:44px;font:inherit;color:var(--text);background:#fff;border-radius:10px;padding:0 12px;transition:border-color .15s,box-shadow .15s}textarea.input{resize:vertical;height:auto;padding:10px 12px}.input:focus{border-color:var(--orange);outline:none;box-shadow:0 0 0 3px #fe721526}.input-sm{border-radius:8px;height:34px;padding:0 10px;font-size:13.5px}.code-input{text-align:center;letter-spacing:12px;height:60px;font-family:ui-monospace,Consolas,monospace;font-size:28px;font-weight:600}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow)}section.card{padding:20px}.card-title{font-family:var(--font-head);color:var(--navy);margin:0 0 14px;font-size:15px;font-weight:600}.badge{white-space:nowrap;border-radius:999px;align-items:center;height:24px;padding:0 10px;font-size:12px;font-weight:600;display:inline-flex}.badge-draft,.badge-pending{color:#475569;background:#eef2f7}.badge-sent{color:#b24a00;background:#fff4e6}.badge-viewed{color:#1d4ed8;background:#eff6ff}.badge-completed,.badge-signed{color:#047857;background:#ecfdf5}.badge-voided{color:#b91c1c;background:#fef2f2}.spinner-wrap{color:var(--muted);align-items:center;gap:12px;font-size:14px;display:flex}.spinner{border:3px solid #e2e8f0;border-top-color:var(--orange);border-radius:50%;width:26px;height:26px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.toasts{z-index:100;pointer-events:none;flex-direction:column;gap:8px;width:min(92vw,420px);display:flex;position:fixed;bottom:20px;left:50%;transform:translate(-50%)}.toast{background:var(--navy);color:#fff;box-shadow:var(--shadow-lg);border-radius:10px;padding:12px 16px;font-size:14px;animation:.2s ease-out toast-in}.toast-error{background:#991b1b}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}}.dev-note{color:#92400e;background:#fffbeb;border:1px dashed #f59e0b;border-radius:8px;padding:10px 12px;font-size:13px}.auth-card{flex-direction:column;gap:18px;max-width:440px;margin:6vh auto 0;padding:32px 28px;display:flex}.gate-doc{border:1px solid var(--border);background:#f8fafc;border-radius:10px;align-items:center;gap:12px;padding:12px;display:flex}.gate-icon{background:var(--navy);width:38px;height:38px;color:var(--orange);border-radius:10px;flex-shrink:0;place-items:center;display:grid}.tabs{border-bottom:1px solid var(--border);scrollbar-width:none;gap:4px;display:flex;overflow:auto hidden}.tab{color:var(--muted);cursor:pointer;white-space:nowrap;background:0 0;border:0;border-bottom:2px solid #0000;margin-bottom:-1px;padding:10px 12px;font-weight:500}.tab.active{color:var(--navy);border-bottom-color:var(--orange)}.tab-count{background:#eef2f7;border-radius:999px;margin-left:4px;padding:1px 7px;font-size:12px}.doc-list{margin:0;padding:0;list-style:none;overflow:hidden}.doc-list li+li{border-top:1px solid var(--border)}.doc-empty{text-align:center;padding:28px}.doc-row{text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:14px;width:100%;padding:14px 18px;display:flex}.doc-row:hover{background:#f8fafc}.doc-icon{width:40px;height:40px;color:var(--orange);background:#fff4e6;border-radius:10px;flex-shrink:0;place-items:center;display:grid}.doc-main{flex:1;min-width:0}.doc-title{color:var(--navy);text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.doc-meta{color:var(--muted);font-size:13px}.progress{background:#eef2f7;border-radius:3px;flex-shrink:0;width:80px;height:6px;overflow:hidden}.progress>div{background:var(--grad);border-radius:3px;height:100%}.empty{text-align:center;border-style:dashed;flex-direction:column;align-items:center;gap:8px;padding:56px 24px;text-decoration:none;display:flex}.empty:hover{border-color:var(--orange)}.empty-icon{background:var(--grad);width:52px;height:52px;color:var(--navy);border-radius:14px;place-items:center;margin-bottom:6px;display:grid}.dropzone{text-align:center;border:2px dashed var(--border-strong);background:var(--surface);cursor:pointer;border-radius:16px;flex-direction:column;align-items:center;gap:6px;padding:48px 20px;transition:border-color .15s,background .15s;display:flex}.dropzone:hover,.dropzone.drag{border-color:var(--orange);background:#fffaf5}.dropzone.has-file{border-style:solid;border-color:var(--orange)}.dropzone-icon{width:56px;height:56px;color:var(--orange);background:#fff4e6;border-radius:16px;place-items:center;margin-bottom:8px;display:grid}.pdf-view{flex-direction:column;align-items:center;gap:4px;width:100%;display:flex}.pdf-page-wrap{flex-direction:column;align-items:center;gap:6px;margin-bottom:14px;display:flex}.pdf-page{background:#fff;border-radius:2px;position:relative;box-shadow:0 1px 3px #0213381a,0 8px 24px #02133814}.pdf-canvas,.pdf-canvas canvas{width:100%;height:100%;display:block;position:absolute;inset:0}.pdf-overlay{position:absolute;inset:0}.pdf-page-num{color:var(--muted);font-size:12px}.placing .pdf-overlay.clickable{cursor:crosshair}.field-box{border:1.5px solid var(--c);background:color-mix(in srgb, var(--c) 14%, transparent);color:var(--text);-webkit-user-select:none;user-select:none;border-radius:4px;align-items:center;padding:0 6px;display:flex;position:absolute;overflow:visible}.field-label{color:color-mix(in srgb, var(--c) 80%, #000);white-space:nowrap;text-overflow:ellipsis;pointer-events:none;font-size:11px;font-weight:600;overflow:hidden}.field-box.editable{cursor:move;touch-action:none}.field-box.editable.selected{box-shadow:0 0 0 3px color-mix(in srgb, var(--c) 30%, transparent);z-index:2}.field-remove{background:var(--navy);color:#fff;cursor:pointer;width:28px;height:28px;box-shadow:var(--shadow);border:0;border-radius:50%;place-items:center;display:grid;position:absolute;top:-14px;right:-14px}.field-resize{background:var(--c);cursor:nwse-resize;touch-action:none;border:2px solid #fff;border-radius:3px;width:14px;height:14px;position:absolute;bottom:-6px;right:-6px}.field-box.pending{background:color-mix(in srgb, var(--c) 6%, transparent);border-style:dashed}.field-filled{color:#0b1b3f;white-space:nowrap;align-items:center;padding:0 2px;display:flex;position:absolute;overflow:hidden}.field-filled img{object-fit:contain;object-position:left center;max-width:100%;max-height:100%}.field-box.mine{cursor:pointer;font:inherit}.field-box.mine.todo{background:color-mix(in srgb, var(--c) 20%, #fff);animation:2s ease-in-out infinite pulse}.field-box.mine.filled{border-color:color-mix(in srgb, var(--c) 40%, transparent);background:0 0;border-style:dashed}.field-box.mine img{object-fit:contain;object-position:left center;max-width:100%;max-height:100%}.field-box.mine.auto{background:color-mix(in srgb, var(--c) 6%, transparent);cursor:default;white-space:nowrap;border-style:dashed;overflow:hidden}.field-box.input-field{padding:0}.field-box.input-field input{width:100%;height:100%;font:inherit;color:var(--text);background:0 0;border:0;outline:none;padding:0 6px}.field-cta{color:color-mix(in srgb, var(--c) 85%, #000);white-space:nowrap;align-items:center;gap:6px;font-size:13px;font-weight:600;display:inline-flex}@keyframes pulse{50%{box-shadow:0 0 0 4px color-mix(in srgb, var(--c) 20%, transparent)}}.prepare{grid-template-columns:330px 1fr;align-items:start;gap:28px;display:grid}.prepare-side{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);max-height:calc(100vh - 112px);box-shadow:var(--shadow);flex-direction:column;gap:4px;display:flex;position:sticky;top:96px;overflow-y:auto}.side-section{flex-direction:column;gap:10px;padding:16px 18px;display:flex}.side-section+.side-section{border-top:1px solid var(--border)}.side-title{font-family:var(--font-head);color:var(--navy);justify-content:space-between;align-items:baseline;font-size:14.5px;font-weight:600;display:flex}.title-input{font-family:var(--font-head);color:var(--navy);background:0 0;border:1px solid #0000;border-radius:8px;width:calc(100% + 12px);margin:0 -6px;padding:4px 6px;font-size:19px;font-weight:600}.title-input:hover{border-color:var(--border)}.title-input:focus{border-color:var(--orange);outline:none}.recipient-card{border:1.5px solid var(--border);cursor:pointer;border-radius:10px;align-items:flex-start;gap:10px;padding:10px;transition:border-color .15s;display:flex}.recipient-card.active{border-color:var(--c);background:color-mix(in srgb, var(--c) 5%, #fff)}.recipient-card .dot{background:var(--c);border-radius:50%;flex-shrink:0;width:10px;height:10px;margin-top:12px}.recipient-inputs{flex-direction:column;flex:1;gap:6px;min-width:0;display:flex}.tools{grid-template-columns:1fr 1fr;gap:8px;display:grid}.tool{border:1.5px solid var(--border-strong);height:40px;color:var(--navy);cursor:pointer;text-align:left;border-left:4px solid var(--c);background:#fff;border-radius:8px;padding:0 12px;font-size:13.5px;font-weight:600}.tool:hover:not(:disabled){border-color:var(--c)}.tool.active{background:var(--c);color:#fff;border-color:var(--c)}.tool:disabled{opacity:.45;cursor:not-allowed}.hint{min-height:36px}.problems{color:#b24a00;margin:0;padding-left:18px}.prepare-doc{min-width:0}.detail-grid{grid-template-columns:1fr 320px;align-items:start;gap:24px;display:grid}.recipient-list{margin:0;padding:0;list-style:none}.recipient-row{align-items:center;gap:12px;padding:12px 0;display:flex}.recipient-row+.recipient-row{border-top:1px solid var(--border)}.avatar{color:#fff;border-radius:50%;flex-shrink:0;place-items:center;width:36px;height:36px;font-weight:700;display:grid}.recipient-actions{flex-shrink:0;align-items:center;gap:6px;display:flex}.check{width:26px;height:26px;color:var(--success);background:#ecfdf5;border-radius:50%;flex-shrink:0;place-items:center;display:grid}.check.big{width:48px;height:48px}.complete-card{align-items:flex-start;gap:14px;display:flex}.timeline{border-left:2px solid var(--border);flex-direction:column;gap:14px;max-height:420px;margin:0;padding:0 0 0 14px;list-style:none;display:flex;overflow-y:auto}.timeline li{position:relative}.timeline li:before{content:"";border:2px solid var(--orange);background:#fff;border-radius:50%;width:10px;height:10px;position:absolute;top:6px;left:-20px}.details{grid-template-columns:1fr;gap:2px;margin:0 0 16px;display:grid}.details dt{color:var(--muted);margin-top:8px}.details dd{margin:0}.doc-preview{border-radius:var(--radius);background:#e9edf3;padding:20px 12px}.signing{flex-direction:column;gap:16px;max-width:920px;margin:0 auto;display:flex}.sign-bar{z-index:20;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);background:#ffffffeb;justify-content:space-between;align-items:center;gap:12px;padding:12px 16px;display:flex;position:sticky;top:75px}.note{padding:14px 16px}.note p{white-space:pre-wrap;margin-top:4px}.sign-footer{display:none}.done-card{flex-wrap:wrap;align-items:center;gap:18px;padding:22px;display:flex}.modal-backdrop{z-index:60;background:#02133873;place-items:center;padding:16px;animation:.15s fade;display:grid;position:fixed;inset:0}.modal{width:min(560px,100%);box-shadow:var(--shadow-lg);background:#fff;border-radius:16px;flex-direction:column;gap:16px;padding:22px;animation:.18s ease-out pop;display:flex}.modal-head{justify-content:space-between;align-items:center;display:flex}@keyframes fade{0%{opacity:0}}@keyframes pop{0%{opacity:0;transform:translateY(10px)scale(.98)}}.seg{background:#eef2f7;border-radius:10px;align-self:flex-start;padding:3px;display:inline-flex}.seg button{color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:8px;padding:7px 18px;font-size:14px;font-weight:600}.seg button.active{color:var(--navy);background:#fff;box-shadow:0 1px 3px #00000014}.sig-draw{position:relative}.sig-canvas{border:1.5px dashed var(--border-strong);touch-action:none;cursor:crosshair;background:#fcfdfe;border-radius:12px;width:100%;height:200px;display:block}.sig-canvas.initials{height:160px}.sig-baseline{pointer-events:none;border-bottom:1px solid #cbd5e1;position:absolute;bottom:44px;left:24px;right:24px}.sig-placeholder{color:#94a3b8;pointer-events:none;place-items:center;font-size:14px;display:grid;position:absolute;inset:0}.sig-clear{font-size:13px;position:absolute;top:10px;right:12px}.font-picks{flex-direction:column;gap:8px;display:flex}.font-pick{border:1.5px solid var(--border);color:#0b1b3f;cursor:pointer;text-align:left;white-space:nowrap;text-overflow:ellipsis;background:#fff;border-radius:10px;height:70px;padding:0 18px;font-size:34px;overflow:hidden}.font-pick.active{border-color:var(--orange);box-shadow:0 0 0 3px #fe721526}.legal{line-height:1.45}@media (width<=960px){.prepare{grid-template-columns:1fr;gap:16px}.prepare-side{max-height:none;position:static}.tools-section{z-index:15;border-radius:0 0 var(--radius) var(--radius);background:#fff;position:sticky;top:75px;box-shadow:0 6px 12px -8px #02133833}.detail-grid{grid-template-columns:1fr}}@media (width<=640px){.main{padding:20px 12px 96px}.h1{font-size:22px}.topbar-email{display:none}.topbar-inner{height:64px}.brand img{height:28px}.brand-product{font-size:17px}.sign-bar,.tools-section{top:67px}.done-card>.grow{flex:220px}.done-card>.btn,.page-head>.btn,.page-head>.row{width:100%}.page-head>.row>.btn{flex:1}.progress{display:none}.tabs{scrollbar-width:none}.tab{padding:10px 8px;font-size:14px}.doc-row{gap:10px;padding:12px 14px}.doc-row .badge{display:none}.tools{grid-template-columns:repeat(3,1fr)}.tool{padding:0 8px;font-size:12.5px}.sign-bar .btn{display:none}.sign-footer{padding:12px 16px calc(12px + env(safe-area-inset-bottom));border-top:1px solid var(--border);z-index:25;background:#fffffff2;display:block;position:fixed;bottom:0;left:0;right:0}.auth-card{margin-top:2vh;padding:24px 18px}.doc-preview{border-radius:0;margin:0 -12px;padding:12px 6px}.recipient-actions .badge{display:none}.modal{padding:18px}.font-pick{height:60px;font-size:28px}}
