:root{--green: #2f7d32;--green-dark: #1b5e20;--amber: #b26a00;--red: #c62828;--bg: #f5f7f4;--card: #ffffff;--border: #dfe4dc;--text: #1f2620;--muted: #6b7768}*{box-sizing:border-box}body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;background:var(--bg);color:var(--text)}a{color:inherit;text-decoration:none}header.app{background:var(--card);color:var(--text);border-bottom:1px solid var(--border);padding:10px 20px;display:flex;align-items:center;gap:12px}header.app .brand img{display:block;height:48px;width:auto}header.app .sub{font-size:12px;color:var(--muted)}header.app a.sub:hover{color:var(--green-dark)}.container{max-width:900px;margin:0 auto;padding:20px 16px 60px}.crumbs{font-size:14px;color:var(--muted);margin-bottom:16px}.crumbs a:hover{color:var(--green)}.card{background:var(--card);border:1px solid var(--border);border-radius:10px;padding:16px;margin-bottom:12px;display:block}.card.click{transition:box-shadow .15s,transform .05s}.card.click:hover{box-shadow:0 3px 10px #00000014}.card.click:active{transform:scale(.995)}.card h3{margin:0 0 6px;font-size:17px}.row{display:flex;justify-content:space-between;align-items:center;gap:12px}.meta{color:var(--muted);font-size:13px}.badge{display:inline-block;padding:2px 9px;border-radius:20px;font-size:12px;font-weight:600;background:#e8f0e6;color:var(--green-dark)}.badge.bassin{background:#e3f0f7;color:#145a7a}.badge.warn{background:#fdf3e3;color:var(--amber)}.badge.danger{background:#fdecea;color:var(--red)}.badge.muted{background:#eceeeb;color:var(--muted)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:46px;padding:0 18px;font-size:15px;font-weight:600;border:none;border-radius:8px;background:var(--green);color:#fff;cursor:pointer}.btn:hover{background:var(--green-dark)}.btn:disabled{opacity:.6;cursor:default}.btn.ghost{background:#fff;color:var(--green-dark);border:1px solid var(--green)}.btn.small{min-height:38px;padding:0 14px;font-size:14px}.btn.danger{background:var(--red)}.btn.danger:hover{background:#8e1b1b}.btn.danger.ghost{background:#fff;color:var(--red);border:1px solid var(--red)}.btn.danger.ghost:hover{background:#fdecea}.btn.warn{background:var(--amber)}.btn.warn:hover{background:#8a5200}.task{display:flex;align-items:center;gap:12px;padding:12px 14px;border:1px solid var(--border);border-radius:8px;margin-bottom:8px;background:#fff}.task .date{font-variant-numeric:tabular-nums;font-weight:600;min-width:96px}.task.done{opacity:.55}.task.overdue .date{color:var(--red)}.task.reported .date{color:#b8860b}.pill{font-size:12px;padding:2px 8px;border-radius:12px}.pill.retard{background:#fdecea;color:var(--red)}.pill.fait{background:#e8f0e6;color:var(--green-dark)}.pill.reportee{background:#fdf1da;color:#8a6100}.pill.archivee{background:#eef2ec;color:var(--muted)}.toolbar{display:flex;gap:10px;flex-wrap:wrap;margin:16px 0}.empty{color:var(--muted);padding:30px 0;text-align:center}.error{background:#fdecea;color:var(--red);padding:12px 14px;border-radius:8px;margin-bottom:12px}form.stack{display:flex;flex-direction:column;gap:10px}form.stack label{font-size:13px;color:var(--muted);display:flex;flex-direction:column;gap:4px}form.stack input,form.stack select{min-height:44px;padding:8px 10px;font-size:15px;border:1px solid var(--border);border-radius:8px;background:#fff}.tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:10px;margin-bottom:14px}.tile{background:var(--card);border:1px solid var(--border);border-radius:10px;padding:12px 14px}.tile .val{font-size:22px;font-weight:700;color:var(--green-dark)}.tile .lbl{font-size:12px;color:var(--muted);margin-top:2px}.tile.water .val{color:#145a7a}.tabs{display:flex;gap:6px;flex-wrap:wrap;margin:8px 0 14px}.tab{padding:8px 14px;border-radius:20px;border:1px solid var(--border);background:#fff;cursor:pointer;font-size:14px;font-weight:600}.tab.active{background:var(--green);color:#fff;border-color:var(--green)}.log-row{display:flex;justify-content:space-between;gap:10px;padding:10px 12px;border:1px solid var(--border);border-radius:8px;margin-bottom:6px;background:#fff;font-size:14px}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:10px}.fin-table{width:100%;border-collapse:collapse;background:#fff;border-radius:10px;overflow:hidden}.fin-table th,.fin-table td{padding:10px 12px;text-align:left;border-bottom:1px solid var(--border);font-size:14px;white-space:nowrap}.fin-table th{background:#eef2ec;color:var(--muted);font-weight:600}.fin-table td.num,.fin-table th.num{text-align:right;font-variant-numeric:tabular-nums}.fin-table tbody tr:last-child td{border-bottom:none}
