/* Critical CSS - загружается инлайн для быстрого рендера */
/* Operator Shell FOUC prevention */
/*
    P0: Role gating MUST be in critical CSS.
    Otherwise finance/write-only blocks can appear briefly before operator_ui.css loads,
    causing sidebar layout shift (FOUC / CLS).
*/
html[data-op-role] [data-op-admin-only="1"] { display: none !important; }
html[data-op-role="admin"] [data-op-admin-only="1"],
html[data-op-role="superadmin"] [data-op-admin-only="1"] { display: revert !important; }

html[data-op-role] [data-op-finance-only="1"] { display: none !important; }
html[data-op-role="superadmin"] [data-op-finance-only="1"],
html[data-op-role="accountant"] [data-op-finance-only="1"],
html[data-op-role="finance"] [data-op-finance-only="1"],
html[data-op-role="finance_ro"] [data-op-finance-only="1"] { display: revert !important; }

html[data-op-role="support_ro"] [data-op-write-only="1"],
html[data-op-role="finance"] [data-op-write-only="1"],
html[data-op-role="finance_ro"] [data-op-write-only="1"],
html[data-op-role="read_only"] [data-op-write-only="1"] { display: none !important; }

/* V56: Horizontal overflow guards for parser page */
.cp-operator[data-page="operator-parser-unified"] {
  overflow-x: hidden !important;
  overflow-y: auto !important;
  max-width: 100vw !important;
}

.cp-operator[data-page="operator-parser-unified"] .cp-container {
  max-width: 100% !important;
  overflow-x: hidden !important;
  box-sizing: border-box !important;
}

.cp-operator[data-page="operator-parser-unified"] .cp-parser-stepper {
  overflow-x: auto !important;
  scrollbar-width: none !important;
  -ms-overflow-style: none !important;
}

.cp-operator[data-page="operator-parser-unified"] .cp-parser-stepper::-webkit-scrollbar {
  display: none !important;
}

.cp-operator[data-page="operator-parser-unified"] [data-block="v56-unified-status-header"] {
  overflow-x: hidden !important;
  flex-wrap: wrap !important;
}

.cp-operator[data-page="operator-parser-unified"] img,
.cp-operator[data-page="operator-parser-unified"] svg,
.cp-operator[data-page="operator-parser-unified"] iframe {
  max-width: 100% !important;
  height: auto !important;
}

.cp-operator[data-page="operator-parser-unified"] pre {
  white-space: pre-wrap !important;
  word-wrap: break-word !important;
  max-width: 100% !important;
  overflow-x: auto !important;
}

.cp-operator[data-page="operator-parser-unified"] table {
  max-width: 100% !important;
  overflow-x: auto !important;
  display: block !important;
}


/* Базовые переменные для предотвращения FOUC */
:root {
    color-scheme: dark;
    --bg-main: #06060b;
    --bg-surface: #0c0c14;
    --bg-card: #0c0c14;
    --border-subtle: rgba(255,255,255,0.06);
    --accent: #6c5ce7;
    --text-main: #e8e8ef;
    --text-muted: #6a6a80;
}

* {
    box-sizing: border-box;
}

body {
    margin: 0;
    font-family: 'Inter', system-ui, -apple-system, BlinkMacSystemFont, sans-serif;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    background: var(--bg-main);
    color: var(--text-main);
    /* V49: Prevent horizontal overflow */
    overflow-x: hidden !important;
    max-width: 100vw !important;
}

/* V49: Prevent horizontal overflow at root level */
html {
    overflow-x: hidden !important;
    max-width: 100vw !important;

