/* HealthEye Atlantic shell composition. All visual roles use the local package. */
/* Catalogue extension composes existing forms, tables, checks and Atlantic actions. */
.platform-catalogue-actions,.platform-catalogue-heading{display:flex;align-items:center;justify-content:space-between;gap:var(--space-sm)}
.platform-shell .platform-icon-action{width:var(--target-min);height:var(--target-min);padding:var(--space-2xs)}
.platform-icon-action svg{width:var(--icon-lg);height:var(--icon-lg)}
.platform-catalogue-heading h2,.platform-catalogue-split h2{margin:0;font:var(--text-title);color:var(--fg-primary)}
.platform-catalogue-form,.platform-catalogue-split{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-md)}
.platform-catalogue-wide{grid-column:1/-1}
.platform-product-checks{display:grid;gap:var(--space-xs);min-width:0;margin:0;padding:0;border:0}
.platform-product-checks legend{margin-bottom:var(--space-xs);font:var(--text-label);font-weight:var(--fw-semibold)}
.platform-product-checks label{display:flex;align-items:center;gap:var(--space-xs);min-height:var(--target-min);font:var(--text-body);cursor:pointer}
.platform-product-checks input[type="checkbox"]{width:var(--icon-md);height:var(--icon-md);min-height:0;margin:0;padding:0;flex:none;accent-color:var(--action-primary-bg)}
.platform-plan-products>div{display:grid;gap:var(--space-2xs)}
.platform-catalogue-table{width:100%;table-layout:fixed}
.platform-catalogue-table td{vertical-align:top;overflow-wrap:anywhere}
.platform-catalogue-assignment{display:grid;gap:var(--space-sm);margin:0;padding:var(--space-sm) 0;border-block:var(--border-width-default) solid var(--border-color-default)}
.platform-catalogue-assignment dt{font:var(--text-caption);color:var(--fg-secondary)}
.platform-catalogue-assignment dd{margin:var(--space-3xs) 0 0;overflow-wrap:anywhere}
@media(max-width:820px){.platform-catalogue-form,.platform-catalogue-split{grid-template-columns:minmax(0,1fr)}.platform-catalogue-table,.platform-catalogue-table tbody,.platform-catalogue-table tr,.platform-catalogue-table td{display:block;width:100%;min-width:0}.platform-catalogue-table thead{display:none}.platform-catalogue-table tbody{padding:var(--space-sm);display:grid;gap:var(--space-sm)}.platform-catalogue-table tr{border:var(--border-width-default) solid var(--border-color-default);border-radius:var(--radius-md);padding:var(--space-sm)}.platform-catalogue-table td{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:var(--space-sm)}.platform-catalogue-table td::before{content:attr(data-label);font:var(--text-caption);color:var(--fg-secondary)}.platform-catalogue-table .platform-empty-row td{display:block}.platform-catalogue-table .platform-empty-row td::before{content:none}}
.platform-data-pipeline>.platform-form-status{margin-bottom:var(--space-lg)}
.platform-data-pipeline>.platform-form-card+.platform-form-card,.platform-data-pipeline>.platform-form-card+.platform-data-card{margin-top:var(--space-lg)}
.platform-pipeline-wide{grid-column:1/-1}
.platform-data-pipeline textarea{width:100%;min-width:0;min-height:var(--control-lg);padding:var(--space-xs) var(--space-sm);border:var(--border-width-default) solid var(--border-color-strong);border-radius:var(--radius-md);background:var(--surface-card);color:var(--fg-primary);font:var(--text-body-sm);font-family:var(--font-mono);resize:vertical;overflow-wrap:anywhere}
.platform-data-pipeline textarea:disabled{background:var(--surface-sunken);color:var(--fg-secondary)}
.platform-pipeline-mono,.platform-data-pipeline input[name="id"],.platform-data-pipeline input[name="uploadUrl"],.platform-data-pipeline input[name="storageRoot"]{font-family:var(--font-mono);overflow-wrap:anywhere}
.platform-pipeline-credentials{display:grid;gap:var(--space-sm);padding-top:var(--space-md);border-top:var(--border-width-default) solid var(--border-color-default)}
.platform-pipeline-credentials h3{margin:0;font:var(--text-title);color:var(--fg-primary)}
.platform-pipeline-credentials>button{justify-self:start;white-space:normal;text-align:left}
.platform-pipeline-secret{display:grid;gap:var(--space-sm);padding:var(--space-md);border:var(--border-width-default) solid var(--status-warning-border);border-radius:var(--radius-md);background:var(--status-warning-bg)}
.platform-pipeline-secret[hidden]{display:none}
.platform-pipeline-secret label{font:var(--text-label);font-weight:var(--fw-semibold)}
.platform-pipeline-secret input{width:100%;min-width:0;min-height:var(--target-min);padding:var(--space-xs) var(--space-sm);border:var(--border-width-default) solid var(--border-color-strong);border-radius:var(--radius-md);background:var(--surface-card);font:var(--text-body-sm);font-family:var(--font-mono);color:var(--fg-primary)}
.platform-pipeline-secret-actions{display:flex;gap:var(--space-sm);flex-wrap:wrap}
.platform-pipeline-table td{overflow-wrap:anywhere}.platform-pipeline-table td:nth-child(3){white-space:nowrap}
.platform-pipeline-table th:nth-child(1){width:30%}.platform-pipeline-table th:nth-child(2){width:20%}.platform-pipeline-table th:nth-child(3){width:12%}.platform-pipeline-table th:nth-child(4){width:16%}.platform-pipeline-table th:nth-child(5){width:22%}
@media(min-width:600px) and (max-width:1023px){.platform-pipeline-table,.platform-pipeline-table tbody,.platform-pipeline-table tr,.platform-pipeline-table td{display:block;width:100%;min-width:0}.platform-pipeline-table thead{display:none}.platform-pipeline-table tbody{display:grid;gap:var(--space-sm);padding:var(--space-sm)}.platform-pipeline-table tr{padding:0 var(--space-sm);border:var(--border-width-default) solid var(--border-color-default);border-radius:var(--radius-md)}.platform-pipeline-table td{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:var(--space-sm);align-items:center;padding:var(--space-2xs) 0;border-top:var(--border-width-default) solid var(--border-color-default)}.platform-pipeline-table td:first-child{border-top:0}.platform-pipeline-table td::before{content:attr(data-label);font:var(--text-caption);font-weight:var(--fw-bold);letter-spacing:var(--ls-wide);text-transform:uppercase;color:var(--fg-secondary)}.platform-pipeline-table .platform-empty-row td,.platform-pipeline-table .platform-error-row td{display:block}.platform-pipeline-table .platform-empty-row td::before,.platform-pipeline-table .platform-error-row td::before{content:none}}
.platform-shell{height:100dvh;display:flex;flex-direction:column;overflow:hidden;background:var(--surface-sunken);font:var(--text-body);color:var(--fg-primary)}
.platform-shell *{box-sizing:border-box}
.platform-shell .platform-topbar{position:relative;flex:none;min-height:var(--nav-topbar-height);padding:var(--space-sm) var(--space-lg);display:flex;align-items:center;justify-content:space-between;gap:var(--space-md);background:var(--surface-card);border-bottom:var(--border-width-default) solid var(--border-color-default)}
.platform-brand,.platform-account{display:flex;align-items:center;gap:var(--space-md);min-width:0}
.platform-brand{gap:var(--space-xs)}
.platform-brand{flex-shrink:0}
.platform-brand img{display:block;width:144px;height:40px;object-fit:contain}
.platform-shell .platform-product{display:inline;padding-left:var(--space-sm);border-left:var(--border-width-default) solid var(--border-color-default);font:var(--text-title);color:var(--fg-secondary)}
.platform-topbar-actions{display:flex;align-items:center;gap:var(--space-2xs);margin-left:auto;flex:none}.platform-notifications,.platform-account{position:relative;display:flex;align-items:center;flex:none}
.platform-shell .platform-avatar{display:grid;place-items:center;flex:none;width:var(--target-min);height:var(--target-min);overflow:hidden;border-radius:var(--avatar-radius);border:var(--border-width-default) solid var(--border-color-default);background:var(--surface-sunken);font:var(--text-label);color:var(--fg-secondary)}
.platform-profile-photo{display:block;width:100%;height:100%;object-fit:cover}
.platform-identity{display:flex;flex-direction:column;gap:var(--space-3xs);min-width:0}
.platform-shell .platform-user{margin:0;font:var(--text-body);font-weight:var(--fw-bold);color:var(--fg-primary);overflow-wrap:anywhere}
.platform-shell .platform-email{margin:0;font:var(--text-body-sm);color:var(--fg-secondary);overflow-wrap:anywhere}
.platform-shell button{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2xs);min-width:var(--target-min);min-height:var(--target-min);margin:0;padding:var(--space-2xs) var(--space-xs);border:var(--border-width-default) solid transparent;border-radius:var(--radius-lg);background:transparent;color:var(--accent-700);font:var(--text-body);white-space:nowrap;width:auto}
.platform-shell button:hover{background:var(--surface-sunken)}
.platform-shell button span{display:inline;font:inherit;color:inherit}
.platform-shell .platform-profile-button{padding:0;border:0;border-radius:var(--avatar-radius)}
.platform-profile-button[aria-expanded="true"]{box-shadow:0 0 0 var(--border-width-default) var(--accent-700)}
/* AccountPane composition: local card, avatar, disclosure and action patterns. */
/* Compact AccountPane extension: 20rem keeps the card sized to its account content. */
.platform-account-pane{position:absolute;right:0;top:calc(100% + var(--space-2xs));z-index:4;width:min(20rem,calc(100dvw - var(--space-xl)));max-height:calc(100dvh - var(--nav-topbar-height) - var(--space-md));overflow:auto;padding:var(--space-md);border:var(--border-width-default) solid var(--border-color-default);border-radius:var(--radius-lg);background:var(--surface-card);box-shadow:var(--shadow-md)}
.platform-account-heading{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-sm);margin-bottom:var(--space-sm)}
.platform-account-heading h2{margin:0;font:var(--text-title);color:var(--fg-primary)}
.platform-shell .platform-account-close{flex:none;margin-left:auto;padding:var(--space-2xs)}
.platform-account-details{margin:var(--space-md) 0;display:grid;gap:var(--space-3xs)}
.platform-account-details dt{margin:0;font:var(--text-caption);color:var(--fg-secondary)}
.platform-account-details dd{margin:0;font:var(--text-body);color:var(--fg-primary);overflow-wrap:anywhere}
.platform-account-actions{padding-top:var(--space-sm);border-top:var(--border-width-default) solid var(--border-color-default)}
.platform-shell .platform-sign-out{width:100%;justify-content:flex-start;white-space:normal;text-align:left}
.platform-shell .platform-account-status{font:var(--text-body-sm);margin:0 0 var(--space-sm);overflow-wrap:anywhere}
.platform-shell .platform-account-status.is-loading::after{content:"";display:inline-block;width:3rem;height:var(--space-2xs);margin-left:var(--space-2xs);vertical-align:middle;border-radius:var(--skeleton-radius);background:linear-gradient(90deg,var(--surface-sunken) 25%,var(--border-color-default) 50%,var(--surface-sunken) 75%);background-size:200% 100%;animation:he-skeleton-shimmer var(--duration-slow) linear infinite}
.platform-shell .platform-notification-button{position:relative;width:var(--target-min);height:var(--target-min);padding:var(--space-2xs);overflow:visible;border-radius:var(--radius-lg);color:var(--fg-secondary)}.platform-notification-button[aria-expanded="true"]{background:var(--action-tertiary-bg-hover);color:var(--accent-800)}.platform-notification-button .platform-notification-badge{position:absolute;right:calc(var(--space-3xs) * -1);top:calc(var(--space-3xs) * -1);display:grid;place-items:center;min-width:var(--icon-sm);height:var(--icon-sm);padding:0 var(--space-3xs);border:var(--border-width-strong) solid var(--surface-card);border-radius:var(--radius-pill);background:var(--accent-700);color:var(--surface-card);font-size:.625rem;font-weight:var(--fw-bold);line-height:1}.platform-notification-pane{position:absolute;right:0;top:calc(100% + var(--space-2xs));z-index:4;width:min(24rem,calc(100dvw - var(--space-xl)));max-height:calc(100dvh - var(--nav-topbar-height) - var(--space-md));overflow:auto;border:var(--border-width-default) solid var(--border-color-default);border-radius:var(--radius-lg);background:var(--surface-card);box-shadow:var(--shadow-md)}.platform-notification-heading{display:flex;align-items:center;justify-content:space-between;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);border-bottom:var(--border-width-default) solid var(--border-color-default)}.platform-notification-heading h2{margin:0;font:var(--text-title);color:var(--fg-primary)}.platform-shell .platform-notification-close{flex:none;padding:var(--space-2xs)}.platform-notification-list{display:grid}.platform-notification-empty{margin:0;padding:var(--space-lg) var(--space-md);color:var(--fg-secondary);font:var(--text-body-sm);text-align:center}.platform-notification-item{display:grid;gap:var(--space-2xs);padding:var(--space-sm) var(--space-md);border-bottom:var(--border-width-default) solid var(--border-color-default);border-left:var(--space-3xs) solid var(--status-info)}.platform-notification-item:last-child{border-bottom:0}.platform-notification-item-heading{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-sm)}.platform-notification-item-heading strong{font:var(--text-label);color:var(--status-info-strong)}.platform-notification-item-heading time{font:var(--text-caption);color:var(--fg-secondary)}.platform-notification-item p{margin:0;color:var(--fg-primary);font:var(--text-body-sm);overflow-wrap:anywhere}.platform-notification-success{border-left-color:var(--status-success)}.platform-notification-success .platform-notification-item-heading strong{color:var(--status-success-strong)}.platform-notification-danger{border-left-color:var(--status-danger)}.platform-notification-danger .platform-notification-item-heading strong{color:var(--status-danger-strong)}
.platform-shell [hidden]{display:none!important}
.platform-shell svg{width:var(--icon-md);height:var(--icon-md);flex:none}
.platform-shell .platform-menu{display:none}
.platform-body{display:flex;flex:1;min-height:0;min-width:0}
/* Text-scaling extension: 16.5rem equals the existing 264px rail at default size. */
.platform-sidebar{flex:none;width:max(var(--nav-rail-expanded),16.5rem);display:flex;flex-direction:column;gap:var(--space-lg);padding:var(--space-lg) var(--space-sm) var(--space-sm);background:var(--surface-card);border-right:var(--border-width-default) solid var(--border-color-default);overflow:auto;overscroll-behavior:contain}
.platform-sidebar nav{display:flex;flex-direction:column;gap:var(--space-2xs)}
.platform-nav-group{display:flex;flex-direction:column;gap:var(--space-2xs)}
.platform-nav-parent-row{display:flex;align-items:center;gap:var(--space-3xs)}
.platform-shell .platform-nav-link{display:flex;align-items:center;gap:var(--space-xs);flex:1;min-width:0;min-height:var(--target-min);padding:var(--space-xs) var(--space-sm);border-radius:var(--radius-pill);text-decoration:none;font:var(--text-body);color:var(--fg-secondary);overflow-wrap:anywhere}
.platform-nav-link svg{width:var(--icon-sm);height:var(--icon-sm)}
.platform-shell .platform-nav-link:hover{background:var(--surface-sunken);color:var(--fg-primary)}
.platform-shell .platform-nav-link[aria-current="page"]{background:var(--action-tertiary-bg-hover);color:var(--accent-800);font-weight:var(--fw-bold)}
.platform-shell .platform-nav-toggle{flex:none;width:var(--target-min);padding:var(--space-2xs);color:var(--fg-secondary)}
.platform-nav-chevron{display:block;width:0.55rem;height:0.55rem;border-right:var(--border-width-default) solid currentColor;border-bottom:var(--border-width-default) solid currentColor;transform:rotate(45deg) translate(-0.1rem,-0.1rem);transition:transform 120ms ease}
.platform-nav-toggle[aria-expanded="true"] .platform-nav-chevron{transform:rotate(225deg) translate(-0.1rem,-0.1rem)}
.platform-subnav{display:flex;flex-direction:column;gap:var(--space-3xs);margin:0 0 0 var(--space-lg);padding:var(--space-3xs) 0 var(--space-3xs) var(--space-xs);border-left:var(--border-width-default) solid var(--border-color-default);list-style:none}
.platform-shell .platform-subnav .platform-nav-link{min-height:var(--target-min);padding:var(--space-2xs) var(--space-xs);font:var(--text-body-sm)}
.platform-shell .platform-page{flex:1;min-width:0;max-width:none;width:auto;margin:0;padding:var(--space-xl);overflow:auto;overscroll-behavior:contain;background:var(--surface-sunken)}
.platform-page h1{font:var(--text-h1);letter-spacing:var(--ls-tight);margin:0;overflow-wrap:anywhere}
.platform-page-content{width:min(100%,var(--content-wide));margin:0 auto}
.platform-page-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-md);margin-bottom:var(--space-lg)}
.platform-page-heading{min-width:0}.platform-page-heading p{max-width:var(--content-standard);margin:var(--space-2xs) 0 0;color:var(--fg-secondary);font:var(--text-body)}
.platform-primary-action,.platform-secondary-action,.platform-danger-action{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2xs);min-height:var(--target-min);padding:var(--space-xs) var(--space-md);border:var(--border-width-default) solid transparent;border-radius:var(--radius-lg);font:var(--text-label);font-weight:var(--fw-bold);text-decoration:none;white-space:nowrap}
.platform-primary-action{flex:none;background:var(--action-primary-bg);color:var(--action-primary-fg)}.platform-primary-action:hover{background:var(--action-primary-bg-hover)}
.platform-shell button.platform-primary-action{padding:var(--space-xs) var(--space-md);background:var(--action-primary-bg);color:var(--action-primary-fg);font:var(--text-label);font-weight:var(--fw-bold)}.platform-shell button.platform-primary-action:hover{background:var(--action-primary-bg-hover)}
.platform-secondary-action{background:var(--action-secondary-bg);border-color:var(--action-secondary-border);color:var(--action-secondary-fg)}.platform-secondary-action:hover{background:var(--action-secondary-bg-hover)}
.platform-danger-action{background:var(--surface-card);border-color:var(--status-danger-border);color:var(--status-danger-strong)}.platform-danger-action:hover{background:var(--status-danger-bg)}.platform-shell button.platform-secondary-action{padding:var(--space-xs) var(--space-md);border-color:var(--action-secondary-border);background:var(--action-secondary-bg);color:var(--action-secondary-fg);font:var(--text-label);font-weight:var(--fw-bold)}.platform-shell button.platform-secondary-action:hover{background:var(--action-secondary-bg-hover)}.platform-shell button.platform-danger-action{padding:var(--space-xs) var(--space-md);border-color:var(--status-danger-border);background:var(--status-danger-bg);color:var(--status-danger-strong);font:var(--text-label);font-weight:var(--fw-bold)}
.platform-breadcrumb{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2xs);margin-bottom:var(--space-md);font:var(--text-body-sm);color:var(--fg-secondary)}
.platform-breadcrumb a{color:var(--action-tertiary-fg);text-decoration:none}.platform-breadcrumb a:hover{text-decoration:underline}.platform-breadcrumb-separator{width:0.45rem;height:0.45rem;border-top:var(--border-width-default) solid currentColor;border-right:var(--border-width-default) solid currentColor;transform:rotate(45deg);opacity:var(--opacity-muted)}
.platform-metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));align-items:stretch;gap:var(--space-md);margin-bottom:var(--space-lg)}
.platform-metric-card{min-height:var(--metric-card-min-height);padding:var(--card-pad-default);border:var(--border-width-default) solid var(--card-border);border-radius:var(--card-radius);background:var(--surface-card);box-shadow:var(--shadow-sm)}
.platform-kicker{margin:0;color:var(--fg-secondary);font:var(--text-caption);font-weight:var(--fw-bold);letter-spacing:var(--ls-wide);text-transform:uppercase}.platform-metric-value{min-height:var(--space-xl);margin:var(--space-sm) 0 var(--space-2xs);font:var(--text-h2);color:var(--fg-primary)}.platform-metric-context{margin:0;color:var(--fg-secondary);font:var(--text-body-sm)}
.platform-analytics-card{display:flex;flex-direction:column;justify-content:space-between;min-width:0}.platform-analytics-value{min-height:var(--metric-card-value-size);margin:var(--space-sm) 0 0;font:var(--text-h2);color:var(--fg-primary)}.platform-skeleton-analytics{width:var(--space-2xl);height:var(--metric-card-value-size)}
.platform-header-actions{display:flex;flex:none;gap:var(--space-2xs)}.platform-icon-action{display:grid;place-items:center;width:var(--target-min);height:var(--target-min);padding:0;border:var(--border-width-default) solid transparent;border-radius:var(--radius-md);background:transparent;text-decoration:none}.platform-icon-action svg{width:var(--icon-sm);height:var(--icon-sm)}.platform-icon-action-primary{border-color:var(--action-secondary-border);background:var(--action-secondary-bg);color:var(--action-secondary-fg)}.platform-icon-action-primary:hover{background:var(--action-secondary-bg-hover)}.platform-icon-action-secondary{border-color:var(--action-secondary-border);background:var(--action-secondary-bg);color:var(--action-secondary-fg)}.platform-icon-action-secondary:hover{background:var(--action-secondary-bg-hover)}.platform-icon-action-danger{border-color:var(--status-danger-border);background:var(--surface-card);color:var(--status-danger-strong)}.platform-icon-action-danger:hover{background:var(--status-danger-bg)}.platform-icon-action:disabled{cursor:not-allowed;opacity:var(--opacity-muted)}.platform-icon-action:disabled:hover{background:inherit}
.platform-data-card{overflow:hidden;border:var(--border-width-default) solid var(--card-border);border-radius:var(--card-radius);background:var(--surface-card);box-shadow:var(--shadow-sm)}.platform-data-card-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-sm);padding:var(--card-pad-default);border-bottom:var(--border-width-default) solid var(--border-color-default)}.platform-data-card-header h2,.platform-empty-state h2{margin:0;font:var(--text-title);color:var(--fg-primary)}.platform-data-card-header p,.platform-empty-state p{margin:var(--space-2xs) 0 0;color:var(--fg-secondary);font:var(--text-body-sm)}
.platform-tenant-toolbar{display:flex;align-items:center;justify-content:flex-end;gap:var(--space-xs);flex-wrap:wrap}.platform-tenant-search{display:flex;align-items:center;min-width:12rem;margin:0}.platform-tenant-search input{display:block;width:min(18rem,40vw);height:var(--target-min);min-height:var(--target-min);margin:0;padding:var(--space-2xs) var(--space-sm);border:var(--border-width-default) solid var(--border-color-strong);border-radius:var(--radius-md);background:var(--surface-card);color:var(--fg-primary);font:var(--text-body-sm);line-height:normal}.platform-tenant-search input::placeholder{color:var(--fg-secondary)}.platform-tenant-filter{flex:none}.platform-shell button.platform-tenant-filter:disabled{opacity:1;border-color:var(--action-secondary-border);background:var(--action-secondary-bg);color:var(--fg-secondary)}.platform-shell button.platform-tenant-filter:disabled:hover{background:var(--action-secondary-bg)}
.platform-page-content>.platform-data-card~.platform-data-card{margin-top:var(--space-lg)}.platform-table-status{margin:0;padding:var(--space-xs) var(--card-pad-default);border-bottom:var(--border-width-default) solid var(--border-color-default);background:var(--status-info-bg);color:var(--status-info-strong);font:var(--text-body-sm)}.platform-table-status[role="alert"]{background:var(--status-danger-bg);color:var(--status-danger-strong)}
.platform-table-wrap{overflow:auto;overscroll-behavior:contain}.platform-table-rows-3{max-block-size:calc(var(--target-min) * 6 + var(--space-lg) + var(--border-width-default));scrollbar-gutter:stable}.platform-table-rows-3 .platform-tenant-table th{position:sticky;top:0;z-index:1}.platform-tenant-table{width:100%;min-width:40rem;border-collapse:collapse;text-align:left}.platform-invitation-table{min-width:62rem}.platform-tenant-table th,.platform-tenant-table td{padding:var(--space-sm) var(--card-pad-default);vertical-align:middle}.platform-tenant-table th{background:var(--surface-sunken);font:var(--text-caption);font-weight:var(--fw-bold);letter-spacing:var(--ls-wide);text-transform:uppercase;color:var(--fg-secondary)}.platform-tenant-table td{border-top:var(--border-width-default) solid var(--border-color-default)}.platform-tenant-table tr.is-selected td{background:var(--action-tertiary-bg-hover)}.platform-selection-column,.platform-selection-cell{width:var(--target-min);padding-right:0!important}.platform-selection-control{display:grid;place-items:center;width:var(--target-min);height:var(--target-min);margin:calc((var(--target-min) - var(--space-md)) / -2) 0}.platform-selection-control input{width:1.125rem;height:1.125rem;margin:0;accent-color:var(--accent-700)}.platform-selection-control input:disabled{cursor:not-allowed;opacity:var(--opacity-muted)}.platform-tenant-name{font-weight:var(--fw-semibold);color:var(--fg-primary)}.platform-email-cell{overflow-wrap:anywhere}.platform-tenant-date{font-family:var(--font-mono)}.platform-status{font-weight:var(--fw-semibold);text-transform:capitalize}.platform-status-active,.platform-status-accepted,.platform-delivery-accepted{color:var(--status-success-strong)}.platform-status-suspended,.platform-status-pending,.platform-delivery-queued,.platform-delivery-sending,.platform-delivery-uncertain{color:var(--status-warning-strong)}.platform-status-deleted,.platform-status-expired,.platform-status-revoked,.platform-delivery-failed{color:var(--status-danger-strong)}.platform-tenant-table tr.is-deleted td{background:var(--surface-sunken)}.platform-shell button.platform-table-action{min-height:var(--target-min);padding:var(--space-2xs) var(--space-sm);font:var(--text-label);font-weight:var(--fw-bold)}.platform-empty-row td,.platform-error-row td{padding:var(--space-lg) var(--card-pad-default);color:var(--fg-secondary);text-align:center}.platform-error-row td{color:var(--status-danger-strong)}
.platform-tenant-table tr[data-tenant-profile]{cursor:pointer}.platform-tenant-table tr[data-tenant-profile]:hover td{background:var(--action-tertiary-bg-hover)}.platform-tenant-name a{color:var(--action-tertiary-fg);text-decoration:none}.platform-tenant-name a:hover{text-decoration:underline}.platform-profile-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-md);margin:0;padding:var(--card-pad-default)}.platform-profile-grid>div{min-width:0;padding:var(--space-sm);border:var(--border-width-default) solid var(--border-color-default);border-radius:var(--radius-md);background:var(--surface-sunken)}.platform-profile-grid dt{margin:0 0 var(--space-2xs);font:var(--text-caption);font-weight:var(--fw-bold);letter-spacing:var(--ls-wide);text-transform:uppercase;color:var(--fg-secondary)}.platform-profile-grid dd{margin:0;font:var(--text-body);color:var(--fg-primary);overflow-wrap:anywhere}
.platform-skeleton{display:block;border-radius:var(--skeleton-radius);background:linear-gradient(90deg,var(--surface-sunken) 25%,var(--border-color-default) 50%,var(--surface-sunken) 75%);background-size:200% 100%;animation:platform-skeleton-shimmer var(--duration-slow) linear infinite}.platform-skeleton-metric{width:var(--space-2xl);height:var(--space-lg)}.platform-skeleton-name{width:min(12rem,100%);height:var(--space-sm)}.platform-skeleton-status{width:5rem;height:var(--space-sm)}.platform-skeleton-region{width:7rem;height:var(--space-sm)}.platform-skeleton-date{width:8rem;height:var(--space-sm)}
.platform-empty-state,.platform-form-card{max-width:var(--content-standard);padding:var(--card-pad-spacious);border:var(--border-width-default) solid var(--card-border);border-radius:var(--card-radius);background:var(--surface-card);box-shadow:var(--shadow-sm)}.platform-form-card h2{margin:0 0 var(--space-md);font:var(--text-title);color:var(--fg-primary)}.platform-onboarding-form{display:grid;gap:var(--space-sm)}.platform-form-field{display:grid;gap:var(--space-2xs)}.platform-form-field label{font:var(--text-label);font-weight:var(--fw-semibold);color:var(--fg-primary)}.platform-form-field input{width:100%;min-height:var(--control-lg);padding:var(--space-xs) var(--space-sm);border:var(--border-width-default) solid var(--border-color-strong);border-radius:var(--radius-md);background:var(--surface-card);color:var(--fg-primary);font:var(--text-body)}.platform-form-field input:disabled{background:var(--surface-sunken);color:var(--fg-secondary)}.platform-form-note{margin:0;color:var(--fg-secondary);font:var(--text-body-sm)}.platform-form-status{margin:0;padding:var(--space-sm);border-radius:var(--radius-md);background:var(--status-info-bg);color:var(--status-info-strong);font:var(--text-body-sm)}.platform-form-status[role="alert"]{background:var(--status-danger-bg);color:var(--status-danger-strong)}.platform-visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@keyframes platform-skeleton-shimmer{from{background-position:100% 0}to{background-position:-100% 0}}
.platform-shell :focus-visible{outline:var(--border-width-focus) solid var(--accent-500);outline-offset:2px}
.platform-shell .platform-page:focus{outline:none}
.platform-skip{position:fixed;left:var(--space-sm);top:var(--space-sm);transform:translateY(calc(-100% - var(--space-lg)));z-index:10;background:var(--surface-card);color:var(--accent-700);padding:var(--space-xs) var(--space-sm);border-radius:var(--radius-md)}
.platform-skip:focus{transform:none}
@media(max-width:1023px){
 .platform-shell .platform-topbar{padding:var(--space-sm) var(--space-md);flex-wrap:nowrap;gap:var(--space-sm)}
 .platform-account-pane{right:0}
 .platform-brand{gap:var(--space-xs)}
 .platform-brand img{width:120px}
 .platform-shell .platform-menu{display:inline-flex}
 .platform-body{position:relative}
 .platform-sidebar{width:min(20rem,calc(100% - var(--space-xl)))}
 .platform-menu-open .platform-sidebar{position:absolute;inset:0 auto 0 0;z-index:2;box-shadow:var(--shadow-md)}
 .platform-shell .platform-page{padding:var(--gutter-tablet)}
}
@media(max-width:1199px){
 .platform-data-card-header{align-items:stretch;flex-direction:column}.platform-tenant-toolbar{width:100%;justify-content:flex-end}.platform-tenant-search{flex:1}.platform-tenant-search input{width:100%}
}
@media(max-width:767px){
 .platform-account-pane{padding:var(--space-sm)}
 .platform-account-heading{margin-bottom:var(--space-xs)}
 .platform-account-details{margin:var(--space-sm) 0}
 .platform-account-actions{padding-top:var(--space-sm)}
 .platform-page-header{flex-direction:column;gap:var(--space-sm)}
 .platform-tenant-toolbar{justify-content:space-between}
}
@media(max-width:899px){.platform-metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:599px){
 .platform-shell .platform-topbar{padding:var(--space-xs) var(--space-md);column-gap:var(--space-2xs);row-gap:var(--space-2xs);flex-wrap:wrap}
 .platform-table-rows-3{max-block-size:min(70dvh,calc(var(--target-min) * 14))}
 .platform-account-pane{right:0;width:min(20rem,calc(100dvw - var(--space-md)));padding:var(--space-sm) var(--space-xs)}
 .platform-notification-pane{position:fixed;top:calc(var(--nav-topbar-height) - var(--space-2xs));right:var(--space-xs);left:var(--space-xs);width:auto}
 .platform-account-heading{gap:var(--space-3xs)}
 .platform-brand{gap:var(--space-xs)}
 .platform-brand img{width:var(--control-sm);height:var(--control-sm);object-fit:cover;object-position:left}
 .platform-shell .platform-product{display:inline;font:var(--text-body);font-weight:var(--fw-semibold);padding-left:var(--space-xs)}
 .platform-shell .platform-page{padding:var(--gutter-mobile)}
 .platform-shell .platform-menu{width:var(--target-min);padding:var(--space-2xs)}
 .platform-menu span{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
 .platform-primary-action{width:100%}.platform-metric-grid{grid-template-columns:1fr}.platform-metric-card{min-height:0}.platform-data-card-header{align-items:flex-start}.platform-tenant-toolbar{display:grid;grid-template-columns:minmax(0,1fr) var(--target-min);width:100%;justify-content:stretch}.platform-tenant-search{grid-column:1;min-width:0;width:100%}.platform-tenant-search input{width:100%}.platform-tenant-filter{grid-column:2}.platform-tenant-toolbar>.platform-header-actions{grid-column:1/-1;justify-self:start}.platform-tenant-table,.platform-tenant-table tbody,.platform-tenant-table tr,.platform-tenant-table td{display:block;width:100%;min-width:0}.platform-tenant-table thead{display:none}.platform-tenant-table tbody{display:grid;gap:var(--space-sm);padding:var(--space-sm)}.platform-tenant-table tr{padding:0 var(--space-sm);border:var(--border-width-default) solid var(--border-color-default);border-radius:var(--radius-md)}.platform-tenant-table td{display:grid;grid-template-columns:minmax(7rem,1fr) minmax(0,1fr);gap:var(--space-sm);align-items:center;padding:var(--space-2xs) 0;border-top:var(--border-width-default) solid var(--border-color-default)}.platform-tenant-table td:first-child{border-top:0}.platform-tenant-table td::before{content:attr(data-label);font:var(--text-caption);font-weight:var(--fw-bold);letter-spacing:var(--ls-wide);text-transform:uppercase;color:var(--fg-secondary)}.platform-empty-row td,.platform-error-row td{display:block;padding:var(--space-md);text-align:left}.platform-empty-row td::before,.platform-error-row td::before{content:none}.platform-shell button.platform-table-action{justify-self:start}
 .platform-profile-grid{grid-template-columns:1fr;padding:var(--space-sm);gap:var(--space-sm)}
}
@media(prefers-reduced-motion:reduce){.platform-shell *{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
.platform-row-actions{display:flex;align-items:center;flex-wrap:nowrap;gap:var(--space-2xs)}.platform-invitation-action{position:relative;display:inline-flex;flex:none}.platform-icon-tooltip{position:absolute;top:calc(100% + var(--space-2xs));right:0;z-index:4;width:min(13rem,calc(100vw - (var(--space-md) * 2)));padding:var(--space-3xs) var(--space-2xs);border:var(--border-width-default) solid var(--border-color-default);border-radius:var(--radius-sm);background:var(--surface-card);box-shadow:var(--shadow-sm);color:var(--fg-primary);font:var(--text-caption);font-weight:var(--fw-semibold);line-height:1.3;text-align:left;white-space:normal;opacity:0;pointer-events:none;transform:translateY(calc(var(--space-3xs) * -1));transition:opacity var(--duration-fast) ease,transform var(--duration-fast) ease}.platform-invitation-action:hover .platform-icon-tooltip,.platform-invitation-action:focus-within .platform-icon-tooltip{opacity:1;transform:translateY(0)}.platform-danger-action{display:inline-flex;align-items:center;justify-content:center;min-height:var(--target-min);padding:var(--space-2xs) var(--space-sm);border:var(--border-width-default) solid var(--status-danger-border);border-radius:var(--control-radius);background:var(--status-danger-bg);color:var(--status-danger-strong);font:var(--text-label);font-weight:var(--fw-bold);cursor:pointer}.platform-danger-action:hover{filter:brightness(.98)}.platform-confirm-dialog{width:min(32rem,calc(100% - 32px));padding:0;border:var(--border-width-default) solid var(--border-color-default);border-radius:var(--card-radius);background:var(--surface-card);color:var(--fg-primary);box-shadow:var(--shadow-xl)}.platform-confirm-dialog::backdrop{background:rgba(7,27,43,.56)}.platform-confirm-dialog-content{display:grid;gap:var(--space-sm);padding:var(--space-lg)}.platform-confirm-dialog-content h2,.platform-confirm-dialog-content p{margin:0}.platform-confirm-dialog-content>p:not(.platform-kicker){color:var(--fg-secondary);line-height:1.6}.platform-confirm-dialog-actions{display:flex;justify-content:flex-end;gap:var(--space-xs);margin-top:var(--space-xs)}@media(max-width:600px){.platform-confirm-dialog-actions{display:grid}.platform-confirm-dialog-actions button{width:100%}}
.platform-manual-accept-warning{padding:var(--space-sm);border:var(--border-width-default) solid var(--status-warning-border);border-radius:var(--radius-md);background:var(--status-warning-bg);color:var(--status-warning-strong)!important;font:var(--text-body-sm)}.platform-manual-accept-dialog .platform-form-status{line-height:1.5}
.platform-tenant-deletion-list{display:grid;gap:var(--space-xs);min-width:0;max-height:calc(var(--target-min) * 5);overflow:auto;margin:0;padding:var(--space-sm);list-style:none;border:var(--border-width-default) solid var(--border-color-default);border-radius:var(--radius-md)}.platform-tenant-deletion-list li{min-width:0;overflow-wrap:anywhere}.platform-tenant-deletion-list p{font:var(--text-body-sm);color:var(--fg-secondary)}.platform-tenant-deletion-list [data-tone="danger"]{color:var(--status-danger-strong)}.platform-tenant-deletion-list [data-tone="warning"]{color:var(--status-warning-strong)}.platform-tenant-deletion-list [data-tone="success"]{color:var(--status-success-strong)}
.platform-profile-closure{grid-column:1/-1}.platform-profile-closure p{margin:0;overflow-wrap:anywhere}.platform-profile-closure button{margin-top:var(--space-xs)}.platform-profile-closure [data-tone="danger"]{color:var(--status-danger-strong)}.platform-profile-closure [data-tone="warning"]{color:var(--status-warning-strong)}.platform-profile-closure [data-tone="success"]{color:var(--status-success-strong)}
.platform-invitation-status-value{display:inline-flex;align-items:center;gap:var(--space-2xs);font-weight:var(--fw-semibold);white-space:nowrap}.platform-invitation-status-value svg{width:var(--icon-sm);height:var(--icon-sm);flex:none}.platform-invitation-status-accepted{color:var(--status-success-strong)}.platform-invitation-status-sent{color:var(--status-info-strong)}.platform-invitation-status-pending,.platform-invitation-status-uncertain{color:var(--status-warning-strong)}.platform-invitation-status-cancelled,.platform-invitation-status-failed{color:var(--status-danger-strong)}

/* App registration settings extend the existing Platform form pattern. */
.platform-app-routing{display:grid;gap:var(--space-md)}
.platform-app-routing .platform-form-field select{width:100%;min-width:0;min-height:var(--control-lg);padding:var(--space-xs) var(--space-sm);border:var(--border-width-default) solid var(--border-color-strong);border-radius:var(--radius-md);background:var(--surface-card);color:var(--fg-primary);font:var(--text-body)}
.platform-app-history{padding:var(--card-pad-spacious);display:grid;gap:var(--space-md);overflow-wrap:anywhere}.platform-app-history article p{margin:0 0 var(--space-xs)}
.platform-app-routing input:focus-visible,.platform-app-routing select:focus-visible{outline:var(--focus-ring-width,3px) solid var(--accent-500);outline-offset:var(--space-3xs,2px)}

.platform-app-routing h2{margin:0}.platform-app-routing+.platform-data-card{margin-top:var(--space-lg)}
.platform-app-routing .platform-onboarding-form{grid-template-columns:repeat(2,minmax(0,1fr))}
.platform-app-routing .platform-form-field:first-child,.platform-app-routing .platform-form-status,.platform-app-routing button[type="submit"]{grid-column:1/-1}
@media(max-width:600px){.platform-app-routing .platform-onboarding-form{grid-template-columns:minmax(0,1fr)}}
.platform-app-routing .platform-form-field{align-content:start}

/* Platform Select extension reuses the navigation disclosure and popup tokens. */
.platform-select{position:relative;min-width:0}
.platform-shell button.platform-select-trigger{display:flex;justify-content:space-between;width:100%;min-width:0;min-height:var(--control-lg);padding:var(--space-xs) var(--space-sm);border:var(--border-width-default) solid var(--border-color-strong);border-radius:var(--radius-md);background:var(--surface-card);color:var(--fg-primary);font:var(--text-body);text-align:left;white-space:normal}
.platform-shell button.platform-select-trigger:hover{background:var(--surface-sunken)}
.platform-shell button.platform-select-trigger:disabled{background:var(--surface-sunken);color:var(--fg-secondary);cursor:wait}
.platform-shell button.platform-select-trigger[aria-invalid="true"]{border-color:var(--status-danger)}
.platform-select-value{min-width:0;overflow-wrap:anywhere}
.platform-select-chevron{display:grid!important;place-items:center;flex:none;width:var(--icon-sm);height:var(--icon-sm);color:var(--fg-secondary)}
.platform-select-trigger[aria-expanded="true"] .platform-nav-chevron{transform:rotate(225deg) translate(-0.1rem,-0.1rem)}
.platform-select-options{position:absolute;inset:calc(100% + var(--space-3xs)) 0 auto;z-index:4;max-height:calc(var(--target-min) * 6);overflow:auto;overscroll-behavior:contain;padding:var(--space-3xs);border:var(--border-width-default) solid var(--border-color-default);border-radius:var(--radius-lg);background:var(--surface-card);box-shadow:var(--shadow-md)}
.platform-select.opens-up .platform-select-options{inset:auto 0 calc(100% + var(--space-3xs))}
.platform-select-option{display:flex;align-items:center;justify-content:space-between;gap:var(--space-xs);min-height:var(--target-min);padding:var(--space-2xs) var(--space-xs);border-radius:var(--radius-md);color:var(--fg-primary);font:var(--text-body);overflow-wrap:anywhere;cursor:pointer}
.platform-select-option>span:first-child{min-width:0}
.platform-select-option:hover,.platform-select-option.is-highlighted{background:var(--surface-sunken)}
.platform-select-option[aria-selected="true"]{background:var(--action-tertiary-bg-hover);color:var(--accent-800);font-weight:var(--fw-semibold)}
.platform-select-option.is-highlighted{box-shadow:inset 0 0 0 var(--border-width-focus) var(--accent-500)}
.platform-select-check{display:flex;flex:none}.platform-select-check svg{width:var(--icon-sm);height:var(--icon-sm)}
.platform-select-error{padding-top:var(--space-2xs);color:var(--status-danger-strong)}
.platform-data-card[data-tenant-card]{overflow:visible}
.platform-data-card[data-tenant-card]>.platform-table-wrap{border-radius:0 0 var(--card-radius) var(--card-radius)}
.platform-tenant-filters{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-sm);padding:var(--card-pad-default);border-bottom:var(--border-width-default) solid var(--border-color-default)}
.platform-tenant-filters .platform-form-field{min-width:0;align-content:start}
.platform-tenant-filters input{min-width:0}
.platform-tenant-filters input[type="date"],.platform-app-routing #routing-id{font-family:var(--font-mono)}
.platform-tenant-filter-footer{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:var(--space-sm)}
.platform-tenant-filters .platform-form-status{grid-column:1/-1}
.platform-tenant-filter-summary{padding:var(--space-2xs) var(--card-pad-default);border-bottom:var(--border-width-default) solid var(--border-color-default);overflow-wrap:anywhere}
.platform-shell .platform-tenant-filter.has-filters{border-color:var(--accent-500);background:var(--action-tertiary-bg-hover);color:var(--accent-800)}
@media(max-width:1199px){.platform-tenant-filters{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:599px){.platform-tenant-filters{grid-template-columns:minmax(0,1fr)}.platform-tenant-filter-footer{align-items:flex-start;flex-direction:column}}

/* Supply-order composition: Odoo order state stays separate from factory evidence. */
.platform-supply-table{min-width:64rem}.platform-supply-table td{overflow-wrap:anywhere}.platform-supply-code{display:block;margin-top:var(--space-3xs);font:var(--text-caption);font-family:var(--font-mono);color:var(--fg-secondary)}.platform-supply-reference{font-family:var(--font-mono)}
.platform-supply-order-state,.platform-supply-readiness{display:block}.platform-supply-readiness{margin-top:var(--space-2xs);color:var(--fg-secondary);font:var(--text-body-sm);line-height:1.4;overflow-wrap:anywhere}
.platform-supply-progress{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--space-2xs);margin:0;padding:0;list-style:none}.platform-supply-progress li{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-xs);min-width:0;color:var(--fg-secondary);font:var(--text-caption);line-height:1.4}.platform-supply-progress li>span:first-child{min-width:0;white-space:nowrap}.platform-supply-count{flex:none;color:var(--fg-primary);font-family:var(--font-mono);font-weight:var(--fw-semibold)}.platform-supply-evidence-unavailable{color:var(--fg-secondary);font:var(--text-body-sm)}
@media(max-width:820px){.platform-supply-table{min-width:0}.platform-supply-table thead{display:none}.platform-supply-table,.platform-supply-table tbody,.platform-supply-table tr,.platform-supply-table td{display:block;width:100%;min-width:0}.platform-supply-table tbody{display:grid;gap:var(--space-sm);padding:var(--space-sm)}.platform-supply-table tr{padding:0 var(--space-sm);border:var(--border-width-default) solid var(--border-color-default);border-radius:var(--radius-md);background:var(--surface-card)}.platform-supply-table td{display:grid;grid-template-columns:minmax(7rem,1fr) minmax(0,1.3fr);gap:var(--space-sm);align-items:start;padding:var(--space-2xs) 0;border-top:var(--border-width-default) solid var(--border-color-default)}.platform-supply-table td:first-child{border-top:0}.platform-supply-table td::before{content:attr(data-label);font:var(--text-caption);font-weight:var(--fw-bold);letter-spacing:var(--ls-wide);text-transform:uppercase;color:var(--fg-secondary)}.platform-supply-table .platform-empty-row td{display:block;padding:var(--space-md);text-align:left}.platform-supply-table .platform-empty-row td::before{content:none}}
.platform-supplies .platform-data-card-header>button{align-self:flex-start;width:auto}

/* Testing reset composes the existing confirmation, form, status and list roles. */
.platform-testing-reset-dialog{width:min(var(--dialog-width-lg),calc(100vw - (var(--space-lg) * 2)));max-height:calc(100dvh - (var(--space-lg) * 2));overflow:hidden;overscroll-behavior:contain;border-radius:var(--dialog-radius)}
.platform-testing-reset-dialog .platform-testing-reset-frame{display:flex;flex-direction:column;gap:0;max-height:calc(100dvh - (var(--space-lg) * 2) - (var(--border-width-default) * 2));min-height:0;padding:0}
.platform-testing-reset-header{display:flex;align-items:flex-start;justify-content:space-between;flex-wrap:wrap;gap:var(--space-lg);flex:none;padding:var(--dialog-pad);border-bottom:var(--border-width-default) solid var(--border-color-default)}
.platform-testing-reset-heading{display:grid;gap:var(--space-xs);min-width:0}
.platform-testing-reset-heading h2:focus{outline:none}
.platform-testing-reset-header .platform-testing-reset-status{display:grid;gap:var(--space-2xs);flex:none;text-align:right}
.platform-testing-reset-body{display:grid;gap:var(--space-md);min-height:0;overflow:auto;overscroll-behavior:contain;scrollbar-gutter:stable;padding:var(--dialog-pad)}
.platform-testing-reset-body>p{color:var(--fg-secondary);line-height:var(--lh-body)}
.platform-testing-reset-review{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,calc(var(--dialog-width-md) / 2)),1fr));align-items:start;gap:var(--space-lg)}
.platform-testing-reset-progress{display:grid;gap:var(--space-md);min-width:0}
.platform-testing-reset-footer{display:grid;gap:var(--space-sm);flex:none;padding:var(--space-md) var(--dialog-pad);border-top:var(--border-width-default) solid var(--border-color-default);background:var(--surface-card)}
.platform-testing-reset-footer .platform-confirm-dialog-actions{flex-wrap:wrap;margin-top:0}
.platform-testing-reset-footer .platform-confirm-dialog-actions button{width:auto;margin-top:0}
.platform-testing-reset-footer [data-testing-reset-close]{margin-inline-end:auto}
.platform-testing-reset-section{display:grid;gap:var(--space-xs);min-width:0}
.platform-testing-reset-section[hidden],.platform-testing-reset-toggle[hidden],.platform-testing-reset-events[hidden]{display:none}
.platform-testing-reset-section h3{margin:0;font:var(--text-label);font-weight:var(--fw-bold)}
.platform-testing-reset-list{display:grid;gap:var(--space-2xs);margin:0;padding:0;list-style:none}
.platform-testing-reset-list li{display:flex;align-items:center;justify-content:space-between;gap:var(--space-xs);min-width:0;font:var(--text-body-sm)}
.platform-testing-reset-list li>span{min-width:0;overflow-wrap:anywhere}
.platform-testing-reset-row-controls{display:flex;align-items:center;justify-content:flex-end;gap:var(--space-xs);flex:none;max-width:100%}
.platform-testing-reset-categories .platform-supply-count{width:var(--target-min);flex:none;text-align:right}
.platform-testing-reset-categories .platform-supply-count .platform-skeleton{width:100%;max-width:100%}
/* Native selection input reuses the registered Switch geometry and tokens.
   The label states Clear/Keep; changing it only edits the next preview. */
