/* ═══════════════════════════════════════════════════════════════
   NEXO DESK — central do estúdio.
   Mesma sala escura do site: vermelho = eletricidade, tudo que é
   vermelho brilha. Archivo expandido ✕ Space Mono ✕ Bodoni (marca).
   ═══════════════════════════════════════════════════════════════ */

:root{
  color-scheme:dark;
  /* A sala escura */
  --bg:#0a0a0b;
  --bg-raise:#141416;
  --bg-deep:#060607;
  /* Luz */
  --ink:#f2f0ec;
  --soft:rgba(242,240,236,.58);
  --line:rgba(242,240,236,.10);
  --line-faint:rgba(242,240,236,.06);
  /* O X elétrico */
  --red:#e63946;
  --red-deep:#c22633;
  --red-bright:#ff5a66;
  --glow:rgba(230,57,70,.35);
  --glow-soft:rgba(230,57,70,.16);
  /* Tipos */
  --font-display:'Archivo', system-ui, sans-serif;
  --font-body:'Archivo', system-ui, sans-serif;
  --font-brand:'Bodoni Moda', 'Didot', Georgia, serif;
  --font-mono:'Space Mono', ui-monospace, monospace;
  /* Estrutura */
  --sidebar-w:232px;
}

/* ── Reset ── */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
body{
  font-family:var(--font-body);
  font-size:1rem;
  line-height:1.55;
  color:var(--ink);
  background:var(--bg);
  -webkit-font-smoothing:antialiased;
  min-height:100vh;
}
img{display:block;max-width:100%}
[hidden]{display:none!important}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:none;cursor:pointer}
input,select,textarea{font:inherit;color:inherit}
::selection{background:var(--red);color:#fff}
:focus-visible{outline:2px solid var(--red-bright);outline-offset:2px}
::-webkit-scrollbar{width:10px;height:10px}
::-webkit-scrollbar-track{background:var(--bg-deep)}
::-webkit-scrollbar-thumb{background:#26262a}
::-webkit-scrollbar-thumb:hover{background:var(--red-deep)}

/* ── Atmosfera: granulado + vinheta ── */
body::before{
  content:'';position:fixed;inset:0;z-index:100;pointer-events:none;
  opacity:.045;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>");
}
body::after{
  content:'';position:fixed;inset:0;z-index:99;pointer-events:none;
  background:radial-gradient(ellipse 120% 90% at 50% 45%, transparent 60%, rgba(0,0,0,.42) 100%);
}

/* ── Marca ── */
.brand-word{
  font-family:var(--font-brand);
  font-weight:700;
  letter-spacing:.04em;
}
.x-glow{
  color:var(--red-bright);
  text-shadow:0 0 14px var(--glow),0 0 38px var(--glow-soft);
  font-family:var(--font-mono);
}
.kicker{
  font-family:var(--font-mono);
  font-size:.7rem;
  letter-spacing:.2em;
  text-transform:uppercase;
  color:var(--soft);
  display:flex;align-items:center;gap:.6em;
}
.kicker .x{color:var(--red-bright);text-shadow:0 0 12px var(--glow)}

h2{
  font-family:var(--font-display);
  font-stretch:125%;
  font-weight:760;
  font-size:clamp(1.7rem,3.5vw,2.4rem);
  line-height:1.05;
  letter-spacing:-.015em;
}
h3{
  font-family:var(--font-display);
  font-stretch:120%;
  font-weight:740;
  font-size:1.15rem;
  margin-bottom:1rem;
}

/* ═══ LOGIN ═══ */
.login{
  position:fixed;inset:0;z-index:50;
  display:flex;align-items:center;justify-content:center;
  background:var(--bg-deep);
  padding:1.5rem;
}
.login__box{width:min(420px,100%);text-align:center}
.login__brand{font-size:clamp(2.6rem,8vw,3.4rem);line-height:1;display:flex;justify-content:center;align-items:baseline;gap:.18em}
.login__kicker{
  font-family:var(--font-mono);font-size:.72rem;letter-spacing:.24em;
  text-transform:uppercase;color:var(--soft);margin:.7rem 0 2.6rem;
}
.login__ask{font-family:var(--font-mono);font-size:.8rem;letter-spacing:.12em;text-transform:uppercase;color:var(--soft);margin-bottom:1.2rem}
.founders{display:grid;gap:.7rem}
.founder-card{
  display:flex;align-items:center;gap:.9rem;
  width:100%;padding:.9rem 1.1rem;text-align:left;
  background:var(--bg-raise);border:1px solid var(--line);
  transition:border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}
.founder-card:hover,.founder-card:focus-visible{
  border-color:var(--red);
  box-shadow:0 0 18px var(--glow-soft), inset 0 0 0 1px var(--red-deep);
  transform:translateY(-1px);
}
.founder-card strong{font-stretch:115%;font-weight:700}
.founder-card .founder-card__hint{margin-left:auto;font-family:var(--font-mono);font-size:.68rem;color:var(--soft);letter-spacing:.1em}

.avatar{
  width:40px;height:40px;flex:none;
  display:inline-flex;align-items:center;justify-content:center;
  font-family:var(--font-mono);font-size:.8rem;font-weight:700;letter-spacing:.05em;
  color:var(--red-bright);
  background:radial-gradient(circle at 50% 40%, rgba(230,57,70,.18), transparent 75%), var(--bg-deep);
  border:1px solid var(--red-deep);
  box-shadow:0 0 12px var(--glow-soft);
  border-radius:50%;
}
.avatar--lg{width:54px;height:54px;font-size:1rem}

.login__step{margin-top:.5rem}
.founders__chosen{display:flex;flex-direction:column;align-items:center;gap:.6rem;margin-bottom:1.4rem}
.login__who{font-stretch:118%;font-weight:740;font-size:1.25rem}
.login__back{
  font-family:var(--font-mono);font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;
  color:var(--soft);margin-bottom:1.2rem;
}
.login__back:hover{color:var(--ink)}
.login__error{
  font-family:var(--font-mono);font-size:.78rem;color:var(--red-bright);
  text-shadow:0 0 10px var(--glow);margin:.8rem 0;
}

/* ═══ ESTRUTURA DO APP ═══ */
.app{display:flex;min-height:100vh}

.sidebar{
  width:var(--sidebar-w);flex:none;
  position:sticky;top:0;height:100vh;
  display:flex;flex-direction:column;
  background:var(--bg-deep);
  border-right:1px solid var(--line-faint);
  padding:1.6rem 1.2rem 1.2rem;
}
.sidebar__brand{font-size:1.7rem;display:flex;align-items:baseline;gap:.16em;margin-bottom:2.2rem}
.sidebar__desk{
  font-family:var(--font-mono);font-size:.62rem;letter-spacing:.24em;
  text-transform:uppercase;color:var(--soft);margin-left:.5em;
}
.nav{display:flex;flex-direction:column;gap:.15rem}
.nav a{
  display:flex;align-items:center;gap:.7em;
  font-family:var(--font-mono);font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;
  color:var(--soft);padding:.62em .7em;
  border-left:2px solid transparent;
  transition:color .15s ease, border-color .15s ease, background .15s ease;
}
.nav a:hover{color:var(--ink);background:var(--bg-raise)}
.nav a.active{
  color:var(--ink);
  border-left-color:var(--red);
  background:linear-gradient(90deg, rgba(230,57,70,.12), transparent 70%);
}
.nav a.active .nav__num{color:var(--red-bright);text-shadow:0 0 10px var(--glow)}
.nav__num{font-size:.68rem;color:var(--soft)}

.sidebar__user{
  margin-top:auto;display:flex;gap:.7rem;align-items:center;
  border-top:1px solid var(--line-faint);padding-top:1rem;
}
.sidebar__user-meta strong{display:block;font-stretch:112%;font-size:.92rem;line-height:1.2}
.sidebar__user-actions{display:flex;gap:.9em;margin-top:.25em}
.sidebar__user-actions button{
  font-family:var(--font-mono);font-size:.62rem;letter-spacing:.08em;text-transform:uppercase;
  color:var(--soft);
}
.sidebar__user-actions button:hover{color:var(--red-bright)}

.content{
  flex:1;min-width:0;
  padding:2.2rem clamp(1.2rem,3.5vw,3rem) 4rem;
}
.view__head{
  display:flex;align-items:flex-end;gap:1.2rem;flex-wrap:wrap;
  margin-bottom:1.8rem;
}
.view__head .kicker{width:100%}
.view__head h2{margin-right:auto}
.view__head-actions{display:flex;gap:.6rem}

/* ═══ COMPONENTES ═══ */

/* Botões */
.btn{
  font-family:var(--font-mono);font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;
  padding:.7em 1.3em;
  border:1px solid var(--line);
  color:var(--ink);background:var(--bg-raise);
  transition:border-color .15s ease, box-shadow .15s ease, background .15s ease;
  white-space:nowrap;
}
.btn:hover{border-color:var(--soft)}
.btn--red{
  border-color:var(--red-deep);
  background:linear-gradient(180deg, rgba(230,57,70,.16), rgba(230,57,70,.05));
  color:var(--red-bright);
  text-shadow:0 0 10px var(--glow);
}
.btn--red:hover{border-color:var(--red);box-shadow:0 0 16px var(--glow-soft)}
.btn--block{width:100%;display:block}
.btn--sm{padding:.45em .8em;font-size:.64rem}
.btn[disabled]{opacity:.5;cursor:wait}

/* Painéis */
.panel{
  background:var(--bg-raise);
  border:1px solid var(--line-faint);
  padding:1.3rem 1.4rem;
}
.panel + .panel{margin-top:1.1rem}
.panel__title{
  font-family:var(--font-mono);font-size:.7rem;letter-spacing:.18em;text-transform:uppercase;
  color:var(--soft);margin-bottom:1rem;
  display:flex;align-items:center;gap:.6em;
}
.panel__title .x{color:var(--red-bright);text-shadow:0 0 10px var(--glow)}

/* KPIs */
.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem;margin-bottom:1.4rem}
.kpi{
  background:var(--bg-raise);border:1px solid var(--line-faint);
  padding:1.1rem 1.2rem;
}
.kpi dt{
  font-family:var(--font-mono);font-size:.64rem;letter-spacing:.16em;text-transform:uppercase;
  color:var(--soft);margin-bottom:.4em;
}
.kpi dd{
  font-family:var(--font-display);font-stretch:122%;font-weight:780;
  font-size:clamp(1.4rem,2.6vw,1.9rem);line-height:1.05;letter-spacing:-.01em;
}
.kpi dd.neg{color:var(--red-bright);text-shadow:0 0 14px var(--glow)}
.kpi--accent{border-color:var(--red-deep);box-shadow:inset 0 0 24px rgba(230,57,70,.06)}
.kpi--accent dd{color:var(--red-bright);text-shadow:0 0 16px var(--glow)}

.counters{display:flex;gap:1.6rem;flex-wrap:wrap;margin-bottom:1.4rem}
.counters span{font-family:var(--font-mono);font-size:.74rem;letter-spacing:.08em;color:var(--soft)}
.counters strong{color:var(--ink);font-weight:700}

/* Grid do painel */
.painel-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.1rem}
.painel-grid .panel{margin:0}
.painel-grid .panel--wide{grid-column:1 / -1}

