.ggpay-dialog-overlay {
    position: fixed;
    inset: 0;
    z-index: 2147483000;
    display: flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    padding: 22px;
    background: rgba(20, 32, 48, 0.38);
    backdrop-filter: blur(2px);
}

.ggpay-dialog {
    width: min(100%, 360px);
    box-sizing: border-box;
    padding: 22px 20px 18px;
    border: 1px solid #dce6ed;
    border-radius: 16px;
    background: #fff;
    box-shadow: 0 16px 45px rgba(20, 39, 58, 0.2);
    color: #172033;
}

.ggpay-dialog-title {
    display: block;
    margin-bottom: 10px;
    color: #315f7d;
    font-size: 17px;
    font-weight: 800;
}

.ggpay-dialog-message {
    margin: 0;
    color: #47586a;
    font-size: 14px;
    line-height: 1.55;
    white-space: pre-wrap;
    overflow-wrap: anywhere;
}

.ggpay-dialog-input {
    width: 100%;
    min-height: 42px;
    box-sizing: border-box;
    margin-top: 14px;
    padding: 9px 11px;
    border: 1px solid #c8d8e3;
    border-radius: 9px;
    outline: none;
    color: #172033;
    font: inherit;
}

.ggpay-dialog-input:focus {
    border-color: #74a8c7;
    box-shadow: 0 0 0 3px rgba(116, 168, 199, 0.16);
}

.ggpay-dialog-textarea {
    min-height: 112px;
    resize: vertical;
    line-height: 1.5;
}

.ggpay-dialog-actions {
    display: flex;
    justify-content: flex-end;
    gap: 8px;
    margin-top: 20px;
}

.ggpay-dialog-button {
    min-width: 76px;
    min-height: 40px;
    padding: 8px 15px;
    border-radius: 9px;
    font-size: 14px;
    font-weight: 750;
    cursor: pointer;
}

.ggpay-dialog-cancel {
    border: 1px solid #d8e0e6;
    background: #fff;
    color: #657383;
}

/* PC home dashboard cards */
.ggpay-desktop-home {
    --ggpay-home-border: #e1e6e6;
    --ggpay-home-heading: #466575;
    --ggpay-home-muted: #748087;
    align-items: stretch;
    padding: 10px;
    border-radius: 18px;
    background: #f4f6f6;
}

.ggpay-desktop-home > .MuiGrid-item > .MuiPaper-root,
.ggpay-desktop-home > .MuiGrid-container > .MuiGrid-item > .MuiPaper-root {
    box-sizing: border-box;
    padding: 18px !important;
    overflow: hidden;
    border: 1px solid var(--ggpay-home-border) !important;
    border-radius: 14px !important;
    background: #fbfcfc !important;
    box-shadow: 0 2px 8px rgba(40, 54, 61, .045) !important;
}

.ggpay-desktop-home > .MuiGrid-item > .MuiPaper-root:hover,
.ggpay-desktop-home > .MuiGrid-container > .MuiGrid-item > .MuiPaper-root:hover {
    border-color: #d9e0e0 !important;
    box-shadow: 0 2px 9px rgba(40, 54, 61, .055) !important;
}

.ggpay-desktop-home .MuiPaper-root h6 {
    margin: 0 0 6px;
    color: var(--ggpay-home-heading) !important;
    font-size: 17px;
    font-weight: 700;
    letter-spacing: -.02em;
}

.ggpay-desktop-home .MuiDivider-root {
    border-color: #e0e5e5 !important;
    border-bottom-width: 1px !important;
}

.ggpay-desktop-home .MuiTableCell-head {
    border-bottom: 1px solid #e2e6e6;
    background: #f0f3f3;
    color: #53626a;
    font-weight: 650;
}

.ggpay-desktop-home .MuiTableCell-body {
    border-bottom-color: #ecefef;
    color: #4b575f;
}

.ggpay-desktop-home .MuiIconButton-root {
    border-radius: 8px;
    color: var(--ggpay-home-heading);
}

.ggpay-desktop-home .MuiIconButton-root:hover {
    background: #eef2f2;
}

.ggpay-desktop-home .MuiButton-root {
    border-radius: 8px;
    color: #526d7a;
    box-shadow: none !important;
}

.ggpay-desktop-home .MuiButton-contained {
    background: #7894a2 !important;
    color: #fff !important;
}

.ggpay-desktop-home .MuiButton-outlined {
    border-color: #b9c7cc !important;
    background: #f7f9f9;
}

.ggpay-desktop-home * {
    scrollbar-color: #c2caca transparent;
    scrollbar-width: thin;
}

.ggpay-desktop-home *::-webkit-scrollbar {
    width: 6px;
    height: 6px;
}

.ggpay-desktop-home *::-webkit-scrollbar-thumb {
    border-radius: 999px;
    background: #c2caca;
}

