:root{font-family:Inter,system-ui,-apple-system,"Segoe UI",Arial,sans-serif;color:#23314d;background:#f3f6fb;font-synthesis:none}*{box-sizing:border-box}body{margin:0}header{background:#fff;border-bottom:1px solid #dae3f0}.wrap{max-width:1100px;margin:auto;padding:0 22px}.top{height:78px;display:flex;align-items:center;justify-content:space-between}.brand{font-weight:800;font-size:23px;color:#19356d;display:flex;align-items:center;gap:12px}.brand small{font-size:10px;display:block;letter-spacing:1.8px;color:#7488aa;margin-top:3px}.logo{display:inline-grid;place-items:center;background:#2355cc;color:#fff;width:44px;height:44px;border-radius:12px;font-size:25px}main{padding-top:30px;padding-bottom:36px}.notice{background:#fff8e6;padding:14px 18px;border:1px solid #ead8a9;border-radius:11px;margin-bottom:25px;color:#654b17;line-height:1.5}.alert{background:#fff0ef;color:#a51d1d;padding:13px;border-radius:9px;margin:18px 0}.success{color:#047857}.hero{margin:14px 0 22px}h1{font-size:clamp(27px,4vw,38px);margin:0 0 10px;letter-spacing:-.8px;color:#172e5c}h2{margin:0 0 19px;font-size:21px;color:#172e5c}p{line-height:1.55}.hero p{color:#677997;margin:0}.card{background:#fff;border:1px solid #e0e7f2;box-shadow:0 8px 32px #1733630b;border-radius:16px;padding:26px;margin-bottom:22px}.narrow{max-width:520px;margin:65px auto}.gridform{display:grid;grid-template-columns:1fr 1fr;gap:17px}.gridform .full{grid-column:1/-1}label{display:block;font-weight:650;font-size:14px;margin-bottom:15px}input[type=text],input[type=password],input:not([type]),input[type=file]{margin-top:8px;width:100%;padding:13px 12px;border-radius:9px;border:1px solid #bac8db;background:#fff;font-size:15px;outline-color:#2355cc}button,.button{font:inherit;font-size:14px;font-weight:700;cursor:pointer;border:none;border-radius:9px;background:#2355cc;color:#fff;padding:12px 18px;display:inline-block;text-decoration:none}button:hover,.button:hover{filter:brightness(.94)}button:disabled{background:#b4c0d2;cursor:not-allowed}button.secondary,.button.secondary{background:#eaf0fb;color:#19356d}button.danger{background:#fae9e9;color:#a22929}.ghost{background:transparent;color:#547094}.tablewrap{overflow:auto}table{width:100%;border-collapse:collapse;text-align:left}th,td{padding:14px 10px;border-bottom:1px solid #edf1f6}th{font-size:12px;color:#7a8aa0;text-transform:uppercase;letter-spacing:1px}.badge{background:#e9f1fc;padding:6px 9px;border-radius:7px;font-size:13px}a{color:#2355cc;font-weight:650}.crumb{margin-bottom:22px}.toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin-bottom:18px}.toolbar span{font-weight:600;margin:0 8px}#pdfBox{position:relative;display:flex;justify-content:center;background:#e8edf5;padding:10px;overflow:auto;min-height:450px;border-radius:12px}#pdfCanvas{display:block;box-shadow:0 2px 16px #1e335744;height:auto}#fieldLayer{position:absolute;left:50%;transform:translateX(-50%);top:10px;pointer-events:none}.sig-field{position:absolute;border:2px dashed #1b6ee9;background:#1b6ee91a;color:#1752aa;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:clamp(10px,2vw,14px);text-align:center;user-select:none;touch-action:none;pointer-events:auto;cursor:pointer;overflow:visible}.sig-field.selected{border:3px solid #2259c4;background:#205bce24}.sig-field.completed{border-color:#069669;color:#047857;background:#d3f7e7}.resize{position:absolute;right:-7px;bottom:-7px;background:#2259c4;border:2px solid white;width:16px;height:16px;cursor:nwse-resize}.helper{font-size:13px;color:#677997;margin:15px 0 22px}.linkrow{display:flex;gap:10px;margin:12px 0 18px}.linkrow input{width:100%;min-width:0;padding:12px;border:1px solid #cbd5e1;border-radius:8px}.muted{color:#758398;font-size:13px}.modal{position:fixed;inset:0;background:#0b1533ad;display:flex;justify-content:center;align-items:center;z-index:40;padding:15px}.modal.hidden{display:none}.modalContent{background:#fff;border-radius:16px;padding:25px;width:min(720px,100%);box-shadow:0 14px 50px #0003}.modalContent canvas{display:block;width:100%;height:205px;border:2px dashed #9db4d5;touch-action:none;border-radius:10px;background:#fff}.row{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}footer{color:#8493a7;font-size:12px;margin:42px 0 20px;text-align:center}@media(max-width:650px){.wrap{padding:0 13px}.card{padding:16px}.gridform{grid-template-columns:1fr}.toolbar button{padding:9px 11px}.top{height:65px}.brand{font-size:19px}.linkrow{flex-direction:column}}

.consent{display:flex;align-items:flex-start;gap:10px;margin:16px 0;line-height:1.5}.consent input{width:20px;height:20px;flex-shrink:0;margin-top:3px}
