/* Alchimia Aquatics — Admin (sobre & doré) */
:root{
  --gold:#8D6B31; --gold-lt:#B4883E; --gold-dk:#5F4821;
  --ink:#22252A; --ink-2:#2b2f35; --side:#1b1e22; --side-2:#24282e;
  --ivory:#FBF9F3; --panel:#F3EEE1; --card:#FFFFFF;
  --text:#26282C; --muted:#6a6b6a; --line:#e6e0d2; --line-dk:#33373d;
  --ok:#2f9e6b; --warn:#c9862f; --err:#cf4d33;
  --radius:10px; --shadow:0 1px 3px rgba(20,20,20,.06),0 8px 24px rgba(20,20,20,.05);
}
*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{font-family:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;
  background:var(--ivory);color:var(--text);font-size:15px;line-height:1.55;-webkit-font-smoothing:antialiased}
a{color:var(--gold-dk);text-decoration:none}
h1,h2,h3{font-family:Georgia,'Cormorant',serif;color:var(--ink);margin:0}

/* Layout */
.admin{display:flex;min-height:100vh}
.sidebar{width:244px;flex:0 0 244px;background:var(--side);color:#d7d2c6;position:fixed;inset:0 auto 0 0;
  display:flex;flex-direction:column;padding:0;z-index:30}
