/* Metas: visual Zallu, isolado e mobile-first. */
body.metas-active {
  --bg:#0b1119; --surface:#0f1b2a; --surface-2:#122134; --line:#283d54; --line-strong:#3a526f;
  --ink:#eff4fb; --ink-2:#afc5df; --muted:#8ba4c2; --accent:#347ef5; --accent-2:#58a0ff;
  --accent-soft:#142e4e; --good:#22d777; --good-ink:#4ade80; --warn:#f5ab17; --crit-ink:#ff969e;
  color-scheme:dark;
}
body.metas-active :is(.nav,.topbar,.tabbar) { background:#0d1825; }
body.metas-active .nav-btn.active { background:var(--accent-soft); color:#58a0ff; }
body.metas-active .crumbs { display:flex; flex-direction:column; }
body.metas-active .crumbs b { font-size:22px; }
body.metas-active .crumbs span { font-size:12px; color:var(--ink-2); }
#page-metas { padding:18px 14px 36px; }
#page-metas *, #metasEditor * { box-sizing:border-box; }
#page-metas :is(button,input), #metasEditor :is(button,input,select) { min-height:44px; }
#page-metas button, #metasEditor button { cursor:pointer; }
#page-metas :is(button,input,a):focus-visible, #metasEditor :is(button,input,textarea,select,summary):focus-visible { outline:2px solid #6fb4ff; outline-offset:3px; }
#page-metas [hidden], #metasEditor [hidden] { display:none!important; }
.mt-board,.mt-panel { border:1px solid var(--line); border-radius:12px; background:var(--surface); }
.mt-board { padding:14px; }
.mt-toolbar,.mt-controls,.mt-title,.mt-panel-head { display:flex; align-items:center; gap:10px; flex-wrap:wrap; }
.mt-title { flex:1 1 100%; }
.mt-title h2 { font-size:21px; line-height:1.3; margin:0; }
.mt-controls { width:100%; }
.mt-controls label { flex:1; min-width:125px; }
.mt-controls input { width:100%; background:var(--surface-2); border:1px solid var(--line); border-radius:8px; padding:8px; color:var(--ink); }
.mt-controls .btn { justify-content:center; }
.mt-badge { display:inline-flex; align-items:center; border:1px solid var(--line); border-radius:20px; background:#162b40; padding:5px 9px; font-size:11px; color:var(--ink-2); line-height:1.3; }
.mt-badge.good { color:#80e9ac; background:#103627; border-color:#226147; }
.mt-badge.warn { color:#ffd380; background:#352d1b; border-color:#695020; }
.mt-scope { font-size:11px; color:var(--muted); margin:12px 0; }
.mt-north { padding:13px 14px; border:1px solid #315d8c; background:#102139; border-radius:9px; display:flex; gap:12px; align-items:flex-start; margin-bottom:16px; }
.mt-north > span { color:#62aaff; flex-shrink:0; }
.mt-north b { color:#eff4fb; }
.mt-north p { margin:0; font-size:13px; line-height:1.6; }
.mt-north small { display:block; font-size:11px; color:var(--ink-2); margin-top:4px; }
.mt-grid { display:grid; grid-template-columns:minmax(0,1fr); gap:12px; }
.mt-card { --mt-color:#f5ab17; --mt-icon:#a36512; min-width:0; border:1px solid var(--line); border-top:3px solid var(--mt-color); border-radius:10px; padding:16px; background:linear-gradient(120deg,#132235,#0d1a29); display:flex; flex-direction:column; }
.mt-card[data-goal="2"] { --mt-color:#18bdeb; --mt-icon:#1471ca; }
.mt-card[data-goal="3"] { --mt-color:#8bdf55; --mt-icon:#6ba932; }
.mt-card[data-goal="4"] { --mt-color:#159e67; --mt-icon:#0b8155; }
.mt-card[data-goal="5"] { --mt-color:#3487ff; --mt-icon:#2269e1; }
.mt-card[data-goal="6"] { --mt-color:#a079ef; --mt-icon:#7244d5; }
.mt-card-top { display:flex; align-items:center; justify-content:space-between; gap:8px; margin-bottom:10px; }
.mt-icon { width:42px; height:42px; flex-shrink:0; border-radius:10px; background:var(--mt-icon); color:white; display:grid; place-items:center; }
.mt-icon svg,.mt-north svg { width:24px; height:24px; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
.mt-card h3 { font-size:14px; margin:0 0 5px; }
.mt-target { font-size:26px; line-height:1.25; letter-spacing:-.5px; font-weight:800; overflow-wrap:anywhere; }
.mt-card p { margin:7px 0 0; font-size:12px; line-height:1.55; color:var(--ink-2); }
.mt-card small { display:block; font-size:11px; color:var(--muted); line-height:1.5; }
.mt-actual { padding:10px 0 6px; }
.mt-actual > span { font-size:11px; color:var(--muted); display:block; }
.mt-actual strong { font-size:20px; }
.mt-progress { height:5px; background:#203044; border-radius:8px; overflow:hidden; margin:7px 0; }
.mt-progress i { display:block; height:100%; background:var(--mt-color); }
.mt-card footer { margin-top:auto; padding-top:12px; }
.mt-ref { padding-top:10px; border-top:1px solid var(--line); color:var(--ink-2); font-size:12px; }
.mt-source { padding:8px 0 0; display:inline-flex; align-items:center; min-height:44px; color:#62aaff; font-size:12px; font-weight:700; text-decoration:none; }
.mt-data-note { margin:14px 0 0; color:var(--ink-2); font-size:11px; line-height:1.7; }
.mt-bottom { display:grid; gap:14px; margin-top:14px; }
.mt-panel { padding:16px; min-width:0; }
.mt-panel-head { margin-bottom:12px; justify-content:space-between; }
.mt-panel h3 { margin:0; font-size:16px; }
.mt-panel-head p { margin:4px 0 0; color:var(--muted); font-size:12px; }
.mt-action { display:grid; grid-template-columns:36px minmax(0,1fr); gap:2px 8px; padding:12px 0; border-top:1px solid var(--line); align-items:center; }
.mt-action label { grid-column:1; grid-row:1/4; display:grid; place-items:center; cursor:pointer; min-height:44px; }
.mt-action input[type=checkbox] { width:20px; height:20px; min-height:20px!important; accent-color:#347ef5; }
.mt-when { font-size:11px; font-weight:700; color:var(--ink-2); }
.mt-description { font-size:13px; line-height:1.6; overflow-wrap:anywhere; }
.mt-action.done .mt-description { text-decoration:line-through; color:var(--muted); }
.mt-links { display:flex; gap:5px; align-items:center; margin-top:4px; flex-wrap:wrap; }
.mt-links span { border:1px solid #3f6086; border-radius:5px; background:#142e4e; font-size:10px; padding:2px 7px; }
.mt-risk { padding:12px 0; border-top:1px solid var(--line); }
.mt-risk b { font-size:12px; }
.mt-risk b:before { content:'!'; margin-right:8px; color:#f5bf42; }
.mt-risk p { margin:5px 0 0; padding-left:13px; color:var(--ink-2); font-size:13px; line-height:1.6; }
.mt-decision { border:1px solid #315d8c; border-radius:8px; padding:12px; background:#122942; margin-top:10px; font-size:12px; line-height:1.7; }
.mt-decision p { margin:4px 0 0; color:var(--ink-2); white-space:pre-line; }
.mt-feedback { margin:12px 0; padding:12px; border:1px solid #886217; border-radius:8px; color:#ffd380; background:#211f17; font-size:13px; }
.mt-empty { padding:36px 16px; text-align:center; color:var(--ink-2); }
#metasEditor { width:min(820px,calc(100% - 24px)); max-height:90dvh; background:#0f1b2a; color:#eff4fb; border:1px solid #385571; border-radius:12px; padding:0; color-scheme:dark; }
#metasEditor::backdrop { background:rgba(2,8,15,.8); }
#metasEditor .sr-only { position:absolute; width:1px; height:1px; padding:0; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; }
#metasEditor form { padding:20px; }
#metasEditor h2 { margin:0 0 5px; font-size:21px; }
#metasEditor p { color:#afc5df; font-size:12px; line-height:1.6; }
.mt-form-grid { display:grid; gap:12px; margin:16px 0; }
#metasEditor label { display:flex; flex-direction:column; gap:6px; font-size:12px; color:#afc5df; }
#metasEditor :is(input,textarea,select) { background:#122134; border:1px solid #385571; color:#eff4fb; border-radius:7px; padding:10px; width:100%; font:inherit; min-width:0; }
#metasEditor textarea { resize:vertical; min-height:76px; }
#metasEditor details { border-top:1px solid #283d54; padding:14px 0; }
#metasEditor summary { cursor:pointer; font-size:14px; min-height:34px; }
.mt-edit-row { border:1px solid #283d54; border-radius:8px; padding:12px; display:grid; gap:10px; margin-bottom:10px; }
.mt-edit-row .btn { justify-self:start; }
.mt-edit-buttons { display:flex; gap:10px; justify-content:flex-end; position:sticky; bottom:-20px; padding:14px 0; background:#0f1b2a; border-top:1px solid #283d54; }
.mt-editor-error { color:#ffb2b8!important; }
/* Faturamento por empresa: restrito à aba Metas e ao seu editor. */
#mtEdit { background:#347ef5; border-color:#347ef5; color:#fff; }
.mt-section-heading { margin:22px 0 12px; font-size:17px; }
.mt-revenue,.mt-operation { --mt-color:#3782ff; --mt-icon:#2269e1; }
.mt-revenue { border-top:2px solid #3782ff; }
.mt-revenue-title { display:flex; gap:10px; align-items:center; min-width:0; }
.mt-revenue-title h3 { margin:0; font-size:15px; overflow-wrap:anywhere; }
.mt-revenue .mt-icon { width:36px; height:36px; }
.mt-revenue-totals { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px 12px; margin:18px 0; }
.mt-revenue-totals > div,.mt-operation-values > div { min-width:0; }
.mt-revenue-totals span,.mt-operation-values span { display:block; color:var(--ink-2); font-size:12px; margin-bottom:7px; }
.mt-revenue-totals strong { display:block; font-size:clamp(18px,4.8vw,26px); line-height:1.3; letter-spacing:-.4px; overflow-wrap:anywhere; }
.mt-revenue .mt-progress,.mt-operation .mt-progress { height:9px; margin:12px 0 8px; }
.mt-revenue-percent { font-size:12px; font-weight:600; }
.mt-revenue-hint { font-size:12px; color:var(--ink-2); line-height:1.6; margin:10px 0 0; }
.mt-revenue-foot { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:4px 14px; margin-top:10px; }
.mt-revenue-foot small { font-size:11px; color:var(--muted); line-height:1.6; }
.mt-operations { display:grid; grid-template-columns:minmax(0,1fr); gap:12px; }
.mt-operation { background:var(--surface); padding:16px; border:1px solid var(--line); border-radius:10px; min-width:0; }
.mt-operation .mt-icon { --mt-icon:#20364e; width:30px; height:30px; border-radius:7px; }
.mt-operation .mt-icon svg { width:19px; height:19px; }
.mt-operation .mt-card-top { flex-wrap:wrap; gap:8px; }
.mt-operation .mt-target { font-size:25px; display:block; margin-top:15px; }
.mt-operation-target { color:var(--ink-2); font-size:13px; margin:5px 0 0; }
.mt-operation-values { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; border-top:1px solid var(--line); margin-top:16px; padding-top:14px; }
.mt-operation-values strong { font-size:16px; display:block; overflow-wrap:anywhere; }
.mt-operation .mt-source { font-weight:500; }
#metasEditor .mt-edit-total { display:grid; gap:7px; padding:15px; margin:0 0 20px; border:1px solid #315d8c; border-radius:8px; background:#122942; }
#metasEditor .mt-edit-total span { color:#afc5df; font-size:13px; }
#metasEditor .mt-edit-total strong { font-size:24px; }
#metasEditor .mt-edit-total small { color:#afc5df; font-size:12px; }
#metasEditor :is(input,textarea,select) { font-size:16px; }
@media(max-width:760px) {
  body.metas-active .topbar { gap:8px; }
  body.metas-active .topbar .grow { display:none; }
  body.metas-active .topbar .crumbs { flex:1; min-width:0; }
  body.metas-active .topbar .crumbs span { font-size:10px; }
  body.metas-active .topbar .iconbtn { flex:0 0 36px; width:36px; height:44px; }
  body.metas-active .topbar .avatar { order:1; flex-shrink:0; }
  body.metas-active .topbar .pill { order:2; font-size:10px; }
  body.metas-active .topbar .acct { order:3; margin-left:auto; font-size:11px; max-width:180px; }
  body.metas-active .topbar .acct select { min-width:0; width:100%; font-size:11px; }
  /* A conta global está desabilitada nesta aba: o escopo já aparece no painel. */
  body.metas-active .topbar .acct { display:none; }
  body.metas-active .topbar .crumbs span { display:none; }
}
@media(min-width:680px) {
  #page-metas { padding:22px; }
  .mt-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .mt-form-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .mt-title { flex:1; }
  .mt-controls { width:auto; }
}
@media(min-width:1200px) {
  .mt-board { padding:18px; }
  .mt-grid { grid-template-columns:repeat(4,minmax(0,1fr)); }
  .mt-operations { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .mt-revenue-totals { grid-template-columns:repeat(4,minmax(0,1fr)); }
  .mt-revenue-totals > div + div { border-left:1px solid var(--line); padding-left:14px; }
  .mt-card .mt-target { font-size:23px; }
  .mt-bottom { grid-template-columns:minmax(0,1.65fr) minmax(300px,1fr); }
  .mt-action { grid-template-columns:28px 85px minmax(0,1fr) 65px; gap:10px; }
  .mt-action label { grid-row:1; }
  .mt-links { margin:0; }
  .mt-card { min-height:242px; }
}
