:root { --brand:#2364a2; --accent:#1e4672; --soft:#eef5ff; }
body { background:#fff; color:#182a40; font-family:system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif; }
.sidebar { background:#f6f8fc; border-right:1px solid #dfe5ef; }
.sidebar .form-label { font-size:.9rem; font-weight:600; }
.sidebar-heading { font-size:1.07rem; font-weight:700; margin-bottom:1.1rem; }
.brand { font-size:1.15rem; color:#184373; }
.brand-icon { font-size:1.5rem; }
.content-wrap { max-width:1050px; }
h1 { font-size:2.05rem; font-weight:720; color:#15345d; letter-spacing:-.03em; }
.lead-description { color:#65758a; font-size:.99rem; line-height:1.65; }
.section-heading { font-size:1.2rem; margin-bottom:1.05rem; font-weight:690; color:#193754; }
.form-label { font-weight:570; font-size:.93rem; }
.form-control, .form-select { border-color:#cdd6e3; }
.form-control:focus, .form-select:focus { border-color:#548cc4; box-shadow:0 0 0 .2rem rgba(45,112,179,.14); }
.form-check-input:checked { background-color:var(--brand); border-color:var(--brand); }
.mode-info { border:0; background:#eaf4ff; color:#244968; padding:.9rem 1rem; font-size:.92rem; }
.upload-zone { width:100%; min-height:170px; border:2px dashed #a9bad0; border-radius:13px; background:#fafcff; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:7px; cursor:pointer; text-align:center; padding:22px; transition:.15s ease; }
.upload-zone:hover,.upload-zone.drag-over { border-color:#306da9; background:#eff7ff; }
.upload-glyph { color:#467eac; font-size:1.65rem; line-height:1; }
.file-pill { display:inline-flex; align-items:center; border:1px solid #d6e4f2; border-radius:7px; background:#f6faff; padding:5px 9px; margin:4px 7px 0 0; font-size:.82rem; }
.generate-btn { background:#2364a2; border-color:#2364a2; font-weight:650; }
.generate-btn:hover { background:#174e85; border-color:#174e85; }
.section-divider { margin-bottom:1.7rem; }
.preview-question { padding:1rem 0; border-bottom:1px solid #e6eaf1; }
.preview-question:last-child { border-bottom:none; }
.preview-question p { margin:.3rem 0; }
.preview-answer { background:#f0f8f5; padding:.8rem; border-radius:.4rem; margin-top:.8rem; }
.footer-note { color:#66778b; font-size:.82rem; }
@media(max-width:991px){ .sidebar { border-right:0; border-bottom:1px solid #dfe5ef; } .sidebar .px-4 {padding-top:16px!important;padding-bottom:16px!important;} }
