/* LaLo-BMS – Centara Mirage Mũi Né · shared additions (resort identity, page grids, dispatch, hub) */
.tmark { display: inline-flex; align-items: center; justify-content: center; border-radius: 9px; color: #fff; font-weight: 800; letter-spacing: -.02em; flex: none; box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .18); }
.side .resort { margin: 12px 10px 4px; padding: 9px 10px; border-radius: 10px; background: rgba(255, 255, 255, .07); border: 1px solid rgba(255, 255, 255, .08); display: flex; align-items: center; gap: 10px; color: #fff; }
.side .resort b { display: block; font-size: 13px; line-height: 1.2; }
.side .resort small { display: block; font-size: 11px; color: #8FB9BF; }

/* generic page grids */
.g2 { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; align-items: start; }
.g3 { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; align-items: start; }
.g12 { display: grid; grid-template-columns: 1.25fr 1fr; gap: 12px; align-items: start; }
.g21 { display: grid; grid-template-columns: 1fr 1.35fr; gap: 12px; align-items: start; }
.stack { display: grid; gap: 12px; align-content: start; }
.kpis.k4 { grid-template-columns: repeat(4, 1fr); }
.kpis.k6 { grid-template-columns: repeat(6, 1fr); }
.money { font-variant-numeric: tabular-nums; font-weight: 700; }
.tbl td.r, .tbl th.r { text-align: right; }
.tbl .sub2 { display: block; color: var(--muted); font-size: 11.5px; font-weight: 500; }
.linkish { color: var(--teal); font-weight: 600; }
.code-ref { font-family: ui-monospace, Menlo, Consolas, monospace; font-size: 11.5px; background: var(--line-2); border-radius: 5px; padding: 1px 6px; color: var(--text-2); }
.statline { display: flex; gap: 6px; align-items: center; flex-wrap: wrap; }
.statline .arrow { color: var(--muted); }
.hint { font-size: 11.5px; color: var(--muted); }
.bound { font-size: 11px; color: var(--muted); white-space: nowrap; }

.tcell { display: flex; align-items: center; gap: 10px; }
.tcell b { display: block; font-size: 13px; }
.tcell small { color: var(--muted); font-size: 11.5px; }

.mat td, .mat th { text-align: center; }
.mat td:first-child, .mat th:first-child { text-align: left; }
.mat .y { color: var(--teal); } .mat .n { color: #CBD5DA; }

/* dispatch (auto-accept) */
.qbucket { display: flex; align-items: center; gap: 6px; font-size: 10.5px; font-weight: 800; letter-spacing: .08em; color: var(--muted); padding: 10px 4px 4px; }
.qbucket.esc { color: #B91C1C; }
.qbucket .n { background: var(--line-2); border-radius: 8px; padding: 0 6px; line-height: 16px; color: var(--text-2); }
.qbucket.esc .n { background: #FEE2E2; color: #B91C1C; }
.rq.esc { border-color: #FCA5A5 !important; background: #FFF7F7; }
.timer.auto { color: var(--teal-700); background: var(--teal-50); }
.tabs button .cnt.red { background: #FEE2E2; color: #B91C1C; }
.attempts { display: grid; gap: 0; margin-top: 10px; border: 1px solid #FECACA; border-radius: 9px; overflow: hidden; }
.attempts .ah { background: #FEF2F2; color: #991B1B; font-weight: 700; font-size: 12px; padding: 7px 10px; display: flex; gap: 6px; align-items: center; }
.attempts .at { display: grid; grid-template-columns: 22px 46px 1fr auto; gap: 8px; align-items: center; padding: 6px 10px; border-top: 1px solid #FEE2E2; font-size: 12px; }
.attempts .at .n { width: 20px; height: 20px; border-radius: 50%; background: #FEE2E2; color: #B91C1C; display: inline-flex; align-items: center; justify-content: center; font-weight: 800; font-size: 11px; }
.sg .rej { font-size: 10.5px; font-weight: 700; color: #B91C1C; background: #FEE2E2; border-radius: 5px; padding: 1px 5px; margin-left: 4px; }

/* hub (index) extras */
.newlist { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; margin-top: 14px; }
.newlist div { background: #fff; border: 1px solid var(--line); border-radius: 12px; padding: 12px 14px; font-size: 12.5px; color: var(--text-2); display: flex; gap: 10px; }
.newlist b { color: var(--text); display: block; font-size: 13px; }
.newlist .ic { color: var(--teal); margin-top: 2px; }
.dispatch { grid-template-rows: 1fr 322px; }
.reqcard .rc-b { overflow: auto; }
.attempts { margin-top: 8px; }
.attempts .ah { padding: 5px 9px; font-size: 11.5px; }
.attempts .at { padding: 4px 9px; font-size: 11.5px; grid-template-columns: 20px 40px 1fr auto; }
.attempts .at .bidpill { height: 18px; min-width: 36px; font-size: 10.5px; }
