:root{
      --verde:#008225;
      --verde2:#03c800;
      --amarelo:#fcfc00;
      --texto:#1f2933;
      --borda:#d8e2ea;
      --alerta:#fff7e6;
      --erro:#ffecec;
      --azulEscuro:#0b2233;
    }

    *{box-sizing:border-box}

    body{
      margin:0;
      font-family:'Barlow',Arial,Helvetica,sans-serif;
      background:#f4f4ee;
      color:var(--texto);
    }

    header{
      position:relative;
      background:#008225;
      color:#fff;
      padding:24px 18px 24px 150px;
      text-align:center;
      min-height:104px;
    }

    .vimezer-logo{
      position:absolute;
      top:14px;
      left:22px;
      width:110px;
      max-width:18vw;
      height:auto;
      object-fit:contain;
      background:#fff;
      border-radius:var(--raio);
      padding:6px;
      box-shadow:0 4px 14px rgba(0,0,0,.18);
    }

    header h1{margin:0;font-size:26px;font-family:'Barlow Condensed','Barlow',Arial,sans-serif;text-shadow:none}
    header p{margin:8px 0 0;font-size:15px;opacity:.98;text-shadow:0 1px 2px rgba(0,0,0,.15)}

    main{max-width:1180px;margin:0 auto;padding:20px}

    .tabs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px}
    .tab{background:#edf5f0;color:var(--texto);border:1px solid var(--borda)}
    .tab.active{background:var(--verde);color:#fff}

    .grid{display:grid;grid-template-columns:1fr 1.05fr;gap:18px;align-items:start}
    .card{background:#fff;border:1px solid var(--borda);border-radius:var(--raio);padding:18px;box-shadow:0 6px 20px rgba(15,95,143,.08)}

    h2,h3{font-family:'Barlow Condensed','Barlow',Arial,sans-serif}
    h2{margin:0 0 14px;font-size:20px}
    h3{margin:16px 0 10px;font-size:17px}
    label{display:block;font-weight:700;margin:11px 0 5px;font-size:14px}

    input,select{
      width:100%;
      padding:12px;
      border:1px solid var(--borda);
      border-radius:var(--raio);
      font-size:16px;
      font-family:inherit;
      background:#fff;
    }

    .row{display:grid;grid-template-columns:1fr 1fr;gap:10px}
    .muted{font-size:12px;color:#5f6f7d;line-height:1.4}

    .actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}
    button{border:none;border-radius:var(--raio);padding:12px 14px;font-weight:700;cursor:pointer;font-size:14px;font-family:inherit}
    .primary{background:var(--verde2);color:#fff}
    .secondary{background:#e7f2f8;color:var(--texto)}
    .green{background:var(--verde);color:#fff}
    .danger{background:#f1f1f1;color:#333}

    .result{border-radius:var(--raio);padding:16px;background:#f7fbfd;border:1px solid var(--borda)}
    .big{font-size:30px;font-weight:800;color:var(--texto)}
    .pill{display:inline-block;padding:6px 10px;border-radius:3px;background:#e6f4ff;color:var(--texto);font-weight:700;font-size:13px;margin:4px 4px 4px 0}

    table{width:100%;border-collapse:collapse;margin-top:10px;font-size:13px}
    th,td{border:1px solid var(--borda);padding:9px;text-align:left;vertical-align:top}
    th{background:#eaf4fa}
    tr:nth-child(even) td{background:#fbfdff}

    .warn{background:var(--alerta);border:1px solid #f4d08b;border-radius:var(--raio);padding:12px;margin-top:12px;font-size:13px;line-height:1.45}
    .erro{background:var(--erro);border:1px solid #ffb8b8;border-radius:var(--raio);padding:12px;margin-top:12px;font-size:13px;display:none}
    .copybox{white-space:pre-wrap;background:var(--azulEscuro);color:#fff;border-radius:var(--raio);padding:13px;font-size:13px;line-height:1.45;margin-top:10px}
    .hidden{display:none}

    .resultado-linha{
      display:grid;
      grid-template-columns:1fr 1fr;
      gap:14px;
      align-items:stretch;
      margin-bottom:8px;
    }

    .card-area{
      background:#fff;
      border:2px solid var(--borda);
      border-radius:var(--raio);
      padding:18px 20px;
      min-height:118px;
      display:flex;
      flex-direction:column;
      justify-content:center;
    }

    .card-sistema{
      background:#008225;
      color:#fff;
      border-radius:var(--raio);
      padding:18px 20px;
      min-height:118px;
      display:flex;
      flex-direction:column;
      justify-content:center;
      box-shadow:0 8px 24px rgba(0,130,37,.34);
    }

    .card-label{
      display:block;
      font-size:12px;
      font-weight:900;
      text-transform:uppercase;
      letter-spacing:.05em;
      color:#5f6f7d;
      margin-bottom:6px;
    }

    .card-sistema .card-label{
      color:rgba(255,255,255,.92);
      font-size:15px;
      line-height:1.1;
      margin-bottom:8px;
    }

    .valor-sistema{
      font-size:38px;
      line-height:.98;
      font-weight:900;
      color:#fff;
      letter-spacing:-.04em;
    }

    .sub-sistema{
      margin-top:8px;
      font-size:14px;
      line-height:1.1;
      font-weight:900;
      color:rgba(255,255,255,.96);
    }

    footer{text-align:center;padding:18px;color:#637383;font-size:12px}

    @media(max-width:900px){
      .grid,.resultado-linha{grid-template-columns:1fr}
      .row{grid-template-columns:1fr}
      header{padding:18px 18px 20px;min-height:auto}
      .vimezer-logo{position:static;display:block;margin:0 auto 12px 0;width:86px;max-width:30vw}
      header h1{font-size:22px}
      .big{font-size:26px}
      .card-area,.card-sistema{border-radius:var(--raio);min-height:auto;padding:14px}
      .card-sistema .card-label{font-size:13px}
      .valor-sistema{font-size:34px}
      .sub-sistema{font-size:13px;margin-top:6px}
    }

    @media print{
      .actions,.copybox,button,.tabs{display:none}
      body{background:#fff}
      .card{box-shadow:none;break-inside:avoid}
      main{max-width:100%;padding:8px}
    }

/* --- Campos guiados (simplificação para o cliente) --- */
.oculto{display:none}
.campo-destaque{
  background:#eefaf0;
  border:1px solid #cfeed6;
  border-radius:var(--raio);
  padding:14px;
  margin-bottom:16px;
}
.campo-destaque label{font-weight:800;color:#0b6b33}
.campo-destaque select{margin-top:6px}
.ajuda{
  display:block;
  margin-top:6px;
  color:#6b7a86;
  font-size:12.5px;
  line-height:1.45;
}
.row-mini{display:grid;grid-template-columns:1fr 1fr;gap:8px}
