.kr-vm{--navy:#0a2540;--navy-deep:#06192c;--ink:#0a1422;--ink-soft:#42505f;--ink-faint:#7c8794;--accent:#b08a4a;--accent-soft:#c9a767;--line:#e4e6eb;--paper:#f5f5f7;max-width:720px;margin:0 auto;background:#fff;border:1px solid var(--line);border-radius:28px;box-shadow:0 20px 48px rgba(10,37,64,.08);padding:40px;font-family:Inter,sans-serif;color:var(--ink);}
.kr-vm *{box-sizing:border-box;}
@media(max-width:600px){.kr-vm{padding:26px 20px;border-radius:22px;}}
.kr-vm-ico{width:52px;height:52px;border-radius:15px;background:var(--navy);color:#fff;display:flex;align-items:center;justify-content:center;margin-bottom:26px;}
.kr-vm-ico svg{width:26px;height:26px;}
.kr-vm-seclabel{font-size:12px;font-weight:600;letter-spacing:1px;text-transform:uppercase;color:var(--accent);margin:26px 0 16px;}
.kr-vm-seclabel:first-of-type{margin-top:0;}
.kr-vm-fg{margin-bottom:16px;}
.kr-vm-row{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
@media(max-width:560px){.kr-vm-row{grid-template-columns:1fr;}}
.kr-vm-label{display:block;font-size:13.5px;font-weight:600;margin-bottom:7px;}
.kr-vm-label .req{color:#dc2626;}
.kr-vm-label .opt{color:var(--ink-faint);font-weight:400;}
.kr-vm-input,.kr-vm-select{width:100%;border:1.5px solid var(--line);border-radius:12px;padding:13px 15px;font-family:inherit;font-size:15px;color:var(--ink);background:#fff;transition:border-color .2s,box-shadow .2s;}
.kr-vm-input:focus,.kr-vm-select:focus{outline:none;border-color:var(--navy);box-shadow:0 0 0 3px rgba(10,37,64,.08);}
.kr-vm-err{font-size:12.5px;color:#dc2626;margin-top:5px;display:none;}
.kr-vm-err.show{display:block;}
.kr-vm-consent{display:flex;align-items:flex-start;gap:11px;font-size:13.5px;color:var(--ink-soft);line-height:1.55;cursor:pointer;padding:15px 16px;border:1.5px solid var(--line);border-radius:13px;transition:all .18s;}
.kr-vm-consent:hover{border-color:var(--accent-soft);}
.kr-vm-consent.checked{border-color:var(--navy);background:rgba(10,37,64,.03);}
.kr-vm-consent .cbox{width:22px;height:22px;border-radius:6px;border:2px solid var(--line);display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:1px;transition:all .18s;}
.kr-vm-consent .cbox svg{width:13px;height:13px;color:#fff;opacity:0;transition:opacity .18s;}
.kr-vm-consent.checked .cbox{background:var(--navy);border-color:var(--navy);}
.kr-vm-consent.checked .cbox svg{opacity:1;}
.kr-vm-consent .req{color:#dc2626;}
.kr-sig-wrap{position:relative;width:100%;height:170px;min-height:150px;border:2px dashed var(--line);border-radius:16px;background:var(--paper);overflow:hidden;touch-action:none;}
.kr-sig-wrap.signed{border-style:solid;border-color:var(--accent);}
.kr-sig-canvas{position:absolute;inset:0;width:100%;height:100%;cursor:crosshair;display:block;}
.kr-sig-ph{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:18px;color:var(--ink-faint);opacity:.5;pointer-events:none;font-style:italic;transition:opacity .2s;}
.kr-sig-ph.hide{opacity:0;}
.kr-sig-confirmed{position:absolute;top:12px;right:14px;display:none;align-items:center;gap:6px;font-size:12.5px;font-weight:600;color:#2faa5e;background:rgba(47,170,94,.1);padding:5px 11px;border-radius:980px;}
.kr-sig-confirmed svg{width:13px;height:13px;}
.kr-sig-wrap.confirmed .kr-sig-confirmed{display:inline-flex;}
.kr-sig-actions{display:flex;gap:10px;margin:12px 0 4px;}
.kr-sig-btn{flex:1;font-family:inherit;font-size:14px;font-weight:600;cursor:pointer;padding:12px;border-radius:12px;border:1.5px solid var(--line);background:#fff;color:var(--ink-soft);transition:.2s;}
.kr-sig-btn:hover{border-color:var(--ink-faint);}
.kr-sig-btn.primary{background:var(--navy);color:#fff;border-color:var(--navy);}
.kr-sig-btn.primary:hover{background:var(--navy-deep);}
.kr-vm-upload{border:2px dashed var(--line);border-radius:16px;padding:30px 20px;text-align:center;cursor:pointer;transition:all .2s;background:var(--paper);}
.kr-vm-upload:hover,.kr-vm-upload.drag{border-color:var(--accent);background:rgba(176,138,74,.05);}
.kr-vm-upload .uico{width:42px;height:42px;margin:0 auto 10px;color:var(--navy);}
.kr-vm-upload .uico svg{width:100%;height:100%;}
.kr-vm-upload b{display:block;font-size:14.5px;margin-bottom:3px;}
.kr-vm-upload span{font-size:13px;color:var(--ink-faint);}
.kr-vm-hint{font-size:12.5px;color:var(--ink-faint);line-height:1.55;margin-top:10px;}
.kr-vm-filelist{margin-top:12px;display:flex;flex-direction:column;gap:8px;}
.kr-vm-fileitem{display:flex;align-items:center;gap:10px;padding:10px 14px;background:var(--paper);border:1px solid var(--line);border-radius:12px;font-size:13.5px;}
.kr-vm-fileitem .fico{width:18px;height:18px;color:var(--navy);flex-shrink:0;}
.kr-vm-fileitem .fico svg{width:100%;height:100%;}
.kr-vm-fileitem .fname{font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.kr-vm-fileitem .fsize{color:var(--ink-faint);margin-left:auto;flex-shrink:0;font-size:12px;}
.kr-vm-fileitem .fdel{background:none;border:none;cursor:pointer;color:var(--ink-faint);padding:2px;flex-shrink:0;}
.kr-vm-fileitem .fdel svg{width:15px;height:15px;}
.kr-vm-fileitem .fdel:hover{color:#dc2626;}
.kr-vm-submit{width:100%;background:var(--navy);border:none;color:#fff;padding:17px;border-radius:980px;font-family:inherit;font-size:16px;font-weight:600;cursor:pointer;margin-top:26px;box-shadow:0 8px 22px rgba(10,37,64,.22);transition:all .2s;display:inline-flex;align-items:center;justify-content:center;gap:9px;}
.kr-vm-submit:hover:not(:disabled){background:var(--navy-deep);transform:translateY(-2px);}
.kr-vm-submit:disabled{opacity:.4;cursor:not-allowed;box-shadow:none;}
.kr-vm-submit svg{width:18px;height:18px;}
.kr-vm-done{text-align:center;padding:20px 10px;}
.kr-vm-done .check{width:70px;height:70px;border-radius:50%;background:#16a34a;display:flex;align-items:center;justify-content:center;margin:0 auto 20px;animation:krvmPop .5s cubic-bezier(.34,1.56,.64,1);}
.kr-vm-done .check svg{width:34px;height:34px;color:#fff;}
@keyframes krvmPop{from{transform:scale(0);}to{transform:scale(1);}}
.kr-vm-done h3{font-family:Playfair Display,serif;font-size:26px;font-weight:700;margin:0 0 12px;}
.kr-vm-done p{font-size:15px;color:var(--ink-soft);line-height:1.6;margin:0 auto;max-width:430px;}
.kr-vm-sending{opacity:.6;pointer-events:none;}
.kr-ac-box{position:absolute;top:100%;left:0;right:0;z-index:50;background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:0 12px 32px rgba(10,37,64,.14);margin-top:4px;max-height:240px;overflow-y:auto;}
.kr-ac-item{padding:11px 14px;font-size:13.5px;color:var(--ink);cursor:pointer;border-bottom:1px solid var(--paper);line-height:1.4;}
.kr-ac-item:last-child{border-bottom:none;}
.kr-ac-item:hover{background:var(--paper);}
