:root{--bg:#11070a;--panel:#1d1114;--panel2:#2b151a;--wine:#640c1a;--wine2:#a31726;--gold:#eab16c;--cream:#f7eee8;--muted:#baa9a9;--line:#51343a}*{box-sizing:border-box}html{font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;background:#0d0507;color:var(--cream)}body{margin:0;min-height:100vh;background:radial-gradient(ellipse at 0 0,#3e0c18 0,transparent 40%),var(--bg)}a{color:var(--gold);text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}h1{font-size:clamp(1.75rem,5vw,2.35rem);margin:16px 0 8px;letter-spacing:-.035em}h2{font-size:1.2rem;margin:24px 0 14px}h3{font-size:1.04rem;margin:8px 0}p{line-height:1.55}.muted{color:var(--muted)}.shell{max-width:980px;min-height:100vh;margin:auto;background:linear-gradient(160deg,#17090e,#100709 65%);box-shadow:0 0 80px #0007}.topbar{height:82px;display:flex;justify-content:space-between;align-items:center;padding:12px 24px;background:linear-gradient(90deg,#230b10,#15080b);border-bottom:1px solid #422027}.logo{font-size:1.48rem;color:white;font-weight:850;letter-spacing:.085em}.logo small{display:block;font-size:.59rem;font-weight:500;letter-spacing:.25em;margin-top:3px}.avatar{border:1px solid var(--gold);width:37px;height:37px;border-radius:50%;display:grid;place-items:center;color:var(--gold)}main{padding:0 22px 115px;min-height:60vh}.bottomnav{position:fixed;bottom:0;left:50%;transform:translateX(-50%);width:min(100%,980px);display:flex;justify-content:space-around;background:#180d10f7;border-top:1px solid var(--line);padding:11px 8px max(13px,env(safe-area-inset-bottom));z-index:10;backdrop-filter:blur(18px)}.bottomnav a{display:flex;flex-direction:column;align-items:center;gap:4px;font-size:1.3rem;color:var(--gold);min-width:55px}.bottomnav small{font-size:.68rem;color:#ddd0cb}.hero{margin:0 -22px 24px;min-height:225px;background:linear-gradient(0deg,#15080d 0,transparent 80%),url('/assets/img/theater-bg.jpg') center 40%/cover}.herooverlay{padding:125px 24px 12px}.hero h1{font-size:2.25rem;text-shadow:0 2px 10px #000}.hero p{margin:0;color:#e8d2c8}.panel{background:linear-gradient(135deg,#251419,#1a1013);border:1px solid var(--line);border-radius:15px;padding:18px;margin:15px 0;box-shadow:0 9px 20px #0002}.panel.highlight{border-color:var(--gold)}.panel h2:first-child{margin-top:0}.showcard{display:flex;align-items:center;gap:14px;background:linear-gradient(125deg,#3a1018,#1d1115);border:1px solid #5c2a31;border-radius:13px;padding:13px 15px;margin:8px 0;color:white;min-height:88px}.showcard:hover{border-color:var(--gold)}.datebox{width:58px;flex-shrink:0;text-align:center;color:var(--gold);font-size:1.3rem}.datebox b{font-size:2rem;display:block;color:white}.datebox small{display:block;font-size:.8rem}.showinfo{display:flex;flex-direction:column;gap:6px;flex:1;min-width:0}.showinfo strong{font-size:1.02rem}.showinfo small{font-size:.83rem;color:#d3bcbc}.arrow{font-size:2rem;color:var(--gold)}.tabs{display:flex;gap:0;background:#211116;border:1px solid var(--line);border-radius:10px;overflow:hidden;margin:14px 0}.tabs a{flex:1;text-align:center;padding:13px 4px;font-size:.86rem;border-right:1px solid var(--line);color:#f4e4dd}.tabs a.active,.tabs a[aria-current="page"]{background:#8b1922;color:#fff;font-weight:750}.tabs a:last-child{border:0}.quick{display:grid;grid-template-columns:repeat(2,1fr);gap:9px;margin:14px 0}.quick a{border:1px solid #4a2c30;background:#241317;border-radius:12px;padding:15px;color:var(--gold);text-align:center;font-size:.92rem}.showhero{height:190px;margin:0 -22px 15px;background:linear-gradient(0deg,#13090c,transparent),url('/assets/img/theater-bg.jpg') center/cover;position:relative}.datepill{position:absolute;bottom:18px;left:20px;background:#290d15c9;border:1px solid #b77955;border-radius:10px;padding:10px;color:#f6e4d7;font-weight:700}.timeline,.listline{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:12px 0;border-bottom:1px solid #493038}.timeline b{color:var(--gold);min-width:65px}.timeline span{flex:1}.listline small{color:var(--muted)}.listline form{display:flex;gap:5px}.listline select{width:100px}.listline button{padding:8px}.address{padding:13px 0;border-bottom:1px solid #43272e}.address p{margin:6px 0;color:#c9b5b5}.btn,button[type=submit]{background:linear-gradient(110deg,#bb8457,#f1c18d);color:#160c0d;border:0;border-radius:9px;font-weight:800;padding:13px 18px;display:inline-block}.linkbtn{display:inline-block;margin-top:9px}.panel form{display:grid;gap:12px;margin:12px 0}.panel label,.authpanel label{display:flex;flex-direction:column;gap:7px;font-size:.92rem;color:#e5d3cd}input,select,textarea{width:100%;border:1px solid #6a4248;background:#1b1115;color:#fff;border-radius:9px;padding:12px;outline:none}input:focus,select:focus,textarea:focus{border-color:var(--gold)}input[type=checkbox]{width:auto;accent-color:var(--gold)}label.check{display:flex;flex-direction:row;align-items:center}.inlineform{display:flex;align-items:end;gap:10px;margin:14px 0}.inlineform label{flex:1}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.stat{border:1px solid #5e343b;background:#30121c;padding:20px 10px;border-radius:13px;text-align:center}.stat b{display:block;font-size:2.1rem;color:var(--gold)}.stat small{color:#d8c5c0}.barrow{display:flex;align-items:center;gap:12px;padding:6px 0}.barrow span{width:24px}.barrow b{width:26px}.bar{flex:1;height:14px;background:#392027;border-radius:8px;overflow:hidden}.bar i{display:block;height:100%;background:linear-gradient(90deg,#82111c,#e5a666)}.menulist a{display:flex;justify-content:space-between;border-bottom:1px solid var(--line);padding:16px 8px;color:#f2e4de}.menulist span{color:var(--gold)}.badge{background:#9e1b25;border-radius:20px;padding:4px 9px;font-size:.7rem}.alert{padding:14px;background:#5e1420;border:1px solid #c75b61;border-radius:9px;margin:12px 0}.alert.success{background:#243f2a;border-color:#58875e}details summary{cursor:pointer;color:var(--gold);font-weight:650;padding:8px 0}.authbody{background:linear-gradient(0deg,#08040888,#08040877),url('/assets/img/login-bg.jpg') center/cover fixed}.authbody .shell{max-width:100%;background:transparent;display:grid;place-items:center;padding:20px}.authbody main{padding:0;width:min(100%,520px);min-height:0}.authpanel{background:linear-gradient(140deg,#160e16f4,#130b11f7);border:1px solid #c18b69;border-radius:24px;padding:clamp(22px,6vw,45px);box-shadow:0 20px 90px #0009;text-align:center}.authpanel h1{font-size:clamp(2.5rem,8vw,3.7rem);font-weight:900;letter-spacing:.06em;margin:2px 0}.crest{font-size:2rem;color:var(--gold)}.scriptbrand{font-family:Georgia,serif;font-style:italic;color:var(--gold);font-size:1.7rem;margin:0 0 14px}.subbrand,.strap{letter-spacing:.22em;font-size:.7rem;color:#ddc5b8;margin:12px 0 35px}.authpanel form{display:grid;gap:18px;text-align:left}.authpanel label{font-weight:600}.authpanel input{padding:15px;background:#171018}.authpanel .btn,.authpanel button[type=submit]{width:100%;padding:16px}.loginextras{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:.8rem}.loginextras a{white-space:nowrap}.textbutton{background:none;border:0;color:var(--gold);padding:0;text-align:right;font-size:.78rem}.authfooter{font-size:.65rem;letter-spacing:.3em;color:#9d8385;margin-top:35px}@media(min-width:750px){main{padding-left:36px;padding-right:36px}.hero{margin-left:-36px;margin-right:-36px}.showhero{margin-left:-36px;margin-right:-36px}.quick{grid-template-columns:repeat(4,1fr)}}@media(max-width:380px){main{padding-left:13px;padding-right:13px}.showinfo strong{font-size:.92rem}.loginextras{flex-wrap:wrap}.authpanel{padding:22px 16px}.stats{gap:5px}.stat{padding:13px 4px}}

/* BACKSTAGE v3 — refined mobile design matching approved references */
:root{--bg:#0b0507;--panel:#1b1014;--panel2:#261218;--gold:#e5af73;--cream:#f9f4f1;--muted:#bcaeb0;--line:#453036}
html{font-family:Inter,'Avenir Next','Helvetica Neue',Arial,sans-serif;font-weight:400;font-feature-settings:'kern' 1}
.logo,.authpanel h1{font-family:'Arial Narrow','Avenir Next Condensed',Inter,'Helvetica Neue',sans-serif;font-stretch:condensed;letter-spacing:.09em;font-weight:750}
.topbar{background:linear-gradient(180deg,#210b10e8,#17080bda);backdrop-filter:blur(12px)}
.shell{max-width:1100px;background:linear-gradient(155deg,#18080c,#0e0608 60%)}
.panel,.showcard,.quick a{box-shadow:0 12px 28px #0004}
.showcard{transition:transform .15s,border-color .15s}.showcard:hover{transform:translateY(-2px)}
.bottomnav{box-shadow:0 -12px 30px #0007}
.authpanel{backdrop-filter:blur(15px);background:linear-gradient(145deg,#180e15f2,#0d080ded);border:1px solid #b57f63;box-shadow:0 24px 85px #000b}
.authpanel h1{font-size:clamp(2.4rem,8vw,3.6rem);letter-spacing:.065em}
.authpanel input{border-color:#583840;background:#151017e8}
.authpanel button[type=submit]{font-weight:750}
.hero{background-position:center 48%}
@media(max-width:600px){.topbar{height:76px}.logo{font-size:1.3rem}.hero{min-height:230px}.panel{padding:16px}.showcard{padding:13px 12px}}
@media(prefers-reduced-motion:reduce){.showcard{transition:none}}

.comparetable{width:100%;border-collapse:collapse;font-size:.87rem}.comparetable th,.comparetable td{padding:12px 5px;text-align:left;border-bottom:1px solid var(--line)}.comparetable th{color:var(--gold)}

/* BACKSTAGE login: fullscreen, no page scroll; other pages unchanged. */
html:has(body.authbody){height:100%;overflow:hidden}
body.authbody{height:100vh;height:100dvh;min-height:0;overflow:hidden;background-attachment:scroll}
.authbody .shell{height:100%;min-height:0;max-height:100%;overflow:hidden;padding:clamp(8px,2vh,20px) 14px}
.authbody main{width:min(100%,520px);min-height:0;max-height:100%;overflow:visible}
.authbody .authpanel{padding:clamp(16px,3.3vh,40px) clamp(18px,5vw,42px);border-radius:clamp(14px,3vh,24px)}
.authbody .authpanel h1{font-size:clamp(1.8rem,5.2vh,3.7rem);margin:0}
.authbody .crest{font-size:clamp(1.1rem,3vh,2rem)}
.authbody .scriptbrand{font-size:clamp(1.1rem,2.7vh,1.7rem);margin:0 0 clamp(3px,1vh,14px)}
.authbody .subbrand,.authbody .strap{margin:clamp(4px,1.4vh,12px) 0 clamp(10px,3vh,35px)}
.authbody .authpanel form{gap:clamp(8px,1.6vh,18px)}
.authbody .authpanel label{gap:clamp(3px,.7vh,7px)}
.authbody .authpanel input{padding:clamp(9px,1.4vh,15px)}
.authbody .authpanel .btn,.authbody .authpanel button[type=submit]{padding:clamp(10px,1.5vh,16px)}
.authbody .authfooter{margin-top:clamp(8px,2.5vh,35px)}
@media(max-height:680px){.authbody .shell{padding:6px 12px}.authbody .authpanel{padding:12px 18px}.authbody .subbrand,.authbody .strap{margin:3px 0 10px}.authbody .authpanel form{gap:7px}.authbody .authpanel input{padding:9px}.authbody .authfooter{margin-top:7px}}
@media(max-height:510px){.authbody .crest,.authbody .authfooter,.authbody .strap{display:none}.authbody .authpanel h1{font-size:1.55rem}.authbody .authpanel{padding:8px 12px}.authbody .authpanel form{gap:4px}.authbody .authpanel input{padding:6px}.authbody .authpanel button[type=submit]{padding:8px}}

/* BACKSTAGE v5 */
.rating-slider{display:block;margin:18px 0!important}.rating-slider output{float:right;color:#eac47a;font-weight:800}.rating-slider input[type=range]{width:100%;accent-color:#eac47a;cursor:pointer;margin:12px 0 4px}.venue-thumb{width:66px;height:66px;object-fit:cover;border-radius:9px}.venue-photo{margin:12px 0}.venue-photo img{width:100%;max-height:300px;object-fit:cover;border-radius:12px}.venue-photo figcaption{font-size:.85rem;opacity:.8;margin:4px 0}

/* BACKSTAGE v6 — visual polish across the entire application. */
:root{--gold:#eac47a;--wine:#681522;--line:#53313c}
body.appbody{background:radial-gradient(ellipse at 5% 0%,#41121f 0%,transparent 36%),radial-gradient(ellipse at 95% 45%,#2c1020 0%,transparent 48%),#0e0609}
.appbody .shell{background:linear-gradient(165deg,#1d0c13,#10080d 65%,#13090f)}
.topbar{border-bottom:1px solid #694150;box-shadow:0 5px 25px #0005}
.logo:before{content:'♛';color:var(--gold);font-size:1.35rem;margin-right:.45rem;vertical-align:baseline}
.hero{position:relative;border-bottom:1px solid #77505b;box-shadow:inset 0 -50px 60px #13090d}
.herooverlay h1{letter-spacing:-.025em}
.panel{border-color:#58343e;background:linear-gradient(145deg,#2b1720,#1b1016 85%);box-shadow:0 10px 24px #0004}
.panel h2:before{content:'✦';color:var(--gold);font-size:.85em;margin-right:.55em}
.showcard{background:linear-gradient(115deg,#421523,#24121b 60%,#1c1016);border-color:#6a3542;box-shadow:0 8px 22px #0004;position:relative;overflow:hidden}
.showcard:before{content:'';position:absolute;inset:0 auto 0 0;width:3px;background:linear-gradient(#f4d597,#8c4a32)}
.showcard .datebox{background:#180b11;border:1px solid #69414b;border-radius:10px;padding:7px 2px;width:65px}
.showinfo strong{line-height:1.35}.showinfo small{line-height:1.45}
.quick a{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:8px;min-height:92px;background:linear-gradient(140deg,#38202b,#24141c);border-color:#64404a;transition:transform .18s,border-color .18s}
.quick a:hover,.quick a:focus-visible{transform:translateY(-2px);border-color:var(--gold)}
.menulist a{align-items:center;min-height:58px;gap:8px;padding:15px 12px;background:linear-gradient(90deg,#29151eaa,transparent);border-radius:9px;margin-bottom:4px}
.menulist a:hover{background:#402331}
.menulist span{font-size:1.5rem}
.bottomnav{border-top:1px solid #6b4550;background:#190d14f5;box-shadow:0 -12px 32px #0009}
.bottomnav a{font-size:1.55rem;gap:3px;transition:transform .15s}
.bottomnav a:hover{transform:translateY(-2px)}
.bottomnav small{font-size:.72rem;font-weight:650;letter-spacing:.015em}
.stat{background:linear-gradient(160deg,#452130,#26131d);border-color:#72424d;box-shadow:0 8px 20px #0004}
.stat b{color:#f3c87e;text-shadow:0 2px 12px #dba35344}
.timeline{border-bottom:1px dashed #65444e}.timeline b{font-variant-numeric:tabular-nums}
.datepill{backdrop-filter:blur(8px);box-shadow:0 4px 18px #0007}
.address{padding-left:9px;border-left:3px solid #bd9162;margin:10px 0}
.venue-thumb{border:2px solid #b48b65;box-shadow:0 4px 14px #0008}
.venue-photo img{border:1px solid #76515a;box-shadow:0 8px 25px #0005}
.rating-slider input[type=range]{accent-color:#f1c475}
.btn,button[type=submit]{box-shadow:0 3px 12px #0004}
:focus-visible{outline:2px solid #f4cf8d;outline-offset:3px}
@media(max-width:450px){.bottomnav a{font-size:1.38rem}.bottomnav small{font-size:.65rem}.logo:before{font-size:1.1rem}.showcard .datebox{width:58px}}
@media(prefers-reduced-motion:reduce){.quick a,.bottomnav a{transition:none}}

/* v7 mobile and thumbnail refinements */
html{touch-action:pan-x pan-y;-webkit-text-size-adjust:100%;text-size-adjust:100%}
input,select,textarea{font-size:16px!important}
.venue-thumb{display:block;width:100%;height:100%;min-width:54px;min-height:54px;object-fit:cover;border-radius:10px}
.showcard .datebox:has(.venue-thumb){padding:0;overflow:hidden;min-width:62px;width:62px;height:62px}
.address a{color:#efc77d;text-decoration:underline;text-underline-offset:3px}
@media(max-width:390px){.showcard{gap:10px}.showinfo{min-width:0}.showinfo strong{overflow-wrap:anywhere}}

/* BACKSTAGE v8 */
.startbadge{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;background:linear-gradient(145deg,#59381e,#332016);border:1px solid #d7a75f;border-radius:12px;padding:8px 12px;min-width:88px;box-shadow:0 3px 18px #e2a85717;color:#f8d793;flex-shrink:0}
.startbadge small{font-size:.58rem;letter-spacing:.1em;font-weight:800;color:#f4c681;white-space:nowrap}
.startbadge b{font-size:1.48rem;font-variant-numeric:tabular-nums;line-height:1.15}
.tourmap{height:460px;max-height:70vh;background:#271c22;border:1px solid #69424a;border-radius:16px;overflow:hidden;margin:18px 0}
.tourmap .leaflet-popup-content-wrapper{background:#24151e;color:#fff}.tourmap .leaflet-popup-tip{background:#24151e}
@media(max-width:440px){.showcard{gap:8px;padding:10px}.startbadge{min-width:76px;padding:8px 6px}.startbadge b{font-size:1.23rem}.startbadge small{font-size:.5rem}.showcard .arrow{display:none}.tourmap{height:370px}}

/* v8.1: tap the address itself to navigate */
a.address-link{color:#efc879;text-decoration:underline;text-decoration-color:rgba(239,200,121,.55);text-underline-offset:3px;font-weight:650;overflow-wrap:anywhere}a.address-link:hover,a.address-link:focus-visible{color:#ffe1a0;text-decoration-color:currentColor}a.address-link:focus-visible{outline:2px solid #efc879;outline-offset:3px;border-radius:3px}

/* v8.2: Highlight the actual start of the performance in the show timeline. */
.timeline.timeline-showstart{background:linear-gradient(110deg,#59371f,#39201b);border:1px solid #d9a65e;border-radius:12px;padding:14px 13px;margin:12px 0;box-shadow:0 4px 20px #d9a65e1a;flex-wrap:wrap;gap:8px 12px}
.timeline-showstart .timeline-start-label{order:-2;flex:0 0 100%;font-size:.68rem;font-weight:850;letter-spacing:.12em;color:#f3c982}
.timeline-showstart b{font-size:1.65rem;color:#ffe0a1;min-width:80px;line-height:1.2}
.timeline-showstart>span:last-child{color:#fff1e3;font-weight:750}

/* v8.3: quieter show-start highlight, still clearly distinguishable. */
.timeline.timeline-showstart{background:#35232a;border:1px solid #82634d;border-left:3px solid #c9a06a;border-radius:8px;padding:9px 11px;margin:6px 0;box-shadow:none;gap:5px 10px}
.timeline-showstart .timeline-start-label{font-size:.61rem;font-weight:700;letter-spacing:.07em;color:#c9a675}
.timeline-showstart b{font-size:1.15rem;color:#e8c78f;min-width:65px;line-height:1.35}
.timeline-showstart>span:last-child{color:inherit;font-weight:600}

/* v8.4: Showtime countdown */
.backstage-countdown{border:1px solid #76513d;background:linear-gradient(120deg,#30202a,#25191f);text-align:center}
.countdown-heading{font-size:.75rem;font-weight:800;letter-spacing:.1em;color:#d7b27b}
.countdown-heading span{font-weight:400;letter-spacing:0;color:#cbb8b8}
.countdown-clock{font-size:clamp(1.8rem,7vw,2.7rem);font-weight:800;letter-spacing:.06em;font-variant-numeric:tabular-nums;color:#f1d29c;margin:9px 0}
.countdown-next{font-size:.9rem;color:#e2d5d6}

/* BACKSTAGE v8.5 */
.v85-calendar-nav{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:15px}.v85-calendar{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}.v85-weekday{text-align:center;color:#d3b37b;font-size:.8rem}.v85-day{min-height:75px;background:#341b25;border:1px solid #684551;border-radius:7px;padding:5px;overflow:hidden}.v85-day b{display:block;font-size:.8rem}.v85-day a{display:block;background:#71502d;color:#ffdfa5;border-radius:4px;padding:4px 2px;margin-top:4px;font-size:.69rem;overflow-wrap:anywhere}.v85-empty{min-height:40px}@media(max-width:500px){.v85-day{min-height:62px;padding:3px}.v85-day a{font-size:.58rem}.v85-calendar{gap:2px}}@media print{.topbar,.bottomnav,.v85-no-print,.backstage-countdown{display:none!important}body,.shell,main,.panel{background:#fff!important;color:#111!important;box-shadow:none!important;border-color:#ddd!important}.panel{break-inside:avoid}a{color:#111!important}.v85-print-head{margin:0 0 20px}}

/* v8.6: voorkom dubbel-tik zoom zonder pinch zoom uit te schakelen */
button,a,input,select,textarea,summary,.showcard,.bottomnav {touch-action:manipulation;}
@media(max-width:800px){input,select,textarea{font-size:16px!important;}}

/* v8.7: compacte beoordeling en zoekresultaten */
.showcard[hidden],.muted[hidden]{display:none!important}
input[type="range"]{max-width:100%;height:22px;accent-color:#d4ad73}
label:has(> input[type="range"]){margin:5px 0!important;padding:4px 0!important}

/* v8.8 premium header and historical archive */
.appbody .topbar{min-height:86px;height:auto;padding:12px 20px;background:linear-gradient(115deg,#34141f,#1b0b12 70%);border-bottom:1px solid #bd8e57;box-shadow:0 8px 30px #0008,inset 0 -1px #e8bb6940;gap:12px}
.appbody .logo{display:flex;flex-direction:column;gap:5px;line-height:1.05;text-decoration:none;letter-spacing:normal}
.appbody .logo:before{content:none!important}
.appbody .logo-title{font-size:clamp(.9rem,3.4vw,1.16rem);letter-spacing:.24em;font-weight:800;color:#f0c888;text-shadow:0 0 18px #e7aa6550}
.appbody .logo small{font:600 clamp(.95rem,3.7vw,1.25rem) Georgia,serif;letter-spacing:.015em;color:#fff0d8;text-transform:none}
.appbody .avatar{width:46px;height:46px;min-width:46px;display:grid;place-items:center;border:2px solid #e2b77a;background:#56313c;color:#ffe5b2;border-radius:50%;font-size:1.25rem;font-weight:750;overflow:hidden;box-shadow:0 0 0 4px #a5753b26,0 5px 18px #0008;text-decoration:none}
.appbody .avatar img,.profile-preview img{width:100%;height:100%;object-fit:cover;border-radius:50%;display:block}
.profile-preview{width:90px;height:90px;border:2px solid #e2b77a;background:#56313c;border-radius:50%;display:grid;place-items:center;overflow:hidden;font-size:2.2rem;color:#ffe5b2;margin:10px 0 20px}
.archive-controls{margin:18px 0 12px}.archive-controls input{width:100%;margin-bottom:10px}.archive-filters{display:grid;grid-template-columns:1fr 1fr;gap:10px}.archive-filters select{min-width:0;width:100%}.archive-entry[hidden],.showcard[hidden],#archiveMore[hidden],#archiveEmpty[hidden]{display:none!important}.archive-more{width:100%;margin-top:14px}.archive-count{text-align:center;font-size:.8rem}.past-shows>summary{cursor:pointer}
@media(max-width:390px){.appbody .topbar{padding:11px 13px}.appbody .logo-title{letter-spacing:.17em}}

/* v8.9: compacte previews voor komende shows */
.showcard-preview .datebox{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px}
.showcard-preview .datebox .show-weekday{font-size:.62rem;line-height:1.1;font-weight:800;letter-spacing:.13em;color:#eac47a}
.showcard-preview .datebox b{line-height:1.1}
.showcard-preview .showinfo{gap:5px}
.showcard-preview .show-start{font-size:.85rem;font-weight:750;color:#eac47a;white-space:nowrap}
.showcard-preview .show-entrance{display:block;width:56px;height:56px;flex:0 0 56px;object-fit:cover;border-radius:10px;border:1px solid #8a6653;box-shadow:0 4px 14px #0006}
@media(max-width:420px){.showcard-preview{gap:9px;padding:10px 9px}.showcard-preview .show-entrance{width:45px;height:45px;flex-basis:45px}.showcard-preview .arrow{font-size:1.3rem}.showcard-preview .showinfo strong{font-size:.9rem}.showcard-preview .show-start{font-size:.76rem}}

/* BACKSTAGE v9.0 — rustig premium ontwerp */
.topbar{background:#20171c!important;border-bottom:1px solid #493840!important;box-shadow:0 3px 14px #0002!important}
.topbar .logo,.topbar .logo-title{font-family:Inter,ui-sans-serif,system-ui,-apple-system,'Segoe UI',sans-serif!important;letter-spacing:.095em!important;font-weight:750!important;color:#f4ede8!important;text-shadow:none!important}
.topbar .logo small{font-family:Inter,ui-sans-serif,system-ui,sans-serif!important;letter-spacing:.015em!important;color:#c5a77d!important;text-transform:none!important}
.topbar .avatar{border:1px solid #8e7261!important;box-shadow:none!important}
.showcard-preview{gap:9px}.showcard-preview .show-entrance{order:0;width:50px;height:50px;flex:0 0 50px}.showcard-preview .showinfo{order:1;min-width:0;flex:1}.showcard-preview .startbadge{order:2;flex:0 0 auto;border:1px solid #b8955d;background:#34232a;border-radius:9px;padding:8px 9px;display:flex;flex-direction:column;align-items:center;gap:3px;box-shadow:none}.showcard-preview .startbadge small{color:#ddbb86;font-size:.58rem;letter-spacing:.08em;font-weight:750}.showcard-preview .startbadge b{color:#f6d59d;font-size:1rem;line-height:1.1}.showcard-preview .arrow{display:none}
.rating-slider{display:block;margin:10px 0!important}.rating-slider .rating-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:.91rem}.rating-slider output{float:none;min-width:30px;text-align:right;color:#eac47a;font-weight:800}.rating-slider input[type=range]{display:block;width:100%;margin:6px 0 2px;accent-color:#eac47a}
@media(max-width:420px){.showcard-preview .show-entrance{width:42px;height:42px;flex-basis:42px}.showcard-preview .startbadge{padding:6px}.showcard-preview .startbadge b{font-size:.88rem}.showcard-preview .datebox{min-width:43px}}

/* BACKSTAGE v9.1: minimalistische knoppen en login */
:root{--button-bg:#35212b;--button-border:#a88457;--button-text:#f5e8d8}
.btn,button[type=submit],.linkbtn,.archive-more{background:var(--button-bg)!important;color:var(--button-text)!important;border:1px solid var(--button-border)!important;border-radius:10px!important;box-shadow:none!important;font-weight:650!important;letter-spacing:.01em;transition:background .15s,border-color .15s,transform .15s}
.btn:hover,button[type=submit]:hover,.linkbtn:hover,.archive-more:hover{background:#49303b!important;border-color:#d2ac79!important}
.btn:active,button[type=submit]:active,.linkbtn:active,.archive-more:active{transform:translateY(1px)}
.btn:focus-visible,button[type=submit]:focus-visible,.password-eye:focus-visible{outline:2px solid #e8c78f;outline-offset:3px}
.authbody .authpanel.login-panel{max-width:460px;margin:auto;padding:clamp(20px,4vw,38px);border-color:#62434a;border-radius:18px}
.login-brand-image{display:block;width:min(100%,310px);height:auto;object-fit:contain;margin:0 auto 16px}
.login-panel form{gap:14px}
.login-panel label{font-weight:500}
.login-panel .loginextras label.check{flex-direction:row}
.password-wrap{display:block;position:relative;width:100%}
.password-wrap input{padding-right:56px!important}
.password-eye,.authpanel .password-eye{position:absolute;right:5px;top:50%;transform:translateY(-50%);display:flex;align-items:center;justify-content:center;width:43px;height:43px;min-height:43px;padding:9px;border:0;border-radius:9px;background:transparent!important;box-shadow:none!important;color:#d9b77f!important;cursor:pointer}
.password-eye svg{width:21px;height:21px;pointer-events:none}
.password-eye.is-visible{color:#f5e8d8!important}
@media(max-height:680px){.login-brand-image{width:min(100%,230px);margin-bottom:10px}.authbody .authpanel.login-panel{padding:16px}}
/* BACKSTAGE v9.3 */
.visit-card .datebox{min-width:76px}.visit-card .showinfo{min-width:0}
.backstage-zoom{cursor:zoom-in;max-width:100%;height:auto}
.food-photo{display:inline-block;vertical-align:top;margin:8px 10px 12px 0;max-width:170px}
.food-photo img{display:block;max-height:150px;border-radius:10px;object-fit:cover}
.food-photo figcaption{font-size:.8rem;color:var(--muted,#c2b6b8);margin-top:4px}
.checklist-row{width:100%;text-align:left;margin:5px 0}
.backstage-lightbox{position:fixed;inset:0;z-index:10000;display:none;align-items:center;justify-content:center;background:rgba(8,5,9,.96);touch-action:pan-x pan-y}
.backstage-lightbox.visible{display:flex}
.backstage-lightbox img{max-width:85vw;max-height:85vh;object-fit:contain;transition:transform .12s;user-select:none}
.backstage-lightbox button{position:absolute;border:1px solid #b69c72;border-radius:8px;background:#310e1b;color:#fff;font-size:1.5rem;padding:5px 12px;cursor:pointer;z-index:1}
.lb-close{top:16px;right:16px}.lb-prev{left:8px;top:50%}.lb-next{right:8px;top:50%}
.lb-zoom{position:absolute;bottom:20px;left:50%;transform:translateX(-50%);display:flex;gap:10px}
.backstage-lightbox .lb-zoom button{position:static}

/* BACKSTAGE v9.4 */
.show-shortcuts{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px!important;margin:10px 0 16px!important}
.show-shortcuts a{display:flex;align-items:center;justify-content:center;text-align:center;min-width:0;padding:10px 4px!important;min-height:42px!important;font-size:.77rem!important;border-radius:9px!important;line-height:1.2}
.crew-todo-card{border:1px solid #765059;transition:background-color .25s,border-color .25s}
.crew-todo-done{background:#183b2d!important;border-color:#44765c!important}
.crew-todo-open{background:#40232d!important}
.crew-todo-heading{display:flex;align-items:center;justify-content:space-between;gap:10px}
.crew-todo-heading h3{margin:0;font-size:1rem}
.crew-todo-state{font-size:.75rem;white-space:nowrap;color:#e9d9c3}
.crew-todo-details{margin:12px 0}
.crew-todo-details summary{cursor:pointer;padding:10px;border-radius:8px;background:#241b22;font-size:.85rem;color:#e6c28e}
.crew-todo-details[open] summary{margin-bottom:10px}
.crew-todo-meta{display:grid;gap:4px;padding:10px 5px;border-bottom:1px solid #ffffff19;font-size:.85rem}
.document-toolbar{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-bottom:12px}
.document-toolbar a{color:#e5be76}
.document-frame{width:100%;height:min(75vh,850px);border:1px solid #806247;border-radius:12px;background:white}
.christmas-banner{text-align:center;padding:15px 10px;margin:12px 0;border:1px solid #a99058;border-radius:12px;color:#f8e5b9;background:linear-gradient(110deg,#214534,#4b1826,#214534);font-weight:750}
.christmas-show .showhero{box-shadow:inset 0 0 0 1px #c5a66a,0 4px 18px #163c2955}
@media(prefers-reduced-motion:no-preference){
.appbody main > .panel,.appbody main > .showcard,.appbody main > .showhero,.appbody main > .christmas-banner{animation:bs-appear .24s ease-out both}
@keyframes bs-appear{from{opacity:.25;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
.appbody .btn,.appbody a,.appbody button{transition:background-color .18s,border-color .18s,transform .15s}
.appbody .btn:active,.appbody button:active{transform:scale(.98)}
}

/* BACKSTAGE 9.5 */
.darkmode-toggle{position:fixed;bottom:calc(78px + env(safe-area-inset-bottom,0px));right:15px;z-index:90;border:1px solid #9f8058;background:#31202a;color:#f0d9a9;border-radius:50%;width:42px;height:42px;box-shadow:0 3px 14px #0006;cursor:pointer}
body.backstage-night{background:#09090c!important;color:#d4c5b6!important}
body.backstage-night .shell,body.backstage-night main{background:#0e0d12!important}
body.backstage-night .panel,body.backstage-night .showhero,body.backstage-night .showcard,body.backstage-night .hero{background:#18151b!important;border-color:#54434c!important;box-shadow:none!important}
body.backstage-night .topbar,body.backstage-night .bottomnav{background:#151218!important}
body.backstage-night .christmas-banner{filter:brightness(.65)}
.show-today .quick{margin-bottom:0!important}
.milestone{border-color:#b59662!important}

/* v9.5.1 Birthdays */
.birthday-entry{display:flex;align-items:center;gap:12px;padding:12px 4px;border-bottom:1px solid rgba(255,255,255,.09)}
.birthday-entry:last-of-type{border-bottom:0}
.birthday-icon{font-size:1.5rem}
.birthday-entry>div{display:flex;flex-direction:column;gap:3px}
.birthday-entry small{color:#d5b98e}
.birthday-today{background:linear-gradient(90deg,rgba(125,83,34,.25),transparent);border-radius:10px;padding-left:10px}

/* v9.5.2 show cards: theater entrance and compact history */
.showcard .show-entrance{display:block;width:52px;height:52px;flex:0 0 52px;object-fit:cover;border-radius:9px;border:1px solid #8a6653;box-shadow:0 3px 12px #0005}
.showcard-past .startbadge{display:none}
.showcard-past .showinfo{flex:1;min-width:0}
.showcard-past .datebox{min-width:50px}
@media(max-width:420px){.showcard .show-entrance{width:42px;height:42px;flex-basis:42px}.showcard-past{gap:8px}}

/* v9.5.3: fixed-size theater entrance thumbnails in past and future show cards */
.showcard .show-entrance-frame{display:block!important;position:relative!important;flex:0 0 48px!important;width:48px!important;height:48px!important;max-width:48px!important;max-height:48px!important;overflow:hidden!important;border-radius:9px;border:1px solid #8a6653;align-self:center!important}
.showcard .show-entrance-frame>img.show-entrance{display:block!important;width:100%!important;height:100%!important;max-width:100%!important;max-height:100%!important;object-fit:cover!important;border:0!important;border-radius:0!important;box-shadow:none!important}
@media(max-width:420px){.showcard .show-entrance-frame{flex-basis:42px!important;width:42px!important;height:42px!important;max-width:42px!important;max-height:42px!important}}

/* v9.5.4: show header photo, with entrance > audience priority */
.showhero.showhero-venue-photo{background:#160d12!important;overflow:hidden;isolation:isolate}
.showhero-venue-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;display:block;z-index:-1}
.showhero.showhero-venue-photo:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(0deg,rgba(17,6,10,.84),rgba(17,6,10,.08) 75%);z-index:-1}
.showhero.showhero-venue-photo .datepill{z-index:1}
body.backstage-night .showhero.showhero-venue-photo{background:#160d12!important}

/* v9.5.6: uploaded band logo in top bar */
.topbar .logo{display:flex;align-items:center;gap:10px;min-width:0}
.topbar .topbar-band-logo{display:block;width:auto;height:42px;max-width:min(42vw,150px);object-fit:contain;flex-shrink:1}
@media(max-width:420px){.topbar .logo{gap:7px}.topbar .topbar-band-logo{height:34px;max-width:120px}}

/* v9.5.7: keep top navigation visible while scrolling */
.appbody .topbar{position:sticky;top:0;z-index:50}
@supports (top:env(safe-area-inset-top)){.appbody .topbar{top:env(safe-area-inset-top,0px)}}

/* v9.5.8 month separators in upcoming show list */
.show-month-divider{display:flex;align-items:center;gap:12px;margin:22px 0 12px;color:#d7b77c;font-weight:750;letter-spacing:.025em}
.show-month-divider:after{content:"";height:1px;flex:1;background:linear-gradient(90deg,rgba(215,183,124,.55),transparent)}
.show-month-divider span{white-space:nowrap}

/* v9.5.9 logo header polish */
.appbody .topbar .logo .topbar-band-logo{display:block!important;visibility:visible!important;opacity:1!important;height:42px;width:auto;max-width:150px;object-fit:contain}
@media(max-width:420px){.appbody .topbar .logo .topbar-band-logo{height:34px;max-width:120px}}

/* v9.5.10: larger left logo and truly centered BACKSTAGE title */
.appbody .topbar{position:sticky;top:0;display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;column-gap:8px;min-height:96px;padding:10px 18px;z-index:50}
.appbody .topbar .logo{grid-column:1;grid-row:1;display:flex;justify-self:start;align-items:center;min-width:0;max-width:100%;margin:0}
.appbody .topbar .logo .topbar-band-logo{height:65px!important;width:auto!important;max-width:min(27vw,190px)!important;object-fit:contain}
.appbody .topbar .topbar-center-title{grid-column:2;grid-row:1;justify-self:center;white-space:nowrap;font-size:clamp(.75rem,2.2vw,1.1rem);letter-spacing:.09em!important;text-align:center}
.appbody .topbar .avatar{grid-column:3;grid-row:1;justify-self:end;flex-shrink:0}
@media(max-width:520px){.appbody .topbar{min-height:86px;padding:8px 11px;column-gap:5px}.appbody .topbar .logo .topbar-band-logo{height:53px!important;max-width:27vw!important}.appbody .topbar .topbar-center-title{font-size:clamp(.67rem,2.65vw,.9rem);letter-spacing:.025em!important}}

/* v9.5.12: larger logo and centered title, responsive without overlap */
.appbody .topbar{min-height:110px;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr)}
.appbody .topbar .logo .topbar-band-logo{height:82px!important;max-width:min(30vw,240px)!important}
.appbody .topbar .topbar-center-title{font-size:clamp(1.05rem,2.3vw,1.55rem)!important;letter-spacing:.045em!important}
@media(max-width:520px){
 .appbody .topbar{min-height:96px;padding:8px 10px;column-gap:4px}
 .appbody .topbar .logo .topbar-band-logo{height:68px!important;max-width:29vw!important}
 .appbody .topbar .topbar-center-title{font-size:clamp(.82rem,3.3vw,1.05rem)!important;letter-spacing:0!important}
}
@media(max-width:360px){
 .appbody .topbar .logo .topbar-band-logo{max-width:26vw!important}
 .appbody .topbar .topbar-center-title{font-size:.8rem!important}
}

/* v9.5.16: reserve the same thumbnail slot on every show card */
.showcard .show-entrance-placeholder{display:flex!important;align-items:center;justify-content:center;background:rgba(167,131,91,.12);color:#d8b88b;font-size:21px;box-sizing:border-box}
.showcard .show-entrance-placeholder>span{display:block;line-height:1}
@media(max-width:420px){.showcard .show-entrance-frame{flex-basis:42px!important;width:42px!important;height:42px!important;max-width:42px!important;max-height:42px!important}}
