:root{--violine: #901e48;--orange: #df7a0c;--saumon: #eb5e4b;--gris-clair: #928492;--gris-fonce: #5a4c5a;--noir: #32212a;--fond: #fbf7f8}*{box-sizing:border-box}body{margin:0;font-family:Montserrat,Arial,sans-serif;color:var(--noir);background:var(--fond);line-height:1.5}a{color:var(--violine)}header.top{background:#fff;border-bottom:3px solid var(--violine);padding:14px 24px;display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}header.top .brand{font-weight:700;color:var(--violine);text-decoration:none;font-size:18px}header.top nav{display:flex;gap:16px;align-items:center;color:var(--gris-fonce);font-size:14px}main{max-width:960px;margin:0 auto;padding:24px 16px 64px}h1{color:var(--violine);font-size:26px;margin:0 0 16px}h2{color:var(--gris-fonce);font-size:18px;margin:32px 0 12px}.card{background:#fff;border-radius:12px;padding:20px;box-shadow:0 1px 4px #32212a14;margin-bottom:16px}table{width:100%;border-collapse:collapse;font-size:14px}th,td{text-align:left;padding:8px 10px;border-bottom:1px solid #efe6ea;vertical-align:top}th{color:var(--gris-fonce);font-weight:600}label{display:block;font-size:13px;font-weight:600;color:var(--gris-fonce);margin-bottom:4px}input,textarea{width:100%;padding:10px 12px;border:1px solid #d9ccd2;border-radius:8px;font:inherit;color:var(--noir)}.row{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;margin-bottom:12px}button,.btn{background:var(--violine);color:#fff;border:0;border-radius:8px;padding:10px 18px;font:inherit;font-weight:600;cursor:pointer;text-decoration:none;display:inline-block}button.secondary{background:#fff;color:var(--violine);border:1px solid var(--violine)}button.danger{background:var(--saumon)}.flash{padding:10px 14px;border-radius:8px;margin-bottom:16px;background:#fdecea;color:#7a1d12}.flash.ok{background:#e8f3ec;color:#1d5a34}.muted{color:var(--gris-clair);font-size:13px}.badge{background:#f3e6ec;color:var(--violine);border-radius:999px;padding:2px 10px;font-size:12px;font-weight:600}@media(max-width:600px){main{padding:16px 16px 48px}header.top{padding:12px 16px}}.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:10px}.stat{background:#fff;border-radius:12px;padding:14px;text-decoration:none;color:var(--noir);box-shadow:0 1px 4px #32212a14;display:flex;flex-direction:column}.stat strong{font-size:26px;color:var(--violine)}.stat span{font-size:12px;color:var(--gris-fonce)}.tabs{display:flex;gap:8px;margin-bottom:16px}.tab{padding:8px 16px;border-radius:999px;background:#fff;text-decoration:none;color:var(--gris-fonce);font-weight:600;font-size:14px;border:1px solid #e3d8dd}.tab.on{background:var(--violine);color:#fff;border-color:var(--violine)}.filters{display:flex;gap:8px;margin-bottom:16px;flex-wrap:wrap}.filters input{flex:1 1 240px;width:auto}.filters select{width:auto;padding:10px;border-radius:8px;border:1px solid #d9ccd2;font:inherit}.kanban{display:flex;gap:12px;overflow-x:auto;padding-bottom:12px;align-items:flex-start}.col{background:#f3ecef;border-radius:12px;padding:10px;min-width:250px;width:250px;flex:0 0 auto}.col h3{margin:4px 4px 10px;font-size:14px;color:var(--gris-fonce);display:flex;justify-content:space-between;align-items:center}.kcard{background:#fff;border-radius:10px;padding:10px;margin-bottom:8px;font-size:13px;box-shadow:0 1px 3px #32212a14}.badge.warn{background:#fde7d3;color:#9a4a00}.move{display:flex;flex-direction:column;gap:6px;margin-top:8px}.move select,.move input{padding:6px 8px;font-size:12px;border:1px solid #d9ccd2;border-radius:6px}.move button{padding:6px 10px;font-size:12px}.sr{position:absolute;left:-9999px}.calnav{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.cal{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}.calh{font-size:12px;font-weight:600;color:var(--gris-fonce);text-align:center}.calc{min-height:84px;background:#fbf7f8;border-radius:6px;padding:4px;font-size:11px;overflow:hidden}.calc.out{opacity:.45}.calday{font-weight:600;color:var(--gris-fonce);display:block}.ev{border-radius:4px;padding:1px 4px;margin-top:2px;color:#fff;overflow-wrap:anywhere}.ev a{color:#fff;text-decoration:none}.ev.edition{background:var(--violine)}.ev.task{background:var(--orange)}.ev.followup{background:var(--saumon)}@media(max-width:600px){.calc{min-height:56px;font-size:10px}}
