/* YURA Tây Ninh v4.2 — approved unified blue desktop system. Presentation only. */
:root{
 --yv42-blue:#1267ed;--yv42-navy:#112c62;--yv42-bg:#f3f7fc;
 --yv42-text:#172e59;--yv42-muted:#8395b0;--yv42-border:#e5ecf7;
 --yv42-soft:#e8f1ff;--yv42-shadow:0 6px 22px #2946720b;
}
body, .shell,.workarea{background:var(--yv42-bg)!important;color:var(--yv42-text)}
.sidebar{width:278px;flex-basis:278px;padding:0 14px 17px!important;background:#fff!important;box-shadow:2px 0 15px #1b3c7608!important;border-right:1px solid #edf1f8!important}
.side-brand{height:62px;flex:0 0 62px;padding:9px 13px 9px!important;margin:0 -14px 12px!important;border-bottom:1px solid #edf1f8!important;gap:10px!important}
.side-brand .brand-symbol.yura-sidebar-logo{width:118px!important;max-width:118px;min-width:118px;height:39px!important;background:transparent!important;border:0!important;box-shadow:none!important;padding:2px!important}
.side-brand .brand-symbol .yura-logo{width:100%!important;max-width:100%;height:auto;object-fit:contain}
.side-brand strong{font-size:15px!important;color:#0642a5!important;letter-spacing:0!important;white-space:nowrap}
.side-brand small{font-size:8.5px!important;letter-spacing:0!important;color:#7085a9!important;margin:2px 0 0!important;white-space:nowrap}
.sidebar nav{padding:5px 4px 8px;scrollbar-width:thin;scrollbar-color:#dce7f7 transparent}
#navigation .nav-group{margin-bottom:10px!important}
#navigation .nav-group-toggle{padding:10px 13px 4px!important;min-height:26px!important;color:#7c91b1!important;font-size:10px!important;font-weight:800!important;letter-spacing:.11em!important;background:transparent!important}
#navigation .nav-group-icon{color:#99a9c1!important}
#navigation .nav-submenu{margin:0!important;padding:0!important;border:0!important}
#navigation .nav-submenu>button{padding:9px 12px!important;min-height:39px!important;margin:2px 0!important;border-radius:11px!important;font-size:12px!important;color:#405c83!important;gap:11px!important;font-weight:650}
#navigation .nav-submenu>button .nav-icon{width:22px!important;min-width:22px!important;display:inline-grid;place-items:center;font-size:18px!important;color:#6580af!important}
#navigation .nav-submenu>button.active{background:#e6f0ff!important;color:#0857cd!important;font-weight:800!important}
#navigation .nav-submenu>button.active .nav-icon{color:#0756d4!important}
#navigation .nav-submenu>button:hover:not(.active){background:#f0f6ff!important;color:#1b60d7!important}
.side-user{background:#fff!important;padding:13px 9px 9px!important;margin:6px 0 0!important;border-top:1px solid #ecf0f8!important}
.side-user strong{font-size:12px;color:#1c3259}
.side-user small{font-size:10px;color:#7990b5!important;margin:4px 0 8px}
.side-user button{padding:7px 8px!important;font-size:10px!important;border-color:#e0e8f6!important;color:#526a90!important;background:#f8fbff!important}
.topbar{position:sticky;top:0;z-index:80;min-height:62px!important;padding:10px clamp(15px,2vw,28px)!important;gap:12px!important;border-bottom:1px solid #e7edf7!important;background:#fff!important;box-shadow:none!important}
.topbar-main{gap:9px!important}
.sidebar-toggle{min-width:33px!important;min-height:33px!important;width:33px;height:33px;background:transparent!important;border:0!important;color:#285caa!important;border-radius:8px!important;font-size:20px!important;padding:3px!important}
.topbar .top-eyebrow{display:none!important}
.topbar #pageTrail{font-size:12px!important;color:#45658b!important;margin:0!important;font-weight:700}
.yv-top-tools{gap:12px!important}
.yv-global-search{width:clamp(190px,24vw,335px)!important;height:39px!important;background:#f8faff!important;border:1px solid #e9eef7!important;border-radius:13px!important}
.yv-global-search input{font-size:11px!important;color:#344a71!important}
.yv-top-action,.yv-contrast-toggle{border:0!important;display:grid;place-items:center;background:#f4f7fe!important;color:#285898!important;border-radius:50%!important;width:38px!important;min-width:38px!important;height:38px!important;min-height:38px!important;font-size:20px!important;padding:0!important;box-shadow:none!important;cursor:pointer}
.yv-contrast-toggle:hover,.yv-top-action:hover{background:#e7f0ff!important}
.yv-user-copy{display:flex;flex-direction:column;min-width:0;gap:2px;text-align:left}
.yv-user-copy .yv-user-name{font-size:12px!important;font-weight:800;color:#153064!important;max-width:155px;overflow:hidden;text-overflow:ellipsis}
.yv-user-copy small{font-size:9px;color:#7790b0;font-weight:500;max-width:155px;overflow:hidden;text-overflow:ellipsis}
.yv-avatar{height:36px;width:36px;min-width:36px;background:#1255ba!important;font-weight:700!important}
.top-user{gap:10px!important;white-space:nowrap!important}
.main-content{max-width:none!important;margin:0!important;padding:14px 20px 24px!important}
#pageContent .page-title{margin-bottom:18px}
#pageContent .page-title h1{font-size:23px;color:#112d60!important}
#pageContent .panel,#pageContent .stat,#pageContent .editor,#pageContent .dashboard-card{border:1px solid var(--yv42-border)!important;border-radius:15px!important;box-shadow:var(--yv42-shadow)!important}
#pageContent table td{padding-top:12px;padding-bottom:12px}
#pageContent .toolbar{gap:9px}
#pageContent .table-wrap{border-radius:12px;border-color:var(--yv42-border)!important}
button.primary,.primary.fill,.button-primary,#pageContent button.primary{border-radius:10px!important;background:var(--yv42-blue)!important;border-color:var(--yv42-blue)!important}
input:not([type=checkbox]):not([type=radio]),select,textarea{border-radius:10px}
.login-layout{background:#f5f8fd!important}
.login-hero{background:linear-gradient(135deg,#092e7e 0%,#1153bb 68%,#347afa 100%)!important}
.login-panel{background:#f5f8fd!important}
.login-card{border-radius:20px!important;padding:24px!important;background:#fff!important;border-color:#e5edfa!important;box-shadow:0 18px 65px #10346a14!important}
#app.shell.nav-collapsed .sidebar{width:74px!important;flex-basis:74px!important;padding:0 7px 12px!important}
#app.shell.nav-collapsed .sidebar .side-brand{margin:0 -7px 11px!important;justify-content:center!important}
#app.shell.nav-collapsed .side-brand .brand-symbol.yura-sidebar-logo{min-width:56px!important;width:56px!important;max-width:56px!important}
#app.shell.nav-collapsed .sidebar nav{padding:3px}
footer.footer{font-size:10px;opacity:.8}
/* Optional higher-contrast mode, explicit user switch. */
html[data-yv42-contrast="high"]{--yv42-bg:#ebf1fc;--yv42-text:#0d2558;--yv42-border:#9caed0}
html[data-yv42-contrast="high"] #pageContent .yc-panel{border-color:#8fa7ce!important}
html[data-yv42-contrast="high"] .sidebar .nav-submenu button{color:#0f367c!important}
@media(max-width:1100px){.sidebar{width:240px;flex-basis:240px}.side-brand .brand-symbol.yura-sidebar-logo{min-width:93px!important;width:93px!important}.side-brand strong{font-size:12px!important}.yv-top-tools{gap:7px!important}.main-content{padding:12px!important}}
@media(max-width:750px){.topbar{min-height:56px!important}.yv-global-search{width:min(37vw,220px)!important}.yv-user-copy small{display:none}.main-content{padding:10px!important}.side-brand strong{font-size:12px!important}}
@media print{.topbar,.sidebar{display:none!important}.main-content{padding:0!important}#pageContent .panel{box-shadow:none!important}}

#navigation .nav-submenu .nav-icon svg{display:block;width:19px;height:19px;stroke:currentColor}
#navigation .yv42-icon-source{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip-path:inset(50%)!important;white-space:nowrap!important}

/* v4.2.1: Yura logo returns to Dashboard, keyboard-accessible. */
#app .side-brand button.yv-brand-home{appearance:none;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;border:1px solid #e5ebf6!important;background:#fff!important;padding:5px 7px!important;color:inherit;transition:border-color .15s,box-shadow .15s}
#app .side-brand button.yv-brand-home:hover{border-color:#7baafa!important;box-shadow:0 2px 12px #2666ba1c!important}
#app .side-brand button.yv-brand-home:focus-visible{outline:2px solid #2563eb!important;outline-offset:3px}
