﻿.account-page {
    background: #f7f8fa;
    color: #20232a;
}

.account-page .container-indent {
    padding: 42px 0 70px;
}

.account-page-head,
.account-order-hero,
.account-tracking-head {
    align-items: center;
    display: flex;
    justify-content: space-between;
    margin-bottom: 24px;
}

.account-page-head.compact {
    align-items: flex-end;
}

.account-page-head span,
.account-order-hero > div:first-child > span,
.account-tracking-head span {
    color: #7a808c;
    display: block;
    font-size: 12px;
    font-weight: 700;
    margin-bottom: 5px;
    text-transform: uppercase;
}

.account-page-head h1,
.account-order-hero h1,
.account-tracking-head h1 {
    font-size: 28px;
    letter-spacing: 0;
    margin: 0;
}

.account-page-head p,
.account-order-hero p,
.account-tracking-head p {
    color: #69707c;
    margin: 7px 0 0;
}

.account-shell {
    align-items: start;
    display: grid;
    gap: 24px;
    grid-template-columns: 220px minmax(0, 1fr);
}

.account-nav {
    background: #fff;
    border: 1px solid #e4e7ec;
    display: flex;
    flex-direction: column;
    padding: 8px 0;
}

.account-nav-link {
    border-left: 3px solid transparent;
    color: #343943;
    font-size: 13px;
    font-weight: 600;
    padding: 13px 17px;
}

.account-nav-link:hover {
    background: #f4f7fc;
    border-left-color: #2879fe;
    color: #2879fe;
}

.account-content {
    min-width: 0;
}

.account-metrics {
    display: grid;
    gap: 14px;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin-bottom: 20px;
}

.account-metric {
    background: #fff;
    border: 1px solid #e4e7ec;
    min-height: 96px;
    padding: 20px;
}

.account-metric span {
    color: #777e89;
    display: block;
    font-size: 12px;
    margin-bottom: 8px;
}

.account-metric strong {
    font-size: 25px;
}

.account-section {
    background: #fff;
    border: 1px solid #e4e7ec;
    padding: 24px;
}

.account-section + .account-section {
    margin-top: 18px;
}

.account-section h2 {
    font-size: 18px;
    letter-spacing: 0;
    margin: 0 0 16px;
}

.account-section-head {
    align-items: center;
    border-bottom: 1px solid #edf0f4;
    display: flex;
    justify-content: space-between;
    margin-bottom: 6px;
    padding-bottom: 15px;
}

.account-section-head h2 {
    margin: 0;
}

.account-section-head p {
    color: #747b87;
    margin: 5px 0 0;
}

.account-section-head > a {
    color: #2879fe;
    font-size: 12px;
    font-weight: 700;
}

.account-order-row {
    align-items: center;
    border-bottom: 1px solid #edf0f4;
    color: #222831;
    display: grid;
    gap: 16px;
    grid-template-columns: minmax(180px, 1fr) 160px 150px;
    padding: 16px 0;
}

.account-order-row:last-child {
    border-bottom: 0;
}

.account-order-row > span:first-child,
.account-orders-table td:nth-child(3) {
    display: flex;
    flex-direction: column;
}

.account-order-row small,
.account-orders-table small {
    color: #858b95;
    font-size: 11px;
    margin-top: 4px;
}

.account-status {
    background: #edf4ff;
    color: #1c66cf;
    display: inline-flex;
    font-size: 11px;
    font-weight: 700;
    justify-self: start;
    padding: 6px 8px;
}

.account-channel-badge {
    align-items: center;
    display: inline-flex;
    font-size: 10px;
    font-weight: 700;
    justify-self: start;
    margin-top: 6px;
    padding: 5px 8px;
    width: max-content;
}

.account-channel-badge.whatsapp {
    background: #e9f8ef;
    color: #168547;
}

.account-empty {
    color: #6f7681;
    padding: 35px 10px;
    text-align: center;
}

.account-empty a {
    color: #2879fe;
    display: block;
    font-weight: 700;
    margin-top: 9px;
}

.account-orders-table-wrap {
    background: #fff;
    border: 1px solid #e4e7ec;
    overflow-x: auto;
}

.account-orders-table {
    border-collapse: collapse;
    min-width: 1010px;
    width: 100%;
}

.account-orders-table th {
    background: #f5f7fa;
    color: #5f6672;
    font-size: 11px;
    padding: 13px 15px;
    text-align: left;
    text-transform: uppercase;
}

.account-orders-table td {
    border-top: 1px solid #edf0f4;
    font-size: 12px;
    padding: 15px;
    vertical-align: middle;
}

.account-table-actions {
    display: flex;
    gap: 10px;
    white-space: nowrap;
}

.account-table-actions a {
    color: #2879fe;
    font-weight: 700;
}

.account-message {
    border: 1px solid;
    margin-bottom: 18px;
    padding: 13px 16px;
}

.account-message.success {
    background: #edf9f2;
    border-color: #bde7ce;
    color: #247745;
}

.account-message.error {
    background: #fff1f2;
    border-color: #f0c5ca;
    color: #a52d3a;
}

