:root,html[data-theme=dark]{color-scheme:dark;--bg:#0b1220;--panel:#101827;--panel-2:#132036;--sidebar:#0d1525;--surface-inset:#111b2d;--surface-input:#0f192b;--surface-code:#0d1525;--surface-hover:#16233d;--line:#27344c;--text:#eef3fb;--muted:#9eb0cb;--accent:#63a2ff;--primary:#1d4ed8;--primary-fg:#f8fafc;--accent-soft:rgba(99,162,255,.12);--accent-muted:rgba(99,162,255,.08);--accent-border:rgba(99,162,255,.35);--accent-border-strong:rgba(99,162,255,.5);--accent-glow:rgba(99,162,255,.45);--row-active:rgba(99,162,255,.1);--success-bg:rgba(52,211,153,.14);--success-border:rgba(52,211,153,.3);--success-soft:rgba(52,211,153,.05);--success-border-soft:rgba(52,211,153,.24);--warning-bg:rgba(250,204,21,.14);--warning-border:rgba(250,204,21,.3);--warning-soft:rgba(250,204,21,.06);--warning-border-soft:rgba(250,204,21,.28);--info-bg:rgba(99,162,255,.14);--info-border:rgba(99,162,255,.3);--danger-bg:hsla(0,91%,71%,.16);--danger-border:hsla(0,91%,71%,.35);--danger-soft:hsla(0,91%,71%,.08);--danger-text:#fda4af;--timeline-default:#31415f;--pill-status-fg:#b7d3ff;--pill-audit-fg:#d3ddeb;--pill-review-fg:#f9df74;--pill-success-fg:#8ff0c0;--pill-slate-border:rgba(148,163,184,.35);--pill-slate-fg:#d3ddeb;--shadow-soft:0 14px 40px rgba(0,0,0,.28)}html[data-theme=light]{color-scheme:light;--bg:#f4f7fc;--panel:#fff;--panel-2:#f8faff;--sidebar:#fff;--surface-inset:#f1f5fb;--surface-input:#fff;--surface-code:#f8fafc;--surface-hover:#eef4ff;--line:rgba(91,140,255,.22);--text:#0f172a;--muted:#64748b;--accent:#3b6eea;--primary:#2563eb;--primary-fg:#fff;--accent-soft:rgba(59,110,234,.1);--accent-muted:rgba(59,110,234,.06);--accent-border:rgba(59,110,234,.28);--accent-border-strong:rgba(59,110,234,.42);--accent-glow:rgba(59,110,234,.35);--row-active:rgba(59,110,234,.08);--success-bg:rgba(16,185,129,.12);--success-border:rgba(16,185,129,.28);--success-soft:rgba(16,185,129,.06);--success-border-soft:rgba(16,185,129,.22);--warning-bg:rgba(245,158,11,.12);--warning-border:rgba(245,158,11,.28);--warning-soft:rgba(245,158,11,.06);--warning-border-soft:rgba(245,158,11,.22);--info-bg:rgba(59,110,234,.1);--info-border:rgba(59,110,234,.26);--danger-bg:rgba(239,68,68,.1);--danger-border:rgba(239,68,68,.28);--danger-soft:rgba(239,68,68,.06);--danger-text:#dc2626;--timeline-default:#cbd5e1;--pill-status-fg:#1d4ed8;--pill-audit-fg:#475569;--pill-review-fg:#b45309;--pill-success-fg:#047857;--pill-slate-border:rgba(100,116,139,.28);--pill-slate-fg:#475569;--shadow-soft:0 10px 28px rgba(15,23,42,.08)}*{box-sizing:border-box}body,html{margin:0;padding:0;background:var(--bg);color:var(--text);font-family:Inter,Segoe UI,PingFang SC,Microsoft YaHei,sans-serif}a{color:inherit;text-decoration:none}.admin-shell{display:grid;grid-template-columns:260px 1fr;min-height:100vh;transition:grid-template-columns .22s ease}body.admin-sidebar-collapsed .admin-shell{grid-template-columns:56px 1fr}.sidebar{border-right:1px solid var(--line);background:var(--sidebar);padding:16px 12px;display:flex;flex-direction:column;gap:8px;overflow:hidden;transition:padding .22s ease}.sidebar.is-collapsed{overflow:visible;z-index:30}.sidebar-header{justify-content:space-between;gap:8px;margin-bottom:8px}.sidebar-brand,.sidebar-header{display:flex;align-items:flex-start}.sidebar-brand{gap:10px;min-width:0;flex:1 1}.sidebar-logo{flex-shrink:0;display:block;width:36px;height:36px;border-radius:12px;background:radial-gradient(circle at 30% 30%,hsla(0,0%,100%,.45),transparent 42%),linear-gradient(135deg,var(--accent),#22d3ee);box-shadow:0 8px 20px var(--accent-glow)}.sidebar-brand-text{min-width:0;overflow:hidden;transition:opacity .18s ease,max-width .22s ease;max-width:180px}.sidebar-brand-text h1{margin:0 0 4px;font-size:16px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-brand-text p{margin:0;color:var(--muted);font-size:12px;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.sidebar-collapse-btn{flex-shrink:0;width:32px;height:32px;border-radius:10px;border:0;background:transparent;color:var(--muted);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:color .12s ease,background .12s ease}.sidebar-collapse-icon{width:18px;height:18px}.sidebar-collapse-btn:hover{color:var(--text);background:var(--accent-muted)}.sidebar-nav{flex:1 1;overflow-y:auto;overflow-x:hidden;padding-right:2px}.nav-section{margin-bottom:10px}.nav-section-toggle{width:100%;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:6px 8px;margin:0 0 4px;border:0;border-radius:8px;background:transparent;color:var(--muted);font:inherit;font-size:12px;font-weight:600;letter-spacing:.02em;cursor:pointer;text-align:left;transition:background .12s ease,color .12s ease}.nav-section-toggle:hover{background:var(--accent-muted);color:var(--text)}.nav-section-title{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.nav-section-chevron{flex-shrink:0;width:14px;height:14px;opacity:.7;transition:transform .18s ease}.nav-section-chevron.is-open{transform:rotate(90deg)}.nav-section-links{display:grid;grid-template-rows:1fr;transition:grid-template-rows .22s ease,opacity .18s ease}.nav-section-links-inner{display:grid;grid-gap:6px;gap:6px;min-height:0;overflow:hidden}.nav-section:not(.is-open) .nav-section-links{grid-template-rows:0fr;opacity:.55}.sidebar-footer{margin-top:auto;display:grid;grid-gap:12px;gap:12px;padding-top:18px;border-top:1px solid var(--line)}.nav-link{display:flex;align-items:center;gap:10px;padding:9px 10px;border:0;border-radius:10px;background:transparent;color:var(--muted);transition:background .12s ease,color .12s ease}.nav-link:hover{background:var(--accent-muted);color:var(--text)}.nav-link.is-active{background:var(--accent-soft);color:var(--text)}.nav-link-icon{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;color:var(--muted)}.nav-link-icon svg{width:18px;height:18px}.nav-link.is-active .nav-link-icon,.nav-link:hover .nav-link-icon{color:var(--accent)}.nav-link-label{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-user{display:flex;align-items:center;gap:10px;min-width:0}.sidebar-user-avatar{flex-shrink:0;width:32px;height:32px;border-radius:999px;border:1px solid var(--line);background:var(--panel-2);color:var(--accent);display:inline-flex;align-items:center;justify-content:center;font-size:13px;font-weight:700}.sidebar-user-text{display:grid;grid-gap:4px;gap:4px;min-width:0;overflow:hidden;transition:opacity .18s ease,max-width .22s ease;max-width:180px}.sidebar-user-text .muted,.sidebar-user-text strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-logout{width:100%}.sidebar.is-collapsed .nav-link-label,.sidebar.is-collapsed .sidebar-brand-text,.sidebar.is-collapsed .sidebar-logout,.sidebar.is-collapsed .sidebar-user-text{opacity:0;max-width:0;overflow:hidden;pointer-events:none}.sidebar.is-collapsed .sidebar-header{flex-direction:column;align-items:center;gap:10px}.sidebar.is-collapsed .sidebar-brand{justify-content:center}.sidebar.is-collapsed .sidebar-nav{overflow:visible}.nav-rail-item{position:relative;display:flex;flex-direction:column;align-items:center}.nav-section-rail-divider{width:20px;height:1px;margin:8px auto;background:var(--line);border-radius:1px}.nav-rail-btn{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;margin:0 auto;padding:0;border:0;border-radius:12px;background:transparent;color:var(--muted);cursor:pointer;transition:background .12s ease,color .12s ease,box-shadow .12s ease}.nav-rail-btn.is-flyout-open,.nav-rail-btn:hover{background:var(--accent-muted);color:var(--text)}.nav-rail-btn.is-active{background:var(--accent-soft);color:var(--accent);box-shadow:inset 3px 0 0 var(--accent)}.nav-rail-btn svg{width:20px;height:20px}.nav-flyout{position:absolute;left:calc(100% + 10px);top:0;z-index:50;min-width:200px;padding:8px;border:1px solid var(--line);border-radius:12px;background:var(--panel);box-shadow:var(--shadow-soft)}.nav-rail-item:nth-last-child(-n+2) .nav-flyout{top:auto;bottom:0}.nav-flyout-header{padding:6px 10px 8px;font-size:11px;font-weight:600;letter-spacing:.06em;color:var(--muted)}.nav-flyout-link{display:flex;align-items:center;gap:10px;padding:9px 10px;border-radius:8px;color:var(--muted);transition:background .12s ease,color .12s ease}.nav-flyout-link:hover{background:var(--accent-muted);color:var(--text)}.nav-flyout-link.is-active{background:var(--accent-soft);color:var(--text)}.nav-flyout-link-icon{display:inline-flex;width:18px;height:18px;color:var(--muted)}.nav-flyout-link.is-active .nav-flyout-link-icon,.nav-flyout-link:hover .nav-flyout-link-icon{color:var(--accent)}.nav-flyout-link-icon svg{width:18px;height:18px}.sidebar.is-collapsed .sidebar-collapse-btn{width:40px;height:40px;border-radius:12px;background:var(--accent-muted)}.sidebar-icon-btn{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;margin:0 auto;padding:0;border:0;border-radius:12px;background:transparent;color:var(--muted);cursor:pointer;transition:background .12s ease,color .12s ease}.sidebar-icon-btn svg{width:18px;height:18px}.sidebar-icon-btn:hover{background:var(--accent-muted);color:var(--text)}.sidebar.is-collapsed .sidebar-logo{width:32px;height:32px;border-radius:10px}.sidebar.is-collapsed .sidebar-footer{gap:8px;padding-top:12px;align-items:center}.sidebar.is-collapsed .sidebar-user{justify-content:center}.sidebar:not(.is-hydrated) .nav-section-links,.sidebar:not(.is-hydrated) .sidebar-brand-text{opacity:0}.content{padding:24px}.content-toolbar{display:flex;justify-content:flex-end;margin:-8px 0 12px}.guest-main{min-height:100vh}.guest-toolbar{display:flex;justify-content:flex-end;padding:16px 20px 0}.theme-toggle{min-height:32px;padding:0 14px;border-radius:8px;border:1px solid var(--line);background:var(--surface-inset);color:var(--muted);cursor:pointer;font:inherit;font-size:13px;transition:border-color .12s ease,color .12s ease,background .12s ease}.theme-toggle:hover{border-color:var(--accent-border);color:var(--text);background:var(--surface-hover)}html[data-theme=light] body{background:linear-gradient(180deg,rgba(91,140,255,.07),transparent 32%),var(--bg)}.topline{display:flex;justify-content:space-between;gap:16px;align-items:center;margin-bottom:20px}.topline h2{margin:0}.card,.panel,.table{border:1px solid var(--line);border-radius:8px;background:var(--panel)}.card,.panel{padding:18px}.grid,.stats{display:grid;grid-gap:16px;gap:16px}.stats,.stats--dashboard{grid-template-columns:repeat(4,minmax(0,1fr))}.dashboard-grid{align-items:stretch}.dashboard-bars{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));grid-gap:10px;gap:10px;align-items:end;min-height:180px;padding:8px 0 4px}.dashboard-bar-item{display:grid;grid-gap:6px;gap:6px;justify-items:center;align-content:end;min-height:180px}.dashboard-bar{width:100%;max-width:42px;border-radius:6px 6px 2px 2px;background:linear-gradient(180deg,var(--accent) 0,rgba(99,162,255,.35) 100%);min-height:8px}.dashboard-bar-value{font-size:12px;font-weight:600}.dashboard-bar-label{font-size:11px;color:var(--muted)}.dashboard-top-pages{margin-top:18px;padding-top:16px;border-top:1px solid var(--line)}.dashboard-top-row{display:flex;justify-content:space-between;gap:12px;align-items:center}.dashboard-publish-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:12px;gap:12px;margin-bottom:16px}.metric--inline{padding:14px}.metric--inline h3{margin:6px 0}.dashboard-breakdown{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:10px;gap:10px;margin-bottom:18px}.dashboard-breakdown-item{display:flex;justify-content:space-between;gap:10px;padding:10px 12px;border:1px solid var(--line);border-radius:8px;background:var(--surface-inset)}.dashboard-recent-publish{padding-top:16px;border-top:1px solid var(--line)}.compact-stack{gap:12px}.dash-v2{display:grid;grid-gap:20px;gap:20px}.dash-traffic-hero{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:16px;gap:16px}.dash-kpi{position:relative;overflow:hidden;padding:20px 22px;border-radius:14px;border:1px solid var(--line);background:linear-gradient(145deg,var(--panel) 0,var(--panel-2) 100%);box-shadow:var(--shadow-soft)}.dash-kpi:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;border-radius:14px 14px 0 0}.dash-kpi--pv:before{background:linear-gradient(90deg,#3b82f6,#60a5fa)}.dash-kpi--uv:before{background:linear-gradient(90deg,#10b981,#34d399)}.dash-kpi--ip:before{background:linear-gradient(90deg,#f59e0b,#fbbf24)}.dash-kpi-top{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:12px}.dash-kpi-badge{display:inline-flex;padding:4px 10px;border-radius:999px;font-size:12px;font-weight:700;letter-spacing:.06em}.dash-kpi--pv .dash-kpi-badge{color:#1d4ed8;background:rgba(59,130,246,.14)}.dash-kpi--uv .dash-kpi-badge{color:#047857;background:rgba(16,185,129,.14)}.dash-kpi--ip .dash-kpi-badge{color:#b45309;background:rgba(245,158,11,.16)}.dash-kpi-hint{font-size:12px;color:var(--muted)}.dash-kpi-value{margin:0;font-size:2.25rem;font-weight:700;line-height:1.1;letter-spacing:-.02em}.dash-kpi-label{margin:6px 0 14px;font-size:13px;color:var(--muted)}.dash-kpi-foot{display:flex;gap:16px;padding-top:14px;border-top:1px solid var(--line);font-size:12px;color:var(--muted)}.dash-kpi-foot strong{color:var(--text);font-weight:600}.dash-chart-card{padding:22px 24px;border-radius:14px;background:linear-gradient(160deg,var(--panel) 0,var(--surface-inset) 100%)}.dash-content-kpis{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));grid-gap:12px;gap:12px}.dash-mini-kpi{display:grid;grid-gap:6px;gap:6px;padding:14px 16px;border-radius:10px;border:1px solid var(--line);background:var(--panel-2);transition:border-color .12s ease,transform .12s ease}.dash-mini-kpi:hover{border-color:var(--accent-border);transform:translateY(-1px)}.dash-mini-kpi-label{font-size:12px;color:var(--muted)}.dash-mini-kpi strong{font-size:1.35rem;font-weight:650}.dash-rank{margin-right:8px;font-size:12px;color:var(--muted);font-weight:600}.chart-panel--traffic{padding:0}.chart-panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:16px;flex-wrap:wrap}.chart-panel-subtitle{margin:4px 0 0;font-size:13px;color:var(--muted)}.chart-legend--inline{gap:14px;font-size:13px;font-weight:500}.chart-empty{display:grid;grid-gap:6px;gap:6px;justify-items:center;padding:48px 20px;border-radius:12px;border:1px dashed var(--line);background:var(--surface-inset);text-align:center}.chart-empty strong{font-size:15px}.chart-empty span{font-size:13px;color:var(--muted)}.chart-empty--compact{padding:24px 16px}.chart-line-wrap--tall{min-height:240px}.chart-line-path--multi{stroke-width:2.5}.chart-dot--multi{stroke:var(--panel);stroke-width:2}.chart-line-labels--spread{display:grid;grid-template-columns:repeat(auto-fit,minmax(32px,1fr));grid-gap:4px;gap:4px;margin-top:8px;font-size:11px;color:var(--muted);text-align:center}.field-hint{display:block;margin-top:4px;font-size:12px;color:var(--muted)}.role-permission-preview{margin-top:16px;padding-top:16px;border-top:1px solid var(--line)}.user-meta-card{margin-bottom:16px}.permission-matrix-wrap{display:grid;grid-gap:12px;gap:12px}.permission-matrix-intro{margin:0;font-size:13px;line-height:1.6}.permission-matrix-scroll{overflow-x:auto;border:1px solid var(--line);border-radius:10px;background:var(--surface-inset)}.permission-matrix{width:100%;min-width:640px;border-collapse:collapse;font-size:13px}.permission-matrix td,.permission-matrix th{padding:10px 12px;border-bottom:1px solid var(--line);text-align:center;vertical-align:middle}.permission-matrix td:first-child,.permission-matrix th:first-child{text-align:left}.permission-matrix thead th{font-weight:600;background:var(--panel-2);white-space:nowrap}.permission-matrix-group td{font-weight:600;font-size:12px;color:var(--muted);text-align:left;background:var(--surface-hover)}.permission-matrix-label{display:block;font-weight:500}.permission-matrix-id{display:block;margin-top:2px;font-size:11px;color:var(--muted);font-family:ui-monospace,monospace}.permission-matrix-cell{width:72px}.permission-yes{display:inline-flex;width:22px;height:22px;align-items:center;justify-content:center;border-radius:999px;background:var(--success-bg);color:var(--pill-success-fg);font-weight:700}.permission-no{color:var(--muted)}.dashboard-wide-card{overflow:hidden}.dashboard-grid--charts{grid-template-columns:repeat(2,minmax(0,1fr))}.chart-panel h3{margin:0}.chart-line-wrap{display:grid;grid-gap:10px;gap:10px}.chart-line{width:100%;height:auto;display:block}.chart-grid-line{stroke:var(--line);stroke-width:1;stroke-dasharray:4 6}.chart-area{fill:rgba(99,162,255,.14)}.chart-line-path{stroke-width:3;stroke-linecap:round;stroke-linejoin:round}.chart-dot{fill:var(--accent);stroke:var(--panel);stroke-width:2}.chart-legend,.chart-line-labels,.chart-line-meta{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;font-size:12px}.chart-line-labels span{color:var(--muted)}.chart-legend-dot{display:inline-block;width:10px;height:10px;border-radius:999px;margin-right:6px}.chart-legend-dot--articles{background:#63a2ff}.chart-legend-dot--resources{background:#34d399}.dashboard-bar-item--dual,.dashboard-bars--dual{min-height:160px}.dashboard-bar-group{display:flex;align-items:flex-end;justify-content:center;gap:6px;width:100%;height:120px}.dashboard-bar--articles{background:linear-gradient(180deg,#63a2ff,rgba(99,162,255,.35))}.dashboard-bar--resources{background:linear-gradient(180deg,#34d399,rgba(52,211,153,.35))}.status-ring-layout{display:grid;grid-template-columns:140px 1fr;grid-gap:16px;gap:16px;align-items:center}.status-ring{width:140px;display:grid;place-items:center}.status-ring,.status-ring-hole{aspect-ratio:1;border-radius:50%}.status-ring-hole{width:88px;background:var(--panel);border:1px solid var(--line);display:grid;place-content:center;justify-items:center;grid-gap:4px;gap:4px}.status-ring-legend{display:grid;grid-gap:8px;gap:8px}.status-ring-legend-item{display:grid;grid-template-columns:12px 1fr auto;grid-gap:8px;gap:8px;align-items:center;font-size:13px}.status-ring-swatch{width:12px;height:12px;border-radius:4px}.grid{grid-template-columns:repeat(2,minmax(0,1fr))}.metric{background:var(--panel-2);border:1px solid var(--line);border-radius:8px;padding:16px}.metric-link{display:block;transition:border-color .12s ease,transform .12s ease,background .12s ease}.metric-link:hover{border-color:var(--accent-glow);background:var(--surface-hover);transform:translateY(-1px)}.muted,.pill{color:var(--muted)}.pill{display:inline-flex;padding:5px 10px;border-radius:999px;background:var(--surface-hover);border:1px solid var(--line);font-size:12px}.table{overflow:hidden}.table-empty{grid-gap:8px;gap:8px;padding:24px 16px}.row,.table-empty{display:grid;border-top:1px solid var(--line)}.row{grid-template-columns:1.4fr 1fr 1fr 1fr;grid-gap:12px;gap:12px;padding:14px 16px;align-items:start}.row:first-child{border-top:0;font-weight:600}.row-focused{background:var(--row-active)}.stack{display:grid;grid-gap:16px;gap:16px}.section-heading{margin-bottom:16px}.section-heading h3,.section-heading p{margin:0}.section-heading-body{display:grid;grid-gap:6px;gap:6px}.section-heading-title-row{display:flex;align-items:center;flex-wrap:wrap;gap:10px 14px}.section-heading-title-row h3{margin:0}.section-heading-actions{display:flex;align-items:start;justify-content:space-between;gap:12px}.section-heading-actions .section-heading-body{flex:1 1;min-width:0}.section-heading-row{display:flex;align-items:center;justify-content:space-between;gap:10px 16px;flex-wrap:wrap}.section-heading-row h3{margin:0}.section-toggle{display:inline-flex;align-items:center;gap:8px;margin:0;padding:6px 12px;border:1px solid var(--line);border-radius:8px;background:var(--surface-input);color:var(--text);font-size:14px;line-height:1.4;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;flex-shrink:0}.section-toggle input{width:16px;height:16px;margin:0;flex-shrink:0}.field-checkbox-inline{display:flex;align-items:center;min-height:40px;padding:0 12px;border:1px solid var(--line);border-radius:8px;background:var(--surface-input)}.field-checkbox-inline .checkbox-row{width:100%}.inline-actions{display:flex;gap:8px;flex-wrap:wrap}.code-block{margin:0;padding:14px;border-radius:8px;border:1px solid var(--line);background:var(--sidebar);color:var(--muted);overflow:auto;font-size:12px;line-height:1.5}.list-item-heading{display:flex;align-items:start;justify-content:space-between;gap:12px}.text-link{color:var(--accent);font-size:14px;white-space:nowrap}.text-link:hover{text-decoration:underline}.empty-state{display:grid;grid-gap:8px;gap:8px;min-height:88px;align-content:center}.inline-meta{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}.badge{display:inline-flex;align-items:center;min-height:24px;padding:0 10px;border-radius:999px;border:1px solid var(--line);font-size:12px;color:var(--text)}.badge.status-published,.badge.status-succeeded{background:var(--success-bg);border-color:var(--success-border)}.badge.status-pending_review,.badge.status-queued{background:var(--warning-bg);border-color:var(--warning-border)}.badge.status-running{background:var(--info-bg);border-color:var(--info-border)}.badge.status-active{background:var(--success-bg);border-color:var(--success-border)}.badge.status-archived,.badge.status-disabled,.badge.status-draft,.badge.status-failed{background:var(--danger-bg);border-color:var(--danger-border)}.action-group{display:flex;gap:8px;flex-wrap:wrap}.action-note-form,.review-decision-form{display:grid;grid-gap:10px;gap:10px}.action-note-form{width:min(100%,420px)}.action-note-form textarea,.review-decision-form textarea{min-height:72px;padding:10px 12px;border-radius:8px;border:1px solid var(--line);background:var(--surface-input);color:var(--text);resize:vertical;font:inherit}.job-audit-comment{padding:12px 14px;border-radius:8px;border:1px solid var(--line);background:var(--sidebar);color:var(--text)}.section-actions{display:flex;justify-content:flex-end;margin-bottom:16px}.job-focus-panel{display:grid;grid-gap:16px;gap:16px}.job-focus-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:12px;gap:12px}.job-note{display:grid;grid-gap:6px;gap:6px;padding:14px 16px;border-radius:8px;border:1px solid var(--line);background:var(--sidebar)}.job-note-error{border-color:var(--danger-border);background:var(--danger-soft)}.job-context-grid,.job-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.job-context-grid{display:grid;grid-gap:12px;gap:12px}.job-context-card{display:grid;grid-gap:8px;gap:8px}.job-context-success{border-color:var(--success-border)}.job-context-warning{border-color:var(--warning-border)}.job-detail-item{display:grid;grid-gap:8px;gap:8px;padding:14px 16px;border:1px solid var(--line);border-radius:8px;background:var(--sidebar)}.job-timeline-item{position:relative;padding-left:18px}.job-timeline-link{display:grid;grid-gap:8px;gap:8px}.job-timeline-link-row{display:flex;justify-content:flex-end}.job-timeline-item:before{content:"";position:absolute;left:0;top:16px;bottom:16px;width:3px;border-radius:999px;background:var(--timeline-default)}.job-timeline-kind-status:before{background:var(--accent)}.job-timeline-kind-audit:before{background:var(--muted)}.job-timeline-kind-review:before{background:var(--warning-border)}.job-timeline-tone-success{border-color:var(--success-border-soft);background:var(--success-soft)}.job-timeline-tone-warning{border-color:var(--warning-border-soft);background:var(--warning-soft)}.timeline-pill{background:var(--panel-2)}.timeline-pill-status{border-color:var(--accent-border);color:var(--pill-status-fg)}.timeline-pill-audit{border-color:var(--pill-slate-border);color:var(--pill-audit-fg)}.timeline-pill-review{border-color:var(--warning-border);color:var(--pill-review-fg)}.timeline-pill-tone-success{border-color:var(--success-border);color:var(--pill-success-fg)}.timeline-pill-tone-warning{border-color:var(--warning-border);color:var(--pill-review-fg)}.timeline-pill-tone-default{border-color:var(--pill-slate-border);color:var(--pill-audit-fg)}.action-button{min-height:30px;padding:0 12px;border-radius:8px;border:1px solid var(--line);background:var(--panel-2);color:var(--text);cursor:pointer;display:inline-flex;align-items:center;justify-content:center}.action-button.primary{background:var(--primary);border-color:var(--primary);color:var(--primary-fg)}.action-button.danger{background:var(--danger-bg);border-color:var(--danger-border)}.link-button{text-decoration:none}.editor-form,.editor-grid{display:grid;grid-gap:16px;gap:16px}.editor-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}.editor-grid-span-2{grid-column:1/-1}.field textarea{min-height:44px;padding:10px 12px;border-radius:8px;border:1px solid var(--line);background:var(--surface-input);color:var(--text);resize:vertical;font:inherit}.article-editor-header h3,.article-editor-header p{margin:0}.article-editor-header{display:flex;align-items:start;justify-content:space-between;gap:16px}.editor-actions{display:flex;gap:12px;flex-wrap:wrap}.login-shell{min-height:100vh;display:grid;place-items:center;padding:24px}.login-card{width:min(100%,420px);display:grid;grid-gap:14px;gap:14px;padding:24px;border:1px solid var(--line);border-radius:8px;background:var(--panel)}.login-copy h2,.login-copy p{margin:0}.field,.login-copy{display:grid;grid-gap:8px;gap:8px}.field span{font-size:14px}.field input:not([type=checkbox]):not([type=hidden]){width:100%;box-sizing:border-box;height:40px;min-height:40px;max-height:40px;padding:0 12px;border-radius:8px;border:1px solid var(--line);background:var(--surface-input);color:var(--text);font:inherit;line-height:1.2}.field input:not([type=checkbox]):not([type=hidden]):focus{outline:2px solid color-mix(in srgb,var(--accent) 40%,transparent);outline-offset:1px;border-color:var(--accent-border)}.field input:disabled,.field input[readonly]{opacity:.85;cursor:not-allowed}.field select{min-height:40px;padding:0 12px;border-radius:8px;color:var(--text)}.checkbox-field,.field select{border:1px solid var(--line);background:var(--surface-input)}.checkbox-field{margin:0;padding:12px;border-radius:8px}.checkbox-field legend{padding:0 6px;font-size:14px}.checkbox-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:10px 14px;gap:10px 14px}.checkbox-option{display:flex;align-items:start;gap:10px}.checkbox-option input{margin-top:3px}.checkbox-option span{display:grid;grid-gap:2px;gap:2px}.checkbox-option small{color:var(--muted);font-size:12px}.checkbox-row,.inline-input-actions{display:flex;align-items:center;gap:10px}.inline-input-actions input{flex:1 1}.rich-text-editor{display:grid;grid-gap:8px;gap:8px}.rich-text-toolbar{display:flex;flex-wrap:wrap;gap:8px;padding:8px;border:1px solid var(--line);border-radius:8px;background:var(--surface-input)}.rich-text-toolbar-button{min-height:32px;padding:0 10px;border-radius:6px;border:1px solid var(--line);background:var(--panel);color:var(--text);cursor:pointer}.rich-text-toolbar-button:disabled{opacity:.6;cursor:not-allowed}.rich-text-surface{min-height:280px;padding:12px;border-radius:8px;border:1px solid var(--line);background:var(--surface-input);color:var(--text);line-height:1.6}.rich-text-surface:focus{outline:2px solid color-mix(in srgb,var(--accent) 40%,transparent);outline-offset:1px}.rich-text-surface img{max-width:100%;height:auto}.rich-text-error{color:#c0392b}.rich-text-error,.rich-text-status{margin:0;font-size:13px}.field small.muted{font-size:12px}.admin-user-form-grid .field{align-self:start}.user-meta-card{margin-bottom:0}.login-submit{min-height:40px}.login-error{color:var(--danger-text);font-size:14px}.login-hint{font-size:13px}@media (max-width:920px){.admin-shell,body.admin-sidebar-collapsed .admin-shell{grid-template-columns:1fr}.sidebar.is-collapsed .nav-link-label,.sidebar.is-collapsed .nav-section-title,.sidebar.is-collapsed .sidebar-brand-text,.sidebar.is-collapsed .sidebar-logout,.sidebar.is-collapsed .sidebar-user-text{opacity:1;max-width:none;pointer-events:auto}.dash-content-kpis,.dash-traffic-hero,.dashboard-bars,.dashboard-breakdown,.dashboard-grid,.dashboard-publish-summary,.editor-grid,.grid,.row,.stats,.stats--dashboard{grid-template-columns:1fr}.dashboard-bars{grid-template-columns:repeat(4,minmax(0,1fr))}.dashboard-grid--charts,.status-ring-layout{grid-template-columns:1fr}.article-editor-header,.checkbox-grid,.section-actions{justify-content:flex-start}.checkbox-grid{grid-template-columns:1fr}}