*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--aero-color-primary-bg);color:var(--aero-color-text-primary);font-family:var(--aero-font-body-family);font-size:var(--aero-font-body-size);-webkit-font-smoothing:antialiased}a{color:inherit}.aero-input{display:block;width:100%;background:var(--aero-color-secondary-bg);border:1px solid var(--aero-color-border-medium);border-radius:8px;color:var(--aero-color-text-primary);font-family:var(--aero-font-body-family);font-size:var(--aero-font-body-size);padding:9px 12px}.aero-input:focus{outline:none;border-color:var(--aero-color-blue)}.aero-field{display:flex;flex-direction:column;gap:6px;margin-bottom:14px;font-family:var(--aero-font-label-family);font-size:var(--aero-font-label-size);color:var(--aero-color-text-secondary)}.aero-button{display:inline-flex;align-items:center;justify-content:center;border-radius:8px;border:1px solid var(--aero-color-border-medium);background:transparent;color:var(--aero-color-text-primary);font-family:var(--aero-font-body-md-family);font-size:var(--aero-font-body-size);font-weight:var(--aero-font-body-md-weight);padding:9px 16px;cursor:pointer}.aero-button:hover{background:var(--aero-color-elevated-bg)}.aero-button:disabled{opacity:.6;cursor:not-allowed}.aero-button-primary{background:var(--aero-color-blue);border-color:var(--aero-color-blue);color:#fff}.aero-button-primary:hover{background:var(--aero-color-blue-dim);border-color:var(--aero-color-blue-dim)}.aero-alert{background:color-mix(in srgb,var(--aero-color-red) 15%,transparent);border:1px solid color-mix(in srgb,var(--aero-color-red) 45%,transparent);color:var(--aero-color-red);border-radius:8px;padding:10px 14px;font-size:var(--aero-font-caption-size);margin-bottom:14px}.aero-shell{display:flex;min-height:100vh}.aero-shell-sidebar{width:var(--aero-layout-sidebar-width);flex-shrink:0;background:var(--aero-color-secondary-bg);border-right:1px solid var(--aero-color-border-subtle);padding:20px 12px;display:flex;flex-direction:column;gap:24px}.aero-shell-brand{font-size:var(--aero-font-h3-size);font-weight:var(--aero-font-h3-weight);font-family:var(--aero-font-h3-family);color:var(--aero-color-text-primary);padding:0 8px}.aero-shell-nav{display:flex;flex-direction:column;gap:2px}.aero-shell-nav-link{display:block;padding:8px 10px;border-radius:8px;text-decoration:none;color:var(--aero-color-text-secondary);font-size:var(--aero-font-body-md-size);font-family:var(--aero-font-body-md-family);font-weight:var(--aero-font-body-md-weight)}.aero-shell-nav-link:hover{background:var(--aero-color-elevated-bg);color:var(--aero-color-text-primary)}.aero-shell-nav-link-active{background:var(--aero-color-elevated-bg);color:var(--aero-color-blue-light)}.aero-shell-main{flex:1;display:flex;flex-direction:column;min-width:0}.aero-shell-topbar{display:flex;justify-content:flex-end;align-items:center;gap:16px;padding:14px 24px;border-bottom:1px solid var(--aero-color-border-subtle)}.aero-shell-identity{color:var(--aero-color-text-secondary);font-size:var(--aero-font-caption-size);font-family:var(--aero-font-caption-family)}.aero-shell-signout{background:transparent;border:1px solid var(--aero-color-border-medium);color:var(--aero-color-text-primary);border-radius:8px;padding:6px 12px;font-size:var(--aero-font-caption-size);font-family:var(--aero-font-caption-family);cursor:pointer}.aero-shell-signout:hover{background:var(--aero-color-elevated-bg)}.aero-shell-content{flex:1;max-width:var(--aero-layout-content-max-width-wide);width:100%;margin:0 auto;padding:28px 24px}.aero-auth-layout{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px}.aero-auth-card{width:100%;max-width:360px;background:var(--aero-color-card-bg);border:1px solid var(--aero-color-border-subtle);border-radius:12px;padding:28px}.aero-auth-title{font-size:var(--aero-font-h2-size);font-weight:var(--aero-font-h2-weight);font-family:var(--aero-font-h2-family);color:var(--aero-color-text-primary);margin:0 0 20px}.aero-auth-footer{margin:18px 0 0;color:var(--aero-color-text-tertiary);font-size:var(--aero-font-caption-size);font-family:var(--aero-font-caption-family)}.aero-badge{display:inline-flex;align-items:center;padding:2px 10px;border-radius:999px;font-size:var(--aero-font-micro-size);font-weight:var(--aero-font-micro-weight);font-family:var(--aero-font-micro-family);text-transform:capitalize;border:1px solid transparent;white-space:nowrap}.aero-badge-positive{background:color-mix(in srgb,var(--aero-color-green) 18%,transparent);color:var(--aero-color-green-light);border-color:color-mix(in srgb,var(--aero-color-green) 40%,transparent)}.aero-badge-warning{background:color-mix(in srgb,var(--aero-color-amber) 18%,transparent);color:var(--aero-color-amber);border-color:color-mix(in srgb,var(--aero-color-amber) 40%,transparent)}.aero-badge-negative{background:color-mix(in srgb,var(--aero-color-red) 18%,transparent);color:var(--aero-color-red);border-color:color-mix(in srgb,var(--aero-color-red) 40%,transparent)}.aero-badge-neutral{background:var(--aero-color-elevated-bg);color:var(--aero-color-text-secondary);border-color:var(--aero-color-border-medium)}.aero-card{background:var(--aero-color-card-bg);border:1px solid var(--aero-color-border-subtle);border-radius:12px;padding:20px}.aero-card+.aero-card{margin-top:0}.aero-card-header{font-size:var(--aero-font-h3-size);font-weight:var(--aero-font-h3-weight);font-family:var(--aero-font-h3-family);color:var(--aero-color-text-primary);margin:0 0 14px}.aero-chart{width:100%}.aero-chart-tooltip{background:var(--aero-color-elevated-bg);border:1px solid var(--aero-color-border-medium);border-radius:8px;padding:10px 12px;font-family:var(--aero-font-caption-family);font-size:var(--aero-font-caption-size);min-width:160px}.aero-chart-tooltip-label{color:var(--aero-color-text-secondary);margin-bottom:6px}.aero-chart-tooltip-row{display:flex;align-items:center;gap:8px;padding:2px 0}.aero-chart-tooltip-key{width:10px;height:2px;border-radius:1px;flex-shrink:0}.aero-chart-tooltip-value{font-family:var(--aero-font-metric-sm-family);font-weight:var(--aero-font-metric-sm-weight);color:var(--aero-color-text-primary)}.aero-chart-tooltip-name{color:var(--aero-color-text-tertiary);margin-left:auto}.aero-empty-state{padding:32px 16px;text-align:center;color:var(--aero-color-text-tertiary);font-size:var(--aero-font-body-size);font-family:var(--aero-font-body-family);border:1px dashed var(--aero-color-border-subtle);border-radius:10px}.aero-table{width:100%;border-collapse:collapse;font-size:var(--aero-font-body-size);font-family:var(--aero-font-body-family)}.aero-table th{text-align:left;font-size:var(--aero-font-label-size);font-family:var(--aero-font-label-family);font-weight:var(--aero-font-label-weight);color:var(--aero-color-text-secondary);text-transform:uppercase;letter-spacing:.04em;padding:10px 12px;border-bottom:1px solid var(--aero-color-border-medium)}.aero-table td{padding:10px 12px;border-bottom:1px solid var(--aero-color-border-subtle);color:var(--aero-color-text-primary)}.aero-table tbody tr:hover{background:var(--aero-color-elevated-bg)}.aero-table-right{text-align:right}.aero-page-header{margin-bottom:24px}.aero-page-title{font-size:var(--aero-font-display-sm-size);font-weight:var(--aero-font-display-sm-weight);font-family:var(--aero-font-display-sm-family);color:var(--aero-color-text-primary);margin:0 0 6px}.aero-page-description{color:var(--aero-color-text-secondary);font-size:var(--aero-font-body-size);font-family:var(--aero-font-body-family);margin:0;max-width:640px}.aero-stack{display:flex;flex-direction:column;gap:20px}.aero-stat-row{display:flex;gap:16px;flex-wrap:wrap}.aero-stat-row>*{flex:1 1 160px}.aero-stat-tile{background:var(--aero-color-card-bg);border:1px solid var(--aero-color-border-subtle);border-radius:12px;padding:16px 18px;display:flex;flex-direction:column;gap:6px}.aero-stat-tile-label{font-size:var(--aero-font-label-size);font-weight:var(--aero-font-label-weight);font-family:var(--aero-font-label-family);color:var(--aero-color-text-secondary);text-transform:uppercase;letter-spacing:.04em}.aero-stat-tile-value{font-size:var(--aero-font-metric-size);font-weight:var(--aero-font-metric-weight);font-family:var(--aero-font-metric-family);color:var(--aero-color-text-primary)}.aero-stat-tile-hint{font-size:var(--aero-font-caption-size);font-family:var(--aero-font-caption-family);color:var(--aero-color-text-tertiary)}
