/* ProxDigi unified premium mobile application shell — production v1, 2026-10-18.
   Mobile-only enhancements. Desktop layout, form posts and permissions remain unchanged. */
:root{--pd-app-chrome:#030A12;--pd-app-surface:#0b1a26;--pd-app-glass:rgba(8,19,30,.94);--pd-app-line:rgba(210,166,75,.20)}
.pd-app-bottom-nav,.pd-app-scrim{display:none}
@media(max-width:768px){
 html{min-width:0;scroll-padding-top:74px;-webkit-text-size-adjust:100%}
 body{min-width:0;background-color:var(--pd-app-chrome);overscroll-behavior-y:contain}
 body.pd-portal{background:radial-gradient(ellipse 100% 420px at 50% -80px,rgba(34,71,94,.27),transparent 72%),#030A12}
 :where(.public-site,.pd-portal) :is(button,a,input,select,textarea,summary){-webkit-tap-highlight-color:transparent}
 :where(.public-site,.pd-portal) :is(button,a,summary,[role="button"]):focus-visible{outline:2px solid #F1C66B!important;outline-offset:3px}
 :where(.public-site,.pd-portal) :is(img,video,iframe,svg){max-width:100%}
 :where(.public-site,.pd-portal) :is(input,select,textarea){max-width:100%;min-width:0}
 :where(.public-site,.pd-portal) :is(input:not([type="checkbox"]):not([type="radio"]),select,textarea){font-size:16px}
 .pd-app-bottom-nav{
   position:fixed;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));
   inset:auto 0 0;z-index:1190;min-height:68px;padding:7px max(8px,env(safe-area-inset-right)) calc(7px + env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-left));
   background:linear-gradient(180deg,rgba(12,29,42,.97),rgba(3,10,18,.99));
   border-top:1px solid rgba(210,166,75,.25);
   box-shadow:0 -12px 34px rgba(0,0,0,.38),inset 0 1px rgba(255,255,255,.035);
   -webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);
 }
 .pd-app-bottom-nav a,.pd-app-bottom-nav button{
   appearance:none;-webkit-appearance:none;border:0;background:transparent;
   color:#aebfcd;text-decoration:none;min-width:0;min-height:54px;
   display:flex;flex-direction:column;align-items:center;justify-content:center;
   gap:3px;padding:5px 2px;border-radius:13px;font:600 10px/1.25 system-ui,-apple-system,sans-serif;
   letter-spacing:.005em;cursor:pointer;
 }
 .pd-app-bottom-nav .pd-tab-icon{display:flex;align-items:center;justify-content:center;width:36px;height:27px;border-radius:10px;transition:background .18s,color .18s}
 .pd-app-bottom-nav .pd-tab-icon i{font-size:18px}
 .pd-app-bottom-nav .pd-tab-label{white-space:nowrap;max-width:100%;overflow:hidden;text-overflow:ellipsis}
 .pd-app-bottom-nav :is(a,button):is(.is-active,[aria-current="page"]){color:#f4c66e}
 .pd-app-bottom-nav :is(a,button):is(.is-active,[aria-current="page"]) .pd-tab-icon{background:rgba(210,166,75,.16);box-shadow:inset 0 0 0 1px rgba(210,166,75,.20)}
 .pd-app-bottom-nav :is(a,button):active{transform:scale(.96)}
 .pd-portal .app-layout{min-height:100svh}
 .pd-portal .main-content{min-width:0;width:100%;margin-left:0!important;padding-bottom:calc(75px + env(safe-area-inset-bottom))}
 .pd-portal .top-bar{
   position:sticky;top:0;z-index:40;width:100%;height:auto;min-height:69px;
   padding:11px 15px 11px max(15px,env(safe-area-inset-left));gap:10px;
   background:var(--pd-app-glass);border-bottom:1px solid var(--pd-app-line);
   backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);
 }
 .pd-portal .top-bar>div:first-child{min-width:0;flex:1;gap:9px!important}
 .pd-portal .top-bar>div:first-child>div{min-width:0}
 .pd-portal .top-bar>div:first-child h3{font-size:clamp(.92rem,4vw,1.06rem)!important;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:min(53vw,270px)}
 .pd-portal .top-bar .breadcrumbs{font-size:11px;white-space:nowrap;max-width:57vw;overflow:hidden;text-overflow:ellipsis;opacity:.8}
 .pd-portal .top-bar>div:last-child{gap:8px!important;flex-shrink:0}
 .pd-portal .top-bar>div:last-child>.badge{display:none}
 .pd-portal .top-bar>div:last-child>.btn{min-height:40px;padding:8px 10px;font-size:11px;max-width:125px}
 .pd-portal .top-bar>div:last-child>.btn i{font-size:14px}
 .pd-portal .topbar-search{display:none}
 .pd-portal .content-body{padding:16px 14px 28px;min-width:0}
 .pd-portal .content-body> :is(h1,h2,h3){letter-spacing:-.02em}
 .pd-portal .content-body :is(.card,.stat-card,.dashboard-card,.panel,.premium-card){border-radius:17px}
 .pd-portal .content-body :is(.card,.stat-card,.dashboard-card,.panel){box-shadow:0 8px 22px rgba(0,0,0,.12)}
 .pd-portal .content-body :is(.btn,button[type="submit"]){min-height:40px;touch-action:manipulation}
 .pd-portal .content-body :is(input,textarea,select){border-radius:10px}
 .pd-portal .content-body :is(.table-responsive,[class*="table-wrap"],[class*="table-scroll"]){max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
 .pd-portal .content-body table{font-size:12.5px}
 .pd-portal .content-body :is(td,th){vertical-align:middle}
 .pd-portal .content-body :is(.row,.grid){min-width:0}
 .pd-portal .content-body :is(pre,code){overflow-wrap:anywhere}
 .pd-portal .sidebar{
   width:min(320px,86vw);max-width:86vw;z-index:1250;
   transition:transform .25s ease;box-shadow:20px 0 55px rgba(0,0,0,.45);
   padding-top:env(safe-area-inset-top);background:#081622;
 }
 .pd-portal .app-layout.sidebar-mobile-open .sidebar{width:min(320px,86vw)!important}
 .pd-portal .sidebar .sidebar-header{min-height:70px;height:auto}
 .pd-portal .sidebar .menu-link{min-height:45px;border-radius:10px;margin:1px 10px;padding:10px 12px}
 .pd-portal .sidebar .menu-item.active .menu-link{background:rgba(210,166,75,.13)}
 .pd-portal .sidebar .sidebar-menu{padding-bottom:calc(90px + env(safe-area-inset-bottom))}
 .pd-app-scrim{position:fixed;inset:0;z-index:1240;background:rgba(0,6,12,.72);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}
 .pd-portal.pd-sidebar-open .pd-app-scrim{display:block}
 .pd-portal.pd-sidebar-open{overflow:hidden}
 .pd-portal .mobile-nav-toggle.sidebar-toggle-btn{display:inline-flex!important;align-items:center;justify-content:center;flex:none;width:39px;height:39px;border:1px solid var(--pd-app-line);border-radius:12px;background:rgba(210,166,75,.08);color:#f4c66e}
 .public-site{padding-bottom:calc(72px + env(safe-area-inset-bottom))}
 .public-site .public-header{position:sticky;top:0;z-index:1100;background:rgba(3,10,18,.95);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border-bottom:1px solid var(--pd-app-line)}
 .public-site .public-mobile-panel.is-open{max-height:calc(100svh - 155px - env(safe-area-inset-bottom));overflow-y:auto;overscroll-behavior:contain;box-shadow:0 28px 45px rgba(0,0,0,.4)}
 .public-site .public-mobile-links a{min-height:43px;display:flex;align-items:center}
 .public-site .public-mobile-toggle{border-radius:12px;min-height:42px;min-width:42px}
 .public-site :is(.premium-card,.pricing-card,.service-summary-card,.project-card,.process-card){border-radius:18px}
 .public-site .whatsapp-float,.public-site .pd-wa-widget,.public-site .pd-wa-btn{bottom:calc(90px + env(safe-area-inset-bottom))!important}
 .public-site .chat-widget-toggle{bottom:calc(90px + env(safe-area-inset-bottom))!important}
 .public-site .chat-widget-box{bottom:calc(148px + env(safe-area-inset-bottom))!important;max-height:calc(100svh - 210px)}
 .public-site .public-footer{padding-bottom:20px}
 .pd-portal .alert,.public-site .public-flash{border-radius:13px}
}
@media(max-width:390px){
 .pd-app-bottom-nav{padding-left:3px;padding-right:3px}
 .pd-app-bottom-nav a,.pd-app-bottom-nav button{font-size:9px;gap:3px}
 .pd-portal .content-body{padding-left:11px;padding-right:11px}
 .pd-portal .top-bar{padding-left:10px;padding-right:10px}
 .pd-portal .top-bar>div:last-child>.btn{font-size:0;min-width:37px;max-width:42px}
 .pd-portal .top-bar>div:last-child>.btn i{font-size:14px}
}
@media(min-width:769px){.pd-app-bottom-nav,.pd-app-scrim{display:none!important}}
@media(prefers-reduced-motion:reduce){.pd-app-bottom-nav *,.pd-portal .sidebar{transition:none!important;animation:none!important}}
@media print{.pd-app-bottom-nav,.pd-app-scrim{display:none!important}.pd-portal .main-content{padding-bottom:0!important}.public-site{padding-bottom:0!important}}

/* Respect the dedicated full-screen project and wallet navigation. */
@media(max-width:900px){
 body.pd-context-dock .pd-app-bottom-nav{display:none!important}
 body.pd-context-dock .main-content{padding-bottom:0!important}
}
@media(min-width:769px) and (max-width:992px){
 body.pd-portal .mobile-nav-toggle.sidebar-toggle-btn{
  display:inline-flex!important;align-items:center;justify-content:center;
  min-width:42px;min-height:42px;border:1px solid rgba(210,166,75,.25);
  border-radius:12px;background:rgba(210,166,75,.1)
 }
 body.pd-portal .sidebar{z-index:1250}
 body.pd-portal.pd-sidebar-open{overflow:hidden}
 body.pd-portal.pd-sidebar-open .pd-app-scrim{display:block}
}

/* Notch and Dynamic Island safe areas when launched from the home screen. */
@media(max-width:768px){
 body.pd-portal .top-bar{padding-top:calc(11px + env(safe-area-inset-top))}
 body.public-site .public-header{padding-top:env(safe-area-inset-top)}
 body.pd-portal .content-body :is(.table-responsive,.table-container){scrollbar-width:thin}
 body.pd-portal :is(.modal,.dialog,[role="dialog"]){max-width:calc(100vw - 20px)}
 body.pd-portal :is(.modal,.dialog,[role="dialog"]) :is(input,textarea,select){max-width:100%}
}

/* Portal viewport containment & reliable LTE drawer (backend-only, 2026-10-18). */
@media(max-width:992px){
 body.pd-portal{width:100%;max-width:100%;min-width:0;overflow-x:clip}
 body.pd-portal .app-layout{display:block;width:100%;min-width:0;max-width:100%;overflow-x:clip}
 body.pd-portal .app-layout .main-content{
   display:flex;flex-direction:column;flex:1 1 auto;
   min-width:0;max-width:100%;width:100%!important;margin-left:0!important;overflow-x:clip
 }
 body.pd-portal .top-bar{width:100%;max-width:100%;min-width:0;flex-wrap:nowrap;gap:8px}
 body.pd-portal .top-bar>div:first-child{min-width:0;flex:1 1 auto}
 body.pd-portal .top-bar>div:last-child{flex:0 0 auto;min-width:0;gap:7px!important}
 body.pd-portal .top-bar .mobile-nav-toggle{display:inline-flex!important;align-items:center;justify-content:center;flex-shrink:0;min-width:42px;min-height:42px}
 body.pd-portal .content-body{display:block;flex:1 1 auto;width:100%;min-width:0;max-width:100%;overflow-x:clip}
 body.pd-portal .content-body > *{min-width:0;max-width:100%}
 body.pd-portal .content-body :is(.card,.panel,.stat-card,.dashboard-card,.premium-card,.row,.grid,.table-filter-bar,.form-group){min-width:0;max-width:100%;overflow-wrap:anywhere}
 body.pd-portal .content-body :is(.table-responsive,.pd-mobile-table-scroll,[class*="table-wrap"],[class*="table-scroll"]){
   display:block;max-width:100%;width:100%;min-width:0;overflow-x:auto;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch
 }
 body.pd-portal .content-body .pd-mobile-table-scroll>table{width:max-content;min-width:100%}
 body.pd-portal .content-body [style*="grid-template-columns:1fr 1fr"],
 body.pd-portal .content-body [style*="grid-template-columns: 1fr 1fr"]{
    grid-template-columns:minmax(0,1fr)!important
 }
 body.pd-portal .content-body :is(.dashboard-grid,.stats-grid,.two-col-grid,.two-column,.grid-2){
   grid-template-columns:minmax(0,1fr)!important
 }
 body.pd-portal .content-body [style*="grid-template-columns:repeat(auto-fit"]{
   grid-template-columns:repeat(auto-fit,minmax(min(100%,180px),1fr))!important
 }
 body.pd-portal .content-body :is(img,video,iframe,canvas){max-width:100%;height:auto}
 body.pd-portal .content-body :is(input,textarea,select,button){max-width:100%;min-width:0}
 body.pd-portal .sidebar{
    width:min(330px,86vw)!important;max-width:86vw!important;
    transform:translate3d(-110%,0,0);
    transition:transform .24s ease!important;z-index:1250;
 }
 body.pd-portal .app-layout.sidebar-mobile-open .sidebar{transform:translate3d(0,0,0)!important}
 body.pd-portal .app-layout.sidebar-collapsed .sidebar :is(.logo-text,.menu-text,.menu-section-label){display:initial}
 body.pd-portal .app-layout.sidebar-collapsed .sidebar .menu-link{justify-content:flex-start}
 body.pd-portal .app-layout.sidebar-collapsed .sidebar .menu-section-label{display:list-item!important}
 body.pd-portal .app-layout.sidebar-collapsed .sidebar .menu-text,
 body.pd-portal .app-layout.sidebar-collapsed .sidebar .logo-text{display:inline!important}
 body.pd-portal .sidebar .sidebar-menu{overscroll-behavior:contain}
 body.pd-portal .pd-app-scrim[hidden]{display:none!important}
 body.pd-portal.pd-sidebar-open .pd-app-scrim:not([hidden]){display:block!important}
 body.pd-portal.pd-sidebar-open{overflow:hidden}
 body.pd-portal .sidebar .sidebar-toggle-btn{min-height:40px;min-width:40px;border:1px solid rgba(210,166,75,.22);border-radius:10px}
}
@media(max-width:768px){
 body.pd-portal .top-bar{padding-left:12px;padding-right:12px}
 body.pd-portal .content-body{padding:14px 12px calc(95px + env(safe-area-inset-bottom))}
 body.pd-portal .sidebar .menu-link{padding:11px 13px}
}
@media(max-width:600px){
 body.pd-portal .top-bar .breadcrumbs{display:none}
 body.pd-portal .top-bar>div:first-child h3{max-width:40vw;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
 body.pd-portal .top-bar>div:last-child>.btn{font-size:0!important;min-width:41px;max-width:44px;padding:9px!important}
 body.pd-portal .top-bar>div:last-child>.btn i{font-size:16px!important}
 body.pd-portal .content-body [style*="grid-template-columns:repeat(auto-fit"]{
    grid-template-columns:minmax(0,1fr)!important
 }
}
@media(min-width:769px) and (max-width:992px){
 body.pd-portal .content-body{padding:20px 18px 30px}
 body.pd-portal .sidebar .menu-link{min-height:46px}
}
@media print{body.pd-portal .app-layout,body.pd-portal .main-content,body.pd-portal .content-body{overflow:visible!important}}
