/* Canonical application navigation. Loaded last to replace historical sidebar overrides. */
:root{--shell-sidebar-width:164px}
.app-shell,.app-shell button,.app-shell input,.app-shell select,.app-shell textarea,.modal-layer,.modal-layer button,.modal-layer input,.modal-layer select,.modal-layer textarea{font-family:"Segoe UI","Noto Sans Arabic",Tahoma,Arial,sans-serif!important;letter-spacing:0!important}
.app-shell .sidebar{width:var(--shell-sidebar-width)!important;padding:0 7px 7px!important;background:linear-gradient(180deg,#142b41 0%,#102438 58%,#0c1e30 100%)!important;border-left:1px solid rgba(7,22,36,.34)!important;box-shadow:-4px 0 16px rgba(11,29,45,.08)!important;overflow:hidden!important}
.app-shell .main-area{margin-right:var(--shell-sidebar-width)!important}
.app-shell .sidebar>.brand{height:55px!important;min-height:55px!important;padding:0 6px!important;gap:8px!important;border-bottom:1px solid rgba(255,255,255,.1)!important;overflow:hidden!important}
.app-shell .sidebar>.brand .brand-mark{position:relative!important;width:31px!important;height:31px!important;min-width:31px!important;border:1px solid rgba(255,255,255,.7)!important;border-radius:8px!important;background:linear-gradient(145deg,#fff,#dcecf9)!important;color:#0f426a!important;box-shadow:0 4px 12px rgba(0,0,0,.16)!important;font:900 10px/1 "Segoe UI",Tahoma,Arial,sans-serif!important;overflow:hidden!important}
.app-shell .sidebar>.brand .brand-mark::after{content:""!important;position:absolute!important;inset:auto -4px -6px auto!important;width:17px!important;height:17px!important;border-radius:5px!important;background:linear-gradient(145deg,#0a86e9,#14b88c)!important;transform:rotate(26deg)!important;opacity:.9!important}
.app-shell .sidebar>.brand>div:last-child{min-width:0!important;overflow:hidden!important}
.app-shell .sidebar>.brand strong{display:block!important;color:#fff!important;font:700 11px/1.3 "Segoe UI",Tahoma,Arial,sans-serif!important;direction:ltr!important;white-space:nowrap!important;text-overflow:ellipsis!important;overflow:hidden!important}
.app-shell .sidebar>.brand span{display:block!important;margin-top:2px!important;color:#91a7ba!important;font-size:7.5px!important;line-height:1.2!important;white-space:nowrap!important}
.app-shell .nav-list{flex:1 1 auto!important;min-height:0!important;margin:0!important;padding:7px 0 5px!important;gap:2px!important;overflow-y:auto!important;overflow-x:hidden!important;scrollbar-width:thin!important;scrollbar-color:#45657e transparent!important}
.app-shell .nav-item{position:relative!important;display:flex!important;align-items:center!important;width:100%!important;height:34px!important;min-height:34px!important;padding:0 8px!important;gap:7px!important;border:0!important;border-radius:6px!important;background:transparent!important;color:#cbd7e1!important;font-size:10.5px!important;font-weight:700!important;line-height:1!important;text-align:right!important;transition:background-color .16s ease,color .16s ease,box-shadow .16s ease!important}
.app-shell .nav-item:hover{background:rgba(255,255,255,.07)!important;color:#fff!important}
.app-shell .nav-item.expanded:not(.active){background:rgba(255,255,255,.045)!important;color:#f3f7fa!important}
.app-shell .nav-item.active{background:linear-gradient(90deg,#0875dd,#0a65bd)!important;color:#fff!important;box-shadow:0 5px 12px rgba(0,84,166,.25)!important}
.app-shell .nav-item .nav-icon{display:grid!important;place-items:center!important;width:18px!important;min-width:18px!important;color:#9fb4c6!important;font-size:13px!important;line-height:1!important}
.app-shell .nav-item.active .nav-icon{color:#fff!important}
.app-shell .nav-item>b{display:none!important}
.app-shell .nav-item:has(+:is(.sales-subnav,.module-subnav))::after{content:"‹"!important;display:block!important;margin-right:auto!important;color:#829bb0!important;font:700 14px/1 Arial,sans-serif!important;transform:rotate(0)!important;transition:transform .2s ease,color .2s ease!important}
.app-shell .nav-item:has(+:is(.sales-subnav,.module-subnav))>b{margin-right:0!important}
.app-shell .nav-item.expanded:has(+:is(.sales-subnav,.module-subnav))::after{transform:rotate(-90deg)!important;color:#fff!important}
.app-shell .nav-list>:is(.sales-subnav,.module-subnav){display:flex!important;flex-direction:column!important;max-height:0!important;margin:0 23px 0 4px!important;padding:0 7px 0 0!important;gap:1px!important;border-right:1px solid rgba(142,171,196,.22)!important;opacity:0!important;overflow:hidden!important;visibility:hidden!important;transform:translateY(-3px)!important;transition:max-height .26s ease,opacity .18s ease,transform .22s ease,margin .22s ease,padding .22s ease!important}
.app-shell .nav-list>.nav-item.expanded+:is(.sales-subnav,.module-subnav){max-height:420px!important;margin-top:2px!important;margin-bottom:4px!important;padding-top:2px!important;padding-bottom:2px!important;opacity:1!important;visibility:visible!important;transform:translateY(0)!important}
.app-shell :is(.sales-subnav,.module-subnav) .subnav-item{position:relative!important;display:flex!important;align-items:center!important;width:100%!important;min-height:25px!important;padding:4px 7px!important;border:0!important;border-radius:4px!important;background:transparent!important;color:#9fb2c2!important;font-size:8.8px!important;font-weight:700!important;line-height:1.25!important;text-align:right!important;white-space:normal!important;transition:background-color .14s ease,color .14s ease,padding .14s ease!important}
.app-shell :is(.sales-subnav,.module-subnav) .subnav-item::before{content:"";width:4px;height:4px;margin-left:6px;border-radius:50%;background:#5d7890;flex:0 0 auto}
.app-shell :is(.sales-subnav,.module-subnav) .subnav-item:hover{padding-right:9px!important;background:rgba(255,255,255,.06)!important;color:#fff!important}
.app-shell :is(.sales-subnav,.module-subnav) .subnav-item.active{background:rgba(8,124,240,.2)!important;color:#fff!important;box-shadow:inset -2px 0 #55a9f6!important}
.app-shell :is(.sales-subnav,.module-subnav) .subnav-item.active::before{background:#52aaff;box-shadow:0 0 0 2px rgba(82,170,255,.15)}
.app-shell :is(.sales-subnav,.module-subnav) .subnav-item.directory-link{margin-top:2px!important;border-top:1px solid rgba(142,171,196,.13)!important}
.app-shell :is(.sales-subnav,.module-subnav) .subnav-badge{display:none!important}
.app-shell .sidebar-footer{flex:0 0 auto!important;min-height:45px!important;margin-top:0!important;padding:6px 4px 0!important;gap:6px!important;border-top:1px solid rgba(255,255,255,.1)!important}
.app-shell .sidebar-footer .avatar{width:27px!important;height:27px!important;min-width:27px!important;font-size:8px!important}.app-shell .sidebar-footer strong{font-size:8px!important;color:#fff!important}.app-shell .sidebar-footer span{font-size:7px!important;color:#91a7ba!important}.app-shell .sidebar-footer .icon-button{width:25px!important;height:25px!important;margin-right:auto!important;color:#dce7ef!important;font-size:12px!important}
/* Canonical field spacing: labels and hints never overlap arrows or embedded controls. */
:where(#app-shell,#agent-portal-shell,.modal-layer) :where(.field,.measure-field,label){min-width:0!important}
:where(#app-shell,#agent-portal-shell,.modal-layer) :where(input:not([type="checkbox"]):not([type="radio"]),textarea,select){min-width:0}
:where(#app-shell,#agent-portal-shell,.modal-layer) :where(input,textarea)::placeholder{color:#788b9b!important;opacity:1!important;text-overflow:ellipsis}
:where(#app-shell,#agent-portal-shell,.modal-layer) .smart-select .smart-select-input{padding-right:44px!important;padding-left:9px!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important}
:where(#app-shell,#agent-portal-shell,.modal-layer) .smart-select .smart-select-toggle{inset-inline-start:4px!important;inset-inline-end:auto!important;right:4px!important;left:auto!important;width:25px!important}
:where(#app-shell,#agent-portal-shell,.modal-layer) :is(.unified-search,.global-search,.table-search) input{padding-inline-start:31px!important;padding-inline-end:9px!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important}
:where(#app-shell,#agent-portal-shell,.modal-layer) :is(.unified-search,.global-search,.table-search)>span{inset-inline-start:9px!important;inset-inline-end:auto!important;right:9px!important;left:auto!important;z-index:2!important;pointer-events:none!important}
:where(#app-shell,#agent-portal-shell,.modal-layer) select:not(.smart-select-native){padding-right:36px!important;padding-left:9px!important;text-overflow:ellipsis!important}
:where(#app-shell,#agent-portal-shell,.modal-layer) input[type="date"]{padding-inline-start:8px!important;padding-inline-end:28px!important}
.treasury-movement-modal{align-items:center!important;justify-content:center!important;padding:18px!important}
.treasury-movement-modal-card{width:min(1060px,96vw)!important;max-height:92vh!important;padding:0!important;border-radius:10px!important;overflow:auto!important;background:#fff!important;box-shadow:0 22px 60px rgba(6,25,41,.28)!important}
.treasury-movement-modal-card>.modal-header{position:sticky!important;top:0!important;z-index:5!important;min-height:49px!important;padding:7px 11px!important;background:#fff!important;border-bottom:1px solid #c5d2dc!important}
.treasury-movement-modal-card>.modal-header h2{margin:1px 0 0!important;font-size:15px!important;color:#102f47!important}
.treasury-movement-modal-card>.modal-header .eyebrow{font-size:8px!important}
.treasury-movement-modal-card>.treasury-movement-form{margin:0!important;padding:7px 9px 0!important;border:0!important;border-radius:0!important;background:#fff!important}
.treasury-movement-modal-card .compact-form-actions{position:sticky!important;bottom:0!important;margin:8px -10px 0!important;padding:7px 10px!important;background:#f7fafc!important;border-top:1px solid #c6d3dc!important}
.treasury-saved-document{padding:9px 11px 0!important}
.treasury-save-confirmation{display:grid!important;grid-template-columns:auto 1fr auto!important;align-items:center!important;gap:9px!important;min-height:42px!important;padding:6px 9px!important;border:1px solid #8ac6aa!important;border-radius:7px!important;background:#effaf4!important;color:#145e42!important}
.treasury-save-confirmation span{font-size:10px!important;font-weight:800!important}.treasury-save-confirmation strong{font-size:18px!important}.treasury-save-confirmation small{font-size:9px!important;font-weight:700!important}
.treasury-saved-grid{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:5px!important;margin-top:7px!important}
.treasury-saved-grid>div{min-height:48px!important;padding:6px 8px!important;border:1px solid #c5d2dc!important;border-radius:6px!important;background:#fbfcfd!important;overflow:hidden!important}
.treasury-saved-grid>div.wide{grid-column:span 3!important}.treasury-saved-grid span{display:block!important;margin-bottom:3px!important;color:#607687!important;font-size:8px!important;font-weight:700!important}.treasury-saved-grid strong{display:block!important;overflow:hidden!important;color:#15364f!important;font-size:10.5px!important;text-overflow:ellipsis!important;white-space:nowrap!important}.treasury-saved-grid .treasury-saved-amount{background:#eef6fc!important;border-color:#8fb6d1!important}.treasury-saved-grid .treasury-saved-amount strong{font-size:14px!important;color:#0b5d91!important}
.treasury-document-navigation{display:flex!important;align-items:center!important;justify-content:center!important;gap:7px!important;margin-top:8px!important;padding:7px!important;border-top:1px solid #d2dce4!important;border-bottom:1px solid #d2dce4!important;background:#f8fafb!important}
.treasury-saved-document>.modal-actions{margin:0 -11px!important;padding:7px 11px!important}
@media(max-width:760px){.treasury-saved-grid{grid-template-columns:1fr 1fr!important}.treasury-saved-grid>div.wide{grid-column:1/-1!important}}
@media(max-width:760px){:root{--shell-sidebar-width:54px}.app-shell .sidebar{padding-inline:4px!important}.app-shell .sidebar>.brand{justify-content:center!important;padding-inline:0!important}.app-shell .sidebar>.brand>div:last-child,.app-shell .nav-item>span:not(.nav-icon),.app-shell .nav-item>b,.app-shell .nav-item::after,.app-shell .sidebar-footer>div:not(.avatar),.app-shell .sidebar-footer .icon-button{display:none!important}.app-shell .nav-item{justify-content:center!important;padding:0!important}.app-shell .nav-list>:is(.sales-subnav,.module-subnav){display:none!important}}

/* System-wide control clearance: keep Arabic labels away from dropdown arrows
   in every module, table editor, portal and modal. Both sides are protected for
   native selects because browser arrow placement varies with RTL rendering. */
html[dir="rtl"] body select:not(.smart-select-native){box-sizing:border-box!important;padding-right:36px!important;padding-left:36px!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important}
html[dir="rtl"] body .smart-select :is(.smart-select-input,.smart-select-trigger){box-sizing:border-box!important;padding-right:44px!important;padding-left:9px!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important;text-align:right!important}
html[dir="rtl"] body .smart-select :is(.smart-select-toggle,.smart-select-arrow){right:4px!important;left:auto!important;z-index:3!important}

/* Access control must always win over component layout rules.  Navigation
   styles intentionally use !important for density, so the permission class
   needs equal-or-higher specificity at the end of the cascade. */
.app-shell .permission-hidden,
.app-shell .nav-item.permission-hidden,
.app-shell .nav-list>.permission-hidden,
.app-shell :is(.sales-subnav,.module-subnav).permission-hidden,
.app-shell :is(.sales-subnav,.module-subnav) .subnav-item.permission-hidden{
  display:none!important;
}