.ggpay-desktop-home *::-webkit-scrollbar-track {
    background: transparent;
}

.ggpay-dialog-ok {
    border: 1px solid #b9d4e3;
    background: #e8f3f9;
    color: #285a78;
}

@media (max-width: 600px) {
    .ggpay-dialog-overlay {
        align-items: flex-end;
        padding: 14px;
    }

    .ggpay-dialog {
        width: 100%;
        padding: 20px 18px 16px;
        border-radius: 16px;
    }

    .ggpay-dialog-button {
        flex: 1;
    }
}

.ggpay-myinfo {
    width: 100% !important;
    max-width: none !important;
    min-height: calc(100vh - 56px);
    box-sizing: border-box;
    margin-top: 0 !important;
    padding: 14px 14px 112px !important;
    background: #f5f7fa;
    color: #172033;
}

.ggpay-myinfo > .MuiGrid-root.MuiGrid-item {
    position: relative;
    width: 100% !important;
    max-width: none !important;
    box-sizing: border-box;
    margin: 0 0 12px !important;
    padding: 17px 16px 8px !important;
    border: 1px solid #e8ebf0;
    border-radius: 16px;
    background: #fff;
    box-shadow: 0 2px 10px rgba(23, 32, 51, 0.05);
}

.ggpay-myinfo > .MuiGrid-root.MuiGrid-item > .MuiTypography-h5 {
    margin: 0 0 8px !important;
    padding: 0 0 11px !important;
    border: 0 !important;
    border-bottom: 1px solid #edf0f4 !important;
    color: #172033;
    font-size: 16px !important;
    font-weight: 800 !important;
    line-height: 22px !important;
    letter-spacing: -0.02em;
}

.ggpay-myinfo .ggpay-myinfo-heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    padding-right: 166px !important;
}

.ggpay-myinfo .ggpay-myinfo-heading-actions {
    position: absolute;
    top: 0;
    right: 0;
    display: flex;
    align-items: stretch;
}

.ggpay-myinfo .ggpay-myinfo-heading-action {
    position: absolute;
    top: 0;
    right: 0;
    min-width: auto;
    min-height: 36px;
    flex: 0 0 auto;
    padding: 7px 12px;
    border: 0;
    border-bottom: 1px solid #b9d3e5;
    border-left: 1px solid #b9d3e5;
    border-radius: 0 15px 0 12px;
    background: #f1f7fb;
    color: #356987;
    font-size: 11px;
    font-weight: 700;
    line-height: 16px;
    box-shadow: none;
    white-space: nowrap;
}

.ggpay-myinfo .ggpay-myinfo-heading-actions .ggpay-myinfo-heading-action {
    position: static;
    border-radius: 0;
}

.ggpay-myinfo .ggpay-myinfo-heading-actions .ggpay-myinfo-heading-action:first-child {
    border-radius: 0 0 0 12px;
}

.ggpay-myinfo .ggpay-myinfo-heading-actions .ggpay-myinfo-heading-action:last-child {
    border-radius: 0 15px 0 0;
}

.ggpay-myinfo .ggpay-myinfo-heading-actions .ggpay-myinfo-cancel {
    border-left: 1px solid #d9e2e8;
    border-bottom-color: #d9e2e8;
    background: #fafbfc;
    color: #697386;
}

.ggpay-myinfo .ggpay-myinfo-heading-action:hover,
.ggpay-myinfo .ggpay-myinfo-heading-action:focus-visible {
    border-color: #94bdd7;
    background: #e7f2f8;
    box-shadow: none;
}

.ggpay-myinfo > .MuiGrid-root.MuiGrid-item > .MuiGrid-root {
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}

.ggpay-myinfo table,
.ggpay-myinfo tbody {
    display: block;
    width: 100%;
}

.ggpay-myinfo tr {
    display: grid;
    grid-template-columns: 92px minmax(0, 1fr);
    width: 100%;
    column-gap: 10px;
    border-bottom: 1px solid #f0f2f5;
}

.ggpay-myinfo tr:last-child {
    border-bottom: 0;
}

.ggpay-myinfo .ggpay-myinfo-terminal tr {
    grid-template-columns: 62px minmax(0, 1fr) 56px minmax(50px, 0.62fr);
}

.ggpay-myinfo .ggpay-myinfo-settlement tr:first-child {
    grid-template-columns: 64px minmax(0, 1fr) 64px minmax(0, 1fr);
}

.ggpay-myinfo td {
    display: flex;
    width: auto !important;
    max-width: none !important;
    min-width: 0;
    min-height: 42px;
    box-sizing: border-box;
    align-items: center;
    border: 0 !important;
    padding: 9px 4px !important;
    background: transparent !important;
    font-size: 14px !important;
    line-height: 20px !important;
    word-break: normal;
    overflow-wrap: break-word;
}

