:root{--bg-color:#0a0a0a;--text-primary:#fff;--text-secondary:#a0a0a0;--gold-primary:#d4af37;--gold-light:gold;--gold-dark:#b8860b;--gold-gradient:linear-gradient(135deg, var(--gold-primary), var(--gold-light));--glass-bg:#ffffff0d;--glass-border:#ffffff1a;--glass-shadow:0 8px 32px 0 #0000005e}*{box-sizing:border-box;margin:0;padding:0}html,body{height:100%;overflow:hidden}body{background-color:var(--bg-color);color:var(--text-primary);font-family:Outfit,Inter,-apple-system,sans-serif;line-height:1.5}#app{flex-direction:column;width:100%;max-width:1200px;height:100dvh;margin:0 auto;padding:2rem;display:flex;overflow:hidden}header{text-align:center;flex-shrink:0;margin-bottom:1.5rem}header h1{background:var(--gold-gradient);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin-bottom:.25rem;font-size:2.5rem}header p{color:var(--text-secondary);font-size:1.1rem}.glass{background:var(--glass-bg);-webkit-backdrop-filter:blur(12px);border:1px solid var(--glass-border);box-shadow:var(--glass-shadow);border-radius:16px}.search-wrapper{flex-shrink:0;margin-bottom:1.5rem;position:relative}#search-input{width:100%;color:var(--text-primary);appearance:none;background:0 0;border:none;outline:none;padding:1rem 3rem 1rem 1rem;font-size:1.25rem}#search-input::placeholder{color:var(--text-secondary)}#search-clear{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;width:44px;height:44px;padding:.25rem;font-size:1.5rem;line-height:1;transition:color .2s;display:none;position:absolute;top:50%;right:1rem;transform:translateY(-50%)}#search-clear:hover{color:var(--text-primary)}#search-clear.visible{display:flex}main{-webkit-overflow-scrolling:touch;flex:1;padding-bottom:1rem;overflow-y:auto}.grid-container{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:1.5rem;display:grid}.tech-card{cursor:pointer;text-align:center;-webkit-tap-highlight-color:#d4af3726;-webkit-user-select:none;user-select:none;padding:1.5rem;transition:transform .15s,box-shadow .15s}.tech-card:hover{transform:translateY(-4px);box-shadow:0 12px 40px #d4af3733}.tech-card:active,.tech-card.tapped{transform:scale(.96);box-shadow:0 4px 20px #d4af374d}.tech-card img{object-fit:cover;border:3px solid var(--gold-primary);border-radius:50%;width:110px;height:110px;margin-bottom:.75rem;margin-left:auto;margin-right:auto;display:block}.tech-card h3{margin-bottom:.25rem;font-size:1.3rem}.tech-card p{color:var(--text-secondary);font-size:.85rem}.tech-avatar{border:3px solid var(--gold-primary);width:110px;height:110px;color:var(--gold-light);background:#d4af371f;border-radius:50%;justify-content:center;align-items:center;margin:0 auto .75rem;font-size:2rem;font-weight:700;display:flex}footer{text-align:center;border-top:1px solid var(--glass-border);flex-shrink:0;padding-top:1rem}#salon-tip-btn{color:var(--gold-primary);cursor:pointer;-webkit-tap-highlight-color:#d4af3726;border:none;border-radius:24px;padding:.75rem 2rem;font-family:inherit;font-size:1rem;transition:background .2s,color .2s}#salon-tip-btn:active{background:#d4af3726}.modal-overlay{-webkit-backdrop-filter:blur(5px);z-index:1000;opacity:0;pointer-events:none;background:#000000bf;justify-content:center;align-items:center;transition:opacity .25s;display:flex;position:fixed;inset:0}.modal-overlay.active{opacity:1;pointer-events:auto}.modal-container{width:90%;max-width:480px;max-height:88dvh;box-shadow:var(--glass-shadow);border:1px solid var(--glass-border);will-change:transform;background:#111;border-radius:20px;flex-direction:column;transition:transform .3s cubic-bezier(.32,.72,0,1);display:flex;position:relative;overflow:hidden;transform:translateY(0)}.modal-container.swipe-dismiss{transform:translateY(100%)}.modal-handle{background:#fff3;border-radius:2px;flex-shrink:0;width:40px;height:4px;margin:10px auto 0}.modal-header{border-bottom:1px solid var(--glass-border);flex-shrink:0;justify-content:space-between;align-items:center;padding:.75rem 1.5rem 1rem;display:flex}.modal-header h2{margin:0;font-size:1.4rem}.close-btn{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;padding:.25rem;font-size:1.8rem;line-height:1;transition:background .2s,color .2s;display:flex}.close-btn:hover{color:var(--text-primary);background:#ffffff14}.modal-tabs{border-bottom:1px solid var(--glass-border);flex-shrink:0;display:flex}.tab-btn{color:var(--text-secondary);cursor:pointer;text-transform:capitalize;-webkit-tap-highlight-color:transparent;background:0 0;border:none;border-bottom:2px solid #0000;flex:1;padding:.9rem;font-family:inherit;font-size:1rem;transition:all .2s}.tab-btn.active{color:var(--gold-light);border-bottom:2px solid var(--gold-light);background:#ffffff0a}.tab-btn:active{background:#ffffff0f}.modal-content{text-align:center;-webkit-overflow-scrolling:touch;flex:1;padding:1.5rem;overflow-y:auto}#qr-container{background:#fff;border-radius:12px;margin-bottom:1.25rem;padding:1rem;display:inline-block}.payment-info{background:var(--glass-bg);border-radius:8px;margin-bottom:1.25rem;padding:.75rem 1rem;font-size:1.1rem}.payment-info p{margin:.25rem 0}.payment-link-btn{background:var(--gold-gradient);color:#000;-webkit-tap-highlight-color:transparent;border-radius:30px;padding:.9rem 2rem;font-family:inherit;font-size:1rem;font-weight:700;text-decoration:none;transition:opacity .15s;display:inline-block}.payment-link-btn:active{opacity:.8}.zelle-instruction{color:var(--text-secondary);margin-top:.5rem;font-size:.95rem;line-height:1.5}.applepay-instruction{text-align:left;padding:.5rem 0}.applepay-phone{color:var(--gold-light);text-align:center;letter-spacing:.05em;background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:12px;margin-bottom:1.5rem;padding:1rem;font-size:2rem;font-weight:700}.applepay-steps{counter-reset:steps;flex-direction:column;gap:.75rem;padding:0;list-style:none;display:flex}.applepay-steps li{counter-increment:steps;color:var(--text-secondary);align-items:flex-start;gap:.75rem;font-size:1rem;line-height:1.4;display:flex}.applepay-steps li:before{content:counter(steps);min-width:26px;height:26px;color:var(--gold-light);background:#d4af3726;border:1px solid #d4af374d;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;margin-top:1px;font-size:.8rem;font-weight:700;display:flex}.applepay-steps li strong{color:var(--text-primary)}.empty-state{text-align:center;color:var(--text-secondary);padding:3rem 1rem;font-size:1.1rem}