.platform-testing-reset-toggle{position:relative;display:inline-flex;align-items:center;gap:var(--space-3xs);min-height:var(--target-min);margin:0;cursor:pointer}
.platform-testing-reset-toggle input{position:absolute;inset-inline-start:0;top:0;width:calc(var(--target-min) + var(--space-xs));height:var(--target-min);min-height:var(--target-min);margin:0;padding:0;opacity:0;cursor:inherit}
.platform-testing-reset-toggle-track{position:relative;display:inline-block;flex:none;width:calc(var(--target-min) + var(--space-xs));height:var(--target-min);pointer-events:none;border-radius:var(--radius-pill)}
.platform-testing-reset-toggle-track::before{content:'';position:absolute;inset-inline:var(--space-3xs);top:50%;height:var(--space-md);transform:translateY(-50%);border:var(--border-width-default) solid var(--border-color-strong);border-radius:var(--radius-pill);background:var(--surface-sunken);transition:background var(--duration-standard),border-color var(--duration-standard)}
.platform-testing-reset-toggle-track::after{content:'';position:absolute;top:50%;inset-inline-start:var(--space-2xs);width:var(--icon-md);height:var(--icon-md);transform:translateY(-50%);border-radius:var(--radius-pill);background:var(--surface-page);box-shadow:var(--shadow-sm);transition:inset-inline-start var(--duration-standard)}
.platform-testing-reset-toggle input:checked+.platform-testing-reset-toggle-track::before{border-color:var(--action-primary-bg);background:var(--action-primary-bg)}
.platform-testing-reset-toggle input:checked+.platform-testing-reset-toggle-track::after{inset-inline-start:calc(var(--target-min) - var(--space-sm))}
.platform-testing-reset-toggle input:focus-visible+.platform-testing-reset-toggle-track{outline:var(--border-width-focus) solid var(--accent-500);outline-offset:var(--border-width-strong)}
.platform-testing-reset-toggle:hover input:not(:disabled)+.platform-testing-reset-toggle-track::before{border-color:var(--border-color-accent)}
.platform-testing-reset-toggle:has(input:disabled){cursor:default}
.platform-testing-reset-toggle input:disabled+.platform-testing-reset-toggle-track{opacity:var(--opacity-muted)}
.platform-testing-reset-toggle-state{min-width:calc(var(--space-md) + var(--space-sm));font:var(--text-caption);color:var(--fg-secondary)}
.platform-testing-reset-toggle:has([data-testing-reset-backup-required]) .platform-testing-reset-toggle-state{min-width:calc(var(--target-min) + var(--space-xs))}
@media(prefers-reduced-motion:reduce){.platform-testing-reset-toggle-track::before,.platform-testing-reset-toggle-track::after{transition:none}}
.platform-testing-reset-events{display:grid;gap:var(--space-2xs);max-height:calc(var(--target-min) * 5);margin:0;padding:0;list-style:none;overflow:auto;overscroll-behavior:contain}
.platform-testing-reset-events li{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--space-3xs);padding:var(--space-2xs) 0;border-top:var(--border-width-default) solid var(--border-color-default)}
.platform-testing-reset-events time{font:var(--text-caption);font-family:var(--font-mono);color:var(--fg-secondary)}
.platform-testing-reset-events li>span{display:grid;gap:var(--space-3xs);min-width:0}
.platform-testing-reset-events strong{font:var(--text-body-sm);font-weight:var(--fw-semibold)}
.platform-testing-reset-events small{font:var(--text-caption);color:var(--fg-secondary);overflow-wrap:anywhere}
.platform-testing-reset-step-state{flex:none;font:var(--text-caption);color:var(--fg-secondary)}
.platform-testing-reset-step-state.platform-status-active{color:var(--status-success-strong)}
.platform-testing-reset-step-state.platform-status-deleted{color:var(--status-danger-strong)}
.platform-testing-reset-status{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-sm)}
.platform-testing-reset-status strong{font:var(--text-label);font-weight:var(--fw-bold)}
.platform-testing-reset-job{font-family:var(--font-mono);overflow-wrap:anywhere}
.platform-testing-reset-dialog .platform-form-status{overflow-wrap:anywhere;line-height:var(--lh-body)}
.platform-testing-reset-dialog button:disabled{cursor:not-allowed;opacity:var(--opacity-muted)}
/* Factory configuration is an Atlantic operational composition of existing card, form and status roles. */
/* Vanilla Toast adapter: canonical HealthEye toast geometry and rich error tokens. */
.platform-configuration-toast{position:fixed;inset:auto var(--space-lg) var(--space-lg) auto;z-index:5;display:grid;grid-template-columns:var(--icon-sm) minmax(0,1fr) var(--target-min);gap:var(--space-xs);align-items:start;width:min(var(--toast-width),calc(100dvw - var(--space-lg) * 2));max-height:calc(100dvh - var(--space-lg) * 2);overflow:auto;padding:var(--toast-pad);border:var(--border-width-default) solid var(--status-danger-border);border-radius:var(--toast-radius);background:var(--status-danger-bg);color:var(--status-danger-strong);box-shadow:var(--toast-shadow);font:var(--text-body-sm)}
.platform-configuration-toast[hidden]{display:none}
.platform-configuration-toast-icon{display:flex;align-items:center;min-height:var(--target-min)}
.platform-configuration-toast-icon svg{width:var(--icon-sm);height:var(--icon-sm)}
.platform-configuration-toast p{margin:0;align-self:center;color:inherit;overflow-wrap:anywhere}
.platform-configuration-toast-actions{grid-column:2/-1;display:flex;justify-content:flex-end}
.platform-shell button.platform-configuration-toast-action{min-height:var(--target-min);padding:var(--space-2xs) var(--space-xs);border:var(--border-width-default) solid transparent;border-radius:var(--radius-md);background:var(--action-primary-bg);color:var(--action-primary-fg);font:var(--text-body-sm);font-weight:var(--fw-semibold)}
.platform-shell button.platform-configuration-toast-action:hover{background:var(--action-primary-bg-hover)}
.platform-shell button.platform-configuration-toast-close{display:grid;place-items:center;min-width:var(--target-min);min-height:var(--target-min);padding:var(--space-2xs);border:var(--border-width-default) solid var(--border-color-default);border-radius:var(--radius-md);background:var(--surface-page);color:var(--fg-secondary)}
.platform-configuration-toast-close svg{width:var(--icon-sm);height:var(--icon-sm)}
.platform-shell .platform-configuration-toast button:focus-visible{outline:var(--border-width-focus) solid var(--focus-ring);outline-offset:var(--border-width-strong)}
.platform-configuration-header{align-items:flex-start}
.platform-configuration-header .platform-secondary-action{flex:none}
.platform-configuration-layout{display:grid;grid-template-columns:minmax(16rem,0.8fr) minmax(0,1.5fr);gap:var(--space-lg);align-items:start;max-width:var(--content-wide)}
.platform-configuration-queue,.platform-configuration-detail{min-width:0}
.platform-configuration-detail{max-width:none}
.platform-configuration-list{display:grid;gap:var(--space-2xs);padding:var(--space-sm)}
.platform-configuration-list[aria-busy="true"]{min-height:var(--target-min)}
.platform-shell .platform-configuration-unit{display:grid;gap:var(--space-3xs);width:100%;min-height:var(--target-min);padding:var(--space-xs) var(--space-sm);border:var(--border-width-default) solid var(--border-color-default);border-radius:var(--radius-md);background:var(--surface-card);color:var(--fg-primary);text-align:left;cursor:pointer}
.platform-configuration-unit strong{font:var(--text-label);font-family:var(--font-mono);overflow-wrap:anywhere}
.platform-configuration-unit span{font:var(--text-body-sm);color:var(--fg-secondary)}
.platform-shell .platform-configuration-unit:hover,.platform-shell .platform-configuration-unit[aria-current="true"]{border-color:var(--accent-500);background:var(--action-tertiary-bg-hover)}
.platform-configuration-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-sm);margin:0 0 var(--space-md)}
.platform-configuration-facts>div{display:grid;gap:var(--space-3xs);min-width:0}
.platform-configuration-facts dt{font:var(--text-caption);color:var(--fg-secondary)}
.platform-configuration-facts dd{margin:0;font:var(--text-label);color:var(--fg-primary);overflow-wrap:anywhere}
.platform-configuration-detail form{display:grid;gap:var(--space-sm)}
.platform-configuration-check{display:flex;align-items:center;gap:var(--space-xs);min-height:var(--target-min);font:var(--text-label);color:var(--fg-primary)}
.platform-configuration-check input{width:1.25rem;height:1.25rem;accent-color:var(--action-primary-bg)}
.platform-configuration-detail textarea{width:100%;min-height:13rem;padding:var(--space-xs) var(--space-sm);border:var(--border-width-default) solid var(--border-color-strong);border-radius:var(--radius-md);background:var(--surface-card);color:var(--fg-primary);font:var(--text-body-sm);font-family:var(--font-mono);resize:vertical}
.platform-configuration-detail textarea:focus-visible,.platform-shell .platform-configuration-unit:focus-visible{outline:3px solid var(--accent-500);outline-offset:2px}
.platform-configuration-detail [hidden]{display:none}
@media(max-width:1023px){.platform-configuration-layout{grid-template-columns:minmax(0,1fr)}}
@media(max-width:599px){.platform-configuration-facts{grid-template-columns:minmax(0,1fr)}.platform-configuration-header .platform-secondary-action{align-self:flex-start}}



