a { color: inherit; text-decoration: none; }
button, a { touch-action: manipulation; }
.compact { max-width: 850px; }
.action-row { display: flex; justify-content: flex-end; align-items: center; gap: 14px; margin-top: 30px; }
.danger { border: 1px solid rgba(255,110,110,.45); border-radius: 999px; padding: 14px 20px; background: rgba(120,20,20,.24); color: #fff0f0; font-weight: 700; }
.slot[aria-pressed="true"] { border-color: var(--gold); background: rgba(216,189,119,.09); }
@media (max-width: 760px) { .action-row { align-items: stretch; flex-direction: column; } .action-row > * { width: 100%; text-align: center; } }
.admin-tabs { display: flex; gap: 8px; overflow-x: auto; margin-bottom: 28px; padding-bottom: 8px; }
.admin-tabs button { white-space: nowrap; border: 1px solid var(--line); border-radius: 999px; padding: 10px 15px; background: rgba(255,255,255,.04); color: var(--muted); }
.admin-tabs button[aria-pressed="true"] { border-color: var(--gold); color: var(--ivory); }
.admin-card, .booking-row { display: block; padding: 20px 0; border-top: 1px solid var(--line); }
.admin-card:first-of-type, .booking-row:first-of-type { border-top: 0; }
.slot-times, .admin-actions { display: flex; flex-wrap: wrap; gap: 9px; margin-top: 14px; }
.slot-button { border: 1px solid var(--line); border-radius: 12px; padding: 10px 13px; background: rgba(255,255,255,.04); color: var(--ivory); }
.booking-row { display: flex; justify-content: space-between; gap: 18px; color: var(--muted); }
.booking-row b { color: var(--ivory); }
.integration-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 12px; }
.integration-grid > div { display: grid; grid-template-columns: 14px 1fr; gap: 4px 10px; padding: 16px; border: 1px solid var(--line); border-radius: 15px; }
.integration-grid small { grid-column: 2; color: var(--muted); }
.status-dot { width: 10px; height: 10px; margin-top: 4px; border-radius: 50%; background: #8f3b3b; }
.status-dot.ready { background: #67bd88; box-shadow: 0 0 14px rgba(103,189,136,.5); }
.rules { display: grid; gap: 9px; margin-bottom: 24px; }
.rule { display: grid; grid-template-columns: 1fr 120px 120px; gap: 12px; align-items: center; }
.rule input[type="time"], .admin-settings input { border: 1px solid var(--line); border-radius: 10px; padding: 10px; background: rgba(0,0,0,.3); color: var(--ivory); }
.admin-settings { margin: 24px 0; }
@media (max-width: 760px) { .integration-grid { grid-template-columns: 1fr; } .rule { grid-template-columns: 1fr 1fr; } .rule label { grid-column: 1/-1; } .booking-row { flex-direction: column; } }
