body { 
    font-family: Arial, sans-serif; 
    background: #fff; 
}
.form-container { 
    max-width: 650px; 
    /* height: 550px;  <-- REMOVE this line */
    background: #fff; 
    padding: 7px 15px 15px 15px;
    margin: 18px auto;
    border-radius: 12px; 
    box-shadow: 0 3px 10px #0001;
    /* overflow-y: auto; <-- REMOVE this line */
    box-sizing: border-box;
}
h2 { 
    text-align: center; 
    margin-bottom: 11px; 
    font-size: 1.08em; 
}
.grid-3col { 
    display: grid; 
    grid-template-columns: 1fr 1fr 1fr; 
    gap: 12px 10px;
    align-items: start; 
}
.gap { height: 8px; }
.input-group { margin-bottom: 0; }
label { 
    display: block; 
    font-weight: 600; 
    margin-bottom: 4px; 
    font-size: 0.87em; 
}
.input-group select {
    width: 100%;
    padding: 4px 6px;
    border: 1px solid #bbb;
    border-radius: 3px;
    font-size: 0.90em;
    box-sizing: border-box;
    margin-bottom: 7px;
}
input[type="text"], input[type="number"], input[type="date"] {
    width: 100%;
    padding: 4px 6px;
    margin-bottom: 7px;
    border: 1px solid #bbb;
    border-radius: 3px;
    font-size: 0.90em;
    box-sizing: border-box;
}
input[type="date"] { font-size: 0.97em; }
.radio-title { font-weight: 600; margin-bottom: 4px; font-size: 0.87em; }
.radio-group label { 
    font-weight: 400; 
    margin-right: 7px; 
    display: inline-block; 
    font-size: 0.80em; 
}
.form-actions { 
    text-align: center; 
    margin-top: 13px; 
}
button[type="submit"] { 
    background: #1877f2; 
    color: #fff; 
    border: none; 
    padding: 6px 20px; 
    border-radius: 3px; 
    font-size: 0.97em; 
    cursor: pointer; 
    font-weight: 600; 
    letter-spacing: 1px; 
}
button[type="submit"]:hover { background: #155ab6; }
/* Spinner for loading overlay */
.loading-overlay {
    display: none;
    position: fixed;
    top:0; left:0; width:100vw; height:100vh; z-index:9999;
    background: rgba(255,255,255,0.82);
    text-align: center;
}
.loading-overlay > div {
    position:absolute; top:50%; left:50%; transform:translate(-50%,-50%);
}
.spinner {
    display:inline-block;
    width:48px; height:48px;
    border:6px solid #eee;
    border-top:6px solid #1877f2;
    border-radius:50%;
    animation:spin 1s linear infinite;
}
.loading-text {
    font-size: 1.1em;
    color:#1877f2;
    font-weight:600;
    margin-top: 12px;
}
input[readonly] {
    background: #f7f7f7;
    color: #444;
    cursor: not-allowed;
}
@keyframes spin { 100% { transform: rotate(360deg); } }
