:root {
    --nvla-member-navy: #062b4d;
    --nvla-member-charcoal: #182632;
    --nvla-member-red: #cf132f;
    --nvla-member-red-dark: #a90d24;
    --nvla-member-green: #14785b;
    --nvla-member-muted: #64717d;
    --nvla-member-line: #dce3e9;
    --nvla-member-soft: #f4f7f9;
}
.nvla-save, .nvla-save-prompt, .nvla-workspace { box-sizing: border-box; font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif; letter-spacing: 0; }
.nvla-save { display: inline-flex; min-height: 40px; align-items: center; justify-content: center; gap: 7px; margin: 0; padding: 7px 11px; color: var(--nvla-member-charcoal); font-size: 13px; font-weight: 700; line-height: 1.3; text-transform: none; background: #fff; border: 1px solid #cfd7de; border-radius: 6px; cursor: pointer; }
.nvla-save svg { width: 17px; height: 17px; flex: 0 0 17px; }
.nvla-save[aria-pressed="true"] { color: var(--nvla-member-red-dark); border-color: #e1b6bd; background: #fff7f8; }
.nvla-save[aria-pressed="true"] svg { fill: currentColor; }
.nvla-save:disabled { opacity: .6; cursor: wait; }
.nvla-save:focus-visible, .nvla-save-prompt :focus-visible, .nvla-workspace :focus-visible { outline: 3px solid rgba(207, 19, 47, .35); outline-offset: 2px; }
.nvla-save-prompt { max-width: 420px; padding: 14px; margin: 8px 0 14px; color: var(--nvla-member-charcoal); background: #fff; border: 1px solid var(--nvla-member-line); border-radius: 8px; box-shadow: 0 8px 22px rgba(15, 35, 52, .09); font-size: 14px; }
.nvla-save-prompt p { margin: 0 0 8px; }
.nvla-save-prompt a, .nvla-save-prompt button { display: inline-flex; min-height: 44px; align-items: center; padding: 8px; color: var(--nvla-member-red-dark); font: inherit; font-weight: 700; background: transparent; border: 0; cursor: pointer; }
.nvla-save-feedback { color: #3c4b58; font-size: 14px; overflow-wrap: anywhere; }
.nvla-workspace { width: 100%; margin: 18px auto 0; color: var(--nvla-member-charcoal); }
.nvla-workspace *, .nvla-workspace *::before, .nvla-workspace *::after { box-sizing: border-box; }
.nvla-sr-only { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px !important; overflow: hidden !important; clip: rect(0,0,0,0) !important; white-space: nowrap !important; border: 0 !important; }
.nvla-workspace h2, .nvla-workspace h3, .nvla-workspace h4 { color: var(--nvla-member-charcoal); font-family: inherit; letter-spacing: 0; text-transform: none; }
.nvla-workspace h2 { margin: 0; font-size: clamp(24px, 2.5vw, 31px); font-weight: 780; line-height: 1.18; }
.nvla-workspace h3 { margin: 0; font-size: 18px; font-weight: 750; line-height: 1.32; overflow-wrap: anywhere; }
.nvla-workspace-frame { display: grid; grid-template-columns: 226px minmax(0, 1fr); gap: 24px; align-items: start; }
.nvla-workspace-tabs { position: sticky; top: 18px; display: grid; gap: 3px; padding: 10px; background: var(--nvla-member-navy); border: 1px solid #06233e; border-radius: 8px; box-shadow: 0 10px 24px rgba(6, 43, 77, .12); }
.nvla-workspace-tabs a, .nvla-workspace-logout button { display: grid; grid-template-columns: 22px minmax(0, 1fr); min-height: 46px; align-items: center; gap: 10px; padding: 10px 11px; color: rgba(255,255,255,.82); font: 650 13px/1.3 Inter, ui-sans-serif, system-ui, sans-serif; text-align: left; text-decoration: none; white-space: normal; background: transparent; border: 0; border-radius: 6px; cursor: pointer; }
.nvla-workspace-tabs a > span, .nvla-workspace-logout button > span { display: grid; width: 20px; height: 20px; place-items: center; }
.nvla-workspace-tabs svg, .nvla-workspace-nav-toggle svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.nvla-workspace-tabs a:hover, .nvla-workspace-tabs a:focus-visible, .nvla-workspace-logout button:hover, .nvla-workspace-logout button:focus-visible { color: #fff; background: rgba(255,255,255,.1); }
.nvla-workspace-tabs a[aria-current] { color: #fff; background: var(--nvla-member-red); box-shadow: 0 4px 12px rgba(207, 19, 47, .25); }
.nvla-workspace-logout { margin: 7px 0 0; padding: 7px 0 0; border-top: 1px solid rgba(255,255,255,.15); }
.nvla-workspace-logout button { width: 100%; color: #fff; }
.nvla-workspace-nav-toggle { display: none; }
.nvla-workspace-main { min-width: 0; min-height: 360px; padding: 26px 28px 30px; background: #fff; border: 1px solid var(--nvla-member-line); border-radius: 8px; box-shadow: 0 9px 28px rgba(15, 35, 52, .06); }
.nvla-workspace-feedback { margin: 0; }
.nvla-workspace-feedback:empty { display: none; }
.nvla-workspace-section-head { display: grid; gap: 5px; margin: 0 0 22px; padding-bottom: 18px; border-bottom: 1px solid #e6ebef; }
.nvla-workspace-section-head > p { margin: 0; color: var(--nvla-member-red-dark); font-size: 11px; font-weight: 800; line-height: 1.3; text-transform: uppercase; }
.nvla-workspace-section-head > span { color: var(--nvla-member-muted); font-size: 14px; line-height: 1.55; }
.nvla-workspace-membership { display: inline-flex; min-height: 32px; align-items: center; gap: 8px; margin: 0 0 16px; padding: 6px 10px; color: var(--nvla-member-green); font-size: 12px; background: #eff9f5; border: 1px solid #c9e8dc; border-radius: 999px; }
.nvla-workspace-membership > span { width: 7px; height: 7px; background: currentColor; border-radius: 50%; }
.nvla-workspace-overview { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin: 0 0 24px; }
.nvla-workspace-overview a { display: grid; grid-template-columns: 40px minmax(0, 1fr) 18px; min-width: 0; min-height: 94px; align-items: center; gap: 12px; padding: 16px; color: var(--nvla-member-charcoal); text-decoration: none; background: #fff; border: 1px solid var(--nvla-member-line); border-radius: 8px; box-shadow: 0 4px 14px rgba(15, 35, 52, .045); }
.nvla-workspace-overview a:hover { border-color: #aab9c5; box-shadow: 0 8px 18px rgba(15, 35, 52, .08); transform: translateY(-1px); }
.nvla-workspace-overview__icon { display: grid; width: 40px; height: 40px; place-items: center; color: var(--nvla-member-navy); background: #edf4f8; border-radius: 7px; }
.nvla-workspace-overview__icon svg, .nvla-workspace-overview__arrow svg { width: 19px; height: 19px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.nvla-workspace-overview__copy { display: grid; gap: 3px; min-width: 0; }
.nvla-workspace-overview__copy small { color: var(--nvla-member-muted); font-size: 12px; font-weight: 650; line-height: 1.3; }
.nvla-workspace-overview__copy strong { color: var(--nvla-member-navy); font-size: 25px; line-height: 1; }
.nvla-workspace-overview__arrow { display: grid; color: #98a5af; }
.nvla-workspace-quick { padding: 18px; background: var(--nvla-member-soft); border-left: 3px solid var(--nvla-member-red); border-radius: 6px; }
.nvla-workspace-quick h3 { margin-bottom: 12px; font-size: 15px; }
.nvla-workspace-quick > div, .nvla-workspace-card-actions, .nvla-bid-card__actions { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.nvla-member-button, .nvla-workspace-retry { display: inline-flex; min-height: 42px; align-items: center; justify-content: center; padding: 8px 13px; color: var(--nvla-member-charcoal); font: 700 13px/1.35 Inter, ui-sans-serif, system-ui, sans-serif; text-align: center; text-decoration: none; background: #fff; border: 1px solid #cbd5dd; border-radius: 6px; cursor: pointer; }
.nvla-member-button.is-primary { color: #fff; background: var(--nvla-member-red); border-color: var(--nvla-member-red); }
.nvla-member-button.is-primary:hover, .nvla-member-button.is-primary:focus-visible { color: #fff; background: var(--nvla-member-red-dark); border-color: var(--nvla-member-red-dark); }
.nvla-member-button.is-secondary:hover, .nvla-member-button.is-secondary:focus-visible, .nvla-member-button.is-ghost:hover, .nvla-member-button.is-ghost:focus-visible { color: var(--nvla-member-red-dark); border-color: var(--nvla-member-red); }
.nvla-member-button.is-ghost { background: transparent; border-color: transparent; }
.nvla-member-button.is-danger { color: #a20f27; background: #fff; border-color: #e2b8bf; }
.nvla-member-button.is-danger:hover, .nvla-member-button.is-danger:focus-visible { color: #fff; background: #a20f27; border-color: #a20f27; }
.nvla-workspace-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.nvla-workspace-card { display: flex; min-width: 0; flex-direction: column; overflow: hidden; background: #fff; border: 1px solid var(--nvla-member-line); border-radius: 8px; box-shadow: 0 4px 16px rgba(15, 35, 52, .05); }
.nvla-workspace-photo { position: relative; display: grid; width: 100%; aspect-ratio: 4 / 3; place-items: center; color: #5b6874; font-size: 12px; background: #eaf0f4; }
.nvla-workspace-photo span { padding: 14px; text-align: center; }
.nvla-workspace-photo img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.nvla-workspace-photo img[hidden] { display: none; }
.nvla-workspace-card-body { display: flex; flex: 1; flex-direction: column; padding: 15px; }
.nvla-workspace-card h3 { margin-bottom: 10px; font-size: 16px; }
.nvla-workspace-card h3 a { color: var(--nvla-member-charcoal); text-decoration: none; }
.nvla-workspace-status { display: flex; align-items: center; gap: 7px; margin: 0 0 8px; color: var(--nvla-member-red-dark); font-size: 11px; font-weight: 800; text-transform: uppercase; }
.nvla-workspace-status span { width: 6px; height: 6px; background: currentColor; border-radius: 50%; }
.nvla-workspace-card dl { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px 12px; margin: 0 0 14px; }
.nvla-workspace-card dl div { min-width: 0; padding-top: 7px; border-top: 1px solid #edf0f3; }
.nvla-workspace-card dt { color: #78838d; font-size: 10px; font-weight: 650; line-height: 1.3; }
.nvla-workspace-card dd { margin: 2px 0 0; color: #273643; font-size: 12px; font-weight: 700; overflow-wrap: anywhere; }
.nvla-workspace-card p { font-size: 13px; line-height: 1.5; }
.nvla-workspace-note { margin: -3px 0 12px; color: #6d7781; }
.nvla-workspace-card-actions { margin-top: auto; }
.nvla-workspace-card-actions .nvla-save { min-height: 42px; }
.nvla-workspace-empty, .nvla-alert-empty { display: grid; max-width: 540px; justify-items: start; gap: 9px; padding: 26px; background: var(--nvla-member-soft); border: 1px dashed #c8d2da; border-radius: 8px; }
.nvla-workspace-empty > span { display: grid; width: 42px; height: 42px; place-items: center; color: var(--nvla-member-navy); background: #fff; border: 1px solid var(--nvla-member-line); border-radius: 7px; }
.nvla-workspace-empty svg { width: 21px; height: 21px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.nvla-workspace-empty p, .nvla-alert-empty p { margin: 0 0 5px; color: var(--nvla-member-muted); line-height: 1.55; }
.nvla-workspace-disclosure { margin: -10px 0 18px; color: var(--nvla-member-muted); font-size: 12px; }
.nvla-bid-card { margin-bottom: 14px; padding: 18px; background: #fff; border: 1px solid var(--nvla-member-line); border-left: 3px solid var(--nvla-member-navy); border-radius: 8px; box-shadow: 0 4px 14px rgba(15, 35, 52, .045); }
.nvla-bid-card__head { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; }
.nvla-bid-card__head p { margin: 0 0 5px; color: var(--nvla-member-red-dark); font-size: 10px; font-weight: 800; text-transform: uppercase; }
.nvla-bid-card__head h3 { margin-bottom: 4px; }
.nvla-bid-card__head span { color: var(--nvla-member-muted); font-size: 12px; }
.nvla-member-badge { display: inline-flex; flex: 0 0 auto; min-height: 30px; align-items: center; padding: 5px 9px; color: var(--nvla-member-navy); font-size: 11px; font-weight: 800; background: #edf4f8; border: 1px solid #d3e0e8; border-radius: 999px; }
.nvla-bid-card dl { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0; margin: 16px 0; border-block: 1px solid #e7ebef; }
.nvla-bid-card dl div { min-width: 0; padding: 11px 12px 11px 0; }
.nvla-bid-card dt { color: #77828c; font-size: 10px; font-weight: 650; }
.nvla-bid-card dd { margin: 3px 0 0; color: #263747; font-size: 13px; font-weight: 750; overflow-wrap: anywhere; }
.nvla-profile-form { display: grid; gap: 16px; }
.nvla-profile-form fieldset { min-width: 0; margin: 0; padding: 18px; border: 1px solid var(--nvla-member-line); border-radius: 8px; }
.nvla-profile-form legend { padding: 0 8px; color: var(--nvla-member-navy); font-size: 12px; font-weight: 800; text-transform: uppercase; }
.nvla-profile-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.nvla-profile-email { display: grid; gap: 3px; margin: 0 0 12px; padding: 12px; color: #263743; background: var(--nvla-member-soft); border-radius: 6px; }
.nvla-profile-email small { color: var(--nvla-member-muted); }
.nvla-workspace-retry { margin-top: 16px; }
.nvla-workspace [hidden] { display: none !important; }
.nvla-workspace-pagination { display: flex; justify-content: center; align-items: center; gap: 16px; margin: 24px 0 0; color: var(--nvla-member-muted); font-size: 13px; }
.nvla-workspace-pagination a { display: inline-flex; min-height: 44px; align-items: center; color: var(--nvla-member-red-dark); font-weight: 700; }
@media (max-width: 1100px) {
    .nvla-workspace-frame { grid-template-columns: 205px minmax(0, 1fr); gap: 16px; }
    .nvla-workspace-main { padding: 22px; }
    .nvla-workspace-overview { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .nvla-workspace-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .nvla-bid-card dl { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 900px) {
    .nvla-workspace-nav-toggle { display: grid; grid-template-columns: 24px minmax(0, 1fr) 20px; width: 100%; min-height: 58px; align-items: center; gap: 10px; margin: 0 0 10px; padding: 9px 14px; color: #fff; text-align: left; background: var(--nvla-member-navy); border: 1px solid #06233e; border-radius: 8px; cursor: pointer; }
    .nvla-workspace-nav-toggle > span:nth-child(2) { display: grid; gap: 1px; }
    .nvla-workspace-nav-toggle small { color: rgba(255,255,255,.65); font-size: 10px; font-weight: 700; text-transform: uppercase; }
    .nvla-workspace-nav-toggle strong { font-size: 14px; }
    .nvla-workspace-nav-toggle__arrow { transition: transform .18s ease; }
    .nvla-workspace-nav-toggle[aria-expanded="true"] .nvla-workspace-nav-toggle__arrow { transform: rotate(90deg); }
    .nvla-workspace-frame { display: block; }
    .nvla-workspace-tabs { position: static; grid-template-columns: repeat(2, minmax(0, 1fr)); margin: 0 0 12px; box-shadow: 0 8px 18px rgba(6, 43, 77, .12); }
    html.nvla-workspace-js .nvla-workspace-tabs:not([data-open]) { display: none; }
    html.nvla-workspace-js .nvla-workspace-tabs[data-open] { display: grid; }
    .nvla-workspace-logout { grid-column: 1 / -1; }
    .nvla-workspace-main { min-height: 0; }
}
@media (max-width: 600px) {
    .nvla-workspace { margin-top: 12px; }
    .nvla-workspace-tabs { grid-template-columns: minmax(0, 1fr); }
    .nvla-workspace-main { padding: 18px 15px 22px; }
    .nvla-workspace-section-head { margin-bottom: 16px; padding-bottom: 14px; }
    .nvla-workspace-overview { grid-template-columns: minmax(0, 1fr); gap: 8px; }
    .nvla-workspace-overview a { min-height: 82px; padding: 13px; }
    .nvla-workspace-grid, .nvla-profile-grid { grid-template-columns: minmax(0, 1fr); }
    .nvla-workspace-quick { padding: 15px; }
    .nvla-workspace-quick > div, .nvla-bid-card__actions { display: grid; grid-template-columns: minmax(0, 1fr); }
    .nvla-workspace-quick .nvla-member-button, .nvla-bid-card__actions .nvla-member-button { width: 100%; }
    .nvla-bid-card { padding: 15px; }
    .nvla-bid-card__head { display: grid; }
    .nvla-bid-card dl { grid-template-columns: minmax(0, 1fr); }
    .nvla-bid-card dl div { padding-right: 0; }
    .nvla-profile-form fieldset { padding: 15px; }
    .nvla-workspace-card-actions .nvla-member-button, .nvla-workspace-card-actions .nvla-save, .nvla-workspace-card-actions .nvla-alert-button { flex: 1 1 120px; }
}
