/* ==========================================================================
   app.css — componentes compartilhados das telas (carregar DEPOIS de liquid-glass.css)
   ========================================================================== */
:root {
  --ok: #1f7a56; --ok-bg: #e9f6f0; --warn: #a8731a; --warn-bg: #fbf3e2; --danger: #b4443a; --danger-bg: #fbeceb;
  --info: #2c5b92; --info-bg: #e9f1fb; --muted-bg: #eef2f7; --card-r: 14px; --lm-ease: cubic-bezier(.2, .75, .25, 1);
}
.lm-noscroll { overflow: hidden; }
.lm-muted { color: var(--muted); }
[hidden] { display: none !important; }

/* ------------------------------------------------------------ carregamento / bloqueio */
body.lm-booting .main-area, body.lm-booting .sidebar { visibility: hidden; }
.lm-splash { position: fixed; inset: 0; z-index: 400; display: grid; place-items: center; background: var(--canvas); transition: opacity .3s; }
.lm-splash.out { opacity: 0; pointer-events: none; }
.lm-splash .spin { width: 34px; height: 34px; border-radius: 50%; border: 3px solid #d9e2ee; border-top-color: var(--navy); animation: lmSpin .8s linear infinite; }
@keyframes lmSpin { to { transform: rotate(360deg); } }
.lm-gate { max-width: 460px; margin: 12vh auto; padding: 30px; text-align: center; background: #fff; border: 1px solid var(--line); border-radius: 18px; box-shadow: var(--card-shadow); }
.lm-gate h2 { margin: 12px 0 8px; font-size: 20px; } .lm-gate p { color: var(--muted); line-height: 1.6; }

/* ------------------------------------------------------------ botões */
.lm-btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; height: 38px; padding: 0 16px; border-radius: 999px; font: inherit; font-size: 13px; font-weight: 600; cursor: pointer; border: 1px solid transparent; transition: .18s; white-space: nowrap; }
.lm-btn svg { width: 16px; height: 16px; flex: none; }
.lm-btn.primary { background: var(--navy); color: #fff; } .lm-btn.primary:hover { background: #0a2a52; }
.lm-btn.outline { background: #fff; border-color: #dbe3ed; color: #35465e; } .lm-btn.outline:hover { border-color: #b4c3d6; color: var(--navy); }
.lm-btn.ghost { background: transparent; color: #4a5b73; } .lm-btn.ghost:hover { background: #eef2f7; }
.lm-btn.danger { background: var(--danger); color: #fff; } .lm-btn.danger:hover { background: #983830; }
.lm-btn.soft { background: var(--info-bg); color: var(--info); } .lm-btn.soft:hover { background: #dbe8f8; }
.lm-btn.sm { height: 32px; padding: 0 12px; font-size: 12px; }
.lm-btn:disabled { opacity: .45; cursor: not-allowed; }
.lm-btn:focus-visible { outline: 2px solid #5b8fd1; outline-offset: 2px; }

/* ------------------------------------------------------------ distintivos, avatar, vazio */
.lm-badge { display: inline-flex; align-items: center; gap: 5px; padding: 3px 10px; border-radius: 999px; font-size: 11.5px; font-weight: 600; white-space: nowrap; }
.lm-badge.ok { background: var(--ok-bg); color: var(--ok); } .lm-badge.warn { background: var(--warn-bg); color: var(--warn); }
.lm-badge.danger { background: var(--danger-bg); color: var(--danger); } .lm-badge.info { background: var(--info-bg); color: var(--info); }
.lm-badge.muted { background: var(--muted-bg); color: #5b6b82; } .lm-badge.navy { background: var(--navy); color: #fff; }
.lm-badge.violet { background: #efeafc; color: #5a43c8; }
.lm-avatar { display: inline-grid; place-items: center; width: 30px; height: 30px; border-radius: 50%; font-size: 11px; font-weight: 700; color: #fff; background: linear-gradient(135deg, #123a68, #001737); flex: none; }
.lm-avatar.lg { width: 44px; height: 44px; font-size: 15px; }
.lm-empty { display: grid; justify-items: center; gap: 6px; padding: 38px 20px; text-align: center; color: var(--muted); }
.lm-empty .ico { display: grid; place-items: center; width: 52px; height: 52px; border-radius: 16px; background: var(--muted-bg); color: #6b7d95; margin-bottom: 6px; }
.lm-empty .ico svg { width: 24px; height: 24px; } .lm-empty strong { color: #2a3b52; font-size: 14.5px; } .lm-empty p { margin: 0 0 8px; max-width: 360px; font-size: 13px; line-height: 1.5; }
.lm-skel { display: grid; gap: 10px; } .lm-skel i { height: 14px; border-radius: 6px; background: linear-gradient(90deg, #eef2f7, #f6f8fb, #eef2f7); background-size: 200%; animation: lmSh 1.2s infinite; } @keyframes lmSh { to { background-position: -200% 0; } }

/* ------------------------------------------------------------ toasts */
.lm-toasts { position: fixed; z-index: 500; right: 20px; bottom: 20px; display: grid; gap: 8px; max-width: min(380px, calc(100vw - 32px)); }
.lm-toast { display: flex; align-items: flex-start; gap: 10px; padding: 12px 16px; border-radius: 14px; font-size: 13px; line-height: 1.45; color: #fff; background: rgb(8 30 62 / .94); box-shadow: 0 14px 36px rgb(0 10 30 / .3); animation: lmIn .3s var(--lm-ease); transition: .3s; }
.lm-toast.out { opacity: 0; transform: translateY(8px); } .lm-toast svg { width: 17px; height: 17px; margin-top: 1px; flex: none; }
.lm-toast.ok svg { color: #6ee7b7; } .lm-toast.err { background: rgb(120 30 24 / .96); } .lm-toast.warn svg { color: #fcd34d; }
@keyframes lmIn { from { opacity: 0; transform: translateY(10px); } }

/* ------------------------------------------------------------ camadas */
.lm-layer-back { position: fixed; inset: 0; z-index: 300; background: rgb(6 20 40 / .45); opacity: 0; transition: opacity .2s; display: grid; grid-template-rows: minmax(0, 1fr); grid-template-columns: minmax(0, 1fr); }
.lm-layer-back.on { opacity: 1; } .lm-layer-back.modal { place-items: center; padding: 20px; } .lm-layer-back.modal .lm-modal { max-height: calc(100vh - 40px); } .lm-layer-back.drawer { justify-items: end; align-items: stretch; }
.lm-modal, .lm-drawer { display: flex; flex-direction: column; background: #fff; box-shadow: 0 30px 80px rgb(0 10 30 / .35); max-height: 100%; outline: none; }
.lm-modal { width: min(560px, 100%); border-radius: 20px; transform: scale(.97); transition: .2s var(--lm-ease); }
.lm-layer-back.on .lm-modal { transform: none; }
.lm-drawer { width: min(620px, 100%); height: 100%; border-radius: 22px 0 0 22px; transform: translateX(30px); transition: .25s var(--lm-ease); }
.lm-layer-back.on .lm-drawer { transform: none; }
.lm-modal > header, .lm-drawer > header { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; padding: 20px 24px 14px; border-bottom: 1px solid var(--line); }
.lm-modal h3, .lm-drawer h3 { margin: 0; font-size: 17px; letter-spacing: -.3px; } .lm-modal header p, .lm-drawer header p { margin: 4px 0 0; font-size: 12.5px; color: var(--muted); }
.lm-layer-body { flex: 1; overflow-y: auto; padding: 20px 24px; min-height: 0; }
.lm-modal > footer, .lm-drawer > footer { display: flex; justify-content: flex-end; gap: 10px; padding: 14px 24px; border-top: 1px solid var(--line); background: #fbfcfe; border-radius: 0 0 20px 20px; }
.lm-x { display: grid; place-items: center; width: 32px; height: 32px; border: 0; border-radius: 50%; background: transparent; color: #6b7d95; cursor: pointer; } .lm-x:hover { background: #eef2f7; color: var(--navy); }
.lm-x svg { width: 17px; height: 17px; } .lm-x.sm { width: 28px; height: 28px; } .lm-x.sm svg { width: 15px; height: 15px; }
.lm-confirm { margin: 0 0 6px; font-size: 14px; line-height: 1.55; }

/* ------------------------------------------------------------ formulário */
.lm-form { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px 14px; }
.lm-field { display: grid; align-content: start; gap: 6px; min-width: 0; }
.lm-field.span-1 { grid-column: span 1; } .lm-field.span-2 { grid-column: span 2; } .lm-field.span-3 { grid-column: span 3; } .lm-field.span-4 { grid-column: span 4; }
.lm-field > label { font-size: 12px; font-weight: 600; color: #4a5b73; } .lm-field .req { color: var(--danger); }
.lm-field input[type=text], .lm-field input[type=email], .lm-field input[type=number], .lm-field input[type=date], .lm-field input[type=time], .lm-field input[type=password], .lm-field select, .lm-field textarea, .lm-dt input {
  width: 100%; min-height: 40px; padding: 9px 12px; border: 1px solid #d9e2ee; border-radius: 11px; background: #fff; font: inherit; font-size: 13.5px; color: var(--ink); transition: .15s; }
.lm-field textarea { resize: vertical; line-height: 1.5; }
.lm-field input:focus, .lm-field select:focus, .lm-field textarea:focus, .lm-dt input:focus { outline: 0; border-color: #5b8fd1; box-shadow: 0 0 0 3px rgb(71 120 189 / .18); }
.lm-field input:disabled, .lm-field select:disabled { background: #f3f6fa; color: #7d8ca1; }
.lm-field.bad input, .lm-field.bad select, .lm-field.bad textarea { border-color: var(--danger); }
.lm-err { color: var(--danger); font-size: 11.5px; min-height: 0; } .lm-err:empty { display: none; } .lm-help { color: var(--muted); font-size: 11.5px; line-height: 1.4; }
.lm-dt { display: grid; grid-template-columns: 1.4fr 1fr; gap: 8px; }
.lm-check { display: flex; align-items: center; gap: 8px; font-size: 13px; color: #34455b; cursor: pointer; } .lm-check input { width: 16px; height: 16px; accent-color: var(--navy); }
.lm-field.is-check { align-content: center; padding-top: 22px; }
.lm-multi { display: flex; flex-wrap: wrap; gap: 6px 14px; padding: 8px 2px; }
.lm-section { grid-column: 1 / -1; padding-top: 10px; border-top: 1px solid var(--line); margin-top: 4px; } .lm-section:first-child { border: 0; padding-top: 0; margin: 0; }
.lm-section h4 { margin: 0; font-size: 13px; letter-spacing: .2px; color: #1d2e45; } .lm-section p { margin: 3px 0 0; font-size: 12px; color: var(--muted); }

/* ------------------------------------------------------------ tabela */
.lm-tablewrap { background: #fff; border: 1px solid var(--line); border-radius: var(--card-r); box-shadow: var(--card-shadow); overflow: hidden; }
.lm-tablebar { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 12px 16px; border-bottom: 1px solid var(--line); flex-wrap: wrap; }
.lm-search { flex: 1; min-width: 180px; max-width: 340px; height: 36px; padding: 0 14px; border: 1px solid #dbe3ed; border-radius: 999px; font: inherit; font-size: 13px; background: #f8fafc; } .lm-search:focus { outline: 0; border-color: #5b8fd1; background: #fff; box-shadow: 0 0 0 3px rgb(71 120 189 / .15); }
.lm-scroll { overflow-x: auto; } .lm-table { width: 100%; border-collapse: collapse; font-size: 13px; }
.lm-table th { text-align: left; padding: 11px 16px; font-size: 11px; letter-spacing: .6px; text-transform: uppercase; color: #7d8ca1; font-weight: 700; background: #fafbfd; border-bottom: 1px solid var(--line); white-space: nowrap; }
.lm-table th.sortable { cursor: pointer; user-select: none; } .lm-table th.sortable:hover { color: var(--navy); } .lm-table .arrow { margin-left: 4px; font-style: normal; }
.lm-table td { padding: 13px 16px; border-bottom: 1px solid #f0f3f7; vertical-align: middle; color: #2b3b52; }
.lm-table tr:last-child td { border-bottom: 0; } .lm-table tr.clickable { cursor: pointer; } .lm-table tr.clickable:hover td { background: #f6f9fd; }
.lm-table .right { text-align: right; } .lm-table .center { text-align: center; } .lm-empty-cell { text-align: center; padding: 34px 16px !important; color: var(--muted) !important; }
.lm-table td .sub { display: block; font-size: 11.5px; color: var(--muted); margin-top: 2px; } .lm-table td strong { color: #17283f; font-weight: 600; }
.lm-pager { display: flex; align-items: center; justify-content: center; gap: 12px; padding: 10px; font-size: 12.5px; color: var(--muted); } .lm-pager:empty { display: none; }
.lm-pager .lm-btn { width: 32px; padding: 0; height: 32px; }

/* ------------------------------------------------------------ abas */
.lm-tabs { display: flex; gap: 4px; border-bottom: 1px solid var(--line); margin-bottom: 18px; overflow-x: auto; }
.lm-tab { display: inline-flex; align-items: center; gap: 7px; padding: 10px 14px; border: 0; background: none; font: inherit; font-size: 13px; font-weight: 600; color: #6b7d95; cursor: pointer; border-bottom: 2px solid transparent; margin-bottom: -1px; white-space: nowrap; }
.lm-tab svg { width: 15px; height: 15px; } .lm-tab:hover { color: var(--navy); } .lm-tab.on { color: var(--navy); border-bottom-color: var(--navy); }
.lm-tab em { font-style: normal; font-size: 11px; padding: 1px 7px; border-radius: 99px; background: var(--muted-bg); color: #5b6b82; }

/* ------------------------------------------------------------ anexos */
.lm-drop { display: grid; justify-items: center; gap: 4px; padding: 20px; border: 1.5px dashed #c5d2e2; border-radius: 14px; background: #fafcfe; color: #5b6b82; font-size: 13px; text-align: center; cursor: pointer; transition: .15s; }
.lm-drop:hover, .lm-drop.over, .lm-drop:focus-visible { border-color: #5b8fd1; background: #f1f7fe; outline: 0; } .lm-drop svg { width: 22px; height: 22px; color: #6b7d95; } .lm-drop small { color: #8a98ab; }
.lm-files { list-style: none; margin: 12px 0 0; padding: 0; display: grid; gap: 8px; }
.lm-files li { display: flex; align-items: center; gap: 12px; padding: 10px 12px; border: 1px solid var(--line); border-radius: 12px; background: #fff; }
.lm-files li.none { justify-content: center; border: 0; color: var(--muted); font-size: 12.5px; padding: 6px; } .lm-files li.up { gap: 10px; font-size: 13px; }
.lm-files .ft { display: grid; place-items: center; width: 34px; height: 34px; border-radius: 10px; background: var(--info-bg); color: var(--info); flex: none; } .lm-files .ft svg { width: 17px; height: 17px; }
.lm-files li > div { flex: 1; min-width: 0; } .lm-files a { display: block; font-size: 13px; font-weight: 600; color: #1d2e45; text-decoration: none; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } .lm-files a:hover { color: var(--info); text-decoration: underline; }
.lm-files small { color: var(--muted); font-size: 11.5px; } .lm-files progress { flex: 1; height: 6px; accent-color: var(--navy); }

/* ------------------------------------------------------------ cabeçalho de página e cartões */
.pg-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 16px; flex-wrap: wrap; margin: 4px 0 20px; }
.pg-head h1 { margin: 6px 0 4px; font-size: 24px; letter-spacing: -.7px; color: #14243a; } .pg-head p { margin: 0; color: var(--muted); font-size: 13.5px; }
.pg-actions { display: flex; gap: 10px; flex-wrap: wrap; align-items: center; }
.lm-kpis { display: grid; grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); gap: 14px; margin-bottom: 20px; }
.lm-kpi { padding: 16px 18px; background: #fff; border: 1px solid var(--line); border-radius: var(--card-r); box-shadow: var(--card-shadow); }
.lm-kpi span { display: block; font-size: 12px; color: var(--muted); font-weight: 500; } .lm-kpi strong { display: block; margin: 6px 0 2px; font-size: 24px; letter-spacing: -.8px; color: #14243a; } .lm-kpi small { font-size: 11.5px; color: #8391a3; }
.lm-kpi.danger strong { color: var(--danger); } .lm-kpi.warn strong { color: var(--warn); } .lm-kpi.ok strong { color: var(--ok); }
.lm-card { background: #fff; border: 1px solid var(--line); border-radius: var(--card-r); box-shadow: var(--card-shadow); padding: 18px 20px; }
.lm-card > h3 { margin: 0 0 12px; font-size: 14.5px; letter-spacing: -.2px; } .lm-grid-2 { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; } .lm-grid-3 { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.lm-filters { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 14px; align-items: center; }
.lm-chip { height: 34px; padding: 0 14px; border-radius: 999px; border: 1px solid #dbe3ed; background: #fff; font: inherit; font-size: 12.5px; font-weight: 600; color: #4a5b73; cursor: pointer; transition: .15s; }
.lm-chip:hover { border-color: #b4c3d6; } .lm-chip.on { background: var(--navy); border-color: var(--navy); color: #fff; }
.lm-select { height: 36px; padding: 0 12px; border-radius: 999px; border: 1px solid #dbe3ed; background: #fff; font: inherit; font-size: 12.5px; color: #35465e; }
.lm-link { color: var(--info); text-decoration: none; font-weight: 600; cursor: pointer; background: none; border: 0; padding: 0; font: inherit; } .lm-link:hover { text-decoration: underline; }
.lm-kv { display: grid; grid-template-columns: 150px 1fr; gap: 8px 14px; font-size: 13px; } .lm-kv dt { color: var(--muted); } .lm-kv dd { margin: 0; color: #1d2e45; overflow-wrap: anywhere; }
.lm-note { padding: 12px 14px; border-radius: 12px; font-size: 12.5px; line-height: 1.55; background: var(--info-bg); color: #284a73; } .lm-note.warn { background: var(--warn-bg); color: #6f4a0c; } .lm-note.danger { background: var(--danger-bg); color: #84322a; }
.lm-note b { font-weight: 650; }

/* ------------------------------------------------------------ linha do tempo */
.lm-timeline { list-style: none; margin: 0; padding: 0 0 0 4px; display: grid; gap: 0; }
.lm-timeline li { position: relative; padding: 0 0 18px 24px; border-left: 2px solid #e1e8f1; margin-left: 6px; font-size: 13px; }
.lm-timeline li::before { content: ""; position: absolute; left: -7px; top: 3px; width: 12px; height: 12px; border-radius: 50%; background: #fff; border: 3px solid #5b8fd1; }
.lm-timeline li:last-child { border-color: transparent; padding-bottom: 0; } .lm-timeline time { display: block; font-size: 11.5px; color: var(--muted); margin-bottom: 2px; } .lm-timeline strong { color: #17283f; }

/* ------------------------------------------------------------ kanban */
.kb { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(270px, 1fr); gap: 14px; overflow-x: auto; padding-bottom: 8px; align-items: start; }
.kb-col { background: #eef2f7; border-radius: 16px; padding: 10px; min-height: 140px; display: flex; flex-direction: column; gap: 10px; }
.kb-head { display: flex; align-items: center; justify-content: space-between; padding: 6px 8px 2px; font-size: 12.5px; font-weight: 700; color: #34455b; } .kb-head em { font-style: normal; font-size: 11px; padding: 1px 8px; border-radius: 99px; background: #fff; color: #5b6b82; }
.kb-list { display: flex; flex-direction: column; gap: 10px; min-height: 80px; flex: 1; }
.kb-card { background: #fff; border: 1px solid #e3e9f1; border-radius: 13px; padding: 12px 13px; cursor: grab; box-shadow: 0 1px 2px rgb(0 23 55 / .04); transition: box-shadow .15s, transform .15s; }
.kb-card:hover { box-shadow: 0 6px 18px rgb(0 23 55 / .09); } .kb-card strong { display: block; font-size: 13px; color: #17283f; line-height: 1.4; margin-bottom: 6px; }
.kb-card .meta { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; font-size: 11.5px; color: var(--muted); } .kb-card .foot { display: flex; align-items: center; justify-content: space-between; margin-top: 10px; }
.sortable-ghost { opacity: .35; } .sortable-chosen { cursor: grabbing; } .kb-col.over { outline: 2px dashed #5b8fd1; }

/* ------------------------------------------------------------ agenda / calendário */
.cal { background: #fff; border: 1px solid var(--line); border-radius: var(--card-r); overflow: hidden; box-shadow: var(--card-shadow); }
.cal-head { display: flex; align-items: center; justify-content: space-between; padding: 14px 18px; border-bottom: 1px solid var(--line); } .cal-head h3 { margin: 0; font-size: 15px; }
.cal-grid { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); } .cal-dow { padding: 8px; text-align: center; font-size: 11px; font-weight: 700; color: #7d8ca1; letter-spacing: .5px; background: #fafbfd; border-bottom: 1px solid var(--line); }
.cal-day { min-height: 96px; padding: 6px; border-right: 1px solid #f0f3f7; border-bottom: 1px solid #f0f3f7; display: flex; flex-direction: column; gap: 3px; cursor: pointer; } .cal-day:nth-child(7n) { border-right: 0; } .cal-day:hover { background: #f8fafd; }
.cal-day.out { background: #fafbfd; color: #aab5c4; } .cal-day.off { background: #fbfbfd; } .cal-day .n { font-size: 12px; font-weight: 600; width: 24px; height: 24px; display: grid; place-items: center; border-radius: 50%; } .cal-day.today .n { background: var(--navy); color: #fff; }
.cal-ev { font-size: 11px; padding: 2px 6px; border-radius: 6px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; background: var(--info-bg); color: var(--info); font-weight: 600; text-align: left; border: 0; cursor: pointer; }
.cal-ev.p1 { background: var(--danger-bg); color: var(--danger); } .cal-ev.p2 { background: var(--warn-bg); color: var(--warn); } .cal-ev.aud { background: #efeafc; color: #5a43c8; } .cal-ev.done { background: #eef2f7; color: #8391a3; text-decoration: line-through; }
.cal-more { font-size: 10.5px; color: var(--muted); padding-left: 4px; }
.ev-item { display: grid; grid-template-columns: 54px 1fr auto; gap: 14px; align-items: center; padding: 13px 16px; border-bottom: 1px solid #f0f3f7; cursor: pointer; } .ev-item:hover { background: #f8fafd; } .ev-item:last-child { border: 0; }
.ev-date { display: flex; flex-direction: column; align-items: center; justify-content: center; width: 50px; height: 54px; border-radius: 12px; background: #f1f4f8; } .ev-date strong { font-size: 17px; line-height: 1.1; color: #1d2e45; } .ev-date span { font-size: 9.5px; letter-spacing: .8px; font-weight: 700; color: #8391a3; margin-top: 2px; }
.ev-date.p1 { background: var(--danger-bg); } .ev-date.p1 strong { color: var(--danger); } .ev-date.p2 { background: var(--warn-bg); } .ev-date.p2 strong { color: var(--warn); }
.ev-main strong { display: block; font-size: 13.5px; color: #17283f; } .ev-main span { display: block; font-size: 12px; color: var(--muted); margin-top: 3px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

/* ------------------------------------------------------------ gamificação / metas */
.lm-bar { height: 8px; border-radius: 99px; background: #e8eef5; overflow: hidden; } .lm-bar i { display: block; height: 100%; border-radius: 99px; background: linear-gradient(90deg, #2a78d6, #5ba0ee); transition: width .6s var(--lm-ease); } .lm-bar.ok i { background: linear-gradient(90deg, #1f9d6b, #34d399); } .lm-bar.warn i { background: linear-gradient(90deg, #d99a2b, #f5b84b); }
.lm-level { display: flex; align-items: center; gap: 16px; } .lm-medal { display: grid; place-items: center; width: 58px; height: 58px; border-radius: 50%; background: radial-gradient(circle at 30% 25%, #ffe9a8, #d6a640); color: #5b3b00; font-weight: 800; font-size: 20px; box-shadow: 0 6px 16px rgb(214 166 64 / .4), inset 0 -3px 6px rgb(120 80 0 / .25); flex: none; }
.lm-badges { display: flex; flex-wrap: wrap; gap: 10px; } .lm-ach { display: grid; justify-items: center; gap: 4px; width: 92px; padding: 12px 6px; border-radius: 14px; background: #f6f8fb; text-align: center; font-size: 11px; color: #5b6b82; } .lm-ach.on { background: #fff7e0; color: #7a5a10; } .lm-ach svg { width: 24px; height: 24px; opacity: .45; } .lm-ach.on svg { opacity: 1; color: #d6a640; }
.rank { display: grid; gap: 8px; } .rank-row { display: grid; grid-template-columns: 28px 36px 1fr auto; gap: 12px; align-items: center; padding: 10px 12px; border-radius: 12px; background: #f8fafc; } .rank-row.me { background: var(--info-bg); } .rank-n { font-weight: 800; color: #8391a3; text-align: center; } .rank-row:first-child .rank-n { color: #d6a640; }

/* ------------------------------------------------------------ gráficos simples */
.lm-hbars { display: grid; gap: 10px; } .lm-hrow2 { display: grid; grid-template-columns: 120px 1fr 70px; gap: 12px; align-items: center; font-size: 12.5px; } .lm-hrow2 .v { text-align: right; font-weight: 600; color: #1d2e45; }
.lm-cols { display: flex; align-items: flex-end; gap: 10px; height: 160px; padding-top: 10px; } .lm-col { flex: 1; display: grid; justify-items: center; align-items: end; gap: 6px; height: 100%; font-size: 11px; color: var(--muted); } .lm-col i { display: block; width: 100%; max-width: 36px; border-radius: 6px 6px 0 0; background: #2a78d6; opacity: .65; min-height: 3px; } .lm-col:last-child i { opacity: 1; } .lm-col b { font-size: 11px; color: #1d2e45; }

/* ------------------------------------------------------------ painel de notificações e busca (topbar) */
.lm-pop { position: fixed; z-index: 250; width: min(380px, calc(100vw - 24px)); max-height: min(560px, 80vh); display: flex; flex-direction: column; border-radius: 20px; background: rgb(255 255 255 / .96); backdrop-filter: blur(18px) saturate(160%); box-shadow: 0 24px 60px rgb(0 20 50 / .28), 0 0 0 1px rgb(0 23 55 / .08); animation: lmIn .2s var(--lm-ease); overflow: hidden; }
.lm-pop > header { display: flex; align-items: center; justify-content: space-between; padding: 14px 16px 10px; border-bottom: 1px solid var(--line); } .lm-pop h4 { margin: 0; font-size: 14px; } .lm-pop-body { overflow-y: auto; }
.nt { display: grid; grid-template-columns: 34px 1fr; gap: 12px; padding: 12px 16px; border-bottom: 1px solid #f0f3f7; cursor: pointer; } .nt:hover { background: #f6f9fd; } .nt.new { background: #f3f8ff; }
.nt .ic { display: grid; place-items: center; width: 34px; height: 34px; border-radius: 11px; background: var(--info-bg); color: var(--info); } .nt .ic svg { width: 16px; height: 16px; } .nt.alerta .ic { background: var(--danger-bg); color: var(--danger); } .nt.sucesso .ic { background: var(--ok-bg); color: var(--ok); } .nt.aviso .ic { background: var(--warn-bg); color: var(--warn); }
.nt strong { display: block; font-size: 13px; color: #17283f; } .nt p { margin: 2px 0; font-size: 12px; color: #5b6b82; line-height: 1.45; } .nt time { font-size: 11px; color: #8a98ab; }
.notification-button .lm-count { position: absolute; top: 2px; right: 2px; min-width: 17px; height: 17px; padding: 0 4px; border-radius: 99px; background: #e0594c; color: #fff; font-size: 10px; font-weight: 700; display: grid; place-items: center; border: 2px solid #fff; box-sizing: content-box; }
.notification-button > span:not(.lm-count) { display: none; }
.notification-button { position: relative; }

.lm-palette-back { position: fixed; inset: 0; z-index: 320; display: grid; justify-items: center; align-items: start; padding-top: 12vh; background: rgb(6 20 40 / .4); backdrop-filter: blur(3px); opacity: 0; transition: .15s; } .lm-palette-back.on { opacity: 1; }
.lm-palette { width: min(640px, calc(100vw - 24px)); max-height: 70vh; display: flex; flex-direction: column; border-radius: 22px; background: #fff; box-shadow: 0 40px 90px rgb(0 10 30 / .4); overflow: hidden; }
.lm-palette .in { display: flex; align-items: center; gap: 12px; padding: 16px 20px; border-bottom: 1px solid var(--line); } .lm-palette .in svg { width: 20px; color: #6b7d95; } .lm-palette input { flex: 1; border: 0; outline: 0; font: inherit; font-size: 16px; background: none; color: var(--ink); } .lm-palette kbd { font: inherit; font-size: 11px; padding: 2px 7px; border-radius: 6px; background: #eef2f7; color: #6b7d95; }
.lm-results { overflow-y: auto; padding: 8px; } .lm-results h5 { margin: 10px 10px 4px; font-size: 10.5px; letter-spacing: 1px; color: #8a98ab; text-transform: uppercase; }
.rs { display: flex; align-items: center; gap: 12px; padding: 10px 12px; border-radius: 12px; cursor: pointer; } .rs.on, .rs:hover { background: #eef4fb; } .rs .ic { display: grid; place-items: center; width: 32px; height: 32px; border-radius: 10px; background: var(--muted-bg); color: #5b6b82; flex: none; } .rs .ic svg { width: 16px; height: 16px; }
.rs strong { display: block; font-size: 13.5px; color: #17283f; } .rs small { color: var(--muted); font-size: 12px; } .rs .tag { margin-left: auto; font-size: 11px; color: #8a98ab; }

/* ------------------------------------------------------------ Jarvis: botão do menu e HUD global */
.jv-side { display: flex; align-items: center; gap: 6px; width: 100%; padding: 8px 8px 8px 10px; margin-bottom: 20px; border-radius: 22px; color: #fff; position: relative; }
.jv-open { flex: 1; min-width: 0; display: flex; align-items: center; gap: 11px; padding: 0; border: 0; background: none; color: inherit; font: inherit; text-align: left; cursor: pointer; border-radius: 16px; }
.jv-open:focus-visible, .jv-side .mic:focus-visible { outline: 2px solid #8fb6ee; outline-offset: 2px; }
.jv-side .ball { position: relative; flex: none; width: 36px; height: 36px; border-radius: 50%; background: radial-gradient(circle at 32% 26%, #6aa3ec 0%, #2a73d4 38%, #0a2a5c 82%); box-shadow: 0 3px 10px rgb(0 8 30 / .5), inset -3px -4px 8px rgb(0 8 30 / .35); transition: box-shadow .3s; }
.jv-side .ball::before, .jv-side .ball::after { content: ""; position: absolute; top: 34%; width: 4px; height: 11px; border-radius: 4px; background: #eaf6ff; }
.jv-side .ball::before { left: 10px; } .jv-side .ball::after { right: 10px; }
.jv-side[data-state="listening"] .ball { box-shadow: 0 0 0 4px rgb(52 211 153 / .3), 0 3px 10px rgb(0 8 30 / .5); animation: jvBeat 1.1s ease-in-out infinite; }
.jv-side[data-state="speaking"] .ball { box-shadow: 0 0 0 4px rgb(214 168 72 / .35), 0 3px 10px rgb(0 8 30 / .5); animation: jvBeat .7s ease-in-out infinite; }
.jv-side[data-state="thinking"] .ball { box-shadow: 0 0 0 4px rgb(130 100 230 / .35), 0 3px 10px rgb(0 8 30 / .5); }
@keyframes jvBeat { 50% { transform: scale(1.08); } }
.jv-side .t { display: flex; flex-direction: column; gap: 3px; min-width: 0; } .jv-side .t strong { font-size: 13.5px; font-weight: 600; } .jv-side .t span { font-size: 11.5px; color: #8fa6c4; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.jv-side .mic { display: grid; place-items: center; width: 36px; height: 36px; border: 0; border-radius: 50%; background: rgb(255 255 255 / .07); color: #c9d7e8; flex: none; cursor: pointer; transition: .2s; }
.jv-side .mic:hover { background: rgb(255 255 255 / .16); color: #fff; } .jv-side .mic svg { width: 17px; height: 17px; }
.jv-side[data-state="listening"] .mic { color: #6ee7b7; background: rgb(52 211 153 / .18); }
.sidebar-collapsed .jv-side { flex-direction: column; padding: 8px 0; gap: 8px; background: none !important; box-shadow: none !important; } .sidebar-collapsed .jv-side .t { display: none; } .sidebar-collapsed .jv-open { flex: none; }
.lm-hud { position: fixed; z-index: 260; left: 284px; bottom: 22px; width: min(400px, calc(100vw - 24px)); border-radius: 22px; background: rgb(8 30 62 / .94); backdrop-filter: blur(16px); color: #fff; box-shadow: 0 24px 60px rgb(0 10 30 / .45); padding: 16px 18px; animation: lmIn .25s var(--lm-ease); }
.sidebar-collapsed .lm-hud { left: 100px; }
.lm-hud .row { display: flex; align-items: center; gap: 12px; } .lm-hud .st { flex: 1; font-size: 12px; color: #9db4d3; } .lm-hud .st b { color: #6ee7b7; font-weight: 600; }
.lm-hud .say { margin: 12px 0 0; font-size: 14px; line-height: 1.55; max-height: 180px; overflow-y: auto; } .lm-hud .heard { margin: 10px 0 0; font-size: 12.5px; color: #8fa6c4; font-style: italic; }
.lm-hud .acts { display: flex; gap: 8px; margin-top: 12px; } .lm-hud .lm-btn { height: 32px; font-size: 12px; } .lm-hud .lm-btn.outline { background: rgb(255 255 255 / .08); border-color: rgb(255 255 255 / .18); color: #e6eefb; }
.lm-hud .wave { display: flex; gap: 3px; align-items: center; height: 22px; } .lm-hud .wave i { width: 3px; height: 6px; border-radius: 3px; background: #6ee7b7; animation: wv 1s ease-in-out infinite; } .lm-hud .wave i:nth-child(2) { animation-delay: .12s; } .lm-hud .wave i:nth-child(3) { animation-delay: .24s; } .lm-hud .wave i:nth-child(4) { animation-delay: .36s; } @keyframes wv { 50% { height: 20px; } }

/* ------------------------------------------------------------ login */
.lg-page { min-height: 100vh; display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr); background: var(--canvas); }
.lg-hero { position: relative; overflow: hidden; display: flex; flex-direction: column; justify-content: space-between; padding: 48px; color: #fff; background: radial-gradient(520px 360px at 20% 0%, rgb(54 112 204 / .55), transparent 70%), radial-gradient(420px 320px at 100% 100%, rgb(201 162 74 / .28), transparent 70%), linear-gradient(160deg, #0b2a58, #031230); }
.lg-hero img { width: 210px; } .lg-hero h2 { font-size: 34px; letter-spacing: -1px; margin: 0 0 14px; max-width: 460px; line-height: 1.12; } .lg-hero p { color: #b9cbe3; max-width: 440px; line-height: 1.6; font-size: 15px; } .lg-hero ul { list-style: none; padding: 0; margin: 28px 0 0; display: grid; gap: 12px; color: #d3e0f3; font-size: 14px; } .lg-hero li { display: flex; gap: 10px; align-items: center; } .lg-hero li svg { width: 18px; color: #6ee7b7; }
.lg-card { align-self: center; justify-self: center; width: min(420px, calc(100% - 32px)); padding: 32px; background: #fff; border-radius: 22px; border: 1px solid var(--line); box-shadow: var(--card-shadow); } .lg-card h1 { margin: 0 0 6px; font-size: 22px; letter-spacing: -.6px; } .lg-card > p { margin: 0 0 22px; color: var(--muted); font-size: 13.5px; }
.lg-card .lm-form { grid-template-columns: 1fr; } .lg-card .lm-field { grid-column: 1 / -1 !important; } .lg-card .lm-btn { width: 100%; height: 44px; margin-top: 4px; } .lg-links { display: flex; justify-content: space-between; margin-top: 16px; font-size: 12.5px; } .lg-sep { margin: 18px 0 4px; text-align: center; font-size: 12px; color: #98a6b8; }

/* ------------------------------------------------------------ home: mensagem do Jarvis */
.jv-daily .notice-copy p { white-space: pre-line; } .jv-daily .tag { display: inline-flex; margin-left: 8px; padding: 2px 8px; border-radius: 99px; background: rgb(71 120 189 / .14); color: #2c5b92; font-size: 10.5px; font-weight: 700; letter-spacing: .5px; }
.lm-list-rows > * + * { border-top: 1px solid #f0f3f7; }

/* ------------------------------------------------------------ responsivo */
@media (max-width: 980px) { .lg-page { grid-template-columns: 1fr; } .lg-hero { display: none; } .lm-grid-2, .lm-grid-3 { grid-template-columns: 1fr; } }
@media (max-width: 760px) {
  .lm-form { grid-template-columns: repeat(2, minmax(0, 1fr)); } .lm-field.span-3, .lm-field.span-4 { grid-column: 1 / -1; }
  .lm-drawer { border-radius: 0; } .lm-layer-body { padding: 16px; } .lm-modal > header, .lm-drawer > header, .lm-modal > footer, .lm-drawer > footer { padding-inline: 16px; }
  .lm-hud { left: 12px; right: 12px; bottom: 12px; width: auto; } .cal-day { min-height: 64px; } .cal-ev { font-size: 9.5px; padding: 1px 4px; } .ev-item { grid-template-columns: 46px 1fr; } .ev-item > :last-child { grid-column: 2; }
  .lm-hrow2 { grid-template-columns: 90px 1fr 56px; } .lm-kv { grid-template-columns: 1fr; gap: 2px; } .lm-kv dd { margin-bottom: 8px; }
  .lm-table.cards thead { display: none; } .lm-table.cards td { display: block; padding: 6px 14px; border: 0; } .lm-table.cards tr { display: block; border-bottom: 1px solid var(--line); padding: 8px 0; }
}
@media print { .sidebar, .topbar, .pg-actions, .lm-pager, .lm-tablebar { display: none !important; } .main-area { margin: 0 !important; } }
@media (prefers-reduced-motion: reduce) { .lm-toast, .lm-pop, .lm-hud, .lm-modal, .lm-drawer, .lm-bar i { animation: none !important; transition: none !important; } }

/* ------------------------------------------------------------ perfil (popover) e HUD: entrada de texto */
.pf-head { display: flex; gap: 14px; align-items: center; padding: 16px; border-bottom: 1px solid var(--line); } .pf-head strong { display: block; font-size: 14px; } .pf-head small { display: block; color: var(--muted); font-size: 12px; margin-top: 2px; }
.pf-list { padding: 8px; display: grid; } .pf-item { display: flex; align-items: center; gap: 12px; padding: 11px 12px; border: 0; background: none; border-radius: 12px; font: inherit; font-size: 13.5px; color: #26374e; cursor: pointer; text-align: left; } .pf-item:hover { background: #eef4fb; } .pf-item svg { width: 17px; height: 17px; color: #5b6b82; }
.lm-hud .hud-in { flex: 1; min-width: 0; height: 36px; padding: 0 14px; border-radius: 999px; border: 1px solid rgb(255 255 255 / .18); background: rgb(255 255 255 / .08); color: #fff; font: inherit; font-size: 13px; } .lm-hud .hud-in::placeholder { color: #8fa6c4; } .lm-hud .hud-in:focus { outline: 0; border-color: #8fb6ee; }
.lm-hud .lm-avatar { background: radial-gradient(circle at 32% 26%, #6aa3ec, #0a2a5c 80%); } .lm-hud .lm-avatar svg { width: 15px; height: 15px; }

/* ------------------------------------------------------------ faixa do modo demonstração e tons do aviso do Jarvis */
.lm-demo { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; margin: 0 24px; padding: 8px 14px; border-radius: 0 0 16px 16px; background: #fff8e6; border: 1px solid #f1dfae; border-top: 0; color: #6f4a0c; font-size: 12.5px; }
.lm-demo svg { width: 16px; height: 16px; flex: none; } .lm-demo .lm-btn { height: 30px; font-size: 12px; } .lm-demo span { flex: 1; min-width: 200px; }
.jv-daily.alerta { background: linear-gradient(90deg, rgb(224 89 76 / .13), transparent 70%), var(--glass-light-bg, #fff); } .jv-daily.alerta .notice-icon { background: var(--danger-bg); color: var(--danger); }
.jv-daily.aviso .notice-icon { background: var(--warn-bg); color: var(--warn); } .jv-daily.sucesso .notice-icon { background: var(--ok-bg); color: var(--ok); }

/* ---------- metas, financeiro, relatórios, equipe, configurações ---------- */
.lm-ico-chip { display: inline-grid; place-items: center; width: 38px; height: 38px; border-radius: 12px; background: #e8f0fb; color: #2a78d6; flex: none; }
.lm-ico-chip svg { width: 19px; height: 19px; }
.hero-xp { background: linear-gradient(135deg, #0b2a55, #12427f); color: #fff; border: 0; }
.hero-xp .lm-muted, .hero-xp small { color: #bcd2ee; } .hero-xp .lm-bar { background: rgba(255,255,255,.18); } .hero-xp .lm-bar i { background: linear-gradient(90deg, #f5d27a, #c9a24a); }
.xp-level { display: grid; place-items: center; width: 84px; height: 84px; border-radius: 50%; border: 3px solid #c9a24a; background: rgba(255,255,255,.07); text-align: center; }
.xp-level strong { font-size: 34px; line-height: 1; } .xp-level small { font-size: 10px; letter-spacing: .12em; margin-bottom: -14px; }
.streak { text-align: center; } .streak strong { display: block; font-size: 26px; } .streak small { font-size: 12px; }
.lm-list { list-style: none; margin: 0; padding: 0; } .lm-list li + li { border-top: 1px solid var(--line); }
.lm-bars { display: flex; gap: 14px; align-items: flex-end; height: 170px; padding-top: 8px; }
.lm-bars-col { flex: 1; display: grid; gap: 6px; justify-items: center; height: 100%; grid-template-rows: 1fr auto; } .lm-bars-col small { color: #6b7a90; font-size: 11.5px; }
.lm-bars-pair { display: flex; gap: 4px; align-items: flex-end; height: 100%; width: 100%; justify-content: center; }
.lm-bars-pair i { width: 38%; max-width: 22px; min-height: 2px; border-radius: 6px 6px 2px 2px; background: #2a78d6; } .lm-bars-pair i.d, .lm-legend i.d { background: #d99a2b; } .lm-legend i.r { background: #2a78d6; }
.lm-legend { display: flex; gap: 16px; margin-top: 10px; font-size: 12px; color: #6b7a90; } .lm-legend i { display: inline-block; width: 10px; height: 10px; border-radius: 3px; margin-right: 6px; }
.lm-hbar { display: grid; grid-template-columns: 130px 1fr 48px; gap: 10px; align-items: center; padding: 5px 0; font-size: 13px; } .lm-hbar b { text-align: right; font-variant-numeric: tabular-nums; }
.lm-timeline { list-style: none; margin: 0; padding: 0 0 0 14px; border-left: 2px solid var(--line); display: grid; gap: 10px; } .lm-timeline li { display: grid; font-size: 13.5px; } .lm-timeline small { color: #6b7a90; }
.lm-status { display: inline-flex; align-items: center; gap: 8px; } .lm-dot { width: 9px; height: 9px; border-radius: 50%; background: #aab5c4; } .lm-dot.ok { background: #1f9d6b; } .lm-dot.warn { background: #d99a2b; } .lm-dot.bad { background: #c0392b; }
@media print { .sidebar, .topbar, .pg-actions, .lm-tabs, .lm-filters, .demo-bar { display: none !important; } .lm-pane[hidden] { display: block !important; } .lm-card { break-inside: avoid; box-shadow: none; } }

/* ---------- login (privado: só entrar / recuperar senha) ---------- */
.lg-body { margin: 0; min-height: 100vh; background: var(--canvas, #eef2f8); }
.lg-wrap { min-height: 100vh; display: grid; place-items: center; padding: 24px 16px; position: relative; background:
  radial-gradient(900px 420px at 50% -10%, rgb(11 42 85 / .95), transparent 70%), radial-gradient(600px 400px at 90% 100%, rgb(42 120 214 / .14), transparent 70%), var(--canvas, #eef2f8); }
.lg-wrap .lg-card { width: min(420px, 100%); padding: 0; overflow: hidden; border-radius: 22px; background: rgb(255 255 255 / .94); backdrop-filter: blur(14px); border: 1px solid rgb(255 255 255 / .7); box-shadow: 0 24px 60px rgb(0 23 55 / .28); }
.lg-brand { background: linear-gradient(160deg, #001737, #0b2a55); padding: 26px 24px; display: grid; place-items: center; } .lg-brand img { width: 190px; max-width: 70%; height: auto; }
.lg-body-in { padding: 28px 28px 8px; } .lg-body-in h1 { margin: 0 0 6px; font-size: 22px; letter-spacing: -.4px; } .lg-body-in > p { margin: 0 0 18px; color: #5b6b82; font-size: 14px; line-height: 1.5; }
.lg-body-in .lm-form { grid-template-columns: 1fr; gap: 14px; } .lg-body-in .lm-field { grid-column: 1 / -1 !important; } .lg-body-in .lm-btn { width: 100%; height: 46px; margin-top: 4px; }
.lg-pass { position: relative; } .lg-pass input { padding-right: 44px; } .lg-eye { position: absolute; right: 6px; bottom: 6px; width: 34px; height: 34px; border: 0; background: none; color: #6b7a90; border-radius: 10px; cursor: pointer; display: grid; place-items: center; } .lg-eye:hover { background: #eef3fa; color: #0b2a55; }
.lg-links { display: flex; justify-content: center; margin: 14px 0 6px; }
.lg-foot { display: flex; gap: 8px; align-items: center; justify-content: center; padding: 14px 20px 18px; color: #6b7a90; font-size: 12.5px; } .lg-foot svg { width: 15px; height: 15px; color: #1f9d6b; }
@media (max-width: 480px) { .lg-body-in { padding: 22px 20px 6px; } .lg-brand { padding: 20px; } }

/* Home: o espaço entre o banner e o resumo não depende do aviso do Jarvis estar visível */
.welcome-banner + .section-heading, .notice-row[hidden] + .section-heading { margin-top: 30px; }

.lm-bigsearch { display: flex; align-items: center; gap: 10px; height: 50px; padding: 0 14px; margin-bottom: 14px; background: #fff; border: 1px solid var(--line); border-radius: 16px; box-shadow: var(--card-shadow); } .lm-bigsearch:focus-within { border-color: #2a78d6; box-shadow: 0 0 0 3px rgb(42 120 214 / .15); }
.lm-bigsearch > svg { width: 20px; height: 20px; color: #6b7a90; flex: none; } .lm-bigsearch-in { flex: 1; min-width: 0; border: 0; outline: 0; background: none; font: inherit; font-size: 15px; } .lm-bigsearch-in::-webkit-search-cancel-button { display: none; }
.lm-bigsearch-x { border: 0; background: none; color: #6b7a90; width: 30px; height: 30px; border-radius: 8px; cursor: pointer; display: grid; place-items: center; } .lm-bigsearch-x:hover { background: #eef3fa; } .lm-bigsearch-x svg { width: 16px; height: 16px; }
.lm-tablebar.has-big-search { justify-content: flex-end; }

/* agenda: semana e ano */
.cal-week { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 8px; } .cal-wcol { min-height: 220px; padding: 8px; border: 1px solid var(--line); border-radius: 14px; background: #fff; display: flex; flex-direction: column; gap: 5px; min-width: 0; } .cal-wcol.today { border-color: #2a78d6; box-shadow: 0 0 0 2px rgb(42 120 214 / .12); } .cal-wcol.off { background: #f3f6fa; }
.cal-whead { border: 0; background: none; display: flex; align-items: baseline; gap: 6px; cursor: pointer; padding: 2px 2px 6px; font: inherit; } .cal-whead small { color: #6b7a90; font-weight: 600; font-size: 11px; } .cal-whead strong { font-size: 18px; }
.cal-wcol .cal-ev { display: block; width: 100%; text-align: left; white-space: normal; line-height: 1.25; }
.cal-year { display: grid; grid-template-columns: repeat(auto-fill, minmax(210px, 1fr)); gap: 14px; } .cy-mes { padding: 12px; border: 1px solid var(--line); border-radius: 14px; background: #fff; }
.cy-title { border: 0; background: none; font: inherit; font-weight: 700; cursor: pointer; display: flex; gap: 8px; align-items: center; margin-bottom: 8px; } .cy-title em { font-style: normal; font-size: 11px; background: #e8f0fb; color: #2a78d6; padding: 1px 7px; border-radius: 99px; }
.cy-grid { display: grid; grid-template-columns: repeat(7, 1fr); gap: 2px; text-align: center; } .cy-grid b { font-size: 10px; color: #8a97ab; } .cy-d { border: 0; background: none; font: inherit; font-size: 11.5px; height: 26px; border-radius: 8px; cursor: pointer; color: #34465f; } .cy-d:hover { background: #eef3fa; } .cy-d.today { outline: 2px solid #2a78d6; } .cy-d.has { font-weight: 700; color: #fff; background: #5b8fd1; } .cy-d.has.p1 { background: #c0392b; } .cy-d.has.p2 { background: #d99a2b; } .cy-d.aud:not(.p1):not(.p2) { background: #1f9d6b; }
@media (max-width: 900px) { .cal-week { grid-template-columns: 1fr; } .cal-wcol { min-height: 0; } }

/* ---------- celular ---------- */
#searchButton.top-action { display: grid !important; }
@media (max-width: 760px) {
  .sidebar { z-index: 40; } .sidebar-scrim { z-index: 39; }
  #mobileOpen { width: 40px; height: 40px; flex: none; }
  .breadcrumb { min-width: 0; overflow: hidden; } .breadcrumb > i, .breadcrumb { font-size: 12.5px; }
  .lm-tabs { overflow-x: auto; flex-wrap: nowrap; scrollbar-width: none; -webkit-overflow-scrolling: touch; } .lm-tabs::-webkit-scrollbar { display: none; } .lm-tab { flex: none; white-space: nowrap; }
  .pg-head { flex-direction: column; align-items: stretch; gap: 12px; } .pg-actions { flex-wrap: wrap; } .pg-actions > * { flex: 1 1 auto; justify-content: center; }
  .lm-kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); } .lm-grid-2, .lm-grid-3 { grid-template-columns: 1fr; }
  .lm-drawer { width: 100% !important; max-width: 100%; border-radius: 0; } .lm-modal { width: calc(100% - 24px) !important; }
  .lm-form { grid-template-columns: 1fr !important; } .lm-form .lm-field { grid-column: 1 / -1 !important; }
  .lm-tablebar { flex-wrap: wrap; gap: 8px; } .lm-table { min-width: 560px; }
  .kb { grid-auto-columns: 82%; } .cal-grid { font-size: 11px; } .cal-day { min-height: 64px; padding: 3px; }
  .lm-bigsearch { height: 46px; }
  .lg-wrap { align-items: start; padding-top: 7vh; }
}
@media (max-width: 760px) {
  .breadcrumb { font-size: 0 !important; } .breadcrumb strong { font-size: 15px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; display: block; }
  
}

.sidebar-navigation { flex: 1 1 auto; min-height: 0; overflow-y: auto; overscroll-behavior: contain; scrollbar-width: none; } .sidebar-navigation::-webkit-scrollbar { display: none; }

/* ---------- login v2 (cartão dividido, glass, relógio e status) ---------- */
.lg-body { background: #061a35; color: #14253d; font-family: Inter, system-ui, sans-serif; }
.lg2-bg { position: fixed; inset: 0; overflow: hidden; background: radial-gradient(1200px 700px at 15% -10%, #12427f 0%, transparent 60%), radial-gradient(900px 600px at 100% 110%, rgb(201 162 74 / .22), transparent 60%), linear-gradient(160deg, #001737 0%, #06224a 55%, #0b2a55 100%); }
.lg2-bg::after { content: ""; position: absolute; inset: 0; background-image: linear-gradient(rgb(255 255 255 / .035) 1px, transparent 1px), linear-gradient(90deg, rgb(255 255 255 / .035) 1px, transparent 1px); background-size: 52px 52px; mask-image: radial-gradient(circle at 50% 40%, #000, transparent 75%); }
.lg2-bg .orb { position: absolute; border-radius: 50%; filter: blur(70px); opacity: .5; animation: lgFloat 16s ease-in-out infinite; } .lg2-bg .o1 { width: 380px; height: 380px; background: #2a78d6; left: -80px; top: 12%; } .lg2-bg .o2 { width: 320px; height: 320px; background: #c9a24a; right: -60px; bottom: 6%; opacity: .28; animation-delay: -7s; }
.lg2-bg .marca { position: absolute; right: 6%; top: 8%; width: 220px; color: rgb(255 255 255 / .06); }
@keyframes lgFloat { 0%,100% { transform: translate(0,0); } 50% { transform: translate(30px,-24px); } }
.lg2-wrap { position: relative; z-index: 1; min-height: 100vh; display: grid; place-items: center; padding: 28px 16px; }
.lg2-card { width: min(960px, 100%); display: grid; grid-template-columns: 1.05fr 1fr; border-radius: 26px; overflow: hidden; background: rgb(255 255 255 / .96); box-shadow: 0 40px 90px rgb(0 10 30 / .55), 0 0 0 1px rgb(255 255 255 / .12); animation: lgIn .6s cubic-bezier(.2,.8,.2,1) both; }
@keyframes lgIn { from { opacity: 0; transform: translateY(18px) scale(.985); } to { opacity: 1; transform: none; } }
.lg2-card.shake { animation: lgShake .45s; } @keyframes lgShake { 20%,60% { transform: translateX(-7px); } 40%,80% { transform: translateX(7px); } }
.lg2-brand { position: relative; padding: 40px 38px; color: #fff; display: flex; flex-direction: column; gap: 26px; background: linear-gradient(165deg, #001737 0%, #0a2a56 70%, #12427f 130%); overflow: hidden; }
.lg2-brand::before { content: ""; position: absolute; width: 340px; height: 340px; right: -140px; top: -120px; border-radius: 50%; background: radial-gradient(circle, rgb(201 162 74 / .28), transparent 65%); }
.lg2-logo { width: 190px; max-width: 70%; position: relative; }
.lg2-brand-mid { position: relative; } .lg2-kicker { font-size: 11px; letter-spacing: .18em; color: #c9a24a; font-weight: 600; }
.lg2-brand h2 { font-size: 27px; line-height: 1.18; letter-spacing: -.7px; margin: 10px 0 20px; max-width: 360px; font-weight: 650; }
.lg2-clock { display: inline-flex; flex-direction: column; padding: 12px 16px; border-radius: 16px; background: rgb(255 255 255 / .07); border: 1px solid rgb(255 255 255 / .12); backdrop-filter: blur(6px); }
.lg2-clock strong { font-size: 30px; letter-spacing: -1px; font-variant-numeric: tabular-nums; } .lg2-clock span { font-size: 12.5px; color: #b9cbe3; text-transform: capitalize; }
.lg2-trust { list-style: none; margin: auto 0 0; padding: 0; display: grid; gap: 12px; position: relative; } .lg2-trust li { display: flex; gap: 12px; align-items: flex-start; font-size: 13px; color: #b9cbe3; line-height: 1.45; } .lg2-trust li b { color: #fff; font-weight: 600; }
.lg2-trust svg { width: 18px; height: 18px; flex: none; margin-top: 1px; color: #c9a24a; }
.lg2-oab { color: #7f95b1; position: relative; }
.lg2-form-side { padding: 38px 40px 22px; display: flex; flex-direction: column; justify-content: center; background: linear-gradient(180deg, #fff, #f6f9fd); }
.lg2-mobile-logo { display: none; }
.lg2-hello { font-size: 13px; color: #2a78d6; font-weight: 600; letter-spacing: .02em; } .lg2-body h1 { margin: 4px 0 6px; font-size: 26px; letter-spacing: -.8px; } .lg2-body > p { margin: 0 0 22px; color: #5b6b82; font-size: 14px; line-height: 1.55; }
.lg2-body .lm-form { grid-template-columns: 1fr; gap: 16px; } .lg2-body .lm-field { grid-column: 1 / -1 !important; }
.lg2-body input { height: 48px; border-radius: 14px; padding-left: 44px; font-size: 15px; background: #fff; }
.lg2-field { position: relative; } .lg2-field > svg { position: absolute; left: 14px; bottom: 14px; width: 19px; height: 19px; color: #7d8ca3; pointer-events: none; } .lg2-field:focus-within > svg { color: #2a78d6; }
.lg2-caps { position: absolute; right: 46px; bottom: -18px; color: #b2750f; font-size: 11.5px; display: inline-flex; gap: 4px; align-items: center; } .lg2-caps svg { width: 13px; height: 13px; }
.lg2-body .lg-eye { bottom: 7px; right: 7px; }
.lg2-go { height: 50px; border-radius: 14px; margin-top: 8px; font-size: 15px; font-weight: 600; background: linear-gradient(135deg, #001737, #12427f); box-shadow: 0 12px 26px rgb(0 23 55 / .3); transition: transform .15s, box-shadow .15s; } .lg2-go:hover { transform: translateY(-1px); box-shadow: 0 16px 30px rgb(0 23 55 / .36); } .lg2-go.loading { opacity: .8; pointer-events: none; }
.lg2-body .lg-links { margin-top: 18px; } .lg2-body .lm-link { font-weight: 600; }
.lg2-foot { margin-top: 26px; padding-top: 14px; border-top: 1px solid #e3eaf3; display: flex; align-items: center; gap: 8px; font-size: 12px; color: #6b7a90; }
.lg2-dot { width: 9px; height: 9px; border-radius: 50%; background: #aab5c4; flex: none; } .lg2-dot.ok { background: #1f9d6b; box-shadow: 0 0 0 4px rgb(31 157 107 / .16); } .lg2-dot.warn { background: #d99a2b; box-shadow: 0 0 0 4px rgb(217 154 43 / .18); }
@media (max-width: 860px) {
  .lg2-card { grid-template-columns: 1fr; max-width: 460px; } .lg2-brand { display: none; }
  .lg2-mobile-logo { display: grid; place-items: center; margin: -38px -40px 24px; padding: 24px; background: linear-gradient(160deg, #001737, #0b2a55); } .lg2-mobile-logo img { width: 170px; }
}
@media (max-width: 480px) { .lg2-form-side { padding: 28px 22px 18px; } .lg2-mobile-logo { margin: -28px -22px 20px; } .lg2-body h1 { font-size: 23px; } .lg2-wrap { padding: 14px 12px; } }
@media (prefers-reduced-motion: reduce) { .lg2-card, .lg2-bg .orb { animation: none; } }
.lg2-body .lg2-field input { padding-left: 46px !important; }
.lg2-field > svg { z-index: 2; bottom: 14px; }
.lg2-clock span { text-transform: none !important; }

.ev-partes { display: block; color: #4a5d78; font-size: 12.5px; margin-top: 2px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; max-width: 100%; }

/* ---------- login v3 (visual "IA": rede neural, orbe, vidro escuro) ---------- */
body.lg3 { background: #040814; overflow: hidden; min-height: 100vh; --mx: 0; --my: 0; }
#lgNet { position: fixed; inset: 0; z-index: 0; }
.lg3-glow { position: fixed; border-radius: 50%; filter: blur(110px); z-index: 0; pointer-events: none; animation: lgFloat 18s ease-in-out infinite; }
.lg3-glow.g1 { width: 560px; height: 560px; left: -140px; top: -120px; background: radial-gradient(circle, #1d5bd6, transparent 68%); opacity: .55; }
.lg3-glow.g2 { width: 520px; height: 520px; right: -120px; bottom: -140px; background: radial-gradient(circle, #c9a24a, transparent 68%); opacity: .32; animation-delay: -8s; }
.lg3-wrap { position: relative; z-index: 2; min-height: 100vh; display: grid; place-items: center; padding: 24px 16px; }
.lg3-panel { position: relative; width: min(430px, 100%); padding: 74px 34px 22px; border-radius: 28px; background: linear-gradient(160deg, rgb(14 24 52 / .72), rgb(6 12 30 / .78)); backdrop-filter: blur(22px) saturate(140%); box-shadow: 0 40px 100px rgb(0 0 0 / .6), inset 0 1px 0 rgb(255 255 255 / .09); color: #e8f0ff; animation: lgIn .8s cubic-bezier(.2,.8,.2,1) both; transform: translate(calc(var(--mx) * -6px), calc(var(--my) * -6px)); transition: transform .25s ease-out; }
.lg3-panel::before { content: ""; position: absolute; inset: -1.5px; z-index: -1; border-radius: 29px; background: conic-gradient(from var(--ang, 0deg), transparent 0 55%, #2a78d6 70%, #c9a24a 85%, transparent 100%); animation: lgSpin 6s linear infinite; }
.lg3-panel::after { content: ""; position: absolute; inset: 0; z-index: -1; border-radius: 28px; background: #070d22; }
@property --ang { syntax: "<angle>"; initial-value: 0deg; inherits: false; }
@keyframes lgSpin { to { --ang: 360deg; } }
.lg3-orb { position: absolute; left: 50%; top: -42px; width: 84px; height: 84px; margin-left: -42px; border-radius: 50%; background: radial-gradient(circle at 32% 28%, #8bbcff, #2a78d6 45%, #0b2a66 100%); box-shadow: 0 0 0 6px #070d22, 0 0 46px 6px rgb(42 120 214 / .6), inset -8px -10px 22px rgb(0 0 40 / .5); animation: lgPulse 3.6s ease-in-out infinite; }
.lg3-orb .eye { position: absolute; top: 34px; width: 14px; height: 4px; border-radius: 4px; background: #eaf3ff; box-shadow: 0 0 10px #bfe0ff; transform: translate(calc(var(--mx) * 12px), calc(var(--my) * 9px)); transition: transform .12s linear; animation: lgBlink 5s infinite; } .lg3-orb .eye.l { left: 20px; } .lg3-orb .eye.r { right: 20px; }
@keyframes lgPulse { 0%,100% { box-shadow: 0 0 0 6px #070d22, 0 0 40px 4px rgb(42 120 214 / .5), inset -8px -10px 22px rgb(0 0 40 / .5); } 50% { box-shadow: 0 0 0 6px #070d22, 0 0 66px 12px rgb(42 120 214 / .75), inset -8px -10px 22px rgb(0 0 40 / .5); } }
@keyframes lgBlink { 0%,92%,100% { height: 4px; } 95% { height: 1px; } }
.lg3-logo { display: block; width: 170px; margin: 0 auto 18px; opacity: .95; }
.lg3-body { text-align: left; } .lg3-hello { font-size: 13px; color: #8fb6ff; font-weight: 600; letter-spacing: .04em; } .lg3-body h1 { margin: 2px 0 18px; font-size: 30px; letter-spacing: -1px; background: linear-gradient(90deg, #fff, #9cc2ff); -webkit-background-clip: text; background-clip: text; color: transparent; } .lg3-body > p { color: #9fb2d3; font-size: 13.5px; margin: -8px 0 18px; }
.lg3-body .lm-form { grid-template-columns: 1fr; gap: 14px; } .lg3-body .lm-field { grid-column: 1 / -1 !important; }
.lg3-body label { color: #b9c9e6; font-size: 12px; }
.lg3-body input { height: 50px; border-radius: 14px; padding-left: 46px !important; background: rgb(255 255 255 / .06); border: 1px solid rgb(255 255 255 / .12); color: #fff; font-size: 15px; box-shadow: none; } .lg3-body input::placeholder { color: #6f84a8; } .lg3-body input:focus { border-color: #5aa0ff; background: rgb(255 255 255 / .09); box-shadow: 0 0 0 4px rgb(42 120 214 / .22); outline: 0; }
.lg3-body input:-webkit-autofill { -webkit-text-fill-color: #fff; box-shadow: 0 0 0 40px #0e1a3a inset; }
.lg3-body .lg2-field > svg { color: #7f99c4; } .lg3-body .lg2-field:focus-within > svg { color: #8fc0ff; } .lg3-body .lg-eye { color: #8aa3cc; } .lg3-body .lg-eye:hover { background: rgb(255 255 255 / .08); color: #fff; }
.lg3-body .lm-note { background: rgb(217 83 79 / .14); border: 1px solid rgb(217 83 79 / .4); color: #ffb3b0; border-radius: 12px; font-size: 13px; } .lg3-body .lm-note:not(.danger) { background: rgb(31 157 107 / .14); border-color: rgb(31 157 107 / .4); color: #9ff0cc; }
.lg3-body .lg2-go { position: relative; overflow: hidden; width: 100%; height: 52px; border: 0; border-radius: 14px; margin-top: 6px; color: #fff; font-weight: 650; font-size: 15px; background: linear-gradient(110deg, #1d5bd6, #2a78d6 40%, #5aa0ff); box-shadow: 0 14px 34px rgb(42 120 214 / .45); }
.lg3-body .lg2-go::after { content: ""; position: absolute; inset: 0; background: linear-gradient(110deg, transparent 30%, rgb(255 255 255 / .35) 50%, transparent 70%); transform: translateX(-120%); animation: lgShine 3.4s ease-in-out infinite; } @keyframes lgShine { 60%,100% { transform: translateX(120%); } }
.lg3-body .lg-links { margin-top: 16px; } .lg3-body .lm-link { color: #8fb6ff; background: none; border: 0; font-weight: 600; cursor: pointer; } .lg3-body .lm-link:hover { color: #fff; }
.lg3-foot { margin-top: 22px; display: flex; gap: 8px; align-items: center; justify-content: center; font-size: 12px; color: #7f95b9; }
.lg3 .lg2-caps { color: #ffcf7a; }
@media (max-width: 480px) { .lg3-panel { padding: 70px 22px 18px; } .lg3-body h1 { font-size: 26px; } }
@media (prefers-reduced-motion: reduce) { .lg3-panel, .lg3-panel::before, .lg3-orb, .lg3-glow, .lg3-body .lg2-go::after { animation: none !important; } }

body.lg3 { background: #040814 !important; } body.lg3 .lg3-wrap { background: transparent !important; } body.lg3::before, body.lg3::after, html:has(body.lg3)::before { display: none !important; }
.lg3-body input, .lg3-body input[type="password"], .lg3-body input[type="text"], .lg3-body input[type="email"] { background: rgb(255 255 255 / .06) !important; color: #fff !important; border: 1px solid rgb(255 255 255 / .12) !important; }
.lg3-body input:focus { background: rgb(255 255 255 / .1) !important; border-color: #5aa0ff !important; }

/* ---------- agilidade: transição suave entre páginas, entrada animada e splash curto ---------- */
@view-transition { navigation: auto; }
::view-transition-old(root) { animation: lmOut .14s ease-in both; } ::view-transition-new(root) { animation: lmIn .26s cubic-bezier(.2,.8,.2,1) both; }
.sidebar { view-transition-name: lm-sidebar; } .topbar { view-transition-name: lm-topbar; }
::view-transition-group(lm-sidebar), ::view-transition-group(lm-topbar) { animation-duration: 0s; }
@keyframes lmOut { to { opacity: 0; transform: translateY(-4px); } } @keyframes lmIn { from { opacity: 0; transform: translateY(10px); } }
@keyframes lmRise { from { opacity: 0; transform: translateY(12px) scale(.992); } to { opacity: 1; transform: none; } }
.pg-head, .lm-kpi, .metric-card, .welcome-banner, .panel, .lm-card, .kb-col, .lm-tabset, .lm-bigsearch, .cal { animation: lmRise .42s cubic-bezier(.2,.8,.2,1) both; }
.lm-kpi:nth-child(2), .metric-card:nth-child(2) { animation-delay: .04s; } .lm-kpi:nth-child(3), .metric-card:nth-child(3) { animation-delay: .08s; } .lm-kpi:nth-child(4), .metric-card:nth-child(4) { animation-delay: .12s; } .lm-kpi:nth-child(5) { animation-delay: .16s; }
.lm-grid-2 > .lm-card:nth-child(2), .lm-grid-3 > .lm-card:nth-child(2) { animation-delay: .05s; } .lm-grid-3 > .lm-card:nth-child(3) { animation-delay: .1s; }
.lm-splash.out { transition-duration: .15s !important; }
.lm-btn, .nav-item, .lm-chip, .lm-card, .kb-card { transition: transform .15s ease, box-shadow .2s ease, background-color .2s ease, border-color .2s ease; } .lm-btn:active { transform: scale(.97); } .lm-card:hover, .tese-card:hover { box-shadow: 0 10px 28px rgb(15 40 80 / .1); }
@media (prefers-reduced-motion: reduce) { * { animation-duration: .001s !important; transition-duration: .001s !important; } }
.tese-grupo { margin-bottom: 14px; border: 1px solid var(--line); border-radius: 16px; background: #fff; padding: 4px 16px 14px; } .tese-grupo > summary { list-style: none; cursor: pointer; display: flex; align-items: center; gap: 10px; padding: 12px 0; font-size: 14.5px; } .tese-grupo > summary::-webkit-details-marker { display: none; }
.tese-grupo > summary .ico { color: #2a78d6; display: grid; } .tese-grupo > summary em { margin-left: auto; font-style: normal; font-size: 12px; background: #e8f0fb; color: #2a78d6; padding: 2px 9px; border-radius: 99px; } .tese-grupo[open] > summary { border-bottom: 1px solid var(--line); }

/* ---------- login v4 — clássico e elegante (azul-marinho, dourado e serifa) ---------- */
body.lg4 { background: #f7f4ee !important; margin: 0; font-family: Inter, system-ui, sans-serif; color: #14253d; min-height: 100vh; overflow-x: hidden; }
body.lg4::before, body.lg4::after { display: none !important; }
.lg4-page { min-height: 100vh; display: grid; grid-template-columns: minmax(0, 1.08fr) minmax(0, 1fr); }
.lg4-brand { position: relative; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 30px; padding: 56px 48px; color: #e9dcc0; overflow: hidden;
  background: radial-gradient(900px 520px at 20% 0%, rgb(255 255 255 / .07), transparent 60%), linear-gradient(165deg, #001a3d 0%, #00122b 60%, #000d1f 100%); }
.lg4-brand::before { content: ""; position: absolute; inset: 0; background-image: repeating-linear-gradient(135deg, rgb(201 162 74 / .045) 0 1px, transparent 1px 22px); }
.lg4-frame { position: absolute; inset: 26px; border: 1px solid rgb(201 162 74 / .45); pointer-events: none; } .lg4-frame::after { content: ""; position: absolute; inset: 7px; border: 1px solid rgb(201 162 74 / .18); }
.lg4-balanca { width: 110px; height: 110px; color: rgb(201 162 74 / .75); position: relative; animation: lg4Float 7s ease-in-out infinite; } @keyframes lg4Float { 50% { transform: translateY(-8px); } }
.lg4-logo { width: min(300px, 62%); position: relative; filter: drop-shadow(0 8px 24px rgb(0 0 0 / .45)); }
.lg4-lema { position: relative; text-align: center; font-family: "Cormorant Garamond", Georgia, serif; } .lg4-lema span { display: block; font-size: 30px; font-style: italic; font-weight: 500; letter-spacing: .02em; color: #f1e6cc; } .lg4-lema small { display: block; margin-top: 6px; font-family: Inter, sans-serif; font-size: 11px; letter-spacing: .26em; text-transform: uppercase; color: #b79a5a; }
.lg4-oab { position: absolute; bottom: 42px; font-style: normal; font-size: 11.5px; letter-spacing: .2em; text-transform: uppercase; color: rgb(233 220 192 / .6); }
.lg4-form-side { display: grid; place-items: center; padding: 40px 24px; background: linear-gradient(180deg, #fbf9f4, #f4efe5); }
.lg4-card { width: min(400px, 100%); animation: lgIn .7s cubic-bezier(.2,.8,.2,1) both; }
.lg4-logo-m { display: none; }
.lg4-body { text-align: left; } .lg4-hello { font-family: "Cormorant Garamond", Georgia, serif; font-size: 20px; font-style: italic; color: #9a7a33; }
.lg4-body h1 { margin: 2px 0 8px; font-family: "Cormorant Garamond", Georgia, serif; font-weight: 700; font-size: 44px; letter-spacing: -.5px; color: #0b1f3f; line-height: 1.05; } .lg4-body h1::after { content: ""; display: block; width: 56px; height: 2px; margin: 14px 0 22px; background: linear-gradient(90deg, #c9a24a, transparent); }
.lg4-body > p { color: #5b6b82; font-size: 14px; margin: -8px 0 18px; }
.lg4-body .lm-form { grid-template-columns: 1fr; gap: 20px; } .lg4-body .lm-field { grid-column: 1 / -1 !important; }
.lg4-body label { font-size: 11px; letter-spacing: .14em; text-transform: uppercase; color: #6b7a90; font-weight: 600; }
.lg4-body input { height: 46px; border: 0 !important; border-bottom: 1px solid #b9c2cf !important; border-radius: 0 !important; background: transparent !important; padding-left: 34px !important; padding-right: 8px; font-size: 16px; color: #0b1f3f !important; box-shadow: none !important; transition: border-color .2s; }
.lg4-body input::placeholder { color: #a3adbb; } .lg4-body input:focus { outline: 0; border-bottom: 2px solid #c9a24a !important; background: transparent !important; }
.lg4-body input:-webkit-autofill { -webkit-text-fill-color: #0b1f3f; box-shadow: 0 0 0 40px #f6f2e9 inset !important; }
.lg4-body .lg2-field > svg { left: 2px; bottom: 13px; width: 18px; height: 18px; color: #9a7a33; } .lg4-body .lg-eye { right: 0; bottom: 6px; color: #8b97aa; } .lg4-body .lg-eye:hover { background: rgb(201 162 74 / .12); color: #0b1f3f; }
.lg4-body .lm-note { border-radius: 4px; font-size: 13px; background: #fbeeee; border: 1px solid #efc4c2; color: #9b2c28; } .lg4-body .lm-note:not(.danger) { background: #eef6f1; border-color: #bfe0cc; color: #1d6b49; }
.lg4-go { width: 100%; height: 52px; margin-top: 6px; border: 0; border-radius: 2px; color: #f3e7c9; font-family: Inter, sans-serif; font-weight: 600; font-size: 13px; letter-spacing: .2em; text-transform: uppercase; background: linear-gradient(180deg, #0b2a55, #001a3d); box-shadow: inset 0 0 0 1px rgb(201 162 74 / .55), 0 12px 26px rgb(0 23 55 / .25); transition: all .25s; }
.lg4-go:hover { color: #fff; box-shadow: inset 0 0 0 1px #c9a24a, 0 16px 32px rgb(0 23 55 / .32); letter-spacing: .24em; } .lg4-go svg { color: #c9a24a; }
.lg4-body .lg-links { margin-top: 18px; justify-content: flex-start; } .lg4-body .lm-link { color: #7b6226; background: none; border: 0; border-bottom: 1px solid rgb(201 162 74 / .5); padding: 0 0 2px; cursor: pointer; font-size: 13px; } .lg4-body .lm-link:hover { color: #0b1f3f; border-color: #0b1f3f; }
.lg4-foot { margin-top: 44px; display: flex; align-items: center; gap: 8px; font-size: 11.5px; color: #8b97aa; letter-spacing: .04em; } .lg4-foot b { opacity: .5; }
.lg4 .lg2-caps { color: #b2750f; }
@media (max-width: 900px) {
  .lg4-page { grid-template-columns: 1fr; } .lg4-brand { display: none; }
  .lg4-form-side { min-height: 100vh; align-items: start; padding: 0; background: #fbf9f4; } .lg4-card { width: 100%; padding: 0 26px 30px; }
  .lg4-logo-m { display: block; width: 190px; margin: 0 auto; padding: 26px 0; position: relative; }
  .lg4-card::before { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 120px; background: linear-gradient(165deg, #001a3d, #00122b); z-index: -1; border-bottom: 2px solid #c9a24a; }
  .lg4-card { position: relative; z-index: 0; } .lg4-logo-m { margin-bottom: 34px; } .lg4-body h1 { font-size: 38px; }
}
@media (prefers-reduced-motion: reduce) { .lg4-balanca, .lg4-card { animation: none; } }

/* ===== login v5 — cartão azul + formulário arredondado ===== */
body.lg5 { background: #f3f6fb !important; margin: 0; font-family: Inter, system-ui, sans-serif; color: #12213a; min-height: 100vh; overflow-x: hidden; }
body.lg5::before, body.lg5::after { display: none !important; }
.lg5-page { min-height: 100vh; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 24px; padding: 20px; max-width: 1280px; margin: 0 auto; }
.lg5-hero { position: relative; border-radius: 22px; padding: 56px 52px; display: flex; flex-direction: column; justify-content: space-between; color: #fff; overflow: hidden;
  background: radial-gradient(700px 420px at 90% 0%, rgb(255 255 255 / .16), transparent 62%), linear-gradient(155deg, #2b7de9 0%, #1550b8 48%, #0a2d6e 100%); box-shadow: 0 30px 70px rgb(21 80 184 / .28); animation: lg5In .8s cubic-bezier(.2,.8,.2,1) both; }
.lg5-hero::after { content: ""; position: absolute; right: -90px; bottom: -90px; width: 320px; height: 320px; border-radius: 50%; border: 1px solid rgb(255 255 255 / .18); box-shadow: 0 0 0 46px rgb(255 255 255 / .04), 0 0 0 92px rgb(255 255 255 / .03); }
.lg5-hero h2 { margin: 0; font-weight: 300; font-size: clamp(34px, 3.6vw, 52px); line-height: 1.16; letter-spacing: -.02em; } .lg5-hero h2 b { font-weight: 800; }
.lg5-quote { position: relative; z-index: 1; margin: 0; max-width: 360px; font-size: 15px; line-height: 1.55; color: rgb(255 255 255 / .92); } .lg5-quote small { display: block; margin-top: 8px; font-size: 12px; letter-spacing: .06em; color: rgb(255 255 255 / .65); }
.lg5-side { display: grid; place-items: center; padding: 16px; }
.lg5-card { width: min(420px, 100%); text-align: center; animation: lg5In .8s .08s cubic-bezier(.2,.8,.2,1) both; }
@keyframes lg5In { from { opacity: 0; transform: translateY(14px); } }
.lg5-logo { width: 230px; max-width: 70%; margin: 0 auto 26px; display: block; filter: drop-shadow(0 4px 10px rgb(10 45 110 / .18)); }
.lg5-body h1 { margin: 0 0 26px; font-size: 21px; font-weight: 700; color: #12213a; letter-spacing: -.01em; }
.lg5-body > p { color: #5c6b82; font-size: 14px; margin: -14px 0 18px; }
.lg5-body .lm-form { grid-template-columns: 1fr; gap: 14px; text-align: left; } .lg5-body .lm-field { grid-column: 1 / -1 !important; }
.lg5-body label { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.lg5-body input { height: 50px; border: 1px solid #dbe3ef !important; border-radius: 12px !important; background: #fff !important; padding-left: 44px !important; padding-right: 14px; font-size: 15px; color: #12213a !important; box-shadow: 0 1px 2px rgb(18 33 58 / .04); transition: border-color .2s, box-shadow .2s; }
.lg5-body input::placeholder { color: #8a97ab; }
.lg5-body input:focus { outline: 0; border-color: #2b7de9 !important; box-shadow: 0 0 0 4px rgb(43 125 233 / .16); background: #fff !important; }
.lg5-body input:-webkit-autofill { -webkit-text-fill-color: #12213a; box-shadow: 0 0 0 40px #fff inset !important; }
.lg5-body .lg2-field > svg { left: 15px; bottom: 16px; width: 18px; height: 18px; color: #7d8aa0; } .lg5-body .lg-eye { right: 8px; bottom: 7px; color: #7d8aa0; } .lg5-body .lg-eye:hover { background: #eef3fb; color: #12213a; }
.lg5-body .lg-pass input { padding-right: 46px; }
.lg5-body .lm-note { border-radius: 10px; font-size: 13px; text-align: left; background: #fdeeee; border: 1px solid #f3c6c4; color: #9b2c28; } .lg5-body .lm-note:not(.danger) { background: #edf7f1; border-color: #bfe0cc; color: #1d6b49; }
.lg5-go { width: 100%; height: 50px; margin-top: 8px; border: 0 !important; border-radius: 12px !important; color: #fff !important; font-weight: 700; font-size: 15px; letter-spacing: 0 !important; text-transform: none !important; background: linear-gradient(180deg, #2f86f0, #1d63d6) !important; box-shadow: 0 10px 22px rgb(29 99 214 / .32); cursor: pointer; transition: transform .15s, box-shadow .2s, filter .2s; }
.lg5-go:hover { transform: translateY(-1px); filter: brightness(1.06); box-shadow: 0 14px 28px rgb(29 99 214 / .4); } .lg5-go:active { transform: none; } .lg5-go:disabled { opacity: .7; cursor: progress; }
.lg5-body .lg-links { margin-top: 14px; justify-content: flex-end; } .lg5-body .lm-link { color: #1d63d6; background: none; border: 0; padding: 0; cursor: pointer; font-size: 13px; } .lg5-body .lm-link:hover { text-decoration: underline; }
.lg5-foot { margin-top: 40px; font-size: 12px; color: #7d8aa0; display: flex; flex-direction: column; align-items: center; gap: 6px; } .lg5-foot p { margin: 0; font-size: 11.5px; color: #98a4b8; }
.lg5 .lg2-caps { color: #b2750f; }
@media (max-width: 860px) {
  .lg5-page { grid-template-columns: 1fr; padding: 12px; gap: 0; }
  .lg5-hero { padding: 26px 24px 28px; min-height: 0; border-radius: 18px; gap: 18px; } .lg5-hero h2 { font-size: 28px; } .lg5-quote { display: none; }
  .lg5-side { padding: 26px 8px 18px; align-items: start; } .lg5-logo { width: 190px; margin-bottom: 18px; }
}
@media (prefers-reduced-motion: reduce) { .lg5-hero, .lg5-card { animation: none; } }
