/* RAYNET Event Planner — additions to common.css (G4BDS, emcomms.uk) */
.page{max-width:1180px;margin:0 auto;padding:18px 24px 48px}
.page.wide{max-width:1500px}
.grid2{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:18px}
.grid3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.card+.card,.card+.grid2,.grid2+.card,.card+.sec,.sec+.card{margin-top:18px}
.card h2{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}
.card h2 .act{margin-left:auto;display:flex;gap:6px;flex-wrap:wrap}
.lead{color:var(--ink2);margin:0 0 14px;max-width:80ch}
textarea{font:inherit;color:var(--ink);background:var(--panel);border:1px solid var(--rule);border-radius:6px;padding:6px 8px;width:100%;min-height:64px;resize:vertical}
label.f textarea{min-height:64px}
.tblwrap{overflow-x:auto;margin:0 -4px;padding:0 4px}
table.ed{border-collapse:collapse;width:100%;font-size:14px;min-width:640px}
table.ed th{font-weight:500;color:var(--ink2);text-align:left;padding:4px 4px;border-bottom:1px solid var(--rule);white-space:nowrap;font-size:12.5px}
table.ed td{padding:3px 3px;border-bottom:1px solid var(--grid);vertical-align:top}
table.ed input,table.ed select{width:100%;background:transparent;border:1px solid transparent;border-radius:5px;padding:4px 5px;color:var(--ink)}
table.ed input:hover,table.ed select:hover{border-color:var(--rule)}
table.ed input:focus,table.ed select:focus{border-color:var(--focus);background:var(--panel)}
table.ed input.bad{border-color:var(--bad)}
table.ed td.x{width:30px;text-align:center}
.xb{border:0;background:none;color:var(--ink2);cursor:pointer;font-size:16px;line-height:1;padding:4px}
.xb:hover{color:var(--bad)}
table.ro{border-collapse:collapse;width:100%;font-size:14px}
table.ro th{font-weight:500;color:var(--ink2);text-align:left;padding:5px 8px;border-bottom:1px solid var(--rule);white-space:nowrap}
table.ro td{padding:5px 8px;border-bottom:1px solid var(--grid)}
table.ro td.n,table.ro th.n{text-align:right}
.pill{display:inline-block;border-radius:999px;padding:0 8px;font-size:12px;border:1px solid var(--rule);color:var(--ink2);white-space:nowrap}
.pill.P{background:var(--good);color:#fff;border-color:transparent}
.pill.A{background:var(--wire);color:#fff;border-color:transparent}
.pill.C{background:var(--warn);color:#fff;border-color:transparent}
.pill.E{background:var(--bad);color:#fff;border-color:transparent}
.pill.off{color:var(--bad);border-color:var(--bad)}
.toolbar{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.toolbar .sp{flex:1}
.muted{color:var(--ink2)}
.small{font-size:13px}
.note{padding:9px 12px;border-radius:8px;background:var(--soft);font-size:14px}
.note.warn{background:rgba(201,122,30,.12)}
.big2{font-size:40px;font-weight:700;letter-spacing:-.02em;line-height:1.05}
.big2 small{font-size:18px;font-weight:500;color:var(--ink2);letter-spacing:0}
.stat{display:flex;flex-direction:column;gap:2px}
.stat .k{font-size:12.5px;color:var(--ink2)}
.stat .v{font-size:20px;font-weight:650}
.ok{color:var(--good)} .warnc{color:var(--warn)} .badc{color:var(--bad)}
details.more{margin-top:10px}
details.more summary{cursor:pointer;color:var(--wire)}
.sel{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.sel select{background:var(--panel);border:1px solid var(--rule);border-radius:6px;padding:5px 8px;color:var(--ink)}
.toast{position:fixed;left:50%;bottom:20px;transform:translateX(-50%);background:var(--ink);color:var(--paper);padding:8px 14px;border-radius:8px;font-size:14px;z-index:9999;opacity:0;transition:opacity .2s;pointer-events:none}
.toast.on{opacity:1}
.offline{display:none;background:var(--warn);color:#fff;text-align:center;font-size:13px;padding:3px}
body.is-offline .offline{display:block}
@media (max-width:900px){ .page{padding:14px 16px 40px} .grid2{grid-template-columns:1fr} .grid3{grid-template-columns:1fr 1fr} }
@media (max-width:520px){ .grid3{grid-template-columns:1fr} .big2{font-size:32px} }

/* print: whole plan, or pocket cards */
#printArea{display:none}
@media print{
  @page{size:A4;margin:8mm}
  body{background:#fff;color:#000;font-size:10.5pt}
  body>*:not(#printArea){display:none!important}
  #printArea{display:block}
  .pp h1{font-size:16pt;margin:0 0 2mm}
  .pp h2{font-size:11.5pt;margin:5mm 0 1.5mm;border-bottom:1px solid #000}
  .pp table{border-collapse:collapse;width:100%;font-size:9.5pt}
  .pp th,.pp td{border:1px solid #888;padding:1mm 1.5mm;text-align:left;vertical-align:top}
  .pp th{background:#eee}
  .pp .meta{display:grid;grid-template-columns:1fr 1fr;gap:1mm 6mm;font-size:10pt}
  .pp .foot{margin-top:6mm;font-size:8.5pt;color:#444}
  .pp .prot{font-weight:700;letter-spacing:.06em;text-align:center;border:1px solid #000;padding:1mm;margin-bottom:3mm}
  .cards{display:grid;grid-template-columns:97mm 97mm;gap:0;justify-content:center}
  .pc{width:97mm;height:69mm;border:1px dashed #999;padding:3mm 4mm;overflow:hidden;font-size:7.4pt;line-height:1.25;break-inside:avoid}
  .pc h3{font-size:9pt;margin:0 0 1mm}
  .pc table{border-collapse:collapse;width:100%;font-size:7pt}
  .pc td,.pc th{border:1px solid #aaa;padding:.4mm 1mm;text-align:left}
  .pc .pace{font-weight:700}
}
.grid2>.card,.grid2>.card+.card{margin-top:0}
a.btn{text-decoration:none;color:inherit;display:inline-block}