/* Read-only mode is intentionally denser; edit/request fields keep their current spacing. */
.ggpay-myinfo.ggpay-myinfo-view td {
    min-height: 34px;
    padding-top: 5px !important;
    padding-bottom: 5px !important;
    line-height: 18px !important;
}

.ggpay-password-page {
    width: 100% !important;
    max-width: none !important;
    min-height: calc(100vh - 56px);
    box-sizing: border-box;
    margin: 0 !important;
    padding: 20px 14px 112px !important;
    background: #f5f7fa;
    color: #172033;
}

.ggpay-password-card {
    width: 100% !important;
    max-width: 480px !important;
    box-sizing: border-box;
    margin: 0 auto !important;
    padding: 24px 18px 20px !important;
    border: 1px solid #e3e9ee;
    border-radius: 16px;
    background: #fff;
    box-shadow: 0 2px 12px rgba(23, 32, 51, 0.055);
}

.ggpay-password-heading {
    display: flex;
    flex-direction: column;
    gap: 5px;
    margin: 0 0 20px !important;
    padding: 0 0 17px !important;
    border: 0 !important;
    border-bottom: 1px solid #edf0f4 !important;
    color: #172033;
    font-size: 20px !important;
    font-weight: 800 !important;
    line-height: 28px !important;
    letter-spacing: -0.025em;
}

.ggpay-password-heading small {
    color: #7b8795;
    font-size: 12px;
    font-weight: 500;
    line-height: 18px;
    letter-spacing: -0.01em;
}

.ggpay-password-form {
    gap: 13px !important;
}

.ggpay-password-form .MuiTextField-root {
    width: 100%;
}

.ggpay-password-form .MuiOutlinedInput-root {
    min-height: 48px;
    border-radius: 11px;
    background: #f9fbfc;
    transition: background-color .15s ease, box-shadow .15s ease;
}

.ggpay-password-form .MuiOutlinedInput-root fieldset {
    border-color: #dbe4ea !important;
    border-width: 1px !important;
}

.ggpay-password-form .MuiOutlinedInput-root:hover {
    background: #fff;
}

.ggpay-password-form .MuiOutlinedInput-root.Mui-focused {
    background: #fff;
    box-shadow: 0 0 0 3px rgba(71, 112, 141, .1);
}

.ggpay-password-form .MuiOutlinedInput-root.Mui-focused fieldset {
    border-color: #7eabc5 !important;
}

.ggpay-password-form .MuiInputLabel-root {
    color: #6f7f8e;
    font-size: 14px;
}

.ggpay-password-form .MuiInputBase-input {
    padding: 13px 14px !important;
    color: #172033;
    font-size: 14px;
}

.ggpay-password-submit {
    min-height: 48px !important;
    margin-top: 5px !important;
    border: 1px solid #a9c9dc !important;
    border-radius: 11px !important;
    background: #dfeef6 !important;
    color: #285a78 !important;
    font-size: 14px !important;
    font-weight: 800 !important;
    box-shadow: none !important;
}

.ggpay-password-submit:hover,
.ggpay-password-submit:focus-visible {
    border-color: #8fb7cf !important;
    background: #d4e8f2 !important;
    box-shadow: none !important;
}

.ggpay-myinfo td:nth-of-type(odd) {
    justify-content: flex-start;
    padding-right: 10px !important;
    padding-left: 10px !important;
    color: #47708d;
    font-weight: 600;
    text-align: left !important;
    white-space: nowrap;
    word-break: keep-all;
    overflow-wrap: normal;
}

.ggpay-myinfo td:nth-of-type(even) {
    justify-content: flex-end;
    color: #172033;
    font-weight: 700;
    text-align: right !important;
    word-break: keep-all;
}

.ggpay-myinfo .MuiFormControl-root,
.ggpay-myinfo .MuiInputBase-root,
.ggpay-myinfo .MuiTextField-root {
    width: 100% !important;
    min-width: 0;
}

.ggpay-myinfo .MuiInputBase-input {
    box-sizing: border-box;
    padding: 10px 12px !important;
    color: #172033;
    font-size: 14px !important;
    text-align: left;
}

.ggpay-myinfo table .MuiOutlinedInput-root {
    min-height: 42px;
    border-radius: 10px;
    background: #f9fbfc;
    transition: background-color 0.15s ease, box-shadow 0.15s ease;
}

.ggpay-myinfo table .MuiOutlinedInput-root fieldset {
    border-color: #dbe4ea !important;
    border-width: 1px !important;
}

.ggpay-myinfo table .MuiOutlinedInput-root:hover {
    background: #fff;
}

.ggpay-myinfo table .MuiOutlinedInput-root:hover fieldset {
    border-color: #bdd2df !important;
}

