:root{font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#1f2937;background:#f3f4f6}*{box-sizing:border-box}body{margin:0}.topbar{background:#111827;color:#fff;padding:14px 22px;display:flex;gap:24px;align-items:center;justify-content:space-between;flex-wrap:wrap}.brand a,.topbar nav a{color:#fff;text-decoration:none}.brand{font-weight:800}.topbar nav{display:flex;gap:14px;flex-wrap:wrap}.topbar nav a:hover{text-decoration:underline}.container{max-width:1250px;margin:25px auto;padding:0 18px}h1{margin:0 0 22px}h2{margin-top:0}.card{background:#fff;border-radius:12px;padding:20px;box-shadow:0 2px 12px rgba(0,0,0,.06);margin-bottom:18px}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:16px}.metric{font-size:28px;font-weight:800;margin-top:8px}.muted{color:#6b7280;font-size:14px}.alert{padding:13px 15px;border-radius:9px;margin:12px 0}.alert.succes{background:#dcfce7;color:#166534}.alert.erreur{background:#fee2e2;color:#991b1b}.alert.info{background:#dbeafe;color:#1e40af}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:14px}label{display:block;font-weight:700;margin-bottom:5px}input,select,textarea{width:100%;padding:10px 11px;border:1px solid #d1d5db;border-radius:8px;background:#fff}textarea{min-height:90px}button,.btn{display:inline-block;border:0;border-radius:8px;padding:10px 14px;background:#2563eb;color:#fff;text-decoration:none;font-weight:700;cursor:pointer}.btn.secondary,button.secondary{background:#4b5563}.btn.success,button.success{background:#15803d}.btn.danger,button.danger{background:#b91c1c}.actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:14px 0}.table-wrap{overflow:auto;background:#fff;border-radius:12px;box-shadow:0 2px 12px rgba(0,0,0,.05)}table{border-collapse:collapse;width:100%;min-width:850px}th,td{padding:11px 12px;border-bottom:1px solid #e5e7eb;text-align:left;vertical-align:top}th{background:#f9fafb;position:sticky;top:0}.badge{display:inline-block;padding:4px 8px;border-radius:999px;background:#e5e7eb;font-size:12px;font-weight:800}.badge.actif,.badge.validee,.badge.valide{background:#dcfce7;color:#166534}.badge.en_attente{background:#fef3c7;color:#92400e}.badge.expire{background:#e5e7eb;color:#374151}.badge.deja_existant,.badge.non_admissible,.badge.annule,.badge.annulee{background:#fee2e2;color:#991b1b}.login-box{max-width:520px;margin:40px auto}.help{padding:12px;border-left:4px solid #2563eb;background:#eff6ff;margin:12px 0}.right{text-align:right}.nowrap{white-space:nowrap}footer{text-align:center;color:#6b7280;padding:30px 12px}.print-only{display:none}@media print{.topbar,.no-print,footer{display:none!important}.container{max-width:none;margin:0}.card,.table-wrap{box-shadow:none}.print-only{display:block}}