.client-portal-shell{color:#304b3a;background:#faf5e9;min-height:100vh;padding:36px 18px;font-family:Arial,sans-serif}.client-portal{max-width:850px;margin:auto}.client-portal header{text-align:center;margin-bottom:28px}.client-portal header img{object-fit:contain;width:92px;height:92px}.client-portal header span{color:#9d82c5;letter-spacing:.14em;font-size:.78rem;font-weight:800;display:block}.client-portal h1,.client-portal h2{font-family:Georgia,serif}.client-portal h1{margin:.35rem;font-size:2.4rem}.client-portal section{background:#fffaf0;border:1px solid #dcc9a5;border-radius:22px;margin:18px 0;padding:24px;box-shadow:0 12px 32px #35523e12}.portal-item{border-bottom:1px solid #e7ddcb;justify-content:space-between;align-items:center;gap:18px;padding:14px 0;display:flex}.portal-item div{gap:4px;display:grid}.portal-item small,.client-portal form small{color:#6f756f}.portal-item a,.checkin,.client-portal button{color:#fff;background:#a65379;border:0;border-radius:999px;padding:11px 17px;font-weight:700;text-decoration:none}.portal-assignment form{background:#f1eadc;border-radius:16px;gap:12px;margin-top:12px;padding:16px;display:grid}.portal-assignment label{gap:7px;font-weight:700;display:grid}.portal-assignment textarea,.portal-assignment input{font:inherit;background:#fff;border:1px solid #bdad96;border-radius:10px;padding:11px}.submitted{color:#52705a;margin-top:10px;font-weight:700}.empty{color:#72756f}.checkin{text-align:center;background:#9d82c5;max-width:360px;margin:24px auto;display:block}.portal-message{text-align:center;background:#e7dfef;border-radius:14px;margin:18px 0;padding:14px;font-weight:700}.client-portal footer{text-align:center;color:#687069;padding:20px;font-size:.82rem;line-height:1.5}@media (max-width:600px){.portal-item{flex-direction:column;align-items:flex-start}.portal-item a{text-align:center;box-sizing:border-box;width:100%;display:block}.client-portal h1{font-size:1.9rem}}.portal-assignment{min-width:0}.portal-assignment form{box-sizing:border-box;width:100%;min-width:0;max-width:100%;margin:12px auto 0}.portal-assignment label{min-width:0}.portal-assignment textarea,.portal-assignment input,.portal-assignment button{box-sizing:border-box;width:100%;min-width:0;max-width:100%}.checkin{box-sizing:border-box}@media (max-width:600px){.client-portal-shell{padding:24px 14px}.client-portal section{box-sizing:border-box;width:100%;padding:20px}.portal-assignment form{padding:14px}.portal-assignment input[type=file]{font-size:.9rem}.checkin{width:100%;max-width:100%}}.portal-tabs{flex-wrap:wrap;justify-content:center;gap:8px;margin:18px 0;display:flex}.portal-tabs button{color:#385443;background:#edf1e8;border:1px solid #d6ded2;padding:9px 14px}.portal-tabs button.active{color:#fff;background:#385443}.portal-dashboard{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid;box-shadow:none!important;background:0 0!important;border:0!important;padding:0!important}.portal-dashboard article{background:#fffaf0;border:1px solid #dcc9a5;border-radius:17px;gap:7px;padding:17px;display:grid}.portal-dashboard small{color:#6f756f}.portal-dashboard a,.portal-appointment>a{color:#a65379;font-weight:800}.portal-appointment{background:#fff;border:1px solid #e0d6c5;border-radius:16px;margin:12px 0;padding:16px}.portal-appointment>div{gap:5px;display:grid}.portal-appointment form,.portal-simple-form{background:#f1eadc;border-radius:14px;gap:11px;margin-top:12px;padding:14px;display:grid}.portal-appointment label,.portal-simple-form label{gap:6px;font-weight:700;display:grid}.portal-appointment input,.portal-appointment select,.portal-simple-form input,.portal-simple-form textarea{font:inherit;box-sizing:border-box;border:1px solid #bdad96;border-radius:10px;width:100%;padding:10px}.portal-thread{gap:10px;margin-top:15px;display:grid}.portal-thread article{background:#fff;border:1px solid #ddd4c5;border-left:5px solid #a88cc8;border-radius:14px;padding:13px}.portal-thread article.coach-message{border-left-color:#385443}.portal-thread p{margin:6px 0}.portal-thread time{color:#707870;margin-top:7px;font-size:11px;display:block}.portal-caution{background:#f5eadb;border-radius:12px;padding:11px}.custom-form-copy{background:#f8f2e7;border-radius:14px;padding:14px}.custom-form-copy li{margin:7px 0}@media (max-width:650px){.portal-dashboard{grid-template-columns:1fr 1fr}}.portal-install{grid-template-columns:auto 1fr auto;align-items:center;gap:16px;display:grid;background:linear-gradient(135deg,#fffaf0,#eee6f3)!important}.portal-install img{width:58px;height:58px}.portal-install h2,.portal-install p{margin:0 0 6px}.portal-install small{color:#687069;line-height:1.45}.portal-install button{white-space:nowrap}@media (max-width:650px){.portal-install{grid-template-columns:auto 1fr}.portal-install button{grid-column:1/-1;width:100%}}.portal-onboarding{background:linear-gradient(135deg,#fffaf0,#f4edf8)!important;border-color:#cdb9df!important}.portal-onboarding>div>small{color:#9a5c7d;letter-spacing:.12em;font-weight:800}.portal-onboarding h2{margin:.35rem 0}.portal-onboarding>div>p{margin:.4rem 0 1rem;line-height:1.55}.portal-onboarding ol{gap:10px;margin:0;padding:0;list-style:none;display:grid}.portal-onboarding li{background:#fff;border:1px solid #ded3e8;border-radius:15px;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;padding:13px;display:grid}.portal-onboarding li>span{color:#a65379;border:2px solid #a65379;border-radius:50%;justify-content:center;align-items:center;width:27px;height:27px;font-weight:900;display:flex}.portal-onboarding li.complete>span{color:#fff;background:#385443;border-color:#385443}.portal-onboarding li>div{gap:3px;display:grid}.portal-onboarding li small{color:#687069}.portal-onboarding li>a{color:#fff;background:#a65379;border-radius:999px;padding:9px 14px;font-weight:700;text-decoration:none}@media (max-width:600px){.portal-onboarding li{grid-template-columns:auto 1fr}.portal-onboarding li>a{text-align:center;grid-column:1/-1}}