/* Tabelas */
.table-wrap{overflow-x:auto}
table{width:100%;border-collapse:collapse}
th{
  font-family:var(--font-mono);font-size:.62rem;letter-spacing:.14em;text-transform:uppercase;
  color:var(--soft);text-align:left;font-weight:400;
  padding:.5em .8em;border-bottom:1px solid var(--line);
  white-space:nowrap;
}
td{
  padding:.65em .8em;border-bottom:1px solid var(--line-faint);
  font-size:.92rem;vertical-align:middle;
}
tr:hover td{background:rgba(242,240,236,.02)}
td.num{font-variant-numeric:tabular-nums;white-space:nowrap}
td .soft, .soft{color:var(--soft)}
tr.clickable{cursor:pointer}

.amount--receita{color:var(--ink)}
.amount--despesa{color:var(--red-bright);text-shadow:0 0 8px var(--glow-soft)}

/* Badges */
.badge{
  display:inline-block;
  font-family:var(--font-mono);font-size:.62rem;letter-spacing:.1em;text-transform:uppercase;
  padding:.28em .7em;border:1px solid var(--line);color:var(--soft);
  white-space:nowrap;
}
.badge--em_andamento,.badge--assinado,.badge--agendada{
  border-color:var(--red-deep);color:var(--red-bright);
  text-shadow:0 0 8px var(--glow);
  background:rgba(230,57,70,.07);
}
.badge--concluido,.badge--realizada{border-color:rgba(242,240,236,.35);color:var(--ink)}
.badge--em_revisao,.badge--enviado{border-color:rgba(242,240,236,.22);color:var(--ink)}
.badge--proposta,.badge--rascunho{border-style:dashed}
.badge--pausado,.badge--encerrado{opacity:.75}
.badge--cancelado,.badge--cancelada{opacity:.5;text-decoration:line-through}