.platform-catalogue-table td{vertical-align:top}



.platform-catalogue-form{align-items:start}.platform-product-checks{align-content:start}.platform-product-checks label{justify-content:flex-start}.platform-plan-products>div{display:grid;gap:var(--space-3xs)}

.platform-catalogue-editor{width:min(var(--content-reading),calc(100vw - var(--space-lg) * 2));max-height:calc(100dvh - var(--space-lg) * 2);overflow:auto;padding:0}.platform-catalogue-editor .platform-confirm-dialog-content{padding:var(--space-md);gap:var(--space-md)}.platform-catalogue-footer{display:flex;justify-content:flex-end;align-items:center;gap:var(--space-xs)}.platform-catalogue-footer button{width:auto}.platform-catalogue-table th:first-child{width:45%}.platform-catalogue-table th:nth-child(2){width:25%}.platform-catalogue-table th:last-child{width:30%}

.platform-catalogue-inventory-dialog{width:min(var(--content-reading),calc(100% - var(--space-lg) * 2));max-height:calc(100dvh - var(--space-lg) * 2);overflow:auto}.platform-catalogue-inventory-dialog h3{margin:0 0 var(--space-sm);font:var(--text-label);font-weight:var(--fw-semibold)}.platform-catalogue-inventory-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-sm);margin:0}.platform-catalogue-inventory-facts dt{font:var(--text-caption);color:var(--fg-secondary)}.platform-catalogue-inventory-facts dd{margin:var(--space-3xs) 0 0;font:var(--text-title);font-weight:var(--fw-semibold)}@media(max-width:599px){.platform-catalogue-inventory-facts{grid-template-columns:repeat(2,minmax(0,1fr))}}

