/* header =====> */

.main-header-container {
    background: #FFF;
    position: fixed;
    width: 100%;
    top: 0;
    z-index: 9999;
}

.main-header-content {
    margin: 0 auto;
    max-width: 1280px;
    display: flex;
    padding: 10px 60px;
    justify-content: space-between;
    align-items: center;
}

.main-header-left {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 30px;
}

.header-logo img {
    height: 41px;
}

.header-tracking {
    position: relative;
    display: flex;
    width: 400px;
    min-width: 260px;
    justify-content: space-between;
    align-items: center;
}

.header-tracking input,
.header-tracking input:focus {
    border-radius: 10px;
    background: #F6F6F6;
    border-color: #F6F6F6;
    display: flex;
    height: 50px;
    padding: 24px 45px 9px 45px;
    justify-content: space-between;
    align-items: center;
    flex: 1 0 0;
}

.header-tracking .tracking-icon1 {
    position: absolute;
    left: 15px;
    top: 13px;
}

.header-tracking .tracking-icon2 {
    position: absolute;
    right: 15px;
    top: 13px;
    cursor: pointer;
}

.header-tracking label {
    position: absolute;
    top: 14px;
    left: 45px;
    color: #5D6368;
    font-size: 16px;
    font-style: normal;
    font-weight: 400;
    line-height: normal;
    letter-spacing: -0.48px;
}

.header-tracking input.filled + label,
.header-tracking input:active + label,
.header-tracking input:focus + label,
.header-tracking input:-webkit-autofill + label {
    top: 7px;
    font-size: 14px;
    transition: all 0.3s ease;
}

.main-header-right {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 15px;
}

.header-login-link {
    display: flex;
    align-items: center;
    height: 50px;
}

.header-login-link-text {
    display: flex;
    align-items: center;
    gap: 8px;
    color: #005CB5;
    font-size: 16px;
    font-style: normal;
    font-weight: 400;
    line-height: normal;
    letter-spacing: -0.48px;
    text-decoration: none;
}

.header-login-link-text:hover {
    color: #005CB5;
    text-decoration: underline;
}

.header-login-icon {
    width: 20px;
    height: 20px;
}

@media screen and (max-width: 470px) {
    .header-login-link {
        display: none;
    }
}

.header-item-wrapper {
    position: relative;
    display: flex;
    height: 50px;
}

.header-item {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 5px;
    cursor: pointer;
}

.header-item img {
    width: 32px;
}

.header-item img.profile-photo {
    width: 38px;
    height: 38px;
    border-radius: 50%;
    object-fit: cover;
    display: block;
}

.header-item-search {
    position: relative;
    display: flex;
    width: 390px;
    min-width: 260px;
    align-items: center;
    gap: 5px;
    height: 50px;
}

.header-item-search input,
.header-item-search input:focus {
    border-radius: 10px;
    background: #F6F6F6;
    border-color: #F6F6F6;
    display: none;
    height: 50px;
    padding: 24px 45px 9px 15px;
    justify-content: space-between;
    align-items: center;
    flex: 1 0 0;
}

.header-item-search img {
    position: absolute;
    right: 0;
    top: 10px;
    cursor: pointer;
    width: 32px;
}

.header-item-search label {
    position: absolute;
    top: 14px;
    left: 15px;
    color: #5D6368;
    font-size: 16px;
    font-style: normal;
    font-weight: 400;
    line-height: normal;
    letter-spacing: -0.48px;
    display: none;
}

.header-item-search input.filled + label,
.header-item-search input:active + label,
.header-item-search input:focus + label,
.header-item-search input:-webkit-autofill + label {
    top: 7px;
    font-size: 14px;
    transition: all 0.3s ease;
}

.header-search-show .header-item-search img {
    right: 15px;
    top: 13px;
    width: 24px;
}

.header-search-show .header-item-search input,
.header-search-show .header-item-search input:focus {
    display: flex;
}

.header-search-show .header-item-search label {
    display: block;
}

.header-dropdown {
    display: none;
    padding: 25px 27px;
    flex-direction: column;
    align-items: flex-start;
    gap: 20px;
    border-radius: 15px;
    background: #FFF;
    box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.10);
    position: absolute;
    right: 0;
    top: 70px;
    z-index: 9999;
}

.header-dropdown.header-dropdown-profile {
    width: 390px;
}

.header-dropdown.header-dropdown-notify {
    width: 550px;
}

.header-dropdown-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    align-self: stretch;
}

.header-dropdown-header .header-dropdown-title {
    color: #5D6368;
    font-size: 24px;
    font-style: normal;
    font-weight: 600;
    line-height: normal;
    letter-spacing: -0.72px;
}

.header-dropdown-header img {
    cursor: pointer;
}

.header-dropdown-link a {
    display: flex;
    align-items: center;
    gap: 5px;
    align-self: stretch;
    color: #2F2F30;
}

.header-dropdown-main-link {
    font-size: 18px;
    font-weight: 600;
    letter-spacing: -0.54px;
}

.header-item-search.show-dropdown .header-dropdown {
    display: flex;
    left: 0;
}

.header-item-wrapper.show .header-dropdown {
    display: flex;
}

.header-dropdown-notify-items {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: 12px;
    align-self: stretch;
    cursor: pointer;
    color: #2F2F30;
    text-decoration: none;
}
.header-dropdown-notify-items:hover,
.header-dropdown-notify-items:visited {
    color: #2F2F30;
    text-decoration: none;
}

.header-dropdown-notify-items > div {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    flex: 1 0 0;
}

.header-dropdown-notify-items > div div:first-child {
    display: flex;
    align-items: center;
    gap: 5px;
    align-self: stretch;
}

.header-dropdown-notify-items > div div:last-child {
    font-size: 20px;
    font-style: normal;
    font-weight: 600;
    line-height: normal;
    letter-spacing: -0.6px;
}

.search-results {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 12px;
    align-self: stretch;
}

.search-result-item {
    display: flex;
    height: 49px;
    flex-direction: column;
    align-items: flex-start;
    align-self: stretch;
    cursor: pointer;
}

.search-result-item div:first-child {
    flex: 1 0 0;
    align-self: stretch;
    overflow: hidden;
    color: #2F2F30;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: 20px;
    font-style: normal;
    font-weight: 600;
    line-height: normal;
    letter-spacing: -0.6px;
}

.search-result-item div:last-child {
    overflow: hidden;
    color: #5D6368;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: 16px;
    font-style: normal;
    font-weight: 400;
    line-height: normal;
    letter-spacing: -0.48px;
    flex: 1 0 0;
    align-self: stretch;
}

a.search-result-item {
    text-decoration: none;
    color: inherit;
}

a.search-result-item:hover {
    opacity: 0.85;
}

.search-results-block {
    align-self: stretch;
}

.search-results-empty {
    color: #5D6368;
    font-size: 14px;
    line-height: 1.4;
    padding: 8px 0;
}

/* <===== header */

/* footer =====> */

.main-footer-container {
    position: fixed;
    bottom: 0;
    width: 100%;
    z-index: 1;
}

.main-footer-content {
    margin: 0 auto;
    max-width: 1280px;
    padding: 0 60px;
}

.main-footer-row {
    display: flex;
    padding: 27px 0;
    justify-content: space-between;
    align-items: center;
    background: #ECECEC;
}

.main-footer-row-actions {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    max-width: 50px;
}

.main-footer-row-actions .support {
    display: flex;
    width: 70px;
    height: 70px;
    padding: 9px;
    justify-content: center;
    align-items: center;
    gap: 10px;
    flex-shrink: 0;
    border-radius: 100px;
    background: #FFF;
    box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.15);
    cursor: pointer;
}

.main-footer-copy {
    color: #979FA6;
    font-size: 16px;
    font-style: normal;
    font-weight: 400;
    line-height: 100%; /* 16px */
    letter-spacing: -0.48px;
}

.main-footer-menu {
    display: flex;
    align-items: center;
    gap: 22px;
}

.main-footer-menu a,
.main-footer-menu a:hover {
    text-decoration: none;
    color: #979FA6;
    font-size: 16px;
    font-style: normal;
    font-weight: 400;
    line-height: 100%; /* 16px */
    letter-spacing: -0.48px;
}

.scroll-to-top img {
    cursor: pointer;
    transition: opacity 0.3s;
    display: none;
}

.scroll-to-top img.show {
    display: block;
    opacity: 0.8;
}

.scroll-to-top img:hover {
    opacity: 1;
}

/* <===== footer */

/* content =====> */
.main-wrapper {
    width: 100%;
    min-height: calc(100vh - 245px);
    margin-top: 95px;
    margin-bottom: 200px;
}

.main-container {
    margin: 0 auto;
    width: 1280px;
    padding: 0 60px;
    display: flex;
    flex-direction: row;
    gap: 20px;
}

/* <===== content */

/* <===== sidebar */

.main-sidebar {
    width: 280px;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.sidebar-menu-wrapper {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.sidebar-menu {
    display: flex;
    width: 280px;
    padding: 17px 7px;
    flex-direction: column;
    align-items: flex-start;
    gap: 14px;
    background: #FFF;
}

.sidebar-menu-top {
    border-radius: 15px 15px 2px 2px;
}

.sidebar-menu-middle {
    border-radius: 2px;
}

.sidebar-menu-bottom {
    border-radius: 2px 2px 15px 15px;
}

.sidebar-menu-balance {
    border-radius: 15px;
    margin-top: 2px;
    padding: 4px 8px 4px 16px;
    background: #fff;
}

.sidebar-menu-balance .sidebar-balance-amount {
    color: #5D6368;
}

.sidebar-menu-balance .sidebar-menu-item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
}

.sidebar-menu-balance .sidebar-balance-label {
    flex: 1 1 auto;
    min-width: 0;
    padding: 0;
    color: #2F2F30;
    font-size: 16px;
    font-weight: 400;
}

.sidebar-menu-balance .sidebar-balance-label:hover {
    background: transparent !important;
}

.sidebar-balance-plus {
    width: 54px;
    height: 54px;
    border-radius: 50%;
    margin-left: auto;
    flex: 0 0 auto;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    align-self: center !important;
    padding: 0 !important;
    gap: 0 !important;
    background: transparent !important;
    margin-right: -2px;
}

.sidebar-menu-item {
    width: 100%;
}

.sidebar-menu-item a {
    display: flex;
    align-items: center;
    gap: 5px;
    align-self: stretch;
    padding: 3px 8px;
    color: #2F2F30;
    font-size: 16px;
    font-style: normal;
    font-weight: 400;
    line-height: normal;
    letter-spacing: -0.48px;
    text-decoration: none;
    border-radius: 5px;
}

.sidebar-menu-item a:hover {
    text-decoration: none;
    background: #ECECEC;
}

/* Боковые баннеры: один под другим, ширина 280px */
.sidebar-banners {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.sidebar-banner img {
    width: 280px;
    border-radius: 15px;
}

/* <===== sidebar */

.site-error {
    display: flex;
    padding: 30px 25px;
    flex-direction: column;
    align-items: flex-start;
    gap: 25px;
    border-radius: 15px;
    background: #FFF;
}

.header-item-search-hide-mobile,
.header-item-mobile-menu {
    display: none;
    cursor: pointer;
}

.main-sidebar .header-tracking {
    display: none;
}

.main-content {
    display: flex;
    width: 860px;
    flex-direction: column;
    align-items: stretch;
    gap: 25px;
}

.main-content-full-width {
    width: 100%;
}

/* На странице /import между блоками контента — уменьшенный отступ */
.route-import .main-content {
    gap: 10px;
}

.balance-page {
    width: 100%;
    max-width: 100%;
}

.balance-page-title {
    margin-bottom: 18px;
    letter-spacing: -1.4px;
}

.balance-summary-card {
    margin-bottom: 20px;
    border-radius: 20px;
    background: #FFF;
    padding: 22px 30px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
}

.balance-summary-amount {
    font-size: 24px;
    font-weight: 600;
    letter-spacing: -1.2px;
    line-height: 1;
}

.balance-summary-actions {
    display: flex;
    align-items: center;
    gap: 14px;
    flex-wrap: wrap;
}

.balance-summary-btn,
.balance-summary-btn:hover,
.balance-summary-btn:focus {
    min-height: 50px;
    border-radius: 14px !important;
    padding: 12px 26px !important;
    font-size: 18px;
    letter-spacing: -3%;
}

.balance-summary-btn img {
    width: 28px;
    height: 28px;
}

.balance-summary-btn-withdraw,
.balance-summary-btn-withdraw:hover,
.balance-summary-btn-withdraw:focus {
    background: #FFF !important;
    color: #E42313 !important;
    border: 2px solid #E42313 !important;
}

.balance-section {
    margin-top: 24px;
}

.balance-section-title {
    margin-bottom: 15px;
}

.balance-limit-text,
.balance-info-text,
.balance-state-text {
    font-size: 16px;
    color: #2F2F30;
}

.balance-form {
    margin-top: 10px;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 10px;
}

.balance-amount-field {
    width: 100%;
    max-width: 300px;
}

.balance-action-btn {
    min-width: 110px;
    font-size: 18px;
}

.balance-section-ops {
    margin-top: 26px;
}

.balance-ops-list {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.balance-op-item {
    min-height: 90px;
    border-radius: 12px;
    background: #fff;
    padding: 14px 22px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
}

.balance-op-main {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    min-width: 0;
}

.balance-op-top {
    display: flex;
    align-items: center;
    gap: 10px;
}

.balance-op-icon {
    width: 22px;
    height: 22px;
    opacity: 0.65;
    margin-top: 0;
}

.balance-op-title {
    font-size: 20px;
    line-height: 1.2;
    color: #2F2F30;
}

.balance-op-date {
    margin-top: 8px;
    font-size: 16px;
    line-height: 1.2;
    color: #5D6368;
}

.balance-op-amount {
    font-size: 20px;
    line-height: 1.2;
    color: #2F2F30;
    white-space: nowrap;
    text-align: right;
}

.balance-ops-pagination {
    margin-top: 14px;
}

.balance-about-card {
    border-radius: 20px;
    background: #EFF2FF;
    padding: 22px 24px 20px;
}

.balance-about-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 10px;
    cursor: pointer;
}

.balance-about-title {
    display: flex;
    align-items: center;
    gap: 10px;
}

.balance-about-title h2 {
    font-size: 20px !important;
    letter-spacing: -1.2px;
}

.balance-about-title img {
    width: 32px;
    height: 32px;
}

.balance-about-chevron {
    width: 22px;
    height: 22px;
    opacity: 0.6;
    transition: transform 0.2s ease;
}

.balance-about-card.balance-about-collapsed .balance-about-chevron {
    transform: rotate(180deg);
}

.balance-about-card.balance-about-collapsed .balance-about-content {
    display: none;
}

.balance-about-card.balance-about-collapsed .balance-about-header {
    margin-bottom: 0;
}

.balance-about-content,
.balance-about-content p,
.balance-about-content li {
    font-size: 16px;
    line-height: 1.25;
    color: #2F2F30;
}

.balance-about-content ul,
.balance-about-content ol {
    margin: 0;
    padding-left: 26px;
}

.balance-about-content li + li {
    margin-top: 8px;
}

.balance-about-content p {
    margin: 0;
}

.balance-about-content p + p,
.balance-about-content p + ul,
.balance-about-content p + ol,
.balance-about-content ul + p,
.balance-about-content ol + p {
    margin-top: 8px;
}

.balance-popup-hint {
    font-size: 20px;
    color: #5D6368;
    margin-bottom: 12px;
}

#balance-modal .modal-custom-body {
    padding: 24px 26px 24px;
}

#balance-modal .modal-custom-title {
    font-size: 24px;
    font-weight: 600;
    line-height: 1.15;
    letter-spacing: -0.72px;
    gap: 12px;
    margin-right: 56px;
}

#balance-modal .modal-custom-title img {
    width: 34px;
    height: 34px;
}

#balance-modal .modal-custom-close {
    top: 22px;
    right: 22px;
    opacity: 0.7;
}

.balance-popup-note {
    font-size: 16px;
    line-height: 1.45;
    color: #2F2F30;
    margin: 14px 0 16px;
}

.balance-popup-note a {
    color: #176BFF;
    text-decoration: none;
}

.balance-popup-note a:hover {
    text-decoration: underline;
}

.balance-popup-form {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.balance-popup-field {
    max-width: 100%;
}

.balance-popup .btn {
    width: 152px;
    min-height: 50px;
    padding: 10px 20px;
    border-radius: 11px;
    font-size: 18px;
    line-height: 1.2;
}

.page-content {
    display: flex;
    padding: 30px 25px;
    flex-direction: column;
    align-items: flex-start;
    gap: 25px;
    border-radius: 15px;
    background: #FFF;
}

.page-content h1 {
    font-size: 28px;
    font-weight: 700;
    color: #2F2F30;
    margin: 0;
}

.page-content p {
    font-size: 16px;
    color: #666;
    margin: 0;
}

#map {
    width: 100%;
    height: 600px;
    border-radius: 15px;
    margin-top: 20px;
    z-index: 1;
}

.page-disclaimer {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    gap: 10px;
    align-self: stretch;
    border-radius: 15px;
    background: #FFF;
    position: relative;
    cursor: pointer;
    transition: box-shadow 0.2s ease;
}

.page-disclaimer:hover {
    box-shadow: 0 2px 12px rgba(0, 0, 0, 0.08);
}

.page-disclaimer-link {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 1;
}

.pade-disclaimer-title {
    display: flex;
    justify-content: space-between;
    align-items: center;
    align-self: stretch;
}

.pade-disclaimer-title > div {
    display: flex;
    align-items: center;
    gap: 10px;
}

.pade-disclaimer-title > img,
.pade-disclaimer-title > a {
    cursor: pointer;
    position: relative;
    z-index: 2;
}

.pade-disclaimer-title > div div {
    color: #E42313;
    font-size: 24px;
    font-style: normal;
    font-weight: 600;
    line-height: normal;
    letter-spacing: -0.72px;
}

.page-tracking {
    display: flex;
    padding: 30px 25px;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    gap: 10px;
    border-radius: 15px;
    background: #FFF;
}

.page-tracking input {
    display: flex;
    padding: 9px 15px;
    justify-content: space-between;
    align-items: center;
    flex-shrink: 0;
    align-self: stretch;
    border-radius: 10px;
    background: #ECECEC;
    border-color: #ECECEC;
    color: #2F2F30;
    font-size: 16px;
    font-style: normal;
    font-weight: 400;
    line-height: normal;
    letter-spacing: -0.48px;
}

.page-tracking input:focus {
    border-color: #ECECEC;
    background: #ECECEC;
}

.page-tracking input::placeholder {
    opacity: 0.7;
}

.tracking-page-form.page-tracking {
    flex-direction: row;
    flex-wrap: wrap;
}

.tracking-page-form .form-field {
    flex: 1;
    min-width: 200px;
}

.field-with-icon {
    position: relative;
    align-self: stretch;
    display: flex;
    flex: 1;
}

.field-with-icon img {
    position: absolute;
    right: 15px;
    top: 9px;
    cursor: pointer;
}

.field-with-icon.with-label img {
    top: 12px;
}

.field-with-icon-info {
    display: flex;
    align-items: center;
    gap: 5px;
    align-self: stretch;
    flex-direction: row;
    flex-wrap: wrap;
}

.field-with-icon-info .form-field,
.field-with-icon .form-field {
    flex: 1;
}

.field-with-icon-info .field-error {
    width: 100%;
}

.useful-container {
    display: flex;
    align-items: center;
    align-content: center;
    gap: 10px;
    flex-wrap: wrap;
}

.useful-item {
    display: flex;
    padding: 30px 23px;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    gap: 10px;
    flex: 0 0 calc((100% - 20px) / 3);
    border-radius: 15px;
    background: #FFF;
    text-decoration: none;
    color: inherit;
    border: 1px solid #eee;
}

.useful-item-icon {
    width: 32px;
    height: 32px;
}

.useful-item-bottom {
    display: flex;
    justify-content: space-between;
    align-items: center;
    align-self: stretch;
    color: #2F2F30;
}

.useful-item-title {
    margin: 0;
}

.useful-item-arrow {
    width: 20px;
    height: 20px;
    flex-shrink: 0;
}

.parcels-container {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
}

.parcel-item {
    display: flex;
    padding: 30px 25px;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    border-radius: 15px;
    background: #FFF;
    flex: 1 1 calc(50% - 10px);
}

