/* LOD Nexus / September 2026. Shared presentation layer only.
   Domain calculations, permissions, DOM data hooks and planned empty cells are unchanged.
   Scoped overrides isolate the new shell from document previews and legacy demo embeds. */
:root {
  --nx-bg: #090d13;
  --nx-panel: #111925;
  --nx-panel-raised: #151f2c;
  --nx-line: #293443;
  --nx-text: #e7ecf3;
  --nx-muted: #a5afbf;
  --nx-accent: #8d293d;
  --nx-sidebar: 236px;
}
body.nx-interface {
  color-scheme: dark;
  color: var(--nx-text);
  background: var(--nx-bg);
  font-family: Inter, "Segoe UI", system-ui, -apple-system, sans-serif;
  font-size: 14px;
  line-height: 1.5;
  --text-main: var(--nx-text);
  --text-muted: var(--nx-muted);
  --ui-border: var(--nx-line);
}
.nx-interface *, .nx-interface *::before, .nx-interface *::after { box-sizing: border-box; }
.nx-interface [hidden] { display: none !important; }
.nx-interface :focus-visible { outline: 2px solid #92b6df !important; outline-offset: 3px; }
.nx-interface :is(input, select, textarea):focus-visible { outline-offset: 1px; }
.nx-interface :is(button, a, input, select, textarea) { -webkit-tap-highlight-color: transparent; }
.nx-interface :is(h1,h2,h3,h4,strong,b) { text-shadow: none; }
.nx-interface :is(button, .btn, .btn-primary, .btn-secondary) { text-shadow: none; font-weight: 600; }
.nx-interface button:disabled { cursor: not-allowed; }
.nx-interface :is(p, small, td, .muted-inline) { overflow-wrap: anywhere; }
/* Statistics uses the shared project select, including its floating menu.
   Scope these controls above module-wide button rules without changing actions. */
body.nx-interface :is(.row-stats, #lod-statistics-explorer) .project-select {
  width: 100%; min-width: 0; font-size: 13px;
}
body.nx-interface :is(.row-stats, #lod-statistics-explorer) .project-select-toggle {
  width: 100%; min-width: 0; min-height: 40px; padding: 9px 36px 9px 12px;
  border: 1px solid var(--nr-line, var(--nx-line)); border-radius: 6px;
  color: var(--nr-text, var(--nx-text)); background: var(--nr-field, var(--nx-field));
  font: inherit; font-weight: 400; line-height: 1.4; box-shadow: none;
}
body.nx-interface :is(.row-stats, #lod-statistics-explorer) .project-select-toggle::after {
  right: 14px; width: 6px; height: 6px; border-color: var(--nr-muted, var(--nx-muted));
}
body.nx-interface :is(.row-stats, #lod-statistics-explorer) .project-select-toggle:hover:not(:disabled) {
  border-color: #597185;
}
body.nx-interface :is(.row-stats, #lod-statistics-explorer) .project-select.is-open .project-select-toggle,
body.nx-interface :is(.row-stats, #lod-statistics-explorer) .project-select-toggle:focus-visible {
  border-color: #b65070; outline: 1px solid #b65070 !important; outline-offset: 0; box-shadow: none;
}
body.nx-interface :is(.row-stats, #lod-statistics-explorer) .project-select-menu {
  padding: 5px; border: 1px solid var(--nr-line, var(--nx-line)); border-radius: 7px;
  background: var(--nr-surface, var(--nx-panel)); box-shadow: 0 12px 32px #0006;
  scrollbar-width: thin; color: var(--nr-text, var(--nx-text));
}
body.nx-interface :is(.row-stats, #lod-statistics-explorer) .project-select-option {
  min-height: 36px; padding: 8px 10px; border: 0; border-radius: 4px;
  background: transparent; color: inherit; font: inherit; font-weight: 400;
  line-height: 1.4; white-space: normal; overflow-wrap: anywhere; box-shadow: none;
}
body.nx-interface :is(.row-stats, #lod-statistics-explorer) .project-select-option.is-selected {
  color: #f1ced9; background: #392331; box-shadow: inset 3px 0 #b65070;
}
body.nx-interface :is(.row-stats, #lod-statistics-explorer) .project-select-option:hover:not(:disabled),
body.nx-interface :is(.row-stats, #lod-statistics-explorer) .project-select-option:focus-visible {
  color: #f1ced9; background: #442a39; outline: 1px solid #b65070 !important; outline-offset: -1px;
}
body.nx-interface #lod-statistics-explorer .nx-share-label .project-select { width: 82px; flex: 0 0 82px; }
body.nx-interface #lod-statistics-explorer .nx-share-label .project-select-toggle { min-height: 32px; padding: 5px 28px 5px 8px; font-size: 12px; }
@media(max-width:680px) {
  body.nx-interface :is(.row-stats, #lod-statistics-explorer) .project-select-toggle,
  body.nx-interface :is(.row-stats, #lod-statistics-explorer) .project-select-option { min-height: 44px; }
}
.nx-interface :is(.panel,.panel-section,.work-panel-hero,.module-hero,.metric-card,.select-hero) {
  border: 1px solid var(--nx-line);
  border-radius: 10px;
  background: var(--nx-panel);
  box-shadow: none;
}
.nx-interface :is(.panel-heading,.section-heading) { gap: 16px; flex-wrap: wrap; }
.nx-interface :is(.panel-heading,.section-heading) h2 { font-size: 18px; font-weight: 650; }
.nx-interface :is(.empty-state,.casino-template-library-empty) {
  padding: 28px 20px; color: var(--nx-muted); border: 1px dashed var(--nx-line); border-radius: 8px;
}
.nx-interface :is(.badge-soft,.status-badge) { font-size: 12px; font-weight: 600; letter-spacing: 0; box-shadow: none; }
.nx-interface :is(.eyebrow,.section-kicker,.team-sms-label) { font-size: 12px; font-weight: 650; letter-spacing: .055em; }
.nx-interface :is(.btn,.btn-primary,.btn-secondary,.btn-outline-light) {
  min-height: 38px; padding: 8px 13px; border-radius: 7px; font-size: 14px; line-height: 1.3;
  box-shadow: none; white-space: normal;
}
.nx-interface :is(.btn-primary,.btn-danger) { color: #fff; border-color: #a53d51; background: var(--nx-accent); }
.nx-interface :is(.btn-primary,.btn-danger):hover { background: #a2354b; }
.nx-interface :is(.btn-secondary,.btn-outline-light) { color: var(--nx-text); border-color: #354356; background: #121d2a; }
.nx-interface :is(.btn-secondary,.btn-outline-light):hover { background: #1b2a3b; border-color: #657d9b; }
.nx-interface :is(.form-control,.form-select) {
  min-height: 40px; color: var(--nx-text); border-color: #354356; background-color: #0c131d;
  border-radius: 7px; font-size: 14px; box-shadow: none;
}
.nx-interface :is(.form-label,.ops-field > span) { font-size: 14px; font-weight: 550; color: var(--nx-muted); }
.nx-interface :is(.alert,.casino-payouts-flash) { border-radius: 8px; font-size: 14px; }
.nx-interface :is(.input-validation-error,[aria-invalid="true"]) { border-color: #e4889a !important; }
.nx-interface :is(.field-validation-error,.validation-summary-errors) { color: #f0a7b6; font-size: 14px; }
.nx-skip-link { position: fixed; z-index: 20000; left: 16px; top: -70px; padding: 10px 16px; background: #e7ecf3; color: #090d13; border-radius: 6px; }
.nx-skip-link:focus { top: 10px; }

/* One persistent desktop rail; a real off-canvas, keyboard-accessible rail on phones. */
.nx-interface.nx-signed-in { display: block; padding: 0; }
.nx-interface .sidebar {
  position: fixed; inset: 0 auto 0 0; width: var(--nx-sidebar); height: 100dvh;
  margin: 0; padding: 0 14px 22px; overflow: auto; z-index: 1100;
  border: 0; border-right: 1px solid #202b38; background: #0b1017; box-shadow: none;
}
.nx-interface .sidebar-brand { min-height: 76px; padding: 17px 6px; margin: 0 0 20px; gap: 12px; border-bottom: 1px solid #202b38; }
.nx-interface .sidebar-brand strong { font-size: 20px; letter-spacing: -.3px; }
.nx-interface .sidebar-brand small { display: none; }
.nx-interface .sidebar-mark { width: 38px; height: 42px; border: 0; background: none; box-shadow: none; }
.nx-interface .sidebar-mode-badge { position: relative; margin: 0 4px 18px; padding: 4px 9px; font-size: 11px; box-shadow: none; }
.nx-interface .sidebar-nav { display: grid; gap: 5px; }
.nx-interface .sidebar-nav :is(a, summary) { min-height: 43px; padding: 11px 12px; font-size: 14px; font-weight: 550; color: #adb8c8; border-radius: 6px; }
.nx-interface .sidebar-nav :is(a, summary):hover { color: #f1f4f8; background: #151e2a; }
.nx-interface .sidebar-nav-group { padding: 0; border: 0; background: transparent; }
.nx-interface .sidebar-nav-group[open] { background: transparent; border: 0; }
.nx-interface .sidebar-nav-group[open] > summary { color: #eff3f8; }
.nx-interface .sidebar-nav-submenu { display: grid; gap: 3px; padding: 1px 0 8px; }
.nx-interface .sidebar-nav-submenu a { padding-left: 20px; }
.nx-interface .sidebar-nav a.active { color: #fff; background: #351c27; border: 1px solid #61303f; box-shadow: inset 3px 0 #c75168; }
.nx-interface .sidebar-nav-notification { min-width: 22px; height: 22px; box-shadow: none; font-size: 12px; }
.nx-interface .shell-frame { display: block; width: auto; min-width: 0; margin: 0 0 0 var(--nx-sidebar); padding: 0; }
.nx-interface.nx-public .shell-frame { margin: 0; }
.nx-interface .topbar {
  position: relative; display: flex; align-items: center; justify-content: space-between; gap: 16px;
  width: 100%; min-height: 76px; padding: 14px 24px; border-bottom: 1px solid #202b38;
  background: var(--nx-bg); box-shadow: none; z-index: 100;
  flex-wrap: nowrap; flex-direction: row;
}
.nx-interface .nx-topbar-heading { display: flex; gap: 12px; align-items: center; min-width: 0; }
.nx-interface .nx-topbar-heading > div { min-width:0; }
.nx-interface .topbar h1 { margin: 0; color: var(--nx-text); font-size: 22px; font-weight: 650; line-height: 1.25; }
.nx-interface .topbar .section-kicker { display: none; }
.nx-interface .topbar-actions { display: flex; flex-direction: row; flex-wrap: nowrap; width: auto; gap: 12px; flex: 0 0 auto; }
.nx-account-menu { position: relative; }
.nx-account-menu > summary { display: flex; align-items: center; gap: 10px; padding: 4px; color: var(--nx-text); cursor: pointer; list-style: none; font-size: 14px; }
.nx-account-menu > summary::-webkit-details-marker { display: none; }
.nx-avatar { display: inline-grid; place-items: center; width: 35px; height: 35px; flex: 0 0 35px; border-radius: 50%; color: #edf4ff; background: #244765; font-size: 16px; font-weight: 650; }
.nx-account-panel { position: absolute; z-index: 1200; right: 0; top: calc(100% + 12px); width: min(330px,calc(100vw - 24px)); padding: 18px; border: 1px solid #3e4a5d; border-radius: 10px; background: #111925; box-shadow: 0 18px 50px #0007; }
.nx-interface .nx-account-panel .user-pill { display: grid; gap: 8px; padding: 0 0 16px; border: 0; background: none; max-width: 100%; font-size: 13px; white-space: normal; overflow-wrap: anywhere; }
.nx-interface .nx-account-panel .user-pill small { font-size: 13px; }
.nx-interface .nx-account-panel form { margin: 0; }
.nx-interface .app-main { min-width: 0; width: 100%; max-width: none; padding: 22px 24px 40px; }
.nx-nav-toggle,.nx-nav-close { display: none; }
.nx-nav-backdrop { position: fixed; inset: 0; z-index: 1090; border: 0; background: #03060baf; }
.nx-interface :is(.work-panel-page,.casino-payouts-page,.warehouse-page,.casino-template-page,.team-sms-page) { min-width: 0; gap: 18px; }
.nx-interface :is(.work-panel-hero,.module-hero,.warehouse-hero,.casino-payouts-hero) { padding: 18px 20px; }
.nx-interface :is(.work-panel-hero,.module-hero,.warehouse-hero,.casino-payouts-hero) > :is(h1,h2) { margin: 0 0 6px; font-size: 21px; font-weight: 650; }
.nx-interface :is(.work-panel-hero,.warehouse-hero,.casino-payouts-hero) > .badge-soft { display: none; }
.nx-interface :is(.work-panel-hero,.warehouse-hero,.casino-payouts-hero) > p { margin: 6px 0 0; color: var(--nx-muted); font-size: 14px; }

/* Journal: profile, period, controls each get their own predictable row. */
.nx-interface .casino-payouts-page { display: grid; grid-template-columns: minmax(0,1fr); width: 100%; max-width: 100%; }
.nx-interface .casino-timeline-workspace { min-width: 0; width: 100%; max-width: 100%; border: 0; background: transparent; box-shadow: none; overflow: visible; margin-bottom: 28px; }
.nx-interface .casino-timeline-workspace-header { padding: 0; border: 0; background: transparent; }
.nx-interface .casino-timeline-workspace-context { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 12px 0; padding: 0; }
.nx-interface .casino-timeline-owner { grid-column: 1; grid-row: 1; display: flex; align-items: center; gap: 10px; padding: 14px 16px; margin: 0; border: 1px solid var(--nx-line); border-right: 0; border-radius: 9px 0 0 9px; background: #0f1722; width: auto; }
.nx-interface .casino-timeline-owner-heading { display: none; }
.nx-interface .casino-timeline-owner-user { display: flex; gap: 12px; padding: 0; min-height: 42px; border: 0; border-radius: 0; background: transparent; box-shadow: none; }
.nx-interface .casino-timeline-owner-mark { width: 38px; height: 38px; border: 0; background: #244765; border-radius: 50%; font-size: 17px; }
.nx-interface .casino-timeline-owner-user strong { font-size: 16px; font-weight: 650; }
.nx-interface .casino-timeline-owner-user b { font-size: 12px; font-weight: 400; color: var(--nx-muted); }
.nx-interface .casino-timeline-owner-user small { display: none; }
.nx-interface .casino-timeline-template-tools { grid-column: 2; grid-row: 1; display: flex; align-items: center; gap: 8px; padding: 14px 16px; width: auto; border: 1px solid var(--nx-line); border-left: 0; border-radius: 0 9px 9px 0; background: #0f1722; }
.nx-interface :is(.casino-template-menu-toggle,.casino-timeline-stream-menu-toggle,.casino-timeline-edit-toggle,.casino-week-today-button,.casino-week-view-option,.casino-timeline-period-switch button) { min-height: 36px; padding: 8px 12px; font-size: 13px; font-weight: 600; border-radius: 6px; box-shadow: none; }
.nx-interface .casino-timeline-owner-summary { grid-column: 1 / -1; grid-row: 2; display: grid; grid-template-columns: minmax(155px,.9fr) auto minmax(240px,1.3fr); grid-template-areas: "heading switch result"; align-items: center; gap: 16px; margin: 0; padding: 14px 16px; border: 1px solid var(--nx-line); border-radius: 9px; background: #0f1722; }
.nx-interface .casino-timeline-owner-summary-heading { grid-area: heading; }
.nx-interface .casino-timeline-owner-summary-heading > span { display: none; }
.nx-interface .casino-timeline-owner-summary-heading small { font-size: 12px; color: #c2ccda; }
.nx-interface .casino-timeline-period-switch { grid-area: switch; display: flex; gap: 2px; padding: 3px; border: 1px solid #263345; border-radius: 7px; }
.nx-interface .casino-timeline-period-switch button { min-width: 0; padding: 7px 9px; }
.nx-interface .casino-timeline-owner-summary-results { grid-area: result; min-width: 0; }
.nx-interface .casino-timeline-owner-summary-result { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 14px; background: none; padding: 0; border: 0; }
.nx-interface .casino-timeline-owner-summary-money { padding: 0 0 0 14px; border-left: 1px solid var(--nx-line); min-width: 0; }
.nx-interface .casino-timeline-owner-summary-money span { font-size: 12px; font-weight: 500; text-transform: none; color: var(--nx-muted); }
.nx-interface .casino-timeline-owner-summary-money strong { font-size: 19px; line-height: 1.3; font-weight: 650; font-variant-numeric: tabular-nums; }
.nx-interface .casino-timeline-view-controls { grid-column: 1/-1; grid-row: 3; display: flex; justify-content: flex-start; gap: 12px; width: auto; padding: 0 0 2px; border: 0; background: transparent; }
.nx-interface .casino-timeline-today-controls { gap: 10px; }
.nx-interface .casino-week-today-status { font-size: 12px; color: var(--nx-muted); }
.nx-interface .casino-week-view-switch { box-shadow: none; padding: 3px; border: 1px solid var(--nx-line); border-radius: 7px; }
.nx-interface .casino-week-scroll-shell { min-width: 0; width: 100%; max-width: 100%; margin: 0; border: 0; background: transparent; }
.nx-interface .casino-week-scroll-shell .casino-week-grid { grid-auto-columns: clamp(340px,calc((100vw - var(--nx-sidebar) - 72px) / 3),480px); padding: 0 0 12px; gap: 12px; scroll-padding-inline: 0; }
.nx-interface .casino-week-scroll-shell .casino-week-tile { width: 100%; min-width: 0; max-width: none; aspect-ratio: auto; height: clamp(390px,51vh,560px); background: #0f1722; border: 1px solid #2a3748; border-radius: 9px; box-shadow: none; }
.nx-interface .casino-week-tile.is-today { border-color: #c34b62; box-shadow: none; }
.nx-interface .casino-week-tile-date { font-weight: 700; }
.nx-interface .casino-week-tile-weekday { color: var(--nx-muted); font-weight: 400; }
.nx-interface .casino-week-tile-status-totals { background: transparent; border: 0; box-shadow: none; }
.nx-interface .casino-week-tile-status-total > span { font-size: 10px; letter-spacing: 0; font-weight: 550; text-transform: none; }
.nx-interface .casino-week-tile-status-total > b { font-weight: 700; letter-spacing: -.025em; }
.nx-interface .casino-week-tile-today { border-radius: 5px; background: #542130; font-size: 10px; box-shadow: none; }
.nx-interface .casino-week-plan-action-trigger { padding: 5px 8px; border-color: #324157; background: #0a111c; font-size: 11px; font-weight: 550; }
.nx-interface .casino-timeline-workspace .casino-week-tile-runs[data-plan-scroll] { background: transparent !important; border-left: 0; padding-left: 0; }
.nx-interface .casino-week-plan-account-group { background: #111b28; border-color: #344358; box-shadow: none; border-radius: 7px; }
.nx-interface .casino-week-plan-account-totals { background: #0a121c; box-shadow: none; border-color: #27374b; }
.nx-interface .casino-week-plan-account-totals > * { box-shadow: none; }
.nx-interface .casino-week-tile-runs[data-plan-scroll] > .casino-week-tile-plan { background: transparent; border-left-color: #513040; }
.nx-interface .casino-week-plan-account-group > summary .casino-week-plan-account-totals > span > small { font-size: 9px; font-weight: 600; letter-spacing: .02em; line-height: 1.1; }
.nx-interface .casino-week-plan-account-group > summary .casino-week-plan-account-totals > span > b { font-weight: 700; }
.nx-interface :is(.casino-template-menu-panel,.casino-timeline-stream-menu-panel) { max-width: min(440px,calc(100vw - 40px)); background: #141e2c; border-color: #40526b; box-shadow: 0 16px 38px #0007; }

/* Warehouse / template library: meaningful grouping instead of nested decoration. */
.nx-interface :is(.warehouse-workspace-catalog,.warehouse-rule-expanded,.warehouse-accounts-section,.casino-template-composer,.casino-template-services,.casino-sites-create,.casino-sites-library) { border: 1px solid var(--nx-line); border-radius: 9px; background: var(--nx-panel); box-shadow: none; }
.nx-interface :is(.warehouse-unit-card,.warehouse-account-card,.casino-saved-template) { border-color: #344358; border-radius: 8px; background: #0f1722; box-shadow: none; }
.nx-interface :is(.warehouse-unit-card,.warehouse-account-card).is-selected { border-color: #ab4960; background: #281b29; }
.nx-interface :is(.warehouse-section-heading,.warehouse-accounts-heading,.warehouse-form-heading,.casino-template-composer-view-heading) h2 { font-size: 19px; }
.nx-interface :is(.warehouse-unit-grid,.warehouse-account-card-grid) { gap: 12px; }
.nx-interface :is(.warehouse-navigation,.warehouse-account-filter) { gap: 10px; flex-wrap: wrap; }
.nx-interface :is(.warehouse-account-filter input,.warehouse-account-filter select) { min-height: 40px; font-size: 14px; }
.nx-interface .warehouse-account-filter-count { font-size: 12px; }
.nx-interface .warehouse-profile-form { min-width: 0; }
.nx-interface .warehouse-account-section { padding: 16px; border: 1px solid var(--nx-line); border-radius: 8px; background: #0e1621; }
.nx-interface .warehouse-account-section-heading { padding-bottom: 10px; margin-bottom: 10px; }
.nx-interface .warehouse-field-grid { gap: 12px; }
.nx-interface .warehouse-field-grid > label { padding: 10px 12px; border: 1px solid #2b394d; background: #101b29; border-radius: 7px; }
.nx-interface .warehouse-field-grid > label > span:first-child { font-size: 13px; font-weight: 550; color: #bbc6d6; }
.nx-interface .warehouse-profile-form .warehouse-field-grid :is(input,select,textarea) { font-size: 14px; line-height: 1.5; min-height: 34px; }
.nx-interface .warehouse-authorization-field { grid-template-columns: minmax(130px,.75fr) minmax(0,2fr) auto; gap: 12px; padding: 12px; background: #101b29; border-color: var(--nx-line); }
.nx-interface .warehouse-auth-system-name strong { font-size: 14px; font-weight: 550; }
.nx-interface :is(.warehouse-auth-system-name > span,.warehouse-auth-fixed-mode) { display: none; }
.nx-interface .warehouse-authorization-field label > span:first-child { font-size: 12px; }
.nx-interface .warehouse-auth-value-wrap input { font-size: 14px; min-height: 38px; }
.nx-interface .warehouse-auth-value-toggle { min-height: 38px; padding: 8px; font-size: 12px; }
.nx-interface .warehouse-attachments { background: #0e1621; border-color: var(--nx-line); border-radius: 8px; }
.nx-interface .warehouse-attachments > summary { padding: 16px; gap: 12px; }
.nx-interface .warehouse-attachments > summary strong { font-size: 16px; }
.nx-interface .warehouse-attachments > summary small { font-size: 12px; }
.nx-interface .warehouse-attachment-status { font-size: 12px; white-space: normal; }
.nx-interface .warehouse-file-picker { min-height: 140px; padding: 16px; background: #111d2b; border-color: #35455b; border-radius: 8px; }
.nx-interface .warehouse-file-picker-label { font-size: 14px; font-weight: 600; line-height: 1.5; }
.nx-interface :is(.warehouse-file-picker-name,.warehouse-file-current) { font-size: 12px; white-space: normal; overflow-wrap: anywhere; }
.nx-interface .warehouse-file-picker-action { padding: 8px 11px; font-size: 13px; }
.nx-interface .warehouse-file-picker:focus-within { outline: 2px solid #92b6df; outline-offset: 2px; }
.nx-interface .warehouse-file-picker.nx-file-chosen { border-color: #678b74; }
.nx-interface .warehouse-required-badge { font-size: 10px; font-weight: 500; color: #e5bd65; }
.nx-interface .nx-form-footer { position: sticky; z-index: 20; bottom: 12px; display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 12px 16px; border: 1px solid #43536a; border-radius: 9px; background: #121d2bf5; box-shadow: 0 8px 30px #0004; }
.nx-form-footer > span { font-size: 13px; color: var(--nx-muted); }
.nx-interface .nx-form-footer .warehouse-profile-submit { margin: 0; flex: 0 0 auto; }
.nx-interface .casino-template-composer-summary { padding: 16px; background: #152132; border-color: var(--nx-line); }
.nx-interface .casino-template-composer-summary h2 { font-size: 18px; }
.nx-interface .casino-template-composer-tabs { padding: 12px 0; gap: 6px; }
.nx-interface .casino-saved-template-list { display: grid; gap: 10px; }
.nx-interface .casino-saved-template-summary { padding: 16px 18px !important; gap: 14px; min-height: 86px; }
.nx-interface .casino-saved-template-summary-header strong { font-size: 16px; font-weight: 600; }
.nx-interface .casino-saved-template-summary-header small { font-size: 12px; color: var(--nx-muted); }
.nx-interface .casino-saved-template-summary-state { gap: 6px; flex-wrap: wrap; }
.nx-interface .casino-saved-template-body { padding: 18px; border-top: 1px solid var(--nx-line); }
.nx-interface .casino-template-overview { background: #0c1420; border-color: var(--nx-line); }
.nx-interface :is(.casino-template-choice,.casino-template-route-item) { border-color: #344358; box-shadow: none; }

/* SMS keeps the purchase controls and private sessions on one working page. */
.nx-interface .team-sms-hero { align-items: center; padding: 0; border: 0; background: none; box-shadow: none; }
.nx-interface .team-sms-hero p { margin: 0; font-size: 14px; }
.nx-interface .team-sms-hero-status { gap: 4px; font-size: 12px; }
.nx-interface .team-sms-overview { grid-template-columns: minmax(0,1.4fr) minmax(0,1fr) minmax(0,1fr); gap: 12px; }
.nx-interface :is(.team-sms-balance-card,.team-sms-metric-card) { min-height: 100px; padding: 14px 16px; background: #111b28; border-color: var(--nx-line); box-shadow: none; }
.nx-interface .team-sms-balance-card strong { font-size: 29px; }
.nx-interface .team-sms-metric-card strong { font-size: 19px; }
.nx-interface .team-sms-console { grid-template-columns: minmax(0,1.15fr) minmax(320px,1fr); gap: 16px; align-items: start; }
.nx-interface :is(.team-sms-control-card,.team-sms-active-card,.team-sms-usage) { min-width: 0; padding: 18px; background: #111925; border: 1px solid var(--nx-line); border-radius: 9px; box-shadow: none; }
.nx-interface .team-sms-active-card { border-top-color: #6c8b7d; }
.nx-interface :is(.team-sms-control-heading,.team-sms-active-heading) h2 { font-size: 18px; font-weight: 650; }
.nx-interface :is(.team-sms-control-heading,.team-sms-active-card) p { font-size: 13px; }
.nx-interface .team-sms-service-picker { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 8px; }
.nx-interface .team-sms-service { padding: 12px 9px; border-color: #2e3c50; background: #0f1722; }
.nx-interface .team-sms-service.is-selected { border-color: #b95368; background: #321e2a; }
.nx-interface .team-sms-service strong { font-size: 13px; }
.nx-interface .team-sms-service small { display: none; }
.nx-interface .team-sms-service-mark { width: 26px; height: 28px; font-size: 10px; border: 0; background: #432232; }
.nx-interface .team-sms-operator-selection { padding: 0; border: 0; background: none; min-height: 0; }
.nx-interface .team-sms-operator-selection-heading strong { font-size: 16px; }
.nx-interface .team-sms-loading { font-size: 12px; }
.nx-interface .team-sms-operator-group h3 { font-size: 11px; font-weight: 600; }
.nx-interface .team-sms-operator { min-height: 43px; gap: 10px; }
.nx-interface .team-sms-operator strong { font-size: 14px; font-weight: 550; }
.nx-interface .team-sms-operator > span:not(.team-sms-operator-indicator) { font-size: 13px; }
.nx-interface .team-sms-operator-indicator { box-shadow: none; }
.nx-interface .team-sms-selection-summary { padding: 14px; background: #0c1520; border-style: solid; }
.nx-interface .team-sms-selection-summary > div { display: grid; gap: 4px; }
.nx-interface .team-sms-selection-summary strong { font-size: 14px; }
.nx-interface .team-sms-selection-summary :is(small,div > span) { font-size: 12px; }
.nx-interface .team-sms-buy-button { min-width: 150px; }
.nx-interface .team-sms-session { padding: 12px; gap: 5px; background: #0c1520; border-color: #35445a; }
.nx-interface .team-sms-session.has-code { background: #10201e; border-color: #477866; }
.nx-interface .team-sms-session-header strong { font-size: 14px; font-weight: 650; }
.nx-interface .team-sms-session-header span { font-size: 12px; }
.nx-interface .team-sms-number { font-size: 18px; font-weight: 650; }
.nx-interface .team-sms-code { min-width: 0; padding: 8px 10px; font-size: 14px; line-height: 1.45; font-weight: 500; letter-spacing: normal; white-space: pre-wrap; overflow-wrap: anywhere; background: #152f28; }
.nx-interface :is(.team-sms-session-state,.team-sms-countdown,.team-sms-auto-check) { font-size: 12px; font-weight: 600; }
.nx-interface .team-sms-session p { font-size: 12px !important; }
.nx-interface .team-sms-session-status { font-size: 13px !important; }
.nx-interface .team-sms-session-actions { gap: 6px; }
.nx-interface .team-sms-session-actions .btn { min-height: 32px; font-size: 12px; padding: 6px 10px; }
.nx-interface .team-sms-usage-summary > div { background: #0d1622; }
.nx-interface .team-sms-usage-summary span { font-size: 13px; }
.nx-interface .team-sms-history-number { white-space: nowrap; font-variant-numeric: tabular-nums; }
.nx-interface [data-team-sms-usage-table] table { min-width: 760px; }
.nx-interface [data-team-sms-usage-table] :is(th,td) { white-space: nowrap; }

/* Shared data views, document editors, permissions, imports, mail and diagnostics. */
.nx-interface :is(.table-wrap,.table-responsive,.team-sms-usage-table) { width: 100%; max-width: 100%; overflow: auto; overscroll-behavior-x: contain; border-radius: 7px; }
.nx-interface :is(.ops-table,.table,.team-sms-usage-table table) { color: var(--nx-text); --bs-table-bg: transparent; --bs-table-color: var(--nx-text); font-size: 14px; }
.nx-interface :is(.ops-table,.table,.team-sms-usage-table table) :is(th,td) { padding: 12px 14px; border-color: var(--nx-line); line-height: 1.5; font-size: 13px; }
.nx-interface :is(.ops-table,.table) th { font-size: 12px; font-weight: 600; text-transform: none; color: var(--nx-muted); }
.nx-interface .ops-table tbody tr:hover { background: #192334; }
.nx-interface :is(.package-card,.document-card,.document-editor-card,.request-card,.application-review-panel) { background: #111925; border-color: var(--nx-line); box-shadow: none; }
.nx-interface :is(.package-card-heading,.document-editor-card-header,.request-card-header) { padding: 14px 16px; background: #152031; }
.nx-interface :is(.document-editor-card-body,.package-card-body) { min-width: 0; }
.nx-interface :is(.account-permission-option,.account-disclosure) { background: #101b29; border-color: #344358; }
.nx-interface .account-permission-option { min-height: 48px; padding: 12px; font-size: 14px; }
.nx-interface .account-permission-option input { width: 18px; height: 18px; accent-color: #ae435a; }
.nx-interface .account-segment-switcher { margin-top: 14px; gap: 8px; }
.nx-interface dialog { max-width: calc(100vw - 24px); max-height: calc(100dvh - 24px); color: var(--nx-text); background: #111925; border-color: #3c4b61; border-radius: 12px; }
.nx-interface dialog::backdrop { background: #02060cb8; backdrop-filter: blur(3px); }
.nx-interface :is(.auth-card,.auth-panel) { box-shadow: 0 24px 80px #0004; border-color: #354258; background: #101925; }
.nx-interface .auth-field-label { font-size: 14px; }
.nx-interface .auth-page .form-control { min-height: 46px; font-size: 16px; }
.nx-interface .nx-scroll-table { max-width: 100%; overflow-x: auto; overscroll-behavior-x: contain; }

/* Compact section introductions and cross-module working forms. */
.nx-interface .nx-page-description { margin: 0 0 16px; padding: 0; color: var(--nx-muted); font-size: 14px; }
.nx-interface .casino-template-page .nx-page-description { margin: 0; }
.nx-interface .casino-template-workspace-panel { padding: 12px; }
.nx-interface .casino-template-workspace-panel > .casino-template-section-heading { min-height: 0; padding: 10px 12px; border: 0; border-radius: 7px; background: #141f2e; box-shadow: none; }
.nx-interface .casino-template-section-heading h2 { margin: 0; font-size: 17px; font-weight: 600; }
.nx-interface .casino-template-section-heading .eyebrow { display: none; }
.nx-interface .casino-template-workspace-panel:not([open]) > summary p { display: none; }
.nx-interface .casino-template-section-heading p { margin: 5px 0 0; font-size: 12px; color: var(--nx-muted); }
.nx-interface .casino-template-section-heading > b { min-width: 28px; min-height: 28px; padding: 4px; font-size: 12px; border-color: #38475d; }
.nx-interface .casino-template-workspace-body { padding-top: 12px; }
.nx-interface .warehouse-owner-context { min-width: 0; padding: 14px 16px; gap: 16px; border: 1px solid var(--nx-line); border-radius: 8px; background: #101a28; }
.nx-interface .warehouse-owner-context-current > .eyebrow { display: none; }
.nx-interface .warehouse-owner-context-user strong { font-size: 14px; }
.nx-interface .warehouse-owner-context-user b { font-size: 12px; font-weight: 400; color: var(--nx-muted); }
.nx-interface .warehouse-owner-context-picker { min-width: 0; gap: 10px; }
.nx-interface .warehouse-owner-context-picker label { min-width: 0; }
.nx-interface .warehouse-owner-context-picker select { min-width: 0; max-width: 100%; font-size: 14px; }
.nx-interface .warehouse-section-heading-inline { display: flex; flex-direction: row; justify-content: space-between; align-items: center; padding: 4px 0 14px; background: none; border-bottom: 1px solid var(--nx-line); text-align: left; }
.nx-interface .warehouse-section-heading-inline .eyebrow { display: none; }
.nx-interface .warehouse-section-heading-inline h2 { margin: 0; font-size: 18px; }
.nx-interface .warehouse-workspace-catalog { padding: 16px; }
.nx-interface .warehouse-workspace-catalog .warehouse-rule-details { background: #0e1621; box-shadow: none; border-radius: 8px; }
.nx-interface .warehouse-rule-expanded .warehouse-profile-form { padding: 0; }
.nx-interface .warehouse-form-heading { padding: 12px 0; }
.nx-interface .warehouse-form-heading h3 { font-size: 18px; }
.nx-interface :is(.warehouse-form-private-note,.work-panel-note) { padding: 8px 0; border: 0; background: none; color: var(--nx-muted); font-size: 13px; }
.nx-interface :is(.admin-hub-hero,.work-documents-hero,.registration-request-hero,.verif-workspace-hero) { min-height: 0; padding: 16px 18px; gap: 16px; background: #111925; border: 1px solid var(--nx-line); border-radius: 9px; box-shadow: none; }
.nx-interface :is(.admin-hub-hero,.work-documents-hero,.registration-request-hero,.verif-workspace-hero) h1 { font-size: 21px; font-weight: 650; }
.nx-interface :is(.admin-hub-hero,.work-documents-hero,.registration-request-hero,.verif-workspace-hero) p { color: var(--nx-muted); font-size: 13px; }
.nx-interface .work-documents-hero .badge-soft { display: none; }
.nx-interface :is(.package-stats-grid,.dashboard-grid,.admin-metric-grid) { gap: 12px; }
.nx-interface .metric-card { min-height: 100px; padding: 14px 16px; gap: 5px; }
.nx-interface .metric-card > span { color: var(--nx-muted); font-size: 13px; }
.nx-interface .metric-card strong { font-size: 23px; font-weight: 650; }
.nx-interface .metric-card small { font-size: 12px; }
.nx-interface :is(.work-grid,.package-filter-form,.quick-filter-row,.advanced-filter-grid,.registration-workspace-grid,.ocr-tool-grid,.mail-settings-grid,.source-type-form,.verif-stepper) { min-width: 0; gap: 12px; }
.nx-interface :is(.work-grid,.registration-workspace-grid,.ocr-tool-grid,.mail-settings-grid) > * { min-width: 0; }
.nx-interface :is(.advanced-filter-panel,.verif-step,.source-type-row,.registration-workspace-card,.ocr-tool-card,.mail-account-card) { border-color: #344358; border-radius: 8px; background: #111b29; box-shadow: none; }
.nx-interface :is(.advanced-filter-panel,.verif-step) > summary { padding: 12px 14px; font-size: 14px; }
.nx-interface :is(.verif-stepper a,.admin-hub-nav a,.registration-request-tabs a) { min-height: 42px; font-size: 14px; border-color: #344358; background: #111b29; }
.nx-interface .verif-stepper a.active { border-color: #ad4c64; background: #2e1d2b; }
.nx-interface :is(.verif-source-grid,.verif-results-grid,.package-gallery) { gap: 12px; }
.nx-interface :is(.verif-file-tile,.package-file-card) { border-color: #344358; background: #0d1622; border-radius: 8px; }
.nx-interface :is(.source-type-form,.package-editor-form,.registration-detail-grid,.mail-settings-grid) label { min-width: 0; }
.nx-interface :is(.package-overview-grid,.registration-detail-grid) > div { min-width: 0; overflow-wrap: anywhere; }
.nx-interface :is(.mail-layout,.mail-workspace,.mail-split-view) { min-width: 0; }
.nx-interface :is(.mail-sidebar,.mail-list-panel,.mail-reader,.mail-settings-section) { background: #101925; border-color: var(--nx-line); box-shadow: none; }
.nx-interface .mail-workbench .form-control::placeholder,
.nx-interface .form-control::placeholder { color: #8392a7; opacity: 1; }
.nx-interface .account-history { margin-top: 18px; padding-top: 18px; border-top: 1px solid var(--nx-line); }
.nx-interface .registration-request-form { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 18px; min-width: 0; width: 100%; }
.nx-interface .registration-composer-stage { display: grid; grid-template-columns: minmax(130px,.7fr) minmax(0,1fr); gap: 12px; min-width: 0; }
.nx-interface .registration-request-form .registration-detail-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; min-width: 0; }
.nx-interface .registration-requester-chip,.nx-interface .registration-request-notes { grid-column: 1/-1; min-width: 0; width: 100%; }
.nx-interface .registration-requester-chip strong { white-space: normal; overflow-wrap: anywhere; }
.nx-interface .registration-composer-footer { grid-column: 1/-1; min-width: 0; }
.nx-interface :is(.registration-kit-counter,.registration-target-block) { min-width: 0; padding: 14px; background: #0e1723; border-color: #344358; }
.nx-interface .registration-kit-control { gap: 6px; }
.nx-interface .registration-kit-input { min-width: 0; width: 65px; }
.nx-interface .registration-composer-heading h2 { font-size: 21px; }
.nx-interface .registration-composer-number { display: none; }

@media (max-width: 1250px) {
  :root { --nx-sidebar: 210px; }
  .nx-interface .app-main { padding: 18px; }
  .nx-interface .casino-timeline-owner-summary { grid-template-columns: minmax(0,1fr) auto; grid-template-areas: "heading switch" "result result"; }
  .nx-interface .casino-timeline-owner-summary-result { padding-top: 8px; }
  .nx-interface .team-sms-console { grid-template-columns: minmax(0,1fr); }
  .nx-interface .team-sms-service-picker { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .nx-interface .warehouse-authorization-field { grid-template-columns: minmax(0,1fr); }
  .nx-interface .registration-request-form { grid-template-columns: minmax(0,1fr); }
}
@media (max-width: 900px) {
  .nx-interface.nx-signed-in .shell-frame { margin-left: 0; }
  .nx-interface .sidebar { width: min(290px,85vw); }
  .nx-interface.nx-nav-ready .sidebar { transform: translateX(-101%); visibility: hidden; transition: none; }
  .nx-interface.nx-nav-open .sidebar { transform: translateX(0); visibility: visible; }
  .nx-interface.nx-nav-open { overflow: hidden; }
  .nx-interface .nx-nav-toggle { display: inline-grid; place-items: center; flex: 0 0 40px; width: 40px; height: 40px; padding: 0; border: 1px solid #334154; border-radius: 7px; background: #101925; color: #e7ecf3; font-size: 23px; }
  .nx-interface .nx-nav-close { display: inline-grid; position: absolute; right: 12px; top: 19px; width: 36px; height: 36px; place-items: center; padding: 0; border: 1px solid #344356; border-radius: 6px; background: #142032; color: #fff; font-size: 24px; }
  .nx-interface .sidebar-brand { padding-right: 34px; }
  .nx-interface .topbar { padding: 12px 16px; min-height: 66px; }
  .nx-interface .topbar h1 { font-size: 19px; }
  .nx-account-name { display: none; }
  .nx-interface .team-sms-overview { grid-template-columns: 1.4fr 1fr 1fr; }
}
@media (max-width: 640px) {
  .nx-interface { font-size: 14px; }
  .nx-interface .app-main { padding: 14px 12px 28px; }
  .nx-interface .topbar { padding: 10px 12px; gap: 8px; }
  .nx-interface .topbar h1 { font-size: 17px; overflow-wrap:anywhere; }
  .nx-interface .topbar-actions { gap: 4px; }
  .nx-interface .nx-topbar-heading { gap: 9px; }
  .nx-interface :is(.panel,.panel-section,.work-panel-hero,.warehouse-hero) { padding: 14px; }
  .nx-interface :is(.work-panel-hero,.warehouse-hero,.casino-payouts-hero) > :is(h1,h2) { font-size: 19px; }
  .nx-interface :is(.btn,.btn-primary,.btn-secondary) { min-height: 42px; }
  .nx-interface :is(input:not([type=checkbox]):not([type=radio]):not([type=hidden]),select,textarea) { font-size: 16px !important; }
  .nx-interface .casino-timeline-workspace-context { grid-template-columns: minmax(0,1fr); gap: 10px; }
  .nx-interface .casino-timeline-owner { grid-column: 1; grid-row: 1; border-right: 1px solid var(--nx-line); border-radius: 8px; padding: 12px; }
  .nx-interface .casino-timeline-template-tools { grid-column: 1; grid-row: 2; border: 0; border-radius: 0; padding: 0; background: transparent; justify-content: flex-start; }
  .nx-interface .casino-timeline-template-tools { flex-direction: row; align-items: center; }
  .nx-interface .casino-timeline-template-tools :is(.casino-template-menu,.casino-timeline-stream-menu) { width: auto; flex: 0 1 auto; }
  .nx-interface .casino-timeline-template-tools { flex-wrap: nowrap; }
  .nx-interface .casino-timeline-owner-summary { grid-row: 3; padding: 12px; grid-template-columns: minmax(0,1fr); grid-template-areas: "heading" "switch" "result"; gap: 10px; }
  .nx-interface .casino-timeline-owner-user b { font-size: 12px; }
  .nx-interface .casino-timeline-period-switch { justify-content: space-between; width: 100%; }
  .nx-interface .casino-timeline-period-switch button { flex: 1; padding: 8px 4px; font-size: 12px; min-height: 38px; }
  .nx-interface .casino-timeline-owner-summary-result { gap: 8px; }
  .nx-interface .casino-timeline-owner-summary-money { padding-left: 9px; }
  .nx-interface .casino-timeline-owner-summary-money:first-child { border-left: 0; padding-left: 0; }
  .nx-interface .casino-timeline-owner-summary-money strong { font-size: 19px; }
  .nx-interface .casino-timeline-view-controls { grid-row: 4; gap: 8px; justify-content: space-between; }
  .nx-interface .casino-week-view-switch { width: auto; min-width: 145px; }
  .nx-interface .casino-week-view-option { white-space: nowrap; }
  .nx-interface .casino-week-today-status { display: none; }
  .nx-interface .casino-timeline-workspace { margin-bottom: 20px; }
  .nx-interface .casino-week-scroll-shell .casino-week-grid { grid-auto-columns: calc(100vw - 24px); }
  .nx-interface .casino-week-scroll-shell .casino-week-tile { height: 440px; }
  .nx-interface .casino-week-tile-status-total > span { font-size: 10px; }
  .nx-interface .casino-week-tile-status-total > b { font-size: 17px !important; }
  .nx-interface .casino-week-plan-action-trigger { min-height: 27px; }
  /* Touch layout applies only inside an opened wallet; closed grid sizes stay intact. */
  .nx-interface .casino-week-plan-account-group[open] .casino-week-plan-direct-row { grid-template-columns: 30px minmax(0,1fr) minmax(0,1fr); grid-template-areas: "site received deposits" "status status tools"; gap: 6px; padding: 10px 4px; }
  .nx-interface .casino-week-plan-account-group[open] :is(.casino-week-plan-direct-amount,.casino-week-plan-direct-status) { height: 42px; min-height: 42px; max-height: none; }
  .nx-interface .casino-week-plan-account-group[open] .casino-week-plan-status-trigger { font-size: 13px !important; }
  .nx-interface .casino-week-plan-account-group[open] :is(.casino-week-plan-test-toggle,.casino-week-plan-note-toggle) { width: 42px; min-width: 42px; height: 42px; min-height: 42px; border-radius: 6px; font-size: 17px; }
  .nx-interface .casino-week-plan-account-group[open] .casino-week-plan-direct-tools { gap: 6px; }
  .nx-interface .casino-week-plan-account-group[open] > summary { min-height: 42px; }
  .nx-interface .casino-week-plan-account-group[open] > summary .casino-week-plan-account-back { height: 32px; min-height: 32px; width: 42px; }
  .nx-interface :is(.casino-template-menu-panel,.casino-timeline-stream-menu-panel) { position: absolute; left: 0; right: auto; max-width: calc(100vw - 28px); width: max-content; }
  .nx-interface .team-sms-hero { gap: 8px; }
  .nx-interface .team-sms-hero-status { display: flex; flex-wrap: wrap; gap: 8px; }
  .nx-interface .team-sms-overview { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; }
  .nx-interface .team-sms-balance-card { grid-column: 1/-1; min-height: 90px; }
  .nx-interface .team-sms-metric-card { min-height: 70px; gap: 4px; padding: 10px 12px; }
  .nx-interface .team-sms-metric-card > span:last-child { display: none; }
  .nx-interface :is(.team-sms-control-card,.team-sms-active-card,.team-sms-usage) { padding: 14px; gap: 14px; }
  .nx-interface .team-sms-service-picker { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .nx-interface .team-sms-service { min-height: 48px; }
  .nx-interface .team-sms-operator { min-height: 46px; grid-template-columns: 3px minmax(65px,1fr) auto auto; gap: 8px; }
  .nx-interface .team-sms-selection-summary { grid-template-columns: minmax(0,1fr); gap: 12px; }
  .nx-interface .team-sms-buy-button { width: 100%; }
  .nx-interface .team-sms-active-heading { flex-wrap: wrap; }
  .nx-interface .team-sms-number { font-size: 18px; }
  .nx-interface .team-sms-session-actions .btn { min-height: 42px; }
  .nx-interface .team-sms-usage-summary { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .nx-interface .warehouse-field-grid { grid-template-columns: minmax(0,1fr) !important; }
  .nx-interface .warehouse-account-section { padding: 12px; }
  .nx-interface .warehouse-attachments > summary { flex-wrap: wrap; padding: 12px; }
  .nx-interface .warehouse-attachment-grid { grid-template-columns: minmax(0,1fr); }
  .nx-interface .warehouse-attachments-body { padding: 12px; }
  .nx-interface .nx-form-footer { bottom: 8px; padding: 12px; flex-direction: column; align-items: stretch; gap: 8px; }
  .nx-interface .nx-form-footer > span { font-size: 12px; }
  .nx-interface .casino-saved-template-summary { padding: 14px !important; flex-wrap: wrap; }
  .nx-interface .casino-saved-template-body { padding: 12px; }
  .nx-interface .casino-template-composer-summary { padding: 14px; }
  .nx-interface dialog { max-width: calc(100vw - 16px); max-height: calc(100dvh - 16px); }
  .nx-interface .nx-record-table :is(thead) { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
  .nx-interface .nx-record-table, .nx-interface .nx-record-table tbody { display: block; width: 100%; min-width: 0; }
  .nx-interface .nx-record-table tbody tr { display: grid; gap: 6px; padding: 14px 0; border-bottom: 1px solid var(--nx-line); }
  .nx-interface .nx-record-table tbody td { display: flex; gap: 14px; justify-content: space-between; padding: 3px 0; border: 0; white-space: normal; min-width: 0; }
  .nx-interface .nx-record-table tbody td::before { content: attr(data-column-label); flex: 0 0 100px; color: var(--nx-muted); font-size: 12px; }
  .nx-interface .nx-record-table tbody td:first-child { display: block; font-size: 14px; }
  .nx-interface .nx-record-table tbody td:first-child::before { display: none; }
  .nx-interface .nx-record-table tbody td:last-child:has(a.btn) { justify-content: flex-end; }
  .nx-interface .nx-record-table tbody td:last-child:has(a.btn)::before { display: none; }
  .nx-interface :is(.admin-hub-hero,.work-documents-hero,.registration-request-hero,.verif-workspace-hero) { flex-direction: column; align-items: stretch; padding: 14px; }
  .nx-interface .work-documents-hero p { margin-bottom: 0; }
  .nx-interface .document-details-actions { width: 100%; justify-content: flex-start; gap: 8px; }
  .nx-interface .package-stats-grid { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 8px; }
  .nx-interface .package-stats-grid .metric-card { padding: 10px; min-height: 94px; }
  .nx-interface .package-stats-grid .metric-card > span { font-size: 12px; }
  .nx-interface .package-stats-grid .metric-card small { display: none; }
  .nx-interface .warehouse-owner-context { padding: 12px; gap: 10px; }
  .nx-interface .warehouse-workspace-catalog { padding: 12px; }
  .nx-interface .warehouse-owner-context-picker { flex-wrap: wrap; }
  .nx-interface .warehouse-owner-context-picker > label { flex: 1 1 190px; }
  .nx-interface .warehouse-owner-context-picker select { width: 100%; }
  .nx-interface .casino-template-workspace-panel { padding: 10px; }
  .nx-interface .casino-template-section-heading h2 { font-size: 16px; }
  .nx-interface .verif-stepper { display: flex; overflow-x: auto; padding-bottom: 8px; }
  .nx-interface .verif-stepper a { flex: 0 0 150px; }
  .nx-interface :is(.work-grid,.registration-workspace-grid,.ocr-tool-grid,.mail-settings-grid,.source-type-form) { grid-template-columns: minmax(0,1fr); }
  .nx-interface .package-overview-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .nx-interface .registration-composer-stage { grid-template-columns: minmax(0,1fr); }
  .nx-interface .registration-request-stats { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .nx-interface .registration-request-metric { min-height: 80px; padding: 12px; }
  .nx-interface .registration-request-metric strong { font-size: 24px; }
}
@media (prefers-reduced-motion: reduce) {
  .nx-interface *, .nx-interface *::before, .nx-interface *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; }
}
.nx-user-avatar{overflow:hidden;flex-shrink:0}.nx-user-avatar img{display:block;width:100%;height:100%;object-fit:cover;border-radius:inherit}.nx-account-name{max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
/* Only open editors gain controls; compact 3/4/8-block layouts are unchanged. */
.nx-interface .casino-week-plan-direct-row:has([data-delete-plan-entry]) { grid-template-columns: 2.3rem minmax(3.5rem,.95fr) minmax(3.5rem,.95fr) minmax(4.25rem,1.15fr) 3.6rem; }
.casino-plan-entry-delete { display:inline-flex; align-items:center; justify-content:center; flex:0 0 auto; width:20px; height:24px; padding:2px; border:1px solid #4d3340; border-radius:5px; background:transparent; color:#e197a6; }
.casino-plan-entry-delete svg { width:14px; height:14px; fill:none; stroke:currentColor; stroke-width:1.7; }
.casino-plan-entry-delete:hover,.casino-plan-block-delete:hover { background:#48212d; color:#fff; }
.casino-plan-entry-actions { display:flex; justify-content:flex-end; padding:8px; }
.casino-plan-block-delete { font-size:12px; min-height:32px; padding:5px 10px; border:1px solid #623444; border-radius:6px; color:#eaa1b0; background:transparent; }
.is-readonly-timeline [data-delete-plan-entry] { display:none; }
.casino-plan-delete-dialog { width:min(480px,calc(100vw - 24px)); }
.casino-plan-delete-dialog p { font-size:14px; line-height:1.5; overflow-wrap:anywhere; }
.casino-plan-delete-dialog footer { display:flex; justify-content:flex-end; gap:8px; }
.casino-plan-delete-dialog [role=alert] { color:#ffabb4; }
.casino-week-plan-sites-form.has-save-error::after { content:'Не удалось сохранить изменения. Проверьте соединение и суммы.'; display:block; color:#ffabb4; font-size:12px; padding:8px; }
.casino-week-plan-account-group[open] { container-type:inline-size; }
@container (max-width:480px) {
  .nx-interface .casino-week-plan-direct-row:has([data-delete-plan-entry]) { grid-template-columns:30px minmax(0,1fr) minmax(0,1fr); grid-template-areas:"site received deposits" "status status tools"; gap:6px; padding:10px 4px; }
  .nx-interface .casino-week-plan-direct-row:has([data-delete-plan-entry]) :is(.casino-week-plan-direct-amount,.casino-week-plan-direct-status) { height:42px; min-height:42px; max-height:none; }
  .nx-interface .casino-week-plan-direct-row:has([data-delete-plan-entry]) .casino-week-plan-status-trigger { font-size:13px !important; }
  .nx-interface .casino-week-plan-direct-row:has([data-delete-plan-entry]) .casino-week-plan-direct-tools { gap:4px; }
  .nx-interface .casino-week-plan-direct-row:has([data-delete-plan-entry]) :is(.casino-plan-entry-delete,.casino-week-plan-test-toggle,.casino-week-plan-note-toggle) { width:30px; min-width:30px; height:42px; min-height:42px; }
}
@media (max-width:640px) {
  .nx-interface .casino-week-plan-account-group[open] .casino-week-plan-direct-row:has([data-delete-plan-entry]) { grid-template-columns:30px minmax(0,1fr) minmax(0,1fr); grid-template-areas:"site received deposits" "status status tools"; }
  .nx-interface .casino-week-plan-account-group[open] .casino-week-plan-direct-tools { gap:4px; }
  .nx-interface .casino-week-plan-account-group[open] :is(.casino-plan-entry-delete,.casino-week-plan-test-toggle,.casino-week-plan-note-toggle) { width:30px; min-width:30px; height:42px; min-height:42px; }
  .casino-plan-entry-delete svg { width:17px; height:17px; }
}
