/* Éléments d'interface de l'espace administrateur — lisibilité maximale :
   grosses polices, gros boutons, contrastes forts, zones tactiles généreuses. */
:root{
  --cc-bg:#f5f1e8; --cc-card:#fff; --cc-ink:#17130c; --cc-soft:#5d5444; --cc-line:#dccfb6;
  --cc-amber:#e4a93c; --cc-amber-d:#c98b17; --cc-dark:#0e0d0b; --cc-ok:#13703a; --cc-ok-d:#0e5a2e; --cc-red:#b3202f; --cc-focus:#1d4ed8;
  --cc-font:"Archivo",system-ui,-apple-system,"Segoe UI",sans-serif;
}
[hidden]{display:none!important}
body.cc-noscroll{overflow:hidden}

.cc-btn{display:inline-flex;align-items:center;justify-content:center;gap:.6rem;min-height:60px;padding:.8rem 1.5rem;border-radius:16px;border:3px solid var(--cc-amber);
  background:var(--cc-amber);color:var(--cc-ink);font:800 1.1rem/1.2 var(--cc-font);cursor:pointer;text-decoration:none;
  transition:transform .15s,background .2s,box-shadow .2s,border-color .2s;-webkit-tap-highlight-color:transparent;text-align:center}
.cc-btn:hover{background:var(--cc-amber-d);border-color:var(--cc-amber-d);transform:translateY(-2px);box-shadow:0 8px 20px rgba(23,19,12,.18)}
.cc-btn:active{transform:none}
.cc-btn:focus-visible,.cc-tile:focus-visible,.cc-back:focus-visible,.cc-field input:focus-visible,.cc-field textarea:focus-visible,.cc-field select:focus-visible,.cc-choice label:focus-within{outline:4px solid var(--cc-focus);outline-offset:3px}
.cc-btn.ghost{background:#fff;color:var(--cc-ink);border-color:var(--cc-line)}
.cc-btn.ghost:hover{background:#fff;border-color:var(--cc-ink)}
.cc-btn.ok{background:var(--cc-ok);border-color:var(--cc-ok);color:#fff}
.cc-btn.ok:hover{background:var(--cc-ok-d);border-color:var(--cc-ok-d)}
.cc-btn.danger{background:var(--cc-red);border-color:var(--cc-red);color:#fff}
.cc-btn.danger:hover{background:#8f1824;border-color:#8f1824}
.cc-btn.small{min-height:48px;padding:.5rem 1rem;font-size:1rem;border-radius:12px}
.cc-btn[disabled]{opacity:.45;cursor:not-allowed;transform:none;box-shadow:none}
.cc-actions{display:flex;flex-wrap:wrap;gap:.8rem;justify-content:flex-end;margin-top:1.5rem}

/* fenêtres */
.cc-modal-back{position:fixed;inset:0;z-index:10000;background:rgba(14,13,11,.72);display:grid;place-items:center;padding:1rem;overflow:auto;animation:ccFade .2s}
.cc-modal{background:#fff;color:var(--cc-ink);border-radius:22px;padding:clamp(1.2rem,4vw,2rem);width:min(720px,100%);max-height:calc(100dvh - 2rem);overflow:auto;box-shadow:0 30px 80px rgba(0,0,0,.45);animation:ccPop .28s;font-family:var(--cc-font);font-size:1.1rem;line-height:1.5}
.cc-modal h3{font:800 1.6rem/1.2 var(--cc-font);margin:0 0 .8rem}
.cc-modal p{margin:0 0 .8rem}
@keyframes ccFade{from{opacity:0}}
@keyframes ccPop{from{opacity:0;transform:translateY(14px) scale(.98)}}

/* messages */
.cc-toasts{position:fixed;left:50%;bottom:calc(6.5rem + env(safe-area-inset-bottom));transform:translateX(-50%);z-index:10100;display:flex;flex-direction:column;gap:.6rem;align-items:center;width:min(94vw,560px);pointer-events:none}
.cc-toast{background:var(--cc-ok);color:#fff;padding:1rem 1.4rem;border-radius:16px;font:800 1.1rem/1.3 var(--cc-font);box-shadow:0 10px 30px rgba(0,0,0,.35);animation:ccPop .3s;transition:opacity .4s,transform .4s;text-align:center}
.cc-toast.err{background:var(--cc-red)}
.cc-toast.out{opacity:0;transform:translateY(10px)}

/* formulaires */
.cc-field{display:flex;flex-direction:column;gap:.4rem;margin-bottom:1.3rem;text-align:left}
.cc-field>label,.cc-field>.lab{font:800 1.1rem/1.3 var(--cc-font);color:var(--cc-ink)}
.cc-field .aide{color:var(--cc-soft);font-size:.95rem;font-weight:500;margin:0}
.cc-field input[type=text],.cc-field input[type=date],.cc-field input[type=time],.cc-field input[type=url],.cc-field input[type=email],.cc-field input[type=tel],.cc-field input[type=password],.cc-field textarea,.cc-field select{width:100%;min-height:58px;font:500 1.15rem var(--cc-font);padding:.7rem 1rem;border-radius:14px;border:3px solid var(--cc-line);background:#fff;color:var(--cc-ink)}
.cc-field textarea{min-height:130px;resize:vertical;line-height:1.5}
.cc-field input:focus,.cc-field textarea:focus,.cc-field select:focus{border-color:var(--cc-ink);outline:none;box-shadow:0 0 0 4px rgba(228,169,60,.45)}
.cc-err{background:#fde8eb;color:#7d1020;border:2px solid #f0aab5;border-radius:12px;padding:.8rem 1rem;font-weight:700;margin-bottom:1rem}
.cc-preview{background:#fbf6e8;border:2px dashed var(--cc-amber);border-radius:12px;padding:.6rem .9rem;font-size:.98rem;color:var(--cc-ink);overflow-wrap:anywhere}
.cc-preview b{font-weight:800}
.cc-preview.warn{background:#fff1dd;border-color:#d97706}
.cc-tools{display:flex;gap:.5rem;flex-wrap:wrap}
@media (prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;transition-duration:.01ms!important}}
