#pp-portal{--pp-green:#063f31;--pp-amber:#c98021;--pp-border:#e6dfd3;--pp-muted:#62675e;background:#fffdf9;color:#243a30;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:15px;line-height:1.6;padding:28px 16px 56px;color-scheme:light}
#pp-portal *{box-sizing:border-box}
#pp-portal .pp-container{max-width:1180px;margin:auto}
#pp-portal h1,#pp-portal h2,#pp-portal h3{font-family:Georgia,"Times New Roman",serif;color:var(--pp-green);font-weight:400;line-height:1.2;letter-spacing:-.025em;margin:0 0 14px}
#pp-portal h1{font-size:34px}#pp-portal h2{font-size:25px}#pp-portal h3{font-size:20px}
#pp-portal p{margin:0 0 16px}#pp-portal a{color:var(--pp-green);text-underline-offset:4px}#pp-portal button,#pp-portal input{font:inherit}#pp-portal button{cursor:pointer}#pp-portal a,#pp-portal button,#pp-portal input,#pp-portal summary{touch-action:manipulation}
#pp-portal :focus-visible{outline:revert;outline-offset:4px}
#pp-portal .pp-eyebrow{font-size:11px;font-weight:650;letter-spacing:.1em;text-transform:uppercase;color:var(--pp-muted);margin-bottom:12px}
#pp-portal .pp-page-header{margin-bottom:24px}#pp-portal .pp-page-header>p:last-child{color:var(--pp-muted);max-width:620px;margin-bottom:0}
#pp-portal .pp-preview,#pp-portal .pp-notice{padding:12px 16px;border:1px solid var(--pp-border);border-radius:10px;margin-bottom:20px;background:#edf4ee;overflow-wrap:anywhere}
#pp-portal .pp-preview{background:#fbf1df;color:#72480e;font-size:13px}#pp-portal .pp-error{background:#fff0eb;color:#813a29;border-color:#e5c6bb}
#pp-portal .pp-dashboard{display:grid;gap:22px;align-items:start}#pp-portal .pp-content{min-width:0}
#pp-portal .pp-sidebar{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--pp-border);padding-bottom:12px;gap:4px}
#pp-portal .pp-sidebar nav{display:flex;gap:2px;min-width:0}#pp-portal .pp-sidebar a,#pp-portal .pp-logout{display:flex;min-height:44px;align-items:center;padding:9px 10px;text-decoration:none;font-size:13px;border-radius:8px;white-space:nowrap}
#pp-portal .pp-sidebar a[aria-current]{background:#eaf0e9;color:var(--pp-green);font-weight:650}#pp-portal .pp-logout{border:0;background:none;color:var(--pp-muted)}#pp-portal form{margin:0}
#pp-portal .pp-tabs{display:flex;gap:24px;border-bottom:1px solid var(--pp-border);margin-bottom:20px}#pp-portal .pp-tabs a{min-height:44px;display:flex;align-items:center;text-decoration:none;padding:0 0 12px;color:var(--pp-muted);border-bottom:2px solid transparent}#pp-portal .pp-tabs a[aria-current]{color:var(--pp-green);border-color:var(--pp-green);font-weight:650}
#pp-portal .pp-booking,#pp-portal .pp-panel,#pp-portal .pp-auth-card{background:#fff;border:1px solid var(--pp-border);border-radius:10px;padding:20px;margin-bottom:20px}
#pp-portal .pp-booking-top{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px;margin-bottom:20px}#pp-portal .pp-reference{font-size:12px;color:var(--pp-muted);overflow-wrap:anywhere}#pp-portal .pp-status{display:inline-block;border-radius:20px;padding:4px 10px;font-size:11px;font-weight:650;max-width:100%;overflow-wrap:anywhere}#pp-portal .pp-status-green{background:#eaf2e9;color:#235338}#pp-portal .pp-status-amber{background:#fbefd9;color:#77500e}#pp-portal .pp-status-muted{background:#f0efeb;color:#5c625a}
#pp-portal .pp-walk{display:flex;flex-direction:column;gap:16px}#pp-portal .pp-photo{width:100%;height:164px;object-fit:cover;border-radius:7px;display:block;background:#f3efe7}#pp-portal .pp-walk-body{min-width:0;flex:1}#pp-portal .pp-walk h2,#pp-portal .pp-walk h3{overflow-wrap:anywhere}
#pp-portal .pp-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 16px;margin:16px 0 4px}#pp-portal dt{color:var(--pp-muted);font-size:12px}#pp-portal dd{margin:2px 0 0;font-size:14px;overflow-wrap:anywhere}#pp-portal .pp-items{margin-top:16px}#pp-portal .pp-item{border-top:1px solid var(--pp-border);padding:20px 0 0}#pp-portal .pp-item .pp-meeting{margin:16px 0;background:#faf8f2;padding:16px;border-radius:7px}#pp-portal .pp-item .pp-photo{height:130px}
#pp-portal .pp-payment{margin:22px 0 0;padding:18px 0;border-top:1px solid var(--pp-border);border-bottom:1px solid var(--pp-border)}#pp-portal .pp-payment h3{font-family:inherit;font-size:13px;font-weight:650;letter-spacing:0}#pp-portal .pp-payment dl{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:0}#pp-portal .pp-payment dd{font-size:17px;font-weight:600}#pp-portal .pp-payment p{font-size:12px;color:var(--pp-muted);margin:12px 0 0;white-space:pre-line}
#pp-portal .pp-meeting{padding:20px 0 0}#pp-portal .pp-meeting p{white-space:pre-line;font-size:14px;margin-bottom:6px;overflow-wrap:anywhere}#pp-portal .pp-details{border-bottom:1px solid var(--pp-border)}#pp-portal .pp-details summary{min-height:48px;padding:12px 0;cursor:pointer;font-size:13px;font-weight:600}#pp-portal .pp-details>div{padding:4px 0 16px;font-size:13px}#pp-portal .pp-details p{white-space:pre-line;overflow-wrap:anywhere}#pp-portal .pp-card-actions{display:flex;flex-wrap:wrap;gap:10px;padding-top:18px}
#pp-portal .pp-button{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:11px 18px;border:1px solid var(--pp-green);border-radius:7px;background:var(--pp-green);color:#fff;text-decoration:none;font-weight:600;font-size:13px;line-height:1.5;text-align:center}#pp-portal .pp-button-secondary{background:transparent;color:var(--pp-green);border-color:#bcc9bf}#pp-portal .pp-button:hover{background:#155442;color:white}#pp-portal .pp-text-link{display:inline-flex;align-items:center;min-height:44px;padding:8px 0;border:0;background:none;color:var(--pp-green);text-decoration:underline;text-underline-offset:4px;font-size:13px;font-weight:550}#pp-portal .pp-text-link:hover{color:#86601f}
#pp-portal .pp-right-rail{display:grid;gap:18px}#pp-portal .pp-right-rail>.pp-meeting,#pp-portal .pp-support{background:#f6f4ec;border:1px solid var(--pp-border);border-radius:10px;padding:20px}#pp-portal .pp-support h2{font-size:23px}#pp-portal .pp-support p{font-size:13px}#pp-portal .pp-support .pp-eyebrow{font-size:10px}#pp-portal .pp-right-rail .pp-meeting{border-top:3px solid var(--pp-amber)}
#pp-portal .pp-panel>p{color:var(--pp-muted)}#pp-portal .pp-divider{height:1px;background:var(--pp-border);margin:24px 0}#pp-portal .pp-email-value{color:var(--pp-green);font-weight:600;overflow-wrap:anywhere}#pp-portal .pp-help-item{padding:20px 0;border-top:1px solid var(--pp-border)}#pp-portal .pp-help-item p{margin:0;color:var(--pp-muted)}#pp-portal .pp-empty{padding:32px 24px;background:linear-gradient(135deg,#fff 40%,#f6f4e9)}#pp-portal .pp-empty h2{font-size:29px;max-width:420px}#pp-portal .pp-empty p{max-width:500px}#pp-portal .pp-empty-help{border-top:1px solid var(--pp-border);margin-top:28px;padding-top:16px;font-size:12px;color:var(--pp-muted)}
#pp-portal .pp-auth-layout{display:grid;gap:24px;max-width:960px;margin:8px auto}#pp-portal .pp-auth-intro h1{font-size:37px}#pp-portal .pp-lead{color:var(--pp-muted);max-width:440px}#pp-portal .pp-auth-benefit{display:none}#pp-portal .pp-auth-card h2{font-size:28px}#pp-portal .pp-auth-card>p{color:var(--pp-muted);font-size:14px}#pp-portal .pp-auth-form{display:grid;gap:12px;margin:22px 0 10px}#pp-portal label{font-size:13px;font-weight:600}#pp-portal input{width:100%;min-width:0;min-height:48px;border:1px solid #b9c2b7;border-radius:7px;padding:11px 13px;background:#fffdf9;color:var(--pp-green);font-size:16px}#pp-portal input::placeholder{color:#73786e}#pp-portal #pp-code{font-size:24px;letter-spacing:.35em}#pp-portal .pp-field-hint{font-size:12px;color:var(--pp-muted);margin:0 0 6px}#pp-portal .pp-auth-footer{border-top:1px solid var(--pp-border);margin-top:24px;padding-top:12px;display:flex;flex-direction:column;align-items:flex-start}#pp-portal .pp-privacy{font-size:11px;color:var(--pp-muted);min-height:44px;display:inline-flex;align-items:center}
#pp-portal [aria-busy="true"] .pp-button{opacity:.7;cursor:progress}
#pp-portal .pp-dashboard{grid-template-columns:minmax(0,1fr)}
@media(max-width:599px){#pp-portal .pp-sidebar a,#pp-portal .pp-logout{font-size:12px;padding:8px 7px}#pp-portal .pp-sidebar nav{gap:0}}
@media(max-width:599px){#pp-portal{padding-top:22px}#pp-portal .pp-page-header{margin-bottom:16px}#pp-portal .pp-page-header .pp-eyebrow{display:none}#pp-portal .pp-page-header h1{font-size:30px;margin-bottom:8px}#pp-portal .pp-page-header>p:last-child{font-size:13px;line-height:1.5}#pp-portal .pp-dashboard{gap:16px}#pp-portal .pp-tabs{margin-bottom:16px}#pp-portal .pp-booking{padding:16px}#pp-portal .pp-auth-intro h1{font-size:32px}#pp-portal .pp-auth-intro .pp-lead{font-size:14px;margin-bottom:0}#pp-portal .pp-auth-layout{gap:18px}}
@media(min-width:600px){#pp-portal{padding:40px 28px 72px}#pp-portal .pp-booking,#pp-portal .pp-panel,#pp-portal .pp-auth-card{padding:28px}#pp-portal .pp-walk{flex-direction:row;align-items:flex-start}#pp-portal .pp-photo{width:130px;height:132px;flex-shrink:0}#pp-portal .pp-item .pp-photo{width:96px;height:104px}#pp-portal .pp-empty{padding:40px}#pp-portal .pp-right-rail{grid-template-columns:1fr 1fr}}
@media(min-width:900px){#pp-portal h1{font-size:40px}#pp-portal .pp-page-header{margin-bottom:32px}#pp-portal .pp-dashboard{grid-template-columns:180px minmax(0,1fr);gap:28px}#pp-portal .pp-sidebar{display:block;border:0;padding:0}#pp-portal .pp-sidebar nav{display:grid;gap:6px}#pp-portal .pp-sidebar a,#pp-portal .pp-logout{font-size:14px;padding:12px 16px}#pp-portal .pp-sidebar form{margin-top:24px;border-top:1px solid var(--pp-border);padding-top:16px}#pp-portal .pp-right-rail{grid-column:2}#pp-portal .pp-auth-layout{grid-template-columns:1fr 400px;gap:64px;align-items:center;margin:40px auto}#pp-portal .pp-auth-intro h1{font-size:46px}#pp-portal .pp-auth-benefit{display:flex;gap:18px;align-items:baseline;margin-top:28px}#pp-portal .pp-auth-benefit>span{font-size:12px;color:#8b5a16}#pp-portal .pp-auth-benefit p{font-weight:600;margin:0}#pp-portal .pp-auth-benefit small{display:block;font-weight:400;font-size:12px;color:var(--pp-muted);margin-top:4px}}
@media(min-width:1140px){#pp-portal .pp-has-rail{grid-template-columns:180px minmax(0,1fr) 240px;gap:24px}#pp-portal .pp-right-rail{grid-column:auto;grid-template-columns:1fr;padding-top:65px}}
@media(prefers-reduced-motion:no-preference){#pp-portal .pp-button{transition:background-color .15s}}
#pp-portal .pp-page-header{padding:24px 28px;border:1px solid #e1e7dc;border-radius:14px;background:linear-gradient(110deg,#edf3e9,#faf8ef 85%)}
#pp-portal .pp-booking{box-shadow:0 8px 26px #25453208;overflow:hidden}
#pp-portal .pp-icon{flex-shrink:0;color:#9b671e;vertical-align:middle}
#pp-portal .pp-meta dt{display:flex;align-items:center;gap:7px}#pp-portal .pp-meta .pp-icon{width:17px;height:17px}#pp-portal .pp-meta dd{padding-left:24px}
#pp-portal .pp-section-icon{display:inline-flex;padding:10px;border:1px solid #dddcc9;background:#fffdf7;border-radius:50%;margin-bottom:12px}
#pp-portal .pp-payment{padding:18px;background:#f5f7f1;border:1px solid #e4e9de;border-radius:9px}
#pp-portal .pp-guest-note{margin-top:20px;padding:18px;border-left:3px solid #c98021;background:#fcf8ef;border-radius:0 8px 8px 0}#pp-portal .pp-guest-note h3{font-family:inherit;font-size:14px;font-weight:600;letter-spacing:0;margin-bottom:8px}#pp-portal .pp-guest-note p{font-size:13px;margin:0;white-space:pre-line;overflow-wrap:anywhere}
#pp-portal .pp-preparation{margin-top:28px}#pp-portal .pp-preparation h2{font-size:27px}#pp-portal .pp-preparation-grid{display:grid;gap:12px}#pp-portal .pp-preparation-grid article{padding:18px;background:#faf8f2;border:1px solid var(--pp-border);border-radius:10px}#pp-portal .pp-preparation-grid h3{font-family:inherit;font-size:14px;font-weight:600;letter-spacing:0;margin:12px 0 8px}#pp-portal .pp-preparation-grid p{font-size:13px;color:var(--pp-muted);margin:0}#pp-portal .pp-practical-links{display:flex;flex-wrap:wrap;gap:8px 24px;margin-top:12px}
@media(min-width:600px){#pp-portal .pp-booking>.pp-walk{display:grid;grid-template-columns:minmax(0,1fr)}#pp-portal .pp-booking>.pp-walk>.pp-photo{width:100%;height:200px;object-fit:cover}#pp-portal .pp-preparation-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(min-width:900px){#pp-portal .pp-sidebar{padding:12px;background:#f5f6f0;border:1px solid #e3e6dc;border-radius:12px}#pp-portal .pp-sidebar a,#pp-portal .pp-logout{padding:12px}#pp-portal .pp-sidebar a[aria-current]{background:#0a4937;color:#fff}}
@media(max-width:599px){#pp-portal .pp-page-header{padding:20px;border-radius:12px}#pp-portal .pp-photo{height:172px}#pp-portal .pp-payment{padding:14px 10px}#pp-portal .pp-payment dl{gap:8px}#pp-portal .pp-payment dt{font-size:11px}#pp-portal .pp-preparation-grid article{display:grid;grid-template-columns:24px minmax(0,1fr);gap:4px 12px;padding:16px}#pp-portal .pp-preparation-grid h3{margin:0}#pp-portal .pp-preparation-grid p{grid-column:2}#pp-portal .pp-preparation-grid .pp-icon{grid-row:1/3}#pp-portal .pp-right-rail{gap:12px}}
@media(max-width:899px){#pp-portal .pp-content{display:contents}#pp-portal .pp-right-rail{order:1}#pp-portal .pp-preparation{order:2;margin-top:8px}#pp-portal .pp-tabs,#pp-portal .pp-booking{margin-bottom:0}}
@media print{#pp-portal .pp-sidebar,#pp-portal .pp-tabs,#pp-portal .pp-card-actions,#pp-portal .pp-support{display:none}#pp-portal .pp-dashboard{display:block}#pp-portal .pp-booking{break-inside:avoid}}
/* Reference layout: quiet sidebar, compact booking and meeting rail. */
#pp-portal .pp-sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
#pp-portal .pp-page-header{background:none;border:0;padding:0;border-radius:0;margin:0 0 20px}
#pp-portal .pp-page-header h1{font-size:34px;font-weight:600;margin-bottom:4px}
#pp-portal .pp-page-header>p:last-child{font-family:Georgia,serif;font-size:17px}
#pp-portal .pp-sidebar{background:none;border:0;border-right:1px solid var(--pp-border);border-radius:0;padding:0 16px 0 0}
#pp-portal .pp-sidebar h2{font-size:17px;font-weight:600;margin:6px 0 20px}
#pp-portal .pp-sidebar a{gap:12px;border-radius:4px;font-size:13px}
#pp-portal .pp-sidebar a[aria-current]{color:var(--pp-green);background:#f6f0e5;border-left:3px solid #c98021}
#pp-portal .pp-sidebar .pp-icon{width:19px;height:19px;color:#526c6c}
#pp-portal .pp-sidebar a[aria-current] .pp-icon{color:#bd7413}
#pp-portal .pp-tabs{display:inline-flex;width:270px;max-width:100%;gap:0;margin:0 0 16px;border:1px solid var(--pp-border);border-radius:6px;overflow:hidden;background:#fcfaf6}
#pp-portal .pp-tabs a{justify-content:center;width:50%;padding:8px 10px;min-height:40px;border:0;font-size:13px;font-weight:400}
#pp-portal .pp-tabs a[aria-current]{background:var(--pp-green);color:#fff;border:0;border-radius:5px;font-weight:500}
#pp-portal .pp-booking{padding:14px;background:#fffefa;border-radius:8px;box-shadow:none;margin-bottom:12px}
#pp-portal .pp-booking-top{flex-direction:row-reverse;margin-bottom:12px;gap:8px}
#pp-portal .pp-reference{font-family:Georgia,serif;font-size:11px}
#pp-portal .pp-status{font-size:11px;padding:3px 8px}
#pp-portal .pp-booking>.pp-walk,#pp-portal .pp-walk{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;align-items:start}
#pp-portal .pp-booking>.pp-walk>.pp-photo,#pp-portal .pp-photo{width:100%;height:180px;object-fit:cover;border-radius:6px}
#pp-portal .pp-walk h2,#pp-portal .pp-walk h3{font-size:23px;font-weight:600;line-height:1.15;letter-spacing:0;margin:0 0 16px}
#pp-portal .pp-meta{display:grid;grid-template-columns:minmax(0,1fr);gap:11px;margin:0}
#pp-portal .pp-meta>div{display:flex;gap:10px;align-items:flex-start}
#pp-portal .pp-meta dt{display:flex;flex:0 0 18px;line-height:1.4}
#pp-portal .pp-meta .pp-icon{width:18px;height:18px;color:#3c565d}
#pp-portal .pp-meta dd{padding:0;margin:0;font:14px/1.4 Georgia,serif}
#pp-portal .pp-payment{margin:14px 0 0;padding:14px 8px;border:1px solid #eee5d8;background:#fbf8f1;border-radius:6px}
#pp-portal .pp-payment h3{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
#pp-portal .pp-payment dl{gap:0}
#pp-portal .pp-payment dl>div{padding:0 12px;border-right:1px solid #e4dcd0}
#pp-portal .pp-payment dl>div:last-child{border:0;color:#b96e08}
#pp-portal .pp-payment dt{font:12px/1.3 Georgia,serif;color:inherit}
#pp-portal .pp-payment dd{font:24px/1.2 Georgia,serif;margin-top:4px}
#pp-portal .pp-payment p{font-size:10px;line-height:1.4;color:#70746e;margin:10px 12px 0}
#pp-portal .pp-meeting,#pp-portal .pp-right-rail>.pp-meeting,#pp-portal .pp-support{padding:14px;border:1px solid var(--pp-border);background:#fffefa;border-radius:7px}
#pp-portal .pp-meeting h3,#pp-portal .pp-support h2{display:flex;align-items:center;gap:8px;font-size:18px;font-weight:600;letter-spacing:0;margin:0 0 8px}
#pp-portal .pp-meeting h3 .pp-icon,#pp-portal .pp-support h2 .pp-icon{color:#254e51;width:21px;height:21px}
#pp-portal .pp-meeting-name{display:block;font:15px/1.4 Georgia,serif;margin:0 0 3px 29px}
#pp-portal .pp-meeting p{font:12px/1.4 Georgia,serif;color:#647177;margin:0 0 10px 29px}
#pp-portal .pp-map{display:block;width:100%;height:158px;border:0;border-radius:5px;background:#eef0e6;margin:10px 0}
#pp-portal .pp-map-button{width:100%;min-height:36px;padding:6px;font:13px/1.4 Georgia,serif;border-color:#8ba3a0}
#pp-portal .pp-right-rail{gap:12px}
#pp-portal .pp-support p{font:13px/1.4 Georgia,serif;margin:0 0 12px 29px}
#pp-portal .pp-support .pp-button{width:100%;min-height:38px;padding:8px}
#pp-portal .pp-preparation{margin:0;padding:14px;border:1px solid var(--pp-border);border-radius:7px;background:#fffefa}
#pp-portal .pp-preparation h2{font-size:20px;font-weight:600;margin:0 0 14px}
#pp-portal .pp-preparation-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:0}
#pp-portal .pp-preparation-grid article{display:flex;gap:10px;padding:0 12px;border:0;border-right:1px solid #e7dfd2;border-radius:0;background:none}
#pp-portal .pp-preparation-grid article:first-child{padding-left:0}#pp-portal .pp-preparation-grid article:last-child{border:0;padding-right:0}
#pp-portal .pp-preparation-grid h3{font:600 13px/1.3 Georgia,serif;margin:0 0 4px}
#pp-portal .pp-preparation-grid p{font-size:11px;line-height:1.4}
#pp-portal .pp-preparation-grid .pp-icon{width:23px;height:23px;color:#c57919}
#pp-portal .pp-change-link{font-size:12px;color:#aa6817;margin-top:8px}
#pp-portal .pp-details summary{display:flex;align-items:center;gap:9px;font:14px/1.4 Georgia,serif}
#pp-portal .pp-details summary:after{content:'+';margin-left:auto;font-family:system-ui}
#pp-portal .pp-details[open] summary:after{content:'−'}
#pp-portal .pp-details .pp-icon{width:18px;height:18px;color:#426264}
#pp-portal .pp-card-actions{padding-top:12px}
#pp-portal .pp-mobile-meeting{display:none}
@media(min-width:900px){
 #pp-portal .pp-dashboard-shell{display:grid;grid-template-columns:170px minmax(0,1fr);gap:0 28px}
 #pp-portal .pp-page-header{grid-column:2;grid-row:1}
 #pp-portal .pp-dashboard{display:contents}
 #pp-portal .pp-sidebar{grid-column:1;grid-row:1/3;min-height:500px;display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start}
 #pp-portal .pp-sidebar nav{display:grid}
 #pp-portal .pp-sidebar>.pp-logout,#pp-portal .pp-sidebar>form{margin-top:auto}
 #pp-portal .pp-content{grid-column:2;grid-row:2;display:block}
 #pp-portal .pp-right-rail{grid-column:2;grid-row:3;padding-top:0}
}
@media(min-width:1140px){
 #pp-portal .pp-dashboard-shell:has(.pp-has-rail){grid-template-columns:170px minmax(0,1fr) 250px;gap:0 22px}
 #pp-portal .pp-has-rail .pp-right-rail{grid-column:3;grid-row:2;padding-top:57px}
 #pp-portal .pp-dashboard-shell:has(.pp-has-rail) .pp-page-header{grid-column:2/4}
 #pp-portal .pp-has-rail .pp-card-actions{display:none}
}
@media(max-width:899px){
 #pp-portal{padding:16px 12px 36px}
 #pp-portal .pp-page-header{margin-bottom:10px}#pp-portal .pp-page-header h1{font-size:29px}#pp-portal .pp-page-header>p:last-child{font-size:14px}
 #pp-portal .pp-sidebar{border:0;padding:0;margin-bottom:8px;gap:2px;justify-content:space-between}
 #pp-portal .pp-sidebar h2{display:none}#pp-portal .pp-sidebar a,#pp-portal .pp-logout{font-size:11px;padding:5px;gap:4px;min-height:36px}#pp-portal .pp-sidebar .pp-icon{width:15px;height:15px}
 #pp-portal .pp-dashboard{gap:10px}#pp-portal .pp-tabs{width:100%;margin:0}
 #pp-portal .pp-booking{padding:10px;margin:0}
 #pp-portal .pp-booking>.pp-walk,#pp-portal .pp-walk{grid-template-columns:minmax(0,1fr);gap:10px}
 #pp-portal .pp-booking>.pp-walk>.pp-photo,#pp-portal .pp-photo{height:auto;aspect-ratio:2/1}
 #pp-portal .pp-walk h2,#pp-portal .pp-walk h3{font-size:22px;margin-bottom:10px}
 #pp-portal .pp-meta{gap:7px}#pp-portal .pp-meta dd{font-size:14px}
 #pp-portal .pp-payment{padding:12px 4px;margin-top:12px}#pp-portal .pp-payment dl>div{padding:0 8px}#pp-portal .pp-payment dt{font-size:11px}#pp-portal .pp-payment dd{font-size:22px}
 #pp-portal .pp-mobile-meeting{display:block;margin-top:12px}#pp-portal .pp-has-rail .pp-right-rail{display:none}
 #pp-portal .pp-map{height:142px}#pp-portal .pp-card-actions .pp-button{width:100%;min-height:40px}
 #pp-portal .pp-preparation{margin:0}#pp-portal .pp-preparation-grid{grid-template-columns:1fr;gap:12px}#pp-portal .pp-preparation-grid article{padding:0;border:0}
}

/* The portal has its own contextual help; avoid covering it with the site-wide mobile bar. */
@media(max-width:767px){
body.pp-tourist-portal-page{padding-bottom:calc(76px + env(safe-area-inset-bottom))!important}
html body.pp-tourist-portal-page .mobile-sticky-actions{display:flex!important}
html body.pp-tourist-portal-page .mobile-sticky-actions .btn{font-size:13px;gap:6px}
body.pp-tourist-portal-page:has(#pp-portal input:focus,#pp-portal textarea:focus) .mobile-sticky-actions{display:none!important}
}
/* Align the mobile portal with the shared header/footer's 16px gutters. */
@media (max-width:899px) {
 #pp-portal { padding-inline:16px; }
 #pp-portal .pp-auth-layout { grid-template-columns:minmax(0,1fr); margin:4px auto 0; gap:20px; }
 #pp-portal .pp-auth-intro,#pp-portal .pp-auth-card { min-width:0; width:100%; }
 #pp-portal .pp-auth-intro .pp-eyebrow { font-size:10px; letter-spacing:.07em; margin-bottom:10px; }
 #pp-portal .pp-auth-intro h1 { font-size:clamp(28px,8vw,34px); line-height:1.15; margin-bottom:12px; }
 #pp-portal .pp-auth-intro .pp-lead { font-size:14px; line-height:1.55; margin-bottom:0; }
 #pp-portal .pp-auth-card { padding:20px 18px; margin-bottom:0; border-radius:10px; }
 #pp-portal .pp-auth-card h2 { font-size:27px; margin-bottom:12px; }
 #pp-portal .pp-auth-form { margin-top:18px; }
 #pp-portal .pp-auth-footer { margin-top:18px; padding-top:10px; }
}
/* Booking cards: one predictable photo column, including multi-tour orders. */
#pp-portal .pp-booking { padding:20px; margin:0 0 20px; }
#pp-portal .pp-booking .pp-walk { display:grid; grid-template-columns:minmax(160px,32%) minmax(0,1fr); gap:20px; align-items:start; }
#pp-portal .pp-booking .pp-walk.pp-walk-no-photo { grid-template-columns:minmax(0,1fr); }
#pp-portal .pp-booking .pp-walk>.pp-photo { width:100%; height:180px; max-width:none; object-fit:cover; border-radius:8px; }
#pp-portal .pp-booking .pp-walk h2,#pp-portal .pp-booking .pp-walk h3 { font-size:24px; font-weight:400; line-height:1.25; margin:0 0 14px; }
#pp-portal .pp-booking .pp-meta dd { font:14px/1.55 Inter,system-ui,sans-serif; }
#pp-portal .pp-items { margin:0; }
#pp-portal .pp-item { padding:18px 0; }
#pp-portal .pp-item:first-child { border-top:0; padding-top:0; }
#pp-portal .pp-item:last-child { padding-bottom:0; }
#pp-portal .pp-order-title { font:600 14px/1.5 Inter,system-ui,sans-serif; margin:0 0 16px; color:var(--pp-muted); }
#pp-portal .pp-meeting-pending { display:flex; align-items:flex-start; gap:8px; padding:12px 0; margin:8px 0 0; color:var(--pp-muted); font:13px/1.5 Inter,system-ui,sans-serif; }
#pp-portal .pp-meeting-pending .pp-icon { flex:0 0 18px; width:18px; height:20px; }
#pp-portal .pp-payment p { font-size:12px; line-height:1.5; }
#pp-portal .pp-test-notice { font-size:13px; padding:12px 14px; background:#f6f2e9; border-radius:8px; margin:0 0 16px; }
#pp-portal .pp-test-label { font:600 11px/1.4 Inter,system-ui,sans-serif; color:#735b36; background:#f5ead6; padding:4px 8px; border-radius:5px; }
#pp-portal .pp-test-history { margin:20px 0; border:1px solid var(--pp-border); border-radius:8px; padding:14px; }
#pp-portal .pp-test-history>summary { cursor:pointer; font-size:14px; font-weight:600; }
#pp-portal .pp-test-history>p { font-size:13px; margin:12px 0; }
#pp-portal .pp-test-history .pp-card-actions { display:flex; }
#pp-portal .pp-test-history .pp-booking:last-child { margin-bottom:0; }
@media(max-width:899px) {
 #pp-portal .pp-booking { padding:14px; margin-bottom:16px; }
 #pp-portal .pp-booking .pp-walk { grid-template-columns:minmax(0,1fr); gap:14px; }
 #pp-portal .pp-booking .pp-walk>.pp-photo { width:100%; height:auto; aspect-ratio:16/9; }
 #pp-portal .pp-booking .pp-walk h2,#pp-portal .pp-booking .pp-walk h3 { font-size:22px; }
 #pp-portal .pp-test-history { padding:10px; }
 #pp-portal .pp-test-history .pp-booking { padding:10px; }
 #pp-portal .pp-payment dd { font-size:clamp(16px,5vw,22px); }
 #pp-portal .pp-payment p { margin:10px 6px 0; font-size:11px; }
}

/* Keep the help rail compact regardless of booking length. */
#pp-portal .pp-right-rail{align-self:start;align-content:start;grid-auto-rows:max-content;height:auto}
#pp-portal .pp-right-rail>*{align-self:start;min-height:0;height:auto}
#pp-portal .pp-walk .pp-photo{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;align-self:start}
#pp-portal .pp-walk h2 a,#pp-portal .pp-walk h3 a{color:inherit;text-decoration:none}
#pp-portal .pp-walk h2 a:hover,#pp-portal .pp-walk h3 a:hover{text-decoration:underline}
#pp-portal .pp-map{display:block;width:100%;height:190px;border:0;border-radius:7px;margin:12px 0}
#pp-portal .pp-tabs{width:auto;max-width:100%;display:flex;gap:0;overflow-x:auto;white-space:nowrap;scrollbar-width:thin}
#pp-portal .pp-tabs a{width:auto;flex:1 0 auto;padding:9px 12px}
#pp-portal .pp-payment-status{display:inline-flex;border-radius:20px;background:#e7f1eb;color:#064936;padding:5px 10px;font:600 13px/1.4 Arial,sans-serif;margin:8px 0}
#pp-portal .pp-archive-form{margin-top:12px}#pp-portal .pp-walk-status{display:block;color:#62766c;margin-bottom:8px}
#pp-portal .pp-test-notice{font-size:12px;padding:9px 12px;margin-bottom:12px}
@media(max-width:600px){#pp-portal .pp-tabs{gap:0}#pp-portal .pp-tabs a{font-size:12px;padding:8px 10px}#pp-portal .pp-payment dd{font-size:20px}}
.pp-language{display:flex;gap:4px;justify-content:flex-end;margin:8px 0 12px;font:12px/1.3 Arial,sans-serif}.pp-language a{color:#184c3e;text-decoration:none;padding:6px 8px;border-radius:5px}.pp-language a[aria-current]{background:#e6eee8;font-weight:700}

@media(max-width:767px){html body.pp-tourist-portal-page .mobile-sticky-actions{z-index:10000!important;background:#fffdf8!important;opacity:1!important;padding:6px 10px calc(6px + env(safe-area-inset-bottom))!important;gap:6px!important}html body.pp-tourist-portal-page .mobile-sticky-actions a.btn{flex:1!important;min-width:0!important;position:relative!important;opacity:1!important;font:600 12px/1.2 Arial,sans-serif!important;padding:8px 5px!important;height:44px!important;min-height:44px!important;border-radius:6px!important}html body.pp-tourist-portal-page .mobile-sticky-actions a.btn-primary{background:#064b3a!important;color:#fff!important}html body.pp-tourist-portal-page .mobile-sticky-actions a.btn-gold{background:#f5e7cf!important;color:#164333!important;border:1px solid #dec39a!important}}
