.hryp-docgen {
  background:#f8fafc;
  padding:28px;
  border-radius:16px;
  max-width:900px;
  margin:20px auto;
  text-align:center;
  box-shadow:0 2px 8px rgba(0,0,0,.05);
  font-family:system-ui, -apple-system, Segoe UI, Roboto, "Helvetica Neue", Arial, "Noto Sans", "Liberation Sans", sans-serif;
}
.hryp-docgen h2 { margin:0 0 6px; font-weight:800; color:#0f172a; }
.hryp-docgen .subtitle { color:#475569; margin-bottom:20px; }
.hryp-docgen .docgen-form { display:grid; grid-template-columns:1fr 1fr; gap:16px; text-align:left; }
.hryp-docgen .docgen-form .field { display:flex; flex-direction:column; }
.hryp-docgen label { font-weight:600; color:#0f172a; margin-bottom:6px; }
.hryp-docgen input, .hryp-docgen select, .hryp-docgen textarea {
  border:1px solid #e2e8f0; border-radius:10px; padding:10px 12px; font-size:14px; color:#0f172a; background:#fff;
}
.hryp-docgen .btn-primary {
  grid-column:1 / -1; justify-self:center;
  background:#2563eb; color:#fff; padding:10px 18px; border-radius:10px; font-weight:700; text-decoration:none; border:none; cursor:pointer;
}
.hryp-docgen .btn-primary.outline { background:#fff; color:#2563eb; border:2px solid #2563eb; margin-top:10px; }
.hryp-docgen .docgen-result { margin-top:18px; text-align:left; }
.hryp-docgen textarea { width:100%; min-height:300px; }
@media (max-width: 680px) {
  .hryp-docgen .docgen-form { grid-template-columns:1fr; }
}

.notice-auth {
  background:#fff7ed; border:1px solid #fdba74; color:#7c2d12; 
  padding:14px; border-radius:10px; margin-bottom:16px;
}
.notice-auth.success { background:#ecfdf5; border-color:#34d399; color:#065f46; }
.notice-actions { margin-top:10px; display:flex; gap:10px; }
.btn-secondary { background:#e2e8f0; color:#0f172a; padding:8px 14px; border-radius:10px; text-decoration:none; border:none; display:inline-block; }
.counter { margin-top:10px; color:#475569; font-size:14px; }
.counter.limit { color:#dc2626; }

.actions-row { display:flex; gap:10px; margin:12px 0 4px; flex-wrap:wrap; }
.preview { border:1px solid #e2e8f0; border-radius:10px; overflow:hidden; }
.preview-header { background:#f1f5f9; padding:8px 12px; font-weight:700; color:#0f172a; }
.preview-body { padding:12px; color:#0f172a; line-height:1.6; }
.preview-body h4 { margin:14px 0 6px; font-size:1rem; letter-spacing:.3px; }
.preview-body ul { padding-left: 1.25rem; margin: .25rem 0 .75rem; }