.parcel-item > div {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.parcel-item > div div:first-child {
    color: #5D6368;
}

.parcel-item > img {
    cursor: pointer;
}

.parcels-container .parcel-item:last-child {
    background: #D4D4D4;
    margin: 7px 0;
}

.empty-block {
    display: flex;
    padding: 30px 25px;
    flex-direction: column;
    align-items: flex-start;
    gap: 10px;
    flex-shrink: 0;
    border-radius: 15px;
    background: #FFF;
}

.send-parcel-container {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.send-parcel-item {
    display: flex;
    padding: 30px 25px;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    gap: 10px;
    flex-shrink: 0;
    border-radius: 15px;
    background: #FFF;
}

.send-parcel-item:nth-child(1),
.send-parcel-item:nth-child(2) {
    flex: 1 1 calc(50% - 10px);
}

.send-parcel-item:nth-child(3) {
    flex: 1 1 100%;
}

.send-parcel-item > div {
    display: flex;
    flex-direction: column;
    gap: 10px;
    flex: 1;
}

.send-parcel-item > div div:first-child {
    display: flex;
    align-items: flex-start;
    gap: 10px;
}

.send-parcel-item > div div:first-child img {
    width: 32px;
    height: 32px;
    aspect-ratio: 1/1;
}

.page-tabs {
    display: flex;
    align-items: flex-start;
    align-content: flex-start;
    gap: 10px;
    align-self: stretch;
    flex-wrap: wrap;
}

.page-tabs a {
    display: flex;
    height: 39px;
    padding: 10px;
    justify-content: center;
    align-items: center;
    gap: 10px;
    border-radius: 10px;
    background: #FFF;
    color: #2F2F30;
    font-size: 16px;
    font-style: normal;
    font-weight: 400;
    line-height: normal;
    letter-spacing: -0.48px;
}

.page-tabs.page-tabs-red a {
    background: #BFC8F0;
}

.page-tabs.page-tabs-grey a {
    background: #F6F6F6;
}

.page-tabs .active a {
    background: #BFC8F0;
}

.page-tabs.page-tabs-red .active a {
    background: #E42313;
    color: #ffffff;
}

.page-tab-show-mobile {
    display: none;
}

.empty-notify {
    display: flex;
    padding: 15px 25px;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    gap: 5px;
    border-radius: 15px;
    background: #FFF;
}

.notify-items {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 10px;
}

.notify-item {
    display: flex;
    padding: 20px 25px;
    flex-direction: column;
    align-items: flex-start;
    gap: 10px;
    align-self: stretch;
    border-radius: 15px;
    background: #FFF;
}

.notify-item div {
    color: #5D6368;
}

.pager {
    display: flex;
    align-items: center;
}

.pager .pager-item a {
    display: flex;
    width: 45px;
    height: 45px;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 10px;
    aspect-ratio: 1/1;
    border-radius: 10px;
    color: #2F2F30;
}

.pager .pager-item.active a {
    background: #BFC8F0;
}

.profile-section {
    display: flex;
    padding: 25px;
    flex-direction: column;
    align-self: stretch;
    border-radius: 15px;
    background: #FFF;
}

.profile-section.gap-15 {
    gap: 15px;
}

.section-button-split {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
}

.profile-section + .profile-section {
    margin-top: 32px;
}

.profile-photo-info {
    display: flex;
    align-items: center;
    gap: 10px;
    align-self: stretch;
}

.profile-form-container {
    display: flex;
    gap: 10px;
    align-self: stretch;
    flex-direction: column;
}

.form-row {
    display: flex;
    flex-direction: row;
    gap: 10px;
}

.form-row > div {
    flex: 1;
}

.passport-scan-file {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 5px;
    width: calc(50% - 5px);
}

.passport-scan-file > div {
    display: flex;
    align-items: center;
    gap: 10px;
    align-self: stretch;
    flex-direction: row;
}

.passport-scan-file > div .scan-file-icon {
    display: flex;
    padding: 10px;
    align-items: center;
    gap: 10px;
    border-radius: 5px;
    background: #F6F6F6;
}

.passport-scan-file > div .scan-file-name {
    flex: 1;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}

.payment-items {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: stretch;
    gap: 10px;
}

.payment-item {
    display: flex;
    padding: 15px 25px;
    flex-direction: column;
    justify-content: center;
    align-items: stretch;
    gap: 5px;
    border-radius: 15px;
    background: #FFF;
}

.payment-item.paid {
    padding-bottom: 10px;
}

.payment-item-row-1 {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
}

.payment-item-row-1 div:first-child {
    display: flex;
    flex-direction: row;
    gap: 10px;
}

.payment-item .payment-item-status a {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 5px;
    color: #005CB5;
    font-size: 18px;
}

.payment-item.paid .payment-item-status {
    color: #219653;
}

.payment-item-row-2 {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.payment-item-row-2 > div {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 5px;
}

.payment-item-row-2 > h3 {
    color: #005CB5;
}

.payment-item-show-detail {
    cursor: pointer;
}

.payment-item-show-detail img {
    transition: transform 0.4s ease;
    transform-origin: center;
}

.payment-item.show .payment-item-show-detail img {
    transform: rotate(180deg);
}

.payment-item-detail {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    align-self: stretch;
    gap: 5px;
    opacity: 0;
    max-height: 0;
    transition: opacity .4s ease-in-out, max-height .4s ease-in-out;
    overflow: hidden;
    pointer-events: none;
}

.payment-item.show .payment-item-detail {
    opacity: 1;
    max-height: 500px;
}

.payment-item-detail > div {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    align-self: stretch;
}

.payment-item-detail > div div:first-child {
    font-weight: 700;
    color: #2F2F30;
}

.page-filter {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    gap: 10px;
    align-self: stretch;
}

.page-filter-row {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 10px;
    align-self: stretch;
}

.page-filter-row .form-field {
    flex: 1;
}

.filter-mobile-button {
    display: none;
}

.filter-mobile-button,
.filter-reset-button {
    cursor: pointer;
}

/* Фильтры посылок (страна, статус, дата) доступны на всех вкладках направлений, включая «Все». */

.parcel-filter-toggle {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    border: none;
    background: none;
    cursor: pointer;
}

.parcel-filter-toggle img {
    display: block;
}

/* На десктопе блок фильтров (страна, статус, дата) скрыт по умолчанию, открывается по кнопке */
.page-filter .parcel-filter-fields {
    max-height: 0;
    opacity: 0;
    overflow: hidden;
    transition: opacity 0.25s ease, max-height 0.3s ease;
    pointer-events: none;
}

.page-filter.show .parcel-filter-fields {
    max-height: 500px;
    opacity: 1;
    pointer-events: auto;
}

.page-tabs-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    align-self: stretch;
}

.parcels-items {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 10px;
}

.parcels-item {
    display: flex;
    padding: 15px 25px;
    flex-direction: column;
    justify-content: center;
    align-items: stretch;
    gap: 5px;
    border-radius: 15px;
    background: #FFF;
}

.parcels-item-row-1 {
    display: flex;
    justify-content: space-between;
    align-items: center;
    align-self: stretch;
}

.parcels-item-row-1 div:first-child {
    display: flex;
    align-items: flex-start;
    gap: 3px;
}

.parcels-status-success {
    color: #219653;
}

.parcels-status-error {
    color: #E42313;
}
.parcels-status-with-icon {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    text-align: right;
}
/* Карточка «Посылка или её часть не может быть доставлена» (isNotLegal*) */
.parcel-view-not-legal { display: flex; flex-direction: column; gap: 16px; }
.parcel-view-not-legal-heading { display: flex; align-items: center; gap: 10px; margin-bottom: 8px; }
.parcel-view-not-legal-heading-text { color: #2F2F30; font-size: 24px; font-weight: 600; line-height: 1.2; }
/* Системные красные чекбоксы/радио (как .export-widget-radio) */
.parcel-view-not-legal input[type="checkbox"],
.parcel-view-not-legal input[type="radio"] {
    -webkit-appearance: none; -moz-appearance: none; appearance: none;
    width: 22px; height: 22px; flex-shrink: 0; margin: 0;
    border: 2px solid #979FA6; background-color: #fff; cursor: pointer;
}
.parcel-view-not-legal input[type="checkbox"] { border-radius: 4px; }
.parcel-view-not-legal input[type="radio"] { border-radius: 50%; }
.parcel-view-not-legal input[type="checkbox"]:checked {
    border-color: #E42313; background: #fff url(../images/icons/checkbox-red-checked.svg) center / contain no-repeat;
}
.parcel-view-not-legal input[type="radio"]:checked {
    border-color: #E42313; background: #fff url(../images/icons/radio-red-checked.svg) center / contain no-repeat;
}
.parcel-view-not-legal .parcel-view-import-pay-cols { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; align-items: start; }
@media (max-width: 768px) { .parcel-view-not-legal .parcel-view-import-pay-cols { grid-template-columns: 1fr; } }
.parcel-view-not-legal-block-title { font-weight: 600; font-size: 15px; }
.parcel-view-not-legal-items { display: flex; flex-direction: column; gap: 8px; background: #F4F6FF; border-radius: 12px; padding: 14px 16px; }
.parcel-view-not-legal-item { display: flex; align-items: center; gap: 10px; cursor: pointer; }
.parcel-view-not-legal-reasons-toggle { align-self: flex-start; background: none; border: 0; color: #2F6FED; cursor: pointer; padding: 0; font: inherit; }
.parcel-view-not-legal-reasons { font-size: 13px; color: #4B5563; }
.parcel-view-not-legal-decisions { display: flex; flex-direction: column; gap: 10px; }
.parcel-view-not-legal-decision { display: grid; grid-template-columns: 24px 1fr auto; align-items: center; gap: 12px; cursor: pointer; }
.parcel-view-not-legal-decision-price { text-align: right; font-size: 13px; color: #6B7280; }
.parcel-view-not-legal-decision-note { color: #2F6FED; }
.parcel-view-not-legal-offer { display: flex; align-items: center; gap: 8px; }
.parcel-view-not-legal-total { font-weight: 600; }
.parcel-view-not-legal-error { color: #E42313; font-size: 13px; }
.parcel-view-not-legal-pay-btn { align-self: flex-start; min-width: 160px; }
.parcels-status-icon {
    width: 16px;
    height: 16px;
    flex-shrink: 0;
}

.parcels-status-union-child {
    color: #98A2A6;
}

.parcel-date-wrapper {
    position: relative;
}

.parcel-date-wrapper .parcel-date-clear {
    position: absolute;
    right: 12px;
    top: 50%;
    transform: translateY(-50%);
    cursor: pointer;
    z-index: 2;
}

.parcel-date-wrapper .parcel-date-input.has-clear {
    padding-right: 40px;
}

.payment-date-wrapper {
    position: relative;
}

.payment-date-wrapper .payment-date-clear {
    position: absolute;
    right: 12px;
    top: 50%;
    transform: translateY(-50%);
    cursor: pointer;
    z-index: 2;
}

.payment-date-wrapper .payment-date-input.has-clear {
    padding-right: 40px;
}

/* Select2 в фильтрах и модалках — выравнивание с формой */
.page-filter .form-field .select2-container,
.form-field-grey .select2-container {
    width: 100% !important;
}

.page-filter .form-field .select2-container .select2-selection,
.form-field-grey .select2-container .select2-selection {
    min-height: 50px;
    border-radius: 10px;
    border: none;
    background-color: #fff;
}

/* Select2 multiple — категории калькулятора импорта */
.import-calc-form .select2-container--default .select2-selection--multiple {
    min-height: 50px;
    border-radius: 10px;
    padding: 4px 8px 4px 8px;
    overflow: hidden;
}
.import-calc-form .select2-container--default .select2-selection--multiple .select2-selection__rendered {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    min-height: 42px;
    gap: 4px;
    padding: 0;
}
.import-calc-form .select2-container--default .select2-selection--multiple .select2-selection__choice {
    font-size: 13px;
    padding: 2px 8px;
    margin: 0;
    border-radius: 6px;
    background: #E8E8E8;
    border: none;
    line-height: 1.4;
}
.import-calc-form .select2-container--default .select2-selection--multiple .select2-selection__choice {
    display: inline-flex;
    flex-direction: row-reverse;
    align-items: center;
}
.import-calc-form .select2-container--default .select2-selection--multiple .select2-selection__choice__remove {
    margin-right: 0;
    margin-left: 4px;
    order: -1;
}
.import-calc-form .select2-container--default .select2-selection--multiple .select2-search--inline .select2-search__field {
    margin: 0;
    padding: 0;
    font-size: 13px;
}
/* Select2 в экспортном и импортном виджетах: серые поля как обычные select'ы */
.export-widget .form-field-grey .select2-container .select2-selection,
.import-calc-form .form-field-grey .select2-container .select2-selection,
.import-register-form .form-field-grey .select2-container .select2-selection,
.parcel-view-import-pay-courier-section .form-field-grey .select2-container .select2-selection {
    background-color: #F6F6F6 !important;
}

.export-widget .form-field-grey.has-error .select2-container .select2-selection,
.import-calc-form .form-field-grey.has-error .select2-container .select2-selection,
.import-register-form .form-field-grey.has-error .select2-container .select2-selection {
    border-color: #E42313 !important;
}

.export-widget .form-field-grey .select2-container--default .select2-selection--single .select2-selection__arrow,
.import-calc-form .form-field-grey .select2-container--default .select2-selection--single .select2-selection__arrow,
.import-register-form .form-field-grey .select2-container--default .select2-selection--single .select2-selection__arrow {
    right: 12px;
    top: 50%;
    width: 20px;
    height: 20px;
    transform: translateY(-50%);
    background-image: url(../images/icons/dropdown.svg);
    background-repeat: no-repeat;
    background-position: center;
    background-size: 20px 20px;
}
.export-widget .form-field-grey .select2-container--default .select2-selection--single .select2-selection__arrow b,
.import-calc-form .form-field-grey .select2-container--default .select2-selection--single .select2-selection__arrow b,
.import-register-form .form-field-grey .select2-container--default .select2-selection--single .select2-selection__arrow b {
    display: none;
}

.export-widget .form-field-grey .select2-container .select2-selection__placeholder,
.import-calc-form .form-field-grey .select2-container .select2-selection__placeholder,
.import-register-form .form-field-grey .select2-container .select2-selection__placeholder {
    color: #9AA1AA;
}

.select2-dropdown {
    border: none;
    border-radius: 10px;
    padding: 10px;
}

.page-filter .form-field .select2-container .select2-selection .select2-selection__rendered,
.form-field-grey .select2-container .select2-selection .select2-selection__rendered {
    padding-left: 15px;
    line-height: 46px;
    padding-top: 10px;
}

.form-field .select2-container + label,
.form-field-grey .select2-container + label {
    pointer-events: none;
}

.parcels-item-row-info {
    display: flex;
    align-items: center;
    gap: 5px;
}

.parcels-item-row-info div:first-child {
    color: #5D6368;
}

.parcels-item-row-info div:last-child {
    color: #5D6368;
    font-weight: 700;
}

.parcels-item-row-title {
    display: flex;
    align-items: center;
    gap: 5px;
    align-self: stretch;
}

.parcels-item-row-title > div {
    font-weight: 700;
}

.tracking-content {
    margin-top: 15px;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 15px;
    align-self: stretch;
}

.tracking-status-info {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: 5px;
    align-self: stretch;
}

.tracking-status-info div {
    color: #005CB5;
    font-size: 18px;
    font-style: normal;
    font-weight: 600;
    line-height: normal;
    letter-spacing: -0.54px;
}

/* ==== */

.timeline {
    display: flex;
    flex-direction: column;
    gap: 14px;
    position: relative;
}

.timeline::before {
    content: "";
    position: absolute;
    top: 0;
    left: 124px;
    width: 2px;
    height: calc(100% - 30px);
    background: #BFC8F0;
}

.timeline-item {
    display: flex;
    align-items: flex-start;
    position: relative;
}

.timeline-date {
    width: 84px;
    text-align: right;
    margin-right: 80px;
}

.timeline-date div:first-child {
    font-weight: 700;
    color: #333;
}

.timeline-date div:last-child {
    color: #333;
}

.timeline-circle {
    position: absolute;
    left: 118px;
    width: 14px;
    height: 14px;
    border-radius: 50%;
    background: #fff;
    border: 2px solid #BFC8F0;
    box-sizing: border-box;
}

.timeline-item.active .timeline-circle {
    background: #BFC8F0;
}

.timeline-text {
    flex: 1;
    color: #333;
    margin-top: -2px;
}

.timeline-item.active .timeline-text {
    font-weight: 700;
}

.news-items {
    display: flex;
    justify-content: space-between;
    align-items: stretch;
    align-content: center;
    row-gap: 10px;
    flex-wrap: wrap;
}

.news-item {
    display: flex;
    padding: 30px 25px;
    flex-direction: column;
    align-items: stretch;
    gap: 10px;
    border-radius: 15px;
    background: #FFF;
    width: calc(50% - 5px);
    /* весь блок новости — кликабельная ссылка */
    text-decoration: none;
    color: inherit;
    transition: box-shadow 0.2s;
}
.news-item:hover {
    box-shadow: 0 2px 12px rgba(0, 0, 0, 0.1);
}

.news-item-date {
    color: #5D6368;
    font-size: 16px;
    font-style: normal;
    font-weight: 400;
    line-height: normal;
    letter-spacing: -0.48px;
}

.news-item-text {
    color: #2F2F30;
    overflow: hidden;
    text-overflow: ellipsis;
    font-size: 16px;
    font-style: normal;
    font-weight: 400;
    line-height: normal;
    letter-spacing: -0.48px;
    display: -webkit-box;
    -webkit-line-clamp: 4;
    -webkit-box-orient: vertical;
}

.news-item-title {
    display: flex;
    align-items: center;
    gap: 10px;
    align-self: stretch;
    color: #2F2F30;
    font-size: 20px;
    font-style: normal;
    font-weight: 600;
    line-height: normal;
    letter-spacing: -0.6px;
}

.news-item-title:hover {
    color: #2F2F30;
}

.news-item-title div {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
}

.news-item-title img {
    width: 32px;
    height: 32px;
}

.news-view-title {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 5px;
}

.news-view-title div {
    color: #5D6368;
}

.news-view {
    display: flex;
    padding: 25px;
    flex-direction: column;
    align-items: flex-start;
    gap: 10px;
    border-radius: 15px;
    background: #FFF;
}

.news-view img {
    width: 100%;
}

.contact-row {
    display: flex;
    align-items: stretch;
    gap: 10px;
}

.contact-item {
    display: flex;
    padding: 30px 25px;
    flex-direction: column;
    align-items: stretch;
    gap: 10px;
    flex: 1 0 0;
    border-radius: 15px;
    background: #FFF;
}

.contact-item > .contact-item-header {
    display: flex;
    align-items: center;
    flex-direction: row;
    gap: 10px;
}

.contact-item > .contact-item-header div:last-child {
    flex: 1;
}

.contact-item-content {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 8px;
}

.contact-item-content p {
    margin: 0;
    display: flex;
    align-items: center;
    flex-direction: row;
    gap: 10px;
}

.contact-item-content p img {
    flex-shrink: 0;
    width: 20px;
    height: 20px;
}

.contact-item-content a {
    color: #3366CC;
}

.contact-item-content p:last-child {
    margin-top: 5px;
    color: #666;
    font-size: 14px;
    display: block;
}

.flex-column-5 {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 5px;
    align-self: stretch;
}

.flex-column-10 {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 10px;
    align-self: stretch;
}

.flex-column-15 {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 15px;
    align-self: stretch;
}

.flex-column-20 {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 20px;
    align-self: stretch;
}

.flex-row-5 {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: 5px;
}

.flex-row-10 {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: 10px;
}

.flex-row-15 {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: 15px;
}

.flex-row-20 {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: 20px;
}

.flex-center {
    align-items: center;
}

.flex-stretch {
    align-items: stretch;
}

.flex-fill-2 {
    flex: 2 !important
}

.faq-container {
    display: flex;
    align-items: flex-start;
    gap: 15px;
    align-self: stretch;
    flex-direction: row;
}

.faq-section-links {
    display: flex;
    width: 235px;
    padding: 20px 15px;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    gap: 10px;
    border-radius: 15px;
    background: #EFF2FF;
    position: sticky;
    top: 80px;
}

.faq-section-container {
    display: flex;
    flex-direction: column;
    flex: 1;
    gap: 10px;
}

.faq-section {
    display: flex;
    padding: 15px 25px;
    flex-direction: column;
    align-items: stretch;
    align-self: stretch;
    border-radius: 15px;
    background: #FFF;
}

.faq-section-title {
    display: flex;
    justify-content: space-between;
    align-items: center;
    align-self: stretch;
    cursor: pointer;
}

.faq-section-title img {
    transition: transform 0.4s ease;
    transform-origin: center;
}

.faq-section-items {
    display: flex;
    flex-direction: column;
    flex: 1;
    gap: 10px;
    opacity: 0;
    max-height: 0;
    transition: all 0.2s ease;
    pointer-events: none;
}

.faq-section-item {
    display: flex;
    flex-direction: column;
    padding: 10px 25px;
    align-items: center;
    align-self: stretch;
    border-radius: 15px;
    background: #F6F6F6;
}

.faq-section-item-title {
    display: flex;
    justify-content: space-between;
    align-items: center;
    align-self: stretch;
    cursor: pointer;
    color: #2F2F30;
    font-size: 16px;
    font-style: normal;
    font-weight: 600;
    line-height: normal;
    letter-spacing: -0.48px;
}

.faq-section-item-title img {
    transition: transform 0.4s ease;
    transform-origin: center;
}

.faq-section-item-text {
    display: flex;
    flex-direction: column;
    gap: 10px;
    align-items: stretch;
    opacity: 0;
    max-height: 0;
    transition: all 0.2s ease;
    pointer-events: none;
}

.faq-section.show .faq-section-items {
    opacity: 1;
    max-height: 3000px;
    pointer-events: initial;
}

.faq-section.show .faq-section-title img {
    transform: rotate(180deg);
}

.faq-section-item.show .faq-section-item-text {
    opacity: 1;
    max-height: 1000px;
}

.faq-section-item.show .faq-section-item-title img {
    transform: rotate(180deg);
}

.guides-row {
    display: flex;
    flex-direction: row;
    gap: 10px;
    align-items: stretch;
}

.guides-item {
    display: flex;
    padding: 25px;
    flex-direction: column;
    align-items: stretch;
    gap: 10px;
    flex: 1;
    border-radius: 15px;
    background: #FFF;
}

.guides-item-title {
    display: flex;
    align-items: center;
    gap: 10px;
    align-self: stretch;
    color: #2F2F30;
    font-size: 20px;
    font-style: normal;
    font-weight: 600;
    line-height: normal;
    letter-spacing: -0.6px;
}

.guides-item-title:hover {
    color: #2F2F30;
}

.guides-item-title div {
    flex: 1;
}

.guides-item-title img {
    width: 32px;
    height: 32px;
}

.guides-item-text {
    color: #2F2F30;
    overflow: hidden;
    text-overflow: ellipsis;
    font-size: 16px;
    font-style: normal;
    font-weight: 400;
    line-height: normal;
    letter-spacing: -0.48px;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
}

.guide-content {
    font-size: 16px;
    line-height: 1.6;
    color: #2F2F30;
    background: #fff;
    border-radius: 15px;
    padding: 30px 25px;
    align-self: stretch;
}

.guide-content h3 {
    font-size: 20px;
    font-weight: 600;
    margin-top: 25px;
    margin-bottom: 10px;
}

.guide-content p {
    margin-bottom: 12px;
}

.guide-content strong {
    font-weight: 600;
}

.country-tabs {
    display: flex;
    align-items: center;
    align-content: center;
    gap: 10px;
    align-self: stretch;
    flex-wrap: wrap;
}

.country-tabs-item {
    display: flex;
    padding: 10px;
    justify-content: center;
    align-items: center;
    gap: 10px;
    flex: 1 0 0;
    border-radius: 15px;
    background: #FFF;
    color: #2F2F30;
    font-size: 20px;
    font-style: normal;
    font-weight: 600;
    line-height: normal;
    letter-spacing: -0.6px;
}

.country-tabs-item:hover {
    color: #2F2F30;
}

.country-tabs-item.active {
    background: #BFC8F0;
}

.restriction-item {
    display: flex;
    padding: 15px 25px;
    flex-direction: column;
    align-items: flex-start;
    align-self: stretch;
    border-radius: 15px;
    background: #FFF;
}

.restriction-item-rule {
    padding: 25px;
    background: #EFF2FF;
}

.restriction-item-title {
    display: flex;
    align-items: center;
    gap: 10px;
    align-self: stretch;
    cursor: pointer;
}

.restriction-item-title h3 {
    flex: 1;
}

.restriction-item-title img:last-child {
    transition: transform 0.4s ease;
    transform-origin: center;
}

.restriction-item-content {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    align-self: stretch;
    gap: 10px;
    opacity: 0;
    max-height: 0;
    transition: all 0.3s ease;
    pointer-events: none;
}

.rule-list-style {
    padding-left: 23px;
    position: relative;
}

.rule-list-style:before {
    content: ' ';
    position: absolute;
    width: 7px;
    height: 7px;
    background: #2f2f30;
    border-radius: 50%;
    top: 8px;
    left: 6px;
}

.restriction-item.show .restriction-item-content {
    opacity: 1;
    max-height: 1000px;
    pointer-events: initial;
}

.restriction-item.show .restriction-item-title img:last-child {
    transform: rotate(180deg);
}

.restriction-item-content-item {
    padding: 10px 15px;
    border-radius: 15px;
    background: #F6F6F6;
    display: flex;
    flex-direction: column;
    gap: 11px;
}

.restriction-alt {
    display: flex;
    padding: 5px 10px;
    justify-content: center;
    align-items: center;
    gap: 10px;
    border-radius: 10px;
    background: #FEF0E0;
    align-self: flex-start;
}

.items-center {
    align-items: center;
}

.restriction-item-detail-title {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 5px;
    color: #005CB5;
    font-size: 18px;
    font-style: normal;
    font-weight: 600;
    line-height: normal;
    letter-spacing: -0.54px;
    cursor: pointer;
}

.restriction-item-detail-title img {
    transition: transform 0.4s ease;
    transform-origin: center;
}

.restriction-item-detail.show .restriction-item-detail-title img {
    transform: rotate(180deg);
}

.restriction-item-detail-text {
    opacity: 0;
    max-height: 0;
    transition: all 0.3s ease;
    pointer-events: none;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.restriction-item-detail.show .restriction-item-detail-text {
    opacity: 1;
    max-height: 300px;
}

.new-ticket-button-block {
    display: flex;
    padding: 25px;
    justify-content: space-between;
    align-items: center;
    align-self: stretch;
    border-radius: 15px;
    background: #EFF2FF;
}

.tickets-section {
    display: flex;
    padding: 25px;
    flex-direction: column;
    align-items: stretch;
    gap: 15px;
    align-self: stretch;
    border-radius: 15px;
    background: #FFF;
}

.how-it-work {
    display: flex;
    padding: 25px;
    flex-direction: column;
    align-items: flex-start;
    gap: 0;
    align-self: stretch;
    border-radius: 15px;
    background: #FFF;
}

.how-it-work-summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
}

.how-it-work-summary .export-how-title {
    margin: 0;
}

.how-it-work-collapsible .how-it-work-summary {
    cursor: pointer;
    list-style: none;
    width: 100%;
}

.how-it-work-collapsible .how-it-work-summary::-webkit-details-marker {
    display: none;
}

.how-it-work-chevron {
    width: 24px;
    height: 24px;
    transition: transform .2s ease;
}

.how-it-work-collapsible[open] .how-it-work-chevron {
    transform: rotate(180deg);
}

.how-it-work-collapsible .how-it-work-items {
    margin-top: 44px;
}

.how-it-work-items {
    display: flex;
    flex-direction: row;
}

.how-it-work-items > div {
    position: relative;
    padding-top: 34px;
    padding-right: 15px;
    border-top: 2px solid transparent;
    border-image: repeating-linear-gradient(to right, #BFC8F0 0 15px, transparent 10px 25px) 1;
    flex: 1;
}

.how-it-work-items > div:last-child {
    padding-right: 0;
    border-image: none;
}

.how-it-work-items > div > div {
    display: flex;
    padding: 10px;
    flex-direction: column;
    align-items: center;
    gap: 10px;
    border-radius: 10px;
    background: #EFF2FF;
    position: absolute;
    top: -24px;
}

.redeem-calculate {
    display: flex;
    padding: 25px;
    flex-direction: column;
    align-items: stretch;
    border-radius: 15px;
    background: #FFF;
}

.redeem-calculate-form {
    display: flex;
    flex-direction: column;
    gap: 15px;
}

.redeem-calculate-result {
    display: flex;
    flex-direction: column;
    gap: 10px;
    opacity: 0;
    max-height: 0;
    transition: all 0.2s ease;
    pointer-events: none;
}

.redeem-calculate.show .redeem-calculate-result {
    opacity: 1;
    max-height: 600px;
    pointer-events: initial;
}

.redeem-calculate-result-info {
    display: flex;
    padding: 15px;
    flex-direction: column;
    align-items: flex-start;
    gap: 10px;
    flex: 1 0 0;
    border-radius: 10px;
    background: #FEF0E0;
}

.redeem-calculate-result-info .redeem-calculate-result-row {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    align-self: stretch;
}

.redeem-calculate-result-additional-row {
    display: flex;
    flex-direction: row;
    gap: 10px;
}

.redeem-calculate-result-additional {
    display: flex;
    padding: 15px;
    align-items: flex-start;
    gap: 10px;
    flex: 1 0 0;
    border-radius: 15px;
    background: #F6F6F6;
}

.redeem-calculate-form .form-row div:first-child {
    flex: 1.5;
}

.redeem_type-radio {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.ticket-items {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.ticket-item {
    display: flex;
    padding: 15px 25px;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    gap: 5px;
    align-self: stretch;
    border-radius: 15px;
    background: #F6F6F6;
    position: relative;
}

.ticket-item-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    align-self: stretch;
}

.ticket-item-row > div {
    display: flex;
    flex-direction: row;
    gap: 5px;
    align-items: center;
}

.edit-ticket-form {
    color: #2F2F30;
}

/* === Ticket tags === */

.ticket-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 5px;
    align-items: center;
}

.ticket-tag {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 10px;
    border-radius: 8px;
    background: #fff;
    font-size: 13px;
    color: #2F2F30;
    white-space: nowrap;
}

.ticket-tag-icon {
    width: 14px;
    height: 14px;
}

/* === Ticket create form (оформление как на первом скрине) === */

.ticket-create-form {
    align-self: stretch;
}

.ticket-create-form-card {
    background: #FFF;
    border-radius: 15px;
    padding: 25px;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
    position: relative;
}

.ticket-create-form-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin-bottom: 20px;
}

.ticket-create-form-title {
    margin: 0;
    font-size: 22px;
    font-weight: 600;
    color: #2F2F30;
}

.ticket-create-form-close {
    background: none;
    border: none;
    padding: 4px;
    cursor: pointer;
    color: #2F2F30;
    opacity: 0.7;
}

.ticket-create-form-close:hover {
    opacity: 1;
}

.ticket-create-form-body {
    display: flex;
    flex-direction: column;
    gap: 15px;
}

.ticket-create-form-row {
    display: flex;
    gap: 15px;
    align-items: stretch;
}

.ticket-create-form-row-2 .form-field {
    flex: 1;
    min-width: 0;
}

.ticket-create-form .form-field {
    align-self: stretch;
}

.ticket-create-form .form-control,
.ticket-create-form .form-control:focus,
.ticket-create-form .form-select {
    background-color: #F6F6F6;
    border: 1px solid #E8E8E8;
    border-radius: 10px;
}

.ticket-create-form .form-control:focus,
.ticket-create-form .form-select:focus {
    border-color: #BFC8F0;
    outline: none;
}

.ticket-textarea {
    height: auto !important;
    min-height: 120px;
    resize: vertical;
    position: relative;
    z-index: 1;
}

.ticket-create-form-actions {
    margin-top: 5px;
}

@media (max-width: 600px) {
    .ticket-create-form-row-2 {
        flex-direction: column;
    }
}

/* === File attachment (синяя ссылка как на первом скрине) === */

.ticket-attach-block {
    align-self: stretch;
}

.ticket-attach-label {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    cursor: pointer;
    color: #005CB5;
    font-size: 15px;
    font-weight: 500;
    padding: 8px 0;
}

.ticket-attach-label:hover {
    color: #004494;
}

.ticket-create-form .ticket-attach-icon {
    flex-shrink: 0;
}

.ticket-attach-icon {
    width: 20px;
    height: 20px;
}

.ticket-attached-files {
    display: flex;
    flex-direction: column;
    gap: 6px;
    margin-top: 8px;
}

.ticket-attached-file {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 15px 20px;
    background: #EFF2FF;
    border-radius: 8px;
    font-size: 14px;
}

.ticket-attached-file-name {
    flex: 1;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.ticket-attached-file-size {
    color: #94a3b8;
    font-size: 13px;
    white-space: nowrap;
}

.ticket-attached-file-loading {
    color: #94a3b8;
    font-size: 13px;
}

.ticket-attached-file-remove {
    background: none;
    border: none;
    color: #ef4444;
    cursor: pointer;
    font-size: 16px;
    padding: 0 4px;
    line-height: 1;
}

.ticket-attached-file-remove:hover {
    color: #dc2626;
}

/* Страница обращений: шапка как на первом скрине */
.ticket-page-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    align-self: stretch;
    flex-wrap: wrap;
    gap: 15px;
}

.ticket-page-title {
    margin: 0;
    font-size: 28px;
    font-weight: 600;
    color: #2F2F30;
}

.ticket-section-title {
    margin: 0 0 15px 0;
    font-size: 20px;
    font-weight: 600;
    color: #2F2F30;
}

.ticket-page .page-tabs {
    margin-bottom: 15px;
}

.ticket-page .page-tabs.page-tabs-grey a {
    background: #FFF;
}

.ticket-page .page-tabs.page-tabs-grey .active a {
    background: #BFC8F0;
    color: #2F2F30;
}

.ticket-list-wrap {
    padding: 25px;
    border-radius: 15px;
    background: #FFF;
    align-self: stretch;
}

.ticket-create-form {
    margin-bottom: 15px;
}

.btn-new-ticket {
    width: fit-content;
}

/* === Ticket view (страница тикета как на первом скрине) === */

.ticket-view-page .ticket-view-header {
    display: flex;
    flex-direction: column;
    gap: 12px;
    margin-bottom: 20px;
}

.ticket-view-header-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

.ticket-view-title-wrap {
    display: flex;
    align-items: center;
    gap: 4px;
}

.ticket-view-title {
    margin: 0;
    font-size: 22px;
    font-weight: 600;
    color: #2F2F30;
}

.ticket-view-menu-wrap {
    position: relative;
}

.ticket-view-menu-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    padding: 0;
    background: none;
    border: none;
    border-radius: 8px;
    cursor: pointer;
    color: #979FA6;
}

.ticket-view-menu-btn:hover {
    background: rgba(0, 0, 0, 0.06);
    color: #2F2F30;
}

.ticket-view-menu-btn img {
    display: block;
}

.ticket-view-dropdown {
    position: absolute;
    top: 100%;
    left: 0;
    margin-top: 4px;
    min-width: 220px;
    background: #FFF;
    border-radius: 12px;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.12);
    padding: 8px 0;
    z-index: 100;
}

.ticket-view-dropdown[hidden] {
    display: none !important;
}

.ticket-view-dropdown-item {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 16px;
    font-size: 15px;
    color: #005CB5;
    text-decoration: none;
    transition: background 0.15s;
}

.ticket-view-dropdown-item:hover {
    background: rgba(0, 92, 181, 0.08);
}

.ticket-view-dropdown-icon {
    width: 20px;
    height: 20px;
    flex-shrink: 0;
}

.ticket-view-status {
    display: flex;
    align-items: center;
    font-size: 14px;
}

.ticket-view-status-new {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: #E42313;
    font-weight: 500;
}

.ticket-view-status-text {
    white-space: nowrap;
}

.ticket-view-status-icon {
    display: block;
    flex-shrink: 0;
}

.ticket-view-status-other {
    color: #5D6368;
}

/* Белый блок: переписка + форма (общий фон) */
.ticket-chat-form-box {
    background: #FFF;
    border-radius: 12px;
    padding: 20px;
    align-self: stretch;
    box-shadow: 0 2px 12px rgba(0, 0, 0, 0.06);
}

/* Сообщения: ограниченная высота, скролл */
.ticket-chat {
    display: flex;
    flex-direction: column;
    gap: 12px;
    margin-bottom: 16px;
    max-height: 50vh;
    min-height: 120px;
    overflow-y: auto;
    scrollbar-width: thin;
    scrollbar-color: #c4c4c4 transparent;
}

.ticket-chat::-webkit-scrollbar {
    width: 6px;
}

.ticket-chat::-webkit-scrollbar-track {
    background: transparent;
}

.ticket-chat::-webkit-scrollbar-thumb {
    background: #c4c4c4;
    border-radius: 3px;
}

.ticket-chat::-webkit-scrollbar-thumb:hover {
    background: #a0a0a0;
}

.ticket-chat-message {
    padding: 15px 20px;
    border-radius: 12px;
    max-width: 85%;
}

.ticket-chat-message-admin {
    background: #F6F6F6;
    align-self: flex-start;
}

.ticket-chat-message-user {
    background: #BFC8F0;
    align-self: flex-end;
}

.ticket-chat-message-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 10px;
    margin-bottom: 8px;
    font-size: 13px;
}

.ticket-chat-message-body {
    font-size: 15px;
    line-height: 1.5;
    margin-bottom: 8px;
}

.ticket-chat-message-footer {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 12px;
}

.ticket-chat-reply-icon {
    width: 14px;
    height: 14px;
    opacity: 0.7;
}

.ticket-chat-files {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 10px;
}

.ticket-chat-file {
    display: inline-flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 4px;
    font-size: 13px;
    color: #005CB5;
    text-decoration: underline;
}

.ticket-chat-file:hover {
    color: #004494;
}

.ticket-chat-file-thumb {
    display: inline-block;
    width: 40px;
    height: 40px;
    border-radius: 6px;
    overflow: hidden;
    flex-shrink: 0;
}

.ticket-chat-file-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.ticket-chat-file-icon {
    width: 20px;
    height: 20px;
    flex-shrink: 0;
}

.ticket-chat-file-name {
    max-width: 120px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    text-align: left;
}

/* Форма ответа: объединена с белым блоком переписки */
.ticket-reply-form {
    margin-bottom: 0;
    align-self: stretch;
}

.ticket-reply-input-row {
    display: flex;
    align-items: flex-end;
    gap: 10px;
    padding: 8px 0 0;
    background: transparent;
    border: none;
    border-radius: 0;
    margin-bottom: 10px;
    position: relative;
}

.ticket-reply-input-row textarea,
.ticket-reply-input-row textarea:active,
.ticket-reply-input-row textarea:focus {
    background: #F6F6F6;
    padding: 15px;
}

.ticket-reply-attach-btn {
    right: 50px;
    top: 14px;
    position: absolute;
}

.ticket-reply-textarea {
    flex: 1;
    min-height: 44px;
    resize: none;
    border: none;
    background: transparent;
    font-size: 15px;
    padding: 0;
}

.ticket-reply-textarea:focus {
    outline: none;
}

.ticket-reply-attach-btn,
.ticket-reply-send-btn {
    background: none;
    border: none;
    padding: 6px;
    cursor: pointer;
    color: #2F2F30;
    flex-shrink: 0;
}

.ticket-reply-attach-btn:hover,
.ticket-reply-send-btn:hover {
    opacity: 0.8;
}

.ticket-reply-send-btn {
    color: #E42313;
}

.ticket-reply-attached {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 10px;
    min-height: 0;
}

.ticket-reply-attached-item {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 13px;
    color: #64748b;
    padding: 10px;
    background: #EFF2FF;
    border-radius: 8px;
    border: 1px solid #E8E8E8;
}

.ticket-reply-attached-remove {
    background: none;
    border: none;
    color: #64748b;
    cursor: pointer;
    padding: 0 4px;
    font-size: 16px;
    line-height: 1;
}

.ticket-reply-attached-remove:hover {
    color: #E42313;
}

.ticket-reply-attached-loading {
    color: #94a3b8;
}

.ticket-reply-actions {
    display: flex;
    gap: 10px;
    align-items: center;
    justify-content: flex-end;
}

/* Блок «Прикрепленные файлы» */
.ticket-attached-section {
    background: #FFF;
    border-radius: 15px;
    padding: 20px;
    align-self: stretch;
    box-shadow: 0 2px 12px rgba(0, 0, 0, 0.06);
}

.ticket-attached-section-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 15px;
}

.ticket-attached-section-title {
    margin: 0;
    font-size: 18px;
    font-weight: 600;
    color: #2F2F30;
}

.ticket-attached-section-toggle {
    background: none;
    border: none;
    padding: 4px;
    cursor: pointer;
    color: #2F2F30;
}

.ticket-attached-section-toggle img {
    display: block;
    transition: transform 0.2s;
}

.ticket-attached-section-body {
    overflow: hidden;
}

.ticket-attached-list {
    display: flex;
    flex-wrap: wrap;
    gap: 15px;
    overflow-x: auto;
    padding-bottom: 5px;
}

.ticket-attached-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 6px;
    min-width: 100px;
    max-width: 120px;
    padding: 10px;
    border-radius: 10px;
    background: #F6F6F6;
    color: #2F2F30;
    text-decoration: none;
    font-size: 12px;
    transition: background 0.2s;
}

.ticket-attached-item:hover {
    background: #EBF2FF;
}

.ticket-attached-item-thumb {
    width: 60px;
    height: 60px;
    border-radius: 8px;
    overflow: hidden;
    flex-shrink: 0;
}

.ticket-attached-item-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.ticket-attached-item-icon {
    width: 48px;
    height: 48px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.ticket-attached-item-icon img {
    width: 32px;
    height: 32px;
}

.ticket-attached-item-name {
    text-align: center;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    max-width: 100%;
}

.ticket-attached-item-date {
    font-size: 11px;
    opacity: 0.7;
}

.btn.btn-close-ticket,
.btn.btn-close-ticket:hover,
.btn.btn-close-ticket:focus,
.btn.btn-close-ticket:active {
    background: #fff !important;
    color: #ef4444 !important;
    border: 2px solid #ef4444 !important;
}

.btn.btn-close-ticket:hover {
    background: #fee2e2 !important;
    color: #dc2626 !important;
    border-color: #dc2626 !important;
}

.ticket-closed-notice {
    padding: 15px 20px;
    background: #F6F6F6;
    border-radius: 12px;
    color: #64748b;
    text-align: center;
}

.form-country-radio {
    display: flex;
    align-items: center;
    align-content: center;
    gap: 10px;
    flex-wrap: wrap;
}

.form-country-radio-item {
    display: flex;
    padding: 10px;
    justify-content: center;
    align-items: center;
    gap: 10px;
    border-radius: 15px;
    background: #F6F6F6;
    color: #2F2F30;
    font-size: 20px;
    font-style: normal;
    font-weight: 600;
    line-height: normal;
    letter-spacing: -0.6px;
    cursor: pointer;
}

.form-country-radio-item input {
    display: none;
}

.form-country-radio-item:has(input:checked) {
    background: #BFC8F0;
}

.ticket-form-div {
    display: flex;
    flex-direction: column;
    gap: 20px;
    margin-top: 20px;
}

.warehouses-radio {
    display: none;
}

.warehouses-radio.show {
    display: flex;
}

.warehouses-radio .warehouses-radio-item {
    display: flex;
    padding: 10px;
    justify-content: center;
    align-items: center;
    gap: 10px;
    border-radius: 10px;
    background: #F6F6F6;
    cursor: pointer;
}

.warehouses-radio .warehouses-radio-item input {
    display: none;
}

.warehouses-radio .warehouses-radio-item:has(input:checked) {
    background: #BFC8F0;
}

.help-tooltip {
    position: relative;
    flex: 0 !important;
}

.help-tooltip > img {
    cursor: pointer;
}

.help-tooltip > div {
    display: none;
    width: 330px;
    padding: 10px;
    justify-content: center;
    align-items: center;
    gap: 10px;
    border-radius: 10px;
    background: #FFF;
    box-shadow: 0 0 15px 0 rgba(0, 0, 0, 0.15);
    position: absolute;
    left: 0;
    top: 30px;
    z-index: 9999;
}

.help-tooltip > img:hover + div {
    display: flex;
}

.help-tooltip.help-tooltip-left > div {
    right: 0;
    left: auto;
}

.help-tooltip.help-tooltip-top > div {
    bottom: 30px;
    top: auto;
}

.cabinet-info .form-field {
    flex: 1;
}

.cart-products-items {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 10px;
    align-self: stretch;
}

.cart-products-item {
    display: flex;
    padding: 15px 25px;
    flex-direction: column;
    align-items: stretch;
    border-radius: 15px;
    background: #F6F6F6;
}

.cart-products-item-title {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 5px;
    flex-direction: row;
    cursor: pointer;
}

.cart-products-item-title > img {
    transition: transform 0.3s ease;
    transform-origin: center;
}

.cart-products-item.show .cart-products-item-title > img {
    transform: rotate(180deg);
}

.cart-products-item-fields {
    display: flex;
    flex-direction: column;
    gap: 10px;
    align-self: stretch;
    opacity: 0;
    max-height: 0;
    transition: all 0.3s ease;
    pointer-events: none;
}

.cart-products-item.show .cart-products-item-fields {
    opacity: 1;
    max-height: 500px;
    pointer-events: initial;
}

.promo-accepted {
    display: flex;
    height: 50px;
    padding: 9px 15px;
    align-items: center;
    gap: 5px;
    flex: 1 0 0;
    border-radius: 10px;
    background: #F6F6F6;
    overflow: hidden;
    color: #219653;
    font-size: 16px;
    font-style: normal;
    font-weight: 400;
    line-height: normal;
    letter-spacing: -0.48px;
}

.promo-accepted b {
    font-weight: 700;
}

.promo-row input {
    text-transform: uppercase;
}

@media screen and (max-width: 767px) {
    .main-header-content {
        max-width: unset;
        padding: 0 15px;
        height: 70px;
    }

    .header-tracking {
        display: none;
    }

    .header-logo img {
        width: 66px;
        height: 41px;
        flex-shrink: 0;
    }

    .profile-login {
        display: none;
    }

    .header-item-search {
        width: auto;
        min-width: auto;
        height: auto;
    }

    .header-item-search img {
        position: unset;
    }

    .header-item-wrapper {
        height: auto;
    }

    .main-header-right {
        gap: 20px;
    }

    .header-item-search {
        order: 1;
    }

    .header-item-notify {
        order: 4;
    }

    .header-item-profile {
        order: 3;
    }

    .header-dropdown.header-dropdown-profile,
    .header-dropdown.header-dropdown-notify,
    .header-dropdown.header-dropdown-search {
        width: 100%;
        position: fixed;
        top: 75px;
    }

    .header-dropdown.header-dropdown-search {
        top: 80px;
    }

    .header-dropdown-header .header-dropdown-title {
        font-size: 20px;
        letter-spacing: -0.6px;
    }

    .header-dropdown-notify-items > div div:last-child {
        font-size: 18px;
        letter-spacing: -0.54px;
    }

    .header-search-show .main-header-left,
    .header-search-show .header-item-wrapper,
    .header-search-show .header-item-mobile-menu {
        display: none;
    }

    .header-search-show .main-header-right {
        flex: 1;
        gap: 10px;
    }

    .header-search-show .header-item-search {
        width: 100%;
    }

    .header-search-show .header-item-search img {
        position: absolute;
    }

    .header-search-show .header-item-search-hide-mobile {
        display: flex;
        order: 2;
    }

    .main-footer-container {
        position: unset;
    }

    .main-footer-content {
        max-width: unset;
        padding: 0 15px;
    }

    .main-footer-row {
        flex-direction: column;
        gap: 5px;
        align-items: flex-start;
        padding-top: 20px;
    }

    .header-item-mobile-menu {
        display: flex;
        height: 32px;
        width: 32px;
        order: 5;
        aspect-ratio: 1/1;
        position: relative;
    }

    .header-item-mobile-menu .icon {
        position: absolute;
        inset: 0;
        background-repeat: no-repeat;
        background-position: center;
        background-size: contain;
        transition: opacity 0.3s ease;
    }

    .header-item-mobile-menu .icon-menu {
        background-image: url(../images/icons/menu.svg);
        opacity: 1;
    }

    .header-item-mobile-menu .icon-close {
        background-image: url(../images/icons/close-large.svg);
        opacity: 0;
    }

    .mobile-menu-show .icon-menu {
        opacity: 0;
    }

    .mobile-menu-show .icon-close {
        opacity: 1;
    }

    .main-sidebar {
        max-height: 0;
        overflow: hidden;
        transition: max-height 0.4s ease;
        width: 100%;
        gap: 11px;
    }

    .sidebar-menu {
        width: 100%;
    }

    .main-wrapper {
        margin-top: 88px;
        margin-bottom: 20px;
    }

    .main-container {
        width: 100%;
        padding: 0 15px;
        flex-direction: column;
        gap: 0;
    }

    .sidebar-banner img {
        width: 100%;
    }

    .mobile-menu-show .main-content,
    .mobile-menu-show .main-footer-container {
        display: none;
    }

    .main-sidebar .header-tracking {
        display: flex;
    }

    .main-sidebar .header-tracking input,
    .main-sidebar .header-tracking input:focus {
        background: #fff;
    }

    .mobile-menu-show .main-sidebar {
        max-height: 100vh;
        overflow-y: auto;
        overflow-x: hidden;
        margin-bottom: 20px;
    }

    .main-content {
        width: 100%;
    }

    .pade-disclaimer-title > div {
        align-items: flex-start;
    }

    .pade-disclaimer-title > div div {
        font-size: 20px;
        letter-spacing: -0.6px;
        width: 230px;
    }

    .page-disclaimer {
        padding: 15px;
    }

    .export-other-services {
        overflow-x: hidden;
    }
    .export-other-cards {
        grid-template-columns: 1fr !important;
        gap: 12px;
        width: 100%;
    }
    .export-other-card {
        padding: 20px 16px;
        min-width: 0;
        border-radius: 15px;
        overflow: hidden;
    }
    .export-other-card-content {
        min-width: 0;
    }

    .useful-container {
        flex-direction: column;
        align-items: stretch;
        align-content: stretch;
    }

    .home-useful-section .useful-container {
        grid-template-columns: 1fr;
    }

    .useful-item {
        padding: 15px;
    }

    .page-tracking {
        padding: 20px 15px;
    }

    .empty-block {
        padding: 30px 15px;
    }

    .parcels-container {
        flex-direction: column;
    }

    .parcel-item {
        padding: 20px 15px;
    }

    .parcels-container .parcel-item:last-child {
        margin: 0;
        padding: 20px;
        border-radius: 10px;
        background: #E42313;
        justify-content: center;
    }

    .parcels-container .parcel-item:last-child img {
        display: none;
    }

    .parcels-container .parcel-item:last-child h3 {
        color: #FFF;
        font-style: normal;
        font-weight: 600;
        line-height: 100%; /* 18px */
    }

    .send-parcel-container {
        flex-direction: column;
    }

    .send-parcel-item {
        padding: 20px 15px;
        flex: 1;
    }

    .pager {
        justify-content: space-between;
        align-self: stretch;
        margin-top: 15px;
    }

    .profile-section {
        padding: 15px;
    }

    .section-button .btn {
        width: 100%;
    }

    .section-button-split .btn:last-child {
        margin-left: auto;
    }

    .profile-photo-info div {
        flex: 1;
    }

    .form-row {
        flex-direction: column;
    }

    .passport-scan-file {
        width: 100%;
    }

    .page-tabs {
        white-space: nowrap;
        overflow: hidden;
        max-height: 39px;
        transition: max-height 0.3s ease;
    }

    .page-tab-show-mobile {
        display: flex;
    }

    .page-tab-show-mobile img {
        width: 32px;
        height: 32px;
        cursor: pointer;
        transition: transform 0.4s ease;
        transform-origin: center;
    }

    .show .page-tabs {
        max-height: 500px;
    }

    .show .page-tab-show-mobile img {
        transform: rotate(180deg);
    }

    .page-filter {
        gap: 5px;
    }

    .page-filter .hide-mobile {
        flex-direction: column;
        gap: 5px;
        align-items: stretch;
    }

    .page-filter .hide-mobile {
        max-height: 0;
        opacity: 0;
        transition: opacity .4s ease-in-out, max-height .4s ease-in-out;
        overflow: hidden;
        pointer-events: none;
    }

    .page-filter.show .hide-mobile {
        opacity: 1;
        max-height: 500px;
    }

    .page-tabs.no-hide-mobile {
        max-height: 100px;
    }

    .page-tabs.scroll-mobile {
        flex-wrap: nowrap;
        overflow: auto;
        max-height: max-content;
        padding-bottom: 8px;
    }

    .payment-item {
        padding: 15px;
    }

    .payment-item-row-1 {
        flex-direction: column;
        align-items: stretch;
        gap: 5px;
    }

    .payment-item-row-1 > div {
        order: 1;
    }

    .payment-item-row-1 .payment-item-status {
        order: 0;
    }

    .payment-item-row-2 {
        flex-direction: column;
        align-items: stretch;
        gap: 6px;
    }

    .payment-item .payment-item-status a {
        justify-content: stretch;
    }

    .filter-mobile-button {
        display: flex;
    }

    .filter-reset-button {
        display: none;
    }

    .page-tabs-row {
        flex-direction: column;
        gap: 10px;
    }

    .page-tabs-row .page-tabs .page-tabs-item {
        flex: 1;
    }

    .parcels-item {
        padding: 15px;
        gap: 7px;
    }

    .parcels-item-row-1 {
        flex-direction: column;
        align-items: stretch;
        gap: 5px;
    }

    .parcels-item-row-1 > div:first-child {
        order: 1;
    }

    .parcels-item-row-info {
        flex-direction: column;
        align-items: stretch;
        gap: 1px;
    }

    .parcels-item-row-title > div {
        display: none;
    }

    .tracking-content {
        margin-top: 22px;
    }

    .timeline {
        gap: 9px;
    }

    .timeline-date {
        width: 75px;
        margin-right: 44px;
    }

    .timeline::before {
        left: 96px;
    }

    .timeline-circle {
        left: 90px;
    }

    .news-item {
        padding: 15px;
        width: 100%;
    }

    .news-item-title div {
        display: flex;
    }

    .news-item-text {
        display: flex;
    }

    .news-view {
        padding: 15px;
    }

    .contact-row {
        flex-direction: column;
    }

    .contact-item {
        padding: 15px;
    }

    .faq-container {
        flex-direction: column;
        gap: 5px;
    }

    .faq-section-container {
        order: 1;
    }

    .faq-section {
        padding: 15px;
    }

    .faq-section-item {
        padding: 10px 15px;
    }

    .guides-row {
        flex-direction: column;
    }

    .guides-item {
        padding: 15px;
    }

    .guides-item-text {
        -webkit-line-clamp: 5;
    }

    .flex-column-10 .pager {
        margin-top: 0;
    }

    .faq-section-links {
        flex-direction: row;
        flex-wrap: nowrap;
        white-space: nowrap;
        gap: 10px;
        background: none;
        border-radius: 0;
        justify-content: start;
        overflow: auto;
        width: 100%;
        padding: 0 0 8px;
        position: unset;
    }

    .faq-section-links a {
        padding: 10px;
        background: #EFF2FF;
        border-radius: 10px;
    }

    .restriction-item {
        padding: 15px;
    }

    .new-ticket-button-block {
        padding: 15px;
        flex-direction: column;
        align-items: stretch;
        gap: 10px;
    }

    .tickets-section {
        padding: 15px;
    }

    .how-it-work {
        padding: 15px;
    }

    .how-it-work-items {
        flex-direction: column;
        padding-left: 23px;
    }

    .how-it-work-items > div {
        border-top: none;
        border-left: 2px solid transparent;
        padding-top: 0;
        padding-left: 34px;
        align-items: flex-start;
        min-height: 44px;
        padding-bottom: 20px;
        border-image: repeating-linear-gradient(to bottom, #BFC8F0 0 10px, transparent 10px 14px) 1;
    }

    .how-it-work-items > div > div {
        top: 0;
        left: -24px;
    }

    .how-it-work-items > div:last-child {
        padding-bottom: 0;
    }

    .import-help-order-block {
        flex-direction: column;
        align-items: stretch;
        padding: 20px 16px;
        margin-top: 16px;
    }
    .import-help-order-block .btn {
        width: 100%;
    }
    .import-help-order-btn {
        align-self: center;
    }

    .redeem-calculate {
        padding: 15px;
    }

    /* На мобильных: скрыть шаги сверху, показать под формой */
    .export-widget-steps-desktop {
        display: none !important;
    }
    .export-widget-steps-mobile {
        display: flex !important;
        flex-wrap: nowrap;
        gap: 0;
        margin: 0 0 4px;
        padding: 6px;
        border-radius: 10px;
        background: #ECEDEE;
    }
    .export-widget-steps-mobile .export-widget-step {
        margin: 0 2px;
        padding: 8px 10px;
        min-width: 0;
        flex: 1 1 0;
        display: flex;
        align-items: center;
        justify-content: center;
        border-radius: 10px;
        background: #ECEDEE;
        color: #9A9B9C;
    }
    .export-widget-steps-mobile .export-widget-step:not(.is-on) {
        border-radius: 10px;
    }
    .export-widget-steps-mobile .export-widget-step.is-on:first-child {
        border-top-left-radius: 10px;
        border-bottom-left-radius: 10px;
    }
    .export-widget-steps-mobile .export-widget-step.is-on + .export-widget-step.is-on {
        margin-left: 2px;
        border-top-left-radius: 0;
        border-bottom-left-radius: 0;
    }
    .export-widget-steps-mobile .export-widget-step.is-on:has(+ .export-widget-step.is-on) {
        border-top-right-radius: 0;
        border-bottom-right-radius: 0;
    }
    .export-widget-steps-mobile .export-widget-step.is-on {
        background: #BFC8F0;
        color: #2F2F30;
    }
    .export-widget-steps-mobile .export-widget-step.active {
        background: #A0AEE8;
        color: #1A1A1B;
    }
    .export-widget-steps-mobile .export-widget-step .export-widget-step-icon {
        opacity: 0.7;
    }
    .export-widget-steps-mobile .export-widget-step.is-on .export-widget-step-icon {
        filter: none;
        opacity: 1;
    }
    .export-widget-steps-mobile .export-widget-step.active .export-widget-step-icon {
        filter: brightness(0.4);
        opacity: 1;
    }
    .export-widget-steps-mobile .export-widget-step span {
        display: none;
    }
    .export-widget-steps-mobile .export-widget-step-icon {
        width: 18px;
        height: 18px;
    }

    .export-widget-body {
        flex-direction: column;
    }
    .export-widget--parcel-pay .export-widget-form {
        flex-direction: column;
    }
    .export-widget--parcel-pay .export-widget-step-panel[data-step="1"] #map-widget-export {
        min-height: 320px;
        height: 320px !important;
    }
    .export-widget-header {
        flex-wrap: wrap;
    }
    .export-widget-title {
        font-size: 28px;
    }
    .export-widget-form-title {
        font-size: 22px;
    }
    .export-widget-row {
        grid-template-columns: 1fr;
        gap: 0;
    }
    .export-step3-add-row {
        flex-direction: column;
        align-items: flex-start;
    }
    .export-step3-add-hint {
        font-size: 12px;
    }
    .export-payment-review-grid {
        grid-template-columns: 1fr;
    }
    .export-payment-promo-row {
        flex-direction: column;
    }
    .export-payment-promo-apply {
        width: 100%;
    }
    .export-widget-sidebar {
        width: 100%;
    }
    .export-widget-sidebar-inner {
        margin-top: 12px;
        position: static;
        top: auto;
    }
    .export-widget-map #map-widget-export {
        min-height: 220px;
    }
    .export-widget-map #map-widget-export iframe {
        height: 600px !important;
    }
    .export-widget-dimensions {
        flex-wrap: wrap;
    }
    .export-widget-dim {
        flex: 1 1 calc(33.333% - 7px);
    }
    .export-widget-dim:first-child {
        flex: 1 1 100%;
    }

    .ticket-item {
        padding: 15px;
        gap: 7px;
    }

    .ticket-item-row {
        flex-direction: column;
        align-items: stretch;
        gap: 5px;
    }

    .ticket-item-row > .cus-opacity-70 {
        order: 1;
    }

    .ticket-item-row > div {
        flex-direction: column;
        gap: 0;
        align-items: flex-start;
    }

    .ticket-item-row.ticket-item-row-title > div {
        flex-direction: row;
        flex-wrap: wrap;
        gap: 5px !important;
        row-gap: 0 !important;
    }

    .ticket-item-row.ticket-item-row-title > div img {
        margin-top: -2px;
    }

    .ticket-item-row.ticket-item-row-title > div .cus-fw-700 {
        width: 100%;
    }

    .new-message {
        position: absolute;
        top: 15px;
    }

    .ticket-item:has(.new-message) {
        padding-top: 43px;
    }

    .redeem-calculate-result-additional-row {
        flex-direction: column;
    }

    .redeem-calculate-result-row {
        flex-direction: column;
        gap: 5px;
    }

    .ticket-form-div {
        gap: 10px;
        margin-top: 10px;
    }

    .form-country-radio-item {
        font-size: 18px;
        padding: 7px 10px;
    }

    .cart-type-div {
        flex-direction: column;
        gap: 10px !important;
        align-items: stretch;
    }

    .cart-type-div .form-check {
        align-items: center;
    }

    .cart-type-div .form-check .help-tooltip {
        margin-left: -5px !important;
    }

    .cart-products-item {
        padding: 15px;
    }

    .flex-row-mobile {
        flex-direction: row !important;
    }

    .flex-column-mobile {
        flex-direction: column !important;
        align-items: stretch;
    }

    .flex-fill-mobile {
        flex: 1 !important
    }

    .redeem-place-div {
        flex-direction: column;
        gap: 10px !important;
        align-items: stretch;
    }

    .redeem-place-div .form-check {
        align-items: center;
    }

    .redeem-place-div .form-check .help-tooltip {
        margin-left: -5px !important;
    }

    .redeem-place-div .form-check .form-check-label {
        flex: 1;
    }

    .help-tooltip > img:hover + div {
        right: 0;
        left: auto;
        width: 280px;
    }
}

/* ============ Modal Overlay ============ */
body.modal-open {
    overflow: hidden;
}

.modal-overlay {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.30);
    backdrop-filter: blur(2px);
    -webkit-backdrop-filter: blur(2px);
    display: flex;
    align-items: flex-start;
    justify-content: center;
    z-index: 10001;
    overflow-y: auto;
    padding: 20px 0;
}

.modal-content {
    background: #fff;
    border-radius: 16px;
    max-width: 420px;
    width: 90%;
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.15);
    overflow: hidden;
    margin: 0 auto;
    flex-shrink: 0;
}

.modal-header {
    padding: 20px 24px;
    border-bottom: 1px solid #eee;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.modal-header h3 {
    margin: 0;
    font-size: 18px;
    font-weight: 600;
}

.modal-close {
    background: none;
    border: none;
    font-size: 24px;
    cursor: pointer;
    color: #999;
    padding: 0;
    line-height: 1;
}

.modal-close:hover {
    color: #333;
}

.modal-body {
    padding: 24px;
    text-align: center;
}

.modal-body p {
    margin: 0 0 20px 0;
    color: #666;
}

.modal-footer {
    padding: 16px 24px 24px;
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
}

/* ============ Email Verification ============ */
.verification-code-input input {
    font-size: 20px;
    font-weight: 700;
    letter-spacing: 8px;
    text-align: center;
    width: 160px;
    padding: 12px 16px;
    border: 2px solid #ddd;
    border-radius: 8px;
    transition: border-color 0.2s;
}

.verification-code-input input:focus {
    outline: none;
    border-color: var(--accent);
}

.verification-message {
    margin-top: 16px;
    font-size: 14px;
    min-height: 20px;
}

.verification-message.success {
    color: #28a745;
}

.verification-message.error {
    color: #dc3545;
}

.resend-timer {
    font-size: 13px;
    color: #888;
}

.email-row {
    flex-direction: column;
    align-items: stretch;
}

.email-row .email-input-row {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: 10px;
}

.email-row .field-with-icon {
    flex: 1;
}

.email-row .email-confirmed-icon {
    flex-shrink: 0;
}

.email-row .field-error {
    width: 100%;
}

.phone-row {
    flex-direction: column;
    align-items: stretch;
}

.phone-row .phone-input-row {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: 10px;
}

.phone-row .field-with-icon {
    flex: 1;
}

.phone-row .phone-confirmed-icon {
    flex-shrink: 0;
}

.phone-row .field-error {
    width: 100%;
}

/* ============ Passport Scan Files ============ */
.passport-scan-file {
    width: 100%;
    background: #f8f9fa;
    border-radius: 8px;
    padding: 16px;
    flex: 1;
}

.passport-scan-file h3 {
    margin: 0 0 12px 0;
    font-size: 14px;
    font-weight: 500;
    color: #666;
}

.passport-scan-file > div {
    display: flex;
    align-items: center;
    gap: 10px;
}

.scan-file-icon {
    flex-shrink: 0;
}

.scan-file-name {
    flex: 1;
    font-size: 14px;
    color: #333;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.scan-file-delete {
    background: none;
    border: none;
    cursor: pointer;
    padding: 4px;
    opacity: 0.6;
    transition: opacity 0.2s;
}

.scan-file-delete:hover {
    opacity: 1;
}

.file-drop-zone {
    border: 2px dashed #ddd;
    border-radius: 8px;
    padding: 24px;
    text-align: center;
    cursor: pointer;
    transition: all 0.2s;
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
}

.file-drop-zone:hover,
.file-drop-zone.dragover {
    border-color: var(--accent);
    background: #fafafa;
}

.file-drop-zone img {
    width: 32px;
    height: 32px;
    opacity: 0.5;
}

.file-drop-zone div,
.file-drop-zone span {
    font-size: 13px;
    color: #666;
}

/* Сетка для блоков загрузки сканов на странице info */
.info-upload-wrap {
    flex: 1;
    min-width: 0;
}
.info-upload-wrap .info-file-drop {
    margin: 0;
}

/* Ошибки валидации под полями (серверная валидация) */
.form-field-wrap {
    flex: 1;
    min-width: 0;
}

.field-error {
    display: none;
    margin-top: 4px;
    font-size: 12px;
    color: #E42313;
    line-height: 1.3;
}

/* Унифицированная подсветка ошибок для всех полей ввода */
.form-field.has-error .form-control,
.form-field.has-error .form-select,
.form-field-wrap.has-error .form-control,
.form-field-wrap.has-error .form-select,
.has-error .form-control,
.has-error .form-select {
    border-color: #E42313;
}

.form-success-message {
    margin-bottom: 16px;
    padding: 12px 16px;
    font-size: 14px;
    color: #0a0;
    background: #f0fff0;
    border-radius: 8px;
}

.form-success-message.form-error-message,
.form-error-message {
    color: #E42313;
    background: #fff0f0;
}
.form-error-message {
    padding: 12px 16px;
    border-radius: 8px;
    margin: 0 0 16px 0;
}

/* ============ Баннер «Внесите персональные данные» (DRY, используется на export/import/home) ============ */
.pd-banner {
    display: block;
    background: #FFF2E6;
    border-radius: 10px;
    padding: 24px;
    text-decoration: none;
    color: inherit;
}
.pd-banner:hover {
    color: inherit;
}
.pd-banner-inner {
    display: flex;
    flex-direction: column;
    gap: 8px;
}
.pd-banner-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
}
.pd-banner-title-row {
    display: flex;
    align-items: center;
    gap: 10px;
    min-width: 0;
}
.pd-banner-icon {
    width: 24px;
    height: 24px;
    flex-shrink: 0;
}
.pd-banner-title {
    font-weight: 700;
    color: #E42313;
    margin: 0;
    font-size: 16px;
    line-height: 1.2;
}
.pd-banner-text {
    color: #4A4A4A;
    margin: 0;
    font-size: 14px;
    line-height: 1.4;
}
.pd-banner-arrow {
    width: 24px;
    height: 24px;
    flex-shrink: 0;
    opacity: 0.6;
}

