:root{--sps-blue: #009cde;--sps-purple: #523178;--orap-orange: #f7941e;--orap-orange-press: #e07d05;--orap-blue: #449be1;--orap-blue-press: #2f86cf;--orap-gray: #8d8d8d;--orap-gray-press: #767676;--orap-red: #cc0000;--orap-red-press: #a80000;--orap-green: #1f9d57;--status-urgent: #cc0000;--status-caution: #f7941e;--status-onspec: #449be1;--status-unknown: #8a9097;--kpi-parts: #5b9bd5;--kpi-units: #7030a0;--kpi-urgent: #cc0000;--kpi-caution: #f7941e;--kpi-overdue: #ffc000;--ink: #32373b;--ink-2: #5a6066;--ink-3: #8a9097;--line: #d9dde1;--line-strong: #b6bcc2;--surface: #ffffff;--surface-2: #f4f6f8;--surface-3: #eceef1;--disabled-fill: #e5e5e5;--disabled-text: #b6b5b4;--bg: var(--surface-2);--page-bg: var(--surface-2);--card-bg: var(--surface);--border: var(--line);--text: var(--ink);--heading: var(--ink);--muted: var(--ink-2);--brand: var(--orap-blue);--brand-hover: var(--orap-blue-press);--accent-primary: var(--orap-orange);--avatar: var(--orap-blue);--badge-red: var(--orap-red);--header-border: var(--line);--nav: var(--ink-2);--urgent: #cc0000;--critical: #e8631a;--warning: #f7941e;--healthy: #1f9d57;--overdue: #7030a0;--font-heading: "Montserrat", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-body: "Roboto", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--radius-sm: 2px;--radius-md: 3px;--radius-lg: 6px;--shadow-sm: 0 1px 3px rgba(20,28,36,.1);font-family:var(--font-body);font-size:14px;color:var(--text)}*{box-sizing:border-box}body{margin:0;background:var(--page-bg)}a{color:var(--orap-blue);text-decoration:none}a:hover{text-decoration:underline}.app-header{background:#fff;color:var(--heading);border-bottom:1px solid var(--header-border);padding:0 1.5rem;height:56px;display:flex;align-items:center;gap:1.75rem}.header-left{display:flex;align-items:center;gap:10px}.brand-logo-box{display:inline-flex;align-items:center;background:var(--sps-blue);border:8px solid var(--sps-blue);border-radius:3px;line-height:0}.brand-logo{height:22px;width:auto;display:block}.brand-label-stack{display:flex;flex-direction:column;line-height:1}.brand-divider{width:1px;height:24px;background:var(--line)}.brand-label{color:var(--ink-3);font-family:var(--font-body);font-size:8.5px;font-weight:600;letter-spacing:.16em;text-transform:uppercase}.brand-sublabel{color:var(--orap-blue);font-family:var(--font-heading);font-size:11px;font-weight:700;letter-spacing:.05em;margin-bottom:1px}.app-nav{display:flex;align-items:center;gap:1.5rem;height:100%}.app-nav-item{position:relative;display:inline-flex;align-items:center;height:100%;color:var(--ink-2);font-family:var(--font-heading);font-size:.78rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase;text-decoration:none;cursor:pointer;-webkit-user-select:none;user-select:none;border:none;background:none}.app-nav-item:hover{color:var(--ink);text-decoration:none}.app-nav-item.is-active{color:var(--orap-blue)}.app-nav-item.is-active:after{content:"";position:absolute;left:0;right:0;bottom:0;height:3px;background:var(--orap-blue)}.header-right{display:flex;align-items:center;gap:.9rem;margin-left:auto}.notification-menu{position:relative}.header-bell{position:relative;display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;padding:0;border:1px solid transparent;border-radius:var(--radius-md);background:transparent;color:var(--ink-2);font-family:var(--font-body);font-size:1.1rem;line-height:1;cursor:pointer}.header-bell:hover,.header-bell[aria-expanded=true]{background:var(--surface-2);border-color:var(--line)}.header-bell:focus-visible{outline:2px solid var(--orap-blue);outline-offset:2px}.bell-badge{position:absolute;top:1px;right:0;background:var(--orap-red);color:#fff;font-family:var(--font-body);font-size:.62rem;font-weight:700;line-height:1;min-width:16px;height:16px;padding:0 4px;border-radius:9px;display:inline-flex;align-items:center;justify-content:center}.notification-dropdown{position:absolute;top:calc(100% + 8px);right:0;z-index:30;width:min(400px,calc(100vw - 24px));background:#fff;border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:0 12px 28px #32373b2e;overflow:hidden}.notification-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:58px;padding:.7rem .85rem;border-bottom:1px solid var(--line)}.notification-head>div{display:flex;flex-direction:column;gap:.12rem}.notification-head strong{color:var(--ink);font-family:var(--font-heading);font-size:.82rem}.notification-head span{color:var(--ink-3);font-size:.7rem}.notification-mark-all,.notification-load-more,.notification-state button{border:0;background:transparent;color:var(--orap-blue);font-family:var(--font-heading);font-size:.68rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;cursor:pointer}.notification-mark-all:disabled,.notification-load-more:disabled{color:var(--disabled-text);cursor:default}.notification-list{max-height:min(520px,calc(100vh - 96px));overflow-y:auto}.notification-item{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:start;gap:.65rem;width:100%;padding:.78rem .85rem;border:0;border-bottom:1px solid var(--line);background:#fff;color:var(--ink);font-family:var(--font-body);text-align:left;cursor:pointer}.notification-item:hover:not(:disabled){background:var(--surface-2)}.notification-item.is-unread{background:#449be10f}.notification-item.is-unread:hover:not(:disabled){background:#449be11c}.notification-item:disabled{cursor:wait;opacity:.72}.notification-dot{width:9px;height:9px;margin-top:.25rem;border-radius:999px;background:var(--status-caution)}.notification-dot.is-urgent{background:var(--status-urgent)}.notification-copy{display:flex;flex-direction:column;min-width:0;gap:.2rem}.notification-title{color:var(--ink);font-family:var(--font-heading);font-size:.76rem;font-weight:700}.notification-part,.notification-detail{overflow:hidden;color:var(--ink-2);font-size:.72rem;line-height:1.35;text-overflow:ellipsis;white-space:nowrap}.notification-detail{color:var(--ink-3)}.notification-unread-label{margin-top:.05rem;padding:.15rem .3rem;border-radius:999px;background:var(--orap-blue);color:#fff;font-size:.55rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.notification-load-more{width:100%;min-height:38px}.notification-state{display:flex;align-items:center;justify-content:center;gap:.65rem;min-height:92px;padding:1rem;color:var(--ink-3);font-size:.78rem;text-align:center}.notification-state.is-error,.notification-action-error{color:var(--orap-red)}.notification-action-error{padding:.55rem .85rem;border-top:1px solid var(--line);background:#cc00000d;font-size:.7rem}.notification-toast{position:absolute;top:calc(100% + 8px);right:0;z-index:31;display:flex;align-items:center;gap:.7rem;width:max-content;max-width:min(320px,calc(100vw - 24px));padding:.65rem .75rem;border:1px solid rgba(204,0,0,.3);border-radius:var(--radius-md);background:#fff;color:var(--orap-red);box-shadow:0 8px 20px #32373b26;font-size:.72rem}.notification-toast button{padding:0;border:0;background:transparent;color:var(--ink-2);font-size:1rem;line-height:1;cursor:pointer}.header-divider{width:1px;height:24px;background:var(--line)}.header-user{color:var(--heading);font-size:.82rem;font-weight:500;max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.avatar{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;background:var(--orap-blue);color:#fff;font-family:var(--font-heading);font-weight:700;font-size:.78rem}.account-menu{position:relative}.account-trigger{display:inline-flex;align-items:center;gap:.5rem;min-height:38px;padding:.2rem .3rem .2rem .65rem;border:1px solid transparent;border-radius:var(--radius-md);background:transparent;color:inherit;cursor:pointer}.account-trigger:hover,.account-trigger[aria-expanded=true]{background:var(--surface-2);border-color:var(--line)}.account-caret{width:0;height:0;border-left:4px solid transparent;border-right:4px solid transparent;border-top:5px solid var(--ink-3)}.account-dropdown{position:absolute;top:calc(100% + 8px);right:0;z-index:20;width:240px;padding:.35rem;background:#fff;border:1px solid var(--line);border-radius:var(--radius-md);box-shadow:0 10px 24px #32373b24}.account-dropdown-user{display:flex;align-items:center;gap:.6rem;padding:.45rem .5rem .55rem;border-bottom:1px solid var(--line)}.avatar-menu{width:28px;height:28px;font-size:.68rem}.account-dropdown-email{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--ink);font-size:.8rem;font-weight:600}.account-menu-item{display:flex;align-items:center;gap:.5rem;width:100%;min-height:34px;margin-top:.3rem;padding:0 .5rem;border:0;border-radius:var(--radius-sm);background:transparent;color:var(--ink-2);font-family:var(--font-heading);font-size:.72rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;text-align:left;cursor:pointer}.account-menu-item:hover:not(:disabled){color:var(--orap-blue);background:var(--surface-2)}.account-menu-item:disabled{color:var(--disabled-text);cursor:default}.account-menu-icon{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex:0 0 auto}main{padding:0}.page{padding:1.5rem 1.75rem}.page-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1.25rem}.page-title{font-family:var(--font-heading);font-weight:700;font-size:1.85rem;color:var(--heading);margin:0}.page-subtitle{color:var(--muted);font-size:.9rem;margin:.25rem 0 0}.back-link{display:inline-block;margin-bottom:.75rem;font-family:var(--font-heading);font-size:.72rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--orap-blue)}.status-msg{padding:2rem;text-align:center;font-size:1rem;color:var(--muted)}.status-msg.error{color:var(--orap-red)}.fleet-empty-state{max-width:720px;margin:3rem auto;padding:2rem;background:#fff;border:1px solid var(--line);border-top:4px solid var(--orap-blue);border-radius:var(--radius-md);text-align:center}.fleet-empty-state h2{margin:0 0 .75rem;color:var(--heading);font-family:var(--font-heading);font-size:1.35rem}.fleet-empty-state p{margin:.4rem 0;color:var(--muted);line-height:1.5}.fleet-empty-state strong{color:var(--ink)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;height:34px;padding:0 1rem;border:none;border-radius:var(--radius-sm);font-family:var(--font-heading);font-size:.78rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;cursor:pointer;color:#fff}.btn:hover{text-decoration:none}.btn-primary{background:var(--orap-orange)}.btn-primary:hover{background:var(--orap-orange-press)}.btn-secondary{background:var(--orap-blue)}.btn-secondary:hover{background:var(--orap-blue-press)}.btn-tertiary{background:var(--orap-gray)}.btn-tertiary:hover{background:var(--orap-gray-press)}.btn:disabled{background:var(--disabled-fill);color:var(--disabled-text);cursor:not-allowed}.btn-sm{height:28px;padding:0 .7rem;font-size:.72rem}.filters-bar{display:flex;align-items:flex-end;gap:1.25rem;flex-wrap:wrap;margin-bottom:1.25rem}.filter-group{display:flex;flex-direction:column;gap:.3rem}.filter-label{font-family:var(--font-heading);font-size:.68rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3)}.filters-spacer{margin-left:auto}select,.input{height:34px;min-width:180px;padding:0 .6rem;background:#fff;color:var(--ink);border:1px solid var(--line);border-radius:var(--radius-sm);font-family:var(--font-body);font-size:.88rem;cursor:pointer}select:focus,.input:focus{outline:none;border:2px solid var(--orap-blue)}.review-meta{text-align:right;color:var(--ink-3);font-size:.8rem;line-height:1.4}.review-meta strong{color:var(--ink-2)}.kpi-strip{display:flex;gap:1rem;flex-wrap:wrap;margin-bottom:1.5rem}.kpi-card{flex:1 1 0;min-width:150px;background:#fff;border:1px solid var(--line);border-radius:var(--radius-md);padding:.85rem 1.1rem}.kpi-label{font-family:var(--font-heading);font-size:.68rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--ink-2)}.kpi-value{font-family:var(--font-heading);font-weight:700;font-size:2.1rem;line-height:1.1;margin-top:.35rem}.kpi-parts .kpi-value{color:var(--kpi-parts)}.kpi-units .kpi-value{color:var(--kpi-units)}.kpi-urgent .kpi-value{color:var(--kpi-urgent)}.kpi-caution .kpi-value{color:var(--kpi-caution)}.kpi-overdue .kpi-value{color:var(--kpi-overdue)}.summary-cards{display:flex;flex-wrap:wrap;gap:1rem;margin-bottom:1.5rem}.card{background:#fff;border:1px solid var(--line);border-radius:var(--radius-md);padding:.85rem 1.25rem;min-width:120px;text-align:center}.card-value{font-family:var(--font-heading);font-size:1.8rem;font-weight:700}.card-label{font-size:.74rem;color:var(--muted);margin-top:4px}.fleet-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:1.25rem;align-items:start}@media (max-width: 1100px){.fleet-layout{grid-template-columns:1fr}}.panel{background:#fff;border:1px solid var(--line);border-radius:var(--radius-md)}.panel-head{background:var(--surface-3);border-bottom:1px solid var(--line);padding:.6rem .9rem;font-family:var(--font-heading);font-size:.82rem;font-weight:600;color:var(--ink)}.panel-head .accent{color:var(--orap-blue)}.table-toolbar{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap;padding:.6rem .9rem;border-bottom:1px solid var(--line)}.table-toolbar .spacer{margin-left:auto}.toolbar-label{font-size:.8rem;color:var(--ink-2)}.seg{display:inline-flex;border:1px solid var(--line);border-radius:var(--radius-sm);overflow:hidden}.seg button{border:none;background:#fff;color:var(--ink-2);font-family:var(--font-heading);font-size:.68rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;padding:.35rem .6rem;cursor:pointer}.seg button+button{border-left:1px solid var(--line)}.seg button.is-active{background:#fff;color:var(--orap-blue);box-shadow:inset 0 -2px 0 var(--orap-blue)}.toggle-btn{display:inline-flex;align-items:center;gap:.35rem;border:1px solid var(--line);background:#fff;color:var(--ink-2);font-family:var(--font-heading);font-size:.68rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;padding:.35rem .6rem;border-radius:var(--radius-sm);cursor:pointer}.toggle-btn:disabled{color:var(--disabled-text);cursor:not-allowed}.parts-table{width:100%;border-collapse:collapse;background:#fff;font-size:.85rem}.parts-table th,.parts-table td{padding:.55rem .8rem;text-align:left;border-bottom:1px solid var(--line);vertical-align:middle}.parts-table th{background:var(--surface-3);font-family:var(--font-heading);font-weight:600;font-size:.68rem;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-2);white-space:nowrap}.parts-table th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none}.parts-table th.sortable:hover{color:var(--ink)}.parts-table tbody tr:hover{background:var(--surface-2)}.parts-table .num{text-align:right;font-variant-numeric:tabular-nums}.group-row td{background:var(--surface-3);border-bottom:1px solid var(--line);font-family:var(--font-heading);font-weight:600;font-size:.72rem;letter-spacing:.03em;color:var(--ink-2)}.group-row .group-meta{color:var(--ink-3);font-weight:400}.row-urgent td:first-child{border-left:4px solid var(--status-urgent)}.row-caution td:first-child{border-left:4px solid var(--status-caution)}.row-onspec td:first-child{border-left:4px solid var(--status-onspec)}.row-unknown td:first-child{border-left:4px solid var(--status-unknown)}.row-critical td:first-child{border-left:4px solid var(--critical)}.row-warning td:first-child{border-left:4px solid var(--warning)}.row-healthy td:first-child{border-left:4px solid var(--healthy)}.cell-part{display:flex;flex-direction:column;gap:2px}.cell-part .pname{font-weight:600;color:var(--ink)}.cell-part .pmeta{font-size:.72rem;color:var(--ink-3)}.eol-strong{color:var(--status-urgent);font-weight:600}.eol-sub{color:var(--ink-3);font-size:.72rem}.anomaly-tag{display:inline-flex;align-items:center;gap:.2rem;color:var(--orap-red);font-size:.7rem;font-weight:700}.meter{display:flex;align-items:center;gap:.5rem;min-width:110px}.meter-track{flex:1;height:8px;background:var(--surface-3);border-radius:999px;overflow:hidden}.meter-fill{height:100%;border-radius:999px}.meter-fill-urgent{background:var(--status-urgent)}.meter-fill-caution{background:var(--status-caution)}.meter-fill-onspec{background:var(--status-onspec)}.meter-pct{font-size:.72rem;font-weight:600;font-variant-numeric:tabular-nums}.meter-pct-urgent{color:var(--status-urgent)}.meter-pct-caution{color:var(--status-caution)}.meter-pct-onspec{color:var(--status-onspec)}.badge{display:inline-block;padding:2px 8px;border-radius:var(--radius-sm);font-family:var(--font-heading);font-size:.66rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;white-space:nowrap}.badge-status-urgent{background:#fbe6e6;color:var(--status-urgent)}.badge-status-caution{background:#fdeed7;color:#b96c00}.badge-status-onspec{background:#e3f0fb;color:var(--status-onspec)}.badge-status-unknown{background:var(--surface-3);color:var(--ink-3)}.badge-urgent{background:#fbe6e6;color:var(--urgent)}.badge-critical{background:#fdeadd;color:var(--critical)}.badge-warning{background:#fdeed7;color:#b96c00}.badge-healthy{background:#e3f4ea;color:var(--healthy)}.badge-unknown{background:var(--surface-3);color:var(--ink-3)}.badge-conf-high{background:#e3f4ea;color:var(--healthy)}.badge-conf-medium{background:#fdeed7;color:#b96c00}.badge-conf-low{background:#fbe6e6;color:var(--urgent)}.category-tag{background:#efe6f5;color:#6b2f9c}.unit-rank-list{display:flex;flex-direction:column}.unit-rank-row{display:grid;grid-template-columns:18px minmax(54px,74px) minmax(0,1fr) 78px;align-items:center;gap:11px;width:100%;padding:11px 16px;border-bottom:1px solid #eef0f2;text-decoration:none;color:inherit}.unit-rank-row:last-child{border-bottom:none}.unit-rank-row:hover{background:var(--surface-2);text-decoration:none}.rank-num{color:var(--ink-3);font-family:var(--font-heading);font-weight:700;font-size:.78rem;text-align:center}.unit-rank-unit,.unit-rank-part{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:var(--font-body)}.unit-rank-unit{color:var(--ink);font-size:.82rem;font-weight:600}.unit-rank-part{color:var(--ink-2);font-size:.76rem}.unit-rank-eol{display:flex;flex-direction:column;align-items:flex-end;gap:2px;min-width:0;text-align:right}.unit-rank-eol .elabel{font-family:var(--font-heading);font-size:.6rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3)}.unit-rank-eol .edate{font-family:var(--font-heading);font-weight:700;font-size:.82rem;white-space:nowrap}.unit-rank-eol .edate.is-exceeded{white-space:normal;line-height:1.15}.unit-rank-empty{padding:11px 16px;color:var(--ink-2);font-size:.76rem;border-bottom:1px solid #eef0f2}.showing-row{display:flex;align-items:center;gap:.9rem;margin-bottom:1rem;flex-wrap:wrap}.showing-label{font-family:var(--font-heading);font-size:.68rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3)}.unit-menu{position:relative;width:min(320px,100%)}.unit-menu-trigger{display:flex;align-items:center;gap:.75rem;width:100%;min-height:48px;padding:.55rem .9rem;background:#fff;border:1px solid var(--line-strong);border-radius:var(--radius-sm);color:var(--ink);cursor:pointer;text-align:left}.unit-menu-trigger:hover{border-color:var(--ink-3)}.unit-menu-trigger:focus-visible{outline:none;border-color:var(--orap-blue);box-shadow:0 0 0 2px #449be12e}.unit-menu--header{width:fit-content}.unit-menu--header .unit-menu-trigger{width:auto;min-height:unset;padding:0 .25rem;background:none;border:none;border-radius:0;box-shadow:none;color:var(--ink-2);font-family:var(--font-heading);font-size:.78rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase;gap:.4rem}.unit-menu--header .unit-menu-trigger:hover{border-color:transparent;color:var(--ink)}.unit-menu--header .unit-menu-trigger:focus-visible{border-color:transparent;box-shadow:none;color:var(--orap-blue)}.unit-menu--header .unit-menu-trigger-text{flex:none}.unit-menu--header .unit-menu-chevron{color:var(--ink-3)}.unit-menu-admin-badge{display:inline-block;align-self:flex-start;font-family:var(--font-body);font-size:.6rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--orap-blue);background:#449be11f;border-radius:3px;padding:1px 5px}.unit-menu-dot{width:9px;height:9px;border-radius:999px;flex:none}.unit-menu-trigger-text,.unit-menu-option-text{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}.unit-menu-label{font-family:var(--font-heading);font-weight:600;font-size:1rem;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.unit-menu-sub{font-family:var(--font-body);font-size:.78rem;color:var(--ink-3);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.unit-menu-chevron{color:var(--ink-3);flex:none}.unit-menu-popover{position:absolute;top:calc(100% + 8px);left:0;z-index:25;width:min(370px,92vw);max-height:320px;overflow:auto;background:#fff;border:1px solid var(--line);border-radius:var(--radius-md);box-shadow:0 16px 30px #32373b2e,0 3px 8px #32373b1a}.unit-menu-popover::-webkit-scrollbar{width:10px}.unit-menu-popover::-webkit-scrollbar-thumb{background:#c7ccd1;border-radius:6px}.unit-menu-popover::-webkit-scrollbar-track{background:transparent}.unit-menu-popover .unit-menu-label{font-size:.98rem}.unit-menu-option{display:flex;align-items:center;gap:.8rem;width:100%;min-height:56px;padding:.65rem .9rem;border:0;border-bottom:1px solid #eef0f2;background:#fff;color:var(--ink);cursor:pointer;text-align:left}.unit-menu-option:last-child{border-bottom:0}.unit-menu-option:hover{background:var(--surface-2)}.unit-menu-option.is-selected{background:#449be114;box-shadow:inset 3px 0 0 var(--orap-blue)}.unit-menu-count{flex:none;font-family:var(--font-heading);font-weight:700;font-size:.78rem;color:var(--ink-3);white-space:nowrap}.unit-menu-count.is-urgent{color:var(--status-urgent)}.unit-menu-count.is-caution{color:var(--status-caution)}.unit-menu-count.is-onspec{color:var(--status-onspec)}.unit-menu-count.is-ok{color:var(--orap-green)}.unit-summary{font-size:.82rem;color:var(--ink-2)}.search-bar{position:relative;margin-bottom:1.25rem}.search-bar .icon{position:absolute;left:.85rem;top:50%;transform:translateY(-50%);color:var(--ink-3)}.search-input{width:100%;height:46px;padding:0 1rem 0 2.4rem;background:#fff;border:1px solid var(--line);border-radius:var(--radius-md);font-size:.95rem;color:var(--ink)}.search-input:focus{outline:none;border:2px solid var(--orap-blue)}.part-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius-md);padding:1.1rem 1.25rem;margin-bottom:1rem}.part-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.part-card-title{font-family:var(--font-heading);font-weight:700;font-size:1.4rem;color:var(--ink);margin:0}.part-card-tags{display:flex;align-items:center;gap:.5rem;margin-top:.4rem}.part-card-desc{color:var(--ink-2);font-size:.85rem}.part-card-meta{display:flex;gap:1.5rem;margin-top:.6rem;font-size:.85rem;color:var(--ink-2);flex-wrap:wrap}.part-card-meta b{color:var(--ink)}.part-result-list{display:flex;flex-direction:column;gap:.5rem}.part-result{display:flex;align-items:center;gap:.8rem;width:100%;background:#fff;border:1px solid var(--line);border-radius:var(--radius-md);border-left-width:4px;padding:.7rem .9rem;cursor:pointer;text-align:left}.part-result:hover{background:var(--surface-2)}.part-result.bar-urgent{border-left-color:var(--status-urgent)}.part-result.bar-caution{border-left-color:var(--status-caution)}.part-result.bar-onspec{border-left-color:var(--status-onspec)}.part-result.bar-unknown{border-left-color:var(--status-unknown)}.part-result .pr-main{display:flex;align-items:baseline;flex-wrap:wrap;gap:.15rem .35rem;flex:1;min-width:0}.part-result .pr-name{flex:none;font-weight:600;color:var(--ink)}.part-result .pr-meta{min-width:0;overflow-wrap:anywhere;font-size:.76rem;color:var(--ink-3)}.part-result>.badge{flex:none}.detail-metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem;margin-bottom:1.25rem}.metric-big{background:#fff;border:1px solid var(--line);border-radius:var(--radius-md);padding:1rem 1.1rem}.metric-big-label{font-family:var(--font-heading);font-size:.68rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--ink-2)}.metric-big-value{font-family:var(--font-heading);font-weight:700;font-size:1.7rem;margin-top:.35rem;color:var(--ink)}.metric-big-sub{color:var(--ink-3);font-size:.8rem;margin-top:.2rem}.metrics-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:.75rem;margin-bottom:1.5rem}.metric{background:#fff;border:1px solid var(--line);border-radius:var(--radius-md);padding:.7rem .95rem}.metric label{display:block;font-size:.7rem;color:var(--muted);margin-bottom:4px;font-weight:500;text-transform:uppercase;letter-spacing:.03em}.metric>span{font-size:.95rem;font-weight:600}.metric .text-alert{color:var(--status-urgent)}.anomaly-banner{background:#fdeed7;border:1px solid var(--orap-orange);border-radius:var(--radius-md);padding:.6rem 1rem;margin-bottom:1.25rem;color:#8a5200;font-weight:500}.install-chain{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem;background:#fff;border:1px solid var(--line);border-radius:var(--radius-md);padding:.6rem 1rem;margin-bottom:1.25rem;font-size:.85rem}.chain-node{display:inline-flex;align-items:center;gap:.4rem}.chain-sep{color:var(--ink-3)}.chain-category{font-size:.66rem;font-weight:600;color:var(--ink-3);text-transform:uppercase;letter-spacing:.03em}.chain-serial{font-weight:600}.chain-no-unit{color:var(--ink-3);font-style:italic}.chart-section{background:#fff;border:1px solid var(--line);border-radius:var(--radius-md);padding:1.1rem 1.25rem}.chart-section h2{margin:0 0 1rem;font-family:var(--font-heading);font-size:.9rem}.no-data{text-align:center;color:var(--muted);padding:2rem}.cycle-history-summary{display:flex;flex-wrap:wrap;align-items:flex-start;gap:.45rem 1.5rem;margin:-.25rem 0 .9rem;color:var(--ink-2);font-size:.76rem}.cycle-history-summary-item{display:grid;gap:.08rem}.cycle-history-summary-item span{color:var(--ink-3);font-size:.64rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase}.cycle-history-summary-item strong{color:var(--ink);font-weight:600}.cycle-history-summary p{flex-basis:100%;margin:0;color:var(--ink-3)}.cycle-history-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:.8rem}.cycle-history-head h2{margin:0;flex:0 0 auto;white-space:nowrap}.history-range{display:inline-flex;border:1px solid var(--line);border-radius:var(--radius-md);overflow:hidden;flex:0 0 auto}.history-range button{border:0;border-right:1px solid var(--line);background:var(--surface-2);color:var(--ink-2);padding:.35rem .55rem;font:inherit;font-size:.75rem;font-weight:600;cursor:pointer}.history-range button:last-child{border-right:0}.history-range button:hover{background:var(--surface-3);color:var(--ink)}.history-range button:focus-visible{outline:2px solid var(--orap-blue);outline-offset:-2px;position:relative;z-index:1}.history-range button.is-active{background:var(--orap-blue);color:#fff}.cycle-history-note{margin:.75rem 0 0;color:var(--ink-3);font-size:.78rem;line-height:1.5}.cycle-history-chart .no-data{min-height:240px;display:grid;place-items:center}.cycle-history-plots{min-width:0}.cycle-history-plots.has-forecast{display:grid;grid-template-columns:minmax(0,2.2fr) minmax(260px,1fr);gap:.9rem}.cycle-history-plot,.cycle-forecast-plot{min-width:0}.cycle-forecast-plot{position:relative;border-left:2px dashed var(--line-strong);padding-left:.75rem;background:linear-gradient(90deg,rgba(247,148,30,.035),transparent 35%)}.cycle-scale-break{position:absolute;left:-.55rem;bottom:1.05rem;z-index:1;background:var(--surface);color:var(--ink-3);padding:.05rem .12rem;font-family:var(--font-heading);font-size:.7rem;transform:rotate(-18deg)}.cycle-forecast-scale-label{position:absolute;top:.1rem;left:.9rem;z-index:1;color:var(--orap-orange-press);font-size:.64rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase}.cycle-forecast-caption{margin:-.15rem .25rem 0;color:var(--ink-3);font-size:.72rem;line-height:1.4;text-align:center}.cycle-forecast-caption strong{color:var(--ink-2)}@media (max-width: 900px){.cycle-history-plots.has-forecast{grid-template-columns:1fr}.cycle-forecast-plot{border-top:2px dashed var(--line-strong);border-left:0;padding-top:.75rem;padding-left:0;background:linear-gradient(180deg,rgba(247,148,30,.035),transparent 35%)}.cycle-scale-break{top:-.55rem;bottom:auto;left:.75rem}.cycle-forecast-scale-label{top:.85rem}}@media (max-width: 600px){.cycle-history-head{align-items:flex-start;flex-direction:column}.cycle-series-toggles{flex:0 0 auto;justify-content:flex-start}}.detail-analysis-grid,.detail-benchmark-grid{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:1.25rem}.detail-analysis-grid,.detail-benchmark-grid{margin-bottom:1.25rem}.detail-benchmark-grid{align-items:stretch}@media (max-width: 1100px){.detail-analysis-grid,.detail-benchmark-grid{grid-template-columns:1fr}}.benchmark-panel{min-width:0;overflow:hidden;border-top:3px solid var(--orap-blue);box-shadow:var(--shadow-sm)}.benchmark-panel>.panel-head{padding:.7rem 1.1rem;background:linear-gradient(90deg,#449be129,#449be10a);color:var(--orap-blue-press);font-size:.88rem}.benchmark-content{display:flex;flex-direction:column;gap:1.75rem;padding:1.4rem 1.65rem 1.55rem}.benchmark-state{display:flex;align-items:center;justify-content:center;gap:.8rem;min-height:120px;padding:1rem;color:var(--ink-3);font-size:.82rem}.benchmark-state-error{color:var(--status-urgent)}.benchmark-reference{display:flex;align-items:baseline;gap:.75rem;flex-wrap:wrap}.benchmark-reference>span,.benchmark-section-head h3{margin:0;color:var(--ink-3);font-family:var(--font-heading);font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.benchmark-reference>strong{font-family:var(--font-heading);font-size:2rem;line-height:1}.benchmark-reference>small{color:var(--ink-3);font-size:.8rem}.benchmark-section{min-width:0}.benchmark-section-head{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;margin-bottom:.65rem}.benchmark-section-head span{color:var(--ink-3);font-size:.76rem}.benchmark-peer-list{border-top:1px solid var(--line)}.benchmark-peer-row{display:grid;grid-template-columns:minmax(180px,240px) minmax(100px,1fr) 82px;align-items:center;gap:1rem;min-height:56px;padding:.55rem 0;border-bottom:1px solid var(--line);color:var(--ink);text-decoration:none}a.benchmark-peer-row:hover{background:var(--surface-2);text-decoration:none}.benchmark-peer-row.is-reference{font-weight:600}.benchmark-peer-row.is-anonymous{color:var(--ink-2)}.benchmark-peer-identity{display:flex;flex-direction:column;gap:2px;min-width:0}.benchmark-peer-identity strong{overflow:hidden;font-size:.84rem;text-overflow:ellipsis;white-space:nowrap}.benchmark-peer-identity small{overflow:hidden;color:var(--ink-3);font-size:.74rem;text-overflow:ellipsis;white-space:nowrap}.benchmark-reference>.benchmark-over-limit,.benchmark-peer-identity .benchmark-over-limit{color:var(--status-urgent);font-weight:600}.benchmark-meter{display:block;height:12px;overflow:hidden;background:var(--surface-3);border-radius:2px}.benchmark-meter-fill{display:block;height:100%;min-width:0;border-radius:2px}.benchmark-meter-urgent{background:var(--status-urgent)}.benchmark-meter-caution{background:var(--status-caution)}.benchmark-meter-onspec{background:var(--status-onspec)}.benchmark-meter-unknown{background:var(--status-unknown)}.benchmark-cycles{text-align:right;font-size:.84rem;font-variant-numeric:tabular-nums;font-weight:600}.benchmark-empty{padding:1rem;border:1px solid var(--line);background:var(--surface-2);color:var(--ink-3);font-size:.82rem}.benchmark-rank{display:flex;align-items:baseline;gap:.65rem;min-height:34px;margin:.8rem 0 .55rem;color:var(--ink-2);font-size:.78rem}.benchmark-rank strong{color:var(--orap-blue);font-family:var(--font-heading);font-size:1.7rem;line-height:1}.benchmark-quality,.benchmark-tail-counts{display:flex;align-items:center;gap:.85rem;flex-wrap:wrap;color:var(--ink-3);font-size:.74rem}.benchmark-company-summary{margin-bottom:.55rem}.benchmark-quality span+span:before,.benchmark-tail-counts span+span:before{content:"·";margin-right:.85rem}.benchmark-chart-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-top:.75rem;color:var(--ink-3);font-size:.68rem}.benchmark-legend{display:flex;align-items:center;gap:.85rem}.benchmark-legend span{display:inline-flex;align-items:center;gap:.3rem}.benchmark-legend i{width:9px;height:9px;border-radius:1px}.benchmark-legend .is-peer{background:var(--sps-purple)}.benchmark-legend .is-reference{background:var(--orap-blue)}.benchmark-chart-module{width:100%}.benchmark-chart-module.is-sparse{max-width:640px;margin-right:auto;margin-left:auto}.benchmark-chart{width:100%;min-height:230px;margin-top:.6rem}.benchmark-chart-module.is-sparse .benchmark-chart{min-height:180px}.benchmark-tooltip{display:flex;flex-direction:column;gap:.2rem;padding:.55rem .65rem;border:1px solid var(--line);background:var(--surface);color:var(--ink-2);font-size:.7rem;box-shadow:0 2px 8px #00000014}.benchmark-tooltip strong{color:var(--ink)}.benchmark-tail-counts{justify-content:flex-end;margin-top:.35rem}.benchmark-scope-guide{display:flex;min-width:0;overflow:hidden;flex-direction:column;align-self:start;border-top:3px solid var(--sps-purple);box-shadow:var(--shadow-sm)}.benchmark-scope-guide>.panel-head{padding:.7rem 1.1rem;background:linear-gradient(90deg,#52317829,#5231780a);color:var(--sps-purple);font-size:.88rem}.benchmark-scope-list{display:flex;flex-direction:column;gap:.75rem;margin:0;padding:1rem}.benchmark-scope-list>div{display:flex;flex-direction:column;padding:.9rem;border:1px solid var(--line);border-left-width:4px;border-radius:var(--radius-md)}.benchmark-scope-list>.benchmark-scope-my{border-color:#449be140;border-left-color:var(--orap-blue);background:#449be10e}.benchmark-scope-list>.benchmark-scope-company{border-color:#f7941e4d;border-left-color:var(--orap-orange);background:#f7941e0f}.benchmark-scope-list>.benchmark-scope-global{border-color:#52317840;border-left-color:var(--sps-purple);background:#5231780e}.benchmark-scope-list dt{color:var(--ink-2);font-family:var(--font-heading);font-size:.72rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.benchmark-scope-list dt:before{content:"";display:inline-block;width:.55rem;height:.55rem;margin-right:.45rem;border-radius:2px;background:currentColor}.benchmark-scope-my dt{color:var(--orap-blue-press)}.benchmark-scope-company dt{color:var(--orap-orange-press)}.benchmark-scope-global dt{color:var(--sps-purple)}.benchmark-scope-list dd{margin:.35rem 0 0;color:var(--ink-3);font-size:.8rem;line-height:1.5}.benchmark-scope-note{margin:0 1rem 1rem;padding:.85rem;border:1px solid rgba(82,49,120,.18);border-radius:var(--radius-md);background:#5231780b;color:var(--ink-2);font-size:.76rem;line-height:1.5}@media (max-width: 680px){.benchmark-section-head{align-items:flex-start;flex-direction:column;gap:.2rem}.benchmark-peer-row{grid-template-columns:minmax(0,1fr) 66px;gap:.5rem}.benchmark-meter{grid-column:1 / -1;grid-row:2}.benchmark-cycles{grid-column:2;grid-row:1}.benchmark-chart-head{align-items:flex-start;flex-direction:column;gap:.35rem}.benchmark-content{padding-left:.9rem;padding-right:.9rem}}.cycle-breakdown{margin-top:0;display:flex;flex-direction:column}.cycle-breakdown .cycle-note{margin-top:auto;padding-top:.85rem}.cycle-breakdown .no-data{margin:auto 0}.cycle-series-toggles{display:flex;flex-wrap:wrap;gap:.4rem;flex:1 1 auto;justify-content:flex-end}.cycle-chip{display:inline-flex;align-items:center;gap:.4rem;padding:.28rem .55rem;border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface-2);color:var(--ink-2);font-size:.8rem;cursor:pointer;-webkit-user-select:none;user-select:none}.cycle-chip:hover{background:var(--surface-3);color:var(--ink)}.cycle-chip.is-selected{background:var(--surface);border-color:var(--orap-blue);color:var(--ink);font-weight:600}.cycle-chip input{width:.9rem;height:.9rem;margin:0;accent-color:var(--orap-blue);flex:0 0 auto}.cycle-chip:has(input:focus-visible){outline:2px solid var(--orap-blue);outline-offset:2px}.cycle-chip:has(input:disabled){cursor:not-allowed;opacity:.5}.cycle-forecast-toggle.is-selected{border-color:var(--orap-orange);background:#fff8ed}.cycle-forecast-toggle input{accent-color:var(--orap-orange)}.cycle-forecast-toggle .cycle-series-swatch{border-radius:0;background:repeating-linear-gradient(90deg,var(--orap-orange) 0 .42rem,transparent .42rem .65rem)}.cycle-total{border-bottom:1px solid var(--line);padding-bottom:.9rem;margin-bottom:.9rem}.cycle-total-label{font-family:var(--font-heading);font-size:.68rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--ink-2)}.cycle-total-value{font-family:var(--font-heading);font-weight:700;font-size:1.7rem;margin-top:.35rem;color:var(--ink)}.cycle-total-sub{color:var(--ink-3);font-size:.8rem;margin-top:.2rem}.cycle-components-head{font-family:var(--font-heading);font-size:.68rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--ink-2);margin-bottom:.5rem}.cycle-component-list{list-style:none;margin:0;padding:0}.cycle-component{padding:.15rem 0;border-bottom:1px solid var(--line)}.cycle-component:last-child{border-bottom:none}.cycle-readout,.cycle-readout-main{display:inline-flex;align-items:center;gap:.5rem;min-width:0}.cycle-component .cycle-readout-row{display:flex;justify-content:space-between;gap:.75rem;width:100%;padding:.4rem .25rem}.cycle-series-swatch{width:1.1rem;height:.22rem;border-radius:999px;flex:0 0 auto}.cycle-component-label{color:var(--ink);font-size:.9rem}.cycle-component-value{font-family:var(--font-heading);font-weight:700;font-size:1.05rem;color:var(--ink);white-space:nowrap}.cycle-unreported{font-family:inherit;font-weight:400;font-size:.82rem;font-style:italic;color:var(--ink-3)}.cycle-note{color:var(--ink-3);font-size:.78rem;line-height:1.5;margin:.85rem 0 0;text-align:justify;-webkit-hyphens:auto;hyphens:auto}.cycle-note code,.calc-note code{font-size:.72rem;color:var(--muted)}.calc-notes{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);margin-bottom:1.25rem;overflow:hidden}.calc-notes-summary{display:flex;align-items:center;gap:.55rem;padding:.95rem 1.25rem;cursor:pointer;list-style:none;font-family:var(--font-heading);font-size:.9rem;font-weight:600;color:var(--ink)}.calc-notes-summary::-webkit-details-marker{display:none}.calc-notes-summary:before{content:"▸";display:inline-flex;align-items:center;justify-content:center;width:1.25rem;height:1.25rem;border-radius:999px;background:#449be11f;color:var(--orap-blue);font-size:.72rem}.calc-notes[open] .calc-notes-summary:before{content:"▾ "}.calc-notes-summary:hover{color:var(--orap-blue-press);background:#449be106}.calc-notes-summary-hint{margin-left:auto;font-family:var(--font-body);font-size:.75rem;font-weight:400;color:var(--ink-3)}.calc-notes-body{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;padding:1rem;border-top:1px solid var(--line);background:var(--surface-2);align-content:start}.calc-note{--calc-accent: var(--orap-blue);position:relative;min-width:0;padding:1.05rem 1.1rem 1.1rem;background:var(--surface);border:1px solid var(--line);border-top:3px solid var(--calc-accent);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.calc-note-blue{--calc-accent: var(--orap-blue)}.calc-note-purple{--calc-accent: var(--sps-purple)}.calc-note-green{--calc-accent: var(--orap-green)}.calc-note-orange{--calc-accent: var(--orap-orange)}.calc-note-red{--calc-accent: var(--orap-red)}.calc-note-wide{grid-column:span 2}.calc-note-full{grid-column:1 / -1}.calc-note-head{display:flex;align-items:center;gap:.65rem;margin-bottom:.8rem}.calc-note-number{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;width:2rem;height:2rem;border-radius:999px;background:color-mix(in srgb,var(--calc-accent) 12%,white);color:var(--calc-accent);font-family:var(--font-heading);font-size:.68rem;font-weight:700}.calc-note-kicker{display:block;margin-bottom:.12rem;color:var(--calc-accent);font-size:.62rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.calc-note h3{margin:0;font-family:var(--font-heading);font-size:.9rem;font-weight:650;color:var(--ink)}.calc-note h4{margin:0 0 .3rem;font-family:var(--font-heading);font-size:.78rem;font-weight:650;color:var(--ink)}.calc-note p{margin:0 0 .7rem;color:var(--ink-2);font-size:.8rem;line-height:1.6}.calc-note p strong{color:var(--ink);font-weight:650}.calc-note p:last-child{margin-bottom:0}.calc-note-list{margin:0 0 .7rem;padding-left:1.15rem;color:var(--ink-2);font-size:.8rem;line-height:1.6}.calc-note-list li{margin-bottom:.4rem}.calc-note-list li:last-child{margin-bottom:0}.calc-note-list li::marker{color:var(--calc-accent)}.calc-note-list strong{color:var(--ink);font-weight:650}.calc-note p.calc-caveat{margin-top:.8rem;padding:.6rem .7rem;border-left:3px solid color-mix(in srgb,var(--calc-accent) 55%,white);background:color-mix(in srgb,var(--calc-accent) 5%,white);color:var(--ink-3);font-size:.76rem;line-height:1.55}.calc-fact-strip{display:flex;flex-wrap:wrap;gap:.35rem .8rem;margin:.8rem 0;padding:.55rem .65rem;border-radius:var(--radius-md);background:color-mix(in srgb,var(--calc-accent) 8%,white);color:var(--ink-2);font-size:.74rem}.calc-fact-strip strong{color:var(--calc-accent)}.calc-thresholds{margin:.85rem 0 .65rem}.calc-thresholds>div{display:grid;grid-template-columns:5.1rem minmax(0,1fr);gap:.55rem;align-items:baseline;padding:.38rem 0;font-size:.76rem;border-top:1px solid var(--line)}.calc-thresholds>div:first-child{border-top:none}.calc-thresholds dt{font-weight:700}.calc-thresholds .is-high dt{color:var(--orap-green)}.calc-thresholds .is-medium dt{color:var(--orap-orange-press)}.calc-thresholds .is-low dt{color:var(--orap-red)}.calc-thresholds dd{margin:0;color:var(--ink-3);line-height:1.45}.calc-equation{display:flex;align-items:baseline;justify-content:center;gap:.7rem;margin:.65rem 0 .85rem;padding:.8rem;border-radius:var(--radius-md);background:color-mix(in srgb,var(--calc-accent) 8%,white);color:var(--ink-3);font-family:var(--font-heading);font-size:1rem}.calc-equation strong{color:var(--ink);font-size:1.1rem}.calc-note p.calc-over-limit{margin:-.35rem 0 .85rem;color:var(--status-urgent);font-weight:600;text-align:center}.calc-alert-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.calc-alert-column{min-width:0;padding:.75rem;border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface-2)}.calc-alert-column>p{margin-bottom:.45rem;font-size:.74rem}.calc-status-list{margin:0}.calc-status-list>div{--band-color: var(--ink-3);display:grid;grid-template-columns:5.2rem minmax(0,1fr);gap:.45rem;padding:.28rem 0;border-top:1px solid var(--line);font-size:.73rem}.calc-status-list>div:first-child{border-top:none}.calc-status-list dt{display:flex;align-items:center;gap:.35rem;font-weight:650;color:var(--ink)}.calc-status-list dt:before{content:"";width:.45rem;height:.45rem;border-radius:999px;background:var(--band-color)}.calc-status-list dd{margin:0;color:var(--ink-3);line-height:1.4}.calc-status-list .is-urgent{--band-color: var(--orap-red)}.calc-status-list .is-critical{--band-color: var(--critical)}.calc-status-list .is-warning{--band-color: var(--orap-orange)}.calc-status-list .is-healthy{--band-color: var(--orap-green)}.calc-status-list .is-onspec{--band-color: var(--orap-blue)}.calc-status-list .is-unknown{--band-color: var(--status-unknown)}.calc-formula-label{margin-bottom:.8rem;padding:.7rem;border-radius:var(--radius-md);background:color-mix(in srgb,var(--calc-accent) 8%,white);color:var(--ink);font-family:var(--font-heading);font-size:.76rem;font-weight:650;text-align:center}.calc-formula-label span{padding:0 .3rem;color:var(--calc-accent);font-size:1rem}.calc-note p.calc-emphasis{margin-top:.9rem;padding-top:.8rem;border-top:1px solid var(--line);color:var(--ink);font-weight:500}.calc-cycle-comparison{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;margin-bottom:.85rem}.calc-cycle-side{padding:.8rem .9rem;border:1px solid var(--line);border-left:4px solid var(--orap-blue);border-radius:var(--radius-md);background:#449be10b}.calc-cycle-side.is-unit{border-left-color:var(--orap-orange);background:#f7941e0b}.calc-cycle-grain{display:block;margin-bottom:.18rem;color:var(--ink-3);font-size:.62rem;font-weight:700;letter-spacing:.07em;text-transform:uppercase}.calc-cycle-side>strong{display:block;margin-bottom:.2rem;color:var(--ink);font-family:var(--font-heading);font-size:.78rem}.calc-cycle-side p{margin:0;font-size:.75rem}@media (max-width: 1400px){.calc-notes-body{grid-template-columns:repeat(2,minmax(0,1fr))}.calc-note-full{grid-column:1 / -1}}@media (max-width: 780px){.calc-notes-summary-hint{display:none}.calc-notes-body{grid-template-columns:1fr}.calc-note-wide,.calc-note-full{grid-column:auto}.calc-alert-columns,.calc-cycle-comparison{grid-template-columns:1fr}.calc-equation{gap:.4rem;font-size:.85rem}.calc-equation strong{font-size:.95rem}}.metric-help{position:relative;display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;width:14px;height:14px;margin-left:.35rem;border-radius:999px;background:var(--surface-3);color:var(--ink-3);font-family:var(--font-body);font-size:.64rem;font-weight:700;font-style:normal;line-height:1;letter-spacing:normal;text-transform:none;cursor:help;vertical-align:middle}.metric-help:hover,.metric-help:focus-visible{background:var(--orap-blue);color:#fff}.metric-help:focus{outline:none}.metric-help:focus-visible{box-shadow:0 0 0 3px #449be147}.metric-help-bubble{position:absolute;bottom:calc(100% + 10px);left:50%;z-index:30;width:max-content;max-width:34ch;background:var(--ink);color:#fff;border-radius:var(--radius-lg);padding:.6rem .75rem;box-shadow:0 6px 18px #141c2438,0 1px 3px #141c2429;font-family:var(--font-body);font-size:.76rem;font-weight:400;line-height:1.5;letter-spacing:normal;text-transform:none;text-align:left;white-space:normal;text-wrap:pretty;opacity:0;visibility:hidden;transform:translate(-50%,3px);transition:opacity .14s ease,transform .14s ease,visibility .14s}.metric-help-bubble:after{content:"";position:absolute;top:100%;left:50%;width:9px;height:9px;margin:-5px 0 0 -4.5px;background:var(--ink);border-radius:0 0 2px;transform:rotate(45deg)}.metric-help:hover .metric-help-bubble,.metric-help:focus-visible .metric-help-bubble{opacity:1;visibility:visible;transform:translate(-50%)}.metric-help-bubble:has(.metric-help-list){max-width:30ch}.metric-help-list{display:grid;grid-template-columns:4.6em minmax(0,1fr);gap:.3rem .55rem;align-items:baseline}.metric-help-term,.metric-help-def{font-family:var(--font-body);font-size:.76rem;line-height:1.5;letter-spacing:normal;text-transform:none}.metric-help-term{font-weight:700;color:#fff}.metric-help-def{font-weight:400;color:#ffffffb8}.metric-help-wide .metric-help-bubble:has(.metric-help-list){width:max-content;max-width:min(96ch,calc(100vw - 2rem))}.metric-help-wide .metric-help-list{grid-template-columns:max-content minmax(0,1fr);gap:.4rem .8rem}.metric-help-end .metric-help-bubble{left:auto;right:-7px;transform:translateY(3px)}.metric-help-end .metric-help-bubble:after{left:auto;right:11px;margin-left:0}.metric-help-start .metric-help-bubble{left:-7px;transform:translateY(3px)}.metric-help-start .metric-help-bubble:after{left:11px;margin-left:0}.metric-help-end:hover .metric-help-bubble,.metric-help-end:focus-visible .metric-help-bubble,.metric-help-start:hover .metric-help-bubble,.metric-help-start:focus-visible .metric-help-bubble{transform:translate(0)}.report-layout{display:grid;grid-template-columns:300px minmax(0,1fr);gap:1.35rem;align-items:start}.report-controls{display:flex;flex-direction:column;gap:1.15rem}.report-type-option{margin:.85rem;padding:.6rem .75rem;border:1px solid var(--orap-blue);border-radius:var(--radius-sm);background:#449be114;font-size:.88rem;font-weight:600;color:var(--orap-blue-press)}.report-panel-head-split{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.report-panel-head-split span:last-child{color:var(--ink-3);font-family:var(--font-body);font-size:.75rem;font-weight:400}.report-check-row{display:flex;align-items:center;gap:.7rem;width:100%;padding:.65rem .95rem;border:0;border-bottom:1px solid #eef0f2;background:#fff;color:var(--ink);text-align:left;cursor:pointer}.report-check-row:hover{background:var(--surface-2)}.report-check-row-master{background:#fafbfc;border-bottom-color:var(--line)}.report-check-text{display:flex;flex:1;min-width:0;flex-direction:column;gap:1px}.report-check-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.88rem}.report-check-name.strong{font-family:var(--font-heading);font-weight:600}.report-check-sub{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--ink-3);font-size:.76rem}.report-check{position:relative;display:inline-flex;align-items:center;justify-content:center;flex:none;width:18px;height:18px;border:1.5px solid var(--line-strong);border-radius:var(--radius-sm);background:#fff}.report-check.is-checked,.report-check.is-mixed{background:var(--orap-blue);border-color:var(--orap-blue)}.report-check.is-checked span:after{content:"";position:absolute;width:8px;height:4px;left:4px;top:5px;border-left:2px solid #fff;border-bottom:2px solid #fff;transform:rotate(-45deg)}.report-check.is-mixed span:after{content:"";position:absolute;width:9px;height:2.5px;left:3.5px;top:6.75px;background:#fff;border-radius:2px}.report-part-list{max-height:280px;overflow:auto}.report-filter-body{padding:.95rem;display:flex;flex-direction:column;gap:.55rem}.report-filter-control{margin:0}.report-filter-control select{width:100%;min-width:0}.report-filter-divider{height:1px;background:var(--line);margin:.55rem 0 .15rem}.report-status-filters{display:flex;flex-direction:column;gap:1px}.report-status-row{padding:.5rem .25rem;border-bottom:0;border-radius:var(--radius-sm)}.status-dot{width:7px;height:7px;border-radius:999px;flex:none}.status-dot.dot-urgent{background:var(--status-urgent)}.status-dot.dot-caution{background:var(--status-caution)}.status-dot.dot-onspec{background:var(--status-onspec)}.status-dot.dot-unknown{background:var(--status-unknown)}.report-preview-wrap{min-width:0}.report-export{display:flex;align-items:center;gap:.75rem;justify-content:flex-end;margin-bottom:.9rem}.report-export span{flex:1;min-width:240px;color:var(--ink-3);font-size:.8rem}.report-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);overflow:hidden}.report-card-head{display:flex;align-items:flex-start;justify-content:space-between}.report-brand{display:flex;align-items:center;gap:.6rem}.report-brand .mark{width:26px;height:26px;border-radius:var(--radius-sm);background:var(--orap-orange);color:#fff;font-family:var(--font-heading);font-weight:800;display:inline-flex;align-items:center;justify-content:center}.report-card>.report-card-head,.report-card>.report-title,.report-card>.report-subtitle,.report-card>.report-context{padding-left:2.1rem;padding-right:2.1rem}.report-card>.report-card-head{padding-top:1.75rem}.report-title{font-family:var(--font-heading);font-weight:700;font-size:1.7rem;margin:1.1rem 0 .2rem;color:var(--ink)}.report-subtitle{color:var(--sps-purple);font-family:var(--font-heading);font-size:1.25rem;font-weight:400;margin:0}.report-context{color:var(--ink-2);font-size:.82rem;margin-top:.9rem;padding-bottom:1.45rem;border-bottom:3px solid var(--sps-purple)}.report-summary{display:flex;border-bottom:1px solid var(--line)}.report-summary>div{flex:1;padding:1rem 2.1rem}.report-summary>div+div{border-left:1px solid var(--line)}.report-summary .rs-label{font-family:var(--font-heading);font-size:.66rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--ink-2)}.report-summary .rs-value{font-family:var(--font-heading);font-weight:700;font-size:2rem;line-height:1.2;margin-top:.2rem}.report-summary .rs-value.eol-date{font-size:1.45rem;margin-top:.45rem}.report-summary .rs-value.urgent{color:var(--status-urgent)}.report-generated{color:var(--ink-3);font-size:.75rem;text-align:right}.report-table-scroll{overflow-x:auto;padding:.5rem 2.1rem 0}.report-preview-table{min-width:760px}.report-preview-head,.report-preview-row{display:grid;grid-template-columns:.7fr 2fr .65fr 1fr 1fr 1fr .95fr;gap:.7rem;align-items:center}.report-preview-head{padding:.75rem 0 .6rem;border-bottom:1.5px solid var(--ink);font-family:var(--font-heading);font-size:.66rem;letter-spacing:.05em;text-transform:uppercase;color:var(--ink-2);font-weight:600}.report-preview-row{padding:.6rem 0;border-bottom:1px solid #eef0f2;font-size:.82rem}.report-preview-row>div{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.report-preview-row .part-name{font-weight:500}.report-preview-row .muted{color:var(--ink-2)}.report-preview-row .strong{font-weight:600}.report-preview-table .num{text-align:right;font-variant-numeric:tabular-nums}.report-preview-table .status-cell{text-align:center;justify-self:stretch}.report-empty{padding:1.25rem 1rem;color:var(--ink-3);font-size:.82rem;text-align:center}.report-more{padding:.75rem 0 0;color:var(--ink-3);font-size:.78rem;font-style:italic}.report-footer-note{margin:1.35rem 2.1rem 1.75rem;padding-top:.9rem;border-top:1px solid var(--line);color:var(--ink-3);font-size:.7rem;line-height:1.5}@media (max-width: 1000px){.report-layout{grid-template-columns:1fr}.report-export{flex-wrap:wrap;justify-content:flex-start}.report-export span{flex-basis:100%}}@media (max-width: 640px){.report-summary{flex-direction:column}.report-summary>div+div{border-left:0;border-top:1px solid var(--line)}.report-card>.report-card-head,.report-card>.report-title,.report-card>.report-subtitle,.report-card>.report-context,.report-table-scroll{padding-left:1rem;padding-right:1rem}.report-footer-note{margin-left:1rem;margin-right:1rem}}.admin-login-card{max-width:400px;margin:4rem auto;background:#fff;border:1px solid var(--line);border-radius:var(--radius-lg);padding:2.5rem 2.5rem 2rem;text-align:center;box-shadow:0 4px 24px #00000012}.admin-login-brand{display:flex;align-items:center;justify-content:center;gap:.5rem;margin-bottom:1.75rem}.admin-login-mark{width:32px;height:32px;border-radius:var(--radius-sm);background:var(--orap-orange);color:#fff;font-family:var(--font-heading);font-weight:900;font-size:1rem;display:flex;align-items:center;justify-content:center;flex-shrink:0}.admin-login-product{font-family:var(--font-heading);font-weight:700;font-size:1rem;letter-spacing:.04em;color:var(--ink)}.admin-login-lock{width:52px;height:52px;margin:0 auto 1.25rem;border-radius:50%;background:var(--surface-2);display:flex;align-items:center;justify-content:center;color:var(--ink-2)}.admin-login-lock svg{width:26px;height:26px}.admin-login-title{margin:0 0 .5rem;font-size:1.35rem;font-weight:700;color:var(--heading)}.admin-login-subtitle{margin:0 0 1.75rem;font-size:.85rem;color:var(--ink-2);line-height:1.55}.admin-login-btn{width:100%;display:flex;align-items:center;justify-content:center;height:42px;font-size:.88rem;border-radius:var(--radius-md)}.admin-login-btn-icon{width:16px;height:16px;flex-shrink:0}.admin-login-footer{margin:1.25rem 0 0;font-size:.82rem;color:var(--ink-3)}.auth-card{max-width:460px;margin:3rem auto;background:#fff;border:1px solid var(--line);border-radius:var(--radius-lg);padding:2rem 2.25rem;text-align:center}.auth-card h1{margin:.25rem 0 1rem;font-size:1.4rem}.auth-card p{margin:.5rem 0}.auth-meta{color:var(--muted);font-size:.85rem}.auth-reason{color:var(--orap-red);font-weight:600}.auth-icon{width:56px;height:56px;margin:0 auto;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.8rem;font-weight:700;color:#fff}.auth-card-success{border-top:4px solid var(--orap-green)}.auth-card-success .auth-icon{background:var(--orap-green)}.auth-card-error{border-top:4px solid var(--orap-red)}.auth-card-error .auth-icon{background:var(--orap-red)}.auth-button{display:inline-block;background:var(--orap-blue);color:#fff;padding:.55rem 1.1rem;border:none;border-radius:var(--radius-sm);font-size:.9rem;font-weight:600;cursor:pointer}.auth-button:hover{background:var(--orap-blue-press);text-decoration:none}.auth-button-secondary{background:var(--orap-gray)}.auth-button-secondary:hover{background:var(--orap-gray-press)}.coming-soon-panel{background:#fff;border:1px solid var(--line);border-radius:var(--radius-lg);padding:4rem 2rem;text-align:center;display:flex;flex-direction:column;align-items:center;gap:.5rem;min-height:320px;justify-content:center}.coming-soon-title{font-family:var(--font-heading);font-weight:700;font-size:2.25rem;line-height:1.1;margin:0;color:var(--heading)}.coming-soon-subtitle{font-family:var(--font-body);font-weight:600;font-size:1.15rem;color:var(--orap-blue);margin:.25rem 0 0;letter-spacing:.02em}.coming-soon-meta{color:var(--muted);font-size:.9rem;margin:1.5rem 0 0}.coming-soon-meta strong{color:var(--heading)}
