*{box-sizing:border-box}body{margin:0;font-family:Arial,sans-serif}.userdash-page{background:linear-gradient(#f8fafc 0%,#eef3f9 100%);min-height:100vh;padding:22px}.userdash-container{max-width:1280px;margin:0 auto}.userdash-hero{justify-content:space-between;align-items:center;gap:18px;display:flex}.userdash-hero h1{color:#0f172a;letter-spacing:-.03em;margin:4px 0 6px;font-size:30px;line-height:1.15}.stats-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;display:grid}.stat-card{flex-direction:column;gap:10px;min-height:92px;display:flex}.stat-label{color:#64748b;font-size:13px;font-weight:700}.stat-value{color:#0f172a;font-size:32px;font-weight:850}.quick-panel{color:#fff;background:linear-gradient(135deg,#0f172a 0%,#1e293b 100%);justify-content:space-between;align-items:center;gap:18px;display:flex}.quick-panel .section-eyebrow{color:#93c5fd}.quick-panel h2{letter-spacing:-.02em;margin:4px 0 8px;font-size:24px}.quick-panel .muted{color:#cbd5e1}.mini-qr-wrap{background:#fff;border-radius:18px;flex-shrink:0;padding:10px}.mini-qr{object-fit:contain;width:92px;height:92px;display:block}.userdash-tabs{gap:10px;padding:14px 16px;display:flex}.secondary-btn{color:#0f172a;cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:12px;padding:10px 14px;font-weight:800}.events-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;display:grid}.event-card{background:#fff;border:1px solid #e5eaf1;border-radius:20px;overflow:hidden;box-shadow:0 10px 26px #0f172a0a}.event-card.compact{cursor:pointer;transition:all .22s}.event-card.compact:hover{border-color:#bfdbfe;transform:translateY(-4px);box-shadow:0 18px 42px #0f172a1c}.event-image-wrap{background:#e2e8f0;height:170px;position:relative}.event-image{object-fit:cover;width:100%;height:100%}.event-image-placeholder{background:linear-gradient(135deg,#dbeafe 0%,#ccfbf1 100%);place-items:center;height:100%;display:grid}.event-image-placeholder span{color:#2563eb;background:#fff;border-radius:22px;place-items:center;width:74px;height:74px;font-size:34px;font-weight:850;display:grid;box-shadow:0 12px 28px #0f172a1a}.pill{border-radius:999px;padding:7px 12px;font-size:12px;font-weight:850;position:absolute;top:14px;right:14px}.pill-static{white-space:nowrap;border-radius:999px;padding:8px 13px;font-size:12px;font-weight:850;display:inline-flex}.pill.open,.pill-static.open{color:#166534;background:#dcfce7}.pill.full,.pill-static.full{color:#991b1b;background:#fee2e2}.event-card-body{padding:18px}.event-card-body.compact{padding:16px}.event-card h3{color:#0f172a;letter-spacing:-.02em;margin:0 0 8px;font-size:20px}.event-description{color:#64748b;margin:0 0 14px;line-height:1.55}.event-description.clamp{-webkit-line-clamp:2;-webkit-box-orient:vertical;min-height:44px;display:-webkit-box;overflow:hidden}.event-description.detail{margin-bottom:18px;font-size:15px}.event-mini-meta{flex-wrap:wrap;gap:8px;margin-bottom:10px;display:flex}.event-mini-meta span{color:#334155;background:#f8fafc;border:1px solid #e5eaf1;border-radius:999px;padding:7px 10px;font-size:12px;font-weight:750}.event-meta-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:14px;display:grid}.event-meta-grid.detail{grid-template-columns:repeat(4,minmax(0,1fr))}.meta-box{background:#f8fafc;border:1px solid #e5eaf1;border-radius:14px;padding:12px}.meta-box span{color:#64748b;margin-bottom:5px;font-size:12px;font-weight:700;display:block}.meta-box strong{color:#0f172a;font-size:14px}.availability-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:14px;display:grid}.availability-row.compact{margin-top:12px}.availability-row.detail{margin-bottom:16px}.availability-row div{background:#eff6ff;border:1px solid #bfdbfe;border-radius:14px;padding:12px}.availability-row span{color:#1d4ed8;margin-bottom:5px;font-size:12px;font-weight:700;display:block}.availability-row strong{color:#0f172a;font-size:15px}.tap-hint{color:#2563eb;margin:12px 0 0;font-size:13px;font-weight:850}.contact-box{color:#475569;background:#f8fafc;border:1px dashed #cbd5e1;border-radius:14px;gap:4px;margin-bottom:14px;padding:12px;font-size:13px;display:grid}.contact-box.detail{grid-template-columns:repeat(4,auto);justify-content:start;align-items:center;gap:12px;font-size:14px}.contact-box strong{color:#0f172a}.event-detail-card{background:#fff;border:1px solid #e5eaf1;border-radius:22px;grid-template-columns:.95fr 1.05fr;gap:22px;padding:18px;display:grid;box-shadow:0 18px 42px #0f172a14}.event-detail-visual{background:#e2e8f0;border-radius:18px;min-height:420px;overflow:hidden}.event-detail-image{object-fit:cover;width:100%;height:100%}.event-detail-placeholder{background:linear-gradient(135deg,#dbeafe 0%,#ccfbf1 100%);place-items:center;height:100%;display:grid}.event-detail-placeholder span{color:#2563eb;background:#fff;border-radius:28px;place-items:center;width:96px;height:96px;font-size:44px;font-weight:850;display:grid;box-shadow:0 12px 28px #0f172a1a}.event-detail-content{flex-direction:column;justify-content:center;display:flex}.event-detail-title-row{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:12px;display:flex}.event-detail-title-row h3{color:#0f172a;letter-spacing:-.03em;margin:4px 0 0;font-size:32px;line-height:1.1}.booking-bar{grid-template-columns:1fr auto;align-items:center;gap:10px;display:grid}.booking-bar.detail{grid-template-columns:minmax(220px,1fr) auto;margin-top:4px}.booking-input{box-sizing:border-box;border:1px solid #cbd5e1;border-radius:12px;outline:none;width:100%;padding:11px 12px}.booking-input:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1f}.inline-warning{color:#dc2626;grid-column:1/-1;margin:0;font-size:13px;font-weight:700}.history-grid{gap:18px;display:grid}.history-card{background:#fff;border:1px solid #e5eaf1;border-radius:20px;grid-template-columns:1fr 240px;gap:18px;padding:18px;display:grid;box-shadow:0 10px 26px #0f172a0a}.history-top{justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:14px;display:flex}.history-top h3{color:#0f172a;letter-spacing:-.02em;margin:4px 0;font-size:22px}.history-subtitle{color:#64748b;margin:0;font-weight:700}.status-badge{white-space:nowrap;border-radius:999px;padding:8px 12px;font-size:12px;font-weight:850}.history-details{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.detail-row{background:#f8fafc;border:1px solid #e5eaf1;border-radius:14px;padding:12px}.detail-row span{color:#64748b;margin-bottom:5px;font-size:12px;font-weight:700;display:block}.detail-row strong{color:#0f172a}.timeline-box{background:#f8fafc;border:1px solid #e5eaf1;border-radius:14px;margin-top:14px;padding:12px}.timeline-box h4{color:#0f172a;margin:0 0 8px}.timeline-list{color:#475569;margin:0;padding-left:18px;line-height:1.6}.qr-box{background:#f8fafc;border:1px solid #e5eaf1;border-radius:18px;align-content:center;place-items:center;gap:10px;padding:16px;display:grid}.qr-title{color:#334155;text-align:center;margin:0;font-size:13px;font-weight:800}.qr-image{object-fit:contain;background:#fff;border:1px solid #e5eaf1;border-radius:14px;width:180px;height:180px;padding:8px}@media (width<=1180px){.events-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.event-detail-card{grid-template-columns:1fr}.event-detail-visual{min-height:320px}.event-meta-grid.detail{grid-template-columns:repeat(2,minmax(0,1fr))}.contact-box.detail{grid-template-columns:1fr}}@media (width<=900px){.userdash-hero{flex-direction:column;align-items:flex-start}.brand-block{align-items:flex-start}.profile-menu-wrap,.profile-chip{width:100%}.profile-dropdown{width:100%;left:0;right:auto}.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.quick-panel{flex-direction:column;align-items:flex-start}.history-card{grid-template-columns:1fr}.qr-box{justify-items:start}}@media (width<=640px){.userdash-page{padding:14px}.card{padding:18px}.brand-block{flex-direction:column}.dashboard-logo{width:76px;height:76px}.userdash-hero h1{font-size:26px}.stats-grid,.events-grid,.event-meta-grid,.event-meta-grid.detail,.availability-row,.history-details{grid-template-columns:1fr}.event-detail-title-row{flex-direction:column}.booking-bar,.booking-bar.detail{grid-template-columns:1fr}.userdash-tabs{flex-direction:column}.tab-btn,.primary-btn,.secondary-btn{width:100%}.qr-image{width:150px;height:150px}}.booking-quantity-box{gap:6px;display:grid}.booking-quantity-label{color:#334155;font-size:12px;font-weight:800}.booking-quantity-help{color:#64748b;font-size:12px;line-height:1.4}.admindash-page{background:linear-gradient(#f8fafc 0%,#eef3f9 100%);min-height:100vh;padding:22px}.admindash-container{max-width:1180px;margin:0 auto}.admindash-hero{justify-content:space-between;align-items:center;gap:18px;padding:22px 24px;display:flex}.admindash-hero h1{color:#0f172a;letter-spacing:-.03em;margin:4px 0 6px;font-size:30px;line-height:1.15}.stats-grid{display:none!important}.profile-chip{background:#f8fafc;border-radius:18px;align-items:center;gap:12px;min-width:300px;max-width:390px;padding:10px 14px;transition:all .2s;display:flex;position:relative;border:1px solid #e5e7eb!important}.profile-chip:hover{background:#f1f5f9;box-shadow:0 10px 24px #0f172a14;border-color:#cbd5e1!important}.profile-chip:focus{outline:none;box-shadow:0 0 0 4px #2563eb1f;border-color:#2563eb!important}.profile-avatar{color:#fff;background:#2563eb;border-radius:50%;flex-shrink:0;place-items:center;width:44px;height:44px;font-size:18px;font-weight:800;display:grid}.profile-dropdown .menu-btn{text-align:left;width:100%;box-shadow:none;background:0 0;border:none;justify-content:flex-start;margin:0}.profile-dropdown .menu-btn:hover{background:#f1f5f9}.profile-dropdown .menu-btn+.menu-btn{margin-top:6px}.admin-menu{flex-wrap:wrap;gap:10px;margin-bottom:18px;padding:14px 16px;display:flex}.menu-btn{color:#0f172a;cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:12px;padding:10px 15px;font-weight:800;transition:all .2s}.menu-btn:hover{background:#f8fafc;border-color:#94a3b8}.menu-btn.active{color:#fff;background:#2563eb;border-color:#2563eb;box-shadow:0 8px 18px #2563eb38}.card-header{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}section.card>div[style*="grid-template-columns: repeat(4"]{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:14px!important}section.card>div[style*="grid-template-columns: repeat(4"]>div{box-shadow:0 10px 24px #0f172a0a;background:linear-gradient(#fff 0%,#f8fafc 100%)!important;border:1px solid #e5eaf1!important;border-radius:18px!important;min-height:104px!important;padding:18px!important}section.card>div[style*="grid-template-columns: repeat(4"]>div:hover{box-shadow:0 14px 30px #0f172a12;border-color:#cbd5e1!important}.summary-table-wrap{overflow-x:auto}.styled-table{border-collapse:collapse;background:#fff;width:100%;margin-top:10px}.styled-table th,.styled-table td{text-align:left;border:1px solid #e5eaf1;padding:12px 14px;font-size:14px}.styled-table th{color:#334155;background:#f8fafc;font-weight:800}.styled-table td{color:#0f172a}.filter-bar{margin-bottom:14px}.select-input,.form-input{box-sizing:border-box;background:#fff;border:1px solid #cbd5e1;border-radius:12px;outline:none;width:100%;padding:11px 12px;font-size:14px}.select-input{max-width:380px}.admin-form-grid{gap:12px;max-width:620px;display:grid}.subsection-title h3{color:#0f172a;margin:0}.primary-btn{color:#fff;cursor:pointer;background:#2563eb;border:none;border-radius:12px;padding:11px 16px;font-weight:800;transition:all .2s}.status-badge{text-transform:capitalize;border-radius:999px;padding:7px 12px;font-size:12px;font-weight:800}.status-pending{color:#92400e;background:#fef3c7}.status-partial{color:#1d4ed8;background:#dbeafe}.status-full{color:#166534;background:#dcfce7}@media (width<=1100px){section.card>div[style*="grid-template-columns: repeat(4"]{grid-template-columns:repeat(2,minmax(0,1fr))!important}}@media (width<=900px){.admindash-hero{flex-direction:column;align-items:flex-start}.profile-chip{width:100%;min-width:100%;max-width:100%}.profile-name,.profile-meta{max-width:80%}.profile-dropdown{width:100%;left:0;right:auto}}@media (width<=640px){.admindash-page{padding:14px}.card{padding:18px}.admindash-hero h1{font-size:26px}.admin-menu{flex-direction:column}.menu-btn,.primary-btn,.select-input{width:100%}section.card>div[style*="grid-template-columns: repeat(4"]{grid-template-columns:1fr!important}}.globaldash-page{background:linear-gradient(#f8fafc 0%,#eef3f9 100%);min-height:100vh;padding:22px}.globaldash-container{max-width:1280px;margin:0 auto}.globaldash-hero{justify-content:space-between;align-items:center;gap:18px;display:flex}.globaldash-hero h1{color:#0f172a;letter-spacing:-.03em;margin:4px 0 6px;font-size:30px;line-height:1.15}.profile-menu-wrap{position:relative}.profile-chip{cursor:pointer;background:#f8fafc;border:1px solid #e5e7eb;border-radius:18px;align-items:center;gap:12px;min-width:300px;max-width:380px;padding:10px 14px;transition:all .2s;display:flex}.profile-chip:hover{background:#f1f5f9;border-color:#cbd5e1;box-shadow:0 10px 24px #0f172a14}.profile-chip:after{content:"▾";color:#64748b;margin-left:auto;font-size:15px;font-weight:800}.profile-avatar,.mini-avatar{color:#fff;background:#2563eb;border-radius:50%;flex-shrink:0;place-items:center;font-weight:800;display:grid}.profile-avatar{width:44px;height:44px;font-size:18px}.mini-avatar{width:42px;height:42px;font-size:17px}.profile-name{color:#0f172a;white-space:nowrap;text-overflow:ellipsis;max-width:220px;font-weight:800;line-height:1.2;overflow:hidden}.profile-meta{color:#64748b;white-space:nowrap;text-overflow:ellipsis;max-width:220px;margin-top:3px;font-size:13px;overflow:hidden}.profile-dropdown{z-index:50;background:#fff;border:1px solid #e5eaf1;border-radius:16px;min-width:250px;padding:12px;position:absolute;top:calc(100% + 10px);right:0;box-shadow:0 18px 40px #0f172a24}.dropdown-user{border-bottom:1px solid #e5eaf1;gap:4px;margin-bottom:8px;padding:10px 10px 12px;display:grid}.dropdown-user strong{color:#0f172a}.dropdown-user span{color:#64748b;font-size:13px}.dropdown-action{text-align:left;cursor:pointer;background:0 0;border:none;border-radius:12px;width:100%;padding:10px 12px;font-weight:800}.dropdown-action:hover{background:#f1f5f9}.dropdown-action.danger{color:#dc2626}.globaldash-tabs{flex-wrap:wrap;gap:10px;padding:14px 16px;display:flex}.tab-btn{color:#0f172a;cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:12px;padding:10px 15px;font-weight:800;transition:all .2s}.tab-btn:hover{background:#f8fafc;border-color:#94a3b8}.tab-btn.active{color:#fff;background:#2563eb;border-color:#2563eb;box-shadow:0 8px 18px #2563eb38}.card-header,.list-toolbar{justify-content:space-between;align-items:center;gap:16px;display:flex}.card-header{margin-bottom:18px}.list-toolbar{border-top:1px solid #e5eaf1;margin:26px 0 18px;padding-top:22px}.card-header h2,.list-toolbar h2{color:#0f172a;letter-spacing:-.02em;margin:4px 0 0;font-size:22px}.summary-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;display:grid}.summary-card{background:linear-gradient(#fff 0%,#f8fafc 100%);border:1px solid #e5eaf1;border-radius:18px;min-height:104px;padding:18px;box-shadow:0 10px 24px #0f172a0a}.summary-card span{color:#64748b;font-size:13px;font-weight:700}.summary-card strong{color:#0f172a;margin-top:16px;font-size:32px;font-weight:900;display:block}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.event-form-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.span-2{grid-column:span 2}.form-input,.select-input{box-sizing:border-box;background:#fff;border:1px solid #cbd5e1;border-radius:12px;outline:none;width:100%;padding:11px 12px;font-size:14px}.textarea-input{resize:vertical;min-height:100px}.form-input:focus,.select-input:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1f}.toggle-row{color:#334155;background:#f8fafc;border:1px solid #e5eaf1;border-radius:12px;align-items:center;gap:10px;padding:11px 12px;font-size:14px;font-weight:800;display:flex}.primary-btn,.secondary-btn,.danger-btn{cursor:pointer;border-radius:12px;padding:11px 15px;font-weight:800;transition:all .2s}.danger-btn{color:#dc2626;background:#fff;border:1px solid #fecaca}.danger-btn:hover{background:#fef2f2}.filter-row{flex-wrap:wrap;gap:10px;display:flex}.admin-grid,.events-grid,.governance-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.admin-card,.event-card,.governance-card{background:#fff;border:1px solid #e5eaf1;border-radius:18px;padding:18px;box-shadow:0 10px 26px #0f172a0a}.admin-card-top,.event-card-head{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:14px;display:flex}.admin-card-top{align-items:center}.admin-card h3,.event-card h3,.governance-card h3{color:#0f172a;letter-spacing:-.02em;margin:0 0 4px;font-size:19px}.admin-card p,.event-card p,.governance-card p{color:#64748b;margin:0;line-height:1.55}.status-pill.active{color:#166534;background:#dcfce7}.status-pill.inactive{color:#991b1b;background:#fee2e2}.info-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:14px 0;display:grid}.info-list div{background:#f8fafc;border:1px solid #e5eaf1;border-radius:14px;padding:11px}.info-list span{color:#64748b;margin-bottom:5px;font-size:12px;font-weight:700;display:block}.info-list strong{color:#0f172a;font-size:14px}.action-row{flex-wrap:wrap;gap:10px;display:flex}.success-banner,.error-banner{border-radius:14px;margin-bottom:16px;padding:13px 15px;font-weight:800}.success-banner{color:#166534;background:#dcfce7;border:1px solid #bbf7d0}.error-banner{color:#991b1b;background:#fee2e2;border:1px solid #fecaca}.password-form{gap:12px;max-width:520px;display:grid}@media (width<=1100px){.summary-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.event-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-grid,.events-grid,.governance-grid{grid-template-columns:1fr}}@media (width<=820px){.globaldash-hero{flex-direction:column;align-items:flex-start}.brand-block{align-items:flex-start}.profile-menu-wrap,.profile-chip{width:100%}.profile-dropdown{width:100%;left:0;right:auto}.summary-grid,.form-grid,.event-form-grid,.info-list{grid-template-columns:1fr}.span-2{grid-column:span 1}.card-header,.list-toolbar{flex-direction:column;align-items:flex-start}.filter-row,.select-input{width:100%}}@media (width<=640px){.globaldash-page{padding:14px}.card{padding:18px}.brand-block{flex-direction:column}.dashboard-logo{width:76px;height:76px}.globaldash-hero h1{font-size:26px}.globaldash-tabs{flex-direction:column}.tab-btn,.primary-btn,.secondary-btn,.danger-btn{width:100%}.action-row{flex-direction:column}}.scanner-page{background:linear-gradient(#f8fafc 0%,#eef3f9 100%);min-height:100vh;padding:22px}.scanner-container{max-width:1280px;margin:0 auto}.card{background:#fff;border:1px solid #e6ebf2;border-radius:20px;margin-bottom:18px;padding:22px;box-shadow:0 14px 38px #0f172a0f}.scanner-hero{justify-content:space-between;align-items:center;gap:18px;display:flex}.brand-block{align-items:center;gap:18px;display:flex}.dashboard-logo{object-fit:contain;background:#fff;border:1px solid #e5eaf1;border-radius:22px;width:92px;height:92px;padding:10px;box-shadow:0 10px 28px #0f172a14}.scanner-hero h1{color:#0f172a;letter-spacing:-.03em;margin:4px 0 6px;font-size:30px;line-height:1.15}.section-eyebrow{text-transform:uppercase;letter-spacing:.09em;color:#64748b;margin:0;font-size:11px;font-weight:800}.muted{color:#64748b;margin:0;line-height:1.55}.profile-box{background:#f8fafc;border:1px solid #e5eaf1;border-radius:18px;align-items:center;gap:12px;min-width:280px;padding:12px 14px;display:flex}.profile-avatar{color:#fff;background:#2563eb;border-radius:50%;place-items:center;width:44px;height:44px;font-size:18px;font-weight:900;display:grid}.profile-box strong{color:#0f172a;display:block}.profile-box span{color:#64748b;margin-top:3px;font-size:13px;display:block}.scanner-actions{flex-wrap:wrap;gap:10px;padding:14px 16px;display:flex}.primary-btn,.secondary-btn{cursor:pointer;border-radius:12px;padding:11px 15px;font-weight:800;transition:all .2s}.primary-btn{color:#fff;background:#2563eb;border:none}.primary-btn:hover{background:#1d4ed8}.primary-btn:disabled{opacity:.7;cursor:not-allowed}.secondary-btn{color:#0f172a;background:#fff;border:1px solid #cbd5e1}.secondary-btn:hover{background:#f8fafc;border-color:#94a3b8}.scanner-layout{grid-template-columns:.95fr 1.05fr;align-items:start;gap:18px;display:grid}.card-header{justify-content:space-between;align-items:center;gap:16px;margin-bottom:18px;display:flex}.card-header h2{color:#0f172a;letter-spacing:-.02em;margin:4px 0 0;font-size:22px}.qr-reader-box{background:#f8fafc;border:1px dashed #cbd5e1;border-radius:18px;place-items:center;width:100%;min-height:360px;display:grid;overflow:hidden}.qr-reader-box video{border-radius:18px}.manual-form,.redeem-form{gap:9px;margin-top:18px;display:grid}.manual-form label,.redeem-form label{color:#334155;font-size:13px;font-weight:800}.manual-row{grid-template-columns:1fr auto;align-items:center;gap:10px;display:grid}.form-input{box-sizing:border-box;background:#fff;border:1px solid #cbd5e1;border-radius:12px;outline:none;width:100%;padding:11px 12px;font-size:14px}.form-input:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1f}.info-text{color:#2563eb;margin-top:14px;font-weight:700}.success-text{color:#15803d;margin-top:14px;font-weight:800}.error-text{color:#dc2626;margin-top:14px;font-weight:800}.raw-box{background:#f8fafc;border:1px solid #e5eaf1;border-radius:14px;gap:6px;margin-top:14px;padding:12px;display:grid}.raw-box strong{color:#0f172a;font-size:13px}.raw-box span{color:#64748b;word-break:break-all;font-size:12px}.empty-state{text-align:center;background:#f8fafc;border:1px dashed #cbd5e1;border-radius:18px;padding:28px}.empty-state h3{color:#0f172a;margin:0 0 8px}.empty-state p{color:#64748b;margin:0}.booking-title-row{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:18px;display:flex}.booking-title-row h3{color:#0f172a;letter-spacing:-.02em;margin:4px 0;font-size:24px}.booking-title-row p{color:#64748b;margin:0;font-weight:700}.status-pill{white-space:nowrap;border-radius:999px;padding:8px 12px;font-size:12px;font-weight:850;display:inline-flex}.status-pill.booked{color:#92400e;background:#fef3c7}.status-pill.partial{color:#1d4ed8;background:#dbeafe}.status-pill.full{color:#166534;background:#dcfce7}.booking-info-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.booking-info-grid div{background:#f8fafc;border:1px solid #e5eaf1;border-radius:14px;padding:12px}.booking-info-grid span{color:#64748b;margin-bottom:5px;font-size:12px;font-weight:700;display:block}.booking-info-grid strong{color:#0f172a;word-break:break-word;font-size:14px}.history-box{background:#f8fafc;border:1px solid #e5eaf1;border-radius:14px;margin-top:16px;padding:14px}.history-box h4{color:#0f172a;margin:0 0 8px}.history-box ul{color:#475569;margin:0;padding-left:18px;line-height:1.6}.help-text{color:#64748b;margin:0;font-size:13px}.fully-redeemed-box{color:#166534;background:#dcfce7;border:1px solid #bbf7d0;border-radius:14px;margin-top:18px;padding:14px;font-weight:800}@media (width<=1000px){.scanner-layout{grid-template-columns:1fr}}@media (width<=760px){.scanner-page{padding:14px}.scanner-hero,.brand-block{flex-direction:column;align-items:flex-start}.profile-box{width:100%;min-width:100%}.scanner-actions{flex-direction:column}.primary-btn,.secondary-btn{width:100%}.manual-row,.booking-info-grid{grid-template-columns:1fr}.qr-reader-box{min-height:280px}.booking-title-row{flex-direction:column}}.safe-scan-box{background:#f8fafc;border:1px solid #e5eaf1;border-radius:14px;gap:6px;margin-top:14px;padding:12px;display:grid}.safe-scan-box strong{color:#0f172a;font-size:13px}.safe-scan-box span{color:#334155;word-break:break-word;font-size:13px;font-weight:800}@media screen and (width<=480px) and (orientation:portrait){html,body{font-size:14px;overflow-x:hidden}body{margin:0;padding:0}.admin-dashboard-page,.user-dashboard-page,.dashboard-page,.admin-page,.user-page{box-sizing:border-box;width:100%;max-width:100%;padding:10px 10px 18px}.admin-dashboard,.user-dashboard,.dashboard-container,.dashboard-wrapper{box-sizing:border-box;width:100%;max-width:100%;padding:10px}.dashboard-header,.admin-header,.user-header,.app-header{border-radius:16px;margin-bottom:12px;padding:10px 12px}.dashboard-header h1,.admin-header h1,.user-header h1,.app-header h1{margin:0;font-size:1.15rem;line-height:1.25}.dashboard-header p,.admin-header p,.user-header p,.app-header p{margin-top:4px;font-size:.78rem;line-height:1.3}.logo,.app-logo,.dashboard-logo{width:34px;height:34px}.profile-avatar,.user-avatar,.admin-avatar{width:34px;height:34px;font-size:.85rem}.summary-grid,.stats-grid,.dashboard-summary-grid{grid-template-columns:1fr;gap:8px;margin-bottom:12px;display:grid}.summary-card,.stats-card,.dashboard-card,.metric-card{border-radius:14px;padding:10px 12px}.summary-card h2,.stats-card h2,.dashboard-card h2,.metric-card h2{margin:0;font-size:1.05rem;line-height:1.2}.summary-card h3,.stats-card h3,.dashboard-card h3,.metric-card h3{margin:0 0 4px;font-size:.78rem;line-height:1.2}.summary-card p,.stats-card p,.dashboard-card p,.metric-card p{margin:2px 0 0;font-size:.75rem;line-height:1.3}.section-card,.profile-card,.form-card,.scanner-card,.event-card,.booking-card,.admin-section-card,.user-section-card{border-radius:16px;margin-bottom:12px;padding:14px}.section-card h2,.profile-card h2,.form-card h2,.scanner-card h2,.event-card h2,.booking-card h2{margin-bottom:10px;font-size:1.12rem;line-height:1.25}.section-card h3,.profile-card h3,.form-card h3,.scanner-card h3,.event-card h3,.booking-card h3{margin-bottom:8px;font-size:.95rem;line-height:1.25}.section-label,.card-label,.account-label,.small-heading{letter-spacing:.12em;font-size:.68rem}input,select,textarea{box-sizing:border-box;border-radius:12px;width:100%;min-height:40px;padding:9px 11px;font-size:.86rem}textarea{min-height:78px}label{margin-bottom:5px;font-size:.78rem}.form-group,.input-group{margin-bottom:10px}button,.btn,.primary-btn,.secondary-btn,.danger-btn,.tab-btn,.dashboard-tab,.menu-button{border-radius:12px;min-height:38px;padding:8px 12px;font-size:.78rem;line-height:1.2}.primary-btn,.update-profile-btn,.submit-btn{min-height:40px}.dashboard-menu,.admin-menu,.user-menu,.dashboard-actions{gap:8px;margin-bottom:12px}.dashboard-menu button,.admin-menu button,.user-menu button,.dashboard-actions button{border-radius:11px;min-height:38px;padding:8px 10px;font-size:.76rem}.tabs,.tab-container,.dashboard-tabs{gap:7px;margin-bottom:12px}.tabs button,.tab-container button,.dashboard-tabs button{min-height:36px;padding:7px 10px;font-size:.76rem}.profile-note,.help-text,.muted-text,.info-text,.form-note{font-size:.78rem;line-height:1.38}.qr-scanner-container,.scanner-container,.qr-camera-box,.reader-box{border-radius:14px;width:100%;max-width:100%;overflow:hidden}video,canvas{border-radius:14px;max-width:100%}.qr-result,.scan-result,.scanner-result{word-break:break-word;font-size:.78rem;line-height:1.35}.events-grid,.bookings-grid,.cards-grid{grid-template-columns:1fr;gap:10px;display:grid}.event-title,.booking-title{font-size:.98rem;line-height:1.25}.event-meta,.booking-meta,.event-description,.booking-description{font-size:.78rem;line-height:1.35}.event-card img,.event-image,.event-banner{object-fit:cover;border-radius:12px;max-height:150px}.profile-dropdown,.dropdown-menu,.account-dropdown{border-radius:14px;min-width:180px;padding:6px;right:6px}.profile-dropdown button,.dropdown-menu button,.account-dropdown button{min-height:34px;padding:8px 10px;font-size:.78rem}table{font-size:.75rem}th,td{padding:7px 8px}.table-wrapper,.responsive-table{overflow-x:auto}.toast,.alert,.success-message,.error-message,.warning-message{border-radius:12px;padding:9px 11px;font-size:.78rem}.mt-large,.mb-large,.section-spacing{margin-top:12px;margin-bottom:12px}}@media screen and (width<=390px) and (orientation:portrait){html,body{font-size:13px}.admin-dashboard-page,.user-dashboard-page,.dashboard-page{padding:8px}.section-card,.profile-card,.form-card,.scanner-card,.event-card,.booking-card{border-radius:15px;padding:12px}button,.btn,.primary-btn,.secondary-btn,.danger-btn,.tab-btn,.dashboard-tab{min-height:36px;padding:7px 10px;font-size:.74rem}input,select,textarea{min-height:38px;padding:8px 10px;font-size:.82rem}.dashboard-header h1,.admin-header h1,.user-header h1,.app-header h1{font-size:1.05rem}.section-card h2,.profile-card h2,.form-card h2,.scanner-card h2{font-size:1.02rem}}
