:root{color:#172033;--color-primary:#e3937b;--color-primary-dark:#1e40af;--color-text:#172033;--color-muted:#64748b;--color-border:#e2e8f0;--color-surface:#fff;--color-background:#f5f7fb;--radius-sm:6px;--radius-md:12px;--space-1:.5rem;--space-2:1rem;--space-3:1.5rem;--space-4:2rem;background-color:#f5f7fb;font-family:Arial,Helvetica,sans-serif}*{box-sizing:border-box}body{min-width:320px;margin:0}button,input,textarea,select{font:inherit}img,svg,video{max-width:100%}.app-container{gap:var(--space-3);grid-template-columns:350px minmax(0,1fr);align-items:start;width:min(100% - 2rem,1100px);margin:2rem auto;display:grid}.site-header{padding:var(--space-3);background-color:var(--color-primary);color:#fff}.site-header__content{width:min(100% - 2rem,1100px);margin:0 auto}.site-header h1{margin:0;font-size:2rem}.site-header p{color:#fdfeff;margin-bottom:0}.panel{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:1rem;box-shadow:0 4px 14px #0f172a0a}.panel h2{margin-top:0;margin-bottom:var(--space-3);font-size:1.25rem}.form-field{margin-bottom:var(--space-2);flex-direction:column;gap:.4rem;display:flex}.form-success{border-radius:var(--radius-sm);color:#166534;background-color:#f0fdf4;border:1px solid #bbf7d0;padding:.75rem}.form-field label{font-size:.9rem;font-weight:600}.form-field input,.form-field textarea,.form-field select{border-radius:var(--radius-sm);width:100%;color:var(--color-text);background-color:#fff;border:1px solid #cbd5e1;padding:.75rem}.form-field input:focus-visible,.form-field textarea:focus-visible,.form-field select:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.form-note{color:var(--color-muted);font-size:.85rem;line-height:1.5}form>button{border-radius:var(--radius-sm);background-color:var(--color-primary);color:#fff;border:none;width:100%;padding:.8rem 1rem;font-weight:600}form>button:disabled{cursor:not-allowed;background-color:#dbb06b}.task-list{gap:var(--space-2);display:grid}.task-card{padding:var(--space-2);border:2px solid var(--color-border);border-radius:var(--radius-md);background-color:#fff;border-color:#ffb5ab;margin:10px}.task-card:hover{opacity:1;background-color:#fff2f2;transform:translateY(-2px)}.task-card__heading,.task-card__footer{flex-wrap:wrap;justify-content:space-between;gap:.75rem;display:flex}.task-card__heading{align-items:flex-start}.task-card__footer{align-items:center}.priority{text-transform:capitalize;border-radius:999px;flex-shrink:0;padding:.35rem .7rem;font-size:.75rem;font-weight:600}.priority--basse{color:#166534;background:#dcfce7}.priority--moyenne{color:#92400e;background:#fef3c7}.priority--haute{color:#991b1b;background:#fee2e2}.empty-state{padding:var(--space-4);border:1px dashed var(--color-border);border-radius:var(--radius-md);background-color:var(--color-background);color:var(--color-muted);text-align:center}.task-card--completed{background-color:#f0fdf4;border-color:#bbf7d0}.task-card--completed h3{color:#64748b;text-decoration:line-through}.task-card__actions{flex-wrap:wrap;gap:.5rem;margin-top:1rem;display:flex}.task-card__actions button{border:1px solid var(--color-border);border-radius:var(--radius-sm);min-height:44px;color:var(--color-text);cursor:pointer;background-color:#fff;padding:.65rem .9rem}.task-card__actions button:hover{background-color:#f1f5f9}.task-card__actions .button-danger{color:#b91c1c;border-color:#fecaca}.task-card__actions .button-danger:hover{background-color:#fef2f2}form>.button-cancel{color:#172033;background-color:#e2e8f0;margin-top:.75rem}form>.button-cancel:hover{background-color:#cbd5e1}.task-card__actions button:disabled{opacity:.8;cursor:not-allowed}.task-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;width:min(100% - 2rem,1100px);margin:1.5rem auto;display:grid}.stat-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);flex-direction:column;gap:.5rem;padding:1rem;display:flex}.stat-card span{color:#64748b;font-size:.9rem}.stat-card strong{font-size:clamp(1.5rem,3vw,2rem)}.stat-card progress{accent-color:#16a34a;width:100%;height:.75rem}.task-filters{width:min(100% - 2rem,1100px);margin:1.5rem auto}.filters-grid{grid-template-columns:1fr;gap:1rem;display:grid}.filter-reset{border:1px solid var(--color-border);border-radius:var(--radius-sm);color:#172033;cursor:pointer;background:#f1f5f9;min-height:44px;margin-top:1rem;padding:.75rem 1rem}.filter-reset:hover{background:#e2e8f0}@media (width>=600px){.task-stats{grid-template-columns:repeat(4,minmax(0,1fr))}.filters-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}.form-error{border-radius:var(--radius-sm);color:#991b1b;background-color:#fef2f2;border:1px solid #fecaca;padding:.75rem;font-size:.9rem}.storage-error{border-radius:var(--radius-sm);color:#991b1b;background:#fef2f2;border:1px solid #fecaca;width:min(100% - 2rem,1100px);margin:1rem auto;padding:1rem}.reset-actions{width:min(100% - 2rem,1100px);margin:1rem auto}.reset-actions button{border-radius:var(--radius-sm);color:#b91c1c;cursor:pointer;background:#fff;border:1px solid #fecaca;min-height:44px;padding:.75rem 1rem}.reset-actions button:hover{background-color:#fef2f2;border-color:#fca5a5}.last-save{color:#4b5563;text-align:right;width:min(100% - 2rem,1100px);margin:.5rem auto;font-size:.875rem;font-style:italic}:where(button,input,select,textarea,a):focus-visible{outline-offset:3px;outline:3px solid #0b69d1}button:disabled{opacity:.55;cursor:not-allowed}*,:before,:after{box-sizing:border-box}img,svg{max-width:100%}.task-card{min-width:0}.task-card h3,.task-card p{overflow-wrap:anywhere}.task-card__actions{flex-wrap:wrap;gap:.5rem;display:flex}.task-card__actions button{min-height:44px}.data-notice{text-align:center;font-size:12px}.urgent{border-radius:var(--radius-sm);background-color:var(--color-primary);color:#fff;border:none;width:23%;margin:10px;padding:.8rem 1rem;font-weight:600}@media (width<=420px){.task-card__actions button{flex:100%}}@media (width<=800px){.app-container{grid-template-columns:1fr}.site-header h1{font-size:25px}.task-card__heading,.task-card__footer{flex-wrap:wrap}}@media (width>=900px){.app-container{grid-template-columns:350px minmax(0,1fr);margin:2rem auto}@media (width>=600px){.panel{padding:1.5rem}.task-card{margin:30px}}.site-header h1{margin:0;font-size:clamp(1.6rem,4vw,2.2rem)}.form-field input,.form-field select{min-height:44px}.form-field textarea{resize:vertical;min-height:100px}form>button{min-height:44px}}
