/* ===== GLOW — Espace gérante ===== */
:root{
  --rose:#f8e9ee; --rose2:#f0d5dc; --mauve:#ba8492; --plum:#2b1a24;
  --ink:#3c2733; --ok:#1f9d55; --bad:#c73e5a; --card:#fff;
  --r:14px; --shadow:0 18px 40px -18px rgba(43,26,36,.35);
}
*{box-sizing:border-box}
body{margin:0;font-family:Montserrat,system-ui,sans-serif;background:linear-gradient(160deg,var(--rose),#fbf7f8 55%);color:var(--ink)}
h1,h2,h3{font-family:"Playfair Display",serif;color:var(--plum);margin:0 0 10px}
.muted{color:#8a7280}.small{font-size:.78rem}
button{font-family:inherit}

/* ---- login ---- */
.login{min-height:100vh;display:grid;place-items:center;padding:20px}
.login-card{background:var(--card);border-radius:20px;box-shadow:var(--shadow);padding:38px 34px;width:min(380px,100%);text-align:center}
.login-card img{width:86px;margin-bottom:8px}
.login-card p{margin:4px 0 18px}
.login-card label{display:block;text-align:left;margin-bottom:14px}
.login-card label span{display:block;font-size:.75rem;font-weight:600;margin-bottom:5px;color:var(--mauve)}
.err{color:var(--bad);font-weight:600;font-size:.85rem}
input,textarea,select{width:100%;padding:10px 12px;border:1.5px solid var(--rose2);border-radius:10px;background:#fff;font:inherit;color:var(--ink)}
input:focus,textarea:focus,select:focus{outline:none;border-color:var(--mauve)}

/* ---- topbar ---- */
.a-top{display:flex;align-items:center;gap:18px;flex-wrap:wrap;padding:12px 20px;background:var(--plum);color:#fff;position:sticky;top:0;z-index:10}
.a-top .brand{font-family:"Playfair Display",serif;font-size:1.05rem;letter-spacing:.4px}
.a-top .brand i{color:var(--mauve);font-style:normal}
.a-top nav{display:flex;gap:6px;flex-wrap:wrap}
.a-top nav button{background:transparent;border:0;color:#e9d5dd;padding:8px 13px;border-radius:99px;cursor:pointer;font-weight:600;font-size:.85rem}
.a-top nav button.on{background:#fff;color:var(--plum)}
.a-top-r{margin-left:auto;display:flex;align-items:center;gap:12px}
.a-top-r a{color:#e9d5dd;font-size:.85rem;text-decoration:none}
.a-top-r a:hover{color:#fff}

/* ---- layout ---- */
main{min-height:100vh}
.tab{display:none;max-width:1080px;margin:0 auto;padding:24px 18px 80px}
.tab.on{display:block}
.a-card{background:var(--card);border-radius:var(--r);box-shadow:var(--shadow);padding:20px 22px;margin-bottom:20px}
.a-card.narrow{max-width:520px}
.toolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:6px 0 16px}
.toolbar.bottom{margin-top:16px}
#dirtyDot{opacity:0;transition:.3s}#dirtyDot.show{opacity:1}

/* ---- buttons ---- */
.a-btn{background:#fff;border:1.5px solid var(--rose2);border-radius:10px;padding:9px 15px;font-weight:600;cursor:pointer;color:var(--ink)}
.a-btn:hover{border-color:var(--mauve)}
.a-solid{background:var(--plum);border-color:var(--plum);color:#fff}
.a-solid:hover{background:#43283a}
.a-danger{color:var(--bad);border-color:#f3c9d2}
.a-mini{padding:5px 9px;font-size:.78rem;border-radius:8px}

/* ---- kpis ---- */
.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin-bottom:20px}
.kpi{background:var(--card);border-radius:var(--r);padding:16px 18px;box-shadow:var(--shadow)}
.kpi b{display:block;font-size:1.7rem;font-family:"Playfair Display",serif;color:var(--plum)}
.kpi span{font-size:.76rem;font-weight:600;color:var(--mauve);text-transform:uppercase;letter-spacing:.6px}

/* ---- chart ---- */
.chart{display:flex;align-items:flex-end;gap:6px;height:150px;padding:6px 2px 0}
.bar{flex:1;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;gap:2px;height:100%}
.bar i,.bar em{display:block;width:78%;border-radius:4px 4px 0 0;min-height:2px}
.bar i{background:var(--mauve)}
.bar em{background:var(--rose2);position:absolute;margin-top:auto}
.bar{position:relative}
.bar b{background:#c9a53f}
.bar{align-items:stretch}
.bar .v{position:absolute;top:-2px;left:0;right:0;text-align:center;font-size:.66rem;color:#77606c;font-weight:700}
.bar .colV{position:absolute;bottom:0;left:0;right:0;display:flex;gap:2px;align-items:flex-end;justify-content:center;height:100%}
.bar .colV u,.bar .colV s,.bar .colV b{display:block;width:26%;text-decoration:none;border-radius:3px 3px 0 0;min-height:0}
.bar .colV u{background:var(--plum)}
.bar .colV s{background:var(--mauve);opacity:.75}
.bar .colV b{background:#d9b23c}
.chart-x{display:flex;gap:6px;margin-top:6px}
.chart-x span{flex:1;text-align:center;font-size:.66rem;color:#8a7280}
.legend{display:flex;gap:14px;font-size:.75rem;color:#77606c;margin-top:8px}
.legend i{display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:4px}

/* ---- tables ---- */
.a-table{width:100%;border-collapse:collapse;font-size:.88rem}
.a-table th{text-align:left;font-size:.72rem;text-transform:uppercase;letter-spacing:.6px;color:var(--mauve);padding:6px 8px;border-bottom:1.5px solid var(--rose2)}
.a-table td{padding:8px;border-bottom:1px solid #f3e7eb}
.dash-2{display:grid;grid-template-columns:1fr 1fr;gap:20px}
@media (max-width:820px){.dash-2{grid-template-columns:1fr}}
.mini-orders .mo{display:flex;justify-content:space-between;gap:10px;padding:8px 0;border-bottom:1px solid #f3e7eb;font-size:.85rem}
.mini-orders .mo b{color:var(--plum)}

/* ---- produits ---- */
.prow{display:grid;grid-template-columns:92px 1fr auto;gap:14px;background:var(--card);border-radius:var(--r);box-shadow:var(--shadow);padding:14px;margin-bottom:12px;align-items:start}
.prow .thumb{width:92px;height:92px;border-radius:10px;object-fit:cover;background:var(--rose);cursor:pointer;border:0;padding:0;display:block}
.prow .fields{display:grid;grid-template-columns:2fr 1fr 1fr;gap:8px}
.prow .fields textarea{grid-column:1 / -1;resize:vertical;min-height:44px;font-size:.82rem}
.prow .fields input,.prow .fields select{font-size:.85rem}
.prow .actions{display:flex;flex-direction:column;gap:8px;align-items:stretch}
.prow .lblrow{display:flex;align-items:center;gap:6px;font-size:.78rem;font-weight:600;white-space:nowrap}
.prow.off{opacity:.55}
@media (max-width:760px){.prow{grid-template-columns:64px 1fr}.prow .fields{grid-template-columns:1fr 1fr}.prow .actions{grid-column:1/-1;flex-direction:row;flex-wrap:wrap}}

/* ---- commandes ---- */
.orders .o-card{background:var(--card);border-radius:var(--r);box-shadow:var(--shadow);padding:16px 18px;margin-bottom:12px}
.o-head{display:flex;gap:12px;flex-wrap:wrap;align-items:baseline}
.o-head b{font-size:1.02rem;color:var(--plum)}
.o-items{margin:10px 0 0;padding:0 0 0 18px;font-size:.87rem}
.o-actions{display:flex;gap:8px;margin-top:10px;flex-wrap:wrap}
.o-total{font-weight:700;color:var(--ok)}

/* ---- toasts ---- */
.toasts{position:fixed;left:50%;bottom:22px;translate:-50% 0;z-index:99;display:flex;flex-direction:column;gap:8px;align-items:center}
.toast{background:var(--plum);color:#fff;padding:10px 18px;border-radius:99px;font-size:.85rem;font-weight:600;box-shadow:var(--shadow);animation:tin .3s}
.toast.bad{background:var(--bad)}
@keyframes tin{from{opacity:0;transform:translateY(12px)}}

/* ---- carte « ouverte hors serveur » ---- */
.offline{min-height:100vh;display:grid;place-items:center;padding:20px}
.offline .a-card{max-width:560px}
.offline h2{font-size:1.25rem}
.offline .cta{margin:14px 0}
.offline .cta a{display:inline-block;text-decoration:none}

.mode-badge{display:none;background:#c9a53f;color:#2b1a24;font-size:.72rem;font-weight:700;padding:4px 10px;border-radius:99px}
.mode-badge.on{display:inline-block}
.keep{display:flex;align-items:center;gap:8px;font-size:.82rem;margin:2px 0 14px;color:#6d5866}
.keep input{width:auto}
.eye{width:100%;margin:-4px 0 10px}
.offline .row{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.offline .row a{text-decoration:none}
