:root {
  --ink:#1c2824;
  --muted:#596862;
  --border:#dbe1dc;
  --ground:#f5f6f2;
  --card:#fff;
  --red:#ae332c;
  --red-hover:#8d251f;
  --green:#286148;
  --green-bg:#e8f2ea;
  --amber:#855609;
  --amber-bg:#fcf0d8;
  color:var(--ink);
  font:15px/1.5 "Segoe UI",system-ui,sans-serif;
  background:var(--ground);
}

* {
  box-sizing:border-box;
}

[hidden] {
  display:none!important;
}

body {
  margin:0;
}

a {
  color:var(--green);
  text-decoration:none;
}

button,input,textarea,select {
  font:inherit;
  color:inherit;
}

button,.button {
  border:1px solid var(--border);
  background:white;
  padding:9px 15px;
  border-radius:7px;
  font-weight:600;
  cursor:pointer;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  line-height:1.4;
}

button:hover,.button:hover {
  background:#f1f4ef;
}

button:disabled {
  opacity:.55;
  cursor:wait;
}

.primary {
  color:white;
  background:var(--red);
  border-color:var(--red);
}

.primary:hover {
  background:var(--red-hover);
}

:focus-visible {
  outline:3px solid #398b76;
  outline-offset:3px;
}

input,textarea,select {
  border:1px solid #bdc8bf;
  border-radius:6px;
  padding:9px 11px;
  background:white;
  width:100%;
}

textarea {
  resize:vertical;
}

label {
  display:grid;
  gap:5px;
  font-size:.88rem;
  font-weight:600;
}

input[type=checkbox] {
  width:16px;
  height:16px;
  accent-color:var(--green);
}

.check {
  display:flex;
  gap:9px;
  align-items:center;
  font-weight:400;
}

#shell {
  display:grid;
  grid-template-columns:216px minmax(0,1fr);
  min-height:100vh;
}

aside {
  background:#1b2722;
  color:white;
  display:flex;
  flex-direction:column;
  padding:27px 16px;
  position:sticky;
  top:0;
  height:100vh;
}

.brand {
  display:flex;
  gap:10px;
  align-items:center;
  font-size:1.7rem;
  letter-spacing:-.06em;
}

.brand strong {
  font-weight:700;
}

.mark {
  display:inline-grid;
  place-items:center;
  background:#b33c32;
  border-radius:7px;
  color:#fff;
  width:37px;
  height:37px;
  line-height:1;
  font-weight:900;
  font-style:italic;
  letter-spacing:-.12em;
  padding-right:4px;
}

.section-label,.eyebrow {
  font-size:.72rem;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.13em;
}

.section-label {
  color:#b9c9be;
  margin:42px 10px 11px;
}

.eyebrow {
  color:var(--muted);
  margin:0 0 6px;
}

aside .brand {
  padding-left:10px;
}

nav {
  display:grid;
  gap:5px;
}

nav a {
  display:flex;
  align-items:center;
  gap:12px;
  border-radius:6px;
  color:#d8e3dc;
  padding:10px 12px;
}

nav a span {
  font-size:1.25rem;
  line-height:1;
}

nav a.active,nav a:hover {
  background:#33453a;
  color:white;
}

nav a.active {
  box-shadow:inset 3px 0 #e87561;
}

.aside-foot {
  margin-top:auto;
  padding:16px 10px 0;
  border-top:1px solid #3b4a41;
}

.account {
  font-weight:600;
}

.link-light {
  font-size:.83rem;
  background:none;
  border:0;
  padding:4px 0;
  color:#c9d6cd;
}

.link-light:hover {
  background:none;
  text-decoration:underline;
}

.bar {
  display:flex;
  justify-content:space-between;
  align-items:center;
  border-bottom:1px solid var(--border);
  background:var(--card);
  padding:15px clamp(18px,4vw,55px);
  font-size:.9rem;
}

.env,.pill {
  display:inline-flex;
  gap:7px;
  align-items:center;
  background:#f0f2ed;
  color:#425448;
  border-radius:100px;
  padding:3px 10px;
  font-size:.76rem;
  font-weight:640;
}

.env:before {
  content:"";
  width:7px;
  height:7px;
  border-radius:50%;
  background:#748476;
}

.env.live:before {
  background:#27815a;
}

.pill.good {
  background:var(--green-bg);
  color:var(--green);
}

.pill.warn {
  background:var(--amber-bg);
  color:var(--amber);
}

#view {
  max-width:1510px;
  margin:auto;
  padding:clamp(22px,3.7vw,52px);
  outline:none;
}

h1,h2,h3,p {
  overflow-wrap:anywhere;
}

h1 {
  font-size:clamp(1.8rem,3.6vw,2.8rem);
  line-height:1.1;
  letter-spacing:-.055em;
  margin:0;
  font-weight:650;
}

h2 {
  font-size:1.2rem;
  letter-spacing:-.026em;
  margin:0;
}

h3 {
  font-size:1rem;
  margin:0 0 8px;
}

p {
  margin:7px 0;
}