/* Chips de filtro/categoria */
.chips{display:flex;gap:.45rem;flex-wrap:wrap;margin-bottom:1.1rem}
.chip{
  font-family:var(--font-mono);font-size:.66rem;letter-spacing:.1em;text-transform:uppercase;
  padding:.42em .9em;border:1px solid var(--line);color:var(--soft);
  transition:all .15s ease;
}
.chip:hover{color:var(--ink);border-color:var(--soft)}
.chip.active{
  color:var(--red-bright);border-color:var(--red-deep);
  text-shadow:0 0 8px var(--glow);
  background:rgba(230,57,70,.07);
}

/* Cards (clientes / projetos) */
.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:1rem}
.card{
  background:var(--bg-raise);border:1px solid var(--line-faint);
  padding:1.15rem 1.25rem;text-align:left;width:100%;
  display:flex;flex-direction:column;gap:.55rem;
  transition:border-color .18s ease, box-shadow .18s ease, transform .18s ease;
  cursor:pointer;
}
.card:hover,.card:focus-visible{
  border-color:var(--red-deep);
  box-shadow:0 0 20px var(--glow-soft);
  transform:translateY(-2px);
}
.card__top{display:flex;align-items:flex-start;gap:.7rem;justify-content:space-between}
.card__title{font-stretch:116%;font-weight:740;font-size:1.05rem;line-height:1.2}
.card__sub{font-family:var(--font-mono);font-size:.68rem;letter-spacing:.08em;color:var(--soft)}
.card__meta{display:flex;gap:.9em;flex-wrap:wrap;font-family:var(--font-mono);font-size:.68rem;color:var(--soft)}

