:root{--bg:#f6f7fb;--card:#fff;--txt:#111827;--muted:#6b7280;--pri:#2563eb;--ok:#16a34a;--warn:#d97706;--err:#dc2626;--line:#e5e7eb}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--txt);font-family:system-ui,Segoe UI,Roboto,Helvetica,Arial}
.wrap{max-width:1000px;margin:24px auto;padding:0 16px}
.card{background:var(--card);border-radius:16px;box-shadow:0 4px 24px rgba(0,0,0,.08);padding:16px}
h1{font-size:22px;margin:8px 0 16px}h2{font-size:18px;margin:0 0 12px}label{font-size:14px;color:var(--muted)}
input,select,textarea,button{font-size:16px}input,select,textarea{width:100%;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:#fff}
button{border:0;border-radius:10px;padding:10px 14px;cursor:pointer}.row{display:grid;gap:12px}.row.cols-2{grid-template-columns:1fr 1fr}.row.cols-3{grid-template-columns:1fr 1fr 1fr}
.btn{background:var(--pri);color:#fff}.btn-ghost{background:#eef2ff;color:#111}.btn-ok{background:var(--ok);color:#fff}.btn-warn{background:var(--warn);color:#fff}.btn-err{background:var(--err);color:#fff}
table{width:100%;border-collapse:collapse}th,td{padding:10px;border-bottom:1px solid #eef2ff;text-align:left;font-size:14px}
.tag{font-size:12px;border-radius:999px;padding:4px 8px}.tag.capex{background:#dbeafe}.tag.opex{background:#ffedd5}.tag.income{background:#dcfce7}
tr.status-draft{background:#fff}tr.status-confirmed{background:#fffbeb}tr.status-approved{background:#ecfdf5}
.topbar{display:flex;gap:8px;align-items:center;justify-content:space-between;margin-bottom:12px}
.badge{padding:4px 10px;border-radius:999px;background:#eef2ff}
a{color:var(--pri);text-decoration:none}
.footer{color:var(--muted);font-size:12px;margin-top:16px}
.small{font-size:12px;color:var(--muted)}
/* --- Mobile-first fixes for the entry form & tables --- */
html, body { overflow-x: hidden; }
/* Stack inputs on small screens */
@media (max-width: 640px) {
  .row, .row.cols-2, .row.cols-3 { display: grid; grid-template-columns: 1fr; gap: 10px; }
  .card { padding: 14px; border-radius: 14px; }
  input, select, textarea { font-size: 16px; } /* prevents iOS zoom */
  button { width: 100%; }
  .topbar h1 { font-size: 20px; }
}
/* Tables: keep page fixed, make the table itself scrollable if needed */
.table-wrap { width: 100%; overflow-x: auto; -webkit-overflow-scrolling: touch; }
.table-wrap table { min-width: 720px; }  /* only wider than screen when necessary */
/* Consistent nav across pages */
.topbar.nav { display:flex; align-items:center; justify-content:space-between; gap:8px; margin-bottom:12px; flex-wrap:wrap }
.nav-left, .nav-right { display:flex; align-items:center; gap:10px; flex-wrap:wrap }
.brand { font-weight:600; padding:6px 8px; border-radius:8px; background:#f3f4f6 }
.nav-link { padding:6px 8px; border-radius:8px; text-decoration:none; border:1px solid transparent }
.nav-link.active { border-color:#e5e7eb; background:#f9fafb }
.who { font-size:12px; color:#6b7280 }
@media (max-width:640px){
  .topbar.nav { gap:6px }
  .nav-left .nav-link, .nav-left .brand { font-size:14px }
  .nav-right .who { font-size:12px }
  .btn-err { order: -1; } /* shows Déconnexion before the name on small screens */
}

