/* =========================================================
   STYLE.CSS — Thème PRO (inventaire)
   (menu du haut + base + filtres + tableau + boutons + modal)
   ========================================================= */

/* 1) Palette PRO */
:root{
  --bg:#f6f8fc;
  --card:#ffffff;
  --text:#0b1220;
  --muted:#5b6475;
  --border:#e6e9f2;
  --border2:#d7ddea;
  --head:#f2f4f8;
  --hover:#f7f9fc;
  --accent:#0b57d0;
  --shadow:0 14px 34px rgba(11,18,32,.10);
}

*{box-sizing:border-box}
html,body{height:100%}
body{
  font-family: Arial, Helvetica, sans-serif;
  margin: 20px;
  background: var(--bg);
  color: var(--text);
}
a{color:var(--accent);text-decoration:none}
a:hover{text-decoration:underline}
h1{margin:0 0 12px;font-size:44px;letter-spacing:-.5px}
.muted{color:var(--muted);font-size:12px}

/* =========================================================
   2) MENU DU HAUT (Topbar)
   ========================================================= */
.topbar{
  position: sticky;
  top: 0;
  z-index: 1000;
  background: rgba(255,255,255,.82);
  backdrop-filter: blur(10px);
  border-bottom: 1px solid var(--border);
}
.topbar__inner{
  max-width: 1200px;
  margin: 0 auto;
  padding: 12px 16px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}
.topbar__brand{
  font-weight: 800;
  color: var(--text);
  letter-spacing: .2px;
  font-size: 18px;
  display: flex;
  align-items: center;
  gap: 10px;
  white-space: nowrap;
}
.topbar__brand::before{
  content:"";
  width: 10px;
  height: 10px;
  border-radius: 999px;
  background: var(--accent);
  box-shadow: 0 0 0 4px rgba(11,87,208,.14);
}

/* nav container */
.nav{
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 6px;
  background: #fff;
  border: 1px solid var(--border);
  border-radius: 16px;
  box-shadow: 0 10px 22px rgba(11,18,32,.08);
}

/* liens */
.nav__link{
  display: inline-flex;
  align-items: center;
  padding: 10px 14px;
  border-radius: 14px;
  text-decoration: none;
  font-weight: 800;
  color: var(--muted);
  transition: background .15s ease, color .15s ease, transform .08s ease, box-shadow .15s ease;
}
.nav__link:hover{
  background: rgba(11,87,208,.08);
  color: var(--text);
  text-decoration: none;
}
.nav__link:active{
  transform: translateY(1px);
}

/* actif */
.nav__link.is-active,
.nav__link[aria-current="page"]{
  background: rgba(11,87,208,.12);
  color: var(--accent);
  box-shadow: inset 0 0 0 1px rgba(11,87,208,.22);
}

/* focus clavier */
.nav__link:focus-visible{
  outline: none;
  box-shadow: 0 0 0 4px rgba(11,87,208,.18);
}

/* mobile */
@media (max-width: 640px){
  h1{font-size:36px}
  .topbar__inner{
    flex-direction: column;
    align-items: stretch;
  }
  .nav{
    justify-content: space-between;
  }
  .nav__link{
    flex: 1;
    justify-content: center;
  }
}

/* =========================================================
   3) CONTENEUR (si tu l’utilises)
   ========================================================= */
.container{
  max-width: 1200px;
  margin: 0 auto;
}

/* =========================================================
   4) BARRE ACTIONS (filtres)
   ========================================================= */
.actions{
  display:flex;
  gap:10px;
  align-items:center;
  margin: 10px 0 18px;
  flex-wrap:wrap;
  padding: 14px;
  border: 1px solid var(--border);
  border-radius: 16px;
  background: var(--card);
  box-shadow: var(--shadow);
}

.actions input,
.actions select{
  padding: 12px 14px;
  border: 1px solid var(--border2);
  border-radius: 12px;
  background: #fff;
  outline: none;
  transition: border-color .15s ease, box-shadow .15s ease;
  min-height: 44px;
}

.actions input{
  min-width: 260px;
}

.actions select{
  min-width: 180px;
}

.actions input:focus,
.actions select:focus{
  border-color: rgba(11,87,208,.45);
  box-shadow: 0 0 0 4px rgba(11,87,208,.12);
}

.actions button{
  padding: 12px 16px;
  min-height: 44px;
  border: 1px solid var(--accent);
  border-radius: 12px;
  background: var(--accent);
  color: #fff;
  font-weight: 800;
  cursor: pointer;
  transition: filter .15s ease, transform .05s ease, box-shadow .15s ease;
  box-shadow: 0 10px 18px rgba(11,87,208,.18);
}
.actions button:hover{filter:brightness(.96)}
.actions button:active{transform:translateY(1px)}
.actions button:focus-visible{
  outline:none;
  box-shadow: 0 0 0 4px rgba(11,87,208,.18), 0 10px 18px rgba(11,87,208,.18);
}

