.hub-cabinet { max-width: 1100px; margin: 0 auto; font-family: inherit; }
.hub-cabinet__notice { background: #fff8e1; border: 1px solid #f0d97a; padding: 12px 16px; border-radius: 6px; margin-bottom: 16px; }
.hub-cabinet__balance { display: flex; align-items: center; gap: 12px; margin-bottom: 20px; }
.hub-cabinet__grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 16px; }
.hub-service-card { display: block; border: 1px solid #e2e2e2; border-radius: 10px; padding: 16px; text-decoration: none; color: inherit; transition: box-shadow .15s ease; }
.hub-service-card:hover { box-shadow: 0 4px 14px rgba(0,0,0,.08); }
.hub-service-card__icon { width: 40px; height: 40px; margin-bottom: 10px; }
.hub-service-card__title { font-weight: 600; margin-bottom: 4px; }
.hub-service-card__desc { font-size: 13px; color: #666; margin-bottom: 8px; }
.hub-service-card__price { font-size: 12px; color: #888; }
.hub-btn { background: #2271b1; color: #fff; border: none; border-radius: 6px; padding: 8px 16px; cursor: pointer; }
.hub-btn:disabled { opacity: .5; cursor: not-allowed; }
.hub-service-progress { margin-top: 12px; color: #555; font-size: 14px; }
.hub-spinner {
    display: inline-block; width: 14px; height: 14px; margin-right: 8px;
    border: 2px solid #ccd0d4; border-top-color: #2271b1; border-radius: 50%;
    vertical-align: middle; animation: hub-spin 0.8s linear infinite;
}
@keyframes hub-spin { to { transform: rotate(360deg); } }
.hub-service-form { margin: 20px 0; }
.hub-service-result { margin-top: 20px; padding: 16px; background: #f6f7f7; border-radius: 8px; }

.hub-public-service { max-width: 800px; margin: 0 auto; }
.hub-public-service h1 { margin-bottom: 8px; }
.hub-public-service__lead { font-size: 18px; color: #555; margin-bottom: 20px; }
.hub-public-service__long { margin-bottom: 20px; }
.hub-services-directory { max-width: 1100px; margin: 0 auto; }
.hub-services-directory h1 { margin-bottom: 8px; }
