:root{
  --black:#070707;
  --black2:#121212;
  --gold:#c9974a;
  --gold2:#f2d58b;
  --white:#f8f8f8;
  --muted:#8f8f8f;
  --danger:#dc3545;
  --success:#198754;
}
body{background:#f4f1ec;color:#1c1c1c;font-family:Arial,Helvetica,sans-serif}
.app-navbar{background:linear-gradient(90deg,#050505,#141414);border-bottom:2px solid var(--gold)}
.nav-logo{width:42px;height:42px;object-fit:cover;border-radius:8px}
.app-container{padding:28px}
.card{border:0;border-radius:18px;box-shadow:0 8px 28px rgba(0,0,0,.08)}
.card-header{background:#fff;border-bottom:1px solid #eee;border-radius:18px 18px 0 0!important;font-weight:700}
.btn-gold{background:linear-gradient(135deg,var(--gold),var(--gold2));color:#111;border:0;font-weight:700}
.btn-gold:hover{filter:brightness(1.05);color:#111}
.badge-gold{background:var(--gold);color:#111}
.table thead th{background:#111;color:#fff}
.form-control:focus,.form-select:focus{border-color:var(--gold);box-shadow:0 0 0 .2rem rgba(201,151,74,.25)}
.login-body{min-height:100vh;background:radial-gradient(circle at center,#1d1d1d,#020202);display:flex;align-items:center;justify-content:center;padding:24px}
.login-wrapper{width:100%;max-width:480px}
.login-card{background:#fff;border-radius:26px;padding:34px;text-align:center}
.login-logo{width:210px;max-width:75%;border-radius:20px;margin-bottom:14px}
.login-card h1{font-size:30px;font-weight:800}
.stat-card{background:#fff;border-left:6px solid var(--gold)}
.stat-value{font-size:28px;font-weight:800}
.small-muted{color:#777;font-size:13px}
.positive{color:var(--success);font-weight:700}
.negative{color:var(--danger);font-weight:700}
.page-title{font-weight:800;margin-bottom:22px}
.required::after{content:" *";color:#dc3545}
.print-area{background:#fff;padding:25px;border-radius:16px}
@media print{
  .app-navbar,.no-print,.btn{display:none!important}
  body{background:white}
  .app-container{padding:0}
  .print-area{box-shadow:none;border-radius:0}
}



/* Décompte annuel style document papier */
.decompte-sheet{
  background:#fff;
  max-width:1150px;
  margin:0 auto;
  padding:28px 26px 42px;
  color:#111;
  font-family:Arial, Helvetica, sans-serif;
  box-shadow:0 8px 28px rgba(0,0,0,.08);
}
.decompte-top{
  font-size:14px;
  margin-bottom:18px;
}
.decompte-title{
  font-weight:700;
  text-decoration:underline;
  border-bottom:2px solid #222;
  padding-bottom:8px;
  margin-bottom:18px;
  font-size:16px;
}
.decompte-table{
  width:100%;
  border-collapse:collapse;
  font-size:13px;
}
.decompte-table th{
  border-bottom:1.5px solid #222;
  padding:7px 6px;
  text-align:center;
  font-weight:700;
}
.decompte-table td{
  padding:6px 6px;
  vertical-align:middle;
}
.decompte-table .left{text-align:left}
.decompte-table .currency{width:40px;text-align:left}
.decompte-table .amount{text-align:right;white-space:nowrap}
.decompte-table .percent{text-align:center;width:42px}
.decompte-table .subtotal td{
  border-top:2px solid #222;
  font-weight:700;
}
.decompte-table .section-line td{
  border-top:2px solid #222;
  height:12px;
  padding:0;
}
.decompte-table .spacer td{
  height:28px;
  padding:0;
}
.decompte-table .total-final td{
  border:2px solid #222;
  font-weight:700;
  background:#f7f7f7;
}
.decompte-note{
  margin-top:32px;
  font-size:13px;
}
.decompte-note p{
  margin:28px 0;
}
@media print{
  @page { size:A4 landscape; margin:12mm; }
  .decompte-sheet{
    max-width:none;
    box-shadow:none;
    padding:0;
  }
  .decompte-table{font-size:11px}
}
