:root{
	--bg1:#0b0f14; --bg2:#0f151d;
	--panel:#121922; --panel2:#0f151d;
	--text:#e7edf6; --muted:#a9b6c7;
	--accent:#4cc3ff; --accent2:#6df3b5;
	--warn:#ffcc66; --border:#223041;
	--shadow:0 10px 30px rgba(0,0,0,.35); --r:14px;
}
*{box-sizing:border-box}
html,body{
	height:100%
}
body{
	margin:0;
	background:linear-gradient(180deg,var(--bg1),var(--bg2));
	color:var(--text);
	font:15px/1.4 "Inter",-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;
}
a{color:var(--accent);text-decoration:none}
a:hover{text-decoration:underline}

/* Header */
.site-header{display:grid;grid-template-columns:3fr 2fr;gap:12px;align-items:center;
						 max-width:1500px;margin:0 auto;padding:14px 18px;border-bottom:1px solid var(--border)}
.site-title{font-size:18px;font-weight:700}
.site-sub{color:var(--muted);font-size:13px}
.site-meta{justify-self:end;text-align:right;font-size:12px;color:var(--muted)}
.site-meta strong{color:var(--text)}

/* Main grid */
.app{
	display: grid;
	grid-template-columns: repeat(5,1fr);
	gap: 14px;
	max-width: 1500px;
	margin: 0 auto;
	padding: 14px 18px 370px;
}
.card{background:linear-gradient(180deg,var(--panel),var(--panel2));border:1px solid var(--border);
			border-radius:var(--r);box-shadow:var(--shadow);display: block;}
.pad{padding:14px 16px}

/* Column 1 */
.col1{grid-column:1/span 1;display:flex;flex-direction:column;gap:14px}
.stack-title{font-size:12px;color:var(--muted);text-transform:uppercase;letter-spacing:.6px;margin-bottom:8px}
.kv{display:flex;gap:8px;flex-wrap:wrap;margin:15px 0 8px}
.pill{border:1px solid var(--border);border-radius:999px;padding:6px 10px;font-size:12px;color:var(--muted)}
.mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Courier New",monospace}
.subtle{color:var(--muted); font-size: 13px;}

/* Links/Buttons */
.btn-link{font-size:12px;color:var(--accent);cursor:pointer;border:none;background:none;padding:0}
.expand{font-size:12px;color:var(--accent);border:none;background:none;cursor:pointer;padding:0}

/* Columns 2–4 */
/* overflow-y: auto;height: 480px; */
.cols2to4{grid-column:2/span 3;display:grid;grid-template-columns:1fr;gap:14px;}
/* .content-ct {height: 1000px;} */
.scan-header{display:flex;flex-direction:column;gap:6px}
.badges{display:flex;gap:8px;flex-wrap:wrap}
.badge{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--border);border-radius:10px;
			 padding:5px 9px;color:var(--muted);font-size:12px;background:rgba(255,255,255,.02)}
.actors{color:var(--muted);font-size:13px}
.hr{height:1px;background:var(--border);margin:10px 0}

/* Tabs (button style) */
.tabbar{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:16px}
.tab{padding:8px 12px;border-radius:10px;border:1px solid var(--border);
		 background:transparent;color:var(--accent);cursor:pointer;font-size:13px}
