
/* ECOPANEL_VISUAL_BALANCE_V1 */

/* Умеренный масштаб с сохранением персонального увеличения. */
:root {
    --eco-body-size:14px;
    --eco-label-size:13px;
    --eco-help-size:12.5px;
    --eco-badge-size:11.5px;
    --eco-title-size:26px;
    --eco-section-size:17px;
    --eco-keyword-color:#547d14;
    --eco-keyword-bg:rgba(132,204,22,.09);
    --eco-panel-pad:24px;
    --eco-panel-gap:22px;
}
html[data-eco-size="large"] {
    --eco-body-size:15px;
    --eco-label-size:14px;
    --eco-help-size:13.5px;
    --eco-badge-size:12.5px;
    --eco-title-size:28px;
    --eco-section-size:18px;
}
[data-bs-theme="dark"] {
    --eco-keyword-color:#bef264;
    --eco-keyword-bg:rgba(163,230,53,.09);
}
.eco-keyword {
    color:var(--eco-keyword-color);
}
html .eco-profile,
html .account-security,
html .users-v3,
html .ssl-center {
    max-width:1440px;
    margin-left:auto;
    margin-right:auto;
    font-size:var(--eco-body-size);
    line-height:1.65;
}

/* Оболочка и навигация. */
.eco-header-shell .cockpit-topbar {
    min-height:66px;
    padding:12px 20px;
    gap:16px;
}
.eco-header-shell .eco-header-brand {
    font-size:22px;
}
.eco-header-shell .eco-mega-nav {
    padding:8px 12px;
    gap:3px;
}
.eco-header-shell .eco-nav-group>summary {
    min-height:40px;
    padding:10px 14px;
    font-size:13px;
    gap:8px;
}
.eco-shell-button {
    min-height:37px;
    padding:8px 11px;
    font-size:12px;
}
.eco-account-name {
    font-size:13px;
}
.eco-account-dropdown a {
    font-size:13px;
    padding:11px;
}
.eco-mega-panel {
    padding:22px;
}
.eco-module-tile {
    padding:17px;
    gap:12px;
}
.eco-module-tile strong {
    font-size:14px;
    font-weight:650;
}
.eco-module-tile small {
    font-size:12px;
    line-height:1.7;
}
.eco-tile-icon {
    width:38px;
    height:38px;
    font-size:19px;
}
.cockpit-menu .cockpit-item {
    font-size:var(--eco-label-size);
}
.cockpit-menu .menu-label {
    font-size:11px;
}
.eco-account-tabs {
    gap:7px;
    margin-bottom:22px;
    padding-bottom:16px;
}
.eco-account-tabs a {
    font-size:var(--eco-label-size);
    padding:10px 13px;
    gap:8px;
}
.eco-account-tabs a.active {
    color:var(--eco-keyword-color);
}

