/* Functional components using the original Ascend palette. */
.profile-editor-section { border:1px solid var(--line); padding:0 18px; border-radius:18px; margin:16px 0; background:white; }
.profile-editor-section summary { padding:16px 0; min-height:52px; font-weight:650; cursor:pointer; }
.profile-editor-section[open] { padding-bottom:18px; }
.candidate-editor fieldset { border:1px solid var(--line); border-radius:18px; padding:20px; margin:18px 0; }
.candidate-editor legend { font-weight:700; padding:0 8px; }
.profile-intro { padding:22px; margin:0 0 24px; border-radius:20px; background:linear-gradient(120deg,#eaf8ff,#f8fcfe); position:relative; }
.profile-intro .eyebrow { color:#07658a; }
.profile-intro p { margin-bottom:0; max-width:65ch; }
.document-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr)); gap:16px; }
.document-card { border:1px solid var(--line); border-radius:18px; padding:20px; background:#FFFFFF; }
.document-card h3 { margin-top:0; }
.document-reader { white-space:pre-wrap; overflow-wrap:anywhere; font-family:inherit; line-height:1.8; max-width:75ch; margin:auto; background:white; border:1px solid var(--line); padding:24px; border-radius:18px; }
.contact-protection { padding:16px 20px; border-radius:16px; background:#eaf8ff; border:1px solid #cce4ef; margin:20px 0; }
.mobile-navigation { display:none; }
@media(max-width:750px) {
 body:has(.mobile-navigation) { padding-bottom:84px; }
 .mobile-navigation { position:fixed; bottom:0; left:0; right:0; z-index:40; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); background:white; border-top:1px solid var(--line); padding:8px 8px calc(8px + env(safe-area-inset-bottom)); box-shadow:0 -6px 24px #18202a08; }
 .mobile-navigation a { display:flex; flex-direction:column; align-items:center; gap:5px; min-height:48px; justify-content:center; font-size:.75rem; color:var(--muted); border-radius:12px; }
 .mobile-navigation svg { width:21px; height:21px; fill:none; stroke:currentColor; stroke-width:1.8; }
 .mobile-navigation a[aria-current=page],.mobile-navigation a:hover { background:var(--sky-light); color:#07658a; text-decoration:none; }
 .workspace { padding:0 12px; margin-top:16px; }
 main { padding:22px 18px; border-radius:20px; }
 .candidate-editor fieldset { padding:16px; }
 .profile-intro { padding:18px; }
}
