@media only screen and (min-width:0rem){#client-portal{background:radial-gradient(circle at top left,rgba(67,183,255,.18),transparent 18rem),linear-gradient(180deg,var(--bgSecondary) 0,var(--bgPrimary) 55%);min-height:calc(100vh - 12rem);padding:8.75rem 1rem var(--sectionPadding)}#client-portal .cs-container{display:flex;flex-direction:column;gap:clamp(2rem,5vw,4rem);margin:auto;max-width:68.75rem;width:100%}#client-portal .cs-content{align-items:center;display:flex;flex-direction:column;margin:auto;text-align:center}#client-portal .portal-shell{background:var(--bgPrimary);border:1px solid var(--borderColor);border-radius:1.25rem;box-shadow:var(--cardShadow);padding:clamp(1rem,3vw,2rem);width:100%}#client-portal [hidden]{display:none!important}#client-portal .portal-status{background:rgba(30,95,153,.1);border-radius:var(--radius-md);color:var(--primary);font-weight:700;margin-bottom:1rem;padding:.875rem 1rem;text-align:center;width:100%}#client-portal .portal-status-error{background:rgba(176,0,32,.1);color:#b00020}#client-portal .portal-empty,#client-portal .portal-login{align-items:center;display:flex;flex-direction:column;gap:1rem;margin:auto;max-width:38.75rem;text-align:center}#client-portal .portal-empty h2,#client-portal .portal-login h2{color:var(--headerColor);font-family:var(--headerFont);font-size:clamp(1.5rem,3vw,2rem)}#client-portal .portal-empty p,#client-portal .portal-login p{color:var(--bodyTextColor);line-height:1.6}#client-portal .portal-dashboard{display:flex;flex-direction:column;gap:clamp(1.25rem,3vw,2rem)}#client-portal .portal-dashboard-header{border-bottom:1px solid var(--borderColor);display:flex;flex-direction:column;gap:1rem;padding-bottom:1.25rem}#client-portal .portal-dashboard-header h2{color:var(--headerColor);font-family:var(--headerFont);font-size:clamp(1.5rem,3vw,2rem)}#client-portal .portal-dashboard-header p{color:var(--bodyTextColor)}#client-portal .portal-eyebrow{color:var(--primary);font-size:.875rem;font-weight:700;letter-spacing:.12em;margin-bottom:.25rem;text-transform:uppercase}#client-portal .portal-logout{background:var(--bgSecondary);border:1px solid var(--borderColor);border-radius:var(--radius-md);color:var(--headerColor);cursor:pointer;font:700 1rem/1.2 var(--bodyFont);min-height:2.75rem;padding:.75rem 1rem;transition:var(--buttonTransition);width:-moz-fit-content;width:fit-content}#client-portal .portal-logout:focus-visible,#client-portal .portal-logout:hover{border-color:var(--primary);color:var(--primary);transform:translateY(-1px)}#client-portal .portal-grid{display:grid;gap:1rem;grid-template-columns:1fr}#client-portal .portal-card{align-items:flex-start;background:var(--bgSecondary);border:1px solid var(--borderColor);border-radius:var(--radius-md);display:flex;flex-direction:column;gap:.875rem;min-height:13.75rem;padding:clamp(1.25rem,3vw,1.75rem);transition:transform .2s,border-color .2s,box-shadow .2s}#client-portal .portal-card:hover{border-color:var(--primary);box-shadow:0 12px 30px rgba(0,0,0,.1);transform:translateY(-2px)}#client-portal .portal-card h3{color:var(--headerColor);font-family:var(--headerFont);font-size:1.375rem}#client-portal .portal-card p{color:var(--bodyTextColor);line-height:1.6}#client-portal .portal-card-link{align-items:center;background:var(--primary);border:1px solid var(--primary);border-radius:var(--radius-md);color:var(--white);cursor:pointer;display:inline-flex;font:700 1rem/1.2 var(--bodyFont);justify-content:center;margin-top:auto;min-height:2.75rem;padding:.75rem 1rem;text-decoration:none;transition:var(--buttonTransition)}#client-portal .portal-card-link:focus-visible,#client-portal .portal-card-link:hover{background:transparent;color:var(--primary)}#client-portal .portal-actions{display:flex;flex-wrap:wrap;gap:1rem;justify-content:center}body.dark-mode #client-portal{background:radial-gradient(circle at top left,rgba(67,183,255,.18),transparent 18rem),linear-gradient(180deg,var(--bgSecondaryDark) 0,var(--bgPrimaryDark) 55%)}body.dark-mode #client-portal .portal-shell{background:var(--bgPrimaryDark);border-color:hsla(0,0%,100%,.15)}body.dark-mode #client-portal .portal-card,body.dark-mode #client-portal .portal-logout{background:var(--bgSecondaryDark);border-color:hsla(0,0%,100%,.15)}body.dark-mode #client-portal .portal-status{color:var(--primaryDark)}body.dark-mode #client-portal .portal-status-error{color:#ff9bad}}@media only screen and (min-width:48rem){#client-portal .portal-dashboard-header{align-items:center;flex-direction:row;justify-content:space-between}#client-portal .portal-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media only screen and (min-width:64rem){#client-portal .portal-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}