/* Barra de progresso — vermelho é luz */
.progress{
  position:relative;height:6px;background:var(--bg-deep);
  border:1px solid var(--line-faint);
  display:flex;align-items:center;
}
.progress__fill{
  height:100%;
  background:linear-gradient(90deg, var(--red-deep), var(--red));
  box-shadow:0 0 10px var(--glow),0 0 22px var(--glow-soft);
  transition:width .35s ease;
}
.progress__num{
  position:absolute;right:0;top:-1.55em;
  font-family:var(--font-mono);font-size:.62rem;color:var(--soft);letter-spacing:.06em;
}
.progress-line{margin-top:1.1rem}

/* Etapas */
.stages{list-style:none;display:flex;flex-direction:column;gap:.15rem}
.stages li{
  display:flex;align-items:center;gap:.7rem;
  padding:.5em .4em;border-bottom:1px solid var(--line-faint);
}
.stages li:last-child{border-bottom:none}
.stage-check{
  width:20px;height:20px;flex:none;
  display:inline-flex;align-items:center;justify-content:center;
  border:1px solid var(--line);color:transparent;
  font-size:.7rem;font-family:var(--font-mono);
  transition:all .15s ease;
}
.stage-check.done{
  border-color:var(--red-deep);color:var(--red-bright);
  text-shadow:0 0 8px var(--glow);
  background:rgba(230,57,70,.08);
}
.stages li.done .stage-title{color:var(--soft);text-decoration:line-through;text-decoration-color:rgba(230,57,70,.5)}
.stage-title{flex:1;font-size:.95rem}
.stage-del{color:var(--soft);font-family:var(--font-mono);font-size:.75rem;opacity:0;transition:opacity .15s}
.stages li:hover .stage-del{opacity:1}
.stage-del:hover{color:var(--red-bright)}
.stage-add{display:flex;gap:.5rem;margin-top:.8rem}
.stage-add input{flex:1}