/* /personal: плашка должна оставаться белой */
.page-disclaimer .pd-banner {
    background: #FFFFFF;
}

/* ============ Export (Отправить из России) ============ */
.export-how-title {
    margin: 0 0 20px 0;
    font-size: 20px;
    color: #2F2F30;
}
.export-widget-section { margin-top: 30px; }

/* Виджет рассчитать и оформить */
.export-widget {
    background: #fff;
    border-radius: 15px;
    border: 1px solid #E9E9EA;
    padding: 24px;
    box-shadow: none;
}
.export-widget-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: nowrap;
    gap: 16px;
    margin-bottom: 24px;
}
.export-widget-title {
    margin: 0;
    font-size: 36px;
    font-weight: 400;
    color: #2F2F30;
    line-height: 1.1;
}
.export-widget-steps {
    display: flex;
    align-items: center;
    flex-wrap: nowrap;
    background: #DCE1F1;
    border-radius: 10px;
}

.export-widget-steps > div:first-child {
    margin-left: 0;
}

.export-widget-steps > div:last-child {
    margin-right: 0;
}

/* Шаги: активные слиты в блок (прямые внутр. грани), неактивные — отдельные с зазором */
.export-widget-steps-desktop .export-widget-step {
    margin: 0 2px;
    padding: 8px 18px;
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 14px;
    white-space: nowrap;
}
/* Неактивные — каждая своя «таблетка» */
.export-widget-steps-desktop .export-widget-step:not(.is-on) {
    border-radius: 10px;
}
/* Смежные заполненные/активные — склейка без скруглений внутри */
.export-widget-steps-desktop .export-widget-step.is-on:first-child {
    border-top-left-radius: 10px;
    border-bottom-left-radius: 10px;
}
.export-widget-steps-desktop .export-widget-step.is-on + .export-widget-step.is-on {
    margin-left: 2px;
    border-top-left-radius: 0;
    border-bottom-left-radius: 0;
}
.export-widget-steps-desktop .export-widget-step.is-on:has(+ .export-widget-step.is-on) {
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
}

