/* ═══════════════════════════════════════════════════════════════
   TaskOS — tema DARK GLASS
   Carregado depois do style.css. Só muda cor, transparência, desfoque,
   borda (cor) e sombra — nunca tamanho, espaçamento ou posição.
   Vale só no tema escuro. Para desligar: remova a linha do glass.css no index.html.
   ═══════════════════════════════════════════════════════════════ */
:root:not([data-theme="light"]){
  --glass-bg:        rgba(26,32,48,0.40);
  --glass-bg-strong: rgba(14,17,26,0.66);
  --glass-bg-soft:   rgba(255,255,255,0.035);
  --glass-hover:     rgba(255,255,255,0.055);
  --glass-border:    rgba(255,255,255,0.11);
  --glass-border-hi: rgba(255,255,255,0.16);
  --glass-sheen:     linear-gradient(150deg,rgba(255,255,255,0.10) 0%,rgba(255,255,255,0.025) 35%,rgba(255,255,255,0) 62%);
  --glass-edge:      inset 0 1px 0 rgba(255,255,255,0.10), inset 0 0 0 1px rgba(255,255,255,0.02);
  --glass-shadow:    0 10px 34px rgba(0,0,0,0.38);
  --glass-blur:      blur(18px) saturate(150%);
}

/* ── Superfícies principais (cards, painéis) ── */
:root:not([data-theme="light"]) :is(
  .counter-card,.task-table-wrap,.report-card,.report-stat-card,.pw-card,
  .finance-salary-card,.finance-result-card,.expense-table-wrap,
  .study-setup-card,.study-task-list,.admin-table-wrap,.notif-card,
  .note-card,.fin-extra-card
){
  background:var(--glass-sheen),var(--glass-bg) !important;
  backdrop-filter:var(--glass-blur) !important;
  -webkit-backdrop-filter:var(--glass-blur) !important;
  border-color:var(--glass-border) !important;
  box-shadow:var(--glass-edge),var(--glass-shadow);
}
:root:not([data-theme="light"]) :is(
  .counter-card,.report-card,.report-stat-card,.pw-card,.notif-card,.note-card,.fin-extra-card
):hover{
  border-color:var(--glass-border-hi) !important;
  box-shadow:var(--glass-edge),0 14px 40px rgba(0,0,0,0.45),0 0 24px rgba(0,229,160,0.06);
}
/* Anotação fixada e meta concluída mantêm o destaque verde */
:root:not([data-theme="light"]) .note-card.pinned{border-color:rgba(0,229,160,0.35) !important}

/* ── Sidebar, login, modais, menus flutuantes ── */
:root:not([data-theme="light"]) .sidebar{
  background:linear-gradient(180deg,rgba(255,255,255,0.04),rgba(255,255,255,0) 30%),rgba(10,13,20,0.55) !important;
  backdrop-filter:blur(24px) saturate(160%) !important;
  -webkit-backdrop-filter:blur(24px) saturate(160%) !important;
  border-right-color:var(--glass-border) !important;
  box-shadow:inset -1px 0 0 rgba(255,255,255,0.03),8px 0 30px rgba(0,0,0,0.25);
}
:root:not([data-theme="light"]) :is(.auth-card,.modal-box){
  background:var(--glass-sheen),var(--glass-bg-strong) !important;
  backdrop-filter:blur(28px) saturate(160%) !important;
  -webkit-backdrop-filter:blur(28px) saturate(160%) !important;
  border-color:var(--glass-border-hi) !important;
  box-shadow:var(--glass-edge),0 30px 70px rgba(0,0,0,0.55),0 0 0 1px rgba(0,0,0,0.25);
}
:root:not([data-theme="light"]) .modal-overlay{
  background:rgba(4,6,10,0.5);
  backdrop-filter:blur(10px) saturate(120%);
  -webkit-backdrop-filter:blur(10px) saturate(120%);
}
:root:not([data-theme="light"]) :is(.reset-menu,.toast,.hamburger){
  background:var(--glass-sheen),rgba(16,20,30,0.78) !important;
  backdrop-filter:var(--glass-blur);
  -webkit-backdrop-filter:var(--glass-blur);
  border-color:var(--glass-border-hi) !important;
  box-shadow:var(--glass-edge),0 12px 32px rgba(0,0,0,0.45);
}

/* ── Linhas de tabela: vidro leve, sem desfoque (mais leve no celular) ── */
:root:not([data-theme="light"]) :is(.task-row,.task-row-wrap){
  background:rgba(255,255,255,0.012) !important;
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
}
:root:not([data-theme="light"]) :is(.task-row:hover,.expense-item:hover,.admin-table tbody tr:hover){
  background:var(--glass-hover) !important;
}
:root:not([data-theme="light"]) :is(.task-table-header,.expense-table-header,.admin-table thead){
  background:rgba(255,255,255,0.03) !important;
  border-bottom-color:var(--glass-border) !important;
}
:root:not([data-theme="light"]) :is(.task-row,.expense-item,.admin-table tbody tr){
  border-bottom-color:rgba(255,255,255,0.05) !important;
}
:root:not([data-theme="light"]) .task-desc-expand{background:rgba(255,255,255,0.02)}

