.service-portal{max-width:1180px;padding-top:32px;padding-bottom:120px}.portal-heading{margin:40px 0 30px}.portal-heading h1{letter-spacing:-2px;margin:12px 0 18px;font-size:clamp(36px,5vw,60px);line-height:1.1}.portal-heading>p:last-child{color:#6a5d64;max-width:620px;line-height:1.6}.portal-tabs{background:#f4edf0;border-radius:20px;gap:8px;max-width:510px;margin:0 0 28px;padding:6px;display:flex}.portal-tabs button{font:inherit;cursor:pointer;color:#65505c;background:0 0;border:0;border-radius:15px;flex:1;justify-content:center;align-items:center;gap:8px;min-height:48px;padding:14px 12px;display:flex}.portal-tabs button[aria-current]{color:#8d1559;background:#fff;font-weight:650;box-shadow:0 2px 8px #49122a0a}.portal-grid{grid-template-columns:1fr 1fr;align-items:start;gap:24px;display:grid}.portal-card{background:#fff;border:1px solid #eadfe5;border-radius:24px;min-width:0;padding:30px}.portal-card h2{letter-spacing:-.6px;margin:0 0 12px;font-size:24px}.portal-card h3{overflow-wrap:anywhere;margin:0;font-size:16px}.portal-section-title{align-items:center;gap:16px;margin-bottom:22px;display:flex}.portal-section-title>svg{color:#a02769;background:#fae9f2;border-radius:16px;flex-shrink:0;width:48px;height:48px;padding:12px}.portal-section-title .eyebrow{letter-spacing:1.5px;margin:0 0 7px;font-size:10px}.portal-section-title h2{margin:0}.portal-form{flex-direction:column;gap:18px;display:flex}.portal-form>p{color:#75646d;margin:0;font-size:14px;line-height:1.6}.portal-form label{flex-direction:column;gap:8px;font-size:14px;font-weight:600;display:flex}.portal-form input,.portal-form select,.portal-form textarea{width:100%;font:inherit;color:#31212b;box-sizing:border-box;background:#fff;border:1px solid #dccccf;border-radius:13px;min-height:48px;padding:13px 14px;font-size:16px}.portal-form textarea{resize:vertical}.portal-form select{padding-right:28px}.portal-form input:focus,.portal-form select:focus,.portal-form textarea:focus{outline-offset:2px;outline:2px solid #bd4b8b}.portal-fields{grid-template-columns:1fr 1fr;gap:14px;display:grid}.portal-fields>*{min-width:0}.portal-form .portal-hint,.portal-hint{color:#75666e;margin:6px 0 15px;font-size:13px;line-height:1.6}.portal-form .portal-hint{margin:-6px 0 0}.portal-optional{color:#83717c;font-size:12px;font-weight:400}.portal-empty{color:#71636d;flex-direction:column;align-items:flex-start;gap:14px;padding:25px 0;line-height:1.6;display:flex}.portal-empty>svg{color:#b8568f}.portal-empty p,.portal-empty h2{margin:0}.portal-empty p{color:#44313e;font-weight:600}.portal-empty span{font-size:14px}.portal-empty .button{margin-top:8px}.portal-alert,.portal-notice{border-radius:14px;margin:0 0 22px;padding:16px 18px;font-size:14px;line-height:1.6}.portal-alert{color:#962e38;background:#fff0f0;border:1px solid #f1c8ce}.portal-notice{color:#2d6344;background:#f0f8f3;border:1px solid #d0e4d7;align-items:center;gap:10px;display:flex}.portal-notice svg{flex-shrink:0}.portal-records article{border-bottom:1px solid #efe7eb;padding:22px 0}.portal-records article:last-child{border-bottom:0;padding-bottom:0}.portal-record-heading{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.portal-status{color:#875070;text-transform:capitalize;white-space:nowrap;background:#f7edf3;border-radius:50px;padding:6px 10px;font-size:11px}.portal-records p{font-size:14px;line-height:1.6}.portal-records small{color:#786572;font-size:12px}.portal-text-button{color:#932463;text-align:left;min-height:44px;font:inherit;cursor:pointer;background:0 0;border:0;align-items:center;gap:8px;padding:15px 0 0;font-size:13px;display:flex}.portal-conversations{flex-direction:column;gap:8px;margin-top:20px;display:flex}.portal-conversations button{text-align:left;font:inherit;cursor:pointer;background:#fff;border:1px solid #ecdee6;border-radius:14px;grid-template-columns:1fr auto;gap:7px;min-width:0;padding:15px;display:grid}.portal-conversations button strong{overflow-wrap:anywhere;font-size:14px}.portal-conversations button span{color:#796571;text-transform:capitalize;grid-column:1;font-size:12px}.portal-conversations button svg{grid-area:1/2/3;align-self:center}.portal-conversations button.selected{background:#fbf0f6;border-color:#d295b6}.portal-thread{border-top:1px solid #ecdee6;margin-top:24px;padding-top:24px}.portal-message-list{flex-direction:column;gap:15px;max-height:500px;margin:20px 0;padding:3px;display:flex;overflow:auto}.portal-message-list article{background:#f5f2f4;border-radius:15px 15px 15px 3px;align-self:flex-start;max-width:90%;padding:14px}.portal-message-list article.from-me{background:#fbe8f3;border-radius:15px 15px 3px;align-self:flex-end}.portal-message-list b{font-size:12px}.portal-message-list p{white-space:pre-wrap;overflow-wrap:anywhere;margin:7px 0;font-size:14px;line-height:1.6}.portal-message-list time{color:#806c78;font-size:10px}.portal-rating{border:0;gap:4px;margin:0;padding:0;display:flex}.portal-rating legend{margin-bottom:10px;font-size:14px;font-weight:600}.portal-rating label{color:#ae377c;cursor:pointer;box-sizing:border-box;min-width:44px;min-height:44px;padding:6px;display:block;position:relative}.portal-rating input,.portal-sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.portal-rating label:has(input:focus-visible){border-radius:8px;outline:2px solid #a32369}.portal-review-stars{color:#aa3476;gap:4px;display:flex}.portal-review-copy{white-space:pre-wrap;overflow-wrap:anywhere}.portal-form button:disabled{opacity:.5;cursor:not-allowed}:is(.service-portal button:focus-visible,.service-portal a:focus-visible){outline-offset:3px;outline:2px solid #a32369}@media (max-width:760px){.service-portal{padding-top:24px;padding-bottom:calc(110px + env(safe-area-inset-bottom))}.portal-heading{margin:30px 0 24px}.portal-heading h1{letter-spacing:-1.2px}.portal-grid{grid-template-columns:1fr;gap:18px}.portal-card{border-radius:20px;padding:22px}.portal-tabs{gap:3px;max-width:none}.portal-tabs button{gap:5px;padding:12px 8px;font-size:13px}.portal-form .button{width:100%}.portal-section-title{gap:12px}.portal-section-title h2{font-size:22px}.portal-fields{gap:10px}.portal-record-heading{flex-wrap:wrap}.portal-form input[type=date]{min-width:0}}@media (max-width:370px){.portal-fields{grid-template-columns:1fr}.portal-tabs button{flex-direction:column}.portal-card{padding:18px}}
