/* V443 - Unified visual system for Admin / Accountant / Staff.
   Presentation only: visibility continues to be controlled by the existing VIFOOD permission engine.
   V445: typography declarations removed so font sizes inherit from the original pre-V439Y component styles. */
:root{--v443-blue:#0b5ed7;--v443-navy:#0b2d63;--v443-bg:#f6f8fc;--v443-line:#e3eaf3;--v443-text:#102a56;--v443-muted:#64748b;--v443-radius:14px}
body:not(.v443-agency){background:var(--v443-bg)}
body:not(.v443-agency) #root{color:#172b4d}
/* Normalize surfaces without changing app structure */
body:not(.v443-agency) main,body:not(.v443-agency) [role="main"]{background:var(--v443-bg)}
body:not(.v443-agency) .rounded-lg,body:not(.v443-agency) .rounded-xl{border-radius:var(--v443-radius)}
body:not(.v443-agency) th{font-weight:700;color:var(--v443-text)}
body.v443-role-admin:not(.v443-agency),body.v443-role-accountant:not(.v443-agency),body.v443-role-staff:not(.v443-agency){--v443-role-accent:var(--v443-blue)}
/* Shared desktop navigation treatment. Existing permission-filtered menu remains the source of truth. */
@media (min-width:1101px){
 body:not(.v443-agency) aside{border-right:1px solid rgba(255,255,255,.08)}
 body:not(.v443-agency) aside a,body:not(.v443-agency) aside button{transition:background .16s ease,color .16s ease,transform .16s ease}
 body:not(.v443-agency) aside a:hover,body:not(.v443-agency) aside button:hover{transform:translateX(1px)}
}
/* Mobile: reserve one consistent app-like viewport for all internal roles. */
@media (max-width:1100px){
 body.v443-internal{padding-bottom:calc(78px + env(safe-area-inset-bottom,0px))!important}
 body.v443-internal main{padding-bottom:14px}
}
