:root{--ink:#1e2b24;--cream:#f5f1e7;--green:#2d5946;--accent:#d3834d;--line:#d7d1c3}*{box-sizing:border-box}body{margin:0;background:var(--cream);color:var(--ink);font:16px system-ui,sans-serif}header{padding:1rem 4%;background:var(--green);display:flex;gap:2rem;align-items:center;color:#fff}header>a{font-weight:800;letter-spacing:.07em}a{color:inherit}nav{display:flex;flex-wrap:wrap;gap:1rem;font-size:.9rem}main{max-width:1440px;margin:2rem auto;padding:0 4%}h1{margin-top:0}h2{margin-top:2rem;font-size:1.1rem}button,.button{background:var(--green);border:0;border-radius:.35rem;color:white;padding:.75rem 1rem;font-weight:700;cursor:pointer;text-decoration:none;display:inline-block}.secondary{background:#6d6a61}.card{background:white;border:1px solid var(--line);border-radius:.5rem;padding:1.25rem}.login{max-width:420px;margin:10vh auto}.staff{max-width:720px;margin:auto}.date{font-size:1.25rem;font-weight:700}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.wide{grid-column:1/-1}label{display:grid;gap:.3rem;font-weight:650}input,textarea,select{border:1px solid #aaa;border-radius:.3rem;padding:.75rem;font:inherit;background:#fff}.staff input,.staff textarea{font-size:1.25rem;padding:1rem}.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:.7rem}.kpis article{background:white;border:1px solid var(--line);padding:.8rem;border-radius:.35rem;font-size:.85rem}.kpis strong{display:block;font-size:1.2rem;margin-top:.35rem}table{width:100%;border-collapse:collapse;background:white}th,td{padding:.55rem;border:1px solid var(--line);text-align:right;white-space:nowrap}th:first-child,td:first-child{text-align:left}.scroll{overflow-x:auto}.filters{display:flex;align-items:end;gap:.75rem;margin-bottom:1rem}.inline{display:inline}.message{background:#e1f2dd;padding:.75rem;border-radius:.3rem}.warning{background:#fff1c7;padding:.75rem}.staff details{margin-top:2rem;background:white;padding:1rem;border:1px solid var(--line)}@media(max-width:640px){header{display:block}nav{margin-top:.75rem}.form-grid{grid-template-columns:1fr} .wide{grid-column:auto}main{padding:0 1rem}.kpis{grid-template-columns:1fr 1fr}}
