/* MAA Back Office — thème clair */
* { box-sizing: border-box; }
html,body { margin:0; font-family: system-ui,"Segoe UI",sans-serif; background:#f1f5f9; color:#1e293b; }
a { color:#4f46e5; text-decoration:none; }
.topnav { display:flex; align-items:center; gap:4px; background:#6d28d9; padding:10px 16px; border-bottom:1px solid #5b21b6; flex-wrap:wrap; box-shadow:0 2px 10px rgba(109,40,217,.25); }
.topnav .brand { font-weight:700; margin-right:14px; color:#fff; }
.topnav .brand .tag { background:rgba(255,255,255,.25); color:#fff; padding:1px 7px; border-radius:6px; font-size:12px; }
.topnav a { padding:8px 13px; border-radius:8px; color:rgba(255,255,255,.9); }
.topnav a:hover { background:rgba(255,255,255,.15); }
.topnav a.active { background:#fff; color:#6d28d9; font-weight:600; }
.topnav .user { margin-left:auto; color:rgba(255,255,255,.85); font-size:14px; }
.topnav a.logout { color:#fecaca; }
.wrap { padding:22px; max-width:1050px; margin:0 auto; }
h1 { font-size:22px; margin:6px 0 18px; color:#0f172a; } h2 { font-size:16px; color:#4338ca; margin:20px 0 10px; }
.cards { display:grid; grid-template-columns:repeat(auto-fill,minmax(220px,1fr)); gap:16px; }
.card { display:block; background:#fff; border:1px solid #e2e8f0; border-radius:14px; padding:20px; color:#1e293b; box-shadow:0 1px 3px rgba(15,23,42,.05); transition:box-shadow .15s,border-color .15s; }
.card:hover { border-color:#a5b4fc; box-shadow:0 6px 18px rgba(99,102,241,.14); } .card .ico { font-size:30px; } .card .t { font-weight:600; margin-top:10px; font-size:16px; } .card .s { color:#64748b; font-size:13px; margin-top:4px; }
table { width:100%; border-collapse:collapse; background:#fff; border-radius:12px; overflow:hidden; border:1px solid #e2e8f0; box-shadow:0 1px 3px rgba(15,23,42,.04); }
th,td { padding:10px 12px; text-align:left; border-bottom:1px solid #eef2f6; font-size:14px; }
th { background:#f8fafc; color:#475569; font-weight:600; } tr:last-child td { border-bottom:none; } tr:hover td { background:#f8fafc; }
.btn { display:inline-block; padding:11px 17px; border:none; border-radius:10px; background:#e2e8f0; color:#1e293b; font-size:15px; cursor:pointer; font-weight:500; }
.btn:hover { filter:brightness(.97); } .btn.primary { background:#16a34a; color:#fff; } .btn.blue { background:#4f46e5; color:#fff; } .btn.red { background:#dc2626; color:#fff; }
.row { display:flex; gap:10px; flex-wrap:wrap; align-items:center; }
label { display:block; font-size:13px; color:#475569; margin:10px 0 4px; }
input,select { width:100%; padding:10px 12px; font-size:15px; border-radius:8px; border:1px solid #cbd5e1; background:#fff; color:#1e293b; }
input:focus,select:focus { outline:none; border-color:#6366f1; box-shadow:0 0 0 3px rgba(99,102,241,.15); }
.form { max-width:520px; background:#fff; border:1px solid #e2e8f0; border-radius:14px; padding:18px; box-shadow:0 1px 3px rgba(15,23,42,.04); }
.grid2 { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.msg { margin:14px 0; padding:11px 14px; border-radius:8px; }
.msg.ok { background:#ecfdf5; color:#047857; border:1px solid #a7f3d0; } .msg.err { background:#fef2f2; color:#b91c1c; border:1px solid #fecaca; }
.badge { padding:2px 8px; border-radius:999px; font-size:12px; background:#f1f5f9; color:#475569; }
.badge.g { background:#ecfdf5; color:#047857; } .badge.r { background:#fef2f2; color:#b91c1c; } .badge.v { background:#eef2ff; color:#4338ca; }
.chk { display:flex; align-items:center; gap:8px; margin:6px 0; }
.chk input { width:auto; }
/* login */
.login-wrap { min-height:100vh; display:flex; align-items:center; justify-content:center; }
.login { width:360px; background:#fff; border:1px solid #e2e8f0; border-radius:16px; padding:28px; box-shadow:0 10px 30px rgba(15,23,42,.08); }
.login h1 { text-align:center; } .login .societe { text-align:center; font-size:26px; font-weight:800; color:#0f172a; line-height:1.15; }
.login .ville { text-align:center; font-size:20px; font-weight:700; color:#334155; margin-top:2px; }
.login .brand { text-align:center; font-size:16px; font-weight:700; margin:8px 0 2px; color:#0f172a; }
.login .sub { text-align:center; color:#64748b; font-size:13px; margin-bottom:18px; }
.avatar { width:44px; height:44px; border-radius:50%; object-fit:cover; vertical-align:middle; background:#e2e8f0; }
