/* Ajustes de apresentação isolados para facilitar comparação e reversão. */
:root { --nf-focus: #cc9200; --nf-border: #dce2e9; }
body { background-color: #f4f6f8; }
body.dark-mode { --nf-border: #354253; }
.card { border-radius: 14px; box-shadow: 0 4px 20px rgba(21,34,53,.06); }
#menu-principal, #tela-agenda { box-sizing: border-box; width: 100%; max-width: 1320px; margin-left: auto; margin-right: auto; }
.menu-topo { border-radius: 12px; padding: 12px; gap: 8px; }
.menu-topo button { min-height: 42px; border-radius: 8px; }
.dia-card { border-radius: 12px; }
.dia-header { padding: 13px 15px; }
.agendamento-item { border-radius: 10px; }
input, select, textarea { border-radius: 8px; }
button { border-radius: 8px; }
button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible, a:focus-visible { outline: 3px solid var(--nf-focus); outline-offset: 3px; }
button:disabled { cursor: not-allowed; opacity: .65; }
.modal-content { box-sizing: border-box; border-radius: 16px; }
.modal-overlay { box-sizing: border-box; }
.login-box { border: 1px solid var(--nf-border); border-top: 4px solid #ffb800; box-shadow: 0 12px 40px rgba(0,0,0,.14); }
.login-box input { min-height: 48px; }
.login-box #form-login > button[type=submit] { background: #ffb800; color: #302600; border-radius: 10px; }
.login-destaque-card, .login-info-card { border-radius: 14px; }
#modal-agendamento .modal-link-secondary {
  width: auto;
  max-width: 100%;
  min-height: 44px;
  padding: 8px 4px;
  margin: 0 0 6px;
  border: 0;
  background: transparent;
  color: #6540a6;
  font-size: 14px;
  text-align: left;
  line-height: 1.4;
}
body.dark-mode #modal-agendamento .modal-link-secondary { color: #c4a7ff; }
@media (max-width: 600px) {
  .menu-topo button { min-height: 44px; }
  .modal-content { max-width: calc(100vw - 24px); }
  input, select, textarea { font-size: 16px; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}

/* Smartphone: libera espaço para a agenda sem esconder ações. */
@media (max-width: 640px) {
  body { padding: 8px; }
  #menu-principal { padding: 8px; gap: 8px; margin-bottom: 14px; }
  #menu-principal > button,
  #menu-principal > .btn-sair-menu {
    flex: 1 1 calc(50% - 8px) !important;
    width: auto;
    max-width: none !important;
    min-width: 0;
    min-height: 44px;
    margin: 0 !important;
    padding: 10px 8px;
    font-size: 13px;
    line-height: 1.3;
  }
  #tela-agenda { padding: 12px 10px; }
  #tela-agenda > h3 { margin: 12px 0; }
  #tela-agenda .agenda-welcome-user { padding: 10px 12px; margin-bottom: 12px; }
  #tela-agenda > .filtro-visao { gap: 6px; margin-bottom: 8px; }
  #tela-agenda > .filtro-visao button { min-height: 44px; padding: 10px 6px; }
  #nav-periodo-container { padding: 0 4px; margin-bottom: 12px; }
  #nav-periodo-container > button { min-width: 44px; min-height: 44px; padding: 8px; }
  #label-periodo { font-size: 14px; text-align: center; }
  #container-agenda .agenda-legenda-status { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 6px; margin-bottom: 12px; }
  #container-agenda .agenda-legenda-card { min-width: 0; padding: 10px 6px; gap: 8px; border-radius: 10px; }
  #container-agenda .agenda-legenda-card-topo { gap: 4px; }
  #container-agenda .agenda-legenda-card-titulo { flex-basis: 100%; font-size: 12px; overflow-wrap: anywhere; }
  #container-agenda .agenda-legenda-card-quantidade-inline { font-size: 18px; }
  #container-agenda .agenda-legenda-card-valor { font-size: 12px; overflow-wrap: anywhere; font-variant-numeric: tabular-nums; }
  #container-agenda .dia-header { min-height: 44px; box-sizing: border-box; padding: 10px; }
  .acoes-container { gap: 8px; }
  .acoes-container .btn-acao { min-height: 44px; box-sizing: border-box; white-space: normal; }
  .modal-overlay { padding: 12px 8px; overscroll-behavior-y: contain; }
  .modal-overlay > .modal-content { max-width: calc(100vw - 16px); margin-bottom: 12px; }
  .modal-close { min-width: 44px; min-height: 44px; top: 4px; right: 4px; }
  .modal-content > h3:first-of-type { padding-right: 36px; }
  .modal-overlay input:not([type=checkbox]):not([type=radio]),
  .modal-overlay select, .modal-overlay textarea,
  #overlay-login input:not([type=checkbox]):not([type=radio]) { font-size: 16px !important; min-height: 44px; }
  .btn-toggle-senha { width: 44px; height: 44px; right: 2px; }
  .senha-wrap input { padding-right: 50px; }
  .modal-content input, .modal-content select, .modal-content textarea { scroll-margin-block: 72px; }
  #modal-financeiro .fin-filtro-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
  #modal-financeiro .fin-filtro-grid > div { min-width: 0; }
  #modal-financeiro .fin-filtro-grid button,
  #modal-financeiro .filtro-fin-btn,
  #modal-financeiro .fin-resumo-head-acoes button { min-height: 44px; }
  #modal-financeiro .fin-historico-scroll { max-height: none !important; overflow: visible !important; }
  #modal-financeiro .fin-historico-table { width: 100%; table-layout: fixed; border-collapse: collapse; }
  #modal-financeiro .fin-historico-table th,
  #modal-financeiro .fin-historico-table td { padding: 8px 6px; font-size: 12px; line-height: 1.35; vertical-align: middle; overflow-wrap: anywhere; }
  #modal-financeiro .fin-historico-table th:nth-child(1) { width: 27%; }
  #modal-financeiro .fin-historico-table th:nth-child(2) { width: 46%; }
  #modal-financeiro .fin-historico-table th:nth-child(3) { width: 27%; }
  #modal-financeiro .fin-historico-table td[data-label]::before { content: none; }
  #modal-financeiro .fin-historico-table button { min-height: 44px; width: auto; max-width: 100%; padding: 4px 2px !important; margin: 0 !important; white-space: normal; overflow-wrap: anywhere; }
  #container-agenda .agenda-mes-cell { min-height: 76px; margin: 0; padding: 6px 3px; border-radius: 0; gap: 4px; }
  #container-agenda .agenda-mes-dia-topo { flex-wrap: wrap; gap: 3px !important; }
  #container-agenda .agenda-mes-contador { box-sizing: border-box; max-width: 100%; min-width: 18px; height: auto; min-height: 18px; padding: 2px 4px; overflow-wrap: anywhere; }
  #container-agenda .agenda-mes-weekday { padding: 6px 2px; }
  .agenda-popup-dia-acoes button { min-height: 44px; }
}
@media (max-width: 360px) {
  #modal-financeiro .fin-filtro-grid { grid-template-columns: minmax(0, 1fr); }
}
/* Sistema: seções, leitura e controles consistentes nos dois temas. */
#modal-sistema .modal-content { padding:24px; width:calc(100% - 24px); max-height:90dvh; overflow:auto; }
#modal-sistema .modal-content > h3 { padding-right:40px; font-size:1.25rem; margin-bottom:20px; }
#modal-sistema .box-cupom { padding:20px !important; border-radius:12px !important; background:#f4f6f8 !important; border-color:#d4dce5 !important; }
#modal-sistema .box-cupom h4 { font-size:1.05rem; color:#202936; }
#modal-sistema .sistema-ajuda-texto { color:#526174; line-height:1.5; }
#modal-sistema label { display:block; font-size:14px; font-weight:600; color:#202936; }
#modal-sistema input, #modal-sistema select { min-height:46px; font-size:16px; }
#modal-sistema .senha-wrap { margin-bottom:12px; }
#modal-sistema .senha-wrap .btn-toggle-senha { top:auto; bottom:8px; transform:none; height:44px; min-height:44px; }
#modal-sistema .msg-sucesso { padding:12px; border-radius:8px; }
#modal-sistema .sistema-erro { background:#fee2e2; color:#991b1b; border:1px solid #fca5a5; }
body.dark-mode #modal-sistema .box-cupom { background:#101827 !important; border-color:#3b4b60 !important; }
body.dark-mode #modal-sistema .box-cupom h4, body.dark-mode #modal-sistema label { color:#f1f5f9; }
body.dark-mode #modal-sistema .sistema-ajuda-texto { color:#b3c0d1; }
body.dark-mode #modal-sistema .sistema-erro { background:#451a1a; color:#fecaca; border-color:#924040; }
@media(max-width:600px) {
 #modal-sistema .modal-content { padding:16px; }
 #modal-sistema .box-cupom { padding:14px !important; }
 #modal-sistema .grid-2, #modal-sistema .sistema-tema-grid { grid-template-columns:minmax(0,1fr); }
 #modal-sistema .grid-2 > div { min-width:0; }
 #modal-sistema .sistema-tema-acoes { flex-direction:column; }
}
#form-login .login-suporte-discreto { display:block; width:auto; margin:8px auto 0; min-height:44px; padding:8px 12px; background:transparent; color:#596579; border:0; font-size:13px; font-weight:400; text-decoration:underline; }
body.dark-mode #form-login .login-suporte-discreto { color:#aeb9c9; }
.login-destaque-controls { display:flex; justify-content:flex-end; }
.login-destaque-controls button { width:auto; min-height:44px; margin:0; padding:8px; background:transparent; color:#dbeafe; font-size:12px; text-decoration:underline; }
.login-destaque-dots { display:flex; gap:2px; }
.login-destaque-dots .login-destaque-seletor { position:relative; width:44px; height:44px; min-height:44px; padding:0; margin:0; background:transparent; border:0; }
.login-destaque-seletor::after { content:''; display:block; width:9px; height:9px; margin:auto; border-radius:50%; background:#8b9bb2; }
.login-destaque-seletor.active::after { background:#ffb800; width:22px; border-radius:8px; }
.login-info-content .login-conhecer { width:auto; min-height:44px; background:#ffb800; color:#302600; padding:10px 14px; margin:12px 0 0; font-size:14px; }
.login-destaque-title { min-height:2.5em; }
.login-destaque-text { min-height:4.5em; }
/* O conteúdo maior que a tela começa no topo, sem corte por centralização flex. */
#overlay-login { align-items:flex-start; height:100%; height:100dvh; padding-top:max(12px,env(safe-area-inset-top)); padding-bottom:max(20px,env(safe-area-inset-bottom)); scroll-padding-top:16px; }
#overlay-login .auth-shell { min-height:0; flex-shrink:0; align-items:flex-start; margin-top:0; margin-bottom:0; }
#overlay-login .auth-stage-simple { flex-shrink:0; }
#modal-termos .termos-box { line-height:1.65; overflow-wrap:anywhere; }
#modal-termos .termos-box h4 { margin:20px 0 8px; }
/* Ênfase discreta no preço Pix, sem alterar os demais meios de pagamento. */
#modal-plano-info .plano-pix-destaque { background:#edf8f0; border:1px solid #cee7d5; border-radius:7px; padding:7px 9px; margin:5px 0; color:#225d35; }
#modal-plano-info .plano-pix-destaque .plano-valor-pix { font-size:1.08em; font-weight:700; color:#216b37; }
body.dark-mode #modal-plano-info .plano-pix-destaque { background:#213329; border-color:#385643; color:#b7dec3; }
body.dark-mode #modal-plano-info .plano-pix-destaque .plano-valor-pix { color:#87d6a1; }
/* Orientação inicial: três pulsos suaves e indicação estática até a ação. */
.noflop-orientar { position:relative; outline:2px solid #e4ac25 !important; outline-offset:3px; animation:noflop-orientacao 1.5s ease-in-out 3; }
.noflop-orientar::after { content:attr(data-orientacao); display:block; position:absolute; top:calc(100% + 6px); right:0; z-index:10; padding:5px 8px; border-radius:6px; background:#ffcf64; color:#352600; font-size:12px; font-weight:600; line-height:1.3; white-space:nowrap; pointer-events:none; }
@keyframes noflop-orientacao { 0%,100% { box-shadow:0 0 0 0 rgba(228,172,37,.1); } 50% { box-shadow:0 0 0 6px rgba(228,172,37,.35); } }
@media(prefers-reduced-motion:reduce) { .noflop-orientar { animation:none; } }
#modal-sistema .sistema-tema-box { display:none !important; }
.feedback-junto-acao { box-sizing:border-box; width:100%; grid-column:1 / -1; flex-basis:100%; margin:8px 0 !important; padding:10px 12px; border-radius:8px; font-size:14px; line-height:1.45; overflow-wrap:anywhere; }
form .feedback-junto-acao { background:#edf8f0; color:#205b32; border:1px solid #c8e4d0; }
body.dark-mode form .feedback-junto-acao { background:#203329; color:#c5efd2; border-color:#385643; }
form [role="status"].feedback-junto-acao:not(.msg-sucesso):not(.plano-feedback-box) { background:#f1f5f9; color:#28384b; border-color:#cbd5e1; }
body.dark-mode form [role="status"].feedback-junto-acao:not(.msg-sucesso):not(.plano-feedback-box) { background:#172131; color:#e2e8f0; border-color:#46556b; }

.etiqueta-form{margin:12px 0;padding:12px;border:1px solid #64748b;border-radius:12px}.etiqueta-form label,.etiqueta-card label{display:block;margin:8px 0}.etiqueta-card{display:flex;gap:16px;border:1px solid #64748b;border-radius:16px;padding:16px;margin:12px 0}.etiqueta-card>img{width:76px;height:90px;object-fit:contain;align-self:flex-start}.etiqueta-card>div{flex:1;min-width:0}.etiqueta-card input:disabled{opacity:1}.etiqueta-card button{margin-top:8px}@media(max-width:480px){.etiqueta-card{gap:10px;padding:12px}.etiqueta-card>img{width:48px;height:64px}}

.lancamento-card{padding:16px;border:1px solid #d49d12;border-radius:14px;margin:16px 0;animation:lancamento-brilho 3s ease-in-out infinite}.lancamento-card[hidden]{display:none}.lancamento-card p{line-height:1.5}@keyframes lancamento-brilho{50%{box-shadow:0 0 12px #d49d1240}}@media(prefers-reduced-motion:reduce){.lancamento-card{animation:none}}
.etiquetas-dialog .etiqueta-feedback:not(:empty){display:block;padding:12px;border:1px solid currentColor;border-radius:8px;color:inherit;font-weight:700;margin:12px 0 8px}.etiquetas-dialog .etiqueta-form input,.etiquetas-dialog .etiqueta-form select{font-size:16px;width:100%;box-sizing:border-box}
/* Etiquetas: separar ações e manter o fechamento no canto direito. */
.tutorial-dialog.etiquetas-dialog > .tutorial-close{display:block;width:fit-content;margin:0 0 12px auto}
.tutorial-dialog.etiquetas-dialog > div button{max-width:100%;white-space:normal;overflow-wrap:anywhere;margin:0 12px 12px 0}
.tutorial-dialog.etiquetas-dialog .etiqueta-form button{margin-top:8px}
/* Etiqueta de consulta: compacta, somente texto e logo, sem campos de edição. */
.tutorial-dialog .etiqueta-consulta{box-sizing:border-box;align-items:center;gap:12px;padding:12px;margin:10px 0;border:1px solid var(--help-border);border-radius:10px;background:var(--help-surface);color:var(--help-text)}
.tutorial-dialog .etiqueta-consulta>img{width:56px;height:64px;flex:0 0 56px;object-fit:contain;align-self:center}
.tutorial-dialog .etiqueta-consulta dl{flex:1;min-width:0;margin:0;font-size:12px;line-height:1.4}
.tutorial-dialog .etiqueta-consulta dl>div{margin:0 0 5px;overflow-wrap:anywhere}
.tutorial-dialog .etiqueta-consulta dl>div:last-child{margin-bottom:0}
.tutorial-dialog .etiqueta-consulta dt{display:inline;font-weight:600;color:var(--help-muted)}
.tutorial-dialog .etiqueta-consulta dt::after{content:': '}
.tutorial-dialog .etiqueta-consulta dd{display:inline;margin:0;color:var(--help-text)}
@media(max-width:380px){.tutorial-dialog .etiqueta-consulta{padding:10px;gap:9px}.tutorial-dialog .etiqueta-consulta>img{width:44px;height:52px;flex-basis:44px}}
/* Confirmações explícitas: mesmo padrão verde nos temas claro e escuro. */
body [role="status"][data-feedback="sucesso"],body .plano-feedback-box.sucesso{background:#218838 !important;color:#fff !important;border:1px solid #1e7e34 !important;padding:12px;border-radius:8px;font-weight:600}
body.dark-mode [role="status"][data-feedback="sucesso"],body.dark-mode .plano-feedback-box.sucesso{background:#195c35 !important;color:#dcfce7 !important;border-color:#338557 !important}
/* Formato e enquadramento definidos em Sistema, na escala da etiqueta. */
.tutorial-dialog .etiqueta-consulta>.etiqueta-logo{flex:0 0 56px;width:56px;height:56px;overflow:hidden;border-radius:5px;background:#fff;display:flex;align-items:center;justify-content:center}
.tutorial-dialog .etiqueta-consulta>.etiqueta-logo[data-shape="round"]{border-radius:50%}
.tutorial-dialog .etiqueta-consulta>.etiqueta-logo[data-shape="landscape"]{flex-basis:80px;width:80px;height:45px}
.tutorial-dialog .etiqueta-logo>img{display:block;width:100%;height:100%;object-fit:contain;object-position:center;transform-origin:center}
@media(max-width:380px){.tutorial-dialog .etiqueta-consulta>.etiqueta-logo{flex-basis:44px;width:44px;height:44px}.tutorial-dialog .etiqueta-consulta>.etiqueta-logo[data-shape="landscape"]{flex-basis:64px;width:64px;height:36px}}
.tutorial-dialog .etiqueta-consulta button.etiqueta-data-link{display:inline;padding:5px 2px;margin:0;min-height:30px;width:auto;background:transparent;border:0;border-radius:3px;color:#1264a3;font-size:12px;font-weight:800;line-height:1.4;text-decoration:underline;text-underline-offset:3px;cursor:pointer}
body.dark-mode .tutorial-dialog .etiqueta-consulta button.etiqueta-data-link{color:#7dc6ff}
.tutorial-dialog .etiqueta-consulta button.etiqueta-data-link:hover{background:transparent;color:#075085}
body.dark-mode .tutorial-dialog .etiqueta-consulta button.etiqueta-data-link:hover{color:#b9e3ff}
.tutorial-dialog .etiqueta-consulta button.etiqueta-data-link:focus-visible{outline:2px solid currentColor;outline-offset:2px}
.agenda-origem-etiqueta{outline:3px solid #dfaa00;outline-offset:3px;scroll-margin-block:24px}

#modal-sistema .senha-requisitos { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px 20px; list-style:none; padding:14px 16px; margin:4px 0 20px; border:1px solid #cbd5e1; border-radius:10px; background:#f1f5f9; color:#475569; font-size:13px; line-height:1.5; }
#modal-sistema .senha-requisitos li { display:flex; align-items:baseline; gap:8px; }
#modal-sistema .senha-requisitos .senha-regra-icone { font-weight:700; width:16px; flex-shrink:0; }
#modal-sistema .senha-requisitos li.atendido { color:#166534; }
#modal-sistema .senha-requisitos .sr-only { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
body.dark-mode #modal-sistema .senha-requisitos { background:#101c2c; border-color:#334155; color:#b3c0d1; }
body.dark-mode #modal-sistema .senha-requisitos li.atendido { color:#86efac; }
@media(max-width:540px) { #modal-sistema .senha-requisitos { grid-template-columns:1fr; } }

/* Administração: preço base e promoção */
#modal-admin .admin-preco-base, #modal-admin .admin-promocao-card { padding:24px !important; border-radius:14px !important; }
#modal-admin .admin-preco-acoes { flex-wrap:wrap; margin-top:20px; }
#modal-admin .admin-promocao-header { display:flex; align-items:center; justify-content:space-between; gap:16px; flex-wrap:wrap; margin-bottom:24px; }
#modal-admin .admin-promocao-header h3 { margin:0; font-size:18px; }
#modal-admin .admin-promocao-header button { width:auto; margin:0; }
#modal-admin .admin-promocao-form { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
#modal-admin .admin-promocao-campo { display:flex; flex-direction:column; gap:8px; font-size:13px; font-weight:600; }
#modal-admin .admin-promocao-campo input { width:100%; margin:0; min-height:44px; box-sizing:border-box; }
#modal-admin .admin-promocao-ativa { grid-column:1/-1; display:flex; align-items:center; justify-content:space-between; gap:16px; padding:14px 16px; background:rgba(100,116,139,.08); border:1px solid rgba(100,116,139,.3); border-radius:10px; font-weight:600; }
#modal-admin .admin-promocao-ativa input { width:20px; height:20px; margin:0; accent-color:#7042bd; cursor:pointer; }
#modal-admin .admin-promocao-resumo { grid-column:1/-1; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; padding:18px 0; border-top:1px solid rgba(100,116,139,.3); border-bottom:1px solid rgba(100,116,139,.3); }
#modal-admin .admin-promocao-resumo div { display:flex; flex-direction:column; gap:6px; }
#modal-admin .admin-promocao-resumo strong { font-size:22px; }
#modal-admin .admin-promocao-resumo span { font-size:12px; opacity:.85; }
#modal-admin .admin-promocao-feedback { grid-column:1/-1; margin:0; }
#modal-admin .admin-promocao-feedback:empty { display:none; }
#modal-admin .admin-promocao-salvar { grid-column:1/-1; justify-self:end; width:auto; margin:0; min-width:180px; }
@media(max-width:600px) { #modal-admin .admin-promocao-form { grid-template-columns:1fr; gap:16px; } #modal-admin .admin-preco-base, #modal-admin .admin-promocao-card { padding:16px !important; } #modal-admin .admin-promocao-salvar { width:100%; } #modal-admin .admin-promocao-header { gap:12px; } #modal-admin .admin-promocao-resumo { gap:10px; } }

.login-info-content .login-trial { font-size:20px; font-weight:800; margin:16px 0 10px; color:inherit; }
.login-info-content .login-cta-price { margin:14px 0 6px; font-size:14px; font-weight:600; }
.login-info-content .login-cta-terms { display:block; font-size:12px; line-height:1.6; opacity:.85; max-width:65ch; }
.login-info-content .login-conhecer { min-height:44px; }
@media(max-width:540px) { .login-info-content .login-conhecer { width:100%; } }
/* Novo/editar agendamento: apresentação sem alterar eventos ou campos. */
#modal-agendamento .modal-content { width:100%; max-width:620px; padding:28px; box-shadow:0 24px 70px #0004; }
#modal-agendamento #titulo-form-agenda { margin:0 44px 24px 0; font-size:22px; line-height:1.4; padding-bottom:18px; border-bottom:1px solid var(--nf-border); }
#modal-agendamento .modal-close { top:16px; right:16px; width:40px; height:40px; display:flex; align-items:center; justify-content:center; border-radius:10px; background:rgba(100,116,139,.1); }
#modal-agendamento .modal-form-label { display:block; font-size:13px; font-weight:700; margin:0 0 8px; letter-spacing:.01em; }
#modal-agendamento .autocomplete-input, #modal-agendamento #dataHora, #modal-agendamento select { box-sizing:border-box; width:100%; min-width:0; min-height:48px; margin:0; padding:12px 14px; border-radius:10px; font-size:16px; }
#modal-agendamento .autocomplete-wrapper { margin-bottom:8px; }
#modal-agendamento .autocomplete-list { z-index:20; border-radius:10px; box-shadow:0 10px 24px #0002; }
#modal-agendamento .modal-link-secondary { margin:2px 0 20px; padding:8px 12px; border:1px solid var(--nf-border); border-radius:8px; font-size:13px; min-height:44px; }
#modal-agendamento .modal-link-secondary:hover { background:rgba(111,66,193,.1); }
#modal-agendamento #tags-servicos:not(:empty) { padding:10px 0 18px; }
#modal-agendamento #dataHora { margin-bottom:20px; }
#modal-agendamento #observacao { box-sizing:border-box; min-height:88px; margin:0 0 20px; padding:12px 14px; border-radius:10px; font-size:16px; }
#modal-agendamento #btn-salvar-agenda { min-height:50px; margin:0; border-radius:10px; font-weight:700; box-shadow:0 4px 12px rgba(111,66,193,.18); }
#modal-agendamento #btn-cancelar-edicao-age { margin:10px 0 0; }
#modal-agendamento #clienteVeiculoAjuda { margin-top:8px !important; }
@media(max-width:600px) { #modal-agendamento { padding:12px; } #modal-agendamento .modal-content { padding:20px 16px; max-width:100%; max-height:calc(100dvh - 24px); overflow-y:auto; overscroll-behavior:contain; } #modal-agendamento #titulo-form-agenda { font-size:19px; margin-bottom:20px; padding-bottom:14px; } #modal-agendamento .modal-close { right:10px; top:12px; } }
/* Cadastro e consulta de serviços: escopo visual isolado. */
#modal-servico .modal-content { width:100%; max-width:660px; padding:28px; box-shadow:0 24px 70px #0004; }
#modal-servico #titulo-form-servico { margin:0 44px 24px 0; padding-bottom:18px; border-bottom:1px solid var(--nf-border); font-size:22px; line-height:1.4; }
#modal-servico .modal-close { top:16px; right:16px; width:40px; height:40px; display:flex; align-items:center; justify-content:center; border-radius:10px; background:rgba(100,116,139,.1); }
#modal-servico .modal-form-label { display:block; margin:0 0 8px; font-size:13px; font-weight:700; }
#modal-servico input, #modal-servico textarea { box-sizing:border-box; width:100%; min-width:0; padding:12px 14px; border-radius:10px; font-size:16px; margin:0 0 20px; }
#modal-servico input { min-height:48px; }
#modal-servico textarea { min-height:88px; }
#modal-servico .modal-form-grid-2 { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
#modal-servico #btn-salvar-servico { min-height:50px; margin:0; border-radius:10px; font-weight:700; }
#modal-servico #btn-cancelar-edicao-srv { margin:10px 0 0; }
#modal-servico .modal-content > h4 { margin:28px 0 14px !important; padding-top:22px; border-top:1px solid var(--nf-border); border-bottom:0 !important; font-size:16px; }
#modal-servico #lista-servicos-modal { border:0; padding:0; background:transparent; max-height:320px; overflow-y:auto; overscroll-behavior:contain; }
#modal-servico .item-lista { display:flex; align-items:center; justify-content:space-between; gap:16px; margin:0 0 10px; padding:14px; border:1px solid var(--nf-border); border-radius:10px; background:rgba(100,116,139,.045); }
#modal-servico .item-lista > div:first-child { min-width:0; overflow-wrap:anywhere; }
#modal-servico .item-lista strong { font-size:14px; line-height:1.5; }
#modal-servico .item-lista small { display:inline-block; margin-top:4px; font-size:12px; line-height:1.5; opacity:.85; }
#modal-servico .item-lista > div:last-child { display:flex; gap:8px; flex-shrink:0; }
#modal-servico .item-lista .btn-mini { width:44px; min-height:44px; padding:10px; margin:0; border-radius:9px; }
@media(max-width:600px) { #modal-servico { padding:12px; } #modal-servico .modal-content { max-width:100%; padding:20px 16px; max-height:calc(100dvh - 24px); overflow-y:auto; overscroll-behavior:contain; } #modal-servico #titulo-form-servico { font-size:19px; padding-bottom:14px; margin-bottom:20px; } #modal-servico .modal-close { top:12px; right:10px; } #modal-servico .modal-form-grid-2 { grid-template-columns:1fr; gap:0; } #modal-servico .item-lista { padding:12px; gap:10px; } }
/* Financeiro: hierarquia visual e formulários responsivos. */
#modal-financeiro .modal-content { padding:26px; }
#modal-financeiro .fin-resumo-head-acoes { gap:12px; }
#modal-financeiro .fin-historico-table th { padding:12px; font-size:13px; }
#modal-financeiro .fin-historico-table td { padding:12px; }
#modal-financeiro-lancamento #fin-modal-lancamento-content { box-sizing:border-box; width:100%; max-width:700px; padding:28px; border-radius:16px; box-shadow:0 24px 70px #0004; }
#modal-financeiro-lancamento #fin-lancamento-titulo { font-size:21px; line-height:1.4; margin:0 44px 24px 0 !important; padding-bottom:18px; border-bottom:1px solid var(--nf-border); }
#modal-financeiro-lancamento .modal-close { top:16px; right:16px; width:40px; height:40px; display:flex; align-items:center; justify-content:center; border-radius:10px; background:rgba(100,116,139,.1); }
#modal-financeiro-lancamento label { display:block; font-size:13px !important; color:#475569 !important; margin-bottom:8px; line-height:1.4; }
body.dark-mode #modal-financeiro-lancamento label { color:#cbd5e1 !important; }
#modal-financeiro-lancamento input:not([type=checkbox]):not([type=hidden]), #modal-financeiro-lancamento select, #modal-financeiro-lancamento textarea { box-sizing:border-box; width:100%; min-width:0; min-height:48px; padding:12px 14px; font-size:16px; border-radius:10px; }
#modal-financeiro-lancamento input[type=date] { color-scheme:light; }
body.dark-mode #modal-financeiro-lancamento input[type=date] { color-scheme:dark; }
#modal-financeiro-lancamento textarea { min-height:88px; resize:vertical; }
#modal-financeiro-lancamento .fin-lancamento-grid-top { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; margin-bottom:20px; }
#modal-financeiro-lancamento .fin-lancamento-grid-mid { display:grid; grid-template-columns:2fr 1fr; gap:16px; margin-bottom:20px; }
#modal-financeiro-lancamento .fin-lancamento-grid-rec { display:grid; grid-template-columns:1fr 1fr; align-items:center; gap:16px; border:1px solid var(--nf-border); background:rgba(100,116,139,.055); padding:14px; border-radius:10px; margin-bottom:20px; }
#modal-financeiro-lancamento .fin-lancamento-grid-rec label { margin:0; }
#modal-financeiro-lancamento #fin-lancamento-recorrente { width:20px !important; height:20px; min-height:20px; flex-shrink:0; accent-color:#7042bd; }
#modal-financeiro-lancamento .fin-lancamento-actions { display:flex; flex-wrap:wrap; gap:10px; margin-top:22px; padding-top:18px; border-top:1px solid var(--nf-border); }
#modal-financeiro-lancamento .fin-lancamento-actions button { min-height:48px; border-radius:10px; }
#modal-financeiro-lancamento .fin-lancamento-actions .btn-verde { flex:1 1 240px; }
#modal-financeiro-lancamento .fin-lancamento-actions .btn-roxo { background:transparent; border:1px solid var(--nf-border); color:#475569; }
body.dark-mode #modal-financeiro-lancamento .fin-lancamento-actions .btn-roxo { color:#cbd5e1; }
@media(max-width:600px) { #modal-financeiro-lancamento { padding:12px; } #modal-financeiro-lancamento #fin-modal-lancamento-content { max-width:100%; padding:20px 16px; max-height:calc(100dvh - 24px); overflow-y:auto; overscroll-behavior:contain; } #modal-financeiro-lancamento #fin-lancamento-titulo { font-size:19px; margin-bottom:20px !important; } #modal-financeiro-lancamento .modal-close { top:12px; right:10px; } #modal-financeiro-lancamento .fin-lancamento-grid-top, #modal-financeiro-lancamento .fin-lancamento-grid-mid, #modal-financeiro-lancamento .fin-lancamento-grid-rec { grid-template-columns:1fr; gap:16px; } #modal-financeiro-lancamento .fin-lancamento-actions button { flex:1 1 140px; } #modal-financeiro-lancamento .fin-lancamento-actions .btn-verde { flex-basis:100%; } #modal-financeiro .modal-content { padding:20px 14px; } #modal-financeiro .fin-historico-table th, #modal-financeiro .fin-historico-table td { padding:10px 6px; } }

.login-box { position:relative; }
.login-box .login-selo-qualidade { position:absolute; top:12px; right:12px; width:34px; height:34px; object-fit:contain; pointer-events:none; }
@media(max-width:360px) { .login-box .login-selo-qualidade { top:10px; right:10px; width:28px; height:28px; } }