.badge{
  display:inline-flex;
  align-items:center;
  padding: 10px 14px;
  min-height: 44px;
  border: 1px solid var(--border);
  border-radius: 999px;
  background: #fff;
  font-size: 14px;
  font-weight: 700;
  color: var(--accent);
  text-decoration: none;
}
.badge:hover{
  background: rgba(11,87,208,.06);
  text-decoration: none;
}

/* =========================================================
   5) TABLEAU “CARD”
   ========================================================= */
.table-wrap{
  background: var(--card);
  border: 1px solid var(--border);
  border-radius: 18px;
  box-shadow: var(--shadow);
  overflow:auto;
}

table{
  border-collapse: separate;
  border-spacing: 0;
  width: 100%;
  min-width: 920px;
}

th, td{
  border-bottom: 1px solid var(--border);
  padding: 12px 14px;
  vertical-align: top;
}

th{
  position: sticky;
  top: 0;
  z-index: 2;
  background: var(--head);
  text-align: left;
  font-weight: 900;
  color: var(--text);
  border-bottom: 1px solid var(--border2);
  white-space: nowrap;
}

tbody tr:nth-child(even) td{background:#fbfcff}
tbody tr:hover td{background: var(--hover)}
.right{text-align:right;white-space:nowrap}

/* tri */
th a{color:inherit;text-decoration:none}
th a:hover{text-decoration:underline}

/* images */
.thumb{
  width: 120px;
  height: auto;
  display: block;
  border: 1px solid var(--border);
  border-radius: 12px;
  background:#fff;
}


.btn-black{
  appearance:none;
  border:1px solid #0b1220;
  background:#0b1220;
  color:#fff;
  padding:10px 16px;
  border-radius: 14px;
  font-weight: 900;
  cursor:pointer;
  transition: background .15s ease, box-shadow .15s ease, transform .05s ease;
}
.btn-black:hover{background:#0f172a}
.btn-black:active{transform:translateY(1px)}
.btn-black:focus-visible{
  outline:none;
  box-shadow:0 0 0 4px rgba(11,18,32,.18);
}

.btn-black-outline{
  border:1px solid #0b1220;
  background:#fff;
  color:#0b1220;
  padding:10px 16px;
  border-radius: 14px;
  font-weight: 900;
  cursor:pointer;
  transition: background .15s ease, color .15s ease;
}

.btn-black-outline:hover{
  background:#0b1220;
  color:#fff;
}


.modal{
  position:fixed;
  inset:0;
  background:rgba(0,0,0,.82);
  display:none;
  align-items:center;
  justify-content:center;
  padding:20px;
  z-index:9999;
}

.modal.open{display:flex}
.modal img{
  max-width:95vw;
  max-height:90vh;
  border-radius:16px;
  border:1px solid rgba(255,255,255,.2);
}

.modal .close{
  position:absolute;
  top:12px;
  right:16px;
  color:#fff;
  font-size:28px;
  cursor:pointer;
  user-select:none;
}

.modal .hint{
  position:absolute;
  bottom:12px;
  left:16px;
  color:#fff;
  font-size:12px;
  opacity:.8;
}



table{
  font-size: 14px;  
}

th{
  font-size: 14px;
  padding: 10px 12px;
}

td{
  font-size: 14px;
  padding: 10px 12px;
  line-height: 1.25;
}


.table-compact table{ font-size: 13px; }
.table-compact th,
.table-compact td{ padding: 8px 10px; }

.badge-inventaire { background:#e6f0ff; color:#1d4ed8; }
.badge-vendu { background:#fee2e2; color:#991b1b; }


.prio.is-saved{
  border: 2px solid #22c55e;
  background: #f0fdf4;
  box-shadow: 0 0 0 3px rgba(34,197,94,.15);
  transition: border-color .15s ease, background-color .15s ease, box-shadow .15s ease;
}

.prio.is-saved:focus{
  outline: none;
  box-shadow: 0 0 0 4px rgba(34,197,94,.25);
}


.prio{
  width:70px;
  padding:6px 8px;
  border:1px solid #cfd4dc;
  border-radius:8px;
  background:#fff;
  font-size:14px;
}

.prio:focus{
  outline:none;
  border-color:#111;
  box-shadow:0 0 0 3px rgba(0,0,0,.12);
}


.prio.is-saved{
  border-color:#22c55e;
  background:#f0fdf4;
  box-shadow:0 0 0 3px rgba(34,197,94,.18);
}


.not-interested:checked ~ .prio,
tr.is-not-interested .prio{
  opacity:.55;
}


.chk{
  display:inline-flex;
  align-items:center;
  gap:8px;
  user-select:none;
  cursor:pointer;
  font-size:14px;
  white-space:nowrap;

.not-interested{
  width:16px;
  height:16px;
  accent-color:#111; 
}


.center{ text-align:center; }
.right{ text-align:right; }


.hint-sort{
  margin: 10px 0 14px;
  font-size: 14px;
  color: #444;
}
.hint-sort strong{
  color:#111;
}