/* Customer portal layout. Shared Messenger assets retain their staff-portal layout. */
.customer-portal{min-width:0;-webkit-text-size-adjust:100%;text-size-adjust:100%}
.customer-portal main,.customer-portal #content,.customer-portal .split>*,.customer-portal .brand-wrap,.customer-portal .account,.customer-portal .identity{min-width:0}
.customer-portal h1,.customer-portal h2,.customer-portal .project-meta strong,.customer-portal .event strong,.customer-portal .identity,.customer-portal .stat{overflow-wrap:anywhere}
.customer-portal .legend,.customer-portal .card-head,.customer-portal .amb-actions,.customer-portal .amb-pane-head{flex-wrap:wrap}
.customer-portal .project-meta>div{min-width:0}
.customer-portal .customer-table-scroll{width:100%;max-width:100%;min-width:0;overflow:auto;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:#adc5ce #f1f6f8}
.customer-portal .customer-table-scroll:focus-visible{outline:2px solid #137c83;outline-offset:3px}
.customer-portal .customer-table-guide{display:flex;align-items:center;gap:7px;margin:0 0 9px;color:#587d8b;font-size:12px}
.customer-portal .customer-table-guide[hidden]{display:none}
.customer-portal #nav{overscroll-behavior-x:contain;scrollbar-width:thin;scroll-padding-inline:14px}
.customer-portal #nav>button{flex:0 0 auto}
.customer-portal .customer-pdf-toolbar h2{min-width:0}
.customer-portal .overlay{overflow:auto}
.customer-portal .modal{max-height:calc(100dvh - 48px);overflow:auto}
.customer-portal .amb-layout,.customer-portal .amb-to,.customer-portal .amb-chips{min-width:0}
.customer-portal .amb-meta{grid-template-columns:max-content minmax(0,1fr)}
.customer-portal .amb-chip{max-width:100%;overflow-wrap:anywhere}
.customer-portal .amb-recipient-dialog{box-sizing:border-box;overflow:auto}
.customer-portal #ac-live-chat .lc-panel-head,.customer-portal #ac-live-chat .lc-window-head{flex-wrap:nowrap;justify-content:flex-start}
.customer-portal #ac-live-chat .lc-notification-dock{border:0;background:transparent}

@media(max-width:1100px){
 .customer-portal .topbar>header{padding:16px 22px;gap:16px;flex-wrap:wrap}
 .customer-portal .topbar>header>.brand-wrap{width:100%}
 .customer-portal .topbar>header>.account{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,auto) auto;width:100%;gap:14px}
 .customer-portal .customer-chat-entry{min-width:0;flex-wrap:wrap;gap:10px}
 .customer-portal .identity{max-width:320px}
 .customer-portal .shipping-route{white-space:normal}
 .customer-portal .grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .customer-portal .split{grid-template-columns:minmax(0,1fr)}
}

@media(max-width:900px),(pointer:coarse){
 .customer-portal #nav>button,.customer-portal #refresh,.customer-portal #logout,.customer-portal #messages-open,.customer-portal main button,.customer-portal .customer-pdf-toolbar button,.customer-portal .amb-layout button{min-height:44px}
 .customer-portal .ac-language-toggle{min-height:44px}
 .customer-portal .ac-language-option{min-height:44px}
 .customer-portal input,.customer-portal select,.customer-portal textarea,.customer-login input{font-size:16px}
 .customer-portal .shipping-details summary,.customer-portal .position-detail summary{min-height:44px;padding-block:12px}
 .customer-portal .amb-layout{grid-template-columns:minmax(0,1fr);gap:16px}
 .customer-portal .amb-sidebar{flex-direction:row;flex-wrap:wrap;border-right:0;border-bottom:1px solid #dce5ee;padding:0 0 14px}
 .customer-portal .amb-file{min-width:0}
 .customer-portal .amb-files{grid-template-columns:repeat(auto-fit,minmax(min(170px,100%),1fr))}
 .customer-portal .amb-table table{min-width:530px}
}

@media(max-width:600px){
 .customer-portal .topbar{position:relative}
 .customer-portal .topbar>header{padding:16px max(16px,env(safe-area-inset-left)) 14px;gap:14px}
 .customer-portal .brand-wrap{gap:12px}
 .customer-portal .brand-logo{width:48px;height:48px;flex:0 0 48px;align-self:flex-start}
 .customer-portal .brand-content{flex:1;min-width:0}
 .customer-portal .brand-title{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 10px;align-items:center}
 .customer-portal .brand-title .brand{grid-column:1/-1;width:auto;font-size:21px;letter-spacing:1.5px}
 .customer-portal .brand-title .ac-language-picker{justify-self:start;min-width:0}
 .customer-portal .brand-title .ac-language-options{right:auto;left:0}
 .customer-portal .brand-content>small{margin-top:8px;font-size:9px;letter-spacing:1.5px}
 .customer-portal header #refresh{padding:9px 10px;font-size:12px}
 .customer-portal .topbar>header>.account{grid-template-columns:minmax(0,1fr) auto;gap:12px}
 .customer-portal .customer-chat-entry{grid-column:1/-1;display:flex;flex-wrap:nowrap;justify-content:space-between;gap:12px;width:100%}
 .customer-portal .customer-chat-entry #ac-presence{flex:1;min-width:0}
 .customer-portal .customer-chat-entry #ac-presence-toggle{max-width:100%;min-height:44px;white-space:normal;text-align:left;font-size:12px}
 .customer-portal #ac-presence-label{min-width:0;overflow-wrap:anywhere}
 .customer-portal #messages-open{flex-shrink:0;padding-inline:12px}
 .customer-portal .account .identity{max-width:none;border:0!important;padding:0!important;line-height:1.45}
 .customer-portal .identity strong{font-size:13px}
 .customer-portal .identity span{font-size:11px}
 .customer-portal #logout{align-self:center;padding-inline:12px;font-size:12px}
 .customer-portal #nav{gap:5px;padding:9px 12px}
 .customer-portal #nav>button{padding:10px 12px;font-size:12px}
 .customer-portal main{padding:22px 14px 36px}
 .customer-portal .page-heading,.customer-portal .top{align-items:flex-start;flex-direction:column;gap:10px}
 .customer-portal .page-heading h1{font-size:25px}
 .customer-portal .card{padding:18px 14px}
 .customer-portal .card-head{align-items:flex-start;gap:10px}
 .customer-portal .stats,.customer-portal .grid{gap:11px;grid-template-columns:repeat(2,minmax(0,1fr))}
 .customer-portal .stat{padding:16px 13px}
 .customer-portal .stat b{font-size:28px}
 .customer-portal .stat span,.customer-portal .stat small{display:block;line-height:1.5}
 .customer-portal .stage-bar-row{grid-template-columns:minmax(0,128px) minmax(0,1fr) 30px;gap:8px}
 .customer-portal .stage-bar-row>span{overflow-wrap:anywhere}
 .customer-portal .project-meta{padding:14px;gap:14px;grid-template-columns:repeat(2,minmax(0,1fr))}
 .customer-portal .legend{gap:8px 14px}
 .customer-portal .shipping-details{min-width:0}
 .customer-portal .shipping-facts{gap:10px;grid-template-columns:repeat(2,minmax(0,1fr))}
 .customer-portal .file-row{gap:10px;flex-wrap:wrap}
 .customer-portal .file-row .file-info{flex:1 1 170px}
 .customer-portal .file-row>button{margin-left:auto;max-width:100%}
 .customer-portal .customer-pdf-dialog{inset:var(--customer-viewport-top,0px) 0 auto;margin:0;width:100%;height:var(--customer-viewport-height,100dvh);max-width:100%;max-height:var(--customer-viewport-height,100dvh);border:0;border-radius:0}
 .customer-portal .customer-pdf-toolbar{align-items:flex-start;padding:12px max(12px,env(safe-area-inset-left));gap:10px}
 .customer-portal .customer-pdf-toolbar h2{font-size:13px;align-self:center}
 .customer-portal .customer-pdf-frame{height:70dvh;min-height:260px}
 .customer-portal .amb-pane-head{gap:10px}
 .customer-portal .amb-pane-head>div,.customer-portal .amb-actions{flex-wrap:wrap}
 .customer-portal .amb-meta{gap:8px 12px;font-size:12px}
 .customer-portal .amb-to{padding:10px;gap:8px}
 .customer-portal .amb-address-label{min-width:64px}
 .customer-portal .amb-to>.amb-secondary{width:100%;margin:0}
 .customer-portal .amb-recipient-dialog{top:var(--customer-viewport-top,0px);bottom:auto;margin-block:12px;width:calc(100vw - 24px);max-height:calc(var(--customer-viewport-height,100dvh) - 24px);padding:16px}
 .customer-portal .amb-recipient-list{max-height:45dvh}
 .customer-portal #ac-live-chat .lc-people{top:var(--customer-viewport-top,0px);bottom:auto;height:var(--customer-viewport-height,100dvh)}
 .customer-portal #ac-live-chat .lc-window,.customer-portal #ac-live-chat[data-people-open=true] .lc-window{right:12px;width:calc(100vw - 24px);max-width:calc(100vw - 24px);bottom:calc(var(--customer-keyboard-inset,0px) + max(12px,env(safe-area-inset-bottom)))}
 .customer-portal #ac-live-chat .lc-window:not(.is-minimized){height:540px;max-height:calc(var(--customer-viewport-height,100dvh) - 24px - env(safe-area-inset-bottom))}
 .customer-portal #ac-live-chat .lc-window-head{gap:5px;padding:9px 8px;min-height:58px}
 .customer-portal #ac-live-chat .lc-window-head .lc-icon{width:32px;min-width:32px;height:40px;min-height:40px}
 .customer-portal #ac-live-chat .lc-peer strong{font-size:12px}
 .customer-portal #ac-live-chat .lc-peer small{font-size:10px;overflow-wrap:anywhere}
 .customer-portal #ac-live-chat .lc-compose textarea{font-size:16px;min-height:44px}
 .customer-portal #ac-live-chat .lc-compose button{min-height:44px;min-width:44px}
 .customer-portal #ac-live-chat .lc-compose{padding-bottom:max(12px,env(safe-area-inset-bottom))}
 .customer-portal #ac-live-chat[data-window-expanded=true] .lc-notification-dock{display:none}
 .customer-portal .overlay{padding:12px}
 .customer-portal .modal{padding:28px 22px;max-height:calc(100dvh - 24px)}
 .customer-portal>header{flex-wrap:wrap;gap:12px;padding:18px 16px}
 .customer-portal>header>div{min-width:0;overflow-wrap:anywhere}
 .customer-portal>footer{padding:20px 14px max(20px,env(safe-area-inset-bottom));overflow-wrap:anywhere}
 .customer-login{padding:14px;min-height:100svh}
 .customer-login main{min-width:0;border-radius:16px}
 .customer-login .intro{padding:24px}
 .customer-login .login{padding:26px 22px}
 .customer-login .intro h1{font-size:24px}
 .customer-login input{font-size:16px;min-height:46px}
}

@media(min-width:361px) and (max-width:600px){
 .customer-portal .brand-logo{width:40px;height:40px;flex-basis:40px;align-self:center}
 .customer-portal .brand-wrap{gap:10px}
 .customer-portal .brand-title{display:flex;flex-wrap:nowrap;gap:7px}
 .customer-portal .brand-title .brand{flex:1;min-width:0;font-size:19px;letter-spacing:1px}
 .customer-portal .brand-title .ac-language-toggle{padding-inline:8px!important;gap:5px!important}
 .customer-portal .brand-title [data-language-current]{font-size:0;gap:0}
 .customer-portal .brand-title #refresh{font-size:0;min-width:44px;width:44px;padding:9px}
 .customer-portal .brand-title #refresh:before{content:'↻';font-size:21px;line-height:1}
}

@media(max-width:360px){
 .customer-portal .stats,.customer-portal .grid{grid-template-columns:minmax(0,1fr)}
 .customer-portal .brand-title .brand{font-size:19px}
 .customer-portal .brand-logo{width:42px;height:42px;flex-basis:42px}
 .customer-portal .brand-wrap{gap:10px}
 .customer-portal .brand-title{gap:7px}
 .customer-portal .brand-title .ac-language-toggle{padding-inline:7px!important;font-size:12px!important}
 .customer-portal .brand-title #refresh{padding-inline:8px}
}

@media(max-width:1100px) and (max-height:650px){.customer-portal .topbar{position:relative}}