/* Неактивные: светлый фон #ECEDEE */
.export-widget-steps-desktop .export-widget-step {
    background: #DCE1F1;
    color: #9A9B9C;
    border-radius: 10px;
}
.export-widget-steps-desktop .export-widget-step .export-widget-step-icon {
    opacity: 0.7;
}
/* Пройденные шаги */
.export-widget-steps-desktop .export-widget-step.is-on {
    background: #BFC8F0;
    color: #2F2F30;
}
/* Текущий (активный) шаг — ярче */
.export-widget-steps-desktop .export-widget-step.active {
    background: #A0AEE8;
    color: #1A1A1B;
    font-weight: 600;
}
.export-widget-steps-desktop .export-widget-step.is-on .export-widget-step-icon {
    opacity: 1;
    filter: none;
}
/* На активном шаге фон темнее — приглушаем иконку, иначе она сливается и не видна. */
.export-widget-steps-desktop .export-widget-step.active .export-widget-step-icon {
    opacity: 1;
    filter: brightness(0.4);
}
.export-widget-steps-desktop .export-widget-step.disallow {
    cursor: default;
}
.export-widget-steps-desktop .export-widget-step:not(.disallow) {
    cursor: pointer;
}
.export-widget-step-icon {
    width: 18px;
    height: 18px;
}
/* Скрыть мобильные шаги на десктопе */
.export-widget-steps-mobile {
    display: none;
    background: #ECEDEE;
    padding: 0;
    margin: 0;
}
.export-widget-body {
    display: flex;
    gap: 24px;
}

/* Оплата доставки со страницы посылки: карта маршрута (ПВЗ) + блок оплаты */
.parcel-view-export-pay-wrap {
    margin-bottom: 24px;
}
.export-widget--parcel-pay .export-widget-steps-desktop,
.export-widget--parcel-pay .export-widget-steps-mobile {
    display: none !important;
}
.export-widget--parcel-pay .export-widget-btn-reset,
.export-widget--parcel-pay .export-widget-btn-save-draft,
.export-widget--parcel-pay #export-btn-save-draft {
    display: none !important;
}
.export-widget--parcel-pay .export-widget-sidebar-hint {
    display: none;
}
.export-widget--parcel-pay .export-widget-form {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    align-items: flex-start;
    gap: 16px;
}
.export-widget--parcel-pay .export-widget-step-panel[data-step="1"] {
    display: block !important;
    flex: 1 1 320px;
    min-width: 260px;
    margin: 0;
    padding: 0;
}
.export-widget--parcel-pay .export-widget-step-panel[data-step="1"] > *:not(.export-widget-map) {
    display: none !important;
}
.export-widget--parcel-pay .export-widget-step-panel[data-step="1"] .export-widget-map {
    margin: 0;
}
.export-widget--parcel-pay .export-widget-step-panel[data-step="1"] #map-widget-export {
    min-height: 420px;
    height: 420px !important;
}
.export-widget--parcel-pay .export-widget-step-panel[data-step="2"],
.export-widget--parcel-pay .export-widget-step-panel[data-step="3"] {
    display: none !important;
}
.export-widget--parcel-pay .export-widget-step-panel[data-step="4"] {
    display: block !important;
    flex: 1 1 320px;
    min-width: 260px;
}
.export-widget-payflow {
    margin-bottom: 16px;
    background: #fff;
    border-radius: 12px;
    padding: 24px;
}

.export-widget-payflow #bxbpay-widget {
    width: 100%;
    max-width: 720px;
    margin: 0 auto;
    min-height: 880px;
}

@media (max-width: 767.98px) {
    .export-widget-payflow {
        padding: 16px;
    }
    .export-widget-payflow #bxbpay-widget {
        max-width: 100%;
        min-height: 740px;
    }
}
.export-widget-payflow-return {
    margin-bottom: 10px;
}

.export-payment-promo-message {
    margin-top: 8px;
    font-size: 13px;
    line-height: 1.35;
}
.export-payment-promo-message.is-ok {
    color: #1a7f37;
}
.export-payment-promo-message.is-error {
    color: #E42313;
}
.export-widget-payflow-return a {
    color: #0b62c4;
    font-size: 14px;
}
.export-widget-form {
    flex: 1;
    min-width: 0;
    background: #fff;
    border-radius: 12px;
}
.export-widget-step-panel {
    display: none;
}
.export-widget-step-panel.active {
    display: block;
}
.export-widget-field.has-error .form-control,
.export-widget-dim.has-error .form-control,
.export-widget-field.has-error .form-select {
    border-color: #E42313;
}
.export-field-error {
    color: #E42313;
    font-size: 12px;
    margin-top: 4px;
    display: none;
}
.export-widget-step-placeholder {
    color: #5D6368;
    font-size: 14px;
    margin: 0;
}
.export-widget-form-title {
    margin: 0 0 14px 0;
    font-size: 20px;
    font-weight: 600;
    color: #2F2F30;
}
.export-widget-field {
    margin-bottom: 16px;
}
.export-widget-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 14px;
}
.export-widget-field-with-hint {
    display: flex;
    align-items: center;
    gap: 8px;
}
.export-widget-field-with-hint .export-widget-field {
    flex: 1 1 auto;
}
.export-widget-dim.export-widget-field-with-hint .form-field {
    flex: 1 1 auto;
    width: 100%;
}
.export-widget-hint-btn {
    width: 22px;
    height: 22px;
    border-radius: 50%;
    border: none;
    background: transparent;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    margin-bottom: 16px;
    cursor: help;
}
.export-widget-hint-inline[data-hint],
.export-widget-hint-btn[data-hint] {
    cursor: pointer;
}
.export-widget-hint-inline[data-hint] img,
.export-widget-hint-btn[data-hint] img {
    pointer-events: none;
}
/* Всплывающая подсказка полей формы экспорта — оформлена как тултипы импорта (.help-tooltip): белый фон, тёмный текст. */
.export-hint-bubble {
    position: absolute;
    z-index: 10000;
    max-width: 330px;
    padding: 10px;
    background: #FFF;
    color: #2F2F30;
    font-size: 14px;
    line-height: 1.4;
    border-radius: 10px;
    box-shadow: 0 0 15px 0 rgba(0, 0, 0, 0.15);
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.12s ease;
    pointer-events: none;
}
.export-hint-bubble.is-visible {
    opacity: 1;
    visibility: visible;
}
.export-hint-bubble::after {
    content: '';
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    border: 6px solid transparent;
    bottom: -12px;
    border-top-color: #FFF;
}
.export-hint-bubble.is-below::after {
    bottom: auto;
    top: -12px;
    border-top-color: transparent;
    border-bottom-color: #FFF;
}
.export-widget-hint-btn img {
    width: 20px;
    height: 20px;
    opacity: 1;
}
.export-widget-hint-inline {
    width: 20px;
    height: 20px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    margin-bottom: 16px;
}
.export-widget-hint-inline img {
    width: 20px;
    height: 20px;
}
.export-widget-form .form-field-grey .form-select {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    padding-right: 40px;
    background-image: url(../images/icons/dropdown.svg);
    background-position: right 12px center;
    background-repeat: no-repeat;
    background-size: 20px 20px;
}
.export-widget-label {
    display: block;
    margin-bottom: 8px;
    font-size: 20px;
    color: #2F2F30;
    font-weight: 600;
}
.export-widget-radio-group {
    display: flex;
    flex-direction: column;
    gap: 12px;
}
.export-widget-radio {
    display: flex;
    align-items: center;
    gap: 12px;
    cursor: pointer;
    font-size: 16px;
    color: #2F2F30;
}
.export-payment-method-icon {
    flex: 0 0 auto;
    height: 22px;
    width: auto;
}
.export-widget-radio .form-check-input {
    width: 24px;
    height: 24px;
    flex-shrink: 0;
    margin-top: 0;
    border: 2px solid #979FA6;
    background-color: #fff;
}
.has-error .export-widget-radio .form-check-input {
    border-color: #E42313;
}
.has-error .export-widget-radio span {
    color: #E42313;
}
.export-widget-radio input[type="radio"].form-check-input {
    border-radius: 50%;
}
.export-widget-radio input[type="radio"].form-check-input:checked {
    border-color: #E42313;
    background: #fff url(../images/icons/radio-red-checked.svg) center;
}
.export-widget-radio input[type="checkbox"].form-check-input {
    border-radius: 3px;
}
.export-widget-radio input[type="checkbox"].form-check-input:checked {
    border-color: #E42313;
    background: #fff url(../images/icons/checkbox-red-checked.svg) center;
}
.export-widget-dimensions {
    display: flex;
    gap: 10px;
    margin-bottom: 16px;
}
.export-widget-dim {
    flex: 1;
}
.export-widget-map {
    margin-bottom: 16px;
    overflow: hidden;
    border: 1px solid transparent;
}
.export-widget-map.has-error {
    border-color: #E42313;
}
.export-widget-map.has-error #map-widget-export {
    box-shadow: inset 0 0 0 1px #E42313;
}
.export-item-card {
    border: none;
    border-radius: 16px;
    padding: 16px;
    margin-bottom: 10px;
    background: #F6F6F6;
}
/* Сообщение о недоступности категории к отправке (валидация шага 3). */
.export-item-category-error {
    color: #E42313;
    font-size: 14px;
    line-height: 1.4;
    margin: -4px 0 12px 0;
}
.export-item-card:last-child {
    margin-bottom: 0;
}
.export-item-card-header {
    display: flex;
    justify-content: flex-start;
    gap: 10px;
    align-items: center;
    margin-bottom: 10px;
}
.export-item-title {
    font-size: 20px;
    font-weight: 600;
    color: #2F2F30;
}
.export-item-subtitle {
    margin-left: 8px;
    font-size: 14px;
    color: #5D6368;
    flex: 1;
    min-width: 0;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
    display: none;
}
.export-item-actions {
    display: flex;
    gap: 10px;
    align-items: center;
    flex: 1;
}
.export-item-actions .export-item-toggle {
    margin-left: auto;
}
.export-item-action-icon {
    border: none;
    background: transparent;
    width: 18px;
    height: 18px;
    padding: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}
.export-item-action-icon img {
    width: 18px;
    height: 18px;
}
.export-item-action-icon:disabled {
    opacity: 0.45;
    cursor: not-allowed;
}
.export-item-card.collapsed .export-item-card-body {
    display: none;
}
.export-item-card.collapsed .export-item-toggle-arrow {
    transform: rotate(180deg);
}
.export-step3-restrictions {
    display: flex;
    gap: 10px;
    background: #FEF0E0;
    border-radius: 12px;
    padding: 12px 14px;
    margin-bottom: 12px;
}
.export-step3-restrictions img {
    width: 20px;
    height: 20px;
    flex-shrink: 0;
}
.export-step3-restrictions p {
    margin: 0;
    font-size: 13px;
    color: #5D6368;
}
.export-step3-vat-notice {
    margin-top: 12px;
    margin-bottom: 0;
}
.export-step3-upload-title {
    margin: 0 0 8px 0;
    font-size: 14px;
    font-weight: 600;
    color: #2F2F30;
}
.export-step3-upload-zone {
    border: 1px dashed #BFC5CD;
    border-radius: 10px;
    min-height: 78px;
    padding: 10px 14px;
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 8px;
    cursor: pointer;
    background: #fff;
}
.export-step3-upload-zone input[type="file"] {
    display: none;
}
.export-step3-upload-zone.is-dragover {
    border-color: #E42313;
    background: #FDECEA;
}
.export-step3-upload-icon {
    width: 16px;
    height: 16px;
    transform: rotate(180deg);
    opacity: .6;
}
.export-step3-upload-text {
    font-size: 14px;
    color: #9098A1;
}
.export-step3-upload-file-item {
    background: #F6F6F6;
    border-radius: 8px;
    padding: 8px 10px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    margin-bottom: 8px;
}
.export-step3-upload-file-remove {
    border: none;
    background: transparent;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    width: 24px;
    height: 24px;
    padding: 0;
    line-height: 0;
    cursor: pointer;
    box-sizing: border-box;
}
.export-step3-upload-file-remove img {
    display: block;
    width: 24px;
    height: 24px;
}
.export-step3-upload-warning {
    color: #E42313;
    font-size: 12px;
    margin-top: 4px;
}
.export-item-hts-fields {
    margin-top: 8px;
}
.export-item-hts-hint {
    color: #979FA6;
    font-size: 12px;
    margin: 4px 0 0;
}
.export-step3-add-row {
    display: flex;
    align-items: center;
    gap: 14px;
    margin: 12px 0 16px;
}
.export-add-item-icon {
    width: 16px;
    height: 16px;
    filter: brightness(0) invert(1);
}
.export-step3-add-hint {
    margin: 0;
    font-size: 13px;
    color: #5D6368;
}
.export-step3-invoice-title {
    margin: 0 0 6px 0;
    font-size: 18px;
    font-weight: 600;
}
.export-step3-invoice-hint {
    margin: 0 0 10px 0;
    color: #5D6368;
    font-size: 14px;
}
#export-add-item {
    margin-top: 12px;
    border-radius: 10px;
    border: 1px solid #E42313;
    color: #fff;
    background: #E42313;
    display: inline-flex;
    align-items: center;
    gap: 8px;
}
.export-payment-review {
    background: #FEF0E0;
    border-radius: 12px;
    padding: 14px 18px;
    margin-bottom: 14px;
}
.export-payment-review-title {
    font-size: 22px;
    font-weight: 500;
    margin: 0 0 10px 0;
}
.export-payment-review-grid {
    display: grid;
    grid-template-columns: 180px 1fr;
    gap: 6px 10px;
    font-size: 14px;
}
.export-payment-review-grid > div:nth-child(odd) {
    font-weight: 600;
}
.export-payment-items {
    background: #ECECEC;
    border-radius: 12px;
    margin-bottom: 16px;
}
.export-payment-items-header {
    width: 100%;
    border: none;
    background: transparent;
    padding: 14px 18px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    font-size: 20px;
    color: #2F2F30;
}
.export-payment-items-arrow {
    width: 18px;
    height: 18px;
    transition: transform .2s ease;
}
.export-payment-items.collapsed .export-payment-items-arrow {
    transform: rotate(180deg);
}
.export-payment-items.collapsed .export-payment-items-list {
    display: none;
}
.export-payment-items-list {
    padding: 0 12px 12px;
}
.export-payment-item {
    background: #fff;
    border-radius: 10px;
    padding: 12px;
    margin-bottom: 8px;
}
.export-payment-item:last-child {
    margin-bottom: 0;
}
.export-payment-item strong {
    display: block;
    margin-bottom: 4px;
}
.export-payment-item p {
    margin: 0 0 4px 0;
    font-size: 14px;
}
.export-payment-item p:last-child {
    margin-bottom: 0;
}
.export-payment-block {
    margin-bottom: 18px;
}
.export-payment-price-group .export-widget-radio {
    justify-content: space-between;
}
.export-payment-line-price {
    margin-left: auto;
    font-weight: 400;
    color: #5D6368;
}
.export-payment-package-note {
    margin-top: 4px;
}
.export-payment-package-note p {
    margin: 0 0 8px 0;
    font-size: 14px;
    line-height: 1.45;
    color: #5D6368;
}
.export-payment-package-note p:last-child {
    margin-bottom: 0;
}
/* Курьер: индекс отправления + кнопка «Проверить» в один ряд. */
.export-courier-zip-row {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    align-items: flex-start;
}
.export-courier-zip-field {
    flex: 1 1 200px;
}
.export-courier-zip-check {
    flex: 0 0 auto;
    width: 150px;
    height: 50px;
    font-size: 18px;
    background: transparent;
    color: #E42313;
    border: 2px solid #E42313;
    border-radius: 10px;
    cursor: pointer;
}
.export-courier-zip-check:hover {
    background: #E42313;
    color: #fff;
}