.sidebar .brand{display:flex;align-items:center;gap:10px;padding:20px 20px 16px;border-bottom:1px solid var(--line-dk)}
.sidebar .brand img{height:34px;width:auto}
.sidebar .brand b{font-family:Georgia,serif;color:#fff;font-size:16px;letter-spacing:.02em}
.nav{padding:12px 12px 24px;overflow-y:auto;flex:1}
.nav .grp{font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:#7d7a70;margin:16px 10px 6px}
.nav a{display:flex;align-items:center;gap:11px;padding:9px 12px;border-radius:8px;color:#cfcabd;font-size:14px;margin:1px 0}
.nav a .ic{width:18px;text-align:center;opacity:.9}
.nav a:hover{background:var(--side-2);color:#fff}
.nav a.active{background:linear-gradient(90deg,rgba(141,107,49,.28),rgba(141,107,49,.10));color:#fff;
  box-shadow:inset 3px 0 0 var(--gold-lt)}
.nav a .badge{margin-left:auto;background:var(--gold);color:#fff;border-radius:20px;font-size:11px;padding:1px 7px}

/* Main */
.main{margin-left:244px;flex:1;min-width:0;display:flex;flex-direction:column}
.topbar{height:62px;display:flex;align-items:center;gap:16px;padding:0 26px;background:rgba(251,249,243,.9);
  backdrop-filter:blur(6px);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20}
.topbar h1{font-size:19px}
.topbar .sp{flex:1}
.topbar .user{font-size:13px;color:var(--muted)}
.content{padding:26px;max-width:1180px;width:100%}

/* Buttons */
.btn{display:inline-flex;align-items:center;gap:7px;border:1px solid transparent;border-radius:8px;
  padding:9px 16px;font-size:14px;font-weight:600;cursor:pointer;background:var(--panel);color:var(--ink)}
.btn:hover{filter:brightness(.98)}
.btn-primary{background:var(--gold);color:#fff}
.btn-primary:hover{background:var(--gold-dk)}
.btn-ghost{background:transparent;border-color:var(--line)}
.btn-sm{padding:6px 11px;font-size:12.5px}

/* Cards & stats */
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:20px}
.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin-bottom:22px}
.stat{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:18px 20px}
.stat .lbl{font-size:12.5px;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}
.stat .val{font-family:Georgia,serif;font-size:28px;color:var(--ink);margin-top:6px}
.stat .val.gold{color:var(--gold)}
.stat .sub{font-size:12px;color:var(--muted);margin-top:2px}

/* Tables */
.table-wrap{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow)}
table.tbl{width:100%;border-collapse:collapse;font-size:14px}
table.tbl th{text-align:left;background:var(--panel);color:var(--ink-2);font-weight:600;padding:11px 14px;font-size:12.5px}
table.tbl td{padding:11px 14px;border-top:1px solid var(--line)}
table.tbl tr:hover td{background:#faf8f2}

/* Badges */
.badge{display:inline-block;border-radius:20px;font-size:11.5px;font-weight:600;padding:2px 9px}
.badge-gold{background:rgba(141,107,49,.14);color:var(--gold-dk)}
.badge-ok{background:rgba(47,158,107,.14);color:var(--ok)}
.badge-warn{background:rgba(201,134,47,.16);color:var(--warn)}

/* Forms */
.form-row{margin-bottom:14px}
.form-row label{display:block;font-size:13px;font-weight:600;color:var(--ink-2);margin-bottom:5px}
.input{width:100%;padding:10px 13px;border:1px solid var(--line);border-radius:8px;font-size:14.5px;background:#fff;color:var(--ink)}
.input:focus{outline:none;border-color:var(--gold);box-shadow:0 0 0 3px rgba(141,107,49,.12)}

/* Flash */
.flash{padding:11px 15px;border-radius:8px;margin-bottom:16px;font-size:14px;border:1px solid}
.flash.success{background:#eef6f0;border-color:#bfe0cd;color:#256e4a}
.flash.error{background:#fbeeea;border-color:#e6c3b7;color:#a23a25}

/* Login */
.login-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--ink)}
.login-card{background:var(--ivory);border-radius:14px;padding:38px 34px;width:340px;text-align:center;box-shadow:0 30px 60px rgba(0,0,0,.35)}
.login-card img{height:74px;margin-bottom:14px}
.login-card h1{font-size:19px;margin-bottom:20px;color:var(--ink)}

.empty{color:var(--muted);font-size:14px;padding:8px 0}

/* Toolbar (filtres liste) */
.toolbar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:16px}
.toolbar .grow{flex:1;min-width:200px}
.pills{display:flex;gap:6px}
.pill{padding:7px 13px;border-radius:20px;border:1px solid var(--line);background:#fff;color:var(--muted);font-size:13px}
.pill.active{background:var(--gold);color:#fff;border-color:var(--gold)}
.page-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px;gap:12px}

/* Badges catalogue */
.badge-new{background:rgba(141,107,49,.14);color:var(--gold-dk)}
.badge-promo{background:#fbeae4;color:#c0492b}
.badge-soldout{background:#eceaea;color:#6a6b6a}
.badge-top{background:var(--gold);color:#fff}
.b-on{background:rgba(47,158,107,.16);color:var(--ok)}
.b-off{background:#eceaea;color:#6a6b6a}

/* Prix */
.price{font-weight:600}
.price .old{color:var(--muted);text-decoration:line-through;font-weight:400;margin-right:6px}
.price .promo{color:#c0492b}

/* Vignette dans les tables */
.thumb{width:46px;height:46px;border-radius:7px;object-fit:cover;background:var(--panel);border:1px solid var(--line)}

/* Pagination */
.pagination{display:flex;gap:6px;align-items:center;margin-top:16px;justify-content:space-between}
.pagination .info{color:var(--muted);font-size:13px}
.pagination a,.pagination span{padding:6px 12px;border:1px solid var(--line);border-radius:7px;font-size:13px;background:#fff}
.pagination a:hover{border-color:var(--gold)}

/* Onglets (traductions) */
.tabs{display:flex;gap:4px;border-bottom:1px solid var(--line);margin-bottom:16px}
.tabs button{border:none;background:none;padding:9px 15px;font-size:13.5px;font-weight:600;color:var(--muted);cursor:pointer;border-bottom:2px solid transparent}
.tabs button.active{color:var(--gold-dk);border-bottom-color:var(--gold)}
.tabpane{display:none}
.tabpane.active{display:block}

/* Grille de formulaire */
.grid2{display:grid;grid-template-columns:2fr 1fr;gap:22px;align-items:start}
.grid-in-2{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.grid-in-3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:14px}
textarea.input{min-height:120px;resize:vertical;font-family:inherit}
.check{display:flex;align-items:center;gap:9px;font-size:14px;padding:6px 0}
.check input{width:17px;height:17px;accent-color:var(--gold)}
.hint{font-size:12px;color:var(--muted);margin-top:3px}

/* Images produit */
.img-grid{display:flex;gap:10px;flex-wrap:wrap;margin-top:10px}
.img-card{position:relative;width:96px;height:96px;border-radius:8px;overflow:hidden;border:1px solid var(--line)}
.img-card img{width:100%;height:100%;object-fit:cover}
.img-card .del{position:absolute;top:4px;right:4px;background:rgba(0,0,0,.6);color:#fff;border-radius:50%;width:22px;height:22px;
  display:flex;align-items:center;justify-content:center;font-size:13px;text-decoration:none}

/* Arbre catégories */
.cat-tree{list-style:none;padding:0;margin:0}
.cat-tree .row{display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid var(--line);border-radius:8px;background:#fff;margin-bottom:7px}
.cat-tree .child{margin-left:28px}
.cat-tree .nm{font-weight:600}
.cat-tree .row .sp{flex:1}
.diff-pos{color:var(--ok)} .diff-neg{color:var(--err)}

/* Éditeur de texte riche */
.rte-editor{border:1px solid var(--line);border-radius:8px;overflow:hidden;background:#fff}
.rte-toolbar{display:flex;gap:2px;flex-wrap:wrap;align-items:center;padding:6px;border-bottom:1px solid var(--line);background:var(--panel)}
.rte-b{border:none;background:transparent;padding:6px 9px;border-radius:6px;cursor:pointer;font-size:13px;color:var(--ink)}
.rte-b:hover{background:#fff;box-shadow:0 1px 2px rgba(0,0,0,.08)}
.rte-sep{width:1px;height:20px;background:var(--line);margin:0 4px}
.rte-content{min-height:260px;max-height:540px;overflow-y:auto;padding:14px 16px;font-size:14.5px;line-height:1.6;color:var(--ink)}
.rte-content:focus{outline:none}
.rte-content h2{font-size:20px;margin:12px 0 6px;font-family:Georgia,serif}
.rte-content h3{font-size:16px;margin:10px 0 6px;font-family:Georgia,serif}
.rte-content p{margin:0 0 8px}
.rte-content ul,.rte-content ol{margin:0 0 10px 22px}
.rte-content a{color:var(--gold-dk);text-decoration:underline}
@media(max-width:820px){.sidebar{transform:translateX(-100%);transition:.2s}.sidebar.open{transform:none}.main{margin-left:0}}
