/* STATIX 8.2 — shared interface system. No third-party fonts or runtime assets. */
:root {
  color-scheme: dark;
  --sx-bg: #0d0e18;
  --sx-panel: #151626;
  --sx-panel-2: #1d1e32;
  --sx-panel-3: #282941;
  --sx-text: #fbfaff;
  --sx-text-soft: #d2cee3;
  --sx-muted: #b2aec3;
  --sx-border: #3b3b55;
  --sx-accent: #b49aff;
  --sx-accent-strong: #9270ff;
  --sx-accent-soft: rgb(154 125 255 / 19%);
  --sx-good: #51d4a0;
  --sx-warn: #f4ba5a;
  --sx-bad: #ff7183;
  --sx-shadow: 0 18px 50px rgb(0 0 0 / 24%);
  --sx-radius: 14px;
  --sx-radius-sm: 10px;
  --sx-topbar: 72px;
  --sx-sidebar: 248px;
  --bg: var(--sx-bg);
  --card: var(--sx-panel);
  --panel: var(--sx-panel);
  --text: var(--sx-text);
  --muted: var(--sx-muted);
  --border: var(--sx-border);
  --accent: var(--sx-accent);
  --accent-strong: var(--sx-accent-strong);
  --text-muted: var(--sx-muted);
  --text-soft: var(--sx-text-soft);
  --panel-hover: var(--sx-panel-3);
  --radius: var(--sx-radius);
  --border-hover: color-mix(in srgb, var(--sx-accent) 35%, var(--sx-border));
  --input-bg: var(--sx-panel-2);
  --log-muted: var(--sx-muted);
  --log-border: var(--sx-border);
  --log-text: var(--sx-text);
  --log-accent: var(--sx-accent);
  --log-green: var(--sx-good);
  --green: var(--sx-good);
  --log-red: var(--sx-bad);
  --log-yellow: var(--sx-warn);
  --log-card: var(--sx-panel);
  --sx-surface: var(--sx-panel);
  --sx-surface-2: var(--sx-panel-2);
  --sx-surface-3: var(--sx-panel-3);
  --sx-line: var(--sx-border);
  --sx-accent-2: var(--sx-accent-strong);
  --v7-bg: var(--sx-bg);
  --v7-card: var(--sx-panel);
  --v7-panel: var(--sx-panel-2);
  --v7-text: var(--sx-text);
  --v7-muted: var(--sx-muted);
  --v7-border: var(--sx-border);
  --v7-accent: var(--sx-accent);
  --v72-bg: var(--sx-bg);
  --v72-card: var(--sx-panel);
  --v72-text: var(--sx-text);
  --v72-muted: var(--sx-muted);
  --v72-line: var(--sx-border);
  --v72-accent: var(--sx-accent);
  --v72-accent-soft: var(--sx-accent-soft);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-synthesis: none;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

html[data-theme="light"] {
  color-scheme: light;
  --sx-bg: #f4f2fa;
  --sx-panel: #ffffff;
  --sx-panel-2: #f4f1fb;
  --sx-panel-3: #ebe7f8;
  --sx-text: #201b2b;
  --sx-text-soft: #4d465c;
  --sx-muted: #625b73;
  --sx-border: #d8d2e7;
  --sx-accent: #6943df;
  --sx-accent-strong: #5833d1;
  --sx-accent-soft: rgb(105 77 224 / 10%);
  --sx-good: #117950;
  --sx-warn: #986000;
  --sx-bad: #c23851;
  --sx-shadow: 0 16px 42px rgb(42 34 71 / 9%);
}

*, *::before, *::after { box-sizing: border-box; }
html { min-width: 320px; min-height: 100%; background: var(--sx-bg); scroll-behavior: smooth; }
body.statix-app { min-width: 320px; min-height: 100vh; margin: 0; background: var(--sx-bg); color: var(--sx-text); font-size: 14px; line-height: 1.55; }
body.statix-app, body.statix-app button, body.statix-app input, body.statix-app select, body.statix-app textarea { font-family: inherit; }
body.statix-app button, body.statix-app input, body.statix-app select, body.statix-app textarea { font-size: inherit; }
body.statix-app ::selection { color: #fff; background: #7956e8; }
body.statix-app :focus-visible { outline: 2px solid var(--sx-accent); outline-offset: 2px; }
body.statix-app [hidden] { display: none !important; }
body.statix-app a { color: var(--sx-accent); text-decoration: none; }
body.statix-app a:hover { color: var(--sx-text); }
body.statix-app img { max-width: 100%; }
body.statix-app h1, body.statix-app h2, body.statix-app h3, body.statix-app h4, body.statix-app p { margin-top: 0; }
body.statix-app h1, body.statix-app h2, body.statix-app h3, body.statix-app h4 { color: var(--sx-text); line-height: 1.25; letter-spacing: -.025em; }
body.statix-app p { color: inherit; }
body.statix-app code, body.statix-app pre { font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; }

body.statix-app .sidebar { position: fixed; z-index: 50; inset: 0 auto 0 0; display: flex; width: var(--sx-sidebar); min-height: 100dvh; flex-direction: column; padding: 20px 14px 14px; overflow-y: auto; border-right: 1px solid var(--sx-border); background: var(--sx-panel); }
body.statix-app .brand, body.statix-app .brand-link { display: flex; min-height: 54px; align-items: center; gap: 11px; padding: 4px 9px 16px; color: var(--sx-text); }
body.statix-app .brand-logo { width: 36px; height: 36px; flex: 0 0 36px; object-fit: contain; border-radius: 9px; }
body.statix-app .brand-name { font-size: 18px; font-weight: 780; letter-spacing: .085em; }
body.statix-app .brand .v7-brand-version { margin-left: auto; color: var(--sx-muted); font-size: 10px; font-weight: 700; }
body.statix-app .sidebar-label { padding: 20px 10px 8px; color: var(--sx-muted); font-size: 10px; font-weight: 750; letter-spacing: .12em; text-transform: uppercase; }
body.statix-app .sidebar-label-inner { padding-top: 17px; }
body.statix-app .sidebar-nav { display: flex; flex: 1 0 auto; flex-direction: column; gap: 3px; }
body.statix-app .nav-item { display: flex; min-height: 40px; align-items: center; gap: 11px; padding: 0 10px; border: 1px solid transparent; border-radius: 9px; color: var(--sx-muted); font-size: 13px; font-weight: 580; transition: background .15s ease, color .15s ease, border-color .15s ease; }
body.statix-app .nav-item:hover { border-color: var(--sx-border); background: var(--sx-panel-2); color: var(--sx-text); }
body.statix-app .nav-item.active { border-color: color-mix(in srgb, var(--sx-accent) 21%, var(--sx-border)); background: var(--sx-accent-soft); color: var(--sx-text); }
body.statix-app .nav-count { margin-left: auto; padding: 1px 7px; border: 1px solid color-mix(in srgb, var(--sx-accent) 32%, var(--sx-border)); border-radius: 999px; background: var(--sx-accent-soft); color: var(--sx-text); font-size: 10px; line-height: 1.5; }
body.statix-app .nav-icon { display: grid; width: 19px; flex: 0 0 19px; place-items: center; color: currentColor; font-size: 16px; line-height: 1; }
body.statix-app .sidebar-bottom { display: grid; gap: 7px; padding-top: 16px; border-top: 1px solid var(--sx-border); }
body.statix-app .v7-sidebar-account { display: flex; min-width: 0; align-items: center; gap: 10px; padding: 7px; border-radius: 9px; color: var(--sx-text); }
body.statix-app .v7-sidebar-account img, body.statix-app .v7-sidebar-avatar { width: 34px; height: 34px; flex: 0 0 34px; border-radius: 50%; background: var(--sx-panel-3); object-fit: cover; }
body.statix-app .v7-sidebar-account strong, body.statix-app .v7-sidebar-account span { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
body.statix-app .v7-sidebar-account strong { font-size: 12px; }
body.statix-app .v7-sidebar-account span { color: var(--sx-muted); font-size: 11px; }
body.statix-app .logout-form { margin: 0; }
body.statix-app .logout-button { width: 100%; background: transparent; text-align: left; }
body.statix-app .mobile-nav-toggle, body.statix-app .mobile-sidebar-overlay { display: none; }

body.statix-app .main { min-height: 100vh; margin-left: var(--sx-sidebar); }
body.statix-app .topbar { position: sticky; z-index: 30; top: 0; display: flex; min-height: var(--sx-topbar); align-items: center; justify-content: space-between; gap: 22px; padding: 0 clamp(20px, 3vw, 42px); border-bottom: 1px solid var(--sx-border); background: color-mix(in srgb, var(--sx-panel) 92%, transparent); backdrop-filter: blur(16px); }
body.statix-app .v7-topbar-context { display: flex; min-width: 0; align-items: center; gap: 11px; }
body.statix-app .v7-topbar-context > div, body.statix-app .v7-topbar-context > div > div { min-width: 0; }
body.statix-app .v7-topbar-kicker { display: block; color: var(--sx-muted); font-size: 10px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
body.statix-app .v7-topbar-name { display: block; overflow: hidden; color: var(--sx-text); font-size: 14px; font-weight: 670; text-overflow: ellipsis; white-space: nowrap; }
body.statix-app .v7-topbar-guild-icon { width: 34px; height: 34px; flex: 0 0 34px; border-radius: 10px; object-fit: cover; background: var(--sx-panel-3); }
body.statix-app .v7-topbar-tools { display: flex; align-items: center; gap: 9px; }
body.statix-app .v7-icon-button, body.statix-app .sxp-icon-button { display: inline-grid; width: 38px; height: 38px; flex: 0 0 38px; place-items: center; padding: 0; border: 1px solid var(--sx-border); border-radius: 10px; background: var(--sx-panel); color: var(--sx-text); cursor: pointer; }
body.statix-app .v7-icon-button:hover, body.statix-app .sxp-icon-button:hover { border-color: var(--sx-accent); background: var(--sx-accent-soft); }
body.statix-app .user { display: flex; max-width: 190px; align-items: center; gap: 9px; color: var(--sx-text); }
body.statix-app .user-avatar { width: 31px; height: 31px; border-radius: 50%; object-fit: cover; background: var(--sx-panel-3); }
body.statix-app .user-name { overflow: hidden; font-size: 12px; font-weight: 600; text-overflow: ellipsis; white-space: nowrap; }
body.statix-app .content { width: 100%; max-width: 1560px; margin: 0 auto; padding: 28px clamp(20px, 3vw, 42px) 52px; }

body.statix-app .page-header { display: grid; gap: 5px; margin: 0 0 22px; }
body.statix-app .page-eyebrow, body.statix-app .v7-eyebrow, body.statix-app .v7-section-kicker { margin: 0; color: var(--sx-accent); font-size: 10px; font-weight: 750; letter-spacing: .1em; text-transform: uppercase; }
body.statix-app .page-title { margin: 0; font-size: clamp(26px, 3vw, 34px); font-weight: 750; }
body.statix-app .page-description { max-width: 760px; margin: 2px 0 0; color: var(--sx-muted); font-size: 14px; line-height: 1.65; }
body.statix-app .v7-shell, body.statix-app .v8-shell, body.statix-app .module-shell, body.statix-app .v7-center-shell, body.statix-app .shell { width: 100%; max-width: 100%; margin: 0 auto; }
body.statix-app .module-header { margin-bottom: 24px; }
body.statix-app .module-back, body.statix-app .breadcrumb, body.statix-app .back-link { display: inline-flex; width: fit-content; align-items: center; gap: 7px; margin: 0 0 17px; color: var(--sx-muted); font-size: 12px; font-weight: 600; }
body.statix-app .module-back:hover, body.statix-app .breadcrumb:hover, body.statix-app .back-link:hover { color: var(--sx-accent); }

body.statix-app :is(.card, .settings-card, .settings-panel, .v7-card, .v7-section, .v7-hero, .v7-center-hero, .cc-card, .cc-panel, .cc-section, .mc-card, .core-card, .ops-group, .tech-card, .notice-card, .settings-tab, .box, .stat-box, .section-card, .panel, .sxp-section-card) { min-width: 0; border: 1px solid var(--sx-border); border-radius: var(--sx-radius); background: var(--sx-panel); box-shadow: 0 1px 1px rgb(0 0 0 / 3%); color: var(--sx-text); }
body.statix-app :is(.card, .settings-card, .settings-panel, .v7-card, .cc-card, .mc-card, .core-card, .tech-card, .box, .stat-box, .section-card, .panel) { padding: 18px; }
body.statix-app :is(.card, .settings-card, .settings-panel, .v7-card, .cc-card, .mc-card, .core-card, .tech-card, .box, .section-card, .panel):hover { border-color: color-mix(in srgb, var(--sx-accent) 25%, var(--sx-border)); }
body.statix-app :is(.v7-card-pad, .cc-body, .v7-section) { padding: 19px; }
body.statix-app :is(.v7-section-head, .v7-section-header, .settings-card-header, .cc-head, .cc-section-head, .section-header, .card-header, .panel-header) { display: flex; min-width: 0; align-items: flex-start; justify-content: space-between; gap: 14px; margin-bottom: 15px; }
body.statix-app :is(.v7-section-title, .section-title, .box-title, .panel-title, .card-title, .settings-card-title, .cc-name, .status-title) { margin: 0; color: var(--sx-text); font-size: 15px; font-weight: 700; }
body.statix-app :is(.v7-section-copy, .section-desc, .panel-desc, .settings-card-description, .cc-copy, .hint, .help, .desc, .v7-detail-row > span, .compact-copy span) { color: var(--sx-muted); font-size: 12px; line-height: 1.55; }
body.statix-app :is(.v7-grid, .grid, .grid-2, .v7-grid-2, .two, .mini-grid) { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
body.statix-app :is(.v7-stat, .sx-stat, .mc-stat, .mini-stat, .log-stat, .ops-kpi, .v80-app-stat, .v80-mod-kpi) { display: grid; min-width: 0; gap: 4px; padding: 15px 17px; border: 1px solid var(--sx-border); border-radius: 12px; background: var(--sx-panel-2); }
body.statix-app :is(.v7-stat, .sx-stat, .mc-stat, .mini-stat, .log-stat, .ops-kpi, .v80-app-stat, .v80-mod-kpi) :is(span, label, small) { color: var(--sx-muted); font-size: 11px; }
body.statix-app :is(.v7-stat, .sx-stat, .mc-stat, .mini-stat, .log-stat, .ops-kpi, .v80-app-stat, .v80-mod-kpi) strong { color: var(--sx-text); font-size: 21px; font-weight: 740; letter-spacing: -.03em; }
body.statix-app :is(.quick-card, .feature-card, .action-box, .placement-card, .v7-list-row, .v7-detail-row, .standard-row, .compact-setting, .schedule-row, .result-head, .status-box, .action-row) { display: flex; min-width: 0; align-items: center; justify-content: space-between; gap: 12px; padding: 12px 0; border-bottom: 1px solid var(--sx-border); }
body.statix-app :is(.quick-card, .feature-card, .action-box, .placement-card, .v7-list-row, .v7-detail-row, .standard-row, .compact-setting, .schedule-row, .result-head, .status-box, .action-row):last-child { border-bottom: 0; }
body.statix-app .v7-detail-row { min-height: 42px; }
body.statix-app .v7-detail-row strong { color: var(--sx-text); font-size: 13px; font-weight: 620; text-align: right; }

body.statix-app .btn, body.statix-app button.btn, body.statix-app a.btn { display: inline-flex; min-height: 38px; align-items: center; justify-content: center; gap: 8px; padding: 0 14px; border: 1px solid var(--sx-border); border-radius: 9px; background: var(--sx-panel-2); color: var(--sx-text); font-size: 12px; font-weight: 650; line-height: 1.2; cursor: pointer; transition: background .14s ease, border-color .14s ease, transform .14s ease; }
body.statix-app .btn:hover { border-color: color-mix(in srgb, var(--sx-accent) 45%, var(--sx-border)); background: var(--sx-panel-3); color: var(--sx-text); }
body.statix-app .btn:active { transform: translateY(1px); }
body.statix-app .btn-primary, body.statix-app .btn.btn-primary, body.statix-app .btn-admin.primary { border-color: var(--sx-accent-strong); background: var(--sx-accent-strong); color: #fff; }
body.statix-app .btn-primary:hover, body.statix-app .btn.btn-primary:hover, body.statix-app .btn-admin.primary:hover { border-color: var(--sx-accent); background: var(--sx-accent); color: #fff; }
body.statix-app .btn-danger { border-color: color-mix(in srgb, var(--sx-bad) 35%, var(--sx-border)); background: color-mix(in srgb, var(--sx-bad) 9%, var(--sx-panel)); color: var(--sx-bad); }
body.statix-app :is(.actions, .form-actions, .form-footer, .dialog-actions, .action-row) { display: flex; flex-wrap: wrap; align-items: center; gap: 9px; }
body.statix-app :is(.actions, .form-actions, .form-footer, .dialog-actions) { margin-top: 16px; }
body.statix-app button:disabled, body.statix-app .btn.is-disabled { cursor: not-allowed; opacity: .52; }

body.statix-app :is(.field, .cc-field, .request-field, .form-group, .v72-field) { display: grid; min-width: 0; gap: 7px; margin-bottom: 14px; }
body.statix-app :is(.field, .cc-field, .request-field, .form-group, .v72-field) > label, body.statix-app .field-label { color: var(--sx-text); font-size: 12px; font-weight: 650; }
body.statix-app input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="file"]), body.statix-app select, body.statix-app textarea { width: 100%; min-width: 0; min-height: 40px; padding: 9px 11px; border: 1px solid var(--sx-border); border-radius: 9px; background: var(--sx-panel-2); color: var(--sx-text); font-size: 13px; line-height: 1.45; }
body.statix-app textarea { min-height: 104px; resize: vertical; }
body.statix-app input::placeholder, body.statix-app textarea::placeholder { color: var(--sx-muted); opacity: .76; }
body.statix-app input:focus, body.statix-app select:focus, body.statix-app textarea:focus { border-color: var(--sx-accent); outline: 2px solid color-mix(in srgb, var(--sx-accent) 20%, transparent); outline-offset: 0; }
body.statix-app input[type="checkbox"], body.statix-app input[type="radio"] { width: 16px; height: 16px; min-height: 0; flex: 0 0 16px; margin: 0; accent-color: var(--sx-accent-strong); }
body.statix-app input[type="range"] { width: 100%; min-height: 0; padding: 0; accent-color: var(--sx-accent-strong); }
body.statix-app input[type="file"] { max-width: 100%; color: var(--sx-muted); font-size: 12px; }
body.statix-app :is(.hint, .help, .field-hint, .settings-card-description) { margin: 0; color: var(--sx-muted); font-size: 11px; line-height: 1.5; }
body.statix-app :is(.check, .simple-check, .role-option, .channel-option, .entity-source-row, .sxp-agreement-check) { display: flex; min-width: 0; align-items: flex-start; gap: 9px; color: var(--sx-text); font-size: 12px; line-height: 1.5; }
body.statix-app :is(.switch-row, .cc-toggle, .compact-setting) { display: flex; min-width: 0; align-items: center; justify-content: space-between; gap: 16px; padding: 13px 0; border-bottom: 1px solid var(--sx-border); }
body.statix-app .switch-copy { display: grid; min-width: 0; gap: 3px; }
body.statix-app .switch-copy strong, body.statix-app .compact-copy strong { color: var(--sx-text); font-size: 12px; font-weight: 660; }
body.statix-app .switch-copy span, body.statix-app .compact-copy span { display: block; color: var(--sx-muted); font-size: 11px; }
body.statix-app .toggle { position: relative; display: inline-flex; width: 38px; height: 22px; flex: 0 0 38px; align-items: center; border: 1px solid var(--sx-border); border-radius: 99px; background: var(--sx-panel-3); cursor: pointer; }
body.statix-app .toggle input { position: absolute; width: 1px; height: 1px; opacity: 0; }
body.statix-app .toggle-ui { width: 16px; height: 16px; margin-left: 2px; border-radius: 50%; background: var(--sx-muted); transition: transform .16s ease, background .16s ease; }
body.statix-app .toggle:has(input:checked) { border-color: var(--sx-accent-strong); background: var(--sx-accent-strong); }
body.statix-app .toggle:has(input:checked) .toggle-ui { transform: translateX(16px); background: #fff; }
body.statix-app .toggle:focus-within { outline: 2px solid var(--sx-accent); outline-offset: 2px; }
body.statix-app .entity-native-hidden, body.statix-app .entity-source-list { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; overflow: hidden !important; clip: rect(0, 0, 0, 0) !important; white-space: nowrap !important; }
body.statix-app .entity-menu-trigger { display: flex; width: 100%; min-height: 48px; align-items: center; justify-content: space-between; gap: 12px; padding: 9px 12px; border: 1px solid var(--sx-border); border-radius: 9px; background: var(--sx-panel-2); color: var(--sx-text); text-align: left; cursor: pointer; }
body.statix-app .entity-menu-trigger-copy { display: grid; gap: 2px; }
body.statix-app .entity-menu-trigger-copy strong { font-size: 12px; font-weight: 630; }
body.statix-app .entity-menu-trigger-copy small { color: var(--sx-muted); font-size: 11px; }
body.statix-app .entity-menu-chevron { color: var(--sx-muted); font-size: 18px; }
body.statix-app .entity-menu-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; }
body.statix-app .entity-modal-backdrop { position: fixed; z-index: 120; inset: 0; display: grid; place-items: center; padding: 18px; background: rgb(4 4 10 / 68%); backdrop-filter: blur(5px); }
body.statix-app .entity-modal { width: min(560px, 100%); max-height: min(680px, 84dvh); overflow: hidden; border: 1px solid var(--sx-border); border-radius: 15px; background: var(--sx-panel); box-shadow: var(--sx-shadow); }
body.statix-app .entity-modal-list { max-height: 48dvh; overflow: auto; }
body.statix-app .entity-modal-option { display: flex; width: 100%; min-height: 48px; align-items: center; gap: 10px; padding: 8px 12px; border: 0; border-bottom: 1px solid var(--sx-border); background: transparent; color: var(--sx-text); text-align: left; }
body.statix-app .entity-modal-option:hover, body.statix-app .entity-modal-option.selected { background: var(--sx-accent-soft); }
body.statix-app .entity-option-copy { display: grid; min-width: 0; flex: 1; }
body.statix-app .entity-option-copy small { color: var(--sx-muted); }

body.statix-app :is(.badge, .pill, .chip, .v7-badge, .mc-badge, .mc-badge, .filter-chip, .status, .status-pill, .v80-capability-chip) { display: inline-flex; min-height: 23px; align-items: center; gap: 5px; padding: 3px 8px; border: 1px solid var(--sx-border); border-radius: 999px; background: var(--sx-panel-2); color: var(--sx-muted); font-size: 10px; font-weight: 650; line-height: 1.2; }
body.statix-app :is(.good, .ok, .success, .badge.good, .v7-badge.good) { border-color: color-mix(in srgb, var(--sx-good) 25%, var(--sx-border)); background: color-mix(in srgb, var(--sx-good) 10%, var(--sx-panel)); color: var(--sx-good); }
body.statix-app :is(.warn, .warning, .badge.warn, .v7-badge.warn) { border-color: color-mix(in srgb, var(--sx-warn) 28%, var(--sx-border)); background: color-mix(in srgb, var(--sx-warn) 10%, var(--sx-panel)); color: var(--sx-warn); }
body.statix-app :is(.bad, .danger, .error, .badge.bad, .v7-badge.bad) { border-color: color-mix(in srgb, var(--sx-bad) 28%, var(--sx-border)); background: color-mix(in srgb, var(--sx-bad) 10%, var(--sx-panel)); color: var(--sx-bad); }
body.statix-app :is(.accent, .badge.accent, .v7-badge.accent, .chip.accent) { border-color: color-mix(in srgb, var(--sx-accent) 26%, var(--sx-border)); background: var(--sx-accent-soft); color: var(--sx-accent); }
body.statix-app :is(.notice, .notice-warning, .v7-inline-alert, .result, .v7-inline-result, .info, .error-box, .success-box, .alert, .message) { padding: 11px 13px; border: 1px solid var(--sx-border); border-radius: 10px; background: var(--sx-panel-2); color: var(--sx-text); font-size: 12px; line-height: 1.55; }
body.statix-app :is(.notice, .notice-warning, .v7-inline-alert, .result, .v7-inline-result, .info, .error-box, .success-box, .alert, .message) :is(p, strong) { color: inherit; }
body.statix-app .saved-message { margin: 10px 0; padding: 9px 12px; border: 1px solid color-mix(in srgb, var(--sx-good) 28%, var(--sx-border)); border-radius: 9px; background: color-mix(in srgb, var(--sx-good) 9%, var(--sx-panel)); color: var(--sx-good); font-size: 12px; }
body.statix-app .v7-empty-state, body.statix-app .sxp-empty { display: grid; min-height: 144px; place-items: center; padding: 24px; border: 1px dashed var(--sx-border); border-radius: var(--sx-radius); background: var(--sx-panel-2); text-align: center; }
body.statix-app :is(.v7-empty-state, .sxp-empty) :is(strong, h2) { display: block; color: var(--sx-text); font-size: 14px; }
body.statix-app :is(.v7-empty-state, .sxp-empty) span { display: block; margin-top: 5px; color: var(--sx-muted); font-size: 12px; }
/* The module filter owns this empty state; it must stay hidden until zero cards match. */
body.statix-app #moduleEmpty { display: none; }
body.statix-app #moduleEmpty.show { display: grid; min-height: 120px; place-items: center; margin: 10px 0; padding: 22px; border: 1px dashed var(--sx-border); border-radius: var(--sx-radius); background: var(--sx-panel-2); color: var(--sx-muted); text-align: center; }
body.statix-app .modules-wrap details > summary { list-style: none; cursor: pointer; }
body.statix-app .modules-wrap details > summary::marker { content: ""; }
body.statix-app .modules-wrap details > summary::-webkit-details-marker { display: none; }
body.statix-app .v7-empty-icon { margin-bottom: 9px; color: var(--sx-accent); font-size: 21px; }
body.statix-app .v7-status-dot, body.statix-app .sxp-status-dot, body.statix-app .status-dot, body.statix-app .sx-status-dot { display: inline-block; width: 8px; height: 8px; flex: 0 0 8px; border-radius: 50%; background: var(--sx-muted); }
body.statix-app .v7-status-dot.good, body.statix-app .sxp-status-dot-good { background: var(--sx-good); }
body.statix-app .v7-status-dot.warn, body.statix-app .sxp-status-dot-warn { background: var(--sx-warn); }
body.statix-app .v7-status-dot.bad, body.statix-app .sxp-status-dot-bad { background: var(--sx-bad); }

body.statix-app .table-wrap, body.statix-app .table-scroll, body.statix-app .table-wrap, body.statix-app .statix-scroll-x { width: 100%; max-width: 100%; overflow-x: auto; border: 1px solid var(--sx-border); border-radius: 11px; }
body.statix-app table { width: 100%; border-collapse: collapse; color: var(--sx-text); font-size: 12px; }
body.statix-app th { padding: 10px 12px; border-bottom: 1px solid var(--sx-border); background: var(--sx-panel-2); color: var(--sx-muted); font-size: 10px; font-weight: 750; letter-spacing: .04em; text-align: left; text-transform: uppercase; }
body.statix-app td { min-width: 80px; padding: 11px 12px; border-bottom: 1px solid var(--sx-border); vertical-align: middle; }
body.statix-app tbody tr:last-child td { border-bottom: 0; }
body.statix-app tbody tr:hover { background: color-mix(in srgb, var(--sx-accent-soft) 55%, transparent); }

body.statix-app .tabs, body.statix-app .settings-tabs, body.statix-app .v80-section-tabs, body.statix-app .protect-tabs { display: flex; flex-wrap: wrap; gap: 5px; margin: 0 0 17px; padding: 4px; border: 1px solid var(--sx-border); border-radius: 11px; background: var(--sx-panel); }
body.statix-app :is(.tab, .settings-tab, .settings-tab-button, .protect-tab) { min-height: 34px; padding: 7px 11px; border: 1px solid transparent; border-radius: 8px; background: transparent; color: var(--sx-muted); font-size: 11px; font-weight: 600; cursor: pointer; }
body.statix-app :is(.tab, .settings-tab, .settings-tab-button, .protect-tab):hover { color: var(--sx-text); }
body.statix-app :is(.tab.active, .settings-tab.active, .settings-tab-button.active, .protect-tab.active) { border-color: var(--sx-border); background: var(--sx-panel-2); color: var(--sx-text); }

body.statix-app .modal-bg, body.statix-app .modal-backdrop, body.statix-app .dialog { position: fixed; z-index: 110; inset: 0; display: grid; place-items: center; padding: 20px; background: rgb(4 4 10 / 68%); backdrop-filter: blur(5px); }
body.statix-app :is(.modal, .modal-inner, .dialog-inner) { width: min(620px, 100%); max-height: 88dvh; overflow: auto; padding: 20px; border: 1px solid var(--sx-border); border-radius: 15px; background: var(--sx-panel); box-shadow: var(--sx-shadow); color: var(--sx-text); }
body.statix-app .autosave-bar, body.statix-app .savebar { display: flex; align-items: center; gap: 8px; color: var(--sx-muted); font-size: 11px; }
body.statix-app .autosave-dot { width: 7px; height: 7px; border-radius: 50%; background: var(--sx-good); }
body.statix-app .statix-connection-banner { position: fixed; z-index: 140; right: 18px; bottom: 18px; max-width: min(390px, calc(100vw - 36px)); padding: 11px 14px; transform: translateY(20px); border: 1px solid var(--sx-border); border-radius: 11px; background: var(--sx-panel); box-shadow: var(--sx-shadow); color: var(--sx-text); opacity: 0; pointer-events: none; transition: .18s ease; }
body.statix-app .statix-connection-banner.statix-show { transform: none; opacity: 1; }
body.statix-app .statix-runtime-banner { display: flex; align-items: flex-start; justify-content: space-between; gap: 10px; margin-bottom: 17px; padding: 13px 15px; border: 1px solid color-mix(in srgb, var(--sx-warn) 35%, var(--sx-border)); border-radius: 11px; background: color-mix(in srgb, var(--sx-warn) 8%, var(--sx-panel)); }
body.statix-app .statix-runtime-banner-copy { display: grid; gap: 3px; }
body.statix-app .statix-runtime-banner-close { border: 0; background: transparent; color: var(--sx-muted); cursor: pointer; }

body.statix-app .module-shell { max-width: 1240px; }
body.statix-app .module-header { padding-bottom: 18px; border-bottom: 1px solid var(--sx-border); }
body.statix-app .v80-selected-member, body.statix-app .v80-selected-member[hidden] { display: flex; }
body.statix-app .v80-selected-member[hidden] { display: none; }
body.statix-app .role-dot, body.statix-app .entity-role-dot { display: inline-block; width: 10px; height: 10px; flex: 0 0 10px; border: 1px solid rgb(0 0 0 / 14%); border-radius: 50%; }
body.statix-app .v72-server-grid, body.statix-app .v7-responder-grid, body.statix-app .v80-app-grid, body.statix-app .preset-grid, body.statix-app .adv-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 265px), 1fr)); gap: 14px; }
body.statix-app .v72-server-card, body.statix-app .v80-app-card, body.statix-app .preset-card, body.statix-app .adv-card, body.statix-app .result-list, body.statix-app .application-card { min-width: 0; padding: 16px; border: 1px solid var(--sx-border); border-radius: 13px; background: var(--sx-panel); color: var(--sx-text); }
body.statix-app .v72-server-card { display: grid; gap: 11px; }
body.statix-app .v72-server-top, body.statix-app .v72-card-actions { display: flex; min-width: 0; align-items: center; gap: 10px; }
body.statix-app .v72-server-icon { width: 40px; height: 40px; flex: 0 0 40px; border-radius: 11px; object-fit: cover; background: var(--sx-panel-3); }
body.statix-app .v72-server-name { overflow: hidden; color: var(--sx-text); font-size: 14px; font-weight: 670; text-overflow: ellipsis; white-space: nowrap; }
body.statix-app .v72-server-id, body.statix-app .v72-server-meta { color: var(--sx-muted); font-size: 11px; }
body.statix-app .v72-server-meta { display: flex; justify-content: space-between; gap: 10px; }
body.statix-app .v72-server-meta strong { margin-left: 5px; color: var(--sx-text); }
body.statix-app .v72-card-actions { flex-wrap: wrap; }
body.statix-app .v72-card-actions .btn { flex: 1; }
body.statix-app .module-filter, body.statix-app .filter-chip, body.statix-app .filter-button { min-height: 33px; padding: 0 10px; border: 1px solid var(--sx-border); border-radius: 8px; background: var(--sx-panel-2); color: var(--sx-muted); font-size: 11px; }
body.statix-app .module-filter.active, body.statix-app .filter-chip.active, body.statix-app .filter-button.active { border-color: var(--sx-accent-strong); background: var(--sx-accent-strong); color: #fff; }
body.statix-app .section, body.statix-app .settings-card, body.statix-app .mc-card, body.statix-app .cc-card { margin-bottom: 14px; }
body.statix-app .section > :last-child, body.statix-app .settings-card > :last-child, body.statix-app .mc-card > :last-child { margin-bottom: 0; }
body.statix-app .command-divider { height: 1px; margin: 14px 0; background: var(--sx-border); }
body.statix-app .module-search, body.statix-app .search { max-width: 390px; }
body.statix-app .quick-card:hover, body.statix-app .feature-card:hover { color: var(--sx-accent); }
body.statix-app .v80-role-chip, body.statix-app .role-chip { display: inline-flex; align-items: center; gap: 6px; padding: 4px 8px; border: 1px solid var(--sx-border); border-radius: 999px; background: var(--sx-panel-2); color: var(--sx-text); font-size: 10px; }

body.statix-app.sxp-public { min-height: 100vh; }
body.statix-app .sxp-public-header, body.statix-app .sxp-maintenance-header { display: flex; min-height: 72px; align-items: center; justify-content: space-between; gap: 18px; padding: 12px clamp(18px, 5vw, 76px); border-bottom: 1px solid var(--sx-border); background: var(--sx-panel); }
body.statix-app .sxp-brand, body.statix-app .sxp-footer-brand { display: inline-flex; align-items: center; gap: 9px; color: var(--sx-text); font-size: 16px; font-weight: 780; letter-spacing: .07em; }
body.statix-app .sxp-brand img { width: 34px; height: 34px; object-fit: contain; }
body.statix-app .sxp-brand small, body.statix-app .sxp-footer-brand small { color: var(--sx-muted); font-size: 9px; letter-spacing: 0; }
body.statix-app .sxp-public-links, body.statix-app .sxp-public-actions { display: flex; align-items: center; gap: 16px; }
body.statix-app .sxp-public-links a { color: var(--sx-muted); font-size: 12px; font-weight: 560; }
body.statix-app .sxp-public-links a:hover { color: var(--sx-text); }
body.statix-app .sxp-public-actions .btn { white-space: nowrap; }
body.statix-app .sxp-public-user { display: inline-flex; max-width: 160px; align-items: center; gap: 7px; overflow: hidden; color: var(--sx-text); font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }
body.statix-app .sxp-public-user img { width: 28px; height: 28px; border-radius: 50%; object-fit: cover; }
body.statix-app .sxp-public-main { min-height: calc(100vh - 155px); }
body.statix-app .sxp-public-footer { display: flex; align-items: flex-start; justify-content: space-between; gap: 25px; padding: 28px clamp(18px, 5vw, 76px); border-top: 1px solid var(--sx-border); background: var(--sx-panel); }
body.statix-app .sxp-public-footer p { margin: 6px 0 0; color: var(--sx-muted); font-size: 11px; }
body.statix-app .sxp-public-footer nav { display: flex; flex-wrap: wrap; gap: 14px; }
body.statix-app .sxp-public-footer nav a { color: var(--sx-muted); font-size: 11px; }
body.statix-app .sxp-maintenance-header { border: 0; background: transparent; }
body.statix-app .sxp-maintenance-shell { display: grid; width: min(1110px, calc(100% - 36px)); min-height: calc(100vh - 145px); grid-template-columns: 1.08fr .92fr; align-items: center; gap: clamp(28px, 6vw, 78px); margin: auto; padding: 35px 0 62px; }
body.statix-app .sxp-maintenance-copy h1 { margin: 7px 0 12px; font-size: clamp(29px, 4vw, 43px); }
body.statix-app .sxp-maintenance-copy > p { max-width: 570px; color: var(--sx-muted); font-size: 15px; }
body.statix-app .sxp-maintenance-live { margin-top: 24px; padding: 17px; border: 1px solid var(--sx-border); border-radius: 13px; background: var(--sx-panel); }
body.statix-app .sxp-maintenance-live-head, body.statix-app .sxp-maintenance-live-head > div { display: flex; align-items: center; gap: 8px; }
body.statix-app .sxp-maintenance-live-head { justify-content: space-between; gap: 12px; }
body.statix-app .sxp-maintenance-live-head > span { color: var(--sx-muted); font-size: 10px; }
body.statix-app .sxp-maintenance-steps { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; margin-top: 19px; }
body.statix-app .sxp-maintenance-steps .step { display: grid; gap: 7px; padding-top: 10px; border-top: 2px solid var(--sx-border); color: var(--sx-muted); font-size: 10px; }
body.statix-app .sxp-maintenance-steps .step.active { border-color: var(--sx-accent); color: var(--sx-text); }
body.statix-app .sxp-maintenance-steps .step span { color: var(--sx-muted); font-size: 9px; }
body.statix-app .sxp-maintenance-foot { display: flex; justify-content: space-between; gap: 10px; margin-top: 15px; color: var(--sx-muted); font-size: 10px; }
body.statix-app .sxp-owner-access { color: var(--sx-muted); }
body.statix-app .sxp-maintenance-visual { position: relative; min-height: 360px; overflow: hidden; border: 1px solid var(--sx-border); border-radius: 18px; background: var(--sx-panel-2); }
body.statix-app .sxp-maintenance-visual img { width: 100%; height: 100%; position: absolute; inset: 0; object-fit: cover; }
body.statix-app .sxp-maintenance-visual > div { position: absolute; inset: auto 0 0; padding: 38px 24px 23px; background: linear-gradient(transparent, rgb(9 8 18 / 80%)); color: #fff; }
body.statix-app .sxp-maintenance-visual > div span { font-size: 12px; font-weight: 760; letter-spacing: .14em; }
body.statix-app .sxp-maintenance-visual > div p { margin: 5px 0 0; color: rgb(255 255 255 / 78%); }

@media (max-width: 1000px) {
  body.statix-app :is(.v7-grid, .grid, .grid-2, .v7-grid-2, .two, .mini-grid) { gap: 11px; }
}
@media (max-width: 900px) {
  body.statix-app .sidebar { z-index: 80; width: min(290px, calc(100vw - 50px)); transform: translateX(-102%); transition: transform .19s ease; box-shadow: var(--sx-shadow); }
  body.statix-app .sidebar.open, body.statix-app .sidebar.is-open { transform: translateX(0); }
  body.statix-app .main { margin-left: 0; }
  body.statix-app .mobile-nav-toggle { display: inline-grid; width: 36px; height: 36px; place-items: center; border: 1px solid var(--sx-border); border-radius: 9px; background: var(--sx-panel-2); color: var(--sx-text); cursor: pointer; }
  body.statix-app .mobile-sidebar-overlay { position: fixed; z-index: 70; inset: 0; display: block; border: 0; background: rgb(3 3 10 / 58%); opacity: 0; pointer-events: none; transition: opacity .19s ease; }
  body.statix-app .mobile-sidebar-overlay.open, body.statix-app .mobile-sidebar-overlay.is-open { opacity: 1; pointer-events: auto; }
  body.statix-app.statix-nav-open { overflow: hidden; }
  body.statix-app .content { padding-top: 24px; }
}
@media (max-width: 680px) {
  body.statix-app .topbar { min-height: 64px; gap: 9px; padding: 0 15px; }
  body.statix-app .content { padding: 20px 15px 36px; }
  body.statix-app .page-title { font-size: 27px; }
  body.statix-app :is(.v7-grid, .grid, .grid-2, .v7-grid-2, .two, .mini-grid) { grid-template-columns: minmax(0, 1fr); }
  body.statix-app .v7-topbar-kicker { display: none; }
  body.statix-app .v7-topbar-name { max-width: 44vw; font-size: 12px; }
  body.statix-app .user-name { display: none; }
  body.statix-app .v7-topbar-tools { gap: 6px; }
  body.statix-app .sxp-public-header { flex-wrap: wrap; padding: 12px 16px; }
  body.statix-app .sxp-public-links { width: 100%; order: 3; gap: 13px; overflow: auto; padding-top: 4px; }
  body.statix-app .sxp-public-actions { margin-left: auto; gap: 8px; }
  body.statix-app .sxp-public-actions .btn { min-height: 34px; padding: 0 10px; font-size: 10px; }
  body.statix-app .sxp-public-footer { flex-direction: column; padding: 23px 16px; }
  body.statix-app .sxp-maintenance-shell { grid-template-columns: 1fr; gap: 18px; }
  body.statix-app .sxp-maintenance-visual { min-height: 230px; }
  body.statix-app .sxp-maintenance-steps { gap: 5px; }
  body.statix-app .sxp-maintenance-steps .step { font-size: 9px; }
  body.statix-app :is(.v7-card-pad, .cc-body, .v7-section) { padding: 14px; }
  body.statix-app :is(.card, .settings-card, .settings-panel, .v7-card, .cc-card, .mc-card, .core-card, .tech-card, .box, .section-card, .panel) { padding: 14px; }
  body.statix-app :is(.switch-row, .cc-toggle, .compact-setting, .v7-detail-row) { gap: 10px; }
  body.statix-app .entity-modal-backdrop { padding: 10px; }
  body.statix-app .entity-modal { max-height: 90dvh; }
}
@media (prefers-reduced-motion: reduce) {
  body.statix-app *, body.statix-app *::before, body.statix-app *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; }
}
