@import "https://fonts.googleapis.com/css2?family=DM+Sans:ital,opsz,wght@0,9..40,400;0,9..40,500;0,9..40,650;0,9..40,700;1,9..40,400&family=IBM+Plex+Mono:wght@400;500&display=swap";:root,[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0b0f14;--bg-elevated:#11161d;--surface:#151b24;--surface-2:#1b2330;--ink:#e8eef6;--muted:#8b9bb0;--line:#243041;--line-strong:#314257;--accent:#2dd4bf;--accent-dim:#0f766e;--accent-soft:#2dd4bf1f;--warn:#fb923c;--warn-bg:#fb923c1f;--warn-border:#fb923c59;--ok:#34d399;--ok-bg:#34d3991a;--danger:#f87171;--danger-bg:#f871711f;--radius:8px;--font:"DM Sans", "Segoe UI", system-ui, sans-serif;--mono:"IBM Plex Mono", ui-monospace, monospace;--shadow:0 0 0 1px #ffffff08, 0 8px 24px #00000059;--sidebar-w:220px;--sidebar-collapsed:68px}[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f4f6f8;--bg-elevated:#eef2f6;--surface:#fff;--surface-2:#f8fafc;--ink:#111827;--muted:#6b7280;--line:#e5e7eb;--line-strong:#d1d5db;--accent:#0f766e;--accent-dim:#0d9488;--accent-soft:#ccfbf1;--warn:#c2410c;--warn-bg:#fff7ed;--warn-border:#fdba74;--ok:#047857;--ok-bg:#ecfdf5;--danger:#b91c1c;--danger-bg:#fef2f2;--shadow:0 1px 0 #1118270a}*{box-sizing:border-box}.login-shell{background:radial-gradient(ellipse 80% 60% at 20% 0%, #2dd4bf24, transparent 55%), radial-gradient(ellipse 70% 50% at 90% 100%, #3878c81f, transparent 50%), var(--bg);place-items:center;min-height:100vh;padding:1.5rem;display:grid;position:relative;overflow:hidden}.login-glow{pointer-events:none;background:radial-gradient(circle,#2dd4bf14,#0000 70%);position:absolute;inset:20% 30%}.login-panel{border:1px solid var(--line);border-radius:calc(var(--radius) + 4px);background:color-mix(in srgb, var(--surface) 92%, transparent);width:min(100%,380px);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);padding:1.75rem 1.6rem 1.5rem;position:relative}.login-brand{align-items:center;gap:.75rem;margin-bottom:1.25rem;display:flex}.login-brand img{object-fit:contain;width:40px;height:40px}.login-brand .product{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin:0;font-size:.75rem}.login-brand strong{font-size:1.15rem;font-weight:650;display:block}.login-panel h1{margin:0 0 .35rem;font-size:1.35rem;font-weight:650}.login-form{flex-direction:column;gap:.45rem;margin-top:1.1rem;display:flex}.login-form label{color:var(--muted);margin-top:.35rem;font-size:.82rem}.login-form input{border-radius:var(--radius);border:1px solid var(--line-strong);background:var(--bg-elevated);width:100%;color:var(--ink);font:inherit;padding:.55rem .7rem}.login-form input:focus{outline:2px solid var(--accent-soft);border-color:var(--accent-dim)}.login-form .btn{justify-content:center;width:100%;margin-top:.85rem}html,body,#root{min-height:100%}body{font-family:var(--font);color:var(--ink);background:var(--bg);margin:0;font-size:14px;line-height:1.45}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}code{font-family:var(--mono);font-size:.86em}.app-frame{grid-template-columns:var(--sidebar-w) minmax(0, 1fr);min-height:100vh;display:grid}.app-frame.collapsed{grid-template-columns:var(--sidebar-collapsed) minmax(0, 1fr)}.sidebar{background:var(--bg-elevated);border-right:1px solid var(--line);flex-direction:column;gap:1rem;height:100vh;padding:1rem .75rem;display:flex;position:sticky;top:0}.sidebar-brand{align-items:center;gap:.65rem;padding:.25rem .4rem;display:flex}.app-frame.collapsed .sidebar-brand{justify-content:center;padding-left:0;padding-right:0}.sidebar-brand img{flex-shrink:0;width:auto;height:32px}.app-frame.collapsed .sidebar-brand img{height:28px}.sidebar-brand .product{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:0;font-size:.65rem;font-weight:650}.sidebar-brand strong{letter-spacing:-.02em;font-size:.95rem}.sidebar-nav{flex-direction:column;flex:1;gap:.35rem;padding-right:.15rem;display:flex;overflow-y:auto}.nav-group{border-bottom:1px solid var(--line);flex-direction:column;gap:.1rem;margin-bottom:.2rem;padding-bottom:.45rem;display:flex}.nav-group:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.nav-group-items{flex-direction:column;gap:.1rem;display:flex}.nav-group.is-collapsed .nav-group-items{display:none}.app-frame.collapsed .nav-group.is-collapsed .nav-group-items{display:flex}.nav-group-toggle{appearance:none;border-radius:var(--radius);width:100%;color:var(--ink);font:inherit;letter-spacing:.1em;text-transform:uppercase;cursor:pointer;opacity:.72;background:0 0;border:none;justify-content:space-between;align-items:center;gap:.35rem;margin:0 0 .15rem;padding:.35rem .45rem;font-size:.68rem;font-weight:700;display:flex}.nav-group-toggle:hover{background:var(--surface);opacity:1}.nav-group-toggle .nav-chevron{color:var(--muted);letter-spacing:0;font-size:.7rem;font-weight:500}.sidebar-nav a{border-radius:var(--radius);color:var(--muted);align-items:center;gap:.55rem;padding:.4rem .55rem .4rem .7rem;font-size:.88rem;font-weight:500;text-decoration:none;display:flex}.sidebar-nav a:hover,.sidebar-nav a.active,.sidebar-nav a.ext-link:hover{background:var(--accent-soft);color:var(--accent);text-decoration:none}.sidebar-nav a.ext-link{opacity:.9}.nav-ico{opacity:.9;flex-shrink:0;justify-content:center;align-items:center;width:1.1rem;height:1.1rem;display:inline-flex}.nav-ico svg{display:block}.app-frame.collapsed .sidebar-nav a{justify-content:center;padding-left:.45rem;padding-right:.45rem}.sparkline{color:var(--muted);vertical-align:middle;display:block}.sparkline.warn{color:var(--warn)}.sidebar-foot{border-top:1px solid var(--line);flex-direction:row;justify-content:flex-start;align-items:center;gap:.25rem;padding-top:.35rem;display:flex}.btn-icon{appearance:none;border-radius:var(--radius);width:2.15rem;height:2.15rem;color:var(--muted);font:inherit;cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;padding:0;font-size:1rem;line-height:1;display:inline-flex}.btn-icon:hover:not(:disabled){background:var(--surface);color:var(--ink)}.btn-icon:disabled{opacity:.45;cursor:default}.btn-icon.spin{animation:.7s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.app-frame.collapsed .sidebar-foot{justify-content:center}.main-col{width:100%;min-width:0;padding:1rem 1.35rem 2.5rem}.topbar{border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:.75rem 1rem;margin-bottom:1rem;padding-bottom:.85rem;display:flex}.topbar h1{letter-spacing:-.03em;margin:0;font-size:1.35rem;font-weight:700}.muted{color:var(--muted);margin:.25rem 0 0}.muted.small{font-size:.8rem}.topbar-actions{flex-wrap:wrap;align-items:center;gap:.55rem;display:flex}.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:1rem 1.1rem}.panel h2,.panel h3,.group-head h3{margin:0 0 .2rem;font-size:.95rem;font-weight:650}.badge{background:var(--accent-soft);color:var(--accent);border-radius:999px;padding:.15rem .5rem;font-size:.72rem;font-weight:650;display:inline-block}.badge.warn{background:var(--warn-bg);color:var(--warn);border:1px solid var(--warn-border)}.error-box{border-radius:var(--radius);background:var(--danger-bg);color:var(--danger);border:1px solid #f8717159;margin:.75rem 0;padding:.65rem .85rem}.success-box{border-radius:var(--radius);background:var(--ok-bg);color:var(--ok);border:1px solid #34d39959;margin:.75rem 0;padding:.65rem .85rem}.prop-form,.prop-row{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.prop-form input:not([type=checkbox]):not([type=radio]),.prop-form select,.prop-row input[type=text],.prop-row input:not([type]),.prop-form .grow{appearance:none;box-sizing:border-box;background:var(--bg);height:2.35rem;color:var(--ink);border:1px solid var(--line-strong);border-radius:var(--radius);font:inherit;min-width:120px;padding:0 .65rem;font-size:.85rem;line-height:1.2}.prop-form input[type=date]{min-width:10.5rem}.prop-form select{background-image:linear-gradient(45deg, transparent 50%, var(--muted) 50%), linear-gradient(135deg, var(--muted) 50%, transparent 50%);background-position:calc(100% - 14px) calc(50% - 2px),calc(100% - 9px) calc(50% - 2px);background-repeat:no-repeat;background-size:5px 5px;min-width:10rem;padding-right:1.75rem}.prop-form .grow,.prop-row input:not([type]),.prop-row input[type=text]{flex:160px}.prop-form .btn,.prop-row .btn{justify-content:center;align-items:center;height:2.35rem;padding:0 .9rem;display:inline-flex}.check,.check-inline{color:var(--muted);white-space:nowrap;cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:.45rem;height:2.35rem;padding:0 .15rem;font-size:.85rem;display:inline-flex}.check input[type=checkbox],.check-inline input[type=checkbox]{appearance:none;box-sizing:border-box;border:1.5px solid var(--line-strong);background:var(--bg);cursor:pointer;border-radius:4px;flex-shrink:0;place-content:center;width:1.05rem;height:1.05rem;margin:0;display:grid}.check input[type=checkbox]:before,.check-inline input[type=checkbox]:before{content:"";background:var(--accent);width:.55rem;height:.55rem;box-shadow:inset 1em 1em var(--accent);border-radius:2px;transition:transform .1s;transform:scale(0)}.check input[type=checkbox]:checked,.check-inline input[type=checkbox]:checked{border-color:var(--accent);background:var(--accent-soft)}.check input[type=checkbox]:checked:before,.check-inline input[type=checkbox]:checked:before{transform:scale(1)}.btn{appearance:none;border:1px solid var(--line-strong);background:var(--surface-2);color:var(--ink);border-radius:var(--radius);font:inherit;cursor:pointer;padding:.4rem .7rem;font-size:.85rem;line-height:1.2}.btn:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.btn:disabled{opacity:.55;cursor:default}.btn.primary{background:var(--accent-dim);border-color:var(--accent-dim);color:#ecfeff}.btn.primary:hover:not(:disabled){filter:brightness(1.08);color:#fff}.btn.ghost{text-align:left;background:0 0;width:100%}.summary-strip{flex-wrap:wrap;align-items:stretch;gap:.5rem;margin-bottom:1rem;display:flex}.summary-pill{box-sizing:border-box;border-radius:var(--radius);border:1px solid var(--line);background:var(--surface);flex-direction:column;flex:none;justify-content:center;gap:.15rem;width:8.75rem;height:3.75rem;padding:.5rem .7rem;display:flex}.summary-pill.warn{background:var(--warn-bg);border-color:var(--warn-border)}.summary-pill.ok{background:var(--ok-bg);border-color:#34d39940}.summary-pill.wide{width:11.5rem}.summary-strip.dense{gap:.4rem}.summary-strip.dense .summary-pill{width:6.35rem;height:3.5rem;padding:.45rem .55rem}.summary-strip.dense .summary-label{font-size:.62rem}.summary-strip.dense .summary-value{font-size:1.1rem}@media (width>=1180px){.summary-strip.dense{flex-wrap:nowrap}}.summary-strip>.btn-icon{align-self:center;height:3.75rem}.summary-label{text-transform:uppercase;letter-spacing:.05em;color:var(--muted);font-size:.68rem;font-weight:650;line-height:1.1}.summary-value{font-family:var(--mono);letter-spacing:-.03em;font-size:1.25rem;font-weight:500;line-height:1.15}.summary-value.text{white-space:nowrap;text-overflow:ellipsis;font-size:.82rem;font-weight:500;overflow:hidden}.dash-hero{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:.75rem;margin-bottom:.85rem;display:flex}.hero-actions{flex-wrap:wrap;align-items:center;gap:.45rem;display:flex}.dash-hero h2{letter-spacing:-.02em;margin:0;font-size:1.15rem;font-weight:700}.card-group{margin-bottom:1.15rem}.group-head{margin-bottom:.5rem}.card-grid{grid-template-columns:repeat(auto-fill,minmax(148px,1fr));gap:.55rem;display:grid}.stat-card{appearance:none;text-align:left;cursor:pointer;border:1px solid var(--line);background:var(--surface);border-radius:var(--radius);flex-direction:column;gap:.2rem;min-height:98px;padding:.75rem .8rem;transition:border-color .12s,transform .12s,background .12s;display:flex}.stat-card:hover{border-color:var(--accent-dim);transform:translateY(-1px)}.stat-card.selected{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent);background:var(--surface-2)}.stat-card.warn{background:var(--warn-bg);border-color:var(--warn-border)}.stat-card.warn.selected{box-shadow:0 0 0 1px var(--warn)}.stat-card.skeleton{background:linear-gradient(90deg, var(--surface) 0%, var(--surface-2) 50%, var(--surface) 100%);cursor:default;background-size:200% 100%;border-style:dashed;min-height:98px;animation:1.2s ease-in-out infinite shimmer}@keyframes shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}.stat-label{letter-spacing:.03em;text-transform:uppercase;color:var(--muted);font-size:.7rem;font-weight:650}.stat-value{font-family:var(--mono);letter-spacing:-.03em;font-size:1.55rem;font-weight:500;line-height:1.1}.stat-card.warn .stat-value{color:var(--warn)}.stat-hint{color:var(--muted);margin-top:auto;font-size:.74rem;line-height:1.3}.pick-hint,.issues-panel{margin-top:.35rem}.issues-head{justify-content:space-between;align-items:flex-start;gap:.75rem;margin-bottom:.75rem;display:flex}.issues-filters{flex-wrap:wrap;align-items:center;gap:.5rem;margin-bottom:.75rem;display:flex}.section-tabs{flex-wrap:wrap;flex:100%;gap:.35rem;display:flex}.issues-filters input:not([type=checkbox]):not([type=radio]),.issues-filters select{appearance:none;box-sizing:border-box;background:var(--bg);height:2.35rem;color:var(--ink);border:1px solid var(--line-strong);border-radius:var(--radius);font:inherit;padding:0 .65rem;font-size:.85rem;line-height:1.2}.issues-filters input:not([type=checkbox]):not([type=radio]){flex:1;min-width:180px}.issues-filters select{background-image:linear-gradient(45deg, transparent 50%, var(--muted) 50%), linear-gradient(135deg, var(--muted) 50%, transparent 50%);background-position:calc(100% - 14px) calc(50% - 2px),calc(100% - 9px) calc(50% - 2px);background-repeat:no-repeat;background-size:5px 5px;min-width:10rem;padding-right:1.75rem}.table-wrap{border:1px solid var(--line);border-radius:var(--radius);overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:.85rem}th,td{border-bottom:1px solid var(--line);text-align:left;vertical-align:top;padding:.5rem .65rem}th{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);background:var(--surface-2);font-size:.7rem;font-weight:650}tr:last-child td{border-bottom:none}tr:hover td{background:#2dd4bf0a}td.detail{color:var(--muted);font-family:var(--mono);font-size:.78rem}.table-link{color:var(--accent);text-decoration:none}.table-link:hover{text-decoration:underline}.panel-pad{background:var(--surface);box-shadow:var(--shadow)}.detail-grid h3{margin-bottom:.75rem}.kv{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.65rem 1rem;margin:0;display:grid}.kv dt{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);font-size:.7rem;font-weight:650}.kv dd{margin:.15rem 0 0;font-size:.9rem}.spark-list{flex-direction:column;gap:.55rem;display:flex}.spark-row{grid-template-columns:120px 1fr auto;align-items:end;gap:.65rem;display:grid}.spark-label{color:var(--muted);font-size:.75rem}.spark{align-items:flex-end;gap:2px;height:36px;padding:.2rem 0;display:flex}.spark span{background:var(--accent-dim);opacity:.85;border-radius:2px 2px 0 0;flex:1;min-width:3px}.spark-total{text-align:right;min-width:2.5rem;font-family:var(--mono)}.plain-list{color:var(--muted);margin:0;padding-left:1.1rem}.preview-box{border-radius:var(--radius);border:1px solid var(--line);background:var(--bg);max-height:320px;color:var(--muted);font-family:var(--mono);white-space:pre-wrap;word-break:break-word;margin:0;padding:.75rem;font-size:.75rem;overflow:auto}.sidebar-head{align-items:center;gap:.35rem;display:flex}.mobile-nav-toggle,.mobile-nav-scrim{display:none}@media (width<=860px){.app-frame,.app-frame.collapsed{flex-direction:column;align-items:stretch;min-height:100vh;display:flex}.sidebar{z-index:40;border-right:none;border-bottom:1px solid var(--line);flex-flow:wrap;align-items:center;gap:0;padding:.55rem .85rem;position:sticky;top:0;overflow:visible;flex:none!important;height:fit-content!important;min-height:0!important;max-height:none!important}.sidebar-head{justify-content:space-between;width:100%}.sidebar-brand{flex:auto;min-width:0}.mobile-nav-toggle{display:inline-flex}.sidebar-nav{z-index:45;border-bottom:1px solid var(--line);background:var(--bg-elevated);flex-direction:column;gap:.35rem;width:100%;max-height:min(70vh,28rem);margin:0;padding:.55rem .85rem .85rem;display:flex;position:fixed;top:3.6rem;left:0;right:0;overflow-y:auto;box-shadow:0 12px 28px #00000059;flex:none!important}.mobile-nav-scrim{z-index:35;cursor:pointer;background:#00000073;border:none;margin:0;padding:0;display:block;position:fixed;inset:0}.nav-group{border-bottom:1px solid var(--line);margin-bottom:.15rem;padding-bottom:.35rem}.nav-group:last-child{border-bottom:none}.nav-group.is-collapsed .nav-group-items{display:none}.sidebar-nav a{min-height:2.5rem;padding:.55rem .65rem;font-size:.92rem}.main-col{flex:auto;width:100%;min-height:0;padding:.75rem .9rem 2rem}.topbar{flex-wrap:nowrap;align-items:center;gap:.5rem;margin-bottom:.65rem;padding-bottom:.55rem}.topbar h1{font-size:1.15rem}.topbar .muted,.dash-hero h2{display:none}.dash-hero{margin-bottom:.45rem}.dash-hero .muted{margin-top:0}.card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.summary-strip{gap:.4rem}.summary-pill,.summary-strip.dense .summary-pill{flex:calc(50% - .2rem);width:calc(50% - .2rem);max-width:none}.summary-pill.wide{flex-basis:100%;width:100%}.issues-filters{flex-direction:column;align-items:stretch}.issues-filters input:not([type=checkbox]):not([type=radio]),.issues-filters select,.prop-form input:not([type=checkbox]):not([type=radio]),.prop-form select{flex:auto;width:100%;min-width:0}.prop-form,.prop-row{flex-direction:column;align-items:stretch}.prop-form .btn,.prop-row .btn,.check,.check-inline{justify-content:flex-start;width:100%}.table-wrap{-webkit-overflow-scrolling:touch;margin:0 -.15rem}.table-wrap table{min-width:36rem}td,th{white-space:nowrap}td a.table-link{white-space:normal;overflow-wrap:anywhere;max-width:12rem;display:inline-block}.dash-hero{gap:.5rem}}.analytics-grid{grid-template-columns:repeat(auto-fit,minmax(16rem,1fr));gap:.85rem;margin-bottom:.85rem;display:grid}.analytics-chart{width:100%;min-height:280px}.analytics-bars{flex-direction:column;gap:.55rem;margin:0;padding:0;list-style:none;display:flex}.analytics-bar-meta{justify-content:space-between;gap:.75rem;font-size:.82rem;display:flex}.analytics-bar-label{text-overflow:ellipsis;white-space:nowrap;color:var(--text);overflow:hidden}button.analytics-bar-label.linkish{appearance:none;font:inherit;text-align:left;color:var(--accent);cursor:pointer;background:0 0;border:0;max-width:100%;margin:0;padding:0}button.analytics-bar-label.linkish:hover{text-decoration:underline}.analytics-bar-count{color:var(--muted);font-variant-numeric:tabular-nums;flex-shrink:0}.analytics-bar-track{background:color-mix(in srgb, var(--line) 80%, transparent);border-radius:999px;height:.35rem;overflow:hidden}.analytics-bar-track>span{border-radius:inherit;background:var(--accent);height:100%;display:block}@media (width<=520px){.card-grid{grid-template-columns:1fr}.summary-pill,.summary-strip.dense .summary-pill{flex-basis:100%;width:100%}.topbar h1{font-size:1.1rem}.topbar-actions .btn{padding:.35rem .6rem;font-size:.8rem}}
