:root{--font:Inter,"Segoe UI",Arial,sans-serif;--ink:#253731;--muted:#697970;--accent:#28654f;--accent-dark:#194a38;--accent-soft:#edf4ee;--surface:#fff;--canvas:#f6f7f3;--border:#e1e7df;--border-strong:#bdcbbf;--dot:#dce3d9;--shadow:0 8px 35px #203b2510,0 1px 4px #203b2510;--error:#992f2f;--error-bg:#fff0ee}.auth-shell{max-width:440px;margin:10vh auto;padding:28px;background:var(--surface);border:1px solid var(--border);border-radius:14px}.auth-shell .card{display:flex;flex-direction:column;gap:12px;margin-top:24px}.auth-shell label{font-size:13px}.auth-shell input{padding:12px;border:1px solid var(--border-strong);border-radius:7px;min-width:0}.auth-shell .link{background:transparent;border:0;font-size:12px}.auth-shell .secret{overflow-wrap:anywhere}.auth-shell .muted{opacity:1;color:var(--muted);font-size:13px}.auth-shell .qr{align-self:center}.modal-backdrop{position:fixed;inset:0;z-index:10;background:#10281e66;display:flex;align-items:center;justify-content:center;padding:20px;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.modal{background:var(--surface);border-radius:14px;padding:24px;width:min(800px,100%);max-height:92vh;overflow:auto;box-shadow:var(--shadow)}.modal-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:12px}.modal-heading h2{font-size:19px}.modal .primary{margin-top:18px}.draw-controls{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin:18px 0;font-size:12px}.draw-controls label{display:flex;align-items:center;gap:8px}.draw-controls input{width:120px;margin:0}.draw-controls select,.modal select{padding:7px;background:var(--surface);border:1px solid var(--border);border-radius:5px}.drawing-canvas{width:100%;aspect-ratio:900/320;border:1px dashed var(--border-strong);border-radius:8px;touch-action:none;background:var(--canvas);cursor:crosshair}.crop-page{position:relative;max-width:580px;margin:16px auto;touch-action:none;cursor:crosshair;line-height:0}.crop-page img{width:100%;pointer-events:none}.crop-box{position:absolute;border:2px solid var(--accent);background:#28654f22;pointer-events:none}.saved-files{padding:0;list-style:none}.saved-files li{display:flex;align-items:center;gap:8px;padding:14px 0;border-bottom:1px solid var(--border);font-size:13px}.saved-files li>div{flex:1;overflow-wrap:anywhere;min-width:0}.saved-files small{display:block;color:var(--muted);margin-top:4px}.save-signature{margin-top:10px;width:100%;font-size:11px}footer .button-row{margin:0;flex-wrap:wrap}footer{flex-wrap:wrap}@media(max-width:600px){.auth-shell{margin:24px 12px}.modal-backdrop{padding:8px}.modal{padding:16px}.saved-files li{flex-wrap:wrap}.saved-files li>div{flex-basis:100%}header{flex-wrap:wrap;height:auto;min-height:76px;padding-top:12px;padding-bottom:12px}.private{margin-left:0}}.blue-option{display:flex;align-items:center;gap:8px;font-size:12px;margin-top:15px}.crop-preview{padding:16px;background:var(--canvas);border:1px solid var(--border);border-radius:8px;margin-top:12px}.crop-preview p{font-size:12px}.crop-preview img{max-width:100%;max-height:130px;object-fit:contain}.brand-logo{display:block;width:155px;height:auto}.auth-shell{width:calc(100% - 32px);max-width:460px;margin:48px auto;padding:36px;border-radius:20px;box-shadow:var(--shadow)}.auth-shell .brand-logo{width:190px}.auth-product{font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);margin:26px 0 8px}.auth-shell .auth-intro{font-size:14px;line-height:1.6;margin:0;color:var(--muted)}.auth-shell .card{gap:10px;margin-top:28px}.auth-shell h1{font-size:28px;letter-spacing:-.7px;margin:0 0 12px;font-weight:650}.auth-shell button{min-height:44px;font-size:14px}.auth-shell .link{min-height:36px;font-size:13px}.auth-shell input{min-height:46px;background:var(--surface);color:var(--ink);transition:border-color .15s,box-shadow .15s}.auth-shell input:focus{outline:2px solid var(--accent);outline-offset:2px}.auth-shell label{font-weight:600;margin-top:4px}.auth-shell .hint{font-size:12px;line-height:1.6;color:var(--muted);margin:5px 0}.auth-shell .error{padding:12px;border-radius:8px;font-size:13px;line-height:1.5}.auth-shell .primary{margin-top:8px}.auth-shell .muted{line-height:1.6}.auth-shell button:disabled{opacity:.6}@media(max-width:600px){.auth-shell{padding:26px 24px;margin:20px auto}.auth-shell .brand-logo{width:170px}.brand-logo{width:125px}}*{box-sizing:border-box}body{margin:0;font-family:var(--font);color:var(--ink);background:var(--canvas)}button,input{font:inherit}button{cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:8px;background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:9px 12px;color:var(--ink);font-size:13px;font-weight:550}button:hover:not(:disabled){border-color:var(--accent);background:var(--accent-soft)}button:disabled{opacity:.4;cursor:not-allowed}button:focus-visible,a:focus-visible{outline:3px solid var(--accent);outline-offset:3px}header{height:76px;padding:0 36px;border-bottom:1px solid var(--border);background:var(--surface);display:flex;align-items:center;gap:24px}.brand{font-size:23px;font-weight:800;letter-spacing:-1px;display:flex;align-items:center;text-decoration:none;color:var(--ink)}.brand>span:first-child{font-weight:450}.brand-divider{height:23px;width:1px;background:var(--border);margin:0 22px}.brand small{font-size:14px;font-weight:500;letter-spacing:0}.private{margin-left:auto;color:var(--accent);display:flex;align-items:center;gap:7px;font-size:12px;font-weight:600}.text-button{border:0;background:transparent;color:var(--muted)}main{display:grid;grid-template-columns:320px minmax(0,1fr);min-height:calc(100vh - 76px)}aside{background:var(--surface);padding:30px 26px;border-right:1px solid var(--border)}.eyebrow{font-size:10px;letter-spacing:1.8px;font-weight:700;color:var(--accent)}h1{font-size:27px;letter-spacing:-1px;line-height:1.18;margin:14px 0 10px;font-weight:650}.intro{font-size:13px;color:var(--muted);margin-bottom:30px}section{margin-bottom:25px}.section-title{display:flex;align-items:center;gap:9px;margin-bottom:13px}h2{font-size:14px;margin:0;font-weight:650}.step{width:21px;height:21px;background:var(--accent-soft);color:var(--accent);border-radius:50%;font-size:11px;font-weight:700;display:grid;place-items:center}.upload{border:1px dashed var(--border-strong);display:flex;flex-direction:column;width:100%;min-height:113px;background:var(--canvas);padding:15px}.upload strong{font-size:12px;max-width:100%;overflow-wrap:anywhere}.upload small{font-size:11px;color:var(--muted);font-weight:400}.upload svg{color:var(--accent)}.signature-upload{width:100%;height:85px;display:flex;gap:10px;font-size:12px;border-style:dashed}.has-signature{background:var(--canvas)}.signature-upload img{max-width:85%;max-height:65px;object-fit:contain}.hint{font-size:11px;line-height:1.55;color:var(--muted);margin:8px 0 0}.selection-tag{margin-left:auto;font-size:10px;color:var(--muted)}.range-label{display:flex;justify-content:space-between;font-size:12px;margin-top:16px}.range-label output{color:var(--muted);font-variant-numeric:tabular-nums}input[type=range]{width:100%;accent-color:var(--accent);height:18px;margin:8px 0 0}.rule{border-top:1px solid var(--border);margin-top:20px}.button-row{display:flex;gap:8px;margin-top:14px}.button-row button{flex:1}.privacy-note{display:flex;gap:9px;border-top:1px solid var(--border);padding-top:17px;color:var(--muted)}.privacy-note svg{flex-shrink:0;color:var(--accent);margin-top:3px}.privacy-note p{font-size:11px;line-height:1.5;margin:0}.workspace{display:flex;flex-direction:column;min-width:0}.toolbar{min-height:66px;padding:12px 28px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--border);gap:12px;background:var(--surface)}.toolbar>div{display:flex;align-items:center;gap:10px}.toolbar strong{font-size:13px}.toolbar svg{color:var(--muted)}.count{font-size:11px;color:var(--accent);border-radius:20px;background:var(--accent-soft);padding:4px 8px}.preview-space{padding:32px;flex:1;display:flex;align-items:flex-start;justify-content:center;background-image:radial-gradient(var(--dot) 1px,transparent 1px);background-size:20px 20px;min-height:600px}.empty{align-self:center;text-align:center;color:var(--muted);padding:60px 10px}.empty-paper{width:115px;height:146px;background:var(--surface);box-shadow:var(--shadow);border:1px solid var(--border);border-radius:9px;margin:0 auto 30px;transform:rotate(-5deg);display:flex;align-items:center;justify-content:center;flex-direction:column;gap:9px}.empty-paper svg{color:var(--accent);margin-bottom:8px}.empty-paper span{display:block;width:60px;height:3px;background:var(--border)}.empty h2{font-size:21px;color:var(--ink);letter-spacing:-.5px}.empty p{font-size:13px;line-height:1.7}.empty-chip{display:inline-flex;align-items:center;gap:7px;font-size:11px;background:var(--surface);border:1px solid var(--border);border-radius:20px;padding:8px 12px;margin-top:10px}.paper{position:relative;width:min(100%,640px);background:#fff;box-shadow:var(--shadow);line-height:0;align-self:flex-start}.page-image{width:100%;height:100%;display:block;pointer-events:none}.placed-signature{position:absolute;padding:0;border:1px solid transparent;border-radius:2px;background:transparent;touch-action:none;line-height:0;cursor:move;min-height:0}.placed-signature:hover:not(:disabled){background:transparent;border-color:var(--accent)}.placed-signature.selected{outline:1px solid var(--accent);outline-offset:4px}.placed-signature img{width:100%;display:block;pointer-events:none}.signature-handle{position:absolute;width:7px;height:7px;background:var(--surface);border:1px solid var(--accent);right:-8px;bottom:-8px;pointer-events:none}.page-navigation{display:flex;align-items:center;justify-content:center;gap:15px;padding:14px;font-size:12px}.page-navigation small{color:var(--muted);font-size:11px}.page-navigation button{padding:5px}.message{margin:14px 28px 0;padding:12px 16px;border-radius:8px;background:var(--accent-soft);color:var(--accent);font-size:12px;display:flex;align-items:center;gap:10px}.error{background:var(--error-bg);color:var(--error)}.spinner{width:14px;height:14px;border:2px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}footer{background:var(--surface);border-top:1px solid var(--border);padding:20px 28px;display:flex;align-items:center;justify-content:space-between;gap:15px}footer p{font-size:11px;color:var(--muted)}button.primary{background:var(--accent);color:#fff;border-color:var(--accent);padding:12px 18px}button.primary:hover:not(:disabled){background:var(--accent-dark);color:#fff}.muted{opacity:.65}@media(max-width:850px){header{padding:0 18px;gap:10px}.brand-divider{margin:0 12px}main{grid-template-columns:270px minmax(0,1fr)}aside{padding:25px 18px}.toolbar{padding:12px;flex-wrap:wrap}.preview-space{padding:20px 12px;min-height:400px}.count{display:none}.page-navigation{flex-wrap:wrap;gap:10px}.page-navigation small{width:100%;text-align:center}footer{padding:15px;flex-wrap:wrap}}@media(max-width:600px){header{height:auto;min-height:68px;flex-wrap:wrap;padding:14px}.brand small{font-size:12px}.private{font-size:10px}.text-button{font-size:11px;padding:4px}main{display:block}aside{border-right:0;border-bottom:1px solid var(--border)}h1{font-size:24px}section{margin-bottom:20px}.intro{margin-bottom:20px}.preview-space{min-height:380px}.privacy-note{padding-top:12px}.toolbar{padding:15px}.toolbar button{font-size:11px}footer .primary{width:100%}.empty{padding:35px 10px}}
