/* Invt.li Tickets 2.6 — Editorial Ticket System */
:root{
  --tickets-paper:#f7f3ed;
  --tickets-paper-2:#fffdf9;
  --tickets-ink:#171318;
  --tickets-ink-2:#262027;
  --tickets-pink:#ff4f83;
  --tickets-pink-deep:#d92f68;
  --tickets-muted:#756c73;
  --tickets-line:rgba(23,19,24,.14);
  --tickets-line-strong:rgba(23,19,24,.24);
  --tickets-success:#168553;
  --tickets-success-bg:#eafaf1;
  --tickets-warning:#9a6200;
  --tickets-warning-bg:#fff5dc;
  --tickets-danger:#b4232d;
  --tickets-danger-bg:#fff0f1;
  --tickets-shadow:0 18px 50px rgba(23,19,24,.08);
}
html{background:var(--tickets-paper)}
body{
  color:var(--tickets-ink);
  background:
    linear-gradient(rgba(23,19,24,.025) 1px,transparent 1px),
    linear-gradient(90deg,rgba(23,19,24,.018) 1px,transparent 1px),
    var(--tickets-paper);
  background-size:44px 44px,44px 44px,auto;
  font-family:"IBM Plex Sans",ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}
body:before{display:none!important}
.public-shell,.admin-shell{min-height:100vh}
.site-header{
  background:rgba(247,243,237,.95);
  border-bottom:1px solid var(--tickets-line);
  box-shadow:none;
  backdrop-filter:blur(14px);
  padding-top:12px;
  padding-bottom:12px;
}
.brand{
  gap:10px;
  font-family:"IBM Plex Mono",monospace;
  font-size:15px;
  letter-spacing:.01em;
  text-transform:uppercase;
}
.brand:before{display:none!important}
.brand img{width:28px;height:28px;border-radius:8px;display:block}
.brand strong{font-weight:800;letter-spacing:-.02em}
.brand span{color:var(--tickets-pink-deep);font-weight:800}
.brand em{font-style:normal;color:var(--tickets-muted);font-size:11px;font-weight:700;margin-left:2px}
.site-nav a,.nav-group>summary{
  border-radius:0;
  border:0;
  border-bottom:1px solid transparent;
  padding:10px 9px;
  font-family:"IBM Plex Mono",monospace;
  font-size:11px;
  letter-spacing:.035em;
  text-transform:uppercase;
}
.site-nav a:hover,.nav-group>summary:hover{background:transparent;border-bottom-color:var(--tickets-pink);box-shadow:none;transform:none}
.nav-cta{background:var(--tickets-ink)!important;color:#fff!important;padding-inline:14px!important;border-bottom:0!important}
.nav-cta:hover{background:var(--tickets-pink-deep)!important}
.container{padding-top:48px}
.hero,.event-hero,.financial-hero{position:relative}
.eyebrow{
  font-family:"IBM Plex Mono",monospace;
  color:var(--tickets-pink-deep);
  letter-spacing:.14em;
  font-size:10px;
  text-transform:uppercase;
}
.hero h1,.event-hero h1,.page-head h1,.financial-hero h1{
  color:var(--tickets-ink);
  letter-spacing:-.065em;
  font-weight:800;
}
.hero p,.large,.event-content,.event-copy,.event-description,.policy-card p,.info-grid p{
  font-family:"IBM Plex Sans",ui-sans-serif,system-ui,sans-serif!important;
  line-height:1.62;
  color:var(--tickets-muted)!important;
}
.card,.finance-panel,.attendance-adjust-card,.banner-preview{
  background:var(--tickets-paper-2)!important;
  border:1px solid var(--tickets-line)!important;
  border-radius:18px!important;
  box-shadow:var(--tickets-shadow)!important;
  backdrop-filter:none!important;
}
.card:after{display:none!important}
.event-card,.ticket-wrap .card,.booking-card,.ticket-result-card{
  position:relative;
  overflow:hidden;
}
.event-card:before,.booking-card:before,.ticket-wrap .card:before{
  content:"";
  position:absolute;
  left:0;top:0;bottom:0;width:5px;
  background:var(--tickets-pink);
}
.event-card:hover{transform:translateY(-2px);box-shadow:0 22px 54px rgba(23,19,24,.12)!important}
.btn{
  border-radius:8px!important;
  background:var(--tickets-ink)!important;
  border-color:var(--tickets-ink)!important;
  box-shadow:none!important;
  font-family:"IBM Plex Mono",monospace;
  font-size:12px;
  letter-spacing:.025em;
  text-transform:uppercase;
}
.btn:hover{background:var(--tickets-pink-deep)!important;border-color:var(--tickets-pink-deep)!important;transform:none!important}
.btn.secondary{
  background:transparent!important;
  color:var(--tickets-ink)!important;
  border-color:var(--tickets-line-strong)!important;
}
.btn.secondary:hover{background:#fff!important;color:var(--tickets-ink)!important}
.badge,.metric-pill,.chip-action{
  border-radius:6px!important;
  box-shadow:none!important;
  font-family:"IBM Plex Mono",monospace;
  font-size:10px!important;
  letter-spacing:.03em;
  text-transform:uppercase;
}
.badge{background:#fff!important;color:var(--tickets-ink)!important;border-color:var(--tickets-line)!important}
.badge:before{background:var(--tickets-pink)!important}
.status-ok,.badge.status-ok,.status-active,.badge.status-active,.availability-available{
  background:var(--tickets-success-bg)!important;
  color:var(--tickets-success)!important;
  border-color:rgba(22,133,83,.28)!important;
}
.status-ok:before,.badge.status-ok:before,.status-active:before,.badge.status-active:before{background:var(--tickets-success)!important}
.status-pending,.badge.status-pending{
  background:var(--tickets-warning-bg)!important;
  color:var(--tickets-warning)!important;
  border-color:rgba(154,98,0,.26)!important;
}
.status-danger,.badge.status-danger,.availability-unavailable{
  background:var(--tickets-danger-bg)!important;
  color:var(--tickets-danger)!important;
  border-color:rgba(180,35,45,.26)!important;
}
.alert.ok{background:var(--tickets-success-bg)!important;color:var(--tickets-success)!important;border-color:rgba(22,133,83,.28)!important}
.alert{background:var(--tickets-danger-bg);color:var(--tickets-danger);border-color:rgba(180,35,45,.25)}
.form input,.form select,.form textarea,.filters input,.filters select,.event-finder input,.event-finder select,.bulk-panel select,
.admin-container input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),.admin-container select,.admin-container textarea{
  border-radius:8px!important;
  background:#fff!important;
  border-color:var(--tickets-line-strong)!important;
  box-shadow:none!important;
}
.form input:focus,.form select:focus,.form textarea:focus,.filters input:focus,.filters select:focus,.event-finder input:focus,.event-finder select:focus,
.admin-container input:focus,.admin-container select:focus,.admin-container textarea:focus{
  border-color:var(--tickets-pink-deep)!important;
  box-shadow:0 0 0 3px rgba(255,79,131,.12)!important;
}
th{
  background:var(--tickets-ink)!important;
  color:#fff!important;
  font-family:"IBM Plex Mono",monospace;
  font-size:10px!important;
  letter-spacing:.04em!important;
  text-transform:uppercase!important;
}
tbody tr:hover{background:rgba(255,79,131,.035)!important}
.ticket-grid,.ticket-booking-summary,.ticket-qr-grid{position:relative}
.qr-box,.ticket-qr-img,.admin-ticket-qr-card,.ticket-qr-card{border-radius:12px!important}
code{
  border-radius:5px!important;
  background:var(--tickets-ink)!important;
  font-family:"IBM Plex Mono",monospace;
  color:#fff;
}
.admin-account-strip{
  border-radius:0!important;
  border-left:3px solid var(--tickets-pink)!important;
  background:transparent!important;
  box-shadow:none!important;
  font-family:"IBM Plex Mono",monospace;
}
.nav-dropdown{
  border-radius:10px!important;
  border:1px solid var(--tickets-line)!important;
  background:var(--tickets-paper-2)!important;
  box-shadow:0 18px 44px rgba(23,19,24,.12)!important;
}
.mobile-ops-dock{background:rgba(23,19,24,.96)!important;border-color:rgba(255,255,255,.12)!important}
.mobile-ops-dock a,.mobile-ops-dock button{color:#fff!important}
.mobile-ops-dock .is-primary{color:var(--tickets-pink)!important}
.site-footer{
  background:var(--tickets-ink)!important;
  color:rgba(255,255,255,.66)!important;
  border-top:0!important;
  padding:30px 18px!important;
}
.site-footer a{color:#fff!important;border-bottom-color:rgba(255,79,131,.55)!important}
.footer-brand-line,.footer-brand{font-family:"IBM Plex Mono",monospace;font-size:11px;letter-spacing:.02em;margin-top:16px}
.footer-product-mark{display:inline-flex;gap:8px;align-items:center;margin-bottom:14px;color:#fff;font-family:"IBM Plex Mono",monospace;font-size:11px;text-transform:uppercase;letter-spacing:.08em}
.footer-product-mark b{color:var(--tickets-pink);font-weight:800}
.footer-ecosystem{display:flex;justify-content:center;flex-wrap:wrap;gap:10px;margin-top:12px;font-family:"IBM Plex Mono",monospace;font-size:10px;text-transform:uppercase;letter-spacing:.04em}
.footer-ecosystem a{border:1px solid rgba(255,255,255,.16)!important;padding:6px 8px;text-decoration:none!important}
.footer-ecosystem a:hover{border-color:var(--tickets-pink)!important}
@media(max-width:860px){
  .site-nav a,.nav-group>summary{border:1px solid var(--tickets-line)!important;background:var(--tickets-paper-2)!important;border-radius:8px!important;text-transform:none}
  .site-header.nav-open .site-nav{padding:10px 0 4px}
}
.readonly-field{
  min-width:0;
  display:grid;
  gap:5px;
  padding:14px 0;
  border-bottom:1px solid var(--tickets-line);
}
.readonly-field span{
  color:var(--tickets-muted);
  font-family:"IBM Plex Mono",monospace;
  font-size:9px;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.readonly-field strong{
  overflow-wrap:anywhere;
  color:var(--tickets-ink);
  font-size:14px;
  line-height:1.35;
}
.section-title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:12px}
.section-title-row h2{margin:0;letter-spacing:-.035em}
.account-status-banner,.account-warning-banner{border-radius:10px!important;box-shadow:none!important}

/* Shared ecosystem locale switch — compact, deliberate, no generic pill treatment. */
.ticket-lang-switch{
  display:inline-flex;
  align-items:center;
  gap:7px;
  margin-left:4px;
  padding-left:12px;
  border-left:1px solid var(--tickets-line);
  font-family:"IBM Plex Mono",monospace;
  font-size:10px;
  font-weight:700;
  letter-spacing:.08em;
}
.ticket-lang-switch a{
  color:var(--tickets-muted)!important;
  text-decoration:none!important;
  border:0!important;
  padding:2px 0!important;
  background:transparent!important;
}
.ticket-lang-switch a:hover,
.ticket-lang-switch a[aria-current="page"]{color:var(--tickets-pink)!important}
.ticket-lang-switch>span{color:var(--tickets-line-strong,#8b8188)}
@media(max-width:860px){
  .ticket-lang-switch{width:100%;margin:4px 0 0;padding:10px 0 2px;border-left:0;border-top:1px solid var(--tickets-line)}
  .ticket-lang-switch a{width:auto!important;display:inline!important}
}
