.database-sections { display:none; grid-template-columns:repeat(3,minmax(0,1fr)); }
body.database-mode .quick-nav.database-sections { display:grid; gap:2px; padding:2px; margin-top:4px; }
body.database-mode .database-sections button.active { background:#f8fafc; color:#0f172a; box-shadow:0 0 0 1px rgba(255,255,255,.2); }
.database-page [data-database-panel][hidden] { display:none!important; }
.ticket-count-heading { margin:2px 0 12px; font-size:17px; font-weight:950; }
.ticket-count-filters { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,160px); gap:10px; margin-bottom:14px; }
.ticket-count-filters label { display:grid; gap:5px; color:#52637a; font-size:11px; font-weight:800; }
.ticket-count-filters input,.ticket-count-filters select { box-sizing:border-box; width:100%; min-width:0; height:40px; padding:0 10px; border:1px solid #cbd5e1; border-radius:9px; background:white; color:#172033; font:inherit; font-size:14px; }
.ticket-count-filters input:focus-visible,.ticket-count-filters select:focus-visible { outline:3px solid #bfdbfe; border-color:#2563eb; }
.ticket-count-totals { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; }
.ticket-count-total { display:grid; gap:6px; padding:14px; border:1px solid #d6deea; border-radius:12px; background:white; }
.ticket-count-total > span { color:#53647c; font-size:11px; font-weight:850; }
.ticket-count-total strong { font-size:28px; line-height:1; font-variant-numeric:tabular-nums; }
.ticket-count-total small { margin-left:4px; font-size:11px; font-weight:700; }
.ticket-count-total.primary { background:#eaf3ff; border-color:#bdd4f5; color:#1d4d93; }
.ticket-count-note { margin:12px 0; color:#64748b; font-size:11px; line-height:1.6; }
.ticket-count-people { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; margin-top:12px; }
.ticket-count-person { display:grid; grid-template-columns:minmax(0,1fr) auto; align-content:start; gap:6px 12px; min-width:0; padding:14px; border:1px solid #d6deea; border-radius:12px; background:white; }
.ticket-count-name { font-size:14px; font-weight:900; overflow-wrap:anywhere; }
.ticket-count-detail { grid-column:1; color:#64748b; font-size:11px; line-height:1.6; }
.ticket-count-detail span { display:block; }
.ticket-count-remaining { grid-column:2; grid-row:1 / 3; align-self:center; color:#1d4d93; white-space:nowrap; }
.ticket-count-remaining strong { font-size:30px; line-height:1; font-variant-numeric:tabular-nums; }
.ticket-count-remaining small { margin-left:3px; font-size:11px; }
.ticket-count-person.low .ticket-count-remaining { color:#a35c00; }
.ticket-count-person.zero .ticket-count-remaining { color:#ba293b; }
.ticket-count-types { display:flex; grid-column:1 / -1; flex-wrap:wrap; gap:4px; }
.ticket-count-types:empty { display:none; }
.ticket-count-badge { padding:3px 6px; border:1px solid #e1e7ef; border-left:3px solid var(--usage-color); border-radius:5px; color:#34455d; font-size:10px; font-weight:800; }
.ticket-count-supported { grid-column:1 / -1; color:#64748b; font-size:10px; overflow-wrap:anywhere; }
.ticket-count-notice { padding:12px; border-radius:9px; background:#fff4db; color:#795100; font-size:12px; }
.database-future { margin:12px 0; padding:32px 16px; border:1px dashed #cbd5e1; border-radius:12px; text-align:center; color:#64748b; }
.database-future h2 { margin:0 0 8px; color:#34455d; font-size:17px; }
.database-future p { margin:0; font-size:12px; }
@media(max-width:600px) { .ticket-count-people { grid-template-columns:minmax(0,1fr); } .ticket-count-total { padding:12px 10px; } .ticket-count-total strong { font-size:25px; } .ticket-count-filters { grid-template-columns:minmax(0,1fr) 132px; gap:8px; } }
@media(min-width:760px) { body.database-mode .quick-nav.database-sections { grid-template-columns:repeat(3,100px); justify-content:start; } body.database-mode .database-sections button { width:100%; height:30px; font-size:11px; } .database-page { max-width:940px; } }
