:root{ --bg:#f4f6f8; --card:#fff; --muted:#6b7280; --accent:#2563eb; --post-width:360px; --post-height:220px; }
*{box-sizing:border-box;} body{margin:0;padding:18px;font-family:Arial, sans-serif;background:var(--bg);color:#0b1220;}
.app{display:grid;grid-template-columns:1fr 420px;gap:18px;max-width:1250px;margin:0 auto;}
.panel{background:var(--card);border-radius:12px;padding:16px;box-shadow:0 8px 28px rgba(12,15,20,.06);} 
.header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;}
h1,h3{margin:0;font-size:18px;}.muted{color:var(--muted);font-size:13px;}
.clients{display:flex;gap:8px;align-items:center;flex-wrap:wrap;}
.label{padding:6px 10px;border-radius:8px;font-weight:700;color:#065f46;}
.controls button{padding:8px 10px;border-radius:8px;border:1px solid #d1d5db;background:#fff;cursor:pointer;}
.grid-postes{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;}
.poste{width:100%;min-height:var(--post-height);border:1px solid #e6eef8;border-radius:12px;padding:14px;display:flex;flex-direction:column;gap:12px;position:relative;cursor:pointer;transition:all 0.2s;}
.poste:hover{box-shadow:0 4px 16px rgba(0,0,0,0.1);} 
.poste .top{display:flex;justify-content:space-between;align-items:center;gap:8px;}
.poste input.name{font-weight:800;font-size:16px;padding:6px;border-radius:8px;border:1px solid #eef2f8;background:#fbfdff;width:100%;}
.poste .ip{font-size:13px;color:#374151;padding:6px;border-radius:8px;border:1px dashed #d0d7e6;background:#fff;}
.timer{font-weight:900;font-size:22px;}
.small{font-size:13px;color:var(--muted);} 
.controls-row{display:flex;gap:8px;flex-wrap:wrap;}
.btn{padding:6px 8px;border-radius:6px;border:0;cursor:pointer;font-weight:700;font-size:13px;}
.btn.start{background:#10b981;color:#fff;}.btn.pause{background:#f59e0b;color:#fff;}.btn.pay{background:#2563eb;color:#fff;}.btn.param{background:#6b7280;color:#fff;}
.right-col{display:flex;flex-direction:column;gap:12px;}
.status-list{display:flex;flex-wrap:wrap;gap:6px;}
.pc-ind{min-width:80px;padding:6px;border-radius:6px;color:#fff;text-align:center;font-weight:700;font-size:13px;}
.pc-active{background:linear-gradient(180deg,#10b981,#059669);} .pc-paused{background:linear-gradient(180deg,#f59e0b,#b45309);} .pc-off{background:linear-gradient(180deg,#ef4444,#b91c1c);} 

/* Journal défilable */
.log{
  max-height:50vh;           /* hauteur visible responsive */
  overflow-y:auto;           /* défilement vertical */
  overflow-x:hidden;
  border:1px solid #e6eef8;
  padding:10px;
  border-radius:8px;
  background:#fbfdff;
  font-family:monospace;
  font-size:13px;
  -webkit-overflow-scrolling:touch;
  overscroll-behavior:contain;
  scrollbar-gutter:stable both-edges;
}
.log-line{padding:4px 0;border-bottom:1px dashed rgba(0,0,0,0.04);} 
.log-line:last-child{border-bottom:0;}
/* Scrollbar (optionnel) */
.log::-webkit-scrollbar{ width:8px; }
.log::-webkit-scrollbar-thumb{ background:#cbd5e1; border-radius:8px; }
.log::-webkit-scrollbar-track{ background:#f8fafc; }

.totals{font-size:16px;font-weight:800;}
@media (max-width:980px){ .app{grid-template-columns:1fr} .grid-postes{grid-template-columns:1fr} }
.modal-back{position:fixed;inset:0;background:rgba(2,6,23,0.45);display:none;align-items:center;justify-content:center;z-index:40;}
.modal-back.show{display:flex;}
.modal{width:520px;background:#fff;padding:16px;border-radius:12px;box-shadow:0 18px 50px rgba(2,6,23,0.35);} 
.form-row{display:flex;gap:8px;align-items:center;margin-top:8px;}
.form-row label{min-width:160px;color:var(--muted);font-size:13px;}
input[type=text],input[type=number],select{flex:1;padding:8px;border-radius:8px;border:1px solid #e6eef8;}
.actions{display:flex;justify-content:flex-end;gap:8px;margin-top:12px;}

.btn.reset{background:#ef4444;color:#fff;}
