/* Charlotte List dinner nights: the Night of tab, the tour, Run the night, the guest live page and the small cards.
   Only the brand tokens from app.css are used, so an event's own colors carry through. */

.nt-card h2 .pill{vertical-align:middle;font-family:var(--font);font-size:12px}
.nt-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px;align-items:center}
.nt-actions form.inline{margin:0}
.nt-practice{margin-top:14px;padding:12px;border:2px dashed var(--ink);border-radius:var(--radius-sm);background:var(--tip-bg)}
.nt-practice .row{margin-top:8px}
.nt-switches label.check span{display:flex;flex-direction:column;gap:2px}
.nt-switches label.check .muted{font-size:14px;font-weight:400}
.nt-qr{width:200px;max-width:100%;background:#fff;border:2px solid var(--ink);border-radius:var(--radius-sm);padding:8px}
.nt-qr svg{display:block;width:100%;height:auto}
.nt-qr-url{font-size:13px;color:var(--muted);overflow-wrap:anywhere;margin-top:6px}
.nt-kicker{font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.nt-sub{color:var(--muted);margin:2px 0 10px}
.nt-band{margin:8px 0 12px;padding:8px 12px;border:2px solid var(--ink);border-radius:var(--radius-sm);background:var(--yellow);color:var(--ink);font-weight:800}
.nt-top{font-size:18px;margin:6px 0 10px}
.nt-score{font-family:var(--font-display);font-size:28px;color:var(--brand);margin-top:4px}
.nt-score .muted{font-family:var(--font);font-size:14px}
.nt-count{display:inline-block;margin-top:10px;padding:4px 12px;border-radius:999px;border:2px solid var(--ink);background:var(--ok-bg);color:var(--ok-ink);font-weight:800}
.nt-guess{margin-top:14px;padding-top:12px;border-top:2px solid var(--line)}
.nt-table{width:100%;border-collapse:collapse;margin-top:8px;font-size:15px}
.nt-table th,.nt-table td{text-align:left;padding:6px 4px;border-bottom:2px solid var(--line);vertical-align:top}
.nt-table th:not(:first-child),.nt-table td:not(:first-child){text-align:right;white-space:nowrap}
.nt-table tr.now td{font-weight:800}
.nt-tiles{list-style:none;display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:8px;margin:12px 0 0;padding:0}
.nt-tiles li{border:2px solid var(--ink);border-radius:var(--radius-sm);padding:8px 10px;font-size:13px;color:var(--muted);background:var(--surface)}
.nt-tiles span{display:block;font-family:var(--font-display);font-size:22px;color:var(--brand)}
.nt-board,.nt-notes{margin:6px 0 0;padding-left:20px}
.nt-notes li{margin:4px 0}
.nt-mod{list-style:none;margin:8px 0 0;padding:0}
.nt-mod li{display:flex;flex-wrap:wrap;gap:6px 10px;justify-content:space-between;align-items:center;padding:8px 0;border-top:2px solid var(--line)}
.nt-mod li:first-child{border-top:0}
.nt-mod li > span:first-child{flex:1 1 200px;min-width:0;overflow-wrap:anywhere}
.nt-mod li.off > span:first-child{opacity:.55;text-decoration:line-through}
.nt-mod li.done > span:first-child{color:var(--muted)}
.nt-mod-acts{display:flex;gap:6px;flex-wrap:wrap}
.nt-mod-acts form.inline{margin:0}

/* Guest live page */
.nt-live h1,.nt-run h1{margin:2px 0 0}
.nt-now h2{font-size:26px;line-height:1.15;margin:4px 0}
.nt-stars{border:0;margin:6px 0 0;padding:0;min-width:0}
.nt-stars legend{font-weight:700;padding:0;margin-bottom:6px}
.nt-stars span{display:inline-block;margin:0 4px 6px 0}
.nt-stars input{position:absolute;opacity:0;width:1px;height:1px}
.nt-stars label{display:inline-flex;align-items:center;justify-content:center;min-width:52px;min-height:44px;padding:0 10px;border:2px solid var(--ink);border-radius:var(--radius-sm);background:var(--surface);font-weight:800;cursor:pointer}
.nt-stars input:checked + label{background:var(--yellow)}
.nt-stars input:focus-visible + label{outline:3px solid var(--brand);outline-offset:2px}
.nt-bubbles{list-style:none;margin:10px 0 0;padding:0}
.nt-bubbles li{margin:6px 0;padding:8px 10px;border-radius:var(--radius-sm);background:var(--lav-bg);overflow-wrap:anywhere}
.nt-mates{list-style:none;margin:10px 0 0;padding:0}
.nt-mates li{display:flex;gap:10px;align-items:center;padding:8px 0;border-top:2px solid var(--line)}
.nt-mates li:first-child{border-top:0}
.nt-mates li > span{display:flex;flex-direction:column}
.nt-ini{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;background:var(--lav);font-weight:800;flex:none}
.nt-wines{list-style:none;margin:8px 0 0;padding:0}
.nt-wines li{display:flex;gap:10px;justify-content:space-between;align-items:center;flex-wrap:wrap;padding:8px 0;border-top:2px solid var(--line)}
.nt-wines li:first-child{border-top:0}
.nt-wines li > span{display:flex;flex-direction:column;min-width:0;overflow-wrap:anywhere}
.nt-wines form{margin:0}
.nt-more{margin-top:12px}
.nt-more summary{cursor:pointer;font-weight:700;min-height:44px;display:flex;align-items:center}
.nt-banner{margin:10px 0}
.nt-check{margin:6px 0 0;padding-left:20px}
.nt-home-row + .nt-home-row{margin-top:14px;padding-top:12px;border-top:2px solid var(--line)}
[data-nt-toast] .note{margin-bottom:10px}

/* The tour */
.nt-steps{list-style:none;margin:10px 0 0;padding:0}
.nt-step{padding:12px 0;border-top:2px solid var(--line)}
.nt-step:first-child{border-top:0}
.nt-tour.on .nt-step{display:none;border-top:0}
.nt-tour.on .nt-step.now{display:block}
.nt-step-n{font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.nt-step h3{font-size:19px;margin:2px 0 4px;color:var(--brand)}
.nt-pics{display:flex;flex-wrap:wrap;gap:14px;margin-top:12px;align-items:flex-start}
.nt-pics figure{margin:0}
.nt-pics figcaption{font-size:12px;color:var(--muted);text-align:center;margin-top:4px}
.nt-tour-nav{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-top:12px;padding-top:12px;border-top:2px solid var(--line)}
.nt-dots{display:flex;gap:5px;flex-wrap:wrap;justify-content:center}
.nt-dots i{display:block;width:8px;height:8px;border-radius:50%;background:var(--line)}
.nt-dots i.on{background:var(--brand)}
/* Drawn phone and TV */
.nt-phone{width:150px;flex:none}
.nt-phone-screen{height:250px;overflow:hidden;border:6px solid var(--ink);border-radius:20px;background:var(--surface);padding:8px;font-size:11px;line-height:1.35;display:flex;flex-direction:column;gap:5px}
.nt-phone-bar{font-weight:800;font-size:10px;color:var(--muted);text-transform:uppercase;letter-spacing:.06em;border-bottom:1.5px solid var(--line);padding-bottom:3px}
.nt-tv{width:220px;max-width:100%;flex:none}
.nt-tv-screen{aspect-ratio:16/9;border:6px solid var(--ink);border-bottom-width:10px;border-radius:6px;background:#140A28;color:#FBF8FF;padding:10px;font-size:10px;line-height:1.3;display:flex;flex-direction:column;justify-content:center;gap:4px;overflow:hidden}
.nt-m-btn{display:block;text-align:center;padding:4px 6px;border:1.5px solid var(--ink);border-radius:4px;background:var(--accent);color:var(--accent-ink);font-weight:800}
.nt-m-btn.sec{background:var(--surface);color:var(--ink)}
.nt-m-band{background:var(--yellow);border:1.5px solid var(--ink);border-radius:4px;padding:2px 6px;font-weight:800}
.nt-m-big{font-weight:800;font-size:14px;line-height:1.2}
.nt-m-kicker{font-size:9px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;opacity:.75}
.nt-m-count{display:inline-block;align-self:flex-start;padding:1px 8px;border-radius:999px;background:var(--ok-bg);color:var(--ok-ink);font-weight:800}
.nt-tv .nt-m-count{background:#19C7B9;color:#140A28}
.nt-m-input{display:block;padding:4px 6px;border:1.5px solid var(--line);border-radius:4px;color:var(--muted)}
.nt-m-stars{color:#E0A100;font-size:15px;letter-spacing:1px}
.nt-m-stars span{color:var(--line)}
.nt-tv .nt-m-stars{font-size:12px}
.nt-m-list{list-style:none;margin:0;padding:0}
.nt-m-list li{display:flex;align-items:center;gap:6px;padding:2px 0}
.nt-m-tick{width:20px;height:11px;border-radius:999px;background:var(--line);position:relative;flex:none}
.nt-m-tick::after{content:"";position:absolute;top:1px;left:1px;width:9px;height:9px;border-radius:50%;background:#fff}
.nt-m-tick.on{background:var(--teal)}
.nt-m-tick.on::after{left:10px}
.nt-m-tvbig{font-weight:800;font-size:15px;text-transform:uppercase}
.nt-m-score{font-weight:800;font-size:16px;color:#FFD23F}
.nt-m-bubble{background:#24163F;border-radius:4px;padding:3px 6px}
.nt-phone .nt-m-bubble{background:var(--lav-bg)}
.nt-m-tvgrid{display:flex;gap:10px;align-items:center}
.nt-m-qr{width:56px;height:56px;flex:none;background:#fff;border:4px solid #fff;background-image:linear-gradient(90deg,#140A28 50%,transparent 50%),linear-gradient(#140A28 50%,transparent 50%);background-size:12px 12px}
.nt-m-photo{height:100%;min-height:70px;border-radius:4px;background:linear-gradient(135deg,#FF6FAE,#FFD23F 55%,#19C7B9)}

@media print{
body *{visibility:hidden}
#nt-screens .nt-qr,#nt-screens .nt-qr *,#nt-screens .nt-qr-url{visibility:visible}
#nt-screens .nt-qr{position:fixed;left:50%;top:20%;transform:translateX(-50%);width:60%}
#nt-screens .nt-qr-url{position:fixed;left:0;right:0;top:75%;text-align:center;font-size:18px}
}