.ggpay-myinfo table .MuiOutlinedInput-root.Mui-focused {
    background: #fff;
    box-shadow: 0 0 0 3px rgba(71, 112, 141, 0.1);
}

.ggpay-myinfo table .MuiOutlinedInput-root.Mui-focused fieldset {
    border-color: #7eabc5 !important;
}

.ggpay-myinfo table .MuiOutlinedInput-root.Mui-disabled {
    background: #f3f6f8;
}

.ggpay-myinfo table .MuiOutlinedInput-root.Mui-disabled .MuiInputBase-input {
    -webkit-text-fill-color: #82909c;
}

.ggpay-myinfo .ggpay-myinfo-type-select {
    width: 100%;
    min-height: 38px;
    box-sizing: border-box;
    padding: 7px 30px 7px 10px;
    border: 1px solid #dbe3ea;
    border-radius: 8px;
    background: #fff;
    color: #172033;
    font-size: 14px;
}

.ggpay-myinfo .ggpay-myinfo-files {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
    margin: 0 0 12px;
    padding: 12px;
    border: 1px dashed #bfd5e4;
    border-radius: 12px;
    background: #f8fbfd;
}

.ggpay-myinfo .ggpay-myinfo-files > p,
.ggpay-myinfo .ggpay-myinfo-files > small {
    grid-column: 1 / -1;
    margin: 0;
}

.ggpay-myinfo .ggpay-myinfo-files > p {
    color: #356987;
    font-size: 13px;
    font-weight: 800;
}

.ggpay-myinfo .ggpay-myinfo-files > small {
    color: #7b8795;
    font-size: 10px;
    line-height: 15px;
}

.ggpay-myinfo .ggpay-myinfo-file {
    display: flex;
    min-width: 0;
    min-height: 62px;
    box-sizing: border-box;
    flex-direction: column;
    justify-content: center;
    gap: 3px;
    padding: 9px 10px;
    border: 1px solid #dce8ef;
    border-radius: 9px;
    background: #fff;
    color: #47708d;
    cursor: pointer;
}

.ggpay-myinfo .ggpay-myinfo-file input {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
}

.ggpay-myinfo .ggpay-myinfo-file span {
    font-size: 11px;
    font-weight: 700;
}

