*{margin:0;padding:0;box-sizing:border-box}
body{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);min-height:100vh;color:#333;padding:20px}
.container{max-width:600px;margin:0 auto}
header{text-align:center;color:#fff;margin-bottom:30px}
header h1{font-size:2em}
.subtitle{opacity:.9;margin-top:5px}
.card{background:#fff;border-radius:16px;padding:30px;box-shadow:0 20px 60px rgba(0,0,0,.15)}
.step{display:none}
.step.active{display:block;animation:fadeIn .3s ease}
@keyframes fadeIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
.step h2{font-size:1.2em;margin-bottom:20px;color:#555}
.search-box input{width:100%;padding:12px;border:2px solid #e0e0e0;border-radius:10px;font-size:1em;margin-bottom:15px}
.grid-list{display:grid;grid-template-columns:1fr 1fr;gap:10px;max-height:400px;overflow-y:auto}
.grid-list .item,.list .item{padding:12px;border:2px solid #e0e0e0;border-radius:10px;cursor:pointer;text-align:center;transition:all .2s}
.grid-list .item:hover,.list .item:hover{border-color:#667eea;background:#f0f2ff}
.list .item{display:flex;justify-content:space-between}
.list .item .price{font-weight:600;color:#667eea}
.list .item .name{flex:1;text-align:left}
.loading{grid-column:1/-1;text-align:center;color:#999;padding:30px}
.btn-primary,.btn-back{padding:12px 24px;border:none;border-radius:10px;font-size:1em;cursor:pointer;margin-top:15px;width:100%}
.btn-primary{background:#667eea;color:#fff}
.btn-back{background:#f0f0f0;color:#666}
.form-group{margin-bottom:20px}
.form-group label{display:block;margin-bottom:8px;font-weight:500}
.form-group input[type="tel"]{width:100%;padding:12px;border:2px solid #e0e0e0;border-radius:10px;font-size:1.1em}
.amount-options{display:flex;flex-wrap:wrap;gap:10px}
.amount-btn{padding:10px 20px;border:2px solid #e0e0e0;border-radius:10px;cursor:pointer;background:#fff}
.amount-btn:hover{border-color:#667eea}
.amount-btn.selected{border-color:#667eea;background:#e8ecff;font-weight:600}
.price-summary{background:#f8f9ff;border-radius:10px;padding:15px;margin:15px 0}
.overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.5);display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:1000}
.overlay p{color:#fff;margin-top:15px}
.spinner{width:50px;height:50px;border:4px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
.result-success{color:#28a745;text-align:center;padding:20px}
.result-error{color:#dc3545;text-align:center;padding:20px}
.result-info{text-align:center;padding:10px}
.result-info p{margin:8px 0}
