/* MOVA guest knowledge (31.10.2026): the smart filters, the important guests who booked, the mailing, the guest file, the book's line.
   Uses the admin tokens (admin.css :root). */

/* ---------- smart filters: eight controls in one grid, a row never ends short (8, 4x2, 2x4) ---------- */
.gx-bar{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:14px 14px 12px;margin:0 0 18px}
.gx-h{font-size:16px;font-weight:700;margin:0 0 10px}
.gx-ctl{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:8px}
@media (max-width:1180px){.gx-ctl{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media (max-width:560px){.gx-ctl{grid-template-columns:repeat(2,minmax(0,1fr))}}
.gx-f{display:flex;flex-direction:column;align-items:flex-start;gap:2px;min-height:56px;padding:8px 12px;border:1px solid var(--line-2);border-radius:10px;background:#fff;cursor:pointer;text-align:start;font:inherit;color:var(--text)}
.gx-f small{font-size:12.5px;color:var(--muted);line-height:1.2}
.gx-f b{font-size:14.5px;font-weight:600;line-height:1.25;overflow-wrap:anywhere}
.gx-f:hover{border-color:var(--c-new)}
.gx-f[aria-pressed="true"]{border-color:var(--c-new);background:color-mix(in srgb,var(--c-new) 8%,#fff);box-shadow:inset 0 0 0 1px var(--c-new)}
.gx-f[aria-pressed="true"] b{color:var(--c-new)}
.gx-f[data-gxf="imp"][aria-pressed="true"]{border-color:var(--c-seat);background:color-mix(in srgb,var(--c-seat) 9%,#fff);box-shadow:inset 0 0 0 1px var(--c-seat)}
.gx-f[data-gxf="imp"] small,.gx-f[data-gxf="imp"][aria-pressed="true"] b{color:var(--c-seat)}
.gx-res{display:flex;align-items:center;flex-wrap:wrap;gap:8px 16px;margin-top:12px;padding-top:12px;border-top:1px solid var(--line)}
.gx-res p{margin:0;font-size:15px}
.gx-res p b{font-size:17px}
.gx-sort{border:1px solid var(--line-2);background:#fff;border-radius:999px;padding:6px 14px;min-height:38px;cursor:pointer;font:inherit;font-size:14px;color:var(--text)}
.gx-acts{display:flex;gap:8px;flex-wrap:wrap;margin-inline-start:auto}
.gx-acts .btn:not(.btn-p){background:#fff;border:1px solid var(--line-2);color:var(--text)}
.gx-acts .btn{white-space:nowrap}
.gx-acts .btn[disabled]{opacity:.45;cursor:default}
@media (max-width:640px){.gx-acts{margin-inline-start:0;width:100%}.gx-acts .btn{flex:1 1 auto;justify-content:center}}
.pop.gx-pop{max-width:min(340px,calc(100vw - 16px))}

/* ---------- under the name in the guests table ---------- */
.gx-open{display:block;padding:0 10px 6px;font-size:13px;line-height:1.45;max-width:260px;white-space:normal}
.gx-open>span,.gx-open>b{display:block}
.gx-open a{color:var(--c-new);text-underline-offset:3px}
.gx-star{color:var(--c-seat);font-weight:700}
.gx-n1{color:var(--text)}
.gx-n1 b{font-size:14px}
.gx-n2{color:var(--text-2)}

/* ---------- the important guests who booked ---------- */
.gx-imp .grp-h b{color:var(--c-seat)}
.gx-it th.stick a{color:var(--text);font-weight:700;text-underline-offset:3px}
.gx-why{color:var(--c-seat);font-weight:700;white-space:nowrap}
.gx-it td.gx-know{min-width:320px;line-height:1.45;font-size:14px;text-align:start}
.gx-alg{color:var(--c-no)!important;font-weight:600}
.gx-now{color:var(--c-seat)!important;font-weight:600}
.gx-set{margin:10px 2px 0;font-size:14px;color:var(--text-2);line-height:2}
.gx-nw{white-space:nowrap}
.gx-set input{width:86px;display:inline-block;margin:0 4px;border:1px solid var(--line-2);border-radius:8px;padding:4px 8px;min-height:34px;text-align:center}

/* ---------- the mailing ---------- */
.gx-mail{background:var(--surface);border:1px solid var(--line);border-inline-start:6px solid var(--c-new);border-radius:var(--radius);padding:14px 16px;margin:0 0 18px;scroll-margin-top:90px}
.gx-mh{display:flex;align-items:baseline;justify-content:space-between;gap:12px}
.gx-mh h2{font-size:17px;margin:0;line-height:1.35}
.gx-mf{margin:6px 0 10px;color:var(--text-2)}
.gx-ch{margin-bottom:12px}
.gx-ch button{border:0;background:none;border-radius:999px;padding:6px 14px;min-height:34px;cursor:pointer;font:inherit;font-size:14px}
.gx-ch button[aria-pressed="true"]{background:var(--text);color:#fff}
.gx-tl{display:block;font-size:13.5px;color:var(--text-2)}
.gx-tl textarea,.gx-one textarea{display:block;width:100%;margin-top:6px;border:1px solid var(--line-2);border-radius:10px;padding:10px 12px;font:inherit;font-size:15px;line-height:1.5;resize:vertical;background:#fff;color:var(--text)}
.gx-pv{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:12px}
.gx-pv>p{grid-column:1/-1;margin:0}
@media (max-width:900px){.gx-pv{grid-template-columns:1fr}}
.gx-bub{background:#eef6ee;border-radius:14px 14px 4px 14px;padding:10px 12px;font-size:14px;line-height:1.5;white-space:normal;overflow-wrap:anywhere}
.gx-bub small{display:block;color:var(--muted);font-size:12px;margin-bottom:4px}
.gx-ma{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:12px}
.gx-ma .btn[disabled]{opacity:.45;cursor:default}
.gx-sent{margin:12px 0 0;padding:10px 0 0;border-top:1px solid var(--line);list-style:none;font-size:13.5px;color:var(--text-2)}

/* ---------- the guest file ---------- */
body.gx-file .tools{display:none}
.gx-top{margin:-4px 0 12px}
.gx-top .lnk{font-size:15px}
.gx-card{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.5fr);gap:16px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:16px}
@media (max-width:900px){.gx-card{grid-template-columns:1fr}}
.gx-id p{margin:0 0 8px}
.gx-badges{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.gx-badges .gx-why{font-size:15px}
.gx-tag{font-size:12.5px;border-radius:4px;padding:1px 7px;background:#f1f3f5;color:var(--text-2);font-weight:600}
.gx-ph a{color:var(--text);font-weight:600;font-size:16px;text-underline-offset:3px}
p.gx-alg{color:var(--c-no);font-weight:700}
.gx-note,.gx-next{color:var(--text-2)}
.gx-kpi{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}
@media (max-width:1180px){.gx-kpi{grid-template-columns:repeat(3,minmax(0,1fr))}.gx-kpi>div:nth-child(4){grid-column:span 1}}
@media (max-width:560px){.gx-kpi{grid-template-columns:repeat(2,minmax(0,1fr))}.gx-kpi>div:last-child{grid-column:1/-1}}
.gx-kpi>div{background:#f7f8fa;border-radius:10px;padding:10px 12px;min-width:0}
.gx-kpi small{display:block;font-size:12.5px;color:var(--muted)}
.gx-kpi b{display:block;font-size:22px;line-height:1.2;margin:2px 0}
.gx-kpi span{display:block;font-size:12.5px;color:var(--text-2);line-height:1.3}
.gx-tell{margin:12px 0 16px;padding:10px 14px;background:color-mix(in srgb,var(--c-seat) 7%,#fff);border:1px solid color-mix(in srgb,var(--c-seat) 25%,#fff);border-radius:10px;line-height:1.55}
.gx-cols{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-bottom:20px;align-items:start}
.gx-stack{display:grid;gap:14px;min-width:0}
@media (max-width:900px){.gx-cols{grid-template-columns:1fr}}
.gx-box{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:14px 16px;min-width:0}
.gx-box h3{font-size:16px;margin:0 0 6px}
.gx-say{margin:0 0 10px;color:var(--text-2);line-height:1.5}
.gx-grid{border-collapse:separate;border-spacing:4px;width:100%;max-width:420px}
.gx-grid th{font-size:12.5px;font-weight:600;color:var(--muted);text-align:start;padding:0 2px}
.gx-grid thead th{text-align:center}
.gx-grid td{height:30px;border-radius:6px;text-align:center;font-size:13px;font-weight:700;font-variant-numeric:tabular-nums}
.gx-l0{background:#f3f4f6}
.gx-l1{background:#e7defa;color:#4b2a7a}
.gx-l2{background:#cdb7f0;color:#3c2063}
.gx-l3{background:#a27fdc;color:#fff}
.gx-l4{background:#7b3fbf;color:#fff}
.gx-bars{list-style:none;margin:0;padding:0;display:grid;gap:7px}
.gx-bars li{display:grid;grid-template-columns:minmax(0,11em) minmax(0,1fr) 2.2em;align-items:center;gap:10px;font-size:14px}
.gx-bars li small{grid-column:1/-1;margin-top:-4px;font-size:12px;color:var(--muted)}
.gx-bars li>span{overflow-wrap:anywhere;line-height:1.3}
.gx-bars i{display:block;height:12px;border-radius:6px;background:var(--c-new);width:var(--w);min-width:6px}
.gx-bars b{text-align:end}
.gx-fn{font-size:12.5px;margin:8px 0 0}
.gx-vt .gx-its{min-width:360px;line-height:1.45;font-size:13.5px;color:var(--text-2)}
.gx-vt td small{display:block;font-size:12px;color:var(--muted)}

/* ---------- the book: what the house knows, under the name ---------- */
.gx-bl{display:block;padding:0 10px 5px;font-size:12.5px;line-height:1.35;color:var(--text-2);white-space:normal;max-width:300px}
.gx-bl.imp b{color:var(--c-seat)}
.gx-bl .lnk{font-size:12.5px}
.gx-vt td{padding:6px 10px} /* admin.css cells carry no padding: their inputs fill them */
.gx-vt th.stick{padding:6px 12px;font-weight:600;color:var(--text);font-size:14px;background:var(--surface)}
.gx-tl textarea,.gx-one textarea{min-height:88px;height:auto}
.gx-vt td.gx-its{text-align:start}
.gx-ch button[disabled]{opacity:.45;cursor:default}
/* the important guests' own table (not a .t: the guests board's tests and screens read table.t as the guests table) */
.gx-itw{overflow-x:auto}
table.gx-it{border-collapse:separate;border-spacing:0;width:100%;min-width:1080px}
.gx-it th{font-size:13px;font-weight:500;color:var(--muted);text-align:center;padding:9px 8px;border-bottom:1px solid var(--line);white-space:nowrap;background:#fafbfc}
.gx-it td,.gx-it tbody th{padding:8px 10px;border-bottom:1px solid var(--line);border-inline-start:1px solid var(--line);text-align:center;vertical-align:middle;background:var(--surface);font-size:14px}
.gx-it tbody th{border-inline-start:0;text-align:start;font-weight:600}
.gx-it tr:last-child>*{border-bottom:0}
.gx-it td small{display:block;font-size:12.5px;color:var(--muted);line-height:1.3}
/* on a phone the important guests are cards, one under the other */
.gx-ml{display:none}
@media (max-width:640px){
  .gx-imp .wrap{border-inline-start-width:4px}
  table.gx-it{min-width:0}
  .gx-it thead{display:none}
  .gx-it,.gx-it tbody,.gx-it tr,.gx-it td,.gx-it th{display:block;width:auto}
  .gx-it tr{padding:10px 12px;border-bottom:1px solid var(--line)}
  .gx-it td,.gx-it tbody th{border:0;height:auto;padding:2px 0;text-align:start;position:static;box-shadow:none}
  .gx-it th.stick a{font-size:16px}
  .gx-it td.gx-know{min-width:0}
  .gx-ml{display:inline}
  .gx-it td small{display:block}
}