.ggpay-myinfo .ggpay-myinfo-file strong {
    overflow: hidden;
    color: #315f7d;
    font-size: 12px;
    font-weight: 800;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.ggpay-myinfo .ggpay-myinfo-request-footer {
    margin: 2px 0 12px;
    padding: 12px;
    border: 1px solid #dce8ef;
    border-radius: 12px;
    background: #f8fbfd;
}

.ggpay-myinfo .ggpay-myinfo-request-footer p {
    position: relative;
    margin: 0 0 6px;
    padding-left: 12px;
    color: #657586;
    font-size: 11px;
    line-height: 17px;
    word-break: keep-all;
}

.ggpay-myinfo .ggpay-myinfo-request-footer p::before {
    position: absolute;
    top: 7px;
    left: 2px;
    width: 4px;
    height: 4px;
    border-radius: 50%;
    background: #7eabc5;
    content: "";
}

.ggpay-myinfo .ggpay-myinfo-request-actions {
    display: grid;
    grid-template-columns: minmax(0, .8fr) minmax(0, 1.4fr);
    gap: 8px;
    margin-top: 10px;
}

.ggpay-myinfo .ggpay-myinfo-request-cancel,
.ggpay-myinfo .ggpay-myinfo-request-submit {
    width: 100%;
    min-height: 46px;
    margin: 0 !important;
    border-radius: 10px !important;
    font-size: 14px !important;
    font-weight: 800 !important;
    box-shadow: none !important;
}

.ggpay-myinfo .ggpay-myinfo-request-cancel {
    border: 1px solid #d4dde2 !important;
    background: #fff !important;
    color: #697782 !important;
}

.ggpay-myinfo .ggpay-myinfo-request-submit {
    border: 1px solid #9fc3d9 !important;
    background: #dfeef6 !important;
    color: #285a78 !important;
}

.ggpay-change-review {
    margin: 10px 0 16px;
    padding: 12px;
    border: 1px solid #cfe0ea;
    border-radius: 12px;
    background: #f8fbfd;
}

.ggpay-change-review-inbox {
    margin: 8px;
}

.ggpay-change-request-page .ggpay-change-review-inbox {
    margin: 0;
    padding: 18px;
}

.ggpay-change-request-page .ggpay-change-review > h6 {
    font-size: 20px;
}

.ggpay-change-review-empty {
    margin: 0;
    padding: 12px 4px 4px;
    color: #778594;
    font-size: 12px;
    text-align: center;
}

.ggpay-change-review > h6 {
    margin: 0 0 10px;
    color: #315f7d;
    font-size: 15px;
    font-weight: 800;
}

.ggpay-change-status-tabs {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px;
    margin: 4px 0 14px;
    padding: 5px;
    border: 1px solid #e0e6e7;
    border-radius: 11px;
    background: #f1f4f4;
}

.ggpay-change-status-tabs button {
    min-height: 40px;
    border: 1px solid transparent;
    border-radius: 8px;
    background: transparent;
    color: #6b777d;
    font-size: 13px;
    font-weight: 700;
    cursor: pointer;
}

.ggpay-change-status-tabs button span {
    display: inline-flex;
    min-width: 22px;
    height: 22px;
    align-items: center;
    justify-content: center;
    margin-left: 7px;
    padding: 0 6px;
    border-radius: 999px;
    background: #e2e7e8;
    color: #647078;
    font-size: 11px;
}

.ggpay-change-status-tabs button.is-active {
    border-color: #d5dfe2;
    background: #fff;
    color: #405d6c;
    box-shadow: 0 1px 4px rgba(45, 60, 68, .06);
}

.ggpay-change-status-tabs button.status-approved.is-active {
    color: #41705a;
}

.ggpay-change-status-tabs button.status-rejected.is-active {
    color: #8b5b5b;
}

.ggpay-change-status-tabs button:focus-visible {
    outline: 2px solid #9fb6c1;
    outline-offset: 2px;
}

.ggpay-change-review-item {
    margin-top: 8px;
    padding: 10px;
    border: 1px solid #dfe9ef;
    border-radius: 9px;
    background: #fff;
}

.ggpay-change-review-item > div:first-child {
    display: flex;
    justify-content: space-between;
    gap: 8px;
    color: #33465a;
    font-size: 12px;
}

.ggpay-change-review-item > p {
    margin: 7px 0;
    color: #576779;
    font-size: 11px;
    line-height: 17px;
}

.ggpay-change-review-actions {
    display: flex;
    width: 100%;
    justify-content: space-between;
    gap: 48px;
    margin-top: 16px;
}

.ggpay-change-rejection-reason {
    margin: 10px 0;
    padding: 11px 13px;
    border: 1px solid #eadada;
    border-radius: 9px;
    background: #fff9f8;
}

.ggpay-change-rejection-reason strong {
    display: block;
    margin-bottom: 5px;
    color: #8b5b5b;
    font-size: 12px;
}

.ggpay-change-rejection-reason p {
    margin: 0;
    color: #655c5c;
    font-size: 12px;
    line-height: 1.55;
    white-space: pre-wrap;
    overflow-wrap: anywhere;
}

.ggpay-change-review-actions .MuiButton-root {
    min-width: 96px;
    min-height: 36px;
    border-radius: 8px;
    font-size: 12px;
    font-weight: 800;
    box-shadow: none;
}

.ggpay-change-review-actions .ggpay-change-reject-button {
    border-color: #dfcaca;
    background: #fff8f8;
    color: #955555;
}

.ggpay-change-review-actions .ggpay-change-approve-button {
    border-color: #8db7cf;
    background: #dfeef6;
    color: #285a78;
}

.ggpay-change-review-actions .ggpay-change-reject-button:hover,
.ggpay-change-review-actions .ggpay-change-reject-button:focus-visible {
    border-color: #d1b2b2;
    background: #faecec;
}

.ggpay-change-review-actions .ggpay-change-approve-button:hover,
.ggpay-change-review-actions .ggpay-change-approve-button:focus-visible {
    background: #d2e6f1;
    box-shadow: none;
}

.ggpay-change-compare {
    margin: 10px 0 12px;
    overflow: hidden;
    border: 1px solid #e0e8ee;
    border-radius: 8px;
}

.ggpay-change-compare-head,
.ggpay-change-compare-row {
    display: grid;
    grid-template-columns: 150px minmax(0, 1fr) minmax(0, 1fr);
    align-items: stretch;
}

.ggpay-change-compare-head {
    background: #edf5fa;
    color: #315f7d;
    font-size: 12px;
    font-weight: 800;
}

.ggpay-change-compare-head > span,
.ggpay-change-compare-row > span,
.ggpay-change-compare-row > strong {
    min-width: 0;
    padding: 8px 10px;
    border-right: 1px solid #e5ebf0;
    overflow-wrap: anywhere;
}

.ggpay-change-compare-head > :last-child,
.ggpay-change-compare-row > :last-child {
    border-right: 0;
}

.ggpay-change-compare-row {
    border-top: 1px solid #edf1f4;
    color: #566575;
    font-size: 12px;
    line-height: 1.4;
}

.ggpay-change-compare-row > span:first-child {
    background: #fafbfd;
    color: #45677e;
    font-weight: 700;
}

.ggpay-change-compare-row > strong {
    color: #33475a;
    font-weight: 700;
}

.ggpay-change-compare-row.is-changed > strong {
    background: #fff8e8;
    color: #8a6414;
}

.ggpay-change-review-files {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 8px;
}

.ggpay-change-review-file-group {
    margin-top: 10px;
    padding: 10px;
    border: 1px solid #e3ebf0;
    border-radius: 10px;
    background: #fafcfd;
}

.ggpay-change-review-file-group-new {
    background: #f4f9fc;
}

.ggpay-change-review-file-group > strong {
    display: block;
    margin-bottom: 8px;
    color: #45677e;
    font-size: 12px;
}

.ggpay-change-evidence-thumb {
    position: relative;
    display: flex;
    width: 132px;
    flex-direction: column;
    overflow: hidden;
    border: 1px solid #dbe6ed;
    border-radius: 9px;
    background: #f7fafc;
    color: #356987;
    font-size: 11px;
    font-weight: 700;
    text-align: center;
    text-decoration: none;
}

.ggpay-change-evidence-thumb > a {
    display: block;
    color: inherit;
    text-decoration: none;
}

.ggpay-change-evidence-thumb img {
    display: block;
    width: 100%;
    height: 88px;
    border-bottom: 1px solid #e2e9ee;
    background: #edf2f5;
    object-fit: cover;
}

.ggpay-change-evidence-thumb img.is-error {
    object-fit: contain;
}

.ggpay-change-evidence-thumb span {
    display: block;
    overflow: hidden;
    padding: 7px 5px;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.ggpay-change-evidence-remove {
    width: 100%;
    padding: 6px 4px;
    border: 0;
    border-top: 1px solid #dbe6ed;
    background: #edf5fa;
    color: #356987;
    font-size: 11px;
    font-weight: 700;
    cursor: pointer;
}

.ggpay-change-evidence-thumb.is-removed {
    border-color: #e7caca;
    background: #fff7f7;
}

.ggpay-change-evidence-thumb.is-removed img,
.ggpay-change-evidence-thumb.is-removed span {
    opacity: .32;
}

.ggpay-change-evidence-thumb.is-removed::after {
    position: absolute;
    top: 38px;
    left: 12px;
    right: 12px;
    padding: 4px 2px;
    border-radius: 5px;
    background: rgba(126, 60, 60, .88);
    color: #fff;
    content: "삭제 예정";
    font-size: 11px;
    font-weight: 700;
    text-align: center;
    pointer-events: none;
}

.ggpay-change-evidence-thumb.is-removed .ggpay-change-evidence-remove {
    position: relative;
    z-index: 1;
    background: #f9eaea;
    color: #914f4f;
}

.ggpay-myinfo td .MuiBox-root {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr);
    width: 100% !important;
    gap: 8px;
}

.ggpay-myinfo td .MuiBox-root .MuiTextField-root {
    width: 100% !important;
}

.ggpay-myinfo td .MuiButton-root {
    min-width: 104px;
    min-height: 40px;
    margin: 0 !important;
    justify-self: end;
    border-radius: 9px;
    border: 1px solid #bfd5e4;
    background: #edf5fa !important;
    color: #315f7d;
    font-size: 12px !important;
    font-weight: 700;
    box-shadow: none !important;
}

.ggpay-myinfo > div:not(.MuiGrid-root) {
    display: flex !important;
    width: 100%;
    box-sizing: border-box;
    justify-content: center !important;
    gap: 10px !important;
    margin: 0 0 10px !important;
    padding: 0 !important;
}

.ggpay-myinfo > div:not(.MuiGrid-root) > .MuiGrid-root {
    min-width: 0;
    max-width: none !important;
    flex: 1 1 0 !important;
    margin: 0 !important;
    padding: 0 !important;
}

.ggpay-myinfo > div:not(.MuiGrid-root) .MuiButton-root {
    width: 100%;
    min-height: 48px;
    margin: 0 !important;
    border-radius: 12px;
    border: 1px solid #bfd5e4;
    background: #edf5fa !important;
    color: #315f7d;
    font-size: 14px;
    font-weight: 800;
    box-shadow: none !important;
}

.ggpay-myinfo > div:not(.MuiGrid-root) .MuiButton-root:hover,
.ggpay-myinfo > div:not(.MuiGrid-root) .MuiButton-root:focus-visible {
    background: #e2eff7 !important;
}

.ggpay-myinfo > .ggpay-myinfo-logout-row {
    justify-content: center !important;
    margin-top: 8px !important;
}

.ggpay-myinfo > .ggpay-myinfo-logout-row > .MuiGrid-root {
    max-width: 180px !important;
    flex: 0 1 180px !important;
}

.ggpay-myinfo > .ggpay-myinfo-logout-row .MuiButton-root {
    border-color: #d8dde4;
    background: #fff !important;
    color: #697386;
    font-weight: 700;
}

.ggpay-myinfo > .ggpay-myinfo-logout-row .MuiButton-root:hover,
.ggpay-myinfo > .ggpay-myinfo-logout-row .MuiButton-root:focus-visible {
    background: #f5f6f8 !important;
}

.ggpay-myinfo .MuiFormHelperText-root {
    margin: 3px 0 0;
    font-size: 10px;
    line-height: 14px;
    text-align: left;
}

@media (max-width: 600px) {
    .ggpay-change-review-inbox {
        display: none !important;
    }

    .ggpay-mobile-filter {
        width: auto;
        box-sizing: border-box;
        margin: 6px 10px 10px;
        padding: 9px 11px;
        border: 1px solid #e2e9ef;
        border-radius: 12px;
        background: #fafcfd;
        box-shadow: 0 1px 4px rgba(39, 59, 78, 0.04);
        color: #26384a;
    }

    .ggpay-mobile-filter-header {
        display: flex;
        align-items: center;
        min-height: 28px;
        margin: 0;
        cursor: pointer;
        list-style: none;
        -webkit-tap-highlight-color: transparent;
    }

    .ggpay-mobile-filter-header::-webkit-details-marker {
        display: none;
    }

    .ggpay-mobile-filter-header strong {
        flex: 1;
        min-width: 0;
        overflow: hidden;
        color: #2f5872;
        font-size: 13px;
        font-weight: 800;
        letter-spacing: -0.02em;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    .ggpay-mobile-filter-header span {
        padding: 3px 8px;
        border: 1px solid #d8e5ed;
        border-radius: 999px;
        background: #eef5f8;
        color: #5b7485;
        font-size: 10px;
        font-weight: 700;
        line-height: 16px;
    }

    .ggpay-mobile-filter-header::after {
        width: 7px;
        height: 7px;
        margin: -4px 4px 0 10px;
        border-right: 2px solid #7b8d9a;
        border-bottom: 2px solid #7b8d9a;
        content: "";
        transform: rotate(45deg);
        transition: transform 0.16s ease, margin 0.16s ease;
    }

    .ggpay-mobile-filter[open] .ggpay-mobile-filter-header {
        margin-bottom: 9px;
        padding-bottom: 8px;
        border-bottom: 1px solid #e6edf2;
    }

    .ggpay-mobile-filter[open] .ggpay-mobile-filter-header::after {
        margin-top: 4px;
        transform: rotate(225deg);
    }

    .ggpay-mobile-filter > .ggpay-mobile-filter-row {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        width: 100% !important;
        margin: 0 0 7px !important;
        padding: 0 !important;
        gap: 7px;
    }

    .ggpay-mobile-filter > .ggpay-mobile-filter-row:empty {
        display: none !important;
    }

    .ggpay-mobile-filter > .ggpay-mobile-filter-row:last-child {
        margin-bottom: 0 !important;
    }

    .ggpay-mobile-filter-row > .MuiGrid-item {
        width: auto !important;
        min-width: 0;
        max-width: none !important;
        margin: 0 !important;
        padding: 0 !important;
        flex: none !important;
    }

    .ggpay-mobile-filter > .ggpay-mobile-filter-row:nth-child(4) > .MuiGrid-item:last-child {
        grid-column: 1 / -1;
    }

    .ggpay-mobile-filter .MuiFormControl-root,
    .ggpay-mobile-filter .MuiAutocomplete-root,
    .ggpay-mobile-filter .MuiTextField-root {
        width: 100%;
        margin: 0 !important;
    }

    .ggpay-mobile-filter .MuiInputBase-root {
        min-height: 42px;
        box-sizing: border-box;
        margin-top: 0 !important;
        padding: 8px 9px 2px !important;
        border: 1px solid #d9e2e9;
        border-radius: 9px;
        background: #fff;
        color: #26384a;
        font-size: 12px !important;
        line-height: 18px;
        transition: border-color 0.15s ease, box-shadow 0.15s ease;
    }

    .ggpay-mobile-filter .MuiInputBase-root:hover {
        border-color: #c4d4df;
    }

    .ggpay-mobile-filter .MuiInputBase-root.Mui-focused {
        border-color: #8fb7cf;
        box-shadow: 0 0 0 3px rgba(100, 156, 190, 0.11);
    }

    .ggpay-mobile-filter .MuiInputBase-root::before,
    .ggpay-mobile-filter .MuiInputBase-root::after {
        display: none !important;
    }

    .ggpay-mobile-filter .MuiInputLabel-root {
        z-index: 2;
        max-width: calc(100% - 20px);
        padding: 0 4px;
        overflow: hidden;
        background: #fafcfd;
        color: #718292;
        font-size: 11px !important;
        font-weight: 650;
        line-height: 14px;
        text-overflow: ellipsis;
        white-space: nowrap;
        transform: translate(12px, -7px) scale(0.94) !important;
        transform-origin: left top;
        pointer-events: none;
    }

    .ggpay-mobile-filter .MuiSelect-select {
        min-height: 20px !important;
        padding: 0 24px 0 0 !important;
    }

    .ggpay-mobile-filter .MuiAutocomplete-inputRoot {
        padding: 8px 32px 2px 9px !important;
    }

    .ggpay-mobile-filter .MuiAutocomplete-input {
        min-width: 0 !important;
        padding: 0 !important;
    }

    .ggpay-mobile-filter .MuiAutocomplete-endAdornment {
        top: 9px;
        right: 5px;
    }

    .ggpay-mobile-filter > .ggpay-mobile-filter-row:nth-child(4) > .MuiGrid-item:last-child > .MuiGrid-container {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        width: 100% !important;
        margin: 0 !important;
        gap: 8px;
    }

    .ggpay-mobile-filter > .ggpay-mobile-filter-row:nth-child(4) > .MuiGrid-item:last-child > .MuiGrid-container > .MuiGrid-item {
        width: auto !important;
        max-width: none !important;
        padding: 0 !important;
    }

    .ggpay-mobile-filter-search,
    .ggpay-mobile-filter-reset {
        display: flex !important;
        width: 100%;
        min-height: 39px;
        margin: 0 !important;
        padding: 8px 12px !important;
        gap: 6px;
        border-radius: 9px !important;
        box-shadow: none !important;
        font-size: 13px !important;
        font-weight: 750 !important;
    }

    .ggpay-mobile-filter-search {
        border: 1px solid #bfd7e5 !important;
        background: #e8f3f9 !important;
        color: #2b617f !important;
    }

    .ggpay-mobile-filter-reset {
        border: 1px solid #dce3e8 !important;
        background: #fff !important;
        color: #667786 !important;
    }

    .ggpay-mobile-filter-search::after {
        content: "조회";
    }

    .ggpay-mobile-filter-reset::after {
        content: "초기화";
    }

    .ggpay-mobile-filter-search .MuiSvgIcon-root,
    .ggpay-mobile-filter-reset .MuiSvgIcon-root {
        width: 17px;
        height: 17px;
    }

    .ggpay-mobile-filter-search:hover,
    .ggpay-mobile-filter-search:focus-visible {
        background: #dfedf5 !important;
    }

    .ggpay-mobile-filter-reset:hover,
    .ggpay-mobile-filter-reset:focus-visible {
        background: #f4f7f9 !important;
    }

    .ggpay-mobile-bottom-nav {
        z-index: 1200;
        display: flex;
        height: calc(58px + env(safe-area-inset-bottom)) !important;
        box-sizing: border-box;
        padding: 4px 5px calc(4px + env(safe-area-inset-bottom));
        border-top: 1px solid #e3e9ef;
        background: rgba(255, 255, 255, 0.98) !important;
        box-shadow: 0 -3px 12px rgba(34, 52, 68, 0.07) !important;
    }

    .ggpay-mobile-bottom-nav .MuiBottomNavigationAction-root {
        position: relative;
        min-width: 0 !important;
        max-width: none !important;
        min-height: 48px;
        margin: 0 2px;
        padding: 6px 2px 5px !important;
        border-radius: 11px;
        color: #7b8792 !important;
        transition: color 0.15s ease, background-color 0.15s ease !important;
    }

    .ggpay-mobile-bottom-nav .MuiBottomNavigationAction-root:hover,
    .ggpay-mobile-bottom-nav .MuiBottomNavigationAction-root:focus-visible {
        background: #f4f7f9;
    }

    .ggpay-mobile-bottom-nav .MuiBottomNavigationAction-root:focus-visible {
        outline: 2px solid #a9c9dc;
        outline-offset: -2px;
    }

    .ggpay-mobile-bottom-nav .MuiBottomNavigationAction-label,
    .ggpay-mobile-bottom-nav .MuiBottomNavigationAction-label.Mui-selected {
        overflow: hidden;
        font-size: 11px !important;
        font-weight: 650 !important;
        line-height: 16px;
        letter-spacing: -0.025em;
        text-overflow: ellipsis;
        white-space: nowrap;
        transition: none !important;
    }

    .ggpay-mobile-bottom-nav .MuiBottomNavigationAction-root.Mui-selected {
        background: #edf5f9;
        color: #315f7d !important;
    }

    .ggpay-mobile-bottom-nav .MuiBottomNavigationAction-root.Mui-selected::before {
        position: absolute;
        top: 2px;
        left: 50%;
        width: 20px;
        height: 2px;
        border-radius: 999px;
        background: #6fa4c3;
        content: "";
        transform: translateX(-50%);
    }
}