/* Detalhe (projeto/cliente) */
.detail-head{display:flex;align-items:flex-start;gap:1rem;flex-wrap:wrap;margin-bottom:1.3rem}
.detail-head h3{font-size:1.5rem;margin:0;margin-right:auto}
.back-link{
  font-family:var(--font-mono);font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;
  color:var(--soft);display:inline-block;margin-bottom:1rem;
}
.back-link:hover{color:var(--red-bright)}
.detail-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:1.1rem;align-items:start}
.detail-grid .panel{margin:0}
.spec{display:grid;grid-template-columns:auto 1fr;gap:.35em 1.2em;font-size:.92rem}
.spec dt{font-family:var(--font-mono);font-size:.66rem;letter-spacing:.12em;text-transform:uppercase;color:var(--soft);padding-top:.35em}
.spec dd a{color:var(--red-bright);text-shadow:0 0 8px var(--glow-soft)}
.spec dd a:hover{text-decoration:underline}

/* Reuniões */
.meeting{
  display:flex;gap:1rem;align-items:flex-start;
  padding:.85rem .4rem;border-bottom:1px solid var(--line-faint);
}
.meeting:last-child{border-bottom:none}
.meeting__when{
  flex:none;width:5.2rem;text-align:center;
  font-family:var(--font-mono);font-size:.72rem;line-height:1.4;color:var(--red-bright);
  text-shadow:0 0 8px var(--glow-soft);
  border:1px solid var(--red-deep);padding:.45em .3em;
  background:rgba(230,57,70,.05);
}
.meeting__when small{display:block;color:var(--soft);text-shadow:none;font-size:.64rem}
.meeting--past .meeting__when{border-color:var(--line);color:var(--soft);text-shadow:none;background:none}
.meeting__body{flex:1;min-width:0}
.meeting__title{font-stretch:112%;font-weight:700}
.meeting__meta{font-family:var(--font-mono);font-size:.66rem;color:var(--soft);letter-spacing:.05em;margin-top:.15em}
.meeting__notes{font-size:.88rem;color:var(--soft);margin-top:.4em;white-space:pre-wrap}
.meeting__actions{display:flex;gap:.4rem;flex-wrap:wrap;margin-top:.55em}

