:root{font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.5;font-weight:400;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:var(--tg-theme-text-color, #1c1c1e);background-color:var(--tg-theme-bg-color, #f6f7fb)}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:var(--tg-theme-bg-color, #f6f7fb)}#root{min-height:100vh}.app{min-height:100vh;background:var(--tg-theme-bg-color, #f6f7fb);color:var(--tg-theme-text-color, #1c1c1e);padding:24px 16px 48px}.topbar{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px}.brand{display:flex;align-items:center;gap:12px}.brand-icon{width:40px;height:40px;border-radius:12px;padding:4px;object-fit:contain;background:#fff;box-shadow:0 6px 16px #00000014}.title{font-size:20px;font-weight:700}.subtitle{font-size:13px;color:var(--tg-theme-hint-color, #6b7280)}.user-chip{background:var(--tg-theme-secondary-bg-color, #ffffff);padding:6px 12px;border-radius:999px;font-size:12px;color:var(--tg-theme-text-color, #1c1c1e);box-shadow:0 4px 16px #00000014}.info{display:flex;flex-direction:column;gap:8px}.notice{background:#ffb3001f;color:#7a5200;border-radius:12px;padding:10px 12px;font-size:13px}.notice.error{background:#ff636329;color:#b42318}.tabs{display:flex;gap:8px;margin:20px 0 16px;flex-wrap:wrap}.tab{border:1px solid transparent;background:var(--tg-theme-secondary-bg-color, #ffffff);color:var(--tg-theme-text-color, #1c1c1e);padding:8px 14px;border-radius:999px;font-size:13px;font-weight:600;cursor:pointer;transition:all .2s ease}.tab.active{border-color:#0000001a;box-shadow:0 4px 12px #00000014}.tab-refresh{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;border:1px solid rgba(0,0,0,.08);background:var(--tg-theme-secondary-bg-color, #ffffff);color:var(--tg-theme-hint-color, #888);cursor:pointer;transition:all .2s ease;flex-shrink:0;margin-left:auto;padding:0}.tab-refresh:hover{color:var(--tg-theme-text-color, #333);border-color:#00000026}.tab-refresh:disabled{opacity:.5;cursor:default}.tab-refresh .spin{animation:spin .8s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.content{display:flex;flex-direction:column;gap:16px}.card-grid{display:grid;gap:16px}.card{background:var(--tg-theme-secondary-bg-color, #ffffff);border-radius:16px;padding:16px;box-shadow:0 10px 24px #00000014;display:flex;flex-direction:column;gap:10px}.card-header{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.card-title{font-size:16px;font-weight:700}.card-subtitle{font-size:12px;color:var(--tg-theme-hint-color, #6b7280)}.price{font-size:13px;font-weight:600;color:#dc007d}.card-text{font-size:13px;color:var(--tg-theme-text-color, #1c1c1e)}.card-compact{padding:12px 16px}.card-compact .card-header{margin-bottom:8px}.card-location{font-size:12px;color:var(--tg-theme-hint-color, #6b7280)}.card-row{display:flex;justify-content:space-between;font-size:13px}.primary,.secondary{border:none;border-radius:12px;padding:10px 14px;font-size:13px;font-weight:600;cursor:pointer}.primary{background:#dc007d;color:#fff}.secondary{background:#dc007d1f;color:#dc007d}.badge{padding:4px 8px;border-radius:999px;font-size:11px;font-weight:600;background:#0000000f;color:#333}.badge.success{background:#34c75929;color:#1f7a3a}.badge.pending{background:#ff950029;color:#8a4b00}.badge.muted{background:#78788029;color:#5c5c66}.empty-state{text-align:center;font-size:13px;color:var(--tg-theme-hint-color, #6b7280);padding:24px}.detail-screen{display:flex;flex-direction:column;gap:14px}.back-btn{background:none;border:none;color:var(--tg-theme-link-color, #dc007d);font-size:14px;font-weight:600;cursor:pointer;padding:4px 0;align-self:flex-start}.event-banner{width:100%;border-radius:14px;max-height:200px;object-fit:cover}.detail-title{font-size:20px;font-weight:700;margin:0}.detail-meta{display:flex;flex-direction:column;gap:4px;font-size:13px}.meta-row{display:flex;gap:6px;align-items:center}.meta-row-sub{font-size:12px;color:var(--tg-theme-hint-color, #6b7280);margin-left:22px}.price-block{background:var(--tg-theme-secondary-bg-color, #ffffff);padding:12px 16px;border-radius:14px;display:flex;flex-wrap:wrap;align-items:baseline;gap:8px}.price-current{font-size:22px;font-weight:700;color:#dc007d}.price-old{font-size:14px;text-decoration:line-through;color:var(--tg-theme-hint-color, #999)}.price-note{font-size:12px;color:#34c759;width:100%}.deadline-notice{font-size:13px;padding:8px 12px;border-radius:10px;background:#ff95001f;color:#8a4b00}.detail-description{font-size:14px;line-height:1.6}.detail-description img{max-width:100%;border-radius:10px}.full-width{width:100%;text-align:center}.status-block{display:flex;justify-content:space-between;align-items:center;padding:10px 0}.reg-amount{font-size:18px;font-weight:700;color:#dc007d}.remaining-notice{font-size:13px;padding:8px 12px;border-radius:10px;background:#ff63631f;color:#b42318}.proofs-section{display:flex;flex-direction:column;gap:6px}.proofs-section h3{font-size:14px;font-weight:600;margin:0}.proof-row{display:flex;align-items:center;gap:8px;font-size:13px;padding:6px 0;border-bottom:1px solid rgba(0,0,0,.05)}.proof-date{color:var(--tg-theme-hint-color, #999);font-size:11px;margin-left:auto}.action-buttons{display:flex;flex-direction:column;gap:10px;margin-top:8px}.registration-form{animation:slideIn .25s ease}@keyframes slideIn{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}.registration-form .detail-title{font-size:18px;margin-bottom:4px}.progress-bar{display:flex;gap:4px;margin:16px 0;overflow-x:auto;padding-bottom:4px}.progress-step{display:flex;flex-direction:column;align-items:center;flex:1;min-width:48px;position:relative}.progress-dot{width:10px;height:10px;border-radius:50%;background:var(--tg-theme-hint-color, #ccc);margin-bottom:4px;transition:all .2s}.progress-step.active .progress-dot{background:var(--tg-theme-button-color, #dc007d)}.progress-step.current .progress-dot{box-shadow:0 0 0 3px #7c3aed4d;transform:scale(1.2)}.progress-step span{font-size:10px;color:var(--tg-theme-hint-color, #999);text-align:center}.progress-step.active span{color:var(--tg-theme-text-color, #333);font-weight:600}.reg-step{background:var(--tg-theme-secondary-bg-color, #fff);border-radius:14px;padding:16px;margin-bottom:12px}.reg-step h3{font-size:16px;margin:0 0 12px}.type-grid{display:flex;flex-direction:column;gap:8px}.type-card{display:block;width:100%;text-align:left;padding:14px 16px;border-radius:12px;border:2px solid var(--tg-theme-hint-color, #ddd);background:transparent;color:var(--tg-theme-text-color, #333);cursor:pointer;transition:all .15s}.type-card.selected{border-color:var(--tg-theme-button-color, #dc007d);background:#7c3aed0f}.type-label{font-size:15px;font-weight:600}.type-desc{font-size:12px;color:var(--tg-theme-hint-color, #888);margin-top:2px}.count-picker{display:flex;gap:8px;justify-content:center;margin-bottom:12px}.count-btn{width:48px;height:48px;border-radius:12px;border:2px solid var(--tg-theme-hint-color, #ddd);background:transparent;color:var(--tg-theme-text-color, #333);font-size:18px;font-weight:700;cursor:pointer;transition:all .15s}.count-btn.selected{border-color:var(--tg-theme-button-color, #dc007d);background:var(--tg-theme-button-color, #dc007d);color:var(--tg-theme-button-text-color, #fff)}.count-hint{font-size:13px;text-align:center;color:var(--tg-theme-hint-color, #888)}.participant-block{margin-bottom:14px;padding-bottom:14px;border-bottom:1px solid var(--tg-theme-hint-color, #eee)}.participant-block:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.participant-label{font-size:13px;font-weight:600;margin-bottom:8px;color:var(--tg-theme-hint-color, #888)}.form-field{margin-bottom:14px}.form-field label{display:block;font-size:13px;font-weight:600;margin-bottom:6px;color:var(--tg-theme-text-color, #555)}.form-field input,.form-field select,.form-field textarea,.participant-block input{width:100%;padding:10px 12px;border-radius:10px;border:1.5px solid var(--tg-theme-hint-color, #ddd);background:var(--tg-theme-bg-color, #f6f7fb);color:var(--tg-theme-text-color, #333);font-size:15px;font-family:inherit;box-sizing:border-box;margin-top:4px;outline:none;transition:border-color .15s}.form-field input:focus,.form-field select:focus,.form-field textarea:focus,.participant-block input:focus{border-color:var(--tg-theme-button-color, #dc007d)}.package-grid{display:flex;flex-direction:column;gap:10px}.package-card{display:block;width:100%;text-align:left;padding:14px 16px;border-radius:12px;border:2px solid var(--tg-theme-hint-color, #ddd);background:transparent;color:var(--tg-theme-text-color, #333);cursor:pointer;transition:all .15s}.package-card.selected{border-color:var(--tg-theme-button-color, #dc007d);background:#7c3aed0f}.package-name{font-size:15px;font-weight:700}.package-price{font-size:14px;color:var(--tg-theme-button-color, #dc007d);font-weight:600;margin-top:2px}.package-desc{font-size:12px;color:var(--tg-theme-hint-color, #888);margin-top:4px}.package-includes{list-style:none;padding:0;margin:6px 0 0;font-size:12px;color:var(--tg-theme-hint-color, #777)}.package-includes li{padding:2px 0}.addon-card{padding:14px 0;border-bottom:1px solid var(--tg-theme-hint-color, #eee)}.addon-card:last-child{border-bottom:none}.addon-name{font-size:15px;font-weight:600;margin-bottom:4px}.addon-desc{font-size:13px;color:var(--tg-theme-hint-color, #888);margin-bottom:10px;line-height:1.4}.addon-bottom{display:flex;align-items:center;justify-content:space-between;margin-top:8px}.addon-price{font-size:15px;font-weight:600;color:var(--tg-theme-button-color, #dc007d);white-space:nowrap}.addon-qty{display:flex;align-items:center;gap:16px}.addon-qty button{width:36px;height:36px;border-radius:50%;border:1.5px solid var(--tg-theme-hint-color, #ddd);background:transparent;color:var(--tg-theme-text-color, #333);font-size:18px;cursor:pointer;display:flex;align-items:center;justify-content:center}.addon-qty span{font-size:18px;font-weight:700;min-width:20px;text-align:center}.addon-card select{width:100%;padding:8px 12px;border-radius:10px;border:1.5px solid var(--tg-theme-hint-color, #ddd);background:var(--tg-theme-bg-color, #f6f7fb);color:var(--tg-theme-text-color, #333);font-size:14px;font-family:inherit}.confirm-section{margin-bottom:14px;padding-bottom:14px;border-bottom:1px solid var(--tg-theme-hint-color, #eee)}.confirm-section:last-of-type{border-bottom:none}.confirm-subtitle{font-size:13px;font-weight:700;margin-bottom:8px;color:var(--tg-theme-hint-color, #888);text-transform:uppercase;letter-spacing:.5px}.confirm-row{display:flex;justify-content:space-between;padding:4px 0;font-size:14px}.confirm-row span{color:var(--tg-theme-hint-color, #888)}.confirm-row.total{font-size:17px;padding:8px 0 0;margin-top:4px;border-top:2px solid var(--tg-theme-button-color, #dc007d)}.confirm-row.total span,.confirm-row.total strong{color:var(--tg-theme-button-color, #dc007d)}.confirm-total{margin-top:12px}.payment-section{margin-top:14px}.payment-grid{display:flex;gap:8px}.payment-btn{flex:1;padding:10px;border-radius:10px;border:2px solid var(--tg-theme-hint-color, #ddd);background:transparent;color:var(--tg-theme-text-color, #333);font-size:13px;cursor:pointer;transition:all .15s}.payment-btn.selected{border-color:var(--tg-theme-button-color, #dc007d);background:#7c3aed0f}.step-actions{margin-top:16px}.notice.error{background:#fee;color:#c00;padding:10px 14px;border-radius:10px;font-size:13px;margin-bottom:12px}.event-filter{display:flex;align-items:center;gap:8px;margin-bottom:12px}.filter-btn{padding:8px 12px;border:1px solid var(--border);border-radius:10px;background:var(--bg);color:var(--text);font-size:14px;font-weight:500;cursor:pointer;transition:all .15s}.filter-label{font-size:15px;font-weight:600;color:var(--tg-theme-text-color, #333)}.archive-link{display:block;width:100%;text-align:center;padding:12px;margin-top:8px;background:none;border:1px dashed var(--tg-theme-hint-color, #ccc);border-radius:12px;color:var(--tg-theme-hint-color, #888);font-size:14px;cursor:pointer;transition:all .15s}.archive-link:hover{color:var(--tg-theme-text-color, #333);border-color:var(--tg-theme-text-color, #999)}.sub-btn{background:none;border:none;font-size:18px;cursor:pointer;padding:2px 6px;margin-right:6px;border-radius:6px;transition:background .15s}.sub-btn:hover{background:#0000000d}.action-buttons{display:flex;flex-direction:column;gap:10px;margin-top:16px}button.full-width{width:100%}button.danger{background:#e53e3e;color:#fff;border:none;border-radius:12px;padding:12px 16px;font-size:15px;font-weight:600;cursor:pointer}button.danger:disabled{opacity:.5;cursor:not-allowed}.link-btn{background:none;border:none;color:var(--primary);cursor:pointer;font-size:16px;padding:4px 8px;border-radius:6px;transition:background .15s}.link-btn:hover{background:#0000000d}.proofs-section h3{font-size:14px;font-weight:600;margin-bottom:8px;color:var(--text)}.remaining-notice{background:#fff3cd;color:#856404;padding:10px 14px;border-radius:10px;font-size:13px;margin:8px 0}.materials-list{display:flex;flex-direction:column;gap:10px}.material-card{display:flex;align-items:center;justify-content:space-between;background:var(--bg);border:1px solid var(--border);border-radius:12px;padding:12px 14px}.material-info{display:flex;align-items:center;gap:8px;flex:1;min-width:0}.material-icon{font-size:20px;flex-shrink:0}.material-title{font-size:14px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.my-sub-card{background:linear-gradient(135deg,#fce4f0,#f8c8df);color:#6b0038;border-radius:14px;padding:16px;margin-bottom:16px}.my-sub-card h3{font-size:15px;font-weight:700;margin-bottom:10px;color:#dc007d}.sub-packages h3{font-size:15px;font-weight:600;margin-bottom:12px}.sub-card{background:var(--bg);border:1px solid var(--border);border-radius:14px;padding:16px;margin-bottom:12px}.sub-card-header{display:flex;align-items:center;gap:8px;margin-bottom:8px}.sub-emoji{font-size:24px}.sub-name{font-size:16px;font-weight:700}.sub-card-body{margin-bottom:12px}.sub-price{font-size:18px;font-weight:700;color:var(--primary)}.sub-duration{font-size:13px;color:#999;margin-top:2px}.sub-discount{display:inline-block;background:#d4edda;color:#155724;padding:2px 8px;border-radius:8px;font-size:12px;font-weight:600;margin-top:6px}.sub-benefits{font-size:13px;color:#666;margin-top:8px;line-height:1.4}.addons-list{display:flex;flex-direction:column;gap:10px}.addons-list .addon-card{display:flex;align-items:center;justify-content:space-between;background:var(--bg);border:1px solid var(--border);border-radius:12px;padding:12px 14px;gap:12px}.addon-info{flex:1;min-width:0}.addon-info strong{display:block;font-size:14px;margin-bottom:2px}.addon-info p{font-size:12px;color:#888;margin:0 0 4px}.addons-list .addon-price{font-size:14px;font-weight:600;color:var(--primary)}.quantity-row{display:flex;align-items:center;gap:8px;flex-shrink:0}.qty-btn{width:32px;height:32px;border-radius:50%;border:1px solid var(--border);background:var(--bg);font-size:18px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .15s}.qty-btn:hover{background:var(--primary);color:#fff;border-color:var(--primary)}.qty-value{min-width:24px;text-align:center;font-size:16px;font-weight:600}.addon-total{margin-top:16px;padding-top:12px;border-top:1px solid var(--border);text-align:center}.addon-total strong{display:block;font-size:18px;margin-bottom:12px}
