.workspace .assistant-tabs:has(#guardian-tab) { gap: 8px; padding: 0 12px; overflow-x: auto; scrollbar-width: thin; }
.assistant-tabs:has(#guardian-tab) button { flex-shrink: 0; white-space: nowrap; }
.assistant-tabs:has(#guardian-tab) button .ui-icon { display: none; }
.guardian-badge { margin-left: auto; padding: 4px 8px; min-height: 26px; border: 1px solid var(--line); border-radius: 999px; font-size: 10px; color: var(--text-secondary, #6b746b); background: var(--surface, #fff); white-space: nowrap; }
.guardian-badge[data-state="on"] { color: #426951; background: #f0f5ee; }
.guardian-badge[data-state="attention"] { color: #8b632b; border-color: #e9dcc4; background: #fcf8ef; }
.guardian-badge[data-state="working"] { color: #426951; border-color: #b8cdb9; background: #f0f5ee; }
.guardian-panel { flex: 1; min-height: 0; overflow: hidden; background: var(--surface, #fff); }
.guardian-scroll { height: 100%; overflow-y: auto; overscroll-behavior: contain; padding: 22px 18px 28px; }
.guardian-intro { margin-bottom: 18px; }
.guardian-title-row { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px; }
.guardian-title-row h2 { margin: 0; color: var(--text, #273a2e); font-size: 17px; font-weight: 600; letter-spacing: -.3px; }
.guardian-intro p { margin: 10px 0 0; color: var(--text-secondary, #667567); font-size: 12px; line-height: 1.8; }
.guardian-intro .guardian-scope { font-size: 10px; color: #839083; }
.workspace .guardian-toggle { display: inline-flex; flex-direction: row; align-items: center; gap: 6px; font-size: 11px; color: var(--text-secondary, #667567); white-space: nowrap; cursor: pointer; }
.guardian-toggle input { width: 15px; height: 15px; margin: 0; accent-color: #55775e; }
.guardian-mode { display: flex; align-items: center; gap: 8px; padding: 10px 12px; border: 1px solid #e5e9e0; border-radius: 9px; background: #f8faf5; font-size: 12px; color: #6c776a; }
.guardian-mode-dot { width: 6px; height: 6px; flex: 0 0 6px; background: #b0b8ad; border-radius: 50%; }
.guardian-mode[data-enabled="true"] .guardian-mode-dot { background: #5e8264; }
.guardian-help { color: var(--text-secondary, #687667); font-size: 11px; line-height: 1.75; white-space: pre-wrap; overflow-wrap: anywhere; }
.guardian-notice { margin: 14px 0; padding: 10px 12px; border-left: 2px solid #7b9974; background: #f6f8f2; color: #4d674d; font-size: 12px; line-height: 1.7; overflow-wrap: anywhere; }
.guardian-notice.error { color: #9c473f; background: #fcf5f1; border-left-color: #c2917e; }
.guardian-list-heading { display: flex; justify-content: space-between; align-items: center; margin-top: 22px; gap: 10px; }
.guardian-list-heading h3 { margin: 0; color: var(--text, #273a2e); font-size: 12px; font-weight: 600; }
.guardian-text-button { border: 0; padding: 5px 0; color: #6a7c64; background: none; font-size: 11px; box-shadow: none; white-space: nowrap; }
.guardian-issues { display: grid; gap: 8px; margin-top: 11px; }
.guardian-empty { padding: 22px 12px; color: #7b8876; text-align: center; font-size: 12px; line-height: 1.8; border: 1px dashed #e0e6d9; border-radius: 10px; }
.guardian-empty strong { color: #61735b; font-size: 12px; font-weight: 500; }
.guardian-empty p { margin: 8px 0 0; font-size: 11px; }
.guardian-issue { width: 100%; min-width: 0; display: flex; align-items: stretch; flex-direction: column; gap: 7px; padding: 12px; border: 1px solid #e4e9dd; border-radius: 9px; background: #fff; color: var(--text, #273a2e); text-align: left; overflow-wrap: anywhere; }
.guardian-issue:hover, .guardian-issue.selected { background: #f7f9f3; border-color: #acbea2; }
.guardian-issue-heading { display: flex; justify-content: space-between; gap: 8px; color: #7d8975; font-size: 10px; }
.guardian-issue-state { color: #60805b; white-space: nowrap; }
.guardian-issue strong { font-size: 12px; line-height: 1.65; font-weight: 500; }
.guardian-issue-path { font: 10px/1.5 ui-monospace, monospace; color: #7c8976; overflow-wrap: anywhere; }
.guardian-issue-meta { font-size: 10px; color: #8a9584; }
.guardian-detail { margin-top: 18px; padding-top: 16px; border-top: 1px solid var(--line); min-width: 0; }
.guardian-detail-heading { display: flex; justify-content: space-between; align-items: start; gap: 10px; }
.guardian-detail-heading h3 { margin: 0; color: var(--text, #273a2e); font-size: 13px; font-weight: 600; line-height: 1.6; overflow-wrap: anywhere; }
.guardian-diagnosis { font-size: 12px; line-height: 1.85; color: var(--text-secondary, #52654f); white-space: pre-wrap; overflow-wrap: anywhere; }
.guardian-actions { display: flex; flex-wrap: wrap; gap: 8px; }
.guardian-actions button, .guardian-load-candidate, .guardian-candidate button { padding: 7px 10px; font-size: 11px; }
.guardian-progress { padding: 10px 12px; display: flex; justify-content: space-between; align-items: center; gap: 12px; color: #55734f; background: #f4f7ef; border-radius: 8px; font-size: 12px; }
.guardian-candidate { margin-top: 16px; min-width: 0; }
.guardian-candidate h4 { margin: 0; font-size: 13px; color: #486b48; font-weight: 600; }
.guardian-candidate-files { font-size: 10px; line-height: 1.6; color: #6b7a63; overflow-wrap: anywhere; }
.guardian-diff { max-height: 330px; overflow: auto; margin: 12px 0; padding: 10px; border: 1px solid #e3e7dc; border-radius: 8px; background: #fbfcf8; color: #626e5b; font: 10px/1.7 ui-monospace, SFMono-Regular, monospace; tab-size: 2; }
.guardian-diff span { display: block; min-height: 1.7em; white-space: pre; }
.guardian-diff .added { color: #2c6a43; background: #edf6e9; }
.guardian-diff .removed { color: #9f4e49; background: #fcf1ed; }
.guardian-pdf { width: 100%; margin-top: 12px; }
.guardian-pdf canvas { display: block; max-width: 100%; height: auto; background: white; border: 1px solid #e0e5d9; }
.guardian-pdf a { display: inline-block; margin: 10px 0; font-size: 11px; color: #53744c; }
.guardian-retention { margin: 25px 0 0; padding-top: 13px; border-top: 1px solid #e9ece3; color: #899480; font-size: 10px; line-height: 1.8; }
.guardian-other-projects { padding: 10px 12px; border: 1px solid #e3e8da; border-radius: 8px; font-size: 11px; color: #64785b; background: #fafbf6; overflow-wrap: anywhere; }
.guardian-other-projects summary { cursor: pointer; }
.guardian-other-projects ul { margin: 10px 0 0; padding-left: 15px; line-height: 1.8; }
.latex-guardian-action { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin: 10px 0; padding: 10px 12px; border-radius: 8px; background: #f4f7ef; font-size: 11px; color: #71806a; }
.latex-guardian-action button { color: #496f48; font-size: 11px; padding: 6px 10px; }
@media (max-width: 600px) { .guardian-scroll { padding: 18px 16px 28px; } .guardian-badge { font-size: 10px; } }
