/* Tema do aplicativo (login, dashboard, painel e kanban).
   Carregado somente por essas paginas. Nao usar em index.html nem sucesso.html.

   Claro e escuro: segue o navegador por padrao. A escolha manual fica em
   localStorage.tqc_tema ('claro' | 'escuro' | 'auto') e vira data-tema no <html>. */

:root{
  color-scheme: light;
  --t-bg:#F3F1ED;
  --t-surface:#FBFAF8;
  --t-surface-2:#EFECE6;
  --t-field:#FFFFFF;
  --t-line:#DAD6CE;
  --t-text:#25231E;
  --t-text-muted:#6B665C;
  --t-text-dim:#8A8478;
  --t-accent:#2E4A7D;
  --t-accent-solid:#2E4A7D;
  --t-on-accent:#FFFFFF;
  --t-primary-bg:color-mix(in srgb,var(--t-accent) 9%,var(--t-surface));
  --t-primary-bg-hover:color-mix(in srgb,var(--t-accent) 18%,var(--t-surface));
  --t-primary-bd:color-mix(in srgb,var(--t-accent) 42%,transparent);
  --t-primary-fg:var(--t-accent);
  --t-on-ok:#FFFFFF;
  --t-ok:#1F7A4D;
  --t-ok-text:#1F7A4D;
  --t-warn:#A8620A;
  --t-warn-text:#8A5200;
  --t-bad:#B3261E;
  --t-bad-text:#B3261E;
  --t-shadow:0 8px 24px rgba(37,35,30,.14);
  --t-radius-s:4px;
  --t-radius-m:8px;
  --t-radius-l:12px;
  --t-font:'Schibsted Grotesk',system-ui,-apple-system,'Segoe UI',sans-serif;
  --t-mono:'JetBrains Mono',ui-monospace,Consolas,monospace;
}

@media (prefers-color-scheme: dark){
  :root:not([data-tema="claro"]){
    color-scheme: dark;
    --t-bg:#16150F;
    --t-surface:#1F1D17;
    --t-surface-2:#29261F;
    --t-field:#12110C;
    --t-line:#34312A;
    --t-text:#EDEAE3;
    --t-text-muted:#A29C8F;
    --t-text-dim:#7C766A;
    --t-accent:#9DB4E0;
    --t-accent-solid:#4F6FAE;
    --t-on-ok:#0B2A1A;
    --t-ok:#4FB27F;
    --t-ok-text:#7CCB9F;
    --t-warn:#D9922B;
    --t-warn-text:#E8B056;
    --t-bad:#E0615A;
    --t-bad-text:#F0928D;
    --t-shadow:0 8px 24px rgba(0,0,0,.45);
  }
}
:root[data-tema="escuro"]{
  color-scheme: dark;
  --t-bg:#16150F;
  --t-surface:#1F1D17;
  --t-surface-2:#29261F;
  --t-field:#12110C;
  --t-line:#34312A;
  --t-text:#EDEAE3;
  --t-text-muted:#A29C8F;
  --t-text-dim:#7C766A;
  --t-accent:#9DB4E0;
  --t-accent-solid:#4F6FAE;
  --t-on-ok:#0B2A1A;
  --t-ok:#4FB27F;
  --t-ok-text:#7CCB9F;
  --t-warn:#D9922B;
  --t-warn-text:#E8B056;
  --t-bad:#E0615A;
  --t-bad-text:#F0928D;
  --t-shadow:0 8px 24px rgba(0,0,0,.45);
}

/* Base: sem vidro fosco, fonte unica, foco visivel */
html,body{
  background:var(--t-bg);
  color:var(--t-text);
  font-family:var(--t-font);
}
*{
  -webkit-backdrop-filter:none !important;
  backdrop-filter:none !important;
}
:focus-visible{
  outline:2px solid var(--t-accent);
  outline-offset:2px;
}
/* Campos de texto e listas: sem anel de destaque ao focar (o foco aparece só na cor da borda) */
input:focus,input:focus-visible,select:focus,select:focus-visible,textarea:focus,textarea:focus-visible,
[contenteditable]:focus,[contenteditable]:focus-visible{
  outline:none !important;
  box-shadow:none !important;
}
/* Lista aberta dos selects: mesma cor do restante da aplicação */
select option,select optgroup{
  background-color:var(--t-surface);
  color:var(--t-text);
}
select option:checked{
  background-color:color-mix(in srgb,var(--t-accent) 22%,var(--t-surface));
  color:var(--t-text);
}
@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{
    animation-duration:.01ms !important;
    animation-iteration-count:1 !important;
    transition-duration:.01ms !important;
  }
}

/* Numeros e codigo em mono */
.mono,code,kbd,pre,samp{font-family:var(--t-mono)}