.export-payment-promo-row {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    align-items: flex-start;
}
.export-payment-promo-field {
    flex: 1 1 200px;
}
.export-payment-promo-apply {
    color: #E42313;
    background: #fff;
    border-radius: 10px;
    height: 48px;
    min-width: 128px;
}
.export-payment-promo-apply[hidden] {
    display: none;
}
/* Промокод применён: вместо инпута — серая плашка с зелёным текстом и иконкой удаления. */
.export-payment-promo-applied {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex: 1 1 200px;
    padding: 12px 14px;
    background: #F6F6F6;
    border: 1px solid #E8E8E8;
    border-radius: 10px;
    font-size: 14px;
    color: #219653;
}
.export-payment-promo-applied[hidden] {
    display: none;
}
.export-payment-promo-applied-text b {
    font-weight: 700;
}
.export-payment-promo-remove {
    background: none;
    border: 0;
    cursor: pointer;
    padding: 4px;
    line-height: 0;
    margin-left: 8px;
}
.export-payment-promo-remove img {
    width: 18px;
    height: 18px;
    opacity: 0.65;
}
.export-payment-promo-remove:hover img {
    opacity: 1;
}
/* Промокод не применился: красная рамка на инпуте + сообщение красным. */
.export-payment-promo-field--error .form-control {
    border: 1px solid #E42313 !important;
}
.export-payment-promo-row[data-state="error"] .export-payment-promo-message {
    color: #E42313 !important;
}
.export-checkbox-row {
    margin-top: 10px;
}
.export-widget-info-text {
    font-size: 12px;
    color: #5D6368;
    margin: 0;
}
.export-widget-info-text p {
    margin: 0 0 6px 0;
}
.export-widget-info-text p:last-child {
    margin-bottom: 0;
}
.export-country-warning {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    padding: 12px;
    border-radius: 10px;
    background: #ECEDEE;
    margin-bottom: 16px;
    color: #5D6368;
    font-size: 16px;
    line-height: 1.4;
}
.export-country-warning img {
    width: 20px;
    height: 20px;
    margin-top: 2px;
    flex-shrink: 0;
    opacity: 0.7;
}
.export-country-warning p {
    margin: 0;
}
.export-courier-zip-error {
    padding: 12px;
    border-radius: 10px;
    background: #FDECEA;
    color: #E42313;
    font-size: 14px;
    line-height: 1.4;
    margin-bottom: 16px;
}
.export-courier-hint {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    padding: 12px;
    border-radius: 10px;
    background: #ECEDEE;
    margin-top: 4px;
    color: #5D6368;
    font-size: 14px;
    line-height: 1.4;
}
.export-courier-hint img {
    width: 20px;
    height: 20px;
    margin-top: 2px;
    flex-shrink: 0;
    opacity: 0.7;
}
.export-courier-hint p {
    margin: 0;
}
.export-widget-sidebar {
    width: 235px;
    flex-shrink: 0;
}
.export-widget-sidebar-inner {
    background: #DCE1F1;
    border-radius: 15px;
    padding: 20px;
    border: none;
    display: flex;
    flex-direction: column;
    gap: 12px;
    position: sticky;
    /* Ниже фиксированного хедера (~95px), чтобы при прокрутке верх не обрезался */
    top: 96px;
}
.export-widget-sidebar-hint {
    margin: 0;
    font-size: 13px;
    color: #6A6F79;
}
@media (max-width: 767.98px) {
    .export-widget-sidebar-hint {
        font-size: 18px;
        line-height: 1.35;
    }
    .export-widget-sidebar-cost {
        font-size: 24px;
    }
}
.export-widget-sidebar-cost {
    margin: 0 0 8px 0;
    font-size: 24px;
    font-weight: 600;
    color: #2F2F30;
    line-height: 1.2;
}
.export-widget-sidebar-time {
    margin: 0;
    font-size: 16px;
    color: #5D6368;
    display: flex;
    align-items: center;
    gap: 8px;
}

/* Для мобильного sticky-блока "с суммой":
   дни слева, цена справа (перевёрстка поверх существующей разметки). */
.export-widget-sidebar-days-price {
    display: block;
}

@media (max-width: 991.98px) {
    .export-widget-sidebar-days-price {
        display: flex;
        align-items: flex-end; /* цена крупнее, выравниваем по низу */
        justify-content: space-between;
        gap: 12px;
    }

    .export-widget-sidebar-days-price .export-widget-sidebar-cost {
        margin: 0;
        text-align: right;
    }
}
.export-widget-sidebar-time-icon {
    width: 18px;
    height: 18px;
    opacity: 0.75;
}
.export-widget-sidebar-breakdown {
    display: grid;
    grid-template-columns: 1fr auto;
    column-gap: 12px;
    row-gap: 4px;
    margin: 12px 0 4px;
    font-size: 14px;
    color: #5D6368;
}
.export-widget-sidebar-breakdown[hidden] {
    display: none;
}
.export-widget-sidebar-breakdown .export-sidebar-row {
    margin: 0;
    line-height: 1.4;
}
.export-widget-sidebar-breakdown dt.export-sidebar-row {
    grid-column: 1;
}
.export-widget-sidebar-breakdown dd.export-sidebar-row {
    grid-column: 2;
    text-align: right;
    font-weight: 500;
    color: #2F2F30;
}
.export-widget-sidebar-breakdown .export-sidebar-row.is-hidden {
    display: none;
}
.export-widget-sidebar-breakdown .export-sidebar-row--promo {
    color: #2F8E3E;
}
@media (max-width: 991.98px) {
    .export-widget-sidebar-breakdown {
        grid-column: 1 / -1;
        order: 3;
    }
}
.export-widget-sidebar-warning {
    display: flex;
    align-items: flex-start;
    gap: 10px;
}
.export-widget-sidebar-warning img {
    width: 20px;
    height: 20px;
    flex-shrink: 0;
}
.export-widget-sidebar-warning span {
    font-size: 14px;
    color: #2F2F30;
}
.export-widget-btn-submit {
    background: #E42313 !important;
    color: #FFF !important;
    border: none;
    padding: 13px 20px;
    border-radius: 10px;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 18px !important;
    font-weight: 600;
    line-height: 1.2;
    letter-spacing: normal;
    width: 100%;
    justify-content: center;
    min-width: 0;
}
.export-widget-sidebar .btn.export-widget-btn-reset,
.export-widget-sidebar .btn.export-widget-btn-reset:hover,
.export-widget-sidebar .btn.export-widget-btn-reset:focus,
.export-widget-sidebar .btn.export-widget-btn-reset:active,
.export-widget-sidebar .btn.export-widget-btn-reset:focus-visible {
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    color: #5D6368 !important;
    font-size: 18px !important;
    font-weight: 400 !important;
    line-height: 1.2 !important;
    letter-spacing: normal !important;
    text-decoration: underline !important;
    text-underline-offset: 2px;
    padding: 0 !important;
    margin: 0;
    width: auto !important;
    min-width: 0 !important;
    min-height: 0 !important;
    align-self: center;
    transition: none !important;
    transform: none !important;
}
.export-widget-sidebar .btn.export-widget-btn-reset:hover,
.export-widget-sidebar .btn.export-widget-btn-reset:focus,
.export-widget-sidebar .btn.export-widget-btn-reset:active,
.export-widget-sidebar .btn.export-widget-btn-reset:focus-visible {
    color: #2F2F30 !important;
}
.export-widget-sidebar .btn.export-widget-btn-save-draft,
.export-widget-sidebar .btn.export-widget-btn-save-draft:hover,
.export-widget-sidebar .btn.export-widget-btn-save-draft:focus,
.export-widget-sidebar .btn.export-widget-btn-save-draft:active,
.export-widget-sidebar .btn.export-widget-btn-save-draft:focus-visible {
    display: inline-flex !important;
    align-items: center;
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    color: #0b62c4 !important;
    font-size: 16px !important;
    font-weight: 400 !important;
    line-height: 1.35 !important;
    letter-spacing: normal !important;
    text-decoration: underline;
    text-underline-offset: 2px;
    padding: 10px 0 0 !important;
    margin: 0;
    width: auto !important;
    min-width: 0 !important;
    min-height: 0 !important;
    align-self: center;
    justify-content: center;
    transition: color 0.15s ease;
    transform: none !important;
}
.export-widget-sidebar .btn.export-widget-btn-save-draft:hover,
.export-widget-sidebar .btn.export-widget-btn-save-draft:focus,
.export-widget-sidebar .btn.export-widget-btn-save-draft:active,
.export-widget-sidebar .btn.export-widget-btn-save-draft:focus-visible {
    color: #084a96 !important;
}
.export-widget-sidebar .btn.export-widget-btn-save-draft:disabled {
    cursor: not-allowed;
    opacity: 0.65;
}
.export-widget-btn-submit:hover,
.export-widget-btn-submit:focus,
.export-widget-btn-submit:active,
.export-widget-btn-submit:focus-visible {
    background: #c61e10 !important;
    color: #FFF !important;
    font-size: 18px !important;
}
.export-widget-btn-submit .export-widget-btn-arrow,
.export-widget-btn-arrow {
    width: 18px;
    height: 18px;
}
.export-widget-btn-submit .export-widget-btn-arrow {
    filter: brightness(0) invert(1);
}
.export-widget-btn-loader {
    display: inline-flex;
    align-items: center;
    vertical-align: middle;
}
.export-widget-btn-submit:disabled {
    cursor: not-allowed;
    opacity: 0.85;
}
.export-widget-action-errors {
    margin-top: 8px;
    margin-bottom: 8px;
    color: #E42313;
    font-size: 14px;
    line-height: 1.35;
}
.export-widget-action-errors-title {
    margin-bottom: 4px;
}
.export-widget-action-errors ul {
    margin: 0;
    padding-left: 18px;
}
.export-widget-action-errors li {
    margin: 0;
}
.export-widget-sidebar .btn.export-widget-btn-submit,
.export-widget-sidebar .btn.export-widget-btn-submit:hover,
.export-widget-sidebar .btn.export-widget-btn-submit:focus,
.export-widget-sidebar .btn.export-widget-btn-submit:active,
.export-widget-sidebar .btn.export-widget-btn-submit:focus-visible {
    font-size: 18px !important;
    font-weight: 600 !important;
    letter-spacing: normal !important;
    line-height: 1.2 !important;
}

.export-parcels-section { margin-top: 30px; }
.export-parcels-section h2 {
    margin-bottom: 12px;
    font-size: 20px;
    color: #2F2F30;
}
.export-parcels-block {
    border-radius: 15px;
    border: 1px solid #eee;
}
.export-parcels-empty {
    margin: 8px 12px;
    font-size: 16px;
    color: #2F2F30;
}
.export-parcels-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
}
.export-parcel-card {
    position: relative;
    display: flex;
    flex-direction: column;
    gap: 6px;
    min-height: 98px;
    padding: 25px;
    border-radius: 10px;
    background: #ffffff;
    color: #2F2F30;
    text-decoration: none;
}
.export-parcel-card-direction {
    font-size: 13px;
    line-height: 1.2;
    color: #9A9B9C;
}
.export-parcel-card-track {
    font-size: 20px;
    padding: 10px 0px;
    line-height: 1.2;
    color: #2F2F30;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.export-parcel-card-status {
    font-size: 14px;
    line-height: 1.2;
    color: #ffffff;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.export-parcel-card-status.parcels-status-error {
    color: #E42313;
}
.export-parcel-card-status.parcels-status-success {
    color: #0a0;
}
.export-parcel-card-status.parcels-status-union-child {
    color: #98A2A6;
}
.export-parcel-card-arrow {
    position: absolute;
    right: 14px;
    top: 39%;
    width: 18px;
    height: 18px;
    transform: translateY(-50%);
}
.export-parcel-card-all {
    justify-content: center;
    background: #d4d4d4;
}
.export-parcel-card-all-text {
    font-size: 18px;
    line-height: 1.2;
    color: #2F2F30;
}
@media (max-width: 991.98px) {
    .export-parcels-grid {
        grid-template-columns: 1fr;
    }
    .export-parcel-card-track {
        font-size: 18px;
    }
    .export-parcel-card-all-text {
        font-size: 16px;
    }
}

@media (max-width: 991.98px) {
    .export-widget.export-mobile-sticky-enabled {
        padding-bottom: calc(var(--export-mobile-sticky-height, 0px) + 12px);
    }
    .export-widget .export-widget-sidebar-inner.export-mobile-sticky-active {
        position: fixed;
        z-index: 50;
        margin-top: 0;
        left: 0 !important;
        width: 100% !important;
        /* В обычном режиме у sidebar-inner есть `top: 96px` для sticky.
           При `position: fixed` его нужно отменить, иначе блок оказывается "в воздухе"
           (фиксируется по верхней границе вместо низа). */
        top: auto;
        border-radius: 12px 12px 0 0;
        box-shadow: 0 -8px 24px rgba(0, 0, 0, 0.12);
        /* На мобильном этот блок может получаться очень высоким.
           Ограничиваем высоту и делаем прокрутку внутри. */
        max-height: 45vh;
        bottom: 0;
        overflow: auto;
        -webkit-overflow-scrolling: touch;
    }
}
.export-other-services { margin-top: 30px; }
.export-other-services h2,
.export-useful h2 {
    margin-bottom: 20px;
    font-size: 20px;
    color: #2F2F30;
}
.export-useful { margin-top: 30px; }

/* Карточки «Другие услуги» — разные цвета по скриншоту */
.export-other-cards {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 16px;
    min-width: 0;
}
.export-other-card {
    display: flex;
    flex-direction: column;
    padding: 30px 23px;
    border-radius: 15px;
    text-decoration: none;
    color: inherit;
    border: none;
    transition: box-shadow 0.2s;
    min-width: 0;
}
.export-other-card:hover {
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.12);
}
.export-other-card-business {
    background: rgb(240, 240, 247);
}
.export-other-card-shopping {
    background: rgb(235, 232, 244);
}
.export-other-card-marketplace {
    background: rgb(244, 232, 244);
}
.export-other-card-icon {
    width: 32px;
    height: 32px;
    margin-bottom: 10px;
    opacity: 0.7;
}
.export-other-card-content {
    flex: 1;
}
.export-other-card-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 8px;
    margin-bottom: 8px;
}
.export-other-card-title {
    margin: 0;
    font-size: 18px;
    font-weight: 500;
    color: #2F2F30;
}
.export-other-card-desc {
    margin: 0;
    font-size: 14px;
    color: #5D6368;
    line-height: 1.4;
    overflow-wrap: break-word;
}
.export-other-card-arrow {
    width: 20px;
    height: 20px;
    flex-shrink: 0;
    opacity: 0.6;
}

.export-useful .useful-item {
    background: #FFF;
    border: 1px solid #eee;
}

/* ============ Import (Доставить в Россию) ============ */
.import-help-order-block {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    padding: 24px;
    margin-top: 24px;
    background: #EFF2FF;
    border-radius: 12px;
}
.import-help-order-content { flex: 1; min-width: 0; }
.import-help-order-title {
    margin: 0 0 8px 0;
    font-size: 18px;
    font-weight: 700;
    color: #2F2F30;
}
.import-help-order-text {
    margin: 0;
    font-size: 16px;
    color: #2F2F30;
    line-height: 1.4;
}
.import-help-order-btn {
    flex-shrink: 0;
    background: #E42313;
    border-color: #E42313;
    color: #fff;
    padding: 13px 27px;
}
.import-help-order-btn:hover {
    background: #c41e12;
    border-color: #c41e12;
    color: #fff;
}
.import-section-title {
    margin: 0 0 16px 0;
    font-size: 20px;
    font-weight: 600;
    color: #2F2F30;
}
.import-section-title:last-child { margin-bottom: 0; }
.import-calc-section { margin-top: 16px; }
.import-calc-widget {
    padding: 28px 24px 24px;
    background: #FFF;
    border-radius: 15px;
    border: 1px solid #eee;
}
.import-calc-widget .import-section-title {
    margin-bottom: 24px;
}
.import-calc-form .form-control,
.import-calc-form .form-select,
.import-register-form .form-control,
.import-register-form .form-select {
    background-color: #F6F6F6;
    border-radius: 10px;
    min-height: 50px;
}
.import-calc-form .form-select,
.import-register-form .form-select {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    padding-right: 40px;
    background-image: url(../images/icons/dropdown.svg);
    background-position: right 12px center;
    background-repeat: no-repeat;
    background-size: 20px 20px;
}
.import-calc-form .form-field,
.import-register-form .form-field {
    display: flex;
    flex-direction: column-reverse;
    align-items: stretch;
}
.import-calc-form .form-label,
.import-register-form .form-label {
    margin-bottom: 6px;
    font-size: 16px;
    color: #5D6368;
}
.import-carrier-new-tag {
    color: #fff;
    font-weight: 500;
}
.import-carrier-new-tag::before {
    content: '+ ';
    font-weight: 700;
}
.import-calc-fields { margin-bottom: 0; }
.import-calc-row {
    display: flex;
    gap: 10px;
    margin-bottom: 16px;
}
.import-calc-row-three {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    align-items: flex-start;
}
/* flex-basis 200px: на широком экране поля (в т.ч. «Склад» справа от «Страны»)
   стоят в ряд, на узком — переносятся, а не сжимаются в нечитаемые. */
