/* PDSB Portal v1.34.122 — responsive presentation and dialog framework.
   Loaded last by portal_html_shell. No permission/workflow/API changes. */
:root{--pdsb-touch:44px;--pdsb-space:16px;--pdsb-dialog-gap:12px}
.portal-shell,.portal-main,.portal-main>*,.pc-wrap,.pc-header-actions,.pc-toolbar>*,.pr-main,.pr-main>*,.pr-guided-card,.pr-vendor-section,.cb88-wrap,.prod-main{min-width:0;box-sizing:border-box}
.portal-main{max-width:100%}
.pdsb-preview-banner{z-index:1003!important}
.topbar>*,.section-head>*,.pc-toolbar>*{min-width:0;max-width:100%}
.pc-topbar{flex-wrap:wrap}
.pc-topbar>div:first-child{flex:1 1 280px;min-width:0}
.pc-header-actions{flex:1 1 380px;max-width:100%;flex-wrap:wrap}
#pc-project-picker{width:100%;max-width:100%;min-width:0;flex:1 1 240px;text-overflow:ellipsis}
.pc-header-actions .btn{flex-shrink:0}
.pdsb-table-region,.asset-table-wrap,.table-wrap,.table-scroll,.pc-table-wrap,.cb88-table-wrap,.allocation-table-wrap{min-width:0;max-width:100%;box-sizing:border-box;overflow-x:auto;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch}
.pdsb-table-region:focus-visible{outline:3px solid #3983c9;outline-offset:2px}
.pdsb-table-hint{font-size:12px;line-height:1.4;color:#56718b;margin:6px 0}
.pdsb-mobile-disclosure{min-width:0}
.pdsb-mobile-disclosure>summary{display:none}
.pdsb-mobile-disclosure>summary:focus-visible{outline:3px solid #3983c9;outline-offset:2px}
.pdsb-dialog-open{overflow:hidden!important;overscroll-behavior:none}
.pdsb-dialog-backdrop{z-index:var(--pdsb-dialog-layer,15000)!important}
.pdsb-dialog-panel{box-sizing:border-box!important;min-width:0!important;max-width:calc(100vw - 24px)!important;max-height:calc(var(--pdsb-viewport-height,100dvh) - 24px)!important;overscroll-behavior:contain;scrollbar-gutter:stable;scroll-padding-top:90px;scroll-padding-bottom:100px}
.pdsb-dialog-panel:not(.ac-modal):not(.admin-person-modal):not(.cb88-modal):not(.pr92-dialog){overflow-y:auto!important}
.pdsb-dialog-panel .pdsb-dialog-head{position:sticky;top:0;z-index:4;background:#fff;flex-shrink:0}
.pdsb-dialog-panel .pdsb-dialog-foot{position:sticky;bottom:0;z-index:5;background:#fff;border-top:1px solid #dbe5ee;padding-top:12px;padding-bottom:max(12px,env(safe-area-inset-bottom));margin-top:16px;display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}
.pdsb-dialog-panel .pdsb-dialog-head h1,.pdsb-dialog-panel .pdsb-dialog-head h2,.pdsb-dialog-panel .pdsb-dialog-head h3{overflow-wrap:anywhere;min-width:0}
.pdsb-dialog-panel :is(input,select,textarea,fieldset){min-width:0;max-width:100%;box-sizing:border-box}
.pdsb-dialog-panel :is(.form-grid,.pr92-grid,.mp-task-grid,.pc-form-grid){min-width:0}
.pdsb-dialog-panel .pdsb-dialog-close{min-width:44px!important;min-height:44px!important;flex-shrink:0}
.pdsb-dialog-panel:focus{outline:none}
dialog.pdsb-dialog-panel{margin:auto!important}
.pdsb-dialog-panel .pdsb-dialog-head :is(h1,h2,h3):focus,.pdsb-dialog-panel :is(h1,h2,h3):focus{outline:none}
#ac-modal-root .ac-modal.pdsb-dialog-panel{max-height:calc(var(--pdsb-viewport-height,100dvh) - 24px)!important}
.pdsb-dialog-single-action{position:sticky!important;bottom:0;z-index:5;min-height:44px;width:100%;box-shadow:0 0 0 8px #fff;margin-top:14px}
.pdsb-dialog-panel .pdsb-dialog-head :focus-visible,.pdsb-dialog-panel .pdsb-dialog-foot :focus-visible{outline:3px solid #3983c9;outline-offset:2px}
/* Mobile chrome must remain below business dialogs, including SPA overlays. */
body.pdsb-dialog-open :is(.pdsb-mobile-topbar-v13410,.mobile-menu-toggle,.warranty-page-footer){visibility:hidden!important;pointer-events:none!important}
body.pdsb-dialog-open .warranty-shell{isolation:auto!important}
.pr92-scope-control-dock{position:static!important;margin:12px 0!important;max-width:100%!important}
@media(max-width:860px){
  body.pdsb-mobile-nav-ready .pdsb-preview-banner{position:relative!important;top:auto!important;margin-top:calc(62px + env(safe-area-inset-top))}
  body.pdsb-mobile-nav-ready .pdsb-preview-banner~.portal-shell .portal-main{padding-top:20px!important}
  .portal-main{padding:calc(80px + env(safe-area-inset-top)) max(16px,env(safe-area-inset-right)) max(24px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left))!important;width:100%;min-width:0}
  body:not(.pdsb-mobile-nav-ready) .portal-main{padding-top:72px!important}
  .portal-main :is(.topbar,.section-head,.pc-toolbar,.prod-section-head){gap:12px;flex-wrap:wrap;min-width:0}
  .portal-main :is(.panel,.pc-panel,.cb88-card,.prod-panel){min-width:0;max-width:100%;box-sizing:border-box}
  .portal-main :is(input:not([type=checkbox]):not([type=radio]):not([type=hidden]),select,textarea),.pdsb-dialog-panel :is(input:not([type=checkbox]):not([type=radio]):not([type=hidden]),select,textarea){font-size:16px!important;max-width:100%;box-sizing:border-box}
  .pdsb-dialog-panel :is(input,select,textarea){transition-property:border-color,background-color,box-shadow!important}
  .portal-main :is(.btn,.cb88-btn,.prod-btn,button.icon-btn),.pdsb-dialog-panel :is(.btn,.cb88-btn,.prod-btn,button){min-height:44px;touch-action:manipulation}
  .portal-main :is(.btn,.cb88-btn,.prod-btn){white-space:normal;overflow-wrap:anywhere}
  .topbar-right,.pc-header-actions{min-width:0;max-width:100%}
  .pr-master-detail{grid-template-columns:minmax(0,1fr)!important}
  .pr-list-panel,.pr-detail-panel,.pr-prf-card{min-width:0;max-width:100%;overflow-wrap:anywhere}
  .pr-current-flow-steps{min-width:0;max-width:100%;overflow-x:auto;overscroll-behavior-x:contain}
  .topbar-right :is(select,input){width:100%;min-width:0;max-width:100%}
  .pdsb-mobile-disclosure{margin:12px 0;border:1px solid #d6e3ee;border-radius:12px;background:#fff}
  .pdsb-mobile-disclosure>summary{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:48px;padding:12px 14px;font-weight:750;font-size:14px;color:#214f75;cursor:pointer;list-style:none}
  .pdsb-mobile-disclosure>summary::-webkit-details-marker{display:none}
  .pdsb-mobile-disclosure>summary::after{content:'+';font-size:20px;line-height:1}
  .pdsb-mobile-disclosure[open]>summary::after{content:'−'}
  .pdsb-mobile-disclosure[open]>summary{border-bottom:1px solid #e3ebf2}
  .pdsb-mobile-disclosure>*:not(summary){margin:0!important;max-width:100%}
  .pdsb-mobile-disclosure .pr-filterbar,.pdsb-mobile-disclosure .pc24-portfolio-controls,.pdsb-mobile-disclosure .cb88-filterbar{padding:14px!important}
  .pn118-page-grid{display:flex!important;flex-direction:column;gap:14px}
  .pn118-page-grid>.pdsb-preferences-disclosure{order:-1}
  .pn118-page-grid>.pn62-list-panel{order:0}
  .pn118-page-grid>.pdsb-preferences-disclosure .pn62-side{width:100%;position:static;order:0}
  .pdsb-dialog-panel{width:min(var(--pdsb-dialog-width,760px),calc(100vw - 16px))!important;max-width:calc(100vw - 16px)!important;max-height:calc(var(--pdsb-viewport-height,100dvh) - 16px)!important;margin:0!important;border-radius:16px!important}
  .pdsb-dialog-backdrop:not(dialog){padding:8px!important;box-sizing:border-box;inset:0!important;align-items:center;justify-content:center}
  #ac-modal-root .ac-modal-backdrop.pdsb-dialog-backdrop{padding:8px!important;align-items:center!important}
  #ac-modal-root .ac-modal.pdsb-dialog-panel{max-height:calc(var(--pdsb-viewport-height,100dvh) - 16px)!important}
  .pdsb-dialog-panel :is(.form-grid,.form-grid.three,.pr92-grid,.pc-form-grid,.mp-task-grid-2){grid-template-columns:minmax(0,1fr)!important}
  .pdsb-dialog-panel .pdsb-dialog-foot>:is(button,.btn){flex:1 1 140px;width:auto!important;font-size:14px!important;min-height:44px;padding:10px 12px;line-height:1.4}
  .pdsb-dialog-panel .pdsb-dialog-head{display:flex;flex-wrap:nowrap!important;gap:10px;align-items:flex-start}
  .pdsb-dialog-panel .pdsb-dialog-head>div{min-width:0;flex:1}
  .pdsb-dialog-panel .pdsb-dialog-head h2{font-size:22px;line-height:1.25}
  .lv-modal-card.pdsb-dialog-panel>.lv-close{position:sticky;top:0;float:right;z-index:8;margin-bottom:-44px;min-width:44px;background:#eef3f7}
  .lv-modal-card.pdsb-dialog-panel #lv-modal-body>h2{position:sticky;top:0;z-index:7;background:#fff;padding:8px 50px 8px 0}
}
@media(max-width:600px){
  .portal-main h1{font-size:26px;line-height:1.2;overflow-wrap:anywhere}
  .portal-main h2{font-size:21px;line-height:1.3}
  .portal-main :is(.panel,.pc-panel,.prod-panel){padding:16px}
  .portal-main .section-head.inline:not(.pdsb-dialog-head){flex-direction:column;align-items:stretch}
  .pc24-summary-strip{gap:8px!important}
  .pc24-summary-strip>div{padding:10px 12px!important}
  .pc24-summary-strip strong{font-size:24px!important}
  .pc24-portfolio-heading h2,.pc24-portfolio-heading>.eyebrow{display:none}
  #portfolio-new,.cb88-card-head [data-new-proposal]{display:none!important}
  .pc24-portfolio-heading .muted{font-size:13px;line-height:1.5}
  .manpower-main>.metric-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important}
  .manpower-main>.metric-grid .metric-card{padding:12px!important;min-height:0!important}
  .manpower-main>.metric-grid .metric-card strong{font-size:26px!important}
  .warranty-main .premium-cards{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important}
  .warranty-main .premium-cards>.metric{min-width:0!important;min-height:0!important;padding:14px!important}
  .warranty-main .premium-cards>.metric>span{font-size:12px!important;line-height:1.4;overflow-wrap:anywhere}
  .warranty-main .premium-cards>.metric>strong{font-size:26px!important;line-height:1.25;overflow-wrap:anywhere}
  .warranty-main .premium-cards>.metric>strong.money{font-size:22px!important}
  .warranty-main .premium-cards>.metric>small{font-size:12px!important;line-height:1.4;overflow-wrap:anywhere}
  .pd48-hero-main,.pd48-hero-copy{min-width:0;max-width:100%}
  .pd48-hero-main{align-items:flex-start!important}
  .pd48-hero-copy h1{white-space:normal!important;overflow:visible!important;text-overflow:clip!important;overflow-wrap:anywhere;font-size:24px!important;line-height:1.25}
  .pd48-hero-meta{display:flex!important;flex-wrap:wrap!important;gap:8px!important;min-width:0;max-width:100%}
  .pd48-hero-meta>.pd48-meta-card{flex:1 1 130px;min-width:0!important}
  .pd48-hero-meta :is(.portal-guides-button,.portal-notify-button){height:48px;min-height:48px;max-width:100%}
  .portal-guides-new{right:0!important;top:0!important}
  .portal-guides-button{overflow:visible;max-width:100%}
  .pdsb-record-cards{width:100%!important;min-width:0!important;border:0!important}
  .pdsb-record-cards thead{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
  .pdsb-record-cards tbody{display:block}
  .pdsb-record-cards tbody tr{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 12px;margin:0 0 12px;padding:14px;border:1px solid #dce6ee;border-radius:12px;background:#fff}
  .pdsb-record-cards tbody tr[hidden],.pdsb-record-cards tbody tr.pr-hidden{display:none!important}
  .pdsb-record-cards td{display:block!important;width:auto!important;min-width:0!important;max-width:100%!important;padding:0!important;border:0!important;white-space:normal!important;overflow-wrap:anywhere;box-sizing:border-box}
  .pdsb-record-cards td::before{content:attr(data-label);display:block;font-size:11px;font-weight:750;line-height:1.3;letter-spacing:.025em;color:#60788f;margin-bottom:4px}
  .pdsb-record-cards td:first-child,.pdsb-record-cards td:last-child,.pdsb-record-cards td.pdsb-card-wide{grid-column:1/-1}
  .pdsb-record-cards td[colspan]{grid-column:1/-1;padding:8px!important}
  .pdsb-record-cards td[colspan]::before{display:none}
  .pdsb-record-cards td :is(input,select,textarea){width:100%;min-width:0!important}
  .pdsb-record-cards td:last-child .btn{max-width:100%}
  #inventory-app table.mobile-stack-table.global-master-table tbody tr:not([hidden]){padding:12px!important;gap:8px 12px!important;display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important}
  #inventory-app table.mobile-stack-table.global-master-table td{width:auto!important;max-width:100%!important;min-width:0!important;padding:0!important;border:0!important;font-size:14px!important;overflow-wrap:anywhere}
  #inventory-app table.mobile-stack-table.global-master-table td:nth-child(2),#inventory-app table.mobile-stack-table.global-master-table td:last-child{grid-column:1/-1}
  #inventory-app table.mobile-stack-table.global-master-table td:nth-child(7){grid-row:1;grid-column:2}
  #inventory-app table.mobile-stack-table.global-master-table td::before{font-size:10px!important;margin-bottom:3px!important}
  #inventory-app table.mobile-stack-table.global-master-table td:last-child .btn{width:100%}
  .pr-filterbar,.pc24-portfolio-controls,.cb88-filterbar{grid-template-columns:minmax(0,1fr)!important;min-width:0}
  .pr-vendor-form,.pr-header-form{grid-template-columns:minmax(0,1fr)!important}
  .pr-vendor-form label,.pr-header-form label{min-width:0}
  .pr92-scope-control-dock{width:100%!important;left:auto!important;right:auto!important;bottom:auto!important}
}
@media print{
  .pdsb-mobile-disclosure>summary,.pdsb-table-hint{display:none!important}
  .pdsb-mobile-disclosure>*:not(summary){display:block!important}
  .pdsb-dialog-panel,.pdsb-dialog-panel .pdsb-dialog-head,.pdsb-dialog-panel .pdsb-dialog-foot{position:static!important;max-height:none!important;overflow:visible!important}
}
