/* IQVS public-theme shell. Authentication, workflow and data remain plugin-owned. */
.portal-shell{background:var(--soft);min-height:65vh;padding:28px 0 64px}
.portal-shell__container{max-width:1200px}
.portal-shell__topline{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-bottom:22px;font-size:.8rem;line-height:1.5;color:var(--muted)}
.portal-shell__topline>a{display:inline-flex;align-items:center;min-height:44px;color:var(--navy);text-decoration:none}
.portal-shell__topline>a:hover{text-decoration:underline}
.portal-shell__navigation{display:flex;flex-wrap:wrap;gap:8px 24px;padding:0 0 18px;border-bottom:1px solid var(--line);margin-bottom:20px}
.portal-shell__navigation>a{display:inline-flex;align-items:center;min-height:44px;font-size:.88rem;font-weight:600;text-decoration:none}
.portal-shell__navigation>a:hover,.portal-shell__navigation>a[aria-current=page]{text-decoration:underline;text-underline-offset:6px}
.portal-shell__content{min-width:0}
.portal-shell__content>.wp-block-shortcode{margin:0}
.portal-shell .iqvs-portal{--iqvs-ink:#20394e;--iqvs-muted:#536573;--iqvs-green:#007c7e;--iqvs-line:#dce4e6;--iqvs-pale:#f3f7f6;padding:16px 0 0;max-width:none;font-family:'Segoe UI',Arial,sans-serif;font-size:16px;line-height:1.65}
.portal-shell .iqvs-portal h1,.portal-shell .iqvs-portal h2,.portal-shell .iqvs-portal h3,.portal-shell .iqvs-portal h4{font-family:'Segoe UI',Arial,sans-serif;font-weight:600;letter-spacing:-.025em;color:var(--navy);overflow-wrap:anywhere}
.portal-shell .iqvs-portal h1{font-size:clamp(1.6rem,2.9vw,2rem);line-height:1.25}
.portal-shell .iqvs-portal h2{font-size:1.4rem;line-height:1.3}
.portal-shell .iqvs-portal h3{font-size:1.1rem;line-height:1.4}
.portal-shell .iqvs-portal h4{font-size:.95rem;line-height:1.4}
.portal-shell .iqvs-portal__card{border-radius:8px}
.portal-shell .iqvs-portal__header{align-items:flex-start;padding-bottom:23px;border-bottom:1px solid var(--line)}
.portal-shell .iqvs-portal__header>div{min-width:0}
.portal-shell .iqvs-portal__header p{overflow-wrap:anywhere}
.portal-shell .iqvs-portal__header>.iqvs-portal__button{flex-shrink:0}
.portal-shell .iqvs-portal__button{min-height:48px;border-radius:5px;font-size:.9rem;white-space:normal}
.portal-shell .iqvs-portal__button:hover{background:var(--teal-dark)}
.portal-shell .iqvs-portal__button--secondary:hover{background:#e5efeb}
.portal-shell .iqvs-portal__button:disabled{opacity:1;background:#e2e8e8;border-color:#9bafb0;color:#405a62!important;cursor:not-allowed}
.portal-shell .iqvs-portal a:focus-visible,.portal-shell .iqvs-portal button:focus-visible,.portal-shell .iqvs-portal input:focus-visible,.portal-shell .iqvs-portal select:focus-visible,.portal-shell .iqvs-portal textarea:focus-visible,.portal-shell .iqvs-portal summary:focus-visible{outline:3px solid #007c7e;outline-offset:4px}
.portal-shell .iqvs-portal input:not([type=checkbox]):not([type=radio]):not([type=hidden]):not([type=submit]),.portal-shell .iqvs-portal select,.portal-shell .iqvs-portal textarea{font-size:16px;min-height:48px}
.portal-shell .iqvs-portal__columns>*{min-width:0}
.portal-shell .iqvs-portal__table-wrap{max-width:100%;overflow:auto;overscroll-behavior-inline:contain}
.portal-shell .iqvs-portal table{display:table;table-layout:auto;min-width:560px}
.portal-shell .iqvs-portal th,.portal-shell .iqvs-portal td{overflow-wrap:anywhere}
.portal-shell .iqvs-portal__hint,.portal-shell .iqvs-portal small,.portal-shell .iqvs-auth__hint{font-size:.83rem}
.portal-shell .iqvs-portal__timeline time,.portal-shell .iqvs-portal__timeline small{font-size:.8rem}
.portal-shell .iqvs-auth{max-width:540px;padding:36px;border-radius:10px;box-shadow:0 10px 34px #102d4b08}
.portal-shell .iqvs-auth__submit,.portal-shell .iqvs-auth__google{width:100%;min-height:48px}
.portal-shell .iqvs-auth__error a{font-weight:600}
.portal-shell .iqvs-auth__field label{font-size:.9rem}
.portal-shell .iqvs-portal__message p,.portal-shell .iqvs-portal__report p,.portal-shell .iqvs-auth__notice,.portal-shell .iqvs-auth__error{overflow-wrap:anywhere}
.portal-shell .iqvs-address__field{margin-bottom:18px}
.portal-shell .iqvs-address__field>label{display:block;font-size:.9rem;font-weight:600;margin-bottom:7px}
.portal-shell .iqvs-address button[data-address-lookup]{min-height:48px;padding:10px 18px;border:1px solid var(--teal);border-radius:5px;background:#fff;color:var(--teal);font:inherit;font-weight:600}
.portal-shell .iqvs-address button[data-address-lookup]:hover{background:#e5efeb}
.portal-shell .iqvs-address__status{font-size:.88rem;margin:16px 0;color:var(--muted)}
.portal-fallback{max-width:750px;margin:32px auto;padding:42px;background:#fff;border:1px solid var(--line);border-radius:8px}
.portal-fallback h1{font-size:clamp(2.32rem,4.4vw,3.15rem)}
.portal-fallback>p:not(.eyebrow){color:var(--muted)}
.portal-fallback__note{font-size:.82rem;margin-top:25px}
.portal-fallback__admin{padding:20px;margin-top:28px;border:1px solid var(--line);background:var(--soft);font-size:.82rem;overflow-wrap:anywhere}
.portal-fallback__admin p{margin:8px 0 0}
@media(max-width:900px){.portal-shell{padding-top:16px}.portal-shell .iqvs-portal__columns{grid-template-columns:1fr}.portal-shell .iqvs-portal__timeline{max-height:none;overflow:visible}.portal-shell__topline>span{max-width:230px;text-align:right}.portal-shell .iqvs-portal__card{padding:24px}}
@media(max-width:640px){.portal-shell{padding-bottom:40px}.portal-shell__topline{align-items:flex-start;gap:10px;padding-bottom:12px;font-size:.76rem}.portal-shell__topline>span{max-width:180px;padding-top:10px}.portal-shell__navigation{gap:4px 20px;margin-bottom:12px}.portal-shell .iqvs-portal{font-size:16px}.portal-shell .iqvs-portal__header{gap:13px}.portal-shell .iqvs-portal__card{padding:22px 18px}.portal-shell .iqvs-auth{padding:27px 22px}.portal-shell .iqvs-portal__summary{grid-template-columns:1fr}.portal-shell .iqvs-portal__summary dd{margin-bottom:13px}.portal-fallback{margin:20px auto;padding:29px 24px}.portal-fallback .button{width:100%}.portal-shell .iqvs-address button[data-address-lookup]{width:100%}}
@media(max-width:360px){.portal-shell__topline>span{max-width:143px}.portal-shell .iqvs-auth{padding:23px 17px}.portal-shell .iqvs-portal__card{padding:20px 15px}.portal-fallback{padding:25px 20px}}
@media(prefers-reduced-motion:reduce){.portal-shell *,.portal-shell *:before,.portal-shell *:after{transition:none!important;animation:none!important;scroll-behavior:auto!important}}
@media print{.portal-shell{background:#fff;padding:0}.portal-shell__topline,.portal-shell__navigation{display:none}.portal-shell .iqvs-portal{padding:0}.portal-shell .iqvs-portal__columns{display:block}.portal-shell .iqvs-portal__card{break-inside:avoid}.portal-shell .iqvs-auth{box-shadow:none}}
