:root{
  --verde:#00382A; --verde2:#0a4f3c; --terra:#D68C30; --sol:#F5B732;
  --tinta:#1b2420; --cinza:#5c6b63; --linha:#dfe6e1; --fundo:#f4f7f4; --branco:#fff;
  --ok:#1f8a4c; --erro:#b3261e; --aviso:#9a6b00;
  --radius:12px; --sombra:0 1px 3px rgba(0,0,0,.08),0 6px 20px rgba(0,40,28,.06);
}
*{box-sizing:border-box}
body{margin:0;font-family:"Jost",system-ui,-apple-system,Segoe UI,Roboto,sans-serif;
  color:var(--tinta);background:var(--fundo);font-size:15px;line-height:1.5}
a{color:var(--verde2);text-decoration:none}
a:hover{text-decoration:underline}
h1,h2,h3{font-family:"Cormorant Garamond",Georgia,serif;color:var(--verde);margin:.2em 0 .4em}
h1{font-size:1.9rem}h2{font-size:1.4rem}
.topbar{background:var(--verde);color:#fff;padding:.7rem 1.2rem;display:flex;
  align-items:center;justify-content:space-between;position:sticky;top:0;z-index:10}
.topbar a{color:#fff}
.topbar .brand{font-family:"Cormorant Garamond",serif;font-size:1.3rem;font-weight:600;letter-spacing:.5px}
.topbar nav a{margin-left:1rem;opacity:.9}
.topbar nav a:hover{opacity:1;text-decoration:none}
.wrap{max-width:1100px;margin:0 auto;padding:1.4rem 1.2rem}
.card{background:#fff;border:1px solid var(--linha);border-radius:var(--radius);
  box-shadow:var(--sombra);padding:1.1rem 1.2rem;margin-bottom:1.1rem}
.grid{display:grid;gap:1rem}
.cols-2{grid-template-columns:repeat(2,1fr)}
.cols-3{grid-template-columns:repeat(3,1fr)}
@media(max-width:760px){.cols-2,.cols-3{grid-template-columns:1fr}}
label{display:block;font-size:.82rem;color:var(--cinza);margin:.5rem 0 .15rem;font-weight:500}
input,select,textarea{width:100%;padding:.5rem .6rem;border:1px solid var(--linha);
  border-radius:8px;font:inherit;background:#fff}
input:focus,select:focus,textarea:focus{outline:2px solid var(--sol);border-color:var(--sol)}
.btn{display:inline-block;background:var(--verde);color:#fff;border:0;border-radius:9px;
  padding:.6rem 1.1rem;font:inherit;font-weight:600;cursor:pointer}
.btn:hover{background:var(--verde2);text-decoration:none}
.btn.terra{background:var(--terra)}.btn.terra:hover{background:#c07c22}
.btn.ghost{background:transparent;color:var(--verde);border:1px solid var(--verde)}
.btn.sm{padding:.35rem .7rem;font-size:.85rem}
table{width:100%;border-collapse:collapse;font-size:.9rem}
th,td{text-align:left;padding:.5rem .6rem;border-bottom:1px solid var(--linha)}
th{color:var(--cinza);font-weight:600;font-size:.78rem;text-transform:uppercase;letter-spacing:.4px}
tr:hover td{background:#fafdfb}
.badge{display:inline-block;padding:.12rem .55rem;border-radius:999px;font-size:.74rem;font-weight:600}
.b-disponivel{background:#e3f5ea;color:var(--ok)}
.b-indisponivel{background:#eee;color:#777}
.b-reservado{background:#fff2d6;color:var(--aviso)}
.b-vendido{background:#fde4e2;color:var(--erro)}
.b-bloqueado{background:#eef;color:#556}
.b-rascunho{background:#eef;color:#556}.b-gerado{background:#e3f5ea;color:var(--ok)}
.b-enviado_assinatura{background:#fff2d6;color:var(--aviso)}.b-assinado{background:#d8f0e2;color:var(--ok)}
.b-cancelado{background:#fde4e2;color:var(--erro)}
.muted{color:var(--cinza);font-size:.85rem}
.flash{padding:.7rem 1rem;border-radius:9px;margin-bottom:1rem;font-size:.9rem}
.flash.erro{background:#fde4e2;color:var(--erro)}
.flash.ok{background:#e3f5ea;color:var(--ok)}
.right{text-align:right}
.row-actions{display:flex;gap:.4rem;flex-wrap:wrap}
fieldset{border:1px solid var(--linha);border-radius:10px;padding:.8rem 1rem;margin:0 0 1rem}
legend{padding:0 .4rem;color:var(--verde);font-weight:600}
.login-box{max-width:380px;margin:8vh auto}
.kpi{font-size:1.6rem;font-weight:700;color:var(--verde)}
