/* Refinamento desktop: superfícies neutras e cor com função. */
:root[data-desktop-theme=light]{background:#fafafa}
:root[data-desktop-theme=dark]{background:#0c0d0f}
:root[data-desktop-theme] body.desktop-shell{
 --bg:light-dark(#fafafa,#0c0d0f);--surface:light-dark(#ffffff,#121416);
 --fg:light-dark(#25272b,#eceef1);--muted:light-dark(#646970,#a3a8b0);
 --line:light-dark(#e3e5e8,#292c31);--soft:light-dark(#f3f4f6,#1c1f23);
 --brand:light-dark(#b83d54,#f28b9c);--brand-text:light-dark(#fff,#231216);
 --income:light-dark(#21734f,#66cf9c);--expense:light-dark(#b83d54,#f28b9c);
 --danger:light-dark(#b62f45,#ff8d9c);font-size:14px;line-height:1.5;
 -webkit-font-smoothing:antialiased;
}
:root[data-desktop-theme] .app-header{background:var(--surface);box-shadow:none;border-color:var(--line)}
:root[data-desktop-theme] .app-header .brand{color:var(--fg);font-weight:650;letter-spacing:-.4px}
:root[data-desktop-theme] button{box-shadow:none;font-weight:500;border-radius:8px}
:root[data-desktop-theme] button:hover{background:var(--soft)}
:root[data-desktop-theme] button.primary{background:var(--fg);border-color:var(--fg);color:var(--surface);font-weight:600}
:root[data-desktop-theme] button.primary:hover{filter:brightness(.88)}
:root[data-desktop-theme] nav button{color:var(--muted);font-size:13px}
:root[data-desktop-theme] nav button[aria-current]{background:var(--soft);color:var(--fg);font-weight:600}
:root[data-desktop-theme] nav button[aria-disabled=true]{border:0;opacity:.65}
:root[data-desktop-theme] .header-actions .app-version{color:var(--muted)}
:root[data-desktop-theme] .panel,:root[data-desktop-theme] .desktop-week,:root[data-desktop-theme] .desktop-balances,:root[data-desktop-theme] .desktop-card-preview{background:var(--surface);border:1px solid var(--line);box-shadow:none;border-radius:12px}
:root[data-desktop-theme] .desktop-balances .desktop-stat:first-child,
:root[data-desktop-theme] .desktop-balances .desktop-stat:nth-child(2),
:root[data-desktop-theme] .desktop-forecast{background:transparent;color:var(--fg)}
:root[data-desktop-theme] .desktop-balances .desktop-stat:first-child>span,
:root[data-desktop-theme] .desktop-balances .desktop-stat:first-child small{color:var(--muted)}
:root[data-desktop-theme] .desktop-balances>.desktop-stat>strong{color:var(--brand);font-weight:650;letter-spacing:-.6px}
:root[data-desktop-theme] .desktop-balances .desktop-forecast .desktop-stat>strong{font-weight:600;color:var(--fg)}
:root[data-desktop-theme] .desktop-forecast>h2{font-weight:500}
:root[data-desktop-theme] .desktop-card-preview h2{font-weight:500;color:var(--muted)}
:root[data-desktop-theme] .desktop-card-preview>strong{font-weight:600;letter-spacing:-.4px}
:root[data-desktop-theme] .desktop-card-preview p{color:var(--fg);font-size:12px}
:root[data-desktop-theme] .desktop-card-preview small{font-size:11px}
:root[data-desktop-theme] .desktop-week-head,
:root[data-desktop-theme] .desktop-week:not(.current-week) .desktop-week-head,
:root[data-desktop-theme] .desktop-week.current-week .desktop-week-head{background:var(--surface);color:var(--fg);border-bottom:1px solid var(--line);box-shadow:none}
:root[data-desktop-theme] .desktop-week.current-week{border-color:light-dark(#c99aa4,#885560)}
:root[data-desktop-theme] .desktop-week.current-week .desktop-week-head h3{color:var(--brand)}
:root[data-desktop-theme] .desktop-week-head h3{font-weight:600;font-size:13px}
:root[data-desktop-theme] .desktop-week-closing small{color:var(--muted);font-size:11px;font-weight:400}
:root[data-desktop-theme] .desktop-week-closing strong{font-weight:600;font-size:15px;letter-spacing:-.3px}
:root[data-desktop-theme] .desktop-days span{font-weight:400;color:var(--muted)}
:root[data-desktop-theme] .desktop-week .desktop-days .outside{color:var(--muted);background:transparent;opacity:.55}
:root[data-desktop-theme] .desktop-week.current-week .desktop-days .current-day{background:var(--brand);color:var(--brand-text);font-weight:600}
:root[data-desktop-theme] .desktop-budget{background:transparent;border-color:var(--line)}
:root[data-desktop-theme] .desktop-budget-title{color:var(--fg);font-weight:500}
:root[data-desktop-theme] .desktop-pair strong{font-weight:500}
:root[data-desktop-theme] .desktop-available strong{font-weight:600}
:root[data-desktop-theme] .desktop-track{background:var(--soft);height:4px}
:root[data-desktop-theme] .desktop-track>div{background:var(--brand)}
:root[data-desktop-theme] .desktop-variables-button{background:transparent;border:1px solid var(--line);color:var(--fg);font-weight:500}
:root[data-desktop-theme] .desktop-group>.desktop-group-title,
:root[data-desktop-theme] .desktop-group.income>.desktop-group-title,
:root[data-desktop-theme] .desktop-group.expense>.desktop-group-title,
:root[data-desktop-theme] .desktop-group.investments>.desktop-group-title{background:var(--soft);color:var(--fg);border-radius:5px;padding:6px}
:root[data-desktop-theme] .desktop-group-title h3{color:inherit;font-weight:600}
:root[data-desktop-theme] .desktop-group-title strong{font-weight:600}
:root[data-desktop-theme] .desktop-group.income .desktop-group-title strong{color:var(--income)}
:root[data-desktop-theme] .desktop-group.expense .desktop-group-title strong{color:var(--expense)}
:root[data-desktop-theme] .desktop-group-title:hover{filter:none;background:var(--line)}
:root[data-desktop-theme] .desktop-entry{padding:9px 2px;border-color:var(--line);border-radius:0}
:root[data-desktop-theme] .desktop-entry>strong{font-weight:500;font-size:14px}
:root[data-desktop-theme] .desktop-entry-amount{font-weight:600;font-size:14px}
:root[data-desktop-theme] .desktop-entry-meta{font-size:12px;color:var(--muted)}
:root[data-desktop-theme] .desktop-empty{color:var(--muted)}
:root[data-desktop-theme] .desktop-view-modes{background:transparent;border-color:var(--line)}
:root[data-desktop-theme] .desktop-view-modes button[aria-pressed=true]{background:var(--soft);color:var(--fg)}
:root[data-desktop-theme] .desktop-overdue{background:transparent;border-color:var(--line);color:var(--danger)}
:root[data-desktop-theme] .panel{padding:20px}
:root[data-desktop-theme] h2{font-weight:600;letter-spacing:-.3px}
:root[data-desktop-theme] .entry{border-color:var(--line)}
:root[data-desktop-theme] .entry strong{font-size:14px;font-weight:500}
:root[data-desktop-theme] .entry-amount{font-size:14px;font-weight:600}
:root[data-desktop-theme] .entry-meta,:root[data-desktop-theme] .entry-status{font-size:12px}
:root[data-desktop-theme] .entry-icon{background:var(--soft);color:var(--muted);border-radius:8px}
:root[data-desktop-theme] .badge{background:var(--soft);font-weight:400}
:root[data-desktop-theme] .period-switch{background:var(--soft)}
:root[data-desktop-theme] .period-switch button[aria-pressed=true]{box-shadow:none}
:root[data-desktop-theme] .recurrence-line{border-radius:0;border-color:var(--line);background:none}
:root[data-desktop-theme] .recurrence-day>strong{color:var(--fg);font-weight:600}
:root[data-desktop-theme] .recurrence-content h2,:root[data-desktop-theme] .card-line>strong:first-child{font-weight:500}
:root[data-desktop-theme] .recurrence-details>.muted{font-size:12px}
:root[data-desktop-theme] .recurrence-notice{background:transparent;border-color:var(--line)}
:root[data-desktop-theme] .card-total{font-weight:650;letter-spacing:-.8px}
:root[data-desktop-theme] .card-line{border-color:var(--line)}
:root[data-desktop-theme] .card-line:hover{background:var(--soft)}
:root[data-desktop-theme] dialog{background:var(--surface);border-color:var(--line);border-radius:16px;box-shadow:0 20px 70px #0003}
:root[data-desktop-theme] dialog::backdrop{background:#0007;backdrop-filter:blur(2px)}
:root[data-desktop-theme] dialog h2{font-weight:600;font-size:22px}
:root[data-desktop-theme] dialog p{font-size:13px}
:root[data-desktop-theme] label{font-size:13px;font-weight:500}
:root[data-desktop-theme] input,:root[data-desktop-theme] select,:root[data-desktop-theme] textarea{background:var(--surface);border-color:var(--line);border-radius:8px}
:root[data-desktop-theme] :is(button,input,select,textarea,summary):focus-visible{outline:2px solid var(--brand);outline-offset:3px}
:root[data-desktop-theme] .risk,:root[data-desktop-theme] .desktop-stat>strong.risk,:root[data-desktop-theme] .desktop-week-closing strong.risk{color:var(--danger)}
@media(max-width:1100px){:root[data-desktop-theme] .desktop-entry>strong,:root[data-desktop-theme] .desktop-entry-amount{font-size:13px}}
:root[data-desktop-theme] .desktop-overview .desktop-actions .primary,:root[data-desktop-theme] .desktop-page-actions .primary{background:var(--fg);border-color:var(--fg);color:var(--surface)}
:root[data-desktop-theme] .desktop-group.expense .desktop-group-title h3{color:var(--fg)}

/* Efetivados permanecem editáveis, com menor destaque que os pendentes. */
:root[data-desktop-theme] .desktop-entry.settled{opacity:.65}
:root[data-desktop-theme] .desktop-entry.settled>strong,
:root[data-desktop-theme] .desktop-entry.settled .desktop-entry-amount{color:var(--muted);text-decoration:line-through;text-decoration-thickness:1px;text-decoration-color:currentColor}
:root[data-desktop-theme] .desktop-entry.settled .desktop-entry-meta{color:var(--muted)}

/* Planejamento compacto: data, descrição e valor na mesma linha. */
:root[data-desktop-theme] .desktop-entry{grid-template-columns:40px minmax(0,1fr) auto;gap:6px;align-items:center;height:30px;min-height:30px;padding:4px 2px}
:root[data-desktop-theme] .desktop-entry-date{grid-column:1;grid-row:1;display:flex;align-items:center;gap:3px;font-size:11px;line-height:19px;color:var(--muted);white-space:nowrap;font-variant-numeric:tabular-nums}
:root[data-desktop-theme] .desktop-entry>strong{grid-column:2;grid-row:1;font-size:13px;line-height:19px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
:root[data-desktop-theme] .desktop-entry-amount{grid-column:3;grid-row:1;font-size:13px;line-height:19px}
:root[data-desktop-theme] .desktop-entry.due-today .desktop-entry-date{color:light-dark(#926113,#e9bd68);font-weight:600}
:root[data-desktop-theme] .desktop-entry.due-today .desktop-entry-date::before{content:'';width:4px;height:4px;flex:none;border-radius:50%;background:currentColor}
:root[data-desktop-theme] .desktop-entry.due-today>strong{font-weight:600}
:root[data-desktop-theme] .desktop-budget{grid-template-rows:24px 22px 20px 4px 22px;height:125px}
:root[data-desktop-theme] .desktop-budget-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}
:root[data-desktop-theme] .desktop-budget-title{gap:4px;font-size:12px}
:root[data-desktop-theme] .desktop-budget-actions .text-button{font-size:11px;white-space:nowrap}

:root[data-desktop-theme] .draggable-entry{cursor:grab}
:root[data-desktop-theme] .draggable-entry:active{cursor:grabbing}
:root[data-desktop-theme] .desktop-entry.dragging{opacity:.35}
:root[data-desktop-theme] .desktop-week.drop-active{border-color:var(--brand);box-shadow:inset 0 0 0 1px var(--brand)}

:root[data-desktop-theme] .move-days-label{font-size:13px;font-weight:500;margin:20px 0 8px}
:root[data-desktop-theme] .move-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px}
:root[data-desktop-theme] .move-day{display:grid;gap:3px;justify-items:center;padding:8px 2px;min-height:54px;font-size:12px;font-variant-numeric:tabular-nums}
:root[data-desktop-theme] .move-day small{font-size:11px;color:var(--muted)}
:root[data-desktop-theme] .move-day[aria-pressed=true]{border-color:var(--brand);background:var(--soft);color:var(--brand);font-weight:600}
:root[data-desktop-theme] .move-day[aria-pressed=true] small{color:inherit}
