:root{font-family:system-ui,sans-serif;color:#1b1b1f;background:#f6f6f8}body{margin:0}.layout{display:grid;grid-template-columns:200px 1fr;min-height:100vh}nav{display:flex;flex-direction:column;gap:8px;padding:16px;background:#1b1b1f;color:#fff}nav a{color:#ddd;text-decoration:none}nav a.active{color:#fff;font-weight:600}main{padding:24px;overflow-x:auto}.card{background:#fff;border-radius:8px;padding:24px;display:flex;flex-direction:column;gap:12px}.narrow{max-width:360px;margin:10vh auto}label{display:flex;flex-direction:column;gap:4px}input,select,button{font:inherit;padding:6px 10px}.row{display:flex;gap:8px}.error{color:#b00020}.hint{color:#555;font-size:.9em}table{border-collapse:collapse;width:100%;margin-top:12px;background:#fff}th,td{text-align:left;padding:6px 8px;border-bottom:1px solid #e3e3e8}tr.warn{background:#fff4d6}tr.overdue{background:#fde0e0}.banner.warn{background:#fff4d6;padding:8px 12px;border-radius:6px;margin-bottom:12px}.tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px}.tile{background:#fff;border-radius:8px;padding:12px;display:flex;flex-direction:column}pre{background:#fff;padding:12px;border-radius:8px;overflow-x:auto}@media(max-width:700px){.layout{grid-template-columns:1fr}nav{flex-direction:row;flex-wrap:wrap}}
