/* Identité visuelle de l'administration Django PARTADIGME. */
:root { --primary:#e83e7b; --primary-dark:#be2059; --ink:#17131b; --muted:#706977; --canvas:#f7f5f8; --line:#e8e2e9; --panel:#fff; --accent:#fff1f6; }
html[data-theme="dark"] { --canvas:#17141a; --panel:#221d25; --ink:#f7f1f6; --muted:#bcb2bd; --line:#39313d; --accent:#38202b; }
body { background:var(--canvas); color:var(--ink); font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif; }
#header { min-height:72px; padding:0 28px; background:linear-gradient(115deg,#201521,#32172a); box-shadow:0 2px 14px #32172a2e; }
#branding { display:flex; align-items:center; }
#site-name { display:flex; align-items:baseline; gap:10px; font-size:20px; font-weight:800; letter-spacing:-.8px; }
#site-name a { color:#fff; } #site-name a span { color:#f77bad; } #site-name small { color:#d9b8c8; font-size:11px; font-weight:600; letter-spacing:.08em; text-transform:uppercase; }
#user-tools { color:#eadce5; font-size:13px; } #user-tools a,#user-tools button { color:#fff; } #user-tools a:hover,#user-tools button:hover { color:#ff91bd; }
.breadcrumbs { padding:15px 30px; background:var(--panel); color:var(--muted); border-bottom:1px solid var(--line); font-size:12px; } .breadcrumbs a { color:var(--primary); }
#content { padding:30px; } #content h1 { color:var(--ink); font-size:27px; letter-spacing:-.8px; margin-bottom:24px; }
.module, .inline-group, #changelist .actions, #content-related { background:var(--panel); border:1px solid var(--line); border-radius:14px; box-shadow:0 5px 18px #2c14220a; overflow:hidden; }
.module h2,.module caption,.inline-group h2 { padding:13px 17px; background:transparent; color:var(--ink); border-bottom:1px solid var(--line); font-size:13px; font-weight:750; }
.module table { border-collapse:collapse; } .module td,.module th { border-bottom:1px solid var(--line); padding:13px 16px; } .module tr:last-child td,.module tr:last-child th { border-bottom:0; }
.module a,.addlink,.changelink { color:var(--primary); font-weight:650; } .module a:hover { color:var(--primary-dark); }
div.breadcrumbs + .main { padding-top:0; } #content-related { margin-left:20px; } #content-related .module { border:0; box-shadow:none; border-radius:0; }
div#changelist-filter { background:var(--panel); border:1px solid var(--line); border-radius:12px; } #changelist-filter h2 { background:var(--ink); border-radius:11px 11px 0 0; } #changelist-filter li.selected a { color:var(--primary); }
table thead th { background:#faf8fa; color:var(--muted); } html[data-theme="dark"] table thead th { background:#2a242e; } #result_list tbody tr:hover { background:var(--accent); }
input,textarea,select,.vTextField { border:1px solid var(--line); border-radius:8px; padding:9px 11px; background:var(--panel); color:var(--ink); } input:focus,textarea:focus,select:focus { outline:3px solid #e83e7b2b; border-color:var(--primary); }
.button, input[type=submit], input[type=button], .submit-row input, a.button { border:0; border-radius:8px; background:var(--primary); color:#fff; font-weight:700; padding:10px 15px; } .button:hover,input[type=submit]:hover,a.button:hover { background:var(--primary-dark); }
.submit-row { background:transparent; border:0; padding:16px 0 0; } .submit-row a.deletelink { border-radius:8px; }
.object-tools a { background:var(--primary); border-radius:8px; padding:10px 14px; } .object-tools a:hover { background:var(--primary-dark); }
.messagelist li { border-radius:9px; box-shadow:none; } .paginator a:link,.paginator a:visited { background:var(--primary); }
body.login { min-height:100vh; background:radial-gradient(circle at 8% 15%,#fccee0 0,transparent 28%),radial-gradient(circle at 85% 85%,#ddd0ff 0,transparent 30%),#f7f4f8; } body.login #header { position:absolute; width:100%; background:transparent; box-shadow:none; } body.login #content { padding:0; }
.login-shell { min-height:100vh; display:grid; grid-template-columns:1.1fr .9fr; align-items:center; gap:clamp(35px,8vw,130px); max-width:1120px; margin:auto; padding:110px 28px 50px; }
.login-intro { max-width:510px; } .eyebrow { color:var(--primary); font-size:11px; font-weight:800; letter-spacing:.13em; margin:0 0 14px; } .login-intro h1 { font-size:clamp(37px,5vw,62px)!important; line-height:1.03; margin:0 0 22px!important; color:#251422!important; } .login-intro > p:last-child { color:#6e5a68; font-size:17px; line-height:1.65; }
.login-card { padding:36px; background:#fff; border:1px solid #f0dce5; border-radius:20px; box-shadow:0 22px 60px #4d143126; } .login-card h2 { margin:0; color:#251422; font-size:28px; letter-spacing:-.6px; } .login-help { color:#766b73; margin:8px 0 27px; } .login-card .form-row { padding:0; margin:0 0 18px; border:0; } .login-card label { display:block; color:#3a2934; font-size:13px; font-weight:700; margin-bottom:7px; } .login-card input[type=text],.login-card input[type=password],.login-card input[type=email] { width:100%; height:45px; box-sizing:border-box; } .login-card .submit-row { margin:5px 0 0; text-align:stretch; } .login-card .submit-row input { width:100%; height:46px; } .login-card .errornote { margin:0 0 16px; border-radius:8px; }
@media (max-width:760px) { #header { padding:0 17px; } #content { padding:20px 14px; } .login-shell { grid-template-columns:1fr; gap:28px; padding-top:120px; } .login-intro h1 { font-size:39px!important; } .login-card { padding:26px; } #content-related { margin:20px 0 0; } }
