:root {
	--pbd-ink: #0d1515;
	--pbd-dark: #1b3038;
	--pbd-teal: #486c70;
	--pbd-rust: #a64932;
	--pbd-rust-dark: #873924;
	--pbd-ivory: #f2eee6;
	--pbd-paper: #fffcf7;
	--pbd-muted: #626766;
	--pbd-line: #c9c5bc;
}

* { box-sizing: border-box; }
body.pbd-portal { margin:0; background:var(--pbd-ivory); color:var(--pbd-ink); font-family:Arial,Helvetica,sans-serif; font-size:16px; line-height:1.5; }
.pbd-app-shell { display:flex; flex-direction:column; min-height:100vh; }
.pbd-site-header,.pbd-site-footer { width:100%; }
.pbd-site-header { align-items:center; background:var(--pbd-paper); border-bottom:1px solid var(--pbd-line); display:flex; gap:2rem; justify-content:space-between; padding:.8rem clamp(1.25rem,4vw,4rem); }
.pbd-brand { align-items:center; color:var(--pbd-ink); display:flex; gap:1.1rem; text-decoration:none; }
.pbd-brand img { display:block; height:auto; width:178px; }
.pbd-brand>span { border-left:1px solid var(--pbd-line); display:flex; flex-direction:column; line-height:1.15; padding-left:1.1rem; }
.pbd-brand strong { font-size:1.08rem; font-weight:700; }
.pbd-brand small { color:var(--pbd-teal); font-size:.62rem; font-weight:700; letter-spacing:.13em; margin-top:.3rem; text-transform:uppercase; }
.pbd-account-nav { align-items:center; display:flex; font-size:.78rem; gap:1rem; }
.pbd-account-nav span { color:var(--pbd-muted); }
.pbd-account-nav a { color:var(--pbd-rust); font-weight:700; }
.pbd-main { flex:1; margin:0 auto; padding:clamp(2.5rem,7vw,6.5rem) 0; width:min(1080px,calc(100% - 2rem)); }

