/* /Features/Vessels/VesselList.razor.rz.scp.css */
.vessel-section[b-bw4mb5sp60] { margin-top: 2rem; }
.vessel-section--engineering[b-bw4mb5sp60] { --vessel-accent: var(--neon-green); --vessel-ink: #08703d; --vessel-glow: rgb(40 217 121 / 25%); }
.vessel-section--unloading[b-bw4mb5sp60] { --vessel-accent: var(--neon-blue); --vessel-ink: #126397; --vessel-glow: rgb(53 167 255 / 25%); }
.vessel-section-heading[b-bw4mb5sp60] { display: flex; align-items: center; flex-wrap: wrap; gap: .75rem 1rem; margin-bottom: 1rem; }
h2[b-bw4mb5sp60] { font-size: 1.4rem; margin: 0; }
.vessel-total[b-bw4mb5sp60] { padding: .55rem .8rem; border: 1px solid var(--neon-green); background: #f4fff8; color: #172033; box-shadow: 0 0 14px rgb(40 217 121 / 15%); font-size: .875rem; font-weight: 600; line-height: 1.4; white-space: normal; text-align: left; font-variant-numeric: tabular-nums; }
.vessel-list[b-bw4mb5sp60] {
    /* About six collapsed rows, with a shorter viewport on small screens. */
    --vessel-list-max-height: 26rem;
    max-height: min(var(--vessel-list-max-height), 65vh);
    overflow-y: auto;
    scrollbar-gutter: stable;
    scrollbar-color: var(--vessel-accent) #edf2f7;
    list-style: none; margin: 0; padding: 0;
    border: 1px solid var(--vessel-accent); border-radius: .8rem;
    background: #fff; box-shadow: 0 0 18px var(--vessel-glow);
}
.vessel-list:focus-visible[b-bw4mb5sp60] { outline: 2px solid var(--vessel-accent); outline-offset: 3px; }
.vessel-list[b-bw4mb5sp60]::-webkit-scrollbar { width: 12px; }
.vessel-list[b-bw4mb5sp60]::-webkit-scrollbar-track { background: #edf2f7; border-radius: .8rem; }
.vessel-list[b-bw4mb5sp60]::-webkit-scrollbar-thumb { background: var(--vessel-accent); border: 3px solid #edf2f7; border-radius: .8rem; }
.vessel-item + .vessel-item[b-bw4mb5sp60] { border-top: 1px solid #dbe2ea; }
.vessel-item:first-child[b-bw4mb5sp60] { border-radius: .8rem .8rem 0 0; }
.vessel-item:last-child[b-bw4mb5sp60] { border-radius: 0 0 .8rem .8rem; }
.vessel-toggle[b-bw4mb5sp60] { display: flex; align-items: center; justify-content: space-between; gap: 1rem; width: 100%; min-height: 62px; padding: 1rem 1.25rem; border: 0; border-radius: inherit; background: transparent; color: var(--vessel-ink); text-align: left; font: inherit; transition: background-color 160ms ease, box-shadow 160ms ease, text-shadow 160ms ease; }
.vessel-toggle:hover[b-bw4mb5sp60], .vessel-toggle:focus-visible[b-bw4mb5sp60] { background: color-mix(in srgb, var(--vessel-accent) 5%, #fff); text-shadow: 0 0 8px var(--vessel-glow); box-shadow: inset 0 0 0 1px var(--vessel-accent), inset 0 0 18px var(--vessel-glow); }
.vessel-toggle:focus-visible[b-bw4mb5sp60] { outline: 2px solid var(--vessel-ink); outline-offset: -3px; }
.vessel-toggle[aria-expanded="true"][b-bw4mb5sp60] { background: color-mix(in srgb, var(--vessel-accent) 8%, #fff); box-shadow: inset 3px 0 var(--vessel-accent); }
.vessel-identity[b-bw4mb5sp60] { min-width: 0; }
.vessel-title[b-bw4mb5sp60] { display: flex; align-items: center; gap: .65rem; }
.vessel-name[b-bw4mb5sp60] { display: block; font-weight: 650; overflow-wrap: anywhere; }
.vessel-info[b-bw4mb5sp60] { display: flex; align-items: center; flex-wrap: wrap; gap: .35rem .6rem; margin-top: .45rem; color: #52617a; font-size: .875rem; font-variant-numeric: tabular-nums; }
.vessel-weight-summary[b-bw4mb5sp60] { max-width: 100%; padding: .2rem .55rem; border: 1px solid #efd785; border-radius: .45rem; background: #fff8df; color: #725312; font-weight: 600; line-height: 1.4; overflow-wrap: anywhere; text-shadow: none; box-shadow: 0 0 8px rgb(255 212 59 / 10%); }
.vessel-weight-caution[b-bw4mb5sp60] { flex-basis: 100%; color: #725312; font-size: .8rem; text-shadow: none; }
.vessel-chevron[b-bw4mb5sp60] { display: inline-flex; align-items: center; justify-content: center; width: 30px; height: 30px; border-radius: 50%; background: color-mix(in srgb, var(--vessel-accent) 8%, #fff); color: var(--vessel-ink); font-size: 1.25rem; line-height: 1; flex-shrink: 0; }
.vessel-toggle:is(:hover, :focus-visible, [aria-expanded="true"]) .vessel-chevron[b-bw4mb5sp60] { background: color-mix(in srgb, var(--vessel-accent) 15%, #fff); }
.vessel-history[b-bw4mb5sp60] { padding: .75rem 1.25rem 1rem; border-left: 3px solid var(--vessel-accent); background: #f8fafc; }
.vessel-history[hidden][b-bw4mb5sp60] { display: none; }
.vessel-item--pink.is-expanded[b-bw4mb5sp60] {
    --vessel-accent: #ea39b8;
    --vessel-ink: #9e176e;
    --vessel-glow: rgb(234 57 184 / 35%);
}
.vessel-item--pink.is-expanded .vessel-toggle[b-bw4mb5sp60] {
    background: #fff0fa;
    text-shadow: 0 0 10px rgb(234 57 184 / 45%);
    box-shadow: inset 0 0 0 1px #ea39b8, inset 0 0 26px rgb(234 57 184 / 16%);
}
.vessel-item--pink.is-expanded .vessel-history[b-bw4mb5sp60] {
    background: #fff7fc;
    box-shadow: inset -1px 0 #ea39b8, inset 0 -1px #ea39b8, inset 0 0 24px rgb(234 57 184 / 8%);
}
.vessel-item--pink.is-expanded caption[b-bw4mb5sp60],
.vessel-item--pink.is-expanded .vessel-source[b-bw4mb5sp60] { color: var(--vessel-ink); }
.vessel-heart[b-bw4mb5sp60] { flex-shrink: 0; color: #d91e9c; font-size: 1.3rem; line-height: 1; text-shadow: 0 0 3px rgb(234 57 184 / 65%), 0 0 14px rgb(234 57 184 / 55%); }
table[b-bw4mb5sp60] { width: 100%; table-layout: fixed; border-collapse: collapse; }
caption[b-bw4mb5sp60] { caption-side: top; padding: 0 0 .75rem; color: #52617a; font-size: .875rem; }
th[b-bw4mb5sp60], td[b-bw4mb5sp60] { padding: .75rem 0; text-align: left; vertical-align: top; overflow-wrap: anywhere; }
th[b-bw4mb5sp60] { font-weight: 500; color: #52617a; font-size: .875rem; }
th:first-child[b-bw4mb5sp60] { width: 48%; }
th:last-child[b-bw4mb5sp60], td:last-child[b-bw4mb5sp60] { padding-left: 1rem; }
tbody tr[b-bw4mb5sp60] { border-top: 1px solid #dbe2ea; }
.vessel-tonnes[b-bw4mb5sp60] { text-align: right; font-variant-numeric: tabular-nums; }
.vessel-period[b-bw4mb5sp60] { display: block; font-variant-numeric: tabular-nums; }
.vessel-weight-note[b-bw4mb5sp60], .vessel-source[b-bw4mb5sp60] { display: block; margin-top: .2rem; font-size: .8rem; }
.vessel-weight-note[b-bw4mb5sp60], .vessel-note[b-bw4mb5sp60], .vessel-footnote[b-bw4mb5sp60], .vessel-empty[b-bw4mb5sp60] { color: #52617a; }
.vessel-footnote[b-bw4mb5sp60] { margin-top: 1rem; font-size: .875rem; }
.vessel-source[b-bw4mb5sp60] { padding: .3rem 0; }
@media (max-width: 480px) {
    .vessel-toggle[b-bw4mb5sp60] { padding: .85rem; }
    .vessel-history[b-bw4mb5sp60] { padding: .75rem .65rem; }
    th:last-child[b-bw4mb5sp60], td:last-child[b-bw4mb5sp60] { padding-left: .6rem; }
}
@media (prefers-reduced-motion: reduce) {
    .vessel-toggle[b-bw4mb5sp60] { transition: none; }
}
/* /Pages/Contact.razor.rz.scp.css */
.contact-page[b-qmxhkk5pqs] {
    width: 100%;
}

.contact-intro h1[b-qmxhkk5pqs] {
    color: #172033;
    font-size: clamp(2rem, 5vw, 3.5rem);
    font-weight: 700;
    letter-spacing: -.035em;
    line-height: 1.15;
    overflow-wrap: anywhere;
}

.contact-intro .hero-eyebrow[b-qmxhkk5pqs] {
    margin: 0 0 1rem;
}

.contact-lead[b-qmxhkk5pqs] {
    color: #52617a;
    font-size: 1.125rem;
    line-height: 1.6;
    margin: 1rem 0 0;
}

.contact-grid[b-qmxhkk5pqs] {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 1.25rem;
    margin-top: 2rem;
}

.contact-card[b-qmxhkk5pqs] {
    --card-text: color-mix(in srgb, rgb(var(--card-neon)) 45%, #172033);
    display: flex;
    flex-direction: column;
    gap: .75rem;
    min-width: 0;
    min-height: 220px;
    padding: 1.5rem;
    background: #fff;
    color: var(--card-text);
    border: 1px solid rgb(var(--card-neon));
    border-radius: .75rem;
    box-shadow:
        0 0 3px rgba(var(--card-neon), .3),
        0 0 16px rgba(var(--card-neon), .1);
    text-decoration: none;
    overflow-wrap: anywhere;
    transition:
        background-color 160ms ease,
        box-shadow 160ms ease,
        text-shadow 160ms ease,
        transform 160ms ease;
}

.contact-card--github[b-qmxhkk5pqs] {
    --card-neon: 255, 59, 92;
}

.contact-card--linkedin[b-qmxhkk5pqs] {
    --card-neon: 40, 217, 121;
}

.contact-card--cv[b-qmxhkk5pqs] {
    --card-neon: 53, 167, 255;
}

.contact-card--email[b-qmxhkk5pqs] {
    --card-neon: 255, 212, 59;
}

.contact-card:hover[b-qmxhkk5pqs],
.contact-card:focus-within[b-qmxhkk5pqs] {
    color: var(--card-text);
    background: color-mix(in srgb, rgb(var(--card-neon)) 3%, #fff);
    text-shadow:
        0 0 1px rgba(var(--card-neon), .3),
        0 0 9px rgba(var(--card-neon), .5);
    box-shadow:
        0 0 4px rgba(var(--card-neon), .75),
        0 0 22px rgba(var(--card-neon), .35),
        inset 0 0 16px rgba(var(--card-neon), .06);
}

a.contact-card:hover[b-qmxhkk5pqs] {
    transform: translateY(-2px);
}

a.contact-card:focus-visible[b-qmxhkk5pqs] {
    outline: 2px solid #172033;
    outline-offset: 4px;
}

.contact-card-label[b-qmxhkk5pqs] {
    margin-bottom: .5rem;
    color: inherit;
    font-size: .8rem;
    font-weight: 700;
    letter-spacing: .1em;
    text-transform: uppercase;
}

.contact-card strong[b-qmxhkk5pqs] {
    font-size: 1.2rem;
    font-weight: 700;
    line-height: 1.4;
}

.contact-card-detail[b-qmxhkk5pqs] {
    margin-top: auto;
    color: inherit;
    line-height: 1.5;
}

.contact-copy[b-qmxhkk5pqs] {
    width: 100%;
    min-height: 44px;
    margin-top: auto;
    padding: .5rem .75rem;
    line-height: 1.4;
    color: inherit;
    background: transparent;
    border-color: rgb(var(--card-neon));
    box-shadow: 0 0 8px rgba(var(--card-neon), .12);
    text-shadow: inherit;
}

.contact-copy:hover[b-qmxhkk5pqs],
.contact-copy:focus-visible[b-qmxhkk5pqs] {
    color: inherit;
    background: rgba(var(--card-neon), .12);
    border-color: rgb(var(--card-neon));
    box-shadow:
        0 0 3px rgba(var(--card-neon), .65),
        0 0 14px rgba(var(--card-neon), .3);
}

.clipboard-status[b-qmxhkk5pqs] {
    min-height: 1.5rem;
    margin-top: 1rem;
    overflow-wrap: anywhere;
}

@media (max-width: 1199.98px) {
    .contact-grid[b-qmxhkk5pqs] {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 575.98px) {
    .contact-grid[b-qmxhkk5pqs] {
        grid-template-columns: minmax(0, 1fr);
        gap: 1rem;
        margin-top: 1.5rem;
    }

    .contact-card[b-qmxhkk5pqs] {
        min-height: 180px;
        padding: 1.25rem;
    }
}

@media (prefers-reduced-motion: reduce) {
    .contact-card[b-qmxhkk5pqs] {
        transition: none;
    }

    a.contact-card:hover[b-qmxhkk5pqs] {
        transform: none;
    }
}
/* /Pages/Vessels.razor.rz.scp.css */
.vessels-page[b-rdcnwo7zjh] { max-width: 960px; }
.vessels-intro h1[b-rdcnwo7zjh] { font-size: clamp(2.5rem, 8vw, 4rem); font-weight: 750; letter-spacing: -.04em; }
.vessels-intro p[b-rdcnwo7zjh] { color: #52617a; font-size: 1.125rem; }
.vessels-controls[b-rdcnwo7zjh] { display: flex; align-items: center; justify-content: flex-end; flex-wrap: wrap; gap: .75rem; margin-top: 2rem; }
.vessels-info-control[b-rdcnwo7zjh],
.vessels-retry[b-rdcnwo7zjh] {
    min-height: 44px;
    padding: .55rem 1rem;
    border: 1px solid color-mix(in srgb, var(--control-accent) 35%, #fff);
    border-radius: 999px;
    background: #fff;
    color: var(--control-accent);
    font: inherit;
    font-weight: 500;
    box-shadow: 0 1px 2px rgb(15 23 42 / 4%);
    transition: box-shadow 160ms ease, border-color 160ms ease, background-color 160ms ease;
}

.vessels-retry[b-rdcnwo7zjh] { --control-accent: #08703d; }
.vessels-info-control[b-rdcnwo7zjh] {
    --control-accent: #52617a;
    display: inline-flex;
    align-items: center;
    gap: .6rem;
    margin: 0;
    cursor: pointer;
}

.vessels-info-control:has(input:checked)[b-rdcnwo7zjh] { --control-accent: #08683c; }
.vessels-retry:hover[b-rdcnwo7zjh],
.vessels-retry:focus-visible[b-rdcnwo7zjh],
.vessels-info-control:hover[b-rdcnwo7zjh],
.vessels-info-control:focus-within[b-rdcnwo7zjh],
.vessels-info-control:has(input:checked)[b-rdcnwo7zjh] {
    background: color-mix(in srgb, var(--control-accent) 5%, #fff);
    border-color: color-mix(in srgb, var(--control-accent) 65%, #fff);
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--control-accent) 8%, transparent);
}

.vessels-retry:focus-visible[b-rdcnwo7zjh] { outline: 2px solid #172033; outline-offset: 4px; }
.vessels-info-control input[b-rdcnwo7zjh] {
    appearance: none;
    flex-shrink: 0;
    width: 2.5rem;
    height: 1.375rem;
    margin: 0;
    border: 1px solid #8190a5;
    border-radius: 1rem;
    background: #8190a5;
    cursor: pointer;
}

.vessels-info-control input[b-rdcnwo7zjh]::before {
    content: "";
    display: block;
    width: .875rem;
    height: .875rem;
    margin: 3px;
    border-radius: 50%;
    background: #fff;
    box-shadow: 0 1px 2px rgb(15 23 42 / 18%);
    transition: transform 160ms ease;
}

.vessels-info-control:has(input:checked)[b-rdcnwo7zjh] {
    background: #eaf9f0;
    border-color: #28b76a;
    box-shadow: 0 0 0 2px rgb(40 183 106 / 10%);
}
.vessels-info-control input:checked[b-rdcnwo7zjh] { background: #087a42; border-color: #087a42; }
.vessels-info-control input:checked[b-rdcnwo7zjh]::before { transform: translateX(1.125rem); }
.vessels-info-control input:focus-visible[b-rdcnwo7zjh] { outline: 2px solid #126397; outline-offset: 3px; }
.vessels-switch-state[b-rdcnwo7zjh] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 2.5rem;
    padding: .25rem .5rem;
    border-radius: 999px;
    background: #e2e8f0;
    color: #475569;
    font-size: .8rem;
    font-weight: 700;
    line-height: 1.2;
    text-transform: uppercase;
}
.vessels-info-control:has(input:checked) .vessels-switch-state[b-rdcnwo7zjh] { background: #087a42; color: #fff; }

@media (prefers-reduced-motion: reduce) {
    .vessels-info-control[b-rdcnwo7zjh],
    .vessels-retry[b-rdcnwo7zjh],
    .vessels-info-control input[b-rdcnwo7zjh]::before { transition: none; }
}
/* /Shared/NavBar.razor.rz.scp.css */
.neon-navbar[b-fbh7k5clwa] {
    width: 100%;
    margin: 0;
    padding: 17px 22px;
    background: #101827;
    border: 1px solid #35a7ff;
    border-radius: 0;
    box-shadow:
        0 0 3px #35a7ffad,
        0 0 13px #35a7ff69,
        inset 0 0 12px #35a7ff17;
}

.nav-content[b-fbh7k5clwa] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 28px;
}

.progress[b-fbh7k5clwa] {
    flex: 0 1 220px;
    height: 16px;
    overflow: visible;
    background: #250d49;
    border-radius: 3px;
}

.progress-bar[b-fbh7k5clwa] {
    background-color: #6f42c1;
    border-radius: 3px;
    box-shadow:
        0 0 2px #6f42c1,
        0 0 12px #6f42c173;
}

.nav-links[b-fbh7k5clwa] {
    display: flex;
    gap: 8px;
}

/* NavLink rendrer lenkene i en egen Blazor-komponent. */
.nav-links[b-fbh7k5clwa]  .neon-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    padding: 9px 13px;
    color: #fff;
    font-size: 15px;
    font-weight: 500;
    text-decoration: none;
    border: 1px solid rgba(var(--neon-rgb), 0.5);
    border-radius: 6px;
}

.nav-links[b-fbh7k5clwa]  .home-link {
    --neon-rgb: 40, 217, 121;
}

.nav-links[b-fbh7k5clwa]  .contact-link {
    --neon-rgb: 255, 59, 92;
}

.nav-links[b-fbh7k5clwa]  .vessels-link {
    --neon-rgb: 255, 212, 59;
}

.nav-links[b-fbh7k5clwa]  .neon-link:is(.active, :hover, :focus-visible) {
    border-color: rgb(var(--neon-rgb));
    background: rgba(var(--neon-rgb), 0.1);
    text-shadow: 0 0 8px rgba(var(--neon-rgb), 0.49);
    box-shadow:
        0 0 3px rgba(var(--neon-rgb), 0.68),
        0 0 12px rgba(var(--neon-rgb), 0.41),
        inset 0 0 9px rgba(var(--neon-rgb), 0.09);
}

@media (max-width: 640px) {
    .neon-navbar[b-fbh7k5clwa] {
        padding: 20px 14px 16px;
    }

    .nav-content[b-fbh7k5clwa] {
        flex-direction: column;
        align-items: stretch;
        gap: 20px;
    }

    .progress[b-fbh7k5clwa] {
        flex: none;
        width: 100%;
    }

    .nav-links[b-fbh7k5clwa]  .neon-link {
        flex: 1;
        padding-inline: 8px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .progress-bar-animated[b-fbh7k5clwa] {
        animation: none;
    }
}
