/* SOVIA PWA Mobile Foundation - Stage 1 */
:root{--pwa-primary:var(--sovia-primary,var(--app-primary,#0f62fe));--pwa-secondary:var(--sovia-primary-2,var(--app-secondary,#3b5bdb));--pwa-bg:#eef6ff;--pwa-ink:#102033;--pwa-muted:#667085;--pwa-card:#fff;--pwa-shadow:0 24px 70px rgba(15,35,80,.14)}
.sovia-pwa-splash{position:fixed;inset:0;z-index:2147483647;display:grid;place-items:center;background:radial-gradient(circle at 25% 20%,rgba(255,255,255,.7),transparent 34%),linear-gradient(135deg,#eaf4ff,#f8fbff 45%,#dfeeff);transition:opacity .35s ease,visibility .35s ease}.sovia-pwa-splash.is-hidden{opacity:0;visibility:hidden;pointer-events:none}.sovia-pwa-splash-card{text-align:center;transform:translateY(-10px)}.sovia-pwa-splash-logo{width:108px;height:108px;object-fit:contain;border-radius:30px;filter:drop-shadow(0 18px 32px rgba(10,54,130,.25));animation:soviaPulse 1.5s ease-in-out infinite}.sovia-pwa-splash-title{font-size:42px;font-weight:900;letter-spacing:.08em;color:#0f62fe;margin-top:18px}.sovia-pwa-splash-subtitle{font-size:12px;font-weight:800;letter-spacing:.28em;color:#667085;margin-top:6px}.sovia-pwa-loader{width:84px;height:6px;border-radius:99px;overflow:hidden;background:rgba(15,98,254,.13);margin:26px auto 0}.sovia-pwa-loader span{display:block;width:42%;height:100%;border-radius:inherit;background:linear-gradient(90deg,#0f62fe,#38bdf8);animation:soviaLoad 1.25s ease-in-out infinite}@keyframes soviaPulse{0%,100%{transform:scale(1)}50%{transform:scale(1.045)}}@keyframes soviaLoad{0%{transform:translateX(-110%)}100%{transform:translateX(260%)}}
.sovia-install-banner{position:fixed;left:16px;right:16px;bottom:104px;z-index:10040;display:none;align-items:center;gap:12px;background:#fff;border:1px solid rgba(15,98,254,.12);border-radius:24px;padding:12px 14px;box-shadow:0 18px 55px rgba(15,35,80,.18)}.sovia-install-banner.show{display:flex}.sovia-install-banner img{width:42px;height:42px;border-radius:14px}.sovia-install-banner strong{display:block;color:#102033;font-size:14px}.sovia-install-banner span{display:block;color:#667085;font-size:12px}.sovia-install-banner .btn{border-radius:14px!important;padding:9px 13px!important;font-weight:800}.sovia-install-close{border:0;background:transparent;color:#94a3b8;font-size:18px;margin-left:auto}
.sovia-mobile-quick{display:none}.sovia-mobile-topbar{display:none}
@media(max-width:768px){
 html,body{min-height:100%;background:linear-gradient(180deg,#eef6ff,#f8fbff)!important;-webkit-tap-highlight-color:transparent}body{padding-bottom:104px!important;overscroll-behavior-y:contain}.main-sidebar{display:none!important}.navbar-bg{height:124px!important;border-radius:0 0 34px 34px!important;background:linear-gradient(135deg,#0f62fe,#4453c7)!important}.main-navbar{height:84px!important;padding:0 16px!important}.main-navbar form.form-inline{display:none!important}.main-navbar .navbar-right{margin-left:auto}.main-navbar .nav-link-user .d-sm-none.d-lg-inline-block{display:block!important;max-width:128px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:800}.main-navbar .dropdown-toggle:after{display:none}.sovia-theme-toggle,.main-navbar .notification-toggle{width:42px;height:42px;display:inline-flex!important;align-items:center;justify-content:center;border-radius:16px;background:rgba(255,255,255,.14)!important;backdrop-filter:blur(12px)}.main-content{padding:104px 14px 0 14px!important;margin-left:0!important}.section .section-header{margin:-42px 0 16px 0!important;border-radius:30px!important;padding:20px!important;background:rgba(255,255,255,.96)!important;box-shadow:0 18px 60px rgba(15,35,80,.12)!important;border:1px solid rgba(255,255,255,.75)!important}.section .section-header h1{font-size:24px!important;line-height:1.22!important;margin:0!important;color:#102033!important}.section-header-breadcrumb,.section-header-button{display:none!important}.section-body{padding:0!important}.card{border-radius:28px!important;box-shadow:0 18px 60px rgba(15,35,80,.11)!important;border:1px solid rgba(226,232,240,.65)!important;margin-bottom:18px!important}.card .card-header{padding:18px 20px!important}.card .card-header h4{font-size:18px!important}.card .card-body{padding:18px!important}.btn{min-height:44px;border-radius:16px!important}.btn-sm{min-height:36px}.form-control,.custom-select,.input-group-text{min-height:52px!important;border-radius:18px!important;font-size:15px!important}.input-group .form-control:first-child{border-radius:18px 0 0 18px!important}.input-group .input-group-append .btn,.input-group .input-group-append .input-group-text{border-radius:0 18px 18px 0!important}.table-responsive{border:0!important;overflow:visible!important}.table{border-collapse:separate!important;border-spacing:0 12px!important}.table thead{display:none!important}.table tr{display:block;background:#fff;border:1px solid #e8eef7;border-radius:22px;box-shadow:0 12px 32px rgba(15,35,80,.07);padding:12px;margin-bottom:12px}.table td{display:flex!important;justify-content:space-between;gap:14px;border:0!important;padding:8px 6px!important;white-space:normal!important}.table td:before{content:attr(data-label);font-weight:900;color:#667085;min-width:98px}.table td:first-child:before{content:'No'}.badge{border-radius:999px;padding:.48rem .7rem}.main-footer{display:none!important}.sovia-bottom-nav{display:grid!important;grid-template-columns:repeat(4,1fr)!important;left:14px!important;right:14px!important;bottom:14px!important;padding:10px!important;border-radius:28px!important;box-shadow:0 22px 70px rgba(15,35,80,.22)!important;background:rgba(255,255,255,.92)!important;backdrop-filter:blur(18px);border:1px solid rgba(255,255,255,.78)}.sovia-bottom-nav a{font-size:11px!important;border-radius:20px!important;padding:10px 4px!important;color:#667085!important}.sovia-bottom-nav a i{font-size:19px!important}.sovia-bottom-nav a.active{background:linear-gradient(135deg,rgba(15,98,254,.14),rgba(68,83,199,.1))!important;color:#0f62fe!important}.sovia-mobile-quick{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:0 0 16px}.sovia-mobile-quick a{display:flex;min-height:82px;align-items:center;justify-content:center;flex-direction:column;gap:8px;text-decoration:none;background:#fff;border:1px solid rgba(226,232,240,.72);border-radius:24px;color:#102033;font-weight:900;font-size:11px;text-align:center;box-shadow:0 12px 32px rgba(15,35,80,.08)}.sovia-mobile-quick i{width:38px;height:38px;border-radius:16px;background:linear-gradient(135deg,#0f62fe,#4453c7);color:#fff;display:grid;place-items:center;font-size:16px}.sovia-mobile-role-pill{display:inline-flex;align-items:center;gap:8px;border-radius:999px;background:rgba(15,98,254,.1);color:#0f62fe;font-weight:900;font-size:12px;padding:8px 12px;margin-bottom:12px}.sovia-mobile-fab{position:fixed;right:22px;bottom:102px;z-index:9998;width:58px;height:58px;border-radius:22px;background:linear-gradient(135deg,#0f62fe,#4453c7);color:#fff!important;display:grid;place-items:center;box-shadow:0 18px 44px rgba(15,98,254,.32);text-decoration:none;font-size:22px}.sovia-mobile-fab:hover{color:#fff;text-decoration:none}.sovia-login-page{background:linear-gradient(180deg,#eaf4ff,#f8fbff)!important}.sovia-login-page .container{margin-top:22px!important}.sovia-login-page .login-brand img{max-height:88px!important;max-width:260px!important}.sovia-login-page .login-brand .brand-name{font-size:36px!important;color:#0f62fe!important;letter-spacing:.05em}.sovia-login-page .login-brand .brand-tagline{letter-spacing:.24em;text-transform:uppercase}.sovia-login-page .card{border-radius:32px!important;box-shadow:0 24px 70px rgba(15,35,80,.13)!important}.sovia-login-page .card-header{padding:22px 24px!important}.sovia-login-page .card-header h4{font-size:28px!important}.sovia-webview-mode .public-navbar,.sovia-webview-mode .public-footer{display:none!important}.sovia-webview-mode .front-hero{padding-top:24px!important}.sovia-webview-mode{padding-bottom:92px!important}
}
@media(max-width:380px){.sovia-mobile-quick{grid-template-columns:repeat(3,1fr)}.section .section-header h1{font-size:21px!important}.sovia-install-banner{bottom:96px}}
@media(min-width:769px){.sovia-pwa-splash{display:none!important}}
