/* --- Modal background --- */
.modal {
    display: none;
    position: fixed;
    z-index: 9999;
    left: 0; top: 0;
    width: 100%; height: 100%;
    background: rgba(0,0,0,0.45);
    justify-content: center; align-items: center;
    font-size: 18px;
}

.modal #modalTitle {
    font-size: 22px;
}

/* --- Modal box --- */
.modal-content {
    background: #fff;
    width: 520px;
    padding: 22px 28px;
    border-radius: 8px;
    box-shadow: 0 4px 16px rgba(0,0,0,0.2);
    position: relative;
    animation: showModal 0.25s ease-out;
    font-size: 18px;
}
@keyframes showModal {
    from { transform: scale(0.9); opacity: 0; }
    to { transform: scale(1); opacity: 1; }
}

.close {
    position: absolute; right: 14px; top: 10px;
    font-size: 26px; cursor: pointer; border: none; background: none;
}

.label-title { display:block; margin:12px 0 6px; font-weight:600;font-size: 18px; }

.check-list label { display:block; margin-bottom:6px; font-size:15px; cursor:pointer;font-size: 18px; }

textarea {
    width:100%; height:110px; margin-top:6px; padding:10px;
    resize:vertical; border:1px solid #ccc; border-radius:6px;font-size: 18px;
}

.captcha-box {
    border:1px solid #ddd; padding:10px; margin-top:12px;
    display:flex; align-items:center; gap:10px; border-radius:6px;
}

.btn-row { margin-top:20px; text-align:right; }

.submit-btn {
    padding:8px 18px; background:#4285F4; border:none; color:#fff;
    border-radius:6px; cursor:pointer;font-size: 18px;
}
.submit-btn[disabled] { opacity:0.6; cursor:default; }

.cancel-btn {
    padding:8px 18px; margin-left:8px; background:#e0e0e0; border:none;
    border-radius:6px; cursor:pointer;font-size: 18px;
}

.open-btn { padding:8px 14px; }
#formMessage { font-size:14px; }
#formMessage.success { color:green; }
#formMessage.error { color:#b00020; }