/* assets/css/admin.css — Le Petit Agenais Admin */

/* ── Réutilise les tokens de main.css ── */
:root{
  --blue:#1A56DB;--blue-d:#1347BF;--blue-l:#EBF2FF;--blue-gl:rgba(26,86,219,.12);
  --bg:#FFFFFF;--bg2:#F4F7FC;--bg3:#EDF1F8;
  --surf:#FFFFFF;--surf2:#F0F4FA;--bord:#DDE4EF;--bord2:#C5D2E6;
  --tx:#111827;--tx2:#374151;--mu:#6B7280;--mu2:#9CA3AF;
  --red:#DC2626;--red-l:#FEE2E2;--grn:#059669;--grn-l:#D1FAE5;
  --amb:#D97706;--amb-l:#FEF3C7;
  --sh-s:0 1px 3px rgba(0,0,0,.08);--sh:0 4px 16px rgba(0,0,0,.09);--sh-l:0 12px 40px rgba(0,0,0,.11);
  --r:10px;--rl:16px;
}
@media(prefers-color-scheme:dark){html[data-theme="auto"]{
  --bg:#070D1A;--bg2:#0C1526;--bg3:#111D30;--surf:#0F1A2E;--surf2:#152034;
  --bord:#1B2B42;--bord2:#223351;--tx:#F0F4FB;--tx2:#C8D5E8;--mu:#5B7099;--mu2:#3E5070;
  --sh-s:0 1px 3px rgba(0,0,0,.5);--sh:0 4px 16px rgba(0,0,0,.5);--sh-l:0 12px 40px rgba(0,0,0,.6);
  --blue-l:rgba(26,86,219,.14);--red-l:rgba(220,38,38,.14);--grn-l:rgba(5,150,105,.14);--amb-l:rgba(217,119,6,.14);
}}
html[data-theme="dark"]{
  --bg:#070D1A;--bg2:#0C1526;--bg3:#111D30;--surf:#0F1A2E;--surf2:#152034;
  --bord:#1B2B42;--bord2:#223351;--tx:#F0F4FB;--tx2:#C8D5E8;--mu:#5B7099;--mu2:#3E5070;
  --sh-s:0 1px 3px rgba(0,0,0,.5);--sh:0 4px 16px rgba(0,0,0,.5);--sh-l:0 12px 40px rgba(0,0,0,.6);
  --blue-l:rgba(26,86,219,.14);--red-l:rgba(220,38,38,.14);--grn-l:rgba(5,150,105,.14);--amb-l:rgba(217,119,6,.14);
}
*{margin:0;padding:0;box-sizing:border-box}
body{font-family:'DM Sans',sans-serif;background:var(--bg2);color:var(--tx);font-size:14px;line-height:1.5}

/* Layout */
.adm-wrap{display:grid;grid-template-columns:210px 1fr;min-height:100vh}
.adm-side{background:var(--surf);border-right:1px solid var(--bord);display:flex;flex-direction:column;position:sticky;top:0;height:100vh;overflow-y:auto}
.adm-con{padding:1.5rem;overflow:hidden;min-width:0}
.adm-top{padding:1.1rem 1.2rem 1rem;border-bottom:1px solid var(--bord);display:flex;align-items:center;gap:8px;flex-shrink:0}
.adm-lm{width:30px;height:30px;background:var(--blue);border-radius:7px;display:flex;align-items:center;justify-content:center;color:#fff;font-family:'Syne',sans-serif;font-weight:800;font-size:12px;flex-shrink:0}
.adm-lt{font-family:'Syne',sans-serif;font-size:13px;font-weight:700;color:var(--tx)}
.adm-lt span{display:block;font-size:10px;color:var(--mu);font-weight:400;letter-spacing:.03em}
.adm-sec{font-size:9px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--mu2);padding:.85rem 1.2rem .3rem}
.adm-lnk{display:flex;align-items:center;gap:8px;padding:7px 1.2rem;font-size:13px;color:var(--mu);cursor:pointer;transition:all .15s;border-right:2px solid transparent;text-decoration:none}
.adm-lnk:hover{color:var(--tx);background:var(--bg2)}
.adm-lnk.on{color:var(--blue);background:var(--blue-l);border-right-color:var(--blue);font-weight:500}
.adm-ico{font-size:14px;width:18px;text-align:center}
.adm-bge{margin-left:auto;font-size:10px;font-weight:600;padding:1px 6px;border-radius:100px}
.bge-a{background:var(--grn-l);color:var(--grn)}
.bge-w{background:var(--amb-l);color:var(--amb)}
.bge-b{background:var(--blue-l);color:var(--blue)}

