:root{
  --brand-bg: #ffffff;
  --brand-primary: #e4007d; /* rose Services Traiteur */
  --brand-accent: #8dc63f;  /* vert Services Traiteur */
  --brand-text: #111111;
  --muted: #666;
  --card-bg: #ffffff;
  --card-border: #e9eef3;
  --ok: #2aa198;
  --warn: #b58900;
  --danger: #cb4b16;
}

*{box-sizing:border-box}
html,body{margin:0;padding:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,'Helvetica Neue',Arial,'Noto Sans',sans-serif;background:var(--brand-bg);color:var(--brand-text)}
a{color:var(--brand-primary);text-decoration:none}
a:hover{text-decoration:underline}
.container{max-width:1100px;margin:0 auto;padding:24px}
.header{display:flex;align-items:center;gap:16px;padding:12px 0;border-bottom:4px solid var(--brand-accent)}
.header .brand{display:flex;align-items:center;gap:12px}
.header img.logo{height:56px;width:auto}
.header .title{font-weight:900;font-size:22px;letter-spacing:.4px;color:var(--brand-primary)}
.badge{background:var(--brand-accent);color:#fff;padding:2px 8px;border-radius:999px;font-weight:700;margin-left:8px}
.card{background:var(--card-bg);border:1px solid var(--card-border);border-radius:16px;padding:20px;margin:16px 0;box-shadow:0 6px 20px rgba(0,0,0,.06)}
.card h2{margin:0 0 12px 0}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px}
input,select,button,textarea{width:100%;padding:12px 14px;border-radius:12px;border:1px solid #d9e1ea;background:#fff;color:var(--brand-text);outline:none}
label{display:block;font-size:14px;margin-bottom:6px;color:var(--muted)}
fieldset{border:1px dashed #d9e1ea;padding:12px;border-radius:12px}
legend{color:var(--muted)}
.row{display:flex;gap:12px}
.row > *{flex:1}
.btn{background:linear-gradient(180deg,var(--brand-primary),#c2006e);color:#fff;border:none;font-weight:800;letter-spacing:.3px;cursor:pointer;transition:transform .08s ease,opacity .2s ease;border-radius:12px;padding:12px 16px}
.btn:hover{transform:translateY(-1px);opacity:.95}
.btn.secondary{background:#f6f8fb;color:#111;border:1px solid #d9e1ea}
.table{width:100%;border-collapse:collapse}
.table th,.table td{padding:10px;border-bottom:1px solid #eef2f7;text-align:left}
.notice{font-size:14px;color:var(--muted)}
.tag{display:inline-block;background:var(--brand-accent);color:#fff;padding:2px 8px;border-radius:999px;font-size:12px;font-weight:700}
.liner{height:4px;background:linear-gradient(90deg,var(--brand-primary),var(--brand-accent));border-radius:2px;margin:8px 0 0 0}

/* ✅ Ligne de commande (repère + entrée + plat + dessert + bouton) */
.line-row{
  display:grid;
  grid-template-columns: 1fr 1fr 1fr 1fr 44px; /* 4 champs égaux + bouton */
  gap:8px;
  align-items:end;
}
.line-row > *{min-width:0;}                  /* autorise le shrink */
.line-row input,
.line-row select{width:100%;}                /* occupe toute la cellule */

.line-row .remove{background:#ffe8ef;color:#8a003f;border:1px solid #ffc2d7}
.add-line{background:#f0fff0;color:#0a5;border:1px solid #bfead2}

.print{max-width:800px;margin:0 auto}
@media print{
  .no-print{display:none!important}
  body{background:#fff;color:#000}
  .card{border:none;box-shadow:none}
}

footer{margin:32px 0;color:var(--muted);font-size:13px;text-align:center}
.day-block{border-left:6px solid var(--brand-accent);padding-left:12px;margin-top:6px}

/* Barre titre + badge à droite */
.titlebar{display:flex; align-items:center; gap:12px}
.titlebar .title{margin:0}
.titlebar .badge{margin-left:auto} /* pousse le badge à droite */


/* Jours clos (formulaire grisé) */
.closed-day{opacity:.55;filter:grayscale(1);position:relative}
.closed-day .btn, .closed-day select, .closed-day input{pointer-events:none}
.day-status{margin-left:8px;font-size:12px;font-weight:700;color:#b00;background:#ffe8ef;padding:2px 6px;border-radius:999px}

.pickup-box{
  background: linear-gradient(135deg, #f8fafc, #eef2f7);
  border-left: 6px solid #2f855a;
  text-align: center;
  font-size: 1.05rem;
}

.pickup-box strong{
  display: block;
  font-size: 1.15rem;
  margin-bottom: 6px;
}

.pickup-address{
  font-weight: 700;
  font-size: 1.1rem;
  color: #1a202c;
}

