/* Approved portal design. Existing gallery, document, and form behavior is retained. */
body.portal-app{--pd-accent:#28735b;--pd-deep:#183e32;--pd-soft:#eaf4ee;--pd-text:#20392f;--pd-muted:#62746c;--pd-line:#dfe7e2;--pd-bg:#f5f7f4;background:var(--pd-bg);color:var(--pd-text);font-family:'DM Sans',system-ui,sans-serif;line-height:1.6}
body.brand-snow{--pd-accent:#166987;--pd-deep:#123b4c;--pd-soft:#eaf4f8;--pd-text:#172e38;--pd-muted:#62747b;--pd-line:#e0e8e9;--pd-bg:#f4f7f8}
[hidden]{display:none!important}button,input,select,textarea{font:inherit}a{color:var(--pd-accent)}button,a,input,select,summary{outline-offset:4px}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #d88e34}h1,h2,h3,.portal-app h1,.portal-app h2,.portal-app h3{font-family:'DM Sans',system-ui,sans-serif;letter-spacing:-.03em;text-transform:none;color:var(--pd-text)}.portal-app h1{font-size:clamp(27px,3vw,32px);line-height:1.22;font-weight:700;margin:0 0 10px}.portal-app h2{font-size:19px;line-height:1.35;margin:0 0 15px}.portal-app h3{font-size:15px;margin:0 0 8px}.portal-app .muted,.portal-app .meta{color:var(--pd-muted)}.portal-app .small{font-size:12px}.pd-icon{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}.pd-eyebrow{font-size:10px!important;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--pd-muted);margin:0 0 12px}.pd-skip{position:fixed;top:-90px;background:white;padding:15px;z-index:100}.pd-skip:focus{top:0}
.pd-shell{display:grid;grid-template-columns:236px minmax(0,1fr);min-height:100vh}.pd-sidebar{background:white;border-right:1px solid var(--pd-line);padding:30px 20px;display:flex;flex-direction:column;gap:32px;min-width:0}.pd-brand{display:flex;align-items:center;gap:10px;font-size:16px;font-weight:700;line-height:1.2;color:var(--pd-text);text-decoration:none}.pd-brand small{display:block;font-size:9px;letter-spacing:.12em;font-weight:600;margin-top:7px;color:var(--pd-muted)}.pd-logo{width:46px;height:46px;background:#0c222d;display:grid;place-items:center;border-radius:12px;flex-shrink:0}.pd-logo img{width:35px;height:35px;object-fit:contain}.pd-sidebar .portal-topnav{display:grid;gap:6px;margin:0;padding:0;border:0;border-radius:0;box-shadow:none;background:none;font-size:14px}.pd-sidebar .portal-topnav a{display:flex;align-items:center;gap:12px;padding:12px;border:0;border-radius:9px;color:var(--pd-muted);font-weight:500;text-decoration:none}.pd-sidebar .portal-topnav a:hover{background:var(--pd-bg)}.pd-sidebar .portal-topnav a.active{background:var(--pd-soft);color:var(--pd-accent);font-weight:700}.pd-side-help{margin-top:auto;background:var(--pd-bg);border:1px solid var(--pd-line);border-radius:12px;padding:17px;font-size:13px}.pd-side-help p{font-size:12px;color:var(--pd-muted);margin:8px 0 14px}.pd-side-help a{font-size:12px;font-weight:700;text-decoration:none}.pd-account{display:flex;gap:12px;align-items:center;padding-top:20px;border-top:1px solid var(--pd-line);font-size:13px;text-decoration:none;overflow-wrap:anywhere}.pd-account small{display:block;font-size:11px;color:var(--pd-muted);margin-top:4px}.pd-workspace{min-width:0}.pd-topbar{height:78px;background:#ffffffc9;border-bottom:1px solid var(--pd-line);display:flex;align-items:center;justify-content:space-between;padding:0 40px;font-size:13px;gap:20px}.pd-breadcrumb{color:var(--pd-muted)}.pd-breadcrumb strong{color:var(--pd-text);font-weight:600}.pd-breadcrumb>span{padding:0 10px}.pd-topbar a{font-weight:600;text-decoration:none}.pd-content{padding:34px 40px 36px;max-width:1260px;margin:auto;min-width:0}.portal-app .hero{background:none;border:0;border-radius:0;padding:0;margin:0 0 26px;box-shadow:none}.portal-app .hero p{font-size:14px;margin:0 0 8px}.portal-app .card{background:white;border:1px solid var(--pd-line);border-radius:14px;padding:24px;margin:0 0 22px;box-shadow:0 4px 20px #1b3d4b05;min-width:0;overflow-wrap:anywhere}.portal-app .card:before{display:none}.pd-two{display:grid;grid-template-columns:1fr 1fr;gap:20px}.pd-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-bottom:24px}.pd-stats .card{margin:0}.pd-stat{text-decoration:none;color:var(--pd-text)}.pd-stat>span{display:flex;gap:8px;align-items:center;font-size:12px;color:var(--pd-muted)}.pd-stat strong{display:block;font-size:32px;letter-spacing:-1px;margin:12px 0 3px}.pd-stat small{color:var(--pd-muted);font-size:12px}.pd-actions{display:flex;gap:12px;flex-wrap:wrap}.portal-app .btn-primary,.portal-app .btn-secondary{display:inline-flex;align-items:center;justify-content:center;gap:9px;padding:11px 17px;font-size:13px;font-weight:650;line-height:1.45;border-radius:9px;text-decoration:none;cursor:pointer;letter-spacing:0;text-transform:none}.portal-app .btn-primary{background:var(--pd-accent);color:white;border:1px solid var(--pd-accent)}.portal-app .btn-secondary{background:white;color:var(--pd-accent);border:1px solid var(--pd-line)}.portal-app .btn-primary:hover{filter:brightness(.93)}.portal-app input,.portal-app select,.portal-app textarea{border-radius:8px}.pd-table-wrap{overflow:auto;max-width:100%;border:1px solid var(--pd-line);border-radius:9px;margin-top:18px}.portal-app table{font-size:13px;width:100%;border-collapse:collapse}.portal-app th{background:#f9fbfa;color:var(--pd-muted);font-size:10px;letter-spacing:.06em;text-transform:uppercase;padding:15px 18px;white-space:nowrap}.portal-app td{padding:18px;border-color:var(--pd-line);vertical-align:top}.portal-app td a{font-weight:600}.pd-search{display:block;font-size:12px;font-weight:600;margin-top:22px;max-width:500px}.pd-search input{display:block;width:100%;margin-top:7px;background:#fafcfc;padding:12px 14px;border:1px solid var(--pd-line);color:var(--pd-text)}.portal-app .div-pills{gap:9px;margin:16px 0}.portal-app .div-pill{border:1px solid var(--pd-line);background:var(--pd-soft);color:var(--pd-accent);border-radius:8px;padding:8px 13px;font-size:12px}.portal-app .history-card,.portal-app .addr-block{border-color:var(--pd-line);border-radius:10px;background:var(--pd-bg);padding:18px}.portal-app .history-card .when{color:var(--pd-accent)}.portal-app .kpi{border:0;background:none;padding:0;box-shadow:none}.portal-app .portal-footer{margin-top:32px;padding-top:20px;border-top:1px solid var(--pd-line);color:var(--pd-muted);font-size:11px;text-align:left}.portal-app .portal-footer a{color:var(--pd-accent)}.pd-content>.portal-company-switcher{margin-bottom:22px}.pd-content .preview-banner{margin-bottom:22px}
.pd-reward-hero{display:flex;align-items:center;justify-content:space-between;gap:24px;background:var(--pd-deep);color:white;border-radius:14px;padding:30px 32px;margin-bottom:22px;min-width:0}.pd-reward-hero h2{font-size:28px;color:white;max-width:510px;line-height:1.25;letter-spacing:-.04em}.pd-reward-hero p{color:#dae8e9;font-size:13px;max-width:560px}.pd-reward-hero .pd-eyebrow{color:#b8d8df}.pd-reward-hero .btn-primary{background:white;color:var(--pd-deep);border-color:white}.pd-reward-value{font-size:64px;font-weight:500;line-height:1;letter-spacing:-3px;border-left:1px solid #ffffff30;padding-left:24px;flex-shrink:0}.pd-reward-value small{display:block;font-size:11px;letter-spacing:0;line-height:1.5;margin-top:10px;max-width:120px}.pd-referral-layout{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(260px,1fr);gap:20px;margin-bottom:22px}.pd-referral-layout>.card,.pd-referral-layout>.pd-reward-hero{margin:0}.pd-referral-layout .pd-share{grid-column:1/-1;grid-row:2}.pd-referral-layout .pd-reward-hero{grid-column:1;grid-row:1}.pd-referral-layout .pd-credit{grid-column:2;grid-row:1}.pd-credit-amount{display:block;font-size:46px;line-height:1.25;letter-spacing:-2px;color:var(--pd-accent);margin:14px 0 10px}.pd-credit p{font-size:13px}.pd-credit>a{font-size:13px;font-weight:700;text-decoration:none}.pd-earned{display:flex;flex-direction:column;border-top:1px solid var(--pd-line);margin-top:24px;padding-top:16px}.pd-earned strong{font-size:19px}.pd-earned span{font-size:12px;color:var(--pd-muted)}.pd-share>p{font-size:13px}.pd-link-field{display:flex;gap:8px;border:1px solid #cbd9dd;border-radius:9px;padding:5px;margin-top:8px;background:#fafcfc}.pd-link-field input{flex:1;width:100%;min-width:0;border:0!important;background:transparent!important;color:var(--pd-text)!important;padding:10px;font-size:13px}.pd-link-field button{flex-shrink:0}.pd-copy-status:empty{display:none}.pd-copy-status{color:var(--pd-accent);font-weight:600}.pd-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;margin-top:24px}.pd-steps span{display:grid;place-items:center;width:29px;height:29px;border:1px solid var(--pd-line);border-radius:50%;font-size:12px;color:var(--pd-accent);margin-bottom:14px}.pd-steps p{font-size:13px;color:var(--pd-muted);margin:0}.pd-referral-row{padding:19px 0;border-bottom:1px solid var(--pd-line);display:flex;align-items:center;justify-content:space-between;gap:18px;font-size:13px}.pd-referral-row p,.pd-referral-row small{color:var(--pd-muted);font-size:12px;margin:5px 0 0}.pd-badge{display:inline-block;background:var(--pd-soft);color:var(--pd-accent);padding:5px 8px;border-radius:5px;font-size:10px;font-weight:700;white-space:nowrap}.pd-filters{display:flex;gap:5px;border-bottom:1px solid var(--pd-line);margin-top:20px}.pd-filters button{border:0;border-bottom:2px solid transparent;background:none;padding:12px 14px;color:var(--pd-muted);cursor:pointer;font-size:12px}.pd-filters button[aria-pressed=true]{border-bottom-color:var(--pd-accent);color:var(--pd-accent);font-weight:700}.pd-empty{padding:30px 12px;text-align:center}.pd-empty p{font-size:13px;color:var(--pd-muted)}.pd-faq{border-bottom:1px solid var(--pd-line);padding:17px 0;font-size:13px}.pd-faq:last-child{border:0}.pd-faq summary{cursor:pointer;font-weight:650}.pd-faq p{color:var(--pd-muted);font-size:13px;margin:12px 0 0}
.portal-guest .wrap{max-width:1140px;padding:28px 24px}.portal-guest .portal-header{background:none;color:var(--pd-text);margin:0 0 26px;padding:0}.portal-guest .portal-logo{background:var(--pd-deep);padding:12px 16px;border-radius:12px}.portal-guest .portal-logo-sub{color:#d5e8e1}.portal-guest .portal-tagline{color:var(--pd-muted)}.portal-guest .landing-split{border:1px solid var(--pd-line);border-radius:20px;box-shadow:0 20px 60px #0b253910;overflow:hidden;gap:0}.portal-guest .landing-brand{background:var(--pd-deep);padding:40px;color:white}.portal-guest .landing-brand h1,.portal-guest .landing-brand h2{color:white}.portal-guest .landing-headline{font-size:36px;line-height:1.2;letter-spacing:-1px}.portal-guest .landing-lead{font-size:14px;color:#d4e4e5}.portal-guest .landing-brand .eyebrow{color:#b8d8df}.portal-guest .company-card{border-color:#ffffff25;border-radius:12px;background:#ffffff08;box-shadow:none}.portal-guest .company-card-meta,.portal-guest .company-card-services,.portal-guest .company-card-label,.portal-guest .landing-cross-link{color:#d4e4e5}.portal-guest .company-card a,.portal-guest .landing-cross-link a{color:white}.portal-guest .company-card-title{font-size:18px}.portal-guest .landing-panel{background:white;border:0;border-radius:0}.portal-guest .landing-panel-inner{padding:40px}.portal-guest .panel-title{font-size:27px;color:var(--pd-text)}.portal-guest .muted-dark,.portal-guest .panel-lead{color:var(--pd-muted)}.portal-guest .portal-form input{padding:13px;border:1px solid var(--pd-line);background:#fafcfc;color:var(--pd-text)}.portal-guest .portal-form label{color:var(--pd-text)}.portal-guest .panel-hr{border-color:var(--pd-line)}.portal-guest .signin-code-details{border-color:var(--pd-line);background:var(--pd-bg)}.portal-guest .login-continue-panel{max-width:580px;margin:10vh auto;border-radius:16px;border:1px solid var(--pd-line)}
.pd-menu-button,.pd-menu-close,.pd-backdrop{display:none}.pd-content .card>table{display:block;overflow-x:auto;max-width:100%}
@media(max-width:1150px){.pd-shell{grid-template-columns:210px minmax(0,1fr)}.pd-sidebar{padding:25px 14px}.pd-content{padding:28px}.pd-topbar{padding:0 28px}.pd-reward-hero{padding:25px}.pd-reward-hero h2{font-size:25px}.pd-reward-value{font-size:48px;padding-left:18px}.pd-referral-layout{grid-template-columns:minmax(0,1.35fr) minmax(230px,1fr)}}
@media(max-width:850px){.pd-shell{display:block}.pd-sidebar{display:none;position:fixed;inset:0 auto 0 0;width:260px;z-index:70;overflow:auto}.pd-nav-open .pd-sidebar{display:flex}.pd-menu-close{display:block;position:absolute;right:6px;top:4px;border:0;background:none;font-size:28px;color:var(--pd-muted);cursor:pointer}.pd-menu-button{display:flex;align-items:center;padding:10px;border:0;background:none;color:var(--pd-text);cursor:pointer}.pd-nav-open .pd-backdrop{display:block;position:fixed;inset:0;width:100%;height:100%;border:0;border-radius:0;background:#10263175;z-index:60}.pd-topbar{height:66px}.pd-breadcrumb{display:none}.pd-content{max-width:780px}.portal-guest .landing-brand,.portal-guest .landing-panel-inner{padding:28px}}
@media(max-width:600px){.pd-content{padding:25px 17px}.pd-topbar{padding:0 17px}.pd-stats{gap:8px}.pd-stats .card{padding:14px 11px}.pd-stat>span{font-size:10px}.pd-stat .pd-icon{display:none}.pd-stat strong{font-size:27px}.pd-stat small{font-size:10px}.pd-two{grid-template-columns:1fr;gap:0}.portal-app .card{padding:21px}.pd-reward-hero{padding:26px;gap:18px}.pd-reward-hero h2{font-size:25px}.pd-reward-value{font-size:43px;letter-spacing:-2px;padding-left:15px;align-self:flex-start}.pd-reward-value small{font-size:10px;max-width:78px}.pd-referral-layout{display:flex;flex-direction:column;gap:15px}.pd-referral-layout .pd-share{order:0}.pd-referral-layout .pd-reward-hero{order:1}.pd-referral-layout .pd-credit{order:2}.pd-link-field{flex-wrap:wrap}.pd-link-field input{flex-basis:100%}.pd-link-field button{width:100%}.pd-steps{grid-template-columns:1fr;gap:22px}.pd-referral-row{align-items:flex-start}.pd-referral-row>div{min-width:0}.pd-badge{white-space:normal;text-align:center;max-width:100px}.pd-filters button{padding:12px 8px;font-size:11px}.portal-app td,.portal-app th{padding:14px;min-width:90px}.portal-app .photo-pair{gap:12px}.portal-guest .wrap{padding:20px 16px}.portal-guest .landing-split{display:block}.portal-guest .landing-headline{font-size:30px}.portal-guest .landing-panel-inner{padding:25px}.pd-actions{flex-direction:column}.pd-actions a{width:100%}.pd-content .portal-company-switcher{max-width:100%;flex-wrap:wrap}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
.portal-guest .landing-brand a,.portal-guest .landing-text-brand{color:#e1f0f3}
@media(max-width:600px){.portal-guest .landing-split{display:flex;flex-direction:column}.portal-guest .landing-panel{order:0}.portal-guest .landing-brand{order:1}}
@media(max-width:600px){.portal-app .pd-stats .card{padding:14px 11px}.pd-stat small{line-height:1.45;display:block}.pd-stat>span{line-height:1.4}}

.pd-content>.company-switcher{margin-bottom:24px}.pd-content .switcher-seg{display:flex;gap:8px;flex-wrap:wrap}.pd-content .switcher-seg button{border:1px solid var(--pd-line);background:white;color:var(--pd-accent);border-radius:8px;padding:9px 13px;cursor:pointer;font-size:12px}.pd-content .switcher-seg button.is-active{background:var(--pd-soft);font-weight:700}
