
:root{ --bg:#E4E0D0; --text:#B59576; --accent:#B59576; }
html,body{height:100%;}
body{ margin:0; background:var(--bg); color:var(--text); font-family:-apple-system,BlinkMacSystemFont,"SF Pro Text","Segoe UI",Roboto,Arial,sans-serif; }
.page{ min-height:100dvh; display:flex; flex-direction:column; }
header{ position:relative; padding:16px; text-align:center; }
header h1{ margin:0; font-size:1.25rem; font-weight:700; }
.watermark{ position:fixed; inset:0; background:url('logo.png') center/60% no-repeat; opacity:0.4; pointer-events:none; z-index:0; }
main{ position:relative; z-index:1; padding:12px; max-width:920px; margin:0 auto; }
.card{ background:rgba(255,255,255,0.6); backdrop-filter:saturate(120%) blur(2px); border:1px solid rgba(181,149,118,0.35); border-radius:16px; padding:12px; margin-bottom:12px; }
.card h2, .card h3, .card h4{ margin-top:0; }
.row{ display:grid; grid-template-columns:1fr 1fr; gap:8px; }
.row-2{ display:grid; grid-template-columns:repeat(2,1fr); gap:8px; }
.row-checks{ display:grid; grid-template-columns:repeat(2,minmax(140px,1fr)); gap:8px; }
@media (max-width: 420px){ .row, .row-2, .row-checks{ grid-template-columns:1fr; } }
label{ display:flex; align-items:center; gap:6px; padding:6px; border-radius:8px; }
input[type="checkbox"], input[type="radio"]{ width:20px; height:20px; accent-color:var(--accent); }
input[type="text"], input[type="date"], input[type="number"], select{ width:100%; padding:8px; border-radius:8px; border:1px solid rgba(181,149,118,0.4); background:#fff; color:#5f4a38; }
.btn{ display:inline-flex; align-items:center; justify-content:center; gap:8px; padding:10px 14px; border-radius:16px; border:1px solid var(--accent); color:var(--text); background:#fff; font-weight:600; }
.btn:active{ transform:scale(0.98); }
.toolbar{ position:sticky; bottom:0; padding:12px; background:linear-gradient(180deg, rgba(228,224,208,0) 0%, rgba(228,224,208,1) 60%); display:flex; gap:8px; flex-wrap:wrap; justify-content:center; }
table{ width:100%; border-collapse:collapse; }
th,td{ border:1px solid rgba(181,149,118,0.4); padding:8px; background:#fff; color:#5f4a38; }
#recap{ background:#fff; border-radius:12px; }
.small{ font-size:.95rem; color:#7a624e; }
.section-title{ font-weight:700; font-size:1.1rem; margin:8px 0 6px; }
