/* Voion Account Plan Reviewer — extracted from REQ mockup */
body { font-family: 'Inter', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif; background:#f3f4f6; color:#111827; }
.b2b-panel { background:#fff; border:1px solid #e5e7eb; border-radius:.375rem; box-shadow:0 1px 2px 0 rgba(0,0,0,.05); }
.sidebar-active { background:#1e293b; color:#fff; border-left:3px solid #3b82f6; }
.sidebar-item { border-left:3px solid transparent; }
/* Belt-and-braces: any nav-item stays legible on the dark sidebar even if a
   class swap accidentally clears its tailwind text-color utility. */
.nav-item { color:#cbd5e1; }
.nav-item.sidebar-active { color:#fff; }
.nav-item:hover { background:#1f2a3a; }
.progress-track { background:#e5e7eb; border-radius:9999px; overflow:hidden; height:6px; }
.progress-bar { transition:width .5s ease-in-out; height:100%; border-radius:9999px; }
.progress-stacked { display:flex; height:6px; border-radius:9999px; overflow:hidden; background:#e5e7eb; }
.status-badge { display:inline-flex; align-items:center; padding:.125rem .5rem; font-size:.75rem; font-weight:600; border-radius:.25rem; border:1px solid transparent; }
.inner-tab { cursor:pointer; border-bottom:2px solid transparent; padding-bottom:.5rem; color:#6b7280; font-weight:500; transition:all .2s; }
.inner-tab:hover { color:#111827; }
.inner-tab.active { border-bottom-color:#3b82f6; color:#2563eb; font-weight:600; }
.b2b-table th { background:#f9fafb; font-weight:600; color:#4b5563; text-transform:uppercase; font-size:.75rem; letter-spacing:.05em; padding:.75rem 1rem; border-bottom:1px solid #e5e7eb; }
.b2b-table td { padding:.75rem 1rem; border-bottom:1px solid #e5e7eb; color:#374151; font-size:.875rem; vertical-align:top; }
.b2b-table tr:last-child td { border-bottom:none; }
.b2b-table tr:hover td { background:#f9fafb; }
::-webkit-scrollbar { width:6px; height:6px; }
::-webkit-scrollbar-track { background:#f3f4f6; }
::-webkit-scrollbar-thumb { background:#d1d5db; border-radius:3px; }
.grade-A { background:#d1fae5; color:#065f46; border-color:#10b981; }
.grade-B { background:#fef3c7; color:#92400e; border-color:#f59e0b; }
.grade-C, .grade-D { background:#fee2e2; color:#991b1b; border-color:#ef4444; }
.role-pill { display:inline-flex; align-items:center; gap:.25rem; padding:.125rem .5rem; border-radius:.25rem; font-size:.6875rem; font-weight:600; background:#eff6ff; color:#1d4ed8; border:1px solid #bfdbfe; }
.spin { animation: spin 1s linear infinite; }
@keyframes spin { from { transform:rotate(0); } to { transform:rotate(360deg); } }
/* Markdown report */
.md-body h1 { font-size:1.25rem; font-weight:700; margin-top:1rem; }
.md-body h2 { font-size:1.05rem; font-weight:700; margin-top:1rem; color:#1e3a8a; }
.md-body h3 { font-size:.95rem; font-weight:600; margin-top:.75rem; color:#374151; }
.md-body table { width:100%; border-collapse:collapse; margin:.5rem 0; font-size:.8125rem; }
.md-body th, .md-body td { border:1px solid #e5e7eb; padding:.4rem .6rem; text-align:left; }
.md-body th { background:#f9fafb; }
.md-body ul, .md-body ol { margin-left:1.25rem; list-style:disc; }
.md-body ol { list-style:decimal; }
.md-body code { background:#f3f4f6; padding:.05rem .3rem; border-radius:3px; font-size:.85em; }
.md-body p { margin:.4rem 0; line-height:1.55; }

/* AI 评审摘要 — tighter, more "report" typography. */
.md-summary { color:#1f2937; font-size:.8125rem; line-height:1.7; }
.md-summary h1, .md-summary h2 { font-size:.95rem; font-weight:700; color:#0f172a; margin:0 0 .35rem; padding-bottom:.25rem; border-bottom:1px solid #e5e7eb; letter-spacing:.01em; }
.md-summary h2 { margin-top:1rem; }
.md-summary h3 { font-size:.875rem; font-weight:600; color:#1e3a8a; margin:.85rem 0 .25rem; }
.md-summary p { margin:.35rem 0; }
.md-summary ul, .md-summary ol { margin:.25rem 0 .35rem 1.1rem; }
.md-summary li { margin:.15rem 0; }
.md-summary li::marker { color:#94a3b8; }
.md-summary strong { color:#0f172a; font-weight:600; }
.md-summary table { border:1px solid #e5e7eb; border-radius:.375rem; overflow:hidden; margin:.5rem 0; }
.md-summary th { background:#f8fafc; font-size:.7rem; letter-spacing:.05em; text-transform:uppercase; color:#475569; padding:.45rem .65rem; }
.md-summary td { padding:.45rem .65rem; font-size:.8125rem; }
.md-summary code { background:#f1f5f9; color:#0f172a; padding:.05rem .35rem; border-radius:3px; font-size:.78em; }

/* Status pill colors (plan lifecycle) */
.plan-status { display:inline-flex; padding:.125rem .5rem; font-size:.75rem; font-weight:600; border-radius:.25rem; border:1px solid transparent; }
.plan-status-new        { background:#eff6ff; color:#1e40af; border-color:#bfdbfe; }
.plan-status-pending    { background:#f3f4f6; color:#374151; border-color:#d1d5db; }
.plan-status-submitted  { background:#ecfeff; color:#155e75; border-color:#a5f3fc; }
.plan-status-reviewed   { background:#ecfdf5; color:#065f46; border-color:#a7f3d0; }
.plan-status-returned   { background:#fef2f2; color:#991b1b; border-color:#fecaca; }
.plan-status-error      { background:#fef3c7; color:#92400e; border-color:#fde68a; }

/* Action item rings */
.status-ring-card { display:flex; flex-direction:column; align-items:center; gap:.5rem; padding:1rem .5rem; border:1px solid #f1f5f9; border-radius:.625rem; background:#fff; }
.status-ring { --ring-color:#22c55e; --ring-value:50; width:96px; height:96px; border-radius:9999px;
               background:conic-gradient(var(--ring-color) calc(var(--ring-value) * 1%), #e5e7eb 0);
               display:flex; align-items:center; justify-content:center; position:relative; }
.status-ring::after { content:''; position:absolute; inset:9px; border-radius:9999px; background:#fff; box-shadow: inset 0 0 0 1px #f1f5f9; }
.status-ring-inner { position:relative; z-index:1; display:flex; flex-direction:column; align-items:center; line-height:1.1; }
.status-ring-value { font-size:1rem; font-weight:700; color:#111827; }
.status-ring-count { font-size:.7rem; color:#6b7280; margin-top:.125rem; }

/* Action-list filter row */
.action-filter-row th { background:linear-gradient(180deg,#fff 0%,#f8fafc 100%); padding:.5rem 1rem .75rem; border-bottom:1px solid #e5e7eb; text-transform:none; letter-spacing:0; }
.action-filter-select { width:100%; min-width:110px; border:1px solid #d1d5db; border-radius:.375rem; background:#fff; color:#374151; font-size:.75rem; padding:.35rem .5rem; }
.action-filter-select:focus { outline:none; border-color:#60a5fa; box-shadow:0 0 0 3px rgba(59,130,246,.12); }
.action-filter-reset { display:inline-flex; align-items:center; justify-content:center; gap:.35rem; border:1px solid #d1d5db; border-radius:.375rem; background:#fff; color:#4b5563; font-size:.75rem; font-weight:600; padding:.35rem .75rem; min-width:92px; }
.action-filter-reset:hover { background:#eff6ff; border-color:#93c5fd; color:#1d4ed8; }
.action-filter-reset-cell { text-align:center; min-width:116px; }
.filter-placeholder { display:inline-flex; align-items:center; justify-content:center; width:100%; color:#cbd5e1; font-size:.75rem; }
.delayed-row td { background:#fff7ed; }
.sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
