/* ================================================================
   EVENTOS YO EMPRENDO · V4.1 GREEN METALLIC UI
   Visual layer only. Does not change Firestore, data or business logic.
   Loaded AFTER styles.css, design-v7.css and v3.css.
   ================================================================ */
:root{
  color-scheme:light;
  --bg:#edf5f1;
  --bg2:#e7f0eb;
  --panel:#ffffff;
  --panel2:#f3f9f5;
  --line:#cbded4;
  --text:#163a31;
  --muted:#546d64;
  --teal:#0d9665;
  --teal2:#0b7c57;
  --orange:#bc6b2c;
  --danger:#bb2e43;
  --warning:#9a6a18;
  --ok:#007750;
  --shadow:0 20px 48px rgba(4,49,35,.12);
  --radius:24px;
  --lux-forest:#052e26;
  --lux-forest-2:#0b5142;
  --lux-emerald:#0a8d64;
  --lux-mint:#24d5a0;
  --lux-metal:#d8e6df;
  --lux-ink:#123e32;
  --lux-surface:#ffffff;
  --lux-stroke:#ccded4;
  --lux-copy:#233f36;
  --lux-muted:#526e63;
  --lux-focus:#007c5a;
}
html{scroll-padding-top:95px;scroll-behavior:smooth}
html,body{min-width:320px}
body{
  background:linear-gradient(145deg,#f4faf6 0%,#e9f2ec 52%,#edf7f0 100%)!important;
  color:var(--lux-copy);
  font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  font-size:15px;
  line-height:1.55;
  letter-spacing:.002em;
  -webkit-font-smoothing:antialiased;
}
/* Remove multicolored background left by the former visual skin. */
body::before{
  inset:0;
  background:
    radial-gradient(ellipse 660px 440px at 97% 1%,rgba(35,195,138,.16),transparent 70%),
    radial-gradient(ellipse 680px 520px at -10% 68%,rgba(9,91,70,.08),transparent 72%),
    linear-gradient(145deg,#f3faf6,#eaf3ed 52%,#f1f8f4);
  animation:none!important;
  transform:none!important;
}
body::after{
  background-image:linear-gradient(rgba(4,85,59,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(4,85,59,.025) 1px,transparent 1px),var(--yoe-bg-image)!important;
  background-size:42px 42px,42px 42px,cover!important;
  opacity:.54;
  mask-image:linear-gradient(180deg,#000,transparent 90%);
}
body,button,input,textarea,select{font-family:Inter,system-ui,sans-serif}
::selection{background:#a8ebcb;color:#043d2a}
:focus-visible{outline:3px solid rgba(0,132,85,.75)!important;outline-offset:3px}
button:disabled,.btn:disabled{opacity:.55;cursor:not-allowed;transform:none!important;box-shadow:none!important}
button,input,textarea,select{min-width:0}
img{max-width:100%}
.muted,.help,.section-head p,.section-title p{color:var(--lux-muted)!important}
.help{font-size:13px;line-height:1.6}
code{overflow-wrap:anywhere}

/* Signature emerald-metallic masthead, used on every route. */
.site-header{
  background:linear-gradient(112deg,#031e19 0%,#0c493c 45%,#064d3d 70%,#073027 100%)!important;
  color:#f4fff9!important;
  border-bottom:1px solid rgba(151,238,202,.34)!important;
  box-shadow:0 8px 30px rgba(3,42,28,.20),inset 0 1px 0 rgba(240,255,250,.11);
  backdrop-filter:blur(18px);
}
.site-header::before{
  content:"";position:absolute;inset:0 0 auto;height:2px;pointer-events:none;
  background:linear-gradient(90deg,transparent,rgba(178,255,218,.72) 22%,rgba(224,250,238,.15) 44%,rgba(61,229,164,.63) 72%,transparent);
}
.header-inner{max-width:1480px;min-height:78px;padding:13px clamp(16px,2.4vw,38px)}
.brand{gap:14px;color:#f6fffa!important}
.brand strong{font:800 19px/1.2 Manrope,Inter,sans-serif;letter-spacing:-.03em;color:#ffffff}
.brand small{font-size:12px!important;color:#c1e6d8!important;line-height:1.5}
.brand-mark,.boot-logo{
  border:1px solid rgba(238,255,248,.40);
  background:linear-gradient(140deg,#c6ffe7 0%,#56e4af 28%,color-mix(in srgb,var(--yoe-accent) 38%,#045d46) 56%,#086548 100%)!important;
  color:#053326!important;
  box-shadow:inset 0 2px 2px rgba(255,255,255,.56),inset 0 -4px 8px rgba(1,52,37,.18),0 8px 25px rgba(6,177,112,.25)!important;
}
.site-header .btn-secondary,.site-header .btn-ghost{
  background:rgba(235,255,245,.08)!important;
  border:1px solid rgba(196,255,224,.24)!important;
  color:#e7fff1!important;
}
.site-header .btn-secondary:hover,.site-header .btn-ghost:hover{background:rgba(255,255,255,.17)!important}

/* Accessible interaction color system. */
.btn,.primary,.btn-primary{
  min-height:42px;
  border-radius:12px;
  font-size:13px;
  font-weight:800;
  letter-spacing:.007em;
  line-height:1.35;
  transition:background .22s ease,box-shadow .22s ease,transform .22s ease,border-color .22s ease;
}
.btn-primary,.btn.primary,.primary{
  background:linear-gradient(122deg,#086348 0%,color-mix(in srgb,var(--yoe-accent) 24%,#068865) 50%,#057954 100%)!important;
  border:1px solid rgba(3,98,66,.42)!important;
  color:#ffffff!important;
  text-shadow:0 1px 1px rgba(1,31,20,.18);
  box-shadow:inset 0 1px 0 rgba(219,255,232,.28),0 9px 22px rgba(3,103,69,.21)!important;
}
.btn-primary:hover,.btn.primary:hover,.primary:hover{filter:brightness(1.07)!important}
.btn-secondary{
  background:#e5f5ec!important;
  color:#07593f!important;
  border:1px solid #b7ddc9!important;
  box-shadow:none!important;
}
.btn-secondary:hover{background:#d5efdf!important}
.btn-ghost{background:#ffffff!important;color:#175746!important;border:1px solid #c9ded3!important}
.btn-ghost:hover{background:#ecf7f0!important}
.btn-danger{background:#fff0f2!important;color:#a72539!important;border:1px solid #efbbc3!important}
.btn-orange{background:linear-gradient(135deg,#ad6021,#dc954f)!important;color:white!important}
.btn-sm{font-size:12px;min-height:35px}
.btn-block{width:100%}

/* Public catalog: polished readable cards. */
.section,.event-page{max-width:1320px}
.page-wide{max-width:1300px}
.public-hero{
  position:relative;isolation:isolate;
  max-width:none;
  margin:8px 0 37px;
  padding:clamp(42px,6vw,84px) clamp(24px,6vw,85px);
  border-radius:30px;
  background:
    radial-gradient(circle at 88% 22%,rgba(92,248,179,.19),transparent 31%),
    radial-gradient(circle at 10% 105%,rgba(191,249,220,.09),transparent 33%),
    linear-gradient(123deg,#05271f 0%,#0a4d3d 52%,#067251 100%);
  box-shadow:0 30px 70px rgba(7,68,47,.20),inset 0 1px 0 rgba(255,255,255,.22);
  border:1px solid rgba(103,210,157,.26);
  overflow:hidden;
}
.public-hero::before{
  content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;
  background-image:linear-gradient(120deg,transparent 54%,rgba(236,255,247,.035) 54.2%,transparent 54.5%),repeating-linear-gradient(90deg,transparent 0 75px,rgba(210,255,230,.033) 76px 77px);
}
.public-hero::after{
  content:"";position:absolute;right:-55px;bottom:-185px;width:400px;height:400px;border-radius:50%;pointer-events:none;
  border:1px solid rgba(199,255,219,.16);box-shadow:0 0 0 46px rgba(199,255,219,.045),0 0 0 95px rgba(199,255,219,.018);
}
.public-hero h1{
  color:#ffffff!important;
  font:800 clamp(34px,4.8vw,66px)/1.09 Manrope,Inter,sans-serif!important;
  letter-spacing:-.05em;
  max-width:950px;
  margin:18px auto 17px;
  text-wrap:balance;
}
.public-hero p{max-width:810px;color:#d2eee1!important;margin:0 auto;font-size:clamp(15px,1.5vw,18px)!important;line-height:1.74}
.eyebrow{
  padding:7px 13px;
  background:#d5f6e2!important;
  border:1px solid rgba(13,134,91,.17)!important;
  color:#086340!important;
  box-shadow:none!important;
  font-size:12px;
  letter-spacing:.07em;
}
.public-hero .eyebrow{background:rgba(161,255,206,.12)!important;color:#afffd4!important;border-color:rgba(168,255,212,.3)!important}
.section-title h2,.section-head h2{color:#133d31!important;letter-spacing:-.035em}
.section-title h2{font-size:clamp(23px,2.2vw,29px)}
.section-title p{margin:4px 0 0;font-size:14px}
.event-grid,.events-grid{gap:20px}
.event-card{
  background:#fff!important;color:#1d4238!important;
  border:1px solid #d8e5dd!important;border-radius:22px;
  overflow:hidden;
  box-shadow:0 10px 28px rgba(10,65,46,.075),inset 0 1px 0 rgba(255,255,255,.95)!important;
}
.event-card:hover{border-color:#8bc8a8!important;box-shadow:0 22px 43px rgba(10,78,51,.16)!important;transform:translateY(-4px)}
.event-cover,.event-hero-cover{background:linear-gradient(145deg,#d3ece0,#b9dbc9);border-color:#d0e3d8}
.event-cover img,.event-hero-cover img{object-fit:cover}
.event-card h3{color:#103f2e!important;font-size:20px;line-height:1.3;text-wrap:balance}
.event-card p,.event-subtitle,.meta{color:#506e61!important;line-height:1.67}
.event-card-body{padding:20px}
.event-card-footer{border-top-color:#e0ebe4}
.price{color:#087a52!important}
.badge,.role-chip{background:#ddf4e6!important;border-color:#a9d8bc!important;color:#115d3d!important;font-size:11px}
.badge.yellow{background:#fff2d5!important;border-color:#f0cf85!important;color:#80550f!important}
.badge.orange{background:#fff0e3!important;border-color:#efc3a6!important;color:#98501b!important}
.badge.red{background:#ffe7e9!important;border-color:#edb4bb!important;color:#a92a3d!important}
.empty{border-color:#aacdbc;background:rgba(255,255,255,.60);color:#49675a}

/* Event details and purchasing panels. */
.event-title,.section-head h2{color:#103b2f!important}
.event-subtitle{font-size:17px}
.event-hero-cover{box-shadow:0 14px 32px rgba(1,54,32,.11)}
.buy-card{
  background:linear-gradient(145deg,#073e31,#075b43 65%,#0b3e33)!important;
  border:1px solid rgba(173,255,215,.25)!important;
  color:#f4fff7;
  box-shadow:0 18px 50px rgba(4,69,45,.22)!important;
}
.buy-card h3{color:white}
.buy-card .meta,.buy-card .muted,.buy-card .help{color:#d0f0df!important}
.buy-card .price{color:#91ffbe!important}
.buy-card .divider{border-color:rgba(222,255,234,.19)!important}
.buy-card .btn-primary{background:linear-gradient(125deg,#a2ffd2,#34d998)!important;color:#043c2a!important;border-color:rgba(255,255,255,.28)!important;text-shadow:none}
.content-card,.lot-option,.list-clean li{
  background:#ffffff!important;color:#22463b!important;border-color:#d6e5db!important;
  box-shadow:0 9px 26px rgba(13,73,45,.06)!important;
}
.content-card h2,.content-card h3{color:#0d4935}
.content-card p,.richtext,.faq p{color:#3d5a4e!important}

/* Authentication / admin shell. */
.login-shell{min-height:calc(100dvh - 80px);padding:28px 18px}
.login-card{
  background:rgba(255,255,255,.97)!important;
  color:#173d31!important;
  border:1px solid #c7dfd0!important;
  box-shadow:0 28px 65px rgba(2,57,38,.15),inset 0 1px 0 #fff!important;
  padding:clamp(22px,3vw,36px);
}
.login-card h1,.login-card h2{color:#0b422f;font-family:Manrope,Inter,sans-serif}
.login-card p{color:#4c685b!important;font-size:14px}
.login-card .btn-block{margin-top:8px}
.admin-shell{grid-template-columns:250px minmax(0,1fr);max-width:100%}
.sidebar{
  background:linear-gradient(175deg,#041f19,#073b2f 58%,#042d24)!important;
  color:#ddf7e6!important;
  border-right:1px solid rgba(177,250,211,.16)!important;
  box-shadow:10px 0 36px rgba(3,44,29,.13)!important;
  padding:20px 12px 24px;
  top:78px;
  height:calc(100dvh - 78px);
  overscroll-behavior:contain;
}
.sidebar nav{gap:5px}
.nav-btn{
  color:#c6e5d6!important;
  font-size:13px;
  font-weight:700;
  border:1px solid transparent!important;
  border-radius:12px;
  padding:12px 14px;
  line-height:1.45;
  transition:background .18s,border .18s,transform .18s;
}
.nav-btn:hover{background:rgba(106,241,169,.12)!important;color:#ffffff!important}
.nav-btn.active{
  background:linear-gradient(100deg,rgba(92,233,159,.24),rgba(153,245,195,.09))!important;
  color:#ffffff!important;
  border:1px solid rgba(157,255,207,.25)!important;
  box-shadow:inset 3px 0 #5df4a8,0 7px 16px rgba(0,0,0,.08)!important;
}
.admin-main,
.admin-main:has(.pos-layout),.admin-main:has(.finance-toolbar),
.admin-main:has(#bank-new),.admin-main:has(#receipt-form),.admin-main:has(#legacy-file){
  background:transparent!important;
  color:#1b4236!important;
  min-height:calc(100dvh - 78px);
  padding:clamp(17px,2.4vw,34px);
}
.admin-top{align-items:flex-start;padding:3px 0 8px;gap:12px}
.admin-top h1,.admin-main:has(.pos-layout) .admin-top h1,
.admin-main:has(.finance-toolbar) .admin-top h1,.admin-main:has(#bank-new) .admin-top h1,
.admin-main:has(#receipt-form) .admin-top h1,.admin-main:has(#legacy-file) .admin-top h1{
  color:#0a3d2c!important;
  font:800 clamp(23px,2.25vw,32px)/1.2 Manrope,Inter,sans-serif!important;
  letter-spacing:-.036em;
}
.admin-top p,.admin-main:has(.pos-layout) .admin-top p,
.admin-main:has(.finance-toolbar) .admin-top p,.admin-main:has(#bank-new) .admin-top p,
.admin-main:has(#receipt-form) .admin-top p,.admin-main:has(#legacy-file) .admin-top p{
  color:#536f61!important;font-size:14px;line-height:1.6;
}
.stats-grid{gap:14px}
.stat-card,.admin-main:has(.finance-toolbar) .stat-card{
  background:linear-gradient(155deg,#ffffff,#edf7ef)!important;
  color:#153e31!important;
  border:1px solid #c9dfd2!important;
  box-shadow:0 9px 24px rgba(3,70,39,.07),inset 0 1px #fff!important;
  border-radius:18px;padding:20px;
}
.stat-card::before{content:"";display:block;width:32px;height:3px;border-radius:99px;background:linear-gradient(90deg,#076342,#4ee1a0);margin-bottom:12px}
.stat-card span,.admin-main:has(.finance-toolbar) .stat-card span{color:#527164!important;font-size:12px;letter-spacing:.025em}
.stat-card strong,.admin-main:has(.finance-toolbar) .stat-card strong{color:#0b5338!important;font-size:clamp(23px,2vw,29px)}
.panel,.admin-main:has(.finance-toolbar) .panel,.admin-main:has(#bank-new) .panel,
.admin-main:has(#receipt-form) .panel,.admin-main:has(#legacy-file) .panel{
  background:#ffffff!important;
  color:#22473a!important;
  border:1px solid #d1e2d7!important;
  border-radius:20px;
  box-shadow:0 14px 34px rgba(8,69,45,.07),inset 0 1px #fff!important;
}
.panel:hover{transform:none!important;box-shadow:0 14px 34px rgba(8,69,45,.07),inset 0 1px #fff!important}
.panel-head{border-bottom:1px solid #dfebe2;background:linear-gradient(100deg,#f5fbf6,#ffffff);padding:18px 20px}
.panel-head h2,.admin-main:has(.finance-toolbar) .panel h2,
.admin-main:has(#bank-new) .panel h2{color:#124a37!important;font-size:18px}
.panel-body{padding:clamp(16px,2vw,22px)}
.table-wrap{overflow-x:auto;max-width:100%;scrollbar-color:#a9cdb5 #f1f8f3}
.table{min-width:670px;background:white}
.table th,.admin-main:has(.finance-toolbar) .table th,.admin-main:has(#bank-new) .table th{
  background:#edf7f0;color:#275647!important;border-color:#e0eee3!important;
  font-size:12px!important;font-weight:800;letter-spacing:.035em;white-space:nowrap;
}
.table td,.admin-main:has(.finance-toolbar) .table td,.admin-main:has(#bank-new) .table td{
  color:#244739!important;border-color:#e2eee6!important;font-size:13px;line-height:1.55;
}
.table tbody tr:hover td{background:#f3faf5}
.filterbar{gap:9px}
.order-card,.checkout-summary,.participant-card,.ticket-result{
  background:#f6fbf7!important;border:1px solid #d0e4d7!important;
  color:#244a3d!important;border-radius:16px;
}
.ticket-result.invalid{background:#fff0f1!important;color:#9f2c3d!important;border-color:#f0c0c9!important}
.summary-row{color:#345648!important}
.summary-row.total{color:#0c6241!important;border-color:#d5e6d8}
.pix-box{background:#eaf8ef!important;color:#124b37!important;border-color:#b9ddc9!important}
.pix-key{overflow-wrap:anywhere}
.order-code{color:#426b5a!important}
.receipt-preview{background:#f1f7f2}
.ticket-print{background:white!important;color:#121c17!important}
.scanner-box{background:#091b15!important}

/* All inputs: readable labels, placeholders, focus and safe touch targets. */
.field{min-width:0}
.field label,.pos-layout label,.pos-layout .field label,
.yoe-brand-grid label{color:#335d4b!important;font-size:13px!important;font-weight:750;line-height:1.45}
.field input,.field select,.field textarea,.filterbar input,.filterbar select,
.pos-layout input:not([type="radio"]),.pos-layout select,.pos-layout textarea,
.finance-toolbar input,.finance-toolbar select,
.admin-main:has(#receipt-form) .field input,.admin-main:has(#receipt-form) .field select,
.admin-main:has(#receipt-form) .field textarea,.admin-main:has(#legacy-file) .field select,
.yoe-brand-grid input,.yoe-brand-grid textarea{
  color:#153f31!important;
  background:#ffffff!important;
  border:1px solid #bdd7c8!important;
  border-radius:11px!important;
  min-height:42px;
  padding:10px 12px;
  font-size:14px!important;
  line-height:1.4;
  box-shadow:inset 0 1px 2px rgba(7,59,37,.025);
  max-width:100%;
}
textarea{min-height:90px}
input::placeholder,textarea::placeholder,.pos-layout input::placeholder,.finance-toolbar input::placeholder{color:#697f74!important;opacity:1}
input:focus,select:focus,textarea:focus{
  border-color:#0a966a!important;
  box-shadow:0 0 0 3px rgba(10,150,95,.14)!important;
}
input[type="checkbox"],input[type="radio"]{min-height:auto;accent-color:#0b875c}
select{cursor:pointer}
.field input:disabled,.field textarea:disabled,.field select:disabled{background:#f1f5f2!important}
.divider{border-color:#dfebe3!important}

/* Point of Sale: large, easy-to-read controls and clear payment flow. */
.pos-layout{grid-template-columns:minmax(0,1fr) minmax(335px,380px);gap:18px}
.pos-products,.pos-cart{
  background:#ffffff!important;color:#153f32!important;
  border:1px solid #c9dfd3!important;border-radius:20px;
  box-shadow:0 13px 35px rgba(5,69,46,.09)!important;
}
.pos-products{padding:clamp(14px,2vw,22px)}
.pos-products h3{color:#174e37;font-size:18px}
.pos-toolbar{align-items:end}
.pos-catalog{grid-template-columns:repeat(auto-fill,minmax(185px,1fr));gap:13px}
.pos-event{
  background:#ffffff!important;
  color:#194838!important;
  border:1px solid #d4e5d9!important;
  border-radius:16px;
  box-shadow:0 6px 18px rgba(12,70,42,.07);
  transition:transform .19s,box-shadow .19s,border-color .19s;
}
.pos-event:hover{transform:translateY(-3px);border-color:#8bcda7!important;box-shadow:0 13px 24px rgba(8,86,48,.13)}
.pos-event-image{background:#d9eadd}
.pos-event-text{padding:13px;gap:7px}
.pos-event-text strong{color:#143f31!important;font-size:14px;line-height:1.4}
.pos-event-text small{color:#526d5e!important;font-size:12px}
.pos-event-text b{color:#087f55!important;font-size:17px}
.pos-cart-header{
  background:linear-gradient(122deg,#042e26 0%,#0d6850 56%,#047553 100%)!important;
  border-bottom:1px solid rgba(183,255,219,.25);
  color:#ffffff!important;
  padding:23px 20px;
}
.pos-cart-header h2{color:white;font:800 22px Manrope,Inter,sans-serif}
.pos-cart-header p,.pos-cart-header small{color:#d4f6e3!important;font-size:12px}
.pos-pad{padding:18px;gap:14px}
.pos-subheading,.pos-cart .pos-subheading{color:#0b7856!important;font-size:12px;letter-spacing:.055em}
.choice{color:#275645!important;background:#fff;border-color:#cfe0d5;font-size:12px;min-height:46px}
.choice:has(input:checked){background:#e2f8e9;border-color:#0b9664;box-shadow:inset 0 0 0 1px rgba(6,127,81,.12)}
.pos-item{border-color:#e1ede5}
.pos-item-title strong{color:#173d2e!important;font-size:14px}
.pos-item-bottom small{color:#597365!important;font-size:12px}
.qty-control{border-color:#bfd9c9}
.qty-control button{color:#08774e;font-weight:800}
.pos-summary{background:#e8f8ed!important;border:1px solid #b9e0c7!important;color:#164e36!important}
.pos-summary>div{font-size:13px}
.pos-summary .pos-summary-total{border-color:#bbdfc8;font-weight:800;color:#075534}
.pos-discount{background:#fff8ec;border-color:#ebc794}
.pos-discount strong{color:#805019;font-size:13px}
.pos-payment{gap:7px;grid-template-columns:minmax(0,1fr) minmax(0,1fr) 96px auto}
.pos-payment select,.pos-payment input{font-size:13px!important;padding:8px 7px}
.pos-note{color:#5d7368;font-size:12px}
#pos-paid,#pos-due{color:#075c3d!important}

/* Financial summaries / migration / banks / receipts. */
.finance-toolbar{background:#ffffff;border:1px solid #cbdfd1;border-radius:16px;box-shadow:0 7px 24px rgba(7,72,42,.04)}
.financial-breakdown{gap:12px}
.balance-tile{border:1px solid #b4dbc3;background:linear-gradient(135deg,#ffffff,#e9f7ed);color:#154a35;border-radius:15px;padding:17px}
.balance-tile strong{color:#0c6c46;font-size:21px}
.import-group{background:#fff;border-color:#cfdfd4;color:#285143}
.import-group h3{color:#0a6746}
.import-status{color:#0b7550}
.alert-note{background:#fff9eb;color:#734d16;border-color:#e9cf91;font-size:13px;line-height:1.6}

/* Modal windows, tickets and personalization. */
.modal-backdrop{background:rgba(2,25,17,.65)}
.modal,.yoe-brand-modal{
  background:#ffffff!important;
  color:#203f34!important;
  border:1px solid #c9dfd1!important;
  border-radius:24px;
  box-shadow:0 38px 100px rgba(2,39,22,.30)!important;
}
.modal-head h2,.yoe-brand-head h2{color:#0e4d35!important}
.close-x,.yoe-brand-head button{background:#e9f5ee!important;color:#0c573c!important;border:1px solid #c9ddcf!important}
.yoe-brand-admin{
  color:#ecfff4!important;
  background:linear-gradient(125deg,#073629,#0b7553)!important;
  border-color:rgba(178,247,207,.38)!important;
  font-size:12px;
}
.yoe-brand-modal-back{background:rgba(3,29,20,.60)}
.yoe-brand-head small{color:#097a52}
.yoe-brand-grid small{font-size:11px;color:#5c7969}
.yoe-brand-save{background:linear-gradient(115deg,#0b6648,#0eac75)!important;color:#fff!important}
.yoe-brand-ghost{background:#e6f2e9!important;color:#164c36!important}
#toast-root .toast{background:#ffffff!important;color:#163f2d!important;border:1px solid #afd8c2!important;box-shadow:0 16px 36px rgba(5,65,38,.20)}
#toast-root .toast.error{border-color:#e7a4ac!important;background:#fff4f5!important;color:#9b2738!important}

/* Accessible flex/layout guards. */
.actions{align-items:center}
.actions .btn,.header-actions .btn{white-space:normal}
.panel-head,.section-head,.admin-top{min-width:0}
.table-wrap,.pos-layout,.admin-main,.content-card,.event-card{min-width:0}
.event-card-footer{flex-wrap:wrap}
.eyebrow,.badge{line-height:1.3}

/* Mobile and tablet adaptivity. */
@media(max-width:1180px){
  .admin-shell{grid-template-columns:218px minmax(0,1fr)}
  .pos-layout{grid-template-columns:minmax(0,1fr) minmax(318px,350px)}
  .pos-catalog{grid-template-columns:repeat(auto-fill,minmax(155px,1fr))}
  .admin-main{padding:20px}
}
@media(max-width:980px){
  .admin-shell{grid-template-columns:1fr}
  .sidebar{display:none;position:static;height:auto;max-height:65dvh;overflow:auto;border-right:none;border-bottom:1px solid rgba(187,245,205,.2)}
  .sidebar.open{display:block}
  .mobile-nav-toggle{display:inline-flex;margin-bottom:12px}
  .pos-layout{grid-template-columns:minmax(0,1fr)}
  .pos-products{min-height:0}
  .pos-catalog{grid-template-columns:repeat(auto-fill,minmax(180px,1fr))}
  .stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .event-grid,.events-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .buy-card{position:static}
}
@media(max-width:680px){
  body{font-size:14px}
  .header-inner{padding:11px 13px;min-height:67px}
  .brand strong{font-size:16px}
  .brand-mark{width:42px;height:42px;font-size:13px}
  .header-actions{gap:6px}
  .header-actions .btn{padding:8px 9px;font-size:11px;min-height:34px}
  .section,.event-page{padding:20px 14px 44px}
  .public-hero{padding:35px 21px;margin:0 0 28px;border-radius:22px;text-align:left}
  .public-hero h1{font-size:clamp(31px,9vw,44px)!important;margin-left:0;letter-spacing:-.04em}
  .public-hero p{font-size:15px!important}
  .public-hero::after{right:-240px;bottom:-200px}
  .event-grid,.events-grid{grid-template-columns:1fr}
  .section-title h2{font-size:23px}
  .event-card-body{padding:16px}
  .event-card-footer{gap:10px}
  .event-title{font-size:35px}
  .content-card{padding:18px}
  .admin-main,.admin-main:has(.pos-layout),.admin-main:has(.finance-toolbar),
  .admin-main:has(#bank-new),.admin-main:has(#receipt-form),.admin-main:has(#legacy-file){padding:14px}
  .admin-top{flex-direction:column;align-items:stretch}
  .admin-top h1{font-size:25px!important}
  .admin-top #page-actions{width:100%}
  .admin-top #page-actions .btn{margin:3px}
  .stats-grid{gap:10px}
  .stat-card{padding:14px}
  .stat-card strong{font-size:23px}
  .panel-head{padding:15px;flex-wrap:wrap}
  .panel-body{padding:15px}
  .pos-products{padding:12px}
  .pos-catalog{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
  .pos-event-text{padding:10px}
  .pos-pad{padding:14px}
  .pos-payment{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  .pos-payment button{grid-column:auto}
  .pos-people{grid-template-columns:1fr}
  .finance-toolbar{padding:12px}
  .finance-toolbar .field{flex:1 1 130px}
  .modal{padding:18px;max-height:92dvh}
  .yoe-brand-admin{right:10px;bottom:12px}
}
@media(max-width:380px){
  .header-actions .btn{font-size:10px;padding:7px}
  .stats-grid{grid-template-columns:1fr}
  .pos-catalog{grid-template-columns:1fr}
  .choice-row{flex-wrap:wrap}
  .choice{flex:1 1 120px}
}
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
}
@media print{
  body,body::before,body::after{background:#fff!important;color:#111!important;box-shadow:none!important}
  .site-header,.sidebar,.yoe-brand-admin,#toast-root,.mobile-nav-toggle,.btn{display:none!important}
  .admin-shell{display:block!important}.admin-main{padding:0!important;background:#fff!important}
  .panel,.stat-card,.ticket-print{box-shadow:none!important}
  .table th,.table td{color:#111!important}
  .ticket-print,.ticket-print *{color:#111!important}
  @page{margin:12mm}
}


/* WhatsApp V4.2.2 — filtros por evento e histórico, mantendo o verde metálico */
.wa-filter-panel{background:linear-gradient(138deg,rgba(8,62,46,.92),rgba(9,33,29,.92));border:1px solid rgba(74,194,146,.36);border-radius:20px;padding:20px;box-shadow:0 12px 34px rgba(1,26,20,.14)}
.wa-filter-intro{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:18px}
.wa-filter-intro strong{display:block;font-size:17px;line-height:1.35;color:#ecfff5}
.wa-filter-intro p{margin:5px 0 0;color:#cfebe0;font-size:13px;line-height:1.55}
.wa-filter-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.wa-filter-field{display:grid;gap:7px;min-width:0}
.wa-filter-field span{color:#d2f1e2;font-size:12px;font-weight:800}
.wa-filter-field select,.wa-filter-field input{width:100%;max-width:100%;min-width:0;min-height:44px;border:1px solid rgba(79,171,139,.65);background:#f6fff9;color:#103a2e;border-radius:12px;padding:10px 12px;font:600 13px Inter,sans-serif;outline:none}
.wa-filter-field select:focus-visible,.wa-filter-field input:focus-visible{border-color:#45e3a1;box-shadow:0 0 0 3px rgba(39,220,151,.25)}
.wa-filter-result{margin-top:15px;color:#d3f6e9;font-size:13px;font-weight:750}
.wa-list .wa-row{background:linear-gradient(110deg,#fafffc,#ecf8f1);border:1px solid #c5e6d4;box-shadow:0 3px 16px rgba(7,48,32,.07);color:#0c3e2e}
.wa-row-detail{min-width:0;flex:1}
.wa-list .wa-row strong{color:#083b29;font-size:14px;overflow-wrap:anywhere}
.wa-list .wa-row small{color:#425e55;line-height:1.45;overflow-wrap:anywhere}
.wa-period-badge{display:inline-block;margin-top:8px;padding:4px 10px;border:1px solid transparent;border-radius:99px;font-size:11px;font-weight:800}
.wa-period-future{background:#dafbed;border-color:#91e7ba;color:#075e3c}
.wa-period-current{background:#dceefc;border-color:#a0d6f2;color:#10496e}
.wa-period-past{background:#f0f0f1;border-color:#d2d6d9;color:#474e53}
.wa-period-undated{background:#fff1cf;border-color:#f5d589;color:#78530b}
.wa-list .wa-row .btn:disabled{opacity:.48;cursor:not-allowed}
@media(max-width:1120px){.wa-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.wa-filter-panel{padding:15px}.wa-filter-grid{grid-template-columns:1fr}.wa-filter-intro{flex-direction:column}.wa-filter-intro button{width:100%}}
