:root {
    --lagasse-ink: #17233a;
    --lagasse-muted: #6a7487;
    --lagasse-line: #e4e8ef;
    --lagasse-surface: #ffffff;
    --lagasse-canvas: #f4f6f9;
    --lagasse-navy: #12213a;
    --lagasse-navy-soft: #1b2e4c;
    --lagasse-primary: #5865f2;
    --lagasse-primary-dark: #4652d9;
    --lagasse-primary-soft: #eef0ff;
    --lagasse-module: var(--lagasse-primary);
    --lagasse-radius: 14px;
    --lagasse-shadow: 0 8px 28px rgba(24, 36, 58, .07);
}

html { background: var(--lagasse-canvas); }
body.lagasse-ui {
    color: var(--lagasse-ink);
    background: var(--lagasse-canvas) !important;
    font-family: Inter, Geist, ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;
}

.lagasse-ui .card {
    border: 1px solid var(--lagasse-line);
    border-radius: var(--lagasse-radius);
    box-shadow: var(--lagasse-shadow);
}

.lagasse-ui .form-control,
.lagasse-ui .form-select,
.lagasse-ui .input-group-text {
    min-height: 44px;
    border-color: #dbe0e8;
    border-radius: 10px;
}

.lagasse-ui .form-control:focus,
.lagasse-ui .form-select:focus {
    border-color: var(--lagasse-module);
    box-shadow: 0 0 0 .22rem color-mix(in srgb, var(--lagasse-module) 14%, transparent);
}

.lagasse-ui .btn { border-radius: 9px; font-weight: 700; }
.lagasse-ui .btn-module {
    color: #fff;
    background: var(--lagasse-module);
    border-color: var(--lagasse-module);
}
.lagasse-ui .btn-module:hover,
.lagasse-ui .btn-module:focus {
    color: #fff;
    filter: brightness(.9);
}

.lagasse-auth-page {
    min-height: 100vh;
    padding: 28px 16px;
    display: flex;
    align-items: center;
    justify-content: center;
    background:
        radial-gradient(circle at 15% 15%, color-mix(in srgb, var(--lagasse-module) 16%, transparent), transparent 28%),
        radial-gradient(circle at 85% 85%, rgba(23, 35, 58, .1), transparent 30%),
        var(--lagasse-canvas) !important;
}

.lagasse-auth-shell {
    width: min(920px, calc(100vw - 32px));
    overflow: hidden;
    border: 1px solid rgba(255,255,255,.75);
    border-radius: 22px;
    background: #fff;
    box-shadow: 0 24px 70px rgba(23,35,58,.14);
}

.lagasse-auth-brand {
    min-height: 510px;
    padding: 48px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    color: #fff;
    background: linear-gradient(145deg, #10243b 0%, #143d4a 62%, var(--lagasse-module) 150%);
}

.lagasse-auth-icon {
    width: 62px;
    height: 62px;
    display: grid;
    place-items: center;
    border-radius: 18px;
    color: #fff;
    background: var(--lagasse-module);
    box-shadow: 0 14px 28px color-mix(in srgb, var(--lagasse-module) 30%, transparent);
    font-size: 1.75rem;
}

.lagasse-auth-form { padding: 58px 54px; }
.lagasse-eyebrow {
    color: var(--lagasse-module);
    font-size: .72rem;
    font-weight: 850;
    letter-spacing: .1em;
    text-transform: uppercase;
}

.lagasse-module-pdv,
.lagasse-module-ponto,
.lagasse-module-almox,
.lagasse-module-agricola { --lagasse-module: var(--lagasse-primary); }

/* Cabeçalho operacional único: usado em todos os módulos PHP. */
.lagasse-module-topbar {
    position: fixed;
    z-index: 1030;
    inset: 0 0 auto 272px;
    min-height: 76px;
    padding: 12px 20px 12px 24px;
    display: flex;
    align-items: center;
    gap: 18px;
    color: var(--lagasse-ink);
    background: rgba(255,255,255,.97);
    border-bottom: 1px solid var(--lagasse-line);
    box-shadow: 0 5px 18px rgba(23,35,58,.035);
    backdrop-filter: blur(12px);
}
.lagasse-topbar-heading { min-width: 0; display: flex; flex-direction: column; }
.lagasse-topbar-heading > span {
    color: #8993a7;
    font-size: .68rem;
    font-weight: 800;
    letter-spacing: .07em;
    text-transform: uppercase;
}
.lagasse-topbar-heading > strong { overflow: hidden; font-size: 1.05rem; text-overflow: ellipsis; white-space: nowrap; }
.lagasse-topbar-actions { margin-left: auto; display: flex; align-items: center; gap: 16px; }
.lagasse-topbar-date {
    min-height: 38px;
    padding: 0 12px;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: #596579;
    border: 1px solid var(--lagasse-line);
    border-radius: 10px;
    font-size: .76rem;
    font-weight: 750;
}
.lagasse-topbar-user { display: flex; align-items: center; gap: 10px; }
.lagasse-topbar-user > b {
    width: 40px;
    height: 40px;
    display: grid;
    place-items: center;
    flex: 0 0 auto;
    color: #fff;
    background: var(--lagasse-module);
    border-radius: 50%;
    font-size: .76rem;
}
.lagasse-topbar-user > span { display: flex; flex-direction: column; line-height: 1.2; }
.lagasse-topbar-user strong { max-width: 190px; overflow: hidden; font-size: .78rem; text-overflow: ellipsis; white-space: nowrap; }
.lagasse-topbar-user small { margin-top: 3px; color: #8b95a7; font-size: .66rem; }
.lagasse-topbar-exit,
.lagasse-shell-menu {
    width: 40px;
    height: 40px;
    display: inline-grid;
    place-items: center;
    flex: 0 0 auto;
    color: #69758a;
    background: #fff;
    border: 1px solid var(--lagasse-line);
    border-radius: 10px;
    text-decoration: none;
}
.lagasse-topbar-exit:hover { color: #dc3545; border-color: #f1b9bf; background: #fff7f8; }
.lagasse-shell-menu { display: none; font-size: 1.45rem; }

@media (max-width: 767.98px) {
    .lagasse-module-topbar { inset-inline-start: 0; min-height: 66px; padding: 10px 12px; gap: 10px; }
    .lagasse-shell-menu { display: inline-grid; }
    .lagasse-topbar-heading > span,
    .lagasse-topbar-date,
    .lagasse-topbar-user > span { display: none; }
    .lagasse-topbar-heading > strong { max-width: 34vw; font-size: .9rem; }
    .lagasse-topbar-actions { gap: 8px; }
    .lagasse-topbar-user > b { width: 38px; height: 38px; }
}

@media (max-width: 767.98px) {
    .lagasse-auth-brand { min-height: 230px; padding: 28px; }
    .lagasse-auth-brand .lagasse-auth-message { display: none; }
    .lagasse-auth-form { padding: 34px 28px; }
}