.heading,.row,.tools {
  display:flex;
  align-items:center;
  gap:12px;
  flex-wrap:wrap;
}

.heading {
  justify-content:space-between;
  margin-bottom:24px;
}

.muted,small {
  color:var(--muted);
}

.sub {
  font-size:.9rem;
  margin-top:7px;
  color:var(--muted);
}

.panel {
  border:1px solid var(--border);
  background:var(--card);
  border-radius:12px;
  margin:0 0 18px;
  overflow:hidden;
}

.pad {
  padding:clamp(16px,2.3vw,27px);
}

.panel-head,.toolbar,.pager {
  padding:15px 20px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  flex-wrap:wrap;
}

.panel-head,.toolbar {
  border-bottom:1px solid var(--border);
}

.pager {
  border-top:1px solid var(--border);
  font-size:.86rem;
  color:var(--muted);
}

.tools {
  justify-content:flex-start;
}

.search {
  display:flex;
  flex:1;
  gap:8px;
  max-width:640px;
}

.search input {
  min-width:110px;
}

.scroll {
  overflow:auto;
}

table {
  width:100%;
  border-collapse:collapse;
  text-align:left;
  font-size:.91rem;
}

th,td {
  padding:13px 17px;
  border-bottom:1px solid #e9ede7;
  vertical-align:top;
}

tr:last-child td {
  border-bottom:0;
}

th {
  font-size:.73rem;
  color:var(--muted);
  font-weight:640;
  background:#f8faf6;
  white-space:nowrap;
}

.product-name {
  display:block;
  min-height:24px;
  font-weight:650;
  color:var(--ink);
}

.product-name:hover {
  text-decoration:underline;
}

.number {
  font-variant-numeric:tabular-nums;
  white-space:nowrap;
  text-align:right;
}

.mono {
  font: .84rem/1.5 ui-monospace,monospace;
  color:#4d5b54;
}

.back {
  display:inline-block;
  margin-bottom:14px;
  font-size:.88rem;
}

.tabs {
  display:flex;
  gap:4px;
  border-bottom:1px solid var(--border);
  overflow:auto;
  margin-bottom:18px;
}

.tabs a {
  padding:9px 14px;
  white-space:nowrap;
  color:var(--muted);
}

.tabs a.sel {
  color:var(--red);
  border-bottom:3px solid var(--red);
  font-weight:650;
}

.tabs a:hover {
  background:#edf2ec;
  color:var(--ink);
}

.workflow-note {
  border:1px solid #c9ddcf;
  border-radius:8px;
  background:#f0f7f1;
  padding:14px 17px;
  margin-bottom:18px;
  font-size:.9rem;
}

.description-editor,.seo-preview-box {
  min-width:0;
  border:1px solid var(--border);
  border-radius:9px;
  padding:16px;
}

.description-editor .split {
  flex-wrap:wrap;
  margin-bottom:14px;
}

.description-editor button[aria-pressed=true] {
  color:var(--green);
  background:var(--green-bg);
  border-color:#a7c6af;
}

.content-preview {
  overflow-wrap:anywhere;
  overflow-x:auto;
  font-size:.94rem;
  line-height:1.65;
  white-space:pre-line;
}

.content-preview :is(h1,h2,h3,h4,h5,h6) {
  font-size:1.25rem;
  line-height:1.3;
  letter-spacing:normal;
  margin:12px 0;
}

