/* Kontrum shared UX bundle 3.6.0-block17. UI-only normalization. */
:root{
  --ux-font:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;
  --ux-text-xs:11px;--ux-text-sm:12px;--ux-text-md:14px;--ux-text-lg:16px;--ux-text-xl:20px;--ux-text-2xl:28px;
  --ux-space-1:4px;--ux-space-2:8px;--ux-space-3:12px;--ux-space-4:16px;--ux-space-5:20px;--ux-space-6:24px;--ux-space-8:32px;
  --ux-control-h:42px;--ux-control-h-sm:36px;--ux-header-h:68px;--ux-content-max:1600px;
  --ux-radius-sm:10px;--ux-radius-md:14px;--ux-radius-lg:18px;--ux-radius-pill:999px;
  --ux-focus:0 0 0 3px rgba(37,99,255,.24);--ux-shadow:0 8px 24px rgba(20,55,115,.08);
  --ux-overlay:rgba(7,26,61,.48);--ux-surface-subtle:#F7FAFE;--ux-border:#DDE7F3;
  --ux-success-bg:#EAF8F1;--ux-success-fg:#16724B;--ux-warning-bg:#FFF5E4;--ux-warning-fg:#8A5B0C;
  --ux-danger-bg:#FFF0F2;--ux-danger-fg:#A72E3E;--ux-info-bg:#EAF1FF;--ux-info-fg:#1956C7;
}
html{font-size:16px;scroll-padding-top:calc(var(--ux-header-h) + var(--ux-space-3));text-size-adjust:100%;max-width:100%;overflow-x:hidden}
body{font-family:var(--ux-font);font-size:var(--ux-text-md);min-width:320px;max-width:100%;overflow-x:hidden}
body.ux-modal-open{overflow:hidden}
button,input,select,textarea{font-family:inherit}
button,a,input,select,textarea,[tabindex]{-webkit-tap-highlight-color:transparent}
:focus-visible{outline:2px solid var(--blue);outline-offset:2px;box-shadow:var(--ux-focus)}
.sr-only,.ux-sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}

