:root{--ink: #1c1a17;--brass: #9a7b1a;--green: #2e6b45;--brick: #a8412a;--cream: #f5efe2;--ivory: #fcfaf4;--line: rgba(154, 123, 26, .22);--mute: rgba(28, 26, 23, .5);font-family:Inter,system-ui,sans-serif}*{box-sizing:border-box}body{margin:0;background:var(--cream);color:var(--ink);-webkit-user-select:none;user-select:none}.terminal{max-width:1100px;margin:0 auto;padding:12px 16px 40px;display:flex;flex-direction:column;gap:14px}.barre{display:flex;flex-wrap:wrap;align-items:center;gap:10px 18px;padding:10px 14px;background:var(--ivory);border:1px solid var(--line);border-radius:12px}.barre .tag{font-size:11px;font-weight:700;color:var(--brass);background:var(--cream);border:1px solid var(--line);border-radius:999px;padding:2px 8px}.barre .ids{font-size:12px;color:var(--mute)}.barre code{background:var(--cream);padding:1px 5px;border-radius:5px}.sceau{margin-left:auto;font-size:13px;font-weight:800;padding:6px 12px;border-radius:999px}.sceau.ok{color:var(--green);background:#2e6b451f}.sceau.ko{color:var(--brick);background:#a8412a1f}.grille{display:grid;grid-template-columns:1fr 340px;gap:14px}@media(max-width:820px){.grille{grid-template-columns:1fr}}.catalogue{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;align-content:start}.produit{display:flex;flex-direction:column;gap:3px;padding:14px 12px;background:var(--ivory);border:1px solid var(--line);border-radius:12px;cursor:pointer;text-align:left;min-height:78px;transition:transform .05s}.produit:active{transform:scale(.97);background:var(--cream)}.produit .nom{font-size:15px;font-weight:700}.produit .prix{font-size:13px;color:var(--ink)}.produit .taux{font-size:11px;color:var(--mute)}.ticket{background:var(--ivory);border:1px solid var(--line);border-radius:12px;padding:14px;display:flex;flex-direction:column;gap:10px;align-self:start}.ticket h2{margin:0;font-size:15px}.ticket .vide{color:var(--mute);font-size:13px}.lignes{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.lignes li{display:grid;grid-template-columns:34px 1fr auto 28px;align-items:center;gap:8px;font-size:13.5px}.lignes .q{font-weight:800;color:var(--brass)}.lignes .pu{font-variant-numeric:tabular-nums}.moins{border:1px solid var(--line);background:transparent;border-radius:8px;cursor:pointer;font-size:16px;line-height:1;color:var(--brick)}.totaux{border-top:1px solid var(--line);padding-top:8px;display:flex;flex-direction:column;gap:4px;font-size:13.5px}.totaux>div{display:flex;justify-content:space-between;font-variant-numeric:tabular-nums}.totaux .ttc{font-size:18px;font-weight:800;border-top:1px dashed var(--line);padding-top:6px;margin-top:2px}.encaisser{display:flex;gap:8px}.payer{flex:1;padding:14px;font-size:14.5px;font-weight:800;color:#fff;background:var(--green);border:none;border-radius:12px;cursor:pointer}.payer:disabled{opacity:.4;cursor:default}.message{font-size:12.5px;margin:0;padding:8px 10px;background:var(--cream);border-radius:8px;line-height:1.4}.journal{background:var(--ivory);border:1px solid var(--line);border-radius:12px;padding:14px}.journal h2{margin:0 0 8px;font-size:14px}.journal table{width:100%;border-collapse:collapse;font-size:12.5px}.journal th{text-align:left;color:var(--mute);font-size:11px;padding:4px 8px;border-bottom:1px solid var(--line)}.journal td{padding:4px 8px;border-bottom:1px solid rgba(154,123,26,.08)}.journal .hash{font-family:ui-monospace,monospace;color:var(--brass)}.journal .note,.journal .vide{font-size:11.5px;color:var(--mute);margin:8px 0 0;line-height:1.5}.cloture-actions{display:flex;gap:8px;border-top:1px solid var(--line);padding-top:10px}.cloture-x,.cloture-z{flex:1;padding:9px;font-size:12.5px;font-weight:700;border-radius:10px;cursor:pointer}.cloture-x{background:transparent;color:var(--brass);border:1px solid var(--line)}.cloture-z{background:var(--ink);color:#fff;border:none}.cloture-x:disabled,.cloture-z:disabled{opacity:.45;cursor:default}.modal-fond{position:fixed;top:0;right:0;bottom:0;left:0;background:#1c1a1780;display:flex;align-items:flex-start;justify-content:center;padding:40px 16px;overflow:auto;z-index:10}.modal{background:var(--ivory);border:1px solid var(--line);border-radius:14px;padding:20px;width:380px;max-width:100%;box-shadow:0 20px 60px #1c1a1740}.modal h2{margin:0 0 4px;font-size:16px}.modal h3{margin:14px 0 4px;font-size:12px;color:var(--mute);text-transform:uppercase;letter-spacing:.04em}.modal .periode{margin:0 0 10px;font-size:12px;color:var(--mute)}.modal .recap{width:100%;border-collapse:collapse;font-size:13.5px}.modal .recap td{padding:4px 0;font-variant-numeric:tabular-nums}.modal .recap td:last-child{text-align:right}.modal .recap .fort td{font-weight:800;font-size:16px;border-top:1px dashed var(--line);padding-top:6px}.modal .recap.gt{margin-top:12px;border-top:1px solid var(--line);padding-top:6px;color:var(--brass);font-weight:700}.modal .note-cloture{font-size:11.5px;color:var(--mute);line-height:1.5;margin:14px 0 12px}.modal .fermer{width:100%;padding:11px;font-size:14px;font-weight:800;color:#fff;background:var(--brass);border:none;border-radius:10px;cursor:pointer}.modal .fermer:disabled{opacity:.45;cursor:default}.avoir-ouvrir{width:100%;margin-top:8px;padding:9px;font-size:12.5px;font-weight:700;color:var(--brick);background:transparent;border:1px solid var(--line);border-radius:10px;cursor:pointer}.avoir-ouvrir:disabled{opacity:.4;cursor:default}.avoir-liste{list-style:none;margin:8px 0 0;padding:0;display:flex;flex-direction:column;gap:6px}.avoir-liste li{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:10px;font-size:13.5px;padding:6px 0;border-bottom:1px solid rgba(154,123,26,.1)}.avoir-liste .av-num{font-weight:700}.avoir-liste .av-ttc{font-variant-numeric:tabular-nums;color:var(--mute)}.avoir-liste .av-choisir{padding:5px 10px;font-size:12px;font-weight:700;color:var(--brick);background:transparent;border:1px solid var(--line);border-radius:8px;cursor:pointer}.avoir-liste .av-fait{font-size:11.5px;color:var(--green);font-weight:700}.av-motif{display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--mute);margin:12px 0}.av-motif input{padding:10px;font-size:14px;color:var(--ink);background:#fff;border:1px solid var(--line);border-radius:8px}.av-retour{width:100%;margin-top:8px;padding:9px;font-size:12.5px;font-weight:600;color:var(--mute);background:transparent;border:none;cursor:pointer}.fatal{max-width:560px;margin:60px auto;padding:24px;font-family:Inter,system-ui,sans-serif;background:var(--ivory);border:1px solid var(--line);border-radius:12px}
