/* NAVYA HR CLOUD · UNIVERSAL RESPONSIVE SHELL v41 */
html,body{width:100%;max-width:100%;min-width:0;margin:0;padding:0;overflow-x:hidden;-webkit-text-size-adjust:100%;text-size-adjust:100%;background:#f7f9fc}
html{min-height:100%;min-height:100dvh}
body{min-height:100%;min-height:100dvh}
*,*::before,*::after{box-sizing:border-box}
img,svg,video,canvas{max-width:100%;height:auto}
button,input,select,textarea{max-width:100%;min-width:0}
#app,.app{width:100%;max-width:100%;min-width:0;min-height:100dvh}
.app{display:flex;position:relative;overflow-x:hidden}
.app main{min-width:0;max-width:none;flex:1 1 auto;overflow-x:hidden}
.sidebar{flex:0 0 252px;max-width:252px;min-width:0;overflow-x:hidden;overflow-y:auto}
.top,.section-head,.plans-head,.toolbar{min-width:0;max-width:100%}
.top>div,.section-head>div,.plans-head>div{min-width:0;max-width:100%}
.title,.sub,.section-kicker,h1,h2,h3,h4,p,small,b,strong,span{overflow-wrap:anywhere}
.table-wrap{width:100%;max-width:100%;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain}
.table-wrap table{width:max-content;min-width:720px}
.modal{position:fixed;inset:0;width:100%;height:100%;height:100dvh;min-height:100dvh;padding:max(8px,env(safe-area-inset-top)) max(8px,env(safe-area-inset-right)) max(8px,env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-left));overflow-y:auto;overflow-x:hidden;align-items:center}
.modal-box{width:min(720px,100%);max-width:100%;max-height:calc(100dvh - 16px);max-height:calc(100svh - 16px);overflow:auto;-webkit-overflow-scrolling:touch}
.section,.card,.grid,.cards,.dashboard-grid,.dashboard-main-grid,.customer-main-grid,.catalog-grid,.dashboard-intelligence,.insight-panel,.renewal-focus,.dashboard-welcome,.premium-kpis,.customer-hero,.customer-score-grid,.customer-bottom-strip{min-width:0;max-width:100%}
.dashboard-welcome>*,.customer-hero>*{min-width:0;max-width:100%}
.payment-profile{min-width:0}
.payment-profile>div{min-width:0;overflow-wrap:anywhere}
.customer-module-cards,.customer-trust,.insight-grid,.renewal-cards,.ref-cards,.scale-items{min-width:0;max-width:100%}
.profile-upload-row{min-width:0;max-width:100%}
.profile-upload-row>div{min-width:0;max-width:100%}
@media(max-width:1100px){
 .sidebar{position:fixed;left:0;top:0;bottom:0;z-index:30;transform:translateX(-105%);transition:transform .22s ease;box-shadow:14px 0 35px rgba(16,36,66,.14)}
 .sidebar.open{transform:translateX(0)!important}
 .app main{margin-left:0!important;width:100%!important;max-width:100%!important;padding:20px 18px 30px}
 .mobile{display:inline-flex!important}
 .cards,.score-grid,.customer-score-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .dashboard-grid,.dashboard-main-grid,.customer-main-grid,.catalog-grid,.dashboard-intelligence{grid-template-columns:1fr}
 .dashboard-welcome{grid-template-columns:1fr}
 .dashboard-side,.side-stack{grid-template-columns:repeat(2,minmax(0,1fr))}
 .customer-hero{grid-template-columns:1fr}
 .customer-module-cards{grid-template-columns:repeat(2,minmax(0,1fr))}
 .reference-strip,.customer-bottom-strip{grid-template-columns:1fr}
 .form{grid-template-columns:1fr}
 .field.full{grid-column:1}
 .permission-row{grid-template-columns:1fr 1fr 1fr}
 .permission-row>div{grid-column:1/-1}
 .welcome-actions{justify-content:flex-start;flex-wrap:wrap}
}
@media(max-width:700px){
 html,body{min-height:100%;min-height:100svh}
 .app main{padding:16px 12px max(24px,env(safe-area-inset-bottom))}
 .top{align-items:flex-start;gap:10px;flex-wrap:wrap;margin-bottom:16px}
 .toolbar{width:100%;display:flex;flex-wrap:wrap}
 .title{font-size:21px}
 .cards,.score-grid,.customer-score-grid,.customer-module-cards,.dashboard-side,.side-stack{grid-template-columns:1fr}
 .section,.card{padding:15px}
 .section-head,.customer-panel-head,.dash-section-head{flex-direction:column;align-items:flex-start}
 .welcome-stats{grid-template-columns:1fr 1fr}
 .welcome-actions{display:grid;grid-template-columns:1fr;width:100%}
 .welcome-actions .btn{width:100%}
 .customer-hero-copy{padding:22px}
 .customer-hero-copy h1{font-size:27px}
 .customer-hero-meta{flex-wrap:wrap}
 .customer-trust{grid-template-columns:1fr}
 .tenant-summary{grid-template-columns:1fr 1fr}
 .insight-kpis{grid-template-columns:1fr 1fr}
 .renewal-cards{grid-template-columns:1fr 1fr}
 .profile-hero{flex-direction:column;align-items:flex-start}
 .profile-hero-meta{width:100%;flex-wrap:wrap}
 .profile-hero-meta span{flex:1 1 140px}
 .payment-profile{flex-direction:column}
 .payment-qr{align-self:center}
 .table-wrap table{min-width:650px}
}
@media(max-width:480px){
 .app main{padding:13px 9px max(22px,env(safe-area-inset-bottom))}
 .top{gap:8px}
 .title{font-size:19px}
 .sub{font-size:11px}
 .btn{min-height:40px;padding:9px 12px}
 .toolbar{gap:7px}
 .toolbar .btn{flex:0 1 auto}
 .welcome-stats,.tenant-summary,.insight-kpis,.renewal-cards{grid-template-columns:1fr 1fr}
 .welcome-stats>div{padding:9px}
 .dashboard-welcome{padding:16px}
 .dashboard-welcome .welcome-actions{grid-template-columns:1fr}
 .customer-hero-copy{padding:19px}
 .customer-hero-card{padding:18px}
 .customer-score{min-height:96px;padding:14px}
 .customer-module-groups{padding:14px}
 .table-wrap table{min-width:620px}
 .modal{padding:6px}
 .modal-box{width:100%;max-width:100%;max-height:calc(100dvh - 12px);padding:15px;border-radius:15px}
 .profile-hero{margin:10px 12px 0;padding:15px}
 .premium-profile-form{padding:12px}
 .profile-upload-row{flex-wrap:wrap}
 .profile-upload-row .btn{width:100%;margin-left:0}
}
@media(orientation:landscape) and (max-height:600px){
 .app main{padding-top:10px;padding-bottom:18px}
 .modal{align-items:flex-start}
 .modal-box{max-height:calc(100svh - 12px)}
}