.account-order-hero {
    background: #fff;
    border: 1px solid #e4e7ec;
    display: grid;
    gap: 24px;
    grid-template-columns: minmax(190px, .8fr) minmax(220px, 1fr) minmax(240px, 1.15fr) auto;
    padding: 24px;
}

.account-order-hero > div {
    min-width: 0;
}

.account-order-hero .account-order-number {
    font-size: 24px;
    line-height: 1.25;
    overflow-wrap: anywhere;
    word-break: break-word;
}

.account-order-hero-status {
    border-left: 1px solid #e7e9ed;
    padding-left: 24px;
}

.account-order-hero-status > span {
    color: #7a808c;
    display: block;
    font-size: 11px;
    margin-bottom: 6px;
}

.account-order-hero-status strong {
    color: #2879fe;
    font-size: 18px;
}

.account-order-actions {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 9px;
}

.account-order-actions form {
    margin: 0;
}

.account-detail-grid {
    align-items: start;
    display: grid;
    gap: 20px;
    grid-template-columns: minmax(0, 1fr) 340px;
}

.account-product-row {
    align-items: center;
    border-bottom: 1px solid #edf0f4;
    display: grid;
    gap: 15px;
    grid-template-columns: 74px minmax(0, 1fr) 80px 130px;
    padding: 16px 0;
}

.account-product-row:last-child {
    border-bottom: 0;
}

.account-product-image {
    align-items: center;
    background: #f4f5f7;
    display: flex;
    height: 74px;
    justify-content: center;
    overflow: hidden;
    width: 74px;
}

.account-product-image img {
    height: 100%;
    object-fit: contain;
    width: 100%;
}

.account-product-copy {
    display: flex;
    flex-direction: column;
}

.account-product-copy a {
    color: #232833;
}

.account-product-copy span,
.account-product-copy small {
    color: #777e89;
    font-size: 11px;
    margin-top: 4px;
}

.account-totals {
    border-top: 1px solid #dfe3e9;
    margin-left: auto;
    margin-top: 14px;
    max-width: 350px;
    padding-top: 14px;
}

.account-totals > div {
    display: flex;
    justify-content: space-between;
    padding: 5px 0;
}

.account-totals .total {
    border-top: 1px solid #dfe3e9;
    font-size: 16px;
    margin-top: 8px;
    padding-top: 13px;
}

.account-detail-side .account-section p {
    color: #6d7480;
    line-height: 1.6;
    margin: 7px 0;
}

.account-timeline-item {
    display: grid;
    gap: 13px;
    grid-template-columns: 14px minmax(0, 1fr);
    padding-bottom: 18px;
    position: relative;
}

.account-timeline-item::before {
    background: #dce2eb;
    content: "";
    left: 5px;
    position: absolute;
    top: 12px;
    bottom: -2px;
    width: 1px;
}

.account-timeline-item:last-child::before {
    display: none;
}

.account-timeline-item > span {
    background: #2879fe;
    border: 3px solid #dceaff;
    border-radius: 50%;
    height: 12px;
    margin-top: 3px;
    position: relative;
    width: 12px;
    z-index: 1;
}

.account-timeline-item.is-origin > span {
    background: #7d8490;
    border-color: #ebedf0;
}

.account-timeline-item strong,
.account-timeline-item small {
    display: block;
}

.account-timeline-item small {
    color: #8a9099;
    font-size: 10px;
    margin-top: 3px;
}

.account-timeline-item p {
    color: #676e79;
    line-height: 1.5;
    margin: 6px 0 0;
}

.account-support-section {
    margin-top: 20px;
}

.account-support-item {
    border-bottom: 1px solid #e7eaf0;
    padding: 18px 0;
}

.account-support-item header {
    align-items: start;
    display: flex;
    justify-content: space-between;
}

.account-support-item header div,
.account-support-item header small {
    display: block;
}

.account-support-item header small {
    color: #858b95;
    margin-top: 4px;
}

.account-support-reply {
    background: #f3f7fe;
    border-left: 3px solid #2879fe;
    margin-top: 13px;
    padding: 14px 16px;
}

.account-support-form {
    border-top: 1px solid #dfe3e9;
    display: grid;
    gap: 14px;
    margin-top: 20px;
    padding-top: 20px;
}

.account-support-form label {
    display: block;
    font-size: 12px;
    font-weight: 700;
    margin-bottom: 6px;
}

.account-support-form select,
.account-support-form textarea {
    border: 1px solid #d9dee6;
    border-radius: 0;
    padding: 11px 12px;
    width: 100%;
}

.account-support-form button {
    justify-self: start;
}

.account-tracking-container {
    max-width: 1050px;
}

.account-tracking-summary {
    display: grid;
    gap: 1px;
    grid-template-columns: repeat(3, 1fr);
    margin-bottom: 18px;
}

.account-tracking-summary > div {
    background: #fff;
    border: 1px solid #e4e7ec;
    padding: 20px;
}

.account-tracking-summary span,
.account-current-shipment > span {
    color: #7c838f;
    display: block;
    font-size: 11px;
    margin-bottom: 6px;
    text-transform: uppercase;
}