.platform-catalogue-erp-details{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-md)}.platform-catalogue-erp-details p{overflow-wrap:anywhere}@media(max-width:599px){.platform-catalogue-erp-details{grid-template-columns:minmax(0,1fr)}}

.platform-catalogue-editor:has(.platform-select-options:not([hidden])){overflow:visible}

/* Plans table and tenant-scoped assignment reuse the existing catalogue patterns. */
.platform-plans-table{table-layout:fixed}.platform-plans-table th:first-child{width:40%}.platform-plans-table th:last-child{width:calc(var(--target-min) + var(--card-pad-default) * 2)}.platform-plans-table td{overflow-wrap:anywhere}.platform-plans-table td:first-child strong{font-weight:var(--fw-semibold)}.platform-plan-product-names{display:grid;gap:var(--space-3xs);margin:0;padding:0;list-style:none}.platform-tenant-plan-content{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-lg);padding:var(--card-pad-default)}.platform-tenant-plan .platform-catalogue-assignment{padding:0;border:0;align-content:start}.platform-tenant-plan .platform-primary-action{justify-self:start}.platform-tenant-plan .platform-onboarding-form{align-content:start}@media(max-width:820px){.platform-tenant-plan-content{grid-template-columns:minmax(0,1fr)}}

.platform-plans .platform-plan-products label{margin:0}.platform-plans input[name="code"]{font-family:var(--font-mono)}

