:root{--bg:#f3faff;--ink:#08285f;--muted:#5b718d;--line:rgba(5,83,158,.18);--nav:#06286c;--blue:#075fe8;--cyan:#00c9e8;--pink:#00d9b4;--violet:#009ce8;--glow:0 18px 50px rgba(0,76,153,.12)}
html,body{background:radial-gradient(circle at 85% 2%,rgba(0,214,194,.10),transparent 25%),radial-gradient(circle at 2% 9%,rgba(0,157,241,.12),transparent 29%),linear-gradient(180deg,#f8fcff 0%,#f1faff 55%,#fff 100%);color:var(--ink)}
body:before{background:radial-gradient(circle at 15% 78%,rgba(0,118,220,.06),transparent 24%),radial-gradient(circle at 88% 82%,rgba(0,218,182,.06),transparent 20%)}
.top{background:linear-gradient(112deg,#052461,#064ba8 52%,#00b6dc 100%);box-shadow:0 12px 34px rgba(0,49,110,.2)}
.side{background:linear-gradient(180deg,#04255f,#063c90 60%,#0756aa);box-shadow:12px 0 40px rgba(0,70,134,.08)}
.who small{color:#d5efff}.nav button{color:#e4f7ff}.nav button.active{background:linear-gradient(100deg,#0961d3,#009fe2,#00c9b6);box-shadow:0 9px 22px rgba(0,103,180,.25)}
.brand img{width:220px;max-height:94px;object-fit:contain;background:rgba(255,255,255,.1);padding:3px}.brand h1{color:#fff}.brand small{color:#d9f7ff}
.loginlogo{width:min(360px,100%);max-height:190px;object-fit:contain;background:transparent}
.card{background:linear-gradient(145deg,#fff,#f5fcff);border-color:rgba(0,100,170,.14)}
.metric:after,.category:before{background:radial-gradient(circle,rgba(0,215,181,.14),transparent 70%)}
.metric .val,.finance-order .sum:nth-child(4) b{background:linear-gradient(90deg,#064aa7,#008be7 55%,#00cdb4);-webkit-background-clip:text;background-clip:text;color:transparent}
.btn{background:linear-gradient(100deg,#075be0,#008fe2 58%,#00cdb4);box-shadow:0 9px 20px rgba(0,101,174,.2)}.btn:hover{box-shadow:0 13px 25px rgba(0,101,174,.26)}.btn.secondary{background:#f0faff;color:#074579;border-color:rgba(0,113,180,.17)}
.category{background:linear-gradient(145deg,#fff,#f5fcff);border-color:rgba(0,105,170,.14)}.category:hover{border-color:#14abd3}.service.active{background:linear-gradient(110deg,#e9f5ff,#e6fbff 55%,#e6fff8);border-color:#00a9d8;box-shadow:0 0 0 3px rgba(0,165,215,.09)}
.field input:focus,.field select:focus,.field textarea:focus{border-color:#008be1;box-shadow:0 0 0 4px rgba(0,158,215,.12)}
.table th{background:linear-gradient(180deg,#edf7ff,#f8fcff);color:#164979}.badge.blue{background:#e5f4ff;color:#0755a8}
.login{background:radial-gradient(circle at 74% 22%,rgba(0,217,185,.24),transparent 20%),radial-gradient(circle at 23% 16%,rgba(0,150,241,.28),transparent 24%),linear-gradient(125deg,#04245f,#0752a7 60%,#00a7cd 100%)}
.login:before{background:radial-gradient(circle,#00d4b4,transparent 72%)}.login:after{background:radial-gradient(circle,#00b9e8,transparent 72%)}
.loginbox{box-shadow:0 28px 85px rgba(0,40,90,.32)}.pin{border-color:rgba(0,145,217,.23)!important;background:linear-gradient(145deg,#fff,#f4fcff)!important}
.login-profile.active{border-color:#007bd4;background:#eaf8ff;color:#0754a0}.alert{border-color:rgba(0,130,199,.23);background:linear-gradient(100deg,#eff9ff,#eafffa);color:#07537f}
@media(max-width:760px){.top{background:linear-gradient(118deg,#052461,#0866b1 62%,#00aecb)}.side{background:linear-gradient(90deg,#052461,#0753a5)}.brand img{width:150px;max-height:68px}.loginlogo{width:min(300px,100%);max-height:160px}}

/* White logo frame fits the artwork, without the wide empty side margins. */
.top .brand .gd-app-logo{position:relative;display:block;flex:0 0 auto;width:190px;aspect-ratio:1310/945;overflow:hidden;background:#fff;border-radius:8px}
.top .brand .gd-app-logo img{position:absolute;display:block;left:-5.344%;top:-8.466%;width:110.535%;height:auto;max-width:none;max-height:none;margin:0;padding:0;background:transparent;border-radius:0;object-fit:initial}
@media(max-width:760px){.top .brand .gd-app-logo{width:160px}}
/* Keep the application header logo without duplicated title and slogan. */
.top .brand h1,.top .brand small{display:none!important}
/* After login, the application owns the viewport; only content panes scroll. */
@media screen{
 html:has(#app>.app),body:has(#app>.app){height:100%!important;min-height:0!important;overflow:hidden!important}
 #app:has(>.app){height:100dvh;overflow:hidden}
 #app>.app{display:grid!important;grid-template-rows:auto minmax(0,1fr);height:100dvh!important;min-height:0!important;overflow:hidden!important}
 #app>.app>.top{position:relative!important;top:auto!important;min-width:0;z-index:30}
 #app>.app>.layout{display:grid!important;grid-template-columns:245px minmax(0,1fr);height:100%!important;min-height:0!important;overflow:hidden!important}
 #app>.app>.layout>.side{position:relative!important;top:auto!important;width:auto!important;height:100%!important;min-height:0!important;overflow-x:hidden!important;overflow-y:auto!important;overscroll-behavior:contain}
 #app>.app>.layout>.main{height:100%!important;min-height:0!important;margin:0 auto!important;overflow-y:auto!important;overflow-x:hidden!important;overscroll-behavior:contain;scrollbar-gutter:stable}
}
@media screen and (max-width:760px){
 #app>.app>.layout{grid-template-columns:minmax(118px,28%) minmax(0,1fr)}
 #app>.app>.layout>.side{padding:8px;font-size:12px}
 #app>.app>.layout>.side .nav button{padding:9px 6px;font-size:12px;overflow-wrap:anywhere}
 #app>.app>.layout>.main{padding:10px!important}
}
@media print{
 #app>.app,#app>.app>.layout{display:block!important;height:auto!important;overflow:visible!important}
 #app>.app>.layout>.main{height:auto!important;overflow:visible!important;margin:0!important}
}
/* Version diagnostics are visible only inside an authenticated application. */
body:not(:has(#app>.app)) #hamVersionR4,body:not(:has(#app>.app)) .v1-build-badge{display:none!important}
