.portal-service-request{margin-top:20px;padding-top:18px;border-top:1px solid #ffffff18}.portal-service-request p{color:#a8bdd7;font-size:14px;line-height:1.6}.portal-request-button{border:0;border-radius:12px;padding:13px 18px;background:#347ef3;color:#fff;font:inherit;font-weight:700;cursor:pointer;width:100%}.portal-request-button:disabled{opacity:.65;cursor:wait}.portal-request-floating{display:none}.portal-request-dialog{box-sizing:border-box;width:min(520px,calc(100% - 24px));max-height:90dvh;overflow:auto;border:1px solid #ffffff26;border-radius:20px;background:#111c34;color:#fff;padding:24px}.portal-request-dialog::backdrop{background:#020916bb}.portal-request-dialog header{display:flex;align-items:center;justify-content:space-between;gap:16px}.portal-request-dialog h2{font-size:20px;margin:0}.portal-request-dialog header button{background:none;border:0;color:#fff;font-size:28px;cursor:pointer}.portal-request-dialog label{display:grid;gap:8px;margin:18px 0;font-size:14px}.portal-request-dialog input,.portal-request-dialog textarea{box-sizing:border-box;width:100%;border:1px solid #ffffff26;border-radius:10px;padding:12px;background:#071224;color:#fff;font:inherit;font-size:16px}.portal-request-dialog [role=alert]{color:#ffb4a6}.portal-request-dialog :focus-visible,.portal-request-button:focus-visible{outline:2px solid #91bbff;outline-offset:3px}@media(max-width:700px){body:has(.portal-request-floating){padding-bottom:90px}.portal-request-floating{display:block;position:fixed;z-index:30;bottom:0;left:0;right:0;padding:12px 16px calc(12px + env(safe-area-inset-bottom));background:#071224ed;border-top:1px solid #ffffff18}.portal-request-dialog{padding:20px}}
.portal-request-dialog [hidden],.portal-service-request [hidden]{display:none!important}
.portal-request-progress,.portal-request-success{text-align:center;padding:32px 8px 12px;animation:request-appear .3s ease-out}
.portal-request-progress h2,.portal-request-success h2{font-size:25px;line-height:1.25;margin:20px 0 10px;letter-spacing:-.5px}
.portal-request-success>p{max-width:330px;margin:0 auto 28px}
.portal-request-spinner{width:56px;height:56px;margin:12px auto 26px;border:3px solid #347ef32b;border-top-color:#6ca5ff;border-radius:50%;animation:request-spin .8s linear infinite}
.portal-request-check{width:86px;height:86px;margin:0 auto;border-radius:50%;padding:10px;box-sizing:border-box;background:#10ad7014;border:1px solid #10ad7038}
.portal-request-check svg{width:100%;height:100%;background:linear-gradient(135deg,#079b63,#19bd7c);border-radius:50%;box-shadow:0 13px 30px #079b633d;animation:request-appear .45s ease-out}
.portal-request-check circle{fill:none;stroke:none}.portal-request-check path{fill:none;stroke:#fff;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:40;stroke-dashoffset:40;animation:request-check .5s .15s ease forwards}
.portal-request-receipt{display:flex;gap:12px;align-items:flex-start;padding:14px;border:1px solid #2bc68d42;border-radius:12px;background:#19bd7c12}
.portal-request-receipt strong{display:block;font-size:14px;color:#8de7bd;line-height:1.45}.portal-request-receipt p{margin:6px 0 0;font-size:13px;color:#b7d6c9}.portal-request-receipt-icon{display:grid;place-items:center;flex:none;width:27px;height:27px;border-radius:50%;background:#19bd7c24;color:#6fe5aa}
@keyframes request-spin{to{transform:rotate(360deg)}}@keyframes request-check{to{stroke-dashoffset:0}}@keyframes request-appear{from{opacity:0;transform:translateY(8px) scale(.97)}to{opacity:1;transform:none}}
.portal-request-button{box-shadow:inset 0 1px 0 rgba(255,255,255,0),0 14px 32px rgba(52,126,243,0);transform:translateY(0);transition:.25s ease}
.portal-request-button:where(:not(:disabled):not([aria-disabled="true"])):hover{filter:brightness(1.08);box-shadow:inset 0 1px 0 rgba(255,255,255,.16),0 14px 32px rgba(52,126,243,.30);transform:translateY(-2px)}
.portal-request-button:disabled{transform:none;filter:none;box-shadow:none}