/* Topbar */
.adm-bar{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:1.4rem;gap:1rem;flex-wrap:wrap}
.adm-bar-t{font-family:'Syne',sans-serif;font-size:1.25rem;font-weight:700;color:var(--tx)}
.adm-bar-s{font-size:12px;color:var(--mu);margin-top:2px}
.adm-acts{display:flex;gap:7px;flex-wrap:wrap}

/* Métriques */
.mets{display:grid;grid-template-columns:repeat(4,1fr);gap:11px;margin-bottom:1.4rem}
.met{background:var(--surf);border:1px solid var(--bord);border-radius:var(--r);padding:.95rem 1.05rem;position:relative;overflow:hidden;text-decoration:none;display:block;color:inherit;transition:box-shadow .15s}
.met:hover{box-shadow:var(--sh-s)}
.met::before{content:'';position:absolute;top:0;left:0;right:0;height:2px}
.mt-b::before{background:var(--blue)}.mt-g::before{background:var(--grn)}.mt-a::before{background:var(--amb)}.mt-r::before{background:var(--red)}
.met-l{font-size:11px;color:var(--mu);font-weight:500;margin-bottom:4px}
.met-v{font-family:'Syne',sans-serif;font-size:1.75rem;font-weight:800;color:var(--tx);line-height:1}
.met-d{font-size:11px;margin-top:3px;font-weight:500}
.dg{color:var(--grn)}.dr{color:var(--red)}.db{color:var(--blue)}
.mchart{display:flex;align-items:flex-end;gap:2px;height:40px;margin-top:7px}
.mbar{border-radius:2px 2px 0 0;flex:1;min-height:4px}

