html {
    height: 100%;
    overflow: hidden;
    margin: 0;
    padding: 0;
}

header {
    width: 100%;
    display: flex;
    justify-content: space-between;
    box-sizing: border-box;
    padding: 0.5rem 1rem;
}

header h1 {
    margin: 0;
}

* {
    font-family: "Roboto", sans-serif;
}

body {
    background-color: #0d0e18 !important;
    color: #eee !important;
    flex-direction: column;
    box-sizing: border-box !important;
    align-items: center;
    height: 100vh;
    margin: 0 !important;
    overflow: hidden !important;
    padding: 0;
    display: flex !important;
    max-width: 100%;
    justify-content: center;
}

.background-logo {
    position: absolute;
    z-index: -1;
    filter: blur(3px);
    transform: translate(50%, -50%);
    right: 50%;
    top: 50%;
    bottom: 50%;
}

.login-btn {
    display: flex;
    flex-direction: row;
    gap: 0.7rem;
    align-items: center;
    font-size: 1.2rem;
    text-wrap-mode: nowrap;
    font-weight: bold;
    padding: 0.5rem 1.5rem;
    background-color: #5865F2;
    color: #eee;
    border-radius: 0.35rem;
    cursor: pointer;
    transition: 0.15s;
    text-decoration: none;
    user-select: none;
    width: 100%;
    justify-content: center;
    box-sizing: border-box;
}

.login-btn:hover {
    background-color: #384099;
}

.login-btn:disabled {
    cursor: not-allowed;
    filter: brightness(1.5);
}

#userAvatar {
    border-radius: 50%;
    width: 25px;
    height: 25px;
    object-fit: cover;
}

#userInfo p {
    margin: 0.2rem 0;
}

.logout-btn {
    margin-top: 1rem;
    background-color: #f44336;
}

.logout-btn:hover {
    background-color: #d32f2f;
}

.hidden {
    display: none;
}

.error-message {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 1rem;
    max-width: 420px;
    padding: 1.5rem 2rem;
    background: rgba(50, 50, 50, 0.6);
    border-radius: 0.5rem;
    backdrop-filter: blur(6px);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.25);
    color: #fff;
    font-family: system-ui, sans-serif;
    text-align: center;
    font-size: 1rem;
    padding: 1.5rem;
}

.error-message span {
    font-size: 1rem;
}

.error-message.small {
    padding: 0.5rem;
    background-color: #ff565699;
}

.error-text {
    font-size: 1.1rem;
    font-weight: 600;
    text-shadow: 0 1px 3px #000;
}

.trial-cta {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    background-color: #FA4616;
    color: #fff;
    font-size: 1rem;
    font-weight: 600;
    padding: 0.6rem 1rem;
    border-radius: 0.35rem;
    text-decoration: none;
    transition: background 0.2s ease;
}

.trial-cta:hover {
    background-color: #e03f13;
}

.user-info-wrapper {
    display: flex;
    flex-direction: row;
    align-items: center;
    background-color: #ffffff25;
    border-radius: 0.25rem;
    border: solid #ffffff25 1px;
    backdrop-filter: blur(5px);
    z-index: 99999;
    margin-left: auto;
}

.user-info {
    padding: 0.25rem;
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 0.5rem;
    text-align: center;
    color: #ffffffc0;
}

.dropdown {
    position: relative;
}

.dropdown-toggle {
    border-radius: 0.35rem;
    transition: 0.15s;
    padding: 0.35rem .5rem;
    cursor: pointer;
    background-color: #ffffff00;
    border: none;
    color: inherit;
}

.dropdown-toggle:hover {
    background-color: #ffffff25;
    color: #ffffff;
}

.dropdown-toggle > * {
    pointer-events: none;
}

.dropdown-menu {
    margin-top: 0.5rem;
    display: none;
    position: absolute;
    top: 100%;
    right: 0;
    border-radius: 0.35rem;
    min-width: 120px;
    z-index: 1000;
    background-color: #15151515;
    border-radius: 0.25rem;
    border: solid #ffffff25 1px;
    backdrop-filter: blur(5px);
    overflow: hidden;
}

.dropdown-menu.show {
    display: flex;
    flex-direction: column;
}

.dropdown-item {
    display: block;
    padding: 0.5rem 1rem;
    color: #ffffffc0;
    text-decoration: none;
    transition: background-color 0.15;
    font-size: .9rem;
    background-color: #222222;
    width: 100%;
    border-radius: 0;
}

.dropdown-item.red {
    color: #a04b4b;
}

.dropdown-item:hover {
    background-color: #353535;
    color: #ffffff;
}

.user-info .user-info-icon {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    left: 16px;
    opacity: 0;
    transition: left 0.2s ease-out, opacity 0.2s ease-out;
}

.user-info:hover .user-info-icon {
    left: 8px;
    opacity: 1;
}

.user-info span {
    font-size: 1rem;
    font-weight: 500;
}

