:root {
  --fb-bg:#120e0a; --fb-card:#1c1611; --fb-card-soft:#251c15; --fb-sidebar:#0d0a08;
  --fb-gold:#d4b27d; --fb-bright:#ffc24c; --fb-text:#aa9b8b; --fb-muted:#75695d;
  --fb-border:#3b3025; --fb-green:#55c78d; --fb-blue:#78afe9; --fb-purple:#c1a2ef;
}
* { box-sizing:border-box; }
body { margin:0; background:radial-gradient(circle at 85% -15%,#372513 0,transparent 28%),var(--fb-bg); color:var(--fb-text); font:14px Arial,Helvetica,sans-serif; }
a { transition:.18s ease; }
.fb-topbar { min-height:72px; padding:0 max(24px,calc((100% - 1220px)/2)); display:flex; align-items:center; gap:25px; border-bottom:1px solid rgba(212,178,125,.13); background:rgba(13,10,8,.95); position:sticky; top:0; z-index:10; }
.fb-brand { display:inline-flex; align-items:center; gap:6px; color:#fff; text-decoration:none; font-size:16px; font-weight:800; white-space:nowrap; }.fb-brand span,.fb-brand b { color:var(--fb-bright); }.fb-brand b { font-weight:500; }.fb-brand-icon { width:16px; height:16px; object-fit:contain; }
.fb-topbar nav { display:flex; gap:20px; }.fb-topbar nav a { color:var(--fb-text); text-decoration:none; }.fb-topbar nav a:hover { color:#fff; }
.fb-top-actions { margin-left:auto; display:flex; align-items:center; gap:14px; }.fb-account { color:var(--fb-muted); font-size:12px; }
.fb-shell { max-width:1220px; margin:0 auto; padding:38px 24px 60px; }.fb-footer { padding:24px; text-align:center; color:#62574c; border-top:1px solid rgba(255,255,255,.06); font-size:11px; }
.fb-button { display:inline-flex; align-items:center; justify-content:center; gap:8px; border:0; border-radius:9px; padding:12px 16px; background:linear-gradient(135deg,var(--fb-bright),#dd9a2e); color:#1a1209; text-decoration:none; font:800 13px Arial,sans-serif; cursor:pointer; }.fb-button:hover { filter:brightness(1.1); transform:translateY(-1px); }.fb-button-small { padding:9px 12px; font-size:12px; }.fb-button-outline { color:var(--fb-gold); background:transparent; border:1px solid var(--fb-border); }.fb-full-button { width:100%; margin-top:16px; }
.fb-hero,.fb-admin-hero { display:flex; justify-content:space-between; align-items:flex-end; gap:25px; margin-bottom:26px; }.fb-eyebrow { color:var(--fb-gold); font-size:11px; font-weight:800; letter-spacing:2px; text-transform:uppercase; }.fb-hero h1,.fb-admin-hero h1,.fb-detail-title { margin:7px 0; color:#fff; font-size:31px; line-height:1.15; }.fb-hero p,.fb-admin-hero p { max-width:680px; margin:0; line-height:1.6; }
.fb-card { background:linear-gradient(145deg,rgba(35,27,20,.98),rgba(20,15,11,.98)); border:1px solid var(--fb-border); border-radius:16px; box-shadow:0 14px 38px rgba(0,0,0,.2); }
.fb-filters { display:flex; align-items:center; gap:10px; flex-wrap:wrap; padding:16px; margin-bottom:18px; }.fb-filters form { display:flex; gap:10px; margin-left:auto; }.fb-search { flex:1; min-width:220px; }
.fb-input,.fb-select,.fb-textarea { width:100%; padding:11px 12px; border:1px solid var(--fb-border); border-radius:8px; outline:0; background:#100d0a; color:#eee; font:inherit; }.fb-select { width:auto; }.fb-textarea { min-height:135px; resize:vertical; }.fb-input:focus,.fb-select:focus,.fb-textarea:focus { border-color:var(--fb-gold); box-shadow:0 0 0 3px rgba(212,178,125,.1); }
.fb-report-list,.fb-admin-list { display:grid; gap:10px; }.fb-report { display:grid; grid-template-columns:55px 1fr auto; gap:16px; align-items:center; padding:18px; color:inherit; text-decoration:none; }.fb-report:hover,.fb-admin-queue-item:hover,.fb-reminder:hover { filter:brightness(1.1); transform:translateY(-2px); }.fb-report h2 { margin:0 0 8px; color:#f8eee3; font-size:16px; }.fb-vote-count { color:var(--fb-bright); font-size:18px; font-weight:800; text-align:center; }.fb-vote-count span { display:block; color:var(--fb-muted); font-size:10px; text-transform:uppercase; }.fb-meta,.fb-tags { display:flex; flex-wrap:wrap; align-items:center; gap:7px; color:var(--fb-muted); font-size:11px; }.fb-pill,.fb-severity-chip { display:inline-flex; align-items:center; gap:5px; border:1px solid currentColor; border-radius:99px; padding:4px 8px; font-size:10px; font-weight:800; letter-spacing:.35px; text-transform:uppercase; }.fb-severity-chip { border-radius:7px; }.fb-score,.fb-priority b { color:var(--fb-bright); font-weight:800; }.fb-empty,.fb-notice { padding:24px; text-align:center; line-height:1.6; }.fb-notice { color:#f0d39a; border-color:#6d542e; }
.severity-critical { color:#dc8079; }.severity-high { color:#d6a06d; }.severity-medium { color:#d1b66e; }.severity-minor,.severity-trivial { color:#7db597; }.status-received { color:#c9ad79; }.status-under_review,.status-confirmed { color:#7fa9d3; }.status-in_development { color:#ae95cd; }.status-resolved { color:#72b995; }.status-rejected,.status-duplicate { color:#c78181; }
.fb-severity-chip.severity-critical { background:rgba(220,128,121,.09); }.fb-severity-chip.severity-high { background:rgba(214,160,109,.09); }.fb-severity-chip.severity-medium { background:rgba(209,182,110,.09); }.fb-severity-chip.severity-minor,.fb-severity-chip.severity-trivial { background:rgba(125,181,151,.09); }
.severity-card-critical { border-left:4px solid #b6625d!important; background:linear-gradient(90deg,rgba(182,98,93,.10),rgba(31,24,18,.98) 27%)!important; }.severity-card-high { border-left:4px solid #bd8b5e!important; background:linear-gradient(90deg,rgba(189,139,94,.08),rgba(31,24,18,.98) 27%)!important; }.severity-card-medium { border-left:4px solid #b6a164!important; background:linear-gradient(90deg,rgba(182,161,100,.07),rgba(31,24,18,.98) 27%)!important; }.severity-card-minor,.severity-card-trivial { border-left:4px solid #6caa8b!important; background:linear-gradient(90deg,rgba(108,170,139,.06),rgba(31,24,18,.98) 27%)!important; }
.fb-form { padding:24px; }.fb-form-grid { display:grid; grid-template-columns:1fr 1fr; gap:18px; }.fb-field label { display:block; margin-bottom:7px; color:#dfd0c0; font-size:12px; font-weight:700; }.fb-field small { display:block; margin-top:6px; color:var(--fb-muted); font-size:11px; }.fb-field-full { grid-column:1/-1; }.fb-upload { padding:18px; border:1px dashed #6c553b; border-radius:10px; background:rgba(212,178,125,.03); }.fb-form-actions { display:flex; justify-content:flex-end; gap:10px; margin-top:22px; }
.fb-detail-header,.fb-case-header { padding:25px; margin-bottom:18px; }.fb-detail-grid { display:grid; grid-template-columns:minmax(0,1fr) 295px; gap:18px; }.fb-content,.fb-side,.fb-timeline,.fb-comments { padding:20px; }.fb-content p { margin:0; white-space:pre-wrap; line-height:1.7; }.fb-side h3,.fb-comments h3,.fb-timeline h3 { margin:0 0 13px; color:var(--fb-gold); font-size:11px; letter-spacing:1.5px; text-transform:uppercase; }.fb-data { display:flex; justify-content:space-between; gap:12px; padding:9px 0; border-bottom:1px solid rgba(255,255,255,.06); font-size:12px; }.fb-data strong { color:#eee; text-align:right; }.fb-media { display:grid; grid-template-columns:repeat(auto-fill,minmax(180px,1fr)); gap:10px; margin-top:18px; }.fb-media a { display:block; overflow:hidden; border:1px solid var(--fb-border); border-radius:9px; background:#0c0907; color:var(--fb-gold); text-decoration:none; }.fb-media img,.fb-media video { display:block; width:100%; height:145px; object-fit:cover; }.fb-media-label { display:block; overflow:hidden; padding:7px; white-space:nowrap; text-overflow:ellipsis; font-size:11px; }.fb-event { position:relative; padding:0 0 16px 19px; border-left:1px solid var(--fb-border); font-size:12px; }.fb-event:before { content:''; position:absolute; top:3px; left:-5px; width:8px; height:8px; border-radius:50%; background:var(--fb-gold); }.fb-event time { display:block; margin-top:4px; color:var(--fb-muted); font-size:10px; }.fb-comment { padding:13px 0; border-top:1px solid rgba(255,255,255,.06); line-height:1.55; }.fb-comment-meta { margin-bottom:5px; color:var(--fb-gold); font-size:11px; }.fb-comment-form { display:grid; gap:10px; margin-top:15px; }.fb-alert { margin-bottom:18px; padding:12px 14px; border:1px solid #834343; border-radius:9px; background:#482929; color:#ffd0d0; }
.fb-modal-backdrop { position:fixed; inset:0; z-index:20; overflow:auto; padding:25px; background:rgba(0,0,0,.72); }.fb-modal { max-width:800px; margin:30px auto; }.fb-modal-top { display:flex; justify-content:space-between; align-items:center; padding:18px 23px; border-bottom:1px solid var(--fb-border); }.fb-modal-top h2 { margin:0; color:#fff; font-size:17px; }.fb-modal-close { color:var(--fb-text); text-decoration:none; font-size:25px; }
/* Central administrativa */
.fb-legend { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:8px; color:var(--fb-text); font-size:11px; }.severity-dot { display:inline-block; width:8px; height:8px; border-radius:50%; background:currentColor; }.fb-stat-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:10px; margin-bottom:18px; }.fb-stat-grid-wide { grid-template-columns:repeat(5,1fr); }.fb-stat { padding:15px; color:inherit; text-decoration:none; }.fb-stat:hover { transform:translateY(-2px); border-color:var(--fb-gold); }.fb-stat b { display:block; color:#fff; font-size:25px; }.fb-stat span { color:var(--fb-muted); font-size:11px; }.stat-received b { color:var(--fb-bright); }.stat-review b { color:var(--fb-blue); }.stat-dev b { color:var(--fb-purple); }.stat-closed b { color:var(--fb-green); }
.fb-reminders { margin-bottom:18px; padding:22px; border-color:#704030; background:linear-gradient(110deg,rgba(78,37,22,.7),rgba(29,20,14,.97)); }.fb-section-title { display:flex; align-items:center; justify-content:space-between; gap:20px; }.fb-section-title h2 { margin:5px 0; color:#fff; font-size:19px; }.fb-section-title p { margin:0; color:var(--fb-text); font-size:12px; }.fb-section-title>i { color:var(--fb-bright); font-size:30px; }.fb-reminder-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px; margin-top:18px; }.fb-reminder { display:grid; grid-template-columns:auto 1fr auto; align-items:center; gap:10px; padding:11px; border:1px solid var(--fb-border); border-radius:9px; background:rgba(0,0,0,.2); color:var(--fb-text); text-decoration:none; }.fb-reminder b { display:block; color:#f7eee4; font-size:12px; }.fb-reminder small,.fb-admin-queue-main small { display:block; margin-top:4px; color:var(--fb-muted); font-size:10px; }.fb-queue-title { color:#f5ede2; font-weight:800; }.fb-queue-title i { margin-right:6px; color:var(--fb-bright); }
.fb-admin-queue { gap:9px; }.fb-admin-queue-item { display:grid; grid-template-columns:8px minmax(0,1fr) 90px 90px; align-items:stretch; overflow:hidden; padding:0; color:inherit; text-decoration:none; }.fb-severity-mark { background:currentColor; }.fb-admin-queue-main { padding:15px 12px; }.fb-admin-queue-main>b { display:block; margin-top:8px; color:#fff; font-size:14px; }.fb-priority,.fb-open-case { display:flex; align-items:center; justify-content:center; border-left:1px solid rgba(255,255,255,.07); }.fb-priority { flex-direction:column; }.fb-priority span { color:var(--fb-muted); font-size:9px; text-transform:uppercase; }.fb-priority b { font-size:21px; }.fb-open-case { gap:8px; color:var(--fb-gold); font-size:11px; font-weight:800; }
.fb-back-link { display:inline-block; margin-bottom:16px; color:var(--fb-gold); font-weight:700; text-decoration:none; }.fb-case-header { display:flex; align-items:center; justify-content:space-between; gap:20px; }.fb-case-header h1 { margin:10px 0 4px; color:#fff; font-size:25px; }.fb-case-header p { margin:0; font-size:12px; }.fb-case-quick { min-width:150px; text-align:right; }.fb-case-quick span { display:block; margin-bottom:5px; color:var(--fb-muted); font-size:10px; text-transform:uppercase; }.fb-case-quick b { font-size:15px; }.fb-progress { display:grid; grid-template-columns:repeat(5,1fr); gap:2px; margin:15px 0 18px; }.fb-progress-step { padding:12px 8px; border:1px solid var(--fb-border); background:#17120e; color:var(--fb-muted); font-size:10px; text-align:center; }.fb-progress-step:first-child { border-radius:9px 0 0 9px; }.fb-progress-step:last-child { border-radius:0 9px 9px 0; }.fb-progress-step i { display:block; margin-bottom:5px; font-size:15px; }.fb-progress-step.done { border-color:#6d5532; background:rgba(212,178,125,.11); color:#ffe0a2; }.fb-case-grid { display:grid; grid-template-columns:minmax(0,1fr) 350px; gap:18px; }.fb-case-content h2 { margin:0 0 16px; color:#fff; font-size:16px; }.fb-subtitle { margin:25px 0 0; color:var(--fb-gold); font-size:11px; letter-spacing:1px; text-transform:uppercase; }.fb-case-actions { position:sticky; top:88px; margin-top:18px; }.fb-case-actions h3 { margin:0 0 8px; color:#fff; font-size:16px; }.fb-case-actions .fb-field { margin-top:14px; }.fb-help { padding:10px; border:1px solid rgba(212,178,125,.18); border-radius:8px; background:rgba(212,178,125,.08); color:#e9c684; font-size:11px; line-height:1.5; }.fb-inline-actions { display:flex; gap:7px; margin-top:9px; }
@media (max-width:950px) { .fb-admin-hero { align-items:flex-start; flex-direction:column; }.fb-legend { justify-content:flex-start; }.fb-stat-grid-wide { grid-template-columns:repeat(3,1fr); }.fb-reminder-list { grid-template-columns:1fr; }.fb-case-grid { grid-template-columns:1fr; }.fb-case-actions { position:static; } }
@media (max-width:800px) { .fb-topbar { padding:14px 18px; flex-wrap:wrap; gap:12px; }.fb-topbar nav { order:3; width:100%; }.fb-account { display:none; }.fb-shell { padding:25px 15px; }.fb-hero { align-items:flex-start; flex-direction:column; }.fb-hero h1,.fb-admin-hero h1 { font-size:26px; }.fb-form-grid,.fb-detail-grid { grid-template-columns:1fr; }.fb-report { grid-template-columns:42px 1fr; }.fb-report>.fb-score { display:none; }.fb-stat-grid { grid-template-columns:repeat(2,1fr); } }
@media (max-width:600px) { .fb-filters { align-items:stretch; }.fb-filters form { width:100%; margin:0; }.fb-filters form .fb-select { flex:1; }.fb-admin-queue-item { grid-template-columns:6px minmax(0,1fr) 70px; }.fb-open-case { display:none; }.fb-case-header { align-items:flex-start; flex-direction:column; }.fb-case-quick { text-align:left; }.fb-progress { overflow:auto; }.fb-progress-step { min-width:72px; }.fb-reminder { grid-template-columns:auto 1fr; }.fb-reminder>i { display:none; } }

/* Sistema semântico: marca = ouro; severidade = risco; status = etapa. */
:root { --fb-card:#181512; --fb-card-soft:#201b16; --fb-gold:#c7aa72; --fb-bright:#e4bd71; --fb-border:#373027; --fb-text:#b1a79a; --fb-muted:#80776d; }
body { background:radial-gradient(circle at 78% -18%,rgba(92,69,37,.20),transparent 30%),#0d0b0a; }
.fb-card { background:linear-gradient(145deg,#1c1815,#151210); box-shadow:0 12px 30px rgba(0,0,0,.18); }
.fb-report,.fb-admin-queue-item,.fb-reminder { background:#1a1613!important; }
.fb-report:hover,.fb-admin-queue-item:hover,.fb-reminder:hover { filter:none; border-color:#625441; box-shadow:0 8px 22px rgba(0,0,0,.2); }

/* Severidade é sempre mostrada apenas na borda lateral e no selo. */
.severity-critical { color:#d96d65; }.severity-high { color:#d29a5d; }.severity-medium { color:#c7aa72; }.severity-minor { color:#8da1b4; }.severity-trivial { color:#858c88; }
.severity-card-critical { border-left-color:#d96d65!important; background:#1a1613!important; }.severity-card-high { border-left-color:#d29a5d!important; background:#1a1613!important; }.severity-card-medium { border-left-color:#c7aa72!important; background:#1a1613!important; }.severity-card-minor { border-left-color:#8da1b4!important; background:#1a1613!important; }.severity-card-trivial { border-left-color:#858c88!important; background:#1a1613!important; }
.fb-severity-chip.severity-critical { background:rgba(217,109,101,.10); }.fb-severity-chip.severity-high { background:rgba(210,154,93,.10); }.fb-severity-chip.severity-medium { background:rgba(199,170,114,.10); }.fb-severity-chip.severity-minor { background:rgba(141,161,180,.10); }.fb-severity-chip.severity-trivial { background:rgba(133,140,136,.10); }

/* Status não usa as mesmas cores dos riscos: ele responde "em qual etapa está?" */
.status-received { color:#79a4ca; }.status-under_review { color:#aa8bcb; }.status-confirmed { color:#65aaa0; }.status-in_development { color:#c8a36a; }.status-resolved { color:#70b58e; }.status-rejected,.status-duplicate { color:#a87e83; }
.fb-pill.status-received { background:rgba(121,164,202,.10); }.fb-pill.status-under_review { background:rgba(170,139,203,.10); }.fb-pill.status-confirmed { background:rgba(101,170,160,.10); }.fb-pill.status-in_development { background:rgba(200,163,106,.10); }.fb-pill.status-resolved { background:rgba(112,181,142,.10); }.fb-pill.status-rejected,.fb-pill.status-duplicate { background:rgba(168,126,131,.10); }

/* Ações e marca visual usam ouro, sem competir com informações operacionais. */
.fb-button { background:linear-gradient(135deg,#e4bd71,#c99a48); }.fb-button-outline { background:transparent; color:#c7aa72; border-color:#4f4334; }.fb-score,.fb-priority b { color:#d3b579; }.fb-vote-count { color:#c7aa72; }
.fb-reminders { border-color:#4d4030; background:linear-gradient(145deg,#211b15,#181410); }.fb-section-title>i { color:#d3b579; }.fb-reminder { border-color:#352d25; }.fb-stat { background:#1a1613; }.fb-stat b { color:#ddd4c7; }.stat-received b { color:#79a4ca; }.stat-review b { color:#aa8bcb; }.stat-dev b { color:#c8a36a; }.stat-closed b { color:#70b58e; }

/* Assistente privado: verde-azulado distinto de severidade, status e ações. */
.fb-ai-panel { margin-top:18px; padding:18px; border-color:#3f4f4c; background:linear-gradient(145deg,#17201e,#141815); }.fb-ai-title { display:flex; gap:10px; align-items:center; }.fb-ai-title>i { color:#78afa5; font-size:22px; }.fb-ai-title span { color:#86bfb3; font-size:10px; font-weight:800; letter-spacing:1.3px; text-transform:uppercase; }.fb-ai-title h3 { margin:3px 0 0; color:#f1eee9; font-size:14px; }.fb-ai-panel>p { color:#b9c5c0; font-size:12px; line-height:1.6; }.fb-ai-panel h4 { margin:17px 0 6px; color:#b8d7cf; font-size:11px; letter-spacing:1px; text-transform:uppercase; }.fb-ai-panel ul { margin:8px 0; padding-left:18px; color:#d1d9d5; font-size:12px; line-height:1.55; }.fb-ai-confidence { margin-top:16px; color:#9eb6af; font-size:11px; }.fb-ai-confidence b { color:#8fd1c0; }.fb-ai-warning { margin:12px 0; padding:10px; border:1px solid rgba(207,171,105,.32); border-radius:8px; background:rgba(207,171,105,.07); color:#dbc18d; font-size:11px; line-height:1.55; }.fb-ai-warning i { margin-right:5px; }.fb-ai-sources { margin-top:14px; color:#aebcb7; font-size:11px; }.fb-ai-sources summary { cursor:pointer; color:#8fbfb3; }.fb-ai-sources div { margin-top:8px; padding-top:8px; border-top:1px solid rgba(255,255,255,.06); }.fb-ai-sources small { display:block; margin-top:3px; color:#7e918b; overflow-wrap:anywhere; }.fb-ai-toast { margin:0 0 16px; padding:11px 13px; border:1px solid #456e64; border-radius:9px; background:#1b302b; color:#b8e2d7; font-size:12px; }
.fb-admin-tools { display:flex; align-items:center; justify-content:space-between; gap:12px; margin:-8px 0 18px; color:#aeb7b2; font-size:12px; }.fb-staff-list { display:grid; gap:8px; }.fb-staff-row { display:grid; grid-template-columns:minmax(0,1fr) auto 170px; align-items:center; gap:12px; padding:12px 0; border-bottom:1px solid rgba(255,255,255,.07); font-size:12px; }.fb-staff-row b { color:#f1ece3; }.fb-staff-row small { display:block; margin-top:3px; color:var(--fb-muted); }.fb-check { display:block; margin-top:15px; color:#c7d0cb; font-size:12px; } @media (max-width:600px) { .fb-admin-tools { align-items:flex-start; flex-direction:column; }.fb-staff-row { grid-template-columns:1fr; gap:5px; } }
.fb-staff-search { display:flex; align-items:center; justify-content:space-between; gap:14px; padding:14px; margin-bottom:18px; }.fb-staff-search form { display:flex; flex:1; gap:9px; }.fb-staff-search small { color:var(--fb-muted); font-size:11px; white-space:nowrap; }.fb-account-picker { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px; }.fb-account-choice { display:flex; align-items:center; justify-content:space-between; gap:10px; padding:12px; border:1px solid var(--fb-border); border-radius:9px; background:#161310; color:#d8d1c7; text-align:left; cursor:pointer; }.fb-account-choice:hover { border-color:#6d8c83; background:#19201e; }.fb-account-choice b { display:block; color:#f1ece4; }.fb-account-choice small { display:block; margin-top:4px; color:var(--fb-muted); font-size:11px; } @media (max-width:700px) { .fb-staff-search,.fb-staff-search form { align-items:stretch; flex-direction:column; }.fb-staff-search small { white-space:normal; }.fb-account-picker { grid-template-columns:1fr; } }
.fb-actor { display:inline-flex; align-items:center; gap:5px; width:max-content; margin-top:8px; padding:4px 7px; border:1px solid currentColor; border-radius:6px; font-size:10px; font-weight:800; letter-spacing:.2px; }.role-super_admin { color:#c69be7; background:rgba(198,155,231,.10); }.role-administrator { color:#79aeda; background:rgba(121,174,218,.10); }.role-moderator { color:#77bb96; background:rgba(119,187,150,.10); }.role-analyst { color:#a6afb8; background:rgba(166,175,184,.10); }.role-legacy_admin { color:#cda969; background:rgba(205,169,105,.10); }.role-system { color:#80bab5; background:rgba(128,186,181,.10); }
