/* Adaptive portal workspace. */
.pt-app{--pt-rail:220px;--pt-gutter:clamp(24px,3vw,48px)}
.pt-desktop-destination{display:none}
.pt-app .pt-property-card:has(.pt-property-placeholder) .pt-agency{display:flex}
.pt-app .pt-property-card,.pt-app .pt-job-card,.pt-app .pt-application-card{transition:border-color .16s,box-shadow .16s}
.pt-app .pt-property-card:hover,.pt-app .pt-application-card:hover{border-color:#b7c9bf;box-shadow:0 4px 16px #17231d08}
.pt-app .pt-card-meta{color:#626e7c;flex-wrap:wrap}
.pt-app .pt-muted,.pt-app .pt-updated{color:#63717c!important}
.pt-app .pt-footer-note{color:#66736f}
.pt-home-layout>*,.pt-application-layout>*{min-width:0}
.pt-home-aside .pt-quick-actions{margin:16px 0 0}
.pt-home-aside .pt-quick-actions .pt-button{width:100%}
.pt-home-primary>.pt-section:first-child,.pt-home-aside>.pt-section:first-child{margin-top:0}
.pt-app .pt-home-primary .pt-property-grid:has(>.pt-property-card:only-child){grid-template-columns:1fr}
.pt-app .pt-home-primary .pt-property-photo{height:clamp(210px,25vw,350px)}
.pt-app .pt-portfolio-tools{flex-wrap:wrap;align-items:center;margin:24px 0 14px}
.pt-app .pt-portfolio-tools .pt-search{flex:1 1 260px;background:white;border:1px solid var(--pt-line)}
.pt-app .pt-agency-select{font:inherit;font-size:14px;height:48px;border:1px solid var(--pt-line);background:white;border-radius:12px;padding:0 38px 0 14px;max-width:100%;min-width:0;flex:0 1 340px;color:var(--pt-ink)}
.pt-result-count{color:var(--pt-muted);font-size:13px;margin:0 0 18px}
.pt-app .pt-journey{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));padding:0;margin:24px 0;list-style:none;gap:12px}
.pt-journey li{display:flex;flex-direction:column;gap:7px;min-width:0;position:relative;font-size:12px;color:#65717d}
.pt-journey li:before{content:'';position:absolute;left:34px;right:-12px;top:16px;height:2px;background:#e3e8e6}
.pt-journey li:last-child:before{display:none}
.pt-journey-dot{height:34px;width:34px;display:grid;place-items:center;border:2px solid #d8dfdb;background:white;border-radius:50%;color:#64746b;position:relative;font-weight:600;margin-bottom:5px}
.pt-journey-dot svg{height:18px;width:18px}
.pt-journey .is-complete .pt-journey-dot{background:#eaf4ee;border-color:#c7ddce;color:#24553f}
.pt-journey .is-current .pt-journey-dot{border-color:#286548;color:#24553f;box-shadow:0 0 0 4px #eaf4ee}
.pt-journey strong{font-size:13px;font-weight:600;color:var(--pt-ink);line-height:1.4}
.pt-journey-help{background:white;border:1px solid var(--pt-line);border-radius:18px;padding:24px;align-self:start}
.pt-journey-help>p,.pt-guide-step p{font-size:14px;color:var(--pt-muted);line-height:1.7}
.pt-journey-help .pt-section-heading:not(:first-child){margin-top:28px}
.pt-guide-step{padding:16px 0;border-top:1px solid var(--pt-line)}
.pt-guide-step:last-child{padding-bottom:0}
.pt-guide-step h3{font-size:15px;line-height:1.5;margin:0 0 6px}
.pt-guide-step p{margin:0}
.pt-app .ap-portal-view>.pt-journey{background:white;padding:24px;border:1px solid var(--pt-line);border-radius:18px}
.pt-app .pt-agency-bar .pt-agency>span:last-child{white-space:normal;overflow-wrap:anywhere}
.pt-app .pt-action-copy>span{overflow-wrap:anywhere}
.pt-app .portal-header>.pt-agency-bar{border:0;min-width:0;flex:1;background:transparent;padding:0}
.pt-app .pt-application-card .pt-property-footer{padding-top:18px;border-top:1px solid var(--pt-line);margin-top:20px}
.pt-app .pt-application-card .pt-property-footer>span{display:inline-flex;padding:11px 16px;background:#253a31;color:white;border-radius:12px;font-size:14px;font-weight:600;min-height:44px;align-items:center}
.pt-property-layout>*{min-width:0}
.pt-property-work>.pt-section:first-child{margin-top:0}
.pt-property-overview .pt-property-hero{display:block;aspect-ratio:4/3;max-height:520px;object-fit:cover}
.pt-property-work .pt-section-heading{margin-top:24px}
.pt-property-work>.pt-section:first-child>.pt-section-heading{margin-top:0}
.pt-property-work .pt-job-card{margin-bottom:14px}
.pt-home-aside>.pt-action-list{margin-top:22px}
.pt-app .portal-main .record-tabs,.pt-app .pt-offline{top:var(--pt-header-height,76px)}
@media(min-width:761px){
 .pt-app .portal-shell{padding-left:var(--pt-rail);position:relative}
 .pt-app .portal-header{padding:16px var(--pt-gutter);min-height:76px;backdrop-filter:none;-webkit-backdrop-filter:none}
 .pt-app .portal-header>a{position:fixed;left:28px;top:22px;z-index:41;width:160px}
 .pt-app .portal-header>a img{width:120px}
 .pt-app .pt-header-actions{margin-left:auto}
 .pt-app .pt-nav{position:fixed;inset:0 auto 0 0;transform:none;width:var(--pt-rail);max-width:none;height:100dvh;border-radius:0;border:0;border-right:1px solid var(--pt-line);background:#fff;box-shadow:none;padding:94px 14px 24px;display:flex;flex-direction:column;justify-content:flex-start;gap:7px;overflow-y:auto;backdrop-filter:none;z-index:31}
 .pt-app .pt-nav-item,.pt-app .pt-desktop-destination{flex:none;display:flex;flex-direction:row;justify-content:flex-start;align-items:center;gap:13px;padding:12px 15px;min-height:48px;width:100%;font-size:14px;border-radius:12px;color:#5c6973!important}
 .pt-app .pt-nav-item svg{height:21px;width:21px;flex-shrink:0}
 .pt-app .pt-nav-item[aria-current=page]{color:#24553f!important;background:#eaf4ee;font-weight:600}
 .pt-app .pt-nav-item:hover{background:#f3f6f4}
 .pt-app .pt-nav-item:last-child{margin-top:auto}
 .pt-app .portal-main,.pt-app .portal-main.record-main{max-width:none;margin:0;width:100%;padding:32px var(--pt-gutter) 48px}
 .pt-app .portal-preview-banner{padding:8px var(--pt-gutter);min-height:52px}
 .pt-app .pt-agency-bar{padding:12px var(--pt-gutter);background:white}
 .pt-app .pt-heading{margin-bottom:26px}
 .pt-app .pt-heading h1{font-size:34px}
 .pt-app .pt-stats{border:1px solid var(--pt-line);border-radius:18px;background:white;padding:18px 0;gap:0;margin:0 0 28px}
 .pt-app .pt-stat{border-radius:0;padding:0 26px;border-right:1px solid var(--pt-line);background:transparent}
 .pt-app .pt-stat:last-child{border-right:0}
 .pt-app .pt-stat strong{color:var(--pt-ink);font-size:30px}
 .pt-app .pt-home-layout{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(290px,1fr);gap:28px;align-items:start}
 .pt-app .pt-home-aside .pt-section{background:white;border:1px solid var(--pt-line);border-radius:18px;padding:22px}
 .pt-app .pt-home-aside .pt-section+.pt-section{margin-top:22px}
 .pt-app .pt-home-aside .pt-action-list{border:0;border-radius:0}
 .pt-app .pt-home-aside .pt-action-row{padding:14px 0}
 .pt-app .pt-home-aside .pt-empty{border:0;padding:20px 0;background:transparent}
 .pt-app .pt-home-primary .pt-job-list{grid-template-columns:1fr}
 .pt-app .pt-job-card{padding:20px 22px}
 .pt-app .pt-property-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,290px),1fr));gap:22px}
 .pt-app .pt-application-layout{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(280px,1fr);gap:28px}
 .pt-app .pt-property-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:28px;align-items:start}
 .pt-app .ap-portal-view{max-width:none;margin:0}
 .pt-app .ap-portal-view>.ap-card,.pt-app .ap-portal-view>.ap-empty{max-width:none}
 .pt-app .pt-tools .pt-search{max-width:560px}
 .pt-app .pt-segments{max-width:560px}
 .pt-app .record-layout.mt-record{grid-template-columns:280px minmax(0,1fr)}
 .pt-app .pt-profile{text-align:left;display:grid;grid-template-columns:64px 1fr;column-gap:20px;align-items:center}
 .pt-app .pt-profile .pt-avatar{grid-row:1/3;margin:0}
 .pt-app .pt-profile h2,.pt-app .pt-profile p{grid-column:2}
 .pt-app .pt-signout{width:auto}
}
@media(min-width:761px) and (max-width:1100px){
 .pt-app{--pt-rail:176px;--pt-gutter:24px}
 .pt-app .pt-nav{padding-left:10px;padding-right:10px}
 .pt-app .pt-nav-item{padding:12px 10px;font-size:13px;gap:9px}
 .pt-app .portal-header>a{left:22px;width:130px}
 .pt-app .pt-home-layout,.pt-app .pt-application-layout{grid-template-columns:minmax(0,1fr)}
 .pt-app .pt-home-aside{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;grid-row:1}
 .pt-app .pt-home-aside .pt-section+.pt-section{margin-top:0}
 .pt-app .record-layout.mt-record{grid-template-columns:1fr}
 .pt-app .pt-property-layout{grid-template-columns:1fr}
 .pt-app .pt-home-primary .pt-property-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:760px){
 .pt-home-aside #upcoming:has(>.pt-empty){display:none}
 .pt-app .portal-header{flex-wrap:wrap;gap:12px}
 .pt-app .portal-header>.pt-agency-bar{order:3;flex-basis:100%;padding-top:10px;border-top:1px solid var(--pt-line)}
 .pt-home-layout{display:flex;flex-direction:column;gap:26px}
 .pt-home-aside{order:-1;width:100%}
 .pt-home-primary{width:100%}
 .pt-home-primary .pt-section:first-child{margin-top:0}
 .pt-app .pt-home-primary .pt-property-photo{height:210px}
 .pt-app .pt-portfolio-tools .pt-agency-select{flex-basis:100%;width:100%}
 .pt-app .pt-journey{gap:8px;margin:22px 0}
 .pt-journey li{font-size:11px;gap:5px;line-height:1.5}
 .pt-journey strong{font-size:12px}
 .pt-app .pt-journey-help{margin-top:22px;padding:20px}
 .pt-app .ap-portal-view>.pt-journey{padding:18px 12px}
 .pt-app .pt-home-aside .pt-section:first-child{margin-top:8px}
}
/* Six property-portal destinations need two rows on narrow phones. */
@media(max-width:440px){
 .pt-app .pt-nav:has([href="/portal?view=properties"]){display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}
 .pt-app .pt-nav:has([href="/portal?view=properties"]) .pt-nav-item{font-size:12px;min-height:56px}
 .pt-app:has(.pt-nav [href="/portal?view=properties"]) .portal-main{padding-bottom:170px}
}
@media(prefers-reduced-motion:reduce){.pt-app .pt-property-card,.pt-app .pt-job-card,.pt-app .pt-application-card{transition:none}}