.user-info img {
    border-radius: 50%;
    width: 30px;
    height: 30px;
    object-fit: cover;
    box-shadow: 0 0 8px 0px #00000090;
}

button {
    transition: 0.2s;
    font-weight: bold;
    padding: 0.5rem 0.8rem;
    border: none;
    border-radius: 0.25rem;
    cursor: pointer;
    font-size: 1rem;
    outline: none;
    background-color: #2a89fdd0;
    color: #eee;
    user-select: none;
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 0.25rem;
    justify-content: center;
}

button:hover {
    background-color: #2063b4d0;
    color: #fff;
}

.transparent-icon {
    background-color: transparent;
    margin: 0;
    padding: 0.3rem;
    font-weight: 500;
    font-size: 0.9rem;
}

.transparent-icon svg {
    pointer-events: none;
    transition: 0.5s;
}

.transparent-icon.rotate:hover svg {
    transform: rotate(-360deg);
}

.text-input {
    width: 100%;
}

.text-input input[type="text"],
.text-input input[type="number"],
.text-input input[type="password"] {
    transition: 0.2s !important;
    border: solid #ffffff35 1px !important;
    outline: none !important;
    padding: 0.5rem 0.9rem !important;
    border-radius: 0.25rem !important;
    font-size: .9rem !important;
    background-color: #151515 !important;
    color: #eee !important;
    width: 100%;
    box-sizing: border-box;
}

input.bold {
    font-weight: bold !important;
}

.text-input input[type="text"]:hover,
.text-input input[type="number"]:hover,
.text-input input[type="password"]:hover {
    box-shadow: 0 0 2px 1px #2a89fd50 !important;
    border: solid #2a89fd50 1px !important;
}

.text-input input[type="text"]:focus,
.text-input input[type="number"]:focus,
.text-input input[type="password"]:focus {
    border: solid #2a89fdc0 1px !important;
    box-shadow: 0 0 2px 1px #2a89fda0 !important;
}

.text-input input[type="text"].readonly {
    color: #ffffff80 !important;
    font-weight: 300;
    box-shadow: none !important;
    border: solid #ffffff35 1px !important;
}

.justify-center {
    justify-content: center;
}

.login-container {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    align-items: center;
    overflow-y: auto;
    box-sizing: border-box;
    padding: 0;
    justify-content: center;
}

.settings-modal, .invites-modal, .login-modal {
    background-color: #10101090;
    border-radius: 0.25rem;
    border: solid #ffffff25 1px;
    backdrop-filter: blur(10px);
    width: 420px;
    height: fit-content;
    flex-direction: column;
    gap: 1rem;
    z-index: 9999;
    max-width: 90%;
    box-sizing: border-box;
    overflow: hidden;
    position: absolute;
    max-height: 90vh;
    height: fit-content;
    justify-content: space-around;
    display: flex;
    align-items: center;
    padding: 1.5rem;
    z-index: 999999;
}

.settings-modal h2, .invites-modal h2, .login-modal h2 {
    margin: 0;
    text-align: left;
    border-bottom: solid #ffffff20 1px;
    margin-right: auto;
    padding-right: 0.5rem;
    padding-left: 0.25rem;
    padding-bottom: 0.5rem;
    margin-bottom: 1rem;
}

.login-modal .info-item {
    width: 100%;
    box-sizing: border-box;
    padding: 0;
    margin: 0;
    width: 100%;
    gap: 1rem;
}

.login-modal span {
    display: flex;
    flex-direction: column;
    gap: 0.3rem;
}

.login-modal {
    padding: 1.5rem;
    gap: 2rem;
}

.settings-modal input[type="text"] {
    background-color: #272727 !important;
    color: #eee !important;
    outline: none !important;
    box-shadow: none;
    border: solid #444 1px;
}

.settings-modal .label {
    font-size: 0.9rem;
    color: #fff;
    width: fit-content;
    font-weight: 500;
    text-wrap-mode: nowrap;
}

.close-settings {
    top: 0;
    right: 0;
    position: absolute;
    display: flex;
    border-radius: 0.25rem;
    cursor: pointer;
    transition: 0.1s;
    flex-direction: row;
    justify-content: center;
    width: 100%;
    padding-right: 1rem;
    box-sizing: border-box;
    padding: 0.25rem;
    width: 25px;
    height: 25px;
    margin-top: 1rem;
    margin-right: 1rem;
    margin-left: auto;
    align-items: center;
}

.close-settings:hover {
    backdrop-filter: blur(5px);
    background-color: #ffffff30;
    color: #fc4133;
}

.close-settings > * {
    pointer-events: none;
}

.img-container {
    position: absolute;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    pointer-events: none;
    z-index: -1;
}

::-webkit-scrollbar {
    width: 10px;
}

::-webkit-scrollbar-track {
    background: #ffffff05;
    border-radius: 3px;
}

::-webkit-scrollbar-thumb {
    background: #2a3068;
    border-radius: 3px;
}