.import-calc-row-three .import-calc-field {
    flex: 1 1 200px;
    min-width: 0;
}
/* Стрелка выпадающего списка для «Город получателя» (селект должен выглядеть как «Страна отправления») */
#import-calc-city {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    padding-right: 40px;
    background-image: url(../images/icons/dropdown.svg);
    background-position: right 12px center;
    background-repeat: no-repeat;
    background-size: 20px 20px;
}
.import-calc-field { flex: 1; min-width: 0; }
.import-calc-field-full { flex: 1 1 100%; max-width: 100%; }
.import-calc-hint {
    margin: 8px 0 20px 0;
    font-size: 16px;
    color: #5D6368;
    line-height: 1.4;
}
.import-calc-extra { margin-top: 16px; padding-top: 16px; border-top: 1px solid #eee; }
.import-calc-warehouse-hint { font-size: 12px; color: #5D6368; margin: 6px 0 0 0; }
.import-calc-dimensions { gap: 10px; display: flex; }
.import-calc-dimensions .import-calc-field { flex: 1 1 0; min-width: 0; }
.import-calc-extra .import-calc-field-hint { position: relative; z-index: 0; }
.import-calc-actions { margin-top: 20px; }
.import-calc-field-error {
    margin-top: 4px;
    font-size: 12px;
    color: #E42313;
    line-height: 1.4;
    min-height: 16px;
    visibility: hidden;
}
.import-calc-field-error.is-visible {
    visibility: visible;
    display: block !important;
}
.import-calc-form .form-field.has-error .form-control,
.import-calc-form .form-field.has-error .form-select,
.import-register-form .form-field.has-error .form-control,
.import-register-form .form-field.has-error .form-select {
    border-color: #E42313;
}
.import-calc-result { margin-top: 24px; padding-top: 24px; border-top: 1px solid #eee; }
.import-calc-result-cards { display: flex; flex-direction: row; flex-wrap: wrap; gap: 16px; }
.import-calc-result-card {
    flex: 1 1 0;
    min-width: 240px;
    padding: 18px 20px 16px;
    background: #F6F6F6;
    border-radius: 12px;
    border: 1px solid #F6F6F6;
}
.import-calc-result-title {
    margin: 0 0 6px 0;
    font-size: 20px;
    font-weight: 600;
    color: #5D6368;
}
.import-calc-result-price-main {
    font-size: 22px;
    font-weight: 600;
    color: #E42313;
    margin-bottom: 8px;
}
.import-calc-result-price-main--discount {
    display: flex;
    flex-direction: column;
    gap: 2px;
}
.import-calc-result-price-old {
    font-size: 14px;
    color: #8A8F94;
    text-decoration: line-through;
}
.import-calc-result-price-new {
    font-size: 22px;
    font-weight: 600;
    color: #E42313;
}
.import-calc-result-promo-pill {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 6px;
    padding: 6px 10px;
    background: #FFFFFF;
    border-radius: 999px;
    font-size: 13px;
    color: #2F2F30;
}
.import-calc-result-promo-icon img {
    width: 16px;
    height: 16px;
    display: block;
}
.import-calc-result-days {
    font-size: 14px;
    color: #2F2F30;
}
.import-calc-result-warning {
    margin: 8px 0 0 0;
    font-size: 13px;
    color: #E42313;
}
.import-calc-promo-hint { font-size: 14px; color: #5D6368; margin: 0; }

/* Подсветка категорий, доступных только по альт-маршруту, в калькуляторе импорта */
.import-calc-categories-alt-only {
    border-color: #E42313 !important;
}
.import-calc-field-hint-danger {
    color: #E42313 !important;
}
.import-calc-disclaimer {
    margin: 24px 0 0 0;
    padding: 0;
    font-size: 16px;
    color: #8a8f94;
    line-height: 1.5;
}

.import-uslugi-section { margin-top: 0; }
.import-uslugi-list {
    display: flex;
    flex-direction: column;
    gap: 16px;
}
.import-uslugi-card {
    padding: 20px;
    background: #FFF;
    border-radius: 15px;
    border: 1px solid #E8E8E8;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.06);
}
.import-uslugi-card-title {
    margin: 0 0 10px 0;
    font-size: 18px;
    font-weight: 600;
    color: #2F2F30;
}
.import-uslugi-card-desc {
    font-size: 14px;
    color: #5D6368;
    line-height: 1.5;
    margin-bottom: 10px;
}
.import-uslugi-card-price {
    font-size: 16px;
    font-weight: 600;
    color: #E42313;
}

.import-block-disabled { opacity: 0.7; pointer-events: none; }
.import-pd-hint { color: #E42313; font-size: 14px; }

.import-address-section { margin-top: 16px; }
.import-address-widget .form-country-radio {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}
.import-address-widget .form-country-radio-item {
    flex: 1 1 0;
    min-width: 100px;
    box-sizing: border-box;
}
.import-address-widget {
    padding: 24px;
    background: #FFF;
    border-radius: 15px;
    border: 1px solid #eee;
}
.import-address-countries {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-bottom: 20px;
}
.import-address-country {
    padding: 10px 12px;
    border-radius: 10px;
    border: 1px solid #E8E8E8;
    background: #F6F6F6;
    font-size: 16px;
    color: #2F2F30;
    cursor: pointer;
    transition: background 0.2s, border-color 0.2s;
}
.import-address-country-with-flag {
    display: inline-flex;
    align-items: center;
    gap: 10px;
}
.import-address-country-flag-img img {
    width: 28px;
    height: 20px;
    border-radius: 999px;
    display: block;
}
.import-address-country:hover:not(:disabled) {
    background: #BFC8F0;
    border-color: #BFC8F0;
}
.import-address-country.active {
    background: #E42313;
    border-color: #E42313;
}
.import-address-country:disabled { cursor: not-allowed; opacity: 0.7; }
.import-address-warehouse-tabs { margin-bottom: 16px; }
.import-address-warehouse-tabs .page-tabs-item {
    display: inline-flex;
    align-items: center;
    height: 39px;
    padding: 10px 16px;
    border-radius: 10px;
    background: #F6F6F6;
    font-size: 16px;
    color: #2F2F30;
    cursor: pointer;
    transition: background 0.2s;
    user-select: none;
}
.import-address-warehouse-tabs .page-tabs-item:hover {
    background: #eee;
}
.import-address-warehouse-tabs .page-tabs-item.active {
    background: #BFC8F0;
    font-weight: 600;
}
.import-address-empty { margin: 0; font-size: 14px; }
.import-address-card-inner { display: flex; flex-direction: column; gap: 16px; }
.import-address-about-title { margin: 0 0 8px 0; font-size: 16px; font-weight: 600; color: #2F2F30; }
.import-address-about-text { margin: 0; font-size: 14px; color: #5D6368; line-height: 1.4; }
.import-address-uslugi-link { color: #E42313; text-decoration: underline; }
.import-address-uslugi-link:hover { color: #c41e12; }
.import-address-lines { display: flex; flex-direction: column; gap: 12px; }
.import-address-line {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
    padding: 10px 12px;
    background: #F6F6F6;
    border-radius: 8px;
}
.import-address-line-label { font-size: 12px; color: #5D6368; width: 100%; margin-bottom: 2px; }
.import-address-line-value { flex: 1; font-size: 14px; color: #2F2F30; word-break: break-all; }
.import-address-copy {
    flex-shrink: 0;
    padding: 6px;
    border: none;
    background: none;
    cursor: pointer;
    opacity: 0.7;
}
.import-address-copy:hover:not(:disabled) { opacity: 1; }
.import-address-copy img { width: 18px; height: 18px; display: block; }
.import-address-copy.copied { opacity: 1; }
.import-address-copy-all.copied { background: #e8f5e9; border-color: #4caf50; color: #2e7d32; }
.import-address-line-hint { margin: 4px 0 0 0; font-size: 11px; color: #5D6368; width: 100%; }
.import-address-copy-all { align-self: flex-start; }

.import-register-section { margin-top: 16px; }
.import-register-widget {
    padding: 24px;
    background: #FFF;
    border-radius: 15px;
    border: 1px solid #eee;
}
.import-register-row {
    display: flex;
    gap: 10px;
    margin-bottom: 16px;
    align-items: flex-start;
}
.import-register-row:last-of-type { margin-bottom: 0; }
.import-register-field { flex: 1; min-width: 0; }
.import-register-field-full { flex: 1 1 100%; max-width: 100%; }
.import-register-warehouse-wrap { display: none; }
.import-register-row-checkbox {
    display: flex;
    flex-direction: column-reverse;
    align-items: flex-start;
}
.import-register-checkbox {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    cursor: pointer;
    font-size: 16px;
    color: #2F2F30;
}
.import-register-checkbox input { margin-top: 2px; }
.import-register-checkbox a { color: #2871E6; text-decoration: none; }
.import-register-checkbox a:hover { text-decoration: underline; }
.import-register-row-checkbox.has-error .form-check-input {
    border-color: #E42313;
}
.import-register-actions { margin-top: 20px; }
.import-register-note { font-size: 16px; margin: 0; }
.import-register-success-text { margin: 0 0 16px 0; font-size: 14px; line-height: 1.5; color: #2F2F30; }
.import-register-success-text a { color: #2871E6; text-decoration: none; }
.import-register-success-text a:hover { text-decoration: underline; }
.import-register-success-title { font-weight: 600; }
.import-register-field-error {
    margin-top: 4px;
    font-size: 12px;
    color: #E42313;
    line-height: 1.3;
    min-height: 16px;
}
.import-register-field-error:not([data-field]) {
    margin-bottom: 10px;
}

.import-parcels-section { margin-top: 16px; }
.import-parcels-widget {
    padding: 24px;
    background: #FFF;
    border-radius: 15px;
    border: 1px solid #eee;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.08);
    margin-bottom: 0;
}
.import-parcels-list { margin-bottom: 10px; }
.import-parcels-empty { margin: 0 0 10px 0; font-size: 14px; }

/* Блок «Полезное» на импорте — заголовок внутри белой карточки */
.import-useful-block { margin-top: 16px; }
.import-useful-card {
    padding: 24px;
    background: #FFF;
    border-radius: 15px;
    border: 1px solid #eee;
}
.import-useful-card .import-section-title { margin-bottom: 16px; }
.import-useful-block .useful-item {
    background: #FFF;
    border: 1px solid #eee;
}

/* Страница /import/uslugi — блок «Как оформить дополнительные услуги» */
.import-uslugi-intro {
    padding: 20px 24px;
    background: #EFF2FF;
    border-radius: 15px;
}
.import-uslugi-intro-header {
    display: flex;
    gap: 10px;
    align-items: center;
    margin-bottom: 10px;
}
.import-uslugi-intro-icon img {
    width: 32px;
    height: 32px;
    display: block;
}
.import-uslugi-intro-content {
    flex: 1;
    min-width: 0;
}
.import-uslugi-intro-title {
    margin: 0 0 8px 0;
    font-size: 18px;
    font-weight: 600;
    color: #2F2F30;
}
.import-uslugi-intro-content p {
    margin: 0 0 6px 0;
    font-size: 16px;
    line-height: 1.5;
    color: #2F2F30;
}
.import-uslugi-intro-content p:last-child {
    margin-bottom: 0;
}

.import-uslugi-section {
    margin-bottom: 24px;
}
.import-uslugi-list {
    display: flex;
    flex-direction: column;
    gap: 12px;
}
.import-uslugi-card {
    display: flex;
    justify-content: space-between;
    gap: 24px;
    padding: 18px 20px;
    background: #FFF;
    border-radius: 15px;
    border: 1px solid #EEE;
}
.import-uslugi-card-left {
    flex: 0 0 320px;
    max-width: 40%;
}
.import-uslugi-card-title {
    margin: 0 0 8px 0;
    font-size: 16px;
    font-weight: 600;
    color: #2F2F30;
}
.import-uslugi-card-price {
    font-size: 16px;
    color: #E42313;
}
.import-uslugi-card-desc {
    flex: 1;
    min-width: 0;
    font-size: 16px;
    line-height: 1.5;
    color: #2F2F30;
}

/* ============ Главная (Home) ============ */
.home-banners-wrap { margin-bottom: 20px; }
.home-track-section { 
    padding: 20px;
    background: #fff;
    border-radius: 10px;
}
.home-track-section h2,
.home-send-section h2,
.home-useful-section h2,
.home-parcels-section h2 { margin-bottom: 15px; font-size: 20px; }
.home-track-input-wrap {
    position: relative;
    display: flex;
    align-items: center;
}
.home-track-input-wrap .form-control {
    border-radius: 10px;
    background: #F6F6F6;
    border: none;
    height: 50px;
    padding: 24px 50px 10px 20px;
    width: 100%;
}
.home-track-input-wrap .form-label {
    position: absolute;
    left: 20px;
    top: 16px;
    color: #5D6368;
    font-size: 16px;
    pointer-events: none;
    transition: all 0.2s;
}
.home-track-input-wrap .form-control:focus + .form-label,
.home-track-input-wrap .form-control.filled + .form-label,
.home-track-input-wrap .form-control:not(:placeholder-shown) + .form-label {
    top: 6px;
    font-size: 12px;
}
.home-track-icon {
    position: absolute;
    right: 15px;
    top: 50%;
    transform: translateY(-50%);
    width: 24px;
    height: 24px;
    cursor: pointer;
}
.home-send-cards {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    gap: 20px;
}
.home-send-card {
    display: flex;
    flex-direction: column;
    padding: 24px;
    background: #FFF;
    border-radius: 10px;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.08);
    border: 1px solid #eee;
    text-decoration: none;
    color: inherit;
    transition: box-shadow 0.2s, border-color 0.2s;
    position: relative;
}
.home-send-card:hover {
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.12);
    border-color: #ddd;
}
.home-send-card-icons {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 12px;
}
.home-send-card-icons img { width: 24px; height: 24px; }
.home-send-card-title {
    font-size: 18px;
    font-weight: 600;
    margin: 0 0 8px 0;
    padding-right: 28px;
}
.home-send-card-desc {
    font-size: 14px;
    color: #5D6368;
    margin: 0;
    flex: 1;
}
.home-send-card-arrow {
    position: absolute;
    right: 24px;
    top: 24px;
    width: 20px;
    height: 20px;
}
.home-parcels-empty {
    padding: 24px;
    background: #FFFFFF;
    border-radius: 10px;
}
.home-parcels-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
    gap: 20px;
}
.home-parcel-card {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    padding: 20px;
    background: #FFF;
    border-radius: 10px;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.08);
    border: 1px solid #eee;
    text-decoration: none;
    color: inherit;
    transition: box-shadow 0.2s, border-color 0.2s;
    position: relative;
}
.home-parcel-card:hover {
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.12);
    border-color: #ddd;
}
.home-parcel-card-row-1 {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    width: 100%;
    margin-bottom: 8px;
}
.home-parcel-card-direction { display: flex; align-items: center; gap: 4px; }
.home-parcel-card-direction img { width: 20px; height: 20px; }
.home-parcel-card-status {
    font-size: 13px;
    color: #5D6368;
    max-width: 60%;
    text-align: right;
}
.home-parcel-card-status.parcels-status-error { color: #E42313; }
.home-parcel-card-status.parcels-status-success { color: #0a0; }
.home-parcel-card-track {
    font-weight: 700;
    font-size: 16px;
    margin-bottom: 8px;
}
.home-parcel-card-arrow {
    position: absolute;
    right: 20px;
    bottom: 20px;
    width: 20px;
    height: 20px;
}
.home-parcel-card-all {
    justify-content: center;
    min-height: 120px;
}
.home-parcel-card-all .home-parcel-card-all-text {
    font-size: 18px;
    font-weight: 600;
    color: #2F2F30;
}
.home-parcel-card-all .home-parcel-card-arrow {
    bottom: auto;
    top: 50%;
    right: 20px;
    transform: translateY(-50%);
}
.home-useful-section .useful-container {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
    gap: 16px;
}

/* --- Внутренняя страница посылки (parcel/view) --- */
.parcel-view {
    padding-bottom: 24px;
}
.parcel-view-pay-notice {
    margin-bottom: 16px;
    padding: 12px 16px;
    border-radius: 8px;
    font-size: 15px;
}
.parcel-view-pay-notice--success {
    background: #e8f5e9;
    color: #2e7d32;
    border: 1px solid #a5d6a7;
}
.parcel-view-pay-notice--declined,
.parcel-view-pay-notice--error {
    background: #ffebee;
    color: #c62828;
    border: 1px solid #ef9a9a;
}
.parcel-view h1 {
    margin: 0;
    font-size: 24px;
    font-weight: 700;
}
.parcel-view-header {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 20px;
}
.parcel-view-header-main {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 6px;
}
.parcel-view-user-note-wrap {
    width: 100%;
    max-width: 100%;
    padding-left: 0;
    box-sizing: border-box;
    align-self: stretch;
}
.parcel-view-user-note-add {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: none;
    border: none;
    padding: 0;
    cursor: pointer;
    font-size: 15px;
    font-weight: 600;
    color: #005CB5;
    font-family: inherit;
    text-align: left;
}
.parcel-view-user-note-add:hover {
    text-decoration: underline;
}
.parcel-view-user-note-icon {
    width: 18px;
    height: 18px;
    flex-shrink: 0;
}
.parcel-view-user-note-edit-shell {
    display: flex;
    align-items: center;
    gap: 10px;
    width: 100%;
    max-width: 100%;
}
.parcel-view-user-note-edit-card {
    flex: 1;
    min-width: 0;
    display: flex;
    align-items: center;
    gap: 10px;
    background: #fff;
    border: 1px solid #E5E7EB;
    border-radius: 10px;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.06);
    padding: 8px 10px 8px 14px;
}
.parcel-view-user-note-input {
    flex: 1;
    min-width: 0;
    min-height: 40px;
    max-height: 120px;
    resize: none;
    border: none !important;
    box-shadow: none !important;
    padding: 6px 0;
    margin: 0;
    font-size: 15px;
    line-height: 1.35;
    color: #2F2F30;
    background: transparent;
}
.parcel-view-user-note-input:focus {
    outline: none;
}
.parcel-view-user-note-input::placeholder {
    color: #9CA3AF;
}
.parcel-view-user-note-save {
    flex-shrink: 0;
    width: 24px;
    height: 24px;
    border: none;
    padding: 0;
    margin: 0;
    cursor: pointer;
    line-height: 0;
    background: transparent;
    box-shadow: none;
    border-radius: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}
.parcel-view-user-note-save:hover {
    opacity: 0.85;
}
.parcel-view-user-note-disk {
    width: 24px;
    height: 24px;
    display: block;
}
.parcel-view-user-note-cancel {
    flex-shrink: 0;
    width: 40px;
    height: 40px;
    border: none;
    padding: 0;
    margin: 0;
    cursor: pointer;
    background: transparent;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    line-height: 0;
    border-radius: 8px;
}
.parcel-view-user-note-cancel:hover {
    background: rgba(0, 0, 0, 0.05);
}
.parcel-view-user-note-cancel-icon {
    width: 22px;
    height: 22px;
    display: block;
    opacity: 0.45;
}
.parcel-view-user-note-cancel:hover .parcel-view-user-note-cancel-icon {
    opacity: 0.75;
}
.parcel-view-user-note-saved {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    flex-wrap: wrap;
}
.parcel-view-user-note-text {
    font-size: 15px;
    line-height: 1.4;
    color: #6B7280;
    font-weight: 400;
    max-width: 100%;
    word-break: break-word;
}
.parcel-view-user-note-edit-btn {
    background: none;
    border: none;
    padding: 2px;
    cursor: pointer;
    flex-shrink: 0;
    margin-top: 1px;
    line-height: 0;
}
.parcel-view-user-note-icon-sm {
    width: 16px;
    height: 16px;
    display: block;
    opacity: 0.7;
}
.parcel-view-user-note-edit-btn:hover .parcel-view-user-note-icon-sm {
    opacity: 1;
}
.parcel-view-title-row {
    display: flex;
    align-items: center;
    gap: 12px;
}
.parcel-view-icon {
    width: 32px;
    height: 32px;
}
.parcel-view-track {
    font-size: 24px;
    font-weight: 700;
    margin: 0;
}
.parcel-view-status {
    font-size: 16px;
    font-weight: 600;
}
.parcel-view-status--labeled {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    max-width: 100%;
}
.parcel-view-status-need-declare-icon {
    width: 22px;
    height: 22px;
    flex-shrink: 0;
}
.parcel-view-status-label {
    min-width: 0;
}
.parcel-view-status-action {
    color: #DC2626;
}
.parcel-view-status-neutral {
    color: #6B7280;
}
.parcel-view-status-success {
    color: #219653;
}
.parcel-view-cards {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
    margin-bottom: 20px;
}
@media (max-width: 768px) {
    .parcel-view-cards {
        grid-template-columns: 1fr;
    }
    .import-register-row .form-field {
        width: 100%;
    }
}
/* Мобильная шапка посылки: номер, под ним статус, затем заметка на всю ширину.
   display:contents у .parcel-view-header-main «разворачивает» его детей в общий
   flex-контейнер шапки, чтобы статус (сосед main) встал между номером и заметкой
   через order, а длинный трек-номер переносился, а не наезжал на статус. */
@media (max-width: 600px) {
    .parcel-view-header {
        flex-direction: column;
        flex-wrap: nowrap;
        align-items: stretch;
    }
    .parcel-view-header-main {
        display: contents;
    }
    .parcel-view-title-row {
        order: 1;
    }
    .parcel-view-status-row {
        order: 2;
        width: 100%;
    }
    .parcel-view-user-note-wrap {
        order: 3;
        width: 100%;
    }
    .parcel-view-track {
        overflow-wrap: anywhere;
        word-break: break-word;
    }
}
.parcel-view-consolidation-hint {
    margin-bottom: 20px;
}
.parcel-view-consolidation-hint-head {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 12px;
}
.parcel-view-consolidation-hint-icon {
    width: 28px;
    height: 28px;
    flex-shrink: 0;
}
.parcel-view-consolidation-hint-title {
    margin-bottom: 0 !important;
}
.parcel-view-consolidation-hint-text {
    margin: 0 0 14px 0;
    font-size: 15px;
    line-height: 1.45;
    color: #2F2F30;
}
.parcel-view-consolidation-hint-more {
    margin: 0;
}
.parcel-view-consolidation-hint-link {
    color: #005CB5;
    font-size: 15px;
    font-weight: 600;
    text-decoration: none;
}
.parcel-view-consolidation-hint-link:hover {
    text-decoration: underline;
}
.parcel-view-consolidation-post-track {
    border: 1px solid #E5E7EB;
    box-shadow: none;
}
.parcel-view-consolidation-post-track .parcel-view-consolidation-hint-text strong {
    font-weight: 700;
    color: #2F2F30;
}
.parcel-view-merge-offer {
    border: 1px solid #E5E7EB;
    box-shadow: none;
}
.parcel-view-merge-offer-text {
    margin: 0 0 16px 0;
    font-size: 15px;
    line-height: 1.45;
    color: #6B7280;
}
.parcel-view-merge-offer-text strong {
    font-weight: 700;
    color: #2F2F30;
}
.parcel-view-merge-offer-list-label {
    margin: 0 0 10px 0;
    font-size: 15px;
    font-weight: 600;
    color: #2F2F30;
}
.parcel-view-merge-offer-links {
    display: flex;
    flex-wrap: wrap;
    gap: 10px 16px;
    margin-bottom: 20px;
}
.parcel-view-merge-offer-link {
    font-size: 15px;
    font-weight: 600;
    color: #005CB5;
    text-decoration: none;
}
.parcel-view-merge-offer-link:hover {
    text-decoration: underline;
}
.parcel-view-merge-offer-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-bottom: 16px;
}
.parcel-view-merge-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 10px 18px;
    font-size: 15px;
    font-weight: 600;
    border-radius: 8px;
    cursor: pointer;
    font-family: inherit;
    text-decoration: none;
    border: 2px solid transparent;
    box-sizing: border-box;
}
.parcel-view-merge-btn-yes {
    background: #DC2626;
    color: #fff;
    border-color: #DC2626;
}
.parcel-view-merge-btn-yes:hover {
    background: #b91c1c;
    border-color: #b91c1c;
    color: #fff;
}
.parcel-view-merge-btn-no {
    background: #fff;
    color: #DC2626;
    border-color: #DC2626;
}
.parcel-view-merge-btn-no:hover {
    background: #fef2f2;
}
.parcel-view-merge-refused {
    border: 1px solid #E5E7EB;
    box-shadow: none;
    padding: 18px 24px;
}
.parcel-view-merge-refused-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    flex-wrap: wrap;
}
.parcel-view-merge-refused-main {
    display: flex;
    align-items: center;
    gap: 12px;
    min-width: 0;
    flex: 1;
}
.parcel-view-merge-refused-main .parcel-view-consolidation-hint-icon {
    width: 24px;
    height: 24px;
    flex-shrink: 0;
    opacity: 0.75;
}
.parcel-view-merge-refused-text {
    margin: 0;
    font-size: 15px;
    font-weight: 600;
    color: #2F2F30;
    line-height: 1.35;
}
.parcel-view-merge-refused-cancel {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 8px 16px;
    font-size: 15px;
    font-weight: 600;
    border-radius: 8px;
    cursor: pointer;
    font-family: inherit;
    border: 2px solid #DC2626;
    color: #DC2626;
    background: #fff;
    box-sizing: border-box;
    flex-shrink: 0;
}
.parcel-view-merge-refused-cancel:hover {
    background: #fef2f2;
}
.parcel-view-card.parcel-view-merge-applied {
    padding: 24px 14px;
    border-radius: 8px;
    box-shadow: none;
    border: none;
    margin-bottom: 20px;
}
.parcel-view-merge-applied-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    min-height: 28px;
}
.parcel-view-merge-applied-main {
    display: flex;
    align-items: center;
    gap: 4px;
    min-width: 0;
}
.parcel-view-merge-applied-text {
    font-size: 24px;
    color: #2F2F30;
    white-space: normal;
}
.parcel-view-merge-applied-edit {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 6px 14px;
    border: 1px solid #E42313;
    border-radius: 6px;
    background: #fff;
    color: #E42313;
    font-family: inherit;
    font-size: 18px;
    font-weight: 600;
    cursor: pointer;
    box-sizing: border-box;
    flex-shrink: 0;
}
.parcel-view-merge-applied-edit:hover {
    background: #FEF2F2;
}
.parcel-view-merge-existing-editor {
    margin-top: 14px;
}
/* Аккордеон «Об объединении» (маршрут США) в блоке предложения объединения */
.parcel-view-merge-about-accordion {
    background: #EFF2FF;
    border-radius: 10px;
    margin-bottom: 16px;
    overflow: hidden;
}
.parcel-view-merge-about-accordion--below-select {
    margin-top: 4px;
}
.parcel-view-merge-about-accordion-toggle {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    padding: 14px 16px;
    background: none;
    border: none;
    cursor: pointer;
    font-size: 18px;
    font-weight: 600;
    color: #2F2F30;
    text-align: left;
    font-family: inherit;
}
.parcel-view-merge-about-accordion-toggle img {
    flex-shrink: 0;
}
.parcel-view-merge-about-accordion-chevron {
    width: 20px;
    height: 20px;
    transition: transform 0.2s;
}
.parcel-view-merge-about-accordion-panel {
    padding: 0 16px 16px 16px;
}
.parcel-view-merge-about-accordion-list {
    margin: 0;
    padding-left: 20px;
    font-size: 14px;
    color: #5D6368;
    line-height: 1.5;
}
.parcel-view-merge-about-accordion-list li {
    margin-bottom: 6px;
}
.parcel-view-merge-about-accordion-list li:last-child {
    margin-bottom: 0;
}
.parcel-view-merge-wizard {
    margin-top: 4px;
    margin-bottom: 0;
}
.parcel-view-merge-wizard-select-wrap {
    margin-bottom: 18px;
    position: relative;
}
#parcel-merge-wizard-select {
    padding-top: 7px;
}
.parcel-view-merge-wizard-select {
    width: 100%;
    max-width: 100%;
    height: 44px;
    padding: 0 42px 0 14px;
    font-size: 15px;
    font-family: inherit;
    color: #5D6368;
    border: 1px solid #E8E8E8;
    border-radius: 8px;
    background: #F6F6F6 url("../images/icons/chevron-down.svg") no-repeat right 14px center;
    background-size: 18px 18px;
    box-shadow: none;
    outline: none;
    appearance: none;
    -webkit-appearance: none;
}
.parcel-view-merge-wizard-list {
    list-style: none;
    margin: 0 0 18px 0;
    padding: 0;
}
.parcel-view-merge-wizard-item {
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    gap: 6px;
    min-height: 28px;
    padding: 0;
    border-bottom: none;
    font-size: 15px;
    line-height: 1.35;
    color: #2F2F30;
}
.parcel-view-merge-wizard-item + .parcel-view-merge-wizard-item {
    margin-top: 7px;
}
.parcel-view-merge-wizard-item--main {
    font-weight: 600;
}
.parcel-view-merge-wizard-item-main-text {
    flex: 0 1 auto;
    min-width: 0;
}
.parcel-view-merge-wizard-item-num {
    font-weight: 600;
    color: #2F2F30;
    min-width: 16px;
}
.parcel-view-merge-wizard-item-link {
    font-weight: 600;
    color: #005CB5;
    text-decoration: none;
}
.parcel-view-merge-wizard-item-link:hover {
    text-decoration: underline;
}
.parcel-view-merge-wizard-remove {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 24px;
    height: 24px;
    padding: 0;
    margin: 0;
    border: none;
    background: transparent;
    cursor: pointer;
    border-radius: 6px;
    line-height: 0;
}
.parcel-view-merge-wizard-remove:hover {
    background: #F3F4F6;
}
.parcel-view-merge-wizard-remove img {
    width: 18px;
    height: 18px;
}
.parcel-view-merge-wizard-weight,
.parcel-view-merge-wizard-weight-add {
    margin-left: 2px;
    font-weight: 600;
    color: #6B7280;
    white-space: nowrap;
}
.parcel-view-merge-wizard-weight-add--muted {
    color: #9CA3AF;
}
.parcel-view-merge-wizard-summary {
    margin-bottom: 18px;
    font-size: 15px;
    color: #2F2F30;
}
.parcel-view-merge-wizard-summary-row {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 4px;
    margin: 0 0 7px 0;
    line-height: 1.35;
}
.parcel-view-merge-wizard-summary-row:last-child {
    margin-bottom: 0;
}
.parcel-view-merge-wizard-summary-label {
    display: inline-flex;
    align-items: center;
    gap: 0;
    flex: 0 0 auto;
    min-width: auto;
    font-weight: 600;
}
.parcel-view-merge-wizard-tooltip img {
    width: 17px;
    height: 17px;
    opacity: 0.65;
    vertical-align: middle;
}
.parcel-view-merge-wizard-tooltip-content {
    display: none;
    width: 330px;
    padding: 10px;
    justify-content: center;
    align-items: center;
    gap: 10px;
    border-radius: 10px;
    background: #FFF;
    box-shadow: 0 0 15px 0 rgba(0, 0, 0, 0.15);
    position: absolute;
    right: 0;
    top: 30px;
    z-index: 9999;
    font-weight: 400;
    color: #2F2F30;
    line-height: 1.35;
}
.parcel-view-merge-wizard-tooltip > img:hover + .parcel-view-merge-wizard-tooltip-content {
    display: flex;
}
.parcel-view-merge-wizard-summary-value {
    font-weight: 700;
    color: #2F2F30;
    margin-left: 2px;
}
.parcel-view-merge-wizard-actions--bottom {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 0;
}
.parcel-view-merge-wizard-actions--bottom .parcel-view-merge-btn {
    min-width: 122px;
    min-height: 42px;
    padding: 9px 18px;
}
.parcel-view-card {
    background: #fff;
    border-radius: 12px;
    box-shadow: 0 1px 3px rgba(0,0,0,0.08);
    padding: 24px;
}
.parcel-view-card-title {
    font-size: 18px;
    font-weight: 700;
    margin: 0 0 16px 0;
    color: #2F2F30;
}
.parcel-view-card-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
}
.parcel-view-card-head .parcel-view-card-title {
    margin-bottom: 16px;
}
.parcel-view-statuses-toggle {
    background: none;
    border: none;
    cursor: pointer;
    padding: 4px;
}
.parcel-view-statuses-toggle img {
    width: 20px;
    height: 20px;
    opacity: 0.7;
}
.parcel-view-dl {
    margin: 0;
    display: grid;
    grid-template-columns: minmax(140px, max-content) 1fr;
    column-gap: 28px;
    row-gap: 14px;
    align-items: start;
}
.parcel-view-dl dt {
    font-weight: 700;
    color: #2F2F30;
    margin: 0;
}
.parcel-view-dl dd {
    margin: 0;
    font-weight: 400;
    color: #2F2F30;
    min-width: 0;
    word-break: break-word;
}
.parcel-view-dl dd a {
    color: #005CB5;
    text-decoration: none;
}
.parcel-view-dl dd a:hover {
    text-decoration: underline;
}
/* Email получателя: одна строка с обрезкой «…», но в тексте ссылки — полный адрес,
   так что при выделении/копировании берётся целиком. */
.parcel-view-email {
    display: block;
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.parcel-view-union-list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 4px;
}
.parcel-view-union-list-item {
    margin: 0;
}
.parcel-view-union-list-link {
    color: #005CB5;
    text-decoration: none;
}
.parcel-view-union-list-link:hover {
    text-decoration: underline;
}
.parcel-view-timeline {
    list-style: none;
    margin: 0;
    padding: 0;
    position: relative;
}
.parcel-view-timeline::before {
    content: '';
    position: absolute;
    left: 120.5px;
    top: 8px;
    bottom: 8px;
    width: 3px;
    border-radius: 999px;
    background: #C6D1FA;
}
.parcel-view-timeline-item {
    display: grid;
    grid-template-columns: 100px minmax(0, 1fr);
    gap: 0 14px;
    align-items: start;
    min-height: 46px;
    padding-bottom: 14px;
    position: relative;
}
.parcel-view-timeline-item:last-of-type {
    padding-bottom: 0;
}
.parcel-view-timeline-aside {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 2px;
    padding-top: 2px;
    width: 100%;
    box-sizing: border-box;
    text-align: right;
}
.parcel-view-timeline-date {
    display: block;
    width: 100%;
    font-size: 13px;
    font-weight: 600;
    color: #2F2F30;
    line-height: 1.2;
    text-align: right;
}
.parcel-view-timeline-time {
    display: block;
    width: 100%;
    font-size: 12px;
    color: #6B7280;
    line-height: 1.2;
    text-align: right;
}
.parcel-view-timeline-main {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    min-width: 0;
}
.parcel-view-timeline-rail {
    position: relative;
    width: 16px;
    flex-shrink: 0;
    min-height: 28px;
}
.parcel-view-timeline-rail::before {
    content: '';
    position: absolute;
    left: 50%;
    top: 4px;
    transform: translateX(-50%);
    width: 12px;
    height: 12px;
    border-radius: 50%;
    background: #fff;
    border: 3px solid #C6D1FA;
    z-index: 1;
    box-sizing: border-box;
}
.parcel-view-timeline-item.active .parcel-view-timeline-rail::before {
    background: #C6D1FA;
    border-color: #C6D1FA;
    box-shadow: 0 0 0 3px #EEF2FF;
}
.parcel-view-timeline-text {
    margin: 0;
    padding-top: 1px;
    font-size: 14px;
    color: #2F2F30;
    font-weight: 500;
    line-height: 1.35;
}
.parcel-view-parcel-photos {
    margin-bottom: 20px;
}
.parcel-view-parcel-photos-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(120px, 1fr));
    gap: 12px;
    margin-top: 8px;
}
.parcel-view-parcel-photo-link {
    display: block;
    border-radius: 8px;
    overflow: hidden;
    border: 1px solid #E5E7EB;
    background: #F9FAFB;
    aspect-ratio: 1;
}
.parcel-view-parcel-photo-thumb {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
}
.parcel-view-parcel-photo-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.parcel-view-delete-parcel-dt {
    display: none;
}
.parcel-view-delete-parcel-dd {
    grid-column: 1 / -1;
    margin: 0;
}
.parcel-view-delete-parcel-row {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
}
.parcel-view-delete-parcel-btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 0;
    margin: 0;
    background: none;
    border: none;
    cursor: pointer;
    font-size: 15px;
    font-weight: 500;
    color: #005CB5;
}
.parcel-view-delete-parcel-btn:hover {
    text-decoration: underline;
    color: #004a94;
}
.parcel-view-delete-parcel-icon {
    width: 18px;
    height: 18px;
    flex-shrink: 0;
}
.parcel-view-delete-parcel-help.help-tooltip > img {
    width: 18px;
    height: 18px;
    opacity: 0.55;
}

.parcel-view-extra-services {
    margin-bottom: 20px;
}
/* Readonly-сводка по выбранным доп. услугам — показывается на пост-декларационных статусах. */
.parcel-view-extra-services-summary-card .parcel-view-card-title {
    margin-bottom: 14px;
}
.parcel-view-extra-services-summary-list {
    display: flex;
    flex-direction: column;
    gap: 8px;
}
.parcel-view-extra-services-summary-row {
    display: flex;
    align-items: center;
    gap: 24px;
    padding: 10px 16px;
    background: #FFF5EB;
    border-radius: 999px;
    font-size: 14px;
}
.parcel-view-extra-services-summary-name {
    color: #2F2F30;
    font-weight: 600;
    white-space: nowrap;
}
.parcel-view-extra-services-summary-price {
    color: #5D6368;
    font-weight: 400;
}
@media (max-width: 520px) {
    .parcel-view-extra-services-summary-row {
        flex-wrap: wrap;
        gap: 4px 16px;
        border-radius: 16px;
    }
    .parcel-view-extra-services-summary-name {
        white-space: normal;
    }
}
.parcel-view-extra-services-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 16px;
}
.parcel-view-extra-services-head .parcel-view-card-title {
    margin-bottom: 0;
}
.parcel-view-extra-services-help.help-tooltip > img {
    width: 18px;
    height: 18px;
    opacity: 0.55;
}
.parcel-view-extra-services-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
}
@media (max-width: 900px) {
    .parcel-view-extra-services-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}
@media (max-width: 520px) {
    .parcel-view-extra-services-grid {
        grid-template-columns: 1fr;
    }
}
.parcel-view-extra-service-card {
    background: #FFF5EB;
    border-radius: 12px;
    padding: 14px 14px 16px 14px;
    border: 1px solid rgba(228, 35, 19, 0.12);
}
.parcel-view-extra-service-card-top {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 10px;
    margin-bottom: 8px;
}
.parcel-view-extra-service-title {
    font-size: 15px;
    font-weight: 700;
    color: #2F2F30;
    line-height: 1.25;
}
.parcel-view-extra-service-price {
    margin: 0;
    font-size: 14px;
    color: #5D6368;
    line-height: 1.35;
}
.parcel-view-extra-service-add {
    flex-shrink: 0;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    border: 1px solid #005CB5;
    background: #fff;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    transition: background 0.15s, border-color 0.15s;
}
.parcel-view-extra-service-add:hover {
    background: #eff6ff;
    border-color: #1d4ed8;
}
.parcel-view-extra-service-add img {
    width: 16px;
    height: 16px;
}
.parcel-view-extra-service-toggle {
    flex-shrink: 0;
    width: 32px;
    height: 32px;
    border: none;
    border-radius: 0;
    background: transparent;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    cursor: pointer;
    transition: opacity 0.15s;
}
.parcel-view-extra-service-toggle:hover:not(:disabled) {
    background: transparent;
    opacity: 0.75;
}
.parcel-view-extra-service-toggle:disabled {
    cursor: default;
    opacity: 0.85;
}
.parcel-view-extra-service-toggle.is-selected {
    border: none;
    background: transparent;
}
.parcel-view-extra-service-toggle.is-selected:hover:not(:disabled) {
    border: none;
    background: transparent;
    opacity: 0.75;
}
.parcel-view-extra-service-toggle-icon {
    width: 24px;
    height: 24px;
}

.parcel-view-goods {
    margin-bottom: 20px;
}
.parcel-view-goods-toggle {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    background: none;
    border: none;
    cursor: pointer;
    padding: 0;
    text-align: left;
}
.parcel-view-goods-toggle .parcel-view-card-title {
    margin-bottom: 0;
}
.parcel-view-goods-chevron {
    width: 24px;
    height: 24px;
    transition: transform 0.2s;
}
.parcel-view-goods-content {
    margin-top: 16px;
    padding-top: 16px;
    border-top: 1px solid #E5E7EB;
}
.parcel-view-goods-item {
    display: flex;
    align-items: flex-start;
    gap: 14px;
    background: #F5F5F5;
    border-radius: 8px;
    padding: 12px 16px;
    margin-bottom: 12px;
    min-width: 0;
}
.parcel-view-goods-item:last-child {
    margin-bottom: 0;
}
.parcel-view-goods-item-image {
    flex: 0 0 100px;
    width: 100px;
    max-width: min(100px, 28vw);
    border-radius: 8px;
    overflow: hidden;
    background: #E5E7EB;
    align-self: flex-start;
}
.parcel-view-goods-item-image img {
    display: block;
    width: 100%;
    height: 100px;
    object-fit: cover;
}
.parcel-view-goods-item-main {
    flex: 1;
    min-width: 0;
}
.parcel-view-goods-item-name {
    font-weight: 700;
    color: #2F2F30;
    margin-bottom: 4px;
}
.parcel-view-goods-item-desc {
    font-size: 14px;
    color: #5D6368;
    margin-bottom: 4px;
}
.parcel-view-goods-item-price {
    flex-shrink: 0;
    font-size: 14px;
    font-weight: 600;
    color: #2F2F30;
    text-align: right;
    white-space: nowrap;
    margin-left: auto;
}
.parcel-view-draft {
    margin-bottom: 20px;
}
.parcel-view-draft-tabs {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 16px;
}
.parcel-view-draft-tab {
    padding: 8px 16px;
    border-radius: 20px;
    border: 1px solid #E5E7EB;
    background: #fff;
    cursor: pointer;
    font-size: 14px;
    color: #5D6368;
}
.parcel-view-draft-tab.active {
    background: #EFF2FF;
    border-color: #005CB5;
    color: #005CB5;
    font-weight: 600;
}
.parcel-view-draft-step {
    margin-bottom: 16px;
}
.parcel-view-draft-step .parcel-view-dl {
    margin: 0;
}
.parcel-view-draft-items {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 12px;
}
.parcel-view-draft-item {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 8px;
    padding: 10px 12px;
    background: #F6F6F6;
    border-radius: 8px;
}
.parcel-view-draft-item-name { font-weight: 500; color: #2F2F30; }
.parcel-view-draft-item-desc { font-size: 13px; color: #5D6368; }
.parcel-view-draft-item-price { margin-left: auto; font-weight: 600; color: #2F2F30; }
.parcel-view-draft-hint {
    color: #5D6368;
    font-size: 14px;
    margin: 0 0 16px 0;
}
.parcel-view-draft-summary {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 16px;
    padding-top: 16px;
    border-top: 1px solid #E5E7EB;
}
.parcel-view-draft-summary strong {
    font-size: 18px;
    color: #2F2F30;
}
.parcel-view-import-pay-delivery,
.parcel-view-export-pay-fallback {
    margin-bottom: 20px;
}
.parcel-view-import-pay-ship-row {
    margin: 12px 0 8px 0;
}
.parcel-view-import-pay-ship-label {
    display: block;
    font-size: 14px;
    font-weight: 600;
    color: #2F2F30;
    margin-bottom: 10px;
}
.parcel-view-import-pay-radio-row {
    display: flex;
    flex-wrap: wrap;
    gap: 16px 24px;
}
.parcel-view-import-pay-radio {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    cursor: pointer;
    font-size: 15px;
    color: #2F2F30;
    margin: 0;
}
.parcel-view-import-pay-size-hint {
    margin: 8px 0 16px 0;
}
.parcel-view-import-pay-card {
    margin-bottom: 16px;
}
.parcel-view-import-pay-notice {
    margin: 12px 0 16px 0;
    padding: 16px 16px 12px 44px;
    background: #EEEDFB;
    border-radius: 10px;
    color: #2F2F30;
    position: relative;
}
.parcel-view-import-pay-notice::before {
    content: "!";
    position: absolute;
    left: 14px;
    top: 14px;
    width: 20px;
    height: 20px;
    border: 2px solid #E42313;
    border-radius: 50%;
    color: #E42313;
    font-weight: 700;
    font-size: 13px;
    line-height: 16px;
    text-align: center;
    box-sizing: border-box;
}
.parcel-view-import-pay-notice-title {
    display: block;
    font-size: 14px;
    font-weight: 600;
    color: #2F2F30;
    margin-bottom: 4px;
}
.parcel-view-import-pay-notice-text {
    margin: 0;
    font-size: 13px;
    line-height: 1.45;
    color: #5D6368;
}
.parcel-view-import-pay-map-section {
    margin-bottom: 24px;
}
.parcel-view-import-pay-map-full {
    width: 100%;
}
.parcel-view-import-pay-map-widget-tall {
    height: 440px;
    min-height: 380px;
    max-height: 60vh;
    overflow: hidden;
    border-radius: 10px;
}
.parcel-view-import-pay-map-full {
    overflow: hidden;
    border-radius: 10px;
}
.parcel-view-import-pay-map-widget-tall iframe,
.parcel-view-import-pay-map-widget-tall > div {
    max-height: 100%;
}
.parcel-view-import-pay-courier-section[hidden] {
    display: none !important;
}
.parcel-view-import-pay-courier-fields {
    display: flex;
    flex-direction: column;
    gap: 10px;
}
.parcel-view-import-await-delivery {
    margin-bottom: 20px;
}
/* «Товары в посылке» + «Фото посылки» — рядом 2-колоночно, оба свёрнуты по умолчанию,
   на статусе «Посылка ожидает отправки». */
.parcel-view-waiting-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
    margin-bottom: 16px;
    align-items: start;
}
.parcel-view-waiting-row > .parcel-view-card {
    align-self: start;
}
.parcel-view-waiting-row-card {
    margin: 0;
}
.parcel-view-parcel-photos-content[hidden] {
    display: none;
}
@media (max-width: 720px) {
    .parcel-view-waiting-row {
        grid-template-columns: 1fr;
    }
}
/* Блок «Оплата доставки» — детали успешного платежа на пост-оплатных статусах. */
.parcel-view-payment-info {
    margin-bottom: 16px;
}
.parcel-view-payment-info-head {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    gap: 12px;
    margin-bottom: 14px;
}
.parcel-view-payment-info-title {
    font-size: 16px;
    font-weight: 600;
    color: #2F2F30;
}
.parcel-view-payment-info-date {
    font-size: 13px;
    color: #98A2A6;
}
.parcel-view-payment-info-lines {
    display: flex;
    flex-direction: column;
    gap: 8px;
    padding-bottom: 12px;
    border-bottom: 1px dashed #E5E7EB;
    margin-bottom: 12px;
}
.parcel-view-payment-info-line {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
    font-size: 14px;
    color: #2F2F30;
}
.parcel-view-payment-info-line-label {
    color: #5D6368;
}
.parcel-view-payment-info-line-value {
    font-variant-numeric: tabular-nums;
}
.parcel-view-payment-info-line--promo .parcel-view-payment-info-line-label {
    display: inline-flex;
    align-items: center;
    gap: 8px;
}
.parcel-view-payment-info-promo-code {
    display: inline-block;
    padding: 2px 8px;
    background: #EEF8F0;
    color: #219653;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 0.02em;
}
.parcel-view-payment-info-discount {
    color: #219653;
    font-weight: 600;
}
.parcel-view-payment-info-total {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    gap: 12px;
}
.parcel-view-payment-info-total-label {
    font-size: 15px;
    font-weight: 600;
    color: #2F2F30;
}
.parcel-view-payment-info-total-value {
    font-size: 18px;
    font-weight: 600;
    color: #2F2F30;
    font-variant-numeric: tabular-nums;
}
.parcel-view-import-await-title {
    margin: 0 0 12px 0;
    font-size: 16px;
    font-weight: 600;
    color: #2F2F30;
}
.parcel-view-import-await-notice {
    margin-bottom: 12px;
}
.parcel-view-import-await-address {
    margin: 0;
    font-size: 15px;
    color: #2F2F30;
    line-height: 1.4;
}
.parcel-view-import-await-pvz {
    display: flex;
    flex-direction: column;
    gap: 12px;
}
.parcel-view-import-await-pvz-field {
    display: flex;
    flex-direction: column;
    gap: 2px;
    padding: 10px 14px;
    background: #F6F6F6;
    border-radius: 10px;
}
.parcel-view-import-await-pvz-label {
    font-size: 12px;
    color: #5D6368;
}
.parcel-view-import-await-pvz-value {
    font-size: 14px;
    color: #2F2F30;
    font-weight: 500;
}
/* Универсальный поп-ап «Запрос услуги» / «Запрос отправлен». */
.parcel-view-popup-overlay {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.45);
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 16px;
    z-index: 1080;
}
.parcel-view-popup-overlay[hidden] {
    display: none;
}
.parcel-view-popup-card {
    position: relative;
    background: #fff;
    border-radius: 16px;
    padding: 20px 24px 24px 24px;
    max-width: 380px;
    width: 100%;
    box-shadow: 0 12px 32px rgba(0, 0, 0, 0.18);
}
.parcel-view-popup-close {
    position: absolute;
    top: 12px;
    right: 12px;
    background: none;
    border: 0;
    padding: 6px;
    cursor: pointer;
    line-height: 1;
}
.parcel-view-popup-close img {
    width: 16px;
    height: 16px;
    opacity: 0.7;
}
.parcel-view-popup-close:hover img {
    opacity: 1;
}
.parcel-view-popup-head {
    display: flex;
    align-items: center;
    gap: 10px;
    margin: 0 28px 12px 0;
}
.parcel-view-popup-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 22px;
    height: 22px;
    border-radius: 50%;
    flex-shrink: 0;
    font-weight: 700;
    font-size: 14px;
    line-height: 1;
    box-sizing: border-box;
}
.parcel-view-popup-icon.is-plus {
    border: 2px solid #2F2F30;
    color: #2F2F30;
}
.parcel-view-popup-icon.is-plus::before { content: "+"; }
.parcel-view-popup-icon.is-check {
    background: #1FA260;
    color: #fff;
    border: 0;
}
.parcel-view-popup-icon.is-check::before { content: "✓"; font-size: 13px; }
.parcel-view-popup-icon.is-error {
    border: 2px solid #E42313;
    color: #E42313;
}
.parcel-view-popup-icon.is-error::before { content: "!"; }
.parcel-view-popup-code {
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 0 0 16px 0;
    font-size: 16px;
    font-weight: 600;
    color: #2F2F30;
}
.parcel-view-popup-code[hidden] { display: none; }
.parcel-view-popup-code-copy {
    background: none;
    border: 0;
    padding: 4px;
    cursor: pointer;
    line-height: 0;
}
.parcel-view-popup-code-copy img {
    width: 16px;
    height: 16px;
    opacity: 0.6;
}
.parcel-view-popup-code-copy:hover img {
    opacity: 1;
}
.parcel-view-popup-title {
    margin: 0;
    font-size: 17px;
    font-weight: 700;
    color: #2F2F30;
    line-height: 1.3;
}
.parcel-view-popup-text {
    margin: 0 0 14px 0;
    font-size: 14px;
    line-height: 1.5;
    color: #5D6368;
}
.parcel-view-popup-price {
    margin: 0 0 16px 0;
    font-size: 14px;
    color: #2F2F30;
}
.parcel-view-popup-price[hidden] { display: none; }
.parcel-view-popup-price b {
    font-weight: 600;
}
.parcel-view-popup-cta,
.btn.parcel-view-popup-cta,
.btn.parcel-view-popup-cta:hover,
.btn.parcel-view-popup-cta:focus,
.btn.parcel-view-popup-cta:active {
    width: 100%;
    justify-content: center;
    padding: 12px 18px;
    font-size: 15px;
    border: 0 !important;
    box-shadow: none !important;
    transform: none !important;
}
.parcel-view-popup-cta.is-loading {
    cursor: progress;
    opacity: 0.85;
    pointer-events: none;
}

/* Попап «Отменить отправку и вернуть средства». Использует общие стили
   .parcel-view-popup-overlay / .parcel-view-popup-card, но карточка шире:
   нужно место под селект и текст. */
.parcel-cancel-popup-card {
    max-width: 700px;
    padding: 24px 28px 24px;
}
.parcel-cancel-popup-card .parcel-view-popup-title {
    font-size: 18px;
}
.parcel-cancel-popup-amount {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    margin-bottom: 14px;
    font-size: 14px;
    color: #2F2F30;
}
.parcel-cancel-popup-amount-label {
    color: #5D6368;
}
.parcel-cancel-popup-amount-value {
    font-weight: 600;
}
.parcel-cancel-popup-field {
    margin-bottom: 14px;
}
.parcel-cancel-popup-text {
    margin: 0 0 14px;
    font-size: 13px;
    line-height: 1.5;
    color: #5D6368;
}
.parcel-cancel-popup-agree {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    margin-bottom: 18px;
    font-size: 13px;
    line-height: 1.4;
    color: #2F2F30;
    cursor: pointer;
}
.parcel-cancel-popup-agree input[type="checkbox"] {
    margin-top: 2px;
    flex-shrink: 0;
    width: 16px;
    height: 16px;
    accent-color: #E42313;
    cursor: pointer;
}
.parcel-cancel-popup-error {
    margin: -6px 0 12px;
    padding: 8px 12px;
    background: #FFEFEE;
    color: #E42313;
    border-radius: 8px;
    font-size: 13px;
}
.parcel-cancel-popup-error[hidden] { display: none; }
.btn.parcel-cancel-popup-submit,
.btn.parcel-cancel-popup-submit:hover,
.btn.parcel-cancel-popup-submit:focus,
.btn.parcel-cancel-popup-submit:active {
    width: 100%;
    justify-content: center;
    padding: 12px 18px;
    font-size: 15px;
    border: 0 !important;
    box-shadow: none !important;
}
.btn.parcel-cancel-popup-submit:disabled {
    opacity: 0.5;
    cursor: not-allowed;
}
@media (max-width: 520px) {
    .parcel-cancel-popup-card {
        padding: 20px 18px;
    }
}

/* Плашка «Требуется оплатить пошлину» — лавандовый фон, красный «!» + красный заголовок. */
.parcel-view-duty-notice {
    margin: 0 0 20px 0;
    padding: 16px 20px;
    background: #EEEDFB;
    border-radius: 12px;
    color: #2F2F30;
}
.parcel-view-duty-notice-head {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 8px;
}
.parcel-view-duty-notice-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 22px;
    height: 22px;
    border: 2px solid #E42313;
    border-radius: 50%;
    color: #E42313;
    font-weight: 700;
    font-size: 14px;
    line-height: 1;
    flex-shrink: 0;
    box-sizing: border-box;
}
.parcel-view-duty-notice-title {
    font-size: 16px;
    font-weight: 600;
    color: #E42313;
}
.parcel-view-duty-notice-text {
    margin: 0 0 10px 0;
    font-size: 14px;
    line-height: 1.5;
    color: #5D6368;
}
.parcel-view-duty-notice-more {
    margin: 0;
    font-size: 14px;
}
.parcel-view-duty-notice-link,
.parcel-view-duty-notice-link:hover {
    color: #2563EB;
    text-decoration: none;
}
/* Плашка «Не хватает данных получателя» — переиспользует дизайн плашки пошлины
   и добавляет красную кнопку «Проверить данные». */
