.docgen-page { min-height: 100vh; }
.docgen-top {
  display: flex; align-items: center; justify-content: space-between; gap: 24px;
  padding: 24px 45px; border-bottom: 1px solid var(--line); background: var(--paper);
}
.docgen-top h1 { margin: 4px 0 0; font-size: 28px; }
.docgen-top .overline { margin: 0; }
.docgen-back { font-size: 12px; font-weight: bold; white-space: nowrap; }
.docgen-status { color: var(--muted); font-size: 12px; text-align: right; }
.docgen-main { max-width: 1180px; margin: 0 auto; padding: 32px 45px 70px; }
.docgen-intro { margin-bottom: 18px; }
.docgen-toolbar { display: flex; align-items: end; gap: 18px; justify-content: space-between; }
.docgen-toolbar > div { flex: 1; }
.docgen-hint { color: var(--muted); font-size: 12px; max-width: 460px; padding-bottom: 9px; }
.docgen-upload {
  display: flex; align-items: end; gap: 12px; flex-wrap: wrap;
  border: 1px dashed #96a779; border-radius: 12px; padding: 14px 16px;
  background: var(--soft); margin: 18px 0 8px;
}
.docgen-upload > div { flex: 1; min-width: 220px; }
.docgen-upload label { margin-top: 0; }
.docgen-upload input[type=file] { border: 0; padding: 8px 0; background: transparent; }
.docgen-upload .fine { margin: 0; align-self: center; }
.docgen-type-choice {
  border: 1px solid #d6a44b; background: #fff8e8; border-radius: 12px;
  padding: 14px 16px; margin: 10px 0 8px;
}
html[data-theme=dark] .docgen-type-choice { background: #2c2617; border-color: #80652e; }
.docgen-type-choice p { margin: 0 0 10px; }
.docgen-type-choice #docgen-type-buttons { display: flex; flex-wrap: wrap; gap: 8px; }
.docgen-role { border-top: 1px solid var(--line); margin-top: 22px; padding-top: 18px; }
.docgen-role h2 { font-size: 18px; margin: 0 0 4px; }
.docgen-role > p { margin: 0 0 10px; }
.field-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 0 14px; }
.field-grid .full { grid-column: 1 / -1; }
.field-grid label { margin-top: 10px; }
.field-grid .required-mark { color: #b94f3c; }
.field-grid .field-hint { display: block; color: var(--muted); font-size: 10px; margin-top: 4px; }
.docgen-extras { border-top: 1px solid var(--line); margin-top: 22px; padding-top: 18px; }
.docgen-files { display: flex; flex-wrap: wrap; gap: 10px; margin: 16px 0; }
.docgen-files a { display: inline-flex; align-items: center; gap: 8px; }
.docgen-warning { margin-top: 10px; }
.docgen-login-note { margin-top: 18px; }
@media (max-width: 700px) {
  .docgen-top { align-items: flex-start; padding: 18px; flex-wrap: wrap; }
  .docgen-status { width: 100%; text-align: left; }
  .docgen-main { padding: 22px 18px 50px; }
  .docgen-toolbar { display: block; }
  .docgen-hint { padding: 0 0 8px; }
  .field-grid { grid-template-columns: 1fr; }
  .field-grid .full { grid-column: auto; }
}

.test-mode-banner{background:#9a5a10;color:#fff;text-align:center;font-size:12px;font-weight:bold;letter-spacing:.2px;padding:10px 16px;position:relative;z-index:25}
