/* Tableau de bord mural : lisible à 4 mètres, sombre, sans défilement */
.wall{--w-bg:#0e1116;--w-card:#161b22;--w-line:#262d36;--w-text:#e8edf2;--w-mut:#8b96a3;--w-bad:#ff5c5c;--w-good:#3ecf8e;--w-info:#5aa9ff;--w-warn:#ffb648;
  position:fixed;inset:0;z-index:45;background:var(--w-bg);color:var(--w-text);font-family:Marianne,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  display:grid;grid-template-rows:auto auto 1fr auto;gap:1.2vh;padding:2vh 2vw;overflow:hidden;font-size:clamp(12px,1.25vw,30px)}
.wall *{box-sizing:border-box}
.wall .w-head{display:flex;justify-content:space-between;align-items:center}
.wall h1{margin:0;font-size:2em;font-weight:800;letter-spacing:-.01em}
.wall .w-head p{margin:.1em 0 0;color:var(--w-mut);text-transform:capitalize}
.wall .w-clock{font-size:3em;font-weight:800;font-variant-numeric:tabular-nums}
.wall .w-tiles{display:grid;grid-template-columns:repeat(7,1fr);gap:1vw}
.wall .w-tile{background:var(--w-card);border-radius:.6em;padding:.6em .8em;border-left:.3em solid var(--w-line)}
.wall .w-tile b{display:block;font-size:2.4em;line-height:1.05;font-variant-numeric:tabular-nums}
.wall .w-tile span{color:var(--w-mut);font-size:.85em}
.wall .w-tile.bad{border-color:var(--w-bad)}.wall .w-tile.bad b{color:var(--w-bad)}
.wall .w-tile.good{border-color:var(--w-good)}.wall .w-tile.good b{color:var(--w-good)}
.wall .w-tile.info{border-color:var(--w-info)}
.wall .blink{animation:wblink 1.6s ease-in-out infinite}
@keyframes wblink{50%{background:#3a1717}}
.wall .w-main{display:grid;grid-template-columns:2.1fr 1fr;gap:1vw;min-height:0}
.wall .w-card{background:var(--w-card);border-radius:.6em;padding:.7em .9em;min-height:0;overflow:hidden}
.wall .w-card h2{margin:0 0 .4em;font-size:1em;text-transform:uppercase;letter-spacing:.06em;color:var(--w-mut);font-weight:700}
.wall .w-card h2 small{text-transform:none;letter-spacing:0;font-weight:500}
.wall .w-card.bad{box-shadow:inset 0 0 0 2px var(--w-bad)}.wall .w-card.good .w-ok{color:var(--w-good);font-weight:700;font-size:1.2em}
.wall .w-side{display:flex;flex-direction:column;gap:1vw;min-height:0;overflow:hidden}
.wall table{width:100%;border-collapse:collapse}
.wall td{padding:.35em .4em;border-top:1px solid var(--w-line);vertical-align:middle;white-space:nowrap}
.wall tr:first-child td{border-top:0}
.wall .w-prio{width:.5em;padding:0}.wall .w-prio i{display:block;width:.35em;height:1.6em;border-radius:.2em;background:var(--w-line)}
.wall .p-urgent .w-prio i{background:var(--w-bad)}.wall .p-high .w-prio i{background:var(--w-warn)}.wall .p-normal .w-prio i{background:var(--w-info)}
.wall .w-num{font-weight:700;font-variant-numeric:tabular-nums;color:var(--w-mut);font-size:.85em}
.wall .w-loc{font-weight:700}
.wall .w-txt{white-space:normal;width:100%;line-height:1.25;overflow:hidden;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical}
.wall .w-who,.wall .w-st{color:var(--w-mut);font-size:.85em}
.wall .w-age{text-align:right;font-variant-numeric:tabular-nums}
.wall tr.late .w-age{color:var(--w-bad);font-weight:700}
.wall .w-line{display:flex;flex-direction:column;padding:.25em 0;border-top:1px solid var(--w-line)}.wall .w-line:first-of-type{border-top:0}
.wall .w-line span,.wall .w-muted{color:var(--w-mut);font-size:.85em}
.wall .w-card.bad .w-line b{color:var(--w-bad)}
.wall .w-bar{display:grid;grid-template-columns:7em 1fr 2em;align-items:center;gap:.5em;margin:.2em 0}
.wall .w-bar i{height:.6em;border-radius:.3em;background:linear-gradient(90deg,var(--w-info) var(--w),transparent var(--w)),var(--w-line)}
.wall .w-bar b{text-align:right}
.wall .w-empty{display:grid;place-items:center;height:80%;font-size:1.6em;color:var(--w-good)}
.wall .w-foot{display:flex;gap:2vw;color:var(--w-mut);font-size:.9em;flex-wrap:wrap}
.wall .w-foot .warn{color:var(--w-warn);font-weight:700}
.wall .w-foot .w-upd{margin-left:auto}
.wall .w-tools{position:fixed;right:1vw;bottom:1vh;display:flex;gap:.5em;opacity:.15;transition:opacity .2s}
.wall .w-tools:hover,.wall .w-tools:focus-within{opacity:1}
.wall .w-tools button{font:inherit;font-size:14px;background:var(--w-card);color:var(--w-text);border:1px solid var(--w-line);border-radius:8px;padding:8px 12px;cursor:pointer}
@media (max-width:900px),(orientation:portrait){
  .wall{position:fixed;overflow:auto;grid-template-rows:auto;font-size:14px}
  .wall .w-tiles{grid-template-columns:repeat(2,1fr)}
  .wall .w-main{grid-template-columns:1fr}
  .wall .w-who,.wall .w-st{display:none}
  .wall .w-txt{-webkit-line-clamp:2}
  .wall .w-tools{position:static;opacity:1;justify-content:center;flex-wrap:wrap;padding-bottom:env(safe-area-inset-bottom)}
}