.parcel-view-recipient-missing-cta,
.parcel-view-recipient-missing-cta:hover,
.parcel-view-recipient-missing-cta:focus {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-top: 14px;
    padding: 12px 22px;
    background: #E42313;
    color: #fff;
    border-radius: 10px;
    font-size: 15px;
    font-weight: 600;
    line-height: 1;
    text-decoration: none;
    border: none;
}
.parcel-view-recipient-missing-cta:hover {
    background: #C41A0C;
}
/* Плашка «Загрузите подтверждающий документ» — для статусов
   documentsRequired / unionDocumentsRequired. Дизайн как у плашки пошлины,
   красный «!» в кружке + кнопка «Отправить» под зоной загрузки. */
.parcel-view-additional-docs {
    background: #F6F7FA;
    padding: 20px 24px 22px 24px;
    border-radius: 12px;
    margin-bottom: 20px;
}
.parcel-view-additional-docs-head {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 8px;
}
.parcel-view-additional-docs-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 22px;
    height: 22px;
    border: 2px solid #E42313;
    border-radius: 50%;
    color: #E42313;
    font-weight: 700;
    font-size: 14px;
    line-height: 1;
    box-sizing: border-box;
    flex-shrink: 0;
}
.parcel-view-additional-docs-title {
    font-size: 16px;
    font-weight: 600;
    color: #E42313;
    margin: 0;
}
.parcel-view-additional-docs-text {
    margin: 0 0 14px 0;
    font-size: 13px;
    line-height: 1.5;
    color: #5D6368;
}
.parcel-view-additional-docs-link,
.parcel-view-additional-docs-link:hover {
    color: #2563EB;
    text-decoration: none;
}
.parcel-view-additional-docs-link:hover {
    text-decoration: underline;
}
.parcel-view-additional-docs-zone.is-dragover {
    background: #ECF0FF;
    border-color: #2563EB;
}
.parcel-view-additional-docs-actions {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-top: 14px;
}
.parcel-view-additional-docs-error {
    color: #E42313;
    font-size: 13px;
}
/* Тоггл комментария к файлу — копия паттерна из инвойсов декларации. */
.parcel-view-additional-docs-comment {
    display: flex;
    flex-direction: column;
    gap: 6px;
    margin-left: auto;
    flex-shrink: 0;
}
.parcel-view-additional-docs-comment-toggle {
    background: none;
    border: 0;
    color: #2563EB;
    cursor: pointer;
    font-size: 13px;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 0;
}
.parcel-view-additional-docs-comment-toggle-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 18px;
    height: 18px;
    border: 1.5px solid currentColor;
    border-radius: 50%;
    font-size: 13px;
    line-height: 1;
}
.parcel-view-additional-docs-comment-ta {
    display: none;
    min-width: 240px;
    resize: vertical;
}
.parcel-view-additional-docs-comment-open .parcel-view-additional-docs-comment-ta {
    display: block;
}
.parcel-view-additional-docs-comment-open .parcel-view-additional-docs-comment-toggle-icon::before {
    content: '–';
}
/* Белый фон полей комментария — только в блоке доп.документов (documentsRequired). */
#parcel-additional-docs-block .parcel-decl-invoice-comment-box,
#parcel-additional-docs-block .parcel-decl-invoice-comment-ta {
    background: #FFFFFF;
}
.parcel-view-duty-notice-link:hover {
    text-decoration: underline;
}

