:root{--color-primary:#00aeef;--color-secondary:#10161d;--color-accent:#ff7a00;--color-light:#fff;--color-muted:#f4f6f8;--color-text:#172127;--color-gray:#616c73;--blue-ink:#006e9e;--line:#dce3e7;--bs-primary:#007da9;--bs-body-font-family:Inter,"Segoe UI",Arial,sans-serif;--bs-body-color:var(--color-text)}
*{box-sizing:border-box;letter-spacing:0}html{scroll-behavior:smooth}body{margin:0;background:#fff;font-size:15px;line-height:1.55}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-weight:700;line-height:1.15}h1{font-size:38px}h2{font-size:23px}h3{font-size:18px}p{color:var(--color-gray)}a{color:var(--blue-ink);text-decoration:none}a:hover{text-decoration:underline}button,input,select,textarea{font:inherit}a,button,input,select,textarea,summary{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid var(--color-primary);outline-offset:4px}svg.lucide{width:20px;height:20px;flex-shrink:0;vertical-align:middle}button:disabled{cursor:not-allowed}img{display:block;max-width:100%}[hidden]{display:none!important}.shell{width:min(1180px,calc(100% - 64px));margin:auto}.eyebrow{display:block;font-size:11px;font-weight:750;color:var(--blue-ink);margin-bottom:16px}.brand{display:inline-flex;align-items:center;gap:20px;color:white;flex-shrink:0}.brand:hover{text-decoration:none;color:white}.brand img{width:145px;height:50px;object-fit:contain}.brand>span{border-left:1px solid #4d545a;padding-left:20px;font-size:20px;font-weight:500}.portal-header{background:var(--color-secondary);color:white}.portal-header>.shell{height:88px;display:flex;align-items:center;justify-content:space-between}.network-label{display:flex;gap:9px;align-items:center;font-size:13px;color:#cbd4da}.network-label svg{color:#59d3ec}.portal-shell{width:min(1180px,calc(100% - 64px));margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:100px;min-height:calc(100svh - 152px);align-items:center;padding:46px 0}.portal-intro{min-width:0}.intro-copy h1{font-size:54px;line-height:1.08;max-width:490px;overflow-wrap:anywhere}.intro-copy p{font-size:17px;margin-top:20px}.intro-signature{display:flex;align-items:center;gap:10px;margin-top:48px;color:#8a989f;font-size:10px;font-weight:700;letter-spacing:.12em}.signature-dot{width:8px;height:8px;background:var(--color-primary);border-radius:50%;box-shadow:0 0 0 5px #00aeef1a}.signature-line{height:1px;background:var(--line);flex:1;max-width:180px}.intro-foot{border-top:1px solid var(--line);display:flex;justify-content:space-between;margin-top:30px;padding-top:18px;font-size:12px;color:var(--color-gray)}.intro-foot span{display:flex;gap:8px;align-items:center}.intro-foot svg{width:17px;height:17px}.form-section{min-width:0}.step-label{display:flex;align-items:center;gap:9px;color:#56626b;font-size:10px;font-weight:700;margin-bottom:25px}.step-label>span:not(.step-line){color:var(--blue-ink);font-size:12px}.step-line{flex:1;height:1px;background:var(--line);margin:0 7px}.form-heading{display:flex;gap:14px;align-items:center;margin-bottom:20px}.form-heading h2{font-size:25px;margin-bottom:5px}.form-heading p{font-size:13px}.wifi-symbol{display:flex;align-items:center;justify-content:center;width:46px;height:46px;background:#e8f7fd;color:var(--blue-ink);border-radius:8px;flex-shrink:0}.wifi-symbol svg{width:26px;height:26px}.demo-note{display:flex;gap:10px;align-items:flex-start;padding:11px 13px;margin-bottom:20px;background:#fff4e7;border-left:3px solid var(--color-accent);color:#6a4018;font-size:12px;line-height:1.5}.demo-note strong{font-weight:700}.demo-note svg{width:17px;height:17px;margin-top:1px}.field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px 16px}.field{display:block;min-width:0;font-size:12px;font-weight:600;margin-bottom:16px}.field-grid .field{margin-bottom:0}.field>label,.field>span:first-child{display:block;margin-bottom:6px}.field.full{grid-column:1/-1}.form-control,.form-select{font-size:14px;border-color:#cad4db;border-radius:5px;min-height:43px;margin-top:6px;box-shadow:none;background-color:white}.form-control:focus,.form-select:focus{border-color:#0094ca;box-shadow:0 0 0 3px #00aeef22}.form-control[aria-invalid=true],.form-select[aria-invalid=true]{border-color:#b53632}.optional{font-size:11px;font-weight:400;color:#737e85}.required{color:var(--blue-ink)}.field-error{font-size:11px;color:#b02927;display:block;min-height:0}.field-error:not(:empty){margin-top:4px}.consents{display:grid;gap:12px;border-top:1px solid var(--line);padding-top:18px;margin-top:21px;margin-bottom:20px}.check-line{display:flex;align-items:flex-start;gap:10px;font-size:12px;color:#56636b;font-weight:400;line-height:1.5;margin:0}.check-line .form-check-input{width:17px;height:17px;flex-shrink:0;margin:1px 0 0;border-color:#96a6b0;border-radius:3px}.form-check-input:checked{background-color:#007fab;border-color:#007fab}.check-line a{text-decoration:underline;text-underline-offset:2px}.btn{display:inline-flex;gap:9px;align-items:center;justify-content:center;border-radius:5px;font-size:13px;font-weight:650;min-height:43px;padding:10px 17px;line-height:1.4;white-space:normal}.btn:hover{text-decoration:none}.btn-primary{--bs-btn-bg:#007da9;--bs-btn-border-color:#007da9;--bs-btn-hover-bg:#006588;--bs-btn-hover-border-color:#006588;--bs-btn-disabled-bg:#7aa9bc;--bs-btn-disabled-border-color:#7aa9bc;--bs-btn-active-bg:#005c7c;--bs-btn-active-border-color:#005c7c;color:white}.btn-outline-primary{--bs-btn-color:#006e9e;--bs-btn-border-color:#9cbfcd;--bs-btn-hover-bg:#eaf7fc;--bs-btn-hover-border-color:#007da9;--bs-btn-hover-color:#005c81;--bs-btn-active-bg:#eaf7fc;--bs-btn-active-color:#005c81;background:white}.btn-sm{min-height:35px;font-size:12px;padding:6px 11px}.connect-button{width:100%;justify-content:space-between;min-height:49px;font-size:14px}.data-note{display:flex;gap:7px;align-items:center;justify-content:center;font-size:10px;margin-top:13px}.data-note svg{width:13px;height:13px}.form-feedback{font-size:13px;color:#a42b25;line-height:1.5}.form-feedback:not(:empty){padding:10px 0;margin-bottom:10px}.success-panel{padding:38px 0}.success-panel>svg{width:50px;height:50px;color:#087e66;margin-bottom:22px}.success-panel h2{font-size:28px;margin-bottom:16px}.success-panel p{margin-bottom:24px}.portal-footer{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding:18px 0;font-size:11px;color:var(--color-gray)}.hp-field{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.simple-page{background:var(--color-secondary)}.simple-shell{width:min(460px,calc(100% - 40px));margin:50px auto}.simple-shell>.brand,.legal-shell>.brand{margin-bottom:28px}.plain-panel{background:#fff;border-radius:8px;padding:32px}.plain-panel h1{font-size:31px;margin-bottom:14px}.plain-panel>p{margin-bottom:23px}.plain-panel .btn{margin-top:10px}.back-link{display:block;text-align:center;font-size:12px;margin-top:20px}.legal-shell{width:min(820px,calc(100% - 40px));margin:40px auto}.legal-page h2{font-size:19px;margin-top:28px;margin-bottom:10px}.legal-page p{font-size:14px}.admin-page{background:#f8fafb}.admin-header{background:var(--color-secondary);color:white}.admin-top,.admin-nav{width:min(1280px,calc(100% - 64px));margin:auto;display:flex;align-items:center}.admin-top{height:80px;justify-content:space-between}.admin-tools{display:flex;gap:16px;align-items:center}.admin-tools .icon-button{color:#dae4ea}.admin-tools form{margin:0}.admin-nav{gap:30px;min-height:51px;border-top:1px solid #2c343b;overflow-x:auto}.admin-nav a{font-size:13px;font-weight:550;color:#b9c5ce;border-bottom:3px solid transparent;padding:14px 0;display:flex;align-items:center;gap:9px;white-space:nowrap}.admin-nav a:hover{text-decoration:none;color:#fff}.admin-nav a.active{color:#fff;border-color:var(--color-primary)}.admin-nav svg{width:17px;height:17px}.admin-main{width:min(1280px,calc(100% - 64px));margin:auto;padding:35px 0 60px;min-height:calc(100svh - 180px)}.page-title{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:30px}.page-title h1{font-size:31px;margin-bottom:8px}.page-title p{font-size:13px}.page-title .eyebrow{margin-bottom:10px}.status-tag{display:inline-flex;gap:6px;align-items:center;font-size:10px;line-height:1.4;border:1px solid #d9c7a5;background:#fff5e5;color:#795521;padding:4px 7px;white-space:nowrap;border-radius:4px}.status-tag svg{width:13px;height:13px}.status-tag.green{background:#ebf7f0;color:#226144;border-color:#b8dcc8}.icon-button{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;flex-shrink:0;border:1px solid transparent;border-radius:4px;background:transparent;color:#657780;cursor:pointer}.icon-button:hover{background:#8cabb322;text-decoration:none}.icon-button:disabled{opacity:.3}.metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;margin-bottom:44px}.metric{position:relative;border-bottom:3px solid #b6dae7;padding:20px;background:white;border-radius:5px;border-top:1px solid #e4eaed;min-height:123px}.metric:nth-child(2){border-bottom-color:#e8cfa3}.metric:nth-child(3){border-bottom-color:#accfbb}.metric:nth-child(4){border-bottom-color:#d2bdb9}.metric>svg{position:absolute;right:20px;top:20px;color:#8a9aa3}.metric span{font-size:12px;color:#65747e;display:block;padding-right:26px}.metric strong{display:block;font-size:33px;font-weight:650;margin-top:8px}.overview-columns{display:grid;grid-template-columns:1.2fr 1fr;gap:65px;padding-bottom:35px;margin-bottom:30px;border-bottom:1px solid var(--line)}.section-title{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:0 0 18px}.section-title h2,.overview-columns h2,.settings-grid h2{font-size:20px}.campaign-summary{border-left:3px solid var(--color-primary);padding:8px 0 8px 22px;margin-top:23px}.campaign-summary .eyebrow{margin-bottom:10px}.campaign-summary h3{font-size:27px;margin-bottom:12px}.campaign-summary p{font-size:13px}.field-tags{display:flex;gap:7px;flex-wrap:wrap;margin:18px 0}.field-tags span{font-size:11px;color:#536c77;border-bottom:1px solid #bfcfd6;padding:3px 0;margin-right:12px}.text-link{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:650}.text-link svg{width:16px;height:16px}.readiness{padding:0;margin:20px 0;list-style:none}.readiness li{display:flex;gap:14px;padding:15px 0;border-bottom:1px solid var(--line)}.readiness li>svg{color:#5c7f85;margin-top:4px}.readiness strong{display:block;font-size:13px;margin-bottom:3px}.readiness span{display:block;font-size:12px;color:#64747d;overflow-wrap:anywhere}.activity-list{list-style:none;margin:0;padding:0;max-width:700px}.activity-list li{display:flex;gap:16px;justify-content:space-between;border-bottom:1px solid var(--line);padding:12px 0;font-size:12px}.activity-list time{color:#7a868d;white-space:nowrap}.campaign-workspace{display:grid;grid-template-columns:270px 1fr;gap:38px}.campaign-list{display:flex;flex-direction:column;gap:12px}.campaign-item{border:1px solid #dbe3e8;border-radius:6px;background:white;padding:16px}.campaign-item.selected{border-color:#007da9;box-shadow:inset 3px 0 #007da9}.campaign-item>a{display:block;color:var(--color-text)}.campaign-item>a:hover{text-decoration:none}.campaign-item strong{display:block;font-size:14px}.campaign-item>a>span{font-size:11px;color:var(--color-gray);display:block;margin-top:5px}.campaign-item>div{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:12px}.small-link{border:0;background:transparent;padding:5px 0;font-size:11px;color:var(--blue-ink);font-weight:650}.campaign-editor{min-width:0;padding-left:30px;border-left:1px solid var(--line)}.campaign-editor>h2{margin-bottom:24px;font-size:22px}.campaign-editor .section-title{margin-top:30px}.campaign-editor .section-title h3{font-size:16px}.builder-row{border:1px solid #d7e0e5;border-radius:5px;padding:15px;margin-bottom:12px;background:#fff}.builder-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.builder-head>strong{color:#6c7f8b;font-size:10px}.builder-tools{display:flex;gap:3px}.builder-tools .icon-button{width:30px;height:30px}.builder-tools svg{width:16px;height:16px}.builder-foot{display:flex;justify-content:space-between;margin-top:16px}.builder-row>label{margin-top:14px}.builder-foot .check-line{font-size:11px}.schedule-area{margin-top:26px;padding-top:22px;border-top:1px solid var(--line)}.schedule-area>.check-line{margin-bottom:16px}.help-text{font-size:12px;line-height:1.6;margin:12px 0 18px}.save-row{display:flex;gap:20px;align-items:center;justify-content:flex-end;margin-top:25px}.save-row>span{font-size:12px;color:#a12c24}.filter-bar{display:flex;align-items:flex-end;gap:14px;margin-bottom:24px;flex-wrap:wrap}.filter-bar label{flex:1;min-width:140px;font-size:11px;font-weight:600}.filter-bar .btn{min-height:43px}.filter-bar .form-control,.filter-bar .form-select{font-size:12px}.empty-state{text-align:center;padding:65px 20px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.empty-state>svg{width:36px;height:36px;color:#8aa0ac;margin-bottom:22px}.empty-state h2{font-size:21px;margin-bottom:10px}.empty-state p{font-size:13px;margin-bottom:20px}.records-table{font-size:12px}.records-table th{font-size:11px;color:#63727b;background:#eff3f5;padding:14px 12px}.records-table td{padding:15px 12px;vertical-align:top;border-color:#e3e9ec;max-width:310px;overflow-wrap:anywhere}.records-table details{min-width:165px}.records-table summary{cursor:pointer;color:var(--blue-ink)}.answers{padding:12px 0 0;margin:0}.answers dt{font-size:10px;color:#6c7a83;margin-bottom:2px}.answers dd{margin-bottom:10px;white-space:pre-wrap;overflow-wrap:anywhere}.nowrap{white-space:nowrap}.pagination-row{display:flex;justify-content:space-between;align-items:center;font-size:12px;margin-top:16px}.pagination-row>div{display:flex;gap:6px}.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px}.settings-grid form{margin-top:24px}.settings-grid .check-line{margin:20px 0}.numeric-input{max-width:130px}.technical-note{display:flex;gap:12px;font-size:12px;background:#edf4f5;padding:15px;margin-top:25px;color:#4c6a73}.technical-note svg{color:#307b86}.admin-footer{width:min(1280px,calc(100% - 64px));margin:auto;font-size:10px;color:#77858f;border-top:1px solid var(--line);padding:18px 0}.alert{border-radius:5px;font-size:13px}
@media(min-width:1600px){.portal-shell{gap:125px;padding:60px 0}.intro-copy h1{font-size:58px}.intro-signature{margin-top:64px}}
@media(max-width:1000px){.portal-shell{gap:45px;padding:36px 0}.intro-copy h1{font-size:43px}.metrics{gap:12px}.metric{padding:15px}.metric>svg{right:14px;top:15px}.overview-columns{gap:36px}.campaign-workspace{grid-template-columns:230px 1fr;gap:22px}.campaign-editor{padding-left:22px}.settings-grid{gap:40px}}
@media(max-width:760px){h1{font-size:30px}.shell,.portal-shell,.admin-top,.admin-nav,.admin-main,.admin-footer{width:calc(100% - 36px)}.portal-header>.shell{height:70px}.brand img{width:118px;height:40px}.brand>span{font-size:16px;padding-left:14px}.brand{gap:14px}.network-label{font-size:11px}.network-label svg{width:17px}.portal-shell{grid-template-columns:1fr;gap:27px;padding:26px 0 20px;min-height:0;max-width:500px}.intro-copy h1{font-size:35px;max-width:100%}.intro-copy .eyebrow{font-size:10px;margin-bottom:9px}.intro-copy p{display:none}.intro-signature{margin-top:20px;font-size:9px}.signature-line{max-width:90px}.intro-foot{display:none}.step-label{margin-bottom:17px}.form-heading{margin-bottom:15px}.form-heading h2{font-size:23px}.form-heading p{font-size:12px}.demo-note{font-size:11px;margin-bottom:17px}.field-grid{gap:12px}.field{font-size:11px}.form-control,.form-select{min-height:43px;font-size:16px}.consents{gap:11px;margin-top:17px;padding-top:15px}.check-line{font-size:11px}.data-note{font-size:10px}.portal-footer{font-size:10px}.admin-top{height:70px}.admin-tools{gap:6px}.admin-tools>.status-tag{font-size:9px}.admin-tools .icon-button{width:31px}.admin-nav{gap:25px}.admin-nav a{font-size:12px;gap:6px}.admin-nav svg{width:16px}.admin-main{padding-top:26px}.page-title{align-items:flex-start;flex-direction:column;gap:18px;margin-bottom:24px}.page-title h1{font-size:28px}.page-title p{font-size:12px}.metrics{grid-template-columns:1fr 1fr;margin-bottom:30px;gap:10px}.metric{min-height:109px;padding:13px}.metric strong{font-size:29px}.metric span{font-size:10px}.metric>svg{width:16px;height:16px;right:10px;top:13px}.overview-columns{grid-template-columns:1fr;gap:35px}.campaign-workspace{grid-template-columns:1fr;gap:25px}.campaign-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.campaign-item{padding:13px}.campaign-item strong{font-size:12px;overflow-wrap:anywhere}.campaign-item>a>span{font-size:10px}.campaign-editor{padding:25px 0 0;border-left:0;border-top:1px solid var(--line)}.campaign-editor>h2{font-size:21px}.builder-row{padding:12px}.builder-row .field-grid{grid-template-columns:1fr}.builder-row .form-control,.builder-row .form-select{font-size:14px}.settings-grid{grid-template-columns:1fr;gap:40px}.filter-bar{gap:10px}.filter-bar label{min-width:calc(50% - 10px);flex:1}.filter-bar .btn{width:100%}.simple-shell{margin:30px auto}.plain-panel{padding:25px}.plain-panel h1{font-size:27px}.legal-shell{margin:25px auto}.legal-page .plain-panel{padding:23px}.schedule-area .field-grid{grid-template-columns:1fr}.page-title .btn{font-size:12px}}
@media(max-width:360px){.field-grid{grid-template-columns:1fr}.brand img{width:100px}.network-label{font-size:10px;gap:4px}.intro-copy h1{font-size:30px}.campaign-list{grid-template-columns:1fr}.admin-tools .status-tag{display:none}}
@media(prefers-reduced-motion:no-preference){.form-section{animation:arrive .4s ease-out}@keyframes arrive{from{opacity:.3;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.btn,.icon-button{transition:background-color .15s,border-color .15s}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation:none!important;transition:none!important}}
.intro-signature{letter-spacing:0}
.conditional-field{display:block;margin-top:12px;padding-top:12px;border-top:1px solid #e4eaed}.conditional-field>label{display:block;margin-bottom:6px;font-size:11px;font-weight:600}

/* Captive portal visual system: a compact, card-led welcome screen. */
.portal-page{min-height:100svh;background:linear-gradient(124deg,#20b6c1 0%,#228bc8 53%,#34309a 100%);color:#172127}
.portal-header{background:transparent;border-bottom:1px solid #ffffff2e}
.portal-header>.shell{height:82px}
.portal-shell{width:min(1240px,calc(100% - 56px));grid-template-columns:260px minmax(420px,520px) 260px;gap:34px;min-height:calc(100svh - 145px);padding:40px 0 30px;align-items:center}
.portal-side-card{position:relative;display:block;min-height:500px;overflow:hidden;background:#fff;border:1px solid #ffffffaa;border-radius:18px;color:#101b2a;box-shadow:0 22px 52px #104a7552}
.side-swoosh{position:absolute;top:-25px;left:-30px;width:315px;height:210px;background:linear-gradient(135deg,#4c5cf2 0%,#3032e9 70%);border-radius:0 0 82% 0 / 0 0 88% 0;transform:rotate(-6deg);box-shadow:10px 14px 20px #2223a126}
.portal-side-right .side-swoosh{background:linear-gradient(135deg,#159bd6 0%,#3a39ed 72%);transform:rotate(6deg);left:auto;right:-30px;border-radius:0 0 0 82% / 0 0 0 88%}
.side-card-content{position:relative;z-index:1;display:flex;min-height:500px;flex-direction:column;padding:192px 27px 27px}
.side-kicker{font-size:10px;font-weight:800;letter-spacing:.08em;color:#f27619}
.side-card-content h2{margin-top:12px;font-size:33px;line-height:1.02;letter-spacing:-.02em;color:#101b2a}
.side-card-content p{margin-top:14px;font-size:13px;line-height:1.5;color:#65737d}
.side-card-line{height:3px;width:62px;margin:26px 0 18px;border-radius:9px;background:linear-gradient(90deg,#18afe1,#ff7a00)}
.side-stat{display:flex;align-items:center;gap:12px;padding:13px 0;border-bottom:1px solid #e7edf2;font-size:11px;color:#65737d}
.side-stat strong{min-width:40px;font-size:18px;color:#243ee5}
.route-pill{display:flex;align-items:center;gap:9px;width:max-content;max-width:100%;margin-top:32px;padding:10px 13px;border-radius:999px;background:#eef6ff;color:#2840d6;font-size:11px;font-weight:750}
.route-pill svg{width:16px;height:16px}
.side-card-note{margin-top:auto;padding-top:23px;font-size:11px;line-height:1.55;color:#687983}
.portal-main-card{min-width:0;align-self:center;padding:31px 36px 29px;background:#fff;border:1px solid #ffffffd9;border-radius:20px;box-shadow:0 25px 64px #104a7566}
.card-brand{display:flex;align-items:center;justify-content:center;gap:9px;margin:0 auto 22px;color:#172127;text-align:left}
.card-brand img{width:168px;height:54px;object-fit:contain;border-radius:0}
.card-brand>span{display:flex;flex-direction:column;line-height:1}
.card-brand strong{font-size:16px;letter-spacing:.03em;color:#172127}
.card-brand small{margin-top:4px;font-size:9px;font-weight:750;letter-spacing:.26em;color:#f27619}
.portal-main-card .step-label{margin-bottom:19px;color:#66757f}
.portal-main-card .form-heading{margin-bottom:17px}
.portal-main-card .form-heading h2{font-size:24px;color:#101b2a}
.portal-main-card .form-heading p{color:#6b7881}
.portal-main-card .wifi-symbol{background:#eef6ff;color:#2846e7;border-radius:50%}
.portal-main-card .demo-note{margin-bottom:17px;border-radius:7px}
.portal-main-card .btn-primary{--bs-btn-bg:#2f7eed;--bs-btn-border-color:#2f7eed;--bs-btn-hover-bg:#235fd0;--bs-btn-hover-border-color:#235fd0;--bs-btn-active-bg:#1d4eac;--bs-btn-active-border-color:#1d4eac}
.portal-main-card .btn-outline-primary{color:#2c45d2!important;border-color:#9aa8e9;background:#fff}
.portal-main-card .btn-outline-primary:hover{color:#1e32ae!important;background:#f0f3ff}
.portal-main-card .form-control,.portal-main-card .form-select{border-color:#d4dce6;border-radius:8px}
.portal-main-card .consents{border-top-color:#e2e8ee}
.portal-footer{border-top:0;color:#eaf9fb}
.portal-footer a{color:#fff;text-decoration:underline;text-underline-offset:3px}

@media(max-width:1120px){
  .portal-shell{grid-template-columns:minmax(0,540px);justify-content:center}
  .portal-side-card{display:none}
}
@media(max-width:760px){
  .portal-header>.shell{height:70px}
  .portal-shell{width:calc(100% - 28px);padding:23px 0 15px;min-height:0}
  .portal-main-card{padding:24px 19px 22px;border-radius:16px;box-shadow:0 18px 42px #104a7552}
  .card-brand{margin-bottom:18px}
  .card-brand img{width:152px;height:49px}
  .card-brand strong{font-size:15px}
  .portal-main-card .step-label{margin-bottom:16px;font-size:9px}
  .portal-main-card .form-heading h2{font-size:22px}
  .portal-main-card .form-heading p{font-size:11px}
  .portal-main-card .field-grid{gap:10px}
  .portal-main-card .field{margin-bottom:0}
  .portal-main-card .consents{margin-top:16px;padding-top:14px}
  .portal-footer{width:calc(100% - 28px);padding:14px 0 18px}
}

/* The reference is used for the visual language; the portal stays single-card. */
.portal-shell{grid-template-columns:minmax(0,560px);justify-content:center}
.portal-side-card{display:none}
.portal-main-card{width:100%;max-width:560px}
