:root{--navy:#071e34;--blue:#0d3655;--red:#a61e35;--red2:#c72c48;--gold:#e9b74c;--cream:#f7f4ee;--ink:#17212b;--muted:#68727d;--line:#dfe3e6;--white:#fff;--green:#257d62;--shadow:0 18px 50px rgba(7,30,52,.10);font-family:"DM Sans",Arial,sans-serif;color:var(--ink);background:#fff}
*{box-sizing:border-box}body{margin:0}a{color:inherit;text-decoration:none}button,input,select{font:inherit}button{cursor:pointer}.site-header{height:82px;padding:0 5vw;display:flex;align-items:center;gap:34px;position:sticky;top:0;background:rgba(255,255,255,.96);backdrop-filter:blur(15px);z-index:50;border-bottom:1px solid rgba(7,30,52,.08)}.brand{display:flex;align-items:center;gap:11px;margin-right:auto}.brand-mark{display:grid;place-items:center;width:42px;height:42px;background:var(--red);color:#fff;border-radius:50%;font-family:"Playfair Display";font-size:24px;border:3px double #fff;box-shadow:0 0 0 1px var(--red)}.brand span:last-child{display:grid;font-size:14px;line-height:1.05;color:var(--navy)}.brand small{font-size:9px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.main-nav{display:flex;gap:30px;font-size:14px;font-weight:600}.main-nav a:hover{color:var(--red)}.menu-button{display:none;border:0;background:none;font-size:22px}.button{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:4px;background:var(--red);color:#fff;padding:15px 24px;font-weight:700;font-size:13px;letter-spacing:.02em;transition:.2s;box-shadow:0 8px 18px rgba(166,30,53,.18)}.button:hover{transform:translateY(-2px);background:var(--red2)}.button-small{padding:11px 17px}.button.gold{background:var(--gold);color:var(--navy);box-shadow:none}.button-outline{background:#fff;color:var(--navy);border:1px solid var(--line);box-shadow:none}.full{width:100%}.text-link{font-weight:700;font-size:13px;color:var(--red)}.text-link.light,.back-link.light{color:#fff}.eyebrow{text-transform:uppercase;letter-spacing:.16em;font-weight:700;font-size:11px;color:var(--red);margin:0 0 13px}.eyebrow.light{color:var(--gold)}h1,h2,h3,p{margin-top:0}h1,h2{font-family:"Playfair Display",Georgia,serif;color:var(--navy)}h1 em,h2 em{color:var(--gold);font-style:normal}h2{font-size:38px;line-height:1.12}.hero{min-height:690px;background:var(--navy);display:grid;grid-template-columns:1fr 1fr;overflow:hidden}.hero-copy{padding:115px 8vw 70px;color:#d8e1e9;background:radial-gradient(circle at 0% 90%,#164c67 0,transparent 42%)}.hero h1{font-size:72px;line-height:.98;color:#fff;margin:0 0 28px}.hero-copy>p:not(.eyebrow){font-size:17px;line-height:1.75;max-width:520px}.hero-actions{display:flex;align-items:center;gap:25px;margin:36px 0 72px}.hero-stats{display:flex;gap:45px;border-top:1px solid rgba(255,255,255,.14);padding-top:25px}.hero-stats span{display:grid;font-size:11px;text-transform:uppercase;letter-spacing:.08em}.hero-stats b{font-size:24px;color:#fff;letter-spacing:0}.hero-feature{position:relative;padding:70px 6vw;background:linear-gradient(135deg,#e7e2d6,#f9f8f5);display:flex;align-items:center}.poster{position:relative;overflow:hidden;background:linear-gradient(145deg,#e3eff3,#96cad6);box-shadow:var(--shadow);color:var(--navy)}.hero-feature .poster{width:min(100%,540px);aspect-ratio:4/5}.poster-top{height:52px;padding:17px 20px;background:rgba(255,255,255,.88);font-weight:800;font-size:12px;letter-spacing:.08em;position:relative;z-index:2}.poster-top span{float:right;background:var(--red);color:#fff;padding:3px 7px}.poster-content{position:absolute;left:8%;top:23%;z-index:2}.poster-content small{font-weight:700;letter-spacing:.1em;color:var(--red)}.poster-content h2{font-family:"DM Sans";font-size:42px;text-transform:uppercase;line-height:.95;margin:18px 0}.poster-content p{font-weight:700}.skyline{position:absolute;inset:35% 0 0;background:linear-gradient(90deg,transparent 0 10%,#578699 10% 18%,transparent 18% 22%,#275b75 22% 31%,transparent 31% 40%,#6797aa 40% 48%,transparent 48% 55%,#123f5b 55% 68%,transparent 68% 73%,#376e85 73% 83%,transparent 83%);clip-path:polygon(0 100%,0 55%,7% 55%,7% 35%,14% 35%,14% 65%,22% 65%,22% 48%,30% 48%,30% 22%,38% 22%,38% 60%,47% 60%,47% 40%,55% 40%,55% 58%,63% 58%,63% 5%,72% 58%,80% 58%,80% 32%,88% 32%,88% 66%,100% 66%,100% 100%);opacity:.9}.feature-card{position:absolute;right:3.5vw;bottom:70px;width:260px;background:#fff;padding:19px;box-shadow:var(--shadow);display:grid;gap:5px}.feature-card span{font-size:11px;text-transform:uppercase;color:var(--red);font-weight:700}.feature-card a{color:var(--red);font-size:13px;font-weight:700;margin-top:6px}.search-strip{width:min(1120px,90vw);margin:-37px auto 0;position:relative;background:#fff;padding:18px;box-shadow:var(--shadow);display:grid;grid-template-columns:1fr 220px auto;gap:12px}.search-box{display:flex;align-items:center;gap:10px}.search-box span{font-size:26px}.search-strip input,.search-strip select{border:0;background:#f3f4f4;padding:14px;width:100%;outline-color:var(--red)}.section{padding:100px max(5vw,calc((100vw - 1180px)/2))}.section-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:35px}.section-heading h2{margin:0}.event-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.event-card{border:1px solid var(--line);background:#fff;transition:.2s}.event-card:hover{transform:translateY(-4px);box-shadow:var(--shadow)}.event-art{height:230px;padding:23px;position:relative;overflow:hidden;color:#fff}.event-art:after{content:"";position:absolute;width:190px;height:190px;border:1px solid rgba(255,255,255,.28);border-radius:50%;right:-45px;bottom:-85px;box-shadow:0 0 0 25px rgba(255,255,255,.06),0 0 0 55px rgba(255,255,255,.04)}.art-dubai{background:linear-gradient(135deg,#0e4b61,#6cb7bd)}.art-germany{background:linear-gradient(135deg,#152b4e,#c19552)}.art-training{background:linear-gradient(135deg,#641b33,#e16755)}.art-forum{background:linear-gradient(135deg,#173748,#4d8e72)}.art-awards{background:linear-gradient(135deg,#321f59,#a76ca2)}.art-network{background:linear-gradient(135deg,#303030,#c48b43)}.event-art small{font-weight:700;letter-spacing:.12em}.event-art h3{font-size:27px;line-height:1.06;max-width:85%;margin:50px 0 0;color:#fff}.event-card-content{padding:20px}.event-card-content h3{font-size:16px;margin-bottom:16px}.event-info{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:14px 0;border-top:1px solid var(--line);font-size:11px;color:var(--muted)}.event-info b{display:block;color:var(--ink);margin-top:3px}.event-actions{display:flex;gap:8px;margin-top:14px}.event-actions a{flex:1;padding:10px;text-align:center;border:1px solid var(--line);font-weight:700;font-size:11px}.event-actions a:last-child{background:var(--red);color:#fff;border-color:var(--red)}.category-section{padding:90px max(5vw,calc((100vw - 1180px)/2));background:var(--cream)}.category-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:#d7d3ca;border:1px solid #d7d3ca}.category-grid a{background:var(--cream);padding:38px 25px;display:grid;gap:10px;transition:.2s}.category-grid a:hover{background:var(--navy);color:#fff}.category-grid span{font-size:25px;color:var(--red)}.category-grid small{color:var(--muted)}.newsletter{margin:90px auto;width:min(1180px,90vw);padding:55px 6%;background:var(--navy);color:#cbd7e0;display:flex;align-items:center;justify-content:space-between}.newsletter h2{color:#fff;margin-bottom:8px}.newsletter p:last-child{margin:0}.newsletter form{display:flex;width:45%}.newsletter input{flex:1;padding:15px;border:0}.page-hero,.form-header{background:var(--navy);padding:80px max(5vw,calc((100vw - 1180px)/2));color:#cbd7e0}.page-hero h1{font-size:58px;color:#fff;margin-bottom:20px}.page-hero p:last-child{max-width:580px}.events-layout{display:grid;grid-template-columns:245px 1fr;gap:45px}.filters{display:grid;gap:20px;align-content:start}.filter-title,.results-bar{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);padding-bottom:16px}.filter-title button{border:0;background:none;color:var(--red);font-size:11px;font-weight:700}.filters label{display:grid;gap:8px;font-size:11px;text-transform:uppercase;letter-spacing:.1em;font-weight:700}.filters input,.filters select,.results-bar select{width:100%;padding:12px;border:1px solid var(--line);background:#fff;text-transform:none;letter-spacing:0}.results-bar{margin-bottom:25px}.results-bar select{width:auto}.detail-hero{display:grid;grid-template-columns:1fr 430px;gap:70px;background:var(--navy);color:#d3dee6;padding:70px max(5vw,calc((100vw - 1180px)/2))}.back-link{display:inline-block;font-size:12px;font-weight:700;margin-bottom:50px}.detail-hero h1{color:#fff;font-size:60px;line-height:1;margin-bottom:25px}.detail-meta{display:flex;gap:45px;margin-top:55px}.detail-meta span{display:grid}.detail-meta small{color:#93a4b1;font-size:10px;text-transform:uppercase;letter-spacing:.1em}.detail-meta b{color:#fff;font-size:13px;margin-top:5px}.detail-poster{aspect-ratio:4/5}.detail-layout{display:grid;grid-template-columns:1fr 330px;gap:80px;align-items:start}.detail-content h2{max-width:650px}.lead{font-size:18px;line-height:1.8;color:var(--muted)}.info-callout{border-left:4px solid var(--gold);background:var(--cream);padding:24px;margin:35px 0}.info-callout span{font-weight:700;text-transform:uppercase;font-size:11px;color:var(--red)}.info-callout p{margin:8px 0 0;line-height:1.7}.detail-content h3{margin:40px 0 20px;font-size:19px}.agenda{border-top:1px solid var(--line)}.agenda div{display:grid;grid-template-columns:100px 1fr;padding:17px 0;border-bottom:1px solid var(--line)}.agenda b{color:var(--red);font-size:12px}.speaker{display:flex;gap:18px;align-items:center}.speaker>span{width:65px;height:65px;border-radius:50%;background:var(--navy);color:#fff;display:grid;place-items:center;font-weight:700}.speaker p{margin:5px 0;color:var(--muted)}.booking-card{position:sticky;top:110px;padding:28px;box-shadow:var(--shadow);border-top:4px solid var(--red);display:grid;gap:18px}.booking-card h3{font-size:24px;margin:0}.booking-card div:not(.seat-alert){display:flex;justify-content:space-between;border-bottom:1px solid var(--line);padding-bottom:13px;font-size:12px}.booking-card div span{color:var(--muted)}.seat-alert{font-size:11px;color:var(--green);font-weight:700}.booking-card>small{text-align:center;color:var(--muted)}.form-page{min-height:calc(100vh - 82px);display:grid;grid-template-columns:38% 62%}.form-intro{background:var(--navy);padding:80px 7vw;color:#cbd7e0}.form-intro h1{font-size:54px;color:#fff}.form-intro>p:last-child{line-height:1.8}.choice-panel{padding:11vh 8vw}.choice-panel h2{font-size:42px}.choice-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:45px}.choice-grid a{border:1px solid var(--line);padding:32px;display:grid;gap:14px;transition:.2s}.choice-grid a:hover{border-color:var(--red);box-shadow:var(--shadow);transform:translateY(-3px)}.choice-icon{width:55px;height:55px;display:grid;place-items:center;border-radius:50%;background:var(--cream);font-size:24px;color:var(--red)}.choice-grid b{font-size:18px}.choice-grid p{color:var(--muted);line-height:1.6;font-size:13px}.choice-grid strong{color:var(--red);font-size:12px}.form-header h1{color:#fff;margin-bottom:8px}.registration-shell{width:min(1000px,92vw);margin:0 auto;padding:55px 0 100px}.progress{display:flex;align-items:center;justify-content:center;gap:14px;margin-bottom:45px}.progress span{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:11px}.progress span:first-letter{width:25px;height:25px}.progress .active{color:var(--red)}.progress i{width:100px;height:1px;background:var(--line)}.form-section{border:1px solid var(--line);padding:34px;margin-bottom:24px}.form-section-heading{display:flex;gap:16px;align-items:start;margin-bottom:28px}.form-section-heading>span{color:var(--red);font-weight:700;font-size:11px}.form-section-heading h2{font-family:"DM Sans";font-size:20px;margin:0}.form-section-heading .eyebrow{margin-bottom:5px}.form-section-heading .button{margin-left:auto}.member-toggle{display:flex;gap:12px;margin-bottom:25px}.member-toggle label{padding:12px 18px;background:var(--cream);font-size:12px;font-weight:700}.field-grid,.participant-fields{display:grid;grid-template-columns:1fr 1fr;gap:20px}.field-grid label,.participant-fields label{display:grid;gap:7px;font-size:11px;font-weight:700}.field-grid input,.field-grid select,.participant-fields input,.participant-fields select{padding:13px;border:1px solid var(--line);width:100%}.field-grid .wide{grid-column:span 2}.participant-card{background:var(--cream);padding:25px;margin-top:15px;position:relative}.participant-card h3{font-size:13px;margin:0 0 20px}.remove-participant{position:absolute;top:20px;right:20px;border:0;background:none;color:var(--red);font-weight:700;font-size:11px}.participant-fields{grid-template-columns:110px 1fr 1fr}.participant-fields label:nth-last-child(-n+3){grid-column:auto}.payment-options{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.payment-option{border:1px solid var(--line);padding:22px;display:grid;gap:7px;cursor:pointer}.payment-option.selected{border-color:var(--red);box-shadow:0 0 0 1px var(--red)}.payment-option input{position:absolute;opacity:0}.payment-option span{font-size:22px;color:var(--red)}.payment-option small{color:var(--muted)}.upload-box{border:2px dashed var(--line);margin-top:18px;padding:30px;text-align:center;display:grid;gap:8px;cursor:pointer}.upload-box input{display:none}.upload-box span{font-size:25px;color:var(--red)}.upload-box small{color:var(--muted)}.hidden{display:none!important}.form-total{background:var(--navy);color:#fff;padding:25px 30px;display:flex;justify-content:space-between;align-items:center}.form-total div{display:grid}.form-total span{font-size:10px;text-transform:uppercase;letter-spacing:.1em;color:var(--gold)}.form-total b{font-size:25px}.form-total small{color:#aebbc5}.success-page{min-height:calc(100vh - 82px);display:flex;flex-direction:column;align-items:center;text-align:center;padding:11vh 20px;background:var(--cream)}.success-mark{width:75px;height:75px;border-radius:50%;display:grid;place-items:center;background:var(--green);color:#fff;font-size:34px;margin-bottom:28px}.success-page h1{font-size:52px;margin-bottom:15px}.success-page>p:not(.eyebrow){color:var(--muted);max-width:560px;line-height:1.7}.confirmation-card{display:grid;grid-template-columns:repeat(3,1fr);width:min(800px,90vw);background:#fff;box-shadow:var(--shadow);margin:30px 0;padding:23px}.confirmation-card span{display:grid;gap:5px;font-size:10px;text-transform:uppercase;color:var(--muted)}.confirmation-card b{font-size:13px;text-transform:none;color:var(--ink)}.status-pending{color:#bb7911!important}.success-page .button{margin:5px}.dashboard-page,.admin-page{min-height:calc(100vh - 82px);display:grid;grid-template-columns:240px 1fr;background:#f5f6f7}.dashboard-nav,.admin-nav{background:var(--navy);color:#bdc9d3;padding:35px 25px;display:flex;flex-direction:column;gap:8px}.dashboard-nav .avatar{width:55px;height:55px;border-radius:50%;background:var(--red);color:#fff;display:grid;place-items:center;font-weight:700;margin-bottom:10px}.dashboard-nav>b{color:#fff}.dashboard-nav small{margin-bottom:28px}.dashboard-nav a,.admin-nav>a{padding:12px;font-size:12px}.dashboard-nav a.active,.admin-nav a.active{background:rgba(255,255,255,.1);color:#fff}.dashboard-nav a:last-child,.admin-nav a:last-child{margin-top:auto}.dashboard-main,.admin-main{padding:50px}.dashboard-main h1,.admin-header h1{font-size:38px}.stat-row,.admin-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin:35px 0}.stat-row div,.admin-stats div{background:#fff;padding:24px;display:grid;gap:7px;border:1px solid #e8eaec}.stat-row span,.admin-stats span{font-size:11px;text-transform:uppercase;letter-spacing:.07em;color:var(--muted)}.stat-row b,.admin-stats b{font-size:29px;color:var(--navy)}.panel{background:#fff;border:1px solid #e8eaec;padding:25px}.panel-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.panel-title h2{font-family:"DM Sans";font-size:18px;margin:0}.panel-title a{font-size:11px;color:var(--red);font-weight:700}.registration-row{display:grid;grid-template-columns:50px 1fr auto auto;align-items:center;gap:17px;padding:16px 0;border-top:1px solid var(--line)}.registration-row>div:nth-child(2){display:grid;gap:5px}.registration-row span{font-size:11px;color:var(--muted)}.date-badge{background:var(--cream);height:50px;display:grid;place-items:center;align-content:center;color:var(--red)}.date-badge small{font-size:8px}.pill{padding:6px 8px;border-radius:15px}.pill.pending{background:#fff3df;color:#a3680d}.pill.approved{background:#e5f5ef;color:var(--green)}.registration-row button,.payment-row button{border:1px solid var(--line);background:#fff;padding:8px 12px}.site-header:has(+ main .admin-page){display:none}.site-header:has(+ main .admin-page)+main .admin-page{min-height:100vh}.admin-page{grid-template-columns:220px 1fr}.admin-nav{gap:4px}.admin-nav .brand{margin:0 0 30px}.inverse span:last-child b{color:#fff}.inverse span:last-child small{color:#aab7c1}.admin-nav a{display:flex;justify-content:space-between}.admin-nav i{background:var(--red);color:#fff;border-radius:10px;padding:1px 6px;font-style:normal}.admin-header{display:flex;justify-content:space-between;align-items:center}.admin-stats{grid-template-columns:repeat(4,1fr)}.admin-stats small{font-size:10px;color:var(--muted)}.admin-stats .positive{color:var(--green)}.admin-stats .warning{color:#ba7917}.admin-grid{display:grid;grid-template-columns:1.5fr 1fr;gap:18px}.chart{height:220px;border-bottom:1px solid var(--line);display:flex;align-items:end;justify-content:space-around;gap:20px;padding:20px}.chart i{display:block;width:35px;background:linear-gradient(var(--red2),var(--red));border-radius:3px 3px 0 0}.chart-labels{display:flex;justify-content:space-around;color:var(--muted);font-size:10px;padding:8px 18px}.payment-row{display:grid;grid-template-columns:42px 1fr auto;gap:12px;align-items:center;border-top:1px solid var(--line);padding:14px 0}.payment-row>span{background:var(--cream);color:var(--red);font-size:9px;font-weight:700;padding:13px 5px;text-align:center}.payment-row div{display:grid;gap:4px;font-size:12px}.payment-row small{color:var(--muted);font-size:9px}footer{background:#051725;color:#9eacb7;padding:50px 6vw;display:grid;grid-template-columns:2fr 1fr 1fr;gap:40px;font-size:12px}footer>div{display:grid;gap:9px;align-content:start}footer strong{color:#fff}.footer-brand{display:flex;align-items:center;gap:15px}
@media(max-width:1000px){.main-nav{display:none}.menu-button{display:block}.hero{grid-template-columns:1fr}.hero-copy{padding:80px 7vw 130px}.hero-feature{min-height:600px}.event-grid{grid-template-columns:repeat(2,1fr)}.category-grid{grid-template-columns:repeat(2,1fr)}.detail-hero{grid-template-columns:1fr 330px;gap:30px}.detail-layout{grid-template-columns:1fr}.booking-card{position:static}.form-page{grid-template-columns:1fr}.form-intro{padding:60px 7vw}.choice-panel{padding:70px 7vw}.admin-stats{grid-template-columns:repeat(2,1fr)}.admin-grid{grid-template-columns:1fr}.dashboard-page,.admin-page{grid-template-columns:1fr}.dashboard-nav,.admin-nav{display:none}}
@media(max-width:700px){.site-header{height:68px;padding:0 18px}.site-header>.button{display:none}.brand span:last-child{display:none}.hero{min-height:0}.hero-copy{padding:60px 22px 100px}.hero h1{font-size:48px}.hero-stats{gap:20px}.hero-feature{padding:45px 20px;min-height:500px}.feature-card{right:20px;bottom:25px}.search-strip{grid-template-columns:1fr;margin-top:20px}.section,.category-section{padding:65px 20px}.section-heading{align-items:start}.section-heading h2,h2{font-size:30px}.event-grid{grid-template-columns:1fr}.category-grid{grid-template-columns:1fr 1fr}.newsletter{margin:30px auto;padding:35px 25px;display:block}.newsletter form{width:100%;margin-top:25px}.events-layout{grid-template-columns:1fr}.filters{background:var(--cream);padding:20px}.page-hero{padding:60px 22px}.page-hero h1{font-size:45px}.detail-hero{grid-template-columns:1fr;padding:50px 22px}.detail-hero h1{font-size:44px}.detail-meta{display:grid;grid-template-columns:1fr 1fr;gap:15px}.detail-poster{display:none}.detail-layout{padding:60px 22px}.form-intro h1{font-size:42px}.choice-grid{grid-template-columns:1fr}.form-header{padding:50px 22px}.form-section{padding:22px}.form-section-heading{flex-wrap:wrap}.field-grid,.participant-fields,.payment-options{grid-template-columns:1fr}.field-grid .wide{grid-column:auto}.participant-fields label{grid-column:auto!important}.form-total{display:grid;gap:20px}.form-total .button{width:100%}.confirmation-card{grid-template-columns:1fr;gap:20px}.success-page h1{font-size:40px}.dashboard-main,.admin-main{padding:30px 18px}.stat-row,.admin-stats{grid-template-columns:1fr 1fr}.registration-row{grid-template-columns:50px 1fr}.registration-row .pill,.registration-row button{grid-column:2}.admin-stats div{padding:16px}.admin-stats b{font-size:21px}.chart{gap:5px;padding:10px}.chart i{width:22px}footer{grid-template-columns:1fr}.category-grid a{padding:24px 15px}}

/* Event archive card layout */
.event-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px}
.event-art{height:205px}
.event-art h3{font-size:29px;margin-top:42px}
.event-flyer{height:360px;background:var(--cream);overflow:hidden;border-bottom:1px solid var(--line)}
.event-flyer img{width:100%;height:100%;display:block;object-fit:contain;background:#eef1f2}
.event-card-content{padding:24px 26px 26px}
.event-actions .past-action{background:var(--navy);border-color:var(--navy);color:#fff}
.past-events-section{background:var(--cream)}
.past-events-section .event-card{background:#fff}
@media(max-width:1000px){.event-flyer{height:310px}}
@media(max-width:700px){.event-grid{grid-template-columns:1fr}.event-flyer{height:330px}.event-art h3{font-size:25px}}

/* Compact event headings and preserve the complete flyer image */
[data-event-grid="featured"] .event-art,
[data-event-grid="past"] .event-art{height:145px;padding:18px 24px}
[data-event-grid="featured"] .event-art h3,
[data-event-grid="past"] .event-art h3{font-size:22px;line-height:1.02;margin-top:23px;max-width:94%}
[data-event-grid="featured"] .event-flyer,
[data-event-grid="past"] .event-flyer{height:420px;background:#edf0f1}
[data-event-grid="featured"] .event-flyer img,
[data-event-grid="past"] .event-flyer img{object-fit:contain;background:#edf0f1}
@media(max-width:1000px){[data-event-grid="featured"] .event-flyer,[data-event-grid="past"] .event-flyer{height:370px}}
@media(max-width:700px){[data-event-grid="featured"] .event-art,[data-event-grid="past"] .event-art{height:135px}[data-event-grid="featured"] .event-art h3,[data-event-grid="past"] .event-art h3{font-size:20px;margin-top:20px}[data-event-grid="featured"] .event-flyer,[data-event-grid="past"] .event-flyer{height:360px}}

.brand-mark{background:transparent;border:0;box-shadow:none;border-radius:0;width:48px;height:48px}
.brand-mark img{width:100%;height:100%;display:block;object-fit:contain}
.footer-brand .brand-mark{width:58px;height:58px}
.admin-nav .brand-mark{width:48px;height:48px}

/* ── Toast notifications ── */
.toast{position:fixed;bottom:30px;left:50%;transform:translateX(-50%) translateY(20px);background:var(--navy);color:#fff;padding:14px 26px;border-radius:4px;font-size:13px;font-weight:600;z-index:9999;opacity:0;transition:opacity .3s,transform .3s;pointer-events:none;max-width:90vw;text-align:center;box-shadow:0 8px 30px rgba(7,30,52,.25)}
.toast-success{border-left:4px solid var(--green)}
.toast-error{border-left:4px solid var(--red)}
.toast-show{opacity:1;transform:translateX(-50%) translateY(0)}

/* ── Disabled button ── */
.button.disabled,.button:disabled{opacity:.5;cursor:not-allowed;pointer-events:none}

/* ── Status pill ── */
.pill.rejected{background:#fdecea;color:#a61e35}
.status-approved{color:var(--green)!important}

/* ── No results ── */
.no-results{padding:40px;text-align:center;color:var(--muted);grid-column:1/-1}

/* ── Admin approve/reject buttons ── */
.btn-approve{background:var(--green);color:#fff;border:0;padding:8px 14px;font-size:11px;font-weight:700;cursor:pointer}
.btn-reject{background:#fff;border:1px solid var(--red);color:var(--red);padding:8px 14px;font-size:11px;font-weight:700;cursor:pointer}

/* ── Registration list in dashboard ── */
.registration-list .registration-row button{border:1px solid var(--line);background:#fff;padding:8px 12px;cursor:pointer;font-size:11px}

/* ── Responsive nav auth buttons ── */
.nav-logout{margin-left:-6px}
@media(max-width:700px){.nav-logout{display:none!important}}

/* ── Admin Dashboard & Panel Styling ── */
.admin-page {
  display: grid;
  grid-template-columns: 240px 1fr;
  min-height: 100vh;
  background: #f8f9fa;
  font-family: 'DM Sans', sans-serif;
}

.admin-nav {
  background: var(--navy);
  color: #a5b8c9;
  padding: 30px 20px;
  display: flex;
  flex-direction: column;
  gap: 6px;
  border-right: 1px solid rgba(255, 255, 255, 0.05);
}

.admin-nav .brand {
  margin-bottom: 35px;
  display: flex;
  align-items: center;
  gap: 10px;
  text-decoration: none;
}

.admin-nav .brand b {
  color: #fff;
  font-size: 18px;
}

.admin-nav .brand small {
  color: var(--gold);
  font-size: 10px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.admin-nav-section {
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  color: var(--gold);
  margin: 18px 0 6px 10px;
  font-weight: 700;
  opacity: 0.8;
}

.admin-tab-btn {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 10px 14px;
  color: #a5b8c9;
  border-radius: 6px;
  font-size: 13px;
  font-weight: 500;
  transition: all 0.2s ease;
  text-decoration: none;
}

.admin-tab-btn:hover {
  background: rgba(255, 255, 255, 0.05);
  color: #fff;
}

.admin-tab-btn.active {
  background: var(--red);
  color: #fff;
  font-weight: 600;
  box-shadow: 0 4px 12px rgba(166, 30, 53, 0.25);
}

.admin-main {
  padding: 40px;
  overflow-y: auto;
}

.admin-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 30px;
  border-bottom: 1px solid var(--line);
  padding-bottom: 20px;
}

.admin-header h1 {
  font-size: 32px;
  margin: 0;
}

.admin-stats {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
  margin-bottom: 30px;
}

.admin-stats div {
  background: #fff;
  padding: 22px;
  border-radius: 8px;
  border: 1px solid var(--line);
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.02);
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.admin-stats div span {
  font-size: 11px;
  text-transform: uppercase;
  color: var(--muted);
  font-weight: 700;
  letter-spacing: 0.08em;
}

.admin-stats div b {
  font-size: 28px;
  color: var(--navy);
  font-weight: 700;
}

.admin-stats div small {
  font-size: 11px;
}

.admin-grid {
  display: grid;
  grid-template-columns: 1.6fr 1fr;
  gap: 24px;
}

.panel {
  background: #fff;
  border-radius: 8px;
  border: 1px solid var(--line);
  padding: 25px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.02);
}

/* Tables */
.admin-table {
  width: 100%;
  border-collapse: collapse;
  margin-top: 10px;
  font-size: 13px;
  text-align: left;
}

.admin-table th {
  background: #f8f9fa;
  color: var(--navy);
  font-weight: 700;
  padding: 14px 16px;
  border-bottom: 2px solid var(--line);
}

.admin-table td {
  padding: 14px 16px;
  border-bottom: 1px solid var(--line);
  color: var(--ink);
  vertical-align: middle;
}

.admin-table tbody tr:hover {
  background: #fcfdfe;
}

/* Forms */
.admin-form {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.form-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
}

.admin-form label {
  display: flex;
  flex-direction: column;
  gap: 8px;
  font-size: 12px;
  font-weight: 700;
  color: var(--navy);
}

.admin-form input,
.admin-form select,
.admin-form textarea {
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: 4px;
  font-size: 14px;
  width: 100%;
  background: #fff;
  color: var(--ink);
  transition: border-color 0.2s;
}

.admin-form input:focus,
.admin-form select:focus,
.admin-form textarea:focus {
  border-color: var(--red);
  outline: none;
}

.admin-form label.wide {
  grid-column: span 2;
}

/* Role Badges */
.admin-badge {
  display: inline-block;
  padding: 4px 10px;
  border-radius: 12px;
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
}

.admin-badge.admin {
  background: #fdecea;
  color: var(--red);
}

.admin-badge.event_creator {
  background: #fef5e7;
  color: #b05c04;
}

.admin-badge.finance {
  background: #f3ebf7;
  color: #7b2cbf;
}

.admin-badge.viewer {
  background: #e8f4fd;
  color: #1a73e8;
}

.admin-badge.member {
  background: #e5f5ef;
  color: var(--green);
}

/* Quick utility styles */
.admin-tab-panel.hidden {
  display: none !important;
}

/* Toast alert overrides */
.toast-success {
  border-left: 4px solid var(--green);
}

.toast-error {
  border-left: 4px solid var(--red);
}

@media(max-width:1000px) {
  .admin-page {
    grid-template-columns: 1fr;
  }
  .admin-nav {
    display: none;
  }
}