.account-current-shipment h2 {
    color: #2879fe;
    font-size: 21px;
    margin-bottom: 18px;
}

.account-timeline-wide {
    max-width: 760px;
}

.account-shipment-note {
    background: #f4f6f9;
    padding: 10px 12px;
}

.account-message {
    border: 1px solid;
    margin-bottom: 18px;
    padding: 13px 15px;
}

.account-message.success {
    background: #eef9f2;
    border-color: #b8e1c7;
    color: #18743c;
}

.account-message.error {
    background: #fff2f2;
    border-color: #efc3c3;
    color: #a52a2a;
}

.account-message ul {
    margin: 0;
    padding-left: 18px;
}

.account-form-section + .account-form-section {
    margin-top: 20px;
}

.account-section-head-copy p {
    color: #737b87;
    margin: 5px 0 0;
}

.account-form {
    padding: 22px;
}

.account-form-grid {
    display: grid;
    gap: 17px 20px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.account-form-field-full {
    grid-column: 1 / -1;
}

.account-form-field label {
    color: #303641;
    display: block;
    font-size: 12px;
    font-weight: 700;
    margin-bottom: 7px;
}

.account-form-field .form-control,
.account-form-field select,
.account-form-field textarea {
    border: 1px solid #d9dee6;
    border-radius: 0;
    min-height: 44px;
    padding: 10px 12px;
    width: 100%;
}

.account-form-field textarea {
    min-height: 110px;
    resize: vertical;
}

.account-form-field small {
    color: #7b838f;
    display: block;
    font-size: 11px;
    margin-top: 6px;
}

.account-readonly {
    background: #f3f5f8;
    color: #68707c;
}

.account-form-actions {
    align-items: center;
    border-top: 1px solid #e5e8ed;
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 22px;
    padding-top: 18px;
}

.account-address-grid {
    display: grid;
    gap: 16px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    padding: 20px;
}

.account-address-card {
    border: 1px solid #dfe4eb;
    display: flex;
    flex-direction: column;
    min-height: 250px;
    padding: 18px;
}

.account-address-card-head {
    align-items: flex-start;
    display: flex;
    gap: 12px;
    justify-content: space-between;
}

.account-address-card-head h3 {
    font-size: 17px;
    margin: 4px 0 0;
}

.account-address-type {
    color: #7d8591;
    font-size: 10px;
    font-weight: 700;
    text-transform: uppercase;
}

.account-badge {
    background: #eaf2ff;
    color: #1d65d8;
    font-size: 10px;
    font-weight: 700;
    padding: 5px 7px;
    white-space: nowrap;
}

.account-address-copy {
    color: #626a76;
    display: flex;
    flex: 1;
    flex-direction: column;
    font-size: 12px;
    gap: 6px;
    margin-top: 16px;
}

.account-address-copy strong {
    color: #272d36;
}

.account-address-actions {
    align-items: center;
    border-top: 1px solid #e9ebef;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 16px;
    padding-top: 14px;
}

.account-address-actions .btn,
.account-address-actions button {
    min-height: 36px;
    padding: 8px 12px;
}

.account-inline-form {
    display: inline-flex;
    margin: 0;
}

.account-danger-button {
    background: #fff;
    border: 1px solid #efbcbc;
    color: #bd2929;
}

.account-checkbox-field label {
    align-items: center;
    display: inline-flex;
    gap: 9px;
    margin: 0;
}

.account-checkbox-field input {
    height: 17px;
    margin: 0;
    width: 17px;
}

.account-corporate-fields {
    border-left: 3px solid #2879fe;
    padding-left: 16px;
}

@media (max-width: 991px) {
    .account-shell,
    .account-detail-grid {
        grid-template-columns: 1fr;
    }

    .account-nav {
        flex-direction: row;
        overflow-x: auto;
    }

    .account-nav-link {
        border-bottom: 3px solid transparent;
        border-left: 0;
        white-space: nowrap;
    }

    .account-order-hero {
        grid-template-columns: 1fr 1fr;
    }

    .account-order-actions {
        grid-column: 1 / -1;
    }
}

@media (max-width: 700px) {
    .account-page .container-indent {
        padding: 25px 0 45px;
    }

    .account-page-head,
    .account-tracking-head {
        align-items: flex-start;
        flex-direction: column;
        gap: 14px;
    }

    .account-metrics,
    .account-tracking-summary,
    .account-order-hero {
        grid-template-columns: 1fr;
    }

    .account-order-hero-status {
        border-left: 0;
        border-top: 1px solid #e7e9ed;
        padding-left: 0;
        padding-top: 16px;
    }

    .account-order-hero .account-order-number {
        font-size: 20px;
    }

    .account-order-row {
        grid-template-columns: 1fr;
    }

    .account-product-row {
        align-items: start;
        grid-template-columns: 64px minmax(0, 1fr);
    }

    .account-product-row > span,
    .account-product-row > strong {
        grid-column: 2;
    }

    .account-product-image {
        height: 64px;
        width: 64px;
    }

    .account-form-grid,
    .account-address-grid {
        grid-template-columns: 1fr;
    }

    .account-form,
    .account-address-grid {
        padding: 16px;
    }
}
