/* Shared source for standalone previews and generated Hugo integration. */
.status-preview{margin:0;background:#090b0a;color:#edf3ef;font-family:Raleway,Arial,sans-serif}.preview-shell{max-width:1120px;margin:auto;padding:28px 24px;border-bottom:1px solid #303532;letter-spacing:.22em;font-size:14px}.preview-shell span{float:right;letter-spacing:0;color:#aab5ae;font-size:12px}
.status-app{--line:#303532;--muted:#b4bdb7;--green:#35d59a;--amber:#f2bd54;--red:#ff776e;background:#090b0a;color:#edf3ef;font-family:inherit;max-width:1120px;margin:0 auto;padding:42px 24px 64px;box-sizing:border-box;font-size:13px;font-weight:400;line-height:1.5}.page-type-status{background:#090b0a}.status-app *{box-sizing:border-box}.status-app h1{font:200 clamp(34px,4.5vw,54px)/1.15 Raleway,Arial,sans-serif;letter-spacing:-.05em;margin:0 0 20px;color:inherit}.status-app h2{font:300 22px/1.3 Raleway,Arial,sans-serif;letter-spacing:-.025em;color:inherit;margin:0}.status-app h3{font:300 15px/1.5 Raleway,Arial,sans-serif;margin:0 0 12px;color:inherit}.status-app p{margin:10px 0}.status-app a{color:inherit;text-decoration:none}.status-app a:hover{text-decoration:underline}.status-app button,.status-app summary{font:inherit;color:inherit;cursor:pointer}.status-app button{min-height:44px;border:1px solid var(--line);background:transparent;padding:8px 16px}.status-app :focus-visible{outline:2px solid #edf3ef;outline-offset:5px}.status-app .toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin:18px 0}.status-app nav{display:flex;gap:26px}.status-app nav a{padding:10px 0}.status-app [aria-current=page]{border-bottom:1px solid #edf3ef}.status-app .disclosure{color:var(--muted);font-size:12px;max-width:800px}.status-app .ranges{display:flex}.status-app .ranges button+button{border-left:0}.status-app [aria-pressed=true]{background:#edf3ef;color:#090b0a}.status-app .muted{color:var(--muted)}.status-app .small{font-size:12px}.status-app details{border-top:1px solid var(--line)}.status-app details:last-child{border-bottom:1px solid var(--line)}.status-app summary{list-style:none;display:flex;gap:20px;align-items:center;padding:10px 0;min-height:52px}.status-app summary::-webkit-details-marker{display:none}.status-app summary:after{content:'+';font-size:22px;color:var(--muted);margin-left:auto}.status-app details[open]>summary:after{content:'−'}.status-app .group-name{font-size:19px;font-weight:300;letter-spacing:-.025em;flex:1}.status-app .health{white-space:nowrap}.status-app .operational,.status-app .successful{color:var(--green)}.status-app .degraded{color:var(--amber)}.status-app .outage,.status-app .failed{color:var(--red)}.status-app .maintenance,.status-app .unknown{color:#bdc4cc}.status-app .service{display:grid;grid-template-columns:minmax(170px,1.3fr) minmax(150px,1fr) minmax(160px,1fr) 70px;gap:20px;align-items:center;border-top:1px solid var(--line);padding:10px 0}.status-app .service-head{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}.status-app .services{padding:0 16px 16px}.status-app .strip{display:flex;gap:3px;height:16px;min-width:0}.status-app .strip i{display:block;flex:1;background:currentColor;min-width:1px}.status-app .percent{text-align:right;font-variant-numeric:tabular-nums}.status-app .legend{display:flex;gap:20px;flex-wrap:wrap;margin:16px 0;color:var(--muted);font-size:12px}.status-app .section{margin-top:38px}.status-app .incident{border-top:1px solid var(--line);padding:10px 0;display:grid;grid-template-columns:190px 1fr;gap:24px}.status-app .incident:first-of-type{margin-top:16px}.status-app .incident h3{margin-bottom:4px}.status-app .incident p{margin:4px 0 0;line-height:1.4}.status-app .incident p time{font-size:12px}.status-app time{font-variant-numeric:tabular-nums}.status-app table{width:100%;border-collapse:collapse;color:inherit;font-size:13px}.status-app th{font-size:11px;font-weight:400;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);text-align:left}.status-app td,.status-app th{padding:10px 12px;border-bottom:1px solid var(--line);vertical-align:top}.status-app td:first-child,.status-app th:first-child{padding-left:0}.status-app .build-toggle{text-align:left;border:0;padding:0;min-height:24px}.status-app .build-toggle:before{content:'+';display:inline-block;width:22px}.status-app .build-toggle[aria-expanded=true]:before{content:'−'}.status-app .build-detail{display:grid;grid-template-columns:1fr 1fr;gap:32px;padding:12px 16px 18px}.status-app .recent{list-style:none;padding:0;margin:0}.status-app .recent li{display:flex;justify-content:space-between;gap:12px;padding:6px 0;flex-wrap:wrap}.status-app .histogram{height:120px;display:flex;align-items:end;gap:5px;border-bottom:1px solid var(--line);margin-top:26px}.status-app .bucket{height:100%;flex:1;display:flex;flex-direction:column;justify-content:end;min-width:1px}.status-app .bucket span{display:block;width:100%;background:currentColor}.status-app .axis{display:flex;justify-content:space-between;color:var(--muted);font-size:12px;margin-top:8px}.status-app .error{border:1px solid var(--red);padding:20px}.status-app [hidden]{display:none!important}
@media(max-width:650px){.status-app{padding:28px 20px 48px}.status-app summary{flex-wrap:wrap;gap:8px 16px}.status-app .group-name{flex-basis:100%;font-size:18px}.status-app .services{padding:0 0 18px}.status-app .service{grid-template-columns:1fr auto;gap:8px 16px}.status-app .service .strip{grid-column:1}.status-app .service-head{display:none}.status-app .health{font-size:12px}.status-app .incident{grid-template-columns:1fr;gap:6px}.status-app .build-detail{grid-template-columns:1fr;padding:12px 0 20px;gap:24px}.status-app .build-table th:nth-child(4),.status-app .build-table td:nth-child(4),.status-app .build-table th:nth-child(5),.status-app .build-table td:nth-child(5){display:none}.status-app td,.status-app th{padding:10px 6px}.status-app .build-toggle{overflow-wrap:anywhere}.status-app .histogram{gap:3px}.preview-shell{padding:22px 20px;font-size:12px}.status-app .ranges button{padding:8px 14px}}

/* Restrained alternating incident row shading. */
.status-app .incident{padding-left:12px;padding-right:12px}
.status-app .incident:nth-of-type(even){background:rgba(237,243,239,.035)}

/* Reference status components, kept compact and scoped to this page. */
.status-app .health:before{content:'';display:inline-block;width:8px;height:8px;border-radius:50%;background:currentColor;margin-right:8px}
.status-app .status-overview{display:flex;gap:32px;padding:8px 0 24px;align-items:center}.status-app .status-overview>div+div{border-left:1px solid var(--line);padding-left:32px}.status-app .status-overview p{margin:4px 0 0}.status-app .overview-value{font-size:22px;font-weight:300}
.status-app[data-page=service-status] summary{display:grid;grid-template-columns:minmax(180px,1.4fr) minmax(150px,1fr) 100px minmax(130px,1fr) 65px 16px;gap:12px}.status-app summary .group-name{font-size:18px}.status-app summary .percent{font-size:12px}.status-app summary .strip{height:16px}.status-app .updates-toggle{border:0;font-size:12px;padding-right:0}
.status-app .subscribe{display:grid;grid-template-columns:1fr 1fr;gap:32px;border-top:1px solid var(--line);padding-top:28px}.status-app .subscribe label{display:block;font-size:12px;margin-bottom:6px}.status-app .subscribe-fields{display:flex;gap:8px}.status-app .subscribe input{min-width:0;flex:1;background:transparent;border:1px solid var(--line);padding:10px 12px;color:var(--muted);font:inherit}.status-app .subscribe button{background:#edf3ef;color:#090b0a}.status-app .subscribe :disabled{cursor:not-allowed;opacity:.6}
@media(max-width:950px){.status-app[data-page=service-status] summary{grid-template-columns:1fr auto 16px}.status-app summary .group-name{grid-column:1}.status-app summary .health{grid-column:2}.status-app summary:after{grid-column:3;grid-row:1}.status-app summary .group-count{grid-column:1;grid-row:2}.status-app summary .strip{grid-column:2;grid-row:2;min-width:130px}.status-app summary .percent{grid-column:2;grid-row:3}}
@media(max-width:650px){.status-app[data-page=service-status] summary{grid-template-columns:1fr auto;gap:8px}.status-app summary .group-name{grid-column:1/-1}.status-app summary .health{grid-column:1;grid-row:2}.status-app summary:after{grid-column:2;grid-row:2}.status-app summary .group-count{grid-column:1;grid-row:3}.status-app summary .strip{grid-column:1;grid-row:4}.status-app summary .percent{grid-column:2;grid-row:4}.status-app .status-overview{gap:18px;align-items:start}.status-app .status-overview>div+div{padding-left:18px}.status-app .subscribe{grid-template-columns:1fr;gap:12px}}

/* Consistent row feedback, with matching keyboard focus treatment. */
.status-app :is(summary,.service:not(.service-head),.incident,.build-table tbody>tr,.recent li,.status-overview>div){transition:background-color .16s ease,box-shadow .16s ease}
@media(hover:hover){
.status-app :is(summary,.service:not(.service-head),.incident,.build-table tbody>tr,.recent li,.status-overview>div):hover{background-color:rgba(237,243,239,.065);box-shadow:inset 2px 0 0 rgba(237,243,239,.18)}
.status-app :is(nav a,.ranges button:not([aria-pressed=true]),.updates-toggle):hover{background-color:rgba(237,243,239,.065)}
.status-app .subscribe form:hover{background-color:rgba(237,243,239,.025)}
}
.status-app :is(summary,.service:not(.service-head),.incident,.build-table tbody>tr,.recent li):focus-within{background-color:rgba(237,243,239,.065);box-shadow:inset 2px 0 0 rgba(237,243,239,.18)}
@media(prefers-reduced-motion:reduce){.status-app :is(summary,.service,.incident,.build-table tbody>tr,.recent li,.status-overview>div){transition:none}}

/* Subtle entry motion: no layout shifts, looping motion, or delayed controls. */
@keyframes status-enter{from{opacity:.65;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}
@keyframes status-bar-enter{from{transform:scaleY(.82)}to{transform:scaleY(1)}}
@media(prefers-reduced-motion:no-preference){
.status-app>h1,.status-app>.disclosure,.status-app>.toolbar,.status-app>.status-overview{animation:status-enter .22s ease-out both}
.status-app details,.status-app .build-table tbody>tr:not([hidden]),.status-app .incident{animation:status-enter .28s ease-out both}
.status-app details[open]>.services,.status-app .build-detail{animation:status-enter .2s ease-out both}
.status-app .strip,.status-app .histogram{transform-origin:bottom;animation:status-bar-enter .32s cubic-bezier(.2,.7,.3,1) both}
.status-app summary:after{transition:color .16s ease,transform .16s ease}
.status-app summary:hover:after{transform:scale(1.12)}
.status-app .ranges button,.status-app nav a{transition:background-color .16s ease,color .16s ease,border-color .16s ease}
}

/* Selected local status navigation; corporate navigation is unchanged. */
.status-app nav[aria-label="Status pages"] a[aria-current="page"]{color:#00cc6f;border-bottom-color:#00cc6f}

/* Local tab states override shared link colors without changing site navigation. */
.status-app nav[aria-label="Status pages"] a:is(:hover,:focus,:active){color:#00cc6f;text-decoration:none;background:transparent;box-shadow:none}
.status-app nav[aria-label="Status pages"] a:focus:not(:focus-visible){outline:none}
.status-app nav[aria-label="Status pages"] a:focus-visible{outline:1px solid #00cc6f;outline-offset:5px}
