/* LiftVector's surface treatment complements the shared MudTheme palettes. */
:root {
    font-synthesis: none;
    text-underline-offset: 0.2em;
    scrollbar-color: var(--mud-palette-lines-inputs) var(--mud-palette-background);
}

::selection {
    background: var(--mud-palette-primary);
    color: var(--mud-palette-primary-text);
}

input, textarea { caret-color: var(--mud-palette-primary); }

:focus-visible {
    outline: 2px solid var(--mud-palette-primary);
    outline-offset: 4px;
}

.liftvector-light { color-scheme: light; --liftvector-shadow: 0 16px 48px -16px rgb(24 43 73 / 22%); }
.liftvector-dark { color-scheme: dark; --liftvector-shadow: 0 20px 56px -16px rgb(0 0 0 / 50%); }

.liftvector-brand {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    color: var(--mud-palette-text-primary);
    text-decoration: none;
    flex-shrink: 0;
}

.liftvector-brand span {
    font-size: 29px;
    font-weight: 750;
    letter-spacing: -0.04em;
    line-height: 1;
}

.liftvector-brand img { display: block; }

.liftvector-auth {
    min-height: 100dvh;
    background: var(--mud-palette-background);
    position: relative;
    isolation: isolate;
}

/* A quiet, angled color field frames the form without competing with it. */
.liftvector-auth::before {
    content: "";
    position: absolute;
    inset: 0 0 auto;
    height: 340px;
    z-index: -1;
    background: color-mix(in srgb, var(--mud-palette-primary) 9%, var(--mud-palette-background));
    clip-path: polygon(0 0, 100% 0, 100% 52%, 0 100%);
}

.liftvector-auth-container { max-width: 560px; }
.liftvector-auth header { min-height: 44px; }
.liftvector-auth main > .mud-paper {
    border-radius: 14px;
    box-shadow: var(--liftvector-shadow);
}

.liftvector-auth h1 { text-wrap: balance; line-height: 1.22; }
.liftvector-auth .mud-input-outlined { border-radius: 7px; }
.liftvector-auth .mud-button-filled { min-height: 46px; }
.liftvector-auth .mud-button-root { letter-spacing: 0; }
.liftvector-auth .mud-link { font-weight: 550; }
.liftvector-auth .mud-input-control-helper-container { margin-top: 6px; }

.liftvector-sidebar { border-right: 1px solid var(--mud-palette-lines-default); }
.liftvector-sidebar-header { padding: 28px 20px; min-height: 100px; }
.liftvector-sidebar .mud-navmenu { padding: 0 12px; }
.liftvector-sidebar .mud-nav-link {
    border-radius: 7px;
    padding: 11px 14px;
    font-weight: 550;
}
.liftvector-sidebar .mud-nav-link.active:not(.mud-nav-link-disabled) {
    background: color-mix(in srgb, var(--mud-palette-primary) 12%, transparent);
    color: var(--mud-palette-primary);
}
.liftvector-account { border-top: 1px solid var(--mud-palette-lines-default); }
.liftvector-account > div.mud-menu-activator { display: block; width: 100%; cursor: pointer; }
.liftvector-account .mud-menu-activator:hover,
.liftvector-account .mud-menu-activator[aria-expanded="true"] {
    background: var(--mud-palette-action-default-hover);
}
.liftvector-account-name { overflow-wrap: anywhere; min-width: 0; flex: 1; text-align: left; }
.liftvector-appearance {
    display: inline-flex;
    flex-shrink: 0;
    gap: 2px;
    padding: 3px;
    border-radius: 999px;
    background: var(--mud-palette-background);
}
.liftvector-appearance .mud-icon-button { width: 32px; height: 32px; padding: 6px; }
.liftvector-appearance [aria-pressed="true"] {
    background: var(--mud-palette-surface);
    color: var(--mud-palette-primary);
    box-shadow: 0 1px 4px rgb(0 0 0 / 12%);
}
.liftvector-workspace .mud-main-content { padding-top: 32px; }
.liftvector-workspace .mud-table { font-variant-numeric: tabular-nums; }
.liftvector-workspace .mud-paper,
.liftvector-workspace .liftvector-table-surface { border-radius: 12px; }
.liftvector-form-surface { max-width: 720px; }
.liftvector-company-card { height: 100%; }
.liftvector-table-surface { overflow: hidden; }
.liftvector-table-surface .mud-table-container { overflow-x: auto; }
.liftvector-identifier { overflow-wrap: anywhere; font-family: monospace; }
.liftvector-overview-summary { overflow: hidden; }
.liftvector-overview-stat + .liftvector-overview-stat {
    border-left: 1px solid var(--mud-palette-lines-default);
}
.liftvector-accounting-amount {
    display: grid;
    gap: 4px;
}
.liftvector-accounting-amount strong {
    font-size: 1.1rem;
    font-variant-numeric: tabular-nums;
    overflow-wrap: anywhere;
}
.liftvector-sales-grid .mud-table-cell { vertical-align: top; }
.liftvector-detail-table .mud-table-container { overflow-x: auto; }
.liftvector-break-value { overflow-wrap: anywhere; }

@media (max-width: 959.98px) {
    .liftvector-workspace .mud-main-content { padding-top: 76px; }
    .liftvector-workspace .mud-appbar .liftvector-brand img { width: 28px; height: 28px; }
    .liftvector-workspace .mud-appbar .liftvector-brand span { font-size: 24px; }
}

@media (max-width: 599.98px) {
    .liftvector-auth::before { height: 240px; }
    .liftvector-auth h1 { font-size: 1.65rem; }
    .liftvector-auth-container { padding-bottom: 32px; }
    .liftvector-overview-stat + .liftvector-overview-stat {
        border-top: 1px solid var(--mud-palette-lines-default);
        border-left: 0;
    }
}
