@import"https://fonts.googleapis.com/css2?family=Unbounded:wght@300..700&family=Inter+Tight:wght@400;500;600&family=JetBrains+Mono:wght@400;500&display=swap";:root{color-scheme:light dark;--cat-theatre: #C9B6FF;--cat-opera: #D9F26B;--cat-exhibition: #5A6BFF;--cat-standup: #FF6B47;--cat-concert: #FFD24A;--cat-other: #FF9FB7;--font-display: "Unbounded", -apple-system, sans-serif;--accent: #FF8E7A;--accent-ink: #1A0A05;--font-body: "Inter Tight", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-mono: "JetBrains Mono", ui-monospace, "SFMono-Regular", monospace}body,body.theme-dark{--bg: var(--tg-theme-bg-color, #0F0E10);--text: var(--tg-theme-text-color, #F5F2ED);--text-muted: var(--tg-theme-hint-color, rgba(245, 242, 237, .6));--link: var(--tg-theme-link-color, #FF9FB7);--button: var(--tg-theme-button-color, #F5F2ED);--surface-card: var(--tg-theme-secondary-bg-color, #1A1A1C);--surface-cell: rgba(255, 255, 255, .04);--surface-chip: rgba(255, 255, 255, .07);--border: var(--tg-theme-section-separator-color, rgba(255, 255, 255, .18));--border-faint: rgba(255, 255, 255, .1);--accent-pending: #FFD24A;--accent-pending-bg: rgba(255, 210, 74, .12);--accent-success: #5DD39E;--accent-success-bg: rgba(93, 211, 158, .14);--accent-danger: #FF5A5A}body.theme-light{--bg: #FFFFFF;--text: #14171C;--text-muted: rgba(20, 23, 28, .6);--link: #C53D5A;--button: #14171C;--surface-card: #F7F6F3;--surface-cell: rgba(20, 23, 28, .04);--surface-chip: rgba(20, 23, 28, .06);--border: rgba(20, 23, 28, .22);--border-faint: rgba(20, 23, 28, .12);--accent-pending: #B97A0A;--accent-pending-bg: rgba(255, 210, 74, .22);--accent-success: #2F8B5F;--accent-success-bg: rgba(93, 211, 158, .18);--accent-danger: #C53A3A}body.theme-light .chip__dot,body.theme-light .list-row__bar,body.theme-light .day-cell__pill,body.theme-light .detail__note-dot{filter:saturate(1.5) brightness(.7)}*{box-sizing:border-box}html,body,#root{margin:0;padding:0;background:var(--bg);color:var(--text);font-family:var(--font-body);font-size:15px;line-height:1.45;min-height:100vh;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}button{font-family:inherit}.app{max-width:480px;margin:0 auto;padding:calc(var(--app-top-pad, env(safe-area-inset-top, 12px)) + 12px) 16px 88px;position:relative}.app-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:8px 0 4px}.app-title{font-family:var(--font-display);font-weight:500;font-size:46px;line-height:.95;letter-spacing:-.02em;margin:0;color:var(--text)}.app-title i{font-style:italic;font-weight:400;opacity:.8}.app-meta{font-size:13px;color:var(--text-muted);display:flex;justify-content:space-between;align-items:baseline;margin:0 0 18px}.app-meta__count{font-variant-numeric:tabular-nums}.header-controls{display:flex;flex-direction:column;align-items:flex-end;gap:6px;margin-top:6px}.role-toggle{display:inline-flex;padding:2px;border-radius:99px;background:var(--surface-chip);border:.5px solid var(--border-faint);flex-shrink:0}.theme-toggle{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:.5px solid var(--border-faint);background:var(--surface-chip);color:var(--text);width:32px;height:32px;border-radius:99px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center}.role-toggle button{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;cursor:pointer;padding:5px 10px;border-radius:99px;background:transparent;color:var(--text-muted);font-size:11px;font-weight:500;letter-spacing:-.01em;transition:background .12s ease,color .12s ease}.role-toggle button.active{background:var(--text);color:var(--bg)}.bottom-tabs{position:fixed;bottom:0;left:50%;transform:translate(-50%);width:100%;max-width:480px;display:flex;background:color-mix(in srgb,var(--bg) 92%,transparent);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-top:.5px solid var(--border-faint);padding:8px 8px calc(env(safe-area-inset-bottom,0px) + 10px);z-index:50}body.modal-open .bottom-tabs{display:none}body.modal-open{overflow:hidden}.bottom-tab{flex:1;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:transparent;padding:6px 4px;display:flex;flex-direction:column;align-items:center;gap:4px;color:var(--text-muted);font-family:inherit;font-size:11px;font-weight:500;letter-spacing:-.01em;cursor:pointer;border-radius:12px;transition:color .12s ease}.bottom-tab.active{color:var(--text)}.bottom-tab__icon{width:22px;height:22px;display:flex;align-items:center;justify-content:center}.view-toggle{display:inline-flex;padding:2px;border-radius:99px;background:var(--surface-chip);border:.5px solid var(--border-faint);margin:6px 0 0}.view-toggle button{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;cursor:pointer;padding:5px 10px;border-radius:99px;background:transparent;color:var(--text-muted);font-size:11px;font-weight:500;font-family:inherit;letter-spacing:-.01em;display:inline-flex;align-items:center;gap:5px;transition:background .12s ease,color .12s ease}.view-toggle button.active{background:var(--text);color:var(--bg)}.month-nav{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:8px 0 12px}.month-nav__title{font-family:var(--font-display);font-size:22px;font-weight:500;letter-spacing:-.01em;text-transform:lowercase;color:var(--text)}.month-nav button{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:.5px solid var(--border);background:var(--surface-chip);color:var(--text);width:32px;height:32px;border-radius:99px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center}.month-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}.month-grid__dow{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;margin-bottom:6px}.month-grid__dow span{font-size:10px;text-align:center;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);font-weight:500}.day-cell{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;padding:0;background:transparent;position:relative;aspect-ratio:1 / 1.15;border-radius:14px;cursor:pointer}.day-cell.muted{opacity:.25;cursor:default}.day-cell__inner{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:14px;background:var(--surface-cell);border:.5px solid var(--border-faint)}.day-cell.today .day-cell__inner{outline:1.5px solid var(--text);outline-offset:-1.5px}.day-cell.selected .day-cell__inner{background:var(--text)}.day-cell__num{position:absolute;top:6px;left:8px;font-size:13px;font-weight:500;color:var(--text);font-variant-numeric:tabular-nums}.day-cell.selected .day-cell__num{color:var(--bg)}.day-cell__pills{position:absolute;bottom:6px;left:6px;right:6px;display:flex;flex-direction:column;gap:2px}.day-cell__pill{height:5px;border-radius:3px}.day-cell__more{font-size:9px;color:var(--text-muted);text-align:right;margin-top:1px}.day-cell.selected .day-cell__more{color:var(--bg);opacity:.7}.day-events{margin-top:18px}.day-events__header{display:flex;align-items:baseline;justify-content:space-between;margin:0 0 10px}.day-events__title{font-family:var(--font-display);font-size:22px;font-weight:500;letter-spacing:-.01em;color:var(--text)}.day-events__count{font-size:12px;color:var(--text-muted)}.calendar-hint{margin-top:14px;font-size:12px;color:var(--text-muted);text-align:center;font-style:italic}.filters{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0 14px}.chip{height:30px;padding:0 12px;border-radius:99px;display:inline-flex;align-items:center;gap:6px;background:var(--surface-chip);color:var(--text);border:1px solid var(--border);font-size:12px;font-weight:500;font-family:inherit;cursor:pointer;white-space:nowrap;opacity:.85;transition:opacity .12s ease,background .12s ease,color .12s ease,border-color .12s ease}.chip:hover{opacity:1}.chip.active{opacity:1;background:color-mix(in srgb,currentColor 14%,var(--surface-chip));border-color:currentColor}.chip.primary,.chip.primary.active{background:var(--text);color:var(--bg);border-color:transparent;opacity:1}.chip.danger{color:var(--accent-danger);border-color:#ff5a5a80}.chip__dot{width:7px;height:7px;border-radius:99px;flex-shrink:0}.toggle{display:inline-flex;align-items:center;gap:8px;height:30px;padding:0 12px;border-radius:99px;border:1px solid var(--border);background:transparent;color:var(--text);font-size:12px;font-weight:500;cursor:pointer}.toggle.active{background:var(--text);color:var(--bg);border-color:transparent}.toggle__dot{width:8px;height:8px;border-radius:99px;border:1.5px solid var(--text-muted)}.toggle.active .toggle__dot{background:var(--accent-success);border-color:transparent}.ticket-list-wrap{display:flex;flex-direction:column}.ticket-list{display:flex;flex-direction:column;gap:12px}.section-label{display:flex;justify-content:space-between;align-items:baseline;padding:18px 0 10px}.section-label__t{font-family:var(--font-body);font-size:12px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:#f5f2ed8c}.section-label__c{font-family:var(--font-body);font-size:12px;color:#f5f2ed66}body.theme-light .section-label__t{color:#1f1b148c}body.theme-light .section-label__c{color:#1f1b1459}.ticket{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid rgba(255,255,255,.06);background:#ffffff0a;border-radius:18px;padding:12px 14px 12px 6px;display:flex;align-items:stretch;gap:14px;width:100%;cursor:pointer;font-family:inherit;color:inherit;text-align:left;position:relative;transition:transform .15s ease,background .15s ease}.ticket:hover:not(:disabled){background:#ffffff0f}body.theme-light .ticket{border-color:#1f1b1414;background:#1f1b1408}.ticket--dimmed{opacity:.55}.stub-wrap{flex-shrink:0;width:78px;display:flex;align-items:center;justify-content:center}.stub{width:78px;height:92px;background:var(--cat, #F2EBDD);color:#1f1b14;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:10px 6px 8px;clip-path:url(#stubClip);-webkit-clip-path:url(#stubClip)}.stub__m{font-family:var(--font-body);font-size:10px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;margin-top:4px;opacity:.75}.stub__d{font-family:var(--font-display);font-size:28px;font-weight:700;letter-spacing:-.04em;line-height:1;margin:2px 0}.stub__w{font-family:var(--font-body);font-size:10px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;opacity:.6}.ticket__info{flex:1;min-width:0;display:flex;flex-direction:column;justify-content:center;gap:6px;padding-right:4px}.ticket__cat-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.ticket__cat{font-family:var(--font-body);font-size:11px;font-weight:600;letter-spacing:.1em;text-transform:uppercase}.ticket__status{font-family:var(--font-body);font-size:10px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;padding:2px 7px;border-radius:99px}.ticket__status--pending{background:#ffd24a29;color:#ffd24a}.ticket__status--accepted{background:#a0e7e529;color:#a0e7e5}.ticket__status--closed{background:#ffffff0f;color:#f5f2ed73}.ticket__t{font-family:var(--font-display);font-weight:500;font-size:16px;letter-spacing:-.02em;line-height:1.2;color:var(--text);word-break:break-word;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}.ticket__meta{font-family:var(--font-body);font-size:12px;color:#f5f2ed99;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}body.theme-light .ticket__meta{color:#1f1b148c}.ticket__price{position:absolute;top:12px;right:14px;font-family:var(--font-display);font-weight:500;font-size:13px;color:var(--text)}.ticket__price-cur{font-family:var(--font-mono);font-size:10px;color:#f5f2ed73;margin-left:2px}body.theme-light .ticket__price-cur{color:#1f1b1480}.status-badge{font-size:10px;font-weight:500;letter-spacing:.04em;padding:2px 7px;border-radius:99px;margin-left:auto}.status-badge--pending{color:var(--accent-pending);background:var(--accent-pending-bg);border:.5px solid var(--accent-pending)}.status-badge--closed{color:var(--text-muted);background:#7878781a;border:.5px solid var(--text-muted)}.status-badge--accepted{color:var(--accent-success);background:var(--accent-success-bg);border:.5px solid var(--accent-success)}.empty{text-align:center;color:var(--text-muted);padding:56px 16px;font-family:var(--font-display);font-style:italic;font-size:18px}.error{color:#ff7b7b;padding:12px;background:#ff404014;border-radius:10px;margin:8px 0;font-size:13px}.detail{margin-top:10px;border-radius:18px;overflow:hidden;background:var(--surface-card);border:.5px solid var(--border-faint)}.detail.dimmed{opacity:.6;filter:saturate(.7)}.detail__body{padding:18px 20px 20px}.detail__cat-pill{display:inline-block;font-family:var(--font-body);font-size:10px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;padding:4px 9px;border-radius:99px;margin-bottom:12px}.detail__title{font-family:var(--font-display);font-size:28px;font-weight:500;line-height:1.05;letter-spacing:-.02em;color:var(--text);margin:0 0 4px}.detail__director{font-family:var(--font-display);font-style:italic;font-size:14px;color:var(--text-muted);margin-bottom:16px;letter-spacing:.01em}.detail__rows{display:flex;flex-direction:column;border-top:.5px solid var(--border-faint)}.detail-row{display:flex;align-items:flex-start;gap:14px;padding:10px 0;border-bottom:.5px solid var(--border-faint)}.detail-row__label{font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);width:64px;flex-shrink:0;padding-top:2px}.detail-row__value{font-size:14px;color:var(--text);line-height:1.4;flex:1}.detail__sticker{border-radius:14px;padding:18px 18px 16px;margin:22px 4px 4px;transform:rotate(-1.5deg);box-shadow:0 12px 28px #00000047;position:relative}.detail__sticker:before{content:"✦";position:absolute;top:10px;right:14px;font-size:16px;opacity:.5}.detail__sticker-text{font-family:var(--font-display);font-style:italic;font-weight:400;font-size:16px;line-height:1.35;letter-spacing:-.005em}.detail__sticker-from{font-family:var(--font-body);font-size:11px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;margin-top:10px;opacity:.6}.detail__cta{padding:14px 16px 18px;border-top:.5px solid var(--border-faint)}.cta-primary{width:100%;height:52px;border-radius:14px;border:0;background:var(--text);color:var(--bg);font-size:16px;font-weight:600;letter-spacing:-.01em;cursor:pointer;font-family:inherit;transition:transform .15s ease,opacity .15s ease}.cta-primary:hover:not(:disabled){opacity:.9;transform:translateY(-1px)}.cta-primary:disabled{opacity:.6;cursor:default}.cta-secondary{width:100%;height:44px;border-radius:14px;border:.5px solid var(--border);background:transparent;color:var(--text);font-size:14px;cursor:pointer;font-family:inherit}.status-banner{padding:12px 16px;border-radius:14px;font-size:13px;line-height:1.4;text-align:center;margin-bottom:10px}.status-banner--pending{background:var(--accent-pending-bg);color:var(--accent-pending);border:.5px solid var(--accent-pending)}.status-banner--accepted{background:var(--accent-success-bg);color:var(--accent-success);border:.5px solid var(--accent-success)}.detail__closed-note{margin-top:18px;text-align:center;font-family:var(--font-display);font-style:italic;font-size:18px;color:var(--text-muted)}.admin{margin-top:22px}.admin__actions{display:grid;grid-template-columns:repeat(2,1fr);gap:6px;margin-bottom:14px}.admin__btn{width:100%;height:36px;padding:0 10px;border-radius:10px;border:.5px solid var(--border);background:var(--surface-chip);color:var(--text);font-size:12px;font-weight:500;cursor:pointer;font-family:inherit;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.admin__btn--danger{color:var(--accent-danger);border-color:#ff5a5a66}.admin__btn:disabled{opacity:.5;cursor:default}.admin__title{font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);margin:14px 0 8px}.applicants{display:flex;flex-direction:column;gap:6px}.applicants.dimmed{opacity:.5}.applicant{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:12px;background:var(--surface-card);border:.5px solid var(--border-faint)}.applicant__avatar{width:32px;height:32px;border-radius:99px;background:var(--surface-chip);display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:600;color:var(--text);flex-shrink:0}.applicant__body{flex:1;min-width:0}.applicant__name{font-size:14px;color:var(--text)}.applicant__handle{font-size:11px;color:var(--text-muted)}.applicant__action{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;cursor:pointer;padding:7px 12px;border-radius:99px;background:var(--text);color:var(--bg);font-size:12px;font-weight:600;font-family:inherit}.accepted-banner{padding:12px 14px;border-radius:12px;background:var(--accent-success-bg);border:.5px solid var(--accent-success);display:flex;align-items:center;gap:10px;margin-bottom:10px;font-size:14px;color:var(--text)}.accepted-banner__dot{width:8px;height:8px;border-radius:99px;background:var(--accent-success);flex-shrink:0}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#08080af0;display:flex;align-items:flex-start;justify-content:center;padding:16px 12px;overflow-y:auto;z-index:100}.modal{background:var(--bg);color:var(--text);border-radius:18px;padding:22px;max-width:460px;width:100%;max-height:90vh;overflow-y:auto;overflow-x:hidden;border:.5px solid var(--border-faint)}.modal__title{font-family:var(--font-display);font-size:22px;font-weight:500;letter-spacing:-.01em;margin-bottom:16px}.modal__actions{display:flex;gap:8px;margin-top:18px}.modal__actions .cta-primary{flex:1;height:44px;font-size:14px}.form-row{display:flex;flex-direction:column;gap:4px;margin-bottom:10px;font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);min-width:0}.form-row input,.form-row textarea,.form-row select{background:var(--surface-cell);color:var(--text);border:.5px solid var(--border-faint);border-radius:10px;padding:10px 12px;font-family:inherit;font-size:16px;font-weight:400;letter-spacing:0;text-transform:none;width:100%;max-width:100%;-moz-appearance:none;appearance:none;-webkit-appearance:none}.form-row textarea{resize:vertical;min-height:80px}.form-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px}.accordion-wrap{display:grid;grid-template-rows:0fr;transition:grid-template-rows .32s cubic-bezier(.2,.8,.2,1)}.accordion-wrap.open{grid-template-rows:1fr}.accordion-inner{overflow:hidden;min-height:0}.accordion-wrap>.accordion-inner>.detail{opacity:0;transform:translateY(-6px);transition:opacity .28s ease .04s,transform .32s cubic-bezier(.2,.8,.2,1)}.accordion-wrap.open>.accordion-inner>.detail{opacity:1;transform:translateY(0)}@media(prefers-reduced-motion:reduce){.accordion-wrap,.accordion-wrap>.accordion-inner>.detail{transition:none}}@keyframes skeleton-shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.ticket--skel{pointer-events:none;-webkit-user-select:none;user-select:none}.stub--skel{background:var(--surface-cell);background-image:linear-gradient(90deg,var(--surface-cell) 0%,var(--surface-chip) 50%,var(--surface-cell) 100%);background-size:200% 100%;animation:skeleton-shimmer 1.6s infinite linear;width:78px;height:92px;clip-path:url(#stubClip);-webkit-clip-path:url(#stubClip)}.skel-line{display:block;height:12px;border-radius:6px;background:var(--surface-cell);background-image:linear-gradient(90deg,var(--surface-cell) 0%,var(--surface-chip) 50%,var(--surface-cell) 100%);background-size:200% 100%;animation:skeleton-shimmer 1.6s infinite linear}@media(prefers-reduced-motion:reduce){.skel-line,.stub--skel{animation:none}}.toast-viewport{position:fixed;left:0;right:0;bottom:calc(86px + env(safe-area-inset-bottom,0px));display:flex;flex-direction:column;align-items:center;gap:8px;padding:0 16px;pointer-events:none;z-index:9000}@keyframes toast-in{0%{opacity:0;transform:translateY(14px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes toast-out{to{opacity:0;transform:translateY(8px) scale(.97)}}.toast{pointer-events:auto;max-width:min(420px,100%);padding:12px 18px;border-radius:14px;background:var(--surface-card);border:1px solid var(--border-faint);color:var(--text);font-size:14px;line-height:1.35;box-shadow:0 12px 32px #00000052;animation:toast-in .22s cubic-bezier(.2,.8,.2,1),toast-out .32s ease 2.7s forwards}.toast--success{border-color:var(--accent-success);box-shadow:0 12px 32px #5dd39e2e,0 0 0 1px var(--accent-success-bg) inset}.toast--error{border-color:var(--accent-danger);box-shadow:0 12px 32px #ff5a5a2e}.toast--info{border-color:var(--border-faint)}.toast--warm{border-color:#ff8e7a66;background:#ff8e7a14;box-shadow:0 12px 32px #ff8e7a2e;color:var(--text)}@media(prefers-reduced-motion:reduce){.toast{animation:none}}
