    :root { --forest:#1f5130; --orange:#e07c31; --line:#d9d2c4; --white:#fff; --text:#1c2b22; --muted:#526257; --max:900px; }
    * { box-sizing:border-box; }
    body { margin:0; min-height:100vh; display:flex; flex-direction:column; font-family:"Segoe UI","Trebuchet MS",Arial,sans-serif; color:var(--text); background:linear-gradient(180deg,#f9f6f0 0%,#f2ecdf 100%); }
    header { background:var(--forest); color:#fff; border-bottom:3px solid var(--orange); }
    .container { width:min(100% - 2rem, var(--max)); margin-inline:auto; }
    .nav { padding:1rem 0; display:flex; justify-content:space-between; }
    main { flex:1; }
    .card { margin:1rem 0; background:var(--white); border:1px solid var(--line); border-radius:12px; padding:1rem; }
    .input-wrap { display:flex; flex-direction:column; gap:.25rem; margin-bottom:.7rem; }
    input:not([type="checkbox"]) { border:1px solid #c9c0af; border-radius:8px; padding:.6rem .7rem; font:inherit; }
    button { background:var(--orange); border:1px solid #c46620; border-radius:10px; padding:.65rem .9rem; font-weight:700; cursor:pointer; }
    .status { margin-top:.6rem; font-weight:700; }
    .ok { color:#1f5b31; } .error { color:#9f2f2f; }
    .muted { color:var(--muted); }
