h1:focus {
    outline: none;
}

.valid.modified:not([type=checkbox]) {
    outline: 1px solid #26b050;
}

.invalid {
    outline: 1px solid #e50000;
}

.validation-message {
    color: #e50000;
}

.blazor-error-boundary {
    background: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTYiIGhlaWdodD0iNDkiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIG92ZXJmbG93PSJoaWRkZW4iPjxkZWZzPjxjbGlwUGF0aCBpZD0iY2xpcDAiPjxyZWN0IHg9IjIzNSIgeT0iNTEiIHdpZHRoPSI1NiIgaGVpZ2h0PSI0OSIvPjwvY2xpcFBhdGg+PC9kZWZzPjxnIGNsaXAtcGF0aD0idXJsKCNjbGlwMCkiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0yMzUgLTUxKSI+PHBhdGggZD0iTTI2My41MDYgNTFDMjY0LjcxNyA1MSAyNjUuODEzIDUxLjQ4MzcgMjY2LjYwNiA1Mi4yNjU4TDI2Ny4wNTIgNTIuNzk4NyAyNjcuNTM5IDUzLjYyODMgMjkwLjE4NSA5Mi4xODMxIDI5MC41NDUgOTIuNzk1IDI5MC42NTYgOTIuOTk2QzI5MC44NzcgOTMuNTEzIDI5MSA5NC4wODE1IDI5MSA5NC42NzgyIDI5MSA5Ny4wNjUxIDI4OS4wMzggOTkgMjg2LjYxNyA5OUwyNDAuMzgzIDk5QzIzNy45NjMgOTkgMjM2IDk3LjA2NTEgMjM2IDk0LjY3ODIgMjM2IDk0LjM3OTkgMjM2LjAzMSA5NC4wODg2IDIzNi4wODkgOTMuODA3MkwyMzYuMzM4IDkzLjAxNjIgMjM2Ljg1OCA5Mi4xMzE0IDI1OS40NzMgNTMuNjI5NCAyNTkuOTYxIDUyLjc5ODUgMjYwLjQwNyA1Mi4yNjU4QzI2MS4yIDUxLjQ4MzcgMjYyLjI5NiA1MSAyNjMuNTA2IDUxWk0yNjMuNTg2IDY2LjAxODNDMjYwLjczNyA2Ni4wMTgzIDI1OS4zMTMgNjcuMTI0NSAyNTkuMzEzIDY5LjMzNyAyNTkuMzEzIDY5LjYxMDIgMjU5LjMzMiA2OS44NjA4IDI1OS4zNzEgNzAuMDg4N0wyNjEuNzk1IDg0LjAxNjEgMjY1LjM4IDg0LjAxNjEgMjY3LjgyMSA2OS43NDc1QzI2Ny44NiA2OS43MzA5IDI2Ny44NzkgNjkuNTg3NyAyNjcuODc5IDY5LjMxNzkgMjY3Ljg3OSA2Ny4xMTgyIDI2Ni40NDggNjYuMDE4MyAyNjMuNTg2IDY2LjAxODNaTTI2My41NzYgODYuMDU0N0MyNjEuMDQ5IDg2LjA1NDcgMjU5Ljc4NiA4Ny4zMDA1IDI1OS43ODYgODkuNzkyMSAyNTkuNzg2IDkyLjI4MzcgMjYxLjA0OSA5My41Mjk1IDI2My41NzYgOTMuNTI5NSAyNjYuMTE2IDkzLjUyOTUgMjY3LjM4NyA5Mi4yODM3IDI2Ny4zODcgODkuNzkyMSAyNjcuMzg3IDg3LjMwMDUgMjY2LjExNiA4Ni4wNTQ3IDI2My41NzYgODYuMDU0N1oiIGZpbGw9IiNGRkU1MDAiIGZpbGwtcnVsZT0iZXZlbm9kZCIvPjwvZz48L3N2Zz4=) no-repeat 1rem/1.8rem, #b32121;
    padding: 1rem 1rem 1rem 3.7rem;
    color: white;
}

    .blazor-error-boundary::after {
        content: "An error has occurred."
    }

.darker-border-checkbox.form-check-input {
    border-color: #929292;
}

.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;
}
/* ============================================================
   Premium marine dashboard theme (overrides MudBlazor defaults)
   ============================================================ */
