.vending-machine{max-width:1200px;margin:0 auto;padding:40px 20px}.vending-header{text-align:center;margin-bottom:50px}.vending-header h1{background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin-bottom:10px;font-size:48px}.vending-subtitle{color:#666;margin:0;font-size:18px}.vending-shelves{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px;margin-bottom:40px;display:grid}.vending-shelf{cursor:pointer;background:#fff;border:3px solid #e0e0e0;border-radius:16px;padding:25px;transition:all .3s;position:relative;overflow:hidden;box-shadow:0 4px 6px #0000001a}.vending-shelf:hover{border-color:var(--shelf-color,#667eea);transform:translateY(-5px);box-shadow:0 8px 20px #00000026}.vending-shelf.selected{border-color:var(--shelf-color,#667eea);box-shadow:0 0 0 4px var(--shelf-color,#667eea), 0 8px 20px #00000026;transform:translateY(-5px)}.shelf-icon{color:#667eea;margin-bottom:15px;font-size:48px;font-weight:700}.shelf-info h3{color:#333;margin:0 0 5px;font-size:18px}.shelf-info p{color:#666;margin:0;font-size:14px}.shelf-number{color:#e0e0e0;font-size:24px;font-weight:700;position:absolute;top:15px;right:15px}.vending-selection{text-align:center;background:#f8f9fa;border-radius:16px;padding:30px;animation:.3s slideUp}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.vending-selection h2{color:#333;margin:0 0 10px}.vending-selection p{color:#666;margin:0 0 20px}.btn-primary{color:#fff;cursor:pointer;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);border:none;border-radius:50px;padding:15px 40px;font-size:18px;font-weight:700;transition:all .3s}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 6px 20px #667eea66}.diagnostic-form{background:#fff;border-radius:20px;max-width:600px;margin:0 auto;padding:30px 20px;box-shadow:0 10px 30px #0000001a}.diagnostic-form h2{color:#333;margin:0 0 20px}.form-step h3{color:#555;margin:0 0 20px}.problem-list{flex-direction:column;gap:12px;display:flex}.problem-item{cursor:pointer;border:2px solid #e0e0e0;border-radius:12px;align-items:center;gap:15px;padding:15px;transition:all .3s;display:flex}.problem-item:hover{background:#f8f9ff;border-color:#667eea}.problem-icon{color:#667eea;min-width:50px;font-size:14px;font-weight:700}.form-group input,.form-group select,.form-group textarea{border:2px solid #e0e0e0;border-radius:8px;width:100%;padding:12px;font-size:16px;transition:border-color .3s}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:#667eea;outline:none}.checkbox label{cursor:pointer;align-items:center;gap:10px;display:flex}.checkbox input[type=checkbox]{width:auto}.result-card{text-align:center}.probability-circle{border-radius:50%;justify-content:center;align-items:center;width:150px;height:150px;margin:20px auto;display:flex}.probability-circle span{color:#333;background:#fff;border-radius:50%;justify-content:center;align-items:center;width:110px;height:110px;font-size:32px;font-weight:700;display:flex}.result-details{text-align:left;margin:20px 0}.result-details p{color:#555;margin:10px 0}.result-actions{justify-content:center;gap:15px;margin-top:20px;display:flex}.btn-secondary{color:#667eea;cursor:pointer;background:#fff;border:2px solid #667eea;border-radius:50px;padding:15px 30px;font-size:16px;transition:all .3s}.btn-secondary:hover{background:#f8f9ff}.auth-page{max-width:400px;margin:50px auto;padding:20px}.auth-card{background:#fff;border-radius:20px;padding:30px;box-shadow:0 10px 30px #0000001a}.auth-card h2{text-align:center;color:#333;margin:0 0 20px}.auth-error{color:#e74c3c;background:#ffecec;border-radius:8px;margin-bottom:15px;padding:10px;font-size:14px}.form-group input{border:2px solid #e0e0e0;border-radius:8px;width:100%;padding:12px;font-size:16px;transition:border-color .3s}.form-group input:focus{border-color:#667eea;outline:none}.btn-link{color:#667eea;cursor:pointer;text-align:center;background:0 0;border:none;width:100%;margin-top:15px;font-size:14px;display:block}.btn-link:hover{text-decoration:underline}.topup-page{background:#fff;border-radius:20px;max-width:500px;margin:50px auto;padding:30px;box-shadow:0 10px 30px #0000001a}.topup-page h2{color:#333;margin:0 0 20px}.amount-selector{flex-wrap:wrap;gap:10px;margin-bottom:25px;display:flex}.amount-btn{cursor:pointer;background:#fff;border:2px solid #e0e0e0;border-radius:10px;padding:12px 20px;font-size:16px;transition:all .3s}.amount-btn:hover{border-color:#667eea}.amount-btn.selected{background:#f8f9ff;border-color:#667eea;font-weight:700}.topup-error{color:#e74c3c;background:#ffecec;border-radius:8px;margin-bottom:15px;padding:12px;font-size:14px}.legal-page{color:#555;background:#fff;border-radius:16px;max-width:800px;margin:30px auto;padding:30px;font-size:14px;line-height:1.6;box-shadow:0 4px 20px #00000014}.legal-page h1{color:#333;margin:0 0 20px;font-size:24px}.legal-content p{white-space:pre-wrap;margin:0 0 10px}.dashboard{background:#fff;border-radius:16px;max-width:800px;margin:30px auto;padding:30px;box-shadow:0 4px 20px #00000014}.dashboard h1{color:#333;margin:0 0 20px}.dashboard-balance{background:#f8f9ff;border-radius:12px;align-items:center;gap:15px;margin-bottom:30px;padding:20px;font-size:18px;display:flex}.dashboard-balance strong{color:#667eea;font-size:24px}.dashboard-section{margin-bottom:30px}.dashboard-section h2{color:#555;margin:0 0 15px;font-size:18px}.dashboard-table{border-collapse:collapse;width:100%}.dashboard-table th,.dashboard-table td{text-align:left;border-bottom:1px solid #eee;padding:10px}.dashboard-table th{color:#999;font-size:13px}.empty{color:#999;font-size:14px}.diagnostics-list{flex-direction:column;gap:10px;display:flex}.diagnostic-item{background:#f8f9fa;border-radius:8px;justify-content:space-between;padding:10px 15px;display:flex}.dashboard-loading,.dashboard-error{text-align:center;color:#666;padding:40px}.recovery-form{background:#fff;border-radius:16px;max-width:700px;margin:30px auto;padding:30px;box-shadow:0 4px 20px #00000014}.recovery-form h2{color:#333;margin:0 0 10px}.recovery-hint{color:#666;margin:0 0 20px;font-size:14px}.words-grid{grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:20px;display:grid}.word-input{align-items:center;gap:5px;display:flex}.word-input span{color:#999;min-width:25px;font-size:12px}.word-input input{border:2px solid #e0e0e0;border-radius:6px;width:100%;padding:8px;font-size:14px}.word-input input:focus{border-color:#667eea;outline:none}.form-group{margin-bottom:20px}.form-group label{color:#555;margin-bottom:8px;font-size:14px;display:block}.form-group input{border:2px solid #e0e0e0;border-radius:8px;width:100%;padding:12px;font-size:16px}.recovery-error{color:#e74c3c;background:#ffecec;border-radius:8px;margin-bottom:15px;padding:12px;font-size:14px}.recovery-success{background:#e8f8f5;border-radius:12px;margin-top:20px;padding:20px}.recovery-success h3{color:#27ae60;margin:0 0 10px}.found-phrase{color:#333;word-break:break-all;font-size:18px;font-weight:700}.recovery-fail{background:#fef5e7;border-radius:12px;margin-top:20px;padding:20px}.recovery-fail h3{color:#e67e22;margin:0 0 10px}.payment-status{text-align:center;background:#fff;border-radius:20px;max-width:500px;margin:80px auto;padding:40px;box-shadow:0 10px 30px #00000014}.status-success h2{color:#27ae60;margin:0 0 15px}.status-fail h2{color:#e74c3c;margin:0 0 15px}.status-unknown h2{color:#e67e22;margin:0 0 15px}.payment-status p{color:#666;margin:0 0 25px;font-size:16px}.simulator{color:#c9d1d9;background:#0d1117;border-radius:16px;max-width:750px;margin:30px auto;padding:30px;box-shadow:0 0 40px #667eea4d}.simulator h1{color:#58a6ff;text-align:center;margin:0 0 10px;font-size:28px}.hint{color:#8b949e;text-align:center;margin:0 0 20px;font-size:14px}.btn-back{color:#58a6ff;cursor:pointer;background:0 0;border:none;margin-bottom:15px;padding:0;font-size:14px}.btn-back:hover{text-decoration:underline}.btn-topup-inline{color:#fff;cursor:pointer;background:#58a6ff;border:none;border-radius:10px;width:100%;margin-bottom:15px;padding:14px;font-size:16px;font-weight:700;display:block}.btn-topup-inline:hover{background:#79b8ff}.sim-error{color:#f85149;text-align:center;background:#f8514926;border-radius:8px;margin-bottom:15px;padding:12px;font-size:14px}.terminal{background:#010409;border:1px solid #30363d;border-radius:12px;margin-bottom:20px;overflow:hidden}.terminal-header{background:#161b22;border-bottom:1px solid #30363d;align-items:center;gap:8px;padding:10px 15px;display:flex}.dot{border-radius:50%;width:12px;height:12px}.dot.red{background:#ff5f56}.dot.yellow{background:#ffbd2e}.dot.green{background:#27c93f}.terminal-title{color:#8b949e;margin-left:10px;font-size:13px}.terminal-body{min-height:300px;padding:20px;font-family:Courier New,monospace;font-size:14px;line-height:1.6}.terminal-line{color:#3fb950}.terminal-cursor{color:#58a6ff;animation:1s infinite blink}@keyframes blink{0%,to{opacity:1}50%{opacity:.3}}.final-phrase{color:#58a6ff;word-break:break-all;background:#58a6ff1a;border-left:3px solid #58a6ff;margin-top:15px;padding:10px;font-weight:700}.btn-run{color:#fff;cursor:pointer;letter-spacing:2px;background:linear-gradient(135deg,#238636,#2ea043);border:none;border-radius:12px;width:100%;padding:18px;font-size:20px;font-weight:700;transition:all .3s;display:block}.btn-run:hover{background:linear-gradient(135deg,#2ea043,#3fb950);transform:translateY(-2px);box-shadow:0 0 30px #2ea04366}.btn-run:active{transform:translateY(0)}.native-shell{background:#0a0a0a;flex-direction:column;min-height:100vh;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;display:flex}.native-header{z-index:1000;background:linear-gradient(135deg,#1a1a2e 0%,#16213e 100%);border-bottom:1px solid #ffffff1a;justify-content:space-between;align-items:center;height:56px;padding:0 16px;display:flex;position:sticky;top:0;box-shadow:0 2px 8px #0000004d}.header-logo{align-items:center;gap:8px;display:flex}.logo-icon{font-size:24px;animation:2s infinite pulse}@keyframes pulse{0%,to{opacity:1}50%{opacity:.7}}.logo-text{color:#fff;letter-spacing:.5px;text-shadow:0 2px 4px #0000004d;font-size:20px;font-weight:700}.header-status{background:#ffffff1a;border-radius:20px;align-items:center;gap:6px;padding:6px 12px;display:flex}.status-dot{background:#4caf50;border-radius:50%;width:8px;height:8px;animation:1.5s infinite blink}.status-text{color:#ccc;font-size:12px;font-weight:500}.native-content{background:#0a0a0a;flex:1;padding-bottom:70px;overflow-y:auto}.bottom-nav{z-index:1000;height:64px;padding-bottom:env(safe-area-inset-bottom,0);background:#1a1a2e;border-top:1px solid #ffffff1a;justify-content:space-around;align-items:center;display:flex;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -2px 10px #0000004d}.nav-item{cursor:pointer;background:0 0;border:none;flex-direction:column;align-items:center;gap:4px;min-width:60px;padding:8px 12px;transition:all .3s;display:flex;position:relative}.nav-icon{font-size:24px;transition:transform .3s}.nav-label{color:#888;font-size:11px;font-weight:500;transition:color .3s}.nav-item:hover .nav-icon,.nav-item.active .nav-icon{transform:scale(1.1)}.nav-item.active .nav-label{color:#4caf50}.nav-item.active:before{content:"";background:#4caf50;border-radius:0 0 2px 2px;width:24px;height:2px;position:absolute;top:0;left:50%;transform:translate(-50%)}.nav-item:active{opacity:.7}.offline-screen{text-align:center;background:#0a0a0a;flex-direction:column;justify-content:center;align-items:center;min-height:100vh;padding:20px;display:flex}.offline-icon{margin-bottom:24px;font-size:64px;animation:3s ease-in-out infinite float}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.offline-screen h2{color:#fff;margin-bottom:12px;font-size:24px}.offline-screen p{color:#888;max-width:300px;margin-bottom:24px;font-size:16px;line-height:1.5}.offline-btn{color:#fff;cursor:pointer;background:#4caf50;border:none;border-radius:8px;padding:12px 24px;font-size:16px;font-weight:600;transition:all .3s;box-shadow:0 4px 12px #4caf504d}.offline-btn:hover{background:#45a049;transform:translateY(-2px);box-shadow:0 6px 16px #4caf5066}.offline-btn:active{transform:translateY(0)}@media (width>=768px){.native-shell{max-width:480px;margin:0 auto;box-shadow:0 0 20px #00000080}.bottom-nav{max-width:480px;left:50%;transform:translate(-50%)}}.app-footer-native{background:#0a0a0a;border-top:1px solid #ffffff0d;flex-wrap:wrap;justify-content:center;gap:8px;padding:16px;display:flex}.app-footer-native span{color:#666;cursor:pointer;border-radius:4px;padding:4px 8px;font-size:11px;transition:color .3s}.app-footer-native span:hover{color:#999;background:#ffffff0d}.app-footer-native span:active{color:#4caf50}*{box-sizing:border-box;margin:0;padding:0}body{background:linear-gradient(#f0f4ff 0%,#e8eeff 100%);min-height:100vh;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif}.app{min-height:100vh}.app-header{justify-content:flex-end;align-items:center;padding:15px 30px;display:flex}.user-info{color:#555;flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;font-size:14px;display:flex}.btn-topup{color:#fff;cursor:pointer;background:#27ae60;border:none;border-radius:20px;padding:5px 15px;font-size:12px;font-weight:700}.btn-topup:hover{background:#219a52}.btn-dashboard{color:#333;cursor:pointer;background:#f0f0f0;border:none;border-radius:20px;padding:5px 15px;font-size:12px}.btn-dashboard:hover{background:#e0e0e0}.btn-logout{cursor:pointer;color:#e74c3c;background:0 0;border:1px solid #e0e0e0;border-radius:20px;padding:5px 15px;font-size:12px}.btn-logout:hover{background:#ffecec;border-color:#e74c3c}.app-footer{text-align:center;border-top:1px solid #e0e0e0;flex-wrap:wrap;justify-content:center;gap:15px;margin-top:40px;padding:20px;display:flex}.footer-link{color:#999;cursor:pointer;font-size:12px;transition:color .2s}.footer-link:hover{color:#667eea;text-decoration:underline}@media (width<=600px){.btn-topup,.btn-dashboard,.btn-logout{padding:6px 10px;font-size:10px}.user-info{gap:5px}}
