@font-face{font-family:"Roshan";src:url("/fonts/Roshan-Bold.ttf?v=17.0.0") format("truetype");font-style:normal;font-weight:700;font-display:swap}
@font-face{font-family:"Mandisaa";src:url("/fonts/Mandisaa-Regular.ttf?v=17.0.0") format("truetype");font-style:normal;font-weight:400;font-display:swap}

html,body{width:100%;max-width:100%;overflow-x:clip}
body,p,span,a,button,input,select,textarea,label,small,li,td,th,dt,dd,strong,b,em,option,summary,legend{font-family:"Mandisaa","Alexandria","Tajawal",sans-serif!important}
h1,h2,h3,h4,h5,h6,h1 *,h2 *,h3 *,h4 *,h5 *,h6 *{font-family:"Roshan","Alexandria","Tajawal",sans-serif!important;font-weight:700!important;letter-spacing:0!important}
button,input,select,textarea{font-size:16px}
img,svg,video,canvas{max-width:100%}
table{max-width:100%}
.table-wrap{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
.admin-dialog{max-width:calc(100vw - 24px)}

@media(max-width:820px){
 .dashboard{grid-template-columns:minmax(0,1fr)}
 .dash-main{width:100%;min-width:0}
 .dash-content{padding:18px}
 .admin-heading,.page-heading,.welcome{align-items:flex-start;flex-direction:column}
 .toolbar,.filters{align-items:stretch;flex-direction:column}
 .toolbar label,.filters label{width:100%;min-width:0}
 .toolbar>.btn,.filters>.btn{width:100%;margin-bottom:0}
 .form-columns,.form-grid{grid-template-columns:minmax(0,1fr)}
 .panel{max-width:100%;padding:17px}
 .row-actions{flex-wrap:wrap;white-space:normal}
 .public-page-heading{padding-inline:0}
 .public-page-heading h1{font-size:clamp(28px,8vw,38px)}
 .public-prose{font-size:18px}
 .ticket,.checkin-result{width:100%;padding:22px 16px}
}

@media(max-width:520px){
 .dash-header{height:auto;min-height:68px;padding:10px 12px;gap:10px}
 .dash-header strong{font-size:15px}
 .header-actions{gap:4px}
 .metric-grid,.mg-metrics{grid-template-columns:minmax(0,1fr)}
 .admin-heading h1,.page-heading h1{font-size:26px}
 .admin-dialog{width:calc(100vw - 16px);padding:16px;border-radius:16px}
 .dialog-heading,.dialog-footer{align-items:stretch;flex-direction:column}
 .dialog-footer .btn{width:100%}
 .public-values,.public-card-grid,.public-footer-grid{grid-template-columns:minmax(0,1fr)}
 .public-filters{align-items:stretch;flex-direction:column;padding:16px}
 .public-filters label{min-width:0;width:100%}
 .public-contact-band{padding:22px 18px}
 .seat-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