/* Financeiro */
.fin-head{display:flex;align-items:center;gap:1rem;flex-wrap:wrap;margin-bottom:1.2rem}
.month-nav{display:flex;align-items:center;gap:.6rem}
.month-nav button{
  font-family:var(--font-mono);font-size:.9rem;padding:.25em .6em;
  border:1px solid var(--line);color:var(--soft);
}
.month-nav button:hover{color:var(--red-bright);border-color:var(--red-deep)}
.month-nav strong{
  font-family:var(--font-mono);font-size:.8rem;letter-spacing:.14em;text-transform:uppercase;
  min-width:11ch;text-align:center;
}
.fin-summary{display:flex;gap:1.6rem;flex-wrap:wrap;margin-left:auto}
.fin-summary span{font-family:var(--font-mono);font-size:.72rem;letter-spacing:.08em;color:var(--soft)}
.fin-summary strong{color:var(--ink);font-weight:700}
.fin-summary strong.neg{color:var(--red-bright);text-shadow:0 0 8px var(--glow)}

.chart{width:100%;height:auto;display:block}
.chart__label{
  font-family:'Space Mono',monospace;font-size:11px;
  fill:rgba(242,240,236,.55);letter-spacing:.08em;text-transform:uppercase;
}
.chart-legend{display:flex;gap:1.4rem;margin-top:.6rem}
.chart-legend span{font-family:var(--font-mono);font-size:.64rem;letter-spacing:.1em;text-transform:uppercase;color:var(--soft);display:flex;align-items:center;gap:.5em}
.chart-legend i{width:10px;height:10px;display:inline-block}
.chart-legend .lg-rec{background:var(--ink)}
.chart-legend .lg-desp{background:var(--red);box-shadow:0 0 8px var(--glow)}

/* Ações em linha de tabela */
.row-actions{display:flex;gap:.35rem;justify-content:flex-end}
.icon-btn{
  font-family:var(--font-mono);font-size:.68rem;
  padding:.3em .55em;border:1px solid transparent;color:var(--soft);
}
.icon-btn:hover{color:var(--red-bright);border-color:var(--red-deep)}

/* ═══ FORMULÁRIOS / MODAIS ═══ */
.modal{
  margin:auto; /* o reset global zera a margem; sem isto o <dialog> cola no canto */
  background:var(--bg-raise);color:var(--ink);
  border:1px solid var(--line);
  box-shadow:0 0 0 1px rgba(230,57,70,.12), 0 30px 80px rgba(0,0,0,.7), 0 0 60px var(--glow-soft);
  padding:1.7rem 1.8rem;
  width:min(560px, calc(100vw - 2rem));
  max-height:calc(100vh - 4rem);overflow-y:auto;
}
.modal--sm{width:min(400px, calc(100vw - 2rem))}
.modal::backdrop{background:rgba(6,6,7,.78);backdrop-filter:blur(2px)}
.modal__foot{display:flex;justify-content:flex-end;gap:.6rem;margin-top:1.4rem}

.field{display:block;margin-bottom:.95rem;min-width:0}
.field__label{
  display:block;
  font-family:var(--font-mono);font-size:.62rem;letter-spacing:.14em;text-transform:uppercase;
  color:var(--soft);margin-bottom:.4em;
}
.field__hint{display:block;font-family:var(--font-mono);font-size:.66rem;color:var(--soft);margin-top:.4em}
.field input:not([type=file]),.field select,.field textarea,.stage-add input{
  width:100%;
  background:var(--bg-deep);
  border:1px solid var(--line);
  padding:.6em .75em;
  color:var(--ink);
  transition:border-color .15s ease, box-shadow .15s ease;
}
.field input:focus,.field select:focus,.field textarea:focus,.stage-add input:focus{
  outline:none;border-color:var(--red-deep);
  box-shadow:0 0 0 1px var(--red-deep), 0 0 14px var(--glow-soft);
}
.field textarea{resize:vertical}
.field input[type=file]{font-size:.85rem;color:var(--soft)}
.field input[type=file]::file-selector-button{
  font-family:var(--font-mono);font-size:.66rem;letter-spacing:.1em;text-transform:uppercase;
  background:var(--bg-deep);border:1px solid var(--line);color:var(--ink);
  padding:.5em 1em;margin-right:.8em;cursor:pointer;
}
.field-row{display:grid;grid-template-columns:1fr 1fr;gap:.9rem}
.checkline{
  display:flex;align-items:center;gap:.6em;
  font-size:.88rem;color:var(--soft);margin-bottom:.4rem;cursor:pointer;
}
.checkline input{accent-color:var(--red)}

