/* Identidade LG Move no painel: azul LGNET (#0B4DA2) e laranja de destaque (#F28C28). */
:root { --lgm-azul: #0b4da2; --lgm-azul-escuro: #083673; --lgm-laranja: #f28c28; --lgm-borda: #e5e7eb; --lgm-fundo: #ffffff; --lgm-texto: #111827; --lgm-suave: #6b7280; }
.dark { --lgm-borda: #374151; --lgm-fundo: #111827; --lgm-texto: #f3f4f6; --lgm-suave: #9ca3af; }
.lgm-painel { color: var(--lgm-texto); display: flex; flex-direction: column; gap: 24px; }
.lgm-estreito { max-width: 640px; }
.lgm-painel h1 { font-size: 1.5rem; font-weight: 700; }
.lgm-painel h2 { font-size: 1.1rem; font-weight: 600; margin-bottom: 12px; }
.lgm-cabecalho { display: flex; justify-content: space-between; align-items: center; gap: 16px; flex-wrap: wrap; }
.lgm-cabecalho p { color: var(--lgm-suave); font-size: .9rem; }
.lgm-grade { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 16px; }
.lgm-card { background: var(--lgm-fundo); border: 1px solid var(--lgm-borda); border-radius: 10px; padding: 16px; display: flex; flex-direction: column; gap: 4px; text-decoration: none; color: inherit; transition: border-color .15s; }
a.lgm-card:hover { border-color: var(--lgm-azul); }
.lgm-card strong { font-size: 2rem; font-weight: 700; color: var(--lgm-azul); line-height: 1.1; }
.dark .lgm-card strong { color: #7fb0ff; }
.lgm-destaque { border-left: 4px solid var(--lgm-azul); }
.lgm-alerta { border-left: 4px solid var(--lgm-laranja); }
.lgm-rotulo { font-size: .8rem; text-transform: uppercase; letter-spacing: .04em; color: var(--lgm-suave); }
.lgm-sub { font-size: .8rem; color: var(--lgm-suave); }
.lgm-bloco { background: var(--lgm-fundo); border: 1px solid var(--lgm-borda); border-radius: 10px; padding: 16px; overflow-x: auto; }
.lgm-tabela { width: 100%; border-collapse: collapse; font-size: .9rem; }
.lgm-tabela th { text-align: left; font-weight: 600; color: var(--lgm-suave); padding: 8px; border-bottom: 1px solid var(--lgm-borda); }
.lgm-tabela td { padding: 8px; border-bottom: 1px solid var(--lgm-borda); vertical-align: middle; }
.lgm-tabela a { color: var(--lgm-azul); font-weight: 600; }
.lgm-barra { width: 120px; height: 8px; background: var(--lgm-borda); border-radius: 4px; overflow: hidden; display: inline-block; vertical-align: middle; margin-right: 6px; }
.lgm-barra span { display: block; height: 100%; background: var(--lgm-azul); max-width: 100%; }
.lgm-status { font-size: .75rem; padding: 2px 8px; border-radius: 999px; background: var(--lgm-borda); white-space: nowrap; }
.lgm-status-andamento { background: #fef3c7; color: #92400e; }
.lgm-status-confirmada, .lgm-status-concluida { background: #dcfce7; color: #166534; }
.lgm-status-aberta { background: #dbeafe; color: #1e40af; }
.lgm-status-cancelada { background: #fee2e2; color: #991b1b; }
.lgm-vazio { color: var(--lgm-suave); padding: 12px 0; }
.lgm-botao { background: var(--lgm-azul); color: #fff !important; border: 0; border-radius: 8px; padding: 8px 16px; font-weight: 600; cursor: pointer; text-decoration: none; display: inline-block; }
.lgm-botao:hover { background: var(--lgm-azul-escuro); }
.lgm-secundario { background: transparent; color: var(--lgm-azul) !important; border: 1px solid var(--lgm-azul); }
.lgm-filtro { display: flex; gap: 12px; align-items: end; flex-wrap: wrap; }
.lgm-filtro label, .lgm-campo label { display: flex; flex-direction: column; gap: 4px; font-size: .85rem; color: var(--lgm-suave); }
.lgm-filtro input, .lgm-form input, .lgm-form textarea, .lgm-form select { border: 1px solid var(--lgm-borda); border-radius: 8px; padding: 8px; background: var(--lgm-fundo); color: var(--lgm-texto); width: 100%; }
.lgm-form { display: flex; flex-direction: column; gap: 16px; }
.lgm-campo { display: flex; flex-direction: column; gap: 4px; }
.lgm-campo small { color: var(--lgm-suave); }
.lgm-erro { color: #b91c1c; font-size: .85rem; }
.lgm-acoes { display: flex; gap: 12px; justify-content: flex-end; }

/* Login do painel (templates/admin/login.html). Carregado antes do CSS do Unfold: seletores com prefixo .lgm-login. */
.lgm-login { display: flex; min-height: 100vh; background: #fff; }
.dark .lgm-login { background: #0b1220; }
.lgm-login .lgm-login-marca { position: relative; overflow: hidden; display: none; flex-direction: column; justify-content: space-between; gap: 32px; width: 46%; max-width: 680px; padding: 48px 56px; color: #fff; background: radial-gradient(circle at 85% 15%, rgba(242,140,40,.28), transparent 40%), radial-gradient(circle at 0% 100%, rgba(255,255,255,.10), transparent 45%), linear-gradient(150deg, #0b4da2 0%, #083673 60%, #06285a 100%); }
.lgm-login .lgm-login-marca::after { content: ""; position: absolute; inset: 0; background-image: radial-gradient(rgba(255,255,255,.08) 1px, transparent 1px); background-size: 22px 22px; pointer-events: none; }
.lgm-login .lgm-login-marca > * { position: relative; z-index: 1; }
@media (min-width: 1024px) { .lgm-login .lgm-login-marca { display: flex; } }
.lgm-login .lgm-login-marca-topo { display: flex; align-items: center; gap: 12px; font-size: 1.35rem; font-weight: 700; letter-spacing: -.01em; }
.lgm-login .lgm-login-marca-topo img { border-radius: 12px; box-shadow: 0 0 0 2px rgba(255,255,255,.25); }
.lgm-login .lgm-login-chamada h2 { font-size: 2.1rem; line-height: 1.15; font-weight: 700; letter-spacing: -.02em; max-width: 17ch; }
.lgm-login .lgm-login-chamada p { margin-top: 16px; font-size: 1rem; line-height: 1.6; color: rgba(255,255,255,.78); max-width: 44ch; }
.lgm-login .lgm-login-rota { width: 100%; max-width: 460px; height: auto; }
.lgm-login .lgm-login-recursos { display: grid; gap: 14px; list-style: none; margin: 0; padding: 0; }
.lgm-login .lgm-login-recursos li { display: flex; align-items: center; gap: 14px; padding: 12px 14px; border-radius: 12px; background: rgba(255,255,255,.07); border: 1px solid rgba(255,255,255,.12); backdrop-filter: blur(2px); }
.lgm-login .lgm-login-recursos .material-symbols-outlined { display: grid; place-items: center; width: 40px; height: 40px; border-radius: 10px; background: rgba(242,140,40,.18); color: #ffb26b; font-size: 22px; }
.lgm-login .lgm-login-recursos strong { display: block; font-size: .95rem; font-weight: 600; }
.lgm-login .lgm-login-recursos small { display: block; font-size: .82rem; color: rgba(255,255,255,.7); }
.lgm-login .lgm-login-rodape { font-size: .8rem; color: rgba(255,255,255,.55); }
.lgm-login .lgm-login-area { position: relative; flex: 1; display: flex; align-items: center; justify-content: center; padding: 72px 16px 40px; background: radial-gradient(circle at 100% 0%, rgba(11,77,162,.06), transparent 45%); }
.lgm-login .lgm-login-cartao { width: 100%; max-width: 400px; }
.lgm-login .lgm-login-logo-movel { display: flex; align-items: center; gap: 10px; margin-bottom: 28px; font-size: 1.2rem; font-weight: 700; color: #0b4da2; }
.dark .lgm-login .lgm-login-logo-movel { color: #7fb0ff; }
.lgm-login .lgm-login-logo-movel img { border-radius: 10px; }
@media (min-width: 1024px) { .lgm-login .lgm-login-logo-movel { display: none; } }
.lgm-login .lgm-login-titulo { margin-bottom: 28px; }
.lgm-login .lgm-login-titulo h1 { font-size: 1.75rem; font-weight: 700; letter-spacing: -.02em; color: #111827; }
.dark .lgm-login .lgm-login-titulo h1 { color: #f3f4f6; }
.lgm-login .lgm-login-titulo p { margin-top: 6px; font-size: .95rem; color: #6b7280; }
.dark .lgm-login .lgm-login-titulo p { color: #9ca3af; }
/* O título padrão do Unfold ("Welcome back to ...") é substituído pelo nosso. */
.lgm-login .lgm-login-titulo + .border-b { display: none; }
.lgm-login #login-form input[type="text"], .lgm-login #login-form input[type="password"] { height: 44px; font-size: .95rem; }
.lgm-login #login-form button[type="submit"] { height: 44px; font-size: .95rem; font-weight: 600; box-shadow: 0 8px 20px -8px rgba(11,77,162,.55); }

/* Atualizações do sistema (templates/admin/lgmove/atualizacoes.html) */
.lgm-atualizacoes { max-width: 860px; }
.lgm-atualizacao-linha { display: flex; align-items: center; gap: 14px; }
.lgm-atualizacao-linha strong { display: block; font-size: 1.05rem; }
.lgm-atualizacao-icone { font-size: 32px; color: #16a34a; }
[data-situacao="erro"] .lgm-atualizacao-icone { color: #dc2626; }
[data-situacao="atualizando"] .lgm-atualizacao-icone { color: var(--lgm-azul); animation: lgm-girar 1.2s linear infinite; }
@keyframes lgm-girar { to { transform: rotate(360deg); } }
.lgm-atualizacao-erro { margin-top: 10px; color: #dc2626; font-size: .85rem; white-space: pre-line; }
.lgm-versao { font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: 1.5rem !important; }
.lgm-atualizacao-lista { display: flex; flex-direction: column; gap: 8px; list-style: none; padding: 0; margin: 0; font-size: .9rem; }
.lgm-atualizacao-lista code, .lgm-atualizacoes p code { font-family: ui-monospace, Menlo, monospace; font-size: .8rem; padding: 1px 6px; border-radius: 6px; background: var(--lgm-borda); }
.lgm-log { max-height: 420px; overflow: auto; margin: 0; padding: 12px; border-radius: 8px; background: #0b1220; color: #d1d5db; font: .78rem/1.5 ui-monospace, Menlo, monospace; white-space: pre-wrap; word-break: break-word; }
.lgm-botao:disabled { opacity: .5; cursor: not-allowed; }