/* Информационная плашка в readonly-режиме доставки — нейтральная иконка «i». */
.parcel-view-import-await-notice--info::before {
    content: "i";
    border: 2px solid #98A2A6 !important;
    color: #98A2A6 !important;
    font-style: italic;
    font-weight: 600;
    font-size: 12px;
}
.parcel-view-import-await-notice--info .parcel-view-import-pay-notice-text {
    color: #5D6368;
}
.parcel-view-import-await-map {
    margin-top: 14px;
    border-radius: 10px;
    overflow: hidden;
}
.parcel-view-import-await-map-widget {
    width: 100%;
    height: 420px;
    min-height: 360px;
    max-height: 60vh;
    overflow: hidden;
}
.parcel-view-import-await-map-widget iframe,
.parcel-view-import-await-map-widget > div {
    max-height: 100%;
}
/* Инлайн-ошибки оплаты импорта (вместо alert): красный текст + подсветка чекбокса оферты. */
.parcel-view-import-pay-error {
    color: #E42313;
    font-size: 13px;
    line-height: 1.4;
    margin: 6px 0 10px 0;
}
.parcel-view-import-pay-error[hidden] {
    display: none;
}
.parcel-view-import-pay-check-error span {
    color: #E42313;
}
.parcel-view-import-pay-check-error .form-check-input {
    border-color: #E42313 !important;
}
/* Лоадер на кнопке «Оплатить»: пока ждём виджет — крутим спиннер вместо галочки. */
.parcel-view-import-pay-submit.is-loading {
    cursor: progress;
    opacity: 0.85;
    pointer-events: none;
}
.parcel-view-import-pay-submit.is-loading .parcel-view-import-pay-submit-icon {
    display: none;
}
.parcel-view-import-pay-submit.is-loading::before {
    content: "";
    display: inline-block;
    width: 18px;
    height: 18px;
    border: 2px solid rgba(255, 255, 255, 0.55);
    border-top-color: #fff;
    border-radius: 50%;
    animation: parcel-import-pay-spin 0.8s linear infinite;
    margin-right: 8px;
}
@keyframes parcel-import-pay-spin {
    to { transform: rotate(360deg); }
}
.parcel-view-import-pay-field {
    margin: 0;
}
.parcel-view-import-pay-courier-addr {
    font-weight: 500;
    color: #2F2F30;
}
/* Модалка платёжного виджета — показывается поверх страницы вместо подмены блоков оформления. */
.import-pay-widget-modal {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.5);
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 24px 16px;
    z-index: 1090;
    overflow-y: auto;
}
.import-pay-widget-modal[hidden] {
    display: none;
}
.import-pay-widget-modal-card {
    position: relative;
    background: #fff;
    border-radius: 16px;
    box-shadow: 0 20px 48px rgba(0, 0, 0, 0.24);
    width: 100%;
    max-width: 520px;
    max-height: calc(100vh - 48px);
    display: flex;
    flex-direction: column;
    overflow: hidden;
}
.import-pay-widget-modal-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 14px 18px;
    border-bottom: 1px solid #EEF0F2;
    flex-shrink: 0;
}
.import-pay-widget-modal-title {
    font-size: 15px;
    font-weight: 600;
    color: #2F2F30;
}
.import-pay-widget-back {
    background: none;
    border: 0;
    padding: 6px;
    line-height: 1;
    cursor: pointer;
    border-radius: 8px;
    transition: background 0.15s ease;
}
.import-pay-widget-back:hover {
    background: #F2F4F5;
}
.import-pay-widget-back img {
    width: 16px;
    height: 16px;
    opacity: 0.7;
    display: block;
}
.import-pay-widget-back:hover img {
    opacity: 1;
}
.import-bxbpay-widget {
    flex: 1 1 auto;
    min-height: 480px;
    width: 100%;
    overflow-y: auto;
}
body.import-pay-widget-modal-open {
    overflow: hidden;
}
@media (max-width: 600px) {
    .import-pay-widget-modal {
        padding: 0;
    }
    .import-pay-widget-modal-card {
        max-width: none;
        max-height: 100vh;
        height: 100vh;
        border-radius: 0;
    }
}
.parcel-view-import-pay-columns {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 24px 32px;
    margin-top: 8px;
    align-items: start;
}
@media (max-width: 900px) {
    .parcel-view-import-pay-columns {
        grid-template-columns: 1fr;
    }
}
.parcel-view-import-pay-col {
    /* стили карточки приходят от .parcel-view-card (background:#fff, padding:24px, тень).
       Здесь оставляем хук пустым — никаких overrides. */
}
.parcel-view-import-pay-col-title {
    margin: 0 0 16px 0;
    font-size: 17px;
    font-weight: 700;
    color: #2F2F30;
}
.parcel-view-import-pay-promo-row {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    align-items: flex-end;
    margin-bottom: 12px;
}
.parcel-view-import-pay-promo-field {
    flex: 1 1 200px;
    margin-bottom: 0;
}
.import-pay-promo-apply,
.import-pay-promo-apply:hover,
.import-pay-promo-apply:focus,
.import-pay-promo-apply:focus-visible,
.import-pay-promo-apply:active,
.btn.import-pay-promo-apply,
.btn.import-pay-promo-apply:hover,
.btn.import-pay-promo-apply:focus,
.btn.import-pay-promo-apply:focus-visible,
.btn.import-pay-promo-apply:active {
    flex-shrink: 0;
    padding: 12px 18px;
    font-size: 15px;
    line-height: 1.2;
}
.import-pay-promo-apply[hidden] {
    display: none;
}
/* Промокод применён: вместо инпута показываем серую плашку с зелёным текстом и иконкой удаления. */
.parcel-view-import-pay-promo-applied {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex: 1 1 200px;
    padding: 12px 14px;
    background: #F6F6F6;
    border: 1px solid #E8E8E8;
    border-radius: 10px;
    font-size: 14px;
    color: #219653;
}
.parcel-view-import-pay-promo-applied[hidden] {
    display: none;
}
.parcel-view-import-pay-promo-applied-text b {
    font-weight: 700;
}
.parcel-view-import-pay-promo-remove {
    background: none;
    border: 0;
    cursor: pointer;
    padding: 4px;
    line-height: 0;
    margin-left: 8px;
}
.parcel-view-import-pay-promo-remove img {
    width: 18px;
    height: 18px;
    opacity: 0.65;
}
.parcel-view-import-pay-promo-remove:hover img {
    opacity: 1;
}
/* Промокод не применился: красная рамка на инпуте + текст ошибки красным. */
.parcel-view-import-pay-promo-field--error .form-control {
    border: 1px solid #E42313 !important;
}
.parcel-view-import-pay-promo-row[data-state="error"] .import-pay-promo-message {
    color: #E42313 !important;
}
.import-pay-promo-message {
    font-size: 14px;
    margin-bottom: 12px;
}
.parcel-view-import-pay-extra {
    margin-bottom: 16px;
}
.parcel-view-import-pay-check {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    cursor: pointer;
    font-size: 14px;
    color: #2F2F30;
    margin: 0;
}
.parcel-view-import-pay-methods {
    margin-top: 8px;
}
.parcel-view-import-pay-methods-title {
    font-size: 14px;
    font-weight: 600;
    color: #2F2F30;
    margin-bottom: 10px;
}
.parcel-view-import-pay-cost-dl {
    margin: 0 0 16px 0;
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 8px 16px;
    font-size: 15px;
}
.parcel-view-import-pay-cost-dl dt {
    margin: 0;
    color: #5D6368;
    font-weight: 400;
}
.parcel-view-import-pay-cost-dl dd {
    margin: 0;
    text-align: right;
    font-weight: 500;
    color: #2F2F30;
}
.parcel-view-import-pay-cost-dl .is-hidden {
    display: none !important;
}
.parcel-view-import-pay-total-row {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    padding-top: 12px;
    margin-bottom: 16px;
    border-top: 1px solid #E5E7EB;
    font-size: 16px;
    font-weight: 600;
}
.parcel-view-import-pay-total {
    font-size: 22px;
    font-weight: 700;
    color: #E42313;
}
.parcel-view-import-pay-offer {
    margin-bottom: 16px;
}
.parcel-view-import-pay-submit,
.parcel-view-import-pay-submit:hover,
.parcel-view-import-pay-submit:focus,
.parcel-view-import-pay-submit:focus-visible,
.parcel-view-import-pay-submit:active {
    width: 100%;
    justify-content: center;
    padding: 14px 20px;
    font-size: 18px;
    border: 0 !important;
    box-shadow: none !important;
    transform: none !important;
    line-height: 1.2;
}
.parcel-view-import-pay-submit-icon {
    width: 22px;
    height: 22px;
    filter: brightness(0) invert(1);
}
.parcel-view-import-pay-map-title {
    margin: 0 0 8px 0;
    font-size: 16px;
    font-weight: 600;
    color: #2F2F30;
}
.parcel-view-import-pay-address {
    margin: 0 0 12px 0;
    font-size: 14px;
    line-height: 1.45;
    color: #5D6368;
}
.parcel-view-import-pay-map-section .parcel-view-map-hint {
    margin-top: 0;
}
.parcel-view-import-pay-text,
.parcel-view-import-pay-sum {
    margin: 0 0 10px 0;
    font-size: 15px;
    line-height: 1.45;
    color: #2F2F30;
}
.parcel-view-import-pay-note {
    margin: 12px 0 0 0;
    font-size: 14px;
    line-height: 1.4;
    color: #5D6368;
}
.parcel-view-handover {
    margin-bottom: 20px;
}
.parcel-view-handover-info {
    display: flex;
    gap: 12px;
    align-items: flex-start;
    padding: 12px 16px;
    background: #EFF2FF;
    border: 1px solid #C7D2FE;
    border-radius: 8px;
    margin-bottom: 16px;
}
.parcel-view-handover-info img {
    width: 20px;
    height: 20px;
    flex-shrink: 0;
}
.parcel-view-handover-info p {
    margin: 0;
    font-size: 14px;
    color: #2F2F30;
}
.parcel-view-handover-info a {
    color: #005CB5;
}
.parcel-view-map-hint {
    font-size: 14px;
    color: #5D6368;
    margin-bottom: 10px;
}
.parcel-view-map {
    position: relative;
    z-index: 1;
    overflow: visible;
}
.parcel-view-map-widget {
    height: 400px;
    width: 100%;
    min-width: 100%;
    border-radius: 8px;
    overflow: visible;
    background: #f0f0f0;
    position: relative;
}

#parcel-map-widget canvas,
#parcel-map-widget iframe,
#parcel-import-pay-map-widget canvas,
#parcel-import-pay-map-widget iframe {
    z-index: 0 !important;
}
#parcel-map-widget input,
#parcel-map-widget select,
#parcel-import-pay-map-widget input,
#parcel-import-pay-map-widget select {
    position: relative;
    z-index: 10;
}
#parcel-map-widget [class*="list"],
#parcel-map-widget [class*="dropdown"],
#parcel-map-widget [class*="suggest"],
#parcel-map-widget [role="listbox"],
#parcel-map-widget [class*="search"],
#parcel-map-widget [class*="autocomplete"],
#parcel-map-widget [class*="Select"],
#parcel-map-widget [class*="detail"],
#parcel-map-widget [class*="panel"],
#parcel-map-widget [class*="sidebar"],
#parcel-map-widget ul[style*="absolute"],
#parcel-map-widget div[style*="absolute"],
#parcel-map-widget button,
#parcel-map-widget a[role="button"],
#parcel-map-widget [class*="bxb-"],
#parcel-import-pay-map-widget [class*="list"],
#parcel-import-pay-map-widget [class*="dropdown"],
#parcel-import-pay-map-widget [class*="suggest"],
#parcel-import-pay-map-widget [role="listbox"],
#parcel-import-pay-map-widget [class*="search"],
#parcel-import-pay-map-widget [class*="autocomplete"],
#parcel-import-pay-map-widget [class*="Select"],
#parcel-import-pay-map-widget [class*="detail"],
#parcel-import-pay-map-widget [class*="panel"],
#parcel-import-pay-map-widget [class*="sidebar"],
#parcel-import-pay-map-widget ul[style*="absolute"],
#parcel-import-pay-map-widget div[style*="absolute"],
#parcel-import-pay-map-widget button,
#parcel-import-pay-map-widget a[role="button"],
#parcel-import-pay-map-widget [class*="bxb-"] {
    z-index: 1000 !important;
}
/* Блок заполнения декларации (статус declaration) */
.parcel-view-declaration-section {
    display: flex;
    flex-direction: column;
    gap: 20px;
}
.parcel-view-declaration-instructions {
    margin-bottom: 0;
}
.parcel-view-declaration-accordion {
    background: #EFF2FF;
    border-radius: 10px;
    margin-bottom: 16px;
    overflow: hidden;
}
.parcel-view-declaration-accordion-toggle {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    padding: 14px 16px;
    background: none;
    border: none;
    cursor: pointer;
    font-size: 24px;
    font-weight: 600;
    color: #2F2F30;
    text-align: left;
}
.parcel-view-declaration-accordion-toggle img {
    flex-shrink: 0;
}
.parcel-view-declaration-accordion-chevron {
    width: 20px;
    height: 20px;
    transition: transform 0.2s;
}
.parcel-view-declaration-accordion-content {
    padding: 0 16px 16px 16px;
}
.parcel-view-declaration-accordion-content ul {
    margin: 0 0 12px 0;
    padding-left: 20px;
    font-size: 14px;
    color: #5D6368;
    line-height: 1.5;
}
.parcel-view-declaration-accordion-content li {
    margin-bottom: 6px;
}
.parcel-view-declaration-accordion-content li:last-child {
    margin-bottom: 0;
}
.parcel-view-declaration-instruction-link {
    font-size: 14px;
    color: #005CB5;
}
.parcel-view-declaration-instruction-link:hover {
    color: #1D4ED8;
}
.parcel-view-declaration-restrictions {
    display: flex;
    gap: 12px;
    align-items: flex-start;
    padding: 12px 16px;
    background: #FFF8E6;
    border: 1px solid #F5E6C8;
    border-radius: 8px;
    margin-bottom: 20px;
}
.parcel-view-declaration-restrictions img {
    width: 20px;
    height: 20px;
    flex-shrink: 0;
}
.parcel-view-declaration-restrictions p {
    margin: 0;
    font-size: 14px;
    color: #2F2F30;
}
.parcel-view-declaration-restrictions a {
    color: #005CB5;
}
.parcel-view-declaration-subtitle {
    font-size: 16px;
    font-weight: 700;
    margin: 0 0 16px 0;
    color: #2F2F30;
}
.parcel-view-declaration-items {
    display: flex;
    flex-direction: column;
    gap: 16px;
}
.parcel-view-declaration-item {
    background: #fff;
    border: none;
    border-radius: 12px;
    box-shadow: 0 1px 3px rgba(0,0,0,0.08);
    /* overflow:visible — иначе всплывающие подсказки (help-tooltip) обрезаются краем карточки товара */
    overflow: visible;
}
.parcel-view-declaration-item-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    padding: 14px 20px;
    background: #fff;
    font-size: 24px;
    font-weight: 600;
    color: #2F2F30;
    cursor: default;
}
.parcel-view-declaration-item-head-actions {
    display: flex;
    align-items: center;
    gap: 4px;
}
.parcel-view-declaration-item-head-actions .parcel-view-declaration-btn-copy,
.parcel-view-declaration-item-head-actions .parcel-view-declaration-btn-delete {
    padding: 4px;
}
.parcel-view-declaration-item-toggle {
    background: none;
    border: none;
    cursor: pointer;
    padding: 4px;
    display: flex;
    align-items: center;
    justify-content: center;
}
.parcel-view-declaration-item-chevron {
    width: 20px;
    height: 20px;
    transition: transform 0.2s;
}
.parcel-view-declaration-section .form-field-grey select.form-select + .form-label {
    top: 7px;
    font-size: 14px;
    transition: all 0.3s ease;
}
.parcel-view-declaration-photo-thumb {
    width: 40px;
    height: 40px;
    object-fit: cover;
    border-radius: 6px;
    flex-shrink: 0;
}
.parcel-view-declaration-section .export-step3-upload-file-item .parcel-view-declaration-photo-name {
    flex: 1;
    min-width: 0;
}
.parcel-view-declaration-field-row {
    display: flex;
    align-items: center;
    gap: 8px;
}
/* Баркод (трек-номер до склада) под номером посылки в заголовке секции объединения — серым */
.parcel-view-declaration-union-section-track-alt {
    display: block;
    margin-top: 2px;
    font-size: 13px;
    font-weight: 400;
    color: #9CA3AF;
}
/* Одна высота строки при ошибке и без: красная рамка та же 1px, что и у поля */
.parcel-view-declaration-section .form-field.has-error .form-control,
.parcel-view-declaration-section .form-field.has-error .form-select {
    border-width: 1px;
    border-style: solid;
}
.parcel-view-declaration-field-wrap {
    flex: 1;
    min-width: 0;
}
/* Ошибка под полем при попытке ввести запрещённый язык (латиница/кириллица) */
.parcel-decl-lang-error {
    margin-top: -8px;
    font-size: 12px;
    line-height: 1.3;
    color: #DC2626;
}
.parcel-view-declaration-tooltip.help-tooltip > img {
    width: 18px;
    height: 18px;
    opacity: 0.6;
}
.parcel-view-declaration-item-total {
    margin-top: 8px;
    font-size: 14px;
    color: #2F2F30;
}
.parcel-view-declaration-item-total-label {
    font-weight: 500;
}
.parcel-view-declaration-item-total-value {
    font-weight: 600;
    margin-left: 8px;
}
.parcel-view-declaration-item-body {
    display: flex;
    gap: 16px;
    padding: 16px 20px 20px 20px;
}
.parcel-view-declaration-fields {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 16px;
}
.parcel-view-declaration-fields .form-hint {
    font-size: 12px;
    color: #6B7280;
    margin-top: 4px;
}
.parcel-view-declaration-fields .form-hint a {
    color: #005CB5;
}
.parcel-view-declaration-row {
    display: grid;
    grid-template-columns: 320px 1fr 200px;
    gap: 16px;
}
@media (max-width: 600px) {
    .parcel-view-declaration-row {
        grid-template-columns: 1fr;
    }
}
.parcel-view-declaration-price-warning {
    font-size: 13px;
    color: #92400E;
    background: #FEF3C7;
    padding: 10px 12px;
    border-radius: 8px;
}
.parcel-view-declaration-upload {
    margin-top: 4px;
}
.parcel-view-declaration-upload-zone {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    min-height: 100px;
    padding: 16px;
    border: 2px dashed #D1D5DB;
    border-radius: 8px;
    background: #F9FAFB;
    cursor: pointer;
    transition: border-color 0.2s, background 0.2s;
}
.parcel-view-declaration-upload-zone:hover {
    border-color: #9CA3AF;
    background: #F3F4F6;
}
.parcel-view-declaration-upload-zone--dragover {
    border-color: #005CB5;
    background: #EAF2FB;
}
.parcel-view-declaration-upload-zone input[type="file"] {
    position: absolute;
    opacity: 0;
    width: 0;
    height: 0;
}
.parcel-view-declaration-upload-text {
    font-size: 14px;
    color: #6B7280;
}
.parcel-view-declaration-upload-files {
    font-size: 13px;
    color: #2F2F30;
    margin-top: 8px;
}
.parcel-view-declaration-item-actions {
    display: flex;
    flex-direction: column;
    gap: 8px;
    flex-shrink: 0;
}
.parcel-view-declaration-btn-copy,
.parcel-view-declaration-btn-delete {
    background: none;
    border: none;
    cursor: pointer;
    padding: 6px;
}
.parcel-view-declaration-btn-delete:disabled,
.parcel-view-declaration-btn-copy:disabled {
    opacity: 0.4;
    cursor: not-allowed;
}
.parcel-view-declaration-btn-copy img,
.parcel-view-declaration-btn-delete img {
    width: 20px;
    height: 20px;
}
.parcel-view-declaration-add-block {
    margin-top: 0;
    margin-bottom: 16px;
}
.parcel-view-declaration-add-row {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 16px;
    margin: 0;
}
/* Как у «Редактировать»: не тянуть глобальные .btn из common.css (padding/font) */
.btn.parcel-view-declaration-add-btn,
.btn.parcel-view-declaration-add-btn:hover,
.btn.parcel-view-declaration-add-btn:focus,
.btn.parcel-view-declaration-add-btn:focus-visible,
.btn.parcel-view-declaration-add-btn:active {
    display: inline-flex !important;
    align-items: center;
    gap: 8px;
    box-sizing: border-box;
    border: 2px solid transparent !important;
    padding: 10px 18px !important;
    font-size: 15px !important;
    font-weight: 600;
    line-height: normal;
    white-space: nowrap;
    margin: 14px 0 !important;
}
.parcel-view-declaration-add-btn .btn-icon {
    width: 18px;
    height: 18px;
    flex-shrink: 0;
}
.parcel-view-declaration-add-hint {
    font-size: 14px;
    color: #6B7280;
}
.parcel-view-declaration-vat-notice {
    font-size: 14px;
    color: #92400E;
    background: #FEF3C7;
    padding: 12px 16px;
    border-radius: 8px;
    margin-bottom: 20px;
}
.parcel-view-declaration-invoice {
    margin-bottom: 0;
}
.parcel-view-declaration-invoice-title {
    font-size: 18px;
    font-weight: 700;
    margin: 0 0 8px 0;
    color: #2F2F30;
}
.parcel-view-declaration-invoice-hint {
    font-size: 14px;
    color: #5D6368;
    line-height: 1.5;
    margin: 0 0 16px 0;
}
.parcel-view-declaration-invoice-link {
    color: #005CB5;
    text-decoration: underline;
}
.parcel-view-declaration-invoice-link:hover {
    color: #1D4ED8;
}
.parcel-view-declaration-invoice-zone {
    margin-bottom: 8px;
    flex-direction: row;
    gap: 10px;
    min-height: 120px;
    background: #F3F4F6;
    border-color: #D1D5DB;
}
.parcel-view-declaration-invoice-zone:hover {
    background: #E5E7EB;
}
.parcel-view-declaration-invoice-zone-icon {
    width: 24px;
    height: 24px;
    flex-shrink: 0;
    opacity: 0.6;
    transform: rotate(0deg);
}
.parcel-view-declaration-invoice-files {
    display: flex;
    flex-direction: column;
    gap: 12px;
    margin-top: 12px;
}
.parcel-view-declaration-invoice-row {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
}
.parcel-view-declaration-invoice-row:has(.parcel-decl-invoice-comment-open) {
    align-items: center;
}
.parcel-view-declaration-invoice-row .parcel-view-declaration-invoice-file {
    flex: 0 1 auto;
    min-width: min(300px, 100%);
    max-width: min(300px, 100%);
    width: 100%;
}
.parcel-view-declaration-invoice-actions {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 0;
    flex-shrink: 0;
    flex: 1 1 320px;
    min-width: min(320px, 100%);
    max-width: 100%;
    align-self: center;
}
.parcel-decl-invoice-comment-head {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}
.parcel-decl-invoice-comment-toggle {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin: 0;
    padding: 0;
    border: none;
    background: none;
    cursor: pointer;
    color: #005CB5;
    font-size: 14px;
    font-weight: 500;
    text-align: left;
    line-height: 1;
}
.parcel-decl-invoice-comment-toggle:hover {
    color: #004a94;
    text-decoration: underline;
}
.parcel-decl-invoice-comment-icon {
    display: block;
    flex-shrink: 0;
    width: 22px;
    height: 22px;
    object-fit: contain;
}
.parcel-decl-invoice-comment-toggle-text {
    display: inline-flex;
    align-items: center;
    line-height: 1.35;
}
.parcel-decl-invoice-comment-help.help-tooltip > img {
    width: 18px;
    height: 18px;
    opacity: 0.55;
}
.parcel-decl-invoice-comment-box {
    display: none;
    align-items: center;
    flex: 1 1 auto;
    width: 100%;
    max-width: 460px;
    min-height: 46px;
    background: #F6F6F6;
    border-radius: 8px;
    overflow: hidden;
}
.parcel-decl-invoice-comment-ta {
    display: block !important;
    flex: 1 1 auto;
    width: 100%;
    min-width: 0;
    height: 46px;
    min-height: 46px;
    padding: 0 12px;
    font-size: 13px;
    line-height: 46px;
    font-family: inherit;
    color: #2F2F30;
    border: none;
    background: transparent;
    resize: none;
    outline: none;
    box-sizing: border-box;
}
.parcel-decl-invoice-comment-ta::placeholder {
    color: #7B8188;
}
.parcel-decl-invoice-comment-save,
.parcel-decl-invoice-comment-close {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 40px;
    width: 40px;
    height: 46px;
    padding: 0;
    border: none;
    background: transparent;
    cursor: pointer;
}
.parcel-decl-invoice-comment-save img {
    width: 20px;
    height: 20px;
}
.parcel-decl-invoice-comment-close {
    display: none;
    flex: 0 0 32px;
    width: 32px;
    height: 46px;
    margin-left: 8px;
}
.parcel-decl-invoice-comment-close img {
    width: 14px;
    height: 14px;
    opacity: 0.55;
}
.parcel-decl-invoice-comment-save:hover {
    background: #EEEEEE;
}
.parcel-decl-invoice-comment-close:hover img {
    opacity: 0.8;
}
.parcel-decl-invoice-comment-preview {
    display: none;
    align-items: flex-start;
    gap: 16px;
    width: min(520px, 100%);
    padding: 0;
    margin: 0;
    border: none;
    background: none;
    color: #2F2F30;
    font-family: inherit;
    font-size: 13px;
    line-height: 1.45;
    text-align: left;
    cursor: pointer;
}
.parcel-decl-invoice-comment-preview[style*="block"] {
    display: flex !important;
}
.parcel-decl-invoice-comment-preview-text {
    display: -webkit-box;
    flex: 1 1 auto;
    min-width: 0;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}
.parcel-decl-invoice-comment-preview-icon {
    display: block;
    flex: 0 0 24px;
    width: 24px;
    height: 24px;
    margin-top: 2px;
    opacity: 0.65;
}
.parcel-decl-invoice-comment-preview:hover {
    color: #2F2F30;
}
.parcel-decl-invoice-comment-preview:hover .parcel-decl-invoice-comment-preview-icon {
    opacity: 0.9;
}
.parcel-view-declaration-invoice-file {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 10px 18px;
    min-height: 50px;
    box-sizing: border-box;
    background: #F6F6F6;
    border-radius: 10px;
    font-size: 14px;
    color: #2F2F30;
}
.parcel-view-declaration-invoice-file-doc {
    flex-shrink: 0;
    display: block;
    opacity: 0.9;
}
.parcel-view-declaration-invoice-file-name {
    flex: 1;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.parcel-view-declaration-invoice-file-size {
    color: #6B7280;
    font-size: 13px;
    white-space: nowrap;
}
.parcel-view-declaration-invoice-file-loading {
    color: #6B7280;
    font-size: 13px;
}
.parcel-view-declaration-invoice-file-remove {
    background: none;
    border: none;
    cursor: pointer;
    line-height: 0;
    padding: 4px;
    flex-shrink: 0;
    opacity: 0.85;
}
.parcel-view-declaration-invoice-file-remove:hover {
    opacity: 1;
}
.parcel-view-declaration-invoice-file-remove img {
    display: block;
    width: 22px;
    height: 22px;
}
.parcel-view-declaration-actions {
    margin-top: 8px;
}

/* Блок «Проверьте перед отправкой» */
.parcel-view-declaration-check-block {
    margin-top: 24px;
    background: #fff;
}
.parcel-view-declaration-check-title {
    font-size: 18px;
    font-weight: 700;
    margin: 0 0 12px 0;
    color: #2F2F30;
}
.parcel-view-declaration-check-text {
    font-size: 14px;
    color: #5D6368;
    line-height: 1.5;
    margin: 0 0 16px 0;
}
.parcel-view-declaration-check-summary {
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin-bottom: 20px;
}
.parcel-view-declaration-check-row {
    display: flex;
    gap: 12px;
}
.parcel-view-declaration-check-label {
    font-size: 14px;
    color: #5D6368;
}
.parcel-view-declaration-check-value {
    font-size: 14px;
    font-weight: 600;
    color: #2F2F30;
}
.parcel-view-declaration-check-actions {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 16px;
}
.parcel-view-declaration-link-btn {
    background: none;
    border: none;
    padding: 0;
    cursor: pointer;
    font-size: 14px;
    color: #005CB5;
    text-decoration: none;
}
.parcel-view-declaration-link-btn:hover {
    text-decoration: underline;
    color: #1d4ed8;
}

.parcel-view-actions {
    margin-top: 24px;
}
.btn.parcel-view-btn-delete,
.btn.parcel-view-btn-delete:hover,
.btn.parcel-view-btn-delete:focus,
.btn.parcel-view-btn-delete:focus-visible,
.btn.parcel-view-btn-delete:active {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 10px 20px;
    border: 1px solid #DC2626 !important;
    background: transparent !important;
    color: #DC2626 !important;
    border-radius: 8px;
    font-weight: 600;
    cursor: pointer;
}
/* Обходим !important из common.css `.btn` — outlined-вариант: красная рамка, красный текст, белый фон. */
.btn.parcel-view-btn-cancel,
.btn.parcel-view-btn-cancel:hover,
.btn.parcel-view-btn-cancel:focus,
.btn.parcel-view-btn-cancel:focus-visible,
.btn.parcel-view-btn-cancel:active {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 12px 24px;
    background: none !important;
    color: #E42313 !important;
    border: 1px solid #E42313 !important;
    border-radius: 10px;
    font-weight: 600;
    cursor: pointer;
}
.parcel-view-btn-delete img,
.parcel-view-btn-cancel img {
    width: 18px;
    height: 18px;
}

.parcel-list-link {
    color: inherit;
    text-decoration: none;
    font-weight: 700;
}
.parcel-list-link:hover {
    color: #005CB5;
    text-decoration: underline;
}

.parcels-item-link {
    color: inherit;
    text-decoration: none;
    cursor: pointer;
}
.parcels-item-link:hover {
    background: #f5f7fa;
}
.parcel-item-action {
    cursor: default;
}
.parcel-item-action:hover {
    opacity: 0.8;
}

#parcel-import-merge-existing-select {
    padding-top: 4px;
}