/* Application frame and navigation */
.shell{height:100dvh;min-height:0;overflow:hidden;background:var(--bg)}
.topbar{height:var(--ux-header-h);min-height:var(--ux-header-h);flex:none;gap:var(--ux-space-3)}
.top-left,.top-right{min-width:0}.module-tabs{min-width:0;justify-content:center}
.module-tab{position:relative;min-height:40px;border-radius:var(--ux-radius-sm);padding:8px 11px;font-size:var(--ux-text-sm);font-weight:800;white-space:nowrap}
.module-tab.active,.module-tab[aria-current="page"]{background:var(--ux-info-bg);color:var(--blue)}
.module-tab.module-disabled{opacity:1;color:#8491A7;background:#F4F6F9;border:1px dashed #D6DFEA;cursor:not-allowed}
.module-tab.module-disabled .icon{opacity:.62}.module-lock-mark{width:6px;height:6px;border-radius:50%;background:var(--amber);color:transparent;position:absolute;right:6px;top:5px}
.shell-grid{height:calc(100dvh - var(--ux-header-h));min-height:0;align-items:stretch}
.sidebar{top:auto;height:100%;min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable;padding-bottom:var(--ux-space-4)}
.side-title{font-size:var(--ux-text-xs);padding:10px}.side-link{min-height:42px;font-size:13px;border-radius:var(--ux-radius-sm)}
.side-link.active,.side-link[aria-current="page"]{font-weight:850}
.main{height:100%;min-height:0;max-width:var(--ux-content-max);overflow:auto;overscroll-behavior:contain;scrollbar-gutter:stable;padding:var(--ux-space-6)}
.page-head{position:relative;z-index:6;flex:0 0 auto;align-items:flex-start;gap:var(--ux-space-4)}
.page-head h1{font-size:clamp(24px,2vw,var(--ux-text-2xl));line-height:1.15}.page-head p{font-size:13px;line-height:1.5}
.page-actions{flex-wrap:wrap;justify-content:flex-end}
.user b{font-size:12px}.user small{font-size:10px}.company-picker{font-size:12px}.sync-card b{font-size:12px}.sync-card p{font-size:11px}

/* Typography and spacing */
h1,h2,h3,h4{color:var(--navy);text-wrap:balance}h1{letter-spacing:-.035em}p{overflow-wrap:anywhere}
.muted,small{line-height:1.45}.eyebrow{font-size:var(--ux-text-xs)}
.content-stack,.settings-form,.feature-list,.profile-lines{gap:var(--ux-space-4)}
.cabinet-grid,.report-grid,.application-grid,.integrations-grid,.metrics,.summary-grid,.grid-2,.grid-3,.grid-4{gap:var(--ux-space-4);align-items:stretch}

/* Controls */
.btn{min-height:var(--ux-control-h);padding:9px 15px;border-radius:var(--ux-radius-sm);font-size:13px;line-height:1.2}
.btn.small{min-height:var(--ux-control-h-sm);font-size:12px}.btn.icon{min-width:var(--ux-control-h);height:var(--ux-control-h)}
.btn:hover:not([disabled]){transform:none;filter:brightness(.985)}.btn:active:not([disabled]){transform:translateY(1px)}
.btn[disabled],button[disabled],[aria-disabled="true"]{cursor:not-allowed}
.input,.select,input:not([type="checkbox"]):not([type="radio"]),select,textarea{min-height:var(--ux-control-h);border-color:var(--ux-border);border-radius:var(--ux-radius-sm);font-size:13px;line-height:1.35}
textarea{min-height:104px;resize:vertical;padding:11px 13px}
.field{gap:6px}.field label,.settings-form label,.choice-fieldset legend{font-size:12px;font-weight:750;color:#344866}
input::placeholder,textarea::placeholder{color:#8B98AC;opacity:1}
input:disabled,select:disabled,textarea:disabled{background:#F2F5F9;color:#7A879B}
.check-row,.pos-check{min-height:40px;align-items:flex-start}.check-row input,.pos-check input{width:18px;height:18px;flex:0 0 auto}

/* Cards, lists and equal-height grids */
.card{border-color:var(--ux-border);border-radius:var(--ux-radius-lg);box-shadow:var(--ux-shadow)}
.cabinet-grid>.card,.report-grid>.card,.application-grid>.card,.integrations-grid>.card,.metrics>.card,.summary-grid>.card,.grid-2>.card,.grid-3>.card,.grid-4>.card{height:100%;min-width:0}
.content-card,.subscription-current,.activation-panel,.report-card{padding:var(--ux-space-6)}
.installation-card,.list-row,.feature-list>div{min-height:58px;gap:var(--ux-space-3);border-color:var(--ux-border)}
.market-logo{width:52px;height:52px;border-radius:var(--ux-radius-md);padding:4px;background:#fff}.market-logo.large{width:64px;height:64px}
.market-logo img{width:100%;height:100%;object-fit:contain}.integration-card{min-height:148px}

/* Tabs, status and alerts */
.cc-tabs,.period-switch,.warehouse-subnav,.pos-subnav,.analytics-tabs{scrollbar-width:thin;overscroll-behavior-x:contain}
.cc-tabs button,.period-switch button,.warehouse-subnav button,.pos-subnav button,.analytics-tabs button{min-height:40px;font-size:12px}
.tag,.quota-pill,.stock-pill,.warehouse-state-pill,.pos-pill,.analytics-fresh{font-size:11px;line-height:1.2}
.tag.green,[data-status="success"],.status-success{background:var(--ux-success-bg);color:var(--ux-success-fg)}
.tag.amber,[data-status="warning"],.status-warning{background:var(--ux-warning-bg);color:var(--ux-warning-fg)}
.tag.red,[data-status="error"],.status-error{background:var(--ux-danger-bg);color:var(--ux-danger-fg)}
.notice,.license-banner,.pos-banner,.analytics-export-status,.ux-network-banner{border-radius:var(--ux-radius-md);font-size:13px}
.ux-network-banner{position:fixed;left:50%;top:calc(var(--ux-header-h) + 8px);z-index:5000;transform:translateX(-50%);display:flex;align-items:center;gap:8px;max-width:calc(100vw - 24px);padding:10px 14px;background:var(--ux-warning-bg);color:var(--ux-warning-fg);border:1px solid #F0D49A;box-shadow:var(--ux-shadow)}

/* Tables and dense data */
.table-card,.warehouse-table-scroll,.pos-table-scroll,.analytics-table-wrap,.analytics-drill-content{min-width:0;overflow:auto;overscroll-behavior:contain;scrollbar-gutter:stable;border-color:var(--ux-border)}
.table-card table,.warehouse-table,.pos-app table,.analytics-table-wrap table,.analytics-drill table{font-variant-numeric:tabular-nums}
.table-card th,.warehouse-table th,.pos-app th,.analytics-table-wrap th,.analytics-drill th{position:sticky;top:0;z-index:4;background:#F7FAFE;color:#566987;font-size:11px;letter-spacing:.02em}
.table-card td,.warehouse-table td,.pos-app td,.analytics-table-wrap td,.analytics-drill td{font-size:13px}
.table-card tr:last-child td,.warehouse-table tr:last-child td,.pos-app tr:last-child td,.analytics-table-wrap tr:last-child td{border-bottom:0}

/* Module workspaces: one scroll owner per page */
.workspace-shell .main:has(.warehouse-workspace),.workspace-shell .main:has(.pos-root),.workspace-shell .main:has(.analytics-app){display:flex;min-height:0;overflow:hidden}
.warehouse-workspace,.pos-root,.analytics-app{flex:1;min-height:0;max-width:100%}
.warehouse-internal-scroll,.pos-internal-scroll,.pos-scroll,.analytics-scroll{min-height:0;overscroll-behavior:contain;scrollbar-gutter:stable}
.warehouse-filterbar,.pos-app section>header,.analytics-table-wrap th,.warehouse-table th,.pos-app th{backdrop-filter:blur(10px)}
.cc-shell{min-height:0}.cc-orders{overscroll-behavior:contain;scrollbar-gutter:stable}

/* Loading, empty, error, offline and conflict states */
.empty,.loading,.warehouse-empty,.warehouse-state,.warehouse-loading,.pos-empty,.pos-loading,.pos-state,.pos-error-state,.analytics-unavailable,.analytics-loading,.analytics-error,.module-lock-clean,[data-ux-state]{border-radius:var(--ux-radius-lg)}
.empty,.warehouse-empty,.pos-empty,.analytics-unavailable{color:var(--muted)}
.loading,.warehouse-loading,.pos-loading,.analytics-loading{animation:ux-pulse 1.35s ease-in-out infinite}
.module-lock-clean{min-height:min(420px,55dvh);padding:clamp(28px,5vw,56px);gap:12px}.module-lock-clean .tag{margin-bottom:2px}.module-lock-clean p{max-width:560px}
.ux-state-conflict{border:1px solid #E7C374;background:var(--ux-warning-bg);color:var(--ux-warning-fg)}
.ux-state-offline{border:1px solid #F0D49A;background:var(--ux-warning-bg)}
.ux-state-error{border:1px solid #EEC8CE;background:var(--ux-danger-bg)}
@keyframes ux-pulse{50%{opacity:.58}}

/* Modals and drawers */
.modal-backdrop,.auth-modal-shade,.warehouse-modal-shade,.pos-modal-shade{padding:var(--ux-space-4);overflow:hidden}
.modal,.auth-modal,.warehouse-modal,.pos-modal,.analytics-drill{max-height:calc(100dvh - 32px);overflow:auto;overscroll-behavior:contain;scrollbar-gutter:stable}
.auth-modal-close,.pos-modal-close,.analytics-drill-head button{min-width:40px;min-height:40px}
.notification-shade{height:100dvh;overflow:hidden}.notification-drawer{height:100dvh;min-height:0;overflow:hidden}.notification-list{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable}.notification-item b{font-size:12px}.notification-item small{font-size:11px}

/* Scaling and responsive behavior */
@media(max-width:1280px){
  :root{--sidebar:210px}.main{padding:var(--ux-space-5)}
  .top-right .user>div{display:none}.module-tab{padding-inline:9px}
  .cabinet-grid,.report-grid,.application-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:1050px){
  .top-left .company-picker{display:none}.module-tab span{display:none}.module-tab{min-width:40px;justify-content:center}
  .application-card{grid-template-columns:72px minmax(0,1fr)}.application-card>img{width:68px;height:68px}
}
@media(max-width:900px){
  .shell{overflow:hidden}.shell-grid{grid-template-columns:1fr}.main{padding:var(--ux-space-4);padding-bottom:78px}
  .sidebar{position:fixed;left:-286px;top:var(--ux-header-h);bottom:0;height:auto;width:278px;z-index:1600;transition:left .18s ease}
  .mobile-nav-open .sidebar{left:0}.mobile-nav-shade{inset:var(--ux-header-h) 0 0}
  .module-tabs{height:64px;padding:5px 7px 5px 58px}.module-tabs .module-tab{min-width:64px;display:grid}.module-tabs .module-tab span{display:block;font-size:10px}
  .cabinet-grid,.report-grid,.application-grid,.grid-2,.grid-3,.grid-4{grid-template-columns:1fr}
  .workspace-shell .main:has(.warehouse-workspace),.workspace-shell .main:has(.pos-root),.workspace-shell .main:has(.analytics-app){display:flex;overflow:hidden}
  .warehouse-workspace,.pos-app,.analytics-app{height:100%;min-height:0}.warehouse-internal-scroll,.pos-internal-scroll,.analytics-scroll{overflow:auto}
}
@media(max-width:680px){
  :root{--ux-header-h:62px;--ux-control-h:44px}.topbar{padding-inline:8px}.top-right{gap:4px}.top-right .workspace-switch,.top-right .primary-site-link{display:none}
  .main{padding:12px;padding-bottom:76px}.page-head{flex-direction:column}.page-actions{width:100%;justify-content:flex-start}.page-actions>.btn{flex:1}
  .metrics,.summary-grid,.report-metrics,.warehouse-kpis,.pos-kpis,.analytics-kpis,.analytics-panels{grid-template-columns:1fr}
  .content-card,.subscription-current,.activation-panel,.report-card,.settings-form{padding:16px}
  .integrations-grid{grid-template-columns:1fr}.integration-card{min-height:128px;padding:16px}
  .table-card,.warehouse-table-scroll,.pos-table-scroll,.analytics-table-wrap{margin-inline:-4px;border-radius:12px}
  .modal-backdrop,.auth-modal-shade,.warehouse-modal-shade,.pos-modal-shade{padding:8px}.modal,.auth-modal,.warehouse-modal,.pos-modal,.analytics-drill{max-height:calc(100dvh - 16px)}
  .notification-drawer{inset:0;width:100%}.notification-shade{display:block}
}
@media(max-width:420px){
  .module-tabs{padding-left:52px}.module-tabs .module-tab{min-width:58px}.brand-horizontal.compact{width:126px}
  .btn{width:100%}.topbar .btn,.module-tabs .btn,.notification-head .btn,.page-actions .btn{width:auto}
}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
@media(forced-colors:active){.card,.btn,.input,.select,.module-tab,.side-link{border:1px solid CanvasText}.module-lock-mark,.status-dot{forced-color-adjust:none}}
@media print{.topbar,.sidebar,.module-tabs,.page-actions,.btn,.notification-shade,.ux-network-banner{display:none!important}.shell,.shell-grid,.main{height:auto;overflow:visible;display:block}.main{max-width:none;padding:0}.card{box-shadow:none}}
