*{box-sizing:border-box}body{margin:0;font-family:Arial,sans-serif;background:#f3f5f8;color:#202835}.page{max-width:920px;margin:0 auto;padding:24px}.card{background:#fff;border-radius:10px;padding:16px;margin-bottom:16px;border:1px solid #dde3ea}form,label{display:flex;flex-direction:column;gap:8px}input,select,button{padding:8px}.hostnameRow{display:flex;justify-content:space-between;align-items:center;border:1px solid #e8edf3;border-radius:8px;padding:12px;margin-bottom:10px}.rowButtons{display:flex;gap:8px;align-items:center}.hint{color:#5f6978;margin:4px 0;font-size:.9rem}.message{background:#eaf5ff;border:1px solid #b9ddff;padding:10px 12px;border-radius:8px}.downloadGrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:10px;margin-bottom:12px}.downloadBtn{text-decoration:none;background:#1d66d1;color:#fff;border-radius:8px;padding:10px 12px;text-align:center}.downloadBtn:hover{background:#1856b0}.topBar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px}.topBar h1{margin:0;font-size:1.5rem}.topBarActions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.loginCard{max-width:420px;margin:48px auto}.availabilityBadge{display:inline-flex;align-items:center;border-radius:999px;padding:6px 10px;font-size:.85rem;font-weight:700}.availabilityBadge.success{color:#0f7a2b;background:#e8faef;border:1px solid #96d8aa}.availabilityBadge.error{color:#a62f2f;background:#fdeaea;border:1px solid #ebb0b0}.spinnerLabel{display:inline-flex;align-items:center;gap:8px}.spinner{width:14px;height:14px;border:2px solid #c8d0da;border-top-color:#1d66d1;border-radius:50%;display:inline-block;animation:spin .9s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}
