/* LJIP Mobile App Layer — desktop styles intentionally untouched */
.ljip-network-banner{display:none}
:root{--app-safe-top:env(safe-area-inset-top,0px);--app-safe-right:env(safe-area-inset-right,0px);--app-safe-bottom:env(safe-area-inset-bottom,0px);--app-safe-left:env(safe-area-inset-left,0px)}
@media(max-width:991.98px){
 html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;text-size-adjust:100%}
 body{overscroll-behavior-y:contain;-webkit-tap-highlight-color:transparent}
 body.ljip-app-mobile{padding-left:var(--app-safe-left);padding-right:var(--app-safe-right)}
 body.ljip-app-mobile .erp-topbar,body.ljip-app-mobile .company-topbar,body.ljip-app-mobile .cc-head{padding-top:var(--app-safe-top);height:auto;min-height:64px}
 body.ljip-app-mobile .mobile-bottom-nav,body.ljip-app-mobile .cc-mobile-bottom{bottom:max(6px,var(--app-safe-bottom));}
 body.ljip-app-mobile .erp-main,body.ljip-app-mobile .company-main,body.ljip-app-mobile .cc-body{padding-bottom:calc(84px + var(--app-safe-bottom))}

 /* Touch targets */
 button,.btn,a.btn,input[type=button],input[type=submit],select,.form-select{min-height:44px}
 .btn-sm{min-height:38px}
 .top-icon-btn,.mobile-nav-toggle{min-width:44px;min-height:44px;display:grid;place-items:center}
 .dropdown-menu{max-width:calc(100vw - 20px)}

 /* Forms */
 .form-control,.form-select{font-size:16px!important;border-radius:12px}
 textarea.form-control{min-height:110px}
 .input-group>.form-control,.input-group>.form-select{min-width:0}
 label.form-label{font-weight:750;margin-bottom:6px}
 .form-check-input{width:1.2em;height:1.2em}
 .modal-dialog{margin:10px;max-width:calc(100% - 20px)}
 .modal-content,.offcanvas{border-radius:20px}
 .modal-footer{gap:8px}.modal-footer .btn{flex:1}

 /* Content spacing / cards */
 .container,.container-fluid{max-width:100%;}
 .erp-main .container-fluid,.company-main .container-fluid{padding:12px!important}
 .card,.cc-card{border-radius:18px!important;box-shadow:0 8px 24px rgba(26,50,82,.06)}
 .card-body{padding:15px}
 h1,.h1{font-size:1.55rem}h2,.h2{font-size:1.3rem}h3,.h3{font-size:1.15rem}
 .page-title,.cc-title{letter-spacing:-.025em}

 /* Tables become horizontally safe without changing semantics */
 .ljip-mobile-table-wrap{width:100%;overflow:auto;-webkit-overflow-scrolling:touch;border-radius:14px}
 .ljip-mobile-table-wrap table{margin-bottom:0;min-width:680px}
 .table>:not(caption)>*>*{padding:.72rem .65rem;vertical-align:middle}

 /* Filter/toolbars */
 .btn-toolbar,.page-actions,.toolbar,.filter-bar,.filters,.action-bar{gap:8px;flex-wrap:wrap}
 .btn-toolbar>.btn,.page-actions>.btn,.toolbar>.btn,.action-bar>.btn{flex:0 0 auto}
 .ljip-mobile-sticky-actions{position:sticky;bottom:calc(76px + var(--app-safe-bottom));z-index:1020;background:rgba(255,255,255,.96);backdrop-filter:blur(12px);padding:8px;border:1px solid #e7edf4;border-radius:16px;box-shadow:0 10px 26px rgba(21,50,83,.12)}

 /* Admin / Portal */
 .erp-sidebar,.company-sidebar{padding-bottom:calc(95px + var(--app-safe-bottom))}
 .mobile-bottom-nav{left:6px!important;right:6px!important;width:auto!important;border-radius:20px!important;padding:7px 6px calc(7px + var(--app-safe-bottom))!important;background:rgba(255,255,255,.96)!important;backdrop-filter:blur(15px);-webkit-backdrop-filter:blur(15px);box-shadow:0 14px 36px rgba(16,44,78,.22)!important;border:1px solid #dce6f1!important}
 .mobile-bottom-nav .mobile-bottom-link{min-width:0;min-height:52px!important;border-radius:14px!important}
 .mobile-bottom-nav .mobile-bottom-link i{font-size:1.18rem}
 .mobile-bottom-nav .mobile-bottom-link span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%;font-size:10px!important}
 .attention-fab{bottom:calc(88px + var(--app-safe-bottom))!important;right:12px!important}

 /* Candidate center */
 .cc-shell{padding-left:10px!important;padding-right:10px!important}
 .cc-mobile-bottom{padding-bottom:calc(6px + var(--app-safe-bottom))!important}
 .cc-mobile-more{bottom:max(6px,var(--app-safe-bottom))!important;max-height:calc(78vh - var(--app-safe-top));}
 .cc-mobile-more-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important}

 /* Public recruitment */
 .job-card,.recruitment-card{border-radius:18px!important}
 .hero,.hero-section{border-radius:0 0 24px 24px}
 .ljip-site-footer{margin-bottom:calc(78px + var(--app-safe-bottom))!important}

 /* File / media */
 img,video,iframe{max-width:100%}
 iframe{border:0}
 input[type=file]{max-width:100%}

 /* App network banner */
 .ljip-network-banner{position:fixed;left:10px;right:10px;top:calc(8px + var(--app-safe-top));z-index:20000;padding:10px 14px;border-radius:14px;background:#172a45;color:white;font-weight:800;font-size:.83rem;box-shadow:0 12px 32px rgba(0,0,0,.22);display:none;align-items:center;gap:8px}
 .ljip-network-banner.show{display:flex}

 /* iOS standalone/webview polish */
 .ljip-app-mode *{touch-action:manipulation}
 .ljip-app-mode input,.ljip-app-mode textarea,.ljip-app-mode select{user-select:text;-webkit-user-select:text}
 .ljip-app-mode .dropdown-menu,.ljip-app-mode .offcanvas,.ljip-app-mode .modal{overscroll-behavior:contain}
}
@media(max-width:575.98px){
 .cc-mobile-more-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}
 .row.g-3{--bs-gutter-x:.75rem;--bs-gutter-y:.75rem}
 .card-body,.cc-card.p-4{padding:14px!important}
 .btn-group{max-width:100%;overflow:auto}
 .pagination{flex-wrap:wrap;gap:3px}.page-link{border-radius:9px!important}
}
