.portal-festival #dashboard,.portal-festival #security,.portal-festival #codes{background:#fff;border:3px solid #0a2431;box-shadow:5px 5px 0 #0a2431}
.portal-festival #dashboard h2,.portal-festival #security h2,.portal-festival #codes h2{font-family:Anton,Impact,sans-serif;font-weight:400}
#code-list{font-size:18px;line-height:1.8;white-space:pre-wrap;overflow-wrap:anywhere;user-select:all}
#dashboard,#audit,#grants,#keys{overflow-wrap:anywhere;min-width:0}
#audit p{padding:12px 0;border-bottom:1px solid #bac7c8}
#keys button,#grants button{margin:8px}
#grant input[type=datetime-local]{font-family:'Nunito Sans',system-ui,sans-serif}
#grant select{width:100%;min-width:0}
#dashboard button,#security button{white-space:normal;max-width:100%}
.portal-festival #analytics-panel{margin-top:28px;padding:18px;background:#f5f9f6;border:2px solid #0a2431}
.analytics-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(145px,1fr));gap:12px;margin:16px 0}
.analytics-card{display:flex;flex-direction:column;gap:4px;padding:14px;background:#fff;border:2px solid #0a2431;box-shadow:3px 3px 0 #0a2431}
.analytics-card strong{font-size:26px;font-variant-numeric:tabular-nums}
.analytics-card span{font-size:14px}
.portal-festival #stripe-intake{background:#fffbee;color:#082d3b;border:2px solid #082d3b}
.analytics-table-wrap{max-width:100%;overflow-x:auto}
#analytics-panel table{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums}
#analytics-panel th,#analytics-panel td{padding:8px;text-align:left;border-bottom:1px solid #bac7c8;white-space:nowrap}
@media(max-width:650px){#dashboard,#security,#codes{padding:14px}.portal-festival .portal-hero{grid-template-columns:1fr}}
