/* Gladiatorus Manager — feuille de style commune à TOUTES les pages (Ludus, Gladiateurs,
   Entraînements, Courriers), strictement identique à l'identité visuelle de la page Arène
   (index.html) : mêmes variables de couleur, mêmes polices (Cinzel / EB Garamond), mêmes
   panneaux, mêmes bordures. */

:root{
  --bg:#141009;
  --panel:#1e1912;
  --panel-2:#241d14;
  --border:#3a2f1e;
  --gold:#c9a758;
  --gold-dim:#8a7340;
  --red:#9b2c2c;
  --red-bright:#c23a3a;
  --green:#4c8a4c;
  --text:#e9dfc9;
  --text-dim:#a89d84;
}
*{box-sizing:border-box;}
html,body{height:100%;margin:0;}
body{
  background:radial-gradient(ellipse at top, #241c12 0%, #0f0c08 70%);
  color:var(--text);
  font-family:'EB Garamond', serif;
  height:100vh;
  display:flex;
  flex-direction:column;
}
h1,h2,h3,.font-display{font-family:'Cinzel', serif;}

/* Top bar — identique à la page Arène */
.topbar{
  display:flex;align-items:center;justify-content:space-between;
  padding:14px 26px;
  background:linear-gradient(180deg,#1c1610,#171209);
  border-bottom:1px solid var(--border);
  flex-shrink:0;
  flex-wrap:wrap;gap:10px;
}
.brand{display:flex;align-items:center;gap:12px;}
.brand .crest{
  width:42px;height:42px;border-radius:50%;
  background:radial-gradient(circle at 35% 30%, #e2c07a, #8a6a2c 70%);
  border:1px solid var(--gold);
  display:flex;align-items:center;justify-content:center;
  overflow:hidden;
}
.brand .crest img{width:100%;height:100%;object-fit:contain;}
.brand-text .title{font-family:'Cinzel';font-weight:700;letter-spacing:1.5px;font-size:18px;color:var(--gold);}
.brand-text .subtitle{font-size:12px;color:var(--text-dim);letter-spacing:.5px;}

.topbar-center{display:flex;align-items:center;gap:10px;flex-wrap:wrap;}
.pill{
  font-family:'Cinzel';font-size:11px;letter-spacing:.8px;
  padding:5px 12px;border-radius:3px;border:1px solid transparent;
  display:flex;align-items:center;gap:6px;
}
.pill.red{background:var(--red);color:#f5e6c8;border-color:#d95c5c55;}
.pill.gold{background:var(--gold-dim);color:#241c10;border-color:#e2c98455;}
.pill.ghost{
  background:#2a2013;color:var(--text-dim);border-color:var(--border);
  font-family:'EB Garamond';letter-spacing:.3px;font-size:12.5px;
}
.date-text{color:var(--text-dim);font-size:13px;white-space:nowrap;}
.topbar-right{display:flex;align-items:center;gap:14px;font-size:13px;color:var(--text-dim);}
.topbar-right .user{font-style:italic;color:var(--text);}
.topbar-right .opts{
  border:1px solid var(--border);padding:5px 10px;border-radius:3px;
  font-family:'Cinzel';font-size:11px;letter-spacing:.5px;color:var(--text-dim);
}

/* Layout / sidebar — identique à la page Arène */
.layout{display:flex;flex:1;min-height:0;}
.sidebar{width:190px;background:#171209;border-right:1px solid var(--border);padding:18px 0;flex-shrink:0;}
.sidebar .section-label{
  padding:0 22px 10px;font-family:'Cinzel';font-size:10.5px;letter-spacing:1.5px;
  color:var(--gold-dim);text-transform:uppercase;
}
.sidebar .nav-item{
  display:flex;align-items:center;gap:10px;
  padding:11px 22px;font-size:14px;color:var(--text-dim);
  border-left:3px solid transparent;letter-spacing:.3px;
  text-decoration:none;
}
.sidebar .nav-item .ic{width:16px;text-align:center;opacity:.85;font-size:13px;}
.sidebar .nav-item:hover{color:var(--text);}
.sidebar .nav-item.active{
  color:var(--gold);border-left-color:var(--gold);
  background:linear-gradient(90deg, #2a2013, transparent);
}
.sidebar .nav-item.new::after{
  content:"nouveau";margin-left:auto;
  font-family:'Cinzel';font-size:8.5px;letter-spacing:.5px;
  background:var(--red-bright);color:#f5e6c8;padding:2px 6px;border-radius:8px;
}

.main{flex:1;min-height:0;padding:22px 26px;display:flex;flex-direction:column;gap:16px;overflow-y:auto;}

.section-title{
  display:flex;align-items:center;gap:10px;justify-content:space-between;
  font-family:'Cinzel';font-size:13px;letter-spacing:2px;color:var(--gold-dim);
  text-transform:uppercase;
}
.section-title .label{display:flex;align-items:center;gap:10px;}
.section-title .rule{flex:1;height:1px;background:var(--border);margin:0 14px;}
.section-title .tabs{display:flex;gap:16px;text-transform:none;letter-spacing:.4px;}
.section-title .tabs span{font-size:12px;color:var(--text-dim);padding-bottom:3px;}
.section-title .tabs span.active{color:var(--gold);border-bottom:1px solid var(--gold);}

.card{
  background:var(--panel);border:1px solid var(--border);border-radius:10px;
  box-shadow:0 10px 30px -12px #000000aa, inset 0 1px 0 #ffffff08;
}
.card-head{
  display:flex;justify-content:space-between;align-items:center;
  padding:12px 18px;border-bottom:1px solid var(--border);
  font-family:'Cinzel';font-size:12px;letter-spacing:1px;color:var(--gold-dim);text-transform:uppercase;
}

/* Ludus — cartes de stats */
.stats-row{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;}
.stat-card{
  background:var(--panel);border:1px solid var(--border);border-radius:10px;
  padding:14px 18px;box-shadow:0 10px 30px -12px #000000aa, inset 0 1px 0 #ffffff08;
}
.stat-card .label{
  font-size:11px;color:var(--text-dim);text-transform:uppercase;letter-spacing:1px;
  display:flex;align-items:center;gap:6px;margin-bottom:6px;
}
.stat-card .value{font-family:'Cinzel';font-size:22px;color:var(--gold);font-weight:700;}
.stat-card .value small{font-family:'EB Garamond';font-size:13px;color:var(--text-dim);font-weight:400;}

.two-col{display:grid;grid-template-columns:1.15fr 1fr;gap:16px;align-items:start;}

.event-row{
  display:flex;align-items:center;gap:14px;padding:11px 18px;border-bottom:1px solid var(--border);
}
.event-row:last-child{border-bottom:none;}
.event-date{width:82px;font-size:11px;color:var(--text-dim);flex-shrink:0;letter-spacing:.3px;}
.event-icon{
  width:26px;height:26px;border-radius:50%;background:var(--red);flex-shrink:0;
  display:flex;align-items:center;justify-content:center;font-size:12px;
}
.event-icon.market{background:var(--green);}
.event-info{flex:1;}
.event-info .t{font-weight:600;font-size:14px;color:var(--text);}
.event-info .s{font-size:12px;color:var(--text-dim);font-style:italic;}
.event-tag{
  font-family:'Cinzel';font-size:10.5px;letter-spacing:.8px;padding:4px 10px;border-radius:3px;
  border:1px solid var(--red-bright);color:#e6b9b9;
}
.event-tag.market{border-color:var(--green);color:#c9e0bd;}

.finance-tabs{display:flex;gap:8px;}
.finance-tabs span{
  font-size:11px;padding:4px 10px;border:1px solid var(--border);color:var(--text-dim);
}
.finance-tabs span.active{background:var(--gold-dim);color:#241c10;border-color:transparent;}
.finance-cols{display:grid;grid-template-columns:1fr 1fr;}
.finance-col{padding:14px 18px;min-height:220px;}
.finance-col + .finance-col{border-left:1px solid var(--border);}
.finance-col .title{font-size:11px;color:var(--text-dim);text-transform:uppercase;letter-spacing:1px;margin-bottom:10px;}
.finance-line{display:flex;justify-content:space-between;font-size:13.5px;padding:4px 0;color:var(--text);}
.finance-total{display:flex;justify-content:space-between;padding:10px 18px;border-top:1px solid var(--border);font-size:13px;color:var(--text-dim);}
.finance-total b{color:var(--gold);}
.bilan{
  display:flex;justify-content:space-between;padding:12px 18px;background:var(--panel-2);
  border-top:1px solid var(--border);border-radius:0 0 10px 10px;
  font-family:'Cinzel';letter-spacing:.5px;font-size:12px;color:var(--text-dim);
}
.bilan b{color:var(--red-bright);font-size:15px;}

/* Gladiateurs */
.glad-layout{display:grid;grid-template-columns:1fr 380px;gap:16px;height:calc(100vh - 150px);}
table.gtable{width:100%;border-collapse:collapse;}
table.gtable thead th{
  text-align:left;font-size:10.5px;color:var(--text-dim);text-transform:uppercase;letter-spacing:1px;
  padding:10px 16px;border-bottom:1px solid var(--border);
}
table.gtable tbody tr{border-bottom:1px solid var(--border);}
table.gtable tbody tr.selected{background:linear-gradient(90deg,#c9a75833,transparent);}
table.gtable tbody tr.warning{background:linear-gradient(90deg,#9b2c2c44,transparent);}
table.gtable td{padding:12px 16px;font-size:14px;vertical-align:middle;color:var(--text);}
table.gtable td .sub{display:block;font-size:11px;color:var(--text-dim);font-style:italic;}
.stars{color:var(--gold);letter-spacing:1px;font-size:12px;}
.stars .off{color:#4a4030;}
.hpbar{width:110px;height:6px;background:#0f0c07;border:1px solid var(--border);border-radius:3px;overflow:hidden;display:inline-block;vertical-align:middle;margin-right:8px;}
.hpbar span{display:block;height:100%;background:linear-gradient(90deg,#5aa85a,#7cc47c);}
.hpbar.mid span{background:linear-gradient(90deg,#b8942f,#d9b34a);}
.hpbar.low span{background:linear-gradient(90deg,#8f2c2c,#c23a3a);}
.badge{font-family:'Cinzel';font-size:10px;padding:3px 9px;border-radius:3px;letter-spacing:.6px;}
.badge.slave{background:#2a2013;color:var(--text-dim);border:1px solid var(--border);}
.badge.volunteer{background:#4c8a4c33;color:#c9e0bd;border:1px solid var(--green);}

.detail{padding:18px;display:flex;flex-direction:column;gap:16px;}
.detail-head{display:flex;align-items:center;gap:12px;}
.avatar{
  width:44px;height:44px;border-radius:50%;flex-shrink:0;
  background:radial-gradient(circle at 35% 30%, #d9bf87, #6b5426 75%);
  border:1px solid var(--gold);display:flex;align-items:center;justify-content:center;
  font-family:'Cinzel';font-weight:700;color:#241c10;font-size:13px;
}
.detail-head .name{font-family:'Cinzel';font-size:16px;font-weight:700;color:var(--text);}
.detail-tabs{display:flex;gap:18px;border-bottom:1px solid var(--border);}
.detail-tabs span{font-size:11.5px;color:var(--text-dim);text-transform:uppercase;letter-spacing:1px;padding-bottom:8px;}
.detail-tabs span.active{color:var(--gold);border-bottom:2px solid var(--gold);}
.kv-title{font-family:'Cinzel';font-size:10.5px;color:var(--gold-dim);text-transform:uppercase;letter-spacing:1px;margin-bottom:6px;}
.kv{display:flex;justify-content:space-between;font-size:13.5px;padding:5px 0;border-bottom:1px dashed var(--border);color:var(--text-dim);}
.kv span:last-child{color:var(--text);}
.attr-row{display:flex;align-items:center;gap:10px;font-size:11px;color:var(--text-dim);margin-bottom:8px;}
.attr-row .label{width:70px;flex-shrink:0;}
.attr-track{flex:1;height:5px;background:#0f0c07;border:1px solid var(--border);border-radius:3px;overflow:hidden;}
.attr-track span{display:block;height:100%;background:linear-gradient(90deg,#8a6a2c,var(--gold));}
.attr-row .val{width:22px;text-align:right;color:var(--text);}
.detail-actions{margin-top:auto;display:flex;gap:10px;}
.btn{
  flex:1;padding:10px;text-align:center;border:1px solid var(--border);border-radius:5px;
  font-family:'Cinzel';font-size:11px;letter-spacing:1px;color:var(--text-dim);background:#2a2214;
}
.btn.danger{background:linear-gradient(180deg,#a83232,#7c2323);color:#f5e6c8;border-color:#d95c5c66;}

/* Entraînements */
.week-wrap{overflow-x:auto;border:1px solid var(--border);border-radius:10px;}
table.week-table{border-collapse:collapse;width:100%;min-width:960px;}
table.week-table th, table.week-table td{border:1px solid var(--border);vertical-align:top;}
table.week-table thead th{
  padding:8px 6px;text-align:center;font-size:10.5px;color:var(--text-dim);
  text-transform:uppercase;letter-spacing:.5px;background:var(--panel-2);
}
table.week-table thead th.today{background:var(--red);color:#f5e6c8;}
table.week-table thead th .d{font-family:'Cinzel';font-size:16px;color:var(--gold);display:block;}
table.week-table thead th.today .d{color:#fff;}
.glad-cell{padding:8px 12px;background:var(--panel-2);min-width:150px;}
.glad-cell .n{font-size:13.5px;font-weight:600;color:var(--text);}
.glad-cell .mini{font-size:10px;color:var(--text-dim);}
.glad-cell .minibar{width:100%;height:3px;background:#0f0c07;margin:2px 0;}
.glad-cell .minibar span{display:block;height:100%;background:#7ec24d;}
.glad-cell .minibar.mor span{background:#d9b34a;}
.day-cell{padding:6px;font-size:10.5px;text-align:center;color:var(--text-dim);height:52px;background:var(--panel);}
.day-cell.combat{background:#9b2c2c33;color:#e6b9b9;font-family:'Cinzel';letter-spacing:.5px;font-size:10px;}
.day-cell.train-a{background:#4c6a8a33;color:#bcd6e6;}
.day-cell.train-b{background:#6a4c8a33;color:#d3bce6;}
.bottom-panels{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
.bottom-panels .card{padding:16px;min-height:150px;}
.bottom-panels h3{margin:0 0 10px;font-family:'Cinzel';font-size:11px;color:var(--gold-dim);text-transform:uppercase;letter-spacing:1px;}
.select{width:100%;background:var(--panel-2);border:1px solid var(--border);color:var(--text);padding:9px;font-family:'EB Garamond';font-size:13.5px;border-radius:4px;}

/* Courriers */
.mail-layout{display:grid;grid-template-columns:400px 1fr;gap:16px;height:calc(100vh - 130px);}
.mail-list{overflow-y:auto;}
.mail-item{padding:12px 16px;border-bottom:1px solid var(--border);}
.mail-item.selected{background:linear-gradient(90deg,#c9a75833,transparent);border-left:2px solid var(--gold);}
.mail-item .row1{display:flex;justify-content:space-between;align-items:baseline;}
.mail-item .t{font-family:'Cinzel';font-weight:600;font-size:12.5px;color:var(--text);letter-spacing:.4px;}
.mail-item .date{font-size:11px;color:var(--text-dim);}
.mail-item .preview{font-size:12.5px;color:var(--text-dim);margin-top:3px;line-height:1.4;}
.mail-item .tag{display:inline-block;margin-top:6px;font-family:'Cinzel';font-size:9.5px;padding:2px 8px;background:var(--gold-dim);color:#241c10;letter-spacing:.5px;border-radius:2px;}
.mail-item .tag.req{background:var(--red-bright);color:#f5e6c8;}
.mail-detail{padding:22px;}
.mail-detail .head{display:flex;align-items:center;gap:12px;margin-bottom:16px;padding-bottom:14px;border-bottom:1px solid var(--border);}
.mail-detail .icon{width:38px;height:38px;border-radius:50%;background:var(--panel-2);border:1px solid var(--gold-dim);display:flex;align-items:center;justify-content:center;}
.mail-detail h3{margin:0;font-family:'Cinzel';font-size:15px;color:var(--gold);letter-spacing:.5px;}
.mail-detail .date{font-size:12px;color:var(--text-dim);}
.mail-detail .body{font-size:14px;line-height:1.7;color:var(--text-dim);}
.mail-detail .body ul{padding-left:20px;}
.mail-detail .body li{margin-bottom:4px;}
