.subpw-modal-overlay{
    position:fixed;inset:0;z-index:10050;
    background:rgba(17,24,39,.45);
    display:flex;align-items:center;justify-content:center;
    padding:20px 16px;
    box-sizing:border-box;
}
.subpw-modal-overlay[hidden]{display:none!important;}

.subpw-modal{
    position:relative;
    width:100%;max-width:420px;
    background:#fff;
    border:1px solid #e8eaed;
    border-radius:14px;
    padding:28px 22px 24px;
    font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans KR","Apple SD Gothic Neo",sans-serif;
    color:#111827;
    max-height:calc(100vh - 40px);
    overflow-y:auto;
    box-shadow:0 12px 40px rgba(0,0,0,.12);
}
.subpw-modal *,.subpw-modal *::before,.subpw-modal *::after{box-sizing:border-box;}

.subpw-modal-close{
    position:absolute;top:12px;right:14px;
    width:32px;height:32px;
    border:0;background:transparent;
    font-size:24px;line-height:1;color:#9ca3af;
    cursor:pointer;padding:0;
}
.subpw-modal-close:hover{color:#374151;}

.subpw-modal-icon{
    display:block;width:40px;height:40px;
    margin:0 auto 14px;border-radius:10px;
    background:#e8f1fc;
}

.subpw-modal-title{
    font-size:20px;font-weight:700;text-align:center;
    margin:0 0 8px;color:#111827;line-height:1.3;
}
.subpw-modal-subtitle{
    font-size:14px;text-align:center;color:#6b7280;
    margin:0 0 18px;line-height:1.55;
}

.subpw-modal-info{
    background:#f7f8fa;border-radius:10px;
    padding:12px 14px;margin-bottom:18px;
}
.subpw-modal-info p{
    margin:0;font-size:13px;color:#4b5563;line-height:1.6;
}
.subpw-modal-info p + p{margin-top:6px;}

.subpw-pin-group{margin-bottom:16px;}
.subpw-pin-label{
    font-size:13px;font-weight:600;color:#374151;
    margin:0 0 10px;
}
.subpw-pin-row{
    display:flex;gap:8px;justify-content:center;
}
.subpw-pin-cell{
    width:44px;height:48px;
    border:1px solid #e5e7eb;border-radius:10px;
    background:#f9fafb;
    display:flex;align-items:center;justify-content:center;
    font-size:22px;font-weight:700;color:#111827;
    transition:border-color .15s,background .15s;
}
.subpw-pin-cell.is-focus{
    border-color:#1e2f4f;background:#fff;
    box-shadow:0 0 0 2px rgba(30,47,79,.12);
}
.subpw-pin-cell.is-filled::after{
    content:'';
    width:10px;height:10px;border-radius:50%;
    background:#111827;
}
.subpw-pin-hidden{
    position:fixed;left:-10000px;top:0;
    width:1px;height:1px;opacity:0;
}

.subpw-modal-warn{
    background:#fffbeb;border:1px solid #fde68a;
    border-radius:10px;padding:12px 14px;
    font-size:12px;color:#92400e;line-height:1.6;
    margin-bottom:18px;
}

.subpw-modal-submit{
    width:100%;padding:15px 20px;
    border:0;border-radius:10px;
    background:#1e2f4f;color:#fff;
    font-size:15px;font-weight:700;
    cursor:pointer;font-family:inherit;
    transition:background .2s;
}
.subpw-modal-submit:hover{background:#17263d;}
.subpw-modal-submit:disabled{
    opacity:.55;cursor:not-allowed;
}

.subpw-modal-panel[hidden]{display:none!important;}

.subpw-modal-actions{
    display:flex;gap:10px;
}
.subpw-modal-btn{
    flex:1;padding:14px 16px;
    border-radius:10px;
    font-size:15px;font-weight:700;
    cursor:pointer;font-family:inherit;
    transition:background .2s,border-color .2s,color .2s;
}
.subpw-modal-btn-cancel{
    border:1px solid #e5e7eb;background:#fff;color:#374151;
}
.subpw-modal-btn-cancel:hover{background:#f9fafb;}
.subpw-modal-btn-primary{
    border:0;background:#1e2f4f;color:#fff;
}
.subpw-modal-btn-primary:hover{background:#17263d;}
