/* Sourcewav Features 5-8 — Event Command Center */
/* --------------------------------------------------------------------------
   7. EVENT COMMAND CENTER (หลังบ้านผู้จัดงาน)
--------------------------------------------------------------------------- */
.modal.command-center-modal {
  box-sizing:border-box;
  width:min(1040px,calc(100vw - 40px)) !important;
  max-width:calc(100vw - 40px);
  min-width:0;
  max-height:min(74dvh,680px);
  padding:clamp(16px,2.4vw,24px) clamp(14px,2.8vw,28px) !important;
  overflow-x:hidden;
  overflow-y:auto;
  overscroll-behavior:contain;
  scrollbar-gutter:stable;
}
#modalContent>.command-center-modal {
  box-sizing:border-box;
  width:100%;
  max-width:100%;
  min-width:0;
  max-height:none;
  padding:0;
  overflow:visible;
}

/* Organizer check-in launch button, using the supplied camera portal artwork. */
.checkin-launch-button{position:relative;display:grid;grid-template-columns:148px minmax(0,1fr) auto;align-items:center;gap:20px;min-height:164px;margin:0 0 16px;padding:12px 22px 12px 12px;overflow:hidden;border:1px solid #a9c4b6;border-radius:18px;color:#eafff1;text-decoration:none;background:radial-gradient(ellipse at 10% 50%,#1d7c4d63,transparent 34%),linear-gradient(112deg,#0b1713 0%,#101c18 55%,#111819 100%);box-shadow:inset 0 1px #ecfff31c,0 10px 30px #08130e35;isolation:isolate;transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease}
.checkin-launch-button::before{position:absolute;z-index:-1;inset:0;content:"";background:linear-gradient(90deg,transparent 28%,#44e68112 52%,transparent 80%);pointer-events:none}
.checkin-launch-button:hover{transform:translateY(-2px);border-color:#71f0a0;box-shadow:inset 0 1px #ecfff32b,0 15px 34px #0b221749,0 0 22px #39f27d17}
.checkin-launch-button:focus-visible{outline:3px solid #9affb5;outline-offset:3px}
.checkin-launch-art{position:relative;display:grid;place-items:center;width:144px;height:144px;overflow:hidden;border:1px solid #5ddd8e91;border-radius:50%;background:#050c09;box-shadow:0 0 0 5px #40e87912,0 0 30px #3af47c36,inset 0 0 20px #28b75640}
.checkin-launch-art img{display:block;width:100%;height:100%;object-fit:cover;filter:drop-shadow(0 0 8px #30f56d68)}
.checkin-launch-copy{display:grid;justify-items:start;gap:7px;min-width:0}
.checkin-launch-kicker{color:#77ef9d;font-size:12px;font-weight:800;letter-spacing:.12em}
.checkin-launch-copy>strong{color:#f4fff7;font-size:clamp(23px,2.8vw,32px);line-height:1.15;letter-spacing:-.025em}
.checkin-launch-copy>span:not(.checkin-launch-kicker):not(.checkin-launch-cta){color:#b4cbbd;font-size:14px;line-height:1.5}
.checkin-launch-cta{display:inline-flex;align-items:center;gap:9px;margin-top:4px;padding:9px 14px;border:1px solid #6be994;border-radius:9px;color:#06130b;background:linear-gradient(180deg,#b2ffc8,#62e88c 55%,#36c66a);box-shadow:0 3px 0 #1a8643,inset 0 1px #effff3;font-size:14px;font-weight:850}
.checkin-launch-status{display:inline-flex;align-items:center;gap:8px;align-self:start;margin-top:10px;padding:7px 10px;border:1px solid #69db8f52;border-radius:999px;color:#b7f5c9;background:#11321fbb;font-size:12px;font-weight:750;white-space:nowrap}
.checkin-launch-status i{width:7px;height:7px;border-radius:50%;background:#53ed82;box-shadow:0 0 10px #4eff88}
@media(max-width:650px){.checkin-launch-button{grid-template-columns:92px minmax(0,1fr);gap:14px;min-height:118px;padding:10px 12px}.checkin-launch-art{width:90px;height:90px}.checkin-launch-copy{gap:5px}.checkin-launch-copy>strong{font-size:23px}.checkin-launch-copy>span:not(.checkin-launch-kicker):not(.checkin-launch-cta){font-size:13px}.checkin-launch-kicker{font-size:11px}.checkin-launch-cta{margin-top:3px;padding:8px 11px;font-size:13px}.checkin-launch-status{display:none}}
@media(prefers-reduced-motion:reduce){.checkin-launch-button{transition:none}.checkin-launch-button:hover{transform:none}}
.command-center-head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
  margin-bottom: 22px;
  padding-bottom: 16px;
  border-bottom: 1px solid #e2e8f0;
  flex-wrap: wrap;
  min-width:0;
}
.command-center-head>div:first-child { min-width:0; flex:1 1 360px; }
.command-event-selector {
  display: flex;
  align-items: center;
  gap: 10px;
  flex:1 1 280px;
  min-width:0;
}
.command-event-selector select {
  font: 700 16px var(--font);
  color: #172a40;
  background: #f8fafc;
  border: 1px solid #cbd5e1;
  border-radius: 8px;
  padding: 8px 12px;
  width:100%;
  min-width:0;
  max-width:100%;
}
.command-owned-events { display:grid; gap:7px; margin:10px 0 0; }
.command-owned-events>strong { color:#64748b; font-size:11px; text-transform:uppercase; letter-spacing:.06em; }
.command-owned-event { display:flex; justify-content:space-between; align-items:center; gap:10px; width:100%; min-width:0; min-height:46px; padding:8px 10px; border:1px solid #e2e8f0; border-radius:9px; background:#fff; text-align:left; cursor:pointer; transition:border-color .16s ease,background .16s ease,box-shadow .16s ease,transform .16s ease; }
.command-owned-event:hover { border-color:#d4a2a0; background:linear-gradient(180deg,#fff 0%,#fff8f6 100%); box-shadow:0 3px 0 #d9dfce,0 5px 12px #84292914,inset 0 1px 0 #fff; }
.command-owned-event:active { transform:translateY(1px); box-shadow:0 1px 0 #d9dfce,inset 0 1px 2px #84292912; }
.command-owned-title { min-width:0; overflow:hidden; color:#233127; font:700 13px/1.4 var(--font); text-overflow:ellipsis; white-space:nowrap; }
.command-owned-action { display:inline-flex; flex:none; align-items:center; gap:5px; color:#8d3431; font:700 11px/1.3 var(--font); white-space:nowrap; }
.command-owned-action>span { font-size:13px; transition:transform .16s ease; }
.command-owned-event:hover .command-owned-action>span { transform:translate(2px,-2px); }
.command-owned-event:disabled { opacity:.55; cursor:wait; }

/* Organizer dashboard surface: a raised control deck with a clear action list. */
#command-center.command-preview {
  border:1px solid #c8d8a9;
  border-radius:18px;
  background:linear-gradient(150deg,#f7faef 0%,#eef3e4 52%,#e5ecd7 100%);
  box-shadow:0 3px 0 #c2cfaa,0 15px 28px #14241d24,inset 0 1px 0 #fff;
}
#command-center .right-heading { border-color:#c9d5b5; }
#command-center .right-heading .section-kicker { color:#536b2c; letter-spacing:.08em; }
#command-center .right-heading .section-kicker:before { background:#b8e653; box-shadow:0 0 0 3px #a7ce3c30; }
#command-center .right-heading h2 { color:#162319; letter-spacing:-.025em; }
#command-center .command-mini-card {
  position:relative;
  overflow:hidden;
  padding:16px 15px 14px;
  border:1px solid #526650;
  border-radius:13px;
  background:linear-gradient(155deg,#33463c 0%,#24372f 58%,#1b2b25 100%);
  box-shadow:0 3px 0 #13221b,0 8px 16px #18291f35,inset 0 1px 0 #ffffff35,inset 0 -1px 0 #101b16;
}
#command-center .command-mini-card:before {
  position:absolute;top:0;left:14px;right:14px;height:1px;
  background:linear-gradient(90deg,transparent,#efffdc9c,transparent);content:"";
}
#command-center .command-mini-card>strong { color:#f4f8ed; font-size:15px; line-height:1.4; }
#command-center .command-mini-card>small { color:#ced8c7; font-size:12px; }
#command-center .command-mini-stats { gap:0; margin-top:13px; padding-top:11px; border-top:1px solid #ffffff24; }
#command-center .command-mini-stats>div+div { border-left:1px solid #ffffff24; }
#command-center .command-mini-stats b { color:#d8f49a; font-size:14px; }
#command-center .command-mini-stats span { color:#cfdbcd; font-size:10px; }
#command-center .command-owned-events { gap:8px; margin-top:15px; }
#command-center .command-owned-events>strong { color:#46553c; font-size:12px; letter-spacing:0; }
#command-center .command-owned-event {
  min-height:42px;
  padding:7px 8px 7px 11px;
  border:1px solid #d3dcc6;
  border-radius:10px;
  background:linear-gradient(180deg,#fff 0%,#f8faF3 100%);
  box-shadow:0 2px 0 #d9dfce,inset 0 1px 0 #fff;
}
#command-center .command-owned-event { border-color:#d3dcc6; border-radius:10px; background:linear-gradient(180deg,#fff 0%,#f8faf3 100%); box-shadow:0 2px 0 #d9dfce,inset 0 1px 0 #fff; }
#command-center .command-owned-event:hover { border-color:#d4a2a0; background:linear-gradient(180deg,#fff 0%,#fff8f6 100%); }
#command-center .command-owned-event:focus-visible,
#command-center .command-open-btn:focus-visible { outline:3px solid #67972a; outline-offset:3px; }
#command-center .command-open-btn {
  min-height:42px;
  border:1px solid #526d2a;
  border-radius:11px;
  background:linear-gradient(180deg,#d7f58a 0%,#b7df59 58%,#9dc743 100%);
  box-shadow:0 3px 0 #789932,0 7px 14px #33451c2c,inset 0 1px 0 #f4ffd8;
  color:#1c2b17;
  font-size:13px;
  font-weight:800;
}
#command-center .command-open-btn:hover { background:linear-gradient(180deg,#e1f9a4,#c3e66b 58%,#a9d34a); box-shadow:0 4px 0 #789932,0 9px 16px #33451c38,inset 0 1px 0 #f8ffeb; }
#command-center .command-open-btn:active { transform:translateY(2px); box-shadow:0 1px 0 #789932,0 3px 8px #33451c24; }
@media(max-width:680px) {
  #command-center .command-mini-card { padding:14px 12px 12px; }
  #command-center .command-mini-stats span { font-size:9px; }
  #command-center .command-owned-event { align-items:center; }
  #command-center .command-owned-title { white-space:normal; overflow-wrap:anywhere; }
}
@media(prefers-reduced-motion:reduce) {
  #command-center .command-owned-event,
  #command-center .command-owned-action>span,
  #command-center .command-open-btn { transition:none; }
}

/* KPI Overview Scorecards */
.kpi-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
  margin-bottom: 24px;
}
.kpi-card { min-width:0; }
.kpi-card .kpi-label { min-width:0; flex-wrap:wrap; gap:4px 8px; }
.kpi-card .kpi-label>span,.kpi-card .kpi-label>small { min-width:0; }
.kpi-card .kpi-value { min-width:0; overflow-wrap:anywhere; }
.kpi-card {
  background: #ffffff;
  border: 1px solid #d9e2ec;
  border-radius: 12px;
  padding: 16px;
  box-shadow: 0 4px 12px rgba(16, 32, 51, 0.04);
}
.kpi-card .kpi-label {
  font-size: 13px;
  font-weight: 700;
  color: #64748b;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  margin-bottom: 6px;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.kpi-card .kpi-value {
  font-size: 25px;
  font-weight: 700;
  color: #172a40;
  letter-spacing: -0.5px;
}
.kpi-card .kpi-sub {
  font-size: 13px;
  color: #718497;
  margin-top: 5px;
}
.kpi-card.profit {
  background: linear-gradient(145deg, #ffffff, #f0fdf4);
  border-color: #86efac;
}
.kpi-card.profit .kpi-value {
  color: #15803d;
}
.kpi-card.expense {
  background: linear-gradient(145deg, #ffffff, #fef2f2);
  border-color: #fca5a5;
}
.kpi-card.expense .kpi-value {
  color: #b91c1c;
}

.checkin-progress-bar {
  height: 6px;
  background: #e2e8f0;
  border-radius: 999px;
  margin-top: 8px;
  overflow: hidden;
}
.checkin-progress-bar div {
  height: 100%;
  background: #2858ef;
  border-radius: 999px;
  transition: width 0.3s ease;
}

/* Command Center Columns (Expenses & Crew) */
.command-columns {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(0, 0.85fr);
  gap: 20px;
  margin-bottom: 24px;
}
.command-panel-box { min-width:0; }
.command-panel-box {
  background: #f8fafc;
  border: 1px solid #e2e8f0;
  border-radius: 12px;
  padding: 16px 18px;
}
.command-panel-head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 14px;
}
.command-panel-head h3 {
  font-size: 17px;
  margin: 0;
  color: #172a40;
}
.command-mini-btn {
  background: #ffffff;
  border: 1px solid #cbd5e1;
  border-radius: 6px;
  padding: 5px 10px;
  font: 600 12px var(--font);
  color: #334155;
  cursor: pointer;
}
.command-mini-btn:hover {
  background: #f1f5f9;
  border-color: #94a3b8;
}

/* Expense Table */
.expense-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 14px;
}
.expense-table th {
  text-align: left;
  padding: 8px 10px;
  color: #64748b;
  border-bottom: 1px solid #cbd5e1;
  font-weight: 600;
}
.expense-table td {
  padding: 10px;
  border-bottom: 1px solid #e2e8f0;
  color: #334155;
}
.expense-table tr:last-child td {
  border-bottom: 0;
}

/* Crew Roster List */
.crew-list {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.crew-row {
  background: #ffffff;
  border: 1px solid #e2e8f0;
  border-radius: 8px;
  padding: 10px 12px;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.crew-info strong {
  display: block;
  font-size: 15px;
  color: #1e293b;
}
.crew-info small {
  display: block;
  font-size: 13px;
  color: #64748b;
}
.crew-status-badge {
  font-size: 12px;
  font-weight: 700;
  padding: 3px 8px;
  border-radius: 999px;
}
.crew-status-badge.on-duty {
  background: #dcfce7;
  color: #15803d;
}
.crew-status-badge.pending {
  background: #fef3c7;
  color: #b45309;
}

/* Post Event Retrospective Summary Box */
.summary-retro-box {
  background: #ffffff;
  border: 1px solid #d9e2ec;
  border-radius: 12px;
  padding: 18px 20px;
  margin-bottom: 20px;
}
.summary-retro-box h3 {
  font-size: 18px;
  margin: 0 0 10px;
  color: #172a40;
}
.summary-retro-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
  margin-bottom: 16px;
}
.summary-stat-cell {
  min-width:0;
  background: #f8fafc;
  border-radius: 8px;
  padding: 12px;
}
.summary-stat-cell span {
  display: block;
  font-size: 13px;
  color: #64748b;
}
.summary-stat-cell b {
  display: block;
  font-size: 19px;
  color: #172a40;
  margin-top: 3px;
  overflow-wrap:anywhere;
}

@media(max-width:900px) {
  .modal.command-center-modal { width:min(760px,calc(100vw - 32px)) !important; max-width:calc(100vw - 32px); max-height:min(74dvh,640px); }
  .kpi-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
  .command-columns { grid-template-columns:minmax(0,1fr); gap:12px; }
  .summary-retro-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
}
@media(max-width:560px) {
  .modal.command-center-modal { width:calc(100vw - 20px) !important; max-width:calc(100vw - 20px); max-height:min(74dvh,640px); padding:52px 14px 18px !important; }
  .command-center-head { gap:10px; margin-bottom:15px; padding-bottom:12px; }
  .command-center-head>div:first-child { flex-basis:100%; }
  .command-center-head h2 { font-size:21px !important; overflow-wrap:anywhere; }
  .command-center-head p { font-size:12px !important; }
  .command-event-selector { flex-basis:100%; }
  .command-event-selector select { font-size:14px; }
  .checkin-launch-button { grid-template-columns:70px minmax(0,1fr); gap:10px; min-height:104px; padding:9px; }
  .checkin-launch-art { width:68px; height:68px; }
  .checkin-launch-copy>strong { font-size:19px; }
  .checkin-launch-copy>span:not(.checkin-launch-kicker):not(.checkin-launch-cta) { overflow-wrap:anywhere; }
  .kpi-grid { gap:8px; margin-bottom:15px; }
  .kpi-card { padding:11px; }
  .kpi-card .kpi-label { align-items:flex-start; font-size:11px; }
  .kpi-card .kpi-label>small { font-size:10px; }
  .kpi-card .kpi-value { font-size:20px; }
  .kpi-card .kpi-sub { font-size:11px; }
  .command-payment-queue-callout { align-items:flex-start; flex-wrap:wrap; }
  .command-payment-queue-callout>div { min-width:0; flex:1 1 170px; }
  .command-panel-box { padding:12px; }
  .command-panel-head { align-items:flex-start; flex-wrap:wrap; gap:8px; }
  .expense-table { table-layout:fixed; font-size:12px; }
  .expense-table th,.expense-table td { padding:7px 5px; overflow-wrap:anywhere; }
  .crew-row { gap:8px; flex-wrap:wrap; }
  .crew-info { min-width:0; }
  .summary-retro-box { padding:14px 12px; }
  .summary-retro-grid { grid-template-columns:minmax(0,1fr); gap:8px; }
}

/* Organizer Pro Banner */
.pro-tier-banner {
  background: linear-gradient(135deg, #10243a, #19385c);
  color: #ffffff;
  border-radius: 12px;
  padding: 18px 22px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
}
.pro-tier-banner h4 {
  margin: 0 0 4px;
  font-size: 17px;
  color: #72ded0;
}
.pro-tier-banner p {
  margin: 0;
  font-size: 14px;
  color: #cbd5e1;
}


.command-payment-queue-callout{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:12px 0 16px;padding:12px 14px;border:1px solid #d4c2ed;border-radius:12px;background:linear-gradient(120deg,#f5f0fd,#fff)}
.command-payment-queue-callout div{display:grid;gap:3px}.command-payment-queue-callout strong{color:#302446;font-size:15px}.command-payment-queue-callout small{color:#6f687a;font-size:12px}.command-payment-queue-callout button,.command-payment-queue-callout a{display:inline-flex;align-items:center;justify-content:center;min-height:36px;padding:0 13px;border:0;border-radius:9px;background:#604291;color:#fff;font:700 12px var(--font);text-decoration:none;cursor:pointer}
.ticket-review-queue{max-height:85dvh;overflow:auto;padding:20px;color:#25232b}.ticket-review-queue>header{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:14px}.ticket-review-queue>header span{color:#7559a0;font-size:11px;font-weight:800;letter-spacing:.13em}.ticket-review-queue>header h2{margin:3px 0;color:#25202e;font-size:26px}.ticket-review-queue>header p{margin:0;color:#706c76;font-size:13px}.ticket-review-queue>header button{min-height:34px;padding:0 11px;border:1px solid #d5c9e4;border-radius:9px;background:#f8f5fc;color:#4f386e;font:600 12px var(--font);cursor:pointer}
.ticket-review-warning{margin:0 0 14px;padding:11px 12px;border:1px solid #edc795;border-radius:10px;background:#fff7e8;color:#765326;font-size:13px;line-height:1.6}
.ticket-review-list{display:grid;gap:12px}.ticket-review-card{padding:14px;border:1px solid #ddd8e5;border-radius:13px;background:#fff;box-shadow:0 5px 16px #2a20400b}.ticket-review-card-head{display:flex;justify-content:space-between;gap:10px}.ticket-review-state{display:inline-flex;padding:4px 8px;border-radius:999px;background:#fff3d8;color:#79551d;font-size:11px;font-weight:800}.ticket-review-card-head h3{margin:7px 0 2px;font-size:17px}.ticket-review-card-head p{margin:0;color:#77717f;font-size:12px}.ticket-review-card-head>strong{color:#2e2638;font-size:18px;white-space:nowrap}.ticket-review-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin:12px 0;padding:10px;border-radius:9px;background:#f6f4f9}.ticket-review-facts span{display:grid;gap:2px;color:#77717f;font-size:11px}.ticket-review-facts b{overflow-wrap:anywhere;color:#2d2933;font-size:13px}.ticket-review-message{margin:10px 0;color:#695a79;font-size:12px;line-height:1.5}.ticket-review-slip{display:inline-flex;margin:0 0 10px;color:#5a3b80;font-size:13px;font-weight:700}.ticket-review-slip-missing{display:block;margin-bottom:10px;color:#a94442;font-size:12px}.ticket-review-history{margin-bottom:10px;padding:9px 10px;border-radius:8px;background:#f7f5fa;font-size:12px}.ticket-review-history p{margin:5px 0 0;color:#66616c;line-height:1.5}.ticket-review-note{display:grid;gap:5px;color:#3c3545;font-size:12px;font-weight:700}.ticket-review-note textarea{width:100%;min-height:58px;padding:9px;border:1px solid #d7d1df;border-radius:8px;background:#fff;color:#29252f;font:400 13px var(--font);resize:vertical}.ticket-review-confirm{display:flex;align-items:flex-start;gap:7px;margin:10px 0;color:#685522;font-size:12px;line-height:1.5}.ticket-review-confirm input{margin:1px 0 0;accent-color:#5e3a87}.ticket-review-actions{display:flex;justify-content:flex-end;gap:8px}.ticket-review-actions button{min-height:34px;padding:0 11px;border:1px solid #c8bfd2;border-radius:8px;background:#f7f5f9;color:#51495a;font:700 12px var(--font);cursor:pointer}.ticket-review-actions button:last-child{border-color:#654590;background:#654590;color:#fff}.ticket-review-actions button:disabled{opacity:.55;cursor:wait}.ticket-review-result{margin-top:9px;color:#457752;font-size:12px;line-height:1.5}.ticket-review-empty{padding:30px 14px;border:1px dashed #d7cedf;border-radius:12px;text-align:center}.ticket-review-empty h3{margin:0 0 6px}.ticket-review-empty p{margin:0;color:#77717f;font-size:13px}
.ticket-review-follow-up{margin-top:22px;padding-top:16px;border-top:1px solid #e5deec}.ticket-review-follow-up>h3{margin:0 0 5px;color:#33273e;font-size:17px}.ticket-review-follow-up>p{margin:0 0 12px;color:#706879;font-size:12px;line-height:1.55}.ticket-review-follow-up-card .ticket-review-state{background:#e9e7ed;color:#5f5866}
@media(max-width:560px){.command-payment-queue-callout{align-items:flex-start}.ticket-review-queue{padding:16px 12px}.ticket-review-facts{grid-template-columns:1fr 1fr}.ticket-review-actions{display:grid;grid-template-columns:1fr}.ticket-review-actions button{min-height:40px}}
.ticket-review-retry{min-height:34px;padding:0 11px;border:1px solid #b7a9c8;border-radius:8px;background:#f6f2fb;color:#51406b;font:700 12px var(--font);cursor:pointer}.ticket-review-retry:disabled{opacity:.55;cursor:wait}.ticket-review-follow-up-card .ticket-review-result{color:#51406b}

/* Organizer check-in launch button, using the supplied camera portal artwork. */
.checkin-launch-button{position:relative;display:grid;grid-template-columns:148px minmax(0,1fr) auto;align-items:center;gap:20px;min-height:164px;margin:0 0 16px;padding:12px 22px 12px 12px;overflow:hidden;border:1px solid #a9c4b6;border-radius:18px;color:#eafff1;text-decoration:none;background:radial-gradient(ellipse at 10% 50%,#1d7c4d63,transparent 34%),linear-gradient(112deg,#0b1713 0%,#101c18 55%,#111819 100%);box-shadow:inset 0 1px #ecfff31c,0 10px 30px #08130e35;isolation:isolate;transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease}
.checkin-launch-button::before{position:absolute;z-index:-1;inset:0;content:"";background:linear-gradient(90deg,transparent 28%,#44e68112 52%,transparent 80%);pointer-events:none}
.checkin-launch-button:hover{transform:translateY(-2px);border-color:#71f0a0;box-shadow:inset 0 1px #ecfff32b,0 15px 34px #0b221749,0 0 22px #39f27d17}
.checkin-launch-button:focus-visible{outline:3px solid #9affb5;outline-offset:3px}
.checkin-launch-art{position:relative;display:grid;place-items:center;width:144px;height:144px;overflow:hidden;border:1px solid #5ddd8e91;border-radius:50%;background:#050c09;box-shadow:0 0 0 5px #40e87912,0 0 30px #3af47c36,inset 0 0 20px #28b75640}
.checkin-launch-art img{display:block;width:100%;height:100%;object-fit:cover;filter:drop-shadow(0 0 8px #30f56d68)}
.checkin-launch-copy{display:grid;justify-items:start;gap:7px;min-width:0}
.checkin-launch-kicker{color:#77ef9d;font-size:12px;font-weight:800;letter-spacing:.12em}
.checkin-launch-copy>strong{color:#f4fff7;font-size:clamp(23px,2.8vw,32px);line-height:1.15;letter-spacing:-.025em}
.checkin-launch-copy>span:not(.checkin-launch-kicker):not(.checkin-launch-cta){color:#b4cbbd;font-size:14px;line-height:1.5}
.checkin-launch-cta{display:inline-flex;align-items:center;gap:9px;margin-top:4px;padding:9px 14px;border:1px solid #6be994;border-radius:9px;color:#06130b;background:linear-gradient(180deg,#b2ffc8,#62e88c 55%,#36c66a);box-shadow:0 3px 0 #1a8643,inset 0 1px #effff3;font-size:14px;font-weight:850}
.checkin-launch-status{display:inline-flex;align-items:center;gap:8px;align-self:start;margin-top:10px;padding:7px 10px;border:1px solid #69db8f52;border-radius:999px;color:#b7f5c9;background:#11321fbb;font-size:12px;font-weight:750;white-space:nowrap}
.checkin-launch-status i{width:7px;height:7px;border-radius:50%;background:#53ed82;box-shadow:0 0 10px #4eff88}
@media(max-width:650px){.checkin-launch-button{grid-template-columns:92px minmax(0,1fr);gap:14px;min-height:118px;padding:10px 12px}.checkin-launch-art{width:90px;height:90px}.checkin-launch-copy{gap:5px}.checkin-launch-copy>strong{font-size:23px}.checkin-launch-copy>span:not(.checkin-launch-kicker):not(.checkin-launch-cta){font-size:13px}.checkin-launch-kicker{font-size:11px}.checkin-launch-cta{margin-top:3px;padding:8px 11px;font-size:13px}.checkin-launch-status{display:none}}
@media(prefers-reduced-motion:reduce){.checkin-launch-button{transition:none}.checkin-launch-button:hover{transform:none}}
