@import url("footer.css");@import url("toast.css");:root{--primary-color:#2c5aa0;--primary-dark:#1e3d72;--primary-light:#4a7fd4;--secondary-color:#f8f9fa;--text-color:#333;--text-light:#6c757d;--border-color:#207edc;--success-color:#28a745;--warning-color:#ffc107;--danger-color:#dc3545;--shadow:0 4px 6px rgba(0,0,0,.1);--radius:8px}*{box-sizing:border-box;margin:0;padding:0}body{background-color:#f5f7fa;color:var(--text-color);font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;line-height:1.6}.sr-only{height:1px!important;margin:-1px!important;overflow:hidden!important;padding:0!important;position:absolute!important;width:1px!important;clip:rect(0,0,0,0)!important;border:0!important;white-space:nowrap!important}.container{margin:0 auto;max-width:1500px;padding:20px}.main-content{align-items:stretch;display:grid;gap:30px;grid-template-columns:minmax(0,2fr) minmax(0,3fr)}.main-content>*{min-width:0}.right-cards-container{align-items:stretch;display:flex;flex-direction:column;gap:30px;height:100%;min-width:0}.visualization-card{background:linear-gradient(135deg,#fff,#f8f9fa);display:flex;flex:0 0 auto;flex-direction:column;transition:transform .3s ease,box-shadow .3s ease}.visualization-card:hover{box-shadow:0 8px 20px rgba(0,0,0,.12);transform:translateY(-2px)}.visualization-card .card-body{flex:0 0 auto}.result-card{background:linear-gradient(135deg,#fff,#f0f9ff);display:flex;flex:1 1 auto;flex-direction:column;min-height:0;transition:transform .3s ease,box-shadow .3s ease}.result-card:hover{box-shadow:0 8px 20px rgba(0,0,0,.12);transform:translateY(-2px)}.result-card .card-body{flex:1;min-height:0;overflow-y:auto}.card{background:#fff;border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden;transition:transform .3s ease,box-shadow .3s ease}.card:hover{box-shadow:0 8px 20px rgba(0,0,0,.12);transform:translateY(-2px)}.card-header{align-items:center;background:var(--primary-color);color:#fff;display:flex;font-weight:600;justify-content:space-between;padding:20px 25px}.card-body{padding:25px}.problem-config{gap:25px}.form-group,.problem-config{display:flex;flex-direction:column}.form-group{gap:8px}.form-group label{color:var(--text-color);font-size:15px;font-weight:600}.form-hint{color:#64748b;display:block;font-size:13px;font-weight:400;margin-top:6px}.form-group input,.form-group select,.form-group textarea{border:1px solid var(--border-color);border-radius:var(--radius);font-size:14px;padding:12px 15px;transition:border-color .3s,box-shadow .3s}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--primary-color);box-shadow:0 0 0 3px rgba(44,90,160,.1);outline:none}.form-group textarea[readonly]{background-color:#f1f5f9;border-color:#e2e8f0;color:#64748b;cursor:not-allowed}.form-group textarea[readonly]:focus{border-color:#e2e8f0;box-shadow:none}.variables-input{display:grid;gap:15px;grid-template-columns:1fr 1fr}.variable-item{display:flex;flex-direction:column;gap:8px}.variable-item label{color:var(--text-color);font-size:14px;font-weight:600}.variable-item input{border:1px solid var(--border-color);border-radius:var(--radius);font-size:15px;padding:12px 15px;text-align:center}.actions{display:flex;gap:15px;margin-top:10px}.actions-intro{background:linear-gradient(180deg,rgba(246,249,253,.96),hsla(0,0%,100%,.98));border:1px solid rgba(44,90,160,.1);border-left:3px solid rgba(44,90,160,.72);border-radius:10px;display:flex;flex-direction:column;gap:6px;margin-top:-2px;padding:14px 16px 14px 18px}.actions-kicker{color:#2c5aa0;font-size:12px;font-weight:700;letter-spacing:.08em;line-height:1;text-transform:uppercase}.actions-hint{color:#526277;font-size:13px;letter-spacing:.01em;line-height:1.55;margin:0}.actions-hint strong{color:#0f172a;font-weight:600}.radio-group{display:flex;gap:15px;margin-bottom:15px}.radio-option{align-items:center;cursor:pointer;display:flex}.radio-option input[type=radio]{cursor:pointer;height:18px;margin-right:8px;width:18px}.radio-option span{font-size:14px}.btn{align-items:center;border:none;border-radius:var(--radius);cursor:pointer;display:flex;font-size:15px;font-weight:600;gap:8px;justify-content:center;padding:12px 25px;transition:all .3s}.btn,a.btn,a.btn:active,a.btn:focus,a.btn:hover,a.btn:visited{text-decoration:none}.btn-primary{background:linear-gradient(180deg,#3a67ad 0,var(--primary-color) 100%);border:1px solid rgba(30,61,114,.18);box-shadow:0 6px 14px rgba(44,90,160,.14);color:#fff;flex:1}.btn-primary:hover{background:linear-gradient(180deg,#345f9f 0,var(--primary-dark) 100%);box-shadow:0 10px 18px rgba(44,90,160,.2);transform:translateY(-1px)}.btn-secondary{background:var(--secondary-color);border:1px solid var(--border-color);color:var(--text-color)}.btn-secondary:hover{background:#eef3f8;border-color:#2c5aa0;box-shadow:0 4px 10px rgba(44,90,160,.08);transform:translateY(-1px)}.result-content{min-height:200px}.loading,.result-content{display:flex;flex-direction:column;gap:20px}.loading{align-items:center;justify-content:center;padding:40px 20px}.spinner{animation:spin 1s linear infinite;border:4px solid rgba(44,90,160,.2);border-left:4px solid var(--primary-color);border-radius:50%;height:50px;width:50px}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.result-success{background:#f0f9ff;border-left:4px solid var(--primary-color)}.result-error,.result-success{border-radius:var(--radius);padding:20px}.result-error{background:#fef2f2;border-left:4px solid var(--danger-color)}.result-header{gap:10px;margin-bottom:15px}.result-header,.result-icon{align-items:center;display:flex}.result-icon{border-radius:50%;color:#fff;font-weight:700;height:30px;justify-content:center;width:30px}.success-icon{background:var(--success-color)}.error-icon{background:var(--danger-color)}.result-details{display:grid;gap:15px;grid-template-columns:1fr 1fr;margin-top:15px}.result-item{display:flex;flex-direction:column;gap:5px}.result-label{color:var(--text-light);font-size:13px}.result-value{font-size:16px;font-weight:600}.solution-values{border-top:1px solid var(--border-color);margin-top:20px;padding-top:20px}.solution-grid{display:grid;gap:15px;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));margin-top:15px}.solution-item{background:#fff;border-radius:var(--radius);box-shadow:0 2px 4px rgba(0,0,0,.05);padding:15px;text-align:center}.solution-value{color:var(--primary-color);font-size:18px;font-weight:700}.solution-label{color:var(--text-light);font-size:13px;margin-top:5px}#distanceMatrix{font-family:Courier New,monospace;resize:vertical}.distance-matrix-help{background:linear-gradient(135deg,#f0f9ff,#e0f2fe);border-left:4px solid #0ea5e9;border-radius:0 6px 6px 0;box-shadow:0 1px 3px rgba(0,0,0,.05);color:#334155;font-size:16px;line-height:1.5;margin-top:10px;padding:12px 16px}.vehicle-costs-group{gap:25px}.vehicle-cost-item{display:flex;flex-direction:column;gap:8px;width:100%}.vehicle-cost-item+.vehicle-cost-item{margin-top:10px}.vehicle-cost-item input{width:100%}.advanced-config-title,.problem-config>h3[data-i18n="solver.customData"],.problem-config>h3[data-i18n="solver.standardDataset"]{align-items:center;background:transparent;border-bottom:1px solid rgba(148,163,184,.22);box-shadow:none;color:#0f172a;display:flex;font-size:1rem;font-weight:700;gap:10px;letter-spacing:.01em;line-height:1.4;margin:32px 0 18px;overflow:visible;padding:0 0 10px;position:relative}.advanced-config-title:before,.problem-config>h3[data-i18n="solver.customData"]:before,.problem-config>h3[data-i18n="solver.standardDataset"]:before{background:linear-gradient(180deg,#2563eb,#3b82f6);border-radius:999px;box-shadow:none;content:"";flex:0 0 6px;height:18px;width:6px}.advanced-config-title:after,.problem-config>h3[data-i18n="solver.customData"]:after,.problem-config>h3[data-i18n="solver.standardDataset"]:after{background:linear-gradient(90deg,rgba(37,99,235,.95),rgba(59,130,246,.25));border-radius:999px;bottom:-1px;content:"";height:2px;left:0;pointer-events:none;position:absolute;width:clamp(112px,24%,180px)}.time-input-row{align-items:center;display:flex;gap:15px}.time-input-container{align-items:center;display:flex;gap:8px}.time-inputs{align-items:center;display:flex;gap:4px;gap:5px;justify-content:center;margin-bottom:10px}.time-input{border:1px solid #ddd;border-radius:4px;font-size:16px;height:40px;text-align:center;transition:border-color .3s;width:20px}.time-input:focus{border-color:#3498db;box-shadow:0 0 0 2px rgba(52,152,219,.2);outline:none}.time-separator{color:#7f8c8d;font-weight:700}#finalDistanceMatrix{background-color:#f5f5f5;color:#666;cursor:not-allowed}.dataset-import{margin:20px 0}.dataset-selectors{display:flex;flex-wrap:wrap;gap:15px;margin-top:10px}.dataset-selector{border:1px solid #ddd;border-radius:4px;flex:1;font-size:14px;padding:8px 12px}.dataset-selector:disabled{background-color:#f5f5f5;color:#999;cursor:not-allowed}@media (max-width:1100px){.main-content{grid-template-columns:1fr}}@media (max-width:768px){.result-details,.variables-input{grid-template-columns:1fr}header{flex-direction:column;gap:15px;text-align:center}.dataset-selectors{flex-direction:column;gap:10px}.dataset-selector{flex:none;margin-bottom:5px;width:100%}#loadServerBtn{margin-top:5px;padding:10px 16px;width:100%}}