:root{--ink:#17382d;--paper:#f6f4ed;--card:#fff;--green:#2c9d65;--grey:#e4e8e6;--muted:#64736d;--line:#dce2de}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:16px system-ui,-apple-system,Segoe UI,sans-serif}main{max-width:1000px;margin:auto;padding:20px}.card{background:var(--card);border:1px solid var(--line);border-radius:20px;padding:20px;box-shadow:0 12px 30px #17382d0d}.login{max-width:420px;margin:10vh auto}.eyebrow{font-weight:700;color:var(--green);font-size:.8rem;text-transform:uppercase;letter-spacing:.08em}h1{margin:.35rem 0;font-size:2.25rem}h2{font-size:1.2rem;margin:0 0 1rem}p{line-height:1.5;color:var(--muted)}label{display:grid;gap:6px;font-weight:650;margin:14px 0}input,select,button{font:inherit;border-radius:10px;padding:12px;border:1px solid #b9c5bf;background:white}button{background:var(--ink);color:white;border:0;font-weight:750;cursor:pointer}button.secondary{background:#e7eee9;color:var(--ink)}button:disabled{opacity:.5}.error{color:#b21d34;font-weight:600}.top{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:18px}.tabs{display:flex;gap:8px;overflow:auto;margin-bottom:16px}.tabs button{white-space:nowrap;background:white;color:var(--ink);border:1px solid var(--line)}.grid{display:grid;gap:14px}.matrix{overflow:auto}.matrix table{border-collapse:separate;border-spacing:6px;min-width:620px;width:100%}.matrix th{text-align:left;font-size:.85rem;color:var(--muted)}.matrix td{padding:12px;border-radius:12px;text-align:center;font-weight:700}.matrix td:first-child{text-align:left;background:#f4f6f4;color:var(--ink)}.done{background:#ccefdc;color:#105b37}.open{background:var(--grey);color:#5e6964}.small{font-size:.8rem;font-weight:500}.row{display:flex;gap:8px;align-items:center;justify-content:space-between;border-top:1px solid var(--line);padding:12px 0}.row:first-child{border:0}.proposal{display:grid;gap:6px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.notice{background:#edf7f0;padding:12px;border-radius:12px;color:#195a3a}.hidden{display:none}@media(min-width:700px){.grid{grid-template-columns:1.4fr 1fr}.wide{grid-column:1/-1}}@media(max-width:430px){main{padding:14px}.form-grid{grid-template-columns:1fr}h1{font-size:2rem}}
