:root{color:#2b2016;font-synthesis:none;text-rendering:optimizelegibility;--ivory:#fbfaf7;--surface:#fff;--ink:#2b2016;--muted:#6e665d;--line:#ded6c7;--gold:#a66c18;--gold-dark:#5f3706;--green:#3d8146;--amber:#c1841f;--red:#b74034;background:#ece9e2;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;margin:0}button,textarea{font:inherit}button{-webkit-tap-highlight-color:transparent}.app-shell{background:var(--ivory);border:1px solid #b49a73;border-radius:14px;width:min(1500px,100% - 32px);min-height:calc(100vh - 32px);margin:16px auto;overflow:hidden;box-shadow:0 18px 50px #46351d1a}.app-header{border-bottom:1px solid var(--line);align-items:center;gap:22px;min-height:86px;padding:18px 30px;display:flex}.app-header h1{letter-spacing:-.035em;margin:0;font-family:Georgia,Times New Roman,serif;font-size:clamp(2rem,3vw,3rem);font-weight:600;line-height:1}.app-header>span{background:var(--line);width:1px;height:38px}.app-header p{color:var(--muted);margin:0;font-size:1rem}.workspace{grid-template-columns:minmax(360px,.76fr) minmax(600px,1.24fr);display:grid}.input-panel,.preview-panel{padding:clamp(26px,3vw,42px) 30px}.input-panel{border-right:1px solid var(--line)}.section-heading{justify-content:space-between;align-items:start;gap:16px;margin-bottom:18px;display:flex}.section-heading h2{margin:0 0 8px;font-size:1.4rem;line-height:1.15}.section-heading p,.input-note,.print-action p{color:var(--muted);margin:0;line-height:1.5}.inventory-count{color:var(--gold-dark);white-space:nowrap;padding-top:5px;font-size:.8rem;font-weight:700}.artwork-upload{background:#f8f4ec;border:1px dashed #b98a43;border-radius:10px;grid-template-columns:1fr auto;align-items:center;gap:8px 18px;margin-bottom:18px;padding:16px 18px;display:grid}.artwork-upload--ready{background:#f2f8f1;border-color:#82a984}.artwork-upload h3{margin:0 0 4px;font-size:.95rem}.artwork-upload p{color:var(--muted);overflow-wrap:anywhere;margin:0;font-size:.82rem;line-height:1.4}.file-button{cursor:pointer;place-items:center;min-height:42px;padding:0 16px;display:inline-grid}.artwork-upload .privacy-note{color:var(--green);grid-column:1/-1;font-weight:650}.artwork-upload .artwork-error{color:var(--red);grid-column:1/-1;font-weight:650}textarea{resize:vertical;width:100%;min-height:260px;color:var(--ink);background:var(--surface);border:1px solid #c9a66c;border-radius:10px;outline:none;padding:18px;line-height:1.55;box-shadow:inset 0 1px 2px #34250f0a}textarea:focus{border-color:var(--gold);box-shadow:0 0 0 3px #a66c1824}.utility-actions{grid-template-columns:1fr .68fr;gap:12px;margin:18px 0 20px;display:grid}.button{cursor:pointer;border:1px solid #0000;border-radius:9px;min-height:50px;padding:0 22px;font-size:.95rem;font-weight:700;transition:transform .14s,background .14s,border-color .14s}.button:hover:not(:disabled){transform:translateY(-1px)}.button:focus-visible,.icon-button:focus-visible{outline-offset:2px;outline:3px solid #a66c183d}.button:disabled,.icon-button:disabled{opacity:.42;cursor:not-allowed}.button--secondary{color:var(--gold-dark);background:0 0;border-color:#b98a43}.button--secondary:hover:not(:disabled){background:#f6efe4}.button--primary{color:#fff;background:var(--gold-dark);border-color:var(--gold-dark)}.button--primary:hover:not(:disabled){background:#78490d}.button--wide{width:100%;min-height:58px;margin-top:20px;font-size:1.05rem}.summary{border-top:1px solid var(--line)}.summary-row{border-bottom:1px solid var(--line);grid-template-columns:1fr auto;align-items:center;min-height:54px;display:grid}.summary-row>div{align-items:center;gap:12px;font-weight:650;display:flex}.summary-row strong{font-family:Georgia,serif;font-size:1.4rem}.summary-row p{color:var(--muted);overflow-wrap:anywhere;grid-column:1/-1;margin:-4px 0 10px 30px;font-size:.82rem}.summary-row__dot{width:10px;height:10px;box-shadow:0 0 0 5px color-mix(in srgb, currentColor 12%, transparent);background:currentColor;border-radius:50%}.summary-row--success{color:var(--green)}.summary-row--warning{color:var(--amber)}.summary-row--danger{color:var(--red)}.summary-row span:not(.summary-row__dot){color:var(--ink)}.input-note{margin-top:12px;font-size:.86rem}.preview-frame{border:1px solid var(--line);background:#fff;border-radius:12px;padding:16px}.ticket-empty{aspect-ratio:3/2;width:100%;color:var(--muted);text-align:center;background:#f8f4ec;border:1px dashed #cfb98f;place-content:center;padding:30px;display:grid}.ticket-empty strong{color:var(--ink);font-family:Georgia,Times New Roman,serif;font-size:clamp(1.1rem,2.4vw,1.7rem)}.ticket-empty p{margin:8px 0 0}.ticket{aspect-ratio:3/2;background-position:50%;background-repeat:no-repeat;background-size:100% 100%;width:100%;position:relative;overflow:hidden;container-type:inline-size}.ticket__value{text-align:center;letter-spacing:.02em;width:16%;font-family:Georgia,Times New Roman,serif;font-weight:700;line-height:1;position:absolute;transform:translate(-50%,-50%)}.ticket__seat{width:24%}.preview-controls{grid-template-columns:44px minmax(100px,auto) 44px;justify-content:center;align-items:center;gap:28px;margin-top:16px;font-weight:700;display:grid}.icon-button{width:44px;height:44px;color:var(--ink);cursor:pointer;background:0 0;border:1px solid #cfb98f;border-radius:9px;place-items:center;display:grid}.icon-button svg{width:21px;height:21px}.print-action{border:1px solid var(--line);background:#fff;border-radius:12px;justify-content:space-between;align-items:center;gap:24px;margin-top:24px;padding:22px 24px;display:flex}.print-action h3{margin:0 0 6px;font-size:1.15rem}.export-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;display:flex}.pdf-status{min-height:1.25rem;font-size:.82rem;margin-top:6px!important}.pdf-status--success{color:var(--green)!important}.pdf-status--error{color:var(--red)!important}.app-footer{color:var(--muted);border-top:1px solid var(--line);justify-content:space-between;gap:24px;padding:18px 30px;font-size:.78rem;display:flex}.app-footer p{margin:0}.print-pages{display:none}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (width<=1020px){.app-shell{width:min(760px,100% - 24px);margin:12px auto}.workspace{grid-template-columns:1fr}.input-panel{border-right:0;border-bottom:1px solid var(--line)}textarea{min-height:180px}}@media (width<=620px){.app-shell{border:0;border-radius:0;width:100%;min-height:100vh;margin:0}.app-header{flex-direction:column;align-items:flex-start;gap:12px;min-height:auto;padding:22px 18px}.app-header>span{display:none}.app-header h1{font-size:2.15rem}.input-panel,.preview-panel{padding:26px 18px}.section-heading{display:block}.inventory-count{margin-top:10px;display:inline-block}.utility-actions,.artwork-upload{grid-template-columns:1fr}.file-button{width:100%}.preview-frame{padding:8px}.preview-controls{gap:14px}.print-action{flex-direction:column;align-items:stretch;padding:18px}.export-actions{flex-direction:column;align-items:stretch}.app-footer{flex-direction:column;padding:18px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important}}@page{size:landscape;margin:0}@media print{html,body{background:#fff}.app-shell{display:none!important}.print-pages{display:block}.print-page{break-after:page;page-break-after:always;align-items:center;width:100%;height:100vh;display:flex}.print-page:last-child{break-after:auto;page-break-after:auto}.ticket--print{-webkit-print-color-adjust:exact;print-color-adjust:exact;width:100%}}