.tab.active{background:linear-gradient(180deg,#102233,#0e1a27);color:var(--text);border-color:#294357}
.pane{display:none;}
.pane.active{display:block}
.two-col-vert{display:grid;grid-template-columns:1fr;gap:12px}
.scrollbox{max-height:10.5rem;overflow:auto;padding:10px;border-radius:10px;background:rgba(255,255,255,.02);border:1px dashed #233244}
.lever-pills{display:flex;gap:8px;flex-wrap:wrap;margin-top:6px}
.lever{border:1px solid var(--border);border-radius:999px;padding:6px 10px;font-size:12px}

.beat-title{display:flex;align-items:center;justify-content:space-between;}
.beat-title .title{font-weight:700;}

/* Section titles with right-aligned expand */
.section-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}
.section-head .title{font-size:12px;color:var(--muted);text-transform:uppercase;letter-spacing:.6px}

/* Column 5 — Next Beat + Inputs */
.right-stack{grid-column:5/span 1;display:flex;flex-direction:column;gap:14px}
.next{display:flex;align-items:center;justify-content:center}
.next button{width:100%;padding:14px 16px;font-weight:700;letter-spacing:.3px;border-radius:12px;border:1px solid #2a3a4d;
						 background:linear-gradient(180deg,#12344f,#0e273b);color:#e7f6ff;cursor:pointer;box-shadow:0 6px 18px rgba(0,0,0,.35)}
.next button:hover{filter:brightness(1.05)}
.field{display:flex;flex-direction:column;gap:6px;margin-top: 20px;}
label{font-size:12px;color:var(--muted);letter-spacing:.3px}
select,textarea,input[type="text"]{width:100%;border-radius:10px;border:1px solid var(--border);background:#0f1720;color:var(--text);padding:10px 12px;font-size:14px}
textarea{min-height:96px;resize:vertical}

/* Guest row (taller & cleaner) */
.guest-row{position:fixed;left:0;right:0;bottom:0;z-index:5;background:linear-gradient(180deg,rgba(8,16,24,.9),rgba(8,16,24,.92) 50%,rgba(8,16,24,1));border-top:1px solid var(--border)}
.guest-wrap{max-width:1500px;margin:0 auto;padding:14px 18px;display:grid;grid-template-columns:repeat(5,1fr);gap:12px}
.guest-card{min-height:230px;position:relative;display:flex;flex-direction:column}
.guest-label{position:absolute;top:10px;left:12px;font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.6px;display:flex;align-items:center;gap:8px}
.codepill{display:inline-block;border:1px solid var(--border);border-radius:8px;padding:2px 6px;font-size:11px;color:#9cc9ff;background:rgba(76,195,255,.08)}
.guest-card h4{margin:0;font-size:14px}
.tiny{font-size:12px;color:var(--muted)}
.note{font-size:13px;color:#d2e8ff}
.gpill{display:inline-block;border:1px solid var(--border);border-radius:999px;padding:4px 8px;font-size:12px;color:var(--muted);margin-top:6px}
.grow{margin-top:10px}
.guest-card .input-wrap{margin-top:15px}  /* anchors input to bottom */
.guest-card textarea{width:100%;border-radius:10px;border:1px solid var(--border);background:#0f1720;color:var(--text);padding:10px 12px;font-size:14px;min-height:88px}
.row{display:flex;gap:10px;align-items:center;flex-wrap:wrap;justify-content:space-between}
.btn-mini{border:1px solid var(--border);border-radius:10px;background:#0f1720;color:var(--accent);padding:6px 9px;font-size:12px;cursor:pointer}

/* Modals */
.modal{position:fixed;inset:0;display:none;align-items:center;justify-content:center;z-index:50}
.modal.open{display:flex}
.shade{position:absolute;inset:0;background:rgba(0,0,0,.55)}
.box{position:relative;width:min(860px,92%);max-height:80vh;overflow:auto;border-radius:16px;background:linear-gradient(180deg,#0f151d,#0b0f14);border:1px solid var(--border);padding:18px 18px 16px;box-shadow:var(--shadow)}
.title{margin:0 0 8px;font-size:16px}
.close{position:absolute;right:14px;top:12px;border:none;background:none;color:var(--muted);font-size:20px;cursor:pointer}

#overlay {
	position: fixed;
	inset: 0; /* top:0, left:0, right:0, bottom:0 */
	background: rgba(0,0,0,0.7);
	display: flex;
	justify-content: center;
	align-items: center;
	color: #fff;
	font-family: sans-serif;
	font-size: 24px;
	z-index: 9999;
}
#overlay.hidden {
	display: none;
}