*{box-sizing:border-box}body{margin:0;font:15px/1.5 system-ui,sans-serif;background:#f4f6f9;color:#222}
nav{display:flex;gap:16px;align-items:center;background:#1f3a5f;color:#fff;padding:10px 20px;flex-wrap:wrap}nav a{color:#cfe0ff;text-decoration:none}.sp{flex:1}
main{max-width:1100px;margin:20px auto;padding:0 16px}h1{margin-top:0}a{color:#1f5fbf}
.card{background:#fff;border-radius:8px;padding:16px;margin:0 0 20px;box-shadow:0 1px 3px #0002}.narrow{max-width:380px;margin:40px auto}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;margin-bottom:12px}
label{display:block;font-weight:600;font-size:13px}input,select{width:100%;padding:7px;margin-top:4px;border:1px solid #bbb;border-radius:5px}
button{background:#1f5fbf;color:#fff;border:0;padding:7px 14px;border-radius:5px;cursor:pointer}button.danger{background:#c0392b}
table{width:100%;border-collapse:collapse;background:#fff;margin:10px 0}th,td{padding:8px;border-bottom:1px solid #e3e6ea;text-align:left}th{background:#eef1f6}
form.inline{display:inline}.tot td{font-weight:700;background:#f8fafc}.err{color:#c0392b}.ok{color:#1e8449}
.rform{display:flex;gap:6px;flex-wrap:wrap}.rform input,.rform select{width:auto;margin:0}.rform span{display:flex;gap:6px}
.tag{padding:2px 8px;border-radius:10px;color:#fff;font-size:12px}.etude{background:#e69f00}.demarre{background:#1f8f4e}.abandonne{background:#888}.termine{background:#1f5fbf}
.gantt{position:relative;background:#fff;padding:12px;border-radius:8px;overflow-x:auto}.axis{display:flex;justify-content:space-between;margin-left:200px;font-size:12px;color:#666}
.row{display:flex;align-items:center;min-height:30px}.lbl{width:200px;flex:none;padding-right:8px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sub .lbl{padding-left:14px;font-size:13px;color:#555}
.track{position:relative;flex:1;height:22px;background:#f0f2f5}.bar{position:absolute;height:100%;border-radius:4px;color:#fff;font-size:11px;padding:2px 6px;overflow:hidden;white-space:nowrap}.bar.task{background:#7f8fa9;height:14px;top:4px}
.today{position:absolute;top:0;bottom:0;width:2px;background:#c0392b;z-index:2}
