/*
 * SevenCore Nexus UI · v0.9.2
 * -----------------------------
 * Jediný globální designový systém. Obsahuje tokeny, přihlášení, shell,
 * sdílené komponenty a funkční moduly. Síťová mapa má vlastní topology.css;
 * z tohoto souboru přebírá pouze běžný panelový wrapper stránky.
 */
:root {
    --ui-font: "Segoe UI Variable", "Segoe UI", Inter, system-ui, -apple-system, sans-serif;
    --ui-bg: #e8edef;
    --ui-surface: #ffffff;
    --ui-surface-subtle: #f8f9fa;
    --ui-surface-hover: #f4f6f7;
    --ui-panel-head: linear-gradient(180deg, #f2f5f6 0%, #dce3e6 100%);
    --ui-text: #202629;
    --ui-text-strong: #111719;
    --ui-muted: #647078;
    --ui-soft: #8a959b;
    --ui-border: #dde2e5;
    --ui-border-strong: #cbd2d6;
    --ui-panel-border: #8e999f;
    --ui-brand: #eb3636;
    --ui-brand-hover: #d92d2d;
    --ui-brand-soft: #fff0f0;
    --ui-success: #16a465;
    --ui-success-bright: #46e88a;
    --ui-success-soft: #e9f7f0;
    --ui-warning: #d58a13;
    --ui-warning-soft: #fff5e3;
    --ui-danger: #d93632;
    --ui-danger-soft: #fff0ef;
    --ui-info: #3976ba;
    --ui-info-soft: #edf5fd;
    --ui-sidebar: #111719;
    --ui-sidebar-hover: #1c2427;
    --ui-sidebar-active: #252e32;
    --ui-sidebar-text: #bdc6ca;
    --ui-sidebar-rail: 64px;
    --ui-sidebar-wide: 240px;
    --ui-topbar-height: 66px;
    --ui-radius-xs: 3px;
    --ui-radius-sm: 5px;
    --ui-radius-md: 8px;
    --ui-radius-lg: 10px;
    --ui-shadow-panel: 0 5px 17px rgba(28, 37, 41, .10);
    --ui-shadow-float: 0 10px 28px rgba(15, 22, 25, .12);
    --ui-space-1: 4px;
    --ui-space-2: 8px;
    --ui-space-3: 12px;
    --ui-space-4: 16px;
    --ui-space-5: 20px;
    --ui-space-6: 24px;
    --ui-control-height: 36px;
    --ui-content-inline: 20px;
    --ui-content-start: 16px;
    --ui-content-end: 32px;
    --ui-panel-inline: 16px;
    --ui-panel-block: 12px;
    --ui-workspace-gap: 12px;
}

/* Global settings resolve aliases on the active template root. */
.nexus-ui {
    --ui-filter-label-size: 9.5px;
    --ui-filter-padding: 11px 14px 12px;
    --ui-filter-gap: 10px;
    --ui-filter-field-gap: 4px;
    --ui-wrapper-radius: var(--ui-radius-md);
    --ui-copy-font-size: 13px;
    --ui-copy-line-height: 1.4;
    --ui-table-font-size: 12px;
    --ui-table-line-height: 1.35;
    --ui-table-head-font-size: 10px;
    --ui-table-primary-link-size: 12px;
    --ui-table-primary-link-weight: 500;
    --ui-table-head-font-weight: 500;
    --ui-table-secondary-font-size: 10.5px;
    --ui-table-secondary-line-height: 1.4;
    --ui-table-row-block: 7px;
    --ui-context-gap: var(--ui-space-3);
    --ui-context-inline: var(--ui-panel-inline);
    --ui-note-radius: 6px;
    --ui-note-padding-block: 10px;
    --ui-note-padding-inline: 12px;
    --ui-help-background: #f5f7f7;
    --ui-detail-fact-label-width: 96px;
    --ui-detail-fact-label-ratio: .25fr;
    --ui-detail-fact-gap: var(--ui-space-3);
    --ui-detail-fact-block: 7px;
    --ui-section-heading-size: 14px;
    --ui-section-heading-weight: 700;
    --ui-section-heading-color: #263c4b;
    --ui-section-heading-icon-size: 26px;
    --ui-section-heading-icon-bg: var(--ui-info-soft);
    --ui-section-heading-icon-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 7h10M18 7h2M4 17h2M10 17h10M14 4v6M6 14v6' fill='none' stroke='%2342637b' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E");
}


* { box-sizing: border-box; }
html { min-width: 320px; color: var(--ui-text); background: var(--ui-bg); font-family: var(--ui-font); scrollbar-gutter: stable; }
body { min-width: 320px; margin: 0; }
.device-icon-sprite {
    position: absolute;
    width: 0;
    height: 0;
    overflow: hidden;
    pointer-events: none;
}
.device-category-icon {
    width: 22px;
    height: 22px;
    display: inline-block;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.45;
    stroke-linecap: round;
    stroke-linejoin: round;
}
a { color: inherit; text-decoration: none; }
button, input, select, textarea { font: inherit; }
button { cursor: pointer; }
[hidden] { display: none !important; }
.visually-hidden {
    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;
}

/* Sdílená konstrukce značky; rozměry určují až varianty shellu a loginu. */
:where(.nexus-ui, .auth-body) .brand { display: inline-flex; align-items: center; white-space: nowrap; }
:where(.nexus-ui, .auth-body) .brand-lockup { display: block; overflow: hidden; }
:where(.nexus-ui, .auth-body) .brand-lockup img { display: block; width: auto; max-width: none; }

/* Přihlášení je samostatná varianta téhož systému. */
.auth-body {
    min-height: 100vh;
    display: grid;
    place-items: center;
    padding: 42px 20px;
    color: #e7ebed;
    background-color: #0d1214;
    background-image: radial-gradient(circle at 0 0, rgba(235,54,54,.25), transparent 34%), linear-gradient(118deg, rgba(74,83,89,.13), transparent 46%), url("../images/nexus-pattern.svg");
    background-position: 0 0, 0 0, center;
    background-size: auto, auto, cover;
    background-repeat: no-repeat;
    background-attachment: fixed;
    font-family: var(--ui-font);
    font-size: 15px;
    line-height: 1.45;
}
.auth-shell { width: min(450px, 100%); }
.auth-brand { display: flex; justify-content: flex-start; margin: 0 0 24px 3px; }
.auth-brand .brand-lockup { width: 259px; height: 64px; }
.auth-brand .brand-lockup img { height: 64px; }
.auth-card { position: relative; padding: 32px 34px; overflow: hidden; border: 1px solid #354044; border-radius: 16px; background: rgba(20,27,30,.94); backdrop-filter: blur(8px); box-shadow: 0 30px 80px rgba(0,0,0,.38); }
.auth-card::before { content: ""; position: absolute; inset: 0 auto 0 0; width: 4px; background: linear-gradient(to bottom, var(--ui-brand), #ef5350 60%, rgba(235,54,54,.55)); }
.auth-card .eyebrow { display: block; color: var(--ui-brand); font-size: 11px; font-weight: 850; letter-spacing: 1.8px; text-transform: uppercase; }
.auth-card h1 { margin: 8px 0; color: #fff; font-size: clamp(31px, 7vw, 38px); line-height: 1.05; letter-spacing: -1.4px; }
.auth-card > p { margin: 0 0 22px; color: #b4bdc1; font-size: 14px; line-height: 1.55; }
.auth-startup-card > p { margin-bottom: 0; }
.auth-startup-card > p + p { margin-top: 12px; }
.auth-card .form-stack { display: grid; gap: 7px; }
.auth-card label { color: #d7dde0; font-size: 14px; font-weight: 750; }
.auth-card input { width: 100%; min-height: 43px; margin-top: 4px; padding: 8px 11px; color: #fff; background: #101416; border: 1px solid #3a4448; border-radius: 7px; outline: none; font-size: 15px; }
.auth-card input:focus { border-color: #7d8b91; box-shadow: 0 0 0 3px rgba(126, 139, 145, .14); }
.auth-card .field-error { display: block; margin-top: 5px; color: #ff8d88; font-size: 12px; }
.auth-card .validation:not(:empty) { margin-bottom: 18px; padding: 12px 14px; color: #ffb4b1; background: rgba(235,54,54,.12); border: 1px solid rgba(235,54,54,.3); border-radius: 8px; font-size: 12px; }
.auth-card .validation ul { margin: 0; padding-left: 18px; }
.auth-card .button { min-width: 96px; min-height: 42px; display: inline-flex; align-items: center; justify-content: center; gap: 7px; padding: 0 16px; border: 1px solid transparent; border-radius: var(--ui-radius-md); font-size: 13px; font-weight: 800; transition: .15s ease; }
.auth-card .button-primary { color: #fff; background: var(--ui-brand); border-color: var(--ui-brand); box-shadow: 0 5px 14px rgba(235,54,54,.2); }
.auth-card .button-primary:hover { background: var(--ui-brand-hover); border-color: var(--ui-brand-hover); transform: translateY(-1px); }
.auth-card .button-wide { width: 100%; }
.auth-card .otp-input { height: 54px; text-align: center; font-family: ui-monospace, SFMono-Regular, Consolas, monospace; font-size: 21px; font-weight: 800; letter-spacing: 5px; }
.auth-note { display: flex; align-items: center; gap: 9px; margin-top: 20px; color: #a5afb4; font-size: 12px; }
.auth-note i { width: 6px; height: 6px; border-radius: 50%; background: var(--ui-success-bright); }
.auth-alt { display: block; margin-top: 20px; color: #bcc4c8; text-align: center; font-size: 13px; font-weight: 700; }
.auth-alt:hover { color: #fff; }
.auth-foot { margin: 21px 0 0; color: #8d989d; text-align: center; font-size: 11px; letter-spacing: 1px; text-transform: uppercase; }
.recovery-card { width: min(580px, calc(100vw - 36px)); margin-left: 50%; transform: translateX(-50%); }
.recovery-codes { display: grid; grid-template-columns: 1fr 1fr; gap: 7px; margin: 22px 0; }
.recovery-codes code { padding: 9px; color: #fff; background: #101416; border: 1px solid #343d41; border-radius: 6px; text-align: center; }
@media (max-width: 650px) {
    .auth-card { padding: 27px 22px; }
    .auth-brand { justify-content: center; margin-left: 0; margin-bottom: 24px; }
    .auth-foot { text-align: center; }
    .recovery-codes { grid-template-columns: 1fr; }
}

/* Funkční moduly, které mají vlastní jednoznačný selektor a nejsou
   variantou žádné sdílené komponenty. */
:where(.nexus-ui) .sidebar {
    display: flex;
    flex-direction: column;
    background-repeat: no-repeat;
}
:where(.nexus-ui) .sidebar::before {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
}
:where(.nexus-ui) .sidebar > * { position: relative; z-index: 1; }
:where(.nexus-ui) .sidebar-head { display: flex; align-items: center; }
:where(.nexus-ui) .brand-link { display: inline-flex; }
:where(.nexus-ui) .main-nav {
    min-height: 0;
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    overflow-y: auto;
    scrollbar-width: thin;
    scrollbar-color: #394246 transparent;
}
:where(.nexus-ui) .main-nav a { display: flex; align-items: center; }
:where(.nexus-ui) .main-nav a > span { text-align: center; font-size: 18px; }
:where(.nexus-ui) .main-nav .nav-icon { display: grid; place-items: center; }
:where(.nexus-ui) .nav-icon svg {
    fill: none;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
}
:where(.nexus-ui) .topbar-security svg {
    width: 18px;
    height: 18px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.7;
    stroke-linecap: round;
    stroke-linejoin: round;
}
:where(.nexus-ui) .main-nav a em {
    margin-left: auto;
    color: #7f8a90;
    font-size: 11px;
    font-style: normal;
    text-transform: uppercase;
    letter-spacing: .7px;
}
:where(.nexus-ui) .main-nav a.disabled { opacity: .55; pointer-events: none; }
:where(.nexus-ui) .nav-badge {
    display: grid;
    place-items: center;
    margin-left: auto;
    background: var(--ui-brand);
    border-radius: 999px;
    line-height: 1;
}
:where(.nexus-ui) .sidebar-foot {
    margin-top: auto;
    padding: 14px 8px 0;
    border-top: 1px solid #232a2d;
}
:where(.nexus-ui) .access-pill {
    display: flex;
    align-items: center;
    gap: 8px;
    color: #a8b1b5;
}
:where(.nexus-ui) .access-pill i {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: var(--ui-success-bright);
    box-shadow: 0 0 10px rgba(70,232,138,.6);
}
:where(.nexus-ui) .nexus-version {
    display: block;
    margin-top: 9px;
    color: #778389;
    font-weight: 700;
    letter-spacing: .6px;
}
:where(.nexus-ui) .sidebar-scrim { display: none; }
:where(.nexus-ui) .topbar {
    display: flex;
    align-items: center;
    position: sticky;
    top: 0;
    z-index: 30;
}
:where(.nexus-ui) .topbar-context {
    min-width: 0;
    display: grid;
    align-content: center;
}
:where(.nexus-ui) .topbar-heading {
    min-width: 0;
    display: flex;
    align-items: center;
}
:where(.nexus-ui) .topbar-heading h1 {
    min-width: 0;
    margin: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
:where(.nexus-ui) .topbar-context p {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
:where(.nexus-ui) .topbar-actions {
    min-width: 0;
    margin-left: auto;
    display: flex;
    align-items: center;
}
:where(.nexus-ui) .topbar-page-actions {
    min-width: 0;
    display: flex;
    align-items: center;
    justify-content: flex-end;
}
:where(.nexus-ui) .topbar-divider { width: 1px; }
:where(.nexus-ui) .topbar-account-actions {
    display: flex;
    align-items: center;
    gap: 5px;
}
:where(.nexus-ui) .topbar-account-actions form { display: inline-flex; margin: 0; }
:where(.nexus-ui) .topbar-security {
    display: grid;
    place-items: center;
    font-size: 19px;
}
:where(.nexus-ui) .topbar-security:hover { color: var(--ui-text-strong); }
:where(.nexus-ui) .avatar {
    display: grid;
    place-items: center;
    overflow: hidden;
    color: #fff;
    background: var(--ui-text);
    font-weight: 800;
}
:where(.nexus-ui) .avatar img,
:where(.nexus-ui) .user-avatar img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
}
:where(.nexus-ui) .avatar:hover { background: #30383c; }
:where(.nexus-ui) .topbar-logout {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    margin-left: 2px;
    color: var(--ui-muted);
    background: transparent;
    border: 1px solid transparent;
    font-weight: 700;
}
:where(.nexus-ui) .topbar-logout svg {
    width: 17px;
    height: 17px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
}
:where(.nexus-ui) .topbar-logout:hover {
    color: var(--ui-brand-hover);
    background: #fff3f2;
    border-color: #f5d1cf;
}
:where(.nexus-ui) .content { margin: 0; }
:where(.nexus-ui) .eyebrow { display: block; }
:where(.nexus-ui) .breadcrumbs {
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 0 0 14px 2px;
    color: var(--ui-muted);
    font-size: 12px;
}
:where(.nexus-ui) .breadcrumbs a:hover { color: var(--ui-brand); }
:where(.nexus-ui) .button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid transparent;
    transition: .15s ease;
}
:where(.nexus-ui) .button-wide { width: 100%; }
:where(.nexus-ui) .panel-head { display: flex; justify-content: space-between; }
:where(.nexus-ui) .count-badge {
    display: grid;
    place-items: center;
    font-weight: 800;
}
:where(.nexus-ui) .flash-error,
:where(.nexus-ui) .validation.validation-summary-errors,
:where(.nexus-ui) .validation:not(.validation-summary-valid):not(.validation-summary-errors):not(:empty) {
    color: #9d2623;
    background: #fff0f0;
    border: 1px solid #f2cecd;
}
:where(.nexus-ui) .validation.validation-summary-valid { display: none; }
:where(.nexus-ui) .validation.validation-summary-errors,
:where(.nexus-ui) .validation:not(.validation-summary-valid):not(.validation-summary-errors):not(:empty) {
    margin-bottom: 18px;
    padding: 12px 14px;
    border-radius: 8px;
    font-size: 12px;
}
:where(.nexus-ui) .validation.validation-summary-errors li:empty { display: none; }
:where(.nexus-ui) .validation ul { margin: 0; padding-left: 18px; }
:where(.nexus-ui) .severity {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: var(--ui-soft);
}
:where(.nexus-ui) .service-icon {
    width: 38px;
    height: 38px;
    display: grid;
    place-items: center;
    flex: 0 0 auto;
    border-radius: 9px;
    color: #fff;
    background: var(--ui-text);
    font-size: 13px;
    font-weight: 850;
}
:where(.nexus-ui) .service-icon img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: contain;
    border-radius: inherit;
    background: #fff;
}
:where(.nexus-ui) .device-table { padding: 8px 0; }
:where(.nexus-ui) .table-row {
    min-width: 0;
    display: grid;
    grid-template-columns: 9px minmax(0, 1fr) minmax(70px, auto) 12px;
    align-items: center;
    gap: 13px;
    min-height: 58px;
    padding: 9px 22px;
    border-bottom: 1px solid #eef1f2;
}
:where(.nexus-ui) .table-row:last-child { border: 0; }
:where(.nexus-ui) .table-row:hover { background: #fafbfb; }
:where(.nexus-ui) .table-row strong,
:where(.nexus-ui) .table-row small {
    display: block;
}
:where(.nexus-ui) .table-row strong { font-size: 14px; }
:where(.nexus-ui) .table-row small { margin-top: 3px; }
:where(.nexus-ui) .status-dot {
    display: inline-block;
    border-radius: 50%;
    background: var(--ui-soft);
}
:where(.nexus-ui) .status-online { background: var(--ui-success); }
:where(.nexus-ui) .status-warning { background: var(--ui-warning); }
:where(.nexus-ui) .status-offline { background: var(--ui-brand); }
:where(.nexus-ui) .status-standby,
:where(.nexus-ui) .status-disabled,
:where(.nexus-ui) .status-unknown {
    background: var(--ui-soft);
}
:where(.nexus-ui) .empty-state {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    color: var(--ui-muted);
}
:where(.nexus-ui) .empty-state.small { min-height: 80px; }
:where(.nexus-ui) .search-bar {
    display: flex;
    align-items: center;
    gap: 12px;
    background: #fff;
    border: 1px solid var(--ui-border);
}
:where(.nexus-ui) .search-bar > span { color: var(--ui-soft); font-size: 22px; }
:where(.nexus-ui) .search-bar input {
    min-width: 0;
    flex: 1;
    padding: 8px 0;
    border: 0;
    outline: 0;
    color: var(--ui-text-strong);
}
:where(.nexus-ui) .search-bar > a {
    color: var(--ui-brand);
    font-size: 13px;
    font-weight: 700;
}
:where(.nexus-ui) .service-card {
    min-width: 0;
    padding: 18px;
    background: #fff;
    border: 1px solid var(--ui-border);
    border-radius: 12px;
    box-shadow: var(--ui-shadow-panel);
}
:where(.nexus-ui) .status-chip {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: var(--ui-muted);
    background: #edf0f1;
    text-transform: uppercase;
    vertical-align: middle;
}
:where(.nexus-ui) .status-chip.status-online { color: #147348; background: #e6f7ef; }
:where(.nexus-ui) .status-chip.status-warning { color: #9a6312; background: #fff4df; }
:where(.nexus-ui) .status-chip.status-offline { color: #a22c28; background: #ffebea; }
:where(.nexus-ui) .service-card h3 { margin: 17px 0 7px; }
:where(.nexus-ui) .service-card p {
    min-height: 42px;
    margin: 0 0 15px;
    color: var(--ui-muted);
    font-size: 13px;
    line-height: 1.55;
}
:where(.nexus-ui) .endpoint {
    min-width: 0;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    padding: 11px 12px;
    border-radius: 8px;
    color: #394247;
    background: #f3f5f6;
    font-family: ui-monospace, SFMono-Regular, Consolas, monospace;
    font-size: 12px;
}
:where(.nexus-ui) .endpoint span {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
:where(.nexus-ui) .tree-node { margin: 2px 0; }
:where(.nexus-ui) .tree-node > summary {
    display: grid;
    align-items: center;
    list-style: none;
    cursor: pointer;
}
:where(.nexus-ui) .tree-node > summary::-webkit-details-marker { display: none; }
:where(.nexus-ui) .tree-node > summary:hover { background: #f3f5f6; }
:where(.nexus-ui) .tree-node > summary strong,
:where(.nexus-ui) .tree-node > summary small {
    display: block;
}
:where(.nexus-ui) .tree-node > summary small { color: var(--ui-soft); margin-top: 2px; }
:where(.nexus-ui) .tree-node > summary > a {
    color: var(--ui-brand);
    font-size: 11px;
    opacity: 0;
}
:where(.nexus-ui) .tree-node > summary:hover > a { opacity: 1; }
:where(.nexus-ui) .tree-toggle::before {
    content: "›";
    display: block;
    color: var(--ui-soft);
    transition: transform .15s;
}
:where(.nexus-ui) .tree-node[open] > summary .tree-toggle::before { transform: rotate(90deg); }
:where(.nexus-ui) .tree-icon { color: var(--ui-text); }
:where(.nexus-ui) .tree-content { border-left: 1px solid var(--ui-border); }
:where(.nexus-ui) .tree-device {
    display: grid;
    grid-template-columns: 8px minmax(0,1fr) auto;
    align-items: center;
    gap: 9px;
}
:where(.nexus-ui) .tree-device:hover { background: #f3f5f6; }
:where(.nexus-ui) .tree-device strong,
:where(.nexus-ui) .tree-device small {
    display: block;
}
:where(.nexus-ui) .tree-device small { margin-top: 2px; }
:where(.nexus-ui) .inline-create { margin: 0 16px 16px; border-top: 1px solid var(--ui-border); }
:where(.nexus-ui) .inline-create > summary {
    padding: 16px 0 0;
    color: var(--ui-brand);
    font-size: 13px;
    font-weight: 800;
    cursor: pointer;
    list-style: none;
}
:where(.nexus-ui) .inline-create > summary::-webkit-details-marker { display: none; }
:where(.nexus-ui) .inline-create[open] > summary { margin-bottom: 15px; }
:where(.nexus-ui) .link-create { padding-inline: 10px; }
:where(.nexus-ui) .confirmed-links-panel { grid-column: 1 / -1; }
:where(.nexus-ui) .detail-facts {
    display: grid;
    grid-template-columns: repeat(4,1fr);
    gap: 1px;
    margin-bottom: 18px;
    overflow: hidden;
    background: var(--ui-border);
    border: 1px solid var(--ui-border);
    border-radius: 11px;
}
:where(.nexus-ui) .detail-facts div { padding: 17px 19px; background: #fff; }
:where(.nexus-ui) .detail-facts span,
:where(.nexus-ui) .detail-facts strong {
    display: block;
}
:where(.nexus-ui) .detail-facts span { color: var(--ui-muted); font-size: 12px; }
:where(.nexus-ui) .detail-facts strong { margin-top: 7px; font-size: 14px; }
:where(.nexus-ui) .device-head h1 .status-chip { margin-left: 7px; }
:where(.nexus-ui) .detail-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.45fr) minmax(310px, .55fr);
    gap: 18px;
    align-items: start;
}
:where(.nexus-ui) .detail-main,
:where(.nexus-ui) .detail-side {
    display: grid;
    gap: 18px;
}
:where(.nexus-ui) .photo-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 8px;
    padding: 12px;
}
:where(.nexus-ui) .photo-card {
    min-width: 0;
    margin: 0;
    overflow: hidden;
    border: 1px solid var(--ui-border);
    border-radius: 8px;
}
:where(.nexus-ui) .photo-card img {
    width: 100%;
    aspect-ratio: 4/3;
    display: block;
    object-fit: cover;
    background: #edf0f1;
}
:where(.nexus-ui) .photo-card figcaption {
    min-width: 0;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 5px;
    padding: 9px 10px;
    font-size: 11px;
}
:where(.nexus-ui) .photo-card figcaption span {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
:where(.nexus-ui) .photo-card figcaption button {
    padding: 0;
    color: var(--ui-brand);
    border: 0;
    background: none;
    font-size: 11px;
}
:where(.nexus-ui) .upload-box {
    display: grid;
    gap: 9px;
    padding: 12px;
    border-top: 1px solid var(--ui-border);
}
:where(.nexus-ui) .upload-box > input { width: 100%; }
:where(.nexus-ui) .file-drop {
    position: relative;
    min-height: 112px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    border: 1px dashed #b8c0c5;
    border-radius: 9px;
    color: var(--ui-muted);
    background: #fafbfb;
    cursor: pointer;
}
:where(.nexus-ui) .file-drop:hover { border-color: var(--ui-brand); }
:where(.nexus-ui) .file-drop span { color: var(--ui-brand); font-size: 23px; }
:where(.nexus-ui) .file-drop strong { margin-top: 3px; font-size: 13px; }
:where(.nexus-ui) .file-drop small { margin-top: 3px; }
:where(.nexus-ui) .file-drop input {
    position: absolute;
    width: 1px;
    height: 1px;
    opacity: 0;
}
:where(.nexus-ui) .info-list > div:not(.panel-head) { padding: 15px 22px; border-bottom: 1px solid #eef1f2; }
:where(.nexus-ui) .child-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 10px;
    padding: 16px;
}
:where(.nexus-ui) .child-grid a {
    display: grid;
    grid-template-columns: 25px minmax(0,1fr);
    padding: 13px;
    border: 1px solid var(--ui-border);
    border-radius: 9px;
}
:where(.nexus-ui) .child-grid a > span { grid-row: 1 / 3; color: var(--ui-brand); }
:where(.nexus-ui) .child-grid strong { font-size: 14px; }
:where(.nexus-ui) .edit-layout { display: grid; max-width: 1050px; }
:where(.nexus-ui) .form-section { overflow: hidden; }
:where(.nexus-ui) .form-grid { display: grid; }
:where(.nexus-ui) .form-grid.two { grid-template-columns: 1fr 1fr; padding: 22px 24px 25px; }
:where(.nexus-ui) .form-grid.split { grid-template-columns: 1fr 1fr; padding: 0; }
:where(.nexus-ui) .form-grid .span-two { grid-column: 1 / -1; }
:where(.nexus-ui) .form-stack { display: grid; }
:where(.nexus-ui) .form-stack.compact,
:where(.nexus-ui) .form-grid.compact {
    padding-top: 0;
}
:where(.nexus-ui) input {
    width: 100%;
    min-height: 46px;
    margin-top: 7px;
    padding: 10px 12px;
    color: var(--ui-text-strong);
    background: #fff;
    border: 1px solid var(--ui-border-strong);
    border-radius: 7px;
    outline: none;
}
:where(.nexus-ui) select,
:where(.nexus-ui) textarea {
    width: 100%;
    margin-top: 7px;
}
:where(.nexus-ui) .field-error {
    display: block;
    margin-top: 5px;
    color: var(--ui-brand);
    font-size: 12px;
}
:where(.nexus-ui) .checkbox-stack {
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 11px;
}
:where(.nexus-ui) .check {
    display: flex;
    align-items: center;
    gap: 8px;
    color: var(--ui-muted);
    font-weight: 600;
}
.nexus-ui input[type="checkbox"] { accent-color: var(--ui-brand); }
:where(.nexus-ui) .check input {
    width: 16px;
    min-height: 16px;
    margin: 0;
    accent-color: var(--ui-brand);
}
:where(.nexus-ui) .form-actions {
    display: flex;
    justify-content: flex-end;
    gap: 10px;
    padding-bottom: 30px;
}
:where(.nexus-ui) .form-help {
    margin: 18px 24px 0;
    color: var(--ui-muted);
    font-size: 13px;
}
:where(.nexus-ui) .security-summary {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
    margin-bottom: 18px;
}
:where(.nexus-ui) .security-card {
    min-height: 130px;
    display: flex;
    align-items: center;
    gap: 17px;
    padding: 23px;
}
:where(.nexus-ui) .security-card > div { flex: 1; }
:where(.nexus-ui) .security-card h2 { margin: 6px 0 7px; }
:where(.nexus-ui) .security-card p {
    margin: 0;
    color: var(--ui-muted);
    font-size: 13px;
    line-height: 1.55;
}
:where(.nexus-ui) .security-icon {
    width: 47px;
    height: 47px;
    display: grid;
    place-items: center;
    flex: 0 0 auto;
    border-radius: 13px;
    color: #fff;
    background: var(--ui-text);
    font-size: 14px;
    font-weight: 850;
}
:where(.nexus-ui) .security-icon.good { background: var(--ui-success); }
:where(.nexus-ui) .session-list { padding: 6px 0; }
:where(.nexus-ui) .session-row {
    display: grid;
    grid-template-columns: 45px minmax(0,1fr) minmax(170px,auto) auto;
    align-items: center;
    gap: 15px;
    padding: 15px 24px;
    border-bottom: 1px solid #eef1f2;
}
:where(.nexus-ui) .session-row:last-child { border: 0; }
:where(.nexus-ui) .device-glyph {
    width: 42px;
    height: 42px;
    display: grid;
    place-items: center;
    border-radius: 10px;
    color: var(--ui-text);
    background: #edf0f1;
    font-size: 20px;
}
:where(.nexus-ui) .session-row strong,
:where(.nexus-ui) .session-row small,
:where(.nexus-ui) .session-time span {
    display: block;
}
:where(.nexus-ui) .session-row strong { font-size: 14px; }
:where(.nexus-ui) .session-row small { margin-top: 3px; }
:where(.nexus-ui) .session-time span {
    margin-top: 3px;
    color: var(--ui-muted);
    font-size: 11px;
}
:where(.nexus-ui) .current-chip {
    display: inline-flex;
    margin-left: 6px;
    padding: 3px 7px;
    border-radius: 20px;
    color: #147348;
    background: #e6f7ef;
    font-size: 11px;
}
:where(.nexus-ui) .session-time { text-align: right; }
:where(.nexus-ui) .security-notes { margin-bottom: 18px; }
:where(.nexus-ui) .security-layers { display: grid; grid-template-columns: repeat(4,1fr); }
:where(.nexus-ui) .security-layers > div {
    display: flex;
    gap: 12px;
    padding: 21px;
    border-right: 1px solid var(--ui-border);
}
:where(.nexus-ui) .security-layers > div:last-child { border: 0; }
:where(.nexus-ui) .security-layers b { font-size: 12px; }
:where(.nexus-ui) .security-layers strong,
:where(.nexus-ui) .security-layers small {
    display: block;
}
:where(.nexus-ui) .security-layers strong { font-size: 13px; }
:where(.nexus-ui) .security-layers small { margin-top: 5px; }
:where(.nexus-ui) .mfa-layout {
    max-width: 950px;
    display: grid;
    grid-template-columns: 1fr 360px;
    gap: 18px;
    align-items: start;
}
:where(.nexus-ui) .mfa-setup-form { display: block; }
:where(.nexus-ui) .mfa-modal-layout {
    max-width: none;
    padding: 0;
    gap: 0;
    grid-template-columns: minmax(0, 1fr) 320px;
}
:where(.nexus-ui) .mfa-flat-section {
    border: 0;
    border-radius: 0;
    box-shadow: none;
}
:where(.nexus-ui) .mfa-modal-layout .mfa-flat-section + .mfa-flat-section {
    border-left: 1px solid var(--ui-border);
}
:where(.nexus-ui) .mfa-steps { padding: 24px; }
:where(.nexus-ui) .mfa-steps ol {
    display: grid;
    gap: 20px;
    margin: 0 0 28px;
    padding: 0;
    list-style: none;
}
:where(.nexus-ui) .mfa-steps li { display: flex; gap: 14px; }
:where(.nexus-ui) .mfa-steps li > b {
    width: 30px;
    height: 30px;
    display: grid;
    place-items: center;
    flex: 0 0 auto;
    border-radius: 50%;
    color: var(--ui-brand);
    background: #fff0f0;
    font-size: 12px;
}
:where(.nexus-ui) .mfa-steps strong,
:where(.nexus-ui) .mfa-steps small {
    display: block;
}
:where(.nexus-ui) .mfa-steps strong { font-size: 15px; }
:where(.nexus-ui) .mfa-steps small { margin-top: 4px; }
:where(.nexus-ui) .qr-panel {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 24px;
    text-align: center;
}
:where(.nexus-ui) .qr-code {
    width: 250px;
    max-width: 100%;
    padding: 12px;
    background: #fff;
    border: 1px solid var(--ui-border);
    border-radius: 10px;
}
:where(.nexus-ui) .qr-code svg {
    display: block;
    width: 100%;
    height: auto;
}
:where(.nexus-ui) .qr-panel > span {
    margin-top: 18px;
    color: var(--ui-muted);
    font-size: 12px;
}
:where(.nexus-ui) .qr-panel code {
    margin-top: 7px;
    padding: 10px 12px;
    border-radius: 7px;
    background: #f2f4f5;
    overflow-wrap: anywhere;
}
:where(.nexus-ui) .qr-panel small { margin-top: 12px; }
:where(.nexus-ui) .user-list { padding: 4px 0; }
:where(.nexus-ui) .user-row {
    display: grid;
    grid-template-columns: 50px minmax(220px, 1fr) auto minmax(300px, auto);
    align-items: center;
    gap: 17px;
    padding: 19px 24px;
    border-bottom: 1px solid #edf0f1;
}
:where(.nexus-ui) .user-row:last-child { border-bottom: 0; }
:where(.nexus-ui) .user-avatar {
    width: 32px;
    height: 32px;
    display: grid;
    place-items: center;
    border-radius: 9px;
    color: #fff;
    background: var(--ui-text);
    font-size: 14px;
    font-weight: 850;
}
:where(.nexus-ui) .user-identity strong,
:where(.nexus-ui) .user-identity small {
    display: block;
}
:where(.nexus-ui) .user-identity strong { font-size: 15px; }
:where(.nexus-ui) .user-identity small { margin-top: 4px; }
:where(.nexus-ui) .user-statuses,
:where(.nexus-ui) .user-actions {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 7px;
}
:where(.nexus-ui) .user-actions { justify-content: flex-end; }
:where(.nexus-ui) .user-actions form { display: inline-flex; }
:where(.nexus-ui) .button:disabled {
    cursor: not-allowed;
    opacity: .5;
    transform: none;
}
:where(.nexus-ui) .page-note {
    margin: 16px 3px 0;
    color: var(--ui-muted);
    font-size: 13px;
}
:where(.nexus-ui) .user-form { max-width: 850px; }
:where(.nexus-ui) .field-help { display: block; }
:where(.nexus-ui) .form-validation { margin: 18px 24px 0; }
:where(.nexus-ui) .embedded-actions {
    display: flex;
    justify-content: flex-end;
    padding: 0 24px 24px;
}
:where(.nexus-ui) .profile-layout {
    width: 100%;
    max-width: none;
    display: grid;
    grid-template-columns: minmax(260px, 300px) minmax(0, 1fr);
    gap: 18px;
    align-items: start;
}
:where(.nexus-ui) .profile-layout > * { min-width: 0; }
:where(.nexus-ui) .profile-photo-preview {
    width: 150px;
    height: 150px;
    display: grid;
    place-items: center;
    margin: 26px auto 12px;
    overflow: hidden;
    color: #fff;
    background: var(--ui-text);
    border-radius: 24px;
    font-size: 36px;
    font-weight: 850;
}
:where(.nexus-ui) .profile-photo-preview img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
}
:where(.nexus-ui) .profile-photo-delete { padding: 0 12px 16px; }
:where(.nexus-ui) .profile-photo-caption {
    margin: 0;
    padding: 2px 16px 18px;
    color: var(--ui-muted);
    font-size: 10px;
    text-align: center;
}
:where(.nexus-ui) .profile-facts { padding: 4px 18px 18px; }
:where(.nexus-ui) .profile-photo-modal-body {
    display: grid;
    grid-template-columns: 150px minmax(0, 1fr);
    align-items: center;
    gap: 18px;
    padding: 18px;
}
:where(.nexus-ui) .profile-photo-preview.profile-photo-preview-modal { margin: 0; }
:where(.nexus-ui) .profile-photo-file { min-height: 150px; margin: 0; }
:where(.nexus-ui) .icon-editor { max-width: 1050px; margin-top: -12px; }
:where(.nexus-ui) .icon-editor-body { align-items: end; }
:where(.nexus-ui) .icon-editor-body p {
    grid-column: 1 / -1;
    margin: 0;
    color: var(--ui-muted);
    font-size: 12px;
}
:where(.nexus-ui) .row-arrow { color: var(--ui-soft); }
:where(.nexus-ui) .mini-record-list article { padding: 13px 20px; border-bottom: 1px solid #edf0f1; }
:where(.nexus-ui) .mini-record-list strong,
:where(.nexus-ui) .mini-record-list small {
    display: block;
}
:where(.nexus-ui) .mini-record-list strong { font-size: 13px; }
:where(.nexus-ui) .mini-record-list strong em {
    margin-left: 5px;
    color: var(--ui-success);
    font-size: 10px;
    font-style: normal;
    text-transform: uppercase;
}
:where(.nexus-ui) .mini-record-list small { margin-top: 4px; overflow-wrap: anywhere; }
:where(.nexus-ui) .panel-note {
    margin: 0;
    padding: 14px 20px;
    color: var(--ui-muted);
    border-top: 1px solid #edf0f1;
    font-size: 11px;
    line-height: 1.55;
}
:where(.nexus-ui) .catalog-layout {
    display: grid;
    gap: 18px;
    align-items: start;
}
:where(.nexus-ui) .catalog-list article {
    min-width: 0;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    padding: 15px 20px;
    border-bottom: 1px solid #edf0f1;
}
:where(.nexus-ui) .catalog-list strong,
:where(.nexus-ui) .catalog-list small,
:where(.nexus-ui) .product-card header strong,
:where(.nexus-ui) .product-card header small {
    display: block;
}
:where(.nexus-ui) .catalog-list small { margin-top: 3px; }
:where(.nexus-ui) .product-card header small {
    margin-top: 3px;
    color: var(--ui-muted);
    font-size: 11px;
}
:where(.nexus-ui) .catalog-list button:not(.button),
:where(.nexus-ui) .policy-list button:not(.button) {
    padding: 0;
    color: var(--ui-brand);
    background: none;
    border: 0;
    font-size: 11px;
    font-weight: 800;
}
:where(.nexus-ui) .is-disabled { opacity: .5; }
:where(.nexus-ui) .product-list {
    display: grid;
    gap: 14px;
    padding: 16px;
}
:where(.nexus-ui) .product-card {
    overflow: hidden;
    border: 1px solid var(--ui-border);
    border-radius: 10px;
}
:where(.nexus-ui) .product-card > header { border-bottom: 1px solid var(--ui-border-strong); }
:where(.nexus-ui) .invoice-list > a,
:where(.nexus-ui) .invoice-list > article {
    min-width: 0;
    display: grid;
    grid-template-columns: minmax(220px,1fr) auto auto;
    align-items: center;
    gap: 14px;
    padding: 14px 20px;
    border-bottom: 1px solid #edf0f1;
}
:where(.nexus-ui) .invoice-list > a:hover { background: #fafbfb; }
:where(.nexus-ui) .invoice-list span strong,
:where(.nexus-ui) .invoice-list span small {
    display: block;
}
:where(.nexus-ui) .invoice-list span small {
    margin-top: 3px;
    color: var(--ui-muted);
    font-size: 11px;
}
:where(.nexus-ui) .invoice-list b { font-size: 12px; white-space: nowrap; }
:where(.nexus-ui) .invoice-list em { font-style: normal; }
:where(.nexus-ui) .subscription-list .status-chip { justify-self: start; margin-top: 4px; }
:where(.nexus-ui) .dhcp-lease-table { margin-top: 2px; border-top: 1px solid var(--ui-border); }
:where(.nexus-ui) .dhcp-lease-head {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    padding: 14px 20px 8px;
}
:where(.nexus-ui) .dhcp-lease-head strong { font-size: 13px; }
:where(.nexus-ui) .dhcp-lease-head span { color: var(--ui-muted); font-size: 11px; }
:where(.nexus-ui) .dhcp-lease-row {
    min-width: 660px;
    display: grid;
    grid-template-columns: minmax(180px,1fr) minmax(100px,.55fr) minmax(130px,.7fr) auto;
    gap: 12px;
    align-items: center;
    padding: 10px 20px;
    border-top: 1px solid #edf0f1;
    font-size: 11px;
}
:where(.nexus-ui) .dhcp-lease-row strong,
:where(.nexus-ui) .dhcp-lease-row small {
    display: block;
}
:where(.nexus-ui) .dhcp-lease-row small { margin-top: 2px; }
:where(.nexus-ui) .dhcp-lease-row time {
    margin-top: 2px;
    color: var(--ui-muted);
    font-size: 10px;
}
:where(.nexus-ui) .filter-tabs {
    display: flex;
    gap: 7px;
    margin-bottom: 16px;
}
:where(.nexus-ui) .filter-tabs a {
    padding: 9px 13px;
    color: var(--ui-muted);
    background: #fff;
    border: 1px solid var(--ui-border);
    border-radius: 8px;
    font-size: 12px;
    font-weight: 750;
}
:where(.nexus-ui) .filter-tabs a.active {
    color: #fff;
    background: var(--ui-text);
    border-color: var(--ui-text);
}
:where(.nexus-ui) .request-list > a {
    display: grid;
    align-items: center;
    gap: 14px;
    border-bottom: 1px solid #edf0f1;
}
:where(.nexus-ui) .request-list > a:hover { background: #fafbfb; }
:where(.nexus-ui) .request-list strong,
:where(.nexus-ui) .request-list small {
    display: block;
}
:where(.nexus-ui) .request-list small { margin-top: 3px; }
:where(.nexus-ui) .request-list time { color: var(--ui-muted); font-size: 11px; }
:where(.nexus-ui) .request-list > a > b { color: var(--ui-soft); }
:where(.nexus-ui) .compact-request-list > a { grid-template-columns: 8px minmax(0,1fr) auto; }
:where(.nexus-ui) .collector-status {
    margin: 16px 20px;
    padding: 14px 16px;
    border: 1px solid var(--ui-success);
    border-left-width: 3px;
    border-radius: var(--ui-radius-sm);
    background: #f2faf6;
}
:where(.nexus-ui) .collector-status.collector-error { border-color: var(--ui-brand); background: #fff4f3; }
:where(.nexus-ui) .collector-status.collector-warning { border-color: var(--ui-warning); background: #fff9e9; }
:where(.nexus-ui) .collector-status.collector-neutral { border-color: var(--ui-border-strong); background: var(--ui-panel-head); }
:where(.nexus-ui) .collector-status strong,
:where(.nexus-ui) .collector-status span {
    display: block;
}
:where(.nexus-ui) .collector-status span {
    margin-top: 3px;
    color: var(--ui-muted);
    font-size: 11px;
    overflow-wrap: anywhere;
}
:where(.nexus-ui) .neighbor-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0,1fr));
    gap: 9px;
    padding: 0 20px 16px;
}
:where(.nexus-ui) .neighbor-grid article {
    min-width: 0;
    display: grid;
    grid-template-columns: 8px minmax(0,1fr) auto;
    align-items: center;
    gap: 10px;
    padding: 12px;
    border: 1px solid var(--ui-border);
    border-radius: 8px;
}
:where(.nexus-ui) .neighbor-grid strong,
:where(.nexus-ui) .neighbor-grid small {
    display: block;
}
:where(.nexus-ui) .neighbor-grid small { font-style: normal; }
:where(.nexus-ui) .neighbor-grid em {
    color: var(--ui-muted);
    font-size: 10px;
    font-style: normal;
}
:where(.nexus-ui) .snapshot-list { padding: 0; border-top: 1px solid var(--ui-border); }
:where(.nexus-ui) .snapshot-list > strong {
    display: block;
    margin-bottom: 8px;
    font-size: 13px;
}
:where(.nexus-ui) .snapshot-list > div {
    display: grid;
    grid-template-columns: 1fr auto auto;
    gap: 12px;
    align-items: center;
    padding: 7px 0;
    color: var(--ui-muted);
    font-size: 11px;
}
:where(.nexus-ui) .snapshot-list a { color: var(--ui-brand); font-weight: 750; }
:where(.nexus-ui) .topbar-back {
    min-width: 68px;
    justify-content: center;
    background: #fff;
}
:where(.nexus-ui) .topbar-back span {
    color: var(--ui-brand);
    font-size: 24px;
    line-height: 1;
}
:where(.nexus-ui) .topbar-back:hover { border-color: var(--ui-border-strong); }
:where(.nexus-ui) .record-tabs a:hover { border-color: #efc2c0; }
:where(.nexus-ui) .problem-text { color: var(--ui-brand-hover) !important; }
:where(.nexus-ui) .ok-text { color: var(--ui-success) !important; }
:where(.nexus-ui) .client-filters {
    display: grid;
    align-items: end;
    gap: 10px;
    margin-bottom: 15px;
    padding: 14px;
}
:where(.nexus-ui) .client-filters input {
    width: 100%;
    min-height: 40px;
    margin-top: 4px;
    padding: 8px 10px;
    color: var(--ui-text-strong);
    background: #fff;
    border: 1px solid var(--ui-border-strong);
    border-radius: 7px;
    font-size: 12px;
}
:where(.nexus-ui) .client-filters select { width: 100%; margin-top: 4px; }
:where(.nexus-ui) .client-table { overflow-x: auto; }
:where(.nexus-ui) .client-table-head,
:where(.nexus-ui) .client-table-row {
    display: grid;
    align-items: center;
    gap: 14px;
    padding: 11px 18px;
}
:where(.nexus-ui) .client-table-head {
    color: var(--ui-soft);
    background: #f7f9f9;
    border-bottom: 1px solid var(--ui-border);
    font-size: 10px;
    text-transform: uppercase;
    letter-spacing: .5px;
}
:where(.nexus-ui) .client-table-row {
    min-height: 83px;
    border-bottom: 1px solid #edf0f1;
    font-size: 12px;
}
:where(.nexus-ui) .client-table-row:hover { background: #fafbfb; }
:where(.nexus-ui) .client-table-row:last-child { border-bottom: 0; }
:where(.nexus-ui) .client-table-row > span { min-width: 0; }
:where(.nexus-ui) .client-table-row strong,
:where(.nexus-ui) .client-table-row small {
    display: block;
}
:where(.nexus-ui) .client-table-row small { margin-top: 3px; overflow-wrap: anywhere; }
:where(.nexus-ui) .client-primary {
    grid-template-columns: 42px minmax(0,1fr);
    align-items: center;
    gap: 11px;
}
:where(.nexus-ui) .client-primary .client-mark { font-style: normal; }
:where(.nexus-ui) .client-table-row > .client-last-payment { justify-content: space-between; gap: 8px; }
:where(.nexus-ui) .document-list > a {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 13px 20px;
    border-bottom: 1px solid #edf0f1;
}
:where(.nexus-ui) .document-list strong,
:where(.nexus-ui) .document-list small {
    display: block;
}
:where(.nexus-ui) .document-list small { margin-top: 3px; }
:where(.nexus-ui) .document-list b { font-size: 11px; }
:where(.nexus-ui) .directory-table > div {
    display: grid;
    align-items: center;
    border-bottom: 1px solid #edf0f1;
    font-size: 11px;
}
:where(.nexus-ui) .directory-table > div:first-child {
    color: var(--ui-soft);
    background: #f7f9f9;
    font-size: 9px;
    text-transform: uppercase;
    letter-spacing: .5px;
}
:where(.nexus-ui) .directory-name { grid-template-columns: 39px minmax(0,1fr); }
:where(.nexus-ui) .directory-name small { margin-top: 2px; }
:where(.nexus-ui) .directory-table a {
    color: var(--ui-brand);
    font-weight: 750;
}
:where(.nexus-ui) .settings-layout {
    max-width: 1100px;
    display: grid;
    gap: 16px;
}
:where(.nexus-ui) .settings-explainer {
    align-self: end;
    padding: 12px 14px;
    color: var(--ui-muted);
    background: #f7f9f9;
    border: 1px solid var(--ui-border);
    border-radius: 8px;
}
:where(.nexus-ui) .settings-explainer strong { display: block; font-size: 12px; }
:where(.nexus-ui) .settings-explainer p { margin: 4px 0 0; font-size: 10px; }
:where(.nexus-ui) .catalog-edit-row { align-items: flex-start !important; }
:where(.nexus-ui) .catalog-edit-row details { min-width: 90px; }
:where(.nexus-ui) .catalog-edit-row summary,
:where(.nexus-ui) .product-card header summary {
    color: var(--ui-brand);
    font-size: 11px;
    font-weight: 750;
    cursor: pointer;
}
:where(.nexus-ui) .catalog-edit-row details[open] { width: min(320px,60vw); }
:where(.nexus-ui) .product-card > header {
    display: flex;
    justify-content: space-between;
    gap: 14px;
}
:where(.nexus-ui) .product-card > header details[open] { width: min(620px,72vw); }
:where(.nexus-ui) .tariff-row .wide-field { min-width: 210px; }
@media (max-width: 1180px) {
    :where(.nexus-ui) .detail-grid { grid-template-columns: minmax(0,1fr) 320px; }
    :where(.nexus-ui) .security-layers { grid-template-columns: 1fr 1fr; }
    :where(.nexus-ui) .security-layers > div:nth-child(2) { border-right: 0; }
    :where(.nexus-ui) .security-layers > div:nth-child(-n+2) { border-bottom: 1px solid var(--ui-border); }
    :where(.nexus-ui) .user-row { grid-template-columns: 50px minmax(0,1fr) auto; }
    :where(.nexus-ui) .user-actions { grid-column: 2 / 4; justify-content: flex-start; }
    :where(.nexus-ui) .catalog-layout { grid-template-columns: 1fr; }
    :where(.nexus-ui) .client-filters { grid-template-columns: repeat(3,minmax(0,1fr)); }
    :where(.nexus-ui) .client-filters .filter-search { grid-column: span 2; }
}
@media (max-width: 900px) {
    :where(.nexus-ui) .sidebar {
        left: 0;
        top: 0;
        transform: translateX(-102%);
    }
    body:where(.nexus-ui).sidebar-open { overflow: hidden; }
    body:where(.nexus-ui).sidebar-open .sidebar { transform: translateX(0); }
    :where(.nexus-ui) .sidebar-scrim {
        position: fixed;
        inset: 0;
        z-index: 40;
        background: rgba(16,20,22,.55);
    }
    body:where(.nexus-ui).sidebar-open .sidebar-scrim { display: block; }
    :where(.nexus-ui) .sidebar-close { color: #fff; font-size: 25px; }
    :where(.nexus-ui) .menu-button {
        margin-right: 14px;
        color: var(--ui-text);
        font-size: 18px;
    }
    :where(.nexus-ui) .topbar-context p { max-width: 420px; }
    :where(.nexus-ui) .detail-grid { grid-template-columns: 1fr; }
    :where(.nexus-ui) .detail-side { grid-template-columns: 1fr 1fr; align-items: start; }
    :where(.nexus-ui) .detail-side > .panel:first-child { grid-row: span 2; }
    :where(.nexus-ui) .detail-facts { grid-template-columns: 1fr 1fr; }
    :where(.nexus-ui) .mfa-layout { grid-template-columns: 1fr 310px; }
    :where(.nexus-ui) .user-row { grid-template-columns: 50px minmax(0,1fr); }
    :where(.nexus-ui) .user-statuses,
    :where(.nexus-ui) .user-actions {
        grid-column: 2;
    }
    :where(.nexus-ui) .profile-layout { grid-template-columns: 1fr; }
}
@media (max-width: 650px) {
    :where(.nexus-ui) .topbar { height: 64px; }
    :where(.nexus-ui) .topbar-context { flex: 1; }
    :where(.nexus-ui) .topbar-back { min-width: 35px; width: 35px; }
    :where(.nexus-ui) .topbar-back b { display: none; }
    :where(.nexus-ui) .topbar-kicker,
    :where(.nexus-ui) .topbar-context p,
    :where(.nexus-ui) .topbar-divider,
    :where(.nexus-ui) .topbar-security {
        display: none;
    }
    :where(.nexus-ui) .topbar-page-actions .button-light { display: none; }
    :where(.nexus-ui) .topbar-page-actions .button { padding-inline: 11px; white-space: nowrap; }
    :where(.nexus-ui) .topbar-logout { width: 35px; justify-content: center; }
    :where(.nexus-ui) .topbar-logout span { display: none; }
    :where(.nexus-ui) .page-head > .button,
    :where(.nexus-ui) .page-head > form .button {
        width: 100%;
    }
    :where(.nexus-ui) .search-bar { display: grid; grid-template-columns: 20px minmax(0,1fr) auto; }
    :where(.nexus-ui) .search-bar .button { display: none; }
    :where(.nexus-ui) .table-row { padding-inline: 17px; }
    :where(.nexus-ui) .table-row { grid-template-columns: 8px minmax(0,1fr) 10px; }
    :where(.nexus-ui) .detail-facts { grid-template-columns: 1fr 1fr; }
    :where(.nexus-ui) .detail-facts div { padding: 13px; }
    :where(.nexus-ui) .detail-side { grid-template-columns: 1fr; }
    :where(.nexus-ui) .detail-side > .panel:first-child { grid-row: auto; }
    :where(.nexus-ui) .form-grid.two { grid-template-columns: 1fr; padding: 18px 16px 21px; }
    :where(.nexus-ui) .form-grid .span-two { grid-column: auto; }
    :where(.nexus-ui) .form-grid.split { grid-template-columns: 1fr 1fr; padding: 0; }
    :where(.nexus-ui) .child-grid { grid-template-columns: 1fr 1fr; }
    :where(.nexus-ui) .security-summary { grid-template-columns: 1fr; }
    :where(.nexus-ui) .security-card { align-items: flex-start; flex-wrap: wrap; }
    :where(.nexus-ui) .session-row { grid-template-columns: 42px minmax(0,1fr) auto; padding: 14px 16px; }
    :where(.nexus-ui) .session-time { grid-column: 2 / 4; text-align: left; }
    :where(.nexus-ui) .security-layers { grid-template-columns: 1fr; }
    :where(.nexus-ui) .security-layers > div { border-right: 0; border-bottom: 1px solid var(--ui-border); }
    :where(.nexus-ui) .mfa-layout { grid-template-columns: 1fr; }
    :where(.nexus-ui) .qr-panel { grid-row: 1; }
    :where(.nexus-ui) .user-row {
        grid-template-columns: 42px minmax(0,1fr);
        gap: 13px;
        padding: 17px;
    }
    :where(.nexus-ui) .user-avatar { width: 32px; height: 32px; }
    :where(.nexus-ui) .user-actions .button,
    :where(.nexus-ui) .user-actions form {
        flex: 1 1 auto;
    }
    :where(.nexus-ui) .user-actions form .button { width: 100%; }
    :where(.nexus-ui) .neighbor-grid { grid-template-columns: 1fr; }
    :where(.nexus-ui) .client-row .status-chip { grid-column: 2; justify-self: start; }
    :where(.nexus-ui) .request-list time,
    :where(.nexus-ui) .request-list .status-chip {
        grid-column: 2;
        justify-self: start;
    }
    :where(.nexus-ui) .invoice-list > a,
    :where(.nexus-ui) .invoice-list > article {
        grid-template-columns: 1fr auto;
    }
    :where(.nexus-ui) .invoice-list .status-chip { grid-column: 1 / -1; justify-self: start; }
    :where(.nexus-ui) .tariff-row .button { grid-column: 1 / -1; }
    :where(.nexus-ui) .record-tabs { margin-top: -14px; }
    :where(.nexus-ui) .client-filters { grid-template-columns: 1fr 1fr; }
    :where(.nexus-ui) .client-filters .filter-search { grid-column: 1 / -1; }
    :where(.nexus-ui) .client-filters .button { width: 100%; }
}
:where(.nexus-ui) .infrastructure-inventory-panel { margin-bottom: 18px; }
:where(.nexus-ui) .table-scroll { overflow-x: auto; }
:where(.nexus-ui) .infrastructure-device-table td:first-child { min-width: 190px; }
:where(.nexus-ui) .infrastructure-device-table td:nth-child(2) { min-width: 120px; }
:where(.nexus-ui) .infrastructure-device-table td:nth-child(3) { min-width: 180px; }
:where(.nexus-ui) .infrastructure-device-table td:nth-child(4) { min-width: 190px; }
:where(.nexus-ui) .table-primary-link { display: block; text-decoration: none; }
:where(.nexus-ui) .table-primary-link:hover { color: var(--ui-brand); }
:where(.nexus-ui) .data-table td > small {
    display: block;
    margin-top: 4px;
    color: var(--ui-muted);
}
:where(.nexus-ui) .status-label + small { display: block; margin-top: 4px; }
:where(.nexus-ui) .status-label {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    text-transform: capitalize;
}
:where(.nexus-ui) .table-actions { text-align: right; }
:where(.nexus-ui) .client-service-lines strong { display: block; font-size: 11px; }
:where(.nexus-ui) .planned-change {
    display: grid;
    gap: 3px;
    margin-top: 8px;
    padding: 9px 11px;
    color: #6d4b00;
    background: #fff6cf;
    border: 1px solid #f1dc82;
    border-radius: 7px;
}
:where(.nexus-ui) .planned-change b {
    font-size: 10px;
    text-transform: uppercase;
    letter-spacing: .35px;
}
:where(.nexus-ui) .planned-change span { font-size: 11px; }
:where(.nexus-ui) .payment-plan { overflow-x: auto; }
:where(.nexus-ui) .payment-plan-head,
:where(.nexus-ui) .payment-plan-row {
    display: grid;
    grid-template-columns: 105px minmax(250px,1fr) 115px 115px 125px;
    align-items: center;
    min-width: 760px;
}
:where(.nexus-ui) .payment-plan-head {
    padding: 10px 18px;
    color: var(--ui-soft);
    background: #f7f9f9;
    border-block: 1px solid var(--ui-border);
    font-size: 9px;
    letter-spacing: .45px;
    text-transform: uppercase;
}
:where(.nexus-ui) .payment-plan-row {
    border-bottom: 1px solid rgba(0,0,0,.055);
    font-size: 11px;
}
:where(.nexus-ui) .payment-plan-row > span:nth-child(n+3) { text-align: right; }
:where(.nexus-ui) .payment-plan-row small { display: block; margin-top: 3px; }
:where(.nexus-ui) .catalog-groups {
    display: grid;
    gap: 14px;
    padding: 14px;
}
:where(.nexus-ui) .catalog-group {
    overflow: hidden;
    border: 1px solid var(--ui-border-strong);
    border-radius: 9px;
}
:where(.nexus-ui) .catalog-group > h3 {
    margin: 0;
    padding: 10px 14px;
    border-bottom: 1px solid var(--ui-border-strong);
    text-transform: uppercase;
}
:where(.nexus-ui) .bank-health { margin-bottom: 20px; }
:where(.nexus-ui) .bank-health-facts {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 10px;
    padding: 14px 16px 10px;
}
:where(.nexus-ui) .bank-health-facts > div {
    min-width: 0;
    padding: 11px 12px;
    background: var(--ui-surface-subtle);
    border: 1px solid var(--ui-border);
    border-radius: var(--ui-radius-sm);
}
:where(.nexus-ui) .bank-health-facts span,
:where(.nexus-ui) .bank-health-facts strong { display: block; }
:where(.nexus-ui) .bank-health-facts span { color: var(--ui-muted); font-size: 10px; }
:where(.nexus-ui) .bank-health-facts strong { margin-top: 5px; overflow-wrap: anywhere; font-size: 13px; }
:where(.nexus-ui) .bank-period-note {
    display: flex;
    align-items: baseline;
    flex-wrap: wrap;
    gap: 4px 12px;
    margin: 0;
    padding: 4px 16px 14px;
    color: var(--ui-muted);
    font-size: 10px;
}
:where(.nexus-ui) .bank-period-note strong { color: var(--ui-text); }
@media (max-width: 900px) {
    :where(.nexus-ui) .bank-health-facts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 520px) {
    :where(.nexus-ui) .bank-health-facts { grid-template-columns: 1fr; }
}
:where(.nexus-ui) .bank-movements article > div { flex: 1; }
:where(.nexus-ui) .bank-movements small,
:where(.nexus-ui) .credit-receipt small {
    display: block;
}
:where(.nexus-ui) .bank-movements form { display: flex; gap: 10px; }
:where(.nexus-ui) .credit-receipt {
    display: flex;
    justify-content: space-between;
    padding: 18px 24px;
    gap: 20px;
    border-bottom: 1px solid #e0e5e8;
}
:where(.nexus-ui) .service-advanced { border-top: 1px solid #e0e5e8; padding-top: 14px; }
:where(.nexus-ui) .tariff-network-note {
    border-left: 3px solid #e33;
    background: #f6f8f9;
    padding: 14px;
}
:where(.nexus-ui) .tariff-network-note p { margin: 5px 0 0; color: #586770; }
:where(.nexus-ui) .pending-text { color: #996000; }
:where(.nexus-ui) .actual-tabs {
    display: flex;
    gap: 4px;
    overflow-x: auto;
}
:where(.nexus-ui) .actual-tabs a {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    min-height: 36px;
    padding: 8px 12px;
    color: var(--ui-muted);
    background: #fff;
    border: 1px solid var(--ui-border);
    border-radius: 7px;
    font-size: 11px;
    font-weight: 800;
    white-space: nowrap;
}
:where(.nexus-ui) .actual-tabs a.active {
    color: #fff;
    background: var(--ui-text);
    border-color: var(--ui-text);
}
:where(.nexus-ui) .workspace-tabs a span { text-align: center; }
:where(.nexus-ui) .actual-tabs a span {
    min-width: 18px;
    padding: 2px 5px;
    text-align: center;
    color: inherit;
    background: rgba(128,140,145,.15);
    border-radius: 9px;
    font-size: 9px;
}
:where(.nexus-ui) .actual-tabs {
    position: static;
    margin: 0 0 14px;
    padding: 0;
    background: transparent;
    backdrop-filter: none;
}
:where(.nexus-ui) .compact-summary {
    flex-wrap: wrap;
}
:where(.nexus-ui) .compact-summary a { min-height: 38px; background: #fff; }
:where(.nexus-ui) .infrastructure-filters { align-items: end; }
:where(.nexus-ui) .infrastructure-filters label { text-transform: uppercase; }
:where(.nexus-ui) .infrastructure-filters input { min-height: 38px; padding: 8px 10px; }
:where(.nexus-ui) .infrastructure-workspace .infrastructure-inventory-panel { margin: 0; }
:where(.nexus-ui) .tree-filter-link { flex: 1; }
:where(.nexus-ui) .tree-filter-link strong,
:where(.nexus-ui) .tree-filter-link small {
    display: block;
}
:where(.nexus-ui) .tree-detail-link { flex: 0 0 auto; }
:where(.nexus-ui) .icon-action { cursor: pointer; }
:where(.nexus-ui) .compact-detail { grid-template-columns: minmax(0,1fr) 330px; }
:where(.nexus-ui) .fact-list {
    display: grid;
    gap: 0;
    margin: 0;
    padding: 8px 20px 18px;
}
:where(.nexus-ui) .fact-list.two-column { grid-template-columns: 1fr 1fr; column-gap: 28px; }
:where(.nexus-ui) .fact-list > div {
    display: grid;
    grid-template-columns: minmax(105px,.42fr) minmax(0,1fr);
    gap: 12px;
    padding: 8px 0;
    border-bottom: 1px solid #edf0f1;
}
:where(.nexus-ui) .fact-list dt { color: var(--ui-muted); font-size: 10px; }
:where(.nexus-ui) .fact-list dd {
    margin: 0;
    color: var(--ui-text-strong);
    font-size: 11px;
    font-weight: 700;
    overflow-wrap: anywhere;
}
:where(.nexus-ui) .block-note {
    margin: 0 20px 20px;
    padding: 11px 13px;
    color: var(--ui-muted);
    background: #f6f8f8;
    border-left: 3px solid var(--ui-brand);
    font-size: 11px;
    line-height: 1.55;
}
:where(.nexus-ui) .editor-row td { padding: 0 !important; background: #f8fafa; }
:where(.nexus-ui) .editor-row details > summary {
    padding: 8px 16px;
    color: var(--ui-brand);
    cursor: pointer;
    font-size: 10px;
    font-weight: 800;
}
:where(.nexus-ui) .compact-table { min-width: 880px !important; }
:where(.nexus-ui) .service-table article {
    display: grid;
    gap: 20px;
    padding: 13px 20px;
    border-top: 1px solid var(--ui-border);
}
:where(.nexus-ui) .service-table article > div:first-child {
    display: grid;
    grid-template-columns: 8px minmax(0,1fr);
    align-items: center;
    gap: 8px;
}
:where(.nexus-ui) .service-table article > div:first-child small {
    grid-column: 2;
    color: var(--ui-muted);
    font-size: 9px;
}
:where(.nexus-ui) .service-table article > div:last-child { display: grid; gap: 5px; }
:where(.nexus-ui) .service-table article > div:last-child a {
    display: grid;
    grid-template-columns: minmax(110px,.35fr) minmax(0,1fr) auto;
    gap: 10px;
    font-size: 10px;
}
:where(.nexus-ui) .section-caption { margin: 18px 20px 7px; font-size: 12px; }
:where(.nexus-ui) .photo-grid-wide { grid-template-columns: repeat(auto-fill,minmax(190px,1fr)); padding: 0 20px 20px; }
:where(.nexus-ui) .client-service-cards { gap: 12px; padding: 14px; }
:where(.nexus-ui) .client-service-cards > article {
    overflow: hidden;
    border: 1px solid var(--ui-border);
    border-radius: 8px;
}
:where(.nexus-ui) .client-service-cards > article > header {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 14px;
    padding: 13px 16px;
    background: #f7f9f9;
    border-bottom: 1px solid var(--ui-border);
}
:where(.nexus-ui) .client-service-cards h3 { margin: 3px 0 0; }
:where(.nexus-ui) .client-service-cards header > strong {
    color: var(--ui-text-strong);
    font-size: 13px;
    white-space: nowrap;
}
:where(.nexus-ui) .client-service-cards .fact-list { padding-bottom: 10px; }
:where(.nexus-ui) .client-service-cards .fact-list > div { padding: 6px 0; }
:where(.nexus-ui) .client-service-cards .planned-change { margin: 0 14px 14px; }
:where(.nexus-ui) .client-service-cards .free-service-note {
    margin: 0 14px 14px;
    padding: 8px 10px;
    color: #2d6843;
    background: #ebf7ef;
    border-radius: 6px;
    font-size: 10px;
}
:where(.nexus-ui) .credit-receipt.is-voided { opacity: .65; background: #f4f5f5; }
:where(.nexus-ui) .credit-receipt.is-voided strong { text-decoration: line-through; }
:where(.nexus-ui) .muted-text { color: var(--ui-muted); }
:where(.nexus-ui) .payment-editor-list > details { border-bottom: 1px solid var(--ui-border); }
:where(.nexus-ui) .payment-editor-list > details > summary { list-style: none; cursor: pointer; }
:where(.nexus-ui) .payment-editor-list > details > summary::-webkit-details-marker { display: none; }
:where(.nexus-ui) .payment-editor-list > details > summary > i { color: var(--ui-brand); font-style: normal; }
:where(.nexus-ui) .payment-editor-list > details.is-voided > summary { opacity: .65; background: #f4f5f5; }
:where(.nexus-ui) .payment-editor-list > details.is-voided strong { text-decoration: line-through; }
:where(.nexus-ui) .bank-correction { flex-basis: 100%; }
:where(.nexus-ui) .bank-correction > summary {
    color: var(--ui-brand);
    cursor: pointer;
    font-size: 10px;
    font-weight: 800;
}
:where(.nexus-ui) .bank-correction-body {
    grid-template-columns: repeat(3,minmax(220px,1fr));
    gap: 10px;
}
:where(.nexus-ui) .bank-correction-body form {
    display: grid;
    align-content: start;
    gap: 8px;
}
:where(.nexus-ui) .ticket-value-compare {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
    padding: 0 24px 22px;
}
:where(.nexus-ui) .ticket-value-compare > div {
    min-width: 0;
    padding: 13px;
    background: #f6f8f8;
    border: 1px solid var(--ui-border);
    border-radius: 7px;
}
:where(.nexus-ui) .ticket-value-compare > div:last-child { border-left: 3px solid var(--ui-brand); }
:where(.nexus-ui) .ticket-value-compare span,
:where(.nexus-ui) .ticket-value-compare strong,
:where(.nexus-ui) .ticket-value-compare small {
    display: block;
    overflow-wrap: anywhere;
}
:where(.nexus-ui) .ticket-value-compare span {
    color: var(--ui-brand);
    font-size: 9px;
    font-weight: 800;
    letter-spacing: .5px;
}
:where(.nexus-ui) .ticket-value-compare strong {
    margin: 7px 0;
    font-size: 12px;
    white-space: pre-wrap;
}
:where(.nexus-ui) .ticket-change-fields > p { color: var(--ui-muted); font-size: 9px; }
:where(.nexus-ui) .ticket-change-fields {
    padding: 10px 12px;
    background: #f6f8f8;
    border: 1px solid var(--ui-border);
    border-radius: 7px;
}
:where(.nexus-ui) .ticket-change-fields > summary {
    color: var(--ui-brand);
    cursor: pointer;
    font-size: 10px;
    font-weight: 800;
}
:where(.nexus-ui) .request-detail-grid .detail-main > * { min-width: 0; }
:where(.nexus-ui) .request-detail-grid .form-stack.compact { padding: 0 20px 20px; }
:where(.nexus-ui) .request-detail-grid .decision-buttons .button {
    min-width: 0;
    width: 100%;
    min-height: 42px;
    padding: 9px 10px;
    white-space: normal;
    overflow-wrap: anywhere;
}
@media (max-width: 900px) {
    :where(.nexus-ui) .compact-detail { grid-template-columns: 1fr; }
    :where(.nexus-ui) .bank-correction-body { grid-template-columns: 1fr; }
    :where(.nexus-ui) .ticket-value-compare { grid-template-columns: 1fr; }
}
@media (max-width: 650px) {
    :where(.nexus-ui) .infrastructure-filters .filter-grow { grid-column: 1 / -1; }
    :where(.nexus-ui) .fact-list.two-column { grid-template-columns: 1fr; }
    :where(.nexus-ui) .client-service-cards { padding: 10px; }
}
:where(.nexus-ui) .status-card.state-ok { box-shadow: inset 4px 0 #25a55f; background: #f4fbf7; }
:where(.nexus-ui) .status-card.state-warning { box-shadow: inset 4px 0 #e2a524; background: #fffaf0; }
:where(.nexus-ui) .status-card.state-danger { box-shadow: inset 4px 0 #dc3636; background: #fff5f4; }
:where(.nexus-ui) .dashboard-list-panel .mini-record-list { max-height: 220px; overflow: auto; }
:where(.nexus-ui) .traffic-chart-empty {
    position: relative;
    overflow: hidden;
    background: #fbfcfc;
}
:where(.nexus-ui) .traffic-chart-empty > svg {
    width: 100%;
    height: 230px;
    opacity: .55;
}
:where(.nexus-ui) .traffic-chart-empty > div {
    position: absolute;
    inset: 0;
    display: grid;
    place-content: center;
    gap: 5px;
    padding: 25px;
    text-align: center;
}
:where(.nexus-ui) .traffic-chart-empty > div span {
    max-width: 480px;
    color: var(--ui-muted);
    font-size: 10px;
}
:where(.nexus-ui) .chart-grid line { stroke: #d9dfe1; stroke-width: 1; }
:where(.nexus-ui) .record-card-actions {
    display: flex;
    align-items: center;
    gap: 7px;
}
:where(.nexus-ui) .icon-danger,
:where(.nexus-ui) .icon-action.danger,
:where(.nexus-ui) .icon-button.danger {
    color: #c62929;
}
:where(.nexus-ui) .icon-danger:hover,
:where(.nexus-ui) .icon-button.danger:hover {
    color: #fff;
    background: #c62929;
    border-color: #c62929;
}
:where(.nexus-ui) .targeted-editors,
:where(.nexus-ui) .client-device-cards {
    min-width: 0;
}
:where(.nexus-ui) .targeted-editor { border-top: 1px solid var(--ui-border); background: #f8fafa; }
:where(.nexus-ui) .targeted-editor > summary {
    padding: 10px 16px;
    color: var(--ui-brand);
    cursor: pointer;
    font-size: 10px;
    font-weight: 800;
    list-style: none;
}
:where(.nexus-ui) .targeted-editor > summary::-webkit-details-marker { display: none; }
:where(.nexus-ui) .targeted-editor > form { padding: 14px 16px 18px; }
:where(.nexus-ui) .client-device-cards {
    display: grid;
    gap: 12px;
    padding: 14px;
}
:where(.nexus-ui) .client-device-card {
    overflow: hidden;
    border: 1px solid var(--ui-border);
    border-radius: 8px;
}
:where(.nexus-ui) .client-device-card > header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
    padding: 13px 16px;
    border-bottom: 1px solid var(--ui-border-strong);
}
:where(.nexus-ui) .client-device-card h3 { margin: 3px 0; }
:where(.nexus-ui) .client-device-card header small { color: var(--ui-muted); font-size: 9px; }
:where(.nexus-ui) .card-note {
    margin: 0 14px 14px;
    padding: 10px 12px;
    color: var(--ui-muted);
    background: #f6f8f8;
    border-left: 3px solid #9aa8ad;
    white-space: pre-wrap;
    font-size: 10px;
}
:where(.nexus-ui) .asset-network-list { display: grid; }
:where(.nexus-ui) .asset-network-list > article { display: grid; align-items: center; }
:where(.nexus-ui) .asset-network-list small { display: block; }
:where(.nexus-ui) .asset-network-list span { font-size: 9px; }
:where(.nexus-ui) .payment-action-area {
    display: grid;
    grid-template-columns: minmax(0,1.4fr) minmax(230px,.6fr);
    gap: 12px;
    padding: 14px 20px 20px;
    background: #f8fafa;
    border-top: 1px solid var(--ui-border);
}
:where(.nexus-ui) .payment-action-area > section {
    min-width: 0;
    padding: 13px;
    background: #fff;
    border: 1px solid var(--ui-border);
    border-radius: 7px;
}
:where(.nexus-ui) .payment-action-area h3 { margin: 0 0 10px; }
:where(.nexus-ui) .payment-action-area .danger-zone { border-color: #efc2c0; background: #fff8f7; }
:where(.nexus-ui) .ticket-workspace {
    display: grid;
    gap: 12px;
    align-items: start;
}
:where(.nexus-ui) .ticket-column,
:where(.nexus-ui) .ticket-side-column {
    display: grid;
    min-width: 0;
    gap: 12px;
}
:where(.nexus-ui) .internal-note > p {
    margin: 0;
    white-space: pre-wrap;
    overflow-wrap: anywhere;
    line-height: 1.55;
}
:where(.nexus-ui) .ticket-message .ticket-value-compare { padding: 14px 0 0; }
:where(.nexus-ui) .ticket-locked-notice {
    display: grid;
    gap: 4px;
    margin: 14px 18px 18px;
    padding: 12px 14px;
    color: #58666b;
    background: #f1f3f4;
    border-left: 3px solid #89979c;
    border-radius: 6px;
}
:where(.nexus-ui) .ticket-locked-notice span { font-size: 9px; }
:where(.nexus-ui) .internal-note-list { display: grid; gap: 9px; }
:where(.nexus-ui) .internal-note {
    position: relative;
    background: #fff8d9;
    border: 1px solid #eadb93;
    border-radius: 8px;
}
:where(.nexus-ui) .internal-note .record-actions { top: 8px; right: 8px; }
:where(.nexus-ui) .internal-note .record-actions details { position: static; }
:where(.nexus-ui) .internal-note .record-actions details > form {
    position: absolute;
    z-index: 4;
    top: 42px;
    right: 8px;
    width: min(430px,calc(100% - 16px));
    padding: 12px;
    background: #fff;
    border: 1px solid var(--ui-border);
    border-radius: 7px;
    box-shadow: var(--ui-shadow-panel);
}
:where(.nexus-ui) .record-actions .icon-button {
    display: grid;
    place-items: center;
    width: 31px;
    height: 31px;
    padding: 0;
    border: 1px solid var(--ui-border);
    border-radius: 6px;
    background: #fff;
    color: var(--ui-brand);
    cursor: pointer;
    list-style: none;
}
:where(.nexus-ui) .record-actions .icon-button::-webkit-details-marker { display: none; }
:where(.nexus-ui) .panel-inline-editor { border-top: 1px solid var(--ui-border); }
:where(.nexus-ui) .panel-inline-editor > summary {
    padding: 12px 16px;
    color: var(--ui-brand);
    cursor: pointer;
    font-size: 10px;
    font-weight: 800;
}
:where(.nexus-ui) .panel-inline-editor > form { padding: 0 16px 16px; }
:where(.nexus-ui) .ticket-side-column .decision-buttons {
    display: grid;
    grid-template-columns: 1fr;
    gap: 7px;
}
:where(.nexus-ui) .operational-note-list {
    display: grid;
    gap: 10px;
    padding: 12px 18px 18px;
}
:where(.nexus-ui) .operational-note {
    overflow: hidden;
    border: 1px solid var(--ui-border);
    border-radius: 8px;
    background: #fff;
}
:where(.nexus-ui) .operational-note > header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 10px;
    padding: 11px 13px;
    background: #f7f9f9;
    border-bottom: 1px solid var(--ui-border);
}
:where(.nexus-ui) .operational-note > header strong,
:where(.nexus-ui) .operational-note > header small {
    display: block;
}
:where(.nexus-ui) .operational-note > header small {
    margin-top: 3px;
    color: var(--ui-muted);
    font-size: 9px;
}
:where(.nexus-ui) .operational-note > header .record-actions { display: flex; gap: 5px; }
:where(.nexus-ui) .operational-note > p {
    margin: 0;
    padding: 12px 13px;
    white-space: pre-wrap;
    overflow-wrap: anywhere;
    font-size: 11px;
    line-height: 1.55;
}
:where(.nexus-ui) .operational-note-body > summary {
    padding: 10px 13px;
    color: var(--ui-brand);
    cursor: pointer;
    font-size: 10px;
    font-weight: 800;
    list-style: none;
}
:where(.nexus-ui) .operational-note-body > summary::-webkit-details-marker { display: none; }
:where(.nexus-ui) .operational-note-body > summary::before {
    content: "›";
    display: inline-block;
    margin-right: 7px;
    transition: transform .15s;
}
:where(.nexus-ui) .operational-note-body[open] > summary::before { transform: rotate(90deg); }
:where(.nexus-ui) .operational-note-body > p {
    margin: 0;
    padding: 0 13px 13px;
    white-space: pre-wrap;
    overflow-wrap: anywhere;
    font-size: 12px;
    line-height: 1.55;
}
:where(.nexus-ui) .note-editor { border-top: 1px solid var(--ui-border); background: #f8fafa; }
:where(.nexus-ui) .note-editor > summary {
    padding: 9px 13px;
    color: var(--ui-brand);
    cursor: pointer;
    font-size: 9px;
    font-weight: 800;
}
:where(.nexus-ui) .note-editor > form { padding: 0 13px 13px; }
:where(.nexus-ui) .link-endpoint {
    display: grid;
    grid-template-columns: 1fr;
    gap: 5px;
    padding: 10px;
    background: #f6f8f8;
    border: 1px solid var(--ui-border);
    border-radius: 7px;
}
:where(.nexus-ui) .link-endpoint label:not(:first-child) { margin-top: 6px; }
@media (max-width: 700px) {
    :where(.nexus-ui) .client-device-cards { padding: 10px; }
    :where(.nexus-ui) .payment-action-area { grid-template-columns: 1fr; padding: 10px; }
}
:where(.nexus-ui) .button-danger { font-weight: 800; }
:where(.nexus-ui) .icon-button {
    min-width: 38px;
    min-height: 38px;
    display: inline-grid;
    place-items: center;
    border: 1px solid var(--ui-border-strong);
    border-radius: 7px;
    background: #fff;
    font-size: 16px;
}
:where(.nexus-ui) .ui-icon-trash { -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='black' stroke-width='2' stroke-linecap='round' d='M4 7h16M9 7V4h6v3m-8 0 1 13h8l1-13M10 11v5m4-5v5'/%3E%3C/svg%3E") center/contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='black' stroke-width='2' stroke-linecap='round' d='M4 7h16M9 7V4h6v3m-8 0 1 13h8l1-13M10 11v5m4-5v5'/%3E%3C/svg%3E") center/contain no-repeat; }
:where(.nexus-ui) .compact-summary a.active { box-shadow: inset 0 -3px var(--ui-brand); }
:where(.nexus-ui) .infrastructure-tree-page { width: 100%; }
:where(.nexus-ui) .tree-page-list .tree-toggle::before { font-size: 22px; }
:where(.nexus-ui) .tree-page-list .tree-icon { font-size: 23px; text-align: center; }
:where(.nexus-ui) .link-filter-bar.notification-filters { grid-template-columns: minmax(0, 1fr) auto; }
:where(.nexus-ui) .link-filter-bar.notification-filters > label { min-width: 0; }
@media (max-width: 720px) {
    :where(.nexus-ui) .link-filter-bar.notification-filters { grid-template-columns: 1fr; }
    :where(.nexus-ui) .link-filter-bar.notification-filters > label { grid-column: 1; }
    :where(.nexus-ui) .link-filter-bar.notification-filters > .button { width: 100%; }
    :where(.nexus-ui) .confirmed-links-panel > .panel-head { align-items: flex-start; flex-wrap: wrap; }
    :where(.nexus-ui) .confirmed-links-panel > .panel-head > div:first-child { flex: 1 1 100%; }
    :where(.nexus-ui) .confirmed-links-panel > .panel-head > .panel-head-actions { width: 100%; justify-content: flex-start; }
}
:where(.nexus-ui) .physical-link-table { overflow-x: auto; }
:where(.nexus-ui) .physical-link-head,
:where(.nexus-ui) .physical-link-row {
    min-width: 860px;
    display: grid;
    grid-template-columns: minmax(190px,1fr) 120px minmax(190px,1fr) minmax(150px,.75fr) 92px;
    align-items: center;
    gap: 14px;
    padding: 11px 20px;
}
:where(.nexus-ui) .physical-link-table.has-origin .physical-link-head,
:where(.nexus-ui) .physical-link-table.has-origin .physical-link-row {
    min-width: 1060px;
    grid-template-columns: minmax(180px,1fr) 105px minmax(180px,1fr) minmax(145px,.75fr) minmax(150px,.7fr) 92px;
}
:where(.nexus-ui) .physical-link-head {
    color: var(--ui-soft);
    background: #f7f9f9;
    font-size: 10px;
    font-weight: 800;
    text-transform: uppercase;
}
:where(.nexus-ui) .physical-link-row { border-top: 1px solid #edf0f1; }
:where(.nexus-ui) .physical-link-row > div { min-width: 0; }
:where(.nexus-ui) .physical-link-row strong,
:where(.nexus-ui) .physical-link-row code,
:where(.nexus-ui) .physical-link-row small {
    display: block;
}
:where(.nexus-ui) .physical-link-row .link-origin strong { font-size: 11px; }
:where(.nexus-ui) .physical-link-row .link-origin small { color: var(--ui-soft); }
:where(.nexus-ui) .physical-link-row .link-origin a { color: var(--ui-brand); }
:where(.nexus-ui) .icon-action.is-disabled { opacity: .5; cursor: not-allowed; }
:where(.nexus-ui) .physical-link-row code,
:where(.nexus-ui) .physical-link-row small {
    margin-top: 3px;
}
:where(.nexus-ui) .physical-link-row .status-dot { float: left; margin: 7px 9px 0 0; }
:where(.nexus-ui) .physical-link-route { text-align: center; }
:where(.nexus-ui) .physical-link-route b { font-size: 19px; }
:where(.nexus-ui) .physical-link-row .record-actions {
    display: flex;
    justify-content: flex-end;
    gap: 6px;
}
:where(.nexus-ui) .physical-link-row .record-actions .icon-action {
    flex: 0 0 34px;
    width: 34px;
    height: 34px;
    padding: 0;
}
:where(.nexus-ui) .physical-link-row .record-actions .confirm { color: #087a4c; }
:where(.nexus-ui) .link-row-editor {
    margin: 0 20px 12px;
    border: 1px solid var(--ui-border);
    border-radius: 8px;
}
:where(.nexus-ui) .catalog-layout { grid-template-columns: minmax(0,1fr); }
:where(.nexus-ui) .bank-sync-status .validation { margin: 0 18px 18px; }
:where(.nexus-ui) .bank-search-form {
    display: grid;
    gap: 10px;
    border-bottom: 1px solid var(--ui-border);
}
:where(.nexus-ui) .bank-search-form label { display: grid; gap: 4px; }
:where(.nexus-ui) .bank-search-form input {
    padding: 8px 11px;
    border: 1px solid var(--ui-border-strong);
    border-radius: 7px;
}
:where(.nexus-ui) .compact-filter-tabs { margin: 12px 20px 0; }
:where(.nexus-ui) .client-filters { grid-template-columns: minmax(240px,1.5fr) repeat(4,minmax(130px,.7fr)) auto; }
:where(.nexus-ui) .client-status-legend {
    display: flex;
    justify-content: flex-end;
    flex-wrap: wrap;
    gap: 16px;
    margin: 0 4px 0 0;
    color: var(--ui-muted);
    font-size: 10px;
}
:where(.nexus-ui) .client-status-legend span {
    display: inline-flex;
    align-items: center;
    gap: 6px;
}
:where(.nexus-ui) .legend-swatch {
    width: 18px;
    height: 10px;
    display: inline-block;
    border: 1px solid var(--ui-border-strong);
    border-radius: 3px;
}
:where(.nexus-ui) .legend-swatch.client-active { background: #effaf4; border-color: #bfe3cf; }
:where(.nexus-ui) .legend-swatch.client-paused { background: #fff8e8; border-color: #ead7a8; }
:where(.nexus-ui) .legend-swatch.client-closed { background: #f0f2f3; border-color: #d3d9dc; }
:where(.nexus-ui) .client-table-row:hover { filter: brightness(.985); }
:where(.nexus-ui) .client-payments-columns {
    display: grid;
    gap: 14px;
    align-items: start;
}
:where(.nexus-ui) .expandable-image {
    min-width: 0;
    display: grid;
    gap: 5px;
    padding: 0;
    overflow: hidden;
    color: var(--ui-muted);
    background: transparent;
    border: 0;
    text-align: left;
    font-size: 10px;
}
:where(.nexus-ui) .expandable-image img {
    width: 100%;
    display: block;
    object-fit: contain;
    transition: max-height .18s ease;
}
:where(.nexus-ui) .ticket-message-images .expandable-image img {
    height: 145px;
    background: #f0f2f3;
    border-radius: 6px;
}
:where(.nexus-ui) .ticket-message-images .expandable-image.is-expanded { grid-column: 1 / -1; }
:where(.nexus-ui) .ticket-message-images .expandable-image.is-expanded img {
    width: auto;
    max-width: 100%;
    height: auto;
    max-height: 72vh;
}
:where(.nexus-ui) .photo-card .expandable-image { width: 100%; }
:where(.nexus-ui) .photo-card:has(.expandable-image.is-expanded) { grid-column: 1 / -1; }
:where(.nexus-ui) .photo-card .expandable-image.is-expanded img {
    height: auto;
    max-height: 72vh;
    aspect-ratio: auto;
}
:where(.nexus-ui) .internal-note > p { font-size: 13px; }
:where(.nexus-ui) .trash-banner {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 14px;
    padding: 14px 18px;
    background: #fff8e8;
    border-color: #ead7a8;
}
:where(.nexus-ui) .trash-banner > div { min-width: 0; flex: 1; }
:where(.nexus-ui) .trash-banner strong,
:where(.nexus-ui) .trash-banner span {
    display: block;
}
:where(.nexus-ui) .trash-banner span {
    margin-top: 3px;
    color: var(--ui-muted);
    font-size: 11px;
}
:where(.nexus-ui) .sidebar-close { display: none; }
:where(.nexus-ui) .dashboard-grid > .panel { min-width: 0; }
:where(.nexus-ui) .device-table { min-width: 0; overflow: hidden; }
:where(.nexus-ui) .device-table.compact-table { min-width: 0 !important; width: 100%; }
:where(.nexus-ui) .device-table .table-row { width: 100%; min-width: 0; }
:where(.nexus-ui) .table-row > span { min-width: 0; }
:where(.nexus-ui) .button { gap: 7px; }
:where(.nexus-ui) .button-light { box-shadow: 0 2px 7px rgba(16,20,22,.05); }
:where(.nexus-ui) .button:focus-visible,
:where(.nexus-ui) .icon-action:focus-visible,
:where(.nexus-ui) .icon-button:focus-visible {
    outline: 3px solid rgba(229,57,53,.22);
    outline-offset: 2px;
}
:where(.nexus-ui) .button[disabled] {
    cursor: wait;
    opacity: .65;
    transform: none;
}
:where(.nexus-ui) .icon-action,
:where(.nexus-ui) .icon-button {
    flex: 0 0 auto;
    line-height: 1;
}
:where(.nexus-ui) .record-actions form,
:where(.nexus-ui) .record-card-actions form {
    margin: 0;
}
:where(.nexus-ui) .field-help {
    margin: 2px 0 0;
    padding: 10px 12px;
    color: var(--ui-muted);
    background: #f5f7f7;
    border-left: 3px solid var(--ui-warning);
    border-radius: 6px;
    font-size: 11px;
    line-height: 1.5;
}
:where(.nexus-ui) .dashboard-editor { grid-column: 1 / -1; }
:where(.nexus-ui) .dashboard-editor > summary { padding: 10px 16px; }
:where(.nexus-ui) .dashboard-editor-list { padding: 0 12px 12px; }
:where(.nexus-ui) .dashboard-editor-list > form > strong {
    display: block;
    margin-bottom: 7px;
    font-size: 12px;
}
:where(.nexus-ui) .tariff-actions .button { white-space: nowrap; }
:where(.nexus-ui) .client-primary { display: block; padding-left: 7px; }
:where(.nexus-ui) .client-primary > span { min-width: 0; display: block; }
:where(.nexus-ui) .client-primary strong,
:where(.nexus-ui) .client-primary small {
    overflow-wrap: normal;
    word-break: normal;
}
:where(.nexus-ui) .client-service-lines { display: grid; gap: 4px; }
:where(.nexus-ui) .client-service-lines strong { line-height: 1.35; }
:where(.nexus-ui) .client-last-payment strong,
:where(.nexus-ui) .client-last-payment small { grid-column: 1; }
:where(.nexus-ui) .client-table-row.client-state-active { background: #f2fbf6; }
:where(.nexus-ui) .client-table-row.client-state-paused { background: #fff8e8; }
:where(.nexus-ui) .client-table-row.client-state-closed { background: #f0f2f3; }
@media (max-width: 900px) {
    :where(.nexus-ui) .sidebar-close { display: grid; place-items: center; }
    :where(.nexus-ui) .menu-button { place-items: center; }
}
@media (max-width: 700px) {
    :where(.nexus-ui) .tariff-actions .button { flex: 1 1 150px; }
    :where(.nexus-ui) .client-status-legend { justify-content: flex-start; overflow-x: auto; }
}
:where(.nexus-ui) .button { min-width: 96px; }
:where(.nexus-ui) .button-secondary { box-shadow: 0 4px 12px rgba(44,54,59,.15); }
:where(.nexus-ui) .button-small { min-width: 0; }
:where(.nexus-ui) .panel-head small { font-weight: 500; }
:where(.nexus-ui) .record-actions {
    display: inline-flex;
    flex-flow: row nowrap;
    align-items: center;
    gap: 8px;
}
:where(.nexus-ui) .client-facts-panel .fact-list { padding: 12px 24px 20px; }
:where(.nexus-ui) .client-facts-panel .fact-list > div { min-height: 40px; }
:where(.nexus-ui) .portal-account-list {
    display: grid;
    gap: 12px;
    padding: 14px;
}
:where(.nexus-ui) .portal-account {
    overflow: hidden;
    background: #fff;
    border: 1px solid var(--ui-border);
    border-radius: 9px;
}
:where(.nexus-ui) .portal-account.is-disabled { background: #f7f8f8; }
:where(.nexus-ui) .portal-account-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    padding: 13px 16px;
    background: #f7f9f9;
    border-bottom: 1px solid var(--ui-border);
}
:where(.nexus-ui) .portal-account-head > .portal-account-identity {
    min-width: 0;
    display: grid;
    grid-template-columns: 8px minmax(0,1fr);
    column-gap: 9px;
    align-items: center;
}
:where(.nexus-ui) .portal-account-head strong,
:where(.nexus-ui) .portal-account-head small {
    grid-column: 2;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
:where(.nexus-ui) .portal-account-head small { margin-top: 2px; }
:where(.nexus-ui) .portal-actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 7px;
    padding: 0 16px 14px;
}
:where(.nexus-ui) .portal-account > .targeted-editor { margin-top: 0; }
:where(.nexus-ui) .bank-movements article { flex-wrap: initial; }
:where(.nexus-ui) .bank-movements article > div { min-width: 0; }
:where(.nexus-ui) .bank-movements article > div:first-child strong { font-size: 12px; }
:where(.nexus-ui) .bank-movements small,
:where(.nexus-ui) .credit-receipt small {
    margin-top: 2px;
}
:where(.nexus-ui) .bank-movements article > b { white-space: nowrap; }
:where(.nexus-ui) .bank-movements article > a,
:where(.nexus-ui) .bank-movements article > span {
    min-width: 0;
    overflow-wrap: anywhere;
    font-size: 10px;
}
:where(.nexus-ui) .bank-movements .movement-assign { min-width: 0; grid-template-columns: minmax(175px,1fr) auto; }
:where(.nexus-ui) .bank-movements .movement-assign select { min-height: 38px; }
:where(.nexus-ui) .bank-movements .movement-assign .button { min-height: 38px; white-space: nowrap; }
:where(.nexus-ui) .bank-correction { grid-column: 1 / -1; }
:where(.nexus-ui) .bank-correction > summary {
    min-height: 32px;
    align-items: center;
    border-radius: 5px;
}
:where(.nexus-ui) .bank-correction > summary:hover { background: #fff0ef; }
:where(.nexus-ui) .tree-filter-link {
    min-width: 0;
    display: block;
    color: var(--ui-text-strong) !important;
    opacity: 1 !important;
}
:where(.nexus-ui) .tree-filter-link strong { opacity: 1 !important; }
:where(.nexus-ui) .tree-filter-link small { opacity: 1 !important; }
:where(.nexus-ui) .tree-detail-link {
    width: 30px;
    height: 30px;
    display: grid;
    place-items: center;
    color: var(--ui-brand) !important;
    opacity: 1 !important;
    border-radius: 6px;
    font-size: 18px !important;
}
:where(.nexus-ui) .tree-detail-link:hover { color: #fff !important; background: var(--ui-brand); }
:where(.nexus-ui) .tree-icon {
    width: 24px;
    height: 24px;
    display: inline-block;
    background: var(--ui-text);
    opacity: .9;
}
:where(.nexus-ui) .tree-icon-location { -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='black' stroke-width='2' d='M20 10c0 5-8 11-8 11S4 15 4 10a8 8 0 1 1 16 0Z'/%3E%3Ccircle cx='12' cy='10' r='2.5'/%3E%3C/svg%3E") center/contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='black' stroke-width='2' d='M20 10c0 5-8 11-8 11S4 15 4 10a8 8 0 1 1 16 0Z'/%3E%3Ccircle cx='12' cy='10' r='2.5'/%3E%3C/svg%3E") center/contain no-repeat; }
:where(.nexus-ui) .tree-icon-rack { -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Crect x='5' y='2.5' width='14' height='19' rx='1.5' fill='none' stroke='black' stroke-width='2'/%3E%3Cpath d='M8 7h8M8 12h8M8 17h8' stroke='black' stroke-width='2'/%3E%3C/svg%3E") center/contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Crect x='5' y='2.5' width='14' height='19' rx='1.5' fill='none' stroke='black' stroke-width='2'/%3E%3Cpath d='M8 7h8M8 12h8M8 17h8' stroke='black' stroke-width='2'/%3E%3C/svg%3E") center/contain no-repeat; }
:where(.nexus-ui) .tree-icon-group { -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Crect x='3' y='4' width='18' height='16' rx='2' fill='none' stroke='black' stroke-width='2'/%3E%3Cpath d='M3 9h18M9 9v11' stroke='black' stroke-width='2'/%3E%3C/svg%3E") center/contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Crect x='3' y='4' width='18' height='16' rx='2' fill='none' stroke='black' stroke-width='2'/%3E%3Cpath d='M3 9h18M9 9v11' stroke='black' stroke-width='2'/%3E%3C/svg%3E") center/contain no-repeat; }
:where(.nexus-ui) .tree-page-list .tree-icon { width: 28px; height: 28px; }
:where(.nexus-ui) .notification-summary {
    display: grid;
    grid-template-columns: repeat(4,minmax(0,1fr));
    gap: 12px;
}
:where(.nexus-ui) .notification-summary > a {
    min-height: 82px;
    display: grid;
    align-content: center;
    gap: 4px;
    padding: 13px 16px;
    color: var(--ui-muted);
    background: #fff;
    border: 1px solid var(--ui-border);
    border-radius: 10px;
    box-shadow: var(--ui-shadow-panel);
}
:where(.nexus-ui) .notification-summary > a strong { color: var(--ui-text-strong); font-size: 20px; }
:where(.nexus-ui) .notification-summary > a.active { box-shadow: inset 0 -3px var(--ui-brand), var(--ui-shadow-panel); }
:where(.nexus-ui) .notification-filters {
    display: grid;
    grid-template-columns: 180px 160px minmax(230px,1fr) auto;
    align-items: end;
    gap: 10px;
    padding: 12px 18px;
    border-bottom: 1px solid var(--ui-border);
}
:where(.nexus-ui) .notification-filters label { display: grid; gap: 4px; }
:where(.nexus-ui) .notification-filters input {
    min-height: 40px;
    padding: 8px 10px;
    border: 1px solid var(--ui-border-strong);
    border-radius: 7px;
    background: #fff;
}
:where(.nexus-ui) .notification-table { overflow-x: auto; }
:where(.nexus-ui) .notification-row {
    min-width: 970px;
    display: grid;
    align-items: start;
    gap: 14px;
    padding: 11px 18px;
    border-top: 1px solid #edf0f1;
}
:where(.nexus-ui) .notification-head {
    color: var(--ui-soft);
    background: #f7f9f9;
    border-top: 0;
    font-size: 9px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .45px;
}
:where(.nexus-ui) .notification-row strong,
:where(.nexus-ui) .notification-row small {
    display: block;
}
:where(.nexus-ui) .notification-row small { margin-top: 3px; }
:where(.nexus-ui) .notification-row details > summary {
    cursor: pointer;
    font-size: 11px;
    font-weight: 750;
}
:where(.nexus-ui) .notification-row details > p {
    margin: 8px 0 0;
    white-space: pre-wrap;
    color: var(--ui-muted);
    font-size: 10px;
    line-height: 1.5;
}
:where(.nexus-ui) .template-grid {
    display: grid;
    grid-template-columns: repeat(2,minmax(0,1fr));
    gap: 10px;
    padding: 14px;
}
:where(.nexus-ui) .template-card {
    overflow: hidden;
    border: 1px solid var(--ui-border-strong);
    border-radius: 8px;
    background: #fff;
}
:where(.nexus-ui) .template-card > summary {
    min-height: 64px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 12px 14px;
    cursor: pointer;
    list-style: none;
}
:where(.nexus-ui) .template-card > summary::-webkit-details-marker { display: none; }
:where(.nexus-ui) .template-card > summary strong,
:where(.nexus-ui) .template-card > summary small {
    display: block;
}
:where(.nexus-ui) .template-card > summary small {
    margin-top: 3px;
    color: var(--ui-muted);
    font-size: 9px;
}
:where(.nexus-ui) .template-card > form {
    padding: 14px;
    background: #f7f9f9;
    border-top: 1px solid var(--ui-border);
}
:where(.nexus-ui) .job-list > article {
    display: grid;
    grid-template-columns: 9px minmax(210px,.75fr) minmax(430px,1.35fr);
    align-items: center;
    gap: 14px;
    padding: 14px 18px;
    background: #fff;
}
:where(.nexus-ui) .job-list > article > div strong,
:where(.nexus-ui) .job-list > article > div small {
    display: block;
}
:where(.nexus-ui) .job-list > article > div small {
    margin-top: 3px;
    color: var(--ui-muted);
    font-size: 9px;
}
:where(.nexus-ui) .job-list dl {
    display: grid;
    grid-template-columns: repeat(4,minmax(100px,1fr));
    gap: 12px;
    margin: 0;
}
:where(.nexus-ui) .job-list dl div { min-width: 0; }
:where(.nexus-ui) .job-list dt {
    color: var(--ui-soft);
    font-size: 8px;
    font-weight: 800;
    text-transform: uppercase;
}
:where(.nexus-ui) .job-list dd {
    margin: 3px 0 0;
    overflow-wrap: anywhere;
    font-size: 10px;
    font-weight: 700;
}
:where(.nexus-ui) .job-list article > p {
    grid-column: 2 / -1;
    margin: -4px 0 0;
    color: var(--ui-muted);
    font-size: 9px;
}
@media (max-width: 1250px) {
    :where(.nexus-ui) .bank-movements .movement-assign { grid-column: 1 / -1; }
    :where(.nexus-ui) .job-list > article { grid-template-columns: 9px minmax(200px,.65fr) minmax(0,1.35fr); }
}
@media (max-width: 900px) {
    :where(.nexus-ui) .notification-summary { grid-template-columns: repeat(2,minmax(0,1fr)); }
    :where(.nexus-ui) .notification-filters { grid-template-columns: 1fr 1fr; }
    :where(.nexus-ui) .notification-filters .grow { grid-column: 1 / -1; }
    :where(.nexus-ui) .template-grid { grid-template-columns: 1fr; }
    :where(.nexus-ui) .job-list > article { grid-template-columns: 9px minmax(0,1fr); }
    :where(.nexus-ui) .job-list dl,
    :where(.nexus-ui) .job-list article > p {
        grid-column: 2;
    }
    :where(.nexus-ui) .job-list dl { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 720px) {
    :where(.nexus-ui) .notification-filters { grid-template-columns: 1fr; }
    :where(.nexus-ui) .notification-filters .grow { grid-column: auto; }
    :where(.nexus-ui) .portal-account-head { align-items: flex-start; }
    :where(.nexus-ui) .portal-actions { justify-content: flex-start; }
}

/* Sdílené administrační komponenty a jejich explicitní varianty. */
.nexus-ui .panel-stack > .panel + .panel,
.nexus-ui .edit-layout > .panel + .panel,
.nexus-ui .edit-layout > form + form,
.nexus-ui .edit-layout > form + .panel,
.nexus-ui .edit-layout > .panel + form {
    margin-top: 0;
}
.nexus-ui .notification-automation-overview,
.nexus-ui .notification-summary,
.nexus-ui .notification-center {
    margin-bottom: 14px;
}
.nexus-ui .announcement-center .notification-summary { margin-bottom: 0; }
.nexus-ui .location-row { transition: background-color .14s ease, box-shadow .14s ease; }
.nexus-ui .location-group-label {
    min-height: 28px;
    display: flex;
    align-items: center;
    gap: 7px;
    padding: 5px 14px;
    color: var(--ui-muted);
    background: #e9eef0;
    border-top: 1px solid #cbd5d9;
    border-bottom: 1px solid #d7dfe2;
    font-size: 8.5px;
    letter-spacing: .04em;
    text-transform: uppercase;
}
.nexus-ui .location-group-label strong { color: var(--ui-text); font-size: 9.5px; }
.nexus-ui .location-main {
    min-width: 0;
    align-items: center;
    gap: 7px;
}
.nexus-ui .location-depth-0 { --location-indent: 9px; }
.nexus-ui .location-depth-1 { --location-indent: 27px; }
.nexus-ui .location-depth-2 { --location-indent: 45px; }
.nexus-ui .location-depth-3 { --location-indent: 63px; }
.nexus-ui .location-depth-4 { --location-indent: 81px; }
.nexus-ui .location-depth-5 { --location-indent: 99px; }
.nexus-ui .location-depth-6 { --location-indent: 117px; }
.nexus-ui .location-depth-7 { --location-indent: 135px; }
.nexus-ui .location-depth-8 { --location-indent: 153px; }
.nexus-ui .location-depth-9 { --location-indent: 171px; }
.nexus-ui .location-depth-10 { --location-indent: 189px; }
.nexus-ui .location-main > div { min-width: 0; }
.nexus-ui .location-branch {
    width: var(--location-indent, 9px);
    height: 20px;
    border-left: 1px solid #bdc9ce;
    border-bottom: 1px solid #bdc9ce;
}
.nexus-ui .location-depth-0 .location-branch { width: 7px; border-left: 0; }
.nexus-ui .location-path { max-width: 100%; }
.nexus-ui .location-path > span { white-space: nowrap; }
.nexus-ui .location-sort span {
    overflow: hidden;
    color: var(--ui-muted);
    font-size: 8.5px;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.nexus-ui .tree-edit-token { display: none; }
.nexus-ui .tree-page-list.is-editing {
    padding: 12px;
    border: 1px dashed #9aaab1;
    border-radius: var(--ui-radius-md);
    background: #f8fafb;
}
.nexus-ui .tree-page-list.is-editing [data-tree-container],
.nexus-ui .tree-page-list.is-editing [data-tree-device] {
    cursor: grab;
}
.nexus-ui .tree-page-list .is-dragging { opacity: .58; }
.nexus-ui .tree-page-list .is-drop-target > summary { outline-offset: -2px; background: #fff2f1; }
.nexus-ui [data-tree-dirty] { color: var(--ui-danger); font-weight: 750; }
.nexus-ui .tree-root-drop {
    margin: 10px 14px 0;
    padding: 10px;
    color: var(--ui-muted);
    border: 1px dashed #aab8be;
    border-radius: var(--ui-radius-sm);
    text-align: center;
    font-size: 10px;
}
.nexus-ui .tree-root-drop.is-drop-target {
    color: var(--ui-danger);
    background: #fff2f1;
    border-color: var(--ui-danger);
}
.nexus-ui .network-change-scroll { overflow-x: auto; }
.nexus-ui .network-change-head {
    display: grid;
    align-items: center;
    gap: 10px;
    padding: 7px 11px;
    color: var(--ui-muted);
    background: #f5f7f8;
    border-bottom: 1px solid var(--ui-border);
    font-size: 9px;
    font-weight: 800;
    letter-spacing: .04em;
    text-transform: uppercase;
}
.nexus-ui .network-change-row > div { min-width: 0; }
.nexus-ui .network-change-row > div > strong,
.nexus-ui .network-change-row > div > small {
    overflow-wrap: anywhere;
}
.nexus-ui .monitor-result {
    grid-column: 1 / -1;
    display: grid;
    grid-template-columns: 190px minmax(220px, 1fr) auto;
    align-items: center;
    gap: 8px;
    padding: 9px 11px;
    background: #f5f8f9;
    border: 1px solid var(--ui-border);
    border-radius: var(--ui-radius-sm);
}
.nexus-ui .monitor-result small { grid-column: 2 / -1; color: var(--ui-danger); }
.nexus-ui .naming-code-editor { display: grid; }
.nexus-ui .naming-code-row {
    display: grid;
    align-items: center;
    gap: 6px;
}
.nexus-ui .naming-code-new {
    display: grid;
    align-items: center;
    gap: 6px;
    padding: 6px;
    background: #fff;
}
.nexus-ui .naming-code-row > form:first-child,
.nexus-ui .naming-code-new {
    grid-template-columns: minmax(70px, .45fr) minmax(0, 1fr) 68px auto;
}
.nexus-ui .naming-code-row > form:first-child {
    display: grid;
    align-items: center;
    gap: 6px;
}
.nexus-ui .naming-code-row > form:last-child { display: flex; }
.nexus-ui .naming-generator-result[hidden] { display: none; }
.nexus-ui .naming-generator-result > span {
    grid-column: 1 / -1;
    color: #197348;
    font-weight: 750;
}
.nexus-ui .naming-generator-result[data-available="false"] > span { color: var(--ui-danger); }
@media (max-width: 1100px) {
    .nexus-ui .location-list { --location-columns: minmax(260px, 1.2fr) 90px minmax(180px, .8fr) 110px 150px 78px; }
    .nexus-ui .monitor-result { grid-template-columns: 1fr; }
    .nexus-ui .monitor-result small { grid-column: auto; }
}
@media (max-width: 700px) {
    .nexus-ui .naming-generator-result { grid-template-columns: 1fr; }
    .nexus-ui .naming-generator-result > span { grid-column: 1; }
}
.nexus-ui {
    margin: 0;
    color: var(--ui-text);
    background: var(--ui-bg);
    font-family: var(--ui-font);
    font-size: 14px;
    line-height: 1.42;
    -webkit-font-smoothing: antialiased;
}
.nexus-ui .app-shell {
    min-height: 100vh;
    display: grid;
    grid-template-columns: var(--ui-sidebar-rail) minmax(0, 1fr);
    transition: grid-template-columns .18s ease;
}
.nexus-ui .sidebar {
    position: fixed;
    inset: 0 auto 0 0;
    width: var(--ui-sidebar-rail);
    height: 100vh;
    padding: 10px 8px 12px;
    overflow: hidden;
    color: var(--ui-sidebar-text);
    background-color: var(--ui-sidebar);
    background-image: linear-gradient(180deg, rgba(235,54,54,.10), transparent 150px), url("../images/nexus-pattern.svg");
    background-size: auto, 420px auto;
    background-position: 0 0, center bottom;
    box-shadow: 1px 0 0 rgba(255,255,255,.04);
    transition: width .18s ease, transform .18s ease;
    z-index: 80;
}
.nexus-ui.sidebar-hover-open .sidebar,
.nexus-ui .sidebar:focus-within {
    width: var(--ui-sidebar-wide);
}
.nexus-ui .sidebar::before { background: linear-gradient(90deg, transparent 90%, rgba(0,0,0,.12)); }
.nexus-ui .sidebar-head {
    height: 56px;
    justify-content: flex-start;
    gap: 8px;
    padding: 0 4px 8px;
}
.nexus-ui .brand-link { flex: 0 0 196px; width: 196px; margin-left: 4px; overflow: hidden; transform: translateX(-3px); }
.nexus-ui .brand-lockup { width: 196px; height: 48px; transition: none; }
.nexus-ui.sidebar-hover-open .sidebar .brand-lockup,
.nexus-ui .sidebar:focus-within .brand-lockup,
.nexus-ui.sidebar-open .brand-lockup { width: 196px; height: 48px; }
.nexus-ui .brand-lockup img { height: 48px; }
.nexus-ui.sidebar-hover-open .sidebar .brand-link,
.nexus-ui .sidebar:focus-within .brand-link,
.nexus-ui.sidebar-open .brand-link { transform: translateX(-3px); }
.nexus-ui.sidebar-hover-open .sidebar .brand-lockup img,
.nexus-ui .sidebar:focus-within .brand-lockup img,
.nexus-ui.sidebar-open .brand-lockup img { height: 48px; }
.nexus-ui .sidebar-close svg,
.nexus-ui .menu-button svg,
.nexus-ui .topbar-back svg {
    width: 18px;
    height: 18px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
}
.nexus-ui .main-nav {
    gap: 2px;
    padding-top: 12px;
    overflow-x: hidden;
}
.nexus-ui .main-nav a {
    width: calc(var(--ui-sidebar-wide) - 16px);
    min-height: 39px;
    gap: 12px;
    padding: 0 12px;
    overflow: hidden;
    border-radius: var(--ui-radius-sm);
    color: var(--ui-sidebar-text);
    font-size: 13.5px;
    font-weight: 600;
    white-space: nowrap;
}
.nexus-ui .main-nav a:hover { color: #fff; background: var(--ui-sidebar-hover); }
.nexus-ui .main-nav a.active {
    color: #fff;
    background: var(--ui-sidebar-active);
    box-shadow: inset 2px 0 var(--ui-brand);
}
.nexus-ui .main-nav a.active > span { color: var(--ui-brand); }
.nexus-ui .main-nav a > span {
    flex: 0 0 24px;
    width: 24px;
    color: #849096;
}
.nexus-ui .main-nav .nav-icon { height: 22px; }
.nexus-ui .nav-icon svg {
    width: 19px;
    height: 19px;
    stroke-width: 1.65;
}
.nexus-ui .nav-badge {
    min-width: 19px;
    height: 19px;
    padding: 0 5px;
    color: #fff;
    font-size: 10px;
    box-shadow: none;
}
.nexus-ui .sidebar-foot {
    width: calc(var(--ui-sidebar-wide) - 16px);
    opacity: 0;
    transition: opacity .12s ease;
}
.nexus-ui.sidebar-hover-open .sidebar .sidebar-foot,
.nexus-ui .sidebar:focus-within .sidebar-foot {
    opacity: 1;
}
.nexus-ui .access-pill { font-size: 12px; }
.nexus-ui .nexus-version { font-size: 10.5px; text-align: center; }
.nexus-ui .main-panel {
    grid-column: 2;
    min-width: 0;
    background: var(--ui-bg);
}
.nexus-ui .topbar {
    min-height: var(--ui-topbar-height);
    gap: 12px;
    padding: 8px 20px;
    border-bottom: 2px solid var(--ui-brand);
    background: rgba(255,255,255,.96);
    box-shadow: none;
    backdrop-filter: blur(10px);
}
.nexus-ui .topbar-context { gap: 0; }
.nexus-ui .topbar-kicker {
    margin: 0 0 1px;
    color: var(--ui-brand);
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .04em;
    text-transform: none;
}
.nexus-ui .topbar-heading { gap: 8px; }
.nexus-ui .topbar-heading h1 {
    font-size: 20px;
    font-weight: 680;
    line-height: 1.18;
    letter-spacing: -.025em;
}
.nexus-ui .topbar-context p {
    margin: 2px 0 0;
    color: var(--ui-muted);
    font-size: 11.5px;
}
.nexus-ui .topbar-actions { gap: 9px; }
.nexus-ui .topbar-page-actions { gap: 7px; }
.nexus-ui .topbar-divider { height: 26px; background: var(--ui-border); }
.nexus-ui .topbar-security {
    width: 32px;
    height: 32px;
    color: var(--ui-muted);
    border-radius: var(--ui-radius-sm);
}
.nexus-ui .topbar-security:hover { background: var(--ui-surface-hover); }
.nexus-ui .avatar {
    width: 34px;
    height: 34px;
    border-radius: 50%;
    font-size: 11px;
}
.nexus-ui .topbar-logout {
    min-height: 34px;
    padding: 0 8px;
    border-radius: var(--ui-radius-sm);
    font-size: 11.5px;
}
.nexus-ui .topbar-back {
    min-height: 34px;
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 0 8px 0 5px;
    color: var(--ui-muted);
    border: 1px solid var(--ui-border);
    border-radius: var(--ui-radius-sm);
    font-size: 12px;
}
.nexus-ui .topbar-back:hover { color: var(--ui-text-strong); background: var(--ui-surface-hover); }
.nexus-ui .topbar-back b { font-weight: 600; }
.nexus-ui .menu-button { display: none; }
.nexus-ui .content { width: 100%; padding: var(--ui-content-start) var(--ui-content-inline) var(--ui-content-end); }
.nexus-ui .nexus-toast-stack {
    position: fixed;
    z-index: 420;
    top: calc(var(--ui-topbar-height) + 12px);
    left: 50%;
    width: min(620px, calc(100vw - 28px));
    display: grid;
    gap: 8px;
    transform: translateX(-50%);
    pointer-events: none;
}
.nexus-ui .nexus-toast {
    min-height: 58px;
    display: grid;
    grid-template-columns: minmax(0, 1fr) 32px;
    align-items: center;
    gap: 14px;
    padding: 12px 12px 12px 20px;
    color: #fff;
    background: #526f7e;
    border: 1px solid rgba(255, 255, 255, .18);
    border-radius: var(--ui-radius-md);
    box-shadow: 0 18px 46px rgba(15, 22, 25, .28);
    opacity: 0;
    transform: translateY(-8px);
    transition: opacity .18s ease, transform .18s ease;
    pointer-events: auto;
}
.nexus-ui .nexus-toast.is-visible { opacity: 1; transform: translateY(0); }
.nexus-ui .nexus-toast.is-leaving { opacity: 0; transform: translateY(-6px); }
.nexus-ui .nexus-toast > span {
    min-width: 0;
    color: inherit;
    font-size: 14px;
    font-weight: 650;
    line-height: 1.4;
    text-align: center;
}
.nexus-ui .nexus-toast > button {
    width: 28px;
    height: 28px;
    display: grid;
    place-items: center;
    padding: 0;
    color: rgba(255, 255, 255, .82);
    background: transparent;
    border: 0;
    border-radius: var(--ui-radius-sm);
    font-size: 20px;
    line-height: 1;
}
.nexus-ui .nexus-toast > button:hover { color: #fff; background: rgba(255, 255, 255, .14); }
.nexus-ui h1,
.nexus-ui h2,
.nexus-ui h3,
.nexus-ui strong,
.nexus-ui b {
    color: var(--ui-text-strong);
}
.nexus-ui h2 {
    font-size: 16px;
    font-weight: 680;
    line-height: 1.3;
    letter-spacing: -.015em;
}
.nexus-ui h3 {
    font-size: 14px;
    font-weight: 650;
    letter-spacing: -.01em;
}
.nexus-ui small {
    color: var(--ui-muted);
    font-size: 11.5px;
    line-height: 1.4;
}
.nexus-ui code { color: #354047; font-size: 12px; }
.nexus-ui .eyebrow {
    color: var(--ui-muted);
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .05em;
    text-transform: none;
}
.nexus-ui .button {
    min-height: var(--ui-control-height);
    padding: 0 13px;
    border-radius: var(--ui-radius-sm);
    font-size: 12.5px;
    font-weight: 650;
    line-height: 1;
    box-shadow: none;
    transform: none;
}
.nexus-ui .button:hover { transform: none; }
.nexus-ui .button-primary {
    color: #fff;
    background: var(--ui-brand);
    border-color: var(--ui-brand);
    box-shadow: none;
}
.nexus-ui .button-primary:hover { background: var(--ui-brand-hover); border-color: var(--ui-brand-hover); }
.nexus-ui .button-light,
.nexus-ui .button-secondary {
    color: var(--ui-text);
    background: var(--ui-surface);
    border-color: var(--ui-border-strong);
}
.nexus-ui .button-light:hover,
.nexus-ui .button-secondary:hover {
    background: var(--ui-surface-hover);
    border-color: #b8c1c6;
}
.nexus-ui .button-danger {
    color: var(--ui-danger);
    background: var(--ui-surface);
    border-color: #edc3c1;
}
.nexus-ui .button-small {
    min-height: 32px;
    padding-inline: 10px;
    font-size: 12px;
}
.nexus-ui input:not([type="checkbox"]):not([type="radio"]),
.nexus-ui select {
    min-height: var(--ui-control-height);
    padding: 7px 10px;
    color: var(--ui-text);
    background: var(--ui-surface);
    border: 1px solid var(--ui-border-strong);
    border-radius: var(--ui-radius-sm);
    font-size: 13px;
    line-height: 1.35;
    outline: none;
}
.nexus-ui textarea {
    padding: 7px 10px;
    color: var(--ui-text);
    background: var(--ui-surface);
    border: 1px solid var(--ui-border-strong);
    border-radius: var(--ui-radius-sm);
    font-size: 13px;
    line-height: 1.35;
    outline: none;
}
.nexus-ui textarea { min-height: 76px; resize: vertical; }
.nexus-ui input:focus,
.nexus-ui select:focus,
.nexus-ui textarea:focus {
    border-color: #8fa7b4;
    box-shadow: 0 0 0 3px rgba(71,116,140,.11);
}
.nexus-ui label {
    color: var(--ui-text);
    font-size: 12px;
    font-weight: 600;
}
.nexus-ui label > small { font-weight: 400; }
.nexus-ui .panel {
    overflow: hidden;
    background: var(--ui-surface);
    border: 1px solid var(--ui-panel-border);
    border-radius: var(--ui-radius-md);
    box-shadow: 0 0 0 1px rgba(38, 48, 53, .10), 0 5px 17px rgba(28, 37, 41, .10);
}
.nexus-ui .panel-head {
    min-height: var(--ui-content-header-height);
    align-items: center;
    gap: 12px;
    padding: var(--ui-panel-block) var(--ui-panel-inline);
    background: var(--ui-panel-head);
    border-bottom: 1px solid var(--ui-border-strong);
    box-shadow: none;
}
.nexus-ui .panel-head h2 {
    margin: 1px 0 0;
    font-weight: 720;
    letter-spacing: -.018em;
}
.nexus-ui .panel-head small {
    display: block;
    margin-top: 2px;
    color: #5b676e;
}
.nexus-ui .panel-head .eyebrow { color: #78838a; }
.nexus-ui .panel-head > a {
    color: var(--ui-brand);
    font-size: 12px;
    font-weight: 650;
}
.nexus-ui .count-badge {
    min-width: 22px;
    height: 22px;
    padding: 0 6px;
    color: var(--ui-muted);
    background: #edf0f2;
    border-radius: 11px;
    font-size: 10px;
}
.nexus-ui .icon-action {
    display: inline-grid;
    place-items: center;
    color: var(--ui-muted);
    background: var(--ui-surface);
    border: 1px solid var(--ui-border);
    border-radius: var(--ui-radius-sm);
    font-family: inherit;
    font-size: 15px;
    font-weight: 800;
}
.nexus-ui .icon-action:hover {
    color: var(--ui-text);
    background: var(--ui-surface-hover);
    border-color: var(--ui-border-strong);
}
.nexus-ui .icon-action.danger:hover {
    color: var(--ui-danger);
    background: var(--ui-danger-soft);
    border-color: #edc3c1;
}
.nexus-ui .icon-action.ok { color: var(--ui-success); }
.nexus-ui .icon-action.ok:hover { color: #087647; background: var(--ui-success-soft); }
.nexus-ui .icon-action.borderless { background: transparent; border-color: transparent; }
.nexus-ui .ui-icon {
    width: 16px;
    height: 16px;
    display: inline-block;
    background: currentColor;
    vertical-align: -3px;
}
.nexus-ui .ui-icon-edit { -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' d='m4 20 4.2-1 10.7-10.7a2.1 2.1 0 0 0-3-3L5.2 16 4 20Zm10.4-13.2 3 3'/%3E%3C/svg%3E") center/contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' d='m4 20 4.2-1 10.7-10.7a2.1 2.1 0 0 0-3-3L5.2 16 4 20Zm10.4-13.2 3 3'/%3E%3C/svg%3E") center/contain no-repeat; }
.nexus-ui .ui-icon-save { -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 3h12l2 2v16H5zM8 3v6h8V3M8 21v-7h8v7' fill='none' stroke='black' stroke-width='2' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 3h12l2 2v16H5zM8 3v6h8V3M8 21v-7h8v7' fill='none' stroke='black' stroke-width='2' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat; }
.nexus-ui .ui-icon-search { -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='10.5' cy='10.5' r='6.5' fill='none' stroke='black' stroke-width='2'/%3E%3Cpath d='m15.5 15.5 4.5 4.5' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E") center/contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='10.5' cy='10.5' r='6.5' fill='none' stroke='black' stroke-width='2'/%3E%3Cpath d='m15.5 15.5 4.5 4.5' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E") center/contain no-repeat; }
.nexus-ui .ui-icon-drag { -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M8 6h.01M16 6h.01M8 12h.01M16 12h.01M8 18h.01M16 18h.01' fill='none' stroke='black' stroke-width='3.2' stroke-linecap='round'/%3E%3C/svg%3E") center/contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M8 6h.01M16 6h.01M8 12h.01M16 12h.01M8 18h.01M16 18h.01' fill='none' stroke='black' stroke-width='3.2' stroke-linecap='round'/%3E%3C/svg%3E") center/contain no-repeat; }
.nexus-ui .ui-icon-undo { -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M9 8H4V3M4.8 8.2A8 8 0 1 1 4 15' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M9 8H4V3M4.8 8.2A8 8 0 1 1 4 15' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat; }
.nexus-ui .ui-icon-arrow-right { -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' d='m9 18 6-6-6-6'/%3E%3C/svg%3E") center/contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' d='m9 18 6-6-6-6'/%3E%3C/svg%3E") center/contain no-repeat; }
.nexus-ui .ui-icon-page-first { -webkit-mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%3E%3Cpath%20d%3D%27M18%206l-6%206%206%206M6%205v14%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%271.7%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%2F%3E%3C%2Fsvg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%3E%3Cpath%20d%3D%27M18%206l-6%206%206%206M6%205v14%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%271.7%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%2F%3E%3C%2Fsvg%3E") center/contain no-repeat; }
.nexus-ui .ui-icon-page-previous { -webkit-mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%3E%3Cpath%20d%3D%27m15%206-6%206%206%206%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%271.7%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%2F%3E%3C%2Fsvg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%3E%3Cpath%20d%3D%27m15%206-6%206%206%206%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%271.7%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%2F%3E%3C%2Fsvg%3E") center/contain no-repeat; }
.nexus-ui .ui-icon-page-next { -webkit-mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%3E%3Cpath%20d%3D%27m9%206%206%206-6%206%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%271.7%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%2F%3E%3C%2Fsvg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%3E%3Cpath%20d%3D%27m9%206%206%206-6%206%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%271.7%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%2F%3E%3C%2Fsvg%3E") center/contain no-repeat; }
.nexus-ui .ui-icon-page-last { -webkit-mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%3E%3Cpath%20d%3D%27M6%206l6%206-6%206M18%205v14%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%271.7%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%2F%3E%3C%2Fsvg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%3E%3Cpath%20d%3D%27M6%206l6%206-6%206M18%205v14%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%271.7%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%2F%3E%3C%2Fsvg%3E") center/contain no-repeat; }
.nexus-ui .ui-icon-copy { -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Crect x='8' y='8' width='11' height='11' rx='1.5' fill='none' stroke='black' stroke-width='2'/%3E%3Cpath d='M16 8V5.5A1.5 1.5 0 0 0 14.5 4h-10A1.5 1.5 0 0 0 3 5.5v10A1.5 1.5 0 0 0 4.5 17H8' fill='none' stroke='black' stroke-width='2'/%3E%3C/svg%3E") center/contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Crect x='8' y='8' width='11' height='11' rx='1.5' fill='none' stroke='black' stroke-width='2'/%3E%3Cpath d='M16 8V5.5A1.5 1.5 0 0 0 14.5 4h-10A1.5 1.5 0 0 0 3 5.5v10A1.5 1.5 0 0 0 4.5 17H8' fill='none' stroke='black' stroke-width='2'/%3E%3C/svg%3E") center/contain no-repeat; }
.nexus-ui .ui-icon-comment { -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 5.5h14v10H10l-5 3v-13Z' fill='none' stroke='black' stroke-width='2' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 5.5h14v10H10l-5 3v-13Z' fill='none' stroke='black' stroke-width='2' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat; }
.nexus-ui .flash {
    margin: 0 0 12px;
    padding: 10px 12px;
    border-radius: var(--ui-radius-sm);
    font-size: 12.5px;
}
.nexus-ui .empty-state {
    min-height: 96px;
    padding: 20px;
    font-size: 12.5px;
}
.nexus-ui .status-chip {
    white-space: nowrap;
    min-height: 22px;
    padding: 0 8px;
    border-radius: 11px;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .02em;
}
.nexus-ui .status-dot { width: 7px; height: 7px; }
.nexus-ui .record-tabs,
.nexus-ui .workspace-tabs,
.nexus-ui .settings-tabs {
    position: sticky;
    top: var(--ui-topbar-height);
    z-index: 25;
    min-height: 43px;
    display: flex;
    align-items: stretch;
    gap: 0;
    margin: calc(-1 * var(--ui-content-start)) calc(-1 * var(--ui-content-inline)) 16px;
    padding: 0 var(--ui-content-inline);
    overflow-x: auto;
    background: rgba(255,255,255,.97);
    border-bottom: 1px solid var(--ui-border);
    backdrop-filter: blur(10px);
    scrollbar-width: thin;
}
.nexus-ui .record-tabs a,
.nexus-ui .workspace-tabs a,
.nexus-ui .settings-tabs a {
    min-height: 43px;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 0 14px;
    color: var(--ui-muted);
    background: transparent;
    border: 0;
    border-bottom: 2px solid transparent;
    border-radius: 0;
    font-size: 12.5px;
    font-weight: 600;
    white-space: nowrap;
}
.nexus-ui .record-tabs a:hover,
.nexus-ui .workspace-tabs a:hover,
.nexus-ui .settings-tabs a:hover {
    color: var(--ui-text);
    background: var(--ui-surface-hover);
}
.nexus-ui .record-tabs a.active,
.nexus-ui .workspace-tabs a.active,
.nexus-ui .settings-tabs a.active {
    color: var(--ui-text-strong);
    background: transparent;
    border-bottom-color: var(--ui-brand);
}
.nexus-ui .settings-tabs .settings-tab-group-start { margin-left: 0; border-left: 0; }
.nexus-ui .record-tabs a span,
.nexus-ui .workspace-tabs a span,
.nexus-ui .settings-tabs a span {
    min-width: 19px;
    height: 19px;
    display: inline-grid;
    place-items: center;
    padding: 0 5px;
    color: var(--ui-muted);
    background: #edf0f2;
    border-radius: 10px;
    font-size: 10px;
}
.nexus-ui .record-tabs a span.tab-count-attention,
.nexus-ui .record-tabs a.active span.tab-count-attention {
    color: #fff;
    background: var(--ui-brand);
}
.nexus-ui .filter-tabs button {
    padding: 9px 13px;
    color: var(--ui-muted);
    background: #fff;
    border: 1px solid var(--ui-border);
    border-radius: var(--ui-radius-md);
    font: 650 12px/1.25 var(--ui-font);
    cursor: pointer;
}
.nexus-ui .status-filters a,
.nexus-ui .status-filters button {
    border-color: transparent;
}
.nexus-ui .status-filters .filter-danger { color: #a82b28; background: var(--ui-danger-soft); }
.nexus-ui .status-filters .filter-warning { color: #95610b; background: var(--ui-warning-soft); }
.nexus-ui .status-filters .filter-success { color: #0d7548; background: var(--ui-success-soft); }
.nexus-ui .status-filters .filter-muted { color: #657178; background: #edf0f2; }
.nexus-ui .status-filters .filter-neutral {
    color: var(--ui-text);
    background: #fff;
    border-color: var(--ui-border);
}
.nexus-ui .status-filters a.active,
.nexus-ui .status-filters button.active {
    color: #fff;
    border-color: transparent;
    box-shadow: inset 0 0 0 1px rgba(0,0,0,.08);
}
.nexus-ui .status-filters .filter-danger.active { background: var(--ui-danger); }
.nexus-ui .status-filters .filter-warning.active { background: var(--ui-warning); }
.nexus-ui .status-filters .filter-success.active { background: var(--ui-success); }
.nexus-ui .status-filters .filter-muted.active { background: var(--ui-muted); }
.nexus-ui .status-filters .filter-neutral.active { background: var(--ui-text); }
.nexus-ui .ui-stat-strip {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    margin-bottom: 12px;
    overflow: hidden;
    background: var(--ui-surface);
    border: 1px solid var(--ui-border);
    border-radius: var(--ui-radius-md);
}
.nexus-ui .ui-stat {
    min-width: 0;
    min-height: 72px;
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    grid-template-rows: auto auto;
    align-content: center;
    column-gap: 10px;
    padding: 10px 14px;
    border-right: 1px solid var(--ui-border);
}
.nexus-ui .ui-stat:last-child { border-right: 0; }
.nexus-ui .ui-stat:hover { background: var(--ui-surface-hover); }
.nexus-ui .ui-stat-indicator {
    width: 3px;
    height: 32px;
    grid-row: 1 / 3;
    align-self: center;
    background: var(--ui-border-strong);
    border-radius: 2px;
}
.nexus-ui .ui-stat[data-state="ok"] .ui-stat-indicator { background: var(--ui-success); }
.nexus-ui .ui-stat[data-state="warning"] .ui-stat-indicator { background: var(--ui-warning); }
.nexus-ui .ui-stat[data-state="danger"] .ui-stat-indicator { background: var(--ui-danger); }
.nexus-ui .ui-stat strong {
    overflow: hidden;
    font-size: 19px;
    font-weight: 680;
    line-height: 1.15;
    letter-spacing: -.025em;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.nexus-ui .ui-stat span:not(.ui-stat-indicator) {
    align-self: end;
    color: var(--ui-muted);
    font-size: 11px;
    white-space: nowrap;
}
.nexus-ui .ui-dashboard-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.35fr) minmax(300px, .65fr);
    gap: 12px;
    align-items: start;
}
.nexus-ui .ui-dashboard-main,
.nexus-ui .ui-dashboard-side {
    min-width: 0;
    display: grid;
    gap: 12px;
}
.nexus-ui .ui-dashboard-two {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
}
.nexus-ui .ui-list {
    margin: 0;
    padding: 0;
    list-style: none;
}
.nexus-ui .ui-list-row {
    min-width: 0;
    min-height: 48px;
    display: grid;
    grid-template-columns: 9px minmax(0, 1fr) auto;
    align-items: center;
    gap: 10px;
    padding: 8px 16px;
    border-bottom: 1px solid #edf0f2;
}
.nexus-ui .ui-list-row:last-child { border-bottom: 0; }
.nexus-ui a.ui-list-row:hover { background: var(--ui-surface-hover); }
.nexus-ui .ui-list-copy { min-width: 0; }
.nexus-ui .ui-list-copy strong,
.nexus-ui .ui-list-copy small {
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.nexus-ui .ui-list-copy strong { font-size: 12.5px; font-weight: 650; }
.nexus-ui .ui-list-copy small { margin-top: 2px; }
.nexus-ui .ui-list-meta {
    color: var(--ui-soft);
    font-size: 11px;
    white-space: nowrap;
}
.nexus-ui .ui-launch-list {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0;
}
.nexus-ui .ui-launch-item {
    min-width: 0;
    min-height: 58px;
    display: grid;
    grid-template-columns: 32px minmax(0, 1fr) 14px;
    align-items: center;
    gap: 9px;
    padding: 9px 12px;
    border-right: 1px solid #edf0f2;
    border-bottom: 1px solid #edf0f2;
}
.nexus-ui .ui-launch-item:nth-child(2n) { border-right: 0; }
.nexus-ui .ui-launch-item:hover { background: var(--ui-surface-hover); }
.nexus-ui .ui-launch-item .service-icon {
    width: 32px;
    height: 32px;
    border-radius: var(--ui-radius-sm);
    font-size: 11px;
}
.nexus-ui .ui-launch-item strong,
.nexus-ui .ui-launch-item small {
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.nexus-ui .ui-launch-item strong { font-size: 12px; }
.nexus-ui .ui-launch-item i { color: var(--ui-soft); font-style: normal; }
.nexus-ui .ui-client-summary { grid-template-columns: repeat(4, minmax(0, 1fr)); margin-bottom: 12px; }
.nexus-ui .ui-client-layout {
    display: grid;
    grid-template-columns: minmax(0, 1.55fr) minmax(280px, .75fr);
    gap: 12px;
    align-items: start;
}
.nexus-ui .ui-client-primary,
.nexus-ui .ui-client-aside {
    min-width: 0;
    display: grid;
    gap: 12px;
}
.nexus-ui .ui-client-aside .panel-head { min-height: var(--ui-content-header-height); }
.nexus-ui .ui-definition-grid {
    display: grid;
    grid-template-columns: 150px minmax(0, 1fr) 150px minmax(0, 1fr);
    margin: 0;
}
.nexus-ui .ui-definition-grid > div { display: contents; }
.nexus-ui .ui-definition-grid dt,
.nexus-ui .ui-definition-grid dd {
    min-height: 38px;
    display: flex;
    align-items: center;
    margin: 0;
    padding: 8px 12px;
    border-bottom: 1px solid #edf0f2;
}
.nexus-ui .ui-definition-grid dt {
    color: var(--ui-muted);
    background: var(--ui-surface-subtle);
    font-size: 11.5px;
}
.nexus-ui .ui-definition-grid dd {
    min-width: 0;
    font-size: 12.5px;
    font-weight: 600;
    overflow-wrap: anywhere;
}
.nexus-ui .ui-definition-grid .wide { grid-column: span 3; }
.nexus-ui .ui-note {
    margin: 12px;
    padding: 10px 12px;
    color: var(--ui-muted);
    background: var(--ui-note-background);
    border-left: 3px solid var(--ui-note-accent);
    border-radius: var(--ui-radius-xs);
    font-size: 12px;
}
.nexus-ui .ui-records article { padding: 9px 12px; border-bottom: 1px solid #edf0f2; }
.nexus-ui .ui-records article:last-child { border-bottom: 0; }
.nexus-ui .ui-records .ui-record-with-action {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 30px;
    align-items: center;
    gap: 8px;
}
.nexus-ui .ui-records .ui-record-with-action > span { min-width: 0; }
.nexus-ui .ui-records .ui-record-with-action .icon-action { justify-self: end; }
.nexus-ui .ui-records strong,
.nexus-ui .ui-records small {
    display: block;
}
.nexus-ui .ui-records strong { font-size: 12.5px; font-weight: 650; }
.nexus-ui .ui-records small { margin-top: 2px; }
.nexus-ui .ui-records p {
    margin: 5px 0 0;
    color: var(--ui-muted);
    font-size: 11.5px;
}
.nexus-ui .internet-service-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    margin-top: 12px;
    align-items: start;
}
.nexus-ui .ui-client-traffic { min-width: 0; }
.nexus-ui .internet-service-card .panel-head { min-height: var(--ui-content-header-height); }
.nexus-ui .internet-service-meta {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin: 0;
    border-bottom: 1px solid var(--ui-border);
}
.nexus-ui .internet-service-meta > div { min-width: 0; padding: 9px 12px; }
.nexus-ui .internet-service-meta > div + div { border-left: 1px solid var(--ui-border); }
.nexus-ui .internet-service-meta dt {
    margin-bottom: 3px;
    color: var(--ui-muted);
    font-size: 10px;
}
.nexus-ui .internet-service-meta dd {
    margin: 0;
    overflow: hidden;
    color: var(--ui-text-strong);
    font: 11px/1.35 ui-monospace, SFMono-Regular, Consolas, monospace;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.nexus-ui .internet-service-card .traffic-chart-empty { min-height: 180px; }
.nexus-ui .internet-service-card .traffic-chart-empty > svg { height: 180px; }
.nexus-ui .traffic-overview { grid-template-columns: minmax(220px, 320px) minmax(0, 1fr); gap: 0; }
.nexus-ui .traffic-services { border-right: 1px solid var(--ui-border); }
.nexus-ui .traffic-services article { padding: 10px 12px; border-bottom: 1px solid #edf0f2; }
.nexus-ui .traffic-chart-empty {
    min-height: 210px;
    border: 0;
    border-radius: 0;
}
.nexus-ui .client-service-cards {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-items: start;
}
.nexus-ui .client-service-cards > .service-card { padding: 0; box-shadow: none; }
.nexus-ui .client-service-cards > article,
.nexus-ui .client-service-cards > article > header > :first-child {
    min-width: 0;
}
.nexus-ui .client-service-cards .record-card-actions { flex: 0 0 auto; flex-wrap: nowrap; }
.nexus-ui .client-service-cards .record-card-actions > strong { white-space: nowrap; }
.nexus-ui .client-service-cards .fact-list.two-column { grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 20px; }
.nexus-ui .client-service-cards .fact-list > div {
    min-width: 0;
    grid-template-columns: minmax(96px, .36fr) minmax(0, 1fr);
    gap: 10px;
}
.nexus-ui .client-service-cards .fact-list dt,
.nexus-ui .client-service-cards .fact-list dd {
    min-width: 0;
}
.nexus-ui .client-service-cards .fact-list dt { font-size: 11px; }
.nexus-ui .client-service-cards .fact-list dd { font-size: 12px; }
.nexus-ui .client-service-cards .fact-list dd {
    overflow-wrap: break-word;
    word-break: normal;
    hyphens: auto;
}
.nexus-ui .client-device-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: start; }
.nexus-ui .client-device-card,
.nexus-ui .client-device-card > header > :first-child {
    min-width: 0;
}
.nexus-ui .client-device-card .record-card-actions { flex: 0 0 auto; }
.nexus-ui .service-card > header,
.nexus-ui .client-device-card > header,
.nexus-ui .product-card > header {
    background: var(--ui-panel-head);
}
.nexus-ui .service-card > header { border-bottom-color: var(--ui-border-strong); }
.nexus-ui .product-card > header { min-height: 52px; padding: 10px 14px; }
.nexus-ui .product-card > header .record-actions,
.nexus-ui .catalog-edit-row .record-actions {
    display: flex;
    align-items: center;
    gap: 6px;
}
.nexus-ui .record-actions form { display: contents; }
.nexus-ui .tariff-summary-row {
    min-height: 44px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 6px 12px 6px 14px;
    border-bottom: 1px solid #edf0f2;
}
.nexus-ui .tariff-summary-row > div:first-child { min-width: 0; }
.nexus-ui .tariff-summary-row .record-actions {
    flex: 0 0 auto;
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 4px;
}
.nexus-ui .tariff-summary-row .icon-action { width: 30px; height: 30px; }
.nexus-ui .tariff-summary-row strong,
.nexus-ui .tariff-summary-row small {
    display: block;
}
.nexus-ui .tariff-summary-row small {
    margin-top: 2px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.nexus-ui .tariff-summary-row.is-disabled { opacity: .58; }
.nexus-ui .compact-product-grid {
    display: block;
    columns: 2 460px;
    column-gap: 12px;
}
.nexus-ui .compact-product-grid > .product-card {
    width: 100%;
    min-width: 0;
    display: inline-block;
    margin: 0 0 12px;
    break-inside: avoid;
    vertical-align: top;
}
.nexus-ui .settings-masonry {
    display: block;
    columns: 2 460px;
    column-gap: 12px;
}
.nexus-ui .settings-masonry > * {
    width: 100%;
    display: inline-block;
    margin: 0 0 12px;
    break-inside: avoid;
    vertical-align: top;
}
.nexus-ui .settings-card-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    padding: 14px;
}
.nexus-ui .settings-card-grid > .catalog-edit-row {
    min-height: 62px;
    padding: 10px 12px;
    border: 1px solid var(--ui-border-strong);
    border-radius: var(--ui-radius-md);
}
.nexus-ui .settings-card-grid > .catalog-edit-row { background: var(--ui-panel-head); }
.nexus-ui .template-card > summary,
.nexus-ui .catalog-group > h3 {
    background: var(--ui-panel-head);
}
.nexus-ui .catalog-group,
.nexus-ui .template-card,
.nexus-ui .settings-card-grid > .catalog-edit-row {
    box-shadow: 0 3px 12px rgba(28, 37, 41, .07);
}
.nexus-ui .settings-fieldset {
    min-width: 0;
    margin: 4px 0 0;
    padding: 12px 14px 14px;
    border: 1px solid var(--ui-border);
    border-radius: var(--ui-radius-md);
    background: var(--ui-surface-subtle);
}
.nexus-ui .settings-fieldset > legend {
    padding: 0 7px;
    color: var(--ui-text-strong);
    font-size: 12px;
    font-weight: 680;
}
.nexus-ui .catalog-archive,
.nexus-ui .service-history-archive {
    margin: 0 14px 14px;
    overflow: hidden;
    border: 1px solid var(--ui-border);
    border-radius: var(--ui-radius-md);
    background: var(--ui-surface-subtle);
}
.nexus-ui .catalog-archive > summary,
.nexus-ui .service-history-archive > summary,
.nexus-ui .catalog-item-archive > summary {
    min-height: 40px;
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 8px 12px;
    color: var(--ui-muted);
    cursor: pointer;
    font-size: 11.5px;
    font-weight: 700;
}
.nexus-ui .catalog-archive > summary span,
.nexus-ui .service-history-archive > summary span,
.nexus-ui .catalog-item-archive > summary span {
    min-width: 19px;
    height: 19px;
    display: inline-grid;
    place-items: center;
    padding-inline: 5px;
    background: #e8edef;
    border-radius: 10px;
    font-size: 9px;
}
.nexus-ui .catalog-item-archive { border-top: 1px solid var(--ui-border); }
.nexus-ui .catalog-item-archive > div { border-top: 1px solid var(--ui-border); }
.nexus-ui .archived-service-cards { padding: 12px; }
.nexus-ui .service-commercial-terms {
    margin: 0;
    padding: 10px 12px 12px;
    border: 1px solid var(--ui-border);
    border-radius: var(--ui-radius-sm);
    background: var(--ui-surface-subtle);
}
.nexus-ui .service-commercial-terms legend {
    padding: 0 6px;
    color: var(--ui-muted);
    font-size: 11px;
    font-weight: 700;
}
.nexus-ui .service-commercial-terms .form-grid { margin: 0; }
.nexus-ui .client-site-cards {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    padding: 14px;
}
.nexus-ui .client-site-card {
    min-width: 0;
    overflow: hidden;
    border: 1px solid var(--ui-border);
    border-radius: var(--ui-radius-md);
    background: #fff;
}
.nexus-ui .client-site-card > header {
    min-height: 58px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 10px 14px;
    background: var(--ui-panel-head);
    border-bottom: 1px solid var(--ui-border-strong);
}
.nexus-ui .client-site-card h3 { margin: 2px 0 0; }
.nexus-ui .client-site-card .fact-list { padding: 7px 14px 12px; }
.nexus-ui .client-table-entry { position: relative; min-width: 1180px; }
.nexus-ui .client-table-entry .client-table-row { padding-right: 58px; }
.nexus-ui .client-row-action {
    position: absolute;
    z-index: 2;
    top: 50%;
    right: 10px;
    margin: 0;
    transform: translateY(-50%);
}
.nexus-ui .client-row-action .icon-action { width: 30px; height: 30px; }
.nexus-ui .client-last-payment { padding-right: 22px; }
.nexus-ui .archive-banner {
    display: flex;
    align-items: center;
    gap: 9px;
    margin-bottom: 12px;
    padding: 9px 12px;
    color: #6f5a19;
    background: var(--ui-warning-soft);
    border: 1px solid #e8ce87;
    border-radius: var(--ui-radius-md);
}
.nexus-ui .archive-banner span { font-size: 11px; }
.nexus-ui .infrastructure-device-table .health-row > td:first-child { border-left: 4px solid #9ca8ad; }
.nexus-ui .infrastructure-device-table .health-row.health-online > td:first-child { border-left-color: var(--ui-success); }
.nexus-ui .infrastructure-device-table .health-row.health-warning > td:first-child,
.nexus-ui .infrastructure-device-table .health-row.health-standby > td:first-child {
    border-left-color: var(--ui-warning);
}
.nexus-ui .infrastructure-device-table .health-row.health-offline > td:first-child { border-left-color: var(--ui-danger); }
.nexus-ui .asset-network-section { border-top: 1px solid var(--ui-border); }
.nexus-ui .asset-network-head {
    min-height: 42px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 7px 14px;
    background: var(--ui-surface-subtle);
}
.nexus-ui .asset-network-head strong,
.nexus-ui .asset-network-head small {
    display: block;
}
.nexus-ui .asset-network-head strong { font-size: 12px; font-weight: 650; }
.nexus-ui .asset-network-head small { margin-top: 1px; }
.nexus-ui .asset-network-list {
    gap: 0;
    margin: 0;
    overflow: visible;
    background: transparent;
    border: 0;
    border-radius: 0;
}
.nexus-ui .asset-network-list > article {
    min-width: 0;
    grid-template-columns: minmax(170px, 1.25fr) repeat(3, minmax(90px, .65fr)) auto;
    gap: 12px;
    padding: 9px 14px;
    background: var(--ui-surface);
    border-top: 1px solid #edf0f2;
}
.nexus-ui .asset-network-list > article:first-child { border-top: 0; }
.nexus-ui .asset-network-identity,
.nexus-ui .asset-network-value {
    min-width: 0;
}
.nexus-ui .asset-network-identity strong,
.nexus-ui .asset-network-identity small,
.nexus-ui .asset-network-value small,
.nexus-ui .asset-network-value code {
    display: block;
}
.nexus-ui .asset-network-identity strong,
.nexus-ui .asset-network-value code {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.nexus-ui .asset-network-identity strong { font-size: 12px; }
.nexus-ui .asset-network-identity small { font-size: 10.5px; }
.nexus-ui .asset-network-value code { font-size: 11px; }
.nexus-ui .asset-network-value small {
    margin-bottom: 2px;
    color: var(--ui-soft);
    font-size: 9.5px;
}
.nexus-ui .asset-network-empty {
    margin: 0;
    padding: 12px 14px;
    color: var(--ui-muted);
    font-size: 11.5px;
}
.nexus-ui .compact-summary {
    width: 100%; min-width: 0; box-sizing: border-box;
    min-height: 41px;
    display: flex;
    align-items: stretch;
    gap: 0;
    margin: 0 0 12px;
    overflow-x: auto;
    background: var(--ui-surface);
    border: 1px solid var(--ui-border);
    border-radius: var(--ui-radius-md);
}
.nexus-ui .compact-summary a {
    min-width: 118px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    padding: 0 13px;
    color: var(--ui-muted);
    border: 0;
    border-right: 1px solid var(--ui-border);
    border-bottom: 2px solid transparent;
    border-radius: 0;
    font-size: 11.5px;
}
.nexus-ui .compact-summary a:last-child { border-right: 1px solid var(--ui-border); }
.nexus-ui .compact-summary a:hover { background: var(--ui-surface-hover); }
.nexus-ui .compact-summary a.active {
    color: var(--ui-text);
    background: var(--ui-surface);
    border-bottom-color: var(--ui-brand);
}
.nexus-ui .compact-summary strong { font-size: 13px; }
.nexus-ui .infrastructure-filters {
    display: grid;
    grid-template-columns: minmax(240px, 1fr) repeat(3, minmax(150px, .3fr)) auto;
    gap: 10px;
    margin-bottom: 12px;
    padding: 10px 12px;
    overflow: visible;
}
.nexus-ui .infrastructure-filters label {
    display: block;
    margin-bottom: 4px;
    color: var(--ui-muted);
    font-size: 10.5px;
}
.nexus-ui .infrastructure-filters .button { align-self: end; }
.nexus-ui .infrastructure-workspace.devices-only { grid-template-columns: 236px minmax(0, 1fr); gap: 12px; }
.nexus-ui .infrastructure-workspace.devices-only > .tree-panel { display: block; }
.nexus-ui .infrastructure-tree-page { max-width: none; }
.nexus-ui .compact-tree .panel-head { min-height: var(--ui-content-header-height); }
.nexus-ui .container-tree { padding: 8px; }
.nexus-ui .tree-node > summary {
    min-height: 34px;
    grid-template-columns: 12px 20px minmax(0, 1fr) auto;
    gap: 5px;
    padding: 5px 7px;
    border-radius: var(--ui-radius-sm);
}
.nexus-ui .tree-node > summary strong,
.nexus-ui .tree-device strong {
    font-size: 12px;
}
.nexus-ui .tree-node > summary small,
.nexus-ui .tree-device small {
    font-size: 10.5px;
}
.nexus-ui .tree-content { margin-left: 13px; padding-left: 8px; }
.nexus-ui .tree-device { padding: 5px 7px; border-radius: var(--ui-radius-sm); }
.nexus-ui .data-table {
    width: 100%;
    border-collapse: collapse;
    font-family: var(--ui-font);
    font-size: var(--ui-table-font-size);
    line-height: var(--ui-table-line-height);
}
.nexus-ui .data-table th {
    height: 34px;
    padding: 7px 10px;
    color: var(--ui-muted);
    background: var(--ui-surface-subtle);
    border-bottom: 1px solid var(--ui-border);
    font-size: var(--ui-table-head-font-size);
    font-weight: var(--ui-table-head-font-weight);
    letter-spacing: .015em;
    text-align: left;
    text-transform: none;
}
.nexus-ui .data-table td {
    height: 48px;
    padding: 7px 10px;
    border-bottom: 1px solid #edf0f2;
    vertical-align: middle;
}
.nexus-ui .data-table th:first-child,
.nexus-ui .data-table td:first-child { padding-left: var(--ui-panel-inline); }
.nexus-ui .data-table th:last-child,
.nexus-ui .data-table td:last-child { padding-right: var(--ui-panel-inline); }
.nexus-ui .data-table tr:last-child td { border-bottom: 0; }
.nexus-ui .data-table tbody tr:hover td { background: var(--ui-surface-hover); }
.nexus-ui .data-table td small { display: block; margin-top: 2px; }
.nexus-ui .table-primary-link {
    color: var(--ui-text-strong);
    font-size: var(--ui-table-primary-link-size);
    font-weight: var(--ui-table-primary-link-weight);
}
.nexus-ui .table-actions { white-space: nowrap; }
.nexus-ui .physical-link-row { min-height: 62px; }
.nexus-ui.ui-modal-open { overflow: hidden; }
.nexus-ui .ui-modal-scrim {
    position: fixed;
    inset: 0;
    background: rgba(17, 24, 27, .48);
    backdrop-filter: blur(1.5px);
    z-index: 100;
}
/* Confirmation is the active layer; cancellation restores its original opener. */
.nexus-ui .ui-confirm-underlay { filter: blur(1.5px); }
/* Rich list summaries expose only a title while their original context is in the body. */
.nexus-ui details.ui-modal-editor:not([open]) > summary > .ui-modal-heading,
.nexus-ui details.ui-modal-editor[open] > summary > [data-modal-trigger-icon] { display: none; }
.nexus-ui details.ui-modal-editor[open] > summary:has(> .ui-modal-heading) {
    display: flex;
    align-items: center;
}
.nexus-ui .ui-modal-record-context {
    grid-column: 1 / -1;
    min-width: 0;
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 8px 16px;
    padding: 10px 12px;
    color: var(--ui-text);
    background: var(--ui-surface-subtle, #f4f6f7);
    border: 1px solid var(--ui-border);
    border-radius: var(--ui-radius-sm);
    font-size: 12px;
    overflow-wrap: anywhere;
}
.nexus-ui .ui-modal-record-context > span { min-width: 0; flex: 1 1 200px; }
.nexus-ui .ui-modal-record-context small { display: block; margin-top: 3px; color: var(--ui-muted); }
.nexus-ui .ui-modal-record-context > b { margin-left: auto; white-space: nowrap; }
.nexus-ui .ui-confirm-layer {
    position: fixed;
    inset: 0;
    z-index: 160;
    display: grid;
    place-items: center;
    padding: 16px;
    background: rgba(17,24,27,.52);
    backdrop-filter: blur(1.5px);
}
.nexus-ui .ui-confirm-dialog {
    width: min(430px, 100%);
    overflow: hidden;
    background: var(--ui-surface);
    border: 1px solid var(--ui-panel-border);
    border-radius: var(--ui-radius-md);
    box-shadow: 0 24px 70px rgba(14,22,26,.28);
}
.nexus-ui .ui-confirm-dialog > header {
    min-height: 50px;
    display: flex;
    align-items: center;
    padding: 11px 16px;
    background: var(--ui-panel-head);
    border-bottom: 1px solid var(--ui-border-strong);
    box-shadow: none;
}
.nexus-ui .ui-confirm-dialog > header strong { font-size: 15px; }
.nexus-ui .ui-confirm-dialog > p {
    margin: 0;
    padding: 18px 16px;
    color: var(--ui-text);
    font-size: 13px;
}
/* Confirmation actions use the shared ui-modal-footer contract. */
.nexus-ui details.targeted-editor:not([open]),
.nexus-ui details.note-editor:not([open]),
.nexus-ui .editor-row details:not([open]) {
    display: none;
}
.nexus-ui details.ui-modal-editor[open] {
    display: block;
    position: fixed;
    inset: 50% auto auto 50%;
    width: min(720px, calc(100vw - 32px));
    --ui-modal-max-height: min(88dvh, 880px);
    max-height: var(--ui-modal-max-height);
    margin: 0;
    padding: 0;
    overflow: hidden;
    color: var(--ui-text);
    background: var(--ui-surface);
    border: 1px solid var(--ui-border);
    border-radius: var(--ui-radius-md);
    box-shadow: 0 24px 70px rgba(14, 22, 26, .26);
    transform: translate(-50%, -50%);
    z-index: 110;
}
.nexus-ui details.ui-modal-editor[open] > summary {
    position: sticky;
    top: 0;
    z-index: 2;
    min-height: 52px;
    width: auto;
    height: auto;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin: 0;
    padding: 12px 14px 12px 16px;
    color: var(--ui-text-strong);
    background: var(--ui-panel-head);
    border: 0;
    border-bottom: 1px solid var(--ui-border);
    border-radius: 0;
    font-size: 14px;
    font-weight: 680;
    list-style: none;
    cursor: default;
}
.nexus-ui details.ui-modal-editor[open] > summary::before { display: none; }
.nexus-ui details.ui-modal-editor[open] > summary::-webkit-details-marker { display: none; }
.nexus-ui .ui-modal-title { display: none; }
.nexus-ui details.ui-modal-editor[open] > summary > .ui-modal-title { display: block; }
.nexus-ui .ui-modal-close {
    width: 32px;
    height: 32px;
    flex: 0 0 32px;
    display: none;
    place-items: center;
    padding: 0;
    color: var(--ui-muted);
    background: var(--ui-surface);
    border: 1px solid var(--ui-border);
    border-radius: var(--ui-radius-sm);
    font: 400 22px/1 var(--ui-font);
    cursor: pointer;
}
.nexus-ui details.ui-modal-editor[open] > summary > .ui-modal-close { display: grid; }
.nexus-ui .ui-modal-close:hover { color: var(--ui-text-strong); background: var(--ui-surface-hover); }
.nexus-ui details.ui-modal-editor[open] > form:not(.ui-modal-layout),
.nexus-ui details.ui-modal-editor[open] > .dashboard-editor-list:not(.ui-modal-layout),
.nexus-ui details.ui-modal-editor[open] > .ui-modal-body:not(.ui-modal-layout) {
    margin: 0;
    padding: 16px;
}
.nexus-ui details.ui-modal-editor[open] > form.form-grid:not(.ui-modal-layout),
.nexus-ui details.ui-modal-editor[open] > form.form-stack:not(.ui-modal-layout) {
    padding: 16px;
}
.nexus-ui details.ui-modal-editor[open] .modal-record-form { width: 100%; }
.nexus-ui details.ui-modal-editor[open] .modal-record-form > .button[type="submit"] {
    width: auto;
    min-width: 190px;
    grid-column: 1 / -1;
    justify-self: end;
}
.nexus-ui details.ui-modal-editor[open] > form.has-modal-footer { padding-bottom: 0; }
.nexus-ui .ui-modal-footer {
    position: sticky;
    z-index: 3;
    bottom: 0;
    grid-column: 1 / -1;
    min-height: 58px;
    width: calc(100% + 32px);
    display: flex;
    align-items: center;
    justify-content: flex-end;
    flex-wrap: wrap;
    gap: 8px;
    margin: 16px -16px 0;
    padding: 10px 16px;
    background: var(--ui-surface-subtle);
    border-top: 1px solid var(--ui-border);
}
.nexus-ui .ui-modal-footer .button { width: auto; min-width: 112px; }
/* Modal layout contract: header and actions do not belong to the scroll area. */
html.modal-document-root { min-width: 0; height: 100%; scrollbar-gutter: auto; }
.nexus-ui details.ui-modal-editor[open] > :is(form, .ui-modal-body, .dashboard-editor-list) {
    min-height: 0;
    max-height: calc(var(--ui-modal-max-height) - var(--ui-modal-header-height, 52px) - 2px);
    overflow: auto;
    overscroll-behavior: contain;
}
.nexus-ui :is(details.ui-modal-editor[open], .modal-document-content) > .ui-modal-layout.has-modal-footer {
    display: flex;
    flex-direction: column;
    gap: 0;
    min-width: 0;
    min-height: 0;
    width: 100%;
    max-width: none;
    margin: 0;
    padding: 0;
    overflow: hidden;
}
.nexus-ui .ui-modal-scroll-body {
    flex: 1 1 auto;
    min-width: 0;
    min-height: 0;
    overflow: auto;
    overscroll-behavior: contain;
    scroll-padding-block: 10px;
}
.nexus-ui .ui-modal-layout > .ui-modal-scroll-body > .ui-modal-scroll-content {
    min-width: 0;
    min-height: 0;
    width: 100%;
    max-width: none;
    margin: 0;
    padding: var(--ui-modal-content-padding, 16px);
}
.nexus-ui .ui-modal-layout.has-modal-footer > .ui-modal-footer {
    position: static;
    flex: 0 0 auto;
    width: 100%;
    margin: 0;
    border-radius: 0;
}
.nexus-ui.modal-document.ui-modal-document-layout { height: 100dvh; overflow: hidden; }
.nexus-ui.modal-document .modal-document-content.ui-modal-document-layout { height: 100%; padding: 0; overflow: hidden; }
.nexus-ui.modal-document .modal-document-content.ui-modal-document-layout > form.ui-modal-layout.has-modal-footer { height: 100%; max-height: none; }
.nexus-ui.modal-document .modal-document-content-flush > form.ui-modal-layout > .ui-modal-scroll-body > .ui-modal-scroll-content { padding: 0; }

.nexus-ui .dashboard-editor-list { display: grid; gap: 12px; }
.nexus-ui .dashboard-editor-list > form {
    padding: 12px;
    background: var(--ui-surface-subtle);
    border: 1px solid var(--ui-border);
    border-radius: var(--ui-radius-sm);
}
.nexus-ui .ui-route-modal {
    position: fixed;
    z-index: 110;
    top: 50%;
    left: 50%;
    width: min(1120px, calc(100vw - 48px));
    height: auto;
    max-height: 90vh;
    display: grid;
    grid-template-rows: auto auto;
    overflow: hidden;
    background: var(--ui-surface);
    border: 1px solid var(--ui-border);
    border-radius: var(--ui-radius-md);
    box-shadow: 0 24px 70px rgba(14, 22, 26, .26);
    transform: translate(-50%, -50%);
}
.nexus-ui .ui-route-modal.modal-size-standard { width: min(760px, calc(100vw - 48px)); }
.nexus-ui .ui-route-modal.modal-size-compact { width: min(620px, calc(100vw - 48px)); }
.nexus-ui .ui-route-modal > header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    background: var(--ui-panel-head);
    border-bottom: 1px solid var(--ui-border);
}
.nexus-ui .ui-route-modal > header button {
    border: 1px solid var(--ui-border);
    border-radius: var(--ui-radius-sm);
    background: var(--ui-surface);
    color: var(--ui-muted);
    font: 400 22px/1 var(--ui-font);
    cursor: pointer;
}
.nexus-ui .ui-route-modal > header button:hover { color: var(--ui-text-strong); background: var(--ui-surface-hover); }
.nexus-ui .ui-route-modal > iframe {
    width: 100%;
    height: 140px;
    max-height: calc(90vh - 52px);
    display: block;
    border: 0;
}
.nexus-ui.modal-document {
    min-width: 0;
    min-height: 0;
    height: auto;
}
.nexus-ui .modal-document-content {
    width: 100%;
    min-height: 0;
    box-sizing: border-box;
}
.nexus-ui.modal-document .modal-document-content > form > .form-actions {
    position: sticky;
    z-index: 4;
    bottom: 0;
    min-height: 58px;
    margin: 0;
    padding: 10px 16px;
    background: var(--ui-surface-subtle);
    border-top: 1px solid var(--ui-border);
}
.nexus-ui.modal-document .modal-document-content > form > .form-actions .button { min-width: 112px; }
.nexus-ui .nexus-table-local-actions {
    min-height: 38px;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    padding: 4px 0 6px;
}
.nexus-ui.modal-document .edit-layout { max-width: none; }
.nexus-ui.modal-document .client-editor-intro { display: none; }
.nexus-ui.modal-document .user-form {
    width: 100%;
    max-width: none;
    margin: 0;
}
.nexus-ui.modal-document .user-form > .panel.form-section {
    margin: 0;
    overflow: visible;
    border: 0;
    border-radius: 0;
    box-shadow: none;
}
.nexus-ui.modal-document .user-form > .panel.form-section > .panel-head { display: none; }
.nexus-ui.modal-document .user-form > .panel.form-section > .form-grid { padding: 16px; }
.nexus-ui.modal-document .user-form > .form-help { margin: 0; padding: 0 16px 14px; }
.nexus-ui .metric-grid { gap: 10px; margin-bottom: 12px; }
.nexus-ui .metric-card {
    min-height: 84px;
    padding: 12px 14px;
    border-radius: var(--ui-radius-md);
    box-shadow: none;
}
.nexus-ui .metric-card::after { display: none; }
.nexus-ui .metric-card > span { font-size: 11px; }
.nexus-ui .metric-card strong { margin: 5px 0 1px; font-size: 21px; }
.nexus-ui .dashboard-grid { gap: 12px; }
.nexus-ui .search-bar {
    min-height: 46px;
    margin-bottom: 12px;
    padding: 5px 8px 5px 12px;
    border-radius: var(--ui-radius-md);
    box-shadow: none;
}
.nexus-ui .form-grid,
.nexus-ui .form-stack {
    gap: 10px;
}
.nexus-ui .form-grid label,
.nexus-ui .form-stack label {
    gap: 4px;
}
.nexus-ui .ui-kit { width: 100%; max-width: none; }
.nexus-ui .ui-kit-section { padding: 16px; border-bottom: 1px solid var(--ui-border); }
.nexus-ui .ui-kit-section h3 { margin: 0 0 10px; }
.nexus-ui .ui-kit-row {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
}
.nexus-ui .ui-kit-form {
    display: grid;
    grid-template-columns: 1fr 1fr auto;
    align-items: end;
    gap: 12px;
}
.nexus-ui .ui-kit-form label:not(.check) { display: grid; gap: 4px; }
.nexus-ui .ui-kit-list {
    max-width: 680px;
    border: 1px solid var(--ui-border);
    border-radius: var(--ui-radius-sm);
}
.nexus-ui .ui-kit-note {
    margin: 0;
    padding: 12px 16px;
    color: var(--ui-muted);
    background: var(--ui-surface-subtle);
    font-size: 12px;
}
.nexus-ui .template-variable-guide {
    padding: 11px 12px;
    background: var(--ui-info-soft);
    border: 1px solid #d4e4f4;
    border-radius: var(--ui-radius-sm);
}
.nexus-ui .template-variable-guide > strong { display: block; font-size: 12px; }
.nexus-ui .template-variable-guide > p {
    margin: 3px 0 9px;
    color: var(--ui-muted);
    font-size: 11px;
}
.nexus-ui .template-variable-guide > div {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 6px 12px;
}
.nexus-ui .template-variable-guide span {
    min-width: 0;
    display: grid;
    grid-template-columns: max-content minmax(0, 1fr);
    align-items: baseline;
    gap: 7px;
}
.nexus-ui .template-variable-guide code {
    padding: 2px 5px;
    color: #245d93;
    background: #fff;
    border: 1px solid #c9ddef;
    border-radius: var(--ui-radius-xs);
    font-size: 10.5px;
}
.nexus-ui .template-variable-guide small { font-size: 10.5px; }
.nexus-ui .template-summary-actions {
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    gap: 10px;
    color: var(--ui-muted);
}
.nexus-ui .template-summary-actions > .ui-icon { width: 16px; height: 16px; }
.nexus-ui .job-list {
    display: grid;
    gap: 1px;
    background: var(--ui-border);
}
.nexus-ui .job-card { background: var(--ui-surface); }
.nexus-ui .job-card > summary {
    min-height: 58px;
    display: grid;
    grid-template-columns: 8px minmax(0, 1fr) auto 18px;
    align-items: center;
    gap: 12px;
    padding: 10px 16px;
    list-style: none;
    cursor: pointer;
}
.nexus-ui .job-card > summary::-webkit-details-marker { display: none; }
.nexus-ui .job-card > summary::after {
    content: "›";
    margin-left: 4px;
    color: var(--ui-soft);
    font-size: 20px;
    transform: rotate(90deg);
    transition: transform .15s ease;
}
.nexus-ui .job-card[open] > summary::after { transform: rotate(-90deg); }
.nexus-ui .job-card > summary > span:nth-child(2) strong,
.nexus-ui .job-card > summary > span:nth-child(2) small {
    display: block;
}
.nexus-ui .job-card > summary > span:nth-child(2) small { margin-top: 2px; }
.nexus-ui .job-paused-chip {
    display: inline-flex;
    margin-left: 7px;
    vertical-align: 1px;
    font-size: 9px;
}
.nexus-ui .job-next {
    color: var(--ui-muted);
    font-size: 11px;
    font-weight: 650;
    white-space: nowrap;
}
.nexus-ui .job-card-body { padding: 0 16px 16px 36px; border-top: 1px solid #edf0f2; }
.nexus-ui .job-card-body > dl {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
    margin: 0;
    padding: 12px 0;
}
.nexus-ui .job-card-body dt { color: var(--ui-soft); font-size: 10px; }
.nexus-ui .job-card-body dd {
    margin: 3px 0 0;
    overflow-wrap: anywhere;
    font-size: 11.5px;
    font-weight: 600;
}
.nexus-ui .job-controls {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 7px;
    margin: 0 0 12px;
    padding: 10px;
    background: var(--ui-surface-subtle);
    border: 1px solid var(--ui-border);
    border-radius: var(--ui-radius-sm);
}
.nexus-ui .job-controls form { margin: 0; }
.nexus-ui .job-controls > small {
    flex: 1 1 320px;
    color: var(--ui-muted);
    font-size: 10.5px;
}
.nexus-ui .job-controls-note {
    margin: 0 0 12px;
    padding: 9px 11px;
    color: var(--ui-muted);
    background: var(--ui-surface-subtle);
    border: 1px solid var(--ui-border);
    border-radius: var(--ui-radius-sm);
    font-size: 11px;
}
.nexus-ui .job-card-body h3 { margin: 6px 0 8px; }
.nexus-ui .empty-state.compact {
    min-height: 0;
    margin: 0;
    padding: 12px;
}
@media (max-width: 1220px) {
    .nexus-ui .ui-stat-strip { grid-template-columns: repeat(3, 1fr); }
    .nexus-ui .ui-stat:nth-child(3) { border-right: 0; }
    .nexus-ui .ui-stat:nth-child(-n+3) { border-bottom: 1px solid var(--ui-border); }
    .nexus-ui .ui-client-layout { grid-template-columns: 1fr; }
    .nexus-ui .ui-client-summary { grid-template-columns: repeat(2, 1fr); }
    .nexus-ui .ui-client-summary .ui-stat:nth-child(2n) { border-right: 0; }
    .nexus-ui .ui-client-summary .ui-stat:nth-child(-n+2) { border-bottom: 1px solid var(--ui-border); }
    .nexus-ui .ui-client-summary .ui-stat:nth-child(3) { border-right: 1px solid var(--ui-border); border-bottom: 0; }
    .nexus-ui .ui-client-summary .ui-stat:nth-child(4) { border-bottom: 0; }
    .nexus-ui .ui-client-aside { grid-template-columns: 1fr 1fr; }
    .nexus-ui .client-service-cards { grid-template-columns: 1fr; }
    .nexus-ui .client-device-cards { grid-template-columns: 1fr; }
    .nexus-ui .compact-product-grid,
    .nexus-ui .settings-masonry {
        columns: 1 auto;
    }
    .nexus-ui .compact-product-grid,
    .nexus-ui .client-site-cards {
        grid-template-columns: 1fr;
    }
    .nexus-ui .infrastructure-filters { grid-template-columns: minmax(220px, 1fr) repeat(2, minmax(145px, .45fr)); }
}
@media (max-width: 920px) {
    .nexus-ui { --ui-content-inline: 12px; --ui-content-start: 12px; }
    .nexus-ui .app-shell { display: block; }
    .nexus-ui .sidebar,
    .nexus-ui.sidebar-hover-open .sidebar,
    .nexus-ui .sidebar:focus-within {
        width: min(var(--ui-sidebar-wide), calc(100vw - 44px));
        transform: translateX(-105%);
        box-shadow: var(--ui-shadow-float);
    }
    .nexus-ui.sidebar-open .sidebar { transform: translateX(0); }
    .nexus-ui .sidebar-close {
        width: 30px;
        height: 30px;
        display: grid;
        place-items: center;
        margin-left: auto;
        color: #c3cbcf;
    }
    .nexus-ui .sidebar-foot { opacity: 1; }
    .nexus-ui .sidebar-scrim {
        position: fixed;
        inset: 0;
        display: block;
        visibility: hidden;
        background: rgba(15,20,22,.38);
        opacity: 0;
        transition: opacity .18s ease;
        z-index: 75;
    }
    .nexus-ui.sidebar-open .sidebar-scrim { visibility: visible; opacity: 1; }
    .nexus-ui .main-panel { min-height: 100vh; }
    .nexus-ui .menu-button {
        width: 34px;
        height: 34px;
        display: grid;
        place-items: center;
        flex: 0 0 auto;
        color: var(--ui-muted);
        border: 1px solid var(--ui-border);
        border-radius: var(--ui-radius-sm);
    }
    .nexus-ui .topbar { padding-inline: 12px; }
    .nexus-ui .topbar-context p { display: none; }
    .nexus-ui .topbar-page-actions { display: none; }
    .nexus-ui .topbar-divider { display: none; }
    .nexus-ui .record-tabs,
    .nexus-ui .workspace-tabs,
    .nexus-ui .settings-tabs {
        margin-bottom: 12px;
    }
    .nexus-ui .ui-dashboard-grid,
    .nexus-ui .ui-dashboard-two {
        grid-template-columns: 1fr;
    }
    .nexus-ui .ui-client-aside { grid-template-columns: 1fr; }
    .nexus-ui .infrastructure-workspace.devices-only { grid-template-columns: 1fr; }
    .nexus-ui .infrastructure-workspace.devices-only > .tree-panel { display: none; }
    .nexus-ui .infrastructure-filters { grid-template-columns: 1fr 1fr; }
    .nexus-ui .internet-service-grid,
    .nexus-ui .settings-card-grid {
        grid-template-columns: 1fr;
    }
}
@media (max-width: 640px) {
    .nexus-ui .topbar-heading h1 { font-size: 17px; }
    .nexus-ui .topbar-kicker { display: none; }
    .nexus-ui .topbar-back b,
    .nexus-ui .topbar-logout span {
        display: none;
    }
    .nexus-ui .topbar-back {
        width: 34px;
        padding: 0;
        justify-content: center;
    }
    .nexus-ui .ui-stat-strip { grid-template-columns: 1fr 1fr; }
    .nexus-ui .ui-stat { border-bottom: 1px solid var(--ui-border); }
    .nexus-ui .ui-stat:nth-child(2n) { border-right: 0; }
    .nexus-ui .ui-stat:nth-last-child(-n+2) { border-bottom: 0; }
    .nexus-ui .ui-launch-list { grid-template-columns: 1fr; }
    .nexus-ui .ui-launch-item { border-right: 0; }
    .nexus-ui .ui-definition-grid { grid-template-columns: 118px minmax(0, 1fr); }
    .nexus-ui .ui-definition-grid .wide { grid-column: auto; }
    .nexus-ui .client-service-cards .fact-list.two-column { grid-template-columns: 1fr; column-gap: 0; }
    .nexus-ui .client-service-cards .fact-list > div { grid-template-columns: minmax(92px, .38fr) minmax(0, 1fr); }
    .nexus-ui .client-service-cards > article > header { flex-wrap: wrap; }
    .nexus-ui .client-service-cards .record-card-actions { width: 100%; justify-content: flex-end; }
    .nexus-ui .client-device-card > header { flex-wrap: wrap; }
    .nexus-ui .client-device-card .record-card-actions { width: 100%; justify-content: flex-end; }
    .nexus-ui .asset-network-list > article { grid-template-columns: minmax(0, 1fr) auto; }
    .nexus-ui .asset-network-list > article > .asset-network-identity { grid-column: 1 / -1; }
    .nexus-ui details.ui-modal-editor[open] {
        inset: 8px;
        width: auto;
        --ui-modal-max-height: calc(100dvh - 16px);
        max-height: var(--ui-modal-max-height);
        transform: none;
    }
    .nexus-ui details.ui-modal-editor[open] > .ui-modal-layout.has-modal-footer {
        height: calc(var(--ui-modal-max-height) - var(--ui-modal-header-height, 52px) - 2px);
    }
    .nexus-ui .ui-route-modal {
        width: calc(100vw - 16px);
        max-height: calc(100vh - 16px);
        border-radius: var(--ui-radius-md);
    }
    .nexus-ui .modal-document-content { padding: 10px; }
    .nexus-ui .infrastructure-filters { grid-template-columns: 1fr; }
    .nexus-ui .traffic-overview { grid-template-columns: 1fr; }
    .nexus-ui .traffic-services { border-right: 0; border-bottom: 1px solid var(--ui-border); }
    .nexus-ui .ui-kit-form { grid-template-columns: 1fr; }
    .nexus-ui .template-variable-guide > div { grid-template-columns: 1fr; }
    .nexus-ui .job-card > summary { grid-template-columns: 8px minmax(0, 1fr) 18px; }
    .nexus-ui .job-next { grid-column: 2; }
    .nexus-ui .job-card > summary::after { grid-column: 3; grid-row: 1 / span 2; }
    .nexus-ui .job-card-body { padding-left: 16px; }
    .nexus-ui .job-card-body > dl { grid-template-columns: 1fr 1fr; }
}
@media (prefers-reduced-motion: reduce) {
    html:not([data-nexus-motion="on"]) .nexus-ui *, html:not([data-nexus-motion="on"]) .nexus-ui *::before, html:not([data-nexus-motion="on"]) .nexus-ui *::after {
        scroll-behavior: auto !important;
        transition-duration: .01ms !important;
        animation-duration: .01ms !important;
        animation-iteration-count: 1 !important;
    }
}
.nexus-ui .ui-icon-attachment { -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='black' stroke-width='2' stroke-linecap='round' d='m8.5 12.5 6-6a3 3 0 0 1 4.2 4.2l-8.4 8.4a5 5 0 0 1-7.1-7.1l8.2-8.2'/%3E%3C/svg%3E") center/contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='black' stroke-width='2' stroke-linecap='round' d='m8.5 12.5 6-6a3 3 0 0 1 4.2 4.2l-8.4 8.4a5 5 0 0 1-7.1-7.1l8.2-8.2'/%3E%3C/svg%3E") center/contain no-repeat; }
.nexus-ui .ui-icon-info { -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='9' fill='none' stroke='black' stroke-width='2'/%3E%3Cpath d='M12 10v7M12 7h.01' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E") center/contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='9' fill='none' stroke='black' stroke-width='2'/%3E%3Cpath d='M12 10v7M12 7h.01' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E") center/contain no-repeat; }
.nexus-ui .ui-icon-information { -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 10v7M12 7h.01' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E") center/contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 10v7M12 7h.01' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E") center/contain no-repeat; }
.nexus-ui .ui-icon-transfer { -webkit-mask:url("data:image/svg+xml,%3Csvg%20xmlns='http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox='0%200%2024%2024'%3E%3Cpath%20d='M4%207h16m-4-4%204%204-4%204M20%2017H4m4-4-4%204%204%204'%20fill='none'%20stroke='black'%20stroke-width='2'%20stroke-linecap='round'%20stroke-linejoin='round'%2F%3E%3C%2Fsvg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg%20xmlns='http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox='0%200%2024%2024'%3E%3Cpath%20d='M4%207h16m-4-4%204%204-4%204M20%2017H4m4-4-4%204%204%204'%20fill='none'%20stroke='black'%20stroke-width='2'%20stroke-linecap='round'%20stroke-linejoin='round'%2F%3E%3C%2Fsvg%3E") center/contain no-repeat; }
.nexus-ui .ui-icon-download { -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 3v12m0 0 5-5m-5 5-5-5M4 19h16' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 3v12m0 0 5-5m-5 5-5-5M4 19h16' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat; }
.nexus-ui .ui-icon-check { -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='9' fill='none' stroke='black' stroke-width='2'/%3E%3Cpath d='m8 12 2.7 2.7L16.5 9' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='9' fill='none' stroke='black' stroke-width='2'/%3E%3Cpath d='m8 12 2.7 2.7L16.5 9' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat; }
.nexus-ui .input-action {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 7px;
}
.nexus-ui .input-action .button {
    width: auto;
    min-height: var(--ui-control-height);
    align-self: end;
    white-space: nowrap;
}
.nexus-ui .ares-result {
    display: grid;
    gap: 8px;
    padding: 10px 12px;
    color: var(--ui-muted);
    background: var(--ui-surface-subtle);
    border: 1px solid var(--ui-border);
    border-radius: var(--ui-radius-sm);
    font-size: 12px;
}
.nexus-ui .ares-result.is-ok { color: #116f48; background: var(--ui-success-soft); }
.nexus-ui .ares-result.is-error { color: #ae2926; background: var(--ui-danger-soft); }
.nexus-ui .ares-result.is-loading { color: var(--ui-muted); }
.nexus-ui .ares-result.is-suggestion {
    color: var(--ui-text);
    background: #fff;
    border-color: var(--ui-border-strong);
}
.nexus-ui .ares-result > small { display: block; }
.nexus-ui .ares-inline-values {
    display: grid;
    grid-template-columns: 120px minmax(0, 1fr);
    gap: 0;
    margin: 0;
}
.nexus-ui .ares-inline-values dt,
.nexus-ui .ares-inline-values dd {
    margin: 0;
    padding: 4px 0;
    border-bottom: 1px solid var(--ui-border);
}
.nexus-ui .ares-inline-values dt { color: var(--ui-muted); font-size: 10px; }
.nexus-ui .ares-inline-values dd { overflow-wrap: anywhere; font-weight: 650; }
.nexus-ui .ares-inline-actions {
    display: flex;
    justify-content: flex-end;
    gap: 7px;
}
.nexus-ui .ares-preview-dialog { width: min(560px, calc(100vw - 28px)); }
.nexus-ui .ares-preview-values {
    display: grid;
    grid-template-columns: 120px minmax(0, 1fr);
    gap: 0;
    margin: 0;
    padding: 10px 16px;
}
.nexus-ui .ares-preview-values dt,
.nexus-ui .ares-preview-values dd {
    margin: 0;
    padding: 7px 0;
    border-bottom: 1px solid var(--ui-border);
}
.nexus-ui .ares-preview-values dt { color: var(--ui-muted); font-size: 11px; }
.nexus-ui .ares-preview-values dd { overflow-wrap: anywhere; font-weight: 650; }
.nexus-ui .ares-preview-dialog .panel-note { margin: 0 16px; }
.nexus-ui .financial-summary {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
    gap: 10px;
    margin-bottom: 12px;
}
.nexus-ui .amount-card {
    min-height: 56px;
    display: grid;
    align-content: center;
    gap: 1px;
    padding: 7px 13px;
    background: var(--ui-surface);
    border: 1px solid var(--ui-border);
    border-radius: var(--ui-radius-md);
}
.nexus-ui .amount-card > span,
.nexus-ui .amount-card > small {
    color: var(--ui-muted);
    font-size: 10px;
}
.nexus-ui .amount-card > strong { font-size: 16px; }
.nexus-ui .amount-card.state-ok { background: #f6fcf8; border-color: #b8dfc9; }
.nexus-ui .amount-card.state-ok > strong { color: var(--ui-success); }
.nexus-ui .amount-card.state-warning { background: #fffaf1; border-color: #ecd6aa; }
.nexus-ui .amount-card.state-warning > strong { color: #b06f0b; }
.nexus-ui .amount-card.state-danger { background: #fff7f6; border-color: #efc3c0; }
.nexus-ui .amount-card.state-danger > strong { color: var(--ui-danger); }
.nexus-ui a.amount-card:hover { filter: brightness(.985); }
.nexus-ui .client-financial-summary { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.nexus-ui .client-payments-columns { grid-template-columns: minmax(0, 1.55fr) minmax(320px, .75fr); }
.nexus-ui .client-payments-columns .payment-plan-head,
.nexus-ui .client-payments-columns .payment-plan-row {
    min-width: 760px;
    grid-template-columns: 82px 105px 100px 100px 100px minmax(125px, 1fr) 38px;
}
.nexus-ui .payment-plan-row {
    position: relative;
    min-height: 43px;
    padding: 6px 18px;
}
.nexus-ui .payment-plan-row.is-paid { background: var(--ui-success-soft); }
.nexus-ui .payment-plan-row.is-future { background: var(--ui-warning-soft); }
.nexus-ui .payment-plan-row.is-overdue { background: var(--ui-danger-soft); }
.nexus-ui .payment-plan-row > span,
.nexus-ui .payment-plan-row > strong,
.nexus-ui .payment-plan-row > b {
    text-align: left !important;
    font-size: 11px;
}
.nexus-ui .payment-plan-row .state-tag {
    width: max-content;
    padding: 3px 7px;
    border-radius: 9px;
    color: #8a5e14;
    background: var(--ui-warning-soft);
}
.nexus-ui .payment-plan-row.is-paid .state-tag { color: #0f7549; background: var(--ui-success-soft); }
.nexus-ui .payment-plan-row.is-overdue .state-tag { color: #b42d2a; background: var(--ui-danger-soft); }
.nexus-ui .row-info {
    position: relative;
    overflow: visible !important;
    cursor: help;
}
.nexus-ui .row-info:hover,
.nexus-ui .row-info:focus-visible {
    color: var(--ui-text-strong);
    background: rgba(255,255,255,.7);
}
.nexus-ui .row-info-tooltip {
    position: absolute;
    z-index: 20;
    top: calc(100% + 5px);
    right: 0;
    width: min(340px, 72vw);
    display: none;
    padding: 11px 12px;
    color: var(--ui-text);
    background: #fff;
    border: 1px solid var(--ui-border-strong);
    border-radius: var(--ui-radius-sm);
    box-shadow: var(--ui-shadow-float);
    white-space: normal;
}
.nexus-ui .row-info:hover .row-info-tooltip,
.nexus-ui .row-info:focus-within .row-info-tooltip {
    display: grid;
    gap: 4px;
}
.nexus-ui .row-info-tooltip > strong { font-size: 11px; }
.nexus-ui .row-info-tooltip > span,
.nexus-ui .row-info-tooltip > small {
    font-size: 10px;
    line-height: 1.45;
}
.nexus-ui .document-list > article {
    min-height: 56px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 9px 14px;
    border-bottom: 1px solid var(--ui-border);
}
.nexus-ui .document-list > article:last-child { border-bottom: 0; }
.nexus-ui .document-list > article > span { min-width: 0; }
.nexus-ui .document-list > article strong,
.nexus-ui .document-list > article small {
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.nexus-ui .document-actions {
    display: flex;
    align-items: center;
    gap: 2px;
}
.nexus-ui .document-actions form { display: contents; }
.nexus-ui .request-list > a {
    position: relative;
    grid-template-columns: minmax(0, 1fr) auto auto 10px;
    min-height: 50px;
    padding: 7px 14px;
}
.nexus-ui .request-list > a.ticket-state-new { background: var(--ui-danger-soft); }
.nexus-ui .request-list > a.ticket-state-review { background: var(--ui-warning-soft); }
.nexus-ui .request-list > a.ticket-state-completed { background: var(--ui-success-soft); }
.nexus-ui .request-list > a.ticket-state-deleted { background: #f0f2f3; }
.nexus-ui .request-list .status-chip { color: var(--ui-muted); background: #eef1f2; }
.nexus-ui .request-list .ticket-state-new .status-chip { color: #a82b28; background: var(--ui-danger-soft); }
.nexus-ui .request-list .ticket-state-review .status-chip { color: #9b650b; background: var(--ui-warning-soft); }
.nexus-ui .request-list .ticket-state-completed .status-chip { color: #0d7548; background: var(--ui-success-soft); }
.nexus-ui .request-row {
    position: relative;
    min-height: 50px;
    display: grid;
    grid-template-columns: minmax(0, 1fr) 34px;
    align-items: center;
    border-bottom: 1px solid var(--ui-border);
}
.nexus-ui .request-row.ticket-state-new { background: var(--ui-danger-soft); }
.nexus-ui .request-row.ticket-state-review { background: var(--ui-warning-soft); }
.nexus-ui .request-row.ticket-state-completed { background: var(--ui-success-soft); }
.nexus-ui .request-row.ticket-state-deleted { background: #f0f2f3; }
.nexus-ui .request-row-link {
    min-width: 0;
    min-height: 50px;
    display: grid;
    align-items: center;
    gap: 14px;
    padding: 7px 8px 7px var(--ui-panel-inline);
}
.nexus-ui .request-row-link:hover { filter: brightness(.985); }
.nexus-ui .request-row-link strong,
.nexus-ui .request-row-link small {
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.nexus-ui .request-row-link time {
    color: var(--ui-muted);
    font-size: 10px;
    white-space: nowrap;
}
.nexus-ui .request-row > form { display: grid; place-items: center; }
.nexus-ui .request-row.ticket-state-new .status-chip { color: #a82b28; background: #fff; }
.nexus-ui .request-row.ticket-state-review .status-chip { color: #95610b; background: #fff; }
.nexus-ui .request-row.ticket-state-completed .status-chip { color: #0d7548; background: #fff; }
.nexus-ui .ticket-workspace { grid-template-columns: minmax(0, 1fr) minmax(280px, 360px); }
.nexus-ui .ticket-thread {
    display: flex;
    flex-direction: column;
    gap: 7px;
    max-height: 620px;
    padding: 12px;
    overflow-y: auto;
    background: #eef2f1;
}
.nexus-ui .chat-bubble {
    width: min(78%, 680px);
    padding: 9px 11px;
    border-radius: 10px;
    box-shadow: 0 1px 2px rgba(20,30,34,.08);
}
.nexus-ui .ticket-summary > .chat-bubble { margin: 12px; }
.nexus-ui .chat-bubble.is-client {
    align-self: flex-start;
    margin-right: auto;
    background: #fff;
    border: 1px solid #dce2e4;
    border-top-left-radius: 3px;
}
.nexus-ui .chat-bubble.is-nexus {
    align-self: flex-end;
    margin-left: auto;
    background: #fff1f0;
    border: 1px solid #efc8c6;
    border-top-right-radius: 3px;
}
.nexus-ui .chat-bubble > header {
    display: flex;
    align-items: center;
    gap: 6px;
    margin-bottom: 5px;
}
.nexus-ui .chat-bubble > header strong { font-size: 11px; }
.nexus-ui .chat-bubble > header span {
    padding: 1px 5px;
    color: var(--ui-muted);
    background: rgba(80,95,102,.09);
    border-radius: 7px;
    font-size: 8px;
    text-transform: uppercase;
}
.nexus-ui .chat-bubble > header time {
    margin-left: auto;
    color: var(--ui-muted);
    font-size: 9px;
}
.nexus-ui .chat-bubble > p {
    margin: 0;
    white-space: pre-wrap;
    overflow-wrap: anywhere;
    font-size: 12px;
    line-height: 1.45;
}
.nexus-ui .chat-bubble .ticket-value-compare { padding: 8px 0 0; }
.nexus-ui .ticket-ares-differences {
    margin-top: 8px;
    overflow-x: auto;
    background: #fff;
    border: 1px solid var(--ui-border);
    border-radius: var(--ui-radius-sm);
}
.nexus-ui .ticket-ares-diff-head,
.nexus-ui .ticket-ares-diff-row {
    min-width: 480px;
    display: grid;
    grid-template-columns: minmax(100px, .55fr) minmax(130px, 1fr) minmax(130px, 1fr);
    gap: 8px;
    padding: 6px 8px;
}
.nexus-ui .ticket-ares-diff-head {
    color: var(--ui-muted);
    background: var(--ui-surface-subtle);
    border-bottom: 1px solid var(--ui-border);
    font-size: 9px;
    text-transform: uppercase;
}
.nexus-ui .ticket-ares-diff-row { border-bottom: 1px solid var(--ui-border); font-size: 10px; }
.nexus-ui .ticket-ares-diff-row:last-child { border-bottom: 0; }
.nexus-ui .ticket-ares-diff-row span:last-child { color: #a82b28; font-weight: 650; }
.nexus-ui .chat-photos {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(70px, 100px));
    gap: 5px;
    margin-top: 7px;
}
.nexus-ui .chat-photos button {
    height: 72px;
    padding: 0;
    overflow: hidden;
    background: #e7ebed;
    border: 0;
    border-radius: 5px;
}
.nexus-ui .chat-photos img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.nexus-ui .ticket-composer {
    padding: 9px 11px;
    background: #f8fafa;
    border-top: 1px solid var(--ui-border);
}
.nexus-ui .ticket-composer textarea {
    width: 100%;
    min-height: 54px;
    max-height: 150px;
    padding: 8px 10px;
}
.nexus-ui .composer-tools {
    min-height: 34px;
    display: flex;
    align-items: center;
    gap: 7px;
    margin-top: 5px;
}
.nexus-ui .composer-attach {
    width: 32px;
    height: 32px;
    display: grid;
    place-items: center;
    color: var(--ui-muted);
    border-radius: 50%;
    cursor: pointer;
}
.nexus-ui .composer-attach:hover { background: var(--ui-surface-hover); }
.nexus-ui .composer-attach input { display: none; }
.nexus-ui .composer-previews { display: flex; gap: 4px; }
.nexus-ui .composer-previews img {
    width: 31px;
    height: 31px;
    object-fit: cover;
    border-radius: 4px;
}
.nexus-ui .composer-error {
    flex: 1;
    color: var(--ui-danger);
    font-size: 10px;
}
.nexus-ui .composer-send {
    width: 34px;
    height: 34px;
    display: grid;
    place-items: center;
    padding: 0 0 0 2px;
    color: #fff;
    background: var(--ui-brand);
    border: 0;
    border-radius: 50%;
    font-size: 15px;
}
.nexus-ui .composer-send:disabled { opacity: .55; }
.nexus-ui .ticket-status-panel { border-left-width: 4px; }
.nexus-ui .ticket-status-panel.ticket-state-new { border-left-color: var(--ui-danger); }
.nexus-ui .ticket-status-panel.ticket-state-review { border-left-color: var(--ui-warning); }
.nexus-ui .ticket-status-panel.ticket-state-completed { border-left-color: var(--ui-success); }
.nexus-ui .ticket-status-summary {
    display: grid;
    gap: 2px;
    padding: 12px 14px;
}
.nexus-ui .ticket-status-summary > span,
.nexus-ui .ticket-status-summary > small {
    color: var(--ui-muted);
    font-size: 10px;
}
.nexus-ui .ticket-status-summary > strong { font-size: 15px; }
.nexus-ui .ticket-status-actions {
    display: grid;
    gap: 7px;
    padding: 0 12px 12px;
}
.nexus-ui .ticket-status-actions form,
.nexus-ui .ticket-status-actions .button {
    width: 100%;
}
.nexus-ui .internal-note-list { padding: 9px; }
.nexus-ui .internal-note { padding: 10px; }
.nexus-ui .internal-note > header {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto auto;
    align-items: center;
    gap: 7px;
    margin-bottom: 6px;
    padding: 0;
}
.nexus-ui .internal-note > header strong {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.nexus-ui .internal-note > header time {
    color: #766a35;
    font-size: 9px;
    white-space: nowrap;
}
.nexus-ui .internal-note .record-actions {
    position: static;
    display: flex;
    gap: 4px;
}
.nexus-ui .internal-note .record-actions form { display: contents; }
.nexus-ui.gallery-open { overflow: hidden; }
.nexus-ui .nexus-gallery {
    position: fixed;
    z-index: 500;
    inset: 0;
    display: grid;
    grid-template: 52px minmax(0, 1fr) 34px / 58px minmax(0, 1fr) 58px;
    color: #fff;
    background: rgba(6,9,11,.96);
}
.nexus-ui .nexus-gallery > header {
    grid-column: 1 / -1;
    display: grid;
    grid-template-columns: 80px minmax(0, 1fr) 44px;
    align-items: center;
    gap: 10px;
    padding: 0 12px;
    background: rgba(0,0,0,.38);
}
.nexus-ui .nexus-gallery > header strong {
    overflow: hidden;
    color: #fff;
    font-size: 12px;
    text-align: center;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.nexus-ui .nexus-gallery > header button,
.nexus-ui .gallery-nav {
    color: #fff;
    background: transparent;
    border: 0;
    font-size: 32px;
}
.nexus-ui .nexus-gallery > header button { justify-self: end; }
.nexus-ui .gallery-stage {
    min-width: 0;
    min-height: 0;
    display: grid;
    place-items: center;
    overflow: hidden;
    touch-action: none;
}
.nexus-ui .gallery-stage img {
    width: auto;
    height: auto;
    max-width: none;
    max-height: none;
    object-fit: contain;
    transform-origin: center;
    cursor: grab;
    user-select: none;
}
.nexus-ui .gallery-nav:disabled { opacity: .25; }
.nexus-ui .nexus-gallery > footer {
    grid-column: 1 / -1;
    display: grid;
    place-items: center;
    color: #aeb8bd;
    font-size: 10px;
}
.nexus-ui .notification-row { grid-template-columns: 142px minmax(210px, .8fr) minmax(300px, 1.4fr) minmax(180px, .7fr) 168px; }
.nexus-ui .notification-actions {
    min-height: 32px;
    display: flex;
    align-items: center;
    gap: 5px;
    overflow: visible;
}
.nexus-ui .notification-actions form { display: inline-flex; }
.nexus-ui .notification-actions .button { white-space: nowrap; }
.nexus-ui .invoice-compact-head,
.nexus-ui .invoice-compact-row {
    min-width: 1160px;
    display: grid;
    grid-template-columns: minmax(180px, 1.15fr) 86px 104px 112px 105px 112px 115px minmax(190px, 1.35fr);
    align-items: center;
    gap: 10px;
}
.nexus-ui .invoice-compact-head {
    padding: 6px 12px;
    color: var(--ui-muted);
    background: var(--ui-surface-subtle);
    border-bottom: 1px solid var(--ui-border);
    font-size: 9px;
    text-transform: uppercase;
}
.nexus-ui .invoice-compact-list { overflow-x: auto; }
.nexus-ui .invoice-compact-row {
    position: relative;
    min-height: 43px;
    padding: 5px 12px;
    color: var(--ui-text);
    border-bottom: 1px solid var(--ui-border);
}
.nexus-ui .invoice-compact-row.is-paid { background: var(--ui-success-soft); }
.nexus-ui .invoice-compact-row.is-future { background: var(--ui-warning-soft); }
.nexus-ui .invoice-compact-row.is-overdue { background: var(--ui-danger-soft); }
.nexus-ui .invoice-compact-row > * {
    min-width: 0;
    margin: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: 10px;
}
.nexus-ui .invoice-compact-row strong,
.nexus-ui .invoice-compact-row small {
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.nexus-ui .invoice-compact-row b { font-size: 11px; }
.nexus-ui .invoice-compact-row em {
    width: max-content;
    padding: 2px 7px;
    color: #95610b;
    background: #fff;
    border-radius: 9px;
    font-style: normal;
    font-weight: 700;
}
.nexus-ui .invoice-compact-row.is-paid em { color: #0d7548; }
.nexus-ui .invoice-compact-row.is-overdue em { color: #a82b28; }
.nexus-ui .invoice-items { color: var(--ui-muted); }
.nexus-ui .bank-search-form {
    grid-template-columns: minmax(300px, 1fr) 176px 176px minmax(80px, auto);
    align-items: center;
    padding: 9px 12px;
}
.nexus-ui .bank-search-form input { min-height: 36px; }
.nexus-ui .bank-date-filter {
    min-width: 0;
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    align-items: center;
    gap: 8px;
}
.nexus-ui .bank-date-filter > span {
    color: var(--ui-text);
    font-size: 10.5px;
    font-weight: 700;
}
.nexus-ui .bank-date-filter > input { margin-top: 0; }
.nexus-ui .bank-filter-state {
    align-self: center;
    min-height: 18px;
    color: var(--ui-muted);
    font-size: 10px;
    text-align: right;
}
.nexus-ui .bank-filter-state.is-loading::after { content: "Načítám…"; }
.nexus-ui .bank-bulk-toolbar {
    min-height: 38px;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 10px;
    padding: 4px 12px;
    background: #f6f8f9;
    border-top: 1px solid var(--ui-border);
}
.nexus-ui .bank-bulk-toolbar > span { color: var(--ui-muted); font-size: 10px; }
.nexus-ui .bank-bulk-toolbar .button { width: auto; }
.nexus-ui .bank-scroll-region {
    max-height: 620px;
    overflow: auto;
    border-top: 1px solid var(--ui-border);
}
.nexus-ui .bank-table-head {
    min-width: 1192px;
    display: grid;
    grid-template-columns: 28px 88px minmax(145px, .9fr) 76px minmax(170px, 1.1fr) 112px 118px minmax(130px, .8fr) 132px;
    gap: 9px;
}
.nexus-ui .bank-movements article {
    min-width: 1192px;
    display: grid;
    grid-template-columns: 28px 88px minmax(145px, .9fr) 76px minmax(170px, 1.1fr) 112px 118px minmax(130px, .8fr) 132px;
    align-items: center;
    gap: 9px;
}
.nexus-ui .bank-table-head {
    position: sticky;
    z-index: 4;
    top: 0;
    color: var(--ui-soft);
    background: #f6f8f9;
    border-bottom: 1px solid var(--ui-border);
    font-size: 9px;
    text-transform: uppercase;
}
.nexus-ui .bank-movements { min-width: 1192px; }
.nexus-ui .bank-month-group {
    margin: 0;
    padding: 0;
    border: 0;
}
.nexus-ui .bank-month-group > h3 {
    position: sticky;
    z-index: 3;
    min-height: 29px;
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 0;
    padding: 4px 12px;
    color: var(--ui-text);
    background: #e8edef;
    border-block: 1px solid var(--ui-border-strong);
    font-size: 11px;
    text-transform: capitalize;
}
.nexus-ui .bank-month-group > h3 span {
    color: var(--ui-muted);
    font-size: 9px;
    font-weight: 500;
}
.nexus-ui .bank-movements article {
    position: relative;
    min-height: 40px;
    padding: 4px 12px;
    background: #fff !important;
    border: 0 !important;
    border-bottom: 1px solid var(--ui-border) !important;
    box-shadow: none !important;
    opacity: 1;
}
.nexus-ui .bank-movements article.is-voided,
.nexus-ui .bank-movements article.is-ignored {
    background: #f8faf9 !important;
    opacity: .68;
}
.nexus-ui .bank-movements article > * {
    min-width: 0;
    margin: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: 10px;
}
.nexus-ui .bank-movements article > b { text-align: right; font-size: 11px; }
.nexus-ui .bank-select-cell { display: grid; place-items: center; }
.nexus-ui .bank-select-cell input,
.nexus-ui .bank-table-head input {
    width: 15px;
    height: 15px;
    margin: 0;
    display: block;
}
.nexus-ui .bank-match-tag {
    width: max-content;
    max-width: 100%;
    padding: 2px 6px;
    color: var(--ui-muted);
    background: #eef1f2;
    border-radius: 8px;
}
.nexus-ui .bank-match-tag.is-matched { color: #0d7548; background: var(--ui-success-soft); }
.nexus-ui .bank-match-tag.is-reviewed { color: #0d7548; background: var(--ui-success-soft); }
.nexus-ui .bank-match-tag.is-pending { color: #95610b; background: var(--ui-warning-soft); }
.nexus-ui .bank-match-tag.is-error { color: #a82b28; background: var(--ui-danger-soft); }
.nexus-ui .bank-row-actions { overflow: visible !important; }
.nexus-ui .bank-review-icon.icon-indicator { cursor: default; }
.nexus-ui button.bank-review-icon { cursor: pointer; }
.nexus-ui .bank-review-icon.is-pending { color: var(--ui-warning); }
.nexus-ui button.bank-review-icon.is-pending:hover { color: #fff; background: var(--ui-warning); }
.nexus-ui .bank-review-icon.is-complete { color: var(--ui-success); }
.nexus-ui .bank-correction > summary {
    width: 30px;
    height: 30px;
    display: grid;
    place-items: center;
    padding: 0;
    list-style: none;
}
.nexus-ui .bank-correction > summary::-webkit-details-marker { display: none; }
.nexus-ui .bank-row-detail-panel {
    grid-column: 1 / -1;
    display: grid;
    grid-template-columns: 100px minmax(0, 1fr);
    gap: 5px 10px;
    padding: 7px 8px 5px;
    white-space: normal !important;
    background: var(--ui-surface-subtle);
    border-radius: var(--ui-radius-xs);
}
.nexus-ui .bank-row-detail-panel[hidden] { display: none; }
.nexus-ui .bank-row-detail-panel span { color: var(--ui-muted); }
.nexus-ui .bank-history-footer {
    min-height: 48px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    padding: 8px 12px;
    border-top: 1px solid var(--ui-border);
}
.nexus-ui .bank-history-footer > span { color: var(--ui-muted); font-size: 10px; }
.nexus-ui .network-summary {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 9px;
    margin-bottom: 12px;
}
.nexus-ui .network-summary > div {
    min-height: 68px;
    display: grid;
    align-content: center;
    gap: 2px;
    padding: 10px 13px;
    background: #fff;
    border: 1px solid var(--ui-border);
    border-radius: var(--ui-radius-md);
}
.nexus-ui .network-summary span { color: var(--ui-muted); font-size: 10px; }
.nexus-ui .network-summary strong { overflow-wrap: anywhere; font-size: 14px; }
.nexus-ui .network-change-row {
    position: relative;
    min-width: 0;
    display: grid;
    align-items: center;
    gap: 10px;
    min-height: 58px;
    padding: 7px 11px;
    background: var(--ui-warning-soft);
    border-bottom: 1px solid var(--ui-border);
}
.nexus-ui .network-change-row.state-executing { background: #edf6ff; }
.nexus-ui .network-change-row.state-completed { background: var(--ui-success-soft); }
.nexus-ui .network-change-row.state-failed { background: var(--ui-danger-soft); }
.nexus-ui .network-change-row.state-review { background: var(--ui-danger-soft); box-shadow: inset 4px 0 0 var(--ui-danger); }
.nexus-ui .network-change-row.state-cancelled { background: #f0f2f3; }
.nexus-ui .network-change-row.state-scheduled { background: #edf6ff; }
.nexus-ui .network-change-row > div > span,
.nexus-ui .network-change-row small {
    display: block;
    color: var(--ui-muted);
    font-size: 9px;
}
.nexus-ui .network-change-row strong { font-size: 11px; }
.nexus-ui .network-change-main strong { font-size: 12px; }
.nexus-ui .network-change-values strong {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 5px;
}
.nexus-ui .network-change-values s { color: var(--ui-muted); font-weight: 500; }
.nexus-ui .network-change-values ins { color: var(--ui-text); text-decoration: none; }
.nexus-ui .network-change-values b { color: var(--ui-muted); }
.nexus-ui .network-row-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 5px;
}
.nexus-ui .network-row-actions form { display: inline-flex; }
.nexus-ui .network-state-tag {
    width: max-content;
    padding: 2px 6px;
    border-radius: 8px;
    background: #eef1f2;
}
.nexus-ui .network-state-tag.state-completed { color: #0d7548; background: var(--ui-success-soft); }
.nexus-ui .network-state-tag.state-failed { color: #a82b28; background: var(--ui-danger-soft); }
.nexus-ui .network-state-tag.state-review { color: #a82b28; background: var(--ui-danger-soft); }
.nexus-ui .network-state-tag.state-proposed { color: #9b650b; background: var(--ui-warning-soft); }
.nexus-ui .network-change-detail { grid-column: 1 / -1; }
.nexus-ui .network-change-detail > summary {
    width: max-content;
    color: var(--ui-muted);
    cursor: pointer;
    font-size: 9px;
}
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 7px;
    margin: 7px 0 3px;
    padding: 8px;
    background: var(--ui-surface-subtle);
    border-radius: var(--ui-radius-sm);
}
    margin: 2px 0 0;
    overflow-wrap: anywhere;
    font-size: 10px;
}
.nexus-ui .network-change-row > details[data-modal-editor] { display: none; }
.nexus-ui .network-confirm {
    display: grid;
    gap: 0;
    border: 1px solid var(--ui-border);
    border-radius: var(--ui-radius-sm);
}
.nexus-ui .network-confirm > div {
    display: grid;
    grid-template-columns: 145px minmax(0, 1fr);
    gap: 10px;
    padding: 8px 10px;
    border-bottom: 1px solid var(--ui-border);
}
.nexus-ui .network-confirm > div:last-child { border-bottom: 0; }
.nexus-ui .network-confirm span { color: var(--ui-muted); font-size: 10px; }
.nexus-ui .tile-order-token { display: none; }
.nexus-ui .tile-order-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 7px;
}
.nexus-ui .system-tile-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(235px, 1fr));
    gap: 12px;
    padding: 14px;
}
.nexus-ui .system-tile {
    position: relative;
    min-width: 0;
    overflow: hidden;
    background: #fff;
    border: 1px solid var(--ui-border-strong);
    border-radius: var(--ui-radius-md);
    box-shadow: 0 4px 15px rgba(28, 37, 41, .08);
    transition: border-color .16s ease, box-shadow .16s ease, transform .16s ease, opacity .16s ease;
}
.nexus-ui .system-tile::before {
    content: "";
    position: absolute;
    z-index: 2;
    inset: 0 auto 0 0;
    width: 6px;
    background: #8c989d;
}
.nexus-ui .system-tile.system-status-online::before { background: var(--ui-success); }
.nexus-ui .system-tile.system-status-warning::before { background: #e49a12; }
.nexus-ui .system-tile.system-status-offline::before { background: var(--ui-danger); }
.nexus-ui .system-tile.system-status-disabled::before { background: #68757a; }
.nexus-ui .system-tile:hover {
    border-color: #aeb8bd;
    box-shadow: 0 7px 20px rgba(28, 37, 41, .12);
    transform: translateY(-1px);
}
.nexus-ui .system-tile > :is(a, .system-tile-unavailable) {
    min-height: 92px;
    display: grid;
    grid-template-columns: 42px minmax(0, 1fr);
    align-items: center;
    gap: 11px;
    padding: 14px 14px 14px 18px;
    color: var(--ui-text);
}
.nexus-ui .system-tile-unavailable { opacity: .64; cursor: not-allowed; }
.nexus-ui .system-tile .service-icon {
    width: 42px;
    height: 42px;
    border-radius: var(--ui-radius-md);
}
.nexus-ui .system-tile-copy { min-width: 0; }
.nexus-ui .system-tile-copy strong,
.nexus-ui .system-tile-copy small,
.nexus-ui .system-tile-copy em {
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.nexus-ui .system-tile-copy strong { font-size: 13px; }
.nexus-ui .system-tile-copy small { margin-top: 2px; }
.nexus-ui .system-tile-copy em {
    margin-top: 5px;
    color: var(--ui-soft);
    font-size: 9.5px;
    font-style: normal;
}
.nexus-ui .tile-drag-handle {
    position: absolute;
    z-index: 3;
    top: 7px;
    right: 7px;
    width: 30px;
    height: 30px;
    display: grid;
    place-items: center;
    padding: 0;
    color: var(--ui-muted);
    background: #fff;
    border: 1px solid var(--ui-border-strong);
    border-radius: var(--ui-radius-sm);
    cursor: grab;
}
.nexus-ui .tile-drag-handle[hidden] { display: none; }
.nexus-ui .tile-drag-handle:active { cursor: grabbing; }
.nexus-ui .system-overview-panel.is-ordering .system-tile { border-style: dashed; cursor: grab; }
.nexus-ui .system-overview-panel.is-ordering .system-tile > :is(a, .system-tile-unavailable) { padding-right: 48px; pointer-events: none; }
.nexus-ui .system-overview-panel.is-ordering .system-tile.is-dragging { opacity: .42; transform: scale(.985); }
.nexus-ui .directory-table {
    overflow-x: auto;
}
.nexus-ui .directory-name {
    min-width: 0;
    display: flex;
    align-items: center;
    gap: 9px;
}
.nexus-ui .directory-name .service-icon {
    flex: 0 0 auto;
    width: 30px;
    height: 30px;
    border-radius: var(--ui-radius-sm);
}
.nexus-ui .directory-name > span { min-width: 0; }
.nexus-ui .directory-name strong,
.nexus-ui .directory-name small {
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.nexus-ui .directory-sort {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    color: inherit;
}
.nexus-ui .directory-sort:hover,
.nexus-ui .directory-sort.active {
    color: var(--ui-brand);
}
.nexus-ui #infrastructure-device-results { transition: opacity .12s ease; }
.nexus-ui #infrastructure-device-results.is-loading { opacity: .56; }
.nexus-ui .flat-device-table { min-width: 1180px; }
.nexus-ui .flat-device-table th:nth-child(1),
.nexus-ui .flat-device-table td:nth-child(1) {
    width: 132px;
}
.nexus-ui .flat-device-table th:nth-child(2),
.nexus-ui .flat-device-table td:nth-child(2) {
    width: 180px;
}
.nexus-ui .flat-device-table th:nth-child(3),
.nexus-ui .flat-device-table td:nth-child(3) {
    width: 160px;
}
.nexus-ui .flat-device-table th:nth-child(4),
.nexus-ui .flat-device-table td:nth-child(4) {
    width: 190px;
}
.nexus-ui .flat-device-table th:nth-child(5),
.nexus-ui .flat-device-table td:nth-child(5) {
    width: 145px;
}
.nexus-ui .flat-device-table th:nth-child(7),
.nexus-ui .flat-device-table td:nth-child(7) {
    width: 120px;
}
.nexus-ui .flat-device-table th:nth-child(8),
.nexus-ui .flat-device-table td:nth-child(8) {
    width: 78px;
}
.nexus-ui .flat-device-table td { height: 48px; vertical-align: middle; }
.nexus-ui .flat-device-table td strong,
.nexus-ui .flat-device-table td small {
    display: block;
}
.nexus-ui .flat-device-table .device-note {
    overflow: hidden;
    color: var(--ui-muted);
    text-overflow: ellipsis;
    white-space: nowrap;
}
.nexus-ui .flat-device-table .table-actions { display: table-cell; white-space: nowrap; }
.nexus-ui .flat-device-table .table-actions .icon-action { width: 28px; height: 28px; }
.nexus-ui .panel-actions {
    min-height: 58px;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    flex-wrap: wrap;
    gap: 8px;
    padding: 10px var(--ui-panel-inline);
    background: var(--ui-surface-subtle);
    border-top: 1px solid var(--ui-border);
}
.nexus-ui .form-section > .panel-actions:last-child { border-radius: 0 0 var(--ui-radius-lg) var(--ui-radius-lg); }
.nexus-ui .settings-bank-workspace {
    display: grid;
    grid-template-columns: minmax(560px, 1.45fr) minmax(390px, .9fr);
    align-items: stretch;
    gap: 12px;
}
.nexus-ui .settings-bank-main { max-width: none; min-width: 0; }
.nexus-ui .settings-bank-main > .panel { height: 100%; }
.nexus-ui .settings-bank-side {
    min-width: 0;
    display: grid;
    grid-template-rows: auto 1fr;
    gap: 12px;
}
.nexus-ui .settings-bank-side > .panel { min-width: 0; margin: 0; }
.nexus-ui .settings-bank-side .fact-list { padding-block: 10px; }
.nexus-ui .settings-bank-side .form-grid { padding-block: 12px; }
.nexus-ui .bank-sync-history { margin-top: 12px; }
.nexus-ui .catalog-group-title .icon-action,
.nexus-ui .catalog-edit-row .icon-action,
.nexus-ui .template-summary-actions .icon-action {
    min-width: 32px;
    min-height: 32px;
    color: var(--ui-muted);
    background: var(--ui-surface);
    border: 1px solid var(--ui-border);
    border-radius: var(--ui-radius-sm);
}
.nexus-ui .catalog-group-title .icon-action:hover,
.nexus-ui .catalog-edit-row .icon-action:hover,
.nexus-ui .template-summary-actions .icon-action:hover {
    color: var(--ui-text);
    background: var(--ui-surface-hover);
    border-color: var(--ui-border-strong);
}
.nexus-ui .catalog-group-title .icon-action.danger:hover,
.nexus-ui .catalog-edit-row .icon-action.danger:hover {
    color: var(--ui-danger);
    background: var(--ui-danger-soft);
}
.nexus-ui .table-preference-token { display: none; }
.nexus-ui [data-device-columns] { overflow: auto; }
.nexus-ui .flat-device-table { table-layout: fixed; }
.nexus-ui .flat-device-table th[data-column] { position: relative; user-select: none; }
.nexus-ui .flat-device-table th[draggable="true"] { cursor: grab; }
.nexus-ui .flat-device-table th.is-dragging { opacity: .45; }
.nexus-ui .flat-device-table th.is-resizing { cursor: col-resize; }
.nexus-ui .column-resizer {
    position: absolute;
    z-index: 2;
    top: 0;
    right: -4px;
    bottom: 0;
    width: 9px;
    cursor: col-resize;
    touch-action: none;
}
.nexus-ui .column-resizer::after {
    content: "";
    position: absolute;
    top: 22%;
    right: 4px;
    bottom: 22%;
    width: 1px;
    background: var(--ui-border);
}
.nexus-ui .column-resizer:hover::after,
.nexus-ui th.is-resizing .column-resizer::after {
    width: 2px;
    background: var(--ui-brand);
}
.nexus-ui .flat-device-table .device-ip code { font: inherit; font-weight: 800; }
.nexus-ui .infrastructure-tree-page .panel-note {
    margin: 0;
    padding: 12px 18px;
    border-bottom: 1px solid var(--ui-border);
}
.nexus-ui .tree-page-list { padding: 14px 18px 22px; }
.nexus-ui .tree-page-list .tree-node { margin: 2px 0; }
.nexus-ui .tree-page-list .tree-node > summary {
    min-height: 46px;
    grid-template-columns: 18px 30px minmax(0, 1fr) 34px;
    gap: 10px;
    padding: 4px 10px;
}
.nexus-ui .tree-page-list .tree-content {
    position: relative;
    margin-left: 20px;
    padding: 1px 0 1px 30px;
    border-left: 2px solid #c5d0d5;
}
.nexus-ui .tree-page-list .tree-content > .tree-node,
.nexus-ui .tree-page-list .tree-content > .tree-device {
    position: relative;
    margin: 3px 0;
}
.nexus-ui .tree-page-list .tree-content > .tree-node::before,
.nexus-ui .tree-page-list .tree-content > .tree-device::before {
    content: "";
    position: absolute;
    left: -30px;
    top: 23px;
    width: 26px;
    border-top: 2px solid #c5d0d5;
}
.nexus-ui .tree-page-list .tree-content > :last-child::after {
    content: "";
    position: absolute;
    left: -32px;
    top: 25px;
    bottom: -8px;
    width: 4px;
    background: var(--ui-surface);
}
.nexus-ui .tree-page-list .tree-device {
    min-height: 40px;
    display: grid;
    grid-template-columns: 10px minmax(0, 1fr) 28px;
    align-items: center;
    gap: 10px;
    padding: 4px 9px;
    border-radius: var(--ui-radius-sm);
}
.nexus-ui .tree-page-list .tree-device:hover { background: var(--ui-surface-hover); }
.nexus-ui .flat-device-table tr[data-row-href] { cursor: pointer; }
.nexus-ui .flat-device-table tr[data-row-href]:focus-visible { outline: 2px solid var(--ui-brand); outline-offset: -2px; }
.nexus-ui .flat-device-table .device-name { font-size: inherit; font-weight: 500; }
.nexus-ui .flat-device-table .table-actions form { display: inline-flex; }
.nexus-ui .lifecycle-label {
    width: max-content;
    display: inline-flex;
    padding: 2px 7px;
    border-radius: 999px;
    color: #176848;
    background: #e8f6ef;
    font-size: 9.5px;
    font-weight: 700;
}
.nexus-ui .lifecycle-retired { color: #667177; background: #edf0f1; }
.nexus-ui .infrastructure-device-table .health-row.health-retired > td:first-child { border-left-color: #9aa4a8; }
.nexus-ui .operational-note-body.is-expanded p {
    margin: 0;
    white-space: pre-wrap;
    overflow-wrap: anywhere;
    font-size: 12px;
    line-height: 1.55;
}
.nexus-ui .interface-inventory-table td { height: 43px; padding-block: 5px; }
.nexus-ui .interface-inventory-table td small { margin-top: 1px; line-height: 1.25; }
.nexus-ui .interface-live-indicator { max-width: min(420px, 44vw); gap: 4px; white-space: nowrap; }
.nexus-ui .interface-live-indicator .status-dot { width: 7px; height: 7px; flex: 0 0 7px; }
.nexus-ui .interface-live-indicator > span:last-child { overflow: hidden; text-overflow: ellipsis; }
.nexus-ui .bridge-evidence-note { color: var(--ui-muted); font-size: 10px; font-style: italic; font-weight: 500; line-height: 1.3; }
.nexus-ui .interface-comment { display: flex !important; align-items: flex-start; gap: 5px; min-width: 0; color: var(--ui-muted); }
.nexus-ui .interface-comment .ui-icon { width: 13px; height: 13px; flex: 0 0 13px; margin-top: 1px; opacity: .75; }
.nexus-ui .interface-comment > span:last-child { min-width: 0; overflow-wrap: anywhere; }
.nexus-ui .link-endpoint-telemetry { display: block; margin-top: 5px; color: var(--ui-muted); font-size: 12px; line-height: 1.35; overflow-wrap: anywhere; }
.nexus-ui .link-endpoint-telemetry.is-stale { opacity: .72; }
.nexus-ui .link-operational-telemetry { display: block; margin-top: 3px; color: #356a55; font-size: 11px; line-height: 1.35; overflow-wrap: anywhere; }
.nexus-ui .link-operational-telemetry.is-stale { color: var(--ui-muted); }
.nexus-ui .link-endpoint-telemetry em,
.nexus-ui .link-operational-telemetry em,
.nexus-ui .link-speed-mismatch em { margin-left: 5px; color: #9a5b18; font-size: 10px; font-style: normal; font-weight: 700; text-transform: uppercase; letter-spacing: .035em; }
.nexus-ui .link-speed-mismatch { color: #9a5b18; }
.nexus-ui .interface-editor-form input[readonly],
.nexus-ui .interface-editor-form select:disabled { color: #66737b; border-color: #d9e0e4; background: #eef2f4; cursor: not-allowed; opacity: 1; }
.nexus-ui .device-overview-cards {
    min-width: 0;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
}
.nexus-ui .device-fact-card { min-width: 0; margin: 0; }
.nexus-ui .device-fact-card .panel-head { min-height: var(--ui-content-header-height); }
.nexus-ui .device-fact-card .fact-list { padding-block: 8px 12px; }
.nexus-ui .detached-editors > details:not([open]) { display: none; }
.nexus-ui .device-monitoring-layout {
    display: grid;
    grid-template-columns: minmax(0, 3fr) minmax(230px, 1fr);
    justify-content: start;
    align-items: start;
    gap: 14px;
}
.nexus-ui .device-monitoring-layout > .panel { min-width: 0; margin: 0; }
.nexus-ui .monitoring-settings { min-width: 0; display: flex; flex-direction: column; overflow: hidden; }
.nexus-ui .monitoring-settings .fact-list { flex: 1; }
.nexus-ui .monitoring-inventory { align-self: start; overflow: hidden; }
.nexus-ui .location-filter { grid-template-columns: minmax(260px, 1fr) auto; }
.nexus-ui .location-list { display: grid; }
.nexus-ui .location-row {
    min-width: 0;
    display: grid;
    align-items: center;
    gap: 12px;
    padding: 6px 14px;
}
.nexus-ui .location-row strong,
.nexus-ui .location-row small {
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.nexus-ui .location-row small,
.nexus-ui .location-counts {
    color: var(--ui-muted);
    font-size: 10px;
}
.nexus-ui .location-counts { display: grid; gap: 2px; }
.nexus-ui .location-sort {
    min-width: 0;
    display: grid;
    color: var(--ui-muted);
    font-size: 9px;
}
.nexus-ui .location-sort input[type="number"] { padding: 4px 7px; }
.nexus-ui .panel-stack { display: grid; }
.nexus-ui .panel-stack > .panel,
.nexus-ui .panel-stack > form.panel {
    margin: 0;
}
@media (max-width: 1050px) {
    .nexus-ui .device-overview-cards { grid-template-columns: 1fr; }
    .nexus-ui .location-row { grid-template-columns: minmax(180px, 1fr) auto minmax(180px, 1fr) 72px auto; }
    .nexus-ui .location-counts { display: none; }
}
.nexus-ui .price-list-products {
    display: grid;
    gap: 12px;
    padding: 14px;
}
.nexus-ui .price-list-group.is-dragging,
.nexus-ui .price-category-order-list > article.is-dragging {
    opacity: .48;
}
.nexus-ui .price-category-tools {
    display: flex;
    align-items: center;
    gap: 9px;
}
.nexus-ui .price-category-tools label {
    display: flex;
    align-items: center;
    gap: 5px;
    color: var(--ui-muted);
    font-size: 9px;
}
.nexus-ui .price-category-tools input[type="number"] {
    width: 66px;
    min-height: 30px;
    padding: 4px 7px;
}
.nexus-ui .price-category-drag { color: var(--ui-muted); cursor: grab; }
.nexus-ui .price-category-order-list {
    display: grid;
    gap: 1px;
    background: var(--ui-border);
}
.nexus-ui .price-category-order-list > article {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: 10px;
    min-height: 46px;
    padding: 7px 14px;
    background: #fff;
}
.nexus-ui .price-category-order-list label {
    display: flex;
    align-items: center;
    gap: 6px;
    color: var(--ui-muted);
    font-size: 9px;
}
.nexus-ui .price-category-order-list input[type="number"] {
    width: 70px;
    min-height: 30px;
    padding: 4px 7px;
}
.nexus-ui .price-list-product {
    overflow: hidden;
    border: 1px solid var(--ui-border);
    border-radius: var(--ui-radius-md);
    background: #fff;
}
.nexus-ui .price-list-product > header {
    min-height: 88px;
    padding: 16px;
    background: var(--ui-surface-subtle);
}
.nexus-ui .price-list-product > header strong { font-size: 17px; }
.nexus-ui .price-list-product > header p {
    margin: 5px 0 0;
    color: var(--ui-muted);
    font-size: 11px;
    line-height: 1.45;
}
.nexus-ui .price-list-product > div > section {
    display: grid;
    align-items: center;
    gap: 14px;
    padding: 11px 14px;
    border-top: 1px solid var(--ui-border);
}
.nexus-ui .price-list-product section strong,
.nexus-ui .price-list-product section small {
    display: block;
}
.nexus-ui .price-list-product section small {
    margin-top: 2px;
    color: var(--ui-muted);
    font-size: 10px;
}
.nexus-ui .price-list-product section b { color: var(--ui-text-strong); white-space: nowrap; }
.nexus-ui .channel-health {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 6px;
}
.nexus-ui .automation-template-list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    padding: 14px;
    background: #f4f7f8;
}
.nexus-ui .automation-template-list > article {
    min-width: 0;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    min-height: 112px;
    padding: 0;
    background: #fff;
}
.nexus-ui .automation-template-list strong,
.nexus-ui .automation-template-list small {
    display: block;
}
.nexus-ui .automation-template-list small {
    margin-top: 3px;
    color: var(--ui-muted);
    font-size: 10px;
    line-height: 1.35;
}
.nexus-ui .template-channel-badges {
    flex: 0 0 auto;
    display: flex;
    gap: 4px;
}
.nexus-ui .naming-rule-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
    padding: 14px;
}
.nexus-ui .naming-rule-grid article {
    min-width: 0;
    padding: 14px;
    background: var(--ui-surface-subtle);
    border: 1px solid var(--ui-border);
    border-radius: var(--ui-radius-md);
}
.nexus-ui .naming-rule-grid article > span {
    display: block;
    color: var(--ui-muted);
    font-size: 9px;
    font-weight: 800;
    text-transform: uppercase;
}
.nexus-ui .naming-rule-grid article > strong {
    display: block;
    margin-top: 6px;
    font-size: 15px;
}
.nexus-ui .naming-rule-grid article p {
    margin: 7px 0 0;
    color: var(--ui-muted);
    font-size: 11px;
    line-height: 1.5;
}
.nexus-ui .naming-examples {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 7px;
    margin: 0 14px 14px;
    padding: 10px 12px;
    background: #fff;
    border: 1px solid var(--ui-border);
    border-radius: var(--ui-radius-sm);
}
.nexus-ui .naming-examples > span {
    color: var(--ui-success);
    font-size: 9px;
    font-weight: 800;
    text-transform: uppercase;
}
.nexus-ui .naming-examples > b { color: var(--ui-muted); }
.nexus-ui .naming-generator-panel > form { padding: var(--ui-panel-block) var(--ui-panel-inline); }
.nexus-ui .naming-rule-panel > form { padding: var(--ui-panel-block) var(--ui-panel-inline); }
.nexus-ui .naming-generator-result {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--ui-space-3);
    padding: var(--ui-space-3);
    background: #f3f8f6;
    border: 1px solid #b8d9ca;
    border-radius: var(--ui-radius-md);
}
.nexus-ui .naming-generator-result[data-available="false"] { background: #fff3f2; border-color: #efb8b5; }
.nexus-ui .naming-generator-result > strong { grid-column: 1 / -1; }
.nexus-ui .naming-result-field { min-width: 0; }
.nexus-ui .naming-generator-result input {
    min-width: 0;
    font-family: ui-monospace, SFMono-Regular, Consolas, monospace;
    font-weight: 750;
}
.nexus-ui .naming-location-list {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(230px, 1fr));
    gap: 1px;
    padding: 1px;
    background: var(--ui-border);
}
.nexus-ui .naming-location-list > div {
    min-width: 0;
    display: grid;
    grid-template-columns: 42px minmax(0, 1fr);
    align-items: center;
    gap: 8px;
    padding: 10px 14px;
    background: #fff;
}
.nexus-ui .naming-location-list code {
    grid-row: span 2;
    color: var(--ui-brand);
    font-weight: 850;
}
.nexus-ui .naming-location-list strong,
.nexus-ui .naming-location-list span {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.nexus-ui .naming-location-list span { color: var(--ui-muted); font-size: 9px; }
.nexus-ui .naming-code-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(190px, 1fr));
    gap: 1px;
    background: var(--ui-border);
}
.nexus-ui .naming-code-grid article {
    min-width: 0;
    display: grid;
    grid-template-columns: 68px minmax(0, 1fr);
    align-items: center;
    gap: 10px;
    min-height: 45px;
    padding: 8px 14px;
    background: #fff;
}
.nexus-ui .naming-code-grid code {
    color: var(--ui-brand);
    font-size: 12px;
    font-weight: 800;
}
.nexus-ui .naming-code-grid span { font-size: 11px; }
.nexus-ui .naming-checklist {
    display: grid;
    gap: 0;
    margin: 0;
    padding: 0 14px;
    list-style: none;
    counter-reset: naming-step;
}
.nexus-ui .naming-checklist li {
    counter-increment: naming-step;
    display: grid;
    grid-template-columns: 28px 190px minmax(0, 1fr);
    align-items: center;
    gap: 10px;
    min-height: 48px;
    border-bottom: 1px solid var(--ui-border);
}
.nexus-ui .naming-checklist li::before {
    content: counter(naming-step);
    width: 24px;
    height: 24px;
    display: grid;
    place-items: center;
    color: #fff;
    background: var(--ui-brand);
    border-radius: 50%;
    font-size: 10px;
    font-weight: 800;
}
.nexus-ui .naming-checklist span { color: var(--ui-muted); font-size: 11px; }
.nexus-ui .custom-dashboard-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    grid-auto-flow: row;
    grid-auto-rows: minmax(250px, auto);
    gap: 14px;
}
.nexus-ui .dashboard-widget {
    min-width: 0;
    min-height: 0;
    margin: 0;
}
.nexus-ui .dashboard-widget[data-width="2"] { grid-column: span 2; }
.nexus-ui .dashboard-widget[data-width="3"] { grid-column: span 3; }
.nexus-ui .dashboard-widget[data-width="4"] { grid-column: span 4; }
.nexus-ui .dashboard-widget[data-height="2"] { grid-row: span 2; }
.nexus-ui .dashboard-widget[data-visible="false"] { display: none; }
.nexus-ui .custom-dashboard-grid.is-editing .dashboard-widget[data-visible="false"] { display: block; opacity: .45; }
.nexus-ui .dashboard-widget-tools {
    display: none;
    align-items: center;
    gap: 3px;
}
.nexus-ui .dashboard-widget-tools button {
    width: var(--ui-action-height);
    height: var(--ui-action-height);
    padding: 0;
    color: var(--ui-muted);
    background: #fff;
    border: 1px solid var(--ui-border);
    border-radius: 5px;
    cursor: pointer;
}
.nexus-ui .custom-dashboard-grid.is-editing .dashboard-widget-tools { display: flex; }
.nexus-ui .custom-dashboard-grid.is-editing .dashboard-widget { outline: 1px dashed var(--ui-brand); cursor: grab; }
.nexus-ui .custom-dashboard-grid .dashboard-widget.is-dragging { opacity: .45; }
.nexus-ui .dashboard-layout-editor {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: var(--ui-space-2);
    margin-bottom: var(--ui-workspace-gap);
    padding: var(--ui-panel-block) var(--ui-panel-inline);
    background: #fff;
    border: 1px solid var(--ui-border);
    border-radius: var(--ui-radius-md);
}
.nexus-ui .dashboard-layout-editor[hidden] { display: none; }
.nexus-ui .dashboard-layout-editor > span {
    flex: 1 1 180px;
    color: var(--ui-muted);
    font: 400 var(--ui-copy-font-size)/var(--ui-copy-line-height) var(--ui-font);
}
@media (max-width: 1100px) {
    .nexus-ui .custom-dashboard-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .nexus-ui .dashboard-widget[data-width="3"], .nexus-ui .dashboard-widget[data-width="4"] { grid-column: span 2; }
}
@media (max-width: 800px) {
    .nexus-ui .custom-dashboard-grid { grid-template-columns: 1fr; }
    .nexus-ui .custom-dashboard-grid > .dashboard-widget { grid-column: span 1; }
}
.nexus-ui .template-channel-groups {
    display: grid;
    gap: 18px;
    padding: 14px;
}
.nexus-ui .template-channel-group {
    min-width: 0;
    padding: 12px;
    background: var(--ui-surface-subtle);
    border: 1px solid var(--ui-border);
    border-radius: var(--ui-radius-md);
}
.nexus-ui .template-channel-group > header { margin-bottom: 10px; }
.nexus-ui .template-channel-group > header h3 { margin: 2px 0 0; font-size: 14px; }
.nexus-ui .record-origin {
    display: inline-flex;
    margin-left: 5px;
    padding: 1px 5px;
    color: #59666c;
    background: #edf1f2;
    border-radius: 999px;
    font-size: 8px;
    font-style: normal;
    font-weight: 700;
}
.nexus-ui .service-editor-layout {
    max-width: none;
    display: grid;
    gap: 0;
    margin-inline: auto;
    overflow: hidden;
    background: var(--ui-surface);
    border: 1px solid var(--ui-border-strong);
    border-radius: var(--ui-radius-lg);
}
.nexus-ui .service-editor-layout > form,
.nexus-ui .service-editor-layout > section {
    min-width: 0;
    margin: 0;
}
.nexus-ui.modal-document .service-editor-layout { border: 0; border-radius: 0; }
.nexus-ui .endpoint-editor-panel > .inline-create { margin: 12px 14px 14px; }
.nexus-ui .editable-endpoints > div { grid-template-columns: minmax(110px, .55fr) minmax(220px, 1.3fr) minmax(180px, 1fr) 100px 72px 84px; }
.nexus-ui .editable-endpoints .record-actions {
    display: flex;
    justify-content: flex-end;
    gap: 5px;
}
.nexus-ui .editable-endpoints .record-actions form { display: contents; }
.nexus-ui .editable-endpoints .icon-action {
    width: 30px;
    min-width: 30px;
    height: 30px;
    min-height: 30px;
}
.nexus-ui .icon-editor-body {
    display: grid;
    grid-template-columns: minmax(180px, .35fr) minmax(320px, 1fr);
    gap: 14px;
    padding: 14px;
}
.nexus-ui .service-icon-current {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 12px;
    background: var(--ui-surface-subtle);
    border: 1px solid var(--ui-border);
    border-radius: var(--ui-radius-md);
}
.nexus-ui .service-icon-current > span {
    color: var(--ui-muted);
    font-size: 11px;
    font-weight: 700;
}
.nexus-ui .service-icon-current .service-icon {
    width: 46px;
    height: 46px;
    margin-left: auto;
}
.nexus-ui .service-icon-current .service-icon img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}
.nexus-ui .icon-upload-form {
    margin: 0;
    padding: 12px;
    border: 1px solid var(--ui-border);
    border-radius: var(--ui-radius-md);
}
.nexus-ui .icon-discovery-status,
.nexus-ui .icon-source-list,
.nexus-ui .icon-candidate-grid {
    grid-column: 1 / -1;
}
.nexus-ui .icon-discovery-status {
    padding: 10px 12px;
    color: var(--ui-muted);
    background: var(--ui-surface-subtle);
    border-left: 3px solid var(--ui-border-strong);
    border-radius: var(--ui-radius-sm);
    font-size: 11.5px;
}
.nexus-ui .icon-candidate-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(210px, 1fr));
    gap: 8px;
}
.nexus-ui .icon-candidate {
    min-width: 0;
    display: grid;
    grid-template-columns: 44px minmax(0, 1fr);
    align-items: center;
    gap: 10px;
    padding: 9px;
    color: var(--ui-text);
    text-align: left;
    background: var(--ui-surface);
    border: 1px solid var(--ui-border);
    border-radius: var(--ui-radius-md);
}
.nexus-ui .icon-candidate:hover { background: var(--ui-surface-hover); border-color: var(--ui-brand); }
.nexus-ui .icon-candidate img {
    width: 42px;
    height: 42px;
    object-fit: contain;
}
.nexus-ui .icon-candidate strong,
.nexus-ui .icon-candidate small {
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.nexus-ui .icon-candidate small {
    margin-top: 3px;
    color: var(--ui-muted);
    font-size: 9px;
}
.nexus-ui .icon-source-list {
    display: grid;
    gap: 1px;
    overflow: hidden;
    background: var(--ui-border);
    border: 1px solid var(--ui-border);
    border-radius: var(--ui-radius-md);
}
.nexus-ui .icon-source-list > div {
    min-width: 0;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 12px;
    padding: 8px 10px;
    background: var(--ui-surface);
    font-size: 10px;
}
.nexus-ui .icon-source-list span {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.nexus-ui .icon-source-list small { color: var(--ui-muted); }
.nexus-ui .live-search-clear { font-size: 20px; line-height: 1; }
@media (max-width: 1050px) {
    .nexus-ui .settings-bank-workspace { grid-template-columns: 1fr; }
    .nexus-ui .settings-bank-side { grid-template-columns: repeat(2, minmax(0, 1fr)); grid-template-rows: none; }
}
@media (max-width: 700px) {
    .nexus-ui .settings-bank-side { grid-template-columns: 1fr; }
    .nexus-ui .icon-editor-body { grid-template-columns: 1fr; }
    .nexus-ui .service-icon-current,
    .nexus-ui .icon-upload-form {
        grid-column: 1;
    }
}
.nexus-ui .database-stat-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
    gap: 10px;
    padding: 14px;
}
.nexus-ui .database-stat-grid > article {
    min-height: 86px;
    display: grid;
    align-content: center;
    gap: 2px;
    padding: 12px 14px;
    background: var(--ui-surface-subtle);
    border: 1px solid var(--ui-border);
    border-radius: var(--ui-radius-md);
}
.nexus-ui .database-stat-grid span,
.nexus-ui .database-stat-grid small {
    color: var(--ui-muted);
}
.nexus-ui .database-stat-grid span { font-size: 10px; font-weight: 650; }
.nexus-ui .database-stat-grid strong { font-size: 20px; font-variant-numeric: tabular-nums; }
.nexus-ui .maintenance-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    padding: 14px;
}
.nexus-ui .maintenance-grid > article {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 10px;
    padding: 14px;
    background: #fff9f8;
    border: 1px solid #e7cecc;
    border-radius: var(--ui-radius-md);
}
.nexus-ui .maintenance-grid > article > div:first-child {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
}
.nexus-ui .maintenance-grid p {
    margin: 0;
    color: var(--ui-muted);
    font-size: 11.5px;
}
.nexus-ui .maintenance-grid form { margin-top: auto; }
.nexus-ui .maintenance-grid code { font-weight: 700; }
.nexus-ui .portal-system-access {
    margin: 0 14px 14px;
    overflow: hidden;
    background: var(--ui-surface-subtle);
    border: 1px solid var(--ui-border);
    border-radius: var(--ui-radius-md);
}
.nexus-ui .portal-system-access > summary {
    min-height: 40px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    padding: 8px 11px;
    cursor: pointer;
    font-size: 11.5px;
    font-weight: 700;
}
.nexus-ui .portal-system-access[open] > summary { border-bottom: 1px solid var(--ui-border); }
.nexus-ui .portal-system-access > form { padding: 12px; }
.nexus-ui .portal-system-checks {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 7px;
}
.nexus-ui .portal-system-checks .check {
    min-height: 48px;
    align-items: center;
    padding: 8px 10px;
    background: #fff;
    border: 1px solid var(--ui-border);
    border-radius: var(--ui-radius-sm);
}
.nexus-ui .portal-system-checks .check > span { min-width: 0; }
.nexus-ui .portal-system-checks strong,
.nexus-ui .portal-system-checks small {
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.nexus-ui .catalog-group-title {
    min-height: 52px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 9px 12px 9px 14px;
    background: var(--ui-panel-head);
    border-bottom: 1px solid var(--ui-border-strong);
}
.nexus-ui .catalog-group-title > span { min-width: 0; }
.nexus-ui .catalog-group-title strong,
.nexus-ui .catalog-group-title small {
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.nexus-ui .catalog-group-title small { margin-top: 2px; }
.nexus-ui .catalog-create-actions {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
    padding: 0 14px 14px;
}
.nexus-ui .catalog-create-actions > details { margin: 0; }
@media (max-width: 1100px) {
    .nexus-ui .ticket-workspace { grid-template-columns: 1fr; }
    .nexus-ui .client-payments-columns { grid-template-columns: 1fr; }
    .nexus-ui .bank-search-form { grid-template-columns: minmax(240px, 1fr) 140px 140px; }
    .nexus-ui .bank-filter-state { grid-column: 1 / -1; text-align: left; }
    .nexus-ui .network-summary { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .nexus-ui .network-change-row { grid-template-columns: minmax(210px, 1fr) repeat(3, minmax(105px, .5fr)); }
    .nexus-ui .network-row-actions { grid-column: 1 / -1; justify-content: flex-start; }
    .nexus-ui .automation-template-list { grid-template-columns: 1fr; }
    .nexus-ui .naming-rule-grid { grid-template-columns: 1fr; }
}
@media (max-width: 700px) {
    .nexus-ui .input-action { grid-template-columns: 1fr; }
    .nexus-ui .financial-summary,
    .nexus-ui .network-summary {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .nexus-ui .request-list > a { grid-template-columns: minmax(0, 1fr) 10px; }
    .nexus-ui .request-list > a time,
    .nexus-ui .request-list > a .status-chip {
        grid-column: 1;
        justify-self: start;
    }
    .nexus-ui .request-row { grid-template-columns: minmax(0, 1fr) 34px; }
    .nexus-ui .chat-bubble { width: 92%; }
    .nexus-ui .nexus-gallery { grid-template-columns: 42px minmax(0, 1fr) 42px; }
    .nexus-ui .nexus-gallery > footer { display: none; }
    .nexus-ui .bank-search-form { grid-template-columns: 1fr 1fr; }
    .nexus-ui .bank-search-query,
    .nexus-ui .bank-filter-state {
        grid-column: 1 / -1;
    }
    .nexus-ui .network-change-row { grid-template-columns: 1fr 1fr; }
    .nexus-ui .network-change-main,
    .nexus-ui .network-row-actions,
    .nexus-ui .network-change-detail {
        grid-column: 1 / -1;
    }
    .nexus-ui .network-change-detail dl { grid-template-columns: 1fr; }
    .nexus-ui .maintenance-grid,
    .nexus-ui .portal-system-checks {
        grid-template-columns: 1fr;
    }
    .nexus-ui .system-tile-grid { grid-template-columns: 1fr; }
    .nexus-ui .tile-order-actions { flex-wrap: wrap; }
    .nexus-ui .location-row { grid-template-columns: minmax(0, 1fr) auto; }
    .nexus-ui .location-row > :not(.location-main):not(.record-actions) { display: none; }
    .nexus-ui .naming-checklist li { grid-template-columns: 28px minmax(0, 1fr); padding-block: 8px; }
    .nexus-ui .naming-checklist li span { grid-column: 2; }
}
.nexus-ui .panel-stack,
.nexus-ui .edit-layout,
.nexus-ui .announcement-compose,
.nexus-ui .announcement-center,
.nexus-ui .price-list-workspace {
    gap: 14px;
}
.nexus-ui .announcement-compose,
.nexus-ui .announcement-center {
    display: grid;
}
.nexus-ui .location-row { grid-template-columns: var(--location-columns); }
.nexus-ui .location-row > :not(.location-main):not(.record-actions) { display: flex; }
.nexus-ui .location-row:hover { background: #f3f7f8; box-shadow: inset 3px 0 #9aabb2; }
.nexus-ui .location-main { display: grid; grid-template-columns: var(--location-indent, 9px) minmax(0, 1fr); }
.nexus-ui .location-path {
    overflow: hidden;
    direction: rtl;
    text-align: left;
    unicode-bidi: plaintext;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.nexus-ui .network-change-list { min-width: 1230px; }
.nexus-ui .network-change-head,
.nexus-ui .network-change-row {
    grid-template-columns: minmax(310px, 1.5fr) 150px minmax(250px, 1fr) 150px 330px;
}
.nexus-ui .network-row-actions { grid-column: auto; justify-content: flex-end; }
.nexus-ui .dashboard-system-tiles { align-content: start; }
.nexus-ui .dashboard-quick-widget[data-height="1"] .dashboard-system-tiles { max-height: 310px; overflow: auto; }
@media (max-width: 1100px) {
    .nexus-ui .location-list { overflow-x: auto; }
}
.nexus-ui .icon-action {
    width: 32px;
    min-width: 32px;
    height: 32px;
    min-height: 32px;
    padding: 0;
}
.nexus-ui .icon-action .ui-icon { width: 16px; height: 16px; }
.nexus-ui .nexus-toast.is-success { background: #16834f; }
.nexus-ui .nexus-toast.is-warning { background: #a76900; }
.nexus-ui .nexus-toast.is-error { background: #b72f2c; }
.nexus-ui .nexus-toast.is-info { background: #286da8; }
.nexus-ui .location-row { min-height: 54px; }
.nexus-ui .location-row > span,
.nexus-ui .location-row > div,
.nexus-ui .location-row > label {
    min-width: 0;
    align-self: center;
}
.nexus-ui .location-row > .tag { justify-self: start; }
.nexus-ui .location-row .record-actions,
.nexus-ui .directory-table .record-actions {
    display: flex;
    flex-flow: row nowrap;
    align-items: center;
    justify-content: flex-end;
    gap: 5px;
}
.nexus-ui .location-row .record-actions form,
.nexus-ui .directory-table .record-actions form {
    display: inline-flex;
    margin: 0;
}
.nexus-ui .naming-code-editor {
    gap: var(--ui-space-2);
    padding: var(--ui-panel-block) var(--ui-panel-inline);
    background: var(--ui-surface-subtle);
}
.nexus-ui .naming-code-row {
    grid-template-columns: var(--ui-action-height, var(--ui-control-height)) minmax(0, 1fr) var(--ui-action-height, var(--ui-control-height));
    min-width: 0;
    padding: var(--ui-space-2);
    border: 1px solid var(--ui-border);
    border-radius: var(--ui-wrapper-radius);
    background: #fff;
}
.nexus-ui .naming-code-row:nth-child(even) { background: #f8fafb; }
.nexus-ui .naming-code-row.is-dragging { opacity: .5; border-color: var(--ui-brand); }
.nexus-ui .naming-drag-handle {
    width: var(--ui-action-height, var(--ui-control-height));
    height: var(--ui-control-height);
    display: grid;
    place-items: center;
    padding: 0;
    color: var(--ui-muted);
    background: transparent;
    border: 0;
    cursor: grab;
}
.nexus-ui .naming-drag-handle:active { cursor: grabbing; }
.nexus-ui .naming-code-row > form:first-of-type {
    display: grid;
    grid-template-columns: minmax(70px, .45fr) minmax(0, 1fr) 68px var(--ui-action-height, var(--ui-control-height));
    align-items: center;
    gap: 6px;
}
.nexus-ui .naming-code-row.device-code-row > form:first-of-type {
    grid-template-columns: minmax(70px, .45fr) minmax(0, 1fr) minmax(0, .8fr) 68px var(--ui-action-height, var(--ui-control-height));
}
.nexus-ui .naming-code-new.device-code-new {
    grid-template-columns: minmax(70px, .45fr) minmax(0, 1fr) minmax(0, .8fr) 68px auto;
}
.nexus-ui .naming-code-row .icon-action { width: var(--ui-action-height, var(--ui-control-height)); height: var(--ui-action-height, var(--ui-control-height)); }
.nexus-ui .naming-code-row > form,
.nexus-ui .naming-code-new > input { min-width: 0; }
.nexus-ui .naming-code-readonly { grid-template-columns: 80px minmax(0, 1fr) minmax(0, .7fr); }
.nexus-ui .naming-code-readonly > strong { overflow-wrap: anywhere; }
.nexus-ui .naming-code-icon { display: flex; align-items: center; gap: var(--ui-space-2); min-width: 0; overflow-wrap: anywhere; }
.nexus-ui .naming-code-icon svg { flex: 0 0 21px; }
.nexus-ui .device-icon-picker {
    min-width: 0;
    min-height: var(--ui-control-height);
    height: var(--ui-control-height);
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 5px 9px;
    overflow: hidden;
    color: var(--ui-text);
    background: var(--ui-surface);
    border: 1px solid var(--ui-border);
    border-radius: var(--ui-radius-sm);
    cursor: pointer;
}
.nexus-ui .device-icon-picker:hover { border-color: var(--ui-border-strong); background: var(--ui-surface-hover); }
.nexus-ui .device-icon-picker .device-category-icon { width: 21px; height: 21px; flex: 0 0 21px; color: var(--ui-brand); }
.nexus-ui .device-icon-picker span { overflow: hidden; font-size: 10px; font-weight: 650; text-overflow: ellipsis; white-space: nowrap; }
.nexus-ui .device-icon-gallery-modal[open] { width: min(820px, calc(100vw - 32px)); }
.nexus-ui .device-icon-gallery-help { margin: 0 0 12px; color: var(--ui-muted); font-size: 11px; }
.nexus-ui .device-icon-gallery {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 8px;
}
.nexus-ui .device-icon-gallery > button {
    min-width: 0;
    min-height: 78px;
    display: grid;
    place-items: center;
    align-content: center;
    gap: 7px;
    padding: 9px 6px;
    color: var(--ui-text);
    background: var(--ui-surface-subtle);
    border: 1px solid var(--ui-border);
    border-radius: var(--ui-radius-sm);
    cursor: pointer;
}
.nexus-ui .device-icon-gallery > button:hover,
.nexus-ui .device-icon-gallery > button.is-selected { color: var(--ui-brand); background: #fff4f3; border-color: var(--ui-brand); }
.nexus-ui .device-icon-gallery > button .device-category-icon { width: 28px; height: 28px; }
.nexus-ui .device-icon-gallery > button span { overflow: hidden; font-size: 9px; font-weight: 700; text-align: center; text-overflow: ellipsis; white-space: nowrap; }
@media (max-width: 900px) {
    .nexus-ui .device-icon-gallery { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
@media (max-width: 650px) {
    .nexus-ui .device-icon-gallery { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
.nexus-ui .directory-table > div {
    min-width: 1030px;
    grid-template-columns: minmax(270px, 1.45fr) 130px 145px minmax(210px, 1fr) 108px 76px;
    gap: 10px;
    min-height: 54px;
    padding: 8px 18px;
}
.nexus-ui .directory-table .status-chip { justify-self: start; width: 96px; }
.nexus-ui .service-editor-layout,
.nexus-ui .service-editor-layout > form,
.nexus-ui .service-editor-layout > section,
.nexus-ui .service-editor-layout > .panel {
    width: 100%;
    box-sizing: border-box;
}
.nexus-ui .monitor-result { transition: background-color .15s ease, border-color .15s ease; }
.nexus-ui .monitor-result.monitor-status-online { background: var(--ui-success-soft); border-color: #9bd4b8; }
.nexus-ui .monitor-result.monitor-status-warning { background: var(--ui-warning-soft); border-color: #e7c477; }
.nexus-ui .monitor-result.monitor-status-offline { background: var(--ui-danger-soft); border-color: #e7aaa7; }
.nexus-ui .monitor-result.monitor-status-unknown { background: #f1f4f5; border-color: var(--ui-border); }
.nexus-ui [data-endpoint-check-error]:empty { display: none; }
@media (max-width: 1100px) {
    .nexus-ui .location-row { min-width: 1110px; }
}
.nexus-ui .location-list { --location-columns: minmax(330px, 1.4fr) 130px minmax(250px, 1fr) 145px 92px 76px; background: #fff; }
.nexus-ui .location-group-divider {
    min-height: 30px;
    display: flex;
    align-items: center;
    gap: 7px;
    padding: 0 14px;
    color: #5d6d74;
    background: #e7edef;
    border-top: 1px solid #c5d0d4;
    border-bottom: 1px solid #c5d0d4;
    font-size: 9px;
    letter-spacing: .045em;
    text-transform: uppercase;
}
.nexus-ui .location-group-divider:first-child { border-top: 0; }
.nexus-ui .location-group-divider strong { color: #26363c; font-size: 10px; }
.nexus-ui .location-row { border-top: 0; border-bottom: 1px solid #e0e6e8; }
.nexus-ui .location-row > .location-main,
.nexus-ui .location-row > .location-address,
.nexus-ui .location-row > .location-counts,
.nexus-ui .location-row > .location-sort {
    display: flex;
}
.nexus-ui .location-address { align-items: center; }
.nexus-ui .location-sort {
    flex-direction: column;
    align-items: stretch;
    gap: 3px;
}
.nexus-ui .location-sort > span { color: var(--ui-muted); font-size: 9px; }
.nexus-ui .location-sort input[type="number"] { width: 100%; min-height: 32px; }
.nexus-ui .device-status-details {
    width: 100%;
    min-height: 36px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
}
.nexus-ui .interface-inventory-table .record-actions,
.nexus-ui .device-photo-card .record-actions {
    display: flex;
    flex-flow: row nowrap;
    align-items: center;
    justify-content: flex-end;
    gap: 5px;
}
.nexus-ui .interface-inventory-table .record-actions form,
.nexus-ui .device-photo-card .record-actions form {
    display: inline-flex;
    margin: 0;
}
.nexus-ui #new-interface:not([open]),
.nexus-ui #new-link:not([open]),
.nexus-ui .physical-link-table > details[id^="link-"]:not([open]) {
    display: none;
}
.nexus-ui .device-photo-card img {
    aspect-ratio: 4 / 3;
    object-fit: contain;
    background: #eef2f3;
}
.nexus-ui .device-photo-card figcaption > span { min-width: 0; flex: 1; }
.nexus-ui.modal-document .focused-device-editor,
.nexus-ui.modal-document .focused-device-editor > .form-section {
    width: 100%;
    max-width: none;
    margin: 0;
    box-sizing: border-box;
}
.nexus-ui [data-sortable-item] { position: relative; }
.nexus-ui [data-sortable-item].is-dragging { opacity: .48; }
.nexus-ui [data-sortable-item].drop-before::before,
.nexus-ui .naming-code-row.drop-before::before {
    content: "";
    position: absolute;
    z-index: 4;
    top: -4px;
    right: 4px;
    left: 4px;
    border-top: 3px solid var(--ui-brand);
    border-radius: 3px;
    pointer-events: none;
}
.nexus-ui [data-sortable-item].drop-after::after,
.nexus-ui .naming-code-row.drop-after::after {
    content: "";
    position: absolute;
    z-index: 4;
    right: 4px;
    bottom: -4px;
    left: 4px;
    border-bottom: 3px solid var(--ui-brand);
    border-radius: 3px;
    pointer-events: none;
}
.nexus-ui .sortable-drag-handle {
    width: 28px;
    min-width: 28px;
    height: 32px;
    display: grid;
    place-items: center;
    padding: 0;
    color: var(--ui-muted);
    background: transparent;
    border: 0;
    cursor: grab;
}
.nexus-ui .sortable-drag-handle:active { cursor: grabbing; }
.nexus-ui .price-list-products { grid-template-columns: 1fr; }
.nexus-ui .price-list-product > header {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 10px;
}
.nexus-ui .price-list-product > div > section { grid-template-columns: minmax(0, 1fr) auto auto; }
.nexus-ui .price-order-editor {
    display: grid;
    gap: 10px;
    padding: 12px;
    background: #eef2f3;
}
.nexus-ui .price-order-category {
    overflow: hidden;
    background: #fff;
    border: 1px solid var(--ui-border);
    border-radius: var(--ui-radius-md);
}
.nexus-ui .price-order-category-head {
    min-height: 48px;
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: 9px;
    padding: 7px 11px;
    background: var(--ui-panel-head);
}
.nexus-ui .price-order-category-head label {
    display: flex;
    align-items: center;
    gap: 6px;
    color: var(--ui-muted);
    font-size: 9px;
}
.nexus-ui .price-order-category-head input[type="number"] {
    width: 68px;
    min-height: 30px;
    margin: 0;
    padding: 4px 7px;
}
.nexus-ui .price-order-products {
    display: grid;
    gap: 8px;
    padding: 10px;
}
.nexus-ui .price-order-product {
    overflow: hidden;
    border: 1px solid var(--ui-border);
    border-radius: var(--ui-radius-sm);
}
.nexus-ui .price-order-product > div:first-child {
    min-height: 40px;
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    align-items: center;
    gap: 8px;
    padding: 5px 9px;
    background: #f7f9fa;
}
.nexus-ui .price-order-tariffs { display: grid; }
.nexus-ui .price-order-tariffs > article {
    min-height: 38px;
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: 8px;
    padding: 4px 9px;
    border-top: 1px solid var(--ui-border);
}
.nexus-ui .price-order-tariffs > article b { white-space: nowrap; }
.nexus-ui .naming-policy-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
    padding: 14px;
}
.nexus-ui .naming-policy-grid article {
    min-width: 0;
    padding: 13px 14px;
    background: var(--ui-surface-subtle);
    border: 1px solid var(--ui-border);
    border-radius: var(--ui-radius-md);
}
.nexus-ui .naming-policy-grid article > strong { display: block; margin-bottom: 7px; }
.nexus-ui .naming-policy-grid ul {
    margin: 0;
    padding-left: 18px;
    color: var(--ui-muted);
    font-size: 11px;
    line-height: 1.55;
}
@media (max-width: 800px) {
    .nexus-ui .naming-policy-grid { grid-template-columns: 1fr; }
    .nexus-ui .price-order-category-head { grid-template-columns: auto minmax(0, 1fr); }
    .nexus-ui .price-order-category-head label { grid-column: 2; justify-self: start; }
}
.nexus-ui .device-summary-panel { min-width: 0; overflow: hidden; }
.nexus-ui .device-summary-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0 16px;
    padding: 6px var(--ui-panel-inline) 12px;
}
.nexus-ui .incident-detail-note { margin-inline: var(--ui-panel-inline); }
.nexus-ui .device-summary-grid .fact-list { padding: 0; }
.nexus-ui .device-current-status { overflow: hidden; }
.nexus-ui .device-current-status .device-status-details {
    width: calc(100% - 24px);
    margin: 10px 12px 12px;
    border: 1px solid #c8d1d5;
    border-radius: var(--ui-radius-sm);
}
.nexus-ui .unified-device-editor {
    width: 100%;
    max-width: none;
    margin: 0;
}
.nexus-ui .device-settings-panel {
    width: 100%;
    max-width: none;
    margin: 0;
    box-sizing: border-box;
}
.nexus-ui .device-editor-section,
.nexus-ui .modal-editor-section {
    padding: 0 18px 16px;
    background: var(--ui-surface);
    border-top: 1px solid var(--ui-border);
}
.nexus-ui .modal-section-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    margin: 0 -18px 16px;
    padding: 11px 18px;
    background: var(--ui-panel-head);
    border-bottom: 1px solid var(--ui-border);
}
.nexus-ui .modal-section-head > div { min-width: 0; display: grid; gap: 2px; }
.nexus-ui .modal-section-head strong { color: var(--ui-text-strong); font-size: 13px; }
.nexus-ui .modal-section-head > span:not(.count-badge) { color: var(--ui-muted); font-size: 10px; text-align: right; }
.nexus-ui .device-editor-section > .form-grid,
.nexus-ui .modal-editor-section > .form-grid { padding: 0; }
.nexus-ui .device-editor-section .collector-status { margin: 6px 0 0; }
.nexus-ui .device-editor-section .readonly-field {
    display: grid;
    gap: 6px;
}
.nexus-ui .device-editor-section .readonly-field output {
    color: var(--ui-text-strong);
    font-weight: 650;
    overflow-wrap: anywhere;
}
.nexus-ui .service-editor-layout > .modal-editor-section:first-child,
.nexus-ui .service-editor-layout > form:first-of-type > .modal-editor-section:first-child,
.nexus-ui .modal-device-settings > .device-editor-section:first-of-type { border-top: 0; }
.nexus-ui .interface-editor-form { width: 100%; min-width: 0; }
.nexus-ui .table-sort-link {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    color: inherit;
    text-decoration: none;
}
.nexus-ui .table-sort-link:hover,
.nexus-ui .table-sort-link.active {
    color: var(--ui-brand);
}
.nexus-ui .infrastructure-device-table .table-actions { white-space: nowrap; }
.nexus-ui .infrastructure-device-table .table-actions > a,
.nexus-ui .infrastructure-device-table .table-actions > form {
    display: inline-flex;
    vertical-align: middle;
}
.nexus-ui .service-editor-layout > .icon-editor {
    width: 100%;
    max-width: none;
    margin: 0;
    box-sizing: border-box;
}
.nexus-ui .directory-system-row { cursor: pointer; }
.nexus-ui .directory-system-row:focus-visible { outline: 2px solid var(--ui-brand); outline-offset: -2px; }
.nexus-ui .system-detail-hero {
    min-height: 106px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    padding: 18px;
}
.nexus-ui .system-detail-identity { min-width: 0; display: flex; align-items: center; gap: 15px; }
.nexus-ui .system-detail-identity h2 { margin: 2px 0 4px; font-size: 22px; }
.nexus-ui .system-detail-identity p { margin: 0; color: var(--ui-muted); font-size: 12px; }
.nexus-ui .service-icon-large { width: 58px; height: 58px; flex: 0 0 58px; font-size: 22px; }
.nexus-ui .system-detail-state { max-width: 330px; display: grid; justify-items: end; gap: 6px; text-align: right; }
.nexus-ui .system-detail-state small { color: var(--ui-muted); font-size: 10px; line-height: 1.4; }
.nexus-ui .system-detail-grid {
    display: block;
    columns: 2 430px;
    column-gap: 12px;
    margin-top: 12px;
}
.nexus-ui .system-detail-card { width: 100%; min-width: 0; display: inline-block; margin: 0 0 12px; overflow: hidden; break-inside: avoid; vertical-align: top; }
.nexus-ui .system-endpoint-list,
.nexus-ui .system-monitor-list { display: grid; }
.nexus-ui .system-endpoint-list > article {
    min-width: 0;
    display: grid;
    grid-template-columns: minmax(150px, .8fr) 110px 110px minmax(190px, 1.2fr) auto;
    align-items: center;
    gap: 12px;
    padding: 11px 16px;
    border-bottom: 1px solid var(--ui-border);
}
.nexus-ui .system-endpoint-list > article:last-child,
.nexus-ui .system-monitor-list > article:last-child { border-bottom: 0; }
.nexus-ui .system-endpoint-list strong,
.nexus-ui .system-endpoint-list small { display: block; }
.nexus-ui .system-endpoint-list small { margin-top: 2px; color: var(--ui-muted); font-size: 10px; }
.nexus-ui .system-endpoint-list > article > a { min-width: 0; overflow: hidden; color: var(--ui-info); text-overflow: ellipsis; white-space: nowrap; }
.nexus-ui .system-endpoint-list .record-actions { display: flex; align-items: center; justify-content: flex-end; gap: 5px; }
.nexus-ui .system-endpoint-list .record-actions form { margin: 0; }
.nexus-ui .system-monitor-list > article {
    min-width: 0;
    display: grid;
    grid-template-columns: 8px minmax(0, 1fr) auto 126px auto;
    align-items: center;
    gap: 10px;
    padding: 11px 16px;
    border-bottom: 1px solid var(--ui-border);
}
.nexus-ui .system-monitor-list strong,
.nexus-ui .system-monitor-list small { display: block; }
.nexus-ui .system-monitor-list small { margin-top: 2px; color: var(--ui-muted); font-size: 10px; }
.nexus-ui .system-monitor-list time { color: var(--ui-muted); font-size: 10px; text-align: right; }
.nexus-ui .system-icon-overview { min-height: 112px; display: flex; align-items: center; gap: 16px; padding: 16px; }
.nexus-ui .service-icon-preview { width: 72px; height: 72px; flex: 0 0 72px; font-size: 26px; }
.nexus-ui .system-icon-overview strong,
.nexus-ui .system-icon-overview small { display: block; }
.nexus-ui .system-icon-overview small { margin-top: 4px; color: var(--ui-muted); font-size: 10px; }
.nexus-ui .service-section-form { width: 100%; margin: 0; }
.nexus-ui .modal-form-body { min-width: 0; padding: 0; }
.nexus-ui .modal-context-strip {
    min-width: 0;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 2px 12px;
    padding: 11px 16px;
    background: var(--ui-panel-head);
    border-bottom: 1px solid var(--ui-border);
}
.nexus-ui .modal-context-strip .eyebrow,
.nexus-ui .modal-context-strip strong,
.nexus-ui .modal-context-strip small { min-width: 0; display: block; grid-column: 1; }
.nexus-ui .modal-context-strip small { overflow: hidden; color: var(--ui-muted); text-overflow: ellipsis; white-space: nowrap; }
.nexus-ui .modal-context-strip .status-chip { grid-column: 2; grid-row: 1 / span 3; align-self: center; }
.nexus-ui .modal-inline-heading {
    display: grid;
    gap: 2px;
    margin-top: 2px;
    padding: 11px 18px;
    background: var(--ui-panel-head);
    border-block: 1px solid var(--ui-border);
}
.nexus-ui .service-icon-modal { max-width: none; margin: 0; border: 0; }
.nexus-ui .service-icon-modal .icon-editor-body { padding: 16px; }
.nexus-ui .icon-discovery-toolbar { grid-column: 1 / -1; display: flex; align-items: center; gap: 12px; }
.nexus-ui .icon-discovery-toolbar small { color: var(--ui-muted); font-size: 10px; }
@media (max-width: 900px) {
    .nexus-ui .system-detail-grid { columns: 1 auto; }
    .nexus-ui .system-endpoint-list > article { grid-template-columns: minmax(0, 1fr) auto; }
    .nexus-ui .system-endpoint-list > article > a { grid-column: 1 / -1; }
    .nexus-ui .system-endpoint-list .record-actions { grid-column: 1 / -1; }
}
@media (max-width: 650px) {
    .nexus-ui .system-detail-hero { align-items: flex-start; flex-direction: column; }
    .nexus-ui .system-detail-state { max-width: none; justify-items: start; text-align: left; }
    .nexus-ui .system-monitor-list > article { grid-template-columns: 8px minmax(0, 1fr) auto auto; }
    .nexus-ui .system-monitor-list time { grid-column: 2 / -1; text-align: left; }
    .nexus-ui .profile-photo-modal-body { grid-template-columns: 1fr; justify-items: center; }
    .nexus-ui .profile-photo-file { width: 100%; }
}
.nexus-ui .panel-head > a.icon-action { color: var(--ui-muted); }
.nexus-ui .panel-head > a.icon-action:hover { color: var(--ui-text); }
.nexus-ui .operational-note-body.is-expanded { padding: 12px 13px 13px; }
.nexus-ui .operational-note-body.is-expanded p { font-family: "Cascadia Mono", "Segoe UI Mono", Consolas, monospace; }
.nexus-ui .routeros-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(280px, 330px);
    align-items: start;
    gap: 14px;
}
.nexus-ui .routeros-layout > .panel { min-width: 0; margin: 0; }
.nexus-ui .availability-banner,
.nexus-ui .inventory-banner {
    min-height: 58px;
    display: flex;
    align-items: center;
    gap: 11px;
    box-sizing: border-box;
    padding: 11px 14px;
    border-top: 1px solid var(--ui-border);
}
.nexus-ui .availability-banner > div,
.nexus-ui .inventory-banner {
    align-content: center;
}
.nexus-ui .availability-banner strong,
.nexus-ui .availability-banner span,
.nexus-ui .inventory-banner strong,
.nexus-ui .inventory-banner span {
    display: block;
}
.nexus-ui .availability-banner span,
.nexus-ui .inventory-banner span {
    margin-top: 2px;
    color: var(--ui-muted);
    font-size: 10px;
    line-height: 1.4;
}
.nexus-ui .availability-online,
.nexus-ui .inventory-ok {
    background: var(--ui-success-soft);
    border-color: #9bd4b8;
}
.nexus-ui .availability-warning { background: var(--ui-warning-soft); border-color: #e7c477; }
.nexus-ui .inventory-partial { background: var(--ui-warning-soft); border-color: #e7c477; }
.nexus-ui .availability-offline,
.nexus-ui .inventory-error {
    background: var(--ui-danger-soft);
    border-color: #e7aaa7;
}
.nexus-ui .availability-unknown,
.nexus-ui .availability-retired {
    background: #f1f4f5;
}
.nexus-ui .availability-retired .status-dot { background: #9aa4a8; }
.nexus-ui .monitoring-settings .availability-banner { margin-top: auto; }
.nexus-ui .device-current-status .availability-banner { margin-top: 0; }
.nexus-ui .monitoring-inventory .inventory-banner { margin-top: 8px; }
.nexus-ui .infrastructure-device-table .table-actions .record-actions {
    display: inline-flex;
    align-items: center;
    justify-content: flex-end;
    gap: 5px;
    vertical-align: middle;
}
.nexus-ui .infrastructure-device-table .table-actions .record-actions form { display: inline-flex; margin: 0; }
.nexus-ui .icon-action .ui-icon { vertical-align: 0; }
.nexus-ui .device-cover-panel { overflow: hidden; }
.nexus-ui .device-cover-image {
    width: 100%;
    min-height: 150px;
    max-height: 310px;
    display: grid;
    place-items: center;
    padding: 10px;
    background: #eef2f3;
    border: 0;
    cursor: zoom-in;
}
.nexus-ui .device-cover-image img {
    width: 100%;
    height: 100%;
    max-height: 290px;
    object-fit: contain;
}
.nexus-ui .documentation-toolbar { margin-bottom: 12px; }
.nexus-ui .documentation-category { margin-top: 12px; }
.nexus-ui .device-document-list { display: grid; }
.nexus-ui .device-document-list > article {
    min-height: 58px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    padding: 9px 13px;
    border-top: 1px solid var(--ui-border);
}
.nexus-ui .device-document-list > article:first-child { border-top: 0; }
.nexus-ui .device-document-list strong,
.nexus-ui .device-document-list small {
    display: block;
}
.nexus-ui .device-document-list small { color: var(--ui-muted); font-size: 10px; }
.nexus-ui .device-document-list p { margin: 5px 0 0; font-size: 11px; }
.nexus-ui [data-nexus-table] { position: relative; }
.nexus-ui .nexus-table-toolbar {
    position: sticky;
    z-index: 5;
    left: 0;
    justify-content: flex-end;
    padding: 6px 8px;
    background: #f7f9fa;
    border-bottom: 1px solid var(--ui-border);
}
.nexus-ui .nexus-table-column {
    position: relative;
    padding-right: 16px !important;
    text-transform: none !important;
    cursor: pointer;
    user-select: none;
}
.nexus-ui .nexus-table-column[data-no-sort="true"] { cursor: grab; }
.nexus-ui .nexus-table-column.is-sort-active { color: var(--ui-brand); }
.nexus-ui .nexus-table-column.is-sort-active::after { content: "↑"; margin-left: 5px; }
.nexus-ui .nexus-table-column.is-sort-active[data-sort-direction="desc"]::after { content: "↓"; }
.nexus-ui .nexus-column-resizer {
    position: absolute;
    z-index: 3;
    top: 0;
    right: -4px;
    bottom: 0;
    width: 9px;
    cursor: col-resize;
}
.nexus-ui .nexus-column-resizer::after {
    content: "";
    position: absolute;
    top: 20%;
    bottom: 20%;
    left: 4px;
    border-left: 1px solid #c4ced2;
}
.nexus-ui [data-nexus-head] {
    align-items: center;
    min-height: 36px;
    color: #50616a;
    background: #f5f7f8;
    border-bottom: 1px solid var(--ui-border);
    font-size: 10px;
    font-weight: 700;
}
.nexus-ui [data-nexus-head] > * { min-width: 0; }
.nexus-ui .location-table-head {
    display: grid;
    grid-template-columns: var(--location-columns);
    gap: 12px;
    padding: 6px 14px;
}
.nexus-ui .request-head { grid-template-columns: minmax(280px, 1fr) 150px 120px; padding: 0 13px; }
.nexus-ui .session-head,
.nexus-ui .user-head {
    padding-block: 6px;
}
.nexus-ui .session-head .nexus-table-column,
.nexus-ui .user-head .nexus-table-column {
    font-size: 10px;
}
.nexus-ui .service-table-head {
    display: grid;
    grid-template-columns: minmax(220px, .65fr) minmax(140px, .3fr) minmax(300px, 1fr) 100px;
    gap: 14px;
    padding: 6px 14px;
}
.nexus-ui .device-table-head { min-height: 32px; }
.nexus-ui .dhcp-lease-head { font-size: 10px; }
.nexus-ui .snapshot-head {
    display: grid;
    grid-template-columns: minmax(260px, 1fr) 140px 120px;
    gap: 12px;
    padding: 6px 12px;
}
@media (max-width: 900px) {
    .nexus-ui .device-summary-grid { grid-template-columns: 1fr; }
    .nexus-ui .modal-section-head { align-items: flex-start; flex-direction: column; gap: 4px; }
    .nexus-ui .modal-section-head > span:not(.count-badge) { text-align: left; }
    .nexus-ui .routeros-layout { grid-template-columns: 1fr; }
}
.nexus-ui [data-nexus-table] { max-width: 100%; overflow-x: auto; }
.nexus-ui [data-nexus-table] > * { overflow-x: visible !important; }
.nexus-ui [data-nexus-head],
.nexus-ui [data-nexus-row] {
    min-width: 0;
}
.nexus-ui [data-nexus-head] > *,
.nexus-ui [data-nexus-row] > *,
.nexus-ui [data-nexus-cells] > *,
.nexus-ui [data-nexus-table] th,
.nexus-ui [data-nexus-table] td {
    text-align: left !important;
}
.nexus-ui .nexus-table-toolbar { display: none; }
.nexus-ui .location-row[draggable="true"] { cursor: grab; }
.nexus-ui .location-row.is-dragging { opacity: .5; }
.nexus-ui .location-row.is-drop-before { box-shadow: inset 0 3px var(--ui-brand); }
.nexus-ui .location-row.is-drop-after { box-shadow: inset 0 -3px var(--ui-brand); }
.nexus-ui .location-row.is-drop-inside {
    background: var(--ui-danger-soft);
    outline: 2px solid var(--ui-brand);
    outline-offset: -2px;
}
.nexus-ui .tree-icon-address { -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M3 11.5 12 4l9 7.5M5.5 10v10h13V10M9.5 20v-6h5v6' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M3 11.5 12 4l9 7.5M5.5 10v10h13V10M9.5 20v-6h5v6' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat; }
.nexus-ui .tree-icon-place { -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='6' fill='none' stroke='black' stroke-width='2'/%3E%3Ccircle cx='12' cy='12' r='2'/%3E%3Cpath d='M12 2v4M12 18v4M2 12h4M18 12h4' stroke='black' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E") center/contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='6' fill='none' stroke='black' stroke-width='2'/%3E%3Ccircle cx='12' cy='12' r='2'/%3E%3Cpath d='M12 2v4M12 18v4M2 12h4M18 12h4' stroke='black' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E") center/contain no-repeat; }
.nexus-ui .tree-page-list .tree-content > .tree-device-group { position: relative; margin: 3px 0; }
.nexus-ui .tree-page-list .tree-content > .tree-device-group::before {
    content: "";
    position: absolute;
    left: -30px;
    top: 16px;
    width: 26px;
    border-top: 2px solid #c5d0d5;
}
.nexus-ui .tree-device-group > summary {
    min-height: 30px;
    display: grid;
    grid-template-columns: 14px auto 1fr;
    align-items: center;
    gap: 7px;
    padding: 1px 8px;
    color: var(--ui-muted);
    border-radius: var(--ui-radius-sm);
    cursor: pointer;
    list-style: none;
}
.nexus-ui .tree-device-group > summary::-webkit-details-marker { display: none; }
.nexus-ui .tree-device-group > summary:hover { background: var(--ui-surface-hover); }
.nexus-ui .tree-device-group > summary strong { color: var(--ui-text); font-size: 11px; }
.nexus-ui .tree-device-group > summary small { font-size: 10px; }
.nexus-ui .tree-device-toggle::before {
    content: "›";
    display: block;
    font-size: 16px;
    transition: transform .12s ease;
}
.nexus-ui .tree-device-group[open] > summary .tree-device-toggle::before { transform: rotate(90deg); }
.nexus-ui .tree-device-list {
    margin-left: 7px;
    padding-left: 19px;
    border-left: 1px solid #d5dde0;
}
.nexus-ui .tree-page-list .tree-device-list > .tree-device {
    position: relative;
    min-height: 36px;
    margin: 1px 0;
    padding: 4px 7px;
}
.nexus-ui .tree-page-list .tree-device-list > .tree-device::before {
    content: "";
    position: absolute;
    left: -19px;
    top: 18px;
    width: 15px;
    border-top: 1px solid #d5dde0;
}
.nexus-ui .tree-page-list .is-drop-before { box-shadow: inset 0 3px var(--ui-brand); }
.nexus-ui .tree-page-list .is-drop-after { box-shadow: inset 0 -3px var(--ui-brand); }
.nexus-ui .tree-page-list .is-drop-target > summary { outline: 2px solid var(--ui-brand); }
.nexus-ui .monitoring-primary {
    display: grid;
    align-content: start;
    gap: 14px;
    overflow: visible;
}
.nexus-ui .monitoring-settings .monitoring-status-footer { width: 100%; }
.nexus-ui .monitoring-inline-action { margin: 0 0 0 auto; }
.nexus-ui .monitoring-inline-action .button { min-width: 96px; }
.nexus-ui .inventory-disabled,
.nexus-ui .inventory-pending {
    background: var(--ui-warning-soft);
    border-color: #e7c477;
}
.nexus-ui .device-current-status .device-status-details {
    color: var(--ui-text);
    background: #eef1f2;
}
.nexus-ui .device-current-status .device-status-details:hover { background: #e3e8ea; border-color: #aebbc0; }
.nexus-ui .documentation-category > .photo-grid { padding: 14px 14px 16px; }
.nexus-ui .document-preview-body {
    width: min(1100px, 88vw);
    min-height: min(680px, 72vh);
    display: grid;
}
.nexus-ui .document-preview-body iframe {
    width: 100%;
    height: min(680px, 72vh);
    background: #fff;
    border: 0;
}
.nexus-ui .service-table article { grid-template-columns: minmax(220px, .65fr) minmax(140px, .3fr) minmax(300px, 1fr) 100px; align-items: start; }
.nexus-ui .service-endpoint-names,
.nexus-ui .service-endpoint-urls,
.nexus-ui .service-endpoint-states {
    min-width: 0;
    display: grid;
    align-content: start;
    gap: 5px;
}
.nexus-ui .service-endpoint-urls a,
.nexus-ui .service-endpoint-states .status-label {
    min-height: 18px;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    text-align: left;
}
.nexus-ui .service-endpoint-urls code { overflow-wrap: anywhere; white-space: normal; }
.nexus-ui [data-nexus-table].nexus-table-scroll-owner {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    overflow-x: auto;
    overflow-y: visible;
    scrollbar-gutter: auto;
}
.nexus-ui [data-nexus-table].nexus-table-scroll-owner > *,
.nexus-ui [data-nexus-table].nexus-table-scroll-owner .client-table,
.nexus-ui [data-nexus-table].nexus-table-scroll-owner .directory-table,
.nexus-ui [data-nexus-table].nexus-table-scroll-owner .payment-plan,
.nexus-ui [data-nexus-table].nexus-table-scroll-owner .invoice-compact-list,
.nexus-ui [data-nexus-table].nexus-table-scroll-owner .bank-movements,
.nexus-ui [data-nexus-table].nexus-table-scroll-owner .network-change-list,
.nexus-ui [data-nexus-table].nexus-table-scroll-owner .notification-table,
.nexus-ui [data-nexus-table].nexus-table-scroll-owner .physical-link-table,
.nexus-ui [data-nexus-table].nexus-table-scroll-owner .service-table {
    min-width: 0 !important;
    overflow-x: visible !important;
}
.nexus-ui [data-nexus-table].nexus-table-scroll-owner table.data-table {
    width: 100%;
    min-width: 100%;
    margin: 0;
    table-layout: fixed;
}
.nexus-ui [data-nexus-table] [data-nexus-head],
.nexus-ui [data-nexus-table] table.data-table thead tr {
    min-height: 34px;
    color: var(--ui-muted);
    background: var(--ui-surface-subtle);
    border-bottom: 1px solid var(--ui-border);
    font-family: var(--ui-font);
    font-size: var(--ui-table-head-font-size);
    font-weight: var(--ui-table-head-font-weight);
    letter-spacing: .015em;
    line-height: 1.25;
    text-align: left;
    text-transform: none;
}
.nexus-ui [data-nexus-table] [data-nexus-head] { padding-top: var(--ui-table-header-padding-block) !important; padding-bottom: var(--ui-table-header-padding-block) !important; }
.nexus-ui [data-nexus-table] [data-nexus-head]:not(tr),
.nexus-ui [data-nexus-table] [data-nexus-row]:not(tr):not(.request-row):not(:has(> [data-nexus-cells])),
.nexus-ui [data-nexus-table] [data-nexus-row]:not(.request-row) > [data-nexus-cells] {
    padding-left: var(--ui-panel-inline) !important;
    padding-right: var(--ui-panel-inline) !important;
}
.nexus-ui [data-nexus-table] [data-nexus-row]:not(.request-row):has(> [data-nexus-cells]) { padding-inline: 0; }
.nexus-ui [data-nexus-table] [data-nexus-head] > *,
.nexus-ui [data-nexus-table] table.data-table thead th {
    color: inherit !important;
    background: inherit !important;
    font: inherit !important;
    letter-spacing: inherit !important;
    line-height: inherit !important;
    text-align: left !important;
    text-transform: none !important;
}
.nexus-ui [data-nexus-table] table.data-table thead th { padding: 7px 10px; }
.nexus-ui [data-nexus-table] table.data-table thead th:first-child { padding-left: var(--ui-panel-inline); }
.nexus-ui [data-nexus-table] table.data-table thead th:last-child { padding-right: var(--ui-panel-inline); }
.nexus-ui [data-nexus-table] .nexus-table-column { box-sizing: border-box; padding-right: 18px !important; }
.nexus-ui [data-nexus-table] .nexus-column-resizer { right: 0; }
.nexus-ui [data-nexus-table] .nexus-table-column[data-column="actions"] { padding-right: 10px !important; cursor: default; }
.nexus-ui [data-nexus-table] .nexus-table-column[data-column="selection"] { padding-right: 0 !important; cursor: default; }
.nexus-ui [data-nexus-table] [data-nexus-row],
.nexus-ui [data-nexus-table] [data-nexus-cells] {
    box-sizing: border-box;
}
.nexus-ui .panel-head-actions {
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 8px;
    margin-left: auto;
}
.nexus-ui .client-table-head,
.nexus-ui .client-table-row {
    min-width: 0;
    grid-template-columns: minmax(250px, 1.2fr) minmax(150px, .65fr) minmax(240px, 1.2fr) 130px 180px minmax(150px, .75fr) 86px;
}
.nexus-ui .client-table.is-archive .client-table-head,
.nexus-ui .client-table.is-archive .client-table-row {
    grid-template-columns: minmax(250px, 1.2fr) minmax(150px, .65fr) minmax(240px, 1.2fr) 130px 180px minmax(150px, .75fr) 124px;
}
.nexus-ui .client-table-row { position: relative; cursor: pointer; }
.nexus-ui .client-last-payment {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 14px;
    align-items: center;
    column-gap: 8px;
}
.nexus-ui .client-table.is-archive .client-last-payment { grid-template-columns: minmax(0, 1fr); }
.nexus-ui .client-table-row > .client-row-actions {
    display: flex;
    flex-flow: row nowrap;
    align-items: center;
    justify-content: flex-end;
    gap: 6px;
}
.nexus-ui .client-table-row > .client-row-actions form {
    display: inline-flex;
    flex: 0 0 auto;
    margin: 0;
}
.nexus-ui .client-table-row > .client-row-actions .icon-action {
    flex: 0 0 32px;
    width: 32px;
    min-width: 32px;
    height: 32px;
    min-height: 32px;
}
.nexus-ui .bank-scroll-region.nexus-table-scroll-owner { overflow: auto; }
.nexus-ui .availability-chip {
    min-width: 96px;
    min-height: 24px;
    display: inline-flex;
    align-items: center;
    justify-content: flex-start;
    padding: 3px 9px;
    border: 1px solid transparent;
    border-radius: 12px;
    font-size: 10.5px;
    font-weight: 700;
}
.nexus-ui .availability-chip.availability-online {
    color: #087447;
    background: var(--ui-success-soft);
    border-color: #b9e2cf;
}
.nexus-ui .availability-chip.availability-warning,
.nexus-ui .availability-chip.availability-standby {
    color: #8a6108;
    background: var(--ui-warning-soft);
    border-color: #ead28d;
}
.nexus-ui .availability-chip.availability-offline {
    color: #a72b28;
    background: var(--ui-danger-soft);
    border-color: #efc0bd;
}
.nexus-ui .availability-chip.availability-unknown,
.nexus-ui .availability-chip.availability-retired {
    color: var(--ui-muted);
    background: #edf1f2;
    border-color: #dbe2e5;
}
.nexus-ui .operational-state {
    display: inline-flex;
    align-items: center;
    justify-content: flex-start;
    gap: 7px;
    white-space: nowrap;
}
.nexus-ui .ui-route-modal > header { min-height: 52px; padding: 10px 14px 10px 16px; }
.nexus-ui .ui-route-modal > header strong { font-size: 14px; font-weight: 680; }
.nexus-ui .ui-route-modal > header button {
    width: 32px;
    height: 32px;
}
.nexus-ui .ui-route-modal > iframe,
.nexus-ui.modal-document,
.nexus-ui .modal-document-content,
.nexus-ui.modal-document .focused-device-editor,
.nexus-ui.modal-document .modal-device-settings,
.nexus-ui.modal-document .modal-device-settings .device-editor-section {
    background: var(--ui-surface);
}
.nexus-ui .modal-document-content { padding: 16px; }
.nexus-ui .modal-document-content.modal-document-content-flush { padding: 0; }
.nexus-ui .modal-document-content-flush > .focused-device-editor > .validation:not(:empty) { margin: 16px 18px 0; }
.nexus-ui.modal-document .modal-device-settings { overflow: hidden; }
.nexus-ui .tree-page-list.is-editing [data-tree-container],
.nexus-ui .tree-page-list.is-editing [data-tree-device] {
    touch-action: none;
    user-select: none;
}
.nexus-ui .tree-page-list .is-dragging { pointer-events: none; cursor: grabbing; }
.nexus-ui.tree-pointer-dragging,
.nexus-ui.tree-pointer-dragging * {
    cursor: grabbing !important;
    user-select: none !important;
}
.nexus-ui .device-document-list > article > * { min-width: 0; }
.nexus-ui .device-document-copy { flex: 1 1 auto; }
.nexus-ui .device-document-title {
    max-width: 100%;
    display: block;
    margin: 0;
    padding: 0;
    overflow: hidden;
    color: var(--ui-text-strong);
    background: transparent;
    border: 0;
    font: inherit;
    font-size: 12.5px;
    font-weight: 700;
    text-align: left;
    text-overflow: ellipsis;
    white-space: nowrap;
    cursor: pointer;
}
.nexus-ui .device-document-title:hover { color: var(--ui-brand); text-decoration: underline; }
.nexus-ui .device-document-list .record-actions {
    flex: 0 0 auto;
    display: flex;
    flex-flow: row nowrap;
    align-items: center;
    justify-content: flex-end;
    gap: 6px;
}
.nexus-ui .device-document-list .record-actions form { display: inline-flex; margin: 0; }
.nexus-ui { --nexus-table-head-height: var(--ui-table-header-height); }
.nexus-ui [data-nexus-table] .nexus-table-column.is-sort-active,
.nexus-ui [data-nexus-table] [data-nexus-head] > .nexus-table-column.is-sort-active,
.nexus-ui [data-nexus-table] table.data-table thead th.nexus-table-column.is-sort-active {
    color: var(--ui-brand) !important;
}
.nexus-ui [data-nexus-table] .nexus-table-column.is-sort-active::after { color: var(--ui-brand); font-weight: 800; }
.nexus-ui [data-nexus-table] .nexus-table-column[data-no-reorder="true"] { cursor: default; }
.nexus-ui .bank-table-head { box-sizing: border-box; }
.nexus-ui .bank-movement-workspace { display: grid; gap: 12px; }
.nexus-ui .bank-movement-controls { display: grid; gap: 8px; }
.nexus-ui .bank-movement-controls .filter-tabs { margin: 0; }
.nexus-ui .bank-movement-controls .bank-search-form { padding: 0; border: 0; }
.nexus-ui .bank-movement-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 8px;
}
.nexus-ui .bank-movement-actions form { display: contents; }
.nexus-ui .bank-results-panel { min-width: 0; overflow: hidden; }
.nexus-ui .bank-results-panel > .panel-head { min-height: var(--ui-content-header-height); }
.nexus-ui .bank-panel-actions { flex-wrap: wrap; }
.nexus-ui .bank-panel-actions > form { display: inline-flex; margin: 0; }
.nexus-ui .bank-bulk-review { align-items: center; gap: 8px; }
.nexus-ui .bank-bulk-review > span {
    color: var(--ui-muted);
    font-size: 10px;
    white-space: nowrap;
}
.nexus-ui .account-access-panel { margin-top: 0; }
.nexus-ui .profile-fields input[readonly] {
    color: var(--ui-muted);
    background: #f2f5f6;
    cursor: default;
}
.nexus-ui .readonly-context-fields input[readonly],
.nexus-ui .readonly-context-fields textarea[readonly] {
    color: var(--ui-muted);
    background: #f2f5f6;
    cursor: default;
}
.nexus-ui .bank-table-head {
    min-height: var(--ui-table-header-height) !important;
    height: 36px;
    align-items: center;
    padding: 0 12px !important;
    line-height: 1.2;
    overflow: visible;
}
.nexus-ui .bank-table-head > * {
    min-height: 36px;
    display: flex;
    align-items: center;
    overflow: visible;
}
.nexus-ui .bank-month-group > h3 { top: var(--ui-table-header-height); }
.nexus-ui .bank-scroll-region[data-nexus-table] > .bank-table-head[data-nexus-head] {
    box-sizing: border-box;
    min-height: var(--ui-table-header-height) !important;
    height: var(--ui-table-header-height) !important;
    align-items: stretch;
    padding: 0 var(--ui-panel-inline) !important;
    overflow: hidden !important;
    color: var(--ui-muted);
    background: var(--ui-surface-subtle);
    border-bottom: 1px solid var(--ui-border);
    line-height: 1;
}
.nexus-ui .bank-scroll-region[data-nexus-table] > .bank-table-head[data-nexus-head] > * {
    box-sizing: border-box;
    min-height: 0 !important;
    height: calc(var(--ui-table-header-height) - 1px) !important;
    align-items: center;
    padding-block: 0 !important;
    overflow: hidden !important;
    color: inherit !important;
    background: transparent !important;
}
.nexus-ui .bank-scroll-region[data-nexus-table] > .bank-table-head[data-nexus-head] .nexus-column-resizer { top: 5px; bottom: 5px; }
.nexus-ui .request-row:not(.request-head) { grid-template-columns: minmax(0, 1fr) 44px; }
.nexus-ui .request-row-link { grid-template-columns: minmax(0, 1fr) minmax(120px, 170px) minmax(140px, 220px); }
.nexus-ui .request-row-link .status-chip {
    width: 100%;
    max-width: 220px;
    justify-self: end;
}
.nexus-ui .request-row > form { width: 44px; }
.nexus-ui .path-picker { display: grid; gap: 6px; }
.nexus-ui .path-picker [data-path-query] {
    min-height: 36px;
    padding-left: 34px;
    background-image: radial-gradient(circle at 16px 16px, transparent 5px, #78868d 5.5px, #78868d 6.5px, transparent 7px), linear-gradient(45deg, transparent 47%, #78868d 48%, #78868d 55%, transparent 56%);
    background-repeat: no-repeat;
    background-size: 26px 26px, 8px 8px;
    background-position: 0 0, 20px 20px;
}
.nexus-ui .tree-icon-tunnel { -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 12h5m6 0h5M8 8l4 4-4 4m8-8-4 4 4 4' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 12h5m6 0h5M8 8l4 4-4 4m8-8-4 4 4 4' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat; }
.nexus-ui .tree-icon-client { -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 20V9l8-5 8 5v11M8 20v-6h8v6' fill='none' stroke='black' stroke-width='2' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 20V9l8-5 8 5v11M8 20v-6h8v6' fill='none' stroke='black' stroke-width='2' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat; }
.nexus-ui .searchable-select {
    position: relative;
    min-width: 0;
    width: 100%;
    margin-top: 7px;
    color: var(--ui-text);
    font-family: var(--ui-font);
    font-size: 13px;
    font-weight: 400;
    line-height: 1.35;
}
.nexus-ui .searchable-select-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;
}
.nexus-ui .searchable-select-trigger {
    position: relative;
    width: 100%;
    min-height: var(--ui-control-height);
    display: block;
    margin: 0;
    padding: 7px 34px 7px 10px;
    overflow: hidden;
    color: var(--ui-text);
    background: var(--ui-surface);
    border: 1px solid var(--ui-border-strong);
    border-radius: var(--ui-radius-sm);
    font-family: var(--ui-font);
    font-size: 13px;
    font-weight: 400;
    line-height: 1.35;
    text-align: left;
    text-overflow: ellipsis;
    white-space: nowrap;
    cursor: pointer;
}
.nexus-ui .searchable-select-trigger::after {
    content: "";
    position: absolute;
    top: 50%;
    right: 12px;
    width: 7px;
    height: 7px;
    border-right: 1.5px solid currentColor;
    border-bottom: 1.5px solid currentColor;
    color: var(--ui-muted);
    transform: translateY(-65%) rotate(45deg);
}
.nexus-ui .searchable-select-trigger:disabled {
    color: var(--ui-muted);
    background: #f3f5f5;
    cursor: not-allowed;
}
.nexus-ui .searchable-select.is-open .searchable-select-trigger { border-color: var(--ui-brand); box-shadow: 0 0 0 2px rgba(235,54,54,.1); }
.nexus-ui .searchable-select-trigger.is-invalid { border-color: var(--ui-brand); }
.nexus-ui .searchable-select-menu {
    position: fixed;
    z-index: 12050;
    display: flex;
    flex-direction: column;
    min-width: 240px;
    max-width: calc(100vw - 16px);
    padding: 7px;
    overflow: hidden;
    color: var(--ui-text, #202629);
    background: #fff;
    border: 1px solid var(--ui-border-strong, #cbd2d6);
    border-radius: var(--ui-radius-sm, 5px);
    box-shadow: 0 14px 34px rgba(18,28,32,.24);
    font-family: var(--ui-font, "Segoe UI", sans-serif);
    font-size: 13px;
    font-weight: 400;
    line-height: 1.35;
}
.nexus-ui .searchable-select-menu[hidden] { display: none !important; }
.nexus-ui .searchable-select-query {
    width: 100%;
    min-height: 36px;
    margin: 0 0 6px;
    padding: 7px 10px 7px 32px;
    background-color: #fff;
    background-image: radial-gradient(circle at 14px 14px, transparent 4px, #75848b 4.5px, #75848b 5.5px, transparent 6px), linear-gradient(45deg, transparent 44%, #75848b 45%, #75848b 56%, transparent 57%);
    background-repeat: no-repeat;
    background-size: 24px 24px, 7px 7px;
    background-position: 0 0, 18px 18px;
    border: 1px solid var(--ui-border);
    border-radius: var(--ui-radius-sm);
    font-family: var(--ui-font);
    font-size: 13px;
    font-weight: 400;
}
.nexus-ui .searchable-select-options {
    min-height: 0;
    max-height: 340px;
    overflow: auto;
    overscroll-behavior: contain;
    scrollbar-gutter: stable;
}
.nexus-ui .searchable-select-clear {
    width: 100%;
    min-height: 30px;
    margin-bottom: 4px;
    padding: 4px 8px;
    color: var(--ui-muted);
    background: #f5f7f7;
    border: 0;
    border-radius: var(--ui-radius-sm);
    text-align: left;
    cursor: pointer;
}
.nexus-ui .searchable-select-clear:hover { color: var(--ui-brand); background: var(--ui-brand-soft); }
.nexus-ui .searchable-select-option {
    width: 100%;
    min-height: 34px;
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 6px 8px;
    color: var(--ui-text);
    background: transparent;
    border: 0;
    border-radius: var(--ui-radius-sm);
    text-align: left;
    cursor: pointer;
}
.nexus-ui .searchable-select-option:hover,
.nexus-ui .searchable-select-option:focus-visible,
.nexus-ui .searchable-select-option.is-active {
    background: #f1f4f5;
    outline: none;
}
.nexus-ui .searchable-select-option.is-selected {
    color: #b51f1f;
    background: #fff0ef;
    font-weight: 760;
}
.nexus-ui .searchable-select-check {
    width: 18px;
    height: 18px;
    display: grid;
    flex: 0 0 auto;
    place-items: center;
    color: #fff;
    background: #fff;
    border: 1px solid var(--ui-border-strong);
    border-radius: 4px;
}
.nexus-ui .searchable-select-option.is-selected .searchable-select-check { background: var(--ui-brand); border-color: var(--ui-brand); }
.nexus-ui .searchable-select-empty {
    margin: 8px;
    color: var(--ui-muted);
    font-size: 11px;
}
.nexus-ui .tariff-row .searchable-select,
.nexus-ui .client-filters .searchable-select {
    margin-top: 4px;
}
.nexus-ui .match-payment-form .searchable-select { margin-top: 0; }
.nexus-ui .inline-field-action {
    display: flex;
    align-items: stretch;
    gap: 7px;
    margin-top: 7px;
}
.nexus-ui .inline-field-action > .searchable-select,
.nexus-ui .inline-field-action > select {
    flex: 1 1 auto;
    margin-top: 0;
}
.nexus-ui .button.icon-only {
    width: 38px;
    min-width: 38px;
    padding: 0;
    font-size: 18px;
}
.nexus-ui [data-customer-fqdn] .inline-field-action > input {
    flex: 1 1 auto;
    width: 0;
    min-width: 0;
    margin: 0;
}
.nexus-ui [data-customer-fqdn] [data-generate-customer-fqdn] {
    flex: 0 0 var(--ui-control-height);
    width: var(--ui-control-height);
    min-width: var(--ui-control-height);
    height: var(--ui-control-height);
    min-height: var(--ui-control-height);
    align-self: center;
    font-size: 15px;
}
.nexus-ui .customer-context-readonly { background: #f8fafb; }
.nexus-ui .customer-context-readonly .fact-list small { display: block; margin-top: 2px; }
.nexus-ui .stacked-selects {
    display: grid;
    gap: 7px;
    margin-top: 7px;
}
.nexus-ui .stacked-selects > .searchable-select { margin-top: 0; }
.nexus-ui .toast-only-validation { display: none; }
.nexus-ui details.ui-modal-editor.announcement-preview-modal[open] { width: min(1440px, calc(100vw - 32px)); max-height: calc(100dvh - 32px); }
.nexus-ui .announcement-preview-content {
    width: 100%;
    min-width: 0;
    display: grid;
    gap: 12px;
    padding: 16px;
}
.nexus-ui .announcement-preview-content .announcement-preview-table {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: var(--ui-space-2);
    min-width: 0;
    padding: var(--ui-space-2);
}
.nexus-ui .announcement-preview-table > .field-help { margin: 0; }
.nexus-ui .announcement-preview-content .table-scroll {
    width: 100%;
    max-height: min(68vh, 680px);
    overflow: auto;
}
.nexus-ui .announcement-preview-content .data-table { width: 100%; min-width: 0; }
.nexus-ui .announcement-preview-content .data-table td { white-space: normal; overflow-wrap: anywhere; }
.nexus-ui .recipient-message-preview summary {
    max-width: 360px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    cursor: pointer;
    font-weight: 650;
}
.nexus-ui .recipient-message-preview p {
    max-width: 520px;
    margin: 5px 0 10px;
    white-space: pre-wrap;
}
.nexus-ui .preview-summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
}
.nexus-ui .preview-summary span { color: var(--ui-muted); }
.nexus-ui .template-variable-inline {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 5px;
    margin-top: 6px;
    color: var(--ui-muted);
    font-size: 10.5px;
}
.nexus-ui .template-variable-inline code {
    padding: 2px 5px;
    color: #33444b;
    background: #f1f4f5;
    border: 1px solid #dce3e6;
    border-radius: 4px;
}
.nexus-ui label.check.is-disabled { color: var(--ui-muted); opacity: .72; }
.nexus-ui details.detached-editor:not([open]) { display: none; }
.nexus-ui .automation-rule-card header code {
    display: block;
    margin-top: 4px;
    color: var(--ui-muted);
    font-size: 10px;
}
.nexus-ui .tag.is-muted { opacity: .55; }
.nexus-ui .panel-head > a.button-primary,
.nexus-ui .panel-head-actions > a.button-primary {
    color: #fff;
    background: var(--ui-brand);
    border-color: var(--ui-brand);
}
@media (max-width: 700px) {
    .nexus-ui .request-row-link { grid-template-columns: minmax(0, 1fr); }
    .nexus-ui .request-row-link time,
    .nexus-ui .request-row-link .status-chip {
        width: auto;
        justify-self: start;
    }
}
.nexus-ui .locations-panel.is-location-ordering .location-row[draggable="true"] { cursor: grab; user-select: none; }
.nexus-ui .locations-panel.is-location-ordering .location-row[draggable="true"]:active { cursor: grabbing; }
.nexus-ui .locations-panel.is-location-ordering .location-row .record-actions { pointer-events: none; opacity: .42; }
.nexus-ui .locations-panel.is-location-ordering .location-sort input { background: #fff; border-color: var(--ui-border-strong); }
.nexus-ui .locations-panel:not(.is-location-ordering) .location-sort input[readonly] {
    color: var(--ui-muted);
    background: transparent;
    border-color: transparent;
}
.nexus-ui .bank-row-actions {
    --ui-bank-action-size: 28px;
    display: grid;
    grid-template-columns: repeat(4, var(--ui-bank-action-size));
    justify-content: end;
    align-items: center;
    gap: 2px;
}
.nexus-ui .bank-row-actions > .bank-correction {
    width: var(--ui-bank-action-size);
    min-width: 0;
    flex-basis: auto;
    grid-column: auto;
}
.nexus-ui .bank-row-actions > form {
    display: inline-flex;
    width: var(--ui-bank-action-size);
    height: var(--ui-bank-action-size);
    margin: 0;
}
.nexus-ui .bank-row-actions .bank-action-placeholder { width: var(--ui-bank-action-size); height: var(--ui-bank-action-size); }
.nexus-ui .bank-row-actions .icon-action {
    width: var(--ui-bank-action-size);
    height: var(--ui-bank-action-size);
    min-width: var(--ui-bank-action-size);
    min-height: var(--ui-bank-action-size);
    margin: 0;
    padding: 0;
    display: grid;
    place-items: center;
}
.nexus-ui .bank-correction-body {
    display: block;
    margin: 0;
    padding: 16px 18px;
    background: #fff;
    border: 0;
    border-radius: 0;
}
.nexus-ui .bank-correction-intro {
    display: block;
    margin: 0 0 14px;
    color: var(--ui-muted);
    font-size: 11px;
}
.nexus-ui .bank-correction-body:not(.ui-modal-layout) > form {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-items: start;
    gap: 12px;
}
.nexus-ui .bank-correction-body:not(.ui-modal-layout) > form > button {
    justify-self: start;
    align-self: end;
    width: auto;
    min-height: var(--ui-control-height);
    height: var(--ui-control-height);
    white-space: nowrap;
}
.nexus-ui .bank-correction-body:not(.ui-modal-layout) > .bank-storno {
    margin-top: 18px;
    padding-top: 16px;
    border-top: 1px solid var(--ui-border);
}
@media (max-width: 680px) {
    .nexus-ui .bank-correction-body:not(.ui-modal-layout) > form { grid-template-columns: 1fr; }
}
/* Multi-operation dialogs reuse the same body/footer without nesting forms. */
.nexus-ui :is(.bank-correction-body, .payment-action-area).ui-modal-layout { border: 0; border-radius: 0; }
.nexus-ui .payment-action-area.ui-modal-scroll-content { display:grid;grid-template-columns:minmax(0,1fr);background:transparent;gap:var(--ui-workspace-gap); }
.nexus-ui .payment-action-area.ui-modal-scroll-content > :is(section,.ui-modal-record-context) { min-width:0;grid-column:1/-1;padding:0;border:0;border-radius:0;background:transparent; }
.nexus-ui .payment-action-area.ui-modal-scroll-content > section > .form-grid { margin:0;padding:0; }
.nexus-ui .payment-action-area.ui-modal-scroll-content .modal-inline-heading { margin:0 0 var(--ui-workspace-gap); }
.nexus-ui .payment-action-area.ui-modal-scroll-content .danger-zone { border:0;background:transparent; }

.nexus-ui .bank-correction-body.ui-modal-scroll-content > form {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-items: start;
    gap: 12px;
    margin: 0;
}
.nexus-ui .bank-correction-body.ui-modal-scroll-content > .bank-storno {
    margin-top: 18px;
    padding-top: 16px;
    border-top: 1px solid var(--ui-border);
}
.nexus-ui .bank-correction-body.ui-modal-scroll-content > .bank-storno > label { grid-column: 1 / -1; }
@media (max-width: 680px) {
    .nexus-ui :is(.bank-correction-body, .payment-action-area).ui-modal-scroll-content { grid-template-columns: 1fr; }
    .nexus-ui .bank-correction-body.ui-modal-scroll-content > form { grid-template-columns: 1fr; }
}
.nexus-ui .bank-correction.ui-modal-editor[open] > summary > .ui-icon { display: none; }
.nexus-ui .manual-notification-table .notification-row {
    min-width: 1128px;
    grid-template-columns: 32px 132px minmax(175px,.8fr) minmax(280px,1.4fr) minmax(140px,.65fr) 244px;
    gap: 10px;
}
.nexus-ui .manual-notification-table [data-column="selection"] {
    display: grid;
    place-items: center;
    min-width: 32px;
    padding-inline: 0 !important;
}
.nexus-ui .manual-notification-table .manual-selection-hitbox {
    display: grid;
    place-items: center;
    width: 32px;
    height: 32px;
    margin: 0;
    cursor: pointer;
}
.nexus-ui .manual-notification-table input[type="checkbox"][data-select-manual],
.nexus-ui .manual-notification-table input[type="checkbox"][data-select-all-manual] {
    box-sizing: border-box;
    width: 16px;
    min-width: 16px;
    height: 16px;
    min-height: 16px;
    margin: 0;
    accent-color: var(--ui-brand);
}
.nexus-ui .manual-bulk-actions {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
    padding: 12px 18px;
    border-bottom: 1px solid #dce4e9;
}
.nexus-ui .manual-bulk-actions strong { flex: 0 0 auto; }
.nexus-ui .manual-bulk-action-buttons {
    display: flex;
    flex: 1 1 auto;
    align-items: center;
    justify-content: flex-end;
    flex-wrap: wrap;
    gap: 8px;
    margin-left: auto;
}
.nexus-ui .manual-bulk-action-buttons .button { width: auto; }
@media (max-width: 720px) {
    .nexus-ui .manual-bulk-action-buttons { flex-basis: 100%; }
}
.nexus-ui .notification-actions { flex-wrap: wrap; justify-content: flex-start; }
.nexus-ui .manual-notification-content { min-width: 0; }
.nexus-ui .manual-notification-content p { white-space: pre-wrap; overflow-wrap: anywhere; }
.nexus-ui .manual-edit { margin-top: 6px; }
.nexus-ui .manual-edit summary {
    width: max-content;
    max-width: 100%;
    font-size: 11px;
    color: #24577a;
    cursor: pointer;
}
.nexus-ui .manual-edit form {
    display: grid;
    gap: 8px;
    margin-top: 8px;
}
.nexus-ui .manual-edit label {
    display: grid;
    gap: 4px;
    font-size: 11px;
}
.nexus-ui .manual-edit input,
.nexus-ui .manual-edit textarea {
    width: 100%;
    min-width: 0;
}
.nexus-ui .sender-profiles-list {
    display: grid;
    gap: 10px;
    padding: 16px;
}
.nexus-ui .sender-profile-row {
    display: flex;
    align-items: end;
    flex-wrap: wrap;
    gap: 10px;
}
.nexus-ui .sender-profile-form {
    display: flex;
    align-items: end;
    flex: 1 1 360px;
    flex-wrap: wrap;
    gap: 10px;
    padding: 12px 16px;
}
.nexus-ui .sender-profile-form label:first-child { flex: 1 1 210px; }
.nexus-ui .sender-profile-form label:first-child input { width: 100%; }
.nexus-ui .automation-template-list { align-items: stretch; }
.nexus-ui .automation-template-list > .automation-rule-card {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    align-content: start;
    gap: 0;
    min-width: 0;
    overflow: hidden;
    border: 1px solid var(--ui-border);
    border-radius: var(--ui-radius-md);
    box-shadow: 0 3px 10px rgba(21, 31, 36, .05);
}
.nexus-ui .automation-rule-card > header {
    min-width: 0;
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
    padding: 13px 14px 11px;
    background: var(--ui-panel-head);
    border-bottom: 1px solid var(--ui-border);
}
.nexus-ui .automation-rule-card > header > div:first-child { min-width: 0; }
.nexus-ui .automation-rule-card > header .record-actions { flex: 0 0 auto; }
.nexus-ui .automation-rule-summary {
    min-width: 0;
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) auto;
    align-items: center;
    gap: 8px;
    padding: 11px 14px 13px;
}
.nexus-ui .automation-channel,
.nexus-ui .automation-delay {
    min-width: 0;
    padding: 7px 9px;
    color: var(--ui-muted);
    background: var(--ui-surface-subtle);
    border: 1px solid var(--ui-border);
    border-radius: var(--ui-radius-sm);
    font-size: 10px;
}
.nexus-ui .automation-channel.is-enabled { color: #0b7647; background: var(--ui-success-soft); border-color: #bfe3cf; }
.nexus-ui .automation-delay { white-space: nowrap; }
.nexus-ui .automation-rule-form {
    display: grid;
    width: 100%;
    min-width: 0;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-items: end;
    gap: 10px 14px;
}
.nexus-ui .automation-rule-form > label { min-width: 0; margin: 0; }
.nexus-ui .automation-rule-form > .check {
    display: grid;
    grid-template-columns: 16px minmax(0, 1fr);
    align-content: start;
    align-items: center;
    gap: 4px 8px;
    min-height: 38px;
    white-space: normal;
}
.nexus-ui .automation-rule-form > .check:first-of-type { grid-column: 1 / -1; min-height: 28px; }
.nexus-ui .automation-rule-form > .check small {
    grid-column: 2;
    margin: 0;
    color: var(--ui-muted);
    font-size: 10px;
    line-height: 1.3;
}
.nexus-ui .automation-rule-form > label:not(.check) {
    display: grid;
    gap: 4px;
    font-size: 10px;
}
.nexus-ui .automation-rule-form input[type="number"] {
    width: 100%;
    min-width: 0;
    min-height: var(--ui-control-height);
}
.nexus-ui .automation-rule-form > button {
    justify-self: start;
    align-self: end;
    min-height: var(--ui-control-height);
    white-space: nowrap;
}
.nexus-ui .automation-rule-form > .form-actions { grid-column: 1 / -1; padding: 0; }
@media (max-width: 1190px) {
    .nexus-ui .automation-template-list { grid-template-columns: 1fr; }
}
@media (max-width: 470px) {
    .nexus-ui .automation-rule-form { grid-template-columns: 1fr; }
    .nexus-ui .automation-rule-form > .check:first-of-type { grid-column: auto; }
    .nexus-ui .automation-rule-summary { grid-template-columns: 1fr; }
}
.nexus-ui .locations-panel.has-location-layout-changes [data-location-layout-form] .button { box-shadow: 0 0 0 2px rgba(229, 57, 53, .16); }
/* Document previews use the common wide modal shell and fixed action footer. */
.nexus-ui .document-preview-layout .document-preview-body { width: 100%; min-width: 0; min-height: 0; height: auto; padding: 0; overflow: hidden; }
.nexus-ui .document-preview-layout .document-preview-body iframe { width: 100%; height: min(60dvh, 620px); min-height: 220px; display: block; border: 0; }
.nexus-ui.nexus-settings .content { --ui-settings-gap: var(--ui-workspace-gap); }
.nexus-ui.nexus-settings .settings-tabs { margin-bottom: var(--ui-settings-gap); }
.nexus-ui.nexus-settings .settings-section + .settings-section { margin-top: var(--ui-settings-gap); }
.nexus-ui.nexus-settings .settings-layout,
.nexus-ui.nexus-settings .catalog-layout,
.nexus-ui.nexus-settings .panel-stack,
.nexus-ui.nexus-settings .ui-kit,
.nexus-ui.nexus-settings .security-summary,
.nexus-ui.nexus-settings .settings-bank-workspace {
    width: 100%;
    max-width: none;
    min-width: 0;
    margin-inline: 0;
}
.nexus-ui.nexus-settings .settings-layout,
.nexus-ui.nexus-settings .catalog-layout,
.nexus-ui.nexus-settings .panel-stack {
    gap: var(--ui-settings-gap);
}
.nexus-ui.nexus-settings .content > .panel,
.nexus-ui.nexus-settings .content > .settings-layout,
.nexus-ui.nexus-settings .content > .catalog-layout,
.nexus-ui.nexus-settings .content > .panel-stack,
.nexus-ui.nexus-settings .content > .settings-bank-workspace,
.nexus-ui.nexus-settings .content > .security-summary,
.nexus-ui.nexus-settings .content > .ui-kit {
    box-sizing: border-box;
}
.nexus-ui.nexus-settings .security-summary { gap: var(--ui-settings-gap); margin-bottom: var(--ui-settings-gap); }
.nexus-ui.nexus-settings .page-note { margin: var(--ui-settings-gap) 0 0; }
.nexus-ui.nexus-settings .form-section > .form-grid,
.nexus-ui.nexus-settings .form-section > form.form-grid,
.nexus-ui.nexus-settings .form-section > .panel-form {
    margin: 0;
    padding: var(--ui-panel-block) var(--ui-panel-inline) calc(var(--ui-panel-block) + 4px);
}
.nexus-ui.nexus-settings .settings-fieldset > .form-grid { margin: 0; padding: 4px 0 0; }
.nexus-ui.nexus-settings .settings-explainer {
    align-self: stretch;
    display: grid;
    align-content: center;
    padding: 10px 12px;
    color: var(--ui-muted);
    background: var(--ui-surface-subtle);
    border-color: var(--ui-border);
    border-radius: var(--ui-radius-sm);
}
.nexus-ui.nexus-settings .settings-explainer strong { color: var(--ui-text-strong); }
.nexus-ui.nexus-settings .settings-explainer p { font-size: 11px; line-height: 1.4; }
.nexus-ui.nexus-settings .sender-profiles-list + .sender-profile-form { border-top: 1px solid var(--ui-border); }
.nexus-ui.nexus-settings .settings-summary-stack { display: grid; gap: var(--ui-settings-gap); }
.nexus-ui.nexus-settings .notification-settings-grid {
    display: block;
    columns: 2 520px;
    column-gap: var(--ui-settings-gap);
}
.nexus-ui.nexus-settings .notification-settings-grid > .settings-summary-panel {
    width: 100%;
    display: inline-block;
    margin: 0 0 var(--ui-settings-gap);
    break-inside: avoid;
    vertical-align: top;
}
.nexus-ui.nexus-settings .notification-test-panel { margin-top: 0; }
.nexus-ui.nexus-settings .settings-summary-panel { min-width: 0; overflow: hidden; }
.nexus-ui.nexus-settings .settings-summary-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0 18px;
    margin: 0;
    padding: 10px var(--ui-panel-inline) 14px;
}
.nexus-ui.nexus-settings .settings-summary-grid > div {
    min-width: 0;
    display: grid;
    grid-template-columns: minmax(120px, .42fr) minmax(0, 1fr);
    align-items: baseline;
    gap: 10px;
    padding: 9px 0;
    border-bottom: 1px solid var(--ui-border);
}
.nexus-ui.nexus-settings .settings-summary-grid dt { color: var(--ui-muted); font-size: 10px; }
.nexus-ui.nexus-settings .settings-summary-grid dd {
    min-width: 0;
    margin: 0;
    overflow-wrap: anywhere;
    color: var(--ui-text-strong);
    font-size: 12px;
    font-weight: 680;
}
.nexus-ui.nexus-settings .settings-summary-list { display: grid; }
.nexus-ui.nexus-settings .settings-summary-row {
    min-width: 0;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 10px var(--ui-panel-inline);
    border-bottom: 1px solid var(--ui-border);
}
.nexus-ui.nexus-settings .settings-summary-row:last-child { border-bottom: 0; }
.nexus-ui.nexus-settings .settings-summary-row > div:first-child { min-width: 0; }
.nexus-ui.nexus-settings .settings-summary-row strong,
.nexus-ui.nexus-settings .settings-summary-row small { display: block; }
.nexus-ui.nexus-settings .settings-summary-row small { margin-top: 2px; color: var(--ui-muted); font-size: 10px; }
.nexus-ui.nexus-settings .settings-modal-form { width: 100%; margin: 0; padding: 16px; }
.nexus-ui.nexus-settings .settings-modal-form > .form-actions { margin-top: 2px; }
.nexus-ui.nexus-settings .panel-head-actions > form { display: inline-flex; margin: 0; }
.nexus-ui.nexus-settings .panel-head-actions,
.nexus-ui.nexus-settings .panel-actions {
    margin-left: auto;
    justify-content: flex-end;
}
@media (max-width: 700px) {
    .nexus-ui.nexus-settings .notification-settings-grid { columns: 1 auto; }
    .nexus-ui.nexus-settings .settings-summary-grid { grid-template-columns: 1fr; }
    .nexus-ui.nexus-settings .settings-summary-grid > div { grid-template-columns: minmax(105px, .42fr) minmax(0, 1fr); }
    .nexus-ui.nexus-settings .settings-summary-row { align-items: flex-start; }
    .nexus-ui.nexus-settings .form-section > .form-grid,
    .nexus-ui.nexus-settings .form-section > form.form-grid,
    .nexus-ui.nexus-settings .form-section > .panel-form {
        padding: 12px;
    }
}

/* Per-device network collection and automation capabilities. */
.nexus-ui.nexus-settings .integration-safety-note,
.nexus-ui .routeros-capability-summary {
    display: grid;
    gap: 4px;
    margin: 0 var(--ui-panel-inline) var(--ui-settings-gap, 14px);
    padding: 10px 12px;
    border-left: 3px solid var(--ui-brand);
    border-radius: var(--ui-radius-sm);
    background: rgba(235, 54, 54, .045);
}
.nexus-ui.nexus-settings .integration-safety-note span,
.nexus-ui .routeros-capability-summary span,
.nexus-ui .routeros-capability-summary small { color: var(--ui-muted); }
.nexus-ui .snmp-security-note { color: var(--ui-muted); }
.nexus-ui .snmp-security-note > span { display: block; }
.nexus-ui .snmp-security-note > [data-snmp-security-mode="invalid"] { color: var(--ui-danger); font-weight: 700; }
.nexus-ui .operational-log-shell { overflow: hidden; }
.nexus-ui .operational-log-layout { min-height: 620px; border-top: 1px solid var(--ui-border); }
.nexus-ui .operational-log-main { min-width: 0; display: flex; flex-direction: column; }
.nexus-ui .operational-log-toolbar { display: flex; align-items: end; flex-wrap: wrap; gap: 8px; padding: 10px 12px; border-bottom: 1px solid var(--ui-border); background: #f8fafb; }
.nexus-ui .operational-log-toolbar > div { min-width: 112px; }
.nexus-ui .operational-log-toolbar .operational-log-source { min-width: 210px; flex: 0 1 260px; }
.nexus-ui .operational-log-toolbar .filter-grow { min-width: 220px; flex: 1; }
.nexus-ui .operational-log-toolbar label { display: block; margin-bottom: 3px; color: var(--ui-muted); font-size: 10px; font-weight: 600; }
.nexus-ui .operational-log-toolbar input,
.nexus-ui .operational-log-toolbar select { min-height: 32px; padding: 5px 8px; font-size: 11px; }
.nexus-ui .operational-log-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 5px; }
.nexus-ui .operational-log-actions .button.is-active { color: #fff; border-color: var(--ui-brand); background: var(--ui-brand); }
.nexus-ui .operational-log-console-head { display: flex; justify-content: space-between; align-items: center; gap: 14px; padding: 9px 13px; border-bottom: 1px solid var(--ui-border); color: var(--ui-text); background: #fff; }
.nexus-ui .operational-log-console-head > div { min-width: 0; display: grid; gap: 2px; }
.nexus-ui .operational-log-console-head > div:last-child { flex: 0 0 auto; text-align: right; }
.nexus-ui .operational-log-console-head strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 12px; font-weight: 600; }
.nexus-ui .operational-log-console-head span { color: var(--ui-muted); font-size: 10px; }
.nexus-ui .operational-log-console { min-height: 470px; max-height: min(68vh, 760px); overflow: auto; overscroll-behavior: contain; color: #26343a; background: #fff; font: 10.5px/1.5 ui-monospace, SFMono-Regular, Consolas, "Liberation Mono", monospace; scrollbar-color: #b9c5ca #f5f7f8; }
.nexus-ui .operational-log-line { padding: 6px 11px 6px 8px; border-bottom: 1px solid #e8edef; border-left: 3px solid transparent; }
.nexus-ui .operational-log-line:hover { background: #f7fafb; }
.nexus-ui .operational-log-line-main { display: grid; grid-template-columns: 96px 42px minmax(0, 1fr); align-items: baseline; gap: 8px; }
.nexus-ui .operational-log-line time { color: #66757d; white-space: nowrap; }
.nexus-ui .operational-log-level { font-weight: 700; }
.nexus-ui .operational-log-line.is-info { border-left-color: #50a47a; }
.nexus-ui .operational-log-line.is-warning { border-left-color: #d79422; background: #fffdf7; }
.nexus-ui .operational-log-line.is-error { border-left-color: #d74b47; background: #fffafa; }
.nexus-ui .operational-log-line.is-debug { border-left-color: #7f91b8; }
.nexus-ui .operational-log-line.is-info .operational-log-level { color: #287650; }
.nexus-ui .operational-log-line.is-warning .operational-log-level { color: #9b640c; }
.nexus-ui .operational-log-line.is-error .operational-log-level { color: #b32f2b; }
.nexus-ui .operational-log-line.is-debug .operational-log-level { color: #596b95; }
.nexus-ui .operational-log-message { min-width: 0; overflow-wrap: anywhere; color: #1f2b31; }
.nexus-ui .operational-log-line-meta { display: flex; flex-wrap: wrap; gap: 5px 12px; padding: 2px 0 0 146px; color: #728087; font-size: 9px; }
.nexus-ui .operational-log-line code { color: inherit; font: inherit; }
.nexus-ui .operational-log-detail { margin: 4px 0 0 146px; }
.nexus-ui .operational-log-detail summary { color: var(--ui-brand); cursor: pointer; font-size: 9px; font-weight: 600; }
.nexus-ui .operational-log-detail pre { max-height: 240px; margin: 5px 0 0; padding: 7px 8px; overflow: auto; white-space: pre-wrap; overflow-wrap: anywhere; border: 1px solid #e0e6e9; color: #3f4d54; background: #f7f9fa; font: 9px/1.45 ui-monospace, SFMono-Regular, Consolas, monospace; }
.nexus-ui .operational-log-links { display: flex; flex-wrap: wrap; gap: 8px; margin: 4px 0 0 146px; }
.nexus-ui .operational-log-links a { color: var(--ui-brand); font-size: 9px; font-weight: 600; text-decoration: none; }
.nexus-ui .operational-log-empty { min-height: 470px; display: grid; place-content: center; gap: 4px; padding: 24px; color: var(--ui-muted); text-align: center; }
.nexus-ui .operational-log-empty strong { color: var(--ui-text); font-weight: 600; }
.nexus-ui .operational-log-footer { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 9px 12px; border-top: 1px solid var(--ui-border); background: #fbfcfd; }
.nexus-ui .operational-log-footer > div { min-width: 0; display: grid; gap: 2px; color: var(--ui-muted); font-size: 9px; }
.nexus-ui .operational-log-storage { border-top: 1px solid var(--ui-border); padding: 8px 13px 11px; color: var(--ui-muted); font-size: 10px; }
.nexus-ui .operational-log-storage summary { cursor: pointer; font-weight: 750; }
.nexus-ui .operational-log-storage p { margin: 6px 0 0; overflow-wrap: anywhere; }
@media (max-width: 900px) {
    .nexus-ui .operational-log-layout { min-height: 0; }
    .nexus-ui .operational-log-toolbar > div { flex: 1 1 135px; }
    .nexus-ui .operational-log-toolbar .operational-log-source { flex-basis: 210px; }
    .nexus-ui .operational-log-toolbar .filter-grow { flex-basis: 100%; }
    .nexus-ui .operational-log-actions { flex-basis: 100%; }
    .nexus-ui .operational-log-console-head { align-items: flex-start; flex-direction: column; }
    .nexus-ui .operational-log-console-head > div:last-child { text-align: left; }
    .nexus-ui .operational-log-console { min-height: 430px; max-height: 65vh; }
    .nexus-ui .operational-log-line-main { grid-template-columns: 82px 40px minmax(0, 1fr); gap: 6px; }
    .nexus-ui .operational-log-line-meta,
    .nexus-ui .operational-log-detail,
    .nexus-ui .operational-log-links { margin-left: 0; padding-left: 0; }
    .nexus-ui .operational-log-footer { align-items: flex-start; flex-direction: column; }
}
.nexus-ui .network-control-policy-panel { margin-bottom: var(--ui-workspace-gap); }
.nexus-ui .device-detail-content { display: grid; gap: var(--ui-workspace-gap); }
.nexus-ui .device-detail-content .detail-grid,
.nexus-ui .device-detail-content .detail-main,
.nexus-ui .device-detail-content .detail-side,
.nexus-ui .device-detail-content .monitoring-layout,
.nexus-ui .device-detail-content .routeros-layout { gap: var(--ui-workspace-gap); }
.nexus-ui .device-telemetry-panel { margin: 0; }
.nexus-ui .telemetry-panel-head { align-items: flex-start; gap: 16px; }
.nexus-ui .telemetry-head-actions { display: flex; align-items: center; justify-content: flex-end; flex-wrap: wrap; gap: 9px; }
.nexus-ui .telemetry-range { display: flex; flex-wrap: wrap; gap: 6px; justify-content: flex-end; }
.nexus-ui .telemetry-range .button.is-active { color: #fff; border-color: var(--ui-brand); background: var(--ui-brand); }
.nexus-ui .telemetry-live-state { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; padding: 9px 14px; border-top: 1px solid var(--ui-border); background: #fbfcfc; }
.nexus-ui .telemetry-live-state small { color: var(--ui-muted); margin-left: auto; }
.nexus-ui .device-telemetry-facts {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 8px;
    padding: 12px 14px;
    border-top: 1px solid var(--ui-border);
    background: #fff;
}
.nexus-ui .device-telemetry-facts > div { min-height: 54px; display: grid; align-content: center; gap: 3px; padding: 10px 12px; border: 1px solid #e5ebee; border-radius: 7px; background: #f8fafb; }
.nexus-ui .device-telemetry-facts span { color: var(--ui-muted); font-size: 10px; text-transform: uppercase; letter-spacing: .04em; }
.nexus-ui .device-telemetry-facts strong { min-width: 0; overflow-wrap: anywhere; font-size: 12px; line-height: 1.35; }
.nexus-ui .device-telemetry-facts .telemetry-fact-interfaces { grid-column: 1 / -1; }
.nexus-ui .telemetry-fact-interfaces ul { display: grid; grid-template-columns: repeat(auto-fit, minmax(118px, 1fr)); gap: 5px 8px; margin: 3px 0 0; padding: 0; list-style: none; }
.nexus-ui .telemetry-fact-interfaces li { min-width: 0; overflow: hidden; padding: 5px 8px; border: 1px solid #dfe7eb; border-radius: 5px; color: var(--ui-text); background: #fff; text-overflow: ellipsis; white-space: nowrap; font-size: 11px; font-weight: 650; }
.nexus-ui .device-telemetry-facts .telemetry-fact-meta { min-height: 42px; border-style: dashed; background: transparent; }
.nexus-ui .device-telemetry-facts .telemetry-fact-meta strong { color: var(--ui-muted); font-size: 11px; font-weight: 600; }
.nexus-ui .device-traffic-chart { padding: 12px 14px 14px; }
.nexus-ui .device-traffic-chart svg { width: 100%; height: 124px; display: block; overflow: visible; }
.nexus-ui .device-traffic-chart polyline { fill: none; stroke-width: 2; vector-effect: non-scaling-stroke; }
.nexus-ui .device-traffic-chart .traffic-rx { stroke: #14ae6b; }
.nexus-ui .device-traffic-chart .traffic-tx { stroke: var(--ui-brand); }
.nexus-ui .device-traffic-chart .traffic-grid-line { fill: none; stroke: var(--ui-border); stroke-width: 1; vector-effect: non-scaling-stroke; }
.nexus-ui .traffic-chart-legend { display: flex; align-items: center; flex-wrap: wrap; gap: 14px; margin-top: 7px; font-size: 11px; }
.nexus-ui .traffic-chart-legend .rx { color: #087a4c; font-weight: 700; }
.nexus-ui .traffic-chart-legend .tx { color: var(--ui-brand); font-weight: 700; }
.nexus-ui .traffic-chart-legend small { margin-left: auto; color: var(--ui-muted); }
.nexus-ui .telemetry-chart-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; align-items: stretch; padding: 16px 18px 20px; border-top: 1px solid var(--ui-border); background: #f7f9fa; }
.nexus-ui .telemetry-chart-card { min-width: 0; display: grid; grid-template-rows: auto 240px minmax(72px, auto); border: 1px solid #ccd7dd; border-radius: 9px; background: #fff; box-shadow: 0 8px 24px rgba(25, 39, 52, .13); overflow: visible; }
.nexus-ui .telemetry-chart-card.is-waiting { border-color: #dbe3e7; box-shadow: 0 5px 16px rgba(25, 39, 52, .08); }
.nexus-ui .telemetry-chart-card.is-waiting .telemetry-chart-plot { opacity: .62; }
.nexus-ui .telemetry-chart-card > header { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 8px; padding: 12px 14px 10px; border-bottom: 1px solid #e8edef; border-radius: 8px 8px 0 0; background: linear-gradient(180deg, #fff, #fbfcfd); }
.nexus-ui .telemetry-chart-card h3 { min-width: 0; margin: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 13px; }
.nexus-ui .telemetry-chart-head-actions { display: flex; align-items: center; gap: 6px; }
.nexus-ui .telemetry-chart-download:disabled { opacity: .38; cursor: not-allowed; }
.nexus-ui .telemetry-chart-page-handle { display: none; color: var(--ui-brand); cursor: grab; user-select: none; touch-action: none; }
.nexus-ui .telemetry-layout-toolbar { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; padding: 9px 14px; border-top: 1px solid var(--ui-border); background: #fff7e7; }
.nexus-ui .telemetry-layout-toolbar[hidden] { display: none; }
.nexus-ui .telemetry-layout-toolbar > span { min-width: 180px; flex: 1; color: var(--ui-muted); font-size: 11px; }
.nexus-ui .device-monitoring-workspace.is-telemetry-layout-editing .telemetry-chart-card { border-style: dashed; border-color: color-mix(in srgb, var(--ui-brand) 55%, #ccd7dd); }
.nexus-ui .device-monitoring-workspace.is-telemetry-layout-editing .telemetry-chart-card > header { grid-template-columns: 22px minmax(0, 1fr) auto; cursor: grab; background: #fff9ec; }
.nexus-ui .device-monitoring-workspace.is-telemetry-layout-editing .telemetry-chart-page-handle { display: inline-block; }
.nexus-ui .device-monitoring-workspace.is-telemetry-layout-editing .telemetry-chart-page-handle:focus-visible { outline: 2px solid color-mix(in srgb, var(--ui-brand) 55%, transparent); outline-offset: 2px; }
.nexus-ui .device-monitoring-workspace.is-telemetry-layout-editing .telemetry-chart-card.is-dragging { opacity: .58; box-shadow: 0 12px 30px rgba(25, 39, 52, .24); pointer-events: none; }
.nexus-ui.telemetry-pointer-dragging,
.nexus-ui.telemetry-pointer-dragging * { cursor: grabbing !important; user-select: none !important; }
.nexus-ui fieldset.integration-type-fields { min-inline-size: 0; margin: 0; padding: 0; border: 0; }
.nexus-ui .telemetry-chart-footer { min-height: 72px; padding: 9px 12px 11px; border-top: 1px solid #e8edef; border-radius: 0 0 9px 9px; background: #fbfcfd; }
.nexus-ui .telemetry-chart-legend { display: flex; flex-wrap: wrap; gap: 5px 8px; color: var(--ui-muted); font-size: 10px; }
.nexus-ui .telemetry-legend-item { appearance: none; padding: 3px 5px; border: 0; border-radius: 4px; color: inherit; background: transparent; cursor: pointer; font: inherit; text-align: left; }
.nexus-ui .telemetry-legend-item:hover { background: #f0f4f5; color: var(--ui-text); }
.nexus-ui .telemetry-legend-item.is-hidden { opacity: .42; text-decoration: line-through; }
.nexus-ui .telemetry-legend-item::before { content: ''; display: inline-block; width: 8px; height: 8px; margin-right: 5px; border-radius: 50%; background: var(--series); }
.nexus-ui .telemetry-chart-plot { position: relative; min-height: 240px; overflow: visible; padding: 2px; }
.nexus-ui .telemetry-chart-plot > canvas { display: block; width: 100%; height: 240px; touch-action: pan-y pinch-zoom; }
.nexus-ui .telemetry-chart-plot > canvas:not(.telemetry-chart-overlay):focus-visible { outline: 2px solid color-mix(in srgb, var(--ui-brand) 62%, transparent); outline-offset: -3px; }
.nexus-ui .telemetry-chart-overlay { position: absolute; z-index: 2; inset: 2px auto auto 2px; width: calc(100% - 4px); pointer-events: none; }
.nexus-ui .telemetry-chart-tooltip { position: absolute; z-index: 3; display: grid; gap: 4px; min-width: 150px; max-width: 260px; padding: 8px 10px; color: #fff; border: 1px solid rgba(255,255,255,.16); border-radius: 7px; background: #18232b; box-shadow: 0 8px 24px rgba(0,0,0,.28); pointer-events: none; font-size: 11px; }
.nexus-ui .telemetry-chart-tooltip.is-anchored {
    position: fixed;
    z-index: 160;
    min-width: 0;
    max-width: min(260px, calc(100vw - 16px));
    white-space: pre-wrap;
    overflow-wrap: anywhere;
}
.nexus-ui .ui-modal-validation-tooltip {
    position: fixed; z-index: 160; display: flex; align-items: start; gap: var(--ui-space-2);
    width: max-content; max-width: min(340px, calc(100vw - 16px));
    padding: var(--ui-space-2) var(--ui-space-3); border-radius: var(--ui-radius-sm);
    background: #171a1d; color: #fff; box-shadow: 0 4px 14px rgb(0 0 0 / 28%);
    font: var(--ui-copy-font-size)/var(--ui-copy-line-height) var(--ui-font); overflow-wrap: anywhere;
    pointer-events: none;
}
.nexus-ui .ui-modal-validation-tooltip[hidden] { display: none; }
.nexus-ui .ui-modal-validation-tooltip::before {
    position: absolute; content: ''; left: var(--validation-arrow); bottom: 100%; transform: translateX(-50%);
    border: 6px solid transparent; border-top: 0; border-bottom-color: #171a1d;
}
.nexus-ui .ui-modal-validation-tooltip.is-above::before {
    top: 100%; bottom: auto; border: 6px solid transparent; border-bottom: 0; border-top-color: #171a1d;
}
.nexus-ui .ui-modal-validation-icon {
    flex: none; display: inline-grid; place-items: center; width: 1.25em; height: 1.25em;
    border: 1px solid currentColor; border-radius: 50%; font-weight: 700; line-height: 1;
}
.nexus-ui [data-server-error] a { color: inherit; text-decoration: underline; }
.nexus-ui .telemetry-chart-tooltip[hidden] { display: none; }
.nexus-ui .telemetry-chart-tooltip time { color: #f1f4f6; font-weight: 700; }
.nexus-ui .telemetry-chart-tooltip span,
.nexus-ui .telemetry-chart-tooltip b { color: #fff; }
.nexus-ui .telemetry-chart-tooltip span::before { content: ''; display: inline-block; width: 7px; height: 7px; margin-right: 5px; border-radius: 50%; background: var(--series); }
.nexus-ui .telemetry-chart-settings { min-width: min(620px, 82vw); }
.nexus-ui .telemetry-chart-settings-list { display: grid; gap: 6px; max-height: min(58vh, 620px); overflow: auto; padding: 2px; }
.nexus-ui .telemetry-chart-setting-row { display: grid; grid-template-columns: 24px minmax(0, 1fr) auto; align-items: center; gap: 8px; min-height: 42px; padding: 6px 8px; border: 1px solid var(--ui-border); border-radius: 6px; background: #fff; }
.nexus-ui .telemetry-chart-setting-row:focus { outline: 2px solid color-mix(in srgb, var(--ui-brand) 55%, transparent); outline-offset: 1px; }
.nexus-ui .telemetry-chart-setting-row.is-dragging { opacity: .55; box-shadow: 0 7px 18px rgba(25, 39, 52, .18); }
.nexus-ui .telemetry-chart-drag-handle { color: var(--ui-muted); cursor: grab; font-weight: 800; letter-spacing: -3px; }
.nexus-ui .telemetry-chart-setting-row label { display: flex; align-items: center; gap: 9px; min-width: 0; margin: 0; }
.nexus-ui .telemetry-chart-setting-row label span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.nexus-ui .telemetry-chart-setting-row input[type="checkbox"] { width: 16px; min-width: 16px; height: 16px; min-height: 16px; margin: 0; padding: 0; }
.nexus-ui .telemetry-chart-order-actions { display: flex; gap: 3px; }
.nexus-ui .routeros-panel > .telemetry-disclosure { margin: 12px 20px; }
.nexus-ui .network-diagnostic-table { width: auto; margin: 0 var(--ui-panel-inline) var(--ui-panel-block); border: 1px solid var(--ui-border); border-radius: var(--ui-wrapper-radius); }
.nexus-ui .snmp-diagnostic-table { min-width: 760px; table-layout: fixed; }
.nexus-ui .snmp-diagnostic-table th:nth-child(1) { width: 165px; }
.nexus-ui .snmp-diagnostic-table th:nth-child(3) { width: 145px; }
.nexus-ui .snmp-diagnostic-table th:nth-child(4) { width: 72px; }
.nexus-ui .snmp-diagnostic-table th:nth-child(5) { width: 105px; }
.nexus-ui .snmp-diagnostic-table td { vertical-align: top; }
.nexus-ui .snmp-diagnostic-table td small { white-space: normal; overflow-wrap: anywhere; line-height: 1.4; }
.nexus-ui .snmp-diagnostic-table td code { overflow-wrap: anywhere; word-break: break-word; }
.nexus-ui .snmp-diagnostic-table td:last-child { white-space: nowrap; }
.nexus-ui .diagnostic-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: 0 20px 12px; }
.nexus-ui .diagnostic-actions .button { display: inline-flex; align-items: center; gap: 6px; }
.nexus-ui .diagnostic-actions .ui-icon { width: 14px; height: 14px; }
.nexus-ui .telemetry-disclosure > summary { display: inline-flex; align-items: center; min-height: 32px; padding: 6px 10px; border: 1px solid var(--ui-border); border-radius: 6px; background: #fff; color: var(--ui-text); cursor: pointer; font-size: 12px; font-weight: 750; list-style: none; }
.nexus-ui .telemetry-disclosure > summary::-webkit-details-marker { display: none; }
.nexus-ui .telemetry-disclosure > summary::before { content: '›'; margin-right: 7px; color: var(--ui-brand); font-size: 18px; line-height: 1; transform: rotate(0); transition: transform .15s ease; }
.nexus-ui .telemetry-disclosure[open] > summary::before { transform: rotate(90deg); }
.nexus-ui .telemetry-disclosure > .block-note,
.nexus-ui .telemetry-disclosure > .table-scroll,
.nexus-ui .telemetry-disclosure > .telemetry-diagnostic-groups { margin-top: 10px; }
.nexus-ui .telemetry-diagnostic-groups { display: grid; gap: 12px; }
.nexus-ui .telemetry-diagnostic-group { min-width: 0; border: 1px solid var(--ui-border); border-radius: var(--ui-wrapper-radius); overflow: hidden; }
.nexus-ui .telemetry-diagnostic-group h4 { display: flex; justify-content: space-between; gap: 8px; margin: 0; padding: 8px 10px; background: #f4f7f8; font-size: 12px; }
.nexus-ui .telemetry-diagnostic-group h4 span { color: var(--ui-muted); font-weight: 600; }
@media (max-width: 760px) {
    .nexus-ui .device-telemetry-facts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .nexus-ui .telemetry-chart-grid { grid-template-columns: 1fr; }
    .nexus-ui .telemetry-panel-head { align-items: stretch; }
    .nexus-ui .telemetry-head-actions { justify-content: flex-start; }
    .nexus-ui .telemetry-range { justify-content: flex-start; }
    .nexus-ui .telemetry-live-state small { width: 100%; margin-left: 22px; }
    .nexus-ui .device-telemetry-facts .telemetry-fact-interfaces { grid-column: 1 / -1; }
    .nexus-ui .telemetry-fact-interfaces ul { grid-template-columns: 1fr; }
}
@media print {
    .nexus-ui:not(.nexus-topology-page) { color: #111; background: #fff; }
    .nexus-ui:not(.nexus-topology-page) .app-shell,
    .nexus-ui:not(.nexus-topology-page) .main-panel {
        min-height: 0;
        display: block;
    }
    .nexus-ui:not(.nexus-topology-page) .sidebar,
    .nexus-ui:not(.nexus-topology-page) .sidebar-scrim,
    .nexus-ui:not(.nexus-topology-page) .topbar,
    .nexus-ui:not(.nexus-topology-page) .record-tabs,
    .nexus-ui:not(.nexus-topology-page) .workspace-tabs,
    .nexus-ui:not(.nexus-topology-page) .settings-tabs,
    .nexus-ui:not(.nexus-topology-page) .panel-actions,
    .nexus-ui:not(.nexus-topology-page) .record-actions,
    .nexus-ui:not(.nexus-topology-page) .nexus-toast-stack {
        display: none !important;
    }
    .nexus-ui:not(.nexus-topology-page) .content { padding: 0; }
    .nexus-ui:not(.nexus-topology-page) .panel {
        overflow: visible;
        border-color: #b9c0c4;
        box-shadow: none;
        break-inside: avoid;
    }
}

/* v0.9.23: shared Home / Monitoring panels. Device monitoring and map styles stay separate. */
.nexus-ui .monitoring-chart-widget { display: flex; flex-direction: column; }
.nexus-ui .monitoring-chart-widget .panel-head { flex-wrap: wrap; gap: 6px; }
.nexus-ui .monitoring-chart-widget .panel-head h2 { overflow-wrap: anywhere; }
.nexus-ui .monitoring-chart-widget .telemetry-chart-grid { display: block; flex: 1; padding: 0 8px; }
.nexus-ui .monitoring-chart-widget .telemetry-chart-card { border: 0; background: transparent; padding: 0; }
.nexus-ui .monitoring-chart-widget .telemetry-chart-page-handle { display: none; }
.nexus-ui .monitoring-chart-widget .telemetry-chart-plot { min-height: 180px; }
.nexus-ui .monitoring-chart-widget[data-height="2"] .telemetry-chart-plot { min-height: 400px; }
.nexus-ui .monitoring-chart-widget .telemetry-live-state { flex-wrap: wrap; padding: 8px; font-size: 10px; }
.nexus-ui .monitoring-panel-actions { display: flex; align-items: center; justify-content: space-between; padding: 8px; gap: 6px; }
.nexus-ui .monitoring-panel-actions label { display: flex; align-items: center; gap: 6px; font-size: 11px; }
.nexus-ui .monitoring-panel-actions select { width: auto; padding: 3px 6px; font-size: 11px; }
.nexus-ui .monitoring-panel-actions form { margin: 0; }
.nexus-ui .monitoring-device-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: 12px; }
.nexus-ui .monitoring-device-card { display: grid; gap: 6px; padding: 14px; color: inherit; text-decoration: none; }
.nexus-ui .monitoring-device-card header { display: flex; align-items: center; gap: 8px; }
.nexus-ui .monitoring-device-card small { color: var(--ui-muted); }
.nexus-ui .dashboard-system-tiles { grid-template-columns: repeat(auto-fill, minmax(145px, 1fr)); gap: 7px; padding: 7px; }
.nexus-ui .dashboard-system-tiles .system-tile > a,
.nexus-ui .dashboard-system-tiles .system-tile-unavailable { padding: 8px; min-height: 64px; gap: 7px; }
.nexus-ui .dashboard-system-tiles .service-icon { width: 28px; height: 28px; min-width: 28px; font-size: 14px; }
.nexus-ui .dashboard-system-tiles .system-tile-copy strong { font-size: 11px; }
.nexus-ui .dashboard-system-tiles .system-tile-copy small,
.nexus-ui .dashboard-system-tiles .system-tile-copy em { font-size: 9px; }


.nexus-ui [data-refresh-status] { display: none; margin: 0; }
.nexus-ui [data-refresh-status]:not(:empty) { display: block; margin-bottom: 12px; padding: 12px 14px; border: 1px solid var(--ui-warning, #c08418); border-left-width: 4px; border-radius: 6px; background: #fff8e7; color: #624509; font-size: 12px; font-weight: 650; line-height: 1.5; }
.nexus-ui [data-refresh-status][data-refresh-toast-source] { display: none; }
.nexus-ui .notification-summary { grid-template-columns: repeat(auto-fit, minmax(130px, 1fr)); }

/* v0.9.31: the template selector belongs to the stable UI as well. It does not
   alter existing pages; the technical template itself lives in a separate file. */
.nexus-ui .ui-template-settings { margin-bottom: var(--ui-workspace-gap); }
.nexus-ui .ui-template-options { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; padding: 14px; }
.nexus-ui .ui-template-option { min-width: 0; display: flex; align-items: center; gap: 16px; padding: 14px; border: 1px solid var(--ui-border); border-radius: var(--ui-radius-md); background: var(--ui-surface-subtle); }
.nexus-ui .ui-template-option.is-active { border-color: #9eabb1; background: #fff; box-shadow: inset 3px 0 var(--ui-brand); }
.nexus-ui .ui-template-option > div { min-width: 0; flex: 1; }
.nexus-ui .ui-template-option strong,
.nexus-ui .ui-template-option span,
.nexus-ui .ui-template-option small { display: block; }
.nexus-ui .ui-template-option span { margin-top: 2px; color: var(--ui-text); font-size: 12px; font-weight: 600; }
.nexus-ui .ui-template-option small { margin-top: 5px; }
.nexus-ui .ui-template-option form { flex: 0 0 auto; margin: 0; }
.nexus-ui .ui-template-option .button:disabled { color: var(--ui-muted); background: #edf0f2; cursor: default; opacity: .8; }
.nexus-ui .ui-template-safety { margin: 0; padding: 10px 14px; color: var(--ui-muted); border-top: 1px solid var(--ui-border); background: var(--ui-surface-subtle); font-size: 11.5px; }
.nexus-ui .ui-template-fallback { min-height: 28px; display: inline-flex; align-items: center; padding: 0 8px; color: #8d5e12; border: 1px solid #e3c989; border-radius: var(--ui-radius-sm); background: #fff8e7; font-size: 10.5px; font-weight: 700; font-family: inherit; }
.nexus-ui .ui-template-fallback:hover { color: #68450c; background: #fff2cf; }
@media (max-width: 820px) {
    .nexus-ui .ui-template-options { grid-template-columns: 1fr; }
}

/* Elements introduced solely for the technical template remain absent from
   the stable UI 2.0 presentation. */
.ui-template-technical-only { display: none !important; }

/* v0.9.26: approved settings blocks use the existing panel spacing. */
.nexus-ui.nexus-settings .routeradmin-panel { display: block; padding: 0; }
.nexus-ui.nexus-settings .routeradmin-panel .security-icon { margin: 0; flex: 0 0 auto; }
.nexus-ui.nexus-settings .routeradmin-panel > .panel-form { min-width: 0; grid-template-columns: minmax(0, 1fr); }
.nexus-ui.nexus-settings .routeradmin-panel > .panel-form > * { min-width: 0; }
.nexus-ui.nexus-settings .routeradmin-panel > .panel-form > .button { white-space: normal; }
.nexus-ui.nexus-settings .notification-bottom-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: var(--ui-settings-gap); align-items: start; }
.nexus-ui.nexus-settings .notification-bottom-grid > .panel { min-width: 0; margin: 0; }
.nexus-ui.nexus-settings .notification-bottom-grid .panel-head { align-items: start; }
.nexus-ui.nexus-settings .incident-settings-body { padding: 0; }
.nexus-ui.nexus-settings .incident-settings-body > .field-help { margin: 0 var(--ui-panel-inline) var(--ui-panel-block); padding: var(--ui-help-padding-block) var(--ui-help-padding-inline); border: 0; }
@media (max-width: 900px) { .nexus-ui.nexus-settings .notification-bottom-grid { grid-template-columns: 1fr; } }

/* Monitoring history keeps the shared panel and fact-list components. */
.nexus-ui .device-history-disclosure { margin: 12px var(--ui-panel-inline); }
.nexus-ui .device-monitoring-layout > .panel-stack { min-width: 0; }
.nexus-ui.nexus-settings .notification-test-panel > .panel-form { padding-bottom: calc(var(--ui-panel-block) + 4px); }
.nexus-ui.nexus-settings .notification-test-panel .form-actions { padding-bottom: 0; }
@media (max-width: 980px) { .nexus-ui .device-monitoring-layout { grid-template-columns: 1fr; } }

/* Nexus UI 3.0 · v0.9.34
   Shared tokens and components. Page-specific views only compose these rules. */
:root {
    --ui-bg: #dfe7eb;
    --ui-surface: #ffffff;
    --ui-surface-subtle: #f3f6f7;
    --ui-surface-hover: #edf2f4;
    --ui-panel-head: linear-gradient(180deg, #e8eef1 0%, #d5e0e5 100%);
    --ui-section-head: #dbe5ea;
    --ui-border: #d5dde1;
    --ui-border-strong: #bcc8ce;
    --ui-panel-border: #87959c;
    --ui-state-line-width: 2px;
    --ui-content-header-height: 56px;
}

html,
.nexus-ui { background-color: var(--ui-bg); }

/* Shared content and table header */
.nexus-ui .content-surface {
    min-width: 0;
    overflow: hidden;
    background: var(--ui-surface);
    border: 1px solid var(--ui-panel-border);
    border-radius: var(--ui-radius-md);
    box-shadow: var(--ui-shadow-panel);
}
.nexus-ui .content-header,
.nexus-ui .panel-head.content-header {
    box-sizing: border-box;
    min-height: var(--ui-content-header-height);
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 10px var(--ui-panel-inline);
    background: var(--ui-panel-head);
    border-bottom: 1px solid var(--ui-border-strong);
}
.nexus-ui .content-header > div:first-child { min-width: 0; display: grid; gap: 2px; }
.nexus-ui .content-header > div:first-child > strong { color: var(--ui-text-strong); font-size: 14px; font-weight: 720; }
.nexus-ui .content-header > div:first-child > small { color: var(--ui-muted); font-size: 10.5px; font-weight: 400; }
.nexus-ui .content-header-actions,
.nexus-ui .panel-head-actions { display: flex; align-items: center; justify-content: flex-end; flex-wrap: wrap; gap: 8px; }
.nexus-ui .content-header :is(.button,.icon-action),
.nexus-ui .panel-head.content-header :is(.button,.icon-action) { align-self: center; }

/* Stable tab geometry and contextual back control */
.nexus-ui :is(.record-tabs,.workspace-tabs,.settings-tabs) {
    min-height: 44px;
    height: 44px;
    align-items: stretch;
    padding-block: 0;
}
.nexus-ui :is(.record-tabs,.workspace-tabs,.settings-tabs) > a {
    min-height: 44px;
    height: 44px;
    padding-block: 0;
    transform: none !important;
}
.nexus-ui :is(.record-tabs,.workspace-tabs,.settings-tabs) > .page-back {
    color: #33464f;
    background: #eaf0f3;
    border-right: 1px solid var(--ui-border-strong);
    border-bottom-color: transparent;
    font-weight: 700;
}
.nexus-ui :is(.record-tabs,.workspace-tabs,.settings-tabs) > .page-back:hover {
    color: var(--ui-text-strong);
    background: #dde7eb;
    border-bottom-color: transparent;
}
.nexus-ui :is(.record-tabs,.workspace-tabs,.settings-tabs) > .page-back > span {
    min-width: auto;
    height: auto;
    padding: 0;
    color: inherit;
    background: transparent;
    border-radius: 0;
    font-size: 15px;
}

/* One filter console for lists across Nexus */
.nexus-ui.ui-template-classic .filter-console {
    min-width: 0;
    display: flex;
    align-items: end;
    flex-wrap: wrap;
    gap: var(--ui-filter-gap);
    margin: 0 0 var(--ui-workspace-gap);
    padding: var(--ui-filter-padding);
    background: var(--ui-surface);
    border: 1px solid var(--ui-border-strong);
    border-radius: var(--ui-radius-md);
    box-shadow: 0 2px 9px rgba(28,37,41,.07);
}
.nexus-ui.ui-template-classic .filter-console > label {
    min-width: 150px;
    flex: 0 1 190px;
    display: grid;
    gap: var(--ui-filter-field-gap);
    color: var(--ui-muted);
    font-size: var(--ui-filter-label-size);
    font-weight: 500;
}
.nexus-ui.ui-template-classic .filter-console > div {
    min-width: 150px;
    flex: 0 1 190px;
    display: grid;
    gap: var(--ui-filter-field-gap);
}
.nexus-ui.ui-template-classic .filter-console > div.filter-grow { min-width: 230px; flex: 1 1 300px; }
.nexus-ui.ui-template-classic .filter-console > div > label { color: var(--ui-muted); font-size: var(--ui-filter-label-size); font-weight: 500; }
.nexus-ui.ui-template-classic .filter-console > label.grow,
.nexus-ui.ui-template-classic .filter-console > label.filter-search { min-width: 230px; flex: 1 1 300px; }
.nexus-ui.ui-template-classic .filter-console :is(input,select,.searchable-select-trigger) {
    min-height: var(--ui-control-height);
    height: var(--ui-control-height);
    margin: 0;
}
.nexus-ui.ui-template-classic .filter-console > :is(.button,.icon-action) { min-height: var(--ui-control-height); height: var(--ui-control-height); }
.nexus-ui.ui-template-classic .filter-console .filter-reset-inactive { visibility: hidden; }

/* Form typography and connected controls */
.nexus-ui :is(input:not([type="checkbox"]):not([type="radio"]),select,textarea,output),
.nexus-ui :is(input:not([type="checkbox"]):not([type="radio"]),select,textarea)::placeholder {
    font-weight: 400 !important;
}
.nexus-ui :is(input:not([type="checkbox"]):not([type="radio"]),textarea)[readonly],
.nexus-ui :is(input:not([type="checkbox"]):not([type="radio"]),textarea):disabled,
.nexus-ui select:disabled { color: #59686f; background: #f1f4f5; font-weight: 400 !important; }
.nexus-ui label.check { color: var(--ui-text); font-weight: 400; }
.nexus-ui label.check small { color: var(--ui-muted); font-weight: 400; }
.nexus-ui :is(.input-action,.inline-field-action) {
    min-width: 0;
    display: grid;
    grid-template-columns: minmax(0,1fr) auto;
    align-items: stretch;
    gap: 7px;
}
.nexus-ui :is(.input-action,.inline-field-action) > :is(input,select,.searchable-select) { min-width: 0; width: 100%; margin: 0; }
.nexus-ui :is(.input-action,.inline-field-action) > .button {
    min-height: var(--ui-control-height);
    height: var(--ui-control-height);
    align-self: stretch;
    margin: 0;
}
.nexus-ui :is(.input-action,.inline-field-action) > .button.icon-only {
    width: var(--ui-control-height);
    min-width: var(--ui-control-height);
    padding: 0;
    display: inline-grid;
    place-items: center;
}

/* Reusable informational field */
.nexus-ui .ui-info-box {
    position: relative;
    display: grid;
    gap: 4px;
    margin: 0;
    padding: 11px 13px 11px 38px;
    color: #29485d;
    background: var(--ui-info-soft);
    border: 1px solid #bed5e8;
    border-left: 3px solid var(--ui-info);
    border-radius: var(--ui-radius-sm);
    font-size: 11.5px;
    line-height: 1.45;
}
.nexus-ui .ui-info-box::before {
    content: "i";
    position: absolute;
    top: 12px;
    left: 13px;
    width: 17px;
    height: 17px;
    display: grid;
    place-items: center;
    color: #fff;
    background: var(--ui-info);
    border-radius: 50%;
    font: 700 11px/1 var(--ui-font);
}
.nexus-ui .ui-info-box > strong { color: #173b54; font-size: 11.5px; }

/* ARES external-data proposal */
.nexus-ui .ares-result.is-suggestion {
    position: relative;
    gap: 10px;
    margin-top: 7px;
    padding: 18px 14px 12px;
    color: var(--ui-text);
    background: #eef7fd;
    border: 1px solid #7fb3d5;
    border-left: 3px solid var(--ui-info);
    animation: nexus-suggestion-in .18s ease-out both;
}
.nexus-ui .ares-result.is-suggestion > strong:first-child {
    position: absolute;
    top: -9px;
    left: 12px;
    padding: 0 7px 0 23px;
    color: #245b81;
    background: #eef7fd;
    font-size: 11px;
}
.nexus-ui .ares-result.is-suggestion > strong:first-child::before {
    content: "i";
    position: absolute;
    left: 4px;
    top: 0;
    width: 15px;
    height: 15px;
    display: grid;
    place-items: center;
    color: #fff;
    background: var(--ui-info);
    border-radius: 50%;
    font-size: 9px;
}
.nexus-ui .ares-result.is-suggestion .ares-inline-values dt,
.nexus-ui .ares-result.is-suggestion .ares-inline-values dd { border-bottom-color: #cfe1ed; }
@keyframes nexus-suggestion-in { from { opacity: 0; transform: translateY(-4px); } to { opacity: 1; transform: none; } }
.nexus-ui .ares-status-line { display: inline-flex; align-items: baseline; flex-wrap: wrap; gap: 5px; }
.nexus-ui .ares-status-line > strong { color: var(--ui-success); font-weight: 700; }
.nexus-ui .ares-status-line > small { color: var(--ui-muted); font-weight: 400; }

/* Thin vertical state language. Full row fills are intentionally removed. */
.nexus-ui .infrastructure-device-table .health-row > td:first-child { border-left-width: var(--ui-state-line-width); }
.nexus-ui .client-table-row {
    background: #fff !important;
    border-left: var(--ui-state-line-width) solid #9aa6ac;
}
.nexus-ui .client-table-row.client-state-active { border-left-color: var(--ui-success); }
.nexus-ui .client-table-row.client-state-paused { border-left-color: var(--ui-warning); }
.nexus-ui .client-table-row.client-state-closed,
.nexus-ui .client-table.is-archive .client-table-row { border-left-color: #929da2; }
.nexus-ui .legend-swatch { width: 12px; border-width: 0 0 0 var(--ui-state-line-width); border-radius: 0; background: #fff !important; }
.nexus-ui .legend-swatch.client-active { border-left-color: var(--ui-success); }
.nexus-ui .legend-swatch.client-paused { border-left-color: var(--ui-warning); }
.nexus-ui .legend-swatch.client-closed { border-left-color: #929da2; }
.nexus-ui .state-line { border-left: var(--ui-state-line-width) solid #96a2a8; }
.nexus-ui .state-line:is(.status-online,.state-completed) { border-left-color: var(--ui-success); }
.nexus-ui .state-line:is(.status-warning,.state-proposed,.state-scheduled,.state-executing) { border-left-color: var(--ui-warning); }
.nexus-ui .state-line:is(.status-offline,.state-failed,.state-review) { border-left-color: var(--ui-danger); }
.nexus-ui .state-line:is(.status-standby,.state-cancelled) { border-left-color: #929da2; }

/* Compact customer workspace headers remain content-driven. */
.nexus-ui :is(.client-site-card,.client-device-card,.client-service-card) > header {
    min-height: 0;
    height: auto;
    padding-block: 9px;
}
.nexus-ui :is(.client-card-workspace,.client-portal-panel) > .panel-head > div:first-child { display: grid; gap: 1px; }
.nexus-ui :is(.client-card-workspace,.client-portal-panel) > .panel-head :is(.eyebrow,h2,small) { margin-block: 0; }
.nexus-ui :is(.client-site-card,.client-device-card,.client-service-card) > header :is(.eyebrow,h3,small) { margin-block: 0; }

/* Neutral shared accordion */
.nexus-ui .ticket-change-fields {
    overflow: hidden;
    padding: 0;
    background: #f7f9fa;
    border: 1px solid var(--ui-border-strong);
    border-radius: var(--ui-radius-sm);
}
.nexus-ui .ticket-change-fields > summary {
    min-height: 40px;
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 8px 12px;
    color: var(--ui-text);
    background: #eef2f4;
    border: 0;
    border-bottom: 1px solid transparent;
    list-style: none;
    font-weight: 650;
    cursor: pointer;
}
.nexus-ui .ticket-change-fields > summary::-webkit-details-marker { display: none; }
.nexus-ui .ticket-change-fields > summary::before { content: "›"; color: var(--ui-muted); font-size: 18px; transition: transform .15s ease; }
.nexus-ui .ticket-change-fields[open] > summary { border-bottom-color: var(--ui-border); }
.nexus-ui .ticket-change-fields[open] > summary::before { transform: rotate(90deg); }
.nexus-ui .ticket-change-fields > :not(summary) { margin-inline: 12px; }
.nexus-ui .ticket-change-fields > p { margin-top: 10px; }
.nexus-ui .ticket-change-fields > label:last-child { margin-bottom: 12px; }

/* Modal document ends at its footer; no secondary white strip. */
.nexus-ui.modal-document { background: var(--ui-surface); }
.nexus-ui.modal-document .modal-document-content:not(.modal-document-content-flush) { padding: 16px 16px 0; }
.nexus-ui.modal-document .modal-document-content > form.modal-flat-form {
    min-height: 100%;
    display: grid;
    grid-template-rows: auto minmax(0,1fr) auto;
    margin: 0;
}
.nexus-ui.modal-document .modal-document-content > form > .form-actions {
    min-height: 58px;
    margin: 0;
    padding: 10px 16px;
    background: var(--ui-surface-subtle);
    border-top: 1px solid var(--ui-border-strong);
    border-radius: 0 0 var(--ui-radius-md) var(--ui-radius-md);
}
.nexus-ui.modal-document .modal-document-content:not(.modal-document-content-flush) > form > .form-actions { margin-inline: -16px; }
.nexus-ui.modal-document .modal-document-content-flush > form > .form-actions { margin: 0; }

/* Responsive two-column price-list groups and compact tariff rows */
.nexus-ui .price-list-preview {
    display: grid;
    grid-template-columns: repeat(2, minmax(0,1fr));
    align-items: start;
    gap: var(--ui-workspace-gap);
}
.nexus-ui .price-list-preview > .price-list-group { min-width: 0; }
.nexus-ui .price-list-products { grid-template-columns: 1fr; gap: 8px; padding: 10px; }
.nexus-ui .price-list-product > header { min-height: 0; padding: 11px 12px; }
.nexus-ui .price-list-product > header strong { font-size: 14px; }
.nexus-ui .price-list-product > div > section {
    min-width: 0;
    grid-template-columns: minmax(0,1fr) auto;
    gap: 10px;
    padding: 9px 12px;
}
.nexus-ui .price-list-product > div > section > div { min-width: 0; overflow-wrap: anywhere; }
.nexus-ui .price-list-product > div > section > b { white-space: nowrap; }

/* Infrastructure tree: one header and the tree itself, without a page-size panel. */
.nexus-ui .infrastructure-tree-page { display: grid; gap: 0; }
.nexus-ui .tree-content-header { border: 1px solid var(--ui-panel-border); border-radius: var(--ui-radius-md) var(--ui-radius-md) 0 0; }
.nexus-ui .infrastructure-tree-page .tree-page-list {
    background: #fff;
    border: 1px solid var(--ui-panel-border);
    border-top: 0;
    border-radius: 0 0 var(--ui-radius-md) var(--ui-radius-md);
    box-shadow: var(--ui-shadow-panel);
}

/* Network-control filter and table */
.nexus-ui .network-control-workspace { min-width: 0; }
.nexus-ui .network-control-filters > label:first-child { flex-basis: 320px; }
.nexus-ui .infrastructure-inventory-panel > .table-scroll { border: 0; }
.nexus-ui .ui-icon-settings {
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 7h10M18 7h2M4 17h2M10 17h10M14 4v6M6 14v6' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E") center/contain no-repeat;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 7h10M18 7h2M4 17h2M10 17h10M14 4v6M6 14v6' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E") center/contain no-repeat;
}

/* Network changes use the same component globally and in a device card. */
.nexus-ui .network-change-summary { width: 100%; margin-bottom: 7px; }
.nexus-ui .network-mode-line {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px 22px;
    margin: 0 0 var(--ui-workspace-gap);
    padding: 7px 11px;
    color: var(--ui-muted);
    background: rgba(255,255,255,.62);
    border: 1px solid var(--ui-border);
    border-radius: var(--ui-radius-sm);
    font-size: 10.5px;
}
.nexus-ui .network-mode-line strong { color: var(--ui-text); }
.nexus-ui .network-change-filters > label.grow { flex-basis: 300px; }
.nexus-ui .network-change-scroll { border: 0; }
.nexus-ui .network-change-list { min-width: 980px; display: grid; }
.nexus-ui .network-change-head,
.nexus-ui .network-change-row {
    display: grid;
    grid-template-columns: minmax(210px,1.2fr) minmax(155px,.8fr) minmax(230px,1.15fr) 150px 120px;
    align-items: center;
    gap: 10px;
}
.nexus-ui .network-change-head {
    min-height: 36px;
    padding: 0 14px;
    color: var(--ui-muted);
    background: var(--ui-surface-subtle);
    border-bottom: 1px solid var(--ui-border);
    font-size: 9.5px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .035em;
}
.nexus-ui .network-change-item { min-width: 0; background: #fff; border-bottom: 1px solid var(--ui-border); }
.nexus-ui .network-change-item:last-child { border-bottom: 0; }
.nexus-ui .network-change-row {
    min-height: 58px;
    padding: 8px 14px 8px 12px;
    background: #fff;
    list-style: none;
    cursor: pointer;
}
.nexus-ui .network-change-row::-webkit-details-marker { display: none; }
.nexus-ui .network-change-row:hover { background: var(--ui-surface-hover); }
.nexus-ui .network-change-row > div { min-width: 0; }
.nexus-ui .network-change-row :is(strong,small) { display: block; min-width: 0; overflow-wrap: anywhere; }
.nexus-ui .network-change-row small { margin-top: 2px; color: var(--ui-muted); font-size: 10px; }
.nexus-ui .network-change-main { display: flex; align-items: center; gap: 8px; }
.nexus-ui .network-change-main > span:last-child { min-width: 0; }
.nexus-ui .network-row-chevron,
.nexus-ui .row-chevron {
    width: 16px;
    height: 16px;
    display: inline-grid;
    flex: 0 0 16px;
    place-items: center;
    color: var(--ui-muted);
}
.nexus-ui .network-row-chevron::before,
.nexus-ui .row-chevron::before { content: "›"; font-size: 18px; line-height: 1; transition: transform .15s ease; }
.nexus-ui .network-change-item[open] .network-row-chevron::before,
.nexus-ui .notification-record[open] .row-chevron::before { transform: rotate(90deg); }
.nexus-ui .network-change-values strong { display: flex; align-items: center; flex-wrap: wrap; gap: 6px; }
.nexus-ui .network-change-values s { color: var(--ui-muted); font-weight: 400; }
.nexus-ui .network-change-values ins { color: var(--ui-text-strong); text-decoration: none; }
.nexus-ui .mobile-label { display: none; }
.nexus-ui .network-state-tag.state-completed { color: #0c7246; background: var(--ui-success-soft); }
.nexus-ui .network-state-tag:is(.state-failed,.state-review) { color: #a92a26; background: var(--ui-danger-soft); }
.nexus-ui .network-state-tag:is(.state-proposed,.state-scheduled,.state-executing) { color: #81530c; background: var(--ui-warning-soft); }
.nexus-ui .network-state-tag.state-cancelled { color: var(--ui-muted); background: #edf1f2; }
.nexus-ui .network-change-detail { padding: 12px 14px 14px 36px; background: #f7f9fa; border-top: 1px solid var(--ui-border); }
.nexus-ui .network-change-detail .span-two { grid-column: 1 / -1; }
.nexus-ui .network-change-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 7px; margin-top: 12px; padding-top: 10px; border-top: 1px solid var(--ui-border); }
.nexus-ui .network-change-actions form { margin: 0; }

/* Notification queue: summary, standalone filters and inline disclosure. */
.nexus-ui .notification-summary { grid-template-columns: repeat(auto-fit,minmax(120px,1fr)); margin-bottom: var(--ui-workspace-gap); }
.nexus-ui .notification-filters > label.grow { flex-basis: 320px; }
.nexus-ui .notification-center .notification-table { min-width: 1060px; }
.nexus-ui .notification-center .notification-row { grid-template-columns: 130px minmax(180px,.8fr) minmax(270px,1.3fr) minmax(170px,.7fr) 190px; gap: 9px; padding: 7px 10px; }
.nexus-ui .notification-record { min-width: 1060px; color: var(--ui-text); background: #fff; }
.nexus-ui .notification-center .notification-head { border-left: var(--ui-state-line-width) solid transparent; }
.nexus-ui .network-change-head { border-left: var(--ui-state-line-width) solid transparent; }
.nexus-ui .notification-record > [data-nexus-cells] { display: grid; }
.nexus-ui .notification-message-detail { min-width: 0; }
.nexus-ui .notification-message-detail > summary { list-style: none; cursor: pointer; }
.nexus-ui .notification-message-detail > summary::-webkit-details-marker { display: none; }
.nexus-ui .notification-message-detail > summary:focus-visible { outline: 2px solid var(--ui-info); outline-offset: 2px; }
.nexus-ui details[data-modal-detail]:not([open]) > :not(summary) { display: none; }
.nexus-ui .ui-modal-suspended { display: none !important; }
.nexus-ui .ui-icon-document {
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6 3h8l4 4v14H6zM14 3v5h4M9 12h6M9 16h6' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6 3h8l4 4v14H6zM14 3v5h4M9 12h6M9 16h6' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat;
}
/* A read-only child is a compact card; its original editor stays visible. */
.nexus-ui.modal-document .ui-modal-scrim { background: transparent; backdrop-filter: none; }
.nexus-ui .ui-modal-underlay {
    filter: blur(2px);
    opacity: .64;
    pointer-events: none;
    user-select: none;
}
.nexus-ui .ui-route-modal.has-detail-overlay > header {
    filter: blur(2px);
    opacity: .64;
    pointer-events: none;
}
.nexus-ui.ui-detail-open details.ui-modal-editor.ui-detail-popover[open] {
    width: min(560px, calc(100vw - 48px));
    --ui-modal-max-height: min(72dvh, 720px);
    max-height: var(--ui-modal-max-height);
    border-left: 3px solid var(--ui-info, #307cb2);
    border-radius: 6px;
    box-shadow: 0 16px 48px rgba(14, 22, 26, .24);
    z-index: 130;
}
.nexus-ui.ui-detail-open details.ui-modal-editor.ui-detail-popover[open] > summary {
    min-height: 40px;
    gap: 9px;
    padding: 7px 9px 7px 12px;
    color: var(--ui-text);
    background: var(--ui-panel-head);
    border-bottom: 1px solid var(--ui-border);
    font-size: 12px;
    font-weight: 600;
}
.nexus-ui.ui-detail-open .ui-detail-popover > summary > .ui-icon {
    width: 16px;
    height: 16px;
    flex: 0 0 16px;
    color: var(--ui-info, #307cb2);
}
.nexus-ui.ui-detail-open .ui-detail-popover > summary > .ui-modal-title {
    min-width: 0;
    flex: 1;
    overflow-wrap: anywhere;
}
.nexus-ui.ui-detail-open details.ui-modal-editor.ui-detail-popover[open] > .ui-modal-body {
    padding: 12px;
}
.nexus-ui .ui-detail-popover .ui-modal-body > :first-child { margin-top: 0; }
.nexus-ui .ui-detail-popover .ui-modal-body > :last-child { margin-bottom: 0; }
.nexus-ui .ui-detail-modal > .ui-modal-body { overflow-wrap: anywhere; }
.nexus-ui .ui-detail-modal .fact-list { padding: 0; }
.nexus-ui .ui-detail-modal .notification-message-body { margin: 14px 0 2px; padding: 12px 14px; background: #fff; border: 1px solid var(--ui-border-strong); border-radius: var(--ui-radius-sm); font-size: 12.5px; line-height: 1.6; }
.nexus-ui .ui-detail-modal .message-body-heading { margin: 0 0 8px; color: var(--ui-text-strong); font-size: 12px; font-weight: 600; line-height: 1.4; }
.nexus-ui .ui-detail-modal .network-change-detail { margin: 0; border: 0; }
.nexus-ui .notification-subject {
    min-width: 0;
    display: flex;
    align-items: center;
    gap: 6px;
    overflow: hidden;
    font-weight: 650;
}
.nexus-ui .notification-subject > span:last-child { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.nexus-ui .notification-message-body {
    margin: 4px 0 2px;
    padding: 10px 12px 10px 35px;
    color: var(--ui-text);
    background: #f6f8f9;
    border-top: 1px solid var(--ui-border);
}
.nexus-ui .notification-message-body p { margin: 0; white-space: pre-wrap; overflow-wrap: anywhere; }
.nexus-ui .notification-message-body p + p { margin-top: 8px; }

/* Content headings sit in the frame edge; modal chrome remains independent. */
.nexus-ui .ui-content-frame {
    --ui-frame-padding-block: 12px;
    margin: 14px 0 2px;
    padding: var(--ui-frame-padding-block) 14px;
    background: #fff;
    border: 1px solid var(--ui-border-strong);
    border-radius: var(--ui-radius-sm);
}
.nexus-ui .ui-content-frame > .ui-content-frame-title {
    position: relative;
    display: block;
    width: fit-content;
    max-width: calc(100% + 6px);
    margin: calc(-1 * var(--ui-frame-padding-block) - .7em - .5px) 0 8px -6px;
    padding: 0 6px;
    color: var(--ui-text-strong);
    background: #fff;
    font-size: 12px;
    font-weight: 600;
    line-height: 1.4;
}
.nexus-ui details[data-modal-detail][hidden] { display: none !important; }
.nexus-ui .ui-detail-trigger { min-width: 0; max-width: 100%; gap: 6px; }
.nexus-ui .ui-detail-trigger > .ui-detail-label { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.nexus-ui .form-actions { grid-column: 1 / -1; flex-wrap: wrap; justify-content: flex-end; }
.nexus-ui :is(.form-grid, .form-stack) > .button[type="submit"] { grid-column: 1 / -1; justify-self: end; }
.nexus-ui details.ui-modal-editor[open] > .ui-modal-body > .form-actions { padding-bottom: 0; }
.nexus-ui .sidebar-copyright { display: block; margin: 0; color: #a8b1b5; font-size: 11px; line-height: 1.5; }

.nexus-ui .notification-actions { align-items: center; gap: 5px; }
.nexus-ui .notification-actions :is(form,.button) { margin: 0; }

@media (max-width: 1050px) {
    .nexus-ui .price-list-preview { grid-template-columns: 1fr; }
}
@media (max-width: 760px) {
    .nexus-ui .content-header { align-items: flex-start; flex-direction: column; }
    .nexus-ui .content-header-actions { width: 100%; justify-content: flex-start; }
    .nexus-ui .filter-console > label,
    .nexus-ui .filter-console > div,
    .nexus-ui .filter-console > label.grow,
    .nexus-ui .filter-console > label.filter-search,
    .nexus-ui .filter-console > div.filter-grow { min-width: min(100%,220px); flex: 1 1 100%; }
    .nexus-ui .filter-console > :is(.button,.icon-action) { flex: 1 1 auto; }
    .nexus-ui .ares-inline-values { grid-template-columns: 1fr; }
    .nexus-ui .ares-inline-values dt { padding-bottom: 0; border-bottom: 0; }
    .nexus-ui .ares-inline-actions { align-items: stretch; flex-direction: column; }
    .nexus-ui .ares-inline-actions .button { width: 100%; }
    .nexus-ui .network-change-detail dl { grid-template-columns: 1fr; }
    .nexus-ui .network-change-detail .span-two { grid-column: auto; }
}

/* New functional address disclosure, styled independently for UI 2.0. */
.nexus-ui .management-address { display: inline-flex; align-items: center; gap: 4px; max-width: 100%; }
.nexus-ui .management-address-trigger {
    min-width: 0; padding: 2px 0; border: 0; background: transparent; color: var(--ui-text);
    font: inherit; cursor: help; text-align: left;
}
.nexus-ui .management-address-trigger code { font: inherit; overflow-wrap: anywhere; }
.nexus-ui .management-address-trigger:focus-visible { outline: 2px solid var(--ui-info); outline-offset: 2px; }
.nexus-ui .management-address-link { flex: 0 0 auto; padding: 2px; }
.nexus-ui .management-address-popover {
    position: fixed; z-index: 3000; display: grid; gap: 4px; width: max-content;
    max-width: calc(100vw - 16px); max-height: 60vh; overflow: auto;
    padding: 10px 12px; background: #fff; color: var(--ui-text); border: 1px solid var(--ui-border-strong);
    border-radius: var(--ui-radius-sm); box-shadow: var(--ui-shadow-float); font-size: 12px;
    overscroll-behavior: contain;
    overflow-anchor: none;
    scroll-behavior: auto;
}
.nexus-ui .management-address-popover > span { display: block; overflow-wrap: anywhere; }
.nexus-ui .management-address-popover > .is-primary { color: #245b81; }

/* Both delivery lists use the same seven semantic columns and whole-record owner. */
.nexus-ui .message-delivery-table { min-width: 1180px; }
.nexus-ui .message-delivery-table :is(.notification-row, .notification-record > [data-nexus-cells]) {
    grid-template-columns: minmax(130px,.8fr) minmax(155px,1fr) minmax(185px,1.2fr) minmax(160px,1fr) minmax(145px,.9fr) minmax(100px,.6fr) minmax(210px,1.2fr);
}
.nexus-ui .message-delivery-table .message-date-cell { display: flex; align-items: center; gap: 7px; }
.nexus-ui .message-delivery-table [data-column="date"] { white-space: nowrap; }
.nexus-ui .message-delivery-table .notification-head [data-column="date"] { display: flex; align-items: center; gap: 7px; }
.nexus-ui .message-delivery-table [data-message-detail] { cursor: pointer; }
.nexus-ui .message-delivery-table [data-message-detail]:hover > [data-nexus-cells] { background: var(--ui-surface-hover); }
.nexus-ui .message-delivery-table [data-message-detail]:focus-visible { outline: 2px solid var(--ui-info); outline-offset: -2px; }
.nexus-ui .message-delivery-table .notification-actions { justify-content: flex-end; flex-wrap: wrap; }

/* Stable right-hand icon slots: edit, message detail, remove. */
.nexus-ui .message-delivery-table .notification-actions {
    display: grid;
    grid-template-columns: minmax(0,1fr) auto;
    align-items: center;
    gap: 5px;
}
.nexus-ui .message-action-buttons { min-width: 0; display: flex; flex-wrap: wrap; justify-content: flex-end; align-items: center; gap: 3px; }
.nexus-ui .message-action-buttons:not(:has(> *)) { display: none; }
.nexus-ui .message-action-icons {
    grid-column: 2;
    display: grid;
    grid-template-columns: repeat(4, var(--ui-action-height, 30px));
    align-items: center;
    gap: 3px;
}
.nexus-ui .message-action-icons > [data-message-action] { grid-row: 1; }
.nexus-ui .message-action-icons > [data-message-action="incident"] { grid-column: 1; }
.nexus-ui .message-action-icons > [data-message-action="edit"] { grid-column: 2; }
.nexus-ui .message-action-icons > [data-message-action="detail"] { grid-column: 3; }
.nexus-ui .message-action-icons > [data-message-action="remove"] { grid-column: 4; }
.nexus-ui .message-action-icons .icon-action { width: var(--ui-action-height, 30px); height: var(--ui-action-height, 30px); min-width: 0; padding: 0; }

/* Local date/time: native calendar plus mouse-accessible hour/minute lists. */
.nexus-ui .ui-datetime-control {
    position: relative;
    min-width: 0;
    width: 100%;
    display: grid;
    grid-template-columns: minmax(0,1fr) 62px auto 62px;
    align-items: center;
    gap: 4px;
}
.nexus-ui .ui-datetime-control > :is(input,select) { min-width: 0; width: 100%; margin: 0; }
.nexus-ui .ui-datetime-control > .ui-datetime-source {
    position: absolute;
    width: 1px;
    height: 1px;
    min-height: 0;
    padding: 0;
    border: 0;
    clip-path: inset(50%);
    opacity: 0;
    pointer-events: none;
}
.nexus-ui .ui-time-separator { color: var(--ui-muted); text-align: center; }

/* Sidebar footer uses the same left-aligned caption for both lines. */
.nexus-ui .sidebar-foot > :is(.nexus-version,.sidebar-copyright) {
    display: block;
    margin: 0;
    color: #a8b1b5;
    font: 400 11px/1.5 var(--ui-font);
    text-align: left;
    letter-spacing: normal;
}

/* Refresh notices float below navigation and never take content height. */
.nexus-ui .nexus-toast-stack:has(> [data-refresh-notice]) { top: var(--ui-refresh-notice-top, calc(var(--ui-shell-topbar-height, var(--ui-topbar-height)) + 48px)); }


/* v0.9.35: shared compact list footer. The four page sizes stay native. */
.nexus-ui .ui-list-pager {
    min-width: 0;
    min-height: 32px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 4px 12px;
    padding: 2px var(--ui-panel-inline);
    border-top: 1px solid var(--ui-border);
    background: var(--ui-list-footer-background, #e8edf0);
    color: var(--ui-muted);
    font-size: 10px;
    line-height: 1.3;
}
.nexus-ui .ui-list-pages,
.nexus-ui .ui-list-page-size,
.nexus-ui .ui-list-page-size > label { display: flex; flex-direction: row; align-items: center; gap: 6px; margin: 0; }
.nexus-ui .ui-list-pages { flex-wrap: wrap; }
.nexus-ui .ui-list-page-size { flex: 0 0 auto; padding: 0; border: 0; background: transparent; }
.nexus-ui .ui-list-page-size > label { flex-wrap: nowrap; white-space: nowrap; font-size: inherit; font-weight: 500; }
.nexus-ui .ui-list-pages > span:first-child { margin-right: 4px; white-space: nowrap; }
.nexus-ui .ui-list-page-size select { flex: 0 0 64px; width: 64px; min-width: 64px; min-height: var(--ui-action-height, 26px); height: var(--ui-action-height, 26px); margin: 0; padding: 2px 5px; font-size: inherit; }
.nexus-ui .ui-list-pager [aria-disabled="true"] { opacity: .5; cursor: default; }

.nexus-ui .notification-head .table-sort-link { font: inherit; color: inherit; }
.nexus-ui .notification-head .table-sort-link.active { color: var(--ui-brand); }

.nexus-ui .bank-table-head .table-sort-link { font: inherit; color: inherit; }
.nexus-ui .bank-table-head .table-sort-link.active { color: var(--ui-brand); }

/* Shared record structure: actions belong to the record heading. */
.nexus-ui .ui-record-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-end;
    gap: 4px;
    margin: 0;
    padding: 0;
    min-width: 0;
}
.nexus-ui .ui-record-actions > form { margin: 0; }
.nexus-ui .portal-account-head { flex-wrap: wrap; }
.nexus-ui .portal-account-head > .portal-account-identity { flex: 1 1 160px; column-gap: 7px; }
.nexus-ui .portal-account-controls { min-width: 0; display: flex; flex: 0 1 auto; align-items: center; flex-wrap: wrap; justify-content: flex-end; gap: 6px; }
.nexus-ui .record-note { white-space: pre-wrap; overflow-wrap: anywhere; }

/* Catalog records reuse the shared record/header/actions and note components. */
.nexus-ui .ui-catalog-workspace :is(.catalog-edit-row, .catalog-tariff) { display: block; min-width: 0; margin: 0; padding: 0; }
.nexus-ui .ui-catalog-workspace .ui-record-card-head { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.nexus-ui .ui-catalog-workspace .ui-record-identity { flex: 1 1 160px; min-width: 0; overflow-wrap: anywhere; }
.nexus-ui .ui-catalog-workspace .ui-record-identity > :is(strong,small) { display: block; }
.nexus-ui .ui-catalog-workspace .ui-record-actions { flex: 0 1 auto; margin-left: auto; }
.nexus-ui .ui-catalog-workspace .ui-record-card-head .targeted-editor { flex-basis: 100%; }
.nexus-ui .ui-catalog-workspace .catalog-parameters { margin: 8px 12px; white-space: pre-wrap; overflow-wrap: anywhere; }
.nexus-ui .ui-catalog-workspace .is-disabled { opacity: 1; }
.nexus-ui .ui-catalog-workspace .tariff-summary-row small { white-space: normal; overflow: visible; }
.nexus-ui .ui-catalog-workspace .catalog-item-archive.ui-disclosure { margin: 8px; border: 1px solid var(--ui-border);  }
.nexus-ui .ui-catalog-workspace .ui-disclosure > summary > span { padding: 0; border: 0; background: transparent; font: inherit; }
.nexus-ui .ui-catalog-workspace .empty-state { column-span: all; grid-column: 1 / -1; }

.nexus-ui .ui-catalog-workspace .ui-disclosure > summary { justify-content: flex-start; flex-wrap: wrap; }
.nexus-ui .ui-catalog-workspace .ui-disclosure-chevron { flex: 0 0 7px; width: 7px; height: 7px; border: solid currentColor; border-width: 0 1.5px 1.5px 0; transform: rotate(-45deg); }
.nexus-ui .ui-catalog-workspace .ui-disclosure[open] > summary .ui-disclosure-chevron { transform: rotate(45deg); }
.nexus-ui .ui-catalog-workspace .ui-disclosure-hint { margin-left: auto; color: var(--ui-muted); font-size: 10.5px; font-weight: 400; }
.nexus-ui .ui-catalog-workspace .ui-disclosure-hint::before { content: "Zobrazit archiv"; }
.nexus-ui .ui-catalog-workspace .ui-disclosure[open] > summary .ui-disclosure-hint::before { content: "Skrýt archiv"; }
.nexus-ui .ui-catalog-workspace .ui-disclosure > summary:focus-visible { outline: 2px solid var(--ui-brand); outline-offset: -2px; }

/* The classic template retains its own header spacing for the shared markup. */
.nexus-ui .ui-catalog-workspace .ui-record-card-head { min-height: 40px; padding: 8px 12px; background: var(--ui-panel-head); }
.nexus-ui .ui-catalog-workspace :is(.catalog-edit-row,.catalog-tariff) > header { background: var(--ui-surface); }

/* Record semantics: descriptions are normal text; highlighted notes are separate. */
.nexus-ui .record-description { margin: 8px 12px; color: var(--ui-text); white-space: pre-wrap; overflow-wrap: anywhere; }
/* A section without actions must not leave an empty account-header separator. */
.nexus-ui .topbar-page-actions:not(:has(> *)),
.nexus-ui .topbar-page-actions:not(:has(> *)) + .topbar-divider { display: none; }
.nexus-ui :is(.catalog-page-actions,.ui-page-actions) { min-width: 0; display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: 4px; }
.nexus-ui .topbar-page-actions:has(> :is(.catalog-page-actions,.ui-page-actions)) { display: flex; }
.nexus-ui :is(.catalog-page-actions,.ui-page-actions) .button-light { display: inline-flex; }
/* Independent catalog groups share the two-column record layout. */
.nexus-ui .ui-catalog-workspace > :is(.catalog-groups, .product-list),
.nexus-ui .ui-catalog-workspace > .catalog-archive > .product-list {
    display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: start; gap: 8px; columns: auto; padding: 0;
}
.nexus-ui .ui-catalog-workspace > .catalog-groups > .catalog-group,
.nexus-ui .ui-catalog-workspace .product-list > .product-card { display: block; width: auto; min-width: 0; margin: 0; }
.nexus-ui .ui-catalog-workspace > .catalog-archive { margin: 0; }
.nexus-ui .ui-catalog-workspace > .catalog-archive > .product-list { padding: 8px; }
.nexus-ui .ui-catalog-workspace .ui-record-identity > h2 { margin: 0; overflow-wrap: anywhere; white-space: normal; }
@media (max-width: 980px) {
    .nexus-ui .ui-catalog-workspace > :is(.catalog-groups, .product-list),
    .nexus-ui .ui-catalog-workspace > .catalog-archive > .product-list { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 760px) {
    .nexus-ui .topbar:has(:is(.catalog-page-actions,.ui-page-actions)) { height: auto; flex-wrap: wrap; row-gap: 6px; padding-block: 8px; }
    .nexus-ui .topbar:has(:is(.catalog-page-actions,.ui-page-actions)) > .topbar-context { flex: 1 1 180px; }
    .nexus-ui .topbar-actions:has(:is(.catalog-page-actions,.ui-page-actions)) { flex-basis: 100%; flex-wrap: wrap; justify-content: space-between; margin-left: 0; }
}

/* Closed modal housing must not occupy a row in the catalog grid. */
.nexus-ui .ui-catalog-workspace > .detached-editors { display: none; }

/* Catalog ownership: permanent categories, device facts and compact price rows. */
.nexus-ui .ui-catalog-workspace .catalog-group-title { display: flex; flex-wrap: wrap; }
.nexus-ui .ui-catalog-workspace .catalog-device-card { margin: 8px; border: 1px solid var(--ui-border);  }
.nexus-ui .ui-catalog-workspace .catalog-device-card > header { min-height: 40px; padding: 6px 10px; }
.nexus-ui .catalog-device-facts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 4px 12px; margin: 0 10px 6px; }
.nexus-ui .catalog-device-facts > div { min-width: 0; }
.nexus-ui .catalog-device-facts :is(dt, dd) { margin: 0; overflow-wrap: anywhere; }
.nexus-ui .catalog-device-facts dt { color: var(--ui-muted); font-size: 10.5px; }
.nexus-ui .catalog-device-facts dd { font-size: 12px; }
.nexus-ui .catalog-record-state { color: var(--ui-muted); font-size: 10.5px; font-weight: 500; }
.nexus-ui span.catalog-record-state { display: inline-block; margin-left: 8px; padding: 0 5px; border: 1px solid var(--ui-border); border-radius: var(--ui-radius-sm); }
.nexus-ui .ui-catalog-workspace .catalog-device-card > .record-description { margin: 6px 10px 8px; }
.nexus-ui .ui-catalog-workspace .catalog-tariff { border: 0; border-bottom: 1px solid var(--ui-border); }
.nexus-ui .ui-catalog-workspace .catalog-tariff:last-of-type { border-bottom: 0; }
.nexus-ui .ui-catalog-workspace .tariff-summary-row { display: grid; grid-template-columns: minmax(0, 1fr) max-content max-content; gap: 8px 12px; min-height: 46px; padding: 7px 10px; }
.nexus-ui .ui-catalog-workspace .tariff-summary-row .ui-record-identity { min-width: 0; }
.nexus-ui .ui-catalog-workspace .tariff-summary-row .ui-record-actions { flex-wrap: nowrap; }
.nexus-ui .ui-catalog-workspace .catalog-tariff-summary { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.nexus-ui .catalog-tariff-price { min-width: 84px; text-align: right; font-variant-numeric: tabular-nums; white-space: nowrap; }
.nexus-ui .catalog-tariff-price > strong { display: block; font-size: 12px; font-weight: 600; }
.nexus-ui .catalog-tariff-price > small { display: block; color: var(--ui-muted); font-size: 10.5px; }
.nexus-ui .catalog-record-detail { min-width: 0; padding: 12px; font-size: 12px; }
.nexus-ui .catalog-detail-name { margin: 0 0 12px; overflow-wrap: anywhere; }
.nexus-ui .catalog-detail-section { margin-top: 14px; }
.nexus-ui .catalog-detail-section > h3 { margin: 0 0 5px; color: var(--ui-muted); font: 500 10.5px/1.4 var(--ui-font); }
.nexus-ui .catalog-detail-section > :is(.record-description, .catalog-parameters) { margin: 0; white-space: pre-wrap; overflow-wrap: anywhere; }
.nexus-ui .catalog-record-detail .fact-list { margin: 0; }
@media (max-width: 600px) {
    .nexus-ui .ui-catalog-workspace .tariff-summary-row { grid-template-columns: minmax(0, 1fr) max-content; }
    .nexus-ui .ui-catalog-workspace .tariff-summary-row > .ui-record-identity { grid-column: 1 / -1; }
    .nexus-ui .catalog-tariff-price { text-align: left; }
}

/* Reserve the detail slot so prices and edit/delete stay aligned across tariffs. */
.nexus-ui .ui-catalog-workspace .tariff-summary-row .ui-record-actions { width: calc(3 * var(--ui-action-height, 32px) + 8px); min-width: calc(3 * var(--ui-action-height, 32px) + 8px); }
.nexus-ui .catalog-record-detail .fact-list { padding: 0; }
.nexus-ui .catalog-record-detail .fact-list > div { grid-template-columns: minmax(85px, .36fr) minmax(0, 1fr); gap: 0; padding: 0; }
.nexus-ui .catalog-record-detail .fact-list :is(dt, dd) { margin: 0; padding: 5px 8px; min-width: 0; font-size: 10.5px; line-height: 1.42; overflow-wrap: anywhere; }
.nexus-ui .catalog-record-detail .fact-list dt { background: var(--ui-surface-subtle); font-weight: 400; }
.nexus-ui .catalog-record-detail .fact-list dd { font-weight: 600; }

/* Shared natural wrapper columns: each column follows the preceding card. */
.nexus-ui .ui-wrapper-flow[data-wrapper-flow],
.nexus-ui .ui-catalog-workspace .ui-wrapper-flow[data-wrapper-flow],
.nexus-ui.ui-template-technical .ui-wrapper-flow[data-wrapper-flow],
.nexus-ui.ui-template-technical .ui-catalog-workspace .ui-wrapper-flow[data-wrapper-flow] {
    --ui-wrapper-gap: 8px;
    display: block;
    columns: 2 300px;
    column-gap: var(--ui-wrapper-gap);
    column-fill: balance;
}
.nexus-ui .ui-wrapper-flow[data-wrapper-flow] > :where(:not(.targeted-editor):not(.detached-editor):not(.detached-editors):not([data-modal-editor]):not(.empty-state)),
.nexus-ui .ui-catalog-workspace .ui-wrapper-flow[data-wrapper-flow] > :where(:not(.targeted-editor):not(.detached-editor):not(.detached-editors):not([data-modal-editor]):not(.empty-state)),
.nexus-ui.ui-template-technical .ui-wrapper-flow[data-wrapper-flow] > :where(:not(.targeted-editor):not(.detached-editor):not(.detached-editors):not([data-modal-editor]):not(.empty-state)),
.nexus-ui.ui-template-technical .ui-catalog-workspace .ui-wrapper-flow[data-wrapper-flow] > :where(:not(.targeted-editor):not(.detached-editor):not(.detached-editors):not([data-modal-editor]):not(.empty-state)) {
    min-width: 0;
    width: 100%;
    margin: 0 0 var(--ui-wrapper-gap);
    break-inside: avoid;
    vertical-align: top;
}
.nexus-ui .ui-wrapper-flow[data-wrapper-flow] > :where(.panel, .product-card, .catalog-group, .system-detail-card),
.nexus-ui .ui-catalog-workspace .ui-wrapper-flow[data-wrapper-flow] > :where(.panel, .product-card, .catalog-group, .system-detail-card),
.nexus-ui.ui-template-technical .ui-wrapper-flow[data-wrapper-flow] > :where(.panel, .product-card, .catalog-group, .system-detail-card),
.nexus-ui.ui-template-technical .ui-catalog-workspace .ui-wrapper-flow[data-wrapper-flow] > :where(.panel, .product-card, .catalog-group, .system-detail-card) { display: flow-root; }
.nexus-ui .ui-wrapper-flow[data-wrapper-flow] > .empty-state,
.nexus-ui .ui-catalog-workspace .ui-wrapper-flow[data-wrapper-flow] > .empty-state,
.nexus-ui.ui-template-technical .ui-wrapper-flow[data-wrapper-flow] > .empty-state,
.nexus-ui.ui-template-technical .ui-catalog-workspace .ui-wrapper-flow[data-wrapper-flow] > .empty-state { column-span: all; width: 100%; margin: 0; }
@media (max-width: 980px) {
.nexus-ui .ui-wrapper-flow[data-wrapper-flow],
.nexus-ui .ui-catalog-workspace .ui-wrapper-flow[data-wrapper-flow],
.nexus-ui.ui-template-technical .ui-wrapper-flow[data-wrapper-flow],
.nexus-ui.ui-template-technical .ui-catalog-workspace .ui-wrapper-flow[data-wrapper-flow] { columns: 1 auto; }
}

.nexus-ui .catalog-detail-text { white-space: pre-wrap; }

/* Checkpoint 20: ticket list structure uses the same functional components in both templates. */
.nexus-ui .ticket-list-workspace { display: grid; gap: 8px; min-width: 0; }
.nexus-ui .ticket-list-workspace > .filter-console { margin-block: 0; }
.nexus-ui .ticket-filters .filter-search { flex: 1 1 260px; min-width: 0; }
.nexus-ui .ticket-filters > label:not(.filter-search) { flex: 0 1 190px; }
.nexus-ui .ticket-table { min-width: 720px; }
.nexus-ui .ticket-table-head,
.nexus-ui .ticket-table-row {
    display: grid;
    grid-template-columns: minmax(240px, 1fr) 170px 140px 112px;
    align-items: center;
    gap: 10px;
}
.nexus-ui .ticket-table-head { min-height: 32px; border-bottom: 1px solid var(--ui-border-strong); }
.nexus-ui .ticket-table-head .table-sort-link { font: inherit; color: inherit; }
.nexus-ui .ticket-table-head .table-sort-link.active { color: var(--ui-brand); }
.nexus-ui .ticket-table-row { position: relative; min-height: 46px; padding-block: 6px; border-bottom: 1px solid var(--ui-border); background: var(--ui-surface); }
.nexus-ui .ticket-table-row > * { min-width: 0; }
.nexus-ui .ticket-table-row::before { content: ""; position: absolute; inset: 0 auto 0 0; width: 3px; background: var(--ticket-state-color, #929da2); pointer-events: none; }
.nexus-ui .ticket-state-new { --ticket-state-color: var(--ui-danger); }
.nexus-ui .ticket-state-review { --ticket-state-color: var(--ui-warning); }
.nexus-ui .ticket-state-completed { --ticket-state-color: var(--ui-success); }
.nexus-ui .ticket-state-deleted { --ticket-state-color: #929da2; }
.nexus-ui .ticket-primary > strong,
.nexus-ui .ticket-primary > small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.nexus-ui .ticket-table-row .status-chip { display: inline-flex; width: auto; max-width: 100%; background: var(--ui-surface-subtle); }
.nexus-ui .ticket-table-row.ticket-state-new .status-chip { color: #a82b28; background: var(--ui-danger-soft); }
.nexus-ui .ticket-table-row.ticket-state-review .status-chip { color: #95610b; background: var(--ui-warning-soft); }
.nexus-ui .ticket-table-row.ticket-state-completed .status-chip { color: #0d7548; background: var(--ui-success-soft); }
.nexus-ui .ticket-row-actions,
.nexus-ui .ticket-note-card .ui-record-actions { display: flex; align-items: center; justify-content: flex-end; gap: 4px; }
.nexus-ui .ticket-row-actions > form,
.nexus-ui .ticket-note-card .ui-record-actions > form { display: contents; }
.nexus-ui .ticket-action-slot { flex: 0 0 var(--ui-action-height, 28px); width: var(--ui-action-height, 28px); height: var(--ui-action-height, 28px); }
.nexus-ui .ticket-directory > .panel-head { flex-wrap: wrap; gap: 8px; }
.nexus-ui .ticket-directory .panel-head-actions { flex-wrap: wrap; }
.nexus-ui .ticket-trash-actions:empty { display: none; }
.nexus-ui .ticket-detail .panel-head { flex-wrap: wrap; gap: 8px; }
.nexus-ui .ticket-detail .panel-head > div:first-child { min-width: 0; }
.nexus-ui .ticket-detail .panel-head small { display: block; color: var(--ui-muted); }
.nexus-ui .ticket-note-card > header { display: flex; align-items: start; flex-wrap: wrap; gap: 8px; }
.nexus-ui .ticket-note-card .ui-record-identity { flex: 1 1 150px; min-width: 0; overflow-wrap: anywhere; }
.nexus-ui .ticket-note-card .ui-record-identity > strong,
.nexus-ui .ticket-note-card .ui-record-identity > small { display: block; }
.nexus-ui .ticket-note-card .ui-record-body { min-width: 0; padding: 8px; }
.nexus-ui .ticket-note-card .record-note { margin: 0; }
.nexus-ui .ticket-detail .chat-bubble > header { flex-wrap: wrap; }
.nexus-ui .ticket-detail .chat-bubble > header strong { min-width: 0; overflow-wrap: anywhere; }
.nexus-ui .ticket-detail .composer-tools { flex-wrap: wrap; }
.nexus-ui .ticket-detail .composer-attach { position: relative; flex: 0 0 32px; }
.nexus-ui .ticket-detail .composer-attach input {
    display: block; position: absolute; inset: 0; width: 100%; height: 100%;
    min-height: 0; margin: 0; opacity: 0; cursor: pointer;
}
.nexus-ui .ticket-detail .composer-attach:focus-within { outline: 2px solid var(--ui-brand); outline-offset: 2px; }
.nexus-ui .ticket-detail .composer-previews { flex-wrap: wrap; }
.nexus-ui .ticket-detail .composer-error { min-width: 80px; overflow-wrap: anywhere; }
.nexus-ui .ticket-detail .composer-send {
    display: inline-flex; align-items: center; justify-content: center; gap: 5px;
    width: auto; height: auto; min-height: var(--ui-action-height, 28px);
    padding: 4px 9px; border-radius: var(--ui-radius-sm); font-size: inherit;
}

.nexus-ui .ticket-original-status { display: block; color: var(--ui-muted); font-size: 10.5px; line-height: 1.4; }
.nexus-ui .ticket-detail .panel-head { flex-direction: row; align-items: center; text-align: left; }

/* Checkpoint 21: the systems list and each detail card use the shared list/modal structure. */
.nexus-ui .system-list-workspace { display: grid; gap: 8px; min-width: 0; }
.nexus-ui .system-list-workspace > .filter-console { margin-block: 0; }
.nexus-ui .directory-table > .empty-state { display: grid; grid-template-columns: 1fr; min-height: 100px; }
.nexus-ui .directory-table [data-column="status"] .status-chip { width: auto; max-width: 100%; }
.nexus-ui .directory-table [data-column="address"] { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.nexus-ui .directory-table [data-column="actions"] { min-width: 76px; }
.nexus-ui .system-endpoint-list > .system-endpoint,
.nexus-ui .system-monitor-list > .system-monitor { display: block; min-width: 0; padding: 8px; }
.nexus-ui .system-record-head { display: flex; justify-content: space-between; align-items: flex-start; flex-wrap: wrap; gap: 8px; }
.nexus-ui .system-record-head > div:first-child { min-width: 0; flex: 1 1 130px; }
.nexus-ui .system-record-head h3 { margin: 0; font-size: 12px; font-weight: 500; overflow-wrap: anywhere; }
.nexus-ui .system-record-head small { color: var(--ui-muted); }
.nexus-ui .system-record-head .record-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 4px; }
.nexus-ui .system-record-head .record-actions form { margin: 0; }
.nexus-ui .system-action-slot { width: var(--ui-action-height, 28px); height: var(--ui-action-height, 28px); }
.nexus-ui .system-detail-card :is(dd, a, code, .system-check-error),
.nexus-ui .system-detail-identity :is(h2,p), .nexus-ui .service-section-form :is(.modal-context-strip,.monitor-result) { min-width: 0; overflow-wrap: anywhere; }
.nexus-ui .system-detail-card .fact-list .span-two { grid-column: 1 / -1; }
.nexus-ui .system-endpoint .record-note { margin: 8px 0 0; }
.nexus-ui .system-check-error { margin: 8px 0 0; color: var(--ui-danger); white-space: pre-wrap; }
.nexus-ui .service-section-form .modal-context-strip small { white-space: normal; }
.nexus-ui .service-section-form .icon-discovery-toolbar { flex-wrap: wrap; }
.nexus-ui .system-detail-card > .panel-head { flex-wrap: wrap; gap: 8px; }
.nexus-ui .system-detail-card .panel-head-actions { flex-wrap: wrap; }
.nexus-ui .service-section-form .form-grid.split { min-width: 0; }

/* Shared row affordance: navigation and detail use the same visible hover and focus. */
.nexus-ui :is([data-row-href], [data-record-detail], [data-message-detail]) { cursor: pointer; }
.nexus-ui :is([data-row-href], [data-record-detail], [data-message-detail]):hover,
.nexus-ui :is([data-row-href], [data-record-detail], [data-message-detail]):hover > [data-nexus-cells] { background: var(--ui-surface-hover); }
.nexus-ui :is([data-row-href], [data-record-detail], [data-message-detail]):focus-visible { outline: 2px solid var(--ui-brand); outline-offset: -2px; }
/* Account for the parent grid gap when matching the template's submenu gutter. */
.nexus-ui .ticket-list-workspace > .settings-tabs { margin-bottom: 8px; }
.nexus-ui .bank-movements article[data-record-detail]:hover { background: var(--ui-surface-hover) !important; }

/* Confirmation dialogs share their header metrics with route modals. */
.nexus-ui :is(.ui-route-modal, .ui-confirm-dialog) > header { min-height: var(--ui-modal-header-height, 52px); padding: 10px 14px 10px 16px; }
.nexus-ui :is(.ui-route-modal, .ui-confirm-dialog) > header strong { font-size: 14px; font-weight: 680; }

/* Record context belongs to the white modal body, visually distinct from its chrome. */
.nexus-ui :is(.ui-modal-record-context, .modal-context-strip) {
    margin: 10px; padding: 2px 0 2px 8px; background: transparent; box-shadow: none;
    border: 0; border-left: 2px solid var(--ui-border-strong);
}
.nexus-ui :is(.ui-modal-record-context, .modal-context-strip) small { white-space: normal; overflow: visible; text-overflow: clip; overflow-wrap: anywhere; }
.nexus-ui .modal-inline-heading { margin: 8px 10px 0; padding: 0 0 6px; background: transparent; border: 0; border-bottom: 1px solid var(--ui-border); }

/* Body section names do not repeat the window's full-width gray header. */
.nexus-ui :is(.device-editor-section, .modal-editor-section) { border-top: 0; }
.nexus-ui .modal-section-head { margin: 10px 0; padding: 0 0 6px; background: transparent; border: 0; border-bottom: 1px solid var(--ui-border); }
.nexus-ui :is(.modal-section-head, .modal-inline-heading) strong { font-size: 12px; font-weight: 600; }
/* Checkpoint 21 r2: section names have their own typographic/icon hierarchy. */
.nexus-ui .modal-inline-heading,
.nexus-ui .modal-section-head {
    min-height: 32px;
    margin: 16px 0 8px;
    padding: 0;
    background: transparent;
    border: 0;
    box-shadow: none;
}
.nexus-ui .modal-inline-heading { margin-inline: 10px; }
.nexus-ui :is(.modal-inline-heading, .modal-section-head) strong {
    min-width: 0;
    display: flex;
    align-items: center;
    gap: 9px;
    color: var(--ui-section-heading-color);
    font-size: var(--ui-section-heading-size);
    font-weight: var(--ui-section-heading-weight);
    line-height: 1.35;
    overflow-wrap: anywhere;
}

/* Bank detail, note editor and hover note share the existing modal/tooltip system. */
.nexus-ui .bank-movement-detail { padding: 0 10px 12px; }
.nexus-ui .bank-movement-detail .fact-list { margin: 0; }
.nexus-ui .bank-movement-detail .fact-list dd { min-width: 0; white-space: pre-wrap; overflow-wrap: anywhere; }
.nexus-ui .bank-movement-detail .fact-list code { font-size: 11px; overflow-wrap: anywhere; }
.nexus-ui .bank-movement-detail .modal-section-head { margin-top: 18px; }
.nexus-ui .bank-detail-empty { margin: 4px 0 10px; color: var(--ui-muted); font-size: 12px; }
.nexus-ui .bank-note-form textarea { min-height: 90px; }
.nexus-ui .bank-note-form small { color: var(--ui-muted); }
.nexus-ui .bank-note-cell { width: var(--ui-bank-action-size); height: var(--ui-bank-action-size); }
.nexus-ui .bank-note-toggle { color: var(--ui-muted); }
.nexus-ui .bank-note-toggle.has-note { color: var(--ui-warning); }
.nexus-ui .bank-note-popover { width: min(380px, calc(100vw - 16px)); }
.nexus-ui .bank-note-popover [data-bank-note-text] { white-space: pre-wrap; overflow-wrap: anywhere; }
.nexus-ui .bank-movement-detail [data-bank-note-history][hidden] { display: none; }

/* Global component settings; editor sections, context, notes and framed content have distinct roles. */

/* Global components: pages consume these values; only named variants override them. */
.nexus-ui:is(.ui-template-classic, .ui-template-technical) :is(.panel, .ui-record-card,
    .service-card, .metric-card, .catalog-group, .template-card, .ui-disclosure, .filter-console),
.nexus-ui .settings-card-grid > .catalog-edit-row {
    border-radius: var(--ui-wrapper-radius);
}
.nexus-ui .ui-record-card { overflow: hidden; }
/* Explicit modal record headings share the section heading, without a second card. */
.nexus-ui:is(.ui-template-classic, .ui-template-technical) :is(.ui-modal-record-context, .modal-context-strip) {
    min-width: 0;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 3px var(--ui-space-3);
    margin: var(--ui-context-gap) 0;
    padding: 0;
    background: transparent;
    border: 0;
    border-radius: 0;
    box-shadow: none;
}
.nexus-ui :is(.modal-form-body, .ui-modal-scroll-content.modal-form-body) > :is(.ui-modal-record-context, .modal-context-strip) {
    margin-inline: var(--ui-context-inline);
}
.nexus-ui:is(.ui-template-classic, .ui-template-technical) :is(.ui-modal-record-context, .modal-context-strip) strong {
    min-width: 0;
    display: flex;
    align-items: center;
    gap: 9px;
    color: var(--ui-section-heading-color);
    font-size: var(--ui-section-heading-size);
    font-weight: var(--ui-section-heading-weight);
    line-height: 1.35;
    overflow-wrap: anywhere;
}
.nexus-ui :is(.ui-modal-record-context, .modal-context-strip) small {
    grid-column: 1;
    padding-inline-start: calc(var(--ui-section-heading-icon-size) + 9px);
}
.nexus-ui .ui-modal-record-context > b { grid-column: 2; grid-row: 1; }
/* Status feedback shares the context's outer inset without changing its status colors. */
.nexus-ui :is(.modal-form-body, .ui-modal-scroll-content) > .monitor-result {
    margin: var(--ui-context-gap) var(--ui-context-inline);
    border-radius: var(--ui-wrapper-radius);
}
/* Notes share geometry. Existing warning, neutral and status colors stay separate. */
.nexus-ui .ui-note {
    padding: var(--ui-note-padding-block) var(--ui-note-padding-inline);
    border-radius: var(--ui-note-radius);
}
.nexus-ui :is(.ui-modal-editor, .modal-document-content) .panel-note {
    margin: 0;
    padding: var(--ui-note-padding-block) var(--ui-note-padding-inline);
    background: var(--ui-note-background);
    border: 0;
    border-left: 3px solid var(--ui-note-accent);
    border-radius: var(--ui-note-radius);
}
.nexus-ui .bank-movement-detail [data-bank-own-note] > .record-note { margin: 0 0 10px; }
/* Empty discovery results have neither a boundary nor an empty grid track. */
.nexus-ui :is(.icon-source-list, .icon-candidate-grid):empty { display: none; }

/* Only explicit modal section and record headings consume this setting. */
.nexus-ui :is(.modal-inline-heading, .modal-section-head, .ui-modal-record-context, .modal-context-strip) strong::before {
    content: "";
    flex: 0 0 var(--ui-section-heading-icon-size);
    width: var(--ui-section-heading-icon-size);
    height: var(--ui-section-heading-icon-size);
    border-radius: var(--ui-radius-sm);
    background: var(--ui-section-heading-icon-bg) var(--ui-section-heading-icon-image) center/16px 16px no-repeat;
}

/* Banking and catalog record details share fact spacing; accepted message metadata keeps its layout. */
.nexus-ui .ui-detail-modal .ui-record-detail { min-width: 0; padding: 0; }
.nexus-ui:is(.ui-template-classic, .ui-template-technical) .ui-detail-modal .ui-record-detail .fact-list { margin: 0; padding: 0; }
.nexus-ui:is(.ui-template-classic, .ui-template-technical) .ui-detail-modal .ui-record-detail .fact-list > div {
    display: grid;
    grid-template-columns: minmax(var(--ui-detail-fact-label-width), var(--ui-detail-fact-label-ratio)) minmax(0, 1fr);
    gap: var(--ui-detail-fact-gap);
    padding: var(--ui-detail-fact-block) 0;
    border-bottom: 1px solid var(--ui-border);
}
.nexus-ui:is(.ui-template-classic, .ui-template-technical) .ui-detail-modal .ui-record-detail .fact-list > div:last-child { border-bottom: 0; }
.nexus-ui:is(.ui-template-classic, .ui-template-technical) .ui-detail-modal .ui-record-detail .fact-list :is(dt, dd) {
    min-width: 0;
    margin: 0;
    padding: 0;
    background: transparent;
    overflow-wrap: anywhere;
}

/* Checkpoint 22: naming changes layout only; control metrics remain global. */
@media (max-width: 900px) {
    .nexus-ui .naming-code-row > form:first-of-type,
    .nexus-ui .naming-code-row.device-code-row > form:first-of-type,
    .nexus-ui .naming-code-new,
    .nexus-ui .naming-code-new.device-code-new { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
    .nexus-ui .naming-code-row [name="meaning"],
    .nexus-ui .naming-code-new [name="meaning"] { grid-column: 1 / -1; }
    .nexus-ui .naming-code-row .device-icon-picker,
    .nexus-ui .naming-code-new .device-icon-picker { grid-column: 1 / -1; }
    .nexus-ui .naming-code-readonly { grid-template-columns: 60px minmax(0, 1fr); }
    .nexus-ui .naming-code-readonly .naming-code-icon { grid-column: 2; }
}
@media (max-width: 700px) {
    .nexus-ui .naming-generator-result { grid-template-columns: minmax(0, 1fr); }
}

/* Shared body copy applies to every modal body; headings, fields and facts keep their roles. */
.nexus-ui :is(.ui-modal-scroll-content, .ui-modal-body, .modal-document-content),
.nexus-ui .ui-body-copy {
    font-family: var(--ui-font);
    font-size: var(--ui-copy-font-size);
    line-height: var(--ui-copy-line-height);
}
.nexus-ui :is(.ui-modal-scroll-content, .ui-modal-body, .modal-document-content) :is(p, .form-help, .form-hint) {
    font-family: var(--ui-font);
    font-size: var(--ui-copy-font-size);
    line-height: var(--ui-copy-line-height);
}
/* Text-only panel footers have no paragraph margin or separate page typography. */
.nexus-ui .ui-panel-footnote {
    margin: 0;
    padding: var(--ui-panel-block) var(--ui-panel-inline);
    border-top: 1px solid var(--ui-border);
    color: var(--ui-muted);
    font: 400 var(--ui-copy-font-size)/var(--ui-copy-line-height) var(--ui-font);
}
/* Account/session grids consume the same table settings as native Nexus tables. */
.nexus-ui [data-nexus-table] :is(.user-row, .session-row) {
    min-width: 0;
    align-items: start;
    gap: var(--ui-space-2);
}
.nexus-ui [data-nexus-table] :is(.user-row, .session-row)[data-nexus-row] {
    padding-block: var(--ui-table-row-block);
    font: 400 var(--ui-table-font-size)/var(--ui-table-line-height) var(--ui-font);
}
.nexus-ui [data-nexus-table] :is(.user-identity, .session-row) strong { font-size: inherit; }
.nexus-ui [data-nexus-table] :is(.user-identity, .session-row) small,
.nexus-ui [data-nexus-table] .session-time > span { font-size: var(--ui-table-secondary-font-size); }
.nexus-ui [data-nexus-table] :is(.user-list, .session-list) { padding: 0; }
.nexus-ui .profile-layout { gap: var(--ui-workspace-gap); }
.nexus-ui .profile-photo-modal-body { gap: var(--ui-space-3); padding: var(--ui-panel-block) var(--ui-panel-inline); }
.nexus-ui .mfa-layout { min-width: 0; grid-template-columns: minmax(0, 1fr) minmax(240px, 320px); gap: var(--ui-workspace-gap); }
.nexus-ui :is(.mfa-steps, .qr-panel) { min-width: 0; padding: var(--ui-panel-block) var(--ui-panel-inline); }
.nexus-ui .mfa-steps strong { font-size: var(--ui-copy-font-size); }
.nexus-ui .qr-panel code { max-width: 100%; }
@media (max-width: 700px) {
    .nexus-ui .mfa-layout { grid-template-columns: minmax(0, 1fr); }
    .nexus-ui .mfa-modal-layout .mfa-flat-section + .mfa-flat-section { border-left: 0; }
}

/* Registered account tables keep their tracks at every viewport; overflow belongs to the shared scroll owner. */
.nexus-ui [data-nexus-table] :is(.user-row, .session-row) > * { min-width: 0; grid-column: auto; grid-row: auto; }

.nexus-ui [data-nexus-table] .session-time { text-align: left; }
.nexus-ui [data-nexus-table] .user-actions :is(.button, form) { width: auto; }

.nexus-ui .ui-two-column-workspace { grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: start; }
.nexus-ui .ui-two-column-workspace > [data-refresh-status] { grid-column: 1 / -1; }
.nexus-ui .ui-two-column-workspace > [data-refresh-status]:empty { display: none; }
.nexus-ui .text-danger { color: var(--ui-danger); font-weight: 600; }
@media (max-width: 900px) { .nexus-ui .ui-two-column-workspace { grid-template-columns: minmax(0, 1fr); } }

/* Table details use their existing modal header as the action toolbar. */
.nexus-ui .ui-modal-table-actions { display: flex; align-items: center; min-height: 0; margin-inline-start: auto; padding: 0; }
.nexus-ui .ui-table-detail-modal .table-scroll { margin: 0; }

/* Checkpoint 24: editor section descriptions sit below their own title. */
.nexus-ui .modal-section-head {
    flex-wrap: wrap;
    align-items: center;
    flex-direction: row;
    gap: 3px var(--ui-space-3);
}
.nexus-ui .modal-section-head > span:not(.count-badge) {
    flex: 1 0 100%;
    min-width: 0;
    padding-inline-start: calc(var(--ui-section-heading-icon-size) + 9px);
    text-align: left;
    font: 400 var(--ui-copy-font-size)/var(--ui-copy-line-height) var(--ui-font);
    overflow-wrap: anywhere;
}
.nexus-ui .modal-section-head > .count-badge { margin-inline-start: auto; }
/* Field hints share typography and shape, with their own compact spacing. */
.nexus-ui .field-help,
.nexus-ui .form-grid .field-help {
    margin: var(--ui-help-gap) 0 0;
    padding: var(--ui-help-padding-block) var(--ui-help-padding-inline);
    min-height: 0;
    color: var(--ui-muted);
    background: var(--ui-help-background);
    border: 0;
    box-shadow: none;
    border-radius: var(--ui-note-radius);
    font: 400 var(--ui-copy-font-size)/var(--ui-copy-line-height) var(--ui-font);
    overflow-wrap: anywhere;
}
/* Registered infrastructure grids use table metrics, not legacy page typography. */
.nexus-ui [data-nexus-table] :is(.location-row, .physical-link-row) {
    min-width: 0;
    gap: var(--ui-space-2);
    padding-block: var(--ui-table-row-block);
    font: 400 var(--ui-table-font-size)/var(--ui-table-line-height) var(--ui-font);
}
.nexus-ui [data-nexus-table] :is(.location-row, .physical-link-row) > * { min-width: 0; grid-column: auto; grid-row: auto; }
.nexus-ui [data-nexus-table] :is(.location-row, .physical-link-row) strong { font-size: inherit; }
.nexus-ui [data-nexus-table] :is(.location-row, .physical-link-row) :is(small, code) { font: inherit; font-size: var(--ui-table-secondary-font-size); }
.nexus-ui .container-tree-workspace { overflow: hidden; }
.nexus-ui .container-tree-workspace > .tree-content-header { border: 0; border-bottom: 1px solid var(--ui-border); border-radius: 0; }
.nexus-ui .container-tree-workspace > .tree-page-list { border: 0; border-radius: 0; }
.nexus-ui .container-tree-workspace .tree-content-header > div:first-child { min-width: 0; }
.nexus-ui .container-tree-workspace .tree-content-header h2 { margin: 0; }
.nexus-ui .tree-filter-link, .nexus-ui .tree-device { overflow-wrap: anywhere; }
.nexus-ui .container-child-list { display: grid; gap: 0; padding: 0; }
.nexus-ui .container-child-list > a { display: flex; flex-wrap: wrap; align-items: center; gap: var(--ui-space-2); padding: var(--ui-table-row-block) var(--ui-panel-inline); border-bottom: 1px solid var(--ui-border); font: 400 var(--ui-table-font-size)/var(--ui-table-line-height) var(--ui-font); }
.nexus-ui .container-child-list > a:last-child { border-bottom: 0; }
.nexus-ui .container-child-list > a > small { margin-inline-start: auto; }
.nexus-ui .container-child-list > a:hover { background: var(--ui-surface-hover); }

.nexus-ui .modal-editor-section .link-endpoint { padding: 0; background: transparent; border: 0; }
.nexus-ui [data-nexus-table] .physical-link-row > [data-column="medium"] { display: block; }
.nexus-ui [data-nexus-table] .physical-link-row > [data-column="medium"] > small { margin-top: 1px; text-align: left; }

.nexus-ui .is-location-ordering [data-row-href] { cursor: grab; }

.nexus-ui [data-nexus-table] :is(.location-table-head, .physical-link-head) { gap: var(--ui-space-2); }

/* Checkpoint 24 r1: global semantic UI contracts, independent of the page. */
.nexus-ui {
    --ui-modal-width-compact: 620px;
    --ui-modal-width-standard: 760px;
    --ui-modal-width-wide: 1120px;
    --ui-hierarchy-name-size: 12px;
    --ui-hierarchy-name-weight: 700;
}
.nexus-ui .ui-route-modal.modal-size-compact { width: min(var(--ui-modal-width-compact), calc(100vw - 48px)); }
.nexus-ui .ui-route-modal.modal-size-standard { width: min(var(--ui-modal-width-standard), calc(100vw - 48px)); }
.nexus-ui .ui-route-modal.modal-size-wide { width: min(var(--ui-modal-width-wide), calc(100vw - 48px)); }
.nexus-ui details.ui-modal-editor[open][data-modal-size="compact"] { width: min(var(--ui-modal-width-compact), calc(100vw - 32px)); }
.nexus-ui details.ui-modal-editor[open][data-modal-size="standard"] { width: min(var(--ui-modal-width-standard), calc(100vw - 32px)); }
.nexus-ui details.ui-modal-editor[open][data-modal-size="wide"] { width: min(var(--ui-modal-width-wide), calc(100vw - 32px)); }
.nexus-ui:is(.ui-template-classic, .ui-template-technical) :is(.input-action, .inline-field-action) > .searchable-select { margin: 0; }
.nexus-ui:is(.ui-template-classic, .ui-template-technical) :is(.device-editor-section, .modal-editor-section) > .form-grid.two,
.nexus-ui:is(.ui-template-classic, .ui-template-technical) .integration-type-fields > .form-grid.two { padding: 0; }
.nexus-ui .path-picker { gap: 0; }
.nexus-ui .collector-status.ui-note {
    margin: 0;
    padding: var(--ui-note-padding-block) var(--ui-note-padding-inline);
    border-radius: var(--ui-note-radius);
    font: 400 var(--ui-copy-font-size)/var(--ui-copy-line-height) var(--ui-font);
}
.nexus-ui .collector-status.ui-note span { font: inherit; }
.nexus-ui .collector-status.ui-note.collector-neutral { background: var(--ui-help-background); }
.nexus-ui [data-nexus-table] .ui-hierarchy-name { font-size: var(--ui-hierarchy-name-size); font-weight: var(--ui-hierarchy-name-weight); }
.nexus-ui [data-nexus-table] .physical-link-route { text-align: left; align-self: start; }
.nexus-ui [data-nexus-table] .physical-link-row > :is([data-column="from"], [data-column="to"]) > :is(strong, code) { display: block; }
.nexus-ui [data-nexus-table] .physical-link-row > :is([data-column="from"], [data-column="to"]) > code { margin-top: 1px; }
.nexus-ui [data-nexus-table] .physical-link-row .status-dot { float: none; display: inline-block; margin: 0 5px 0 0; vertical-align: middle; }
.nexus-ui [data-nexus-table] .link-origin-summary { display: flex; flex-wrap: wrap; align-items: baseline; gap: 0 var(--ui-space-2); }
.nexus-ui [data-nexus-table] .link-origin-summary > span { color: var(--ui-soft); font-size: var(--ui-table-secondary-font-size); }
.nexus-ui [data-nexus-table] .link-origin > small { margin-top: 1px; }
.nexus-ui .container-record-details .fact-list { margin: 0; padding: var(--ui-panel-block) var(--ui-panel-inline); }
.nexus-ui .container-record-details .fact-list dd { overflow-wrap: anywhere; white-space: pre-wrap; }
@media (max-width: 700px) {
    .nexus-ui details.ui-modal-editor[open][data-modal-size] { width: auto; }
}

/* A labelled field wrapper uses the same block label as a picker, without an anonymous inline line box. */
.nexus-ui .form-grid > div > label[for] { display: block; }

/* Checkpoint 26: one semantic heading for setting and information modals. */
.nexus-ui :is(.ui-modal-record-context, .modal-context-strip) { --ui-setting-heading-top: var(--ui-context-gap); }
.nexus-ui {
    --ui-help-padding-block: 3px;
    --ui-help-padding-inline: 8px;
    --ui-help-gap: 4px;
    --ui-setting-accent-width: 3px;
    --ui-setting-accent-color: #7b96a8;
    --ui-setting-heading-background: #eef1f2;
    --ui-setting-heading-gap: 12px;
    --ui-setting-section-gap: 24px;
    --ui-setting-heading-padding-block: 6px;
    --ui-setting-heading-padding-inline: 10px;
}
.nexus-ui:is(.ui-template-classic, .ui-template-technical) .ui-modal-scroll-content :is(.device-editor-section, .modal-editor-section) {
    padding: 0;
    background: transparent;
}
.nexus-ui:is(.ui-template-classic, .ui-template-technical) :is(.modal-section-head, .modal-inline-heading, .ui-modal-record-context, .modal-context-strip) {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: start;
    column-gap: var(--ui-space-2);
    row-gap: 3px;
    min-height: 0;
    margin-block: var(--ui-setting-heading-top, 0px) var(--ui-setting-heading-gap);
    padding: var(--ui-setting-heading-padding-block) var(--ui-setting-heading-padding-inline);
    border: 0;
    border-radius: var(--ui-radius-md);
    overflow: hidden;
    background: var(--ui-setting-heading-background);
    box-shadow: none;
}
.nexus-ui:is(.ui-template-classic, .ui-template-technical) :is(.modal-section-head, .modal-inline-heading, .ui-modal-record-context, .modal-context-strip)::before {
    content: "";
    position: absolute;
    inset-block: 0;
    inset-inline-start: 0;
    width: var(--ui-setting-accent-width);
    border-radius: 0;
    background: var(--ui-setting-accent-color);
}
.nexus-ui:is(.ui-template-classic, .ui-template-technical) :is(.modal-section-head, .modal-inline-heading, .ui-modal-record-context, .modal-context-strip) > strong {
    grid-column: 1;
    min-width: 0;
    display: block;
    color: var(--ui-section-heading-color);
    font-size: var(--ui-section-heading-size);
    font-weight: var(--ui-section-heading-weight);
    line-height: 1.35;
    overflow-wrap: anywhere;
}
.nexus-ui:is(.ui-template-classic, .ui-template-technical) :is(.modal-section-head, .modal-inline-heading, .ui-modal-record-context, .modal-context-strip) > strong::before { content: none; display: none; }
.nexus-ui:is(.ui-template-classic, .ui-template-technical) :is(.modal-section-head, .modal-inline-heading, .ui-modal-record-context, .modal-context-strip) > :is(small, span:not(.count-badge):not(.status-chip)) {
    grid-column: 1;
    padding: 0;
    white-space: normal;
    overflow-wrap: anywhere;
}
.nexus-ui:is(.ui-template-classic, .ui-template-technical) :is(.modal-section-head, .modal-inline-heading, .ui-modal-record-context, .modal-context-strip) > :is(.count-badge, .status-chip, b) { grid-column: 2; grid-row: 1; }
.nexus-ui .ui-modal-scroll-content:has(> .modal-editor-section) { row-gap: var(--ui-setting-section-gap); }
.nexus-ui .ui-modal-scroll-content .modal-device-settings { display: grid; gap: var(--ui-setting-section-gap); }
.nexus-ui.modal-document .modal-document-content-flush > form.ui-modal-layout > .ui-modal-scroll-body > .ui-modal-scroll-content:has(.device-editor-section, .modal-editor-section) {
    padding: var(--ui-modal-content-padding, 16px);
}
.nexus-ui details.ui-modal-editor[open] > summary > .ui-icon { display: none; }
.nexus-ui .collector-options { display: grid; gap: var(--ui-space-1); }
.nexus-ui fieldset.integration-type-fields,
.nexus-ui fieldset.ui-section-frame {
    margin: var(--ui-space-2) 0 0;
    padding: var(--ui-panel-inline);
    border: 1px solid var(--ui-border);
    border-radius: var(--ui-wrapper-radius);
    background: var(--ui-surface);
}
.nexus-ui .integration-type-title,
.nexus-ui .ui-section-frame > legend {
    width: auto;
    max-width: 100%;
    padding-inline: var(--ui-space-1);
    color: var(--ui-text-strong);
    font-size: var(--ui-section-heading-size);
    font-weight: var(--ui-section-heading-weight);
    line-height: 1.35;
}
.nexus-ui .integration-type-head { display: grid; gap: var(--ui-space-1); margin-bottom: var(--ui-space-3); }
.nexus-ui .integration-type-head:last-child { margin-bottom: 0; }
.nexus-ui .integration-type-head :is(span, small) { color: var(--ui-muted); font: 400 var(--ui-copy-font-size)/var(--ui-copy-line-height) var(--ui-font); }
.nexus-ui .ui-color-value { display: inline-flex; align-items: center; gap: var(--ui-space-2); }
.nexus-ui .ui-color-swatch {
    flex: 0 0 auto;
    width: 12px;
    height: 12px;
    border: 1px solid var(--ui-border-strong);
    border-radius: var(--ui-radius-sm);
    background-color: var(--ui-color-value);
}

/* Empty optional descriptions must not paint a decorative pill. */
.nexus-ui .field-help:empty { display: none; }

/* Composite date/time filters reserve space for all native controls. */
.nexus-ui { --ui-filter-datetime-width: 300px; }
.nexus-ui .filter-console > :is(label, div):has(> .ui-datetime-control) {
    min-width: min(100%, var(--ui-filter-datetime-width));
    flex: 0 1 var(--ui-filter-datetime-width);
}
@media (max-width: 700px) {
    .nexus-ui .filter-console > :is(label, div):has(> .ui-datetime-control) { flex-basis: 100%; }
}

/* Checkpoint 28: reviewed settings spacing and compact summaries. */
.nexus-ui.nexus-settings .bank-period-panel > form.form-grid { padding: var(--ui-panel-block) var(--ui-panel-inline); }
.nexus-ui.nexus-settings .database-maintenance > .maintenance-grid { padding: var(--ui-panel-block) var(--ui-panel-inline); }
.nexus-ui.nexus-settings :is(.database-count-facts,.ui-value-facts) { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.nexus-ui.nexus-settings :is(.database-count-facts,.ui-value-facts) small { color: var(--ui-muted); font: 400 9.5px/1.35 var(--ui-font); overflow-wrap: anywhere; }
.nexus-ui .job-history-frame { margin-top: var(--ui-space-2); }
.nexus-ui .job-history-frame > .block-note { margin: 0 0 var(--ui-space-2); }
.nexus-ui .job-history-frame > .table-scroll { margin: 0; }
.nexus-ui.nexus-settings .operational-log-layout { min-height: 0; }
.nexus-ui.nexus-settings .operational-log-footer { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; padding: var(--ui-panel-block) var(--ui-panel-inline); }
.nexus-ui.nexus-settings .operational-log-footer > .operational-log-footer-actions { display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: var(--ui-space-2); }
.nexus-ui.nexus-settings .operational-log-footer .operational-log-storage { margin: 0; padding: 0; border: 0; min-width: 0; }
.nexus-ui.nexus-settings .operational-log-storage[open] { max-width: min(560px, 100%); }
.nexus-ui.nexus-settings .operational-log-storage > summary { margin: 0; }
.nexus-ui.nexus-settings .operational-log-storage > p { text-align: left; }
/* Device record cards use the same natural wrapper flow and fact/note components. */
.nexus-ui .device-detail-content .ui-wrapper-flow:is(.device-overview-flow,.device-monitoring-layout,.routeros-layout) { display: block; }
.nexus-ui .device-detail-content .ui-wrapper-flow > .panel { margin: 0 0 var(--ui-wrapper-gap); }
.nexus-ui :is(.device-detail-content,.client-operational-notes) .operational-note-list { padding: var(--ui-panel-block) var(--ui-panel-inline); }
.nexus-ui :is(.device-detail-content,.client-operational-notes) .operational-note { padding: 0; border: 1px solid var(--ui-border); background: var(--ui-surface); }
.nexus-ui :is(.device-detail-content,.client-operational-notes) .operational-note + .operational-note { margin-top: 0; }
.nexus-ui :is(.device-detail-content,.client-operational-notes) .operational-note header { gap: var(--ui-space-2); }
.nexus-ui :is(.device-detail-content,.client-operational-notes) .operational-note header > span { display: grid; min-width: 0; gap: 2px; }
.nexus-ui :is(.device-detail-content,.client-operational-notes) .operational-note header strong { font-size: 12px; font-weight: 500; overflow-wrap: anywhere; }
.nexus-ui :is(.device-detail-content,.client-operational-notes) .operational-note header small { color: var(--ui-muted); font-size: var(--ui-copy-font-size); }
.nexus-ui :is(.device-detail-content,.client-operational-notes) .operational-note .record-note { margin: 0; border-left: 0; border-radius: 0; }
.nexus-ui .device-detail-content .device-status-details { width: fit-content; margin: var(--ui-space-2) var(--ui-panel-inline); }
.nexus-ui .device-detail-content .device-document-title { font: 500 12px/1.35 var(--ui-font); overflow-wrap: anywhere; }
.nexus-ui .device-detail-content .service-endpoint-urls a { overflow-wrap: anywhere; }
.nexus-ui .network-control-filters > .filter-search { flex: 1 1 240px; }
.nexus-ui .network-control-actions { flex-wrap: nowrap; }
.nexus-ui .network-control-actions > .action-placeholder { visibility: hidden; pointer-events: none; }
@media (max-width: 600px) {
 .nexus-ui.nexus-settings :is(.database-count-facts,.ui-value-facts) { grid-template-columns: repeat(2, minmax(0, 1fr)); }
 .nexus-ui.nexus-settings .operational-log-footer { grid-template-columns: minmax(0, 1fr); }
 .nexus-ui.nexus-settings .operational-log-footer > .operational-log-footer-actions { justify-content: flex-end; }
}

/* Min-content tables scroll inside their cards, never widen the record workspace. */
.nexus-ui .device-detail-content:not(:has(> [data-device-telemetry])) { min-width: 0; grid-template-columns: minmax(0, 1fr); }
.nexus-ui .device-detail-content:not(:has(> [data-device-telemetry])) > *,
.nexus-ui .device-detail-content .ui-wrapper-flow { min-width: 0; max-width: 100%; }
.nexus-ui .device-detail-content:not(:has(> [data-device-telemetry])) .panel-head { flex-wrap: wrap; }
.nexus-ui .device-detail-content:not(:has(> [data-device-telemetry])) .panel-head > .panel-head-actions { min-width: 0; max-width: 100%; margin-left: auto; }
.nexus-ui.nexus-settings .database-maintenance > .maintenance-grid > article:last-child { margin-bottom: 0; }

/* Keep the record status action content-sized above legacy theme-specific rules. */
.nexus-ui:is(.ui-template-technical,.ui-template-classic) .device-detail-content .device-current-status .device-status-details { width: fit-content; max-width: calc(100% - 2 * var(--ui-panel-inline)); min-width: 0; }

/* Checkpoint 29: keep the original record columns and their semantic groups. */
.nexus-ui .device-overview-layout > :is(.detail-main,.detail-side),
.nexus-ui .device-monitoring-layout > .monitoring-primary { min-width: 0; }
.nexus-ui .device-subsection-head { display: flex; align-items: center; justify-content: space-between; gap: var(--ui-workspace-gap); padding: 0 var(--ui-panel-inline); margin-top: var(--ui-space-3); }
.nexus-ui .device-subsection-head > .section-caption { margin: 0; padding: 0; }
.nexus-ui .device-automation-actions { margin: 0; padding: var(--ui-panel-block) var(--ui-panel-inline); justify-content: flex-end; }
.nexus-ui.nexus-settings .database-maintenance > .maintenance-grid { gap: var(--ui-workspace-gap); align-items: start; }
.nexus-ui.nexus-settings .database-maintenance > .maintenance-grid > article { margin: 0; }

.nexus-ui .device-services-table > :is(.service-table-head, article) {
    grid-template-columns: minmax(200px, .65fr) minmax(130px, .3fr) minmax(280px, 1fr) 120px 100px;
}
.nexus-ui .device-services-table .device-service-actions {
    display: flex; justify-content: flex-end; gap: 4px; flex-wrap: nowrap;
}
.nexus-ui .device-services-table .device-service-actions > :is(a, form, .system-action-slot) {
    flex: 0 0 auto; width: auto;
}
.nexus-ui .device-services-table .service-endpoint-urls a { overflow-wrap: anywhere; }

/* Checkpoint 29 r1: one wrapper header component, including two text lines.
   These semantic rules deliberately supersede page-specific geometry. */
.nexus-ui { --ui-content-header-height: 38px; --ui-wrapper-title-size: 13px; --ui-wrapper-subtitle-size: 10.5px; --ui-wrapper-title-line: 1.3; --ui-wrapper-subtitle-line: 1.35; --ui-table-row-height: 34px; }
.nexus-ui.ui-template-technical { --ui-table-row-height: 28px; }
.nexus-ui:is(.ui-template-classic,.ui-template-technical) :is(.panel-head,.content-header) {
    box-sizing: border-box; min-height: var(--ui-content-header-height); height: var(--ui-content-header-height);
    padding-block: 0; padding-inline: var(--ui-panel-inline); display: flex; align-items: center; flex-wrap: nowrap; gap: var(--ui-space-2);
}
.nexus-ui:is(.ui-template-classic,.ui-template-technical) :is(.panel-head,.content-header) > div:first-child:not(.panel-head-actions):not(.content-header-actions) {
    display: flex; flex-direction: column; justify-content: center; min-width: 0; gap: 0;
}
.nexus-ui:is(.ui-template-classic,.ui-template-technical) :is(.panel-head,.content-header) > :is(h2,strong),
.nexus-ui:is(.ui-template-classic,.ui-template-technical) :is(.panel-head,.content-header) > div:first-child > :is(h2,strong) {
    display: block; margin: 0; color: var(--ui-text-strong); font: 600 var(--ui-wrapper-title-size)/var(--ui-wrapper-title-line) var(--ui-font); letter-spacing: 0;
    white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.nexus-ui:is(.ui-template-classic,.ui-template-technical) :is(.panel-head,.content-header) > div:first-child > small {
    display: block; margin: 0; font: 400 var(--ui-wrapper-subtitle-size)/var(--ui-wrapper-subtitle-line) var(--ui-font);
    color: var(--ui-muted); white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.nexus-ui:is(.ui-template-classic,.ui-template-technical) :is(.panel-head,.content-header) > :is(.panel-head-actions,.content-header-actions) {
    flex: 0 0 auto; margin-left: auto; align-self: center;
}
.nexus-ui :is(.panel-head,.content-header) .eyebrow { display: none; }
/* Native tables use the same density tokens as registered grid tables. */
.nexus-ui:is(.ui-template-classic,.ui-template-technical) [data-nexus-table] table.data-table tbody td {
    height: var(--ui-table-row-height); padding-block: var(--ui-table-row-block);
    font: 400 var(--ui-table-font-size)/var(--ui-table-line-height) var(--ui-font); vertical-align: top;
}
.nexus-ui:is(.ui-template-classic,.ui-template-technical) [data-nexus-table] table.data-table td small {
    font: 400 var(--ui-table-secondary-font-size)/var(--ui-table-secondary-line-height) var(--ui-font);
}
.nexus-ui details[data-modal-detail][hidden] { display: none !important; }
.nexus-ui .device-availability-table table.data-table { min-width: 0; width: 100%; }
.nexus-ui .device-availability-table td { overflow-wrap: anywhere; }
.nexus-ui .ui-table-detail-modal .device-availability-table { padding: 0; }
.nexus-ui .device-summary-grid { gap: 0; align-items: start; }
.nexus-ui .device-summary-grid > .fact-list { min-width: 0; }
.nexus-ui .device-summary-grid > .fact-list + .fact-list { border-left: 1px solid var(--ui-border); }
.nexus-ui:is(.ui-template-classic,.ui-template-technical).nexus-settings .bank-sync-history { margin-top: var(--ui-workspace-gap); }
.nexus-ui:is(.ui-template-classic,.ui-template-technical) .network-change-row {
    min-height: var(--ui-table-row-height); padding-block: var(--ui-table-row-block);
    font: 400 var(--ui-table-font-size)/var(--ui-table-line-height) var(--ui-font);
}
.nexus-ui:is(.ui-template-classic,.ui-template-technical) .network-change-row strong { font: var(--ui-table-primary-link-weight) var(--ui-table-font-size)/var(--ui-table-line-height) var(--ui-font); }
.nexus-ui:is(.ui-template-classic,.ui-template-technical) .network-change-row small { font: 400 var(--ui-table-secondary-font-size)/var(--ui-table-secondary-line-height) var(--ui-font); }
.nexus-ui .device-detail-content :is(.documentation-photos,.documentation-documents) .record-note { font-family: var(--ui-font); }
@media (max-width: 980px) {
    .nexus-ui .device-summary-grid > .fact-list + .fact-list { border-left: 0; border-top: 1px solid var(--ui-border); }
}
@media (max-width: 700px), (pointer: coarse) {
    .nexus-ui:is(.ui-template-classic,.ui-template-technical) :is(.panel-head,.content-header) {
        height: auto; min-height: var(--ui-content-header-height); flex-wrap: wrap; padding-block: 2px;
    }
}

.nexus-ui [data-nexus-table] .network-change-row .mobile-label { display: none; }

.nexus-ui .ui-modal-table-actions .button { min-height: var(--ui-header-action-height, 28px); height: var(--ui-header-action-height, 28px); padding-block: 0; }
.nexus-ui:is(.ui-template-classic,.ui-template-technical) details.ui-table-detail-modal[open] > summary { height: var(--ui-modal-header-height, 52px); min-height: var(--ui-modal-header-height, 52px); padding-block: 0; }

/* Registered changes retain their table columns even below the old card breakpoint. */
.nexus-ui [data-nexus-table] .network-change-row > * { grid-column: auto; grid-row: auto; }
@media (max-width: 980px) {
    /* Match the shared flow breakpoint and trim its final wrapper gap. */
    .nexus-ui.nexus-settings .bank-settings-flow { margin-bottom: calc(-1 * var(--ui-wrapper-gap)); }
}

/* Checkpoint 29 r2: nested records consume the shared wrapper, facts, note and action roles. */
.nexus-ui .ui-action-footer {
    box-sizing: border-box; min-width: 0; min-height: 32px; display: flex;
    align-items: center; justify-content: flex-end; flex-wrap: wrap; gap: var(--ui-space-2);
    margin: 0; padding: 2px var(--ui-panel-inline);
    background: var(--ui-list-footer-background, #e8edf0); border-top: 1px solid var(--ui-border);
}
.nexus-ui .automation-status-note { display: grid; gap: 2px; margin: var(--ui-panel-block) var(--ui-panel-inline); }
.nexus-ui .automation-status-note strong { font-weight: 600; }
.nexus-ui .operational-note-times { display: flex; flex-wrap: wrap; gap: 2px var(--ui-space-3); }
.nexus-ui .operational-note-times > span { white-space: normal; }
.nexus-ui .network-diagnostic-table,
.nexus-ui .telemetry-diagnostic-group { border-radius: var(--ui-wrapper-radius); }
.nexus-ui .telemetry-diagnostic-group { margin: 0; }
.nexus-ui .telemetry-diagnostic-groups { gap: var(--ui-workspace-gap); }
.nexus-ui .telemetry-disclosure > :is(.telemetry-diagnostic-groups,.telemetry-raw-group) { margin-top: var(--ui-workspace-gap); }
.nexus-ui .telemetry-raw-group > .block-note { margin: var(--ui-panel-block) var(--ui-panel-inline); }
/* The registered row owns one thin separator. The state line stays at its left edge. */
.nexus-ui [data-nexus-table] .network-change-item { border-bottom: 0; }
.nexus-ui [data-nexus-table] .network-change-row { border-bottom: 1px solid var(--ui-border); }
.nexus-ui [data-nexus-table] .network-change-item:last-child > .network-change-row { border-bottom: 0; }
.nexus-ui .ui-modal-editor .network-change-detail { padding: 0; background: transparent; border: 0; }
.nexus-ui .network-change-detail > .ui-modal-record-context { margin: 0 0 var(--ui-context-gap); }
.nexus-ui .network-change-detail > .fact-list { padding: 0; margin: 0; gap: 0; }
.nexus-ui .network-change-detail > .record-note { margin: var(--ui-space-3) 0 0; }
.nexus-ui .network-change-actions.ui-modal-footer { margin: 0; }
/* Gallery cards share the wrapper corners and keep complete captions and aligned actions. */
.nexus-ui .documentation-photos > .photo-grid {
    grid-template-columns: repeat(auto-fit,minmax(min(220px,100%),1fr));
    align-items: stretch; gap: var(--ui-workspace-gap); padding: var(--ui-panel-block) var(--ui-panel-inline);
}
.nexus-ui .device-photo-card { display: flex; flex-direction: column; border-radius: var(--ui-wrapper-radius); }
.nexus-ui .device-photo-card > .expandable-image { display: block; flex: 0 0 auto; padding: 0; border: 0; border-radius: 0; }
.nexus-ui .device-photo-card figcaption {
    flex: 1; align-items: flex-start; gap: var(--ui-space-2);
    padding: var(--ui-panel-block) var(--ui-panel-inline);
    font: 400 var(--ui-copy-font-size)/var(--ui-copy-line-height) var(--ui-font);
}
.nexus-ui .device-photo-card figcaption > span { white-space: normal; overflow: visible; overflow-wrap: anywhere; }
.nexus-ui .device-photo-card figcaption small { display: block; color: var(--ui-muted); }
.nexus-ui .device-photo-card .record-actions { flex: 0 0 auto; }
.nexus-ui .device-document-list > article {
    min-height: var(--ui-table-row-height); align-items: flex-start; gap: var(--ui-space-3);
    padding: var(--ui-panel-block) var(--ui-panel-inline);
}
.nexus-ui .device-document-list .device-document-title { white-space: normal; overflow: visible; text-overflow: clip; }
.nexus-ui .device-document-list small { overflow-wrap: anywhere; font: 400 var(--ui-table-secondary-font-size)/var(--ui-table-secondary-line-height) var(--ui-font); }
.nexus-ui .device-document-list .record-note { margin: var(--ui-space-2) 0 0; font: 400 var(--ui-copy-font-size)/var(--ui-copy-line-height) var(--ui-font); }
/* Endpoint names, full URLs and their states share the same subgrid rows. */
.nexus-ui .device-services-table > article { grid-template-rows: repeat(var(--service-endpoint-count,1),auto); row-gap: var(--ui-space-2); align-items: start; }
.nexus-ui .device-services-table > article > div { grid-row: 1 / span var(--service-endpoint-count,1); }
.nexus-ui .device-services-table > article > :is(.service-endpoint-names,.service-endpoint-urls,.service-endpoint-states) {
    display: grid; grid-template-rows: subgrid; align-items: start; gap: var(--ui-space-2);
}
.nexus-ui .device-services-table .device-service-actions { gap: var(--ui-space-2); align-items: flex-start; }
.nexus-ui .device-services-table .device-service-actions > :is(a,form,.system-action-slot) { flex: 0 0 auto; width: auto; }
.nexus-ui .device-services-table .device-service-actions form { display: inline-flex; margin: 0; }
.nexus-ui .device-services-table .device-service-actions .system-action-slot { width: var(--ui-action-height); }
.nexus-ui .device-services-table .service-endpoint-urls a { min-width: 0; overflow-wrap: anywhere; }
.nexus-ui .device-services-table .service-endpoint-urls code { white-space: normal; overflow-wrap: anywhere; }
.nexus-ui .device-services-table .status-label { white-space: nowrap; }
/* Only the extended inventory dialog changes; the accepted chart facts stay intact. */
.nexus-ui .telemetry-inventory-facts { margin: 0; padding: 0; }
.nexus-ui .telemetry-inventory-facts .telemetry-fact-interfaces { grid-column: 1 / -1; }
.nexus-ui .telemetry-inventory-facts dd { min-width: 0; overflow-wrap: anywhere; }
.nexus-ui .telemetry-inventory-facts ul { display: flex; flex-wrap: wrap; gap: var(--ui-space-2); margin: 0; padding: 0; list-style: none; }
.nexus-ui .telemetry-chart-page-handle { width: 24px; height: 24px; flex: 0 0 24px; letter-spacing: normal; line-height: 0; }
.nexus-ui .telemetry-chart-page-handle .ui-icon { width: 20px; height: 20px; }
.nexus-ui .device-monitoring-workspace.is-telemetry-layout-editing .telemetry-chart-page-handle { display: inline-flex; align-items: center; justify-content: center; }
@media (max-width: 600px) {
    .nexus-ui .device-document-list > article { flex-wrap: wrap; }
    .nexus-ui .device-document-list .device-document-copy { flex-basis: 100%; }
    .nexus-ui .device-document-list .record-actions { margin-left: auto; }
}
.nexus-ui .ui-icon-grip { -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='black' stroke-width='2' stroke-linecap='round' d='M4 6h16M4 12h16M4 18h16'/%3E%3C/svg%3E") center/contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='black' stroke-width='2' stroke-linecap='round' d='M4 6h16M4 12h16M4 18h16'/%3E%3C/svg%3E") center/contain no-repeat; }

.nexus-ui .device-services-table .device-service-actions > a.icon-action,
.nexus-ui .device-services-table .device-service-actions button.icon-action {
    display: inline-flex; align-items: center; justify-content: center; gap: 0;
    flex: 0 0 var(--ui-action-height, 32px); width: var(--ui-action-height, 32px); min-width: var(--ui-action-height, 32px); max-width: var(--ui-action-height, 32px);
    height: var(--ui-action-height, 32px); min-height: var(--ui-action-height, 32px); padding: 0;
}
.nexus-ui .device-services-table > article,
.nexus-ui .device-services-table > article strong {
    font: 400 var(--ui-table-font-size)/var(--ui-table-line-height) var(--ui-font);
}
.nexus-ui .device-services-table > article strong { font-weight: var(--ui-table-primary-link-weight); }
.nexus-ui .device-services-table > article small { font: 400 var(--ui-table-secondary-font-size)/var(--ui-table-secondary-line-height) var(--ui-font); }

.nexus-ui .device-services-table > article { min-height: var(--ui-table-row-height); padding-block: var(--ui-table-row-block); }
.nexus-ui .device-services-table .device-service-actions .system-action-slot { width: var(--ui-action-height, 32px); height: var(--ui-action-height, 32px); }
@media (pointer: coarse) {
    .nexus-ui .device-services-table .device-service-actions { --ui-action-height: 42px; }
}

.nexus-ui:is(.ui-template-classic,.ui-template-technical) .device-services-table > article > div:first-child { row-gap: var(--ui-space-1); }
.nexus-ui:is(.ui-template-classic,.ui-template-technical) .device-services-table > article > div:first-child small {
    margin-top: 0; font: 400 var(--ui-table-secondary-font-size)/var(--ui-table-secondary-line-height) var(--ui-font);
}
.nexus-ui:is(.ui-template-classic,.ui-template-technical) .device-services-table > article :is(.service-endpoint-names > span,.service-endpoint-urls > a,.service-endpoint-states > .status-label) {
    font: 400 var(--ui-table-font-size)/var(--ui-table-line-height) var(--ui-font);
}

/* Page-level network navigation belongs outside a record dialog. */
.nexus-ui.modal-document .modal-document-content > .network-workspace-tabs { display: none; }

/* Checkpoint 30: shared table headings, modal spacing and fact geometry. */
.nexus-ui { --ui-table-header-height: 33px; --ui-table-header-padding-block: 6.5px; --ui-modal-fact-label-width: 120px; }
.nexus-ui.ui-template-technical { --ui-table-header-height: 27px; }
.nexus-ui:is(.ui-template-classic,.ui-template-technical) [data-nexus-table] [data-nexus-head] {
    box-sizing: border-box; min-height: var(--ui-table-header-height); height: auto;
    padding-block: var(--ui-table-header-padding-block);
    font-size: var(--ui-table-head-font-size); font-weight: var(--ui-table-head-font-weight); line-height: 1.25;
}
.nexus-ui:is(.ui-template-classic,.ui-template-technical) .data-table thead th,
.nexus-ui:is(.ui-template-classic,.ui-template-technical) [data-nexus-table] table.data-table thead th {
    box-sizing: border-box; height: var(--ui-table-header-height);
    padding-block: var(--ui-table-header-padding-block);
    font-size: var(--ui-table-head-font-size); font-weight: var(--ui-table-head-font-weight); line-height: 1.25;
}
.nexus-ui:is(.ui-template-classic,.ui-template-technical) [data-nexus-table] table.data-table thead tr {
    min-height: var(--ui-table-header-height);
}
/* A flush outer document keeps the footer at the edge; its body keeps the common inset. */
.nexus-ui.modal-document .modal-document-content-flush > form.ui-modal-layout > .ui-modal-scroll-body > .ui-modal-scroll-content {
    padding: var(--ui-modal-content-padding,16px);
}
.nexus-ui .ui-modal-scroll-content > .modal-form-body { padding: 0; }
.nexus-ui:is(.ui-template-classic,.ui-template-technical) .fact-list.ui-modal-facts {
    display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); column-gap: var(--ui-space-3); row-gap: 0; padding: 0; margin: 0;
}
.nexus-ui:is(.ui-template-classic,.ui-template-technical) .fact-list.two-column.ui-modal-facts > div {
    display: grid; grid-template-columns: min(40%,var(--ui-modal-fact-label-width)) minmax(0,1fr);
    align-items: start; gap: var(--ui-space-2); padding: var(--ui-space-2) 0;
    border-inline: 0; border-bottom: 1px solid var(--ui-border);
}
.nexus-ui .fact-list.ui-modal-facts :is(dt,dd) { min-width: 0; margin: 0; overflow-wrap: anywhere; }
.nexus-ui .fact-list.ui-modal-facts > .span-two { grid-column: 1 / -1; }
.nexus-ui .device-services-table .service-endpoint-states .status-chip { justify-self: start; align-self: start; }
/* Documentation notes are compact text bubbles; accepted full record notes keep their layout. */
.nexus-ui .device-document-copy > .record-note {
    display: block; width: fit-content; max-width: 100%; padding-block: 0;
}
.nexus-ui details.document-preview-modal.ui-modal-editor[open] {
    --ui-modal-max-height: 90dvh;
    inset: 50% auto auto 50%; transform: translate(-50%,-50%);
    width: 90%; max-width: 90%; height: var(--ui-modal-max-height); max-height: var(--ui-modal-max-height);
}
.nexus-ui details.document-preview-modal.ui-modal-editor[open] > .ui-modal-layout {
    height: calc(var(--ui-modal-max-height) - var(--ui-modal-header-height,52px) - 2px);
}
.nexus-ui .document-preview-modal > .document-preview-layout { flex: 1 1 auto; min-height: 0; }
.nexus-ui .document-preview-modal .ui-modal-scroll-body { overflow: hidden; }
.nexus-ui .document-preview-modal .document-preview-layout.ui-modal-scroll-content {
    height: 100%; display: flex; flex-direction: column;
}
.nexus-ui .document-preview-modal .document-preview-body { flex: 1 1 auto; height: 100%; min-height: 0; }
.nexus-ui .document-preview-modal .document-preview-body iframe { height: 100%; min-height: 0; }
@media (max-width:700px) {
    .nexus-ui:is(.ui-template-classic,.ui-template-technical) .fact-list.ui-modal-facts { grid-template-columns: minmax(0,1fr); }
}

/* The scroll content owns the inset once, including simple wrapped forms. */
.nexus-ui:is(.ui-template-classic,.ui-template-technical) .ui-modal-scroll-content > .modal-form-body { padding: 0; }
.nexus-ui .ui-modal-scroll-content .modal-form-body > :is(.ui-modal-record-context,.modal-context-strip,.monitor-result) { margin-inline: 0; }
.nexus-ui .ui-modal-scroll-content :is(.ui-modal-record-context,.modal-context-strip):first-child { margin-top: 0; }

.nexus-ui .monitoring-panel-actions { justify-content: flex-end; background: var(--ui-panel-foot); }

/* Shared page actions and modal close controls keep usable touch targets in both templates. */
@media (pointer: coarse) {
    .nexus-ui .ui-page-actions .button { min-height: 42px; }
    .nexus-ui :is(.device-document-list,.device-photo-card) .icon-action { min-width: 42px; min-height: 42px; }
    .nexus-ui .ui-modal-close { width: 42px; min-width: 42px; height: 42px; flex-basis: 42px; }
}

/* Checkpoint 32: a final feedback block never adds a second bottom inset. */
.nexus-ui:is(.ui-template-classic,.ui-template-technical) .ui-modal-scroll-content .modal-form-body > .monitor-result:last-child {
    margin-bottom: 0;
}

/* Checkpoint 31: one inset owner and a full-width fixed record footer. */
.nexus-ui:is(.ui-template-classic,.ui-template-technical).modal-document .modal-document-content.ui-modal-document-layout {
    padding: 0;
}
.nexus-ui.modal-document .modal-document-content.ui-modal-document-layout > .ui-modal-layout.has-modal-footer {
    height: 100%; max-height: none;
}
.nexus-ui.modal-document .modal-document-content .network-workspace-tabs { display: none; }
.nexus-ui:is(.ui-template-classic,.ui-template-technical) .ui-modal-scroll-content > .validation:empty { display: none; }
.nexus-ui.modal-document .system-detail-document.ui-modal-scroll-content {
    display: grid; gap: var(--ui-workspace-gap); align-content: start;
}
.nexus-ui.modal-document .system-detail-document.ui-modal-scroll-content > .system-detail-grid { margin-top: 0; }
.nexus-ui.modal-document .system-detail-document .system-detail-card { margin-bottom: var(--ui-workspace-gap); }
.nexus-ui.modal-document .system-detail-document .system-detail-card:last-child { margin-bottom: 0; }
.nexus-ui .monitoring-panel-range { display: inline-flex; align-items: center; gap: var(--ui-space-2); margin-left: auto; font-size: var(--ui-copy-font-size); }
.nexus-ui .monitoring-panel-range select { width: auto; min-height: 26px; padding-block: 2px; }
.nexus-ui.ui-template-technical .monitoring-panel-range { display: none; }
.nexus-ui:is(.ui-template-classic,.ui-template-technical) .monitoring-chart-widget > .telemetry-chart-grid {
    background: var(--ui-surface);
}
.nexus-ui:is(.ui-template-classic,.ui-template-technical) .monitoring-chart-widget[data-panel-context] > .telemetry-chart-grid {
    padding: 0; border-top: 0;
}
.nexus-ui .monitoring-chart-widget[data-panel-context] .telemetry-chart-card {
    border-radius: 0; box-shadow: none;
}
.nexus-ui .monitoring-chart-widget[data-panel-context] .telemetry-chart-card > header,
.nexus-ui .monitoring-chart-widget[data-panel-context] .telemetry-chart-footer {
    border-radius: 0;
}

/* Unframed field groups and icon bodies share their scroll body's inset. */
.nexus-ui:is(.ui-template-classic,.ui-template-technical) .ui-modal-scroll-content > .icon-editor-body,
.nexus-ui:is(.ui-template-classic,.ui-template-technical) .ui-modal-scroll-content > .modal-form-body > .form-grid.two { padding: 0; }
.nexus-ui:is(.ui-template-classic,.ui-template-technical) .ui-modal-scroll-content .modal-form-body > .modal-inline-heading { margin-inline: 0; }

/* Consecutive unframed sections keep the common section gap after field groups. */
.nexus-ui:is(.ui-template-classic,.ui-template-technical) .ui-modal-scroll-content .modal-form-body > .form-grid + .modal-inline-heading {
    margin-top: var(--ui-setting-section-gap);
}

/* Checkpoint 35: shared communication markup also remains functional in the stable shell. */

.nexus-ui .notification-list-workspace .data-table td.record-actions { display: table-cell; text-align: right; vertical-align: top; }
.nexus-ui .notification-list-workspace .data-table td.record-actions > :is(a,button,form) { display: inline-flex; vertical-align: top; margin-inline-start: var(--ui-space-1); }
.nexus-ui .ui-table-row-actions { display: flex; align-items: center; justify-content: flex-end; flex-wrap: nowrap; gap: var(--ui-space-1); }
.nexus-ui .ui-table-row-actions > form { margin: 0; }
.nexus-ui .message-delivery-table .message-selection-slot { display: inline-flex; align-items: center; justify-content: center; flex: 0 0 var(--ui-action-height, 30px); width: var(--ui-action-height, 30px); }
.nexus-ui .message-selection-slot .manual-selection-hitbox { margin: 0; }
.nexus-ui .ui-feedback { margin-inline: 0; margin-bottom: 0; }
.nexus-ui .ui-feedback.is-error { color: var(--ui-danger); background: var(--ui-danger-soft); }
.nexus-ui .announcement-compose:not(.ui-modal-layout) { display: grid; gap: var(--ui-workspace-gap); }
.nexus-ui .announcement-compose > .panel { margin: 0; }
.nexus-ui .announcement-compose > .panel > .form-grid { padding: var(--ui-panel-block) var(--ui-panel-inline); }
.nexus-ui .ui-inline-options { display: flex; align-items: center; flex-wrap: wrap; gap: var(--ui-space-3); }
.nexus-ui .ui-inline-options > .check { margin: 0; }
.nexus-ui [data-automation-row]:not([data-automation-row=""]) { cursor: pointer; }
.nexus-ui [data-automation-row]:focus-visible { outline: 2px solid var(--ui-brand); outline-offset: -2px; }

/* Notification channels keep independent stacks; a larger SMS card never opens a gap in the e-mail column. */
.nexus-ui .settings-notification-columns { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); align-items: start; gap: var(--ui-workspace-gap); }
.nexus-ui .settings-notification-columns > .panel-stack { min-width: 0; display: flex; flex-direction: column; gap: var(--ui-workspace-gap); }
.nexus-ui .settings-notification-columns > .panel-stack > .panel { margin: 0; }
.nexus-ui .imap-check-footer { justify-content: space-between; }
.nexus-ui .imap-check-footer > small { color: var(--ui-muted); overflow-wrap: anywhere; }
.nexus-ui .settings-sms-overview > .fact-list { padding:var(--ui-space-2,8px) var(--ui-panel-inline); }
.nexus-ui .settings-sms-overview > .ui-panel-message { margin:var(--ui-space-2,8px) var(--ui-panel-inline); }
.nexus-ui:is(.ui-template-classic,.ui-template-technical) .settings-sms-overview > .panel-actions { min-height:0;margin:0;padding:var(--ui-space-1,4px) var(--ui-panel-inline);gap:var(--ui-space-1,4px); }
.nexus-ui .settings-sms-overview > .panel-actions > form { display:inline-flex;align-items:center;margin:0;padding:0; }
.nexus-ui .smtp-profiles-panel .record-actions { flex-wrap:wrap;justify-content:flex-end; }

@media (max-width: 980px) { .nexus-ui .settings-notification-columns { grid-template-columns: minmax(0,1fr); } }

.nexus-ui .notification-list-workspace .data-table td.record-actions { padding-inline: var(--ui-space-2); }

/* UI 3.0: flush note headings; body keeps the common panel inset. */
.nexus-ui .operational-note-list.operational-note-list--flush-headings { padding:0; }
.nexus-ui .operational-note-list--flush-headings .operational-note > .record-note { margin: 0; }

/* Shared component corrections for both supported UI templates, v0.9.36. */
.nexus-ui {
    --ui-filter-field-padding: 5px;
    --ui-topbar-row-one: 14.2px;
    --ui-topbar-row-two: 23.6px;
    --ui-topbar-row-three: 18.33px;
    --ui-topbar-vertical: 18px;
    --ui-photo-thumbnail-width: 180px;
    --ui-photo-thumbnail-height: 120px;
}
.nexus-ui.ui-template-technical {
    --ui-filter-field-padding: 1px;
    --ui-topbar-row-one: 17px;
    --ui-topbar-row-two: 20.06px;
    --ui-topbar-row-three: 15.175px;
    --ui-topbar-vertical: 13px;
}
.nexus-ui:is(.ui-template-classic,.ui-template-technical) {
    --ui-filter-control-height: calc(var(--ui-control-height) - 4px);
    --ui-topbar-height: calc(var(--ui-topbar-row-one) + var(--ui-topbar-row-two) + var(--ui-topbar-row-three) + var(--ui-topbar-vertical));
}
.nexus-ui:is(.ui-template-classic,.ui-template-technical) .topbar {
    height: var(--ui-topbar-height); min-height: var(--ui-topbar-height); max-height: var(--ui-topbar-height);
    box-sizing: border-box; flex-wrap: nowrap; row-gap: 0;
    padding-block: 8px;
}
.nexus-ui.ui-template-technical .topbar { padding-block: 6px; }
.nexus-ui:is(.ui-template-classic,.ui-template-technical) .topbar-context {
    display: grid; grid-template-rows: var(--ui-topbar-row-one) var(--ui-topbar-row-two) var(--ui-topbar-row-three);
    flex: 1 1 auto; min-width: 0; gap: 0; overflow: hidden;
}
.nexus-ui:is(.ui-template-classic,.ui-template-technical) .topbar-kicker {
    grid-row: 1; min-height: 0; height: auto; margin: 0; align-self: stretch; overflow: hidden; white-space: nowrap;
}
.nexus-ui:is(.ui-template-classic,.ui-template-technical) .topbar-heading { grid-row: 2; min-width: 0; margin: 0; }
.nexus-ui:is(.ui-template-classic,.ui-template-technical) .topbar-heading h1 {
    overflow: hidden; white-space: nowrap; text-overflow: ellipsis; margin: 0;
}
.nexus-ui:is(.ui-template-classic,.ui-template-technical) .topbar-context > p {
    grid-row: 3; min-height: 0; margin: 2px 0 0; overflow: hidden; white-space: nowrap; text-overflow: ellipsis;
}
.nexus-ui.ui-template-technical .topbar-context > p { margin-top: 1px; }
.nexus-ui:is(.ui-template-classic,.ui-template-technical) .topbar-actions {
    flex: 0 1 auto; min-width: 0; max-width: 55%; flex-wrap: nowrap; overflow-x: auto; overflow-y: hidden; scrollbar-width: none;
}
.nexus-ui:is(.ui-template-classic,.ui-template-technical) .topbar-page-actions,
.nexus-ui:is(.ui-template-classic,.ui-template-technical) .topbar-account-actions {
    flex: 0 0 auto; width: auto; flex-wrap: nowrap;
}
.nexus-ui:is(.ui-template-classic,.ui-template-technical) .filter-console { min-height: 0; width: 100%; box-sizing: border-box; }
.nexus-ui:is(.ui-template-classic,.ui-template-technical) .filter-console :is(input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]),select,.searchable-select-trigger) {
    height: var(--ui-filter-control-height); min-height: var(--ui-filter-control-height); padding-block: var(--ui-filter-field-padding);
}
.nexus-ui:is(.ui-template-classic,.ui-template-technical) .filter-console > :is(.button,.icon-action) {
    height: var(--ui-filter-control-height); min-height: var(--ui-filter-control-height);
}
.nexus-ui .panel > .ui-panel-message { margin-inline: var(--ui-panel-inline); }
.nexus-ui .documentation-photos > .photo-grid {
    grid-template-columns: repeat(auto-fill,minmax(min(var(--ui-photo-thumbnail-width),100%),var(--ui-photo-thumbnail-width)));
    justify-content: start; align-items: start;
}
.nexus-ui .documentation-photos .photo-card { width: 100%; min-width: 0; max-width: var(--ui-photo-thumbnail-width); }
.nexus-ui .documentation-photos .photo-card img { height: var(--ui-photo-thumbnail-height); width: 100%; object-fit: cover; }
.nexus-ui [data-modal-source]:not([open]) { display: none; }
.nexus-ui .network-change-row .record-actions { display: flex; align-items: center; justify-content: flex-end; gap: var(--ui-space-1); }
.nexus-ui .network-change-row .record-actions form { margin: 0; }
.nexus-ui :is([data-row-href],[data-record-detail],[data-message-detail],.network-change-row):focus-visible {
    outline: 2px solid var(--ui-info); outline-offset: -2px;
}
.nexus-ui .ui-modal-header-actions { display: inline-flex; align-items: center; gap: var(--ui-space-1); margin-left: auto; }
.nexus-ui .price-order-editor { gap: var(--ui-space-2); }
.nexus-ui .price-order-category { border-radius: var(--ui-wrapper-radius); }
.nexus-ui .price-order-category-head { min-height: var(--ui-table-header-height); padding: var(--ui-table-row-block) var(--ui-panel-inline); }
.nexus-ui .price-order-product { padding: var(--ui-table-row-block) var(--ui-panel-inline); }
.nexus-ui .price-order-tariffs > article { min-height: var(--ui-table-row-height); padding-block: var(--ui-table-row-block); }
.nexus-ui .price-category-settings:not(.is-editing) .sortable-drag-handle { cursor: default; opacity: .4; }
@media (max-width:760px) {
    .nexus-ui:is(.ui-template-classic,.ui-template-technical) .topbar-actions { max-width: 48%; }
}


@media (min-width:981px) { .nexus-ui:is(.ui-template-classic,.ui-template-technical) .client-financial-summary { grid-template-columns: repeat(var(--ui-financial-columns,4),minmax(0,1fr)); } }

/* Fixed topbar: keep the primary action and account controls reachable on narrow screens. */
@media (max-width:760px) {
    .nexus-ui:is(.ui-template-classic,.ui-template-technical) .topbar > .topbar-context { flex:1 1 0; min-width:80px; }
    .nexus-ui:is(.ui-template-classic,.ui-template-technical) .topbar-actions { max-width:calc(100% - 80px); overflow-x:auto; overflow-y:hidden; scrollbar-width:none; }
    .nexus-ui:is(.ui-template-classic,.ui-template-technical) .topbar-page-actions { flex:0 1 auto; min-width:104px; justify-content:flex-start; overflow-x:auto; overflow-y:hidden; scrollbar-width:none; }
    .nexus-ui:is(.ui-template-classic,.ui-template-technical) .topbar-page-actions > :is(.catalog-page-actions,.ui-page-actions) { flex:0 0 auto; width:max-content; flex-wrap:nowrap; justify-content:flex-start; }
    .nexus-ui:is(.ui-template-classic,.ui-template-technical) .topbar-page-actions .button-primary { order:-1; }
    .nexus-ui:is(.ui-template-classic,.ui-template-technical) .topbar-divider { display:none; }
}

/* Shared UI components, v0.9.37. Existing wrapper and topbar geometry stays fixed. */
.nexus-ui { --ui-summary-active-line: 1.5px; }
.nexus-ui .compact-summary { min-height: 37px; }
.nexus-ui.ui-template-technical .compact-summary { min-height: 30px; }
.nexus-ui .compact-summary > a {
    position: relative; min-height: 34px; padding-block: 0; border-bottom: 0; box-shadow: none;
}
.nexus-ui .compact-summary > a.active { border-bottom: 0; box-shadow: none; }
.nexus-ui .compact-summary > a.active::after {
    content: ""; position: absolute; inset: auto 0 0; height: var(--ui-summary-active-line); background: var(--ui-brand);
}
.nexus-ui .ui-state-rail { box-shadow: inset 3px 0 0 var(--ui-state-color, var(--ui-muted)); }
.nexus-ui .ui-state-rail.status-online { --ui-state-color: var(--ui-success); }
.nexus-ui .ui-state-rail.status-warning { --ui-state-color: var(--ui-warning); }
.nexus-ui .ui-state-rail.status-offline { --ui-state-color: var(--ui-brand); }
.nexus-ui .ui-state-rail.status-standby { --ui-state-color: var(--ui-soft); }

.nexus-ui .notification-record.is-unread { background: color-mix(in srgb, var(--ui-unread-color) 13%, var(--ui-surface)); }
.nexus-ui .notification-record.is-unread > .notification-row { background: transparent; }
.nexus-ui .notification-record.is-unread [data-column="message"] > strong { font-weight: 700; }
.nexus-ui .message-flow { display: inline-flex; width: max-content; margin-block: 2px; }
.nexus-ui .ui-icon-chart { -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='black' stroke-width='2' d='M3 3v18h18M6 15l4-6 4 7 6-11'/%3E%3C/svg%3E") center/contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='black' stroke-width='2' d='M3 3v18h18M6 15l4-6 4 7 6-11'/%3E%3C/svg%3E") center/contain no-repeat; }
.nexus-ui .ui-icon-envelope { -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='black' stroke-width='2' d='M3 5h18v14H3zM3 6l9 7 9-7'/%3E%3C/svg%3E") center/contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='black' stroke-width='2' d='M3 5h18v14H3zM3 6l9 7 9-7'/%3E%3C/svg%3E") center/contain no-repeat; }
.nexus-ui .ui-icon-envelope-open { -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='black' stroke-width='2' d='M3 9l9-6 9 6v12H3zM3 10l9 6 9-6'/%3E%3C/svg%3E") center/contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='black' stroke-width='2' d='M3 9l9-6 9 6v12H3zM3 10l9 6 9-6'/%3E%3C/svg%3E") center/contain no-repeat; }

/* UI 3.0 v0.9.38: one semantic status order, one inset, compact label/value facts. */
.nexus-ui:is(.ui-template-classic,.ui-template-technical) .compact-summary > a:last-child { border-right: 1px solid var(--ui-border); }
.nexus-ui:is(.ui-template-classic,.ui-template-technical) .compact-summary > a > .status-dot { order: 0; flex-shrink: 0; }
.nexus-ui:is(.ui-template-classic,.ui-template-technical) .compact-summary > a > strong { order: 1; }
.nexus-ui:is(.ui-template-classic,.ui-template-technical) .compact-summary > a > span { order: 2; }
.nexus-ui:is(.ui-template-classic,.ui-template-technical) .ui-record-detail > :is(.ui-modal-record-context,.modal-context-strip):first-child { margin-top: 0; margin-inline: 0; }
.nexus-ui.nexus-settings :is(.database-count-facts,.ui-value-facts) > div { display: grid; grid-template-columns: minmax(0,1fr) auto; column-gap: var(--ui-space-2); row-gap: 0; padding-block: var(--ui-space-1); align-items: center; }
.nexus-ui.nexus-settings :is(.database-count-facts,.ui-value-facts) > div > span { grid-column: 1; grid-row: 1; min-width: 0; }
.nexus-ui.nexus-settings :is(.database-count-facts,.ui-value-facts) > div > small { grid-column: 1; grid-row: 2; min-width: 0; }
.nexus-ui.nexus-settings :is(.database-count-facts,.ui-value-facts) > div > strong { grid-column: 2; grid-row: 1 / span 2; margin: 0; text-align: right; white-space: nowrap; }

/* Message direction and personal reading state are separate from delivery outcome. */
.nexus-ui [data-message-center-table] :is(.notification-row,.notification-record > [data-nexus-cells]) { grid-template-columns: 200px minmax(140px,.8fr) minmax(145px,.8fr) 105px minmax(200px,1.3fr) minmax(145px,.8fr) 135px 250px; }
.nexus-ui .message-flow[data-message-flow="incoming"] { color: #22618a; background: #e6f2fb; border-color: #bfd8ec; }
.nexus-ui .message-flow[data-message-flow="outgoing"] { color: #79522d; background: #f5ede4; border-color: #decbb7; }
.nexus-ui .notification-record.is-unread > .notification-row:hover { background: color-mix(in srgb, var(--ui-unread-color) 18%, var(--ui-surface)); }
.nexus-ui [data-message-center-table] [data-sms-read-label] { margin-top: 0; line-height: var(--ui-table-secondary-line-height,1.3); }
.nexus-ui .announcement-compose-panel.announcement-compose { display: block; padding: 0; }
.nexus-ui .announcement-compose-panel > .modal-editor-section { padding: var(--ui-panel-block) var(--ui-panel-inline); }
.nexus-ui .announcement-compose-panel > .modal-editor-section + .modal-editor-section { padding-top: 0; }
.nexus-ui .announcement-compose-panel > .panel-actions { margin: 0; }

/* Continuous log text: only the console scrolls, details stay with their parent event. */
.nexus-ui .operational-log-console { padding: var(--ui-space-2); min-width: 0; max-width: 100%; }
.nexus-ui .operational-log-console .operational-log-line { display: block; padding: 0; margin: 0; border: 0; background: transparent; }
.nexus-ui .operational-log-console .operational-log-entry { display: block; margin: 0; padding: 0; border: 0; border-radius: 0; background: transparent; color: inherit; font: inherit; line-height: 1.45; white-space: pre; overflow: visible; max-width: none; }
.nexus-ui .operational-log-console .operational-log-message { display: inline; white-space: pre; overflow: visible; text-overflow: clip; }
.nexus-ui .operational-log-console .operational-log-links { display: inline-flex; margin: 0; padding: 0 0 0 var(--ui-space-3); gap: var(--ui-space-2); font: inherit; }
.nexus-ui .operational-log-line .operational-log-origin { color: var(--ui-muted); }

.nexus-ui .telemetry-chart-plot { position: relative; }
.nexus-ui .telemetry-chart-notice { position: absolute; inset: 42% var(--ui-space-3) auto; margin: 0; padding: 0; text-align: center; color: var(--ui-muted); font: var(--ui-copy-font-size)/var(--ui-copy-line-height) var(--ui-font); pointer-events: none; }
.nexus-ui .telemetry-chart-notice[data-state="stale"] { inset: auto var(--ui-space-3) 4px; }
.nexus-ui .telemetry-chart-notice[hidden] { display: none; }

/* UI 3.0 v0.9.39: common status rail, four pixels below the .38 baseline. */
.nexus-ui { --ui-summary-active-line: 2px; --ui-summary-height: 33px; }
.nexus-ui.ui-template-technical { --ui-summary-height: 32px; }
.nexus-ui:is(.ui-template-classic,.ui-template-technical) .compact-summary {
    display: flex; width: 100%; min-height: var(--ui-summary-height); height: var(--ui-summary-height);
    box-sizing: border-box; align-items: stretch; overflow-x: auto; overflow-y: hidden;
}
.nexus-ui:is(.ui-template-classic,.ui-template-technical) .compact-summary > a {
    display: inline-flex; flex: 0 0 auto; min-height: 0; height: auto; box-sizing: border-box;
    padding-block: 0; align-items: center; justify-content: center; gap: 5px;
    border-bottom: 0; border-right: 1px solid var(--ui-border); line-height: 1;
}
.nexus-ui:is(.ui-template-classic,.ui-template-technical) .compact-summary > a > :is(strong,span,.status-dot) {
    align-self: center; margin-block: 0; line-height: 1;
}
.nexus-ui:is(.ui-template-classic,.ui-template-technical) .compact-summary > a > .status-dot { order: 0; }
.nexus-ui:is(.ui-template-classic,.ui-template-technical) .compact-summary > a > strong { order: 1; }
.nexus-ui:is(.ui-template-classic,.ui-template-technical) .compact-summary > a > span { order: 2; }
.nexus-ui.nexus-settings :is(.database-count-facts,.ui-value-facts) {
    grid-template-columns: repeat(auto-fit,minmax(150px,1fr)); max-width: 50%;
}
@media(max-width:760px) { .nexus-ui.nexus-settings :is(.database-count-facts,.ui-value-facts) { max-width: 100%; } }

/* Transport state and account reading are one compact row, never a receipt. */
.nexus-ui:is(.ui-template-classic,.ui-template-technical) [data-message-center-table] [data-column="status"] {
    display: flex; flex-direction: row; align-items: center; gap: 5px; flex-wrap: nowrap;
}
.nexus-ui:is(.ui-template-classic,.ui-template-technical) [data-message-center-table] [data-sms-read-label] { display: inline-block; margin: 0; white-space: nowrap; }
.nexus-ui .message-counterparty { white-space: nowrap; }

/* Compact database columns retain full-width wrappers and the global inset. */
.nexus-ui.nexus-settings .database-count-facts { grid-template-columns: repeat(8,minmax(0,1fr)); max-width: 100%; }
.nexus-ui.nexus-settings .ui-value-facts { grid-template-columns: repeat(4,minmax(0,1fr)); max-width: 100%; }
.nexus-ui.nexus-settings .database-sql-traffic > .ui-record-detail { padding: var(--ui-panel-block) var(--ui-panel-inline); }
.nexus-ui:is(.ui-template-classic,.ui-template-technical) .compact-summary > a.active { box-shadow: none; }
@media(max-width:1100px) { .nexus-ui.nexus-settings .database-count-facts { grid-template-columns: repeat(4,minmax(0,1fr)); } }
@media(max-width:760px) { .nexus-ui.nexus-settings :is(.database-count-facts,.ui-value-facts) { grid-template-columns: repeat(2,minmax(0,1fr)); } }
@media(max-width:480px) { .nexus-ui.nexus-settings :is(.database-count-facts,.ui-value-facts) { grid-template-columns: minmax(0,1fr); } }

/* v0.9.40: incident blocks use the shared modal spacing and table frame. */
.nexus-ui { --ui-unread-color: #57b5ec; }
.nexus-ui .status-dot.status-unread { background: var(--ui-unread-color); }
.nexus-ui [data-incident-detail] > .modal-editor-section + .modal-editor-section { margin-top: var(--ui-space-4, 16px); }
.nexus-ui [data-incident-detail] .table-scroll { border: 1px solid var(--ui-border); }
.nexus-ui [data-incident-detail] .modal-section-head .content-header-actions { display: flex; align-items: center; gap: var(--ui-space-2, 8px); margin-left: auto; }

.nexus-ui .operational-log-console .operational-log-line { padding-block: 4px; }
.nexus-ui .operational-log-console .operational-log-line + .operational-log-line { border-top: 1px dashed color-mix(in srgb, var(--ui-border) 55%, transparent); }

.nexus-ui.nexus-settings .database-sql-traffic > .filter-console { border: 0; box-shadow: none; margin-bottom: 0; padding-bottom: 0; }
.nexus-ui.nexus-settings .database-sql-traffic .sql-selected-period { margin-top: 0; margin-bottom: var(--ui-space-4, 16px); }
.nexus-ui .sql-traffic-table { margin-bottom: var(--ui-space-3, 12px); }
.nexus-ui .sql-traffic-table :is(th,td) { border: 1px solid var(--ui-border); }
.nexus-ui .sql-traffic-table .sql-traffic-total { font-weight: 600; }
.nexus-ui .sql-process-coverage { margin-block: 4px; }

/* Foreground operation status shares the fixed toast area. */
.nexus-ui .nexus-activity { align-items: center; justify-content: flex-start; gap: 9px; }
.nexus-ui .nexus-activity::before, .nexus-ui .nexus-activity > span::before { display: none; }
.nexus-ui .nexus-activity > span { display: block; padding: 0; }
.nexus-ui .nexus-activity-gear { display: inline-block; flex: 0 0 auto; font-style: normal; font-size: 22px; line-height: 1; animation: nexus-working 1.6s linear infinite; }
@keyframes nexus-working { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) {
    html:not([data-nexus-motion="on"]) .nexus-ui .nexus-activity-gear { animation-duration: 6s; } }

/* v0.9.41: one calm note surface, shared by framed message content. */
.nexus-ui {
    --ui-note-background: color-mix(in srgb, var(--ui-unread-color, #57b5ec) 8%, var(--ui-surface));
    --ui-note-accent: color-mix(in srgb, var(--ui-unread-color, #57b5ec) 45%, var(--ui-border));
}
.nexus-ui:is(.ui-template-classic,.ui-template-technical) :is(.ui-detail-modal,.modal-document-content,.ui-modal-scroll-content) .ui-content-frame,
.nexus-ui .ui-content-frame {
    min-width: 0; margin: 14px 0 2px; padding: 8px 12px 12px;
    background: var(--ui-note-background); border: 1px solid var(--ui-border-strong); border-radius: var(--ui-radius-sm);
}
.nexus-ui .ui-content-frame > .ui-content-frame-title {
    position: static; display: block; width: auto; max-width: 100%; margin: 0; padding: 0 6px;
    background: var(--ui-surface); color: var(--ui-text-strong); font: 600 12px/1.4 var(--ui-font);
}
.nexus-ui .message-detail { --ui-modal-fact-label-width: 96px; text-align: start; }
.nexus-ui .fact-list.ui-modal-facts :is(dt,dd) { text-align: start; }

/* v0.9.41: a block owns its attached heading; the stack owns inter-block space.
   The modal enhancer copies this semantic class to its real scroll content. */
.nexus-ui .ui-section-stack:not(.ui-modal-layout) { display: flex; flex-direction: column; gap: var(--ui-setting-section-gap); }
.nexus-ui .ui-section-stack > .modal-editor-section { margin: 0; }
.nexus-ui .ui-section-stack > .modal-editor-section > .modal-section-head { margin-block: 0 var(--ui-setting-heading-gap,8px); }
.nexus-ui .ui-section-stack > .modal-editor-section > .table-scroll { margin: 0; }
.nexus-ui .ui-section-stack > [data-refresh-status]:empty { display: none; }

.nexus-ui .sql-traffic-table { width: fit-content; max-width: 100%; }
.nexus-ui .sql-traffic-table > table.data-table { width: auto; min-width: 0; table-layout: auto; }
.nexus-ui .sql-traffic-table > table.data-table :is(th,td) { white-space: nowrap; }
.nexus-ui .sql-traffic-table > table.data-table tr:last-child :is(th,td) { border-bottom: 1px solid var(--ui-border); }

/* Only the log console fills the measured remaining viewport. */
.nexus-ui .operational-log-shell.is-viewport-fitted { display: flex; flex-direction: column; height: var(--nexus-log-height); min-height: 0; }
.nexus-ui .operational-log-shell.is-viewport-fitted > .panel-head { flex: 0 0 auto; }
.nexus-ui .operational-log-shell.is-viewport-fitted .operational-log-layout { flex: 1 1 0; display: flex; min-height: 0; }
.nexus-ui .operational-log-shell.is-viewport-fitted .operational-log-main { flex: 1 1 0; min-height: 0; }
.nexus-ui .operational-log-shell.is-viewport-fitted :is(.operational-log-console-head,.operational-log-footer) { flex: 0 0 auto; }
.nexus-ui .operational-log-shell.is-viewport-fitted .operational-log-console { flex: 1 1 0; min-height: 0; max-height: none; }
.nexus-ui .operational-log-shell.is-viewport-fitted .operational-log-empty { min-height: 100%; box-sizing: border-box; }

/* Resettable list owners use the explicit reading anchors, not browser guesses. */
.nexus-ui [data-reset-scroll-on-open] { overflow-anchor: none; }

/* v0.9.42: standalone foreground mechanism, no toast surface. */
.nexus-ui .nexus-activity { display: grid; justify-items: center; align-self: flex-end; width: 86px; padding: 0; margin: 0; border: 0; border-radius: 0; background: transparent; box-shadow: none; color: var(--ui-text); pointer-events: none; }
.nexus-ui .nexus-activity-mechanism { position: relative; width: 80px; height: 74px; }
.nexus-ui .nexus-activity-gear { position: absolute; display: block; color: var(--ui-muted); line-height: 0; transform-origin: center; }
.nexus-ui .nexus-activity-gear svg { width: 100%; height: 100%; fill: currentColor; }
.nexus-ui .nexus-activity-gear.is-large { width: 52px; height: 52px; left: 0; top: 18px; animation: nexus-working 1.8s linear infinite; }
.nexus-ui .nexus-activity-gear.is-small { width: 34px; height: 34px; left: 43px; top: 0; animation: nexus-working 1.2s linear infinite reverse; }
.nexus-ui .nexus-activity-icon { position: absolute; width: 24px; height: 24px; left: 14px; top: 32px; object-fit: contain; }
.nexus-ui .nexus-activity > [data-activity-text] { padding: 0; font: 400 var(--ui-copy-font-size)/1.3 var(--ui-font); text-align: center; }
.nexus-ui .nexus-activity.is-complete .nexus-activity-gear { animation-play-state: paused; }
@media (prefers-reduced-motion: reduce) {
    html:not([data-nexus-motion="on"]) .nexus-ui .nexus-activity .nexus-activity-gear { animation: none; } }
/* The original operational-note font survives in the pre-redesign rule. */
.nexus-ui { --ui-note-font: "Cascadia Mono", "Segoe UI Mono", Consolas, monospace; }
.nexus-ui:is(.ui-template-classic,.ui-template-technical) :is(.record-note,.operational-note-body p,.operational-note > p) { font-family: var(--ui-note-font); }
.nexus-ui .client-operational-notes .operational-note-list--flush-headings { padding: var(--ui-panel-block) var(--ui-panel-inline); }

/* Waiting for uncovered history must not cover the date axis. */
.nexus-ui .telemetry-chart-notice[data-state="stale"] { inset: 2px var(--ui-space-3) auto auto; max-width: calc(100% - 70px); padding: 1px 4px; background: var(--ui-surface); text-align: right; }
.nexus-ui .telemetry-chart-notice:is([data-state="error"], [data-state="stale-error"]) {
    inset: 50% 0 auto;
    margin: 0 auto;
    transform: translateY(-50%);
}
.nexus-ui .telemetry-chart-grid > [data-telemetry-load-error] {
    grid-column: 1 / -1;
    place-self: center;
    margin-inline: auto;
}
.nexus-ui .telemetry-chart-notice:is([data-state="error"], [data-state="stale-error"]),
.nexus-ui .empty-state[data-telemetry-load-error],
.nexus-ui .nexus-dashboard .dashboard-feed-status {
    width: max-content;
    max-width: calc(100% - 14px);
    padding: 2px 7px;
    border-radius: 999px;
    background: var(--ui-danger-soft);
    color: #a22c28;
    font-size: calc(var(--ui-copy-font-size) - 0.5pt);
    text-align: center;
    overflow-wrap: anywhere;
}

/* v0.9.42 Home only: compact reading, original editing geometry. */
.nexus-dashboard .dashboard-status-strip { display: flex; flex-wrap: wrap; justify-content: flex-start; }
.nexus-dashboard .dashboard-status-strip > .dashboard-status-item { flex: 0 0 auto; min-width: 0; }
.nexus-dashboard .dashboard-status-item { --dashboard-state-color: #89969d; }
.nexus-dashboard .dashboard-status-item[data-state="danger"] { --dashboard-state-color: var(--ui-danger); }
.nexus-dashboard .dashboard-status-item[data-state="warning"] { --dashboard-state-color: var(--ui-warning, #d88a13); }
.nexus-dashboard .dashboard-status-item[data-state="unread"] { --dashboard-state-color: var(--ui-unread-color, #57b5ec); }
.nexus-dashboard .dashboard-status-item .dashboard-status-dot { position: relative; display: inline-block; flex: 0 0 auto; width: 6px; height: 6px; border-radius: 50%; background: var(--dashboard-state-color); color: var(--dashboard-state-color); }
.nexus-dashboard .dashboard-status-item:not([data-state="neutral"]) .dashboard-status-dot::after { content: ""; position: absolute; inset: -1px; border: 1px solid currentColor; border-radius: 50%; animation: nexus-home-pulse 2s ease-out infinite; }
@keyframes nexus-home-pulse { from { transform: scale(1); opacity: .75; } to { transform: scale(2.6); opacity: 0; } }
@media (prefers-reduced-motion: reduce) {
    html:not([data-nexus-motion="on"]) .nexus-dashboard .dashboard-status-dot::after { animation: none !important; display: none; } }
.nexus-ui .nexus-dashboard .custom-dashboard-grid { grid-auto-rows: auto; align-items: start; }
.nexus-dashboard .custom-dashboard-grid > .dashboard-widget > .panel-head { box-sizing: border-box; height: 38px; min-height: 38px; max-height: 38px; flex-wrap: nowrap; }
.nexus-dashboard .custom-dashboard-grid:not(.is-editing) > .dashboard-widget > .panel-head { height: 19px; min-height: 19px; max-height: 19px; padding: 0 7px; gap: 5px; }
.nexus-dashboard .custom-dashboard-grid:not(.is-editing) > .dashboard-widget > .panel-head > div:first-child { min-width: 0; flex: 1 1 auto; }
.nexus-dashboard .custom-dashboard-grid:not(.is-editing) > .dashboard-widget > .panel-head h2 { margin: 0; font-size: 12px; line-height: 17px; font-weight: 600; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
.nexus-dashboard .custom-dashboard-grid:not(.is-editing) > .dashboard-widget > .panel-head :is(small,.monitoring-panel-range) { display: none; }
.nexus-dashboard .dashboard-quick-widget { align-self: start; }
.nexus-dashboard .dashboard-system-tiles .system-tile::before { width: 2px; }
.nexus-dashboard .dashboard-system-tiles .service-icon { width: 32px; height: 32px; min-width: 32px; }
.nexus-dashboard .dashboard-system-tiles .system-tile > a, .nexus-dashboard .dashboard-system-tiles .system-tile-unavailable { gap: 4px; }
.nexus-dashboard .custom-dashboard-grid:not(.is-editing) .monitoring-chart-widget :is(.telemetry-live-state,.telemetry-chart-card > header) { display: none; }
.nexus-dashboard .dashboard-list-nav { display: flex; align-items: center; gap: 2px; margin-left: auto; flex: 0 0 auto; }
.nexus-dashboard .dashboard-page { box-sizing: border-box; display: inline-grid; place-items: center; width: 16px; height: 16px; min-height: 0; padding: 0; border: 0; border-radius: var(--ui-radius-sm); background: transparent; color: var(--ui-text); font: 600 17px/1 var(--ui-font); cursor: pointer; }
.nexus-dashboard .dashboard-page:disabled { opacity: .3; cursor: default; }
.nexus-dashboard .dashboard-page:not(:disabled):hover { background: var(--ui-hover, #edf1f3); }
.nexus-dashboard .dashboard-feed-row { padding: 5px 7px; border-bottom: 1px solid var(--ui-border); }
.nexus-dashboard .dashboard-feed-row:last-child { border-bottom: 0; }
.nexus-dashboard :is(.dashboard-feed-title,.dashboard-feed-context) { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.nexus-dashboard .dashboard-feed-title { color: var(--ui-text); font: 500 var(--ui-copy-font-size)/1.4 var(--ui-font); text-decoration: none; }
.nexus-dashboard a.dashboard-feed-title:hover { text-decoration: underline; }
.nexus-dashboard .dashboard-feed-context { color: var(--ui-muted); font: 400 var(--ui-copy-font-size)/1.4 var(--ui-font); }
.nexus-dashboard .dashboard-feed-meta { display: flex; flex-wrap: wrap; gap: 2px 8px; color: var(--ui-muted); font: 400 9px/1.4 var(--ui-font); }
.nexus-dashboard .dashboard-feed-meta time { margin-left: auto; }
.nexus-dashboard .dashboard-feed-empty { display: block; margin: 0; padding: 7px; color: var(--ui-muted); font: 400 var(--ui-copy-font-size)/1.4 var(--ui-font); }
.nexus-dashboard .dashboard-feed-widget { position: relative; }
.nexus-dashboard .dashboard-feed-status {
    position: absolute;
    inset: 50% 0 auto;
    z-index: 1;
    margin: 0 auto;
    transform: translateY(-50%);
    font: 400 calc(var(--ui-copy-font-size) - 0.5pt)/1.4 var(--ui-font);
    pointer-events: none;
}
.nexus-dashboard .dashboard-feed-status:empty { display: none; }
.nexus-dashboard .dashboard-feed-widget[data-height="2"] .dashboard-feed-body { min-height: 400px; }

/* Hidden Home controls remove their grid tracks as well as their content. */
.nexus-ui .nexus-dashboard .monitoring-chart-widget .telemetry-chart-card { display: flex; flex-direction: column; }
.nexus-ui .nexus-dashboard .monitoring-chart-widget[data-height="2"] .telemetry-chart-plot > canvas:not(.telemetry-chart-overlay) { height: 400px; }

.nexus-ui .nexus-dashboard .custom-dashboard-grid.is-editing > .dashboard-widget > .panel-head small { display: block; }

/* v0.9.43: Home geometry is persistent even when a module has no rows. */
.nexus-ui .nexus-dashboard .custom-dashboard-grid { display: grid; grid-template-columns: repeat(12,minmax(0,1fr)); grid-auto-rows: 20px; grid-auto-flow: row dense; gap: 8px; align-items: stretch; }
.nexus-ui .nexus-dashboard .custom-dashboard-grid > .dashboard-widget { position: relative; grid-column: span var(--dashboard-columns,3); grid-row: span var(--dashboard-rows,14); display: flex; flex-direction: column; min-width: 0; min-height: 0; height: 100%; align-self: stretch; }
.nexus-ui .nexus-dashboard .custom-dashboard-grid > .dashboard-widget[data-visible="false"] { display: none; }
.nexus-ui .nexus-dashboard .custom-dashboard-grid.is-editing > .dashboard-widget[data-visible="false"] { display: flex; }
.nexus-ui .nexus-dashboard .custom-dashboard-grid:not(.is-editing) > .dashboard-widget > .panel-head { height: 25px; min-height: 25px; max-height: 25px; flex: 0 0 25px; }
.nexus-ui .nexus-dashboard .custom-dashboard-grid.is-editing > .dashboard-widget > .panel-head { flex: 0 0 38px; }
.nexus-dashboard .dashboard-page { width: 20px; height: 21px; font-size: 20px; }
.nexus-dashboard .dashboard-page-number { min-width: 16px; text-align: center; font: 500 10px/1 var(--ui-font); }
.nexus-dashboard .dashboard-status-item { justify-content: center; text-align: center; }
.nexus-dashboard .dashboard-system-tiles { min-height: 0; overflow: auto; align-content: start; }
.nexus-dashboard .dashboard-system-tiles .system-tile > a,.nexus-dashboard .dashboard-system-tiles .system-tile-unavailable { min-height: 46px; padding-top: 5px; padding-bottom: 5px; }
.nexus-ui .nexus-dashboard .dashboard-feed-body { flex: 1 1 auto; min-height: 0; overflow: auto; }
.nexus-ui .nexus-dashboard .dashboard-feed-widget[data-height="2"] .dashboard-feed-body { min-height: 0; }
.nexus-dashboard .dashboard-feed-row[data-row-href] { cursor: pointer; }
.nexus-dashboard .dashboard-feed-row[data-row-href]:hover { background: var(--ui-hover,#edf1f3); }
.nexus-ui .nexus-dashboard .monitoring-chart-widget > .telemetry-chart-grid { flex: 1 1 auto; min-height: 0; }
.nexus-ui .nexus-dashboard .monitoring-chart-widget .telemetry-chart-card { height: 100%; min-height: 0; }
.nexus-ui .nexus-dashboard .monitoring-chart-widget .telemetry-chart-plot { flex: 1 1 auto; min-height: 80px; }
.nexus-ui .nexus-dashboard .monitoring-chart-widget .telemetry-chart-plot > canvas:not(.telemetry-chart-overlay) { height: 100% !important; }
.nexus-dashboard [data-widget-title][contenteditable="plaintext-only"] { cursor: text; outline: 1px dashed var(--ui-border); min-width: 40px; }
.nexus-dashboard [data-widget-title][contenteditable="plaintext-only"]:focus { outline-color: var(--ui-brand); }
.nexus-dashboard .dashboard-resize-handle { display: none; position: absolute; z-index: 5; touch-action: none; }
.nexus-dashboard .is-editing .dashboard-resize-handle { display: block; }
.nexus-dashboard [data-widget-resize="n"],.nexus-dashboard [data-widget-resize="s"] { left: 9px; right: 9px; height: 6px; cursor: ns-resize; }
.nexus-dashboard [data-widget-resize="n"] { top: 0; } .nexus-dashboard [data-widget-resize="s"] { bottom: 0; }
.nexus-dashboard [data-widget-resize="e"],.nexus-dashboard [data-widget-resize="w"] { top: 9px; bottom: 9px; width: 6px; cursor: ew-resize; }
.nexus-dashboard [data-widget-resize="e"] { right: 0; } .nexus-dashboard [data-widget-resize="w"] { left: 0; }
.nexus-dashboard [data-widget-resize="ne"],.nexus-dashboard [data-widget-resize="nw"],.nexus-dashboard [data-widget-resize="se"],.nexus-dashboard [data-widget-resize="sw"] { width: 11px; height: 11px; }
.nexus-dashboard [data-widget-resize="ne"] { top: 0; right: 0; cursor: nesw-resize; } .nexus-dashboard [data-widget-resize="nw"] { top: 0; left: 0; cursor: nwse-resize; }
.nexus-dashboard [data-widget-resize="se"] { bottom: 0; right: 0; cursor: nwse-resize; } .nexus-dashboard [data-widget-resize="sw"] { bottom: 0; left: 0; cursor: nesw-resize; }
.nexus-dashboard .is-resizing { outline: 1px solid var(--ui-brand); }
.nexus-ui .dashboard-filter-context { display: flex; align-items: center; gap: 6px; width: fit-content; margin: 8px 0; padding: 4px 8px; border: 1px solid var(--ui-border); border-radius: var(--ui-radius-sm); background: var(--ui-surface-subtle,#f4f6f7); color: var(--ui-text-strong,#202930); }
.nexus-ui :is(.device-detail-content,.client-operational-notes) .operational-note-list { gap: 8.5px; }
.nexus-ui.ui-template-technical :is(.device-detail-content,.client-operational-notes) .operational-note-list { gap: 7.25px; }
@media(max-width:700px) { .nexus-ui .nexus-dashboard .custom-dashboard-grid > .dashboard-widget { grid-column: 1 / -1; } }

/* v0.9.43: the graphic itself is centered, with a painted-frame minimum. */
.nexus-ui .nexus-activity { justify-self: center; align-self: start; width: 180px; justify-items: center; justify-content: center; color: #202930; }
.nexus-ui .nexus-activity > [data-activity-text] { font: 700 14px/1.4 var(--ui-font); color: #202930; text-shadow: 0 1px 2px #fff,0 -1px 2px #fff; }
.nexus-activity .nexus-activity-mechanism { overflow: visible; }
.nexus-activity .nexus-activity-gear.is-large { color: #273039; z-index: 2; }
.nexus-activity .nexus-activity-gear.is-small { color: #c9242c; z-index: 2; }
.nexus-activity .nexus-activity-icon { z-index: 3; }
.nexus-activity-sloth { display: none; position: absolute; width: 43px; height: 64px; left: -82px; top: -1px; transform-origin: center; z-index: 1; }
.nexus-activity-sloth > img { position: absolute; inset: 0; width: 43px; height: 53px; object-fit: contain; z-index: 2; }
.nexus-activity-leg { position: absolute; top: 46px; width: 9px; height: 18px; border-radius: 4px; background: #25272a; transform-origin: top; }
.nexus-activity-leg.is-left { left: 12px; } .nexus-activity-leg.is-right { left: 25px; }
.nexus-activity.is-gag .nexus-activity-sloth { display: block; animation: nexus-sloth-through-gears 2.1s linear both; }
.nexus-activity.is-gag .nexus-activity-leg { animation: nexus-sloth-step .28s ease-in-out alternate infinite; }
.nexus-activity.is-gag .nexus-activity-leg.is-right { animation-direction: alternate-reverse; }
.nexus-activity-splash { display: none; position: absolute; width: 7px; height: 5px; left: 54px; top: 36px; border-radius: 65% 35% 60% 40%; background: #8e3025; z-index: 4; opacity: 0; }
.nexus-activity-splash:nth-of-type(2n) { background: #5b281d; width: 5px; height: 8px; }
.nexus-activity.is-gag .nexus-activity-splash { display: block; animation: nexus-red-brown-splash .72s var(--splash-delay) cubic-bezier(.1,.5,.8,1) both; }
@keyframes nexus-sloth-step { from { transform: rotate(-22deg); } to { transform: rotate(22deg); } }
@keyframes nexus-sloth-through-gears { 0% { transform: translateX(0); opacity: 1; } 22% { transform: translate(34px,-2px); } 45% { transform: translate(72px,0); } 60% { transform: translate(105px,8px) scale(.3,.78) rotate(12deg); opacity: 1; } 68%,100% { transform: translate(125px,19px) scale(.02,.25) rotate(45deg); opacity: 0; } }
@keyframes nexus-red-brown-splash { 0% { opacity: 0; transform: scale(.4); } 8% { opacity: 1; } 80% { opacity: .9; } 100% { opacity: 0; transform: translate(var(--splash-x),var(--splash-y)) rotate(var(--splash-turn)) scale(1.25); } }
@media(prefers-reduced-motion:reduce) {
    html:not([data-nexus-motion="on"]) .nexus-activity.is-gag :is(.nexus-activity-sloth,.nexus-activity-splash) { display: none; animation: none; } }

/* v0.9.44: preserve shared geometry and align semantic status groups. */
.nexus-ui:is(.ui-template-classic,.ui-template-technical) .nexus-dashboard .dashboard-status-strip.compact-summary > a.dashboard-status-item { justify-content: center; text-align: center; }
.nexus-ui .availability-banner .availability-title { display: flex; align-items: center; gap: 7px; }
.nexus-ui .availability-banner .availability-title > .status-dot { flex: 0 0 7px; margin: 0; }

/* v0.9.44: readonly route documents use the accepted fixed footer/body shell. */
.nexus-ui.modal-document .modal-document-content > .ui-readonly-record.ui-modal-layout { margin: 0; padding: 0; }
.nexus-ui.modal-document .ui-readonly-record.ui-modal-layout > .ui-modal-scroll-body > .ui-modal-scroll-content { padding: var(--ui-modal-content-padding,16px); }
.nexus-ui .ui-readonly-record .modal-editor-section { min-width: 0; padding: 0; }
.nexus-ui .ui-readonly-record .bank-movement-detail > .modal-editor-section > .modal-section-head { margin-block: 0; }
.nexus-ui .ui-readonly-record .message-detail .fact-list { margin: 0; padding: 0; }
.nexus-ui .ui-readonly-record .table-scroll { margin-inline: 0; }

/* Explicit session motion never disables JS paints, data or input. */
html[data-nexus-motion="off"] .nexus-ui *, html[data-nexus-motion="off"] .nexus-ui *::before, html[data-nexus-motion="off"] .nexus-ui *::after { animation: none !important; transition-duration: .01ms !important; scroll-behavior: auto !important; }
.nexus-ui .animation-preference { margin: 0; }
.nexus-ui .topbar-motion svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }
.nexus-ui .topbar-motion .motion-off-mark { display: none; }
.nexus-ui .topbar-motion.is-off .motion-off-mark { display: block; }

/* Approved Sevenkorák v6, integrated in v0.9.44. */
/* Lab v6: original compact .42 wheel geometry; the cameo extends into the topbar. */
.nexus-ui .nexus-activity { width: 180px; gap: 9px; }
.nexus-ui .nexus-activity-mechanism { width: 80px; height: 74px; overflow: visible; }
.nexus-activity-drive { position: absolute; left: 0; top: 0; width: 80px; height: 74px; z-index: 3; }
.nexus-ui .nexus-activity .nexus-activity-gear { color: #647078; }
.nexus-ui .nexus-activity .nexus-activity-gear.is-large { width: 52px; height: 52px; left: 0; top: 18px; }
.nexus-ui .nexus-activity .nexus-activity-gear.is-small { width: 34px; height: 34px; left: 43px; top: 0; }
.nexus-ui .nexus-activity .nexus-activity-gear .nexus-activity-icon { left: 14px; top: 14px; width: 24px; height: 24px; padding: 2px; box-sizing: border-box; background: #fff; border-radius: 50%; object-fit: contain; z-index: 3; }
.nexus-ui .nexus-activity .nexus-activity-branch { position: absolute; display: none; width: 140px; height: 24px; left: -53px; top: -72px; overflow: visible; z-index: 1; opacity: 0; }
.nexus-ui .nexus-activity .nexus-activity-sloth { position: absolute; display: none; width: 94px; height: 61.1px; left: -29px; top: -63px; transform-origin: 50% 52%; z-index: 2; opacity: 0; animation: none; }
.nexus-activity-mascot { display: block; width: 94px; height: 61.1px; overflow: visible; }
.nexus-activity-grip.is-rear-far { transform-origin: 36px 41px; }
.nexus-activity-grip.is-rear-near { transform-origin: 27px 45px; }
.nexus-activity-grip.is-front-far { transform-origin: 67px 33px; }
.nexus-activity-grip.is-front-near { transform-origin: 80px 37px; }
.nexus-ui .nexus-activity.is-gag .nexus-activity-branch { display: block; animation: nexus-branch-dissolve var(--nexus-scene-duration,2.8s) linear both; }
.nexus-ui .nexus-activity.is-gag .nexus-activity-sloth { display: block; animation: nexus-sloth-drop var(--nexus-scene-duration,2.8s) linear both; }
.nexus-ui .nexus-activity.is-gag .nexus-activity-grip:is(.is-rear-far,.is-rear-near) { animation: nexus-release-rear var(--nexus-scene-duration,2.8s) linear both; }
.nexus-ui .nexus-activity.is-gag .nexus-activity-grip:is(.is-front-far,.is-front-near) { animation: nexus-release-front var(--nexus-scene-duration,2.8s) linear both; }
.nexus-ui .nexus-activity.is-complete :is(.nexus-activity-sloth,.nexus-activity-branch) { display: none; }
.nexus-ui .nexus-activity .nexus-activity-splash,
.nexus-ui .nexus-activity .nexus-activity-splash:nth-of-type(2n) { display: none; position: absolute; left: 48px; top: 28px; width: var(--drop-width); height: var(--drop-height); border-radius: 0; clip-path: var(--drop-shape); background: var(--nexus-splash,#8e3025); opacity: 0; z-index: 6; transform-origin: 0 50%; filter: none; box-shadow: none; }
.nexus-ui .nexus-activity .nexus-activity-splash.is-dark { background: var(--nexus-splash-dark,#5b281d); }
.nexus-ui .nexus-activity.is-gag .nexus-activity-splash { display: block; animation: nexus-sharp-splash calc(var(--nexus-scene-duration,2.8s)*.29) var(--splash-delay) cubic-bezier(.08,.55,.26,1) both; }
@keyframes nexus-branch-dissolve {
    0% { opacity: 0; filter: blur(1px); transform: translateY(-2px); visibility: visible; }
    12%,55% { opacity: 1; filter: blur(0); transform: translateY(0); visibility: visible; }
    72% { opacity: .65; filter: blur(.8px); transform: translateY(-1px); visibility: visible; }
    92% { opacity: 0; filter: blur(3px); transform: translateY(-3px); visibility: visible; }
    100% { opacity: 0; filter: blur(3px); transform: translateY(-3px); visibility: hidden; }
}
@keyframes nexus-sloth-drop {
    0% { transform: translate(0,0) rotate(-1deg); opacity: 0; }
    12% { transform: translate(0,0) rotate(-1deg); opacity: 1; }
    25% { transform: translate(0,0) rotate(1deg); opacity: 1; }
    31% { transform: translate(0,0) rotate(0); opacity: 1; }
    40% { transform: translate(0,8px) rotate(4deg); opacity: 1; }
    50% { transform: translate(2px,28px) rotate(10deg); opacity: 1; }
    56% { transform: translate(5px,55px) scale(.85,.9) rotate(20deg); opacity: 1; }
    63% { transform: translate(8px,67px) scale(.18,.5) rotate(35deg); opacity: 1; }
    68%,100% { transform: translate(12px,80px) scale(.01,.12) rotate(43deg); opacity: 0; }
}
@keyframes nexus-release-rear { 0%,25% { transform: rotate(0); } 35% { transform: rotate(-113deg); } 49%,100% { transform: rotate(-95deg); } }
@keyframes nexus-release-front { 0%,28% { transform: rotate(0); } 38% { transform: rotate(110deg); } 50%,100% { transform: rotate(92deg); } }
@keyframes nexus-sharp-splash {
    0% { opacity: 0; transform: translate(0,0) rotate(var(--splash-turn)) scale(.12,.55); }
    8% { opacity: 1; }
    65% { opacity: .95; transform: translate(calc(var(--splash-x)*.7),calc(var(--splash-y)*.7)) rotate(var(--splash-turn)) scale(1,.7); }
    100% { opacity: 0; transform: translate(var(--splash-x),calc(var(--splash-y) + 10px)) rotate(var(--splash-turn)) scale(.55,.2); }
}


/* The large wheel center is x=26; the mechanism/screen axis is x=40. */
.nexus-ui .nexus-activity > [data-activity-text] { transform: translateX(-14px); font: 400 14px/1.4 var(--ui-font); text-align: center; text-shadow: none; white-space: nowrap; }

.nexus-ui .nexus-activity { opacity: 0; transition: opacity .14s ease, filter .14s ease; filter: blur(1px); --nexus-scene-resume: 0ms; }
.nexus-ui .nexus-activity.is-visible { opacity: 1; filter: blur(0); }
.nexus-ui .nexus-activity.is-leaving { opacity: 0; filter: blur(2px); }
.nexus-ui .nexus-activity.is-paused * { animation-play-state: paused !important; }
.nexus-ui .nexus-activity.is-gag :is(.nexus-activity-branch,.nexus-activity-sloth,.nexus-activity-grip) { animation-delay: calc(0ms - var(--nexus-scene-resume)); }
.nexus-ui .nexus-activity.is-gag .nexus-activity-splash { animation-delay: calc(var(--splash-delay) - var(--nexus-scene-resume)); }
.nexus-ui .nexus-activity.is-scene-finished :is(.nexus-activity-branch,.nexus-activity-sloth,.nexus-activity-splash) { display: none; }

/* v0.9.44: selection controls must not inherit text-input min-height/padding. */
.nexus-ui .bank-select-cell { justify-items: start; align-items: center; }
.nexus-ui .bank-select-cell input[type="checkbox"],
.nexus-ui .bank-table-head input[type="checkbox"],
.nexus-ui .bank-bulk-review input[type="checkbox"] {
    min-height: 0; min-width: 0; width: 15px; height: 15px; padding: 0; margin: 0;
    flex: 0 0 15px; box-sizing: border-box;
}
.nexus-ui .bank-movements article { min-height: 40px; }

/* v0.9.44: tickets share note surfaces and the global state stripe. */
.nexus-ui:is(.ui-template-classic,.ui-template-technical) .ticket-detail .chat-bubble.is-nexus { background: var(--ui-note-background); border-color: var(--ui-note-accent); }
.nexus-ui .ticket-detail .chat-bubble.is-client { background: #fff; }
.nexus-ui:is(.ui-template-classic,.ui-template-technical) .ticket-detail .ticket-status-panel { border-left-width: var(--ui-state-line-width,2px); }
.nexus-ui .ticket-internal-notes .internal-note-list { display: grid; gap: 8.5px; }
.nexus-ui.ui-template-technical .ticket-internal-notes .internal-note-list { gap: 7.25px; }
.nexus-ui .ticket-internal-notes .ticket-note-card { padding: 0; overflow: hidden; }
.nexus-ui .ticket-internal-notes .ticket-note-card > header { padding: 6px 8px; }
.nexus-ui .ticket-internal-notes .ticket-note-card .ui-record-body { padding: 0; }
.nexus-ui .ticket-internal-notes .ticket-note-card .record-note { margin: 0; border-left: 0; border-radius: 0; white-space: pre-wrap; overflow-wrap: anywhere; }
.nexus-ui .ticket-drop-zone { display: grid; gap: 10px; padding: 24px; border: 2px dashed var(--ui-border); background: var(--ui-surface-subtle); text-align: center; }
.nexus-ui .ticket-drop-zone.is-dragging { border-color: var(--ui-primary); }
.nexus-ui .ticket-file-list { display: grid; gap: 6px; padding: 8px; }
.nexus-ui .ticket-file-preview { display: inline-flex; align-items: center; gap: 6px; min-width: 0; padding: 4px; border: 1px solid var(--ui-border); border-radius: 3px; }
.nexus-ui .ticket-file-preview > span { overflow-wrap: anywhere; }
.nexus-ui .ticket-file-preview img { width: 48px; height: 48px; object-fit: cover; }
.nexus-ui .ticket-file-download { display: inline-flex; gap: 6px; align-items: center; max-width: 100%; padding: 6px 8px; overflow-wrap: anywhere; }
.nexus-ui .ticket-file-download small { white-space: nowrap; }
.nexus-ui .composer-attach { flex: 0 0 auto; }

.nexus-ui .ticket-table-head,.nexus-ui .ticket-table-row { grid-template-columns: 105px minmax(240px,1fr) 170px 140px 112px; }

/* v0.9.44 Home: one geometry in both modes, with twice-finer width units. */
.nexus-ui .nexus-dashboard .custom-dashboard-grid { grid-template-columns: repeat(24,minmax(0,1fr)); }
.nexus-ui .nexus-dashboard .custom-dashboard-grid:is(.is-editing,:not(.is-editing)) > .dashboard-widget > .panel-head {
    box-sizing: border-box; display: flex; align-items: center; flex-wrap: nowrap;
    height: 25px; min-height: 25px; max-height: 25px; flex: 0 0 25px; padding: 0 7px; gap: 5px;
}
.nexus-ui .nexus-dashboard .custom-dashboard-grid:is(.is-editing,:not(.is-editing)) > .dashboard-widget > .panel-head small { display: none; }
.nexus-ui .nexus-dashboard .custom-dashboard-grid > .dashboard-widget > .panel-head > div:first-child { flex: 1 1 auto; min-width: 0; }
.nexus-ui .nexus-dashboard .custom-dashboard-grid > .dashboard-widget > .panel-head h2 { margin: 0; font-size: 12px; line-height: 19px; font-weight: 600; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.nexus-ui .nexus-dashboard .custom-dashboard-grid:is(.is-editing,:not(.is-editing)) > .dashboard-widget[data-visible="false"] { display: none; }
.nexus-ui .nexus-dashboard .custom-dashboard-grid .dashboard-widget-tools { flex: 0 0 auto; align-items: center; height: 20px; margin-left: 0; gap: 2px; }
.nexus-ui .nexus-dashboard .dashboard-widget-tools .icon-action { box-sizing: border-box; flex: 0 0 18px; width: 18px; height: 18px; min-height: 18px; min-width: 18px; padding: 0; font-size: 15px; line-height: 1; }
.nexus-ui .nexus-dashboard .dashboard-widget-tools .ui-icon { width: 12px; height: 12px; }
.nexus-ui .nexus-dashboard [data-widget-title][contenteditable="plaintext-only"] { background: #fff; color: var(--ui-text-strong); border: 1px solid var(--ui-border); padding-inline: 4px; box-sizing: border-box; height: 21px; min-height: 21px; }
.nexus-ui .nexus-dashboard .dashboard-feed-body { overflow: hidden; min-height: 0; }
.nexus-ui .nexus-dashboard .dashboard-feed-row { box-sizing: border-box; min-height: 40px; }
.nexus-ui .nexus-dashboard :is(.dashboard-feed-title,.dashboard-feed-context) { white-space: normal; overflow-wrap: anywhere; }
.nexus-ui .nexus-dashboard .dashboard-feed-row[data-state="danger"] { background: var(--ui-danger-soft); }
.nexus-ui .nexus-dashboard .dashboard-feed-row[data-state="warning"] { background: var(--ui-warning-soft); }
.nexus-ui .nexus-dashboard .dashboard-feed-row[data-state="success"] { background: var(--ui-success-soft); }
.nexus-ui .nexus-dashboard .dashboard-feed-row[data-state="unread"] { background: color-mix(in srgb,var(--ui-unread-color) 13%,var(--ui-surface)); }
.nexus-ui .nexus-dashboard .dashboard-feed-row:focus-visible { outline: 2px solid var(--ui-brand); outline-offset: -2px; }
.nexus-ui .nexus-dashboard .dashboard-list-nav { flex: 0 0 auto; height: 21px; align-items: center; margin-left: auto; }
.nexus-ui .nexus-dashboard .dashboard-page { display: inline-flex; justify-content: center; align-items: center; width: 20px; height: 20px; padding: 0; line-height: 20px; }
.nexus-ui .nexus-dashboard .dashboard-page svg { display: block; width: 12px; height: 12px; fill: none; stroke: currentColor; stroke-width: 2; }
.nexus-ui .nexus-dashboard .dashboard-page-number { display: inline-flex; align-items: center; justify-content: center; height: 20px; line-height: 20px; }
.nexus-ui .nexus-dashboard .monitoring-chart-widget :is(.telemetry-live-state,.telemetry-chart-card > header,.monitoring-panel-range) { display: none; }
.nexus-ui .nexus-dashboard .monitoring-chart-widget .telemetry-chart-card { padding: 0; overflow: hidden; }
.nexus-ui .nexus-dashboard .monitoring-chart-widget .telemetry-chart-plot { min-height: 80px; }
.nexus-ui .nexus-dashboard .monitoring-chart-widget .telemetry-chart-footer { flex: 0 0 auto; }
.nexus-ui .dashboard-module-catalog { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 6px; }
/* .45 module selection uses the common information palette and modal spacing. */
.nexus-ui .dashboard-module-picker .ui-modal-scroll-content { display: grid; gap: var(--ui-setting-section-gap); }
.nexus-ui .dashboard-module-catalog .dashboard-module-choice { width: 100%; max-width: 100%; justify-self: stretch; display: flex; align-items: center; justify-content: flex-start; gap: 10px; min-width: 0; height: auto; min-height: 52px; padding: 8px 10px; text-align: left; white-space: normal; }
.nexus-ui .dashboard-module-copy { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 2px; }
.nexus-ui .dashboard-module-copy strong { font-size: 12px; font-weight: 600; overflow-wrap: anywhere; }
.nexus-ui .dashboard-module-copy small { font-size: 11px; font-weight: 400; color: var(--ui-text-muted); }
.nexus-ui .dashboard-module-check { flex: 0 0 18px; display: grid; place-items: center; height: 18px; border: 1px solid var(--ui-border); border-radius: var(--ui-radius-xs); background: var(--ui-surface); }
.nexus-ui .dashboard-module-check .ui-icon { visibility: hidden; width: 12px; height: 12px; }
.nexus-ui .dashboard-module-catalog .is-selected { background: var(--ui-info-soft); border-color: var(--ui-info); }
.nexus-ui .dashboard-module-choice.is-selected .dashboard-module-check { color: var(--ui-info); border-color: var(--ui-info); }
.nexus-ui .dashboard-module-choice.is-selected .dashboard-module-check .ui-icon { visibility: visible; }
.nexus-ui .dashboard-new-chart > .panel-note { display: block; margin-block: var(--ui-setting-heading-gap); }
.nexus-ui .dashboard-new-chart-action { display: flex; justify-content: flex-end; }
@media(max-width:600px) { .nexus-ui .dashboard-module-catalog { grid-template-columns: minmax(0,1fr); } }
@media(max-width:700px) { .nexus-ui .nexus-dashboard .custom-dashboard-grid > .dashboard-widget { grid-column: 1 / -1; } }

.nexus-ui .ticket-internal-notes .ticket-note-card + .ticket-note-card { margin-top: 0; }


/* .45: existing record components share the established content tokens. */
.nexus-ui .invoice-record-detail .modal-editor-section > .modal-section-head { margin-bottom: var(--ui-setting-heading-gap); }
.nexus-ui .invoice-record-detail .fact-list { margin: 0; padding: 0; }
.nexus-ui .invoice-record-detail > .record-note,
.nexus-ui .invoice-record-detail.ui-modal-scroll-content > .record-note { margin: 0; }
.nexus-ui .network-change-route-detail .network-change-detail { padding: 0; background: transparent; border: 0; }
.nexus-ui .directory-table > [data-nexus-head],
.nexus-ui .directory-table > .directory-system-row { grid-template-columns: minmax(220px,1.45fr) 110px 130px minmax(180px,1fr) 110px 105px 90px 76px; }
/* A status mark belongs to the first label line even when its caption wraps. */
.nexus-ui .neighbor-grid article > .status-dot,
.nexus-ui .job-card > summary > .status-dot { align-self: start; margin-block-start: max(0px, calc((1lh - 7px) / 2)); }

/* .45 session facts use normal table typography and preserve inactive history. */
.nexus-ui .session-list > .session-row { grid-template-columns: 44px minmax(180px,1.2fr) minmax(160px,1fr) minmax(140px,.8fr) minmax(250px,1.4fr) 105px; }
.nexus-ui .session-row.is-inactive { background: color-mix(in srgb,var(--ui-border) 18%,var(--ui-surface)); color: var(--ui-muted); }
.nexus-ui .session-row.is-inactive :is(strong,small) { color: inherit; }
.nexus-ui .device-glyph svg { width: 22px; height: 22px; fill: none; stroke: currentColor; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }
.nexus-ui .session-activity { margin: 0; padding: 0; display: grid; gap: 3px; }
.nexus-ui .session-activity > div { display: grid; grid-template-columns: 100px minmax(0,1fr); gap: var(--ui-space-2); }
.nexus-ui .session-activity dt { color: var(--ui-muted); font-weight: 400; }
.nexus-ui .session-activity dd { margin: 0; font-weight: 600; overflow-wrap: anywhere; }
.nexus-ui .profile-layout { grid-template-columns: max-content minmax(0,1fr); }
.nexus-ui .profile-photo-panel { width: calc(150px + 2 * var(--ui-panel-inline)); max-width: 100%; }
.nexus-ui .profile-photo-panel .profile-photo-preview { margin: var(--ui-panel-block) auto; }
.nexus-ui .profile-photo-panel .profile-photo-caption { padding: 0 var(--ui-panel-inline) var(--ui-panel-block); }
@media (max-width: 760px) { .nexus-ui .profile-layout { grid-template-columns: minmax(0,1fr); } }

/* File-type document symbol follows the existing Nexus icon and type label. */
.nexus-ui .ticket-file-preview-link > span:last-child { min-width: 0; }
.nexus-ui .ticket-file-symbol { flex: 0 0 auto; display: grid; justify-items: center; gap: 1px; }
.nexus-ui .ticket-file-symbol > .ui-icon { width: 22px; height: 22px; }
.nexus-ui .ticket-file-symbol > small { font-size: var(--ui-table-secondary-font-size); line-height: 1; }

/* v0.9.46: four-pixel Home resize; each slot reserves its eight-pixel gutter. */
.nexus-ui .nexus-dashboard .custom-dashboard-grid { grid-auto-rows: 4px; row-gap: 0; column-gap: 8px; }
.nexus-ui .nexus-dashboard .custom-dashboard-grid > .dashboard-widget { height: var(--dashboard-height-px,100%); margin-bottom: 8px; }
/* Existing chart minimums/rendering and header lock geometry are preserved. */
.nexus-ui :is(.bank-table-head,.bank-movements article[data-bank-row]) { font-size: var(--ui-table-font-size,12px); }
.nexus-ui .bank-movements article[data-bank-row] > :not(.bank-row-actions),
.nexus-ui .bank-table-head > * { font-size: inherit; }
.nexus-ui :is(.bank-panel-actions,.bank-bulk-review) :is(.button,span,strong) { font-family: var(--ui-font); font-size: var(--ui-action-font-size,11px); }
.nexus-ui .bank-panel-actions .nexus-table-local-actions .button { font-size: var(--ui-action-font-size,11px); }

.dashboard-saved-chart-row{display:flex;align-items:center;gap:8px;min-width:0}.dashboard-saved-chart-row>.dashboard-module-choice{flex:1;min-width:0}.dashboard-saved-chart-row>form{margin:0;flex:none}

.nexus-ui details.document-preview-modal:not([open]) { display: none; }
.nexus-ui .document-preview-modal > summary > a[download] { margin-left:auto; flex:none; }

/* Shared form groups: tariff visibility and compact framed service sections. */
.nexus-ui .ui-check-row { display:flex; align-items:center; flex-wrap:wrap; gap:8px 16px; }
.nexus-ui .ui-check-row > label.check { margin:0; }
.nexus-ui .service-editor-section { min-width:0; margin:0; }
.nexus-ui .service-editor-section > legend { padding:0 4px; }
.nexus-ui .service-editor-section > legend > button { margin:0; }
.nexus-ui .service-editor-section > [hidden] { display:none !important; }

.nexus-ui input.ui-number-stepper { appearance:auto; }
.nexus-ui input.ui-number-stepper::-webkit-inner-spin-button { opacity:1; -webkit-appearance:auto; }

.nexus-ui .ui-icon-pause { -webkit-mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%3E%3Cpath%20d%3D%22M9%205v14M15%205v14%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%223.5%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3C%2Fsvg%3E") center/contain no-repeat; mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%3E%3Cpath%20d%3D%22M9%205v14M15%205v14%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%223.5%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3C%2Fsvg%3E") center/contain no-repeat; }

.nexus-ui .ui-icon-play { -webkit-mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%3E%3Cpath%20d%3D%22m8%205%2011%207-11%207Z%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3C%2Fsvg%3E") center/contain no-repeat; mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%3E%3Cpath%20d%3D%22m8%205%2011%207-11%207Z%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3C%2Fsvg%3E") center/contain no-repeat; }

/* v0.9.47: one shared file preview, with either header or footer download. */
.nexus-ui .ticket-file-symbol { min-width: 24px; color: var(--ui-text); }
.nexus-ui .ticket-file-symbol > .ui-icon { display: block; flex-shrink: 0; }
.nexus-ui .dashboard-saved-chart-row { border: 1px solid var(--ui-border); border-radius: var(--ui-radius,4px); gap: 0; padding-right: 6px; background: var(--ui-surface); }
.nexus-ui .dashboard-saved-chart-row > .dashboard-module-choice { border: 0; background: transparent; box-shadow: none; }
.nexus-ui .dashboard-saved-chart-row:has(.is-selected) { border-color: var(--ui-info); background: var(--ui-info-soft); }

/* v0.9.47: shared bulk selection in the wrapper heading. */
.nexus-ui:is(.ui-template-classic,.ui-template-technical) .message-header-actions { padding: 0; margin: 0; border: 0; gap: 8px; }
.nexus-ui .message-header-actions strong { font: inherit; white-space: nowrap; }
.nexus-ui .message-header-actions button:disabled { opacity: .48; cursor: default; }
.nexus-ui .message-delivery-table .notification-head > [data-column="date"] { display: flex; align-items: center; gap: 4px; }
.nexus-ui .message-delivery-table .message-date-cell { gap: 4px; }
.nexus-ui .message-delivery-table .message-selection-slot,
.nexus-ui .message-delivery-table .manual-selection-hitbox { width: 24px; min-width: 24px; flex: 0 0 24px; }
.nexus-ui :is([data-select-manual],[data-select-all-manual],[data-bank-select],[data-bank-select-all]) { accent-color: var(--ui-brand); }
.nexus-ui:is(.ui-template-classic,.ui-template-technical) .nexus-system-ui :is(.directory-table-head,thead) :is(th,a,strong,span),
.nexus-ui:is(.ui-template-classic,.ui-template-technical) .nexus-system-ui [data-nexus-head] :is(a,strong,span) {
    font-family: var(--ui-font); font-size: var(--ui-table-head-font-size); font-weight: var(--ui-table-head-font-weight);
}

.nexus-ui details.document-preview-modal.ui-modal-editor[open] > .document-preview-layout:not(.ui-modal-layout) {
    box-sizing: border-box; height: calc(var(--ui-modal-max-height) - var(--ui-modal-header-height,52px) - 2px);
    display: flex; flex-direction: column; overflow: hidden;
}

.nexus-ui:is(.ui-template-classic,.ui-template-technical) [data-nexus-table] .bank-table-head[data-nexus-head] { font-size: var(--ui-table-head-font-size); }

.nexus-ui .dashboard-saved-chart-row { display: grid; grid-template-columns: minmax(0,1fr) var(--ui-action-height,30px); gap: 6px; box-sizing: border-box; }
.nexus-ui .dashboard-saved-chart-row > .dashboard-module-choice { width: auto; max-width: 100%; box-sizing: border-box; }
.nexus-ui .dashboard-saved-chart-row > form { display: flex; align-items: center; justify-content: center; width: auto; min-width: 0; padding: 0; }

/* v0.9.48: acceptance corrections use existing UI 3.0 typography and spacing. */
.nexus-ui:is(.ui-template-classic,.ui-template-technical) .client-overview-facts { grid-template-columns: repeat(2,minmax(0,1fr)); }
.nexus-ui .client-overview-facts > div { display: grid; grid-template-columns: var(--ui-modal-fact-label-width,120px) minmax(0,1fr); min-width: 0; }
.nexus-ui .client-overview-facts > .span-two { grid-column: 1 / -1; }
.nexus-ui .client-overview-facts dd.wide { grid-column: auto; }
.nexus-ui .client-overview-facts :is(dt,dd) { overflow-wrap: anywhere; }
.nexus-ui .notification-head .manual-selection-hitbox { height: calc(var(--ui-table-header-height) - 2 * var(--ui-table-header-padding-block)); min-height: 0; }
.nexus-ui .notification-head .message-selection-slot { height: calc(var(--ui-table-header-height) - 2 * var(--ui-table-header-padding-block)); align-self: center; }
.nexus-ui .network-change-row > .record-actions { display: flex; align-items: center; justify-content: flex-end; }
.nexus-ui .network-change-row .ui-table-row-actions { display: inline-flex; flex-wrap: nowrap; align-items: center; gap: var(--ui-space-1,4px); }
.nexus-ui .service-card > .planned-change { margin: var(--ui-space-3,12px) var(--ui-panel-inline,16px); padding: var(--ui-space-2,8px) var(--ui-space-3,12px); }
.nexus-ui .planned-change span { display: block; overflow-wrap: anywhere; }
.nexus-ui .dhcp-lease-row { grid-template-columns: minmax(160px,1fr) minmax(100px,.55fr) minmax(130px,.7fr) minmax(160px,1fr) auto; }
.nexus-ui .router-lease-comment { white-space: pre-wrap; overflow-wrap: anywhere; }
@media(max-width:850px) { .nexus-ui:is(.ui-template-classic,.ui-template-technical) .client-overview-facts { grid-template-columns: minmax(0,1fr); } }

.nexus-ui .queue-name-editor { display: flex; align-items: center; gap: var(--ui-space-1,4px); min-width: 0; }
.nexus-ui .queue-name-editor > input { flex: 1 1 auto; min-width: 0; margin: 0; }
.nexus-ui .queue-name-unlock { display: inline-flex; flex: 0 0 24px; width: 24px; height: 24px; align-items: center; justify-content: center; padding: 0; border: 0; background: transparent; color: var(--ui-muted); cursor: pointer; }
.nexus-ui .queue-name-unlock:hover { color: var(--ui-brand); }
.nexus-ui .queue-name-unlock:focus-visible { outline: 2px solid var(--ui-brand); outline-offset: 1px; }

.nexus-ui .service-editor-section { padding: var(--ui-space-3,12px); border: 1px solid var(--ui-border); border-radius: var(--ui-radius-sm); }
.nexus-ui .service-editor-section > legend { color: var(--ui-muted); font: inherit; padding-inline: var(--ui-space-1,4px); }
.nexus-ui .collector-status.collector-ok { background: var(--ui-success-soft); border-color: var(--ui-success); }

/* v0.9.49: shared calendar icon; keep global action dimensions. */
.nexus-ui .ui-icon-calendar { -webkit-mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%3E%3Cpath%20d%3D%22M5%205h14v15H5ZM8%202v6m8-6v6M5%2010h14%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3C%2Fsvg%3E") center/contain no-repeat; mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%3E%3Cpath%20d%3D%22M5%205h14v15H5ZM8%202v6m8-6v6M5%2010h14%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3C%2Fsvg%3E") center/contain no-repeat; }

/* Bank primary/secondary text follows the corresponding Network changes roles. */
.nexus-ui:is(.ui-template-classic,.ui-template-technical) .bank-movements article[data-bank-row] :is(strong,code) { font-size:inherit; }
.nexus-ui:is(.ui-template-classic,.ui-template-technical) .bank-movements article[data-bank-row] small { font-size:var(--ui-table-secondary-font-size); }

/* v0.9.50: existing global information surfaces and service section geometry. */
.nexus-ui .service-form .service-tariff-information { margin: 0; }
.nexus-ui .service-form .service-router-refresh { display: flex; align-items: end; padding-bottom: 0; }
.nexus-ui [data-shaper-default-editor] > .device-editor-section > .collector-status { margin-inline: 0; }
.nexus-ui [data-queue-block-editor] .data-table :is(input,select) { width: 100%; min-width: 0; }
.nexus-ui [data-queue-block-editor] .data-table { table-layout: fixed; min-width: 600px; }
.nexus-ui [data-queue-block-editor] .data-table th:last-child { width: 82px; }

/* v0.9.50: home status rows and quick systems adapt without changing saved layout. */
.nexus-ui:is(.ui-template-classic,.ui-template-technical) .nexus-dashboard .dashboard-status-strip.compact-summary {
    height: auto; min-height: var(--ui-summary-height); flex-wrap: wrap; overflow: visible;
}
.nexus-ui:is(.ui-template-classic,.ui-template-technical) .nexus-dashboard .dashboard-status-strip.compact-summary > a.dashboard-status-item {
    min-height: var(--ui-summary-height); height: var(--ui-summary-height); max-width: 100%;
}
.nexus-ui .nexus-dashboard .dashboard-quick-widget .dashboard-system-tiles {
    grid-template-columns: repeat(auto-fill,minmax(min(145px,100%),1fr));
    grid-auto-rows: minmax(48px,max-content); max-height: none; flex: 1 1 auto;
}
.nexus-ui .nexus-dashboard .dashboard-system-tiles .system-tile { min-height: 48px; }
.nexus-ui .nexus-dashboard .dashboard-system-tiles .system-tile > :is(a,.system-tile-unavailable) {
    box-sizing: border-box; height: 100%; min-height: 46px; grid-template-columns: 32px minmax(0,1fr);
}

.nexus-ui [data-shaper-default-editor] { min-width: 0; grid-template-columns: minmax(0,1fr); }
.nexus-ui [data-shaper-default-editor] > .device-editor-section { min-width: 0; }

/* v0.9.51: keep shared grid edges and global table tools. */
.nexus-ui:is(.ui-template-classic,.ui-template-technical) .service-form .form-grid.two.service-individual-speeds { padding: 0; }
.nexus-ui [data-queue-block-editor] .modal-section-head { display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap; }
.nexus-ui [data-queue-block-editor] .queue-block-defaults { margin-top:10px; }
.nexus-ui .table-bulk-actions { display:flex;align-items:center;justify-content:flex-end;gap:4px;flex-wrap:wrap; }
.nexus-ui .network-changes-table td small { display:block; }

.nexus-ui .message-original-quote { margin:0;white-space:pre-wrap;overflow-wrap:anywhere;font:inherit;max-height:220px;overflow:auto; }
.nexus-ui .message-attachments { margin:0;padding:8px 14px 8px 28px; }
.nexus-ui .message-attachments li { margin:4px 0; }
.nexus-ui .message-attachments small { display:block;color:var(--ui-muted); }

.nexus-ui .ui-section-divider { border:0;border-top:1px solid var(--ui-border);margin:8px var(--ui-panel-inline);height:0; }
.nexus-ui:is(.ui-template-classic,.ui-template-technical) .nexus-dashboard .dashboard-status-strip.compact-summary {
    display:grid;grid-template-columns:repeat(var(--dashboard-status-columns,1),minmax(0,1fr));gap:0;padding:0;height:auto;align-items:stretch;
}
.nexus-ui:is(.ui-template-classic,.ui-template-technical) .nexus-dashboard .dashboard-status-strip.compact-summary > a.dashboard-status-item {
    display:flex;align-items:center;justify-content:center;gap:5px;width:auto;min-width:0;height:auto;min-height:var(--ui-summary-height);padding:6px 8px;
    border:0;border-right:1px solid var(--ui-border);border-bottom:1px solid var(--ui-border);white-space:nowrap;
}
.nexus-ui:is(.ui-template-classic,.ui-template-technical) .nexus-dashboard .dashboard-status-strip.compact-summary > a.dashboard-status-item[data-status-row-end] { border-right:0; }
.nexus-ui .nexus-dashboard .dashboard-status-strip .dashboard-status-item > span { white-space:nowrap;overflow:visible;text-overflow:clip; }

.nexus-ui .network-changes-table td { overflow-wrap:anywhere; }
.nexus-ui .network-changes-table td strong { font-size:inherit;font-weight:var(--ui-table-primary-link-weight,600); }

/* .52: agreed local geometry uses the existing shared tokens/components. */
.nexus-ui .network-changes-table :is(th,td)[data-column="select"] { padding:4px; text-align:center; vertical-align:middle; }
.nexus-ui .network-changes-table input[type="checkbox"] { width:14px; height:14px; min-height:0; margin:0; display:inline-block; vertical-align:middle; }
.nexus-ui .routeros-layout > .ui-section-stack { gap:var(--ui-workspace-gap); }
.nexus-ui .direct-recipient-row { display:flex;align-items:center;gap:8px; }
.nexus-ui .direct-recipient-row input { flex:1;min-width:0; }
.nexus-ui .direct-recipient-row button { flex:none; }
.nexus-ui .message-attachment-strip { display:flex;flex-wrap:wrap;gap:6px;border:1px solid var(--ui-border);border-radius:3px;padding:8px;margin:8px 0; }
.nexus-ui .message-attachment-strip a { max-width:100%; }
.nexus-ui .message-attachment-strip a span { overflow-wrap:anywhere;white-space:normal; }
.nexus-ui .message-original-frame .message-original-quote { background:transparent; }
.nexus-ui [data-phone-directory] { display:flex;flex-direction:column;gap:8px; }
.nexus-ui [data-phone-directory] .panel-footer { display:flex;align-items:center;justify-content:flex-end;gap:8px; }
.nexus-ui [data-client-graphs-divider] { display:block;flex:none;align-self:stretch;min-height:1px;border:0;border-top:1px solid var(--ui-border-strong,#b7c3cc);margin:12px var(--ui-panel-inline,10px); }
.nexus-ui .ui-icon-reply { -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M10 5 3 12l7 7v-5h4c4 0 6 2 7 5v-3c0-5-3-8-7-8h-4Z' fill='none' stroke='black' stroke-width='2' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M10 5 3 12l7 7v-5h4c4 0 6 2 7 5v-3c0-5-3-8-7-8h-4Z' fill='none' stroke='black' stroke-width='2' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat; }

/* .53: common geometry follows the same tokens in the two independent skins. */
.nexus-ui .table-header-actions { display:flex;align-items:center;gap:var(--ui-space-1,4px);flex-wrap:wrap; }
.nexus-ui .table-header-actions > [data-table-reset-for] { order:998;flex:none; }
.nexus-ui .table-header-actions > .count-badge { order:999;flex:none; }
.nexus-ui .ui-icon-columns-reset { -webkit-mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M3%204h18v16H3zM9%204v16m6-16v8M13%2015h7m-3-3%203%203-3%203'%20fill%3D'none'%20stroke%3D'black'%20stroke-width%3D'1.7'%20stroke-linejoin%3D'round'%2F%3E%3C%2Fsvg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M3%204h18v16H3zM9%204v16m6-16v8M13%2015h7m-3-3%203%203-3%203'%20fill%3D'none'%20stroke%3D'black'%20stroke-width%3D'1.7'%20stroke-linejoin%3D'round'%2F%3E%3C%2Fsvg%3E") center/contain no-repeat; }
.nexus-ui .ui-icon-contacts { -webkit-mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M5%203h15v18H5zM2%207h5M2%2012h5M2%2017h5m2%201c0-5%208-5%208%200M15%209a2%202%200%201%201-4%200%202%202%200%200%201%204%200Z'%20fill%3D'none'%20stroke%3D'black'%20stroke-width%3D'1.7'%20stroke-linecap%3D'round'%2F%3E%3C%2Fsvg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2024%2024'%3E%3Cpath%20d%3D'M5%203h15v18H5zM2%207h5M2%2012h5M2%2017h5m2%201c0-5%208-5%208%200M15%209a2%202%200%201%201-4%200%202%202%200%200%201%204%200Z'%20fill%3D'none'%20stroke%3D'black'%20stroke-width%3D'1.7'%20stroke-linecap%3D'round'%2F%3E%3C%2Fsvg%3E") center/contain no-repeat; }
.nexus-ui .export-document-symbol { display:grid;place-items:center;position:relative;width:18px;height:18px; }
.nexus-ui .export-document-symbol::after { content:attr(data-format);position:absolute;bottom:0;left:0;right:0;background:var(--ui-surface,#fff);font:700 6px/8px sans-serif;text-align:center;color:var(--ui-text,#26333b); }
.nexus-ui:is(.ui-template-classic,.ui-template-technical) [data-nexus-table] .data-table :is(th,td)[data-column="select"] { padding:4px 8px !important;text-align:center;vertical-align:middle; }
.nexus-ui:is(.ui-template-classic,.ui-template-technical) [data-nexus-table] .data-table :is(th,td)[data-column="select"] input[type="checkbox"] { display:block;width:14px;height:14px;min-height:0;padding:0;margin:0 auto; }
.nexus-ui:is(.ui-template-classic,.ui-template-technical) :is(#device-dhcp-results,#device-neighbors-results) > .inventory-search { border:0;box-shadow:none;border-radius:0;margin:0; }
.nexus-ui .form-grid > .modal-section-head { margin-block:0; }
.nexus-ui [data-client-graphs-divider] { width:100%;margin:8px 0; }
.nexus-ui .dashboard-status-item > .dashboard-status-dot { display:block;position:relative;flex:0 0 6px;align-self:center;margin:0;top:auto;transform:none; }
.nexus-ui .dashboard-status-item > strong,.nexus-ui .dashboard-status-item > span:not(.dashboard-status-dot) { align-self:center;line-height:1.25;margin:0; }
.nexus-ui .nexus-file-picker { position:relative;display:flex;align-items:center;flex-wrap:wrap;gap:8px;padding:8px;border:1px dashed var(--ui-border-strong,#b7c3cc);border-radius:var(--ui-wrapper-radius,4px);background:var(--ui-surface,#fff);min-width:0; }
.nexus-ui .nexus-file-picker.is-dragging { border-color:var(--ui-accent,#ee3037);background:var(--ui-info-bg,#f0f8ff); }
.nexus-ui input.nexus-file-input-native { position:absolute;width:1px;height:1px;min-width:0;min-height:0;opacity:0;clip-path:inset(50%);padding:0;border:0; }
.nexus-ui .file-picker-button { display:inline-flex;align-items:center;gap:6px;flex:none; }
.nexus-ui .file-picker-hint { font-size:var(--ui-table-secondary-font-size,11px);font-weight:400;color:var(--ui-muted,#63717b); }
.nexus-ui .nexus-file-list { display:flex;flex-wrap:wrap;gap:6px;flex-basis:100%;min-width:0;margin:0; }
.nexus-ui .nexus-file-list[hidden],.nexus-ui .file-picker-error:empty { display:none; }
.nexus-ui .nexus-file-item { display:flex;align-items:center;gap:8px;max-width:100%;min-width:0;border:1px solid var(--ui-border,#ccd5dc);border-radius:var(--ui-wrapper-radius,4px);padding:5px 7px;background:var(--ui-surface,#fff); }
.nexus-ui .nexus-file-description { display:flex;flex-direction:column;min-width:0; }
.nexus-ui .nexus-file-description strong { font-size:var(--ui-table-font-size,12px);font-weight:500;overflow-wrap:anywhere; }
.nexus-ui .nexus-file-description small { color:var(--ui-muted,#63717b);font-weight:400; }
.nexus-ui .nexus-file-item > .icon-action { flex:none; }
.nexus-ui .file-picker-error { flex-basis:100%; }

/* .53 message editors and read-only record actions. */
.nexus-ui .record-header-actions,.nexus-ui .ui-modal-header-actions { display:flex;align-items:center;gap:4px;margin-left:auto; }
.nexus-ui [data-modal-header-actions][hidden] { display:none !important; }
.nexus-ui .ui-route-modal > header > .ui-modal-header-actions { margin-left:auto;flex:none; }
.nexus-ui details.ui-modal-editor[open] > summary,.nexus-ui .ui-route-modal > header { gap:var(--ui-space-1,4px);justify-content:flex-start; }
.nexus-ui .ui-route-modal > header > strong { margin-right:auto;min-width:0; }
.nexus-ui details.ui-modal-editor[open] > summary > .ui-modal-close { margin-left:auto; }
.nexus-ui details.ui-modal-editor[open] > summary > a[download] { margin-left:auto; }
.nexus-ui details.ui-modal-editor[open] > summary:has(> .ui-modal-header-actions,> .ui-modal-table-actions,> a[download]) > .ui-modal-close { margin-left:0; }
.nexus-ui .ui-detail-modal > .ui-modal-body.ui-modal-layout { padding:0; }
.nexus-ui [data-phone-directory] [data-phone-status]:empty { display:none; }
.nexus-ui .direct-message-footer { display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap; }
.nexus-ui .direct-message-schedule { display:flex;align-items:center;gap:8px;margin:0 auto 0 0;font-size:var(--ui-action-font-size,11px);font-weight:400; }
.nexus-ui .direct-message-schedule .ui-datetime-control { width:auto;grid-template-columns:minmax(135px,165px) 50px auto 50px; }
.nexus-ui .direct-message-schedule input[type="date"] { min-width:0;width:100%; }
.nexus-ui .form-footer-actions { display:flex;align-items:center;gap:5px;margin-left:auto; }
.nexus-ui .message-original-frame .message-original-quote { background:transparent;margin:0;max-height:none;white-space:pre-wrap;overflow-wrap:anywhere; }
.nexus-ui .message-envelope .span-two { grid-column:1/-1; }
@media(max-width:640px) {
 .nexus-ui .direct-message-schedule { width:100%;flex-wrap:wrap; }
 .nexus-ui .direct-message-schedule .ui-datetime-control { flex:1;grid-template-columns:minmax(110px,1fr) 48px auto 48px; }
}

.nexus-ui .message-original-frame { margin:0; }

/* .53 announcement board: paper notes share the existing actions, headings and dialog frame. */
.nexus-ui .announcement-board { display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,280px),1fr));gap:14px;padding:var(--ui-panel-inline,10px); }
.nexus-ui .announcement-note { position:relative;display:flex;flex-direction:column;gap:10px;min-width:0;border:1px solid #d8cfb3;border-radius:var(--ui-wrapper-radius,4px);background:#fffdf2;padding:12px;box-shadow:0 2px 3px #0000000a; }
.nexus-ui .announcement-note[draggable="true"] { cursor:grab; }
.nexus-ui .announcement-note.is-dragging { opacity:.5; }
.nexus-ui .announcement-note > header { display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap; }
.nexus-ui .announcement-note h3 { margin:0;font-size:var(--ui-content-title-size,14px);font-weight:600;overflow-wrap:anywhere; }
.nexus-ui .announcement-note > p { margin:0;white-space:pre-wrap;overflow-wrap:anywhere;flex:1; }
.nexus-ui .announcement-note > footer { display:flex;flex-direction:column;gap:4px;border-top:1px solid #e5dfcd;padding-top:8px;color:var(--ui-muted,#63717b); }
.nexus-ui .board-preview-controls { margin:0;border:0;border-bottom:1px solid var(--ui-border); }
.nexus-ui .board-preview-controls > a { align-self:end; }

/* Export records use the common modal body; no empty attachment/footer frame. */
.export-record-body { min-width:0; background:#fff; }
.export-record-body dd { overflow-wrap:anywhere; min-width:0; }
.export-file-list { display:flex; flex-wrap:wrap; gap:8px; min-width:0; }
.export-file-list > a { max-width:100%; white-space:normal; overflow-wrap:anywhere; gap:8px; text-align:left; }
.export-file-list small { display:block; font-size:11px; color:var(--muted); }

/* .54 shared modal geometry and actual typographic baselines. */
.nexus-ui:is(.ui-template-classic,.ui-template-technical) .nexus-dashboard .dashboard-status-strip.compact-summary { display:grid;grid-template-columns:var(--dashboard-status-grid,repeat(7,minmax(0,1fr))); }
.nexus-ui:is(.ui-template-classic,.ui-template-technical) .nexus-dashboard .dashboard-status-strip.compact-summary > a.dashboard-status-item { align-items:center;gap:4px;padding:6px; }
.nexus-ui .dashboard-status-copy { display:inline-flex;align-items:baseline;gap:4px;white-space:nowrap;min-width:0; }
.nexus-ui:is(.ui-template-classic,.ui-template-technical) .nexus-dashboard .dashboard-status-strip .dashboard-status-copy > :is(strong,span) { font:inherit;line-height:inherit;margin:0; }
.nexus-ui:is(.ui-template-classic,.ui-template-technical) .nexus-dashboard .dashboard-status-strip .dashboard-status-item > .dashboard-status-copy { font:inherit;line-height:1.25;align-self:center; }
.nexus-ui.modal-document .modal-document-content:not(.modal-document-content-flush) { padding:var(--ui-modal-content-padding,16px); }
.nexus-ui .ui-route-modal > header :is(.icon-action,button[data-route-modal-close]),
.nexus-ui .ui-route-modal > header > button { display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;width:var(--ui-action-height,26px);height:var(--ui-action-height,26px);min-height:0;margin:0;padding:0;vertical-align:middle; }
.nexus-ui .contact-directory-pager { display:flex;justify-content:center;align-items:center;gap:8px;flex-wrap:wrap; }
.nexus-ui .ui-detail-modal:has([data-phone-directory]),.nexus-ui.ui-detail-open details.ui-modal-editor.ui-detail-popover[open]:has([data-phone-directory]) { --ui-modal-max-height:90dvh;max-height:var(--ui-modal-max-height);width:min(760px,calc(100vw - 48px)); }
.nexus-ui .ui-detail-modal:has([data-phone-directory]) > .ui-modal-layout,.nexus-ui.ui-detail-open details.ui-modal-editor.ui-detail-popover[open]:has([data-phone-directory]) > .ui-modal-body.ui-modal-layout { padding:0; }

/* .54 ticket attachments share one real FileList and the standard file cards. */
.nexus-ui .ticket-detail .ticket-thread { max-height:none;overflow:visible; }
.nexus-ui .ticket-detail .composer-attach { width:var(--ui-action-height,26px);height:var(--ui-action-height,26px);flex:0 0 auto;border-radius:var(--ui-wrapper-radius,4px); }
.nexus-ui .ticket-detail .composer-previews { padding:0;background:transparent; }
.nexus-ui .ticket-file-download.nexus-file-item { width:max-content;max-width:min(320px,100%);min-width:min(200px,100%);background:var(--ui-surface,#fff);padding:6px 8px; }
.nexus-ui .ticket-file-download > .ui-icon { flex:0 0 16px; }
.nexus-ui .ticket-file-download .nexus-file-description { flex:1;min-width:0;overflow:hidden; }
.nexus-ui .chat-photos { display:flex;flex-wrap:wrap;align-items:flex-start;gap:5px; }
.nexus-ui .chat-photos > button { flex:0 0 100px;width:100px; }
.nexus-ui .ticket-detail .composer-send { margin-left:auto;flex:none; }
.nexus-ui .ticket-file-download .nexus-file-description strong { display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap; }
.nexus-ui .contact-options { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 16px; }
.nexus-ui .contact-options > label.check { margin:0;display:flex;align-items:center;gap:5px; }
@media(max-width:560px) { .nexus-ui .contact-options { grid-template-columns:minmax(0,1fr); } }

.nexus-ui .announcement-original-input dd { white-space:pre-wrap;overflow-wrap:anywhere; }
.nexus-ui .announcement-board { padding:0; }
.nexus-ui .announcement-preview-context { color:var(--ui-muted); }
.nexus-ui .board-preview-controls { margin-bottom:var(--ui-workspace-gap,8px); }
.nexus-ui .ui-section-stack.announcement-customer-preview { gap:var(--ui-setting-heading-gap,8px); }
.nexus-ui .ui-section-stack.announcement-customer-preview > :is(.modal-section-head,.notification-message-body) { margin-block:0; }
.nexus-ui .announcement-preview-content.ui-modal-layout > .ui-modal-scroll-body > .ui-modal-scroll-content { padding:0; }
.nexus-ui .announcement-preview-content .preview-summary { margin:0;padding:var(--ui-panel-inline,10px);gap:8px;flex-wrap:wrap; }

.nexus-ui.modal-document .modal-document-content:not(.ui-modal-document-layout):has(> .ui-readonly-record) { padding:var(--ui-modal-content-padding,16px); }

.nexus-ui .ticket-detail .composer-tools > .composer-previews.nexus-file-list { flex:1 1 0;min-width:0; }
.nexus-ui .ticket-detail .composer-error:empty { display:none; }

.nexus-ui .announcement-detail .fact-list { margin:0;padding:0; }

/* Shared Home/Monitoring editor; the Monitoring catalogue contains graphs only. */
.nexus-ui .monitoring-dashboard .custom-dashboard-grid:not(.is-editing) > .monitoring-chart-widget > .panel-head .monitoring-panel-caption { display:flex;flex-direction:row;align-items:center;justify-content:flex-start;gap:5px; }
.nexus-ui .monitoring-dashboard .custom-dashboard-grid:not(.is-editing) > .monitoring-chart-widget > .panel-head .monitoring-panel-caption small { display:block;order:-1;flex:0 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap; }
.nexus-ui .monitoring-dashboard .monitoring-panel-caption small::after { content:" ·"; }
.nexus-ui .dashboard-quick-widget.is-ordering .system-tile { position:relative;cursor:grab; }
.nexus-ui .dashboard-quick-widget.is-ordering .system-tile > :is(a,.system-tile-unavailable) { padding-right:28px; }
.nexus-ui .dashboard-quick-widget.is-ordering .system-tile.is-dragging { opacity:.45; }
.nexus-ui [data-table-key="monitoring-devices"] [data-column="actions"] { white-space:nowrap; }

/* .56: table navigation keeps the shared semantics at 85% of action size. */
.nexus-ui :is(.ui-list-pages,.contact-directory-pager) > .icon-action {
 width:calc(var(--ui-action-height,26px) * .85);min-width:0;height:calc(var(--ui-action-height,26px) * .85);min-height:0;padding:0;flex:none;
}
.nexus-ui :is(.ui-list-pages,.contact-directory-pager) > .icon-action > .ui-icon {width:14px;height:14px;flex-basis:14px;}
.nexus-ui :is(.ui-list-pages,.contact-directory-pager) > .icon-action:is(:disabled,[aria-disabled="true"]) {
 background:var(--ui-list-footer-background,#e8edf0);color:var(--ui-muted,#63717b);border-color:var(--ui-border,#ccd5dc);opacity:1;cursor:default;box-shadow:none;
}
.nexus-ui details[data-modal-transient]:not([open]) {display:none;}
.nexus-ui .ui-route-modal > header > .ui-modal-header-actions {gap:var(--ui-space-1,4px);margin-right:0;}
.nexus-ui .ui-route-modal > header > .ui-modal-header-actions + button {margin-left:0;}
.nexus-ui [data-table-key="monitoring-devices"] [data-column="actions"] .icon-action + .icon-action {margin-left:var(--ui-space-1,4px);}

/* .56 module grips have their own row below the header and never cover actions. */
.nexus-ui .custom-dashboard-grid .dashboard-module-grip {display:none;}
.nexus-ui .custom-dashboard-grid.is-editing .dashboard-module-grip {display:flex;align-items:center;justify-content:center;flex:0 0 14px;height:14px;cursor:grab;user-select:none;touch-action:none;background:var(--ui-list-footer-background,#e8edf0);color:var(--ui-muted);border-bottom:1px solid var(--ui-border);line-height:14px;font-size:15px;}
.nexus-ui .dashboard-module-grip:focus-visible {outline:2px solid var(--ui-brand);outline-offset:-2px;}

/* .56 SMS conversations share messages, queue and personal read receipts. */
.nexus-ui .sms-view-switch {display:flex;gap:0;margin-right:var(--ui-space-2,8px);}
.nexus-ui .sms-view-switch .active {background:var(--ui-brand,#ff343b);color:white;}
.nexus-ui .sms-conversation {height:min(72vh,760px);display:flex;flex-direction:column;min-height:280px;}
.nexus-ui .sms-peer-header {padding:10px;display:flex;gap:8px;border-bottom:1px solid var(--ui-border);}
.nexus-ui .sms-history {flex:1;min-height:0;overflow:auto;padding:10px;display:flex;flex-direction:column;gap:8px;}
.nexus-ui .sms-bubble {position:relative;flex:none;max-width:85%;padding:10px 30px 10px 10px;border:1px solid var(--ui-border);border-radius:4px;background:var(--ui-list-footer-background,#e8edf0);align-self:flex-start;}
.nexus-ui .sms-bubble.outgoing {align-self:flex-end;background:var(--ui-surface,#fff);border-left:3px solid var(--ui-brand,#ff343b);}
.nexus-ui .sms-bubble p {white-space:pre-wrap;margin:0 0 6px;overflow-wrap:anywhere;}
.nexus-ui .sms-bubble small {color:var(--ui-muted);}.nexus-ui .sms-bubble>a {position:absolute;right:6px;top:8px;}
.nexus-ui .sms-thread-reply {width:100%;display:flex;flex-wrap:wrap;gap:8px;align-items:center;}
.nexus-ui .sms-thread-reply>label:first-of-type {flex:1 0 100%;}.nexus-ui .sms-thread-reply textarea {width:100%;resize:vertical;max-height:120px;}
.nexus-ui .sms-snippet {display:block;max-width:55ch;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.nexus-ui .ui-icon-conversation {background:currentColor;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='black' stroke-width='1.6' stroke-linejoin='round' d='M3 3h14v10H8l-5 4V3zM18 7h3v14l-5-4h-6v-2'/%3E%3C/svg%3E") center/contain no-repeat;}

/* .56 credit workspace: two equal fixed panels with independent body scroll. */
.nexus-ui .client-finance-workspace {display:flex;flex-direction:column;min-height:320px;height:var(--client-finance-height,70vh);gap:var(--ui-space-2,8px);}
.nexus-ui .client-finance-workspace>.financial-summary {flex:none;margin:0;}
.nexus-ui .client-finance-workspace>.client-payments-columns {display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-rows:minmax(0,1fr);align-items:stretch;gap:var(--ui-space-2,8px);flex:1;min-height:0;}
.nexus-ui .client-finance-workspace .client-card-workspace {display:flex;flex-direction:column;min-height:0;min-width:0;height:100%;overflow:hidden;margin:0;}
.nexus-ui .client-finance-workspace .client-card-workspace>.panel-head,.nexus-ui .client-finance-workspace .ui-list-pager {flex:none;}
.nexus-ui .client-finance-workspace .client-card-workspace>.table-scroll {flex:1;min-height:0;overflow:auto;max-height:none;}
.nexus-ui .client-finance-workspace thead {position:sticky;top:0;z-index:2;}
.nexus-ui .client-payment-editors>details:not([open]) {display:none;}
.nexus-ui [data-documents-workspace] .content-header-actions form {display:flex;gap:var(--ui-space-1,4px);align-items:center;}
.nexus-ui [data-documents-workspace] .content-header-actions input[name=reason] {width:150px;}
.nexus-ui [data-documents-workspace] .ui-table-row-actions {gap:var(--ui-space-1,4px);}

.nexus-ui details.ui-modal-editor[open]>summary>.ui-modal-header-actions {margin-right:0;}
.nexus-ui details.ui-modal-editor[open]>summary>.ui-modal-header-actions+.ui-modal-close {margin-left:0;}

.nexus-ui [data-modal-transient][hidden] { display:none!important; }

/* .56 r2: route modals use the same fixed shell; only history scrolls. */
.nexus-ui .ui-route-modal > header,
.nexus-ui:is(.ui-template-classic,.ui-template-technical) details.ui-modal-editor[open] > summary { column-gap:var(--ui-space-1,4px); }
.nexus-ui .sms-view-switch {position:relative;isolation:isolate;display:inline-grid;grid-template-columns:1fr 1fr;gap:0;padding:2px;border:1px solid var(--ui-border-strong);border-radius:999px;background:var(--ui-panel-foot,#e8edf0);min-width:172px;align-items:stretch;}
.nexus-ui .sms-view-thumb {position:absolute;z-index:-1;inset:2px auto 2px 2px;width:calc(50% - 2px);border-radius:999px;background:var(--ui-brand);transition:transform 140ms ease;}
.nexus-ui .sms-view-switch.is-conversations .sms-view-thumb {transform:translateX(100%);}
.nexus-ui .sms-view-switch .sms-view-option {display:flex;align-items:center;justify-content:center;position:relative;padding:3px 10px;min-height:20px;line-height:1.2;border:0;border-radius:999px;background:transparent;color:var(--ui-text);text-decoration:none;white-space:nowrap;}
.nexus-ui .sms-view-switch .sms-view-option.active {background:transparent;color:white;}
.nexus-ui .sms-view-option:focus-visible {outline:2px solid var(--ui-brand);outline-offset:2px;}
.nexus-ui .sms-conversation {height:100%;min-height:0;max-height:none;display:flex;flex-direction:column;}
.nexus-ui .sms-conversation > .sms-peer-header {flex:none;padding:var(--ui-modal-content-padding,16px);gap:var(--ui-space-2,8px);flex-wrap:wrap;}
.nexus-ui .sms-conversation > .sms-history {flex:1 1 0;min-height:0;display:block;padding:0;overflow:auto;overscroll-behavior:contain;}
.nexus-ui .sms-history > .sms-messages {display:flex;flex-direction:column;gap:var(--ui-space-2,8px);padding:var(--ui-modal-content-padding,16px);min-height:100%;box-sizing:border-box;}
.nexus-ui .sms-thread-reply {display:flex;flex-direction:column;align-items:stretch;gap:var(--ui-space-2,8px);margin:0;}
.nexus-ui .sms-thread-reply > .sms-reply-body {display:flex;flex-direction:column;gap:var(--ui-space-1,4px);flex:none;}
.nexus-ui .sms-thread-reply textarea {box-sizing:border-box;width:100%;min-height:64px;max-height:140px;resize:vertical;}
.nexus-ui .sms-reply-actions {display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--ui-space-2,8px);}
.nexus-ui .sms-reply-actions .check {margin:0;}
.nexus-ui [data-sms-reply-status]:empty {display:none;}
.nexus-ui .sms-bubble {max-width:min(85%,65ch);}
.nexus-ui .sms-bubble > a {display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;}
.nexus-ui .sms-peer-header strong,.nexus-ui .sms-peer-header span {overflow-wrap:anywhere;}
@media(prefers-reduced-motion:reduce){.nexus-ui .sms-view-thumb {transition:none;}}

.nexus-ui:is(.ui-template-classic,.ui-template-technical) details.ui-detail-modal[open] > summary {gap:var(--ui-space-1,4px);}

.nexus-ui .client-finance-workspace tr.is-paid {background:var(--ui-success-soft,#e9f7f0);}
.nexus-ui .client-finance-workspace tr.is-future {background:var(--ui-warning-soft,#fff6e5);}
.nexus-ui .client-finance-workspace tr.is-overdue {background:var(--ui-danger-soft,#fff0f0);}
.nexus-ui .client-finance-workspace tr:is(.is-paid,.is-future,.is-overdue)>td {background:inherit;}

.nexus-ui .document-pdf-preview{display:flex;flex-direction:column;height:min(76vh,800px);min-height:320px}.nexus-ui .document-pdf-preview>iframe{flex:1;width:100%;min-height:0;border:0}.nexus-ui .document-pdf-preview>.ui-modal-footer{flex:0 0 auto;margin:0}

/* .56 r2: native invoice selection and fixed workspace in both independent skins. */
.nexus-ui:is(.ui-template-classic,.ui-template-technical) [data-documents-workspace]{display:flex;flex-direction:column;flex:0 0 auto;gap:var(--ui-filter-gap,8px);height:var(--documents-height,70vh);min-height:320px;min-width:0;}
.nexus-ui [data-documents-workspace]>.filter-console{flex:none;margin:0;}
.nexus-ui [data-documents-workspace]>[data-viewport-panel]{display:flex;flex-direction:column;flex:1 1 auto;min-height:0;min-width:0;overflow:hidden;margin:0;}
.nexus-ui [data-documents-workspace] [data-viewport-scroll]{flex:1 1 auto;min-height:0;max-height:none;overflow:auto;}
.nexus-ui [data-documents-workspace] .panel-head,.nexus-ui [data-documents-workspace] .ui-list-pager{flex:none;}
.nexus-ui [data-documents-workspace] thead{position:sticky;top:0;z-index:3;}
.nexus-ui:is(.ui-template-classic,.ui-template-technical) [data-documents-workspace] :is([data-document-select],[data-document-all]){display:block;width:14px;min-width:14px;height:14px;min-height:0;padding:0;margin:0 auto;accent-color:var(--ui-brand);}
.nexus-ui [data-documents-workspace] :is(th,td)[data-column="selection"]{padding:4px 6px;vertical-align:middle;}


/* v0.9.59: integrated component and table contracts for this complete UI. */
/* Shared contracts for both UI templates and iframe/modal documents. */
.nexus-ui .document-detail { padding: var(--ui-space-3); gap: var(--ui-space-3); }
.nexus-ui .document-detail .fact-list,
.nexus-ui .document-detail .data-table,
.nexus-ui .document-detail .field-help { margin: 0; }
.nexus-ui .postal-line { display: block; }
.nexus-ui .document-pdf-preview.ui-modal-layout { height: min(76vh,800px); min-height: 320px; display: grid; grid-template-rows: minmax(0,1fr) auto; }
.nexus-ui .document-pdf-preview .ui-modal-scroll-body,
.nexus-ui .document-pdf-preview .ui-modal-scroll-content,
.nexus-ui .pdf-preview-content { height: 100%; min-height: 0; padding: 0; }
.nexus-ui .pdf-preview-content iframe { display: block; width: 100%; height: 100%; min-height: 0; border: 0; }
.nexus-ui .document-pdf-preview > .ui-modal-footer { min-height: 0; padding: var(--ui-space-2); margin: 0; }
.nexus-ui .document-estimate-group { display: grid; gap: var(--ui-space-1); margin-top: var(--ui-space-2); }
.nexus-ui .document-estimate-group .field-help { margin: 0; }
.nexus-ui .document-services { min-width: 0; margin: 0; padding: var(--ui-space-2); }
.nexus-ui [data-document-services] { display: grid; gap: var(--ui-space-1); max-height: 180px; overflow: auto; }

.nexus-ui .ui-route-underlay { filter: blur(2px); opacity: .64; pointer-events: none; }

.nexus-ui .announcement-board { gap: var(--ui-workspace-gap); padding: 0; }
.nexus-ui .board-preview-controls { margin-bottom: var(--ui-workspace-gap); }
.nexus-ui .mail-recipient-field { display:flex; align-items:center; gap:4px; flex:1; min-width:0; height:var(--ui-control-height); box-sizing:border-box; padding:2px 6px; overflow-x:auto; overflow-y:hidden; white-space:nowrap; flex-wrap:nowrap; border:1px solid var(--ui-border,#b9c7ce); border-radius:var(--ui-radius-xs,3px); background:var(--ui-input-bg,#fff); scrollbar-width:none; }
.nexus-ui .mail-recipient-field::-webkit-scrollbar { height:0; }
.nexus-ui .mail-recipient-field:focus-within { outline:1px solid var(--ui-info,#307cb2); outline-offset:0; }
.nexus-ui [data-recipient-pills] { display:contents; }
.nexus-ui .recipient-pill { display:inline-flex; align-items:center; gap:4px; flex:none; max-width:420px; padding:2px 5px; border:1px solid #bdcbd4; border-radius:12px; background:#edf3f7; color:var(--ui-text,#18313e); line-height:1.1; font-size:inherit; }
.nexus-ui .recipient-pill>span { overflow:hidden; text-overflow:ellipsis; }
.nexus-ui .recipient-pill .recipient-remove { display:inline-flex; align-items:center; justify-content:center; flex:none; width:16px; height:16px; min-width:16px; min-height:16px; padding:0; margin:0; border:0; background:transparent; color:inherit; font:inherit; line-height:1; cursor:pointer; }
.nexus-ui .mail-recipient-field input[data-recipient-entry] { flex:1 0 160px; width:160px; min-width:140px; max-width:none; height:calc(var(--ui-control-height) - 6px); min-height:0; margin:0; padding:0 2px; border:0; border-radius:0; outline:0; box-shadow:none; background:transparent; }
.nexus-ui .contact-directory-row { cursor:pointer; }

/* A directory promoted outside an iframe must blur that entire parent frame,
   including its form footer. The active directory is outside this subtree. */
.nexus-ui .ui-route-modal.has-directory-overlay > iframe { filter:blur(2px); opacity:.64; pointer-events:none; }

.nexus-ui .sms-conversation.ui-modal-layout { grid-template-rows:minmax(0,1fr) auto; }
.nexus-ui .sms-bubble .sms-bubble-meta { display:flex; justify-content:space-between; align-items:center; gap:var(--ui-space-2); }
.nexus-ui .ui-icon-more-horizontal { -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='5' cy='12' r='1.8'/%3E%3Ccircle cx='12' cy='12' r='1.8'/%3E%3Ccircle cx='19' cy='12' r='1.8'/%3E%3C/svg%3E") center/contain no-repeat; mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='5' cy='12' r='1.8'/%3E%3Ccircle cx='12' cy='12' r='1.8'/%3E%3Ccircle cx='19' cy='12' r='1.8'/%3E%3C/svg%3E") center/contain no-repeat; }
.nexus-ui .incoming-email-envelope dd { overflow-wrap:anywhere; }
.nexus-ui [data-message-verification-record] :is([data-delivery-sent], [data-delivery-verified])[hidden] { display: none; }

.nexus-ui .sms-view-header { position:relative; min-height:calc(var(--ui-control-height) + 12px); }
.nexus-ui .sms-view-center { position:absolute; inset:auto auto auto 50%; transform:translateX(-50%); width:180px; display:flex; justify-content:center; }
.nexus-ui .sms-view-center .sms-view-switch { margin:0; }
.nexus-ui .sms-view-header>.content-header-actions { margin-left:auto; max-width:calc(50% - 104px); flex-wrap:nowrap; }
.nexus-ui .message-delivery-table .notification-actions { display:flex; flex-wrap:nowrap; justify-content:flex-end; gap:4px; }
.nexus-ui .message-delivery-table .message-action-buttons,
.nexus-ui .message-delivery-table .message-action-icons { display:flex; flex-wrap:nowrap; align-items:center; justify-content:flex-end; gap:4px; }
.nexus-ui .message-delivery-table .notification-actions .icon-action { flex:none; width:var(--ui-action-height,30px); height:var(--ui-action-height,30px); padding:0; }
.nexus-ui .ui-icon-pause { -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M7 4h3v16H7zM14 4h3v16h-3z'/%3E%3C/svg%3E") center/contain no-repeat; mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M7 4h3v16H7zM14 4h3v16h-3z'/%3E%3C/svg%3E") center/contain no-repeat; }
@media(max-width:800px){.nexus-ui .sms-view-header { min-height:76px; padding-bottom:38px; }.nexus-ui .sms-view-center { bottom:5px; }.nexus-ui .sms-view-header>.content-header-actions { max-width:60%; }}

/* One table-only checkbox metric, shared by real and div-based tables. */
.nexus-ui { --ui-table-checkbox-size:14px; }
.nexus-ui:is(.ui-template-classic,.ui-template-technical) :is(table,[data-nexus-table],.notification-table,.bank-table) input[type="checkbox"] {
    box-sizing:border-box; width:var(--ui-table-checkbox-size) !important; height:var(--ui-table-checkbox-size) !important;
    min-width:var(--ui-table-checkbox-size) !important; min-height:var(--ui-table-checkbox-size) !important;
    max-width:var(--ui-table-checkbox-size); max-height:var(--ui-table-checkbox-size); padding:0 !important; margin:0;
    flex:0 0 var(--ui-table-checkbox-size); vertical-align:middle; accent-color:var(--ui-brand,#ef3038);
}
.nexus-ui:is(.ui-template-classic,.ui-template-technical) .data-table :is(th,td)[data-column="selection"] { padding:4px 7px !important; text-align:center; vertical-align:middle; }
.nexus-ui .data-table :is(th,td)[data-column="selection"] input[type="checkbox"] { display:block; margin:0 auto; }
.nexus-ui .data-table :is(th,td)[data-column="selection"]:has(input[type="checkbox"]):hover { background:var(--ui-hover-bg,#f1f5f7); }
.nexus-ui .data-table [data-document-select],.nexus-ui .data-table [data-document-all] { cursor:pointer; }
.nexus-ui .table-selection-hitbox { position:relative; display:flex; align-items:center; justify-content:center; width:14px; height:14px; margin:0 auto; cursor:pointer; }
.nexus-ui .table-selection-hitbox::before { position:absolute; z-index:0; content:""; inset:-5px; }
.nexus-ui .table-selection-hitbox input { position:relative; z-index:1; }
.nexus-ui .custom-dashboard-grid > .dashboard-widget { position:relative; }
.nexus-ui .custom-dashboard-grid.is-editing .dashboard-module-grip {
    position:absolute; z-index:6; top:28px; left:50%; transform:translateX(-50%); display:flex;
    align-items:center; justify-content:center; width:24px; height:20px; min-height:20px; flex:none;
    box-sizing:border-box; border:1px solid var(--ui-border); border-radius:3px;
    background:var(--ui-surface,#fff); box-shadow:0 1px 3px #0002; line-height:1;
}
.nexus-ui .dashboard-module-grip .ui-icon { width:16px; height:16px; pointer-events:none; }
.nexus-ui .settings-summary-panel>.panel-body { padding:var(--ui-space-3); }
.nexus-ui .settings-summary-panel .fact-list { margin:0; }
.nexus-ui .company-profile-form { gap:0; }
.nexus-ui .company-profile-form>.modal-form-body { padding:var(--ui-space-3); }
.nexus-ui .company-profile-form .form-grid { margin:0; }
.nexus-ui .client-site-filter { margin-bottom:var(--ui-workspace-gap); }
.nexus-ui .client-site-filter label { width:min(100%,560px); }

/* .60 settings: one global panel inset; no nested form padding. */
.nexus-ui :is(.bank-settings-v60,.billing-settings-flow) .settings-summary-panel > .panel-body {
    padding: var(--ui-panel-block) var(--ui-panel-inline);
}
.nexus-ui .billing-settings-flow { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--ui-wrapper-gap);align-items:start; }
.nexus-ui .billing-settings-flow > .panel:last-child { grid-column:1/-1; }
.nexus-ui .billing-settings-flow .settings-summary-panel > .panel-body { padding:0; }
.nexus-ui .billing-settings-flow .panel-body > .field-help { margin:var(--ui-panel-block) var(--ui-panel-inline); }
.nexus-ui .bank-settings-v60 { display:flex;flex-direction:column;gap:var(--ui-wrapper-gap); }
.nexus-ui .bank-settings-v60 > .panel { margin:0;min-width:0; }
.nexus-ui .bank-settings-v60 .filter-console { margin:0;border:0;box-shadow:none; }
.nexus-ui.nexus-settings .bank-manual-import .form-grid { margin:0;padding:0; }
.nexus-ui .bank-manual-import .form-actions { margin:0;padding:0; }
.nexus-ui .billing-series-fields > .billing-number-series { display:grid;gap:var(--ui-workspace-gap);padding:0;margin:0; }
.nexus-ui.modal-document .ui-modal-scroll-content .billing-series-fields .form-grid.two { padding:0;margin:0; }
.nexus-ui .billing-series-fields .modal-inline-heading { margin:0; }
.nexus-ui .billing-bank-fields { gap:var(--ui-setting-heading-gap); }
@media(max-width:1000px) { .nexus-ui .billing-settings-flow { grid-template-columns:minmax(0,1fr); } }
.nexus-ui .bank-account-details { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:var(--ui-wrapper-gap); align-items:start; }
.nexus-ui .bank-settings-v60 .filter-panel > label { width:100%; }
.nexus-ui .bank-settings-v60 .actions-cell { width:1%; white-space:nowrap; }
.nexus-ui .bank-settings-v60 .record-actions { justify-content:flex-end; flex-wrap:nowrap; }
.nexus-ui .bank-settings-v60 .record-actions form { margin:0; }
@media(max-width:900px) { .nexus-ui .bank-account-details { grid-template-columns:minmax(0,1fr); } }

.nexus-ui .bank-health-account {padding:var(--ui-panel-block) var(--ui-panel-inline);}
.nexus-ui .bank-health-account + .bank-health-account {border-top:1px solid var(--ui-border);}
.nexus-ui .bank-health-account h3 {margin:0 0 var(--ui-panel-block);font-size:var(--ui-section-heading-size);}

/* .60 shared modal stack: the global scrim owns blur and dimming of every inactive layer. */
.nexus-ui [data-modal-layer-inactive] { filter:none;opacity:1;pointer-events:none;user-select:none; }
.nexus-ui .sms-bubble {box-sizing:border-box;width:65%;max-width:65%;min-width:0;}
.nexus-ui .mail-recipient-field.input-validation-error {border-color:var(--ui-danger,#d13232);}
.nexus-ui .announcement-detail:not(.ui-modal-layout) {gap:var(--ui-workspace-gap);}
.nexus-ui .announcement-detail :is(.fact-list,.notification-message-body,.modal-section-head) {margin-block:0;}
.nexus-ui .announcement-detail .notification-message-body p {margin:0;}

.nexus-ui [data-table-key="communications.conversations.v1"] [data-column="actions"] {text-align:right;white-space:nowrap;}

.nexus-ui:is(.ui-template-classic,.ui-template-technical) .announcement-detail > .ui-content-frame {margin-block:0;}

/* .60 customer finance uses the same fact cells and panel/scroll contracts. */
.nexus-ui .client-credit-summary {flex:none;margin:0;padding:var(--ui-panel-block) var(--ui-panel-inline);}
.nexus-ui .client-credit-summary .client-credit-facts {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin:0;padding:0;}
.nexus-ui .client-credit-facts > div {min-width:0;border-bottom:1px solid var(--ui-border);border-inline-start:1px solid var(--ui-border);}
.nexus-ui .client-credit-facts > div:nth-child(3n+1) {border-inline-start:0;}
.nexus-ui .client-credit-facts > div:nth-last-child(-n+3) {border-bottom:0;}
.nexus-ui .client-credit-facts dd {white-space:nowrap;}
.nexus-ui .client-finance-workspace {height:var(--client-finance-height,auto);}
.nexus-ui .client-finance-workspace .filter-console {border:0;border-radius:0;box-shadow:none;margin:0;background:transparent;flex:none;padding:var(--ui-panel-block) var(--ui-panel-inline);}
.nexus-ui .client-site-filter > label {flex:1;min-width:0;width:100%;}
.nexus-ui .client-site-filter > label > :is(select,.searchable-select) {width:100%;max-width:none;}
.nexus-ui:is(.ui-template-classic,.ui-template-technical) .document-service-choice {display:flex;align-items:center;justify-content:flex-start;gap:var(--ui-space-2);margin:0;min-height:24px;font-weight:400;}
.nexus-ui:is(.ui-template-classic,.ui-template-technical) .document-service-choice > input[type=checkbox] {flex:none;width:14px;height:14px;min-width:14px;min-height:14px;margin:0;padding:0;}
.nexus-ui .form-grid > .document-services {overflow:visible;margin:0;padding:0;border:0;}
.nexus-ui .document-services .modal-inline-heading {margin-inline:0;}
.nexus-ui [data-document-services] {min-width:0;overflow-x:hidden;}
.nexus-ui .client-billing-options .ui-section-stack {gap:var(--ui-workspace-gap);}
.nexus-ui .client-billing-options .ui-modal-record-context {margin:0;}
.nexus-ui .client-billing-options .data-table :is(th,td) {padding:var(--ui-panel-block) var(--ui-panel-inline);vertical-align:middle;}
.nexus-ui:is(.ui-template-classic,.ui-template-technical) [data-documents-workspace] .data-table tbody > tr > td[data-column="selection"] {vertical-align:middle;}
@media(max-width:980px){
 .nexus-ui .client-credit-summary .client-credit-facts {grid-template-columns:repeat(2,minmax(0,1fr));}
 .nexus-ui .client-credit-facts > div:nth-last-child(3) {border-bottom:1px solid var(--ui-border);}
 .nexus-ui .client-credit-facts > div:nth-child(3n+1) {border-inline-start:1px solid var(--ui-border);}
 .nexus-ui .client-credit-facts > div:nth-child(2n+1) {border-inline-start:0;}
 .nexus-ui .client-finance-workspace > .client-payments-columns {grid-template-columns:minmax(0,1fr);grid-template-rows:auto;flex:none;}
 .nexus-ui .client-finance-workspace .client-card-workspace {height:auto;min-height:260px;}
 .nexus-ui .client-finance-workspace .client-card-workspace > .table-scroll {max-height:440px;min-height:120px;}
}

.nexus-ui .document-estimate-group {display:grid;gap:var(--ui-space-2);min-width:0;margin-top:var(--ui-workspace-gap);}
.nexus-ui .document-detail.ui-modal-scroll-content { gap:var(--ui-workspace-gap); }
.nexus-ui .document-estimate-table {table-layout:auto;}
.nexus-ui:is(.ui-template-classic,.ui-template-technical) .modal-form-body > .form-grid > .document-period-fields {grid-template-columns:repeat(3,minmax(0,1fr));padding:0;margin:0;}
.nexus-ui .document-estimate .modal-inline-heading {margin-inline:0;}
.nexus-ui .document-estimate [data-document-estimate-status]:empty {display:none;}
.nexus-ui .document-estimate-total {text-align:right;margin:var(--ui-workspace-gap) 0 0;}
.nexus-ui .document-estimate-site {background:var(--ui-panel-head);font-weight:600;}
@media(max-width:680px){.nexus-ui:is(.ui-template-classic,.ui-template-technical) .modal-form-body > .form-grid > .document-period-fields {grid-template-columns:minmax(0,1fr);}}

.nexus-ui .document-estimate-table :is(th,td):not(:first-child) {white-space:nowrap;text-align:right;}
.nexus-ui .document-estimate-table td:first-child {min-width:150px;}
.nexus-ui .document-cancel-review .ui-section-stack {gap:var(--ui-workspace-gap);}

/* .61: origin-isolated HTML email body, within the shared content frame. */
.nexus-ui .email-content-frame{display:block;width:100%;height:32px;min-height:24px;border:0;background:transparent;color-scheme:light;overflow:hidden}

.nexus-ui .message-forward-icon{transform:scaleX(-1)}

/* .61 global header separators: match the existing Billing reference without
   changing header/data padding, line-height or track geometry. A collapsed
   native header contributes half a border to its 27/33 px reference box. */
.nexus-ui { --ui-column-separator-height: 19.5px; }
.nexus-ui :is(.nexus-column-resizer,.column-resizer)::after {
    top: 50%; bottom: auto; height: var(--ui-column-separator-height);
    transform: translateY(-50%); border-left: 1px solid #c4ced2;
}
.nexus-ui :is(thead th,[data-nexus-head] > *) { position: relative; }
.nexus-ui :is(thead th,[data-nexus-head] > *):not(:last-child):not([data-fixed-width="true"]):not(:has(.nexus-column-resizer,.column-resizer))::before {
    content: ""; position: absolute; pointer-events: none;
    right: 5px; top: 50%; height: var(--ui-column-separator-height);
    transform: translateY(-50%); border-left: 1px solid #c4ced2;
}
/* The shared Billing selection count follows the existing action typography. */
.nexus-ui [data-document-selected] { font-size: var(--ui-action-font-size,11px); }

.nexus-ui.ui-template-technical { --ui-column-separator-height: 15.90625px; }

/* v0.9.62: stable message details and font-independent delivery evidence. */
.nexus-ui.modal-document .modal-document-content [data-modal-header-actions]{display:none}
.nexus-ui .message-template-detail { gap: var(--ui-workspace-gap); }
.nexus-ui:is(.ui-template-classic,.ui-template-technical) .message-template-detail > :is(.fact-list,.ui-content-frame) { margin-block: 0; }
.nexus-ui.modal-document .modal-document-content:not(.ui-modal-document-layout):has(> .message-template-detail) {
    padding: var(--ui-modal-content-padding, 16px);
}
.nexus-ui .sms-delivery-ticks { display: inline-flex; flex: none; align-items: center; color: var(--ui-info, #307cb2); }
.nexus-ui .sms-delivery-ticks svg { display: block; inline-size: 19px; block-size: 14px; }
.nexus-ui .sms-delivery-ticks[data-sms-ticks="0"] svg,
.nexus-ui .sms-delivery-ticks:not([data-sms-ticks="2"]) [data-sms-second-tick] { visibility: hidden; }

/* v0.9.62 device previews share one wrapper and one personal layout draft. */
.nexus-ui .device-monitoring-workspace .telemetry-chart-grid{grid-template-columns:repeat(24,minmax(0,1fr));gap:var(--ui-workspace-gap);padding:var(--ui-workspace-gap)}
.nexus-ui .device-monitoring-workspace .telemetry-chart-card{position:relative;grid-column:span var(--device-chart-columns,6);grid-template-rows:auto minmax(80px,1fr) auto;height:var(--device-chart-height,216px);border-radius:0;box-shadow:none;min-height:216px}
.nexus-ui .device-monitoring-workspace .telemetry-chart-card > header{position:relative;box-sizing:border-box;display:grid;grid-template-columns:minmax(0,1fr) auto;height:auto;min-height:calc(var(--ui-action-height,26px) + 4px);align-items:center;gap:4px;padding:2px 7px;border-radius:0;background:var(--ui-surface-muted,#f4f6f7)}
.nexus-ui .device-monitoring-workspace .telemetry-chart-card h3{font:600 12px/19px var(--ui-font);padding-left:0;text-align:left;align-self:center;cursor:pointer}
.nexus-ui .device-monitoring-workspace .telemetry-chart-page-handle{display:inline-flex;position:absolute;left:3px;top:50%;transform:translateY(-50%);align-items:center;justify-content:center;width:20px;height:19px;visibility:hidden}
.nexus-ui .device-monitoring-workspace.is-telemetry-layout-editing .telemetry-chart-page-handle{visibility:visible}
.nexus-ui .device-monitoring-workspace .telemetry-chart-head-actions{display:inline-flex;flex:none;align-self:center;align-items:center;justify-content:flex-end;gap:4px}
.nexus-ui .device-monitoring-workspace .telemetry-chart-range button{min-width:21px;padding-inline:3px;font-size:9px}
.nexus-ui .device-monitoring-workspace .telemetry-chart-plot{min-height:0;cursor:zoom-in}
.nexus-ui .device-monitoring-workspace .telemetry-chart-footer{box-sizing:border-box;padding:4px 7px;overflow:visible;border-radius:0;min-height:0}
.nexus-ui .device-monitoring-workspace .telemetry-chart-legend{font-size:9px;gap:3px 8px}
.nexus-ui .device-monitoring-workspace .telemetry-legend-item{font-size:9px}
.nexus-ui .telemetry-overview-actions{display:inline-flex;align-items:center;align-self:center;justify-content:flex-end;gap:var(--ui-space-1,4px);flex-wrap:nowrap;flex:0 0 auto;width:auto}
.nexus-ui .telemetry-overview-edit-tools{display:inline-flex;align-items:center;gap:var(--ui-space-1,4px)}
.nexus-ui .telemetry-overview-edit-tools[hidden]{display:none}
.nexus-ui .telemetry-overview-actions [data-telemetry-edit-toggle]{width:124px;white-space:nowrap}
.nexus-ui .device-monitoring-workspace.is-telemetry-layout-editing .telemetry-chart-card > header{grid-template-columns:minmax(0,1fr) auto;background:var(--ui-surface-muted,#f4f6f7)}
.nexus-ui .device-monitoring-workspace.is-telemetry-layout-editing .telemetry-chart-card h3{padding-left:20px}
.nexus-ui .device-monitoring-workspace .telemetry-panel-head{align-items:center}
.nexus-ui .telemetry-chart-settings-list{display:grid;grid-template-columns:repeat(24,minmax(0,1fr));gap:var(--ui-workspace-gap);align-content:start}
.nexus-ui .telemetry-chart-setting-row.dashboard-saved-chart-row{min-width:0;display:flex;align-items:center;gap:8px;margin:0;padding:8px;border:1px solid var(--ui-border);border-radius:var(--ui-radius-sm)}
.nexus-ui .telemetry-chart-setting-row.is-selected{border-color:var(--ui-info);background:var(--ui-info-soft)}
.nexus-ui .telemetry-chart-setting-row label{display:flex;align-items:center;gap:8px;flex:1;min-width:0;margin:0;font-weight:400}
.nexus-ui .telemetry-chart-setting-row label > span{min-width:0;white-space:normal;overflow-wrap:anywhere}
.nexus-ui .telemetry-chart-setting-row small{display:block;font-size:var(--ui-table-secondary-font-size);color:var(--ui-muted)}
.nexus-ui .telemetry-chart-setting-row [data-chart-visible]{accent-color:var(--ui-brand)}
.nexus-ui .telemetry-chart-order-actions{flex:0 0 auto}
.nexus-ui .telemetry-chart-resize{display:none;position:absolute;z-index:4;min-width:0;min-height:0;border:0;padding:0;background:transparent;touch-action:none}
.nexus-ui .is-telemetry-layout-editing .telemetry-chart-resize{display:block}
.nexus-ui .telemetry-chart-resize[data-telemetry-chart-resize="e"]{right:-3px;top:10px;bottom:10px;width:7px;cursor:ew-resize}
.nexus-ui .telemetry-chart-resize[data-telemetry-chart-resize="s"]{bottom:-3px;left:10px;right:10px;height:7px;cursor:ns-resize}
.nexus-ui .telemetry-chart-resize[data-telemetry-chart-resize="se"]{bottom:-2px;right:-2px;width:13px;height:13px;cursor:nwse-resize;border-right:2px solid var(--ui-info);border-bottom:2px solid var(--ui-info)}
.nexus-ui .telemetry-graph-modal{width:min(1150px,94vw)}
.nexus-ui .telemetry-chart-detail{min-width:0}
.nexus-ui .telemetry-chart-detail .telemetry-chart-card{height:auto;grid-template-rows:auto 276px minmax(72px,auto);border:0;box-shadow:none;border-radius:0}
.nexus-ui .telemetry-chart-detail .telemetry-chart-card > header{grid-template-columns:minmax(0,1fr) auto;padding:5px 7px;border-radius:0}
.nexus-ui .telemetry-chart-detail .telemetry-chart-page-handle{display:none}
.nexus-ui .telemetry-chart-detail .telemetry-chart-footer{border-radius:0}
@media(max-width:1100px){.nexus-ui .device-monitoring-workspace .telemetry-chart-grid{grid-template-columns:repeat(12,minmax(0,1fr))}.nexus-ui .device-monitoring-workspace .telemetry-chart-card{grid-column:span min(12,var(--device-chart-columns,6))}}
@media(max-width:640px){.nexus-ui .device-monitoring-workspace .telemetry-panel-head{align-items:flex-start;flex-direction:column;gap:var(--ui-space-2)}.nexus-ui .device-monitoring-workspace .telemetry-chart-grid{grid-template-columns:minmax(0,1fr)}.nexus-ui .device-monitoring-workspace .telemetry-chart-card{grid-column:1}.nexus-ui .telemetry-chart-settings-list{grid-template-columns:minmax(0,1fr)}.nexus-ui .telemetry-overview-actions{width:100%;justify-content:flex-end}}

.nexus-ui :is(.device-monitoring-workspace,.telemetry-chart-detail) .telemetry-chart-plot > canvas:not(.telemetry-chart-overlay){height:100%}
.nexus-ui :is(.device-monitoring-workspace,.telemetry-chart-detail) .telemetry-chart-range{display:inline-flex;align-items:center;border:0;border-radius:var(--ui-radius-sm);overflow:hidden}
.nexus-ui :is(.device-monitoring-workspace,.telemetry-chart-detail) .telemetry-chart-range button{box-shadow:none;appearance:none;box-sizing:border-box;flex:0 0 var(--ui-action-height,26px);width:var(--ui-action-height,26px);height:var(--ui-action-height,26px);margin:0;min-height:0;border:1px solid var(--ui-border);border-left:0;border-radius:0;background:var(--ui-surface);color:var(--ui-text);font:400 9px/1 var(--ui-font);padding:0;min-width:0;cursor:pointer}
.nexus-ui :is(.device-monitoring-workspace,.telemetry-chart-detail) .telemetry-chart-range button:first-child{border-left:1px solid var(--ui-border)}
.nexus-ui :is(.device-monitoring-workspace,.telemetry-chart-detail) .telemetry-chart-range button:last-child{border-right:1px solid var(--ui-border)}
.nexus-ui :is(.device-monitoring-workspace,.telemetry-chart-detail) .telemetry-chart-range button.is-active{background:#5a666c;color:#fff}
.nexus-ui :is(.device-monitoring-workspace,.telemetry-chart-detail) .telemetry-chart-range button:disabled{cursor:wait;opacity:.65}
.nexus-ui :is(.device-monitoring-workspace,.telemetry-chart-detail) :is(.telemetry-chart-download,.telemetry-chart-delete){box-sizing:border-box;flex:0 0 var(--ui-action-height,26px);width:var(--ui-action-height,26px);height:var(--ui-action-height,26px);min-width:0;min-height:0;padding:2px}
.nexus-ui .telemetry-chart-detail .telemetry-chart-card{grid-template-rows:auto minmax(280px,40vh) auto}
.nexus-ui .telemetry-chart-detail .telemetry-chart-plot{min-height:0}
.nexus-ui .telemetry-chart-setting-row [data-chart-visible]{width:14px;height:14px;min-width:14px;min-height:14px}

.nexus-ui .device-monitoring-workspace .telemetry-legend-item{padding:0;line-height:11px;min-width:0}
.nexus-ui .device-monitoring-workspace .telemetry-chart-legend{gap:2px 8px}

/* .63 shared collection settings use the existing modal/table system. */
.nexus-ui .telemetry-collection-add{display:grid;grid-template-columns:minmax(110px,1fr) minmax(150px,2fr) minmax(150px,2fr) auto;align-items:end;gap:var(--ui-space-2)}
.nexus-ui .telemetry-collection-add label{display:flex;flex-direction:column;min-width:0;gap:4px;margin:0}
.nexus-ui .telemetry-collection-add :is(select,.searchable-select-trigger,.button){box-sizing:border-box;height:var(--ui-filter-control-height,30px);min-height:0;line-height:1}
.nexus-ui .telemetry-collection-add .button{margin:0;padding-block:0;align-self:end}
.nexus-ui .telemetry-collection-table{border:1px solid var(--ui-border);overflow:hidden}
.nexus-ui .telemetry-collection-table .table-actions{justify-content:center;white-space:nowrap}
.nexus-ui .searchable-select-option.is-collection-active{color:var(--ui-muted);background:var(--ui-surface-muted,#f4f6f7);text-decoration:line-through;opacity:.65;cursor:not-allowed}
.nexus-ui .telemetry-source-message{position:absolute;inset:8px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;background:var(--ui-surface,#fff);color:var(--ui-muted);z-index:2;text-align:center;padding:8px}
@media(max-width:760px){.nexus-ui .telemetry-collection-add{grid-template-columns:minmax(0,1fr)}.nexus-ui .telemetry-collection-add .button{justify-self:start}}

/* .65: reserve the same header action geometry in both modes, including narrow windows. */
@media(max-width:640px){
 .nexus-ui .device-monitoring-workspace .telemetry-overview-actions{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:4px;min-width:0;width:100%}
 .nexus-ui .device-monitoring-workspace .telemetry-overview-actions>[data-open-details]{grid-column:1;grid-row:1;justify-self:start;max-width:100%;white-space:nowrap}
 .nexus-ui .device-monitoring-workspace .telemetry-overview-actions>[data-telemetry-edit-toggle]{grid-column:2;grid-row:1;justify-self:end;max-width:100%}
 .nexus-ui .device-monitoring-workspace .telemetry-overview-edit-tools{grid-column:1/-1;grid-row:2;justify-content:flex-end;min-height:26px;min-width:0}
}

/* v0.9.66: branch listings own their scrolling surface and its native header. */
.nexus-ui [data-monitoring-branches61] [data-viewport-scroll] { isolation:isolate; }
.nexus-ui [data-monitoring-branches61] table.data-table { flex:none; }
.nexus-ui [data-monitoring-branches61] thead { position:sticky;top:0;z-index:5;background:var(--ui-surface-subtle); }
@media screen and (min-width:981px) and (min-height:600px) {
    .nexus-ui:not(.modal-document) .content:has(> [data-monitoring-branches61]) { height:calc(100dvh - var(--ui-shell-topbar-height,var(--ui-topbar-height)));min-height:0;display:flex;flex-direction:column; }
    .nexus-ui:not(.modal-document) .content:has(> [data-monitoring-branches61]) > :not([data-monitoring-branches61]) { flex:none; }
    .nexus-ui:not(.modal-document) [data-monitoring-branches61] { display:flex;flex:1 1 auto;flex-direction:column;min-height:0;gap:var(--ui-workspace-gap); }
    .nexus-ui:not(.modal-document) [data-monitoring-branches61] > :not([data-viewport-panel]) { flex:none;margin-block:0; }
    .nexus-ui:not(.modal-document) [data-monitoring-branches61] > [data-viewport-panel] { display:flex;flex:1 1 auto;flex-direction:column;min-height:0;overflow:hidden;margin:0; }
    .nexus-ui:not(.modal-document) [data-monitoring-branches61] [data-viewport-panel] > :not([data-viewport-scroll]) { flex:none; }
    .nexus-ui:not(.modal-document) [data-monitoring-branches61] [data-viewport-scroll] { display:block;flex:1 1 auto;min-height:0;max-height:none;overflow:auto; }
}
.nexus-ui:is(.ui-template-classic,.ui-template-technical) [data-branch-paths61] .branch-path-filter { border:0;box-shadow:none;padding:0;margin:0;background:transparent; }
.nexus-ui [data-branch-paths61] .branch-path-table-frame { border:1px solid var(--ui-border);border-radius:var(--ui-radius-sm);overflow:hidden; }
.nexus-ui [data-branch-paths61] .branch-path-table-frame > :is(.content-header,.table-scroll,.ui-list-pager) { margin:0; }
.nexus-ui [data-branch-paths61] .branch-path-table-frame .data-table { margin:0; }
.nexus-ui [data-branch-paths61] .field-help { margin:0; }
.nexus-ui [data-branch-paths61] [data-refresh-region="branch-path-editors"]:not(:has(details[open])) { display:none; }
.nexus-ui [data-branch-paths61] .ui-modal-footer { margin-top:0; }
.nexus-ui [data-branch-detail] { padding-block-end: var(--ui-panel-inline, 10px); }
.nexus-ui .branch-detail-table { border:1px solid var(--ui-border);border-radius:var(--ui-radius-sm); }

/* v0.9.67 — existing modal components and stable collection editor geometry. */
.nexus-ui .ui-confirm-dialog > .ui-modal-footer { position:static;box-sizing:border-box;width:100%;margin:0; }
.nexus-ui .telemetry-collection-settings > .ui-modal-record-context:first-child { margin-top:0;--ui-setting-heading-top:0px; }
.nexus-ui .telemetry-collection-add [data-collection-submit] { width:12em;min-width:12em;white-space:nowrap; }
.nexus-ui .telemetry-chart-setting-row.is-drop-before { box-shadow:inset 3px 0 var(--ui-info); }
.nexus-ui .telemetry-chart-setting-row.is-drop-after { box-shadow:inset -3px 0 var(--ui-info); }

/* .67 chooser labels describe their real source and measurement independently. */
.nexus-ui .telemetry-chart-setting-row.dashboard-saved-chart-row { height:auto;min-height:64px;max-height:none; }
.nexus-ui .telemetry-chart-setting-row label > .telemetry-chart-choice-text { display:grid;gap:3px;min-width:0;overflow:visible;white-space:normal; }
.nexus-ui .telemetry-chart-setting-row .telemetry-chart-choice-text > span { display:block;overflow:visible;text-overflow:clip;white-space:normal;overflow-wrap:anywhere;line-height:1.35; }
.nexus-ui .telemetry-chart-choice-source { font-weight:600; }
.nexus-ui .telemetry-chart-choice-measurement { color:var(--ui-muted); }

/* v0.9.67: graph-only controls and the approved single-header detail. */
.nexus-ui :is(.device-monitoring-workspace,.telemetry-chart-detail) .telemetry-chart-range{gap:0}
.nexus-ui .device-monitoring-workspace .telemetry-chart-grid > .telemetry-chart-card{--telemetry-preview-action-size:calc(var(--ui-action-height,26px) * .9)}
.nexus-ui .device-monitoring-workspace .telemetry-chart-grid > .telemetry-chart-card :is(.telemetry-chart-range button,.telemetry-chart-download,.telemetry-chart-delete){width:var(--telemetry-preview-action-size);height:var(--telemetry-preview-action-size);flex-basis:var(--telemetry-preview-action-size)}
.nexus-ui .device-monitoring-workspace .telemetry-chart-grid > .telemetry-chart-card :is(.telemetry-chart-download,.telemetry-chart-delete) .ui-icon{width:14.4px;height:14.4px}
.nexus-ui details.ui-modal-editor.telemetry-graph-modal[open] > summary{display:none}
.nexus-ui .telemetry-chart-detail .ui-modal-close{display:grid;position:static;margin:0}
.nexus-ui .telemetry-chart-detail .telemetry-chart-legend,.nexus-ui .telemetry-chart-detail .telemetry-legend-item{font-size:11px;line-height:1.4}

/* v0.9.67.1: only nested data-table blocks proven to have no existing frame.
   The token and one-pixel line match Nastavit sběr; structure/scroll stay owned
   by their original components. Existing framed tables receive no class. */
.nexus-ui .ui-nested-table-frame { box-sizing:border-box; border:1px solid var(--ui-border)!important; }
.nexus-ui .ui-table-frame-continued { border-bottom-width:0!important; }
.nexus-ui .ui-table-frame-continuation { box-sizing:border-box; border-left:1px solid var(--ui-border)!important; border-right:1px solid var(--ui-border)!important; border-bottom:1px solid var(--ui-border)!important; }

.nexus-ui .table-id-selection { display: inline-flex; align-items: center; gap: 8px; white-space: nowrap; }
.nexus-ui .customer-deletion-preview > .modal-section-head { margin-block: 0; }
.nexus-ui .customer-deletion-preview .ui-modal-facts { margin-block: 0; }
.nexus-ui .customer-deletion-preview .archive-banner ul { margin-block: 0; padding-inline-start: 16px; }

/* Firemní plán servisních zásahů */
.nexus-ui .service-calendar {
    width: 100%;
    min-width: 840px;
    border-collapse: collapse;
    table-layout: fixed;
}
.nexus-ui .service-calendar :is(th, td) {
    border-inline-end: 1px solid var(--ui-border);
    border-block-end: 1px solid var(--ui-border);
    padding: var(--ui-space-2);
    text-align: start;
}
.nexus-ui .service-calendar thead th { background: var(--ui-panel-head); }
.nexus-ui .service-calendar td { height: 112px; vertical-align: top; }
.nexus-ui .service-calendar.is-week td { height: clamp(360px, 58vh, 640px); }
.nexus-ui .service-calendar td:last-child { border-inline-end: 0; }
.nexus-ui .service-calendar tbody tr:last-child td { border-block-end: 0; }
.nexus-ui .service-calendar td.is-outside { background: var(--ui-surface-subtle); }
.nexus-ui .service-calendar td.is-today { box-shadow: inset 0 2px var(--ui-brand); }
.nexus-ui .service-calendar-day { display: flex; align-items: center; justify-content: space-between; min-height: 24px; font-weight: 650; }
.nexus-ui .service-calendar-day .button { padding-inline: var(--ui-space-2); }
.nexus-ui .service-calendar-event {
    display: grid;
    gap: 2px;
    margin-block-start: var(--ui-space-1);
    padding: var(--ui-space-2);
    border: 1px solid var(--ui-border);
    border-inline-start: 2px solid var(--ui-brand);
    border-radius: var(--ui-radius-sm);
    background: var(--ui-surface);
    color: var(--ui-text);
    text-decoration: none;
    overflow-wrap: anywhere;
}
.nexus-ui .service-calendar-event:hover { background: var(--ui-surface-subtle); }
.nexus-ui .service-calendar-event .status-chip { justify-self: start; }
