/* Gig Life iPhone app layer. Only active when <html> has .gl-app (set by gig-life.js). */
html.gl-app{--gl-bg:#141211;--gl-char:#1d1b1a;--gl-char2:#262321;--gl-line:rgba(243,236,224,.10);--gl-cream:#f3ece0;--gl-mute:#c9bfb2;--gl-or:#e8641f;--gl-orhi:#ff8a45;--gl-grad:linear-gradient(180deg,#ff8a45 0%,#e8641f 45%,#c14c12 80%,#a8400f 100%);--gl-noise:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 .07 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
html.gl-app body{background:var(--gl-noise),radial-gradient(120% 60% at 50% -10%,rgba(232,100,31,.16),transparent 60%),var(--gl-bg)!important;color:var(--gl-cream);padding-bottom:calc(96px + env(safe-area-inset-bottom))!important}
html.gl-app body>header.tm-header,html.gl-app body>footer,html.gl-app .breadcrumb,html.gl-app #app>.top,html.gl-app #app>.tabs,html.gl-app .tm-staffnav,html.gl-app [data-seller-link]{display:none!important}
html.gl-app main.wrap{padding:0 16px 24px!important;max-width:560px;min-height:0}
html.gl-app #app h2,html.gl-app #app h3{color:var(--gl-cream)}
.gl-top{position:sticky;top:0;z-index:60;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:calc(env(safe-area-inset-top) + 10px) 18px 12px;margin:0 -16px 16px;background:linear-gradient(180deg,rgba(20,18,17,.96),rgba(20,18,17,.82));-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:1px solid var(--gl-line)}
.gl-brand{display:flex;align-items:center;gap:10px}
.gl-mark{width:34px;height:34px;display:grid;place-items:center;background:var(--gl-noise),var(--gl-grad);border:2px solid #0d0c0b;box-shadow:2px 2px 0 #0d0c0b;color:#160c06;font:900 15px/1 "Archivo Black","Archivo",sans-serif}
.gl-brand b{font:900 20px/1 "Archivo Black","Archivo",sans-serif;letter-spacing:-.02em;text-transform:uppercase;color:var(--gl-cream);text-shadow:0 2px 6px rgba(0,0,0,.6)}
.gl-brand b i{font-style:normal;color:var(--gl-orhi)}
.gl-me{display:flex;align-items:center;gap:10px}
.gl-ava{width:40px;height:40px;border:2px solid var(--gl-or);background:var(--gl-char2) center/cover;display:grid;place-items:center;color:var(--gl-orhi);font:800 16px "Archivo",sans-serif;cursor:pointer;padding:0;min-height:0}
.gl-cog{width:40px;height:40px;min-height:0;border:1px solid var(--gl-line);background:var(--gl-char);color:var(--gl-cream);font-size:18px;cursor:pointer}
.gl-eyebrow{font:700 10px/1.2 "Roboto Mono",ui-monospace,monospace;letter-spacing:.2em;text-transform:uppercase;color:var(--gl-mute)}
.gl-h2{font:900 22px/1 "Archivo Black","Archivo",sans-serif;text-transform:uppercase;letter-spacing:-.01em;margin:4px 0 0;color:var(--gl-cream);text-shadow:0 2px 6px rgba(0,0,0,.55)}
.gl-sec{margin:0 0 22px}
.gl-head{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:12px}
.gl-link{background:none;border:0;border-bottom:2px solid var(--gl-or);color:var(--gl-orhi);font:800 11px "Archivo",sans-serif;letter-spacing:.14em;text-transform:uppercase;padding:0 0 3px;min-height:0;cursor:pointer}
/* Next gig ticket hero */
.gl-ticket{position:relative;display:flex;flex-direction:column;background:var(--gl-noise),var(--gl-grad);border:2px solid #0d0c0b;box-shadow:0 18px 40px -16px rgba(232,100,31,.55),4px 4px 0 #0d0c0b;color:#160c06;overflow:visible}
.gl-ticket .gl-tmain{padding:20px 20px 16px}
.gl-ticket .gl-tstub{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:14px 20px;border-top:2px dashed rgba(22,12,6,.45);background:rgba(22,12,6,.10)}
.gl-ticket::before,.gl-ticket::after{content:"";position:absolute;bottom:52px;width:22px;height:22px;border-radius:50%;background:var(--gl-bg);border:2px solid #0d0c0b}
.gl-ticket::before{left:-13px}.gl-ticket::after{right:-13px}
.gl-tag{display:inline-block;background:rgba(22,12,6,.82);color:var(--gl-cream);font:700 10px "Roboto Mono",monospace;letter-spacing:.16em;text-transform:uppercase;padding:5px 8px}
.gl-ttitle{font:900 clamp(26px,8vw,36px)/.95 "Archivo Black","Archivo",sans-serif;text-transform:uppercase;letter-spacing:-.02em;margin:12px 0 10px;color:#160c06;text-shadow:0 1px 0 rgba(255,200,160,.35);word-break:break-word}
.gl-tmeta{display:flex;flex-wrap:wrap;gap:6px 14px;font:700 13px "Archivo",sans-serif;color:#2a1508}
.gl-count{font:900 26px/1 "Archivo Black","Archivo",sans-serif;color:#160c06}
.gl-count small{display:block;font:700 10px "Roboto Mono",monospace;letter-spacing:.14em;text-transform:uppercase;color:#3b1d0b;margin-top:3px}
.gl-tbtn{background:#141211;color:var(--gl-cream);border:2px solid #0d0c0b;padding:0 16px;min-height:44px;font:800 12px "Archivo",sans-serif;letter-spacing:.14em;text-transform:uppercase;cursor:pointer;box-shadow:2px 2px 0 rgba(0,0,0,.35)}
.gl-empty{background:var(--gl-noise),var(--gl-char);border:1px solid var(--gl-line);padding:22px;text-align:center;color:var(--gl-mute)}
.gl-empty strong{display:block;color:var(--gl-cream);font:900 18px "Archivo Black","Archivo",sans-serif;text-transform:uppercase;margin-bottom:6px}
/* Stats */
.gl-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.gl-stat{background:var(--gl-noise),linear-gradient(180deg,var(--gl-char2),var(--gl-char));border:1px solid var(--gl-line);box-shadow:inset 0 1px 0 rgba(255,255,255,.04),0 0 18px -10px rgba(232,100,31,.6);padding:14px 12px}
.gl-stat b{display:block;font:900 30px/1 "Archivo Black","Archivo",sans-serif;color:var(--gl-orhi);text-shadow:0 0 14px rgba(232,100,31,.35);margin-top:6px}
.gl-stat:not(:first-child) b{color:var(--gl-cream)}
/* Quick actions */
.gl-acts{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.gl-act{display:flex;flex-direction:column;align-items:center;gap:8px;background:none;border:0;padding:0;cursor:pointer;color:var(--gl-cream);min-height:0}
.gl-act span:first-child{width:100%;aspect-ratio:1;display:grid;place-items:center;font-size:24px;background:var(--gl-noise),linear-gradient(180deg,var(--gl-char2),var(--gl-char));border:1px solid rgba(232,100,31,.45);box-shadow:inset 0 1px 0 rgba(255,255,255,.05)}
.gl-act.hot span:first-child{background:var(--gl-noise),var(--gl-grad);border:2px solid #0d0c0b;box-shadow:3px 3px 0 #0d0c0b}
.gl-act span:last-child{font:700 10px "Roboto Mono",monospace;letter-spacing:.1em;text-transform:uppercase;color:var(--gl-mute)}
/* Rows */
.gl-row{display:flex;align-items:center;gap:12px;background:var(--gl-noise),var(--gl-char);border:1px solid var(--gl-line);padding:10px;margin-bottom:8px;cursor:pointer;width:100%;text-align:left;color:var(--gl-cream);font:inherit}
.gl-thumb{width:58px;height:58px;flex:0 0 58px;background:var(--gl-char2) center/cover;border:1px solid rgba(232,100,31,.35);display:grid;place-items:center;color:var(--gl-orhi);font:900 18px "Archivo Black",sans-serif}
.gl-row .gl-rt{flex:1;min-width:0}
.gl-row h4{margin:0 0 3px;font:800 15px/1.2 "Archivo",sans-serif;text-transform:uppercase;color:var(--gl-cream);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.gl-row p{margin:0;font:600 12px "Archivo",sans-serif;color:var(--gl-mute);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.gl-nofee{display:inline-block;margin-top:5px;font:700 10px "Roboto Mono",monospace;letter-spacing:.1em;text-transform:uppercase;color:#7fe0a0;border:1px solid rgba(127,224,160,.45);padding:2px 6px}
.gl-chev{color:var(--gl-or);font-size:20px}
/* Find gigs */
.gl-search{display:flex;gap:8px;margin-bottom:12px}
.gl-search input{flex:1;min-height:48px;background:var(--gl-char);border:1px solid rgba(232,100,31,.5);color:var(--gl-cream);padding:0 14px;font:600 16px "Archivo",sans-serif}
.gl-search input::placeholder{color:#9d9288}
.gl-intro{color:var(--gl-mute);font-size:14px;margin:6px 0 14px}
/* Bottom nav */
.gl-nav{position:fixed;left:0;right:0;bottom:0;z-index:70;display:grid;grid-template-columns:repeat(5,1fr);padding:8px 8px calc(8px + env(safe-area-inset-bottom));background:rgba(20,18,17,.88);-webkit-backdrop-filter:blur(16px) saturate(140%);backdrop-filter:blur(16px) saturate(140%);border-top:1px solid rgba(232,100,31,.35)}
.gl-nav button{display:flex;flex-direction:column;align-items:center;gap:4px;background:none;border:0;color:#a89d92;font:700 9px "Roboto Mono",monospace;letter-spacing:.1em;text-transform:uppercase;cursor:pointer;min-height:52px;padding:4px 0}
.gl-nav button svg{width:24px;height:24px}
.gl-nav button[aria-current="page"]{color:var(--gl-orhi);text-shadow:0 0 10px rgba(232,100,31,.5)}
.gl-nav .gl-plus{position:relative;top:-14px}
.gl-nav .gl-plus i{width:54px;height:54px;display:grid;place-items:center;background:var(--gl-noise),var(--gl-grad);border:2px solid #0d0c0b;box-shadow:3px 3px 0 #0d0c0b;color:#160c06;font:900 28px/1 "Archivo",sans-serif;font-style:normal}
.gl-view[hidden]{display:none!important}
/* Keep Frank above the tab bar */
html.gl-app #frankBtn,html.gl-app .frank-wrap,html.gl-app [class*="support-launch"],html.gl-app #tm360Support{bottom:calc(96px + env(safe-area-inset-bottom))!important}
html.gl-app #mgOffline{bottom:calc(76px + env(safe-area-inset-bottom))}
html.gl-app .gl-row,html.gl-app .gl-row *{text-decoration:none!important;box-sizing:border-box}
html.gl-app .gl-thumb{width:58px!important;height:58px!important;min-width:58px}
html.gl-app .gl-row{min-height:0}
html.gl-app .gl-intro{font-family:"Archivo",sans-serif}
.gl-act svg{width:26px;height:26px}
.gl-act.hot svg{color:#160c06}
.gl-act span:first-child{color:var(--gl-orhi)}
.gl-tmeta svg{width:14px;height:14px;vertical-align:-2px;margin-right:4px}
html.gl-app #q,html.gl-app #app input[type=search],html.gl-app #app input[type=text],html.gl-app #app input[type=email],html.gl-app #app textarea,html.gl-app #app select{width:100%;min-height:48px;background:var(--gl-char)!important;border:1px solid rgba(232,100,31,.5)!important;color:var(--gl-cream)!important;padding:0 14px;font:600 16px "Archivo",sans-serif;box-sizing:border-box}
html.gl-app #app textarea{padding:12px 14px}
/* App controls are deliberately independent of website ticket-button decoration. */
html.gl-app{--gl-ink:#160c06;--gl-focus:#ff8a45;--gl-dock:#141211;--gl-active:#ff8a45;--gl-shadow:0 4px 14px #0006}
html.gl-app :is(.gl-top,.gl-view,.gl-nav) button{background:transparent!important;background-image:none!important;border:0!important;border-image:none!important;box-shadow:none!important;filter:none!important;mask:none!important;-webkit-mask:none!important;border-radius:0!important;transform:none!important;letter-spacing:0!important;text-shadow:none!important;text-transform:none!important;color:var(--gl-cream)!important;-webkit-text-fill-color:currentColor!important;font-family:"Archivo",sans-serif!important;min-width:0!important;max-width:100%;box-sizing:border-box}
html.gl-app :is(.gl-top,.gl-view,.gl-nav) button::before,html.gl-app :is(.gl-top,.gl-view,.gl-nav) button::after{display:none!important}
html.gl-app :is(.gl-top,.gl-view,.gl-nav) button:focus-visible{outline:2px solid var(--gl-focus)!important;outline-offset:3px}
html.gl-app :is(.gl-top,.gl-view,.gl-nav) button *{-webkit-text-fill-color:currentColor!important;letter-spacing:0;text-shadow:none}
html.gl-app .gl-brand b,html.gl-app .gl-h2,html.gl-app .gl-ttitle{letter-spacing:0}
html.gl-app .gl-ttitle{font-size:30px;overflow-wrap:anywhere}
html.gl-app .gl-me{gap:6px}
html.gl-app :is(.gl-cog,.gl-ava){display:grid!important;place-items:center;width:44px!important;height:44px!important;min-height:44px!important;padding:0!important;flex:none;font-size:16px!important}
html.gl-app .gl-cog svg{width:22px;height:22px}
html.gl-app .gl-ava{background-color:var(--gl-char2)!important;background-size:cover!important;border:1px solid var(--gl-line)!important;color:var(--gl-active)!important}
html.gl-app .gl-tbtn{display:inline-flex!important;align-items:center;justify-content:center;min-height:44px!important;padding:0 14px!important;font-size:12px!important;font-weight:800!important;background:var(--gl-dock)!important;color:var(--gl-cream)!important;white-space:nowrap;flex-shrink:0}
html.gl-app .gl-link{min-height:44px!important;padding:8px 0 8px 12px!important;color:var(--gl-active)!important;font-size:12px!important;font-weight:700!important}
html.gl-app .gl-acts{gap:12px}
html.gl-app .gl-act{display:flex!important;flex-direction:column!important;justify-content:flex-start!important;gap:8px!important;padding:0!important;min-height:88px!important}
html.gl-app .gl-act span:first-child{display:grid!important;place-items:center;width:100%;height:60px;aspect-ratio:auto;background:var(--gl-noise),var(--gl-char2);border:1px solid var(--gl-line);box-shadow:none;color:var(--gl-active)}
html.gl-app .gl-act.hot span:first-child{background:var(--gl-orhi);color:var(--gl-ink);border:1px solid var(--gl-orhi);box-shadow:none}
html.gl-app .gl-act span:last-child{font:600 11px/1.3 "Archivo",sans-serif;color:var(--gl-cream);white-space:nowrap;letter-spacing:0}
html.gl-app .gl-row{display:flex!important;justify-content:flex-start!important;min-height:80px!important;padding:10px!important;gap:12px!important;background:var(--gl-char)!important;border:1px solid var(--gl-line)!important;text-align:left!important}
html.gl-app .gl-row .gl-thumb{display:grid;place-items:center}
html.gl-app .gl-nav{height:calc(76px + env(safe-area-inset-bottom));padding:8px 8px calc(8px + env(safe-area-inset-bottom));align-items:center;background:var(--gl-dock);border-top:1px solid var(--gl-line);box-sizing:border-box}
html.gl-app .gl-nav button{display:flex!important;flex-direction:column!important;justify-content:center!important;gap:5px!important;width:100%;height:60px!important;min-height:60px!important;padding:4px 0!important;font-size:10px!important;font-weight:600!important;color:var(--gl-mute)!important;white-space:nowrap}
html.gl-app .gl-nav button[aria-current="page"]{color:var(--gl-active)!important}
html.gl-app .gl-nav .gl-plus{top:0!important}
html.gl-app .gl-nav .gl-plus i{width:44px;height:44px;background:var(--gl-orhi);color:var(--gl-ink);border:0;box-shadow:none;font-size:28px}
html.gl-app #gs-w{right:12px!important;bottom:calc(92px + env(safe-area-inset-bottom))!important}
html.gl-app #gs-btn{width:44px!important;height:44px!important;min-height:44px!important;padding:0!important;background:none!important;border:0!important;box-shadow:none!important;transform:none!important;animation:none!important}
html.gl-app #gs-head{width:44px!important;height:44px!important;border-radius:0!important;box-shadow:var(--gl-shadow)!important;background:var(--gl-orhi)!important}
html.gl-app #gs-ant,html.gl-app #gs-hi,html.gl-app #gs-tip,html.gl-app .gs-punch{display:none!important}
html.gl-app #gs-face{transform:scale(.7);margin:0}
html.gl-app #gs-p{bottom:calc(148px + env(safe-area-inset-bottom))!important;right:12px!important;width:calc(100vw - 24px);max-width:380px;height:min(480px,calc(100dvh - 230px))}
html.gl-app body{padding-bottom:calc(150px + env(safe-area-inset-bottom))!important}
@media(prefers-reduced-motion:reduce){html.gl-app *{animation:none!important;transition:none!important}}
html.gl-app body::before,html.gl-app body::after{display:none!important}
html.gl-app #app .gl-tbtn{background:var(--gl-dock)!important;background-image:none!important;color:var(--gl-cream)!important;border:0!important;padding:0 14px!important;box-shadow:none!important}
html.gl-app #app .gl-row{background:var(--gl-char)!important;border:1px solid var(--gl-line)!important}
html.gl-app #app #filters button{background:var(--gl-char)!important;color:var(--gl-cream)!important;-webkit-text-fill-color:currentColor!important;border:1px solid var(--gl-line)!important;box-shadow:none!important;min-height:44px;letter-spacing:0}
html.gl-app #app #filters button[aria-pressed=true]{background:var(--gl-orhi)!important;color:var(--gl-ink)!important}
html.gl-app #q,html.gl-app #q::placeholder{color:var(--gl-cream)!important;-webkit-text-fill-color:currentColor!important;opacity:1}
html.gl-app .gl-ttitle{overflow-wrap:normal;word-break:normal;font-size:28px;line-height:1.05}
@media(max-width:350px){html.gl-app .gl-ttitle{font-size:23px}}

/* Restrained orange accents on predominantly charcoal surfaces. */
html.gl-app body{background:var(--gl-noise),var(--gl-bg)!important}
html.gl-app .gl-ticket{background:var(--gl-noise),var(--gl-char);border:1px solid var(--gl-line);border-top:3px solid var(--gl-orhi);box-shadow:none;color:var(--gl-cream)}
html.gl-app .gl-ticket::before,html.gl-app .gl-ticket::after{display:none}
html.gl-app .gl-ticket .gl-tstub{background:var(--gl-dock);border-top:1px solid var(--gl-line)}
html.gl-app :is(.gl-ttitle,.gl-count){color:var(--gl-cream);text-shadow:none}
html.gl-app :is(.gl-tmeta,.gl-count small){color:var(--gl-mute)}
html.gl-app .gl-tag{background:none;color:var(--gl-orhi);padding:0;letter-spacing:0}
html.gl-app .gl-ticket .gl-tbtn{border:1px solid var(--gl-line)!important;background:var(--gl-char2)!important;color:var(--gl-cream)!important}
html.gl-app .gl-stat{background:var(--gl-char);box-shadow:none}
html.gl-app .gl-stat b{color:var(--gl-cream);text-shadow:none}
html.gl-app .gl-act.hot span:first-child{background:var(--gl-char2);border:1px solid var(--gl-line);color:var(--gl-active)}
html.gl-app .gl-act.hot svg{color:var(--gl-active)}
html.gl-app .gl-mark{background:var(--gl-char2);color:var(--gl-orhi);border:1px solid var(--gl-line);box-shadow:none}
html.gl-app .gl-nav .gl-plus i{background:var(--gl-char2);color:var(--gl-active);border:1px solid var(--gl-line)}

/* tappable stat tiles open past gigs / league table / venues */
button.gl-stat{display:block;width:100%;text-align:left;font:inherit;color:inherit;cursor:pointer;min-height:0;border-radius:0}
button.gl-stat::after{content:'View ›';display:block;margin-top:6px;font-size:.68rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--gl-orhi)}
button.gl-stat:focus-visible{outline:2px solid var(--gl-orhi);outline-offset:2px}
html.gl-app #tab-stats table{width:100%;border-collapse:collapse;font-size:.86rem}
html.gl-app #tab-stats .div{border:1px solid rgba(232,100,31,.55);padding:12px;margin:0 0 12px;background:var(--gl-char);color:var(--gl-cream)}
html.gl-app #tab-stats th,html.gl-app #tab-stats td{padding:6px 4px;border-bottom:1px solid var(--gl-line);color:var(--gl-cream)}
html.gl-app #tab-stats .cols{display:block}
html.gl-app #tab-stats .bandlink{color:var(--gl-orhi);background:none;border:0;padding:0;font:inherit;text-align:left}