/* Профиль: единая сетка и выравнивание карточек. */
.eco-profile .eco-profile-hero {
    padding:26px;
    margin-bottom:22px;
    border-radius:15px;
}
.eco-profile .eco-profile-hero-main {
    gap:20px;
}
.eco-profile .eco-profile-avatar {
    width:72px;
    height:72px;
    font-size:29px;
    border-radius:19px;
}
.eco-profile .eco-profile-hero h2 {
    font-size:var(--eco-title-size);
    line-height:1.25;
    letter-spacing:-.035em;
    margin-bottom:8px;
}
.eco-profile .eco-profile-hero p {
    font-size:var(--eco-label-size);
    line-height:1.8;
}
.eco-profile .eco-profile-hero .eco-kicker {
    font-size:11px;
    letter-spacing:.08em;
}
.eco-profile .eco-profile-meta {
    gap:8px;
    margin-top:14px;
}
.eco-profile .eco-profile-meta>span {
    font-size:var(--eco-badge-size);
    padding:5px 8px;
}
.eco-profile .eco-profile-meta .eco-profile-role {
    color:var(--eco-keyword-color);
    background:var(--eco-keyword-bg);
}
.eco-profile .eco-profile-hero-mark {
    font-size:66px;
}
.eco-profile .eco-profile-workspace,
.eco-profile .eco-profile-grid {
    gap:var(--eco-panel-gap);
}
.eco-profile .eco-profile-workspace {
    align-items:stretch;
}
.eco-profile .eco-main-profile-card {
    display:flex;
    flex-direction:column;
    height:100%;
}
.eco-profile .eco-main-profile-card form {
    display:flex;
    flex-direction:column;
    flex:1;
}
.eco-profile .eco-profile-side {
    height:100%;
    gap:18px;
}
.eco-profile .eco-account-summary {
    flex:1;
}
.eco-profile .eco-setting-card {
    padding:var(--eco-panel-pad);
    border-radius:14px;
}
.eco-profile .eco-section-heading {
    gap:12px;
    margin-bottom:20px;
}
.eco-profile .eco-section-icon {
    width:39px;
    height:39px;
    border-radius:11px;
    font-size:19px;
}
.eco-profile .eco-setting-card h3,
.eco-profile .eco-section-heading h3 {
    font-size:var(--eco-section-size);
    font-weight:700;
    line-height:1.4;
}
.eco-profile .eco-setting-card p,
.eco-profile .eco-section-heading p {
    font-size:var(--eco-help-size);
    line-height:1.8;
}
.eco-profile .eco-setting-card label:not(.eco-layout-choice) {
    font-size:var(--eco-label-size);
    line-height:1.6;
    margin:18px 0 9px;
}
.eco-profile .eco-setting-card .form-control,
.eco-profile .eco-setting-card .form-select {
    min-height:45px;
    font-size:var(--eco-body-size);
    padding:11px 13px;
    border-radius:9px;
}
.eco-profile .eco-field-description {
    font-size:var(--eco-help-size);
    line-height:1.8;
    margin-top:8px;
}
.eco-profile .eco-profile-form-footer {
    margin-top:auto;
    padding-top:22px;
    gap:14px;
}
.eco-profile .eco-profile-form-footer>span {
    font-size:var(--eco-help-size);
}
.eco-profile .eco-save {
    min-height:43px;
    font-size:var(--eco-label-size);
    padding:10px 16px;
    border-radius:9px;
}
.eco-profile .eco-account-facts>div {
    padding:13px 0;
    font-size:var(--eco-label-size);
}
.eco-profile .eco-text-link {
    font-size:var(--eco-label-size);
    color:var(--eco-keyword-color);
}
.eco-profile .eco-profile-shortcut {
    padding:19px;
    gap:12px;
}
.eco-profile .eco-profile-shortcut strong {
    font-size:14px;
}
.eco-profile .eco-profile-shortcut small {
    font-size:var(--eco-help-size);
    line-height:1.7;
}
.eco-profile .eco-profile-password {
    margin-top:22px;
    padding:0;
}
.eco-profile .eco-profile-password summary {
    padding:22px 24px;
}
.eco-profile .eco-password-heading strong {
    font-size:16px;
}
.eco-profile .eco-password-heading small {
    font-size:var(--eco-help-size);
}
.eco-profile .eco-password-content {
    padding:0 24px 24px;
}
.eco-profile .eco-password-explanation {
    font-size:var(--eco-label-size);
    line-height:1.8;
}

/* Безопасность и 2FA. */
.account-security .security-hero {
    padding:26px;
    margin-bottom:22px;
    border-radius:15px;
}
.account-security .security-hero h2 {
    font-size:var(--eco-title-size);
    line-height:1.3;
    letter-spacing:-.035em;
}
.account-security .security-hero-description {
    font-size:var(--eco-label-size);
}
.account-security .security-hero-icon {
    width:56px;
    height:56px;
    font-size:25px;
    border-radius:15px;
}
.account-security .security-overview {
    gap:12px;
    margin-top:24px;
}
.account-security .security-overview-item {
    padding:15px;
}
.account-security .security-overview-label {
    font-size:var(--eco-help-size);
}
.account-security .security-overview-value {
    font-size:var(--eco-body-size);
    font-weight:650;
}
.account-security .security-layout {
    gap:var(--eco-panel-gap);
}
.account-security .security-panel-title {
    font-size:14px;
    padding:19px 24px;
}
.account-security .security-body,
.account-security .security-help {
    padding:var(--eco-panel-pad);
}
.account-security .intro,
.account-security .form-footer,
.account-security .security-active-message p {
    font-size:var(--eco-label-size);
    line-height:1.85;
}
.account-security .security-help h3,
.account-security .security-active-message h3 {
    font-size:16px;
}
.account-security .security-help p {
    font-size:var(--eco-help-size);
    line-height:1.85;
}
.account-security label,
.account-security summary {
    font-size:var(--eco-label-size);
}
.account-security input {
    min-height:45px;
    font-size:var(--eco-body-size);
    padding:11px 13px;
}
.account-security .submit {
    min-height:43px;
    font-size:var(--eco-label-size);
    padding:10px 16px;
}
.account-security .security-state-pill {
    font-size:var(--eco-badge-size);
}

