:root{--bg: var(--tg-theme-bg-color, #ffffff);--secondary-bg: var(--tg-theme-secondary-bg-color, #f3f3f7);--text: var(--tg-theme-text-color, #1a1a1a);--hint: var(--tg-theme-hint-color, #8a8a8e);--link: var(--tg-theme-link-color, #c86b98);--button: var(--tg-theme-button-color, #c86b98);--button-text: var(--tg-theme-button-text-color, #ffffff);--accent: #c86b98;--radius: 16px}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:var(--secondary-bg);color:var(--text)}#root{max-width:560px;margin:0 auto;min-height:100vh;padding-bottom:76px}.app-header{padding:20px 16px 8px}.app-header h1{margin:0;font-size:26px;letter-spacing:-.5px}.app-header p{margin:4px 0 0;color:var(--hint);font-size:14px}.screen{padding:8px 16px 16px}.card{background:var(--bg);border-radius:var(--radius);overflow:hidden;margin-bottom:14px;box-shadow:0 1px 4px #0000000f}.card-tap{cursor:pointer;transition:transform .08s ease}.card-tap:active{transform:scale(.985)}.card-photo{width:100%;height:150px;object-fit:cover;background:linear-gradient(135deg,#e9c3d6,#c86b98);display:flex;align-items:center;justify-content:center;font-size:40px}.card-body{padding:14px 16px}.card-title{font-size:18px;font-weight:600;margin:0 0 6px}.card-meta{color:var(--hint);font-size:14px;line-height:1.5}.tag{display:inline-block;background:var(--secondary-bg);color:var(--hint);font-size:12px;padding:3px 10px;border-radius:10px;margin-right:6px}.row{display:flex;justify-content:space-between;align-items:center;gap:12px}.price{font-weight:600;font-size:15px}.btn{display:block;width:100%;border:none;border-radius:12px;padding:14px;font-size:16px;font-weight:600;background:var(--button);color:var(--button-text);cursor:pointer}.btn:disabled{opacity:.5;cursor:default}.btn-secondary{background:var(--secondary-bg);color:var(--text)}.btn-danger{background:#f3f3f7;color:#d9534f}.badge{display:inline-block;font-size:12px;font-weight:600;padding:4px 10px;border-radius:10px}.badge-confirmed{background:#e3f4e7;color:#2e7d4f}.badge-waitlist{background:#fff3e0;color:#b26a00}.nav{position:fixed;bottom:0;left:0;right:0;max-width:560px;margin:0 auto;display:flex;background:var(--bg);border-top:1px solid rgba(0,0,0,.07)}.nav button{flex:1;border:none;background:none;padding:10px 0 14px;font-size:11px;color:var(--hint);cursor:pointer}.nav button.active{color:var(--accent)}.nav .nav-icon{font-size:22px;display:block;margin-bottom:2px}.back-btn{background:none;border:none;color:var(--link);font-size:16px;padding:12px 16px 4px;cursor:pointer}.event-hero{position:relative;height:100vh;height:100svh;overflow:hidden}.event-hero .back-btn{position:absolute;top:8px;left:8px;z-index:10;color:#fff;background:#00000047;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);border-radius:20px;padding:6px 14px;font-size:15px}.empty{text-align:center;color:var(--hint);padding:48px 24px}.detail-photo{width:100%;height:100%;object-fit:cover;background:linear-gradient(135deg,#e9c3d6,#c86b98);display:flex;align-items:center;justify-content:center;font-size:56px}.detail-body{padding:16px}.detail-body h2{margin:0 0 10px;font-size:22px}.detail-desc{line-height:1.55;margin:14px 0}.info-line{display:flex;gap:10px;padding:8px 0;border-bottom:1px solid var(--secondary-bg);font-size:15px}.info-line .label{color:var(--hint);min-width:90px}.sticky-action{position:sticky;bottom:76px;padding:12px 0 0;background:linear-gradient(transparent,var(--secondary-bg) 30%)}.profile-field{padding:12px 0;border-bottom:1px solid var(--secondary-bg)}.profile-field .label{color:var(--hint);font-size:13px}.profile-field .value{font-size:16px;margin-top:2px}.toast{position:fixed;bottom:90px;left:50%;transform:translate(-50%);background:#000000d1;color:#fff;padding:10px 18px;border-radius:20px;font-size:14px;z-index:50}.subnav{display:flex;gap:8px;margin-bottom:14px}.subnav button{flex:1;border:none;background:var(--bg);color:var(--hint);font-size:15px;font-weight:600;padding:10px;border-radius:12px;cursor:pointer}.subnav button.active{background:var(--accent);color:var(--button-text)}.btn-row{display:flex;gap:8px}.btn-row .btn{flex:1}.btn-sm{padding:10px;font-size:14px}.badge-pending{background:#fff3e0;color:#b26a00}.badge-rejected{background:#fde8e8;color:#c0392b}.badge-muted{background:var(--secondary-bg);color:var(--hint)}.field{display:block;margin-bottom:12px}.field span{display:block;font-size:13px;color:var(--hint);margin-bottom:4px}.field input,.field select,.field textarea{width:100%;border:1px solid rgba(0,0,0,.12);border-radius:10px;padding:10px 12px;font-size:16px;font-family:inherit;background:var(--bg);color:var(--text)}.field textarea{resize:vertical}.form-error{color:#c0392b;font-size:14px;margin-bottom:10px}.filters{display:flex;gap:8px;margin-bottom:14px}.filters input{flex:2}.filters select{flex:1}.filters input,.filters select{border:1px solid rgba(0,0,0,.12);border-radius:10px;padding:10px 12px;font-size:15px;background:var(--bg);color:var(--text);min-width:0}.gallery-wrap{position:relative;height:100%}.gallery{display:flex;height:100%;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;gap:0}.gallery::-webkit-scrollbar{display:none}.gallery-img{flex:0 0 100%;width:100%;height:100%;object-fit:cover;scroll-snap-align:start}.gallery-dots{position:absolute;bottom:10px;left:0;right:0;display:flex;justify-content:center;gap:6px;pointer-events:none}.dot{width:6px;height:6px;border-radius:50%;background:#ffffff80;transition:background .2s}.dot-active{background:#fff}.photo-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:8px}.photo-item{position:relative;border-radius:10px;overflow:hidden;border:2px solid transparent}.photo-item.is-primary{border-color:var(--accent)}.photo-item img{width:100%;height:80px;object-fit:cover;display:block}.photo-cover-badge{position:absolute;top:4px;left:4px;background:var(--accent);color:var(--button-text);font-size:10px;padding:2px 6px;border-radius:8px}.photo-actions{display:flex;justify-content:space-around;background:#00000080}.photo-actions button{border:none;background:none;color:#fff;font-size:14px;padding:4px;cursor:pointer}.photo-actions button:disabled{opacity:.35}
