body { background: #f8fafc; }
.report-page-layout { max-width: 1200px; margin: 40px auto; padding: 0 20px; display: grid; grid-template-columns: 420px 1fr; gap: 30px; align-items: start; }
.blue-hero-card { background: linear-gradient(135deg, #2563eb, #1d4ed8); border-radius: 30px; padding: 50px 40px; color: white; box-shadow: 0 20px 40px rgba(37,99,235,0.15); position: sticky; top: 40px; }
.blue-hero-card h1 { font-size: 3rem; font-weight: 800; letter-spacing: -2px; line-height: 1; margin-bottom: 20px; }
.blue-hero-card p { font-size: 1.1rem; opacity: 0.9; line-height: 1.6; }
.icon-floating { font-size: 4rem; margin-top: 50px; opacity: 0.2; }
.form-panel-premium { background: white; border-radius: 30px; padding: 45px; border: 1px solid #e2e8f0; box-shadow: 0 10px 30px rgba(0,0,0,0.02); }
.form-section-title { font-size: 1.2rem; font-weight: 800; color: #0f172a; margin-bottom: 25px; display: flex; align-items: center; gap: 10px; }
.form-grid-2 { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; margin-bottom: 25px; }
.field-group { display: flex; flex-direction: column; }
.field-label { font-weight: 700; font-size: 0.8rem; color: #64748b; text-transform: uppercase; margin-bottom: 8px; letter-spacing: 0.5px; }
.field-input { padding: 16px; border-radius: 15px; border: 1px solid #e2e8f0; font-family: inherit; font-size: 1rem; background: #f8fafc; transition: 0.2s; }
.field-input:focus { outline: none; border-color: #2563eb; background: white; box-shadow: 0 0 0 4px #eff6ff; }
textarea.field-input { resize: none; min-height: 180px; }
.upload-area-modern { display: flex; align-items: center; gap: 15px; background: #f8fafc; padding: 20px; border-radius: 20px; border: 2px dashed #cbd5e1; cursor: pointer; transition: 0.2s; }
.upload-area-modern:hover { border-color: #2563eb; background: #eff6ff; }
.upload-circ { width: 45px; height: 45px; background: white; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 1.4rem; color: #2563eb; box-shadow: 0 4px 10px rgba(0,0,0,0.05); }
.previews-container { display: flex; gap: 15px; margin-top: 20px; flex-wrap: wrap; }
.preview-wrapper { position: relative; width: 85px; height: 85px; }
.preview-item-img { width: 100%; height: 100%; border-radius: 15px; object-fit: cover; border: 2px solid white; box-shadow: 0 8px 15px rgba(0,0,0,0.1); }
.btn-remove-photo { position: absolute; top: -8px; right: -8px; background: #ef4444; color: white; border: none; width: 24px; height: 24px; border-radius: 50%; cursor: pointer; display: flex; align-items: center; justify-content: center; font-size: 12px; font-weight: bold; box-shadow: 0 2px 5px rgba(0,0,0,0.2); }
.btn-send-report { background: #0f172a; color: white; border: none; padding: 20px; border-radius: 20px; font-weight: 800; font-size: 1.1rem; width: 100%; cursor: pointer; transition: 0.3s; margin-top: 30px; display: flex; align-items: center; justify-content: center; gap: 10px; }
.btn-send-report:hover { background: #2563eb; transform: translateY(-3px); box-shadow: 0 15px 30px rgba(37,99,235,0.2); }
.alert-modern { padding: 20px; border-radius: 20px; margin-bottom: 30px; font-weight: 700; display: flex; align-items: center; gap: 12px; }
.alert-success { background: #dcfce7; color: #166534; }
.alert-error { background: #fee2e2; color: #991b1b; }
.protocol-badge { background: #0f172a; color: #fff; padding: 10px 20px; border-radius: 10px; font-family: 'JetBrains Mono', monospace; font-size: 1.2rem; margin-top: 10px; display: inline-block; }
@media (max-width: 992px) { .report-page-layout { grid-template-columns: 1fr; } .blue-hero-card { position: relative; top: 0; padding: 40px; } .blue-hero-card h1 { font-size: 2.2rem; } }
@media (max-width: 600px) { .form-grid-2 { grid-template-columns: 1fr; } }