.pbd-auth-card,.pbd-invite-card,.pbd-flow-card,.pbd-dashboard { background:transparent; border:0; border-top:1px solid var(--pbd-rust); margin:0 auto; max-width:700px; padding:1.7rem 0 0; }
.pbd-invite-card,.pbd-flow-card--wide,.pbd-dashboard { max-width:930px; }
.pbd-kicker { color:var(--pbd-rust); display:block; font-size:.62rem; font-weight:800; letter-spacing:.18em; margin-bottom:.8rem; text-transform:uppercase; }
.pbd-auth-card h1,.pbd-invite-card h1,.pbd-flow-card h1,.pbd-dashboard h1 { color:var(--pbd-ink); font-size:clamp(2.8rem,6vw,5rem); font-weight:800; letter-spacing:-.065em; line-height:.93; margin:0 0 1.35rem; max-width:780px; }
.pbd-auth-card h1 { font-size:clamp(2.6rem,5vw,4.25rem); }
.pbd-lead { color:#333a39; font-size:1.06rem; line-height:1.55; max-width:720px; }
.pbd-fact-grid,.pbd-dashboard-grid,.pbd-review-grid { border-bottom:1px solid var(--pbd-line); border-top:1px solid var(--pbd-line); display:grid; margin:2rem 0; }
.pbd-fact-grid { grid-template-columns:repeat(2,1fr); }
.pbd-dashboard-grid { grid-template-columns:repeat(3,1fr); }
.pbd-review-grid { grid-template-columns:repeat(2,1fr); }
.pbd-fact-grid>div,.pbd-dashboard-grid>article,.pbd-review-grid>div { border-right:1px solid var(--pbd-line); padding:1rem 1.2rem; }
.pbd-fact-grid>:last-child,.pbd-dashboard-grid>:last-child { border-right:0; }
.pbd-fact-grid span,.pbd-dashboard-grid span,.pbd-review-grid span { color:var(--pbd-rust); display:block; font-size:.58rem; font-weight:800; letter-spacing:.14em; margin-bottom:.35rem; text-transform:uppercase; }
.pbd-fact-grid strong,.pbd-review-grid strong { display:block; font-size:.93rem; font-weight:700; }
.pbd-dashboard-grid h2 { font-size:1.15rem; font-weight:800; letter-spacing:-.025em; line-height:1.12; margin:.35rem 0 0; }
.pbd-review-grid>div:nth-child(even) { border-right:0; }
.pbd-review-wide { border-right:0!important; grid-column:1/-1; }
.pbd-boundary,.pbd-role-summary { background:var(--pbd-dark); color:#fff; margin:2rem 0; padding:1.2rem 1.4rem; }
.pbd-boundary strong { color:#fff; display:block; }
.pbd-boundary code { background:transparent; color:inherit; }
.pbd-role-summary h2 { color:#fff; font-size:1.4rem; font-weight:800; letter-spacing:-.035em; margin:0 0 .45rem; }
.pbd-role-summary p { color:#eef0ec; margin:0; }

.pbd-form { display:grid; gap:1.25rem; margin-top:1.75rem; }
.pbd-form--compact { border-top:1px solid var(--pbd-line); padding-top:1.75rem; }
.pbd-form fieldset { border:0; border-top:1px solid var(--pbd-line); display:grid; gap:1.1rem; margin:1.25rem 0 0; padding:1.8rem 0 0; }
.pbd-form legend { color:var(--pbd-ink); font-size:1.65rem; font-weight:800; letter-spacing:-.04em; padding:0 .75rem 0 0; }
.pbd-form label,.pbd-attestation label { color:var(--pbd-ink); display:grid; font-size:.76rem; font-weight:750; gap:.38rem; }
.pbd-form label>span,.pbd-form label>em { color:var(--pbd-muted); font-size:.67rem; font-style:normal; font-weight:500; }
.pbd-form label>em { color:var(--pbd-rust); }
.pbd-form input,.pbd-form select,.pbd-form textarea,.pbd-attestation input[type="text"] { appearance:none; background:var(--pbd-paper); border:1px solid #a9aba6; border-radius:0; color:var(--pbd-ink); font:inherit; font-size:.96rem; min-height:47px; padding:.68rem .78rem; width:100%; }
.pbd-form textarea { resize:vertical; }
.pbd-form input:focus,.pbd-form select:focus,.pbd-form textarea:focus,.pbd-attestation input:focus { border-color:var(--pbd-teal); box-shadow:0 0 0 3px rgba(72,108,112,.2); outline:0; }
.pbd-form input[readonly] { background:#e7e2d9; color:var(--pbd-muted); }
.pbd-two-fields,.pbd-three-fields { display:grid; gap:1rem; }
.pbd-two-fields { grid-template-columns:repeat(2,minmax(0,1fr)); }
.pbd-three-fields { grid-template-columns:2fr 1fr 1fr; }
.pbd-help { color:var(--pbd-muted); font-size:.77rem; margin:-.6rem 0 0; }
.pbd-checkbox { align-items:flex-start; display:flex!important; gap:.7rem!important; line-height:1.45; }
.pbd-checkbox input { accent-color:var(--pbd-rust); appearance:auto; flex:0 0 auto; height:19px; margin:.15rem 0 0; min-height:0; width:19px; }
.pbd-checkbox span { color:var(--pbd-ink)!important; font-size:.88rem!important; font-weight:500!important; }

.pbd-button { align-items:center; background:transparent; border:1px solid transparent; border-radius:0; cursor:pointer; display:inline-flex; font:inherit; font-size:.7rem; font-weight:800; justify-content:center; letter-spacing:.015em; min-height:45px; padding:.72rem 1.18rem; text-decoration:none; width:fit-content; }
.pbd-button--primary { background:var(--pbd-rust); color:#fff; }
.pbd-button--primary:hover,.pbd-button--primary:focus { background:var(--pbd-rust-dark); color:#fff; }
.pbd-button--secondary { border-color:var(--pbd-ink); color:var(--pbd-ink); }
.pbd-text-link { color:var(--pbd-rust); display:inline-block; font-size:.8rem; font-weight:700; margin-top:1rem; }
.pbd-alert { border:1px solid; margin:1.5rem 0; padding:.9rem 1rem; }
.pbd-alert--error { background:#f5e4de; border-color:var(--pbd-rust); color:#6a2b1d; }
.pbd-alert--success { background:#e6f0eb; border-color:var(--pbd-teal); color:#1b4a42; }
.pbd-choice-form { display:grid; gap:0; margin-top:2rem; }
.pbd-choice { border-bottom:1px solid var(--pbd-line); border-top:1px solid transparent; cursor:pointer; display:flex; gap:1rem; padding:1.1rem .25rem; transition:padding .15s,background .15s; }
.pbd-choice:first-of-type { border-top-color:var(--pbd-line); }
.pbd-choice:hover,.pbd-choice.is-selected { background:rgba(72,108,112,.09); padding-left:.9rem; padding-right:.9rem; }
.pbd-choice input { accent-color:var(--pbd-rust); margin-top:.3rem; }
.pbd-choice span { display:grid; gap:.15rem; }
.pbd-choice strong { color:var(--pbd-ink); }
.pbd-choice small { color:var(--pbd-muted); }
.pbd-choice-form .pbd-button { margin-top:1.2rem; }

.pbd-progress { align-items:center; display:flex; gap:.55rem; list-style:none; margin:0 0 3rem; padding:0; }
.pbd-progress li { align-items:center; color:var(--pbd-muted); display:flex; font-size:.66rem; font-weight:750; gap:.4rem; }
.pbd-progress li:not(:last-child)::after { background:var(--pbd-line); content:""; display:block; height:1px; margin-left:.15rem; width:clamp(20px,5vw,62px); }
.pbd-progress li>span { align-items:center; border:1px solid var(--pbd-line); border-radius:50%; display:inline-flex; height:25px; justify-content:center; width:25px; }
.pbd-progress .is-active { color:var(--pbd-rust); }
.pbd-progress .is-active>span { background:var(--pbd-rust); border-color:var(--pbd-rust); color:#fff; }
.pbd-progress .is-complete>span { background:var(--pbd-teal); border-color:var(--pbd-teal); color:#fff; }
.pbd-attestation { border-top:1px solid var(--pbd-line); display:grid; gap:1.25rem; margin-top:2rem; padding-top:2rem; }
.pbd-site-footer { background:var(--pbd-dark); color:rgba(255,255,255,.74); display:flex; font-size:.62rem; gap:1rem; justify-content:space-between; letter-spacing:.12em; padding:1.35rem clamp(1.25rem,4vw,4rem); text-transform:uppercase; }
.pbd-module-grid { display:grid; gap:1rem; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); margin-top:2rem; }
.pbd-module-card,.pbd-profile-panel { background:var(--pbd-paper); border:1px solid var(--pbd-line); padding:1.25rem; }
.pbd-module-card>span { color:var(--pbd-rust); display:block; font-size:.58rem; font-weight:800; letter-spacing:.14em; text-transform:uppercase; }
.pbd-module-card h2,.pbd-profile-panel h2 { font-size:1.3rem; letter-spacing:-.035em; line-height:1.1; margin:.35rem 0 .8rem; }
.pbd-module-card a { color:var(--pbd-rust); font-size:.8rem; font-weight:750; }
.pbd-profile { max-width:1080px; }
.pbd-profile-layout { align-items:start; display:grid; gap:2rem; grid-template-columns:minmax(0,2fr) minmax(280px,1fr); margin-top:2rem; }
.pbd-profile-layout aside { display:grid; gap:1rem; }
.pbd-profile-form { margin-top:0; }
.pbd-profile-panel p { color:var(--pbd-muted); font-size:.85rem; }
.pbd-profile-panel form { margin-top:1rem; }
.pbd-readonly-list { display:grid; grid-template-columns:105px 1fr; margin:0; }
.pbd-readonly-list dt,.pbd-readonly-list dd { border-top:1px solid var(--pbd-line); margin:0; padding:.65rem 0; }
.pbd-readonly-list dt { color:var(--pbd-rust); font-size:.6rem; font-weight:800; letter-spacing:.1em; text-transform:uppercase; }
.pbd-readonly-list dd { font-size:.86rem; font-weight:650; }
.pbd-security-form { gap:.8rem; margin-top:0!important; }
.pbd-session-form { border-top:1px solid var(--pbd-line); margin-top:1rem!important; padding-top:1rem; }

@media (max-width:720px) {
	.pbd-site-header { align-items:flex-start; }
	.pbd-brand img { width:125px; }
	.pbd-brand>span { display:none; }
	.pbd-account-nav { align-items:flex-end; flex-direction:column; gap:.15rem; }
	.pbd-main { padding:2rem 0 3rem; width:min(100% - 2rem,1080px); }
	.pbd-fact-grid,.pbd-dashboard-grid,.pbd-review-grid,.pbd-two-fields,.pbd-three-fields { grid-template-columns:1fr; }
	.pbd-fact-grid>div,.pbd-dashboard-grid>article,.pbd-review-grid>div { border-bottom:1px solid var(--pbd-line); border-right:0; }
	.pbd-review-wide { grid-column:auto; }
	.pbd-site-footer { align-items:flex-start; flex-direction:column; }
	.pbd-profile-layout { grid-template-columns:1fr; }
	.pbd-account-nav { flex-wrap:wrap; }
	.pbd-progress { gap:.25rem; }
	.pbd-progress li { font-size:0; gap:.2rem; }
	.pbd-progress li>span { font-size:.66rem; }
}
