.fb-head { display:grid; gap:9px; margin-bottom:16px; }
.fb-head h1 { margin:0; }
.fb-preview, .fb-source-note, .fb-memory { color:var(--muted); line-height:1.65; }
.fb-backend { margin:0; padding:10px 12px; border:1px dashed var(--rule); border-radius:8px; color:var(--muted); background:var(--surface); font-size:13px; }
.fb-backend.ready { border-color:var(--accent); color:var(--accent); }
.fb-nav { display:flex; flex-wrap:wrap; gap:7px; margin-bottom:13px; }
.fb-nav button { appearance:none; padding:8px 12px; border:1px solid var(--rule); border-radius:999px; color:var(--muted); background:var(--card); font:600 13px var(--sans); cursor:pointer; }
.fb-nav button.active { border-color:var(--accent); color:var(--accent); }
.fb-nav .fb-link-button { border-style:dashed; }
.fb-card { margin:14px 0; padding:clamp(17px,3vw,24px); border:1px solid var(--rule-2); border-radius:10px; background:var(--card); box-shadow:var(--shadow); }
.fb-card > :first-child { margin-top:0; }
.fb-consent { max-width:760px; }
.fb-ack, .fb-check { display:block; margin:16px 0; color:var(--text); line-height:1.6; cursor:pointer; }
.fb-ack input, .fb-check input { accent-color:var(--accent); }
.fb-doc-links, .fb-image-tools, .fb-filters { display:flex; flex-wrap:wrap; align-items:center; gap:9px; }
.fb-text-button { padding:5px 2px; border:0; color:var(--accent); background:transparent; font:600 14px var(--sans); text-align:left; cursor:pointer; }
.fb-label-row { display:flex; align-items:baseline; gap:8px; margin:18px 0 8px; }
.fb-label { font-weight:700; }
.fb-required { color:#b24948; font-size:12px; }
.fb-optional, .fb-hint { color:var(--faint); font-size:13px; }
.fb-categories { display:flex; flex-wrap:wrap; gap:7px; }
.fb-categories button { padding:8px 12px; border:1px solid var(--rule); border-radius:999px; color:var(--muted); background:var(--surface); font:600 13px var(--sans); cursor:pointer; }
.fb-categories button.active { border-color:var(--accent); color:var(--accent); }
.fb-textarea, .fb-input, .fb-filters select, .fb-history-item select { box-sizing:border-box; width:100%; border:1px solid var(--rule); border-radius:7px; color:var(--text); background:var(--surface); font:15px/1.58 var(--sans); }
.fb-textarea { min-height:130px; padding:12px; resize:vertical; }
.fb-input, .fb-filters select, .fb-history-item select { min-height:39px; padding:8px 10px; }
.fb-textarea:focus, .fb-input:focus, .fb-filters select:focus, .fb-history-item select:focus { outline:2px solid color-mix(in srgb,var(--accent) 22%,transparent); border-color:var(--accent); }
.fb-count { margin:5px 0 0; color:var(--faint); font-size:12px; text-align:right; }
.fb-image-tools input { max-width:100%; }
.fb-image-list { display:grid; gap:7px; margin:10px 0 0; padding:0; list-style:none; }
.fb-image { display:flex; justify-content:space-between; gap:12px; align-items:center; padding:8px 10px; border:1px solid var(--rule); border-radius:7px; background:var(--surface); font-size:13px; overflow-wrap:anywhere; }
.fb-status:empty { display:none; }
.fb-history-item { display:grid; gap:9px; margin-top:14px; padding:14px; border:1px solid var(--rule); border-radius:8px; background:var(--surface); }
.fb-history-item p { margin:0; white-space:pre-wrap; overflow-wrap:anywhere; line-height:1.65; }
.fb-history-top { color:var(--faint); font-size:13px; }
.fb-status-pill { justify-self:start; padding:3px 8px; border-radius:999px; background:color-mix(in srgb,var(--accent) 12%,var(--surface)); color:var(--accent); font-size:12px; }
.fb-reply { padding:11px; border-left:3px solid var(--accent); background:var(--card); }
.fb-reply p { margin:5px 0; }
.fb-empty, .fb-lock { color:var(--muted); line-height:1.65; }
.fb-admin-notice { margin:0; color:var(--muted); }
.fb-disabled { display:grid; gap:10px; margin-top:18px; padding:14px; border:1px dashed var(--rule); border-radius:8px; color:var(--faint); }
.fb-disabled legend { padding:0 5px; }
.fb-admin-field { display:grid; gap:5px; color:var(--muted); font-size:13px; }
.fb-counts { color:var(--muted); font-size:13px; }
.fb-admin-list { display:grid; gap:12px; }
.danger { border-color:#b24948; color:#b24948; }
@media (max-width:520px) { .fb-nav button { padding:7px 10px; } .fb-image { align-items:flex-start; flex-direction:column; } .fb-image-tools { align-items:flex-start; flex-direction:column; } }
.fb-batch { display:grid; gap:9px; margin:16px 0; padding:12px; border:1px dashed var(--rule); border-radius:8px; background:var(--surface); }