/* Import queue */
.iq{background:var(--surf);border:1px solid var(--bord);border-radius:var(--r);overflow:hidden;margin-bottom:1.4rem}
.iq-hdr{display:flex;align-items:center;gap:9px;padding:.8rem 1.1rem;border-bottom:1px solid var(--bord);background:var(--amb-l);flex-wrap:wrap}
.iq-cnt{font-size:10px;font-weight:700;padding:2px 7px;border-radius:100px;background:var(--amb);color:#fff;flex-shrink:0}
.iq-ttl{font-size:13px;font-weight:600;color:var(--amb)}
.iq-row{display:flex;align-items:center;gap:11px;padding:9px 1.1rem;border-bottom:1px solid var(--bord);flex-wrap:wrap}
.iq-row:last-child{border:none}
.iq-src{font-size:10px;color:var(--mu);background:var(--bg2);padding:2px 8px;border-radius:4px;border:1px solid var(--bord);flex-shrink:0}
.iq-nm{font-size:13px;font-weight:500;color:var(--tx);flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.iq-dt{font-size:11px;color:var(--mu);flex-shrink:0}
.iq-acts{display:flex;gap:4px;flex-shrink:0}

/* Table */
.tbl-wrap{background:var(--surf);border:1px solid var(--bord);border-radius:var(--r);overflow:hidden;margin-bottom:1.4rem}
.tbl-hdr{display:flex;align-items:center;justify-content:space-between;padding:.8rem 1.1rem;border-bottom:1px solid var(--bord);flex-wrap:wrap;gap:8px}
.tbl-ttl{font-size:13px;font-weight:600;color:var(--tx)}
.tbl-acts{display:flex;gap:7px;align-items:center;flex-wrap:wrap}
.tbl-search{border:1px solid var(--bord);border-radius:7px;padding:6px 11px;font-size:12px;background:var(--bg2);color:var(--tx);outline:none;font-family:'DM Sans',sans-serif;width:160px}
.tbl-search::placeholder{color:var(--mu2)}
.tbl-search:focus{border-color:var(--blue)}
table{width:100%;border-collapse:collapse;overflow-x:auto}
th{font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--mu);padding:8px 13px;text-align:left;background:var(--bg2);border-bottom:1px solid var(--bord);white-space:nowrap}
td{font-size:13px;color:var(--tx2);padding:10px 13px;border-bottom:1px solid var(--bord);vertical-align:middle}
tr:last-child td{border:none}
tr:hover td{background:var(--bg2)}
.td-nm{font-weight:500;color:var(--tx);display:flex;align-items:center;gap:7px}
.td-ph{width:30px;height:30px;border-radius:6px;background:var(--blue-l);display:flex;align-items:center;justify-content:center;font-size:13px;flex-shrink:0;object-fit:cover}
.spl{font-size:10px;font-weight:600;padding:3px 9px;border-radius:100px;white-space:nowrap}
.spl-ok{background:var(--grn-l);color:var(--grn)}
.spl-pe{background:var(--amb-l);color:var(--amb)}
.spl-dr{background:var(--bg3);color:var(--mu)}
.td-acts{display:flex;gap:4px}
.abt{width:27px;height:27px;border-radius:6px;border:1px solid var(--bord);background:transparent;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;font-size:12px;transition:all .15s;color:var(--mu);text-decoration:none}
.abt:hover{background:var(--bg2);color:var(--tx)}
.abt.ed:hover{background:var(--blue-l);color:var(--blue);border-color:rgba(26,86,219,.3)}
.abt.dl:hover{background:var(--red-l);color:var(--red);border-color:rgba(220,38,38,.3)}

/* Formulaire édition */
.form-card{background:var(--surf);border:1px solid var(--bord);border-radius:var(--rl);overflow:hidden}
.form-section{padding:1.25rem 1.5rem;border-bottom:1px solid var(--bord)}
.form-section:last-child{border:none}
.form-section-title{font-family:'Syne',sans-serif;font-size:12px;font-weight:700;color:var(--tx);letter-spacing:.04em;text-transform:uppercase;margin-bottom:.9rem}
.fgrid{display:grid;grid-template-columns:1fr 1fr;gap:13px}
.fg{display:flex;flex-direction:column;gap:5px}
.fg.full{grid-column:span 2}
label{font-size:12px;font-weight:500;color:var(--tx2);letter-spacing:.02em}
.fi{width:100%;border:1.5px solid var(--bord);border-radius:8px;padding:9px 12px;font-size:13px;font-family:'DM Sans',sans-serif;color:var(--tx);background:var(--surf);outline:none;transition:border-color .15s}
.fi:focus{border-color:var(--blue);box-shadow:0 0 0 3px var(--blue-gl)}
.fi option{background:var(--surf)}
textarea.fi{resize:vertical;min-height:90px}
.img-drop{border:2px dashed var(--bord2);border-radius:9px;height:72px;display:flex;align-items:center;justify-content:center;color:var(--mu);font-size:13px;cursor:pointer;transition:all .15s;margin-bottom:12px;background:var(--bg2)}
.img-drop:hover{border-color:var(--blue);color:var(--blue);background:var(--blue-l)}
.modal-foot{display:flex;gap:7px;justify-content:flex-end;padding-top:.9rem;border-top:1px solid var(--bord);margin-top:.9rem;flex-wrap:wrap}

/* Boutons */
.btn-p{background:var(--blue);color:#fff;border:none;padding:8px 17px;border-radius:8px;font-size:13px;font-weight:500;cursor:pointer;font-family:'DM Sans',sans-serif;transition:background .15s;text-decoration:none;display:inline-block;white-space:nowrap}
.btn-p:hover{background:var(--blue-d)}
.btn-xs{padding:5px 12px;border-radius:6px;font-size:12px;font-weight:500;cursor:pointer;font-family:'DM Sans',sans-serif;border:none;text-decoration:none;display:inline-block;white-space:nowrap}
.bxs-g{background:var(--grn-l);color:var(--grn);border:1px solid rgba(5,150,105,.2)}
.bxs-n{background:transparent;color:var(--mu);border:1px solid var(--bord)}

/* Flash */
.flash{padding:.75rem 1.25rem;border-radius:8px;font-size:13px}
.flash-success{background:var(--grn-l);color:var(--grn);border:1px solid rgba(5,150,105,.25)}
.flash-error{background:var(--red-l);color:var(--red);border:1px solid rgba(220,38,38,.25)}

/* Pagination */
.pagination{display:flex;gap:5px;justify-content:center}
.pag-btn{padding:5px 10px;border-radius:6px;border:1px solid var(--bord);font-size:12px;color:var(--mu);text-decoration:none;transition:all .15s}
.pag-btn:hover,.pag-btn.on{background:var(--blue);color:#fff;border-color:var(--blue)}

/* Chip */
.chip{display:inline-block;font-size:10px;font-weight:600;padding:3px 8px;border-radius:5px;border:1px solid transparent}
.ch-b{background:var(--blue-l);color:var(--blue);border-color:rgba(26,86,219,.2)}
.ch-g{background:var(--grn-l);color:var(--grn);border-color:rgba(5,150,105,.2)}
.ch-a{background:var(--amb-l);color:var(--amb);border-color:rgba(217,119,6,.2)}
.ch-p{background:#EDE9FE;color:#7C3AED;border-color:rgba(124,58,237,.2)}
.ch-dim{background:var(--bg3);color:var(--mu)}

/* Responsive sidebar */
@media(max-width:900px){
  .adm-wrap{grid-template-columns:1fr}
  .adm-side{position:static;height:auto;flex-direction:row;flex-wrap:wrap;overflow-x:auto}
  .mets{grid-template-columns:1fr 1fr}
}
@media(max-width:600px){
  .mets{grid-template-columns:1fr}
  .fgrid{grid-template-columns:1fr}
  .fg.full{grid-column:span 1}
}
