html{font-size:14px}body{margin:0;background:linear-gradient(135deg,#f7f1eb,#e9f3fa);color:#102a43;font-family:Arial,Helvetica,sans-serif}.portal-header{border-top:3px solid #f58220;border-bottom:1px solid #d3e0eb;background:#fff}.portal-header-inner{max-width:1180px;margin:auto;padding:17px 22px}.portal-brand{display:flex;align-items:center;gap:12px;color:#102a43;text-decoration:none}.portal-brand>span{display:grid;width:48px;height:48px;place-items:center;border-radius:14px;background:#175b92;color:#fff;font-size:16px;font-weight:900}.portal-brand strong{font-size:17px}.portal-brand small{display:block;color:#627d98;font-size:12px}.container{max-width:1180px}.welcome-card,.auth-card,.content-card{max-width:760px;margin:7vh auto;padding:38px;border:1px solid #c8d8e7;border-radius:20px;background:#fff;box-shadow:0 20px 50px rgba(17,54,86,.12)}.auth-card{max-width:500px}.auth-card.wide{max-width:680px}.eyebrow{margin:0;color:#ef7516;font-size:12px;font-weight:900;letter-spacing:.1em;text-transform:uppercase}h1{margin:8px 0 10px;color:#123f6c;font-weight:800}.actions{display:flex;gap:10px;margin-top:25px}.button{display:inline-flex;justify-content:center;padding:11px 20px;border:1px solid #176ba5;border-radius:999px;font-weight:800;text-decoration:none}.button.primary{background:#176ba5;color:#fff}.button.secondary{background:#eef6fc;color:#124875}.button:disabled{opacity:.5}form{display:grid;gap:8px;margin-top:24px}label{margin-top:7px;color:#334e68;font-size:12px;font-weight:800}input{min-height:43px;padding:8px 11px;border:1px solid #adc4d6;border-radius:9px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px 14px}.form-grid>div{display:grid}.form-grid .full{grid-column:1/-1}.validation,span.field-validation-error{color:#b42318}.below{margin:18px 0 0}.empty-state{margin:22px 0;padding:30px;border:1px dashed #a9bfd0;border-radius:12px;background:#f7fafc;text-align:center;color:#627d98}.payment-options{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:25px 0}.payment-options button{padding:24px;border:1px solid #bad0e0;border-radius:14px;background:#f4f9fc;text-align:left}.payment-options span{display:block;margin-top:6px;color:#627d98}.notice{font-size:12px;color:#526d82}.footer{position:static!important;text-align:center}@media(max-width:650px){.welcome-card,.auth-card,.content-card{margin:24px 10px;padding:24px}.form-grid,.payment-options{grid-template-columns:1fr}.form-grid .full{grid-column:auto}}

@media (min-width: 768px) {
  html {
    font-size: 16px;
  }
}

.btn:focus, .btn:active:focus, .btn-link.nav-link:focus, .form-control:focus, .form-check-input:focus {
  box-shadow: 0 0 0 0.1rem white, 0 0 0 0.25rem #258cfb;
}

html {
  position: relative;
  min-height: 100%;
}

body {
  margin-bottom: 60px;
}
.invoice-modal{display:none;position:fixed;inset:0;z-index:5000;padding:3vh 3vw;background:rgba(7,31,58,.7)}.invoice-modal.open{display:block}.invoice-modal-card{height:94vh;overflow:hidden;border-radius:16px;background:#fff;box-shadow:0 30px 90px #071f3a66}.invoice-modal-head{display:flex;align-items:center;justify-content:space-between;height:58px;padding:0 18px;background:#123f6c;color:#fff}.invoice-modal-head div{display:flex;gap:8px}.invoice-modal-head button{padding:8px 16px;border:1px solid #ffffff66;border-radius:999px;background:#fff;color:#123f6c;font-weight:800;cursor:pointer}.invoice-modal iframe{display:block;width:100%;height:calc(100% - 58px);border:0}.checkout-card{max-width:960px;padding:0;overflow:hidden}.checkout-heading{padding:34px 38px 25px;border-bottom:1px solid #d9e4ed}.checkout-heading p:last-child{margin:0;color:#627d98}.checkout-body{display:grid;grid-template-columns:1.05fr .95fr;gap:28px;padding:30px 38px 38px}.checkout-body h2{margin:0 0 15px;color:#123f6c;font-size:17px;font-weight:800}.order-review,.method-panel{padding:22px;border:1px solid #d3e0ea;border-radius:15px}.summary-line{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:18px;padding:13px 0;border-bottom:1px solid #e0e8ef}.summary-line small{display:block;color:#71879a;font-size:10px;text-transform:uppercase}.summary-line>span:nth-child(2){color:#627d98;font-size:12px}.summary-total{display:flex;align-items:center;justify-content:space-between;padding-top:18px;color:#123f6c}.summary-total strong{font-size:24px}.method-panel{background:#f7fafc}.method-panel .payment-options{grid-template-columns:1fr;margin:0}.method-panel .notice{margin:18px 2px 0;line-height:1.5}@media(max-width:800px){.checkout-body{grid-template-columns:1fr;padding:20px}.checkout-heading{padding:25px}}
.portal-header-inner{display:flex;align-items:center;justify-content:space-between;gap:20px}.logout-form{display:flex;align-items:center;gap:14px;margin:0}.logout-form>span{color:#526d82;font-size:12px;font-weight:700}.logout-button{padding:8px 16px;border:1px solid #b9d0e2;border-radius:999px;background:#eef6fc;color:#124875;font-weight:800;cursor:pointer}.logout-button:hover{border-color:#176fa9;background:#176fa9;color:#fff}

.form-floating > .form-control-plaintext::placeholder, .form-floating > .form-control::placeholder {
  color: var(--bs-secondary-color);
  text-align: end;
}

.form-floating > .form-control-plaintext:focus::placeholder, .form-floating > .form-control:focus::placeholder {
  text-align: start;
}
.payment-choice{display:grid;grid-template-columns:24px 1fr auto;align-items:center;gap:12px;margin:0;padding:16px;border:1px solid #c5d8e7;border-radius:12px;background:#fff;cursor:pointer}.payment-choice:has(input:checked){border-color:#176fa9;background:#eaf5fc;box-shadow:0 0 0 2px #176fa922}.payment-choice input{width:19px;height:19px;min-height:0;margin:0;accent-color:#176fa9}.payment-choice span strong,.payment-choice span small{display:block}.payment-choice span small{margin-top:4px;color:#627d98}.payment-choice b{color:#123f6c}.payment-totals{margin-top:20px;padding-top:12px;border-top:1px solid #d5e1ea}.payment-totals>div{display:flex;justify-content:space-between;padding:7px 0}.payment-totals .grand-total{margin-top:6px;padding-top:14px;border-top:1px solid #c7d7e3;color:#123f6c;font-size:18px}.payment-continue{width:100%;margin-top:16px}
.invoice-card{max-width:1080px;margin-top:5vh;padding:0;overflow:hidden}.invoice-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:25px;padding:34px 38px 26px;border-bottom:1px solid #d9e4ed}.invoice-heading h1{margin-bottom:5px}.invoice-heading p:last-child{margin:0;color:#627d98}.balance-summary{min-width:190px;padding:16px 20px;border:1px solid #c6d9e8;border-radius:14px;background:#f2f8fc;text-align:right}.balance-summary small,.checkout-bar small{display:block;color:#627d98;font-size:11px;font-weight:800;letter-spacing:.05em;text-transform:uppercase}.balance-summary strong{display:block;margin-top:3px;color:#123f6c;font-size:25px}.invoice-card form{margin:0;padding:25px 38px 34px}.invoice-list{overflow:hidden;border:1px solid #ccdae6;border-radius:14px}.invoice-row{display:grid;grid-template-columns:38px 1.15fr 1.35fr 1fr 1fr 110px;align-items:center;gap:16px;margin:0;padding:17px 18px;border-bottom:1px solid #dce6ee;color:#243b53;cursor:pointer;transition:.15s ease}.invoice-row:last-child{border-bottom:0}.invoice-row:not(.invoice-header):hover{background:#f3f8fc}.invoice-row:has(input:checked){background:#eaf5fc;box-shadow:inset 4px 0 #176fa9}.invoice-header{padding-top:11px;padding-bottom:11px;background:#123f6c;color:#fff;font-size:11px;font-weight:900;letter-spacing:.045em;text-transform:uppercase;cursor:default}.invoice-row small{display:none}.invoice-row strong{color:#123f6c}.invoice-row .money{text-align:right;font-variant-numeric:tabular-nums}.invoice-row .balance{color:#123f6c;font-size:16px;font-weight:900}.select-box{display:grid;place-items:center}.invoice-check{width:20px;height:20px;min-height:0;margin:0;padding:0;accent-color:#176fa9}.pdf-link{color:#12649b;font-size:12px;font-weight:800;text-align:right;text-decoration:none}.pdf-link:hover{text-decoration:underline}.checkout-bar{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:22px;padding:17px 18px;border:1px solid #ccdae6;border-radius:14px;background:#f7fafc}.checkout-bar>div{display:flex;align-items:center;gap:16px}.checkout-bar strong{color:#123f6c;font-size:21px}.checkout-bar .button{min-width:235px}.checkout-bar .button:disabled{cursor:not-allowed;filter:grayscale(.2)}@media(max-width:800px){.invoice-heading{align-items:stretch;flex-direction:column;padding:25px}.balance-summary{text-align:left}.invoice-card form{padding:18px}.invoice-header{display:none}.invoice-row{grid-template-columns:32px 1fr auto;gap:9px 12px}.invoice-row>span:nth-child(3),.invoice-row>span:nth-child(4),.invoice-row>span:nth-child(5){grid-column:2}.invoice-row small{display:block;color:#71879a;font-size:10px;text-transform:uppercase}.invoice-row .money{text-align:left}.pdf-link{grid-column:3;grid-row:1/5}.checkout-bar{align-items:stretch;flex-direction:column}.checkout-bar .button{width:100%}}
