@import "https://fonts.googleapis.com/css2?family=DM+Sans:ital,opsz,wght@0,9..40,400;0,9..40,500;0,9..40,600;0,9..40,700;1,9..40,400&family=Source+Sans+3:wght@400;500;600;700&display=swap";:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--navy-950:#111827;--navy-900:#1b2432;--navy-800:#253347;--navy-700:#354a66;--navy-600:#49678a;--slate-400:#94a3b8;--slate-300:#b0bfcf;--slate-200:#cbd5e1;--slate-100:#e9eef4;--slate-50:#f1f5f9;--warm-50:#faf9f7;--warm-100:#f5f3ef;--warm-200:#edeae4;--white:#fff;--accent:#c05a2c;--accent-light:#c05a2c1a;--accent-hover:#a8491f;--sage:#3d8b6e;--sage-light:#3d8b6e1a;--rose-600:#e11d48;--rose-50:#fff1f2;--font-display:"DM Sans", system-ui, sans-serif;--font-body:"Source Sans 3", system-ui, sans-serif;--space-xs:4px;--space-sm:8px;--space-md:16px;--space-lg:24px;--space-xl:32px;--space-2xl:48px;--page-card-padding:20px;--table-max-height:min(70vh, 680px);--radius-xs:6px;--radius-sm:10px;--radius-md:14px;--radius-lg:20px;--radius-control:var(--radius-sm);--shadow-sm:0 1px 3px #1118270f;--shadow-md:0 4px 16px #11182714;--shadow-lg:0 12px 40px #1118271a;--shadow-card:0 1px 3px #1118270a, 0 1px 2px #1118270f;--ease-out:cubic-bezier(.25, .46, .45, .94);--ease-spring:cubic-bezier(.34, 1.56, .64, 1);--duration-fast:.12s;--duration-base:.2s;--duration-slow:.32s;--sidebar-width:280px;--color-bg:var(--warm-50);--color-surface:var(--white);--color-surface-muted:var(--warm-50);--color-surface-subtle:var(--slate-50);--color-text:var(--navy-950);--color-text-muted:var(--navy-600);--color-text-soft:var(--slate-400);--color-border:#1118270f;--color-border-soft:var(--slate-100);--color-divider:#1118270a;--color-hover:var(--warm-100);--color-scrollbar:var(--slate-300);--color-scrollbar-soft:var(--slate-200);--color-field-bg:var(--white);--color-code-bg:var(--slate-50);--color-code-border:var(--slate-100);--color-panel-shadow:var(--shadow-card);--color-focus-ring:#1b243214;--color-error-bg:var(--rose-50);--color-error-border:#e11d481a;--color-error-text:var(--rose-600);--color-hero-bg:linear-gradient(180deg, #fff 0%, #f8fbff 100%);--color-signal-bg:#ffffffd1;--color-signal-border:#1118270f;--color-separator:linear-gradient(90deg, #94a3b800, #94a3b8a6 12%, #94a3b8a6 88%, #94a3b800);--color-table-hover:var(--accent-light);--color-chart-amu-series:#111;--color-sidebar-bg:linear-gradient(175deg, var(--navy-900) 0%, var(--navy-950) 100%);--color-sidebar-text:#f1f5f9;--color-sidebar-muted:var(--slate-400);--color-sidebar-border:#ffffff0f;--color-sidebar-panel:#ffffff08;--color-sidebar-hover:#ffffff0f;--color-sidebar-active:#ffffff14;--color-sidebar-scrollbar:#ffffff1f}:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--color-bg:#0c1117;--color-surface:#111a28;--color-surface-muted:#151f30;--color-surface-subtle:#182436;--color-text:#edf3fb;--color-text-muted:#a6bbd3;--color-text-soft:#7f94ad;--color-border:#94a3b829;--color-border-soft:#94a3b82e;--color-divider:#94a3b824;--color-hover:#ffffff0f;--color-scrollbar:#94a3b86b;--color-scrollbar-soft:#94a3b84d;--color-field-bg:#0f1724;--color-code-bg:#1a2537;--color-code-border:#94a3b82e;--color-panel-shadow:0 18px 36px #03081457;--color-focus-ring:#94a3b82e;--color-error-bg:#e11d481f;--color-error-border:#e11d483d;--color-error-text:#ff8ba7;--color-hero-bg:linear-gradient(180deg, #0f1826 0%, #101d2f 100%);--color-signal-bg:#111a28db;--color-signal-border:#94a3b82e;--color-separator:linear-gradient(90deg, #94a3b800, #94a3b852 12%, #94a3b852 88%, #94a3b800);--color-table-hover:#c05a2c2e;--color-chart-amu-series:#fff;--color-sidebar-bg:linear-gradient(175deg, #0d1522 0%, #090f18 100%);--color-sidebar-text:#eff5ff;--color-sidebar-muted:#9ab0ca;--color-sidebar-border:#94a3b824;--color-sidebar-panel:#ffffff0a;--color-sidebar-hover:#ffffff14;--color-sidebar-active:#c05a2c29;--color-sidebar-scrollbar:#ffffff2e}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--color-bg:#0c1117;--color-surface:#111a28;--color-surface-muted:#151f30;--color-surface-subtle:#182436;--color-text:#edf3fb;--color-text-muted:#a6bbd3;--color-text-soft:#7f94ad;--color-border:#94a3b829;--color-border-soft:#94a3b82e;--color-divider:#94a3b824;--color-hover:#ffffff0f;--color-scrollbar:#94a3b86b;--color-scrollbar-soft:#94a3b84d;--color-field-bg:#0f1724;--color-code-bg:#1a2537;--color-code-border:#94a3b82e;--color-panel-shadow:0 18px 36px #03081457;--color-focus-ring:#94a3b82e;--color-error-bg:#e11d481f;--color-error-border:#e11d483d;--color-error-text:#ff8ba7;--color-hero-bg:linear-gradient(180deg, #0f1826 0%, #101d2f 100%);--color-signal-bg:#111a28db;--color-signal-border:#94a3b82e;--color-separator:linear-gradient(90deg, #94a3b800, #94a3b852 12%, #94a3b852 88%, #94a3b800);--color-table-hover:#c05a2c2e;--color-chart-amu-series:#fff;--color-sidebar-bg:linear-gradient(175deg, #0d1522 0%, #090f18 100%);--color-sidebar-text:#eff5ff;--color-sidebar-muted:#9ab0ca;--color-sidebar-border:#94a3b824;--color-sidebar-panel:#ffffff0a;--color-sidebar-hover:#ffffff14;--color-sidebar-active:#c05a2c29;--color-sidebar-scrollbar:#ffffff2e}}*,:before,:after{box-sizing:border-box;margin:0}html,body,#root{min-height:100%}body{font-family:var(--font-body);color:var(--color-text);background:var(--color-bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:15px;overflow-x:hidden}button,input,select,textarea{font:inherit;color:inherit}.app-shell{grid-template-columns:var(--sidebar-width) minmax(0, 1fr);max-width:100vw;min-height:100vh;transition:grid-template-columns var(--duration-base) var(--ease-out);display:grid;overflow-x:clip}.app-shell.is-sidebar-collapsed{grid-template-columns:0 minmax(0,1fr)}.sidebar{gap:var(--space-lg);padding:84px var(--space-lg) var(--space-xl);background:var(--color-sidebar-bg);border-right:1px solid var(--color-sidebar-border);color:var(--color-sidebar-text);min-width:0;transition:transform var(--duration-base) var(--ease-out), opacity var(--duration-base) var(--ease-out), padding var(--duration-base) var(--ease-out);flex-direction:column;display:flex}.app-shell.is-sidebar-collapsed .sidebar{opacity:0;pointer-events:none;border-right-color:#0000;gap:0;height:0;min-height:0;padding:0;overflow:hidden;transform:translate(-100%)}.app-shell.is-sidebar-collapsed .brand-block,.app-shell.is-sidebar-collapsed .sidebar-nav{display:none}.brand-block{padding:var(--space-sm) var(--space-md);background:0 0;border:0;border-radius:0}.sidebar-brand{align-items:center;gap:var(--space-md);display:flex}.sidebar-brand-logo{object-fit:contain;border-radius:var(--radius-sm);flex:0 0 56px;width:56px;height:56px}.sidebar-brand-text{flex-direction:column;gap:2px;display:flex}.sidebar-brand-title{color:var(--color-sidebar-text);font-family:var(--font-display);letter-spacing:-.02em;font-size:18px;font-weight:700;line-height:1.2}.sidebar-brand-subtitle{color:var(--color-sidebar-muted);font-family:var(--font-body);letter-spacing:.04em;text-transform:uppercase;font-size:12px;font-weight:500}.sidebar-nav{padding-top:var(--space-md);border-top:1px solid var(--color-sidebar-border);gap:4px;display:grid}.sidebar-nav-button{border-radius:var(--radius-control);color:var(--color-sidebar-muted);text-align:left;cursor:pointer;transition:background var(--duration-fast) var(--ease-out), color var(--duration-fast) var(--ease-out);background:0 0;border:none;align-items:center;gap:14px;padding:14px 16px;display:flex;position:relative}.sidebar-nav-button:hover{background:var(--color-sidebar-hover);color:var(--color-sidebar-text)}.sidebar-nav-button.is-active{background:var(--color-sidebar-active);color:var(--color-sidebar-text)}.sidebar-nav-button.is-active:before{content:"";background:var(--accent);border-radius:0 3px 3px 0;width:3px;position:absolute;top:8px;bottom:8px;left:0}.sidebar-nav-icon{opacity:.7;flex:0 0 20px;width:20px;height:20px}.sidebar-nav-button.is-active .sidebar-nav-icon,.sidebar-nav-button:hover .sidebar-nav-icon{opacity:1}.sidebar-nav-title{font-family:var(--font-body);font-size:15px;font-weight:600}.sidebar-footer{padding-top:var(--space-lg);border-top:1px solid var(--color-sidebar-border);gap:18px;margin-top:auto;display:grid}.theme-switcher{gap:12px;display:grid}.theme-switcher-copy{gap:4px;display:grid}.theme-switcher-title{color:var(--color-sidebar-text);letter-spacing:.08em;text-transform:uppercase;font-size:12px;font-weight:700}.theme-switcher-subtitle{color:var(--color-sidebar-muted);font-size:12px;line-height:1.5}.theme-switcher-row{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.theme-switcher-button{border:1px solid var(--color-sidebar-border);border-radius:var(--radius-control);min-height:38px;color:var(--color-sidebar-muted);cursor:pointer;transition:background var(--duration-fast) var(--ease-out), border-color var(--duration-fast) var(--ease-out), color var(--duration-fast) var(--ease-out), transform var(--duration-fast) var(--ease-out);background:0 0;padding:8px 10px;font-size:12px;font-weight:700}.theme-switcher-button:hover{background:var(--color-sidebar-hover);color:var(--color-sidebar-text);transform:translateY(-1px)}.theme-switcher-button.is-active{background:var(--color-sidebar-active);color:var(--color-sidebar-text);border-color:#c05a2c6b}.sidebar-account-email{color:var(--color-sidebar-text);overflow-wrap:anywhere;font-size:14px;font-weight:600}.sidebar-signout-button{border-radius:var(--radius-control);min-height:40px;color:var(--color-sidebar-text);font-family:var(--font-body);cursor:pointer;transition:transform var(--duration-fast) var(--ease-out), background var(--duration-fast) var(--ease-out), border-color var(--duration-fast) var(--ease-out);background:#ffffff0a;border:1px solid #ffffff1f;padding:9px 16px;font-size:13px;font-weight:600;line-height:1.2}.sidebar-signout-button:hover{background:#ffffff14;border-color:#fff3;transform:translateY(-1px)}.sidebar-signout-button:disabled{color:var(--color-sidebar-muted);opacity:1;cursor:not-allowed;background:#ffffff08;border-color:#ffffff14}.sidebar-signout-button:disabled:hover{background:#ffffff08;border-color:#ffffff14;transform:none}.sidebar-toggle{border:1px solid var(--color-border-soft);border-radius:var(--radius-control);background:var(--color-surface);width:40px;height:40px;color:var(--color-text);cursor:pointer;transition:transform var(--duration-fast) var(--ease-out), border-color var(--duration-fast) var(--ease-out), box-shadow var(--duration-fast) var(--ease-out);flex-direction:column;justify-content:center;align-items:center;gap:4px;padding:0;display:inline-flex}.sidebar-toggle:hover{border-color:var(--color-scrollbar);box-shadow:var(--shadow-sm);transform:translateY(-1px)}.sidebar-toggle-line{width:16px;height:2px;transition:transform var(--duration-fast) var(--ease-out), opacity var(--duration-fast);background:currentColor;border-radius:999px;display:block}.sidebar-toggle-floating{top:var(--space-lg);left:var(--space-lg);z-index:40;background:var(--color-sidebar-bg);color:var(--color-sidebar-text);border-color:var(--color-sidebar-border);box-shadow:var(--shadow-lg);position:fixed}.sidebar-toggle-floating:hover{background:var(--color-sidebar-bg);border-color:var(--color-sidebar-border);transform:translateY(-1px)}.mobile-sidebar-backdrop{z-index:45;background:#0f172a4d;position:fixed;inset:0}.toast-viewport{top:max(16px, env(safe-area-inset-top));z-index:120;pointer-events:none;width:min(560px,100vw - 32px);position:fixed;left:50%;transform:translate(-50%)}.toast-banner{pointer-events:auto;border:1px solid var(--color-error-border);border-radius:var(--radius-md);background:color-mix(in srgb, var(--color-error-bg) 94%, var(--color-surface));box-shadow:var(--shadow-lg);animation:toast-slide-in var(--duration-slow) var(--ease-out) both;align-items:flex-start;gap:12px;padding:14px 16px;display:flex}.toast-banner-error{color:var(--color-error-text)}.toast-banner-success{background:color-mix(in srgb, var(--sage-light) 92%, var(--color-surface));color:var(--sage);border-color:#3d8b6e29}.toast-message{flex:1;margin:0;font-size:14px;line-height:1.5}.toast-close-button{border:1px solid var(--color-error-border);border-radius:var(--radius-control);color:currentColor;cursor:pointer;min-width:32px;height:32px;transition:background-color var(--duration-fast) var(--ease-out), border-color var(--duration-fast) var(--ease-out), transform var(--duration-fast) var(--ease-out);background:0 0;justify-content:center;align-items:center;padding:0 8px;display:inline-flex}.toast-close-button:hover{border-color:var(--color-error-border);background:#ffffff73;transform:translateY(-1px)}.toast-close-button span{font-size:22px;line-height:1}@keyframes toast-slide-in{0%{opacity:0;transform:translateY(-12px)}to{opacity:1;transform:translateY(0)}}.sidebar-toggle-floating.is-open .sidebar-toggle-line:first-child{transform:translateY(6px)rotate(45deg)}.sidebar-toggle-floating.is-open .sidebar-toggle-line:nth-child(2){opacity:0}.sidebar-toggle-floating.is-open .sidebar-toggle-line:last-child{transform:translateY(-6px)rotate(-45deg)}.main-shell{gap:var(--space-lg);padding:var(--space-xl) 40px var(--space-2xl);flex-direction:column;min-width:0;display:flex;position:relative;overflow-x:hidden}.app-shell.is-sidebar-collapsed .main-shell{padding-left:88px}@media (width>=1201px){.app-shell{height:100vh;overflow:hidden}.sidebar,.main-shell{height:100vh;overflow-y:auto}}.page-header{justify-content:space-between;gap:var(--space-lg);padding-bottom:var(--space-lg);border-bottom:1px solid var(--color-border-soft);margin-bottom:var(--space-sm);align-items:flex-end;display:flex}.page-header h1{font-family:var(--font-display);letter-spacing:-.03em;color:var(--color-text);margin:0;font-size:clamp(28px,3.5vw,38px);font-weight:700;line-height:1.1}.page-header-sub{color:var(--color-text-muted);margin-top:6px;font-size:14px;font-weight:400}.runtime-status-banner{margin-bottom:var(--space-lg);padding:var(--space-md) 18px;border-radius:var(--radius-md);border:1px solid var(--color-border-soft);background:var(--color-surface);box-shadow:var(--color-panel-shadow)}.runtime-status-banner.is-initializing,.runtime-status-banner.is-refreshing{background:color-mix(in srgb, var(--color-surface) 92%, var(--accent-light))}.runtime-status-banner.is-error{background:var(--color-error-bg);border-color:var(--color-error-border);color:var(--color-error-text)}.runtime-status-copy{flex-direction:column;gap:4px;display:flex}.runtime-status-copy strong{font-family:var(--font-display);font-size:15px;font-weight:700;line-height:1.35}.runtime-status-copy p{color:var(--color-text-muted);line-height:1.5}.runtime-status-banner.is-error .runtime-status-copy p{color:inherit}.runtime-status-progress{font-variant-numeric:tabular-nums}.eyebrow{align-items:center;gap:var(--space-sm);font-family:var(--font-body);letter-spacing:.1em;text-transform:uppercase;color:var(--accent);margin-bottom:10px;font-size:11px;font-weight:700;display:inline-flex}.brand-kicker{align-items:center;gap:var(--space-sm);letter-spacing:.1em;text-transform:uppercase;color:var(--color-text-soft);margin-bottom:10px;font-size:11px;font-weight:700;display:inline-flex}.brand-block h1,.page-header h1,.section-heading h2{font-family:var(--font-display);letter-spacing:-.03em;margin:0}.brand-block p,.page-header p,.section-heading p,.source-card p,.kpi-card p{color:var(--color-text-muted);margin:0;font-size:14px;line-height:1.6}.brand-block p{color:var(--color-sidebar-muted)}.content-stack{gap:var(--space-lg);min-width:0;animation:content-appear var(--duration-slow) var(--ease-out) both;display:grid}@keyframes content-appear{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.panel-card{padding:var(--page-card-padding);border-radius:var(--radius-lg);border:1px solid var(--color-border);background:var(--color-surface);box-shadow:var(--color-panel-shadow);min-width:0;animation:card-in var(--duration-slow) var(--ease-out) both}@keyframes card-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.status-card,.kpi-card,.source-card,.field-card,.chart-card{border:1px solid var(--color-border);box-shadow:var(--color-panel-shadow)}.status-card,.field-card,.chart-card{background:var(--color-surface)}.status-card{padding:var(--space-md) 18px;border-radius:var(--radius-md)}.status-card span,.meta-card span,.kpi-card span,.field-card span{color:var(--color-text-muted);letter-spacing:.02em;margin-bottom:4px;font-size:12px;font-weight:500;display:block}.status-card strong,.kpi-card strong,.meta-card strong{font-family:var(--font-display);color:var(--color-text);font-size:18px;font-weight:700;line-height:1.35}.section-heading{justify-content:space-between;gap:var(--space-lg);margin-bottom:var(--space-lg);display:flex}.section-heading-compact{margin-bottom:var(--space-md);align-items:center}.section-heading-full{display:block}.section-heading h2{color:var(--color-text);font-size:22px;font-weight:700}.indicator-master-detail{gap:var(--space-lg);min-height:0;animation:content-appear var(--duration-slow) var(--ease-out) both;grid-template-columns:260px minmax(0,1fr);display:grid}@media (width>=1201px){.indicator-master-detail{height:calc(100vh - 140px)}}.indicator-detail-panel{min-height:0;display:flex;overflow:hidden}.indicator-detail-panel>.panel-card{width:100%}.detail-card{isolation:isolate;flex-direction:column;min-height:0;display:flex;position:relative;overflow:hidden}.detail-card-scroll{flex:1;min-height:0;padding-right:8px;overflow-y:auto}.detail-card-scroll::-webkit-scrollbar{width:6px}.detail-card-scroll::-webkit-scrollbar-track{background:0 0}.detail-card-scroll::-webkit-scrollbar-thumb{background:var(--color-scrollbar);border-radius:999px}.indicator-list{box-shadow:none;background:0 0;border:none;border-radius:0;flex-direction:column;gap:2px;padding:0 10px 0 0;display:flex;overflow-y:auto}.indicator-list::-webkit-scrollbar{width:4px}.indicator-list::-webkit-scrollbar-track{background:0 0}.indicator-list::-webkit-scrollbar-thumb{background:var(--color-scrollbar-soft);border-radius:999px}.indicator-list-group,.indicator-list-group-items{flex-direction:column;gap:2px;display:flex}.indicator-list-entry{align-items:center;gap:8px;min-width:0;display:flex}.indicator-list-group+.indicator-list-group{margin-top:var(--space-sm);padding-top:var(--space-sm);border-top:1px solid var(--color-border-soft)}.indicator-list-group-toggle{display:none}.indicator-list-group-label{letter-spacing:.1em;text-transform:uppercase;color:var(--color-text-muted);padding:6px 12px 4px;font-size:10px;font-weight:700}.indicator-list-group-chevron{width:18px;height:18px;color:var(--color-text-muted);transition:transform var(--duration-fast) var(--ease-out);justify-content:center;align-items:center;display:inline-flex}.indicator-list-group-chevron svg{width:100%;height:100%}.indicator-list-item{border-radius:var(--radius-sm);text-align:left;cursor:pointer;transition:background var(--duration-fast) var(--ease-out), color var(--duration-fast) var(--ease-out);background:0 0;border:none;flex:auto;align-items:center;gap:10px;padding:9px 12px;display:flex;position:relative}.indicator-list-item:hover{background:var(--color-hover)}.indicator-list-item.is-highlighted{color:#7f1d1d;background:#b91c1c14;box-shadow:inset 0 0 0 1px #b91c1c2e}.indicator-list-item.is-highlighted:hover{background:#b91c1c24}.indicator-list-item.is-active{background:var(--navy-900);color:var(--white)}.indicator-list-item.is-highlighted.is-active{color:#fff5f5;background:#b91c1c}.indicator-list-tooltip{flex:none}.indicator-list-entry.is-active .indicator-list-tooltip .info-tooltip-trigger{color:#ffffffdb;background:#ffffff14;border-color:#ffffff1f}.indicator-list-item.is-active .indicator-list-code{color:#fffc;background:#ffffff1f;border-color:#ffffff14}.indicator-list-code{border:1px solid var(--color-code-border);border-radius:var(--radius-xs);background:var(--color-code-bg);min-width:32px;color:var(--color-text-muted);letter-spacing:.04em;text-transform:uppercase;flex-shrink:0;justify-content:center;align-items:center;padding:2px 6px;font-size:10px;font-weight:700;line-height:1;display:inline-flex}.indicator-list-entry.is-highlighted .indicator-list-code{color:#991b1b;background:#b91c1c1f;border-color:#b91c1c38}.indicator-list-entry.is-highlighted.is-active .indicator-list-code{color:#fff5f5;background:#ffffff24;border-color:#ffffff2e}.indicator-list-label{font-family:var(--font-body);font-size:13px;font-weight:500;line-height:1.3}.detail-meta{margin-bottom:var(--space-md);flex-wrap:wrap;gap:10px;display:flex}.meta-card{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface-muted);align-items:center;gap:8px;padding:8px 14px;display:flex}.meta-card span{letter-spacing:.03em;text-transform:uppercase;margin-bottom:0;font-size:11px;font-weight:600}.meta-card strong{font-size:14px}.chart-card{margin-bottom:var(--space-lg);border-radius:var(--radius-md);background:var(--color-surface);padding:20px 20px 8px;position:relative;overflow:visible}.chart-legend{gap:var(--space-sm);padding:var(--space-sm) var(--space-sm) 14px;flex-wrap:wrap;display:flex}.comparison-controls-separator{background:var(--color-separator);height:1px;margin:14px 8px 10px}.chart-legend-item{align-items:center;gap:var(--space-sm);border:1px solid var(--color-border-soft);border-radius:var(--radius-control);background:var(--color-surface);color:var(--color-text);cursor:pointer;transition:border-color var(--duration-fast) var(--ease-out), opacity var(--duration-fast) var(--ease-out), transform var(--duration-fast) var(--ease-out);padding:6px 12px;font-size:13px;display:inline-flex}.chart-legend-item:hover{border-color:var(--color-scrollbar);transform:translateY(-1px)}.chart-legend-item.is-hidden{opacity:.35}.chart-legend-swatch{border-radius:999px;flex:0 0 10px;width:10px;height:10px}.chart-card .recharts-responsive-container,.chart-card .recharts-wrapper,.chart-card .recharts-surface,.chart-card .recharts-tooltip-wrapper{overflow:visible}.chart-card .recharts-tooltip-wrapper{z-index:30}.table-shell{border-radius:var(--radius-md);border:1px solid var(--color-border-soft);max-height:var(--table-max-height);overflow:auto}.indicator-table-shell{max-height:var(--table-max-height)}.table-toolbar{justify-content:flex-end;align-items:center;gap:12px;margin-bottom:12px;display:flex}.copy-feedback{color:var(--color-text-muted);font-size:13px}.copy-feedback.is-success{color:var(--sage)}.copy-feedback.is-error{color:var(--rose-600)}.data-table{border-collapse:collapse;background:var(--color-surface);width:100%;min-width:920px}.data-table thead th{z-index:5;background:var(--color-surface-subtle);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:2px solid var(--color-border-soft);box-shadow:0 1px 0 var(--color-border-soft);color:var(--color-text);font-family:var(--font-body);letter-spacing:.03em;text-transform:uppercase;text-align:left;padding:0;font-size:12px;font-weight:700;position:sticky;top:0;overflow:visible}.table-sort-button{width:100%;color:inherit;font:inherit;letter-spacing:inherit;text-transform:inherit;text-align:inherit;cursor:pointer;transition:background-color var(--duration-fast) var(--ease-out), color var(--duration-fast) var(--ease-out);background:0 0;border:none;justify-content:space-between;align-items:center;gap:10px;padding:12px 16px;display:flex}.table-sort-button:hover{background:color-mix(in srgb, var(--accent) 8%, var(--color-surface-subtle));color:var(--accent)}.table-sort-button:focus-visible{outline:none;box-shadow:inset 0 0 0 2px #c05a2c38}.table-sort-button.is-active{color:var(--accent)}.table-sort-indicator{color:var(--color-text-soft);flex:none;font-size:13px;line-height:1}.table-sort-button.is-active .table-sort-indicator{color:currentColor}.data-table tbody td,.data-table tbody th{border-top:1px solid var(--color-divider);padding:12px 16px;font-size:14px}.data-table tbody th{font-weight:600}.data-table tbody tr:nth-child(2n){background:var(--color-surface-muted)}.data-table tbody tr:hover{background:var(--color-table-hover)}.filter-strip,.button-row{padding-top:var(--space-sm);flex-wrap:wrap;gap:8px;display:flex}.author-copy-button{margin-left:auto}.authors-layout{gap:var(--space-md);animation:content-appear var(--duration-slow) var(--ease-out) both;flex-direction:column;display:flex}@media (width>=1201px){.authors-layout{min-height:auto}}.authors-toolbar{justify-content:space-between;align-items:center;gap:var(--space-md);padding:var(--page-card-padding);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:var(--color-panel-shadow);flex-wrap:wrap;display:flex}.authors-toolbar-left{align-items:center;gap:var(--space-sm);flex-wrap:wrap;display:flex}.authors-toolbar-left .filter-strip{padding-top:0}.authors-ranking-controls{align-items:center;gap:var(--space-sm);flex-wrap:wrap;margin-left:clamp(20px,3vw,48px);display:flex}.authors-toolbar-right{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:12px;display:flex}.authors-table-wrapper{isolation:isolate;border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:var(--color-panel-shadow);flex-direction:column;display:flex;position:relative;overflow:visible}.authors-table-wrapper .empty-state{flex:1;justify-content:center;align-items:center;margin:0;display:flex}.authors-error-banner{margin:16px 16px 0}.authors-table-scroll{max-height:var(--table-max-height);overflow:auto}.authors-table-scroll::-webkit-scrollbar{width:6px;height:6px}.authors-table-scroll::-webkit-scrollbar-track{background:0 0}.authors-table-scroll::-webkit-scrollbar-thumb{background:var(--color-scrollbar);border-radius:999px}.authors-table-shell{border:none;border-radius:0;min-height:100%;max-height:none;overflow:visible}.authors-topk-label{color:var(--color-text-muted);white-space:nowrap;align-items:center;gap:8px;font-size:13px;font-weight:500;display:inline-flex}.authors-topk-input{border:1px solid var(--color-border-soft);border-radius:var(--radius-xs);background:var(--color-field-bg);width:72px;color:var(--color-text);text-align:center;transition:border-color var(--duration-fast) var(--ease-out);padding:5px 8px;font-size:14px;font-weight:600}.authors-topk-input:focus{border-color:var(--accent);outline:none}.authors-toolbar-divider{background:var(--color-border-soft);flex-shrink:0;width:1px;height:20px}.pill-button,.ghost-button,.primary-button{border:1px solid var(--color-border-soft);border-radius:var(--radius-control);background:var(--color-surface);color:var(--color-text);font-family:var(--font-body);cursor:pointer;transition:transform var(--duration-fast) var(--ease-out), border-color var(--duration-fast) var(--ease-out), background var(--duration-fast) var(--ease-out), box-shadow var(--duration-fast) var(--ease-out);padding:9px 16px;font-size:13px;font-weight:600}.pill-button:hover,.ghost-button:hover,.primary-button:hover{box-shadow:var(--shadow-sm);transform:translateY(-1px)}.pill-button:hover{border-color:var(--accent);color:var(--accent)}.pill-button.is-active{background:var(--navy-900);border-color:var(--navy-900);color:var(--white)}.pill-button.is-active:hover{background:var(--navy-800);color:var(--white)}.primary-button{background:var(--navy-900);border-color:var(--navy-900);color:var(--white)}.primary-button:hover{background:var(--navy-800);border-color:var(--navy-800)}.ghost-button{border-color:var(--color-border-soft);background:0 0}.ghost-button:hover{border-color:var(--accent)}.danger-button{border-radius:var(--radius-control);color:var(--color-error-text);cursor:pointer;transition:transform var(--duration-fast) var(--ease-out), border-color var(--duration-fast) var(--ease-out), background var(--duration-fast) var(--ease-out), box-shadow var(--duration-fast) var(--ease-out);background:0 0;border:1px solid #e11d482e;padding:9px 16px;font-size:13px;font-weight:600}.danger-button:hover{background:var(--color-error-bg);box-shadow:var(--shadow-sm);border-color:#e11d4847;transform:translateY(-1px)}.danger-button:disabled{opacity:1;cursor:not-allowed}.pill-button:disabled,.ghost-button:disabled,.primary-button:disabled,.danger-button:disabled,.auth-submit:disabled{box-shadow:none;filter:none;background:var(--color-surface-muted);border-color:var(--color-border-soft);color:var(--color-text-soft);opacity:1;cursor:not-allowed;transform:none}.auth-submit:disabled{border:1px solid var(--color-border-soft)}.pill-button:disabled:hover,.ghost-button:disabled:hover,.primary-button:disabled:hover,.danger-button:disabled:hover,.auth-submit:disabled:hover{box-shadow:none;filter:none;background:var(--color-surface-muted);border-color:var(--color-border-soft);color:var(--color-text-soft);transform:none}.auth-input,.admin-select{border:1px solid var(--color-border-soft);border-radius:var(--radius-control);background:var(--color-field-bg);width:100%;height:46px;color:var(--color-text);transition:border-color var(--duration-fast) var(--ease-out), box-shadow var(--duration-fast) var(--ease-out);padding:11px 14px;font-size:15px}.admin-select{appearance:none;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8' fill='none'%3E%3Cpath d='M1 1.5L6 6.5L11 1.5' stroke='%2349678A' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-position:right 14px center;background-repeat:no-repeat;background-size:12px 8px;padding:0 42px 0 14px;line-height:1.2}.auth-input:focus,.admin-select:focus{border-color:#c05a2c80;outline:none;box-shadow:0 0 0 4px #c05a2c14}.auth-shell,.app-boot-shell{background:radial-gradient(circle at top left, #c05a2c29, transparent 32%), radial-gradient(circle at bottom right, #3d8b6e24, transparent 28%), linear-gradient(180deg, var(--color-bg) 0%, var(--color-surface-subtle) 100%);place-items:center;min-height:100vh;padding:clamp(24px,4vw,48px);display:grid}.app-boot-shell .loading-state{border:1px solid var(--color-border-soft);border-radius:var(--radius-md);background:color-mix(in srgb, var(--color-surface) 92%, transparent);min-width:min(100%,320px);box-shadow:var(--shadow-md);color:var(--color-text-muted);justify-content:center;padding:18px 22px;font-weight:600}.auth-stage{grid-template-columns:minmax(0,1.2fr) minmax(320px,420px);align-items:center;gap:clamp(24px,4vw,40px);width:min(100%,980px);display:grid}.auth-brand{gap:18px;padding:clamp(12px,2vw,24px);display:grid}.auth-brand-content{gap:clamp(16px,2.4vw,24px);display:grid}.auth-brand-logo{object-fit:contain;width:82px;height:82px}.auth-brand-kicker{color:var(--accent);letter-spacing:.12em;text-transform:uppercase;margin:0;font-size:12px;font-weight:700}.auth-brand h1{font-family:var(--font-display);letter-spacing:-.05em;margin:0;font-size:clamp(36px,5vw,56px);line-height:.96}.auth-brand-copy{max-width:42ch;color:var(--color-text-muted);margin:0;font-size:17px;line-height:1.6}.auth-card{border:1px solid var(--color-border-soft);background:color-mix(in srgb, var(--color-surface) 88%, transparent);box-shadow:var(--shadow-lg);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-radius:28px;gap:14px;padding:clamp(24px,4vw,32px);display:grid}.auth-form{gap:16px;display:grid}.auth-primary-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.auth-primary-actions.is-single{grid-template-columns:minmax(0,1fr)}.auth-field{gap:8px;display:grid}.auth-field span{letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-muted);font-size:12px;font-weight:700}.auth-code-input{text-align:center;letter-spacing:.34em;font-variant-numeric:tabular-nums;font-size:28px;font-weight:700}.auth-submit{border-radius:var(--radius-control);background:var(--navy-900);min-height:48px;color:var(--white);cursor:pointer;transition:transform var(--duration-fast) var(--ease-out), box-shadow var(--duration-fast) var(--ease-out), background var(--duration-fast) var(--ease-out);border:none;padding:12px 18px;font-size:15px;font-weight:700}.auth-submit:hover{background:var(--navy-800);box-shadow:var(--shadow-md);transform:translateY(-1px)}.auth-submit:disabled{opacity:1;cursor:not-allowed}.auth-passkey-button{border-radius:var(--radius-control);width:100%;min-height:48px;padding:12px 18px;font-size:15px;font-weight:700}.auth-secondary-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.auth-secondary-button{width:100%;min-height:48px;padding:12px 18px;font-size:15px;font-weight:700}.auth-message{border-radius:var(--radius-sm);padding:12px 14px;font-size:14px;line-height:1.5}.admin-layout{gap:var(--space-lg);display:grid}.admin-toolbar-card,.admin-access-card,.admin-users-card{gap:18px;display:grid}.admin-create-form{grid-template-columns:minmax(0,1.5fr) 160px auto;align-items:end;gap:12px;display:grid}.admin-field{gap:8px;display:grid}.admin-field span{color:var(--color-text-muted);letter-spacing:.08em;text-transform:uppercase;font-size:12px;font-weight:700}.admin-create-form .auth-input,.admin-create-form .admin-select,.admin-create-submit{height:40px}.admin-create-form .auth-input,.admin-create-form .admin-select{padding-top:8px;padding-bottom:8px;font-size:13px}.admin-create-form .admin-select{padding-top:0;padding-bottom:0}.admin-users-header{justify-content:space-between;align-items:center;gap:12px;display:flex}.admin-access-row{justify-content:space-between;align-items:center;gap:16px;display:flex}.admin-access-copy{gap:6px;min-width:0;display:grid}.admin-access-copy strong{font-size:14px;font-weight:700}.admin-access-copy span{color:var(--color-text-muted);font-size:13px;line-height:1.55}.admin-switch{cursor:pointer;flex-shrink:0;align-items:center;display:inline-flex;position:relative}.admin-switch input{clip:rect(0, 0, 0, 0);block-size:1px;inline-size:1px;position:absolute;overflow:hidden}.admin-switch-track{border:1px solid var(--color-border);background:var(--color-surface-subtle);block-size:32px;inline-size:54px;transition:background-color var(--duration-fast) var(--ease-out), border-color var(--duration-fast) var(--ease-out);border-radius:999px;align-items:center;padding:4px;display:inline-flex;position:relative}.admin-switch-thumb{background:var(--color-surface);block-size:22px;inline-size:22px;box-shadow:var(--shadow-sm);transition:transform var(--duration-fast) var(--ease-out);border-radius:999px}.admin-switch input:checked+.admin-switch-track{background:color-mix(in srgb, var(--accent) 20%, var(--color-surface));border-color:color-mix(in srgb, var(--accent) 40%, var(--color-border))}.admin-switch input:checked+.admin-switch-track .admin-switch-thumb{transform:translate(22px)}.admin-switch input:focus-visible+.admin-switch-track{outline:2px solid color-mix(in srgb, var(--accent) 30%, transparent);outline-offset:2px}.admin-switch input:disabled+.admin-switch-track{opacity:.6}.admin-empty-state{min-height:160px;margin:0}.admin-users-table-shell{max-height:var(--table-max-height)}.admin-users-table{min-width:760px}.admin-users-table tbody td,.admin-users-table tbody th{vertical-align:middle}.admin-email-cell{overflow-wrap:anywhere;text-align:left;min-width:260px;max-width:420px}.admin-role-cell{width:180px}.admin-action-cell{white-space:nowrap;text-align:right;width:1%}.admin-role-select{width:100%;min-width:148px;height:40px;padding-top:0;padding-bottom:0;font-size:13px}.admin-loading-state{min-height:160px}.developer-layout{gap:var(--space-lg);animation:content-appear var(--duration-slow) var(--ease-out) both;display:grid}.developer-toolbar-card,.developer-logs-card{gap:18px;display:grid}.developer-toolbar-row{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.developer-toolbar-actions{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.developer-maintenance-card{gap:16px;display:grid}.developer-action-notice,.developer-inline-note{border:1px solid var(--color-border-soft);border-radius:var(--radius-md);background:var(--color-surface-subtle);color:var(--color-text-muted);padding:12px 14px;font-size:13px;line-height:1.6}.developer-task-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.developer-task-card,.developer-publication-types{border:1px solid var(--color-border-soft);border-radius:var(--radius-lg);background:var(--color-surface-subtle);gap:14px;padding:16px;display:grid}.developer-publication-types-header{gap:6px;display:grid}.developer-mode-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.developer-mode-actions{flex-wrap:wrap;gap:10px;display:flex}.developer-publication-type-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px;display:grid}.developer-publication-type-button{border:1px solid var(--color-border-soft);border-radius:var(--radius-control);background:var(--color-field-bg);min-height:40px;color:var(--color-text-muted);cursor:pointer;transition:background var(--duration-fast) var(--ease-out), border-color var(--duration-fast) var(--ease-out), color var(--duration-fast) var(--ease-out), transform var(--duration-fast) var(--ease-out), box-shadow var(--duration-fast) var(--ease-out);padding:8px 10px;font-size:12px;font-weight:700}.developer-publication-type-button:hover{background:var(--color-surface-muted);color:var(--color-text);transform:translateY(-1px)}.developer-publication-type-button:focus-visible{border-color:var(--accent);box-shadow:0 0 0 3px var(--color-focus-ring);outline:none}.developer-publication-type-button.is-active{background:color-mix(in srgb, var(--accent) 12%, var(--color-surface) 88%);border-color:color-mix(in srgb, var(--accent) 40%, var(--color-border-soft) 60%);color:var(--color-text)}.developer-publication-type-button:disabled{cursor:not-allowed;opacity:.72;transform:none}.developer-task-header{justify-content:space-between;align-items:start;gap:12px;display:flex}.developer-task-title{margin:0;font-size:17px}.developer-task-description,.developer-task-message{color:var(--color-text-muted);margin:0;font-size:13px;line-height:1.6}.developer-task-status{background:var(--color-surface);min-width:96px;color:var(--color-text-muted);letter-spacing:.08em;text-transform:uppercase;border-radius:999px;justify-content:center;align-items:center;padding:6px 10px;font-size:11px;font-weight:700;display:inline-flex}.developer-task-status.is-running{background:color-mix(in srgb, var(--accent) 18%, var(--color-surface));color:color-mix(in srgb, var(--accent) 72%, var(--color-text))}.developer-task-status.is-succeeded{background:color-mix(in srgb, #15803d 18%, var(--color-surface));color:#166534}.developer-task-status.is-failed{background:color-mix(in srgb, #dc2626 18%, var(--color-surface));color:#b91c1c}.developer-progress-block{gap:8px;display:grid}.developer-progress-meta{color:var(--color-text-muted);justify-content:space-between;gap:12px;font-size:12px;font-weight:600;display:flex}.developer-progress-track{background:color-mix(in srgb, var(--color-border-soft) 64%, var(--color-surface));border-radius:999px;height:10px;overflow:hidden}.developer-progress-fill{border-radius:inherit;background:linear-gradient(90deg, var(--accent) 0%, color-mix(in srgb, var(--accent) 45%, white) 100%);height:100%;transition:width var(--duration-fast) var(--ease-out)}.developer-task-metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:0;display:grid}.developer-task-metrics div{gap:4px;display:grid}.developer-task-metrics dt{color:var(--color-text-muted);letter-spacing:.08em;text-transform:uppercase;font-size:11px;font-weight:700}.developer-task-metrics dd{color:var(--color-text);margin:0;font-size:15px;font-weight:700}.developer-task-details{gap:8px;display:grid}.developer-task-details summary{cursor:pointer;color:var(--color-text-muted);font-size:12px;font-weight:700}.developer-summary{max-width:72ch;color:var(--color-text-muted);margin:0;font-size:13px;line-height:1.6}.developer-toggle{color:var(--color-text-muted);align-items:center;gap:8px;font-size:13px;font-weight:600;display:inline-flex}.developer-controls{flex-wrap:wrap;align-items:end;gap:12px;display:flex}.developer-field{gap:8px;min-width:0;display:grid}.developer-field span{color:var(--color-text-muted);letter-spacing:.08em;text-transform:uppercase;font-size:12px;font-weight:700}.developer-search-input{min-width:min(100%,420px)}.developer-level-field{min-width:180px}.developer-level-select{min-width:180px;height:40px;padding-top:0;padding-bottom:0;font-size:13px}.developer-loading-state,.developer-empty-state{min-height:160px}.developer-logs-shell{max-height:min(70svh,760px)}.developer-logs-table{min-width:1080px}.developer-logs-table tbody td{vertical-align:top}.developer-log-time{white-space:nowrap;min-width:180px}.developer-log-category{min-width:240px;font-size:12px}.developer-log-category code,.developer-log-message{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.developer-log-message-cell{min-width:420px}.developer-log-message{white-space:pre-wrap;overflow-wrap:anywhere;color:var(--color-text);margin:0;font-size:12px;line-height:1.55}.developer-log-exception{margin-top:10px}.developer-log-exception summary{cursor:pointer;color:var(--color-text-muted);font-size:12px;font-weight:700}.developer-log-level{background:var(--color-surface-subtle);color:var(--color-text-muted);letter-spacing:.08em;text-transform:uppercase;border-radius:999px;align-items:center;padding:4px 8px;font-size:11px;font-weight:700;display:inline-flex}.developer-log-level.is-information{background:color-mix(in srgb, var(--accent) 16%, var(--color-surface));color:color-mix(in srgb, var(--accent) 70%, var(--color-text))}.developer-log-level.is-warning{background:color-mix(in srgb, #d97706 18%, var(--color-surface));color:#b45309}.developer-log-level.is-error,.developer-log-level.is-critical{background:color-mix(in srgb, #dc2626 18%, var(--color-surface));color:#b91c1c}.developer-log-level.is-debug,.developer-log-level.is-trace{background:color-mix(in srgb, #475569 18%, var(--color-surface));color:#475569}.kpi-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;display:grid}.kpi-grid-authors{margin-top:var(--space-lg)}.kpi-card{padding:var(--space-md) 18px;border-radius:var(--radius-md);background:var(--color-surface-muted)}.kpi-card strong{font-family:var(--font-display);letter-spacing:-.03em;color:var(--color-text);margin-bottom:6px;font-size:26px;font-weight:700;display:block}.settings-layout{--settings-matrix-height:clamp(340px, 52svh, 480px);gap:var(--space-md);animation:content-appear var(--duration-slow) var(--ease-out) both;flex-direction:column;display:flex}.settings-matrix-card{border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:var(--color-panel-shadow);gap:16px;min-width:0;display:grid;overflow:hidden}.settings-toolbar{justify-content:space-between;align-items:center;gap:var(--space-md);flex-wrap:wrap;display:flex}.section-card-title{font-family:var(--font-display);letter-spacing:-.02em;color:var(--color-text);margin:0;font-size:18px;font-weight:700;line-height:1.2;display:block}.section-card-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.settings-toolbar-right{align-items:center;gap:8px;display:flex}.settings-mode-toggle{border:1px solid var(--color-border-soft);background:var(--color-surface-muted);border-radius:999px;align-items:center;padding:4px;display:inline-flex}.settings-mode-toggle-button{min-height:34px;color:var(--color-text-muted);cursor:pointer;transition:background-color var(--duration-fast) var(--ease-out), color var(--duration-fast) var(--ease-out), transform var(--duration-fast) var(--ease-out);background:0 0;border:none;border-radius:999px;padding:0 14px;font-size:12px;font-weight:700}.settings-mode-toggle-button:hover{color:var(--color-text)}.settings-mode-toggle-button.is-active{background:var(--color-surface);color:var(--color-text);box-shadow:var(--shadow-sm)}.settings-matrix-actions{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.settings-matrix-copy{gap:6px;max-width:68ch;display:grid}.settings-matrix-copy-primary,.settings-matrix-copy-secondary{margin:0;font-size:13px;line-height:1.55}.settings-matrix-copy-primary{color:var(--color-text)}.settings-matrix-copy-secondary{color:var(--color-text-muted)}.settings-matrix-file-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.settings-matrix-help{align-items:center;display:flex;position:relative}.settings-matrix-help-button{border:1px solid var(--color-border-soft);background:var(--color-field-bg);width:34px;height:34px;color:var(--color-text-muted);cursor:pointer;transition:border-color var(--duration-fast) var(--ease-out), background-color var(--duration-fast) var(--ease-out), color var(--duration-fast) var(--ease-out), transform var(--duration-fast) var(--ease-out);border-radius:999px;justify-content:center;align-items:center;font-size:15px;font-weight:800;display:inline-flex}.settings-matrix-help-button:hover,.settings-matrix-help-button.is-active{border-color:color-mix(in srgb, var(--accent) 30%, var(--color-border-soft));background:color-mix(in srgb, var(--accent) 10%, var(--color-field-bg));color:var(--accent);transform:translateY(-1px)}.settings-matrix-help-button:focus-visible{border-color:#c05a2c80;outline:none;box-shadow:0 0 0 4px #c05a2c14}.settings-matrix-help-popup{z-index:10;border:1px solid var(--color-border);border-radius:var(--radius-md);background:color-mix(in srgb, var(--color-surface) 98%, transparent);width:min(360px,100vw - 48px);box-shadow:var(--shadow-lg);gap:8px;padding:14px 16px;display:grid;position:absolute;top:calc(100% + 10px);right:0}.settings-matrix-help-title{color:var(--color-text);font-size:13px;line-height:1.4}.settings-matrix-help-copy{color:var(--color-text-muted);margin:0;font-size:12px;line-height:1.55}.settings-matrix-file-input{display:none}.settings-buckets-area{gap:0;min-width:0;min-height:0;display:grid}.settings-buckets-workbench{grid-template-columns:minmax(280px,340px) minmax(0,1fr);align-items:stretch;gap:16px;min-width:0;height:min(82svh,940px);min-height:0;max-height:min(82svh,940px);display:grid}.settings-buckets-library-panel,.settings-pob-bucket{border:1px solid var(--color-border-soft);border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:none}.settings-buckets-library-panel{grid-template-rows:auto auto minmax(0,1fr) auto;gap:14px;min-height:0;padding:14px;display:grid}.settings-buckets-panel-header{gap:4px;display:grid}.settings-buckets-panel-title{color:var(--color-text);letter-spacing:.08em;text-transform:uppercase;margin:0;font-size:13px;font-weight:700;line-height:1.4}.settings-buckets-panel-copy{color:var(--color-text-muted);margin:0;font-size:11px;line-height:1.5}.settings-buckets-search-field{gap:8px;display:grid}.settings-buckets-search-label{color:var(--color-text-muted);letter-spacing:.08em;text-transform:uppercase;font-size:11px;font-weight:700}.settings-buckets-search-input{border-radius:var(--radius-sm);height:38px}.settings-buckets-library-list{gap:10px;height:100%;min-height:0;padding-right:4px;display:grid;overflow:auto}.settings-buckets-sidebar-hint{color:var(--color-text-muted);border-top:1px solid color-mix(in srgb, var(--color-border-soft) 80%, transparent);margin:0;padding-top:12px;font-size:11px;line-height:1.5}.settings-buckets-empty{border:1px dashed var(--color-border-soft);border-radius:var(--radius-sm);color:var(--color-text-muted);margin:0;padding:12px;font-size:12px;line-height:1.55}.settings-library-group{gap:8px;display:grid}.settings-library-group-row{align-items:flex-start;gap:8px;display:flex}.settings-library-group-summary{gap:2px;width:100%;padding:2px 0;display:grid}.settings-library-group-toggle,.settings-library-group-spacer{flex:0 0 22px;width:22px;height:22px}.settings-library-group-toggle{border:1px solid var(--color-border-soft);color:var(--color-text-muted);cursor:pointer;transition:border-color var(--duration-fast) var(--ease-out), background-color var(--duration-fast) var(--ease-out), color var(--duration-fast) var(--ease-out);background:0 0;border-radius:999px;justify-content:center;align-items:center;display:inline-flex}.settings-library-group-toggle:hover{border-color:color-mix(in srgb, var(--accent) 30%, var(--color-border-soft));background:color-mix(in srgb, var(--accent) 10%, var(--color-field-bg));color:var(--accent)}.settings-library-group-toggle-icon{transition:transform var(--duration-fast) var(--ease-out);line-height:1}.settings-library-group-toggle-icon.is-expanded{transform:rotate(90deg)}.settings-library-item-name{color:var(--color-text);font-size:12px;font-weight:600;line-height:1.5}.settings-library-item-meta{color:var(--color-text-muted);font-size:11px;line-height:1.45}.settings-library-textarea{border:1px solid var(--color-border-soft);border-radius:var(--radius-md);background:color-mix(in srgb, var(--color-field-bg) 85%, transparent);width:100%;min-height:120px;color:var(--color-text);resize:vertical;-webkit-user-select:text;user-select:text;padding:10px 12px;font-size:12px;line-height:1.6}.settings-library-textarea:focus{border-color:var(--accent);outline:none}.settings-buckets-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:minmax(230px,1fr);gap:12px;min-width:0;height:100%;min-height:0;padding-right:4px;display:grid;overflow:auto}.settings-pob-bucket{min-height:0;transition:border-color var(--duration-fast) var(--ease-out), background-color var(--duration-fast) var(--ease-out);outline:none;grid-template-rows:auto minmax(0,1fr) auto;gap:10px;padding:12px;display:grid;overflow:hidden}.settings-pob-bucket.is-focused{border-color:var(--color-border-soft);background:var(--color-surface)}.settings-pob-bucket-header{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.settings-pob-bucket-heading{gap:4px;display:grid}.settings-pob-bucket-heading strong{color:var(--color-text);font-size:13px;line-height:1.4}.settings-pob-bucket-heading span,.settings-pob-bucket-meta{color:var(--color-text-muted);font-size:11px;line-height:1.45}.settings-pob-bucket-meta-stack{justify-items:end;gap:4px;display:grid}.settings-pob-editor{border:1px solid var(--color-border-soft);border-radius:var(--radius-md);width:100%;height:100%;min-height:0;color:var(--color-text);resize:none;-webkit-user-select:text;user-select:text;background:0 0;padding:10px 12px;font-size:12px;line-height:1.6;overflow:auto}.settings-pob-editor:focus{border-color:var(--accent);outline:none}.settings-pob-editor::placeholder{color:var(--color-text-muted)}.settings-pob-editor-footer{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:12px;display:flex}.settings-pob-editor-warning{color:color-mix(in srgb, var(--accent) 72%, var(--color-text-muted));letter-spacing:.06em;text-transform:uppercase;font-size:10px;line-height:1.4}.settings-content{gap:var(--space-md);grid-template-columns:minmax(0,1fr);min-width:0;display:grid}.settings-matrix-area{min-height:var(--settings-matrix-height);min-width:0;overflow:hidden}.settings-matrix-area .asjc-matrix-shell{height:var(--settings-matrix-height);max-height:var(--settings-matrix-height);max-width:100%}.settings-footer{gap:var(--space-sm);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:var(--color-panel-shadow);flex-direction:column;min-width:0;display:flex}.settings-sources-list{flex-direction:column;gap:6px;display:flex}.settings-source-row{flex-wrap:wrap;align-items:flex-start;gap:10px;padding:4px 0;display:flex}.settings-source-name{min-width:0;color:var(--color-text);flex:160px;font-size:13px;font-weight:600}.settings-source-scope{color:var(--color-text-muted);flex:none;font-size:12px}.settings-source-dot{background:var(--sage);border-radius:999px;flex-shrink:0;width:6px;height:6px;margin-top:7px}.settings-preferences-card{border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:var(--color-panel-shadow);gap:16px;display:grid}.settings-preferences-header{gap:4px}.settings-preferences-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;display:grid}.settings-preferences-group{gap:10px;display:grid}.settings-preferences-label{color:var(--color-text-muted);letter-spacing:.08em;text-transform:uppercase;font-size:12px;font-weight:700}.settings-preferences-row{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.settings-preferences-button{border:1px solid var(--color-border-soft);border-radius:var(--radius-control);background:var(--color-field-bg);min-height:40px;color:var(--color-text-muted);cursor:pointer;transition:background var(--duration-fast) var(--ease-out), border-color var(--duration-fast) var(--ease-out), color var(--duration-fast) var(--ease-out), transform var(--duration-fast) var(--ease-out), box-shadow var(--duration-fast) var(--ease-out);padding:8px 10px;font-size:12px;font-weight:700}.settings-preferences-button:hover{background:var(--color-surface-muted);color:var(--color-text);transform:translateY(-1px)}.settings-preferences-button:focus-visible{border-color:var(--accent);box-shadow:0 0 0 3px var(--color-focus-ring);outline:none}.settings-preferences-button.is-active{background:color-mix(in srgb, var(--accent) 12%, var(--color-surface) 88%);border-color:color-mix(in srgb, var(--accent) 40%, var(--color-border-soft) 60%);color:var(--color-text)}.settings-passkeys-card{border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:var(--color-panel-shadow);gap:14px;display:grid}.settings-matrix-card,.settings-footer,.settings-preferences-card,.settings-passkeys-card{padding:var(--page-card-padding)}.settings-passkeys-header{align-items:flex-start}.settings-passkeys-copy{color:var(--color-text-muted);margin:4px 0 0;font-size:13px;line-height:1.55}.settings-passkeys-copy-warning{color:var(--color-error-text)}.settings-passkeys-signin{justify-items:start;gap:12px;display:grid}.settings-passkeys-list{gap:12px;display:grid}.settings-passkey-row{border:1px solid var(--color-border-soft);border-radius:var(--radius-md);background:color-mix(in srgb, var(--color-surface) 88%, var(--navy-050) 12%);justify-content:space-between;align-items:flex-start;gap:16px;padding:14px 16px;display:flex}.settings-passkey-body{gap:4px;min-width:0;display:grid}.settings-passkey-name{color:var(--color-text);font-size:14px}.settings-passkey-meta{color:var(--color-text-muted);flex-wrap:wrap;gap:8px 14px;font-size:12px;display:flex}.settings-passkey-remove-button{flex-shrink:0;align-self:center}.settings-passkey-actions{flex-shrink:0;align-items:center;gap:8px;display:flex}.settings-passkey-rename-button,.settings-passkey-remove-button{align-self:center}.settings-dialog-backdrop{z-index:40;background:color-mix(in srgb, var(--navy-950) 22%, transparent);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.settings-dialog{border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);width:min(100%,420px);box-shadow:var(--color-panel-shadow);gap:18px;padding:22px;display:grid}.settings-dialog-header,.settings-dialog-form,.settings-dialog-field{gap:10px;display:grid}.settings-dialog-title{font-family:var(--font-display);letter-spacing:-.02em;color:var(--color-text);margin:0;font-size:20px;font-weight:700;line-height:1.1}.settings-dialog-copy{color:var(--color-text-muted);margin:0;font-size:14px;line-height:1.5}.settings-dialog-label{color:var(--color-text-muted);letter-spacing:.08em;text-transform:uppercase;font-size:12px;font-weight:700}.settings-dialog-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.passkey-enrollment-dialog-actions{grid-template-columns:minmax(0,1fr);justify-content:stretch;gap:10px;display:grid}.passkey-enrollment-dialog-button{justify-content:center;width:100%}.asjc-matrix-shell{max-height:680px;overflow:auto}.asjc-matrix{border-collapse:separate;border-spacing:0;background:0 0;width:max-content;min-width:100%}.asjc-matrix thead th{z-index:3;text-align:center;vertical-align:middle;min-width:76px;padding:12px;font-size:12px;position:sticky;top:0}.asjc-matrix thead th:first-child{text-align:center;width:36px;min-width:36px}.asjc-matrix thead th:nth-child(2){text-align:left;min-width:260px}.asjc-matrix tbody th,.asjc-matrix tbody td{padding:12px}.asjc-matrix tbody th{text-align:left;min-width:260px}.asjc-matrix tbody td{text-align:center;width:76px;min-width:76px}.asjc-checkbox{width:16px;height:16px;accent-color:var(--navy-900);cursor:pointer}.asjc-group-row th,.asjc-group-row td{background:color-mix(in srgb, var(--color-surface-subtle) 84%, transparent)}.asjc-group-row.is-expanded th,.asjc-group-row.is-expanded td{background:color-mix(in srgb, var(--color-surface-subtle) 94%, transparent)}.asjc-subcategory-row th,.asjc-subcategory-row td{background:color-mix(in srgb, var(--color-surface-muted) 64%, transparent)}.asjc-category-cell{align-items:flex-start;gap:8px;min-width:0;display:flex}.asjc-category-copy{gap:4px;min-width:0;display:grid}.asjc-group-toggle,.asjc-group-toggle-spacer{flex:0 0 24px;width:24px;height:24px}.asjc-group-toggle{border:1px solid var(--color-border-soft);background:var(--color-field-bg);color:var(--color-text-muted);cursor:pointer;transition:transform var(--duration-fast) var(--ease-out), border-color var(--duration-fast) var(--ease-out), background-color var(--duration-fast) var(--ease-out), color var(--duration-fast) var(--ease-out);border-radius:999px;justify-content:center;align-items:center;display:inline-flex}.asjc-group-toggle:hover{border-color:color-mix(in srgb, var(--accent) 28%, var(--color-border-soft));background:color-mix(in srgb, var(--accent) 10%, var(--color-field-bg));color:var(--accent)}.asjc-group-toggle:focus-visible{border-color:#c05a2c80;outline:none;box-shadow:0 0 0 4px #c05a2c14}.asjc-group-toggle-spacer{display:inline-flex}.asjc-group-toggle-icon{transition:transform var(--duration-fast) var(--ease-out);line-height:1}.asjc-group-toggle-icon.is-expanded{transform:rotate(90deg)}.asjc-group-name{color:var(--color-text);font-weight:700;line-height:1.4;display:block}.asjc-group-meta{color:var(--color-text-muted);font-size:12px;line-height:1.4}.asjc-subcategory-label{color:var(--color-text-muted);place-items:start;gap:6px;min-width:0;padding-left:12px;font-weight:500;line-height:1.45;display:grid}.asjc-subcategory-main{flex-wrap:wrap;align-items:center;gap:10px;min-width:0;display:inline-flex}.asjc-subcategory-name{color:var(--color-text);flex:0 auto;min-width:0;font-weight:600}.asjc-subcategory-meta{align-items:center;gap:8px;min-width:0;display:inline-flex}.asjc-category-copy{gap:6px}.asjc-stats-badge{background:color-mix(in srgb, var(--accent) 6%, var(--color-surface-muted));border:1px solid color-mix(in srgb, var(--accent) 12%, var(--color-border-soft));color:var(--color-text-muted);letter-spacing:.01em;white-space:nowrap;border-radius:999px;flex:none;align-items:center;gap:8px;padding:2px 8px;font-size:11px;font-weight:600;line-height:1.3;display:inline-flex}.asjc-stats-badge.is-empty{opacity:.45;background:var(--color-surface-muted);border-color:var(--color-border-soft)}.asjc-stats-metric{align-items:baseline;gap:5px;display:inline-flex}.asjc-stats-metric.is-empty{color:var(--color-text-muted);font-weight:500}.asjc-stats-output{color:var(--color-text);font-variant-numeric:tabular-nums;font-weight:700}.asjc-stats-divider{color:color-mix(in srgb, var(--color-text-muted) 60%, transparent);font-weight:500}.asjc-stats-fwci{color:var(--color-text-muted);font-variant-numeric:tabular-nums}.asjc-stats-sparkline{color:var(--accent);flex:none;display:block;overflow:visible}.asjc-stats-sparkline-line{fill:none;stroke:currentColor;stroke-width:1.2px;stroke-linecap:round;stroke-linejoin:round}.asjc-stats-sparkline-area{fill:color-mix(in srgb, var(--accent) 14%, transparent);stroke:none}.asjc-stats-sparkline-dot{fill:currentColor}.asjc-stats-trend{font-variant-numeric:tabular-nums;align-items:center;gap:2px;font-weight:700;display:inline-flex}.asjc-stats-trend.is-up{color:#0f7a3b}.asjc-stats-trend.is-down{color:#b53f2e}.asjc-stats-trend.is-flat{color:var(--color-text-muted)}.asjc-stats-trend-arrow{font-size:9px;line-height:1}.asjc-pob-tooltip{justify-content:center;width:100%;display:inline-flex;position:relative}.asjc-pob-heading{white-space:nowrap;cursor:help;letter-spacing:.03em;display:inline-block}.asjc-pob-tooltip-bubble{z-index:8;border-radius:var(--radius-sm);background:var(--navy-950);width:max-content;max-width:220px;box-shadow:var(--shadow-lg);color:var(--slate-100);letter-spacing:normal;text-align:left;text-transform:none;opacity:0;pointer-events:none;transition:opacity var(--duration-fast) var(--ease-out), transform var(--duration-fast) var(--ease-out);white-space:normal;padding:8px 12px;font-size:12px;line-height:1.5;position:absolute;top:calc(100% + 6px);left:0;transform:translateY(-4px)}.asjc-pob-tooltip.is-right .asjc-pob-tooltip-bubble{left:auto;right:0}.asjc-pob-tooltip:hover .asjc-pob-tooltip-bubble{opacity:1;transition-delay:.25s;transform:translateY(0)}.detail-heading-row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.table-header-cell{align-items:center;gap:8px;display:inline-flex;position:relative;overflow:visible}.table-header-tooltip{z-index:8;flex:none;position:relative}.info-tooltip{align-items:center;display:inline-flex}.info-tooltip-trigger{border:1px solid var(--color-border-soft);background:var(--color-field-bg);width:22px;height:22px;color:var(--color-text-muted);cursor:help;transition:border-color var(--duration-fast) var(--ease-out), background-color var(--duration-fast) var(--ease-out), color var(--duration-fast) var(--ease-out), transform var(--duration-fast) var(--ease-out);border-radius:999px;justify-content:center;align-items:center;font-size:12px;font-weight:700;line-height:1;display:inline-flex}.info-tooltip-trigger:hover,.info-tooltip-trigger:focus-visible{border-color:color-mix(in srgb, var(--accent) 30%, var(--color-border-soft));background:color-mix(in srgb, var(--accent) 10%, var(--color-field-bg));color:var(--accent);outline:none;transform:translateY(-1px)}.info-tooltip-layer{z-index:200;border-radius:var(--radius-sm);background:var(--navy-950);width:min(320px,100vw - 40px);min-width:220px;box-shadow:var(--shadow-lg);color:var(--slate-100);text-align:left;text-transform:none;white-space:normal;pointer-events:none;padding:10px 12px;font-size:12px;font-weight:400;line-height:1.55;position:fixed}.info-tooltip-layer.is-top{transform-origin:bottom}.info-tooltip-layer.is-bottom{transform-origin:top}@media (width>=901px){.settings-layout{--settings-matrix-height:clamp(460px, 58svh, 700px)}}@media (width<=1180px){.settings-buckets-workbench{grid-template-columns:minmax(0,1fr);height:auto;max-height:none}.settings-buckets-grid{grid-template-columns:minmax(0,1fr);height:auto;padding-right:0;overflow:visible}}@media (width>=1280px){.settings-layout{--settings-matrix-height:clamp(520px, calc(100svh - 320px), 800px)}}.empty-state,.loading-card,.error-card,.grants-card{font-size:15px;line-height:1.6}.loading-card{color:var(--color-text-muted)}.content-refresh-overlay{z-index:2;padding:var(--space-lg);border-radius:inherit;background:color-mix(in srgb, var(--color-surface) 78%, transparent);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.content-refresh-overlay .loading-state{border:1px solid var(--color-border-soft);border-radius:var(--radius-md);background:color-mix(in srgb, var(--color-surface) 96%, transparent);box-shadow:var(--shadow-sm);color:var(--color-text-muted);padding:12px 16px;font-weight:600}.loading-state{align-items:center;gap:14px;display:inline-flex}.loading-card .loading-state{justify-content:center;width:100%;min-height:100px;font-weight:500}.loading-spinner{border:2.5px solid var(--color-border-soft);border-top-color:var(--accent);border-radius:50%;flex:0 0 18px;width:18px;height:18px;animation:.7s linear infinite loading-spin}.error-card{color:var(--color-error-text);background:var(--color-error-bg);border-color:var(--color-error-border)}.content-error-banner{border:1px solid var(--color-error-border);border-radius:var(--radius-md);background:var(--color-error-bg);color:var(--color-error-text);margin-bottom:16px;padding:12px 14px;font-size:14px;line-height:1.5}.empty-state{padding:var(--space-2xl) var(--space-lg);text-align:center;color:var(--color-text-muted);background:var(--color-surface-muted);border-radius:var(--radius-md);font-weight:500}.grants-card .empty-state{margin-top:var(--space-md)}.grants-layout{gap:var(--space-lg);display:grid}.grants-hero-card{background:var(--color-hero-bg);position:relative}.grants-hero-grid{gap:var(--space-lg);grid-template-columns:minmax(0,1.3fr) minmax(300px,.9fr);align-items:stretch;display:grid}.grants-hero-copy{gap:var(--space-md);display:grid}.grants-hero-heading{grid-template-columns:1fr;gap:10px;margin-bottom:0;display:grid}.grants-hero-card,.grants-review-card,.grants-table-card,.grants-chart-card{overflow:hidden}.grants-grid-two{gap:var(--space-lg);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.grants-method-card{gap:var(--space-md);display:grid}.grants-method-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.grants-mini-metrics{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.grants-mini-metric{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-muted);padding:14px 16px}.grants-mini-metric span{color:var(--color-text-muted);letter-spacing:.08em;text-transform:uppercase;margin-bottom:4px;font-size:11px;font-weight:700;display:block}.grants-mini-metric strong{font-family:var(--font-display);color:var(--color-text);font-size:22px}.grants-chip-list{margin-top:var(--space-md);flex-wrap:wrap;gap:8px;display:flex}.grants-chip{border:1px solid var(--color-border-soft);background:var(--color-surface-muted);color:var(--color-text-muted);border-radius:999px;align-items:center;padding:7px 12px;font-size:12px;font-weight:600;line-height:1.4;display:inline-flex}.grants-tab-row{flex-wrap:wrap;gap:8px;display:flex}.grants-spotlight-card{gap:var(--space-md);border-radius:var(--radius-lg);background:linear-gradient(165deg, var(--navy-900) 0%, var(--navy-800) 100%);color:var(--white);box-shadow:var(--shadow-lg);padding:24px;display:grid}.grants-spotlight-card p{color:#ffffffb8}.grants-spotlight-label{letter-spacing:.12em;text-transform:uppercase;color:#ffffffad;font-size:11px;font-weight:700}.grants-spotlight-value{font-family:var(--font-display);letter-spacing:-.04em;font-size:clamp(34px,4vw,48px);line-height:1}.grants-spotlight-stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.grants-spotlight-stat{border-radius:var(--radius-md);background:#ffffff0d;border:1px solid #ffffff14;padding:12px 14px}.grants-spotlight-stat span{color:#ffffffad;letter-spacing:.08em;text-transform:uppercase;margin-bottom:4px;font-size:11px;font-weight:700;display:block}.grants-spotlight-stat strong{font-family:var(--font-display);color:var(--white);font-size:22px}.grants-signal-grid{margin-top:var(--space-lg);grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.grants-signal-card{border:1px solid var(--color-signal-border);border-radius:var(--radius-md);background:var(--color-signal-bg);box-shadow:var(--color-panel-shadow);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);padding:16px 18px}.grants-signal-card span{color:var(--color-text-muted);letter-spacing:.08em;text-transform:uppercase;margin-bottom:4px;font-size:11px;font-weight:700;display:block}.grants-signal-card strong{font-family:var(--font-display);color:var(--color-text);margin-bottom:6px;font-size:24px;display:block}.grants-signal-card p{color:var(--color-text-muted);font-size:13px;line-height:1.5}.grants-card-actions{align-items:center;gap:10px;display:flex}.grants-chart-card{flex-direction:column;min-height:0;display:flex}.grants-chart-area{min-height:300px}.grants-chart-footer{margin-top:var(--space-sm)}.grants-chart-metrics{color:var(--color-text-muted);flex-wrap:wrap;gap:10px;font-size:13px;font-weight:500;display:flex}.grants-review-toolbar{margin-top:var(--space-md);margin-bottom:var(--space-md);grid-template-columns:repeat(3,minmax(0,1fr)) auto;align-items:end;gap:12px;display:grid}.grants-filter-field{flex-direction:column;gap:6px;display:flex}.grants-filter-field span{letter-spacing:.04em;text-transform:uppercase;color:var(--color-text-muted);font-size:12px;font-weight:700}.grants-select{border:1px solid var(--color-border-soft);border-radius:var(--radius-sm);background:var(--color-field-bg);width:100%;min-height:42px;color:var(--color-text);transition:border-color var(--duration-fast) var(--ease-out), box-shadow var(--duration-fast) var(--ease-out);padding:9px 12px}.grants-select:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--color-focus-ring);outline:none}.grants-review-count{border:1px solid var(--color-border-soft);border-radius:var(--radius-sm);background:var(--color-surface-muted);flex-direction:column;justify-content:center;align-items:flex-start;min-height:42px;padding:9px 14px;display:flex}.grants-review-count span{letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-muted);font-size:11px;font-weight:700}.grants-review-count strong{font-family:var(--font-display);color:var(--color-text);font-size:18px}.grants-review-note{margin-bottom:var(--space-md);border-radius:var(--radius-md);background:var(--color-surface-muted);color:var(--color-text-muted);padding:14px 16px;line-height:1.65}.grants-table-shell{max-height:680px}.grants-data-table{min-width:960px}.grants-review-table{min-width:1480px}.grants-empty-cell{text-align:center;color:var(--color-text-muted);background:var(--color-surface-muted);font-weight:500;padding:var(--space-2xl) var(--space-lg)!important}@keyframes loading-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.loading-spinner,.content-stack,.panel-card{animation:none}}@media (width<=1200px){.app-shell,.app-shell.is-sidebar-collapsed{grid-template-columns:1fr}.app-shell.is-mobile-viewport{grid-template-columns:1fr;position:relative}.app-shell.is-mobile-viewport .sidebar{z-index:50;gap:var(--space-md);max-height:100dvh;padding:calc(76px + env(safe-area-inset-top)) 0 calc(var(--space-xl) + env(safe-area-inset-bottom));border-style:solid;border-width:0 0 1px;border-color:var(--color-sidebar-border);box-shadow:var(--shadow-lg);opacity:0;visibility:hidden;pointer-events:none;border-radius:0;position:fixed;top:0;left:0;right:0;overflow-y:auto;transform:translateY(-100%)}.app-shell.is-mobile-viewport.is-mobile-sidebar-open .sidebar{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0)}.app-shell.is-mobile-viewport .sidebar-toggle-floating{top:max(var(--space-md), env(safe-area-inset-top));left:var(--space-lg);z-index:60}.app-shell.is-mobile-viewport .brand-block,.app-shell.is-mobile-viewport .sidebar-footer{padding-left:var(--space-lg);padding-right:var(--space-lg)}.app-shell.is-mobile-viewport .sidebar-nav-button{padding-left:var(--space-lg);padding-right:var(--space-lg);border-radius:0}.app-shell.is-mobile-viewport .main-shell{padding:88px var(--space-lg) var(--space-xl)}.indicator-master-detail{grid-template-columns:1fr;height:auto}.grants-grid-two,.grants-hero-grid{grid-template-columns:1fr}.grants-method-grid,.grants-mini-metrics,.grants-signal-grid,.grants-spotlight-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.indicator-mobile-picker{margin-bottom:var(--space-md)}.indicator-mobile-select-shell{gap:8px;display:grid}.indicator-mobile-select-label{letter-spacing:.1em;text-transform:uppercase;color:var(--color-text-muted);padding:0 2px;font-size:10px;font-weight:700}.indicator-mobile-select-wrap{align-items:center;display:flex;position:relative}.indicator-mobile-select{border:1px solid var(--color-border-soft);border-radius:var(--radius-md);background:var(--color-surface);width:100%;min-height:52px;box-shadow:var(--shadow-sm);color:var(--color-text);font:inherit;appearance:none;transition:border-color var(--duration-fast) var(--ease-out), box-shadow var(--duration-fast) var(--ease-out);padding:0 48px 0 16px;font-size:14px;font-weight:600;line-height:1.4}.indicator-mobile-select:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--color-focus-ring);outline:none}.indicator-mobile-select-chevron{width:20px;height:20px;color:var(--color-text-muted);pointer-events:none;display:inline-flex;position:absolute;top:50%;right:16px;transform:translateY(-50%)}.indicator-mobile-select-chevron svg{width:100%;height:100%}}@media (width<=992px){.page-header h1{font-size:32px}.kpi-grid,.detail-meta{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-create-form,.admin-users-row,.developer-task-grid{grid-template-columns:1fr}.developer-toolbar-row,.developer-toolbar-actions,.developer-controls{align-items:stretch}.developer-search-input,.developer-level-field,.developer-level-select{width:100%;min-width:0}.admin-users-row-header{display:none}}@media (width<=900px){.main-shell{padding:var(--space-lg) var(--space-lg)}.app-shell.is-mobile-viewport .sidebar{padding:calc(72px + env(safe-area-inset-top)) 0 calc(var(--space-lg) + env(safe-area-inset-bottom));left:0;right:0}.app-shell.is-mobile-viewport .brand-block,.app-shell.is-mobile-viewport .sidebar-footer,.app-shell.is-mobile-viewport .sidebar-nav-button{padding-left:var(--space-md);padding-right:var(--space-md)}.app-shell.is-sidebar-collapsed .main-shell{padding-left:76px}.sidebar-toggle-floating{top:var(--space-md);left:var(--space-md)}.app-shell.is-mobile-viewport .main-shell{padding:72px var(--space-md) var(--space-xl)}.page-header,.section-heading,.source-card{grid-template-columns:1fr;display:grid}.indicator-master-detail,.kpi-grid,.detail-meta,.settings-grid,.grants-method-grid,.grants-grid-two,.grants-mini-metrics,.grants-signal-grid,.grants-spotlight-stats,.grants-review-toolbar{grid-template-columns:1fr}.settings-inline-row,.settings-inline-actions{flex-wrap:wrap}.settings-inline-actions{margin-left:0}.field-card .settings-short-input{width:100%}.asjc-matrix thead th:nth-child(2),.asjc-matrix tbody th{min-width:200px}.settings-layout{--settings-matrix-height:clamp(390px, 54svh, 600px)}.page-header h1{font-size:28px}.auth-primary-actions{grid-template-columns:minmax(0,1fr)}.auth-shell{padding:20px}.auth-stage{grid-template-columns:1fr}.auth-card{border-radius:22px;padding:22px 18px}.auth-brand h1{font-size:38px}}.main-shell::-webkit-scrollbar{width:6px;height:6px}.sidebar::-webkit-scrollbar{width:6px;height:6px}.asjc-matrix-shell::-webkit-scrollbar{width:6px;height:6px}.table-shell::-webkit-scrollbar{width:6px;height:6px}.main-shell::-webkit-scrollbar-track{background:0 0}.sidebar::-webkit-scrollbar-track{background:0 0}.asjc-matrix-shell::-webkit-scrollbar-track{background:0 0}.table-shell::-webkit-scrollbar-track{background:0 0}.main-shell::-webkit-scrollbar-thumb{background:var(--color-scrollbar);border-radius:999px}.asjc-matrix-shell::-webkit-scrollbar-thumb{background:var(--color-scrollbar);border-radius:999px}.table-shell::-webkit-scrollbar-thumb{background:var(--color-scrollbar);border-radius:999px}.sidebar::-webkit-scrollbar-thumb{background:var(--color-sidebar-scrollbar);border-radius:999px}.asjc-pob-cards{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px;margin-bottom:12px;display:grid}.asjc-pob-card{border-radius:var(--radius-md);border:1px solid var(--color-border-soft);background:var(--color-surface-muted);color:var(--color-text);text-align:left;cursor:pointer;transition:background var(--duration-fast) var(--ease-out), border-color var(--duration-fast) var(--ease-out), box-shadow var(--duration-fast) var(--ease-out), transform var(--duration-fast) var(--ease-out);flex-direction:column;gap:10px;min-width:0;padding:12px 14px;display:flex}.asjc-pob-card:hover{border-color:color-mix(in srgb, var(--accent) 40%, var(--color-border-soft));background:color-mix(in srgb, var(--accent) 6%, var(--color-surface-muted));transform:translateY(-1px)}.asjc-pob-card:focus-visible{border-color:color-mix(in srgb, var(--accent) 55%, var(--color-border-soft));outline:none;box-shadow:0 0 0 4px #c05a2c1f}.asjc-pob-card.is-active{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 12%, var(--color-surface-muted));box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--accent) 16%, transparent), inset 0 4px 0 0 var(--accent)}.asjc-pob-card-heading{flex-direction:column;gap:4px;min-width:0;display:flex}.asjc-pob-card-id{letter-spacing:.02em;color:var(--accent);font-size:13px;font-weight:700}.asjc-pob-card.is-active .asjc-pob-card-id{color:color-mix(in srgb, var(--accent) 85%, var(--color-text))}.asjc-pob-card-filter-copy{background:color-mix(in srgb, var(--color-text-muted) 10%, transparent);width:fit-content;color:var(--color-text-muted);border-radius:999px;align-items:center;padding:2px 8px;font-size:10.5px;font-weight:600;line-height:1.4;display:inline-flex}.asjc-pob-card-filter-copy.is-active{background:color-mix(in srgb, var(--accent) 16%, transparent);color:color-mix(in srgb, var(--accent) 82%, var(--color-text))}.asjc-pob-card-stats{flex-wrap:wrap;gap:10px;display:flex}.asjc-pob-card-stat{flex-direction:column;gap:1px;min-width:0;display:flex}.asjc-pob-card-stat-value{color:var(--color-text);font-variant-numeric:tabular-nums;font-size:15px;font-weight:600;line-height:1.1}.asjc-pob-card-stat-label{text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-muted);font-size:10px}.asjc-pob-card-top{color:var(--color-text-muted);border-top:1px dashed var(--color-border-soft);align-items:baseline;gap:6px;min-width:0;padding-top:6px;font-size:11px;display:flex}.asjc-pob-card-top-label{text-transform:uppercase;letter-spacing:.05em;flex-shrink:0;font-weight:600}.asjc-pob-card-top-value{color:var(--color-text);text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.asjc-matrix-toolbar{background:var(--color-surface-muted);border:1px solid var(--color-border-soft);border-radius:var(--radius-md);flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:12px;padding:10px 14px;display:flex}.asjc-matrix-search{flex:260px;min-width:220px;position:relative}.asjc-matrix-search input{border:1px solid var(--color-border-soft);background:var(--color-field-bg);width:100%;color:var(--color-text);transition:border-color var(--duration-fast) var(--ease-out), box-shadow var(--duration-fast) var(--ease-out);border-radius:999px;padding:8px 32px 8px 12px;font-size:13px;line-height:1.3}.asjc-matrix-search input:focus{border-color:color-mix(in srgb, var(--accent) 55%, var(--color-border-soft));outline:none;box-shadow:0 0 0 4px #c05a2c1a}.asjc-matrix-search-clear{width:20px;height:20px;color:var(--color-text-muted);cursor:pointer;background:0 0;border:0;border-radius:999px;padding:0;font-size:18px;line-height:1;position:absolute;top:50%;right:8px;transform:translateY(-50%)}.asjc-matrix-search-clear:hover{background:color-mix(in srgb, var(--color-text-muted) 16%, transparent);color:var(--color-text)}.asjc-matrix-filter{background:var(--color-field-bg);border:1px solid var(--color-border-soft);border-radius:999px;align-items:stretch;gap:2px;padding:2px;display:inline-flex}.asjc-matrix-filter-button{color:var(--color-text-muted);cursor:pointer;transition:background-color var(--duration-fast) var(--ease-out), color var(--duration-fast) var(--ease-out);background:0 0;border:0;border-radius:999px;padding:6px 14px;font-size:12.5px;font-weight:600}.asjc-matrix-filter-button:hover{color:var(--color-text);background:color-mix(in srgb, var(--accent) 8%, transparent)}.asjc-matrix-filter-button.is-active{background:var(--accent);color:#fff}.asjc-matrix-sort{color:var(--color-text-muted);align-items:center;gap:6px;font-size:12px;display:inline-flex}.asjc-matrix-sort-label{font-weight:600}.asjc-matrix-sort select{border:1px solid var(--color-border-soft);background:var(--color-field-bg);color:var(--color-text);cursor:pointer;border-radius:999px;padding:6px 10px;font-size:12.5px;font-weight:600}.asjc-matrix-sort select:focus{border-color:color-mix(in srgb, var(--accent) 55%, var(--color-border-soft));outline:none;box-shadow:0 0 0 4px #c05a2c1a}.asjc-matrix-count{color:var(--color-text-muted);font-variant-numeric:tabular-nums;margin-left:auto;font-size:12px;font-weight:600}.asjc-subcategory-row.is-flat th,.asjc-subcategory-row.is-flat td{background:var(--color-surface)}.asjc-subcategory-label.is-flat{padding-left:4px}.asjc-flat-group-name{color:var(--color-text-muted);letter-spacing:.01em;text-transform:uppercase;margin-right:6px;font-size:11px;font-weight:600}.asjc-flat-separator{color:var(--color-text-muted);margin-right:6px}.asjc-matrix-empty{text-align:center;color:var(--color-text-muted);padding:32px 16px;font-style:italic}.asjc-assignment-pill{background:color-mix(in srgb, var(--accent) 16%, transparent);color:var(--accent);letter-spacing:.03em;text-transform:uppercase;border-radius:999px;flex:none;align-items:center;padding:1px 8px;font-size:10.5px;font-weight:700;line-height:1.5;display:inline-flex}.asjc-assignment-pill.is-empty{background:var(--color-surface-muted);color:var(--color-text-muted);border:1px dashed color-mix(in srgb, var(--color-text-muted) 35%, transparent);text-transform:none;font-weight:600}.asjc-matrix-select-col{text-align:center;width:28px;padding-left:6px!important;padding-right:2px!important}.asjc-select-all,.asjc-select-row{width:16px;height:16px;accent-color:var(--accent);cursor:pointer}.asjc-select-row:hover,.asjc-select-all:hover{filter:brightness(1.08)}.asjc-subcategory-row.is-selected>th,.asjc-subcategory-row.is-selected>td,.asjc-group-row.is-selected.is-leaf>th,.asjc-group-row.is-selected.is-leaf>td{background:color-mix(in srgb, var(--accent) 12%, transparent)}.asjc-subcategory-row>th,.asjc-subcategory-row.is-flat>th{cursor:pointer}.asjc-matrix-pob-col{vertical-align:middle}.asjc-pob-heading{align-items:center;gap:4px;display:inline-flex}.asjc-matrix-kbd-hint{color:var(--color-text-muted);background:0 0;border:0;border-radius:999px;align-items:center;gap:4px;margin-left:auto;padding:2px 0;font-size:11px;line-height:1;display:inline-flex}.asjc-matrix-kbd-hint kbd{border:1px solid var(--color-border-soft);background:var(--color-surface-muted);min-width:18px;height:18px;color:var(--color-text);box-shadow:inset 0 -1px 0 var(--color-border-soft);border-radius:4px;justify-content:center;align-items:center;padding:0 5px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:10.5px;font-weight:600;display:inline-flex}.asjc-matrix-kbd-hint-label{text-transform:lowercase;font-size:11px}.asjc-matrix-kbd-hint-sep{opacity:.5;margin:0 2px}.asjc-subcategory-meta .asjc-stats-badge{background:color-mix(in srgb, var(--accent) 5%, var(--color-surface-muted))}.asjc-subcategory-meta.is-leaf .asjc-stats-badge{margin-top:2px}.asjc-matrix-bulkbar{background:color-mix(in srgb, var(--accent) 12%, var(--color-surface-muted));border:1px solid color-mix(in srgb, var(--accent) 40%, var(--color-border-soft));border-radius:var(--radius-md);animation:asjc-bulkbar-slide .16s var(--ease-out);flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:12px;padding:10px 14px;display:flex;box-shadow:0 2px 8px #c05a2c14}@keyframes asjc-bulkbar-slide{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.asjc-matrix-bulkbar-count{color:var(--color-text);background:var(--color-surface);border:1px solid var(--color-border-soft);font-variant-numeric:tabular-nums;border-radius:999px;padding:4px 10px;font-size:13px;font-weight:700}.asjc-matrix-bulkbar-label{color:var(--color-text);font-size:13px;font-weight:600}.asjc-matrix-bulkbar-actions{flex-wrap:wrap;gap:6px;display:inline-flex}.asjc-matrix-bulkbar-pob{border:1px solid var(--color-border-soft);background:var(--color-surface);color:var(--color-text);cursor:pointer;transition:background var(--duration-fast) var(--ease-out), border-color var(--duration-fast) var(--ease-out), transform var(--duration-fast) var(--ease-out);border-radius:8px;align-items:center;gap:6px;padding:6px 10px;font-size:12px;font-weight:700;display:inline-flex}.asjc-matrix-bulkbar-pob:hover{background:var(--accent);border-color:var(--accent);color:#fff;transform:translateY(-1px)}.asjc-matrix-bulkbar-pob:hover kbd{color:#fff;background:#ffffff2e;border-color:#ffffff59}.asjc-matrix-bulkbar-pob:focus-visible{outline:none;box-shadow:0 0 0 3px #c05a2c40}.asjc-matrix-bulkbar-pob-id{font-weight:700}.asjc-matrix-bulkbar-pob kbd{border:1px solid var(--color-border-soft);background:var(--color-surface-muted);min-width:16px;height:16px;color:var(--color-text-muted);border-radius:4px;justify-content:center;align-items:center;padding:0 4px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:10px;font-weight:600;line-height:1;display:inline-flex}.asjc-matrix-bulkbar-secondary{align-items:center;gap:6px;margin-left:auto;display:inline-flex}.asjc-matrix-bulkbar-clear{border:1px solid var(--color-border-soft);background:var(--color-surface);color:var(--color-text-muted);cursor:pointer;border-radius:8px;align-items:center;gap:6px;padding:6px 10px;font-size:12px;font-weight:600;display:inline-flex}.asjc-matrix-bulkbar-clear:hover{background:var(--color-surface-muted);color:var(--color-text)}.asjc-matrix-bulkbar-clear kbd{border:1px solid var(--color-border-soft);background:var(--color-surface-muted);min-width:16px;height:16px;color:var(--color-text-muted);border-radius:4px;justify-content:center;align-items:center;padding:0 4px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:10px;font-weight:600;display:inline-flex}.asjc-matrix-bulkbar-cancel{border:1px solid var(--color-border-soft);background:var(--color-surface);width:24px;height:24px;color:var(--color-text-muted);cursor:pointer;border-radius:6px;padding:0;font-size:16px;line-height:1}.asjc-matrix-bulkbar-cancel:hover{background:var(--color-surface-muted);color:var(--color-text)}