::-webkit-scrollbar-thumb:hover {
    background: #4b58d3;
}

.inner-content {
    width: 100vw;
    height: 100%;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 1rem;
    justify-content: space-around;
    width: 100%;
    overflow-y: auto;
}

.modal-inner-container {
    height: 100%;
    box-sizing: border-box;
    display: flex;
    justify-content: space-around;
    width: 100%;
    overflow-y: auto;
    gap: 1rem;
    flex-direction: column;
    padding: 0.25rem;
}

.header {
    display: flex;
    flex-direction: row;
    gap: 0.5rem;
    align-items: center;
    padding: 0.5rem 1rem;
    user-select: none;
    max-width: 90vw;
    z-index: 999;
    box-sizing: border-box;
    background-color: #1c1c1c87;
    border-radius: 0.5rem;
    margin-top: 1rem;
    width: 1000px;
    z-index: 9999999;
}

.header h1 {
    margin: 0;
}

.footer {
    display: flex;
    flex-direction: row;
    gap: 0.5rem;
    align-items: center;
    flex-shrink: 0;
    justify-content: space-around;
    padding: 1rem;
}

.footer svg {
    position: absolute;
    bottom: 1rem;
    left: 1rem;
    transition: 0.15s;
    cursor: pointer;
    opacity: 0.7;
}

.footer svg:hover {
    opacity: 1;
    transform: rotate(90deg);
}

.p {
    color: #ffffff90;
    font-size: 1rem;
    font-weight: 500;
}

.button {
    transition: 0.2s;
    font-weight: bold;
    padding: 0.5rem 0.8rem;
    border: none;
    border-radius: 0.25rem;
    cursor: pointer;
    font-size: 1rem;
    outline: none;
    background-color: #2a89fdd0;
    color: #eee;
    user-select: none;
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 1rem;
    justify-content: center;
}

.button:hover {
    background-color: #2063b4d0;
    color: #fff;
}

.button.secondary,
a.secondary {
    background-color: #151515;
    border: solid #ffffff35 1px;
}

.button.secondary:hover,
a.secondary:hover {
    background-color: #252525;
    color: #fff;
}

.button.invert {
    background-color: transparent;
    color: #c1daf8;
}

.button.invert:hover {
    color: #fff;
    background-color: #2a89fdd0;
}

.button.small {
    font-size: 0.8rem;
    padding: 0.3rem 0.5rem;
}

.icon-btn {
    aspect-ratio: 1 / 1;
    width: 40px;
    padding: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: none;
    color: #ccc;
    cursor: pointer;
    border-radius: 0.25rem;
}

.icon-btn:hover {
    color: #fff;
    background-color: #222;
}

.back-btn {
    padding: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: none;
    color: #ccc;
    cursor: pointer;
    font-size: 1rem;
}

.back-btn:hover {
    color: #2a89fd;
}

.back-btn > * {
    pointer-events: none;
}

input[type=number]::-webkit-outer-spin-button,
input[type=number]::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

input[type=number] {
    -moz-appearance: textfield;
}


.input {
    transition: 0.2s !important;
    border: solid #ffffff35 1px !important;
    outline: none !important;
    padding: 0.5rem 0.8rem !important;
    border-radius: 0.25rem !important;
    font-size: .9rem !important;
    background-color: #151515 !important;
    color: #eee !important;
    font-weight: bold !important;
    box-sizing: border-box;
}

.input:hover {
    box-shadow: 0 0 2px 1px #2a89fd50 !important;
    border: solid #2a89fd50 1px !important;
}

.input:focus {
    border: solid #2a89fdc0 1px !important;
    box-shadow: 0 0 2px 1px #2a89fda0 !important;
}

.currency-input-wrapper {
    position: relative;
    display: flex;
}

.not-found-container {
    position: absolute;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100%;
    backdrop-filter: blur(4px);
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    background-color: #0d0e1850;
    color: #eee;
}

.not-found-container p {
    color: #eee;
}

.settings-input {
    max-width: 350px;
    width: 300px;
    text-overflow: ellipsis;
}