/* Управление пользователями. */
html .users-v3 h2 {
    font-size:var(--eco-title-size);
}
html .users-v3 .uv-sub {
    font-size:var(--eco-label-size);
}
html .users-v3 .uv-body {
    padding:var(--eco-panel-pad);
}
html .users-v3 .uv-form-grid {
    gap:var(--eco-panel-gap);
}
html .users-v3 .uv-panel-head {
    font-size:14px;
    padding:18px 22px;
}
html .users-v3 .uv-section {
    font-size:14px;
    margin-top:25px;
}
html .users-v3 .uv-label {
    font-size:var(--eco-label-size);
}
html .users-v3 .uv-check {
    font-size:var(--eco-help-size);
    padding:12px 13px;
    align-items:flex-start;
}
html .users-v3 .uv-note {
    font-size:var(--eco-help-size);
    line-height:1.8;
}
html .users-v3 .uv-meta {
    font-size:var(--eco-help-size);
}
html .users-v3 .uv-table td {
    font-size:var(--eco-label-size);
    padding:17px 18px;
}
html .users-v3 .uv-table th {
    font-size:11px;
}
html .users-v3 .uv-badge {
    font-size:var(--eco-badge-size);
}
html .users-v3 .uv-button {
    min-height:41px;
    padding:9px 14px;
    font-size:var(--eco-label-size);
}
html .users-v3 .form-control,
html .users-v3 .form-select {
    min-height:45px;
    font-size:var(--eco-body-size);
}
.eco-confirm-head h3 {
    font-size:20px;
}
.eco-confirm-head p,
.eco-confirm-help {
    font-size:var(--eco-label-size);
}
.eco-confirm-action,
.eco-confirm-field label {
    font-size:var(--eco-body-size);
}
.eco-confirm-field input {
    min-height:46px;
    font-size:var(--eco-body-size);
}
.eco-confirm-footer button {
    min-height:43px;
    font-size:var(--eco-label-size);
}

/* SSL — без прежних чрезмерно мелких подписей. */
html .ssl-center h3 {
    font-size:24px;
}
html .ssl-center .card-header {
    font-size:14px;
}
html .ssl-center p,
html .ssl-center .form-label,
html .ssl-center .ssl-cert-expiry {
    font-size:13px;
}
html .ssl-center .ssl-notice,
html .ssl-center .ssl-footnote,
html .ssl-center .form-text {
    font-size:12px;
    line-height:1.8;
}
html .ssl-center .ssl-cert-name {
    font-size:14px;
}
html .ssl-center .ssl-cert-path {
    font-size:11.5px;
    line-height:1.8;
}
html .ssl-center .ssl-state {
    font-size:11.5px;
}
html .ssl-center .form-control {
    min-height:44px;
    font-size:14px;
}
html .ssl-center .btn {
    font-size:13px;
}

/* Самостоятельные экраны входа. */
html .login-card {
    padding:34px;
    border-radius:20px;
}
html .login-card h2 {
    font-size:26px;
    line-height:1.3;
    letter-spacing:-.035em;
}
html .login-card .intro {
    font-size:13px;
    line-height:1.8;
}
html .login-card label {
    font-size:13px;
}
html .login-card input {
    min-height:47px;
    font-size:14px;
}
html .login-card .submit {
    min-height:46px;
    font-size:13px;
}
html .login-card .form-footer,
html .login-card .notice {
    font-size:12px;
    line-height:1.8;
}
html .login-card .entry-icon {
    width:41px;
    height:41px;
    margin-bottom:22px;
}

@media(max-width:700px) {
    .eco-header-shell .cockpit-topbar {
        padding:11px 12px;
    }
    .eco-header-shell .eco-nav-group>summary {
        padding:9px 10px;
        font-size:12px;
    }
    .eco-profile .eco-profile-hero,
    .account-security .security-hero {
        padding:22px;
    }
    .eco-profile .eco-profile-hero h2,
    .account-security .security-hero h2 {
        font-size:24px;
    }
    .eco-profile .eco-setting-card,
    .account-security .security-body,
    .account-security .security-help,
    html .users-v3 .uv-body {
        padding:20px;
    }
    .eco-profile .eco-profile-password {
        padding:0;
    }
    .eco-profile .eco-profile-password summary {
        padding:20px;
    }
    .eco-profile .eco-password-content {
        padding:0 20px 20px;
    }
    .eco-profile .eco-profile-form-footer {
        margin-top:24px;
    }
}
@media(max-width:420px) {
    html .login-card {
        padding:27px 23px;
    }
    html .login-card h2 {
        font-size:24px;
    }
}
