:root{
  --paper:#EFE9DC;
  --paper-card:#FBF8F1;
  --ink:#26231C;
  --ink-soft:#5B5648;
  --line:#D8CFB8;
  --line-strong:#B7AB88;
  --burgundy:#7A2E2E;
  --burgundy-dark:#5A2020;
  --green:#3B6B44;
  --green-bg:#E4EEDF;
  --amber:#96661A;
  --amber-bg:#F5E7C9;
  --red:#A13636;
  --red-bg:#F5DEDA;
  --shadow: 0 1px 2px rgba(38,35,28,0.08), 0 4px 14px rgba(38,35,28,0.06);
}
*{box-sizing:border-box;}
body{
  margin:0;
  background:var(--paper);
  background-image: radial-gradient(circle at 1px 1px, rgba(38,35,28,0.05) 1px, transparent 0);
  background-size: 22px 22px;
  color:var(--ink);
  font-family:'IBM Plex Sans', sans-serif;
  min-height:100vh;
  padding: 32px 20px 60px;
}
.wrap{max-width:1140px; margin:0 auto;}
header{ display:flex; align-items:flex-start; justify-content:space-between; margin-bottom:22px; flex-wrap:wrap; gap:8px; }
h1{ font-family:'Fraunces', serif; font-weight:600; font-style:italic; font-size:30px; margin:0; color:var(--ink); letter-spacing:-0.01em; }
.subtitle{ font-size:13px; color:var(--ink-soft); margin-top:4px;}
.identity-badge{ font-size:13px; color:var(--ink-soft); text-align:right; padding-top:4px; }
.identity-badge b{ color:var(--ink); font-weight:600; }
.identity-badge a{ color:var(--burgundy); cursor:pointer; text-decoration:none; margin-left:8px; font-weight:600; }
.identity-badge a:hover{ text-decoration:underline; }
.tabs{ display:flex; gap:2px; margin-bottom:0; position:relative; z-index:2; }
.tab-btn, .tab-link{
  font-family:'IBM Plex Sans', sans-serif; font-size:14px; font-weight:600; color:var(--ink-soft);
  background:#E3DBC6; border:1px solid var(--line-strong); border-bottom:none;
  padding:10px 22px 12px; border-radius:8px 8px 0 0; cursor:pointer; transform:translateY(2px);
  text-decoration:none; display:inline-block;
}
.tab-btn.active, .tab-link.active{ background:var(--paper-card); color:var(--ink); transform:translateY(0); box-shadow: 0 -2px 6px rgba(38,35,28,0.04); }
.panel{ background:var(--paper-card); border:1px solid var(--line-strong); border-radius:0 10px 10px 10px; box-shadow:var(--shadow); padding:28px 30px 30px; }
.section-title{ font-family:'Fraunces', serif; font-weight:600; font-size:17px; margin:0 0 16px; color:var(--ink); }
.field-grid{ display:grid; grid-template-columns:1fr 1fr; gap:16px 20px; margin-bottom:16px; }
.field{ display:flex; flex-direction:column; gap:6px; }
.field.full{ grid-column:1/-1; }
label{ font-size:12px; font-weight:600; color:var(--ink-soft); text-transform:uppercase; letter-spacing:0.03em;}
input[type=text], input[type=date], input[type=number], input[type=password], textarea, select{
  font-family:'IBM Plex Sans', sans-serif; font-size:14px; padding:9px 11px; border-radius:6px;
  border:1px solid var(--line-strong); background:#fff; color:var(--ink); outline:none;
}
input[readonly]{ background:#EFEAE0; color:var(--ink-soft); }
input:disabled{ background:#EFEAE0; color:#B7AB88; cursor:not-allowed; }
input:focus, textarea:focus, select:focus{ border-color:var(--burgundy); box-shadow:0 0 0 3px rgba(122,46,46,0.12); }
.hidden{ display:none !important; }
.btn{
  font-family:'IBM Plex Sans', sans-serif; font-weight:600; font-size:14px;
  padding:10px 20px; border-radius:6px; border:1px solid var(--burgundy);
  background:var(--burgundy); color:#F7EFE6; cursor:pointer; text-decoration:none; display:inline-block;
}
.btn:hover{ background:var(--burgundy-dark); }
.btn.ghost{ background:transparent; color:var(--burgundy); }
.btn.ghost:hover{ background:rgba(122,46,46,0.08); }
.btn.small{ padding:5px 11px; font-size:12px; }
.btn.danger{ border-color:var(--red); background:var(--red); }
.form-actions{ display:flex; gap:10px; margin-top:6px; align-items:center;}
.form-note{ font-size:12px; color:var(--ink-soft); margin-left:auto;}
.form-note.error{ color:var(--red); }
.alert{ padding:10px 14px; border-radius:6px; font-size:13px; margin-bottom:16px; }
.alert.error{ background:var(--red-bg); color:var(--red); border:1px solid var(--red); }
.alert.success{ background:var(--green-bg); color:var(--green); border:1px solid var(--green); }
hr.sep{ border:none; border-top:1px dashed var(--line-strong); margin:26px 0; }
table{ width:100%; border-collapse:collapse; font-size:13px; }
th{ text-align:left; font-size:11px; text-transform:uppercase; letter-spacing:0.03em; color:var(--ink-soft); font-weight:600; padding:8px 8px; border-bottom:2px solid var(--line-strong); }
td{ padding:7px 8px; border-bottom:1px solid var(--line); vertical-align:middle;}
tr:hover td{ background:rgba(122,46,46,0.03); }
td select, td input{ font-size:13px; padding:6px 8px; min-width:0; }
td select{ cursor:pointer; }
.col-statut select.st-attente{ color:var(--amber); border-color:var(--amber); }
.col-statut select.st-vendu{ color:var(--green); border-color:var(--green); font-weight:600; }
.col-statut select.st-perdu{ color:var(--red); border-color:var(--red); }
.ca-input{ width:100px; }
.raison-input{ width:100%; min-width:140px; }
.stamp{
  display:inline-block; font-family:'IBM Plex Mono', monospace; font-weight:500;
  font-size:10.5px; letter-spacing:0.06em; text-transform:uppercase;
  padding:3px 8px; border-radius:3px; border:1.5px solid; transform:rotate(-2deg);
}
.stamp.vendu{ color:var(--green); border-color:var(--green); background:var(--green-bg);}
.stamp.attente{ color:var(--amber); border-color:var(--amber); background:var(--amber-bg);}
.stamp.perdu{ color:var(--red); border-color:var(--red); background:var(--red-bg);}
.row-actions{ display:flex; gap:6px; align-items:center; }
.icon-btn{ border:1px solid var(--line-strong); background:#fff; border-radius:5px; width:26px; height:26px; cursor:pointer; font-size:12px; color:var(--ink-soft); display:flex; align-items:center; justify-content:center; }
.icon-btn:hover{ border-color:var(--burgundy); color:var(--burgundy); }
.empty{ text-align:center; padding:30px 0; color:var(--ink-soft); font-size:13px; font-style:italic;}
.filters{ display:flex; gap:14px; flex-wrap:wrap; align-items:flex-end; margin-bottom:22px; }
.filters .field{ min-width:150px; }
.stat-grid{ display:grid; grid-template-columns:repeat(auto-fit, minmax(150px,1fr)); gap:12px; margin-bottom:26px; }
.stat-card{ background:#fff; border:1px solid var(--line); border-radius:8px; padding:14px 16px; }
.stat-label{ font-size:11px; text-transform:uppercase; letter-spacing:0.03em; color:var(--ink-soft); margin-bottom:6px; font-weight:600;}
.stat-value{ font-family:'Fraunces', serif; font-size:22px; font-weight:600; color:var(--ink); }
.stat-value.accent{ color:var(--burgundy); }
.reasons-box{ background:#fff; border:1px solid var(--line); border-radius:8px; padding:14px 16px; margin-bottom:26px; }
.reason-line{ display:flex; justify-content:space-between; font-size:13px; padding:5px 0; border-bottom:1px solid var(--line); }
.reason-line:last-child{ border-bottom:none; }
.toolbar{ display:flex; justify-content:space-between; align-items:center; margin-bottom:14px; flex-wrap:wrap; gap:10px;}
.gate{ max-width:380px; margin:60px auto; text-align:center; }
.gate .section-title{ justify-content:center; }
.gate-note{ font-size:12px; color:var(--ink-soft); margin-top:14px; line-height:1.5; }
.center-screen{ display:flex; align-items:center; justify-content:center; min-height:60vh; }
.save-flash{ font-size:11px; color:var(--green); }
@media (max-width:640px){
  .field-grid{ grid-template-columns:1fr; }
  .panel{ padding:20px 16px; }
}
