:root{--ink:#162b35;--muted:#5c6c74;--paper:#f5f2eb;--white:#fff;--accent:#b96839;--teal:#174e53;--line:#dce2df;--danger:#a82736}*{box-sizing:border-box}body{margin:0;color:var(--ink);background:var(--paper);font:16px/1.55 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}a{color:var(--teal)}button,input,textarea,select{font:inherit}button,.button{display:inline-flex;align-items:center;justify-content:center;min-height:45px;padding:10px 19px;border:1px solid transparent;border-radius:9px;background:var(--teal);color:white;font-weight:650;text-decoration:none;cursor:pointer;text-align:center}button:hover,.button:hover{filter:brightness(.93)}button:disabled{opacity:.5;cursor:wait}.secondary{background:#fff;color:var(--teal);border-color:#bccdcb}.danger{background:var(--danger);color:white}.whatsapp{background:#246e4c}.text-button{min-height:0;padding:0;background:none;color:var(--teal);font-weight:400}input:not([type=checkbox]),select,textarea{width:100%;border:1px solid #bbc8ca;border-radius:7px;background:#fff;color:var(--ink);padding:11px 12px;min-height:44px}input[type=checkbox]{width:19px;height:19px;flex-shrink:0;accent-color:var(--teal)}textarea{resize:vertical}label{display:flex;flex-direction:column;gap:6px;font-size:14px;font-weight:600}.inline{flex-direction:row;align-items:center}.inline select{width:auto}.check{display:flex;flex-direction:row;align-items:flex-start;font-weight:400;font-size:15px}.site-header{padding:22px max(24px,calc((100vw - 1180px)/2));border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:24px;background:white}.brand{font-size:22px;letter-spacing:.09em;font-weight:800;text-decoration:none;color:var(--ink);white-space:nowrap}.brand span{display:block;color:var(--accent);font-size:10px;letter-spacing:.4em}.site-header nav{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:15px;font-size:13px}.site-header nav a{text-decoration:none}.site-header form{margin:0}main{max-width:1180px;margin:0 auto;padding:32px 24px 64px;min-height:70vh}h1,h2,h3,p{margin-top:0}h1{font-family:Georgia,serif;font-size:clamp(30px,4vw,48px);font-weight:500;line-height:1.15;margin-bottom:16px}h2{font-size:23px;line-height:1.3;margin-bottom:12px}h3{font-size:18px;margin-bottom:9px}.page-heading{margin:20px 0 32px}.page-heading p,.muted,small{color:var(--muted)}small{font-size:13px}.card{padding:26px;background:#fff;border:1px solid var(--line);border-radius:14px;margin-bottom:24px}.stack{display:flex;flex-direction:column;gap:16px}.stack p{margin-bottom:0}.stack form{margin:10px 0}.narrow{max-width:620px;margin-left:auto;margin-right:auto}.notice{padding:16px 20px;border-radius:10px;background:#e9eef1;border:1px solid #ccd9df;margin:0 0 22px}.notice.ok{background:#e7f3ec;border-color:#a7cfb6}.notice.error{background:#fff0ef;border-color:#e2a8a5;color:#8a2028}.notice.warn{background:#fff6dc;border-color:#dfcc8a}.notice a{font-weight:700}.badge{display:inline-block;align-self:flex-start;padding:4px 10px;border-radius:20px;font-size:12px;font-weight:650;background:#ecf0f1}.badge.test{background:#fff0c2}.badge.review,.badge.held{background:#fff1cb;color:#765718}.badge.paid{background:#d9efdf;color:#245535}.badge.rejected,.badge.cancelled,.badge.expired{background:#f4dfe0;color:#83323c}.event-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:26px}.event-card{border-radius:16px;overflow:hidden;border:1px solid var(--line);background:white}.event-art{height:190px;background:radial-gradient(ellipse at 80% 110%,#a88b62,transparent 60%),#142f3d;color:#fff;padding:27px;position:relative;overflow:hidden}.event-art>span{font-size:11px;letter-spacing:.22em;position:relative;z-index:2}.event-art>strong{font:48px Georgia,serif;position:absolute;bottom:20px;left:27px}.orbit{width:170px;height:170px;border:1px solid #e3ce9c;border-radius:50%;position:absolute;right:40px;top:36px;box-shadow:0 0 0 23px #ffffff0b,0 0 0 44px #ffffff08}.orbit:after{content:"";display:block;width:30px;height:30px;background:#d1b67d;border-radius:50%;margin-left:15px}.event-content{padding:26px}.event-content p{margin-bottom:12px}.field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.two-columns{display:grid;grid-template-columns:1fr 1fr;gap:24px}.pre{white-space:pre-wrap}.link-copy{display:flex;gap:8px}.link-copy input{min-width:0}.link-copy button{flex-shrink:0}.map-toolbar{display:flex;justify-content:space-between;gap:20px;align-items:center;font-weight:700;margin-bottom:20px}.legend{display:flex;gap:16px;flex-wrap:wrap;font-size:12px}.legend span{display:flex;align-items:center;gap:6px}.legend i{width:14px;height:14px;border-radius:4px;border:1px solid #aebcbd}.available{background:#f0f6f3}.selected{background:var(--teal)}.held,.review{background:#efd68f}.sold{background:#c77a6f}.blocked{background:#aeb7bc}.map-hint{font-size:13px;color:var(--muted);margin:15px 0}.map-scroll{overflow:auto;background:white;border:1px solid var(--line);border-radius:12px;padding:24px 12px}.theater{min-width:860px;max-width:920px;margin:auto}.seat-zone h2{text-align:center;font-size:16px;text-transform:uppercase;letter-spacing:.14em;margin:0 0 16px}.seat-zone{margin-bottom:30px}.seat-row{display:grid;grid-template-columns:repeat(24,32px);justify-content:center;gap:3px;margin:5px 0}.seat-row.palco{grid-template-columns:repeat(15,32px)}.seat{display:block;height:34px;position:relative;border-radius:6px;border:1px solid #b7c8c1;cursor:pointer;overflow:hidden}.seat span{height:100%;display:flex;align-items:center;justify-content:center;flex-direction:column;font-size:8px;line-height:1.15;padding:2px}.seat span b{font-size:12px}.seat input{position:absolute;opacity:0;inset:0;width:100%;height:100%;margin:0;cursor:pointer}.seat:has(input:checked){background:var(--teal);color:white;border-color:var(--teal)}.seat:has(input:focus-visible){outline:3px solid #d59e42;outline-offset:2px}.seat:has(input:disabled){cursor:not-allowed}.stage{max-width:760px;margin:22px auto 0;text-align:center;background:#ddc496;border-radius:8px 8px 25px 25px;padding:16px;letter-spacing:.2em;font-size:13px;font-weight:700}.selection-summary{padding:18px 0;display:flex;gap:20px;justify-content:space-between;align-items:center;position:sticky;bottom:0;background:var(--paper);z-index:2;border-bottom:1px solid var(--line)}#selected-label{font-size:14px;max-width:80%}.checkout{margin-top:20px}.tabs,.actions,.filters,.income{display:flex;gap:12px;flex-wrap:wrap;align-items:center}.tabs{margin-bottom:24px}.tabs a{padding:8px 15px;border:1px solid var(--line);border-radius:20px;text-decoration:none;background:#fff}.tabs a.active{background:var(--teal);color:white}.section-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:20px}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;margin:20px 0}.stats>div{background:#f4f6f5;border-radius:9px;padding:14px;display:flex;flex-direction:column}.stats strong{font:32px Georgia,serif}.stats span{font-size:12px}.income{border-top:1px solid var(--line);padding-top:16px;font-size:14px}.filters{margin:20px 0}.filters>label{flex:1;min-width:180px}.filters>button{align-self:flex-end}.table-scroll{overflow:auto}table{border-collapse:collapse;width:100%;font-size:14px}th,td{text-align:left;padding:12px;border-bottom:1px solid var(--line);vertical-align:middle}th{font-size:12px;background:#f3f5f4}td{min-width:100px}details>summary{cursor:pointer;font-weight:700}details form{margin-top:22px}.tickets{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.ticket{max-width:490px;width:100%;margin:0 auto 24px;background:white;border:1px solid var(--line);border-radius:14px;text-align:center;padding:28px;break-inside:avoid;page-break-inside:avoid}.ticket-top{font-size:11px;letter-spacing:.16em;color:var(--accent);padding-bottom:22px}.ticket h2{font:28px Georgia,serif;margin:0 0 12px}.ticket h3{background:#eef3f1;border-radius:6px;padding:10px;margin:14px 0}.ticket p{margin-bottom:8px}.qr{background:white;width:220px;height:220px;margin:20px auto;display:flex;align-items:center;justify-content:center}.qr img{max-width:100%;max-height:100%;image-rendering:pixelated}.ticket-rule{font-size:12px;color:var(--muted);margin-top:16px}.ticket button{margin-top:15px}.print-controls{display:flex;gap:20px;align-items:center;margin:24px 0}.print-controls span{font-size:13px}#scan-video{width:100%;max-height:420px;background:#111;border-radius:12px}#scanner{max-width:700px;margin:auto}footer{padding:25px;background:#122f38;color:#d8e4e6;display:flex;flex-direction:column;align-items:center;gap:8px;font-size:12px}footer strong{font-size:16px}button:focus-visible,a:focus-visible{outline:3px solid #d59e42;outline-offset:3px}[hidden]{display:none!important}@media(max-width:760px){.site-header{align-items:flex-start;padding:18px;flex-direction:column;gap:14px}.site-header nav{justify-content:flex-start;gap:12px;font-size:12px}main{padding:20px 15px 40px}.event-grid,.two-columns,.tickets{grid-template-columns:1fr}.field-grid{grid-template-columns:1fr}.card{padding:20px}.stats{grid-template-columns:repeat(2,1fr)}.section-heading{flex-direction:column}.print-controls{flex-direction:column;align-items:stretch}.link-copy{flex-direction:column}.event-art{height:165px}.map-toolbar{font-size:14px}.selection-summary{padding:15px 0}.ticket{padding:22px}.legend{gap:10px}.map-scroll{padding-left:0;padding-right:0}}@media print{body{background:white}header,footer,.page-heading,.notice,.print-controls,.ticket button,.card,details,.site-header,.selection-summary{display:none!important}main{padding:0;margin:0;max-width:none}.tickets{display:block}.ticket{width:100%;max-width:440px;box-shadow:none;break-after:page;margin:20px auto}.ticket:last-child{break-after:auto}.qr img{width:220px}.ticket-top{color:#000}}

.message-card{border-top:1px solid var(--line);padding:24px 0}.message-card p{overflow-wrap:anywhere}.message-card .actions form{margin:0}.message-card .badge{white-space:normal}

/* v0.3: clear navigation, event covers and purchase review */
.custom-cover{padding:0;aspect-ratio:20/7;height:auto;background:var(--teal)}.custom-cover img{display:block;width:100%;height:100%;object-fit:cover;position:absolute;inset:0}.cover-preview{display:block;width:100%;max-width:800px;aspect-ratio:20/7;object-fit:cover;border-radius:10px;border:1px solid var(--line)}.cover-preview[hidden],.map-navigation[hidden]{display:none}.map-hint{color:var(--ink);background:#edf4f3;border-color:#a9c2bf;font-size:15px}.map-hint strong{display:block;margin-bottom:7px}.map-hint small{display:block}.map-navigation{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px}.map-navigation button{min-width:52px;font-size:25px;padding:2px 14px}.map-navigation button:disabled{cursor:default}.map-toolbar{flex-wrap:wrap;gap:12px}#available-count{display:inline-block;color:var(--teal)}.ticket-jump{display:flex;flex-direction:column;align-items:flex-start;gap:14px}.ticket-jump .button{min-width:200px}#mis-boletos,#editar-funcion{scroll-margin-top:20px}.purchase-review{border:1px solid var(--line);border-radius:14px;padding:26px;color:var(--ink);background:var(--white);max-width:620px;width:calc(100% - 28px);max-height:90vh;overflow:auto}.purchase-review::backdrop{background:#102a36a8}.purchase-review .pre{overflow-wrap:anywhere}.purchase-review .actions{position:sticky;bottom:-26px;background:var(--white);padding:14px 0}.purchase-review button{flex:1}.custom-cover img{object-position:center}@media(max-width:600px){.map-toolbar>span{width:100%}.purchase-review{padding:20px}.purchase-review .actions{bottom:-20px;flex-direction:column}.purchase-review button{width:100%}}@media print{.ticket-jump,.map-navigation{display:none}}

/* Receipt selection keeps the native input accessible inside a large touch target. */
.receipt-picker{display:flex;flex-direction:column;gap:12px;padding:16px;border:1px solid var(--line);border-radius:12px;background:#f5f8f6}.receipt-picker p{margin:0}.receipt-select{position:relative;overflow:hidden;min-height:54px;margin:0;text-align:center;cursor:pointer}.receipt-select input[type=file]{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer;padding:0;margin:0}.receipt-select:focus-within{outline:3px solid #d59e42;outline-offset:3px}.receipt-preview{width:100%;height:auto;max-height:300px;object-fit:contain;background:#fff;border:1px solid var(--line);border-radius:8px}.receipt-picker details>label{margin-top:12px}.receipt-picker .notice{overflow-wrap:anywhere}.receipt-picker small{line-height:1.5}

.event-prices{margin:18px 0;padding:14px 16px;background:#f3f7f5;border:1px solid var(--line);border-radius:10px}.event-prices p{margin:0 0 12px}.event-prices p:last-child{margin-bottom:0}.event-prices span{font-size:14px;color:var(--muted)}.page-heading h1{overflow-wrap:anywhere}