/* ── Campos de formulário ── */
:root:not([data-theme="light"]) :is(
  select:not(.status-select),textarea,input[type=text],input[type=email],input[type=password],
  input[type=date],input[type=number],input[type=time],
  .search-wrap,.salary-input-wrap,.study-time-field,.fin-month-nav,.custom-time-input
){
  background:rgba(255,255,255,0.04) !important;
  border-color:rgba(255,255,255,0.1) !important;
  backdrop-filter:blur(10px) !important;
  -webkit-backdrop-filter:blur(10px) !important;
  box-shadow:inset 0 1px 2px rgba(0,0,0,0.25);
}
/* Campos dentro de um container de vidro não repetem o fundo */
:root:not([data-theme="light"]) :is(.search-wrap,.salary-input-wrap,.study-time-field) input{
  background:transparent !important;
  border-color:transparent !important;
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
  box-shadow:none !important;
}
:root:not([data-theme="light"]) :is(select:not(.status-select),textarea,input):focus,
:root:not([data-theme="light"]) :is(.search-wrap,.salary-input-wrap):focus-within{
  border-color:rgba(0,229,160,0.55) !important;
  box-shadow:0 0 0 3px rgba(0,229,160,0.13),inset 0 1px 2px rgba(0,0,0,0.25) !important;
}
/* Opções da lista precisam de fundo sólido para ficarem legíveis */
:root:not([data-theme="light"]) :is(select option,select optgroup){background:#121620 !important;color:var(--text)}
/* Seletor de status da tarefa mantém a cor do status */
:root:not([data-theme="light"]) .status-select{backdrop-filter:none !important;-webkit-backdrop-filter:none !important}

/* ── Menu lateral ── */
:root:not([data-theme="light"]) .nav-item:hover{background:rgba(255,255,255,0.05)}
:root:not([data-theme="light"]) .nav-item.active{
  background:linear-gradient(135deg,rgba(0,229,160,0.16),rgba(0,184,255,0.05)) !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,0.06),0 4px 18px rgba(0,229,160,0.08);
}

/* ── Botões ── */
:root:not([data-theme="light"]) .btn-primary{
  background:linear-gradient(135deg,#00e5a0,#00c9b4);
  box-shadow:inset 0 1px 0 rgba(255,255,255,0.35),0 4px 16px rgba(0,229,160,0.22);
}
:root:not([data-theme="light"]) .btn-primary:hover{
  box-shadow:inset 0 1px 0 rgba(255,255,255,0.35),0 6px 22px rgba(0,229,160,0.35);
}
:root:not([data-theme="light"]) :is(.btn-ghost,.spell-btn){
  background:rgba(255,255,255,0.035);
  border-color:rgba(255,255,255,0.12);
  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);
}
:root:not([data-theme="light"]) .btn-ghost:hover{background:rgba(0,229,160,0.07)}
:root:not([data-theme="light"]) .btn-icon:hover{background:rgba(255,255,255,0.07)}

/* ── Itens internos (sobre cards de vidro) ── */
:root:not([data-theme="light"]) :is(
  .goal-card,.spell-item,.study-subject-item,.study-task-item,.total-row,
  .finance-remaining,.profile-photo-wrap,.notif-time-item
){
  background:rgba(255,255,255,0.03) !important;
  border-color:rgba(255,255,255,0.07) !important;
}
:root:not([data-theme="light"]) .total-row.highlight{background:rgba(0,229,160,0.06) !important}
:root:not([data-theme="light"]) :is(.progress-bar-outer,.finance-bar-outer,.goal-bar){
  background:rgba(255,255,255,0.06) !important;
  box-shadow:inset 0 1px 2px rgba(0,0,0,0.35);
}

/* ── Barra de rolagem ── */
:root:not([data-theme="light"]) ::-webkit-scrollbar-track{background:transparent}
:root:not([data-theme="light"]) ::-webkit-scrollbar-thumb{background:rgba(255,255,255,0.12)}

/* Celular: desfoque menor para não pesar */
@media (max-width:768px){
  :root:not([data-theme="light"]) :is(
    .counter-card,.task-table-wrap,.pw-card,.note-card,.notif-card,.fin-extra-card,
    .finance-salary-card,.finance-result-card,.expense-table-wrap,.report-card,.report-stat-card
  ){
    backdrop-filter:blur(10px) saturate(140%) !important;
    -webkit-backdrop-filter:blur(10px) saturate(140%) !important;
  }
}

/* Central de avisos */
:root:not([data-theme="light"]) .alerts-panel{
  background:var(--glass-sheen),rgba(13,16,24,0.97) !important;
  backdrop-filter:blur(26px) saturate(160%);
  -webkit-backdrop-filter:blur(26px) saturate(160%);
  border-color:var(--glass-border-hi) !important;
  box-shadow:var(--glass-edge),0 24px 60px rgba(0,0,0,0.55);
}
:root:not([data-theme="light"]) .alerts-bell{
  background:rgba(255,255,255,0.05);
  border-color:rgba(255,255,255,0.12);
  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);
}
:root:not([data-theme="light"]) .post-card{
  background:var(--glass-sheen),var(--glass-bg) !important;
  backdrop-filter:var(--glass-blur) !important;
  -webkit-backdrop-filter:var(--glass-blur) !important;
  border-color:var(--glass-border) !important;
  box-shadow:var(--glass-edge),var(--glass-shadow);
}
