:root{--brand: #0f3b46;--brand-deep: #0b2a31;--brand-line: #1d4b56;--brand-soft: #e3eff1;--on-brand: #cfe0e3;--on-brand-muted: #a3bfc5;--primary: #a3e635;--primary-ink: #0b2a31;--primary-line: #65a30d;--primary-text: #3f6212;--primary-soft: #f1f9e1;--warn-bg: #fee6de;--warn-fg: #b8401f;--ease-out: cubic-bezier(.2, .7, .3, 1);--bg: #f4f5f7;--surface: #ffffff;--border: #e2e5ea;--border-strong: #c9cfd8;--text: #16202e;--muted: #4a5668;--todo-bg: #fbe3dc;--todo-fg: #9e3415;--doing-bg: #fbebc8;--doing-fg: #7a4e00;--done-bg: #ddf0e3;--done-fg: #1e6b3a;--na-bg: #e7e9ee;--na-fg: #3b4556}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:Segoe UI,system-ui,sans-serif;font-size:14px}h1{margin:0;font-size:26px;color:var(--brand)}h2{margin:0;font-size:16px;color:var(--brand)}.mono{font-family:Consolas,Cascadia Mono,monospace}.muted{color:var(--muted)}.card{background:var(--surface);border:1px solid var(--border);border-radius:8px}.btn{height:40px;padding:0 16px;border-radius:6px;border:1px solid var(--border-strong);background:var(--surface);color:var(--text);font:inherit;font-weight:500;cursor:pointer;display:inline-flex;align-items:center;gap:8px;text-decoration:none}.btn{transition:background-color .15s,border-color .15s,box-shadow .15s,transform .1s,filter .15s}.btn:hover:not(:disabled){border-color:var(--brand);box-shadow:0 1px 3px #0b2a311f}.btn:active:not(:disabled){transform:translateY(1px) scale(.98);box-shadow:none}.btn:focus-visible{outline:2px solid var(--primary-line);outline-offset:2px}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--primary);border-color:var(--primary);color:var(--primary-ink);font-weight:600}.btn-primary:hover:not(:disabled){filter:brightness(.95);border-color:var(--primary);box-shadow:0 2px 8px #65a30d59}.btn-danger{color:var(--todo-fg);border-color:#e8b3a3}.btn-danger:hover:not(:disabled){border-color:var(--todo-fg)}.pill{display:inline-flex;align-items:center;height:24px;padding:0 10px;border-radius:12px;font-size:12px;font-weight:600;white-space:nowrap;transition:background-color .2s,color .2s}.pill-TODO{background:var(--todo-bg);color:var(--todo-fg)}.pill-IN_PROGRESS{background:var(--doing-bg);color:var(--doing-fg)}.pill-DONE{background:var(--done-bg);color:var(--done-fg)}.pill-NA{background:var(--na-bg);color:var(--na-fg)}.pill-EN_PREPARATION{background:var(--doing-bg);color:var(--doing-fg)}.pill-PRETE{background:#dce5f1;color:#1f3b63}.pill-EN_COURS{background:#fee6de;color:#b8401f}.pill-TERMINEE{background:var(--done-bg);color:var(--done-fg)}.pill-ROLLBACK_EN_COURS{background:var(--todo-fg);color:#fff}.pill-ROLLBACK{background:var(--todo-bg);color:var(--todo-fg)}.pill-ANNULEE{background:var(--na-bg);color:var(--na-fg)}.st-EN_PREPARATION{--st-bg: var(--doing-bg);--st-fg: var(--doing-fg)}.st-PRETE{--st-bg: #dce5f1;--st-fg: #1f3b63}.st-EN_COURS{--st-bg: #fee6de;--st-fg: #b8401f}.st-ROLLBACK_EN_COURS{--st-bg: #f7c9bd;--st-fg: var(--todo-fg)}.st-TERMINEE{--st-bg: var(--done-bg);--st-fg: var(--done-fg)}.st-ROLLBACK{--st-bg: var(--todo-bg);--st-fg: var(--todo-fg)}.st-ANNULEE{--st-bg: var(--na-bg);--st-fg: var(--na-fg)}.error{padding:12px 14px;border-radius:6px;background:var(--todo-bg);color:var(--todo-fg)}label.field{display:flex;flex-direction:column;gap:6px;font-weight:600;font-size:13px}input,select,textarea{font:inherit;font-weight:400;padding:0 12px;height:40px;border:1px solid var(--border-strong);border-radius:6px;background:var(--surface);color:var(--text)}textarea{height:auto;padding:10px 12px;resize:vertical}input[type=checkbox]{height:18px;width:18px;accent-color:var(--brand)}.progress{height:8px;border-radius:4px;background:#e7e6e6;overflow:hidden}.progress>span{display:block;height:100%;background:var(--primary-line);transition:width .5s var(--ease-out)}@keyframes pop{0%{transform:scale(.85)}60%{transform:scale(1.12)}to{transform:scale(1)}}.just-done{animation:pop .35s var(--ease-out)}@keyframes fade-up{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}::view-transition-old(root),::view-transition-new(root){animation-duration:.18s}input,select,textarea{transition:border-color .15s,box-shadow .15s}input:focus-visible,select:focus-visible,textarea:focus-visible{outline:none;border-color:var(--primary-line);box-shadow:0 0 0 3px #65a30d2e}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}::view-transition-group(*),::view-transition-old(*),::view-transition-new(*){animation:none!important}}
