:root {
    --af-cabinet-blue: #14326e;
    --af-cabinet-blue-2: #47639a;
    --af-cabinet-light-blue: #96afd7;
    --af-cabinet-graphite: #262523;
    --af-cabinet-gray: #515151;
    --af-cabinet-muted: #909091;
    --af-cabinet-white: #fefefe;
    --af-cabinet-border: #e6ebf2;
    --af-cabinet-bg: #f6f8fb;
}

.af-cabinet { padding: 26px 0 52px; background: var(--af-cabinet-bg); }
.af-cabinet * { box-sizing: border-box; }
.af-cabinet__layout { display: grid; grid-template-columns: 270px minmax(0,1fr); gap: 24px; align-items: start; }
.af-cabinet__content { min-width: 0; display: grid; gap: 18px; }

.af-cabinet-sidebar { position: sticky; top: 18px; background: var(--af-cabinet-white); border: 1px solid var(--af-cabinet-border); border-radius: 18px; box-shadow: 0 8px 28px rgba(20,50,110,.07); overflow: hidden; }
.af-cabinet-profile { display:flex; align-items:center; gap:12px; padding:20px; background: linear-gradient(135deg,#14326e,#47639a); color:#fff; }
.af-cabinet-profile__avatar { width:48px; height:48px; flex:0 0 48px; border-radius:50%; display:grid; place-items:center; background:rgba(255,255,255,.16); border:1px solid rgba(255,255,255,.28); font-weight:800; font-size:20px; }
.af-cabinet-profile__content { min-width:0; }
.af-cabinet-profile__welcome { font-size:11px; opacity:.82; margin-bottom:2px; }
.af-cabinet-profile__name { font-weight:700; font-size:15px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.af-cabinet-profile__meta { margin-top:3px; font-size:11px; opacity:.8; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.af-cabinet-nav { padding:10px; display:grid; gap:5px; }
.af-cabinet-nav__item { display:flex; align-items:center; gap:11px; min-height:45px; padding:9px 11px; border-radius:11px; color:var(--af-cabinet-graphite); text-decoration:none !important; font-size:13px; font-weight:600; transition:.2s ease; }
.af-cabinet-nav__item:hover { background:#f1f5fb; color:var(--af-cabinet-blue); }
.af-cabinet-nav__item.is-active { background:#eef3fb; color:var(--af-cabinet-blue); box-shadow: inset 3px 0 0 var(--af-cabinet-blue); }
.af-cabinet-nav__icon { width:30px; height:30px; border-radius:9px; display:grid; place-items:center; background:#edf2f8; color:var(--af-cabinet-blue-2); }
.af-cabinet-nav__item.is-active .af-cabinet-nav__icon { background:var(--af-cabinet-blue); color:#fff; }
.af-cabinet-logout { display:flex; align-items:center; gap:10px; padding:14px 20px 17px; border-top:1px solid var(--af-cabinet-border); color:var(--af-cabinet-gray); text-decoration:none !important; font-size:13px; font-weight:600; }
.af-cabinet-logout:hover { color:var(--af-cabinet-blue); }

.af-cabinet-card { background:var(--af-cabinet-white); border:1px solid var(--af-cabinet-border); border-radius:18px; box-shadow:0 8px 28px rgba(38,37,35,.045); padding:22px; min-width:0; }
.af-cabinet-card__header { display:flex; align-items:center; justify-content:space-between; gap:16px; padding-bottom:16px; margin-bottom:18px; border-bottom:1px solid var(--af-cabinet-border); }
.af-cabinet-card__heading { display:flex; align-items:center; gap:11px; min-width:0; }
.af-cabinet-card__eyebrow { width:34px; height:34px; flex:0 0 34px; border-radius:10px; display:grid; place-items:center; background:#edf3fb; color:var(--af-cabinet-blue); margin:0; }
.af-cabinet-card__title { margin:0; color:var(--af-cabinet-graphite); font-size:22px; line-height:1.25; font-weight:800; }

.af-cabinet-form__grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.af-cabinet-form__grid--three { grid-template-columns:repeat(3,minmax(0,1fr)); }
.af-cabinet-form__field--wide { grid-column:1/-1; }
.af-cabinet-form__field label { display:block; margin:0 0 7px; color:var(--af-cabinet-gray); font-size:12px; font-weight:700; }
.af-cabinet-form__control { position:relative; }
.af-cabinet-form__control > i { position:absolute; left:15px; top:50%; transform:translateY(-50%); color:var(--af-cabinet-light-blue); pointer-events:none; z-index:2; }
.af-cabinet-form__control input { width:100% !important; height:46px !important; margin:0 !important; border:1px solid #d9e0ea !important; border-radius:11px !important; background:#fff !important; color:var(--af-cabinet-graphite) !important; padding:0 14px 0 44px !important; text-indent:0 !important; outline:none !important; box-shadow:none !important; font-size:13px !important; transition:.2s ease; }
.af-cabinet-form__control input:focus { border-color:var(--af-cabinet-blue-2) !important; box-shadow:0 0 0 3px rgba(71,99,154,.11) !important; }
.af-cabinet-form__actions { display:flex; justify-content:flex-end; gap:10px; margin-top:18px; }
.af-cabinet-btn { min-height:42px; border-radius:10px; padding:9px 16px; border:1px solid transparent; display:inline-flex; align-items:center; justify-content:center; gap:9px; font-weight:700; font-size:12px; cursor:pointer; transition:.2s ease; }
.af-cabinet-btn--primary { background:var(--af-cabinet-blue); color:#fff; }
.af-cabinet-btn--primary:hover { background:var(--af-cabinet-blue-2); }
.af-cabinet-btn--secondary { background:#fff; border-color:#d8e0ea; color:var(--af-cabinet-gray); }
.af-cabinet-btn--secondary:hover { background:#f5f7fa; }
.af-cabinet-btn[disabled] { opacity:.6; cursor:wait; }
.af-cabinet-form #ajax_alert_block { margin-top:16px; }

.af-manager-card__body { display:flex; align-items:center; gap:16px; }
.af-manager-card__avatar { width:58px; height:58px; flex:0 0 58px; border-radius:16px; display:grid; place-items:center; background:#edf3fb; color:var(--af-cabinet-blue); font-weight:800; font-size:22px; }
.af-manager-card__info { min-width:0; }
.af-manager-card__name { display:block; color:var(--af-cabinet-graphite); font-size:16px; margin-bottom:8px; }
.af-manager-card__contacts { display:flex; flex-wrap:wrap; gap:10px 16px; }
.af-manager-card__contacts a { display:inline-flex; align-items:center; gap:7px; color:var(--af-cabinet-blue-2); text-decoration:none !important; font-size:13px; }

.af-orders-list { display:grid; gap:10px; }
.af-order-card { display:grid; grid-template-columns:minmax(0,1.2fr) minmax(0,1fr) auto; gap:18px; align-items:center; border:1px solid var(--af-cabinet-border); border-radius:14px; padding:16px; background:#fff; transition:.2s ease; }
.af-order-card:hover { border-color:#cbd7e8; box-shadow:0 8px 20px rgba(20,50,110,.06); }
.af-order-card__number { color:var(--af-cabinet-graphite); font-size:14px; font-weight:800; }
.af-order-card__date { display:flex; align-items:center; gap:7px; margin-top:6px; color:var(--af-cabinet-muted); font-size:11px; }
.af-order-card__total { color:var(--af-cabinet-blue); font-size:17px; font-weight:800; }
.af-order-card__total span { font-size:12px; font-weight:700; }
.af-order-card__badges { display:flex; flex-wrap:wrap; gap:6px; margin-top:7px; }
.af-order-badge { display:inline-flex; align-items:center; min-height:25px; border-radius:999px; padding:4px 9px; background:#f0f4fa; color:var(--af-order-status-color, #47639a); font-size:10px; font-weight:800; }
.af-order-badge.is-paid { background:#edf8f1; color:#26824b; }
.af-order-badge.is-unpaid { background:#fff1f1; color:#b84a4a; }
.af-order-card__action { width:38px; height:38px; border-radius:10px; background:#edf3fb; color:var(--af-cabinet-blue); display:grid; place-items:center; text-decoration:none !important; }
.af-order-card__action span { display:none; }
.af-order-card__action:hover { background:var(--af-cabinet-blue); color:#fff; }

.af-cabinet-empty { min-height:220px; display:grid; place-items:center; align-content:center; text-align:center; gap:12px; color:var(--af-cabinet-muted); }
.af-cabinet-empty__icon { width:62px; height:62px; border-radius:18px; display:grid; place-items:center; background:#edf3fb; color:var(--af-cabinet-blue); font-size:23px; }
.af-cabinet-empty__text { max-width:420px; font-size:13px; }
.af-cabinet-pagination { margin-top:4px; }

.af-cabinet-products { min-width:0; overflow:hidden; }
.af-cabinet-card--products .af-cabinet-products .row { margin-left:0; margin-right:0; }

.af-cabinet-order-view .row { margin-left:0; margin-right:0; }
.af-cabinet-order-view .status_change { width:100%; margin:0; }
.af-cabinet-order-view__summary > *:first-child,
.af-cabinet-order-view__products > *:first-child,
.af-cabinet-order-view__status > *:first-child { margin-top:0; }
.af-cabinet-order-view table { width:100% !important; max-width:100% !important; }
.af-cabinet-order-view img { max-width:100% !important; height:auto !important; }

@media (max-width: 991px) {
    .af-cabinet__layout { grid-template-columns:1fr; }
    .af-cabinet-sidebar { position:static; }
    .af-cabinet-nav { grid-template-columns:repeat(3,minmax(0,1fr)); }
    .af-cabinet-nav__item { justify-content:center; text-align:center; }
    .af-cabinet-logout { justify-content:center; }
    .af-cabinet-form__grid--three { grid-template-columns:1fr; }
}

@media (max-width: 767px) {
    .af-cabinet { padding:14px 0 30px; }
    .af-cabinet__layout { gap:14px; }
    .af-cabinet-card { padding:16px; border-radius:14px; }
    .af-cabinet-card__title { font-size:18px; }
    .af-cabinet-profile { padding:15px; }
    .af-cabinet-nav { display:flex; flex-direction:column; overflow:visible; gap:6px; padding:8px; }
    .af-cabinet-nav__item { flex:0 0 auto; width:100%; min-height:40px; padding:7px 10px; justify-content:flex-start; text-align:left; }
    .af-cabinet-nav__icon { width:28px; height:28px; }
    .af-cabinet-form__grid { grid-template-columns:1fr; }
    .af-cabinet-form__field--wide { grid-column:auto; }
    .af-cabinet-form__actions { flex-direction:column-reverse; }
    .af-cabinet-btn { width:100%; }
    .af-manager-card__body { align-items:flex-start; }
    .af-manager-card__contacts { display:grid; gap:8px; }
    .af-order-card { grid-template-columns:1fr auto; gap:12px; }
    .af-order-card__meta { grid-column:1/2; }
    .af-order-card__action { grid-column:2; grid-row:1/3; align-self:center; }
}

@media (max-width: 420px) {
    .af-cabinet-profile__avatar { width:42px; height:42px; flex-basis:42px; }
    .af-cabinet-nav__item { font-size:11px; }
    .af-order-card { padding:13px; }
}

/* Cabinet card headings: keep icon and title on one line despite legacy global styles */
.af-cabinet-card > .af-cabinet-card__header > .af-cabinet-card__heading,
.af-cabinet-card .af-cabinet-card__header .af-cabinet-card__heading {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 11px !important;
    width: auto !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
}

.af-cabinet-card .af-cabinet-card__heading > .af-cabinet-card__eyebrow {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex: 0 0 34px !important;
    width: 34px !important;
    height: 34px !important;
    margin: 0 !important;
    padding: 0 !important;
}

.af-cabinet-card .af-cabinet-card__heading > .af-cabinet-card__title {
    display: block !important;
    flex: 0 1 auto !important;
    width: auto !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* Orders list — isolated modern card styles. Keep these rules after legacy styles. */
.af-cabinet .af-orders-list {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 12px !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}

.af-cabinet .af-orders-list > .af-order-card {
    position: relative !important;
    display: grid !important;
    grid-template-columns: minmax(190px, 1.15fr) minmax(210px, 1fr) auto !important;
    align-items: center !important;
    gap: 22px !important;
    width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 18px 18px 18px 20px !important;
    border: 1px solid #e2e8f1 !important;
    border-radius: 14px !important;
    background: #fefefe !important;
    box-shadow: 0 4px 14px rgba(38, 37, 35, .035) !important;
    color: #262523 !important;
    overflow: hidden !important;
    transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease !important;
}

.af-cabinet .af-orders-list > .af-order-card::before {
    content: "" !important;
    position: absolute !important;
    left: 0 !important;
    top: 0 !important;
    bottom: 0 !important;
    width: 4px !important;
    background: #14326e !important;
}

.af-cabinet .af-orders-list > .af-order-card:hover {
    border-color: #c6d2e4 !important;
    box-shadow: 0 10px 28px rgba(20, 50, 110, .08) !important;
    transform: translateY(-1px) !important;
}

.af-cabinet .af-order-card__main,
.af-cabinet .af-order-card__meta {
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
}

.af-cabinet .af-order-card__number {
    display: block !important;
    margin: 0 !important;
    color: #262523 !important;
    font-size: 15px !important;
    line-height: 1.35 !important;
    font-weight: 800 !important;
}

.af-cabinet .af-order-card__date {
    display: inline-flex !important;
    align-items: center !important;
    gap: 7px !important;
    margin: 7px 0 0 !important;
    color: #909091 !important;
    font-size: 12px !important;
    line-height: 1.35 !important;
    font-style: normal !important;
    white-space: nowrap !important;
}

.af-cabinet .af-order-card__date i {
    color: #96afd7 !important;
}

.af-cabinet .af-order-card__total {
    display: flex !important;
    align-items: baseline !important;
    gap: 5px !important;
    margin: 0 !important;
    color: #14326e !important;
    font-size: 19px !important;
    line-height: 1.2 !important;
    font-weight: 800 !important;
}

.af-cabinet .af-order-card__total span {
    color: #47639a !important;
    font-size: 12px !important;
    font-weight: 700 !important;
}

.af-cabinet .af-order-card__badges {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    gap: 7px !important;
    margin: 8px 0 0 !important;
    padding: 0 !important;
}

.af-cabinet .af-order-badge {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 26px !important;
    margin: 0 !important;
    padding: 5px 10px !important;
    border: 1px solid rgba(71, 99, 154, .10) !important;
    border-radius: 999px !important;
    background: #f1f5fa !important;
    color: var(--af-order-status-color, #47639a) !important;
    font-size: 10px !important;
    line-height: 1.15 !important;
    font-weight: 800 !important;
    white-space: nowrap !important;
}

.af-cabinet .af-order-badge.is-paid {
    border-color: #d7eddf !important;
    background: #edf8f1 !important;
    color: #26824b !important;
}

.af-cabinet .af-order-badge.is-unpaid {
    border-color: #f0d7d7 !important;
    background: #fff2f2 !important;
    color: #b84a4a !important;
}

.af-cabinet .af-order-card__action {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 9px !important;
    width: auto !important;
    min-width: 118px !important;
    min-height: 42px !important;
    margin: 0 !important;
    padding: 9px 14px !important;
    border: 1px solid #14326e !important;
    border-radius: 10px !important;
    background: #14326e !important;
    color: #fff !important;
    text-decoration: none !important;
    font-size: 12px !important;
    line-height: 1.2 !important;
    font-weight: 800 !important;
    box-shadow: none !important;
    transition: background .2s ease, border-color .2s ease !important;
}

.af-cabinet .af-order-card__action span {
    display: inline !important;
    color: inherit !important;
}

.af-cabinet .af-order-card__action i {
    font-size: 10px !important;
    color: inherit !important;
}

.af-cabinet .af-order-card__action:hover {
    border-color: #47639a !important;
    background: #47639a !important;
    color: #fff !important;
}

@media (max-width: 767px) {
    .af-cabinet .af-orders-list > .af-order-card {
        grid-template-columns: minmax(0, 1fr) auto !important;
        gap: 12px 14px !important;
        padding: 15px 14px 15px 17px !important;
    }

    .af-cabinet .af-order-card__main {
        grid-column: 1 / 2 !important;
    }

    .af-cabinet .af-order-card__meta {
        grid-column: 1 / 2 !important;
    }

    .af-cabinet .af-order-card__action {
        grid-column: 2 !important;
        grid-row: 1 / 3 !important;
        align-self: stretch !important;
        min-width: 44px !important;
        width: 44px !important;
        padding: 0 !important;
    }

    .af-cabinet .af-order-card__action span {
        display: none !important;
    }

    .af-cabinet .af-order-card__total {
        font-size: 17px !important;
    }
}

@media (max-width: 420px) {
    .af-cabinet .af-orders-list > .af-order-card {
        border-radius: 12px !important;
        padding: 13px 12px 13px 15px !important;
    }

    .af-cabinet .af-order-card__number {
        font-size: 13px !important;
    }

    .af-cabinet .af-order-card__date {
        font-size: 11px !important;
    }

    .af-cabinet .af-order-badge {
        white-space: normal !important;
    }
}

/* Order view — summary card */
.af-cabinet-order-view__summary {
    padding: 0 !important;
    overflow: hidden;
}

.af-cabinet .af-order-info {
    width: 100%;
    min-width: 0;
}

.af-cabinet .af-order-info__header {
    display: flex !important;
    align-items: center !important;
    gap: 14px !important;
    padding: 20px 22px !important;
    margin: 0 !important;
    border-bottom: 1px solid var(--af-cabinet-border) !important;
    background: linear-gradient(180deg, #ffffff 0%, #fbfcfe 100%);
}

.af-cabinet .af-order-info__back {
    width: 38px !important;
    height: 38px !important;
    flex: 0 0 38px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border: 1px solid #dbe3ee !important;
    border-radius: 11px !important;
    background: #fff !important;
    color: var(--af-cabinet-blue) !important;
    text-decoration: none !important;
    transition: .2s ease;
}

.af-cabinet .af-order-info__back:hover {
    border-color: var(--af-cabinet-blue);
    background: var(--af-cabinet-blue) !important;
    color: #fff !important;
}

.af-cabinet .af-order-info__heading {
    min-width: 0;
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    gap: 11px !important;
}

.af-cabinet .af-order-info__icon {
    width: 38px;
    height: 38px;
    flex: 0 0 38px;
    display: grid;
    place-items: center;
    border-radius: 11px;
    background: #edf3fb;
    color: var(--af-cabinet-blue);
    font-size: 15px;
}

.af-cabinet .af-order-info__heading-text {
    min-width: 0;
}

.af-cabinet .af-order-info__eyebrow {
    margin: 0 0 2px !important;
    color: var(--af-cabinet-muted) !important;
    font-size: 10px !important;
    line-height: 1.2 !important;
    font-weight: 700 !important;
    text-transform: uppercase;
    letter-spacing: .05em;
}

.af-cabinet .af-order-info__title {
    margin: 0 !important;
    padding: 0 !important;
    color: var(--af-cabinet-graphite) !important;
    font-size: 21px !important;
    line-height: 1.25 !important;
    font-weight: 800 !important;
    white-space: normal;
}

.af-cabinet .af-order-info__summary {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
}

.af-cabinet .af-order-info__summary-item {
    min-width: 0;
    min-height: 94px;
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    padding: 18px 22px !important;
    margin: 0 !important;
    border-right: 1px solid var(--af-cabinet-border);
}

.af-cabinet .af-order-info__summary-item:last-child {
    border-right: 0;
}

.af-cabinet .af-order-info__summary-icon {
    width: 36px;
    height: 36px;
    flex: 0 0 36px;
    display: grid;
    place-items: center;
    border-radius: 10px;
    background: #f1f5fb;
    color: var(--af-cabinet-blue-2);
    font-size: 13px;
}

.af-cabinet .af-order-info__label {
    margin: 0 0 5px !important;
    color: var(--af-cabinet-muted) !important;
    font-size: 10px !important;
    line-height: 1.2 !important;
    font-weight: 700 !important;
    text-transform: uppercase;
    letter-spacing: .04em;
}

.af-cabinet .af-order-info__value {
    color: var(--af-cabinet-blue) !important;
    font-size: 21px !important;
    line-height: 1.1 !important;
    font-weight: 800 !important;
}

.af-cabinet .af-order-info__value span {
    font-size: 12px !important;
    font-weight: 700 !important;
}

.af-cabinet .af-order-info__date {
    color: var(--af-cabinet-graphite) !important;
    font-size: 13px !important;
    line-height: 1.3 !important;
    font-weight: 700 !important;
}

.af-cabinet .af-order-info__status {
    --af-order-info-status: #47639a;
    display: inline-flex !important;
    align-items: center !important;
    gap: 7px !important;
    max-width: 100%;
    min-height: 28px;
    padding: 5px 10px !important;
    border-radius: 999px !important;
    background: color-mix(in srgb, var(--af-order-info-status) 10%, white) !important;
    color: var(--af-order-info-status) !important;
    font-size: 11px !important;
    line-height: 1.2 !important;
    font-weight: 800 !important;
}

.af-cabinet .af-order-info__status-dot {
    width: 7px;
    height: 7px;
    flex: 0 0 7px;
    border-radius: 50%;
    background: var(--af-order-info-status);
}

@supports not (background: color-mix(in srgb, #000 10%, white)) {
    .af-cabinet .af-order-info__status {
        background: #f0f4fa !important;
    }
}

@media (max-width: 900px) {
    .af-cabinet .af-order-info__summary {
        grid-template-columns: 1fr !important;
    }

    .af-cabinet .af-order-info__summary-item {
        min-height: 76px;
        border-right: 0;
        border-bottom: 1px solid var(--af-cabinet-border);
    }

    .af-cabinet .af-order-info__summary-item:last-child {
        border-bottom: 0;
    }
}

@media (max-width: 767px) {
    .af-cabinet .af-order-info__header {
        padding: 16px !important;
        gap: 10px !important;
    }

    .af-cabinet .af-order-info__back,
    .af-cabinet .af-order-info__icon {
        width: 34px !important;
        height: 34px !important;
        flex-basis: 34px !important;
    }

    .af-cabinet .af-order-info__title {
        font-size: 17px !important;
    }

    .af-cabinet .af-order-info__summary-item {
        padding: 14px 16px !important;
    }

    .af-cabinet .af-order-info__value {
        font-size: 18px !important;
    }
}