.content-preview :is(p,ul,ol,blockquote) {margin:8px 0;}
.content-preview :is(ul,ol) {padding-left:24px;}
.content-preview :is(pre,code) {white-space:pre-wrap;}
.content-preview blockquote {border-left:3px solid var(--border);padding-left:14px;}
.content-preview table {border:1px solid var(--border);}
.content-preview :is(th,td) {border:1px solid var(--border);padding:8px;}
.content-preview > :first-child {margin-top:0;}
.preview-frame {min-height:130px;}
.html-source {font:13px/1.6 ui-monospace,monospace;min-height:190px;}
.seo-preview {border-top:1px solid var(--border);margin-top:12px;padding-top:12px;}
.seo-preview span {font-size:.8rem;color:var(--muted);}
.seo-title {display:block;font-size:1.15rem;color:#184c8e;overflow-wrap:anywhere;}
.seo-description {font-size:.9rem;}
.field-count {font-size:.78rem;font-weight:400;}
.category-chip {padding:5px 10px;background:var(--green-bg);font-size:.82rem;font-weight:500;}
.checks .check {padding:6px 4px;border-radius:4px;}
.checks .check:hover {background:#f4f7f2;}
.checks {max-height:300px;}

.metrics,.grid2,.grid3 {
  display:grid;
  gap:14px;
}

.metrics {
  grid-template-columns:repeat(auto-fit,minmax(125px,1fr));
  margin-bottom:18px;
}

.metric {
  background:var(--card);
  border:1px solid var(--border);
  border-radius:10px;
  padding:17px 18px;
}

.metric small,.kv small {
  display:block;
}

.metric strong {
  display:block;
  margin-top:5px;
  font-size:1.4rem;
  letter-spacing:-.04em;
}

.grid2 {
  grid-template-columns:repeat(2,minmax(0,1fr));
}

.grid3 {
  grid-template-columns:repeat(3,minmax(0,1fr));
}

.wide {
  grid-column:1/-1;
}

.stack {
  display:grid;
  gap:15px;
}

.empty {
  padding:28px;
  text-align:center;
  color:var(--muted);
}

.blank {
  color:var(--muted);
  font-style:italic;
}

.callout {
  border-left:3px solid #cf9c49;
  background:#fff6e6;
  border-radius:4px;
  padding:12px 15px;
  margin:0 0 15px;
}

.error {
  color:#86291d;
}

.notice {
  position:fixed;
  bottom:22px;
  left:50%;
  transform:translateX(-50%);
  background:#25382e;
  color:white;
  padding:10px 17px;
  border-radius:8px;
  max-width:min(92vw,620px);
  z-index:2;
  box-shadow:0 4px 18px #0002;
}

.textblock {
  white-space:pre-wrap;
  overflow-wrap:anywhere;
  margin:6px 0 0;
  font-family:inherit;
  font-size:.91rem;
}

.entry {
  border-top:1px solid var(--border);
  padding:13px 0;
}

.entry:first-child {
  border:0;
}

.entry p {
  margin:3px 0;
}

.tags {
  display:flex;
  flex-wrap:wrap;
  gap:6px;
}

.split {
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:10px;
}

.thumb {
  display:block;
  max-width:160px;
  max-height:160px;
  object-fit:contain;
  border:1px solid var(--border);
  border-radius:7px;
  background:white;
}

.gallery {
  display:flex;
  flex-wrap:wrap;
  gap:12px;
}

.gallery figure {
  margin:0;
}

.gallery figcaption {
  font-size:.78rem;
  color:var(--muted);
}

details {
  border-top:1px solid var(--border);
  padding:10px 0;
}

summary {
  cursor:pointer;
  font-weight:600;
}

fieldset {
  min-width:0;
  padding:12px;
  border:1px solid var(--border);
  border-radius:7px;
}

legend {
  padding:0 6px;
  font-weight:600;
}

.checks {
  max-height:230px;
  overflow:auto;
  display:grid;
  gap:5px;
}

.login-wrap {
  min-height:100vh;
  display:grid;
  place-items:center;
  padding:16px;
}

.login-card {
  width:min(100%,400px);
  padding:32px;
  background:white;
  border:1px solid var(--border);
  border-radius:14px;
  display:grid;
  gap:15px;
}

.login-card .brand {
  margin-bottom:18px;
}

.login-card .eyebrow {
  margin-bottom:-10px;
}

.login-card h1 {
  margin-bottom:10px;
}

#loginError {
  color:var(--red);
  font-size:.88rem;
  min-height:1em;
}

.positive {
  color:var(--green);
}

.legend {
  font-size:.85rem;
}

.spacer {
  margin-top:15px;
}

@media(max-width:850px) {
  #shell {
    grid-template-columns:165px minmax(0,1fr);
  }

  aside {
    padding:20px 10px;
  }

  #view {
    padding:20px;
  }

  .grid3 {
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

}

@media(max-width:660px) {
  #shell {
    display:block;
  }

  aside {
    height:auto;
    position:static;
    display:block;
    padding:11px 14px;
  }

  aside .brand {
    font-size:1.15rem;
    padding:0;
  }

  .mark {
    height:28px;
    width:28px;
  }

  .section-label {
    display:none;
  }

  nav {
    margin-top:9px;
    display:flex;
    overflow:auto;
    gap:5px;
  }

  nav a {
    font-size:.8rem;
    white-space:nowrap;
    padding:6px 8px;
    gap:4px;
  }

  .aside-foot {
    position:absolute;
    top:13px;
    right:14px;
    padding:0;
    border:0;
  }

  .account {
    display:none;
  }

  .bar {
    padding:10px 15px;
  }

  #view {
    padding:20px 12px;
  }

  .grid2,.grid3 {
    grid-template-columns:1fr;
  }

  .heading {
    margin-bottom:16px;
  }

  .panel-head,.toolbar,.pager {
    padding:12px;
  }

  .search {
    min-width:100%;
  }

  th,td {
    padding:10px;
  }

  .metrics {
    gap:8px;
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .metric {
    padding:12px;
  }

  .tabs a {
    padding:8px 10px;
  }

  .login-card {
    padding:23px;
  }

}
/* Ficha consolidada e histórico remoto */
.data-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:18px;margin:0}.data-grid div{min-width:0;border-bottom:1px solid var(--line,#e1e8ef);padding:0 0 12px}.data-grid dt{font-size:.84rem;color:#64748b}.data-grid dd{margin:5px 0 0;white-space:pre-wrap;overflow-wrap:anywhere}pre.textblock{max-height:500px;overflow:auto;white-space:pre-wrap;font-size:.85rem}.tabs{flex-wrap:wrap}.data-grid+.data-grid{margin-top:20px}
