/* =======================================
   Coppola — Subida de documentación (PF + PJ)
   ======================================= */
* { box-sizing: border-box; }
body { font-family: 'Open Sans', sans-serif; background: #f4f7f6; color: #333; margin: 0; }

.doc-container { max-width: 800px; margin: 50px auto; padding: 40px; background: #fff; border-radius: 8px; box-shadow: 0 4px 15px rgba(0,0,0,.1); }

h1 { text-align: center; color: #00123b; margin-bottom: 30px; font-weight: 700; }
h2 { font-size: 18px; color: #00123b; margin-top: 25px; margin-bottom: 10px; border-bottom: 2px solid #00123b; padding-bottom: 5px; display: inline-block; }

p.help-text { font-size: 13px; color: #666; margin-bottom: 10px; line-height: 1.5; }

.form-group { margin-bottom: 20px; }
label.field-label { display: block; margin-bottom: 8px; font-weight: 600; color: #555; }

input[type="text"], input[type="email"], input[type="number"] { width: 100%; padding: 12px; border: 1px solid #ddd; border-radius: 5px; font-size: 14px; transition: border-color .3s; }
input[type="text"]:focus, input[type="email"]:focus { border-color: #00123b; outline: none; }

.upload-btn-wrapper { position: relative; overflow: hidden; display: inline-block; margin-top: 10px; width: 100%; }
.btn-upload { border: 2px dashed #00123b; color: #00123b; background: #f9f9f9; padding: 15px 20px; border-radius: 8px; font-size: 16px; font-weight: 700; cursor: pointer; display: block; text-align: center; transition: all .3s; }
.btn-upload:hover { background: #00123b; color: #fff; }
.btn-upload i { margin-right: 8px; }
.file-name { margin-top: 5px; font-size: 13px; color: #666; font-style: italic; display: block; text-align: center; }
.upload-btn-wrapper input[type="file"] { font-size: 100px; position: absolute; left: 0; top: 0; opacity: 0; width: 100%; height: 100%; cursor: pointer; }

.submit-btn-container { text-align: center; margin-top: 40px; }
.submit-btn { background: #00123b; color: #fff; padding: 15px 50px; border: none; border-radius: 50px; font-size: 18px; font-weight: 700; cursor: pointer; transition: background .3s, transform .2s; box-shadow: 0 4px 6px rgba(0,0,0,.2); }
.submit-btn:hover { background: #002a6b; transform: translateY(-2px); }

.loader { border: 4px solid #f3f3f3; border-radius: 50%; border-top-color: #00123b; width: 30px; height: 30px; animation: spin 1s linear infinite; display: none; margin: 0 auto; }
@keyframes spin { to { transform: rotate(360deg); } }

.status-message { text-align: center; margin-top: 15px; font-weight: 700; display: none; }
.status-success { color: green; }
.status-error { color: red; }
