:root { font-family: Arial, sans-serif; }
body { margin:0; background:#f4f6f8; color:#1e293b; }
.container { max-width:980px; margin:0 auto; padding:24px; }
.page-header { display:flex; justify-content:space-between; gap:16px; align-items:flex-start; margin-bottom:20px; }
.card { background:#fff; border:1px solid #d8dee6; border-radius:12px; padding:20px; margin-bottom:20px; box-shadow:0 2px 8px rgba(0,0,0,.04); }
textarea { width:100%; box-sizing:border-box; padding:12px; border:1px solid #b8c2cc; border-radius:8px; font:inherit; resize:vertical; }
label { display:block; font-weight:700; margin-bottom:10px; }
label textarea { margin-top:6px; font-weight:400; }
.actions { display:flex; flex-wrap:wrap; gap:10px; margin-top:14px; }
button, .admin-link { border:1px solid #94a3b8; background:#fff; color:#0f172a; border-radius:8px; padding:10px 14px; cursor:pointer; text-decoration:none; font:inherit; }
button.primary { background:#0f172a; color:#fff; border-color:#0f172a; }
button:disabled { opacity:.55; cursor:not-allowed; }
.soep-grid { display:grid; gap:14px; }
.controls-box { margin-top:18px; padding:14px; border:1px solid #e5c07b; background:#fff8e6; border-radius:8px; }
.status { min-height:1.5em; margin-top:12px; }
@media (max-width:700px) { .page-header { flex-direction:column; } .container { padding:14px; } }

.admin-header { display:flex; justify-content:space-between; align-items:center; gap:16px; margin-bottom:16px; }
.admin-table { width:100%; border-collapse:collapse; }
.admin-table th, .admin-table td { text-align:left; padding:10px 8px; border-bottom:1px solid #e2e8f0; vertical-align:top; }
.admin-table th { white-space:nowrap; }
.log-block { white-space:pre-wrap; background:#f8fafc; border:1px solid #e2e8f0; border-radius:8px; padding:12px; min-height:1.2em; }
.prompt-pre { white-space:pre-wrap; overflow-wrap:anywhere; font-family:ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; font-size:.9rem; line-height:1.45; background:#f8fafc; border:1px solid #e2e8f0; border-radius:8px; padding:14px; max-height:70vh; overflow:auto; }
.status.error { color:#991b1b; background:#fef2f2; border:1px solid #fecaca; border-radius:8px; padding:10px; }
@media (max-width:700px) { .admin-header { align-items:flex-start; flex-direction:column; } }
