@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@500;600&family=DM+Sans:wght@400;500;700&display=swap');

:root{
  --verde:#1B322A; --verde-2:#2A4A3E; --cobre:#A87044; --cobre-2:#9E5E2F;
  --areia:#D9C3A9; --areia-2:#E5D3BD; --salvia:#607361; --creme:#FCF6EF; --fundo:#F5EDE4;
  --texto:#1F2622; --texto-2:#5C645F; --linha:#E3D6C6; --alerta:#9E2F2F;
  --raio:14px; --sombra:0 1px 2px rgba(27,50,42,.06),0 8px 24px rgba(27,50,42,.06);
}
*{box-sizing:border-box}
html,body{margin:0}
body{background:var(--fundo);color:var(--texto);font:16px/1.55 'DM Sans',system-ui,sans-serif;-webkit-font-smoothing:antialiased}
.wrap{max-width:720px;margin:0 auto;padding:24px 16px 96px}
.wide{max-width:1100px}
.brand{display:flex;align-items:baseline;gap:12px;margin:8px 0 28px}
.logo{font:600 34px/1 'Cormorant Garamond',serif;letter-spacing:.04em;color:var(--verde)}
.logo b{color:var(--cobre);font-weight:600}
.tag{font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--texto-2)}
h1,h2{font-family:'Cormorant Garamond',serif;font-weight:600;color:var(--verde);line-height:1.15}
h1{font-size:34px;margin:0 0 12px} h2{font-size:26px;margin:0 0 8px}
p{margin:0 0 14px} .muted{color:var(--texto-2)} .small{font-size:13px}
.card{background:var(--creme);border:1px solid var(--linha);border-radius:var(--raio);padding:22px;box-shadow:var(--sombra);margin-bottom:16px}
.card.dark{background:var(--verde);color:#F4EEE6;border-color:var(--verde)} .card.dark h2{color:#F4EEE6}
.card.confid{border-left:4px solid var(--cobre)}
.btn{appearance:none;border:0;border-radius:999px;padding:13px 24px;font:500 15px 'DM Sans',sans-serif;cursor:pointer;background:var(--verde);color:#fff;transition:background .15s}
.btn:hover{background:var(--verde-2)} .btn:disabled{opacity:.45;cursor:not-allowed}
.btn.ghost{background:transparent;color:var(--verde);border:1.5px solid var(--verde)}
.btn.cobre{background:var(--cobre-2)} .btn.small{padding:8px 14px;font-size:13px}
.btn.danger{background:transparent;color:var(--alerta);border:1px solid var(--alerta)}
.row{display:flex;gap:12px;flex-wrap:wrap;align-items:center}
.spread{justify-content:space-between}
label.field{display:block;margin-bottom:16px;font-weight:500}
label.field span{display:block;margin-bottom:6px}
select,input[type=text],input[type=password]{width:100%;padding:12px 14px;border:1px solid var(--areia);border-radius:10px;background:#fff;font:16px 'DM Sans',sans-serif;color:var(--texto)}
.check{display:flex;gap:10px;align-items:flex-start;font-weight:400}
.check input{margin-top:4px;width:18px;height:18px;accent-color:var(--verde)}
ul.clean{padding-left:20px;margin:0 0 14px} ul.clean li{margin-bottom:6px}

/* progresso */
.progress{position:sticky;top:0;z-index:5;background:var(--fundo);padding:12px 0 10px;margin-bottom:8px}
.bar{height:6px;background:var(--areia-2);border-radius:99px;overflow:hidden}
.bar i{display:block;height:100%;background:linear-gradient(90deg,var(--verde),var(--cobre));width:0;transition:width .3s}
.progress .row{font-size:13px;color:var(--texto-2);margin-top:6px}

/* itens */
.item{padding:18px 0;border-top:1px solid var(--linha)}
.item:first-of-type{border-top:0}
.item p{font-weight:500;margin-bottom:12px}
.scale{display:grid;grid-template-columns:repeat(5,1fr);gap:6px}
.scale button{appearance:none;border:1.5px solid var(--areia);background:#fff;border-radius:10px;padding:10px 4px;font:500 12px/1.2 'DM Sans',sans-serif;color:var(--texto);cursor:pointer;min-height:54px}
.scale button b{display:block;font-size:16px;margin-bottom:2px}
.scale button:hover{border-color:var(--salvia)}
.scale button.on{background:var(--verde);border-color:var(--verde);color:#fff}
.scale.yn{grid-template-columns:repeat(2,1fr)}
.alt{display:flex;gap:16px;margin-top:8px}
.alt button{appearance:none;border:0;background:none;padding:4px 0;font:13px 'DM Sans',sans-serif;color:var(--texto-2);cursor:pointer;text-decoration:underline;text-underline-offset:3px}
.alt button.on{color:var(--cobre-2);font-weight:700}
.nav{position:fixed;left:0;right:0;bottom:0;background:rgba(245,237,228,.96);border-top:1px solid var(--linha);padding:12px 16px}
.nav .inner{max-width:720px;margin:0 auto;display:flex;justify-content:space-between;gap:12px;align-items:center}
.saved{font-size:12px;color:var(--salvia)}
.exit{position:fixed;top:12px;right:12px;z-index:20}
@media (max-width:520px){.scale button{font-size:10.5px;padding:8px 2px} .scale button b{font-size:15px} h1{font-size:28px}}

/* admin */
table{width:100%;border-collapse:collapse;font-size:14px}
th{text-align:left;font-weight:500;color:var(--texto-2);font-size:12px;letter-spacing:.06em;text-transform:uppercase;padding:8px;border-bottom:1px solid var(--areia)}
td{padding:10px 8px;border-bottom:1px solid var(--linha);vertical-align:top}
.pill{display:inline-block;padding:2px 10px;border-radius:99px;font-size:12px;font-weight:500;background:var(--areia-2);color:var(--verde)}
.pill.ok{background:#DCE5DC;color:var(--verde)} .pill.warn{background:#F2DADA;color:var(--alerta)}
.link{font-family:ui-monospace,monospace;font-size:11px;color:var(--texto-2);word-break:break-all}
.hidden{display:none!important}
.toast{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);background:var(--verde);color:#fff;padding:10px 18px;border-radius:99px;font-size:14px;z-index:30}
.table-scroll{overflow-x:auto}
.actions{margin-top:18px}
a.btn{text-decoration:none;display:inline-block}
