/* Big Beam PMS — design tokens and base styles (same system as the Al-Serehi / Kinetic CMS).
   Light is the default; data-theme="dark" on <html> switches to dark. Brand colours
   (navigation, primary buttons, accents) are filled in per company by applyBrandTokens()
   in core.jsx from api/brand.php, so each company keeps its own colours. */
:root,[data-theme="light"]{
  --font-sans:"Inter",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --font-arabic:"Cairo","Segoe UI",Tahoma,sans-serif;
  --font-mono:"JetBrains Mono",ui-monospace,"SF Mono",Menlo,monospace;
  --radius-sm:4px;--radius-md:6px;--radius-lg:8px;--radius-xl:12px;--radius-full:999px;
  --control-sm:32px;--control-md:40px;--control-lg:48px;--row-h:44px;--topbar-h:56px;--sidebar-w:248px;--sidebar-w-collapsed:64px;
  --ease:cubic-bezier(.2,0,0,1);--dur-fast:120ms;--dur-base:200ms;
  --bg-page:#F4F6F8;--bg-surface:#FFFFFF;--bg-subtle:#F8FAFB;--bg-sunken:#ECEFF3;--bg-hover:#EFF3F7;--bg-selected:#E6EDF4;--bg-overlay:rgba(10,20,32,.48);
  --border:#D5DCE3;--border-subtle:#E6EBF0;--border-strong:#AAB6C2;
  --text-primary:#111C27;--text-secondary:#3A4856;--text-muted:#68737E;--text-disabled:#A3ABB3;--text-on-brand:#FFFFFF;
  --action-danger:#B42318;--action-danger-hover:#912018;--action-danger-fg:#FFFFFF;
  --st-draft-bg:#EEF0F2;--st-draft-fg:#48515A;--st-pending-bg:#FDF1D6;--st-pending-fg:#8A5300;
  --st-partial-bg:#EEEAFB;--st-partial-fg:#4F35A1;--st-invoiced-bg:#E1F2E8;--st-invoiced-fg:#1B6B41;
  --st-cancelled-bg:#FCE9E8;--st-cancelled-fg:#A3261B;
  --success:#1B7A48;--success-subtle:#E1F2E8;--warning:#9A5800;--warning-subtle:#FDF1D6;--danger:#B42318;--danger-subtle:#FCE9E8;
  --chart-grid:#E7EAEE;--chart-axis:#68737E;
  --shadow-xs:0 1px 2px rgba(16,28,39,.06);--shadow-sm:0 1px 3px rgba(16,28,39,.08),0 1px 2px rgba(16,28,39,.04);
  --shadow-md:0 8px 24px rgba(16,28,39,.12),0 2px 6px rgba(16,28,39,.06);--shadow-lg:0 20px 48px rgba(16,28,39,.18),0 4px 12px rgba(16,28,39,.08);
  --focus-shadow:0 0 0 2px var(--bg-surface),0 0 0 4px var(--focus-ring);
}
[data-theme="dark"]{
  color-scheme:dark;
  --bg-page:#0B1117;--bg-surface:#111A22;--bg-subtle:#151F28;--bg-sunken:#080D12;--bg-hover:#1A2530;--bg-selected:#1C2C3A;--bg-overlay:rgba(0,0,0,.6);
  --border:#2A3846;--border-subtle:#1D2833;--border-strong:#425566;
  --text-primary:#EEF2F5;--text-secondary:#C2CDD6;--text-muted:#8E9DAA;--text-disabled:#566573;
  --action-danger:#EF6F63;--action-danger-hover:#F38A80;--action-danger-fg:#111A22;
  --st-draft-bg:#26343F;--st-draft-fg:#C3CDD6;--st-pending-bg:#3A2E14;--st-pending-fg:#F2C46B;
  --st-partial-bg:#2D2750;--st-partial-fg:#BDB0F5;--st-invoiced-bg:#173A2A;--st-invoiced-fg:#7FD3A5;
  --st-cancelled-bg:#43201E;--st-cancelled-fg:#F4A29A;
  --success:#5CC98F;--success-subtle:#173A2A;--warning:#F2B45A;--warning-subtle:#3A2E14;--danger:#F28B82;--danger-subtle:#43201E;
  --chart-grid:#1D2833;--chart-axis:#8E9DAA;
  --shadow-xs:0 1px 2px rgba(0,0,0,.3);--shadow-sm:0 1px 3px rgba(0,0,0,.35);--shadow-md:0 8px 24px rgba(0,0,0,.45);--shadow-lg:0 20px 48px rgba(0,0,0,.55);
}
*{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%}
body{font-family:var(--font-sans);font-size:14px;line-height:1.5;background:var(--bg-page);color:var(--text-primary);-webkit-font-smoothing:antialiased}
html[lang="ar"] body{font-family:var(--font-arabic)}
[dir="rtl"] .rtl-flip{transform:scaleX(-1)}
a{color:var(--text-link)}
::placeholder{color:var(--text-disabled)}
input,select,textarea,button{font-family:inherit}
input,select,textarea{color-scheme:inherit;transition:border-color var(--dur-fast) var(--ease),box-shadow var(--dur-fast) var(--ease)}
input:focus,select:focus,textarea:focus{border-color:var(--focus-ring)!important;box-shadow:0 0 0 3px color-mix(in srgb,var(--focus-ring) 22%,transparent)}
button:focus-visible,a:focus-visible,[role="button"]:focus-visible{outline:none;box-shadow:var(--focus-shadow)}
button{transition:background-color var(--dur-fast) var(--ease),border-color var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease),filter var(--dur-fast) var(--ease)}
button:not(:disabled):hover{filter:brightness(.96)}
html[data-theme="dark"] button:not(:disabled):hover{filter:brightness(1.12)}
#erp-content tbody tr{transition:background-color var(--dur-fast) var(--ease)}
#erp-content tbody tr:hover{background:var(--bg-hover)!important}
.erp-nav-link:not([aria-current]):hover{background:var(--nav-hover)!important;color:var(--nav-active-fg)!important;filter:none}
.erp-nav-group:hover{color:var(--nav-fg)!important;filter:none}
.erp-nav-scroll{scrollbar-width:thin;scrollbar-color:var(--nav-border) transparent}
.kes-menu-row:hover{background:var(--bg-hover)!important;filter:none}
.kes-icon-btn:hover{background:var(--bg-hover)!important;color:var(--text-primary)!important;filter:none}
.kes-btn-ghost:not(:disabled):hover,.kes-btn-subtle:not(:disabled):hover{background:var(--bg-hover)!important;filter:none}
.kes-btn-secondary:not(:disabled):hover{background:var(--action-secondary-hover)!important;filter:none}
.kes-btn-primary:not(:disabled):hover{background:var(--action-primary-hover)!important;border-color:var(--action-primary-hover)!important;filter:none}
.kes-btn-danger:not(:disabled):hover{background:var(--action-danger-hover)!important;filter:none}
.kes-tab:hover{color:var(--text-primary)!important}
.kes-tabs::-webkit-scrollbar{display:none}
.kes-th:hover .kes-sort-idle{color:var(--text-muted)!important}
.erp-search-trigger:hover{border-color:var(--border-strong)!important;filter:none}
.kes-kbd{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 5px;border-radius:4px;border:1px solid var(--border);background:var(--bg-surface);color:var(--text-muted);font-size:11px;font-family:var(--font-sans)}
.kes-input:hover:not(:disabled):not(:focus),.kes-select:hover:not(:disabled):not(:focus){border-color:var(--border-strong)!important}
.num{font-variant-numeric:tabular-nums}
::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:999px}::-webkit-scrollbar-track{background:transparent}
@keyframes spin{to{transform:rotate(360deg)}}
#erp-content{overflow:auto;overscroll-behavior:contain;scrollbar-gutter:stable}
.kes-page-body{padding:16px 32px 32px}
/* Page headings inside module pages: shown as the page title under the breadcrumb */
.kes-page-body > div > div:first-child > h2:first-child{font-size:22px!important;line-height:30px;font-weight:600!important;letter-spacing:-0.01em;color:var(--text-primary)!important}
@media(max-width:899px){
  .erp-sidebar{position:fixed!important;left:0;top:0;width:min(86vw,280px)!important;box-shadow:var(--shadow-lg)}
  .erp-sidebar.closed{transform:translateX(-105%)!important}
  .erp-sidebar.open{transform:translateX(0)!important}
  [dir="rtl"] .erp-sidebar{left:auto;right:0}[dir="rtl"] .erp-sidebar.closed{transform:translateX(105%)!important}
  .erp-header{padding:0 8px!important;gap:6px!important}
  .header-user-text,.erp-header-divider,.erp-search-label,.erp-search-kbd,.erp-company-chip .chip-text{display:none!important}
  .erp-search-trigger{width:40px!important;padding:0!important;justify-content:center;border-color:transparent!important;background:transparent!important}
  .kes-page-head{padding:16px 16px 0!important}
  .kes-page-body{padding:12px 16px 24px}
  #erp-content .kes-tabs{flex-wrap:nowrap!important;gap:20px!important}
}

/* Company Drive: folder list above the viewer on narrow screens */
@media (max-width:900px){.drive-grid{grid-template-columns:1fr!important}}
@media (max-width:900px){.dash-main{grid-template-columns:minmax(0,1fr)!important}}
@media (max-width:1100px){.mail-grid{grid-template-columns:minmax(0,1fr)!important}}
