  
.door-workplace-watch {
    position: fixed;
    inset: 0;
    z-index: 1200;
    display: grid;
    place-items: center;
    padding: clamp(1rem, 3vw, 2.5rem);
    background: rgba(15, 23, 42, .72);
    backdrop-filter: blur(8px);
}

.door-workplace-watch[hidden] {
    display: none !important;
}

.door-workplace-watch__panel {
    width: min(38rem, 100%);
    display: grid;
    gap: .7rem;
    padding: clamp(1.25rem, 3vw, 2rem);
    border: 1px solid rgba(255, 255, 255, .72);
    border-radius: 1.15rem;
    background: rgba(255, 255, 255, .97);
    box-shadow: 0 1.5rem 4rem rgba(15, 23, 42, .28);
}

.door-workplace-watch__kicker {
    color: var(--c-muted);
    font-size: .78rem;
    font-weight: 800;
    letter-spacing: .06em;
    text-transform: uppercase;
}

.door-workplace-watch__panel h2,
.door-workplace-watch__panel p,
.door-workplace-watch__panel small {
    margin: 0;
}

.door-workplace-watch__panel h2 {
    color: var(--c-text);
    font-size: clamp(1.35rem, 3vw, 2rem);
    line-height: 1.12;
}

.door-workplace-watch__panel p {
    color: var(--c-text);
    font-size: 1rem;
    line-height: 1.55;
}

.door-workplace-watch__panel small {
    color: var(--c-muted);
    font-size: .82rem;
    line-height: 1.5;
}

.door-workplace-watch.is-offline .door-workplace-watch__panel {
    border-top: .34rem solid var(--c-warn);
}

.door-workplace-watch.is-closed .door-workplace-watch__panel,
.door-workplace-watch.is-technical .door-workplace-watch__panel {
    border-top: .34rem solid var(--c-danger);
}

[data-door-watch].is-door-stale {
    user-select: none;
}

html.is-door-watch-active,
html.is-door-watch-active body {
    overflow: hidden;
}

 

 
:root {
      
    --c-bg: #f3f4f6;
    --c-surface: #ffffff;
    --c-soft: #f9fafb;
    --c-text: #111827;
    --c-muted: #6b7280;
    --c-border: #d1d5db;

    --c-primary: #2061ae;
    --c-primary-hover: #174a86;
    --c-primary-soft: #eff6ff;
    --c-primary-text: #1d4ed8;

    --c-ok-bg: #dcfce7;
    --c-ok-text: #166534;
    --c-info-bg: #e0f2fe;
    --c-info-text: #075985;
    --c-warn-bg: #fef3c7;
    --c-warn-text: #92400e;
    --c-danger: #b91c1c;
    --c-danger-bg: #fee2e2;
    --c-danger-text: #991b1b;
    --c-neutral-bg: #e5e7eb;
    --c-neutral-text: #374151;

    --bp-bg: #eaebed;
    --bp-accent: #006989;
    --bp-line: rgba(0, 105, 137, .18);
    --bp-surface: #ffffff;
    --bp-text: #12323a;
    --bp-grid-size: 28px;
    --bp-stage-inset: inset 0 0 44px 14px var(--bp-bg);

      
    --sp-xs: .25rem;
    --sp-sm: .5rem;
    --sp-md: .75rem;
    --sp-lg: 1rem;
    --sp-xl: 1.5rem;
    --sp-2xl: 2rem;

      
    --r-sm: .35rem;
    --r-md: .55rem;
    --r-lg: .75rem;
    --r-xl: .95rem;
    --r-pill: 999px;

      
    --shadow-sm: 0 .0625rem .2rem rgba(0,0,0,.035);
    --shadow-md: 0 .25rem .85rem rgba(0,0,0,.045);
    --shadow-lg: 0 1.1rem 3.4rem rgba(0,0,0,.22);

      
    --content-contained: 1280px;
    --content-wide: 1680px;
    --sidebar-width: 300px;
    --control-height: 2.7rem;

    --font: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
}

 

 
*,
*::before,
*::after { box-sizing: border-box; }

  
[hidden] { display: none !important; }

body {
    margin: 0;
    background: var(--c-bg);
    color: var(--c-text);
    font-family: var(--font);
    font-size: 15px;
    line-height: 1.45;
}

 
 
body.deni-blueprint-stage {
    position: relative;
    isolation: isolate;
    background: var(--bp-bg);
}

body.deni-blueprint-stage::before {
    content: "";
    position: fixed;
    z-index: 0;
    inset: 0;
    pointer-events: none;
    background:
        linear-gradient(90deg, var(--bp-line) 1px, transparent 1px),
        linear-gradient(0deg, var(--bp-line) 1px, transparent 1px),
        var(--bp-bg);
    background-size: var(--bp-grid-size) var(--bp-grid-size);
    box-shadow: var(--bp-stage-inset);
}

body.deni-blueprint-stage > .app-header,
body.deni-blueprint-stage > main {
    position: relative;
    z-index: 1;
}

button,
input,
select,
textarea {
    font: inherit;
}

button { cursor: pointer; }

:focus-visible {
    outline: .2rem solid rgba(32, 97, 174, .22);
    outline-offset: .12rem;
}

body.has-open-modal {
    overflow: hidden;
}

 

 
.page {
    width: 100%;
    padding: var(--sp-lg);
}

.page--contained {
    max-width: var(--content-contained);
    margin: 0 auto;
}

.page--wide {
    max-width: var(--content-wide);
    margin: 0 auto;
}

.page--full {
    max-width: none;
}

.page--monitor {
    width: 100vw;
    height: 100vh;
    overflow: hidden;
    padding: var(--sp-lg);
}

.stack { display: grid; gap: var(--sp-lg); }
.stack-sm { display: grid; gap: var(--sp-sm); }
.cluster { display: flex; flex-wrap: wrap; align-items: center; gap: var(--sp-sm); }
.grid { display: grid; gap: var(--sp-md); }
.grid--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.grid--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.grid--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }

.content-grid {
    display: grid;
    grid-template-columns: var(--sidebar-width) minmax(0, 1fr);
    gap: var(--sp-lg);
    align-items: start;
}

.full { grid-column: 1 / -1; }
.muted { color: var(--c-muted); }
.small { font-size: .85rem; }

 

 
.app-header {
    background: var(--c-surface);
    border-bottom: 1px solid var(--c-border);
    padding: var(--sp-lg);
    display: grid;
    gap: var(--sp-lg);
    align-items: center;
}

.app-header--system {
    grid-template-columns: auto 1fr auto;
}

.app-header--workstation {
    grid-template-columns: 1fr auto;
}

.app-header--compact {
    grid-template-columns: 1fr auto;
    padding: var(--sp-md) var(--sp-lg);
}

.logo {
    width: 12rem;
    display: block;
}


.logo-link {
    display: inline-flex;
    align-items: center;
    text-decoration: none;
    border-radius: var(--radius-md);
}

.logo-link:hover,
.logo-link:focus,
.logo-link:active {
    text-decoration: none;
}

.logo-link:focus-visible {
    outline: 3px solid rgba(32, 97, 174, .25);
    outline-offset: .25rem;
}


.header-title h1 {
    margin: 0;
    font-size: clamp(1.25rem, 2vw, 1.7rem);
    line-height: 1.1;
}

.header-title p {
    margin: .25rem 0 0;
    color: var(--c-muted);
}

.header-actions {
    display: flex;
    gap: var(--sp-sm);
    justify-content: flex-end;
    flex-wrap: wrap;
}

 

 
.sidebar {
    position: sticky;
    top: var(--sp-lg);
    background: var(--c-surface);
    border: 1px solid var(--c-border);
    border-radius: var(--r-lg);
    box-shadow: var(--shadow-md);
    padding: var(--sp-md);
}

.sidebar__group + .sidebar__group {
    margin-top: var(--sp-lg);
}

.sidebar__title {
    margin: 0 0 var(--sp-sm);
    color: var(--c-muted);
    font-size: .72rem;
    text-transform: uppercase;
    letter-spacing: .06em;
    font-weight: 950;
}

.sidebar__item {
    display: block;
    text-decoration: none;
    color: var(--c-text);
    border-radius: var(--r-md);
    padding: .55rem .65rem;
    font-weight: 800;
}

.sidebar__item:hover {
    background: var(--c-soft);
    color: var(--c-primary);
}

.sidebar__item.is-active {
    background: var(--c-primary-soft);
    color: var(--c-primary);
}

 

 
.panel {
    background: var(--c-surface);
    border: 1px solid var(--c-border);
    border-radius: var(--r-lg);
    box-shadow: var(--shadow-md);
    overflow: visible;
}

.panel--clip {
    overflow: hidden;
}

.panel--primary {
    border-color: rgba(32, 97, 174, .32);
}

.panel--quiet {
    box-shadow: none;
    background: #fbfcfe;
}

.panel--danger {
    border-color: rgba(185, 28, 28, .35);
}

.panel--blueprint {
    background: var(--bp-bg);
    border-color: rgba(0, 105, 137, .28);
    color: var(--bp-text);
}

.panel.is-critical {
    border-color: var(--c-danger);
    box-shadow: 0 0 0 .18rem rgba(185, 28, 28, .08);
}

.panel.is-live .panel__title::after {
    content: "LIVE";
    display: inline-flex;
    margin-left: .5rem;
    padding: .18rem .42rem;
    border-radius: var(--r-pill);
    background: var(--c-ok-bg);
    color: var(--c-ok-text);
    font-size: .65rem;
    vertical-align: middle;
}

.panel__header {
    display: flex;
    justify-content: space-between;
    gap: var(--sp-md);
    align-items: flex-start;
    padding: var(--sp-lg);
    border-bottom: 1px solid var(--c-border);
    background: var(--c-soft);
    border-top-left-radius: inherit;
    border-top-right-radius: inherit;
}

.panel--blueprint .panel__header {
    background: rgba(255,255,255,.46);
    border-bottom-color: rgba(0, 105, 137, .18);
}

.panel__title {
    margin: 0;
    font-size: 1.08rem;
}

.panel__subtitle {
    margin: .2rem 0 0;
    color: var(--c-muted);
    font-size: .88rem;
}

.panel__actions {
    display: flex;
    gap: var(--sp-sm);
    flex-wrap: wrap;
    justify-content: flex-end;
}

.panel__body {
    padding: var(--sp-lg);
}

.panel__body:first-child {
    border-top-left-radius: inherit;
    border-top-right-radius: inherit;
}

.panel__body:last-child {
    border-bottom-left-radius: inherit;
    border-bottom-right-radius: inherit;
}

.panel__footer {
    padding: var(--sp-md) var(--sp-lg);
    border-top: 1px solid var(--c-border);
    background: var(--c-soft);
    display: flex;
    justify-content: flex-end;
    gap: var(--sp-sm);
    border-bottom-left-radius: inherit;
    border-bottom-right-radius: inherit;
}

 

 
.btn {
    --btn-bg: var(--c-primary);
    --btn-text: #fff;
    --btn-hover: var(--c-primary-hover);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .45rem;
    min-height: 2.5rem;
    border: 0;
    border-radius: var(--r-md);
    padding: .65rem .95rem;
    background: var(--btn-bg);
    color: var(--btn-text);
    font-weight: 900;
    text-decoration: none;
    line-height: 1;
}

.btn:hover {
    background: var(--btn-hover);
}

.btn--secondary {
    --btn-bg: var(--c-neutral-bg);
    --btn-text: var(--c-text);
    --btn-hover: #d1d5db;
}

.btn--passive {
    --btn-bg: #eef2f7;
    --btn-text: #334155;
    --btn-hover: #e2e8f0;
}

.btn--ghost {
    --btn-bg: transparent;
    --btn-text: var(--c-primary);
    --btn-hover: var(--c-primary-soft);
    border: 1px solid var(--c-border);
}

.btn--warning {
    --btn-bg: #d97706;
    --btn-text: #fff;
    --btn-hover: #b45309;
}

.btn--danger {
    --btn-bg: var(--c-danger);
    --btn-text: #fff;
    --btn-hover: #991b1b;
}

.btn--small {
    min-height: 2rem;
    padding: .45rem .65rem;
    font-size: .82rem;
}

.btn--block {
    width: 100%;
}

.action-strip {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    gap: var(--sp-sm);
    padding: .1rem .05rem;
}

 

 
.card {
    background: var(--c-surface);
    border: 1px solid var(--c-border);
    border-radius: var(--r-lg);
    padding: var(--sp-lg);
    box-shadow: var(--shadow-md);
}

.card--quiet {
    box-shadow: none;
    background: var(--c-soft);
}

.card--action {
    width: 100%;
    text-align: left;
    transition: border-color .15s ease, transform .15s ease;
}

.card--action:hover {
    border-color: var(--c-primary);
    transform: translateY(-1px);
}

.metric-card .metric-label {
    color: var(--c-muted);
    text-transform: uppercase;
    letter-spacing: .05em;
    font-weight: 950;
    font-size: .72rem;
}

.metric-card .metric-value {
    font-size: clamp(1.4rem, 3vw, 2.1rem);
    font-weight: 950;
    line-height: 1.1;
    margin-top: .25rem;
}

.metric-card .metric-hint {
    color: var(--c-muted);
    margin-top: .2rem;
    font-size: .84rem;
}

.info-box {
    padding: .85rem .95rem;
    border-radius: var(--r-md);
    border: 1px solid transparent;
    font-weight: 800;
}

.info-box--ok { background: var(--c-ok-bg); color: var(--c-ok-text); }
.info-box--info { background: var(--c-info-bg); color: var(--c-info-text); }
.info-box--warning { background: var(--c-warn-bg); color: var(--c-warn-text); }
.info-box--danger { background: var(--c-danger-bg); color: var(--c-danger-text); }

.empty-state {
    padding: var(--sp-xl);
    border: 1px dashed var(--c-border);
    border-radius: var(--r-lg);
    background: var(--c-soft);
    color: var(--c-muted);
    text-align: center;
}

.badge {
    display: inline-flex;
    align-items: center;
    border-radius: var(--r-pill);
    padding: .28rem .55rem;
    font-size: .76rem;
    font-weight: 950;
    white-space: nowrap;
}

.badge--ok { background: var(--c-ok-bg); color: var(--c-ok-text); }
.badge--info { background: var(--c-info-bg); color: var(--c-info-text); }
.badge--warn { background: var(--c-warn-bg); color: var(--c-warn-text); }
.badge--danger { background: var(--c-danger-bg); color: var(--c-danger-text); }
.badge--neutral { background: var(--c-neutral-bg); color: var(--c-neutral-text); }

 

 
.form-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--sp-md);
}

.field label,
.field-label {
    display: block;
    margin-bottom: .35rem;
    font-weight: 850;
    font-size: .85rem;
}

input,
textarea,
select {
    width: 100%;
    min-height: var(--control-height);
    border: 2px solid var(--c-border);
    border-radius: var(--r-md);
    padding: .58rem .7rem;
    background: #fff;
    color: var(--c-text);
}

textarea {
    min-height: 5rem;
    resize: vertical;
}

input:focus,
textarea:focus,
select:focus {
    outline: none;
    border-color: var(--c-primary);
    box-shadow: 0 0 0 .2rem rgba(32, 97, 174, .12);
}

.field-help {
    display: block;
    margin-top: .3rem;
    color: var(--c-muted);
    font-size: .78rem;
}

.field.is-error input {
    border-color: var(--c-danger);
}

.input-group {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
}

.input-group input {
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
}

.input-unit {
    min-height: var(--control-height);
    display: inline-flex;
    align-items: center;
    border: 2px solid var(--c-border);
    border-left: 0;
    border-radius: 0 var(--r-md) var(--r-md) 0;
    background: var(--c-soft);
    padding: 0 .75rem;
    font-weight: 850;
    color: var(--c-muted);
}

.native-hidden {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    opacity: 0 !important;
    overflow: hidden !important;
    pointer-events: none !important;
    clip-path: inset(50%) !important;
}

  
.custom-select {
    position: relative;
}

.custom-select select {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    opacity: 0 !important;
    pointer-events: none !important;
    clip-path: inset(50%) !important;
}

.custom-select__button {
    width: 100%;
    min-height: var(--control-height);
    border: 2px solid var(--c-border);
    border-radius: var(--r-md);
    background: #fff;
    color: var(--c-text);
    padding: .58rem .75rem;
    display: flex;
    align-items: center;
    justify-content: space-between;
    font-weight: 800;
}

.custom-select__button::after {
    content: "";
    width: .52rem;
    height: .52rem;
    border-right: 2px solid var(--c-muted);
    border-bottom: 2px solid var(--c-muted);
    transform: translateY(-.15rem) rotate(45deg);
}

.custom-select.is-open .custom-select__button {
    border-color: var(--c-primary);
    box-shadow: 0 0 0 .2rem rgba(32, 97, 174, .12);
}

.custom-select__menu {
    display: none;
    position: absolute;
    z-index: 40;
    left: 0;
    right: 0;
    top: calc(100% + .35rem);
    padding: .3rem;
    background: #fff;
    border: 1px solid var(--c-border);
    border-radius: var(--r-md);
    box-shadow: var(--shadow-lg);
}

.custom-select.is-open .custom-select__menu {
    display: grid;
    gap: .15rem;
}

.custom-select__option {
    border: 0;
    border-radius: var(--r-sm);
    background: transparent;
    text-align: left;
    padding: .65rem .7rem;
    font-weight: 800;
}

.custom-select__option:hover,
.custom-select__option.is-selected {
    background: var(--c-primary-soft);
    color: var(--c-primary);
}

  
.choice-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: var(--sp-sm);
}

.choice {
    --choice-accent: var(--c-primary);
    min-height: var(--control-height);
    display: grid;
    grid-template-columns: 1fr auto;
    gap: var(--sp-sm);
    align-items: center;
    padding: .58rem .7rem;
    border: 1px solid var(--c-border);
    border-radius: var(--r-md);
    background: var(--c-soft);
    cursor: pointer;
}

.choice:hover {
    border-color: var(--choice-accent);
    background: #fff;
}

.choice:has(.native-hidden:checked) {
    background: #fff;
    border-color: var(--choice-accent);
}

.choice.is-water { --choice-accent: #0284c7; }
.choice.is-air { --choice-accent: #64748b; }
.choice.is-heat { --choice-accent: #ea580c; }
.choice.is-cool { --choice-accent: #0891b2; }

.choice-text strong {
    display: block;
    font-size: .9rem;
    line-height: 1.12;
}

.choice-text small {
    display: block;
    color: var(--c-muted);
    font-size: .76rem;
    margin-top: .13rem;
}

.check-box,
.radio-box {
    width: 1.24rem;
    height: 1.24rem;
    border: 2px solid var(--c-border);
    border-radius: .3rem;
    background: #fff;
    display: grid;
    place-items: center;
}

.check-box::after {
    content: "✓";
    opacity: 0;
    color: #fff;
    font-size: .84rem;
    line-height: 1;
    font-weight: 1000;
}

.native-hidden:checked + .check-box {
    background: var(--choice-accent);
    border-color: var(--choice-accent);
}

.native-hidden:checked + .check-box::after {
    opacity: 1;
}

.radio-box::after {
    content: "";
    width: .52rem;
    height: .52rem;
    border-radius: .15rem;
    background: #fff;
    opacity: 0;
}

.native-hidden:checked + .radio-box {
    background: var(--choice-accent);
    border-color: var(--choice-accent);
}

.native-hidden:checked + .radio-box::after {
    opacity: 1;
}

.switch-box {
    width: 2.75rem;
    height: 1.48rem;
    border-radius: var(--r-pill);
    background: #d1d5db;
    border: 2px solid #d1d5db;
    position: relative;
}

.switch-box::after {
    content: "";
    position: absolute;
    width: 1rem;
    height: 1rem;
    left: .12rem;
    top: .12rem;
    border-radius: var(--r-pill);
    background: #fff;
    box-shadow: var(--shadow-sm);
    transition: transform .16s ease;
}

.native-hidden:checked + .switch-box {
    background: var(--choice-accent);
    border-color: var(--choice-accent);
}

.native-hidden:checked + .switch-box::after {
    transform: translateX(1.27rem);
}

  
.icon-switch-row {
    display: flex;
    flex-wrap: wrap;
    gap: var(--sp-sm);
}

.icon-switch {
    --icon-accent: var(--c-primary);
    width: var(--control-height);
    height: var(--control-height);
    min-width: var(--control-height);
    min-height: var(--control-height);
    padding: .22rem;
    border: 2px solid var(--c-border);
    border-radius: var(--r-md);
    background: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
}

.icon-switch:hover {
    border-color: var(--icon-accent);
}

.icon-switch:has(.native-hidden:focus-visible) {
    box-shadow: 0 0 0 .2rem color-mix(in srgb, var(--icon-accent) 18%, transparent);
}

.icon-switch__box {
    width: calc(var(--control-height) - .62rem);
    height: calc(var(--control-height) - .62rem);
    min-width: calc(var(--control-height) - .62rem);
    min-height: calc(var(--control-height) - .62rem);
    border: 1px solid color-mix(in srgb, var(--c-border) 82%, #fff);
    border-radius: calc(var(--r-md) - .28rem);
    background: var(--c-soft);
    color: var(--c-muted);
    display: flex;
    align-items: center;
    justify-content: center;
    line-height: 0;
}

.icon-switch__box svg {
    width: 1.14rem;
    height: 1.14rem;
    display: block;
    stroke: currentColor;
    fill: none;
    stroke-width: 2.2;
    stroke-linecap: square;
    stroke-linejoin: round;
}

.native-hidden:checked + .icon-switch__box {
    background: var(--icon-accent);
    border-color: var(--icon-accent);
    color: #fff;
}

.icon-switch.is-air { --icon-accent: #64748b; }
.icon-switch.is-water { --icon-accent: #0284c7; }
.icon-switch.is-pressure { --icon-accent: #7c3aed; }
.icon-switch.is-heat { --icon-accent: #ea580c; }
.icon-switch.is-cooling { --icon-accent: #0891b2; }
.icon-switch.is-ok { --icon-accent: #16a34a; }
.icon-switch.is-warning { --icon-accent: #d97706; }
.icon-switch.is-lock { --icon-accent: #475569; }

  
.parameter-row {
    display: grid;
    grid-template-columns: minmax(12rem, 1fr) auto var(--control-height) minmax(5rem, 7rem) var(--control-height) auto auto;
    gap: var(--sp-sm);
    align-items: center;
    padding: var(--sp-sm);
    border: 1px solid var(--c-border);
    border-radius: var(--r-md);
    background: #fff;
}

.parameter-row__name {
    font-weight: 900;
}

.parameter-row__meta {
    color: var(--c-muted);
    font-size: .78rem;
}

 

 
.table-wrap {
    border: 1px solid var(--c-border);
    border-radius: var(--r-md);
    overflow: auto;
}

.table {
    width: 100%;
    min-width: 40rem;
    border-collapse: collapse;
}

.table th {
    background: var(--c-soft);
    text-align: left;
    padding: .7rem;
    color: var(--c-muted);
    font-size: .75rem;
    text-transform: uppercase;
    letter-spacing: .04em;
}

.table td {
    padding: .7rem;
    border-top: 1px solid #eef2f7;
    vertical-align: top;
}

.object-list {
    border: 1px solid var(--c-border);
    border-radius: var(--r-md);
    overflow: hidden;
    background: #fff;
}

.object-item {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: var(--sp-md);
    padding: var(--sp-md);
    border-bottom: 1px solid #eef2f7;
}

.object-item:last-child { border-bottom: 0; }

.object-title {
    font-weight: 950;
    font-size: 1rem;
}

.object-meta {
    color: var(--c-muted);
    margin-top: .2rem;
    font-size: .84rem;
}

.event-log,
.defect-list,
.parameter-list {
    display: grid;
    gap: var(--sp-sm);
}

.event-log__item,
.defect-item,
.parameter-list__item {
    padding: var(--sp-sm) var(--sp-md);
    border: 1px solid var(--c-border);
    border-radius: var(--r-md);
    background: #fff;
}

.event-log__time {
    font-weight: 950;
    color: var(--c-primary);
    margin-right: .5rem;
}

.defect-item.is-critical {
    border-color: rgba(185, 28, 28, .4);
    background: var(--c-danger-bg);
}

.defect-item.is-warning {
    border-color: rgba(217, 119, 6, .4);
    background: var(--c-warn-bg);
}

 

 
.route-blueprint {
    background:
        linear-gradient(90deg, var(--bp-line) 1px, transparent 1px),
        linear-gradient(0deg, var(--bp-line) 1px, transparent 1px);
    background-size: 28px 28px;
    border-radius: var(--r-lg);
    padding: var(--sp-md);
}

.route-grid {
    display: grid;
    grid-template-columns: repeat(6, minmax(8.5rem, 1fr));
    gap: var(--sp-md);
}

.route-node {
    background: var(--bp-surface);
    border: 1px solid rgba(0, 105, 137, .25);
    border-radius: var(--r-md);
    padding: var(--sp-sm);
    min-height: 7.2rem;
    position: relative;
}

.route-node__label {
    font-weight: 950;
    min-height: 2.2rem;
}

.route-node__key {
    color: var(--c-muted);
    font-size: .68rem;
    text-transform: uppercase;
    letter-spacing: .04em;
    margin-top: .15rem;
}

.route-node__arm {
    margin-top: .8rem;
    width: 100%;
    border: 0;
    background: transparent;
    color: var(--bp-accent);
    text-align: left;
    padding: 0;
    font-size: 1.1rem;
    font-weight: 950;
}


.route-node__arms {
    margin-top: .75rem;
    display: grid;
    gap: .35rem;
}

.route-node__arm-pill {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .5rem;
    border: 1px solid rgba(0, 105, 137, .18);
    background: rgba(255,255,255,.62);
    border-radius: var(--r-pill);
    padding: .36rem .5rem;
}

.route-node__arm-pill b {
    color: var(--bp-accent);
    font-size: .92rem;
    font-weight: 950;
}

.route-node__arm-pill small {
    color: var(--c-muted);
    font-size: .72rem;
    font-weight: 950;
}

.route-node__progress-text {
    margin: .4rem 0 0;
    color: var(--c-muted);
    font-size: .72rem;
    font-weight: 850;
}

.route-node__progress {
    margin-top: .65rem;
    height: .55rem;
    background: #dbe4e7;
    border-radius: var(--r-pill);
    overflow: hidden;
}

.route-node__progress span {
    display: block;
    height: 100%;
    width: var(--progress);
    background: var(--bp-accent);
}

.route-node.needs-action {
    border-color: #d97706;
    box-shadow: 0 0 0 .15rem rgba(217, 119, 6, .12);
}

.route-node.is-processing {
    border-color: var(--bp-accent);
}

.route-node.is-empty {
    opacity: .72;
}

 

 
.spider-blueprint {
    background:
        linear-gradient(90deg, var(--bp-line) 1px, transparent 1px),
        linear-gradient(0deg, var(--bp-line) 1px, transparent 1px);
    background-size: 24px 24px;
    border-radius: var(--r-lg);
    padding: var(--sp-lg);
}

.spider-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 18rem;
    gap: var(--sp-lg);
    align-items: start;
}

.spider-canvas {
    position: relative;
    min-height: 24rem;
    border: 2px solid rgba(0, 105, 137, .34);
    border-radius: var(--r-lg);
    background:
        radial-gradient(circle at center, rgba(0,105,137,.06), transparent 62%),
        #f8fbfc;
    overflow: hidden;
}

.spider-frame {
    position: absolute;
    inset: 2.2rem;
    border: 2px solid rgba(0,105,137,.32);
    border-radius: 1.2rem;
}

.spider-grid {
    position: absolute;
    left: 15%;
    right: 15%;
    height: 4.8rem;
    border: 1px solid rgba(0,105,137,.28);
    border-radius: var(--r-md);
    background:
        linear-gradient(90deg, rgba(0,105,137,.22) 1px, transparent 1px),
        linear-gradient(0deg, rgba(0,105,137,.22) 1px, transparent 1px),
        rgba(255,255,255,.78);
    background-size: 14px 14px;
}

.spider-grid--top { top: 3.3rem; }
.spider-grid--bottom { bottom: 3.3rem; }

.spider-rail {
    position: absolute;
    left: 10%;
    right: 10%;
    height: 1rem;
    border-radius: var(--r-pill);
    background: #12323a;
    box-shadow: inset 0 0 0 2px rgba(255,255,255,.16);
}

.spider-rail--a { top: 43%; }
.spider-rail--b { bottom: 43%; }

.spider-holes {
    position: absolute;
    inset: 0 .6rem;
    display: grid;
    grid-template-columns: repeat(14, 1fr);
    align-items: center;
}

.spider-hole {
    width: .4rem;
    height: .4rem;
    border-radius: 50%;
    background: #fff;
    justify-self: center;
}

.tool-shape {
    position: absolute;
    min-height: 2.8rem;
    border: 2px solid var(--bp-accent);
    border-radius: .55rem;
    background: rgba(255,255,255,.9);
    color: var(--bp-text);
    display: grid;
    place-items: center;
    text-align: center;
    padding: .35rem;
    font-weight: 950;
    font-size: .76rem;
    box-shadow: var(--shadow-sm);
}

.tool-shape::before {
    content: "";
    position: absolute;
    inset: .35rem;
    border: 1px dashed rgba(0,105,137,.25);
    border-radius: .35rem;
}

.tool-shape--left {
    left: 20%;
    width: 24%;
    top: 51%;
}

.tool-shape--right {
    right: 20%;
    width: 24%;
    top: 51%;
}

.tool-shape--centered {
    left: 18%;
    width: 64%;
    top: 35%;
    border-color: #d97706;
    background: #fff7ed;
}

.tool-shape--collision {
    border-color: var(--c-danger);
    background: var(--c-danger-bg);
}

.visual-detail-panel {
    background: #fff;
    border: 1px solid rgba(0,105,137,.24);
    border-radius: var(--r-md);
    padding: var(--sp-md);
}

.detail-line {
    display: grid;
    grid-template-columns: 7rem 1fr;
    gap: var(--sp-sm);
    padding: .55rem 0;
    border-bottom: 1px solid #eef2f7;
}

.detail-line:last-child { border-bottom: 0; }

 

 
.overlay {
    display: none;
    position: fixed;
    inset: 0;
    z-index: 1000;
    background: rgba(0,0,0,.42);
    backdrop-filter: blur(3px);
    padding: var(--sp-xl);
}

.overlay.is-open {
    display: flex;
    align-items: center;
    justify-content: center;
}

.modal {
    width: min(100%, 44rem);
    max-height: calc(100vh - 3rem);
    background: #fff;
    border-radius: var(--r-xl);
    box-shadow: var(--shadow-lg);
    display: grid;
    grid-template-rows: auto 1fr auto;
    overflow: hidden;
}

.modal--small { width: min(100%, 30rem); }
.modal--wide { width: min(100%, 68rem); }
.modal--fullscreen { width: calc(100vw - 2rem); height: calc(100vh - 2rem); }

.modal__header {
    padding: var(--sp-lg);
    border-bottom: 1px solid var(--c-border);
    background: var(--c-soft);
    display: flex;
    justify-content: space-between;
    gap: var(--sp-md);
}

.modal__title {
    margin: 0;
    font-size: 1.15rem;
}

.modal__subtitle {
    margin: .2rem 0 0;
    color: var(--c-muted);
}

.modal__body {
    padding: var(--sp-lg);
    overflow: auto;
}

.modal__footer {
    padding: var(--sp-md) var(--sp-lg);
    border-top: 1px solid var(--c-border);
    background: var(--c-soft);
    display: flex;
    justify-content: flex-end;
    gap: var(--sp-sm);
}


 



 

a {
    color: var(--c-primary);
    text-decoration: none;
    text-underline-offset: .18em;
    font-weight: 750;
}

a:hover {
    color: var(--c-primary-hover);
    text-decoration: underline;
}

a:focus-visible {
    outline: .2rem solid rgba(32, 97, 174, .22);
    outline-offset: .12rem;
    border-radius: var(--r-sm);
}

  
a.card,
a.card:hover,
a.card:focus-visible {
    color: var(--c-text);
    text-decoration: none;
}

  
a.btn,
a.btn:hover,
a.btn:focus-visible {
    color: var(--btn-text);
    text-decoration: none;
}

  
.sidebar a,
.sidebar a:hover,
.sidebar a:focus-visible {
    text-decoration: none;
}

  
.link {
    color: var(--c-primary);
    text-decoration: none;
    font-weight: 850;
}

.link:hover {
    color: var(--c-primary-hover);
    text-decoration: underline;
}

  
.link--muted {
    color: var(--c-muted);
    font-weight: 800;
}

.link--muted:hover {
    color: var(--c-primary);
}

  
.link-pill {
    display: inline-flex;
    align-items: center;
    min-height: 2rem;
    padding: .35rem .6rem;
    border: 1px solid var(--c-border);
    border-radius: var(--r-pill);
    background: var(--c-soft);
    color: var(--c-primary);
    font-weight: 900;
    text-decoration: none;
}

.link-pill:hover {
    background: var(--c-primary-soft);
    border-color: rgba(32, 97, 174, .28);
    text-decoration: none;
}

 

 
@media (max-width: 1280px) {
    .content-grid,
    .spider-layout {
        grid-template-columns: 1fr;
    }

    .sidebar {
        position: static;
    }

    .route-grid {
        grid-template-columns: repeat(3, minmax(9rem, 1fr));
    }

    .grid--4 {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 820px) {
    .app-header--system,
    .app-header--workstation {
        grid-template-columns: 1fr;
    }

    .form-grid,
    .grid--2,
    .grid--3,
    .grid--4,
    .choice-grid,
    .parameter-row {
        grid-template-columns: 1fr;
    }

    .route-grid {
        grid-template-columns: 1fr;
    }

    .action-strip,
    .header-actions,
    .panel__footer,
    .modal__footer {
        justify-content: stretch;
    }

    .action-strip .btn,
    .header-actions .btn,
    .panel__footer .btn,
    .modal__footer .btn {
        flex: 1;
    }
}

 



 

.parameter-row {
    grid-template-columns:
        minmax(14rem, 1fr)
        auto
        minmax(7rem, 9rem)
        max-content
        auto
        var(--control-height) !important;
}

.parameter-row input[type="number"],
.parameter-row input[type="text"] {
    min-width: 7rem;
    width: 100%;
}

.parameter-row .input-unit {
    width: auto !important;
    min-width: 3.25rem;
    justify-content: center;
    padding-inline: .65rem;
    white-space: nowrap;
}

.parameter-row .icon-switch {
    justify-self: end;
}

.sidebar__item.is-active {
    background: var(--c-primary-soft);
    color: var(--c-primary);
    font-weight: 950;
}

@media (max-width: 820px) {
    .parameter-row {
        grid-template-columns: 1fr auto minmax(7rem, 1fr) max-content auto var(--control-height) !important;
    }
}

@media (max-width: 620px) {
    .parameter-row {
        grid-template-columns: 1fr !important;
    }

    .parameter-row .icon-switch {
        justify-self: start;
    }
}


 



 

.parameter-value-group {
    display: grid;
    grid-template-columns: minmax(7rem, 9rem) max-content;
    gap: 0;
    align-items: stretch;
}

.parameter-value-group input {
    min-width: 7rem;
    width: 100%;
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
}

.parameter-value-group .input-unit {
    min-width: 3.1rem;
    width: auto !important;
    border-left: 0;
    border-top-left-radius: 0;
    border-bottom-left-radius: 0;
    justify-content: center;
    padding-inline: .65rem;
    white-space: nowrap;
}

.parameter-row {
    grid-template-columns:
        minmax(14rem, 1fr)
        auto
        minmax(10rem, 12.5rem)
        auto
        var(--control-height) !important;
}

@media (max-width: 820px) {
    .parameter-row {
        grid-template-columns:
            1fr
            auto
            minmax(10rem, 1fr)
            auto
            var(--control-height) !important;
    }
}

@media (max-width: 620px) {
    .parameter-row {
        grid-template-columns: 1fr !important;
    }

    .parameter-value-group {
        grid-template-columns: minmax(7rem, 1fr) max-content;
    }
}


 




 

.parameter-row {
    grid-template-columns:
        minmax(14rem, 1fr)
        auto
        minmax(10rem, 12.5rem)
        auto
        var(--control-height) !important;
    align-items: center !important;
}

.parameter-value-group {
    display: grid !important;
    grid-template-columns: minmax(7rem, 1fr) max-content !important;
    gap: 0 !important;
    align-items: stretch !important;
    min-width: 10rem;
}

.parameter-value-group input {
    min-width: 0 !important;
    width: 100% !important;
    height: var(--control-height) !important;
    border-top-right-radius: 0 !important;
    border-bottom-right-radius: 0 !important;
    border-right-width: 2px !important;
}

.parameter-value-group .input-unit {
    width: auto !important;
    min-width: 3.1rem !important;
    height: var(--control-height) !important;
    border-left: 0 !important;
    border-top-left-radius: 0 !important;
    border-bottom-left-radius: 0 !important;
    justify-content: center !important;
    padding-inline: .65rem !important;
    white-space: nowrap !important;
}

.parameter-row .btn[data-param-adjust] {
    width: var(--control-height);
    min-width: var(--control-height);
    height: var(--control-height);
    padding: 0;
}

.parameter-row .icon-switch {
    justify-self: end;
}

@media (max-width: 820px) {
    .parameter-row {
        grid-template-columns:
            1fr
            auto
            minmax(10rem, 1fr)
            auto
            var(--control-height) !important;
    }
}

@media (max-width: 620px) {
    .parameter-row {
        grid-template-columns: 1fr !important;
    }

    .parameter-row .icon-switch {
        justify-self: start;
    }

    .parameter-value-group {
        width: 100%;
    }
}


 


 

.modal .parameter-row {
    grid-template-columns:
        minmax(14rem, 1fr)
        auto
        minmax(10rem, 12.5rem)
        auto
        var(--control-height) !important;
    align-items: center !important;
}

.modal .parameter-value-group {
    display: grid !important;
    grid-template-columns: minmax(7rem, 1fr) max-content !important;
    gap: 0 !important;
    align-items: stretch !important;
    min-width: 10rem;
}

.modal .parameter-value-group input {
    min-width: 0 !important;
    width: 100% !important;
    height: var(--control-height) !important;
    border-top-right-radius: 0 !important;
    border-bottom-right-radius: 0 !important;
}

.modal .parameter-value-group .input-unit {
    min-width: 3.1rem !important;
    width: auto !important;
    height: var(--control-height) !important;
    border-left: 0 !important;
    border-top-left-radius: 0 !important;
    border-bottom-left-radius: 0 !important;
    justify-content: center !important;
    padding-inline: .65rem !important;
    white-space: nowrap !important;
}

.modal .parameter-row .icon-switch {
    justify-self: end;
    align-self: center;
}

 



 

  
.app-header--system-signature {
    grid-template-columns: auto minmax(0, 1fr) auto;
}

.system-context {
    display: inline-flex;
    align-items: center;
    gap: .45rem;
    margin-top: .35rem;
    color: var(--c-muted);
    font-size: .88rem;
    font-weight: 800;
}

.header-actions {
    align-items: center;
}

.header-select-form {
    display: inline-flex;
    align-items: center;
    gap: .45rem;
    min-width: 0;
}

.header-select-form .field-label {
    margin: 0;
    color: var(--c-muted);
    font-size: .78rem;
    white-space: nowrap;
}

.header-select {
    width: auto;
    min-width: 12rem;
    min-height: 2.5rem;
    height: 2.5rem;
    padding: .45rem 2rem .45rem .7rem;
    border-radius: var(--r-md);
    border-width: 1px;
    font-weight: 900;
    color: var(--c-text);
    background-color: #fff;
}

.header-separator {
    width: 1px;
    height: 2.2rem;
    background: var(--c-border);
    margin: 0 .1rem;
}

  
.page--landing {
    max-width: none;
    min-height: 100vh;
    padding: 0;
    display: grid;
    grid-template-rows: auto 1fr;
}

.landing-shell {
    min-height: 0;
    display: grid;
    grid-template-rows: auto 1fr;
}

.landing-center {
    width: min(100%, 76rem);
    min-height: 0;
    margin: 0 auto;
    padding: clamp(1rem, 4vw, 3rem);
    display: grid;
    align-content: center;
    justify-items: center;
    gap: var(--sp-xl);
}

.landing-title {
    text-align: center;
    max-width: 62rem;
}

.landing-kicker,
.section-title span,
.choice-card__eyebrow,
.work-card__label {
    display: inline-flex;
    align-items: center;
    width: fit-content;
    border-radius: var(--r-pill);
    padding: .28rem .55rem;
    background: var(--c-primary-soft);
    color: var(--c-primary);
    font-size: .72rem;
    font-weight: 950;
    text-transform: uppercase;
    letter-spacing: .055em;
}

.landing-title h1 {
    margin: .72rem 0 0;
    font-size: clamp(2rem, 4.8vw, 3.4rem);
    line-height: 1.12;
}

.landing-title__headline,
.landing-title__description {
    display: inline;
    -webkit-box-decoration-break: clone;
    box-decoration-break: clone;
    background: rgba(0, 105, 137, .78);
    color: #f6fbfd;
    border-radius: 0;
    box-shadow: none;
}

.landing-title__headline {
    padding: .14em .28em .18em;
}

.landing-title p {
    margin: .96rem auto 0;
    max-width: 54rem;
    color: #f6fbfd;
    font-size: clamp(1rem, 1.8vw, 1.12rem);
    line-height: 1.5;
}

.landing-title__description {
    padding: .22em .42em .26em;
}

.landing-note {
    margin: 0;
    text-align: center;
    color: var(--c-muted);
    font-weight: 800;
}

.choice-grid--center {
    width: min(100%, 62rem);
    display: grid;
    gap: var(--sp-lg);
}

.choice-grid--center.choice-grid--2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.choice-grid--center.choice-grid--3 {
    width: min(100%, 76rem);
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.choice-card {
    min-height: 12.8rem;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: end;
    gap: var(--sp-lg);
    color: var(--c-text);
    text-decoration: none;
}

.choice-card__content {
    min-width: 0;
    display: grid;
    align-content: space-between;
    min-height: 100%;
    gap: var(--sp-sm);
}

.choice-card h2 {
    margin: .75rem 0 .15rem;
    font-size: clamp(1.35rem, 2.4vw, 1.9rem);
    line-height: 1.08;
}

.choice-card p,
.choice-card small {
    margin: 0;
    color: var(--c-muted);
}

.choice-card small {
    display: block;
    margin-top: .35rem;
    font-size: .85rem;
}

.choice-card__arrow {
    width: 2.35rem;
    height: 2.35rem;
    display: inline-grid;
    place-items: center;
    border-radius: var(--r-pill);
    background: var(--c-primary);
    color: #fff;
    font-weight: 950;
}

  
.workspace-shell {
    display: grid;
    gap: var(--sp-lg);
    padding-top: var(--sp-lg);
}

.workspace-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 22rem;
    gap: var(--sp-lg);
    align-items: start;
}

.workspace-main,
.workspace-side {
    display: grid;
    gap: var(--sp-lg);
}

.kpi-row {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: var(--sp-md);
}

.info-tile,
.work-card {
    background: var(--c-surface);
    border: 1px solid var(--c-border);
    border-radius: var(--r-lg);
    box-shadow: var(--shadow-md);
    padding: var(--sp-lg);
}

.info-tile span,
.work-card__label {
    margin-bottom: .55rem;
}

.info-tile strong,
.work-card h3 {
    display: block;
    margin: 0;
    font-size: 1.18rem;
    line-height: 1.16;
}

.info-tile p,
.work-card p {
    margin: .35rem 0 0;
    color: var(--c-muted);
}

.info-tile--ok { border-color: rgba(22, 101, 52, .25); }
.info-tile--info { border-color: rgba(7, 89, 133, .25); }
.info-tile--warn { border-color: rgba(146, 64, 14, .28); }
.info-tile--danger { border-color: rgba(185, 28, 28, .35); }

.work-card-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--sp-md);
}

.section-title {
    display: grid;
    gap: .45rem;
    margin-bottom: var(--sp-md);
}

.section-title h2 {
    margin: 0;
    font-size: clamp(1.35rem, 2vw, 1.8rem);
    line-height: 1.1;
}

.section-title p {
    margin: 0;
    color: var(--c-muted);
}

.event-log {
    display: grid;
    gap: var(--sp-sm);
}

.event-log__item,
.instruction-item {
    border: 1px solid var(--c-border);
    border-radius: var(--r-md);
    background: var(--c-soft);
    padding: .8rem .9rem;
}

.event-log__time {
    display: inline-flex;
    margin-bottom: .25rem;
    color: var(--c-muted);
    font-weight: 900;
    font-size: .78rem;
}

.event-log__item p,
.instruction-item span {
    display: block;
    margin: .2rem 0 0;
    color: var(--c-muted);
}

.instruction-list {
    display: grid;
    gap: var(--sp-sm);
}

  
.overlay-demo-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--sp-md);
}

.reason-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--sp-sm);
}

.reason-chip {
    display: flex;
    align-items: center;
    gap: .55rem;
    padding: .7rem .8rem;
    border: 1px solid var(--c-border);
    border-radius: var(--r-md);
    background: var(--c-soft);
    font-weight: 850;
}

  
.monitor-board {
    height: 100%;
    display: grid;
    grid-template-rows: auto 1fr;
    gap: var(--sp-lg);
}

.monitor-header {
    background: var(--c-surface);
    border: 1px solid var(--c-border);
    border-radius: var(--r-lg);
    box-shadow: var(--shadow-md);
    padding: var(--sp-lg);
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: var(--sp-lg);
}

.monitor-header h1 {
    margin: 0;
    font-size: clamp(1.6rem, 3vw, 2.6rem);
}

.monitor-header p {
    margin: .25rem 0 0;
    color: var(--c-muted);
    font-weight: 800;
}

.monitor-time {
    padding: .45rem .8rem;
    border-radius: var(--r-pill);
    background: var(--c-primary-soft);
    color: var(--c-primary);
    font-weight: 950;
}

.monitor-grid {
    min-height: 0;
    display: grid;
    grid-template-rows: auto 1fr;
    gap: var(--sp-lg);
}

.monitor-card {
    background: var(--c-surface);
    border: 1px solid var(--c-border);
    border-radius: var(--r-lg);
    box-shadow: var(--shadow-md);
    padding: var(--sp-xl);
}

.monitor-card--focus {
    border-color: rgba(32,97,174,.28);
}

.monitor-grid--post {
    grid-template-rows: auto auto minmax(0, 1fr);
}

.instruction-item--warn {
    border-color: rgba(185, 28, 28, .28);
    background: rgba(254, 242, 242, .72);
}

@media (max-width: 980px) {
    .app-header--system-signature,
    .app-header--system,
    .app-header--workstation {
        grid-template-columns: 1fr;
    }

    .header-actions {
        justify-content: stretch;
    }

    .header-actions .btn,
    .header-select-form,
    .header-select .btn {
        width: 100%;
    }

    .choice-grid--center.choice-grid--2,
    .choice-grid--center.choice-grid--3,
    .workspace-layout,
    .kpi-row,
    .work-card-grid,
    .overlay-demo-grid,
    .reason-grid {
        grid-template-columns: 1fr;
    }

    .landing-center {
        align-content: start;
    }
}

 


 

 
 
body > .app-header {
    width: 100%;
    border-left: 0;
    border-right: 0;
    border-radius: 0;
}

  
.app-header--system-signature {
    width: 100%;
    grid-template-columns: auto minmax(0, 1fr) auto;
}

.header-title {
    min-width: 0;
}

.header-actions {
    align-items: center;
    min-width: 0;
}

  
.header-select-form {
    display: inline-flex;
    align-items: center;
    gap: .45rem;
    min-width: 0;
}

.header-select-form .field-label {
    margin: 0;
    color: var(--c-muted);
    font-size: .78rem;
    white-space: nowrap;
}

.custom-select--header {
    width: auto;
    min-width: 12rem;
}

.custom-select--header .custom-select__button {
    min-height: 2.5rem;
    height: 2.5rem;
    padding: .45rem .72rem;
    border-width: 1px;
    border-radius: var(--r-md);
    font-weight: 900;
    gap: .65rem;
    white-space: nowrap;
}

.custom-select--header .custom-select__button span {
    overflow: hidden;
    text-overflow: ellipsis;
}

.custom-select--header .custom-select__menu {
    min-width: 100%;
}

  
.header-select {
    min-height: 2.5rem;
    height: 2.5rem;
}

  
.route-node {
    display: grid;
    grid-template-rows: auto auto 1fr auto;
    align-content: start;
    gap: .35rem;
    padding: .78rem .82rem;
    min-height: 8rem;
}

.route-node__key,
.route-node__label,
.route-node__arm,
.route-node p {
    display: block;
}

.route-node__key {
    order: 1;
    margin: 0;
    line-height: 1.1;
    color: rgba(18, 50, 58, .62);
    font-size: .68rem;
    text-transform: uppercase;
    letter-spacing: .055em;
    font-weight: 950;
}

.route-node__label {
    order: 2;
    margin: 0;
    min-height: 0;
    color: var(--bp-text);
    font-size: .98rem;
    line-height: 1.15;
    font-weight: 950;
}

.route-node__arm {
    order: 3;
    align-self: end;
    margin-top: .45rem;
    padding-top: .48rem;
    border-top: 1px solid rgba(0, 105, 137, .13);
    color: var(--bp-accent);
    font-size: 1.05rem;
    line-height: 1.05;
    font-weight: 950;
}

.route-node p.small,
.route-node .small {
    order: 4;
    margin: .1rem 0 0;
    line-height: 1.2;
}

.route-grid {
    align-items: stretch;
}

@media (max-width: 980px) {
    .custom-select--header {
        width: 100%;
        min-width: 0;
    }
}

 


 

  
body > .app-header {
    margin-top: 0;
}

 

 
.page--landing,
.page--landing .landing-shell {
    background: transparent;
}

body > .app-header {
    background: var(--c-surface);
}

.landing-center {
    min-height: calc(100vh - 7.25rem);
}

  
.choice-grid--center {
    align-items: stretch;
}

.route-choice-node {
    min-height: 13rem;
    color: var(--bp-text);
    text-decoration: none;
    transition: transform .12s ease, box-shadow .12s ease, border-color .12s ease;
}

.route-choice-node:hover {
    transform: translateY(-2px);
    border-color: var(--bp-accent);
    box-shadow: var(--shadow-md);
}

.route-choice-node:focus-visible {
    outline: .2rem solid rgba(32, 97, 174, .22);
    outline-offset: .15rem;
}

.route-choice-node .route-node__arm {
    align-self: start;
    margin-top: .55rem;
    color: var(--c-text);
    font-size: 1rem;
    line-height: 1.3;
    font-weight: 850;
}

.route-choice-node .small {
    padding-right: 2.7rem;
}

.route-choice-node__arrow {
    position: absolute;
    right: .85rem;
    bottom: .85rem;
    width: 2.35rem;
    height: 2.35rem;
    display: inline-grid;
    place-items: center;
    border-radius: var(--r-pill);
    background: var(--c-primary);
    color: #fff;
    font-weight: 950;
}


  
.route-choice-node,
.route-choice-node:hover,
.route-choice-node:focus,
.route-choice-node:visited,
.route-choice-node *,
.route-choice-node:hover *,
.route-choice-node:focus * {
    text-decoration: none;
}

.route-choice-node__arrow svg {
    width: 1.1rem;
    height: 1.1rem;
    display: block;
}

.route-choice-node__arrow path {
    fill: none;
    stroke: currentColor;
    stroke-width: 2.6;
    stroke-linecap: square;
    stroke-linejoin: round;
}

  
.header-actions .btn--warning,
.header-actions .btn--danger {
    min-height: 2.5rem;
}


 




 

html {
    min-height: 100%;
}

body {
    min-height: 100dvh;
    display: flex;
    flex-direction: column;
}

body > .app-header {
    flex: 0 0 auto;
}

body > main.page {
    flex: 0 0 auto;
}

body > main.page--landing {
    flex: 1 1 auto;
    min-height: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
}

.page--landing .landing-shell {
    flex: 1 1 auto;
    min-height: 0;
    display: flex;
    flex-direction: column;
}

.page--landing .landing-center {
    flex: 1 1 auto;
    min-height: 0;
    height: auto;
}

body > main.page--monitor {
    flex: 1 1 auto;
    min-height: 0;
    height: auto;
}

 
 
body > main.page--contained,
body > main.page--wide,
body > main.page--full {
    min-height: 0;
}


 



 

body > .app-header {
    margin: 0;
}

 
 

 

 
body > main.page--monitor {
    flex: 1 1 auto;
    min-height: 0;
    height: auto;
    padding: clamp(.45rem, 1.2vh, var(--sp-lg));
    overflow: hidden;
}

.monitor-board {
    height: 100%;
    min-height: 0;
    overflow: hidden;
    gap: clamp(.45rem, 1.2vh, var(--sp-lg));
}

.monitor-header {
    min-height: 0;
    padding: clamp(.6rem, 1.5vh, var(--sp-lg));
    gap: clamp(.5rem, 1.2vh, var(--sp-lg));
}

.monitor-header h1 {
    font-size: clamp(1.15rem, 2.4vw, 2.2rem);
    line-height: 1.08;
}

.monitor-header p {
    font-size: clamp(.76rem, 1.15vw, .95rem);
    line-height: 1.2;
}

.monitor-time {
    flex: 0 0 auto;
    font-size: clamp(.72rem, 1vw, .9rem);
}

.monitor-grid {
    min-height: 0;
    height: 100%;
    grid-template-rows: minmax(0, .82fr) minmax(0, 1.18fr);
    gap: clamp(.45rem, 1.2vh, var(--sp-lg));
}

.monitor-card {
    min-height: 0;
    overflow: hidden;
    padding: clamp(.65rem, 1.8vh, var(--sp-xl));
}

.monitor-card .section-title {
    margin-bottom: clamp(.45rem, 1.2vh, var(--sp-md));
}

.monitor-card .section-title h2 {
    font-size: clamp(.98rem, 1.6vw, 1.35rem);
    line-height: 1.12;
}

.monitor-card .section-title p,
.monitor-card .section-title span,
.monitor-card .instruction-item span {
    font-size: clamp(.72rem, .95vw, .88rem);
    line-height: 1.22;
}

.monitor-card .kpi-row {
    gap: clamp(.4rem, 1vh, var(--sp-md));
}

.monitor-card .info-tile {
    padding: clamp(.55rem, 1.4vh, .95rem);
}

.monitor-card .info-tile strong {
    font-size: clamp(.95rem, 1.45vw, 1.25rem);
    line-height: 1.12;
}

.monitor-card .instruction-list {
    min-height: 0;
    gap: clamp(.35rem, .9vh, var(--sp-sm));
}

.monitor-card .instruction-item {
    padding: clamp(.48rem, 1.05vh, .8rem) clamp(.55rem, 1.2vw, .9rem);
}

.monitor-card .instruction-item strong {
    font-size: clamp(.78rem, 1vw, .98rem);
    line-height: 1.12;
}

@media (max-height: 760px) {
    .monitor-board {
        gap: .45rem;
    }

    .monitor-header {
        padding: .55rem .75rem;
    }

    .monitor-card {
        padding: .6rem .75rem;
    }

    .monitor-card .section-title {
        margin-bottom: .4rem;
    }

    .monitor-card .instruction-list {
        gap: .3rem;
    }
}

 

 
.workspace-shell--stage-worker {
    gap: var(--sp-md);
}

.stage-arm-sequence {
    border: 1px solid rgba(18, 50, 58, .10);
    border-radius: var(--r-lg);
    background: rgba(255,255,255,.68);
    padding: .72rem;
    margin: 0 0 var(--sp-md);
}

.stage-arm-sequence__head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--sp-sm);
    margin-bottom: .55rem;
}

.stage-arm-sequence__head strong {
    color: var(--c-text);
    font-size: .92rem;
    line-height: 1.1;
}

.stage-arm-sequence__head span {
    color: var(--c-muted);
    font-size: .82rem;
    font-weight: 800;
}

.stage-arm-sequence__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: .55rem;
}

.stage-arm-card {
    border: 1px solid rgba(18, 50, 58, .10);
    background: rgba(255,255,255,.82);
    border-radius: var(--r-md);
    padding: .68rem .72rem;
    display: grid;
    grid-template-columns: 2rem minmax(0, 1fr);
    gap: .62rem;
    align-items: center;
    min-height: 5.6rem;
}

.stage-arm-card.is-stage {
    border-color: rgba(217, 119, 6, .32);
    background: rgba(255, 251, 235, .70);
}

.stage-arm-card__index {
    width: 1.8rem;
    height: 1.8rem;
    border-radius: 999px;
    display: inline-grid;
    place-items: center;
    background: rgba(18, 50, 58, .08);
    color: var(--c-text);
    font-size: .8rem;
    font-weight: 950;
}

.stage-arm-card__body {
    display: grid;
    gap: .12rem;
    min-width: 0;
}

.stage-arm-card__body strong {
    color: var(--c-text);
    font-size: 1.05rem;
    line-height: 1.1;
}

.stage-arm-card__body span {
    color: rgba(18, 50, 58, .70);
    font-size: .86rem;
    font-weight: 900;
    line-height: 1.15;
}

.stage-arm-card__body small {
    color: rgba(18, 50, 58, .48);
    font-size: .68rem;
    font-weight: 950;
    letter-spacing: .04em;
}

.stage-arm-card em {
    grid-column: 2;
    color: var(--c-muted);
    font-size: .78rem;
    font-style: normal;
    font-weight: 800;
}

.stage-focus-line {
    display: flex;
    justify-content: space-between;
    gap: var(--sp-md);
    align-items: center;
    padding: .74rem .92rem;
    border: 1px solid rgba(18, 50, 58, .10);
    border-radius: var(--r-lg);
    background: rgba(255,255,255,.82);
    margin-bottom: var(--sp-md);
}

.stage-focus-line strong {
    font-size: 1rem;
    color: var(--c-text);
}

.stage-focus-line span {
    color: var(--c-muted);
    font-size: .9rem;
}

.workspace-layout--stage {
    grid-template-columns: minmax(0, 1fr) minmax(18rem, 22rem);
}

.stage-tool-list {
    display: grid;
    gap: .65rem;
}

.stage-tool-row {
    width: 100%;
    border: 1px solid rgba(18, 50, 58, .12);
    border-radius: var(--r-lg);
    background: #fff;
    padding: .82rem .92rem;
    display: grid;
    grid-template-columns: 2.3rem minmax(0, 1fr) auto auto;
    gap: .8rem;
    align-items: center;
    text-align: left;
    cursor: pointer;
    transition: border-color .14s ease, transform .14s ease, box-shadow .14s ease;
}

.stage-tool-row:hover,
.stage-tool-row:focus-visible {
    border-color: rgba(0, 105, 137, .38);
    box-shadow: 0 .45rem 1.2rem rgba(18, 50, 58, .08);
    transform: translateY(-1px);
    outline: none;
}

.stage-tool-row__order {
    width: 2.1rem;
    height: 2.1rem;
    border-radius: 999px;
    display: inline-grid;
    place-items: center;
    background: rgba(0, 105, 137, .08);
    color: var(--bp-accent);
    font-weight: 950;
}

.stage-tool-row__main {
    display: grid;
    gap: .18rem;
    min-width: 0;
}

.stage-tool-row__main strong {
    color: var(--c-text);
    font-size: 1rem;
    line-height: 1.1;
}

.stage-tool-row__main small {
    color: var(--c-muted);
    font-weight: 800;
    line-height: 1.2;
}

.stage-tool-row__meta {
    color: var(--c-text);
    font-weight: 950;
    white-space: nowrap;
}

.stage-tool-row__badge {
    border: 1px solid rgba(18, 50, 58, .12);
    border-radius: var(--r-pill);
    padding: .32rem .55rem;
    color: var(--c-muted);
    background: rgba(18, 50, 58, .03);
    font-size: .76rem;
    line-height: 1;
    font-weight: 950;
    white-space: nowrap;
}

.stage-general-steps {
    display: grid;
    gap: .65rem;
}

.stage-step {
    display: grid;
    grid-template-columns: 2rem minmax(0, 1fr);
    column-gap: .75rem;
    row-gap: .12rem;
    padding: .74rem .82rem;
    border: 1px solid rgba(18, 50, 58, .10);
    border-radius: var(--r-md);
    background: rgba(255,255,255,.76);
}

.stage-step span {
    grid-row: span 2;
    width: 1.75rem;
    height: 1.75rem;
    border-radius: 999px;
    display: inline-grid;
    place-items: center;
    background: rgba(18, 50, 58, .08);
    color: var(--c-text);
    font-size: .8rem;
    font-weight: 950;
}

.stage-step strong {
    color: var(--c-text);
    line-height: 1.15;
}

.stage-step p {
    margin: .15rem 0 0;
    color: var(--c-muted);
    line-height: 1.35;
}

@media (max-width: 1180px) {
}

@media (max-width: 760px) {
    .stage-arm-sequence__grid,
    .workspace-layout--stage {
        grid-template-columns: 1fr;
    }

    .stage-arm-sequence__head,
    .stage-focus-line {
        align-items: flex-start;
        flex-direction: column;
    }

    .stage-tool-row {
        grid-template-columns: 2.3rem minmax(0, 1fr);
    }

    .stage-tool-row__meta,
    .stage-tool-row__badge {
        grid-column: 2;
        justify-self: start;
    }
}


 

 
.stage-arm-build {
    display: grid;
    gap: .85rem;
}

.stage-arm-side {
    border: 1px solid rgba(18, 50, 58, .10);
    border-radius: var(--r-lg);
    background: rgba(255,255,255,.72);
    overflow: hidden;
}

.stage-arm-side__label {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--sp-sm);
    padding: .62rem .78rem;
    border-bottom: 1px solid rgba(18, 50, 58, .08);
    background: rgba(18, 50, 58, .035);
}

.stage-arm-side__label span {
    color: var(--c-text);
    font-size: .88rem;
    font-weight: 950;
    letter-spacing: .01em;
}

.stage-arm-side__label small {
    color: var(--c-muted);
    font-size: .76rem;
    font-weight: 900;
}

.stage-arm-side__rail {
    display: grid;
    gap: .5rem;
    padding: .65rem;
}

.stage-arm-side__empty {
    border: 1px dashed rgba(18, 50, 58, .16);
    border-radius: var(--r-md);
    padding: .72rem .8rem;
    color: var(--c-muted);
    font-weight: 850;
    background: rgba(255,255,255,.64);
}

.stage-unit-card {
    width: 100%;
    border: 1px solid rgba(18, 50, 58, .12);
    border-radius: var(--r-md);
    background: #fff;
    padding: .72rem .78rem;
    display: grid;
    grid-template-columns: 2.1rem minmax(0, 1fr) auto;
    gap: .72rem;
    align-items: center;
    text-align: left;
    cursor: pointer;
    transition: border-color .14s ease, transform .14s ease, box-shadow .14s ease;
}

.stage-unit-card:hover,
.stage-unit-card:focus-visible {
    border-color: rgba(0, 105, 137, .36);
    box-shadow: 0 .45rem 1.2rem rgba(18, 50, 58, .08);
    transform: translateY(-1px);
    outline: none;
}

.stage-unit-card__order {
    width: 1.9rem;
    height: 1.9rem;
    border-radius: 999px;
    display: inline-grid;
    place-items: center;
    background: rgba(0, 105, 137, .08);
    color: var(--bp-accent);
    font-weight: 950;
    font-size: .82rem;
}

.stage-unit-card__body {
    display: grid;
    gap: .14rem;
    min-width: 0;
}

.stage-unit-card__body strong {
    color: var(--c-text);
    font-size: .98rem;
    line-height: 1.1;
}

.stage-unit-card__body small {
    color: var(--c-muted);
    font-weight: 800;
    line-height: 1.22;
}

.stage-unit-card__facts {
    display: grid;
    justify-items: end;
    gap: .22rem;
    min-width: 6.4rem;
}

.stage-unit-card__facts b {
    color: var(--c-text);
    font-size: .9rem;
    line-height: 1;
}

.stage-unit-card__facts em {
    border: 1px solid rgba(18, 50, 58, .12);
    border-radius: var(--r-pill);
    padding: .28rem .48rem;
    color: var(--c-muted);
    background: rgba(18, 50, 58, .03);
    font-size: .72rem;
    font-style: normal;
    line-height: 1;
    font-weight: 950;
    white-space: nowrap;
}

@media (max-width: 760px) {
    .stage-unit-card {
        grid-template-columns: 2.1rem minmax(0, 1fr);
    }

    .stage-unit-card__facts {
        grid-column: 2;
        justify-items: start;
        min-width: 0;
    }
}

 

 
.workspace-shell--stage-focus {
    display: grid;
    gap: 1rem;
}

.stage-route-strip {
    border: 1px solid rgba(18, 50, 58, .08);
    border-radius: var(--r-lg);
    background: rgba(255,255,255,.68);
    padding: .72rem;
    display: grid;
    gap: .62rem;
}

.stage-route-strip__label {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: var(--sp-md);
    padding: 0 .15rem;
}

.stage-route-strip__label strong {
    color: var(--c-text);
    font-size: .92rem;
    font-weight: 950;
}

.stage-route-strip__label span {
    color: var(--c-muted);
    font-size: .78rem;
    font-weight: 850;
}

.stage-route-strip__items {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: .55rem;
}

.stage-route-arm {
    border: 1px solid rgba(18, 50, 58, .09);
    border-radius: var(--r-md);
    background: rgba(255,255,255,.8);
    padding: .62rem .68rem;
    display: grid;
    grid-template-columns: 1.7rem minmax(0, 1fr);
    gap: .55rem;
    align-items: center;
}

.stage-route-arm.is-stage {
    border-color: rgba(0, 105, 137, .28);
    background: rgba(0, 105, 137, .055);
}

.stage-route-arm em {
    width: 1.55rem;
    height: 1.55rem;
    border-radius: 999px;
    display: inline-grid;
    place-items: center;
    background: rgba(18, 50, 58, .08);
    color: var(--c-text);
    font-style: normal;
    font-size: .75rem;
    font-weight: 950;
}

.stage-route-arm div {
    display: grid;
    gap: .05rem;
    min-width: 0;
}

.stage-route-arm strong {
    color: var(--c-text);
    font-size: .92rem;
    line-height: 1.05;
}

.stage-route-arm span,
.stage-route-arm small {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.stage-route-arm span {
    color: var(--c-muted);
    font-size: .78rem;
    font-weight: 850;
}

.stage-route-arm small {
    color: rgba(75, 92, 99, .75);
    font-size: .69rem;
    font-weight: 900;
}

.stage-focus-card {
    border: 1px solid rgba(18, 50, 58, .10);
    border-radius: var(--r-xl);
    background: rgba(255,255,255,.83);
    box-shadow: var(--shadow-sm);
    padding: 1rem;
    display: grid;
    gap: 1rem;
}

.stage-focus-card--active {
    border-color: rgba(0, 105, 137, .22);
    background: linear-gradient(180deg, rgba(255,255,255,.96), rgba(247, 250, 251, .88));
}

.stage-focus-card--waiting {
    border-color: rgba(18, 50, 58, .12);
}

.stage-focus-card__top {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
    padding: .25rem .15rem .85rem;
    border-bottom: 1px solid rgba(18, 50, 58, .08);
}

.stage-focus-kicker {
    display: inline-block;
    margin-bottom: .28rem;
    color: var(--bp-accent);
    font-size: .78rem;
    font-weight: 950;
    text-transform: uppercase;
    letter-spacing: .06em;
}

.stage-focus-card h2 {
    margin: 0;
    color: var(--c-text);
    font-size: clamp(1.65rem, 3.2vw, 2.75rem);
    letter-spacing: -.04em;
    line-height: .98;
}

.stage-focus-card p {
    margin: .4rem 0 0;
    color: var(--c-muted);
    font-weight: 850;
}

.stage-focus-status {
    min-width: 16rem;
    max-width: 24rem;
    border: 1px solid rgba(18, 50, 58, .10);
    border-radius: var(--r-lg);
    background: rgba(255,255,255,.78);
    padding: .8rem .9rem;
    display: grid;
    gap: .2rem;
}

.stage-focus-status strong {
    color: var(--c-text);
    font-size: 1rem;
    font-weight: 950;
}

.stage-focus-status span {
    color: var(--c-muted);
    font-size: .82rem;
    line-height: 1.35;
    font-weight: 800;
}

.stage-focus-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 21rem;
    gap: 1rem;
    align-items: start;
}

.stage-focus-main,
.stage-focus-side {
    display: grid;
    gap: 1rem;
}

.stage-action-strip {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: .55rem;
}

.btn--xl {
    min-height: 3.15rem;
    padding-left: 1.15rem;
    padding-right: 1.15rem;
    font-size: 1rem;
}

.stage-work-order {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .75rem;
}

.stage-work-side {
    border: 1px solid rgba(18, 50, 58, .10);
    border-radius: var(--r-lg);
    background: rgba(255,255,255,.72);
    padding: .68rem;
    display: grid;
    gap: .55rem;
}

.stage-work-side__label {
    display: flex;
    justify-content: space-between;
    gap: .75rem;
    align-items: center;
    padding: .08rem .05rem .45rem;
    border-bottom: 1px solid rgba(18, 50, 58, .07);
}

.stage-work-side__label strong {
    color: var(--c-text);
    font-size: .96rem;
    font-weight: 950;
}

.stage-work-side__label span {
    color: var(--c-muted);
    font-size: .72rem;
    font-weight: 900;
}

.stage-unit-focus {
    width: 100%;
    border: 1px solid rgba(18, 50, 58, .12);
    border-radius: var(--r-md);
    background: #fff;
    padding: .78rem .82rem;
    display: grid;
    grid-template-columns: 2rem minmax(0, 1fr) auto;
    gap: .72rem;
    align-items: center;
    text-align: left;
    cursor: pointer;
    transition: border-color .14s ease, box-shadow .14s ease, transform .14s ease;
}

.stage-unit-focus:hover,
.stage-unit-focus:focus-visible {
    border-color: rgba(0, 105, 137, .34);
    box-shadow: 0 .45rem 1.1rem rgba(18, 50, 58, .08);
    transform: translateY(-1px);
    outline: none;
}

.stage-unit-focus__order {
    width: 1.85rem;
    height: 1.85rem;
    border-radius: 999px;
    display: inline-grid;
    place-items: center;
    background: rgba(0, 105, 137, .08);
    color: var(--bp-accent);
    font-weight: 950;
    font-size: .8rem;
}

.stage-unit-focus__main {
    display: grid;
    gap: .13rem;
    min-width: 0;
}

.stage-unit-focus__main strong {
    color: var(--c-text);
    font-size: .98rem;
    line-height: 1.12;
}

.stage-unit-focus__main small {
    color: var(--c-muted);
    font-size: .78rem;
    line-height: 1.25;
    font-weight: 800;
}

.stage-unit-focus__meta {
    display: grid;
    gap: .22rem;
    justify-items: end;
}

.stage-unit-focus__meta b {
    color: var(--c-text);
    font-size: .88rem;
}

.stage-unit-focus__meta em {
    border: 1px solid rgba(18, 50, 58, .12);
    border-radius: var(--r-pill);
    padding: .26rem .45rem;
    color: var(--c-muted);
    background: rgba(18, 50, 58, .03);
    font-size: .7rem;
    font-style: normal;
    font-weight: 950;
    white-space: nowrap;
}

.stage-work-empty {
    border: 1px dashed rgba(18, 50, 58, .16);
    border-radius: var(--r-md);
    padding: .75rem;
    color: var(--c-muted);
    background: rgba(255,255,255,.65);
    font-weight: 850;
}

.stage-task-list,
.stage-prepare-list,
.stage-note-list {
    display: grid;
    gap: .6rem;
}

.stage-task-list article {
    display: grid;
    grid-template-columns: 2rem minmax(0, 1fr);
    gap: .7rem;
    padding: .75rem .85rem;
    border: 1px solid rgba(18, 50, 58, .09);
    border-radius: var(--r-md);
    background: rgba(255,255,255,.72);
}

.stage-task-list span {
    width: 1.75rem;
    height: 1.75rem;
    border-radius: 999px;
    display: inline-grid;
    place-items: center;
    background: rgba(18, 50, 58, .08);
    color: var(--c-text);
    font-size: .8rem;
    font-weight: 950;
}

.stage-task-list strong,
.stage-prepare-list strong,
.stage-note-list strong {
    color: var(--c-text);
    font-weight: 950;
}

.stage-task-list p,
.stage-prepare-list p {
    margin: .15rem 0 0;
    color: var(--c-muted);
    line-height: 1.35;
}

.stage-prepare-list article {
    border: 1px solid rgba(18, 50, 58, .09);
    border-radius: var(--r-md);
    background: rgba(255,255,255,.74);
    padding: .82rem .9rem;
}

.stage-fill-compact {
    display: grid;
    gap: .55rem;
}

.stage-fill-compact > div,
.stage-note-list > div {
    border: 1px solid rgba(18, 50, 58, .09);
    border-radius: var(--r-md);
    background: rgba(255,255,255,.72);
    padding: .7rem .78rem;
    display: grid;
    gap: .12rem;
}

.stage-fill-compact span,
.stage-fill-compact small,
.stage-note-list span {
    color: var(--c-muted);
    font-size: .78rem;
    font-weight: 850;
    line-height: 1.3;
}

.stage-fill-compact strong {
    color: var(--c-text);
    font-size: 1.2rem;
    line-height: 1.05;
}

.stage-done-layout {
    display: grid;
    grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr);
    gap: 1rem;
}

.stage-done-layout h3 {
    margin: 0 0 .25rem;
    color: var(--c-text);
    font-size: 1rem;
}

.stage-tool-choice-list {
    display: grid;
    gap: .5rem;
}

.stage-tool-choice {
    border: 1px solid rgba(18, 50, 58, .12);
    border-radius: var(--r-md);
    background: rgba(255,255,255,.78);
    padding: .72rem .78rem;
    display: flex;
    align-items: flex-start;
    gap: .62rem;
    cursor: pointer;
}

.stage-tool-choice input {
    margin-top: .18rem;
}

.stage-tool-choice span {
    display: grid;
    gap: .1rem;
}

.stage-tool-choice strong {
    color: var(--c-text);
}

.stage-tool-choice small {
    color: var(--c-muted);
    font-weight: 800;
}

.modal__footer--split {
    justify-content: space-between;
}

@media (max-width: 1100px) {
    .stage-focus-grid,
    .stage-work-order,
    .stage-done-layout {
        grid-template-columns: 1fr;
    }

    .stage-focus-status {
        max-width: none;
        min-width: 0;
    }
}

@media (max-width: 760px) {
    .stage-route-strip__label,
    .stage-focus-card__top {
        align-items: flex-start;
        flex-direction: column;
    }

    .stage-route-strip__items {
        grid-template-columns: 1fr;
    }

    .stage-unit-focus {
        grid-template-columns: 2rem minmax(0, 1fr);
    }

    .stage-unit-focus__meta {
        grid-column: 2;
        justify-items: start;
    }
}

  
.modal--wide {
    width: min(58rem, calc(100vw - 2rem));
}

.stage-form-change-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
    margin-top: 1rem;
}

.stage-form-change-grid h3 {
    margin: 0 0 .6rem;
    color: var(--c-text);
    font-size: 1rem;
    font-weight: 950;
}

.stage-fill-plan,
.stage-insert-plan {
    display: grid;
    gap: .65rem;
}

.stage-fill-plan article,
.stage-insert-plan article {
    border: 1px solid rgba(18, 50, 58, .10);
    border-radius: var(--r-md);
    background: rgba(255,255,255,.78);
    padding: .85rem .9rem;
    display: grid;
    gap: .55rem;
}

.stage-fill-plan article strong,
.stage-insert-plan article strong {
    color: var(--c-text);
    font-weight: 950;
}

.stage-fill-plan article span,
.stage-insert-plan article p,
.stage-insert-plan article small {
    color: var(--c-muted);
    font-weight: 850;
    line-height: 1.35;
}

.stage-fill-plan article span,
.stage-insert-plan article small {
    font-size: .78rem;
}

.stage-insert-plan article p {
    margin: 0;
}

.stage-fill-plan__amount {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .75rem;
    border-top: 1px solid rgba(18, 50, 58, .07);
    padding-top: .55rem;
}

.stage-fill-plan__amount b {
    color: var(--bp-accent);
    font-size: 1.15rem;
    font-weight: 950;
}

.stage-fill-plan__amount small {
    color: var(--c-muted);
    text-align: right;
    font-weight: 850;
}

  
.notice {
    display: grid;
    gap: .28rem;
    padding: .9rem 1rem;
    border: 1px solid rgba(37, 99, 235, .18);
    border-left: .32rem solid var(--c-primary, #2563eb);
    border-radius: var(--r-lg, 1rem);
    background: rgba(255, 255, 255, .82);
    box-shadow: var(--shadow-sm, 0 .125rem .25rem rgba(0,0,0,.04));
    color: var(--c-text, #111827);
}

.notice strong {
    display: block;
    margin: 0;
    font-size: .94rem;
    line-height: 1.25;
    font-weight: 950;
}

.notice p,
.notice span {
    display: block;
    margin: 0;
    color: var(--c-muted, #6b7280);
    font-size: .88rem;
    line-height: 1.45;
    font-weight: 700;
}

.notice--info {
    border-color: rgba(37, 99, 235, .18);
    border-left-color: var(--c-primary, #2563eb);
    background: linear-gradient(135deg, rgba(239, 246, 255, .92), rgba(255,255,255,.88));
}

.notice--warn {
    border-color: rgba(245, 158, 11, .25);
    border-left-color: #f59e0b;
    background: linear-gradient(135deg, rgba(255, 251, 235, .95), rgba(255,255,255,.88));
}

.notice--danger {
    border-color: rgba(239, 68, 68, .24);
    border-left-color: #ef4444;
    background: linear-gradient(135deg, rgba(254, 242, 242, .95), rgba(255,255,255,.88));
}

.notice--success {
    border-color: rgba(34, 197, 94, .28);
    border-left-color: #22c55e;
    background: linear-gradient(135deg, rgba(220, 252, 231, .9), rgba(255,255,255,.88));
}

@media (max-width: 860px) {
    .stage-form-change-grid {
        grid-template-columns: 1fr;
    }

    .stage-fill-plan__amount {
        align-items: flex-start;
        flex-direction: column;
    }

    .stage-fill-plan__amount small {
        text-align: left;
    }
}

  
.stage-header-booking {
    display: inline-flex;
    align-items: center;
    gap: .5rem;
    flex-wrap: wrap;
    margin: 0;
}

.stage-focus-card--form-change {
    border-color: rgba(32, 97, 174, .24);
}

  
.stage-live-indicator {
    display: inline-flex;
    align-items: center;
    gap: .45rem;
    margin: .35rem 0 1rem;
    padding: .4rem .65rem;
    border: 1px solid rgba(32,97,174,.18);
    border-radius: 999px;
    background: rgba(255,255,255,.72);
    color: var(--color-text-light);
    font-size: .82rem;
    box-shadow: var(--shadow-sm);
}

.stage-live-indicator span {
    width: .55rem;
    height: .55rem;
    border-radius: 999px;
    background: var(--color-success-border);
    box-shadow: 0 0 0 .18rem rgba(34,197,94,.12);
}

.stage-live-indicator span.is-offline {
    background: #f59e0b;
    box-shadow: 0 0 0 .18rem rgba(245,158,11,.14);
}

  
.route-node__component-info {
    order: 3;
    display: flex;
    flex-wrap: wrap;
    gap: .28rem;
    margin-top: .1rem;
}

.route-node__component-info span {
    display: inline-flex;
    align-items: center;
    min-height: 1.35rem;
    border: 1px solid rgba(0, 105, 137, .13);
    background: rgba(255,255,255,.55);
    color: rgba(18, 50, 58, .72);
    border-radius: var(--r-pill);
    padding: .12rem .42rem;
    font-size: .68rem;
    font-weight: 900;
    line-height: 1;
}

.route-node__arm-main {
    display: grid;
    gap: .06rem;
    min-width: 0;
}

.route-node__arm-main em {
    color: rgba(18, 50, 58, .62);
    font-style: normal;
    font-size: .68rem;
    font-weight: 900;
    line-height: 1.05;
    white-space: nowrap;
}

.route-node__arms {
    order: 4;
}

.route-node__progress {
    order: 5;
}

.route-node__progress-text {
    order: 6;
}

  
.stage-focus-inline-hint {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    margin: 1rem 0;
    padding: .85rem 1rem;
    border: 1px solid rgba(31, 41, 55, .08);
    border-radius: 1rem;
    background: rgba(255, 255, 255, .72);
    color: var(--color-text, #1f2937);
}
.stage-focus-inline-hint span {
    color: var(--color-text-light, #6b7280);
    font-size: .92rem;
    text-align: right;
}
.stage-header-booking__hint small {
    display: block;
    margin-top: .15rem;
    font-size: .78rem;
    line-height: 1.2;
    color: var(--color-text-light, #6b7280);
}
@media (max-width: 760px) {
    .stage-focus-inline-hint {
        align-items: flex-start;
        flex-direction: column;
    }
    .stage-focus-inline-hint span {
        text-align: left;
    }
}

 

 
.stage-unit-focus--carrier .stage-unit-focus__main em {
    display: block;
    font-size: .68rem;
    line-height: 1.1;
    text-transform: uppercase;
    letter-spacing: .08em;
    color: var(--color-text-light);
    font-style: normal;
    margin-bottom: .18rem;
}

.stage-unit-detail-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 1rem;
    margin-top: 1rem;
}

.stage-unit-detail-grid h3,
.stage-insert-targets h3 {
    margin: 0 0 .65rem;
    font-size: .9rem;
    color: var(--color-text);
}

.stage-role-list,
.stage-fill-point-list,
.stage-insert-target-list {
    display: grid;
    gap: .55rem;
}

.stage-role-list article,
.stage-fill-point-list article,
.stage-insert-target-list article {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .75rem;
    padding: .75rem .85rem;
    border: 1px solid var(--color-border);
    border-radius: .9rem;
    background: rgba(255,255,255,.72);
}

.stage-role-list article strong,
.stage-fill-point-list article strong,
.stage-insert-target-list article strong {
    display: block;
    font-size: .9rem;
}

.stage-role-list article span,
.stage-fill-point-list article span,
.stage-insert-target-list article span,
.stage-insert-target-list article p,
.stage-insert-target-list article small {
    display: block;
    margin: .15rem 0 0;
    color: var(--color-text-light);
    font-size: .78rem;
}

.stage-role-list article em,
.stage-fill-point-list article b {
    flex: 0 0 auto;
    font-style: normal;
    font-size: .75rem;
    border: 1px solid var(--color-border);
    border-radius: 999px;
    padding: .25rem .5rem;
    background: var(--color-surface);
    color: var(--color-text);
}

.stage-insert-targets {
    margin-top: 1rem;
}

.stage-insert-target-list article {
    display: block;
    border-color: rgba(245, 158, 11, .32);
    background: rgba(255, 251, 235, .68);
}

.stage-fill-plan__points,
.stage-insert-plan__targets {
    margin: .55rem 0 0;
    padding-left: 1.1rem;
    color: var(--color-text-light);
    font-size: .78rem;
}

.stage-fill-plan__points li,
.stage-insert-plan__targets li {
    margin: .2rem 0;
}

@media (max-width: 760px) {
    .stage-unit-detail-grid {
        grid-template-columns: 1fr;
    }
}

  
.stage-work-order--units {
    grid-template-columns: 1fr;
}

.stage-work-side--full {
    grid-column: 1 / -1;
}


  
.locksmith-compare-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 1rem;
    align-items: start;
}
.locksmith-unit-list h4 {
    margin: 0 0 .65rem;
    font-size: .9rem;
    color: var(--color-text-light);
    text-transform: uppercase;
    letter-spacing: .08em;
}
.locksmith-unit-card {
    margin-bottom: .65rem;
}
.locksmith-status-form {
    display: grid;
    grid-template-columns: minmax(10rem, 14rem) minmax(0, 1fr) auto;
    gap: .75rem;
    align-items: end;
    margin-top: 1rem;
}
.locksmith-order {
    margin-bottom: 1rem;
}
@media (max-width: 900px) {
    .locksmith-compare-grid,
    .locksmith-status-form {
        grid-template-columns: 1fr;
    }
}

  
.locksmith-quick-actions {
  display: flex;
  flex-wrap: wrap;
  gap: .5rem;
  margin: .75rem 0 1rem;
}
.locksmith-quick-form { margin: 0; }
.stage-form-change-delivery-note {
  margin: .75rem 0 1rem;
  padding: .75rem .9rem;
  border: 1px solid var(--color-border);
  border-radius: var(--radius-md, .75rem);
  background: rgba(255,255,255,.55);
}
.stage-form-change-delivery-note.is-ready {
  border-color: rgba(34,197,94,.45);
  background: rgba(220,252,231,.65);
}
.stage-form-change-delivery-note.is-waiting {
  border-color: rgba(245,158,11,.45);
  background: rgba(254,243,199,.65);
}

  
.stage-form-change-compare {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 1rem;
  margin: 1rem 0;
}
.stage-form-change-unit-column {
  border: 1px solid rgba(18, 50, 58, .10);
  border-radius: var(--r-lg, 1rem);
  background: rgba(255,255,255,.58);
  padding: 1rem;
}
.stage-form-change-unit-column h3 {
  margin: 0 0 .75rem;
  font-size: .9rem;
  font-weight: 950;
  color: var(--c-muted);
  letter-spacing: .06em;
  text-transform: uppercase;
}
.stage-form-change-unit {
  display: grid;
  gap: .45rem;
  padding: .85rem .9rem;
  border-radius: var(--r-md, .75rem);
  background: rgba(255,255,255,.72);
  border: 1px solid rgba(18, 50, 58, .08);
}
.stage-form-change-unit + .stage-form-change-unit { margin-top: .65rem; }
.stage-form-change-unit strong {
  font-weight: 950;
  color: var(--c-text);
}
.stage-form-change-unit span,
.stage-form-change-unit li {
  color: var(--c-muted);
  font-weight: 850;
  line-height: 1.35;
}
.stage-form-change-unit ul {
  margin: .25rem 0 0;
  padding-left: 1.1rem;
}
.stage-form-change-steps {
  display: grid;
  gap: .65rem;
}
.stage-form-change-steps article {
  display: grid;
  grid-template-columns: 2rem minmax(0, 1fr);
  gap: .75rem;
  align-items: start;
  padding: .8rem .9rem;
  border-radius: var(--r-md, .75rem);
  background: rgba(255,255,255,.62);
  border: 1px solid rgba(18, 50, 58, .08);
}
.stage-form-change-steps em {
  display: grid;
  place-items: center;
  width: 2rem;
  height: 2rem;
  border-radius: 999px;
  background: rgba(32, 97, 174, .10);
  color: var(--bp-accent, #2061ae);
  font-weight: 950;
  font-style: normal;
}
.stage-form-change-steps strong {
  display: block;
  color: var(--c-text);
  font-weight: 950;
}
.stage-form-change-steps span {
  display: block;
  margin-top: .2rem;
  color: var(--c-muted);
  font-weight: 850;
  line-height: 1.35;
}
@media (max-width: 900px) {
  .stage-form-change-compare {
    grid-template-columns: 1fr;
  }
}


  
.teamlead-formchange-list {
    display: grid;
    gap: .85rem;
}
.teamlead-formchange-card {
    border: 1px solid rgba(31, 41, 55, .12);
    border-radius: 1rem;
    background: rgba(255,255,255,.76);
    padding: .95rem;
    box-shadow: 0 .35rem 1rem rgba(15,23,42,.04);
}
.teamlead-formchange-card.is-danger { border-color: rgba(220,38,38,.35); background: rgba(254,242,242,.9); }
.teamlead-formchange-card.is-warn { border-color: rgba(217,119,6,.35); background: rgba(255,251,235,.9); }
.teamlead-formchange-card.is-success { border-color: rgba(22,163,74,.32); background: rgba(240,253,244,.9); }
.teamlead-formchange-card__head {
    display: flex;
    justify-content: space-between;
    gap: .85rem;
    align-items: flex-start;
}
.teamlead-formchange-card__head h3 { margin: .15rem 0 .2rem; }
.teamlead-formchange-card__head p,
.teamlead-formchange-card li,
.teamlead-formchange-card p { color: var(--color-text-light); }
.teamlead-formchange-status {
    text-align: right;
    min-width: 7rem;
}
.teamlead-formchange-status strong,
.teamlead-formchange-status span {
    display: block;
}
.teamlead-formchange-status span { color: var(--color-text-light); font-size: .82rem; margin-top: .1rem; }
.teamlead-formchange-meta {
    display: flex;
    flex-wrap: wrap;
    gap: .45rem;
    margin: .8rem 0;
}
.teamlead-formchange-meta span {
    border: 1px solid rgba(31,41,55,.1);
    border-radius: 999px;
    padding: .25rem .55rem;
    background: rgba(255,255,255,.72);
    color: var(--color-text-light);
    font-size: .82rem;
}
.teamlead-formchange-compare {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: .7rem;
}
.teamlead-formchange-compare > div {
    border: 1px solid rgba(31,41,55,.1);
    border-radius: .8rem;
    padding: .7rem;
    background: rgba(255,255,255,.55);
}
.teamlead-formchange-compare strong { display: block; margin-bottom: .35rem; }
.teamlead-formchange-compare ul { margin: 0; padding-left: 1.1rem; }
.teamlead-formchange-warning,
.teamlead-formchange-ok {
    margin: .75rem 0 0;
    font-weight: 700;
}
.teamlead-formchange-warning { color: #991b1b; }
.teamlead-formchange-ok { color: #166534; }
@media (max-width: 720px) {
    .teamlead-formchange-card__head,
    .teamlead-formchange-compare { grid-template-columns: 1fr; display: grid; }
    .teamlead-formchange-status { text-align: left; }
}

  
.status-card {
    display: grid;
    gap: .25rem;
    padding: .8rem .9rem;
    border: 1px solid rgba(30, 41, 59, .12);
    border-radius: 1rem;
    background: rgba(255,255,255,.72);
}
.status-card strong {
    font-size: .95rem;
}
.status-card span {
    color: var(--color-text-light, #6b7280);
    font-size: .84rem;
    line-height: 1.35;
}
.status-card--form_change {
    border-color: rgba(180, 83, 9, .28);
    background: rgba(255, 251, 235, .76);
}
.status-card--product_change {
    border-color: rgba(37, 99, 235, .24);
    background: rgba(239, 246, 255, .72);
}
.status-card--normal {
    border-color: rgba(22, 163, 74, .22);
    background: rgba(240, 253, 244, .72);
}
.status-card--unknown {
    border-color: rgba(107, 114, 128, .2);
    background: rgba(249, 250, 251, .72);
}

  
.stage-product-change-diff {
  display: grid;
  gap: .75rem;
}
.stage-product-change-diff__item {
  padding: .9rem 1rem;
  border-radius: var(--r-md, .75rem);
  background: rgba(255,255,255,.66);
  border: 1px solid rgba(18, 50, 58, .09);
}
.stage-product-change-diff__item header {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: .75rem;
}
.stage-product-change-diff__item header strong {
  font-weight: 950;
  color: var(--c-text);
}
.stage-product-change-diff__item header span {
  color: var(--bp-accent, #2061ae);
  font-weight: 950;
  font-size: .85rem;
}
.stage-product-change-diff__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: .65rem;
}
.stage-product-change-diff__grid div {
  padding: .7rem .75rem;
  border-radius: var(--r-sm, .55rem);
  background: rgba(245, 247, 250, .82);
  border: 1px solid rgba(18, 50, 58, .07);
}
.stage-product-change-diff__grid small {
  display: block;
  color: var(--c-muted);
  font-weight: 850;
  margin-bottom: .25rem;
}
.stage-product-change-diff__grid b {
  display: block;
  color: var(--c-text);
  font-weight: 950;
  line-height: 1.25;
}
.stage-product-change-diff__points {
  margin: .75rem 0 0;
  padding-left: 1.1rem;
  color: var(--c-muted);
  font-weight: 850;
}
.stage-product-change-compare .stage-form-change-unit-column:last-child {
  border-color: rgba(32, 97, 174, .24);
  background: rgba(239, 246, 255, .44);
}
@media (max-width: 760px) {
  .stage-product-change-diff__grid { grid-template-columns: 1fr; }
  .stage-product-change-diff__item header { display: grid; }
}


  
.planner-change-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
    gap: 0.8rem;
}
.planner-change-card {
    border: 1px solid var(--color-border);
    border-radius: 1rem;
    background: rgba(255,255,255,0.74);
    padding: 0.85rem;
    box-shadow: var(--shadow-sm);
}
.planner-change-card--form-change { border-color: rgba(245, 158, 11, 0.55); }
.planner-change-card--product-color-change { border-color: rgba(59, 130, 246, 0.48); }
.planner-change-card--no-change { opacity: 0.86; }
.planner-change-card__head {
    display: flex;
    justify-content: space-between;
    gap: 0.75rem;
    align-items: flex-start;
    margin-bottom: 0.75rem;
}
.planner-change-card__head strong,
.planner-change-card__body strong {
    display: block;
    color: var(--color-text);
}
.planner-change-card__head span,
.planner-change-card__body span {
    display: block;
    color: var(--color-text-light);
    font-size: 0.82rem;
    margin-top: 0.12rem;
}
.planner-change-card__body {
    display: grid;
    gap: 0.55rem;
}

  
.planner-schedule-list {
    display: grid;
    gap: 1rem;
}
.section-subtitle {
    margin: .75rem 0 .35rem;
    font-size: .95rem;
    letter-spacing: .02em;
    color: var(--text-muted, #64748b);
}
.planner-schedule-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
    gap: .75rem;
}
.planner-schedule-card {
    border: 1px solid var(--border, rgba(148,163,184,.35));
    border-radius: 1rem;
    background: var(--surface, #fff);
    padding: .9rem;
    display: grid;
    gap: .65rem;
    box-shadow: 0 .25rem .9rem rgba(15, 23, 42, .05);
}
.planner-schedule-card__head {
    display: flex;
    justify-content: space-between;
    gap: .75rem;
    align-items: flex-start;
}
.planner-schedule-card__head span {
    display: block;
    margin-top: .15rem;
    font-size: .82rem;
    color: var(--text-muted, #64748b);
}
.compact-facts {
    display: grid;
    gap: .45rem;
    margin: 0;
}
.compact-facts div {
    display: grid;
    grid-template-columns: 5.5rem 1fr;
    gap: .5rem;
}
.compact-facts dt {
    color: var(--text-muted, #64748b);
    font-size: .78rem;
}
.compact-facts dd {
    margin: 0;
    font-size: .85rem;
    font-weight: 650;
}
.planner-schedule-card--form-change { border-color: rgba(249,115,22,.45); }
.planner-schedule-card--product-change { border-color: rgba(59,130,246,.42); }
.planner-schedule-card--normal { border-color: rgba(34,197,94,.35); }


  
.planner-day-overview {
    border: 1px solid rgba(148,163,184,.32);
    border-radius: 1.1rem;
    background: linear-gradient(135deg, rgba(248,250,252,.98), rgba(255,255,255,.96));
    padding: .95rem;
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    align-items: center;
    box-shadow: 0 .35rem 1.1rem rgba(15, 23, 42, .05);
}
.planner-day-overview__title strong,
.planner-schedule-card__identity strong {
    display: block;
    color: var(--color-text, #1f2937);
}
.planner-day-overview__title span,
.planner-schedule-card__identity span,
.planner-shift-head p,
.planner-schedule-flow span,
.planner-schedule-card__foot span {
    display: block;
    color: var(--color-text-light, #64748b);
    font-size: .82rem;
    margin-top: .15rem;
}
.planner-day-overview__stats,
.planner-shift-summary {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: .45rem;
}
.planner-day-overview__stats span,
.planner-shift-summary div,
.planner-change-badge,
.planner-schedule-status {
    border: 1px solid rgba(148,163,184,.32);
    background: rgba(248,250,252,.9);
    border-radius: 999px;
    padding: .34rem .55rem;
    font-size: .78rem;
    line-height: 1.15;
    color: var(--color-text, #1f2937);
    white-space: nowrap;
}
.planner-day-overview__stats strong,
.planner-shift-summary strong {
    color: var(--color-text, #1f2937);
}
.planner-day-overview__stats .is-problem,
.planner-shift-summary .is-problem,
.planner-schedule-status--problem,
.planner-schedule-warning {
    border-color: rgba(239,68,68,.38);
    background: rgba(254,242,242,.95);
    color: #991b1b;
}
.planner-schedule-list--shift-view {
    gap: 1.15rem;
}
.planner-shift-block {
    border: 1px solid rgba(148,163,184,.26);
    border-radius: 1.25rem;
    padding: .85rem;
    background: rgba(255,255,255,.74);
}
.planner-shift-head {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    align-items: flex-start;
    margin-bottom: .8rem;
}
.planner-shift-head h3 {
    margin: 0;
    font-size: 1rem;
    color: var(--color-text, #1f2937);
}
.planner-shift-head p {
    margin-bottom: 0;
}
.planner-shift-summary div {
    display: grid;
    gap: .08rem;
    min-width: 5.5rem;
    text-align: center;
    border-radius: .8rem;
}
.planner-shift-summary span {
    color: var(--color-text-light, #64748b);
    font-size: .72rem;
}
.planner-shift-summary .is-form,
.planner-change-badge--form-change,
.planner-schedule-status--form {
    border-color: rgba(249,115,22,.42);
    background: rgba(255,247,237,.95);
    color: #9a3412;
}
.planner-shift-summary .is-product,
.planner-change-badge--product-change,
.planner-schedule-status--product {
    border-color: rgba(59,130,246,.34);
    background: rgba(239,246,255,.95);
    color: #1d4ed8;
}
.planner-shift-summary .is-normal,
.planner-change-badge--normal {
    border-color: rgba(34,197,94,.32);
    background: rgba(240,253,244,.92);
    color: #166534;
}
.planner-shift-summary .is-locksmith {
    border-color: rgba(100,116,139,.35);
    background: rgba(248,250,252,.96);
}
.planner-schedule-card__top,
.planner-schedule-card__foot {
    display: flex;
    justify-content: space-between;
    gap: .75rem;
    align-items: flex-start;
}
.planner-change-badge {
    font-weight: 750;
}
.planner-schedule-status {
    display: inline-flex;
    width: fit-content;
    max-width: 100%;
    font-weight: 750;
    border-radius: .7rem;
}
.planner-schedule-flow {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .55rem;
}
.planner-schedule-flow div {
    border: 1px solid rgba(148,163,184,.22);
    border-radius: .85rem;
    padding: .55rem;
    background: rgba(248,250,252,.72);
}
.planner-schedule-flow strong {
    display: block;
    margin-top: .15rem;
    font-size: .86rem;
    color: var(--color-text, #1f2937);
}
.planner-schedule-warning {
    margin: 0;
    border: 1px solid rgba(239,68,68,.25);
    border-radius: .85rem;
    padding: .55rem;
    font-size: .84rem;
}
.planner-schedule-card__foot {
    align-items: center;
    border-top: 1px solid rgba(148,163,184,.18);
    padding-top: .6rem;
}
@media (max-width: 760px) {
    .planner-day-overview,
    .planner-shift-head,
    .planner-schedule-card__top,
    .planner-schedule-card__foot {
        display: grid;
        justify-content: stretch;
    }
    .planner-day-overview__stats,
    .planner-shift-summary {
        justify-content: flex-start;
    }
    .planner-schedule-flow {
        grid-template-columns: 1fr;
    }
}

  
.planner-queue-list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: grid;
    gap: .55rem;
}
.planner-queue-item {
    display: grid;
    grid-template-columns: 2rem 1fr;
    gap: .6rem;
    align-items: start;
    border: 1px solid var(--border, rgba(148,163,184,.35));
    border-radius: .85rem;
    padding: .65rem;
    background: rgba(255,255,255,.72);
}
.planner-queue-item__num {
    width: 1.65rem;
    height: 1.65rem;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: .8rem;
    font-weight: 900;
    background: rgba(32, 97, 174, .10);
    color: var(--color-primary, #2061ae);
}
.planner-queue-item strong {
    display: block;
    line-height: 1.25;
}
.planner-queue-item span {
    display: block;
    margin-top: .15rem;
    color: var(--text-muted, #64748b);
    font-size: .8rem;
    font-weight: 700;
}


  
.locksmith-order-group {
  margin: 0 0 1.25rem;
}
.locksmith-order-group__head {
  margin: 0 0 .75rem;
  padding: .75rem .9rem;
  border: 1px solid var(--color-border);
  border-radius: var(--radius-md, .75rem);
  background: rgba(255,255,255,.55);
}
.locksmith-order-group__head h3 {
  margin: 0;
  font-size: .98rem;
}
.locksmith-order-group__head p {
  margin: .25rem 0 0;
  color: var(--color-text-light);
  font-size: .82rem;
}
.locksmith-order-group--overdue .locksmith-order-group__head {
  border-color: rgba(239,68,68,.45);
  background: rgba(254,226,226,.55);
}
.locksmith-order-group--today_prepare .locksmith-order-group__head,
.locksmith-order-group--tomorrow_needed .locksmith-order-group__head {
  border-color: rgba(245,158,11,.45);
  background: rgba(254,243,199,.55);
}
.locksmith-order-group--later .locksmith-order-group__head {
  background: rgba(248,250,252,.75);
}


  
.btn--danger {
    background: #b91c1c;
    border-color: #991b1b;
    color: #fff;
}
.btn--danger:hover { background: #991b1b; }
.compact-alert {
    margin: .5rem 0 0;
    padding: .55rem .7rem;
    border-radius: .75rem;
}
.locksmith-order .stage-alert.compact-alert span {
    display: block;
    margin-top: .15rem;
}
.stage-form-change-delivery-note.is-danger {
    border-color: rgba(185, 28, 28, .35);
    background: rgba(254, 226, 226, .78);
}

  
.focus-filter-bar {
    display: flex;
    flex-wrap: wrap;
    gap: .5rem;
    margin: 0 0 1rem;
}
.focus-filter-chip {
    display: inline-flex;
    align-items: center;
    gap: .45rem;
    padding: .45rem .65rem;
    border: 1px solid var(--color-border, #d1d5db);
    border-radius: 999px;
    background: rgba(255,255,255,.7);
    color: var(--color-text, #1f2937);
    text-decoration: none;
    font-size: .82rem;
    font-weight: 750;
}
.focus-filter-chip b {
    min-width: 1.35rem;
    height: 1.35rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    background: rgba(32,97,174,.10);
    color: var(--color-primary, #2061ae);
    font-size: .74rem;
}
.focus-filter-chip.is-active {
    border-color: rgba(32,97,174,.45);
    background: rgba(32,97,174,.10);
}

  
.teamlead-focus-list {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(14rem, 1fr));
  gap: .75rem;
  margin-top: .9rem;
}

.teamlead-focus-card {
  border: 1px solid var(--color-border);
  border-radius: var(--radius-lg);
  background: var(--color-surface);
  padding: .9rem;
  box-shadow: var(--shadow-sm);
}

.teamlead-focus-card h3 {
  margin: .25rem 0 .35rem;
  font-size: 1rem;
}

.teamlead-focus-card p {
  margin: 0;
  color: var(--color-text);
  line-height: 1.45;
}

.teamlead-focus-card small {
  display: block;
  margin-top: .6rem;
  color: var(--color-text-light);
}

.teamlead-focus-card.is-danger {
  border-color: rgba(239, 68, 68, .45);
  background: rgba(254, 242, 242, .72);
}

.teamlead-focus-card.is-warn {
  border-color: rgba(245, 158, 11, .45);
  background: rgba(255, 251, 235, .78);
}

.teamlead-focus-card.is-success {
  border-color: rgba(34, 197, 94, .36);
  background: rgba(240, 253, 244, .72);
}

  
.stage-defect-alert {
  display: grid;
  gap: .75rem;
  margin: 1rem 0;
  padding: 1rem;
  border: 1px solid rgba(185, 28, 28, .24);
  border-radius: 1.15rem;
  background: rgba(254, 242, 242, .78);
  box-shadow: var(--shadow-sm, 0 .125rem .25rem rgba(0,0,0,.04));
}
.stage-defect-alert > div:first-child strong {
  display: block;
  color: #7f1d1d;
  font-size: .95rem;
}
.stage-defect-alert > div:first-child span {
  color: #7f1d1d;
  font-size: .84rem;
}
.stage-defect-alert__items {
  display: grid;
  gap: .55rem;
}
.stage-defect-alert__items article {
  display: grid;
  gap: .2rem;
  padding: .65rem .75rem;
  border: 1px solid rgba(185, 28, 28, .16);
  border-radius: .85rem;
  background: rgba(255,255,255,.72);
}
.stage-defect-alert__items b {
  color: #991b1b;
}
.stage-defect-alert__items small {
  color: #7f1d1d;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .04em;
}
.stage-defect-alert__items p {
  margin: 0;
  color: #7f1d1d;
  font-size: .86rem;
}
.stage-unit-focus.has-defect {
  border-color: rgba(185, 28, 28, .42);
  background: linear-gradient(180deg, rgba(254,242,242,.95), rgba(255,255,255,.92));
}
.stage-unit-focus.has-defect .stage-unit-focus__main strong {
  color: #7f1d1d;
}
.stage-unit-focus__meta i {
  display: block;
  margin-top: .25rem;
  color: #991b1b;
  font-style: normal;
  font-weight: 800;
  font-size: .76rem;
}

  
.locksmith-instructions {
    margin-top: .75rem;
    padding: .75rem;
    border: 1px solid rgba(31,41,55,.10);
    border-radius: .9rem;
    background: rgba(255,255,255,.58);
}
.locksmith-instructions > strong {
    display: block;
    margin-bottom: .45rem;
    font-size: .78rem;
    letter-spacing: .04em;
    text-transform: uppercase;
    color: var(--color-text-light);
}
.locksmith-instructions__group + .locksmith-instructions__group {
    margin-top: .55rem;
}
.locksmith-instructions__group > span {
    display: inline-block;
    margin-bottom: .25rem;
    font-weight: 700;
    font-size: .88rem;
}
.locksmith-instructions__group ul {
    margin: 0;
    padding-left: 1.1rem;
}
.locksmith-instructions__group li {
    margin: .2rem 0;
    color: var(--color-text);
}
.locksmith-instructions__group li.is-warning {
    color: #92400e;
    font-weight: 700;
}
.locksmith-instructions__group small {
    display: block;
    color: var(--color-text-light);
    font-weight: 400;
    margin-top: .1rem;
}

  
.stage-db-instructions {
    border-top: 1px solid var(--border, rgba(148, 163, 184, .35));
    padding-top: .9rem;
}
.stage-db-instructions h3 {
    margin: 0 0 .75rem;
    font-size: .95rem;
}
.stage-db-instructions__group + .stage-db-instructions__group {
    margin-top: .8rem;
}
.stage-db-instructions__label {
    display: inline-flex;
    align-items: center;
    min-height: 1.35rem;
    padding: .15rem .5rem;
    border-radius: 999px;
    background: rgba(15, 23, 42, .06);
    color: var(--text-muted, #64748b);
    font-size: .74rem;
    font-weight: 700;
    letter-spacing: .04em;
    text-transform: uppercase;
    margin-bottom: .45rem;
}
.instruction-item--warning,
.stage-task-list article.is-warning {
    border-color: rgba(245, 158, 11, .45);
    background: rgba(245, 158, 11, .08);
}

  
.stage-fill-plan__target {
    margin: .35rem 0 0;
    color: var(--color-text-light);
    font-size: .88rem;
}
.stage-fill-plan__points small {
    display: block;
    margin-top: .15rem;
    color: var(--color-text-light);
}

  
.parameter-map {
    display: grid;
    gap: 1rem;
}
.parameter-map h3 {
    margin: 0 0 .65rem;
    font-size: 1rem;
}
.parameter-card-list {
    display: grid;
    gap: .75rem;
}
.parameter-card {
    border: 1px solid var(--color-border, #d1d5db);
    border-radius: 1rem;
    background: rgba(255,255,255,.72);
    padding: .85rem;
}
.parameter-card h4 {
    margin: .1rem 0 .35rem;
    font-size: 1rem;
}
.parameter-chip-row {
    display: flex;
    flex-wrap: wrap;
    gap: .45rem;
    margin-top: .55rem;
}
.parameter-chip {
    display: inline-flex;
    flex-direction: column;
    gap: .1rem;
    min-width: 7.5rem;
    padding: .45rem .55rem;
    border-radius: .75rem;
    background: rgba(15, 23, 42, .055);
    border: 1px solid rgba(15, 23, 42, .08);
}
.parameter-chip small {
    color: var(--color-text-light, #6b7280);
    font-size: .72rem;
    font-weight: 700;
}
.parameter-chip strong {
    color: var(--color-text, #1f2937);
    font-size: .95rem;
}
.parameter-chip em {
    font-style: normal;
    color: #92400e;
    font-size: .72rem;
    font-weight: 800;
}
.parameter-chip--changed {
    background: rgba(245, 158, 11, .12);
    border-color: rgba(245, 158, 11, .35);
}

  
.scrap-reason-list {
    display: grid;
    gap: .55rem;
}
.scrap-reason-row {
    display: grid;
    grid-template-columns: 1fr 5.5rem;
    gap: .75rem;
    align-items: center;
    padding: .65rem .75rem;
    border: 1px solid var(--color-border);
    border-radius: var(--radius-sm);
    background: rgba(255,255,255,.72);
}
.scrap-reason-row span {
    font-weight: 700;
    color: var(--color-text);
}
.scrap-reason-row input {
    width: 100%;
    text-align: center;
}
.soft-separator {
    border: 0;
    border-top: 1px solid var(--color-border);
    margin: 1rem 0;
}
.mini-event-list {
    display: grid;
    gap: .65rem;
}
.mini-event-card {
    padding: .7rem .8rem;
    border: 1px solid var(--color-border);
    border-radius: var(--radius-sm);
    background: rgba(255,255,255,.72);
}
.mini-event-card strong,
.mini-event-card small,
.mini-event-card p {
    display: block;
    margin: 0;
}
.mini-event-card p {
    margin-top: .2rem;
    font-weight: 800;
}
.mini-event-card small {
    margin-top: .25rem;
    color: var(--color-text-light);
}

  
.scrap-help-card {
    display: grid;
    gap: .15rem;
    padding: .75rem .85rem;
    border: 1px solid rgba(245, 158, 11, .28);
    border-radius: var(--radius-sm);
    background: rgba(245, 158, 11, .08);
    color: var(--color-text);
}
.scrap-help-card strong {
    font-size: .95rem;
}
.scrap-help-card span,
.field-hint {
    color: var(--color-text-light);
    font-size: .82rem;
    line-height: 1.35;
}
.scrap-unit-preview-list {
    display: grid;
    gap: .5rem;
    grid-template-columns: repeat(auto-fit, minmax(12rem, 1fr));
}
.scrap-unit-preview {
    display: grid;
    gap: .2rem;
    padding: .65rem .75rem;
    border: 1px solid var(--color-border);
    border-radius: var(--radius-sm);
    background: rgba(255,255,255,.62);
}
.scrap-unit-preview strong {
    font-size: .9rem;
    color: var(--color-text);
}
.scrap-unit-preview span {
    font-size: .78rem;
    color: var(--color-text-light);
    line-height: 1.35;
}
.scrap-reason-groups {
    display: grid;
    gap: .75rem;
}
.scrap-reason-group {
    border: 1px solid var(--color-border);
    border-radius: var(--radius-sm);
    background: rgba(255,255,255,.5);
    padding: .65rem;
}
.scrap-reason-group h4 {
    margin: 0 0 .5rem;
    font-size: .86rem;
    color: var(--color-text-light);
    text-transform: uppercase;
    letter-spacing: .04em;
}
.scrap-chip-row {
    display: flex;
    flex-wrap: wrap;
    gap: .35rem;
    margin: .35rem 0;
}
.scrap-chip {
    display: inline-flex;
    align-items: center;
    border-radius: 999px;
    padding: .2rem .5rem;
    background: rgba(245, 158, 11, .12);
    color: #92400e;
    font-size: .75rem;
    font-weight: 800;
}
.mini-event-card--scrap p b {
    color: #92400e;
}

  
.post-instruction-groups {
  display: grid;
  gap: 0.75rem;
}

.post-instruction-group {
  border: 1px solid rgba(148, 163, 184, 0.22);
  border-radius: 1rem;
  padding: 0.75rem;
  background: rgba(255, 255, 255, 0.62);
}

.mini-kicker {
  font-size: 0.72rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--muted, #64748b);
  font-weight: 800;
  margin-bottom: 0.45rem;
}

  
.stage-fill-work-card {
    display: grid;
    gap: .65rem;
}

.stage-fill-work-card__item,
.stage-fill-work-card__insert,
.stage-fill-work-card__empty {
    border: 1px solid rgba(18, 50, 58, .09);
    border-radius: var(--r-md);
    background: rgba(255,255,255,.74);
    padding: .78rem .85rem;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: .45rem .75rem;
    align-items: start;
}

.stage-fill-work-card__item strong,
.stage-fill-work-card__insert strong,
.stage-fill-work-card__empty strong {
    color: var(--c-text);
    font-weight: 950;
}

.stage-fill-work-card__item span,
.stage-fill-work-card__insert span,
.stage-fill-work-card__empty span,
.stage-fill-work-card__item small {
    color: var(--c-muted);
    font-size: .78rem;
    font-weight: 850;
    line-height: 1.35;
}

.stage-fill-work-card__item b {
    color: var(--bp-accent);
    font-size: 1.08rem;
    font-weight: 950;
    white-space: nowrap;
}

.stage-fill-work-card__item small {
    grid-column: 1 / -1;
    border-top: 1px solid rgba(18, 50, 58, .07);
    padding-top: .45rem;
}

.stage-fill-work-card ul {
    grid-column: 1 / -1;
    margin: .15rem 0 0;
    padding-left: 1rem;
    color: var(--c-muted);
    font-size: .78rem;
    font-weight: 850;
    line-height: 1.45;
}

.stage-fill-work-card__insert {
    grid-template-columns: 1fr;
    background: rgba(255, 251, 235, .62);
    border-color: rgba(245, 158, 11, .18);
}

.stage-fill-work-card__empty {
    grid-template-columns: 1fr;
    border-style: dashed;
}

@media (max-width: 760px) {
    .stage-fill-work-card__item {
        grid-template-columns: 1fr;
    }
}

  
.planner-queue-list--editable .planner-queue-item {
    grid-template-columns: 2rem minmax(0, 1fr);
}
.planner-queue-item__main {
    min-width: 0;
}
.planner-queue-actions {
    grid-column: 2 / -1;
    display: flex;
    flex-wrap: wrap;
    gap: .35rem;
    margin-top: .35rem;
}
.planner-queue-item--active-next {
    border-color: rgba(32, 97, 174, .42);
    background: rgba(32, 97, 174, .07);
}
.planner-queue-item--paused {
    border-style: dashed;
    opacity: .78;
    background: rgba(248,250,252,.82);
}
.planner-queue-item--paused .planner-queue-item__num {
    background: rgba(100,116,139,.12);
    color: #475569;
}

  
.planner-inline-detail {
    margin-top: 1rem;
}
.planner-detail-card {
    border: 1px solid var(--color-border, #d1d5db);
    border-radius: 1rem;
    padding: 1rem;
    background: rgba(255,255,255,.68);
    box-shadow: var(--shadow-sm, 0 .125rem .25rem rgba(0,0,0,.04));
}
.planner-detail-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: .85rem;
    margin-top: .8rem;
}
.planner-detail-grid section {
    border: 1px solid rgba(209, 213, 219, .75);
    border-radius: .8rem;
    padding: .8rem;
    background: rgba(255,255,255,.58);
}
.planner-detail-grid h4 {
    margin: 0 0 .55rem;
    font-size: .78rem;
    letter-spacing: .04em;
    text-transform: uppercase;
    color: var(--color-text-light, #6b7280);
}
.compact-text {
    margin: .35rem 0 0;
}
@media (max-width: 860px) {
    .planner-detail-grid {
        grid-template-columns: 1fr;
    }
}

  
.planner-attention-strip {
    border: 1px solid rgba(249,115,22,.28);
    border-radius: 1.1rem;
    background: linear-gradient(135deg, rgba(255,247,237,.96), rgba(255,255,255,.96));
    padding: .85rem;
    margin: .8rem 0 1rem;
    display: grid;
    gap: .7rem;
}
.planner-attention-strip__title strong {
    display: block;
    color: var(--color-text, #1f2937);
}
.planner-attention-strip__title span {
    display: block;
    color: var(--color-text-light, #64748b);
    font-size: .82rem;
    margin-top: .15rem;
}
.planner-attention-strip__items {
    display: flex;
    flex-wrap: wrap;
    gap: .45rem;
    align-items: stretch;
}
.planner-attention-pill,
.planner-attention-more {
    border: 1px solid rgba(249,115,22,.28);
    border-radius: .85rem;
    background: rgba(255,255,255,.82);
    padding: .48rem .62rem;
    text-decoration: none;
    color: var(--color-text, #1f2937);
    display: grid;
    gap: .1rem;
    min-width: 11rem;
}
.planner-attention-pill strong {
    font-size: .86rem;
}
.planner-attention-pill span,
.planner-attention-more {
    font-size: .78rem;
    color: #9a3412;
}
.planner-attention-more {
    display: inline-flex;
    align-items: center;
    min-width: auto;
    font-weight: 750;
}
.planner-schedule-status-row {
    display: flex;
    flex-wrap: wrap;
    gap: .45rem;
    align-items: center;
}
.planner-schedule-status-row > span {
    font-size: .78rem;
    color: var(--color-text-light, #64748b);
}
.planner-schedule-status--missing {
    border-color: rgba(239,68,68,.38);
    background: rgba(254,242,242,.96);
    color: #991b1b;
}
.planner-schedule-status--open {
    border-color: rgba(249,115,22,.36);
    background: rgba(255,247,237,.96);
    color: #9a3412;
}
.planner-schedule-status--ready {
    border-color: rgba(34,197,94,.34);
    background: rgba(240,253,244,.96);
    color: #166534;
}
.planner-schedule-status--normal {
    border-color: rgba(34,197,94,.24);
    background: rgba(240,253,244,.86);
    color: #166534;
}

  
.planner-filter-bar {
    border: 1px solid rgba(148,163,184,.28);
    border-radius: 1.05rem;
    background: rgba(255,255,255,.82);
    padding: .85rem;
    display: grid;
    gap: .7rem;
    box-shadow: 0 .25rem .9rem rgba(15, 23, 42, .04);
}
.planner-filter-bar__title {
    display: flex;
    justify-content: space-between;
    gap: .8rem;
    align-items: flex-start;
}
.planner-filter-bar__title strong {
    color: var(--color-text, #1f2937);
}
.planner-filter-bar__title span {
    color: var(--color-text-light, #64748b);
    font-size: .82rem;
}
.planner-filter-bar__buttons {
    display: flex;
    flex-wrap: wrap;
    gap: .45rem;
}
.planner-filter-chip {
    border: 1px solid rgba(148,163,184,.35);
    background: rgba(248,250,252,.94);
    color: var(--color-text, #1f2937);
    border-radius: 999px;
    padding: .42rem .65rem;
    font-size: .8rem;
    font-weight: 700;
    cursor: pointer;
    transition: transform .12s ease, border-color .12s ease, background .12s ease;
}
.planner-filter-chip:hover,
.planner-filter-chip:focus-visible {
    transform: translateY(-1px);
    border-color: rgba(37,99,235,.45);
    background: rgba(239,246,255,.96);
    outline: none;
}
.planner-filter-chip.is-active {
    border-color: rgba(37,99,235,.55);
    background: rgba(219,234,254,.92);
    color: #1d4ed8;
}
.planner-filter-chip strong {
    margin-left: .25rem;
}
.planner-filter-empty {
    margin: 0;
    border: 1px dashed rgba(148,163,184,.5);
    border-radius: .85rem;
    padding: .65rem;
    color: var(--color-text-light, #64748b);
    background: rgba(248,250,252,.8);
}
.planner-schedule-card.is-filter-hidden,
.planner-shift-block.is-filter-hidden {
    display: none;
}
.planner-shift-block.is-filter-focused {
    border-color: rgba(37,99,235,.24);
    background: rgba(248,250,252,.92);
}
@media (max-width: 760px) {
    .planner-filter-bar__title {
        display: grid;
    }
}

  
.planner-shift-briefing {
    border: 1px solid rgba(37,99,235,.18);
    border-radius: 1.1rem;
    background: linear-gradient(135deg, rgba(239,246,255,.92), rgba(255,255,255,.96));
    padding: .9rem;
    margin: .85rem 0 1rem;
    display: grid;
    gap: .85rem;
    box-shadow: 0 .35rem 1rem rgba(15,23,42,.05);
}
.planner-shift-briefing__head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: .8rem;
}
.planner-shift-briefing__head strong {
    display: block;
    color: var(--color-text, #1f2937);
}
.planner-shift-briefing__head span {
    display: block;
    color: var(--color-text-light, #64748b);
    font-size: .82rem;
    margin-top: .15rem;
}
.planner-shift-briefing__grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(16rem, 1fr));
    gap: .65rem;
}
.planner-shift-briefing-card {
    border: 1px solid rgba(148,163,184,.24);
    border-radius: 1rem;
    background: rgba(255,255,255,.88);
    padding: .72rem;
}
.planner-shift-briefing-card header {
    display: grid;
    gap: .12rem;
    margin-bottom: .55rem;
}
.planner-shift-briefing-card header strong {
    font-size: .95rem;
}
.planner-shift-briefing-card header span {
    color: var(--color-text-light, #64748b);
    font-size: .78rem;
}
.planner-shift-briefing-card ul {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    gap: .42rem;
}
.planner-shift-briefing-card li {
    border: 1px solid rgba(148,163,184,.22);
    border-left-width: .28rem;
    border-radius: .8rem;
    padding: .5rem .58rem;
    display: grid;
    gap: .1rem;
    background: rgba(248,250,252,.9);
}
.planner-shift-briefing-card li strong {
    font-size: .82rem;
}
.planner-shift-briefing-card li span {
    color: var(--color-text-light, #64748b);
    font-size: .76rem;
    line-height: 1.35;
}
.planner-shift-briefing-card li.is-problem,
.planner-shift-briefing-card li.is-missing {
    border-left-color: #dc2626;
    background: rgba(254,242,242,.92);
}
.planner-shift-briefing-card li.is-open {
    border-left-color: #f97316;
    background: rgba(255,247,237,.94);
}
.planner-shift-briefing-card li.is-ready,
.planner-shift-briefing-card li.is-normal {
    border-left-color: #22c55e;
    background: rgba(240,253,244,.92);
}
.planner-shift-briefing-card li.is-product {
    border-left-color: #2563eb;
    background: rgba(239,246,255,.94);
}
.planner-shift-briefing-card li.is-more {
    border-left-color: #94a3b8;
    background: rgba(248,250,252,.9);
}

.planner-shift-briefing-card li em {
    justify-self: flex-start;
    font-style: normal;
    border: 1px solid rgba(148,163,184,.32);
    border-radius: 999px;
    padding: .12rem .42rem;
    background: rgba(255,255,255,.76);
    color: var(--color-text-light, #64748b);
    font-size: .68rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .035em;
}

@media (max-width: 760px) {
    .planner-shift-briefing__head {
        display: grid;
    }
}

  

  
.locksmith-system-handover {
    margin: 0 0 1rem;
    padding: 1rem;
    border: 1px solid rgba(18, 50, 58, .10);
    border-radius: var(--radius-lg, 1rem);
    background: linear-gradient(135deg, rgba(255,255,255,.88), rgba(239,246,255,.72));
    box-shadow: 0 .35rem 1.2rem rgba(15,23,42,.05);
}
.locksmith-system-handover__head {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    align-items: flex-start;
    margin-bottom: .85rem;
}
.locksmith-system-handover__head strong {
    display: block;
    font-size: 1rem;
    font-weight: 950;
}
.locksmith-system-handover__head span {
    display: block;
    margin-top: .15rem;
    color: var(--color-text-light, #6b7280);
    font-size: .86rem;
}
.locksmith-system-handover__stats {
    display: flex;
    flex-wrap: wrap;
    gap: .4rem;
    justify-content: flex-end;
}
.locksmith-system-handover__stats span {
    display: inline-flex;
    align-items: center;
    gap: .35rem;
    padding: .35rem .55rem;
    border-radius: 999px;
    border: 1px solid rgba(18, 50, 58, .10);
    background: rgba(255,255,255,.65);
    color: var(--color-text, #1f2937);
    font-size: .78rem;
    font-weight: 800;
}
.locksmith-system-handover__stats b {
    color: var(--color-primary, #2061ae);
}
.locksmith-system-handover__list {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(15rem, 1fr));
    gap: .65rem;
}
.locksmith-system-handover-item {
    display: grid;
    gap: .25rem;
    padding: .75rem .85rem;
    border: 1px solid rgba(18, 50, 58, .10);
    border-radius: .9rem;
    background: rgba(255,255,255,.72);
}
.locksmith-system-handover-item strong {
    font-size: .92rem;
    font-weight: 950;
}
.locksmith-system-handover-item span {
    font-size: .86rem;
    font-weight: 820;
}
.locksmith-system-handover-item small,
.locksmith-system-handover-item em {
    color: var(--color-text-light, #6b7280);
    font-size: .78rem;
    font-style: normal;
}
.locksmith-system-handover-item--overdue,
.locksmith-system-handover-item.is-problem {
    border-color: rgba(239,68,68,.38);
    background: rgba(254,226,226,.70);
}
.locksmith-system-handover-item--today_prepare,
.locksmith-system-handover-item--tomorrow_needed {
    border-color: rgba(245,158,11,.40);
    background: rgba(254,243,199,.68);
}
@media (max-width: 900px) {
    .locksmith-system-handover__head {
        display: grid;
    }
    .locksmith-system-handover__stats {
        justify-content: flex-start;
    }
}

  
.locksmith-next-step {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  align-items: center;
  margin: 1rem 0;
  padding: .9rem 1rem;
  border: 1px solid rgba(32, 97, 174, .22);
  border-radius: var(--radius-lg, 1rem);
  background: linear-gradient(135deg, rgba(32,97,174,.08), rgba(255,255,255,.78));
}
.locksmith-next-step__text {
  display: grid;
  gap: .2rem;
  min-width: 0;
}
.locksmith-next-step__text strong {
  font-size: .86rem;
  text-transform: uppercase;
  letter-spacing: .08em;
  color: var(--color-primary);
}
.locksmith-next-step__text span {
  font-weight: 800;
  color: var(--color-text);
}
.locksmith-next-step__text small {
  color: var(--color-text-light);
}
.locksmith-next-step .locksmith-quick-actions {
  margin: 0;
  justify-content: flex-end;
  flex: 0 0 auto;
}
.btn--small-muted {
  opacity: .82;
}
.locksmith-manual-details {
  margin-top: .85rem;
  border-top: 1px solid var(--color-border);
  padding-top: .75rem;
}
.locksmith-manual-details summary {
  cursor: pointer;
  font-size: .9rem;
  font-weight: 700;
  color: var(--color-text-light);
}
.locksmith-manual-details[open] summary {
  color: var(--color-text);
}
@media (max-width: 900px) {
  .locksmith-next-step {
    align-items: stretch;
    flex-direction: column;
  }
  .locksmith-next-step .locksmith-quick-actions {
    justify-content: flex-start;
  }
}

  
.stage-locksmith-handover {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(14rem, .55fr);
  gap: .85rem;
  align-items: center;
  margin: .9rem 0 1rem;
  padding: .95rem 1rem;
  border-radius: var(--r-lg, 1rem);
  border: 1px solid rgba(18, 50, 58, .12);
  background: rgba(255,255,255,.72);
  box-shadow: 0 .6rem 1.5rem rgba(18, 50, 58, .06);
}
.stage-locksmith-handover small {
  display: block;
  margin-bottom: .25rem;
  font-size: .72rem;
  font-weight: 950;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--c-muted);
}
.stage-locksmith-handover strong {
  display: block;
  font-size: 1.05rem;
  font-weight: 950;
  color: var(--c-text);
}
.stage-locksmith-handover span,
.stage-locksmith-handover p {
  display: block;
  margin: .25rem 0 0;
  color: var(--c-muted);
  font-weight: 850;
  line-height: 1.35;
}
.stage-locksmith-handover p {
  margin: 0;
  padding: .7rem .8rem;
  border-radius: var(--r-md, .75rem);
  background: rgba(255,255,255,.58);
  border: 1px solid rgba(18, 50, 58, .08);
}
.stage-locksmith-handover--ready {
  border-color: rgba(34,197,94,.42);
  background: rgba(220,252,231,.72);
}
.stage-locksmith-handover--progress {
  border-color: rgba(32,97,174,.30);
  background: rgba(219,234,254,.70);
}
.stage-locksmith-handover--waiting,
.stage-locksmith-handover--missing {
  border-color: rgba(245,158,11,.42);
  background: rgba(254,243,199,.72);
}
.stage-locksmith-handover--danger {
  border-color: rgba(239,68,68,.42);
  background: rgba(254,226,226,.78);
}
.stage-locksmith-handover--compact {
  margin-top: .75rem;
}
@media (max-width: 900px) {
  .stage-locksmith-handover {
    grid-template-columns: 1fr;
  }
}

  
.stage-form-change-steps--roles article:nth-child(2) {
  border-color: rgba(32,97,174,.28);
  background: rgba(219,234,254,.48);
}
.stage-form-change-steps--roles article:nth-child(3) {
  border-color: rgba(34,197,94,.28);
  background: rgba(220,252,231,.48);
}

 

 
.stage-fill-prep-confirm {
    border-color: rgba(245, 158, 11, .35);
}

.stage-fill-prep-confirm__grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(16rem, .9fr);
    gap: .8rem;
    align-items: stretch;
    margin-top: .85rem;
}

.stage-fill-prep-confirm__state,
.stage-fill-prep-confirm__check {
    border: 1px solid rgba(148, 163, 184, .35);
    border-radius: 1rem;
    background: rgba(255, 255, 255, .72);
    padding: .85rem;
}

.stage-fill-prep-confirm__state small {
    display: block;
    color: var(--color-text-light);
    font-size: .76rem;
    margin-bottom: .25rem;
}

.stage-fill-prep-confirm__state strong {
    display: block;
    color: var(--color-text);
    font-size: .98rem;
}

.stage-fill-prep-confirm__state span {
    display: block;
    margin-top: .25rem;
    color: var(--color-text-light);
    font-size: .84rem;
    line-height: 1.35;
}

.stage-fill-prep-confirm__check {
    display: flex;
    align-items: center;
    gap: .55rem;
    min-height: 100%;
    font-weight: 800;
}

.stage-fill-prep-confirm__check.is-disabled {
    opacity: .62;
    cursor: not-allowed;
}

.stage-fill-prep-confirm__hint {
    margin-top: .7rem;
    color: #92400e;
    font-size: .86rem;
    line-height: 1.4;
}

@media (max-width: 760px) {
    .stage-fill-prep-confirm__grid {
        grid-template-columns: 1fr;
    }
}

.btn[disabled],
.btn[aria-disabled="true"] {
    opacity: .52;
    cursor: not-allowed;
    filter: grayscale(.15);
}

.stage-fill-prep-confirm__hint strong {
    color: var(--color-text);
}

  
.teamlead-formchange-note {
    margin: .75rem 0 0;
    font-weight: 700;
    color: #92400e;
}

  
.teamlead-focus-actions {
  display: flex;
  flex-wrap: wrap;
  gap: .5rem;
  margin-top: .85rem;
  align-items: center;
}
.teamlead-focus-actions form {
  margin: 0;
}
.teamlead-focus-actions .btn {
  min-height: 2.15rem;
}

 

 
.metric-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: var(--sp-md);
}

.metric-grid--4 {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.metric-card {
    background: var(--c-surface);
    border: 1px solid var(--c-border);
    border-radius: var(--r-lg);
    padding: var(--sp-md);
    box-shadow: var(--shadow-sm);
}

.form-grid--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.form-grid--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }

.product-master-layout {
    grid-template-columns: minmax(0, 1fr) minmax(20rem, 26rem);
}

.product-master-form {
    display: grid;
    gap: var(--sp-md);
}

.product-master-active {
    justify-self: start;
}

.product-master-list {
    display: grid;
    gap: .7rem;
    max-height: 62vh;
    overflow: auto;
    padding-right: .15rem;
}

.product-master-card {
    display: grid;
    gap: .35rem;
    text-decoration: none;
    color: inherit;
    padding: .82rem .9rem;
    border: 1px solid rgba(18, 50, 58, .12);
    border-radius: var(--r-lg);
    background: rgba(255,255,255,.86);
    transition: border-color .14s ease, transform .14s ease, box-shadow .14s ease;
}

.product-master-card:hover,
.product-master-card:focus-visible,
.product-master-card.is-selected {
    border-color: rgba(0, 105, 137, .36);
    box-shadow: 0 .45rem 1.2rem rgba(18, 50, 58, .08);
    transform: translateY(-1px);
    outline: none;
}

.product-master-card.is-muted {
    opacity: .68;
}

.product-master-card strong {
    color: var(--c-text);
    line-height: 1.18;
}

.product-master-card small {
    color: var(--c-muted);
    font-weight: 850;
}

.product-master-card__meta {
    display: grid;
    gap: .16rem;
    color: rgba(18, 50, 58, .68);
    font-size: .8rem;
    font-weight: 800;
}

.product-master-card .badge {
    justify-self: start;
}

@media (max-width: 980px) {
    .metric-grid,
    .metric-grid--4,
    .product-master-layout,
    .form-grid--2,
    .form-grid--3 {
        grid-template-columns: 1fr;
    }

    .product-master-list {
        max-height: none;
    }
}

 

 
.tool-master-layout {
    align-items: flex-start;
}

.tool-master-form {
    display: grid;
    gap: 1rem;
}

.tool-master-flags {
    display: flex;
    flex-wrap: wrap;
    gap: .55rem;
}

.tool-master-list {
    display: grid;
    gap: .75rem;
    max-height: 72vh;
    overflow: auto;
    padding-right: .25rem;
}

.tool-master-card {
    display: grid;
    gap: .4rem;
    text-decoration: none;
    color: inherit;
    border: 1px solid var(--border-soft);
    background: var(--surface);
    border-radius: 1rem;
    padding: .9rem;
    box-shadow: var(--shadow-soft);
}

.tool-master-card:hover,
.tool-master-card:focus-visible,
.tool-master-card.is-selected {
    border-color: rgba(32, 97, 174, .42);
    box-shadow: 0 1rem 2.5rem rgba(15, 23, 42, .08);
    transform: translateY(-1px);
}

.tool-master-card.is-muted {
    opacity: .62;
}

.tool-master-card strong {
    font-size: .98rem;
    line-height: 1.25;
}

.tool-master-card small {
    color: var(--text-soft);
    font-weight: 700;
}

.tool-master-card__meta {
    display: flex;
    flex-wrap: wrap;
    gap: .35rem;
}

.tool-master-card__meta span {
    border: 1px solid var(--border-soft);
    background: var(--surface-muted);
    border-radius: 999px;
    padding: .22rem .5rem;
    font-size: .74rem;
    font-weight: 800;
    color: var(--text-soft);
}

.tool-master-card .badge {
    justify-self: flex-start;
}

@media (max-width: 900px) {
    .tool-master-layout {
        grid-template-columns: 1fr;
    }

    .tool-master-list {
        max-height: none;
    }
}

 

 
.visual-object-layout .workspace-main {
    min-width: 0;
}

.visual-object-form label {
    display: flex;
    flex-direction: column;
    gap: .45rem;
    font-size: .86rem;
    font-weight: 700;
    color: var(--color-text, #1f2937);
}

.visual-object-form input,
.visual-object-form select,
.visual-object-form textarea {
    width: 100%;
    border: 1px solid var(--color-border, #d1d5db);
    border-radius: .8rem;
    padding: .72rem .8rem;
    font: inherit;
    background: var(--color-surface, #fff);
    color: var(--color-text, #1f2937);
}

.visual-object-form textarea {
    resize: vertical;
    min-height: 6.5rem;
}

.visual-object-active {
    align-self: end;
    min-height: 2.85rem;
    justify-content: center;
}

.visual-object-list {
    display: grid;
    gap: .65rem;
}

.visual-object-card {
    display: grid;
    gap: .25rem;
    padding: .82rem;
    border: 1px solid var(--color-border, #d1d5db);
    border-radius: 1rem;
    background: rgba(255,255,255,.72);
    color: inherit;
    text-decoration: none;
    box-shadow: var(--shadow-sm, 0 .125rem .25rem rgba(0,0,0,.04));
}

.visual-object-card:hover,
.visual-object-card.is-selected {
    border-color: rgba(32,97,174,.55);
    background: rgba(32,97,174,.06);
}

.visual-object-card.is-muted {
    opacity: .58;
}

.visual-object-card strong {
    font-size: .95rem;
}

.visual-object-card small,
.visual-object-card__meta {
    color: var(--color-text-light, #6b7280);
    font-size: .78rem;
}

.visual-object-card__meta {
    display: flex;
    flex-wrap: wrap;
    gap: .35rem .55rem;
}

 

 
.unit-build-list {
    display: flex;
    flex-direction: column;
    gap: .55rem;
    margin-bottom: .9rem;
}
.unit-build-row {
    display: flex;
    justify-content: space-between;
    gap: .85rem;
    align-items: flex-start;
    padding: .75rem .8rem;
    border: 1px solid var(--color-border);
    border-radius: .9rem;
    background: rgba(255,255,255,.72);
}
.unit-build-row strong,
.unit-build-row span,
.unit-build-row small {
    display: block;
}
.unit-build-row span {
    color: var(--color-text-light);
    font-size: .86rem;
    margin-top: .12rem;
}
.unit-build-row small {
    color: var(--color-text-light);
    margin-top: .28rem;
}
.unit-build-row form {
    flex: 0 0 auto;
}
.unit-inline-form {
    border: 1px dashed var(--color-border);
    border-radius: .95rem;
    padding: .85rem;
    background: rgba(243,244,246,.46);
    margin-top: .65rem;
}
.unit-inline-form .btn {
    margin-top: .55rem;
}
@media (max-width: 760px) {
    .unit-build-row {
        flex-direction: column;
    }
}

 

 
 
 
.choice-grid--center.choice-grid--5 {
    width: min(100%, 76rem);
    grid-template-columns: repeat(6, minmax(0, 1fr));
}

.choice-grid--center.choice-grid--5 > .route-choice-node {
    grid-column: span 2;
}

.choice-grid--center.choice-grid--5 > .route-choice-node:nth-child(4) {
    grid-column: 2 / span 2;
}

.choice-grid--center.choice-grid--5 > .route-choice-node:nth-child(5) {
    grid-column: 4 / span 2;
}

.warehouse-layout .workspace-main {
    min-width: 0;
}

.warehouse-form label {
    display: flex;
    flex-direction: column;
    gap: .45rem;
    font-size: .86rem;
    font-weight: 750;
    color: var(--color-text, #1f2937);
}

.warehouse-form input,
.warehouse-form select,
.warehouse-form textarea {
    width: 100%;
    border: 1px solid var(--color-border, #d1d5db);
    border-radius: .8rem;
    padding: .72rem .8rem;
    font: inherit;
    background: var(--color-surface, #fff);
    color: var(--color-text, #1f2937);
}

.warehouse-material-list {
    max-height: 34rem;
    overflow: auto;
}

@media (max-width: 1180px) {
    .choice-grid--center.choice-grid--5 {
        width: min(100%, 52rem);
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .choice-grid--center.choice-grid--5 > .route-choice-node,
    .choice-grid--center.choice-grid--5 > .route-choice-node:nth-child(4),
    .choice-grid--center.choice-grid--5 > .route-choice-node:nth-child(5) {
        grid-column: auto;
    }
}

@media (max-width: 760px) {
    .choice-grid--center.choice-grid--5 {
        width: min(100%, 26rem);
        grid-template-columns: 1fr;
    }
}

 

 
.choice-grid--center.choice-grid--1 {
    width: min(100%, 28rem);
    grid-template-columns: 1fr;
}

.choice-grid--center.choice-grid--4 {
    width: min(100%, 64rem);
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

@media (max-width: 760px) {
    .choice-grid--center.choice-grid--4 {
        width: min(100%, 28rem);
        grid-template-columns: 1fr;
    }
}

 

 
.warehouse-ux-shell {
    display: flex;
    flex-direction: column;
    gap: 1.1rem;
}

.warehouse-hero {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    gap: 1rem;
    padding: 1.35rem;
    border: 1px solid rgba(209,213,219,.78);
    border-radius: 1.4rem;
    background: linear-gradient(135deg, rgba(255,255,255,.96), rgba(243,244,246,.78));
    box-shadow: 0 .65rem 1.8rem rgba(15,23,42,.06);
}

.warehouse-hero h1 {
    margin: .25rem 0 .35rem;
    font-size: clamp(1.75rem, 2.4vw, 2.45rem);
    line-height: 1.04;
    letter-spacing: -.04em;
}

.warehouse-hero p {
    max-width: 54rem;
    margin: 0;
    color: var(--c-muted, #6b7280);
    font-weight: 700;
}

.warehouse-hero__actions {
    display: flex;
    flex-wrap: wrap;
    gap: .55rem;
    justify-content: flex-end;
}

.warehouse-alert-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: .75rem;
}

.warehouse-alert {
    border: 1px solid rgba(209,213,219,.78);
    border-radius: 1rem;
    padding: .9rem;
    background: rgba(255,255,255,.78);
    display: flex;
    flex-direction: column;
    gap: .25rem;
    min-height: 6.2rem;
}

.warehouse-alert strong {
    font-size: .93rem;
    font-weight: 950;
    color: var(--c-text, #1f2937);
}

.warehouse-alert span {
    font-size: .82rem;
    line-height: 1.35;
    color: var(--c-muted, #6b7280);
    font-weight: 700;
}

.warehouse-alert--ok { border-color: rgba(34,197,94,.28); background: rgba(220,252,231,.72); }
.warehouse-alert--warn { border-color: rgba(245,158,11,.32); background: rgba(254,243,199,.72); }
.warehouse-alert--danger { border-color: rgba(239,68,68,.28); background: rgba(254,226,226,.72); }
.warehouse-alert--info { border-color: rgba(59,130,246,.24); background: rgba(219,234,254,.72); }

.warehouse-section-tabs,
.warehouse-filterbar {
    display: flex;
    flex-wrap: wrap;
    gap: .55rem;
    align-items: center;
}

.warehouse-section-tabs {
    padding: .3rem;
    border: 1px solid rgba(209,213,219,.65);
    border-radius: 1.1rem;
    background: rgba(255,255,255,.72);
    width: fit-content;
}

.warehouse-section-tab,
.warehouse-filter {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 2.25rem;
    padding: .45rem .75rem;
    border-radius: .85rem;
    border: 1px solid transparent;
    color: var(--c-muted, #6b7280);
    text-decoration: none;
    font-size: .84rem;
    font-weight: 950;
}

.warehouse-section-tab.is-active,
.warehouse-filter.is-active {
    color: var(--bp-accent, #2061ae);
    background: rgba(32,97,174,.10);
    border-color: rgba(32,97,174,.18);
}

.warehouse-filterbar {
    margin-bottom: .85rem;
}

.warehouse-filter {
    background: rgba(243,244,246,.84);
}

.warehouse-layout--ux {
    align-items: start;
}

.warehouse-form-side {
    position: sticky;
    top: 1rem;
}

.warehouse-card-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .85rem;
}

.warehouse-card-grid--locations {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.warehouse-card {
    border: 1px solid rgba(209,213,219,.78);
    border-radius: 1.15rem;
    padding: 1rem;
    background: rgba(255,255,255,.9);
    box-shadow: 0 .28rem .9rem rgba(15,23,42,.035);
    display: flex;
    flex-direction: column;
    gap: .75rem;
}

.warehouse-card.is-current {
    border-color: rgba(32,97,174,.42);
    box-shadow: 0 .45rem 1.35rem rgba(32,97,174,.11);
}

.warehouse-card__top {
    display: flex;
    justify-content: space-between;
    gap: .75rem;
    align-items: flex-start;
}

.warehouse-card__kicker {
    display: block;
    margin-bottom: .15rem;
    color: var(--c-muted, #6b7280);
    font-size: .72rem;
    text-transform: uppercase;
    letter-spacing: .08em;
    font-weight: 950;
}

.warehouse-card h3 {
    margin: 0;
    font-size: 1.02rem;
    line-height: 1.16;
}

.warehouse-card__facts {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .5rem;
    margin: 0;
}

.warehouse-card__facts div {
    border: 1px solid rgba(209,213,219,.58);
    border-radius: .8rem;
    background: rgba(243,244,246,.54);
    padding: .55rem .65rem;
}

.warehouse-card__facts dt {
    margin: 0 0 .15rem;
    color: var(--c-muted, #6b7280);
    font-size: .7rem;
    font-weight: 950;
    text-transform: uppercase;
    letter-spacing: .06em;
}

.warehouse-card__facts dd {
    margin: 0;
    color: var(--c-text, #1f2937);
    font-size: .84rem;
    font-weight: 850;
    overflow-wrap: anywhere;
}

.warehouse-card__note {
    margin: 0;
    color: var(--c-muted, #6b7280);
    font-size: .84rem;
    line-height: 1.42;
    font-weight: 700;
}

.warehouse-card__actions {
    display: flex;
    justify-content: flex-end;
    margin-top: auto;
}

.warehouse-guided-box,
.warehouse-form-note {
    border: 1px solid rgba(32,97,174,.18);
    border-radius: 1rem;
    background: rgba(32,97,174,.07);
    padding: .85rem;
    margin-bottom: .9rem;
    display: flex;
    flex-direction: column;
    gap: .35rem;
}

.warehouse-guided-box strong,
.warehouse-form-note strong {
    font-weight: 950;
}

.warehouse-guided-box span,
.warehouse-form-note span {
    color: var(--c-muted, #6b7280);
    font-size: .84rem;
    font-weight: 700;
}

.warehouse-type-picker {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .55rem;
    margin-top: .55rem;
}

.warehouse-type-card {
    min-height: 5.35rem;
    padding: .7rem;
    border-radius: .9rem;
    border: 1px solid rgba(209,213,219,.76);
    background: rgba(255,255,255,.82);
    color: inherit;
    text-decoration: none;
    display: flex;
    flex-direction: column;
    gap: .25rem;
}

.warehouse-type-card strong {
    font-size: .86rem;
}

.warehouse-type-card span {
    font-size: .74rem;
    line-height: 1.28;
}

.warehouse-type-card.is-active {
    border-color: rgba(32,97,174,.38);
    background: rgba(32,97,174,.12);
}

.warehouse-form-anchor {
    scroll-margin-top: 1rem;
}

@media (max-width: 1180px) {
    .warehouse-alert-grid,
    .warehouse-card-grid,
    .warehouse-card-grid--locations {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .warehouse-form-side {
        position: static;
    }
}

@media (max-width: 760px) {
    .warehouse-hero {
        align-items: stretch;
        flex-direction: column;
    }
    .warehouse-hero__actions {
        justify-content: flex-start;
    }
    .warehouse-alert-grid,
    .warehouse-card-grid,
    .warehouse-card-grid--locations,
    .warehouse-type-picker {
        grid-template-columns: 1fr;
    }
    .warehouse-section-tabs {
        width: 100%;
    }
    .warehouse-section-tab {
        flex: 1 1 auto;
    }
}

  
.warehouse-hero--calm {
    align-items: flex-start;
}

.warehouse-search-box {
    display: grid;
    gap: 1rem;
    padding: 1rem;
    border: 1px solid var(--color-border, #d1d5db);
    border-radius: 1rem;
    background: rgba(255,255,255,.72);
    box-shadow: var(--shadow-sm, 0 .125rem .25rem rgba(0,0,0,.04));
}

.warehouse-search-box label {
    display: grid;
    gap: .45rem;
    font-weight: 700;
    color: var(--color-text, #1f2937);
}

.warehouse-search-box label span {
    font-size: .9rem;
    color: var(--color-text-light, #6b7280);
}

.warehouse-search-box input {
    width: 100%;
    min-height: 3.15rem;
    border: 1px solid var(--color-border, #d1d5db);
    border-radius: .9rem;
    padding: .85rem 1rem;
    font-size: 1rem;
    background: #fff;
}

.warehouse-quiet-state,
.warehouse-empty-search {
    display: grid;
    gap: .65rem;
    margin-top: 1rem;
    padding: 1.15rem;
    border: 1px dashed var(--color-border, #d1d5db);
    border-radius: 1rem;
    background: rgba(243,244,246,.7);
    color: var(--color-text-light, #6b7280);
}

.warehouse-quiet-state strong,
.warehouse-empty-search strong {
    color: var(--color-text, #1f2937);
    font-size: 1.02rem;
}

.warehouse-empty-search {
    border-style: solid;
    background: #fff7ed;
}

.warehouse-empty-search strong {
    color: #9a3412;
}

  
.warehouse-search-overlay {
    position: fixed;
    inset: 0;
    z-index: 1000;
    display: grid;
    place-items: center;
    padding: 1.5rem;
}

.warehouse-search-overlay__backdrop {
    position: absolute;
    inset: 0;
    background: rgba(15, 23, 42, .46);
    backdrop-filter: blur(2px);
}

.warehouse-search-modal {
    position: relative;
    z-index: 1;
    width: min(62rem, 100%);
    max-height: min(45rem, calc(100vh - 3rem));
    overflow: auto;
    display: grid;
    gap: 1rem;
    padding: 1.25rem;
    border: 1px solid rgba(209, 213, 219, .9);
    border-radius: 1.25rem;
    background: #f8fafc;
    box-shadow: 0 1.5rem 4rem rgba(15, 23, 42, .22);
}

.warehouse-search-modal__head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
}

.warehouse-search-modal__head h2 {
    margin: .1rem 0 .35rem;
    font-size: clamp(1.45rem, 2vw, 2rem);
}

.warehouse-search-modal__head p {
    margin: 0;
    color: var(--color-text-light, #6b7280);
    max-width: 46rem;
}

.warehouse-overlay-tabs {
    display: flex;
    gap: .5rem;
    flex-wrap: wrap;
}

.warehouse-overlay-tab {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 2.65rem;
    padding: .65rem 1rem;
    border: 1px solid var(--color-border, #d1d5db);
    border-radius: 999px;
    background: rgba(255,255,255,.82);
    color: var(--color-text-light, #6b7280);
    font-weight: 800;
    text-decoration: none;
}

.warehouse-overlay-tab.is-active {
    color: var(--color-primary, #2061ae);
    border-color: rgba(32, 97, 174, .32);
    background: rgba(219, 234, 254, .78);
}

.warehouse-search-results .warehouse-card-grid {
    margin-top: 1rem;
}

.warehouse-action-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1rem;
}

.warehouse-action-card {
    display: grid;
    align-content: start;
    gap: .65rem;
    padding: 1rem;
    border: 1px solid var(--color-border, #d1d5db);
    border-radius: 1rem;
    background: rgba(255,255,255,.72);
    box-shadow: var(--shadow-sm, 0 .125rem .25rem rgba(0,0,0,.04));
}

.warehouse-action-card strong {
    color: var(--color-text, #1f2937);
    font-size: 1.05rem;
}

.warehouse-action-card span {
    color: var(--color-text-light, #6b7280);
    line-height: 1.45;
}

@media (max-width: 760px) {
    .warehouse-search-overlay {
        padding: .75rem;
        align-items: start;
    }

    .warehouse-search-modal {
        max-height: calc(100vh - 1.5rem);
        padding: 1rem;
    }

    .warehouse-search-modal__head {
        display: grid;
    }

    .warehouse-action-grid {
        grid-template-columns: 1fr;
    }
}

  
.warehouse-modal-body {
    display: grid;
    gap: 1rem;
}

.warehouse-search-split {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
}

.warehouse-search-pane {
    display: grid;
    align-content: start;
    gap: .9rem;
    padding: 1rem;
    border: 1px solid rgba(209, 213, 219, .75);
    border-radius: 1rem;
    background: rgba(248, 250, 252, .8);
}

.warehouse-overlay-results {
    display: grid;
    gap: .6rem;
    max-height: 22rem;
    overflow: auto;
}

.warehouse-search-result {
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: .8rem;
    padding: .8rem;
    border: 1px solid rgba(209, 213, 219, .75);
    border-radius: .85rem;
    background: #fff;
}

.warehouse-search-result strong,
.warehouse-search-result small {
    display: block;
}

.warehouse-search-result small {
    margin-top: .15rem;
    color: var(--color-text-light, #6b7280);
    font-weight: 700;
}

.warehouse-search-empty {
    display: grid;
    gap: .55rem;
    margin-top: .35rem;
    padding: 1rem;
    border: 1px dashed var(--color-border, #d1d5db);
    border-radius: 1rem;
    background: rgba(243, 244, 246, .7);
    color: var(--color-text-light, #6b7280);
}

.warehouse-search-empty strong {
    color: var(--color-text, #1f2937);
}

.warehouse-search-empty.is-no-result {
    border-style: solid;
    background: #fff7ed;
}

.warehouse-search-empty.is-no-result strong {
    color: #9a3412;
}

.warehouse-create-types {
    margin-top: .4rem;
}

.warehouse-auto-summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .8rem;
    padding: .8rem 1rem;
    border: 1px solid rgba(32, 97, 174, .18);
    border-radius: .9rem;
    background: rgba(219, 234, 254, .55);
    color: var(--color-text, #1f2937);
}

.warehouse-auto-summary span {
    color: var(--color-text-light, #6b7280);
    font-weight: 800;
}

.warehouse-details {
    border: 1px solid rgba(209, 213, 219, .75);
    border-radius: .9rem;
    background: rgba(255, 255, 255, .72);
    padding: .75rem 1rem;
}

.warehouse-details summary {
    cursor: pointer;
    font-weight: 900;
    color: var(--color-text, #1f2937);
}

.warehouse-details[open] {
    display: grid;
    gap: .9rem;
}

.warehouse-form--simple {
    gap: 1rem;
}

@media (max-width: 900px) {
    .warehouse-search-split {
        grid-template-columns: 1fr;
    }
    .warehouse-search-result {
        grid-template-columns: 1fr;
    }
    .warehouse-auto-summary {
        align-items: flex-start;
        flex-direction: column;
    }
}

  
.warehouse-hero--quiet {
    display: block;
}

.warehouse-hero--quiet p {
    max-width: 56rem;
}

.modal--warehouse-fixed {
    height: min(42rem, calc(100vh - 3rem));
    min-height: min(42rem, calc(100vh - 3rem));
}

.modal--warehouse-fixed .modal__body {
    min-height: 0;
}

.modal--warehouse-fixed .warehouse-modal-body,
.modal--warehouse-fixed .warehouse-search-split,
.modal--warehouse-fixed .warehouse-search-pane {
    min-height: 0;
}

.modal--warehouse-fixed .warehouse-search-pane {
    grid-template-rows: auto auto minmax(0, 1fr) auto;
}

.modal--warehouse-fixed .warehouse-overlay-results {
    max-height: none;
    min-height: 0;
}

.modal--warehouse-fixed .warehouse-search-empty {
    align-self: start;
}

@media (max-width: 900px) {
    .modal--warehouse-fixed {
        height: min(46rem, calc(100vh - 1.5rem));
        min-height: min(46rem, calc(100vh - 1.5rem));
    }
}

  
.warehouse-hero--compact {
    display: block;
    padding: 1.15rem 1.3rem;
    margin-bottom: 1rem;
}

.warehouse-hero--compact h1 {
    margin: .35rem 0 .35rem;
    font-size: clamp(1.9rem, 4vw, 3.1rem);
    line-height: .98;
}

.warehouse-hero--compact p {
    max-width: 58rem;
    margin: 0;
    color: var(--c-muted, #6b7280);
    font-size: .98rem;
    line-height: 1.45;
    font-weight: 750;
}

.warehouse-kpi-row {
    margin-bottom: 1rem;
}

.warehouse-kpi-row .info-tile {
    padding: 1rem;
    min-height: 0;
}

.warehouse-kpi-row .info-tile span {
    font-size: .74rem;
    font-weight: 950;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: var(--c-muted, #6b7280);
}

.warehouse-kpi-row .info-tile strong {
    font-size: clamp(1.45rem, 2.5vw, 2.05rem);
    margin-top: .2rem;
}

.warehouse-kpi-row .info-tile p {
    font-size: .84rem;
    font-weight: 750;
}

.warehouse-ux-shell > .panel {
    margin-top: 1rem;
}

.warehouse-ux-shell > .panel .panel__head {
    padding: .95rem 1rem;
}

.warehouse-ux-shell > .panel .panel__body {
    padding: 1rem;
}

.warehouse-alert-grid {
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: .75rem;
}

.warehouse-alert {
    min-height: 0;
    padding: .8rem .9rem;
    border-radius: .9rem;
}

.warehouse-alert strong {
    font-size: .9rem;
    line-height: 1.2;
}

.warehouse-alert span {
    margin-top: .25rem;
    font-size: .78rem;
    line-height: 1.3;
}

.warehouse-ux-shell > .notice {
    margin-top: .75rem;
}

.warehouse-ux-shell > .notice + .notice {
    margin-top: .55rem;
}

@media (max-width: 1180px) {
    .warehouse-alert-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 760px) {
    .warehouse-alert-grid {
        grid-template-columns: 1fr;
    }
}

 

 
.warehouse-note-list {
    margin-top: var(--sp-md);
}

.warehouse-note-item {
    display: grid;
    grid-template-columns: 11rem minmax(0, 1fr);
    align-items: start;
    gap: var(--sp-md);
    background: rgba(255, 255, 255, .82);
}

.warehouse-note-item strong {
    font-weight: 950;
    color: var(--c-text);
}

.warehouse-note-item span {
    color: var(--c-muted);
    line-height: 1.45;
}

@media (max-width: 760px) {
    .warehouse-note-item {
        grid-template-columns: 1fr;
        gap: .25rem;
    }
}

 

 
.warehouse-hero--nine {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: .95rem 1.05rem;
    margin-bottom: .85rem;
}

.warehouse-hero--nine h1 {
    margin: .25rem 0 .2rem;
    font-size: clamp(1.85rem, 3.1vw, 2.65rem);
    line-height: 1;
}

.warehouse-hero--nine p {
    max-width: 52rem;
    margin: 0;
    color: var(--c-muted, #6b7280);
    font-size: .92rem;
    line-height: 1.35;
    font-weight: 750;
}

.warehouse-hero-status {
    min-width: 14rem;
    padding: .72rem .82rem;
    border: 1px solid rgba(37, 99, 235, .16);
    border-radius: .95rem;
    background: rgba(239, 246, 255, .8);
    box-shadow: var(--shadow-sm, 0 .125rem .25rem rgba(0,0,0,.04));
}

.warehouse-hero-status strong,
.warehouse-hero-status span {
    display: block;
}

.warehouse-hero-status strong {
    font-size: .72rem;
    font-weight: 950;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: var(--c-primary, #2061ae);
}

.warehouse-hero-status span {
    margin-top: .22rem;
    font-size: .86rem;
    font-weight: 850;
    color: var(--c-text, #111827);
}

.warehouse-kpi-row--nine {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: .65rem;
    margin-bottom: .85rem;
}

.warehouse-kpi-row--nine .info-tile {
    padding: .78rem .85rem;
    border-radius: .85rem;
}

.warehouse-kpi-row--nine .info-tile strong {
    font-size: clamp(1.25rem, 2vw, 1.75rem);
    margin-top: .12rem;
}

.warehouse-focus-strip {
    margin-top: .75rem;
    border: 1px solid var(--c-border, #d1d5db);
    border-radius: 1rem;
    background: rgba(255,255,255,.88);
    box-shadow: var(--shadow-sm, 0 .125rem .25rem rgba(0,0,0,.04));
    overflow: hidden;
}

.warehouse-focus-strip__head {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: .75rem;
    padding: .72rem .85rem;
    border-bottom: 1px solid rgba(209, 213, 219, .75);
}

.warehouse-focus-strip__head strong {
    font-size: .95rem;
    font-weight: 950;
    color: var(--c-text, #111827);
}

.warehouse-focus-strip__head span {
    color: var(--c-muted, #6b7280);
    font-size: .82rem;
    font-weight: 750;
}

.warehouse-check-row {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: .55rem;
    padding: .72rem .85rem .82rem;
}

.warehouse-check {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .6rem;
    min-height: 2.75rem;
    padding: .52rem .65rem;
    border-radius: .75rem;
    border: 1px solid rgba(209, 213, 219, .9);
    background: rgba(249, 250, 251, .9);
}

.warehouse-check strong {
    font-size: .85rem;
    font-weight: 950;
    line-height: 1.15;
    color: var(--c-text, #111827);
}

.warehouse-check span {
    flex: 0 0 auto;
    color: var(--c-muted, #6b7280);
    font-size: .76rem;
    font-weight: 850;
    line-height: 1.15;
    text-align: right;
}

.warehouse-check--ok {
    border-color: rgba(34, 197, 94, .28);
    background: rgba(220, 252, 231, .68);
}

.warehouse-check--warn {
    border-color: rgba(245, 158, 11, .34);
    background: rgba(254, 243, 199, .72);
}

.warehouse-check--danger {
    border-color: rgba(239, 68, 68, .34);
    background: rgba(254, 226, 226, .7);
}

.warehouse-check--info {
    border-color: rgba(59, 130, 246, .28);
    background: rgba(219, 234, 254, .68);
}

.warehouse-guidance-rail {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: .55rem;
    margin-top: .75rem;
}

.warehouse-guidance-rail > div {
    display: grid;
    grid-template-columns: 8.5rem minmax(0, 1fr);
    gap: .65rem;
    align-items: center;
    min-height: 2.35rem;
    padding: .48rem .62rem;
    border: 1px solid rgba(209, 213, 219, .85);
    border-radius: .75rem;
    background: rgba(255,255,255,.82);
}

.warehouse-guidance-rail strong {
    font-size: .82rem;
    font-weight: 950;
    color: var(--c-text, #111827);
}

.warehouse-guidance-rail span {
    font-size: .8rem;
    font-weight: 720;
    color: var(--c-muted, #6b7280);
    line-height: 1.25;
}

@media (max-width: 1120px) {
    .warehouse-kpi-row--nine,
    .warehouse-check-row,
    .warehouse-guidance-rail {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 760px) {
    .warehouse-hero--nine,
    .warehouse-focus-strip__head {
        display: block;
    }
    .warehouse-hero-status {
        margin-top: .75rem;
        min-width: 0;
    }
    .warehouse-kpi-row--nine,
    .warehouse-check-row,
    .warehouse-guidance-rail,
    .warehouse-guidance-rail > div {
        grid-template-columns: 1fr;
    }
    .warehouse-check span {
        text-align: left;
    }
}

 

 
.warehouse-kpi-action {
    width: 100%;
    text-align: left;
    cursor: pointer;
    font: inherit;
}

.warehouse-kpi-action:hover,
.warehouse-check--action:hover {
    transform: translateY(-1px);
    box-shadow: var(--shadow-md, 0 .25rem .75rem rgba(0,0,0,.08));
}

.warehouse-check--action {
    width: 100%;
    cursor: pointer;
    font: inherit;
    text-align: left;
}

.warehouse-incomplete-body {
    display: flex;
    flex-direction: column;
    gap: .75rem;
}

.warehouse-incomplete-summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .75rem;
    padding: .7rem .8rem;
    border: 1px solid rgba(245, 158, 11, .28);
    border-radius: .85rem;
    background: rgba(254, 243, 199, .62);
}

.warehouse-incomplete-summary strong {
    font-size: .95rem;
    font-weight: 950;
    color: var(--c-text, #111827);
}

.warehouse-incomplete-summary span {
    font-size: .82rem;
    font-weight: 760;
    color: var(--c-muted, #6b7280);
    text-align: right;
}

.warehouse-incomplete-groups {
    display: grid;
    gap: .75rem;
    overflow: auto;
    padding-right: .15rem;
}

.warehouse-incomplete-group {
    border: 1px solid rgba(209, 213, 219, .85);
    border-radius: .9rem;
    overflow: hidden;
    background: rgba(255,255,255,.86);
}

.warehouse-incomplete-group__head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .75rem;
    padding: .62rem .75rem;
    border-bottom: 1px solid rgba(209, 213, 219, .75);
    background: rgba(249, 250, 251, .9);
}

.warehouse-incomplete-group__head strong {
    font-size: .86rem;
    font-weight: 950;
    color: var(--c-text, #111827);
}

.warehouse-incomplete-group__head span {
    font-size: .76rem;
    font-weight: 850;
    color: var(--c-muted, #6b7280);
}

.warehouse-incomplete-list {
    display: grid;
}

.warehouse-incomplete-item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .8rem;
    padding: .6rem .75rem;
    border-bottom: 1px solid rgba(229, 231, 235, .9);
}

.warehouse-incomplete-item:last-child {
    border-bottom: 0;
}

.warehouse-incomplete-item strong,
.warehouse-incomplete-item span {
    display: block;
}

.warehouse-incomplete-item strong {
    font-size: .88rem;
    font-weight: 950;
    color: var(--c-text, #111827);
}

.warehouse-incomplete-item > div:first-child span {
    margin-top: .12rem;
    font-size: .75rem;
    font-weight: 760;
    color: var(--c-muted, #6b7280);
}

.warehouse-incomplete-tags {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    flex-wrap: wrap;
    gap: .35rem;
}

@media (max-width: 760px) {
    .warehouse-incomplete-summary,
    .warehouse-incomplete-item {
        display: grid;
        justify-content: stretch;
    }
    .warehouse-incomplete-summary span {
        text-align: left;
    }
    .warehouse-incomplete-tags {
        justify-content: flex-start;
    }
}

 

 
.modal--warehouse-review {
    width: min(100%, 60rem);
    height: min(36rem, calc(100vh - 3rem));
    min-height: min(36rem, calc(100vh - 3rem));
}

.modal__header--compact {
    padding: .9rem 1rem;
    align-items: center;
}

.warehouse-review-body {
    padding: 0;
    min-height: 0;
    overflow: hidden;
}

.warehouse-review-layout {
    display: grid;
    grid-template-columns: 15rem minmax(0, 1fr);
    min-height: 0;
    height: 100%;
}

.warehouse-review-sidebar {
    border-right: 1px solid rgba(209, 213, 219, .85);
    background: rgba(249, 250, 251, .86);
    padding: .85rem;
    display: grid;
    grid-template-rows: auto minmax(0, 1fr);
    gap: .75rem;
    min-height: 0;
}

.warehouse-review-total {
    border: 1px solid rgba(245, 158, 11, .35);
    background: rgba(254, 243, 199, .75);
    border-radius: .9rem;
    padding: .75rem;
    display: grid;
    gap: .15rem;
}

.warehouse-review-total span,
.warehouse-review-total small {
    color: var(--c-muted, #6b7280);
    font-size: .72rem;
    font-weight: 850;
    text-transform: uppercase;
    letter-spacing: .04em;
}

.warehouse-review-total strong {
    color: var(--c-text, #111827);
    font-size: 2rem;
    line-height: 1;
    font-weight: 950;
}

.warehouse-review-nav {
    display: grid;
    gap: .35rem;
    align-content: start;
    overflow: auto;
    padding-right: .1rem;
}

.warehouse-review-nav a {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .5rem;
    padding: .52rem .58rem;
    border: 1px solid rgba(209, 213, 219, .75);
    border-radius: .72rem;
    background: #fff;
    color: var(--c-text, #111827);
    text-decoration: none;
    font-size: .78rem;
    font-weight: 850;
}

.warehouse-review-nav a:hover {
    border-color: rgba(37, 99, 235, .35);
    box-shadow: var(--shadow-sm, 0 .125rem .25rem rgba(0,0,0,.04));
}

.warehouse-review-nav strong {
    min-width: 1.55rem;
    min-height: 1.55rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    background: rgba(37, 99, 235, .1);
    color: var(--c-primary, #2563eb);
    font-size: .75rem;
    font-weight: 950;
}

.warehouse-review-panel {
    display: grid;
    grid-template-rows: auto minmax(0, 1fr);
    min-height: 0;
}

.warehouse-review-toolbar {
    padding: .75rem .9rem;
    border-bottom: 1px solid rgba(209, 213, 219, .85);
    background: rgba(255,255,255,.88);
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .75rem;
}

.warehouse-review-toolbar strong {
    font-size: .9rem;
    font-weight: 950;
    color: var(--c-text, #111827);
}

.warehouse-review-toolbar span {
    font-size: .76rem;
    font-weight: 760;
    color: var(--c-muted, #6b7280);
    text-align: right;
}

.warehouse-review-scroll {
    overflow: auto;
    padding: .75rem .9rem .9rem;
    display: grid;
    gap: .75rem;
    align-content: start;
}

.warehouse-review-group {
    border: 1px solid rgba(209, 213, 219, .85);
    border-radius: .9rem;
    background: #fff;
    overflow: hidden;
}

.warehouse-review-group__head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .75rem;
    padding: .52rem .65rem;
    background: rgba(249, 250, 251, .9);
    border-bottom: 1px solid rgba(229, 231, 235, .9);
}

.warehouse-review-group__head strong {
    font-size: .82rem;
    font-weight: 950;
    color: var(--c-text, #111827);
}

.warehouse-review-group__head span {
    font-size: .72rem;
    font-weight: 850;
    color: var(--c-muted, #6b7280);
}

.warehouse-review-row {
    display: grid;
    grid-template-columns: minmax(10rem, 1fr) auto auto;
    align-items: center;
    gap: .65rem;
    padding: .48rem .65rem;
    border-bottom: 1px solid rgba(229, 231, 235, .9);
    min-height: 2.8rem;
}

.warehouse-review-row:last-child {
    border-bottom: 0;
}

.warehouse-review-main strong,
.warehouse-review-main span {
    display: block;
}

.warehouse-review-main strong {
    color: var(--c-text, #111827);
    font-size: .84rem;
    font-weight: 950;
    line-height: 1.15;
}

.warehouse-review-main span {
    margin-top: .08rem;
    color: var(--c-muted, #6b7280);
    font-size: .71rem;
    font-weight: 760;
}

.warehouse-review-missing {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    flex-wrap: wrap;
    gap: .28rem;
}

.warehouse-review-missing span {
    display: inline-flex;
    align-items: center;
    min-height: 1.45rem;
    padding: .16rem .48rem;
    border-radius: 999px;
    border: 1px solid rgba(245, 158, 11, .26);
    background: rgba(254, 243, 199, .72);
    color: #92400e;
    font-size: .7rem;
    font-weight: 900;
    white-space: nowrap;
}

.warehouse-review-row .btn {
    white-space: nowrap;
}

@media (max-width: 820px) {
    .modal--warehouse-review {
        width: calc(100vw - 1rem);
        height: calc(100vh - 1rem);
        min-height: calc(100vh - 1rem);
    }
    .warehouse-review-layout {
        grid-template-columns: 1fr;
    }
    .warehouse-review-sidebar {
        border-right: 0;
        border-bottom: 1px solid rgba(209, 213, 219, .85);
        grid-template-rows: auto auto;
    }
    .warehouse-review-nav {
        display: flex;
        overflow-x: auto;
    }
    .warehouse-review-nav a {
        min-width: 10rem;
    }
    .warehouse-review-toolbar,
    .warehouse-review-row {
        grid-template-columns: 1fr;
        display: grid;
        align-items: stretch;
    }
    .warehouse-review-toolbar span {
        text-align: left;
    }
    .warehouse-review-missing {
        justify-content: flex-start;
    }
}

 

 
.warehouse-review-tabs {
    min-height: 0;
    height: 100%;
}

.warehouse-review-tab-input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.warehouse-review-nav {
    gap: .42rem;
}

.warehouse-review-tab-label {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .65rem;
    padding: .58rem .62rem;
    border: 1px solid rgba(209, 213, 219, .8);
    border-radius: .78rem;
    background: #fff;
    color: var(--c-text, #111827);
    font-size: .78rem;
    font-weight: 850;
    cursor: pointer;
    transition: border-color .15s ease, background .15s ease, box-shadow .15s ease, transform .15s ease;
}

.warehouse-review-tab-label:hover {
    border-color: rgba(37, 99, 235, .35);
    background: rgba(239, 246, 255, .54);
    box-shadow: var(--shadow-sm, 0 .125rem .25rem rgba(0,0,0,.04));
}

.warehouse-review-tab-label strong {
    min-width: 1.55rem;
    min-height: 1.55rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    background: rgba(37, 99, 235, .1);
    color: var(--c-primary, #2563eb);
    font-size: .75rem;
    font-weight: 950;
}

.warehouse-review-tab-panel {
    display: none;
    min-height: 0;
}

.warehouse-review-panel-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .75rem;
    margin-bottom: .55rem;
}

.warehouse-review-panel-head strong,
.warehouse-review-panel-head span {
    display: block;
}

.warehouse-review-panel-head strong {
    color: var(--c-text, #111827);
    font-size: .95rem;
    font-weight: 950;
    line-height: 1.15;
}

.warehouse-review-panel-head span {
    margin-top: .12rem;
    color: var(--c-muted, #6b7280);
    font-size: .73rem;
    font-weight: 820;
}

.warehouse-review-rows {
    border: 1px solid rgba(209, 213, 219, .85);
    border-radius: .9rem;
    background: #fff;
    overflow: hidden;
}

.warehouse-review-row {
    grid-template-columns: minmax(12rem, 1fr) auto auto;
}

#warehouse-review-tab-powder:checked ~ .warehouse-review-layout .warehouse-review-tab-label[for="warehouse-review-tab-powder"],
#warehouse-review-tab-color:checked ~ .warehouse-review-layout .warehouse-review-tab-label[for="warehouse-review-tab-color"],
#warehouse-review-tab-insert:checked ~ .warehouse-review-layout .warehouse-review-tab-label[for="warehouse-review-tab-insert"],
#warehouse-review-tab-addon:checked ~ .warehouse-review-layout .warehouse-review-tab-label[for="warehouse-review-tab-addon"],
#warehouse-review-tab-packaging:checked ~ .warehouse-review-layout .warehouse-review-tab-label[for="warehouse-review-tab-packaging"],
#warehouse-review-tab-aid:checked ~ .warehouse-review-layout .warehouse-review-tab-label[for="warehouse-review-tab-aid"],
#warehouse-review-tab-other:checked ~ .warehouse-review-layout .warehouse-review-tab-label[for="warehouse-review-tab-other"] {
    border-color: rgba(37, 99, 235, .45);
    background: rgba(239, 246, 255, .72);
    box-shadow: inset .18rem 0 0 var(--c-primary, #2563eb), var(--shadow-sm, 0 .125rem .25rem rgba(0,0,0,.04));
}

#warehouse-review-tab-powder:checked ~ .warehouse-review-layout .warehouse-review-tab-panel--powder,
#warehouse-review-tab-color:checked ~ .warehouse-review-layout .warehouse-review-tab-panel--color,
#warehouse-review-tab-insert:checked ~ .warehouse-review-layout .warehouse-review-tab-panel--insert,
#warehouse-review-tab-addon:checked ~ .warehouse-review-layout .warehouse-review-tab-panel--addon,
#warehouse-review-tab-packaging:checked ~ .warehouse-review-layout .warehouse-review-tab-panel--packaging,
#warehouse-review-tab-aid:checked ~ .warehouse-review-layout .warehouse-review-tab-panel--aid,
#warehouse-review-tab-other:checked ~ .warehouse-review-layout .warehouse-review-tab-panel--other {
    display: block;
}

@media (max-width: 820px) {
    .warehouse-review-tabs {
        overflow: hidden;
    }
    .warehouse-review-tab-label {
        min-width: 10rem;
    }
    .warehouse-review-row {
        grid-template-columns: 1fr;
    }
}

 

 
.modal--warehouse-create {
    width: min(100%, 42rem);
}

.modal--warehouse-edit {
    width: min(100%, 48rem);
    height: min(40rem, calc(100vh - 3rem));
}

.modal--warehouse-edit .warehouse-edit-body {
    overflow: auto;
    padding: 1rem;
}

.warehouse-create-body {
    display: grid;
    gap: 1rem;
}

.warehouse-create-step {
    border: 1px solid rgba(209, 213, 219, .86);
    border-radius: 1rem;
    background: rgba(255,255,255,.92);
    padding: 1rem;
}

.warehouse-create-step h3 {
    margin: 0 0 .25rem;
    color: var(--c-text, #111827);
    font-size: clamp(1.1rem, 2vw, 1.45rem);
    font-weight: 950;
    letter-spacing: -.02em;
}

.warehouse-create-step p {
    margin: 0 0 .85rem;
    color: var(--c-muted, #6b7280);
    font-size: .86rem;
    font-weight: 760;
}

.warehouse-choice-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .55rem;
}

.warehouse-choice-grid--locations {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.warehouse-choice-chip {
    position: relative;
    display: grid;
    gap: .12rem;
    min-height: 3.25rem;
    padding: .72rem .82rem;
    border: 1px solid rgba(209, 213, 219, .95);
    border-radius: .9rem;
    background: rgba(249, 250, 251, .82);
    cursor: pointer;
    transition: border-color .15s ease, background .15s ease, box-shadow .15s ease, transform .15s ease;
}

.warehouse-choice-chip:hover {
    border-color: rgba(37, 99, 235, .35);
    background: rgba(239, 246, 255, .55);
}

.warehouse-choice-chip input {
    position: absolute;
    width: 1px;
    height: 1px;
    opacity: 0;
    pointer-events: none;
}

.warehouse-choice-chip span {
    color: var(--c-text, #111827);
    font-size: .85rem;
    font-weight: 950;
    line-height: 1.15;
}

.warehouse-choice-chip small {
    color: var(--c-muted, #6b7280);
    font-size: .72rem;
    font-weight: 820;
}

.warehouse-choice-chip.is-selected,
.warehouse-choice-chip:has(input:checked) {
    border-color: rgba(37, 99, 235, .72);
    background: rgba(239, 246, 255, .88);
    box-shadow: inset 0 0 0 2px rgba(37, 99, 235, .14), var(--shadow-sm, 0 .125rem .25rem rgba(0,0,0,.04));
}

.warehouse-create-name {
    width: 100%;
    min-height: 3.25rem;
    border: 1px solid rgba(209, 213, 219, .95);
    border-radius: .9rem;
    background: #fff;
    color: var(--c-text, #111827);
    font-size: 1.05rem;
    font-weight: 850;
    padding: .82rem .95rem;
    outline: none;
}

.warehouse-create-name:focus {
    border-color: rgba(37, 99, 235, .6);
    box-shadow: 0 0 0 3px rgba(37, 99, 235, .12);
}

.warehouse-create-summary {
    display: grid;
    gap: .18rem;
    padding: .82rem .95rem;
    border: 1px solid rgba(34, 197, 94, .22);
    border-radius: .9rem;
    background: rgba(220, 252, 231, .45);
}

.warehouse-create-summary strong {
    color: var(--c-text, #111827);
    font-weight: 950;
}

.warehouse-create-summary span {
    color: var(--c-muted, #6b7280);
    font-size: .82rem;
    font-weight: 760;
}

.warehouse-edit-body .warehouse-form-anchor,
.warehouse-edit-body .warehouse-guided-box {
    display: none;
}

.warehouse-edit-body .warehouse-form {
    margin: 0;
    border: 0;
    box-shadow: none;
    padding: 0;
    background: transparent;
}

.warehouse-edit-body .warehouse-form-note {
    margin-bottom: .85rem;
}

.warehouse-edit-body .form-grid {
    grid-template-columns: 1fr;
}

.warehouse-edit-body .button-row {
    position: sticky;
    bottom: 0;
    margin: .85rem 0 0;
    padding: .85rem;
    border: 1px solid rgba(209, 213, 219, .82);
    border-radius: 1rem;
    background: rgba(255,255,255,.96);
    backdrop-filter: blur(.5rem);
}

@media (max-width: 720px) {
    .warehouse-choice-grid,
    .warehouse-choice-grid--locations {
        grid-template-columns: 1fr;
    }
    .modal--warehouse-edit {
        width: calc(100vw - 1rem);
        height: calc(100vh - 1rem);
    }
}


 

 
.warehouse-search-empty .btn {
    justify-self: start;
}

.warehouse-create-name:not(:placeholder-shown) {
    border-color: rgba(37, 99, 235, .38);
    background: rgba(239, 246, 255, .32);
}

 

 
.modal--warehouse-edit {
    width: min(100%, 56rem);
    height: min(47rem, calc(100vh - 2rem));
}

.modal--warehouse-edit.modal--small {
    width: min(100%, 50rem);
}

.warehouse-edit-panel {
    display: grid;
    gap: 1rem;
}

.warehouse-edit-hero {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
    padding: 1rem;
    border: 1px solid rgba(37, 99, 235, .16);
    border-radius: 1.05rem;
    background: linear-gradient(135deg, rgba(239, 246, 255, .9), rgba(255,255,255,.96));
}

.warehouse-edit-hero > div {
    display: grid;
    gap: .18rem;
}

.warehouse-edit-hero span {
    color: var(--c-muted, #6b7280);
    font-size: .74rem;
    font-weight: 900;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.warehouse-edit-hero strong {
    color: var(--c-text, #111827);
    font-size: clamp(1.25rem, 2.6vw, 1.75rem);
    font-weight: 950;
    line-height: 1.08;
    letter-spacing: -.03em;
}

.warehouse-edit-hero small {
    max-width: 40rem;
    color: var(--c-muted, #6b7280);
    font-size: .86rem;
    font-weight: 760;
    line-height: 1.45;
}

.warehouse-edit-step {
    padding: 1rem;
}

.warehouse-choice-grid--edit {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.warehouse-edit-mini-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .75rem;
    margin-top: .85rem;
}

.warehouse-edit-mini-grid label,
.warehouse-edit-details label {
    display: grid;
    gap: .35rem;
    color: var(--c-muted, #6b7280);
    font-size: .78rem;
    font-weight: 880;
}

.warehouse-edit-mini-grid input,
.warehouse-edit-mini-grid select,
.warehouse-edit-details input,
.warehouse-edit-details select,
.warehouse-edit-details textarea {
    width: 100%;
    border: 1px solid rgba(209, 213, 219, .95);
    border-radius: .8rem;
    background: #fff;
    color: var(--c-text, #111827);
    font: inherit;
    font-size: .9rem;
    font-weight: 760;
    padding: .72rem .8rem;
    outline: none;
}

.warehouse-edit-mini-grid input:focus,
.warehouse-edit-mini-grid select:focus,
.warehouse-edit-details input:focus,
.warehouse-edit-details select:focus,
.warehouse-edit-details textarea:focus {
    border-color: rgba(37, 99, 235, .55);
    box-shadow: 0 0 0 3px rgba(37, 99, 235, .11);
}

.warehouse-edit-status-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: .65rem;
}

.warehouse-edit-panel--location .warehouse-edit-status-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.warehouse-edit-status-grid article {
    display: grid;
    gap: .15rem;
    min-height: 4.8rem;
    padding: .82rem .9rem;
    border: 1px solid rgba(209, 213, 219, .8);
    border-radius: .95rem;
    background: rgba(249, 250, 251, .82);
}

.warehouse-edit-status-grid span {
    color: var(--c-muted, #6b7280);
    font-size: .72rem;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: .06em;
}

.warehouse-edit-status-grid strong {
    align-self: end;
    color: var(--c-text, #111827);
    font-size: .92rem;
    font-weight: 950;
    line-height: 1.2;
}

.warehouse-edit-details {
    border: 1px solid rgba(209, 213, 219, .86);
    border-radius: 1rem;
    background: rgba(255,255,255,.9);
    padding: .9rem 1rem;
}

.warehouse-edit-details summary {
    cursor: pointer;
    color: var(--c-text, #111827);
    font-weight: 950;
}

.warehouse-edit-details[open] {
    display: grid;
    gap: .85rem;
}

.warehouse-status-choice {
    display: grid;
    gap: .5rem;
}

.warehouse-status-choice > strong {
    color: var(--c-text, #111827);
    font-weight: 950;
}

.warehouse-choice-grid--status {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.warehouse-edit-summary {
    background: rgba(239, 246, 255, .62);
    border-color: rgba(37, 99, 235, .18);
}

@media (max-width: 860px) {
    .warehouse-choice-grid--edit,
    .warehouse-edit-status-grid,
    .warehouse-edit-panel--location .warehouse-edit-status-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 640px) {
    .warehouse-edit-hero,
    .warehouse-edit-mini-grid,
    .warehouse-choice-grid--edit,
    .warehouse-edit-status-grid,
    .warehouse-edit-panel--location .warehouse-edit-status-grid,
    .warehouse-choice-grid--status {
        grid-template-columns: 1fr;
    }
    .warehouse-edit-hero {
        display: grid;
    }
}

 

 
.warehouse-edit-panel--focused {
    gap: .85rem;
}

.warehouse-edit-focus {
    display: grid;
    gap: .85rem;
}

.warehouse-edit-focus__head {
    display: grid;
    gap: .2rem;
    padding: .15rem .1rem 0;
}

.warehouse-edit-focus__head h3 {
    margin: 0;
    color: var(--c-text, #111827);
    font-size: clamp(1.15rem, 2vw, 1.5rem);
    font-weight: 950;
    letter-spacing: -.025em;
}

.warehouse-edit-focus__head p {
    margin: 0;
    color: var(--c-muted, #6b7280);
    font-size: .86rem;
    font-weight: 760;
    line-height: 1.45;
}

.warehouse-edit-action-grid {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: .55rem;
}

.warehouse-edit-panel--location .warehouse-edit-action-grid {
    grid-template-columns: repeat(5, minmax(0, 1fr));
}

.warehouse-edit-action {
    appearance: none;
    text-align: left;
    display: grid;
    gap: .15rem;
    min-height: 4.1rem;
    border: 1px solid rgba(209, 213, 219, .9);
    border-radius: .95rem;
    background: rgba(249, 250, 251, .82);
    padding: .75rem .82rem;
    cursor: pointer;
    transition: border-color .15s ease, background .15s ease, box-shadow .15s ease, transform .15s ease;
}

.warehouse-edit-action:hover {
    border-color: rgba(37, 99, 235, .35);
    background: rgba(239, 246, 255, .55);
}

.warehouse-edit-action.is-active {
    border-color: rgba(37, 99, 235, .72);
    background: rgba(239, 246, 255, .92);
    box-shadow: inset 0 0 0 2px rgba(37, 99, 235, .13), var(--shadow-sm, 0 .125rem .25rem rgba(0,0,0,.04));
}

.warehouse-edit-action strong {
    color: var(--c-text, #111827);
    font-size: .82rem;
    font-weight: 950;
    line-height: 1.15;
}

.warehouse-edit-action span {
    color: var(--c-muted, #6b7280);
    font-size: .72rem;
    font-weight: 800;
    line-height: 1.25;
}

.warehouse-edit-current {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: .55rem;
    padding: .7rem;
    border: 1px solid rgba(209, 213, 219, .68);
    border-radius: 1rem;
    background: rgba(249, 250, 251, .58);
}

.warehouse-edit-current--location {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.warehouse-edit-current article {
    display: grid;
    gap: .08rem;
    padding: .65rem .7rem;
    border-radius: .75rem;
    background: rgba(255,255,255,.82);
}

.warehouse-edit-current span {
    color: var(--c-muted, #6b7280);
    font-size: .68rem;
    font-weight: 900;
    letter-spacing: .06em;
    text-transform: uppercase;
}

.warehouse-edit-current strong {
    color: var(--c-text, #111827);
    font-size: .84rem;
    font-weight: 950;
    line-height: 1.2;
}

.warehouse-edit-focus-panel {
    display: none;
    gap: .85rem;
    padding: 1rem;
    border: 1px solid rgba(209, 213, 219, .9);
    border-radius: 1rem;
    background: rgba(255,255,255,.94);
}

.warehouse-edit-focus-panel.is-active {
    display: grid;
}

.warehouse-edit-focus-panel h3 {
    margin: 0 0 -.55rem;
    color: var(--c-text, #111827);
    font-size: clamp(1.08rem, 2vw, 1.38rem);
    font-weight: 950;
    letter-spacing: -.02em;
}

.warehouse-edit-focus-panel p {
    margin: 0;
    color: var(--c-muted, #6b7280);
    font-size: .84rem;
    font-weight: 760;
    line-height: 1.45;
}

.warehouse-edit-focus-panel label {
    display: grid;
    gap: .35rem;
    color: var(--c-muted, #6b7280);
    font-size: .78rem;
    font-weight: 880;
}

.warehouse-edit-focus-panel textarea {
    width: 100%;
    border: 1px solid rgba(209, 213, 219, .95);
    border-radius: .8rem;
    background: #fff;
    color: var(--c-text, #111827);
    font: inherit;
    font-size: .9rem;
    font-weight: 760;
    padding: .72rem .8rem;
    outline: none;
}

.warehouse-edit-focus-panel textarea:focus {
    border-color: rgba(37, 99, 235, .55);
    box-shadow: 0 0 0 3px rgba(37, 99, 235, .11);
}

@media (max-width: 920px) {
    .warehouse-edit-action-grid,
    .warehouse-edit-panel--location .warehouse-edit-action-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .warehouse-edit-current,
    .warehouse-edit-current--location {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 640px) {
    .warehouse-edit-action-grid,
    .warehouse-edit-panel--location .warehouse-edit-action-grid,
    .warehouse-edit-current,
    .warehouse-edit-current--location {
        grid-template-columns: 1fr;
    }
}

 

 
.modal--warehouse-edit {
    height: min(54rem, 88vh);
    max-height: calc(100vh - 1.25rem);
    display: flex;
    flex-direction: column;
}

.modal--warehouse-edit .warehouse-edit-body {
    flex: 1 1 auto;
    min-height: 0;
    overflow: auto;
}

.modal--warehouse-edit .modal__header {
    flex: 0 0 auto;
}

.modal--warehouse-edit .warehouse-edit-panel--focused,
.modal--warehouse-edit .warehouse-edit-focus {
    min-height: 0;
}

@media (max-width: 720px) {
    .modal--warehouse-edit {
        height: calc(100vh - 1rem);
        max-height: calc(100vh - 1rem);
    }
}


 

 
.modal--warehouse-replace {
    width: min(100%, 54rem);
}

.modal--warehouse-replace.modal--small {
    width: min(100%, 48rem);
}

.warehouse-edit-action--replace {
    border-color: rgba(245, 158, 11, .38);
    background: rgba(255, 251, 235, .72);
}

.warehouse-edit-action--replace:hover {
    border-color: rgba(245, 158, 11, .62);
    background: rgba(255, 251, 235, .96);
}

.warehouse-replace-body {
    display: grid;
    gap: 1rem;
}

.warehouse-replace-hero {
    display: flex;
    justify-content: space-between;
    align-items: stretch;
    gap: 1rem;
    padding: 1rem;
    border: 1px solid rgba(209, 213, 219, .86);
    border-radius: 1.05rem;
    background: linear-gradient(135deg, rgba(249,250,251,.96), rgba(255,255,255,.98));
}

.warehouse-replace-hero--critical {
    border-color: rgba(245, 158, 11, .44);
    background: linear-gradient(135deg, rgba(255,251,235,.96), rgba(255,255,255,.98));
}

.warehouse-replace-hero > div:first-child {
    display: grid;
    gap: .18rem;
}

.warehouse-replace-hero span,
.warehouse-replace-state span {
    color: var(--c-muted, #6b7280);
    font-size: .78rem;
    font-weight: 820;
}

.warehouse-replace-hero > div:first-child > span {
    font-size: .72rem;
    font-weight: 950;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.warehouse-replace-hero strong {
    color: var(--c-text, #111827);
    font-size: clamp(1.18rem, 2.4vw, 1.65rem);
    font-weight: 950;
    line-height: 1.08;
    letter-spacing: -.025em;
}

.warehouse-replace-state {
    min-width: 11rem;
    display: grid;
    align-content: center;
    gap: .12rem;
    padding: .8rem .9rem;
    border-radius: .9rem;
    background: rgba(255,255,255,.82);
    border: 1px solid rgba(209, 213, 219, .72);
}

.warehouse-replace-state strong {
    font-size: .95rem;
}

.warehouse-replace-warning {
    display: grid;
    gap: .2rem;
    padding: .9rem 1rem;
    border: 1px solid rgba(245, 158, 11, .42);
    border-radius: 1rem;
    background: rgba(255, 251, 235, .88);
}

.warehouse-replace-warning strong,
.warehouse-replace-summary strong,
.warehouse-replace-empty strong,
.warehouse-replace-step h3 {
    color: var(--c-text, #111827);
    font-weight: 950;
}

.warehouse-replace-warning span,
.warehouse-replace-summary span,
.warehouse-replace-empty span,
.warehouse-replace-step p {
    color: var(--c-muted, #6b7280);
    font-size: .84rem;
    font-weight: 760;
    line-height: 1.45;
}

.warehouse-replace-deps {
    display: grid;
    grid-template-columns: 11rem 1fr;
    gap: .8rem;
    padding: .9rem;
    border: 1px solid rgba(209, 213, 219, .78);
    border-radius: 1rem;
    background: rgba(249,250,251,.72);
}

.warehouse-replace-deps > div {
    display: grid;
    align-content: center;
    gap: .15rem;
    padding: .75rem;
    border-radius: .85rem;
    background: rgba(255,255,255,.82);
}

.warehouse-replace-deps > div span {
    color: var(--c-muted, #6b7280);
    font-size: .72rem;
    font-weight: 950;
    text-transform: uppercase;
    letter-spacing: .06em;
}

.warehouse-replace-deps > div strong {
    color: var(--c-text, #111827);
    font-size: 1.65rem;
    font-weight: 950;
}

.warehouse-replace-deps ul {
    display: grid;
    gap: .45rem;
    list-style: none;
    margin: 0;
    padding: 0;
}

.warehouse-replace-deps li {
    display: flex;
    justify-content: space-between;
    gap: .8rem;
    padding: .7rem .8rem;
    border-radius: .8rem;
    background: rgba(255,255,255,.82);
}

.warehouse-replace-deps li strong {
    color: var(--c-text, #111827);
    font-size: .84rem;
    font-weight: 920;
}

.warehouse-replace-deps li span {
    color: var(--c-muted, #6b7280);
    font-size: .78rem;
    font-weight: 820;
    white-space: nowrap;
}

.warehouse-replace-step,
.warehouse-replace-summary,
.warehouse-replace-empty {
    display: grid;
    gap: .55rem;
    padding: 1rem;
    border: 1px solid rgba(209, 213, 219, .86);
    border-radius: 1rem;
    background: rgba(255,255,255,.94);
}

.warehouse-replace-step h3 {
    margin: 0;
    font-size: 1.05rem;
    letter-spacing: -.015em;
}

.warehouse-replace-step p {
    margin: -.25rem 0 .25rem;
}

.warehouse-replace-step label {
    display: grid;
    gap: .35rem;
    color: var(--c-muted, #6b7280);
    font-size: .78rem;
    font-weight: 880;
}

.warehouse-replace-step select {
    width: 100%;
    border: 1px solid rgba(209, 213, 219, .95);
    border-radius: .85rem;
    background: #fff;
    color: var(--c-text, #111827);
    font: inherit;
    font-size: .95rem;
    font-weight: 800;
    padding: .82rem .9rem;
    outline: none;
}

.warehouse-replace-summary {
    background: rgba(239,246,255,.62);
    border-color: rgba(37, 99, 235, .18);
}

.btn--danger {
    background: #b91c1c;
    border-color: #b91c1c;
    color: #fff;
}

.btn--danger:hover {
    background: #991b1b;
    border-color: #991b1b;
}

@media (max-width: 820px) {
    .warehouse-edit-action-grid,
    .warehouse-edit-panel--location .warehouse-edit-action-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .warehouse-replace-hero,
    .warehouse-replace-deps {
        grid-template-columns: 1fr;
        display: grid;
    }
    .warehouse-replace-deps li {
        display: grid;
    }
}

 

 
.warehouse-edit-body .button-row {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: .75rem;
    flex-wrap: wrap;
}

.warehouse-edit-body .button-row .btn {
    margin: 0;
}

@media (max-width: 520px) {
    .warehouse-edit-body .button-row {
        align-items: stretch;
        flex-direction: column;
        gap: .65rem;
    }

    .warehouse-edit-body .button-row .btn {
        width: 100%;
        justify-content: center;
    }
}

 

 
.warehouse-edit-body .button-row {
    position: static;
    bottom: auto;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    backdrop-filter: none;
}

.warehouse-edit-body .warehouse-form-footer {
    margin: 1rem calc(-1 * var(--sp-lg)) calc(-1 * var(--sp-lg));
    border-radius: 0 0 var(--radius-lg) var(--radius-lg);
    gap: var(--sp-md);
}

.warehouse-edit-body .warehouse-form-footer .btn {
    min-width: 10rem;
}

@media (max-width: 720px) {
    .warehouse-edit-body .warehouse-form-footer {
        flex-direction: column-reverse;
        align-items: stretch;
    }
    .warehouse-edit-body .warehouse-form-footer .btn {
        width: 100%;
        min-width: 0;
    }
}

 

 
.modal--warehouse-edit > .warehouse-form {
    display: contents;
}

.modal--warehouse-edit .warehouse-edit-body {
    display: grid;
    gap: 1rem;
}

.modal--warehouse-edit .warehouse-form-anchor,
.modal--warehouse-edit .warehouse-guided-box {
    display: none;
}

.modal--warehouse-edit .warehouse-form-footer {
    margin: 0;
    border-radius: 0;
    gap: var(--sp-md);
}

.modal--warehouse-edit .warehouse-form-footer .btn {
    min-width: 10rem;
}

@media (max-width: 720px) {
    .modal--warehouse-edit .warehouse-form-footer {
        flex-direction: column-reverse;
        align-items: stretch;
    }
    .modal--warehouse-edit .warehouse-form-footer .btn {
        width: 100%;
        min-width: 0;
    }
}

  
.warehouse-hero-badges,
.warehouse-card__badges {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: .4rem;
}

.warehouse-hero-badges {
    align-items: flex-start;
    max-width: 15rem;
}

.warehouse-card__badges {
    align-items: center;
}

@media (max-width: 42rem) {
    .warehouse-hero-badges,
    .warehouse-card__badges {
        justify-content: flex-start;
    }
}

 

 
.product-master-overview {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(18rem, 1fr));
    gap: var(--sp-md);
}

.modal--product-master {
    max-height: 88vh;
    display: flex;
    flex-direction: column;
}

.modal--product-master .product-master-form {
    min-height: 0;
    display: flex;
    flex-direction: column;
}

.product-edit-body {
    display: grid;
    gap: var(--sp-md);
}

.product-edit-hero {
    border: 1px solid var(--c-border);
    background: var(--c-surface);
    border-radius: var(--r-lg);
    padding: var(--sp-lg);
}

.product-edit-hero h3 {
    margin: .25rem 0 .25rem;
    font-size: 1.35rem;
}

.product-edit-hero p {
    margin: 0;
    color: var(--c-muted);
    font-weight: 750;
}

.product-edit-section {
    border: 1px solid var(--c-border);
    background: rgba(255,255,255,.72);
    border-radius: var(--r-lg);
    padding: var(--sp-md);
    display: grid;
    gap: var(--sp-md);
}

.product-edit-section__head {
    display: flex;
    justify-content: space-between;
    gap: var(--sp-md);
    align-items: flex-start;
    border-bottom: 1px solid var(--c-border);
    padding-bottom: var(--sp-sm);
}

.product-edit-section__head strong {
    color: var(--c-text);
}

.product-edit-section__head span {
    color: var(--c-muted);
    font-size: .9rem;
    font-weight: 750;
    text-align: right;
}

.product-edit-details {
    border: 1px solid var(--c-border);
    border-radius: var(--r-lg);
    background: var(--c-surface);
    padding: var(--sp-md);
}

.product-edit-details summary {
    cursor: pointer;
    font-weight: 850;
    color: var(--c-text);
}

.product-edit-details .form-grid,
.product-edit-details label:not(:first-child) {
    margin-top: var(--sp-md);
}

@media (max-width: 760px) {
    .product-edit-section__head {
        display: grid;
    }

    .product-edit-section__head span {
        text-align: left;
    }
}

  
.locksmith-basic-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--sp-md);
    margin-bottom: var(--sp-lg);
}
.locksmith-basic-summary {
    border: 1px solid var(--c-border);
    background: var(--c-surface);
    border-radius: var(--radius-md);
    padding: var(--sp-md);
    display: flex;
    flex-direction: column;
    gap: .25rem;
}
.locksmith-basic-summary span,
.locksmith-basic-card span,
.locksmith-basic-card small,
.locksmith-basic-card em {
    color: var(--c-muted);
}
.locksmith-basic-summary strong {
    font-size: 1.75rem;
    line-height: 1;
    color: var(--c-text);
}
.locksmith-basic-columns {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--sp-lg);
}
.locksmith-basic-head {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: var(--sp-sm);
    margin-bottom: var(--sp-sm);
}
.locksmith-basic-head h3 {
    margin: 0;
    font-size: 1rem;
}
.locksmith-basic-list {
    display: grid;
    gap: var(--sp-sm);
}
.locksmith-basic-card {
    display: flex;
    flex-direction: column;
    gap: .25rem;
    padding: var(--sp-md);
    border: 1px solid var(--c-border);
    border-radius: var(--radius-md);
    background: var(--c-soft);
    color: inherit;
    text-decoration: none;
}
.locksmith-basic-card:hover {
    border-color: var(--c-primary);
    background: var(--c-surface);
}
.locksmith-basic-card strong {
    color: var(--c-text);
}
.locksmith-basic-card em {
    font-style: normal;
    font-size: .85rem;
}
.locksmith-basic-note {
    margin-top: var(--sp-lg);
    padding: var(--sp-md);
    border: 1px solid var(--c-border);
    border-radius: var(--radius-md);
    background: var(--c-surface);
    color: var(--c-muted);
}
@media (max-width: 900px) {
    .locksmith-basic-grid,
    .locksmith-basic-columns {
        grid-template-columns: 1fr;
    }
    .locksmith-basic-head {
        align-items: flex-start;
        flex-direction: column;
    }
}

 

 
.locksmith-unit-assistant {
    margin-bottom: var(--sp-lg);
    padding: var(--sp-lg);
    border: 1px solid var(--c-border);
    border-radius: var(--radius-lg);
    background: var(--c-surface);
    box-shadow: var(--shadow-sm);
}

.locksmith-unit-assistant__head {
    display: grid;
    gap: .35rem;
    margin-bottom: var(--sp-md);
}

.locksmith-unit-assistant__head h2 {
    margin: 0;
    font-size: clamp(1.35rem, 2vw, 1.8rem);
}

.locksmith-unit-assistant__head p {
    margin: 0;
    max-width: 62rem;
    color: var(--c-muted);
}

.locksmith-unit-assistant__choices {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: var(--sp-sm);
    margin: var(--sp-md) 0;
}

.locksmith-unit-assistant__choices article {
    padding: var(--sp-md);
    border: 1px solid var(--c-border);
    border-radius: var(--radius-md);
    background: var(--c-soft);
}

.locksmith-unit-assistant__choices article.is-current {
    border-color: var(--c-primary);
    background: var(--c-surface);
}

.locksmith-unit-assistant__choices strong,
.locksmith-unit-assistant__choices span {
    display: block;
}

.locksmith-unit-assistant__choices span {
    margin-top: .25rem;
    color: var(--c-muted);
    font-size: .9rem;
    line-height: 1.35;
}

.locksmith-unit-assistant__form {
    display: grid;
    gap: var(--sp-md);
}

.locksmith-unit-assistant__footer {
    margin: 0;
    padding-left: 0;
    padding-right: 0;
    padding-bottom: 0;
}

@media (max-width: 860px) {
    .locksmith-unit-assistant__choices {
        grid-template-columns: 1fr;
    }
}

 

 
.locksmith-unit-assistant__mode {
    margin-top: var(--sp-sm);
}

.unit-role-connection-note {
    margin-bottom: var(--sp-md);
}

.unit-role-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(14rem, 1fr));
    gap: var(--sp-sm);
    margin-bottom: var(--sp-md);
}

.unit-role-card {
    display: grid;
    gap: .45rem;
    padding: var(--sp-md);
    border: 1px solid var(--c-border);
    border-radius: var(--radius-md);
    background: var(--c-surface);
}

.unit-role-card__head {
    display: grid;
    gap: .15rem;
}

.unit-role-card__head strong {
    font-size: 1rem;
}

.unit-role-card p {
    margin: 0;
    color: var(--c-text);
}

.unit-role-card small {
    display: block;
    color: var(--c-muted);
    line-height: 1.35;
}

.unit-role-card form {
    margin-top: .25rem;
}

 

 
.unit-output-flow {
    border: 1px solid var(--c-border);
    border-radius: var(--radius-lg);
    background: var(--c-surface);
    padding: var(--sp-lg);
    margin-bottom: var(--sp-lg);
    box-shadow: var(--shadow-sm);
}

.unit-output-flow__head {
    display: flex;
    justify-content: space-between;
    gap: var(--sp-md);
    align-items: flex-start;
    margin-bottom: var(--sp-md);
}

.unit-output-flow__head h3 {
    margin: .15rem 0 .25rem;
}

.unit-output-flow__head p {
    margin: 0;
    color: var(--c-muted);
    max-width: 58rem;
}

.unit-output-state {
    min-width: 11rem;
    padding: var(--sp-sm) var(--sp-md);
    border: 1px solid var(--c-border);
    border-radius: var(--radius-md);
    background: var(--c-soft);
}

.unit-output-state strong,
.unit-output-state span,
.unit-output-state small {
    display: block;
}

.unit-output-state strong {
    font-size: 1.35rem;
}

.unit-output-state span,
.unit-output-state small {
    color: var(--c-muted);
    font-size: .85rem;
}

.unit-output-choice-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: var(--sp-sm);
    margin: var(--sp-md) 0;
}

.unit-output-choice-grid article {
    border: 1px solid var(--c-border);
    border-radius: var(--radius-md);
    background: rgba(255,255,255,.62);
    padding: var(--sp-md);
}

.unit-output-choice-grid strong,
.unit-output-choice-grid span {
    display: block;
}

.unit-output-choice-grid span {
    margin-top: .25rem;
    color: var(--c-muted);
    font-size: .85rem;
    line-height: 1.35;
}

.unit-output-profile-form .modal__footer {
    margin-top: var(--sp-md);
}

@media (max-width: 900px) {
    .unit-output-flow__head {
        display: block;
    }
    .unit-output-state {
        margin-top: var(--sp-md);
    }
    .unit-output-choice-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 560px) {
    .unit-output-choice-grid {
        grid-template-columns: 1fr;
    }
}

 

 
.unit-instruction-flow {
    background: var(--c-surface);
}

.status-pill {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .35rem;
    min-height: 2rem;
    padding: .25rem .65rem;
    border: 1px solid var(--c-border);
    border-radius: 999px;
    background: var(--c-soft);
    color: var(--c-text);
    font-size: .82rem;
    font-weight: 700;
    white-space: nowrap;
}

.status-pill--warn {
    border-color: rgba(180, 83, 9, .22);
    background: rgba(255, 251, 235, .72);
    color: #92400e;
}

.unit-instruction-list .unit-output-group {
    margin-top: var(--sp-md);
}

.unit-output-group > h4 {
    margin: 0 0 var(--sp-sm);
    color: var(--c-muted);
    font-size: .86rem;
    letter-spacing: .03em;
    text-transform: uppercase;
}

.unit-instruction-list .unit-output-row p {
    margin: .2rem 0 0;
    color: var(--c-text);
    line-height: 1.45;
}

.unit-instruction-list .unit-output-row small {
    display: block;
    margin-top: .25rem;
    color: var(--c-muted);
    line-height: 1.35;
}

.unit-instruction-list .unit-output-row__side {
    align-items: flex-end;
}

 

 
.unit-assembly-check {
    display: grid;
    gap: var(--sp-md);
    margin-bottom: var(--sp-lg);
    padding: var(--sp-lg);
    border: 1px solid var(--c-border);
    border-radius: var(--radius-lg);
    background: var(--c-surface);
    box-shadow: var(--shadow-sm);
}

.unit-assembly-check__head {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: var(--sp-lg);
}

.unit-assembly-check__head h2 {
    margin: .15rem 0 .25rem;
    font-size: clamp(1.25rem, 1.8vw, 1.65rem);
}

.unit-assembly-check__head p {
    margin: 0;
    max-width: 58rem;
    color: var(--c-muted);
    line-height: 1.45;
}

.unit-assembly-check__state {
    min-width: 15rem;
    display: grid;
    gap: .25rem;
    padding: var(--sp-md);
    border: 1px solid var(--c-border);
    border-radius: var(--radius-md);
    background: var(--c-soft);
}

.unit-assembly-check__state strong,
.unit-assembly-check__state span {
    display: block;
}

.unit-assembly-check__state span {
    color: var(--c-muted);
    line-height: 1.35;
    font-size: .9rem;
}

.unit-assembly-check__state.is-ok {
    border-color: rgba(22, 101, 52, .18);
}

.unit-assembly-steps {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: var(--sp-sm);
}

.unit-assembly-step {
    display: grid;
    gap: .35rem;
    min-height: 10rem;
    padding: var(--sp-md);
    border: 1px solid var(--c-border);
    border-radius: var(--radius-md);
    background: rgba(255,255,255,.72);
    color: inherit;
    text-decoration: none;
}

.unit-assembly-step:hover {
    border-color: var(--c-primary);
    box-shadow: var(--shadow-sm);
}

.unit-assembly-step small {
    color: var(--c-muted);
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .03em;
}

.unit-assembly-step strong {
    font-size: 1.05rem;
}

.unit-assembly-step span {
    color: var(--c-muted);
    font-size: .9rem;
    line-height: 1.35;
}

.unit-assembly-step.is-ok {
    border-color: rgba(22, 101, 52, .18);
}

.unit-assembly-step.is-warn {
    border-color: rgba(180, 83, 9, .24);
}

.unit-assembly-check__note {
    display: flex;
    gap: .5rem;
    align-items: flex-start;
    padding-top: var(--sp-sm);
    border-top: 1px solid var(--c-border);
    color: var(--c-muted);
    line-height: 1.4;
}

.unit-assembly-check__note strong {
    color: var(--c-text);
    white-space: nowrap;
}

@media (max-width: 1100px) {
    .unit-assembly-steps {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .unit-assembly-check__head {
        display: grid;
    }
    .unit-assembly-check__state {
        min-width: 0;
    }
}

@media (max-width: 620px) {
    .unit-assembly-steps {
        grid-template-columns: 1fr;
    }
    .unit-assembly-check__note {
        display: grid;
    }
}

 

 
.locksmith-install-assistant {
    border-color: rgba(32, 97, 174, .18);
}

.locksmith-install-rule {
    display: grid;
    gap: .25rem;
    margin: var(--sp-md) 0;
    padding: var(--sp-md);
    border: 1px solid var(--c-border);
    border-radius: var(--radius-md);
    background: var(--c-soft);
}

.locksmith-install-rule strong,
.locksmith-install-rule span {
    display: block;
}

.locksmith-install-rule span {
    color: var(--c-muted);
    line-height: 1.4;
}

.locksmith-install-flow {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: var(--sp-sm);
    margin: var(--sp-md) 0 var(--sp-lg);
}

.locksmith-install-flow article {
    display: grid;
    gap: .3rem;
    padding: var(--sp-sm);
    border: 1px solid var(--c-border);
    border-radius: var(--radius-md);
    background: rgba(255,255,255,.72);
}

.locksmith-install-flow small {
    width: 1.6rem;
    height: 1.6rem;
    display: inline-grid;
    place-items: center;
    border-radius: 999px;
    background: var(--c-soft);
    color: var(--c-muted);
    font-weight: 800;
}

.locksmith-install-flow strong,
.locksmith-install-flow span {
    display: block;
}

.locksmith-install-flow span {
    color: var(--c-muted);
    font-size: .86rem;
    line-height: 1.3;
}

.locksmith-install-step {
    display: grid;
    gap: var(--sp-sm);
    padding: var(--sp-md);
    border: 1px solid var(--c-border);
    border-radius: var(--radius-md);
    background: rgba(255,255,255,.72);
}

.locksmith-install-step h3 {
    margin: .15rem 0 .25rem;
    font-size: 1.08rem;
}

.locksmith-install-step p {
    margin: 0;
    max-width: 58rem;
    color: var(--c-muted);
    line-height: 1.4;
}

@media (max-width: 1200px) {
    .locksmith-install-flow {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 760px) {
    .locksmith-install-flow {
        grid-template-columns: 1fr;
    }
}

 

 
.locksmith-wizard {
    width: min(100%, 58rem);
    height: auto;
    max-height: calc(100vh - 2rem);
    grid-template-rows: auto auto minmax(0, 1fr) auto;
    overflow: hidden;
}

.locksmith-wizard__header {
    align-items: flex-start;
}

.locksmith-wizard__progress {
    height: .42rem;
    background: var(--c-border);
    overflow: hidden;
}

.locksmith-wizard__progress span {
    display: block;
    height: 100%;
    width: 0;
    background: var(--c-primary);
    transition: width .18s ease;
}

.locksmith-wizard__body {
    display: grid;
    align-content: start;
    overflow-y: auto;
    overflow-x: hidden;
    min-height: 0;
    max-height: calc(100vh - 14rem);
}

.locksmith-wizard__step {
    display: none;
    gap: var(--sp-md);
}

.locksmith-wizard__step.is-active {
    display: grid;
}

.locksmith-wizard__explain,
.locksmith-wizard__hint {
    display: grid;
    gap: .25rem;
    padding: var(--sp-md);
    border: 1px solid var(--c-border);
    border-radius: var(--radius-md);
    background: var(--c-soft);
    color: var(--c-muted);
    line-height: 1.45;
}

.locksmith-wizard__explain strong,
.locksmith-wizard__hint strong {
    color: var(--c-text);
}

.locksmith-wizard-choice-grid {
    margin: 0;
}

.locksmith-wizard .reason-card {
    min-height: 7rem;
}

.locksmith-wizard .reason-card input {
    margin-top: .15rem;
}

.locksmith-wizard__summary {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(12rem, 1fr));
    gap: var(--sp-sm);
}

.locksmith-wizard__summary article {
    display: grid;
    gap: .25rem;
    padding: var(--sp-md);
    border: 1px solid var(--c-border);
    border-radius: var(--radius-md);
    background: var(--c-surface);
}

.locksmith-wizard__summary strong,
.locksmith-wizard__summary span {
    display: block;
}

.locksmith-wizard__summary span {
    color: var(--c-muted);
    line-height: 1.35;
}

.locksmith-wizard__footer {
    display: grid;
    grid-template-columns: auto 1fr auto auto auto;
    grid-template-areas:
        "back spacer prev next save"
        "hint hint hint hint hint";
    align-items: center;
    justify-content: stretch;
    gap: var(--sp-sm);
}

.locksmith-wizard__footer .btn:first-child {
    grid-area: back;
    justify-self: start;
    margin-right: 0;
}

.locksmith-wizard__footer [data-wizard-prev] {
    grid-area: prev;
}

.locksmith-wizard__footer [data-wizard-next] {
    grid-area: next;
}

.locksmith-wizard__footer [data-wizard-save] {
    grid-area: save;
}


  
.locksmith-wizard__footer [hidden],
.locksmith-wizard__footer .btn[hidden] {
    display: none !important;
}

@media (max-width: 760px) {
    .locksmith-wizard {
        max-height: calc(100vh - 2rem);
    }
    .locksmith-wizard__footer {
        grid-template-columns: 1fr;
        grid-template-areas:
            "back"
            "prev"
            "next"
            "save"
            "hint";
        justify-content: stretch;
    }
    .locksmith-wizard__footer .btn {
        width: 100%;
        justify-self: stretch;
    }
    .locksmith-wizard__footer .btn:first-child {
        margin-right: 0;
    }
}


  
.locksmith-step3-path {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: var(--sp-sm);
}

.locksmith-step3-path article {
    display: grid;
    gap: .35rem;
    padding: var(--sp-md);
    border: 1px solid var(--c-border);
    border-radius: var(--radius-md);
    background: rgba(255,255,255,.72);
    color: var(--c-muted);
    line-height: 1.35;
}

.locksmith-step3-path article strong {
    color: var(--c-text);
}

.locksmith-step3-path article.is-active {
    border-color: rgba(32, 97, 174, .35);
    background: var(--c-soft);
    box-shadow: var(--shadow-sm);
}

.locksmith-wizard__optional-details[open] {
    max-height: 38vh;
    overflow: auto;
}

.locksmith-segment-row {
    display: grid;
    gap: var(--sp-sm);
    padding: var(--sp-sm);
    border: 1px solid var(--c-border);
    border-radius: var(--radius-md);
    background: rgba(255,255,255,.66);
}

.locksmith-segment-list {
    display: grid;
    gap: var(--sp-sm);
}

@media (max-width: 900px) {
    .locksmith-step3-path {
        grid-template-columns: 1fr;
    }
    .locksmith-wizard__body {
        max-height: calc(100vh - 17rem);
    }
}

  
.locksmith-wizard__context {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: var(--sp-sm);
    padding: var(--sp-md) var(--sp-lg);
    border-bottom: 1px solid var(--c-border);
    background: var(--c-surface);
}
.locksmith-wizard__context article {
    border: 1px solid var(--c-border);
    border-radius: var(--radius-md);
    padding: var(--sp-sm) var(--sp-md);
    background: var(--c-soft);
}
.locksmith-wizard__context strong {
    display: block;
    font-size: .72rem;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: var(--c-muted);
    margin-bottom: .25rem;
}
.locksmith-wizard__context span {
    display: block;
    color: var(--c-text);
    line-height: 1.35;
}
.locksmith-wizard__explain--soft {
    margin-bottom: var(--sp-md);
}
.locksmith-wizard__inline-create {
    margin-top: var(--sp-md);
    border: 1px dashed var(--c-border);
    border-radius: var(--radius-lg);
    padding: var(--sp-md);
    background: var(--c-surface);
}
.locksmith-wizard__inline-create summary {
    cursor: pointer;
    font-weight: 800;
    color: var(--c-text);
    margin-bottom: var(--sp-sm);
}
@media (max-width: 900px) {
    .locksmith-wizard__context {
        grid-template-columns: 1fr;
    }
}


  
.locksmith-wizard .modal__header {
    flex-shrink: 0;
}
.locksmith-wizard__progress,
.locksmith-wizard__context,
.locksmith-wizard__footer {
    flex-shrink: 0;
}
.locksmith-wizard__body > .locksmith-wizard__step {
    min-height: 0;
}
.locksmith-wizard__body .form-grid {
    align-items: start;
}
@media (max-height: 760px) {
    .locksmith-wizard {
        max-height: calc(100vh - 1rem);
    }
    .locksmith-wizard__context {
        padding-top: var(--sp-sm);
        padding-bottom: var(--sp-sm);
    }
}

  
.reason-grid--3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}
.locksmith-wizard__output-note {
    margin: var(--sp-md) 0;
    border: 1px solid var(--c-border);
    border-radius: var(--radius-lg);
    background: var(--c-soft);
    padding: var(--sp-md);
    color: var(--c-muted);
    font-weight: 750;
    line-height: 1.35;
}
@media (max-width: 980px) {
    .reason-grid--3 {
        grid-template-columns: 1fr;
    }
}


  
.locksmith-wizard__segment-box {
    margin-top: var(--sp-md);
    border: 1px solid var(--c-border);
    border-radius: var(--radius-lg);
    padding: var(--sp-md);
    background: var(--c-surface);
}
.locksmith-segment-list {
    display: grid;
    gap: var(--sp-sm);
    margin-top: var(--sp-md);
}
.locksmith-segment-row {
    border: 1px solid var(--c-border);
    border-radius: var(--radius-md);
    padding: var(--sp-md);
    background: var(--c-soft);
}
.locksmith-segment-row > strong {
    display: block;
    margin-bottom: var(--sp-sm);
}


  
.form-grid--4 {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}
.locksmith-wizard__inline-create--visible {
    display: block;
    margin: var(--sp-md) 0;
    padding: var(--sp-md);
    border: 1px solid var(--c-border);
    border-radius: var(--radius-md);
    background: var(--c-surface);
}
.locksmith-wizard__inline-create--visible > strong {
    display: block;
    margin-bottom: var(--sp-xs);
}
@media (max-width: 980px) {
    .form-grid--4 {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}
@media (max-width: 680px) {
    .form-grid--4 {
        grid-template-columns: 1fr;
    }
}

  
.locksmith-wizard__spanner-panel {
    display: grid;
    gap: var(--sp-md);
}
.locksmith-wizard__spanner-group {
    display: grid;
    gap: var(--sp-sm);
    padding: var(--sp-md);
    border: 1px solid var(--c-border);
    border-radius: var(--radius-lg);
    background: var(--c-surface);
}
.locksmith-wizard__spanner-group > strong {
    font-size: .95rem;
}

  
.locksmith-wizard-kind-grid {
    grid-template-columns: repeat(auto-fit, minmax(14rem, 1fr));
}

.locksmith-wizard .reason-card {
    position: relative;
    cursor: pointer;
}

.locksmith-wizard .reason-card input[type="radio"] {
    position: absolute;
    opacity: 0;
    pointer-events: none;
    width: 1px;
    height: 1px;
    margin: 0;
}

.locksmith-wizard .reason-card:has(input[type="radio"]:checked) {
    border-color: var(--c-primary);
    background: rgba(32, 97, 174, .08);
    box-shadow: inset 0 0 0 1px rgba(32, 97, 174, .18);
}

.locksmith-wizard .reason-card:has(input[type="radio"]:focus-visible) {
    outline: 3px solid rgba(32, 97, 174, .25);
    outline-offset: 2px;
}

  
.locksmith-kind-sections {
    display: grid;
    gap: var(--sp-lg);
}

.locksmith-kind-section {
    display: grid;
    gap: var(--sp-sm);
}

.locksmith-kind-section__head {
    display: flex;
    justify-content: space-between;
    gap: var(--sp-md);
    align-items: baseline;
    padding: 0 var(--sp-2xs);
}

.locksmith-kind-section__head strong {
    font-size: .96rem;
    color: var(--c-text);
}

.locksmith-kind-section__head span {
    font-size: .85rem;
    color: var(--c-muted);
    text-align: right;
}

.locksmith-kind-card-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(15.5rem, 1fr));
    gap: var(--sp-sm);
}

.locksmith-kind-card {
    position: relative;
    display: grid;
    grid-template-columns: 2.4rem 1fr;
    gap: var(--sp-sm);
    align-items: start;
    min-height: 7.4rem;
    padding: var(--sp-md);
    border: 1px solid var(--c-border);
    border-radius: var(--radius-lg);
    background: var(--c-surface);
    cursor: pointer;
    transition: border-color .16s ease, box-shadow .16s ease, background .16s ease, transform .16s ease;
}

.locksmith-kind-card:hover {
    border-color: rgba(32, 97, 174, .36);
    box-shadow: var(--shadow-sm);
    transform: translateY(-1px);
}

.locksmith-kind-card input[type="radio"] {
    position: absolute;
    width: 1px;
    height: 1px;
    margin: 0;
    opacity: 0;
    pointer-events: none;
}

.locksmith-kind-card__icon {
    display: grid;
    place-items: center;
    width: 2.35rem;
    height: 2.35rem;
    border-radius: var(--radius-md);
    background: var(--c-soft);
    border: 1px solid var(--c-border);
    color: var(--c-muted);
    font-weight: 800;
    letter-spacing: -.02em;
}

.locksmith-kind-card__text {
    display: grid;
    gap: .18rem;
    min-width: 0;
}

.locksmith-kind-card__text strong {
    font-size: .98rem;
    line-height: 1.2;
    color: var(--c-text);
}

.locksmith-kind-card__text small {
    font-size: .86rem;
    line-height: 1.35;
    color: var(--c-muted);
}

.locksmith-kind-card__text em {
    margin-top: .15rem;
    font-size: .78rem;
    line-height: 1.35;
    color: var(--c-muted);
    font-style: normal;
}

.locksmith-kind-card__badge {
    position: absolute;
    right: var(--sp-sm);
    top: var(--sp-sm);
    display: none;
    padding: .18rem .45rem;
    border-radius: 999px;
    background: rgba(32, 97, 174, .1);
    color: var(--c-primary);
    font-size: .68rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .08em;
}

.locksmith-kind-card:has(input[type="radio"]:checked) {
    border-color: var(--c-primary);
    background: linear-gradient(180deg, rgba(32, 97, 174, .075), rgba(32, 97, 174, .025));
    box-shadow: inset 0 0 0 1px rgba(32, 97, 174, .22), var(--shadow-sm);
}

.locksmith-kind-card:has(input[type="radio"]:checked) .locksmith-kind-card__icon {
    border-color: rgba(32, 97, 174, .32);
    background: rgba(32, 97, 174, .11);
    color: var(--c-primary);
}

.locksmith-kind-card:has(input[type="radio"]:checked) .locksmith-kind-card__badge {
    display: inline-flex;
}

.locksmith-kind-card:has(input[type="radio"]:focus-visible) {
    outline: 3px solid rgba(32, 97, 174, .25);
    outline-offset: 2px;
}

.locksmith-kind-card--other {
    border-style: dashed;
}

.locksmith-kind-result {
    display: grid;
    gap: var(--sp-2xs);
    padding: var(--sp-md);
    border: 1px solid rgba(32, 97, 174, .18);
    border-left: 4px solid var(--c-primary);
    border-radius: var(--radius-lg);
    background: rgba(32, 97, 174, .045);
    color: var(--c-text);
}

.locksmith-kind-result .eyebrow {
    margin: 0;
}

@media (max-width: 760px) {
    .locksmith-kind-section__head {
        align-items: flex-start;
        flex-direction: column;
        gap: var(--sp-2xs);
    }
    .locksmith-kind-section__head span {
        text-align: left;
    }
    .locksmith-kind-card-grid {
        grid-template-columns: 1fr;
    }
}

  
.locksmith-kind-decision {
    display: grid;
    gap: var(--sp-md);
}

.locksmith-kind-decision__group {
    display: grid;
    gap: .45rem;
    padding: var(--sp-sm);
    border: 1px solid var(--c-border);
    border-radius: var(--radius-xl);
    background: rgba(255,255,255,.46);
}

.locksmith-kind-decision__group--soft {
    background: var(--c-soft);
}

.locksmith-kind-decision__group-head {
    display: flex;
    justify-content: space-between;
    gap: var(--sp-md);
    align-items: baseline;
    padding: .1rem .25rem .35rem;
    border-bottom: 1px solid rgba(31,41,55,.08);
}

.locksmith-kind-decision__group-head strong {
    font-size: .92rem;
    color: var(--c-text);
}

.locksmith-kind-decision__group-head span {
    max-width: 24rem;
    font-size: .82rem;
    line-height: 1.35;
    color: var(--c-muted);
    text-align: right;
}

.locksmith-kind-option {
    position: relative;
    display: grid;
    grid-template-columns: 1.65rem 1fr;
    gap: var(--sp-sm);
    align-items: start;
    padding: .78rem .85rem;
    border: 1px solid transparent;
    border-radius: var(--radius-lg);
    background: transparent;
    cursor: pointer;
    transition: background .16s ease, border-color .16s ease, box-shadow .16s ease;
}

.locksmith-kind-option:hover {
    background: var(--c-surface);
    border-color: rgba(32,97,174,.18);
}

.locksmith-kind-option input[type="radio"] {
    position: absolute;
    width: 1px;
    height: 1px;
    opacity: 0;
    pointer-events: none;
}

.locksmith-kind-option__mark {
    display: grid;
    place-items: center;
    width: 1.25rem;
    height: 1.25rem;
    margin-top: .12rem;
    border: 1px solid var(--c-border);
    border-radius: 999px;
    background: var(--c-surface);
}

.locksmith-kind-option__body {
    display: grid;
    gap: .18rem;
    min-width: 0;
}

.locksmith-kind-option__title {
    font-weight: 800;
    font-size: .95rem;
    line-height: 1.2;
    color: var(--c-text);
}

.locksmith-kind-option__text {
    font-size: .86rem;
    line-height: 1.35;
    color: var(--c-muted);
}

.locksmith-kind-option__hint {
    margin-top: .1rem;
    font-size: .78rem;
    line-height: 1.3;
    color: var(--c-muted);
}

.locksmith-kind-option:has(input[type="radio"]:checked) {
    border-color: rgba(32,97,174,.32);
    background: var(--c-surface);
    box-shadow: inset 3px 0 0 var(--c-primary), var(--shadow-sm);
}

.locksmith-kind-option:has(input[type="radio"]:checked) .locksmith-kind-option__mark {
    border-color: var(--c-primary);
    background: var(--c-primary);
}

.locksmith-kind-option:has(input[type="radio"]:checked) .locksmith-kind-option__mark::after {
    content: "";
    width: .42rem;
    height: .7rem;
    border: solid #fff;
    border-width: 0 2px 2px 0;
    transform: rotate(45deg) translate(-1px, -1px);
}

.locksmith-kind-option:has(input[type="radio"]:checked) .locksmith-kind-option__title {
    color: var(--c-primary);
}

.locksmith-kind-option:has(input[type="radio"]:focus-visible) {
    outline: 3px solid rgba(32,97,174,.25);
    outline-offset: 2px;
}

.locksmith-kind-option--other {
    border-style: dashed;
}

@media (max-width: 48rem) {
    .locksmith-kind-decision__group-head {
        display: grid;
    }
    .locksmith-kind-decision__group-head span {
        text-align: left;
    }
}

 

 
.locksmith-wizard-shell .locksmith-wizard {
    height: auto;
    grid-template-rows: auto auto minmax(0, auto) auto;
}

.locksmith-wizard__body {
    min-height: 0;
}

 

 
.overlay--locksmith-wizard {
    overflow: auto;
}

.overlay--locksmith-wizard.is-open {
    align-items: center;
    justify-content: center;
    padding: 0;
}

.locksmith-wizard-shell {
    position: relative;
    width: 100vw;
    min-height: 100vh;
}

.locksmith-wizard-shell .locksmith-wizard {
    position: absolute;
    top: 50%;
    left: 50%;
    width: min(58rem, calc(100vw - 2rem));
    max-height: calc(100vh - 2rem);
    transform: translate(-50%, -50%);
}

.locksmith-wizard-assist {
    position: absolute;
    top: var(--sp-lg);
    display: grid;
    gap: .55rem;
    width: clamp(20rem, 22vw, 28rem);
    min-height: 8.5rem;
    padding: var(--sp-lg);
    border: 1px solid rgba(255,255,255,.46);
    border-radius: var(--radius-xl);
    background: rgba(255,255,255,.9);
    box-shadow: var(--shadow-md);
    color: var(--c-text);
}

.locksmith-wizard-assist--left {
    left: var(--sp-lg);
}

.locksmith-wizard-assist--right {
    right: var(--sp-lg);
}

.locksmith-wizard-assist .eyebrow {
    margin: 0;
}

.locksmith-wizard-assist strong {
    font-size: 1rem;
    line-height: 1.25;
}

.locksmith-wizard-assist p {
    margin: 0;
    color: var(--c-muted);
    font-size: .9rem;
    line-height: 1.48;
}

.locksmith-wizard__nextline {
    grid-area: hint;
    width: 100%;
    margin-top: .15rem;
    padding-top: .55rem;
    border-top: 1px solid rgba(31,41,55,.08);
    color: var(--c-muted);
    font-size: .86rem;
    line-height: 1.35;
    text-align: right;
    justify-self: stretch;
}

@media (min-width: 1700px) {
    .locksmith-wizard-assist {
        width: clamp(23rem, 23vw, 31rem);
    }
}

@media (max-width: 1220px) {
    .overlay--locksmith-wizard.is-open {
        align-items: flex-start;
        justify-content: center;
        padding: var(--sp-md);
    }

    .locksmith-wizard-shell {
        width: 100%;
        min-height: 0;
        display: grid;
        grid-template-columns: 1fr;
        gap: var(--sp-md);
        align-items: stretch;
    }

    .locksmith-wizard-shell .locksmith-wizard {
        position: static;
        order: 1;
        width: 100%;
        max-height: none;
        transform: none;
    }

    .locksmith-wizard-assist {
        position: static;
        order: 2;
        width: 100%;
        min-height: 0;
    }

    .locksmith-wizard-assist--right {
        order: 3;
    }
}

@media (max-width: 760px) {
    .overlay--locksmith-wizard {
        padding: var(--sp-md);
    }

    .locksmith-wizard-shell {
        gap: var(--sp-sm);
    }

    .locksmith-wizard-assist {
        padding: var(--sp-sm) var(--sp-md);
    }

    .locksmith-wizard__nextline {
        padding: .6rem var(--sp-md);
    }
}

 

 
.locksmith-drive-check {
    display: grid;
    gap: var(--sp-sm);
    padding: var(--sp-sm);
    border: 1px solid var(--c-border);
    border-radius: var(--radius-xl);
    background: rgba(255,255,255,.46);
}

.locksmith-drive-check__head {
    margin: 0;
}

.locksmith-drive-check__options {
    display: grid;
    gap: .45rem;
}

.locksmith-drive-option {
    min-height: 0;
}

.locksmith-drive-check__rule {
    margin-top: .15rem;
}

 

 
.locksmith-unit-belongs {
    border-color: rgba(32, 97, 174, .24);
    background: linear-gradient(135deg, rgba(255,255,255,.76), rgba(232,238,247,.62));
}

 

 
.locksmith-wizard-form-card,
.locksmith-wizard-output-block {
    display: grid;
    gap: var(--sp-md);
    padding: var(--sp-md);
    border: 1px solid var(--c-border);
    border-radius: var(--radius-xl);
    background: rgba(255,255,255,.72);
    box-shadow: var(--shadow-sm);
}

.locksmith-wizard-output-block[hidden] {
    display: none;
}

.locksmith-wizard-form-card .locksmith-kind-decision__group-head,
.locksmith-wizard-output-block .locksmith-kind-decision__group-head {
    padding-left: 0;
    padding-right: 0;
}

.locksmith-wizard__step[data-wizard-step="4"] .locksmith-wizard-form-card,
.locksmith-wizard__step[data-wizard-step="7"] .locksmith-wizard-form-card {
    margin-top: .1rem;
}

.locksmith-wizard__step[data-wizard-step="5"] .locksmith-kind-decision__group,
.locksmith-wizard__step[data-wizard-step="6"] .locksmith-kind-decision__group {
    gap: .45rem;
}

.locksmith-wizard__step[data-wizard-step="5"] .locksmith-kind-option,
.locksmith-wizard__step[data-wizard-step="6"] .locksmith-kind-option {
    min-height: 0;
}

.locksmith-wizard__spanner-panel {
    display: grid;
    gap: var(--sp-md);
}

.locksmith-wizard__spanner-panel[hidden] {
    display: none;
}

.locksmith-wizard__spanner-group {
    background: rgba(255,255,255,.78);
}

.locksmith-wizard__summary + .locksmith-wizard-form-card {
    margin-top: var(--sp-sm);
}

 

 
.unit-visible-areas {
    display: grid;
    gap: var(--sp-md);
}

.unit-visible-areas__head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: var(--sp-md);
}

.unit-visible-areas__head h3 {
    margin: .15rem 0 .35rem;
    font-size: clamp(1.15rem, 1.4vw, 1.45rem);
}

.unit-visible-areas__head p {
    margin: 0;
    max-width: 62rem;
    color: var(--c-muted);
    line-height: 1.45;
}

.unit-visible-areas__badge {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 2rem;
    padding: .25rem .7rem;
    border: 1px solid var(--c-border);
    border-radius: 999px;
    background: var(--c-soft);
    color: var(--c-muted);
    font-size: .82rem;
    font-weight: 800;
    letter-spacing: .02em;
    text-transform: uppercase;
}

.unit-visible-areas__note {
    display: flex;
    gap: .55rem;
    align-items: flex-start;
    padding: var(--sp-md);
    border: 1px solid var(--c-border);
    border-radius: var(--radius-md);
    background: rgba(255,255,255,.62);
    line-height: 1.4;
}

.unit-visible-areas__note strong {
    flex: 0 0 auto;
    color: var(--c-text);
}

.unit-visible-areas__note span,
.unit-visible-areas__footer {
    color: var(--c-muted);
}

.unit-visible-areas__grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: var(--sp-sm);
}

.unit-visible-area-card {
    display: grid;
    align-content: start;
    gap: .4rem;
    min-height: 10rem;
    padding: var(--sp-md);
    border: 1px solid var(--c-border);
    border-radius: var(--radius-md);
    background: var(--c-soft);
}

.unit-visible-area-card strong {
    font-size: 1rem;
}

.unit-visible-area-card__state {
    display: inline-flex;
    width: fit-content;
    padding: .18rem .55rem;
    border: 1px solid var(--c-border);
    border-radius: 999px;
    background: rgba(255,255,255,.64);
    color: var(--c-muted);
    font-size: .8rem;
    font-weight: 750;
}

.unit-visible-area-card p {
    margin: .1rem 0 0;
    color: var(--c-muted);
    font-size: .9rem;
    line-height: 1.38;
}

.unit-visible-areas__footer {
    padding-top: var(--sp-sm);
    border-top: 1px solid var(--c-border);
    font-size: .9rem;
    line-height: 1.4;
}

@media (max-width: 1150px) {
    .unit-visible-areas__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 680px) {
    .unit-visible-areas__head,
    .unit-visible-areas__note {
        display: grid;
    }
    .unit-visible-areas__grid {
        grid-template-columns: 1fr;
    }
    .unit-visible-areas__badge {
        justify-self: start;
    }
}

  
.locksmith-step3-matrix-note {
    display: grid;
    gap: .35rem;
    margin: 0 0 .85rem;
    padding: var(--sp-md);
    border: 1px solid var(--c-border, #d7dde6);
    border-radius: var(--radius-md, 14px);
    background: rgba(255,255,255,.72);
    color: var(--c-muted, #6b7280);
    line-height: 1.45;
}

.locksmith-step3-matrix-note strong {
    color: var(--c-text, #1f2937);
    font-size: .96rem;
}

.locksmith-step3-matrix-note span {
    max-width: 58rem;
    font-size: .88rem;
}

.locksmith-step3-current {
    margin-top: .8rem;
}

  
.locksmith-step3-matrix-note--compact {
    margin-bottom: 1rem;
}

.locksmith-step3-matrix-note small {
    display: block;
    color: var(--c-muted, #6b7280);
    font-size: .82rem;
    line-height: 1.4;
}

  
.locksmith-wizard__equipment-pot {
    display: grid;
    gap: var(--sp-sm);
}

.locksmith-wizard__equipment-preview {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--sp-xs);
    padding: var(--sp-sm);
    border: 1px dashed var(--c-border);
    border-radius: var(--radius-md);
    background: rgba(255,255,255,.52);
    color: var(--c-muted);
    font-size: .9rem;
}

.locksmith-wizard__equipment-preview article {
    display: grid;
    gap: .25rem;
    padding: .65rem .75rem;
    border: 1px solid var(--c-border);
    border-radius: var(--radius-sm);
    background: var(--c-soft);
}

.locksmith-wizard__equipment-preview article strong {
    color: var(--c-text);
    font-size: .9rem;
}

.locksmith-wizard__equipment-preview article span {
    color: var(--c-muted);
    font-size: .84rem;
    line-height: 1.35;
}

@media (max-width: 760px) {
    .locksmith-wizard__equipment-preview {
        grid-template-columns: 1fr;
    }
}

 

 
.locksmith-visible-pot {
    display: grid;
    gap: var(--sp-md);
}

.locksmith-visible-pot__actions {
    display: flex;
    flex-wrap: wrap;
    gap: .55rem;
    padding: var(--sp-sm);
    border: 1px solid var(--c-border);
    border-radius: var(--radius-xl);
    background: rgba(255,255,255,.55);
}

.locksmith-visible-editor {
    display: grid;
    gap: var(--sp-sm);
    padding: var(--sp-md);
    border: 1px solid rgba(32,97,174,.26);
    border-radius: var(--radius-xl);
    background: linear-gradient(135deg, rgba(255,255,255,.86), rgba(232,238,247,.55));
    box-shadow: var(--shadow-sm);
}

.locksmith-visible-editor[hidden] {
    display: none;
}

.locksmith-visible-editor__head {
    display: grid;
    gap: .25rem;
    padding-bottom: .35rem;
    border-bottom: 1px solid rgba(31,41,55,.08);
}

.locksmith-visible-editor__head strong {
    font-size: 1rem;
}

.locksmith-visible-editor__head span {
    color: var(--c-muted);
    font-size: .88rem;
    line-height: 1.4;
}

.locksmith-visible-editor__actions {
    display: flex;
    justify-content: flex-end;
    gap: .55rem;
    padding-top: .2rem;
}

.locksmith-wizard__equipment-preview--list {
    grid-template-columns: 1fr;
    min-height: 4.5rem;
}

.locksmith-wizard__equipment-preview--list article {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: var(--sp-sm);
}

.locksmith-wizard__equipment-preview--list article > div:first-child {
    display: grid;
    gap: .2rem;
}

.locksmith-visible-entry__actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: .35rem;
}

.btn--mini {
    min-height: 2rem;
    padding: .25rem .55rem;
    font-size: .78rem;
}

.locksmith-visible-empty {
    display: grid;
    gap: .25rem;
    padding: .75rem;
    color: var(--c-muted);
}

.locksmith-visible-empty strong {
    color: var(--c-text);
}

.locksmith-visible-pot__slots {
    display: none !important;
}

.locksmith-visible-pot__note {
    margin: 0;
    padding: .75rem .85rem;
    border: 1px solid rgba(31,41,55,.08);
    border-radius: var(--radius-md);
    background: rgba(255,255,255,.45);
    color: var(--c-muted);
    font-size: .88rem;
    line-height: 1.45;
}

@media (max-width: 760px) {
    .locksmith-visible-pot__actions,
    .locksmith-visible-editor__actions,
    .locksmith-wizard__equipment-preview--list article {
        display: grid;
        justify-content: stretch;
    }
    .locksmith-visible-entry__actions {
        justify-content: stretch;
    }
}

 

 
.locksmith-wizard__summary--safety {
    grid-template-columns: 1fr;
    gap: var(--sp-md);
}

.locksmith-summary-card {
    display: grid;
    gap: .55rem;
    padding: var(--sp-lg);
    border: 1px solid var(--c-border);
    border-radius: var(--radius-lg);
    background: rgba(255,255,255,.72);
    box-shadow: var(--shadow-sm);
}

.locksmith-summary-card--status {
    background: var(--c-soft);
}

.locksmith-summary-card--open {
    border-style: dashed;
}

.locksmith-summary-card strong {
    font-size: 1.02rem;
    color: var(--c-text);
}

.locksmith-summary-card p {
    margin: 0;
    color: var(--c-muted);
    line-height: 1.45;
}

.locksmith-summary-card ul {
    margin: 0;
    padding-left: 1.1rem;
    color: var(--c-muted);
    line-height: 1.45;
}

.locksmith-summary-card li + li {
    margin-top: .25rem;
}


 

 
.locksmith-summary-tabs {
    display: grid;
    gap: 0;
    overflow: hidden;
    border: 1px solid var(--c-border);
    border-radius: var(--radius-lg);
    background: rgba(255,255,255,.74);
    box-shadow: var(--shadow-sm);
}

.locksmith-summary-tabs__nav {
    display: flex;
    flex-wrap: wrap;
    gap: .2rem;
    align-items: end;
    padding: .45rem .55rem 0;
    border: 0;
    border-bottom: 1px solid var(--c-border);
    border-radius: 0;
    background: var(--c-soft);
}

.locksmith-summary-tabs__tab {
    appearance: none;
    position: relative;
    margin: 0 0 -1px;
    border: 1px solid transparent;
    border-bottom: 0;
    border-radius: var(--radius-md) var(--radius-md) 0 0;
    background: transparent;
    color: var(--c-muted);
    cursor: pointer;
    font: inherit;
    font-weight: 700;
    padding: .68rem .9rem;
    transition: background .16s ease, border-color .16s ease, color .16s ease;
}

.locksmith-summary-tabs__tab:hover {
    color: var(--c-text);
    background: rgba(255,255,255,.52);
}

.locksmith-summary-tabs__tab.is-active {
    z-index: 1;
    background: rgba(255,255,255,.88);
    border-color: var(--c-border);
    color: var(--c-text);
}

.locksmith-summary-tabs__tab.is-active::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: -1px;
    height: 1px;
    background: rgba(255,255,255,.88);
}

.locksmith-summary-tabs__panel[hidden] {
    display: none !important;
}

.locksmith-summary-tabs__panel {
    min-height: 10rem;
    border: 0;
    border-radius: 0;
    background: rgba(255,255,255,.88);
    box-shadow: none;
}

@media (max-width: 760px) {
    .locksmith-summary-tabs__nav {
        display: grid;
        gap: .25rem;
        padding: .45rem;
    }
    .locksmith-summary-tabs__tab {
        margin: 0;
        border: 1px solid transparent;
        border-radius: var(--radius-md);
        text-align: left;
    }
    .locksmith-summary-tabs__tab.is-active::after {
        display: none;
    }
}

 

 
.locksmith-wizard__step[data-wizard-step="1"] .locksmith-kind-decision {
    gap: .65rem;
}

.locksmith-kind-decision__group--wizard-types {
    gap: .35rem;
}

.locksmith-wizard__step[data-wizard-step="1"] .locksmith-kind-option {
    padding-top: .68rem;
    padding-bottom: .68rem;
}

.locksmith-wizard__inline-create--connector {
    border-color: rgba(32,97,174,.22);
    background: rgba(232,238,247,.38);
}

@media (min-width: 58rem) {
    .locksmith-kind-decision__group--wizard-types {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .locksmith-kind-decision__group--wizard-types .locksmith-kind-decision__group-head {
        grid-column: 1 / -1;
    }
}

 

 
.unit-projection-check {
    display: grid;
    gap: 1rem;
    margin: 1rem 0 1.25rem;
    padding: 1rem;
    border: 1px solid var(--c-border);
    border-radius: var(--radius-xl);
    background: linear-gradient(180deg, rgba(255,255,255,.86), rgba(255,255,255,.72));
    box-shadow: var(--shadow-md);
}

.unit-projection-check__head {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    align-items: flex-start;
}

.unit-projection-check__head h2 {
    margin: .15rem 0 .35rem;
}

.unit-projection-check__head p {
    max-width: 72rem;
    margin: 0;
    color: var(--c-muted);
    line-height: 1.5;
}

.unit-projection-check__summary {
    min-width: 15rem;
    display: grid;
    gap: .25rem;
    padding: .85rem 1rem;
    border: 1px solid var(--c-border);
    border-radius: var(--radius-lg);
    background: rgba(255,255,255,.76);
    box-shadow: var(--shadow-sm);
}

.unit-projection-check__summary strong {
    color: var(--c-text);
}

.unit-projection-check__summary span,
.unit-projection-check__footer span {
    color: var(--c-muted);
    line-height: 1.45;
}

.unit-projection-tabs {
    border-radius: var(--radius-xl);
}

.unit-projection-panel {
    padding: 1rem;
}

.unit-projection-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.15fr) minmax(18rem, .85fr);
    gap: 1rem;
}

.unit-projection-card {
    display: grid;
    gap: .75rem;
    align-content: start;
    padding: 1rem;
    border: 1px solid var(--c-border);
    border-radius: var(--radius-lg);
    background: rgba(255,255,255,.72);
}

.unit-projection-card h3 {
    margin: 0;
    font-size: 1.02rem;
}

.unit-projection-card p {
    margin: 0;
    color: var(--c-muted);
    line-height: 1.48;
}

.unit-projection-status {
    justify-self: start;
    display: inline-flex;
    align-items: center;
    border-radius: 999px;
    border: 1px solid var(--c-border);
    padding: .32rem .62rem;
    font-size: .82rem;
    font-weight: 800;
    background: rgba(255,255,255,.78);
    color: var(--c-muted);
}

.unit-projection-status.is-ok {
    border-color: rgba(34, 197, 94, .28);
    background: rgba(220, 252, 231, .58);
    color: var(--color-success-text, #166534);
}

.unit-projection-status.is-warn,
.unit-projection-status.is-open {
    border-color: rgba(245, 158, 11, .34);
    background: rgba(254, 243, 199, .62);
    color: #92400e;
}

.unit-projection-status.is-soft {
    background: var(--c-soft);
    color: var(--c-muted);
}

.unit-projection-list {
    margin: 0;
    padding-left: 1.05rem;
    color: var(--c-muted);
    line-height: 1.5;
}

.unit-projection-list li + li {
    margin-top: .25rem;
}

.unit-projection-warning {
    display: grid;
    gap: .45rem;
    padding: .75rem;
    border: 1px solid rgba(245, 158, 11, .28);
    border-radius: var(--radius-md);
    background: rgba(254, 243, 199, .45);
}

.unit-mini-list,
.unit-projection-instructions {
    display: grid;
    gap: .5rem;
}

.unit-mini-list span,
.unit-projection-instructions article {
    display: grid;
    gap: .15rem;
    padding: .65rem .75rem;
    border: 1px solid var(--c-border);
    border-radius: var(--radius-md);
    background: rgba(255,255,255,.68);
}

.unit-mini-list small,
.unit-projection-instructions span,
.unit-projection-instructions small {
    color: var(--c-muted);
}

.unit-projection-instructions p {
    margin: 0;
    color: var(--c-text);
    line-height: 1.45;
}

.unit-projection-check__footer {
    display: flex;
    gap: .5rem;
    align-items: flex-start;
    padding: .8rem .9rem;
    border: 1px solid var(--c-border);
    border-radius: var(--radius-lg);
    background: var(--c-soft);
}

@media (max-width: 980px) {
    .unit-projection-check__head,
    .unit-projection-check__footer {
        display: grid;
    }
    .unit-projection-grid {
        grid-template-columns: 1fr;
    }
    .unit-projection-check__summary {
        min-width: 0;
    }
}

  
.unit-inline-actions {
    display: flex;
    flex-wrap: wrap;
    gap: .5rem;
    align-items: center;
    margin: .75rem 0 .35rem;
}
.unit-inline-actions form {
    margin: 0;
}

 

 
.unit-output-clarity-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.unit-output-steps {
    display: grid;
    gap: var(--sp-md);
    margin-top: var(--sp-md);
}

.unit-output-step {
    border: 1px solid var(--c-border);
    border-radius: var(--radius-lg);
    background: rgba(255,255,255,.62);
    padding: var(--sp-md);
}

.unit-output-step h4 {
    margin: .15rem 0 .5rem;
}

.unit-output-step p {
    margin: .25rem 0;
}

.unit-output-impact {
    margin: .25rem 0 0;
    padding-left: 1.15rem;
    color: var(--c-text);
}

.unit-output-impact li + li {
    margin-top: .35rem;
}

@media (max-width: 900px) {
    .unit-output-clarity-grid {
        grid-template-columns: 1fr;
    }
}

 

 
.unit-output-action-zone {
    border: 1px solid var(--c-border);
    border-radius: var(--radius-lg);
    background: var(--c-soft);
    padding: var(--sp-md);
    margin: var(--sp-md) 0;
}

.unit-output-action-zone__head {
    display: flex;
    justify-content: space-between;
    gap: var(--sp-md);
    align-items: baseline;
    margin-bottom: var(--sp-sm);
}

.unit-output-action-zone__head strong,
.unit-output-action-zone__head span {
    display: block;
}

.unit-output-action-zone__head span {
    color: var(--c-muted);
    font-size: .9rem;
    line-height: 1.35;
}

.unit-output-action-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: var(--sp-sm);
}

.unit-output-action-card {
    border: 1px solid var(--c-border);
    border-radius: var(--radius-md);
    background: var(--c-surface);
    overflow: hidden;
}

.unit-output-action-card summary {
    cursor: pointer;
    list-style: none;
    padding: var(--sp-md);
}

.unit-output-action-card summary::-webkit-details-marker {
    display: none;
}

.unit-output-action-card summary strong,
.unit-output-action-card summary small,
.unit-output-action-card summary .eyebrow {
    display: block;
}

.unit-output-action-card summary strong {
    margin: .1rem 0 .25rem;
}

.unit-output-action-card summary small {
    color: var(--c-muted);
    line-height: 1.35;
}

.unit-output-action-card[open] summary {
    border-bottom: 1px solid var(--c-border);
    background: rgba(255,255,255,.72);
}

.unit-mini-form {
    padding: var(--sp-md);
}

.unit-mini-form label + label,
.unit-mini-form .form-grid + label {
    margin-top: var(--sp-sm);
}

.unit-mini-form__actions {
    margin-top: var(--sp-md);
    display: flex;
    justify-content: flex-end;
}

.unit-output-current-state {
    margin-top: var(--sp-sm);
    color: var(--c-muted);
    font-size: .9rem;
}

@media (max-width: 980px) {
    .unit-output-action-grid {
        grid-template-columns: 1fr;
    }
    .unit-output-action-zone__head {
        display: block;
    }
}

 

 
.unit-output-action-grid--four {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}
.unit-mini-form--sub {
    border-top: 1px solid var(--c-border);
    background: var(--c-soft);
    padding-top: var(--sp-sm);
    margin-top: 0;
}
@media (max-width: 1180px) {
    .unit-output-action-grid--four {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}
@media (max-width: 760px) {
    .unit-output-action-grid--four {
        grid-template-columns: 1fr;
    }
}

 

 
.unit-output-action-zone--tabs {
    background: var(--c-surface);
}
.unit-output-tabset > input[type="radio"] {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}
.unit-output-tab-nav {
    display: flex;
    gap: 0;
    border: 1px solid var(--c-border);
    background: var(--c-soft);
    overflow-x: auto;
}
.unit-output-tab-nav label {
    min-width: 11rem;
    flex: 1 1 0;
    padding: var(--sp-sm) var(--sp-md);
    border-right: 1px solid var(--c-border);
    cursor: pointer;
    background: var(--c-soft);
}
.unit-output-tab-nav label:last-child {
    border-right: 0;
}
.unit-output-tab-nav label span,
.unit-output-tab-nav label strong,
.unit-output-tab-nav label small {
    display: block;
}
.unit-output-tab-nav label span {
    font-size: .78rem;
    color: var(--c-muted);
    margin-bottom: .1rem;
}
.unit-output-tab-nav label strong {
    color: var(--c-text);
    margin-bottom: .15rem;
}
.unit-output-tab-nav label small {
    color: var(--c-muted);
    line-height: 1.25;
}
.unit-output-tab-panels {
    border: 1px solid var(--c-border);
    border-top: 0;
    background: var(--c-surface);
}
.unit-output-tab-panel {
    display: none;
    padding: var(--sp-md);
}
.unit-output-tab-panel__intro {
    padding: var(--sp-sm) var(--sp-md);
    border: 1px solid var(--c-border);
    background: var(--c-soft);
    margin-bottom: var(--sp-md);
}
.unit-output-tab-panel__intro strong,
.unit-output-tab-panel__intro p {
    display: block;
}
.unit-output-tab-panel__intro p {
    margin: .25rem 0 0;
    color: var(--c-muted);
    line-height: 1.35;
}
.unit-mini-form--calm {
    padding: 0;
}
.unit-output-tabset input[id$="_real"]:checked ~ .unit-output-tab-nav label[for$="_real"],
.unit-output-tabset input[id$="_internal"]:checked ~ .unit-output-tab-nav label[for$="_internal"],
.unit-output-tabset input[id$="_raw"]:checked ~ .unit-output-tab-nav label[for$="_raw"],
.unit-output-tabset input[id$="_open"]:checked ~ .unit-output-tab-nav label[for$="_open"] {
    background: var(--c-surface);
    box-shadow: inset 0 3px 0 var(--c-primary);
}
.unit-output-tabset input[id$="_real"]:checked ~ .unit-output-tab-panels .unit-output-tab-panel--real,
.unit-output-tabset input[id$="_internal"]:checked ~ .unit-output-tab-panels .unit-output-tab-panel--internal,
.unit-output-tabset input[id$="_raw"]:checked ~ .unit-output-tab-panels .unit-output-tab-panel--raw,
.unit-output-tabset input[id$="_open"]:checked ~ .unit-output-tab-panels .unit-output-tab-panel--open {
    display: block;
}
@media (max-width: 760px) {
    .unit-output-tab-nav {
        display: grid;
        grid-template-columns: 1fr;
    }
    .unit-output-tab-nav label {
        border-right: 0;
        border-bottom: 1px solid var(--c-border);
    }
}

 

 
.unit-fill-flow .unit-output-choice-grid article {
    min-height: 5.5rem;
}
.unit-fill-tabset input[id$="_filltotal"]:checked ~ .unit-output-tab-nav label[for$="_filltotal"],
.unit-fill-tabset input[id$="_fillsplit"]:checked ~ .unit-output-tab-nav label[for$="_fillsplit"],
.unit-fill-tabset input[id$="_fillrest"]:checked ~ .unit-output-tab-nav label[for$="_fillrest"],
.unit-fill-tabset input[id$="_fillsegment"]:checked ~ .unit-output-tab-nav label[for$="_fillsegment"],
.unit-fill-tabset input[id$="_fillnone"]:checked ~ .unit-output-tab-nav label[for$="_fillnone"] {
    background: var(--c-surface);
    box-shadow: inset 0 3px 0 var(--c-primary);
}
.unit-fill-tabset input[id$="_filltotal"]:checked ~ .unit-output-tab-panels .unit-output-tab-panel--filltotal,
.unit-fill-tabset input[id$="_fillsplit"]:checked ~ .unit-output-tab-panels .unit-output-tab-panel--fillsplit,
.unit-fill-tabset input[id$="_fillrest"]:checked ~ .unit-output-tab-panels .unit-output-tab-panel--fillrest,
.unit-fill-tabset input[id$="_fillsegment"]:checked ~ .unit-output-tab-panels .unit-output-tab-panel--fillsegment,
.unit-fill-tabset input[id$="_fillnone"]:checked ~ .unit-output-tab-panels .unit-output-tab-panel--fillnone {
    display: block;
}

 

 
.unit-page-head {
    position: static;
    margin: 0 0 1rem;
    padding: .9rem;
    border: 1px solid var(--c-border);
    border-radius: var(--radius-lg);
    background: rgba(255,255,255,.92);
    box-shadow: var(--shadow-sm);
}
.unit-page-head__main {
    display: grid;
    grid-template-columns: minmax(14rem, 1fr) minmax(16rem, 28rem) auto;
    gap: .8rem;
    align-items: end;
}
.unit-page-head h1 {
    margin: .15rem 0 .2rem;
    font-size: 1.35rem;
    letter-spacing: -.02em;
}
.unit-page-head p {
    margin: 0;
    color: var(--c-muted);
    font-size: .9rem;
    line-height: 1.35;
}
.unit-page-head__select label {
    display: grid;
    gap: .3rem;
    font-size: .74rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .08em;
    color: var(--c-muted);
}
.unit-page-head__select select {
    min-height: 2.55rem;
}
.unit-page-head__actions {
    display: flex;
    gap: .45rem;
    justify-content: flex-end;
    flex-wrap: wrap;
}
.unit-page-current {
    margin-top: .75rem;
    padding: .65rem .75rem;
    border: 1px solid rgba(17,24,39,.08);
    border-radius: var(--radius-md);
    background: rgba(248,250,252,.82);
    display: flex;
    gap: .6rem;
    align-items: center;
    justify-content: space-between;
}
.unit-page-current strong {
    color: var(--c-text);
    font-size: .95rem;
}
.unit-page-current span {
    color: var(--c-muted);
    font-size: .82rem;
    text-align: right;
}

.unit-current-context {
    position: sticky;
    top: .85rem;
    z-index: 4;
    display: grid;
    gap: .85rem;
    padding: 1rem;
    border: 1px solid var(--c-border);
    border-radius: var(--radius-lg);
    background: rgba(255,255,255,.94);
    box-shadow: var(--shadow-md);
}
.unit-current-context__head {
    display: grid;
    gap: .2rem;
}
.unit-current-context__head h2 {
    margin: 0;
    font-size: 1rem;
    letter-spacing: -.015em;
    color: var(--c-text);
}
.unit-current-context__head p {
    margin: 0;
    color: var(--c-muted);
    font-size: .82rem;
    line-height: 1.35;
}
.unit-current-context__meta {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .45rem;
}
.unit-context-pill {
    display: grid;
    gap: .12rem;
    min-width: 0;
    padding: .52rem .58rem;
    border: 1px solid rgba(17,24,39,.08);
    border-radius: var(--radius-md);
    background: rgba(248,250,252,.86);
}
.unit-context-pill strong {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    color: var(--c-text);
    font-size: .82rem;
    line-height: 1.1;
}
.unit-context-pill small {
    color: var(--c-muted);
    font-size: .68rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .055em;
}
.unit-context-pill.is-ok {
    border-color: rgba(32,97,174,.18);
    background: rgba(32,97,174,.055);
}
.unit-context-pill.is-open {
    border-color: rgba(146,64,14,.16);
    background: rgba(251,191,36,.10);
}
.unit-context-pill.is-soft {
    border-color: rgba(100,116,139,.16);
    background: rgba(241,245,249,.82);
}
.unit-current-context__nav {
    display: flex;
    flex-wrap: wrap;
    gap: .35rem;
    padding-top: .1rem;
}
.unit-current-context__nav a {
    display: inline-flex;
    align-items: center;
    min-height: 1.9rem;
    padding: .32rem .52rem;
    border: 1px solid rgba(17,24,39,.08);
    border-radius: var(--radius-pill);
    background: rgba(248,250,252,.86);
    color: var(--c-muted);
    font-size: .74rem;
    font-weight: 850;
    text-decoration: none;
}
.unit-current-context__nav a:hover,
.unit-current-context__nav a:focus-visible {
    border-color: rgba(32,97,174,.38);
    background: rgba(32,97,174,.07);
    color: var(--c-primary);
}
.unit-question-flow > .panel {
    scroll-margin-top: 5.5rem;
}
.unit-question-flow > .panel .panel__header {
    padding-bottom: .75rem;
}
.unit-question-flow > .panel .panel__title {
    font-size: 1.05rem;
    letter-spacing: -.01em;
}
.unit-question-flow > .panel .panel__subtitle {
    max-width: 48rem;
    font-size: .88rem;
}
.visual-object-layout--questions {
    align-items: stretch;
}
.visual-object-layout--questions .workspace-side {
    align-self: stretch;
    align-content: start;
    padding-top: .1rem;
}
@media (max-width: 980px) {
    .unit-page-head {
        position: static;
    }
    .unit-page-head__main {
        grid-template-columns: 1fr;
        align-items: stretch;
    }
    .unit-page-head__actions {
        justify-content: flex-start;
    }
    .unit-page-current {
        align-items: flex-start;
        flex-direction: column;
    }
    .unit-page-current span {
        text-align: left;
    }
    .unit-current-context {
        position: static;
    }
}

 

 
.unit-identity-form {
    display: grid;
    gap: .75rem;
}
.unit-identity-compact {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: .75rem;
    align-items: end;
}
.unit-identity-compact__main {
    display: grid;
    grid-template-columns: minmax(12rem, .9fr) minmax(16rem, 1.2fr) minmax(13rem, .9fr);
    gap: .65rem;
    align-items: end;
}
.unit-identity-compact__side {
    display: flex;
    gap: .45rem;
    align-items: center;
    justify-content: flex-end;
    flex-wrap: wrap;
}
.unit-identity-secondary {
    display: grid;
    grid-template-columns: minmax(12rem, .8fr) minmax(18rem, 1.2fr);
    gap: .65rem;
}
.unit-identity-details {
    margin-top: .1rem;
}
.unit-empty-state {
    display: grid;
    gap: .2rem;
    padding: .75rem .85rem;
    border: 1px dashed var(--c-border);
    border-radius: var(--radius-md);
    background: rgba(248,250,252,.75);
}
.unit-empty-state strong {
    color: var(--c-text);
}
.unit-empty-state span {
    color: var(--c-muted);
    font-size: .88rem;
}
.unit-role-connection-note--compact {
    margin-bottom: .65rem;
    padding: .65rem .8rem;
}
.unit-role-list {
    display: grid;
    gap: .45rem;
    margin-bottom: .7rem;
}
.unit-role-row {
    display: grid;
    grid-template-columns: minmax(10rem, .75fr) minmax(16rem, 1.4fr) auto;
    gap: .75rem;
    align-items: center;
    padding: .62rem .72rem;
    border: 1px solid var(--c-border);
    border-radius: var(--radius-md);
    background: var(--c-surface);
}
.unit-role-row__role,
.unit-role-row__tool {
    display: grid;
    gap: .12rem;
    min-width: 0;
}
.unit-role-row__role strong,
.unit-role-row__tool strong {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    color: var(--c-text);
}
.unit-role-row__tool span,
.unit-role-row__tool small {
    color: var(--c-muted);
    font-size: .82rem;
    line-height: 1.25;
}
.unit-role-row__action {
    justify-self: end;
}
.unit-add-role-details {
    margin-top: .45rem;
}
.unit-inline-form--compact {
    margin-top: .6rem;
}
@media (max-width: 980px) {
    .unit-identity-compact,
    .unit-identity-secondary,
    .unit-identity-compact__main,
    .unit-role-row {
        grid-template-columns: 1fr;
    }
    .unit-identity-compact__side,
    .unit-role-row__action {
        justify-content: flex-start;
        justify-self: start;
    }
}

 

 
.unit-output-flow--compact {
    padding: var(--sp-md);
}
.unit-output-flow__head--compact {
    margin-bottom: var(--sp-sm);
}
.unit-output-flow__head--compact h3 {
    font-size: 1.05rem;
}
.unit-output-flow__head--compact p {
    font-size: .92rem;
}
.unit-current-summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--sp-md);
    border: 1px solid var(--c-border);
    border-radius: var(--radius-md);
    background: var(--c-soft);
    padding: var(--sp-sm) var(--sp-md);
    margin: var(--sp-sm) 0 var(--sp-md);
}
.unit-current-summary strong,
.unit-current-summary small {
    display: block;
}
.unit-current-summary small {
    color: var(--c-muted);
    margin-top: .15rem;
}
.unit-output-assign-details {
    margin-top: var(--sp-sm);
}
.unit-output-tabset--compact .unit-output-tab-nav label {
    padding: .65rem .85rem;
}
.unit-output-tabset--compact .unit-output-tab-panel {
    padding: var(--sp-sm) var(--sp-md) var(--sp-md);
}
.unit-tab-help {
    margin: 0 0 var(--sp-sm);
    color: var(--c-muted);
    font-size: .92rem;
}
.unit-tab-help strong {
    color: var(--c-text);
}
.unit-counted-output-flow {
    display: grid;
    gap: var(--sp-md);
}
.unit-build-list--compact {
    display: grid;
    gap: var(--sp-sm);
}
.unit-build-row--compact {
    padding: var(--sp-sm) var(--sp-md);
}
.unit-output-impact--compact {
    margin: 0;
    padding: var(--sp-sm) var(--sp-md) var(--sp-sm) 1.25rem;
    border: 1px solid var(--c-border);
    border-radius: var(--radius-md);
    background: var(--c-surface);
}
@media (max-width: 760px) {
    .unit-current-summary {
        display: grid;
    }
}

 

 
.unit-fill-flow--compact {
    padding: var(--sp-md);
}
.unit-fill-flow--compact .unit-output-flow__head {
    margin-bottom: var(--sp-sm);
}
.unit-fill-flow--compact .unit-output-state small {
    max-width: 18rem;
}
.unit-fill-logic-strip {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: .5rem;
    margin: var(--sp-sm) 0 var(--sp-md);
}
.unit-fill-logic-strip span {
    display: block;
    padding: .58rem .68rem;
    border: 1px solid var(--c-border);
    border-radius: var(--radius-md);
    background: var(--c-soft);
    color: var(--c-muted);
    font-size: .84rem;
    line-height: 1.3;
}
.unit-fill-logic-strip strong {
    color: var(--c-text);
}
.unit-fill-editor-details {
    margin: var(--sp-sm) 0 var(--sp-md);
}
.unit-fill-action-zone--compact {
    margin-top: var(--sp-sm);
}
.unit-fill-list--compact {
    margin-top: var(--sp-sm);
}
.unit-fill-row--compact span,
.unit-fill-row--compact small {
    line-height: 1.3;
}
@media (max-width: 820px) {
    .unit-fill-logic-strip {
        grid-template-columns: 1fr;
    }
}

 

 
.unit-visible-areas__head--compact p {
    max-width: 48rem;
}

.unit-visible-summary {
    display: flex;
    flex-wrap: wrap;
    gap: .45rem;
    align-items: center;
}

.unit-visible-summary__item {
    display: inline-flex;
    align-items: center;
    gap: .28rem;
    padding: .28rem .62rem;
    border: 1px solid var(--c-border);
    border-radius: 999px;
    background: var(--c-soft);
    color: var(--c-muted);
    font-size: .84rem;
    font-weight: 700;
}

.unit-visible-summary__item strong {
    color: var(--c-text);
}

.unit-visible-equipment-list {
    display: grid;
    gap: .55rem;
}

.unit-visible-equipment-row {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: var(--sp-sm);
    padding: .75rem .85rem;
    border: 1px solid var(--c-border);
    border-radius: var(--radius-md);
    background: rgba(255,255,255,.66);
}

.unit-visible-equipment-row__main {
    display: grid;
    gap: .22rem;
    min-width: 0;
}

.unit-visible-equipment-row__main strong {
    font-size: .96rem;
}

.unit-visible-equipment-row__main span,
.unit-visible-equipment-row__main small {
    color: var(--c-muted);
    font-size: .84rem;
    line-height: 1.35;
}

.unit-visible-equipment-row__action {
    flex: 0 0 auto;
}

.unit-visible-equipment-add {
    margin-top: .25rem;
}

.calm-details--inline {
    margin-top: .15rem;
}

.calm-details--inline summary {
    font-size: .82rem;
}

.calm-details--inline p {
    margin: .35rem 0 0;
    color: var(--c-muted);
    font-size: .84rem;
    line-height: 1.35;
}

@media (max-width: 760px) {
    .unit-visible-equipment-row {
        display: grid;
    }
    .unit-visible-equipment-row__action {
        justify-self: start;
    }
}

 

 
.unit-projection-overview {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: .5rem;
}

.unit-projection-overview__item {
    display: grid;
    gap: .1rem;
    padding: .55rem .65rem;
    border: 1px solid var(--c-border);
    border-radius: var(--radius-md);
    background: rgba(255,255,255,.68);
}

.unit-projection-overview__item strong {
    font-size: .82rem;
    color: var(--c-text);
}

.unit-projection-overview__item small {
    color: var(--c-muted);
    font-weight: 750;
}

.unit-projection-overview__item.is-ok {
    border-color: rgba(34, 197, 94, .24);
    background: rgba(220, 252, 231, .42);
}

.unit-projection-overview__item.is-warn {
    border-color: rgba(245, 158, 11, .30);
    background: rgba(254, 243, 199, .48);
}

.unit-projection-overview__item.is-soft {
    background: var(--c-soft);
}

.unit-projection-tabs .locksmith-summary-tabs__nav {
    padding: .45rem;
}

.unit-projection-panel {
    padding: .75rem;
}

.unit-projection-card {
    gap: .55rem;
    padding: .8rem;
}

.unit-projection-list {
    line-height: 1.42;
}

.unit-projection-list li + li {
    margin-top: .16rem;
}

.unit-projection-check__footer {
    display: block;
}

.unit-projection-check__footer summary {
    cursor: pointer;
    font-weight: 850;
    color: var(--c-text);
}

.unit-projection-check__footer span {
    display: block;
    margin-top: .35rem;
}

@media (max-width: 980px) {
    .unit-projection-overview {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

 

 
.unit-panel-action {
    margin-top: .65rem;
    display: flex;
    justify-content: flex-start;
    flex-wrap: wrap;
    gap: .45rem;
}
.unit-role-modal-form .modal__body {
    display: grid;
    gap: .85rem;
}


 
 
.unit-role-modal-stack {
    display: grid;
    gap: .8rem;
}

.unit-role-modal-section {
    position: relative;
    display: grid;
    gap: .65rem;
    padding: .85rem;
    border: 1px solid var(--c-border);
    border-radius: var(--r-lg);
    background: rgba(248, 250, 252, .72);
}

.unit-role-modal-section--picker {
    z-index: 4;
}

.unit-role-modal-section__head {
    display: flex;
    align-items: flex-start;
    gap: .65rem;
}

.unit-role-modal-section__head > span {
    display: inline-grid;
    place-items: center;
    flex: 0 0 auto;
    width: 1.65rem;
    height: 1.65rem;
    border-radius: .7rem;
    background: var(--c-soft);
    color: var(--c-muted);
    font-size: .78rem;
    font-weight: 950;
}

.unit-role-modal-section__head strong,
.unit-role-modal-section__head small {
    display: block;
}

.unit-role-modal-section__head strong {
    color: var(--c-text);
    font-size: .92rem;
}

.unit-role-modal-section__head small {
    margin-top: .12rem;
    color: var(--c-muted);
    font-size: .8rem;
    line-height: 1.35;
}

.unit-role-tool-picker {
    width: 100%;
}

.unit-role-modal-extra-grid {
    align-items: end;
}

.unit-role-required-chip {
    align-self: stretch;
    min-height: 3.2rem;
    justify-content: center;
}

.deni-combobox--wide .deni-combobox__results {
    max-height: 14rem;
}

@media (max-width: 720px) {
    .unit-role-modal-section {
        padding: .75rem;
    }
    .unit-role-modal-extra-grid {
        grid-template-columns: 1fr;
    }
}

 
 
.deni-combobox-field {
    display: grid;
    gap: .4rem;
    min-width: 0;
}

.deni-combobox {
    position: relative;
    display: grid;
    gap: .35rem;
    min-width: 0;
}

.deni-combobox__input {
    width: 100%;
    min-width: 0;
    padding-right: 2.4rem;
}

.deni-combobox::after {
    content: '';
    position: absolute;
    right: .85rem;
    top: .95rem;
    width: .55rem;
    height: .55rem;
    border-right: 2px solid var(--color-text-light, #6b7280);
    border-bottom: 2px solid var(--color-text-light, #6b7280);
    transform: rotate(45deg);
    pointer-events: none;
    opacity: .75;
}

.deni-combobox.is-loading::after {
    width: .8rem;
    height: .8rem;
    border: 2px solid rgba(107, 114, 128, .25);
    border-top-color: var(--color-text-light, #6b7280);
    border-radius: 999px;
    transform: none;
    animation: deni-combobox-spin .8s linear infinite;
}

@keyframes deni-combobox-spin {
    to { transform: rotate(360deg); }
}

.deni-combobox__hint {
    display: block;
    min-height: 1.1rem;
    color: var(--color-text-light, #6b7280);
    font-size: .78rem;
    font-weight: 700;
    line-height: 1.35;
}

.deni-combobox__hint.is-error {
    color: #9a3412;
}

.deni-combobox__hint.is-ok {
    color: #166534;
}

.deni-combobox__results {
    position: absolute;
    z-index: 160;
    left: 0;
    right: 0;
    top: calc(100% + .25rem);
    display: grid;
    gap: .35rem;
    max-height: 18rem;
    overflow: auto;
    padding: .45rem;
    border: 1px solid rgba(209, 213, 219, .95);
    border-radius: .95rem;
    background: rgba(255, 255, 255, .98);
    box-shadow: 0 1rem 2.5rem rgba(15, 23, 42, .18);
}

.deni-combobox__option {
    display: grid;
    gap: .15rem;
    width: 100%;
    padding: .65rem .75rem;
    border: 1px solid transparent;
    border-radius: .75rem;
    background: transparent;
    color: var(--color-text, #1f2937);
    text-align: left;
    cursor: pointer;
}

.deni-combobox__option:hover,
.deni-combobox__option:focus-visible {
    border-color: rgba(37, 99, 235, .24);
    background: rgba(239, 246, 255, .85);
    outline: none;
}

.deni-combobox__option strong,
.deni-combobox__option small {
    display: block;
}

.deni-combobox__option small,
.deni-combobox__empty {
    color: var(--color-text-light, #6b7280);
    font-size: .78rem;
    font-weight: 700;
    line-height: 1.35;
}

.deni-combobox__empty {
    padding: .7rem .75rem;
}

.deni-combobox__results[hidden] {
    display: none;
}

 
 
.deni-combobox__control {
    position: relative;
    display: block;
    min-width: 0;
}

.deni-combobox.is-open .deni-combobox__input {
    border-bottom-left-radius: 0;
    border-bottom-right-radius: 0;
}

.deni-combobox__results {
    top: calc(100% - 1px);
    gap: 0;
    padding: .35rem;
    border-top-left-radius: 0;
    border-top-right-radius: 0;
    box-shadow: 0 .95rem 2rem rgba(15, 23, 42, .16);
}

.deni-combobox.is-open .deni-combobox__results {
    border-color: rgba(37, 99, 235, .42);
}

.deni-combobox__option + .deni-combobox__option {
    border-top: 1px solid rgba(229, 231, 235, .9);
}

.deni-combobox__option {
    border-radius: .65rem;
}

.deni-combobox__option + .deni-combobox__option:hover,
.deni-combobox__option + .deni-combobox__option:focus-visible {
    border-top-color: transparent;
}

 
 
.deni-combobox__option[data-first-result="1"] {
    background: rgba(239, 246, 255, .7);
}

.deni-combobox__option[data-first-result="1"]::after {
    content: 'Vorauswahl';
    justify-self: start;
    margin-top: .08rem;
    color: var(--color-text-light, #6b7280);
    font-size: .68rem;
    font-weight: 900;
    letter-spacing: .06em;
    text-transform: uppercase;
}

 
 
.unit-role-modal-simple {
    position: relative;
    z-index: 5;
    display: grid;
    gap: .9rem;
}

.unit-role-modal-main-grid {
    align-items: end;
}

.unit-role-modal-simple .unit-role-tool-picker {
    position: relative;
    z-index: 6;
}

.unit-role-modal-options {
    display: grid;
    grid-template-columns: minmax(10rem, .55fr) minmax(14rem, 1fr);
    gap: .85rem;
    align-items: end;
    padding-top: .1rem;
}

.unit-role-required-inline {
    min-height: 3.15rem;
    align-items: center;
}

.unit-role-note-inline {
    display: grid;
    gap: .35rem;
}

@media (max-width: 720px) {
    .unit-role-modal-options {
        grid-template-columns: 1fr;
    }
}

 

 
.unit-role-modal-options--rows {
    display: grid;
    grid-template-columns: 1fr;
    gap: .55rem;
    align-items: stretch;
    padding-top: .05rem;
}

.unit-role-option-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: .75rem;
    align-items: center;
    padding: .65rem .75rem;
    border: 1px solid var(--c-border);
    border-radius: var(--r-md);
    background: rgba(248, 250, 252, .82);
}

.unit-role-option-row__text {
    display: grid;
    gap: .1rem;
    min-width: 0;
}

.unit-role-option-row__text strong {
    color: var(--c-text);
    font-size: .9rem;
    font-weight: 900;
    line-height: 1.18;
}

.unit-role-option-row__text span {
    color: var(--c-muted);
    font-size: .78rem;
    font-weight: 700;
    line-height: 1.35;
}

.unit-role-option-switch {
    justify-self: end;
}

.unit-role-option-row--note {
    grid-template-columns: 1fr;
    align-items: stretch;
    gap: .55rem;
}

.unit-role-option-row--note input {
    min-width: 0;
    width: 100%;
}

@media (max-width: 720px) {
    .unit-role-option-row,
    .unit-role-option-row--note {
        grid-template-columns: 1fr;
    }

    .unit-role-option-switch {
        justify-self: start;
    }
}

 
 
.modal__body {
    min-height: 0;
    overflow-y: auto;
    overscroll-behavior: contain;
}

 



 
.modal > form.unit-role-modal-form {
    display: contents;
}

@media (max-width: 720px) {
    .overlay.is-open {
        align-items: center;
        justify-content: center;
        padding: .75rem;
        overflow: hidden;
    }

    .modal,
    .modal--wide,
    .modal--small {
        width: min(100%, calc(100vw - 1.5rem));
        height: auto;
        max-height: calc(100dvh - 1.5rem);
        display: grid;
        grid-template-rows: auto minmax(0, 1fr) auto;
    }

    .modal__body {
        min-height: 0;
        overflow-y: auto;
        -webkit-overflow-scrolling: touch;
    }

    .modal__footer {
        padding-bottom: calc(var(--sp-md) + env(safe-area-inset-bottom));
    }

    .panel__header {
        display: grid;
        grid-template-columns: minmax(0, 1fr) auto;
        grid-template-areas:
            "title actions"
            "subtitle subtitle";
        align-items: start;
        gap: .5rem .75rem;
    }

    .panel__header > div:first-child {
        display: contents;
    }

    .panel__title {
        grid-area: title;
        min-width: 0;
    }

    .panel__subtitle {
        grid-area: subtitle;
        margin-top: .05rem;
    }

    .panel__actions {
        grid-area: actions;
        justify-self: end;
        align-self: start;
        flex-wrap: nowrap;
    }

    .panel__actions .btn {
        white-space: nowrap;
    }
}

@media (max-width: 420px) {
    .panel__header {
        gap: .55rem;
    }

    .panel__actions .btn {
        padding-inline: .7rem;
    }
}

 
 
.deni-combobox__scope {
    display: block;
    color: var(--color-text-light, #6b7280);
    font-size: .72rem;
    font-weight: 800;
    letter-spacing: .035em;
    line-height: 1.3;
    text-transform: uppercase;
}

.deni-combobox__badges {
    display: flex;
    flex-wrap: wrap;
    gap: .28rem;
    margin-top: .18rem;
}

.deni-combobox__badge {
    display: inline-flex;
    align-items: center;
    min-height: 1.2rem;
    padding: .12rem .4rem;
    border: 1px solid rgba(209, 213, 219, .9);
    border-radius: 999px;
    background: rgba(248, 250, 252, .9);
    color: var(--color-text-light, #6b7280);
    font-size: .66rem;
    font-weight: 900;
    letter-spacing: .045em;
    line-height: 1;
    text-transform: uppercase;
}


 


 
.deni-combobox-field {
    gap: .45rem;
    font-size: .86rem;
    font-weight: 700;
    color: var(--color-text, #1f2937);
}

.deni-combobox-field__label {
    display: block;
    margin: 0;
    color: inherit;
    font: inherit;
    letter-spacing: inherit;
    line-height: inherit;
    text-transform: inherit;
}

.deni-combobox-field__label[data-deni-combobox-scope] {
    transition: color .16s ease;
}

 
 
.modal > form.unit-visible-equipment-modal-form {
    display: contents;
}

.unit-visible-equipment-modal-form .modal__body {
    display: grid;
    gap: .85rem;
}

.unit-visible-modal-stack {
    display: grid;
    gap: .85rem;
}

.unit-visible-modal-section {
    display: grid;
    gap: .65rem;
    padding: .85rem;
    border: 1px solid var(--c-border);
    border-radius: var(--r-lg);
    background: rgba(248, 250, 252, .72);
}

.unit-visible-modal-section--type {
    position: relative;
    z-index: 3;
}

.unit-visible-modal-section__head {
    display: grid;
    gap: .14rem;
}

.unit-visible-modal-section__head strong {
    color: var(--c-text);
    font-size: .92rem;
    font-weight: 900;
    line-height: 1.2;
}

.unit-visible-modal-section__head span {
    color: var(--c-muted);
    font-size: .8rem;
    font-weight: 700;
    line-height: 1.35;
}

@media (max-width: 720px) {
    .unit-visible-modal-section {
        padding: .75rem;
    }
}

 
 
.unit-visible-type-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--sp-sm);
}

.unit-visible-type-card {
    --choice-accent: var(--c-primary);
    min-height: 4.25rem;
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    align-items: center;
    gap: .7rem;
    padding: .72rem .78rem;
    border: 1px solid var(--c-border);
    border-radius: var(--r-md);
    background: rgba(248, 250, 252, .82);
    cursor: pointer;
    transition: border-color .16s ease, background .16s ease, box-shadow .16s ease;
}

.unit-visible-type-card:hover,
.unit-visible-type-card:has(.native-hidden:checked) {
    border-color: var(--choice-accent);
    background: #fff;
}

.unit-visible-type-card:has(.native-hidden:focus-visible) {
    box-shadow: 0 0 0 .2rem rgba(32, 97, 174, .12);
}

.unit-visible-type-card .radio-box {
    align-self: center;
}

.unit-visible-type-card__text {
    min-width: 0;
    display: grid;
    gap: .14rem;
}

.unit-visible-type-card__text strong {
    color: var(--c-text);
    font-size: .88rem;
    font-weight: 900;
    line-height: 1.15;
}

.unit-visible-type-card__text small {
    color: var(--c-muted);
    font-size: .76rem;
    font-weight: 750;
    line-height: 1.25;
}

.unit-visible-modal-section.is-hidden-by-type {
    display: none;
}

.unit-visible-help-card {
    min-height: var(--control-height);
    display: grid;
    gap: .12rem;
    align-content: center;
    padding: .62rem .75rem;
    border: 1px dashed rgba(148, 163, 184, .9);
    border-radius: var(--r-md);
    background: rgba(255, 255, 255, .7);
}

.unit-visible-help-card strong {
    color: var(--c-text);
    font-size: .78rem;
    font-weight: 900;
    line-height: 1.15;
}

.unit-visible-help-card span {
    color: var(--c-muted);
    font-size: .74rem;
    font-weight: 720;
    line-height: 1.32;
}

.unit-visible-switch-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: var(--sp-sm);
    padding: .72rem .78rem;
    border: 1px solid var(--c-border);
    border-radius: var(--r-md);
    background: rgba(255, 255, 255, .75);
}

.unit-visible-switch-row > span:first-child {
    min-width: 0;
    display: grid;
    gap: .12rem;
}

.unit-visible-switch-row strong {
    color: var(--c-text);
    font-size: .86rem;
    font-weight: 900;
    line-height: 1.18;
}

.unit-visible-switch-row small {
    color: var(--c-muted);
    font-size: .76rem;
    font-weight: 720;
    line-height: 1.3;
}

@media (max-width: 720px) {
    .unit-visible-type-grid {
        grid-template-columns: 1fr;
    }
}

[data-visible-for].is-hidden-by-type {
    display: none !important;
}

 
 
.unit-visible-model-grid > [data-visible-for] {
    min-width: 0;
}

.unit-visible-field-hint {
    display: block;
    margin-top: .28rem;
    color: var(--c-muted);
    font-size: .72rem;
    font-weight: 720;
    line-height: 1.3;
}

 
 
.unit-visible-target-grid > [data-visible-target-text],
.unit-visible-target-grid > [data-visible-target-segment] {
    min-width: 0;
}

[data-visible-target-text].is-hidden-by-target,
[data-visible-target-segment].is-hidden-by-target {
    display: none !important;
}

 

 
.unit-empty-state {
    width: 100%;
    margin: .15rem 0 .85rem;
    padding: .95rem 1rem;
    border: 1px dashed var(--c-border);
    border-radius: var(--r-md);
    background: rgba(248, 250, 252, .72);
    color: var(--c-muted);
    display: grid;
    gap: .25rem;
    text-align: left;
}
.unit-empty-state strong {
    color: var(--c-text);
    font-weight: 900;
}
.unit-empty-state span,
.unit-empty-state small {
    color: var(--c-muted);
    font-size: .92rem;
    line-height: 1.45;
}
.unit-empty-state small {
    font-size: .86rem;
}
.unit-output-flow > .unit-empty-state,
.unit-counted-output-flow > .unit-empty-state,
.unit-visible-areas > .unit-empty-state,
.unit-instruction-flow > .unit-empty-state {
    margin-top: .25rem;
}

 


 
.unit-identity-form--redesign {
    display: block;
}

.unit-identity-redesign {
    display: grid;
    gap: 1rem;
}

.unit-identity-block {
    display: grid;
    gap: .7rem;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
}

.unit-identity-block--main {
    padding-bottom: .88rem;
    border-bottom: 1px solid rgba(17, 24, 39, .06);
}

.unit-identity-block--system {
    padding: .78rem .86rem;
    border: 1px solid rgba(17, 24, 39, .08);
    border-radius: var(--r-md);
    background: rgba(248, 250, 252, .72);
}

.unit-identity-block__head {
    display: grid;
    gap: .14rem;
    max-width: 58rem;
}

.unit-identity-block__head strong {
    color: var(--c-text);
    font-size: .92rem;
    font-weight: 900;
    line-height: 1.16;
}

.unit-identity-block__head span {
    color: var(--c-muted);
    font-size: .82rem;
    line-height: 1.35;
}

.unit-identity-grid {
    display: grid;
    gap: .68rem;
    align-items: end;
}

.unit-identity-grid--primary {
    grid-template-columns: minmax(16rem, 1.15fr) minmax(15rem, .85fr);
}

.unit-identity-grid--secondary {
    grid-template-columns: minmax(14rem, .75fr) minmax(18rem, 1.25fr);
}

.unit-identity-system-grid {
    display: grid;
    grid-template-columns: minmax(16rem, 1fr) minmax(10.5rem, 18rem);
    gap: .68rem;
    align-items: end;
}

.unit-type-select .custom-select__button {
    min-height: var(--control-height);
}

.unit-identity-status-row {
    min-height: var(--control-height);
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .65rem;
    padding: .52rem .62rem .52rem .72rem;
    border: 1px solid var(--c-border);
    border-radius: var(--r-md);
    background: rgba(255, 255, 255, .82);
}

.unit-identity-status-row > span:first-child {
    display: grid;
    gap: .08rem;
    min-width: 0;
}

.unit-identity-status-row strong {
    color: var(--c-text);
    font-size: .84rem;
    font-weight: 900;
    line-height: 1.18;
}

.unit-identity-status-row small {
    color: var(--c-muted);
    font-size: .72rem;
    font-weight: 720;
    line-height: 1.3;
}

.unit-identity-status-row .icon-switch {
    width: 2.06rem;
    height: 2.06rem;
    min-width: 2.06rem;
    min-height: 2.06rem;
    padding: .16rem;
    border-width: 1px;
    border-radius: .62rem;
}

.unit-identity-status-row .icon-switch__box {
    width: 1.54rem;
    height: 1.54rem;
    min-width: 1.54rem;
    min-height: 1.54rem;
    border-radius: .46rem;
}

.unit-identity-status-row .icon-switch__box svg {
    width: .86rem;
    height: .86rem;
    stroke-width: 2.4;
}

.unit-identity-details--redesign {
    margin-top: 0;
}

@media (max-width: 980px) {
    .unit-identity-grid--primary,
    .unit-identity-grid--secondary,
    .unit-identity-system-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 720px) {
    .unit-identity-redesign {
        gap: .85rem;
    }

    .unit-identity-block--main {
        padding-bottom: .72rem;
    }

    .unit-identity-block--system {
        padding: .72rem;
    }
}

 


 
.unit-page-head--library .unit-page-head__main,
.unit-page-head--wizard .unit-page-head__main,
.unit-page-head--create .unit-page-head__main,
.unit-page-head--editor .unit-page-head__main {
    align-items: start;
}

.unit-library-layout,
.unit-create-layout {
    align-items: stretch;
}

.unit-library-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(15rem, 1fr));
    gap: var(--sp-md);
}

.unit-library-card {
    display: grid;
    gap: .42rem;
    padding: var(--sp-md);
    border: 1px solid var(--c-border);
    border-radius: var(--r-md);
    background: rgba(255,255,255,.74);
    color: inherit;
    text-decoration: none;
    box-shadow: var(--shadow-sm);
    transition: transform .16s ease, box-shadow .16s ease, border-color .16s ease;
}

.unit-library-card:hover,
.unit-library-card:focus-visible {
    transform: translateY(-1px);
    border-color: rgba(32,97,174,.34);
    box-shadow: var(--shadow-md);
    outline: none;
}

.unit-library-card strong {
    color: var(--c-text);
    font-size: .98rem;
    line-height: 1.22;
}

.unit-library-card p {
    margin: 0;
    color: var(--c-muted);
    font-size: .84rem;
    line-height: 1.38;
}

.unit-library-card small {
    color: var(--c-muted);
    font-size: .76rem;
    font-weight: 760;
}

.unit-empty-state--compact {
    margin-top: var(--sp-sm);
    padding: .85rem;
}

@media (max-width: 720px) {
    .unit-page-head--library .unit-page-head__actions,
    .unit-page-head--wizard .unit-page-head__actions,
    .unit-page-head--create .unit-page-head__actions,
    .unit-page-head--editor .unit-page-head__actions {
        width: 100%;
        justify-content: stretch;
    }

    .unit-page-head--library .unit-page-head__actions .btn,
    .unit-page-head--wizard .unit-page-head__actions .btn,
    .unit-page-head--create .unit-page-head__actions .btn,
    .unit-page-head--editor .unit-page-head__actions .btn {
        flex: 1 1 auto;
    }
}

  
.locksmith-knowledge-stats {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--sp-sm);
    margin-bottom: var(--sp-md);
}

.locksmith-knowledge-card {
    border: 1px solid var(--c-border);
    background: rgba(255, 255, 255, .72);
    border-radius: var(--radius-md);
    padding: var(--sp-sm);
    display: flex;
    flex-direction: column;
    gap: .22rem;
    min-width: 0;
}

.locksmith-knowledge-card span,
.locksmith-knowledge-card small {
    color: var(--c-muted);
}

.locksmith-knowledge-card span {
    font-size: .82rem;
}

.locksmith-knowledge-card strong {
    font-size: 1.35rem;
    line-height: 1;
    color: var(--c-text);
}

.locksmith-knowledge-card small {
    font-size: .76rem;
    line-height: 1.25;
}

.locksmith-knowledge-actions {
    margin-top: var(--sp-sm);
}

@media (max-width: 520px) {
    .locksmith-knowledge-stats {
        grid-template-columns: 1fr;
    }
}

  
.locksmith-side-note {
    width: 100%;
    margin: .15rem 0 0;
    padding: .95rem 1rem;
    border: 1px dashed var(--c-border);
    border-radius: var(--r-md);
    background: rgba(248, 250, 252, .72);
    color: var(--c-muted);
    display: grid;
    gap: .32rem;
    text-align: left;
}

.locksmith-side-note strong {
    color: var(--c-text);
    font-weight: 900;
    line-height: 1.2;
}

.locksmith-side-note span {
    color: var(--c-muted);
    font-size: .92rem;
    line-height: 1.45;
}

.locksmith-side-note__steps {
    margin: .48rem 0 0;
    padding: .62rem 0 0 1.12rem;
    border-top: 1px dashed rgba(148, 163, 184, .72);
    color: var(--c-muted);
    display: grid;
    gap: .36rem;
}

.locksmith-side-note__steps li {
    padding-left: .08rem;
    line-height: 1.35;
}

.locksmith-side-note--simple {
    gap: .25rem;
}

  
.locksmith-work-situation {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: var(--sp-sm);
}

.locksmith-situation-card {
    min-width: 0;
    padding: .9rem;
    border: 1px solid var(--c-border);
    border-radius: var(--r-md);
    background: rgba(255, 255, 255, .74);
    display: grid;
    gap: .22rem;
    align-content: start;
}

.locksmith-situation-card span,
.locksmith-situation-card small,
.locksmith-situation-card p {
    color: var(--c-muted);
}

.locksmith-situation-card span {
    font-size: .78rem;
    font-weight: 880;
    letter-spacing: .055em;
    text-transform: uppercase;
}

.locksmith-situation-card strong {
    color: var(--c-text);
    font-size: 1.65rem;
    line-height: 1;
    font-weight: 950;
}

.locksmith-situation-card small {
    font-size: .78rem;
    font-weight: 800;
}

.locksmith-situation-card p {
    margin: .24rem 0 0;
    font-size: .82rem;
    line-height: 1.35;
}

.locksmith-situation-card--plan {
    grid-column: span 2;
    border-color: rgba(32, 97, 174, .22);
    background: linear-gradient(135deg, rgba(239, 246, 255, .82), rgba(255, 255, 255, .76));
}

.locksmith-planning-signal {
    margin-top: .55rem;
    padding: .68rem .72rem;
    border: 1px dashed rgba(32, 97, 174, .24);
    border-radius: calc(var(--r-md) - 4px);
    background: rgba(255, 255, 255, .58);
    display: grid;
    gap: .18rem;
}

.locksmith-planning-signal b {
    color: var(--c-text);
    font-size: .92rem;
    line-height: 1.25;
    font-weight: 920;
}

.locksmith-planning-signal span,
.locksmith-planning-signal small {
    color: var(--c-muted);
    font-size: .8rem;
    line-height: 1.35;
}

.locksmith-planning-link {
    justify-self: start;
    margin-top: .48rem;
}

  
.locksmith-situation-card--warehouse {
    grid-column: span 2;
    border-style: dashed;
    background: linear-gradient(135deg, rgba(248, 250, 252, .84), rgba(255, 255, 255, .74));
}

.locksmith-warehouse-signal {
    margin-top: .55rem;
    padding: .68rem .72rem;
    border: 1px dashed rgba(148, 163, 184, .68);
    border-radius: calc(var(--r-md) - 4px);
    background: rgba(255, 255, 255, .58);
    display: grid;
    gap: .24rem;
}

.locksmith-warehouse-signal b {
    color: var(--c-text);
    font-size: .92rem;
    line-height: 1.25;
    font-weight: 920;
}

.locksmith-warehouse-signal span,
.locksmith-warehouse-signal small,
.locksmith-warehouse-signal em {
    color: var(--c-muted);
    font-size: .8rem;
    line-height: 1.35;
}

.locksmith-warehouse-signal em {
    font-style: normal;
}

.locksmith-warehouse-signal ul {
    margin: .32rem 0 .12rem;
    padding: .5rem 0 0 1.05rem;
    border-top: 1px dashed rgba(148, 163, 184, .62);
    display: grid;
    gap: .22rem;
}

.locksmith-warehouse-signal li {
    color: var(--c-text);
    font-size: .81rem;
    line-height: 1.32;
}

.locksmith-warehouse-signal li.is-muted {
    color: var(--c-muted);
}

.locksmith-warehouse-link {
    justify-self: start;
    margin-top: .48rem;
}

.locksmith-situation-card--warning {
    border-color: rgba(245, 158, 11, .38);
    background: rgba(254, 243, 199, .58);
}

.locksmith-situation-card--danger {
    border-color: rgba(239, 68, 68, .38);
    background: rgba(254, 226, 226, .62);
}

.locksmith-situation-card--ok strong {
    color: var(--c-success, #16794a);
}

.locksmith-situation-card--neutral {
    border-style: dashed;
    background: rgba(248, 250, 252, .68);
}

.locksmith-situation-card--locations {
    grid-column: span 1;
}

.locksmith-situation-hint {
    margin-top: var(--sp-sm);
    padding: .82rem .95rem;
    border: 1px dashed rgba(148, 163, 184, .72);
    border-radius: var(--r-md);
    background: rgba(248, 250, 252, .72);
    display: grid;
    gap: .18rem;
}

.locksmith-situation-hint strong {
    color: var(--c-text);
    font-weight: 900;
}

.locksmith-situation-hint span {
    color: var(--c-muted);
    line-height: 1.4;
}

@media (max-width: 1180px) {
    .locksmith-work-situation {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 760px) {
    .locksmith-work-situation {
        grid-template-columns: 1fr;
    }

    .locksmith-situation-card--plan,
    .locksmith-situation-card--warehouse {
        grid-column: span 1;
    }
}

  
.locksmith-defect-signal {
    margin-top: .5rem;
    padding: .62rem .68rem;
    border: 1px dashed rgba(148, 163, 184, .62);
    border-radius: calc(var(--r-md) - 4px);
    background: rgba(255, 255, 255, .52);
    display: grid;
    gap: .18rem;
}

.locksmith-defect-signal b {
    color: var(--c-text);
    font-size: .88rem;
    line-height: 1.25;
    font-weight: 920;
}

.locksmith-defect-signal span,
.locksmith-defect-signal small {
    color: var(--c-muted);
    font-size: .78rem;
    line-height: 1.34;
}

.locksmith-defect-link {
    justify-self: start;
    margin-top: .42rem;
}

  
.locksmith-preparation-signal {
    margin-top: .5rem;
    padding: .62rem .68rem;
    border: 1px dashed rgba(148, 163, 184, .62);
    border-radius: calc(var(--r-md) - 4px);
    background: rgba(255, 255, 255, .52);
    display: grid;
    gap: .16rem;
}

.locksmith-preparation-signal b {
    color: var(--c-text);
    font-size: .88rem;
    line-height: 1.25;
    font-weight: 920;
}

.locksmith-preparation-signal span,
.locksmith-preparation-signal small {
    color: var(--c-muted);
    font-size: .78rem;
    line-height: 1.34;
}

.locksmith-preparation-link {
    justify-self: start;
    margin-top: .42rem;
}

  
.locksmith-location-link {
    justify-self: start;
    margin-top: .42rem;
}

.locksmith-location-page .workspace-layout {
    align-items: start;
}

.locksmith-location-summary {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: var(--sp-sm);
    margin-bottom: var(--sp-md);
}

.locksmith-location-summary article {
    padding: .82rem .9rem;
    border: 1px solid var(--c-border);
    border-radius: var(--r-md);
    background: rgba(255, 255, 255, .7);
    display: grid;
    gap: .16rem;
}

.locksmith-location-summary span {
    color: var(--c-muted);
    font-size: .76rem;
    font-weight: 900;
    letter-spacing: .05em;
    text-transform: uppercase;
}

.locksmith-location-summary strong {
    color: var(--c-text);
    font-size: 1.45rem;
    line-height: 1;
    font-weight: 950;
}

.locksmith-location-summary small {
    color: var(--c-muted);
    font-size: .78rem;
    font-weight: 760;
}

.locksmith-location-filters {
    display: flex;
    flex-wrap: wrap;
    gap: .45rem;
    margin: 0 0 var(--sp-md);
}

.locksmith-location-filters .focus-filter-chip {
    min-height: 2.35rem;
}

  
.locksmith-location-edit {
    padding: .95rem;
    border: 1px dashed rgba(120, 130, 150, .45);
    border-radius: var(--r-lg);
    background: rgba(255, 255, 255, .62);
}

.locksmith-location-edit-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: .72rem;
}

.locksmith-location-edit label {
    display: grid;
    gap: .28rem;
    color: var(--c-muted);
    font-size: .78rem;
    font-weight: 850;
}

.locksmith-location-edit label > span {
    text-transform: uppercase;
    letter-spacing: .045em;
}

.locksmith-location-edit input,
.locksmith-location-edit select,
.locksmith-location-edit textarea {
    width: 100%;
    border: 1px solid var(--c-border);
    border-radius: var(--r-md);
    background: rgba(255, 255, 255, .86);
    color: var(--c-text);
    padding: .64rem .72rem;
    font: inherit;
    font-weight: 750;
}

.locksmith-location-edit textarea {
    resize: vertical;
    min-height: 4.2rem;
}

.locksmith-location-edit-wide {
    grid-column: 1 / -1;
}

.locksmith-location-edit-actions {
    display: flex;
    justify-content: flex-end;
    margin-top: .82rem;
}

.locksmith-location-table-wrap {
    background: rgba(255, 255, 255, .72);
}

.locksmith-location-table th,
.locksmith-location-table td {
    vertical-align: top;
}

.locksmith-location-table td {
    color: var(--c-muted);
}

.locksmith-location-table td strong {
    display: block;
    color: var(--c-text);
    line-height: 1.25;
}

.locksmith-location-table td small {
    display: block;
    margin-top: .22rem;
    color: var(--c-muted);
    line-height: 1.35;
}

.locksmith-location-limit {
    margin-top: var(--sp-sm);
}

@media (max-width: 920px) {
    .locksmith-location-edit-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 920px) {
    .locksmith-location-summary {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 560px) {
    .locksmith-location-edit-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 560px) {
    .locksmith-location-summary {
        grid-template-columns: 1fr;
    }
}

 

 
.warehouse-kpi-link {
    color: inherit;
    text-decoration: none;
}

.warehouse-kpi-link:focus-visible {
    outline: 3px solid rgba(32, 97, 174, .32);
    outline-offset: 3px;
}

.warehouse-product-location-page .workspace-side .panel {
    position: sticky;
    top: var(--sp-lg);
}

.warehouse-product-location-table th,
.warehouse-product-location-table td {
    vertical-align: top;
}

 

 
.recipe-work-correction-box {
    margin-top: .8rem;
    border: 1px dashed var(--c-border);
    border-radius: var(--r-lg);
    background: rgba(255, 255, 255, .58);
    padding: .62rem .72rem;
}

.recipe-work-correction-box summary {
    cursor: pointer;
    font-weight: 850;
    color: var(--c-text);
}

.recipe-work-correction-box[open] summary {
    margin-bottom: .72rem;
}

.recipe-work-correction-form {
    display: grid;
    gap: .72rem;
}

.recipe-work-correction-form .field {
    margin: 0;
}

 

 
.recipe-component-map {
    display: grid;
    gap: 1rem;
}

.recipe-component-group {
    border: 1px solid var(--c-border);
    border-radius: var(--r-lg);
    background: rgba(255, 255, 255, .52);
    overflow: hidden;
}

.recipe-component-group__head {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    align-items: flex-start;
    padding: .78rem .9rem;
    background: rgba(248, 250, 252, .74);
    border-bottom: 1px dashed var(--c-border);
}

.recipe-component-group__head strong {
    display: block;
    color: var(--c-text);
    font-size: .98rem;
    font-weight: 950;
    line-height: 1.15;
}

.recipe-component-group__head span,
.recipe-component-group__head small {
    color: var(--c-muted);
    font-size: .78rem;
    font-weight: 750;
    line-height: 1.35;
}

.recipe-parameter-list {
    display: grid;
    gap: .55rem;
    padding: .72rem;
}

.recipe-work-page .recipe-parameter-row.parameter-row {
    display: grid;
    grid-template-columns: minmax(11rem, .72fr) minmax(20rem, 1.5fr) minmax(12rem, .55fr);
    gap: .72rem;
    align-items: start;
    padding: .72rem;
    border: 1px solid rgba(148, 163, 184, .34);
    border-radius: var(--r-md);
    background: rgba(255, 255, 255, .76);
}

.recipe-work-page .recipe-parameter-row.is-overridden {
    background: rgba(255, 251, 235, .72);
    border-color: rgba(245, 158, 11, .38);
}

.recipe-parameter-row__name {
    display: grid;
    gap: .18rem;
    min-width: 0;
}

.recipe-parameter-row__name strong {
    color: var(--c-text);
    font-weight: 950;
    line-height: 1.18;
}

.recipe-parameter-row__name span {
    color: var(--c-muted);
    font-size: .74rem;
    font-weight: 800;
    overflow-wrap: anywhere;
}

.recipe-parameter-row__values {
    display: grid;
    grid-template-columns: repeat(4, minmax(6.5rem, 1fr));
    gap: .42rem;
}

.recipe-value-chip {
    display: grid;
    gap: .1rem;
    min-width: 0;
    padding: .46rem .52rem;
    border: 1px solid rgba(15, 23, 42, .08);
    border-radius: .78rem;
    background: rgba(248, 250, 252, .82);
}

.recipe-value-chip small {
    color: var(--c-muted);
    font-size: .68rem;
    font-weight: 850;
    line-height: 1.15;
}

.recipe-value-chip strong {
    color: var(--c-text);
    font-size: .92rem;
    font-weight: 950;
    line-height: 1.16;
    overflow-wrap: anywhere;
}

.recipe-value-chip em {
    color: var(--c-muted);
    font-size: .66rem;
    font-style: normal;
    font-weight: 800;
    line-height: 1.15;
    overflow-wrap: anywhere;
}

.recipe-value-chip.is-snapshot {
    background: rgba(14, 165, 233, .08);
    border-color: rgba(14, 165, 233, .24);
}

.recipe-value-chip.is-teamlead {
    background: rgba(245, 158, 11, .12);
    border-color: rgba(245, 158, 11, .34);
}

.recipe-value-chip.is-effective {
    background: rgba(22, 163, 74, .08);
    border-color: rgba(22, 163, 74, .26);
}

.recipe-value-chip.is-effective.is-teamlead {
    background: rgba(245, 158, 11, .16);
    border-color: rgba(245, 158, 11, .42);
}

.recipe-parameter-row__action {
    display: grid;
    gap: .45rem;
    justify-items: stretch;
}

.recipe-work-correction-box--row {
    margin-top: 0;
    padding: .5rem .58rem;
    background: rgba(255, 255, 255, .64);
}

.recipe-work-correction-box--row .field-grid {
    grid-template-columns: 1fr;
}

.recipe-parameter-row__note {
    grid-column: 2 / 4;
    color: var(--c-muted);
    font-size: .78rem;
    font-weight: 750;
    line-height: 1.35;
    padding-top: .05rem;
}

.recipe-parameter-row__note strong {
    color: var(--c-text);
}

@media (max-width: 1120px) {
    .recipe-work-page .recipe-parameter-row.parameter-row {
        grid-template-columns: 1fr;
    }

    .recipe-parameter-row__note {
        grid-column: 1;
    }
}

@media (max-width: 720px) {
    .recipe-component-group__head {
        flex-direction: column;
    }

    .recipe-parameter-row__values {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 480px) {
    .recipe-parameter-row__values {
        grid-template-columns: 1fr;
    }
}

 

 
.recipe-work-page .recipe-parameter-row.recipe-parameter-row--inline {
    display: grid;
    grid-template-columns: minmax(13rem, .72fr) minmax(22rem, 1.28fr) minmax(24rem, .98fr);
    gap: .72rem;
    align-items: center;
    padding: .68rem .72rem;
}

.recipe-parameter-row__text {
    display: grid;
    gap: .12rem;
    min-width: 0;
}

.recipe-parameter-row__text .parameter-row__name {
    font-size: .95rem;
    font-weight: 950;
    color: var(--c-text);
    line-height: 1.18;
}

.recipe-parameter-row__text .parameter-row__meta {
    color: var(--c-muted);
    font-size: .75rem;
    font-weight: 780;
    line-height: 1.28;
    overflow-wrap: anywhere;
}

.recipe-parameter-row__control {
    display: grid;
    grid-template-columns: auto minmax(8.5rem, 1fr) auto auto;
    gap: .42rem;
    align-items: center;
    justify-self: stretch;
}

.recipe-inline-value-control {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    min-width: 0;
    border: 2px solid rgba(148, 163, 184, .42);
    border-radius: .74rem;
    overflow: hidden;
    background: rgba(255, 255, 255, .82);
}

.recipe-inline-value-control input {
    width: 100%;
    min-width: 0;
    height: 2.95rem;
    border: 0;
    border-radius: 0;
    background: transparent;
    font-size: .98rem;
    font-weight: 850;
    padding: 0 .85rem;
    color: var(--c-text);
}

.recipe-inline-value-control input:focus {
    outline: none;
    box-shadow: none;
}

.recipe-inline-value-control .input-unit {
    height: 2.95rem;
    min-width: 3.25rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-left: 2px solid rgba(148, 163, 184, .30);
    color: var(--c-muted);
    font-weight: 900;
    background: rgba(248, 250, 252, .76);
}

.recipe-inline-submit {
    --icon-accent: var(--c-accent);
    appearance: none;
    border: 2px solid rgba(203, 213, 225, .95);
    border-radius: .72rem;
    width: 3.25rem;
    height: 3.25rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: var(--icon-accent);
    color: #fff;
    cursor: pointer;
    box-shadow: 0 8px 18px rgba(15, 23, 42, .08);
}

.recipe-inline-submit svg {
    width: 1.28rem;
    height: 1.28rem;
    fill: none;
    stroke: currentColor;
    stroke-width: 2.2;
    stroke-linecap: square;
    stroke-linejoin: round;
}

.recipe-inline-submit.is-heat { --icon-accent: #ea580c; }
.recipe-inline-submit.is-cooling { --icon-accent: #0891b2; }
.recipe-inline-submit.is-pressure { --icon-accent: #7c3aed; }
.recipe-inline-submit.is-air { --icon-accent: #64748b; }
.recipe-inline-submit.is-ok { --icon-accent: #16a34a; }

.recipe-parameter-row__reason {
    grid-column: 3;
    min-width: 0;
}

.recipe-parameter-row__reason input {
    width: 100%;
    min-width: 0;
    height: 2.3rem;
    border-radius: .7rem;
    font-size: .78rem;
    font-weight: 760;
    background: rgba(248, 250, 252, .78);
}

.recipe-parameter-row__reset {
    grid-column: 3;
    justify-self: end;
}

.recipe-parameter-row__note {
    color: var(--c-muted);
    font-size: .75rem;
    font-weight: 750;
    line-height: 1.32;
    padding-top: .08rem;
}

@media (max-width: 1260px) {
    .recipe-work-page .recipe-parameter-row.recipe-parameter-row--inline {
        grid-template-columns: 1fr;
        align-items: stretch;
    }

    .recipe-parameter-row__reason,
    .recipe-parameter-row__reset {
        grid-column: 1;
    }
}

@media (max-width: 720px) {
    .recipe-parameter-row__control {
        grid-template-columns: 1fr 1fr;
    }

    .recipe-inline-value-control {
        grid-column: 1 / 3;
        order: -1;
    }

    .recipe-inline-submit {
        width: 100%;
    }
}

 

 
.recipe-component-map {
    gap: .9rem;
}

.recipe-component-group {
    border-color: rgba(148, 163, 184, .34);
    background: rgba(255, 255, 255, .62);
    box-shadow: 0 10px 24px rgba(15, 23, 42, .035);
}

.recipe-component-group__head {
    align-items: center;
    padding: .72rem .82rem;
    background: rgba(248, 250, 252, .82);
}

.recipe-component-group__title {
    display: grid;
    gap: .16rem;
    min-width: 0;
}

.recipe-component-group__head strong {
    font-size: 1rem;
    letter-spacing: -.01em;
}

.recipe-component-group__head span {
    max-width: 64rem;
}

.recipe-component-group__count {
    white-space: nowrap;
    align-self: center;
    border: 1px solid rgba(148, 163, 184, .34);
    border-radius: 999px;
    background: rgba(255, 255, 255, .72);
    color: var(--c-muted);
    font-size: .72rem;
    font-weight: 900;
    padding: .28rem .52rem;
}

.recipe-parameter-list {
    gap: .5rem;
    padding: .62rem;
}

.recipe-work-page .recipe-parameter-row.recipe-parameter-row--inline {
    grid-template-columns: minmax(12rem, .74fr) minmax(24rem, 1.35fr) minmax(22rem, .9fr);
    gap: .62rem;
    align-items: center;
    padding: .62rem .68rem;
    border-color: rgba(148, 163, 184, .24);
    background: rgba(255, 255, 255, .72);
    box-shadow: none;
}

.recipe-work-page .recipe-parameter-row.recipe-parameter-row--inline + .recipe-parameter-row.recipe-parameter-row--inline {
    margin-top: 0;
}

.recipe-work-page .recipe-parameter-row.recipe-parameter-row--inline.is-overridden {
    background: linear-gradient(90deg, rgba(245, 158, 11, .08), rgba(255, 255, 255, .72) 42%);
    border-color: rgba(245, 158, 11, .26);
}

.recipe-parameter-row__text {
    gap: .18rem;
}

.recipe-parameter-row__text .parameter-row__name {
    font-size: .98rem;
    letter-spacing: -.01em;
}

.recipe-parameter-row__text .parameter-row__meta {
    font-size: .72rem;
    line-height: 1.24;
}

.recipe-parameter-row__note {
    margin-top: .14rem;
    padding: .28rem .42rem;
    border: 1px dashed rgba(245, 158, 11, .28);
    border-radius: .58rem;
    background: rgba(255, 251, 235, .48);
    color: #92400e;
    font-size: .7rem;
}

.recipe-parameter-row__values {
    display: flex;
    flex-wrap: wrap;
    gap: .32rem;
    align-items: center;
}

.recipe-value-chip {
    display: inline-flex;
    align-items: baseline;
    gap: .26rem;
    min-width: 0;
    padding: .26rem .42rem;
    border-radius: 999px;
    background: rgba(248, 250, 252, .72);
    border-color: rgba(148, 163, 184, .26);
    white-space: nowrap;
}

.recipe-value-chip__label,
.recipe-value-chip small {
    color: var(--c-muted);
    font-size: .65rem;
    font-weight: 900;
    line-height: 1;
}

.recipe-value-chip__value,
.recipe-value-chip strong {
    color: var(--c-text);
    font-size: .78rem;
    font-weight: 950;
    line-height: 1;
}

.recipe-value-chip__source,
.recipe-value-chip em {
    max-width: 11rem;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    color: var(--c-muted);
    font-size: .62rem;
    font-weight: 760;
    line-height: 1;
}

.recipe-value-chip.is-effective {
    border-color: rgba(22, 163, 74, .28);
    background: rgba(22, 163, 74, .08);
}

.recipe-value-chip.is-effective .recipe-value-chip__label,
.recipe-value-chip.is-effective small,
.recipe-value-chip.is-effective .recipe-value-chip__value,
.recipe-value-chip.is-effective strong {
    color: #166534;
}

.recipe-value-chip.is-teamlead,
.recipe-value-chip.is-effective.is-teamlead {
    border-color: rgba(245, 158, 11, .34);
    background: rgba(245, 158, 11, .11);
}

.recipe-value-chip.is-teamlead .recipe-value-chip__label,
.recipe-value-chip.is-teamlead small,
.recipe-value-chip.is-teamlead .recipe-value-chip__value,
.recipe-value-chip.is-teamlead strong,
.recipe-value-chip.is-effective.is-teamlead .recipe-value-chip__label,
.recipe-value-chip.is-effective.is-teamlead small,
.recipe-value-chip.is-effective.is-teamlead .recipe-value-chip__value,
.recipe-value-chip.is-effective.is-teamlead strong {
    color: #92400e;
}

.recipe-parameter-row__right {
    display: grid;
    gap: .38rem;
    align-items: center;
    min-width: 0;
}

.recipe-parameter-row__control {
    grid-template-columns: auto minmax(8rem, 1fr) auto auto;
    gap: .34rem;
    align-items: center;
}

.recipe-adjust-btn {
    appearance: none;
    border: 1px solid rgba(148, 163, 184, .28);
    border-radius: .6rem;
    min-width: 2.75rem;
    height: 2.42rem;
    padding: 0 .58rem;
    background: rgba(241, 245, 249, .82);
    color: var(--c-text);
    font-weight: 950;
    cursor: pointer;
}

.recipe-adjust-btn:hover {
    background: rgba(226, 232, 240, .92);
}

.recipe-inline-value-control {
    border-width: 1px;
    border-radius: .64rem;
    background: rgba(255, 255, 255, .88);
}

.recipe-inline-value-control input {
    height: 2.42rem;
    font-size: .9rem;
    padding: 0 .68rem;
}

.recipe-inline-value-control .input-unit {
    height: 2.42rem;
    min-width: 2.9rem;
    border-left-width: 1px;
    font-size: .78rem;
}

.recipe-inline-submit {
    width: 2.42rem;
    height: 2.42rem;
    border-width: 1px;
    border-radius: .64rem;
    box-shadow: none;
}

.recipe-inline-submit svg {
    width: 1.06rem;
    height: 1.06rem;
}

.recipe-parameter-row__reason {
    grid-column: auto;
    min-width: 0;
    justify-self: stretch;
}

.recipe-parameter-row__reason summary {
    cursor: pointer;
    width: fit-content;
    color: var(--c-muted);
    font-size: .7rem;
    font-weight: 850;
    line-height: 1.2;
    list-style: none;
}

.recipe-parameter-row__reason summary::-webkit-details-marker {
    display: none;
}

.recipe-parameter-row__reason summary::after {
    content: ' →';
}

.recipe-parameter-row__reason[open] summary {
    margin-bottom: .32rem;
    color: var(--c-text);
}

.recipe-parameter-row__reason input {
    height: 2.12rem;
    border-radius: .58rem;
    font-size: .74rem;
    background: rgba(248, 250, 252, .82);
}

.recipe-parameter-row__reset {
    grid-column: auto;
    justify-self: start;
}

@media (max-width: 1320px) {
    .recipe-work-page .recipe-parameter-row.recipe-parameter-row--inline {
        grid-template-columns: minmax(12rem, .8fr) minmax(20rem, 1.2fr);
    }

    .recipe-parameter-row__right {
        grid-column: 1 / -1;
    }

    .recipe-parameter-row__control {
        max-width: 36rem;
    }
}

@media (max-width: 860px) {
    .recipe-work-page .recipe-parameter-row.recipe-parameter-row--inline {
        grid-template-columns: 1fr;
        align-items: stretch;
    }

    .recipe-parameter-row__right,
    .recipe-parameter-row__control {
        grid-column: 1;
        max-width: none;
    }

    .recipe-component-group__head {
        align-items: flex-start;
    }
}

@media (max-width: 560px) {
    .recipe-parameter-row__control {
        grid-template-columns: 1fr 1fr;
    }

    .recipe-inline-value-control {
        grid-column: 1 / -1;
        order: -1;
    }

    .recipe-inline-submit {
        width: 100%;
    }

    .recipe-adjust-btn {
        width: 100%;
    }
}

 

 
.capability-workbench .metric-grid .metric strong {
    word-break: break-word;
}

.capability-layout {
    align-items: flex-start;
}

.capability-nav .visual-object-list {
    max-height: 42vh;
    overflow: auto;
    padding-right: 2px;
}

.capability-machine-select {
    margin-bottom: 14px;
}

.capability-group-summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 14px 16px;
    border: 1px solid var(--c-line);
    border-radius: var(--radius-md);
    background: rgba(255,255,255,.52);
    margin-bottom: 14px;
}

.capability-group-summary strong {
    display: block;
    font-size: 1.08rem;
    letter-spacing: -.01em;
}

.capability-group-summary span {
    display: block;
    color: var(--c-muted);
    font-weight: 700;
    font-size: .84rem;
    margin-top: 3px;
}

.capability-parameter-table {
    display: grid;
    gap: 10px;
}

.capability-parameter-row {
    display: grid;
    grid-template-columns: minmax(210px, 1fr) minmax(260px, auto);
    gap: 14px;
    align-items: center;
    padding: 13px 14px;
    border: 1px solid var(--c-line);
    border-radius: var(--radius-md);
    background: rgba(255,255,255,.58);
    text-decoration: none;
    color: inherit;
}

.capability-parameter-row:hover,
.capability-parameter-row.is-current {
    border-color: rgba(24, 91, 130, .28);
    background: rgba(255,255,255,.76);
}

.capability-parameter-row strong {
    display: block;
    font-size: 1rem;
}

.capability-parameter-row span {
    display: block;
    color: var(--c-muted);
    font-size: .82rem;
    font-weight: 700;
    margin-top: 3px;
}

.capability-preview-card {
    border: 1px dashed var(--c-line-strong);
    border-radius: var(--radius-lg);
    background: rgba(255,255,255,.44);
    padding: 14px;
}

.capability-preview-card__head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding-bottom: 12px;
    margin-bottom: 12px;
    border-bottom: 1px dashed var(--c-line);
}

.capability-preview-card__head strong {
    display: block;
    font-size: 1.05rem;
}

.capability-preview-card__head span {
    display: block;
    color: var(--c-muted);
    font-weight: 700;
    font-size: .84rem;
    margin-top: 3px;
}

.capability-preview-rows {
    display: grid;
    gap: 8px;
}

.capability-preview-row {
    display: grid;
    grid-template-columns: minmax(180px, 1fr) minmax(260px, auto);
    gap: 12px;
    align-items: center;
    padding: 10px 12px;
    border: 1px solid var(--c-line);
    border-radius: var(--radius-md);
    background: rgba(255,255,255,.56);
}

.capability-preview-row strong {
    display: block;
}

.capability-preview-row span {
    display: block;
    color: var(--c-muted);
    font-size: .82rem;
    font-weight: 700;
}

.capability-compact-form .stacked-checks {
    display: grid;
    gap: 6px;
    align-content: start;
    padding-top: 2px;
}

@media (max-width: 980px) {
    .capability-parameter-row,
    .capability-preview-row,
    .capability-group-summary {
        display: block;
    }
    .capability-parameter-row .recipe-value-chip-row,
    .capability-preview-row .recipe-value-chip-row {
        margin-top: 10px;
    }
    .capability-group-summary .btn {
        margin-top: 12px;
    }
}

 

 
.modal > form.capability-modal-form {
    display: contents;
}

.modal--capability .modal__body {
    min-height: 0;
}

.capability-modal-stack {
    display: grid;
    gap: .85rem;
}

.capability-group-summary {
    margin-bottom: .85rem;
}

.capability-parameter-row {
    text-decoration: none;
}

.capability-parameter-row .recipe-value-chip-row {
    align-items: center;
    justify-content: flex-end;
}

.capability-parameter-row .btn {
    margin-left: .25rem;
}

.capability-panel-note {
    margin-top: .75rem;
}

@media (max-width: 720px) {
    .capability-parameter-row .recipe-value-chip-row {
        justify-content: flex-start;
    }
}


 

 
.capability-layout {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: var(--sp-lg);
    width: 100%;
}

.capability-layout > .workspace-side,
.capability-layout > .workspace-main,
.capability-layout .panel,
.capability-layout .panel__body {
    min-width: 0;
}

.capability-nav .visual-object-list {
    max-height: 32vh;
}

.capability-scope-list,
.capability-group-list {
    display: grid;
    gap: .55rem;
}

.capability-layout .visual-object-card {
    min-width: 0;
}

.capability-layout .visual-object-card strong,
.capability-layout .visual-object-card span {
    overflow-wrap: anywhere;
}

.capability-group-summary {
    align-items: flex-start;
    background: rgba(255,255,255,.64);
}

.capability-group-summary .recipe-value-chip-row,
.capability-parameter-row .recipe-value-chip-row,
.capability-preview-row .recipe-value-chip-row {
    flex-wrap: wrap;
    justify-content: flex-start;
}

.capability-parameter-row {
    grid-template-columns: minmax(180px, .85fr) minmax(0, 1.15fr);
    background: rgba(255,255,255,.68);
}

.capability-parameter-row .btn {
    margin-left: 0;
}

.capability-preview-card {
    border-style: solid;
    background: rgba(255,255,255,.62);
}

.capability-preview-card__head {
    border-bottom-color: var(--c-line);
}

.capability-preview-rows {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-items: stretch;
}

.capability-preview-row {
    grid-template-columns: 1fr;
    gap: .5rem;
    align-content: start;
    min-width: 0;
}

.capability-preview-row .recipe-value-chip-row {
    gap: .35rem;
}

.capability-preview-row .recipe-value-chip {
    max-width: 100%;
    white-space: normal;
}

.capability-panel-note,
.capability-preview-hint {
    border: 1px dashed var(--c-line);
    background: rgba(255,255,255,.5);
    border-radius: var(--radius-md);
    padding: .7rem .8rem;
    color: var(--c-muted);
    font-weight: 700;
    line-height: 1.35;
}

@media (max-width: 1180px) {
    .capability-layout {
        grid-template-columns: 1fr;
    }
    .capability-nav .visual-object-list {
        max-height: none;
    }
}

@media (max-width: 720px) {
    .capability-preview-rows {
        grid-template-columns: 1fr;
    }
    .capability-parameter-row {
        grid-template-columns: 1fr;
    }
}

.capability-preview-hint + .capability-preview-card {
    margin-top: .75rem;
}

 

 
.capability-preview-card--recipe {
    border: 1px solid rgba(148, 163, 184, .24);
    background: rgba(255, 255, 255, .66);
    box-shadow: 0 1rem 2.4rem rgba(15, 23, 42, .045);
}

.capability-preview-card--recipe .capability-preview-card__head {
    border-bottom: 1px solid rgba(148, 163, 184, .22);
}

.capability-preview-param-list,
.capability-preview-cycle-list {
    display: grid;
    gap: .5rem;
}

.capability-preview-param-row {
    display: grid;
    grid-template-columns: minmax(10.5rem, .7fr) minmax(16rem, 1fr) minmax(13rem, auto);
    gap: .52rem;
    align-items: center;
    min-width: 0;
    padding: .58rem .62rem;
    border: 1px solid rgba(148, 163, 184, .24);
    border-radius: .78rem;
    background: rgba(255, 255, 255, .7);
}

.capability-preview-param-list.is-axis-loop .capability-preview-param-row {
    grid-template-columns: minmax(12rem, 1fr) minmax(15rem, auto);
}

.capability-preview-param-text {
    min-width: 0;
}

.capability-preview-param-text strong {
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    color: var(--c-text);
    font-size: .9rem;
    font-weight: 950;
    line-height: 1.12;
}

.capability-preview-param-text span {
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    color: var(--c-muted);
    font-size: .68rem;
    font-weight: 780;
    line-height: 1.25;
    margin-top: .14rem;
}

.capability-preview-sources {
    display: flex;
    flex-wrap: wrap;
    gap: .28rem;
    align-items: center;
    min-width: 0;
}

.capability-preview-param-control {
    display: flex;
    justify-content: flex-end;
    min-width: 0;
}

.capability-preview-control {
    display: inline-grid;
    grid-template-columns: auto minmax(6.9rem, 1fr) auto;
    align-items: center;
    gap: .24rem;
    min-width: 0;
    white-space: nowrap;
}

.capability-preview-adjust,
.capability-preview-value-unit,
.capability-preview-soft-chip {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: 2rem;
    border: 1px solid rgba(148, 163, 184, .28);
    border-radius: .58rem;
    background: rgba(248, 250, 252, .76);
    color: var(--c-text);
    font-size: .74rem;
    font-weight: 900;
    line-height: 1;
}

.capability-preview-adjust {
    min-width: 2.7rem;
    padding: 0 .48rem;
}

.capability-preview-value-unit {
    display: inline-grid;
    grid-template-columns: minmax(3.9rem, 1fr) auto;
    align-items: stretch;
    min-width: 6.4rem;
    overflow: hidden;
    background: rgba(255, 255, 255, .86);
    border-color: rgba(148, 163, 184, .36);
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .32);
}

.capability-preview-value,
.capability-preview-unit {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: 100%;
    min-height: 0;
    border: 0;
    background: transparent;
    font-size: .74rem;
    font-weight: 900;
    line-height: 1;
}

.capability-preview-value {
    min-width: 3.9rem;
    padding: 0 .72rem;
    color: var(--c-text);
}

.capability-preview-unit {
    min-width: 2.6rem;
    padding: 0 .62rem;
    color: var(--c-muted);
    border-left: 1px solid rgba(148, 163, 184, .28);
    background: rgba(241, 245, 249, .78);
}

.capability-preview-soft-chip {
    height: auto;
    min-height: 1.85rem;
    padding: .34rem .52rem;
    color: var(--c-muted);
}

.capability-preview-cycle-row {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .5rem;
    min-width: 0;
    padding: .58rem .62rem;
    border: 1px solid rgba(148, 163, 184, .24);
    border-radius: .78rem;
    background: rgba(255, 255, 255, .7);
}

.capability-preview-cycle-label {
    min-width: 4.7rem;
    color: var(--c-text);
    font-size: .9rem;
    font-weight: 950;
    white-space: nowrap;
}

.capability-preview-cycle-control {
    display: inline-flex;
    align-items: center;
    gap: .34rem;
    min-width: 0;
}

.capability-preview-cycle-control > span:first-child {
    color: var(--c-muted);
    font-size: .72rem;
    font-weight: 900;
    white-space: nowrap;
}

.capability-preview-toggle {
    --preview-toggle-accent: #64748b;
    display: inline-flex;
    align-items: center;
    gap: .34rem;
    min-height: 2rem;
    padding: .3rem .5rem;
    border: 1px solid rgba(148, 163, 184, .28);
    border-radius: .62rem;
    background: rgba(248, 250, 252, .76);
    color: var(--c-text);
    white-space: nowrap;
}

.capability-preview-toggle.is-air { --preview-toggle-accent: #64748b; }
.capability-preview-toggle.is-water { --preview-toggle-accent: #0284c7; }

.capability-preview-toggle svg {
    width: 1.05rem;
    height: 1.05rem;
    flex: 0 0 auto;
    fill: none;
    stroke: var(--preview-toggle-accent);
    stroke-width: 2;
    stroke-linecap: square;
    stroke-linejoin: round;
}

.capability-preview-toggle strong {
    color: var(--c-text);
    font-size: .76rem;
    font-weight: 950;
    line-height: 1;
}

.capability-preview-toggle em {
    color: var(--c-muted);
    font-size: .66rem;
    font-style: normal;
    font-weight: 800;
    line-height: 1;
}

.capability-preview-card--recipe .recipe-value-chip {
    min-height: 1.62rem;
    padding: .22rem .36rem;
}

.capability-preview-card--recipe .recipe-value-chip small,
.capability-preview-card--recipe .recipe-value-chip strong {
    font-size: .64rem;
}

@media (max-width: 1480px) {
    .capability-preview-param-row {
        grid-template-columns: minmax(10rem, .8fr) minmax(12rem, 1fr);
    }

    .capability-preview-param-control {
        grid-column: 1 / -1;
        justify-content: flex-start;
    }

    .capability-preview-param-list.is-axis-loop .capability-preview-param-row {
        grid-template-columns: minmax(10rem, .8fr) minmax(12rem, auto);
    }

    .capability-preview-param-list.is-axis-loop .capability-preview-param-control {
        grid-column: auto;
    }
}

@media (max-width: 860px) {
    .capability-preview-param-row,
    .capability-preview-param-list.is-axis-loop .capability-preview-param-row {
        grid-template-columns: 1fr;
    }

    .capability-preview-param-control,
    .capability-preview-param-list.is-axis-loop .capability-preview-param-control {
        grid-column: 1;
        justify-content: flex-start;
    }

    .capability-preview-control {
        width: 100%;
    }
}


 

 
.capability-preview-param-list:not(.is-axis-loop) .capability-preview-param-row {
    grid-template-columns: minmax(10.5rem, .8fr) minmax(7.4rem, .32fr) minmax(13rem, auto);
}

.capability-preview-card--recipe .capability-preview-sources {
    flex-wrap: nowrap;
}

.capability-preview-source-summary {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: auto;
    min-width: 7.2rem;
    min-height: 1.9rem;
    padding: .28rem .58rem;
    border-style: dashed;
    background: rgba(248, 250, 252, .64);
    white-space: nowrap;
}

.capability-preview-card--recipe .capability-preview-source-summary strong {
    color: var(--c-muted);
    font-size: .68rem;
    font-weight: 900;
    letter-spacing: .01em;
}

@media (max-width: 1480px) {
    .capability-preview-param-list:not(.is-axis-loop) .capability-preview-param-row {
        grid-template-columns: minmax(10rem, .8fr) minmax(7.4rem, .32fr) minmax(13rem, auto);
    }

    .capability-preview-param-list:not(.is-axis-loop) .capability-preview-param-control {
        grid-column: auto;
        justify-content: flex-end;
    }
}

@media (max-width: 1040px) {
    .capability-preview-param-list:not(.is-axis-loop) .capability-preview-param-row {
        grid-template-columns: minmax(10rem, .8fr) minmax(7.4rem, .32fr);
    }

    .capability-preview-param-list:not(.is-axis-loop) .capability-preview-param-control {
        grid-column: 1 / -1;
        justify-content: flex-start;
    }
}

 

 
.capability-workbench > .metric-grid.metric-grid--4 {
    gap: .72rem;
    margin-bottom: .72rem;
}

.capability-workbench > .metric-grid.metric-grid--4 .metric-card {
    display: grid;
    align-content: start;
    min-height: 4.05rem;
    padding: .78rem .9rem;
    border-radius: .82rem;
    background: rgba(255, 255, 255, .74);
    border-color: rgba(148, 163, 184, .24);
    box-shadow: 0 10px 24px rgba(15, 23, 42, .035);
    overflow: hidden;
}

.capability-workbench > .metric-grid.metric-grid--4 .metric-label {
    display: block;
    margin: 0;
    color: var(--c-muted);
    font-size: .62rem;
    line-height: 1;
    letter-spacing: .055em;
}

.capability-workbench > .metric-grid.metric-grid--4 .metric-value {
    display: block;
    margin-top: .35rem;
    color: var(--c-text);
    font-size: clamp(1.02rem, 1.45vw, 1.34rem);
    line-height: 1.08;
    letter-spacing: -.025em;
    overflow-wrap: anywhere;
}

.capability-workbench > .metric-grid.metric-grid--4 .metric-hint {
    margin: .32rem 0 0;
    color: var(--c-muted);
    font-size: .72rem;
    line-height: 1.15;
    font-weight: 750;
    overflow-wrap: anywhere;
}

.capability-definition-summary {
    align-items: center;
    margin-bottom: .8rem;
    padding: .82rem .95rem;
    border-radius: .78rem;
    background: linear-gradient(135deg, rgba(255,255,255,.78), rgba(248,250,252,.62));
}

.capability-definition-summary__main {
    min-width: 0;
}

.capability-definition-eyebrow {
    display: block;
    margin-bottom: .2rem;
    color: var(--c-muted);
    font-size: .62rem;
    font-weight: 950;
    line-height: 1;
    letter-spacing: .06em;
    text-transform: uppercase;
}

.capability-definition-summary__meta {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: .35rem;
    min-width: fit-content;
}

.capability-definition-summary__meta span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 1.75rem;
    margin: 0;
    padding: .26rem .56rem;
    border: 1px solid rgba(148, 163, 184, .24);
    border-radius: 999px;
    background: rgba(248, 250, 252, .72);
    color: var(--c-muted);
    font-size: .68rem;
    font-weight: 900;
    line-height: 1;
}

.capability-definition-list {
    gap: .55rem;
}

.capability-definition-param {
    grid-template-columns: minmax(0, 1fr) auto;
    gap: .85rem;
    align-items: center;
    padding: .78rem .85rem;
    border-radius: .78rem;
    background: rgba(255,255,255,.7);
}

.capability-definition-param__main {
    min-width: 0;
}

.capability-definition-param__main strong {
    display: block;
    font-size: .93rem;
    line-height: 1.16;
}

.capability-definition-param__main > span {
    display: block;
    margin-top: .18rem;
    color: var(--c-muted);
    font-size: .72rem;
    font-weight: 760;
    line-height: 1.2;
    overflow-wrap: anywhere;
}

.capability-definition-param__chips {
    display: flex;
    flex-wrap: wrap;
    gap: .28rem;
    margin-top: .48rem;
}

.capability-definition-param__chips em {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 1.42rem;
    padding: .18rem .46rem;
    border: 1px solid rgba(148, 163, 184, .2);
    border-radius: 999px;
    background: rgba(248, 250, 252, .66);
    color: var(--c-muted);
    font-size: .64rem;
    font-style: normal;
    font-weight: 850;
    line-height: 1;
    white-space: nowrap;
}

.capability-definition-param > .btn {
    justify-self: end;
    align-self: center;
    margin: 0;
}

@media (max-width: 980px) {
    .capability-workbench > .metric-grid.metric-grid--4 {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .capability-definition-summary,
    .capability-definition-param {
        display: grid;
        grid-template-columns: 1fr;
    }

    .capability-definition-summary__meta,
    .capability-definition-param > .btn {
        justify-content: flex-start;
        justify-self: start;
    }
}

@media (max-width: 560px) {
    .capability-workbench > .metric-grid.metric-grid--4 {
        grid-template-columns: 1fr;
    }
}

 

 
.capability-blueprint-machine {
    margin-bottom: .75rem;
}

.capability-blueprint {
    border: 1px solid rgba(0, 105, 137, .18);
    border-radius: .95rem;
    padding: .8rem;
    background:
        linear-gradient(90deg, rgba(0,105,137,.05) 1px, transparent 1px),
        linear-gradient(0deg, rgba(0,105,137,.05) 1px, transparent 1px),
        rgba(248, 252, 253, .78);
    background-size: 24px 24px;
}

.capability-blueprint__head {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: .75rem;
    margin-bottom: .72rem;
    padding: .18rem .16rem .62rem;
    border-bottom: 1px dashed rgba(0, 105, 137, .18);
}

.capability-blueprint__head strong,
.capability-armtype-blueprint__title strong {
    display: block;
    color: var(--c-text);
    font-size: .92rem;
    font-weight: 950;
    line-height: 1.1;
}

.capability-blueprint__head span,
.capability-armtype-blueprint__title span {
    display: block;
    margin-top: .2rem;
    color: var(--c-muted);
    font-size: .72rem;
    font-weight: 760;
    line-height: 1.28;
}

.capability-blueprint__head em {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    min-height: 1.55rem;
    padding: .2rem .5rem;
    border: 1px solid rgba(148, 163, 184, .22);
    border-radius: 999px;
    background: rgba(255,255,255,.7);
    color: var(--c-muted);
    font-size: .62rem;
    font-style: normal;
    font-weight: 900;
    line-height: 1;
    white-space: nowrap;
}

.capability-blueprint-route {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .58rem;
}

.capability-blueprint-node {
    position: relative;
    display: grid;
    align-content: start;
    gap: .18rem;
    min-height: 5.15rem;
    padding: .7rem .72rem .66rem;
    border: 1px solid rgba(0, 105, 137, .2);
    border-radius: .8rem;
    background: rgba(255,255,255,.72);
    color: inherit;
    text-decoration: none;
    box-shadow: 0 8px 18px rgba(15, 23, 42, .025);
}

.capability-blueprint-node:hover,
.capability-blueprint-node.is-current,
.capability-armtype-card:hover,
.capability-armtype-card.is-current {
    border-color: rgba(32, 97, 174, .42);
    background: rgba(255,255,255,.9);
    box-shadow: 0 0 0 .16rem rgba(32, 97, 174, .08);
}

.capability-blueprint-node__index {
    position: absolute;
    top: .52rem;
    right: .52rem;
    color: rgba(32, 97, 174, .42);
    font-size: .62rem;
    font-weight: 950;
    letter-spacing: .04em;
}

.capability-blueprint-node strong {
    display: block;
    padding-right: 1.65rem;
    color: var(--c-text);
    font-size: .86rem;
    font-weight: 950;
    line-height: 1.12;
}

.capability-blueprint-node small {
    display: block;
    color: var(--c-muted);
    font-size: .66rem;
    font-weight: 800;
    line-height: 1.2;
    overflow-wrap: anywhere;
}

.capability-blueprint-node em,
.capability-armtype-card em {
    align-self: end;
    display: inline-flex;
    width: fit-content;
    max-width: 100%;
    margin-top: .38rem;
    padding: .24rem .5rem;
    border: 1px solid rgba(148, 163, 184, .2);
    border-radius: 999px;
    background: rgba(248, 250, 252, .74);
    color: var(--c-muted);
    font-size: .62rem;
    font-style: normal;
    font-weight: 900;
    line-height: 1;
    white-space: nowrap;
}

.capability-blueprint-node.is-current::before,
.capability-armtype-card.is-current::before {
    content: "";
    position: absolute;
    inset: .38rem auto .38rem .38rem;
    width: .18rem;
    border-radius: 999px;
    background: var(--c-primary);
}

.capability-armtype-blueprint {
    margin-top: .78rem;
    padding-top: .72rem;
    border-top: 1px dashed rgba(0, 105, 137, .18);
}

.capability-armtype-blueprint__title {
    margin-bottom: .55rem;
}

.capability-armtype-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .58rem;
}

.capability-armtype-card {
    position: relative;
    display: grid;
    gap: .46rem;
    min-height: 4.5rem;
    padding: .66rem .7rem;
    border: 1px solid rgba(0, 105, 137, .2);
    border-radius: .8rem;
    background: rgba(255,255,255,.72);
    color: inherit;
    text-decoration: none;
}

.capability-armtype-card__arm {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .5rem;
    padding: .38rem .48rem;
    border: 1px solid rgba(0, 105, 137, .17);
    border-radius: 999px;
    background: rgba(255,255,255,.72);
}

.capability-armtype-card__arm b {
    color: var(--c-primary);
    font-size: .9rem;
    font-weight: 950;
    line-height: 1;
}

.capability-armtype-card__arm small {
    color: var(--c-muted);
    font-size: .62rem;
    font-weight: 900;
    line-height: 1;
}

@media (max-width: 780px) {
    .capability-blueprint-route,
    .capability-armtype-grid {
        grid-template-columns: 1fr;
    }
}


 

 
.capability-layout--with-blueprint-header {
    margin-top: .95rem;
}

.capability-blueprint--header {
    padding: .86rem;
}

.capability-blueprint--header .capability-blueprint-machine {
    max-width: 24rem;
    margin-bottom: .7rem;
}

.capability-blueprint--header .capability-blueprint__head {
    align-items: center;
    margin-bottom: .76rem;
}

.capability-blueprint--header .capability-blueprint-route {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(9.2rem, 1fr));
    gap: .54rem;
}

.capability-blueprint--header .capability-blueprint-node {
    min-height: 4.55rem;
    padding: .62rem .66rem .58rem;
}

.capability-blueprint--header .capability-blueprint-node strong {
    font-size: .8rem;
}

.capability-blueprint--header .capability-blueprint-node small {
    font-size: .6rem;
}

.capability-blueprint--header .capability-blueprint-node em,
.capability-blueprint--header .capability-armtype-card em {
    font-size: .58rem;
    padding: .22rem .44rem;
}

.capability-blueprint--header .capability-armtype-blueprint {
    display: grid;
    grid-template-columns: minmax(10rem, .42fr) minmax(0, 1fr);
    gap: .7rem;
    align-items: stretch;
    margin-top: .72rem;
    padding-top: .7rem;
}

.capability-blueprint--header .capability-armtype-blueprint__title {
    display: grid;
    align-content: center;
    margin-bottom: 0;
    padding: .58rem .66rem;
    border: 1px dashed rgba(0, 105, 137, .2);
    border-radius: .8rem;
    background: rgba(255,255,255,.52);
}

.capability-blueprint--header .capability-armtype-grid {
    grid-template-columns: repeat(auto-fit, minmax(9rem, 1fr));
    align-items: stretch;
}

.capability-blueprint--header .capability-armtype-card {
    min-height: 3.85rem;
    padding: .54rem .58rem;
}

.capability-blueprint--header .capability-armtype-card__arm {
    padding: .34rem .44rem;
}

.capability-blueprint--header .capability-armtype-card__arm b {
    font-size: .82rem;
}

@media (max-width: 980px) {
    .capability-blueprint--header .capability-armtype-blueprint {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 720px) {
    .capability-blueprint--header .capability-blueprint-route,
    .capability-blueprint--header .capability-armtype-grid {
        grid-template-columns: 1fr;
    }
}


 

 
.panel--blueprint.capability-blueprint-panel {
    background: var(--bp-bg);
    border-color: rgba(0, 105, 137, .24);
    box-shadow: none;
    overflow: hidden;
}

.panel--blueprint.capability-blueprint-panel .panel__header {
    background: rgba(255, 255, 255, .58);
    border-bottom-color: rgba(0, 105, 137, .18);
}

.panel--blueprint.capability-blueprint-panel .panel__body {
    padding: var(--sp-md);
    background:
        linear-gradient(90deg, var(--bp-line) 1px, transparent 1px),
        linear-gradient(0deg, var(--bp-line) 1px, transparent 1px),
        var(--bp-bg);
    background-size: 28px 28px;
}

.capability-blueprint-panel-badge {
    display: inline-flex;
    align-items: center;
    min-height: 1.65rem;
    padding: .24rem .62rem;
    border: 1px solid rgba(148, 163, 184, .24);
    border-radius: 999px;
    background: rgba(255,255,255,.7);
    color: var(--c-muted);
    font-size: .64rem;
    font-weight: 950;
    line-height: 1;
    white-space: nowrap;
}

.capability-blueprint-panel .capability-blueprint--header {
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
}

.capability-blueprint-panel .capability-blueprint-route {
    gap: .62rem;
}

.capability-blueprint-panel .capability-blueprint-node {
    min-height: 5.15rem;
    padding: .72rem .74rem .68rem;
    border-color: rgba(0, 105, 137, .25);
    background: rgba(255,255,255,.78);
    box-shadow: 0 10px 20px rgba(15, 23, 42, .025);
}

.capability-blueprint-panel .capability-blueprint-node:hover,
.capability-blueprint-panel .capability-blueprint-node.is-current,
.capability-blueprint-panel .capability-armtype-card:hover,
.capability-blueprint-panel .capability-armtype-card.is-current {
    border-color: rgba(0, 105, 137, .48);
    background: rgba(255,255,255,.92);
    box-shadow: 0 0 0 .14rem rgba(0, 105, 137, .08), 0 12px 22px rgba(15, 23, 42, .035);
}

.capability-blueprint-panel .capability-blueprint-node.is-current::before,
.capability-blueprint-panel .capability-armtype-card.is-current::before {
    background: var(--bp-accent);
}

.capability-blueprint-panel .capability-armtype-blueprint {
    border-top-color: rgba(0, 105, 137, .22);
}

.capability-blueprint-panel .capability-armtype-blueprint__title {
    background: rgba(255,255,255,.62);
    border-color: rgba(0, 105, 137, .2);
}

.capability-blueprint-panel .capability-armtype-card {
    border-color: rgba(0, 105, 137, .24);
    background: rgba(255,255,255,.76);
    box-shadow: 0 10px 20px rgba(15, 23, 42, .02);
}

.capability-blueprint-panel .capability-armtype-card__arm {
    background: rgba(255,255,255,.74);
    border-color: rgba(0, 105, 137, .2);
}


 

 
.capability-blueprint-panel .capability-blueprint-node.is-empty,
.capability-blueprint-panel .capability-armtype-card.is-empty {
    opacity: .72;
}

.capability-blueprint-panel .capability-blueprint-node.is-processing,
.capability-blueprint-panel .capability-armtype-card.is-processing {
    border-color: var(--bp-accent);
}

.capability-blueprint-panel .capability-blueprint-node.needs-action,
.capability-blueprint-panel .capability-armtype-card.needs-action,
.capability-blueprint-panel .capability-blueprint-node.needs-action:hover,
.capability-blueprint-panel .capability-armtype-card.needs-action:hover {
    opacity: 1;
    border-color: #d97706;
    background: rgba(255,255,255,.94);
    box-shadow: 0 0 0 .15rem rgba(217, 119, 6, .12), 0 12px 22px rgba(15, 23, 42, .04);
}

.capability-blueprint-panel .capability-blueprint-node.needs-action::before,
.capability-blueprint-panel .capability-armtype-card.needs-action::before {
    background: #d97706;
}

 

 
.capability-blueprint-panel .capability-blueprint-node.is-current::before,
.capability-blueprint-panel .capability-armtype-card.is-current::before,
.capability-blueprint-panel .capability-blueprint-node.needs-action::before,
.capability-blueprint-panel .capability-armtype-card.needs-action::before {
    display: none;
    content: none;
}

 

 
.rotation-build-workbench {
    gap: .95rem;
}

.panel--blueprint.capability-blueprint-panel.rotation-build-blueprint-panel .panel__body {
    padding: var(--sp-md);
}

.rotation-build-blueprint {
    display: grid;
    gap: .86rem;
}

.rotation-build-route {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(9.5rem, 1fr));
    gap: .62rem;
}

.rotation-build-node {
    min-height: 5.25rem;
}

.rotation-build-node em {
    white-space: normal;
    line-height: 1.12;
}

.rotation-build-arm-row {
    display: grid;
    grid-template-columns: minmax(10rem, .34fr) minmax(0, 1fr);
    gap: .7rem;
    align-items: stretch;
    padding-top: .78rem;
    border-top: 1px dashed rgba(0, 105, 137, .22);
}

.rotation-build-arm-row .capability-armtype-blueprint__title {
    display: grid;
    align-content: center;
    margin-bottom: 0;
    padding: .58rem .66rem;
    border: 1px dashed rgba(0, 105, 137, .2);
    border-radius: .8rem;
    background: rgba(255,255,255,.62);
}

.rotation-build-arm-row .capability-armtype-blueprint__title strong,
.rotation-build-transition-strip > strong,
.rotation-build-nav-block > strong {
    color: var(--c-text);
    font-size: .78rem;
    font-weight: 950;
}

.rotation-build-arm-row .capability-armtype-blueprint__title span {
    margin-top: .12rem;
    color: var(--c-muted);
    font-size: .66rem;
    font-weight: 800;
    line-height: 1.25;
}

.rotation-build-arm-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(9rem, 1fr));
    gap: .58rem;
}

.rotation-build-arm-card {
    min-height: 4.2rem;
    background: rgba(255,255,255,.76);
}

.rotation-build-transition-strip {
    display: grid;
    gap: .52rem;
    padding-top: .78rem;
    border-top: 1px dashed rgba(0, 105, 137, .2);
}

.rotation-build-transition-chips {
    display: flex;
    flex-wrap: wrap;
    gap: .42rem;
}

.rotation-build-transition-chip {
    display: inline-flex;
    align-items: center;
    gap: .44rem;
    min-height: 2rem;
    padding: .34rem .56rem;
    border: 1px solid rgba(0, 105, 137, .2);
    border-radius: 999px;
    background: rgba(255,255,255,.72);
    color: inherit;
    text-decoration: none;
    box-shadow: 0 8px 18px rgba(15, 23, 42, .02);
}

.rotation-build-transition-chip:hover {
    border-color: rgba(0, 105, 137, .44);
    background: rgba(255,255,255,.92);
    box-shadow: 0 0 0 .14rem rgba(0, 105, 137, .08);
}

.rotation-build-transition-chip.needs-action {
    border-color: #d97706;
    background: rgba(255,255,255,.94);
    box-shadow: 0 0 0 .15rem rgba(217, 119, 6, .12), 0 12px 22px rgba(15, 23, 42, .04);
}

.rotation-build-transition-chip span {
    color: var(--c-text);
    font-size: .68rem;
    font-weight: 900;
    line-height: 1;
}

.rotation-build-transition-chip b {
    display: inline-flex;
    align-items: center;
    min-height: 1.2rem;
    padding: .18rem .38rem;
    border-radius: 999px;
    background: rgba(248, 250, 252, .8);
    color: var(--c-muted);
    font-size: .62rem;
    font-weight: 950;
    line-height: 1;
}

.rotation-build-layout {
    align-items: start;
}

.rotation-build-nav {
    gap: .75rem;
}

.rotation-build-nav-block {
    display: grid;
    gap: .42rem;
}

.rotation-build-definition-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .52rem;
}

.rotation-build-field {
    display: grid;
    gap: .16rem;
    min-height: 3.15rem;
    padding: .62rem .68rem;
    border: 1px solid rgba(148, 163, 184, .18);
    border-radius: .82rem;
    background: rgba(255,255,255,.56);
}

.rotation-build-field span {
    color: var(--c-muted);
    font-size: .64rem;
    font-weight: 900;
    line-height: 1;
}

.rotation-build-field strong {
    color: var(--c-text);
    font-size: .82rem;
    font-weight: 950;
    line-height: 1.15;
    overflow-wrap: anywhere;
}

.rotation-build-note {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .8rem;
    margin-top: .72rem;
    padding: .62rem .72rem;
    border: 1px dashed rgba(0, 105, 137, .2);
    border-radius: .88rem;
    background: rgba(248, 250, 252, .72);
}

.rotation-build-note strong {
    color: var(--c-text);
    font-size: .74rem;
    font-weight: 950;
    white-space: nowrap;
}

.rotation-build-note span {
    color: var(--c-muted);
    font-size: .68rem;
    font-weight: 800;
    line-height: 1.25;
}

@media (max-width: 980px) {
    .rotation-build-arm-row,
    .rotation-build-definition-grid {
        grid-template-columns: 1fr;
    }

    .rotation-build-note {
        display: grid;
    }
}

@media (max-width: 720px) {
    .rotation-build-route,
    .rotation-build-arm-grid {
        grid-template-columns: 1fr;
    }
}

 

 
.modal--rotation-build .modal__body {
    max-height: min(72vh, 48rem);
    overflow: auto;
}

.rotation-build-modal-form .unit-role-modal-section {
    background: rgba(255,255,255,.58);
}

.rotation-build-check-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .55rem;
}

.rotation-build-check {
    min-height: 3.7rem;
    align-items: center;
    background: rgba(248, 250, 252, .68);
}

.rotation-build-check:has(.native-hidden:checked) {
    background: rgba(255,255,255,.94);
    border-color: rgba(0, 105, 137, .42);
    box-shadow: 0 0 0 .14rem rgba(0, 105, 137, .07);
}

.rotation-build-check .choice-text strong {
    font-size: .82rem;
    font-weight: 950;
}

.rotation-build-check .choice-text small {
    font-size: .68rem;
    line-height: 1.22;
}

.rotation-build-note .btn {
    flex: 0 0 auto;
}

@media (max-width: 860px) {
    .rotation-build-check-grid {
        grid-template-columns: 1fr;
    }
}

 

 
.rotation-build-plausibility-panel .panel__body {
    padding: var(--sp-md);
}

.rotation-build-check-panel {
    display: grid;
    gap: .75rem;
}

.rotation-build-check-panel__head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .8rem;
    padding: .68rem .76rem;
    border: 1px dashed rgba(0, 105, 137, .22);
    border-radius: .95rem;
    background: rgba(248, 250, 252, .72);
}

.rotation-build-check-panel__head div {
    display: grid;
    gap: .12rem;
}

.rotation-build-check-panel__head strong {
    color: var(--c-text);
    font-size: .86rem;
    font-weight: 950;
}

.rotation-build-check-panel__head span {
    color: var(--c-muted);
    font-size: .7rem;
    font-weight: 800;
    line-height: 1.25;
}

.rotation-build-check-summary {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 1.9rem;
    padding: .28rem .6rem;
    border: 1px solid rgba(148, 163, 184, .26);
    border-radius: 999px;
    background: rgba(255,255,255,.82);
    color: var(--c-muted);
    font-size: .68rem;
    font-style: normal;
    font-weight: 950;
    white-space: nowrap;
}

.rotation-build-check-summary.is-ok {
    border-color: rgba(0, 105, 137, .24);
    color: #006989;
}

.rotation-build-check-summary.is-warn,
.rotation-build-check-summary.is-missing {
    border-color: rgba(217, 119, 6, .42);
    color: #b45309;
    box-shadow: 0 0 0 .12rem rgba(217, 119, 6, .08);
}

.rotation-build-check-list {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: .58rem;
}

.rotation-build-check-item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .65rem;
    min-height: 4rem;
    padding: .62rem .68rem;
    border: 1px solid rgba(148, 163, 184, .18);
    border-radius: .95rem;
    background: rgba(255,255,255,.66);
}

.rotation-build-check-item div {
    display: grid;
    gap: .14rem;
    min-width: 0;
}

.rotation-build-check-item strong {
    color: var(--c-text);
    font-size: .75rem;
    font-weight: 950;
    line-height: 1.12;
}

.rotation-build-check-item span {
    color: var(--c-muted);
    font-size: .66rem;
    font-weight: 800;
    line-height: 1.22;
}

.rotation-build-check-item.is-ok {
    border-color: rgba(0, 105, 137, .18);
    background: rgba(255,255,255,.7);
}

.rotation-build-check-item.is-warn {
    border-color: rgba(217, 119, 6, .28);
    background: rgba(255, 251, 235, .48);
}

.rotation-build-check-item.is-missing {
    border-color: rgba(217, 119, 6, .46);
    background: rgba(255, 251, 235, .64);
    box-shadow: inset 0 0 0 1px rgba(217, 119, 6, .08);
}

.rotation-build-check-item .btn {
    flex: 0 0 auto;
    white-space: nowrap;
}

@media (max-width: 1180px) {
    .rotation-build-check-list {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 760px) {
    .rotation-build-check-panel__head,
    .rotation-build-check-item {
        display: grid;
    }

    .rotation-build-check-list {
        grid-template-columns: 1fr;
    }
}

 

 
.rotation-build-option-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .65rem;
}

.rotation-build-template-choice {
    align-items: flex-start;
    min-height: 5.3rem;
    padding: .78rem;
    background: rgba(248, 250, 252, .7);
}

.rotation-build-template-choice:has(.native-hidden:checked) {
    background: rgba(255,255,255,.96);
    border-color: rgba(0, 105, 137, .46);
    box-shadow: 0 0 0 .15rem rgba(0, 105, 137, .07);
}

.rotation-build-template-choice .choice-text strong {
    font-size: .86rem;
    font-weight: 950;
}

.rotation-build-template-choice .choice-text small {
    font-size: .7rem;
    line-height: 1.26;
}

.rotation-build-template-preview {
    display: flex;
    flex-wrap: wrap;
    gap: .38rem;
    padding: .7rem;
    border: 1px solid rgba(148, 163, 184, .22);
    border-radius: .9rem;
    background:
        linear-gradient(rgba(0,105,137,.035) 1px, transparent 1px),
        linear-gradient(90deg, rgba(0,105,137,.035) 1px, transparent 1px),
        rgba(248, 250, 252, .72);
    background-size: 18px 18px;
}

.rotation-build-template-preview span {
    display: inline-flex;
    align-items: center;
    min-height: 2rem;
    padding: .42rem .62rem;
    border: 1px solid rgba(148, 163, 184, .28);
    border-radius: .74rem;
    background: rgba(255,255,255,.82);
    color: var(--c-text);
    font-size: .72rem;
    font-weight: 900;
    box-shadow: 0 .35rem .95rem rgba(15, 23, 42, .045);
}

@media (max-width: 860px) {
    .rotation-build-option-grid {
        grid-template-columns: 1fr;
    }
}

 

 
.modal--rotation-delete .modal__body {
    gap: .9rem;
}

.rotation-build-confirm-list {
    display: grid;
    gap: .45rem;
}

.rotation-build-confirm-list span {
    display: grid;
    grid-template-columns: minmax(7rem, .65fr) minmax(0, 1fr);
    align-items: center;
    gap: .65rem;
    padding: .58rem .68rem;
    border: 1px solid rgba(148, 163, 184, .22);
    border-radius: .72rem;
    background: rgba(248, 250, 252, .72);
}

.rotation-build-confirm-list strong {
    color: var(--c-muted);
    font-size: .72rem;
    font-weight: 900;
}

.rotation-build-confirm-list em {
    min-width: 0;
    color: var(--c-text);
    font-style: normal;
    font-size: .82rem;
    font-weight: 900;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.rotation-build-confirm-warning {
    margin: 0;
}

@media (max-width: 680px) {
    .rotation-build-confirm-list span {
        grid-template-columns: 1fr;
        gap: .18rem;
    }
}

 

 
.rotation-build-machine-behavior-panel .panel__body {
    padding: var(--sp-md);
}

.rotation-build-machine-behavior {
    display: grid;
    grid-template-columns: minmax(18rem, .9fr) minmax(0, 1.1fr);
    gap: .75rem;
    align-items: stretch;
}

.rotation-build-machine-behavior__main {
    display: grid;
    align-content: center;
    gap: .18rem;
    min-height: 6rem;
    padding: .82rem .9rem;
    border: 1px solid rgba(0, 105, 137, .22);
    border-radius: 1rem;
    background:
        linear-gradient(rgba(0,105,137,.035) 1px, transparent 1px),
        linear-gradient(90deg, rgba(0,105,137,.035) 1px, transparent 1px),
        rgba(248, 250, 252, .72);
    background-size: 18px 18px;
}

.rotation-build-machine-behavior__main span {
    justify-self: start;
    display: inline-flex;
    align-items: center;
    min-height: 1.55rem;
    padding: .2rem .5rem;
    border: 1px solid rgba(0, 105, 137, .2);
    border-radius: 999px;
    background: rgba(255,255,255,.78);
    color: #006989;
    font-size: .64rem;
    font-weight: 950;
    line-height: 1;
}

.rotation-build-machine-behavior__main strong {
    color: var(--c-text);
    font-size: 1.02rem;
    font-weight: 950;
    line-height: 1.08;
}

.rotation-build-machine-behavior__main em {
    color: var(--c-muted);
    font-size: .72rem;
    font-style: normal;
    font-weight: 800;
    line-height: 1.25;
}

.rotation-build-machine-mini-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.rotation-build-movement-choice-grid {
    margin-top: .72rem;
}

@media (max-width: 980px) {
    .rotation-build-machine-behavior,
    .rotation-build-machine-mini-grid {
        grid-template-columns: 1fr;
    }
}


 

 
.rotation-build-tact-panel .panel__body {
    padding: var(--sp-md);
}

.rotation-build-tact-gates {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: .6rem;
}

.rotation-build-tact-gate {
    display: grid;
    gap: .16rem;
    min-height: 4.6rem;
    padding: .68rem .72rem;
    border: 1px solid rgba(0, 105, 137, .24);
    border-radius: .95rem;
    background:
        linear-gradient(rgba(0,105,137,.035) 1px, transparent 1px),
        linear-gradient(90deg, rgba(0,105,137,.035) 1px, transparent 1px),
        rgba(255,255,255,.74);
    background-size: 18px 18px;
    color: inherit;
    text-decoration: none;
    box-shadow: 0 .55rem 1.25rem rgba(15, 23, 42, .045);
}

.rotation-build-tact-gate:hover {
    border-color: rgba(217, 119, 6, .52);
    box-shadow: 0 0 0 .14rem rgba(217, 119, 6, .08), 0 .65rem 1.35rem rgba(15, 23, 42, .055);
}

.rotation-build-tact-gate span {
    justify-self: start;
    display: inline-flex;
    align-items: center;
    min-height: 1.45rem;
    padding: .18rem .48rem;
    border: 1px solid rgba(0, 105, 137, .2);
    border-radius: 999px;
    background: rgba(255,255,255,.84);
    color: #006989;
    font-size: .62rem;
    font-weight: 950;
    line-height: 1;
}

.rotation-build-tact-gate strong {
    color: var(--c-text);
    font-size: .84rem;
    font-weight: 950;
    line-height: 1.1;
}

.rotation-build-tact-gate em {
    color: var(--c-muted);
    font-size: .68rem;
    font-style: normal;
    font-weight: 800;
    line-height: 1.22;
}

@media (max-width: 1040px) {
    .rotation-build-tact-gates {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 720px) {
    .rotation-build-tact-gates {
        grid-template-columns: 1fr;
    }
}

 

 
.rotation-build-sync-status-panel .panel__body {
    padding: var(--sp-md);
}

.rotation-build-sync-status {
    display: grid;
    gap: .7rem;
}

.rotation-build-sync-status__head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .8rem;
    padding: .72rem .78rem;
    border: 1px solid rgba(148, 163, 184, .18);
    border-radius: 1rem;
    background: rgba(255,255,255,.62);
}

.rotation-build-sync-status__head div {
    display: grid;
    gap: .12rem;
    min-width: 0;
}

.rotation-build-sync-status__head strong {
    color: var(--c-text);
    font-size: .86rem;
    font-weight: 950;
}

.rotation-build-sync-status__head span {
    color: var(--c-muted);
    font-size: .7rem;
    font-weight: 800;
}

.rotation-build-sync-status__head em,
.rotation-build-sync-status-item em {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 1.65rem;
    padding: .24rem .58rem;
    border-radius: 999px;
    border: 1px solid rgba(148, 163, 184, .22);
    background: rgba(248,250,252,.82);
    color: var(--c-muted);
    font-size: .64rem;
    font-style: normal;
    font-weight: 950;
    line-height: 1;
    white-space: nowrap;
}

.rotation-build-sync-status__head em.is-ok,
.rotation-build-sync-status-item.is-ok em {
    border-color: rgba(0, 105, 137, .24);
    background: rgba(0, 105, 137, .06);
    color: #006989;
}

.rotation-build-sync-status__head em.is-wait,
.rotation-build-sync-status-item.is-wait em {
    border-color: rgba(217, 119, 6, .26);
    background: rgba(255, 251, 235, .78);
    color: #b45309;
}

.rotation-build-sync-status__head em.is-warn,
.rotation-build-sync-status-item.is-warn em {
    border-color: rgba(217, 119, 6, .38);
    background: rgba(255, 251, 235, .92);
    color: #92400e;
}

.rotation-build-sync-status-list {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: .55rem;
}

.rotation-build-sync-status-item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .58rem;
    min-height: 4.3rem;
    padding: .64rem .68rem;
    border: 1px solid rgba(148, 163, 184, .18);
    border-radius: .95rem;
    background:
        linear-gradient(rgba(0,105,137,.025) 1px, transparent 1px),
        linear-gradient(90deg, rgba(0,105,137,.025) 1px, transparent 1px),
        rgba(255,255,255,.68);
    background-size: 18px 18px;
}

.rotation-build-sync-status-item.is-ok {
    border-color: rgba(0, 105, 137, .18);
}

.rotation-build-sync-status-item.is-wait {
    border-color: rgba(217, 119, 6, .24);
    background:
        linear-gradient(rgba(217,119,6,.025) 1px, transparent 1px),
        linear-gradient(90deg, rgba(217,119,6,.025) 1px, transparent 1px),
        rgba(255, 251, 235, .44);
    background-size: 18px 18px;
}

.rotation-build-sync-status-item.is-warn {
    border-color: rgba(217, 119, 6, .42);
    background: rgba(255, 251, 235, .62);
    box-shadow: inset 0 0 0 1px rgba(217, 119, 6, .07);
}

.rotation-build-sync-status-item div {
    display: grid;
    gap: .14rem;
    min-width: 0;
}

.rotation-build-sync-status-item strong {
    color: var(--c-text);
    font-size: .74rem;
    font-weight: 950;
    line-height: 1.12;
}

.rotation-build-sync-status-item span {
    color: var(--c-muted);
    font-size: .65rem;
    font-weight: 800;
    line-height: 1.22;
}

@media (max-width: 1360px) {
    .rotation-build-sync-status-list {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 820px) {
    .rotation-build-sync-status__head,
    .rotation-build-sync-status-item {
        display: grid;
    }

    .rotation-build-sync-status-list {
        grid-template-columns: 1fr;
    }
}

 

 
.stage-sync-tact-strip {
    margin: 0 0 1rem;
    border: 1px solid rgba(148, 163, 184, .20);
    border-radius: 1.15rem;
    background:
        linear-gradient(135deg, rgba(255, 255, 255, .78), rgba(248, 250, 252, .58)),
        radial-gradient(circle at 10% 0%, rgba(59, 130, 246, .08), transparent 34%);
    box-shadow: 0 14px 34px rgba(15, 23, 42, .07);
    overflow: hidden;
}

.stage-sync-tact-strip__head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .9rem;
    padding: .86rem 1rem .72rem;
    border-bottom: 1px solid rgba(148, 163, 184, .14);
}

.stage-sync-tact-strip__head div {
    min-width: 0;
}

.stage-sync-tact-strip__head strong {
    display: block;
    color: var(--c-text);
    font-size: .93rem;
    font-weight: 950;
    line-height: 1.15;
}

.stage-sync-tact-strip__head span {
    display: block;
    margin-top: .22rem;
    color: var(--c-muted);
    font-size: .76rem;
    font-weight: 760;
    line-height: 1.35;
}

.stage-sync-tact-strip__state {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    min-height: 2rem;
    padding: .4rem .68rem;
    border-radius: 999px;
    border: 1px solid rgba(148, 163, 184, .20);
    background: rgba(248, 250, 252, .72);
    color: var(--c-muted);
    font-size: .72rem;
    font-weight: 950;
    white-space: nowrap;
}

.stage-sync-tact-strip__state.is-ready {
    border-color: rgba(34, 197, 94, .34);
    background: rgba(220, 252, 231, .68);
    color: #15803d;
}

.stage-sync-tact-strip__state.is-wait {
    border-color: rgba(245, 158, 11, .36);
    background: rgba(255, 251, 235, .76);
    color: #92400e;
}

.stage-sync-tact-strip__grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: .55rem;
    padding: .75rem 1rem 1rem;
}

.stage-sync-tact-item {
    min-width: 0;
    border: 1px solid rgba(148, 163, 184, .18);
    border-radius: .88rem;
    background: rgba(255, 255, 255, .56);
    padding: .68rem .72rem;
}

.stage-sync-tact-item strong {
    display: block;
    color: var(--c-text);
    font-size: .76rem;
    font-weight: 950;
    line-height: 1.2;
}

.stage-sync-tact-item span {
    display: block;
    margin-top: .22rem;
    color: var(--c-muted);
    font-size: .68rem;
    font-weight: 760;
    line-height: 1.3;
}

.stage-sync-tact-item em {
    display: inline-flex;
    margin-top: .48rem;
    padding: .28rem .46rem;
    border-radius: 999px;
    background: rgba(248, 250, 252, .78);
    color: var(--c-muted);
    font-size: .64rem;
    font-style: normal;
    font-weight: 950;
}

.stage-sync-tact-item.is-ready {
    border-color: rgba(34, 197, 94, .28);
    background: rgba(240, 253, 244, .56);
}

.stage-sync-tact-item.is-wait {
    border-color: rgba(245, 158, 11, .30);
    background: rgba(255, 251, 235, .64);
}

.stage-sync-tact-item.is-warn {
    border-color: rgba(239, 68, 68, .24);
    background: rgba(254, 242, 242, .54);
}

@media (max-width: 1200px) {
    .stage-sync-tact-strip__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 720px) {
    .stage-sync-tact-strip__head {
        align-items: flex-start;
        flex-direction: column;
    }
    .stage-sync-tact-strip__grid {
        grid-template-columns: 1fr;
    }
}


 

 
.workspace-shell--stage-v2 {
    gap: 1rem;
}

.stage-v2-status {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 1rem;
    align-items: center;
    border: 1px solid rgba(18, 50, 58, .10);
    border-radius: var(--r-xl);
    background: linear-gradient(180deg, rgba(255,255,255,.94), rgba(248,250,252,.78));
    padding: 1rem;
    box-shadow: var(--shadow-sm);
}

.stage-v2-status--needs_action {
    border-color: rgba(217, 119, 6, .30);
    background: linear-gradient(180deg, rgba(255, 251, 235, .96), rgba(255,255,255,.82));
}

.stage-v2-status__main {
    display: grid;
    gap: .22rem;
    min-width: 0;
}

.stage-v2-status__main > span {
    color: var(--bp-accent);
    font-size: .76rem;
    font-weight: 950;
    text-transform: uppercase;
    letter-spacing: .06em;
}

.stage-v2-status__main strong {
    color: var(--c-text);
    font-size: clamp(1.5rem, 3vw, 2.35rem);
    line-height: 1;
    letter-spacing: -.04em;
}

.stage-v2-status__main p {
    margin: 0;
    color: var(--c-muted);
    font-weight: 850;
    line-height: 1.35;
}

.stage-v2-status__badges {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: .45rem;
    max-width: 32rem;
}

.stage-v2-badge {
    display: inline-grid;
    gap: .12rem;
    min-width: 5.9rem;
    border: 1px solid rgba(18, 50, 58, .10);
    border-radius: var(--r-md);
    background: rgba(255,255,255,.78);
    padding: .55rem .68rem;
}

.stage-v2-badge small {
    color: var(--c-muted);
    font-size: .68rem;
    font-weight: 950;
    text-transform: uppercase;
    letter-spacing: .04em;
}

.stage-v2-badge strong {
    color: var(--c-text);
    font-size: .84rem;
    line-height: 1.1;
    font-weight: 950;
}

.stage-v2-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(18rem, 25rem);
    gap: 1rem;
    align-items: start;
}

.stage-v2-main,
.stage-v2-side {
    display: grid;
    gap: 1rem;
}

.stage-v2-focus-card {
    border: 1px solid rgba(18, 50, 58, .10);
    border-radius: var(--r-xl);
    background: rgba(255,255,255,.86);
    padding: 1rem;
    box-shadow: var(--shadow-sm);
    display: grid;
    gap: 1rem;
}

.stage-v2-focus-card--needs_action {
    border-color: rgba(217, 119, 6, .30);
    background: linear-gradient(180deg, rgba(255,251,235,.96), rgba(255,255,255,.86));
}

.stage-v2-focus-card__head {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    align-items: flex-start;
    padding-bottom: .85rem;
    border-bottom: 1px solid rgba(18, 50, 58, .08);
}

.stage-v2-focus-card h2 {
    margin: 0;
    color: var(--c-text);
    font-size: clamp(1.55rem, 3.2vw, 2.7rem);
    line-height: .98;
    letter-spacing: -.04em;
}

.stage-v2-focus-card p {
    margin: .35rem 0 0;
    color: var(--c-muted);
    font-weight: 850;
    line-height: 1.35;
}

.stage-v2-focus-arm {
    border: 1px solid rgba(217,119,6,.26);
    border-radius: var(--r-pill);
    background: rgba(255,251,235,.82);
    color: #92400e;
    padding: .48rem .68rem;
    white-space: nowrap;
}

.stage-v2-action-grid {
    display: grid;
    gap: .6rem;
}

.stage-v2-action {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: .55rem;
    border: 1px solid rgba(18, 50, 58, .08);
    border-radius: var(--r-lg);
    background: rgba(255,255,255,.72);
    padding: .68rem;
}

.stage-v2-action small {
    color: var(--c-muted);
    font-size: .8rem;
    font-weight: 850;
    line-height: 1.25;
}

.stage-v2-action em {
    margin-left: auto;
    color: rgba(18,50,58,.42);
    font-size: .68rem;
    font-style: normal;
    font-weight: 950;
}

.stage-v2-action__status {
    border: 1px solid rgba(18,50,58,.10);
    border-radius: var(--r-pill);
    background: rgba(18,50,58,.04);
    color: var(--c-text);
    padding: .45rem .7rem;
    font-weight: 950;
}

.stage-v2-arm-list,
.stage-v2-unit-list,
.stage-v2-fill-list {
    display: grid;
    gap: .55rem;
}

.stage-v2-arm-item,
.stage-v2-unit-card,
.stage-v2-fill-item,
.stage-v2-empty {
    border: 1px solid rgba(18, 50, 58, .10);
    border-radius: var(--r-md);
    background: rgba(255,255,255,.78);
    padding: .72rem .78rem;
}

.stage-v2-arm-item {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: .35rem .65rem;
    align-items: center;
}

.stage-v2-arm-item--stage_now,
.stage-v2-arm-item--sync_tact_target {
    border-color: rgba(0,105,137,.25);
    background: rgba(0,105,137,.055);
}

.stage-v2-arm-item div,
.stage-v2-unit-card div,
.stage-v2-fill-item div {
    display: grid;
    gap: .12rem;
    min-width: 0;
}

.stage-v2-arm-item strong,
.stage-v2-unit-card strong,
.stage-v2-fill-item strong,
.stage-v2-empty strong {
    color: var(--c-text);
    line-height: 1.1;
    font-weight: 950;
}

.stage-v2-arm-item span,
.stage-v2-unit-card span,
.stage-v2-fill-item span,
.stage-v2-empty span {
    color: var(--c-muted);
    font-size: .8rem;
    font-weight: 850;
    line-height: 1.25;
}

.stage-v2-arm-item small,
.stage-v2-unit-card small,
.stage-v2-fill-item small {
    color: rgba(18,50,58,.50);
    font-size: .7rem;
    font-weight: 950;
    text-transform: uppercase;
    letter-spacing: .03em;
}

.stage-v2-arm-item b,
.stage-v2-unit-card b,
.stage-v2-fill-item b {
    color: var(--c-text);
    font-size: .9rem;
    font-weight: 950;
    white-space: nowrap;
}

.stage-v2-unit-card,
.stage-v2-fill-item {
    display: grid;
    grid-template-columns: 2rem minmax(0, 1fr) auto;
    gap: .65rem;
    align-items: center;
}

.stage-v2-unit-card__index {
    width: 1.75rem;
    height: 1.75rem;
    border-radius: 999px;
    display: inline-grid;
    place-items: center;
    background: rgba(0,105,137,.08);
    color: var(--bp-accent);
    font-size: .78rem;
    font-weight: 950;
}

.stage-v2-fill-item.is-insert {
    border-color: rgba(217,119,6,.18);
    background: rgba(255,251,235,.56);
}

.stage-v2-contract-list {
    display: flex;
    flex-wrap: wrap;
    gap: .42rem;
}

.stage-v2-contract-chip {
    border: 1px solid rgba(18,50,58,.10);
    border-radius: var(--r-pill);
    background: rgba(255,255,255,.72);
    color: var(--c-muted);
    padding: .38rem .55rem;
    font-size: .72rem;
    font-weight: 950;
}

.stage-v2-contract-chip.is-ok {
    border-color: rgba(0,105,137,.18);
    color: var(--bp-accent);
    background: rgba(0,105,137,.055);
}

@media (max-width: 1120px) {
    .stage-v2-status,
    .stage-v2-layout {
        grid-template-columns: 1fr;
    }

    .stage-v2-status__badges {
        justify-content: flex-start;
        max-width: none;
    }
}

@media (max-width: 760px) {
    .stage-v2-focus-card__head,
    .stage-v2-action {
        align-items: flex-start;
        flex-direction: column;
    }

    .stage-v2-action em {
        margin-left: 0;
    }

    .stage-v2-unit-card,
    .stage-v2-fill-item {
        grid-template-columns: 2rem minmax(0, 1fr);
    }

    .stage-v2-unit-card b,
    .stage-v2-fill-item b,
    .stage-v2-fill-item small {
        grid-column: 2;
        justify-self: start;
    }
}

 

 
.stage-v2-work-card-list {
    display: grid;
    gap: .72rem;
}

.stage-v2-work-card {
    display: grid;
    gap: .72rem;
    border: 1px solid rgba(18, 50, 58, .10);
    border-radius: var(--r-lg);
    background: rgba(255,255,255,.84);
    padding: .82rem;
    box-shadow: 0 1px 0 rgba(18, 50, 58, .03);
}

.stage-v2-work-card--work {
    border-color: rgba(0, 105, 137, .18);
    background: linear-gradient(180deg, rgba(255,255,255,.92), rgba(240, 249, 252, .52));
}

.stage-v2-work-card--prepare {
    border-color: rgba(59, 130, 246, .18);
    background: linear-gradient(180deg, rgba(255,255,255,.92), rgba(239, 246, 255, .54));
}

.stage-v2-work-card--empty_reason {
    border-color: rgba(217,119,6,.22);
    background: linear-gradient(180deg, rgba(255,251,235,.82), rgba(255,255,255,.78));
}

.stage-v2-work-card__head {
    display: grid;
    grid-template-columns: 2rem minmax(0, 1fr) auto;
    gap: .68rem;
    align-items: center;
}

.stage-v2-work-card__head > div {
    display: grid;
    gap: .12rem;
    min-width: 0;
}

.stage-v2-work-card__head strong {
    color: var(--c-text);
    font-size: .98rem;
    line-height: 1.05;
    font-weight: 950;
}

.stage-v2-work-card__head span:not(.stage-v2-unit-card__index) {
    color: var(--c-muted);
    font-size: .82rem;
    font-weight: 850;
    line-height: 1.25;
}

.stage-v2-work-card__head b {
    color: var(--c-text);
    font-size: 1.05rem;
    line-height: 1;
    font-weight: 950;
    white-space: nowrap;
}

.stage-v2-work-card__body {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .55rem;
}

.stage-v2-work-line {
    display: grid;
    gap: .12rem;
    border: 1px solid rgba(18,50,58,.08);
    border-radius: var(--r-md);
    background: rgba(255,255,255,.64);
    padding: .58rem .65rem;
    min-width: 0;
}

.stage-v2-work-line small {
    color: rgba(18,50,58,.48);
    font-size: .67rem;
    font-weight: 950;
    text-transform: uppercase;
    letter-spacing: .05em;
}

.stage-v2-work-line strong {
    color: var(--c-text);
    font-size: .84rem;
    font-weight: 950;
    line-height: 1.2;
}

.stage-v2-work-card p {
    margin: 0;
    color: var(--c-muted);
    font-size: .84rem;
    font-weight: 850;
    line-height: 1.35;
}

.stage-v2-work-card__chips {
    display: flex;
    flex-wrap: wrap;
    gap: .38rem;
}

.stage-v2-work-card__chips span {
    border: 1px solid rgba(18,50,58,.10);
    border-radius: var(--r-pill);
    background: rgba(255,255,255,.72);
    color: rgba(18,50,58,.64);
    padding: .35rem .5rem;
    font-size: .7rem;
    font-weight: 950;
    line-height: 1;
}

.stage-v2-fill-item.is-empty-reason {
    border-color: rgba(217,119,6,.22);
    background: rgba(255,251,235,.58);
}

@media (max-width: 760px) {
    .stage-v2-work-card__head {
        grid-template-columns: 2rem minmax(0, 1fr);
    }

    .stage-v2-work-card__head b {
        grid-column: 2;
        justify-self: start;
    }

    .stage-v2-work-card__body {
        grid-template-columns: 1fr;
    }
}


 

 
.stage-v2-fill-list .stage-v2-fill-item {
    grid-template-columns: minmax(0, 1fr) auto;
}

.stage-v2-fill-list .stage-v2-fill-item div {
    grid-column: 1;
}

.stage-v2-fill-list .stage-v2-fill-item b,
.stage-v2-fill-list .stage-v2-fill-item small {
    grid-column: 2;
    justify-self: end;
}

.stage-v2-work-card__chips span {
    max-width: 100%;
}

@media (max-width: 760px) {
    .stage-v2-fill-list .stage-v2-fill-item {
        grid-template-columns: minmax(0, 1fr);
    }

    .stage-v2-fill-list .stage-v2-fill-item b,
    .stage-v2-fill-list .stage-v2-fill-item small {
        grid-column: 1;
        justify-self: start;
    }
}


 

 
.stage-v2-decision-list {
    display: grid;
    gap: .65rem;
}

.stage-v2-decision-card {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: .75rem;
    align-items: center;
    border: 1px solid rgba(18, 50, 58, .10);
    border-radius: var(--r-lg);
    background: rgba(255, 255, 255, .78);
    padding: .82rem;
}

.stage-v2-decision-card--primary {
    border-color: rgba(28, 100, 170, .22);
    background: rgba(239, 246, 255, .58);
}

.stage-v2-decision-card--status {
    border-color: rgba(148, 163, 184, .20);
    background: rgba(248, 250, 252, .74);
}

.stage-v2-decision-card__text {
    display: grid;
    gap: .18rem;
    min-width: 0;
}

.stage-v2-decision-card__text small {
    color: var(--c-muted);
    font-size: .72rem;
    font-weight: 950;
    text-transform: uppercase;
    letter-spacing: .04em;
}

.stage-v2-decision-card__text strong {
    color: var(--c-text);
    font-size: 1.02rem;
    font-weight: 950;
}

.stage-v2-decision-card__text span {
    color: var(--c-muted);
    font-size: .84rem;
    font-weight: 850;
    line-height: 1.32;
}

.stage-v2-decision-card__side {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: .45rem;
    min-width: max-content;
}

.stage-v2-decision-card__side em {
    border: 1px solid rgba(18, 50, 58, .08);
    border-radius: var(--r-pill);
    background: rgba(255, 255, 255, .66);
    color: var(--c-muted);
    font-size: .68rem;
    font-style: normal;
    font-weight: 950;
    padding: .34rem .55rem;
}

.stage-v2-decision-card__meta {
    grid-column: 1 / -1;
    display: flex;
    flex-wrap: wrap;
    gap: .35rem;
}

.stage-v2-decision-card__meta span {
    border: 1px solid rgba(18, 50, 58, .08);
    border-radius: var(--r-pill);
    background: rgba(18, 50, 58, .035);
    color: rgba(18, 50, 58, .50);
    font-size: .66rem;
    font-weight: 950;
    padding: .28rem .48rem;
}

@media (max-width: 760px) {
    .stage-v2-decision-card {
        grid-template-columns: 1fr;
    }

    .stage-v2-decision-card__side {
        justify-content: flex-start;
        min-width: 0;
        flex-wrap: wrap;
    }
}

 

 
.stage-release-modal {
    width: min(100%, 62rem);
}

.stage-release-modal-form {
    display: contents;
}

.stage-release-modal__header {
    background: linear-gradient(180deg, rgba(248, 250, 252, .96), rgba(255,255,255,.92));
}

.stage-release-modal__body {
    display: grid;
    gap: .9rem;
}

.stage-release-summary {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: .65rem;
}

.stage-release-summary article,
.stage-release-callout,
.stage-release-section,
.stage-release-check,
.stage-release-empty {
    border: 1px solid rgba(148, 163, 184, .24);
    border-radius: var(--r-lg);
    background: rgba(255,255,255,.82);
}

.stage-release-summary article {
    display: grid;
    gap: .15rem;
    padding: .78rem .9rem;
}

.stage-release-summary small,
.stage-release-section__head span,
.stage-release-check small,
.stage-release-tool small,
.stage-release-choice small,
.stage-release-empty span {
    color: var(--c-muted);
    font-weight: 850;
    line-height: 1.35;
}

.stage-release-summary small {
    text-transform: uppercase;
    letter-spacing: .06em;
    font-size: .66rem;
}

.stage-release-summary strong {
    color: var(--c-text);
    font-size: 1rem;
    line-height: 1.1;
}

.stage-release-summary span {
    color: var(--c-muted);
    font-size: .78rem;
    font-weight: 820;
}

.stage-release-callout {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: .85rem;
    padding: .78rem .9rem;
}

.stage-release-callout div {
    display: grid;
    gap: .12rem;
}

.stage-release-callout strong {
    color: var(--c-text);
}

.stage-release-callout span,
.stage-release-callout em,
.stage-release-hint {
    color: var(--c-muted);
    font-style: normal;
    font-weight: 820;
    line-height: 1.35;
}

.stage-release-callout--info {
    border-color: rgba(14, 116, 144, .22);
    background: rgba(236, 254, 255, .52);
}

.stage-release-callout--warning {
    border-color: rgba(245, 158, 11, .24);
    background: rgba(255, 251, 235, .62);
}

.stage-release-check {
    display: flex;
    align-items: center;
    gap: .7rem;
    padding: .72rem .85rem;
    background: rgba(248, 250, 252, .8);
}

.stage-release-check span {
    display: grid;
    gap: .08rem;
}

.stage-release-hint {
    margin: -.25rem 0 0;
    padding: 0 .1rem;
}

.stage-release-grid {
    display: grid;
    grid-template-columns: minmax(0, .92fr) minmax(0, 1.08fr);
    gap: .85rem;
}

.stage-release-section {
    display: grid;
    gap: .7rem;
    padding: .85rem;
}

.stage-release-section__head {
    display: grid;
    gap: .18rem;
}

.stage-release-section__head strong {
    color: var(--c-text);
    font-size: .98rem;
}

.stage-release-choice-grid,
.stage-release-tool-list {
    display: grid;
    gap: .52rem;
}

.stage-release-choice,
.stage-release-tool {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    align-items: start;
    gap: .65rem;
    padding: .7rem .75rem;
    border: 1px solid rgba(148, 163, 184, .28);
    border-radius: var(--r-md);
    background: rgba(248, 250, 252, .72);
    cursor: pointer;
}

.stage-release-choice input,
.stage-release-tool input,
.stage-release-check input {
    margin-top: .18rem;
    accent-color: var(--c-primary);
}

.stage-release-choice span,
.stage-release-tool span {
    display: grid;
    gap: .08rem;
}

.stage-release-choice strong,
.stage-release-tool strong,
.stage-release-empty strong {
    color: var(--c-text);
}

.stage-release-choice.is-default {
    background: rgba(236, 253, 245, .42);
    border-color: rgba(34, 197, 94, .18);
}

.stage-release-section--note textarea {
    width: 100%;
    resize: vertical;
}

.stage-release-empty {
    padding: .75rem .8rem;
    display: grid;
    gap: .08rem;
}

.stage-release-modal__footer-actions {
    display: flex;
    justify-content: flex-end;
    gap: .55rem;
    flex-wrap: wrap;
}

@media (max-width: 900px) {
    .stage-release-summary,
    .stage-release-grid {
        grid-template-columns: 1fr;
    }

    .stage-release-callout {
        align-items: flex-start;
        flex-direction: column;
    }
}

@media (max-width: 680px) {
    .overlay--stage-release {
        padding: .75rem;
    }

    .stage-release-modal__footer,
    .stage-release-modal__footer-actions {
        justify-content: stretch;
    }

    .stage-release-modal__footer,
    .stage-release-modal__footer-actions,
    .stage-release-modal__footer .btn {
        width: 100%;
    }

    .stage-release-modal__footer {
        display: grid;
        grid-template-columns: 1fr;
    }

    .stage-release-modal__footer-actions {
        display: grid;
        grid-template-columns: 1fr;
    }
}


 

 
.stage-release-tool--unit span em {
    display: block;
    margin-top: .32rem;
    color: var(--c-muted);
    font-size: .72rem;
    font-style: normal;
    font-weight: 800;
    line-height: 1.25;
}

.stage-release-section--defect {
    grid-column: 1 / -1;
}

.stage-release-defect-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1.15fr);
    gap: .64rem;
}

.stage-release-defect-grid label {
    display: grid;
    gap: .28rem;
}

.stage-release-defect-grid small {
    color: var(--c-muted);
    font-size: .68rem;
    font-weight: 900;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.stage-release-defect-grid select,
.stage-release-defect-grid input {
    width: 100%;
    min-height: 2.5rem;
    border: 1px solid rgba(148, 163, 184, .34);
    border-radius: .72rem;
    background: rgba(255, 255, 255, .88);
    color: var(--c-text);
    font: inherit;
    font-weight: 800;
    padding: .55rem .72rem;
}

.stage-release-severity-row {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: .58rem;
    margin-top: .72rem;
}

.stage-release-severity-row label {
    display: flex;
    align-items: flex-start;
    gap: .55rem;
    padding: .7rem .72rem;
    border: 1px solid rgba(148, 163, 184, .28);
    border-radius: .78rem;
    background: rgba(248, 250, 252, .66);
}

.stage-release-severity-row input {
    margin-top: .1rem;
}

.stage-release-severity-row span {
    display: grid;
    gap: .14rem;
}

.stage-release-severity-row strong {
    font-size: .82rem;
    font-weight: 950;
}

.stage-release-severity-row small {
    color: var(--c-muted);
    font-size: .72rem;
    font-weight: 800;
}

@media (max-width: 760px) {
    .stage-release-defect-grid,
    .stage-release-severity-row {
        grid-template-columns: 1fr;
    }
}


 

 
.stage-v2-empty--quiet {
    border-style: dashed;
    border-color: rgba(18, 50, 58, .18);
    background: rgba(248, 250, 252, .62);
    padding: .95rem 1rem;
}

.stage-v2-empty--quiet strong {
    display: block;
    margin-bottom: .18rem;
}

.stage-v2-empty--quiet span {
    display: block;
    max-width: 48rem;
}

 

 
.stage-v2-chip-button {
    border: 1px solid rgba(0, 105, 137, .18);
    border-radius: var(--r-pill);
    background: rgba(0, 105, 137, .055);
    color: var(--bp-accent);
    padding: .34rem .55rem;
    font-size: .7rem;
    font-weight: 950;
    line-height: 1;
    cursor: pointer;
}

.stage-v2-chip-button:hover {
    background: rgba(0, 105, 137, .10);
}

.stage-v2-fill-item--unit-hints {
    grid-template-columns: minmax(0, 1fr) auto auto;
    align-items: center;
}

.stage-v2-hints-modal .modal__body {
    display: grid;
    gap: .8rem;
}

.stage-v2-hints-summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .7rem;
    border: 1px dashed rgba(18, 50, 58, .14);
    border-radius: var(--r-lg);
    background: rgba(248, 250, 252, .72);
    padding: .8rem .9rem;
}

.stage-v2-hints-summary strong {
    color: var(--c-text);
    font-weight: 950;
}

.stage-v2-hints-summary span {
    color: var(--c-muted);
    font-weight: 950;
}

.stage-v2-hint-list {
    display: grid;
    gap: .55rem;
}

.stage-v2-hint-row {
    display: grid;
    gap: .2rem;
    border: 1px solid rgba(18, 50, 58, .10);
    border-radius: var(--r-md);
    background: rgba(255,255,255,.82);
    padding: .75rem .82rem;
}

.stage-v2-hint-row.is-warning {
    border-color: rgba(217, 119, 6, .26);
    background: rgba(255, 251, 235, .72);
}

.stage-v2-hint-row small {
    color: rgba(18, 50, 58, .48);
    font-size: .68rem;
    font-weight: 950;
    text-transform: uppercase;
    letter-spacing: .04em;
}

.stage-v2-hint-row strong {
    color: var(--c-text);
    font-size: .95rem;
    font-weight: 950;
    line-height: 1.25;
}

.stage-v2-hint-row span {
    color: var(--c-muted);
    font-size: .82rem;
    font-weight: 850;
    line-height: 1.3;
}

@media (max-width: 760px) {
    .stage-v2-fill-item--unit-hints {
        grid-template-columns: minmax(0, 1fr);
    }

    .stage-v2-fill-item--unit-hints .btn,
    .stage-v2-fill-item--unit-hints small {
        justify-self: start;
    }

    .stage-v2-hints-summary {
        align-items: flex-start;
        flex-direction: column;
    }
}

 

 
.stage-v2-bucket-list {
    display: grid;
    gap: .7rem;
}

.stage-v2-bucket-card {
    display: grid;
    gap: .65rem;
    border: 1px solid rgba(0, 105, 137, .16);
    border-radius: var(--r-lg);
    background: linear-gradient(180deg, rgba(255,255,255,.9), rgba(240,249,252,.56));
    padding: .82rem;
}

.stage-v2-bucket-card.is-check {
    border-style: dashed;
    border-color: rgba(217,119,6,.26);
    background: linear-gradient(180deg, rgba(255,251,235,.68), rgba(255,255,255,.78));
}

.stage-v2-bucket-card__head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: .75rem;
}

.stage-v2-bucket-card__head > div {
    display: grid;
    gap: .12rem;
    min-width: 0;
}

.stage-v2-bucket-card__head strong {
    color: var(--c-text);
    font-size: .98rem;
    font-weight: 950;
    line-height: 1.1;
}

.stage-v2-bucket-card__head span {
    color: var(--c-muted);
    font-size: .82rem;
    font-weight: 850;
    line-height: 1.25;
}

.stage-v2-bucket-card__head b {
    color: var(--c-text);
    font-size: 1.05rem;
    font-weight: 950;
    white-space: nowrap;
}

.stage-v2-bucket-card__grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(12rem, 1fr));
    gap: .5rem;
}

.stage-v2-bucket-card__grid > div {
    display: grid;
    gap: .12rem;
    border: 1px solid rgba(18,50,58,.08);
    border-radius: var(--r-md);
    background: rgba(255,255,255,.66);
    padding: .55rem .62rem;
    min-width: 0;
}

.stage-v2-bucket-card__grid small {
    color: rgba(18,50,58,.48);
    font-size: .66rem;
    font-weight: 950;
    letter-spacing: .05em;
    text-transform: uppercase;
}

.stage-v2-bucket-card__grid strong {
    color: var(--c-text);
    font-size: .8rem;
    font-weight: 950;
    line-height: 1.2;
}

.stage-v2-bucket-card p,
.stage-v2-bucket-card em {
    margin: 0;
    color: var(--c-muted);
    font-size: .84rem;
    font-weight: 850;
    line-height: 1.35;
}

.stage-v2-bucket-card em {
    color: rgba(146,64,14,.82);
    font-style: normal;
}

@media (max-width: 760px) {
    .stage-v2-bucket-card__head {
        flex-direction: column;
    }

    .stage-v2-bucket-card__grid {
        grid-template-columns: 1fr;
    }
}


 

 
.stage-v2-chip-button--bucket {
    border-color: rgba(217, 119, 6, .22);
    background: rgba(255, 251, 235, .78);
    color: rgba(146, 64, 14, .94);
}

.stage-v2-bucket-modal__body {
    display: grid;
    gap: .8rem;
}

.stage-v2-bucket-overview {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(12rem, 1fr));
    gap: .62rem;
}

.stage-v2-bucket-overview article {
    display: grid;
    gap: .18rem;
    border: 1px solid rgba(18, 50, 58, .10);
    border-radius: var(--r-lg);
    background: rgba(255,255,255,.78);
    padding: .72rem .8rem;
    min-width: 0;
}

.stage-v2-bucket-overview small {
    color: rgba(18, 50, 58, .48);
    font-size: .68rem;
    font-weight: 950;
    letter-spacing: .05em;
    text-transform: uppercase;
}

.stage-v2-bucket-overview strong {
    color: var(--c-text);
    font-size: .92rem;
    font-weight: 950;
    line-height: 1.2;
}

.stage-v2-bucket-overview--supply article {
    background: rgba(248, 250, 252, .72);
}

.stage-v2-bucket-result {
    display: grid;
    gap: .28rem;
    border: 1px solid rgba(0, 105, 137, .16);
    border-radius: var(--r-lg);
    background: linear-gradient(180deg, rgba(240, 249, 252, .76), rgba(255,255,255,.82));
    padding: .85rem .95rem;
}

.stage-v2-bucket-result.is-check {
    border-style: dashed;
    border-color: rgba(217,119,6,.28);
    background: linear-gradient(180deg, rgba(255,251,235,.72), rgba(255,255,255,.86));
}

.stage-v2-bucket-result strong {
    color: var(--c-text);
    font-size: 1rem;
    font-weight: 950;
    line-height: 1.25;
}

.stage-v2-bucket-result span,
.stage-v2-bucket-result em {
    color: var(--c-muted);
    font-size: .84rem;
    font-weight: 850;
    font-style: normal;
    line-height: 1.35;
}

.stage-v2-bucket-result em {
    color: rgba(146,64,14,.88);
}

@media (max-width: 760px) {
    .stage-v2-bucket-overview {
        grid-template-columns: 1fr;
    }
}

 

 
.stage-v2-followup-callout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: .75rem;
    align-items: center;
    border: 1px solid rgba(217, 119, 6, .22);
    border-radius: var(--r-lg);
    background: linear-gradient(180deg, rgba(255, 251, 235, .78), rgba(255, 255, 255, .82));
    padding: .82rem .9rem;
    margin-bottom: .8rem;
}

.stage-v2-followup-callout__text {
    display: grid;
    gap: .18rem;
    min-width: 0;
}

.stage-v2-followup-callout__text small {
    color: rgba(146, 64, 14, .84);
    font-size: .72rem;
    font-weight: 950;
    text-transform: uppercase;
    letter-spacing: .04em;
}

.stage-v2-followup-callout__text strong {
    color: var(--c-text);
    font-size: 1rem;
    font-weight: 950;
    line-height: 1.15;
}

.stage-v2-followup-callout__text span {
    color: var(--c-muted);
    font-size: .84rem;
    font-weight: 850;
    line-height: 1.32;
}

.stage-v2-followup-callout__chips {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: .35rem;
}

.stage-v2-followup-callout__chips em {
    border: 1px solid rgba(217, 119, 6, .18);
    border-radius: var(--r-pill);
    background: rgba(255, 255, 255, .74);
    color: rgba(146, 64, 14, .82);
    font-size: .68rem;
    font-style: normal;
    font-weight: 950;
    padding: .32rem .52rem;
    white-space: nowrap;
}

@media (max-width: 760px) {
    .stage-v2-followup-callout {
        grid-template-columns: 1fr;
    }

    .stage-v2-followup-callout__chips {
        justify-content: flex-start;
    }

    .stage-v2-followup-callout__chips em {
        white-space: normal;
    }
}

 

 
.stage-v2-fill-evaluation {
    display: grid;
    gap: .42rem;
    border: 1px dashed rgba(0, 105, 137, .18);
    border-radius: var(--r-md);
    background: rgba(240, 249, 252, .44);
    padding: .55rem .62rem;
}

.stage-v2-fill-evaluation span {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: .28rem .55rem;
    align-items: center;
    border-bottom: 1px solid rgba(18, 50, 58, .06);
    padding-bottom: .38rem;
}

.stage-v2-fill-evaluation span:last-child {
    border-bottom: 0;
    padding-bottom: 0;
}

.stage-v2-fill-evaluation strong,
.stage-v2-fill-evaluation b {
    color: var(--c-text);
    font-size: .82rem;
    font-weight: 950;
    line-height: 1.15;
}

.stage-v2-fill-evaluation em {
    grid-column: 1 / -1;
    color: var(--c-muted);
    font-size: .72rem;
    font-weight: 850;
    font-style: normal;
    line-height: 1.3;
}

.stage-v2-bucket-point-list {
    display: grid;
    gap: .55rem;
    border: 1px solid rgba(0, 105, 137, .14);
    border-radius: var(--r-lg);
    background: rgba(240, 249, 252, .42);
    padding: .85rem .95rem;
}

.stage-v2-bucket-point-list > div {
    display: grid;
    gap: .12rem;
}

.stage-v2-bucket-point-list > div strong {
    color: var(--c-text);
    font-size: .95rem;
    font-weight: 950;
}

.stage-v2-bucket-point-list > div span,
.stage-v2-bucket-point-list article span {
    color: var(--c-muted);
    font-size: .78rem;
    font-weight: 850;
    line-height: 1.35;
}

.stage-v2-bucket-point-list article {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: .55rem;
    align-items: center;
    border: 1px solid rgba(18, 50, 58, .08);
    border-radius: var(--r-md);
    background: rgba(255,255,255,.74);
    padding: .62rem .72rem;
}

.stage-v2-bucket-point-list article strong,
.stage-v2-bucket-point-list article b {
    color: var(--c-text);
    font-size: .9rem;
    font-weight: 950;
    line-height: 1.15;
}

@media (max-width: 760px) {
    .stage-v2-bucket-point-list article {
        grid-template-columns: 1fr;
    }
}


 

 
.unit-fill-overview {
    display: grid;
    gap: .75rem;
    padding: var(--sp-md);
    border: 1px solid rgba(148, 163, 184, .24);
    border-radius: var(--radius-lg);
    background: linear-gradient(180deg, rgba(255,255,255,.9), rgba(248,250,252,.72));
    margin-bottom: var(--sp-md);
}
.unit-fill-overview__head {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 1rem;
    border-bottom: 1px solid rgba(148, 163, 184, .18);
    padding-bottom: .65rem;
}
.unit-fill-overview__head strong { display:block; font-size: 1rem; }
.unit-fill-overview__head span { display:block; color: var(--c-muted); margin-top:.15rem; }
.unit-fill-overview__head em {
    font-style: normal;
    font-weight: 900;
    color: var(--c-text);
    white-space: nowrap;
}
.unit-fill-overview__summary {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: .55rem;
}
.unit-fill-overview__summary span,
.unit-fill-overview__areas article,
.unit-fill-overview__empty {
    border: 1px solid rgba(148, 163, 184, .2);
    border-radius: var(--radius-md);
    background: rgba(255,255,255,.72);
    padding: .65rem .75rem;
}
.unit-fill-overview__summary strong,
.unit-fill-overview__areas strong,
.unit-fill-overview__empty strong { display:block; color: var(--c-text); }
.unit-fill-overview__summary small,
.unit-fill-overview__areas span,
.unit-fill-overview__empty span { display:block; color: var(--c-muted); margin-top:.18rem; }
.unit-fill-overview__areas {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: .55rem;
}
.unit-fill-editor-details,
.unit-fill-saved-details,
.unit-fill-expert-details {
    margin-top: .7rem;
}
.unit-fill-expert-details > summary {
    color: var(--c-muted);
}
@media (max-width: 820px) {
    .unit-fill-overview__head { display:grid; }
    .unit-fill-overview__summary,
    .unit-fill-overview__areas { grid-template-columns: 1fr; }
    .unit-fill-overview__head em { white-space: normal; }
}


 

 
.unit-fill-overview__proposal {
    display: grid;
    gap: .18rem;
}
.unit-fill-overview__proposal small {
    display: block;
    margin-top: .25rem;
    color: var(--c-muted);
    line-height: 1.35;
}
.unit-fill-tabset--quick .unit-output-tab-nav label {
    min-width: 10rem;
}
.unit-fill-manual-details {
    margin-top: .7rem;
}
.unit-fill-manual-details > summary {
    color: var(--c-muted);
}

 

 
.unit-fill-overview--slim {
    gap: .62rem;
    padding: .82rem .9rem;
    margin-bottom: .65rem;
}
.unit-fill-overview__head--slim {
    padding-bottom: .5rem;
}
.unit-fill-overview__head--slim strong {
    font-size: .96rem;
}
.unit-fill-overview__head--slim span {
    font-size: .82rem;
}
.unit-fill-current-line {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .45rem .8rem;
    border: 1px solid rgba(148, 163, 184, .2);
    border-radius: var(--radius-md);
    background: rgba(255,255,255,.76);
    padding: .62rem .72rem;
}
.unit-fill-current-line strong {
    color: var(--c-text);
    font-size: .95rem;
    font-weight: 950;
}
.unit-fill-current-line span {
    color: var(--c-muted);
    font-size: .82rem;
    font-weight: 800;
}
.unit-fill-current-line--proposal {
    display: grid;
    gap: .18rem;
}
.unit-fill-overview__note {
    margin: 0;
    color: var(--c-muted);
    font-size: .82rem;
    line-height: 1.35;
}
.unit-fill-chipbar {
    display: flex;
    flex-wrap: wrap;
    gap: .42rem;
}
.unit-fill-chip {
    display: inline-flex;
    align-items: center;
    gap: .35rem;
    border: 1px solid rgba(148, 163, 184, .22);
    border-radius: 999px;
    background: rgba(255,255,255,.78);
    padding: .38rem .55rem;
    min-height: 2rem;
}
.unit-fill-chip strong {
    color: var(--c-text);
    font-size: .82rem;
    font-weight: 950;
}
.unit-fill-chip small {
    color: var(--c-muted);
    font-size: .76rem;
    font-weight: 850;
}
.unit-fill-editor-details,
.unit-fill-manual-details {
    margin-top: .55rem;
}
.unit-fill-editor-details > summary,
.unit-fill-manual-details > summary {
    font-weight: 900;
}
.unit-fill-flow--compact {
    margin-top: .55rem;
}
.unit-fill-flow--compact .unit-output-flow__head--compact {
    padding-bottom: .4rem;
}
.unit-fill-flow--compact .unit-output-action-zone__head {
    padding: .6rem .72rem;
}
.unit-fill-flow--compact .unit-output-tab-nav label {
    padding: .62rem .7rem;
}
.unit-fill-detail-table {
    display: grid;
    gap: .35rem;
    margin-top: .55rem;
}
.unit-fill-detail-table__head,
.unit-fill-detail-row {
    display: grid;
    grid-template-columns: 1.2fr 1.1fr minmax(0, 1.5fr) auto;
    gap: .55rem;
    align-items: center;
}
.unit-fill-detail-table__head {
    color: var(--c-muted);
    font-size: .72rem;
    font-weight: 950;
    text-transform: uppercase;
    letter-spacing: .02em;
    padding: 0 .65rem;
}
.unit-fill-detail-row {
    border: 1px solid rgba(148, 163, 184, .18);
    border-radius: var(--radius-md);
    background: rgba(255,255,255,.7);
    padding: .58rem .65rem;
}
.unit-fill-detail-row strong,
.unit-fill-detail-row span {
    display: block;
    color: var(--c-text);
    font-size: .84rem;
    font-weight: 900;
    line-height: 1.25;
}
.unit-fill-detail-row small {
    display: block;
    color: var(--c-muted);
    font-size: .76rem;
    font-weight: 780;
    line-height: 1.3;
    margin-top: .1rem;
}
.unit-fill-manual-help {
    margin: .45rem 0 .35rem;
    color: var(--c-muted);
    font-size: .82rem;
    line-height: 1.35;
}
.unit-fill-manual-form {
    margin-top: .7rem;
    border-top: 1px solid rgba(148, 163, 184, .16);
    padding-top: .7rem;
}
.unit-fill-manual-form__head {
    display: grid;
    gap: .12rem;
    margin-bottom: .55rem;
}
.unit-fill-manual-form__head strong {
    color: var(--c-text);
    font-size: .92rem;
    font-weight: 950;
}
.unit-fill-manual-form__head span {
    color: var(--c-muted);
    font-size: .8rem;
    font-weight: 800;
}
@media (max-width: 900px) {
    .unit-fill-detail-table__head { display:none; }
    .unit-fill-detail-row {
        grid-template-columns: 1fr;
        align-items: stretch;
    }
    .unit-fill-detail-row form { justify-self: start; }
}

 

 
.unit-panel-edit-action {
    display: inline-flex;
    align-items: center;
    gap: .35rem;
}
.unit-panel-edit-action__icon {
    width: .92rem;
    height: .92rem;
    fill: none;
    stroke: currentColor;
    stroke-width: 2;
    stroke-linecap: square;
    stroke-linejoin: round;
}
.unit-fill-modal .modal__body {
    padding: .9rem;
}
.unit-fill-modal__body {
    display: grid;
    gap: .75rem;
}
.unit-fill-modal .unit-fill-flow--compact {
    margin: 0;
}
.unit-fill-manual-details--modal {
    margin-top: 0;
}
.unit-fill-manual-details--modal > summary {
    font-weight: 950;
}

 

 
.unit-fill-panel-body {
    display: grid;
    gap: .72rem;
}

.unit-fill-summary {
    display: flex;
    flex-wrap: wrap;
    gap: .45rem;
    align-items: center;
}

.unit-fill-summary__item {
    display: inline-flex;
    align-items: center;
    gap: .28rem;
    padding: .28rem .62rem;
    border: 1px solid var(--c-border);
    border-radius: 999px;
    background: var(--c-soft);
    color: var(--c-muted);
    font-size: .84rem;
    font-weight: 800;
}

.unit-fill-summary__item strong {
    color: var(--c-text);
    font-weight: 950;
}

.unit-fill-entry-list {
    display: grid;
    gap: .55rem;
}

.unit-fill-entry-row {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: var(--sp-sm);
    padding: .75rem .85rem;
    border: 1px solid var(--c-border);
    border-radius: var(--radius-md);
    background: rgba(255,255,255,.66);
}

.unit-fill-entry-row__main {
    display: grid;
    gap: .22rem;
    min-width: 0;
}

.unit-fill-entry-row__main strong {
    font-size: .96rem;
    color: var(--c-text);
}

.unit-fill-entry-row__main span,
.unit-fill-entry-row__main small {
    color: var(--c-muted);
    font-size: .84rem;
    line-height: 1.35;
}

.unit-fill-entry-row__action {
    flex: 0 0 auto;
}

.unit-fill-empty-proposal {
    margin-top: 0;
}

@media (max-width: 760px) {
    .unit-fill-entry-row {
        display: grid;
    }
    .unit-fill-entry-row__action {
        justify-self: start;
    }
}

 

 
.unit-fill-modal .modal__body {
    padding: .9rem 1.05rem;
}

.unit-fill-modal__body {
    gap: .7rem;
}

.unit-fill-quick {
    margin: 0;
    padding: 0;
}

.unit-fill-quick__head {
    display: flex;
    justify-content: space-between;
    gap: var(--sp-md);
    align-items: baseline;
    margin: 0 0 .72rem;
}

.unit-fill-quick__head strong,
.unit-fill-quick__head span {
    display: block;
}

.unit-fill-quick__head strong {
    color: var(--c-text);
    font-size: .98rem;
    font-weight: 950;
}

.unit-fill-quick__head span {
    margin-top: .12rem;
    color: var(--c-muted);
    font-size: .86rem;
    font-weight: 780;
    line-height: 1.35;
}

.unit-fill-tabset--plain {
    display: grid;
    gap: .72rem;
}

.unit-fill-choice-grid.unit-output-tab-nav {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: .55rem;
    border: 0;
    background: transparent;
    overflow: visible;
}

.unit-fill-choice-grid.unit-output-tab-nav label {
    min-width: 0;
    border: 1px solid var(--c-border);
    border-radius: var(--radius-md);
    background: var(--c-soft);
    padding: .72rem .78rem;
    box-shadow: none;
}

.unit-fill-choice-grid.unit-output-tab-nav label:last-child {
    border-right: 1px solid var(--c-border);
}

.unit-fill-choice-grid.unit-output-tab-nav label span {
    font-size: .74rem;
}

.unit-fill-choice-grid.unit-output-tab-nav label strong {
    font-size: .94rem;
}

.unit-fill-choice-grid.unit-output-tab-nav label small {
    font-size: .8rem;
}

.unit-fill-tabset input[id$="_filltotal"]:checked ~ .unit-fill-choice-grid label[for$="_filltotal"],
.unit-fill-tabset input[id$="_fillsplit"]:checked ~ .unit-fill-choice-grid label[for$="_fillsplit"],
.unit-fill-tabset input[id$="_fillrest"]:checked ~ .unit-fill-choice-grid label[for$="_fillrest"],
.unit-fill-tabset input[id$="_fillsegment"]:checked ~ .unit-fill-choice-grid label[for$="_fillsegment"] {
    background: var(--c-surface);
    border-color: rgba(37, 99, 235, .32);
    box-shadow: inset 0 3px 0 var(--c-primary), var(--shadow-sm);
}

.unit-fill-fields.unit-output-tab-panels {
    border: 0;
    background: transparent;
}

.unit-fill-fields .unit-output-tab-panel {
    padding: 0;
}

.unit-fill-selected-note {
    margin: .12rem 0 .72rem;
    padding: 0 0 0 .72rem;
    border-left: 3px solid rgba(37, 99, 235, .34);
}

.unit-fill-selected-note strong,
.unit-fill-selected-note span {
    display: block;
}

.unit-fill-selected-note strong {
    color: var(--c-text);
    font-size: .98rem;
    font-weight: 950;
}

.unit-fill-selected-note span {
    margin-top: .14rem;
    color: var(--c-muted);
    font-size: .86rem;
    font-weight: 780;
    line-height: 1.35;
}

.unit-fill-quick-form {
    padding: 0;
}

.unit-fill-modal .unit-fill-manual-details--modal {
    border-top: 1px solid rgba(148, 163, 184, .18);
    padding-top: .68rem;
}

@media (max-width: 900px) {
    .unit-fill-choice-grid.unit-output-tab-nav {
        grid-template-columns: 1fr;
    }
    .unit-fill-quick__head {
        display: grid;
    }
}

 

 
.stage-v2-silo-bucket-summary {
    display: flex;
    flex-wrap: wrap;
    gap: .32rem .5rem;
    align-items: baseline;
    border-top: 1px solid rgba(18, 50, 58, .06);
    padding-top: .48rem;
    margin-top: .12rem;
}

.stage-v2-silo-bucket-summary strong {
    color: var(--c-text);
    font-size: .9rem;
    font-weight: 950;
    line-height: 1.18;
}

.stage-v2-silo-bucket-summary span {
    color: var(--c-muted);
    font-size: .84rem;
    font-weight: 900;
    line-height: 1.2;
}

 

 
.stage-v2-status__focus-meta {
    display: flex;
    flex-wrap: wrap;
    gap: .4rem;
    margin-top: .35rem;
}

.stage-v2-status__focus-meta em {
    display: inline-flex;
    align-items: center;
    border: 1px solid rgba(217, 119, 6, .24);
    border-radius: var(--r-pill);
    background: rgba(255, 251, 235, .82);
    color: #92400e;
    padding: .38rem .62rem;
    font-style: normal;
    font-weight: 950;
    white-space: nowrap;
}

 

 
.stage-v2-badge.is-arm {
    border-color: rgba(217, 119, 6, .26);
    background: rgba(255, 251, 235, .86);
}

.stage-v2-badge.is-arm small,
.stage-v2-badge.is-arm strong {
    color: #92400e;
}

.stage-v2-work-card--prepare .stage-v2-silo-bucket-summary {
    grid-column: 1 / -1;
    border-top: 0;
    border: 1px solid rgba(217, 119, 6, .16);
    border-radius: var(--r-md);
    background: rgba(255, 251, 235, .58);
    margin: 0;
    padding: .68rem .72rem;
}

.stage-v2-work-card--prepare .stage-v2-silo-bucket-summary strong {
    font-size: 1rem;
}

.stage-v2-work-line--soft {
    background: rgba(255,255,255,.42);
}

 

 
.stage-v2-prep-bucket-split {
    display: grid;
    grid-column: 1 / -1;
    gap: .38rem;
    border: 1px solid rgba(18, 50, 58, .08);
    border-radius: var(--r-md);
    background: rgba(255,255,255,.52);
    padding: .58rem .66rem;
}

.stage-v2-prep-bucket-split > small {
    color: var(--c-muted);
    font-size: .7rem;
    font-weight: 950;
    letter-spacing: .055em;
    text-transform: uppercase;
}

.stage-v2-prep-bucket-split span {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: baseline;
    gap: .5rem;
    border-top: 1px solid rgba(18, 50, 58, .055);
    padding-top: .34rem;
}

.stage-v2-prep-bucket-split span:first-of-type {
    border-top: 0;
    padding-top: 0;
}

.stage-v2-prep-bucket-split strong,
.stage-v2-prep-bucket-split b {
    color: var(--c-text);
    font-size: .82rem;
    font-weight: 950;
    line-height: 1.16;
}

  
.spider-overview {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
    margin-bottom: 14px;
}

.spider-main-rails {
    display: grid;
    gap: 18px;
}

.spider-rail-line {
    display: grid;
    grid-template-columns: 160px minmax(0, 1fr);
    gap: 14px;
    align-items: center;
}

.spider-rail-label strong,
.spider-crossrail-card__head strong {
    display: block;
    font-size: 1rem;
    color: var(--c-text);
}

.spider-rail-label span,
.spider-crossrail-card__head span {
    display: block;
    margin-top: 3px;
    color: var(--c-muted);
    font-size: .78rem;
    font-weight: 800;
    letter-spacing: .05em;
    text-transform: uppercase;
}

.spider-hole-row {
    display: grid;
    grid-template-columns: repeat(25, minmax(0, 1fr));
    gap: 5px;
    align-items: center;
    min-width: 0;
    padding: 12px;
    border: 1px solid var(--c-line);
    border-radius: 16px;
    background: rgba(255,255,255,.48);
}

.spider-hole {
    min-width: 0;
    display: grid;
    place-items: center;
    height: 28px;
    position: relative;
}

.spider-hole__dot {
    width: 9px;
    height: 9px;
    border: 2px solid rgba(15, 23, 42, .28);
    border-radius: 999px;
    background: rgba(255,255,255,.8);
}

.spider-hole--marker .spider-hole__marker {
    display: grid;
    place-items: center;
    width: 30px;
    height: 26px;
    color: #8a4b00;
    font-size: .72rem;
    font-weight: 900;
    position: relative;
    z-index: 1;
    left: -25%;
    align-items: end;
}

.spider-hole--marker .spider-hole__marker::before {
    content: '';
    position: absolute;
    inset: 2px 1px 1px;
    background: rgba(255, 185, 78, .28);
    border: 1px solid rgba(192, 111, 18, .38);
    clip-path: polygon(50% 0, 100% 100%, 0 100%);
    z-index: -1;
}

.spider-rail-distance {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: 10px 14px;
    border: 1px dashed var(--c-line-strong);
    border-radius: 14px;
    color: var(--c-muted);
    background: rgba(255,255,255,.34);
}

.spider-rail-distance strong {
    color: var(--c-text);
}

.spider-marker-list {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.spider-marker-chip {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 10px 13px;
    border: 1px solid rgba(192, 111, 18, .28);
    border-radius: 999px;
    background: rgba(255, 185, 78, .16);
    color: #8a4b00;
}

.spider-marker-chip em {
    color: var(--c-muted);
    font-style: normal;
    font-weight: 800;
}

.spider-crossrail-grid {
    display: grid;
    gap: 14px;
}

.spider-crossrail-card {
    border: 1px solid var(--c-line);
    border-radius: 18px;
    background: rgba(255,255,255,.48);
    padding: 16px;
}

.spider-crossrail-card__head {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    align-items: start;
    margin-bottom: 12px;
}

.spider-crossrail-facts {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 14px;
}

.spider-crossrail-facts span {
    display: inline-flex;
    gap: 6px;
    align-items: center;
    padding: 7px 10px;
    border: 1px solid var(--c-line);
    border-radius: 999px;
    color: var(--c-muted);
    background: rgba(255,255,255,.45);
}

.spider-crossrail-facts strong {
    color: var(--c-text);
}

.spider-crossrail-pattern {
    display: flex;
    align-items: center;
    overflow-x: auto;
    padding: 14px 10px;
    border: 1px solid var(--c-line);
    border-radius: 14px;
    background: rgba(248,250,252,.8);
    min-height: 64px;
}

.spider-crossrail-dot {
    flex: 0 0 auto;
    width: 30px;
    height: 30px;
    border-radius: 999px;
    border: 1px solid rgba(15,23,42,.22);
    background: rgba(255,255,255,.88);
    display: grid;
    place-items: center;
    font-size: .72rem;
    font-weight: 900;
    color: var(--c-text);
}

.spider-crossrail-dot--left {
    background: rgba(219,234,254,.75);
}

.spider-crossrail-dot--right {
    background: rgba(220,252,231,.75);
}

.spider-crossrail-gap {
    flex: 0 0 30px;
    height: 2px;
    background: rgba(15,23,42,.18);
    position: relative;
}

.spider-crossrail-gap--wide {
    flex-basis: 72px;
    background: rgba(192, 111, 18, .34);
}

.spider-crossrail-gap em {
    position: absolute;
    top: -18px;
    left: 50%;
    transform: translateX(-50%);
    white-space: nowrap;
    color: var(--c-muted);
    font-size: .68rem;
    font-style: normal;
    font-weight: 800;
}

@media (max-width: 980px) {
    .spider-overview {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .spider-rail-line {
        grid-template-columns: 1fr;
    }

    .spider-hole-row {
        overflow-x: auto;
        grid-template-columns: repeat(25, 24px);
    }
}

  
.workspace-layout--spider {
    grid-template-columns: minmax(0, 1fr);
}

.workspace-layout--spider .workspace-side {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--sp-lg);
}

.spider-fact-strip {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-bottom: 14px;
}

.spider-fact {
    min-width: 10.5rem;
    flex: 1 1 10.5rem;
    border: 1px solid var(--c-line);
    border-radius: 16px;
    background: rgba(255,255,255,.52);
    padding: 11px 13px;
}

.spider-fact span {
    display: block;
    color: var(--c-muted);
    font-size: .72rem;
    font-weight: 950;
    letter-spacing: .05em;
    text-transform: uppercase;
}

.spider-fact strong {
    display: block;
    margin-top: 2px;
    color: var(--c-text);
    font-size: 1.08rem;
    font-weight: 950;
    line-height: 1.18;
}

.spider-fact em {
    display: block;
    margin-top: 2px;
    color: var(--c-muted);
    font-size: .78rem;
    font-style: normal;
    font-weight: 800;
}

.spider-hole-row {
    grid-template-columns: repeat(25, 28px);
    justify-content: start;
    overflow-x: auto;
}

.spider-main-rails {
    min-width: 0;
}

.spider-crossrail-card {
    padding: 14px;
}

.spider-crossrail-card__head {
    margin-bottom: 10px;
}

.spider-crossrail-group-list {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
    margin: 12px 0;
}

.spider-crossrail-group {
    border: 1px solid var(--c-line);
    border-radius: 16px;
    background: rgba(255,255,255,.55);
    padding: 12px;
    min-height: 82px;
}

.spider-crossrail-group strong,
.spider-crossrail-group span,
.spider-crossrail-group em {
    display: block;
}

.spider-crossrail-group strong {
    color: var(--c-text);
    font-size: .95rem;
    font-weight: 950;
}

.spider-crossrail-group span {
    margin-top: 4px;
    color: var(--c-muted);
    font-size: .8rem;
    font-weight: 850;
}

.spider-crossrail-group em {
    margin-top: 7px;
    color: var(--c-text);
    font-size: .82rem;
    font-style: normal;
    font-weight: 950;
}

.spider-crossrail-group--left {
    background: rgba(219,234,254,.45);
}

.spider-crossrail-group--center {
    background: rgba(255,247,237,.62);
    border-color: rgba(192,111,18,.24);
}

.spider-crossrail-group--right {
    background: rgba(220,252,231,.48);
}

.spider-crossrail-details {
    margin-top: 10px;
}

.spider-crossrail-details summary {
    cursor: pointer;
    color: var(--c-muted);
    font-size: .82rem;
    font-weight: 900;
    padding: 7px 0;
}

.spider-crossrail-details .spider-crossrail-pattern {
    margin-top: 6px;
}

.spider-crossrail-note {
    margin-top: 10px;
}

@media (max-width: 980px) {
    .workspace-layout--spider .workspace-side,
    .spider-crossrail-group-list {
        grid-template-columns: 1fr;
    }

    .spider-fact {
        flex-basis: calc(50% - 10px);
    }
}

  
.spider-top-view-shell {
    display: grid;
    gap: 10px;
}

.spider-top-view-canvas {
    overflow-x: auto;
    border: 1px solid rgba(0, 105, 137, .24);
    border-radius: 20px;
    background: rgba(248,251,252,.92);
    padding: 10px;
}

.spider-top-view-svg {
    display: block;
    width: 100%;
    min-width: 720px;
    height: auto;
    max-width: 100%;
}

.spider-svg-bg {
    fill: rgba(255,255,255,.64);
    stroke: rgba(0,105,137,.14);
    stroke-width: 2;
}

.spider-svg-spider-circle {
    fill: rgba(233, 243, 246, .96);
    stroke: rgba(53,97,115,.58);
    stroke-width: 4;
}

.spider-svg-texture-fill {
    fill: url(#spiderGratePattern);
}

.spider-svg-grate-band,
.spider-svg-grate-segment {
    fill: rgba(157, 214, 232, .42);
    stroke: rgba(0,105,137,.18);
    stroke-width: 1.2;
}

.spider-svg-grate-coarse {
    fill: url(#spiderCoarseGratePattern);
    opacity: .72;
}

.spider-svg-grate-edge {
    fill: none;
    stroke: rgba(53,97,115,.28);
    stroke-width: 1.4;
}

.spider-svg-grate-rib {
    fill: rgba(0, 105, 137, .36);
}

.spider-svg-gridline {
    stroke: rgba(0,105,137,.10);
    stroke-width: 1;
}

.spider-svg-center-square {
    fill: rgba(255,255,255,.46);
    stroke: rgba(53,97,115,.38);
    stroke-width: 2.4;
}

.spider-svg-center-hub {
    fill: rgba(255,255,255,.82);
    stroke: rgba(53,97,115,.64);
    stroke-width: 2.8;
}

.spider-svg-center-label {
    fill: var(--c-muted);
    font-size: 14px;
    font-weight: 850;
    dominant-baseline: middle;
}

.spider-svg-center-label--small {
    font-size: 12px;
    text-anchor: start;
}

.spider-svg-rail {
    fill: #12323a;
    stroke: none;
    filter: drop-shadow(0 5px 8px rgba(15,23,42,.10));
}

.spider-svg-rail-label {
    fill: var(--c-muted);
    font-size: 16px;
    font-weight: 900;
    letter-spacing: .02em;
}

.spider-svg-hole-dot {
    fill: #fff;
    stroke: rgba(15,23,42,.42);
    stroke-width: 2.2;
}

.spider-svg-hole--marker .spider-svg-hole-dot {
    fill: rgba(255,247,237,.98);
    stroke: rgba(138,75,0,.68);
}

.spider-svg-marker-triangle {
    fill: rgba(255,185,78,.30);
    stroke: rgba(138,75,0,.62);
    stroke-width: 2.4;
}

.spider-svg-marker-label {
    fill: #8a4b00;
    font-size: 13px;
    font-weight: 950;
    text-anchor: middle;
    dominant-baseline: middle;
}

.spider-svg-zone-label {
    fill: var(--c-muted);
    font-size: 14px;
    font-weight: 900;
    text-anchor: middle;
}

.spider-svg-side-note {
    fill: var(--c-muted);
    font-size: 14px;
    font-weight: 850;
    text-anchor: middle;
    dominant-baseline: middle;
}

.spider-svg-measure,
.spider-svg-measure-tick {
    stroke: rgba(15,23,42,.38);
    stroke-width: 2;
    stroke-dasharray: 7 6;
}

.spider-svg-measure-label {
    fill: var(--c-muted);
    font-size: 15px;
    font-weight: 900;
    dominant-baseline: middle;
}

.spider-svg-measure-label--center {
    text-anchor: middle;
    dominant-baseline: auto;
}

.spider-svg-scale-note {
    fill: var(--c-muted);
    font-size: 14px;
    font-weight: 850;
    letter-spacing: .01em;
}

.spider-top-view-legend {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    align-items: center;
}

.spider-top-view-legend span {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 7px 10px;
    border: 1px solid var(--c-line);
    border-radius: 999px;
    background: rgba(255,255,255,.52);
    color: var(--c-muted);
    font-size: .78rem;
    font-weight: 850;
}

.spider-legend-dot,
.spider-legend-rail,
.spider-legend-triangle,
.spider-legend-grate {
    display: inline-block;
    flex: 0 0 auto;
}

.spider-legend-dot {
    width: 10px;
    height: 10px;
    border-radius: 999px;
    border: 2px solid rgba(15,23,42,.42);
    background: #fff;
}

.spider-legend-rail {
    width: 22px;
    height: 8px;
    background: #12323a;
}

.spider-legend-triangle {
    width: 0;
    height: 0;
    border-left: 8px solid transparent;
    border-right: 8px solid transparent;
    border-bottom: 14px solid rgba(255,185,78,.72);
}

.spider-legend-grate {
    width: 18px;
    height: 14px;
    border: 1px solid rgba(0,105,137,.24);
    background:
        linear-gradient(90deg, rgba(0,105,137,.12) 1px, transparent 1px),
        linear-gradient(0deg, rgba(0,105,137,.12) 1px, transparent 1px),
        rgba(255,255,255,.36);
    background-size: 6px 6px;
}

.spider-top-view-facts {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 8px;
}

.spider-top-view-facts span {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 7px 10px;
    border: 1px solid var(--c-line);
    border-radius: 999px;
    background: rgba(255,255,255,.52);
    color: var(--c-muted);
    font-size: .78rem;
    font-weight: 850;
}

.spider-top-view-note {
    margin: 0;
}

@media (max-width: 760px) {
    .spider-top-view-svg {
        min-width: 560px;
    }
}


  
.spider-selected-hole-card {
    display: grid;
    gap: 5px;
    padding: 12px 14px;
    border: 1px solid rgba(0, 105, 137, .24);
    border-radius: 16px;
    background: rgba(255,255,255,.62);
}

.spider-selected-hole-card strong {
    color: var(--c-text);
    font-size: .96rem;
    font-weight: 950;
}

.spider-selected-hole-card span {
    color: var(--c-muted);
    font-size: .84rem;
    font-weight: 850;
    line-height: 1.35;
}

.spider-selected-hole-card em {
    color: var(--c-muted);
    font-size: .78rem;
    font-style: normal;
    font-weight: 800;
    line-height: 1.35;
}

.spider-hole {
    text-decoration: none;
    border-radius: 999px;
    outline: none;
}

.spider-hole:hover .spider-hole__dot,
.spider-hole:focus-visible .spider-hole__dot {
    border-color: rgba(0,105,137,.76);
    box-shadow: 0 0 0 4px rgba(0,105,137,.12);
}

.spider-hole--selected .spider-hole__dot,
.spider-hole--selected .spider-hole__marker::before {
    border-color: rgba(0,105,137,.82);
    box-shadow: 0 0 0 5px rgba(0,105,137,.14);
}

.spider-svg-hole {
    cursor: pointer;
    outline: none;
    text-decoration: none;
}

.spider-svg-hole:hover .spider-svg-hole-dot,
.spider-svg-hole:focus .spider-svg-hole-dot {
    stroke: rgba(0,105,137,.82);
    stroke-width: 3.2;
}

.spider-svg-hole-selected-ring {
    fill: rgba(0,105,137,.12);
    stroke: rgba(0,105,137,.72);
    stroke-width: 2.4;
}

.spider-svg-hole--selected .spider-svg-hole-dot {
    fill: rgba(255,255,255,.98);
    stroke: rgba(0,105,137,.88);
    stroke-width: 3;
}

  
.spider-selected-crossrail-card {
    display: grid;
    gap: 8px;
    padding: 13px 14px;
    border: 1px solid rgba(192, 111, 18, .28);
    border-radius: 16px;
    background: rgba(255,247,237,.64);
    margin-bottom: 12px;
}

.spider-selected-crossrail-card__main {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    align-items: flex-start;
}

.spider-selected-crossrail-card strong {
    display: block;
    color: var(--c-text);
    font-size: .96rem;
    font-weight: 950;
}

.spider-selected-crossrail-card span {
    display: block;
    margin-top: 3px;
    color: var(--c-muted);
    font-size: .84rem;
    font-weight: 850;
    line-height: 1.35;
}

.spider-selected-crossrail-card em {
    color: var(--c-muted);
    font-size: .79rem;
    font-style: normal;
    font-weight: 850;
    line-height: 1.35;
}

.spider-selected-crossrail-card b {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 6px 9px;
    border: 1px solid rgba(192,111,18,.32);
    border-radius: 999px;
    background: rgba(255,255,255,.55);
    color: #8a4b00;
    font-size: .72rem;
    font-weight: 950;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.spider-crossrail-card--selected {
    border-color: rgba(192,111,18,.45);
    background: rgba(255,247,237,.74);
    box-shadow: 0 12px 24px rgba(15,23,42,.06);
}

.spider-crossrail-card__actions {
    display: grid;
    justify-items: end;
    gap: 7px;
}

.spider-crossrail-card__actions .btn {
    white-space: nowrap;
}

.spider-legend-adapter {
    width: 24px;
    height: 10px;
    border-radius: 0;
    background: #12323a;
    position: relative;
    box-shadow: 0 0 0 1px rgba(15,23,42,.14);
}

.spider-legend-adapter::before,
.spider-legend-adapter::after {
    content: '';
    position: absolute;
    top: 50%;
    width: 5px;
    height: 5px;
    border-radius: 999px;
    background: #fff;
    border: 1px solid rgba(15,23,42,.45);
    transform: translateY(-50%);
}

.spider-legend-adapter::before { left: 5px; }
.spider-legend-adapter::after { right: 5px; }

@media (max-width: 760px) {
    .spider-selected-crossrail-card__main,
    .spider-crossrail-card__head {
        align-items: stretch;
        flex-direction: column;
    }

    .spider-crossrail-card__actions {
        justify-items: start;
    }
}

  
.spider-mount-preview-card {
    display: grid;
    gap: 6px;
    padding: 12px 14px;
    border: 1px solid rgba(192, 111, 18, .30);
    border-radius: 16px;
    background: rgba(255, 251, 235, .68);
}

.spider-mount-preview-card__head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

.spider-mount-preview-card strong {
    color: var(--c-text);
    font-size: .96rem;
    font-weight: 950;
}

.spider-mount-preview-card span,
.spider-mount-preview-card em {
    color: var(--c-muted);
    font-size: .82rem;
    font-weight: 850;
    line-height: 1.35;
}

.spider-mount-preview-card em {
    font-style: normal;
}

.spider-mount-preview-card b {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 5px 8px;
    border: 1px solid rgba(192,111,18,.32);
    border-radius: 999px;
    background: rgba(255,255,255,.58);
    color: #8a4b00;
    font-size: .68rem;
    font-weight: 950;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.spider-svg-q-preview-guide {
    stroke: rgba(192,111,18,.38);
    stroke-width: 2.1;
    stroke-dasharray: 8 7;
}

.spider-svg-q-preview-body {
    fill: #12323a;
    stroke: rgba(15,23,42,.68);
    stroke-width: 2.2;
    filter: drop-shadow(0 5px 8px rgba(15,23,42,.10));
}

.spider-svg-q-preview-hole {
    fill: #fff;
    stroke: rgba(15,23,42,.42);
    stroke-width: 2.0;
}

.spider-svg-q-preview-hole--center,
.spider-svg-q-preview-hole--left,
.spider-svg-q-preview-hole--right {
    fill: #fff;
}

.spider-svg-q-preview-hole--connector {
    fill: rgba(255,247,237,.98);
    stroke: rgba(138,75,0,.82);
    stroke-width: 2.7;
}

.spider-svg-q-preview-anchor,
.spider-svg-q-preview-opposite-anchor {
    fill: rgba(255,247,237,.16);
    stroke: rgba(192,111,18,.92);
    stroke-width: 3;
}

.spider-svg-q-preview-opposite-anchor {
    stroke-dasharray: 5 4;
    opacity: .9;
}

.spider-svg-q-preview-label,
.spider-svg-q-preview-anchor-label,
.spider-svg-q-preview-opposite-label {
    fill: #8a4b00;
    font-size: 12.5px;
    font-weight: 950;
    dominant-baseline: middle;
}

.spider-svg-q-preview-anchor-label,
.spider-svg-q-preview-opposite-label {
    font-size: 11.5px;
}

@media (max-width: 760px) {
    .spider-mount-preview-card__head {
        align-items: flex-start;
        flex-direction: column;
    }
}
.spider-svg-q-preview {
    pointer-events: none;
}

  
.spider-mount-zoom {
    display: grid;
    gap: 12px;
    margin-top: 14px;
    padding: 12px;
    border: 1px solid rgba(0, 105, 137, .20);
    border-radius: 20px;
    background: rgba(248,251,252,.72);
}

.spider-mount-zoom__head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 14px;
    padding: 2px 2px 0;
}

.spider-mount-zoom__head strong,
.spider-mount-zoom__empty strong {
    display: block;
    color: var(--c-text);
    font-size: .98rem;
    font-weight: 950;
}

.spider-mount-zoom__head span,
.spider-mount-zoom__empty span {
    display: block;
    margin-top: 4px;
    color: var(--c-muted);
    font-size: .82rem;
    font-weight: 850;
    line-height: 1.36;
}

.spider-mount-zoom__head b {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 6px 9px;
    border: 1px solid rgba(192,111,18,.32);
    border-radius: 999px;
    background: rgba(255,255,255,.60);
    color: #8a4b00;
    font-size: .69rem;
    font-weight: 950;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.spider-mount-zoom__empty {
    display: grid;
    gap: 4px;
    padding: 16px;
    border: 1px dashed rgba(0,105,137,.24);
    border-radius: 18px;
    background: rgba(255,255,255,.54);
}

.spider-mount-zoom__canvas {
    overflow-x: auto;
    border: 1px solid rgba(0,105,137,.18);
    border-radius: 18px;
    background: rgba(255,255,255,.52);
}

.spider-mount-zoom-svg {
    display: block;
    width: 100%;
    min-width: 860px;
    height: auto;
}

.spider-zoom-bg {
    fill: rgba(255,255,255,.70);
    stroke: rgba(0,105,137,.14);
    stroke-width: 2;
}

.spider-zoom-title {
    fill: var(--c-text);
    font-size: 18px;
    font-weight: 950;
}

.spider-zoom-subtitle,
.spider-zoom-note {
    fill: var(--c-muted);
    font-size: 14px;
    font-weight: 850;
}

.spider-zoom-note {
    font-size: 13px;
}

.spider-zoom-relation-line {
    stroke: rgba(192,111,18,.34);
    stroke-width: 3;
    stroke-dasharray: 10 8;
}

.spider-zoom-rail-body,
.spider-zoom-q-body {
    fill: #12323a;
    stroke: rgba(15,23,42,.68);
    stroke-width: 2.2;
    filter: drop-shadow(0 6px 10px rgba(15,23,42,.10));
}

.spider-zoom-rail-label {
    fill: var(--c-muted);
    font-size: 15px;
    font-weight: 950;
    dominant-baseline: middle;
}

.spider-zoom-main-hole {
    cursor: pointer;
    text-decoration: none;
    outline: none;
}

.spider-zoom-main-hole-dot,
.spider-zoom-q-hole {
    fill: #fff;
    stroke: rgba(15,23,42,.46);
    stroke-width: 2.2;
}

.spider-zoom-main-hole--marker .spider-zoom-main-hole-dot {
    fill: rgba(255,247,237,.98);
    stroke: rgba(138,75,0,.72);
}

.spider-zoom-main-hole:hover .spider-zoom-main-hole-dot,
.spider-zoom-main-hole:focus .spider-zoom-main-hole-dot {
    stroke: rgba(0,105,137,.86);
    stroke-width: 3.2;
}

.spider-zoom-main-hole-ring {
    fill: transparent;
    stroke: rgba(0,105,137,.76);
    stroke-width: 3;
}

.spider-zoom-main-hole--opposite .spider-zoom-main-hole-ring {
    stroke: rgba(192,111,18,.76);
    stroke-dasharray: 6 5;
}

.spider-zoom-main-hole--selected .spider-zoom-main-hole-dot,
.spider-zoom-main-hole--opposite .spider-zoom-main-hole-dot {
    fill: rgba(255,247,237,.98);
    stroke: rgba(138,75,0,.82);
    stroke-width: 3;
}

.spider-zoom-hole-no {
    fill: var(--c-muted);
    font-size: 13px;
    font-weight: 900;
    text-anchor: middle;
}

.spider-zoom-marker-triangle {
    fill: rgba(255,185,78,.30);
    stroke: rgba(138,75,0,.62);
    stroke-width: 2.4;
}

.spider-zoom-marker-label {
    fill: #8a4b00;
    font-size: 14px;
    font-weight: 950;
    text-anchor: middle;
    dominant-baseline: middle;
}

.spider-zoom-q-label,
.spider-zoom-connector-label {
    fill: #8a4b00;
    font-size: 14px;
    font-weight: 950;
    dominant-baseline: middle;
}

.spider-zoom-connector-label {
    font-size: 13px;
}

.spider-zoom-q-hole--connector {
    fill: rgba(255,247,237,.98);
    stroke: rgba(138,75,0,.84);
    stroke-width: 3;
}

.spider-zoom-q-hole--selected-connector {
    stroke: rgba(192,111,18,.96);
    stroke-width: 4;
}

.spider-zoom-q-hole--opposite-connector {
    stroke: rgba(192,111,18,.82);
    stroke-width: 3.2;
    stroke-dasharray: 4 3;
}

.spider-mount-zoom__facts {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 8px;
}

.spider-mount-zoom__facts span {
    display: grid;
    gap: 3px;
    padding: 10px 12px;
    border: 1px solid rgba(0,105,137,.16);
    border-radius: 14px;
    background: rgba(255,255,255,.58);
    color: var(--c-muted);
    font-size: .79rem;
    font-weight: 850;
}

.spider-mount-zoom__facts strong {
    color: var(--c-text);
    font-size: .72rem;
    font-weight: 950;
    letter-spacing: .04em;
    text-transform: uppercase;
}

@media (max-width: 980px) {
    .spider-mount-zoom__facts {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 760px) {
    .spider-mount-zoom__head {
        align-items: stretch;
        flex-direction: column;
    }

    .spider-mount-zoom__facts {
        grid-template-columns: 1fr;
    }

    .spider-mount-zoom-svg {
        min-width: 760px;
    }
}

 

 
.spider-mount-zoom--compact {
    gap: 10px;
    padding: 10px;
}

.spider-mount-zoom__canvas--compact {
    background: rgba(255,255,255,.58);
}

.spider-mount-zoom-svg--compact {
    min-width: 820px;
}

.spider-zoom-q-body--horizontal {
    filter: drop-shadow(0 6px 10px rgba(15,23,42,.10));
}

.spider-zoom-q-hole--horizontal {
    fill: #fff;
    stroke: rgba(15,23,42,.48);
    stroke-width: 2.2;
}

.spider-zoom-inner-bracket {
    stroke: rgba(0,105,137,.42);
    stroke-width: 2.5;
    stroke-linecap: round;
}

.spider-zoom-inner-label {
    fill: var(--c-muted);
    font-size: 13px;
    font-weight: 950;
    text-anchor: middle;
}

.spider-zoom-hole-no--q {
    fill: var(--c-muted);
    font-size: 12px;
    font-weight: 900;
}

.spider-zoom-connector-label--start {
    text-anchor: start;
}

.spider-zoom-connector-label--end {
    text-anchor: end;
}

@media (max-width: 760px) {
    .spider-mount-zoom-svg--compact {
        min-width: 760px;
    }
}

  
.spider-unit-profile-focus {
    display: grid;
    gap: 10px;
    padding: 12px 14px;
    border: 1px solid rgba(0,105,137,.18);
    border-radius: 18px;
    background: rgba(248,251,252,.74);
}

.spider-unit-profile-focus > div:first-child strong,
.spider-unit-profile-focus__head strong {
    display: block;
    color: var(--c-text);
    font-size: .98rem;
    font-weight: 950;
}

.spider-unit-profile-focus > div:first-child span,
.spider-unit-profile-focus__head span,
.spider-unit-profile-focus > em {
    display: block;
    margin-top: 4px;
    color: var(--c-muted);
    font-size: .82rem;
    font-style: normal;
    font-weight: 850;
    line-height: 1.36;
}

.spider-unit-profile-focus__head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
}

.spider-unit-method {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 6px 9px;
    border-radius: 999px;
    border: 1px solid rgba(100,116,139,.26);
    background: rgba(255,255,255,.65);
    color: var(--c-muted);
    font-size: .68rem;
    font-weight: 950;
    letter-spacing: .04em;
    text-transform: uppercase;
    white-space: nowrap;
}

.spider-unit-method--qrail {
    border-color: rgba(192,111,18,.34);
    background: rgba(255,247,237,.75);
    color: #8a4b00;
}

.spider-unit-method--direct {
    border-color: rgba(0,105,137,.26);
    background: rgba(235,248,252,.72);
    color: #006989;
}

.spider-unit-method--blocked {
    border-color: rgba(148,52,52,.28);
    background: rgba(255,241,242,.72);
    color: #943434;
}

.spider-unit-method--unknown {
    border-style: dashed;
}

.spider-unit-profile-facts {
    display: grid;
    grid-template-columns: repeat(4, minmax(0,1fr));
    gap: 8px;
}

.spider-unit-profile-facts span {
    display: grid;
    gap: 3px;
    padding: 9px 11px;
    border: 1px solid rgba(0,105,137,.14);
    border-radius: 14px;
    background: rgba(255,255,255,.58);
    color: var(--c-muted);
    font-size: .79rem;
    font-weight: 850;
}

.spider-unit-profile-facts strong {
    color: var(--c-text);
    font-size: .70rem;
    font-weight: 950;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.spider-unit-profile-check {
    display: grid;
    gap: 4px;
    padding: 11px 12px;
    border: 1px dashed rgba(192,111,18,.28);
    border-radius: 15px;
    background: rgba(255,251,235,.48);
}

.spider-unit-profile-check strong {
    color: var(--c-text);
    font-size: .86rem;
    font-weight: 950;
}

.spider-unit-profile-check span {
    color: var(--c-muted);
    font-size: .80rem;
    font-weight: 850;
    line-height: 1.36;
}

.spider-unit-profile-list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0,1fr));
    gap: 10px;
    max-height: 430px;
    overflow: auto;
    padding-right: 2px;
}

.spider-unit-profile-card {
    display: grid;
    gap: 10px;
    padding: 12px;
    border: 1px solid rgba(0,105,137,.16);
    border-radius: 17px;
    background: rgba(255,255,255,.58);
}

.spider-unit-profile-card--selected {
    border-color: rgba(192,111,18,.42);
    background: rgba(255,247,237,.72);
}

.spider-unit-profile-card__main,
.spider-unit-profile-card__foot {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 10px;
}

.spider-unit-profile-card__main strong {
    display: block;
    color: var(--c-text);
    font-size: .88rem;
    font-weight: 950;
    line-height: 1.20;
}

.spider-unit-profile-card__main span,
.spider-unit-profile-card__foot span {
    display: block;
    margin-top: 4px;
    color: var(--c-muted);
    font-size: .76rem;
    font-weight: 850;
}

.spider-unit-profile-card__foot {
    align-items: center;
}

@media (max-width: 980px) {
    .spider-unit-profile-facts,
    .spider-unit-profile-list {
        grid-template-columns: repeat(2, minmax(0,1fr));
    }
}

@media (max-width: 760px) {
    .spider-unit-profile-focus__head,
    .spider-unit-profile-card__main,
    .spider-unit-profile-card__foot {
        align-items: stretch;
        flex-direction: column;
    }

    .spider-unit-profile-facts,
    .spider-unit-profile-list {
        grid-template-columns: 1fr;
    }
}

  
.spider-mount-profile-modal {
    width: min(100%, 58rem);
}

.spider-mount-profile-form {
    display: grid;
    gap: 14px;
}

.spider-mount-profile-summary {
    display: grid;
    grid-template-columns: 1.3fr 1fr 1fr;
    gap: 10px;
}

.spider-mount-profile-summary > div {
    display: grid;
    gap: 4px;
    padding: 11px 12px;
    border: 1px solid rgba(0,105,137,.14);
    border-radius: 16px;
    background: rgba(248,251,252,.76);
}

.spider-mount-profile-summary strong {
    color: var(--c-text);
    font-size: .84rem;
    font-weight: 950;
}

.spider-mount-profile-summary span {
    color: var(--c-muted);
    font-size: .78rem;
    font-weight: 850;
    line-height: 1.32;
}

.spider-mount-profile-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
}

.spider-mount-profile-grid label {
    display: grid;
    gap: 6px;
    padding: 12px;
    border: 1px solid rgba(0,105,137,.14);
    border-radius: 16px;
    background: rgba(255,255,255,.62);
}

.spider-mount-profile-grid label small {
    color: var(--c-muted);
    font-size: .75rem;
    font-weight: 820;
    line-height: 1.32;
}

.spider-mount-profile-grid select,
.spider-mount-profile-grid input,
.spider-mount-profile-grid textarea {
    width: 100%;
}

.spider-mount-profile-grid textarea {
    min-height: 96px;
    resize: vertical;
}

.spider-mount-profile-grid__wide {
    grid-column: 1 / -1;
}

@media (max-width: 760px) {
    .spider-mount-profile-summary,
    .spider-mount-profile-grid {
        grid-template-columns: 1fr;
    }
}

.notice-card--success {
    border-color: rgba(20, 133, 82, .22);
    background: rgba(236, 253, 245, .68);
}
.notice-card--success strong {
    color: #0f6b43;
}

  
.spider-work-logic {
    display: grid;
    gap: 14px;
}

.spider-work-logic__head {
    display: flex;
    justify-content: space-between;
    gap: 16px;
    align-items: flex-start;
    padding: 14px;
    border: 1px solid rgba(39, 51, 67, .12);
    border-radius: 18px;
    background: rgba(255,255,255,.62);
}

.spider-work-logic__head strong {
    display: block;
    font-size: 1rem;
    color: var(--c-ink);
    margin-top: 2px;
}

.spider-work-logic__head p {
    margin: 4px 0 0;
    color: var(--c-muted);
    font-size: .88rem;
    line-height: 1.45;
}

.spider-work-logic__badge {
    flex: 0 0 auto;
    padding: 7px 10px;
    border-radius: 999px;
    background: rgba(39, 51, 67, .08);
    color: var(--c-muted);
    font-size: .75rem;
    font-weight: 900;
    letter-spacing: .02em;
}

.spider-work-state-strip {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 10px;
}

.spider-work-state-strip span {
    min-width: 0;
    display: grid;
    gap: 4px;
    padding: 12px;
    border: 1px solid rgba(39, 51, 67, .12);
    border-radius: 16px;
    background: rgba(255,255,255,.72);
    color: var(--c-ink);
    font-size: .86rem;
    font-weight: 850;
}

.spider-work-state-strip b {
    color: var(--c-muted);
    font-size: .68rem;
    text-transform: uppercase;
    letter-spacing: .08em;
}

.spider-work-state-strip em {
    color: var(--c-muted);
    font-size: .72rem;
    font-style: normal;
    font-weight: 750;
}

.spider-work-logic__grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 10px;
}

.spider-work-logic-card {
    display: flex;
    gap: 10px;
    padding: 12px;
    border: 1px solid rgba(39, 51, 67, .12);
    border-radius: 18px;
    background: linear-gradient(180deg, rgba(255,255,255,.78), rgba(255,255,255,.5));
}

.spider-work-logic-card > span {
    width: 28px;
    height: 28px;
    flex: 0 0 auto;
    display: grid;
    place-items: center;
    border-radius: 999px;
    background: rgba(39, 51, 67, .1);
    color: var(--c-ink);
    font-size: .78rem;
    font-weight: 950;
}

.spider-work-logic-card strong {
    display: block;
    color: var(--c-ink);
    font-size: .9rem;
    margin-bottom: 3px;
}

.spider-work-logic-card p {
    margin: 0;
    color: var(--c-muted);
    font-size: .78rem;
    line-height: 1.42;
}

.spider-work-logic-card em {
    display: inline-flex;
    margin-top: 8px;
    color: var(--c-muted);
    font-size: .68rem;
    font-style: normal;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: .06em;
}

.spider-work-logic__rule {
    margin: 0;
}

@media (max-width: 1100px) {
    .spider-work-state-strip,
    .spider-work-logic__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 720px) {
    .spider-work-logic__head {
        flex-direction: column;
    }

    .spider-work-state-strip,
    .spider-work-logic__grid {
        grid-template-columns: 1fr;
    }
}

  
.spider-profile-preview-check {
    display: grid;
    gap: 12px;
    padding: 13px;
    border: 1px solid rgba(39, 51, 67, .12);
    border-radius: 20px;
    background: linear-gradient(180deg, rgba(255,255,255,.72), rgba(248,251,252,.58));
}

.spider-profile-preview-check__head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 14px;
}

.spider-profile-preview-check__head strong,
.spider-profile-preview-check__empty strong {
    display: block;
    color: var(--c-ink);
    font-size: .98rem;
    font-weight: 950;
}

.spider-profile-preview-check__head p,
.spider-profile-preview-check__empty span {
    margin: 4px 0 0;
    color: var(--c-muted);
    font-size: .84rem;
    font-weight: 820;
    line-height: 1.42;
}

.spider-profile-preview-check__head b {
    flex: 0 0 auto;
    padding: 7px 10px;
    border-radius: 999px;
    border: 1px solid rgba(39, 51, 67, .14);
    background: rgba(255,255,255,.68);
    color: var(--c-muted);
    font-size: .70rem;
    font-weight: 950;
    text-transform: uppercase;
    letter-spacing: .06em;
}

.spider-profile-preview-check__empty {
    padding: 12px;
    border: 1px dashed rgba(100,116,139,.24);
    border-radius: 16px;
    background: rgba(255,255,255,.56);
}

.spider-profile-preview-check__summary {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 8px;
}

.spider-profile-preview-check__summary span {
    min-width: 0;
    display: grid;
    gap: 3px;
    padding: 10px 11px;
    border: 1px solid rgba(0,105,137,.13);
    border-radius: 15px;
    background: rgba(255,255,255,.62);
    color: var(--c-text);
    font-size: .80rem;
    font-weight: 850;
    line-height: 1.28;
}

.spider-profile-preview-check__summary strong {
    color: var(--c-muted);
    font-size: .66rem;
    font-weight: 950;
    text-transform: uppercase;
    letter-spacing: .07em;
}

.spider-profile-preview-check__items {
    display: grid;
    gap: 8px;
}

.spider-profile-preview-check__item {
    display: flex;
    gap: 10px;
    align-items: flex-start;
    padding: 11px 12px;
    border: 1px solid rgba(100,116,139,.18);
    border-radius: 16px;
    background: rgba(255,255,255,.62);
}

.spider-profile-preview-check__item > b {
    flex: 0 0 auto;
    min-width: 58px;
    display: inline-flex;
    justify-content: center;
    padding: 5px 8px;
    border-radius: 999px;
    border: 1px solid rgba(100,116,139,.18);
    background: rgba(248,250,252,.8);
    color: var(--c-muted);
    font-size: .67rem;
    font-weight: 950;
    text-transform: uppercase;
    letter-spacing: .06em;
}

.spider-profile-preview-check__item strong {
    display: block;
    color: var(--c-ink);
    font-size: .88rem;
    font-weight: 950;
    margin-bottom: 3px;
}

.spider-profile-preview-check__item p {
    margin: 0;
    color: var(--c-muted);
    font-size: .80rem;
    font-weight: 820;
    line-height: 1.38;
}

.spider-profile-preview-check__item--ok {
    border-color: rgba(20, 133, 82, .22);
    background: rgba(236, 253, 245, .58);
}
.spider-profile-preview-check__item--ok > b {
    border-color: rgba(20, 133, 82, .24);
    background: rgba(209,250,229,.72);
    color: #0f6b43;
}

.spider-profile-preview-check__item--warning {
    border-color: rgba(192,111,18,.26);
    background: rgba(255,251,235,.62);
}
.spider-profile-preview-check__item--warning > b {
    border-color: rgba(192,111,18,.26);
    background: rgba(255,237,213,.74);
    color: #8a4b00;
}

.spider-profile-preview-check__item--blocked {
    border-color: rgba(148,52,52,.28);
    background: rgba(255,241,242,.64);
}
.spider-profile-preview-check__item--blocked > b {
    border-color: rgba(148,52,52,.28);
    background: rgba(254,226,226,.76);
    color: #943434;
}

.spider-profile-preview-check__note {
    margin: 0;
}

@media (max-width: 980px) {
    .spider-profile-preview-check__summary {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 720px) {
    .spider-profile-preview-check__head,
    .spider-profile-preview-check__item {
        flex-direction: column;
    }

    .spider-profile-preview-check__summary {
        grid-template-columns: 1fr;
    }
}

  
.spider-preview-apply-form {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 14px;
    padding: 13px 14px;
    border: 1px solid rgba(0,105,137,.22);
    border-radius: 18px;
    background: linear-gradient(135deg, rgba(240,249,255,.78), rgba(255,255,255,.70));
    box-shadow: 0 10px 24px rgba(15,23,42,.05);
}

.spider-preview-apply-form > div {
    display: grid;
    gap: 4px;
    min-width: 0;
}

.spider-preview-apply-form strong {
    color: var(--c-ink);
    font-size: .91rem;
    font-weight: 950;
}

.spider-preview-apply-form p {
    margin: 0;
    color: var(--c-muted);
    font-size: .80rem;
    font-weight: 820;
    line-height: 1.35;
}

@media (max-width: 720px) {
    .spider-preview-apply-form {
        align-items: stretch;
        flex-direction: column;
    }

    .spider-preview-apply-form .btn {
        justify-content: center;
        width: 100%;
    }
}

 

 
.spider-saved-profile-preview {
    margin: 1rem 0;
    padding: 1rem;
    border: 1px solid rgba(30, 41, 59, .12);
    border-radius: 24px;
    background: linear-gradient(180deg, rgba(255,255,255,.78), rgba(248,250,252,.72));
    box-shadow: 0 18px 42px rgba(15, 23, 42, .06);
}

.spider-saved-profile-preview__head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 1rem;
}

.spider-saved-profile-preview__head strong,
.spider-saved-profile-preview__empty strong {
    display: block;
    color: var(--c-ink);
    font-size: 1.02rem;
    margin-top: .12rem;
}

.spider-saved-profile-preview__head p,
.spider-saved-profile-preview__empty span {
    display: block;
    color: var(--c-muted);
    font-size: .88rem;
    line-height: 1.45;
    margin: .22rem 0 0;
}

.spider-saved-profile-preview__head b {
    flex: 0 0 auto;
    border-radius: 999px;
    padding: .38rem .62rem;
    background: rgba(15, 118, 110, .10);
    border: 1px solid rgba(15, 118, 110, .18);
    color: #0f766e;
    font-size: .72rem;
    text-transform: uppercase;
    letter-spacing: .08em;
}

.spider-saved-profile-preview__empty {
    padding: 1rem;
    border-radius: 18px;
    background: rgba(148, 163, 184, .08);
    border: 1px dashed rgba(100, 116, 139, .24);
}

.spider-saved-profile-preview__grid {
    display: grid;
    grid-template-columns: minmax(0, 1.05fr) minmax(280px, .95fr);
    gap: 1rem;
    align-items: stretch;
}

.spider-saved-profile-preview__facts {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .55rem;
}

.spider-saved-profile-preview__facts span {
    display: flex;
    flex-direction: column;
    gap: .18rem;
    min-height: 64px;
    padding: .72rem .78rem;
    border-radius: 16px;
    background: rgba(255,255,255,.68);
    border: 1px solid rgba(30, 41, 59, .10);
    color: var(--c-ink);
    font-weight: 780;
    overflow-wrap: anywhere;
}

.spider-saved-profile-preview__facts strong {
    font-size: .68rem;
    text-transform: uppercase;
    letter-spacing: .08em;
    color: var(--c-muted);
    font-weight: 860;
}

.spider-saved-profile-preview__visual {
    display: flex;
    flex-direction: column;
    gap: .55rem;
    min-width: 0;
}

.spider-saved-profile-preview__visual small {
    color: var(--c-muted);
    font-size: .78rem;
    line-height: 1.35;
}

.spider-saved-profile-preview__sketch {
    position: relative;
    min-height: 184px;
    padding: 1rem;
    border-radius: 20px;
    background:
        linear-gradient(90deg, rgba(148,163,184,.10) 1px, transparent 1px),
        linear-gradient(180deg, rgba(148,163,184,.10) 1px, transparent 1px),
        rgba(241,245,249,.78);
    background-size: 28px 28px;
    border: 1px solid rgba(30,41,59,.10);
    display: grid;
    grid-template-rows: 42px 1fr 42px;
    gap: .7rem;
    overflow: hidden;
}

.spider-saved-profile-preview__rail,
.spider-saved-profile-preview__qrail {
    display: flex;
    align-items: center;
    justify-content: space-around;
    border-radius: 10px;
    background: linear-gradient(180deg, #2d3748, #111827);
    border: 1px solid rgba(15,23,42,.36);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.16), 0 10px 20px rgba(15,23,42,.10);
}

.spider-saved-profile-preview__rail i,
.spider-saved-profile-preview__qrail i {
    width: 12px;
    height: 12px;
    border-radius: 999px;
    background: #f8fafc;
    border: 2px solid rgba(15,23,42,.30);
    box-shadow: 0 1px 0 rgba(255,255,255,.48);
}

.spider-saved-profile-preview__qrail {
    align-self: stretch;
    min-height: 52px;
    transform: none;
    outline: 3px solid rgba(245, 158, 11, .22);
    outline-offset: 4px;
}

.spider-saved-profile-preview__qrail .is-connector {
    width: 18px;
    height: 18px;
    border-color: rgba(245, 158, 11, .92);
    box-shadow: 0 0 0 5px rgba(245, 158, 11, .20);
}

.spider-saved-profile-preview__direct-line,
.spider-saved-profile-preview__none-line,
.spider-saved-profile-preview__unknown-line {
    display: grid;
    place-items: center;
    border-radius: 16px;
    border: 1px dashed rgba(100,116,139,.34);
    background: rgba(255,255,255,.52);
    color: var(--c-muted);
    font-size: .86rem;
    font-weight: 800;
    text-align: center;
}

.spider-saved-profile-preview__direct-line i {
    width: 28px;
    height: 28px;
    border-radius: 999px;
    background: rgba(15,118,110,.14);
    border: 3px solid rgba(15,118,110,.60);
    margin-bottom: .2rem;
}

.spider-saved-profile-preview__none-line {
    background: rgba(100,116,139,.08);
}

.spider-saved-profile-preview__unknown-line {
    background: rgba(245,158,11,.08);
    border-color: rgba(245,158,11,.28);
}

.spider-saved-profile-preview__actions {
    margin-top: .9rem;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: .85rem .95rem;
    border-radius: 18px;
    background: rgba(15, 118, 110, .07);
    border: 1px solid rgba(15, 118, 110, .16);
}

.spider-saved-profile-preview__actions strong {
    display: block;
    color: var(--c-ink);
    font-size: .92rem;
}

.spider-saved-profile-preview__actions p {
    margin: .18rem 0 0;
    color: var(--c-muted);
    font-size: .82rem;
    line-height: 1.35;
}

.spider-saved-profile-preview__note {
    margin-top: .75rem;
}

@media (max-width: 880px) {
    .spider-saved-profile-preview__head,
    .spider-saved-profile-preview__actions {
        flex-direction: column;
        align-items: stretch;
    }

    .spider-saved-profile-preview__grid,
    .spider-saved-profile-preview__facts {
        grid-template-columns: 1fr;
    }
}

 
 
.spider-builder-map {
    display: grid;
    grid-template-columns: minmax(240px, .85fr) minmax(280px, 1.15fr);
    gap: 1rem;
    padding: 1rem;
    border-radius: 24px;
    background: linear-gradient(135deg, rgba(255,255,255,.74), rgba(248,250,252,.58));
    border: 1px solid rgba(148, 163, 184, .26);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.66);
    margin-bottom: 1rem;
}

.spider-builder-map__intro strong {
    display: block;
    margin-top: .15rem;
    color: var(--c-ink);
    font-size: 1.08rem;
}

.spider-builder-map__intro p {
    margin: .3rem 0 0;
    color: var(--c-muted);
    font-size: .88rem;
    line-height: 1.45;
}

.spider-builder-map__state {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .55rem;
}

.spider-builder-map__state span {
    display: grid;
    gap: .14rem;
    padding: .7rem .78rem;
    border-radius: 18px;
    background: rgba(255,255,255,.72);
    border: 1px solid rgba(148,163,184,.22);
    color: var(--c-muted);
    font-size: .78rem;
    min-width: 0;
}

.spider-builder-map__state b {
    color: var(--c-ink);
    font-size: .76rem;
    text-transform: uppercase;
    letter-spacing: .06em;
}

.spider-builder-module {
    border-radius: 24px;
    border: 1px solid rgba(148,163,184,.24);
    background: rgba(255,255,255,.64);
    box-shadow: 0 12px 28px rgba(15,23,42,.045);
    overflow: hidden;
    margin-top: .85rem;
}

.spider-builder-module:first-of-type {
    margin-top: 0;
}

.spider-builder-module__summary {
    list-style: none;
    cursor: pointer;
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: .85rem;
    padding: .9rem 1rem;
    background: linear-gradient(135deg, rgba(248,250,252,.92), rgba(255,255,255,.76));
    border-bottom: 1px solid rgba(148,163,184,.18);
}

.spider-builder-module__summary::-webkit-details-marker {
    display: none;
}

.spider-builder-module__summary::after {
    content: 'öffnen';
    justify-self: end;
    padding: .28rem .55rem;
    border-radius: 999px;
    background: rgba(15, 23, 42, .06);
    color: var(--c-muted);
    font-size: .72rem;
    font-weight: 800;
}

.spider-builder-module[open] > .spider-builder-module__summary::after {
    content: 'schließen';
    background: rgba(15,118,110,.10);
    color: rgba(15,118,110,.92);
}

.spider-builder-module__no {
    width: 38px;
    height: 38px;
    border-radius: 14px;
    display: grid;
    place-items: center;
    background: rgba(15, 23, 42, .86);
    color: #fff;
    font-weight: 900;
    font-size: .82rem;
    box-shadow: 0 8px 18px rgba(15,23,42,.16);
}

.spider-builder-module__title strong {
    display: block;
    color: var(--c-ink);
    font-size: 1rem;
}

.spider-builder-module__title p {
    margin: .18rem 0 0;
    color: var(--c-muted);
    font-size: .83rem;
    line-height: 1.36;
}

.spider-builder-module__state {
    justify-self: end;
    white-space: nowrap;
    padding: .35rem .62rem;
    border-radius: 999px;
    background: rgba(15,118,110,.08);
    border: 1px solid rgba(15,118,110,.16);
    color: rgba(15,118,110,.94);
    font-size: .75rem;
    font-weight: 900;
}

.spider-builder-module__body {
    padding: 1rem;
    display: grid;
    gap: .9rem;
}

.spider-builder-module__toolbar {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    gap: .55rem;
    padding: .6rem .65rem;
    border-radius: 18px;
    background: rgba(248,250,252,.70);
    border: 1px solid rgba(148,163,184,.18);
}

.spider-builder-marker-list {
    margin-top: .85rem;
}

@media (max-width: 980px) {
    .spider-builder-map,
    .spider-builder-map__state {
        grid-template-columns: 1fr;
    }

    .spider-builder-module__summary {
        grid-template-columns: auto minmax(0, 1fr);
    }

    .spider-builder-module__summary::after,
    .spider-builder-module__state {
        grid-column: 2;
        justify-self: start;
    }
}

@media (max-width: 620px) {
    .spider-builder-module__summary {
        align-items: start;
        gap: .65rem;
        padding: .82rem;
    }

    .spider-builder-module__body {
        padding: .82rem;
    }

    .spider-builder-module__no {
        width: 34px;
        height: 34px;
        border-radius: 12px;
    }
}

  
.spider-mount-profile-pair-hint {
    display: grid;
    gap: 6px;
    padding: 12px;
    border: 1px solid rgba(245, 158, 11, .24);
    border-radius: 16px;
    background: rgba(255, 251, 235, .62);
}

.spider-mount-profile-pair-hint strong {
    color: var(--c-text);
    font-size: .82rem;
    font-weight: 950;
}

.spider-mount-profile-pair-hint span {
    color: var(--c-muted);
    font-size: .76rem;
    font-weight: 850;
    line-height: 1.32;
}

.spider-saved-profile-preview__qrail-pair {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: .85rem;
    align-items: stretch;
}

.spider-saved-profile-preview__qrail-pair .spider-saved-profile-preview__qrail {
    min-height: 52px;
}

@media (max-width: 760px) {
    .spider-saved-profile-preview__qrail-pair {
        grid-template-columns: 1fr;
    }
}

  
.spider-four-point-preview {
    margin: 1rem 0;
    padding: 1rem;
    border-radius: 24px;
    border: 1px solid rgba(245, 158, 11, .22);
    background: linear-gradient(180deg, rgba(255, 251, 235, .72), rgba(255,255,255,.70));
    box-shadow: 0 16px 36px rgba(15, 23, 42, .055);
}

.spider-four-point-preview__head {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    align-items: flex-start;
    margin-bottom: .95rem;
}

.spider-four-point-preview__head strong,
.spider-four-point-preview__empty strong {
    display: block;
    color: var(--c-ink);
    font-size: 1.02rem;
    margin-top: .12rem;
}

.spider-four-point-preview__head p,
.spider-four-point-preview__empty span {
    display: block;
    margin: .25rem 0 0;
    color: var(--c-muted);
    font-size: .86rem;
    line-height: 1.42;
}

.spider-four-point-preview__head b {
    flex: 0 0 auto;
    padding: .36rem .62rem;
    border-radius: 999px;
    background: rgba(245, 158, 11, .14);
    border: 1px solid rgba(245, 158, 11, .26);
    color: #92400e;
    font-size: .72rem;
    font-weight: 950;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.spider-four-point-preview__empty {
    padding: .9rem 1rem;
    border-radius: 18px;
    background: rgba(255,255,255,.62);
    border: 1px dashed rgba(148, 163, 184, .34);
}

.spider-four-point-preview__empty--warning {
    margin-bottom: .85rem;
    background: rgba(255, 247, 237, .72);
    border-color: rgba(251, 146, 60, .34);
}

.spider-four-point-preview__grid {
    display: grid;
    grid-template-columns: minmax(320px, 1.15fr) minmax(260px, .85fr);
    gap: 1rem;
    align-items: stretch;
}

.spider-four-point-preview__visual {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: .55rem;
}

.spider-four-point-preview__visual small {
    color: var(--c-muted);
    font-size: .78rem;
    line-height: 1.34;
}

.spider-four-point-preview__canvas {
    --fp-start: 30%;
    --fp-end: 70%;
    --fp-left: 30%;
    --fp-width: 40%;
    position: relative;
    min-height: 260px;
    padding: 1rem 1.1rem;
    border-radius: 22px;
    border: 1px solid rgba(30, 41, 59, .12);
    background:
        linear-gradient(90deg, rgba(148,163,184,.10) 1px, transparent 1px),
        linear-gradient(180deg, rgba(148,163,184,.10) 1px, transparent 1px),
        rgba(248,250,252,.86);
    background-size: 28px 28px;
    overflow: hidden;
    display: grid;
    grid-template-rows: 32px 54px 1fr 54px 32px;
    gap: .55rem;
}

.spider-four-point-preview__mainrail {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 .75rem;
    border-radius: 12px;
    background: linear-gradient(180deg, #334155, #111827);
    color: #f8fafc;
    font-size: .72rem;
    font-weight: 900;
    letter-spacing: .02em;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.16), 0 8px 18px rgba(15,23,42,.12);
}

.spider-four-point-preview__qline {
    position: relative;
    border-radius: 16px;
    background: linear-gradient(180deg, #2d3748, #111827);
    border: 1px solid rgba(15,23,42,.42);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.16), 0 10px 20px rgba(15,23,42,.10);
}

.spider-four-point-preview__qline b {
    position: absolute;
    left: .65rem;
    top: 50%;
    transform: translateY(-50%);
    color: rgba(255,255,255,.88);
    font-size: .72rem;
    font-weight: 950;
    letter-spacing: .08em;
    z-index: 2;
}

.spider-four-point-preview__qline i {
    position: absolute;
    top: 50%;
    transform: translate(-50%, -50%);
    border-radius: 999px;
    background: #f8fafc;
    border: 2px solid rgba(15,23,42,.38);
    box-shadow: 0 1px 0 rgba(255,255,255,.52);
}

.spider-four-point-preview__qline .is-connector {
    width: 18px;
    height: 18px;
    border-color: rgba(245, 158, 11, .92);
    box-shadow: 0 0 0 5px rgba(245, 158, 11, .20), 0 1px 0 rgba(255,255,255,.52);
}

.spider-four-point-preview__qline .is-connector--left { left: 8%; }
.spider-four-point-preview__qline .is-connector--right { left: 92%; }

.spider-four-point-preview__qline .is-point {
    width: 26px;
    height: 26px;
    border-color: rgba(15,118,110,.90);
    background: #ecfdf5;
    box-shadow: 0 0 0 6px rgba(15,118,110,.16), 0 1px 0 rgba(255,255,255,.55);
    z-index: 3;
}

.spider-four-point-preview__qline .is-point--start { left: var(--fp-start); }
.spider-four-point-preview__qline .is-point--end { left: var(--fp-end); }

.spider-four-point-preview__qline .is-point em {
    position: absolute;
    inset: 0;
    display: grid;
    place-items: center;
    color: #0f766e;
    font-size: .72rem;
    font-style: normal;
    font-weight: 950;
}

.spider-four-point-preview__unit-body {
    position: relative;
    margin-left: var(--fp-left);
    width: var(--fp-width);
    min-width: 42px;
    border-radius: 20px;
    border: 2px dashed rgba(15, 118, 110, .48);
    background: linear-gradient(135deg, rgba(15,118,110,.10), rgba(255,255,255,.52));
    display: grid;
    place-items: center;
    color: #0f766e;
    font-size: .78rem;
    font-weight: 900;
    text-align: center;
    padding: .5rem;
}

.spider-four-point-preview__unit-body::before,
.spider-four-point-preview__unit-body::after {
    content: '';
    position: absolute;
    top: -72px;
    bottom: -72px;
    width: 2px;
    background: rgba(15,118,110,.36);
}

.spider-four-point-preview__unit-body::before { left: 0; }
.spider-four-point-preview__unit-body::after { right: 0; }

.spider-four-point-preview__facts {
    display: grid;
    grid-template-columns: 1fr;
    gap: .55rem;
}

.spider-four-point-preview__facts span {
    display: grid;
    gap: .14rem;
    padding: .7rem .78rem;
    min-height: 56px;
    border-radius: 16px;
    background: rgba(255,255,255,.72);
    border: 1px solid rgba(30, 41, 59, .10);
    color: var(--c-ink);
    font-size: .84rem;
    font-weight: 800;
    overflow-wrap: anywhere;
}

.spider-four-point-preview__facts strong {
    color: var(--c-muted);
    font-size: .67rem;
    font-weight: 900;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.spider-four-point-preview__note {
    margin-top: .85rem;
}

@media (max-width: 900px) {
    .spider-four-point-preview__head,
    .spider-four-point-preview__grid {
        grid-template-columns: 1fr;
    }

    .spider-four-point-preview__head {
        flex-direction: column;
    }
}

@media (max-width: 580px) {
    .spider-four-point-preview__canvas {
        min-height: 238px;
        padding: .8rem;
    }

    .spider-four-point-preview__mainrail span {
        font-size: .64rem;
    }

    .spider-four-point-preview__unit-body span {
        display: none;
    }
}

  
.spider-svg-q-preview--secondary .spider-svg-q-preview-guide {
    stroke-dasharray: 4 6;
    opacity: .72;
}

.spider-svg-q-preview--secondary .spider-svg-q-preview-body {
    opacity: .88;
}

.spider-svg-q-preview--secondary .spider-svg-q-preview-label,
.spider-svg-q-preview--secondary .spider-svg-q-preview-anchor-label,
.spider-svg-q-preview--secondary .spider-svg-q-preview-opposite-label {
    opacity: .86;
}

  
.spider-current-q-pair {
    display: grid;
    gap: 12px;
    padding: 14px;
    border: 1px solid rgba(15, 118, 110, .22);
    border-radius: 18px;
    background: linear-gradient(180deg, rgba(240,253,250,.70), rgba(255,255,255,.62));
    box-shadow: 0 10px 24px rgba(15, 23, 42, .045);
}

.spider-current-q-pair__head {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 14px;
}

.spider-current-q-pair__head strong {
    display: block;
    color: var(--c-text);
    font-size: .98rem;
    font-weight: 950;
}

.spider-current-q-pair__head span {
    display: block;
    margin-top: 4px;
    color: var(--c-muted);
    font-size: .82rem;
    font-weight: 820;
    line-height: 1.38;
}

.spider-current-q-pair__head b {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 6px 9px;
    border: 1px solid rgba(15,118,110,.26);
    border-radius: 999px;
    background: rgba(255,255,255,.62);
    color: #0f766e;
    font-size: .7rem;
    font-weight: 950;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.spider-current-q-pair__facts {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px;
}

.spider-current-q-pair__facts span {
    display: grid;
    gap: 3px;
    padding: 10px 11px;
    border: 1px solid rgba(15, 118, 110, .15);
    border-radius: 15px;
    background: rgba(255,255,255,.66);
    color: var(--c-text);
    font-size: .84rem;
    font-weight: 850;
    line-height: 1.25;
}

.spider-current-q-pair__facts strong {
    color: var(--c-muted);
    font-size: .66rem;
    font-weight: 950;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.spider-current-q-pair__form {
    display: grid;
    grid-template-columns: minmax(220px, 1fr) auto auto;
    gap: 10px;
    align-items: end;
    padding: 11px;
    border: 1px solid rgba(15, 118, 110, .14);
    border-radius: 16px;
    background: rgba(255,255,255,.56);
}

.spider-current-q-pair__form label {
    display: grid;
    gap: 5px;
}

.spider-current-q-pair__form small {
    color: var(--c-muted);
    font-size: .74rem;
    font-weight: 780;
    line-height: 1.32;
}

.spider-current-q-pair__hint {
    display: flex;
    gap: 10px;
    align-items: flex-start;
    padding: 10px 12px;
    border-radius: 14px;
    background: rgba(15,118,110,.08);
    color: var(--c-muted);
    font-size: .8rem;
    font-weight: 820;
    line-height: 1.34;
}

.spider-current-q-pair__hint strong {
    flex: 0 0 auto;
    color: #0f766e;
    font-weight: 950;
}

@media (max-width: 760px) {
    .spider-current-q-pair__head,
    .spider-current-q-pair__hint {
        flex-direction: column;
    }

    .spider-current-q-pair__facts,
    .spider-current-q-pair__form {
        grid-template-columns: 1fr;
    }
}

  
.spider-zoom-q-hole-link {
    cursor: pointer;
    text-decoration: none;
    outline: none;
}

.spider-zoom-q-hole-link:hover .spider-zoom-q-hole,
.spider-zoom-q-hole-link:focus .spider-zoom-q-hole {
    stroke: rgba(0,105,137,.92);
    stroke-width: 3.6;
}

.spider-zoom-unit-hole-span {
    fill: rgba(15,118,110,.13);
    stroke: rgba(15,118,110,.42);
    stroke-width: 2;
    stroke-dasharray: 6 5;
}

.spider-zoom-unit-hole-span-label {
    fill: #0f766e;
    font-size: 13px;
    font-weight: 950;
    text-anchor: middle;
}

.spider-zoom-q-hole--unit-span {
    fill: rgba(240,253,250,.98);
    stroke: rgba(15,118,110,.64);
}

.spider-zoom-q-hole--unit-start,
.spider-zoom-q-hole--unit-end {
    fill: rgba(240,253,250,1);
    stroke: rgba(15,118,110,.96);
    stroke-width: 4;
}

.spider-q-unit-hole-actions {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 11px 12px;
    border: 1px solid rgba(15,118,110,.16);
    border-radius: 16px;
    background: rgba(240,253,250,.55);
}

.spider-q-unit-hole-actions strong {
    display: block;
    color: var(--c-text);
    font-size: .86rem;
    font-weight: 950;
}

.spider-q-unit-hole-actions span {
    display: block;
    margin-top: 3px;
    color: var(--c-muted);
    font-size: .78rem;
    font-weight: 820;
    line-height: 1.34;
}

@media (max-width: 760px) {
    .spider-q-unit-hole-actions {
        align-items: stretch;
        flex-direction: column;
    }
}

  
.spider-four-point-preview--current {
    border-color: rgba(15, 118, 110, .22);
    background: linear-gradient(180deg, rgba(240, 253, 250, .72), rgba(255,255,255,.70));
}

.spider-four-point-preview--current .spider-four-point-preview__head b {
    background: rgba(15, 118, 110, .12);
    border-color: rgba(15, 118, 110, .24);
    color: #0f766e;
}

.spider-svg-current-four-point-area {
    fill: rgba(15, 118, 110, .14);
    stroke: rgba(15, 118, 110, .52);
    stroke-width: 2.2;
    stroke-dasharray: 8 6;
    pointer-events: none;
}

.spider-svg-current-four-point-line {
    stroke: rgba(15, 118, 110, .62);
    stroke-width: 2.4;
    stroke-linecap: round;
    pointer-events: none;
}

.spider-svg-current-four-point-dot {
    fill: #ecfdf5;
    stroke: rgba(15, 118, 110, .95);
    stroke-width: 3.4;
    filter: drop-shadow(0 4px 8px rgba(15, 118, 110, .18));
    pointer-events: none;
}

.spider-svg-current-four-point-label,
.spider-svg-current-four-point-area-label {
    fill: #0f766e;
    font-size: 12px;
    font-weight: 950;
    paint-order: stroke;
    stroke: rgba(255,255,255,.92);
    stroke-width: 4px;
    stroke-linejoin: round;
    pointer-events: none;
}

.spider-svg-current-four-point-label--start {
    text-anchor: start;
}

.spider-svg-current-four-point-label--end {
    text-anchor: end;
}

.spider-svg-current-four-point-area-label {
    text-anchor: middle;
    font-size: 13px;
}

  
.spider-zoom-q-body--corrected {
    fill: #12323a;
}

.spider-zoom-q-row-line {
    stroke-width: 1.6;
    stroke-linecap: round;
    opacity: .72;
}

.spider-zoom-q-row-line--normal {
    stroke: rgba(255,255,255,.28);
}

.spider-zoom-q-row-line--mount {
    stroke: rgba(255,185,78,.28);
    stroke-dasharray: 8 7;
}

.spider-zoom-row-label {
    fill: rgba(100,116,139,.96);
    font-size: 12px;
    font-weight: 950;
    dominant-baseline: middle;
}

.spider-zoom-q-hole--normal-row {
    fill: rgba(255,255,255,.98);
    stroke: rgba(15,23,42,.50);
    stroke-width: 2.2;
}

.spider-zoom-main-mount-hole {
    fill: rgba(255,247,237,.98);
    stroke: rgba(138,75,0,.88);
    stroke-width: 3.2;
}

.spider-zoom-main-mount-hole--h1 {
    filter: drop-shadow(0 0 0 rgba(0,0,0,0));
}

.spider-zoom-main-mount-hole--h2 {
    stroke-dasharray: 5 3;
}

.spider-zoom-main-mount-label {
    fill: #8a4b00;
    font-size: 12px;
    font-weight: 950;
    text-anchor: middle;
}

.spider-svg-q-preview-hole--normal {
    fill: rgba(255,255,255,.96);
    stroke: rgba(15,23,42,.48);
    stroke-width: 1.8;
}

.spider-svg-q-preview-hole--main-mount {
    fill: rgba(255,247,237,.98);
    stroke: rgba(138,75,0,.90);
    stroke-width: 2.6;
}

.spider-svg-q-preview-hole--h2 {
    stroke-dasharray: 4 3;
}

.spider-crossrail-main-mount-row {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
    margin-top: 8px;
    padding: 8px 9px;
    border: 1px dashed rgba(138,75,0,.24);
    border-radius: 13px;
    background: rgba(255,247,237,.48);
    color: #8a4b00;
    font-size: .76rem;
    font-weight: 900;
}

.spider-crossrail-main-mount-row span {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 4px 7px;
    border-radius: 999px;
    background: rgba(255,255,255,.62);
}

.spider-crossrail-main-mount-row strong {
    font-weight: 950;
}

.spider-crossrail-main-mount-row em {
    color: var(--c-muted);
    font-style: normal;
    font-weight: 850;
}

  
.spider-four-point-preview__canvas {
    grid-template-rows: 32px 76px 1fr 76px 32px;
    min-height: 300px;
}

.spider-four-point-preview__qline--geo {
    min-height: 76px;
    overflow: hidden;
}

.spider-four-point-preview__qline--geo b {
    top: .52rem;
    transform: none;
}

.spider-four-point-preview__row-line {
    position: absolute;
    left: 8%;
    right: 8%;
    height: 2px;
    border-radius: 999px;
    pointer-events: none;
}

.spider-four-point-preview__row-line--normal {
    top: 36%;
    background: rgba(255,255,255,.30);
}

.spider-four-point-preview__row-line--mount {
    top: 70%;
    background: repeating-linear-gradient(90deg, rgba(245,158,11,.58) 0 10px, transparent 10px 18px);
    opacity: .95;
}

.spider-four-point-preview__row-caption {
    position: absolute;
    right: .65rem;
    color: rgba(255,255,255,.72);
    font-size: .58rem;
    font-weight: 950;
    letter-spacing: .07em;
    text-transform: uppercase;
    pointer-events: none;
}

.spider-four-point-preview__row-caption--normal {
    top: calc(36% - 1.02rem);
}

.spider-four-point-preview__row-caption--mount {
    top: calc(70% + .36rem);
    color: rgba(255,232,194,.88);
}

.spider-four-point-preview__qline--geo .is-point {
    top: 36%;
}

.spider-four-point-preview__qline--geo .is-main-mount {
    top: 70%;
    width: 22px;
    height: 22px;
    border-color: rgba(138,75,0,.92);
    background: #fff7ed;
    box-shadow: 0 0 0 5px rgba(245,158,11,.18), 0 1px 0 rgba(255,255,255,.52);
    z-index: 2;
}

.spider-four-point-preview__qline--geo .is-main-mount--h1 { left: 15.6%; }
.spider-four-point-preview__qline--geo .is-main-mount--h2 { left: 84.4%; }

.spider-four-point-preview__qline--geo .is-main-mount em {
    position: absolute;
    inset: 0;
    display: grid;
    place-items: center;
    color: #8a4b00;
    font-size: .60rem;
    font-style: normal;
    font-weight: 950;
}

.spider-four-point-preview__unit-body::before,
.spider-four-point-preview__unit-body::after {
    top: -94px;
    bottom: -94px;
}

.spider-four-point-preview__visual small strong {
    color: var(--c-text);
    font-weight: 950;
}

@media (max-width: 580px) {
    .spider-four-point-preview__canvas {
        min-height: 278px;
        grid-template-rows: 30px 72px 1fr 72px 30px;
    }

    .spider-four-point-preview__row-caption {
        display: none;
    }
}

  
.spider-profile-completion {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    padding: 13px 14px;
    border: 1px solid rgba(100,116,139,.18);
    border-radius: 18px;
    background: rgba(255,255,255,.64);
}

.spider-profile-completion.is-complete {
    border-color: rgba(20, 133, 82, .24);
    background: linear-gradient(135deg, rgba(236,253,245,.72), rgba(255,255,255,.68));
}

.spider-profile-completion.is-open {
    border-color: rgba(192,111,18,.22);
    background: linear-gradient(135deg, rgba(255,251,235,.70), rgba(255,255,255,.68));
}

.spider-profile-completion strong {
    display: block;
    color: var(--c-ink);
    font-size: .90rem;
    font-weight: 950;
}

.spider-profile-completion p {
    margin: 4px 0 0;
    color: var(--c-muted);
    font-size: .80rem;
    font-weight: 820;
    line-height: 1.38;
}

.spider-profile-completion em {
    flex: 0 0 auto;
    color: var(--c-muted);
    font-size: .75rem;
    font-weight: 900;
    font-style: normal;
}

.spider-profile-completion__form {
    flex: 0 0 auto;
    margin: 0;
}

@media (max-width: 720px) {
    .spider-profile-completion {
        flex-direction: column;
        align-items: stretch;
    }

    .spider-profile-completion__form .btn {
        width: 100%;
    }
}

  
.spider-placement-preparation {
  display: grid;
  gap: 1rem;
  padding: 1rem;
  border: 1px solid rgba(35, 43, 54, .12);
  border-radius: 1.1rem;
  background: rgba(255,255,255,.58);
}
.spider-placement-preparation__head {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  align-items: flex-start;
}
.spider-placement-preparation__head strong {
  display: block;
  font-size: 1rem;
  color: var(--c-ink, #1d2530);
}
.spider-placement-preparation__head p {
  margin: .25rem 0 0;
  color: var(--c-muted, #667085);
  font-size: .88rem;
  line-height: 1.45;
}
.spider-placement-preparation__head > b {
  white-space: nowrap;
  padding: .35rem .6rem;
  border-radius: 999px;
  background: rgba(255, 255, 255, .72);
  border: 1px solid rgba(35, 43, 54, .1);
  color: var(--c-muted, #667085);
  font-size: .75rem;
}
.spider-placement-preparation__grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 1rem;
}
.spider-placement-preparation__facts {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  gap: .55rem;
}
.spider-placement-preparation__facts span,
.spider-placement-points span {
  display: grid;
  gap: .15rem;
  padding: .65rem .7rem;
  border-radius: .85rem;
  background: rgba(255,255,255,.72);
  border: 1px solid rgba(35, 43, 54, .09);
  color: var(--c-muted, #667085);
  font-size: .82rem;
}
.spider-placement-preparation__facts strong,
.spider-placement-points strong {
  color: var(--c-ink, #1d2530);
  font-size: .72rem;
  text-transform: uppercase;
  letter-spacing: .04em;
}
.spider-placement-preparation__facts--compact {
  grid-template-columns: repeat(auto-fit, minmax(130px, 1fr));
}
.spider-placement-preparation__current {
  display: grid;
  gap: .75rem;
  padding: .85rem;
  border-radius: 1rem;
  border: 1px solid rgba(42, 126, 78, .16);
  background: rgba(42, 126, 78, .07);
}
.spider-placement-preparation__current > strong {
  color: #235b3d;
}
.spider-placement-preparation__current p {
  margin: 0;
  color: var(--c-muted, #667085);
  font-size: .86rem;
  line-height: 1.45;
}
.spider-placement-points {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
  gap: .45rem;
}
.spider-placement-preparation__action {
  display: grid;
  gap: .5rem;
}
.spider-placement-preparation__action form {
  display: flex;
  flex-wrap: wrap;
  gap: .5rem;
  align-items: center;
}
.spider-placement-preparation__action small {
  color: var(--c-muted, #667085);
  font-size: .8rem;
  line-height: 1.4;
}
.spider-placement-preparation__empty {
  display: grid;
  gap: .25rem;
  padding: .85rem;
  border-radius: .9rem;
  background: rgba(255,255,255,.68);
  border: 1px dashed rgba(35, 43, 54, .18);
}
.spider-placement-preparation__empty span {
  color: var(--c-muted, #667085);
  font-size: .86rem;
}
.spider-placement-preparation__note { margin: 0; }

  
.spider-placement-check {
  display: grid;
  gap: .55rem;
  padding: .75rem;
  border-radius: .9rem;
  border: 1px solid rgba(35, 43, 54, .10);
  background: rgba(255,255,255,.68);
}
.spider-placement-check--ok {
  border-color: rgba(42, 126, 78, .20);
  background: rgba(42, 126, 78, .07);
}
.spider-placement-check--warning {
  border-color: rgba(168, 112, 28, .22);
  background: rgba(255, 184, 77, .10);
}
.spider-placement-check--mismatch {
  border-color: rgba(158, 64, 64, .22);
  background: rgba(189, 78, 78, .08);
}
.spider-placement-check__head {
  display: flex;
  justify-content: space-between;
  gap: .75rem;
  align-items: center;
}
.spider-placement-check__head strong {
  color: var(--c-ink, #1d2530);
  font-size: .9rem;
}
.spider-placement-check__head span {
  display: inline-grid;
  place-items: center;
  min-height: 1.7rem;
  padding: .2rem .55rem;
  border-radius: 999px;
  background: rgba(255,255,255,.75);
  border: 1px solid rgba(35, 43, 54, .10);
  color: var(--c-muted, #667085);
  font-size: .75rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .04em;
}
.spider-placement-check p {
  margin: 0;
  color: var(--c-muted, #667085);
  font-size: .84rem;
  line-height: 1.4;
}
.spider-placement-check__list {
  display: grid;
  gap: .35rem;
  list-style: none;
  padding: 0;
  margin: 0;
}
.spider-placement-check__list li {
  display: grid;
  grid-template-columns: minmax(80px, .28fr) minmax(0, 1fr);
  gap: .5rem;
  align-items: start;
  padding: .45rem .55rem;
  border-radius: .65rem;
  background: rgba(255,255,255,.58);
  border: 1px solid rgba(35, 43, 54, .08);
  color: var(--c-muted, #667085);
  font-size: .8rem;
}
.spider-placement-check__list strong {
  color: var(--c-ink, #1d2530);
  font-size: .7rem;
  text-transform: uppercase;
  letter-spacing: .04em;
}

  
.spider-placement-variants {
  display: grid;
  gap: .75rem;
}
.spider-placement-variants__head {
  display: flex;
  justify-content: space-between;
  gap: .75rem;
  align-items: center;
  padding: .65rem .75rem;
  border-radius: .9rem;
  background: rgba(255,255,255,.62);
  border: 1px solid rgba(35, 43, 54, .09);
}
.spider-placement-variants__head strong {
  color: var(--c-ink, #1d2530);
  font-size: .92rem;
}
.spider-placement-variants__head span {
  color: var(--c-muted, #667085);
  font-size: .78rem;
}
.spider-placement-variant-card {
  display: grid;
  gap: .7rem;
  padding: .85rem;
  border-radius: 1rem;
  border: 1px solid rgba(35, 43, 54, .11);
  background: rgba(255,255,255,.72);
}
.spider-placement-variant-card.is-default {
  border-color: rgba(42, 126, 78, .24);
  background: rgba(42, 126, 78, .06);
}
.spider-placement-variant-card__title {
  display: flex;
  justify-content: space-between;
  gap: .75rem;
  align-items: center;
}
.spider-placement-variant-card__title strong {
  color: var(--c-ink, #1d2530);
  font-size: .92rem;
}
.spider-placement-variant-card__title span {
  padding: .25rem .55rem;
  border-radius: 999px;
  background: rgba(255,255,255,.76);
  border: 1px solid rgba(35, 43, 54, .10);
  color: var(--c-muted, #667085);
  font-size: .72rem;
  font-weight: 800;
}
.spider-placement-variant-form {
  align-items: end;
}
.spider-placement-variant-form label {
  display: grid;
  gap: .25rem;
  min-width: min(220px, 100%);
  color: var(--c-muted, #667085);
  font-size: .78rem;
  font-weight: 700;
}
.spider-placement-variant-form input[type="text"] {
  width: 100%;
  border: 1px solid rgba(35, 43, 54, .14);
  border-radius: .75rem;
  background: rgba(255,255,255,.78);
  padding: .58rem .68rem;
  font: inherit;
  color: var(--c-ink, #1d2530);
}
.spider-placement-variant-form__check {
  display: flex !important;
  grid-template-columns: auto 1fr;
  align-items: center;
  gap: .45rem !important;
  min-width: auto !important;
  padding: .55rem .65rem;
  border-radius: .75rem;
  border: 1px solid rgba(35, 43, 54, .10);
  background: rgba(255,255,255,.62);
}
.spider-placement-variant-form__check input {
  width: 1rem;
  height: 1rem;
}

  
.spider-placement-variant-card.is-preview{
  border-color: rgba(62, 127, 84, .56);
  background: linear-gradient(135deg, rgba(62,127,84,.12), rgba(255,255,255,.58));
  box-shadow: 0 10px 26px rgba(62,127,84,.10);
}
.spider-placement-variant-card__actions{
  display:flex;
  justify-content:flex-end;
  gap:.5rem;
  margin:.55rem 0 .35rem;
  flex-wrap:wrap;
}
.spider-current-preview-loaded{
  margin:.55rem 0 .9rem;
}
.spider-current-preview-loaded code{
  font-size:.86em;
}

 
 
.spider-svg-current-four-point-ring,
.spider-zoom-q-hole-selection-ring,
.spider-zoom-main-mount-ring {
    fill: rgba(255,255,255,.06);
    stroke-width: 3;
    pointer-events: none;
}

.spider-svg-current-four-point-ring {
    stroke: rgba(15, 118, 110, .82);
    filter: drop-shadow(0 4px 8px rgba(15, 118, 110, .16));
}

.spider-svg-current-four-point-dot {
    fill: #ecfdf5;
    stroke: rgba(15, 118, 110, .95);
    stroke-width: 2.4;
    filter: none;
}

.spider-zoom-q-hole-selection-ring {
    stroke: rgba(15, 118, 110, .86);
}

.spider-zoom-main-mount-ring {
    stroke: rgba(192,111,18,.86);
}

.spider-zoom-main-mount-ring--h2 {
    stroke-dasharray: 5 3;
}

.spider-zoom-q-hole--unit-start,
.spider-zoom-q-hole--unit-end {
    stroke-width: 2.4;
}

.spider-zoom-main-mount-hole,
.spider-svg-q-preview-hole--main-mount {
    stroke-width: 2.2;
}

.spider-four-point-preview__qline .is-point {
    width: 18px;
    height: 18px;
    border-width: 2px;
    box-shadow: 0 0 0 6px rgba(15,118,110,.16), 0 1px 0 rgba(255,255,255,.55);
}

.spider-four-point-preview__qline--geo .is-main-mount {
    width: 18px;
    height: 18px;
    border-width: 2px;
    box-shadow: 0 0 0 6px rgba(245,158,11,.18), 0 1px 0 rgba(255,255,255,.52);
}

.spider-four-point-preview__qline .is-point em,
.spider-four-point-preview__qline--geo .is-main-mount em {
    font-size: .55rem;
}


  
  
.spider-svg-q-preview-body {
    fill: #12323a;
    stroke: rgba(15,23,42,.68);
    stroke-width: 2.2;
    filter: drop-shadow(0 5px 8px rgba(15,23,42,.10));
}
.spider-svg-q-preview--secondary .spider-svg-q-preview-body {
    opacity: .88;
}
.spider-svg-q-preview-anchor-label--short {
    font-size: 12px;
    font-weight: 950;
    paint-order: stroke;
    stroke: rgba(255,255,255,.92);
    stroke-width: 4px;
    stroke-linejoin: round;
}
.spider-svg-q-preview-opposite-label {
    display: none;
}
.spider-svg-q-preview-label {
    font-size: 15px;
    font-weight: 950;
    paint-order: stroke;
    stroke: rgba(255,255,255,.90);
    stroke-width: 4px;
    stroke-linejoin: round;
}

 

 
.unit-dimensions-panel {
    display: grid;
    gap: 1rem;
}

.unit-dimensions-rule {
    display: grid;
    gap: .25rem;
    padding: .9rem 1rem;
    border: 1px solid rgba(20, 30, 45, .12);
    border-radius: var(--radius-lg);
    background: rgba(255,255,255,.58);
}

.unit-dimensions-rule strong {
    font-size: .78rem;
    text-transform: uppercase;
    letter-spacing: .08em;
    color: var(--c-muted);
}

.unit-dimensions-rule span {
    color: var(--c-text);
    line-height: 1.45;
}

.unit-dimensions-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.1fr) minmax(280px, .9fr);
    gap: 1rem;
}

.unit-dimensions-card {
    padding: 1rem;
    border: 1px solid rgba(20, 30, 45, .12);
    border-radius: var(--radius-xl);
    background: rgba(255,255,255,.68);
    box-shadow: var(--shadow-soft);
}

.unit-dimensions-card--result {
    display: grid;
    gap: .8rem;
}

.unit-dimension-metric-row {
    display: grid;
    grid-template-columns: minmax(86px, .55fr) repeat(3, minmax(0, 1fr));
    gap: .55rem;
    align-items: stretch;
}

.unit-dimension-metric-row > strong {
    display: grid;
    align-items: center;
    padding: .65rem .7rem;
    border-radius: var(--radius-md);
    background: rgba(255,255,255,.55);
    color: var(--c-text);
    font-size: .84rem;
}

.unit-dimension-metric {
    display: grid;
    gap: .15rem;
    padding: .65rem .7rem;
    border-radius: var(--radius-md);
    background: rgba(255,255,255,.78);
    border: 1px solid rgba(20,30,45,.08);
}

.unit-dimension-metric span {
    font-size: .68rem;
    text-transform: uppercase;
    letter-spacing: .07em;
    color: var(--c-muted);
}

.unit-dimension-metric strong {
    font-size: .92rem;
    color: var(--c-text);
}

.unit-dimensions-overhang-summary {
    display: grid;
    gap: .25rem;
    font-size: .78rem;
    color: var(--c-muted);
}

.unit-envelope-list {
    display: grid;
    gap: .55rem;
    margin-top: .75rem;
}

.unit-envelope-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto auto;
    gap: .75rem;
    align-items: center;
    padding: .75rem;
    border: 1px solid rgba(20, 30, 45, .1);
    border-radius: var(--radius-lg);
    background: rgba(255,255,255,.68);
}

.unit-envelope-row__main {
    display: grid;
    gap: .18rem;
}

.unit-envelope-row__main strong {
    color: var(--c-text);
}

.unit-envelope-row__main span,
.unit-envelope-row__main small {
    color: var(--c-muted);
    font-size: .82rem;
}

.unit-envelope-row__values {
    display: flex;
    flex-wrap: wrap;
    gap: .35rem;
    justify-content: flex-end;
}

.unit-envelope-row__values span {
    padding: .32rem .5rem;
    border-radius: 999px;
    background: rgba(255,255,255,.78);
    border: 1px solid rgba(20,30,45,.08);
    font-size: .78rem;
    color: var(--c-text);
    white-space: nowrap;
}

.unit-envelope-row__action {
    display: flex;
    justify-content: flex-end;
}

.unit-envelope-add {
    margin-top: .75rem;
}

@media (max-width: 980px) {
    .unit-dimensions-grid,
    .unit-envelope-row {
        grid-template-columns: 1fr;
    }
    .unit-dimension-metric-row {
        grid-template-columns: 1fr;
    }
    .unit-envelope-row__values,
    .unit-envelope-row__action {
        justify-content: flex-start;
    }
}

 

 
.unit-spanner-type-measure-list {
    display: grid;
    gap: .75rem;
    margin-top: .75rem;
}

.unit-spanner-type-measure-form {
    display: grid;
    gap: .7rem;
    padding: .75rem;
    border: 1px solid rgba(20,30,45,.1);
    border-radius: var(--radius-lg);
    background: rgba(255,255,255,.62);
}

 

 
.spanner-types-page {
    display: grid;
    gap: 1rem;
}

.spanner-types-hero {
    display: grid;
    grid-template-columns: minmax(0, 1.2fr) minmax(260px, .8fr);
    gap: 1rem;
    align-items: stretch;
    padding: 1rem;
    border: 1px solid rgba(20,30,45,.08);
    border-radius: var(--radius-xl);
    background: linear-gradient(135deg, rgba(255,255,255,.82), rgba(255,255,255,.55));
    box-shadow: var(--shadow-soft);
}

.spanner-types-hero h1 {
    margin: .15rem 0 .35rem;
}

.spanner-types-hero p {
    margin: 0;
    color: var(--c-muted);
    max-width: 68ch;
}

.spanner-type-stats {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .65rem;
}

.spanner-type-stats article,
.spanner-type-row,
.spanner-type-form {
    border: 1px solid rgba(20,30,45,.09);
    background: rgba(255,255,255,.72);
    border-radius: var(--radius-lg);
}

.spanner-type-stats article {
    padding: .75rem;
    display: grid;
    gap: .18rem;
}

.spanner-type-stats span {
    font-size: .7rem;
    text-transform: uppercase;
    letter-spacing: .07em;
    color: var(--c-muted);
}

.spanner-type-stats strong {
    font-size: 1.2rem;
    color: var(--c-text);
}

.spanner-types-layout {
    align-items: start;
}

.spanner-type-list {
    display: grid;
    gap: .65rem;
}

.spanner-type-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto auto;
    gap: .85rem;
    align-items: center;
    padding: .8rem;
}

.spanner-type-row.is-open {
    border-color: rgba(225, 142, 38, .32);
    background: rgba(255, 248, 235, .72);
}

.spanner-type-row.is-ok {
    border-color: rgba(56, 128, 92, .2);
}

.spanner-type-row.is-muted {
    opacity: .68;
}

.spanner-type-row__main,
.spanner-type-form {
    display: grid;
    gap: .45rem;
}

.spanner-type-row__main strong {
    color: var(--c-text);
}

.spanner-type-row__main span,
.spanner-type-row__main small {
    color: var(--c-muted);
    font-size: .82rem;
}

.spanner-type-row__metrics {
    display: flex;
    flex-wrap: wrap;
    gap: .35rem;
    justify-content: flex-end;
}

.spanner-type-row__metrics span {
    padding: .32rem .52rem;
    border-radius: 999px;
    background: rgba(255,255,255,.78);
    border: 1px solid rgba(20,30,45,.08);
    color: var(--c-text);
    font-size: .78rem;
    white-space: nowrap;
}

.spanner-type-row__actions,
.spanner-type-form__actions {
    display: flex;
    gap: .5rem;
    justify-content: flex-end;
    flex-wrap: wrap;
}


.spanner-type-row__actions form {
    margin: 0;
}

.spanner-type-form {
    padding: .85rem;
}

.spanner-type-switches {
    display: grid;
    gap: .55rem;
}

@media (max-width: 980px) {
    .spanner-types-hero,
    .spanner-type-row {
        grid-template-columns: 1fr;
    }
    .spanner-type-row__metrics,
    .spanner-type-row__actions,
    .spanner-type-form__actions {
        justify-content: flex-start;
    }
}

  
.unit-mount-envelope-preview {
    margin: 0 0 1rem;
    padding: .95rem;
    border: 1px solid rgba(20,30,45,.09);
    border-radius: var(--radius-lg);
    background: linear-gradient(180deg, rgba(255,255,255,.86), rgba(246,248,251,.78));
    box-shadow: 0 12px 28px rgba(20,30,45,.05);
}

.unit-mount-envelope-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: .72rem;
    margin-top: .8rem;
}

.unit-mount-envelope-box {
    min-height: 124px;
    padding: .85rem;
    border-radius: 18px;
    border: 1px solid rgba(20,30,45,.08);
    background: rgba(255,255,255,.74);
    display: flex;
    flex-direction: column;
    gap: .32rem;
}

.unit-mount-envelope-box strong {
    color: var(--c-text);
    font-size: 1.02rem;
    line-height: 1.2;
}

.unit-mount-envelope-box p {
    color: var(--c-muted);
    margin: 0;
    font-size: .84rem;
    line-height: 1.35;
}

.unit-mount-envelope-box small {
    color: var(--c-muted);
    font-size: .76rem;
    line-height: 1.3;
}

.unit-mount-envelope-box--mount {
    background: rgba(255,252,242,.82);
    border-color: rgba(191,130,32,.22);
}

.unit-mount-envelope-box--closed {
    background: rgba(239,247,255,.72);
}

.unit-mount-envelope-box--opened {
    background: rgba(255,245,238,.72);
}

.unit-mount-envelope-note {
    display: flex;
    gap: .55rem;
    align-items: flex-start;
    margin-top: .75rem;
    padding: .65rem .75rem;
    border-radius: 16px;
    background: rgba(20,30,45,.045);
    color: var(--c-muted);
    font-size: .82rem;
    line-height: 1.35;
}

.unit-mount-envelope-note strong {
    color: var(--c-text);
    white-space: nowrap;
}

@media (max-width: 1120px) {
    .unit-mount-envelope-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 720px) {
    .unit-mount-envelope-grid {
        grid-template-columns: 1fr;
    }
    .unit-mount-envelope-note {
        flex-direction: column;
    }
}

  
.spider-svg-current-envelope-rect{
  pointer-events:none;
  stroke-width:2.1;
  paint-order:stroke;
}
.spider-svg-current-envelope-rect--opened{
  fill:rgba(192,111,18,.075);
  stroke:rgba(192,111,18,.58);
  stroke-dasharray:10 7;
}
.spider-svg-current-envelope-rect--closed{
  fill:rgba(70,92,106,.08);
  stroke:rgba(70,92,106,.58);
  stroke-dasharray:5 5;
}
.spider-svg-current-envelope-label{
  font-size:12px;
  font-weight:950;
  text-anchor:middle;
  paint-order:stroke;
  stroke:rgba(255,255,255,.94);
  stroke-width:4px;
  stroke-linejoin:round;
  pointer-events:none;
}
.spider-svg-current-envelope-label--opened{ fill:#8a4b00; }
.spider-svg-current-envelope-label--closed{ fill:#465c6a; }

  
.spider-envelope-plausibility{
  margin-top:.85rem;
  padding:.85rem;
  border:1px solid rgba(20,30,45,.10);
  border-radius:20px;
  background:linear-gradient(180deg,rgba(255,255,255,.78),rgba(247,250,252,.68));
  box-shadow:0 12px 24px rgba(20,30,45,.045);
}
.spider-envelope-plausibility__head{
  display:flex;
  flex-direction:column;
  gap:.18rem;
  margin-bottom:.65rem;
}
.spider-envelope-plausibility__head strong{
  color:var(--c-text);
  font-size:.98rem;
  font-weight:950;
}
.spider-envelope-plausibility__head p{
  margin:0;
  color:var(--c-muted);
  font-size:.84rem;
  line-height:1.35;
}
.spider-envelope-plausibility__list{
  display:grid;
  gap:.45rem;
}
.spider-envelope-plausibility__item{
  display:grid;
  grid-template-columns:auto 1fr;
  gap:.55rem;
  align-items:flex-start;
  padding:.56rem .65rem;
  border:1px solid rgba(20,30,45,.09);
  border-radius:15px;
  background:rgba(255,255,255,.72);
  color:var(--c-muted);
  font-size:.84rem;
  line-height:1.34;
}
.spider-envelope-plausibility__item b{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:54px;
  padding:.13rem .34rem;
  border-radius:999px;
  font-size:.66rem;
  letter-spacing:.06em;
  font-weight:950;
  background:rgba(70,92,106,.10);
  color:#465c6a;
}
.spider-envelope-plausibility__item--ok{
  border-color:rgba(15,118,110,.16);
  background:rgba(240,253,250,.62);
}
.spider-envelope-plausibility__item--ok b{
  background:rgba(15,118,110,.13);
  color:#0f766e;
}
.spider-envelope-plausibility__item--warning{
  border-color:rgba(192,111,18,.20);
  background:rgba(255,247,237,.70);
}
.spider-envelope-plausibility__item--warning b{
  background:rgba(192,111,18,.14);
  color:#8a4b00;
}
.spider-envelope-plausibility__item--info{
  border-color:rgba(70,92,106,.13);
}
@media (max-width:720px){
  .spider-envelope-plausibility__item{
    grid-template-columns:1fr;
  }
  .spider-envelope-plausibility__item b{
    justify-content:flex-start;
    width:max-content;
  }
}

  
.spider-top-view-layer-controls{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:12px 14px;
  border:1px solid rgba(20,30,45,.10);
  border-radius:20px;
  background:linear-gradient(180deg,rgba(255,255,255,.72),rgba(247,250,252,.62));
  box-shadow:0 10px 22px rgba(20,30,45,.04);
}
.spider-top-view-layer-controls__head{
  display:grid;
  gap:2px;
  min-width:220px;
}
.spider-top-view-layer-controls__head strong{
  color:var(--c-text);
  font-weight:950;
}
.spider-top-view-layer-controls__head p{
  margin:0;
  color:var(--c-muted);
  font-size:.82rem;
  line-height:1.3;
}
.spider-top-view-layer-controls__chips{
  display:flex;
  flex-wrap:wrap;
  justify-content:flex-end;
  gap:8px;
}
.spider-layer-toggle{
  position:relative;
  display:inline-flex;
  align-items:center;
  cursor:pointer;
  user-select:none;
}
.spider-layer-toggle input{
  position:absolute;
  inset:0;
  opacity:0;
  pointer-events:none;
}
.spider-layer-toggle span{
  display:inline-flex;
  align-items:center;
  gap:7px;
  min-height:32px;
  padding:7px 11px;
  border:1px solid rgba(20,30,45,.12);
  border-radius:999px;
  background:rgba(255,255,255,.68);
  color:var(--c-muted);
  font-size:.78rem;
  font-weight:900;
  transition:background .16s ease,border-color .16s ease,color .16s ease,transform .16s ease;
}
.spider-layer-toggle span::before{
  content:'';
  width:9px;
  height:9px;
  border-radius:999px;
  background:rgba(100,116,139,.32);
  box-shadow:inset 0 0 0 1px rgba(20,30,45,.12);
}
.spider-layer-toggle input:checked + span{
  border-color:rgba(15,118,110,.24);
  background:rgba(240,253,250,.78);
  color:#0f766e;
}
.spider-layer-toggle input:checked + span::before{
  background:#0f766e;
  box-shadow:0 0 0 3px rgba(15,118,110,.12);
}
.spider-layer-toggle:focus-within span{
  outline:2px solid rgba(15,118,110,.22);
  outline-offset:2px;
}
.spider-top-view-shell[data-layer-q-preview="0"] .spider-svg-q-preview,
.spider-top-view-shell[data-layer-four-point="0"] .spider-svg-current-four-point,
.spider-top-view-shell[data-layer-envelope-closed="0"] .spider-svg-current-envelope--closed,
.spider-top-view-shell[data-layer-envelope-opened="0"] .spider-svg-current-envelope--opened{
  display:none;
}
.spider-top-view-shell[data-layer-measures="0"] .spider-svg-measure,
.spider-top-view-shell[data-layer-measures="0"] .spider-svg-measure-tick,
.spider-top-view-shell[data-layer-measures="0"] .spider-svg-measure-label,
.spider-top-view-shell[data-layer-measures="0"] .spider-svg-scale-note{
  display:none;
}
@media (max-width: 860px){
  .spider-top-view-layer-controls{
    align-items:stretch;
    flex-direction:column;
  }
  .spider-top-view-layer-controls__chips{
    justify-content:flex-start;
  }
}


 

 
.spider-svg-q-preview--secondary,
.spider-svg-q-preview--secondary .spider-svg-q-preview-body,
.spider-svg-q-preview--secondary .spider-svg-q-preview-hole,
.spider-svg-q-preview--secondary .spider-svg-q-preview-label,
.spider-svg-q-preview--secondary .spider-svg-q-preview-connector {
  opacity: 1;
}


  
.spider-top-view-shell[data-layer-unit-symbol="0"] .spider-svg-unit-layer{
  display:none;
}

.spider-svg-unit-layer{
  pointer-events:none;
}

.spider-svg-unit-body{
  fill:url(#spiderUnitLochblechPattern);
  stroke:rgba(0,65,97,.86);
  stroke-width:2.1;
  filter:drop-shadow(0 6px 8px rgba(20,30,45,.18));
}

.spider-svg-unit-core{
  fill:rgba(0,82,108,.96);
  stroke:rgba(0,48,72,.90);
  stroke-width:2;
  filter:drop-shadow(inset 0 2px 0 rgba(255,255,255,.16));
}

.spider-svg-unit-label{
  font-size:12px;
  font-weight:950;
  fill:#f6fcff;
  text-anchor:middle;
  paint-order:stroke;
  stroke:rgba(0,61,82,.88);
  stroke-width:4px;
  stroke-linejoin:round;
}

  
.spider-svg-unit-label{
  dominant-baseline:middle;
}


  
.spider-top-view-shell[data-layer-spanners="0"] .spider-svg-unit-spanners,
.spider-top-view-shell[data-layer-unit-symbol="0"] .spider-svg-unit-spanners{
  display:none;
}

.spider-svg-unit-spanners{
  pointer-events:none;
}

.spider-svg-unit-spanner-body{
  fill:rgba(174,109,22,.96);
  stroke:rgba(104,62,10,.88);
  stroke-width:1.15;
  filter:drop-shadow(0 2px 2px rgba(20,30,45,.18));
}

.spider-svg-unit-spanner-jaw{
  fill:rgba(216,151,44,.96);
  stroke:rgba(104,62,10,.75);
  stroke-width:.8;
}

.spider-svg-unit-spanner-bolt{
  fill:rgba(255,232,178,.96);
  stroke:rgba(104,62,10,.85);
  stroke-width:.65;
}

.spider-svg-unit-spanner--back .spider-svg-unit-spanner-body,
.spider-svg-unit-spanner--front .spider-svg-unit-spanner-body{
  fill:rgba(186,119,24,.96);
}


  
.planner-product-hint{
  border:1px solid rgba(0,105,137,.22);
  background:linear-gradient(135deg, rgba(0,105,137,.07), rgba(255,255,255,.82));
  border-radius:16px;
  padding:14px 16px;
  display:grid;
  gap:6px;
  box-shadow:0 8px 20px rgba(20,30,45,.05);
}
.planner-product-hint strong{
  font-weight:950;
  color:var(--c-text);
}
.planner-product-hint span,
.planner-product-hint small{
  color:var(--c-muted);
  line-height:1.35;
}
.planner-product-hint .stage-alert{
  margin-top:4px;
}


  
.planner-compatibility-empty{
  border:1px dashed rgba(90,105,120,.28);
  border-radius:16px;
  padding:14px 16px;
  background:rgba(255,255,255,.52);
  display:grid;
  gap:5px;
}
.planner-compatibility-empty strong{
  color:var(--c-text);
  font-weight:900;
}
.planner-compatibility-empty span{
  color:var(--c-muted);
  line-height:1.35;
}
.planner-compatibility-card{
  display:grid;
  gap:12px;
  border:1px solid rgba(0,105,137,.22);
  border-radius:18px;
  padding:15px;
  background:linear-gradient(135deg, rgba(0,105,137,.07), rgba(255,255,255,.86));
  box-shadow:0 10px 24px rgba(20,30,45,.055);
}
.planner-compatibility-card__head{
  display:flex;
  justify-content:space-between;
  gap:12px;
  align-items:flex-start;
}
.planner-compatibility-card__head strong{
  font-weight:950;
  color:var(--c-text);
}
.planner-compatibility-card__head span{
  color:var(--c-muted);
  font-size:.88rem;
  text-align:right;
}
.planner-compatibility-metrics{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:8px;
}
.planner-compatibility-metrics div{
  border:1px solid rgba(40,70,90,.12);
  border-radius:14px;
  background:rgba(255,255,255,.66);
  padding:10px;
  display:grid;
  gap:2px;
}
.planner-compatibility-metrics strong{
  font-weight:950;
  color:#173241;
}
.planner-compatibility-metrics span{
  color:var(--c-muted);
  font-size:.78rem;
}
.planner-compatibility-tags{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
}
.planner-compatibility-tags span{
  border:1px solid rgba(0,105,137,.18);
  background:rgba(0,105,137,.06);
  color:#244252;
  border-radius:999px;
  padding:5px 8px;
  font-size:.78rem;
  font-weight:800;
}
.planner-compatibility-status{
  border-radius:14px;
  padding:10px 12px;
  background:rgba(255,255,255,.64);
  display:grid;
  gap:4px;
}
.planner-compatibility-status span{
  font-weight:950;
}
.planner-compatibility-status span.is-ok{ color:#23663b; }
.planner-compatibility-status span.is-warn{ color:#8a5a00; }
.planner-compatibility-status small{
  color:var(--c-muted);
  line-height:1.35;
}
.planner-compatibility-note{
  color:var(--c-muted);
  font-size:.82rem;
  line-height:1.35;
}
@media (max-width: 760px){
  .planner-compatibility-card__head{ display:grid; }
  .planner-compatibility-card__head span{ text-align:left; }
  .planner-compatibility-metrics{ grid-template-columns:1fr; }
}


  
.planner-compatibility-metrics--wide{
  grid-template-columns:repeat(4,minmax(0,1fr));
}
.planner-tech-checks{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:8px;
}
.planner-tech-checks div{
  border:1px solid rgba(80,100,120,.13);
  border-radius:14px;
  padding:10px;
  background:rgba(255,255,255,.58);
  display:grid;
  gap:3px;
}
.planner-tech-checks strong{
  color:#18313f;
  font-weight:950;
  font-size:.86rem;
}
.planner-tech-checks span{
  color:var(--c-muted);
  font-size:.79rem;
  line-height:1.3;
}
@media (max-width: 900px){
  .planner-compatibility-metrics--wide,
  .planner-tech-checks{
    grid-template-columns:1fr;
  }
}


  
.planner-recipe-family{
  border:1px solid rgba(92,84,170,.18);
  background:linear-gradient(135deg, rgba(92,84,170,.055), rgba(255,255,255,.72));
  border-radius:16px;
  padding:12px;
  display:grid;
  gap:10px;
}
.planner-recipe-family__head{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:10px;
}
.planner-recipe-family__head strong{
  font-weight:950;
  color:#252243;
}
.planner-recipe-family__head span{
  color:var(--c-muted);
  font-size:.78rem;
  text-align:right;
}
.planner-recipe-family__grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px;
}
.planner-recipe-family__grid div{
  border:1px solid rgba(92,84,170,.13);
  border-radius:13px;
  padding:9px 10px;
  background:rgba(255,255,255,.68);
  display:grid;
  gap:3px;
}
.planner-recipe-family__grid strong{
  font-weight:900;
  font-size:.82rem;
  color:#252243;
}
.planner-recipe-family__grid span{
  color:var(--c-muted);
  font-size:.78rem;
  line-height:1.3;
}
.planner-recipe-family__empty{
  border:1px dashed rgba(92,84,170,.2);
  border-radius:13px;
  padding:10px;
  color:var(--c-muted);
  background:rgba(255,255,255,.58);
  font-size:.82rem;
  line-height:1.35;
}
.planner-recipe-family__note{
  color:var(--c-muted);
  font-size:.78rem;
  line-height:1.35;
}
@media (max-width: 760px){
  .planner-recipe-family__head{ display:grid; }
  .planner-recipe-family__head span{ text-align:left; }
  .planner-recipe-family__grid{ grid-template-columns:1fr; }
}


  
.planner-schedule-products{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:7px;
  margin-top:10px;
  margin-bottom:10px;
}
.planner-schedule-products > div{
  border:1px solid rgba(0,105,137,.13);
  background:rgba(0,105,137,.045);
  border-radius:12px;
  padding:8px 9px;
  display:grid;
  gap:2px;
  min-width:0;
}
.planner-schedule-products span{
  color:var(--c-muted);
  font-size:.72rem;
  font-weight:800;
}
.planner-schedule-products strong{
  color:#173241;
  font-size:.82rem;
  font-weight:920;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.planner-schedule-products--empty{
  grid-template-columns:1fr;
}
@media (max-width: 980px){
  .planner-schedule-products{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}
@media (max-width: 560px){
  .planner-schedule-products{
    grid-template-columns:1fr;
  }
}


  
.planner-plan-readiness{
  margin-top:7px;
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  align-items:center;
  border-radius:999px;
  padding:5px 8px;
  width:max-content;
  max-width:100%;
  border:1px solid rgba(90,105,120,.16);
  background:rgba(255,255,255,.64);
}
.planner-plan-readiness strong{
  font-size:.75rem;
  font-weight:950;
}
.planner-plan-readiness span{
  font-size:.73rem;
  color:var(--c-muted);
}
.planner-plan-readiness--ok{
  border-color:rgba(40,130,70,.2);
  background:rgba(40,130,70,.07);
}
.planner-plan-readiness--ok strong{ color:#23663b; }
.planner-plan-readiness--warn{
  border-color:rgba(170,125,25,.22);
  background:rgba(170,125,25,.08);
}
.planner-plan-readiness--warn strong{ color:#8a5a00; }
.planner-plan-readiness--attention{
  border-color:rgba(170,75,25,.26);
  background:rgba(170,75,25,.09);
}
.planner-plan-readiness--attention strong{ color:#963f12; }
.planner-plan-readiness--compact{
  margin-top:0;
  padding:4px 7px;
}
.planner-schedule-readiness{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  margin:0 0 8px;
}
.planner-schedule-readiness span{
  border:1px solid rgba(90,105,120,.14);
  background:rgba(255,255,255,.62);
  border-radius:999px;
  padding:4px 8px;
  color:var(--c-muted);
  font-size:.76rem;
  font-weight:800;
}
.planner-schedule-readiness strong{
  color:var(--c-text);
  font-weight:950;
}

  
.planner-showcase-flow{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:10px;
}
.planner-showcase-step{
  text-decoration:none;
  color:inherit;
  min-height:138px;
  border:1px solid rgba(69,84,102,.14);
  border-radius:18px;
  background:linear-gradient(180deg,rgba(255,255,255,.74),rgba(255,255,255,.48));
  padding:12px;
  display:flex;
  flex-direction:column;
  gap:7px;
  box-shadow:0 12px 30px rgba(32,41,54,.055);
}
.planner-showcase-step:hover{
  border-color:rgba(80,104,135,.28);
  transform:translateY(-1px);
}
.planner-showcase-step__nr{
  width:28px;
  height:28px;
  border-radius:999px;
  display:grid;
  place-items:center;
  background:rgba(240,186,76,.18);
  border:1px solid rgba(160,112,28,.18);
  color:#80530f;
  font-weight:950;
  font-size:.82rem;
}
.planner-showcase-step strong{
  font-size:.92rem;
  font-weight:950;
  letter-spacing:-.01em;
}
.planner-showcase-step small{
  color:var(--c-muted);
  line-height:1.35;
  font-size:.76rem;
}
.planner-showcase-step em{
  margin-top:auto;
  align-self:flex-start;
  font-style:normal;
  font-size:.72rem;
  font-weight:900;
  color:rgba(60,73,90,.78);
  border:1px solid rgba(90,105,120,.14);
  background:rgba(255,255,255,.56);
  border-radius:999px;
  padding:4px 8px;
}
.planner-showcase-actions{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:12px;
}
@media (max-width:1100px){
  .planner-showcase-flow{ grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:680px){
  .planner-showcase-flow{ grid-template-columns:1fr; }
}


  
.showcase-contract{
    background:linear-gradient(135deg, rgba(255,255,255,.82), rgba(255,255,255,.52));
    border:1px solid rgba(32,97,174,.18);
    border-radius:28px;
    box-shadow:var(--shadow-soft);
    padding:1.15rem;
    margin-bottom:1rem;
}
.showcase-contract__head{
    display:grid;
    gap:.35rem;
    max-width:880px;
}
.showcase-contract__head h2{
    margin:0;
    font-size:clamp(1.25rem, 2vw, 1.85rem);
    letter-spacing:-.02em;
}
.showcase-contract__head p{
    margin:0;
    color:var(--c-muted);
    line-height:1.55;
}
.showcase-contract__steps{
    display:grid;
    grid-template-columns:repeat(auto-fit, minmax(190px, 1fr));
    gap:.75rem;
    margin-top:1rem;
}
.showcase-contract__step{
    display:grid;
    gap:.25rem;
    background:rgba(255,255,255,.68);
    border:1px solid rgba(32,97,174,.14);
    border-radius:20px;
    padding:.85rem;
    min-height:104px;
}
.showcase-contract__step span{
    width:max-content;
    border-radius:999px;
    padding:.16rem .48rem;
    background:rgba(32,97,174,.09);
    color:var(--c-primary-dark);
    font-size:.68rem;
    font-weight:900;
    letter-spacing:.08em;
    text-transform:uppercase;
}
.showcase-contract__step strong{
    color:var(--c-ink);
}
.showcase-contract__step small{
    color:var(--c-muted);
    line-height:1.45;
}
.showcase-contract--stage{
    border-color:rgba(245,158,11,.28);
}
.showcase-contract--stage .showcase-contract__step span{
    background:rgba(245,158,11,.14);
    color:#8a4b00;
}
.showcase-contract--quiet{
    box-shadow:none;
}

  
.planner-setup-workspace{
  gap:18px;
}
.planner-setup-context-form{
  margin:0;
}
.planner-setup-context-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
}
.planner-setup-context-grid label{
  display:grid;
  gap:6px;
  margin:0;
}
.planner-setup-context-grid label > span{
  font-size:.78rem;
  font-weight:900;
  color:var(--c-muted);
  letter-spacing:.015em;
}
.planner-setup-context-grid__wide{
  grid-column:1 / -1;
}
.planner-setup-context-grid small{
  color:var(--c-muted);
  line-height:1.35;
}
.planner-setup-snapshot{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
}
.planner-setup-snapshot-card{
  border:1px solid rgba(148,163,184,.24);
  border-radius:18px;
  background:rgba(255,255,255,.72);
  padding:14px 16px;
  display:grid;
  gap:6px;
  box-shadow:0 10px 24px rgba(20,30,45,.045);
}
.planner-setup-snapshot-card.is-ready{
  border-color:rgba(34,132,82,.26);
  background:linear-gradient(135deg, rgba(34,132,82,.07), rgba(255,255,255,.78));
}
.planner-setup-snapshot-card.is-open{
  border-color:rgba(194,128,38,.28);
  background:linear-gradient(135deg, rgba(194,128,38,.08), rgba(255,255,255,.76));
}
.planner-setup-snapshot-card strong{
  color:var(--c-text);
  font-size:1rem;
  font-weight:950;
  line-height:1.25;
}
.planner-setup-snapshot-card small{
  color:var(--c-muted);
  line-height:1.35;
}
.planner-setup-layout{
  align-items:start;
}
.planner-setup-form{
  display:grid;
  gap:12px;
}
.planner-setup-section{
  border:1px solid rgba(70,95,115,.14);
  border-radius:18px;
  background:rgba(255,255,255,.62);
  padding:14px;
  display:grid;
  gap:12px;
}
.planner-setup-section__head{
  display:flex;
  gap:10px;
  align-items:flex-start;
}
.planner-setup-section__head > span{
  width:28px;
  height:28px;
  flex:0 0 28px;
  border-radius:999px;
  display:grid;
  place-items:center;
  background:rgba(0,105,137,.1);
  color:#075f79;
  font-weight:950;
  border:1px solid rgba(0,105,137,.18);
}
.planner-setup-section__head strong{
  display:block;
  font-weight:950;
  color:var(--c-text);
}
.planner-setup-section__head small{
  display:block;
  margin-top:2px;
  color:var(--c-muted);
  line-height:1.35;
}
.planner-setup-savebar{
  border:1px solid rgba(0,105,137,.18);
  border-radius:18px;
  background:linear-gradient(135deg, rgba(0,105,137,.08), rgba(255,255,255,.78));
  padding:13px 14px;
  display:flex;
  justify-content:space-between;
  gap:12px;
  align-items:center;
}
.planner-setup-savebar strong{
  display:block;
  color:var(--c-text);
  font-weight:950;
}
.planner-setup-savebar small{
  display:block;
  margin-top:3px;
  color:var(--c-muted);
  line-height:1.35;
}
.planner-setup-meta-grid{
  display:grid;
  gap:8px;
}
.planner-setup-meta-value{
  border:1px solid rgba(148,163,184,.2);
  border-radius:14px;
  background:rgba(255,255,255,.6);
  padding:10px 12px;
  display:grid;
  gap:3px;
}
.planner-setup-meta-value span{
  font-size:.74rem;
  font-weight:850;
  color:var(--c-muted);
}
.planner-setup-meta-value strong{
  color:var(--c-text);
  font-weight:950;
  line-height:1.25;
}
.planner-setup-meta-value--ready{
  border-color:rgba(34,132,82,.20);
}
.planner-setup-meta-value--open{
  border-color:rgba(194,128,38,.26);
}
.planner-setup-checklist{
  display:grid;
  gap:8px;
}
.planner-setup-check{
  display:flex;
  gap:9px;
  align-items:flex-start;
  border:1px solid rgba(148,163,184,.22);
  background:rgba(255,255,255,.62);
  border-radius:14px;
  padding:9px 10px;
}
.planner-setup-check > span{
  width:22px;
  height:22px;
  flex:0 0 22px;
  border-radius:999px;
  display:grid;
  place-items:center;
  font-weight:950;
  background:rgba(100,116,139,.1);
  color:#64748b;
}
.planner-setup-check.is-ok > span{
  background:rgba(34,132,82,.12);
  color:#23663b;
}
.planner-setup-check.is-open > span{
  background:rgba(194,128,38,.12);
  color:#8a5a00;
}
.planner-setup-check strong{
  display:block;
  color:var(--c-text);
  font-size:.86rem;
  font-weight:950;
}
.planner-setup-check small{
  display:block;
  margin-top:1px;
  color:var(--c-muted);
  line-height:1.32;
}
.planner-setup-followup-grid{
  display:grid;
  gap:8px;
}
.planner-setup-followup-card{
  border:1px solid rgba(148,163,184,.22);
  border-radius:15px;
  padding:11px 12px;
  background:rgba(255,255,255,.62);
  display:grid;
  gap:4px;
}
.planner-setup-followup-card strong{
  color:var(--c-text);
  font-weight:950;
}
.planner-setup-followup-card small{
  color:var(--c-muted);
  line-height:1.35;
}
.planner-setup-followup-card--form_change,
.planner-setup-followup-card--form-change{
  border-color:rgba(180,72,50,.25);
  background:linear-gradient(135deg, rgba(180,72,50,.07), rgba(255,255,255,.75));
}
.planner-setup-followup-card--product_change,
.planner-setup-followup-card--product-change{
  border-color:rgba(194,128,38,.26);
  background:linear-gradient(135deg, rgba(194,128,38,.08), rgba(255,255,255,.75));
}
.planner-setup-followup-card--normal,
.planner-setup-followup-card.is-ready{
  border-color:rgba(34,132,82,.22);
  background:linear-gradient(135deg, rgba(34,132,82,.065), rgba(255,255,255,.76));
}
.planner-setup-followup-card.is-open{
  border-color:rgba(148,163,184,.24);
}
.planner-setup-linkrow{
  display:flex;
  flex-wrap:wrap;
  gap:7px;
  margin-top:10px;
}
.planner-detail-card{
  margin:0;
}
@media (max-width: 920px){
  .planner-setup-snapshot,
  .planner-setup-context-grid{
    grid-template-columns:1fr;
  }
  .planner-setup-savebar{
    display:grid;
  }
}

 

 
.product-master-card--workspace {
    position: relative;
    overflow: hidden;
    gap: .58rem;
}

.product-master-card--workspace::before {
    content: "";
    position: absolute;
    inset: 0 auto 0 0;
    width: .32rem;
    background: rgba(0, 105, 137, .35);
}

.product-master-card--workspace.readiness-ready::before {
    background: rgba(45, 124, 82, .45);
}

.product-master-card--workspace.readiness-pending::before {
    background: rgba(184, 117, 0, .46);
}

.product-master-card--workspace.readiness-critical::before {
    background: rgba(166, 55, 55, .46);
}

.product-master-card__top,
.product-master-card__footer {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: var(--sp-sm);
}

.product-master-card__top {
    padding-left: .1rem;
}

.product-master-card__footer {
    border-top: 1px solid rgba(18, 50, 58, .1);
    padding-top: .55rem;
    color: var(--c-muted);
    font-size: .78rem;
    font-weight: 850;
}

.product-master-card__footer em {
    font-style: normal;
    color: var(--c-text);
    white-space: nowrap;
}

.product-readiness {
    display: inline-flex;
    align-items: center;
    border-radius: 999px;
    padding: .24rem .52rem;
    font-size: .72rem;
    font-weight: 950;
    letter-spacing: .02em;
    text-transform: uppercase;
    border: 1px solid transparent;
}

.product-readiness--ready {
    color: #215b3b;
    background: rgba(45, 124, 82, .12);
    border-color: rgba(45, 124, 82, .22);
}

.product-readiness--pending {
    color: #7a4d00;
    background: rgba(184, 117, 0, .12);
    border-color: rgba(184, 117, 0, .24);
}

.product-readiness--critical {
    color: #8a2d2d;
    background: rgba(166, 55, 55, .11);
    border-color: rgba(166, 55, 55, .22);
}

.product-master-card__handoff {
    display: flex;
    flex-wrap: wrap;
    gap: .35rem;
}

.product-master-card__handoff span {
    border: 1px solid rgba(18, 50, 58, .1);
    border-radius: 999px;
    background: rgba(255,255,255,.62);
    color: rgba(18, 50, 58, .62);
    font-size: .7rem;
    font-weight: 900;
    padding: .18rem .45rem;
}

.product-edit-hero--workspace {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: var(--sp-lg);
}

.product-edit-hero__status {
    display: grid;
    justify-items: end;
    gap: .35rem;
    min-width: 12rem;
}

.product-edit-hero__status small {
    text-align: right;
    color: var(--c-muted);
    font-weight: 800;
    line-height: 1.35;
}

.product-edit-flow {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: .55rem;
}

.product-edit-flow span {
    border: 1px solid var(--c-border);
    border-radius: 999px;
    background: rgba(255,255,255,.72);
    padding: .42rem .58rem;
    text-align: center;
    color: var(--c-muted);
    font-size: .78rem;
    font-weight: 900;
}

.product-edit-section--handoff {
    background: rgba(250, 252, 252, .82);
}

.product-master-flowbox {
    display: grid;
    gap: .55rem;
}

.product-master-flowbox div {
    border: 1px solid rgba(18, 50, 58, .1);
    border-radius: var(--r-md);
    background: rgba(255,255,255,.64);
    padding: .65rem .75rem;
    display: grid;
    gap: .18rem;
}

.product-master-flowbox strong {
    color: var(--c-text);
}

.product-master-flowbox span {
    color: var(--c-muted);
    font-size: .86rem;
    font-weight: 760;
    line-height: 1.35;
}

@media (max-width: 760px) {
    .product-edit-hero--workspace,
    .product-master-card__footer {
        display: grid;
    }

    .product-edit-hero__status {
        justify-items: start;
        min-width: 0;
    }

    .product-edit-hero__status small {
        text-align: left;
    }

    .product-edit-flow {
        grid-template-columns: 1fr 1fr;
    }
}

  
.recipe-work-live-strip {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: .75rem;
    margin: .9rem 0 1rem;
}

.recipe-work-live-card {
    display: grid;
    gap: .16rem;
    min-width: 0;
    padding: .82rem .9rem;
    border: 1px solid rgba(148, 163, 184, .26);
    border-radius: 1rem;
    background: rgba(255, 255, 255, .72);
    box-shadow: 0 16px 34px rgba(15, 23, 42, .045);
}

.recipe-work-live-card small {
    color: var(--c-muted);
    font-size: .68rem;
    font-weight: 950;
    letter-spacing: .035em;
    text-transform: uppercase;
}

.recipe-work-live-card strong {
    overflow: hidden;
    color: var(--c-text);
    font-size: 1rem;
    font-weight: 950;
    letter-spacing: -.015em;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.recipe-work-live-card span {
    color: var(--c-muted);
    font-size: .76rem;
    line-height: 1.32;
}

.recipe-work-live-card.is-ok {
    border-color: rgba(22, 163, 74, .28);
    background: linear-gradient(135deg, rgba(22, 163, 74, .1), rgba(255, 255, 255, .76));
}

.recipe-work-live-card.is-attention {
    border-color: rgba(245, 158, 11, .32);
    background: linear-gradient(135deg, rgba(245, 158, 11, .12), rgba(255, 255, 255, .76));
}

.recipe-work-live-card.is-warn {
    border-color: rgba(239, 68, 68, .26);
    background: linear-gradient(135deg, rgba(239, 68, 68, .08), rgba(255, 255, 255, .76));
}

.recipe-work-next-list,
.recipe-layer-stack {
    display: grid;
    gap: .55rem;
}

.recipe-work-next-item,
.recipe-layer-item {
    display: grid;
    gap: .12rem;
    padding: .68rem .74rem;
    border: 1px solid rgba(148, 163, 184, .24);
    border-radius: .88rem;
    background: rgba(255, 255, 255, .62);
}

.recipe-work-next-item strong,
.recipe-layer-item strong {
    color: var(--c-text);
    font-size: .86rem;
    font-weight: 950;
}

.recipe-work-next-item span,
.recipe-layer-item span {
    color: var(--c-muted);
    font-size: .76rem;
    line-height: 1.34;
}

.recipe-layer-item small {
    color: var(--c-muted);
    font-size: .64rem;
    font-weight: 950;
    letter-spacing: .045em;
    text-transform: uppercase;
}

.recipe-layer-item.is-top,
.recipe-work-next-item.is-attention {
    border-color: rgba(245, 158, 11, .3);
    background: rgba(245, 158, 11, .08);
}

.recipe-work-next-item.is-ok {
    border-color: rgba(22, 163, 74, .26);
    background: rgba(22, 163, 74, .08);
}

.recipe-work-next-item.is-warn {
    border-color: rgba(239, 68, 68, .24);
    background: rgba(239, 68, 68, .07);
}

.recipe-parameter-row__reset .btn {
    min-height: 2.1rem;
    border-style: dashed;
}

@media (max-width: 1180px) {
    .recipe-work-live-strip {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 680px) {
    .recipe-work-live-strip {
        grid-template-columns: 1fr;
    }
}

  
.recipe-component-map--capability {
    gap: .85rem;
}

.recipe-component-group--capability .recipe-component-group__head {
    background: rgba(248, 250, 252, .86);
}

.recipe-component-group--capability .recipe-component-group__title span {
    max-width: 74rem;
}

.recipe-parameter-row--capability .recipe-parameter-row__values--capability {
    grid-template-columns: repeat(4, minmax(5.8rem, 1fr));
    gap: .32rem;
}

.recipe-parameter-row--capability .recipe-value-chip {
    min-height: 2.1rem;
    padding: .26rem .36rem;
}

.recipe-value-chip__label,
.recipe-value-chip__source {
    color: var(--c-muted);
    font-size: .62rem;
    font-style: normal;
    font-weight: 850;
    line-height: 1.1;
}

.recipe-value-chip__value {
    color: var(--c-text);
    font-size: .74rem;
    font-weight: 950;
    line-height: 1.1;
}

.recipe-value-chip.is-unlinked {
    grid-column: 1 / -1;
    border-style: dashed;
    background: rgba(248, 250, 252, .68);
}

.recipe-inline-value-control select.js-param-value {
    width: 100%;
    min-width: 0;
    height: 2.95rem;
    border: 0;
    border-radius: 0;
    background: transparent;
    color: var(--c-text);
    font-size: .92rem;
    font-weight: 850;
    padding: 0 .78rem;
}

.recipe-parameter-row__right--readonly {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: .42rem;
    align-items: center;
}

.recipe-capability-link-state {
    display: inline-flex;
    align-items: center;
    min-height: 1.85rem;
    padding: .28rem .5rem;
    border: 1px dashed rgba(148, 163, 184, .42);
    border-radius: .6rem;
    background: rgba(248, 250, 252, .74);
    color: var(--c-muted);
    font-size: .68rem;
    font-weight: 850;
    white-space: nowrap;
}

.recipe-capability-cycle-list {
    display: grid;
    gap: .58rem;
    padding: .62rem;
}

.recipe-capability-cycle-row {
    display: grid;
    grid-template-columns: minmax(5.2rem, auto) minmax(0, 1fr);
    gap: .52rem;
    align-items: start;
    padding: .58rem;
    border: 1px solid rgba(148, 163, 184, .22);
    border-radius: .9rem;
    background: rgba(255, 255, 255, .64);
}

.recipe-capability-cycle-label {
    position: sticky;
    top: .5rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 2.15rem;
    padding: .28rem .52rem;
    border: 1px solid rgba(148, 163, 184, .28);
    border-radius: .72rem;
    background: rgba(248, 250, 252, .82);
    color: var(--c-text);
    font-size: .78rem;
    font-weight: 950;
    white-space: nowrap;
}

.recipe-capability-cycle-param {
    min-width: 0;
}

.recipe-capability-cycle-param + .recipe-capability-cycle-param {
    margin-top: .42rem;
}

.recipe-capability-cycle-param .recipe-parameter-row--capability {
    grid-template-columns: minmax(9rem, .64fr) minmax(14rem, 1fr) minmax(14rem, auto);
    padding: .52rem .56rem;
}

.recipe-parameter-list--axis-loop .recipe-parameter-row--capability {
    grid-template-columns: minmax(12rem, .7fr) minmax(17rem, 1fr) minmax(18rem, auto);
}

@media (max-width: 1320px) {
    .recipe-capability-cycle-param .recipe-parameter-row--capability,
    .recipe-parameter-list--axis-loop .recipe-parameter-row--capability {
        grid-template-columns: 1fr;
    }

    .recipe-parameter-row--capability .recipe-parameter-row__values--capability {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .recipe-parameter-row__right--readonly {
        justify-content: flex-start;
    }
}

@media (max-width: 760px) {
    .recipe-capability-cycle-row {
        grid-template-columns: 1fr;
    }

    .recipe-capability-cycle-label {
        position: static;
        justify-content: flex-start;
    }

    .recipe-parameter-row--capability .recipe-parameter-row__values--capability {
        grid-template-columns: 1fr;
    }
}

  
.recipe-capability-cycle-row {
    grid-template-columns: auto repeat(3, minmax(12.5rem, 1fr));
    align-items: center;
}

.recipe-capability-cycle-tile {
    display: inline-flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .38rem;
    min-width: 0;
    padding: .42rem .46rem;
    border: 1px solid rgba(148, 163, 184, .22);
    border-radius: .74rem;
    background: rgba(255, 255, 255, .72);
}

.recipe-capability-cycle-tile__text {
    display: grid;
    gap: .04rem;
    min-width: 5.2rem;
}

.recipe-capability-cycle-tile__text strong {
    overflow: hidden;
    color: var(--c-text);
    font-size: .74rem;
    font-weight: 950;
    line-height: 1.08;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.recipe-capability-cycle-tile__text span {
    overflow: hidden;
    color: var(--c-muted);
    font-size: .62rem;
    font-weight: 820;
    line-height: 1.08;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.recipe-value-chip--cycle {
    min-width: 5.8rem;
    min-height: 1.85rem;
}

.recipe-capability-cycle-tile__control {
    display: inline-flex;
    align-items: center;
    gap: .28rem;
    min-width: 0;
}

.recipe-inline-value-control--mini {
    height: 2rem;
    min-width: 6.2rem;
}

.recipe-inline-value-control--mini input,
.recipe-inline-value-control--mini .input-unit {
    height: 2rem;
    font-size: .72rem;
}

.recipe-capability-cycle-tile .recipe-adjust-btn,
.recipe-capability-cycle-tile .recipe-inline-submit {
    min-width: 2rem;
    width: 2.15rem;
    height: 2rem;
    border-radius: .58rem;
    font-size: .68rem;
}

.recipe-capability-cycle-tile .recipe-inline-submit svg {
    width: .95rem;
    height: .95rem;
}

.recipe-capability-cycle-tile select.js-param-value {
    height: 2rem;
    min-width: 5.8rem;
    border: 1px solid rgba(148, 163, 184, .28);
    border-radius: .58rem;
    background: rgba(255, 255, 255, .84);
    color: var(--c-text);
    font-size: .72rem;
    font-weight: 850;
}

@media (max-width: 1520px) {
    .recipe-capability-cycle-row {
        grid-template-columns: auto repeat(2, minmax(12.5rem, 1fr));
    }
}

@media (max-width: 1040px) {
    .recipe-capability-cycle-row {
        grid-template-columns: 1fr;
    }

    .recipe-capability-cycle-tile {
        width: 100%;
    }
}

  
.recipe-capability-group-status {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: .36rem;
    min-width: 16rem;
}

.recipe-capability-group-status span {
    display: inline-flex;
    align-items: center;
    gap: .28rem;
    min-height: 1.95rem;
    padding: .28rem .55rem;
    border: 1px solid rgba(148, 163, 184, .25);
    border-radius: 999px;
    background: rgba(255,255,255,.78);
    color: var(--c-muted);
    font-size: .68rem;
    font-weight: 900;
    white-space: nowrap;
}

.recipe-capability-group-status strong {
    color: var(--c-text);
    font-size: .78rem;
    font-weight: 950;
}

.recipe-capability-group-status .is-ok {
    border-color: rgba(22, 163, 74, .24);
    background: rgba(22, 163, 74, .08);
    color: #166534;
}

.recipe-capability-group-status .is-edit {
    border-color: rgba(8, 145, 178, .24);
    background: rgba(8, 145, 178, .08);
    color: #0e7490;
}

.recipe-capability-group-status .is-info {
    border-color: rgba(99, 102, 241, .22);
    background: rgba(99, 102, 241, .07);
    color: #4338ca;
}

.recipe-capability-group-status .is-warn {
    border-color: rgba(245, 158, 11, .34);
    background: rgba(245, 158, 11, .1);
    color: #92400e;
}

.recipe-capability-status {
    display: grid;
    gap: .12rem;
    max-width: 18rem;
    padding: .46rem .58rem;
    border: 1px solid rgba(148, 163, 184, .28);
    border-radius: .72rem;
    background: rgba(248, 250, 252, .78);
}

.recipe-capability-status strong {
    color: var(--c-text);
    font-size: .76rem;
    font-weight: 950;
    line-height: 1.12;
}

.recipe-capability-status small {
    color: var(--c-muted);
    font-size: .66rem;
    font-weight: 760;
    line-height: 1.25;
}

.recipe-capability-status a {
    color: var(--c-accent);
    font-size: .68rem;
    font-weight: 950;
    text-decoration: none;
}

.recipe-capability-status.is-ok {
    border-color: rgba(22, 163, 74, .24);
    background: rgba(22, 163, 74, .08);
}

.recipe-capability-status.is-warn,
.recipe-capability-cycle-tile.is-warn {
    border-color: rgba(245, 158, 11, .34);
    background: rgba(245, 158, 11, .08);
}

.recipe-capability-status.is-attention,
.recipe-capability-cycle-tile.is-attention {
    border-color: rgba(234, 88, 12, .28);
    background: rgba(234, 88, 12, .07);
}

.recipe-capability-status.is-info,
.recipe-capability-cycle-tile.is-info {
    border-color: rgba(99, 102, 241, .24);
    background: rgba(99, 102, 241, .07);
}

.recipe-capability-status.is-soft,
.recipe-capability-cycle-tile.is-soft {
    border-style: dashed;
    background: rgba(248, 250, 252, .78);
}

.recipe-cycle-bridge {
    display: grid;
    gap: .55rem;
    margin: .62rem;
    padding: .72rem;
    border: 1px solid rgba(8, 145, 178, .18);
    border-radius: .95rem;
    background: linear-gradient(135deg, rgba(8,145,178,.07), rgba(255,255,255,.66));
}

.recipe-cycle-bridge__head {
    display: grid;
    gap: .12rem;
}

.recipe-cycle-bridge__head strong,
.recipe-cycle-plan-head strong {
    color: var(--c-text);
    font-size: .9rem;
    font-weight: 950;
}

.recipe-cycle-bridge__head span,
.recipe-cycle-plan-head span {
    color: var(--c-muted);
    font-size: .76rem;
    font-weight: 760;
    line-height: 1.35;
}

.recipe-parameter-list--bridge {
    gap: .48rem;
}

.recipe-cycle-plan-head {
    display: grid;
    gap: .1rem;
    margin: .8rem .62rem 0;
    padding: .62rem .72rem;
    border: 1px solid rgba(148, 163, 184, .18);
    border-radius: .88rem;
    background: rgba(248, 250, 252, .72);
}

.recipe-capability-cycle-label {
    display: grid;
    gap: .02rem;
    line-height: 1.05;
}

.recipe-capability-cycle-label span {
    color: var(--c-muted);
    font-size: .56rem;
    font-weight: 900;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.recipe-capability-cycle-placeholder {
    display: grid;
    gap: .08rem;
    min-width: 7.5rem;
    padding: .34rem .48rem;
    border: 1px dashed rgba(148, 163, 184, .38);
    border-radius: .62rem;
    background: rgba(248, 250, 252, .82);
}

.recipe-capability-cycle-placeholder strong {
    color: var(--c-text);
    font-size: .68rem;
    font-weight: 950;
}

.recipe-capability-cycle-placeholder small {
    color: var(--c-muted);
    font-size: .6rem;
    font-weight: 760;
    line-height: 1.25;
}

.recipe-capability-cycle-tile .recipe-capability-status {
    max-width: 12rem;
    padding: .34rem .46rem;
}

.recipe-capability-cycle-tile .recipe-capability-status small {
    display: none;
}

@media (max-width: 900px) {
    .recipe-capability-group-status {
        justify-content: flex-start;
        min-width: 0;
    }

    .recipe-capability-status {
        max-width: none;
    }
}

  
.parameter-row__name--with-icon,
.recipe-capability-cycle-tile__text strong {
    display: inline-flex;
    align-items: center;
    gap: .38rem;
    min-width: 0;
}

.recipe-param-icon {
    display: inline-grid;
    flex: 0 0 auto;
    place-items: center;
    width: 1.65rem;
    height: 1.65rem;
    border: 1px solid rgba(148, 163, 184, .24);
    border-radius: .55rem;
    background: rgba(248, 250, 252, .82);
    color: var(--c-muted);
}

.recipe-param-icon svg {
    width: .98rem;
    height: .98rem;
    fill: none;
    stroke: currentColor;
    stroke-width: 2.15;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.recipe-param-icon.is-heat {
    border-color: rgba(234, 88, 12, .24);
    background: rgba(234, 88, 12, .08);
    color: #c2410c;
}

.recipe-param-icon.is-water,
.recipe-param-icon.is-cooling {
    border-color: rgba(8, 145, 178, .22);
    background: rgba(8, 145, 178, .08);
    color: #0e7490;
}

.recipe-param-icon.is-air,
.recipe-param-icon.is-axis {
    border-color: rgba(99, 102, 241, .22);
    background: rgba(99, 102, 241, .07);
    color: #4338ca;
}

.recipe-param-icon.is-time {
    border-color: rgba(100, 116, 139, .24);
    background: rgba(100, 116, 139, .07);
    color: #475569;
}

.recipe-inline-submit--text {
    width: auto;
    min-width: 5.4rem;
    padding: 0 .9rem;
    border-radius: .75rem;
    background: var(--c-accent);
    color: #fff;
    font-size: .76rem;
    font-weight: 950;
    letter-spacing: .01em;
}

.recipe-inline-submit--text:hover {
    filter: brightness(.97);
}

.recipe-capability-cycle-tile .recipe-inline-submit--text,
.recipe-inline-submit--mini {
    width: auto;
    min-width: 5rem;
    padding: 0 .7rem;
}


  
.recipe-capability-cycle-tile.is-preview-only {
    border-color: rgba(148, 163, 184, .20);
    background: rgba(255, 255, 255, .78);
}

.recipe-capability-cycle-tile.is-preview-only .recipe-capability-cycle-tile__text span {
    color: var(--c-muted);
}

.recipe-capability-cycle-note {
    display: inline-flex;
    align-items: center;
    min-height: 1.75rem;
    padding: .22rem .48rem;
    border: 1px solid rgba(148, 163, 184, .20);
    border-radius: 999px;
    background: rgba(248, 250, 252, .72);
    color: var(--c-muted);
    font-size: .62rem;
    font-weight: 900;
    white-space: nowrap;
}

.recipe-capability-cycle-tile.is-preview-only .capability-preview-control {
    min-width: 8.4rem;
}

.recipe-capability-cycle-tile.is-preview-only .capability-preview-toggle {
    min-height: 2rem;
    padding: .28rem .56rem;
}

.recipe-capability-cycle-tile.is-preview-only .recipe-param-icon {
    opacity: .88;
}

.recipe-capability-group-status .is-warn {
    border-color: rgba(148, 163, 184, .24);
    background: rgba(248, 250, 252, .78);
    color: var(--c-muted);
}

  
.capability-modal-form .field-hint {
    display:block;
    margin-top:.38rem;
    color:var(--c-muted);
    font-size:.84rem;
    line-height:1.35;
}
.capability-cycle-showcase-note {
    grid-column:1 / -1;
    margin-top:.25rem;
    padding:.75rem .85rem;
    border:1px solid rgba(40, 87, 160, .18);
    border-radius:14px;
    background:rgba(238, 246, 255, .72);
    color:var(--c-muted);
    font-size:.88rem;
    line-height:1.4;
}
.capability-cycle-showcase-note strong { color:var(--c-text); }
.recipe-capability-status.is-info strong { color:#075985; }
.recipe-capability-status.is-info { border-color:rgba(14, 165, 233, .22); background:rgba(240, 249, 255, .8); }

 


 
.recipe-context-picker {
    display: grid;
    grid-template-columns: minmax(12rem, .75fr) minmax(12rem, .75fr) minmax(18rem, 1.4fr);
    gap: .72rem;
    align-items: end;
    padding: .72rem;
}

.recipe-context-picker label {
    display: grid;
    gap: .32rem;
    min-width: 0;
    color: var(--c-muted);
    font-size: .76rem;
    font-weight: 900;
}

.recipe-context-picker select {
    width: 100%;
    min-width: 0;
    min-height: 2.55rem;
    border: 1px solid rgba(148, 163, 184, .34);
    border-radius: .72rem;
    background: rgba(255, 255, 255, .86);
    color: var(--c-text);
    font-weight: 880;
    padding: 0 .72rem;
}

.recipe-work-page .recipe-component-group--cycle_group .recipe-component-group__title span {
    display: none;
}

.recipe-cycle-plan-head,
.recipe-cycle-bridge {
    display: none !important;
}

.recipe-capability-cycle-list--parameter-row {
    display: grid;
    gap: .5rem;
    padding: .6rem;
}

.recipe-capability-cycle-list--parameter-row .recipe-capability-cycle-row {
    display: grid;
    grid-template-columns: 4.8rem minmax(14rem, 1.25fr) auto auto;
    align-items: center;
    gap: .48rem;
    min-height: 3.7rem;
    padding: .5rem .58rem;
    border: 1px solid rgba(148, 163, 184, .22);
    border-radius: .86rem;
    background: rgba(255, 255, 255, .72);
}

.recipe-capability-cycle-list--parameter-row .recipe-capability-cycle-label {
    position: static;
    min-height: 2.35rem;
    padding: .24rem .42rem;
    font-size: .92rem;
    border-radius: .72rem;
}

.recipe-capability-cycle-list--parameter-row .recipe-capability-cycle-label span {
    display: block;
    margin-right: .18rem;
    color: var(--c-muted);
    font-size: .58rem;
    font-weight: 950;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.recipe-cycle-param.parameter-row {
    display: inline-grid;
    align-items: center;
    gap: .36rem;
    min-width: 0;
    margin: 0;
    padding: .3rem;
    border: 0;
    border-radius: .72rem;
    background: transparent;
    box-shadow: none;
}

.recipe-cycle-param.is-duration {
    grid-template-columns: auto auto minmax(7.2rem, 10rem) auto minmax(3.6rem, auto);
    justify-self: stretch;
}

.recipe-cycle-param.is-air-tile,
.recipe-cycle-param.is-water-tile {
    grid-template-columns: auto minmax(3.4rem, auto);
    justify-self: end;
}

.recipe-cycle-param__name {
    display: inline-flex;
    align-items: center;
    gap: .3rem;
    min-width: 0;
    color: var(--c-text);
    font-size: .78rem;
    font-weight: 940;
    white-space: nowrap;
}

.recipe-cycle-param__name .recipe-param-icon {
    flex: 0 0 auto;
}

.recipe-cycle-param .recipe-adjust-btn {
    width: 2.25rem;
    min-width: 2.25rem;
    height: 2.25rem;
    padding: 0;
    border-radius: .65rem;
    font-size: .76rem;
}

.recipe-cycle-param .recipe-inline-value-control--mini {
    min-width: 7.6rem;
    height: 2.25rem;
}

.recipe-cycle-param .recipe-inline-value-control--mini input,
.recipe-cycle-param .recipe-inline-value-control--mini .input-unit {
    height: 2.25rem;
    font-size: .8rem;
}

.recipe-icon-switch {
    appearance: none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .24rem;
    min-width: 2.35rem;
    min-height: 2.35rem;
    padding: .18rem .34rem;
    border: 1px solid rgba(148, 163, 184, .26);
    border-radius: .74rem;
    background: rgba(248, 250, 252, .76);
    color: var(--c-muted);
    cursor: pointer;
    transition: background .12s ease, border-color .12s ease, color .12s ease, transform .12s ease;
}

.recipe-icon-switch:hover {
    transform: translateY(-1px);
    background: rgba(241, 245, 249, .9);
}

.recipe-icon-switch.is-active {
    border-color: rgba(22, 163, 74, .34);
    background: rgba(22, 163, 74, .10);
    color: #166534;
}

.recipe-icon-switch.is-water.is-active {
    border-color: rgba(14, 165, 233, .34);
    background: rgba(14, 165, 233, .11);
    color: #075985;
}

.recipe-icon-switch.is-air.is-active {
    border-color: rgba(99, 102, 241, .30);
    background: rgba(99, 102, 241, .10);
    color: #4338ca;
}

.recipe-icon-switch__box {
    display: inline-grid;
    place-items: center;
}

.recipe-icon-switch__box .recipe-param-icon {
    width: 1.72rem;
    height: 1.72rem;
    margin: 0;
}

.recipe-icon-switch__state {
    font-size: .64rem;
    font-weight: 920;
    line-height: 1;
    min-width: 2.5rem;
    text-align: left;
}

.recipe-autosave-state {
    display: inline-flex;
    align-items: center;
    min-height: 1.85rem;
    color: var(--c-muted);
    font-size: .64rem;
    font-weight: 900;
    white-space: nowrap;
}

.recipe-autosave-state.is-saving { color: #92400e; }
.recipe-autosave-state.is-saved { color: #166534; }
.recipe-autosave-state.is-error { color: #991b1b; }

.recipe-work-page .recipe-parameter-row.recipe-parameter-row--inline {
    grid-template-columns: minmax(14rem, 1fr) minmax(18rem, 1.35fr) minmax(22rem, auto);
}

.recipe-parameter-row__control {
    grid-template-columns: auto minmax(8.5rem, 12rem) auto minmax(3.4rem, auto);
}

.recipe-parameter-row__control .recipe-icon-switch {
    justify-self: start;
}

.recipe-parameter-row__control:has(.recipe-icon-switch) {
    grid-template-columns: auto minmax(3.4rem, auto);
    justify-content: start;
}

.recipe-parameter-row__control .recipe-inline-submit {
    display: none !important;
}

@media (max-width: 1180px) {
    .recipe-context-picker,
    .recipe-capability-cycle-list--parameter-row .recipe-capability-cycle-row {
        grid-template-columns: 1fr;
        align-items: stretch;
    }

    .recipe-cycle-param.is-duration,
    .recipe-cycle-param.is-air-tile,
    .recipe-cycle-param.is-water-tile {
        justify-self: stretch;
    }
}

 



 
.recipe-work-page .recipe-component-group--cycle_group .recipe-component-group__title span {
    display: none !important;
}

.recipe-capability-cycle-list--parameter-row {
    display: grid !important;
    gap: .72rem !important;
    padding: .72rem !important;
}

.recipe-capability-cycle-list--parameter-row .recipe-capability-cycle-row {
    display: grid !important;
    grid-template-columns: 5.2rem minmax(0, 1fr) !important;
    gap: .62rem !important;
    align-items: start !important;
    min-height: 0 !important;
    padding: .64rem !important;
    border: 1px solid rgba(148, 163, 184, .24) !important;
    border-radius: 1rem !important;
    background: rgba(255, 255, 255, .68) !important;
}

.recipe-capability-cycle-list--parameter-row .recipe-capability-cycle-label {
    position: sticky !important;
    top: .8rem !important;
    display: grid !important;
    place-content: center !important;
    min-height: 3.15rem !important;
    border: 1px solid rgba(148, 163, 184, .26) !important;
    border-radius: .85rem !important;
    background: rgba(248, 250, 252, .86) !important;
    color: var(--c-text) !important;
    font-size: 1.1rem !important;
    font-weight: 950 !important;
    line-height: 1 !important;
}

.recipe-capability-cycle-list--parameter-row .recipe-capability-cycle-label span {
    display: block !important;
    margin: 0 0 .12rem 0 !important;
    color: var(--c-muted) !important;
    font-size: .58rem !important;
    font-weight: 950 !important;
    letter-spacing: .08em !important;
    text-transform: uppercase !important;
}

.recipe-capability-cycle-row__parameters {
    display: grid !important;
    gap: .48rem !important;
    min-width: 0 !important;
}

.recipe-work-page .recipe-cycle-param.recipe-parameter-row.recipe-parameter-row--inline,
.recipe-work-page .recipe-cycle-param.parameter-row {
    display: grid !important;
    grid-template-columns: minmax(10rem, .75fr) minmax(24rem, 1.35fr) minmax(15rem, .7fr) !important;
    gap: .62rem !important;
    align-items: center !important;
    min-width: 0 !important;
    width: 100% !important;
    margin: 0 !important;
    padding: .58rem .62rem !important;
    border: 1px solid rgba(148, 163, 184, .22) !important;
    border-radius: .85rem !important;
    background: rgba(255, 255, 255, .78) !important;
    box-shadow: none !important;
}

.recipe-work-page .recipe-cycle-param.is-overridden {
    background: linear-gradient(90deg, rgba(245, 158, 11, .08), rgba(255, 255, 255, .78) 46%) !important;
    border-color: rgba(245, 158, 11, .28) !important;
}

.recipe-work-page .recipe-cycle-param .recipe-parameter-row__text {
    display: grid !important;
    gap: .12rem !important;
    min-width: 0 !important;
}

.recipe-work-page .recipe-cycle-param .parameter-row__name {
    display: inline-flex !important;
    align-items: center !important;
    gap: .38rem !important;
    font-size: .92rem !important;
    font-weight: 950 !important;
    line-height: 1.15 !important;
    white-space: nowrap !important;
}

.recipe-work-page .recipe-cycle-param .parameter-row__meta {
    font-size: .68rem !important;
    font-weight: 780 !important;
    color: var(--c-muted) !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
}

.recipe-work-page .recipe-cycle-param .recipe-parameter-row__values {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    gap: .28rem !important;
    min-width: 0 !important;
}

.recipe-work-page .recipe-cycle-param .recipe-value-chip {
    padding: .22rem .38rem !important;
    gap: .22rem !important;
}

.recipe-work-page .recipe-cycle-param .recipe-value-chip__label,
.recipe-work-page .recipe-cycle-param .recipe-value-chip small {
    font-size: .6rem !important;
}

.recipe-work-page .recipe-cycle-param .recipe-value-chip__value,
.recipe-work-page .recipe-cycle-param .recipe-value-chip strong {
    font-size: .72rem !important;
}

.recipe-work-page .recipe-cycle-param .recipe-value-chip__source,
.recipe-work-page .recipe-cycle-param .recipe-value-chip em {
    max-width: 7rem !important;
    font-size: .58rem !important;
}

.recipe-cycle-param__right {
    display: grid !important;
    gap: .26rem !important;
    justify-items: end !important;
    min-width: 0 !important;
}

.recipe-cycle-param__control,
.recipe-work-page .recipe-cycle-param .recipe-parameter-row__control {
    display: inline-grid !important;
    grid-template-columns: auto minmax(6.8rem, 9rem) auto auto !important;
    gap: .32rem !important;
    align-items: center !important;
    justify-content: end !important;
    width: auto !important;
    min-width: 0 !important;
}

.recipe-work-page .recipe-cycle-param.is-air-tile .recipe-cycle-param__control,
.recipe-work-page .recipe-cycle-param.is-water-tile .recipe-cycle-param__control {
    grid-template-columns: auto auto !important;
}

.recipe-work-page .recipe-cycle-param .recipe-adjust-btn {
    width: 2.3rem !important;
    min-width: 2.3rem !important;
    height: 2.3rem !important;
    padding: 0 !important;
    border-radius: .66rem !important;
    font-size: .74rem !important;
}

.recipe-work-page .recipe-cycle-param .recipe-inline-value-control--mini {
    min-width: 7rem !important;
    height: 2.3rem !important;
}

.recipe-work-page .recipe-cycle-param .recipe-inline-value-control--mini input,
.recipe-work-page .recipe-cycle-param .recipe-inline-value-control--mini .input-unit {
    height: 2.3rem !important;
    font-size: .78rem !important;
}

.recipe-work-page .recipe-cycle-param .recipe-icon-switch {
    width: 2.35rem !important;
    min-width: 2.35rem !important;
    height: 2.35rem !important;
    min-height: 2.35rem !important;
    padding: 0 !important;
    border-radius: .76rem !important;
    gap: 0 !important;
}

.recipe-work-page .recipe-cycle-param .recipe-icon-switch__state {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
}

.recipe-work-page .recipe-cycle-param .recipe-autosave-state {
    color: var(--c-muted) !important;
    font-size: .64rem !important;
    font-weight: 900 !important;
    white-space: nowrap !important;
}

.recipe-work-page .recipe-cycle-param.is-air-tile .recipe-param-icon,
.recipe-work-page .recipe-cycle-param.is-water-tile .recipe-param-icon {
    margin: 0 !important;
}

@media (max-width: 1360px) {
    .recipe-work-page .recipe-cycle-param.recipe-parameter-row.recipe-parameter-row--inline,
    .recipe-work-page .recipe-cycle-param.parameter-row {
        grid-template-columns: minmax(10rem, .8fr) minmax(18rem, 1.2fr) minmax(13rem, .75fr) !important;
    }

    .recipe-work-page .recipe-cycle-param .recipe-value-chip__source,
    .recipe-work-page .recipe-cycle-param .recipe-value-chip em {
        display: none !important;
    }
}

@media (max-width: 980px) {
    .recipe-capability-cycle-list--parameter-row .recipe-capability-cycle-row {
        grid-template-columns: 1fr !important;
    }

    .recipe-capability-cycle-list--parameter-row .recipe-capability-cycle-label {
        position: static !important;
        justify-content: start !important;
        min-height: 2.4rem !important;
    }

    .recipe-work-page .recipe-cycle-param.recipe-parameter-row.recipe-parameter-row--inline,
    .recipe-work-page .recipe-cycle-param.parameter-row {
        grid-template-columns: 1fr !important;
    }

    .recipe-cycle-param__right,
    .recipe-cycle-param__control,
    .recipe-work-page .recipe-cycle-param .recipe-parameter-row__control {
        justify-items: start !important;
        justify-content: start !important;
    }
}

  
.recipe-context-chain {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: .7rem;
    margin-bottom: .8rem;
}

.recipe-context-chain__item {
    border: 1px solid var(--c-border);
    background: rgba(255,255,255,.64);
    border-radius: 1rem;
    padding: .75rem .85rem;
    min-width: 0;
}

.recipe-context-chain__item small {
    display: block;
    color: var(--c-muted);
    font-size: .68rem;
    font-weight: 950;
    letter-spacing: .045em;
    text-transform: uppercase;
    margin-bottom: .22rem;
}

.recipe-context-chain__item strong {
    display: block;
    color: var(--c-ink);
    font-size: .95rem;
    font-weight: 950;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.recipe-context-chain__item span {
    display: block;
    color: var(--c-muted);
    font-size: .74rem;
    font-weight: 750;
    margin-top: .22rem;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.recipe-context-priority {
    display: flex;
    gap: .55rem;
    align-items: baseline;
    flex-wrap: wrap;
    border: 1px dashed var(--c-border);
    background: rgba(248,250,252,.78);
    border-radius: .95rem;
    padding: .68rem .8rem;
    color: var(--c-muted);
    font-size: .78rem;
    font-weight: 800;
}

.recipe-context-priority strong {
    color: var(--c-ink);
    font-weight: 950;
}

.notice--compact {
    margin-top: .75rem;
    padding: .65rem .75rem;
    border-radius: .9rem;
}

@media (max-width: 980px) {
    .recipe-context-chain {
        grid-template-columns: 1fr 1fr;
    }
}

@media (max-width: 640px) {
    .recipe-context-chain {
        grid-template-columns: 1fr;
    }
}

  
.recipe-capture-panel{display:grid;gap:.75rem}
.recipe-capture-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem}
.recipe-capture-summary span{border:1px solid var(--c-border);border-radius:16px;background:rgba(255,255,255,.58);padding:.65rem .75rem;display:grid;gap:.1rem}
.recipe-capture-summary strong{font-size:1.15rem;color:var(--c-text)}
.recipe-capture-summary small{color:var(--c-muted);font-weight:800;font-size:.72rem;text-transform:uppercase;letter-spacing:.04em}
.recipe-capture-summary span.is-ok{border-color:rgba(34,197,94,.28);background:rgba(34,197,94,.08)}
.recipe-capture-summary span.is-blocked{border-color:rgba(245,158,11,.34);background:rgba(245,158,11,.08)}
.recipe-capture-hint{margin:0;color:var(--c-muted);font-size:.88rem;line-height:1.35}
.recipe-capture-actions{display:grid;gap:.5rem}
.recipe-capture-actions form{margin:0}
.recipe-capture-actions .btn--disabled,.recipe-capture-actions .btn:disabled{opacity:.46;cursor:not-allowed;filter:saturate(.4)}
.recipe-capture-rules{display:grid;gap:.35rem;color:var(--c-muted);font-size:.78rem;line-height:1.35;border-top:1px dashed var(--c-border);padding-top:.65rem}
.recipe-capture-rules span{display:block}

  
.spider-arm-context-form{
    display:grid;
    grid-template-columns:repeat(2,minmax(220px,1fr));
    gap:.75rem;
    margin-top:1rem;
    padding:.8rem;
    border:1px solid var(--c-border);
    border-radius:18px;
    background:rgba(255,255,255,.56);
}
.spider-arm-context-form label{display:grid;gap:.35rem;margin:0}
.spider-arm-setup-workspace{display:grid;gap:.85rem}
.spider-arm-setup-head{
    display:flex;
    justify-content:space-between;
    align-items:flex-start;
    gap:1rem;
    border:1px solid var(--c-border);
    border-radius:20px;
    padding:1rem;
    background:linear-gradient(135deg,rgba(255,255,255,.82),rgba(240,249,255,.62));
}
.spider-arm-setup-head strong{display:block;font-size:1.05rem;color:var(--c-ink);margin-top:.15rem}
.spider-arm-setup-head p{margin:.2rem 0 0;color:var(--c-muted);font-size:.86rem;line-height:1.35}
.spider-arm-setup-head__chips{display:flex;gap:.45rem;flex-wrap:wrap;justify-content:flex-end}
.spider-arm-setup-head__chips span{
    border:1px solid rgba(14,165,233,.24);
    background:rgba(14,165,233,.08);
    color:#075985;
    border-radius:999px;
    padding:.42rem .65rem;
    font-weight:900;
    font-size:.78rem;
}
.spider-arm-setup-grid{display:grid;grid-template-columns:1.35fr .95fr;gap:.85rem;align-items:start}
.spider-arm-setup-card{
    border:1px solid var(--c-border);
    border-radius:20px;
    background:rgba(255,255,255,.72);
    padding:.85rem;
    display:grid;
    gap:.8rem;
}
.spider-arm-setup-card__head{display:flex;justify-content:space-between;gap:.75rem;align-items:baseline;border-bottom:1px dashed var(--c-border);padding-bottom:.65rem}
.spider-arm-setup-card__head strong{color:var(--c-ink)}
.spider-arm-setup-card__head span{color:var(--c-muted);font-size:.78rem;font-weight:800}
.spider-arm-setup-empty{border:1px dashed var(--c-border);border-radius:18px;padding:1rem;background:rgba(248,250,252,.78);display:grid;gap:.25rem}
.spider-arm-setup-empty strong{color:var(--c-ink)}
.spider-arm-setup-empty span{color:var(--c-muted);font-size:.86rem;line-height:1.35}
.spider-arm-setup-unit-list{display:grid;gap:.55rem}
.spider-arm-setup-unit{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    gap:.75rem;
    align-items:center;
    border:1px solid var(--c-border);
    border-radius:18px;
    padding:.72rem;
    background:rgba(248,250,252,.74);
}
.spider-arm-setup-unit strong{display:block;color:var(--c-ink);font-weight:950}
.spider-arm-setup-unit span,.spider-arm-setup-unit small{display:block;color:var(--c-muted);font-size:.78rem;font-weight:780;margin-top:.1rem}
.spider-arm-setup-unit form{margin:0}
.spider-arm-setup-state-form,.spider-arm-setup-add-form{display:grid;gap:.65rem}
.spider-arm-setup-state-form{grid-template-columns:minmax(160px,1fr) auto;align-items:end;border-top:1px dashed var(--c-border);padding-top:.7rem}
.spider-arm-setup-state-form label,.spider-arm-setup-add-form label{display:grid;gap:.32rem;margin:0}
.spider-arm-setup-state-form span,.spider-arm-setup-add-form span{font-size:.75rem;font-weight:850;color:var(--c-muted)}
.spider-arm-setup-add-form strong{min-height:42px;display:flex;align-items:center;border:1px solid var(--c-border);border-radius:14px;background:rgba(248,250,252,.8);padding:.55rem .7rem;color:var(--c-ink)}
.spider-arm-setup-note{margin:0}
@media(max-width:980px){.spider-arm-setup-grid,.spider-arm-context-form{grid-template-columns:1fr}.spider-arm-setup-head{display:grid}.spider-arm-setup-state-form{grid-template-columns:1fr}}

  
.recipe-autopilot-panel {
  display: grid;
  gap: .75rem;
}
.recipe-capture-summary--autopilot span {
  min-width: 0;
}
.recipe-autopilot-panel .recipe-capture-rules span {
  line-height: 1.35;
}

  
.recipe-work-live-strip--arm-setup {
    grid-template-columns: 1.15fr 1fr 1.25fr 1.1fr .75fr;
}
.recipe-work-live-card.is-context {
    border-color: rgba(14,165,233,.28);
    background: linear-gradient(135deg, rgba(240,249,255,.86), rgba(255,255,255,.74));
}
.recipe-context-picker__hint {
    margin-top: .6rem;
    color: var(--c-muted);
    font-size: .82rem;
    line-height: 1.35;
}
.recipe-arm-setup-focus {
    display: grid;
    gap: .8rem;
}
.recipe-arm-setup-focus__head {
    display: flex;
    align-items: stretch;
    justify-content: space-between;
    gap: .85rem;
    border: 1px solid rgba(14,165,233,.24);
    border-radius: 22px;
    padding: .95rem;
    background: linear-gradient(135deg, rgba(240,249,255,.78), rgba(255,255,255,.78));
}
.recipe-arm-setup-focus__head small,
.recipe-arm-setup-unit small {
    display: block;
    color: var(--c-muted);
    font-size: .72rem;
    font-weight: 900;
    letter-spacing: .04em;
    text-transform: uppercase;
}
.recipe-arm-setup-focus__head strong {
    display: block;
    color: var(--c-ink);
    font-size: 1.12rem;
    font-weight: 950;
    margin-top: .14rem;
}
.recipe-arm-setup-focus__head span {
    display: block;
    color: var(--c-muted);
    font-size: .84rem;
    font-weight: 820;
    margin-top: .18rem;
}
.recipe-arm-setup-focus__badge {
    min-width: 96px;
    display: grid;
    place-items: center;
    align-content: center;
    border: 1px solid rgba(14,165,233,.22);
    border-radius: 18px;
    background: rgba(255,255,255,.74);
}
.recipe-arm-setup-focus__badge strong {
    font-size: 1.35rem;
    line-height: 1;
}
.recipe-arm-setup-focus__note {
    border: 1px dashed rgba(14,165,233,.24);
    border-radius: 16px;
    padding: .7rem .8rem;
    color: #075985;
    background: rgba(14,165,233,.07);
    font-size: .86rem;
    font-weight: 760;
    line-height: 1.35;
}
.recipe-arm-setup-focus__note.is-warning {
    color: #92400e;
    border-color: rgba(245,158,11,.34);
    background: rgba(245,158,11,.08);
}
.recipe-arm-setup-unit-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .58rem;
}
.recipe-arm-setup-unit {
    border: 1px solid var(--c-border);
    border-radius: 18px;
    padding: .74rem .78rem;
    background: rgba(255,255,255,.68);
    display: grid;
    gap: .14rem;
    min-width: 0;
}
.recipe-arm-setup-unit.is-current {
    border-color: rgba(34,197,94,.34);
    background: linear-gradient(135deg, rgba(236,253,245,.72), rgba(255,255,255,.74));
    box-shadow: inset 0 0 0 1px rgba(34,197,94,.12);
}
.recipe-arm-setup-unit strong {
    color: var(--c-ink);
    font-weight: 950;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.recipe-arm-setup-unit span,
.recipe-arm-setup-unit em {
    display: block;
    color: var(--c-muted);
    font-size: .8rem;
    font-style: normal;
    line-height: 1.3;
}
.recipe-context-chain--setup-first .recipe-context-chain__item:first-child {
    border-color: rgba(14,165,233,.26);
    background: linear-gradient(135deg, rgba(240,249,255,.78), rgba(255,255,255,.72));
}
@media(max-width:1100px){
    .recipe-work-live-strip--arm-setup { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media(max-width:720px){
    .recipe-arm-setup-focus__head { display: grid; }
    .recipe-arm-setup-focus__badge { min-height: 76px; }
    .recipe-arm-setup-unit-grid { grid-template-columns: 1fr; }
}

  
.recipe-work-page .recipe-parameter-row--capability .recipe-parameter-row__values--capability {
    grid-template-columns: repeat(5, minmax(5.4rem, 1fr));
}
.recipe-work-page .recipe-value-chip.is-source-state {
    border-color: rgba(59, 130, 246, .28);
    background: rgba(239, 246, 255, .78);
}
.recipe-work-page .recipe-value-chip.is-source-state.is-auto,
.recipe-work-page .recipe-value-chip.is-source-state.is-snapshot {
    border-color: rgba(22, 163, 74, .28);
    background: rgba(240, 253, 244, .76);
}
.recipe-work-page .recipe-value-chip.is-source-state.is-suggestion {
    border-color: rgba(245, 158, 11, .32);
    background: rgba(255, 251, 235, .82);
}
.recipe-work-page .recipe-value-chip.is-source-state.is-conflict,
.recipe-work-page .recipe-value-chip.is-source-state.is-teamlead {
    border-color: rgba(217, 119, 6, .34);
    background: rgba(255, 247, 237, .82);
}
.recipe-work-page .recipe-value-chip.is-source-state.is-missing {
    border-style: dashed;
    background: rgba(248, 250, 252, .72);
}
.recipe-work-page .recipe-value-chip.is-source-state .recipe-value-chip__value {
    white-space: nowrap;
}
.recipe-work-page .recipe-capture-summary--autopilot span.is-suggestion {
    border-color: rgba(245, 158, 11, .34);
    background: rgba(255, 251, 235, .82);
}
@media (max-width: 1120px) {
    .recipe-work-page .recipe-parameter-row--capability .recipe-parameter-row__values--capability {
        grid-template-columns: repeat(2, minmax(8rem, 1fr));
    }
    .recipe-work-page .recipe-parameter-row--capability .recipe-value-chip.is-effective {
        grid-column: span 2;
    }
}

  
.recipe-parameter-row__decision-hint {
    display: inline-flex;
    align-items: center;
    min-height: 1.65rem;
    padding: .22rem .5rem;
    border: 1px solid rgba(245, 158, 11, .28);
    border-radius: .7rem;
    background: rgba(245, 158, 11, .08);
    color: #92400e;
    font-size: .68rem;
    font-weight: 900;
}

  
.spider-arm-setup-head--showcase{
    align-items:stretch;
}
.spider-arm-setup-head__side{
    display:grid;
    gap:.65rem;
    justify-items:end;
    align-content:start;
    min-width:260px;
}
.spider-arm-setup-head__chips .is-readiness-ready{
    border-color:rgba(34,197,94,.28);
    background:rgba(34,197,94,.10);
    color:#166534;
}
.spider-arm-setup-head__chips .is-readiness-draft,
.spider-arm-setup-head__chips .is-readiness-open{
    border-color:rgba(245,158,11,.34);
    background:rgba(245,158,11,.10);
    color:#92400e;
}
.spider-arm-setup-head__chips .is-readiness-missing{
    border-color:rgba(148,163,184,.35);
    background:rgba(248,250,252,.88);
    color:#475569;
}
.spider-showcase-flow{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:.65rem;
}
.spider-showcase-flow span{
    display:grid;
    grid-template-columns:auto minmax(0,1fr);
    grid-template-rows:auto auto;
    column-gap:.55rem;
    row-gap:.05rem;
    align-items:center;
    border:1px solid var(--c-border);
    border-radius:18px;
    background:rgba(255,255,255,.66);
    padding:.72rem .8rem;
    color:var(--c-ink);
    font-weight:950;
}
.spider-showcase-flow b{
    grid-row:1 / span 2;
    width:28px;
    height:28px;
    border-radius:999px;
    display:grid;
    place-items:center;
    background:rgba(14,165,233,.10);
    color:#075985;
    border:1px solid rgba(14,165,233,.22);
    font-size:.78rem;
}
.spider-showcase-flow em{
    font-style:normal;
    color:var(--c-muted);
    font-size:.75rem;
    font-weight:800;
}
.spider-arm-setup-readiness{margin:0;}
@media(max-width:980px){
    .spider-showcase-flow{grid-template-columns:repeat(2,minmax(0,1fr));}
    .spider-arm-setup-head__side{justify-items:start;min-width:0;}
}
@media(max-width:640px){
    .spider-showcase-flow{grid-template-columns:1fr;}
}

  
.spider-arm-setup-card--direct{
    background:linear-gradient(180deg,rgba(255,255,255,.82),rgba(248,250,252,.72));
}
.spider-direct-set-intro{
    display:grid;
    gap:.18rem;
    border:1px solid rgba(14,165,233,.18);
    background:rgba(14,165,233,.06);
    border-radius:16px;
    padding:.7rem .75rem;
}
.spider-direct-set-intro strong{color:var(--c-ink);font-weight:950;}
.spider-direct-set-intro span{color:var(--c-muted);font-size:.82rem;line-height:1.35;font-weight:760;}
.spider-direct-set-list{display:grid;gap:.55rem;max-height:430px;overflow:auto;padding-right:.15rem;}
.spider-direct-set-card{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    gap:.65rem;
    align-items:center;
    border:1px solid var(--c-border);
    border-radius:17px;
    background:rgba(255,255,255,.78);
    padding:.68rem;
}
.spider-direct-set-card strong{display:block;color:var(--c-ink);font-weight:950;}
.spider-direct-set-card span,
.spider-direct-set-card small{display:block;color:var(--c-muted);font-size:.76rem;font-weight:780;margin-top:.08rem;line-height:1.3;}
.spider-direct-set-card form{margin:0;}
.spider-direct-set-card.is-already-set{background:rgba(34,197,94,.07);border-color:rgba(34,197,94,.24);}
.spider-direct-set-state{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    border:1px solid rgba(34,197,94,.28);
    border-radius:999px;
    background:rgba(34,197,94,.10);
    color:#166534;
    padding:.36rem .55rem;
    font-size:.72rem;
    font-weight:950;
    white-space:nowrap;
}
.spider-direct-set-foot{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:.65rem;
    border-top:1px dashed var(--c-border);
    padding-top:.65rem;
}
.spider-direct-set-foot span{color:var(--c-muted);font-size:.76rem;font-weight:820;line-height:1.3;}
@media(max-width:760px){
    .spider-direct-set-card{grid-template-columns:1fr;}
    .spider-direct-set-card form{justify-self:start;}
    .spider-direct-set-foot{display:grid;justify-items:start;}
}

  
.spider-setup-readiness-bridge{
    display:grid;
    gap:.75rem;
    border:1px solid rgba(14,165,233,.18);
    border-radius:22px;
    background:linear-gradient(180deg,rgba(240,249,255,.74),rgba(255,255,255,.72));
    padding:.9rem;
}
.spider-setup-readiness-bridge__head{
    display:flex;
    justify-content:space-between;
    gap:1rem;
    align-items:flex-start;
}
.spider-setup-readiness-bridge__head strong{
    display:block;
    color:var(--c-ink);
    font-size:1rem;
    font-weight:980;
    letter-spacing:-.02em;
}
.spider-setup-readiness-bridge__head p{
    margin:.18rem 0 0;
    color:var(--c-muted);
    font-size:.84rem;
    font-weight:760;
    line-height:1.38;
}
.spider-setup-readiness-bridge__action{
    display:grid;
    gap:.24rem;
    justify-items:end;
    min-width:210px;
}
.spider-setup-readiness-bridge__action span{
    color:var(--c-muted);
    font-size:.72rem;
    font-weight:850;
    text-align:right;
}
.spider-setup-readiness-bridge__action .btn[disabled]{
    opacity:.62;
    cursor:not-allowed;
}
.spider-setup-readiness-checks{
    display:grid;
    grid-template-columns:repeat(5,minmax(0,1fr));
    gap:.55rem;
}
.spider-setup-readiness-check{
    display:grid;
    gap:.14rem;
    border:1px solid var(--c-border);
    border-radius:16px;
    background:rgba(255,255,255,.78);
    padding:.65rem .7rem;
}
.spider-setup-readiness-check strong{
    color:var(--c-ink);
    font-weight:950;
    font-size:.79rem;
}
.spider-setup-readiness-check span{
    color:var(--c-muted);
    font-size:.72rem;
    font-weight:760;
    line-height:1.3;
}
.spider-setup-readiness-check.is-ok{
    border-color:rgba(34,197,94,.26);
    background:rgba(34,197,94,.07);
}
.spider-setup-readiness-check.is-open{
    border-color:rgba(245,158,11,.34);
    background:rgba(245,158,11,.08);
}
.spider-setup-readiness-check.is-missing{
    border-color:rgba(148,163,184,.32);
    background:rgba(248,250,252,.72);
}
@media(max-width:1100px){
    .spider-setup-readiness-checks{grid-template-columns:repeat(2,minmax(0,1fr));}
    .spider-setup-readiness-bridge__head{display:grid;}
    .spider-setup-readiness-bridge__action{justify-items:start;min-width:0;}
    .spider-setup-readiness-bridge__action span{text-align:left;}
}
@media(max-width:640px){
    .spider-setup-readiness-checks{grid-template-columns:1fr;}
}

  
.spider-showcase-flow{grid-template-columns:repeat(5,minmax(0,1fr));}
.spider-setup-finish-panel{
    display:grid;
    gap:.75rem;
    border:1px solid rgba(34,197,94,.20);
    border-radius:22px;
    background:linear-gradient(180deg,rgba(240,253,244,.76),rgba(255,255,255,.72));
    padding:.85rem;
    margin-top:.75rem;
}
.spider-setup-finish-panel__head strong{
    display:block;
    color:var(--c-ink);
    font-size:.98rem;
    font-weight:980;
    letter-spacing:-.02em;
}
.spider-setup-finish-panel__head p{
    margin:.16rem 0 0;
    color:var(--c-muted);
    font-size:.82rem;
    font-weight:760;
    line-height:1.35;
}
.spider-setup-finish-panel__body{
    display:grid;
    grid-template-columns:minmax(160px,.42fr) minmax(0,1fr);
    gap:.75rem;
    align-items:stretch;
}
.spider-setup-finish-state{
    display:grid;
    gap:.2rem;
    align-content:center;
    border:1px solid var(--c-border);
    border-radius:18px;
    background:rgba(255,255,255,.78);
    padding:.8rem;
}
.spider-setup-finish-state span,
.spider-setup-finish-state small{
    color:var(--c-muted);
    font-size:.74rem;
    font-weight:850;
}
.spider-setup-finish-state strong{
    color:var(--c-ink);
    font-size:1.05rem;
    font-weight:980;
}
.spider-setup-finish-state.is-draft{border-color:rgba(245,158,11,.32);background:rgba(245,158,11,.07);}
.spider-setup-finish-state.is-planned{border-color:rgba(14,165,233,.26);background:rgba(14,165,233,.07);}
.spider-setup-finish-state.is-mounted{border-color:rgba(34,197,94,.30);background:rgba(34,197,94,.08);}
.spider-setup-finish-next{
    display:grid;
    gap:.45rem;
    border:1px solid rgba(255,255,255,.72);
    border-radius:18px;
    background:rgba(255,255,255,.66);
    padding:.8rem;
}
.spider-setup-finish-next strong{color:var(--c-ink);font-weight:980;}
.spider-setup-finish-next p{margin:0;color:var(--c-muted);font-size:.82rem;font-weight:760;line-height:1.35;}
.spider-setup-finish-actions{display:flex;flex-wrap:wrap;gap:.45rem;align-items:center;}
.spider-setup-finish-actions form{margin:0;}
.spider-setup-finish-panel__foot{
    display:flex;
    justify-content:space-between;
    gap:.75rem;
    border-top:1px dashed rgba(34,197,94,.24);
    padding-top:.62rem;
    color:var(--c-muted);
    font-size:.76rem;
    font-weight:800;
    line-height:1.35;
}
.spider-setup-finish-panel__foot strong{color:#166534;font-weight:950;white-space:nowrap;}
@media(max-width:1120px){.spider-showcase-flow{grid-template-columns:repeat(3,minmax(0,1fr));}}
@media(max-width:820px){.spider-setup-finish-panel__body{grid-template-columns:1fr}.spider-setup-finish-panel__foot{display:grid}.spider-showcase-flow{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:640px){.spider-showcase-flow{grid-template-columns:1fr}.spider-setup-finish-actions{display:grid;justify-items:start;}}

  
.spider-flow-review{
  border:1px solid var(--c-border);
  border-radius:22px;
  background:rgba(255,255,255,.88);
  box-shadow:0 18px 42px rgba(15,23,42,.06);
  padding:1rem;
  display:grid;
  gap:.85rem;
}
.spider-flow-review__head{
  display:flex;
  justify-content:space-between;
  gap:1rem;
  align-items:flex-start;
}
.spider-flow-review__head strong{display:block;color:var(--c-ink);font-size:1rem;margin-top:.12rem}
.spider-flow-review__head p{margin:.2rem 0 0;color:var(--c-muted);font-size:.84rem;line-height:1.35;max-width:760px}
.spider-flow-review__summary{display:flex;gap:.45rem;flex-wrap:wrap;justify-content:flex-end}
.spider-flow-review__summary span{
  min-width:74px;
  border:1px solid var(--c-border);
  border-radius:16px;
  background:rgba(248,250,252,.88);
  padding:.45rem .55rem;
  display:grid;
  justify-items:center;
  gap:.05rem;
}
.spider-flow-review__summary strong{font-size:1.05rem;color:var(--c-ink);line-height:1}
.spider-flow-review__summary small{font-size:.68rem;font-weight:850;text-transform:uppercase;letter-spacing:.05em;color:var(--c-muted)}
.spider-flow-review__summary .is-ok{border-color:rgba(22,163,74,.28);background:rgba(220,252,231,.68)}
.spider-flow-review__summary .is-open{border-color:rgba(217,119,6,.30);background:rgba(254,243,199,.72)}
.spider-flow-review__summary .is-break{border-color:rgba(220,38,38,.30);background:rgba(254,226,226,.72)}
.spider-flow-review-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.55rem}
.spider-flow-review-step{
  border:1px solid var(--c-border);
  border-radius:18px;
  background:rgba(248,250,252,.78);
  padding:.72rem;
  display:grid;
  gap:.25rem;
}
.spider-flow-review-step span{font-size:.68rem;font-weight:900;text-transform:uppercase;letter-spacing:.05em;color:var(--c-muted)}
.spider-flow-review-step strong{color:var(--c-ink);font-size:.9rem}
.spider-flow-review-step p{margin:0;color:var(--c-muted);font-size:.78rem;line-height:1.32}
.spider-flow-review-step.is-ok{border-color:rgba(22,163,74,.28);background:rgba(240,253,244,.72)}
.spider-flow-review-step.is-open{border-color:rgba(217,119,6,.30);background:rgba(255,251,235,.78)}
.spider-flow-review-step.is-break{border-color:rgba(220,38,38,.30);background:rgba(254,242,242,.78)}
.spider-flow-review-actions{display:flex;gap:.5rem;flex-wrap:wrap;align-items:center}
.recipe-flow-arrival-list{display:grid;gap:.5rem}
.recipe-flow-arrival-item{
  border:1px solid var(--c-border);
  border-radius:16px;
  background:rgba(248,250,252,.82);
  padding:.65rem .75rem;
  display:grid;
  gap:.16rem;
}
.recipe-flow-arrival-item strong{color:var(--c-ink);font-size:.86rem}
.recipe-flow-arrival-item span{color:var(--c-muted);font-size:.77rem;line-height:1.32}
.recipe-flow-arrival-item.is-ok{border-color:rgba(22,163,74,.28);background:rgba(240,253,244,.72)}
.recipe-flow-arrival-item.is-open{border-color:rgba(217,119,6,.30);background:rgba(255,251,235,.78)}
.recipe-flow-arrival-item.is-break{border-color:rgba(220,38,38,.30);background:rgba(254,242,242,.78)}
@media(max-width:980px){
  .spider-flow-review__head{display:grid}
  .spider-flow-review__summary{justify-content:flex-start}
  .spider-flow-review-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:640px){.spider-flow-review-grid{grid-template-columns:1fr}}


  
.spider-flow-next,
.recipe-flow-next{
    display:flex;
    align-items:flex-start;
    gap:.7rem;
    margin:.75rem 0 .9rem;
    padding:.85rem .95rem;
    border:1px solid rgba(37,99,235,.18);
    border-radius:1rem;
    background:rgba(37,99,235,.06);
}
.spider-flow-next strong,
.recipe-flow-next strong{
    flex:0 0 auto;
    font-size:.74rem;
    font-weight:900;
    letter-spacing:.03em;
    text-transform:uppercase;
    color:#1d4ed8;
}
.spider-flow-next span,
.recipe-flow-next span{
    color:var(--c-text);
    font-size:.82rem;
    font-weight:760;
    line-height:1.35;
}
.recipe-cycle-param__reset{
    align-self:center;
    justify-self:end;
}
@media(max-width:720px){
    .spider-flow-next,
    .recipe-flow-next{display:grid;gap:.32rem;}
    .recipe-cycle-param__reset{justify-self:start;}
}

  
.department-flow-strip {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: .75rem;
}
.department-flow-strip article {
    border: 1px solid rgba(42, 34, 25, .10);
    border-radius: 18px;
    background: rgba(255,255,255,.55);
    padding: .9rem;
}
.department-flow-strip strong {
    display: block;
    font-size: .95rem;
}
.department-flow-strip span {
    display: block;
    color: var(--c-muted);
    font-size: .82rem;
    margin-top: .25rem;
    line-height: 1.35;
}
.department-filter {
    display: grid;
    gap: 1rem;
}
.department-filter__row {
    display: grid;
    grid-template-columns: minmax(150px, .8fr) minmax(170px, 1fr) minmax(150px, .8fr) auto;
    gap: .75rem;
    align-items: end;
}
.department-visibility-chips {
    display: flex;
    flex-wrap: wrap;
    gap: .55rem;
}
.department-visibility-chip {
    display: inline-flex;
    align-items: center;
    min-height: 34px;
    padding: .45rem .72rem;
    border: 1px solid rgba(42, 34, 25, .12);
    border-radius: 999px;
    background: rgba(255,255,255,.52);
    color: var(--c-muted);
    font-size: .82rem;
    font-weight: 800;
    cursor: pointer;
    user-select: none;
    text-decoration: none;
    transition: border-color .15s ease, background .15s ease, color .15s ease, transform .15s ease;
}
.department-visibility-chip:hover {
    transform: translateY(-1px);
}
.department-visibility-chip.is-active {
    color: var(--c-ink);
    border-color: rgba(139, 90, 43, .34);
    background: rgba(255,255,255,.88);
    box-shadow: 0 8px 20px rgba(42, 34, 25, .06);
}
.department-visibility-chip--reset {
    border-style: dashed;
    background: rgba(255,255,255,.34);
}
.department-event-list {
    display: grid;
    gap: .65rem;
}
.department-event-item {
    display: grid;
    grid-template-columns: 5.3rem minmax(0, 1fr);
    gap: .8rem;
    border: 1px solid rgba(42, 34, 25, .10);
    border-radius: 18px;
    background: rgba(255,255,255,.58);
    padding: .8rem .9rem;
}
.department-event-item__time {
    color: var(--c-muted);
    font-size: .78rem;
    font-weight: 900;
    letter-spacing: .02em;
    padding-top: .12rem;
}
.department-event-item__body {
    min-width: 0;
}
.department-event-item__head {
    display: flex;
    flex-wrap: wrap;
    gap: .45rem;
    align-items: center;
}
.department-event-item__head strong {
    font-size: .95rem;
}
.department-event-item__head span {
    display: inline-flex;
    align-items: center;
    border-radius: 999px;
    padding: .16rem .48rem;
    background: rgba(42, 34, 25, .06);
    color: var(--c-muted);
    font-size: .72rem;
    font-weight: 900;
}
.department-event-item__meta {
    color: var(--c-muted);
    font-size: .8rem;
    margin-top: .2rem;
}
.department-event-item p {
    margin: .35rem 0 0;
    color: var(--c-muted);
    font-size: .82rem;
    line-height: 1.35;
}
.department-event-item--issue {
    border-color: rgba(152, 83, 22, .24);
    background: rgba(255, 247, 237, .68);
}
.department-event-item--booking {
    border-color: rgba(65, 100, 77, .18);
    background: rgba(247, 253, 247, .68);
}
.department-event-item--change {
    border-color: rgba(91, 73, 145, .16);
    background: rgba(249, 247, 255, .66);
}
@media (max-width: 900px) {
    .department-flow-strip,
    .department-filter__row {
        grid-template-columns: 1fr;
    }
    .department-event-item {
        grid-template-columns: 1fr;
    }
}

  
.stage-v2-cooling-booking{
  border:1px solid rgba(35, 29, 20, .10);
  border-radius:var(--radius-lg);
  background:rgba(255,255,255,.68);
  box-shadow:var(--shadow-sm);
  padding:1rem;
  display:grid;
  gap:.85rem;
}
.stage-v2-cooling-booking--ready{
  border-color:rgba(226, 139, 34, .34);
  background:linear-gradient(135deg, rgba(255,255,255,.84), rgba(255,246,231,.78));
}
.stage-v2-cooling-booking__text{
  display:grid;
  gap:.18rem;
}
.stage-v2-cooling-booking__text small{
  font-size:.72rem;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:var(--c-muted);
}
.stage-v2-cooling-booking__text strong{
  font-size:1.05rem;
  color:var(--c-ink);
}
.stage-v2-cooling-booking__text span{
  color:var(--c-muted);
  font-size:.9rem;
  line-height:1.45;
}
.stage-v2-cooling-booking__actions{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:.55rem;
}
.stage-v2-cooling-booking__reason{
  margin:0;
  padding:.62rem .75rem;
  border-radius:var(--radius-md);
  background:rgba(226, 139, 34, .12);
  color:var(--c-ink-soft);
  font-size:.86rem;
  line-height:1.4;
}
@media (max-width: 760px){
  .stage-v2-cooling-booking__actions{ align-items:stretch; flex-direction:column; }
  .stage-v2-cooling-booking__actions .btn{ width:100%; justify-content:center; }
}

  
.notice--stage-flash {
    position: relative;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: start;
    gap: .75rem;
    margin: .75rem 0 1rem;
    transition: opacity .22s ease, transform .22s ease, max-height .22s ease, margin .22s ease, padding .22s ease;
}
.notice--stage-flash.is-leaving {
    opacity: 0;
    transform: translateY(-4px);
    max-height: 0;
    margin-top: 0;
    margin-bottom: 0;
    padding-top: 0;
    padding-bottom: 0;
    overflow: hidden;
}
.notice__dismiss {
    display: grid;
    place-items: center;
    width: 1.75rem;
    height: 1.75rem;
    border: 1px solid rgba(15, 23, 42, .1);
    border-radius: 999px;
    background: rgba(255,255,255,.72);
    color: var(--c-muted);
    font-size: 1.15rem;
    font-weight: 900;
    line-height: 1;
    cursor: pointer;
}
.notice__dismiss:hover,
.notice__dismiss:focus-visible {
    color: var(--c-text);
    border-color: rgba(15, 23, 42, .22);
    outline: none;
}

  
.stage-v2-cooling-booking--decision{
    box-shadow:none;
    border-radius:var(--r-lg);
    padding:.82rem;
}
.stage-v2-cooling-booking--decision .stage-v2-cooling-booking__text small{
    color:#8a4b00;
}

  
.recipe-simulation-bridge{
    display:grid;
    gap:.78rem;
}
.recipe-simulation-bridge__head{
    display:flex;
    justify-content:space-between;
    align-items:flex-start;
    gap:1rem;
    border:1px solid var(--c-border);
    border-radius:20px;
    background:rgba(255,255,255,.72);
    padding:.82rem .9rem;
}
.recipe-simulation-bridge__head strong{
    display:block;
    color:var(--c-ink);
    font-size:1rem;
    font-weight:980;
    letter-spacing:-.02em;
}
.recipe-simulation-bridge__head p{
    margin:.18rem 0 0;
    color:var(--c-muted);
    font-size:.82rem;
    font-weight:760;
    line-height:1.36;
}
.recipe-simulation-bridge__head > span{
    flex:0 0 auto;
    border:1px solid var(--c-border);
    border-radius:999px;
    background:rgba(248,250,252,.82);
    color:var(--c-muted);
    padding:.32rem .58rem;
    font-size:.7rem;
    font-weight:900;
    text-transform:uppercase;
    letter-spacing:.04em;
}
.recipe-simulation-bridge.is-recipe-not-applied .recipe-simulation-bridge__head{
    border-color:rgba(245,158,11,.34);
    background:linear-gradient(135deg,rgba(245,158,11,.08),rgba(255,255,255,.72));
}
.recipe-simulation-bridge.is-aligned .recipe-simulation-bridge__head{
    border-color:rgba(34,197,94,.24);
    background:linear-gradient(135deg,rgba(34,197,94,.07),rgba(255,255,255,.72));
}
.recipe-simulation-bridge.is-missing .recipe-simulation-bridge__head{
    border-color:rgba(239,68,68,.22);
    background:linear-gradient(135deg,rgba(239,68,68,.06),rgba(255,255,255,.72));
}
.recipe-simulation-bridge__grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:.55rem;
}
.recipe-simulation-fact,
.recipe-simulation-bridge__setup > div,
.recipe-simulation-time-row{
    display:grid;
    gap:.12rem;
    border:1px solid var(--c-border);
    border-radius:16px;
    background:rgba(255,255,255,.76);
    padding:.65rem .72rem;
    min-width:0;
}
.recipe-simulation-fact small,
.recipe-simulation-bridge__setup small,
.recipe-simulation-time-row small{
    color:var(--c-muted);
    font-size:.66rem;
    font-weight:900;
    text-transform:uppercase;
    letter-spacing:.045em;
}
.recipe-simulation-fact strong,
.recipe-simulation-bridge__setup strong,
.recipe-simulation-time-row strong{
    color:var(--c-ink);
    font-size:.86rem;
    font-weight:950;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
}
.recipe-simulation-fact span,
.recipe-simulation-bridge__setup span,
.recipe-simulation-time-row span{
    color:var(--c-muted);
    font-size:.74rem;
    font-weight:760;
    line-height:1.3;
    overflow:hidden;
    text-overflow:ellipsis;
}
.recipe-simulation-bridge__setup{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:.55rem;
}
.recipe-simulation-time-list{
    display:grid;
    gap:.42rem;
}
.recipe-simulation-time-row{
    grid-template-columns:minmax(7rem,1fr) auto minmax(6rem,auto);
    align-items:center;
}
.recipe-simulation-time-row strong,
.recipe-simulation-time-row span,
.recipe-simulation-time-row small{
    white-space:normal;
}
.recipe-simulation-bridge__guard{
    border:1px dashed rgba(148,163,184,.42);
    border-radius:14px;
    background:rgba(248,250,252,.74);
    color:var(--c-muted);
    padding:.62rem .72rem;
    font-size:.76rem;
    font-weight:760;
    line-height:1.35;
}
@media (max-width: 920px){
    .recipe-simulation-bridge__grid,
    .recipe-simulation-bridge__setup{
        grid-template-columns:1fr;
    }
    .recipe-simulation-bridge__head{
        display:grid;
    }
    .recipe-simulation-time-row{
        grid-template-columns:1fr;
    }
}

  
.recipe-simulation-contract{
    display:grid;
    gap:.52rem;
    border:1px solid rgba(15,23,42,.08);
    border-radius:18px;
    background:rgba(248,250,252,.58);
    padding:.62rem;
}
.recipe-simulation-contract__head{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:.75rem;
    padding:.12rem .18rem .32rem;
}
.recipe-simulation-contract__head small{
    display:block;
    color:var(--c-muted);
    font-size:.64rem;
    font-weight:920;
    text-transform:uppercase;
    letter-spacing:.05em;
}
.recipe-simulation-contract__head strong{
    display:block;
    color:var(--c-ink);
    font-size:.86rem;
    font-weight:980;
    letter-spacing:-.01em;
}
.recipe-simulation-contract__head > span{
    flex:0 0 auto;
    border:1px solid var(--c-border);
    border-radius:999px;
    background:rgba(255,255,255,.72);
    color:var(--c-muted);
    padding:.28rem .5rem;
    font-size:.68rem;
    font-weight:900;
}
.recipe-simulation-contract__list{
    display:grid;
    gap:.38rem;
}
.recipe-simulation-contract-row{
    display:grid;
    grid-template-columns:minmax(9rem,1.2fr) minmax(7rem,.8fr) minmax(6rem,.7fr) minmax(8rem,1fr);
    gap:.42rem;
    align-items:stretch;
    border:1px solid var(--c-border);
    border-radius:15px;
    background:rgba(255,255,255,.78);
    padding:.5rem;
}
.recipe-simulation-contract-row.is-runtime{
    border-color:rgba(245,158,11,.28);
    background:linear-gradient(135deg,rgba(245,158,11,.06),rgba(255,255,255,.8));
}
.recipe-simulation-contract-row > div{
    min-width:0;
    display:grid;
    gap:.1rem;
    align-content:start;
}
.recipe-simulation-contract-row small{
    color:var(--c-muted);
    font-size:.6rem;
    font-weight:920;
    text-transform:uppercase;
    letter-spacing:.045em;
}
.recipe-simulation-contract-row strong{
    color:var(--c-ink);
    font-size:.78rem;
    font-weight:940;
    line-height:1.18;
}
.recipe-simulation-contract-row span{
    color:var(--c-muted);
    font-size:.69rem;
    font-weight:760;
    line-height:1.28;
    overflow:hidden;
    text-overflow:ellipsis;
}
.recipe-simulation-contract-tags{
    display:flex !important;
    flex-wrap:wrap;
    gap:.24rem;
    align-content:flex-start !important;
}
.recipe-simulation-contract-tags small{
    flex:0 0 100%;
}
.recipe-contract-tag{
    border:1px solid rgba(148,163,184,.36);
    border-radius:999px;
    background:rgba(248,250,252,.84);
    padding:.22rem .42rem;
    color:var(--c-muted) !important;
    font-size:.62rem !important;
    font-weight:900 !important;
    white-space:nowrap;
}
.recipe-contract-tag.is-runtime{
    border-color:rgba(245,158,11,.36);
    background:rgba(245,158,11,.09);
    color:#8a4b00 !important;
}
@media (max-width: 1020px){
    .recipe-simulation-contract-row{
        grid-template-columns:1fr 1fr;
    }
}
@media (max-width: 680px){
    .recipe-simulation-contract__head,
    .recipe-simulation-contract-row{
        grid-template-columns:1fr;
        display:grid;
    }
}

  
.recipe-freeze-preview{
    display:grid;
    gap:.52rem;
    border:1px solid rgba(15,23,42,.08);
    border-radius:18px;
    background:rgba(255,255,255,.64);
    padding:.62rem;
}
.recipe-freeze-preview.is-empty{
    border-style:dashed;
    background:rgba(248,250,252,.72);
}
.recipe-freeze-preview.is-empty > div{
    display:grid;
    gap:.1rem;
}
.recipe-freeze-preview__head{
    display:flex;
    justify-content:space-between;
    align-items:flex-start;
    gap:.75rem;
    padding:.12rem .18rem .16rem;
}
.recipe-freeze-preview__head small,
.recipe-freeze-preview.is-empty small,
.recipe-freeze-row small,
.recipe-freeze-preview__note strong{
    color:var(--c-muted);
    font-size:.64rem;
    font-weight:920;
    text-transform:uppercase;
    letter-spacing:.05em;
}
.recipe-freeze-preview__head strong,
.recipe-freeze-preview.is-empty strong{
    display:block;
    color:var(--c-ink);
    font-size:.88rem;
    font-weight:980;
    letter-spacing:-.01em;
}
.recipe-freeze-preview__head span,
.recipe-freeze-preview.is-empty span{
    display:block;
    margin-top:.1rem;
    color:var(--c-muted);
    font-size:.72rem;
    font-weight:760;
    line-height:1.34;
}
.recipe-freeze-preview__head em{
    flex:0 0 auto;
    border:1px solid var(--c-border);
    border-radius:999px;
    background:rgba(248,250,252,.88);
    color:var(--c-muted);
    padding:.28rem .5rem;
    font-size:.68rem;
    font-weight:900;
    font-style:normal;
    white-space:nowrap;
}
.recipe-freeze-preview__note{
    display:flex;
    align-items:center;
    gap:.5rem;
    border:1px dashed rgba(148,163,184,.42);
    border-radius:14px;
    background:rgba(248,250,252,.74);
    color:var(--c-muted);
    padding:.52rem .62rem;
}
.recipe-freeze-preview__note span{
    color:var(--c-muted);
    font-size:.72rem;
    font-weight:760;
    line-height:1.34;
}
.recipe-freeze-preview__list{
    display:grid;
    gap:.38rem;
}
.recipe-freeze-row{
    display:grid;
    grid-template-columns:minmax(9rem,1.1fr) minmax(6rem,.7fr) minmax(8rem,1fr) minmax(7rem,.85fr);
    gap:.42rem;
    align-items:stretch;
    border:1px solid var(--c-border);
    border-radius:15px;
    background:rgba(255,255,255,.78);
    padding:.5rem;
}
.recipe-freeze-row.is-runtime{
    border-color:rgba(245,158,11,.34);
    background:linear-gradient(135deg,rgba(245,158,11,.07),rgba(255,255,255,.8));
}
.recipe-freeze-row.is-cycle{
    border-color:rgba(14,165,233,.22);
    background:linear-gradient(135deg,rgba(14,165,233,.05),rgba(255,255,255,.8));
}
.recipe-freeze-row.is-missing{
    border-color:rgba(239,68,68,.22);
    background:linear-gradient(135deg,rgba(239,68,68,.045),rgba(255,255,255,.8));
}
.recipe-freeze-row > div{
    min-width:0;
    display:grid;
    gap:.1rem;
    align-content:start;
}
.recipe-freeze-row strong{
    color:var(--c-ink);
    font-size:.78rem;
    font-weight:940;
    line-height:1.18;
}
.recipe-freeze-row span{
    color:var(--c-muted);
    font-size:.69rem;
    font-weight:760;
    line-height:1.28;
    overflow:hidden;
    text-overflow:ellipsis;
}
@media (max-width: 1020px){
    .recipe-freeze-row{
        grid-template-columns:1fr 1fr;
    }
}
@media (max-width: 680px){
    .recipe-freeze-preview__head,
    .recipe-freeze-preview__note,
    .recipe-freeze-row{
        grid-template-columns:1fr;
        display:grid;
    }
    .recipe-freeze-preview__head em{
        justify-self:start;
    }
}

  
.recipe-simulation-bridge.is-capability-conflict .recipe-simulation-bridge__head{
    border-color:rgba(239,68,68,.26);
    background:linear-gradient(135deg,rgba(239,68,68,.065),rgba(255,255,255,.72));
}
.recipe-duration-model-notice,
.capability-rule-notice{
    display:flex;
    justify-content:space-between;
    align-items:flex-start;
    gap:.75rem;
    border:1px solid var(--c-border);
    border-radius:16px;
    background:rgba(248,250,252,.78);
    padding:.62rem .72rem;
}
.recipe-duration-model-notice strong,
.capability-rule-notice strong{
    color:var(--c-ink);
    font-size:.8rem;
    font-weight:960;
    line-height:1.2;
}
.recipe-duration-model-notice span,
.capability-rule-notice span{
    color:var(--c-muted);
    font-size:.72rem;
    font-weight:760;
    line-height:1.34;
}
.recipe-duration-model-notice.is-ok,
.capability-rule-notice.is-ok{
    border-color:rgba(34,197,94,.22);
    background:linear-gradient(135deg,rgba(34,197,94,.055),rgba(248,250,252,.78));
}
.recipe-duration-model-notice.is-attention,
.capability-rule-notice.is-attention{
    border-color:rgba(245,158,11,.28);
    background:linear-gradient(135deg,rgba(245,158,11,.065),rgba(248,250,252,.78));
}
.recipe-duration-model-notice.is-conflict,
.capability-rule-notice.is-conflict{
    border-color:rgba(239,68,68,.24);
    background:linear-gradient(135deg,rgba(239,68,68,.055),rgba(248,250,252,.78));
}
@media (max-width:680px){
    .recipe-duration-model-notice,
    .capability-rule-notice{display:grid;}
}

  
.capability-truth-note,
.capability-storage-note{
    border:1px solid rgba(39,78,95,.14);
    border-radius:16px;
    background:linear-gradient(135deg,rgba(255,255,255,.82),rgba(232,242,246,.56));
    padding:.72rem .82rem;
    display:grid;
    gap:.22rem;
    align-content:start;
}
.capability-truth-note strong,
.capability-storage-note strong{
    color:var(--c-ink);
    font-size:.82rem;
    font-weight:960;
    letter-spacing:.01em;
}
.capability-truth-note span,
.capability-storage-note span{
    color:var(--c-muted);
    font-size:.73rem;
    font-weight:760;
    line-height:1.34;
}
.capability-storage-note{
    min-height:58px;
}

  
.capability-test-workbench .panel{overflow:visible;}
.capability-test-grid{
    display:grid;
    grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr);
    gap:1rem;
    align-items:stretch;
}
.capability-test-main,
.capability-test-side{
    border:1px solid var(--c-border);
    border-radius:20px;
    background:rgba(255,255,255,.72);
    padding:1rem;
    box-shadow:0 14px 36px rgba(39,78,95,.06);
}
.capability-test-main h3,
.capability-test-side h3{
    margin:0 0 .45rem;
    color:var(--c-ink);
    font-size:1rem;
    font-weight:960;
}
.capability-test-main p{
    margin:.25rem 0 .8rem;
    color:var(--c-muted);
    font-size:.86rem;
    font-weight:720;
    line-height:1.45;
}
.capability-test-list{
    margin:.4rem 0 1rem;
    padding:0;
    display:grid;
    gap:.42rem;
    list-style:none;
}
.capability-test-list li{
    border:1px solid rgba(39,78,95,.12);
    border-radius:14px;
    background:rgba(248,250,252,.7);
    padding:.58rem .68rem;
    color:var(--c-muted);
    font-size:.79rem;
    font-weight:760;
    line-height:1.35;
}
.capability-test-list strong{color:var(--c-ink);font-weight:940;}
.capability-test-stats{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:.55rem;
}
.capability-test-stats span{
    border:1px solid rgba(39,78,95,.12);
    border-radius:16px;
    background:linear-gradient(135deg,rgba(255,255,255,.78),rgba(232,242,246,.48));
    padding:.72rem;
    display:grid;
    gap:.14rem;
}
.capability-test-stats strong{
    color:var(--c-ink);
    font-size:1.35rem;
    font-weight:980;
    line-height:1;
}
.capability-test-stats small{
    color:var(--c-muted);
    font-size:.7rem;
    font-weight:820;
}
.capability-test-links{
    display:grid;
    grid-template-columns:repeat(5,minmax(0,1fr));
    gap:.7rem;
}
.capability-test-links .choice-card{
    min-height:128px;
    padding:.88rem;
}
.capability-test-links .choice-card strong{
    display:block;
    color:var(--c-ink);
    font-size:.9rem;
    font-weight:960;
    margin-bottom:.28rem;
}
.capability-test-links .choice-card span{
    color:var(--c-muted);
    font-size:.72rem;
    font-weight:760;
    line-height:1.34;
}
@media (max-width:1100px){
    .capability-test-links{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media (max-width:760px){
    .capability-test-grid{grid-template-columns:1fr;}
    .capability-test-links{grid-template-columns:1fr;}
    .capability-test-stats{grid-template-columns:repeat(2,minmax(0,1fr));}
}

  
.recipe-value-chain-panel{
    display:grid;
    gap:.75rem;
}
.recipe-value-chain-metrics{
    display:grid;
    grid-template-columns:repeat(6,minmax(0,1fr));
    gap:.55rem;
}
.recipe-value-chain-metrics span{
    border:1px solid rgba(39,78,95,.12);
    border-radius:16px;
    background:linear-gradient(135deg,rgba(255,255,255,.82),rgba(232,242,246,.42));
    padding:.68rem .72rem;
    display:grid;
    gap:.14rem;
    min-height:68px;
}
.recipe-value-chain-metrics span.is-ok{
    border-color:rgba(36,132,94,.24);
    background:linear-gradient(135deg,rgba(235,250,242,.86),rgba(255,255,255,.72));
}
.recipe-value-chain-metrics span.is-warn{
    border-color:rgba(217,132,31,.28);
    background:linear-gradient(135deg,rgba(255,247,232,.88),rgba(255,255,255,.72));
}
.recipe-value-chain-metrics span.is-attention{
    border-color:rgba(125,92,201,.24);
    background:linear-gradient(135deg,rgba(244,239,255,.88),rgba(255,255,255,.72));
}
.recipe-value-chain-metrics strong{
    color:var(--c-ink);
    font-size:1.35rem;
    font-weight:980;
    line-height:1;
}
.recipe-value-chain-metrics small{
    color:var(--c-muted);
    font-size:.69rem;
    font-weight:820;
}
.recipe-value-chain-rules{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:.55rem;
}
.recipe-value-chain-rules span{
    border:1px solid rgba(39,78,95,.10);
    border-radius:14px;
    background:rgba(248,250,252,.72);
    padding:.62rem .68rem;
    color:var(--c-muted);
    font-size:.74rem;
    font-weight:760;
    line-height:1.35;
}
.recipe-value-chain-rules strong{color:var(--c-ink);font-weight:940;}
@media (max-width:1100px){
    .recipe-value-chain-metrics{grid-template-columns:repeat(3,minmax(0,1fr));}
    .recipe-value-chain-rules{grid-template-columns:1fr;}
}
@media (max-width:760px){
    .recipe-value-chain-metrics{grid-template-columns:repeat(2,minmax(0,1fr));}
}

 



 
.recipe-work-page .recipe-parameter-row.recipe-parameter-row--inline {
    grid-template-columns: minmax(15rem, 1fr) minmax(8.6rem, auto) minmax(21rem, auto) !important;
    min-height: 4.15rem;
    padding: .58rem .68rem !important;
    border-radius: .9rem;
    border: 1px solid rgba(148, 163, 184, .24);
    background: rgba(255, 255, 255, .78);
}

.recipe-work-page .recipe-parameter-row.recipe-parameter-row--inline.is-overridden {
    border-color: rgba(185, 28, 28, .48) !important;
    background: linear-gradient(90deg, rgba(254, 226, 226, .68), rgba(255,255,255,.84) 52%) !important;
    box-shadow: 0 0 0 1px rgba(185, 28, 28, .10), 0 10px 22px rgba(127, 29, 29, .05);
}

.recipe-work-page .recipe-parameter-row.recipe-parameter-row--inline.is-save-focus {
    animation: recipe-row-saved-focus 1.15s ease-out;
}

@keyframes recipe-row-saved-focus {
    0% { box-shadow: 0 0 0 0 rgba(22, 163, 74, .24); border-color: rgba(22, 163, 74, .46); }
    45% { box-shadow: 0 0 0 .24rem rgba(22, 163, 74, .10); border-color: rgba(22, 163, 74, .42); }
    100% { box-shadow: none; }
}

.recipe-parameter-row__source-action {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    min-width: 0;
}

.recipe-source-button.btn.btn--passive.btn--small {
    white-space: nowrap;
    min-height: 2.05rem;
    padding-inline: .58rem;
    font-size: .72rem;
    font-weight: 900;
    box-shadow: none;
}

.recipe-source-button.btn.btn--passive.btn--small:hover {
    transform: none;
}

.recipe-source-modal {
    width: min(720px, calc(100vw - 2rem));
}

.recipe-source-modal .modal__body {
    display: grid;
    gap: .72rem;
}

.recipe-source-summary {
    display: grid;
    gap: .22rem;
    padding: .72rem .82rem;
    border: 1px solid rgba(148, 163, 184, .22);
    border-radius: .9rem;
    background: rgba(248, 250, 252, .72);
}

.recipe-source-summary strong {
    font-size: 1rem;
    font-weight: 950;
}

.recipe-source-summary span {
    color: var(--c-muted);
    font-size: .82rem;
    line-height: 1.35;
}

.recipe-source-path {
    display: grid;
    gap: .45rem;
}

.recipe-source-path__item {
    display: grid;
    grid-template-columns: minmax(9rem, .55fr) minmax(6rem, .35fr) minmax(12rem, 1fr);
    gap: .62rem;
    align-items: center;
    padding: .58rem .68rem;
    border: 1px solid rgba(148, 163, 184, .20);
    border-radius: .78rem;
    background: rgba(255, 255, 255, .74);
}

.recipe-source-path__item small {
    color: var(--c-muted);
    font-size: .72rem;
    font-weight: 900;
}

.recipe-source-path__item strong {
    font-size: .86rem;
    font-weight: 950;
}

.recipe-source-path__item span {
    color: var(--c-muted);
    font-size: .76rem;
    line-height: 1.3;
}

.recipe-source-path__item--active {
    border-color: rgba(22, 163, 74, .30);
    background: rgba(22, 163, 74, .07);
}

.recipe-source-path__item--override {
    border-color: rgba(185, 28, 28, .32);
    background: rgba(254, 226, 226, .52);
}

.recipe-source-path__item--missing {
    opacity: .74;
    border-style: dashed;
}

.recipe-source-rule {
    display: flex;
    gap: .42rem;
    padding: .68rem .78rem;
    border-radius: .8rem;
    background: rgba(255, 251, 235, .58);
    color: #78350f;
    font-size: .78rem;
    line-height: 1.35;
}

.recipe-source-rule strong {
    flex: 0 0 auto;
}

.recipe-parameter-row__values--capability,
.recipe-parameter-row--capability .recipe-value-chip {
    display: none !important;
}

.recipe-cycle-param.parameter-row {
    grid-template-columns: minmax(8.5rem, .9fr) minmax(8rem, auto) minmax(15rem, auto) !important;
}

@media (max-width: 1180px) {
    .recipe-work-page .recipe-parameter-row.recipe-parameter-row--inline,
    .recipe-cycle-param.parameter-row {
        grid-template-columns: minmax(14rem, 1fr) minmax(18rem, auto) !important;
    }

    .recipe-parameter-row__source-action {
        justify-content: flex-start;
    }
}

@media (max-width: 760px) {
    .recipe-work-page .recipe-parameter-row.recipe-parameter-row--inline,
    .recipe-cycle-param.parameter-row {
        grid-template-columns: 1fr !important;
        align-items: stretch;
    }

    .recipe-source-button.btn.btn--passive.btn--small {
        width: fit-content;
    }

    .recipe-source-path__item {
        grid-template-columns: 1fr;
        gap: .22rem;
    }
}

 



 
.recipe-work-page .recipe-parameter-row.recipe-parameter-row--inline,
.recipe-work-page .recipe-cycle-param.recipe-parameter-row.recipe-parameter-row--inline,
.recipe-work-page .recipe-cycle-param.parameter-row {
    display: grid !important;
    grid-template-columns: minmax(14rem, 1fr) max-content max-content !important;
    gap: .72rem !important;
    align-items: center !important;
    min-height: 4.15rem !important;
    padding: .62rem .72rem !important;
    border: 1px solid rgba(148, 163, 184, .28) !important;
    border-radius: .86rem !important;
    background: #fff !important;
    box-shadow: none !important;
}

.recipe-work-page .recipe-parameter-row__text,
.recipe-work-page .recipe-cycle-param .recipe-parameter-row__text {
    min-width: 0 !important;
}

.recipe-work-page .recipe-parameter-row .parameter-row__name,
.recipe-work-page .recipe-cycle-param .parameter-row__name {
    color: var(--c-text) !important;
    font-size: 1.02rem !important;
    font-weight: 950 !important;
    line-height: 1.12 !important;
}

.recipe-work-page .recipe-parameter-row .parameter-row__meta,
.recipe-work-page .recipe-cycle-param .parameter-row__meta {
    margin-top: .18rem !important;
    color: var(--c-muted) !important;
    font-size: .77rem !important;
    font-weight: 760 !important;
    line-height: 1.22 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
}

.recipe-parameter-row__source-action {
    justify-self: start !important;
    align-self: center !important;
}

.recipe-source-button.btn.btn--passive.btn--small {
    min-height: 1.7rem !important;
    height: 1.7rem !important;
    padding: 0 .46rem !important;
    border-radius: .5rem !important;
    border-color: rgba(148, 163, 184, .26) !important;
    background: rgba(248, 250, 252, .72) !important;
    color: var(--c-muted) !important;
    font-size: .68rem !important;
    font-weight: 850 !important;
    line-height: 1 !important;
    box-shadow: none !important;
    transform: none !important;
}

.recipe-source-button.btn.btn--passive.btn--small:hover,
.recipe-source-button.btn.btn--passive.btn--small:focus-visible {
    border-color: rgba(148, 163, 184, .46) !important;
    background: rgba(241, 245, 249, .86) !important;
    color: var(--c-text) !important;
    transform: none !important;
}

.recipe-parameter-row__right,
.recipe-cycle-param__right {
    justify-self: end !important;
    display: grid !important;
    gap: .26rem !important;
    justify-items: end !important;
    min-width: 0 !important;
}

.recipe-parameter-row__control,
.recipe-cycle-param__control,
.recipe-work-page .recipe-cycle-param .recipe-parameter-row__control {
    display: inline-grid !important;
    grid-template-columns: auto minmax(8.2rem, 12.2rem) auto !important;
    gap: .42rem !important;
    align-items: center !important;
    justify-content: end !important;
    width: auto !important;
    min-width: 0 !important;
}

.recipe-parameter-row__control:has(.recipe-icon-switch),
.recipe-work-page .recipe-cycle-param.is-air-tile .recipe-cycle-param__control,
.recipe-work-page .recipe-cycle-param.is-water-tile .recipe-cycle-param__control {
    grid-template-columns: auto !important;
    justify-content: end !important;
}

.recipe-work-page .recipe-adjust-btn,
.recipe-work-page .recipe-cycle-param .recipe-adjust-btn {
    width: 3rem !important;
    min-width: 3rem !important;
    height: 2.55rem !important;
    border-radius: .72rem !important;
    font-size: .82rem !important;
    font-weight: 950 !important;
}

.recipe-work-page .recipe-inline-value-control,
.recipe-work-page .recipe-cycle-param .recipe-inline-value-control--mini {
    min-width: 8.2rem !important;
    max-width: 12.2rem !important;
    height: 2.55rem !important;
}

.recipe-work-page .recipe-inline-value-control input,
.recipe-work-page .recipe-inline-value-control .input-unit,
.recipe-work-page .recipe-cycle-param .recipe-inline-value-control--mini input,
.recipe-work-page .recipe-cycle-param .recipe-inline-value-control--mini .input-unit {
    height: 2.55rem !important;
    font-size: .86rem !important;
}

.recipe-work-page .recipe-icon-switch,
.recipe-work-page .recipe-cycle-param .recipe-icon-switch {
    width: 2.9rem !important;
    min-width: 2.9rem !important;
    height: 2.9rem !important;
    min-height: 2.9rem !important;
    padding: 0 !important;
    border-radius: .78rem !important;
}

.recipe-autosave-state,
.recipe-work-page .recipe-cycle-param .recipe-autosave-state {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
}

.recipe-work-page .recipe-parameter-row.recipe-parameter-row--inline.is-autosave-saving {
    border-color: rgba(245, 158, 11, .42) !important;
    box-shadow: 0 0 0 .16rem rgba(245, 158, 11, .08) !important;
}

.recipe-work-page .recipe-parameter-row.recipe-parameter-row--inline.is-save-focus,
.recipe-work-page .recipe-parameter-row.recipe-parameter-row--inline.is-autosave-saved {
    animation: recipe-row-saved-focus-quiet 1.15s ease-out;
}

.recipe-work-page .recipe-parameter-row.recipe-parameter-row--inline.is-autosave-error {
    border-color: rgba(185, 28, 28, .55) !important;
    background: linear-gradient(90deg, rgba(254, 226, 226, .70), #fff 54%) !important;
    box-shadow: 0 0 0 .16rem rgba(185, 28, 28, .08) !important;
}

@keyframes recipe-row-saved-focus-quiet {
    0% { border-color: rgba(22, 163, 74, .50); box-shadow: 0 0 0 0 rgba(22, 163, 74, .20); }
    42% { border-color: rgba(22, 163, 74, .44); box-shadow: 0 0 0 .22rem rgba(22, 163, 74, .10); }
    100% { box-shadow: none; }
}

.recipe-work-page .recipe-parameter-row.recipe-parameter-row--inline.is-overridden,
.recipe-work-page .recipe-cycle-param.is-overridden {
    border-color: rgba(185, 28, 28, .54) !important;
    background: linear-gradient(90deg, rgba(254, 226, 226, .78), #fff 54%) !important;
    box-shadow: 0 0 0 1px rgba(185, 28, 28, .10), 0 10px 22px rgba(127, 29, 29, .05) !important;
}

.recipe-parameter-row__reset,
.recipe-cycle-param__reset {
    justify-self: end !important;
}

.recipe-parameter-row__reset .btn,
.recipe-cycle-param__reset .btn {
    border-color: rgba(185, 28, 28, .24) !important;
    background: rgba(254, 226, 226, .46) !important;
    color: #991b1b !important;
}

@media (max-width: 980px) {
    .recipe-work-page .recipe-parameter-row.recipe-parameter-row--inline,
    .recipe-work-page .recipe-cycle-param.recipe-parameter-row.recipe-parameter-row--inline,
    .recipe-work-page .recipe-cycle-param.parameter-row {
        grid-template-columns: 1fr !important;
        align-items: stretch !important;
    }
    .recipe-parameter-row__source-action,
    .recipe-parameter-row__right,
    .recipe-cycle-param__right,
    .recipe-parameter-row__reset,
    .recipe-cycle-param__reset {
        justify-self: start !important;
        justify-items: start !important;
    }
    .recipe-parameter-row__control,
    .recipe-cycle-param__control,
    .recipe-work-page .recipe-cycle-param .recipe-parameter-row__control {
        justify-content: start !important;
    }
}

  
.recipe-run-plan-preview{
    display:grid;
    gap:.52rem;
    border:1px solid rgba(15,23,42,.08);
    border-radius:18px;
    background:linear-gradient(135deg,rgba(248,250,252,.86),rgba(255,255,255,.72));
    padding:.62rem;
}
.recipe-run-plan-preview__head{
    display:flex;
    justify-content:space-between;
    align-items:flex-start;
    gap:.75rem;
    padding:.12rem .18rem .16rem;
}
.recipe-run-plan-preview__head small,
.recipe-run-plan-preview__facts small{
    color:var(--c-muted);
    font-size:.64rem;
    font-weight:920;
    text-transform:uppercase;
    letter-spacing:.05em;
}
.recipe-run-plan-preview__head strong{
    display:block;
    color:var(--c-ink);
    font-size:.88rem;
    font-weight:980;
    letter-spacing:-.01em;
}
.recipe-run-plan-preview__head span,
.recipe-run-plan-preview__empty span,
.recipe-run-plan-preview__actions span{
    display:block;
    color:var(--c-muted);
    font-size:.72rem;
    font-weight:760;
    line-height:1.34;
}
.recipe-run-plan-preview__head em{
    flex:0 0 auto;
    border:1px solid var(--c-border);
    border-radius:999px;
    background:rgba(255,255,255,.9);
    color:var(--c-muted);
    padding:.28rem .5rem;
    font-size:.68rem;
    font-weight:900;
    font-style:normal;
    white-space:nowrap;
}
.recipe-run-plan-preview__component{
    margin-top:.16rem;
    color:#64748b;
}
.recipe-run-plan-preview__facts{
    display:grid;
    grid-template-columns:1fr 1fr 1fr;
    gap:.42rem;
}
.recipe-run-plan-preview__facts.is-active > div{
    border-color:rgba(22,163,74,.35);
    background:rgba(240,253,244,.78);
}
.recipe-run-plan-preview__facts > div,
.recipe-run-plan-preview__empty{
    display:grid;
    gap:.12rem;
    border:1px solid var(--c-border);
    border-radius:15px;
    background:rgba(255,255,255,.78);
    padding:.55rem .62rem;
}
.recipe-run-plan-preview__facts strong,
.recipe-run-plan-preview__empty strong{
    color:var(--c-ink);
    font-size:.8rem;
    font-weight:940;
    line-height:1.2;
}
.recipe-run-plan-preview__facts span{
    color:var(--c-muted);
    font-size:.7rem;
    font-weight:760;
    line-height:1.3;
}
.recipe-run-plan-preview__actions{
    display:flex;
    align-items:center;
    gap:.62rem;
    border:1px dashed rgba(148,163,184,.42);
    border-radius:14px;
    background:rgba(255,255,255,.68);
    padding:.52rem .62rem;
}
.recipe-run-plan-preview__actions.is-muted{
    opacity:.72;
}
@media (max-width: 860px){
    .recipe-run-plan-preview__facts{
        grid-template-columns:1fr;
    }
    .recipe-run-plan-preview__head,
    .recipe-run-plan-preview__actions{
        display:grid;
        grid-template-columns:1fr;
    }
    .recipe-run-plan-preview__head em{
        justify-self:start;
    }
}

  
.recipe-run-plan-preview__facts.is-next-start {
    border-style: dashed;
}
.recipe-run-plan-preview__notice {
    margin-top: .7rem;
    padding: .7rem .8rem;
    border: 1px solid rgba(180, 92, 0, .22);
    border-radius: 16px;
    background: rgba(255, 184, 77, .08);
    display: grid;
    gap: .18rem;
}
.recipe-run-plan-preview__notice strong {
    font-size: .86rem;
    color: #8a4b00;
}
.recipe-run-plan-preview__notice span {
    font-size: .78rem;
    color: var(--c-muted, #6f6a61);
}

  
.recipe-run-plan-preview__empty.is-next {
    border-style: dashed;
    background: rgba(240, 253, 244, .42);
}
.recipe-run-plan-preview__head em {
    text-align: center;
}

  
.recipe-run-plan-release {
    display: grid;
    gap: .46rem;
    border: 1px solid rgba(148, 163, 184, .32);
    border-radius: 16px;
    background: rgba(255,255,255,.66);
    padding: .6rem .68rem;
}
.recipe-run-plan-release.is-test {
    border-color: rgba(22, 163, 74, .34);
    background: rgba(240, 253, 244, .58);
}
.recipe-run-plan-release.is-enabled {
    border-color: rgba(15, 118, 110, .36);
    background: rgba(240, 253, 250, .64);
}
.recipe-run-plan-release.is-locked {
    border-color: rgba(180, 92, 0, .26);
    background: rgba(255, 251, 235, .58);
}
.recipe-run-plan-release.is-missing {
    border-color: rgba(148, 163, 184, .32);
    background: rgba(248, 250, 252, .72);
}
.recipe-run-plan-release__head small {
    display: block;
    color: var(--c-muted);
    font-size: .62rem;
    font-weight: 920;
    text-transform: uppercase;
    letter-spacing: .05em;
}
.recipe-run-plan-release__head strong {
    display: block;
    color: var(--c-ink);
    font-size: .82rem;
    font-weight: 960;
}
.recipe-run-plan-release__head span,
.recipe-run-plan-release p {
    margin: 0;
    color: var(--c-muted);
    font-size: .72rem;
    font-weight: 760;
    line-height: 1.34;
}
.recipe-run-plan-release__checks {
    display: flex;
    flex-wrap: wrap;
    gap: .32rem;
}
.recipe-run-plan-release__checks span {
    border: 1px solid var(--c-border);
    border-radius: 999px;
    background: rgba(255,255,255,.78);
    color: var(--c-muted);
    font-size: .66rem;
    font-weight: 900;
    padding: .24rem .44rem;
}
.recipe-run-plan-release__checks span.is-ok {
    border-color: rgba(22, 163, 74, .28);
    color: #166534;
}
.recipe-run-plan-release__checks span.is-missing {
    border-color: rgba(180, 92, 0, .22);
    color: #8a4b00;
}


  
.rotation-build-template-choice.is-disabled {
    opacity: .58;
    cursor: not-allowed;
}
.rotation-build-template-choice.is-disabled * {
    cursor: not-allowed;
}
.capability-test-policy {
    display: grid;
    gap: .18rem;
    border: 1px solid rgba(148, 163, 184, .26);
    border-radius: 14px;
    background: rgba(248, 250, 252, .74);
    padding: .52rem .58rem;
    margin: 0 0 .56rem;
}
.capability-test-policy.is-open {
    border-color: rgba(22, 163, 74, .3);
    background: rgba(240, 253, 244, .56);
}
.capability-test-policy.is-locked {
    border-color: rgba(180, 92, 0, .22);
    background: rgba(255, 251, 235, .52);
}
.capability-test-policy strong {
    color: var(--c-ink);
    font-size: .78rem;
    font-weight: 940;
}
.capability-test-policy span {
    color: var(--c-muted);
    font-size: .7rem;
    font-weight: 760;
    line-height: 1.32;
}

  
.recipe-run-plan-preview--simple {
    gap: .58rem;
}
.recipe-run-plan-preview--simple .recipe-run-plan-preview__head em {
    border-color: rgba(15,23,42,.10);
    background: rgba(255,255,255,.92);
    color: var(--c-muted);
    text-transform: none;
}
.recipe-run-plan-preview--simple.is-active .recipe-run-plan-preview__head em {
    border-color: rgba(22,163,74,.28);
    color: #166534;
    background: rgba(240,253,244,.86);
}
.recipe-run-plan-preview--simple.is-ready .recipe-run-plan-preview__head em,
.recipe-run-plan-preview--simple.is-next-start .recipe-run-plan-preview__head em {
    border-color: rgba(0,105,137,.24);
    color: var(--bp-accent, #006989);
    background: rgba(232,245,248,.78);
}
.recipe-run-plan-preview__state {
    display: grid;
    grid-template-columns: repeat(3, minmax(0,1fr));
    gap: .42rem;
}
.recipe-run-plan-preview__state > div {
    display: grid;
    gap: .12rem;
    border: 1px solid rgba(15,23,42,.08);
    border-radius: 15px;
    background: rgba(255,255,255,.78);
    padding: .58rem .64rem;
}
.recipe-run-plan-preview__state small,
.recipe-run-plan-technical summary {
    color: var(--c-muted);
    font-size: .64rem;
    font-weight: 920;
    text-transform: uppercase;
    letter-spacing: .05em;
}
.recipe-run-plan-preview__state strong {
    color: var(--c-ink);
    font-size: .84rem;
    font-weight: 960;
    line-height: 1.2;
}
.recipe-run-plan-preview__state span {
    color: var(--c-muted);
    font-size: .71rem;
    font-weight: 760;
    line-height: 1.32;
}
.recipe-run-plan-preview--simple.is-active .recipe-run-plan-preview__state > div:first-child {
    border-color: rgba(22,163,74,.30);
    background: rgba(240,253,244,.72);
}
.recipe-run-plan-technical {
    border: 1px solid rgba(148,163,184,.24);
    border-radius: 15px;
    background: rgba(255,255,255,.52);
    overflow: hidden;
}
.recipe-run-plan-technical summary {
    list-style: none;
    cursor: pointer;
    padding: .52rem .62rem;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .7rem;
}
.recipe-run-plan-technical summary::-webkit-details-marker {
    display: none;
}
.recipe-run-plan-technical summary::after {
    content: '+';
    width: 1.35rem;
    height: 1.35rem;
    border-radius: 999px;
    display: inline-grid;
    place-items: center;
    border: 1px solid rgba(148,163,184,.32);
    background: rgba(255,255,255,.82);
    color: var(--c-muted);
    font-weight: 950;
}
.recipe-run-plan-technical[open] summary::after {
    content: '–';
}
.recipe-run-plan-technical[open] {
    padding-bottom: .58rem;
}
.recipe-run-plan-technical[open] > .recipe-run-plan-release,
.recipe-run-plan-technical[open] > .recipe-run-plan-preview__facts--technical {
    margin: 0 .58rem .5rem;
}
.recipe-run-plan-preview__facts--technical {
    grid-template-columns: repeat(3, minmax(0,1fr));
}
@media (max-width: 860px){
    .recipe-run-plan-preview__state,
    .recipe-run-plan-preview__facts--technical{
        grid-template-columns:1fr;
    }
}

 


 
.recipe-work-quiet-details {
    border: 1px solid rgba(148,163,184,.22);
    border-radius: 15px;
    background: rgba(255,255,255,.58);
    margin-top: .72rem;
    overflow: hidden;
}
.recipe-work-quiet-details > summary {
    list-style: none;
    cursor: pointer;
    padding: .56rem .68rem;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .75rem;
    color: var(--c-muted);
    font-size: .72rem;
    font-weight: 900;
}
.recipe-work-quiet-details > summary::-webkit-details-marker { display: none; }
.recipe-work-quiet-details > summary::after {
    content: '+';
    width: 1.35rem;
    height: 1.35rem;
    border-radius: 999px;
    display: inline-grid;
    place-items: center;
    border: 1px solid rgba(148,163,184,.32);
    background: rgba(255,255,255,.84);
    color: var(--c-muted);
    font-weight: 950;
}
.recipe-work-quiet-details[open] > summary::after { content: '–'; }
.recipe-work-quiet-details[open] {
    padding-bottom: .64rem;
}
.recipe-work-quiet-details[open] > .recipe-context-priority,
.recipe-work-quiet-details[open] > .recipe-capture-rules,
.recipe-work-quiet-details[open] > .recipe-value-chain-metrics,
.recipe-work-quiet-details[open] > .recipe-value-chain-rules,
.recipe-work-quiet-details[open] > .notice {
    margin-left: .64rem;
    margin-right: .64rem;
}
.recipe-value-chain-panel--calm {
    gap: .65rem;
}
.recipe-value-chain-summary {
    display: grid;
    grid-template-columns: repeat(4, minmax(0,1fr));
    gap: .5rem;
}
.recipe-value-chain-summary span {
    min-height: 58px;
    border: 1px solid rgba(39,78,95,.10);
    border-radius: 15px;
    background: linear-gradient(135deg,rgba(255,255,255,.86),rgba(232,242,246,.34));
    padding: .58rem .62rem;
    display: grid;
    gap: .1rem;
    align-content: center;
}
.recipe-value-chain-summary span.is-ok {
    border-color: rgba(36,132,94,.22);
    background: linear-gradient(135deg,rgba(235,250,242,.84),rgba(255,255,255,.76));
}
.recipe-value-chain-summary span.is-warn {
    border-color: rgba(217,132,31,.28);
    background: linear-gradient(135deg,rgba(255,247,232,.88),rgba(255,255,255,.74));
}
.recipe-value-chain-summary span.is-attention {
    border-color: rgba(125,92,201,.24);
    background: linear-gradient(135deg,rgba(244,239,255,.88),rgba(255,255,255,.74));
}
.recipe-value-chain-summary strong {
    color: var(--c-ink);
    font-size: 1rem;
    font-weight: 960;
    line-height: 1;
}
.recipe-value-chain-summary small {
    color: var(--c-muted);
    font-size: .67rem;
    font-weight: 820;
}
.recipe-context-priority-details .recipe-context-priority {
    margin-top: 0;
}
.recipe-autopilot-details .recipe-capture-rules {
    margin-top: 0;
}
@media (max-width: 900px){
    .recipe-value-chain-summary { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 560px){
    .recipe-value-chain-summary { grid-template-columns: 1fr; }
}

  
.rotation-build-run-plan-readiness-panel .panel__body { display: grid; gap: 14px; }
.rotation-build-run-plan-readiness { display: grid; gap: 14px; }
.rotation-build-run-plan-readiness__main {
  display: grid;
  gap: 5px;
  padding: 14px 16px;
  border-radius: 22px;
  background: rgba(255,255,255,.58);
  border: 1px solid rgba(37,43,55,.10);
}
.rotation-build-run-plan-readiness__main span {
  font-size: .72rem;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--c-muted);
}
.rotation-build-run-plan-readiness__main strong { font-size: 1.05rem; color: var(--c-ink); }
.rotation-build-run-plan-readiness__main em { font-style: normal; color: var(--c-muted); line-height: 1.35; }
.rotation-build-run-plan-readiness.is-enabled .rotation-build-run-plan-readiness__main { border-color: rgba(55,125,75,.32); background: rgba(232,246,235,.78); }
.rotation-build-run-plan-readiness.is-test .rotation-build-run-plan-readiness__main { border-color: rgba(120,101,40,.32); background: rgba(255,248,224,.78); }
.rotation-build-run-plan-readiness.is-locked .rotation-build-run-plan-readiness__main { border-color: rgba(80,96,120,.20); background: rgba(242,245,249,.82); }
.rotation-build-run-plan-readiness.is-conflict .rotation-build-run-plan-readiness__main,
.rotation-build-run-plan-readiness.is-missing .rotation-build-run-plan-readiness__main { border-color: rgba(150,80,60,.28); background: rgba(255,238,232,.72); }
.rotation-build-run-plan-readiness__grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
  gap: 10px;
}
.rotation-build-run-plan-readiness__checks {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.rotation-build-run-plan-readiness__checks span {
  display: inline-flex;
  align-items: center;
  min-height: 28px;
  padding: 5px 10px;
  border-radius: 999px;
  font-size: .78rem;
  font-weight: 850;
  background: rgba(255,255,255,.62);
  border: 1px solid rgba(37,43,55,.10);
  color: var(--c-muted);
}
.rotation-build-run-plan-readiness__checks span.is-ok { color: #2d6540; border-color: rgba(55,125,75,.24); background: rgba(232,246,235,.72); }
.rotation-build-run-plan-readiness__checks span.is-missing { color: #94513f; border-color: rgba(150,80,60,.20); background: rgba(255,238,232,.70); }
.rotation-build-run-plan-readiness__components {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 10px;
}
.rotation-build-run-plan-readiness__component {
  display: grid;
  gap: 4px;
  padding: 12px 14px;
  border-radius: 18px;
  background: rgba(255,255,255,.58);
  border: 1px solid rgba(37,43,55,.10);
  text-decoration: none;
  color: inherit;
}
.rotation-build-run-plan-readiness__component:hover { transform: translateY(-1px); box-shadow: 0 12px 24px rgba(15,23,42,.07); }
.rotation-build-run-plan-readiness__component span,
.rotation-build-run-plan-readiness__component small { color: var(--c-muted); font-size: .76rem; line-height: 1.3; }
.rotation-build-run-plan-readiness__component strong { color: var(--c-ink); }
.rotation-build-run-plan-readiness__component em { font-style: normal; font-weight: 900; font-size: .8rem; }
.rotation-build-run-plan-readiness__component.is-ok em { color: #2d6540; }
.rotation-build-run-plan-readiness__component.is-warn em { color: #8a6a15; }
.rotation-build-run-plan-readiness__component.is-missing em,
.rotation-build-run-plan-readiness__component.is-conflict em { color: #94513f; }

  
.recipe-run-plan-preview__actions--technical{
    margin-top:.62rem;
    border-style:solid;
    background:rgba(255,255,255,.52);
}
.recipe-run-plan-preview__actions--technical .btn{
    flex:0 0 auto;
}

  
.recipe-work-page--minimal{
  max-width: 1180px;
}
.recipe-work-minimal-main{
  display: grid;
  gap: 14px;
}
.recipe-work-contextbar{
  display: grid;
  grid-template-columns: repeat(2, minmax(220px, 1fr));
  gap: 12px;
  align-items: end;
  padding: 12px;
  border-radius: 22px;
  background: rgba(255,255,255,.58);
  border: 1px solid rgba(37,43,55,.10);
  box-shadow: 0 12px 32px rgba(15,23,42,.045);
}
.recipe-work-contextbar label{
  display: grid;
  gap: 6px;
}
.recipe-work-contextbar label span{
  color: var(--c-muted);
  font-size: .76rem;
  font-weight: 800;
  letter-spacing: .04em;
  text-transform: uppercase;
}
.recipe-work-contextbar select{
  width: 100%;
  min-height: 42px;
  border: 1px solid rgba(37,43,55,.12);
  border-radius: 16px;
  background: rgba(255,255,255,.86);
  color: var(--c-ink);
  font: inherit;
  font-weight: 800;
  padding: 0 12px;
}
@media (max-width: 760px){
  .recipe-work-contextbar{ grid-template-columns: 1fr; }
}

 


 
.recipe-source-chip {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 1.55rem;
    max-width: 7.4rem;
    padding: 0 .48rem;
    border: 1px solid rgba(148, 163, 184, .24);
    border-radius: 999px;
    background: rgba(248, 250, 252, .68);
    color: var(--c-muted);
    font: inherit;
    font-size: .66rem;
    font-weight: 900;
    line-height: 1;
    white-space: nowrap;
    cursor: pointer;
    box-shadow: none;
}
.recipe-source-chip span {
    overflow: hidden;
    text-overflow: ellipsis;
}
.recipe-source-chip:hover,
.recipe-source-chip:focus-visible {
    border-color: rgba(148, 163, 184, .44);
    background: rgba(241, 245, 249, .86);
    color: var(--c-text);
    outline: none;
}
.recipe-source-chip.is-correction {
    border-color: rgba(185, 28, 28, .26);
    background: rgba(254, 226, 226, .48);
    color: #991b1b;
}
.recipe-source-chip.is-snapshot {
    border-color: rgba(15, 118, 110, .24);
    background: rgba(240, 253, 250, .62);
    color: #0f766e;
}
.recipe-source-chip.is-base {
    border-color: rgba(22, 163, 74, .24);
    background: rgba(240, 253, 244, .62);
    color: #166534;
}
.recipe-source-chip.is-conflict {
    border-color: rgba(180, 92, 0, .28);
    background: rgba(255, 251, 235, .74);
    color: #8a4b00;
}
.recipe-source-chip.is-missing {
    border-style: dashed;
    opacity: .78;
}

 


 
.recipe-work-page .recipe-parameter-row.recipe-parameter-row--inline.is-overridden,
.recipe-work-page .recipe-cycle-param.is-overridden {
    border-color: rgba(148, 163, 184, .30) !important;
    background: #fff !important;
    box-shadow: none !important;
}

.recipe-work-page .recipe-parameter-row.recipe-parameter-row--inline.is-autosave-error,
.recipe-work-page .recipe-cycle-param.is-autosave-error {
    border-color: rgba(185, 28, 28, .55) !important;
    background: linear-gradient(90deg, rgba(254, 226, 226, .70), #fff 54%) !important;
    box-shadow: 0 0 0 .16rem rgba(185, 28, 28, .08) !important;
}

.recipe-source-chip.is-correction {
    border-color: rgba(245, 158, 11, .34) !important;
    background: rgba(255, 251, 235, .74) !important;
    color: #92400e !important;
}

.recipe-parameter-row__reset .btn,
.recipe-cycle-param__reset .btn {
    border-color: rgba(245, 158, 11, .24) !important;
    background: rgba(255, 251, 235, .54) !important;
    color: #92400e !important;
}

.recipe-parameter-row__reason {
    width: 100% !important;
}

.recipe-parameter-row__reason summary {
    color: var(--c-muted) !important;
    font-size: .69rem !important;
    font-weight: 850 !important;
}

 

 
.teamlead-workspace-v2 {
    display: grid;
    gap: var(--sp-lg);
}

.teamlead-route-panel .panel__header {
    align-items: center;
}

.teamlead-route-blueprint {
    width: 100%;
}

.teamlead-route-grid {
    align-items: stretch;
}

.teamlead-route-node {
    min-height: 11rem;
}

.teamlead-route-node__arms {
    gap: .55rem;
}

.teamlead-arm-pill {
    appearance: none;
    -webkit-appearance: none;
    border: 1px solid rgba(32, 97, 174, .22);
    background: rgba(255,255,255,.86);
    color: inherit;
    cursor: pointer;
    text-align: left;
    width: 100%;
    transition: transform .15s ease, box-shadow .15s ease, border-color .15s ease;
}

.teamlead-arm-pill:hover,
.teamlead-arm-pill:focus-visible {
    transform: translateY(-1px);
    border-color: rgba(32, 97, 174, .42);
    box-shadow: 0 .45rem 1.1rem rgba(15, 23, 42, .10);
    outline: none;
}

.teamlead-dashboard-grid {
    display: grid;
    grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
    gap: var(--sp-lg);
    align-items: start;
}

.teamlead-now-list,
.teamlead-real-events {
    display: grid;
    gap: .7rem;
}

.teamlead-now-item,
.teamlead-real-event {
    border: 1px solid var(--c-border);
    border-radius: var(--r-md);
    background: #fff;
    padding: .8rem .9rem;
}

.teamlead-now-item span,
.teamlead-real-event span {
    display: block;
    color: var(--c-muted);
    font-size: .78rem;
    font-weight: 800;
    letter-spacing: .03em;
    text-transform: uppercase;
    margin-bottom: .15rem;
}

.teamlead-now-item strong,
.teamlead-real-event strong {
    display: block;
    color: var(--c-text);
}

.teamlead-now-item small,
.teamlead-real-event p {
    display: block;
    margin: .2rem 0 0;
    color: var(--c-muted);
    font-size: .86rem;
    line-height: 1.35;
}

.teamlead-arm-modal .modal__body,
.teamlead-action-modal .modal__body {
    display: grid;
    gap: var(--sp-md);
}

.teamlead-arm-summary {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: .7rem;
}

.teamlead-arm-summary > div {
    border: 1px solid var(--c-border);
    border-radius: var(--r-md);
    background: #fff;
    padding: .8rem .9rem;
}

.teamlead-arm-summary span {
    display: block;
    color: var(--c-muted);
    font-size: .75rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .03em;
    margin-bottom: .2rem;
}

.teamlead-arm-summary strong {
    display: block;
    font-size: .98rem;
}

.teamlead-arm-time {
    margin: 0;
    color: var(--c-muted);
    font-weight: 700;
}

.teamlead-arm-block {
    border: 1px solid var(--c-border);
    border-radius: var(--r-lg);
    background: #fff;
    padding: var(--sp-md);
}

.teamlead-arm-block--warn {
    border-color: rgba(180, 83, 9, .28);
    background: #fff8ee;
}

.teamlead-arm-block--danger {
    border-color: rgba(185, 28, 28, .30);
    background: #fff5f5;
}

.teamlead-arm-block__head {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    gap: var(--sp-md);
    margin-bottom: .75rem;
}

.teamlead-arm-block__head h3,
.teamlead-arm-actions h3 {
    margin: 0;
    font-size: 1rem;
}

.teamlead-arm-block__head span {
    color: var(--c-muted);
    font-size: .82rem;
    font-weight: 700;
}

.teamlead-arm-unit-table {
    display: grid;
    gap: .35rem;
}

.teamlead-arm-unit-table__head,
.teamlead-arm-unit-table__row {
    display: grid;
    grid-template-columns: minmax(0, 1.15fr) minmax(0, 1.15fr) minmax(7rem, .55fr);
    gap: .7rem;
    align-items: center;
}

.teamlead-arm-unit-table__head {
    color: var(--c-muted);
    font-size: .74rem;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: .03em;
    padding: 0 .45rem;
}

.teamlead-arm-unit-table__row {
    padding: .55rem .65rem;
    border: 1px solid rgba(148, 163, 184, .24);
    border-radius: var(--r-md);
    background: #fbfcfe;
}

.teamlead-arm-unit-table__row strong,
.teamlead-arm-unit-table__row span,
.teamlead-arm-unit-table__row small {
    min-width: 0;
    overflow-wrap: anywhere;
}

.teamlead-arm-unit-table__row small {
    color: var(--c-muted);
    font-weight: 800;
}

.teamlead-arm-actions {
    border-top: 1px solid var(--c-border);
    padding-top: var(--sp-md);
}

.teamlead-action-grid {
    display: flex;
    gap: .65rem;
    flex-wrap: wrap;
    margin-top: .75rem;
}

.teamlead-correction-details {
    border: 1px solid var(--c-border);
    border-radius: var(--r-lg);
    background: #fff;
    overflow: hidden;
}

.teamlead-correction-details > summary {
    cursor: pointer;
    padding: var(--sp-md) var(--sp-lg);
    background: var(--c-soft);
    font-weight: 900;
}

.teamlead-correction-details > .panel {
    border: 0;
    border-radius: 0;
    box-shadow: none;
}

@media (max-width: 900px) {
    .teamlead-dashboard-grid,
    .teamlead-arm-summary,
    .teamlead-arm-unit-table__head,
    .teamlead-arm-unit-table__row {
        grid-template-columns: 1fr;
    }

    .teamlead-arm-unit-table__head {
        display: none;
    }

    .teamlead-action-grid .btn {
        width: 100%;
    }
}

 

 
.teamlead-route-node--clickable {
    cursor: pointer;
    transition: transform .15s ease, box-shadow .15s ease, border-color .15s ease;
}

.teamlead-route-node--clickable:hover,
.teamlead-route-node--clickable:focus-visible {
    transform: translateY(-1px);
    border-color: rgba(32, 97, 174, .42);
    box-shadow: 0 .75rem 1.45rem rgba(15, 23, 42, .12);
    outline: none;
}

.teamlead-arm-pill--label {
    cursor: inherit;
    pointer-events: none;
}

 


 
.teamlead-route-panel .panel__subtitle {
    max-width: 58rem;
}

.teamlead-route-panel .route-node--clean.teamlead-route-node {
    position: relative;
    display: grid;
    grid-template-rows: auto auto minmax(3.6rem, 1fr) auto auto;
    gap: .42rem;
    min-height: 9.2rem;
    padding: .86rem .9rem;
    border-color: rgba(0, 105, 137, .20);
    background:
        linear-gradient(180deg, rgba(255,255,255,.88), rgba(247,251,253,.92)),
        var(--bp-surface);
    box-shadow: 0 .55rem 1.15rem rgba(15, 23, 42, .045);
    overflow: hidden;
}

.teamlead-route-panel .route-node--clean.teamlead-route-node::before {
    content: "";
    position: absolute;
    inset: 0 auto 0 0;
    width: .28rem;
    background: rgba(0, 105, 137, .22);
    opacity: .9;
}

.teamlead-route-panel .route-node--clean.teamlead-route-node.is-processing::before {
    background: rgba(32, 97, 174, .80);
}

.teamlead-route-panel .route-node--clean.teamlead-route-node.needs-action::before {
    background: #d97706;
}

.teamlead-route-panel .route-node--clean.teamlead-route-node.is-empty::before {
    background: rgba(83, 102, 113, .22);
}

.teamlead-route-panel .route-node--clean .route-node__key {
    order: 1;
    max-width: calc(100% - 4.4rem);
    color: rgba(18, 50, 58, .60);
    font-size: .67rem;
    font-weight: 950;
    line-height: 1.08;
    letter-spacing: .055em;
}

.teamlead-route-panel .route-node--clean .route-node__label {
    order: 2;
    min-height: 0;
    max-width: calc(100% - 3.2rem);
    color: var(--bp-text);
    font-size: 1rem;
    line-height: 1.12;
    font-weight: 950;
}

.teamlead-route-node__status-icons {
    order: 0;
    position: absolute;
    top: .58rem;
    right: .58rem;
    z-index: 2;
    display: inline-flex;
    align-items: center;
    justify-content: flex-end;
    gap: .24rem;
    min-height: 1.46rem;
    padding: .12rem .16rem;
    border: 1px solid rgba(0, 105, 137, .10);
    border-radius: var(--r-pill);
    background: rgba(255,255,255,.66);
    backdrop-filter: blur(4px);
}

.teamlead-route-node__status-icons:empty,
.teamlead-route-node__status-icons[hidden] {
    display: none;
}

.teamlead-gw-route-icon {
    --teamlead-route-icon-size: 1.18rem;
    display: inline-flex;
    width: var(--teamlead-route-icon-size);
    height: var(--teamlead-route-icon-size);
    flex: 0 0 auto;
    background-color: rgba(32, 97, 174, .88);
    mask-repeat: no-repeat;
    mask-position: center;
    mask-size: contain;
    -webkit-mask-repeat: no-repeat;
    -webkit-mask-position: center;
    -webkit-mask-size: contain;
}

.teamlead-gw-route-icon--temperature {
    mask-image: url("icons/gw-temperature.a33664b944f7.svg");
    -webkit-mask-image: url("icons/gw-temperature.a33664b944f7.svg");
    background-color: #ea580c;
}

.teamlead-gw-route-icon--fan {
    mask-image: url("icons/gw-fan.219b16e1f452.svg");
    -webkit-mask-image: url("icons/gw-fan.219b16e1f452.svg");
    background-color: #64748b;
}

.teamlead-gw-route-icon--water {
    mask-image: url("icons/gw-water.314ef123c427.svg");
    -webkit-mask-image: url("icons/gw-water.314ef123c427.svg");
    background-color: #0284c7;
}

.teamlead-gw-route-icon--pause {
    mask-image: url("icons/gw-action-pause.258fd36c91cb.svg");
    -webkit-mask-image: url("icons/gw-action-pause.258fd36c91cb.svg");
    background-color: #536671;
}

.teamlead-gw-route-icon--rotation {
    mask-image: url("icons/gw-action-rotation.3acc1cb78540.svg");
    -webkit-mask-image: url("icons/gw-action-rotation.3acc1cb78540.svg");
    background-color: #2061ae;
}

.teamlead-gw-route-icon--lock {
    mask-image: url("icons/gw-rotation-lock.f7cfc5fe7701.svg");
    -webkit-mask-image: url("icons/gw-rotation-lock.f7cfc5fe7701.svg");
    background-color: #d97706;
}

.teamlead-gw-route-icon.is-inactive {
    background-color: rgba(83, 102, 113, .34);
    opacity: .62;
}

.teamlead-route-panel .route-node--clean .route-node__arms,
.teamlead-route-panel .route-node--clean .teamlead-route-node__arms {
    order: 3;
    align-self: stretch;
    display: grid;
    align-content: end;
    gap: .42rem;
    margin-top: .28rem;
}

.teamlead-route-panel .route-node--clean .teamlead-arm-pill {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: .45rem;
    align-items: center;
    width: 100%;
    border-radius: .92rem;
    border-color: rgba(0, 105, 137, .16);
    background: rgba(255,255,255,.76);
    padding: .52rem .58rem;
}

.teamlead-route-panel .route-node--clean .route-node__arm-main {
    display: grid;
    gap: .16rem;
    min-width: 0;
}

.teamlead-route-panel .route-node--clean .route-node__arm-main b {
    color: var(--bp-accent);
    font-size: 1.02rem;
    font-weight: 950;
    line-height: 1.04;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.teamlead-route-panel .route-node--clean .route-node__arm-main em {
    color: var(--c-muted);
    font-size: .72rem;
    font-style: normal;
    font-weight: 850;
    line-height: 1.1;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.teamlead-route-panel .route-node--clean .teamlead-arm-pill small {
    color: rgba(18, 50, 58, .62);
    font-size: .72rem;
    font-weight: 950;
}

.teamlead-route-panel .route-node--clean .route-node__arm.muted,
.teamlead-route-panel .route-node--clean .route-node__arm,
.teamlead-route-panel .route-node--clean .route-node__empty {
    order: 3;
    align-self: end;
    display: block;
    margin-top: .45rem;
    padding: .7rem .76rem;
    border: 1px dashed rgba(83, 102, 113, .22);
    border-radius: .92rem;
    background: rgba(255,255,255,.52);
    color: rgba(83, 102, 113, .72);
    font-size: .88rem;
    font-weight: 900;
}

.teamlead-route-panel .route-node--clean .route-node__progress {
    order: 4;
    margin-top: .34rem;
    height: .42rem;
    background: rgba(83, 102, 113, .16);
}

.teamlead-route-panel .route-node--clean .route-node__progress-text {
    order: 5;
    margin: .06rem 0 0;
    color: var(--c-muted);
    font-size: .72rem;
    line-height: 1.18;
}

.teamlead-route-panel .teamlead-route-node--process-oven {
    border-color: rgba(234, 88, 12, .26);
}

.teamlead-route-panel .teamlead-route-node--process-oven::before {
    background: rgba(234, 88, 12, .72);
}

.teamlead-route-panel .teamlead-route-node--process-cooling,
.teamlead-route-panel .teamlead-route-node--process-intermediate {
    border-color: rgba(2, 132, 199, .22);
}

.teamlead-route-panel .teamlead-route-node--process-cooling::before,
.teamlead-route-panel .teamlead-route-node--process-intermediate::before {
    background: rgba(2, 132, 199, .58);
}

.teamlead-route-panel .teamlead-route-node--stage-center.needs-action,
.teamlead-route-panel .teamlead-route-node--stage-wait.needs-action {
    border-color: rgba(217, 119, 6, .42);
}

.teamlead-route-panel .teamlead-route-node--stage-center.needs-action::before,
.teamlead-route-panel .teamlead-route-node--stage-wait.needs-action::before {
    background: #d97706;
}

@media (max-width: 980px) {
    .teamlead-route-node__status-icons {
        top: .5rem;
        right: .5rem;
    }

    .teamlead-gw-route-icon {
        --teamlead-route-icon-size: 1.08rem;
    }
}

  
.teamlead-route-panel .route-node--clean .route-node__component-info {
    order: 3;
    margin-top: .16rem;
}

.teamlead-route-panel .route-node--clean .route-node__arms,
.teamlead-route-panel .route-node--clean .teamlead-route-node__arms,
.teamlead-route-panel .route-node--clean .route-node__arm,
.teamlead-route-panel .route-node--clean .route-node__empty {
    order: 4;
}

.teamlead-route-panel .route-node--clean .route-node__progress {
    order: 5;
}

.teamlead-route-panel .route-node--clean .route-node__progress-text {
    order: 6;
}

 



 
.teamlead-route-panel .route-blueprint.teamlead-route-blueprint {
    padding: var(--sp-md);
}

.teamlead-route-panel .route-node--clean.teamlead-route-node {
    position: relative;
    display: grid;
    grid-template-rows: auto auto auto minmax(0, 1fr) auto;
    align-content: start;
    gap: .55rem;
    min-height: 11.2rem;
    padding: .95rem;
    border: 1px solid rgba(0, 105, 137, .25);
    border-radius: var(--r-md);
    background: var(--bp-surface);
    box-shadow: none;
    overflow: hidden;
}

.teamlead-route-panel .route-node--clean.teamlead-route-node::before {
    display: none;
}

.teamlead-route-panel .route-node--clean.teamlead-route-node.is-processing {
    border-color: var(--bp-accent);
}

.teamlead-route-panel .route-node--clean.teamlead-route-node.needs-action {
    border-color: #d97706;
    box-shadow: 0 0 0 .15rem rgba(217, 119, 6, .12);
}

.teamlead-route-panel .route-node--clean.teamlead-route-node.is-empty {
    opacity: .72;
}

.teamlead-route-panel .route-node--clean .route-node__key {
    order: 1;
    max-width: calc(100% - 4.4rem);
    margin: 0;
    color: rgba(18, 50, 58, .62);
    font-size: .68rem;
    text-transform: uppercase;
    letter-spacing: .055em;
    font-weight: 950;
    line-height: 1.1;
}

.teamlead-route-panel .route-node--clean .route-node__label {
    order: 2;
    margin: 0;
    min-height: 0;
    max-width: calc(100% - 3.2rem);
    color: var(--bp-text);
    font-size: 1rem;
    line-height: 1.18;
    font-weight: 950;
}

.teamlead-route-panel .route-node--clean .route-node__live-line {
    order: 3;
    display: inline-flex;
    align-items: center;
    width: fit-content;
    max-width: 100%;
    margin-top: .2rem;
    color: var(--c-muted);
    font-size: .76rem;
    font-weight: 850;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.teamlead-route-panel .route-node--clean .route-node__live-line:empty,
.teamlead-route-panel .route-node--clean .route-node__live-line[hidden] {
    display: none;
}

.teamlead-route-node__status-icons {
    position: absolute;
    top: .58rem;
    right: .58rem;
    z-index: 2;
    display: inline-flex;
    align-items: center;
    justify-content: flex-end;
    gap: .28rem;
    min-height: calc(1.56rem + .30rem);
    padding: .12rem .16rem;
    border: 1px solid rgba(0, 105, 137, .10);
    border-radius: var(--r-pill);
    background: rgba(255,255,255,.62);
    backdrop-filter: blur(4px);
}

.teamlead-route-node__status-icons:empty,
.teamlead-route-node__status-icons[hidden] {
    display: none;
}

.teamlead-route-panel .gw-route-icon {
    --teamlead-gw-route-icon-size: 1.56rem;
    display: inline-flex;
    width: var(--teamlead-gw-route-icon-size);
    height: var(--teamlead-gw-route-icon-size);
    flex: 0 0 auto;
    background-color: rgba(32, 97, 174, .92);
    mask-repeat: no-repeat;
    mask-position: center;
    mask-size: contain;
    -webkit-mask-repeat: no-repeat;
    -webkit-mask-position: center;
    -webkit-mask-size: contain;
}

.teamlead-route-panel .gw-route-icon--temperature {
    mask-image: url("icons/gw-temperature.a33664b944f7.svg");
    -webkit-mask-image: url("icons/gw-temperature.a33664b944f7.svg");
}

.teamlead-route-panel .gw-route-icon--fan {
    mask-image: url("icons/gw-fan.219b16e1f452.svg");
    -webkit-mask-image: url("icons/gw-fan.219b16e1f452.svg");
}

.teamlead-route-panel .gw-route-icon--water {
    mask-image: url("icons/gw-water.314ef123c427.svg");
    -webkit-mask-image: url("icons/gw-water.314ef123c427.svg");
}

.teamlead-route-panel .gw-route-icon--pause {
    mask-image: url("icons/gw-action-pause.258fd36c91cb.svg");
    -webkit-mask-image: url("icons/gw-action-pause.258fd36c91cb.svg");
}

.teamlead-route-panel .gw-route-icon--rotation {
    mask-image: url("icons/gw-action-rotation.3acc1cb78540.svg");
    -webkit-mask-image: url("icons/gw-action-rotation.3acc1cb78540.svg");
}

.teamlead-route-panel .gw-route-icon--lock {
    mask-image: url("icons/gw-rotation-lock.f7cfc5fe7701.svg");
    -webkit-mask-image: url("icons/gw-rotation-lock.f7cfc5fe7701.svg");
}

.teamlead-route-panel .gw-route-icon.is-inactive {
    background-color: rgba(83, 102, 113, .38);
}

.teamlead-route-panel .gw-route-icon--lock.is-active {
    background-color: #d97706;
}

.teamlead-route-panel .route-node--clean .route-node__arms,
.teamlead-route-panel .route-node--clean .route-node__arms--clean,
.teamlead-route-panel .route-node--clean .teamlead-route-node__arms {
    order: 4;
    align-self: stretch;
    display: grid;
    align-content: end;
    gap: .42rem;
    margin-top: auto;
}

.teamlead-route-panel .route-node__arm-pill--clean,
.teamlead-route-panel .route-node--clean .route-node__arm-pill--clean.teamlead-arm-pill {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    align-items: stretch;
    justify-content: stretch;
    gap: .42rem;
    width: 100%;
    border: 1px solid rgba(0, 105, 137, .16);
    border-radius: .9rem;
    background: rgba(255,255,255,.76);
    padding: .48rem;
}

.teamlead-route-panel .route-node__arm-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: .42rem;
    min-height: 1.5rem;
}

.teamlead-route-panel .route-node__arm-title {
    display: inline-flex;
    align-items: center;
    min-width: 0;
}

.teamlead-route-panel .route-node__arm-title b {
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    color: var(--bp-accent);
    font-size: .98rem;
    font-weight: 950;
    line-height: 1.05;
}

.teamlead-route-panel .route-node__arm-icons {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 1.34rem;
    min-height: 1.34rem;
}

.teamlead-route-panel .route-node__arm-icons--empty {
    opacity: 0;
}

.teamlead-route-panel .route-node__time-progress {
    display: grid;
    gap: .28rem;
    margin: .22rem 0 .12rem;
    padding: .38rem .45rem;
    border-radius: var(--r-md);
    background: rgba(255, 255, 255, .42);
    border: 1px solid rgba(43, 80, 118, .10);
}

.teamlead-route-panel .route-node__time-progress-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .55rem;
    font-size: .72rem;
    font-weight: 850;
    color: var(--c-text);
}

.teamlead-route-panel .route-node__time-progress-row span {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.teamlead-route-panel .route-node__time-progress-row b {
    flex: 0 0 auto;
    font-size: .68rem;
    color: var(--c-muted);
}

.teamlead-route-panel .route-node__time-progress-bar {
    height: .38rem;
    border-radius: var(--r-pill);
    overflow: hidden;
    background: rgba(43, 80, 118, .13);
}

.teamlead-route-panel .route-node__time-progress-bar i {
    display: block;
    height: 100%;
    border-radius: inherit;
    background: rgba(43, 80, 118, .44);
}

.teamlead-route-panel .route-node__mini-note {
    color: var(--c-muted);
    font-size: .72rem;
    font-weight: 850;
}

.teamlead-route-panel .route-node__mini-note.is-warn {
    color: var(--c-warn-text);
}

.teamlead-route-panel .route-node--clean .route-node__empty {
    order: 4;
    align-self: end;
    display: block;
    margin-top: auto;
    padding: .7rem .76rem;
    border: 1px dashed rgba(83, 102, 113, .22);
    border-radius: .92rem;
    background: rgba(255,255,255,.52);
    color: rgba(83, 102, 113, .72);
    font-size: .88rem;
    font-weight: 900;
    opacity: .7;
}

.teamlead-route-panel .route-node--clean .route-node__progress,
.teamlead-route-panel .route-node--clean .route-node__progress-text,
.teamlead-route-panel .route-node--clean .route-node__component-info,
.teamlead-route-panel .route-node--clean .route-node__arm.muted,
.teamlead-route-panel .route-node--clean .route-node__arm {
    display: none;
}

@media (max-width: 980px) {
    .teamlead-route-node__status-icons {
        top: .48rem;
        right: .48rem;
        gap: .22rem;
        min-height: calc(1.34rem + .26rem);
        padding: .10rem .13rem;
    }

    .teamlead-route-panel .gw-route-icon {
        --teamlead-gw-route-icon-size: 1.34rem;
    }

    .teamlead-route-panel .teamlead-route-node--process-cooling .gw-route-icon--fan,
    .teamlead-route-panel .teamlead-route-node--process-cooling .gw-route-icon--water {
        --teamlead-gw-route-icon-size: 1.46rem;
    }
}

 


 
.teamlead-route-panel .teamlead-route-node--process-cooling .gw-route-icon--fan,
.teamlead-route-panel .teamlead-route-node--process-cooling .gw-route-icon--water {
    --teamlead-gw-route-icon-size: 1.72rem;
}

.teamlead-route-panel .teamlead-route-node--process-intermediate .gw-route-icon--fan {
    --teamlead-gw-route-icon-size: 1.62rem;
}

.teamlead-route-panel .teamlead-route-node--process-cooling .teamlead-route-node__status-icons {
    gap: .36rem;
    min-height: calc(1.72rem + .32rem);
}


 
 
.teamlead-route-panel .route-node__time-progress-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: .52rem;
    min-width: 0;
}

.teamlead-route-panel .route-node__time-progress-row span {
    display: block;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.teamlead-route-panel .route-node__time-progress-row b {
    justify-self: end;
    min-width: 2.2rem;
    text-align: right;
    white-space: nowrap;
}

.teamlead-route-panel .route-node__mini-note {
    display: block;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.teamlead-route-panel .route-node__eta {
    display: inline-flex;
    align-items: center;
    width: fit-content;
    max-width: 100%;
    padding: .24rem .52rem;
    border-radius: var(--r-pill);
    border: 1px solid rgba(0, 105, 137, .14);
    background: rgba(232, 246, 250, .72);
    color: var(--bp-accent-strong);
    font-size: .72rem;
    font-weight: 950;
    line-height: 1.15;
    white-space: nowrap;
}

.teamlead-route-panel .route-node--clean.is-empty .route-node__empty {
    padding: .55rem .66rem;
    font-size: .82rem;
}

@media (max-width: 980px) {
    .teamlead-route-panel .route-node__eta {
        font-size: .68rem;
        padding: .20rem .44rem;
    }
}

 


 
.teamlead-route-panel .route-node--clean.teamlead-route-node {
    grid-template-rows: auto auto auto minmax(0, 1fr);
    gap: .55rem;
    min-height: 11.2rem;
    padding: .95rem;
}

.teamlead-route-panel .route-node--clean .route-node__live-line,
.teamlead-route-panel .route-node--clean .route-node__component-info {
    display: none !important;
}

.teamlead-route-panel .route-node__arm-pill--clean.route-node__arm-pill--with-actions,
.teamlead-route-panel .route-node--clean .route-node__arm-pill--clean.route-node__arm-pill--with-actions.teamlead-arm-pill {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    align-items: stretch;
    justify-content: stretch;
    gap: .42rem;
    width: 100%;
    border-radius: .9rem;
    padding: .48rem;
    border: 1px solid rgba(0, 105, 137, .16);
    background: rgba(255,255,255,.76);
}

.teamlead-route-panel .route-node__arm-timing {
    display: grid;
    gap: .32rem;
}

.teamlead-route-panel .route-node__arm-timing .route-node__time-progress {
    margin: 0;
    padding: .34rem .42rem;
    border-radius: var(--r-md);
    background: rgba(237, 250, 255, .62);
    border: 1px solid rgba(0, 105, 137, .14);
}

.teamlead-route-panel .route-node__arm-timing .route-node__time-progress-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .55rem;
    font-size: .68rem;
    font-weight: 850;
    color: var(--c-text);
}

.teamlead-route-panel .route-node__arm-timing .route-node__time-progress-row span {
    display: block;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.teamlead-route-panel .route-node__arm-timing .route-node__time-progress-row b {
    flex: 0 0 auto;
    min-width: auto;
    font-size: .62rem;
    color: var(--c-muted);
    text-transform: uppercase;
    letter-spacing: .06em;
    text-align: right;
}

.teamlead-route-panel .route-node__arm-timing .route-node__time-progress-bar {
    height: .34rem;
    border-radius: var(--r-pill);
    overflow: hidden;
    background: rgba(0, 105, 137, .13);
}

.teamlead-route-panel .route-node__arm-timing .route-node__time-progress-bar i {
    display: block;
    height: 100%;
    border-radius: inherit;
    background: rgba(0, 105, 137, .56);
}

.teamlead-route-panel .route-node__arm-eta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .5rem;
    padding: .26rem .42rem;
    border-radius: var(--r-md);
    background: rgba(255, 255, 255, .54);
    border: 1px solid rgba(43, 80, 118, .10);
    font-size: .66rem;
    font-weight: 900;
    line-height: 1.08;
}

.teamlead-route-panel .route-node__arm-eta span {
    color: var(--c-muted);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.teamlead-route-panel .route-node__arm-eta b {
    flex: 0 0 auto;
    color: var(--bp-accent);
    font-size: .72rem;
    font-weight: 950;
    white-space: nowrap;
}

.teamlead-route-panel .route-node__eta {
    display: none !important;
}

.teamlead-route-panel .route-node--clean.is-empty .route-node__empty,
.teamlead-route-panel .route-node--clean .route-node__empty {
    order: 4;
    align-self: end;
    display: block;
    margin-top: auto;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    color: rgba(83, 102, 113, .72);
    font-size: .82rem;
    font-weight: 900;
    opacity: .70;
}

@media (max-width: 980px) {
    .teamlead-route-panel .route-node__arm-timing {
        gap: .26rem;
    }

    .teamlead-route-panel .route-node__arm-timing .route-node__time-progress {
        padding: .28rem .36rem;
    }

    .teamlead-route-panel .route-node__arm-timing .route-node__time-progress-row {
        font-size: .60rem;
    }

    .teamlead-route-panel .route-node__arm-eta {
        padding: .22rem .36rem;
        font-size: .58rem;
    }

    .teamlead-route-panel .route-node__arm-eta b {
        font-size: .64rem;
    }
}

 


 
.teamlead-route-panel .gw-route-icon--temperature {
    background-color: #d97706;
}

.teamlead-route-panel .gw-route-temperature {
    display: inline-flex;
    align-items: center;
    gap: .28rem;
    min-height: var(--teamlead-gw-route-icon-size, 1.56rem);
    color: var(--c-text);
    font-size: .76rem;
    font-weight: 950;
    line-height: 1;
    white-space: nowrap;
}

.teamlead-route-panel .gw-route-temperature b {
    display: inline-flex;
    align-items: center;
    color: var(--c-text);
    font-size: .74rem;
    font-weight: 950;
    letter-spacing: -.01em;
}

.teamlead-route-panel .teamlead-route-node__status-icons.route-node__status-icons--text {
    gap: .2rem;
    padding-left: .18rem;
    padding-right: .30rem;
    min-height: calc(1.56rem + .30rem);
}

.teamlead-route-panel .teamlead-route-node--process-oven .teamlead-route-node__status-icons {
    right: .50rem;
}

.teamlead-route-panel .teamlead-route-node--process-oven .route-node__key {
    max-width: calc(100% - 7.9rem);
}

 


 
.teamlead-route-panel .route-node__arms--clean.teamlead-route-node__arms.teamlead-route-node__arms--rotation-locked,
.teamlead-route-panel .teamlead-route-node__arms.teamlead-route-node__arms--rotation-locked {
    padding: .34rem;
    border: 1px solid rgba(217, 119, 6, .20);
    border-radius: 1rem;
    background: rgba(217, 119, 6, .055);
}

.teamlead-route-panel .route-node__arm-pill--clean.teamlead-arm-pill.teamlead-arm-pill--rotation-locked,
.teamlead-route-panel .route-node--clean .route-node__arm-pill--clean.teamlead-arm-pill.teamlead-arm-pill--rotation-locked {
    border-color: rgba(217, 119, 6, .34);
    background: linear-gradient(180deg, rgba(255, 252, 245, .94), rgba(255, 247, 237, .78));
    box-shadow: inset 3px 0 0 rgba(217, 119, 6, .55);
}

.teamlead-route-panel .teamlead-arm-pill--rotation-locked .route-node__arm-title b {
    color: #9a4b00;
}

.teamlead-route-panel .teamlead-arm-pill--rotation-locked .route-node__arm-icons {
    min-width: 1.48rem;
    min-height: 1.48rem;
    opacity: 1;
}

.teamlead-route-panel .teamlead-arm-pill--rotation-locked .gw-route-icon--lock.is-active {
    background-color: #d97706;
}

  
.teamlead-route-panel .panel__actions {
    align-self: flex-start;
}

.teamlead-arm-recipe-embed {
    background: linear-gradient(180deg, rgba(255,255,255,.98), rgba(248,252,255,.96));
}

.teamlead-arm-recipe-status {
    display: flex;
    flex-wrap: wrap;
    gap: .55rem;
    align-items: center;
    margin-bottom: .8rem;
}

.teamlead-arm-recipe-status span {
    display: inline-flex;
    align-items: center;
    gap: .3rem;
    padding: .38rem .62rem;
    border: 1px solid rgba(37, 99, 235, .14);
    border-radius: 999px;
    background: rgba(239, 246, 255, .78);
    color: var(--c-muted);
    font-weight: 800;
    font-size: .78rem;
}

.teamlead-arm-recipe-status strong {
    color: var(--c-ink);
}

.teamlead-arm-recipe-status .btn {
    margin-left: auto;
}

.teamlead-arm-recipe-rows {
    max-height: min(52vh, 620px);
    overflow: auto;
    padding-right: .25rem;
}

.teamlead-arm-recipe-rows .recipe-component-map {
    display: grid;
    gap: .75rem;
}

.teamlead-arm-recipe-rows .recipe-component-group {
    border-radius: var(--r-lg);
    border-color: rgba(148, 163, 184, .24);
    box-shadow: none;
}

.teamlead-arm-recipe-rows .recipe-component-group__head {
    padding: .75rem .85rem;
}

.teamlead-arm-recipe-rows .recipe-component-group__title span {
    font-size: .75rem;
}

.teamlead-arm-recipe-rows .recipe-parameter-list,
.teamlead-arm-recipe-rows .recipe-capability-cycle-list {
    gap: .45rem;
}

.teamlead-arm-recipe-rows .recipe-parameter-row {
    border-radius: var(--r-md);
}

.teamlead-scrap-modal .teamlead-scrap-reasons {
    border: 1px solid rgba(148, 163, 184, .22);
    border-radius: var(--r-md);
    background: #fbfdff;
    padding: .7rem .8rem;
}

.teamlead-scrap-modal .teamlead-scrap-reasons > summary {
    cursor: pointer;
    font-weight: 900;
    color: var(--c-ink);
}

.scrap-reason-groups--compact {
    margin-top: .75rem;
}

@media (max-width: 760px) {
    .teamlead-arm-recipe-status .btn { margin-left: 0; }
    .teamlead-arm-recipe-rows { max-height: none; }
}

  
.teamlead-arm-recipe-pad {
    background: rgba(248, 250, 252, .72);
}

.teamlead-recipe-pad-summary {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: .5rem;
    margin-bottom: .65rem;
}

.teamlead-recipe-pad-summary .btn {
    margin-left: auto;
}

.teamlead-gateway-recipe-pad-stack,
.gateway-recipe-pad-stack {
    display: grid;
    gap: .65rem;
}

.teamlead-recipe-pad-note,
.gateway-recipe-pad-readonly-note {
    margin: 0;
    padding: .55rem .7rem;
    font-size: .78rem;
}

.teamlead-arm-recipe-pad .teamlead-gateway-recipe-pad-stack {
    max-height: min(46vh, 500px);
    overflow: auto;
    padding-right: .25rem;
}

.gateway-recipe-pad-section,
.teamlead-recipe-pad-section {
    border: 1px solid rgba(148, 163, 184, .38);
    border-radius: 18px;
    background: rgba(255, 255, 255, .82);
    overflow: hidden;
}

.gateway-recipe-pad-section__head {
    min-height: 2.7rem;
    padding: .62rem .78rem;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .75rem;
    border-bottom: 1px solid rgba(148, 163, 184, .28);
    background: rgba(248, 250, 252, .82);
}

.gateway-recipe-pad-section__head strong {
    display: block;
    color: var(--c-ink);
    font-size: .92rem;
    line-height: 1.1;
}

.gateway-recipe-pad-section__head span:not(.badge) {
    display: block;
    margin-top: .12rem;
    color: var(--c-muted);
    font-size: .74rem;
    font-weight: 800;
}

.gateway-recipe-pad-section__body {
    padding: .55rem .65rem;
    display: grid;
    gap: .44rem;
}

.gateway-recipe-pad-row,
.teamlead-recipe-pad-row {
    min-height: 2.65rem;
    display: grid;
    grid-template-columns: minmax(10rem, 1fr) auto minmax(9rem, .72fr);
    align-items: center;
    gap: .6rem;
    padding: .38rem .45rem;
    border: 1px solid rgba(203, 213, 225, .64);
    border-radius: 14px;
    background: rgba(248, 250, 252, .55);
}

.gateway-recipe-pad-row.is-modified,
.teamlead-recipe-pad-row.is-modified,
.gateway-recipe-pad-icon.is-modified {
    border-color: rgba(245, 158, 11, .34);
    background: rgba(255, 247, 237, .68);
}

.teamlead-recipe-pad-row.is-readonly {
    opacity: .72;
}

.gateway-recipe-pad-row__label {
    color: var(--c-ink);
    font-size: .83rem;
    font-weight: 920;
    display: inline-flex;
    align-items: center;
    gap: .45rem;
    min-width: 0;
}

.teamlead-recipe-pad-row__icon .recipe-param-icon {
    width: 2rem;
    height: 2rem;
}

.gateway-recipe-pad-row small,
.teamlead-recipe-pad-row small {
    color: var(--c-muted);
    font-size: .7rem;
    font-weight: 800;
    text-align: right;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.gateway-recipe-pad-time,
.gateway-recipe-pad-number,
.teamlead-recipe-pad-number {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .36rem;
}

.gateway-recipe-pad-step {
    width: 2.15rem;
    min-width: 2.15rem;
    height: 2.15rem;
    border: 1px solid rgba(37, 99, 235, .18);
    border-radius: 999px;
    background: rgba(255, 255, 255, .92);
    color: #145391;
    font-size: 1.02rem;
    line-height: 1;
    font-weight: 950;
    cursor: pointer;
}

.gateway-recipe-pad-step:hover,
.gateway-recipe-pad-step:focus-visible {
    border-color: rgba(37, 99, 235, .44);
    background: #fff;
    outline: none;
}

.gateway-recipe-pad-time-input,
.gateway-recipe-pad-number input,
.gateway-recipe-pad-number-input {
    width: 5.35rem;
    height: 2rem;
    border: 1px solid rgba(148, 163, 184, .46);
    border-radius: 12px;
    background: #fff;
    color: var(--c-ink);
    font-size: .9rem;
    font-weight: 950;
    text-align: center;
}

.gateway-recipe-pad-number-input {
    width: 4.85rem;
}

.gateway-recipe-pad-number b,
.teamlead-recipe-pad-number b {
    color: #145391;
    font-size: .76rem;
    font-weight: 950;
}

.gateway-recipe-pad-icon-row,
.teamlead-recipe-pad-toggle-row {
    display: inline-flex;
    align-items: center;
    justify-content: flex-end;
    gap: .38rem;
}

.teamlead-recipe-pad-toggle-row .recipe-icon-switch {
    min-height: 2.15rem;
    padding: .18rem .42rem;
    border-radius: 14px;
}

.teamlead-recipe-pad-value strong {
    color: var(--c-ink);
    font-size: .88rem;
    font-weight: 950;
}

.teamlead-recipe-pad-row__reset {
    grid-column: 1 / -1;
    display: flex;
    justify-content: flex-end;
    margin-top: -.18rem;
}

@media (max-width: 860px) {
    .gateway-recipe-pad-row,
    .teamlead-recipe-pad-row {
        grid-template-columns: 1fr;
        align-items: stretch;
    }

    .gateway-recipe-pad-row small,
    .teamlead-recipe-pad-row small {
        text-align: left;
        white-space: normal;
    }

    .gateway-recipe-pad-number,
    .teamlead-recipe-pad-number,
    .teamlead-recipe-pad-toggle-row {
        justify-content: flex-start;
    }

    .teamlead-recipe-pad-summary .btn {
        margin-left: 0;
    }
}

  
.teamlead-arm-modal__footer {
    justify-content: space-between;
    gap: .75rem;
}

.teamlead-recipe-pad-modal {
    max-width: 980px;
}

.teamlead-recipe-pad-modal__body {
    max-height: min(68vh, 520px);
    overflow: auto;
}

.teamlead-recipe-pad-modal .teamlead-arm-recipe-pad {
    background: transparent;
}

.teamlead-recipe-pad-modal .teamlead-gateway-recipe-pad-stack {
    max-height: none;
    overflow: visible;
    padding-right: 0;
}

  
.teamlead-recipe-pad-modal .gateway-recipe-pad-section,
.teamlead-recipe-pad-modal .teamlead-recipe-pad-section {
    border-radius: 18px;
    background: rgba(255,255,255,.88);
}

.teamlead-recipe-pad-modal .gateway-recipe-pad-section__body {
    padding: .55rem .65rem;
    gap: .44rem;
}

.teamlead-recipe-pad-modal .gateway-recipe-pad-row,
.teamlead-recipe-pad-modal .teamlead-recipe-pad-row {
    min-height: 2.65rem;
    grid-template-columns: minmax(8rem, 1fr) auto minmax(10rem, .9fr);
    align-items: center;
    gap: .6rem;
    padding: .38rem .45rem;
    border-radius: 14px;
    background: rgba(248, 250, 252, .52);
}

.teamlead-recipe-pad-modal .gateway-recipe-pad-row__label {
    display: block;
    color: #111827;
    font-size: .83rem;
    font-weight: 920;
    line-height: 1.15;
}

.teamlead-recipe-pad-modal .gateway-recipe-pad-row small,
.teamlead-recipe-pad-modal .teamlead-recipe-pad-row small {
    color: #64748b;
    font-size: .7rem;
    font-weight: 800;
    text-align: right;
    white-space: nowrap;
}

.teamlead-recipe-pad-modal .gateway-recipe-pad-time,
.teamlead-recipe-pad-modal .gateway-recipe-pad-number,
.teamlead-recipe-pad-modal .teamlead-recipe-pad-number,
.teamlead-recipe-pad-modal .teamlead-recipe-pad-time {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .36rem;
}

.teamlead-recipe-pad-modal .gateway-recipe-pad-step {
    width: 2.15rem;
    min-width: 2.15rem;
    height: 2.15rem;
    border-radius: 999px;
    font-size: 1.08rem;
    font-weight: 950;
}

.teamlead-recipe-pad-modal .gateway-recipe-pad-time-input,
.teamlead-recipe-pad-modal .gateway-recipe-pad-number input,
.teamlead-recipe-pad-modal .gateway-recipe-pad-number-input {
    width: 5.35rem;
    height: 2rem;
    border-radius: 12px;
    font-size: .9rem;
    font-weight: 950;
    text-align: center;
}

.teamlead-recipe-pad-modal .gateway-recipe-pad-number-input {
    width: 4.85rem;
}

.teamlead-recipe-pad-modal .recipe-autosave-state {
    min-width: 1.2rem;
    color: #64748b;
    font-size: .7rem;
    font-weight: 800;
}

@media (max-width: 860px) {
    .teamlead-recipe-pad-modal .gateway-recipe-pad-row,
    .teamlead-recipe-pad-modal .teamlead-recipe-pad-row {
        grid-template-columns: 1fr;
        align-items: stretch;
    }

    .teamlead-recipe-pad-modal .gateway-recipe-pad-row small,
    .teamlead-recipe-pad-modal .teamlead-recipe-pad-row small {
        text-align: left;
        white-space: normal;
    }

    .teamlead-recipe-pad-modal .gateway-recipe-pad-time,
    .teamlead-recipe-pad-modal .gateway-recipe-pad-number,
    .teamlead-recipe-pad-modal .teamlead-recipe-pad-number,
    .teamlead-recipe-pad-modal .teamlead-recipe-pad-time,
    .teamlead-recipe-pad-modal .teamlead-recipe-pad-toggle-row {
        justify-content: flex-start;
    }
}

  
.teamlead-recipe-pad-section--cycle-group .gateway-recipe-pad-section__body {
    padding: .55rem .65rem;
}

.teamlead-recipe-pad-cycle-list {
    display: grid;
    gap: .38rem;
}

.teamlead-recipe-pad-cycle-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: .55rem;
}

.teamlead-recipe-pad-cycle-time {
    min-height: 2.5rem;
    grid-template-columns: minmax(6.8rem, 1fr) auto minmax(8rem, .72fr);
}

.teamlead-recipe-pad-cycle-time .gateway-recipe-pad-row__label {
    white-space: nowrap;
}

.teamlead-recipe-pad-cycle-icons {
    display: inline-flex;
    align-items: center;
    justify-content: flex-end;
    gap: .38rem;
    min-width: max-content;
}

.teamlead-recipe-pad-cycle-toggle-form {
    position: relative;
    width: 2.25rem;
    min-width: 2.25rem;
    height: 2.25rem;
    display: inline-grid;
    place-items: center;
    margin: 0;
    padding: 0;
    border: 1px solid rgba(148, 163, 184, .42);
    border-radius: 14px;
    background: rgba(255, 255, 255, .85);
}

.teamlead-recipe-pad-cycle-toggle-form.is-overridden,
.teamlead-recipe-pad-cycle-toggle-form.is-modified {
    border-color: rgba(245, 158, 11, .38);
    background: rgba(255, 247, 237, .82);
}

.teamlead-recipe-pad-cycle-toggle-form.is-readonly {
    opacity: .58;
}

.teamlead-recipe-pad-cycle-toggle-form .recipe-icon-switch {
    width: 2.25rem;
    min-width: 2.25rem;
    height: 2.25rem;
    min-height: 2.25rem;
    padding: 0;
    border: 0;
    border-radius: 14px;
    background: transparent;
    box-shadow: none;
    gap: 0;
}

.teamlead-recipe-pad-cycle-toggle-form .recipe-icon-switch.is-active {
    background: rgba(224, 242, 254, .72);
}

.teamlead-recipe-pad-cycle-toggle-form .recipe-icon-switch__box .recipe-param-icon {
    width: 1.55rem;
    height: 1.55rem;
    margin: 0;
}

.teamlead-recipe-pad-cycle-toggle-form .recipe-icon-switch__state,
.teamlead-recipe-pad-cycle-toggle-form .recipe-autosave-state {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

.teamlead-recipe-pad-cycle-reset {
    position: absolute;
    top: -.38rem;
    right: -.38rem;
    width: 1rem;
    height: 1rem;
    display: grid;
    place-items: center;
    border: 1px solid rgba(245, 158, 11, .45);
    border-radius: 999px;
    background: #fff7ed;
    color: #92400e;
    font-size: .72rem;
    font-weight: 950;
    line-height: 1;
    cursor: pointer;
}

@media (max-width: 860px) {
    .teamlead-recipe-pad-cycle-row {
        grid-template-columns: 1fr;
        align-items: stretch;
    }

    .teamlead-recipe-pad-cycle-time {
        grid-template-columns: 1fr;
    }

    .teamlead-recipe-pad-cycle-icons {
        justify-content: flex-start;
    }
}

 

 
.teamlead-recipe-pad-modal {
    width: min(68rem, calc(100vw - 2rem));
    max-width: min(68rem, calc(100vw - 2rem));
}

.teamlead-recipe-pad-modal .teamlead-recipe-pad-section--cycle-group .gateway-recipe-pad-section__body {
    padding: .5rem .55rem;
}

.teamlead-recipe-pad-modal .teamlead-recipe-pad-cycle-list {
    gap: .34rem;
}

.teamlead-recipe-pad-modal .teamlead-recipe-pad-cycle-row {
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: .5rem;
}

.teamlead-recipe-pad-modal .teamlead-recipe-pad-cycle-time {
    min-height: 2.45rem;
    grid-template-columns: minmax(6.2rem, .8fr) auto minmax(7.2rem, .55fr);
    gap: .48rem;
    padding: .3rem .42rem;
    border-radius: 13px;
}

.recipe-work-page .teamlead-recipe-pad-modal .teamlead-recipe-pad-cycle-time .recipe-adjust-btn,
.teamlead-recipe-pad-modal .teamlead-recipe-pad-cycle-time .gateway-recipe-pad-step {
    width: 2.05rem !important;
    min-width: 2.05rem !important;
    height: 2.05rem !important;
    min-height: 2.05rem !important;
    padding: 0 !important;
    border-radius: 999px !important;
    font-size: 1.06rem !important;
    line-height: 1 !important;
}

.teamlead-recipe-pad-modal .teamlead-recipe-pad-cycle-time .gateway-recipe-pad-time-input {
    width: 4.65rem !important;
    height: 2rem !important;
    border-radius: 12px !important;
    font-size: .9rem !important;
}

.teamlead-recipe-pad-modal .teamlead-recipe-pad-cycle-time .gateway-recipe-pad-time {
    gap: .32rem;
}

.teamlead-recipe-pad-modal .teamlead-recipe-pad-cycle-icons {
    gap: .34rem;
}

.recipe-work-page .teamlead-recipe-pad-modal .teamlead-recipe-pad-cycle-icon-toggle,
.teamlead-recipe-pad-modal .teamlead-recipe-pad-cycle-icon-toggle {
    width: 2.25rem !important;
    min-width: 2.25rem !important;
    height: 2.25rem !important;
    min-height: 2.25rem !important;
    padding: 0 !important;
    border-radius: 14px !important;
    display: inline-grid !important;
    place-items: center !important;
    border: 1px solid rgba(148, 163, 184, .42) !important;
    background: rgba(255, 255, 255, .86) !important;
    box-shadow: none !important;
    transform: none !important;
}

.teamlead-recipe-pad-modal .teamlead-recipe-pad-cycle-icon-toggle.is-active {
    border-color: rgba(14, 165, 233, .44) !important;
    background: rgba(224, 242, 254, .72) !important;
}

.teamlead-recipe-pad-modal .teamlead-recipe-pad-cycle-icon-toggle.is-air-toggle.is-active {
    border-color: rgba(99, 102, 241, .32) !important;
    background: rgba(238, 242, 255, .78) !important;
}

.teamlead-recipe-pad-modal .teamlead-recipe-pad-cycle-icon-toggle .teamlead-gw-route-icon {
    --teamlead-route-icon-size: 1.28rem;
    width: var(--teamlead-route-icon-size);
    height: var(--teamlead-route-icon-size);
    opacity: .42;
}

.teamlead-recipe-pad-modal .teamlead-recipe-pad-cycle-icon-toggle.is-active .teamlead-gw-route-icon {
    opacity: 1;
}

.teamlead-recipe-pad-modal .teamlead-recipe-pad-cycle-icon-toggle.is-air-toggle .teamlead-gw-route-icon {
    background-color: #64748b;
}

.teamlead-recipe-pad-modal .teamlead-recipe-pad-cycle-icon-toggle.is-air-toggle.is-active .teamlead-gw-route-icon {
    background-color: #4338ca;
}

.teamlead-recipe-pad-modal .teamlead-recipe-pad-cycle-icon-toggle.is-water-toggle .teamlead-gw-route-icon {
    background-color: #64748b;
}

.teamlead-recipe-pad-modal .teamlead-recipe-pad-cycle-icon-toggle.is-water-toggle.is-active .teamlead-gw-route-icon {
    background-color: #0284c7;
}

.teamlead-recipe-pad-modal .teamlead-recipe-pad-cycle-icon-toggle .recipe-icon-switch__state,
.teamlead-recipe-pad-modal .teamlead-recipe-pad-cycle-icon-toggle .sr-only {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0,0,0,0) !important;
    white-space: nowrap !important;
    border: 0 !important;
}

@media (max-width: 860px) {
    .teamlead-recipe-pad-modal .teamlead-recipe-pad-cycle-row {
        grid-template-columns: 1fr;
        align-items: stretch;
    }
    .teamlead-recipe-pad-modal .teamlead-recipe-pad-cycle-time {
        grid-template-columns: 1fr;
    }
    .teamlead-recipe-pad-modal .teamlead-recipe-pad-cycle-icons {
        justify-content: flex-start;
    }
}


 

 
.teamlead-recipe-pad-modal .gateway-recipe-pad-row__label {
    display: inline-flex;
    align-items: center;
    gap: .42rem;
    min-width: 0;
}

.teamlead-recipe-pad-modal .gateway-recipe-pad-row__label > span:last-child {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
}

.teamlead-recipe-pad-modal .gateway-recipe-pad-row__label .recipe-param-icon {
    width: 1.38rem;
    min-width: 1.38rem;
    height: 1.38rem;
    margin: 0;
}

.teamlead-recipe-pad-modal .teamlead-recipe-pad-cycle-list--rich {
    gap: .55rem;
}

.teamlead-recipe-pad-modal .teamlead-recipe-pad-cycle-card {
    display: grid;
    grid-template-columns: 7.2rem minmax(0, 1fr);
    gap: .52rem;
    align-items: start;
    padding: .48rem .52rem;
    border: 1px solid rgba(203, 213, 225, .64);
    border-radius: 16px;
    background: rgba(248, 250, 252, .46);
}

.teamlead-recipe-pad-modal .teamlead-recipe-pad-cycle-card__label {
    min-height: 2.35rem;
    display: flex;
    align-items: center;
    color: #111827;
    font-size: .86rem;
    font-weight: 950;
    line-height: 1.1;
}

.teamlead-recipe-pad-modal .teamlead-recipe-pad-cycle-card__fields {
    display: grid;
    gap: .38rem;
    min-width: 0;
}

.teamlead-recipe-pad-modal .teamlead-recipe-pad-cycle-card .teamlead-recipe-pad-row,
.teamlead-recipe-pad-modal .teamlead-recipe-pad-cycle-card .teamlead-recipe-pad-cycle-time {
    min-height: 2.35rem;
    grid-template-columns: minmax(8rem, .9fr) auto minmax(8rem, .65fr);
    padding: .3rem .42rem;
}

.teamlead-recipe-pad-modal .teamlead-recipe-pad-cycle-card__icons {
    justify-content: flex-start;
    min-height: 2.25rem;
}

.teamlead-recipe-pad-modal .teamlead-recipe-pad-cycle-icon-toggle .recipe-icon-switch__box {
    display: inline-grid;
    place-items: center;
}

.teamlead-recipe-pad-modal .teamlead-recipe-pad-cycle-icon-toggle .recipe-param-icon {
    width: 1.35rem !important;
    height: 1.35rem !important;
    margin: 0 !important;
    opacity: .82;
}

.teamlead-recipe-pad-modal .teamlead-recipe-pad-cycle-icon-toggle.is-active .recipe-param-icon {
    opacity: 1;
}

@media (max-width: 860px) {
    .teamlead-recipe-pad-modal .teamlead-recipe-pad-cycle-card {
        grid-template-columns: 1fr;
    }
    .teamlead-recipe-pad-modal .teamlead-recipe-pad-cycle-card .teamlead-recipe-pad-row,
    .teamlead-recipe-pad-modal .teamlead-recipe-pad-cycle-card .teamlead-recipe-pad-cycle-time {
        grid-template-columns: 1fr;
    }
}

  
.capability-standard-section .capability-standard-note,
.capability-standard-section .capability-storage-note{
  display:flex;
  flex-direction:column;
  gap:.18rem;
  padding:.72rem .82rem;
  border:1px solid rgba(15,23,42,.08);
  border-radius:16px;
  background:rgba(248,250,252,.78);
  color:#334155;
}
.capability-standard-section .capability-standard-note strong,
.capability-standard-section .capability-storage-note strong{
  font-size:.86rem;
  color:#0f172a;
}
.capability-standard-section .capability-standard-note span,
.capability-standard-section .capability-storage-note span{
  font-size:.78rem;
  line-height:1.35;
  color:#64748b;
}
.capability-standard-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(150px,1fr));
  gap:.65rem;
  margin-top:.7rem;
}
.capability-standard-grid label{
  display:flex;
  flex-direction:column;
  gap:.28rem;
}
.capability-standard-grid label small{
  color:#94a3b8;
  font-size:.68rem;
  font-weight:700;
}
.capability-standard-grid input,
.capability-standard-grid select{
  min-height:38px;
}


  
.modal--capability-work {
    width: min(100%, 62rem);
}

.modal__header--capability {
    align-items: flex-start;
    background: linear-gradient(180deg, rgba(248,250,252,.96), rgba(241,245,249,.88));
}

.capability-modal-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: .35rem;
    margin-bottom: .35rem;
    padding: .18rem .52rem;
    border: 1px solid rgba(148,163,184,.28);
    border-radius: 999px;
    background: rgba(255,255,255,.86);
    color: var(--c-muted);
    font-size: .72rem;
    font-weight: 950;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.modal--capability .modal__body {
    background: linear-gradient(180deg, rgba(255,255,255,.98), rgba(248,250,252,.95));
}

.capability-modal-stack {
    gap: 1rem;
}

.modal--capability .modal__footer {
    justify-content: space-between;
    background: linear-gradient(180deg, rgba(248,250,252,.94), rgba(241,245,249,.98));
}

.modal--capability .modal__footer::before {
    content: 'Capability definiert die fachliche Wahrheit für Rezept und Bedienung.';
    color: var(--c-muted);
    font-size: .84rem;
    font-weight: 800;
    align-self: center;
}

.unit-role-modal-section {
    gap: .72rem;
    padding: 1rem;
    border-color: rgba(148,163,184,.22);
    border-radius: 18px;
    background: rgba(255,255,255,.82);
    box-shadow: 0 .2rem .8rem rgba(15,23,42,.03);
}

.unit-role-modal-section__head {
    gap: .75rem;
}

.unit-role-modal-section__head > span {
    width: 1.8rem;
    height: 1.8rem;
    border-radius: .75rem;
    background: rgba(37,99,235,.10);
    color: var(--c-primary);
}

.unit-role-modal-section__head strong {
    font-size: .98rem;
}

.unit-role-modal-section__head small {
    max-width: 56rem;
    font-size: .82rem;
}

.capability-truth-note,
.capability-storage-note,
.capability-standard-section .capability-standard-note,
.capability-standard-section .capability-storage-note,
.capability-cycle-showcase-note {
    border-radius: 16px;
}

.capability-truth-note,
.capability-storage-note {
    display: flex;
    flex-direction: column;
    gap: .22rem;
    padding: .8rem .9rem;
    border: 1px solid rgba(59,130,246,.14);
    background: rgba(239,246,255,.78);
    color: #334155;
}

.capability-truth-note strong,
.capability-storage-note strong {
    color: var(--c-text);
    font-size: .86rem;
}

.capability-truth-note span,
.capability-storage-note span {
    color: var(--c-muted);
    font-size: .8rem;
    line-height: 1.4;
}

.capability-decision-grid {
    display: grid;
    grid-template-columns: minmax(16rem, .9fr) minmax(20rem, 1.1fr);
    gap: .9rem;
    align-items: start;
}

.capability-choice-list {
    display: grid;
    gap: .55rem;
}

.checkbox-line {
    display: grid;
    grid-template-columns: 1.1rem minmax(0, 1fr);
    gap: .68rem;
    align-items: center;
    padding: .72rem .82rem;
    border: 1px solid rgba(148,163,184,.22);
    border-radius: 14px;
    background: rgba(248,250,252,.78);
    color: var(--c-text);
    font-size: .9rem;
    font-weight: 850;
    cursor: pointer;
}

.checkbox-line--muted {
    background: rgba(255,255,255,.72);
}

.checkbox-line input[type=checkbox] {
    appearance: none;
    -webkit-appearance: none;
    width: 1.1rem;
    min-width: 1.1rem;
    height: 1.1rem;
    min-height: 1.1rem;
    margin: 0;
    padding: 0;
    border: 2px solid rgba(100,116,139,.45);
    border-radius: .33rem;
    background: #fff;
    box-shadow: none;
    display: inline-grid;
    place-items: center;
}

.checkbox-line input[type=checkbox]::before {
    content: '';
    width: .56rem;
    height: .32rem;
    border-left: 2px solid #fff;
    border-bottom: 2px solid #fff;
    transform: rotate(-45deg) scale(0);
    transition: transform .12s ease;
    margin-top: -.08rem;
}

.checkbox-line input[type=checkbox]:checked {
    border-color: var(--c-primary);
    background: var(--c-primary);
}

.checkbox-line input[type=checkbox]:checked::before {
    transform: rotate(-45deg) scale(1);
}

.checkbox-line:has(input[type=checkbox]:checked) {
    border-color: rgba(37,99,235,.32);
    background: rgba(239,246,255,.88);
}

.capability-standard-grid {
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
}

.capability-standard-grid label,
.capability-decision-grid > label {
    display: grid;
    gap: .3rem;
    color: var(--c-muted);
    font-size: .78rem;
    font-weight: 900;
}

.capability-standard-grid label input,
.capability-standard-grid label select,
.capability-decision-grid > label input,
.capability-decision-grid > label select {
    margin-top: .05rem;
}

@media (max-width: 860px) {
    .modal--capability .modal__footer {
        justify-content: flex-end;
        flex-wrap: wrap;
    }
    .modal--capability .modal__footer::before {
        content: none;
    }
    .capability-decision-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 720px) {
    .unit-role-modal-section {
        padding: .88rem;
        border-radius: 16px;
    }
    .unit-role-modal-section__head {
        gap: .6rem;
    }
    .checkbox-line {
        padding: .68rem .74rem;
    }
}


  
.capability-sort-form { display:none; }
.capability-sort-hint { margin:0 0 .75rem; padding:.78rem .9rem; border:1px dashed rgba(59,130,246,.28); border-radius:14px; background:rgba(239,246,255,.56); color:var(--c-muted); font-size:.84rem; line-height:1.45; }
.capability-sort-hint strong { color:var(--c-text); }
.capability-sortable-list { gap:.65rem; }
.capability-sortable-item { display:grid; grid-template-columns:auto minmax(0,1fr); gap:.6rem; align-items:stretch; }
.capability-sortable-item--parameter { grid-template-columns:auto minmax(0,1fr) auto; align-items:center; }
.capability-sort-handle { width:2.4rem; min-width:2.4rem; border:1px solid rgba(148,163,184,.24); border-radius:14px; background:rgba(248,250,252,.92); display:grid; grid-template-columns:repeat(2, 4px); justify-content:center; align-content:center; gap:4px; cursor:grab; box-shadow:inset 0 1px 0 rgba(255,255,255,.55); }
.capability-sort-handle span { width:4px; height:4px; border-radius:999px; background:rgba(100,116,139,.72); }
.capability-sort-handle:hover { border-color:rgba(37,99,235,.26); background:rgba(239,246,255,.88); }
.capability-sort-handle:active { cursor:grabbing; }
.capability-sort-handle--inline { align-self:stretch; }
.capability-sortable-item .visual-object-card, .capability-sortable-item .capability-definition-param { margin:0; }
.capability-sortable-item.is-dragging { opacity:.58; }
.capability-sortable-list.is-sorting .capability-sortable-item:not(.is-dragging) { transition:transform .12s ease; }
.capability-group-list .capability-sortable-item.is-current .capability-sort-handle, .capability-definition-list .capability-sortable-item.is-current .capability-sort-handle { border-color:rgba(37,99,235,.28); background:rgba(239,246,255,.92); }
.capability-definition-list .capability-definition-param { width:100%; }
@media (max-width:720px) { .capability-sortable-item--parameter { grid-template-columns:auto minmax(0,1fr); } .capability-sortable-item--parameter > .btn { grid-column:2; justify-self:start; } }


  
.capability-layout--compact {
    gap: .85rem;
}

.capability-layout--compact > .workspace-side,
.capability-layout--compact > .workspace-main {
    gap: .85rem;
}

.capability-layout--compact .panel__header {
    padding: .78rem .95rem;
    min-height: auto;
}

.capability-layout--compact .panel__title {
    font-size: .98rem;
}

.capability-layout--compact .panel__subtitle,
.capability-layout--compact .capability-definition-eyebrow,
.capability-layout--compact .capability-blueprint-panel-badge,
.capability-layout--compact .capability-preview-hint {
    display: none;
}

.capability-layout--compact .panel__body {
    padding: .85rem .95rem;
}

.capability-layout--compact .panel--blueprint.capability-blueprint-panel .panel__body {
    padding: .72rem .82rem;
}

.capability-layout--compact .capability-blueprint-panel .capability-blueprint-route,
.capability-layout--compact .capability-blueprint-panel .capability-armtype-grid {
    gap: .5rem;
}

.capability-layout--compact .capability-blueprint-panel .capability-blueprint-node,
.capability-layout--compact .capability-blueprint-panel .capability-armtype-card {
    padding: .55rem .6rem;
    min-height: 70px;
}

.capability-layout--compact .capability-blueprint-panel .capability-blueprint-node strong,
.capability-layout--compact .capability-blueprint-panel .capability-armtype-card__arm b {
    font-size: .82rem;
}

.capability-layout--compact .capability-blueprint-panel .capability-blueprint-node small,
.capability-layout--compact .capability-blueprint-panel .capability-blueprint-node em,
.capability-layout--compact .capability-blueprint-panel .capability-armtype-card em,
.capability-layout--compact .capability-blueprint-panel .capability-armtype-card__arm small {
    font-size: .63rem;
}

.capability-layout--compact .visual-object-card {
    padding: .72rem .8rem;
    border-radius: 14px;
}

.capability-layout--compact .visual-object-card strong {
    font-size: .88rem;
}

.capability-layout--compact .visual-object-card span {
    font-size: .73rem;
}

.capability-layout--compact .capability-sort-hint {
    margin: 0 0 .5rem;
    padding: .46rem .68rem;
    border-style: solid;
    border-color: rgba(148,163,184,.18);
    background: rgba(248,250,252,.9);
    font-size: .76rem;
}

.capability-layout--compact .capability-group-summary,
.capability-layout--compact .capability-definition-summary {
    padding: .72rem .84rem;
    gap: .55rem;
}

.capability-layout--compact .capability-definition-summary__main strong {
    font-size: .93rem;
}

.capability-layout--compact .capability-definition-summary__main span {
    font-size: .76rem;
}

.capability-layout--compact .capability-definition-summary__meta {
    gap: .35rem;
}

.capability-layout--compact .capability-definition-summary__meta span {
    padding: .22rem .46rem;
    font-size: .69rem;
}

.capability-layout--compact .capability-rule-notice {
    margin-bottom: .55rem;
    padding: .55rem .72rem;
    border-radius: 14px;
}

.capability-layout--compact .capability-rule-notice strong,
.capability-layout--compact .capability-rule-notice span {
    font-size: .77rem;
}

.capability-layout--compact .capability-parameter-table,
.capability-layout--compact .capability-definition-list,
.capability-layout--compact .capability-nav .visual-object-list {
    gap: .55rem;
}

.capability-layout--compact .capability-parameter-row,
.capability-layout--compact .capability-definition-param {
    padding: .7rem .76rem;
    border-radius: 14px;
    gap: .55rem;
}

.capability-layout--compact .capability-definition-param__main {
    gap: .32rem;
}

.capability-layout--compact .capability-definition-param__main strong {
    font-size: .87rem;
}

.capability-layout--compact .capability-definition-param__chips {
    margin-top: 0;
    gap: .3rem;
}

.capability-layout--compact .capability-definition-param__chips em {
    padding: .16rem .42rem;
    font-size: .7rem;
}

.capability-layout--compact .capability-sort-handle {
    width: 2.15rem;
    min-width: 2.15rem;
    border-radius: 12px;
}

.capability-layout--compact .capability-parameter-row .btn,
.capability-layout--compact .capability-definition-param > .btn {
    padding: .42rem .66rem;
    font-size: .74rem;
}

.capability-layout--compact .capability-preview-card {
    padding: .82rem .88rem;
    border-radius: 16px;
}

.capability-layout--compact .capability-preview-card__head {
    margin-bottom: .55rem;
    padding-bottom: .45rem;
}

.capability-layout--compact .capability-preview-card__head strong {
    font-size: .9rem;
}

.capability-layout--compact .capability-preview-card__head span {
    font-size: .73rem;
}

.capability-layout--compact .capability-preview-param-list,
.capability-layout--compact .capability-preview-cycle-list,
.capability-layout--compact .capability-preview-rows {
    gap: .45rem;
}

.capability-layout--compact .capability-preview-param-row,
.capability-layout--compact .capability-preview-cycle-row,
.capability-layout--compact .capability-preview-row {
    padding: .58rem .62rem;
    border-radius: 14px;
    gap: .55rem;
}

.capability-layout--compact .capability-preview-param-text strong,
.capability-layout--compact .capability-preview-row strong {
    font-size: .82rem;
}

.capability-layout--compact .capability-preview-param-text span,
.capability-layout--compact .capability-preview-row span,
.capability-layout--compact .capability-preview-source-summary {
    font-size: .69rem;
}

.capability-layout--compact .empty-state {
    padding: 1rem;
}


  
.capability-layout--compact .capability-sort-hint {
    display: none;
}

.capability-sortable-list {
    position: relative;
}

.capability-sortable-item {
    transition: transform .14s ease, opacity .14s ease, filter .14s ease;
}

.capability-sortable-item[draggable="true"] .visual-object-card,
.capability-sortable-item[draggable="true"].capability-definition-param,
.capability-sortable-item[draggable="true"] .capability-definition-param {
    cursor: grab;
}

.capability-sortable-item[draggable="true"]:active .visual-object-card,
.capability-sortable-item[draggable="true"].capability-definition-param:active,
.capability-sortable-item[draggable="true"] .capability-definition-param:active {
    cursor: grabbing;
}

.capability-sort-handle {
    width: 1.55rem;
    min-width: 1.55rem;
    border: 0;
    border-radius: 12px;
    background: transparent;
    grid-template-columns: repeat(2, 4px);
    gap: 4px 5px;
    box-shadow: none;
    opacity: .62;
}

.capability-sort-handle:hover {
    background: rgba(239,246,255,.78);
    opacity: 1;
}

.capability-sort-handle span {
    width: 4px;
    height: 4px;
    background: rgba(15,23,42,.66);
}

.capability-sortable-item:hover .capability-sort-handle {
    opacity: 1;
}

.capability-sortable-item.is-dragging {
    opacity: .22;
    filter: saturate(.8);
}

.capability-sortable-list.is-sorting {
    user-select: none;
}

.capability-sort-placeholder {
    border: 2px dashed rgba(37,99,235,.28);
    border-radius: 16px;
    background: linear-gradient(180deg, rgba(239,246,255,.52), rgba(248,250,252,.36));
    box-shadow: inset 0 0 0 1px rgba(255,255,255,.66);
}

.capability-drag-preview {
    z-index: 99999;
    opacity: .96;
    border-radius: 16px;
    background: rgba(255,255,255,.98);
    box-shadow: 0 18px 38px rgba(15,23,42,.20), 0 0 0 2px rgba(37,99,235,.22);
    transform: rotate(-.6deg);
}

.capability-drag-preview .visual-object-card,
.capability-drag-preview.capability-definition-param,
.capability-drag-preview .capability-definition-param {
    border-color: rgba(37,99,235,.34) !important;
    background: rgba(255,255,255,.98) !important;
    box-shadow: none !important;
}

.capability-layout--compact .capability-sortable-item--parameter {
    grid-template-columns: 1.55rem minmax(0,1fr) auto;
}

.capability-layout--compact .capability-sortable-item--group {
    grid-template-columns: 1.55rem minmax(0,1fr);
}

.capability-layout--compact .capability-sortable-item .visual-object-card,
.capability-layout--compact .capability-sortable-item.capability-definition-param {
    transition: border-color .14s ease, background .14s ease, box-shadow .14s ease, transform .14s ease;
}

.capability-layout--compact .capability-sortable-item:hover .visual-object-card,
.capability-layout--compact .capability-sortable-item.capability-definition-param:hover,
.capability-layout--compact .capability-sortable-item:hover .capability-definition-param {
    border-color: rgba(37,99,235,.22);
    background: rgba(255,255,255,.96);
    box-shadow: 0 8px 18px rgba(15,23,42,.055);
}


  
.capability-layout--compact .capability-group-list,
.capability-layout--compact .capability-definition-list,
.capability-layout--compact .capability-sortable-list {
    width: 100%;
    justify-items: stretch;
}

.capability-layout--compact .capability-sortable-item,
.capability-layout--compact .capability-sortable-item--group,
.capability-layout--compact .capability-sortable-item--parameter {
    width: 100%;
    min-width: 0;
    box-sizing: border-box;
}

.capability-layout--compact .capability-sortable-item > .visual-object-card,
.capability-layout--compact .capability-sortable-item > .capability-definition-param,
.capability-layout--compact .capability-sortable-item .visual-object-card,
.capability-layout--compact .capability-sortable-item .capability-definition-param {
    width: 100%;
    min-width: 0;
    box-sizing: border-box;
    justify-self: stretch;
}

.capability-layout--compact .capability-sortable-item--group > .visual-object-card {
    grid-column: 2;
}

.capability-layout--compact .capability-sortable-item--parameter > .capability-sort-handle {
    grid-column: 1;
}

.capability-layout--compact .capability-sortable-item--parameter > .capability-definition-param__main {
    grid-column: 2;
    min-width: 0;
}

.capability-layout--compact .capability-sortable-item--parameter > .btn {
    grid-column: 3;
}

.capability-sortable-item.is-dragging-hidden {
    display: none !important;
}

.capability-sortable-item.is-dragging {
    opacity: 1;
    filter: none;
}

.capability-sort-placeholder {
    width: 100%;
    min-width: 0;
    box-sizing: border-box;
}

.capability-drag-preview {
    width: auto;
    max-width: 36rem;
}


  
.capability-sortable-item.is-saved-flash .visual-object-card,
.capability-sortable-item.is-saved-flash .capability-definition-param {
    animation: capabilitySavedFlash 1.55s ease-out 1;
}

.capability-sortable-item.is-saved-flash .visual-object-card {
    border-color: rgba(34,197,94,.42);
    box-shadow: 0 0 0 1px rgba(34,197,94,.08);
}

.capability-sortable-item.is-saved-flash .capability-definition-param {
    border-color: rgba(34,197,94,.42);
    box-shadow: 0 0 0 1px rgba(34,197,94,.08);
}

@keyframes capabilitySavedFlash {
    0% {
        background: rgba(220,252,231,.98);
        border-color: rgba(34,197,94,.55);
        box-shadow: 0 0 0 2px rgba(34,197,94,.18), 0 10px 24px rgba(34,197,94,.10);
    }
    55% {
        background: rgba(220,252,231,.62);
        border-color: rgba(34,197,94,.34);
        box-shadow: 0 0 0 1px rgba(34,197,94,.12), 0 8px 20px rgba(15,23,42,.05);
    }
    100% {
        background: transparent;
        border-color: inherit;
        box-shadow: inherit;
    }
}


  
.capability-ajax-notice {
    margin-bottom: .85rem;
}

  
.tool-import-review-form{
  display:grid;
  grid-template-columns:minmax(150px,1fr) minmax(140px,1fr);
  gap:.45rem;
  min-width:360px;
}
.tool-import-review-form input{
  grid-column:1 / -1;
}
.tool-import-review-form .btn{
  justify-self:start;
}
.tool-import-table td small{
  display:block;
  margin-top:.25rem;
  line-height:1.35;
}
@media (max-width: 760px){
  .tool-import-review-form{
    min-width:0;
    grid-template-columns:1fr;
  }
}

  
.tool-import-group-layout{
  display:grid;
  grid-template-columns:minmax(230px, .34fr) minmax(0, 1fr);
  gap:1rem;
  align-items:start;
}
.tool-import-group-list{
  display:grid;
  gap:.5rem;
  max-height:68vh;
  overflow:auto;
  padding-right:.15rem;
}
.tool-import-group-card{
  display:block;
  text-decoration:none;
  color:inherit;
  border:1px solid rgba(15,23,42,.10);
  border-radius:var(--r-md);
  background:rgba(255,255,255,.58);
  padding:.72rem .78rem;
}
.tool-import-group-card:hover,
.tool-import-group-card:focus-visible,
.tool-import-group-card.is-active{
  border-color:rgba(37,99,235,.36);
  box-shadow:0 10px 24px rgba(15,23,42,.08);
  outline:none;
}
.tool-import-group-card strong,
.tool-import-group-card span,
.tool-import-group-card small{
  display:block;
}
.tool-import-group-card span{
  margin-top:.2rem;
  color:var(--c-muted);
  line-height:1.25;
}
.tool-import-group-card small{
  margin-top:.35rem;
  color:var(--c-soft-text);
}
.tool-import-group-detail{
  min-width:0;
}
.tool-import-group-head{
  display:flex;
  gap:1rem;
  align-items:flex-start;
  justify-content:space-between;
  margin-bottom:.85rem;
}
.tool-import-group-head h2{
  margin:.15rem 0 .15rem;
}
.tool-import-group-head p{
  margin:0;
  color:var(--c-muted);
}
.tool-import-group-badges{
  display:flex;
  flex-wrap:wrap;
  gap:.35rem;
  justify-content:flex-end;
}
.tool-import-group-review{
  display:grid;
  grid-template-columns:minmax(170px,1fr) minmax(170px,1fr);
  gap:.55rem;
  border:1px solid rgba(15,23,42,.08);
  border-radius:var(--r-lg);
  background:rgba(248,250,252,.72);
  padding:.8rem;
  margin:.8rem 0 1rem;
}
.tool-import-group-review label:nth-of-type(3){
  grid-column:1 / -1;
}
.tool-import-group-review .btn{
  align-self:end;
}
.tool-import-group-filter{
  margin-bottom:.8rem;
}
@media (max-width: 900px){
  .tool-import-group-layout{ grid-template-columns:1fr; }
  .tool-import-group-list{ max-height:none; }
  .tool-import-group-head{ flex-direction:column; }
  .tool-import-group-badges{ justify-content:flex-start; }
  .tool-import-group-review{ grid-template-columns:1fr; }
}

  
.tool-import-topline{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(260px,.34fr);
  gap:1rem;
  align-items:start;
  margin-bottom:1rem;
}
.tool-import-topline .machine-switcher{
  margin-bottom:.45rem !important;
}
.tool-import-disclosure{
  border:1px solid rgba(15,23,42,.09);
  border-radius:var(--r-lg);
  background:rgba(255,255,255,.62);
  overflow:hidden;
}
.tool-import-disclosure + .tool-import-disclosure{
  margin-top:.75rem;
}
.tool-import-disclosure > summary{
  list-style:none;
  cursor:pointer;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:1rem;
  padding:.78rem .9rem;
  color:var(--c-text);
}
.tool-import-disclosure > summary::-webkit-details-marker{ display:none; }
.tool-import-disclosure > summary::after{
  content:'+';
  display:grid;
  place-items:center;
  width:1.55rem;
  height:1.55rem;
  flex:0 0 auto;
  border-radius:999px;
  background:rgba(37,99,235,.08);
  color:var(--c-primary);
  font-weight:900;
}
.tool-import-disclosure[open] > summary::after{ content:'−'; }
.tool-import-disclosure > summary span{
  font-weight:850;
}
.tool-import-disclosure > summary small{
  display:block;
  max-width:34rem;
  color:var(--c-muted);
  line-height:1.28;
}
.tool-import-disclosure > form,
.tool-import-disclosure > .tool-import-filter,
.tool-import-disclosure > .table-wrap{
  margin:.85rem;
}
.tool-import-disclosure--upload{
  background:rgba(248,250,252,.74);
}
.tool-import-upload-form{
  padding:.85rem;
  border-top:1px solid rgba(15,23,42,.07);
}
.tool-import-group-layout{
  grid-template-columns:minmax(260px,.32fr) minmax(0,1fr);
  gap:1.1rem;
}
.tool-import-group-list{
  background:rgba(248,250,252,.58);
  border:1px solid rgba(15,23,42,.08);
  border-radius:var(--r-lg);
  padding:.55rem;
  max-height:72vh;
}
.tool-import-group-card{
  border-color:transparent;
  background:rgba(255,255,255,.70);
  box-shadow:none;
  padding:.62rem .68rem;
}
.tool-import-group-card + .tool-import-group-card{
  margin-top:.25rem;
}
.tool-import-group-card.is-active{
  background:#fff;
  border-color:rgba(37,99,235,.32);
  box-shadow:0 8px 18px rgba(15,23,42,.07);
}
.tool-import-group-card strong{
  font-size:.98rem;
}
.tool-import-group-card span{
  font-size:.83rem;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
.tool-import-group-card small{
  font-size:.76rem;
}
.tool-import-group-detail{
  background:rgba(255,255,255,.72);
  border:1px solid rgba(15,23,42,.08);
  border-radius:var(--r-xl);
  padding:1rem;
}
.tool-import-group-head{
  padding-bottom:.8rem;
  border-bottom:1px solid rgba(15,23,42,.08);
}
.tool-import-group-head h2{
  font-size:1.55rem;
  letter-spacing:-.02em;
}
.tool-import-group-badges .badge{
  white-space:nowrap;
}
.tool-import-group-review{
  grid-template-columns:minmax(160px,.8fr) minmax(160px,.8fr) minmax(220px,1.2fr) auto;
  align-items:end;
  background:rgba(248,250,252,.82);
  margin:1rem 0 1.15rem;
}
.tool-import-group-review label:nth-of-type(3){ grid-column:auto; }
.tool-import-section-title{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:1rem;
  margin:1.1rem 0 .65rem;
}
.tool-import-section-title h3{
  margin:0 0 .15rem;
}
.tool-import-section-title p{
  margin:0;
}
.tool-import-product-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
  gap:.58rem;
  margin-bottom:.9rem;
}
.tool-import-product-card{
  border:1px solid rgba(15,23,42,.08);
  border-radius:var(--r-lg);
  background:rgba(248,250,252,.68);
  padding:.72rem .78rem;
}
.tool-import-product-card strong,
.tool-import-product-card span,
.tool-import-product-card small{
  display:block;
}
.tool-import-product-card span{
  margin-top:.18rem;
  color:var(--c-muted);
  line-height:1.3;
}
.tool-import-product-card small{
  margin-top:.45rem;
  color:var(--c-soft-text);
  line-height:1.35;
}
.tool-import-disclosure--rows{
  margin-top:1rem;
  background:rgba(248,250,252,.62);
}
.tool-import-disclosure--rows .table-wrap,
.tool-import-disclosure--search .table-wrap{
  max-height:62vh;
  overflow:auto;
  border-top:1px solid rgba(15,23,42,.06);
}
.tool-import-disclosure--search .tool-import-filter{
  padding:.85rem .85rem 0;
}
.tool-import-review-form{
  gap:.38rem;
}
.tool-import-review-form select,
.tool-import-review-form input{
  min-height:2.2rem;
}
@media (max-width: 1050px){
  .tool-import-topline{ grid-template-columns:1fr; }
  .tool-import-group-review{ grid-template-columns:1fr 1fr; }
  .tool-import-group-review label:nth-of-type(3){ grid-column:1 / -1; }
}
@media (max-width: 900px){
  .tool-import-group-detail{ padding:.8rem; }
}
@media (max-width: 720px){
  .tool-import-disclosure > summary{ align-items:flex-start; flex-direction:column; }
  .tool-import-disclosure > summary::after{ position:absolute; right:.8rem; }
  .tool-import-group-review{ grid-template-columns:1fr; }
}

  
.tool-import-triage-bar{
  display:flex;
  gap:.45rem;
  flex-wrap:wrap;
  align-items:stretch;
  margin:.7rem 0 .8rem;
}
.tool-import-triage-chip{
  display:flex;
  align-items:center;
  gap:.45rem;
  text-decoration:none;
  border:1px solid rgba(15,23,42,.08);
  border-radius:999px;
  background:rgba(255,255,255,.70);
  color:var(--c-text);
  padding:.42rem .62rem;
  font-size:.78rem;
  line-height:1.1;
}
.tool-import-triage-chip span{
  max-width:14rem;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.tool-import-triage-chip strong{
  display:grid;
  place-items:center;
  min-width:1.5rem;
  height:1.5rem;
  padding:0 .35rem;
  border-radius:999px;
  background:rgba(15,23,42,.06);
  font-size:.76rem;
}
.tool-import-triage-chip.is-active{
  border-color:rgba(37,99,235,.36);
  background:rgba(37,99,235,.08);
  color:#174ea6;
}
.tool-import-triage-note{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(190px,.42fr);
  gap:.85rem;
  align-items:start;
  border:1px solid rgba(37,99,235,.14);
  border-radius:var(--r-lg);
  background:rgba(37,99,235,.045);
  padding:.82rem .9rem;
  margin:.9rem 0;
}
.tool-import-triage-note strong,
.tool-import-triage-note span,
.tool-import-triage-note small{
  display:block;
}
.tool-import-triage-note strong{
  font-size:.98rem;
}
.tool-import-triage-note span{
  margin-top:.18rem;
  color:var(--c-muted);
  line-height:1.35;
}
.tool-import-triage-note ul{
  margin:0;
  padding-left:1rem;
  color:var(--c-muted);
  font-size:.82rem;
  line-height:1.35;
}
.tool-import-triage-note small{
  grid-column:1 / -1;
  color:var(--c-soft-text);
  border-top:1px solid rgba(37,99,235,.10);
  padding-top:.55rem;
}
.tool-import-group-card em{
  display:inline-flex;
  align-self:flex-start;
  margin-top:.42rem;
  border-radius:999px;
  background:rgba(15,23,42,.06);
  padding:.22rem .48rem;
  color:var(--c-muted);
  font-size:.72rem;
  font-style:normal;
  font-weight:800;
}
.tool-import-group-card.is-active em{
  background:rgba(37,99,235,.10);
  color:#174ea6;
}
@media (max-width: 900px){
  .tool-import-triage-note{ grid-template-columns:1fr; }
  .tool-import-triage-chip span{ max-width:11rem; }
}

  
.tool-import-preview-summary{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:.65rem;
  margin:.2rem 0 .85rem;
}
.tool-import-preview-kpi{
  border:1px solid rgba(15,23,42,.08);
  border-radius:var(--r-lg);
  background:rgba(255,255,255,.72);
  padding:.78rem .85rem;
}
.tool-import-preview-kpi span,
.tool-import-preview-kpi strong,
.tool-import-preview-kpi small{
  display:block;
}
.tool-import-preview-kpi span{
  color:var(--c-muted);
  font-size:.78rem;
  font-weight:800;
  letter-spacing:.01em;
}
.tool-import-preview-kpi strong{
  margin-top:.18rem;
  font-size:1.5rem;
  line-height:1.05;
}
.tool-import-preview-kpi small{
  margin-top:.22rem;
  color:var(--c-soft-text);
  line-height:1.3;
}
.tool-import-disclosure--preview{
  margin-top:.75rem;
}
.tool-import-preview-list{
  display:grid;
  gap:.7rem;
  margin-top:.75rem;
}
.tool-import-preview-card{
  border:1px solid rgba(15,23,42,.08);
  border-radius:var(--r-xl);
  background:rgba(255,255,255,.74);
  padding:.85rem;
}
.tool-import-preview-card__head{
  display:flex;
  justify-content:space-between;
  gap:.8rem;
  align-items:flex-start;
}
.tool-import-preview-card__head strong,
.tool-import-preview-card__head span{
  display:block;
}
.tool-import-preview-card__head strong{
  font-size:1rem;
}
.tool-import-preview-card__head span{
  margin-top:.12rem;
  color:var(--c-muted);
  line-height:1.3;
}
.tool-import-preview-card__head em{
  flex:0 0 auto;
  border-radius:999px;
  padding:.28rem .58rem;
  background:rgba(15,23,42,.06);
  color:var(--c-muted);
  font-size:.72rem;
  font-style:normal;
  font-weight:900;
  white-space:nowrap;
}
.tool-import-preview-card--create_preview .tool-import-preview-card__head em,
.tool-import-preview-card--link_preview .tool-import-preview-card__head em,
.tool-import-preview-card--create_tool .tool-import-preview-card__head em{
  background:rgba(37,99,235,.10);
  color:#174ea6;
}
.tool-import-preview-card--auxiliary .tool-import-preview-card__head em,
.tool-import-preview-card--manual_split .tool-import-preview-card__head em{
  background:rgba(180,83,9,.10);
  color:#8a4b00;
}
.tool-import-preview-card--ignore .tool-import-preview-card__head em,
.tool-import-preview-card--already_linked .tool-import-preview-card__head em{
  background:rgba(15,23,42,.06);
  color:var(--c-soft-text);
}
.tool-import-preview-card__meta{
  display:flex;
  flex-wrap:wrap;
  gap:.35rem;
  margin:.65rem 0 .45rem;
}
.tool-import-preview-card__meta span{
  border-radius:999px;
  background:rgba(15,23,42,.045);
  padding:.22rem .48rem;
  color:var(--c-muted);
  font-size:.74rem;
  font-weight:800;
}
.tool-import-preview-card p{
  margin:.2rem 0 .6rem;
  color:var(--c-muted);
  line-height:1.35;
}
.tool-import-preview-products{
  display:grid;
  gap:.38rem;
  margin:.55rem 0;
}
.tool-import-preview-products > span{
  display:grid;
  grid-template-columns:7.4rem minmax(0,1fr) auto;
  gap:.5rem;
  align-items:center;
  border-radius:var(--r-md);
  background:rgba(15,23,42,.035);
  padding:.42rem .55rem;
  font-size:.82rem;
}
.tool-import-preview-products strong{
  font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono",monospace;
}
.tool-import-preview-products small{
  color:var(--c-soft-text);
  font-size:.72rem;
  white-space:nowrap;
}
@media (max-width: 1050px){
  .tool-import-preview-summary{ grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width: 720px){
  .tool-import-preview-summary{ grid-template-columns:1fr; }
  .tool-import-preview-card__head{ flex-direction:column; }
  .tool-import-preview-products > span{ grid-template-columns:1fr; gap:.12rem; }
  .tool-import-preview-products small{ white-space:normal; }
}

  
.tool-import-status-legend{
  display:flex;
  flex-wrap:wrap;
  gap:.45rem .55rem;
  align-items:center;
  margin:.8rem 0 .65rem;
  color:var(--c-muted);
  font-size:.8rem;
}
.tool-import-status{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:1.45rem;
  border-radius:999px;
  padding:.2rem .5rem;
  font-size:.72rem;
  line-height:1.05;
  font-weight:900;
  white-space:nowrap;
  border:1px solid transparent;
}
.tool-import-status--ok{
  background:rgba(22,163,74,.11);
  border-color:rgba(22,163,74,.22);
  color:#166534;
}
.tool-import-status--warn{
  background:rgba(180,83,9,.12);
  border-color:rgba(180,83,9,.23);
  color:#8a4b00;
}
.tool-import-status--bad{
  background:rgba(185,28,28,.10);
  border-color:rgba(185,28,28,.22);
  color:#991b1b;
}
.tool-import-status--neutral{
  background:rgba(15,23,42,.06);
  border-color:rgba(15,23,42,.10);
  color:var(--c-muted);
}
.tool-import-preview-table-wrap{
  margin-top:.7rem;
  overflow:auto;
  border:1px solid rgba(15,23,42,.08);
  border-radius:var(--r-xl);
  background:rgba(255,255,255,.72);
}
.tool-import-preview-table{
  width:100%;
  min-width:980px;
  border-collapse:separate;
  border-spacing:0;
  font-size:.84rem;
}
.tool-import-preview-table th{
  position:sticky;
  top:0;
  z-index:1;
  background:rgba(248,250,252,.96);
  color:var(--c-muted);
  text-align:left;
  font-size:.72rem;
  text-transform:uppercase;
  letter-spacing:.045em;
  padding:.7rem .75rem;
  border-bottom:1px solid rgba(15,23,42,.08);
}
.tool-import-preview-table td{
  vertical-align:top;
  padding:.65rem .75rem;
  border-bottom:1px solid rgba(15,23,42,.065);
}
.tool-import-preview-main-row td:first-child strong,
.tool-import-preview-main-row td:first-child small,
.tool-import-preview-main-row td small{
  display:block;
}
.tool-import-preview-main-row td:first-child strong{
  font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono",monospace;
  font-size:.9rem;
}
.tool-import-preview-main-row td:first-child small,
.tool-import-preview-main-row td small{
  margin-top:.18rem;
  color:var(--c-soft-text);
  line-height:1.25;
}
.tool-import-preview-main-row--create_preview td:first-child,
.tool-import-preview-main-row--create_tool td:first-child,
.tool-import-preview-main-row--link_preview td:first-child{
  box-shadow:inset 3px 0 0 rgba(22,163,74,.45);
}
.tool-import-preview-main-row--review_many td:first-child,
.tool-import-preview-main-row--manual_split td:first-child,
.tool-import-preview-main-row--auxiliary td:first-child,
.tool-import-preview-main-row--review td:first-child{
  box-shadow:inset 3px 0 0 rgba(180,83,9,.45);
}
.tool-import-preview-main-row--ignore td:first-child{
  box-shadow:inset 3px 0 0 rgba(185,28,28,.38);
}
.tool-import-preview-detail-row > td{
  padding:0;
  background:rgba(248,250,252,.52);
}
.tool-import-preview-details{
  margin:0;
}
.tool-import-preview-details > summary{
  cursor:pointer;
  display:flex;
  justify-content:space-between;
  gap:1rem;
  padding:.58rem .8rem;
  color:var(--c-muted);
  font-weight:850;
  list-style:none;
}
.tool-import-preview-details > summary::-webkit-details-marker{ display:none; }
.tool-import-preview-details > summary::before{
  content:"▸";
  margin-right:.38rem;
  color:var(--c-soft-text);
}
.tool-import-preview-details[open] > summary::before{ content:"▾"; }
.tool-import-preview-details > summary span{ flex:1 1 auto; }
.tool-import-preview-details > summary small{
  flex:0 1 42%;
  color:var(--c-soft-text);
  font-weight:650;
  line-height:1.25;
}
.tool-import-preview-detail-grid{
  display:grid;
  grid-template-columns:minmax(280px,.9fr) minmax(420px,1.1fr);
  gap:.85rem;
  padding:0 .8rem .85rem;
}
.tool-import-preview-detail-grid section{
  border:1px solid rgba(15,23,42,.075);
  border-radius:var(--r-lg);
  background:rgba(255,255,255,.72);
  padding:.75rem;
}
.tool-import-preview-detail-grid h4{
  margin:0 0 .55rem;
  font-size:.88rem;
}
.tool-import-product-preview-table,
.tool-import-field-table{
  display:grid;
  gap:.24rem;
}
.tool-import-product-preview-table__head,
.tool-import-product-preview-row{
  display:grid;
  grid-template-columns:7.4rem minmax(13rem,1fr) 7.3rem 7.3rem minmax(12rem,1fr);
  gap:.48rem;
  align-items:start;
}
.tool-import-product-preview-table__head,
.tool-import-field-table__head{
  color:var(--c-soft-text);
  font-size:.68rem;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.04em;
  padding:.15rem .25rem;
}
.tool-import-product-preview-row,
.tool-import-field-row{
  border-radius:var(--r-md);
  background:rgba(15,23,42,.035);
  padding:.45rem .5rem;
}
.tool-import-product-preview-row strong,
.tool-import-product-preview-row small,
.tool-import-field-row strong,
.tool-import-field-row small{
  display:block;
}
.tool-import-product-preview-row strong{
  font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono",monospace;
}
.tool-import-product-preview-row small,
.tool-import-field-row small{
  margin-top:.14rem;
  color:var(--c-soft-text);
  line-height:1.22;
}
.tool-import-field-table__head,
.tool-import-field-row{
  display:grid;
  grid-template-columns:8.8rem minmax(9rem,1fr) minmax(13rem,1.1fr) 7.8rem minmax(12rem,1.2fr);
  gap:.48rem;
  align-items:start;
}
.tool-import-field-row--ok{ box-shadow:inset 3px 0 0 rgba(22,163,74,.42); }
.tool-import-field-row--warn{ box-shadow:inset 3px 0 0 rgba(180,83,9,.42); }
.tool-import-field-row--bad{ box-shadow:inset 3px 0 0 rgba(185,28,28,.34); }
.tool-import-field-row--neutral{ box-shadow:inset 3px 0 0 rgba(15,23,42,.18); }
@media (max-width: 1080px){
  .tool-import-preview-detail-grid{ grid-template-columns:1fr; }
}
@media (max-width: 780px){
  .tool-import-preview-details > summary{ flex-direction:column; }
  .tool-import-preview-details > summary small{ flex:auto; }
  .tool-import-product-preview-table__head,
  .tool-import-product-preview-row,
  .tool-import-field-table__head,
  .tool-import-field-row{ grid-template-columns:1fr; }
}

  
.tool-import-plan-box{
  margin:.85rem .8rem .75rem;
  border:1px solid rgba(15,23,42,.08);
  border-radius:var(--r-lg);
  background:rgba(255,255,255,.74);
  padding:.78rem;
}
.tool-import-plan-box h4{
  margin:0 0 .55rem;
  font-size:.9rem;
}
.tool-import-plan-form{
  display:grid;
  gap:.55rem;
}
.tool-import-plan-form label{
  display:grid;
  gap:.28rem;
}
.tool-import-plan-form input,
.tool-import-plan-form select{
  width:100%;
}

  
.tool-import-preview-table--merged{
  min-width:1060px;
}
.tool-import-preview-table--merged th:nth-child(1){ width:26%; }
.tool-import-preview-table--merged th:nth-child(2){ width:24%; }
.tool-import-tool-cell{
  display:grid;
  gap:.28rem;
}
.tool-import-product-name-preview{
  display:grid;
  gap:.18rem;
  margin-top:.32rem;
}
.tool-import-product-name-preview span{
  display:block;
  max-width:26rem;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  border-radius:999px;
  background:rgba(37,99,235,.07);
  color:#174ea6;
  padding:.2rem .46rem;
  font-size:.73rem;
  font-weight:850;
}
.tool-import-readable-name{
  display:block;
  font-family:inherit !important;
  color:var(--c-text);
  font-weight:900;
  line-height:1.2;
}
.tool-import-triage-note--inline{
  margin:.72rem .8rem .85rem;
}
.tool-import-decision-box{
  margin:.85rem .8rem .75rem;
  border:1px solid rgba(15,23,42,.08);
  border-radius:var(--r-lg);
  background:rgba(255,255,255,.74);
  padding:.78rem;
}
.tool-import-decision-box h4{
  margin:0 0 .55rem;
  font-size:.9rem;
}
.tool-import-decision-box .tool-import-group-review{
  margin:0;
}
.tool-import-preview-footnote{
  margin:.25rem .95rem .95rem;
}
.tool-import-preview-table--merged .tool-import-status + small,
.tool-import-preview-table--merged small + .tool-import-status{
  margin-top:.25rem;
}
@media (max-width: 780px){
  .tool-import-product-name-preview span{ max-width:100%; white-space:normal; }
}

  
.tool-import-edit-disclosure{
  margin:.72rem .8rem .75rem;
  border:1px solid rgba(15,23,42,.075);
  border-radius:var(--r-lg);
  background:rgba(255,255,255,.66);
  overflow:hidden;
}
.tool-import-edit-disclosure > summary{
  cursor:pointer;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:.75rem;
  padding:.58rem .72rem;
  list-style:none;
  color:var(--c-muted);
  font-weight:900;
}
.tool-import-edit-disclosure > summary::-webkit-details-marker{ display:none; }
.tool-import-edit-disclosure > summary::before{
  content:"▸";
  color:var(--c-soft-text);
  margin-right:.28rem;
}
.tool-import-edit-disclosure[open] > summary::before{ content:"▾"; }
.tool-import-edit-disclosure > summary span{ flex:1 1 auto; }
.tool-import-edit-disclosure > summary small{
  flex:0 1 42%;
  color:var(--c-soft-text);
  font-weight:650;
  line-height:1.25;
  text-align:right;
}
.tool-import-edit-disclosure .tool-import-decision-box,
.tool-import-edit-disclosure .tool-import-plan-box{
  margin:0;
  border-width:1px 0 0;
  border-radius:0;
  background:rgba(248,250,252,.46);
}
.tool-import-preview-main-row--already_linked td:first-child,
.tool-import-preview-main-row--tool_exists td:first-child{
  box-shadow:inset 3px 0 0 rgba(15,23,42,.18);
}
@media (max-width: 780px){
  .tool-import-edit-disclosure > summary{ flex-direction:column; align-items:flex-start; }
  .tool-import-edit-disclosure > summary small{ flex:auto; text-align:left; }
}

  
.tool-import-product-block-section{
  margin:.2rem .8rem .85rem;
  border:1px solid rgba(37,99,235,.12);
  border-radius:var(--r-lg);
  background:rgba(239,246,255,.55);
  padding:.78rem;
}
.tool-import-product-block-section h4{
  margin:0 0 .35rem;
  font-size:.9rem;
}
.tool-import-product-block-section > .muted{
  margin:.1rem 0 .65rem;
}
.tool-import-product-blocks{
  display:grid;
  gap:.55rem;
}
.tool-import-product-block{
  border:1px solid rgba(15,23,42,.075);
  border-radius:var(--r-md);
  background:rgba(255,255,255,.8);
  overflow:hidden;
}
.tool-import-product-block__head{
  display:grid;
  grid-template-columns:8rem minmax(12rem,1fr) minmax(14rem,1fr);
  gap:.6rem;
  align-items:start;
  padding:.55rem .65rem;
  border-bottom:1px solid rgba(15,23,42,.06);
}
.tool-import-product-block__head strong{
  font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono",monospace;
}
.tool-import-product-block__head small{
  color:var(--c-soft-text);
  line-height:1.25;
}
.tool-import-product-block__rows{
  display:grid;
  gap:.18rem;
  padding:.45rem;
}
.tool-import-product-block-row{
  display:grid;
  grid-template-columns:5.4rem 7.2rem 7.2rem minmax(16rem,1fr);
  gap:.5rem;
  align-items:start;
  border-radius:var(--r-sm);
  padding:.36rem .42rem;
  background:rgba(15,23,42,.028);
  font-size:.82rem;
}
.tool-import-product-block-row--current{
  box-shadow:inset 3px 0 0 rgba(37,99,235,.38);
  background:rgba(219,234,254,.42);
}
.tool-import-product-block-row span:nth-child(1),
.tool-import-product-block-row span:nth-child(2),
.tool-import-product-block-row span:nth-child(3){
  font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono",monospace;
  color:var(--c-muted);
}
@media (max-width: 900px){
  .tool-import-product-block__head,
  .tool-import-product-block-row{ grid-template-columns:1fr; }
}


  
.tool-import-status--candidate{
  background:rgba(180,83,9,.12);
  border-color:rgba(180,83,9,.23);
  color:#8a4b00;
}
.tool-import-field-row--candidate{ box-shadow:inset 3px 0 0 rgba(180,83,9,.42); }

  
.tool-import-recipe-candidate-section{
  grid-column:1 / -1;
  border:1px solid rgba(180,83,9,.16) !important;
  background:rgba(255,251,235,.55) !important;
}
.tool-import-recipe-product{
  display:grid;
  gap:.55rem;
  margin-top:.65rem;
  border:1px solid rgba(180,83,9,.13);
  border-radius:var(--r-lg);
  background:rgba(255,255,255,.72);
  overflow:hidden;
}
.tool-import-recipe-product__head{
  display:grid;
  grid-template-columns:8rem minmax(14rem,1fr) minmax(16rem,1fr);
  gap:.65rem;
  align-items:start;
  padding:.58rem .68rem;
  border-bottom:1px solid rgba(180,83,9,.12);
}
.tool-import-recipe-product__head strong{
  font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono",monospace;
}
.tool-import-recipe-product__head small{
  color:#8a4b00;
  font-weight:750;
}
.tool-import-recipe-candidate-table{
  display:grid;
  gap:.18rem;
  padding:.5rem;
}
.tool-import-recipe-candidate-table__head,
.tool-import-recipe-candidate-row{
  display:grid;
  grid-template-columns:.65fr .95fr .64fr .92fr 1fr .42fr 1.25fr .62fr;
  gap:.55rem;
  align-items:start;
}
.tool-import-recipe-candidate-table__head{
  padding:.25rem .42rem .4rem;
  color:var(--c-muted);
  font-size:.72rem;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.04em;
}
.tool-import-recipe-candidate-row{
  border-radius:var(--r-md);
  padding:.48rem .52rem;
  background:rgba(15,23,42,.03);
  font-size:.8rem;
  line-height:1.25;
}
.tool-import-recipe-candidate-row--range{ box-shadow:inset 3px 0 0 rgba(180,83,9,.48); }
.tool-import-recipe-candidate-row--cycle_sequence,
.tool-import-recipe-candidate-row--cycle_range{ box-shadow:inset 3px 0 0 rgba(14,116,144,.48); }
.tool-import-recipe-candidate-row--fixed{ box-shadow:inset 3px 0 0 rgba(37,99,235,.28); }
.tool-import-recipe-candidate-row--text,
.tool-import-recipe-candidate-row--toggle{ box-shadow:inset 3px 0 0 rgba(100,116,139,.34); }
.tool-import-recipe-candidate-row strong,
.tool-import-recipe-candidate-row b{
  display:block;
  font-weight:900;
}
.tool-import-recipe-candidate-row small{
  display:block;
  color:var(--c-soft-text);
  margin-top:.14rem;
}
.tool-import-recipe-candidate-row__raw,
.tool-import-recipe-candidate-row__value,
.tool-import-recipe-candidate-row__unit,
.tool-import-recipe-candidate-row__target{
  font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono",monospace;
}
.tool-import-recipe-candidate-row__value{
  font-weight:850;
}
.tool-import-recipe-candidate-row__unit{
  font-weight:900;
  text-align:center;
}
.tool-import-recipe-candidate-note{
  margin:.15rem .65rem .65rem;
  color:var(--c-muted);
  font-size:.78rem;
}
@media (max-width: 1050px){
  .tool-import-recipe-product__head,
  .tool-import-recipe-candidate-table__head,
  .tool-import-recipe-candidate-row{ grid-template-columns:1fr; }
}

  
.tool-import-relation-blocks {
  display: grid;
  gap: .85rem;
}
.tool-import-relation-block {
  border: 1px solid rgba(20, 32, 54, .10);
  border-radius: 18px;
  background: rgba(255,255,255,.72);
  overflow: hidden;
}
.tool-import-relation-block__head {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 1rem;
  padding: .85rem 1rem;
  background: rgba(245, 248, 252, .86);
  border-bottom: 1px solid rgba(20, 32, 54, .08);
}
.tool-import-relation-block__head > div {
  display: grid;
  gap: .12rem;
}
.tool-import-relation-block__head strong {
  font-size: .98rem;
  color: var(--c-ink);
}
.tool-import-relation-block__head span {
  color: var(--c-text);
}
.tool-import-relation-block__head small {
  color: var(--c-muted);
  text-align: right;
}
.tool-import-relation-table {
  display: grid;
}
.tool-import-relation-table__head,
.tool-import-relation-row {
  display: grid;
  grid-template-columns: minmax(160px, .75fr) minmax(120px, .55fr) minmax(280px, 1.6fr) minmax(110px, .35fr);
  gap: .75rem;
  align-items: start;
  padding: .68rem 1rem;
}
.tool-import-relation-table__head {
  font-size: .72rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .045em;
  color: var(--c-muted);
  background: rgba(255,255,255,.48);
}
.tool-import-relation-row {
  border-top: 1px solid rgba(20, 32, 54, .06);
  font-size: .86rem;
}
.tool-import-relation-row strong {
  display: block;
  color: var(--c-ink);
}
.tool-import-relation-row small {
  display: block;
  margin-top: .12rem;
  color: var(--c-muted);
  line-height: 1.28;
}
.tool-import-relation-row--current {
  box-shadow: inset 4px 0 0 rgba(46, 126, 255, .44);
}
.tool-import-relation-row--ok {
  background: rgba(219, 247, 229, .40);
}
.tool-import-relation-row--warn {
  background: rgba(255, 245, 214, .48);
}
.tool-import-relation-row--bad {
  background: rgba(255, 226, 226, .42);
}
.tool-import-disclosure--extra {
  margin-top: 1rem;
}
@media (max-width: 900px) {
  .tool-import-relation-block__head,
  .tool-import-relation-table__head,
  .tool-import-relation-row {
    grid-template-columns: 1fr;
  }
  .tool-import-relation-block__head {
    display: grid;
  }
  .tool-import-relation-block__head small {
    text-align: left;
  }
}

  
.tool-import-preview-summary--simple {
  margin-bottom: .85rem;
}
.tool-import-simple-filter {
  display: flex;
  gap: .65rem;
  align-items: end;
  flex-wrap: wrap;
  margin: .9rem 0;
}
.tool-import-simple-filter label {
  min-width: 280px;
  flex: 1 1 360px;
}
.tool-import-simple-count {
  display: flex;
  gap: .6rem;
  align-items: baseline;
  padding: .65rem .8rem;
  border: 1px solid rgba(20, 32, 54, .08);
  border-radius: 14px;
  background: rgba(255,255,255,.62);
  color: var(--c-muted);
  margin-bottom: .75rem;
}
.tool-import-simple-count strong {
  color: var(--c-ink);
  font-size: 1.05rem;
}
.tool-import-simple-table-wrap {
  overflow-x: auto;
  border: 1px solid rgba(20, 32, 54, .09);
  border-radius: 16px;
  background: rgba(255,255,255,.72);
}
.tool-import-simple-table {
  width: 100%;
  border-collapse: collapse;
  min-width: 980px;
}
.tool-import-simple-table th,
.tool-import-simple-table td {
  padding: .72rem .78rem;
  border-bottom: 1px solid rgba(20, 32, 54, .07);
  vertical-align: top;
  text-align: left;
}
.tool-import-simple-table th {
  font-size: .72rem;
  text-transform: uppercase;
  letter-spacing: .045em;
  color: var(--c-muted);
  background: rgba(245, 248, 252, .78);
}
.tool-import-simple-table td strong {
  display: block;
  color: var(--c-ink);
}
.tool-import-simple-table td small {
  display: block;
  margin-top: .14rem;
  color: var(--c-muted);
  line-height: 1.32;
}
.tool-import-simple-row--ok {
  background: rgba(219, 247, 229, .34);
}
.tool-import-simple-row--warn {
  background: rgba(255, 245, 214, .44);
}
.tool-import-simple-row--bad {
  background: rgba(255, 226, 226, .38);
}
.tool-import-status-legend--simple {
  margin-top: .6rem;
}
@media (max-width: 760px) {
  .tool-import-simple-filter {
    display: grid;
  }
  .tool-import-simple-filter label {
    min-width: 0;
  }
}

  
.tool-import-basename-section {
  margin: 1rem 0 1.15rem;
  padding: .85rem;
  border: 1px solid rgba(20, 32, 54, .09);
  border-radius: 18px;
  background: rgba(255,255,255,.56);
}
.tool-import-section-head {
  display: flex;
  gap: 1rem;
  align-items: flex-start;
  justify-content: space-between;
  margin-bottom: .75rem;
}
.tool-import-section-head h3 {
  margin: 0 0 .18rem;
  font-size: 1rem;
}
.tool-import-section-head .muted {
  margin: 0;
  max-width: 760px;
}
.tool-import-simple-count--inline {
  margin: 0;
  white-space: nowrap;
}
.tool-import-basename-table-wrap {
  overflow-x: auto;
  border: 1px solid rgba(20, 32, 54, .08);
  border-radius: 16px;
  background: rgba(255,255,255,.72);
}
.tool-import-basename-table {
  width: 100%;
  min-width: 1080px;
  border-collapse: collapse;
}
.tool-import-basename-table th,
.tool-import-basename-table td {
  padding: .68rem .72rem;
  border-bottom: 1px solid rgba(20, 32, 54, .07);
  text-align: left;
  vertical-align: top;
}
.tool-import-basename-table th {
  font-size: .72rem;
  text-transform: uppercase;
  letter-spacing: .045em;
  color: var(--c-muted);
  background: rgba(245, 248, 252, .78);
}
.tool-import-basename-table td strong,
.tool-import-basename-table td small {
  display: block;
}
.tool-import-basename-table td small {
  margin-top: .16rem;
  color: var(--c-muted);
  line-height: 1.32;
}
.tool-import-basename-row--ok { background: rgba(219, 247, 229, .30); }
.tool-import-basename-row--warn { background: rgba(255, 245, 214, .40); }
.tool-import-basename-row--bad { background: rgba(255, 226, 226, .34); }
.tool-import-basename-chipline {
  display: flex;
  flex-wrap: wrap;
  gap: .28rem;
  margin-top: .34rem;
}
.tool-import-basename-chip {
  display: inline-flex;
  align-items: center;
  min-height: 1.45rem;
  padding: .12rem .42rem;
  border-radius: 999px;
  background: rgba(20, 32, 54, .06);
  color: var(--c-ink);
  font-size: .74rem;
  line-height: 1.2;
}
.tool-import-basename-chip--muted {
  color: var(--c-muted);
  background: rgba(20, 32, 54, .035);
}
.tool-import-basename-details summary {
  cursor: pointer;
  color: var(--c-accent);
  font-weight: 750;
}
.tool-import-basename-details[open] summary {
  margin-bottom: .65rem;
}
.tool-import-basename-notes {
  padding: .55rem .65rem;
  margin-bottom: .65rem;
  border-radius: 14px;
  background: rgba(245, 248, 252, .84);
}
.tool-import-basename-notes strong {
  margin-bottom: .25rem;
}
.tool-import-basename-notes ul {
  margin: .25rem 0 0 1.1rem;
  padding: 0;
  color: var(--c-muted);
  font-size: .82rem;
}
.tool-import-basename-detail-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: .75rem;
}
.tool-import-basename-detail-grid h4 {
  margin: .15rem 0 .45rem;
  font-size: .82rem;
  text-transform: uppercase;
  letter-spacing: .04em;
  color: var(--c-muted);
}
.tool-import-basename-detail-grid p {
  margin: 0 0 .42rem;
  padding: .5rem .55rem;
  border: 1px solid rgba(20, 32, 54, .07);
  border-radius: 13px;
  background: rgba(255,255,255,.66);
}
.tool-import-basename-detail-grid p strong,
.tool-import-basename-detail-grid p span,
.tool-import-basename-detail-grid p small {
  display: block;
}
.tool-import-basename-detail-grid p span {
  margin-top: .1rem;
}
.tool-import-basename-detail-grid p small {
  margin-top: .14rem;
  color: var(--c-muted);
}
@media (max-width: 900px) {
  .tool-import-section-head,
  .tool-import-basename-detail-grid {
    grid-template-columns: 1fr;
    display: grid;
  }
  .tool-import-simple-count--inline {
    white-space: normal;
  }
}

  
.tool-import-basename-list {
  display: grid;
  gap: .72rem;
}
.tool-import-basename-card {
  border: 1px solid rgba(20, 32, 54, .08);
  border-radius: 18px;
  background: rgba(255,255,255,.76);
  overflow: hidden;
}
.tool-import-basename-card--ok {
  background: linear-gradient(90deg, rgba(219, 247, 229, .68), rgba(255,255,255,.78) 28%);
}
.tool-import-basename-card--warn {
  background: linear-gradient(90deg, rgba(255, 245, 214, .76), rgba(255,255,255,.78) 28%);
}
.tool-import-basename-card--bad {
  background: linear-gradient(90deg, rgba(255, 226, 226, .72), rgba(255,255,255,.78) 28%);
}
.tool-import-basename-card__head {
  display: grid;
  grid-template-columns: minmax(260px, 1.15fr) minmax(260px, 1fr) auto;
  gap: .75rem;
  align-items: start;
  padding: .82rem .9rem .62rem;
  border-bottom: 1px solid rgba(20, 32, 54, .06);
}
.tool-import-basename-card__title h4 {
  margin: 0;
  font-size: 1rem;
  letter-spacing: -.01em;
}
.tool-import-basename-card__title small,
.tool-import-basename-card__status small {
  display: block;
  margin-top: .16rem;
  color: var(--c-muted);
  line-height: 1.35;
}
.tool-import-basename-card__meta {
  display: flex;
  flex-wrap: wrap;
  gap: .36rem;
}
.tool-import-basename-card__meta span {
  display: inline-flex;
  align-items: center;
  gap: .25rem;
  padding: .16rem .46rem;
  border-radius: 999px;
  background: rgba(20, 32, 54, .055);
  font-size: .78rem;
  color: var(--c-muted);
}
.tool-import-basename-card__meta strong {
  color: var(--c-ink);
}
.tool-import-basename-card__status {
  text-align: right;
  min-width: 92px;
}
.tool-import-basename-products {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(290px, 1fr));
  gap: .42rem;
  padding: .72rem .9rem;
}
.tool-import-basename-product {
  min-width: 0;
  padding: .52rem .58rem;
  border: 1px solid rgba(20, 32, 54, .065);
  border-radius: 14px;
  background: rgba(255,255,255,.72);
}
.tool-import-basename-product strong,
.tool-import-basename-product span,
.tool-import-basename-product small {
  display: block;
}
.tool-import-basename-product strong {
  font-size: .88rem;
}
.tool-import-basename-product span {
  margin-top: .08rem;
  font-weight: 650;
  line-height: 1.28;
}
.tool-import-basename-product small {
  margin-top: .12rem;
  color: var(--c-muted);
  font-size: .72rem;
  line-height: 1.28;
}
.tool-import-basename-product--more {
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--c-muted);
  font-weight: 750;
}
.tool-import-basename-card > .tool-import-basename-details {
  padding: 0 .9rem .82rem;
}
.tool-import-basename-card > .tool-import-basename-details summary {
  padding: .56rem 0 0;
}
@media (max-width: 980px) {
  .tool-import-basename-card__head {
    grid-template-columns: 1fr;
  }
  .tool-import-basename-card__status {
    text-align: left;
  }
}

  
.tool-import-basename-table--compact-products th:first-child,
.tool-import-basename-table--compact-products td:first-child {
  width: 48%;
}
.tool-import-basename-maincell {
  vertical-align: top;
}
.tool-import-basename-mainname {
  font-size: .96rem;
  letter-spacing: -.01em;
}
.tool-import-basename-products-under {
  margin-top: .52rem;
  display: grid;
  gap: .24rem;
}
.tool-import-basename-products-under__count {
  display: block;
  font-size: .76rem;
  font-weight: 800;
  color: var(--c-muted);
  text-transform: uppercase;
  letter-spacing: .035em;
}
.tool-import-basename-product-line {
  display: grid;
  grid-template-columns: minmax(72px, auto) minmax(0, 1fr) auto;
  gap: .45rem;
  align-items: baseline;
  max-width: 760px;
  padding: .22rem .46rem;
  border-radius: 12px;
  background: rgba(255,255,255,.58);
  border: 1px solid rgba(20, 32, 54, .055);
}
.tool-import-basename-product-line strong,
.tool-import-basename-product-line span,
.tool-import-basename-product-line small {
  display: inline;
  margin: 0;
}
.tool-import-basename-product-line strong {
  font-size: .82rem;
  white-space: nowrap;
}
.tool-import-basename-product-line span {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: .82rem;
  font-weight: 650;
}
.tool-import-basename-product-line small {
  color: var(--c-muted);
  font-size: .72rem;
  white-space: nowrap;
}
.tool-import-basename-product-line--more {
  display: inline-flex;
  width: fit-content;
  color: var(--c-muted);
  font-size: .78rem;
  font-weight: 750;
  background: rgba(20, 32, 54, .035);
}
@media (max-width: 980px) {
  .tool-import-basename-table--compact-products th:first-child,
  .tool-import-basename-table--compact-products td:first-child {
    width: auto;
  }
  .tool-import-basename-product-line {
    grid-template-columns: 1fr;
    gap: .08rem;
  }
  .tool-import-basename-product-line span {
    white-space: normal;
  }
}

  
.tool-import-basename-products-under--summary {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
  margin-top: 8px;
}
.tool-import-basename-products-under--summary small {
  color: var(--c-muted);
  font-size: .78rem;
}

  
.tool-import-addon-legend {
  margin: .65rem 0 .8rem;
  padding: .72rem .78rem;
  border: 1px solid rgba(20, 32, 54, .08);
  border-radius: 16px;
  background: rgba(255,255,255,.62);
}
.tool-import-addon-legend summary {
  cursor: pointer;
  font-weight: 850;
  color: var(--c-ink);
  letter-spacing: -.01em;
}
.tool-import-addon-legend[open] summary {
  margin-bottom: .58rem;
}
.tool-import-addon-legend__body {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: .68rem;
}
.tool-import-addon-legend__group {
  min-width: 0;
  padding: .58rem;
  border: 1px solid rgba(20, 32, 54, .065);
  border-radius: 14px;
  background: rgba(248, 250, 252, .72);
}
.tool-import-addon-legend__group > strong {
  display: block;
  margin-bottom: .45rem;
  color: var(--c-muted);
  font-size: .72rem;
  text-transform: uppercase;
  letter-spacing: .055em;
}
.tool-import-addon-legend__chips {
  display: flex;
  flex-wrap: wrap;
  gap: .34rem;
}
.tool-import-addon-legend__group--materials {
  background:
    linear-gradient(180deg, rgba(255,255,255,.78), rgba(246,248,251,.86));
}
.tool-import-addon-legend__chips--materials {
  align-items: flex-start;
  gap: .72rem;
}
.tool-import-addon-legend__group--function {
  background:
    linear-gradient(180deg, rgba(247,250,253,.92), rgba(240,244,248,.88));
}
.tool-import-addon-legend__chips--function {
  align-items: flex-start;
  gap: .72rem;
}
.tool-import-material-sphere {
  --addon-bg: linear-gradient(135deg, #eef2f7, #94a3b8);
  --addon-fg: #1f2937;
  --addon-border: rgba(20, 32, 54, .18);
  position: relative;
  isolation: isolate;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 100px;
  width: 100px;
  height: 100px;
  padding: 15px 12px 13px;
  overflow: hidden;
  border: 1px solid var(--addon-border);
  border-radius: 50%;
  background:
    radial-gradient(circle at 29% 20%, rgba(255,255,255,.86) 0 4%, rgba(255,255,255,.34) 14%, transparent 34%),
    radial-gradient(circle at 39% 34%, transparent 0 42%, rgba(0,0,0,.08) 68%, rgba(0,0,0,.38) 100%),
    var(--addon-bg);
  color: var(--addon-fg);
  box-shadow:
    inset 11px 10px 18px rgba(255,255,255,.20),
    inset -15px -18px 22px rgba(0,0,0,.22),
    0 8px 15px rgba(20,32,54,.17),
    0 2px 4px rgba(20,32,54,.12);
  text-align: center;
  vertical-align: top;
}
.tool-import-material-sphere::after {
  content: "";
  position: absolute;
  z-index: -1;
  inset: 5px;
  border-radius: 50%;
  box-shadow:
    inset 0 1px 1px rgba(255,255,255,.34),
    inset 0 -1px 2px rgba(0,0,0,.24);
  pointer-events: none;
}
.tool-import-material-sphere__label {
  display: block;
  max-width: 76px;
  color: inherit;
  font-size: .72rem;
  font-weight: 900;
  line-height: 1.04;
  letter-spacing: -.018em;
  white-space: normal;
  overflow-wrap: normal;
  word-break: normal;
  text-wrap: balance;
  text-shadow:
    0 1px 0 rgba(255,255,255,.34),
    0 -1px 1px rgba(0,0,0,.58),
    1px 0 1px rgba(0,0,0,.22);
}
.tool-import-function-sphere {
  --addon-bg:
    radial-gradient(circle at 22% 72%, rgba(255,255,255,.09) 0 1px, transparent 2px),
    radial-gradient(circle at 68% 38%, rgba(255,255,255,.07) 0 1px, transparent 2px),
    repeating-linear-gradient(135deg, #151b24 0 7px, #090d13 7px 14px);
  --addon-fg: #ffffff;
  --addon-border: rgba(5, 10, 18, .58);
  flex-direction: column;
  gap: .08rem;
  padding: 11px 9px 10px;
}
.tool-import-function-sphere__icon {
  width: 62px;
  height: 42px;
  margin: -3px 0 -1px;
  overflow: visible;
  filter: drop-shadow(0 1px 1px rgba(0,0,0,.48));
}
.tool-import-function-sphere__icon circle {
  fill: #e8eef5;
  stroke: rgba(12, 20, 31, .78);
  stroke-width: 1.5;
}
.tool-import-function-sphere__line {
  fill: none;
  stroke: #cbd5e1;
  stroke-width: 3;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.tool-import-function-sphere__bolt {
  fill: #9edcff;
  stroke: rgba(7, 24, 39, .76);
  stroke-width: 1.2;
  stroke-linejoin: round;
}
.tool-import-function-sphere .tool-import-material-sphere__label {
  max-width: 82px;
  text-shadow:
    0 -1px 1px rgba(0,0,0,.72),
    0 1px 1px rgba(255,255,255,.12);
}
.tool-import-function-sphere--diesel {
  --addon-bg:
    radial-gradient(circle at 28% 24%, rgba(255,255,255,.62) 0 4%, rgba(255,255,255,.18) 18%, transparent 38%),
    linear-gradient(145deg, #eef1f4 0%, #c8cdd3 48%, #9ea5ad 100%);
  --addon-fg: #172033;
  --addon-border: rgba(68, 77, 89, .38);
}
.tool-import-function-sphere__icon--diesel {
  height: 46px;
  margin: -5px 0 -2px;
  filter: drop-shadow(0 1px 1px rgba(255,255,255,.54));
}
.tool-import-function-sphere__shield {
  fill: rgba(255,255,255,.38);
  stroke: #4b5563;
  stroke-width: 2.4;
  stroke-linejoin: round;
}
.tool-import-function-sphere__drop {
  fill: #556274;
  stroke: rgba(255,255,255,.82);
  stroke-width: 1.4;
  stroke-linejoin: round;
}
.tool-import-function-sphere--diesel .tool-import-material-sphere__label {
  max-width: 86px;
  color: #172033;
  text-shadow:
    0 1px 0 rgba(255,255,255,.72),
    0 -1px 1px rgba(68,77,89,.24);
}
.tool-import-addon-chip {
  --addon-bg: rgba(20, 32, 54, .065);
  --addon-fg: var(--c-ink);
  --addon-border: rgba(20, 32, 54, .08);
  display: inline-flex;
  align-items: center;
  min-height: 1.65rem;
  padding: .18rem .56rem;
  border: 1px solid var(--addon-border);
  border-radius: 999px;
  background: var(--addon-bg);
  color: var(--addon-fg);
  font-size: .78rem;
  font-weight: 800;
  line-height: 1.1;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.28);
}
.tool-import-addon-chip--blau { --addon-bg: linear-gradient(135deg, #dbeafe, #2f78c4); --addon-fg: #0c2545; --addon-border: rgba(47,120,196,.34); }
.tool-import-addon-chip--rot { --addon-bg: linear-gradient(135deg, #fee2e2, #d83636); --addon-fg: #4a0f0f; --addon-border: rgba(216,54,54,.34); }
.tool-import-addon-chip--orange { --addon-bg: linear-gradient(135deg, #ffedd5, #f97316); --addon-fg: #4b2305; --addon-border: rgba(249,115,22,.34); }
.tool-import-addon-chip--gelb { --addon-bg: linear-gradient(135deg, #fef9c3, #facc15); --addon-fg: #46380a; --addon-border: rgba(250,204,21,.44); }
.tool-import-addon-chip--gruen,
.tool-import-addon-chip--apple { --addon-bg: linear-gradient(135deg, #dcfce7, #7fbf4d); --addon-fg: #14351c; --addon-border: rgba(62,138,72,.34); }
.tool-import-addon-chip--tannengruen { --addon-bg: linear-gradient(135deg, #dff5e8, #1f5b35); --addon-fg: #0f2919; --addon-border: rgba(31,91,53,.34); }
.tool-import-addon-chip--schwarz { --addon-bg: linear-gradient(135deg, #6b7280, #111827); --addon-fg: #fff; --addon-border: rgba(17,24,39,.4); }
.tool-import-addon-chip--anthrazit { --addon-bg: linear-gradient(135deg, #9ca3af, #2f3740); --addon-fg: #fff; --addon-border: rgba(47,55,64,.36); }
.tool-import-addon-chip--grau,
.tool-import-addon-chip--dunkelgrau,
.tool-import-addon-chip--mittelgrau,
.tool-import-addon-chip--hellgrau,
.tool-import-addon-chip--lichtgrau,
.tool-import-addon-chip--schiefergrau,
.tool-import-addon-chip--steingrau { --addon-bg: linear-gradient(135deg, #f3f4f6, #9ca3af); --addon-fg: #253040; --addon-border: rgba(107,114,128,.26); }
.tool-import-addon-chip--weiss { --addon-bg: linear-gradient(135deg, #fff, #f3f4f6); --addon-fg: #2f3740; --addon-border: rgba(107,114,128,.25); }
.tool-import-addon-chip--braun { --addon-bg: linear-gradient(135deg, #f1dfcf, #8b5e3c); --addon-fg: #3f2615; --addon-border: rgba(139,94,60,.34); }
.tool-import-addon-chip--beige,
.tool-import-addon-chip--natur { --addon-bg: linear-gradient(135deg, #fff7ed, #d9c2a1); --addon-fg: #4a341d; --addon-border: rgba(153,119,76,.24); }
.tool-import-addon-chip--rubinrot { --addon-bg: linear-gradient(135deg, #ffe4e6, #b60f35); --addon-fg: #fff; --addon-border: rgba(182,15,53,.38); }
.tool-import-addon-chip--berry { --addon-bg: linear-gradient(135deg, #fce7f3, #a83272); --addon-fg: #4a1030; --addon-border: rgba(168,50,114,.34); }
.tool-import-addon-chip--transluzent,
.tool-import-addon-chip--transparent { --addon-bg: linear-gradient(135deg, rgba(255,255,255,.72), rgba(219,234,254,.52)), repeating-linear-gradient(45deg, rgba(20,32,54,.06) 0 5px, rgba(255,255,255,.18) 5px 10px); --addon-fg: #253040; --addon-border: rgba(148,163,184,.28); }
.tool-import-addon-chip--gummi {
  --addon-bg:
    radial-gradient(circle at 30% 22%, rgba(255,255,255,.98) 0 7%, rgba(255,255,255,.46) 20%, transparent 40%),
    linear-gradient(145deg, #ffffff 0%, #f5f6f7 55%, #dfe3e7 100%);
  --addon-fg: #253040;
  --addon-border: rgba(107,114,128,.26);
}
.tool-import-rubber-sphere {
  flex-direction: column;
  gap: .08rem;
  padding: 12px 10px 10px;
}
.tool-import-rubber-sphere__icon {
  width: 60px;
  height: 34px;
  margin: -2px 0 0;
  overflow: visible;
  filter: drop-shadow(0 1px 0 rgba(255,255,255,.82));
}
.tool-import-rubber-sphere__body {
  fill: rgba(224,228,232,.58);
  stroke: #7b8490;
  stroke-width: 2;
}
.tool-import-rubber-sphere__compression {
  fill: none;
  stroke: #596575;
  stroke-width: 2.3;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.tool-import-rubber-sphere .tool-import-material-sphere__label {
  color: #253040;
  text-shadow:
    0 1px 0 rgba(255,255,255,.9),
    0 -1px 1px rgba(107,114,128,.18);
}
.tool-import-addon-chip--clay { --addon-bg: radial-gradient(circle at 20% 30%, rgba(255,255,255,.22), transparent 14px), linear-gradient(135deg, #f1b28e, #c26f4b); --addon-fg: #512414; --addon-border: rgba(194,111,75,.36); }
.tool-import-addon-chip--beton,
.tool-import-addon-chip--betongrau { --addon-bg: radial-gradient(circle at 14% 35%, rgba(0,0,0,.10) 0 1px, transparent 2px), radial-gradient(circle at 58% 62%, rgba(255,255,255,.35) 0 1px, transparent 2px), linear-gradient(135deg, #ece9e2, #bdb8ae); --addon-fg: #34302a; --addon-border: rgba(120,113,108,.28); }
.tool-import-addon-chip--granit-hell { --addon-bg: radial-gradient(circle at 15% 40%, #1f2937 0 1px, transparent 2px), radial-gradient(circle at 38% 66%, #9ca3af 0 2px, transparent 3px), radial-gradient(circle at 75% 33%, #4b5563 0 1px, transparent 2px), linear-gradient(135deg, #fafafa, #d4d4d8); --addon-fg: #1f2937; --addon-border: rgba(82,82,91,.25); }
.tool-import-addon-chip--granit-dunkel { --addon-bg: radial-gradient(circle at 20% 35%, #f3f4f6 0 1px, transparent 2px), radial-gradient(circle at 48% 70%, #9ca3af 0 2px, transparent 3px), radial-gradient(circle at 78% 42%, #111827 0 1px, transparent 2px), linear-gradient(135deg, #6b7280, #27272a); --addon-fg: #fff; --addon-border: rgba(39,39,42,.38); }
.tool-import-addon-chip--granit-anthrazit { --addon-bg: radial-gradient(circle at 12% 45%, #d1d5db 0 1px, transparent 2px), radial-gradient(circle at 54% 64%, #737373 0 2px, transparent 3px), radial-gradient(circle at 86% 28%, #f9fafb 0 1px, transparent 2px), linear-gradient(135deg, #3f3f46, #171717); --addon-fg: #fff; --addon-border: rgba(23,23,23,.42); }
.tool-import-addon-chip--leitfaehig { --addon-bg: linear-gradient(135deg, #4b5563, #111827); --addon-fg: #fff; --addon-border: rgba(17,24,39,.42); }
.tool-import-addon-chip--dieselbestaendig { --addon-bg: linear-gradient(135deg, #eef1f4, #aab1b9); --addon-fg: #172033; --addon-border: rgba(68,77,89,.34); }
.tool-import-addon-chip--leitfaehig:not(.tool-import-material-sphere)::before {
  content: "↯";
  margin-right: .24rem;
  color: #b9e5ff;
  font-size: .88em;
  line-height: 1;
}
.tool-import-addon-chip--recyclat,
.tool-import-addon-chip--rezyklat,
.tool-import-addon-chip--recycling { --addon-bg: linear-gradient(135deg, #dcfce7, #bbf7d0); --addon-fg: #14532d; --addon-border: rgba(34,197,94,.28); }
.tool-import-addon-chip--roh,
.tool-import-addon-chip--rotationsteil,
.tool-import-addon-chip--komplett,
.tool-import-addon-chip--ek { --addon-bg: rgba(20, 32, 54, .06); --addon-fg: var(--c-ink); --addon-border: rgba(20, 32, 54, .09); }
.tool-import-addon-legend__active-filter {
  display: flex;
  align-items: center;
  gap: .5rem;
  flex-wrap: wrap;
  margin: .62rem 0 .18rem;
  padding: .5rem .58rem;
  border: 1px solid rgba(20, 32, 54, .08);
  border-radius: 12px;
  background: rgba(248, 250, 252, .9);
}
.tool-import-addon-legend__active-filter strong {
  color: var(--c-ink);
  font-size: .8rem;
}
.tool-import-addon-legend__active-filter span {
  display: inline-flex;
  align-items: center;
  min-height: 1.6rem;
  padding: .14rem .55rem;
  border-radius: 999px;
  background: rgba(20, 32, 54, .07);
  color: var(--c-ink);
  font-size: .79rem;
  font-weight: 800;
}
.tool-import-legend-filter {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  text-decoration: none;
}
.tool-import-legend-filter:focus-visible {
  outline: 2px solid rgba(31, 111, 235, .42);
  outline-offset: 4px;
}
.tool-import-legend-filter:hover .tool-import-material-sphere,
.tool-import-legend-filter:focus-visible .tool-import-material-sphere {
  transform: translateY(-1px);
  box-shadow:
    inset 11px 10px 18px rgba(255,255,255,.20),
    inset -15px -18px 22px rgba(0,0,0,.22),
    0 11px 18px rgba(20,32,54,.2),
    0 3px 6px rgba(20,32,54,.13);
}
.tool-import-legend-filter.is-active .tool-import-material-sphere {
  box-shadow:
    inset 11px 10px 18px rgba(255,255,255,.20),
    inset -15px -18px 22px rgba(0,0,0,.22),
    0 0 0 4px rgba(31,111,235,.18),
    0 10px 17px rgba(20,32,54,.2),
    0 3px 6px rgba(20,32,54,.13);
}
.tool-import-addon-legend__hint {
  margin: .56rem 0 0;
  color: var(--c-muted);
  font-size: .78rem;
}
@media (max-width: 980px) {
  .tool-import-addon-legend__body { grid-template-columns: 1fr; }
}

  
.tool-import-basename-pagination {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .7rem;
  flex-wrap: wrap;
  margin: .65rem 0 .8rem;
  padding: .56rem .64rem;
  border: 1px solid rgba(20, 32, 54, .075);
  border-radius: 14px;
  background: rgba(248, 250, 252, .76);
}
.tool-import-basename-pagination--bottom {
  margin: .8rem 0 0;
}
.tool-import-basename-pagination__text {
  display: grid;
  gap: .08rem;
  min-width: min(260px, 100%);
}
.tool-import-basename-pagination__text strong {
  color: var(--c-ink);
  font-size: .86rem;
  letter-spacing: -.01em;
}
.tool-import-basename-pagination__text span {
  color: var(--c-muted);
  font-size: .76rem;
}
.tool-import-basename-pagination__actions {
  display: flex;
  gap: .42rem;
  flex-wrap: wrap;
  align-items: center;
}
@media (max-width: 720px) {
  .tool-import-basename-pagination {
    align-items: stretch;
  }
  .tool-import-basename-pagination__actions {
    width: 100%;
  }
}


  
.tool-import-basename-pagination__limit,
.tool-import-basename-pagination__pages {
  display: inline-flex;
  align-items: center;
  gap: .28rem;
  flex-wrap: wrap;
}
.tool-import-basename-pagination__limit {
  padding: .18rem .22rem;
  border-radius: 999px;
  background: rgba(255,255,255,.62);
  border: 1px solid rgba(20,32,54,.06);
}
.tool-import-basename-pagination__limit span {
  color: var(--c-muted);
  font-size: .74rem;
  padding: 0 .28rem 0 .2rem;
}
.tool-import-basename-pagination__limit a,
.tool-import-basename-pagination__limit strong,
.tool-import-basename-pagination__pages a,
.tool-import-basename-pagination__pages strong {
  min-width: 1.85rem;
  min-height: 1.7rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: .28rem .48rem;
  border-radius: 999px;
  font-size: .76rem;
  line-height: 1;
  text-decoration: none;
  border: 1px solid rgba(20,32,54,.08);
}
.tool-import-basename-pagination__limit a,
.tool-import-basename-pagination__pages a {
  color: var(--c-ink);
  background: rgba(255,255,255,.7);
}
.tool-import-basename-pagination__limit strong,
.tool-import-basename-pagination__pages strong {
  color: #fff;
  background: var(--c-accent);
  border-color: rgba(30, 96, 255, .24);
}
.tool-import-basename-pagination__ellipsis {
  color: var(--c-muted);
  padding: 0 .06rem;
}

  
.tool-import-basename-table--dense {
  min-width: 1120px;
}
.tool-import-basename-table--dense th,
.tool-import-basename-table--dense td {
  padding: .38rem .56rem;
  vertical-align: middle;
}
.tool-import-basename-table--dense th {
  font-size: .68rem;
}
.tool-import-basename-table--dense th:nth-child(1),
.tool-import-basename-table--dense td:nth-child(1) { width: 38%; }
.tool-import-basename-table--dense th:nth-child(2),
.tool-import-basename-table--dense td:nth-child(2) { width: 28%; }
.tool-import-basename-table--dense th:nth-child(3),
.tool-import-basename-table--dense td:nth-child(3) { width: 18%; }
.tool-import-basename-table--dense th:nth-child(4),
.tool-import-basename-table--dense td:nth-child(4) { width: 8.5rem; }
.tool-import-basename-table--dense th:nth-child(5),
.tool-import-basename-table--dense td:nth-child(5) { width: 8rem; }
.tool-import-basename-table--dense .tool-import-basename-mainname {
  display: block;
  font-size: .88rem;
  line-height: 1.22;
}
.tool-import-basename-qualifierline,
.tool-import-basename-countline {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: .24rem;
}
.tool-import-basename-qualifier-chip,
.tool-import-basename-count-chip {
  display: inline-flex;
  align-items: center;
  min-height: 1.38rem;
  padding: .08rem .38rem;
  border-radius: 999px;
  font-size: .71rem;
  line-height: 1.1;
  white-space: nowrap;
}
.tool-import-basename-qualifier-chip {
  color: var(--c-muted);
  background: rgba(20, 32, 54, .045);
  border: 1px solid rgba(20, 32, 54, .06);
}
.tool-import-basename-qualifier-chip--muted,
.tool-import-basename-empty {
  color: var(--c-muted);
  background: rgba(20, 32, 54, .028);
}
.tool-import-basename-count-chip {
  color: var(--c-ink);
  background: rgba(255,255,255,.62);
  border: 1px solid rgba(20, 32, 54, .065);
}
.tool-import-basename-count-chip strong {
  display: inline;
  margin-right: .18rem;
  font-size: .76rem;
}
.tool-import-basename-statuscell .tool-import-status {
  white-space: nowrap;
}
.tool-import-basename-detailcell {
  white-space: nowrap;
}
.tool-import-basename-table--dense .tool-import-basename-details summary {
  font-size: .82rem;
  line-height: 1.15;
}
.tool-import-basename-table--dense .tool-import-basename-details[open] summary {
  margin-bottom: .5rem;
}
.tool-import-basename-table--dense .tool-import-basename-notes,
.tool-import-basename-table--dense .tool-import-basename-detail-grid {
  white-space: normal;
}
@media (max-width: 980px) {
  .tool-import-basename-table--dense {
    min-width: 980px;
  }
  .tool-import-basename-table--dense th:nth-child(1),
  .tool-import-basename-table--dense td:nth-child(1),
  .tool-import-basename-table--dense th:nth-child(2),
  .tool-import-basename-table--dense td:nth-child(2) {
    width: auto;
  }
}

  
.tool-import-basename-list-wrap {
  overflow-x: auto;
}
.tool-import-basename-list-wrap .tool-import-basename-list {
  display: grid;
  gap: 0;
  min-width: 1120px;
}
.tool-import-basename-list-head,
.tool-import-basename-group__summary {
  display: grid;
  grid-template-columns: minmax(280px, 1.55fr) minmax(190px, 1.05fr) minmax(190px, .95fr) 8.5rem 8rem;
  align-items: center;
  gap: .56rem;
}
.tool-import-basename-list-head {
  padding: .36rem .56rem;
  font-size: .68rem;
  font-weight: 850;
  text-transform: uppercase;
  letter-spacing: .045em;
  color: var(--c-muted);
  background: rgba(245, 248, 252, .78);
  border-bottom: 1px solid rgba(20, 32, 54, .07);
}
.tool-import-basename-group {
  border-bottom: 1px solid rgba(20, 32, 54, .065);
}
.tool-import-basename-group:last-child {
  border-bottom: 0;
}
.tool-import-basename-group__summary {
  min-height: 2.75rem;
  padding: .34rem .56rem;
  cursor: pointer;
  list-style: none;
}
.tool-import-basename-group__summary::-webkit-details-marker {
  display: none;
}
.tool-import-basename-group__summary::before {
  content: none;
}
.tool-import-basename-group[open] .tool-import-basename-group__summary {
  border-bottom: 1px solid rgba(20, 32, 54, .065);
  background: rgba(255,255,255,.28);
}
.tool-import-basename-detail-trigger {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: max-content;
  padding: .18rem .5rem;
  border-radius: 999px;
  color: var(--c-accent);
  background: rgba(30, 96, 255, .07);
  font-size: .78rem;
  font-weight: 800;
  line-height: 1;
}
.tool-import-basename-group[open] .tool-import-basename-detail-trigger {
  font-size: 0;
}
.tool-import-basename-group[open] .tool-import-basename-detail-trigger::after {
  content: 'ausblenden';
  font-size: .78rem;
}
.tool-import-basename-details-panel {
  padding: .64rem .7rem .78rem;
  background: rgba(255,255,255,.38);
}
.tool-import-basename-details-panel .tool-import-basename-notes {
  max-width: 820px;
  margin-bottom: .7rem;
}
.tool-import-basename-details-panel .tool-import-basename-detail-grid {
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.35fr);
  gap: .7rem;
}
.tool-import-basename-details-panel .tool-import-basename-detail-grid p {
  margin-bottom: .34rem;
  padding: .42rem .5rem;
}
@media (max-width: 980px) {
  .tool-import-basename-list-wrap .tool-import-basename-list,
  .tool-import-basename-list-head,
  .tool-import-basename-group__summary {
    min-width: 980px;
  }
  .tool-import-basename-list-head,
  .tool-import-basename-group__summary {
    grid-template-columns: minmax(240px, 1.35fr) minmax(160px, 1fr) minmax(160px, .9fr) 7.5rem 7rem;
  }
}

  
.tool-import-basename-qualifierline {
  align-items: center;
  gap: .22rem;
  max-width: 100%;
}
.tool-import-basename-qualifier-chip.tool-import-addon-chip {
  min-height: 1.26rem;
  padding: .06rem .34rem;
  font-size: .66rem;
  line-height: 1.05;
  color: var(--addon-fg);
  background: var(--addon-bg);
  border-color: var(--addon-border);
  box-shadow: none;
}
.tool-import-addon-chip--verpackt {
  --addon-bg: rgba(20, 32, 54, .06);
  --addon-fg: var(--c-ink);
  --addon-border: rgba(20, 32, 54, .09);
}
.tool-import-basename-details-panel {
  padding: .46rem .58rem .62rem;
}
.tool-import-basename-detail-list {
  display: grid;
  gap: .54rem;
}
.tool-import-basename-detail-list section {
  min-width: 0;
}
.tool-import-basename-detail-list h4 {
  margin: 0 0 .25rem;
  font-size: .68rem;
  text-transform: uppercase;
  letter-spacing: .055em;
  color: var(--c-muted);
}
.tool-import-basename-detail-row {
  display: grid;
  grid-template-columns: minmax(92px, .16fr) minmax(240px, .9fr) minmax(260px, 1fr) minmax(80px, .16fr);
  align-items: center;
  gap: .5rem;
  margin: 0;
  padding: .24rem .42rem;
  min-height: 1.9rem;
  border-top: 1px solid rgba(20, 32, 54, .055);
  background: rgba(255,255,255,.30);
  font-size: .78rem;
}
.tool-import-basename-detail-row:first-of-type {
  border-top: 0;
}
.tool-import-basename-detail-row strong {
  font-size: .78rem;
  color: var(--c-ink);
  white-space: nowrap;
}
.tool-import-basename-detail-row span {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.tool-import-basename-detail-row__name {
  color: var(--c-ink);
}
.tool-import-basename-detail-row__original {
  color: var(--c-muted);
  font-size: .75rem;
}
.tool-import-basename-detail-row__original::before {
  content: 'Original: ';
  color: rgba(93, 107, 129, .72);
  font-weight: 750;
}
.tool-import-basename-detail-row small {
  color: var(--c-muted);
  text-align: right;
  white-space: nowrap;
}
.tool-import-basename-detail-row--empty {
  grid-template-columns: 1fr;
  color: var(--c-muted);
}
.tool-import-basename-detail-row--empty span {
  color: var(--c-muted);
}
@media (max-width: 980px) {
  .tool-import-basename-detail-row {
    grid-template-columns: 110px minmax(220px, .9fr) minmax(240px, 1fr) 78px;
  }
}

  
.tool-import-basename-material-review {
  padding-top: .12rem;
}
.tool-import-material-detail-table {
  display: grid;
  gap: .18rem;
  border: 1px solid rgba(20, 32, 54, .055);
  border-radius: 13px;
  background: rgba(255,255,255,.52);
  padding: .28rem;
}
.tool-import-material-detail-row {
  display: grid;
  grid-template-columns: minmax(11rem, .95fr) minmax(6.8rem, .42fr) minmax(14rem, 1fr) minmax(5.8rem, .28fr) minmax(10rem, .72fr);
  gap: .48rem;
  align-items: center;
  padding: .32rem .42rem;
  border: 1px solid rgba(20, 32, 54, .045);
  border-radius: 11px;
  background: rgba(248, 250, 252, .58);
  font-size: .76rem;
}
.tool-import-material-detail-row--head {
  background: transparent;
  border-color: transparent;
  padding-top: .02rem;
  padding-bottom: .02rem;
  color: var(--c-muted);
  font-size: .64rem;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .055em;
}
.tool-import-material-detail-row--confirmed {
  border-color: rgba(25, 135, 84, .16);
  background: rgba(240, 253, 244, .58);
}
.tool-import-material-detail-row--check {
  border-color: rgba(245, 158, 11, .22);
  background: rgba(255, 251, 235, .72);
}
.tool-import-material-detail-row strong,
.tool-import-material-detail-row small {
  display: block;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.tool-import-material-detail-row strong {
  color: var(--c-ink);
  font-size: .77rem;
  font-weight: 850;
}
.tool-import-material-detail-row small {
  margin-top: .08rem;
  color: var(--c-muted);
  font-size: .67rem;
  line-height: 1.25;
}
.tool-import-material-detail-row--confirmed > span:last-child strong {
  color: #166534;
}
.tool-import-material-detail-row--check > span:last-child strong {
  color: #92400e;
}
@media (max-width: 980px) {
  .tool-import-material-detail-row {
    grid-template-columns: 1fr;
    align-items: stretch;
  }
  .tool-import-material-detail-row--head {
    display: none;
  }
}

  
.tool-import-basename-detail-row--material {
  grid-template-columns: minmax(92px, .16fr) minmax(240px, .9fr) minmax(360px, 1.2fr) minmax(78px, .14fr);
}
.tool-import-basename-detail-row--material-confirmed {
  background: rgba(240, 253, 244, .38);
}
.tool-import-basename-detail-row--material-confirmed small {
  color: #166534;
  font-weight: 850;
}
.tool-import-basename-detail-row--material-check {
  background: rgba(255, 251, 235, .42);
}
.tool-import-basename-detail-row--material-check small {
  color: #92400e;
  font-weight: 850;
}

.tool-import-basename-detail-row--material .tool-import-basename-detail-row__original::before {
  content: 'Produktbezug: ';
}
@media (max-width: 980px) {
  .tool-import-basename-detail-row--material {
    grid-template-columns: 110px minmax(220px, .9fr) minmax(300px, 1.2fr) 78px;
  }
}

  
.tool-import-status--material_warn{
    background: var(--warning-soft, #fff7d6);
    color: var(--warning-strong, #7a5600);
    border-color: rgba(180, 130, 0, .28);
}
.tool-import-basename-row--material_warn > summary{
    background: linear-gradient(90deg, rgba(255,247,214,.75), rgba(255,255,255,.9));
}

  
.tool-import-status--tool_warn{
    background: var(--warning-soft, #fff7d6);
    color: var(--warning-strong, #7a5600);
    border-color: rgba(180, 130, 0, .28);
}
.tool-import-basename-row--tool_warn > summary{
    background: linear-gradient(90deg, rgba(255,247,214,.75), rgba(255,255,255,.9));
}

  
.tool-import-basename-pagination__limit strong,
.tool-import-basename-pagination__pages strong {
  color: #1e3a8a;
  background: linear-gradient(180deg, #eff6ff, #dbeafe);
  border-color: rgba(37, 99, 235, .32);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.75), 0 0 0 1px rgba(37,99,235,.05);
  text-shadow: none;
}
.tool-import-basename-pagination__limit--material strong,
.tool-import-basename-pagination__limit--sort strong {
  color: #1e293b;
  background: #ffffff;
  border-color: rgba(37, 99, 235, .38);
  box-shadow: inset 0 0 0 1px rgba(37,99,235,.18), 0 2px 8px rgba(37,99,235,.08);
}
.tool-import-basename-pagination__limit strong:focus-visible,
.tool-import-basename-pagination__limit a:focus-visible,
.tool-import-basename-pagination__pages strong:focus-visible,
.tool-import-basename-pagination__pages a:focus-visible {
  outline: 2px solid rgba(37,99,235,.45);
  outline-offset: 2px;
}

  
.tool-import-basename-detail-row--material-child {
  margin-left: 1.05rem;
  width: calc(100% - 1.05rem);
  grid-template-columns: minmax(110px, .18fr) minmax(240px, .9fr) minmax(260px, 1fr) minmax(78px, .14fr);
  min-height: 1.66rem;
  padding-top: .18rem;
  padding-bottom: .18rem;
  font-size: .74rem;
  border-top-color: rgba(20, 32, 54, .04);
}
.tool-import-basename-detail-row--material-child strong span[aria-hidden="true"] {
  color: rgba(37, 99, 235, .78);
  font-weight: 900;
  margin-right: .1rem;
}
.tool-import-basename-detail-row--material-child .tool-import-basename-detail-row__original::before {
  content: '';
}
.tool-import-basename-detail-row--material-child + .tool-import-basename-detail-row:not(.tool-import-basename-detail-row--material-child) {
  margin-top: .18rem;
}
@media (max-width: 980px) {
  .tool-import-basename-detail-row--material-child {
    margin-left: .55rem;
    width: calc(100% - .55rem);
    grid-template-columns: 110px minmax(220px, .9fr) minmax(240px, 1fr) 78px;
  }
}

  
.tool-import-basename-detail-row--structure-root {
  border-left: 3px solid transparent;
}
.tool-import-basename-detail-row--processing-group {
  border-left-color: rgba(37, 99, 235, .52);
  background: rgba(239, 246, 255, .58);
}
.tool-import-basename-detail-row--structure-root small {
  color: #315a93;
  font-weight: 750;
}
.tool-import-basename-detail-row--structure-child {
  margin-left: 1.05rem;
  width: calc(100% - 1.05rem);
  grid-template-columns: minmax(110px, .18fr) minmax(240px, .9fr) minmax(260px, 1fr) minmax(78px, .14fr);
  min-height: 1.72rem;
  padding-top: .18rem;
  padding-bottom: .18rem;
  font-size: .74rem;
  border-top-color: rgba(20, 32, 54, .04);
  background: rgba(248, 250, 252, .72);
}
.tool-import-basename-detail-row--structure-child strong span[aria-hidden="true"] {
  color: rgba(37, 99, 235, .78);
  font-weight: 900;
  margin-right: .1rem;
}
.tool-import-basename-detail-row--structure-child .tool-import-basename-detail-row__original::before {
  content: '';
}
.tool-import-basename-detail-row--structure-confirmed small {
  color: #166534;
  font-weight: 750;
}
.tool-import-basename-detail-row--material-child.tool-import-basename-detail-row--depth-2 {
  margin-left: 2.1rem;
  width: calc(100% - 2.1rem);
}
@media (max-width: 980px) {
  .tool-import-basename-detail-row--structure-child {
    margin-left: .55rem;
    width: calc(100% - .55rem);
    grid-template-columns: 110px minmax(220px, .9fr) minmax(240px, 1fr) 78px;
  }
  .tool-import-basename-detail-row--material-child.tool-import-basename-detail-row--depth-2 {
    margin-left: 1.1rem;
    width: calc(100% - 1.1rem);
  }
}
.tool-import-product-structure-badge {
  display: inline-flex;
  align-items: center;
  max-width: 17rem;
  margin-left: .34rem;
  padding: .06rem .34rem;
  border: 1px solid rgba(37, 99, 235, .16);
  border-radius: 999px;
  color: #315a93;
  background: rgba(239, 246, 255, .82);
  font-size: .64rem;
  font-weight: 780;
  line-height: 1.1;
  vertical-align: .08rem;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

  
.tool-import-basename-detail-row--identification {
  border-left: 2px solid rgba(14, 116, 144, .34);
  background: rgba(236, 254, 255, .56);
}
.tool-import-basename-detail-row--identification strong {
  color: #155e75;
}
.tool-import-basename-detail-row--identification small {
  color: #7c5a10;
  font-weight: 750;
}
.tool-import-basename-detail-row--identification.tool-import-basename-detail-row--structure-confirmed small {
  color: #166534;
}

  
.tool-import-current {
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(330px, .75fr);
  gap: 1rem;
  align-items: start;
}
.tool-import-current__identity {
  min-width: 0;
  padding: .15rem .1rem;
}
.tool-import-current__eyebrow {
  display: block;
  margin-bottom: .24rem;
  color: var(--c-muted);
  font-size: .7rem;
  font-weight: 850;
  letter-spacing: .065em;
  text-transform: uppercase;
}
.tool-import-current__identity > strong {
  display: block;
  color: var(--c-ink);
  font-size: 1.18rem;
  line-height: 1.2;
  letter-spacing: -.015em;
}
.tool-import-current__identity p {
  margin: .3rem 0 .15rem;
  color: var(--c-text);
  font-size: .84rem;
}
.tool-import-current__identity small {
  display: block;
  color: var(--c-muted);
  line-height: 1.35;
}
.tool-import-current__controls {
  display: grid;
  gap: .55rem;
}
.tool-import-current__controls .machine-switcher {
  margin: 0 !important;
}
.tool-import-current__controls .tool-import-disclosure--upload > summary {
  padding: .64rem .74rem;
}
.tool-import-basename-workspace > .tool-import-simple-filter {
  margin: 0 0 .72rem;
}
.tool-import-basename-workspace .tool-import-basename-section {
  margin-top: 0;
}
@media (max-width: 980px) {
  .tool-import-current { grid-template-columns: 1fr; }
}

 

 
.master-page {
    background:
        radial-gradient(circle at top right, rgba(32, 97, 174, .055), transparent 32rem),
        var(--c-bg);
}

.master-workspace {
    display: grid;
    gap: 1rem;
}

.master-nav {
    display: flex;
    flex-wrap: wrap;
    gap: .35rem;
    padding: .35rem;
    background: rgba(255, 255, 255, .82);
    border: 1px solid var(--c-border);
    border-radius: var(--r-lg);
    box-shadow: var(--shadow-sm);
}

.master-nav__link {
    min-height: 2.55rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: .65rem .95rem;
    border-radius: .55rem;
    color: var(--c-muted);
    font-weight: 700;
    text-decoration: none;
}

.master-nav__link:hover,
.master-nav__link:focus-visible {
    color: var(--c-primary);
    background: var(--c-primary-soft);
    text-decoration: none;
}

.master-nav__link.is-active {
    color: #fff;
    background: var(--c-primary);
    box-shadow: 0 .25rem .75rem rgba(32, 97, 174, .18);
}

.master-weekbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 1rem 1.1rem;
    background: var(--c-surface);
    border: 1px solid var(--c-border);
    border-radius: var(--r-lg);
    box-shadow: var(--shadow-sm);
}

.master-weekbar__title {
    display: grid;
    gap: .1rem;
}

.master-weekbar__title > span,
.master-row-label,
.master-case-row span,
.master-shift-focus > span,
.master-team-card__eyebrow {
    color: var(--c-muted);
    font-size: .72rem;
    font-weight: 800;
    letter-spacing: .07em;
    text-transform: uppercase;
}

.master-weekbar__title strong {
    font-size: clamp(1.15rem, 2vw, 1.55rem);
    line-height: 1.15;
}

.master-weekbar__title small {
    color: var(--c-muted);
}

.master-weekbar__actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: .45rem;
}

.master-metrics {
    margin: 0;
}

.master-team-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1rem;
}

.master-team-card {
    min-width: 0;
    display: grid;
    gap: 1rem;
    padding: 1.1rem;
    background: var(--c-surface);
    border: 1px solid var(--c-border);
    border-radius: var(--r-xl);
    box-shadow: var(--shadow-sm);
    position: relative;
    overflow: hidden;
}

.master-team-card::before {
    content: "";
    position: absolute;
    inset: 0 auto 0 0;
    width: .24rem;
    background: #cbd5e1;
}

.master-team-card.is-current {
    border-color: rgba(32, 97, 174, .45);
    box-shadow: 0 .55rem 1.45rem rgba(32, 97, 174, .1);
}

.master-team-card.is-current::before {
    background: var(--c-primary);
}

.master-team-card__head {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: .8rem;
}

.master-team-card__head h2 {
    margin: .1rem 0 0;
    font-size: 1.2rem;
}

.master-team-symbol {
    width: 3.15rem;
    height: 3.15rem;
    display: grid;
    place-items: center;
    border-radius: .85rem;
    background: #f1f5f9;
    border: 1px solid #dbe3ec;
    color: #1f2937;
    font-size: 2rem;
    line-height: 1;
}

.master-live-chip {
    display: inline-flex;
    align-items: center;
    min-height: 1.8rem;
    padding: .3rem .55rem;
    border-radius: var(--r-pill);
    background: var(--c-info-bg);
    color: var(--c-info-text);
    font-size: .75rem;
    font-weight: 800;
    white-space: nowrap;
}

.master-live-chip::before {
    content: "";
    width: .45rem;
    height: .45rem;
    margin-right: .35rem;
    border-radius: 50%;
    background: currentColor;
    box-shadow: 0 0 0 .2rem rgba(7, 89, 133, .12);
}

.master-shift-focus {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: .15rem .7rem;
    align-items: end;
    padding: .9rem;
    background: var(--c-soft);
    border: 1px solid #e5e7eb;
    border-radius: .75rem;
}

.master-shift-focus > span {
    grid-column: 1 / -1;
}

.master-shift-focus strong {
    font-size: 1.12rem;
}

.master-shift-focus small {
    color: var(--c-muted);
    font-weight: 700;
}

.master-role-pair {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .7rem;
}

.master-role-pair > div {
    min-width: 0;
    display: grid;
    gap: .2rem;
    padding: .75rem;
    border: 1px solid #e5e7eb;
    border-radius: .65rem;
}

.master-role-pair span {
    color: var(--c-muted);
    font-size: .76rem;
}

.master-role-pair strong {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: .9rem;
}

.master-team-card__foot {
    display: flex;
    justify-content: space-between;
    gap: .7rem;
    padding-top: .75rem;
    border-top: 1px solid #e5e7eb;
    color: var(--c-muted);
    font-size: .8rem;
}

.master-foundation-notice {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: .3rem 1rem;
}

.master-foundation-notice strong,
.master-foundation-notice span {
    grid-column: 1;
}

.master-foundation-notice .btn {
    grid-column: 2;
    grid-row: 1 / span 2;
}

.master-overview-lower {
    margin-top: 0;
}

.master-week-sequence {
    display: grid;
    gap: .55rem;
}

.master-week-sequence > div {
    display: grid;
    grid-template-columns: 2.5rem minmax(0, 1fr) auto;
    gap: .7rem;
    align-items: center;
    padding: .75rem .85rem;
    background: var(--c-soft);
    border: 1px solid #e5e7eb;
    border-radius: .65rem;
}

.master-week-sequence__symbol {
    font-size: 1.5rem;
    text-align: center;
}

.master-week-sequence > div > span:last-child {
    color: var(--c-primary-text);
    font-weight: 800;
}

.master-team-grid--compact .master-role-pair {
    display: none;
}

.master-schedule {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1rem;
}

.master-schedule__team {
    min-width: 0;
    display: grid;
    gap: .8rem;
    align-content: start;
    padding: .9rem;
    background: var(--c-soft);
    border: 1px solid #e5e7eb;
    border-radius: .75rem;
}

.master-schedule__team-head {
    display: flex;
    align-items: center;
    gap: .65rem;
}

.master-schedule__team-head > span {
    width: 2.4rem;
    height: 2.4rem;
    display: grid;
    place-items: center;
    border-radius: .6rem;
    background: #fff;
    border: 1px solid #dbe3ec;
    font-size: 1.4rem;
}

.master-schedule__team-head > div {
    display: grid;
}

.master-schedule__team-head small {
    color: var(--c-muted);
}

.master-schedule__rows {
    display: grid;
    gap: .35rem;
}

.master-schedule-row {
    display: grid;
    grid-template-columns: 2rem 1fr auto 1fr;
    gap: .35rem;
    align-items: center;
    padding: .55rem .6rem;
    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: .55rem;
    font-size: .8rem;
}

.master-schedule-row > span:first-child {
    color: var(--c-muted);
    font-weight: 800;
}

.master-schedule-row > span:nth-child(3) {
    color: var(--c-muted);
    text-align: center;
}

.master-schedule-row > strong:last-of-type {
    text-align: right;
}

.master-schedule-row small {
    grid-column: 1 / -1;
    color: var(--c-info-text);
    font-weight: 800;
}

.master-schedule-row.is-live {
    border-color: rgba(32, 97, 174, .38);
    background: var(--c-primary-soft);
}

.master-employee-list,
.master-case-list {
    display: grid;
    gap: .45rem;
}

.master-employee-row {
    display: grid;
    grid-template-columns: minmax(15rem, 1.7fr) repeat(4, minmax(7rem, 1fr)) auto;
    gap: .75rem;
    align-items: center;
    padding: .75rem;
    border: 1px solid #e5e7eb;
    border-radius: .65rem;
    background: #fff;
}

.master-employee-row.is-unassigned {
    background: #fffaf0;
    border-color: #f4d79c;
}

.master-employee-row__identity {
    min-width: 0;
    display: flex;
    align-items: center;
    gap: .7rem;
}

.master-employee-row__identity > div,
.master-employee-row > div:not(.master-employee-row__identity) {
    min-width: 0;
    display: grid;
    gap: .12rem;
}

.master-employee-row__identity strong,
.master-employee-row > div > strong {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.master-employee-row__identity small {
    color: var(--c-muted);
}

.master-employee-row__symbol {
    width: 2.6rem;
    height: 2.6rem;
    flex: 0 0 auto;
    display: grid;
    place-items: center;
    border: 1px solid #dbe3ec;
    border-radius: .65rem;
    background: var(--c-soft);
    font-size: 1.45rem;
}

.master-case-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1rem;
    align-items: start;
}

.master-case-grid > .panel {
    min-width: 0;
}

.master-case-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr) auto;
    gap: .7rem;
    align-items: center;
    padding: .7rem;
    border: 1px solid #e5e7eb;
    border-radius: .6rem;
    background: #fff;
}

.master-case-row > div {
    min-width: 0;
    display: grid;
    gap: .1rem;
}

.master-case-row strong {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: .88rem;
}

.master-case-row > small {
    padding: .28rem .5rem;
    border-radius: var(--r-pill);
    background: var(--c-neutral-bg);
    color: var(--c-neutral-text);
    font-weight: 800;
    white-space: nowrap;
}

.master-empty-state {
    min-height: 8rem;
    display: grid;
    place-content: center;
    gap: .25rem;
    text-align: center;
    color: var(--c-muted);
}

.master-empty-state strong {
    color: var(--c-text);
}

@media (max-width: 1120px) {
    .master-team-grid,
    .master-schedule,
    .master-case-grid {
        grid-template-columns: 1fr;
    }

    .master-employee-row {
        grid-template-columns: minmax(14rem, 1.6fr) repeat(2, minmax(7rem, 1fr));
    }
}

@media (max-width: 760px) {
    .master-weekbar,
    .master-foundation-notice {
        grid-template-columns: 1fr;
        display: grid;
    }

    .master-weekbar__actions {
        justify-content: stretch;
    }

    .master-weekbar__actions .btn {
        flex: 1 1 auto;
    }

    .master-foundation-notice .btn,
    .master-foundation-notice strong,
    .master-foundation-notice span {
        grid-column: 1;
        grid-row: auto;
    }

    .master-role-pair,
    .master-employee-row {
        grid-template-columns: 1fr;
    }

    .master-team-card__head {
        grid-template-columns: auto minmax(0, 1fr);
    }

    .master-live-chip {
        grid-column: 1 / -1;
        justify-self: start;
    }

    .master-team-card__foot,
    .master-week-sequence > div {
        align-items: start;
        grid-template-columns: auto 1fr;
        flex-direction: column;
    }

    .master-week-sequence > div > span:last-child {
        grid-column: 2;
    }

    .master-case-row {
        grid-template-columns: 1fr;
    }

    .master-case-row > small {
        justify-self: start;
    }
}


 

 
.master-employee-summary {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: .55rem;
    margin-bottom: .8rem;
}

.master-employee-summary > div {
    min-width: 0;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .65rem;
    padding: .65rem .75rem;
    border: 1px solid #e5e7eb;
    border-radius: .65rem;
    background: var(--c-soft);
}

.master-employee-summary > div.is-open {
    border-color: #f4d79c;
    background: #fffaf0;
}

.master-employee-summary span {
    color: var(--c-muted);
    font-size: .8rem;
    font-weight: 800;
}

.master-employee-summary strong {
    font-size: 1rem;
}

.master-row-subline {
    color: var(--c-muted);
    font-size: .75rem;
}

.master-employee-row__action {
    display: flex !important;
    justify-content: flex-end;
}

.master-employee-form-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
}

.master-employee-form-grid__wide {
    grid-column: 1 / -1;
}

.master-employee-history-note {
    margin-top: 1rem;
}

.master-employee-editor form {
    min-height: 0;
    display: contents;
}

@media (max-width: 1120px) {
    .master-employee-row {
        grid-template-columns: minmax(14rem, 1.6fr) repeat(2, minmax(7rem, 1fr)) auto;
    }
}

@media (max-width: 760px) {
    .master-employee-summary,
    .master-employee-form-grid {
        grid-template-columns: 1fr;
    }

    .master-employee-form-grid__wide {
        grid-column: auto;
    }

    .master-employee-row__action {
        justify-content: stretch;
    }

    .master-employee-row__action .btn {
        width: 100%;
    }
}


 

 
.master-employee-row__action {
    gap: .4rem;
    flex-wrap: wrap;
}

.master-profile-back {
    margin-bottom: .65rem;
}

.master-profile-head {
    display: grid;
    grid-template-columns: minmax(0, 1.5fr) minmax(20rem, .8fr);
    gap: 1rem;
    align-items: center;
    padding: 1rem;
    margin-bottom: 1rem;
    border: 1px solid #dfe5ec;
    border-radius: .85rem;
    background: #fff;
    box-shadow: var(--shadow-soft);
}

.master-profile-head__identity {
    min-width: 0;
    display: flex;
    align-items: center;
    gap: .9rem;
}

.master-profile-head__symbol {
    width: 4rem;
    height: 4rem;
    flex: 0 0 auto;
    display: grid;
    place-items: center;
    border: 1px solid #dbe3ec;
    border-radius: .8rem;
    background: var(--c-primary-soft);
    font-size: 2.1rem;
    font-weight: 800;
}

.master-profile-head__identity > div {
    min-width: 0;
    display: grid;
    gap: .14rem;
}

.master-profile-head__identity span,
.master-profile-head__assignment span,
.master-skill-area__head span,
.master-qualification-card > div > span {
    color: var(--c-muted);
    font-size: .72rem;
    font-weight: 900;
    letter-spacing: .07em;
    text-transform: uppercase;
}

.master-profile-head__identity h1 {
    margin: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: clamp(1.45rem, 2.5vw, 2rem);
}

.master-profile-head__identity small {
    color: var(--c-muted);
}

.master-profile-head__assignment {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .6rem;
}

.master-profile-head__assignment > div {
    display: grid;
    gap: .2rem;
    padding: .7rem;
    border: 1px solid #e5e7eb;
    border-radius: .65rem;
    background: var(--c-soft);
}

.master-profile-metrics {
    margin-bottom: 1rem;
}

.master-profile-layout {
    align-items: start;
}

.master-skill-area + .master-skill-area {
    margin-top: 1rem;
    padding-top: 1rem;
    border-top: 1px solid #e5e7eb;
}

.master-skill-area__head {
    margin-bottom: .55rem;
}

.master-skill-area__head h2 {
    margin: .12rem 0 0;
    font-size: 1rem;
}

.master-skill-list {
    display: grid;
    gap: .45rem;
}

.master-skill-row {
    display: grid;
    grid-template-columns: minmax(0, 1.5fr) minmax(11rem, .65fr) auto;
    gap: .75rem;
    align-items: center;
    padding: .75rem;
    border: 1px solid #e5e7eb;
    border-radius: .68rem;
    background: #fff;
}

.master-skill-row.is-open {
    background: #fbfcfd;
}

.master-skill-row__copy {
    min-width: 0;
    display: grid;
    gap: .14rem;
}

.master-skill-row__copy small {
    color: var(--c-muted);
}

.master-skill-row__copy p {
    margin: .35rem 0 0;
    color: var(--c-text-soft);
    font-size: .82rem;
}

.master-skill-level {
    display: grid;
    gap: .15rem;
}

.master-skill-level > span {
    color: var(--c-muted);
    font-size: .72rem;
    font-weight: 800;
}

.master-skill-level > strong {
    font-size: .86rem;
}

.master-skill-level.is-independent > strong {
    color: var(--c-success-text);
}

.master-skill-dots {
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    gap: .22rem;
    margin-top: .2rem;
}

.master-skill-dots i {
    height: .28rem;
    border-radius: var(--r-pill);
    background: #e5e7eb;
}

.master-skill-dots i.is-on {
    background: var(--c-primary);
}

.master-qualification-list {
    display: grid;
    gap: .55rem;
}

.master-qualification-card {
    display: grid;
    gap: .55rem;
    padding: .75rem;
    border: 1px solid #e5e7eb;
    border-radius: .68rem;
    background: #fff;
}

.master-qualification-card > div {
    display: grid;
    gap: .14rem;
}

.master-qualification-card small {
    color: var(--c-muted);
}

.master-qualification-card.is-ok {
    border-color: rgba(33, 126, 87, .28);
    background: #f6fbf8;
}

.master-qualification-card.is-warn {
    border-color: #f4d79c;
    background: #fffaf0;
}

.master-qualification-card.is-danger {
    border-color: rgba(190, 54, 54, .28);
    background: #fff7f7;
}

.master-qualification-status {
    justify-self: start;
    padding: .28rem .52rem;
    border-radius: var(--r-pill);
    background: var(--c-neutral-bg);
    color: var(--c-neutral-text);
    font-size: .75rem;
    font-weight: 900;
}

.master-level-legend {
    display: grid;
    gap: .32rem;
}

.master-level-legend > div {
    display: grid;
    grid-template-columns: 2rem 1fr;
    gap: .5rem;
    align-items: center;
    padding: .42rem .5rem;
    border-radius: .5rem;
    background: var(--c-soft);
}

.master-level-legend strong {
    width: 1.7rem;
    height: 1.7rem;
    display: grid;
    place-items: center;
    border-radius: .45rem;
    background: #fff;
    border: 1px solid #dfe5ec;
}

.master-level-legend span {
    font-size: .8rem;
}

.master-skill-history {
    display: grid;
    gap: .4rem;
}

.master-skill-history article {
    display: grid;
    grid-template-columns: 8rem minmax(0, 1fr);
    gap: .8rem;
    padding: .65rem .7rem;
    border: 1px solid #e5e7eb;
    border-radius: .6rem;
    background: #fff;
}

.master-skill-history time {
    color: var(--c-muted);
    font-size: .78rem;
    font-weight: 800;
}

.master-skill-history article > div {
    min-width: 0;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: .15rem .75rem;
}

.master-skill-history small {
    grid-column: 1 / -1;
    color: var(--c-muted);
}

.master-profile-editor form {
    min-height: 0;
    display: contents;
}

.master-profile-form-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
}

.master-profile-form-grid__wide,
.master-qualification-verified {
    grid-column: 1 / -1;
}

@media (max-width: 1120px) {
    .master-profile-head {
        grid-template-columns: 1fr;
    }

    .master-skill-row {
        grid-template-columns: minmax(0, 1fr) minmax(10rem, .55fr);
    }

    .master-skill-row > .btn {
        grid-column: 1 / -1;
        justify-self: end;
    }
}

@media (max-width: 760px) {
    .master-profile-head__assignment,
    .master-profile-form-grid,
    .master-skill-row,
    .master-skill-history article {
        grid-template-columns: 1fr;
    }

    .master-profile-form-grid__wide,
    .master-qualification-verified,
    .master-skill-history small,
    .master-skill-row > .btn {
        grid-column: auto;
    }

    .master-skill-row > .btn {
        width: 100%;
    }

    .master-skill-history article > div {
        grid-template-columns: 1fr;
    }
}

 

 
.master-absence-summary {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: .65rem;
    margin-bottom: .85rem;
}

.master-absence-summary > div {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .75rem;
    padding: .7rem .8rem;
    border: 1px solid #e2e7ed;
    border-radius: .65rem;
    background: var(--c-soft);
}

.master-absence-summary > div.is-open {
    border-color: #b9d4eb;
    background: #f4f9fd;
}

.master-absence-summary > div.is-clarification {
    border-color: #f0d294;
    background: #fffaf0;
}

.master-absence-summary span {
    color: var(--c-muted);
    font-size: .8rem;
    font-weight: 800;
}

.master-absence-summary strong {
    font-size: 1.05rem;
}

.master-absence-list {
    display: grid;
    gap: .5rem;
}

.master-absence-row {
    display: grid;
    grid-template-columns: minmax(14rem, 1.35fr) minmax(10rem, .85fr) minmax(15rem, 1.25fr) minmax(9rem, .75fr) auto;
    gap: .8rem;
    align-items: center;
    padding: .75rem;
    border: 1px solid #e2e7ed;
    border-left-width: .28rem;
    border-radius: .7rem;
    background: #fff;
}

.master-absence-row.is-open {
    border-left-color: var(--c-primary);
}

.master-absence-row.is-approved {
    border-left-color: var(--c-success);
    background: #f8fcfa;
}

.master-absence-row.is-clarification {
    border-left-color: #d69d31;
    background: #fffaf2;
}

.master-absence-row.is-rejected {
    border-left-color: #aeb7c2;
    background: #fafbfc;
}

.master-absence-row > div:not(.master-absence-row__identity):not(.master-absence-row__actions) {
    min-width: 0;
    display: grid;
    gap: .18rem;
}

.master-absence-row__identity {
    min-width: 0;
    display: flex;
    align-items: center;
    gap: .65rem;
}

.master-absence-row__identity > div {
    min-width: 0;
    display: grid;
    gap: .12rem;
}

.master-absence-row__identity strong,
.master-absence-row > div > strong:not(.master-absence-status) {
    overflow: hidden;
    text-overflow: ellipsis;
}

.master-absence-row__identity small {
    color: var(--c-muted);
}

.master-absence-row__symbol {
    width: 2.55rem;
    height: 2.55rem;
    flex: 0 0 auto;
    display: grid;
    place-items: center;
    border: 1px solid #dbe3ec;
    border-radius: .62rem;
    background: var(--c-primary-soft);
    font-size: 1.25rem;
    font-weight: 900;
}

.master-absence-status {
    justify-self: start;
    padding: .3rem .55rem;
    border-radius: var(--r-pill);
    background: var(--c-neutral-bg);
    color: var(--c-neutral-text);
    font-size: .76rem;
    font-weight: 900;
}

.master-absence-status.is-approved {
    background: var(--c-success-bg);
    color: var(--c-success-text);
}

.master-absence-status.is-clarification {
    background: #fff1d6;
    color: #7a5210;
}

.master-absence-status.is-rejected {
    background: #edf0f3;
    color: #5e6875;
}

.master-absence-row__actions {
    display: flex;
    justify-content: flex-end;
    gap: .4rem;
}

.master-absence-editor form,
.master-absence-decision form {
    min-height: 0;
    display: contents;
}

.master-absence-form-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
}

.master-absence-form-grid__wide {
    grid-column: 1 / -1;
}

.master-absence-scope-fields {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
}

.master-absence-scope-fields.is-hidden {
    display: none;
}

.master-absence-decision-grid {
    display: grid;
    gap: 1rem;
}

.master-case-grid--secondary {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin-top: 1rem;
}

@media (max-width: 1180px) {
    .master-absence-row {
        grid-template-columns: minmax(14rem, 1.4fr) repeat(2, minmax(10rem, 1fr));
    }

    .master-absence-row__actions {
        grid-column: 2 / -1;
    }
}

@media (max-width: 760px) {
    .master-absence-summary,
    .master-absence-form-grid,
    .master-absence-scope-fields,
    .master-case-grid--secondary,
    .master-absence-row {
        grid-template-columns: 1fr;
    }

    .master-absence-form-grid__wide,
    .master-absence-row__actions {
        grid-column: auto;
    }

    .master-absence-row__actions,
    .master-absence-row__actions .btn {
        width: 100%;
    }
}

 

 
.master-planning-section-gap {
    height: 1rem;
}

.master-case-grid--single {
    grid-template-columns: 1fr;
    margin-top: 1rem;
}

.master-availability-summary {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: .65rem;
    margin-bottom: .85rem;
}

.master-availability-summary > div {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .75rem;
    padding: .7rem .8rem;
    border: 1px solid #e2e7ed;
    border-radius: .65rem;
    background: var(--c-soft);
}

.master-availability-summary > div.is-open {
    border-color: #b9d4eb;
    background: #f4f9fd;
}

.master-availability-summary > div.is-unavailable {
    border-color: #efd29b;
    background: #fffaf1;
}

.master-availability-summary > div.is-extra {
    border-color: #bfe0ce;
    background: #f5fbf8;
}

.master-availability-summary span {
    color: var(--c-muted);
    font-size: .8rem;
    font-weight: 800;
}

.master-availability-summary strong {
    font-size: 1.05rem;
}

.master-availability-list {
    display: grid;
    gap: .55rem;
}

.master-availability-row {
    display: grid;
    grid-template-columns: minmax(13rem, 1.2fr) minmax(11rem, .9fr) minmax(16rem, 1.35fr) minmax(9rem, .7fr) minmax(7rem, .6fr) auto;
    gap: .75rem;
    align-items: center;
    padding: .75rem;
    border: 1px solid #e2e7ed;
    border-left-width: .28rem;
    border-radius: .7rem;
    background: #fff;
}

.master-availability-row.is-unavailable {
    border-left-color: #d99b2b;
}

.master-availability-row.is-extra {
    border-left-color: var(--c-success);
}

.master-availability-row.is-open {
    box-shadow: 0 0 0 1px rgba(45, 115, 170, .04);
}

.master-availability-row.is-cancelled {
    opacity: .68;
    border-left-color: #aeb7c2;
    background: #fafbfc;
}

.master-availability-row > div:not(.master-availability-row__identity):not(.master-availability-row__actions):not(.master-availability-row__note) {
    min-width: 0;
    display: grid;
    gap: .15rem;
}

.master-availability-row__identity {
    min-width: 0;
    display: flex;
    align-items: center;
    gap: .65rem;
}

.master-availability-row__identity > div {
    min-width: 0;
    display: grid;
    gap: .1rem;
}

.master-availability-row__identity strong,
.master-availability-row > div > strong {
    overflow: hidden;
    text-overflow: ellipsis;
}

.master-availability-row__identity small,
.master-availability-row > div > small {
    color: var(--c-muted);
}

.master-availability-row__symbol {
    width: 2.55rem;
    height: 2.55rem;
    flex: 0 0 auto;
    display: grid;
    place-items: center;
    border: 1px solid #dbe3ec;
    border-radius: .62rem;
    background: var(--c-primary-soft);
    font-size: 1.25rem;
    font-weight: 900;
}

.master-availability-status {
    justify-self: start;
    padding: .3rem .55rem;
    border-radius: var(--r-pill);
    background: var(--c-neutral-bg);
    color: var(--c-neutral-text);
    font-size: .76rem;
    font-weight: 900;
}

.master-availability-status.is-open {
    background: var(--c-primary-soft);
    color: var(--c-primary);
}

.master-availability-row__actions {
    display: flex;
    justify-content: flex-end;
}

.master-availability-row__note {
    grid-column: 2 / -1;
    padding-top: .55rem;
    border-top: 1px solid #edf0f3;
}

.master-availability-row__note span {
    color: var(--c-muted);
    font-size: .76rem;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: .04em;
}

.master-availability-row__note p {
    margin: .2rem 0 0;
}

.master-availability-editor form,
.master-availability-update form {
    min-height: 0;
    display: contents;
}

.master-availability-form-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
}

.master-availability-form-grid__wide,
.master-availability-update-grid__wide {
    grid-column: 1 / -1;
}

.master-availability-update-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
}

.master-availability-form-grid .is-hidden,
.master-availability-update-grid .is-hidden {
    display: none;
}

@media (max-width: 1220px) {
    .master-availability-row {
        grid-template-columns: minmax(13rem, 1.2fr) repeat(2, minmax(10rem, 1fr));
    }

    .master-availability-row__actions {
        grid-column: 2 / -1;
    }

    .master-availability-row__note {
        grid-column: 1 / -1;
    }
}

@media (max-width: 760px) {
    .master-availability-summary,
    .master-availability-form-grid,
    .master-availability-update-grid,
    .master-availability-row {
        grid-template-columns: 1fr;
    }

    .master-availability-form-grid__wide,
    .master-availability-update-grid__wide,
    .master-availability-row__actions,
    .master-availability-row__note {
        grid-column: auto;
    }

    .master-availability-row__actions,
    .master-availability-row__actions .btn {
        width: 100%;
    }
}

  
.master-profile-legacy-notice {
    margin-bottom: .8rem;
}

.master-skill-row__title {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .45rem;
}

.master-skill-coverage-chip {
    display: inline-flex;
    align-items: center;
    min-height: 1.35rem;
    padding: .12rem .42rem;
    border: 1px solid #cbd5e1;
    border-radius: 999px;
    background: #f8fafc;
    color: #475569;
    font-size: .64rem;
    font-weight: 800;
    letter-spacing: .02em;
    white-space: nowrap;
}

.master-requirement-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .65rem;
}

.master-requirement-card {
    display: grid;
    gap: .72rem;
    padding: .9rem;
    border: 1px solid #e2e8f0;
    border-radius: .78rem;
    background: #fff;
}

.master-requirement-card.is-hard {
    border-color: #bfd3ea;
    box-shadow: inset .22rem 0 0 #5b8fc7;
}

.master-requirement-card.is-advisory {
    background: #fbfcfd;
}

.master-requirement-card__head {
    display: grid;
    gap: .18rem;
}

.master-requirement-card__head > span {
    color: var(--c-muted);
    font-size: .68rem;
    font-weight: 800;
    letter-spacing: .05em;
    text-transform: uppercase;
}

.master-requirement-card__head > strong {
    font-size: .98rem;
}

.master-requirement-card__facts {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .5rem;
}

.master-requirement-card__facts > div {
    display: grid;
    gap: .1rem;
    padding: .5rem .55rem;
    border-radius: .55rem;
    background: #f6f8fa;
}

.master-requirement-card__facts span {
    color: var(--c-muted);
    font-size: .68rem;
    font-weight: 700;
}

.master-requirement-card__facts strong {
    font-size: .8rem;
}

.master-requirement-card > small {
    color: var(--c-muted);
    line-height: 1.45;
}

@media (max-width: 860px) {
    .master-requirement-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 560px) {
    .master-requirement-card__facts {
        grid-template-columns: 1fr;
    }
}

  
.master-assessment-overview-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: .75rem;
}

.master-assessment-card {
    display: grid;
    align-content: start;
    gap: .8rem;
    padding: 1rem;
    border: 1px solid #dfe5eb;
    border-radius: .9rem;
    background: #fff;
    box-shadow: 0 .25rem .8rem rgba(15, 23, 42, .035);
}

.master-assessment-card.is-sufficient { box-shadow: inset .24rem 0 0 #4f8b67; }
.master-assessment-card.is-tight { box-shadow: inset .24rem 0 0 #c49535; }
.master-assessment-card.is-critical { box-shadow: inset .24rem 0 0 #c46c36; }
.master-assessment-card.is-not-workable { box-shadow: inset .24rem 0 0 #b84d55; }

.master-assessment-card__head {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: .65rem;
}

.master-assessment-card__symbol {
    width: 2.65rem;
    height: 2.65rem;
    display: grid;
    place-items: center;
    border: 1px solid #d7e0e8;
    border-radius: .7rem;
    background: #f7f9fb;
    font-size: 1.4rem;
    font-weight: 900;
}

.master-assessment-card__head > div {
    min-width: 0;
    display: grid;
    gap: .05rem;
}

.master-assessment-card__head small,
.master-assessment-card__focus span,
.master-assessment-people span {
    color: var(--c-muted);
    font-size: .7rem;
    font-weight: 800;
    letter-spacing: .03em;
    text-transform: uppercase;
}

.master-assessment-card__head strong {
    font-size: 1rem;
}

.master-assessment-card > p {
    margin: 0;
    color: #4b5563;
    line-height: 1.5;
}

.master-assessment-card__focus {
    display: grid;
    gap: .14rem;
    padding: .65rem .7rem;
    border-radius: .65rem;
    background: #f6f8fa;
}

.master-assessment-card__focus strong { font-size: .9rem; }
.master-assessment-card__focus small { color: var(--c-muted); }
.master-assessment-card > .btn { justify-self: start; }

.master-assessment-status {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 1.7rem;
    padding: .22rem .55rem;
    border-radius: 999px;
    background: #eef2f6;
    color: #52606d;
    font-size: .7rem;
    font-weight: 900;
    white-space: nowrap;
}

.master-assessment-status.is-sufficient { background: #e8f3ec; color: #2f6c47; }
.master-assessment-status.is-tight { background: #faf0d8; color: #805d15; }
.master-assessment-status.is-critical { background: #fbe9dd; color: #934917; }
.master-assessment-status.is-not-workable { background: #f8e4e6; color: #922f3a; }
.master-assessment-status.is-unassessed { background: #eef2f6; color: #52606d; }

.master-assessment-requirements {
    display: grid;
    gap: .36rem;
}

.master-assessment-requirement {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: .55rem;
    padding: .48rem .55rem;
    border: 1px solid #e5e9ee;
    border-radius: .55rem;
    background: #fff;
}

.master-assessment-requirement > div {
    min-width: 0;
    display: grid;
    gap: .08rem;
}

.master-assessment-requirement strong {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: .78rem;
}

.master-assessment-requirement small {
    color: var(--c-muted);
    font-size: .63rem;
}

.master-assessment-requirement > span {
    min-width: 2.7rem;
    text-align: right;
    font-size: .75rem;
    font-weight: 900;
}

.master-assessment-requirement.is-met { border-color: #d7e6dc; }
.master-assessment-requirement.is-missing { border-color: #edcfd2; background: #fff8f8; }
.master-assessment-requirement.is-advisory.is-missing { border-color: #f0dbc9; background: #fffaf5; }
.master-assessment-requirements.is-compact .master-assessment-requirement:nth-child(n+5) { display: none; }

.master-assessment-note { margin-top: .8rem; }

.master-assessment-team-list {
    display: grid;
    gap: 1rem;
}

.master-assessment-team {
    scroll-margin-top: 1rem;
    border: 1px solid #dfe5eb;
    border-radius: .9rem;
    background: #f9fafb;
    overflow: hidden;
}

.master-assessment-team__head {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: .7rem;
    padding: .85rem 1rem;
    border-bottom: 1px solid #e4e9ee;
    background: #fff;
}

.master-assessment-team__head > span:first-child {
    width: 2.4rem;
    height: 2.4rem;
    display: grid;
    place-items: center;
    border-radius: .62rem;
    background: var(--c-primary-soft);
    font-size: 1.25rem;
    font-weight: 900;
}

.master-assessment-team__head > div { display: grid; gap: .02rem; }
.master-assessment-team__head small { color: var(--c-muted); font-size: .72rem; font-weight: 800; }
.master-assessment-team__head h3 { margin: 0; font-size: 1.02rem; }

.master-assessment-occurrences {
    display: grid;
    gap: .55rem;
    padding: .7rem;
}

.master-assessment-occurrence {
    border: 1px solid #e1e6eb;
    border-radius: .68rem;
    background: #fff;
    overflow: hidden;
}

.master-assessment-occurrence > summary {
    min-height: 3.5rem;
    display: grid;
    grid-template-columns: minmax(10rem, 1fr) auto minmax(8rem, auto);
    align-items: center;
    gap: .7rem;
    padding: .7rem .8rem;
    cursor: pointer;
    list-style: none;
}

.master-assessment-occurrence > summary::-webkit-details-marker { display: none; }
.master-assessment-occurrence > summary > div { display: grid; gap: .08rem; }
.master-assessment-occurrence > summary small,
.master-assessment-occurrence > summary > span:last-child { color: var(--c-muted); font-size: .72rem; }
.master-assessment-occurrence > summary > span:last-child { text-align: right; }
.master-assessment-occurrence[open] > summary { border-bottom: 1px solid #e8ecf0; }

.master-assessment-timeline {
    display: grid;
    gap: .65rem;
    padding: .7rem;
    background: #f8fafb;
}

.master-assessment-segment {
    display: grid;
    gap: .65rem;
    padding: .75rem;
    border: 1px solid #e2e7ec;
    border-radius: .65rem;
    background: #fff;
}

.master-assessment-segment.is-not-workable { border-color: #e8c3c7; }
.master-assessment-segment.is-critical { border-color: #efd2bd; }
.master-assessment-segment.is-tight { border-color: #e8d6a9; }
.master-assessment-segment.is-sufficient { border-color: #cfe1d5; }

.master-assessment-segment__head {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto auto;
    align-items: center;
    gap: .55rem;
}

.master-assessment-segment__head > span:last-child {
    color: var(--c-muted);
    font-size: .72rem;
    font-weight: 800;
}

.master-assessment-people {
    display: grid;
    gap: .42rem;
    padding-top: .55rem;
    border-top: 1px solid #edf0f3;
}

.master-assessment-people > div {
    display: grid;
    grid-template-columns: 8.5rem minmax(0, 1fr);
    gap: .55rem;
    align-items: start;
}

.master-assessment-people strong {
    font-size: .78rem;
    line-height: 1.45;
}

@media (max-width: 1080px) {
    .master-assessment-overview-grid { grid-template-columns: 1fr; }
}

@media (max-width: 760px) {
    .master-assessment-card__head,
    .master-assessment-team__head,
    .master-assessment-occurrence > summary,
    .master-assessment-segment__head,
    .master-assessment-people > div {
        grid-template-columns: 1fr;
    }

    .master-assessment-status { justify-self: start; }
    .master-assessment-occurrence > summary > span:last-child { text-align: left; }
}

  
.master-support-issue-list,
.master-support-recommendation-list,
.master-support-workflow-list {
    display: grid;
    gap: .8rem;
}

.master-support-issue {
    display: grid;
    gap: .75rem;
    padding: .85rem;
    border: 1px solid #e5c8cb;
    border-radius: .8rem;
    background: #fffafa;
}

.master-support-issue__head {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: .65rem;
}

.master-support-issue__head > span:first-child {
    width: 2.35rem;
    height: 2.35rem;
    display: grid;
    place-items: center;
    border-radius: .6rem;
    background: #f7e9ea;
    color: #8b303a;
    font-size: 1.2rem;
    font-weight: 900;
}

.master-support-issue__head > div {
    min-width: 0;
    display: grid;
    gap: .08rem;
}

.master-support-issue__head small,
.master-support-gap span,
.master-support-recommendation__result span,
.master-support-donors span,
.master-support-workflow__facts span,
.master-support-decision-note span {
    color: var(--c-muted);
    font-size: .68rem;
    font-weight: 800;
    letter-spacing: .03em;
    text-transform: uppercase;
}

.master-support-gap {
    display: grid;
    gap: .12rem;
    padding: .55rem .65rem;
    border-radius: .58rem;
    background: #f8ecee;
}

.master-support-gap strong {
    font-size: .82rem;
}

.master-support-recommendation {
    display: grid;
    gap: .7rem;
    padding: .75rem;
    border: 1px solid #dbe3e9;
    border-radius: .7rem;
    background: #fff;
}

.master-support-recommendation__result {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .7rem;
}

.master-support-candidates {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(15rem, 1fr));
    gap: .55rem;
}

.master-support-candidate {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: .55rem;
    align-items: start;
    padding: .55rem;
    border: 1px solid #e4e9ee;
    border-radius: .58rem;
    background: #f8fafb;
}

.master-support-candidate__symbol {
    width: 2rem;
    height: 2rem;
    display: grid;
    place-items: center;
    border-radius: .5rem;
    background: var(--c-primary-soft);
    font-weight: 900;
}

.master-support-candidate > div {
    min-width: 0;
    display: grid;
    gap: .12rem;
}

.master-support-candidate strong {
    font-size: .82rem;
}

.master-support-candidate small {
    color: var(--c-muted);
    font-size: .68rem;
    line-height: 1.35;
}

.master-support-donors {
    display: grid;
    gap: .35rem;
    padding-top: .55rem;
    border-top: 1px solid #edf0f3;
}

.master-support-donors > div {
    display: grid;
    grid-template-columns: minmax(8rem, 1fr) auto;
    gap: .6rem;
    align-items: center;
}

.master-support-donors strong {
    font-size: .74rem;
}

.master-support-recommendation__action {
    justify-self: start;
}

.master-support-workflow {
    display: grid;
    gap: .65rem;
    padding: .8rem;
    border: 1px solid #dfe5ea;
    border-radius: .75rem;
    background: #fff;
    box-shadow: inset .22rem 0 0 #8795a3;
}

.master-support-workflow.is-proposed { box-shadow: inset .22rem 0 0 #c49535; }
.master-support-workflow.is-approved { box-shadow: inset .22rem 0 0 #527db1; }
.master-support-workflow.is-active { box-shadow: inset .22rem 0 0 #4f8b67; }
.master-support-workflow.is-completed { box-shadow: inset .22rem 0 0 #73808c; }
.master-support-workflow.is-rejected,
.master-support-workflow.is-cancelled { box-shadow: inset .22rem 0 0 #b84d55; }

.master-support-workflow__head {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: .65rem;
    align-items: center;
}

.master-support-workflow__head > div {
    display: grid;
    gap: .08rem;
}

.master-support-workflow__head small {
    color: var(--c-muted);
    font-size: .72rem;
    font-weight: 800;
}

.master-support-state {
    display: inline-flex;
    min-height: 1.7rem;
    align-items: center;
    justify-content: center;
    padding: .2rem .55rem;
    border-radius: 999px;
    background: #eef2f6;
    color: #52606d;
    font-size: .7rem;
    font-weight: 900;
}

.master-support-state.is-proposed { background: #faf0d8; color: #805d15; }
.master-support-state.is-approved { background: #e7eef7; color: #315f92; }
.master-support-state.is-active { background: #e8f3ec; color: #2f6c47; }
.master-support-state.is-rejected,
.master-support-state.is-cancelled { background: #f8e4e6; color: #922f3a; }

.master-support-workflow__facts {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .55rem;
}

.master-support-workflow__facts > div,
.master-support-decision-note {
    display: grid;
    gap: .1rem;
    padding: .5rem .58rem;
    border-radius: .55rem;
    background: #f7f9fb;
}

.master-support-workflow__facts strong,
.master-support-decision-note strong {
    font-size: .78rem;
}

.master-support-workflow > p {
    margin: 0;
    color: #4b5563;
    font-size: .8rem;
    line-height: 1.45;
}

.master-support-workflow__actions {
    display: grid;
    grid-template-columns: minmax(12rem, 1fr) auto;
    gap: .65rem;
    align-items: end;
    padding-top: .55rem;
    border-top: 1px solid #edf0f3;
}

.master-support-workflow__actions .field {
    margin: 0;
}

@media (max-width: 760px) {
    .master-support-issue__head,
    .master-support-workflow__head,
    .master-support-workflow__facts,
    .master-support-workflow__actions,
    .master-support-donors > div {
        grid-template-columns: 1fr;
    }

    .master-support-recommendation__action {
        justify-self: stretch;
    }
}

  
.master-assessment-card__focus.is-normal {
    border: 1px solid #dbe9df;
    background: #f7fbf8;
}

.master-assessment-card__normal-note {
    margin-top: -.25rem !important;
    color: var(--c-muted) !important;
    font-size: .76rem;
}

.master-assessment-normal-summary {
    display: grid;
    gap: .5rem;
    padding: .7rem;
}

.master-assessment-compact-row,
.master-assessment-normal-more {
    min-height: 3.6rem;
    display: grid;
    grid-template-columns: minmax(12rem, 1fr) auto minmax(8.5rem, auto);
    align-items: center;
    gap: .7rem;
    padding: .72rem .82rem;
    border: 1px solid #dce7e0;
    border-radius: .68rem;
    background: #fff;
}

.master-assessment-compact-row__copy,
.master-assessment-normal-more > div {
    min-width: 0;
    display: grid;
    gap: .08rem;
}

.master-assessment-compact-row__copy > span {
    color: #3f7756;
    font-size: .66rem;
    font-weight: 900;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.master-assessment-compact-row__copy strong,
.master-assessment-normal-more strong {
    font-size: .88rem;
}

.master-assessment-compact-row__copy small,
.master-assessment-normal-more small,
.master-assessment-compact-row__count {
    color: var(--c-muted);
    font-size: .72rem;
}

.master-assessment-compact-row__count {
    text-align: right;
    white-space: nowrap;
}

.master-assessment-normal-more {
    min-height: 3.15rem;
    grid-template-columns: minmax(12rem, 1fr) auto;
    border-color: #e5e9ed;
    background: #f8faf9;
}

.master-assessment-normal-more > span {
    color: #3f7756;
    font-size: .72rem;
    font-weight: 850;
    white-space: nowrap;
}

.master-assessment-occurrences > .master-assessment-compact-row {
    border-color: #dce7e0;
}

@media (max-width: 760px) {
    .master-assessment-compact-row,
    .master-assessment-normal-more {
        grid-template-columns: 1fr;
    }

    .master-assessment-compact-row__count {
        text-align: left;
    }
}


  
.master-assessment-issue-summary {
    display: grid;
    gap: .55rem;
}

.master-assessment-issue-block {
    display: grid;
    grid-template-columns: 8.5rem minmax(0, 1fr);
    gap: .65rem;
    align-items: start;
}

.master-assessment-issue-block > span,
.master-assessment-action span {
    color: var(--c-muted);
    font-size: .66rem;
    font-weight: 900;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.master-assessment-cause-list {
    display: grid;
    gap: .18rem;
}

.master-assessment-cause-list strong,
.master-assessment-issue-block > strong,
.master-assessment-action strong {
    font-size: .8rem;
    line-height: 1.42;
}

.master-assessment-action {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: .7rem;
    padding-top: .55rem;
    border-top: 1px solid #edf0f3;
}

.master-assessment-action > div {
    display: grid;
    gap: .1rem;
}

.master-assessment-issue-summary.is-compact {
    padding: .6rem .7rem;
    border-radius: .65rem;
    background: #fafbfc;
}

.master-assessment-transition-row {
    min-height: 2.9rem;
    display: grid;
    grid-template-columns: minmax(8rem, 1fr) auto auto;
    align-items: center;
    gap: .65rem;
    padding: .62rem .72rem;
    border: 1px solid #dce7e0;
    border-radius: .62rem;
    background: #fff;
}

.master-assessment-transition-row > span {
    color: var(--c-muted);
    font-size: .74rem;
}

.master-support-anchor {
    scroll-margin-top: 1rem;
}

@media (max-width: 760px) {
    .master-assessment-issue-block,
    .master-assessment-action,
    .master-assessment-transition-row {
        grid-template-columns: 1fr;
    }
}


  
.master-availability-editor--guided {
    width: min(760px, calc(100vw - 2rem));
}

.master-availability-guided {
    display: grid;
    gap: 1rem;
}

.master-availability-guided__choice,
.master-availability-guided__section,
.master-availability-more__body {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
}

.master-availability-guided__section {
    padding: 1rem;
    border: 1px solid #e3e8ef;
    border-radius: 14px;
    background: #fbfcfd;
}

.master-availability-guided__section > .field:only-child {
    grid-column: 1 / -1;
}

.master-availability-guided .is-hidden {
    display: none !important;
}

.master-availability-guidance,
.master-availability-shift-preview {
    display: grid;
    gap: .3rem;
    padding: .85rem 1rem;
    border-radius: 12px;
}

.master-availability-guidance {
    border: 1px solid #d8e5f3;
    background: #f4f8fc;
}

.master-availability-guidance strong,
.master-availability-shift-preview span {
    color: var(--c-muted);
    font-size: .72rem;
    font-weight: 900;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.master-availability-guidance span,
.master-availability-shift-preview strong {
    line-height: 1.45;
}

.master-availability-shift-preview {
    border: 1px solid #e3e8ef;
    background: #fff;
}

.master-availability-shift-preview.is-recognized {
    border-color: #cfe5d8;
    background: #f4faf6;
}

.master-availability-more {
    border-top: 1px solid #e7ebf0;
    padding-top: .75rem;
}

.master-availability-more summary {
    cursor: pointer;
    color: #475569;
    font-weight: 800;
    list-style: none;
}

.master-availability-more summary::-webkit-details-marker {
    display: none;
}

.master-availability-more summary::after {
    content: '＋';
    margin-left: .45rem;
}

.master-availability-more[open] summary::after {
    content: '−';
}

.master-availability-more__body {
    margin-top: .9rem;
}

@media (max-width: 760px) {
    .master-availability-guided__choice,
    .master-availability-guided__section,
    .master-availability-more__body {
        grid-template-columns: 1fr;
    }

    .master-availability-guided__section > .field:only-child {
        grid-column: auto;
    }
}

  
.master-availability-guided__section--late {
    align-items: end;
}

.master-availability-late-regular {
    display: grid;
    gap: .35rem;
    min-height: 100%;
    padding: .8rem .9rem;
    border: 1px solid #dce7e0;
    border-radius: 12px;
    background: #f6faf7;
}

.master-availability-late-regular span {
    color: var(--c-muted);
    font-size: .72rem;
    font-weight: 900;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.master-availability-late-regular strong {
    font-size: 1.05rem;
}

  
.master-team-card--interactive {
    width: 100%;
    appearance: none;
    color: inherit;
    font: inherit;
    text-align: left;
}

button.master-team-card--interactive {
    cursor: pointer;
}

button.master-team-card--interactive:hover,
button.master-team-card--interactive:focus-visible {
    border-color: rgba(32, 97, 174, .48);
    box-shadow: 0 .7rem 1.65rem rgba(32, 97, 174, .12);
    transform: translateY(-1px);
}

.master-team-card--interactive.is-disabled {
    cursor: default;
    opacity: .78;
}

.master-team-card__summary {
    min-height: 2rem;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .75rem;
}

.master-team-card__summary > span:last-child {
    color: var(--c-muted);
    font-size: .8rem;
    font-weight: 750;
    text-align: right;
}

.master-team-card__open {
    color: var(--c-primary-text);
    font-weight: 850;
}

.master-schedule-row--interactive {
    width: 100%;
    appearance: none;
    color: inherit;
    font: inherit;
    text-align: left;
    cursor: pointer;
}

.master-schedule-row--interactive:hover,
.master-schedule-row--interactive:focus-visible {
    border-color: rgba(32, 97, 174, .42);
    box-shadow: 0 .35rem .85rem rgba(32, 97, 174, .09);
}

.master-shift-pad-modal {
    width: min(58rem, calc(100vw - 2rem));
}

.master-shift-pad-title {
    min-width: 0;
    display: flex;
    align-items: center;
    gap: .8rem;
}

.master-shift-pad-title .master-team-symbol {
    flex: 0 0 auto;
}

.master-shift-pad-summary {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: .7rem 1rem;
    padding: .85rem 1rem;
    margin-bottom: 1rem;
    border: 1px solid #dfe6ee;
    border-radius: .8rem;
    background: var(--c-soft);
}

.master-shift-pad-summary > strong {
    font-size: 1rem;
}

.master-shift-pad-summary > span:last-child {
    color: var(--c-muted);
    font-size: .78rem;
    font-weight: 800;
    text-align: right;
}

.master-shift-pad-roster {
    display: grid;
    gap: 1rem;
}

.master-shift-pad-group {
    display: grid;
    gap: .45rem;
}

.master-shift-pad-group h3 {
    margin: 0;
    color: var(--c-muted);
    font-size: .76rem;
    font-weight: 900;
    letter-spacing: .045em;
    text-transform: uppercase;
}

.master-shift-pad-members {
    display: grid;
    gap: .4rem;
}

.master-shift-pad-member {
    width: 100%;
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(12rem, .8fr) auto;
    align-items: center;
    gap: .8rem;
    padding: .78rem .85rem;
    appearance: none;
    border: 1px solid #e1e7ed;
    border-radius: .7rem;
    background: #fff;
    color: inherit;
    font: inherit;
    text-align: left;
    cursor: pointer;
}

.master-shift-pad-member:hover,
.master-shift-pad-member:focus-visible {
    border-color: rgba(32, 97, 174, .42);
    background: var(--c-primary-soft);
}

.master-shift-pad-member.is-unavailable {
    border-left: .25rem solid #b84d55;
}

.master-shift-pad-member.is-changing {
    border-left: .25rem solid #c49535;
}

.master-shift-pad-member.is-available {
    border-left: .25rem solid #4f8b67;
}

.master-shift-pad-member__identity,
.master-shift-pad-member__state {
    min-width: 0;
    display: grid;
    gap: .12rem;
}

.master-shift-pad-member__identity strong,
.master-shift-pad-member__state strong {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.master-shift-pad-member__identity small,
.master-shift-pad-member__state small {
    color: var(--c-muted);
    font-size: .74rem;
}

.master-shift-pad-member__state {
    text-align: right;
}

.master-shift-pad-member__arrow {
    color: var(--c-primary-text);
    font-size: 1.4rem;
    font-weight: 700;
}

.master-shift-pad-support {
    display: grid;
    gap: .18rem;
    margin-top: 1rem;
    padding: .8rem .9rem;
    border: 1px solid #cfe0f1;
    border-radius: .7rem;
    background: #f5f9fd;
}

.master-shift-pad-support span,
.master-shift-pad-footer-note {
    color: var(--c-muted);
    font-size: .76rem;
}

.master-shift-member-modal {
    width: min(38rem, calc(100vw - 2rem));
}

.master-shift-member-context,
.master-shift-member-state {
    display: grid;
    gap: .25rem;
    padding: .9rem 1rem;
    border: 1px solid #e1e7ed;
    border-radius: .75rem;
    background: var(--c-soft);
}

.master-shift-member-context span,
.master-shift-member-state span {
    color: var(--c-muted);
    font-size: .76rem;
    font-weight: 800;
}

.master-shift-member-state {
    margin-top: .7rem;
    border-left-width: .25rem;
}

.master-shift-member-state.is-available { border-left-color: #4f8b67; }
.master-shift-member-state.is-unavailable { border-left-color: #b84d55; }
.master-shift-member-state.is-changing { border-left-color: #c49535; }
.master-shift-member-state.is-unknown { border-left-color: #94a3b8; }

.master-shift-member-state small {
    color: var(--c-muted);
}

.master-shift-member-actions {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .7rem;
    margin-top: 1rem;
}

.master-pad-action {
    min-height: 7.25rem;
    display: grid;
    align-content: center;
    gap: .35rem;
    padding: 1rem;
    border: 1px solid #d8e2ec;
    border-radius: .85rem;
    background: #fff;
    color: inherit;
    text-decoration: none;
}

.master-pad-action:hover,
.master-pad-action:focus-visible {
    border-color: rgba(32, 97, 174, .5);
    background: var(--c-primary-soft);
}

.master-pad-action strong {
    color: var(--c-primary-text);
    font-size: 1rem;
}

.master-pad-action span {
    color: var(--c-muted);
    font-size: .78rem;
    line-height: 1.45;
}

@media (max-width: 760px) {
    .master-team-card__summary,
    .master-shift-pad-summary {
        align-items: start;
        grid-template-columns: 1fr;
    }

    .master-team-card__summary > span:last-child,
    .master-shift-pad-summary > span:last-child {
        text-align: left;
    }

    .master-shift-pad-member {
        grid-template-columns: minmax(0, 1fr) auto;
    }

    .master-shift-pad-member__state {
        grid-column: 1;
        text-align: left;
    }

    .master-shift-pad-member__arrow {
        grid-column: 2;
        grid-row: 1 / span 2;
    }

    .master-shift-member-actions {
        grid-template-columns: 1fr;
    }

    .master-shift-pad-footer-note {
        display: none;
    }
}

  
.master-pad-action {
    width: 100%;
    appearance: none;
    font: inherit;
    text-align: left;
    cursor: pointer;
}

.master-pad-action--primary {
    border-color: rgba(32, 97, 174, .42);
    background: var(--c-primary-soft);
}

.master-availability-editor--pad {
    width: min(62rem, calc(100vw - 2rem));
}

.master-availability-context-card {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .75rem;
    padding: .85rem 1rem;
    border: 1px solid #d8e5f3;
    border-radius: .85rem;
    background: #f5f9fd;
}

.master-availability-context-card > div {
    min-width: 0;
    display: grid;
    gap: .2rem;
}

.master-availability-context-card span,
.master-availability-kind-pad__head span,
.master-availability-time-choice__label,
.master-availability-point-regular span {
    color: var(--c-muted);
    font-size: .72rem;
    font-weight: 900;
    letter-spacing: .045em;
    text-transform: uppercase;
}

.master-availability-context-card strong,
.master-availability-context-card small {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.master-availability-context-card small {
    color: var(--c-muted);
    font-size: .76rem;
}

.master-availability-kind-pad {
    display: grid;
    gap: .8rem;
}

.master-availability-kind-pad__head {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 1rem;
}

.master-availability-kind-pad__head > div {
    display: grid;
    gap: .15rem;
}

.master-availability-kind-pad__head strong {
    font-size: 1.05rem;
}

.master-availability-kind-native {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
}

.master-availability-kind-grid,
.master-availability-secondary-kinds__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: .7rem;
}

.master-availability-kind-button {
    min-height: 8rem;
    display: grid;
    align-content: center;
    gap: .4rem;
    padding: 1rem;
    appearance: none;
    border: 1px solid #d8e2ec;
    border-radius: .9rem;
    background: #fff;
    color: inherit;
    font: inherit;
    text-align: left;
    cursor: pointer;
}

.master-availability-kind-button:hover,
.master-availability-kind-button:focus-visible {
    border-color: rgba(32, 97, 174, .52);
    background: var(--c-primary-soft);
    transform: translateY(-1px);
}

.master-availability-kind-button.is-selected {
    border-color: rgba(32, 97, 174, .7);
    background: var(--c-primary-soft);
    box-shadow: 0 .45rem 1.1rem rgba(32, 97, 174, .1);
}

.master-availability-kind-button strong {
    color: var(--c-primary-text);
    font-size: 1rem;
}

.master-availability-kind-button span {
    color: var(--c-muted);
    font-size: .76rem;
    line-height: 1.4;
}

.master-availability-secondary-kinds {
    border-top: 1px solid #e7ebf0;
    padding-top: .65rem;
}

.master-availability-secondary-kinds summary {
    cursor: pointer;
    color: #475569;
    font-size: .8rem;
    font-weight: 850;
    list-style: none;
}

.master-availability-secondary-kinds summary::-webkit-details-marker {
    display: none;
}

.master-availability-secondary-kinds__grid {
    margin-top: .7rem;
}

.master-availability-kind-button--secondary {
    min-height: 6.5rem;
}

.master-availability-kind-pad.has-selection .master-availability-kind-button:not(.is-selected) {
    display: none;
}

.master-availability-kind-pad.has-selection .master-availability-kind-grid {
    grid-template-columns: 1fr;
}

.master-availability-kind-pad.has-selection.has-secondary-selection .master-availability-kind-grid {
    display: none;
}

.master-availability-kind-pad.has-selection:not(.has-secondary-selection) .master-availability-secondary-kinds {
    display: none;
}

.master-availability-kind-pad.has-selection .master-availability-kind-button.is-selected {
    min-height: 5.2rem;
}

.master-availability-guided__section--point,
.master-availability-guided__section--late {
    grid-template-columns: minmax(12rem, .7fr) minmax(0, 1.3fr);
}

.master-availability-point-regular {
    display: grid;
    align-content: center;
    gap: .35rem;
    min-height: 100%;
    padding: .8rem .9rem;
    border: 1px solid #dce7e0;
    border-radius: 12px;
    background: #f6faf7;
}

.master-availability-point-regular strong {
    font-size: 1.05rem;
}

.master-availability-time-choice {
    display: grid;
    gap: .7rem;
}

.master-availability-quick-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: .5rem;
}

.master-availability-quick-grid button {
    min-height: 3.35rem;
    padding: .65rem .7rem;
    appearance: none;
    border: 1px solid #d8e2ec;
    border-radius: .7rem;
    background: #fff;
    color: var(--c-primary-text);
    font: inherit;
    font-size: .8rem;
    font-weight: 850;
    cursor: pointer;
}

.master-availability-quick-grid button:hover,
.master-availability-quick-grid button:focus-visible,
.master-availability-quick-grid button.is-selected {
    border-color: rgba(32, 97, 174, .55);
    background: var(--c-primary-soft);
}

.master-availability-guided__section--late .master-availability-quick-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

@media (max-width: 840px) {
    .master-availability-kind-grid,
    .master-availability-secondary-kinds__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .master-availability-guided__section--point,
    .master-availability-guided__section--late,
    .master-availability-context-card {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 560px) {
    .master-availability-kind-grid,
    .master-availability-secondary-kinds__grid,
    .master-availability-quick-grid,
    .master-availability-guided__section--late .master-availability-quick-grid {
        grid-template-columns: 1fr 1fr;
    }

    .master-availability-kind-button {
        min-height: 6.5rem;
    }
}


  
.master-absence-editor--pad {
    width: min(66rem, calc(100vw - 2rem));
}

.master-absence-editor--pad form {
    max-height: min(52rem, calc(100vh - 2rem));
}

.master-absence-pad-section,
.master-absence-preview,
.master-absence-more {
    margin-bottom: 1rem;
}

.master-absence-pad-heading {
    display: grid;
    gap: .18rem;
    margin-bottom: .65rem;
}

.master-absence-pad-heading span,
.master-absence-context-card span {
    color: var(--c-muted);
    font-size: .72rem;
    font-weight: 800;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.master-absence-context-card {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .75rem;
    padding: .9rem 1rem;
    border: 1px solid #d7e5f3;
    border-radius: .85rem;
    background: #f5f9fd;
}

.master-absence-context-card > div {
    min-width: 0;
    display: grid;
    gap: .18rem;
}

.master-absence-context-card small {
    color: var(--c-muted);
}

.master-absence-native-control {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
}

.master-absence-choice-grid,
.master-absence-scope-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: .7rem;
}

.master-absence-choice,
.master-absence-scope-choice {
    min-height: 7rem;
    display: grid;
    align-content: center;
    gap: .35rem;
    padding: 1rem;
    border: 1px solid #d8e2ec;
    border-radius: .85rem;
    background: #fff;
    color: inherit;
    font: inherit;
    text-align: left;
    cursor: pointer;
}

.master-absence-choice:hover,
.master-absence-choice:focus-visible,
.master-absence-scope-choice:hover,
.master-absence-scope-choice:focus-visible,
.master-absence-choice.is-selected,
.master-absence-scope-choice.is-selected {
    border-color: rgba(32, 97, 174, .5);
    background: var(--c-primary-soft);
}

.master-absence-choice.is-selected,
.master-absence-scope-choice.is-selected {
    box-shadow: inset 0 0 0 1px rgba(32, 97, 174, .16);
}

.master-absence-choice strong,
.master-absence-scope-choice strong {
    color: var(--c-primary-text);
    font-size: 1rem;
}

.master-absence-choice span,
.master-absence-scope-choice span {
    color: var(--c-muted);
    font-size: .78rem;
    line-height: 1.4;
}

.master-absence-scope-choice:disabled {
    opacity: .42;
    cursor: not-allowed;
}

.master-absence-period-fields {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .75rem;
    margin-top: .8rem;
}

.master-absence-period-fields[data-master-absence-mode-fields="SINGLE_DAY"] {
    grid-template-columns: minmax(0, 22rem);
}

.master-absence-preview {
    padding: .9rem 1rem;
    border: 1px solid #dbe4ec;
    border-radius: .85rem;
    background: var(--c-soft);
}

.master-absence-preview__status {
    color: var(--c-muted);
    font-size: .82rem;
}

.master-absence-preview__status.is-warning {
    color: #9a5b1f;
}

.master-absence-preview__rows {
    display: grid;
    gap: .45rem;
    margin-top: .65rem;
}

.master-absence-preview-row {
    display: grid;
    grid-template-columns: 2.4rem minmax(0, 1fr);
    align-items: center;
    gap: .65rem;
    padding: .6rem .7rem;
    border: 1px solid #e0e6ec;
    border-radius: .65rem;
    background: #fff;
}

.master-absence-preview-row__symbol {
    width: 2.2rem;
    height: 2.2rem;
    display: grid;
    place-items: center;
    border-radius: .65rem;
    background: var(--c-primary-soft);
    color: var(--c-primary-text);
    font-weight: 900;
}

.master-absence-preview-row > div {
    min-width: 0;
    display: grid;
    gap: .15rem;
}

.master-absence-preview-row small {
    color: var(--c-muted);
}

.master-absence-more {
    border: 1px solid #e0e6ec;
    border-radius: .75rem;
    background: #fff;
}

.master-absence-more summary {
    padding: .8rem .9rem;
    color: var(--c-primary-text);
    font-weight: 800;
    cursor: pointer;
}

.master-absence-more .field {
    padding: 0 .9rem .9rem;
}

.master-absence-editor--pad .is-hidden {
    display: none !important;
}

@media (max-width: 760px) {
    .master-absence-context-card,
    .master-absence-choice-grid,
    .master-absence-scope-grid,
    .master-absence-period-fields {
        grid-template-columns: 1fr;
    }

    .master-absence-choice,
    .master-absence-scope-choice {
        min-height: 5.5rem;
    }
}


  
.master-overview-focus,
.master-planning-focus,
.master-open-work__head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
}

.master-overview-focus,
.master-planning-focus {
    margin: 0 0 1rem;
    padding: .25rem .1rem;
}

.master-overview-focus > div,
.master-planning-focus > div,
.master-open-work__head > div {
    min-width: 0;
    display: grid;
    gap: .18rem;
}

.master-overview-focus span,
.master-planning-focus span,
.master-open-work__head span {
    color: var(--c-muted);
    font-size: .72rem;
    font-weight: 900;
    letter-spacing: .05em;
    text-transform: uppercase;
}

.master-overview-focus h2,
.master-planning-focus h2,
.master-open-work__head h2 {
    margin: 0;
    font-size: 1.12rem;
}

.master-overview-focus p,
.master-planning-focus p {
    max-width: 52rem;
    margin: 0;
    color: var(--c-muted);
    font-size: .84rem;
    line-height: 1.45;
}

.master-team-grid--focus {
    margin-bottom: 1rem;
}

.master-open-work {
    display: grid;
    gap: .75rem;
    margin: 1rem 0;
    padding: 1rem;
    border: 1px solid #dfe6ee;
    border-radius: .9rem;
    background: #fff;
}

.master-open-work__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: .65rem;
}

.master-open-work-card {
    min-width: 0;
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: .12rem .75rem;
    padding: .8rem .9rem;
    border: 1px solid #dfe6ee;
    border-radius: .75rem;
    background: var(--c-soft);
    color: inherit;
    text-decoration: none;
}

.master-open-work-card:hover,
.master-open-work-card:focus-visible {
    border-color: rgba(32, 97, 174, .45);
    background: var(--c-primary-soft);
}

.master-open-work-card > strong {
    grid-row: 1 / span 2;
    min-width: 2.25rem;
    color: var(--c-primary-text);
    font-size: 1.5rem;
    line-height: 1;
    text-align: center;
}

.master-open-work-card > span {
    font-weight: 850;
}

.master-open-work-card > small {
    color: var(--c-muted);
    font-size: .75rem;
}

.master-open-work-card > b {
    grid-column: 3;
    grid-row: 1 / span 2;
    color: var(--c-primary-text);
    font-size: 1.3rem;
}

.master-workflow-anchor {
    scroll-margin-top: 1rem;
}

.master-assessment-overview-grid--attention {
    grid-template-columns: repeat(auto-fit, minmax(18rem, 1fr));
}

@media (max-width: 860px) {
    .master-open-work__grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 640px) {
    .master-overview-focus,
    .master-planning-focus,
    .master-open-work__head {
        align-items: stretch;
        flex-direction: column;
    }
}

 

 
.master-operation-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .78rem;
    align-items: stretch;
}

.master-operation-button,
.master-pad-action.master-operation-button,
.master-availability-kind-button.master-operation-button,
.master-absence-choice.master-operation-button,
.master-absence-scope-choice.master-operation-button {
    width: 100%;
    min-height: 6.45rem;
    display: grid;
    grid-template-columns: 3.1rem minmax(0, 1fr);
    align-items: center;
    align-content: center;
    column-gap: 1rem;
    padding: 1rem 1.08rem;
    appearance: none;
    border: 1px solid #d7e0e9;
    border-radius: 1.15rem;
    background: #eef2f7;
    color: #334155;
    box-shadow: 0 10px 24px rgba(43, 80, 118, .08);
    font: inherit;
    text-align: left;
    text-decoration: none;
    cursor: pointer;
    transition: background-color .14s ease, border-color .14s ease, color .14s ease, box-shadow .14s ease, transform .14s ease;
}

.master-operation-button:hover,
.master-operation-button:focus-visible,
.master-pad-action.master-operation-button:hover,
.master-pad-action.master-operation-button:focus-visible,
.master-availability-kind-button.master-operation-button:hover,
.master-availability-kind-button.master-operation-button:focus-visible,
.master-absence-choice.master-operation-button:hover,
.master-absence-choice.master-operation-button:focus-visible,
.master-absence-scope-choice.master-operation-button:hover,
.master-absence-scope-choice.master-operation-button:focus-visible {
    border-color: rgba(32, 97, 174, .46);
    background: #e5edf7;
    color: var(--c-primary-text);
    box-shadow: 0 12px 28px rgba(32, 97, 174, .12);
    transform: translateY(-1px);
}

.master-operation-button--primary,
.master-pad-action--primary.master-operation-button {
    border-color: var(--c-primary);
    background: var(--c-primary);
    color: #fff;
}

.master-operation-button--primary:hover,
.master-operation-button--primary:focus-visible,
.master-pad-action--primary.master-operation-button:hover,
.master-pad-action--primary.master-operation-button:focus-visible {
    border-color: var(--c-primary-hover);
    background: var(--c-primary-hover);
    color: #fff;
}

.master-operation-button.is-selected,
.master-operation-button[aria-pressed="true"],
.master-availability-kind-button.master-operation-button.is-selected,
.master-absence-choice.master-operation-button.is-selected,
.master-absence-scope-choice.master-operation-button.is-selected {
    border-color: var(--c-primary);
    background: var(--c-primary);
    color: #fff;
    box-shadow: 0 12px 28px rgba(32, 97, 174, .18);
}

.master-operation-button:disabled,
.master-operation-button[aria-disabled="true"] {
    opacity: .42;
    cursor: not-allowed;
    transform: none;
    box-shadow: none;
}

.master-operation-button__icon {
    width: 2.28rem;
    height: 2.28rem;
    display: inline-block;
    justify-self: center;
    align-self: center;
    color: inherit;
    background-color: currentColor;
    opacity: .96;
    mask-repeat: no-repeat;
    mask-position: center;
    mask-size: contain;
    -webkit-mask-repeat: no-repeat;
    -webkit-mask-position: center;
    -webkit-mask-size: contain;
}

.master-operation-button__copy,
.master-pad-action .master-operation-button__copy,
.master-availability-kind-button .master-operation-button__copy,
.master-absence-choice .master-operation-button__copy,
.master-absence-scope-choice .master-operation-button__copy {
    min-width: 0;
    display: grid;
    gap: .16rem;
    align-content: center;
    color: inherit;
    font-size: inherit;
    line-height: normal;
}

.master-operation-button__copy strong,
.master-pad-action .master-operation-button__copy strong,
.master-availability-kind-button .master-operation-button__copy strong,
.master-absence-choice .master-operation-button__copy strong,
.master-absence-scope-choice .master-operation-button__copy strong {
    color: inherit;
    font-size: 1.08rem;
    line-height: 1.08;
    font-weight: 900;
}

.master-operation-button__copy small,
.master-pad-action .master-operation-button__copy small,
.master-availability-kind-button .master-operation-button__copy small,
.master-absence-choice .master-operation-button__copy small,
.master-absence-scope-choice .master-operation-button__copy small {
    display: block;
    color: inherit;
    font-size: .84rem;
    line-height: 1.12;
    font-weight: 750;
    opacity: .78;
}

.master-operation-icon--clock-circle { mask-image: url("icons/master/solar-broken/clock-circle-broken.dd41288fee6c.svg"); -webkit-mask-image: url("icons/master/solar-broken/clock-circle-broken.dd41288fee6c.svg"); }
.master-operation-icon--user-cross { mask-image: url("icons/master/solar-broken/user-cross-broken.e1ad3fc65dd7.svg"); -webkit-mask-image: url("icons/master/solar-broken/user-cross-broken.e1ad3fc65dd7.svg"); }
.master-operation-icon--logout { mask-image: url("icons/master/solar-broken/logout-2-broken.b2209f249d3e.svg"); -webkit-mask-image: url("icons/master/solar-broken/logout-2-broken.b2209f249d3e.svg"); }
.master-operation-icon--stopwatch-pause { mask-image: url("icons/master/solar-broken/stopwatch-pause-broken.c31be6a5315e.svg"); -webkit-mask-image: url("icons/master/solar-broken/stopwatch-pause-broken.c31be6a5315e.svg"); }
.master-operation-icon--login { mask-image: url("icons/master/solar-broken/login-2-broken.6203349ad4ea.svg"); -webkit-mask-image: url("icons/master/solar-broken/login-2-broken.6203349ad4ea.svg"); }
.master-operation-icon--stopwatch-play { mask-image: url("icons/master/solar-broken/stopwatch-play-broken.220f09400274.svg"); -webkit-mask-image: url("icons/master/solar-broken/stopwatch-play-broken.220f09400274.svg"); }
.master-operation-icon--medical-kit { mask-image: url("icons/master/solar-broken/medical-kit-broken.7d04735d1e2b.svg"); -webkit-mask-image: url("icons/master/solar-broken/medical-kit-broken.7d04735d1e2b.svg"); }
.master-operation-icon--user { mask-image: url("icons/master/solar-broken/user-broken.233729fb7c27.svg"); -webkit-mask-image: url("icons/master/solar-broken/user-broken.233729fb7c27.svg"); }
.master-operation-icon--menu-dots { mask-image: url("icons/master/solar-broken/menu-dots-broken.8fe4f48cdcbf.svg"); -webkit-mask-image: url("icons/master/solar-broken/menu-dots-broken.8fe4f48cdcbf.svg"); }
.master-operation-icon--calendar-add { mask-image: url("icons/master/solar-broken/calendar-add-broken.88652c06093c.svg"); -webkit-mask-image: url("icons/master/solar-broken/calendar-add-broken.88652c06093c.svg"); }
.master-operation-icon--suitcase { mask-image: url("icons/master/solar-broken/suitcase-broken.a3e534864280.svg"); -webkit-mask-image: url("icons/master/solar-broken/suitcase-broken.a3e534864280.svg"); }
.master-operation-icon--hourglass { mask-image: url("icons/master/solar-broken/hourglass-broken.05ac5e7d6425.svg"); -webkit-mask-image: url("icons/master/solar-broken/hourglass-broken.05ac5e7d6425.svg"); }
.master-operation-icon--calendar-mark { mask-image: url("icons/master/solar-broken/calendar-mark-broken.9a1579201448.svg"); -webkit-mask-image: url("icons/master/solar-broken/calendar-mark-broken.9a1579201448.svg"); }
.master-operation-icon--calendar-date { mask-image: url("icons/master/solar-broken/calendar-date-broken.da49e1b97bef.svg"); -webkit-mask-image: url("icons/master/solar-broken/calendar-date-broken.da49e1b97bef.svg"); }
.master-operation-icon--calendar { mask-image: url("icons/master/solar-broken/calendar-broken.92e32681784c.svg"); -webkit-mask-image: url("icons/master/solar-broken/calendar-broken.92e32681784c.svg"); }
.master-operation-icon--clock-square { mask-image: url("icons/master/solar-broken/clock-square-broken.1e7c3c46cd34.svg"); -webkit-mask-image: url("icons/master/solar-broken/clock-square-broken.1e7c3c46cd34.svg"); }

.master-availability-editor--pad,
.master-absence-editor--pad {
    width: min(48rem, calc(100vw - 2rem));
}

.master-shift-member-modal {
    width: min(42rem, calc(100vw - 2rem));
}

.master-availability-kind-grid,
.master-availability-secondary-kinds__grid,
.master-absence-choice-grid,
.master-absence-scope-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .78rem;
}

.master-availability-kind-button.master-operation-button,
.master-availability-kind-button--secondary.master-operation-button,
.master-absence-choice.master-operation-button,
.master-absence-scope-choice.master-operation-button,
.master-availability-kind-pad.has-selection .master-availability-kind-button.is-selected {
    min-height: 6.45rem;
}

.master-availability-kind-pad.has-selection .master-availability-kind-grid {
    grid-template-columns: minmax(0, 1fr);
}

.master-shift-member-actions > .master-operation-button:last-child:nth-child(odd),
.master-absence-choice-grid > .master-operation-button:last-child:nth-child(odd),
.master-absence-scope-grid > .master-operation-button:last-child:nth-child(odd) {
    grid-column: 1 / -1;
}

@media (max-width: 620px) {
    .master-operation-grid,
    .master-availability-kind-grid,
    .master-availability-secondary-kinds__grid,
    .master-absence-choice-grid,
    .master-absence-scope-grid {
        grid-template-columns: 1fr;
    }

    .master-operation-button,
    .master-pad-action.master-operation-button,
    .master-availability-kind-button.master-operation-button,
    .master-absence-choice.master-operation-button,
    .master-absence-scope-choice.master-operation-button {
        min-height: 5.6rem;
        grid-template-columns: 2.72rem minmax(0, 1fr);
        padding: .82rem .94rem;
    }

    .master-operation-button__icon {
        width: 2rem;
        height: 2rem;
    }

    .master-operation-button__copy strong,
    .master-pad-action .master-operation-button__copy strong,
    .master-availability-kind-button .master-operation-button__copy strong,
    .master-absence-choice .master-operation-button__copy strong,
    .master-absence-scope-choice .master-operation-button__copy strong {
        font-size: 1rem;
    }

    .master-operation-button__copy small,
    .master-pad-action .master-operation-button__copy small,
    .master-availability-kind-button .master-operation-button__copy small,
    .master-absence-choice .master-operation-button__copy small,
    .master-absence-scope-choice .master-operation-button__copy small {
        font-size: .78rem;
    }
}



  
.master-shift-route-panel {
    margin-bottom: 1rem;
    overflow: hidden;
}

.master-shift-route-panel .panel__body {
    padding: 0;
}

.master-shift-route-blueprint {
    padding: 1.15rem;
    border-radius: 0 0 var(--r-lg) var(--r-lg);
}

.master-shift-route-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1.25rem;
    overflow: visible;
}

.master-shift-route-node {
    width: 100%;
    min-width: 0;
    min-height: 17rem;
    display: flex;
    flex-direction: column;
    gap: .72rem;
    padding: 1rem;
    appearance: none;
    color: var(--bp-text);
    font: inherit;
    text-align: left;
    cursor: pointer;
    box-shadow: 0 .35rem .9rem rgba(18, 50, 58, .07);
    transition: border-color .16s ease, box-shadow .16s ease, transform .16s ease;
}

button.master-shift-route-node:hover,
button.master-shift-route-node:focus-visible {
    border-color: var(--bp-accent);
    box-shadow: 0 .65rem 1.35rem rgba(0, 105, 137, .14);
    transform: translateY(-2px);
}

.master-shift-route-node:not(:last-child)::after {
    content: "›";
    position: absolute;
    z-index: 3;
    top: 50%;
    right: -.94rem;
    width: .62rem;
    height: 1.7rem;
    display: grid;
    place-items: center;
    color: var(--bp-accent);
    font-size: 1.65rem;
    font-weight: 950;
    line-height: 1;
    transform: translate(50%, -50%);
    pointer-events: none;
}

.master-shift-route-node__sequence {
    align-self: flex-start;
    color: var(--bp-accent);
    font-size: .68rem;
    font-weight: 950;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.master-shift-route-node__title {
    display: grid;
    grid-template-columns: 3rem minmax(0, 1fr);
    gap: .8rem;
    align-items: center;
}

.master-shift-route-node__symbol {
    width: 3rem;
    height: 3rem;
    display: grid;
    place-items: center;
    border: 1px solid rgba(0, 105, 137, .22);
    border-radius: .8rem;
    background: rgba(255,255,255,.7);
    color: var(--bp-accent);
    font-size: 1.8rem;
    line-height: 1;
}

.master-shift-route-node__title h3 {
    margin: 0;
    color: var(--bp-text);
    font-size: 1.08rem;
}

.master-shift-route-node__title p {
    margin: .18rem 0 0;
    color: var(--c-muted);
    font-size: .76rem;
    font-weight: 750;
    line-height: 1.35;
}

.master-shift-route-node__team,
.master-shift-route-node__status {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .65rem;
}

.master-shift-route-node__team {
    padding: .62rem .7rem;
    border: 1px solid rgba(0, 105, 137, .14);
    border-radius: .65rem;
    background: rgba(255,255,255,.55);
}

.master-shift-route-node__team strong {
    font-size: .88rem;
}

.master-shift-route-node__team span,
.master-shift-route-node__status > span:last-child {
    color: var(--c-muted);
    font-size: .72rem;
    font-weight: 800;
    text-align: right;
}

.master-shift-route-node__attention {
    display: grid;
    gap: .16rem;
    padding: .66rem .72rem;
    border-left: .22rem solid #d97706;
    border-radius: .55rem;
    background: rgba(255, 247, 237, .88);
}

.master-shift-route-node__attention > span {
    color: #9a5b08;
    font-size: .64rem;
    font-weight: 950;
    letter-spacing: .06em;
    text-transform: uppercase;
}

.master-shift-route-node__attention strong {
    color: #7c4a03;
    font-size: .78rem;
    line-height: 1.35;
}

.master-shift-route-node__attention small {
    color: #8a5b16;
    font-size: .7rem;
    font-weight: 800;
}

.master-shift-route-node.is-not-workable .master-shift-route-node__attention {
    border-left-color: var(--c-danger);
    background: rgba(254, 242, 242, .92);
}

.master-shift-route-node.is-not-workable .master-shift-route-node__attention > span,
.master-shift-route-node.is-not-workable .master-shift-route-node__attention strong,
.master-shift-route-node.is-not-workable .master-shift-route-node__attention small {
    color: var(--c-danger-text);
}

.master-shift-route-node__progress {
    display: grid;
    gap: .3rem;
}

.master-shift-route-node__progress > span {
    height: .42rem;
    overflow: hidden;
    border-radius: var(--r-pill);
    background: rgba(0, 105, 137, .14);
}

.master-shift-route-node__progress b {
    display: block;
    width: var(--progress);
    height: 100%;
    border-radius: inherit;
    background: var(--bp-accent);
}

.master-shift-route-node__progress small {
    color: var(--c-muted);
    font-size: .66rem;
    font-weight: 800;
}

.master-shift-route-node__open {
    margin-top: auto;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .6rem;
    padding-top: .62rem;
    border-top: 1px solid rgba(0, 105, 137, .14);
    color: var(--bp-accent);
    font-size: .76rem;
    font-weight: 950;
}

.master-shift-route-node__open b {
    font-size: 1.2rem;
    line-height: 1;
}

.master-shift-route-node.is-processing {
    box-shadow: 0 0 0 .16rem rgba(0, 105, 137, .11), 0 .55rem 1.2rem rgba(0, 105, 137, .12);
}

.master-shift-route-node.is-empty {
    cursor: default;
}

@media (max-width: 960px) {
    .master-shift-route-grid {
        grid-template-columns: 1fr;
        gap: .9rem;
    }

    .master-shift-route-node {
        min-height: 0;
    }

    .master-shift-route-node:not(:last-child)::after {
        content: "⌄";
        top: auto;
        right: 50%;
        bottom: -.78rem;
        width: 1.7rem;
        height: .7rem;
        transform: translate(50%, 50%);
        font-size: 1.15rem;
    }
}

@media (max-width: 640px) {
    .master-shift-route-panel .panel__header {
        align-items: stretch;
        flex-direction: column;
    }

    .master-shift-route-panel .panel__actions,
    .master-shift-route-panel .panel__actions .btn {
        width: 100%;
    }

    .master-shift-route-node__team,
    .master-shift-route-node__status {
        align-items: flex-start;
        flex-direction: column;
    }

    .master-shift-route-node__team span,
    .master-shift-route-node__status > span:last-child {
        text-align: left;
    }
}

.master-shift-route-node.is-critical {
    border-color: #d97706;
}

.master-shift-route-node.is-not-workable {
    border-color: var(--c-danger);
    box-shadow: 0 0 0 .12rem rgba(185, 28, 28, .08), 0 .35rem .9rem rgba(18, 50, 58, .07);
}

.master-shift-route-node.is-unassessed {
    border-style: dashed;
}

 

 
.master-employee-row.has-employment-end {
    border-color: #cbd5e1;
}

.master-employee-row.is-employment-ended {
    background: #f8fafc;
    border-color: #d7dde5;
}

.master-employee-exit-label {
    display: inline-flex;
    align-items: center;
    width: fit-content;
    margin-top: .18rem;
    padding: .2rem .48rem;
    border-radius: var(--r-pill);
    background: #fff7ed;
    color: #9a3412;
    font-size: .72rem;
    font-weight: 850;
    line-height: 1.2;
}

.master-employee-row.is-employment-ended .master-employee-exit-label {
    background: #f1f5f9;
    color: #475569;
}

.master-employee-delete-modal .modal__body {
    display: grid;
    gap: 1rem;
}

.master-employee-delete-preview {
    display: grid;
    gap: .65rem;
    padding: .85rem;
    border: 1px solid #e2e8f0;
    border-radius: .8rem;
    background: #f8fafc;
}

.master-employee-delete-preview > span {
    color: var(--c-muted);
    font-size: .78rem;
    font-weight: 850;
    text-transform: uppercase;
    letter-spacing: .04em;
}

.master-employee-delete-preview > div {
    display: grid;
    gap: .35rem;
}

.master-employee-delete-preview > div > div {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding-bottom: .32rem;
    border-bottom: 1px solid #e5e7eb;
}

.master-employee-delete-preview > div > div:last-child {
    border-bottom: 0;
    padding-bottom: 0;
}

.master-employee-delete-preview > div span {
    color: var(--c-muted);
    font-size: .82rem;
}

.master-employee-delete-preview > div strong,
.master-employee-delete-preview > strong {
    color: var(--c-text);
    font-size: .88rem;
}

.master-employee-summary--exit {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

@media (max-width: 980px) {
    .master-employee-summary--exit {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 560px) {
    .master-employee-summary--exit {
        grid-template-columns: 1fr;
    }
}

  
.master-availability-reason-native,
.master-availability-duration-native {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
    clip-path: inset(50%);
    white-space: nowrap;
}

.master-availability-reason-pad,
.master-availability-no-show-duration {
    display: grid;
    gap: .78rem;
    padding: .95rem;
    border: 1px solid #dbe5ef;
    border-radius: 1rem;
    background: #f8fbfe;
}

.master-availability-reason-group {
    display: grid;
    gap: .78rem;
}

.master-availability-reason-group__head {
    display: grid;
    gap: .1rem;
}

.master-availability-reason-group__head span {
    color: var(--c-muted);
    font-size: .72rem;
    line-height: 1;
    font-weight: 850;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.master-availability-reason-group__head strong {
    color: var(--c-text);
    font-size: 1rem;
    line-height: 1.2;
    font-weight: 900;
}

.master-availability-reason-grid,
.master-availability-duration-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.master-availability-reason-grid > .master-operation-button:last-child:nth-child(odd),
.master-availability-duration-grid > .master-operation-button:last-child:nth-child(odd) {
    grid-column: 1 / -1;
}

.master-availability-reason-button.master-operation-button,
.master-availability-duration-button.master-operation-button {
    min-height: 5.45rem;
}

.master-availability-guided__section--no-show {
    gap: .85rem;
}

.master-availability-no-show-duration > .field {
    margin-top: .1rem;
}

@media (max-width: 620px) {
    .master-availability-reason-grid,
    .master-availability-duration-grid {
        grid-template-columns: 1fr;
    }

    .master-availability-reason-button.master-operation-button,
    .master-availability-duration-button.master-operation-button {
        min-height: 5.2rem;
    }
}

  
.tool-import-tool-section__intro {
  margin: -.05rem 0 .42rem;
  font-size: .76rem;
}
.tool-import-tool-card-list {
  display: grid;
  gap: .55rem;
}
.tool-import-tool-card {
  display: grid;
  gap: .48rem;
  padding: .62rem;
  border: 1px solid rgba(20, 32, 54, .08);
  border-radius: 14px;
  background: rgba(255, 255, 255, .62);
  box-shadow: 0 8px 22px rgba(20, 32, 54, .035);
}
.tool-import-tool-card__head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: .75rem;
}
.tool-import-tool-card__head > div {
  display: grid;
  gap: .08rem;
  min-width: 0;
}
.tool-import-tool-card__head strong {
  color: var(--c-ink);
  font-size: .92rem;
}
.tool-import-tool-card__eyebrow {
  color: var(--c-muted);
  font-size: .64rem;
  font-weight: 850;
  letter-spacing: .065em;
  text-transform: uppercase;
}
.tool-import-tool-identity {
  display: grid;
  grid-template-columns: minmax(150px, .7fr) minmax(150px, .7fr) minmax(190px, .9fr) minmax(260px, 1.45fr);
  gap: .38rem;
}
.tool-import-tool-identity > div {
  display: grid;
  align-content: start;
  gap: .1rem;
  min-width: 0;
  padding: .42rem .48rem;
  border-radius: 10px;
  background: rgba(245, 248, 252, .9);
}
.tool-import-tool-identity span {
  color: var(--c-muted);
  font-size: .62rem;
  font-weight: 800;
  letter-spacing: .04em;
  text-transform: uppercase;
}
.tool-import-tool-identity strong {
  min-width: 0;
  color: var(--c-ink);
  font-size: .78rem;
  overflow-wrap: anywhere;
}
.tool-import-tool-classification-form {
  display: grid;
  grid-template-columns: minmax(210px, .8fr) minmax(220px, 1fr) auto;
  align-items: end;
  gap: .48rem;
  padding-top: .08rem;
}
.tool-import-tool-classification-form label {
  display: grid;
  gap: .22rem;
  margin: 0;
  color: var(--c-muted);
  font-size: .68rem;
  font-weight: 800;
}
.tool-import-tool-classification-form select,
.tool-import-tool-classification-form input {
  min-height: 2.18rem;
  margin: 0;
}
.tool-import-tool-card__meta {
  color: var(--c-muted);
  font-size: .69rem;
}
.tool-import-tool-only-panel {
  margin-top: .75rem;
  border: 1px solid rgba(20, 32, 54, .08);
  border-radius: 14px;
  background: rgba(255,255,255,.48);
  overflow: hidden;
}
.tool-import-tool-only-panel > summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .75rem;
  padding: .65rem .75rem;
  cursor: pointer;
  list-style: none;
  color: var(--c-accent);
  font-size: .78rem;
  font-weight: 800;
}
.tool-import-tool-only-panel > summary::-webkit-details-marker {
  display: none;
}
.tool-import-tool-only-panel > summary > span:first-child {
  display: grid;
  gap: .08rem;
  color: var(--c-ink);
}
.tool-import-tool-only-panel > summary small {
  color: var(--c-muted);
  font-size: .7rem;
  font-weight: 500;
}
.tool-import-tool-only-panel__body {
  padding: .65rem;
  border-top: 1px solid rgba(20, 32, 54, .07);
}
@media (max-width: 1120px) {
  .tool-import-tool-identity {
    grid-template-columns: repeat(2, minmax(220px, 1fr));
  }
}
@media (max-width: 820px) {
  .tool-import-tool-identity,
  .tool-import-tool-classification-form {
    grid-template-columns: 1fr;
  }
  .tool-import-tool-classification-form .btn {
    width: 100%;
  }
}
.tool-import-tool-other-label {
  opacity: .56;
}
.tool-import-tool-other-label.is-active {
  opacity: 1;
}

 

 
.hard-delete-box {
    display: grid;
    gap: .9rem;
    margin-top: 1.25rem;
    padding: 1rem;
    border: 1px solid rgba(185, 28, 28, .28);
    border-radius: var(--r-lg);
    background: linear-gradient(180deg, #fff 0%, #fff8f8 100%);
}

.hard-delete-box--modal {
    margin: 0 1.25rem 1.25rem;
}

.hard-delete-box__head,
.hard-delete-box__actions {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
}

.hard-delete-box__head > div {
    display: grid;
    gap: .15rem;
}

.hard-delete-box__head strong {
    font-size: 1.05rem;
    color: var(--c-danger-text);
}

.hard-delete-box p {
    margin: 0;
    color: var(--c-muted);
}

.hard-delete-form {
    display: grid;
    gap: .85rem;
}

.hard-delete-form label {
    display: grid;
    gap: .4rem;
    font-weight: 600;
}

.hard-delete-form input {
    width: 100%;
    min-height: var(--control-height);
    padding: .6rem .7rem;
    border: 1px solid rgba(185, 28, 28, .38);
    border-radius: var(--r-md);
    background: #fff;
}

.hard-delete-form input:focus {
    border-color: var(--c-danger);
}

.hard-delete-box__actions > span {
    max-width: 46rem;
    color: var(--c-muted);
    font-size: .9rem;
}

.hard-delete-warning {
    display: grid;
    gap: .2rem;
    padding: .75rem .85rem;
    border-left: .24rem solid var(--c-danger);
    border-radius: var(--r-sm);
    background: var(--c-danger-bg);
    color: var(--c-danger-text);
}

.hard-delete-warning span {
    font-size: .92rem;
}

.hard-delete-summary {
    display: flex;
    flex-wrap: wrap;
    gap: .55rem;
}

.hard-delete-summary span {
    display: inline-flex;
    align-items: baseline;
    gap: .25rem;
    padding: .42rem .62rem;
    border: 1px solid rgba(185, 28, 28, .18);
    border-radius: var(--r-pill);
    background: #fff;
    color: var(--c-danger-text);
    font-size: .88rem;
}

@media (max-width: 760px) {
    .hard-delete-box__head,
    .hard-delete-box__actions {
        align-items: stretch;
        flex-direction: column;
    }

    .hard-delete-box__actions .btn {
        width: 100%;
    }
}

 

 
.tool-master-layout--truth {
    align-items: start;
}

.tool-master-form--guided,
.tool-build-truth,
.tool-relation-section {
    display: grid;
    gap: 1rem;
}

.tool-guided-card {
    display: grid;
    gap: .9rem;
    padding: 1rem;
    border: 1px solid var(--c-border);
    border-radius: var(--r-lg);
    background: var(--c-surface-soft, #f8fafc);
}

.tool-guided-card__head,
.tool-feature-scope__head,
.tool-section-head,
.unit-visible-source-group__head,
.unit-crane-form__head {
    display: flex;
    align-items: flex-start;
    gap: .75rem;
}

.tool-guided-card__head > div,
.tool-feature-scope__head > div,
.tool-section-head > div,
.unit-visible-source-group__head > div,
.unit-crane-form__head > div {
    display: grid;
    gap: .2rem;
    min-width: 0;
}

.tool-guided-card__head strong,
.tool-feature-scope__head strong,
.unit-visible-source-group__head strong,
.unit-crane-form__head strong {
    font-size: 1rem;
}

.tool-guided-card__head span:not(.tool-guided-step),
.tool-feature-scope__head span:not(.badge),
.unit-visible-source-group__head span:not(.badge),
.unit-crane-form__head span {
    color: var(--c-muted);
    font-size: .9rem;
    line-height: 1.45;
}

.tool-guided-step {
    display: inline-grid;
    flex: 0 0 2rem;
    width: 2rem;
    height: 2rem;
    place-items: center;
    border-radius: 50%;
    background: var(--c-accent, #1d4ed8);
    color: #fff;
    font-weight: 800;
}

.tool-active-row {
    display: flex !important;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    min-height: var(--control-height);
    padding: .65rem .75rem;
    border: 1px solid var(--c-border);
    border-radius: var(--r-md);
    background: #fff;
}

.tool-active-row > span {
    display: grid;
    gap: .1rem;
}

.tool-active-row small {
    color: var(--c-muted);
    font-weight: 400;
}

.tool-active-row input {
    flex: 0 0 auto;
    width: 1.2rem;
    height: 1.2rem;
}

.tool-variant-section {
    display: grid;
    gap: .8rem;
}

.tool-variant-tabs {
    display: flex;
    flex-wrap: wrap;
    gap: .5rem;
}

.tool-variant-tab {
    display: grid;
    gap: .12rem;
    min-width: 10rem;
    padding: .65rem .8rem;
    border: 1px solid var(--c-border);
    border-radius: var(--r-md);
    background: #fff;
    color: inherit;
    text-decoration: none;
}

.tool-variant-tab strong {
    line-height: 1.25;
}

.tool-variant-tab span {
    color: var(--c-muted);
    font-size: .82rem;
}

.tool-variant-tab.is-active {
    border-color: var(--c-accent, #1d4ed8);
    box-shadow: 0 0 0 2px color-mix(in srgb, var(--c-accent, #1d4ed8) 15%, transparent);
    background: var(--c-info-bg, #eff6ff);
}

.tool-section-head {
    justify-content: space-between;
    padding-bottom: .75rem;
    border-bottom: 1px solid var(--c-border);
}

.tool-section-head h3 {
    margin: 0;
}

.tool-section-head p {
    margin: 0;
    max-width: 58rem;
    color: var(--c-muted);
}

.tool-feature-columns {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
}

.tool-feature-scope {
    display: grid;
    align-content: start;
    gap: .8rem;
    min-width: 0;
    padding: .9rem;
    border: 1px solid var(--c-border);
    border-radius: var(--r-lg);
    background: #fff;
}

.tool-feature-list,
.tool-relation-list {
    display: grid;
    gap: .55rem;
}

.tool-feature-row,
.tool-relation-row {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: .75rem;
    padding: .7rem .75rem;
    border: 1px solid var(--c-border);
    border-radius: var(--r-md);
    background: var(--c-surface-soft, #f8fafc);
}

.tool-feature-row > div,
.tool-relation-row > div {
    display: grid;
    gap: .18rem;
    min-width: 0;
}

.tool-feature-row p,
.tool-relation-row p {
    margin: .15rem 0 0;
    color: var(--c-muted);
    white-space: pre-line;
}

.tool-feature-row span,
.tool-relation-row span {
    color: var(--c-muted);
    font-size: .85rem;
}

.tool-feature-add {
    border: 1px dashed var(--c-border-strong, #94a3b8);
    border-radius: var(--r-md);
    background: #fff;
}

.tool-feature-add > summary {
    padding: .7rem .8rem;
    cursor: pointer;
    font-weight: 700;
}

.tool-feature-form {
    display: grid;
    gap: .8rem;
    padding: .2rem .8rem .85rem;
}

.tool-feature-empty {
    display: grid;
    gap: .15rem;
    padding: .75rem;
    border: 1px dashed var(--c-border);
    border-radius: var(--r-md);
    color: var(--c-muted);
}

.tool-feature-empty strong {
    color: var(--c-text);
}

.tool-truth-map {
    display: grid;
    gap: .65rem;
}

.tool-truth-map > div {
    display: grid;
    gap: .15rem;
    padding: .7rem .75rem;
    border-left: .22rem solid var(--c-accent, #1d4ed8);
    border-radius: var(--r-sm);
    background: var(--c-surface-soft, #f8fafc);
}

.tool-truth-map span {
    color: var(--c-muted);
    font-size: .88rem;
    line-height: 1.45;
}

.unit-visible-composition-note {
    display: grid;
    gap: .18rem;
    margin-bottom: .8rem;
    padding: .75rem .85rem;
    border: 1px solid var(--c-border);
    border-radius: var(--r-md);
    background: var(--c-info-bg, #eff6ff);
}

.unit-visible-composition-note span {
    color: var(--c-muted);
    line-height: 1.45;
}

.unit-visible-source-groups {
    display: grid;
    gap: .85rem;
}

.unit-visible-source-group {
    display: grid;
    gap: .65rem;
    padding: .8rem;
    border: 1px solid var(--c-border);
    border-radius: var(--r-lg);
    background: #fff;
}

.unit-visible-source-group.is-inherited {
    border-left: .28rem solid var(--c-accent, #1d4ed8);
}

.unit-visible-source-group.is-unit {
    border-left: .28rem solid var(--c-warning, #b45309);
}

.unit-visible-source-group__head {
    justify-content: space-between;
}

.unit-crane-form {
    display: grid;
    gap: .75rem;
    margin-bottom: .9rem;
    padding: .85rem;
    border: 1px solid var(--c-border);
    border-radius: var(--r-lg);
    background: var(--c-surface-soft, #f8fafc);
}

.unit-crane-form__head {
    justify-content: space-between;
}

@media (max-width: 960px) {
    .tool-feature-columns {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 680px) {
    .tool-guided-card,
    .tool-feature-scope,
    .unit-visible-source-group,
    .unit-crane-form {
        padding: .75rem;
    }

    .tool-feature-row,
    .tool-relation-row,
    .unit-visible-source-group__head,
    .unit-crane-form__head {
        align-items: stretch;
        flex-direction: column;
    }

    .tool-feature-row form,
    .tool-relation-row form,
    .tool-feature-row .btn,
    .tool-relation-row .btn {
        width: 100%;
    }
}
.tool-variant-tab.is-current {
    border-color: var(--c-accent, #1d4ed8);
    box-shadow: 0 0 0 2px color-mix(in srgb, var(--c-accent, #1d4ed8) 15%, transparent);
    background: var(--c-info-bg, #eff6ff);
}

.tool-guided-step--label {
    width: auto;
    min-width: 2rem;
    padding: 0 .65rem;
    border-radius: var(--r-pill);
    white-space: nowrap;
}

 


 
.locksmith-dashboard {
    display: grid;
    gap: var(--sp-md);
}

.locksmith-work-focus {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: var(--sp-md);
}

.locksmith-focus-card {
    min-width: 0;
    min-height: 14rem;
    padding: 1rem;
    border: 1px solid var(--c-border);
    border-radius: var(--r-md);
    background: rgba(255,255,255,.78);
    display: grid;
    align-content: start;
    gap: .55rem;
    box-shadow: var(--shadow-sm);
}

.locksmith-focus-card--now {
    border-color: rgba(32,97,174,.28);
    background: linear-gradient(145deg, rgba(239,246,255,.92), rgba(255,255,255,.82));
}

.locksmith-focus-card--next {
    border-color: rgba(15,118,110,.22);
    background: linear-gradient(145deg, rgba(240,253,250,.88), rgba(255,255,255,.82));
}

.locksmith-focus-card--issues {
    background: rgba(248,250,252,.82);
}

.locksmith-focus-card--warning {
    border-color: rgba(217,119,6,.34);
    background: rgba(255,251,235,.88);
}

.locksmith-focus-card--danger {
    border-color: rgba(220,38,38,.34);
    background: rgba(254,242,242,.9);
}

.locksmith-focus-card__head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .65rem;
    padding-bottom: .65rem;
    border-bottom: 1px solid rgba(148,163,184,.28);
}

.locksmith-focus-card__head span {
    color: var(--c-muted);
    font-size: .75rem;
    font-weight: 900;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.locksmith-focus-card__head strong {
    color: var(--c-text);
    font-size: 1.55rem;
    line-height: 1;
}

.locksmith-focus-card h3 {
    margin: .15rem 0 0;
    color: var(--c-text);
    font-size: 1rem;
    line-height: 1.25;
}

.locksmith-focus-card p,
.locksmith-focus-card small,
.locksmith-focus-card__sub span {
    color: var(--c-muted);
    line-height: 1.4;
}

.locksmith-focus-card p {
    margin: 0;
    font-size: .88rem;
}

.locksmith-focus-card small {
    font-size: .76rem;
}

.locksmith-focus-card .btn {
    justify-self: start;
    margin-top: auto;
}

.locksmith-focus-card__sub {
    display: grid;
    gap: .18rem;
    padding: .62rem .68rem;
    border: 1px dashed rgba(148,163,184,.54);
    border-radius: var(--r-sm);
    background: rgba(255,255,255,.6);
}

.locksmith-focus-card__sub strong {
    color: var(--c-text);
    font-size: .82rem;
}

.locksmith-focus-card__sub span {
    font-size: .78rem;
}

.locksmith-focus-card__actions {
    display: flex;
    flex-wrap: wrap;
    gap: .4rem;
    margin-top: auto;
}

.locksmith-focus-links {
    display: flex;
    flex-wrap: wrap;
    gap: .42rem;
    margin-top: var(--sp-sm);
}

.locksmith-focus-links a {
    display: inline-flex;
    align-items: center;
    min-height: 2rem;
    padding: .36rem .62rem;
    border: 1px solid rgba(148,163,184,.38);
    border-radius: var(--radius-pill);
    background: rgba(248,250,252,.84);
    color: var(--c-muted);
    font-size: .76rem;
    font-weight: 850;
    text-decoration: none;
}

.locksmith-focus-links a:hover,
.locksmith-focus-links a:focus-visible {
    border-color: rgba(32,97,174,.38);
    color: var(--c-primary);
}

.locksmith-machine-context {
    margin: 0;
}

.locksmith-machine-context > summary {
    color: var(--c-muted);
    font-size: .82rem;
    font-weight: 850;
}

.locksmith-machine-context__body {
    padding-top: var(--sp-sm);
}

.locksmith-dashboard-layout {
    align-items: start;
}

.locksmith-help-details + .locksmith-help-details {
    margin-top: .5rem;
}

  
.unit-library-toolbar {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: var(--sp-md);
    align-items: end;
    margin-bottom: var(--sp-md);
}

.unit-library-toolbar label {
    display: grid;
    gap: .35rem;
}

.unit-library-toolbar label > span {
    color: var(--c-muted);
    font-size: .75rem;
    font-weight: 900;
    letter-spacing: .075em;
    text-transform: uppercase;
}

.unit-library-toolbar input[type="search"] {
    min-height: 2.75rem;
    font-size: .95rem;
}

.unit-library-toolbar__stats {
    display: flex;
    gap: .45rem;
    flex-wrap: wrap;
    justify-content: flex-end;
}

.unit-library-toolbar__stats span {
    display: grid;
    gap: .08rem;
    min-width: 5.2rem;
    padding: .58rem .72rem;
    border: 1px solid var(--c-border);
    border-radius: var(--r-md);
    background: rgba(248,250,252,.82);
    color: var(--c-muted);
    font-size: .7rem;
    text-transform: uppercase;
    letter-spacing: .06em;
}

.unit-library-toolbar__stats strong {
    color: var(--c-text);
    font-size: 1rem;
    line-height: 1;
}

.unit-library-empty {
    padding: 1.1rem;
    border: 1px dashed rgba(148,163,184,.62);
    border-radius: var(--r-md);
    background: rgba(248,250,252,.76);
    display: grid;
    gap: .25rem;
    text-align: center;
}

.unit-library-empty strong {
    color: var(--c-text);
}

.unit-library-empty span,
.unit-library-truth-note {
    color: var(--c-muted);
    font-size: .84rem;
    line-height: 1.45;
}

.unit-library-empty.is-no-result {
    border-color: rgba(217,119,6,.34);
    background: rgba(255,251,235,.76);
}

  
.unit-editor-summary {
    display: grid;
    grid-template-columns: minmax(12rem, .8fr) minmax(0, 2fr);
    gap: var(--sp-md);
    align-items: stretch;
    margin: 0 0 var(--sp-md);
    padding: .82rem .9rem;
    border: 1px solid var(--c-border);
    border-radius: var(--r-lg);
    background: rgba(255,255,255,.86);
    box-shadow: var(--shadow-sm);
}

.unit-editor-summary__identity {
    display: grid;
    gap: .16rem;
    align-content: center;
    padding-right: var(--sp-md);
    border-right: 1px solid rgba(148,163,184,.28);
}

.unit-editor-summary__identity strong {
    color: var(--c-text);
    font-size: 1rem;
}

.unit-editor-summary__identity small {
    color: var(--c-muted);
}

.unit-editor-summary__facts {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: .48rem;
}

.unit-editor-summary__facts > span {
    display: grid;
    gap: .14rem;
    min-width: 0;
    padding: .58rem .66rem;
    border: 1px solid rgba(148,163,184,.26);
    border-radius: var(--r-md);
    background: rgba(248,250,252,.76);
}

.unit-editor-summary__facts strong {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    color: var(--c-text);
    font-size: .9rem;
}

.unit-editor-summary__facts small {
    color: var(--c-muted);
    font-size: .68rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .05em;
}

.unit-editor-summary__facts .is-ok {
    border-color: rgba(15,118,110,.24);
    background: rgba(240,253,250,.74);
}

.unit-editor-summary__facts .is-warn,
.unit-editor-summary__facts .is-open {
    border-color: rgba(217,119,6,.28);
    background: rgba(255,251,235,.72);
}

.unit-editor-summary__facts .is-danger {
    border-color: rgba(220,38,38,.28);
    background: rgba(254,242,242,.76);
}

.unit-editor-layout .workspace-main {
    display: grid;
    gap: var(--sp-md);
}

.unit-workflow-group {
    scroll-margin-top: 1rem;
    border: 1px solid var(--c-border);
    border-radius: var(--r-lg);
    background: rgba(248,250,252,.62);
    overflow: clip;
    box-shadow: var(--shadow-sm);
}

.unit-workflow-group--primary {
    border-color: rgba(32,97,174,.25);
    background: rgba(239,246,255,.48);
}

.unit-workflow-group > summary {
    list-style: none;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--sp-md);
    padding: .9rem 1rem;
    background: rgba(255,255,255,.74);
    border-bottom: 1px solid transparent;
}

.unit-workflow-group > summary::-webkit-details-marker {
    display: none;
}

.unit-workflow-group[open] > summary {
    border-bottom-color: rgba(148,163,184,.28);
}

.unit-workflow-group > summary span {
    display: grid;
    gap: .18rem;
}

.unit-workflow-group > summary strong {
    color: var(--c-text);
    font-size: 1rem;
}

.unit-workflow-group > summary small {
    color: var(--c-muted);
    font-size: .8rem;
    line-height: 1.35;
}

.unit-workflow-group > summary em {
    color: var(--c-muted);
    font-size: .72rem;
    font-style: normal;
    font-weight: 850;
    text-transform: uppercase;
    letter-spacing: .055em;
}

.unit-workflow-group[open] > summary em::before {
    content: "ausblenden";
}

.unit-workflow-group[open] > summary em {
    font-size: 0;
}

.unit-workflow-group[open] > summary em::before {
    font-size: .72rem;
}

.unit-workflow-group__body {
    display: grid;
    gap: var(--sp-md);
    padding: var(--sp-md);
}

.unit-workflow-group__body > .panel {
    margin: 0;
}

.unit-location-overview {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: var(--sp-md);
    align-items: start;
    padding: .9rem;
    border: 1px dashed rgba(148,163,184,.64);
    border-radius: var(--r-md);
    background: rgba(255,255,255,.74);
}

.unit-location-overview--ok {
    border-color: rgba(15,118,110,.34);
    background: rgba(240,253,250,.76);
}

.unit-location-overview--warn,
.unit-location-overview--open {
    border-color: rgba(217,119,6,.34);
    background: rgba(255,251,235,.74);
}

.unit-location-overview--danger {
    border-color: rgba(220,38,38,.34);
    background: rgba(254,242,242,.78);
}

.unit-location-overview__main {
    display: grid;
    gap: .24rem;
}

.unit-location-overview__main > strong {
    color: var(--c-text);
    font-size: 1rem;
}

.unit-location-overview__main p {
    margin: 0;
    color: var(--c-muted);
    font-size: .84rem;
    line-height: 1.45;
}

.unit-location-overview__details {
    grid-column: 1 / -1;
    margin: 0;
}

.unit-location-overview__rows {
    display: grid;
    gap: .4rem;
    padding-top: .55rem;
}

.unit-location-overview__rows article {
    display: grid;
    gap: .12rem;
    padding: .48rem .56rem;
    border: 1px solid rgba(148,163,184,.24);
    border-radius: var(--r-sm);
    background: rgba(255,255,255,.68);
}

.unit-location-overview__rows article strong {
    color: var(--c-text);
    font-size: .8rem;
}

.unit-location-overview__rows article span,
.unit-location-overview__rows > small {
    color: var(--c-muted);
    font-size: .74rem;
}

.unit-context-pill.is-warn,
.unit-context-pill.is-open {
    border-color: rgba(217,119,6,.24);
    background: rgba(255,251,235,.76);
}

.unit-context-pill.is-danger {
    border-color: rgba(220,38,38,.24);
    background: rgba(254,242,242,.78);
}

.unit-danger-details {
    margin: 0;
    border-color: rgba(220,38,38,.22);
}

.unit-danger-details > div {
    padding-top: var(--sp-sm);
}

@media (max-width: 1050px) {
    .locksmith-work-focus,
    .unit-editor-summary__facts {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .unit-editor-summary {
        grid-template-columns: 1fr;
    }

    .unit-editor-summary__identity {
        padding-right: 0;
        padding-bottom: var(--sp-sm);
        border-right: 0;
        border-bottom: 1px solid rgba(148,163,184,.28);
    }
}

@media (max-width: 720px) {
    .locksmith-work-focus,
    .unit-editor-summary__facts,
    .unit-library-toolbar {
        grid-template-columns: 1fr;
    }

    .locksmith-focus-card {
        min-height: 0;
    }

    .unit-library-toolbar__stats {
        justify-content: flex-start;
    }

    .unit-location-overview {
        grid-template-columns: 1fr;
    }

    .unit-location-overview__actions .btn {
        width: 100%;
    }

    .unit-workflow-group > summary {
        align-items: flex-start;
    }
}

.unit-library-toolbar label > small {
    color: var(--c-muted);
    font-size: .74rem;
    line-height: 1.35;
}

 

 
.mounting-page {
    --mounting-gap: 1rem;
}

.mounting-unit-picker-form {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: .75rem;
    align-items: end;
}

.mounting-unit-picker {
    min-width: 0;
    margin: 0;
}

.mounting-unit-picker-form__actions {
    display: flex;
    flex-wrap: wrap;
    gap: .55rem;
    align-items: center;
    padding-bottom: 1.45rem;
}

.mounting-unit-results {
    display: grid;
    gap: .55rem;
    margin-top: 1rem;
}

.mounting-unit-result {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: .9rem 1rem;
    border: 1px solid var(--c-border);
    border-radius: var(--r-md);
    background: var(--c-soft);
    color: inherit;
    text-decoration: none;
    transition: border-color .16s ease, transform .16s ease, background .16s ease;
}

.mounting-unit-result:hover,
.mounting-unit-result.is-selected {
    border-color: var(--c-primary);
    background: var(--c-surface);
    transform: translateY(-1px);
}

.mounting-unit-result > span:first-child {
    min-width: 0;
}

.mounting-unit-result strong,
.mounting-unit-result small {
    display: block;
}

.mounting-unit-result small {
    margin-top: .2rem;
    color: var(--c-muted);
}

.mounting-unit-result__counts {
    flex: 0 0 auto;
    min-width: 6.2rem;
    text-align: right;
    color: var(--c-muted);
    font-size: .82rem;
}

.mounting-unit-result__counts b {
    color: var(--c-text);
    font-size: 1.05rem;
}

.mounting-empty,
.mounting-start-state {
    display: grid;
    gap: .3rem;
    padding: 1rem;
    border: 1px dashed var(--c-border);
    border-radius: var(--r-md);
    color: var(--c-muted);
    background: var(--c-soft);
}

.mounting-start-state {
    margin-top: 1rem;
    min-height: 9rem;
    place-content: center;
    text-align: center;
}

.mounting-empty strong,
.mounting-start-state strong {
    color: var(--c-text);
}

.mounting-layout {
    margin-top: 1rem;
}

.mounting-unit-context {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1.5rem;
    margin-bottom: 1rem;
    padding: 1.1rem 1.2rem;
    border: 1px solid var(--c-border);
    border-radius: var(--r-lg);
    background: var(--c-surface);
}

.mounting-unit-context h2 {
    margin: .15rem 0 .25rem;
}

.mounting-unit-context p {
    margin: 0;
    color: var(--c-muted);
}

.mounting-unit-context__stats {
    display: grid;
    grid-template-columns: repeat(4, minmax(5.2rem, 1fr));
    gap: .5rem;
}

.mounting-unit-context__stats span {
    display: grid;
    gap: .15rem;
    padding: .65rem .75rem;
    border: 1px solid var(--c-border);
    border-radius: var(--r-md);
    text-align: center;
    color: var(--c-muted);
    font-size: .76rem;
}

.mounting-unit-context__stats strong {
    color: var(--c-text);
    font-size: 1.15rem;
}

.mounting-option-list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .85rem;
}

.mounting-option-card {
    display: flex;
    flex-direction: column;
    min-width: 0;
    padding: 1rem;
    border: 1px solid var(--c-border);
    border-left-width: 4px;
    border-radius: var(--r-lg);
    background: var(--c-soft);
}

.mounting-option-card--ok { border-left-color: var(--c-ok-text); }
.mounting-option-card--warn { border-left-color: var(--c-warn-text); }
.mounting-option-card--danger { border-left-color: var(--c-danger); }
.mounting-option-card--neutral { border-left-color: var(--c-border); opacity: .78; }

.mounting-option-card__head,
.mounting-option-card__footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .75rem;
}

.mounting-option-card__head h3 {
    margin: .15rem 0 0;
    font-size: 1rem;
}

.mounting-option-card__geometry {
    display: grid;
    gap: .25rem;
    margin-top: .9rem;
    padding: .75rem;
    border-radius: var(--r-md);
    background: var(--c-surface);
}

.mounting-option-card__geometry span,
.mounting-option-card__meta,
.mounting-option-card__footer small {
    color: var(--c-muted);
    font-size: .8rem;
}

.mounting-option-card__meta {
    margin: .55rem 0 0;
}

.mounting-option-card__note {
    margin: .7rem 0 0;
    line-height: 1.45;
}

.mounting-option-card__footer {
    margin-top: auto;
    padding-top: 1rem;
}

.mounting-source-note,
.mounting-form-note,
.mounting-legacy-box {
    display: grid;
    gap: .25rem;
    margin-top: .75rem;
    padding: .75rem;
    border: 1px solid var(--c-border);
    border-radius: var(--r-md);
    background: var(--c-surface);
}

.mounting-source-note span,
.mounting-form-note span,
.mounting-legacy-box span {
    color: var(--c-muted);
    font-size: .82rem;
    line-height: 1.4;
}

.mounting-method-fields {
    margin-top: 1rem;
}

.mounting-method-fields[hidden],
.mounting-common-fields[hidden] {
    display: none !important;
}

.mounting-equal-note {
    margin-top: 1rem;
}

.mounting-q-types {
    margin-top: 1rem;
}

.mounting-q-types__body {
    display: grid;
    gap: .85rem;
    padding-top: .85rem;
}

.mounting-q-types__head,
.mounting-q-type-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
}

.mounting-q-types__head > div,
.mounting-q-type-row > div:first-child {
    display: grid;
    gap: .2rem;
}

.mounting-q-types__head span,
.mounting-q-type-row span,
.mounting-q-type-row small {
    color: var(--c-muted);
    font-size: .8rem;
}

.mounting-q-type-list {
    display: grid;
    gap: .5rem;
}

.mounting-q-type-row {
    padding: .75rem .85rem;
    border: 1px solid var(--c-border);
    border-radius: var(--r-md);
    background: var(--c-soft);
}

.mounting-q-type-row > div:last-child {
    display: flex;
    align-items: center;
    gap: .5rem;
}

.mounting-boundary-list,
.mounting-method-guide {
    display: grid;
    gap: .6rem;
}

.mounting-boundary-list > div,
.mounting-method-guide > div {
    display: grid;
    gap: .2rem;
    padding-bottom: .6rem;
    border-bottom: 1px solid var(--c-border);
}

.mounting-boundary-list > div:last-child,
.mounting-method-guide > div:last-child {
    padding-bottom: 0;
    border-bottom: 0;
}

.mounting-boundary-list span,
.mounting-method-guide span {
    color: var(--c-muted);
    font-size: .82rem;
    line-height: 1.4;
}

@media (max-width: 900px) {
    .mounting-unit-picker-form {
        grid-template-columns: 1fr;
    }

    .mounting-unit-picker-form__actions {
        padding-bottom: 0;
    }

    .mounting-unit-context {
        align-items: stretch;
        flex-direction: column;
    }

    .mounting-option-list {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 620px) {
    .mounting-unit-result,
    .mounting-q-types__head,
    .mounting-q-type-row {
        align-items: stretch;
        flex-direction: column;
    }

    .mounting-unit-result__counts {
        text-align: left;
    }

    .mounting-unit-context__stats {
        grid-template-columns: 1fr;
    }

    .mounting-q-type-row > div:last-child {
        justify-content: space-between;
    }
}


 

 
.mounting-position-block {
    display: grid;
    gap: .75rem;
    margin-top: .9rem;
    padding-top: .9rem;
    border-top: 1px solid var(--c-border);
}

.mounting-position-block__head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .75rem;
}

.mounting-position-block__head > div {
    display: grid;
    gap: .18rem;
}

.mounting-position-block__head span,
.mounting-position-empty span {
    color: var(--c-muted);
    font-size: .78rem;
    line-height: 1.35;
}

.mounting-position-empty {
    display: grid;
    gap: .2rem;
    padding: .7rem .75rem;
    border: 1px dashed var(--c-border);
    border-radius: var(--r-md);
    background: var(--c-surface);
}

.mounting-position-list {
    display: grid;
    gap: .55rem;
}

.mounting-position-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: .65rem;
    align-items: center;
    padding: .7rem .75rem;
    border: 1px solid var(--c-border);
    border-radius: var(--r-md);
    background: var(--c-surface);
}

.mounting-position-row__main {
    display: flex;
    gap: .6rem;
    align-items: flex-start;
    min-width: 0;
}

.mounting-position-row__main > div {
    display: grid;
    gap: .15rem;
    min-width: 0;
}

.mounting-position-row__main span:not(.badge),
.mounting-position-row__main small,
.mounting-position-row > p {
    color: var(--c-muted);
    font-size: .76rem;
    line-height: 1.35;
}

.mounting-position-row > p {
    grid-column: 1 / -1;
    margin: 0;
    padding-left: 4.7rem;
}

.mounting-grid-preview {
    display: grid;
    grid-template-columns: minmax(4.8rem, .8fr) minmax(9rem, 1.5fr) minmax(4.8rem, .8fr);
    grid-template-rows: auto minmax(6.5rem, auto) auto;
    grid-template-areas:
        ". top ."
        "left rails right"
        ". bottom .";
    gap: .45rem;
    padding: .65rem;
    border: 1px solid var(--c-border);
    border-radius: var(--r-md);
    background: var(--c-surface);
}

.mounting-grid-preview__zone {
    display: grid;
    place-content: center;
    gap: .15rem;
    min-height: 3.8rem;
    padding: .45rem;
    border: 1px dashed var(--c-border);
    border-radius: var(--r-sm);
    text-align: center;
    background: var(--c-soft);
}

.mounting-grid-preview__zone strong {
    font-size: .78rem;
}

.mounting-grid-preview__zone span {
    color: var(--c-muted);
    font-size: .66rem;
    line-height: 1.25;
}

.mounting-grid-preview__zone.is-ok {
    border-style: solid;
    border-color: var(--c-ok-text);
}

.mounting-grid-preview__zone.is-warn {
    border-style: solid;
    border-color: var(--c-warn-text);
}

.mounting-grid-preview__zone.is-danger {
    border-style: solid;
    border-color: var(--c-danger);
}

.mounting-grid-preview__zone.is-neutral {
    opacity: .62;
}

.mounting-grid-preview__zone--top { grid-area: top; }
.mounting-grid-preview__zone--bottom { grid-area: bottom; }
.mounting-grid-preview__zone--left { grid-area: left; }
.mounting-grid-preview__zone--right { grid-area: right; }

.mounting-grid-preview__rails {
    grid-area: rails;
    display: grid;
    grid-template-rows: 1fr 1fr auto;
    gap: 1rem;
    align-items: center;
    padding: 1rem .75rem .55rem;
    border-radius: var(--r-sm);
    background: var(--c-soft);
}

.mounting-grid-preview__rails i {
    display: block;
    height: .55rem;
    border-radius: 999px;
    background: var(--c-text);
    opacity: .72;
}

.mounting-grid-preview__rails span {
    color: var(--c-muted);
    font-size: .68rem;
    text-align: center;
}

.mounting-option-meta-fields {
    margin-top: 1rem;
    align-items: stretch;
}

.mounting-option-meta-fields .mounting-form-note {
    margin-top: 0;
}

@media (max-width: 760px) {
    .mounting-position-block__head,
    .mounting-position-row {
        align-items: stretch;
        grid-template-columns: 1fr;
    }

    .mounting-position-block__head {
        display: grid;
    }

    .mounting-position-row > p {
        padding-left: 0;
    }

    .mounting-grid-preview {
        grid-template-columns: minmax(3.8rem, .7fr) minmax(7rem, 1.4fr) minmax(3.8rem, .7fr);
    }
}

.mounting-readiness-note {
    margin-top: .65rem;
}

  
.owner-context-label {
    display: inline-flex;
    align-items: center;
    min-height: 1.45rem;
    padding: .12rem .48rem;
    color: #4c397c;
    font-size: .72rem;
    font-weight: 900;
    background: #eee9fb;
    border: 1px solid rgba(116, 88, 189, .20);
    border-radius: 999px;
}

.owner-context-action {
    white-space: nowrap;
}


 


 
 
 

.door-system {
    padding-bottom: var(--sp-xl);
}

.door-system__intro .panel__body {
    padding-top: var(--sp-md);
}

.door-system__connection-grid {
    display: grid;
    grid-template-columns: minmax(17rem, 22rem) minmax(0, 1fr);
    gap: var(--sp-lg);
    align-items: start;
}

.door-pending-panel,
.door-workplace-panel {
    min-height: 34rem;
}

.door-pending-list,
.door-workplace-list {
    display: grid;
    gap: var(--sp-sm);
    align-content: start;
}

.door-pending-help {
    justify-content: flex-start;
    color: var(--c-muted);
    font-size: .82rem;
    font-weight: 800;
}

.door-system__search {
    width: min(100%, 20rem);
}

.door-system__search .field {
    width: 100%;
}

.door-system__search .field-label {
    margin-bottom: .2rem;
    font-size: .72rem;
    color: var(--c-muted);
}

.pending-item {
    width: 100%;
    display: grid;
    gap: .4rem;
    padding: .8rem;
    text-align: left;
    color: var(--c-text);
    background: var(--c-surface);
    border: 1px solid var(--c-border);
    border-radius: var(--r-md);
    box-shadow: var(--shadow-sm);
}

.pending-item:hover {
    border-color: rgba(32, 97, 174, .42);
    background: var(--c-primary-soft);
}

.pending-item[aria-pressed="true"] {
    border-color: var(--c-primary);
    box-shadow: 0 0 0 .18rem rgba(32, 97, 174, .1);
    background: var(--c-primary-soft);
}

.pending-item:disabled {
    cursor: not-allowed;
    opacity: .62;
}

.pending-item__top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--sp-sm);
}

.pending-code {
    color: var(--c-primary);
    font-size: .94rem;
    letter-spacing: .04em;
}

.pending-age,
.pending-label {
    color: var(--c-muted);
    font-size: .76rem;
    font-weight: 750;
}

.workplace-card {
    overflow: hidden;
    border: 1px solid var(--c-border);
    border-radius: var(--r-lg);
    background: var(--c-surface);
    box-shadow: var(--shadow-sm);
}

.workplace-card__header,
.workplace-card__footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--sp-md);
    padding: var(--sp-md);
}

.workplace-card__header {
    border-bottom: 1px solid var(--c-border);
    background: var(--c-soft);
}

.workplace-card__header h3 {
    margin: 0;
    font-size: .98rem;
}

.workplace-meta {
    display: block;
    margin-top: .18rem;
    color: var(--c-muted);
    font-size: .76rem;
    font-weight: 750;
}

.workplace-type {
    display: inline-flex;
    align-items: center;
    padding: .22rem .48rem;
    border-radius: var(--r-pill);
    background: var(--c-neutral-bg);
    color: var(--c-neutral-text);
    font-size: .68rem;
    font-weight: 950;
    text-transform: uppercase;
    letter-spacing: .04em;
}

.slot-list {
    display: grid;
}

.slot-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: var(--sp-md);
    align-items: center;
    padding: .75rem var(--sp-md);
    border-bottom: 1px solid var(--c-border);
}

.slot-row:last-child {
    border-bottom: 0;
}

.slot-row.is-occupied {
    background: rgba(245, 158, 11, .045);
}

.slot-title {
    font-weight: 900;
}

.slot-meta {
    margin-top: .16rem;
    color: var(--c-muted);
    font-size: .76rem;
    font-weight: 720;
}

.slot-action,
.workplace-add-button {
    min-height: 2rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: .45rem .65rem;
    border: 0;
    border-radius: var(--r-md);
    font-size: .78rem;
    font-weight: 900;
    color: #fff;
    background: var(--c-primary);
}

.slot-action:hover,
.workplace-add-button:hover {
    background: var(--c-primary-hover);
}

.slot-action--replace {
    background: var(--c-danger);
}

.slot-action--replace:hover {
    background: #991b1b;
}

.slot-action:disabled,
.workplace-add-button:disabled {
    cursor: not-allowed;
    opacity: .5;
}

.workplace-card__footer {
    justify-content: flex-end;
    border-top: 1px solid var(--c-border);
    background: #fbfcfe;
}

.empty-state {
    margin: 0;
    padding: var(--sp-lg);
    color: var(--c-muted);
    text-align: center;
    font-size: .84rem;
    font-weight: 750;
}

.door-system [data-owner-alert][data-tone="success"] {
    border-left-color: #22c55e;
    background: linear-gradient(135deg, rgba(220, 252, 231, .9), rgba(255,255,255,.88));
}

.door-system [data-owner-alert][data-tone="info"] {
    border-left-color: var(--c-primary);
    background: linear-gradient(135deg, rgba(239, 246, 255, .92), rgba(255,255,255,.88));
}

.door-system__future .card {
    box-shadow: none;
}

.door-system__future h3 {
    margin: var(--sp-sm) 0 .25rem;
}

.door-system__future p {
    margin: 0;
}

.door-system__live {
    margin: 0;
    text-align: right;
}

.replacement-summary {
    margin: 0;
    font-weight: 850;
}

@media (max-width: 980px) {
    .door-system__connection-grid {
        grid-template-columns: 1fr;
    }

    .door-pending-panel,
    .door-workplace-panel {
        min-height: 0;
    }

    .door-system__future {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 680px) {
    .door-system-page .page {
        padding: var(--sp-md);
    }

    .door-system .panel__header,
    .workplace-card__header,
    .workplace-card__footer,
    .slot-row {
        grid-template-columns: 1fr;
        align-items: stretch;
    }

    .door-system .panel__header,
    .workplace-card__header,
    .workplace-card__footer {
        flex-direction: column;
        align-items: stretch;
    }

    .door-system__search {
        width: 100%;
    }

    .slot-action,
    .workplace-add-button {
        width: 100%;
    }
}

  
.slot-row[data-occupied="true"] {
    background: rgba(245, 158, 11, .045);
}

.slot-row__top {
    display: flex;
    align-items: center;
    gap: var(--sp-sm);
    flex-wrap: wrap;
}

.slot-number {
    font-weight: 950;
}

.slot-status {
    display: inline-flex;
    align-items: center;
    padding: .14rem .4rem;
    border-radius: var(--r-pill);
    background: var(--c-ok-bg);
    color: var(--c-ok-text);
    font-size: .66rem;
    font-weight: 950;
    text-transform: uppercase;
    letter-spacing: .04em;
}

.slot-row[data-occupied="true"] .slot-status {
    background: var(--c-warn-bg);
    color: var(--c-warn-text);
}

 



 
.door-schedule-list {
    display: grid;
    gap: var(--sp-sm);
}

.door-schedule-row {
    display: grid;
    grid-template-columns: minmax(13rem, .75fr) minmax(0, 1.25fr);
    gap: var(--sp-md);
    align-items: center;
    padding: .78rem var(--sp-md);
    border: 1px solid var(--c-border);
    border-radius: var(--r-md);
    background: var(--c-surface);
}

.door-schedule-row__identity,
.door-schedule-row__decision {
    display: grid;
    gap: .18rem;
}

.door-schedule-row__identity span {
    color: var(--c-muted);
    font-size: .72rem;
    font-weight: 850;
    letter-spacing: .035em;
}

.door-schedule-row__decision {
    grid-template-columns: auto minmax(0, 1fr);
    align-items: center;
    gap: var(--sp-sm);
}

.door-profile-grid,
.door-calendar-grid {
    align-items: start;
}

.door-profile-card {
    display: grid;
    gap: var(--sp-md);
    box-shadow: none;
}

.door-profile-card__head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: var(--sp-md);
}

.door-profile-card__head h3,
.door-calendar-entry h3 {
    margin: 0;
}

.door-profile-card__head p {
    margin: .14rem 0 0;
}

.door-profile-card__empty {
    margin: 0;
}

.door-window-list {
    display: grid;
    gap: .36rem;
}

.door-window-row {
    display: grid;
    grid-template-columns: minmax(6rem, .8fr) minmax(0, 1.2fr);
    gap: var(--sp-sm);
    padding: .46rem .58rem;
    border-radius: var(--r-sm);
    background: var(--c-soft);
    font-size: .8rem;
}

.door-window-row span {
    color: var(--c-muted);
    text-align: right;
    font-weight: 760;
}

.door-calendar-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.door-calendar-grid .panel {
    min-width: 0;
}

.door-calendar-list {
    display: grid;
    gap: var(--sp-sm);
    align-content: start;
}

.door-calendar-entry {
    display: grid;
    gap: .38rem;
    padding: .78rem;
    border: 1px solid var(--c-border);
    border-radius: var(--r-md);
    background: var(--c-surface);
}

.door-calendar-entry p,
.door-calendar-entry small {
    margin: 0;
}

.door-calendar-entry p {
    color: var(--c-muted);
    font-size: .8rem;
    line-height: 1.45;
}

.door-calendar-entry small {
    color: var(--c-muted);
    font-weight: 760;
}

.door-calendar-entry--danger {
    border-color: rgba(185, 28, 28, .24);
    background: rgba(254, 242, 242, .62);
}

.door-priority-list {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: var(--sp-sm);
    margin: 0;
    padding: 0;
    list-style: none;
}

.door-priority-list li {
    min-width: 0;
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: .55rem;
    align-items: center;
    padding: .68rem;
    border: 1px solid var(--c-border);
    border-radius: var(--r-md);
    background: var(--c-surface);
}

.door-priority-list li > span {
    width: 1.8rem;
    height: 1.8rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: var(--r-pill);
    color: var(--c-primary);
    background: var(--c-primary-soft);
    font-weight: 950;
}

.door-priority-list strong {
    font-size: .78rem;
    line-height: 1.3;
}

@media (max-width: 1120px) {
    .door-calendar-grid,
    .door-priority-list {
        grid-template-columns: 1fr 1fr;
    }
}

@media (max-width: 760px) {
    .door-schedule-row,
    .door-schedule-row__decision,
    .door-window-row,
    .door-calendar-grid,
    .door-priority-list {
        grid-template-columns: 1fr;
    }

    .door-profile-card__head {
        flex-direction: column;
    }

    .door-window-row span {
        text-align: left;
    }
}

 



 
.door-section-nav {
    display: flex;
    flex-wrap: wrap;
    gap: var(--sp-xs);
    margin: var(--sp-md) 0 var(--sp-lg);
    padding: .42rem;
    border: 1px solid var(--c-border);
    border-radius: var(--r-lg);
    background: var(--c-surface);
    box-shadow: var(--shadow-sm);
}

.door-section-nav__link {
    min-height: 2.25rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: .48rem .76rem;
    border-radius: var(--r-md);
    color: var(--c-muted);
    font-size: .78rem;
    font-weight: 900;
    text-decoration: none;
}

.door-section-nav__link:hover {
    color: var(--c-text);
    background: var(--c-soft);
}

.door-section-nav__link.is-active {
    color: var(--c-primary);
    background: var(--c-primary-soft);
}

.door-overview-metrics {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: var(--sp-sm);
}

.door-overview-routes .route-choice-node {
    min-height: 10.5rem;
}

.door-calendar-list--wide {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.door-access-grid,
.door-technical-grid {
    align-items: start;
}

.door-technical-grid .card,
.door-overview-routes .route-choice-node {
    box-shadow: none;
}

.door-technical-grid h3 {
    margin: var(--sp-sm) 0 .3rem;
}

.door-technical-grid p {
    margin: 0;
}

@media (max-width: 980px) {
    .door-overview-metrics {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .door-calendar-list--wide {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 680px) {
    .door-section-nav {
        display: grid;
        grid-template-columns: 1fr 1fr;
    }

    .door-section-nav__link:first-child {
        grid-column: 1 / -1;
    }

    .door-overview-metrics {
        grid-template-columns: 1fr;
    }
}

 


 
.door-profile-card {
    display: grid;
    gap: var(--sp-md);
}

.door-profile-card__head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: var(--sp-md);
}

.door-profile-card__head h3,
.door-profile-card__head p {
    margin: 0;
}

.door-window-list {
    display: grid;
    gap: .45rem;
}

.door-window-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--sp-md);
    padding: .55rem .7rem;
    border: 1px solid var(--c-border);
    border-radius: var(--r-md);
    background: var(--c-soft);
}

.door-profile-card__workplaces {
    padding-top: var(--sp-sm);
    border-top: 1px solid var(--c-border);
}

.door-profile-editor {
    width: min(100%, 72rem);
}

.door-window-editor-row {
    display: grid;
    grid-template-columns: minmax(9rem, 1.2fr) minmax(7rem, .8fr) minmax(7rem, .8fr) minmax(10rem, 1fr) auto;
    gap: var(--sp-sm);
    align-items: end;
    padding: var(--sp-md);
    border: 1px solid var(--c-border);
    border-radius: var(--r-lg);
    background: var(--c-surface);
}

.door-window-editor-row__actions {
    display: flex;
    align-items: flex-end;
    min-height: 2.65rem;
}

.door-profile-preview {
    display: grid;
    gap: var(--sp-md);
}

.door-profile-preview__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--sp-md);
}

.door-profile-preview__state {
    display: grid;
    gap: .35rem;
    padding: var(--sp-md);
    border: 1px solid var(--c-border);
    border-radius: var(--r-lg);
    background: var(--c-surface);
}

@media (max-width: 860px) {
    .door-window-editor-row {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .door-window-editor-row__actions {
        grid-column: 1 / -1;
    }
}

@media (max-width: 620px) {
    .door-window-row,
    .door-profile-card__head {
        align-items: flex-start;
        flex-direction: column;
    }

    .door-window-editor-row,
    .door-profile-preview__grid {
        grid-template-columns: 1fr;
    }
}

 


 
.door-calendar-entry--editable {
    min-width: 0;
}

.door-calendar-entry__head,
.door-calendar-entry__actions {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--sp-sm);
}

.door-calendar-entry__actions {
    justify-content: flex-end;
    flex-wrap: wrap;
}

.door-calendar-editor {
    width: min(100%, 68rem);
}

.door-calendar-editor__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--sp-md);
}

.door-calendar-editor__name {
    grid-column: span 1;
}

.door-calendar-preview {
    display: grid;
    gap: var(--sp-md);
}

.door-calendar-preview__summary,
.door-calendar-preview__section,
.door-calendar-preview__overlap {
    display: grid;
    gap: .38rem;
    padding: var(--sp-md);
    border: 1px solid var(--c-border);
    border-radius: var(--r-lg);
    background: var(--c-surface);
}

.door-calendar-preview__overlaps {
    display: grid;
    gap: var(--sp-sm);
}

.door-calendar-preview__overlap {
    padding: .65rem .75rem;
    border-radius: var(--r-md);
    background: var(--c-soft);
}

@media (max-width: 760px) {
    .door-calendar-editor__grid {
        grid-template-columns: 1fr;
    }

    .door-calendar-entry__head,
    .door-calendar-entry__actions {
        align-items: flex-start;
        flex-direction: column;
    }
}

 

 
.door-technical-work {
  --door-tech-line: rgba(57, 93, 105, 0.2);
}

.door-technical-stage-list,
.door-technical-audit-list {
  display: grid;
  gap: 9px;
}

.door-technical-stage {
  display: grid;
  grid-template-columns: 108px minmax(0, 1fr);
  gap: 14px;
  align-items: start;
  padding: 12px 14px;
  background: rgba(255, 255, 255, 0.78);
  border: 1px solid var(--door-tech-line);
  border-radius: 9px;
}

.door-technical-stage__state {
  padding-top: 1px;
}

.door-technical-stage__copy {
  display: grid;
  gap: 4px;
  min-width: 0;
}

.door-technical-stage__copy strong {
  color: var(--blueprint-text, #17333d);
  font-size: 0.84rem;
}

.door-technical-stage__copy span {
  color: var(--blueprint-muted, #61757d);
  font-size: 0.75rem;
  font-weight: 680;
  line-height: 1.45;
}

.door-technical-kpi-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
}

.door-technical-kpi-grid > div,
.door-technical-connection-counts > div {
  display: grid;
  gap: 5px;
  padding: 12px;
  background: rgba(246, 250, 251, 0.92);
  border: 1px solid var(--door-tech-line);
  border-radius: 8px;
}

.door-technical-kpi-grid span,
.door-technical-connection-counts span {
  color: var(--blueprint-muted, #61757d);
  font-size: 0.67rem;
  font-weight: 850;
  text-transform: uppercase;
  letter-spacing: 0.025em;
}

.door-technical-kpi-grid strong,
.door-technical-connection-counts strong {
  color: var(--blueprint-text, #17333d);
  font-size: 1.08rem;
}

.door-technical-area-list,
.door-technical-facts {
  display: grid;
  gap: 0;
  margin: 0;
  border: 1px solid var(--door-tech-line);
  border-radius: 8px;
  overflow: hidden;
}

.door-technical-area-list > div,
.door-technical-facts > div {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 14px;
  align-items: center;
  padding: 9px 11px;
  background: rgba(255, 255, 255, 0.8);
  border-bottom: 1px solid var(--door-tech-line);
}

.door-technical-area-list > div:last-child,
.door-technical-facts > div:last-child {
  border-bottom: 0;
}

.door-technical-area-list span,
.door-technical-facts dt {
  color: var(--blueprint-muted, #61757d);
  font-size: 0.74rem;
  font-weight: 720;
}

.door-technical-area-list strong,
.door-technical-facts dd {
  margin: 0;
  color: var(--blueprint-text, #17333d);
  font-size: 0.75rem;
  font-weight: 850;
}

.door-technical-connection-counts {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
}

.door-technical-table td small {
  display: block;
  margin-top: 3px;
  color: var(--blueprint-muted, #61757d);
  font-size: 0.68rem;
}

.door-technical-audit-event {
  display: grid;
  grid-template-columns: 142px minmax(0, 1fr);
  gap: 14px;
  padding: 11px 13px;
  background: rgba(255, 255, 255, 0.8);
  border: 1px solid var(--door-tech-line);
  border-radius: 8px;
}

.door-technical-audit-event__time {
  color: var(--blueprint-muted, #61757d);
  font-size: 0.69rem;
  font-weight: 780;
  line-height: 1.45;
}

.door-technical-audit-event__copy {
  display: grid;
  gap: 5px;
  min-width: 0;
}

.door-technical-audit-event__copy p,
.door-technical-audit-event__copy small {
  margin: 0;
}

.door-technical-audit-event__copy p {
  color: var(--blueprint-text, #17333d);
  font-size: 0.76rem;
  font-weight: 720;
  line-height: 1.45;
}

.door-technical-audit-event__copy small {
  overflow-wrap: anywhere;
  color: var(--blueprint-muted, #61757d);
  font-size: 0.66rem;
  font-weight: 700;
}

@media (max-width: 980px) {
  .door-technical-kpi-grid,
  .door-technical-connection-counts {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 700px) {
  .door-technical-stage,
  .door-technical-audit-event {
    grid-template-columns: 1fr;
  }

  .door-technical-kpi-grid,
  .door-technical-connection-counts {
    grid-template-columns: 1fr;
  }
}


 



 
.door-page-lead .panel__header {
    padding-top: .9rem;
    padding-bottom: .9rem;
}

.door-connection-selection {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--sp-lg);
    padding: .72rem .85rem;
    border: 1px solid rgba(32, 97, 174, .26);
    border-left: .28rem solid var(--c-primary);
    border-radius: var(--r-lg);
    background: var(--c-primary-soft);
}

.door-connection-selection > div {
    min-width: 0;
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    align-items: baseline;
    gap: .18rem .7rem;
}

.door-connection-selection .eyebrow {
    grid-column: 1 / -1;
    margin: 0;
}

.door-connection-selection strong {
    font-size: .9rem;
}

.door-connection-selection span:last-child {
    min-width: 0;
    color: var(--c-muted);
    font-size: .8rem;
    font-weight: 720;
}

.door-connections .door-system__connection-grid {
    grid-template-columns: minmax(17rem, 20rem) minmax(0, 1fr);
    gap: var(--sp-md);
}

.door-connections .door-pending-panel,
.door-connections .door-workplace-panel {
    min-height: 30rem;
}

.door-connections .door-pending-list,
.door-connections .door-workplace-list {
    gap: .6rem;
    padding: .7rem;
}

.door-connections .pending-item {
    gap: .25rem;
    padding: .68rem .72rem;
    box-shadow: none;
}

.door-connections .workplace-card {
    border-radius: var(--r-md);
    box-shadow: none;
}

.door-connections .workplace-card__header {
    padding: .66rem .78rem;
}

.door-connections .workplace-card__header h3 {
    font-size: .9rem;
}

.door-connections .slot-row {
    min-height: 3.8rem;
    padding: .58rem .78rem;
}

.slot-row__details {
    min-width: 0;
}

.slot-row__actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    flex-wrap: wrap;
    gap: .42rem;
}

.door-connections .slot-number {
    font-size: .85rem;
}

.door-connections .slot-meta,
.door-connections .workplace-meta {
    font-size: .72rem;
}

.door-connections .workplace-card__footer {
    padding: .55rem .78rem;
}

.door-connection-detail {
    display: grid;
    gap: .28rem;
    padding: .85rem;
    border: 1px solid var(--c-border);
    border-radius: var(--r-md);
    background: var(--c-soft);
}

.door-connection-detail strong {
    font-size: .95rem;
}

.door-connection-detail span {
    color: var(--c-muted);
    font-size: .8rem;
    font-weight: 720;
}

.door-connection-manage-actions {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: var(--sp-sm);
}

.door-rule-summary {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--sp-sm);
}

.door-rule-summary__item,
.door-priority-note {
    display: grid;
    gap: .18rem;
    padding: .68rem .78rem;
    border: 1px solid var(--c-border);
    border-radius: var(--r-md);
    background: var(--c-soft);
}

.door-rule-summary__item strong,
.door-priority-note strong {
    font-size: .82rem;
}

.door-rule-summary__item span,
.door-priority-note span {
    color: var(--c-muted);
    font-size: .76rem;
    line-height: 1.4;
    font-weight: 720;
}

.door-priority-note--danger {
    border-color: rgba(185, 28, 28, .2);
    background: rgba(254, 242, 242, .62);
}

  
.door-profile-grid {
    display: block;
    column-count: 2;
    column-gap: var(--sp-md);
}

.door-profile-grid .door-profile-card {
    width: 100%;
    display: inline-grid;
    margin: 0 0 var(--sp-md);
    break-inside: avoid;
    gap: .7rem;
    box-shadow: none;
}

.door-profile-card .card__footer {
    padding-top: .55rem;
}

.door-profile-editor .modal__body {
    gap: .8rem;
    padding: .9rem;
}

.door-profile-editor .panel__header,
.door-profile-editor .panel__body {
    padding-top: .72rem;
    padding-bottom: .72rem;
}

.door-profile-editor .door-window-editor-row {
    gap: .55rem;
    padding: .68rem;
    border-radius: var(--r-md);
}

.door-profile-editor .field-label {
    margin-bottom: .18rem;
    font-size: .72rem;
}

@media (max-width: 980px) {
    .door-connections .door-system__connection-grid,
    .door-rule-summary {
        grid-template-columns: 1fr;
    }

    .door-profile-grid {
        column-count: 1;
    }
}

@media (max-width: 680px) {
    .door-connection-selection,
    .door-connection-manage-actions {
        align-items: stretch;
        grid-template-columns: 1fr;
    }

    .door-connection-selection {
        flex-direction: column;
    }

    .door-connection-selection > div {
        grid-template-columns: 1fr;
    }

    .slot-row__actions {
        justify-content: stretch;
    }

    .slot-row__actions .btn {
        flex: 1 1 auto;
    }
}

 


 
.door-schedule-workspace {
    --door-schedule-line: rgba(48, 78, 91, .18);
}

.door-schedule-lead .panel__body {
    padding-top: .8rem;
}

.door-schedule-now {
    display: grid;
    grid-template-columns: minmax(12rem, .28fr) minmax(0, 1fr);
    gap: var(--sp-md);
    align-items: stretch;
}

.door-schedule-now__meta {
    display: grid;
    align-content: center;
    gap: .22rem;
    padding: .78rem .85rem;
    border: 1px solid var(--door-schedule-line);
    border-radius: var(--r-md);
    background: var(--c-soft);
}

.door-schedule-now__meta .eyebrow {
    margin: 0;
}

.door-schedule-now__meta strong {
    font-size: .92rem;
}

.door-schedule-now__meta > span:last-child {
    color: var(--c-muted);
    font-size: .72rem;
    font-weight: 750;
}

.door-schedule-now__profiles {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .55rem;
}

.door-schedule-now__profile {
    min-width: 0;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .8rem;
    padding: .62rem .72rem;
    border: 1px solid var(--door-schedule-line);
    border-radius: var(--r-md);
    background: rgba(255, 255, 255, .76);
}

.door-schedule-now__profile > div:first-child {
    min-width: 0;
    display: grid;
    gap: .12rem;
}

.door-schedule-now__profile strong {
    overflow: hidden;
    font-size: .8rem;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.door-schedule-now__profile > div:first-child span {
    color: var(--c-muted);
    font-size: .68rem;
    font-weight: 720;
}

.door-schedule-exceptions {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--sp-md);
    padding: .68rem .8rem;
    border: 1px solid var(--door-schedule-line);
    border-radius: var(--r-md);
    background: var(--c-surface);
}

.door-schedule-exceptions > div {
    display: grid;
    gap: .16rem;
}

.door-schedule-exceptions .eyebrow {
    margin: 0;
}

.door-schedule-exceptions strong {
    font-size: .8rem;
}

.door-schedule-work-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: var(--sp-md);
    align-items: start;
}

.door-schedule-work-grid > .panel {
    min-width: 0;
    box-shadow: none;
}

.door-schedule-profiles > .notice,
.door-schedule-calendar > .notice {
    margin: .7rem .8rem 0;
}

.door-schedule-profile-list,
.door-schedule-calendar-list {
    display: grid;
    gap: .6rem;
    align-content: start;
}

.door-schedule-profile {
    display: grid;
    gap: .55rem;
    padding: .7rem .75rem;
    border: 1px solid var(--door-schedule-line);
    border-radius: var(--r-md);
    background: rgba(255, 255, 255, .84);
}

.door-schedule-profile__head,
.door-schedule-profile > footer {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: .7rem;
}

.door-schedule-profile__head > div {
    min-width: 0;
}

.door-schedule-profile h3 {
    margin: 0;
    font-size: .88rem;
}

.door-schedule-profile__head > div > span,
.door-schedule-profile > footer > span:first-child {
    color: var(--c-muted);
    font-size: .68rem;
    font-weight: 740;
}

.door-schedule-profile__windows {
    display: grid;
    gap: 0;
    overflow: hidden;
    border: 1px solid var(--door-schedule-line);
    border-radius: var(--r-sm);
}

.door-schedule-profile__windows > div {
    display: grid;
    grid-template-columns: minmax(6rem, .8fr) minmax(0, 1.2fr);
    gap: .6rem;
    padding: .38rem .5rem;
    background: var(--c-soft);
    border-bottom: 1px solid var(--door-schedule-line);
    font-size: .74rem;
}

.door-schedule-profile__windows > div:last-child {
    border-bottom: 0;
}

.door-schedule-profile__windows span {
    color: var(--c-muted);
    text-align: right;
    font-weight: 740;
}

.door-schedule-profile > footer {
    align-items: center;
    padding-top: .5rem;
    border-top: 1px solid var(--door-schedule-line);
}

.door-schedule-profile__empty {
    margin: 0;
}

.door-schedule-calendar-entry {
    display: grid;
    grid-template-columns: 3.6rem minmax(0, 1fr) auto;
    gap: .72rem;
    align-items: center;
    padding: .68rem .72rem;
    border: 1px solid var(--door-schedule-line);
    border-radius: var(--r-md);
    background: rgba(255, 255, 255, .84);
}

.door-schedule-calendar-entry__date {
    display: grid;
    justify-items: center;
    gap: .08rem;
    padding: .45rem .35rem;
    border-radius: var(--r-sm);
    background: var(--c-soft);
}

.door-schedule-calendar-entry__date strong {
    font-size: .9rem;
}

.door-schedule-calendar-entry__date span {
    color: var(--c-muted);
    font-size: .65rem;
    font-weight: 760;
}

.door-schedule-calendar-entry__copy {
    min-width: 0;
    display: grid;
    gap: .24rem;
}

.door-schedule-calendar-entry__copy h3 {
    margin: 0;
    font-size: .86rem;
}

.door-schedule-calendar-entry__copy > span {
    color: var(--c-muted);
    font-size: .72rem;
    font-weight: 720;
}

.door-schedule-calendar-entry__actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: .4rem;
    flex-wrap: wrap;
}

.door-schedule-priority .panel__body {
    padding-top: .75rem;
}

.door-decision-editor {
    width: min(100%, 62rem);
}

.door-decision-controls {
    display: grid;
    grid-template-columns: minmax(14rem, 1.2fr) minmax(13rem, .8fr) auto;
    gap: .7rem;
    align-items: end;
}

.door-decision-result {
    display: grid;
    gap: .72rem;
}

.door-decision-summary {
    display: grid;
    gap: .22rem;
    padding: .8rem .88rem;
    border: 1px solid var(--door-schedule-line);
    border-left-width: .3rem;
    border-radius: var(--r-md);
    background: var(--c-surface);
}

.door-decision-summary.is-open {
    border-left-color: #16a34a;
    background: rgba(240, 253, 244, .72);
}

.door-decision-summary.is-closed {
    border-left-color: #64748b;
    background: rgba(248, 250, 252, .88);
}

.door-decision-summary .eyebrow {
    margin: 0;
}

.door-decision-summary strong {
    font-size: 1.05rem;
}

.door-decision-facts {
    display: grid;
    gap: 0;
    margin: 0;
    overflow: hidden;
    border: 1px solid var(--door-schedule-line);
    border-radius: var(--r-md);
}

.door-decision-facts > div {
    display: grid;
    grid-template-columns: minmax(9rem, .42fr) minmax(0, 1fr);
    gap: .7rem;
    padding: .52rem .65rem;
    border-bottom: 1px solid var(--door-schedule-line);
    background: rgba(255, 255, 255, .8);
}

.door-decision-facts > div:last-child {
    border-bottom: 0;
}

.door-decision-facts dt,
.door-decision-facts dd {
    margin: 0;
    font-size: .74rem;
}

.door-decision-facts dt {
    color: var(--c-muted);
    font-weight: 760;
}

.door-decision-facts dd {
    font-weight: 830;
}

.door-decision-trace {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: .45rem;
    margin: 0;
    padding: 0;
    list-style: none;
}

.door-decision-trace li {
    min-width: 0;
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: .45rem;
    align-items: center;
    padding: .55rem;
    border: 1px solid var(--door-schedule-line);
    border-radius: var(--r-md);
    background: var(--c-soft);
}

.door-decision-trace li.is-winner {
    border-color: rgba(32, 97, 174, .42);
    background: var(--c-primary-soft);
}

.door-decision-trace li.is-overridden {
    opacity: .7;
}

.door-decision-trace__rank {
    width: 1.65rem;
    height: 1.65rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: var(--r-pill);
    color: var(--c-primary);
    background: #fff;
    font-size: .72rem;
    font-weight: 950;
}

.door-decision-trace li > div {
    min-width: 0;
    display: grid;
    gap: .08rem;
}

.door-decision-trace strong {
    font-size: .7rem;
    line-height: 1.3;
}

  
.door-profile-editor .door-window-editor-row {
    grid-template-columns: minmax(9rem, 1.2fr) minmax(7rem, .7fr) minmax(7rem, .7fr) minmax(13rem, auto);
}

.door-profile-editor .door-window-editor-row.has-offset {
    grid-template-columns: minmax(9rem, 1.2fr) minmax(7rem, .7fr) minmax(7rem, .7fr) minmax(10rem, .9fr) minmax(13rem, auto);
}

.door-profile-editor .door-window-editor-row__actions {
    gap: .4rem;
    justify-content: flex-end;
}

@media (max-width: 1120px) {
    .door-schedule-work-grid,
    .door-schedule-now {
        grid-template-columns: 1fr;
    }

    .door-decision-trace {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 860px) {
    .door-schedule-now__profiles,
    .door-decision-controls,
    .door-profile-editor .door-window-editor-row,
    .door-profile-editor .door-window-editor-row.has-offset {
        grid-template-columns: 1fr;
    }

    .door-profile-editor .door-window-editor-row__actions {
        grid-column: auto;
        justify-content: stretch;
    }

    .door-profile-editor .door-window-editor-row__actions .btn {
        flex: 1 1 auto;
    }

    .door-schedule-calendar-entry {
        grid-template-columns: 3.4rem minmax(0, 1fr);
    }

    .door-schedule-calendar-entry__actions {
        grid-column: 1 / -1;
        justify-content: flex-start;
        padding-left: 4.1rem;
    }
}

@media (max-width: 620px) {
    .door-schedule-exceptions,
    .door-schedule-now__profile,
    .door-schedule-profile__head,
    .door-schedule-profile > footer {
        align-items: stretch;
        flex-direction: column;
    }

    .door-schedule-profile__windows > div,
    .door-decision-facts > div,
    .door-decision-trace {
        grid-template-columns: 1fr;
    }

    .door-schedule-profile__windows span {
        text-align: left;
    }

    .door-schedule-calendar-entry {
        grid-template-columns: 1fr;
    }

    .door-schedule-calendar-entry__date {
        justify-items: start;
        grid-template-columns: auto auto;
        justify-content: start;
        gap: .35rem;
    }

    .door-schedule-calendar-entry__actions {
        grid-column: auto;
        padding-left: 0;
    }
}

.door-schedule-current-details {
    overflow: hidden;
    border: 1px solid var(--door-schedule-line);
    border-radius: var(--r-md);
    background: rgba(255, 255, 255, .72);
}

.door-schedule-current-details > summary {
    padding: .62rem .75rem;
    color: var(--c-primary);
    font-size: .76rem;
    font-weight: 880;
    cursor: pointer;
    list-style-position: inside;
}

.door-schedule-current-details[open] > summary {
    border-bottom: 1px solid var(--door-schedule-line);
    background: var(--c-soft);
}

.door-schedule-current-details .door-schedule-list {
    padding: .65rem;
}

.door-schedule-current-details .door-schedule-row {
    padding: .55rem .65rem;
    box-shadow: none;
}

.door-schedule-calendar-entry__copy small {
    color: var(--c-muted);
    font-size: .64rem;
    font-weight: 700;
    overflow-wrap: anywhere;
}

 


 
.door-profile-editor {
    width: min(100%, 76rem);
    max-height: min(94vh, 74rem);
}

.door-profile-editor .modal__body {
    padding: .9rem;
    overflow: auto;
}

.door-profile-editor__layout {
    display: grid;
    grid-template-columns: minmax(0, 1.45fr) minmax(18rem, .75fr);
    gap: .8rem;
    align-items: start;
}

.door-profile-editor__main,
.door-profile-editor__side {
    min-width: 0;
    display: grid;
    gap: .8rem;
}

.door-profile-editor__section {
    min-width: 0;
    display: grid;
    gap: .7rem;
    padding: .8rem;
    border: 1px solid var(--c-border);
    border-radius: var(--r-lg);
    background: var(--c-surface);
}

.door-profile-editor__section-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: .7rem;
}

.door-profile-editor__section-head > div {
    min-width: 0;
    display: grid;
    gap: .12rem;
}

.door-profile-editor__section-head h3,
.door-profile-editor__section-head p {
    margin: 0;
}

.door-profile-editor__section-head h3 {
    font-size: .92rem;
}

.door-profile-editor__section-head p {
    color: var(--c-muted);
    font-size: .72rem;
    line-height: 1.45;
}

.door-profile-window-list {
    display: grid;
    border: 1px solid var(--c-border);
    border-radius: var(--r-md);
    overflow: hidden;
}

.door-profile-editor .door-window-editor-row,
.door-profile-editor .door-window-editor-row.has-offset {
    grid-template-columns: minmax(8.5rem, 1.15fr) minmax(6.6rem, .72fr) minmax(6.6rem, .72fr) auto;
    gap: .5rem;
    align-items: end;
    padding: .55rem .6rem;
    border: 0;
    border-bottom: 1px solid var(--c-border);
    border-radius: 0;
    background: transparent;
}

.door-profile-editor .door-window-editor-row.has-offset {
    grid-template-columns: minmax(8.5rem, 1.1fr) minmax(6.3rem, .68fr) minmax(6.3rem, .68fr) minmax(8rem, .75fr) auto;
}

.door-profile-editor .door-window-editor-row:last-child {
    border-bottom: 0;
}

.door-profile-editor .door-window-editor-row__actions {
    display: flex;
    gap: .35rem;
    justify-content: flex-end;
    min-height: 2.4rem;
}

.door-profile-editor .door-window-editor-row__actions .btn {
    white-space: nowrap;
}

.door-profile-workplace-list {
    display: grid;
    gap: .42rem;
    max-height: 25rem;
    overflow: auto;
    padding-right: .15rem;
}

.door-profile-workplace-option {
    padding: .58rem .65rem;
    border-radius: var(--r-md);
}

.door-profile-workplace-option__copy {
    min-width: 0;
    display: grid;
    gap: .08rem;
}

.door-profile-workplace-option__copy strong {
    font-size: .78rem;
    line-height: 1.3;
}

.door-profile-workplace-option__copy small {
    color: var(--c-muted);
    font-size: .66rem;
    font-weight: 720;
}

.door-profile-workplace-list.is-readonly {
    opacity: .72;
}

.door-profile-editor__preview .door-profile-preview__grid {
    grid-template-columns: 1fr;
}

.door-profile-editor__preview .door-profile-preview__state {
    padding: .65rem;
    border-radius: var(--r-md);
}

.door-profile-preview__state--warn {
    border-color: rgba(185, 28, 28, .22);
    background: rgba(254, 242, 242, .62);
}

.door-profile-delete-notice {
    margin: 0;
}

.door-profile-editor__footer {
    gap: .55rem;
}

.door-profile-editor__footer-spacer {
    flex: 1 1 auto;
}

@media (max-width: 1040px) {
    .door-profile-editor__layout {
        grid-template-columns: 1fr;
    }

    .door-profile-workplace-list {
        max-height: 18rem;
    }
}

@media (max-width: 760px) {
    .door-profile-editor .door-window-editor-row,
    .door-profile-editor .door-window-editor-row.has-offset {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .door-profile-editor .door-window-editor-row__actions {
        grid-column: 1 / -1;
        justify-content: stretch;
    }

    .door-profile-editor .door-window-editor-row__actions .btn {
        flex: 1 1 auto;
    }

    .door-profile-editor__section-head {
        align-items: stretch;
        flex-direction: column;
    }
}

 


 
.door-access-lead .panel__body {
    padding-top: .72rem;
}

.door-access-intro {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--sp-md);
    padding: .72rem .8rem;
    border: 1px solid var(--c-border);
    border-radius: var(--r-md);
    background: var(--c-soft);
}

.door-access-intro__text {
    min-width: 0;
    display: grid;
    gap: .18rem;
}

.door-access-intro__text strong {
    font-size: .84rem;
}

.door-access-intro__text span {
    color: var(--c-muted);
    font-size: .76rem;
    font-weight: 720;
    line-height: 1.42;
}

.door-access-section {
    min-width: 0;
}

.door-access-section--danger {
    border-color: rgba(185, 28, 28, .18);
}

.door-access-entry-list {
    display: grid;
    gap: .62rem;
    align-content: start;
}

.door-access-entry-list .empty-state {
    margin: 0;
}

.door-access-entry {
    min-width: 0;
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(13.5rem, .42fr) auto;
    gap: var(--sp-md);
    align-items: center;
    padding: .82rem .88rem;
    border: 1px solid var(--c-border);
    border-radius: var(--r-md);
    background: var(--c-surface);
}

.door-access-entry--danger {
    border-color: rgba(185, 28, 28, .22);
    background: rgba(254, 242, 242, .48);
}

.door-access-entry__main {
    min-width: 0;
    display: grid;
    gap: .3rem;
}

.door-access-entry__head {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .4rem;
}

.door-access-entry h3,
.door-access-entry p {
    margin: 0;
}

.door-access-entry h3 {
    font-size: .94rem;
}

.door-access-entry p {
    color: var(--c-muted);
    font-size: .8rem;
    line-height: 1.42;
}

.door-access-entry__period {
    min-width: 0;
    display: grid;
    gap: .2rem;
    padding-left: var(--sp-md);
    border-left: 1px solid var(--c-border);
}

.door-access-entry__period .eyebrow {
    margin: 0;
}

.door-access-entry__period strong {
    font-size: .8rem;
    line-height: 1.4;
}

.door-access-entry__actions {
    min-width: 0;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    flex-wrap: wrap;
    gap: .42rem;
}

.door-access-entry__actions .small {
    max-width: 15rem;
    text-align: right;
}

.door-access-priority {
    display: flex;
    align-items: center;
    gap: var(--sp-sm);
    margin-bottom: .62rem;
    padding: .62rem .72rem;
    border-left: .22rem solid var(--c-danger);
    border-radius: 0 var(--r-md) var(--r-md) 0;
    background: rgba(254, 242, 242, .5);
}

.door-access-priority strong {
    flex: 0 0 auto;
    font-size: .8rem;
}

.door-access-priority span {
    color: var(--c-muted);
    font-size: .75rem;
    font-weight: 720;
    line-height: 1.4;
}

@media (max-width: 1080px) {
    .door-access-entry {
        grid-template-columns: minmax(0, 1fr) auto;
    }

    .door-access-entry__period {
        grid-column: 1;
        padding-top: .52rem;
        padding-left: 0;
        border-top: 1px solid var(--c-border);
        border-left: 0;
    }

    .door-access-entry__actions {
        grid-column: 2;
        grid-row: 1 / span 2;
    }
}

@media (max-width: 720px) {
    .door-access-intro,
    .door-access-priority {
        align-items: flex-start;
        flex-direction: column;
    }

    .door-access-entry {
        grid-template-columns: 1fr;
    }

    .door-access-entry__period,
    .door-access-entry__actions {
        grid-column: 1;
        grid-row: auto;
    }

    .door-access-entry__actions {
        justify-content: flex-start;
    }

    .door-access-entry__actions .small {
        max-width: none;
        text-align: left;
    }
}

  
.planner-queue-action-form {
    display: inline-flex;
    margin: 0;
}

:root {
  --door-viewport-height: 100dvh;
  --facade-offset-x: 0px;
  --door-panel-zone-width: 520px;
  --door-panel-zone-edge-x: 520px;

    
  --door-card-width-min: 420px;
  --door-card-width-fluid: 74%;
  --door-card-width-max: 580px;

    
  --blueprint-bg: #eaebed;
  --blueprint-accent: #006989;
  --blueprint-accent-hover: #00546d;
  --blueprint-line: rgba(0, 105, 137, 0.18);
  --blueprint-line-strong: rgba(0, 105, 137, 0.32);
  --blueprint-surface: #ffffff;
  --blueprint-text: #12323a;
  --blueprint-muted: #5f7379;
  --blueprint-grid-size: 28px;

    
  --led-cycle-duration: 100s;
  --led-cycle-delay: 0s;
  --led-play-state: running;
  --led-state-brightness: 1;
  --led-state-saturation: 1;
  --led-state-opacity: 1;
  --led-state-hue: 0deg;
  --debug-led-brightness: 1;
  --debug-led-saturation: 1;
  --debug-dim-opacity: 0;
  --state-overlay-color: #000000;
  --state-overlay-opacity: 0;

  --door-bg: #111318;
  --door-surface: rgba(250, 251, 252, 0.965);
  --door-surface-soft: #f4f6f8;
  --door-text: #151922;
  --door-muted: #657080;
  --door-border: rgba(17, 24, 39, 0.14);
  --door-primary: #2061ae;
  --door-primary-hover: #174a86;
  --door-ok: #26814a;
  --door-warn: #a76a12;
  --door-blocked: #a43a3a;
  --door-neutral: #6f7884;

  color-scheme: dark;
  font-family:
    Inter,
    ui-sans-serif,
    system-ui,
    -apple-system,
    BlinkMacSystemFont,
    "Segoe UI",
    sans-serif;
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

html,
body {
  width: 100%;
  min-height: 100%;
  margin: 0;
}

body {
  min-height: 100vh;
  overflow: hidden;
  background: var(--door-bg);
  color: var(--door-text);
}

button {
  font: inherit;
}

button:focus-visible {
  outline: 3px solid rgba(32, 97, 174, 0.28);
  outline-offset: 3px;
}

[hidden] {
  display: none !important;
}

.scene {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: var(--door-viewport-height, 100dvh);
  overflow: hidden;
  isolation: isolate;
  background: var(--door-bg);
}

  
.led-window {
  position: absolute;
  z-index: 0;
  inset: 0;
  overflow: hidden;
  background: #151821;
}

.led-track {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  opacity: var(--led-state-opacity);
  filter:
    brightness(var(--led-state-brightness))
    brightness(var(--debug-led-brightness))
    saturate(var(--led-state-saturation))
    saturate(var(--debug-led-saturation))
    hue-rotate(var(--led-state-hue));
  contain: paint;
  animation-duration: var(--led-cycle-duration);
  animation-delay: var(--led-cycle-delay);
  animation-timing-function: linear;
  animation-iteration-count: infinite;
  animation-play-state: var(--led-play-state);
}

 


 
body:not([data-background-mode]),
body[data-background-mode="surface"] {
  --active-background-mode: surface;
}

body:not([data-background-mode]) .led-track,
body[data-background-mode="surface"] .led-track {
  width: 100%;
  background-color: #2877e8;
  background-image: none;
  transform: translate3d(0, 0, 0);
  will-change: background-color;
  animation-name: led-color-cycle;
}

@keyframes led-color-cycle {
  0%, 7% { background-color: #2474e8; }
  11%, 18% { background-color: #405ee7; }
  22%, 29% { background-color: #694fe0; }
  33%, 40% { background-color: #9948d1; }
  44%, 51% { background-color: #d246aa; }
  55%, 62% { background-color: #e94e72; }
  66%, 73% { background-color: #ed7541; }
  77%, 82% { background-color: #dda83b; }
  86%, 90% { background-color: #79bf4b; }
  94%, 97% { background-color: #32bba8; }
  100% { background-color: #2474e8; }
}

 


 
body[data-background-mode="band"] .led-track {
  width: 200vw;
  right: auto;
  background-color: #2474e8;
  background-image:
    linear-gradient(
      90deg,
      #2474e8 0%,
      #405ee7 10%,
      #694fe0 20%,
      #9948d1 30%,
      #d246aa 40%,
      #e94e72 50%,
      #ed7541 60%,
      #dda83b 70%,
      #79bf4b 80%,
      #32bba8 90%,
      #2474e8 100%
    );
  background-size: 100vw 100%;
  background-repeat: repeat-x;
  transform: translate3d(0, 0, 0);
  will-change: transform;
  animation-name: led-band-scroll;
}

@keyframes led-band-scroll {
  from { transform: translate3d(0, 0, 0); }
  to { transform: translate3d(-100vw, 0, 0); }
}

 





 
.facade-stage {
  position: absolute;
  z-index: 1;
  inset: 0;
  overflow: hidden;
  pointer-events: none;
  user-select: none;
}

.facade {
  position: absolute;
  top: 0;
  left: 0;
  width: auto;
  height: 100%;
  max-width: none;
  object-fit: fill;
  transform: translate3d(var(--facade-offset-x), 0, 0);
  backface-visibility: hidden;
  -webkit-user-drag: none;
}

 


 
.door-layout {
  position: absolute;
  z-index: 3;
  top: 0;
  left: 0;
  bottom: 0;
  width: min(100vw, var(--door-panel-zone-width));
  display: grid;
  place-items: center;
  padding:
    clamp(28px, 5.8vh, 64px)
    clamp(20px, 2.4vw, 34px)
    clamp(64px, 8vh, 88px)
    clamp(18px, 2.6vw, 32px);
  pointer-events: none;
}

.door-card {
  width: clamp(
    var(--door-card-width-min),
    var(--door-card-width-fluid),
    var(--door-card-width-max)
  );
  max-width: 100%;
  max-height: calc(var(--door-viewport-height, 100dvh) - 40px);
  display: flex;
  flex-direction: column;
  overflow: hidden;
  pointer-events: auto;
  background: var(--blueprint-bg);
  color: var(--blueprint-text);
  border: 1px solid var(--blueprint-line-strong);
  border-radius: 12px;
  box-shadow:
    0 22px 64px rgba(0, 0, 0, 0.27),
    0 4px 14px rgba(0, 0, 0, 0.08);
}

.door-card__header {
  flex: 0 0 auto;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 18px;
  padding: 20px 22px 18px;
  border-bottom: 1px solid var(--blueprint-line);
  background: rgba(255, 255, 255, 0.52);
}

.brand {
  display: grid;
  gap: 2px;
}

.brand__name {
  color: var(--blueprint-text);
  font-size: 1.02rem;
  font-weight: 950;
  letter-spacing: 0.025em;
}

.brand__area {
  color: var(--blueprint-accent);
  font-size: 0.76rem;
  font-weight: 900;
  letter-spacing: 0.055em;
  text-transform: uppercase;
}

.door-badge {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  flex: 0 0 auto;
  min-height: 28px;
  padding: 5px 10px;
  color: #215f38;
  font-size: 0.72rem;
  font-weight: 850;
  line-height: 1;
  background: #e6f5eb;
  border: 1px solid rgba(38, 129, 74, 0.18);
  border-radius: 999px;
}

.door-badge__dot {
  width: 7px;
  height: 7px;
  background: var(--door-ok);
  border-radius: 50%;
  box-shadow: 0 0 0 3px rgba(38, 129, 74, 0.11);
}

.door-card__body {
  flex: 1 1 auto;
  min-height: 0;
  overflow-y: auto;
  overscroll-behavior: contain;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: thin;
  padding: 24px 22px 23px;
  background:
    linear-gradient(90deg, var(--blueprint-line) 1px, transparent 1px),
    linear-gradient(0deg, var(--blueprint-line) 1px, transparent 1px);
  background-color: var(--blueprint-bg);
  background-size: var(--blueprint-grid-size) var(--blueprint-grid-size);
  box-shadow: inset 0 0 34px 10px var(--blueprint-bg);
}

.door-kicker {
  display: inline-flex;
  margin: 0 0 9px;
  padding: 4px 7px;
  color: var(--blueprint-accent);
  font-size: 0.68rem;
  font-weight: 950;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  background: rgba(255, 255, 255, 0.76);
  border: 1px solid var(--blueprint-line);
  border-radius: 6px;
}

.door-title {
  margin: 0;
  color: var(--blueprint-text);
  font-size: clamp(1.65rem, 3vw, 2.1rem);
  line-height: 1.08;
  letter-spacing: -0.035em;
  text-align: left;
  text-wrap: balance;
}

.door-title > span {
  display: inline-block;
  max-width: 100%;
  padding: 8px 12px 9px;
  color: #f6fbfd;
  background: rgba(0, 105, 137, 0.72);
  border-radius: 0;
  box-shadow: none;
}

.door-description {
  margin: 10px 0 0;
  color: var(--blueprint-muted);
  font-size: 0.94rem;
  font-weight: 650;
  line-height: 1.55;
  text-align: left;
}

.door-description > span {
  display: inline-block;
  max-width: 100%;
  padding: 7px 11px 8px;
  color: rgba(246, 251, 253, 0.96);
  background: rgba(0, 105, 137, 0.72);
  border-radius: 0;
  box-shadow: none;
}

.door-context {
  margin: 22px 0 0;
  overflow: hidden;
  background: rgba(255, 255, 255, 0.94);
  border: 1px solid var(--blueprint-line-strong);
  border-radius: 9px;
  box-shadow: 0 2px 8px rgba(18, 50, 58, 0.045);
}

.door-context__row {
  display: grid;
  grid-template-columns: minmax(116px, 0.75fr) minmax(0, 1.25fr);
  gap: 14px;
  padding: 12px 14px;
}

.door-context__row + .door-context__row {
  border-top: 1px solid var(--blueprint-line);
}

.door-context dt,
.door-context dd {
  color: var(--blueprint-text);
  font-size: 0.82rem;
  font-weight: 900;
  text-align: right;
}

.door-context dt {
  color: var(--blueprint-muted);
  font-size: 0.72rem;
  font-weight: 900;
  letter-spacing: 0.025em;
  text-transform: uppercase;
}

.door-context dd {
  color: var(--door-text);
  font-size: 0.82rem;
  font-weight: 850;
  text-align: right;
}

.connection-code {
  color: var(--blueprint-accent) !important;
  font-size: 1rem !important;
  letter-spacing: 0.13em;
}

.door-status {
  display: grid;
  gap: 8px;
  margin-top: 18px;
}

.door-status__item {
  display: flex;
  align-items: center;
  gap: 10px;
  min-height: 38px;
  padding: 9px 11px;
  color: #334b52;
  font-size: 0.8rem;
  font-weight: 800;
  background: rgba(255, 255, 255, 0.92);
  border: 1px solid var(--blueprint-line);
  border-radius: 8px;
}

.status-mark {
  width: 9px;
  height: 9px;
  flex: 0 0 auto;
  background: var(--door-ok);
  border: 2px solid #e7f4eb;
  border-radius: 50%;
  box-shadow: 0 0 0 1px rgba(38, 129, 74, 0.24);
}

.door-card__footer {
  flex: 0 0 auto;
  display: grid;
  gap: 11px;
  padding: 17px 22px 19px;
  border-top: 1px solid var(--blueprint-line);
  background: rgba(255, 255, 255, 0.52);
}

.door-button {
  width: 100%;
  min-height: 46px;
  padding: 12px 18px;
  color: #fff;
  font-weight: 950;
  line-height: 1.1;
  background: var(--blueprint-accent);
  border: 0;
  border-radius: 8px;
  box-shadow: 0 5px 14px rgba(0, 105, 137, 0.18);
  cursor: pointer;
  transition:
    transform 140ms ease,
    background-color 140ms ease,
    box-shadow 140ms ease;
}

.door-button:hover {
  background: var(--blueprint-accent-hover);
  box-shadow: 0 7px 18px rgba(0, 84, 109, 0.23);
  transform: translateY(-1px);
}

.door-button:active {
  transform: translateY(0);
}

.door-button:focus-visible {
  outline-color: rgba(0, 105, 137, 0.30);
}

.door-button:disabled {
  color: #6b727c;
  background: #e1e4e8;
  box-shadow: none;
  cursor: not-allowed;
  transform: none;
}

.door-note {
  margin: 0;
  color: var(--blueprint-muted);
  font-size: 0.73rem;
  line-height: 1.42;
  text-align: center;
}


.door-toast {
  position: absolute;
  z-index: 6;
  left: clamp(18px, 2.6vw, 32px);
  bottom: 20px;
  max-width: min(470px, calc(var(--door-panel-zone-width) - 36px));
  padding: 10px 14px;
  color: #f5f7fa;
  font-size: 0.78rem;
  font-weight: 750;
  background: rgba(13, 17, 24, 0.88);
  border: 1px solid rgba(255, 255, 255, 0.13);
  border-radius: 10px;
  box-shadow: 0 12px 32px rgba(0, 0, 0, 0.28);
}


 



 
.scene::before,
.scene::after {
  content: "";
  position: absolute;
  z-index: 2;
  inset: 0;
  pointer-events: none;
}

.scene::before {
  background: var(--state-overlay-color);
  opacity: var(--state-overlay-opacity);
  transition: opacity 180ms ease, background-color 180ms ease;
}

.scene::after {
  background: #05070a;
  opacity: var(--debug-dim-opacity);
}

body[data-door-state="OPEN_REGULAR"] {
  --led-cycle-duration: 100s;
  --led-state-brightness: 1;
  --led-state-saturation: 1;
  --led-state-opacity: 1;
}

  
body[data-door-state="UNREGISTERED"] {
  --led-cycle-duration: 126s;
  --led-state-brightness: 0.94;
  --led-state-saturation: 0.70;
  --state-overlay-color: #2f6072;
  --state-overlay-opacity: 0.075;
}

body[data-door-state="UNREGISTERED"] .door-badge {
  color: #26566a;
  background: #e4f0f4;
  border-color: rgba(47, 96, 114, 0.20);
}

body[data-door-state="UNREGISTERED"] .door-badge__dot,
body[data-door-state="UNREGISTERED"] .status-mark {
  background: #3f7b92;
  border-color: #eaf3f6;
  box-shadow: 0 0 0 3px rgba(63, 123, 146, 0.10);
}

  
body[data-door-state="OPEN_SPECIAL"] {
  --led-cycle-duration: 118s;
  --led-state-brightness: 1.04;
  --led-state-saturation: 1.08;
  --led-state-hue: -8deg;
  --state-overlay-color: #e9a93b;
  --state-overlay-opacity: 0.055;
}

body[data-door-state="OPEN_SPECIAL"] .door-badge {
  color: #70500d;
  background: #fff2c9;
  border-color: rgba(170, 117, 18, 0.20);
}

body[data-door-state="OPEN_SPECIAL"] .door-badge__dot,
body[data-door-state="OPEN_SPECIAL"] .status-mark,
body[data-door-state="CLOSED"] .door-badge__dot,
body[data-door-state="CLOSED"] .status-mark {
  background: #c88a18;
  box-shadow: 0 0 0 3px rgba(200, 138, 24, 0.11);
}

body[data-door-state="OPEN_SPECIAL"] .status-mark,
body[data-door-state="CLOSED"] .status-mark {
  border-color: #fff3d5;
}

  
body[data-door-state="PENDING"] {
  --led-cycle-duration: 132s;
  --led-state-brightness: 0.92;
  --led-state-saturation: 0.76;
  --led-state-hue: 10deg;
  --state-overlay-color: #31577d;
  --state-overlay-opacity: 0.07;
}

body[data-door-state="PENDING"] .door-badge {
  color: #6d4a13;
  background: #fff2d8;
  border-color: rgba(167, 106, 18, 0.18);
}

body[data-door-state="PENDING"] .door-badge__dot,
body[data-door-state="PENDING"] .status-mark {
  background: var(--door-warn);
  box-shadow: 0 0 0 3px rgba(167, 106, 18, 0.10);
}

body[data-door-state="PENDING"] .status-mark {
  border-color: #fff3dc;
}

  
body[data-door-state="CLOSED"],
body[data-door-state="CLOSED"] {
  --led-cycle-duration: 150s;
  --led-state-brightness: 0.88;
  --led-state-saturation: 0.58;
  --led-state-opacity: 0.96;
  --state-overlay-color: #28333f;
  --state-overlay-opacity: 0.09;
}

body[data-door-state="CLOSED"] .door-badge,
body[data-door-state="CLOSED"] .door-badge {
  color: #5f6670;
  background: #eceff2;
  border-color: rgba(111, 120, 132, 0.17);
}

body[data-door-state="CLOSED"] .door-badge__dot,
body[data-door-state="CLOSED"] .status-mark,
body[data-door-state="CLOSED"] .door-badge__dot,
body[data-door-state="CLOSED"] .status-mark {
  background: var(--door-neutral);
  box-shadow: 0 0 0 3px rgba(111, 120, 132, 0.10);
}

body[data-door-state="CLOSED"] .status-mark,
body[data-door-state="CLOSED"] .status-mark {
  border-color: #eef0f2;
}

body[data-door-state="CLOSED"] [data-status-item="access"] .status-mark,
body[data-door-state="CLOSED"] [data-status-item="access"] .status-mark {
  background: var(--door-blocked);
  border-color: #fae7e7;
  box-shadow: 0 0 0 1px rgba(164, 58, 58, 0.24);
}

  
body[data-door-state="BLOCKED"] {
  --led-cycle-duration: 175s;
  --led-state-brightness: 0.86;
  --led-state-saturation: 0.66;
  --led-state-opacity: 0.95;
  --state-overlay-color: #9f3440;
  --state-overlay-opacity: 0.14;
}

body[data-door-state="REVOKED"] {
  --led-cycle-duration: 180s;
  --led-state-brightness: 0.84;
  --led-state-saturation: 0.46;
  --led-state-opacity: 0.95;
  --state-overlay-color: #66515a;
  --state-overlay-opacity: 0.12;
}

body[data-door-state="BLOCKED"] .door-badge,
body[data-door-state="REVOKED"] .door-badge,
body[data-door-state="HARD_LOCK"] .door-badge {
  color: #812a2a;
  background: #fae6e6;
  border-color: rgba(164, 58, 58, 0.22);
}

body[data-door-state="BLOCKED"] .door-badge__dot,
body[data-door-state="BLOCKED"] .status-mark,
body[data-door-state="REVOKED"] .door-badge__dot,
body[data-door-state="REVOKED"] .status-mark,
body[data-door-state="HARD_LOCK"] .door-badge__dot,
body[data-door-state="HARD_LOCK"] .status-mark {
  background: var(--door-blocked);
  border-color: #fae7e7;
  box-shadow: 0 0 0 3px rgba(164, 58, 58, 0.10);
}

  
body[data-door-state="CLOSED"] {
  --led-cycle-duration: 145s;
  --led-state-brightness: 0.93;
  --led-state-saturation: 0.72;
  --state-overlay-color: #b47a1a;
  --state-overlay-opacity: 0.09;
}

body[data-door-state="CLOSED"] .door-badge {
  color: #70500d;
  background: #fff2c9;
  border-color: rgba(170, 117, 18, 0.20);
}

  
body[data-door-state="HARD_LOCK"] {
  --led-cycle-duration: 190s;
  --led-state-brightness: 0.82;
  --led-state-saturation: 0.70;
  --led-state-opacity: 0.94;
  --state-overlay-color: #a62f3b;
  --state-overlay-opacity: 0.18;
}

  
body[data-door-state="TECHNICAL_ERROR"] {
  --led-cycle-duration: 198s;
  --led-state-brightness: 0.80;
  --led-state-saturation: 0.28;
  --led-state-opacity: 0.93;
  --state-overlay-color: #4a435b;
  --state-overlay-opacity: 0.15;
}

body[data-door-state="OFFLINE"] {
  --led-cycle-duration: 205s;
  --led-state-brightness: 0.78;
  --led-state-saturation: 0.22;
  --led-state-opacity: 0.92;
  --state-overlay-color: #405464;
  --state-overlay-opacity: 0.16;
}

body[data-door-state="TECHNICAL_ERROR"] .door-badge,
body[data-door-state="OFFLINE"] .door-badge {
  color: #4e5965;
  background: #e7ebee;
  border-color: rgba(78, 89, 101, 0.20);
}

body[data-door-state="TECHNICAL_ERROR"] .door-badge__dot,
body[data-door-state="TECHNICAL_ERROR"] .status-mark,
body[data-door-state="OFFLINE"] .door-badge__dot,
body[data-door-state="OFFLINE"] .status-mark {
  background: #697581;
  border-color: #edf0f2;
  box-shadow: 0 0 0 3px rgba(105, 117, 129, 0.10);
}

body[data-door-state="TECHNICAL_ERROR"] [data-status-item="access"] .status-mark,
body[data-door-state="OFFLINE"] [data-status-item="access"] .status-mark {
  background: var(--door-blocked);
  border-color: #fae7e7;
}

  
.door-debug {
  position: fixed;
  z-index: 20;
  right: 18px;
  top: 18px;
  width: min(330px, calc(100vw - 36px));
  color: #edf2f7;
  font-size: 0.78rem;
}

.door-debug details {
  overflow: hidden;
  background: rgba(12, 16, 23, 0.94);
  border: 1px solid rgba(255, 255, 255, 0.16);
  border-radius: 14px;
  box-shadow: 0 18px 54px rgba(0, 0, 0, 0.34);
}

.door-debug summary {
  padding: 12px 14px;
  color: #fff;
  font-weight: 850;
  cursor: pointer;
  user-select: none;
}

.door-debug__body {
  display: grid;
  gap: 13px;
  padding: 5px 14px 14px;
  border-top: 1px solid rgba(255, 255, 255, 0.10);
}

.door-debug__field {
  display: grid;
  gap: 7px;
}

.door-debug__field > span {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  color: rgba(255, 255, 255, 0.80);
  font-weight: 720;
}

.door-debug output {
  color: #fff;
  font-variant-numeric: tabular-nums;
}

.door-debug select {
  width: 100%;
  min-height: 36px;
  padding: 7px 10px;
  color: #f5f7fa;
  background: #202733;
  border: 1px solid rgba(255, 255, 255, 0.14);
  border-radius: 8px;
}

.door-debug input[type="range"] {
  width: 100%;
  height: 5px;
  margin: 4px 0;
  accent-color: #4d92e6;
  cursor: pointer;
}

.door-debug__toggle {
  display: flex;
  align-items: center;
  gap: 9px;
  color: rgba(255, 255, 255, 0.82);
  cursor: pointer;
}

.door-debug__toggle input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

.door-debug__switch {
  position: relative;
  width: 34px;
  height: 20px;
  flex: 0 0 auto;
  background: #38414f;
  border-radius: 999px;
  transition: background-color 120ms ease;
}

.door-debug__switch::after {
  content: "";
  position: absolute;
  top: 3px;
  left: 3px;
  width: 14px;
  height: 14px;
  background: #fff;
  border-radius: 50%;
  transition: transform 120ms ease;
}

.door-debug__toggle input:checked + .door-debug__switch {
  background: #377bc8;
}

.door-debug__toggle input:checked + .door-debug__switch::after {
  transform: translateX(14px);
}

.door-debug__reset {
  min-height: 36px;
  padding: 8px 10px;
  color: #e9eef5;
  font-weight: 760;
  background: #29313d;
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 8px;
  cursor: pointer;
}

.door-debug__actions {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
}

.door-debug__reset--all {
  color: #ffd8d8;
  background: #3a262b;
  border-color: rgba(255, 141, 141, 0.20);
}

.door-debug__reset:hover {
  background: #343d4b;
}

.door-debug__reset--all:hover {
  background: #4a2d34;
}

.door-debug__hint {
  margin: 0;
  color: rgba(255, 255, 255, 0.56);
  font-size: 0.68rem;
}

.door-debug code {
  color: #a9d1ff;
}

@media (max-width: 820px) {
   




 
  .door-layout {
    top: 0;
    right: 0;
    bottom: auto;
    left: 0;
    width: 100vw;
    height: var(--door-viewport-height, 100dvh);
    place-items: center;
    padding:
      max(12px, env(safe-area-inset-top))
      max(12px, env(safe-area-inset-right))
      max(12px, env(safe-area-inset-bottom))
      max(12px, env(safe-area-inset-left));
  }

  .door-card {
    width: min(100%, 44rem);
    max-width: none;
    height: 100%;
    max-height: 100%;
    min-height: 0;
    border-radius: 16px;
  }

  .door-card__header,
  .door-card__body,
  .door-card__footer {
    padding-left: clamp(20px, 4.2vw, 28px);
    padding-right: clamp(20px, 4.2vw, 28px);
  }

  .door-toast {
    left: max(12px, env(safe-area-inset-left));
    right: max(12px, env(safe-area-inset-right));
    max-width: none;
  }
}

@media (max-width: 520px) {
  .door-layout {
    padding:
      max(10px, env(safe-area-inset-top))
      max(10px, env(safe-area-inset-right))
      max(10px, env(safe-area-inset-bottom))
      max(10px, env(safe-area-inset-left));
  }

  .door-card {
    border-radius: 15px;
  }

  .door-card__header {
    align-items: center;
    padding-top: 17px;
    padding-bottom: 15px;
  }

  .door-card__body {
    padding-top: 18px;
    padding-bottom: 18px;
  }

  .door-card__footer {
    padding-top: 14px;
    padding-bottom: 14px;
  }

  .door-title > span {
    padding: 7px 10px 8px;
  }

  .door-description {
    font-size: 0.92rem;
  }

  .door-description > span {
    padding: 6px 10px 7px;
  }

  .door-context__row {
    grid-template-columns: minmax(105px, 0.78fr) minmax(0, 1.22fr);
    gap: 10px;
  }

  .door-context dd {
    text-align: right;
  }
}

@media (max-width: 379px) {
  .door-context__row {
    grid-template-columns: 1fr;
    gap: 4px;
  }

  .door-context dd {
    text-align: left;
  }
}

@media (prefers-reduced-motion: reduce) {
  .door-button {
    transition: none;
  }
}

  
.door-debug details {
  max-height: calc(100vh - 36px);
}

.door-debug__body {
  max-height: calc(100vh - 82px);
  overflow-y: auto;
  scrollbar-width: thin;
}

.door-debug__field--color input[type="color"] {
  width: 100%;
  height: 38px;
  padding: 3px;
  background: #202733;
  border: 1px solid rgba(255, 255, 255, 0.14);
  border-radius: 8px;
  cursor: pointer;
}

.door-debug__field--color input[type="color"]::-webkit-color-swatch-wrapper {
  padding: 0;
}

.door-debug__field--color input[type="color"]::-webkit-color-swatch {
  border: 0;
  border-radius: 5px;
}

.door-debug__field--color input[type="color"]::-moz-color-swatch {
  border: 0;
  border-radius: 5px;
}

 



 
.door-debug {
  top: max(12px, env(safe-area-inset-top));
  right: max(12px, env(safe-area-inset-right));
  height: calc(
    var(--door-viewport-height, 100dvh)
    - max(12px, env(safe-area-inset-top))
    - max(12px, env(safe-area-inset-bottom))
  );
  max-height: none;
}

.door-debug details {
  height: 100%;
  max-height: none;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}

.door-debug summary {
  flex: 0 0 auto;
}

.door-debug__body {
  flex: 1 1 auto;
  min-height: 0;
  max-height: none;
  overflow-y: auto;
  overscroll-behavior: contain;
  scrollbar-gutter: stable;
  padding-bottom: 0;
}

.door-debug__actions {
  position: sticky;
  z-index: 3;
  bottom: 0;
  margin: 0 -14px;
  padding: 12px 14px 14px;
  background:
    linear-gradient(
      180deg,
      rgba(12, 16, 23, 0) 0,
      rgba(12, 16, 23, 0.98) 14px,
      rgba(12, 16, 23, 0.98) 100%
    );
}

.door-debug__hint {
  padding-bottom: 2px;
}

@media (max-height: 620px) {
  .door-debug {
    top: max(8px, env(safe-area-inset-top));
    right: max(8px, env(safe-area-inset-right));
    height: calc(
      var(--door-viewport-height, 100dvh)
      - max(8px, env(safe-area-inset-top))
      - max(8px, env(safe-area-inset-bottom))
    );
  }

  .door-debug summary {
    padding-top: 9px;
    padding-bottom: 9px;
  }

  .door-debug__body {
    gap: 10px;
  }
}

 




 
.door-debug details {
  height: auto;
  max-height: none;
  display: block;
  overflow: hidden;
}

.door-debug details[open] {
  height: 100%;
  display: grid;
  grid-template-rows: auto minmax(0, 1fr);
}

.door-debug__shell {
  min-height: 0;
  display: grid;
  grid-template-rows: minmax(0, 1fr) auto;
  overflow: hidden;
  border-top: 1px solid rgba(255, 255, 255, 0.10);
}

.door-debug__scroll {
  min-height: 0;
  display: grid;
  align-content: start;
  gap: 13px;
  padding: 10px 14px 14px;
  overflow-x: hidden;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  overscroll-behavior-y: contain;
  touch-action: pan-y;
  scrollbar-width: thin;
  scrollbar-gutter: stable;
}

.door-debug__body {
  display: contents;
  max-height: none;
  overflow: visible;
  padding: 0;
  border: 0;
}

.door-debug__actions {
  position: static;
  z-index: auto;
  bottom: auto;
  margin: 0;
  padding: 12px 14px 14px;
  background: rgba(12, 16, 23, 0.98);
  border-top: 1px solid rgba(255, 255, 255, 0.10);
}

@media (max-height: 620px) {
  .door-debug__scroll {
    gap: 10px;
    padding-top: 8px;
  }

  .door-debug__actions {
    padding-top: 9px;
    padding-bottom: 9px;
  }
}

 




 
.door-debug {
  display: flex;
  flex-direction: column;
  min-height: 0;
  overflow: hidden;
  background: rgba(12, 16, 23, 0.96);
  border: 1px solid rgba(255, 255, 255, 0.16);
  border-radius: 14px;
  box-shadow: 0 18px 54px rgba(0, 0, 0, 0.34);
  pointer-events: auto;
  touch-action: none;
}

.door-debug[data-debug-collapsed="true"] {
  height: auto;
}

.door-debug__summary {
  display: flex;
  align-items: center;
  width: 100%;
  min-height: 44px;
  flex: 0 0 auto;
  padding: 10px 14px;
  color: #fff;
  font: inherit;
  font-weight: 850;
  text-align: left;
  background: transparent;
  border: 0;
  cursor: pointer;
  user-select: none;
  touch-action: manipulation;
}

.door-debug__chevron {
  width: 1.1em;
  flex: 0 0 auto;
  transition: transform 120ms ease;
}

.door-debug[data-debug-collapsed="true"] .door-debug__chevron {
  transform: rotate(-90deg);
}

.door-debug__shell {
  flex: 1 1 auto;
  min-height: 0;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  border-top: 1px solid rgba(255, 255, 255, 0.10);
}

.door-debug[data-debug-collapsed="true"] .door-debug__shell {
  display: none;
}

.door-debug__scroll {
  position: relative;
  flex: 1 1 0;
  min-height: 0;
  height: 0;
  display: grid;
  align-content: start;
  gap: 13px;
  padding: 10px 14px 18px;
  overflow-x: hidden;
  overflow-y: scroll;
  -webkit-overflow-scrolling: touch;
  overscroll-behavior: contain;
  scrollbar-width: thin;
  pointer-events: auto;
  touch-action: pan-y;
}

.door-debug__scroll > * {
  min-width: 0;
}

.door-debug__scroll input[type="range"] {
  touch-action: pan-y;
}

.door-debug__actions {
  flex: 0 0 auto;
  position: static;
  margin: 0;
  padding: 12px 14px 14px;
  background: rgba(12, 16, 23, 0.99);
  border-top: 1px solid rgba(255, 255, 255, 0.10);
}

@media (max-height: 620px) {
  .door-debug__summary {
    min-height: 38px;
    padding-top: 7px;
    padding-bottom: 7px;
  }

  .door-debug__scroll {
    gap: 10px;
    padding-top: 8px;
    padding-bottom: 14px;
  }

  .door-debug__actions {
    padding-top: 9px;
    padding-bottom: 9px;
  }
}


  
body[data-door-state="OWNER_READY"] {
  --state-overlay-color: #5e45a6;
  --state-overlay-opacity: .08;
  --led-state-brightness: .78;
  --led-state-saturation: .88;
  --led-cycle-duration: 126s;
}
body[data-door-state="OWNER_READY"] .door-badge,
body[data-door-state="OWNER_READY"] .door-badge__dot,
body[data-door-state="OWNER_READY"] .status-mark { --state-accent: #7458bd; }
body[data-door-state="REPLACED"],
body[data-door-state="REVOKED"] {
  --state-overlay-color: #5b2f29;
  --state-overlay-opacity: .18;
  --led-state-brightness: .46;
  --led-state-saturation: .58;
  --led-cycle-duration: 155s;
}
body[data-door-state="TECHNICAL_CONNECTION"] {
  --state-overlay-color: #223b49;
  --state-overlay-opacity: .12;
  --led-state-brightness: .58;
  --led-state-saturation: .68;
}
body[data-door-state="OPEN_REGULAR"] .door-badge__dot,
body[data-door-state="OPEN_REGULAR"] .status-mark { background: #27a16f; }
body[data-door-state="OPEN_SPECIAL"] .door-badge__dot,
body[data-door-state="OPEN_SPECIAL"] .status-mark { background: #6f68c8; }
body[data-door-state="OWNER_READY"] .door-badge__dot,
body[data-door-state="OWNER_READY"] .status-mark { background: #7458bd; }
body[data-door-state="UNREGISTERED"] .door-badge__dot,
body[data-door-state="UNREGISTERED"] .status-mark { background: #4c8ca5; }
body[data-door-state="REPLACED"] .door-badge__dot,
body[data-door-state="REPLACED"] .status-mark,
body[data-door-state="REVOKED"] .door-badge__dot,
body[data-door-state="REVOKED"] .status-mark { background: #a76355; }
body[data-door-state="TECHNICAL_CONNECTION"] .door-badge__dot,
body[data-door-state="TECHNICAL_CONNECTION"] .status-mark { background: #547d91; }
.door-status__item[data-result="ok"] .status-mark { background: #27a16f; }
.door-status__item[data-result="waiting"] .status-mark,
.door-status__item[data-result="unknown"] .status-mark { background: #d5a12a; }
.door-status__item[data-result="blocked"] .status-mark { background: #c6534d; }
.door-noscript {
  position: fixed; inset: auto 1rem 1rem; z-index: 20; padding: .8rem 1rem;
  color: #fff; background: #7f2f2a; border-radius: .65rem; text-align: center;
}
