.portal-page{padding-bottom:64px;background:var(--soft)}.portal-intro{padding-block:64px 36px}.portal-intro h1{font-size:clamp(2.8rem,5vw,4.8rem);margin:12px 0 22px}.portal-intro>p:last-child{max-width:690px}.portal-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.portal-card{background:white;padding:32px;border:1px solid var(--line);border-radius:8px;min-width:0}.portal-card h2{font-size:2rem;margin:10px 0 20px}.portal-card form{display:grid;gap:12px;margin:26px 0}.portal-card label{font-weight:700}.portal-card input{width:100%;padding:14px;border:1px solid #89998e;border-radius:4px;font:inherit;min-width:0}.portal-card input:read-only{background:var(--soft)}.portal-card .button{justify-content:center;border:0;cursor:pointer}.portal-card small{color:var(--muted)}.portal-feedback{background:var(--soft);padding:14px;border-left:3px solid var(--pine)}.portal-preview-note{margin-top:28px;padding:22px;border:1px solid var(--line);border-radius:6px}.portal-preview-note p{font-size:.95rem;margin-top:5px}.portal-help{display:flex;gap:24px;align-items:center;margin-top:30px}.portal-summary{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:24px 0 32px}.portal-summary h2{font-size:2rem;margin-bottom:12px}.portal-documents ul{list-style:none;padding:0;margin:22px 0}.portal-documents li{padding:12px 0;border-bottom:1px solid var(--line);display:flex;gap:20px;justify-content:space-between}.portal-documents small{white-space:nowrap}.portal-quicklinks{display:grid;gap:0}.portal-quicklinks a{padding:16px 0;border-bottom:1px solid var(--line);font-weight:700}.portal-home-entry{margin-top:24px;padding:20px;border:1px solid var(--line);border-radius:6px}.portal-home-entry p{font-size:1rem;margin-bottom:12px}.portal-home-entry h3{margin-bottom:12px}.portal-nav{font-size:.85em}
@media(max-width:700px){.portal-grid{grid-template-columns:1fr}.portal-card{padding:24px}.portal-intro{padding-top:40px}.portal-summary,.portal-help{flex-direction:column;align-items:flex-start}.portal-documents li{flex-direction:column;gap:4px}}

.portal-intro .packing-back{color:var(--pine);display:inline-block;margin-bottom:18px}

/* Both login cards share actual rows, including help text and feedback. */
.portal-login-grid{row-gap:0}
.portal-login-grid>.portal-card{display:grid;grid-template-rows:subgrid;grid-row:span 10;align-content:start}
.portal-login-grid>.portal-card>.eyebrow{grid-row:1}
.portal-login-grid>.portal-card>h2{grid-row:2}
.portal-login-grid>.portal-card>p:not(.eyebrow){grid-row:3;margin:0 0 26px}
.portal-login-grid .portal-card form{display:contents}
.portal-login-grid form>label{grid-row:4;margin-bottom:10px}
.portal-login-grid form>input{grid-row:5;height:56px}
.portal-login-grid form>small{grid-row:6;margin:8px 0 18px;font-size:.82rem;line-height:1.5}
.portal-login-grid form>button{grid-row:7;min-height:56px;width:100%;align-self:start}
.portal-login-grid form .portal-feedback{grid-row:9;margin:16px 0 0}
.portal-login-grid>.portal-card>.text-link{grid-row:10;justify-self:start;align-self:end;margin-top:26px}
@media(max-width:700px){.portal-login-grid{row-gap:20px}.portal-login-grid>.portal-card{display:block;grid-row:auto}.portal-login-grid .portal-card form{display:grid;gap:10px;margin:0 0 24px}.portal-login-grid form>*{grid-row:auto!important}.portal-login-grid form label,.portal-login-grid form>small{margin:0}.portal-login-grid form>small{margin-bottom:8px}.portal-login-grid>.portal-card>.text-link{margin-top:0}}

.portal-login-grid .portal-code-box{grid-row:8;margin-top:18px}.portal-code-box{border:1px solid var(--line);border-radius:6px;padding:14px}.portal-code-box summary{font-size:.9rem;font-weight:700;cursor:pointer}.portal-code-box[open] summary{margin-bottom:16px}.portal-code-box label,.portal-code-box small{display:block;margin:12px 0 8px!important}.portal-code-box input{letter-spacing:.25em;font-weight:700}.portal-code-box button{margin-top:12px}.portal-code-box .button{font-size:.9rem}

.portal-code-box{align-self:start}

.portal-code-box .button{width:100%}
/* Compact parent dashboard; scoped independently of login cards. */
.parent-dashboard{padding:38px 0 60px;background:var(--soft)}.pd-heading{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-bottom:22px}.pd-heading h1{font-size:clamp(2rem,3.5vw,3rem);margin:8px 0 14px}.pd-heading p:last-child{font-size:1rem}.pd-exit{font-size:.85rem;font-weight:700;white-space:nowrap;padding:10px 0}.pd-demo-note{display:flex;gap:12px;align-items:flex-start;padding:14px 18px;background:#edf0e8;border-radius:6px;color:var(--muted)}.pd-demo-note p{font-size:.85rem}.pd-demo-note>span{font-size:1.15rem;line-height:1.3}.pd-children{display:flex;gap:12px;margin-top:24px}.pd-children button{font:inherit;padding:14px 20px;border:1px solid var(--line);border-radius:6px;background:white;text-align:left;cursor:pointer;color:var(--pine);min-width:210px}.pd-children strong,.pd-children span{display:block}.pd-children strong{font-size:.95rem}.pd-children span{font-size:.8rem;margin-top:2px}.pd-children button[aria-pressed=true]{background:var(--pine);border-color:var(--pine);color:white}.pd-children button:focus-visible,.pd-preview-controls select:focus-visible{outline:3px solid #bf8832;outline-offset:3px}.pd-overview{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:24px 0}.pd-overview h2{font-size:1.75rem;letter-spacing:-.035em;margin:7px 0 10px}.pd-overview p:last-child{font-size:.95rem;color:var(--muted)}.pd-overview dl{display:flex;gap:32px;margin:0}.pd-overview dt{font-size:.75rem;color:var(--muted)}.pd-overview dd{margin:3px 0 0;font-weight:700;font-size:.95rem}.pd-status-grid,.pd-bottom-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.pd-card{padding:26px;background:white;border:1px solid var(--line);border-radius:8px;min-width:0}.pd-card-label{display:flex;align-items:center;gap:10px;margin-bottom:20px}.pd-card-label>span{font-size:.72rem;letter-spacing:.05em;color:var(--muted)}.pd-card-label h2{font-size:1.2rem;letter-spacing:-.025em}.pd-card p{font-size:.95rem}.pd-badge{display:inline-block;margin:0 0 14px;padding:6px 11px;border-radius:5px;font-size:.82rem!important;font-weight:700;line-height:1.5;background:#edf0e8;color:var(--pine)}.pd-badge.waiting{background:#fbf0d8;color:#865918}.pd-badge.success{background:#e5efdf;color:#35512c}.pd-badge.unpaid{background:#fbe8e5;color:#ad3027}.pd-badge.neutral{background:#edf0e8;color:#647263}.pd-next{padding-top:18px;margin-top:20px;border-top:1px solid var(--line)}.pd-next strong{font-size:.85rem}.pd-next p{margin-top:5px}.pd-money{margin:18px 0 0;display:grid;gap:6px}.pd-money div{display:flex;justify-content:space-between;gap:20px}.pd-money dt,.pd-money dd{font-size:.85rem;margin:0}.pd-money dd{font-weight:700}.pd-payment-detail{font-size:.8rem!important;color:var(--muted);padding-top:14px;margin-top:14px!important;border-top:1px solid var(--line)}.pd-bottom-grid{margin-top:20px;grid-template-columns:1.25fr 1fr;align-items:start}.pd-documents ul{list-style:none;padding:0;margin:16px 0}.pd-documents li{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:14px 0;border-bottom:1px solid var(--line)}.pd-documents li strong{font-size:.9rem}.pd-documents li small{display:block;font-size:.78rem;color:var(--muted);margin-top:2px}.pd-documents button{flex:none;padding:7px 11px;min-height:38px;border:1px solid var(--line);border-radius:4px;background:var(--soft);color:var(--muted);font:inherit;font-size:.8rem;cursor:not-allowed}.pd-doc-note{font-size:.8rem!important;color:var(--muted);margin-bottom:16px}.pd-documents .text-link,.pd-help .text-link{font-size:.85rem}.pd-preparations nav{display:grid}.pd-preparations nav a{display:flex;justify-content:space-between;gap:16px;align-items:center;padding:13px 0;border-bottom:1px solid var(--line);font-weight:700;font-size:.9rem}.pd-preparations nav small{display:block;font-size:.78rem;font-weight:400;color:var(--muted);margin-top:3px}.pd-help{padding-top:22px}.pd-help strong{font-size:.9rem}.pd-help p{font-size:.85rem;margin:5px 0 12px}.pd-preview-controls{margin-top:28px;padding:18px;border:1px dashed #bdc8b8;border-radius:6px;color:var(--muted)}.pd-preview-controls summary{font-size:.85rem;font-weight:700;cursor:pointer}.pd-preview-controls label{display:block;font-size:.85rem;margin:16px 0 7px}.pd-preview-controls select{font:inherit;font-size:.9rem;padding:10px 12px;border:1px solid var(--line);border-radius:4px;max-width:100%;color:var(--pine);background:white}.pd-preview-controls p{font-size:.8rem;margin-top:9px}
@media(max-width:900px){.pd-overview{align-items:flex-start}.pd-overview dl{gap:20px}.pd-bottom-grid{grid-template-columns:1fr 1fr}.pd-card{padding:22px}.pd-status-grid,.pd-bottom-grid{gap:16px}}
@media(max-width:700px){.parent-dashboard{padding-top:26px}.pd-heading{align-items:flex-start;gap:12px}.pd-exit{font-size:.75rem;white-space:normal;max-width:85px;text-align:right}.pd-heading h1{font-size:2rem}.pd-heading p:last-child{font-size:.9rem}.pd-children{gap:8px}.pd-children button{min-width:0;flex:1;padding:12px;min-height:74px}.pd-children strong{font-size:.8rem}.pd-children span{font-size:.72rem}.pd-overview{flex-direction:column;gap:16px}.pd-overview dl{gap:28px}.pd-status-grid,.pd-bottom-grid{grid-template-columns:1fr}.pd-card{padding:20px}.pd-card-label{margin-bottom:16px}.pd-documents li{gap:10px}.pd-documents li strong{font-size:.85rem}.pd-preview-controls select{width:100%}}
/* Parent next action and document availability. */
.pd-action{display:flex;align-items:center;justify-content:space-between;gap:24px;background:#f7eedb;border:1px solid #e6d4af;border-left:4px solid #b67b24;border-radius:7px;padding:22px 24px;margin-bottom:20px}.pd-action h2{font-size:1.3rem;letter-spacing:-.025em;margin:4px 0 10px}.pd-action p:last-child{font-size:.95rem;max-width:750px}.pd-action .eyebrow{font-size:.7rem;color:#79591f}.pd-action.success{background:#eaf1e3;border-color:#cfdcc5;border-left-color:#567843}.pd-action.neutral{background:#edf0e8;border-color:var(--line);border-left-color:#7a8970}.pd-action-controls{display:flex;flex-direction:column;align-items:flex-end;gap:12px;flex:none;max-width:330px}.pd-action-controls [hidden]{display:none!important}.pd-action-controls strong,.pd-action-controls small{display:block;text-align:right}.pd-action-controls strong{font-size:.95rem}.pd-action-controls small{font-size:.75rem;max-width:290px;margin-top:5px;color:var(--muted)}.pd-action-controls .button{font:inherit;font-size:.85rem;border:0;cursor:pointer;padding:12px 18px}.pd-action-controls .text-link{font-size:.85rem}.pd-children .pd-child-badge{display:inline-block;font-size:.7rem;font-weight:700;padding:3px 7px;margin-top:8px;border-radius:4px;background:#fbf0d8;color:#865918}.pd-children .pd-child-badge.success{background:#e5efdf;color:#35512c}.pd-children .pd-child-badge.neutral{background:#edf0e8;color:#647263}.pd-document-status{font-size:.7rem;font-weight:700;line-height:1.5;padding:4px 7px;border-radius:4px;flex:none;white-space:nowrap}.pd-document-status.unavailable{background:#edf0e8;color:#687568}.pd-document-status.available{background:#e5efdf;color:#35512c}.pd-existing-documents{border-top:1px solid var(--line);padding-top:16px}.pd-existing-documents>div{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.pd-existing-documents strong{font-size:.85rem}.pd-payment-dialog-inner{padding:28px}.pd-payment-dialog-inner h2{font-size:1.5rem;margin-bottom:12px}.pd-payment-dialog-inner>p{font-size:.9rem;color:var(--muted)}.pd-payment-dialog-inner dl{display:grid;gap:12px;margin:24px 0}.pd-payment-dialog-inner dl div{display:grid;grid-template-columns:1fr 1.6fr;gap:18px;border-bottom:1px solid var(--line);padding-bottom:10px}.pd-payment-dialog-inner dt,.pd-payment-dialog-inner dd{font-size:.85rem;margin:0}.pd-payment-dialog-inner dd{font-weight:700}.pd-dialog-note{padding:14px;background:#f7eedb;border-radius:5px;margin-bottom:20px!important}.pd-payment-dialog-inner .button{border:0;font:inherit;font-size:.9rem;cursor:pointer}
@media(max-width:900px){.pd-action{align-items:flex-start}.pd-action-controls{max-width:260px}.pd-documents li{align-items:flex-start;flex-direction:column;gap:7px}.pd-existing-documents>div{align-items:flex-start;flex-direction:column;gap:7px}}
@media(max-width:700px){.pd-action{flex-direction:column;padding:20px;gap:16px}.pd-action-controls{align-items:flex-start;max-width:100%;width:100%}.pd-action-controls:empty{display:none}.pd-action-controls strong,.pd-action-controls small{text-align:left}.pd-action-controls .button{width:100%}.pd-children .pd-child-badge{font-size:.65rem;padding:3px 5px}.pd-payment-dialog-inner{padding:22px}.pd-payment-dialog-inner dl div{grid-template-columns:1fr;gap:4px}}

.pd-action-controls[hidden]{display:none!important}

/* Submitted data stays collapsed until the parent wants to check it. */
.pd-data{margin-top:20px;background:white;border:1px solid var(--line);border-radius:8px}.pd-data summary{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px 26px;cursor:pointer;list-style:none}.pd-data summary::-webkit-details-marker{display:none}.pd-data summary strong{font-size:1rem}.pd-data summary small{display:block;font-size:.8rem;color:var(--muted);margin-top:3px}.pd-data-toggle{font-size:1.6rem;line-height:1;transition:transform .2s}.pd-data[open] .pd-data-toggle{transform:rotate(45deg)}.pd-data summary:focus-visible{outline:3px solid #bf8832;outline-offset:3px;border-radius:8px}.pd-data-content{padding:0 26px 24px}.pd-data-note{font-size:.8rem;color:var(--muted);padding-top:16px;border-top:1px solid var(--line)}.pd-data-grid{display:grid;grid-template-columns:1fr 1fr;gap:32px;margin:20px 0}.pd-data-grid section{min-width:0}.pd-data-grid h3{font-size:.95rem;margin-bottom:12px}.pd-data-grid dl{margin:0}.pd-data-grid dl div{display:grid;grid-template-columns:145px 1fr;gap:12px;padding:9px 0;border-bottom:1px solid var(--line)}.pd-data-grid dt,.pd-data-grid dd{font-size:.85rem;margin:0;overflow-wrap:anywhere}.pd-data-grid dt{color:var(--muted)}.pd-data-grid dd{font-weight:600}.pd-data-help{display:flex;align-items:center;justify-content:space-between;gap:24px;background:var(--soft);padding:16px;border-radius:5px}.pd-data-help p{font-size:.85rem;max-width:650px}.pd-data-help .text-link{font-size:.85rem;flex:none}
@media(max-width:900px){.pd-data-grid dl div{grid-template-columns:1fr;gap:3px}.pd-data-help{align-items:flex-start;flex-direction:column;gap:10px}}
@media(max-width:700px){.pd-data summary{padding:18px 20px}.pd-data-content{padding:0 20px 20px}.pd-data-grid{grid-template-columns:1fr;gap:24px}.pd-data-grid dl div{grid-template-columns:1fr 1fr;gap:12px}.pd-data summary strong{font-size:.9rem}}
@media(prefers-reduced-motion:reduce){.pd-data-toggle{transition:none}}
