:root{
  --ink:#0b1f33;
  --muted:#5b6b7c;
  --paper:#f4f7fa;
  --white:#ffffff;
  --primary:#14669b;
  --primary-dark:#0b4771;
  --primary-soft:#dcecf8;
  --line:#d7e0e8;
  --danger:#a33131;
  --warning:#9a6500;
  --success:#176a45;
  --shadow:0 16px 45px rgba(11,31,51,.08);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.55 Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif}
a{color:var(--primary)}
.topbar{min-height:92px;padding:14px max(24px,calc((100vw - 1240px)/2));display:flex;align-items:center;justify-content:space-between;gap:34px;background:var(--ink);color:#fff;box-shadow:0 4px 18px rgba(11,31,51,.18)}
.brand{display:flex;align-items:center;gap:14px;color:#fff;text-decoration:none;min-width:255px}
.brand img{display:block;width:190px;height:58px;object-fit:contain;object-position:left center}
.brand span{font-size:.82rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;border-left:1px solid rgba(255,255,255,.28);padding-left:14px}
.topbar nav{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}
.topbar nav a,.link-button{color:#eaf5fc;text-decoration:none;background:none;border:0;border-radius:5px;font:inherit;font-size:.9rem;font-weight:650;cursor:pointer;padding:10px 12px;white-space:nowrap}
.topbar nav a:hover,.link-button:hover{background:rgba(255,255,255,.1);color:#fff}
.topbar nav .nav-login{border:1px solid rgba(255,255,255,.35)}
.topbar form{margin:0}
.container{width:min(1240px,calc(100% - 44px));margin:0 auto;min-height:calc(100vh - 170px);padding:54px 0 76px}
.hero{display:grid;grid-template-columns:1.15fr .85fr;gap:70px;align-items:center;padding:54px 0 86px}
.eyebrow{margin:0 0 12px;color:var(--primary);font-size:.76rem;letter-spacing:.15em;font-weight:850}
.hero h1,.page-head h1{font:clamp(2.5rem,5vw,4.8rem)/1.04 Georgia,"Times New Roman",serif;margin:0 0 24px;letter-spacing:-.035em}
.page-head h1{font-size:clamp(2.1rem,4vw,3.6rem)}
.lead,.page-head>p,.page-head div>p:last-child{color:var(--muted);font-size:1.12rem;max-width:720px}
.button{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:6px;padding:12px 18px;text-decoration:none;font:inherit;font-weight:750;cursor:pointer;transition:.15s ease}
.button:hover{transform:translateY(-1px)}
.primary{background:var(--primary);color:#fff}
.primary:hover{background:var(--primary-dark);color:#fff}
.secondary{background:var(--primary-soft);color:var(--primary-dark)}
.hero-card,.panel{background:var(--white);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:10px;padding:32px}
.hero-card{border-top:5px solid var(--primary)}
.step{display:flex;gap:18px;padding:20px 0;border-bottom:1px solid var(--line)}
.step:last-child{border:0}
.step b{display:grid;place-items:center;flex:0 0 36px;width:36px;height:36px;border-radius:50%;background:var(--primary-soft);color:var(--primary);font-size:.9rem}
.step span{display:flex;flex-direction:column}
.step small,.details small,td small,.help{color:var(--muted);display:block}
.features{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.features article{background:#fff;border:1px solid var(--line);border-top:4px solid var(--primary);border-radius:8px;padding:26px}
.features article>span{color:var(--primary);font-weight:850}
.features h2{font:1.5rem Georgia,serif;margin-bottom:8px}
.features p{color:var(--muted);margin-bottom:0}
.page-head{margin-bottom:34px}
.split{display:flex;justify-content:space-between;gap:30px;align-items:center}
.form-grid{display:grid!important;grid-template-columns:1fr 1fr;gap:22px}
.form-grid.compact{gap:15px}
.full{grid-column:1/-1}
label{display:flex;flex-direction:column;gap:7px;font-size:.88rem;font-weight:720}
input,select,textarea{width:100%;border:1px solid #aebdca;background:#fff;border-radius:6px;padding:12px 13px;color:var(--ink);font:inherit}
input:focus,select:focus,textarea:focus{outline:3px solid rgba(20,102,155,.16);border-color:var(--primary)}
textarea{resize:vertical}
.actions{align-items:flex-start}
.flash{padding:14px 18px;margin-bottom:20px;background:#fff;border:1px solid var(--line);border-left:5px solid var(--warning);border-radius:6px}
.flash.success{border-left-color:var(--success);background:#eef8f3}
.flash.error{border-left-color:var(--danger);background:#fff3f3}
.status{display:inline-flex;padding:8px 13px;border-radius:99px;font-weight:800;white-space:nowrap}
.status-todo{background:#eef1f4;color:#3f5263}
.status-study{background:#fff2cc;color:#795300}
.status-progress{background:var(--primary-soft);color:var(--primary-dark)}
.status-done{background:#dff2e8;color:var(--success)}
.status-select{min-width:132px;padding:8px 30px 8px 10px;font-weight:750;border:0;border-radius:6px}
.details{display:grid;grid-template-columns:repeat(4,1fr);gap:25px}
.details div{display:flex;flex-direction:column}
.details p{white-space:pre-wrap;margin-bottom:0}
.details a{font-size:.9rem}
.request-overview{margin-bottom:22px}
.section-title{font:2rem Georgia,serif;margin:50px 0 18px}
.timeline-item{display:grid;grid-template-columns:130px 1fr;gap:25px;padding:22px;border-top:1px solid var(--line);background:#fff}
.timeline-item:last-of-type{border-bottom:1px solid var(--line)}
.timeline-item time{color:var(--primary);font-weight:800}
.timeline-item h3{margin:0}
.timeline-item p{white-space:pre-wrap;margin-bottom:6px}
.empty{color:var(--muted);padding:34px!important;text-align:center}
.login-wrap{max-width:500px;margin:50px auto}
.login{display:flex;flex-direction:column;gap:20px}
.login h1{font:3rem Georgia,serif;margin:0}
.login p{color:var(--muted);margin:0}
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;margin-bottom:25px}
.status-stats a{display:block;background:var(--ink);color:#fff;padding:22px;border-radius:8px;text-decoration:none;border-bottom:4px solid var(--primary)}
.status-stats a:hover{background:#102b45}
.stats small,.stats strong{display:block}
.stats small{color:#bed1df}
.stats strong{font:2rem Georgia,serif}
.toolbar{display:flex;justify-content:space-between;align-items:end;gap:20px;margin:25px 0}
.toolbar form{display:flex;align-items:end;gap:10px}
.time-summary{display:flex;gap:10px;flex-wrap:wrap;margin:0 0 18px}
.time-summary span{background:#fff;border:1px solid var(--line);border-radius:99px;padding:8px 13px;color:var(--muted)}
.time-summary strong{color:var(--ink)}
.table-wrap{overflow:auto;background:#fff;border:1px solid var(--line);border-radius:9px;box-shadow:0 8px 28px rgba(11,31,51,.04)}
table{width:100%;border-collapse:collapse}
th,td{text-align:left;padding:15px;border-bottom:1px solid var(--line);vertical-align:middle}
tr:last-child td{border-bottom:0}
th{font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);background:#f8fafc}
td a{font-weight:750}
td small{font-size:.8rem;margin-top:3px}
.status-form{margin:0!important}
.status-form select{width:auto}
.text-link{white-space:nowrap}
.priority{font-size:.82rem;font-weight:750}
.priority-urgente{color:var(--danger)}
.priority-haute{color:var(--warning)}
.two-cols{display:grid;grid-template-columns:.85fr 1.15fr;gap:22px}
.action-panels .panel{height:max-content}
.panel h2{font:1.8rem Georgia,serif;margin-top:0}
.panel form{display:flex;flex-direction:column;gap:15px}
.panel hr{border:0;border-top:1px solid var(--line);margin:25px 0}
dl{display:grid;grid-template-columns:130px 1fr}
dt{color:var(--muted)}
dd{font-weight:700}
.status-track{display:grid;grid-template-columns:repeat(4,1fr);gap:0;list-style:none;padding:0;margin:0 0 25px}
.status-track li{position:relative;display:flex;align-items:center;gap:9px;background:#fff;border:1px solid var(--line);border-right:0;padding:14px 16px;color:var(--muted)}
.status-track li:first-child{border-radius:8px 0 0 8px}
.status-track li:last-child{border-right:1px solid var(--line);border-radius:0 8px 8px 0}
.status-track li span{width:10px;height:10px;border-radius:50%;background:#b7c2cc}
.status-track li.current{color:var(--primary-dark);background:var(--primary-soft);font-weight:800}
.status-track li.current span{background:var(--primary)}
.status-track li.reached{color:var(--success);background:#eef8f3}
.settings-layout{display:grid;grid-template-columns:360px 1fr;gap:22px;align-items:start}
.settings-layout .panel form{display:grid;gap:15px}
.settings-layout .table-wrap form{margin:0}
.text-button{border:0;background:none;color:var(--primary);font:inherit;font-weight:750;cursor:pointer;padding:4px}
.inactive{opacity:.55}
.mail-info{margin-top:22px}
.mail-info p{margin:8px 0}
footer{text-align:center;padding:26px;color:var(--muted);font-size:.85rem;border-top:1px solid var(--line)}
@media(max-width:1050px){
  .topbar{align-items:flex-start;flex-direction:column;gap:8px}
  .topbar nav{justify-content:flex-start}
}
@media(max-width:800px){
  .topbar{padding:14px 18px}
  .brand img{width:165px}
  .topbar nav{gap:2px}
  .topbar nav a,.link-button{font-size:.82rem;padding:8px}
  .hero,.features,.two-cols,.settings-layout{grid-template-columns:1fr}
  .hero{gap:30px;padding-top:20px}
  .form-grid,.details{grid-template-columns:1fr!important}
  .full{grid-column:auto}
  .split{align-items:flex-start;flex-direction:column}
  .stats{grid-template-columns:1fr 1fr}
  .toolbar,.toolbar form{align-items:stretch;flex-direction:column}
  .timeline-item{grid-template-columns:1fr;gap:4px}
  .status-track{grid-template-columns:1fr 1fr}
  .status-track li{border:1px solid var(--line);border-radius:0!important}
  .container{width:min(100% - 24px,1240px);padding-top:30px}
}
@media(max-width:520px){
  .brand span{display:none}
  .stats,.status-track{grid-template-columns:1fr}
  .topbar nav{display:grid;grid-template-columns:1fr 1fr;width:100%}
}
