:root{--color-primary: #2563eb;--color-primary-dark: #1d4ed8;--color-bg: #f5f7fa;--color-surface: #ffffff;--color-border: #e2e8f0;--color-text: #1e293b;--color-text-muted: #64748b;--color-success: #16a34a;--color-warning: #d97706;--color-error: #dc2626;--color-info: #2563eb;--radius: 8px;--shadow: 0 1px 3px rgba(0, 0, 0, .08), 0 1px 2px rgba(0, 0, 0, .06)}*{box-sizing:border-box}html,body{height:100%;margin:0}body{font-family:Segoe UI,Roboto,Helvetica,Arial,sans-serif;background:var(--color-bg);color:var(--color-text)}a{color:var(--color-primary);text-decoration:none}button{font-family:inherit;cursor:pointer}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:8px 16px;border-radius:var(--radius);border:1px solid transparent;font-size:14px;font-weight:500;transition:background .15s ease}.btn-primary{background:var(--color-primary);color:#fff}.btn-primary:hover{background:var(--color-primary-dark)}.btn-outline{background:transparent;border-color:var(--color-border);color:var(--color-text)}.btn-outline:hover{background:var(--color-bg)}.btn-danger{background:var(--color-error);color:#fff}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);box-shadow:var(--shadow);padding:20px}.form-field{display:flex;flex-direction:column;gap:4px;margin-bottom:14px}.form-field label{font-size:13px;font-weight:600;color:var(--color-text-muted)}input,select,textarea{padding:8px 10px;border-radius:var(--radius);border:1px solid var(--color-border);font-size:14px;font-family:inherit}input:focus,select:focus,textarea:focus{outline:2px solid var(--color-primary);outline-offset:1px}table{width:100%;border-collapse:collapse}th,td{padding:10px 12px;text-align:left;border-bottom:1px solid var(--color-border);font-size:14px}th{color:var(--color-text-muted);font-weight:600;font-size:12px;text-transform:uppercase}.badge{display:inline-block;padding:2px 10px;border-radius:999px;font-size:12px;font-weight:600}.badge-nouveau,.badge-en_cours{background:#dbeafe;color:#1d4ed8}.badge-en_attente{background:#fef3c7;color:#b45309}.badge-termine{background:#ede9fe;color:#6d28d9}.badge-archive{background:#e2e8f0;color:#475569}.badge-annule{background:#fce7f3;color:#be185d}.text-muted{color:var(--color-text-muted)}.error-text{color:var(--color-error);font-size:13px}.page-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.page-header h1{font-size:22px;margin:0}
