@font-face { font-family: "Univia Pro"; src: url("marca/UniviaPro-Regular.otf") format("opentype"); font-weight: 400; font-display: swap; }
@font-face { font-family: "Univia Pro"; src: url("marca/UniviaPro-Bold.otf") format("opentype"); font-weight: 700; font-display: swap; }
:root { --p:#3c479d; --p2:#6e7aff; --bg:#f6f7fb; --bd:#e2e7ef; --card:#fff; --fg:#202b3a; --mfg:#637084; --sec:#eef0fb;
        --ok:#1c6b45; --ok-bg:#e3f3ea; --no:#a3271c; --no-bg:#fbe9e7; --av:#7a4a08; --av-bg:#fbefd9; }
* { box-sizing: border-box; }
body { margin: 0; background: var(--bg); color: var(--fg); font: 14px/1.45 "Univia Pro", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif; }
header { background: var(--p); color: #fff; display: flex; align-items: center; gap: 14px; padding: 10px 20px; }
header img { height: 22px; display: block; }
header .nome { font-weight: 700; font-size: 15px; }
header .sub { color: #c4cbff; font-size: 13px; }
main { display: grid; grid-template-columns: 250px minmax(0, 1fr) minmax(0, 430px); gap: 16px; padding: 16px 20px 40px; max-width: 1500px; margin: 0 auto; align-items: start; }
.card { background: var(--card); border: 1px solid var(--bd); border-radius: 10px; padding: 14px 16px; }
h2 { font-size: 13px; margin: 0 0 10px; color: var(--mfg); font-weight: 700; text-transform: none; }
label { display: block; font-size: 12px; color: var(--mfg); margin: 12px 0 4px; }
label .cont { float: right; }
label .cont.estourou { color: var(--no); font-weight: 700; }
input[type=text], input[type=url], textarea { width: 100%; font: inherit; color: var(--fg); background: #fff; border: 1px solid var(--bd); border-radius: 6px; padding: 8px 10px; }
textarea { resize: vertical; min-height: 64px; }
input:focus, textarea:focus { outline: none; border-color: var(--p2); box-shadow: 0 0 0 3px #6e7aff33; }
button { font: inherit; font-size: 13px; border-radius: 6px; padding: 8px 14px; border: 1px solid var(--bd); background: #fff; color: var(--fg); cursor: pointer; }
button:hover:not(:disabled) { border-color: var(--p2); }
button.pri { background: var(--p); border-color: var(--p); color: #fff; font-weight: 700; }
button.pri:hover:not(:disabled) { background: #303b86; }
button:disabled { opacity: .5; cursor: not-allowed; }
button.fantasma { border-color: transparent; color: var(--mfg); padding: 6px 8px; }
.linha { display: flex; gap: 8px; align-items: center; }
.linha > input { flex: 1; }
.lista button.item { display: block; width: 100%; text-align: left; margin-bottom: 6px; padding: 9px 10px; }
.lista button.item.sel { border-color: var(--p); background: var(--sec); }
.lista .t { display: block; font-weight: 700; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.pill { display: inline-block; font-size: 11px; border-radius: 99px; padding: 2px 9px; font-weight: 700; }
.pill.rascunho { background: var(--sec); color: var(--p); }
.pill.aprovado { background: var(--ok-bg); color: var(--ok); }
.previa { width: 100%; border-radius: 8px; border: 1px solid var(--bd); display: block; background: #262b70; }
.abas { display: flex; gap: 6px; margin-bottom: 10px; }
.abas button.on { background: var(--p); border-color: var(--p); color: #fff; }
ul.chk { list-style: none; margin: 0; padding: 0; }
ul.chk li { padding: 6px 0 6px 26px; position: relative; border-top: 1px solid var(--bd); font-size: 13px; }
ul.chk li:first-child { border-top: 0; }
ul.chk li::before { content: "✓"; position: absolute; left: 2px; top: 5px; font-weight: 700; color: var(--ok); }
ul.chk li.no::before { content: "✕"; color: var(--no); }
ul.chk li.no { color: var(--no); }
.num { border: 1px solid var(--bd); border-radius: 8px; padding: 8px 10px; margin-top: 8px; font-size: 13px; }
.num.no { border-color: #e9b4ad; background: var(--no-bg); }
.num b { font-size: 15px; }
.num .onde { color: var(--mfg); font-size: 12px; }
.num .trecho { margin-top: 4px; color: var(--fg); background: var(--sec); border-radius: 6px; padding: 6px 8px; }
.num.no .trecho { background: transparent; color: var(--no); padding: 0; }
mark { background: #ffe58a; color: inherit; padding: 0 2px; border-radius: 3px; }
.aviso { font-size: 12px; color: var(--mfg); margin-top: 8px; }
.erro { color: var(--no); font-size: 13px; margin-top: 8px; min-height: 18px; }
.vazio { color: var(--mfg); text-align: center; padding: 60px 20px; }
.estado { font-size: 12px; color: var(--mfg); margin-left: auto; }
@media (max-width: 1100px) { main { grid-template-columns: 1fr; } }
header nav { display: flex; gap: 4px; margin-left: 8px; }
header nav a { color: #c4cbff; text-decoration: none; font-size: 13px; padding: 5px 12px; border-radius: 6px; }
header nav a.on { background: #ffffff22; color: #fff; font-weight: 700; }
header nav a:hover { color: #fff; }
.so-sem-login { display: none !important; }
body.sem-login .so-sem-login { display: initial !important; }
body.sem-login input.so-sem-login { display: block !important; }
