*{margin:0;padding:0;box-sizing:border-box}body{font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;background:#f5f5f5;color:#333;line-height:1.6}a{text-decoration:none;color:inherit}.app-header{background:#2c3e50;color:#fff;padding:12px 20px;display:flex;justify-content:space-between;align-items:center;box-shadow:0 2px 8px #0000001a;border-radius:10px;margin-bottom:20px}.header-content{max-width:1200px;margin:0 auto;display:flex;justify-content:space-between;align-items:center;width:100%}.header-left{display:flex;align-items:center;gap:8px}.header-left h1{font-size:1.2em;font-weight:600;margin:0;flex-wrap:wrap}.header-right{display:flex;align-items:center;gap:12px}.user-info{text-align:right;margin-right:12px}.app-header .user-name{font-weight:700;font-size:1em}.app-header .user-quota{font-size:.9em;opacity:.9}.btn-buy{background:#27ae60;color:#fff;border:none;padding:6px 12px;border-radius:4px;font-size:.9em;cursor:pointer;transition:background .2s}.btn-buy:hover{background:#219653}.btn-secondary{background:#3498db;color:#fff;border:none;padding:6px 12px;border-radius:4px;font-size:.9em;cursor:pointer;transition:background .2s}.btn-secondary:hover{background:#2980b9}.btn-logout{background:#e74c3c;color:#fff;border:none;padding:6px 12px;border-radius:4px;font-size:.9em;cursor:pointer;transition:background .2s}.btn-logout:hover{background:#c0392b}.container{max-width:1200px;margin:20px auto;padding:0 20px}.map-container{position:relative;margin-bottom:20px;border-radius:8px;overflow:hidden;box-shadow:0 2px 8px #0000001a}#map{height:600px;width:100%;border:none}.map-info{position:absolute;bottom:10px;left:10px;background:#fff;padding:10px;border-radius:6px;box-shadow:0 1px 4px #0003;z-index:1000;max-width:300px}.map-info.collapsed .map-info-content{display:none}.map-info-header{display:flex;justify-content:space-between;align-items:center;margin-left:0;margin-bottom:0;gap:10px}.map-info-toggle{background:#f0f0f0;border:1px solid #ccc;width:24px;height:24px;border-radius:4px;cursor:pointer;font-size:12px;display:flex;align-items:center;justify-content:center}.controls{background:#fff;padding:20px;border-radius:8px;box-shadow:0 1px 4px #0000001a;margin-bottom:20px}.form-group{margin-bottom:16px}label{display:block;margin-bottom:6px;font-weight:700}input[type=number],select{width:100%;padding:8px;border:1px solid #ccc;border-radius:4px;font-size:1em}.input-hint{font-size:.9em;color:#666;margin-top:4px}.coordinates-input-container{display:flex;gap:8px}.coordinates-input-container input{flex:1}.btn-apply{padding:8px 16px;background:#3498db;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:1em}.btn-apply:hover{background:#2980b9}.btn-primary{background:#3498db;color:#fff;border:none;padding:10px 20px;border-radius:4px;cursor:pointer;font-size:1.1em;width:100%;margin-top:10px}.btn-primary:disabled{background:#bdc3c7;cursor:not-allowed}.result-box{background:#fff;padding:20px;border-radius:8px;box-shadow:0 1px 4px #0000001a;margin-bottom:20px}.success{text-align:center;padding:40px 20px;background:#f8fff8;border:1px solid #c8e6c9;border-radius:8px;margin:20px 0}.success-icon{font-size:2em;color:#4caf50;background:#c8e6c9;width:60px;height:60px;display:flex;align-items:center;justify-content:center;border-radius:8px;margin:0 auto 20px}.success-title{color:#4caf50;font-size:1.5em;margin:10px 0}.success-subtitle{color:#666;font-size:.95em;margin:10px 0}.download-section{margin-top:20px;padding:20px;background:#f5f5f5;border-radius:8px}.download-header{font-weight:700;margin-bottom:10px}.download-links .download-button{display:block;width:100%;padding:12px;background:#2196f3;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:1em;margin:8px 0;text-align:left}.download-links .download-button:hover{background:#1976d2}.action-buttons{margin-top:20px;text-align:center}.btn-create-new{padding:12px 24px;background:#4caf50;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:1em;width:100%;max-width:300px;margin:0 auto}.btn-create-new:hover{background:#388e3c}.profile-page{background:#fff;padding:20px;border-radius:8px;box-shadow:0 1px 4px #0000001a}.history-section{margin-top:20px}.history-item{background:#fff;border:1px solid #eee;padding:16px;margin:12px 0;border-radius:8px;box-shadow:0 1px 4px #0000000d;display:flex;justify-content:space-between;align-items:center}.history-status{display:flex;align-items:center;gap:8px;font-weight:700}.history-status.completed{color:#2e7d32}.history-status.failed{color:#c62828}.history-details{flex:1;margin-left:16px}.history-date{font-size:.9em;color:#666}.history-action{margin-left:16px}.history-action a{padding:6px 12px;background:#3498db;color:#fff;border-radius:4px;font-size:.9em}.history-action a:hover{background:#2980b9}.progress-bar-large{height:10px;background:#ecf0f1;border-radius:5px;overflow:hidden;margin:10px 0}.progress-fill-large{height:100%;background:#3498db;width:0%;transition:width .3s}.status-text{font-size:.9em;margin:10px 0}.hidden{display:none!important}.loading{color:#777;text-align:center;padding:20px}.error{color:#e74c3c;text-align:center;padding:20px}.login-page{display:flex;justify-content:center;align-items:center;min-height:100vh;background:#f5f5f5}.login-box{background:#fff;padding:30px;border-radius:8px;box-shadow:0 4px 12px #0000001a;text-align:center;max-width:400px;width:100%}.login-header h1{margin:0 0 10px;font-size:1.5em;color:#333}.login-header p{color:#666;margin:0 0 20px;font-size:.95em}.btn-primary{background:#3498db;color:#fff;border:none;padding:12px 24px;border-radius:4px;cursor:pointer;font-size:1em;width:100%;margin-bottom:16px}.btn-primary:hover{background:#2980b9}.login-footer{text-align:center;margin-top:16px}.link{color:#3498db;text-decoration:underline;cursor:pointer}.link:hover{color:#2980b9}.auth-page{display:flex;justify-content:center;align-items:center;min-height:100vh;background:linear-gradient(135deg,#f5f7fa,#e4edf9);padding:20px}.auth-container{background:#fff;padding:40px;border-radius:16px;box-shadow:0 10px 30px #0000001a;text-align:center;max-width:420px;width:100%}.auth-logo{font-size:2.5em;margin-bottom:16px}.auth-title{font-size:1.8em;font-weight:700;color:#2c3e50;margin:0 0 8px}.auth-subtitle{color:#7f8c8d;margin:0 0 24px;font-size:1em}.auth-actions{display:flex;flex-direction:column;gap:12px;margin-bottom:20px}.btn-auth{display:block;width:100%;padding:12px;border-radius:8px;font-size:1.1em;font-weight:600;text-align:center;cursor:pointer;transition:all .2s ease}.btn-primary{background:#3498db;color:#fff;border:2px solid #3498db}.btn-primary:hover{background:#2980b9;border-color:#2980b9}.btn-outline{background:transparent;color:#3498db;border:2px solid #3498db}.btn-outline:hover{background:#3498db0d}.auth-footer{margin-top:16px}.auth-link{color:#3498db;font-size:.95em;text-decoration:none}.auth-link:hover{text-decoration:underline}.subtitle{font-size:1.1em;color:#666;margin:0 0 1.5em}.tariff-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;margin:1em 0}.tariff-card{background:#fff;border:2px solid #e0e0e0;border-radius:8px;padding:16px;text-align:center;transition:all .2s ease;cursor:pointer}.tariff-card:hover{border-color:#3498db;box-shadow:0 4px 8px #0000001a}.tariff-card input[type=radio]{display:none}.tariff-card label{display:block;cursor:pointer}.tariff-card.selected{border-color:#4caf50;background:#f0fff0;box-shadow:0 4px 8px #4caf5033}.tariff-card.hovered{border-color:#3498db;background:#f0f9ff}.tariff-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.tariff-requests{font-size:1.2em;font-weight:700;color:#2c3e50}.tariff-price{font-size:1.3em;font-weight:700;color:#27ae60}.tariff-per-request{font-size:.9em;color:#7f8c8d}.seller-info{margin:1.5em 0 2em;padding:1.2em 1.5em;background-color:#f8f9fa;border-left:4px solid #4a76a8;border-radius:6px;font-size:.95em;line-height:1.5}.seller-info-text{margin:0 0 .5em;color:#2c3e50}.seller-info-note{margin:0;color:#7f8c8d;font-size:.9em;font-style:italic}.admin-section{background:#fff;padding:20px;border-radius:8px;box-shadow:0 1px 4px #0000001a;margin-bottom:20px}.user-list{display:flex;flex-direction:column;gap:16px}.user-card{background:#f9f9f9;padding:16px;border-radius:8px;display:flex;justify-content:space-between;align-items:center;gap:16px;transition:background .2s}.user-card:hover{background:#f0f0f0}.user-info{flex:1}.user-card .user-name{font-weight:700;color:#2c3e50;font-size:1em}.user-card .user-email{color:#7f8c8d;font-size:.9em}.user-card .user-quota{text-align:right;font-size:.9em;color:#666}.user-quota div{margin:2px 0}.user-actions{display:flex;gap:8px}.btn-add-requests{padding:6px 12px;background:#3498db;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:.9em}.btn-add-requests:hover{background:#2980b9}.btn-delete-db{padding:6px 12px;background:#e74c3c;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:.9em;margin-left:8px}.btn-delete-db:hover{background:#c0392b}.demo-page{background:#f9fbfd;min-height:100vh;display:flex;flex-direction:column}.demo-header{background:linear-gradient(135deg,#3498db,#2c3e50);color:#fff;padding:60px 20px;text-align:center}.demo-header h1{font-size:2.5em;margin:0 0 16px}.demo-header p{font-size:1.2em;max-width:600px;margin:0 auto 24px}.btn-primary{display:inline-block;padding:12px 24px;background:#27ae60;color:#fff;text-decoration:none;border-radius:6px;font-weight:700;font-size:1.1em}.btn-primary:hover{background:#219653}.demo-content{max-width:900px;margin:40px auto;padding:0 20px}.demo-section{margin-bottom:40px}.demo-section h2{color:#2c3e50;margin-bottom:16px}.demo-section ul,.demo-section ol{padding-left:20px}.demo-section li{margin-bottom:8px}.demo-map-container{background:#fff;border-radius:8px;overflow:hidden;box-shadow:0 4px 12px #0000001a;margin:16px 0}.demo-map{width:100%;display:block}.caption{text-align:center;color:#7f8c8d;font-style:italic;margin-top:8px}.demo-footer{text-align:center;padding:20px;color:#7f8c8d;font-size:.9em}.demo-badge{background:#ff9800;color:#fff;padding:4px 8px;border-radius:4px;font-size:.85em;cursor:default}.demo-note{margin-top:16px;padding:12px;background:#e8f4fd;border-left:4px solid #3498db;font-size:.95em;color:#2c3e50}.demo-note code{background:#d6eaf8;padding:2px 4px;border-radius:3px}.alert-info{background:#e8f4fd;border-left:4px solid #3498db;padding:12px;margin:0 0 20px;font-size:.95em;color:#2c3e50}.alert-info a{color:#2980b9;font-weight:700;text-decoration:none}.alert-info a:hover{text-decoration:underline}.search-box{display:flex;gap:10px;margin-bottom:20px;align-items:center}.search-box input{flex:1;padding:8px 12px;border:1px solid #ccc;border-radius:4px;font-size:1em;height:38px;box-sizing:border-box}.search-box button{padding:8px 16px;height:38px;box-sizing:border-box;white-space:nowrap}.btn-search{background:#27ae60;color:#fff;border:none;border-radius:4px;cursor:pointer;font-weight:700}.btn-search:hover{background:#219653}.btn-show-all{background:#6c757d;color:#fff;border:none;border-radius:4px;cursor:pointer}.btn-show-all:hover{background:#5a6268}.success-page{text-align:center;padding:40px 20px}.site-footer{background:#f8f9fa;border-top:1px solid #e9ecef;padding:20px 0;margin-top:auto;font-size:.9em;color:#6c757d}.footer-content{max-width:900px;margin:0 auto;padding:0 20px;text-align:center}.site-footer a{color:#495057;text-decoration:none}.site-footer a:hover{color:#212529;text-decoration:underline}.footer-note{margin-top:8px;color:#868e96}.support-message{background:#f8f9fa;border-left:4px solid #e74c3c;padding:20px;margin:0 0 24px;display:flex;gap:16px}.support-icon{font-size:2em;color:#e74c3c}.support-text ul{margin:8px 0 12px;padding-left:20px}.support-text li{margin-bottom:6px}.contact-note{margin-top:12px;font-style:italic;color:#666}.landing-page{background:#f9fbfd;min-height:100vh;display:flex;flex-direction:column}.landing-header{background:linear-gradient(135deg,#3498db,#2c3e50);color:#fff;padding:80px 20px 60px;text-align:center}.landing-header h1{font-size:2.8em;margin:0 0 16px}.landing-header p{font-size:1.3em;max-width:700px;margin:0 auto 28px;opacity:.95}.landing-buttons{display:flex;justify-content:center;gap:16px;flex-wrap:wrap}.landing-buttons .btn-primary{background:#27ae60;color:#fff;padding:14px 28px;border-radius:8px;text-decoration:none;font-weight:700;font-size:1.1em;transition:background .2s}.landing-buttons .btn-primary:hover{background:#219653}.landing-buttons .btn-secondary{background:transparent;color:#fff;border:2px solid white;padding:12px 26px;border-radius:8px;font-weight:700;font-size:1.1em;cursor:pointer;transition:background .2s}.landing-buttons .btn-secondary:hover{background:#ffffff1a}.landing-content{max-width:900px;margin:40px auto;padding:0 20px;flex:1}.landing-content h2{color:#2c3e50;margin:32px 0 16px;font-size:1.8em}.landing-content ul{padding-left:24px}.landing-content li{margin-bottom:10px;font-size:1.1em}.landing-content p{font-size:1.1em;line-height:1.6}.demo-preview img{border-radius:8px;box-shadow:0 4px 12px #0000001a}.demo-image{max-width:100%;height:auto;border-radius:8px;box-shadow:0 4px 12px #0000001a;transition:transform .2s;cursor:zoom-in}.demo-image:hover{transform:scale(1.02)}.demo-image-link{display:inline-block;margin:16px 0}.btn-landing-primary{background:#27ae60;color:#fff;border:none;padding:14px 32px;font-size:1.1em;font-weight:600;border-radius:8px;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 6px #27ae604d;text-decoration:none;display:inline-flex;align-items:center;gap:8px}.btn-landing-primary:hover{background:#219653;transform:translateY(-2px);box-shadow:0 6px 8px #27ae6066}.btn-landing-primary:active{transform:translateY(0);box-shadow:0 2px 4px #27ae604d}.btn-landing-primary:focus{outline:2px solid #27ae60;outline-offset:2px}.btn-landing-secondary{background:#fff;color:#2c3e50;border:1px solid #d0d5da;padding:14px 32px;font-size:1.1em;font-weight:600;border-radius:8px;cursor:pointer;transition:all .3s ease;text-decoration:none;display:inline-flex;align-items:center;gap:8px;box-shadow:0 2px 4px #0000000d}.btn-landing-secondary:hover{background:#f8f9fa;border-color:#bfc7d1;transform:translateY(-1px);box-shadow:0 4px 6px #00000014}.btn-landing-secondary:active{transform:translateY(0);border-color:#a0a9b3;box-shadow:0 1px 2px #0000000d}.btn-landing-secondary:focus{outline:2px solid #27ae60;outline-offset:2px}