.kind-toggle{display:grid;grid-template-columns:1fr 1fr;gap:.5rem;margin-bottom:1.1rem}
.kind-toggle label{cursor:pointer}
.kind-toggle input{position:absolute;opacity:0;pointer-events:none}
.kind-toggle span{
  display:block;text-align:center;
  font-family:var(--font-mono);font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;
  padding:.7em;border:1px solid var(--line);color:var(--soft);
  transition:all .15s ease;
}
.kind-toggle input:checked + span{
  color:var(--red-bright);border-color:var(--red-deep);
  text-shadow:0 0 10px var(--glow);
  background:rgba(230,57,70,.08);
}
.kind-toggle input:focus-visible + span{outline:2px solid var(--red-bright);outline-offset:2px}

.confirm-msg{font-size:.98rem;line-height:1.5}

/* ═══ TOAST ═══ */
.toast{
  position:fixed;left:50%;bottom:1.6rem;z-index:120;
  transform:translate(-50%, calc(100% + 2.5rem));
  visibility:hidden;
  background:var(--bg-deep);border:1px solid var(--line);
  color:var(--ink);
  font-family:var(--font-mono);font-size:.76rem;letter-spacing:.06em;
  padding:.8em 1.4em;
  max-width:min(480px, calc(100vw - 2rem));
  transition:transform .25s ease;
  box-shadow:0 10px 40px rgba(0,0,0,.6);
}
.toast--show{transform:translate(-50%, 0);visibility:visible}
.toast--error{border-color:var(--red-deep);color:var(--red-bright);text-shadow:0 0 8px var(--glow);box-shadow:0 10px 40px rgba(0,0,0,.6), 0 0 24px var(--glow-soft)}

/* Estado vazio */
.empty{
  font-family:var(--font-mono);font-size:.78rem;letter-spacing:.08em;
  color:var(--soft);padding:1.6rem .4rem;text-align:center;
}
.empty .x{color:var(--red-bright);text-shadow:0 0 10px var(--glow)}

/* Carregando */
.loading{
  font-family:var(--font-mono);font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;
  color:var(--soft);padding:2.2rem;text-align:center;
  animation:pulse 1.2s ease-in-out infinite;
}
@keyframes pulse{0%,100%{opacity:.35}50%{opacity:.9}}
@media (prefers-reduced-motion:reduce){.loading{animation:none}}

/* ═══ RESPONSIVO ═══ */
@media (max-width:840px){
  .app{flex-direction:column}
  .sidebar{
    width:100%;height:auto;position:sticky;top:0;z-index:40;
    flex-direction:row;align-items:center;gap:1rem;
    padding:.7rem 1rem;
    border-right:none;border-bottom:1px solid var(--line-faint);
    overflow-x:auto;
  }
  .sidebar__brand{margin:0;font-size:1.25rem;flex:none}
  .sidebar__desk{display:none}
  .nav{flex-direction:row;gap:.1rem;flex:1}
  .nav a{border-left:none;border-bottom:2px solid transparent;padding:.5em .6em;white-space:nowrap}
  .nav a.active{border-bottom-color:var(--red);background:none}
  .nav__num{display:none}
  .sidebar__user{margin:0;border:none;padding:0;flex:none}
  .sidebar__user-meta strong{display:none}
  .sidebar__user-actions{margin:0}
  .sidebar__user-actions button span{display:none}
  .content{padding:1.4rem 1rem 3rem}
  .painel-grid{grid-template-columns:1fr}
  .detail-grid{grid-template-columns:1fr}
  .field-row{grid-template-columns:1fr}
  .fin-summary{margin-left:0}
}
