:root {
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  color: #17212b;
  background:
    radial-gradient(circle at top left, rgba(72,143,255,.18), transparent 30%),
    radial-gradient(circle at top right, rgba(43,210,188,.16), transparent 26%),
    linear-gradient(180deg, #f5f8fb 0%, #eef3f7 100%);
}
* { box-sizing: border-box; }
body { margin: 0; min-height:100vh; position:relative; }
.shell { width: min(1080px, calc(100% - 32px)); margin: 0 auto; padding: 70px 0 90px; position:relative; z-index:2; }
header { margin-bottom: 34px; }
.brandline { display:flex; align-items:center; gap:10px; }
.brandline img { width:190px; max-width:52vw; height:auto; display:block; }
.brandline span { display:inline-block; font-size:11px; font-weight:800; letter-spacing:.11em; background:#17212b; color:white; padding:7px 10px; border-radius:999px; }
h1 { margin: 18px 0 12px; font-size: clamp(42px, 8vw, 76px); letter-spacing: -.055em; line-height: .95; }
h1 span { opacity: .46; }
.lead { max-width: 700px; font-size: 19px; line-height: 1.6; color: #5d6873; }
.searchbox, .result { background: rgba(255,255,255,.86); border: 1px solid rgba(228,232,235,.8); border-radius: 26px; padding: 22px; box-shadow: 0 20px 60px rgba(18,38,63,.10); backdrop-filter: blur(10px); }
.types { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; margin-bottom: 24px; }
.type { border: 0; background: #f0f2f4; border-radius: 14px; padding: 14px; font-weight: 800; cursor: pointer; }
.type.active { background: linear-gradient(135deg, #0f1c2c 0%, #213f63 100%); color: white; box-shadow: 0 8px 22px rgba(15,28,44,.24); }
label { display: block; font-size: 13px; font-weight: 800; margin-bottom: 8px; text-transform: uppercase; letter-spacing: .06em; }
.row { display: flex; gap: 10px; }
input { min-width: 0; flex: 1; padding: 18px; border: 2px solid #dde2e6; border-radius: 15px; font-size: 20px; font-weight: 800; text-transform: uppercase; }
.row button, #unlock { border: 0; border-radius: 16px; padding: 0 24px; background: linear-gradient(135deg, #0f1c2c 0%, #2b537a 100%); color: white; font-weight: 850; font-size: 16px; cursor: pointer; box-shadow: 0 12px 24px rgba(18,43,70,.18); }
#hint { margin-bottom: 0; color: #7b858d; font-size: 13px; }
.result { margin-top: 18px; }
.hidden { display: none; }
.found { display: flex; gap: 14px; align-items: center; padding-bottom: 18px; border-bottom: 1px solid #edf0f2; }
.ok { width: 46px; height: 46px; border-radius: 50%; display: grid; place-items: center; background: #e8f7ed; color: #19783b; font-size: 24px; font-weight: 900; }
.eyebrow { font-size: 11px; font-weight: 900; letter-spacing: .12em; color: #6d7880; }
.found h2 { margin: 3px 0 0; }
.found p { margin: 3px 0 0; color: #66717a; }
.report { padding: 8px 0; }
.report > div { display: flex; justify-content: space-between; gap: 20px; padding: 13px 2px; border-bottom: 1px solid #f0f2f3; }
.report span { color: #6f7981; }
.paywall { margin-top: 16px; padding: 18px; display: flex; justify-content: space-between; gap: 18px; align-items: center; border-radius: 18px; background: linear-gradient(135deg, rgba(246,249,251,1) 0%, rgba(235,241,245,1) 100%); border:1px solid #e3eaee; }
.paywall p { margin: 4px 0 0; color: #69747d; font-size: 13px; }
#unlock { padding: 15px 18px; }
.paymentnote { color: #8a5b00; font-size: 12px; margin: 12px 4px 0; }
.trust { display: grid; grid-template-columns: repeat(3,1fr); gap: 14px; margin-top: 24px; }
.trust div { padding: 18px; }
.trust strong, .trust span { display: block; }
.trust span { margin-top: 5px; color: #707a83; font-size: 13px; line-height: 1.45; }
.error { padding: 15px; background: #fff0f0; border-radius: 14px; color: #8f2525; }
.loading { padding: 15px; color: #65717a; }
@media (max-width:700px) {
  .shell { padding: 35px 0; }
  .types { grid-template-columns: repeat(2,1fr); }
  .row { flex-direction: column; }
  .row button { padding: 17px; }
  .trust { grid-template-columns: 1fr; }
  .paywall { align-items: stretch; flex-direction: column; }
}

.historygrid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
  margin-top: 18px;
}
.historycard {
  border: 1px solid #e6eaed;
  border-radius: 16px;
  padding: 16px;
  display: flex;
  gap: 12px;
  background: #fbfcfc;
}
.historyicon {
  font-size: 23px;
  line-height: 1;
}
.historycard strong {
  display: block;
  margin-bottom: 5px;
}
.historycard p {
  margin: 0 0 10px;
  color: #6d7780;
  font-size: 13px;
  line-height: 1.45;
}
.status {
  display: inline-block;
  padding: 5px 8px;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 800;
}
.status.pending {
  background: #fff4d8;
  color: #855a00;
}
.status.neutral {
  background: #eef1f3;
  color: #53606a;
}
@media (max-width:700px) {
  .historygrid { grid-template-columns: 1fr; }
}


body.modalopen { overflow: hidden; }
.modal {
  position: fixed;
  inset: 0;
  z-index: 1000;
  display: grid;
  place-items: center;
  padding: 20px;
}
.modal.hidden { display: none; }
.modalbackdrop {
  position: absolute;
  inset: 0;
  background: rgba(23,33,43,.62);
  backdrop-filter: blur(5px);
}
.modalcard {
  position: relative;
  width: min(520px, 100%);
  background: white;
  border-radius: 24px;
  padding: 28px;
  box-shadow: 0 28px 80px rgba(0,0,0,.25);
  z-index: 1;
}
.modalclose {
  position: absolute;
  right: 18px;
  top: 14px;
  border: 0;
  background: transparent;
  font-size: 30px;
  line-height: 1;
  cursor: pointer;
  color: #65717a;
}
.paybadge {
  display: inline-block;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .1em;
  background: #eef1f3;
  color: #53606a;
  border-radius: 999px;
  padding: 7px 10px;
  margin-bottom: 12px;
}
.modalcard h2 { margin: 0 0 8px; font-size: 30px; letter-spacing: -.03em; }
.payintro { color: #65717a; line-height: 1.5; margin-bottom: 20px; }
.modalcard > div > label:not(.consentline) {
  display: block;
  margin-bottom: 8px;
}
.modalcard input[type="text"],
.modalcard input[type="tel"],
#mobileNumber,
#paymentCode {
  width: 100%;
  padding: 16px;
  border: 2px solid #dde2e6;
  border-radius: 14px;
  font-size: 20px;
  font-weight: 800;
  text-transform: none;
  margin-bottom: 16px;
}
.payfacts {
  display: grid;
  grid-template-columns: repeat(3,1fr);
  gap: 8px;
  margin: 4px 0 18px;
}
.payfacts div {
  border: 1px solid #e8ebed;
  border-radius: 13px;
  padding: 12px;
  background: #f8f9fa;
}
.payfacts span, .payfacts strong { display: block; }
.payfacts span { font-size: 11px; color: #76818a; margin-bottom: 4px; }
.payfacts strong { font-size: 13px; }
.consentline {
  display: flex;
  gap: 10px;
  align-items: flex-start;
  text-transform: none;
  letter-spacing: 0;
  font-size: 13px;
  line-height: 1.4;
  margin: 0 0 18px;
}
.consentline input { margin-top: 2px; }
.primarywide, .secondarywide {
  width: 100%;
  border-radius: 14px;
  padding: 15px 18px;
  font-size: 15px;
  font-weight: 850;
  cursor: pointer;
}
.primarywide {
  border: 0;
  background: #17212b;
  color: white;
}
.secondarywide {
  margin-top: 8px;
  border: 1px solid #dce1e4;
  background: white;
  color: #33404a;
}
.paymentsmall {
  text-align: center;
  margin: 12px 0 0;
  font-size: 11px;
  color: #8b959d;
}
.paymenterror {
  margin: 14px 0 0;
  padding: 11px 13px;
  border-radius: 11px;
  background: #fff0f0;
  color: #8f2525;
  font-size: 13px;
  font-weight: 700;
}
.successbig {
  width: 68px;
  height: 68px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: #e8f7ed;
  color: #19783b;
  font-size: 36px;
  font-weight: 900;
  margin-bottom: 16px;
}
@media (max-width:560px) {
  .modalcard { padding: 22px; }
  .payfacts { grid-template-columns: 1fr; }
}


.documenttools {
  margin-top: 28px;
  padding-top: 8px;
}
.sectionhead {
  display:flex;
  justify-content:space-between;
  align-items:end;
  margin-bottom:14px;
}
.sectionhead h2 { font-size:28px; margin:4px 0 5px; letter-spacing:-.03em; }
.sectionhead p { margin:0; color:#6b7680; max-width:680px; line-height:1.5; }
.toolgrid {
  display:grid;
  grid-template-columns:repeat(5,1fr);
  gap:12px;
}
 .toolcard {
  text-align:left;
  border:1px solid #e2e7ea;
  background:white;
  border-radius:18px;
  padding:20px;
  cursor:pointer;
  box-shadow:0 8px 24px rgba(0,0,0,.035);
}
.toolcard:hover { transform:translateY(-1px); }
.toolcard span, .toolcard strong { display:block; }
.toolicon { font-size:28px; margin-bottom:22px; }
.toolcard strong { font-size:16px; margin-bottom:5px; }
.toolcard > span:last-child { font-size:12px; color:#77818a; }
.legalnote { font-size:11px; color:#7d878f; margin:10px 3px 0; }

.toolmodalcard {
  width:min(760px, 100%);
  max-height:92vh;
  overflow:auto;
}
.toolintro { color:#69747d; line-height:1.5; margin-bottom:20px; }
.toolmodalcard h3 {
  margin:24px 0 10px;
  font-size:14px;
}
.formgrid {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
}
.formfield { display:block; }
.formfield.full { grid-column:1 / -1; }
.formfield span {
  display:block;
  font-size:11px;
  font-weight:800;
  color:#65717a;
  margin:0 0 6px;
  text-transform:uppercase;
  letter-spacing:.045em;
}
.formfield input,
.formfield textarea {
  width:100%;
  border:1px solid #dce2e5;
  border-radius:11px;
  padding:11px 12px;
  font:inherit;
  text-transform:none;
  margin:0;
  resize:vertical;
}
.checkstack {
  display:grid;
  gap:9px;
  margin:18px 0;
  font-size:13px;
  color:#4f5b64;
}
.checkstack label { display:flex; gap:8px; align-items:flex-start; }
.signaturehint {
  background:#f5f7f8;
  border-radius:13px;
  padding:13px;
  margin:16px 0;
}
.signaturehint p { margin:3px 0 0; color:#6d7880; font-size:12px; }
@media (max-width:700px) {
  .toolgrid { grid-template-columns:1fr; }
  .formgrid { grid-template-columns:1fr; }
  .formfield.full { grid-column:auto; }
}


.pageglow {
  position: fixed;
  width: 420px;
  height: 420px;
  border-radius: 50%;
  filter: blur(90px);
  opacity: .45;
  z-index: 0;
  pointer-events: none;
}
.glow1 {
  left: -110px;
  top: -80px;
  background: rgba(81,145,255,.35);
}
.glow2 {
  right: -120px;
  top: 160px;
  background: rgba(52,204,181,.28);
}

.ghostbutton {
  border: 1px solid #dbe4ea;
  background: rgba(255,255,255,.9);
  color: #213041;
  border-radius: 14px;
  padding: 13px 16px;
  font-weight: 800;
  cursor: pointer;
  box-shadow: 0 8px 18px rgba(19,40,66,.05);
}
.ghostbutton:hover {
  transform: translateY(-1px);
}
.sectionactions {
  display:flex;
  align-items:center;
  gap:10px;
}

/* Boat registry */
.boatregistry {
  margin-top: 30px;
}
.boatpanel {
  background: rgba(255,255,255,.86);
  border: 1px solid rgba(228,232,235,.8);
  border-radius: 26px;
  padding: 22px;
  box-shadow: 0 20px 60px rgba(18,38,63,.10);
  backdrop-filter: blur(10px);
}
.boatsearchrow {
  display:flex;
  gap:10px;
}
.boatsearchrow input {
  min-width:0;
  flex:1;
  padding:16px 18px;
  border:1px solid #dbe3e8;
  border-radius:15px;
  font-size:15px;
  text-transform:none;
  font-weight:700;
  background:white;
}
.boatsubinfo {
  display:flex;
  justify-content:space-between;
  gap:16px;
  align-items:center;
  margin:12px 2px 0;
  color:#6c7780;
  font-size:12px;
}
.boatlist {
  display:grid;
  gap:12px;
  margin-top:16px;
}
.emptyboat {
  border:1px dashed #ced9e0;
  border-radius:18px;
  padding:22px;
  text-align:center;
  background:#fbfcfd;
}
.emptyboat p {
  color:#74808a;
  margin:5px 0 0;
}
.boatcard {
  border:1px solid #e4eaee;
  border-radius:20px;
  padding:18px;
  background:linear-gradient(180deg, #ffffff 0%, #f9fbfc 100%);
  box-shadow:0 10px 24px rgba(17,40,63,.05);
}
.boatcardtop {
  display:flex;
  justify-content:space-between;
  gap:18px;
  align-items:flex-start;
}
.boatcardtop h3 {
  margin:2px 0 4px;
  font-size:22px;
  letter-spacing:-.03em;
}
.boatcardtop p {
  margin:0;
  color:#6f7a84;
  font-size:13px;
}
.dangerlink {
  border:0;
  background:#fff1f1;
  color:#943232;
  border-radius:12px;
  padding:10px 12px;
  font-weight:800;
  cursor:pointer;
}
.boatfacts {
  display:grid;
  grid-template-columns:repeat(5,1fr);
  gap:10px;
  margin-top:16px;
}
.boatfacts div {
  border:1px solid #e8edf0;
  border-radius:14px;
  padding:12px;
  background:#fbfcfd;
}
.boatfacts span,
.boatfacts strong {
  display:block;
}
.boatfacts span {
  font-size:11px;
  color:#7b858e;
  margin-bottom:5px;
  text-transform:uppercase;
  letter-spacing:.05em;
}
.boatfacts strong {
  font-size:13px;
}
.boatnotes {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
  margin-top:14px;
}
.boatnotes div {
  border-top:1px solid #ecf0f2;
  padding-top:12px;
}
.boatnotes span {
  display:block;
  font-size:11px;
  color:#7b858e;
  margin-bottom:6px;
  text-transform:uppercase;
  letter-spacing:.05em;
}
.boatnotes p {
  margin:0;
  color:#5c6770;
  line-height:1.5;
  font-size:13px;
}

/* modern buttons */
.primarywide,
.secondarywide {
  box-shadow: 0 12px 24px rgba(18,43,70,.14);
}
.primarywide {
  background: linear-gradient(135deg, #0f1c2c 0%, #2b537a 100%);
}
.toolcard {
  border:1px solid rgba(226,231,234,.9);
  background:rgba(255,255,255,.86);
  backdrop-filter: blur(8px);
  box-shadow:0 14px 36px rgba(18,43,70,.07);
}
.toolcard:hover {
  transform: translateY(-2px);
  box-shadow:0 18px 40px rgba(18,43,70,.11);
}

@media (max-width:820px) {
  .boatfacts { grid-template-columns:1fr 1fr; }
  .boatnotes { grid-template-columns:1fr; }
}
@media (max-width:700px) {
  .boatsearchrow { flex-direction:column; }
  .boatsubinfo { flex-direction:column; align-items:flex-start; }
}


.topbar {
  display:flex;
  justify-content:space-between;
  gap:20px;
  align-items:center;
}
.topnav {
  display:flex;
  gap:6px;
  padding:5px;
  background:rgba(255,255,255,.65);
  border:1px solid rgba(220,228,234,.85);
  border-radius:16px;
  backdrop-filter:blur(10px);
}
.topnav button {
  border:0;
  background:transparent;
  color:#52606d;
  border-radius:11px;
  padding:9px 12px;
  font-weight:800;
  cursor:pointer;
}
.topnav button:hover {
  background:white;
  color:#17212b;
}

.boatactions {
  display:flex;
  gap:7px;
  align-items:center;
}
.primarymini {
  border:0;
  background:linear-gradient(135deg,#0f1c2c 0%,#2b537a 100%);
  color:white;
  border-radius:12px;
  padding:10px 13px;
  font-weight:800;
  cursor:pointer;
  box-shadow:0 8px 18px rgba(18,43,70,.15);
}

.boatprofilemodal {
  width:min(1040px, 100%);
  max-height:94vh;
  overflow:auto;
}
.eventmodalcard {
  width:min(620px, 100%);
}
.profilehero {
  display:flex;
  justify-content:space-between;
  gap:20px;
  align-items:flex-start;
  padding-right:34px;
}
.profilehero h2 {
  margin:2px 0 5px;
  font-size:34px;
  letter-spacing:-.04em;
}
.profilehero p {
  margin:0;
  color:#6e7983;
}
.compactbutton {
  width:auto;
  white-space:nowrap;
  padding:13px 16px;
}
.profilestats {
  display:grid;
  grid-template-columns:repeat(5,1fr);
  gap:10px;
  margin:22px 0;
}
.profilestats div {
  border:1px solid #e5eaed;
  background:linear-gradient(180deg,#fbfcfd 0%,#f5f8fa 100%);
  border-radius:15px;
  padding:14px;
}
.profilestats span,
.profilestats strong {
  display:block;
}
.profilestats span {
  color:#7b858e;
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:.05em;
  margin-bottom:5px;
}
.profilestats strong {
  font-size:14px;
}
.profilegrid {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
}
.profilebox {
  border:1px solid #e5eaed;
  border-radius:18px;
  padding:17px;
  background:#fbfcfd;
}
.fullprofilebox {
  grid-column:1 / -1;
}
.profileboxhead {
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:14px;
  margin-bottom:14px;
}
.profileboxhead h3 {
  margin:2px 0 0;
  font-size:18px;
}
.smallbutton {
  padding:9px 11px;
  font-size:12px;
}
.timeline {
  display:grid;
  gap:0;
}
.timelineitem {
  display:grid;
  grid-template-columns:18px 1fr;
  gap:8px;
  position:relative;
  padding-bottom:16px;
}
.timelineitem:not(:last-child)::before {
  content:"";
  position:absolute;
  left:5px;
  top:12px;
  bottom:0;
  width:1px;
  background:#dfe6ea;
}
.timelinedot {
  width:11px;
  height:11px;
  border-radius:50%;
  background:#2b537a;
  margin-top:5px;
  position:relative;
  z-index:1;
  box-shadow:0 0 0 4px #edf3f8;
}
.timelinehead {
  display:flex;
  justify-content:space-between;
  gap:12px;
}
.timelinehead span {
  color:#818b93;
  font-size:11px;
}
.timelinebody p {
  margin:4px 0 6px;
  color:#5f6a73;
  font-size:13px;
  line-height:1.45;
}
.timelinemeta {
  display:flex;
  gap:7px;
  flex-wrap:wrap;
}
.timelinemeta span {
  border-radius:999px;
  background:#edf2f5;
  color:#5f6a73;
  padding:4px 7px;
  font-size:10px;
  font-weight:800;
}
.timelineempty {
  color:#7c8790;
  font-size:13px;
  padding:14px 2px;
}
.documentlist {
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:9px;
}
.documentrow {
  display:flex;
  gap:10px;
  border:1px solid #e7ecef;
  border-radius:14px;
  padding:12px;
  background:white;
}
.documenticon {
  font-size:22px;
}
.documentrow strong {
  display:block;
  font-size:13px;
}
.documentrow p {
  margin:3px 0 0;
  color:#75808a;
  font-size:11px;
}
.profilefooter {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
  margin-top:12px;
}
.profilefooter div {
  border:1px solid #e6ebee;
  border-radius:16px;
  padding:14px;
}
.profilefooter strong {
  font-size:12px;
}
.profilefooter p {
  margin:4px 0 0;
  color:#65717a;
  font-size:13px;
  line-height:1.45;
}
.profiledisclaimer {
  margin:14px 2px 0;
  color:#7a858e;
  font-size:10px;
  line-height:1.5;
}
.formfield select {
  width:100%;
  border:1px solid #dce2e5;
  border-radius:11px;
  padding:11px 12px;
  font:inherit;
  background:white;
}

@media (max-width:900px) {
  .toolgrid { grid-template-columns:1fr 1fr; }
  .topbar { align-items:flex-start; flex-direction:column; }
  .profilestats { grid-template-columns:1fr 1fr; }
}
@media (max-width:700px) {
  .profilegrid { grid-template-columns:1fr; }
  .fullprofilebox { grid-column:auto; }
  .documentlist { grid-template-columns:1fr; }
  .profilefooter { grid-template-columns:1fr; }
  .profilehero { flex-direction:column; }
  .topnav { width:100%; overflow:auto; }
}


.searchwrap {
  position: relative;
}
.suggestions {
  position: absolute;
  left: 0;
  right: 126px;
  top: calc(100% + 7px);
  z-index: 50;
  background: rgba(255,255,255,.98);
  border: 1px solid #dce5ea;
  border-radius: 16px;
  box-shadow: 0 22px 55px rgba(18,38,63,.18);
  overflow: hidden;
  backdrop-filter: blur(12px);
}
.suggestions.hidden {
  display: none;
}
.suggestionitem {
  width: 100%;
  border: 0;
  border-bottom: 1px solid #edf1f3;
  background: transparent;
  padding: 13px 15px;
  text-align: left;
  cursor: pointer;
  display: flex;
  justify-content: space-between;
  gap: 18px;
  align-items: center;
}
.suggestionitem:last-child {
  border-bottom: 0;
}
.suggestionitem:hover,
.suggestionitem:focus {
  background: #f3f7fa;
  outline: none;
}
.suggestionmain {
  min-width: 0;
}
.suggestionmain strong {
  display: block;
  font-size: 14px;
  color: #17212b;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}
.suggestionmain > span {
  display: block;
  margin-top: 3px;
  font-size: 11px;
  color: #74808a;
}
.suggestionmeta {
  display: flex;
  gap: 6px;
  align-items: center;
  flex-wrap: wrap;
  justify-content: flex-end;
}
.suggestionmeta > span {
  font-size: 10px;
  border-radius: 999px;
  background: #eef2f5;
  color: #596670;
  padding: 5px 7px;
  font-weight: 750;
}
.companyflag.okflag {
  background: #e8f7ed !important;
  color: #19783b !important;
}
.companyflag.danger {
  background: #fff0f0 !important;
  color: #942f2f !important;
}
.suggestionempty {
  padding: 16px;
}
.suggestionempty strong,
.suggestionempty span {
  display: block;
}
.suggestionempty span {
  color: #75808a;
  font-size: 12px;
  margin-top: 4px;
}
@media (max-width:700px) {
  .suggestions {
    right: 0;
    top: calc(100% + 6px);
  }
}


/* Insurance chooser */
.insurancepanel {
  margin-top: 18px;
  border: 1px solid #e0e8ed;
  border-radius: 20px;
  padding: 18px;
  background: linear-gradient(135deg, rgba(246,250,252,.98) 0%, rgba(239,245,248,.98) 100%);
}
.insurancehead {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 16px;
  margin-bottom: 13px;
}
.insurancehead h3 {
  margin: 2px 0 0;
  font-size: 20px;
  letter-spacing: -.025em;
}
.insuranceobject {
  margin: 5px 0 0;
  color: #6d7880;
  font-size: 12px;
}
.neutralbadge {
  background: #e9eef2;
  color: #52606c;
  border-radius: 999px;
  padding: 7px 9px;
  font-size: 10px;
  font-weight: 850;
  white-space: nowrap;
}
.insurancegrid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 9px;
}
.insurancecard {
  text-decoration: none;
  color: inherit;
  background: white;
  border: 1px solid #e1e7eb;
  border-radius: 16px;
  padding: 15px;
  min-height: 126px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  transition: transform .14s ease, box-shadow .14s ease;
}
.insurancecard:hover {
  transform: translateY(-2px);
  box-shadow: 0 13px 28px rgba(20,44,70,.09);
}
.insurancelogo {
  font-size: 17px;
  font-weight: 900;
  letter-spacing: -.025em;
}
.insurancecard > span {
  color: #6b7780;
  font-size: 12px;
  margin: 8px 0 12px;
}
.insurancecard > strong {
  font-size: 12px;
  color: #24496b;
}
.insurancelegal {
  color: #7a858d;
  font-size: 10px;
  line-height: 1.45;
  margin: 11px 2px 0;
}

/* Dealer pilot */
.dealersection {
  margin-top: 32px;
}
.dealerflow {
  display: grid;
  grid-template-columns: 1fr auto 1fr auto 1fr auto 1fr;
  align-items: stretch;
  gap: 9px;
}
.dealerstep {
  border: 1px solid rgba(223,231,236,.95);
  background: rgba(255,255,255,.86);
  border-radius: 18px;
  padding: 16px;
  display: flex;
  gap: 11px;
  box-shadow: 0 12px 30px rgba(18,43,70,.055);
}
.stepno {
  width: 30px;
  height: 30px;
  min-width: 30px;
  display: grid;
  place-items: center;
  border-radius: 10px;
  background: linear-gradient(135deg, #0f1c2c 0%, #2b537a 100%);
  color: white;
  font-weight: 900;
  font-size: 12px;
}
.dealerstep strong {
  display: block;
  font-size: 13px;
}
.dealerstep p {
  margin: 4px 0 0;
  color: #6e7982;
  font-size: 11px;
  line-height: 1.4;
}
.dealerarrow {
  display: grid;
  place-items: center;
  color: #82909b;
  font-weight: 900;
}
.pilotbox {
  margin-top: 11px;
  border: 1px solid #dce5ea;
  border-radius: 17px;
  padding: 14px 16px;
  background: rgba(246,249,251,.86);
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 18px;
}
.pilotbox strong {
  font-size: 13px;
}
.pilotbox p {
  margin: 3px 0 0;
  color: #6f7a83;
  font-size: 11px;
}
.pilotbadge {
  border-radius: 999px;
  background: #e8f7ed;
  color: #19783b;
  padding: 7px 9px;
  font-size: 10px;
  font-weight: 900;
  white-space: nowrap;
}
@media (max-width: 900px) {
  .dealerflow {
    grid-template-columns: 1fr;
  }
  .dealerarrow {
    transform: rotate(90deg);
    height: 14px;
  }
}
@media (max-width: 700px) {
  .insurancegrid {
    grid-template-columns: 1fr;
  }
  .pilotbox {
    align-items: flex-start;
    flex-direction: column;
  }
}


/* 5 kr / 20 kr rapportvalg */
.reportplans {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
  margin-top: 18px;
}
.reportplan {
  border: 1px solid #e1e8ec;
  border-radius: 19px;
  padding: 17px;
  background: rgba(255,255,255,.92);
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 16px;
}
.reportplan.featured {
  border-color: #bfd1df;
  background: linear-gradient(145deg, #ffffff 0%, #f1f6fa 100%);
  box-shadow: 0 14px 30px rgba(24,56,84,.08);
}
.planbadge {
  display: inline-block;
  font-size: 9px;
  font-weight: 900;
  letter-spacing: .09em;
  border-radius: 999px;
  background: #e9eef2;
  color: #56636e;
  padding: 5px 7px;
  margin-bottom: 8px;
}
.reportplan > div > strong {
  display: block;
  font-size: 18px;
}
.reportplan p {
  color: #6d7881;
  font-size: 12px;
  margin: 5px 0 9px;
}
.reportplan ul {
  margin: 0;
  padding-left: 18px;
  color: #59656e;
  font-size: 12px;
  line-height: 1.65;
}
.reportbuy {
  border: 0;
  border-radius: 14px;
  padding: 13px 15px;
  background: linear-gradient(135deg, #0f1c2c 0%, #2b537a 100%);
  color: white;
  font-weight: 850;
  cursor: pointer;
  box-shadow: 0 10px 22px rgba(18,43,70,.14);
}
.reportbuy:disabled {
  opacity: .65;
  cursor: default;
}
.printreportbox {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  align-items: center;
  margin-top: 14px;
  border: 1px solid #dbe6ec;
  border-radius: 16px;
  padding: 14px;
  background: #f7fafb;
}
.printreportbox strong,
.printreportbox span {
  display: block;
}
.printreportbox span {
  color: #71808a;
  font-size: 11px;
  margin-top: 3px;
}
#printCurrentReport {
  border: 0;
  border-radius: 13px;
  padding: 12px 14px;
  background: #17212b;
  color: white;
  font-weight: 850;
  cursor: pointer;
  white-space: nowrap;
}
@media (max-width:700px) {
  .reportplans { grid-template-columns: 1fr; }
  .printreportbox { flex-direction: column; align-items: stretch; }
}


.apistatus {
  margin-top: 32px;
}
.apistatusgrid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 10px;
}
.apistatuscard {
  display: flex;
  gap: 10px;
  align-items: center;
  border: 1px solid #e0e7eb;
  border-radius: 16px;
  padding: 14px;
  background: rgba(255,255,255,.82);
  box-shadow: 0 10px 24px rgba(18,43,70,.05);
}
.apistatuscard strong,
.apistatuscard span {
  display: block;
}
.apistatuscard strong {
  font-size: 13px;
}
.apistatuscard div > span {
  color: #74808a;
  font-size: 11px;
  margin-top: 3px;
}
.apidot {
  width: 11px;
  height: 11px;
  min-width: 11px;
  border-radius: 50%;
  box-shadow: 0 0 0 4px rgba(0,0,0,.035);
}
.apidot.connected {
  background: #25a85a;
}
.apidot.planned {
  background: #d6a32d;
}
.apistatusloading {
  grid-column: 1 / -1;
  border: 1px dashed #ccd7de;
  border-radius: 15px;
  padding: 15px;
  color: #74808a;
  font-size: 12px;
}
@media (max-width: 820px) {
  .apistatusgrid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 560px) {
  .apistatusgrid { grid-template-columns: 1fr; }
}


.sitefooter {
  width: min(1080px, calc(100% - 32px));
  margin: 0 auto 36px;
  padding: 18px 20px;
  border: 1px solid rgba(220,228,234,.9);
  border-radius: 20px;
  background: rgba(255,255,255,.72);
  backdrop-filter: blur(10px);
  display: flex;
  justify-content: space-between;
  gap: 18px;
  align-items: center;
  position: relative;
  z-index: 2;
}
.sitefooter strong,
.sitefooter span { display:block; }
.sitefooter span { color:#72808a; font-size:11px; margin-top:3px; }
.sitefooter nav { display:flex; gap:6px; flex-wrap:wrap; }
.sitefooter button {
  border:0;
  background:transparent;
  color:#53616d;
  font-weight:750;
  cursor:pointer;
  padding:8px 9px;
  border-radius:10px;
}
.sitefooter button:hover { background:#eef3f6; }
.infomodalcard { width:min(650px,100%); }
.infomodalcard p { color:#5f6c76; line-height:1.6; }
@media(max-width:700px){
  .sitefooter { flex-direction:column; align-items:flex-start; }
}


.companyextragrid {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
  margin-top:16px;
}
.companyextracard {
  border:1px solid #e3e9ed;
  background:#fbfcfd;
  border-radius:17px;
  padding:15px;
}
.companyextracard h3 {
  margin:3px 0 11px;
  font-size:16px;
}
.companyextracard p {
  margin:6px 0;
  color:#68747d;
  font-size:12px;
  line-height:1.5;
}
.companyrole {
  display:flex;
  justify-content:space-between;
  gap:14px;
  border-top:1px solid #edf0f2;
  padding:8px 0;
}
.companyrole strong {
  font-size:12px;
}
.companyrole span {
  color:#75808a;
  font-size:11px;
  text-align:right;
}
.fullcompanyextra {
  grid-column:1 / -1;
}
@media(max-width:700px){
  .companyextragrid { grid-template-columns:1fr; }
  .fullcompanyextra { grid-column:auto; }
}


.launchstate {
  width: min(1080px, calc(100% - 32px));
  margin: 18px auto 0;
  border: 1px solid #ead9a5;
  background: #fff9e8;
  color: #725a14;
  border-radius: 14px;
  padding: 11px 14px;
  font-size: 12px;
  font-weight: 750;
}
.paymentdisabled {
  opacity: .55;
  cursor: not-allowed !important;
}


.previewreport {
  margin-bottom: 12px;
}

.lockedreport {
  display: flex;
  gap: 14px;
  align-items: flex-start;
  margin-top: 14px;
  border: 1px dashed #cdd7de;
  border-radius: 18px;
  padding: 16px;
  background: rgba(247,250,252,.92);
}

.lockedreport h3 {
  margin: 3px 0 5px;
  font-size: 17px;
}

.lockedreport p {
  margin: 0 0 8px;
  color: #687680;
  font-size: 12px;
}

.lockedreport ul {
  margin: 8px 0 0;
  padding-left: 18px;
  color: #58656f;
  font-size: 12px;
  line-height: 1.6;
}

.lockedicon {
  width: 38px;
  height: 38px;
  min-width: 38px;
  display: grid;
  place-items: center;
  border-radius: 12px;
  background: #eaf0f4;
  font-size: 17px;
}

.seodiscover{margin-top:32px}.seolinks{display:grid;grid-template-columns:repeat(5,1fr);gap:10px}
.seolinks a{text-decoration:none;color:inherit;background:rgba(255,255,255,.86);border:1px solid #dfe7eb;border-radius:17px;padding:15px;transition:transform .14s ease,box-shadow .14s ease}
.seolinks a:hover{transform:translateY(-2px);box-shadow:0 12px 28px rgba(18,43,70,.07)}
.seolinks strong,.seolinks span{display:block}.seolinks strong{font-size:14px}.seolinks span{font-size:11px;color:#6d7982;margin-top:5px;line-height:1.45}
@media(max-width:850px){.seolinks{grid-template-columns:1fr 1fr}}@media(max-width:520px){.seolinks{grid-template-columns:1fr}}


.brandline img {
  width: 190px;
  max-width: 52vw;
  height: auto;
  display: block;
}

.documentref {
  display:flex;
  justify-content:space-between;
  gap:12px;
  align-items:center;
  border:1px solid #e1e8ec;
  background:#f7fafb;
  border-radius:13px;
  padding:10px 12px;
  margin:10px 0 18px;
  font-size:11px;
  color:#67747d;
}

.documentref strong {
  color:#17212b;
  font-size:12px;
  letter-spacing:.03em;
}

.brandtoolhead {
  display:flex;
  gap:12px;
  align-items:center;
  margin-bottom:12px;
}

.brandtoolhead img {
  width:185px;
  height:auto;
}

.brandtoolhead .paybadge {
  margin-left:auto;
}

@media(max-width:620px) {
  .brandtoolhead { align-items:flex-start; flex-direction:column; }
  .brandtoolhead .paybadge { margin-left:0; }
}


/* LOCKED NORGESSJEKK BRAND 0.60 */
:root {
  --ns-navy: #08275E;
  --ns-navy-dark: #061F4F;
  --ns-red: #C91334;
  --ns-red-dark: #A90C29;
  --ns-bg: #F6F8FA;
  --ns-text: #17212B;
}

body {
  color: var(--ns-text);
}

.brandline img {
  width: 230px;
  max-width: 62vw;
}

button.primary,
.reportbuy,
#searchButton,
#printCurrentReport {
  background: linear-gradient(135deg, var(--ns-navy-dark), var(--ns-navy));
}

.reportplan.featured {
  border-color: rgba(8,39,94,.28);
}

.planbadge,
.paybadge {
  color: var(--ns-navy);
}

.stepno {
  background: linear-gradient(135deg, var(--ns-navy-dark), var(--ns-navy));
}

.seolinks a:hover,
.insurancecard:hover {
  border-color: rgba(201,19,52,.22);
}

.lockedicon {
  background: rgba(8,39,94,.08);
}

a:focus-visible,
button:focus-visible,
input:focus-visible {
  outline: 3px solid rgba(201,19,52,.28);
  outline-offset: 2px;
}


.previewbanner {
  width:100%;
  display:flex;
  justify-content:center;
  align-items:center;
  gap:10px;
  padding:8px 14px;
  background:#FFF7E6;
  border-bottom:1px solid #F2D9A5;
  color:#6D4A12;
  font-size:12px;
  line-height:1.35;
  position:relative;
  z-index:30;
}
.previewbanner strong {
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.06em;
  font-size:10px;
}
.previewbanner.hidden { display:none; }
@media(max-width:620px){
  .previewbanner { align-items:flex-start; flex-direction:column; gap:2px; }
}


/* PROFESSIONAL WEB PASS 0.90 */
:root {
  --ns-navy: #08275E;
  --ns-navy-dark: #061F4F;
  --ns-red: #C91334;
  --ns-ink: #17212B;
  --ns-muted: #66727D;
  --ns-line: #DDE5EA;
  --ns-surface: rgba(255,255,255,.94);
}

body {
  background:
    radial-gradient(circle at 10% -5%, rgba(102,153,255,.20), transparent 32%),
    radial-gradient(circle at 94% 12%, rgba(105,220,200,.18), transparent 28%),
    linear-gradient(180deg,#F7FAFC 0%,#EEF4F7 100%);
}

.shell,
main {
  width: min(1120px, calc(100% - 36px));
  margin-inline: auto;
}

.brandline {
  display:flex;
  align-items:center;
  min-height:58px;
}

.brandline img {
  width: 250px;
  max-width: 68vw;
  height:auto;
}

.topnav {
  border:1px solid rgba(8,39,94,.08);
  background:rgba(255,255,255,.82);
  box-shadow:0 8px 30px rgba(27,48,71,.05);
  backdrop-filter:blur(12px);
}

.hero h1 {
  max-width: 830px;
  font-size: clamp(46px, 7vw, 82px);
  line-height:.94;
  letter-spacing:-.065em;
  margin-top:18px;
  margin-bottom:18px;
}

.hero h1 span {
  color:#8B96A0;
}

.hero > p,
.hero .lead {
  max-width: 790px;
  font-size: 17px;
  line-height:1.58;
  color:#56636E;
}

.searchcard,
.searchbox,
.lookupbox {
  border:1px solid rgba(8,39,94,.09);
  background:var(--ns-surface);
  box-shadow:
    0 24px 60px rgba(29,53,78,.10),
    0 2px 8px rgba(29,53,78,.04);
  border-radius:22px;
}

.typebar,
.types {
  gap:7px;
}

.type,
.typebutton {
  border-radius:12px;
  min-height:46px;
  font-weight:800;
}

.type.active,
.typebutton.active {
  background:linear-gradient(135deg,var(--ns-navy-dark),var(--ns-navy));
  box-shadow:0 7px 18px rgba(8,39,94,.17);
}

.searchrow input,
#query {
  min-height:56px;
  border-radius:14px;
  border:1px solid #D9E2E8;
  background:#fff;
  font-size:18px;
  font-weight:700;
  padding-inline:18px;
  box-shadow:inset 0 1px 2px rgba(16,38,60,.02);
}

.searchrow input:focus,
#query:focus {
  border-color:rgba(8,39,94,.40);
  box-shadow:0 0 0 4px rgba(8,39,94,.08);
}

#searchButton,
button.primary {
  min-height:56px;
  border-radius:14px;
  font-weight:900;
  padding-inline:24px;
  box-shadow:0 10px 24px rgba(8,39,94,.18);
}

.seodiscover,
#dealerSection,
#documentTools {
  margin-top:52px;
}

.sectionhead h2 {
  letter-spacing:-.035em;
  font-size:clamp(26px,4vw,38px);
}

.sectionhead p {
  max-width:760px;
  color:#66727D;
  line-height:1.55;
}

.seolinks {
  grid-template-columns:repeat(5,1fr);
  gap:12px;
}

.seolinks a,
.dealerstep,
.toolcard,
.documentcard {
  background:rgba(255,255,255,.90);
  border:1px solid rgba(8,39,94,.08);
  box-shadow:0 8px 24px rgba(27,48,71,.04);
}

.seolinks a {
  min-height:94px;
  padding:17px;
}

.seolinks a strong {
  font-size:14px;
  color:#15283A;
}

.dealersteps {
  gap:12px;
}

.dealerstep {
  border-radius:17px;
  padding:16px;
}

.toolgrid,
.documentgrid {
  gap:14px;
}

.toolcard,
.documentcard {
  border-radius:18px;
  min-height:128px;
}

footer,
.sitefooter {
  margin-top:72px;
  margin-bottom:28px;
  border:1px solid rgba(8,39,94,.07);
  background:rgba(255,255,255,.80);
  box-shadow:0 8px 24px rgba(27,48,71,.03);
}

.previewbanner {
  display:none !important;
}

/* Remove any left-over public development markers */
.versionbadge,
.buildbadge,
.candidatebadge,
.pilotbadge {
  display:none !important;
}

@media(max-width:900px) {
  .seolinks { grid-template-columns:1fr 1fr; }
  .brandline img { width:220px; }
}

@media(max-width:620px) {
  .shell, main { width:min(100% - 22px,1120px); }
  .brandline img { width:195px; }
  .hero h1 { font-size:46px; }
  .hero > p,.hero .lead { font-size:15px; }
  .seolinks { grid-template-columns:1fr; }
  .searchrow,#searchForm .searchrow { gap:8px; }
  #searchButton { width:100%; }
}


/* SOFT BUTTON PASS 0.91 */
.topnav button,
.type,
#searchForm button[type="submit"],
.primarywide,
.secondarywide,
.toolcard,
.seolinks a {
  transition: transform .14s ease, box-shadow .18s ease, border-color .18s ease, background .18s ease;
}

.topnav button {
  border-radius: 14px;
  border: 1px solid rgba(8,39,94,.10);
  background: rgba(255,255,255,.92);
  box-shadow: 0 8px 20px rgba(27,48,71,.05);
  font-weight: 800;
}

.topnav button:hover,
.topnav button:focus-visible {
  transform: translateY(-1px);
  border-color: rgba(8,39,94,.24);
  box-shadow: 0 12px 28px rgba(27,48,71,.09);
}

.type {
  border-radius: 16px;
  border: 1px solid rgba(8,39,94,.10);
  background: rgba(255,255,255,.96);
  box-shadow: 0 10px 24px rgba(27,48,71,.05);
  color: #17314A;
}

.type:hover,
.type:focus-visible {
  transform: translateY(-1px);
  border-color: rgba(8,39,94,.24);
  box-shadow: 0 14px 30px rgba(27,48,71,.08);
}

.type.active {
  color: #fff;
  background: linear-gradient(135deg, #0A2A63, #244D94);
  border-color: transparent;
  box-shadow: 0 16px 34px rgba(8,39,94,.22);
}

#searchForm button[type="submit"],
.primarywide {
  border-radius: 16px;
  background: linear-gradient(135deg, #0A2A63, #2854A1);
  color: #fff;
  border: none;
  box-shadow: 0 18px 36px rgba(8,39,94,.22);
  font-weight: 900;
}

#searchForm button[type="submit"]:hover,
#searchForm button[type="submit"]:focus-visible,
.primarywide:hover,
.primarywide:focus-visible {
  transform: translateY(-1px);
  box-shadow: 0 22px 42px rgba(8,39,94,.26);
}

.secondarywide {
  border-radius: 16px;
  border: 1px solid rgba(8,39,94,.14);
  background: rgba(255,255,255,.96);
  color: #17314A;
  box-shadow: 0 12px 26px rgba(27,48,71,.05);
  font-weight: 800;
}

.secondarywide:hover,
.secondarywide:focus-visible {
  transform: translateY(-1px);
  border-color: rgba(8,39,94,.24);
  box-shadow: 0 16px 32px rgba(27,48,71,.08);
}

.toolcard,
.seolinks a {
  border-radius: 20px;
}

.toolcard:hover,
.toolcard:focus-visible,
.seolinks a:hover,
.seolinks a:focus-visible {
  transform: translateY(-2px);
  border-color: rgba(8,39,94,.18);
  box-shadow: 0 18px 36px rgba(27,48,71,.09);
}

.billingnotice {
  margin-top: 14px;
  padding: 16px 18px;
  border-radius: 18px;
  border: 1px solid rgba(8,39,94,.10);
  background: linear-gradient(180deg, rgba(255,255,255,.96), rgba(245,248,252,.98));
  box-shadow: 0 12px 28px rgba(27,48,71,.05);
  display: grid;
  gap: 6px;
}

.billingnotice strong {
  color: #08275E;
  font-size: 15px;
}

.billingnotice span {
  color: #5C6974;
  line-height: 1.5;
}

#hint {
  color: #60707B;
}

.payfacts div {
  border-radius: 14px;
  background: rgba(255,255,255,.92);
  box-shadow: 0 8px 20px rgba(27,48,71,.04);
}

@media (max-width: 620px) {
  .billingnotice {
    padding: 14px;
  }
}


/* SOFT BUTTONS + COMPANY + INSURANCE 1.00 */
.types {
  gap: 10px;
}
.type {
  min-height: 48px;
  border-radius: 14px;
  border: 1px solid rgba(8,39,94,.10);
  background: linear-gradient(180deg, rgba(255,255,255,.95), rgba(244,247,250,.96));
  box-shadow: 0 6px 18px rgba(19,43,69,.05);
  transition: transform .14s ease, box-shadow .14s ease, background .14s ease, border-color .14s ease;
}
.type:hover {
  transform: translateY(-1px);
  box-shadow: 0 10px 22px rgba(19,43,69,.09);
  border-color: rgba(8,39,94,.18);
}
.type.active {
  background: linear-gradient(135deg, #0b2d66 0%, #16468f 100%);
  box-shadow: 0 12px 24px rgba(8,39,94,.18);
}
#searchForm .row button[type="submit"],
#searchButton,
button.primary,
.primarywide,
.reportbuy {
  border-radius: 16px;
  border: 1px solid rgba(8,39,94,.12);
  background: linear-gradient(135deg, #113778 0%, #1b4e99 100%);
  box-shadow: 0 12px 24px rgba(17,55,120,.16);
  transition: transform .14s ease, box-shadow .14s ease, filter .14s ease;
}
#searchForm .row button[type="submit"]:hover,
#searchButton:hover,
button.primary:hover,
.primarywide:hover,
.reportbuy:hover {
  transform: translateY(-1px);
  box-shadow: 0 16px 28px rgba(17,55,120,.22);
  filter: brightness(1.02);
}
.secondarywide {
  border-radius: 14px;
  background: rgba(255,255,255,.92);
  border: 1px solid rgba(8,39,94,.11);
  box-shadow: 0 6px 18px rgba(19,43,69,.05);
}
.billingnotice {
  margin-top: 14px;
  padding: 14px 16px;
  border-radius: 16px;
  border: 1px solid rgba(18,67,127,.10);
  background: linear-gradient(180deg, rgba(243,248,255,.92), rgba(237,244,252,.96));
  box-shadow: inset 0 1px 0 rgba(255,255,255,.7);
}
.billingnotice strong {
  display: block;
  color: #0f356f;
  margin-bottom: 4px;
}
.billingnotice span {
  color: #4f5f6d;
  line-height: 1.45;
}
.searchbox,
.result,
.insurancepanel,
.toolcard,
.seolinks a,
.dealerstep {
  border-color: rgba(8,39,94,.08);
}
#searchForm input,
#query {
  border-radius: 14px;
  min-height: 58px;
}
#searchForm .row button[type="submit"] {
  min-width: 150px;
  min-height: 58px;
  font-weight: 900;
}
.suggestions {
  border: 1px solid rgba(8,39,94,.10);
  border-radius: 16px;
  box-shadow: 0 20px 44px rgba(21,44,67,.12);
  background: rgba(255,255,255,.98);
  overflow: hidden;
}
.suggestionheader {
  padding: 10px 14px;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .05em;
  color: #5a6773;
  text-transform: uppercase;
  background: rgba(246,249,252,.96);
  border-bottom: 1px solid rgba(8,39,94,.07);
}
.suggestionitem {
  background: white;
}
.suggestionitem:hover {
  background: rgba(244,248,252,.92);
}
.lockedreport {
  background: linear-gradient(180deg, rgba(250,251,253,.98), rgba(246,248,251,.98));
  border-radius: 18px;
}
.reportplans {
  gap: 12px;
}
.reportplan {
  border-radius: 18px;
  background: rgba(255,255,255,.95);
  border: 1px solid rgba(8,39,94,.08);
  box-shadow: 0 8px 20px rgba(19,43,69,.04);
}
.reportbuy {
  min-height: 48px;
  font-weight: 900;
}
.paymentnote {
  background: rgba(243,248,255,.92);
  border: 1px solid rgba(18,67,127,.10);
  border-radius: 14px;
  padding: 12px 14px;
  color: #4f6070;
}
.insurancegrid {
  gap: 12px;
}
.insurancecard {
  border-radius: 18px;
  min-height: 152px;
  padding: 16px;
  box-shadow: 0 8px 22px rgba(20,44,70,.05);
}
.insurancecard:hover {
  transform: translateY(-2px);
  box-shadow: 0 16px 30px rgba(20,44,70,.11);
}
.insurancelogo {
  display: inline-flex;
  flex-direction: column;
  justify-content: center;
  gap: 3px;
  min-height: 56px;
  width: fit-content;
  padding: 10px 14px;
  border-radius: 14px;
  border: 1px solid rgba(8,39,94,.08);
  background: linear-gradient(180deg, #ffffff, #f6f8fb);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.8);
}
.insurancelogo .logomain {
  display: block;
  font-size: 19px;
  font-weight: 900;
  line-height: 1;
  letter-spacing: -.03em;
}
.insurancelogo .logosub {
  display: block;
  font-size: 11px;
  font-weight: 800;
  color: #697786;
}
.insurancelogo.brand-if .logomain {
  color: #d21b3d;
  text-transform: lowercase;
  font-size: 27px;
}
.insurancelogo.brand-gjensidige .logomain {
  color: #154f9a;
  font-size: 16px;
}
.insurancelogo.brand-sparebank1 .logomain {
  color: #d72135;
  font-size: 15px;
}
.insurancecard > strong {
  font-size: 13px;
}
.trust {
  margin-top: 16px;
}
.trust > div {
  border: 1px solid rgba(8,39,94,.08);
  background: rgba(255,255,255,.72);
  border-radius: 16px;
}
@media (max-width: 820px) {
  #searchForm .row button[type="submit"] {
    min-width: 132px;
  }
}


/* SIMPLE PROFESSIONAL HOME 1.0.2 */
.simplehero {
  padding-top: 22px;
}
.herocopy {
  padding: 46px 0 26px;
}
.herocopy h1 {
  margin: 0;
  max-width: 760px;
  font-size: clamp(48px, 7vw, 78px);
  line-height: .96;
  letter-spacing: -.06em;
  color: #10263f;
}
.herocopy p {
  max-width: 700px;
  margin: 16px 0 0;
  font-size: 18px;
  line-height: 1.5;
  color: #677481;
}
.searchboxsimple {
  padding: 18px;
  border-radius: 22px;
}
.searchboxsimple .types {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  margin-bottom: 16px;
}
.searchboxsimple .type {
  min-height: 52px;
  font-size: 15px;
  font-weight: 900;
}
.searchboxsimple label {
  display: block;
  margin: 0 0 7px 3px;
  color: #33485d;
  font-size: 13px;
  font-weight: 900;
}
.searchboxsimple .row {
  gap: 10px;
}
.searchboxsimple #query {
  min-height: 62px;
  font-size: 17px;
  padding-inline: 18px;
}
.searchboxsimple button[type="submit"] {
  min-width: 160px;
  min-height: 62px;
  border-radius: 16px;
  font-size: 15px;
}
.searchboxsimple #hint {
  margin: 8px 3px 0;
  font-size: 12px;
  color: #7b8792;
}
.billingcompact {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-top: 14px;
  padding: 12px 14px;
}
.billingcompact strong {
  white-space: nowrap;
  margin: 0;
  font-size: 13px;
}
.billingcompact span {
  font-size: 12px;
}
.quickfacts {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 10px;
  margin-top: 14px;
}
.quickfacts > div {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 13px 14px;
  border: 1px solid rgba(8,39,94,.07);
  border-radius: 15px;
  background: rgba(255,255,255,.70);
}
.quickfacts strong {
  display: grid;
  place-items: center;
  width: 27px;
  height: 27px;
  border-radius: 999px;
  background: #edf3fa;
  color: #163f7d;
  font-size: 12px;
}
.quickfacts span {
  font-size: 13px;
  font-weight: 800;
  color: #40505f;
}
.compactsection {
  margin-top: 42px;
}
.compacthead {
  margin-bottom: 14px;
}
.compacthead h2 {
  margin: 2px 0 0;
  font-size: 28px;
}
.compacthead p {
  margin: 6px 0 0;
  font-size: 13px;
}
.documenttools .toolgrid {
  grid-template-columns: repeat(4,1fr);
}
.documenttools .toolcard {
  min-height: 100px;
  padding: 15px;
  align-items: flex-start;
}
.documenttools .toolicon {
  display: inline-block;
  width: auto;
  height: auto;
  margin-bottom: 8px;
  padding: 5px 8px;
  border-radius: 9px;
  background: #eff4f8;
  color: #3f5365;
  font-size: 11px;
  font-weight: 900;
}
.documenttools .toolcard > span:last-child {
  display: none;
}
.insurancehomegrid {
  display: grid;
  grid-template-columns: repeat(3,1fr);
  gap: 12px;
}
.insurancehomecard {
  min-height: 138px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding: 18px;
  text-decoration: none;
  color: #17212b;
  border: 1px solid rgba(8,39,94,.08);
  border-radius: 18px;
  background: rgba(255,255,255,.92);
  box-shadow: 0 8px 24px rgba(19,43,69,.05);
  transition: transform .14s ease, box-shadow .14s ease;
}
.insurancehomecard:hover {
  transform: translateY(-2px);
  box-shadow: 0 15px 30px rgba(19,43,69,.10);
}
.insurancehomecard .brandword {
  font-weight: 950;
  line-height: 1;
  letter-spacing: -.04em;
}
.insurancehomecard small {
  color: #73808b;
  font-weight: 700;
}
.insurancehomecard strong {
  color: #24496b;
  font-size: 12px;
}
.insurancehomecard.brand-if .brandword {
  color: #c91334;
  font-size: 34px;
  text-transform: lowercase;
}
.insurancehomecard.brand-gjensidige .brandword {
  color: #15549c;
  font-size: 25px;
}
.insurancehomecard.brand-sparebank1 .brandword {
  color: #d01f36;
  font-size: 24px;
}
.dealercompact {
  display: flex;
  align-items: center;
  min-height: 120px;
  padding: 20px;
  border: 1px solid rgba(8,39,94,.08);
  border-radius: 18px;
  background: rgba(255,255,255,.70);
}
.dealercompact h2 {
  margin: 4px 0;
  font-size: 22px;
}
.dealercompact p {
  margin: 0;
  color: #6a7782;
}
.foundsimple {
  margin-bottom: 12px;
}
.compactreport {
  margin: 10px 0;
}
.simplereportplans {
  margin-top: 12px;
}
.simplereportplans .reportplan {
  min-height: 155px;
}
.simplereportplans .reportplan strong {
  font-size: 25px;
}
.simplereportplans .reportplan p {
  font-size: 12px;
  color: #6f7c87;
}
.simplereportplans .dynamic-plan-list {
  display: none;
}
#companySuggestions {
  display: none !important;
}
@media(max-width:760px) {
  .herocopy {
    padding-top: 28px;
  }
  .herocopy h1 {
    font-size: 48px;
  }
  .searchboxsimple .types {
    grid-template-columns: repeat(2,1fr);
  }
  .searchboxsimple .row {
    display: grid;
    grid-template-columns: 1fr;
  }
  .searchboxsimple button[type="submit"] {
    width: 100%;
  }
  .billingcompact {
    display: block;
  }
  .billingcompact strong {
    display: block;
    margin-bottom: 4px;
  }
  .quickfacts {
    grid-template-columns: 1fr;
  }
  .documenttools .toolgrid {
    grid-template-columns: repeat(2,1fr);
  }
  .insurancehomegrid {
    grid-template-columns: 1fr;
  }
}


/* PLATFORM 1.03 CLEANUP */
.searchboxsimple .type {
  position: relative;
  cursor: pointer;
  color: #405368;
  background: linear-gradient(180deg,#ffffff 0%,#f3f6f9 100%);
}
.searchboxsimple .type.active {
  color: #fff;
  background: linear-gradient(135deg,#0b2e68 0%,#1c58a7 100%);
  border-color: transparent;
}
.searchboxsimple #searchLabel {
  font-size: 14px;
  color: #132d4d;
}
.insurancehomegrid {
  align-items: stretch;
}
.insurancehomecard {
  min-height: 148px;
  justify-content: space-between;
  gap: 16px;
}
.insurancebrandimg {
  display: block;
  width: 100%;
  max-width: 280px;
  height: 72px;
  object-fit: contain;
  object-position: left center;
}
.insurancehomecard > strong {
  display: inline-flex;
  align-items: center;
  min-height: 38px;
  width: fit-content;
  padding: 0 13px;
  border-radius: 11px;
  background: #edf4fb;
  color: #17477e;
  font-size: 12px;
}
.compactlegal {
  margin-top: 10px;
  font-size: 10px;
  color: #7b8790;
}
.documentactions {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  margin-top: 18px;
}
.documentactions .primarywide,
.documentactions .secondarywide {
  min-height: 50px;
  margin: 0;
}
.emailtool {
  font-weight: 850;
  color: #173d69;
  background: linear-gradient(180deg,#fff,#f3f7fb);
}
.sitefooter {
  display: grid;
  grid-template-columns: 1fr auto auto;
  align-items: center;
  gap: 18px;
}
.footerbrand {
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.footerstatus {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 8px 11px;
  border: 1px solid rgba(8,39,94,.08);
  border-radius: 999px;
  background: rgba(244,248,251,.88);
  color: #697681;
  font-size: 10px;
  white-space: nowrap;
}
.footerstatus strong {
  color: #223b55;
  font-size: 10px;
}
.footerdot {
  color: #a6b0b8;
}
@media(max-width:780px) {
  .sitefooter {
    grid-template-columns: 1fr;
    justify-items: start;
  }
  .documentactions {
    grid-template-columns: 1fr;
  }
  .insurancebrandimg {
    max-width: 240px;
  }
}


/* 1.04 COMBINED MOBILE PAYMENT PROMO */
.searchboxsimple {
  position: relative;
  overflow: visible;
  padding-top: 26px;
}

.mobilepay-bubble {
  position: absolute;
  z-index: 4;
  top: -118px;
  right: 18px;
  width: 188px;
  min-height: 188px;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 5px;
  padding: 22px 18px;
  text-align: center;
  border: 2px solid rgba(159, 92, 10, .18);
  border-radius: 50%;
  background:
    radial-gradient(circle at 30% 22%, rgba(255,255,255,.88), transparent 24%),
    linear-gradient(145deg, #FFF4BF 0%, #FFE690 48%, #FFD36B 100%);
  box-shadow:
    0 18px 42px rgba(110, 74, 18, .16),
    inset 0 1px 0 rgba(255,255,255,.85);
  transform: rotate(2deg);
}

.mobilepay-bubble::after {
  content: "";
  position: absolute;
  inset: 7px;
  border: 1px dashed rgba(135, 82, 10, .28);
  border-radius: 50%;
  pointer-events: none;
}

.mobilepay-bubble > * {
  position: relative;
  z-index: 1;
}

.mobilepay-kicker {
  color: #8A5608;
  font-size: 10px;
  line-height: 1;
  font-weight: 950;
  letter-spacing: .12em;
}

.mobilepay-bubble strong {
  max-width: 145px;
  color: #172A40;
  font-size: 20px;
  line-height: 1.06;
  letter-spacing: -.035em;
}

.mobilepay-bubble > span:not(.mobilepay-kicker) {
  max-width: 146px;
  color: #4E4B3D;
  font-size: 11px;
  line-height: 1.32;
  font-weight: 750;
}

.mobilepay-bubble small {
  margin-top: 3px;
  padding: 5px 9px;
  border-radius: 999px;
  background: rgba(255,255,255,.58);
  color: #7B4C08;
  font-size: 9px;
  font-weight: 900;
}

.payment-reassurance {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 15px;
  margin-top: 13px;
  padding: 10px 3px 0;
  border-top: 1px solid rgba(8,39,94,.07);
  color: #61707D;
  font-size: 11px;
  font-weight: 800;
}

.payment-reassurance span {
  white-space: nowrap;
}

/* Insurance cards: cleaner, equal and visibly branded */
.insurancehomegrid {
  gap: 15px;
}

.insurancehomecard {
  position: relative;
  min-height: 158px;
  padding: 18px 18px 16px;
  border-radius: 20px;
  border: 1px solid rgba(8,39,94,.09);
  background:
    linear-gradient(180deg, rgba(255,255,255,.98), rgba(247,250,252,.94));
  box-shadow:
    0 12px 30px rgba(22,45,69,.065),
    inset 0 1px 0 rgba(255,255,255,.95);
}

.insurancehomecard:hover {
  border-color: rgba(8,39,94,.16);
  box-shadow: 0 18px 36px rgba(22,45,69,.11);
}

.insurancebrandimg {
  width: 100%;
  max-width: none;
  height: 78px;
  padding: 7px 8px;
  box-sizing: border-box;
  object-fit: contain;
  object-position: center;
  border-radius: 14px;
  background: #fff;
  border: 1px solid rgba(8,39,94,.055);
}

.insurancehomecard > strong {
  justify-content: center;
  width: 100%;
  min-height: 41px;
  box-sizing: border-box;
  border-radius: 12px;
  background: #EEF4FA;
  color: #17487F;
  font-size: 12px;
  font-weight: 900;
}

.insurancehome .compactlegal {
  max-width: 860px;
}

/* Contract tools should look unmistakably clickable */
.documenttools .toolcard {
  cursor: pointer;
  min-height: 112px;
  justify-content: center;
  border-radius: 18px;
  transition: transform .14s ease, box-shadow .14s ease, border-color .14s ease;
}

.documenttools .toolcard:hover {
  transform: translateY(-2px);
  border-color: rgba(8,39,94,.16);
  box-shadow: 0 14px 28px rgba(20,44,70,.09);
}

.documenttools .toolcard strong {
  font-size: 14px;
  color: #172E47;
}

@media (max-width: 900px) {
  .mobilepay-bubble {
    width: 160px;
    min-height: 160px;
    top: -92px;
    right: 10px;
    padding: 17px 14px;
  }

  .mobilepay-bubble strong {
    font-size: 17px;
  }
}

@media (max-width: 690px) {
  .searchboxsimple {
    padding-top: 18px;
  }

  .mobilepay-bubble {
    position: relative;
    top: auto;
    right: auto;
    width: 100%;
    min-height: 0;
    margin: 0 0 14px;
    padding: 14px 16px;
    border-radius: 20px;
    transform: none;
    align-items: flex-start;
    text-align: left;
  }

  .mobilepay-bubble::after {
    inset: 5px;
    border-radius: 15px;
  }

  .mobilepay-bubble strong,
  .mobilepay-bubble > span:not(.mobilepay-kicker) {
    max-width: none;
  }

  .mobilepay-bubble small {
    margin-top: 1px;
  }

  .payment-reassurance {
    display: grid;
    grid-template-columns: 1fr;
    gap: 5px;
  }
}


/* 1.05 BUBBLE POSITION FIX */
@media (min-width: 901px) {
  .searchboxsimple {
    margin-top: 88px;
  }
}

@media (min-width: 691px) and (max-width: 900px) {
  .searchboxsimple {
    margin-top: 68px;
  }
}
