@keyframes pulse{0%,to{opacity:.4}50%{opacity:.15}}.fin-skeleton{animation:1.5s ease-in-out infinite pulse}.fin-shell{flex-direction:column;flex:1;min-height:0;display:flex}.fin-sub-nav{background:var(--ns-surface);border-bottom:1px solid var(--ns-border);flex-shrink:0;align-items:center;gap:2px;height:36px;padding:0 20px;display:flex}.fin-tab{cursor:pointer;color:var(--ns-text-45);white-space:nowrap;background:0 0;border:none;border-radius:6px;padding:5px 14px;font-size:10px;font-weight:600;transition:all .15s cubic-bezier(.22,1,.36,1)}.fin-tab:hover{color:var(--ns-text-70);background:var(--ns-surface-h)}.fin-tab[data-active=true]{color:var(--ns-text-100);background:var(--ns-surface-h);box-shadow:0 0 0 1px var(--ns-border)}.fin-sub-right{align-items:center;gap:8px;margin-left:auto;display:flex}.fin-date{font-size:10px;font-family:var(--font-geist-mono), monospace;color:var(--ns-text-45)}.fin-period-pills{background:var(--ns-surface);box-shadow:0 0 0 1px var(--ns-border), var(--ns-inset-glow);border-radius:7px;gap:1px;padding:2px;display:flex}.fin-pp{cursor:pointer;color:var(--ns-text-45);background:0 0;border:none;border-radius:5px;padding:3px 10px;font-size:9px;font-weight:600;transition:all .15s cubic-bezier(.22,1,.36,1)}.fin-pp[data-active=true]{color:var(--ns-text-100);background:var(--ns-surface-h);box-shadow:0 0 0 1px var(--ns-border)}.fin-pp:hover:not([data-active=true]){color:var(--ns-text-70)}.fin-layout{flex:1;display:flex;overflow:hidden}.fin-main{scrollbar-width:thin;flex-direction:column;flex:1;gap:16px;padding:16px 20px;display:flex;overflow-y:auto}.fin-sidebar{border-left:1px solid var(--ns-border);background:color-mix(in srgb, var(--ns-surface) 50%, transparent);scrollbar-width:thin;flex-direction:column;flex-shrink:0;gap:12px;width:280px;padding:14px;display:flex;overflow-y:auto}.fin-g2{grid-template-columns:1fr 1fr;gap:10px;display:grid}.fin-g3{grid-template-columns:1fr 1fr 1fr;gap:20px;display:grid}.fin-kpi-row{grid-template-columns:repeat(5,1fr);gap:10px;display:grid}.fin-kp{background:var(--ns-surface);box-shadow:0 0 0 1px var(--ns-border), var(--ns-inset-glow);border-radius:9px;padding:12px 14px}.fin-kp-label{text-transform:uppercase;letter-spacing:.04em;color:var(--ns-text-45);margin-bottom:4px;font-size:9px;font-weight:600}.fin-kp-value{font-size:20px;font-weight:700;font-family:var(--font-geist-mono), monospace;letter-spacing:-.02em}.fin-kp-sub{color:var(--ns-text-45);margin-top:6px;font-size:10px}.fin-delta{border-radius:100px;align-items:center;margin-left:6px;padding:1px 6px;font-size:9px;font-weight:600;display:inline-flex}.fin-delta-pos{background:var(--ns-positive-bg);color:var(--ns-positive)}.fin-delta-neg{background:var(--ns-danger-bg);color:var(--ns-danger)}.fin-delta-warn{background:var(--ns-warning-bg);color:var(--ns-warning)}.fin-spark{align-items:flex-end;gap:2px;height:28px;margin-top:6px;display:flex}.fin-spark-bar{border-radius:2px;flex:1;transition:all .3s cubic-bezier(.22,1,.36,1)}.fin-spark-bar:hover{opacity:.8;transform-origin:bottom;transform:scaleY(1.1)}.fin-badge{border-radius:100px;align-items:center;padding:2px 7px;font-size:9px;font-weight:600;display:inline-flex}.fin-badge-info{background:var(--ns-info-bg);color:var(--ns-info)}.fin-badge-pos{background:var(--ns-positive-bg);color:var(--ns-positive)}.fin-badge-warn{background:var(--ns-warning-bg);color:var(--ns-warning)}.fin-badge-accent{background:var(--ns-accent-bg);color:var(--ns-accent)}.fin-badge-crit{background:color-mix(in srgb, var(--ns-danger) 12%, transparent);color:var(--ns-danger)}.fin-badge-muted{background:var(--ns-surface-h);color:var(--ns-text-45)}.fin-pl-row{justify-content:space-between;align-items:center;padding:5px 0;display:flex}.fin-pl-label{color:var(--ns-text-70);font-size:11px}.fin-pl-val{font-size:11px;font-family:var(--font-geist-mono), monospace;font-variant-numeric:tabular-nums;color:var(--ns-text-70)}.fin-pl-header{color:var(--ns-text-100);border-bottom:1px solid var(--ns-border);padding:6px 0 3px;font-size:11px;font-weight:700}.fin-pl-sub{padding-left:14px}.fin-pl-total{color:var(--ns-text-100);border-top:1px solid var(--ns-border);margin-top:2px;padding-top:5px;font-weight:700}.fin-pl-highlight-pos{background:color-mix(in srgb, var(--ns-positive) 4%, transparent);border-radius:6px;margin:0 -14px;padding:6px 14px}.fin-pl-highlight-neg{background:color-mix(in srgb, var(--ns-danger) 4%, transparent);border-radius:6px;margin:0 -14px;padding:6px 14px}.fin-aging-row{align-items:center;gap:8px;padding:4px 0;display:flex}.fin-aging-label{color:var(--ns-text-45);min-width:50px;font-size:10px}.fin-aging-bar{background:var(--ns-surface-h);border-radius:4px;flex:1;height:8px;overflow:hidden}.fin-aging-fill{border-radius:4px;height:100%;transition:width .6s cubic-bezier(.22,1,.36,1)}.fin-aging-val{font-size:10px;font-family:var(--font-geist-mono), monospace;color:var(--ns-text-70);text-align:right;min-width:60px}.fin-table{border-collapse:collapse;width:100%}.fin-table th{text-transform:uppercase;letter-spacing:.04em;color:var(--ns-text-45);text-align:left;border-bottom:1px solid var(--ns-border);padding:7px 10px;font-size:9px;font-weight:700}.fin-table td{color:var(--ns-text-70);border-bottom:1px solid var(--ns-border);padding:8px 10px;font-size:11px}.fin-table tr:hover td{background:var(--ns-surface)}.fin-table tr{cursor:pointer;transition:all .15s cubic-bezier(.22,1,.36,1)}.fin-table .r{text-align:right}.fin-gauge{flex-direction:column;align-items:center;gap:4px;display:flex}.fin-gauge-ring{width:60px;height:60px;position:relative}.fin-gauge-ring svg{transform:rotate(-90deg)}.fin-gauge-val{font-size:12px;font-weight:700;font-family:var(--font-geist-mono), monospace;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.fin-gauge-label{text-transform:uppercase;letter-spacing:.04em;color:var(--ns-text-45);text-align:center;font-size:8px;font-weight:700}.fin-sh{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.fin-action-btn{color:var(--ns-accent);background:var(--ns-accent-bg);cursor:pointer;box-shadow:0 0 0 1px color-mix(in srgb, var(--ns-accent) 15%, transparent);border:none;border-radius:7px;padding:3px 10px;font-size:9px;font-weight:600;transition:all .15s cubic-bezier(.22,1,.36,1)}.fin-action-btn:hover,.fin-action-btn[data-active=true]{background:color-mix(in srgb, var(--ns-accent) 15%, transparent)}.fin-feed-item{cursor:pointer;border-radius:6px;gap:8px;padding:7px 0;transition:background .15s cubic-bezier(.22,1,.36,1);display:flex}.fin-feed-item:hover{background:var(--ns-surface-h);margin:0 -6px;padding:7px 6px}.fin-feed-dot{border-radius:50%;flex-shrink:0;width:6px;height:6px;margin-top:5px}.fin-feed-text{color:var(--ns-text-70);font-size:11px;line-height:1.4}.fin-feed-text strong{color:var(--ns-text-100);font-weight:600}.fin-feed-time{font-size:9px;font-family:var(--font-geist-mono), monospace;color:var(--ns-text-45);margin-top:2px}.fin-insight{border-radius:9px;padding:10px}.fin-insight-warn{background:color-mix(in srgb, var(--ns-warning) 4%, transparent);box-shadow:0 0 0 1px color-mix(in srgb, var(--ns-warning) 8%, transparent)}.fin-insight-pos{background:color-mix(in srgb, var(--ns-positive) 4%, transparent);box-shadow:0 0 0 1px color-mix(in srgb, var(--ns-positive) 8%, transparent)}.fin-insight-neg{background:color-mix(in srgb, var(--ns-danger) 4%, transparent);box-shadow:0 0 0 1px color-mix(in srgb, var(--ns-danger) 8%, transparent)}.fin-insight-cat{text-transform:uppercase;letter-spacing:.04em;margin-bottom:4px;font-size:8px;font-weight:700}.fin-insight-text{color:var(--ns-text-70);font-size:11px;font-style:italic;line-height:1.5}.fin-qa-btn{text-align:center;width:100%;color:var(--ns-accent);background:var(--ns-accent-bg);cursor:pointer;box-shadow:0 0 0 1px color-mix(in srgb, var(--ns-accent) 15%, transparent);border:none;border-radius:7px;padding:8px;font-size:9px;font-weight:600;transition:all .15s cubic-bezier(.22,1,.36,1)}.fin-qa-btn:hover{background:color-mix(in srgb, var(--ns-accent) 15%, transparent)}.fin-divider{border-top:1px solid var(--ns-border);margin:6px 0}@media (max-width:1280px){.fin-sidebar{display:none}.fin-kpi-row{grid-template-columns:repeat(3,1fr)}}@media (max-width:1024px){.fin-kpi-row{grid-template-columns:repeat(2,1fr)}.fin-g2,.fin-g3{grid-template-columns:1fr}}