:root { --accent:#2dd4bf; --accent-2:#38bdf8; }

html, body {
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
    background:
        radial-gradient(1200px 600px at 15% -10%, rgba(45,212,191,0.06), transparent 60%),
        radial-gradient(1000px 500px at 100% 0%, rgba(56,189,248,0.05), transparent 55%),
        #0b1119 !important;
}

/* Cards & content surfaces */
.mud-card,
.mud-main-content .mud-paper {
    background: linear-gradient(158deg, #172432 0%, #111a24 100%) !important;
    border: 1px solid rgba(120,160,190,0.10) !important;
    border-radius: 16px !important;
    box-shadow: 0 6px 22px rgba(0,0,0,0.38) !important;
    transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
    backdrop-filter: saturate(1.1);
}
.mud-card:hover {
    transform: translateY(-3px);
    border-color: rgba(45,212,191,0.35) !important;
    box-shadow: 0 12px 30px rgba(0,0,0,0.5), 0 0 0 1px rgba(45,212,191,0.10) !important;
}

/* Card header: leading icon becomes a tinted circular badge */
.mud-card-header { padding-bottom: 8px; }
.mud-card-header .mud-icon-root:first-child,
.mud-card-header-avatar .mud-icon-root {
    background: rgba(45,212,191,0.12);
    color: var(--accent) !important;
    border-radius: 12px;
    padding: 8px;
    box-sizing: content-box;
}

/* Buttons — softer, pill-ish */
.mud-button-root { border-radius: 10px !important; text-transform: none; font-weight: 600; letter-spacing:.2px; }
.mud-button-filled { box-shadow: 0 2px 10px rgba(0,0,0,0.3) !important; }

/* Chips */
.mud-chip { border-radius: 8px !important; font-weight: 600; }

/* Sliders / progress use the accent with a glow */
.mud-slider .mud-slider-track-filled,
.mud-progress-linear-bar { background: linear-gradient(90deg, var(--accent), var(--accent-2)) !important; }
.mud-slider-thumb { box-shadow: 0 0 0 6px rgba(45,212,191,0.15) !important; }

/* Nav drawer — active link gets an accent bar */
.mud-nav-link { border-radius: 10px; margin: 2px 4px; }
.mud-nav-link.active {
    background: rgba(45,212,191,0.12) !important;
    color: var(--accent) !important;
    box-shadow: inset 3px 0 0 var(--accent);
}
.mud-nav-link.active .mud-icon-root { color: var(--accent) !important; }

/* Selects / text fields */
.mud-input-outlined-border { border-radius: 10px !important; }

/* Typography weight */
.mud-typography-h4 { font-weight: 700 !important; letter-spacing: .2px; }
.mud-typography-h6 { font-weight: 600 !important; }

/* Custom scrollbars */
*::-webkit-scrollbar { width: 10px; height: 10px; }
*::-webkit-scrollbar-thumb { background: #24384a; border-radius: 8px; border: 2px solid #0b1119; }
*::-webkit-scrollbar-thumb:hover { background: #2f4a60; }
*::-webkit-scrollbar-track { background: transparent; }

/* ============================================================
   HALCYON design system — match the glass panel (amber/dark)
   Appended last so it overrides the earlier layer.
   ============================================================ */
:root{ --accent:#E8B45A; --accent-2:#7DD8FF; }
html,body{
  font-family:'Instrument Sans',ui-sans-serif,system-ui !important;
  background:
    radial-gradient(1100px 620px at 12% -8%, rgba(232,180,90,.10), transparent 60%),
    radial-gradient(900px 520px at 100% 0%, rgba(125,216,255,.06), transparent 55%),
    radial-gradient(1200px 800px at 50% 120%, rgba(232,180,90,.05), transparent 60%),
    #07080B !important;
}
/* film grain overlay */
body::before{content:"";position:fixed;inset:0;pointer-events:none;opacity:.045;z-index:1;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");}

/* glass cards — Halcyon recipe, amber hover glow */
.mud-card, .mud-main-content .mud-paper{
  background:linear-gradient(165deg,rgba(255,255,255,.055),rgba(255,255,255,.015) 55%,rgba(255,255,255,.03)) !important;
  border:1px solid rgba(255,255,255,.09) !important;
  border-radius:20px !important;
  backdrop-filter:blur(22px) saturate(1.5); -webkit-backdrop-filter:blur(22px) saturate(1.5);
  box-shadow:0 24px 50px -18px rgba(0,0,0,.65), inset 0 1px 0 rgba(255,255,255,.08) !important;
}
.mud-card:hover{
  border-color:rgba(232,180,90,.35) !important;
  box-shadow:0 26px 54px -16px rgba(0,0,0,.7), 0 0 22px -6px rgba(232,180,90,.35) !important;
}
/* header icon badges → amber tint */
.mud-card-header .mud-icon-root:first-child,
.mud-card-header-avatar .mud-icon-root{
  background:rgba(232,180,90,.12) !important; color:var(--accent) !important;
  border:1px solid rgba(232,180,90,.18); border-radius:13px; padding:8px; box-sizing:content-box;
}
/* typography — Space Grotesk for titles / numerals */
.mud-typography-h4,.mud-typography-h5,.mud-typography-h6,.mud-typography-subtitle1,.mud-typography-subtitle2{
  font-family:'Space Grotesk',ui-sans-serif,system-ui !important;}
.mud-typography-h4{font-weight:600 !important;letter-spacing:.3px}
/* accent-ise controls */
.mud-slider .mud-slider-track-filled,.mud-progress-linear-bar{
  background:linear-gradient(90deg,var(--accent),#c98f36) !important;}
.mud-slider-thumb{box-shadow:0 0 0 6px rgba(232,180,90,.15) !important;background:var(--accent) !important}
.mud-button-root{border-radius:11px !important;text-transform:none;font-weight:600;font-family:'Space Grotesk',sans-serif}
.mud-chip{border-radius:9px !important;font-family:'Space Grotesk',sans-serif;font-weight:500}
.mud-switch-thumb.mud-checked,.mud-checkbox .mud-checked{color:var(--accent) !important}
/* nav active → amber accent bar */
.mud-nav-link{border-radius:11px;margin:2px 6px;font-family:'Instrument Sans',sans-serif}
.mud-nav-link.active{
  background:linear-gradient(180deg,rgba(232,180,90,.18),rgba(232,180,90,.06)) !important;
  color:#FFE9C4 !important; box-shadow:inset 3px 0 0 var(--accent);}
.mud-nav-link.active .mud-icon-root{color:var(--accent) !important}
/* scrollbars */
*::-webkit-scrollbar-thumb{background:#2a241a;border:2px solid #07080B;border-radius:8px}
*::-webkit-scrollbar-thumb:hover{background:#3d3320}
