:root{
  --indigo:#20305A; --or:#C9A24B; --terracotta:#A8442E;
  --sable:#EFE9DC; --encre:#171B26; --indigo-clair:#93A0BE;
  --sans:"General Sans","Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  --gugi:"Gugi",var(--sans);
  --ligne:#e2ddd0;
}
*{box-sizing:border-box;}
body{margin:0;background:#f3efe6;color:var(--encre);font-family:var(--sans);}
a{color:var(--indigo);}

/* Barre de navigation */
.nav{background:var(--indigo);color:var(--sable);display:flex;align-items:center;
  padding:0 20px;height:60px;gap:22px;position:sticky;top:0;z-index:10;}
.nav .brand{display:flex;align-items:center;gap:9px;margin-right:8px;}
.nav .brand svg{width:24px;height:31px;}
.nav .brand span{font-family:var(--gugi);font-size:17px;letter-spacing:.05em;}
.nav a.link{color:var(--indigo-clair);text-decoration:none;font-weight:500;font-size:14px;
  padding:6px 2px;border-bottom:2px solid transparent;}
.nav a.link:hover{color:var(--sable);}
.nav a.link.on{color:var(--sable);border-bottom-color:var(--or);}
.nav .right{margin-left:auto;display:flex;align-items:center;gap:14px;font-size:13px;color:var(--indigo-clair);}
.nav .right a{color:var(--or);text-decoration:none;font-weight:600;}

.wrap{max-width:1000px;margin:0 auto;padding:26px 20px 60px;}
h1.page{font-size:24px;color:var(--indigo);margin:0 0 4px;}
.sub{color:#7a7568;font-size:14px;margin:0 0 22px;}

/* Cartes / stats */
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:26px;}
.card{background:#fff;border-radius:12px;padding:18px;box-shadow:0 3px 14px rgba(23,27,38,.06);}
.card .k{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:#8a8371;}
.card .v{font-size:26px;font-weight:700;color:var(--indigo);margin-top:6px;}
.card.pos .v{color:#2e7d4f;} .card.neg .v{color:var(--terracotta);}

/* Blocs */
.block{background:#fff;border-radius:12px;padding:20px;box-shadow:0 3px 14px rgba(23,27,38,.06);margin-bottom:22px;}
.block h2{font-size:13px;letter-spacing:.1em;text-transform:uppercase;color:var(--indigo);
  margin:0 0 14px;border-bottom:1px solid var(--ligne);padding-bottom:10px;}

/* Formulaires */
label{display:block;font-size:12px;color:#7a7568;margin:10px 0 5px;font-weight:600;}
input,select,textarea{width:100%;padding:9px 11px;border:1px solid #d8d2c4;border-radius:8px;
  font-family:var(--sans);font-size:14px;background:#fff;}
input:focus,select:focus,textarea:focus{outline:2px solid var(--or);outline-offset:1px;border-color:var(--or);}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
.grid3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px;}
.btn{padding:10px 18px;border:0;border-radius:9px;font-family:var(--sans);font-weight:600;
  font-size:14px;cursor:pointer;background:var(--or);color:var(--indigo);}
.btn:hover{filter:brightness(1.05);}
.btn-sec{background:transparent;color:var(--indigo);border:1px solid #d8d2c4;}
.btn-danger{background:transparent;color:var(--terracotta);border:1px solid #e3c4bc;padding:4px 10px;font-size:13px;}

/* Tables */
table{width:100%;border-collapse:collapse;}
thead th{text-align:left;font-size:11px;letter-spacing:.06em;text-transform:uppercase;
  color:#8a8371;padding:8px 10px;border-bottom:2px solid var(--ligne);}
thead th.num{text-align:right;}
tbody td{padding:10px;border-bottom:1px solid #f0ece2;font-size:14px;}
tbody td.num{text-align:right;white-space:nowrap;}
.tag{display:inline-block;font-size:11px;padding:2px 8px;border-radius:20px;font-weight:600;}
.tag.devis{background:#e7ecf6;color:var(--indigo);}
.tag.facture{background:#f6ead6;color:#8a6a1e;}
.tag.entree{background:#e3f1e8;color:#2e7d4f;}
.tag.depense{background:#f6e4df;color:var(--terracotta);}
.empty{color:#aaa;font-size:14px;padding:16px 4px;}
.flash{background:#e3f1e8;color:#2e7d4f;padding:10px 14px;border-radius:8px;font-size:14px;margin-bottom:16px;}

/* Connexion */
.login-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center;
  background:var(--indigo);}
.login-box{background:#fff;border-radius:16px;padding:38px 34px;width:340px;
  box-shadow:0 20px 60px rgba(0,0,0,.3);text-align:center;}
.login-box svg{width:46px;height:60px;margin-bottom:10px;}
.login-box .n{font-family:var(--gugi);font-size:24px;color:var(--indigo);letter-spacing:.05em;}
.login-box .t{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--terracotta);margin:4px 0 22px;}
.login-box input{margin-bottom:12px;text-align:left;}
.login-box .btn{width:100%;padding:12px;}
.login-box .err{color:var(--terracotta);font-size:13px;margin-bottom:12px;}

@media(max-width:760px){
  .cards,.grid2,.grid3{grid-template-columns:1fr;}
  .nav{gap:14px;overflow-x:auto;}
}
