.gch-app, .gch-app *{box-sizing:border-box}
.gch-app{--green:#064b32;--green2:#12a765;--gold:#ffd35a;--dark:#0d2419;--muted:#6e7d74;--line:#dceee2;--red:#e95b5b;
  max-width:480px;margin:0 auto;font-family:Arial,Helvetica,sans-serif;color:var(--dark)}
.gch-screen{display:none}
.gch-screen.gch-active{display:block}
.gch-card{background:#fff;border:1px solid var(--line);border-radius:24px;padding:18px;margin-bottom:14px;
  box-shadow:0 12px 28px rgba(20,51,37,.08)}
.gch-app h1{font-size:32px;color:var(--green);margin:0 0 6px}
.gch-app h2{font-size:22px;color:var(--green);margin:0}
.gch-app label{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.5px;font-weight:900;color:var(--muted);margin:12px 0 6px}
.gch-app input{width:100%;border:1px solid var(--line);border-radius:16px;padding:14px;font-size:18px;font-weight:800;background:#fff;color:var(--dark)}
.gch-cta{width:100%;border:0;border-radius:20px;padding:16px;background:var(--green);color:#fff;font-weight:900;font-size:16px;cursor:pointer}
.gch-cta.gch-sec{background:#fff;color:var(--green);border:1px solid var(--line)}
.gch-cta.gch-danger{background:#fff;color:var(--red);border:1px solid #ffd0d0}
.gch-podium{display:grid;grid-template-columns:1fr 1fr 1fr;gap:6px;margin-bottom:10px}
.gch-rank{background:#fff;border:1px solid var(--line);border-radius:16px;padding:8px 5px;text-align:center}
.gch-rank.gch-first{background:linear-gradient(180deg,#fff2bd,#fff);border-color:#f4d36b}
.gch-rank small{display:block;font-size:10px;color:var(--muted);font-weight:900}
.gch-rank b{display:block;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.gch-rank span{font-size:20px;color:var(--green);font-weight:900}
.gch-row{display:grid;grid-template-columns:1fr 96px;align-items:center;gap:10px;margin-bottom:10px}
.gch-row .gch-name{font-weight:900;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.gch-row input{text-align:center}
.gch-preview{display:grid;grid-template-columns:1fr 1fr 1fr;gap:7px}
.gch-pv{background:#f5fbf7;border:1px solid var(--line);border-radius:14px;padding:10px;text-align:center}
.gch-pv span{display:block;font-size:22px;font-weight:900;color:var(--green)}
.gch-pv small{display:block;color:var(--muted);font-size:10px;font-weight:900}
.gch-actions{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px;margin-top:6px}
.gch-actions .gch-cta{font-size:13px;padding:13px 8px}
.gch-table{width:100%;border-collapse:collapse;font-size:13px}
.gch-table th{background:var(--green);color:#fff;padding:9px 6px}
.gch-table td{padding:9px 6px;text-align:center;border-bottom:1px solid #edf3ef}
.gch-table tr.gch-total td{font-weight:900;background:#e7f7ed;color:var(--green)}
.gch-hp{position:absolute;left:-9999px}
.gch-hist-item{display:block;text-decoration:none;color:inherit}
.gch-msg{font-size:13px;color:var(--red);min-height:18px;margin-top:6px}
.gch-hist-list{display:grid;gap:14px;align-items:start}
.gch-hist-list .gch-card{margin-bottom:0}
@media(max-width:380px){.gch-actions{grid-template-columns:1fr}}
/* Desktop : la saisie (#gch-app) reste en colonne « téléphone » ;
   l'historique et la carte (.gch-wide) s'élargissent. */
@media(min-width:768px){
  .gch-wide{max-width:900px}
  .gch-hist-list{grid-template-columns:1fr 1fr}
  .gch-table{font-size:14px}
  .gch-table th,.gch-table td{padding:12px 10px}
}
@media(min-width:1100px){
  .gch-hist-list{grid-template-columns:1fr 1fr 1fr}
}
