:root{--bg:#0d111e;--bg2:#151b2b;--card:#1c2537;--border:#334056;--text:#f6f1e9;--muted:#aeb8cc;--gold:#f7c470;--gold2:#b67a2b;--green:#65d7ad;--red:#ff8a88;--blue:#8ab8ff}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:radial-gradient(ellipse at 0% 0%,#272036 0%,transparent 38%),var(--bg);font-family:Inter,system-ui,-apple-system,Segoe UI,Arial,sans-serif;color:var(--text);line-height:1.5}a{color:var(--gold)}header{border-bottom:1px solid #ffffff20;background:#0d111ed9;backdrop-filter:blur(18px);position:sticky;top:0;z-index:10}header .wrap{display:flex;align-items:center;justify-content:space-between;min-height:74px;gap:16px}.brand{font-family:Georgia,serif;font-size:26px;color:var(--gold);font-weight:bold;text-decoration:none;letter-spacing:.3px}.brand span{font-family:system-ui;font-size:13px;letter-spacing:2px;display:block;color:var(--muted);font-weight:400}.wrap{width:min(1100px,calc(100% - 32px));margin:auto}nav{display:flex;gap:20px;align-items:center}nav a{color:#e4e4ee;text-decoration:none;font-size:14px}nav a:hover{color:var(--gold)}.hero{padding:76px 0 42px;max-width:800px}.eyebrow{color:var(--gold);text-transform:uppercase;letter-spacing:2.3px;font-size:12px;font-weight:700}h1,h2,h3{font-family:Georgia,serif;line-height:1.16;letter-spacing:-.5px}h1{font-size:clamp(38px,5.5vw,68px);margin:18px 0 18px}h2{font-size:clamp(26px,3vw,36px);margin:0 0 20px}h3{font-size:21px;margin:0 0 12px}.lead{font-size:18px;color:var(--muted);max-width:680px}.panel{background:linear-gradient(160deg,#1c2436,#141b2a);border:1px solid var(--border);border-radius:19px;padding:24px;margin-bottom:20px;box-shadow:0 10px 40px #0002}.cols{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.cols3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.stat{background:#ffffff08;border:1px solid #ffffff15;border-radius:14px;padding:16px}.stat strong{font-size:27px;color:var(--gold);display:block}.stat small{color:var(--muted)}.field{margin:0 0 16px}label{font-size:13px;color:#d9deea;display:block;margin-bottom:6px;font-weight:600}input,select,textarea{width:100%;background:#0d1422;color:var(--text);border:1px solid #465169;border-radius:10px;padding:12px 13px;font:inherit;min-height:46px}input:focus,select:focus,textarea:focus{outline:2px solid #f7c47085;outline-offset:1px}input[type=checkbox]{width:auto;min-height:0;accent-color:var(--gold)}.check{display:flex;align-items:start;gap:9px}.check label{font-weight:400}.btn,button{font:inherit;cursor:pointer}.btn{display:inline-flex;justify-content:center;align-items:center;gap:8px;background:linear-gradient(135deg,var(--gold),#eb9e4c);border:0;border-radius:10px;padding:12px 20px;color:#161824;font-weight:800;text-decoration:none;min-height:45px}.btn:hover{filter:brightness(1.1)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn.alt{background:#2c3951;color:var(--text);border:1px solid #4e5b71}.btn.danger{background:#6b2934;color:white}.btn.small{font-size:12px;padding:7px 10px;min-height:34px}.controls{display:flex;flex-wrap:wrap;gap:9px;margin:18px 0}.pill{display:inline-block;border:1px solid #886c45;background:#4c371c;color:#fbd19b;padding:3px 10px;border-radius:100px;font-size:12px}.muted{color:var(--muted)}.tiny{font-size:12px}.notice{padding:14px 16px;border-radius:10px;border:1px solid #7b5c30;background:#43331965;color:#f8daa8;margin:16px 0}.ok{border-color:#2f9478;background:#175e493d;color:#a1f5d6}.error{border-color:#b43c4c;background:#69263261;color:#ffc0c0}.hide{display:none!important}.section{padding:20px 0 44px}.price{font-family:Georgia,serif;font-size:36px;color:var(--gold);margin:6px 0}.event-name{font-size:26px;margin-bottom:4px}.row{display:flex;align-items:center;justify-content:space-between;gap:12px}.tablewrap{max-width:100%;overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:13px}td,th{text-align:left;padding:12px 10px;border-bottom:1px solid var(--border);vertical-align:middle}th{color:var(--gold);font-weight:700}td{color:#eef1f8}code,.mono{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;word-break:break-all;font-size:12px}code{padding:3px 5px;border-radius:6px;background:#ffffff15}.qr{width:220px;max-width:100%;background:white;padding:9px;border-radius:12px;display:block}.qrsmall{width:175px;max-width:100%;background:white;padding:9px;border-radius:12px}.ticket{border:1px dashed var(--gold2);border-radius:16px;padding:22px;margin:12px 0;background:#2d2430}.ticket-id{font-size:13px;color:var(--gold);letter-spacing:2px}.ticket h2{margin:10px 0}.state{font-size:12px;padding:3px 7px;border-radius:7px;background:#344;color:#fff}.state.PAGO,.state.VALIDO{background:#1e6a57}.state.PENDENTE{background:#755022}.state.EXPIRADO,.state.REJEITADO{background:#7b2937}.tabs{display:flex;gap:8px;overflow:auto;padding:8px 0 22px}.tab{background:#233049;color:#ddd;border:1px solid #465169;border-radius:10px;padding:10px 14px;white-space:nowrap}.tab.active{background:var(--gold);color:#14171f;font-weight:bold}.foot{border-top:1px solid var(--border);padding:32px 0;font-size:13px;color:var(--muted);margin-top:60px}.split{display:grid;grid-template-columns:1.4fr 1fr;gap:22px}.separator{height:1px;background:#ffffff1f;margin:24px 0}.center{text-align:center}.subsection{margin-top:30px}.kicker{color:var(--gold);font-size:12px;text-transform:uppercase;letter-spacing:2px}.float-right{margin-left:auto}.grid-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 14px}.w-full{grid-column:1/-1}.spinner{display:inline-block;height:16px;width:16px;border:2px solid #666;border-top-color:var(--gold);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media(max-width:780px){.cols,.cols3,.split,.grid-form{grid-template-columns:1fr}.hero{padding:48px 0 22px}header .wrap{min-height:65px}nav{gap:11px}nav a{font-size:12px}.panel{padding:19px}h1{font-size:39px}.row.stack{flex-direction:column;align-items:start}}

/* ===============================================================
   IDENTIDADE CULTURAL • CENA (nome de demonstração, customizável)
   Vinho / ouro / marfim, linguagem de cartaz e cortinas de teatro.
   =============================================================== */
:root{--bg:#100b13;--bg2:#21121d;--card:#221723;--border:#5b3a45;--text:#fff7eb;--muted:#d5bcb8;--gold:#f4c988;--gold2:#c99549;--green:#6cdeb5;--red:#fb9a9e;--blue:#9ac3ff}
body{background:radial-gradient(ellipse at 80% 5%,#4b1e32 0%,transparent 30%),radial-gradient(ellipse at 0 30%,#2a1625 0%,transparent 30%),#100b13;color:var(--text)}
header{background:#170e16eb;border-bottom:1px solid #b57f5d38}
.public-header .wrap{min-height:84px}
.brand{color:#f4c988;font-size:29px;letter-spacing:4px;font-weight:700;white-space:nowrap}
.brand span{font-size:9px;letter-spacing:3.2px;margin-top:1px;color:#d7b9a6}
nav a{color:#f2e5d8}nav a:hover{color:#f4c988}
nav .admin-link{border:1px solid #b7977780;padding:9px 13px;border-radius:999px}
nav .admin-link:hover{border-color:var(--gold)}
h1,h2,h3{font-family:Georgia,'Times New Roman',serif}
h1{font-size:clamp(48px,5.5vw,82px);font-weight:500;letter-spacing:-2.5px}
h2{font-size:clamp(32px,3.7vw,49px);font-weight:500;letter-spacing:-1.1px}
h1 em,h2 em{font-weight:400;color:#f0b988}
.eyebrow{color:var(--gold);font-size:11px;letter-spacing:2.8px}
.hero{display:grid;grid-template-columns:1.1fr .9fr;gap:40px;align-items:center;max-width:none;min-height:590px;padding:62px 0 52px}
.hero-copy{position:relative;z-index:2;padding-bottom:22px}.hero-copy h1{margin:22px 0}.hero .lead{line-height:1.76;font-size:17px;max-width:600px}
.sparkle{font-size:17px;margin-right:7px}.hero-actions{display:flex;align-items:center;gap:27px;flex-wrap:wrap;margin:29px 0 35px}
.hero-bottom{display:flex;gap:15px;align-items:center;font-size:13px;color:#e8d0bc}.star-five{color:var(--gold);letter-spacing:3px}
.subtle-link{font-weight:600;color:#f6ddbf;text-decoration:none;border-bottom:1px solid #bda1808c;padding:0 0 5px;font-size:13px}.subtle-link:hover{color:#fff}
.btn{background:linear-gradient(120deg,#fae0aa,#dca75e);border-radius:7px;box-shadow:0 6px 18px #0003;color:#2b1821}.btn:hover{box-shadow:0 10px 30px #f6bc6440}
.btn.alt{background:#382534;border:1px solid #8e6471;color:#ffeddc;box-shadow:none}
.btn.danger{background:#792f40;color:#fff}
.stage-art{height:490px;position:relative;display:flex;align-items:center;justify-content:center;overflow:visible}
.stage-arch{width:min(100%,430px);height:460px;position:relative;overflow:hidden;border-radius:230px 230px 16px 16px;border:7px solid #bb7b4c;box-shadow:inset 0 0 0 6px #2b1920,0 0 0 1px #ffdba7,0 30px 75px #09040bb5;background:radial-gradient(ellipse at 50% 42%,#a27158 0%,#522b36 32%,#170d1c 73%)}
.stage-arch::before{content:'';position:absolute;inset:10px;border:1px solid #edbd7a88;border-radius:210px 210px 8px 8px;pointer-events:none;z-index:5}
.stage-arch::after{content:'';position:absolute;top:0;left:50%;transform:translateX(-50%);width:170px;height:170px;border-radius:50%;background:#f9b96a35;filter:blur(45px)}
.stage-curtain{position:absolute;z-index:3;top:-4px;bottom:0;width:42%;background:repeating-linear-gradient(90deg,#64162b 0 16px,#8d2437 18px 38px,#ae3d46 40px 48px,#5b1526 57px 68px);filter:drop-shadow(8px 10px 9px #0b05119a)}
.curtain-left{left:-17%;transform:skewX(-11deg);border-radius:0 0 90% 0}.curtain-right{right:-17%;transform:skewX(11deg);border-radius:0 0 0 90%}
.stage-halo{position:absolute;top:88px;left:24%;width:52%;height:190px;border-radius:50%;background:#ffc57855;filter:blur(31px)}
.stage-orb{position:absolute;top:95px;left:calc(50% - 42px);width:84px;height:84px;display:grid;place-items:center;color:#ffc67e;font-size:74px;text-shadow:0 0 30px #ffca79a0;z-index:2}
.stage-type{position:absolute;left:25%;right:25%;top:210px;text-align:center;z-index:4;color:#ffe9c8;text-shadow:0 4px 30px #1d0915}
.stage-type span{display:block;font:11px system-ui;letter-spacing:5px}.stage-type strong{display:block;font:normal 70px Georgia,serif;line-height:1.12;letter-spacing:7px;color:#ffd18f}.stage-type small{display:block;font:10px system-ui;letter-spacing:2px;margin-top:13px;text-transform:uppercase}
.stage-floor{position:absolute;bottom:0;left:0;right:0;height:95px;background:linear-gradient(#34131e 5%,#1c101b 75%);transform:perspective(200px) rotateX(34deg);transform-origin:bottom}
.stage-caption{position:absolute;bottom:1px;background:#42222c;border:1px solid #ad8062;border-radius:30px;font-size:10px;color:#f9daaa;letter-spacing:2px;padding:10px 16px;box-shadow:0 10px 30px #0008}
.floating-note{position:absolute;color:#f4bf79;font-size:29px;opacity:.8}.note-one{top:22px;left:6%}.note-two{bottom:74px;right:3%}
.culture-strip{display:flex;justify-content:space-around;align-items:center;flex-wrap:wrap;gap:18px;border-top:1px solid #b07b623b;border-bottom:1px solid #b07b623b;padding:18px 12px;font-size:11px;color:#e0bba2;letter-spacing:3px}
.public-main>.section{padding-top:84px;padding-bottom:65px}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:25px;margin-bottom:30px}.section-heading h2{margin:9px 0 12px}.section-heading p{margin:0}
.event-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:23px}.event-card{border:1px solid #77535b;background:linear-gradient(170deg,#2b1b28,#19111c);border-radius:15px;overflow:hidden;box-shadow:0 16px 35px #07030970;transition:transform .18s,border-color .18s;display:flex;flex-direction:column}
.event-card:hover{transform:translateY(-5px);border-color:var(--gold2)}
.event-poster{height:220px;position:relative;padding:19px 22px;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden;background:radial-gradient(ellipse at 55% 62%,#e3a56a 0%,#974256 27%,#351624 75%);isolation:isolate}
.event-poster:before,.event-poster:after{content:'';position:absolute;top:0;bottom:0;width:24%;background:repeating-linear-gradient(90deg,#6b1f32 0 8px,#9b2d44 10px 19px,#4c1928 25px 34px);z-index:-1;filter:drop-shadow(0 0 15px #180711)}
.event-poster:before{left:-11%;transform:skew(-9deg)}.event-poster:after{right:-11%;transform:skew(9deg)}
.event-poster.poster-1{background:radial-gradient(ellipse at 50% 64%,#c9a97b,#4e5661 41%,#192c36 83%)}
.event-poster.poster-2{background:radial-gradient(ellipse at 50% 64%,#c09b68,#754876 43%,#281c3e 83%)}
.poster-top,.poster-tail{font-size:9px;letter-spacing:2.7px;color:#ffe1b9}.poster-tail{align-self:flex-end}.poster-glyph{position:absolute;top:44px;left:0;right:0;text-align:center;font-size:95px;opacity:.35;color:#ffe5ab;line-height:1}.poster-title{position:relative;font:500 30px Georgia,serif;color:#fff0d3;text-shadow:0 3px 15px #210e1b;line-height:1.04;max-width:280px;overflow-wrap:break-word}
.event-meta,.event-card>h3,.event-card>p,.event-bottom{margin-left:21px;margin-right:21px}.event-meta{display:flex;align-items:center;justify-content:space-between;gap:7px;margin-top:18px;font-size:11px}.event-cost{color:#e9bd86;white-space:nowrap}.event-card>h3{margin-top:16px;margin-bottom:8px;font-size:22px}.event-card>p{color:#d5bec0;font-size:13px;line-height:1.6;max-height:75px;overflow:hidden}.event-bottom{margin-top:auto;padding:15px 0 19px;display:flex;justify-content:space-between;align-items:center;gap:10px;border-top:1px solid #ffffff20;font-size:11px;color:#e6cebc}
.empty-program{grid-column:1/-1;min-height:230px;padding:43px;text-align:center;border:1px dashed #ac806f;border-radius:14px;background:#251725}.empty-program span{font-size:42px;color:var(--gold)}.empty-program h3{margin-top:9px}.empty-program p{color:var(--muted)}
.story-section{border-radius:18px;background:linear-gradient(115deg,#502533,#2a1723);border:1px solid #9f726854;padding:38px 36px;display:grid;grid-template-columns:1fr 1.4fr;gap:30px;margin:8px 0 45px}.story-intro h2{font-size:32px;line-height:1.22;margin:12px 0}.story-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.story-steps article{border-left:1px solid #a6767194;padding-left:15px}.story-steps h3{font-size:16px;margin:9px 0}.story-steps p{color:#ead1c7;font-size:12px;line-height:1.7;margin:0}.step-icon{font-size:12px;color:var(--gold);letter-spacing:2px}
.panel{background:linear-gradient(165deg,#2b1d2a,#1e1421);border:1px solid #674853;box-shadow:0 16px 40px #07030935}.notice{background:#62422460;border-color:#bc8a60;color:#fbe0b5}
input,textarea,select{background:#180f19;border-color:#795462;color:#fff5e9}.field label{color:#f4e3d7}
.panel h3{color:#f8e0c4}.pill{border:1px solid #b58a6380;background:#51362b80;color:#ffe0b4}
.footer-layout{display:flex;justify-content:space-between;align-items:flex-start;gap:30px}.foot{background:#170e16;color:#d5aaa6}.foot p{color:#c5a8a2;font-size:12px}.footer-layout>div:last-child{text-align:right}
@media(max-width:990px){.hero{grid-template-columns:1.1fr .9fr;gap:20px}.hero h1{font-size:clamp(44px,5.8vw,64px)}.stage-art{transform:scale(.89);transform-origin:center}.story-section{grid-template-columns:1fr}}
@media(max-width:780px){nav{gap:14px}.public-header nav a:nth-child(1),.public-header nav a:nth-child(3){display:none}.public-header .wrap{min-height:73px}.brand{font-size:24px}.hero{grid-template-columns:1fr;gap:0;padding:45px 0 35px}.hero h1{font-size:clamp(43px,10vw,61px)}.stage-art{height:405px;transform:none;margin:10px auto 0;width:min(100%,410px)}.stage-arch{height:388px;width:min(100%,360px)}.stage-type{top:185px}.stage-type strong{font-size:54px}.stage-orb{top:75px}.stage-caption{bottom:-8px}.culture-strip{gap:10px;font-size:10px;letter-spacing:1.2px}.public-main>.section{padding-top:58px;padding-bottom:45px}.section-heading{display:block}.event-grid{grid-template-columns:1fr}.event-poster{height:210px}.story-section{padding:30px 25px}.story-steps{grid-template-columns:1fr}.story-steps article{padding:4px 0 4px 15px}.footer-layout{display:block}.footer-layout>div:last-child{text-align:left;margin-top:25px}}
@media print{header,nav,footer,.hero-actions,.btn{display:none!important}body{background:#fff!important;color:#111!important}.panel,.ticket{box-shadow:none;border:1px solid #999;background:#fff!important;color:#111!important}h1,h2,h3,p,.muted{color:#111!important}}
