:root{color-scheme:light;--ink:#242035;--muted:#625c71;--line:#e7e2ed;--paper:#f7f5fa;--white:#fff;--violet:#6742ac;--violet-dark:#503389;--wash:#efe9fa;--nav:#211b31;--good:#16694f;--bad:#a03946;--warn:#835913;--radius:17px;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-size:14px}button,input,select,textarea{font:inherit}button,a,input,select,textarea{touch-action:manipulation}button,a{ -webkit-tap-highlight-color:transparent}a{color:var(--violet-dark)}button{cursor:pointer}button:disabled{cursor:wait;opacity:.6}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #a885e4;outline-offset:3px}h1,h2,h3,p{margin:0}h1{font-size:clamp(28px,3.25vw,43px);font-weight:730;letter-spacing:-.05em;line-height:1.05}h2{font-size:19px;letter-spacing:-.026em}h3{font-size:15px}p{line-height:1.55}.muted{color:var(--muted)}.sub{font-size:13px;color:var(--muted);line-height:1.45}.tiny{font-size:12px}.up{text-transform:uppercase;letter-spacing:.12em;font-weight:750;font-size:11px}.num{font-variant-numeric:tabular-nums}.neg{color:var(--bad)!important}.pos{color:var(--good)!important}.skip{position:fixed;z-index:20;top:-60px;left:12px;background:white;padding:12px}.skip:focus{top:12px}
.shell{min-height:100vh;display:grid;grid-template-columns:236px minmax(0,1fr)}.sidebar{position:sticky;top:0;height:100dvh;background:var(--nav);color:#f9f5ff;display:flex;flex-direction:column;padding:28px 16px 17px;gap:26px;overflow:auto}.brand{display:flex;gap:11px;align-items:center;padding:0 8px}.brand strong{display:block;font-size:14px}.brand small{display:block;color:#c8badb;margin-top:3px;font-size:11px}.mark{width:40px;height:40px;flex:0 0 40px;background:#b99ae8;color:#241635;border-radius:12px;display:grid;place-items:center}.mark .ico{width:24px;height:24px}.project-badge{border:1px solid #493d5d;border-radius:12px;margin:0 6px;padding:13px;background:#2c243e;display:grid;gap:4px}.project-badge span{color:#c6ace8}.side-label{padding-left:12px;color:#ad9dbc;margin-bottom:8px}.nav{display:grid;gap:3px}.nav button{display:flex;gap:11px;align-items:center;text-align:left;padding:10px 11px;border:0;background:none;color:#ded4e9;border-radius:9px;min-height:40px}.nav button:hover{background:#342944}.nav button[aria-current=page]{background:#4b3667;color:#fff;font-weight:700}.nav button[aria-current=page] .ico{color:#dbbffb}.sidefoot{margin-top:auto;display:grid;gap:10px}.sidefoot .btn{color:#e2d8ed;background:#2d253c;border-color:#443854;justify-content:flex-start}.ico{width:18px;height:18px;display:inline-block;flex:0 0 auto;vertical-align:middle}
.main{min-width:0}.bar{min-height:65px;background:#ffffffd9;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;padding:0 33px;gap:12px}.bar .crumb{color:var(--muted);font-size:13px}.bar .crumb b{color:var(--ink)}.workspace{max-width:1540px;margin:auto;padding:29px 33px 40px}.head{display:flex;justify-content:space-between;align-items:flex-end;gap:14px;margin-bottom:21px}.head p{margin-top:8px}.head .up{color:var(--violet);margin:0 0 8px}.actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.btn{border:1px solid var(--line);border-radius:9px;padding:9px 13px;min-height:39px;background:white;color:var(--ink);font-weight:660;display:inline-flex;gap:7px;align-items:center;justify-content:center;text-decoration:none;line-height:1.2}.btn:hover{border-color:#baa9d3;background:#f9f5ff}.btn.primary{background:var(--violet);color:white;border-color:var(--violet)}.btn.primary:hover{background:var(--violet-dark)}.btn.ghost{background:transparent}.btn.small{min-height:31px;padding:6px 9px;font-size:12px}.btn.danger{color:var(--bad)}
.hero{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px;background:#eae2f6;border:1px solid #e0d1f0;border-radius:var(--radius);padding:20px 23px;margin-bottom:16px;align-items:center;position:relative;overflow:hidden}.hero .up{color:#65428c;margin-bottom:5px}.hero h2{font-size:clamp(19px,2.4vw,27px);line-height:1.15}.hero p{max-width:620px;color:#554663;margin-top:5px}.hero .fraction{border-left:1px solid #d3bfeb;padding:3px 0 3px 18px;min-width:137px}.fraction b{display:block;font-size:26px;letter-spacing:-.04em;color:#4e2f76}.fraction span{color:#554663;font-size:12px}
.cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:15px}.metric{border:1px solid var(--line);background:white;border-radius:13px;padding:15px;min-width:0}.metric .top{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:12px;font-weight:680}.metric .top .ico{padding:5px;box-sizing:content-box;background:var(--wash);border-radius:8px;color:var(--violet);width:15px;height:15px}.metric strong{display:block;margin:9px 0 3px;font-size:clamp(16px,1.94vw,27px);letter-spacing:-.055em;overflow-wrap:anywhere}.metric.feature{border-color:#d6c5ea;background:#faf7ff}.metric .sub{font-size:11.5px}
.grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:15px;margin-bottom:15px}.panel{padding:18px;background:white;border-radius:var(--radius);border:1px solid var(--line);min-width:0}.panel+.panel.stack{margin-top:15px}.section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:13px}.section-head p{margin-top:3px}.execution{margin-top:18px}.execution .line{display:flex;justify-content:space-between;gap:10px;align-items:center}.execution+.execution{margin-top:17px}.progress{width:100%;height:10px;border:0;border-radius:20px;overflow:hidden;background:#eee9f4;display:block;margin:8px 0 7px}.progress::-webkit-progress-bar{background:#eee9f4}.progress::-webkit-progress-value{background:#835bb9;border-radius:20px}.progress::-moz-progress-bar{background:#835bb9;border-radius:20px}.progress.cash::-webkit-progress-value{background:#4d947a}.progress.cash::-moz-progress-bar{background:#4d947a}
.alert-list{display:grid;gap:8px}.alert{display:flex;align-items:flex-start;gap:10px;padding:11px;background:#f7f3fe;border:1px solid #ede3fb;border-radius:10px}.alert.high{background:#fff3f3;border-color:#f6dfe2}.alert.attention{background:#fff8e9;border-color:#f1e5c8}.alert .ico{color:var(--violet);margin-top:2px}.alert.high .ico{color:var(--bad)}.alert.attention .ico{color:var(--warn)}.alert b{display:block;font-size:13px;line-height:1.3}.alert p{color:#554f60;font-size:12px;margin-top:4px}.alert .btn{margin-top:7px}.badge{display:inline-flex;align-items:center;width:max-content;max-width:100%;white-space:normal;gap:5px;padding:5px 8px;font-weight:710;font-size:11px;border-radius:100px;background:#eee8f9;color:#563585}.badge.good{background:#e3f3eb;color:#20644f}.badge.warn{background:#f9edd2;color:#745013}.badge.bad{background:#fae4e9;color:#972e44}.badge.grey{background:#eeecf0;color:#575161}
.filters{display:flex;gap:9px;flex-wrap:wrap;margin-bottom:12px;align-items:end}.filters input[type=search]{flex:1;min-width:min(100%,200px)}.filters select{max-width:100%}.table-wrap{overflow:auto;margin:0 -2px}.table{border-collapse:collapse;width:100%;text-align:left;white-space:nowrap;font-size:13px}.table td,.table th{padding:11px 9px;border-bottom:1px solid #eee9f2;vertical-align:middle}.table thead{background:#f6f2fa;color:#5a506a}.table th{font-size:11px;letter-spacing:.025em}.table td:first-child{white-space:normal;min-width:190px}.table tr:last-child td{border-bottom:0}.table td .sub{font-size:11px;margin-top:3px}.table td b{line-height:1.35}.table td:last-child{white-space:nowrap}.table input{min-width:100px;width:128px}.table .num{text-align:right}.empty{background:#f7f4fb;border-radius:10px;padding:19px;color:var(--muted);line-height:1.5}.yearbox{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:14px}.yearbox div{border:1px solid var(--line);border-radius:10px;padding:10px}.yearbox strong{display:block;margin:4px 0}
.field{display:flex;flex-direction:column;gap:5px;min-width:0;font-weight:650;font-size:13px}input:not([type=checkbox]),select,textarea{border:1px solid #dcd4e7;border-radius:8px;padding:9px 10px;min-height:39px;color:var(--ink);background:white;min-width:0}input[readonly]{background:#f2eff5}input[type=file]{max-width:100%}textarea{min-height:90px;resize:vertical}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.full{grid-column:1/-1}.check{display:flex;align-items:flex-start;gap:8px;font-weight:550;line-height:1.4}.check input{margin-top:3px;accent-color:var(--violet)}.separator{border-top:1px solid var(--line);padding-top:12px}.fields{display:grid;gap:13px}.error{color:#902536;background:#fff1f2;border:1px solid #f3d9dd;padding:9px 11px;border-radius:8px;white-space:pre-wrap}.error:empty{display:none}.hint{background:#f5f1fc;padding:11px 13px;border:1px solid #e8def7;border-radius:9px;color:#554565;line-height:1.5}.item-file{display:grid;grid-template-columns:minmax(0,2fr) minmax(120px,1fr) auto;gap:8px;align-items:center;margin:5px 0}.files-old{display:flex;gap:6px;flex-wrap:wrap}.files-old span{display:inline-flex;gap:4px}.files-old .btn{overflow-wrap:anywhere}.modalbody{padding:0 22px 22px;max-height:calc(90dvh - 66px);overflow:auto}dialog{width:min(740px,calc(100% - 22px));max-height:90dvh;overflow:hidden;border:1px solid var(--line);padding:0;border-radius:17px;color:var(--ink);background:#fff;box-shadow:0 22px 90px #23143f66}dialog.wide{width:min(970px,calc(100% - 22px))}dialog::backdrop{background:#20162ab0}.modalhead{display:flex;justify-content:space-between;align-items:center;padding:16px 22px;gap:10px}.modal-actions{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:8px;padding-top:12px}.details{border:1px solid var(--line);padding:10px 12px;border-radius:8px}.details summary{font-weight:650;cursor:pointer}.details[open] summary{margin-bottom:10px}.answer{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.62}.loading{margin:12vh auto;text-align:center;color:var(--muted)}#toast{position:fixed;z-index:7;bottom:20px;right:20px;background:#231b34;color:#fff;padding:12px 17px;border-radius:9px;box-shadow:0 7px 30px #271d4644;max-width:calc(100% - 40px)}#toast:empty{display:none}
.auth{min-height:100dvh;display:grid;grid-template-columns:1fr 1fr}.auth-art{padding:clamp(24px,8vw,115px);color:white;background:#29203b;display:flex;flex-direction:column;justify-content:center;gap:16px}.auth-art h1{font-size:clamp(40px,6vw,86px);color:#efe3ff}.auth-art p{color:#dfd0ec;max-width:390px}.auth-right{display:grid;align-items:center;padding:30px}.auth-card{width:min(100%,440px);margin:auto}.auth-card h2{font-size:27px}.auth-card .fields{margin-top:20px}.mobile{display:none}
@media(max-width:1130px){.sidebar{padding-left:12px;padding-right:12px}.shell{grid-template-columns:194px minmax(0,1fr)}.workspace,.bar{padding-left:22px;padding-right:22px}.metric{padding:12px}.cards{gap:8px}}
@media(max-width:930px){.cards{grid-template-columns:repeat(2,minmax(0,1fr))}.grid{grid-template-columns:1fr}.metric strong{font-size:22px}}
@media(max-width:680px){.shell{display:block}.sidebar{display:none;height:auto;position:static;padding:13px 12px;gap:12px}.sidebar.open{display:flex}.sidebar .nav{grid-template-columns:1fr 1fr}.sidebar .side-label,.sidebar .project-badge{display:none}.bar{padding:0 12px;min-height:54px}.bar .crumb{flex:1}.mobile{display:inline-flex}.workspace{padding:19px 12px}.head{align-items:flex-start;flex-direction:column;gap:11px;margin-bottom:15px}.hero{padding:15px;grid-template-columns:1fr;gap:10px}.hero .fraction{border-left:0;padding:0;display:flex;gap:8px;align-items:center}.fraction b{font-size:20px}.metric strong{font-size:18px}.metric .top{font-size:11px}.panel{padding:13px}.section-head{flex-wrap:wrap}.auth{display:block}.auth-art{padding:24px}.auth-art h1{font-size:37px}.auth-right{padding:20px 13px}.item-file{grid-template-columns:minmax(0,1fr) auto}.item-file select{grid-column:1/2;grid-row:2}.item-file button{grid-column:2;grid-row:1}.modalhead{padding:12px}.modalbody{padding:0 12px 12px}.form-grid{gap:9px}.modal-actions .btn{flex:1}.yearbox{gap:6px}}
@media(max-width:350px){.form-grid{grid-template-columns:1fr}.full{grid-column:auto}.metric strong{font-size:15px}}

/* Respostas do assistente têm seu próprio espaço de leitura. */
.advice-answer {
  padding: clamp(16px, 3vw, 28px);
}
.advice-answer h2 {
  margin-bottom: 14px;
}
.advice-markdown,
.advice-answer .answer {
  max-width: 84ch;
  font-size: 14px;
  line-height: 1.65;
  overflow-wrap: anywhere;
}
.advice-markdown > * + * {
  margin-top: 12px;
}
.advice-markdown :is(h3, h4, h5, h6) {
  margin-bottom: 0;
  font-weight: 720;
  line-height: 1.3;
}
.advice-markdown h3 { font-size: 19px; }
.advice-markdown h4 { font-size: 16px; }
.advice-markdown :is(h5, h6) { font-size: 14px; }
.advice-markdown :is(ul, ol) {
  padding-inline-start: 1.65em;
  margin-bottom: 0;
}
.advice-markdown li + li { margin-top: .35em; }
.advice-markdown li > :is(ul, ol) { margin-top: .3em; }
.advice-markdown li > p + p { margin-top: .5em; }
.advice-markdown strong { font-weight: 730; }
.advice-markdown blockquote {
  margin-inline: 0;
  padding-inline-start: 12px;
  border-inline-start: 3px solid #bda7df;
  color: var(--muted);
}
.advice-markdown :is(pre, code) {
  background: var(--paper);
  border-radius: 5px;
}
.advice-markdown code { padding: 1px 3px; }
.advice-markdown pre {
  padding: 11px;
  overflow: auto;
  white-space: pre-wrap;
}
.advice-markdown pre code { padding: 0; }
.advice-markdown table {
  display: block;
  max-width: 100%;
  overflow-x: auto;
  border-collapse: collapse;
}
.advice-markdown :is(th, td) {
  padding: 7px 10px;
  border: 1px solid var(--line);
  vertical-align: top;
}
.advice-markdown th { background: var(--paper); }
.advice-markdown hr {
  border: 0;
  border-top: 1px solid var(--line);
}

/* Revisão de débitos extraídos do extrato bancário. */
.statement-top { align-items: start; }
.statement-history {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  border-bottom: 1px solid var(--line);
  padding-bottom: 10px;
  overflow-wrap: anywhere;
}
.statement-history:last-child { border: 0; padding-bottom: 0; }
.statement-review-panel > :is(.hint, .sub, .statement-warning) { margin-bottom: 12px; }
.statement-actions {
  position: sticky;
  top: 0;
  z-index: 2;
  background: var(--paper);
  border: 1px solid var(--line);
  border-radius: 10px;
  padding: 9px;
}
.statement-actions span { margin-inline-end: auto; }
.statement-row {
  display: grid;
  gap: 10px;
  border: 1px solid var(--line);
  border-radius: 12px;
  padding: 14px;
  min-width: 0;
}
.statement-heading {
  display: flex;
  align-items: start;
  flex-wrap: wrap;
  gap: 8px 12px;
  overflow-wrap: anywhere;
}
.statement-heading > div { flex: 1 1 200px; }
.statement-heading > .up { padding-top: 3px; color: var(--muted); }
.statement-fields {
  display: grid;
  gap: 9px;
  grid-template-columns: repeat(4,minmax(0,1fr));
}
.statement-rubric { grid-column: span 3; }
.statement-extra > summary, .statement-done > summary {
  cursor: pointer;
  color: var(--violet-dark);
  font-weight: 650;
}
.statement-extra[open] > summary { margin-bottom: 8px; }
.statement-extra .statement-rubric { grid-column: span 2; }
.statement-warning { color: var(--warn); font-weight: 650; }
.statement-done { margin-top: 14px; }
.statement-done .statement-row { margin-top: 9px; }
@media (max-width: 820px) {
  .statement-fields { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .statement-rubric { grid-column: 1 / -1; }
}
@media (max-width: 470px) {
  .statement-actions { position: static; }
  .statement-actions span { flex-basis: 100%; }
  .statement-heading > div { flex-basis: 140px; }
}