.settings-container {
    width: fit-content;
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.hidden {
    display: none !important;
}

.flex-v {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    width: 100%;
}

.flex-h {
    display: flex;
    flex-direction: row;
    gap: 0.5rem;
}

.gap-2 {
    gap: 2rem;
}

.column-gap-2 {
    column-gap: 2rem;
}

.space-between {
    justify-content: space-between;
}

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

.keepa-content {
    display: flex;
    flex-direction: column;
    overflow-x: hidden;
    box-sizing: border-box;
    padding: 2rem;
    overflow-y: auto;
    align-items: center;
    gap: 1rem;
    height: 100%;
}

.keepa-content-item {
    height: fit-content;
    width: 1000px;
    display: flex;
    flex-direction: column;
    gap: 1rem;
    min-height: fit-content;
    background-color: #1c1c1ce0;
    padding: 1rem;
    border-radius: 0.5rem;
    box-sizing: border-box;
    max-width: 90vw;
    backdrop-filter: blur(5px);
}

.product-lookup {
    height: 100%;
    font-size: 0.75rem;
    color: #ffffff70;
    display: flex;
    flex-direction: column;
    gap: 3.5rem;
    justify-content: center;
    width: 400px;
    height: fit-content;
    box-sizing: border-box;
    max-width: 90%;
    padding: 2rem;
    z-index: 999;
}

.product-lookup img {
    margin: 0 auto;
}

.loading-container {
    position: absolute;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100%;
    backdrop-filter: blur(4px);
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    background-color: #0d0e1850;
    gap: 1rem;
}

.loading-container.normal-position {
    max-width: 100%;
    box-sizing: border-box;
    overflow: hidden;
    padding: 1rem;
    gap: 1rem;
    position: unset !important;
}

.loading-container p {
    color: #eee;
    margin: 0;
}

.popup-content {
    display: flex;
    gap: 0.5rem;
    width: 100%;
    box-sizing: border-box;
    margin: 0;
    max-width: 100%;
    align-items: center;
    flex-direction: column;
    justify-content: center;
    height: 100%;
    overflow-y: auto;
}

.loader-wrapper {
    width: 100%;
    height: 100%;
    position: absolute;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

.loader {
    width: 30px;
    aspect-ratio: 1;
    border-radius: 50%;
    border: 6px solid #ffffffc0;
    border-right-color: #2a89fd;
    animation: l2 1s infinite linear;
}

.loader.small {
    width: 15px !important;
    border-width: 3px;
}

.loader p {
    color: #ffffff;
    font-size: 1rem;
    font-weight: 500;
}

@keyframes l2 {
    to {
        transform: rotate(1turn)
    }
}

.product-details {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    max-width: 1000px;
    width: 100%;
    height: 100%;
    /* margin: auto; */
    justify-content: space-around;
}

.product-details-container {
    gap: 1rem;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    height: 100%;
}

.product-details-container .flex-h {
    flex-wrap: wrap;
}

.product-summary {
    display: flex;
    gap: 1rem;
    align-items: flex-start;
    border-bottom: solid #ffffff15 1px;
    width: 100%;
    padding-bottom: 1rem;
}

.product-image {
    object-fit: contain;
    height: auto;
    width: auto;
    max-height: 150px;
    display: flex;
    flex-direction: row;
    align-items: center;
    margin: auto 0;
    max-width: 200px;
    flex-shrink: 0;
    border-radius: 0.25rem;
    transition: 0.1s;
}

.product-info {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    height: 100%;
    justify-content: space-between;
}

.product-info h2 {
    font-size: 1rem;
    margin: 0;
    color: #fff;
    max-height: 70px;
    overflow: hidden;
}

.product-info p {
    font-size: 0.9rem;
    margin: 0;
    color: #ffffffb0;
    width: fit-content;
}

.product-info p .value {
    font-weight: 600;
}

.product-info .info-item-group {
    gap: 1.5rem;
}

.product-identifiers {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 0.5rem;
}

.copy-wrapper {
    cursor: pointer;
}

.copy-wrapper:hover {
    color: #fff;
}

.copy-wrapper > * {
    pointer-events: none;
}

.section-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
    gap: 0.75rem;
    width: 100%;
}

.span-4 {
    grid-column: span 4;
}

.info-item-group {
    display: flex;
    gap: 0.5rem;
    box-sizing: border-box;
    padding: 1px;
    border-radius: 0.25rem;
}

.info-item-group.rows {
    flex-direction: column;
    height: 100%;
    justify-content: space-around;
}

.info-item-group.columns {
    flex-direction: row;
}

.info-item-group .info-item {
    gap: 0.5rem;
}

.info-item-wrapper {
    width: 100%;
    max-width: 300px;
}

.info-item {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
    padding: 0.5rem;
    border-radius: 0.25rem;
    text-wrap-mode: nowrap;
    justify-content: space-evenly;
}

.info-item-input {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0.5rem;
    max-width: 125px;
}

.info-item-input .label {
    font-size: 0.85rem;
}

.info-item.wrap {
    text-wrap-mode: wrap;
}

.width-max {
    width: 100%;
}

.info-item.center {
    align-items: center;
    justify-content: center;
    padding: 1rem;
}

.info-item.fit {
    width: fit-content;
    height: fit-content;
}

.info-item.red {
    background-color: #955;
}

.info-item.yellow .label,
.info-item.yellow .value {
    color: rgb(182, 53, 53) !important;
}

.info-item.green .label,
.info-item.green .value {
    color: #49F6A5 !important;
}

.info-item.yellow {
    background-color: #665A44;
}

.info-item.yellow .label,
.info-item.yellow .value {
    color: #FBDC91 !important;
}

.info-item.green {
    background-color: #2B644E;
}

.info-item.green .label,
.info-item.green .value {
    color: #49F6A5 !important;
}

.info-item.neutral {
    background-color: #353535;
}

.info-item.light {
    background-color: #ffffff10;
}

.info-item input {
    padding: 0.35rem 0.5rem;
    font-size: .8rem;
}

.info-item .label {
    font-weight: 500;
    font-size: 0.8rem;
    color: #ffffff90;
    text-wrap-mode: wrap;
}

.info-item .value {
    font-size: 1rem;
    font-weight: bold;
    color: #eee;
}

.info-item.total {
    background-color: #2a89fdd0;
    border-color: #2a89fdc0;
}

.info-item.total .label,
.info-item.total .value {
    color: #fff;
}

.section-card {
    background-color: #0b0c15;
    border-radius: 0.5rem;
    padding: 1rem;
    width: 100%;
    box-sizing: border-box;
    border: solid 1px #ffffff10;
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}

.section-card h3 {
    font-size: 0.9rem;
    margin: 0;
    color: #fff;
    line-height: 1;
}

.fee-list {
    grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
}

.charts-container {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    justify-content: flex-start;
    gap: 0.5rem;
    flex-wrap: wrap;
}

.buybox-stats {
    flex: 1 1 calc(50% - 0.25rem);
    max-width: calc(50% - 0.25rem);
    order: 1;

    height: 350px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    position: relative;
}

.buybox-stats .chart-area {
    margin: auto;
}

.buybox-stats canvas {
    max-width: 100%;
    width: 100% !important;
    height: auto !important;
}

.trends-section {
    flex: 1 1 calc(50% - 0.25rem);
    max-width: calc(50% - 0.25rem);
    order: 2;
}

.price-chart-container {
    position: relative;
    width: 100%;
    max-height: 200px;
    height: 100%;
    margin: auto;
}

.chart-area {
    max-height: 200px;
    height: 200px;
    max-width: 200px;
    width: 200px;
    display: flex;
    gap: 1rem;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    margin: 0 auto;
}

.chart-area canvas {
    max-height: 200px;
    height: 200px;
    max-width: 200px;
    width: 200px;
}

.chart-placeholder {
    background-color: #151515;
    border-radius: 0.25rem;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #ffffff70;
    font-size: 0.9rem;
    border: solid 1px #ffffff15;
}

.pie-chart {
    width: 120px;
    height: 120px;
    flex-shrink: 0;
}

.seller-percentages {
    gap: 0.25rem;
    flex-grow: 1;
    min-width: 150px;
}

.seller-percentages p {
    margin: 0;
    font-size: 0.9rem;
    color: #eee;
}

.trends-section {
    height: 350px;
}

.trends-section .chart-container {
    display: grid;
    grid-template-columns: auto 1fr auto;
    grid-template-rows: 1fr auto;
    gap: 0.5rem;
    align-items: center;
    justify-items: center;
}

.trends-section .chart-placeholder {
    grid-column: 2 / 3;
    grid-row: 1 / 2;
    width: 100%;
}

.y-axis-label {
    writing-mode: vertical-lr;
    text-orientation: mixed;
    font-size: 0.8rem;
    color: #ffffff90;
    text-align: center;
    padding: 0.25rem;
}

.y-axis-left-label {
    grid-column: 1 / 2;
    grid-row: 1 / 2;
}

.y-axis-right-label {
    grid-column: 3 / 4;
    grid-row: 1 / 2;
}

.x-axis-label {
    grid-column: 1 / 4;
    grid-row: 2 / 3;
    font-size: 0.8rem;
    color: #ffffff90;
    text-align: center;
    width: 100%;
}

.offer-list {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
    font-size: 0.9rem;
    max-height: 300px;
    overflow-y: auto;
}

.text-center {
    text-align: center;
    color: #ffffff90;
    font-weight: bold;
}


.offer-col {
    flex: 1;
    padding: 8px;
    text-align: center;
    box-sizing: border-box;
}

.offer-header {
    font-weight: bold;
    border: none;
    background-color: #ffffff20;
}

.offer-header,
.offer-item {
    display: grid;
    grid-template-columns: .4fr 0.3fr .3fr .3fr .3fr;
    gap: 0.5rem;
    padding: 0.5rem;
    border-radius: 0.25rem;
}

.offer-header {
    font-weight: bold;
    border: none;
    background-color: #ffffff20;
}

.offer-item {
    background-color: #0d0e18;
    border: solid 1px #ffffff10;
    color: #eee;
}

.offer-col {
    text-align: center;
}

.switch-container {
    display: flex;
    flex-direction: column;
    align-items: center;
    font-size: 0.9rem;
    font-weight: 500;
    width: fit-content;
    gap: 0.25rem;
}

.light {
    color: #ffffffb0 !important;
}

.switch {
    font-size: 17px;
    position: relative;
    display: inline-block;
    width: 2rem;
    height: 1rem;
}

.switch input {
    opacity: 0;
    width: 0;
    height: 0;
}

.slider {
    position: absolute;
    cursor: pointer;
    inset: 0;
    background-color: #aaa;
    border-radius: 50px;
    transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
}

.slider:before {
    position: absolute;
    content: "";
    display: flex;
    align-items: center;
    justify-content: center;
    height: 1rem;
    width: 1rem;
    inset: 0;
    background-color: white;
    border-radius: 50px;
    box-shadow: 0 10px 20px rgba(0, 0, 0, 0.4);
    transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
}

.switch input:checked+.slider {
    background: #2a89fdd0;
}

.switch input:focus+.slider {
    box-shadow: 0 0 1px #2a89fdd0;
}

.switch input:checked+.slider:before {
    transform: translateX(1rem);
}

.switch-container-2 {
    width: 60px;
    height: 25px;
    position: relative;
}

.checkbox-2 {
    opacity: 0;
    width: 0;
    height: 0;
    position: absolute;
}

.switch-2 {
    width: 100%;
    height: 100%;
    display: block;
    background-color: #e9e9eb6e;
    border-radius: 16px;
    cursor: pointer;
    transition: all 0.2s ease-out;
}

.slider-2 {
    width: calc((100% / 2) - 4px);
    height: calc(100% - 4px);
    position: absolute;
    left: 2px;
    top: 2px;
    border-radius: 50%;
    background: #FFFFFF;
    box-shadow: 0px 3px 8px rgba(0, 0, 0, 0.15), 0px 3px 1px rgba(0, 0, 0, 0.06);
    transition: all 0.2s ease-out;
    cursor: pointer;
    aspect-ratio: 1/1;
}

.checkbox-2:checked+.switch-2 {
    background-color: #2a89fdd0;
}

.checkbox-2:checked+.switch-2 .slider-2 {
    left: calc(100% - 2px);
    transform: translateX(-100%);
}

.price-chart-container {
    position: relative;
    width: 100%;
    max-height: 200px;
    height: 200px;
}

.chart-area .buy-box-chart.hidden,
.price-chart-container .history-chart.hidden {
    display: none;
}

.chart-area .chart-message,
.price-chart-container .chart-message {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 0.9rem;
    text-align: center;
    padding: 10px;
    box-sizing: border-box;
    z-index: 1;
}

.ext-custom-tooltip {
    position: absolute;
    z-index: 99999999;
    background-color: #252525;
    color: #fff;
    padding: 6px 10px;
    border-radius: 4px;
    font-size: 13px;
    white-space: nowrap;
    opacity: 0;
    pointer-events: none;
    transform: translate(0, 0);
    transition: opacity 0.2s ease, transform 0.2s ease;
    display: none;
    border: solid #ffffff30 1px;
}

.ext-custom-tooltip[data-position="top"] {
    transform: translateY(5px);
}

.ext-custom-tooltip[data-position="bottom"] {
    transform: translateY(-5px);
}

.ext-custom-tooltip[data-position="left"] {
    transform: translateX(5px);
}

.ext-custom-tooltip[data-position="right"] {
    transform: translateX(-5px);
}

.ext-custom-tooltip.visible[data-position="top"] {
    opacity: 1;
    transform: translateY(0);
}

.ext-custom-tooltip.visible[data-position="bottom"] {
    opacity: 1;
    transform: translateY(0);
}

.ext-custom-tooltip.visible[data-position="left"] {
    opacity: 1;
    transform: translateX(0);
}

.ext-custom-tooltip.visible[data-position="right"] {
    opacity: 1;
    transform: translateX(0);
}

.resize-handle {
    position: absolute;
    bottom: 0;
    right: 0;
    width: 10px;
    height: 10px;
    cursor: nwse-resize;
    box-sizing: content-box;
    transform: translateY(-50%);
    color: #ccc;
    margin: 2px;
}

.resize-handle:hover {
    color: #fff;
}

.chart-radios-wrapper {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
}

.radio-inputs {
    position: relative;
    display: flex;
    flex-wrap: wrap;
    border-radius: 0.35rem;
    box-sizing: border-box;
    box-shadow: 0 0 0px 1px rgba(0, 0, 0, 0.06);
    padding: 0.25rem;
    width: 300px;
    font-size: 13px;
    background-color: rgba(255, 255, 255, 0.063);
    gap: 0.25rem;
}

.radio-inputs .radio {
    flex: 1 1 auto;
    text-align: center;
    padding: 0 !important;
    margin: 0 !important;
    cursor: pointer;
    ;
}

.radio>* {
    pointer-events: none;
}

.radio-inputs .radio input {
    display: none;
}

.radio-inputs .radio .name {
    display: flex;
    cursor: pointer;
    align-items: center;
    justify-content: center;
    border: none;
    transition: all .15s ease-in-out;
    color: #ffffffa0;
    font-weight: bold;
    padding: 0 0.1rem;
    border-radius: 0.25rem;
    user-select: none;
}

.radio-inputs .radio:hover .name {
    background-color: rgb(11, 12, 21);
}

.radio.active .name {
    background-color: rgb(11, 12, 21);
    color: #ffffff;
}

.item-info-row {
    display: flex;
    flex-direction: row;
    gap: 0.5rem;
    column-gap: 2rem;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    flex-wrap: wrap;
}

.item-info-row .info-item {
    min-width: 140px !important;
    max-width: 140px !important;
    width: 140px !important;
}

.table-container {
    border-radius: 0.5rem;
    background-color: #0b0c15;
    width: 100%;
    padding: 0.5rem;
    max-height: 300px;
    overflow-y: auto;
    box-sizing: border-box;
    flex: 1 1 100%;
    order: 3;
}

.table-container h2 {
    margin-top: 0;
    font-size: 18px;
    border-bottom: 1px solid #2a2c3d;
}

.table-container table {
    width: 100%;
    border-collapse: collapse;
}

.table-container th,
.table-container td {
    padding: 10px 8px;
    text-align: left;
    font-size: 14px;
}

.table-container th {
    color: #8a8da0;
    font-weight: 500;
}

.table-container td {
    color: #d1d3e0;
}

.table-container tr:not(:last-child) {
    border-bottom: 1px solid #2a2c3d;
}

.col-big {
    display: flex;
    flex-direction: column;
    align-items: start;
}

.col-big svg {
    max-height: 16px;
    width: auto;
}

.label-button {
    border: none;
    outline: none;
    background-color: transparent;
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 0.5rem;
    color: #eee;
    transition: 0.1s;
    cursor: pointer;
    padding: 0.25rem 0.4rem;
    border-radius: 0.25rem;
}

.label-button:hover {
    background-color: rgba(255, 255, 255, 0.063);
}

.button-loader {
    width: 10px;
    aspect-ratio: 1;
    border-radius: 50%;
    border: 2px solid #eeeeee90;
    border-right-color: #2063b4d0;
    animation: l2 1s infinite linear;
}

.buybox-stats .chart-radios-wrapper {
    width: 100%;
}

.buybox-stats .radio-inputs {
    width: 50%;
}

td a,
.offer-col a {
    color: #eee !important;
    transition: 0.1s;
}

td a:hover,
.offer-col a:hover {
    color: #8797e2 !important;
}

.currency {
    width: 100%;
    padding-left: 1.3rem !important;
}

.currency-prefix {
    position: absolute;
    top: 50%;
    transform: translate(75%, -50%);
    color: #aaa;
    font-weight: bold;
    pointer-events: none;
    z-index: 2;
}

.percent-suffix {
    position: absolute;
    top: 50%;
    transform: translate(-100%, -50%);
    color: #aaa;
    font-weight: bold;
    pointer-events: none;
    z-index: 2;
    right: 0;
}

.fee-table tr td {
    text-align: right;
    width: 125px;
    box-sizing: border-box;
}

.fee-table input {
    border: none;
    outline: none;
    padding: 0.4rem;
    border-radius: 0.25rem;
    width: 100%;
    box-sizing: border-box;
    font-weight: bold;
}

.settings-modal select {
    transition: 0.2s !important;
    border: solid #ffffff35 1px !important;
    outline: none !important;
    padding: 0.5rem;
    border-radius: 0.25rem !important;
    font-size: .8rem !important;
    background-color: #272727 !important;
    color: #eee !important;
    -webkit-appearance: none !important;
    -moz-appearance: none !important;
    appearance: none !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23eee'%3E%3Cpath d='M7 10l5 5 5-5z'/%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: right 0.7rem center !important;
    background-size: 1.2em !important;
    cursor: pointer !important;
    width: 180px;
}

.settings-modal select:hover {
    box-shadow: 0 0 2px 1px #2a89fd50 !important;
    border: solid #2a89fd50 1px !important;
}

.settings-modal select:focus {
    border: solid #2a89fdc0 1px !important;
    box-shadow: 0 0 2px 1px #2a89fda0 !important;
}

.setting-item {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
}

.setting-item span {
    text-align: left;
}

.invites-modal .setting-item {
    flex-direction: row;
    border: none;
    box-sizing: border-box;
    display: flex;
    gap: 0.5rem;
    width: 100%;
    align-items: center;
}

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

.label-small {
    font-weight: 300;
}

.value-small {
    font-weight: 600;
}

.setting-group {
    display: flex;
    flex-direction: column;
    gap: 0.8rem;
    border-bottom: solid #ffffff91 1px;
    padding-bottom: 1.5rem;
    width: 100%;
}

.invites-modal .setting-group {
    border: none;
    padding-bottom: 0;
    display: flex;
    flex-direction: row;
}

.invites-modal .button {
    margin-bottom: 1rem;
    padding: 0.5rem 0;
}

.invites-modal .setting-item input[type="text"] {
    flex-grow: 1;
    padding: 0.5rem;
    border-radius: 4px;
    border: solid #333 1px;
    cursor: text;
    color: #eee;
    transition: 0.1s;
}

.invites-modal .setting-item input[type="text"]:hover {
    background-color: #222 !important;
}

.invites-modal .setting-item .read-only-input {
    cursor: default;
    background-color: #191919 !important;
    color: #ccc;
    font-weight: normal !important;
}

.invites-modal .setting-item .transparent-icon {
    background: none;
    border: none;
    cursor: pointer;
    padding: 0.5rem;
    display: flex;
    align-items: center;
    justify-content: center;
    color: currentColor;
    transition: color 0.2s ease;
}

.invites-modal .setting-item .transparent-icon:hover {
    color: #007bff;
}

.invites-modal .setting-item .transparent-icon.delete-button:hover {
    color: #dc3545;
}

.invites-modal .setting-item .transparent-icon.copy-link-button:hover {
    color: #28a745;
}

.divider {
    width: 100%;
    height: 1px;
    background-color: #ffffff30;
}

.divider.thick {
    height: 2px;
}

.info-group {
    display: flex;
}

.history-chart-container {
    width: 100%;
    box-sizing: border-box;
}

@media (max-width: 768px) {
    .settings-modal { 
        padding: 3rem 1rem 1rem 1rem !important;
    }

    .setting-group {
        padding-bottom: 1rem;
    }

    .settings-modal .label {
        font-size: 0.75rem;
    }

    .radio-inputs .radio .name {
        font-size: 0.75rem;
    }

    .input, .currency-prefix {
        font-size: 0.8rem !important;
    }

    .section-card {
        max-width: 100%;
    }

    .product-summary {
        flex-wrap: wrap;
        justify-content: center;
    }

    .product-info h2 {
        max-height: fit-content;
    }
    
    .item-info-row {
        display: flex;
        flex-direction: column;
        gap: 0.5rem;
        column-gap: 2rem;
        justify-content: space-between;
        align-items: center;
        width: 100%;
        flex-wrap: wrap;
    }

    .info-item-group {
        align-items: center;
        flex-direction: row;
        max-width: 100%;
    }

    .info-group .info-item {
        min-width: fit-content !important;
        width: 40% !important;
    }

    .info-item-group {
        flex-wrap: wrap;
        max-height: fit-content !important;
        height: fit-content;
        overflow: unset;
        width: 100%;
    }

    .chart-radios-wrapper {
        display: flex;
        flex-direction: row;
        align-items: center;
        justify-content: space-between;
        flex-wrap: wrap;
        gap: 0.5rem;
    }

    .item-info-row .info-item {
        min-width: none !important;
        max-width: none !important;
        width: 35% !important;
    }

    .info-item-group.rows {
        flex-direction: row;
    }

    .charts-container {
        flex-direction: column;
        flex-wrap: nowrap;
        flex-direction: column;
    }

    .buybox-stats {
        flex: 1 1 auto;
        max-width: 100%;
        order: 1;
    }

    .table-container {
        flex: 1 1 auto;
        max-width: 100%;
        order: 2;
    }

    .trends-section {
        flex: 1 1 auto;
        max-width: 100%;
        order: 3;
    }
}

.history-container {
    max-height: 90vh;
}

.history-container h2 {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 0.5rem;
    font-size: 1.1rem;
}

.history-items {
	overflow-y: auto;
	padding-right: 5px;
	max-height: 70vh;
	width: 100%;
}

.history-items span {
	text-align: center;
	opacity: 0.5;
}

.history-item {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    padding: 0.5rem 1rem;
    border-radius: 0.5rem;
    transition: 0.05s;
}

.history-item > * {
    pointer-events: none;
}

.history-query {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
    text-wrap-mode: nowrap;
    text-overflow: ellipsis;
}

.load-history-btn {
    cursor: pointer;
    transition: 0.2s;
    height: 100%;
    display: flex;
    flex-direction: row;
    align-items: center;
}

.history-item:hover {
    cursor: pointer;
    background-color: #ffffff20;
}

.history-timestamp {
    font-size: 0.8rem;
    opacity: .7;
}

#historyItemsContainer {
    overflow-y: auto;
    padding-right: 5px;
    max-height: 70vh;
    width: 100%;
}

.modal-background {
    width: 100vw;
    height: 100vh;
    backdrop-filter: blur(20px);
    background-color: transparent !important;
    border: none;
    position: absolute;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    z-index: 99999;
}

.settings-group {
    gap: 0.5rem;
    display: flex;
    flex-direction: column;
    font-size: 0.85rem;
    color: #ddd;
}

.settings-group span {
    padding-left: 2px;
    font-size: 1rem;
}

.text-input {
    width: 100%;
    display: flex;
    gap: 0.5rem;
    align-content: center;
    align-items: center;
}

.text-input .transparent-icon {
    width: 30px;
    height: 30px;
}

.bg-lighter {
    background-color: #00000024;
}

.label-value .label {
    font-size: 0.8rem;
    font-weight: bold;
}

.label-value .value {
    font-size: 0.8rem;
    font-weight: bold;
}

.label-value {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0.25rem;
}