:root{color-scheme:light;--bg:#f5f7fb;--surface:#ffffff;--surface-muted:#f1f5f9;--ink:#111827;--muted:#64748b;--line:#d8e0ea;--line-strong:#c8d2df;--accent:#0f766e;--accent-strong:#115e59;--accent-soft:#e7f4f1;--warning-bg:#fff7df;--warning-line:#e5c46a;--warning-ink:#6b4f00;--danger-bg:#fff1f2;--danger-line:#f0a6ad;--danger-ink:#9f1239;--success-bg:#e8f7ee;--success-line:#9cd8b5;--success-ink:#166534;--info-bg:#eaf3ff;--info-line:#a8c9ee;--info-ink:#1d4f78;--shadow-sm:0 1px 2px rgba(15,23,42,0.06);--shadow-md:0 12px 30px rgba(15,23,42,0.08)}*{box-sizing:border-box}body,html{min-height:100%}body{margin:0;background:var(--bg);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.5}a{color:inherit;text-decoration:none}a:focus-visible,button:focus-visible{outline:3px solid color-mix(in srgb,var(--accent) 65%,white);outline-offset:3px}.dashboard-shell{display:grid;grid-template-columns:minmax(220px,260px) minmax(0,1fr);min-height:100vh}.dashboard-sidebar{border-right:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow-sm);padding:24px 16px;position:-webkit-sticky;position:sticky;top:0;height:100vh}.dashboard-brand{display:grid;grid-gap:4px;gap:4px;margin-bottom:28px}.dashboard-brand strong{font-size:1rem}.dashboard-brand span{color:var(--muted);font-size:.86rem}.dashboard-nav{display:grid;grid-gap:6px;gap:6px}.dashboard-nav a{border-radius:8px;color:var(--muted);display:flex;gap:12px;justify-content:space-between;min-height:44px;padding:11px 12px;transition:background .14s ease,color .14s ease,transform .14s ease}.dashboard-nav a[aria-current=page]{background:var(--accent-soft);color:var(--accent-strong);font-weight:700}.dashboard-nav a:hover{background:var(--surface-muted);color:var(--ink);transform:translateX(1px)}.dashboard-nav small{color:var(--accent);font-weight:700}.dashboard-main-wrap{min-width:0}.dashboard-mobile-nav{display:none}.dashboard-topbar{align-items:flex-start;border-bottom:1px solid var(--line);background:rgba(255,255,255,.9);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);display:flex;gap:16px;justify-content:space-between;padding:20px clamp(18px,4vw,40px);position:-webkit-sticky;position:sticky;top:0;z-index:3}.dashboard-title-block{display:grid;grid-gap:6px;gap:6px}.dashboard-title-block p{color:var(--muted);margin:0;max-width:760px}.dashboard-app-title{display:block;font-size:clamp(1.7rem,3vw,2.4rem);font-weight:800;line-height:1.1;margin:0}.dashboard-badges{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.dashboard-badge{border:1px solid var(--line);border-radius:999px;background:var(--surface);color:var(--muted);font-size:.82rem;font-weight:700;line-height:1;padding:8px 10px;white-space:nowrap}.dashboard-badge.warning{background:var(--warning-bg);border-color:var(--warning-line);color:var(--warning-ink)}.dashboard-badge-success{background:var(--success-bg);border-color:var(--success-line);color:var(--success-ink)}.dashboard-badge-warning{background:var(--warning-bg);border-color:var(--warning-line);color:var(--warning-ink)}.dashboard-badge-danger{background:var(--danger-bg);border-color:var(--danger-line);color:var(--danger-ink)}.dashboard-badge-info{background:var(--info-bg);border-color:var(--info-line);color:var(--info-ink)}.dashboard-badge-neutral{background:var(--surface);border-color:var(--line);color:var(--muted)}.dashboard-badge-prefix{font-weight:700}.dashboard-content{display:grid;grid-gap:22px;gap:22px;margin:0 auto;max-width:1480px;padding:24px clamp(18px,4vw,40px) 40px;width:100%}.dashboard-footer,.dashboard-notice,.dashboard-section,.dashboard-state{background:var(--surface);border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow-sm)}.dashboard-notice{color:var(--warning-ink);display:grid;grid-gap:4px;gap:4px;padding:14px 16px}.dashboard-notice strong{font-size:.95rem}.dashboard-notice span{font-size:.9rem}.dashboard-section{display:grid;grid-gap:16px;gap:16px;padding:clamp(18px,2.2vw,24px)}.dashboard-section h2{font-size:1.12rem;margin:0}.dashboard-section h1{font-size:clamp(1.6rem,2.4vw,2.1rem);line-height:1.15;margin:0}.dashboard-section p{color:var(--muted);margin:0}.dashboard-placeholder-grid{display:grid;grid-gap:12px;gap:12px;grid-template-columns:repeat(3,minmax(0,1fr))}.dashboard-placeholder-item{border:1px solid var(--line);border-radius:8px;display:grid;grid-gap:6px;gap:6px;min-height:110px;padding:14px}.dashboard-placeholder-item strong{font-size:.92rem}.dashboard-placeholder-item span{color:var(--muted);font-size:.88rem}.dashboard-page-intro{align-items:flex-start;display:flex;gap:16px;justify-content:space-between;padding:4px 0 2px}.dashboard-integration-page{display:grid;grid-gap:20px;gap:20px;max-width:100%;min-width:0;overflow-x:clip}.dashboard-integration-page .dashboard-card,.dashboard-integration-page .dashboard-restricted-action,.dashboard-integration-page .dashboard-section,.dashboard-integration-page .dashboard-table-panel,.dashboard-integration-page .dashboard-warning{min-width:0}.dashboard-integration-page .dashboard-badge,.dashboard-integration-page .dashboard-muted,.dashboard-integration-page .dashboard-source-path,.dashboard-integration-page td{overflow-wrap:anywhere}.dashboard-page-intro h1{margin-bottom:6px}.dashboard-alert-strip,.dashboard-mock-banner,.dashboard-snapshot{background:var(--surface);border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow-sm)}.dashboard-mock-banner{align-items:center;background:var(--warning-bg);border-color:var(--warning-line);display:flex;gap:14px;justify-content:space-between;padding:14px 16px}.dashboard-mock-banner div:first-child{display:grid;grid-gap:4px;gap:4px}.dashboard-mock-banner span,.dashboard-snapshot p,.dashboard-snapshot span{color:var(--muted)}.dashboard-snapshot{display:grid;grid-gap:16px;gap:16px;padding:22px}.dashboard-snapshot h2{font-size:clamp(1.4rem,2.2vw,2rem);margin:4px 0 8px}.dashboard-eyebrow{color:var(--accent);font-size:.78rem;font-weight:800;letter-spacing:0;text-transform:uppercase}.dashboard-snapshot-grid{display:grid;grid-gap:12px;gap:12px;grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-snapshot-grid div{background:var(--surface-muted);border:1px solid var(--line);border-radius:8px;display:grid;grid-gap:6px;gap:6px;padding:14px}.dashboard-alert-strip{display:grid;grid-gap:10px;gap:10px;grid-template-columns:repeat(4,minmax(0,1fr));padding:12px}.dashboard-alert-item{background:var(--surface);border:1px solid var(--line);border-radius:8px;display:grid;grid-gap:7px;gap:7px;min-width:0;padding:12px}.dashboard-alert-item strong{font-size:1.55rem;line-height:1}.dashboard-alert-item span{color:var(--muted);font-size:.9rem}.dashboard-summary-stats{display:grid;grid-gap:8px;gap:8px;grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-summary-stat{border-top:1px solid var(--line);display:grid;grid-gap:4px;gap:4px;padding-top:8px}.dashboard-summary-stat strong{font-size:1rem;overflow-wrap:anywhere}.dashboard-summary-stat span{color:var(--muted)}.dashboard-two-column{display:grid;grid-gap:20px;gap:20px;grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-stack{display:grid;grid-gap:12px;gap:12px}.dashboard-breadcrumb ol,.dashboard-plain-list,.dashboard-source-list ul,.dashboard-source-status-list{list-style:none;margin:0;padding:0}.dashboard-breadcrumb ol{color:var(--muted);display:flex;flex-wrap:wrap;font-size:.88rem;gap:8px}.dashboard-breadcrumb li:not(:last-child):after{color:var(--line);content:"/";margin-left:8px}.dashboard-breadcrumb a{color:var(--accent);font-weight:700}.dashboard-card-grid,.dashboard-component-grid{display:grid;grid-gap:14px;gap:14px;grid-template-columns:repeat(3,minmax(0,1fr))}.dashboard-card{background:var(--surface);border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow-sm);display:grid;grid-gap:12px;gap:12px;min-width:0;padding:16px}.dashboard-card h3,.dashboard-card p{margin:0}.dashboard-card h3{font-size:1rem;line-height:1.25}.dashboard-card p,.dashboard-card span,.dashboard-source-list,.dashboard-table-empty{font-size:.9rem}.dashboard-card-header{align-items:flex-start;display:flex;gap:10px;justify-content:space-between}.dashboard-card-footer,.dashboard-card-meta{align-items:center;color:var(--muted);display:flex;flex-wrap:wrap;gap:8px}.dashboard-card-action{color:var(--accent);font-weight:700}.dashboard-card-warning{color:var(--warning-ink);font-weight:700}.dashboard-metric-value{display:block;font-size:1.9rem;line-height:1.05}.dashboard-muted{color:var(--muted)}.dashboard-plain-list{color:var(--muted);display:grid;grid-gap:6px;gap:6px}.dashboard-source-list{border-top:1px solid var(--line);color:var(--muted);display:grid;grid-gap:8px;gap:8px;padding-top:10px}.dashboard-source-list ul{display:grid;grid-gap:6px;gap:6px}.dashboard-source-link{color:var(--accent);font-weight:700}.dashboard-source-link-muted{color:var(--muted);font-weight:600}.dashboard-source-path{color:var(--muted);font-family:ui-monospace,SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:.82rem}.dashboard-source-status-list{display:grid;grid-gap:10px;gap:10px}.dashboard-source-status-list li{border-top:1px solid var(--line);display:grid;grid-gap:8px;gap:8px;padding-top:10px}.dashboard-source-status-list strong{display:block}.dashboard-freshness-footer{background:var(--surface);grid-gap:12px;gap:12px}.dashboard-freshness-footer,.dashboard-warning{border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow-sm);display:grid;padding:14px 16px}.dashboard-warning{grid-gap:8px;gap:8px}.dashboard-warning p{margin:0}.dashboard-warning-info{background:#eaf3ff;border-color:#a8c9ee;color:#164e7a}.dashboard-warning-warning{background:var(--warning-bg);border-color:var(--warning-line);color:var(--warning-ink)}.dashboard-warning-critical{background:var(--danger-bg);border-color:var(--danger-line);color:var(--danger-ink)}.dashboard-setup-field,.dashboard-setup-fields,.dashboard-setup-panel,.dashboard-setup-source{display:grid;grid-gap:12px;gap:12px}.dashboard-setup-panel{min-width:0}.dashboard-setup-panel-header{align-items:flex-start;display:flex;gap:16px;justify-content:space-between}.dashboard-setup-panel-header h3,.dashboard-setup-panel-header p,.dashboard-setup-source h4,.dashboard-setup-source p{margin:0}.dashboard-setup-progress{background:var(--surface-muted);border:1px solid var(--line);border-radius:999px;height:10px;overflow:hidden}.dashboard-setup-progress span{background:var(--accent);display:block;height:100%}.dashboard-setup-source-progress{background:var(--surface-muted);border:1px solid var(--line);border-radius:999px;height:8px;overflow:hidden}.dashboard-setup-source-progress span{background:var(--accent);display:block;height:100%}.dashboard-setup-source-list{display:grid;grid-gap:14px;gap:14px;grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-setup-source{background:var(--surface);border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow-sm);display:grid;grid-gap:14px;gap:14px;min-width:0;padding:16px}.dashboard-setup-source-toolbar{align-items:center;background:var(--surface-muted);border:1px solid var(--line);border-radius:8px;display:flex;gap:12px;justify-content:space-between;padding:12px}.dashboard-setup-source-toolbar div{display:grid;grid-gap:2px;gap:2px;min-width:0}.dashboard-setup-source-toolbar span{color:var(--muted);font-size:.88rem}.dashboard-gate-panel{background:var(--surface-muted);border:1px solid var(--line);border-radius:8px;display:grid;grid-gap:14px;gap:14px;padding:16px}.dashboard-gate-panel h3,.dashboard-gate-panel p{margin:0}.dashboard-gate-grid{display:grid;grid-gap:12px;gap:12px;grid-template-columns:repeat(3,minmax(0,1fr))}.dashboard-gate-card{background:var(--surface);border:1px solid var(--line);border-radius:8px;display:grid;grid-gap:10px;gap:10px;min-width:0;padding:14px}.dashboard-gate-card h4,.dashboard-gate-card p{margin:0}.dashboard-gate-card p{color:var(--muted);font-size:.9rem}.dashboard-gate-card code{background:var(--surface-muted);border:1px solid var(--line);border-radius:6px;color:var(--ink);display:block;font-size:.78rem;padding:8px;white-space:normal;word-break:break-word}.dashboard-action-plan{background:linear-gradient(180deg,#ffffff,#f8fbfd);border:1px solid var(--line);border-radius:8px;display:grid;grid-gap:14px;gap:14px;min-width:0;padding:16px}.dashboard-action-plan h3,.dashboard-action-plan h4,.dashboard-action-plan p{margin:0}.dashboard-action-plan-grid{display:grid;grid-gap:14px;gap:14px;grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-action-source{background:var(--surface);border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow-sm);display:grid;grid-gap:14px;gap:14px;min-width:0;padding:16px}.dashboard-action-steps{display:grid;grid-gap:10px;gap:10px;list-style:none;margin:0;padding:0}.dashboard-action-step{align-items:flex-start;border-top:1px solid var(--line);display:grid;grid-gap:10px;gap:10px;grid-template-columns:auto minmax(0,1fr);padding-top:10px}.dashboard-action-step:first-child{border-top:0;padding-top:0}.dashboard-action-step p{color:var(--muted);font-size:.9rem;margin-top:6px}.dashboard-action-step-index{align-items:center;background:var(--accent-soft);border:1px solid color-mix(in srgb,var(--accent) 25%,var(--line));border-radius:999px;color:var(--accent-strong);display:inline-flex;font-size:.82rem;font-weight:800;height:28px;justify-content:center;min-width:28px}.dashboard-action-command{background:#0f172a;border-radius:6px;color:#e2e8f0;display:block;font-size:.78rem;margin-top:8px;padding:8px 10px;white-space:pre-wrap;word-break:break-word}.dashboard-setup-field{border-top:1px solid var(--line);display:grid;grid-gap:8px;gap:8px;padding-top:12px}.dashboard-setup-checkbox,.dashboard-setup-field-label{align-items:center;display:flex;flex-wrap:wrap;gap:8px;justify-content:space-between}.dashboard-setup-field input[type=text],.dashboard-setup-field select{background:#fff;border:1px solid var(--line);border-radius:8px;color:var(--ink);font:inherit;min-height:40px;padding:9px 10px;width:100%}.dashboard-setup-field input[type=text]:focus,.dashboard-setup-field select:focus{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 18%,transparent);outline:none}.dashboard-setup-checkbox{justify-content:flex-start}.dashboard-setup-checkbox input{height:18px;width:18px}.dashboard-safe-input-note{background:var(--accent-soft);border:1px solid color-mix(in srgb,var(--accent) 22%,var(--line));border-radius:8px;color:var(--accent-strong);display:block;font-size:.84rem;font-weight:700;padding:8px 10px}.dashboard-setup-command-panel{background:#0f172a;border-radius:8px;color:#e2e8f0;overflow:hidden}.dashboard-setup-command-panel summary{cursor:pointer;font-size:.9rem;font-weight:800;padding:12px 14px}.dashboard-setup-command-panel p{color:#cbd5e1;font-size:.86rem;padding:0 14px 10px}.dashboard-setup-command-panel pre{border-top:1px solid rgba(226,232,240,.16);font-size:.8rem;margin:0;max-height:260px;overflow:auto;padding:12px 14px;white-space:pre-wrap;word-break:break-word}.dashboard-restricted-action{border:1px dashed var(--warning-line);border-radius:8px;background:var(--warning-bg);display:grid;grid-gap:8px;gap:8px;padding:12px}.dashboard-restricted-action p{color:var(--muted);margin:0}.dashboard-button-disabled,.dashboard-button:disabled{background:var(--surface-muted);border:1px solid var(--line);color:var(--muted);cursor:not-allowed}.dashboard-table-panel{background:var(--surface);border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow-sm);overflow:hidden}.dashboard-table-scroll{overflow-x:auto}.dashboard-table{border-collapse:collapse;min-width:680px;width:100%}.dashboard-table caption{color:var(--muted);font-size:.9rem;font-weight:700;padding:12px 14px;text-align:left}.dashboard-table td,.dashboard-table th{border-top:1px solid var(--line);padding:13px 14px;text-align:left;vertical-align:top}.dashboard-table th{background:var(--surface-muted);color:var(--muted);font-size:.82rem;font-weight:800;letter-spacing:0;text-transform:uppercase}.dashboard-table tbody tr:hover{background:#fbfcfe}.dashboard-table-empty,.dashboard-table-pagination{align-items:center;background:var(--surface);border:1px solid var(--line);border-radius:8px;color:var(--muted);display:flex;flex-wrap:wrap;gap:8px;justify-content:space-between;padding:14px 16px}.dashboard-table-empty{align-items:flex-start;display:grid;justify-content:stretch}.dashboard-filter-bar{align-items:end;display:grid;grid-gap:12px;gap:12px;grid-template-columns:repeat(4,minmax(140px,1fr))}.dashboard-filter{display:grid;grid-gap:6px;gap:6px}.dashboard-filter span{color:var(--muted);font-size:.84rem;font-weight:700}.dashboard-filter select{background:var(--surface);border:1px solid var(--line);border-radius:8px;color:var(--ink);font:inherit;min-height:42px;padding:8px 10px}.dashboard-filter select:focus{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 18%,transparent);outline:none}.dashboard-filter select:disabled{background:var(--surface-muted);color:var(--muted)}.dashboard-state{display:grid;grid-gap:12px;gap:12px;max-width:760px;padding:24px}.dashboard-state h1,.dashboard-state h2{margin:0}.dashboard-state p{color:var(--muted);margin:0}.dashboard-state.danger{background:var(--danger-bg);border-color:var(--danger-line);color:var(--danger-ink)}.dashboard-state-warning{background:var(--warning-bg);border-color:var(--warning-line);color:var(--warning-ink)}.dashboard-actions{display:flex;flex-wrap:wrap;gap:10px}.dashboard-button,.dashboard-link{align-items:center;background:var(--accent);border:0;border-radius:8px;color:white;cursor:pointer;display:inline-flex;font:inherit;font-weight:700;min-height:44px;padding:10px 14px;transition:background .14s ease,transform .14s ease}.dashboard-button:not(:disabled):hover,.dashboard-link:not(.secondary):hover{background:var(--accent-strong);transform:translateY(-1px)}.dashboard-link.secondary:hover{background:var(--line);transform:translateY(-1px)}.dashboard-button-disabled:hover,.dashboard-button:disabled:hover{transform:none}.dashboard-link.secondary{background:var(--surface-muted);color:var(--ink)}.dashboard-skeleton{display:grid;grid-gap:12px;gap:12px}.dashboard-skeleton-line{height:18px}.dashboard-skeleton-card,.dashboard-skeleton-line{animation:pulse 1.5s ease-in-out infinite;background:linear-gradient(90deg,#e3e8e4,#f5f7f4,#e3e8e4);background-size:200% 100%;border-radius:8px}.dashboard-skeleton-card{height:112px}.dashboard-skeleton-table{display:grid;grid-gap:8px;gap:8px}.dashboard-skeleton-table .dashboard-skeleton-card{height:44px}.dashboard-footer{color:var(--muted);font-size:.9rem;padding:14px 16px}@keyframes pulse{0%{background-position:200% 0}to{background-position:-200% 0}}@media (max-width:860px){.dashboard-shell{display:block}.dashboard-sidebar{display:none}.dashboard-mobile-nav{background:var(--surface);border-bottom:1px solid var(--line);display:block;overflow-x:auto;padding:10px 12px}.dashboard-mobile-nav .dashboard-nav{display:flex;min-width:max-content}.dashboard-mobile-nav .dashboard-nav a{min-width:132px}.dashboard-topbar{display:grid}.dashboard-badges{justify-content:flex-start}.dashboard-action-plan-grid,.dashboard-alert-strip,.dashboard-card-grid,.dashboard-component-grid,.dashboard-filter-bar,.dashboard-gate-grid,.dashboard-placeholder-grid,.dashboard-setup-source-list,.dashboard-snapshot-grid{grid-template-columns:1fr}.dashboard-mock-banner,.dashboard-page-intro,.dashboard-setup-panel-header{display:grid}.dashboard-two-column{grid-template-columns:1fr}.dashboard-card-header{display:grid}}