:root{--bg: #eef0f3;--panel: #ffffff;--ink: #1f2328;--muted: #6b7280;--line: #dfe3e8;--accent: #e5484d;--accent-ink: #ffffff;--blue: #3b82f6;--top: #1f2328;--radius: 10px;--shadow: 0 1px 2px rgba(0, 0, 0, .06), 0 4px 16px rgba(0, 0, 0, .08);color-scheme:light}*{box-sizing:border-box}html,body{margin:0;height:100%}body{font:14px/1.4 system-ui,-apple-system,Segoe UI,Roboto,sans-serif;color:var(--ink);background:var(--bg);display:flex;flex-direction:column;overflow:hidden;-webkit-tap-highlight-color:transparent}button,select,input{font:inherit;color:inherit}.topbar{display:flex;align-items:center;gap:12px;padding:8px 14px;padding-top:max(8px,env(safe-area-inset-top));background:var(--top);color:#fff;flex:none}.brand{display:flex;align-items:center;gap:8px;font-size:17px;letter-spacing:.2px;white-space:nowrap}.brand b{color:#ff8a8d}.topbar-actions{margin-left:auto;display:flex;align-items:center;gap:4px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:36px;padding:0 12px;border:0;border-radius:8px;background:transparent;color:inherit;cursor:pointer;white-space:nowrap}.topbar .btn:hover:not(:disabled){background:#ffffff1a}.btn:disabled{opacity:.35;cursor:default}.btn.primary{background:var(--accent);color:var(--accent-ink);font-weight:600}.btn.primary:hover{filter:brightness(1.08)}.btn.big{height:48px;padding:0 26px;font-size:16px}.icon-btn{width:36px;padding:0}.zoom-label{min-width:56px;padding:0 6px;font-variant-numeric:tabular-nums}.sep{width:1px;height:22px;background:#ffffff2e;margin:0 4px}.toolbar{display:flex;gap:2px;padding:6px 10px;background:var(--panel);border-bottom:1px solid var(--line);overflow-x:auto;scrollbar-width:none;flex:none}.toolbar::-webkit-scrollbar{display:none}.tool{flex:none;display:flex;flex-direction:column;align-items:center;gap:2px;min-width:64px;padding:6px 6px 4px;border:0;border-radius:8px;background:transparent;cursor:pointer;color:#3a4048}.tool small{font-size:11px;white-space:nowrap}.tool:hover{background:#f2f4f7}.tool.active{background:#fdecec;color:var(--accent)}.tool-sep{flex:none;width:1px;margin:6px;background:var(--line)}.propbar{display:flex;align-items:center;gap:6px;padding:6px 12px;background:#f8f9fb;border-bottom:1px solid var(--line);overflow-x:auto;flex:none;min-height:48px}.propbar[hidden]{display:none}.propbar select,.propbar .pb-num{height:34px;border:1px solid var(--line);border-radius:7px;background:#fff;padding:0 8px}.pb-num{width:68px}.pb-btn{flex:none;display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border:1px solid transparent;border-radius:7px;background:transparent;cursor:pointer}.pb-btn:hover{background:#eceff3}.pb-btn.on{background:#e3ecfd;border-color:#bcd2fb;color:#1d4ed8}.pb-btn.u{text-decoration:underline;font-weight:600;font-size:16px}.pb-btn.danger:hover{background:#fdecec;color:var(--accent)}.pb-color{flex:none;display:inline-flex;align-items:center;gap:4px;font-size:12px;color:var(--muted);cursor:pointer}.pb-color input{width:32px;height:32px;padding:0;border:1px solid var(--line);border-radius:7px;background:#fff;cursor:pointer}.pb-color input::-webkit-color-swatch-wrapper{padding:3px}.pb-color input::-webkit-color-swatch{border:0;border-radius:4px}.pb-range,.pb-check{flex:none;display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--muted)}.pb-range input{width:90px}.pb-sep{flex:none;width:1px;height:24px;background:var(--line);margin:0 4px}.viewer{flex:1;overflow:auto;position:relative;-webkit-overflow-scrolling:touch}.pages{display:flex;flex-direction:column;align-items:center;gap:18px;padding:18px 8px 120px;min-width:min-content}.page-wrap{flex:none}.page-head{display:flex;align-items:center;justify-content:space-between;gap:8px;height:32px;color:var(--muted);font-size:12px}.page-tools{display:flex;gap:2px;opacity:.55;transition:opacity .15s}.page-wrap:hover .page-tools,.page-tools:focus-within{opacity:1}.mini{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border:0;border-radius:6px;background:transparent;color:#4b5563;cursor:pointer}.mini:hover:not(:disabled){background:#dde2e8}.mini.danger:hover{color:var(--accent);background:#fdecec}.mini:disabled{opacity:.3;cursor:default}.page{position:relative;background:#fff;box-shadow:var(--shadow)}.page-bg{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.page .canvas-container.fabric-layer{position:absolute!important;inset:0}.text-layer{position:absolute;inset:0;pointer-events:none;z-index:5}.text-box{position:absolute;transform-origin:0 0;pointer-events:auto;cursor:text;outline:1px dashed rgba(59,130,246,.55);background:#3b82f60f;border-radius:2px}.text-box:hover{background:#3b82f62e;outline:1.5px solid var(--blue)}.dropzone{min-height:100%;display:grid;place-items:center;padding:24px 16px}.dz-card{width:min(560px,100%);padding:40px 28px;text-align:center;background:var(--panel);border:2px dashed #cfd5dc;border-radius:16px;transition:border-color .15s,background .15s}.dragging .dz-card{border-color:var(--accent);background:#fff7f7}.dz-icon{display:inline-flex;color:var(--accent);margin-bottom:8px}.dz-card h1{margin:0 0 8px;font-size:26px}.dz-card p{margin:0 auto 22px;max-width:420px;color:#4b5563}.dz-card .muted{margin:12px 0 0;color:var(--muted);font-size:13px}.privacy{display:flex;align-items:center;justify-content:center;gap:6px;margin-top:26px!important;font-size:12px;color:var(--muted)!important}.privacy svg{width:14px;height:14px}body:not(.has-doc) .doc-only,body.has-doc .dropzone{display:none!important}.dialog{border:0;padding:0;border-radius:14px;box-shadow:0 20px 60px #0000004d;width:min(600px,calc(100vw - 24px))}.dialog::backdrop{background:#0f121680}.dialog-card{padding:18px}.dialog-card h2{margin:0 0 12px;font-size:18px}.sig-pad-wrap{position:relative;height:200px;border:1px solid var(--line);border-radius:10px;background:#fafbfc;overflow:hidden;touch-action:none}.sig-pad-wrap:after{content:"";position:absolute;left:24px;right:24px;bottom:44px;border-bottom:1px solid #cfd5dc;pointer-events:none}.sig-hint{position:absolute;left:24px;bottom:20px;font-size:12px;color:#9aa3ad;pointer-events:none}.sig-pad-wrap.signed .sig-hint{display:none}.sig-options{display:flex;gap:18px;flex-wrap:wrap;margin:12px 0;font-size:13px;color:var(--muted)}.sig-options label{display:flex;align-items:center;gap:8px}.sig-options select{height:32px;border:1px solid var(--line);border-radius:7px;padding:0 6px}.dialog-actions{display:flex;gap:8px;align-items:center}.dialog-actions .btn:not(.primary){background:#f0f2f5}.grow{flex:1}.toast{position:fixed;left:50%;bottom:max(24px,env(safe-area-inset-bottom));transform:translate(-50%);max-width:calc(100vw - 32px);padding:10px 16px;border-radius:10px;background:#1f2328f0;color:#fff;font-size:13px;box-shadow:var(--shadow);z-index:50;pointer-events:none}.toast[hidden],.busy[hidden]{display:none}.busy{position:fixed;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;background:#ffffffb3;backdrop-filter:blur(2px);z-index:60;font-weight:500}.spinner{width:36px;height:36px;border:3px solid #e5e7eb;border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media(max-width:700px){.topbar{padding:6px 8px;padding-top:max(6px,env(safe-area-inset-top));gap:4px}.brand span,.hide-sm{display:none}.btn.primary{padding:0 10px}.topbar-actions .sep{display:none}.topbar .icon-btn{width:32px}.zoom-label{min-width:44px;font-size:12px}.tool{min-width:58px}.propbar{order:10;position:fixed;left:0;right:0;bottom:0;z-index:20;padding-bottom:max(6px,env(safe-area-inset-bottom));border-top:1px solid var(--line);box-shadow:0 -4px 16px #00000014}.page-tools{opacity:1}.pages{gap:12px;padding-top:10px}}@media(max-width:700px){.toast{bottom:calc(72px + env(safe-area-inset-bottom))}}.propbar .pb-font{max-width:190px}
