:root{--ink: #323130;--muted: #605e5c;--line: #edebe9;--paper: #ffffff;--canvas: #faf9f8;--accent: #0078d4;--accent-hover: #106ebe;--success: #107c10;--danger: #a4262c}*{box-sizing:border-box}body{margin:0;color:var(--ink);background:var(--canvas);font-family:Segoe UI,"Segoe UI Web (West European)",-apple-system,BlinkMacSystemFont,Roboto,Helvetica Neue,sans-serif}.portalShell{min-height:100vh;display:flex;flex-direction:column}.portalHeader{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px clamp(16px,4vw,40px);background:var(--paper);border-bottom:1px solid var(--line)}.portalBrand{display:flex;align-items:center;gap:12px}.brandBadge{padding:4px 10px;border-radius:2px;background:var(--accent);color:#fff;font-size:13px;font-weight:600}.brandSub{color:var(--muted);font-size:13px}.zeroLoginTag{padding:4px 10px;border:1px solid #c7e0f4;border-radius:2px;background:#eff6fc;color:var(--accent);font-size:12px;font-weight:600}.portalMain{flex:1;width:100%;max-width:1360px;margin:0 auto;padding:24px clamp(16px,4vw,40px)}.portalGrid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(320px,.85fr);gap:20px;align-items:start}.portalCard{background:var(--paper);border:1px solid var(--line);border-radius:2px;padding:20px}.statusCard{max-width:560px;margin:48px auto;text-align:center}.successCheck{width:48px;height:48px;margin:0 auto 14px;border-radius:50%;background:#dff6dd;color:var(--success);font-size:24px;font-weight:700;line-height:48px}.spinner{width:32px;height:32px;margin:0 auto 14px;border:3px solid var(--line);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.docHeader{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:14px}.docHeader h1{margin:0 0 6px;font-size:20px;font-weight:600}.docMeta{margin:0;display:flex;flex-wrap:wrap;gap:14px;color:var(--muted);font-size:12px}.senderNote{margin-bottom:14px;padding:12px 14px;border-left:3px solid var(--accent);background:#f3f2f1;font-size:13px}.senderNote p{margin:4px 0 0}.pdfFrameWrap{border:1px solid var(--line);border-radius:2px;overflow:hidden;background:#f3f2f1}.pdfFrame{width:100%;height:620px;border:0;display:block}.signColumn h2{margin:0 0 14px;font-size:18px;font-weight:600}.signForm{display:flex;flex-direction:column;gap:14px}.field{display:flex;flex-direction:column;gap:6px;font-size:13px;font-weight:600}.field input,.typedWrap input{width:100%;min-height:36px;padding:6px 10px;border:1px solid #c8c6c4;border-radius:2px;font:inherit;font-weight:400}.sigBox{border:1px solid var(--line);border-radius:2px;padding:12px;background:#faf9f8}.sigHeader{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px;font-size:13px;font-weight:600}.sigTabs{display:flex;gap:6px}.tabBtn,.tabActive{padding:4px 10px;border-radius:2px;font:inherit;font-size:12px;font-weight:600;cursor:pointer}.tabBtn{border:1px solid #c8c6c4;background:var(--paper);color:var(--ink)}.tabActive{border:1px solid var(--accent);background:var(--accent);color:#fff}.sigCanvas{width:100%;height:150px;background:var(--paper);border:1px dashed #8a8886;border-radius:2px;touch-action:none;cursor:crosshair}.sigFooter{display:flex;align-items:center;justify-content:space-between;margin-top:6px;color:var(--muted);font-size:12px}.typedWrap{display:flex;flex-direction:column;gap:8px}.typedPreview{min-height:76px;padding:14px;background:var(--paper);border:1px dashed #8a8886;border-radius:2px;font-family:Brush Script MT,Segoe Script,Georgia,serif;font-style:italic;font-size:32px;color:#0f2744;display:flex;align-items:center}.consentRow{display:flex;align-items:flex-start;gap:10px;font-size:12px;line-height:1.45;color:var(--ink);cursor:pointer}.consentRow input{margin-top:2px}.primaryBtn,.secondaryBtn{display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:0 16px;border-radius:2px;font:inherit;font-size:13px;font-weight:600;text-decoration:none;cursor:pointer}.primaryBtn{border:1px solid var(--accent);background:var(--accent);color:#fff}.primaryBtn:hover:not(:disabled){background:var(--accent-hover)}.primaryBtn:disabled{opacity:.65;cursor:wait}.secondaryBtn{border:1px solid #c8c6c4;background:var(--paper);color:var(--ink);white-space:nowrap}.secondaryBtn:hover{background:#f3f2f1}.fullBtn{width:100%}.textBtn{border:0;background:transparent;color:var(--accent);font:inherit;font-size:12px;font-weight:600;cursor:pointer}.errorBanner{margin:0;padding:10px 12px;border:1px solid #f1bbbc;border-radius:2px;background:#fde7e9;color:var(--danger);font-size:13px}.mutedHint{color:var(--muted);font-size:13px}@media(max-width:960px){.portalGrid{grid-template-columns:1fr}.pdfFrame{height:420px}}