/* Seletor de tema (unico elemento novo da interface) */
.tqc-tema{
  display:inline-flex;
  align-items:center;
  gap:2px;
  padding:2px;
  border:1px solid var(--t-line);
  border-radius:var(--t-radius-s);
  background:var(--t-surface);
}
.tqc-tema button{
  font:inherit;
  font-size:12px;
  font-weight:600;
  line-height:1;
  padding:6px 10px;
  border:0;
  border-radius:3px;
  background:transparent;
  color:var(--t-text-muted);
  cursor:pointer;
}
.tqc-tema button:hover{color:var(--t-text)}
.tqc-tema button[aria-pressed="true"]{
  background:var(--t-primary-bg);
  color:var(--t-primary-fg);
}

/* Rotulos em frase normal: sem caixa alta com espacamento largo */
[style*="text-transform:uppercase"],[style*="text-transform: uppercase"]{
  text-transform:none !important;
  letter-spacing:0 !important;
}

.tqc-tema-flutuante{
  position:fixed;
  left:12px;
  bottom:12px;
  z-index:900;
  opacity:.85;
}
.tqc-tema-flutuante:hover,.tqc-tema-flutuante:focus-within{opacity:1}

/* Confirmacao de exclusao */
.tqc-confirma-fundo{
  position:fixed;inset:0;z-index:2147483000;
  display:flex;align-items:center;justify-content:center;
  padding:16px;
  background:color-mix(in srgb,var(--t-bg) 70%,transparent);
}
.tqc-confirma{
  width:100%;max-width:400px;
  background:var(--t-surface);
  color:var(--t-text);
  border:1px solid var(--t-line);
  border-radius:var(--t-radius-l);
  box-shadow:var(--t-shadow);
  padding:22px;
}
.tqc-confirma h2{font-size:17px;font-weight:700;margin:0 0 8px;font-family:var(--t-font)}
.tqc-confirma p{font-size:14px;line-height:1.5;color:var(--t-text-muted);margin:0 0 20px;font-family:var(--t-font)}
.tqc-confirma-acoes{display:flex;justify-content:flex-end;gap:8px}
.tqc-btn{
  font:inherit;font-size:14px;font-weight:600;
  padding:9px 16px;
  border-radius:var(--t-radius-s);
  border:1px solid var(--t-line);
  background:var(--t-surface-2);
  color:var(--t-text);
  cursor:pointer;
}
.tqc-btn:hover{border-color:var(--t-text-dim)}
.tqc-btn-perigo{background:var(--t-bad);border-color:var(--t-bad);color:#fff}
.tqc-btn-perigo:hover{filter:brightness(1.08);border-color:var(--t-bad)}

/* Icones em linha (substituem emojis coloridos na interface) */
.ic{display:inline-block;vertical-align:-0.2em;flex:none}
.ic-ok{color:var(--t-ok)}
.ic-warn{color:var(--t-warn)}
.ic-bad{color:var(--t-bad)}
.ic-dot{vertical-align:-0.12em}

/* Janelas de configuracao (painel e kanban): titulo, abas e tabelas no mesmo padrao */
.modal-header{align-items:center;gap:12px}
.modal-title{font-family:var(--t-font);font-size:17px;font-weight:700;letter-spacing:0;color:var(--t-text)}
.modal-close{
  display:inline-flex;align-items:center;justify-content:center;
  width:32px;height:32px;padding:0;
  background:transparent;
  border:1px solid transparent;
  border-radius:var(--t-radius-s);
  color:var(--t-text-muted);
  font-size:20px;line-height:1;
  cursor:pointer;
}
.modal-close:hover{background:var(--t-surface-2);color:var(--t-text);border-color:var(--t-line)}
.admin-tabs{
  display:flex;gap:4px;
  background:transparent !important;
  border:0 !important;
  border-bottom:1px solid var(--t-line) !important;
  border-radius:0 !important;
  padding:0 !important;
  margin:0 0 20px !important;
  width:100%;
}
.admin-tab-btn{
  flex:none !important;
  background:transparent !important;
  border:0 !important;
  border-bottom:2px solid transparent !important;
  border-radius:0 !important;
  box-shadow:none !important;
  color:var(--t-text-muted) !important;
  padding:10px 16px !important;
  margin-bottom:-1px;
  font-size:14px;font-weight:600;
}
.admin-tab-btn:hover{color:var(--t-text) !important}
.admin-tab-btn.active{color:var(--t-text) !important;border-bottom-color:var(--t-accent-solid) !important}
.admin-tab-btn svg{opacity:.8}
.admin-table{border:1px solid var(--t-line);border-radius:var(--t-radius-m)}
.admin-table th{background:var(--t-surface-2);color:var(--t-text-muted);text-transform:none;letter-spacing:0;font-weight:600}
