:root{
  --gold:#f0a500; --gold-light:#ffc533; --gold-dark:#c47f00;
  --dark:#0a0a0a; --dark-2:#111; --dark-3:#181818;
  --line:rgba(240,165,0,.15); --line-soft:rgba(255,255,255,.07);
  --gray:#8a8a8a; --gray-light:#b8b8b8; --white:#fff;
  --ok:#5ec27a; --warn:#e0b85a; --err:#e06a5a; --info:#5a9fe0;
}
*{margin:0;padding:0;box-sizing:border-box}
body{background:var(--dark);color:var(--white);font-family:'Segoe UI',system-ui,sans-serif;font-size:14px;line-height:1.5}
a{color:var(--gold)}
em{font-style:normal;color:var(--gold)}

/* Topbar */
.topbar{display:flex;align-items:center;gap:30px;padding:14px 30px;background:var(--dark-2);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:50}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--white);font-weight:700;font-size:18px;letter-spacing:1px}
.brand img{height:30px}
.topbar nav{display:flex;gap:8px;margin-left:10px}
.topbar nav a{padding:8px 16px;border-radius:6px;text-decoration:none;color:var(--gray-light);font-weight:600;transition:.2s}
.topbar nav a:hover{background:var(--dark-3);color:var(--white)}
.topbar nav a.active{background:rgba(240,165,0,.12);color:var(--gold)}
.logout{margin-left:auto;color:var(--gray);text-decoration:none;font-size:13px}
.logout:hover{color:var(--err)}

/* Content */
.content{max-width:1100px;margin:0 auto;padding:34px 30px 60px}
.adminfoot{text-align:center;color:var(--gray);font-size:12px;padding:24px;border-top:1px solid var(--line-soft)}

.page-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:26px;flex-wrap:wrap;gap:14px}
h1{font-size:26px;font-weight:700;letter-spacing:.5px}
h2{font-size:18px;margin:24px 0 12px;color:var(--gold-light)}
.muted{color:var(--gray)}

/* Buttons */
.btn{display:inline-flex;align-items:center;gap:8px;padding:10px 18px;border-radius:6px;border:1px solid var(--line);background:var(--dark-3);color:var(--white);font-size:13px;font-weight:600;text-decoration:none;cursor:pointer;transition:.2s}
.btn:hover{border-color:var(--gold);color:var(--gold)}
.btn-gold{background:var(--gold);border-color:var(--gold);color:#000}
.btn-gold:hover{background:var(--gold-light);color:#000}
.btn-sm{padding:6px 12px;font-size:12px}
.btn-danger:hover{border-color:var(--err);color:var(--err)}
.btn:disabled,.btn[disabled]{opacity:.4;cursor:not-allowed;pointer-events:none}

/* Tables */
table{width:100%;border-collapse:collapse;background:var(--dark-2);border-radius:10px;overflow:hidden}
th,td{padding:13px 16px;text-align:left;border-bottom:1px solid var(--line-soft)}
th{font-size:11px;letter-spacing:1.5px;text-transform:uppercase;color:var(--gray);font-weight:700}
tbody tr:hover{background:var(--dark-3)}
td.num,th.num{text-align:right;font-variant-numeric:tabular-nums}
tr:last-child td{border-bottom:none}

/* Status badges */
.badge{display:inline-block;padding:4px 11px;border-radius:20px;font-size:11px;font-weight:700;letter-spacing:.5px}
.badge.draft{background:rgba(138,138,138,.2);color:var(--gray-light)}
.badge.sent{background:rgba(90,159,224,.18);color:var(--info)}
.badge.paid{background:rgba(94,194,122,.18);color:var(--ok)}
.badge.cancelled{background:rgba(224,106,90,.15);color:var(--err)}
.badge.accepted{background:rgba(94,194,122,.18);color:var(--ok)}
.badge.declined{background:rgba(224,106,90,.15);color:var(--err)}

/* Forms */
.card{background:var(--dark-2);border:1px solid var(--line-soft);border-radius:12px;padding:26px;margin-bottom:22px}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.field{margin-bottom:16px}
.field label{display:block;font-size:12px;letter-spacing:1px;text-transform:uppercase;color:var(--gray);margin-bottom:6px}
.field input,.field select,.field textarea{width:100%;background:var(--dark-3);border:1px solid var(--line-soft);border-radius:6px;color:var(--white);padding:11px 14px;font-size:14px;font-family:inherit;outline:none;transition:.2s}
.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--gold)}
.field textarea{resize:vertical;min-height:70px}
.actions{display:flex;gap:12px;margin-top:10px}

/* Line items editor */
.items th{font-size:11px}
.items input{background:var(--dark-3);border:1px solid var(--line-soft);border-radius:5px;color:#fff;padding:9px 11px;width:100%;font-size:14px}
.items input:focus{border-color:var(--gold);outline:none}
.items td{vertical-align:middle}
.items .amount{width:130px}
.items .offered{text-align:center}

/* Status select — même base que le sélecteur d'année + accent couleur du statut */
.status-select{
  background:var(--dark-3);
  border:1px solid var(--line-soft);
  border-radius:6px;
  padding:8px 12px;
  color:#fff;
  font-weight:700;
  border-left-width:4px !important;
}
.status-select.s-draft{color:var(--gray-light);border-left-color:var(--gray) !important}
.status-select.s-sent{color:var(--info);border-left-color:var(--info) !important}
.status-select.s-paid{color:var(--ok);border-left-color:var(--ok) !important}
.status-select.s-cancelled{color:var(--err);border-left-color:var(--err) !important}
.status-select.s-accepted{color:var(--ok);border-left-color:var(--ok) !important}
.status-select.s-declined{color:var(--err);border-left-color:var(--err) !important}
.status-select option{background:var(--dark-3);color:#fff}

/* Alerts */
.alert{padding:13px 18px;border-radius:8px;margin-bottom:20px;font-size:13px}
.alert.ok{background:rgba(94,194,122,.12);color:var(--ok);border:1px solid rgba(94,194,122,.3)}
.alert.err{background:rgba(224,106,90,.12);color:var(--err);border:1px solid rgba(224,106,90,.3)}

/* Stat cards (dashboard) */
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:30px}
.stat{background:var(--dark-2);border:1px solid var(--line-soft);border-radius:12px;padding:20px}
.stat .n{font-size:30px;font-weight:700;color:var(--gold);line-height:1}
.stat .l{font-size:11px;letter-spacing:1.5px;text-transform:uppercase;color:var(--gray);margin-top:8px}

/* Login */
.login-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:20px}
.login-box{background:var(--dark-2);border:1px solid var(--line);border-radius:14px;padding:40px;width:100%;max-width:380px;text-align:center}
.login-box img{height:70px;margin-bottom:10px;filter:drop-shadow(0 0 20px rgba(240,165,0,.3))}
.login-box h1{font-size:20px;margin-bottom:24px}
.login-box .field{text-align:left}

@media(max-width:760px){
  .grid2,.stats{grid-template-columns:1fr}
  .topbar{gap:14px;padding:12px 16px;flex-wrap:wrap}
  .content{padding:24px 16px 50px}
}