/* Catalogue selection and archive dialogs compose existing Atlantic table/form controls. */
.platform-selection-actions{display:flex;align-items:center;gap:var(--space-xs);margin-block:var(--space-xs)}
.platform-product-selection-table{table-layout:fixed}.platform-product-selection-table th:first-child{width:calc(var(--target-min) + var(--space-sm) * 2)}.platform-product-selection-table th:last-child{width:35%}
.platform-selection-target{display:flex;align-items:center;justify-content:center;min-width:var(--target-min);min-height:var(--target-min);margin:0}
.platform-product-selection-table input{accent-color:var(--action-primary-bg)}
.platform-plans-table th:last-child{width:calc(var(--target-min) * 2 + var(--space-xs) + var(--card-pad-default) * 2)}
.platform-catalogue-history{padding-inline-start:var(--space-md);display:grid;gap:var(--space-xs);font:var(--text-caption);color:var(--fg-secondary)}

.platform-catalogue-table th:first-child{width:calc(var(--target-min) + var(--space-sm) * 2)}.platform-catalogue-table th:nth-child(2){width:40%}.platform-catalogue-table th:nth-child(3){width:20%}.platform-catalogue-table td{vertical-align:middle}

.platform-plans .platform-selection-actions{display:flex;justify-content:flex-end}.platform-selection-actions button{width:auto}

.platform-product-selection-table th,.platform-product-selection-table td{padding:var(--space-xs) var(--space-sm)}

.platform-selection-target input[type="checkbox"]{width:var(--icon-md);height:var(--icon-md);min-height:0;margin:0;flex:none;accent-color:var(--action-primary-bg)}

/* Release picker composition: protected default, adjacent removable label action. */
.platform-release-delete{flex:none;margin-inline-start:auto;color:var(--status-danger-strong)}
