.sgpct-panel,
.sgpct-panel * {
    box-sizing: border-box;
}

.sgpct-panel {
    --sgpct-panel-css-ready: 1;
    display: grid;
    grid-template-columns: minmax(220px, 20%) minmax(0, 80%);
    width: 100%;
    gap: 28px;
    align-items: stretch;
}

.sgpct-panel-logo {
    grid-column: 1 / -1;
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: visible;
    text-align: center;
}

.sgpct-panel-logo .sgpct-platform-logo__image {
    display: block;
    max-width: 100%;
    height: auto;
}

.sgpct-sidebar,
.sgpct-content {
    min-width: 0;
}

.sgpct-sidebar {
    border: 1px solid #e8e8e8;
    border-radius: 18px;
    background: #ffffff;
    padding: 14px;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.04);
}

.sgpct-nav {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.sgpct-nav__item {
    position: relative;
    display: flex;
    align-items: center;
    min-height: 52px;
    padding: 14px 16px;
    border-radius: 12px;
    color: #262626;
    text-decoration: none;
    font-size: 15px;
    font-weight: 600;
    line-height: 1.35;
    background: transparent;
    transition: background-color .22s ease, color .22s ease, transform .22s ease, box-shadow .22s ease;
}

.sgpct-nav__item:hover {
    background: #f6f6f6;
    color: #111111;
    transform: translateX(3px);
}

.sgpct-nav__item.is-active {
    background: #1f1f1f;
    color: #ffffff;
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.10);
}

.sgpct-nav__item--logout {
    margin-top: 10px;
    border-top: 1px solid #ececec;
    border-radius: 0 0 12px 12px;
    color: #b3261e;
}

.sgpct-nav__item--logout:hover {
    background: #fff3f2;
    color: #941d17;
}

.sgpct-content {
    min-height: 420px;
    border: 1px solid #e8e8e8;
    border-radius: 18px;
    background: #ffffff;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.04);
}

.sgpct-view__header {
    display: flex;
    align-items: center;
    width: 100%;
    box-sizing: border-box;
    padding-bottom: 0;
    margin-bottom: 0;
    border-bottom: 1px solid #eeeeee;
}

.sgpct-view__title {
    margin: 0;
    padding: 20px;
    font-size: 20px;
    font-weight: 800;
    line-height: 1.2;
    color: #1f1f1f;
}

.sgpct-view__body {
    margin: 20px;
    min-height: 300px;
}

.sgpct-login-required {
    padding: 24px;
    border: 1px solid #e8e8e8;
    border-radius: 14px;
    background: #ffffff;
}

.sgpct-login-required p {
    margin: 0 0 12px;
}

.sgpct-login-required a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 10px 16px;
    border-radius: 10px;
    background: #1f1f1f;
    color: #ffffff;
    text-decoration: none;
    font-weight: 600;
}

.sgpct-animate {
    opacity: 0;
    transform: translateY(12px);
}

.sgpct-panel.is-loaded .sgpct-animate {
    opacity: 1;
    transform: translateY(0);
    transition-property: opacity, transform;
    transition-duration: .45s;
    transition-timing-function: cubic-bezier(.2, .65, .3, 1);
}

.sgpct-panel.is-loaded .sgpct-delay-1 {
    transition-delay: .03s;
}

.sgpct-panel.is-loaded .sgpct-delay-2 {
    transition-delay: .10s;
}

.sgpct-panel.is-loaded .sgpct-delay-3 {
    transition-delay: .17s;
}


/* 1.41.463 — akcje archiwum są zwykłymi napisami/linkami, nie przyciskami. */
.sgpct-panel .sgpct-client-diets__view-action,
.sgpct-panel .sgpct-client-diets__view-action:hover,
.sgpct-panel .sgpct-client-diets__view-action:focus,
.sgpct-panel .sgpct-client-diets__view-action:active,
.sgpct-panel .sgpct-client-diets__view-action:visited {
    display: inline;
    padding: 0 30px 0 0;
    background: none !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    text-decoration: none !important;
}

@media (prefers-reduced-motion: reduce) {
    .sgpct-animate,
    .sgpct-panel.is-loaded .sgpct-animate,
    .sgpct-nav__item {
        opacity: 1;
        transform: none;
        transition: none;
    }
}

@media (max-width: 1050px) and (min-width: 768px) {
    .sgpct-report-measurements {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .sgpct-report-measurement__image {
        height: 100px;
    }
}

@media (max-width: 767px) {
    .sgpct-panel {
        grid-template-columns: 1fr;
        gap: 18px;
    }

    .sgpct-sidebar,
    .sgpct-content {
        width: 100%;
    }

    .sgpct-content {
        min-height: 320px;
        padding: 22px;
    }

    .sgpct-view__body {
        min-height: 220px;
    }
}

/* Wiadomości klienta */
.sgpct-message-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
}

.sgpct-message-view {
    min-height: 0;
}

.sgpct-notice {
    margin-bottom: 16px;
    padding: 11px 14px;
    border-radius: 10px;
    font-size: 14px;
}

.sgpct-notice--success {
    background: #edf8ef;
    color: #236b2d;
    border: 1px solid #cde8d1;
}

.sgpct-notice--error {
    background: #fff1f0;
    color: #9f241d;
    border: 1px solid #f2cfcc;
}

.sgpct-chat {
    overflow: hidden;
    border: 1px solid #e6e6e6;
    border-radius: 16px;
    background: #f5f7f9;
}

.sgpct-chat__messages {
    min-height: 360px;
    max-height: 560px;
    overflow-y: auto;
    padding: 22px;
    scroll-behavior: smooth;
}

.sgpct-chat__empty {
    min-height: 300px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 7px;
    text-align: center;
    color: #858585;
}

.sgpct-chat__empty strong {
    color: #363636;
}

.sgpct-bubble {
    width: fit-content;
    max-width: min(78%, 650px);
    margin-bottom: 15px;
    padding: 12px 14px;
    border-radius: 15px;
    background: #fff;
    box-shadow: 0 2px 10px rgba(0,0,0,.05);
}

.sgpct-bubble--own {
    margin-left: auto;
    background: #1f1f1f;
    color: #fff;
    border-bottom-right-radius: 5px;
}

.sgpct-bubble--other {
    margin-right: auto;
    border-bottom-left-radius: 5px;
}

.sgpct-bubble__meta {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    justify-content: space-between;
    margin-bottom: 6px;
    font-size: 11px;
    color: #8a8a8a;
}

.sgpct-bubble--own .sgpct-bubble__meta {
    color: #c4c4c4;
}

.sgpct-bubble__sender {
    font-weight: 700;
    color: #333;
}

.sgpct-bubble--own .sgpct-bubble__sender {
    color: #fff;
}

.sgpct-bubble__content {
    line-height: 1.55;
    word-break: break-word;
}


.sgpct-bubble__consent {
    margin-top: 12px;
    padding-top: 12px;
    border-top: 1px solid rgba(148, 163, 184, .28);
}

.sgpct-bubble--own .sgpct-bubble__consent {
    border-top-color: rgba(255, 255, 255, .18);
}

.sgpct-bubble__consent-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.sgpct-bubble__consent-button {
    min-width: 88px;
    padding: 9px 16px;
    border: 0;
    border-radius: 999px;
    font: inherit;
    font-size: 13px;
    font-weight: 800;
    line-height: 1.2;
    cursor: pointer;
}

.sgpct-bubble__consent-button--yes {
    background: #18794e;
    color: #fff;
}

.sgpct-bubble__consent-button--no {
    background: #b42318;
    color: #fff;
}

.sgpct-bubble__consent-status {
    display: inline-flex;
    align-items: center;
    min-height: 34px;
    padding: 7px 12px;
    border-radius: 999px;
    background: #f2f4f7;
    color: #475467;
    font-size: 12px;
    font-weight: 800;
}

.sgpct-bubble__consent-status.is-granted {
    background: #ecfdf3;
    color: #067647;
}

.sgpct-bubble__consent-status.is-denied {
    background: #fef3f2;
    color: #b42318;
}

.sgpct-bubble__attachment {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin-top: 10px;
    font-size: 13px;
    font-weight: 600;
    color: #1668a6;
    text-decoration: none;
}

.sgpct-bubble--own .sgpct-bubble__attachment {
    color: #fff;
}

.sgpct-chat__composer {
    padding: 18px;
    border-top: 1px solid #e1e4e8;
    background: #fff;
}

.sgpct-field {
    display: block;
}

.sgpct-field__label {
    display: block;
    margin-bottom: 7px;
    font-size: 13px;
    font-weight: 700;
    color: #333;
}

.sgpct-field textarea {
    width: 100%;
    min-height: 100px;
    padding: 12px 14px;
    border: 1px solid #dcdcdc;
    border-radius: 11px;
    background: #fff;
    color: #222;
    font: inherit;
    resize: vertical;
    outline: none;
    transition: border-color .2s ease, box-shadow .2s ease;
}

.sgpct-field textarea:focus {
    border-color: #8d8d8d;
    box-shadow: 0 0 0 3px rgba(31,31,31,.07);
}

.sgpct-chat__composer-bottom {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    margin-top: 12px;
}

.sgpct-file-field {
    display: inline-flex;
    align-items: center;
    min-width: 0;
    gap: 9px;
    cursor: pointer;
}

.sgpct-file-field input {
    position: absolute;
    width: 1px;
    height: 1px;
    opacity: 0;
    pointer-events: none;
}

.sgpct-file-field__button {
    flex: 0 0 auto;
    padding: 9px 12px;
    border: 1px solid #dadada;
    border-radius: 9px;
    background: #f8f8f8;
    color: #333;
    font-size: 13px;
    font-weight: 600;
}

.sgpct-file-field__name {
    max-width: 210px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    color: #777;
    font-size: 12px;
}

.sgpct-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 42px;
    padding: 10px 17px;
    border: 0;
    border-radius: 10px;
    font: inherit;
    font-weight: 700;
    cursor: pointer;
    transition: transform .2s ease, box-shadow .2s ease, background .2s ease;
}

.sgpct-button--primary {
    margin: 20px;
    background: #1f1f1f;
    color: #fff;
}

.sgpct-button--primary:hover {
    background: #080808;
    transform: translateY(-1px);
    box-shadow: 0 6px 16px rgba(0,0,0,.15);
}

@media (max-width: 767px) {
    .sgpct-chat__messages {
        min-height: 320px;
        padding: 14px;
    }

    .sgpct-bubble {
        width: auto;
        max-width: 100%;
    }

    .sgpct-bubble__content {
        font-size: 12px;
    }

    .sgpct-field textarea {
        font-size: 12px;
    }

    .sgpct-chat__composer-bottom {
        align-items: stretch;
        flex-direction: column;
    }

    .sgpct-file-field {
        width: 100%;
    }

    .sgpct-panel .sgpct-file-field .sgpct-file-field__button {
        min-height: 0;
        padding: 0;
        border: 0;
        border-radius: 0;
        background: transparent;
        box-shadow: none;
        color: var(--sgpct-heading-color, #2D465D);
        font-size: 13px;
        font-weight: 600;
        line-height: 1.4;
        text-decoration: none;
    }

    .sgpct-panel .sgpct-file-field .sgpct-file-field__button:hover,
    .sgpct-panel .sgpct-file-field .sgpct-file-field__button:focus-visible {
        border: 0;
        background: transparent;
        box-shadow: none;
        color: var(--sgpct-heading-color, #2D465D);
        filter: none;
        text-decoration: none;
    }
}

/* Avatar klienta */
.sgpct-avatar-area {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 12px 8px 22px;
    margin-bottom: 10px;
    border-bottom: 1px solid #ececec;
}

.sgpct-avatar-form {
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.sgpct-avatar-picker {
    position: relative;
    width: 150px;
    height: 150px;
    display: block;
    overflow: hidden;
    border-radius: 50%;
    cursor: pointer;
    background: #f0f0f0;
    box-shadow: 0 7px 24px rgba(0, 0, 0, .10);
    outline: 3px solid #fff;
    transition: transform .25s ease, box-shadow .25s ease;
}

.sgpct-avatar-picker:hover,
.sgpct-avatar-picker:focus-within {
    transform: translateY(-2px);
    box-shadow: 0 12px 30px rgba(0, 0, 0, .15);
}

.sgpct-avatar-image,
.sgpct-avatar-image__img {
    width: 100%;
    height: 100%;
    display: block;
}

.sgpct-avatar-image__img {
    object-fit: cover;
    border-radius: 50%;
}

.sgpct-avatar-picker__overlay {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 16px;
    border-radius: 50%;
    background: rgba(0, 0, 0, .62);
    color: #fff;
    text-align: center;
    letter-spacing: .035em;
    font-size: 12px;
    font-weight: 700;
    opacity: 0;
    transition: opacity .24s ease;
}

.sgpct-avatar-picker:hover .sgpct-avatar-picker__overlay,
.sgpct-avatar-picker:focus .sgpct-avatar-picker__overlay {
    opacity: 1;
}

.sgpct-client-identity {
    width: 100%;
    margin-top: 14px;
    text-align: center;
}

.sgpct-client-identity__name {
    color: #1f1f1f;
    font-size: 16px;
    font-weight: 700;
    line-height: 1.35;
    word-break: break-word;
}

.sgpct-client-identity__email {
    margin-top: 3px;
    color: #777777;
    font-size: 13px;
    font-weight: 400;
    line-height: 1.4;
    word-break: break-word;
}

/* 1.41.350: rytm raportowania zamiast adresu e-mail pod nazwą klienta. */
.sgpct-client-identity__reporting {
    margin-top: 4px;
    color: var(--sgpct-heading-color, #2D465D);
    font-size: 12px;
    font-weight: 400;
    line-height: 1.5;
}

.sgpct-client-identity__reporting span {
    display: block;
}

.sgpct-client-identity__reporting strong {
    color: inherit;
    font-weight: 700;
}

.sgpct-avatar-input {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
}

.sgpct-avatar-save {
    margin-top: 16px;
    min-height: 42px;
    padding: 10px 18px;
    border: 0;
    border-radius: 10px;
    background: #1f1f1f;
    color: #fff;
    cursor: pointer;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .04em;
    transition: transform .2s ease, background .2s ease, box-shadow .2s ease, opacity .25s ease;
    animation: sgpctAvatarButtonIn .3s ease both;
}

.sgpct-avatar-save:hover {
    background: #000;
    transform: translateY(-1px);
    box-shadow: 0 7px 18px rgba(0, 0, 0, .16);
}

.sgpct-avatar-save[hidden] {
    display: none !important;
}

.sgpct-avatar-error,
.sgpct-avatar-notice {
    width: 100%;
    margin-top: 11px;
    text-align: center;
    font-size: 12px;
    line-height: 1.45;
}

.sgpct-avatar-error {
    color: #a82720;
}

.sgpct-avatar-error:empty {
    display: none;
}

.sgpct-avatar-notice {
    padding: 8px 10px;
    border-radius: 8px;
}

.sgpct-avatar-notice--success {
    color: #236b2d;
    background: #edf8ef;
}

.sgpct-avatar-notice--error {
    color: #9f241d;
    background: #fff1f0;
}

@keyframes sgpctAvatarButtonIn {
    from { opacity: 0; transform: translateY(5px); }
    to { opacity: 1; transform: translateY(0); }
}

@media (hover: none) {
    .sgpct-avatar-picker__overlay {
        align-items: flex-end;
        padding-bottom: 18px;
        background: linear-gradient(to top, rgba(0,0,0,.62), transparent 62%);
        opacity: 1;
    }
}

/* Moje dane */
.sgpct-profile-form {
    width: 100%;
}

.sgpct-profile-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
}

.sgpct-profile-field {
    display: block;
    min-width: 0;
}

.sgpct-profile-field__label {
    display: block;
    margin-bottom: 7px;
    color: #3a3a3a;
    font-size: 13px;
    font-weight: 700;
    line-height: 1.4;
}

.sgpct-profile-field input {
    width: 100%;
    min-height: 50px;
    padding: 12px 14px;
    border: 1px solid #e2e2e2;
    border-radius: 11px;
    background: #f2f2f2;
    color: #858585;
    font: inherit;
    font-size: 15px;
    outline: none;
    cursor: not-allowed;
    opacity: 1;
    -webkit-text-fill-color: #858585;
    transition: background-color .22s ease, border-color .22s ease, color .22s ease, box-shadow .22s ease, transform .22s ease;
}

.sgpct-profile-form.is-editing .sgpct-profile-field input {
    border-color: #d2d2d2;
    background: #ffffff;
    color: #222222;
    cursor: text;
    -webkit-text-fill-color: #222222;
}

.sgpct-profile-form.is-editing .sgpct-profile-field input:hover {
    border-color: #b9b9b9;
}

.sgpct-profile-form.is-editing .sgpct-profile-field input:focus {
    border-color: #777777;
    box-shadow: 0 0 0 3px rgba(31, 31, 31, .07);
}

.sgpct-profile-actions {
    display: flex;
    justify-content: flex-start;
    margin-top: 24px;
}

.sgpct-profile-edit {
    min-width: 150px;
}

/* Centrum powiadomień klienta i ustawienia Web Push */
.sgpct-notification-center [hidden],
.sgpct-push-settings [hidden] {
    display: none !important;
}

.sgpct-notification-bell {
    position: fixed;
    right: 18px;
    right: max(18px, env(safe-area-inset-right));
    bottom: 18px;
    bottom: max(18px, env(safe-area-inset-bottom));
    z-index: 99990;
    display: grid;
    place-items: center;
    width: 56px;
    height: 56px;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background: #1f1f1f;
    color: #ffffff;
    box-shadow: 0 12px 32px rgba(0, 0, 0, .24);
    cursor: pointer;
    transition: transform .2s ease, box-shadow .2s ease;
}

.sgpct-notification-bell:hover,
.sgpct-notification-bell:focus-visible {
    transform: translateY(-2px);
    box-shadow: 0 16px 38px rgba(0, 0, 0, .3);
}

.sgpct-notification-bell:focus-visible {
    outline: 3px solid rgba(31, 31, 31, .24);
    outline-offset: 3px;
}

.sgpct-notification-bell svg {
    width: 27px;
    height: 27px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.9;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.sgpct-notification-bell__badge {
    position: absolute;
    top: -3px;
    right: -3px;
    display: grid;
    place-items: center;
    min-width: 21px;
    height: 21px;
    padding: 0 5px;
    box-sizing: border-box;
    border: 2px solid #ffffff;
    border-radius: 999px;
    background: #d92d20;
    color: #ffffff;
    font-size: 11px;
    font-weight: 800;
    line-height: 1;
}

body.sgpct-pwa-install-action-visible .sgpct-notification-bell {
    bottom: 84px;
    bottom: calc(max(18px, env(safe-area-inset-bottom)) + 66px);
}

body.sgpct-pwa-install-action-visible .sgpct-notification-modal__dialog {
    bottom: 156px;
    bottom: calc(max(18px, env(safe-area-inset-bottom)) + 138px);
    max-height: calc(100vh - 174px);
    max-height: min(720px, calc(100dvh - 174px));
}

.sgpct-notification-modal {
    position: fixed;
    inset: 0;
    z-index: 99989;
}

.sgpct-notification-modal__backdrop {
    position: absolute;
    inset: 0;
    background: rgba(17, 24, 39, .42);
    backdrop-filter: blur(2px);
}

.sgpct-notification-modal__dialog {
    position: absolute;
    right: 18px;
    right: max(18px, env(safe-area-inset-right));
    bottom: 90px;
    bottom: calc(max(18px, env(safe-area-inset-bottom)) + 72px);
    display: flex;
    flex-direction: column;
    width: min(430px, calc(100vw - 36px));
    max-height: calc(100vh - 112px);
    max-height: min(720px, calc(100dvh - 112px));
    overflow: hidden;
    border: 1px solid #e1e5e9;
    border-radius: 20px;
    background: #ffffff;
    box-shadow: 0 24px 70px rgba(0, 0, 0, .24);
    animation: sgpctNotificationPopupIn .22s ease both;
}

@keyframes sgpctNotificationPopupIn {
    from { opacity: 0; transform: translateY(12px) scale(.98); }
    to { opacity: 1; transform: translateY(0) scale(1); }
}

.sgpct-notification-modal__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    padding: 20px 20px 17px;
    border-bottom: 1px solid #eceff2;
}

.sgpct-notification-modal__header span {
    display: block;
    margin-bottom: 2px;
    color: #737b84;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.sgpct-notification-modal__header h2 {
    margin: 0;
    color: #1f1f1f;
    font-size: 22px;
    line-height: 1.2;
}

.sgpct-notification-modal__close {
    display: grid;
    place-items: center;
    width: 42px;
    height: 42px;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background: #f1f3f5;
    color: #30353a;
    font-size: 28px;
    line-height: 1;
    cursor: pointer;
}

.sgpct-notification-modal__body {
    min-height: 0;
    padding: 18px 20px 20px;
    overflow-y: auto;
    overscroll-behavior: contain;
}

.sgpct-notification-list-heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 12px;
}

.sgpct-notification-list-heading h3 {
    margin: 0;
    color: #262a2e;
    font-size: 16px;
}

.sgpct-notification-list-heading button {
    padding: 0;
    border: 0;
    background: transparent;
    color: #4c5660;
    font-size: 12px;
    font-weight: 700;
    cursor: pointer;
}

.sgpct-notification-list {
    display: grid;
    gap: 9px;
}

.sgpct-notification-list__loading,
.sgpct-notification-list__empty,
.sgpct-notification-list__error {
    padding: 22px 16px;
    border-radius: 12px;
    background: #f6f8f9;
    color: #65707a;
    font-size: 14px;
    line-height: 1.5;
    text-align: center;
}

.sgpct-notification-list__error {
    color: #a12b24;
}

.sgpct-notification-item {
    display: grid;
    grid-template-columns: 38px minmax(0, 1fr);
    gap: 11px;
    padding: 13px;
    border: 1px solid #e5e8eb;
    border-radius: 13px;
    background: #ffffff;
    color: inherit;
    text-decoration: none;
    transition: border-color .18s ease, background .18s ease, transform .18s ease;
}

.sgpct-notification-item:hover,
.sgpct-notification-item:focus-visible {
    border-color: #bfc6cd;
    background: #fafbfc;
    transform: translateY(-1px);
}

.sgpct-notification-item.is-unread {
    border-color: #b9c8db;
    background: #f3f7fb;
}

.sgpct-notification-item__icon {
    display: grid;
    place-items: center;
    width: 38px;
    height: 38px;
    border-radius: 11px;
    background: #e8eef5;
    color: #26384b;
    font-size: 18px;
    font-weight: 800;
}

.sgpct-notification-item__content {
    min-width: 0;
}

.sgpct-notification-item__title {
    display: block;
    margin-bottom: 3px;
    color: #202428;
    font-size: 14px;
    line-height: 1.35;
}

.sgpct-notification-item__body {
    display: -webkit-box;
    margin: 0;
    overflow: hidden;
    color: #59636d;
    font-size: 13px;
    line-height: 1.4;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

.sgpct-notification-item__time {
    display: block;
    margin-top: 6px;
    color: #858d95;
    font-size: 11px;
}

.sgpct-push-settings {
    width: 100%;
    margin-top: 20px;
    padding: 17px;
    box-sizing: border-box;
    border: 1px solid #e2e6ea;
    border-radius: 15px;
    background: #f8fafb;
}

.sgpct-push-settings__content {
    min-width: 0;
}

.sgpct-push-settings h3 {
    margin: 0 0 6px;
    color: #1f1f1f;
    font-size: 16px;
    line-height: 1.3;
}

.sgpct-push-settings__description,
.sgpct-push-settings__status {
    margin: 0;
    line-height: 1.5;
}

.sgpct-push-settings__description {
    color: #5d6670;
    font-size: 13px;
}

.sgpct-push-settings__status {
    margin-top: 10px;
    color: #4f5963;
    font-size: 13px;
    font-weight: 700;
}

.sgpct-push-settings[data-push-state="active"] .sgpct-push-settings__status { color: #237a3b; }
.sgpct-push-settings[data-push-state="denied"] .sgpct-push-settings__status,
.sgpct-push-settings[data-push-state="ios-install-required"] .sgpct-push-settings__status,
.sgpct-push-settings[data-push-state="unlinked"] .sgpct-push-settings__status { color: #8a5a00; }
.sgpct-push-settings[data-push-state="error"] .sgpct-push-settings__status,
.sgpct-push-settings[data-push-state="unsupported"] .sgpct-push-settings__status,
.sgpct-push-settings[data-push-state="unavailable"] .sgpct-push-settings__status { color: #a12b24; }

.sgpct-push-settings__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 9px;
    margin-top: 13px;
}

.sgpct-push-settings__actions .sgpct-button { min-height: 42px; }
.sgpct-push-settings__disable {
    border: 1px solid #d4d9de !important;
    background: #ffffff !important;
    color: #2d3338 !important;
}

.sgpct-push-settings__privacy {
    display: block;
    margin-top: 10px;
    color: #737b84;
    font-size: 11px;
    line-height: 1.45;
}

body.sgpct-notification-modal-open {
    overflow: hidden;
}

[data-sgpct-notification-target]:target,
[data-sgpct-notification-target].is-notification-focus {
    outline: 3px solid rgba(53, 105, 240, .55);
    outline-offset: 4px;
    animation: sgpctNotificationTargetPulse 1.4s ease 2;
}

@keyframes sgpctNotificationTargetPulse {
    0%, 100% { box-shadow: inherit; }
    50% { box-shadow: 0 0 0 9px rgba(53, 105, 240, .13); }
}

@media (max-width: 767px) {
    .sgpct-profile-grid {
        grid-template-columns: 1fr;
        gap: 14px;
    }

    .sgpct-profile-actions { margin-top: 20px; }

    .sgpct-notification-bell {
        right: 14px;
        right: max(14px, env(safe-area-inset-right));
        bottom: 14px;
        bottom: max(14px, env(safe-area-inset-bottom));
        width: 52px;
        height: 52px;
    }

    body.sgpct-pwa-install-action-visible .sgpct-notification-bell {
        bottom: 78px;
        bottom: calc(max(14px, env(safe-area-inset-bottom)) + 64px);
    }


    body.sgpct-pwa-install-action-visible .sgpct-notification-modal__dialog {
        bottom: 142px;
        bottom: calc(max(14px, env(safe-area-inset-bottom)) + 128px);
        max-height: calc(100vh - 156px);
        max-height: calc(100dvh - 156px);
    }

    .sgpct-notification-modal__dialog {
        right: 10px;
        bottom: 78px;
        bottom: calc(max(14px, env(safe-area-inset-bottom)) + 64px);
        width: calc(100vw - 20px);
        max-height: calc(100vh - 92px);
        max-height: calc(100dvh - 92px);
        border-radius: 18px;
    }

    .sgpct-notification-modal__header { padding: 17px 16px 14px; }
    .sgpct-notification-modal__body { padding: 15px 15px 18px; }
    .sgpct-notification-list-heading { align-items: flex-start; }
    .sgpct-notification-list-heading button { max-width: 130px; text-align: right; }
    .sgpct-push-settings { padding: 15px; }
    .sgpct-push-settings__actions { display: grid; }
}

/* Strona logowania klienta */
.sgpct-login-page {
    width: min(100%, 520px);
    margin: 48px auto;
}

.sgpct-login-page--enter {
    animation: sgpctLoginEnter .5s cubic-bezier(.2, .65, .3, 1) both;
}

.sgpct-login-card {
    padding: 36px;
    border: 1px solid #e8e8e8;
    border-radius: 20px;
    background: #ffffff;
    box-shadow: 0 14px 38px rgba(0, 0, 0, .06);
}

.sgpct-login-card__header {
    margin-bottom: 26px;
    text-align: center;
}

.sgpct-login-card__title {
    margin: 0;
    color: var(--sgpct-heading-color, #2D465D);
    font-size: clamp(28px, 5vw, 36px);
    line-height: 1.15;
}

.sgpct-login-card__subtitle {
    margin: 10px 0 0;
    color: #737373;
    font-size: 14px;
    line-height: 1.55;
}

.sgpct-login-form {
    display: flex;
    flex-direction: column;
    gap: 18px;
}

.sgpct-login-field {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.sgpct-login-field__label {
    color: #303030;
    font-size: 13px;
    font-weight: 600;
}

.sgpct-login-field__input {
    width: 100%;
    min-height: 50px;
    box-sizing: border-box;
    padding: 12px 14px;
    border: 1px solid #dcdcdc;
    border-radius: 11px;
    outline: none;
    background: #ffffff;
    color: #1f1f1f;
    font: inherit;
    transition: border-color .2s ease, box-shadow .2s ease;
}

.sgpct-login-field__input:focus {
    border-color: #888888;
    box-shadow: 0 0 0 3px rgba(0, 0, 0, .06);
}

.sgpct-login-remember {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    width: fit-content;
    color: #555555;
    font-size: 13px;
    cursor: pointer;
}

.sgpct-login-remember input {
    width: 16px;
    height: 16px;
    margin: 0;
}


.sgpct-login-legal {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    color: #555555;
    font-size: 12px;
    line-height: 1.55;
    cursor: pointer;
}

.sgpct-login-legal input[type="checkbox"] {
    flex: 0 0 auto;
    width: 17px;
    height: 17px;
    margin: 2px 0 0;
    accent-color: var(--sgpct-accent-color, #2D465D);
    cursor: pointer;
}

.sgpct-login-legal a {
    color: var(--sgpct-heading-color, #2D465D);
    font-weight: 700;
    text-decoration: underline;
    text-underline-offset: 2px;
}

.sgpct-login-legal a:hover {
    opacity: .78;
}

.sgpct-login-submit {
    min-height: 50px;
    padding: 12px 18px;
    border: 0;
    border-radius: 11px;
    background: #1f1f1f;
    color: #ffffff;
    font: inherit;
    font-size: 14px;
    font-weight: 700;
    cursor: pointer;
    transition: transform .2s ease, box-shadow .2s ease, background-color .2s ease;
}

.sgpct-login-page a.sgpct-login-submit {
    display: flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    text-decoration: none;
}

.sgpct-login-submit:hover {
    background: #111111;
    transform: translateY(-1px);
    box-shadow: 0 9px 22px rgba(0, 0, 0, .13);
}


.sgpct-login-help-link {
    display: block;
    width: fit-content;
    margin: 18px auto 0;
    color: var(--sgpct-heading-color, #2D465D);
    font-size: 13px;
    font-weight: 650;
    line-height: 1.4;
    text-align: center;
    text-decoration: none;
}

.sgpct-login-help-link:hover,
.sgpct-login-help-link:focus-visible {
    text-decoration: underline;
}

@keyframes sgpctLoginEnter {
    from {
        opacity: 0;
        transform: translateY(14px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@media (max-width: 600px) {
    .sgpct-login-page {
        margin: 28px auto;
    }

    .sgpct-login-card {
        padding: 24px 18px;
        border-radius: 16px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .sgpct-login-page--enter {
        animation: none;
    }
}

/* Samodzielna strona logowania platformy - bez nagłówka i stopki motywu */
body.sgpct-login-standalone {
    margin: 0;
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    background: #f5f6f8;
}

.sgpct-login-shell {
    box-sizing: border-box;
    flex: 1 0 auto;
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 32px 20px;
}

.sgpct-platform-footer {
    box-sizing: border-box;
    flex: 0 0 auto;
    width: 100%;
    margin: 28px 0 0;
    padding: 12px 20px 22px;
    color: #8a8f98;
    font-size: 12px;
    font-weight: 400;
    line-height: 1.5;
    text-align: center;
}


.sgpct-login-standalone > .sgpct-platform-footer {
    margin-top: 0;
}

.sgpct-platform-footer a {
    color: #737982;
    font-weight: 500;
    text-decoration: none;
    transition: color .2s ease, opacity .2s ease;
}

.sgpct-platform-footer a:hover,
.sgpct-platform-footer a:focus-visible {
    color: #51565d;
    text-decoration: underline;
}

.sgpct-login-standalone .sgpct-login-page {
    width: min(100%, 520px);
    margin: 0;
}

@media (max-width: 600px) {
    .sgpct-platform-footer {
        font-size: 10px !important;
    }

    .sgpct-login-shell {
        padding: 20px 14px;
    }

    .sgpct-login-standalone .sgpct-login-card {
        padding: 26px 20px;
    }
}

/* Logo platformy nad formularzem logowania */
.sgpct-login-logo {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 24px;
    overflow: visible;
    text-align: center;
}

.sgpct-platform-logo__image {
    display: block;
    max-width: calc(100vw - 40px);
    height: auto;
}

@media (max-width: 600px) {
    .sgpct-login-logo {
        margin-bottom: 18px;
    }

    .sgpct-platform-logo__image {
        max-width: calc(100vw - 28px);
    }
}

/* 1.10.0: Plany treningowe klienta */
.sgpct-training-plans-empty {
    margin: 20px;
    min-height: 260px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 30px;
    border: 1px dashed rgba(0, 0, 0, .14);
    border-radius: 16px;
    text-align: center;
}

.sgpct-training-plans-empty .dashicons {
    width: 44px;
    height: 44px;
    font-size: 44px;
    opacity: .35;
}

.sgpct-training-plans-empty > span:last-child {
    opacity: .65;
    font-size: .92em;
}

.sgpct-training-plans-list {
    display: flex;
    flex-direction: column;
    gap: 18px;
}

.sgpct-training-plan-card {
    overflow: hidden;
    border: 1px solid rgba(0, 0, 0, .10);
    border-radius: 16px;
    background: #fff;
}

.sgpct-training-plan-card__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 18px 20px;
    border-bottom: 1px solid rgba(0, 0, 0, .08);
}

.sgpct-training-plan-card__header h3 {
    margin: 0 0 3px;
    font-size: 18px;
}

.sgpct-training-plan-card__header > div > span {
    opacity: .6;
    font-size: 12px;
}

.sgpct-training-plan-card__weeks {
    flex: 0 0 auto;
    padding: 7px 10px;
    border-radius: 999px;
    background: rgba(0, 0, 0, .06);
    font-size: 12px;
    font-weight: 700;
}

.sgpct-training-week {
    display: flex;
    flex-direction: column;
    gap: 10px;
    padding: 16px 20px 20px;
}

.sgpct-training-day {
    min-width: 0;
    padding: 13px 14px;
    border: 1px solid rgba(0, 0, 0, .08);
    border-radius: 12px;
    background: rgba(0, 0, 0, .025);
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
}

.sgpct-training-day__info {
    min-width: 0;
}

.sgpct-training-day__view {
    flex: 0 0 auto;
    font-size: 12px;
    font-weight: 700;
    text-decoration: none;
    color: inherit;
    opacity: .72;
    transition: opacity .2s ease, transform .2s ease;
}

.sgpct-training-day__view:hover,
.sgpct-training-day__view:focus-visible {
    opacity: 1;
    transform: translateX(2px);
}

.sgpct-training-day strong,
.sgpct-training-day span {
    display: block;
}

.sgpct-training-day strong {
    margin-bottom: 3px;
    font-size: 13px;
}

.sgpct-training-day span {
    opacity: .68;
    font-size: 12px;
}

.sgpct-training-day.is-rest {
    opacity: .62;
    background: rgba(0, 0, 0, .055);
}

@media (max-width: 640px) {
    .sgpct-training-plan-card__header {
        align-items: flex-start;
        flex-direction: column;
    }
}


/* 1.13.0: Popup ćwiczeń w planie klienta */
.sgpct-training-exercises-modal {
    position: fixed;
    inset: 0;
    z-index: 999999;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 24px;
    visibility: hidden;
    opacity: 0;
    pointer-events: none;
    transition: opacity .22s ease, visibility .22s ease;
}

.sgpct-training-exercises-modal.is-open {
    visibility: visible;
    opacity: 1;
    pointer-events: auto;
}

.sgpct-training-exercises-modal__backdrop {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, .58);
    backdrop-filter: blur(3px);
}

.sgpct-training-exercises-modal__dialog {
    position: relative;
    z-index: 1;
    width: min(1440px, 100%);
    max-width: 1440px;
    max-height: min(82vh, 820px);
    overflow: auto;
    border-radius: 18px;
    background: #fff;
    box-shadow: 0 24px 70px rgba(0, 0, 0, .24);
    transform: translateY(12px) scale(.985);
    transition: transform .22s ease;
}

.sgpct-training-exercises-modal.is-open .sgpct-training-exercises-modal__dialog {
    transform: translateY(0) scale(1);
}

.sgpct-training-exercises-modal__close {
    position: absolute;
    top: 14px;
    right: 14px;
    z-index: 2;
    width: 34px;
    height: 34px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    background: rgba(0, 0, 0, .055);
    color: inherit;
    text-decoration: none;
    transition: background .2s ease, transform .2s ease;
}

.sgpct-training-exercises-modal__close:hover,
.sgpct-training-exercises-modal__close:focus-visible {
    background: rgba(0, 0, 0, .10);
    transform: rotate(4deg);
}

.sgpct-training-exercises-modal__close .dashicons {
    width: 22px;
    height: 22px;
    font-size: 22px;
}

.sgpct-training-exercises-modal__header {
    padding: 24px 58px 18px 24px;
    border-bottom: 1px solid rgba(0, 0, 0, .08);
}

.sgpct-training-exercises-modal__eyebrow {
    display: block;
    margin-bottom: 4px;
    opacity: .55;
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .08em;
}

.sgpct-training-exercises-modal__header h3 {
    margin: 0;
    font-size: 22px;
}

.sgpct-training-exercises-modal__body {
    padding: 20px 24px 24px;
}

.sgpct-training-exercises-modal__empty {
    min-height: 180px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 6px;
    text-align: center;
    border: 1px dashed rgba(0, 0, 0, .14);
    border-radius: 14px;
}

.sgpct-training-exercises-modal__empty span {
    opacity: .62;
    font-size: 13px;
}

.sgpct-training-exercises-list {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.sgpct-training-exercise-card {
    padding: 16px;
    border: 1px solid rgba(0, 0, 0, .09);
    border-radius: 14px;
    background: rgba(0, 0, 0, .018);
}

.sgpct-training-exercise-card__heading {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 18px;
    margin-bottom: 14px;
}

.sgpct-training-exercise-card__number {
    display: block;
    margin-bottom: 2px;
    opacity: .5;
    font-size: 10px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
}

.sgpct-training-exercise-card__heading h4 {
    margin: 0;
    font-size: 16px;
}

.sgpct-training-exercise-card__video {
    flex: 0 0 auto;
    min-height: 28px;
    display: flex;
    align-items: center;
}

.sgpct-training-exercise-card__video-link {
    width: 34px;
    height: 34px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    background: rgba(0, 0, 0, .07);
    color: inherit;
    text-decoration: none;
    transition: transform .2s ease, background .2s ease;
}

.sgpct-training-exercise-card__video-link:hover,
.sgpct-training-exercise-card__video-link:focus-visible {
    transform: scale(1.06);
    background: rgba(0, 0, 0, .12);
}

.sgpct-training-exercise-card__video-link .dashicons {
    width: 20px;
    height: 20px;
    font-size: 20px;
}

.sgpct-training-exercise-card__no-video {
    opacity: .5;
    font-size: 11px;
    white-space: nowrap;
}

.sgpct-training-exercise-card__stats {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 8px;
}

.sgpct-training-exercise-card__stats > div {
    min-width: 0;
    padding: 9px 10px;
    border-radius: 9px;
    background: rgba(0, 0, 0, .045);
}

.sgpct-training-exercise-card__stats span,
.sgpct-training-exercise-card__description > span {
    display: block;
    margin-bottom: 2px;
    opacity: .52;
    font-size: 10px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .03em;
}

.sgpct-training-exercise-card__stats strong {
    display: block;
    overflow-wrap: anywhere;
    font-size: 13px;
}

.sgpct-training-exercise-card__description {
    margin-top: 12px;
    padding-top: 12px;
    border-top: 1px solid rgba(0, 0, 0, .07);
}

.sgpct-training-exercise-card__description p {
    margin: 5px 0 0;
    line-height: 1.55;
    font-size: 13px;
}

body.sgpct-training-modal-open {
    overflow: hidden;
}

@media (max-width: 720px) {
    .sgpct-training-exercises-modal {
        align-items: flex-end;
        padding: 12px;
    }

    .sgpct-training-exercises-modal__dialog {
        max-height: 88vh;
        border-radius: 16px;
    }

    .sgpct-training-exercise-card__stats {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 480px) {
    .sgpct-training-day {
        align-items: flex-start;
    }

    .sgpct-training-day__view {
        padding-top: 2px;
        text-align: right;
    }

    .sgpct-training-exercises-modal__header,
    .sgpct-training-exercises-modal__body {
        padding-left: 16px;
        padding-right: 16px;
    }

    .sgpct-training-exercise-card__heading {
        gap: 10px;
    }
}

/* 1.25.2: Moje raporty — formularz pomiarów z grafikami i podpowiedziami */
.sgpct-reports-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
}

.sgpct-reports-add {
    flex: 0 0 auto;
}

.sgpct-report-modal {
    position: fixed;
    inset: 0;
    z-index: 100000;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 24px;
    visibility: hidden;
    opacity: 0;
    transition: opacity .22s ease, visibility .22s ease;
}

.sgpct-report-modal.is-open {
    visibility: visible;
    opacity: 1;
}

.sgpct-report-modal__backdrop {
    position: absolute;
    inset: 0;
    background: rgba(15, 23, 42, .58);
    backdrop-filter: blur(2px);
}

.sgpct-report-modal__dialog {
    position: relative;
    z-index: 1;
    width: min(1040px, 100%);
    max-height: calc(100vh - 48px);
    min-height: 260px;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    border: 1px solid rgba(216, 222, 232, .9);
    border-radius: 18px;
    background: #fff;
    box-shadow: 0 28px 90px rgba(15, 23, 42, .28);
    transform: translateY(18px) scale(.98);
    opacity: 0;
    transition: transform .26s cubic-bezier(.2,.7,.3,1), opacity .26s ease;
}

.sgpct-report-modal.is-open .sgpct-report-modal__dialog {
    transform: translateY(0) scale(1);
    opacity: 1;
}

.sgpct-report-modal__close {
    position: absolute;
    top: 16px;
    right: 16px;
    z-index: 2;
    width: 36px;
    height: 36px;
    display: grid;
    place-items: center;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background: rgba(0, 0, 0, .055);
    color: #1f1f1f;
    cursor: pointer;
    transition: background .2s ease, transform .2s ease;
}

.sgpct-report-modal__close:hover,
.sgpct-report-modal__close:focus-visible {
    background: rgba(0, 0, 0, .10);
    transform: rotate(4deg);
}

.sgpct-report-modal__close .dashicons {
    width: 22px;
    height: 22px;
    font-size: 22px;
}

.sgpct-report-modal__header {
    padding: 24px 64px 20px 24px;
    border-bottom: 1px solid #eceff3;
}

.sgpct-report-modal__header h3 {
    margin: 0;
    color: #1f1f1f;
    font-size: 22px;
    line-height: 1.25;
}

.sgpct-report-modal__body {
    min-height: 190px;
    padding: 24px;
    overflow-y: auto;
    overflow-x: hidden;
}

.sgpct-report-measurements {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 16px;
}

.sgpct-report-measurement {
    min-width: 0;
    padding: 14px;
    border: 1px solid #e5e9f0;
    border-radius: 16px;
    background: #fff;
    box-shadow: 0 8px 24px rgba(15, 23, 42, .055);
}

.sgpct-report-measurement__image {
    height: 110px;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: visible;
    border-radius: 0;
    background: transparent;
}

.sgpct-report-measurement__image img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: contain;
}

.sgpct-report-measurement__image--weight {
    flex-direction: column;
    gap: 12px;
    color: #202124;
    background: transparent;
}

.sgpct-report-measurement__image--weight .dashicons {
    width: 37px;
    height: 37px;
    font-size: 37px;
    line-height: 1;
    color: #ff1717;
    filter: drop-shadow(0 0 10px rgba(255, 0, 0, .34));
}

.sgpct-report-measurement__weight-label {
    color: #6b7280;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: .02em;
}

.sgpct-report-measurement__content {
    padding: 14px 2px 2px;
}

.sgpct-report-measurement__heading {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 10px;
}

.sgpct-report-measurement__heading > label {
    margin: 0;
    color: #202124;
    font-size: 15px;
    line-height: 1.35;
    font-weight: 700;
}

.sgpct-report-info {
    position: relative;
    flex: 0 0 auto;
    display: inline-flex;
}

.sgpct-report-info__button {
    width: 20px;
    height: 20px;
    display: inline-grid;
    place-items: center;
    padding: 0;
    border: 1px solid #cbd2dc;
    border-radius: 50%;
    background: #f7f9fc;
    color: #4b5563;
    font-size: 12px;
    line-height: 1;
    font-family: Georgia, serif;
    font-style: italic;
    font-weight: 700;
    cursor: pointer;
}

.sgpct-report-info__button:hover,
.sgpct-report-info__button:focus-visible {
    border-color: #8f9bad;
    background: #eef2f7;
    color: #111827;
    outline: none;
}

.sgpct-report-measurement__field {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    overflow: hidden;
    border: 1px solid #d7dde6;
    border-radius: 10px;
    background: #fff;
    transition: border-color .18s ease, box-shadow .18s ease;
}

.sgpct-report-measurement__field:focus-within {
    border-color: #6f7e92;
    box-shadow: 0 0 0 3px rgba(111, 126, 146, .12);
}

.sgpct-report-measurement__field input {
    width: 100%;
    min-width: 0;
    height: 44px;
    margin: 0;
    padding: 0 12px;
    border: 0;
    outline: 0;
    background: transparent;
    color: #202124;
    font-size: 15px;
    box-shadow: none;
}

.sgpct-report-measurement__field input:focus {
    border: 0;
    outline: 0;
    box-shadow: none;
}

.sgpct-report-measurement__unit {
    min-width: 48px;
    padding: 0 12px;
    color: #6b7280;
    font-size: 13px;
    font-weight: 700;
    text-align: center;
}


/* 1.25.5: instrukcje pomiarów jako osobny popup zamiast dymków */
.sgpct-report-info-modal {
    position: fixed;
    inset: 0;
    z-index: 100010;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 24px;
    visibility: hidden;
    opacity: 0;
    transition: opacity .18s ease, visibility .18s ease;
}

.sgpct-report-info-modal.is-open {
    visibility: visible;
    opacity: 1;
}

.sgpct-report-info-modal__backdrop {
    position: absolute;
    inset: 0;
    background: rgba(15, 23, 42, .42);
    backdrop-filter: blur(1px);
}

.sgpct-report-info-modal__dialog {
    position: relative;
    z-index: 1;
    width: min(500px, 100%);
    max-height: calc(100vh - 48px);
    overflow: hidden;
    border: 1px solid #e1e6ee;
    border-radius: 16px;
    background: #fff;
    box-shadow: 0 24px 72px rgba(15, 23, 42, .30);
    transform: translateY(12px) scale(.98);
    opacity: 0;
    transition: transform .2s cubic-bezier(.2,.7,.3,1), opacity .2s ease;
}

.sgpct-report-info-modal.is-open .sgpct-report-info-modal__dialog {
    transform: translateY(0) scale(1);
    opacity: 1;
}

.sgpct-report-info-modal__close {
    position: absolute;
    top: 14px;
    right: 14px;
    z-index: 2;
    width: 34px;
    height: 34px;
    display: grid;
    place-items: center;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background: #f1f3f6;
    color: #202124;
    cursor: pointer;
}

.sgpct-report-info-modal__close:hover,
.sgpct-report-info-modal__close:focus-visible {
    background: #e5e9ef;
    outline: none;
}

.sgpct-report-info-modal__close .dashicons {
    width: 20px;
    height: 20px;
    font-size: 20px;
}

.sgpct-report-info-modal__header {
    padding: 22px 58px 16px 22px;
    border-bottom: 1px solid #eceff3;
}

.sgpct-report-info-modal__header h3 {
    margin: 0;
    color: #202124;
    font-size: 20px;
    line-height: 1.3;
}

.sgpct-report-info-modal__body {
    max-height: calc(100vh - 150px);
    overflow-y: auto;
    overflow-x: hidden;
    padding: 20px 22px 22px;
}

.sgpct-report-info-modal__body p {
    margin: 0;
    color: #4b5563;
    font-size: 14px;
    line-height: 1.65;
    font-weight: 500;
    white-space: pre-line;
    overflow-wrap: anywhere;
}


body.sgpct-report-modal-open {
    overflow: hidden;
}

@media (max-width: 767px) {
    .sgpct-reports-header {
        align-items: stretch;
        flex-direction: column;
    }


    .sgpct-report-modal {
        align-items: flex-end;
        padding: 12px;
    }

    .sgpct-report-modal__dialog {
        width: 100%;
        max-height: 88vh;
        border-radius: 16px;
    }

    .sgpct-report-modal__body {
        padding: 16px;
    }

    .sgpct-report-info-modal {
        align-items: flex-end;
        padding: 12px;
    }

    .sgpct-report-info-modal__dialog {
        width: 100%;
        max-height: 82vh;
        border-radius: 16px;
    }

    .sgpct-report-info-modal__body {
        max-height: calc(82vh - 76px);
        padding: 18px;
    }

    .sgpct-report-measurements {
        grid-template-columns: 1fr;
        gap: 16px;
    }

    .sgpct-report-measurement__image {
        height: 95px;
    }
}



/* 1.25.6: dwa niezależne zdjęcia raportu — przód i tył */
.sgpct-report-photos {
    margin-top: 26px;
    padding-top: 24px;
    border-top: 1px solid #e6eaf0;
}

.sgpct-report-photos__header {
    margin-bottom: 16px;
}

.sgpct-report-photos__header h4 {
    margin: 0 0 6px;
    color: #202124;
    font-size: 18px;
    line-height: 1.3;
}

.sgpct-report-photos__header p {
    margin: 0;
    color: #6b7280;
    font-size: 13px;
    line-height: 1.5;
}


.sgpct-report-photos__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
}

.sgpct-report-photo-upload {
    min-width: 0;
    padding: 16px;
    border: 1px solid #e2e7ee;
    border-radius: 16px;
    background: #fbfcfe;
}

.sgpct-report-photo-upload__top {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 12px;
}

.sgpct-report-photo-upload__title {
    color: #202124;
    font-size: 15px;
    font-weight: 800;
}

.sgpct-report-photo-upload__meta {
    color: #7a8493;
    font-size: 11px;
    font-weight: 600;
    text-align: right;
}

.sgpct-report-photo-upload__preview {
    position: relative;
    height: 180px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 8px;
    overflow: hidden;
    border: 1px dashed #cdd5df;
    border-radius: 12px;
    background: #fff;
    color: #8791a0;
    font-size: 13px;
    font-weight: 600;
}

.sgpct-report-photo-upload__preview > .dashicons {
    width: 28px;
    height: 28px;
    font-size: 28px;
    color: #9aa4b2;
}

.sgpct-report-photo-upload__preview img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: contain;
    background: #fff;
}

.sgpct-report-photo-upload__actions {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-top: 12px;
}

.sgpct-report-photo-upload__choose {
    min-height: 40px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0 15px;
    border: 1px solid #202124;
    border-radius: 10px;
    background: #202124;
    color: #fff;
    font-size: 13px;
    font-weight: 700;
    cursor: pointer;
    transition: transform .18s ease, opacity .18s ease;
}

.sgpct-report-photo-upload__choose:hover {
    opacity: .9;
    transform: translateY(-1px);
}

.sgpct-report-photo-upload__choose input {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
    clip-path: inset(50%);
    white-space: nowrap;
}

.sgpct-report-photo-upload__remove {
    min-height: 40px;
    padding: 0 13px;
    border: 1px solid #d7dde5;
    border-radius: 10px;
    background: #fff;
    color: #b42318;
    font-size: 13px;
    font-weight: 700;
    cursor: pointer;
}

.sgpct-report-photo-upload__remove:hover,
.sgpct-report-photo-upload__remove:focus-visible {
    border-color: #f1aaa5;
    background: #fff5f4;
    outline: none;
}

.sgpct-report-photo-upload__status {
    min-height: 18px;
    margin: 8px 0 0;
    color: #64748b;
    font-size: 12px;
    line-height: 1.4;
    overflow-wrap: anywhere;
}

.sgpct-report-photo-upload__status.is-error {
    color: #b42318;
}

.sgpct-report-photo-upload__status.is-success {
    color: #257942;
}

@media (max-width: 767px) {
    .sgpct-report-photos__grid {
        grid-template-columns: 1fr;
    }

    .sgpct-report-photo-upload__top {
        align-items: flex-start;
        flex-direction: column;
        gap: 4px;
    }

    .sgpct-report-photo-upload__meta {
        text-align: left;
    }

    .sgpct-report-photo-upload__preview {
        height: 210px;
    }
}

/* 1.26.0: opis, załącznik i zapis raportu klienta */
.sgpct-report-form {
    display: block;
}

.sgpct-report-details {
    display: grid;
    gap: 18px;
    margin-top: 24px;
    padding-top: 24px;
    border-top: 1px solid #e6eaf0;
}

.sgpct-report-details__field {
    display: grid;
    gap: 8px;
}

.sgpct-report-details__field label,
.sgpct-report-attachment__top label {
    color: #202124;
    font-size: 15px;
    line-height: 1.35;
    font-weight: 800;
}

.sgpct-report-details__field textarea {
    width: 100%;
    min-height: 140px;
    resize: vertical;
    margin: 0;
    padding: 13px 14px;
    border: 1px solid #d7dde6;
    border-radius: 12px;
    background: #fff;
    color: #202124;
    font: inherit;
    font-size: 14px;
    line-height: 1.55;
    box-sizing: border-box;
    transition: border-color .18s ease, box-shadow .18s ease;
}

.sgpct-report-details__field textarea:focus {
    border-color: #6f7e92;
    outline: none;
    box-shadow: 0 0 0 3px rgba(111, 126, 146, .12);
}

.sgpct-report-attachment {
    padding: 16px;
    border: 1px solid #e2e7ee;
    border-radius: 14px;
    background: #fbfcfe;
}

.sgpct-report-attachment__top {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 14px;
    margin-bottom: 10px;
}

.sgpct-report-attachment__top span {
    color: #7a8493;
    font-size: 11px;
    line-height: 1.45;
    font-weight: 600;
    text-align: right;
}

.sgpct-report-attachment input[type="file"] {
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
    color: #374151;
    font-size: 13px;
}

.sgpct-report-attachment__status {
    min-height: 18px;
    margin: 8px 0 0;
    color: #64748b;
    font-size: 12px;
    line-height: 1.4;
    overflow-wrap: anywhere;
}

.sgpct-report-attachment__status.is-error {
    color: #b42318;
}

.sgpct-report-attachment__status.is-success {
    color: #18794e;
}

.sgpct-report-submit {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 16px;
    margin-top: 24px;
    padding-top: 20px;
    border-top: 1px solid #e6eaf0;
}

.sgpct-report-submit__status {
    flex: 1 1 auto;
    min-width: 0;
    margin: 0;
    color: #64748b;
    font-size: 13px;
    line-height: 1.45;
    font-weight: 600;
}

.sgpct-report-submit__status.is-error {
    color: #b42318;
}

.sgpct-report-submit__status.is-success {
    color: #257942;
}

.sgpct-report-submit__button {
    flex: 0 0 auto;
    min-width: 150px;
}

.sgpct-report-submit__button:disabled,
.sgpct-report-submit__button.is-loading {
    cursor: wait;
    opacity: .65;
}

@media (max-width: 767px) {
    .sgpct-report-attachment__top {
        align-items: flex-start;
        flex-direction: column;
        gap: 4px;
    }

    .sgpct-report-attachment__top span {
        text-align: left;
    }

    .sgpct-report-submit {
        align-items: stretch;
        flex-direction: column;
    }

    .sgpct-report-submit__button {
        width: 100%;
    }
}

/* 1.27.0: tabela zapisanych raportów i popup podglądu raportu klienta */
.sgpct-reports-table-wrap {
    width: 100%;
    overflow-x: auto;
    border: 1px solid #e2e7ee;
    border-radius: 16px;
    background: #fff;
}

.sgpct-reports-table {
    width: 100%;
    min-width: 620px;
    border-collapse: collapse;
    color: #202124;
}

.sgpct-reports-table th,
.sgpct-reports-table td {
    padding: 16px 18px;
    border-bottom: 1px solid #edf0f4;
    text-align: left;
    vertical-align: middle;
}

.sgpct-reports-table th {
    background: #f8fafc;
    color: #657083;
    font-size: 12px;
    line-height: 1.3;
    font-weight: 800;
    letter-spacing: .055em;
}

.sgpct-reports-table td {
    font-size: 14px;
    line-height: 1.45;
    font-weight: 600;
}

.sgpct-reports-table tbody tr:last-child td {
    border-bottom: 0;
}

.sgpct-reports-table tbody tr {
    transition: background-color .18s ease;
}

.sgpct-reports-table tbody tr:hover {
    background: #fbfcfe;
}

.sgpct-reports-table__lp {
    width: 72px;
    color: #6b7280;
}

.sgpct-reports-table__action {
    padding: 0;
    border: 0;
    background: transparent;
    color: #202124;
    font: inherit;
    font-size: 14px;
    font-weight: 800;
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 4px;
    cursor: pointer;
}

.sgpct-reports-table__action:hover,
.sgpct-reports-table__action:focus-visible {
    color: #5b6472;
    outline: none;
}

.sgpct-reports-table__notifications {
    min-width: 160px;
}

.sgpct-reports-empty {
    padding: 28px;
    border: 1px dashed #d8dee8;
    border-radius: 16px;
    background: #fbfcfe;
    color: #6b7280;
    font-size: 14px;
    line-height: 1.5;
    text-align: center;
}

.sgpct-report-preview-modal {
    position: fixed;
    inset: 0;
    z-index: 100020;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 24px;
    visibility: hidden;
    opacity: 0;
    transition: opacity .22s ease, visibility .22s ease;
}

.sgpct-report-preview-modal.is-open {
    visibility: visible;
    opacity: 1;
}

.sgpct-report-preview-modal__backdrop {
    position: absolute;
    inset: 0;
    background: rgba(15, 23, 42, .58);
    backdrop-filter: blur(2px);
}

.sgpct-report-preview-modal__dialog {
    position: relative;
    z-index: 1;
    width: min(920px, 100%);
    max-height: calc(100vh - 48px);
    display: flex;
    flex-direction: column;
    overflow: hidden;
    border: 1px solid #e1e6ee;
    border-radius: 18px;
    background: #fff;
    box-shadow: 0 28px 90px rgba(15, 23, 42, .30);
    transform: translateY(18px) scale(.98);
    opacity: 0;
    transition: transform .26s cubic-bezier(.2,.7,.3,1), opacity .26s ease;
}

.sgpct-report-preview-modal.is-open .sgpct-report-preview-modal__dialog {
    transform: translateY(0) scale(1);
    opacity: 1;
}

.sgpct-report-preview-modal__close {
    position: absolute;
    top: 17px;
    right: 17px;
    z-index: 3;
    width: 38px;
    height: 38px;
    display: grid;
    place-items: center;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background: #f1f3f6;
    color: #202124;
    cursor: pointer;
    transition: background-color .18s ease, transform .18s ease;
}

.sgpct-report-preview-modal__close:hover,
.sgpct-report-preview-modal__close:focus-visible {
    background: #e5e9ef;
    outline: none;
    transform: rotate(4deg);
}

.sgpct-report-preview-modal__close .dashicons {
    width: 21px;
    height: 21px;
    font-size: 21px;
}

.sgpct-report-preview-modal__header {
    padding: 23px 68px 19px 24px;
    border-bottom: 1px solid #eceff3;
}

.sgpct-report-preview-modal__header h3 {
    margin: 0;
    color: #202124;
    font-size: 22px;
    line-height: 1.25;
}

.sgpct-report-preview-modal__header p {
    margin: 6px 0 0;
    color: #737d8c;
    font-size: 13px;
    line-height: 1.4;
    font-weight: 600;
}

.sgpct-report-preview-modal__body {
    padding: 24px;
    overflow-y: auto;
    overflow-x: hidden;
}

.sgpct-report-preview-section + .sgpct-report-preview-section {
    margin-top: 26px;
    padding-top: 24px;
    border-top: 1px solid #e8ecf1;
}

.sgpct-report-preview-section h4 {
    margin: 0 0 14px;
    color: #202124;
    font-size: 16px;
    line-height: 1.35;
}

.sgpct-report-preview-measurements {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
}

.sgpct-report-preview-measurement {
    min-width: 0;
    padding: 14px;
    border: 1px solid #e3e8ef;
    border-radius: 12px;
    background: #fbfcfe;
}

.sgpct-report-preview-measurement__label {
    display: block;
    margin-bottom: 6px;
    color: #7a8493;
    font-size: 11px;
    line-height: 1.35;
    font-weight: 700;
}

.sgpct-report-preview-measurement__value {
    display: block;
    color: #202124;
    font-size: 16px;
    line-height: 1.35;
    font-weight: 800;
    overflow-wrap: anywhere;
}

.sgpct-report-preview-photos {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
}

.sgpct-report-preview-photo {
    min-width: 0;
}

.sgpct-report-preview-photo > strong {
    display: block;
    margin-bottom: 8px;
    color: #4b5563;
    font-size: 13px;
}

.sgpct-report-preview-photo__frame {
    height: 300px;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    border: 1px solid #e1e6ed;
    border-radius: 14px;
    background: #f8fafc;
    color: #8a94a3;
    font-size: 13px;
    font-weight: 600;
}

.sgpct-report-preview-photo__frame img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    background: #fff;
}

.sgpct-report-preview-notes {
    padding: 15px 16px;
    border: 1px solid #e2e7ee;
    border-radius: 12px;
    background: #fbfcfe;
    color: #374151;
    font-size: 14px;
    line-height: 1.65;
    white-space: pre-wrap;
    overflow-wrap: anywhere;
}

.sgpct-report-preview-attachment {
    min-height: 42px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0 16px;
    border: 1px solid #202124;
    border-radius: 10px;
    background: #202124;
    color: #fff;
    font-size: 13px;
    font-weight: 800;
    text-decoration: none;
}

.sgpct-report-preview-attachment:hover,
.sgpct-report-preview-attachment:focus-visible {
    color: #fff;
    opacity: .88;
    outline: none;
}

body.sgpct-report-preview-open {
    overflow: hidden;
}

@media (max-width: 900px) {
    .sgpct-report-preview-measurements {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 767px) {
    .sgpct-report-preview-modal {
        align-items: flex-end;
        padding: 12px;
    }

    .sgpct-report-preview-modal__dialog {
        width: 100%;
        max-height: 90vh;
        border-radius: 16px;
    }

    .sgpct-report-preview-modal__header {
        padding: 20px 60px 16px 18px;
    }

    .sgpct-report-preview-modal__body {
        padding: 18px;
    }

    .sgpct-report-preview-measurements,
    .sgpct-report-preview-photos {
        grid-template-columns: 1fr;
    }

    .sgpct-report-preview-photo__frame {
        height: 260px;
    }
}


/* 1.27.1: dopracowany wygląd tabeli raportów klienta */
.sgpct-reports-table-wrap {
    width: 100%;
    margin: 0;
    overflow-x: auto;
    overflow-y: hidden;
    border: 1px solid #dfe5ec;
    border-radius: 14px;
    background: #fff;
    box-shadow: 0 4px 18px rgba(15, 23, 42, .045);
}

.sgpct-reports-table {
    width: 100%;
    min-width: 620px;
    margin: 0 !important;
    border: 0 !important;
    border-collapse: separate !important;
    border-spacing: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

.sgpct-reports-table thead,
.sgpct-reports-table tbody,
.sgpct-reports-table tr {
    margin: 0;
    border: 0 !important;
}

.sgpct-reports-table th,
.sgpct-reports-table td {
    height: auto !important;
    margin: 0 !important;
    padding: 15px 18px !important;
    border: 0 !important;
    border-right: 1px solid #e3e8ef !important;
    background-clip: padding-box;
    text-align: left;
    vertical-align: middle;
    box-shadow: none !important;
}

.sgpct-reports-table th:last-child,
.sgpct-reports-table td:last-child {
    border-right: 0 !important;
}

.sgpct-reports-table thead th {
    border-bottom: 1px solid #e3e8ef !important;
    background: #f7f9fc !important;
    color: #667085;
    font-size: 12px;
    line-height: 1.25;
    font-weight: 800;
    letter-spacing: .045em;
}

.sgpct-reports-table tbody td {
    background: #fff !important;
    color: #202124;
    font-size: 14px;
    line-height: 1.4;
    font-weight: 600;
}

.sgpct-reports-table tbody tr:not(:last-child) td {
    border-bottom: 1px solid #edf1f5 !important;
}

.sgpct-reports-table tbody tr:hover td {
    background: #fafbfd !important;
}

.sgpct-reports-table th:first-child,
.sgpct-reports-table__lp {
    width: 70px;
    text-align: center;
}

.sgpct-reports-table__lp {
    color: #667085 !important;
    font-weight: 800 !important;
}

.sgpct-reports-table th:nth-child(2) {
    width: 26%;
}

.sgpct-reports-table th:nth-child(3) {
    width: 30%;
}

.sgpct-reports-table__notifications {
    min-width: 150px;
}

.sgpct-reports-table__action {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-height: 38px;
    padding: 8px 14px !important;
    border: 0 !important;
    border-radius: 9px;
    background: #1f1f1f !important;
    color: #fff !important;
    font: inherit;
    font-size: 13px;
    line-height: 1.2;
    font-weight: 750;
    text-decoration: none;
    cursor: pointer;
    box-shadow: 0 2px 7px rgba(15, 23, 42, .12);
    transition: background-color .18s ease, transform .18s ease, box-shadow .18s ease;
}

.sgpct-reports-table__action::after {
    content: '›';
    display: inline-block;
    margin-top: -1px;
    font-size: 18px;
    line-height: 1;
    font-weight: 500;
}

.sgpct-reports-table__action:hover,
.sgpct-reports-table__action:focus-visible {
    background: #050505 !important;
    color: #fff !important;
    text-decoration: none;
    transform: translateY(-1px);
    box-shadow: 0 5px 13px rgba(15, 23, 42, .18);
    outline: none;
}

.sgpct-reports-table__action:focus-visible {
    box-shadow: 0 0 0 3px rgba(31, 31, 31, .16), 0 5px 13px rgba(15, 23, 42, .18);
}

@media (max-width: 767px) {
    .sgpct-reports-table-wrap {
        border-radius: 12px;
    }

    .sgpct-reports-table th,
    .sgpct-reports-table td {
        padding: 13px 14px !important;
    }

    .sgpct-reports-table__action {
        min-height: 36px;
        padding: 8px 12px !important;
        white-space: nowrap;
    }
}

/* 1.31.0: powiadomienia o odpowiedziach administratora do raportów */
.sgpct-nav__badge {
    flex: 0 0 auto;
    min-width: 24px;
    height: 24px;
    margin-left: auto;
    padding: 0 7px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 2px solid #fff;
    border-radius: 999px;
    background: #d92d20;
    color: #fff;
    font-size: 11px;
    line-height: 1;
    font-weight: 800;
    box-sizing: border-box;
    box-shadow: 0 2px 7px rgba(217, 45, 32, .24);
}

.sgpct-reports-table__notification {
    display: inline;
    margin: 0;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0;
    background: transparent !important;
    font: inherit;
    font-size: 13px;
    line-height: 1.35;
    font-weight: 750;
    text-decoration: none;
    box-shadow: none !important;
}

button.sgpct-reports-table__notification.is-unread {
    color: #d92d20 !important;
    cursor: pointer;
}

button.sgpct-reports-table__notification.is-unread:hover,
button.sgpct-reports-table__notification.is-unread:focus-visible {
    color: #b42318 !important;
    text-decoration: underline;
    outline: none;
}

.sgpct-reports-table__notification.is-read,
button.sgpct-reports-table__notification.is-read:disabled {
    color: #98a2b3 !important;
    cursor: default;
    opacity: 1;
    text-decoration: none;
}

.sgpct-report-notification-modal {
    position: fixed;
    inset: 0;
    z-index: 100020;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 24px;
    visibility: hidden;
    opacity: 0;
    transition: opacity .18s ease, visibility .18s ease;
}

.sgpct-report-notification-modal.is-open {
    visibility: visible;
    opacity: 1;
}

.sgpct-report-notification-modal__backdrop {
    position: absolute;
    inset: 0;
    background: rgba(15, 23, 42, .48);
    backdrop-filter: blur(2px);
}

.sgpct-report-notification-modal__dialog {
    position: relative;
    z-index: 1;
    width: min(620px, 100%);
    max-height: calc(100vh - 48px);
    overflow: hidden;
    border: 1px solid #e1e6ee;
    border-radius: 18px;
    background: #fff;
    box-shadow: 0 26px 80px rgba(15, 23, 42, .30);
    transform: translateY(12px) scale(.985);
    opacity: 0;
    transition: transform .2s cubic-bezier(.2,.7,.3,1), opacity .2s ease;
}

.sgpct-report-notification-modal.is-open .sgpct-report-notification-modal__dialog {
    transform: translateY(0) scale(1);
    opacity: 1;
}

.sgpct-report-notification-modal__close {
    position: absolute;
    top: 14px;
    right: 14px;
    z-index: 2;
    width: 36px;
    height: 36px;
    display: grid;
    place-items: center;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background: #f1f3f6;
    color: #202124;
    cursor: pointer;
}

.sgpct-report-notification-modal__close:hover,
.sgpct-report-notification-modal__close:focus-visible {
    background: #e5e9ef;
    outline: none;
}

.sgpct-report-notification-modal__header {
    padding: 22px 60px 17px 22px;
    border-bottom: 1px solid #eceff3;
}

.sgpct-report-notification-modal__header h3 {
    margin: 0;
    color: #202124;
    font-size: 20px;
    line-height: 1.3;
}

.sgpct-report-notification-modal__header p {
    margin: 5px 0 0;
    color: #7a8493;
    font-size: 13px;
    line-height: 1.4;
}

.sgpct-report-notification-modal__body {
    max-height: calc(100vh - 145px);
    overflow-y: auto;
    overflow-x: hidden;
    padding: 20px 22px 22px;
}

.sgpct-report-notification-list {
    display: grid;
    gap: 14px;
}

.sgpct-report-notification-item {
    padding: 16px;
    border: 1px solid #e5e9f0;
    border-radius: 13px;
    background: #fbfcfe;
}

.sgpct-report-notification-item.is-unread {
    border-color: #f4c7c3;
    background: #fff7f6;
}

.sgpct-report-notification-item__date {
    display: block;
    margin-bottom: 8px;
    color: #7a8493;
    font-size: 12px;
    line-height: 1.35;
    font-weight: 700;
}

.sgpct-report-notification-item__message {
    margin: 0;
    color: #303744;
    font-size: 14px;
    line-height: 1.65;
    white-space: pre-line;
    overflow-wrap: anywhere;
}

.sgpct-report-notification-item__attachment {
    display: inline-flex;
    margin-top: 13px;
    color: #1f1f1f;
    font-size: 13px;
    line-height: 1.35;
    font-weight: 750;
    text-decoration: underline;
}

body.sgpct-report-notification-open {
    overflow: hidden;
}

@media (max-width: 767px) {
    .sgpct-nav__badge {
        min-width: 22px;
        height: 22px;
        padding: 0 6px;
        font-size: 10px;
    }

    .sgpct-report-notification-modal {
        align-items: flex-end;
        padding: 12px;
    }

    .sgpct-report-notification-modal__dialog {
        width: 100%;
        max-height: 84vh;
        border-radius: 16px;
    }

    .sgpct-report-notification-modal__header {
        padding: 20px 56px 15px 18px;
    }

    .sgpct-report-notification-modal__body {
        max-height: calc(84vh - 86px);
        padding: 17px 18px 18px;
    }
}


/* 1.40.0: wspólna baza modala kalendarza na froncie */
.sgpct-admin-modal {
    position: fixed;
    inset: 0;
    z-index: 100000;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 24px;
    visibility: hidden;
    opacity: 0;
    transition: opacity .22s ease, visibility .22s ease;
}

.sgpct-admin-modal.is-open {
    visibility: visible;
    opacity: 1;
}

.sgpct-admin-modal__backdrop {
    position: absolute;
    inset: 0;
    background: rgba(15, 23, 42, .58);
    backdrop-filter: blur(2px);
}

.sgpct-admin-modal__dialog {
    position: relative;
    width: min(620px, 100%);
    padding: 28px;
    border-radius: 14px;
    background: #fff;
    box-shadow: 0 24px 80px rgba(0, 0, 0, .24);
    transform: translateY(18px) scale(.98);
    opacity: 0;
    transition: transform .26s cubic-bezier(.2,.7,.3,1), opacity .26s ease;
}

.sgpct-admin-modal.is-open .sgpct-admin-modal__dialog {
    transform: translateY(0) scale(1);
    opacity: 1;
}

.sgpct-admin-modal__dialog h2 {
    margin: 0 0 22px;
    font-size: 22px;
}

.sgpct-admin-modal__close {
    position: absolute;
    top: 12px;
    right: 14px;
    width: 36px;
    height: 36px;
    border: 0;
    background: transparent;
    font-size: 28px;
    line-height: 1;
    color: #646970;
    cursor: pointer;
}

.sgpct-admin-field {
    display: block;
    margin-bottom: 18px;
}

.sgpct-admin-field > span {
    display: block;
    margin-bottom: 7px;
    font-weight: 600;
}

.sgpct-admin-field select,
.sgpct-admin-field textarea,
.sgpct-admin-field input[type="file"] {
    max-width: none;
}

.sgpct-admin-modal__actions {
    display: flex;
    justify-content: flex-end;
    gap: 10px;
    margin-top: 24px;
}

body.sgpct-modal-open {
    overflow: hidden;
}


/* 1.21.0: Platforma → Kalendarz — widok inspirowany Google Calendar */
.sgpct-calendar-wrap {
    --sgpct-calendar-border: #e1e6ee;
    --sgpct-calendar-border-soft: #edf0f4;
    --sgpct-calendar-text: #202124;
    --sgpct-calendar-muted: #6b7280;
    --sgpct-calendar-blue: #3569f0;
    --sgpct-calendar-blue-soft: #e8f0fe;
    --sgpct-calendar-hover: #f6f8fb;
    --sgpct-calendar-slot-height: 22px;
}

.sgpct-calendar-page-heading {
    margin-bottom: 14px;
}

.sgpct-calendar-admin {
    margin: 20px;
    overflow: hidden;
    border: 1px solid var(--sgpct-calendar-border);
    border-radius: 20px;
    background: #fff;
    box-shadow: 0 10px 32px rgba(15, 23, 42, .055);
    color: var(--sgpct-calendar-text);
}

.sgpct-calendar-toolbar {
    min-height: 72px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    padding: 12px 18px;
    border-bottom: 1px solid var(--sgpct-calendar-border);
    background: #fff;
}

.sgpct-calendar-toolbar__navigation {
    min-width: 0;
    display: flex;
    align-items: center;
    gap: 12px;
}

.sgpct-calendar-today,
.sgpct-calendar-view-button,
.sgpct-calendar-icon-button {
    appearance: none;
    border: 1px solid #cbd2dc;
    background: #fff;
    color: #30343b;
    cursor: pointer;
    font: inherit;
    transition: background-color .18s ease, border-color .18s ease, box-shadow .18s ease, color .18s ease;
}

.sgpct-calendar-today {
    min-height: 40px;
    padding: 0 17px;
    border-radius: 999px;
    font-size: 13px;
    font-weight: 650;
}

.sgpct-calendar-today:hover,
.sgpct-calendar-today:focus-visible,
.sgpct-calendar-icon-button:hover,
.sgpct-calendar-icon-button:focus-visible,
.sgpct-calendar-view-button:hover,
.sgpct-calendar-view-button:focus-visible {
    border-color: #aeb7c5;
    background: #f6f8fb;
    outline: none;
}

.sgpct-calendar-today:focus-visible,
.sgpct-calendar-icon-button:focus-visible,
.sgpct-calendar-view-button:focus-visible,
.sgpct-calendar-month-day:focus-visible {
    box-shadow: 0 0 0 3px rgba(53, 105, 240, .17);
}

.sgpct-calendar-nav-buttons {
    display: inline-flex;
    align-items: center;
    gap: 2px;
}

.sgpct-calendar-icon-button {
    width: 38px;
    height: 38px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-color: transparent;
    border-radius: 50%;
}

.sgpct-calendar-icon-button .dashicons {
    width: 18px;
    height: 18px;
    font-size: 18px;
}

.sgpct-calendar-toolbar__title {
    min-width: 0;
    margin: 0 0 0 4px;
    color: #202124;
    font-size: 21px;
    font-weight: 500;
    line-height: 1.2;
    white-space: nowrap;
}

.sgpct-calendar-view-switch {
    flex: 0 0 auto;
    display: inline-flex;
    border-radius: 12px;
}

.sgpct-calendar-view-button {
    min-width: 82px;
    min-height: 36px;
    padding: 0 14px;
    border: 0;
    border-radius: 9px;
    background: transparent;
    font-size: 13px;
    font-weight: 650;
}

.sgpct-calendar-view-button.is-active {
    background: #fff;
    color: #2558dd;
    box-shadow: 0 1px 4px rgba(15, 23, 42, .09);
}

.sgpct-calendar-month-view {
    background: #fff;
}

.sgpct-calendar-weekdays {
    display: grid;
    grid-template-columns: repeat(7, minmax(0, 1fr));
    border-bottom: 1px solid var(--sgpct-calendar-border);
    background: #fbfcfe;
}

.sgpct-calendar-weekdays span {
    padding: 12px 10px 10px;
    color: #657080;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .035em;
    text-align: center;
    text-transform: uppercase;
}

.sgpct-calendar-month-grid {
    display: grid;
    grid-template-columns: repeat(7, minmax(0, 1fr));
    grid-template-rows: repeat(6, minmax(112px, 1fr));
}

.sgpct-calendar-month-day {
    position: relative;
    min-width: 0;
    min-height: 112px;
    padding: 10px;
    appearance: none;
    border: 0;
    border-radius: 0;
    border-right: 1px solid var(--sgpct-calendar-border-soft);
    border-bottom: 1px solid var(--sgpct-calendar-border-soft);
    background: #fff;
    box-shadow: none;
    color: #2d333a;
    cursor: pointer;
    font: inherit;
    text-align: left;
    transition: background-color .16s ease;
}

.sgpct-calendar-month-day:nth-child(7n) {
    border-right: 0;
}

.sgpct-calendar-month-day:nth-last-child(-n + 7) {
    border-bottom: 0;
}

.sgpct-calendar-month-day:hover {
    background: #f8fafc;
}

.sgpct-calendar-month-day.is-outside {
    background: #fbfcfd;
    color: #a1a8b2;
}

.sgpct-calendar-month-day.is-selected:not(.is-today) {
    background: #f5f8ff;
}

.sgpct-calendar-month-day__number {
    width: 30px;
    height: 30px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    font-size: 13px;
    font-weight: 600;
}

.sgpct-calendar-month-day.is-today .sgpct-calendar-month-day__number {
    background: var(--sgpct-calendar-blue);
    color: #fff;
    box-shadow: 0 4px 10px rgba(53, 105, 240, .22);
}

.sgpct-calendar-day-view {
    background: #fff;
}

.sgpct-calendar-day-heading {
    display: grid;
    grid-template-columns: 76px minmax(0, 1fr);
    min-height: 76px;
    border-bottom: 1px solid var(--sgpct-calendar-border);
    background: #fff;
}

.sgpct-calendar-day-heading__spacer {
    display: flex;
    align-items: flex-end;
    justify-content: center;
    padding: 0 5px 9px;
    border-right: 1px solid var(--sgpct-calendar-border-soft);
    color: #7a828f;
    font-size: 9px;
    line-height: 1;
    white-space: nowrap;
}

.sgpct-calendar-day-heading__date {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    gap: 2px;
    padding: 8px 18px;
}

.sgpct-calendar-day-heading__weekday {
    color: #667085;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.sgpct-calendar-day-heading__number {
    width: 38px;
    height: 38px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background: transparent;
    color: #202124;
    font-size: 24px;
    line-height: 1;
    cursor: default;
}

.sgpct-calendar-day-heading__number.is-today {
    background: var(--sgpct-calendar-blue);
    color: #fff;
}

.sgpct-calendar-day-scroll {
    height: clamp(520px, calc(100vh - 255px), 880px);
    min-height: 0;
    overflow-y: auto;
    overscroll-behavior: contain;
    scrollbar-gutter: stable;
}

.sgpct-calendar-day-grid {
    display: grid;
    grid-template-columns: 76px minmax(0, 1fr);
    align-items: start;
}

.sgpct-calendar-time-gutter,
.sgpct-calendar-timeline {
    position: relative;
    height: 2112px;
}

.sgpct-calendar-time-gutter {
    border-right: 1px solid var(--sgpct-calendar-border-soft);
    background: #fff;
}

.sgpct-calendar-time-label {
    position: absolute;
    left: 0;
    right: 10px;
    z-index: 2;
    transform: translateY(-50%);
    color: #6b7280;
    font-size: 10px;
    line-height: 1;
    text-align: right;
}

.sgpct-calendar-time-label:first-child {
    transform: translateY(3px);
}

.sgpct-calendar-timeline {
    background: #fff;
}

.sgpct-calendar-time-slot {
    box-sizing: border-box;
    border-top: 1px solid #f1f3f6;
    background: transparent;
}

.sgpct-calendar-time-slot.is-hour {
    border-top-color: #dfe4eb;
}

.sgpct-calendar-time-slot:hover {
    background: rgba(53, 105, 240, .025);
}

.sgpct-calendar-now-line {
    position: absolute;
    left: 0;
    right: 0;
    z-index: 4;
    height: 2px;
    pointer-events: none;
    background: #e94235;
}

.sgpct-calendar-now-line span {
    position: absolute;
    top: 50%;
    left: -5px;
    width: 10px;
    height: 10px;
    transform: translateY(-50%);
    border-radius: 50%;
    background: #e94235;
}

@media (max-width: 900px) {
    .sgpct-calendar-toolbar {
        align-items: flex-start;
        flex-direction: column;
    }

    .sgpct-calendar-toolbar__navigation {
        width: 100%;
        flex-wrap: wrap;
    }

    .sgpct-calendar-view-switch {
        align-self: flex-end;
    }

    .sgpct-calendar-month-grid {
        grid-template-rows: repeat(6, minmax(88px, 1fr));
    }

    .sgpct-calendar-month-day {
        min-height: 88px;
        padding: 8px;
    }
}

@media (max-width: 620px) {
    .sgpct-calendar-admin {
        border-radius: 14px;
    }

    .sgpct-calendar-toolbar {
        padding: 12px;
    }

    .sgpct-calendar-today {
        min-height: 36px;
        padding: 0 13px;
    }

    .sgpct-calendar-toolbar__title {
        width: 100%;
        order: 3;
        margin: 2px 0 0;
        font-size: 18px;
    }

    .sgpct-calendar-view-switch {
        width: 100%;
        align-self: stretch;
    }

    .sgpct-calendar-view-button {
        flex: 1;
    }

    .sgpct-calendar-weekdays span {
        padding-inline: 3px;
        font-size: 9px;
    }

    .sgpct-calendar-month-grid {
        grid-template-rows: repeat(6, minmax(62px, 1fr));
    }

    .sgpct-calendar-month-day {
        min-height: 62px;
        padding: 5px;
    }

    .sgpct-calendar-month-day__number {
        width: 26px;
        height: 26px;
        font-size: 11px;
    }

    .sgpct-calendar-day-heading,
    .sgpct-calendar-day-grid {
        grid-template-columns: 58px minmax(0, 1fr);
    }

    .sgpct-calendar-day-heading__date {
        padding-left: 12px;
    }

    .sgpct-calendar-day-scroll {
        height: 520px;
    }

    .sgpct-calendar-time-label {
        right: 7px;
        font-size: 9px;
    }
}


/* 1.22.0: panel boczny Kalendarza, mini kalendarz i własne kalendarze */
.sgpct-calendar-layout {
    display: grid;
    grid-template-columns: 270px minmax(0, 1fr);
    min-height: 690px;
}

.sgpct-calendar-sidebar {
    min-width: 0;
    padding: 20px 18px;
    border-right: 1px solid var(--sgpct-calendar-border);
    background: #f8fafc;
}

.sgpct-calendar-main {
    min-width: 0;
    background: #fff;
}

.sgpct-mini-calendar {
    padding-bottom: 20px;
    border-bottom: 1px solid #e5e9ef;
}

.sgpct-mini-calendar__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    margin-bottom: 13px;
}

.sgpct-mini-calendar__header strong {
    color: #202124;
    font-size: 14px;
    font-weight: 650;
}

.sgpct-mini-calendar__nav {
    display: inline-flex;
    gap: 2px;
}

.sgpct-mini-calendar__nav button {
    width: 30px;
    height: 30px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background: transparent;
    color: #5f6368;
    cursor: pointer;
}

.sgpct-mini-calendar__nav button:hover,
.sgpct-mini-calendar__nav button:focus-visible {
    background: #e9edf3;
    outline: none;
}

.sgpct-mini-calendar__nav .dashicons {
    width: 16px;
    height: 16px;
    font-size: 16px;
}

.sgpct-mini-calendar__weekdays,
.sgpct-mini-calendar__grid {
    display: grid;
    grid-template-columns: repeat(7, minmax(0, 1fr));
    gap: 2px;
}

.sgpct-mini-calendar__weekdays {
    margin-bottom: 4px;
}

.sgpct-mini-calendar__weekdays span {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 26px;
    color: #7a828f;
    font-size: 9px;
    font-weight: 700;
    text-transform: uppercase;
}

.sgpct-mini-calendar__day {
    aspect-ratio: 1 / 1;
    min-width: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background: transparent;
    color: #30343b;
    cursor: pointer;
    font-size: 11px;
    font-weight: 550;
    line-height: 1;
}

.sgpct-mini-calendar__day:hover,
.sgpct-mini-calendar__day:focus-visible {
    background: #e9edf3;
    outline: none;
}

.sgpct-mini-calendar__day.is-outside {
    color: #b2b8c1;
}

.sgpct-mini-calendar__day.is-selected:not(.is-today) {
    background: #dbe6ff;
    color: #1f56dd;
    font-weight: 700;
}

.sgpct-mini-calendar__day.is-today {
    background: var(--sgpct-calendar-blue);
    color: #fff;
    font-weight: 750;
}

.sgpct-user-calendars {
    padding-top: 20px;
}

.sgpct-user-calendars__header {
    margin-bottom: 12px;
}

.sgpct-user-calendars__header h3 {
    margin: 0 0 10px;
    color: #202124;
    font-size: 14px;
    font-weight: 700;
}

.sgpct-user-calendars__add {
    width: 100%;
    min-height: 38px;
    display: inline-flex;
    align-items: center;
    justify-content: flex-start;
    gap: 8px;
    padding: 0 11px;
    border: 1px solid #d5dbe5;
    border-radius: 10px;
    background: #fff;
    color: #315bd7;
    cursor: pointer;
    font-size: 12px;
    font-weight: 650;
    text-align: left;
    transition: background-color .16s ease, border-color .16s ease, box-shadow .16s ease;
}

.sgpct-user-calendars__add:hover,
.sgpct-user-calendars__add:focus-visible {
    border-color: #b8c5e8;
    background: #f4f7ff;
    box-shadow: 0 0 0 3px rgba(53, 105, 240, .10);
    outline: none;
}

.sgpct-user-calendars__add .dashicons {
    width: 17px;
    height: 17px;
    font-size: 17px;
}

.sgpct-user-calendars__list {
    display: flex;
    flex-direction: column;
    gap: 3px;
}

.sgpct-user-calendars__empty {
    margin: 7px 4px 0;
    color: #7b8491;
    font-size: 11px;
    line-height: 1.45;
}

.sgpct-user-calendar-item {
    min-height: 34px;
    display: flex;
    align-items: center;
    gap: 9px;
    padding: 5px 7px;
    border-radius: 8px;
    cursor: default;
    transition: background-color .15s ease, opacity .15s ease;
}

.sgpct-user-calendar-item:hover {
    background: #edf1f6;
}

.sgpct-user-calendar-item.is-deleting {
    opacity: .52;
    pointer-events: none;
}

.sgpct-user-calendar-item__toggle {
    min-width: 0;
    flex: 1 1 auto;
    display: flex;
    align-items: center;
    gap: 9px;
    cursor: pointer;
}

.sgpct-user-calendar-item input {
    position: absolute;
    width: 1px;
    height: 1px;
    opacity: 0;
    pointer-events: none;
}

.sgpct-user-calendar-item__check {
    width: 16px;
    height: 16px;
    flex: 0 0 16px;
    position: relative;
    border: 2px solid var(--sgpct-user-calendar-color, #3569F0);
    border-radius: 4px;
    background: #fff;
}

.sgpct-user-calendar-item input:checked + .sgpct-user-calendar-item__check {
    background: var(--sgpct-user-calendar-color, #3569F0);
}

.sgpct-user-calendar-item input:checked + .sgpct-user-calendar-item__check::after {
    content: '';
    position: absolute;
    left: 3px;
    top: 0px;
    width: 4px;
    height: 8px;
    border: solid #fff;
    border-width: 0 2px 2px 0;
    transform: rotate(45deg);
}

.sgpct-user-calendar-item__name {
    min-width: 0;
    overflow: hidden;
    color: #343a43;
    font-size: 12px;
    line-height: 1.35;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.sgpct-user-calendar-item__delete {
    width: 28px;
    height: 28px;
    flex: 0 0 28px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-left: auto;
    padding: 0;
    border: 0;
    border-radius: 7px;
    background: transparent;
    color: #8a939f;
    cursor: pointer;
    transition: color .15s ease, background-color .15s ease, transform .15s ease;
}

.sgpct-user-calendar-item__delete .dashicons {
    width: 17px;
    height: 17px;
    font-size: 17px;
    line-height: 17px;
}

.sgpct-user-calendar-item__delete:hover,
.sgpct-user-calendar-item__delete:focus-visible {
    background: #fff0f0;
    color: #d63638;
}

.sgpct-user-calendar-item__delete:focus-visible {
    outline: 2px solid #d63638;
    outline-offset: 1px;
}

.sgpct-user-calendar-item__delete:active {
    transform: scale(.94);
}

.sgpct-user-calendar-item__delete:disabled {
    cursor: wait;
}

.sgpct-calendar-create-modal {
    z-index: 100500;
}

.sgpct-calendar-create-modal__dialog {
    width: min(520px, 100%);
    padding: 0;
    overflow: hidden;
    border-radius: 18px;
}

.sgpct-calendar-create-modal__heading {
    display: flex;
    align-items: flex-start;
    gap: 13px;
    padding: 24px 26px 18px;
    border-bottom: 1px solid #edf0f4;
    background: linear-gradient(180deg, #fbfdff 0%, #fff 100%);
}

.sgpct-calendar-create-modal__heading > .dashicons {
    width: 38px;
    height: 38px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 38px;
    border-radius: 11px;
    background: #e8f0fe;
    color: #3569f0;
    font-size: 20px;
}

.sgpct-calendar-create-modal__heading h2 {
    margin: 0 0 4px;
    color: #202124;
    font-size: 20px;
}

.sgpct-calendar-create-modal__heading p {
    margin: 0;
    color: #737b87;
    font-size: 12px;
    line-height: 1.45;
}

.sgpct-calendar-create-form {
    padding: 22px 26px 24px;
}

.sgpct-calendar-create-field {
    display: block;
    margin-bottom: 18px;
}

.sgpct-calendar-create-field > span:first-child {
    display: block;
    margin-bottom: 7px;
    color: #333a44;
    font-size: 12px;
    font-weight: 700;
}

.sgpct-calendar-create-field input[type="text"] {
    width: 100%;
    max-width: none;
    min-height: 43px;
    padding: 0 12px;
    border: 1px solid #cfd6e0;
    border-radius: 9px;
    box-shadow: none;
}

.sgpct-calendar-create-field input[type="text"]:focus {
    border-color: #3569f0;
    box-shadow: 0 0 0 3px rgba(53, 105, 240, .12);
    outline: none;
}

.sgpct-calendar-color-control {
    display: grid;
    grid-template-columns: 48px minmax(0, 1fr);
    gap: 10px;
}

.sgpct-calendar-color-control input[type="color"] {
    width: 48px;
    height: 43px;
    padding: 3px;
    border: 1px solid #cfd6e0;
    border-radius: 9px;
    background: #fff;
    cursor: pointer;
}

.sgpct-calendar-color-presets {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 10px;
}

.sgpct-calendar-color-presets button {
    width: 24px;
    height: 24px;
    padding: 0;
    border: 3px solid #fff;
    border-radius: 50%;
    background: var(--sgpct-preset-color);
    box-shadow: 0 0 0 1px #d4dae3;
    cursor: pointer;
}

.sgpct-calendar-color-presets button:hover,
.sgpct-calendar-color-presets button:focus-visible {
    box-shadow: 0 0 0 2px #9facbe;
    outline: none;
}

.sgpct-calendar-create-form__status {
    min-height: 18px;
    margin: -2px 0 4px;
    font-size: 11px;
    line-height: 1.4;
}

.sgpct-calendar-create-form__status.is-error {
    color: #b42318;
}

.sgpct-calendar-create-form__status.is-success {
    color: #15803d;
}

.sgpct-calendar-create-form__actions {
    margin-top: 14px;
    padding-top: 18px;
    border-top: 1px solid #edf0f4;
}

@media (max-width: 1050px) {
    .sgpct-calendar-layout {
        grid-template-columns: 230px minmax(0, 1fr);
    }

    .sgpct-calendar-sidebar {
        padding-inline: 14px;
    }
}

@media (max-width: 780px) {
    .sgpct-calendar-layout {
        grid-template-columns: 1fr;
    }

    .sgpct-calendar-sidebar {
        display: grid;
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
        gap: 18px;
        border-right: 0;
        border-bottom: 1px solid var(--sgpct-calendar-border);
    }

    .sgpct-mini-calendar {
        padding: 0;
        border: 0;
    }

    .sgpct-user-calendars {
        padding: 0;
    }
}

@media (max-width: 560px) {
    .sgpct-calendar-sidebar {
        grid-template-columns: 1fr;
    }
}


/* 1.22.2: przycisk i pusty popup „Dodaj do kalendarza” */
.sgpct-calendar-add-entry-button {
    min-height: 42px;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    gap: 7px;
    padding: 0 16px !important;
    border-radius: 9px !important;
    font-weight: 600;
}

.sgpct-calendar-add-entry-button .dashicons {
    width: 18px;
    height: 18px;
    font-size: 18px;
    line-height: 18px;
}

.sgpct-calendar-entry-modal {
    z-index: 100600;
}

.sgpct-calendar-entry-modal__dialog {
    width: min(620px, 100%);
    padding: 0;
    overflow: hidden;
    border-radius: 18px;
}

.sgpct-calendar-entry-modal__heading {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 23px 26px 18px;
    border-bottom: 1px solid #edf0f4;
    background: linear-gradient(180deg, #fbfdff 0%, #fff 100%);
}

.sgpct-calendar-entry-modal__heading > .dashicons {
    width: 38px;
    height: 38px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 38px;
    border-radius: 11px;
    background: #e8f0fe;
    color: #3569f0;
    font-size: 20px;
}

.sgpct-calendar-entry-modal__heading h2 {
    margin: 0;
    color: #202124;
    font-size: 20px;
}

.sgpct-calendar-entry-modal__body {
    min-height: 140px;
    padding: 24px 26px 28px;
    background: #fff;
}

@media (max-width: 782px) {
    .sgpct-calendar-page-heading {
        align-items: stretch;
        flex-direction: column;
    }

    .sgpct-calendar-add-entry-button {
        width: 100%;
    }
}


/* 1.23.0: wydarzenia i formularz spotkania w kalendarzu */
.sgpct-calendar-month-day__events {
    display: flex;
    flex-direction: column;
    gap: 3px;
    margin-top: 7px;
    pointer-events: none;
}

.sgpct-calendar-month-event {
    min-width: 0;
    display: block;
    padding: 3px 6px;
    overflow: hidden;
    border-left: 3px solid var(--sgpct-event-color, #3569F0);
    border-radius: 5px;
    background: color-mix(in srgb, var(--sgpct-event-color, #3569F0) 14%, white);
    color: #243047;
    font-size: 10px;
    font-weight: 600;
    line-height: 1.25;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.sgpct-calendar-month-event__more {
    padding-left: 4px;
    color: #6b7280;
    font-size: 10px;
    font-weight: 600;
}

.sgpct-calendar-day-event {
    position: absolute;
    z-index: 3;
    min-width: 0;
    height: 22px;
    display: flex;
    align-items: center;
    gap: 7px;
    padding: 2px 8px;
    overflow: hidden;
    box-sizing: border-box;
    border-left: 4px solid var(--sgpct-event-color, #3569F0);
    border-radius: 5px;
    background: color-mix(in srgb, var(--sgpct-event-color, #3569F0) 16%, white);
    box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--sgpct-event-color, #3569F0) 28%, white);
    color: #1f2937;
    pointer-events: auto;
}

.sgpct-calendar-day-event strong {
    flex: 0 0 auto;
    font-size: 10px;
}

.sgpct-calendar-day-event span {
    min-width: 0;
    overflow: hidden;
    font-size: 10px;
    line-height: 1.2;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.sgpct-calendar-day-event span:nth-of-type(1) {
    flex: 0 0 auto;
    font-weight: 700;
}

.sgpct-calendar-day-event span:nth-of-type(2) {
    color: #5b6472;
}

.sgpct-calendar-entry-modal__heading p {
    margin: 4px 0 0;
    color: #6b7280;
    font-size: 12px;
}

.sgpct-calendar-entry-modal__body {
    min-height: 0;
}

.sgpct-calendar-entry-form {
    display: grid;
    gap: 16px;
}

.sgpct-calendar-entry-form__row {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}

.sgpct-calendar-entry-field {
    display: grid;
    gap: 7px;
}

.sgpct-calendar-entry-field > span {
    color: #3f4650;
    font-size: 12px;
    font-weight: 700;
}

.sgpct-calendar-entry-field select,
.sgpct-calendar-entry-field input[type="date"],
.sgpct-calendar-entry-field textarea {
    width: 100%;
    min-height: 44px;
    margin: 0;
    padding: 9px 12px;
    box-sizing: border-box;
    border: 1px solid #d4dbe5;
    border-radius: 9px;
    background: #fff;
    color: #202124;
    font-size: 13px;
    line-height: 1.4;
    box-shadow: none;
    transition: border-color .16s ease, box-shadow .16s ease;
}

.sgpct-calendar-entry-field textarea {
    min-height: 96px;
    resize: vertical;
}

.sgpct-calendar-entry-field select:focus,
.sgpct-calendar-entry-field input[type="date"]:focus,
.sgpct-calendar-entry-field textarea:focus {
    border-color: #3569f0;
    outline: 0;
    box-shadow: 0 0 0 3px rgba(53, 105, 240, .12);
}

.sgpct-calendar-entry-field select:disabled {
    background: #f4f6f8;
    color: #8a929f;
}

.sgpct-calendar-entry-form__hint {
    margin: -4px 0 0;
    padding: 10px 12px;
    border-radius: 8px;
    background: #fff8e8;
    color: #7a5a13;
    font-size: 12px;
}

.sgpct-calendar-entry-form__status {
    min-height: 18px;
    margin-top: -4px;
    font-size: 12px;
    font-weight: 600;
}

.sgpct-calendar-entry-form__status.is-error { color: #c62828; }
.sgpct-calendar-entry-form__status.is-success { color: #11823b; }

.sgpct-calendar-entry-form__actions {
    margin: 0 -26px -28px;
    padding: 16px 26px;
    border-top: 1px solid #edf0f4;
    background: #fbfcfe;
}

@media (max-width: 620px) {
    .sgpct-calendar-entry-form__row {
        grid-template-columns: 1fr;
    }

    .sgpct-calendar-day-event {
        gap: 4px;
        padding-inline: 5px;
    }

    .sgpct-calendar-day-event span:nth-of-type(2) {
        display: none;
    }
}


/* 1.24.1: jedna data spotkania oraz czas rozpoczęcia i zakończenia */
.sgpct-calendar-entry-time-range {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}

.sgpct-calendar-entry-time-section {
    display: grid;
    gap: 10px;
    padding: 14px;
    border: 1px solid #e4e8ee;
    border-radius: 10px;
    background: #fbfcfe;
}

.sgpct-calendar-entry-time-section h3 {
    margin: 0;
    color: #202124;
    font-size: 13px;
    font-weight: 700;
}

.sgpct-calendar-entry-form__row--time {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-items: end;
}

@media (max-width: 720px) {
    .sgpct-calendar-entry-time-range {
        grid-template-columns: 1fr;
    }
}

/* 1.24.2: usuń ograniczenie szerokości selectów narzucone przez WordPress */
.wp-core-ui select {
    max-width: none;
}



/* 1.24.3: szczegóły i usuwanie spotkania z widoku dnia */
.sgpct-calendar-day-event {
    cursor: pointer;
    transition: box-shadow .16s ease, transform .16s ease, filter .16s ease;
}

.sgpct-calendar-day-event:hover,
.sgpct-calendar-day-event:focus-visible {
    z-index: 5;
    filter: saturate(1.06);
    box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--sgpct-event-color, #3569F0) 38%, white), 0 5px 14px rgba(15, 23, 42, .14);
    outline: none;
}

.sgpct-calendar-day-event:active {
    transform: scale(.995);
}

.sgpct-calendar-event-details-modal {
    z-index: 100700;
}

.sgpct-calendar-event-details-modal__dialog {
    width: min(560px, 100%);
    padding: 0;
    overflow: hidden;
    border-radius: 18px;
}

.sgpct-calendar-event-details-modal__heading {
    display: flex;
    align-items: center;
    gap: 13px;
    padding: 23px 62px 18px 26px;
    border-bottom: 1px solid #edf0f4;
    background: linear-gradient(180deg, #fbfdff 0%, #fff 100%);
}

.sgpct-calendar-event-details-modal__color {
    width: 38px;
    height: 38px;
    flex: 0 0 38px;
    border-radius: 11px;
    background: var(--sgpct-event-details-color, #3569F0);
    box-shadow: inset 0 0 0 1px rgba(0, 0, 0, .08);
}

.sgpct-calendar-event-details-modal__heading h2 {
    margin: 0 0 4px;
    color: #202124;
    font-size: 20px;
}

.sgpct-calendar-event-details-modal__heading p {
    margin: 0;
    color: #6b7280;
    font-size: 12px;
    font-weight: 600;
}

.sgpct-calendar-event-details-modal__body {
    padding: 22px 26px 0;
    background: #fff;
}

.sgpct-calendar-event-details {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
    margin: 0;
}

.sgpct-calendar-event-details > div {
    min-width: 0;
    padding: 13px 14px;
    border: 1px solid #e4e8ee;
    border-radius: 10px;
    background: #fbfcfe;
}

.sgpct-calendar-event-details__description {
    grid-column: 1 / -1;
}

.sgpct-calendar-event-details dt {
    margin: 0 0 5px;
    color: #6b7280;
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .03em;
}

.sgpct-calendar-event-details dd {
    margin: 0;
    color: #202124;
    font-size: 13px;
    font-weight: 600;
    line-height: 1.45;
    overflow-wrap: anywhere;
}

.sgpct-calendar-event-details__description dd {
    font-weight: 400;
    white-space: pre-wrap;
}

.sgpct-calendar-event-details dd a[data-sgpct-calendar-event-details-meet] {
    color: #0b57d0;
    font-weight: 700;
    text-decoration: none;
}

.sgpct-calendar-event-details dd a[data-sgpct-calendar-event-details-meet]:hover,
.sgpct-calendar-event-details dd a[data-sgpct-calendar-event-details-meet]:focus-visible {
    text-decoration: underline;
}

.sgpct-calendar-event-details [data-sgpct-calendar-event-details-google-status].is-error {
    color: #b42318;
}

.sgpct-calendar-entry-form__status.is-warning {
    color: #9a6700;
}

.sgpct-calendar-event-details-modal__status {
    min-height: 18px;
    margin-top: 12px;
    color: #c62828;
    font-size: 12px;
    font-weight: 600;
}

.sgpct-calendar-event-details-modal__actions {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin: 4px -26px 0;
    padding: 16px 26px;
    border-top: 1px solid #edf0f4;
    background: #fbfcfe;
}

.sgpct-calendar-event-delete-button {
    min-height: 36px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    padding: 0 13px;
    border: 1px solid #efb4b4;
    border-radius: 8px;
    background: #fff4f4;
    color: #b42318;
    cursor: pointer;
    font-weight: 600;
}

.sgpct-calendar-event-delete-button:hover,
.sgpct-calendar-event-delete-button:focus-visible {
    border-color: #d63638;
    background: #ffe8e8;
    color: #9f1d15;
    outline: none;
}

.sgpct-calendar-event-delete-button .dashicons {
    width: 17px;
    height: 17px;
    font-size: 17px;
    line-height: 17px;
}

.sgpct-calendar-event-delete-button:disabled {
    opacity: .6;
    cursor: wait;
}

@media (max-width: 560px) {
    .sgpct-calendar-event-details {
        grid-template-columns: 1fr;
    }

    .sgpct-calendar-event-details__description {
        grid-column: auto;
    }

    .sgpct-calendar-event-details-modal__actions {
        align-items: stretch;
        flex-direction: column-reverse;
    }

    .sgpct-calendar-event-details-modal__actions .button,
    .sgpct-calendar-event-delete-button {
        width: 100%;
        justify-content: center;
    }
}


/* 1.40.0: dopasowanie kalendarza do widoku klienta */
.sgpct-client-calendar-view__header {
    margin-bottom: 0;
}

.sgpct-client-calendar-view__subtitle {
    margin: 7px 0 0;
    color: #667085;
    font-size: 14px;
    line-height: 1.6;
}

.sgpct-calendar-admin--client .sgpct-user-calendar-item--client {
    padding-right: 9px;
}

.sgpct-calendar-event-details-modal--client {
    z-index: 100020;
}

.sgpct-calendar-event-details-modal--client .sgpct-client-calendar-close {
    min-height: 40px;
    padding: 0 18px;
    border: 1px solid #cbd2dc;
    border-radius: 9px;
    background: #fff;
    color: #30343b;
    font: inherit;
    font-weight: 650;
    cursor: pointer;
}

.sgpct-calendar-event-details-modal--client .sgpct-client-calendar-close:hover,
.sgpct-calendar-event-details-modal--client .sgpct-client-calendar-close:focus-visible {
    border-color: #aeb7c5;
    background: #f6f8fb;
    outline: none;
}

/* 1.41.1: stabilny przycisk zamykania szczegółów spotkania w panelu klienta */
.sgpct-calendar-event-details-modal--client .sgpct-calendar-event-details-modal__close {
    position: absolute;
    top: 12px;
    right: 14px;
    z-index: 3;
    width: 36px;
    min-width: 36px;
    height: 36px;
    min-height: 36px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    margin: 0;
    padding: 0;
    appearance: none;
    border: 0;
    border-radius: 9px;
    background: transparent;
    box-shadow: none;
    color: #646970;
    font-family: Arial, sans-serif;
    font-size: 28px;
    font-weight: 400;
    line-height: 1;
    text-align: center;
    text-decoration: none;
    transform: none;
    filter: none;
    cursor: pointer;
}

.sgpct-calendar-event-details-modal--client .sgpct-calendar-event-details-modal__close:hover,
.sgpct-calendar-event-details-modal--client .sgpct-calendar-event-details-modal__close:focus-visible {
    border: 0;
    background: #f1f4f8;
    box-shadow: none;
    color: #30343b;
    transform: none;
    filter: none;
    outline: none;
}

.sgpct-calendar-event-details-modal--client .sgpct-calendar-event-details-modal__close:focus-visible {
    box-shadow: 0 0 0 3px rgba(53, 105, 240, .17);
}

@media (max-width: 1180px) {
    .sgpct-client-calendar-view .sgpct-calendar-layout {
        grid-template-columns: 220px minmax(0, 1fr);
    }
}

@media (max-width: 900px) {
    .sgpct-client-calendar-view .sgpct-calendar-layout {
        grid-template-columns: 1fr;
    }

    .sgpct-client-calendar-view .sgpct-calendar-sidebar {
        display: grid;
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
        gap: 18px;
        border-right: 0;
        border-bottom: 1px solid var(--sgpct-calendar-border);
    }
}

@media (max-width: 560px) {
    .sgpct-client-calendar-view .sgpct-calendar-sidebar {
        grid-template-columns: 1fr;
    }
}

/* 1.41.0: mini kalendarz klienta — białe dni, kolor tylko dla dni zawierających spotkania */
.sgpct-client-calendar-view .sgpct-mini-calendar__day,
.sgpct-client-calendar-view .sgpct-mini-calendar__day.is-selected,
.sgpct-client-calendar-view .sgpct-mini-calendar__day.is-today,
.sgpct-client-calendar-view .sgpct-mini-calendar__day.is-selected:not(.is-today) {
    background: #fff;
    color: #30343b;
}

.sgpct-client-calendar-view .sgpct-mini-calendar__day.is-outside {
    color: #b2b8c1;
}

.sgpct-client-calendar-view .sgpct-mini-calendar__day:hover,
.sgpct-client-calendar-view .sgpct-mini-calendar__day:focus-visible {
    background: #fff;
    outline: none;
    box-shadow: inset 0 0 0 1px #cfd6df;
}

.sgpct-client-calendar-view .sgpct-mini-calendar__day.is-selected,
.sgpct-client-calendar-view .sgpct-mini-calendar__day.is-today {
    box-shadow: inset 0 0 0 1px #cfd6df;
    font-weight: 700;
}

.sgpct-client-calendar-view .sgpct-mini-calendar__day.has-events,
.sgpct-client-calendar-view .sgpct-mini-calendar__day.has-events.is-selected,
.sgpct-client-calendar-view .sgpct-mini-calendar__day.has-events.is-today,
.sgpct-client-calendar-view .sgpct-mini-calendar__day.has-events:hover,
.sgpct-client-calendar-view .sgpct-mini-calendar__day.has-events:focus-visible {
    background: var(--sgpct-mini-event-color, #3569F0);
}

/* 1.41.2: uproszczone komórki miesiąca w kalendarzu klienta */
.sgpct-calendar-admin--client .sgpct-calendar-month-day:hover {
    border-right-color: transparent;
    border-bottom-color: transparent;
    background: #f8fafc;
    box-shadow: none;
    color: #2d333a;
    filter: none;
}

.sgpct-calendar-admin--client .sgpct-calendar-month-day.is-outside:hover {
    color: #a1a8b2;
}

.sgpct-calendar-admin--client .sgpct-calendar-month-day:hover .sgpct-calendar-month-day__number {
    color: inherit;
}

.sgpct-calendar-admin--client .sgpct-calendar-month-day.is-today:hover .sgpct-calendar-month-day__number {
    background: var(--sgpct-calendar-blue);
    color: #fff;
}

.sgpct-calendar-admin--client .sgpct-calendar-month-day.has-events,
.sgpct-calendar-admin--client .sgpct-calendar-month-day.has-events:hover {
    z-index: 1;
    border-right-color: transparent;
    border-bottom-color: transparent;
    box-shadow: inset 0 0 0 2px #dc2626;
}

.sgpct-calendar-admin--client .sgpct-calendar-month-day.has-events .sgpct-calendar-month-day__number,
.sgpct-calendar-admin--client .sgpct-calendar-month-day.has-events:hover .sgpct-calendar-month-day__number,
.sgpct-calendar-admin--client .sgpct-calendar-month-day.has-events.is-today .sgpct-calendar-month-day__number,
.sgpct-calendar-admin--client .sgpct-calendar-month-day.has-events.is-today:hover .sgpct-calendar-month-day__number {
    background: transparent;
    box-shadow: none;
    color: #dc2626;
}

/* 1.41.12: mobilny UX Panelu klienta */
.sgpct-mobile-nav-toggle {
    display: none;
}

.sgpct-mobile-nav-panel {
    min-width: 0;
}

@media (max-width: 767px) {
    .sgpct-panel,
    .sgpct-login-page {
        box-sizing: border-box;
        -webkit-text-size-adjust: 100%;
        text-size-adjust: 100%;
    }

    .sgpct-panel {
        max-width: 100%;
        gap: 14px;
        padding-left: env(safe-area-inset-left);
        padding-right: env(safe-area-inset-right);
    }

    .sgpct-panel-logo {
        min-width: 0;
    }

    .sgpct-sidebar {
        position: sticky;
        top: max(8px, env(safe-area-inset-top));
        z-index: 80;
        align-self: start;
        padding: 8px;
        border-radius: 16px;
        box-shadow: 0 8px 24px rgba(15, 23, 42, .10);
    }

    body.admin-bar .sgpct-sidebar {
        top: calc(46px + max(8px, env(safe-area-inset-top)));
    }

    .sgpct-panel.has-mobile-nav .sgpct-mobile-nav-toggle {
        width: 100%;
        min-height: 50px;
        display: grid;
        grid-template-columns: 22px minmax(0, 1fr) 12px;
        align-items: center;
        gap: 11px;
        margin: 0;
        padding: 9px 11px;
        appearance: none;
        border: 0;
        border-radius: 11px;
        background: #fff;
        box-shadow: none;
        color: #202124;
        font: inherit;
        line-height: 1.25;
        text-align: left;
        cursor: pointer;
    }

    .sgpct-mobile-nav-toggle:hover,
    .sgpct-mobile-nav-toggle:focus-visible {
        background: #f6f8fb;
        color: #202124;
        outline: none;
        box-shadow: 0 0 0 3px rgba(53, 105, 240, .14);
        transform: none;
    }

    .sgpct-mobile-nav-toggle__icon {
        position: relative;
        width: 20px;
        height: 14px;
        display: block;
        border-top: 2px solid currentColor;
        border-bottom: 2px solid currentColor;
    }

    .sgpct-mobile-nav-toggle__icon span {
        position: absolute;
        top: 50%;
        left: 0;
        width: 100%;
        height: 2px;
        display: block;
        background: currentColor;
        transform: translateY(-50%);
    }

    .sgpct-mobile-nav-toggle__text {
        min-width: 0;
        overflow: hidden;
        color: #667085;
        font-size: 13px;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    .sgpct-mobile-nav-toggle__text strong {
        color: #202124;
        font-size: 14px;
        font-weight: 750;
    }

    .sgpct-mobile-nav-toggle__chevron {
        width: 9px;
        height: 9px;
        justify-self: end;
        border-right: 2px solid currentColor;
        border-bottom: 2px solid currentColor;
        transform: rotate(45deg) translate(-2px, -2px);
        transition: transform .18s ease;
    }

    .sgpct-panel.is-mobile-nav-open .sgpct-mobile-nav-toggle__chevron {
        transform: rotate(225deg) translate(-2px, -2px);
    }

    .sgpct-panel.has-mobile-nav:not(.is-mobile-nav-open) .sgpct-mobile-nav-panel {
        display: none;
    }

    .sgpct-mobile-nav-panel {
        max-height: calc(100dvh - 78px - env(safe-area-inset-top));
        overflow-x: hidden;
        overflow-y: auto;
        overscroll-behavior: contain;
        padding-top: 8px;
        scrollbar-gutter: stable;
        -webkit-overflow-scrolling: touch;
    }

    body.admin-bar .sgpct-mobile-nav-panel {
        max-height: calc(100dvh - 124px - env(safe-area-inset-top));
    }

    .sgpct-avatar-area {
        align-items: stretch;
        margin: 0 0 8px;
        padding: 8px 7px 14px;
    }

    .sgpct-avatar-form {
        display: grid;
        grid-template-columns: 64px minmax(0, 1fr);
        align-items: center;
        gap: 4px 12px;
    }

    .sgpct-avatar-picker {
        width: 64px;
        height: 64px;
        grid-row: 1;
        grid-column: 1;
        outline-width: 2px;
    }

    .sgpct-avatar-picker__overlay {
        padding: 5px;
        font-size: 8px;
        line-height: 1.15;
    }

    .sgpct-client-identity {
        min-width: 0;
        grid-row: 1;
        grid-column: 2;
        margin: 0;
        text-align: left;
    }

    .sgpct-client-identity__name {
        font-size: 15px;
    }

    .sgpct-client-identity__email {
        overflow: hidden;
        font-size: 12px;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    .sgpct-client-identity__reporting {
        font-size: 10px;
        line-height: 1.45;
    }

    .sgpct-avatar-error,
    .sgpct-avatar-save {
        grid-column: 1 / -1;
    }

    .sgpct-avatar-save {
        width: 100%;
        min-height: 44px;
        margin-top: 8px;
    }

    .sgpct-avatar-notice {
        margin-top: 10px;
    }

    .sgpct-nav {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 7px;
    }

    .sgpct-nav__item {
        min-width: 0;
        min-height: 48px;
        padding: 10px 11px;
        font-size: 13px;
        transform: none !important;
    }

    .sgpct-nav__label {
        min-width: 0;
        overflow-wrap: anywhere;
    }

    .sgpct-nav__item--logout {
        grid-column: 1 / -1;
        justify-content: center;
        margin-top: 3px;
    }

    .sgpct-content {
        min-width: 0;
        min-height: 280px;
        padding: 18px;
        border-radius: 14px;
        overflow-wrap: anywhere;
    }

    .sgpct-view__header {
        margin-bottom: 0;
        padding-bottom: 0;
    }

    .sgpct-view__title {
        font-size: 20px;
        font-weight: 800;
    }

    .sgpct-view__body {
        min-height: 0;
    }

    .sgpct-panel input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),
    .sgpct-panel select,
    .sgpct-login-page input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),
    .sgpct-login-page select {
        font-size: 16px !important;
    }

    .sgpct-panel textarea,
    .sgpct-login-page textarea {
        font-size: 16px;
    }

    .sgpct-panel .sgpct-field textarea {
        font-size: 12px;
    }

    .sgpct-panel input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]):not([type="file"]),
    .sgpct-panel select,
    .sgpct-login-page input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]):not([type="file"]),
    .sgpct-login-page select {
        min-height: 44px;
    }

    .sgpct-button,
    .sgpct-profile-edit,
    .sgpct-reports-table__action,
    .sgpct-calendar-today,
    .sgpct-calendar-view-button,
    .sgpct-calendar-icon-button,
    .sgpct-calendar-add-entry-button,
    .sgpct-client-calendar-close {
        min-height: 44px;
    }

    .sgpct-reports-table-wrap {
        overflow: visible;
        border: 0;
        border-radius: 0;
        background: transparent;
        box-shadow: none;
    }

    .sgpct-reports-table {
        min-width: 0;
        display: block;
    }

    .sgpct-reports-table thead {
        position: absolute;
        width: 1px;
        height: 1px;
        overflow: hidden;
        clip: rect(0 0 0 0);
        clip-path: inset(50%);
        white-space: nowrap;
    }

    .sgpct-reports-table tbody {
        display: grid;
        gap: 12px;
    }

    .sgpct-reports-table tbody tr {
        display: block;
        overflow: hidden;
        border: 1px solid #dfe5ec !important;
        border-radius: 13px;
        background: #fff;
        box-shadow: 0 4px 16px rgba(15, 23, 42, .055);
    }

    .sgpct-reports-table tbody td {
        width: 100% !important;
        min-width: 0 !important;
        display: grid !important;
        grid-template-columns: minmax(82px, 32%) minmax(0, 1fr);
        align-items: center;
        gap: 12px;
        padding: 12px 13px !important;
        border: 0 !important;
        border-bottom: 1px solid #edf1f5 !important;
        background: #fff !important;
        text-align: left;
    }

    .sgpct-reports-table tbody tr:last-child td,
    .sgpct-reports-table tbody tr:not(:last-child) td {
        border-bottom: 1px solid #edf1f5 !important;
    }

    .sgpct-reports-table tbody tr td:last-child {
        border-bottom: 0 !important;
    }

    .sgpct-reports-table tbody tr:hover td {
        background: #fff !important;
    }

    .sgpct-reports-table tbody td::before {
        content: attr(data-label);
        color: #667085;
        font-size: 10px;
        line-height: 1.25;
        font-weight: 800;
        letter-spacing: .045em;
        text-transform: uppercase;
    }

    .sgpct-reports-table__lp {
        color: #202124 !important;
        text-align: left;
    }

    .sgpct-reports-table__action,
    .sgpct-reports-table__notification {
        width: 100%;
        min-height: 44px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        text-align: center;
    }

    .sgpct-reports-table__notification {
        padding: 8px 6px !important;
    }

    .sgpct-training-exercises-modal,
    .sgpct-report-modal,
    .sgpct-report-info-modal,
    .sgpct-report-preview-modal,
    .sgpct-report-notification-modal,
    .sgpct-admin-modal {
        padding-top: max(8px, env(safe-area-inset-top));
        padding-right: max(8px, env(safe-area-inset-right));
        padding-bottom: max(8px, env(safe-area-inset-bottom));
        padding-left: max(8px, env(safe-area-inset-left));
    }

    .sgpct-training-exercises-modal__dialog,
    .sgpct-report-modal__dialog,
    .sgpct-report-info-modal__dialog,
    .sgpct-report-preview-modal__dialog,
    .sgpct-report-notification-modal__dialog,
    .sgpct-admin-modal__dialog {
        max-height: calc(100dvh - env(safe-area-inset-top) - env(safe-area-inset-bottom) - 16px);
    }

    .sgpct-training-exercises-modal__dialog,
    .sgpct-report-modal__body,
    .sgpct-report-info-modal__body,
    .sgpct-report-preview-modal__body,
    .sgpct-report-notification-modal__body,
    .sgpct-admin-modal__dialog,
    .sgpct-chat__messages,
    .sgpct-calendar-day-scroll {
        overscroll-behavior: contain;
        -webkit-overflow-scrolling: touch;
    }

    .sgpct-admin-modal__dialog {
        overflow-y: auto;
    }

    .sgpct-report-info-modal__body,
    .sgpct-report-notification-modal__body {
        max-height: calc(100dvh - env(safe-area-inset-top) - env(safe-area-inset-bottom) - 104px);
    }

    .sgpct-training-exercises-modal__close,
    .sgpct-report-modal__close,
    .sgpct-report-info-modal__close,
    .sgpct-report-preview-modal__close,
    .sgpct-report-notification-modal__close,
    .sgpct-admin-modal__close,
    .sgpct-calendar-event-details-modal--client .sgpct-calendar-event-details-modal__close {
        width: 44px;
        min-width: 44px;
        height: 44px;
        min-height: 44px;
    }

    .sgpct-chat__messages {
        min-height: min(320px, 45dvh);
        max-height: 52dvh;
    }

    .sgpct-calendar-day-scroll {
        height: min(520px, calc(100dvh - 260px));
        min-height: 300px;
    }

    .sgpct-mini-calendar__nav button {
        width: 40px;
        height: 40px;
    }

    .sgpct-report-preview-photo__frame {
        height: min(260px, 38dvh);
    }

    .sgpct-login-page {
        padding-right: env(safe-area-inset-right);
        padding-left: env(safe-area-inset-left);
    }
}

@media (max-width: 420px) {
    .sgpct-content {
        padding: 14px;
    }

    .sgpct-mobile-nav-toggle__text {
        font-size: 12px;
    }

    .sgpct-mobile-nav-toggle__text strong {
        font-size: 13px;
    }

    .sgpct-nav__item {
        padding-inline: 9px;
        font-size: 12px;
    }

    .sgpct-reports-table tbody td {
        grid-template-columns: 76px minmax(0, 1fr);
        gap: 9px;
        padding-inline: 11px !important;
    }

    .sgpct-report-modal__body,
    .sgpct-report-info-modal__body,
    .sgpct-report-preview-modal__body,
    .sgpct-report-notification-modal__body,
    .sgpct-training-exercises-modal__body {
        padding-right: 14px;
        padding-left: 14px;
    }
}


/* 1.41.24: poprawiona mobilna nawigacja Panelu klienta */
.sgpct-client-nav {
    grid-column: 1 / -1;
    width: 100%;
}

.sgpct-panel-logo .sgpct-platform-logo__image {
    max-width: 20%;
}

.sgpct-panel-greeting,
.sgpct-panel-menu,
.sgpct-nav--mobile {
    display: none;
}

@media (max-width: 767px) {
    .sgpct-panel {
        gap: 14px;
    }

    .sgpct-client-nav {
        position: sticky;
        top: 0;
        z-index: 120;
        display: grid;
        grid-template-columns: 20% minmax(0, 1fr) 46px;
        align-items: center;
        width: 100%;
        min-height: 62px;
        padding: calc(8px + env(safe-area-inset-top)) 12px 8px;
        border-bottom: 1px solid #ddd;
        background: #fff;
    }

    body.admin-bar .sgpct-client-nav {
        top: 46px;
    }

    .sgpct-client-nav .sgpct-panel-logo {
        grid-column: 1 / -1;
        grid-row: 1;
        min-width: 0;
        width: 100%;
        justify-content: flex-start;
        overflow: hidden;
        text-align: left;
        pointer-events: none;
    }

    .sgpct-client-nav .sgpct-panel-logo .sgpct-platform-logo__image {
        width: auto !important;
        max-width: 20%;
        max-height: 42px;
        object-fit: contain;
    }

    .sgpct-panel-greeting {
        grid-column: 2;
        grid-row: 1;
        position: relative;
        z-index: 1;
        min-width: 0;
        display: flex;
        align-items: center;
        justify-content: center;
        padding: 0 10px;
        color: #262626;
        font-size: 14px;
        font-weight: 700;
        line-height: 1.2;
        text-align: center;
    }

    .sgpct-panel-greeting span {
        display: block;
        min-width: 0;
        white-space: nowrap;
    }

    .sgpct-panel-menu {
        grid-column: 3;
        grid-row: 1;
        position: static;
        z-index: 2;
        display: flex;
        align-items: center;
        justify-content: flex-end;
    }

    .sgpct-panel.has-mobile-nav .sgpct-client-nav .sgpct-mobile-nav-toggle {
        width: 42px;
        height: 42px;
        min-height: 42px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        margin: 0;
        padding: 10px;
        border: 0;
        border-radius: 10px;
        background: transparent;
        box-shadow: none;
        color: #262626;
        cursor: pointer;
    }

    .sgpct-panel.has-mobile-nav .sgpct-client-nav .sgpct-mobile-nav-toggle:hover,
    .sgpct-panel.has-mobile-nav .sgpct-client-nav .sgpct-mobile-nav-toggle:focus-visible {
        background: #f5f5f5;
        outline: none;
        box-shadow: none;
    }

    .sgpct-client-nav .sgpct-mobile-nav-toggle__icon {
        position: relative;
        width: 22px;
        height: 16px;
        display: block;
        border-top: 2px solid currentColor;
        border-bottom: 2px solid currentColor;
        transition: border-color .22s ease, transform .22s ease;
    }

    .sgpct-client-nav .sgpct-mobile-nav-toggle__icon span {
        position: absolute;
        top: 50%;
        left: 0;
        width: 100%;
        height: 2px;
        display: block;
        background: currentColor;
        transform: translateY(-50%);
        transition: opacity .18s ease, transform .22s ease;
    }

    .sgpct-panel.is-mobile-nav-open .sgpct-client-nav .sgpct-mobile-nav-toggle__icon {
        border-top-color: transparent;
        border-bottom-color: transparent;
    }

    .sgpct-panel.is-mobile-nav-open .sgpct-client-nav .sgpct-mobile-nav-toggle__icon::before,
    .sgpct-panel.is-mobile-nav-open .sgpct-client-nav .sgpct-mobile-nav-toggle__icon::after {
        content: '';
        position: absolute;
        top: 50%;
        left: 0;
        width: 100%;
        height: 2px;
        background: currentColor;
        transform-origin: center;
    }

    .sgpct-panel.is-mobile-nav-open .sgpct-client-nav .sgpct-mobile-nav-toggle__icon::before {
        transform: translateY(-50%) rotate(45deg);
    }

    .sgpct-panel.is-mobile-nav-open .sgpct-client-nav .sgpct-mobile-nav-toggle__icon::after {
        transform: translateY(-50%) rotate(-45deg);
    }

    .sgpct-panel.is-mobile-nav-open .sgpct-client-nav .sgpct-mobile-nav-toggle__icon span {
        opacity: 0;
    }

    .sgpct-mobile-nav-dropdown {
        grid-column: 1 / -1;
        grid-row: 2;
        position: absolute;
        top: 100%;
        left: 0;
        right: 0;
        z-index: 121;
        width: 100%;
        min-width: 100%;
        max-width: none;
        box-sizing: border-box;
        max-height: 0;
        padding: 0 12px;
        overflow: hidden;
        visibility: hidden;
        opacity: 0;
        pointer-events: none;
        transform: translateY(-8px);
        border-bottom: 1px solid transparent;
        background: #fff;
        box-shadow: 0 12px 24px rgba(15, 23, 42, .08);
        transition: max-height .34s cubic-bezier(.2, .7, .3, 1), opacity .22s ease, transform .22s ease, padding .34s ease, visibility 0s linear .34s, border-color .22s ease;
    }

    .sgpct-panel.is-mobile-nav-open .sgpct-mobile-nav-dropdown {
        max-height: min(70vh, 520px);
        padding: 10px 12px 12px;
        overflow-y: auto;
        visibility: visible;
        opacity: 1;
        pointer-events: auto;
        transform: translateY(0);
        border-bottom-color: #ddd;
        transition: max-height .34s cubic-bezier(.2, .7, .3, 1), opacity .22s ease, transform .22s ease, padding .34s ease, visibility 0s linear 0s, border-color .22s ease;
        -webkit-overflow-scrolling: touch;
    }

    .sgpct-nav--mobile {
        display: flex;
        flex-direction: column;
        gap: 4px;
    }

    .sgpct-nav--mobile .sgpct-nav__item {
        width: 100%;
        min-height: 46px;
        justify-content: flex-start;
        padding: 11px 13px;
        border-radius: 10px;
        font-size: 14px;
    }

    .sgpct-nav--mobile .sgpct-nav__item--logout {
        margin-top: 5px;
    }

    .sgpct-sidebar {
        position: relative;
        top: auto;
        z-index: auto;
        align-self: stretch;
    }

    body.admin-bar .sgpct-sidebar {
        top: auto;
    }

    .sgpct-nav--desktop {
        display: none;
    }
}


/* 1.41.25: mobilny avatar, inputy i uproszczony widok raportów */
.sgpct-reports-table__action {
    font-size: 10px;
}

@media (max-width: 767px) {
    /* Zmień/dodaj avatar: opis pod zdjęciem zamiast na zdjęciu. */
    .sgpct-avatar-picker {
        width: 64px;
        height: auto;
        align-self: start;
        overflow: visible;
        border-radius: 0;
        background: transparent;
        box-shadow: none;
        outline: 0;
    }

    .sgpct-avatar-picker:hover,
    .sgpct-avatar-picker:focus-within {
        transform: none;
        box-shadow: none;
    }

    .sgpct-avatar-image {
        width: 64px;
        height: 64px;
        overflow: hidden;
        border-radius: 50%;
        background: #f0f0f0;
        box-shadow: 0 4px 14px rgba(15, 23, 42, .10);
        outline: 2px solid #fff;
    }

    .sgpct-avatar-picker__overlay {
        position: static;
        inset: auto;
        display: block;
        width: 100%;
        margin-top: 4px;
        padding: 0;
        border-radius: 0;
        background: transparent !important;
        color: #667085;
        font-size: 8px;
        line-height: 1.15;
        font-weight: 700;
        letter-spacing: 0;
        text-align: center;
        white-space: nowrap;
        opacity: 1;
    }

    /* Pola tekstowe w mobilnym Panelu klienta. */
    .sgpct-panel input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]):not([type="file"]):not([type="button"]):not([type="submit"]):not([type="reset"]) {
        font-size: 12px !important;
    }

    /* Moje raporty: jeden box = data + guzik + powiadomienie w jednej linii. */
    .sgpct-reports-table-wrap {
        overflow: visible;
    }

    .sgpct-reports-table,
    .sgpct-reports-table tbody {
        width: 100%;
    }

    .sgpct-reports-table thead {
        display: none !important;
    }

    .sgpct-reports-table tbody {
        display: grid;
        gap: 10px;
    }

    .sgpct-reports-table tbody tr {
        width: 100%;
        display: grid !important;
        grid-template-columns: minmax(64px, .72fr) minmax(88px, 1fr) minmax(104px, 1.18fr);
        align-items: center;
        overflow: hidden;
        border: 1px solid #dfe5ec !important;
        border-radius: 12px;
        background: #fff;
        box-shadow: 0 4px 16px rgba(15, 23, 42, .055);
    }

    .sgpct-reports-table tbody td {
        width: auto !important;
        min-width: 0 !important;
        min-height: 0 !important;
        display: flex !important;
        align-items: center;
        justify-content: center;
        gap: 0;
        padding: 10px 6px !important;
        border: 0 !important;
        background: #fff !important;
        font-size: 10px;
        line-height: 1.25;
        text-align: center;
        white-space: nowrap;
    }

    .sgpct-reports-table tbody tr:last-child td,
    .sgpct-reports-table tbody tr:not(:last-child) td,
    .sgpct-reports-table tbody tr td:last-child {
        border: 0 !important;
    }

    .sgpct-reports-table tbody td::before {
        display: none !important;
        content: none !important;
    }

    .sgpct-reports-table__lp {
        display: none !important;
    }

    .sgpct-reports-table tbody td:nth-child(2) {
        justify-content: flex-start;
        padding-left: 10px !important;
        color: #202124;
        font-size: 10px;
        font-weight: 700;
    }

    .sgpct-reports-table tbody td:nth-child(3),
    .sgpct-reports-table tbody td:nth-child(4) {
        padding-inline: 4px !important;
    }

    .sgpct-reports-table__action {
        width: auto;
        min-width: 0;
        min-height: 32px;
        padding: 7px 9px !important;
        font-size: 10px !important;
        line-height: 1.1;
        white-space: nowrap;
        box-shadow: none;
    }

    .sgpct-reports-table__action::after {
        display: none;
        content: none;
    }

    .sgpct-reports-table__notification {
        width: auto;
        min-width: 0;
        min-height: 0;
        padding: 0 !important;
        font-size: 9px;
        line-height: 1.15;
        text-align: center;
        white-space: nowrap;
    }
}


/* 1.41.26: raporty mobilne bez LP, dokładnie trzy elementy w jednym wierszu */
@media (max-width: 767px) {
    .sgpct-reports-table tbody tr {
        grid-template-columns: minmax(72px, .78fr) minmax(92px, 1fr) minmax(112px, 1.22fr) !important;
    }

    .sgpct-reports-table tbody td:nth-child(1) {
        justify-content: flex-start;
        padding-left: 10px !important;
        color: #202124;
        font-size: 10px;
        font-weight: 700;
    }

    .sgpct-reports-table tbody td:nth-child(2),
    .sgpct-reports-table tbody td:nth-child(3) {
        padding-inline: 4px !important;
    }

    .sgpct-reports-table tbody td,
    .sgpct-reports-table__action,
    .sgpct-reports-table__notification {
        white-space: nowrap !important;
    }
}


/* 1.41.27: mobilny podgląd raportu - kompaktowe pomiary i zdjęcia */
@media (max-width: 767px) {
    .sgpct-report-preview-measurements {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 10px;
    }

    .sgpct-report-preview-measurement__label,
    .sgpct-report-preview-measurement__value {
        font-size: 12px !important;
    }

    .sgpct-report-preview-photos {
        display: flex !important;
        flex-wrap: nowrap;
        gap: 10px;
    }

    .sgpct-report-preview-photo {
        flex: 1 1 0;
        min-width: 0;
    }

    .sgpct-report-preview-photo__frame {
        height: 160px !important;
        border: 0 !important;
    }
}


/* 1.41.28: mobilne plany treningowe jako płynne akordeony */
.sgpct-training-plan-card__toggle {
    appearance: none;
    -webkit-appearance: none;
    display: block;
    min-width: 0;
    margin: 0;
    padding: 0;
    border: 0;
    background: transparent;
    color: inherit;
    font: inherit;
    text-align: left;
}

.sgpct-training-plan-card__summary {
    display: block;
    min-width: 0;
}

.sgpct-training-plan-card__summary strong {
    display: block;
    margin: 0 0 3px;
    font-size: 18px;
    line-height: 1.25;
}

.sgpct-training-plan-card__summary > span {
    display: block;
    opacity: 1;
    font-size: 12px;
    line-height: 1.3;
}

.sgpct-training-plan-card__chevron,
.sgpct-training-plan-card__weeks--mobile {
    display: none;
}

.sgpct-training-plan-card__accordion {
    max-height: none;
    overflow: visible;
    opacity: 1;
}

@media (max-width: 767px) {
    .sgpct-training-plan-card__header {
        display: block;
        padding: 0;
        border-bottom: 0;
    }

    .sgpct-training-plan-card__toggle {
        width: 100%;
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 12px;
        padding: 14px 16px;
        cursor: pointer;
        touch-action: manipulation;
    }

    .sgpct-training-plan-card__toggle:focus-visible {
        outline: 2px solid currentColor;
        outline-offset: -3px;
        border-radius: 14px;
    }

    .sgpct-training-plan-card__summary {
        display: flex;
        align-items: baseline;
        flex-wrap: wrap;
        gap: 4px 8px;
        flex: 1 1 auto;
    }

    .sgpct-training-plan-card__summary strong {
        display: inline;
        margin: 0;
        font-size: 14px;
        line-height: 1.25;
    }

    .sgpct-training-plan-card__summary > span {
        display: inline;
        font-size: 10px;
        line-height: 1.25;
        white-space: nowrap;
    }

    .sgpct-training-plan-card__chevron {
        position: relative;
        display: block;
        flex: 0 0 10px;
        width: 10px;
        height: 10px;
        border-right: 1.5px solid currentColor;
        border-bottom: 1.5px solid currentColor;
        transform: rotate(45deg) translate(-1px, -1px);
        transform-origin: 50% 50%;
        transition: transform .28s ease;
        opacity: .7;
    }

    .sgpct-training-plan-card.is-open .sgpct-training-plan-card__chevron {
        transform: rotate(225deg) translate(-1px, -1px);
    }

    .sgpct-training-plan-card.is-open .sgpct-training-plan-card__header {
        border-bottom: 1px solid rgba(0, 0, 0, .08);
    }

    .sgpct-training-plan-card__weeks--desktop {
        display: none !important;
    }

    .sgpct-training-plan-card__weeks--mobile {
        display: inline-flex;
        width: fit-content;
        margin: 14px 20px 0;
    }

    .sgpct-training-plan-card__accordion {
        max-height: 0;
        overflow: hidden;
        opacity: 0;
        transition: max-height .38s cubic-bezier(.2, .72, .3, 1), opacity .22s ease;
        will-change: max-height, opacity;
    }

    .sgpct-training-plan-card.is-open .sgpct-training-plan-card__accordion {
        opacity: 1;
    }

    .sgpct-training-plan-card__accordion-inner {
        min-height: 0;
    }

    .sgpct-training-week {
        padding-top: 10px;
    }

    .sgpct-training-day__info {
        display: flex;
        align-items: center;
        flex-wrap: wrap;
        gap: 4px 7px;
    }

    .sgpct-training-day__info strong {
        display: inline;
        margin: 0;
    }

    .sgpct-training-day__status {
        display: inline;
        margin: 0;
    }

    .sgpct-training-day:not(.is-rest) .sgpct-training-day__status {
        display: none !important;
    }

    .sgpct-training-day.is-rest .sgpct-training-day__status {
        display: inline !important;
        font-size: 10px;
        line-height: 1.2;
        white-space: nowrap;
    }
}


/* 1.41.30: video ćwiczenia odtwarzane w popupie wewnątrz Panelu klienta */
body.sgpct-exercise-video-modal-open {
    overflow: hidden;
}

.sgpct-exercise-video-modal {
    position: fixed;
    inset: 0;
    z-index: 1000001;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 20px;
    visibility: hidden;
    opacity: 0;
    pointer-events: none;
    transition: opacity .22s ease, visibility .22s ease;
}

.sgpct-exercise-video-modal.is-open {
    visibility: visible;
    opacity: 1;
    pointer-events: auto;
}

.sgpct-exercise-video-modal__backdrop {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, .72);
    backdrop-filter: blur(4px);
}

.sgpct-exercise-video-modal__dialog {
    position: relative;
    z-index: 1;
    width: min(920px, 100%);
    max-height: calc(100vh - 40px);
    overflow: hidden;
    border-radius: 16px;
    background: #fff;
    box-shadow: 0 24px 80px rgba(0, 0, 0, .34);
    transform: translateY(12px) scale(.985);
    transition: transform .22s ease;
}

.sgpct-exercise-video-modal.is-open .sgpct-exercise-video-modal__dialog {
    transform: translateY(0) scale(1);
}

.sgpct-exercise-video-modal__close {
    position: absolute;
    top: 10px;
    right: 10px;
    z-index: 3;
    width: 34px;
    height: 34px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    background: rgba(0, 0, 0, .07);
    color: #111;
    font-size: 25px;
    line-height: 1;
    cursor: pointer;
    user-select: none;
    transition: transform .18s ease, background .18s ease;
}

.sgpct-exercise-video-modal__close:hover,
.sgpct-exercise-video-modal__close:focus-visible {
    background: rgba(0, 0, 0, .13);
    transform: scale(1.05);
    outline: none;
}

.sgpct-exercise-video-modal__header {
    padding: 16px 54px 14px 18px;
    border-bottom: 1px solid #eee;
}

.sgpct-exercise-video-modal__header > span {
    display: block;
    margin-bottom: 2px;
    opacity: .55;
    font-size: 10px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
}

.sgpct-exercise-video-modal__header h3 {
    margin: 0;
    font-size: 16px;
    line-height: 1.3;
}

.sgpct-exercise-video-modal__media {
    position: relative;
    width: 100%;
    aspect-ratio: 16 / 9;
    background: #000;
}

.sgpct-exercise-video-modal__media iframe,
.sgpct-exercise-video-modal__media video {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    display: block;
    border: 0;
    background: #000;
}

@media (max-width: 767px) {
    .sgpct-exercise-video-modal {
        padding: 12px;
    }

    .sgpct-exercise-video-modal__dialog {
        width: 100%;
        max-height: calc(100vh - 24px);
        border-radius: 12px;
    }

    .sgpct-exercise-video-modal__header {
        padding: 13px 48px 11px 14px;
    }

    .sgpct-exercise-video-modal__header h3 {
        font-size: 14px;
    }

    .sgpct-exercise-video-modal__close {
        top: 7px;
        right: 7px;
        width: 32px;
        height: 32px;
        font-size: 23px;
    }
}


/* 1.41.34: mobilny Kalendarz klienta — mini-kalendarz jako miesiąc, widok godzinowy po kliknięciu dnia */
.sgpct-calendar-mobile-back {
    display: none;
}

@media (max-width: 767px) {
    .sgpct-calendar-admin {
        margin: 0;
    }

    .sgpct-client-calendar-view .sgpct-calendar-layout {
        display: block;
        min-height: 0;
    }

    /* Domyślnie duży kalendarz jest całkowicie ukryty. */
    .sgpct-client-calendar-view .sgpct-calendar-main {
        display: none;
        width: 100%;
        min-width: 0;
        background: #fff;
    }

    .sgpct-client-calendar-view .sgpct-calendar-sidebar {
        width: 100%;
        display: grid;
        grid-template-columns: 1fr;
        gap: 18px;
        padding: 14px 12px;
        border-right: 0;
        border-bottom: 0;
        background: #fff;
    }

    .sgpct-client-calendar-view .sgpct-mini-calendar {
        width: 100%;
        padding: 0;
        border: 0;
    }

    /* Po wejściu w dzień chowamy miesiąc i pokazujemy tylko godzinowy widok dnia. */
    .sgpct-calendar-admin--client.is-mobile-day-view .sgpct-calendar-sidebar {
        display: none;
    }

    .sgpct-calendar-admin--client.is-mobile-day-view .sgpct-calendar-main {
        display: block;
    }

    .sgpct-calendar-admin--client.is-mobile-day-view .sgpct-calendar-toolbar,
    .sgpct-calendar-admin--client.is-mobile-day-view .sgpct-calendar-month-view {
        display: none !important;
    }

    .sgpct-calendar-admin--client.is-mobile-day-view .sgpct-calendar-day-view {
        display: block;
    }

    .sgpct-calendar-mobile-back {
        width: fit-content;
        display: none;
        align-items: center;
        margin: 12px 12px 4px;
        padding: 6px 0;
        color: #30343b;
        font-size: 12px;
        font-weight: 650;
        line-height: 1.3;
        cursor: pointer;
        user-select: none;
    }

    .sgpct-calendar-mobile-back:hover,
    .sgpct-calendar-mobile-back:focus-visible {
        text-decoration: underline;
        outline: none;
    }

    .sgpct-calendar-admin--client.is-mobile-day-view .sgpct-calendar-day-view .sgpct-calendar-mobile-back {
        display: inline-flex !important;
        position: relative;
        z-index: 4;
    }

    .sgpct-calendar-admin--client.is-mobile-day-view .sgpct-calendar-day-heading {
        border-top: 0;
    }
}


/* 1.41.69: onboarding klienta */
.sgpct-onboarding,
.sgpct-onboarding * {
    box-sizing: border-box;
}

.sgpct-onboarding {
    --sgpct-onboarding-css-ready: 1;
    width: min(980px, calc(100% - 24px));
    margin: 28px auto;
}

.sgpct-onboarding__card {
    overflow: hidden;
    border: 1px solid #e7e7e7;
    border-radius: 22px;
    background: #fff;
    box-shadow: 0 18px 50px rgba(0, 0, 0, .08);
}

.sgpct-onboarding__header {
    padding: 28px 34px 22px;
    border-bottom: 1px solid #ececec;
}

.sgpct-onboarding__eyebrow,
.sgpct-onboarding__step-number {
    display: inline-block;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 1.4px;
    text-transform: uppercase;
    color: #6b6b6b;
}

.sgpct-onboarding__progress-meta {
    display: flex;
    justify-content: space-between;
    gap: 20px;
    margin-top: 14px;
    font-size: 13px;
    font-weight: 700;
    color: #333;
}

.sgpct-onboarding__progress {
    height: 8px;
    margin-top: 10px;
    overflow: hidden;
    border-radius: 999px;
    background: #ededed;
}

.sgpct-onboarding__progress span {
    display: block;
    height: 100%;
    border-radius: inherit;
    background: #1f1f1f;
    transition: width .35s ease;
}

.sgpct-onboarding__form {
    padding: 34px;
}

.sgpct-onboarding__slide {
    min-height: 410px;
    animation: sgpctOnboardingIn .28s ease both;
}

@keyframes sgpctOnboardingIn {
    from { opacity: 0; transform: translateX(16px); }
    to { opacity: 1; transform: translateX(0); }
}

.sgpct-onboarding__slide-copy {
    margin-bottom: 28px;
}

.sgpct-onboarding__slide-copy h1 {
    margin: 7px 0 0;
    font-size: 26px;
    line-height: 1.15;
    color: #1f1f1f;
}

.sgpct-onboarding__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
}

.sgpct-onboarding__metrics-row {
    display: grid;
    gap: 12px;
    width: 100%;
}

.sgpct-onboarding__metrics-row--primary {
    grid-template-columns: repeat(5, minmax(0, 1fr));
    margin-bottom: 16px;
}

.sgpct-onboarding__metrics-row--measurements {
    grid-template-columns: repeat(var(--sgpct-measurement-columns, 7), minmax(0, 1fr));
}

.sgpct-onboarding-metric-card {
    display: flex;
    min-width: 0;
    min-height: 176px;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    gap: 8px;
    padding: 14px 10px 12px;
    border: 1px solid #e1e4e8;
    border-radius: 16px;
    background: #fff;
    color: #252525;
    text-align: center;
    box-shadow: 0 6px 18px rgba(16, 24, 40, .04);
}

.sgpct-onboarding-metric-card__icon {
    display: grid;
    width: 58px;
    height: 58px;
    flex: 0 0 58px;
    place-items: center;
    overflow: hidden;
    border-radius: 14px;
    background: #f6f7f8;
    color: #1f1f1f;
}

.sgpct-onboarding-metric-card__icon .dashicons {
    width: 30px;
    height: 30px;
    font-size: 30px;
    line-height: 30px;
}

.sgpct-onboarding-metric-card__icon img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.sgpct-onboarding-metric-card__label {
    display: flex;
    min-height: 34px;
    align-items: center;
    justify-content: center;
    font-size: 12px;
    font-weight: 800;
    line-height: 1.2;
}

.sgpct-onboarding-metric-card select,
.sgpct-onboarding-metric-card input {
    width: 100%;
    min-width: 0;
    min-height: 42px;
    margin: 0;
    border: 1px solid #d8d8d8;
    border-radius: 10px;
    background: #fff;
    padding: 8px 9px;
    color: #1f1f1f;
    font: inherit;
    font-size: 13px;
    font-weight: 600;
    text-align: center;
    outline: 0;
}

.sgpct-onboarding-metric-card select:focus,
.sgpct-onboarding-metric-card input:focus {
    border-color: #1f1f1f;
    box-shadow: 0 0 0 3px rgba(31, 31, 31, .08);
}

.sgpct-onboarding-metric-card__input {
    position: relative;
    display: block;
    width: 100%;
}

.sgpct-onboarding-metric-card__input input {
    padding-right: 29px;
}

.sgpct-onboarding-metric-card__input > span {
    position: absolute;
    top: 50%;
    right: 8px;
    transform: translateY(-50%);
    color: #7a7a7a;
    font-size: 10px;
    font-weight: 800;
    pointer-events: none;
}

.sgpct-onboarding__field {
    display: flex;
    flex-direction: column;
    gap: 9px;
    color: #252525;
    font-weight: 700;
}

.sgpct-onboarding__field--wide {
    margin-top: 20px;
}

.sgpct-onboarding__field select,
.sgpct-onboarding__field input,
.sgpct-onboarding__field textarea {
    width: 100%;
    min-height: 52px;
    border: 1px solid #d8d8d8;
    border-radius: 12px;
    background: #fff;
    padding: 12px 14px;
    color: #1f1f1f;
    font: inherit;
    font-weight: 500;
    outline: 0;
    transition: border-color .2s ease, box-shadow .2s ease;
}

.sgpct-onboarding__field textarea {
    min-height: 100px;
    resize: vertical;
}

.sgpct-onboarding__field select:focus,
.sgpct-onboarding__field input:focus,
.sgpct-onboarding__field textarea:focus {
    border-color: #1f1f1f;
    box-shadow: 0 0 0 3px rgba(31, 31, 31, .08);
}

.sgpct-onboarding__field small {
    font-size: 12px;
    font-weight: 500;
    color: #777;
}

.sgpct-onboarding__section-title {
    margin-bottom: 12px;
    font-size: 15px;
    font-weight: 800;
    color: #222;
}

.sgpct-onboarding__checks {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
}

.sgpct-onboarding__check {
    display: flex;
    align-items: center;
    gap: 9px;
    min-height: 48px;
    padding: 10px 12px;
    border: 1px solid #e1e1e1;
    border-radius: 11px;
    cursor: pointer;
    font-size: 14px;
    font-weight: 600;
}

.sgpct-onboarding__check input {
    width: 17px;
    height: 17px;
    margin: 0;
}

.sgpct-onboarding-avatar {
    display: flex;
    align-items: center;
    gap: 28px;
    padding: 24px;
    border: 1px solid #e5e5e5;
    border-radius: 18px;
    background: #fafafa;
}

.sgpct-onboarding-avatar__preview {
    flex: 0 0 180px;
    width: 180px;
    height: 180px;
    overflow: hidden;
    border-radius: 50%;
    background: #eee;
}

.sgpct-onboarding-avatar__image {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

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

.sgpct-onboarding-avatar__controls input[type="file"] {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    opacity: 0;
    pointer-events: none;
}

.sgpct-onboarding-avatar__button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 46px;
    padding: 10px 18px;
    border-radius: 10px;
    background: #1f1f1f;
    color: #fff;
    font-weight: 800;
    cursor: pointer;
}

.sgpct-onboarding-avatar__controls span {
    color: #777;
    font-size: 13px;
}

.sgpct-onboarding__actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 12px;
    padding-top: 26px;
    margin-top: 26px;
    border-top: 1px solid #ededed;
}

.sgpct-onboarding__actions button {
    min-height: 48px;
    padding: 11px 22px;
    border-radius: 11px;
    border: 0;
    cursor: pointer;
    font-weight: 800;
}

.sgpct-onboarding__back {
    margin-right: auto;
    background: #f0f0f0;
    color: #222;
}

.sgpct-onboarding__next,
.sgpct-onboarding__submit {
    background: #1f1f1f;
    color: #fff;
}

.sgpct-onboarding__error,
.sgpct-onboarding__notice {
    padding: 12px 14px;
    border-radius: 10px;
    font-size: 14px;
    font-weight: 700;
}

.sgpct-onboarding__error:empty {
    display: none;
}

.sgpct-onboarding__error,
.sgpct-onboarding__notice--error {
    background: #fff1f0;
    color: #a3221b;
    border: 1px solid #f0c4c1;
}

.sgpct-onboarding__notice {
    margin: 22px 34px 0;
}

.sgpct-start-page {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-items: start;
    gap: 20px;
    min-height: 520px;
}

/* 1.41.204: dwukolumnowe podsumowanie dnia nad Strona startowa. */
.sgpct-start-overview {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-items: stretch;
    gap: 20px;
    margin: 20px;
}

.sgpct-start-overview__column {
    display: flex;
    flex-direction: column;
    min-width: 0;
}

/* 1.41.317: klient Dietetyka nie ma części treningowej, więc podsumowanie
   Strony startowej nie zostawia pustej drugiej kolumny. */
.sgpct-start-overview--single {
    grid-template-columns: minmax(0, 1fr) !important;
}

.sgpct-start-calories {
    position: relative;
    flex: 1 1 auto;
    height: 330px;
    min-height: 330px;
    padding: 30px 32px;
    overflow: hidden;
    border-width: 1px;
    border-style: solid;
    border-color: rgba(15, 23, 42, .08);
    border-radius: 20px;
    background: transparent;
    box-shadow: rgba(15, 23, 42, .06) 0 10px 32px;
    color: var(--sgpct-heading-color, #2D465D);
    box-sizing: border-box;
    animation: sgpct-start-calories-enter .58s cubic-bezier(.22, 1, .36, 1) both;
}

@keyframes sgpct-start-calories-enter {
    from {
        opacity: 0;
        transform: translateY(14px) scale(.985);
    }
    to {
        opacity: 1;
        transform: translateY(0) scale(1);
    }
}

.sgpct-panel .sgpct-start-calories__title {
    margin: 0 0 8px;
    color: var(--sgpct-heading-color, #2D465D);
    font-size: 14px;
    font-weight: 800;
    line-height: 1.1;
    letter-spacing: -.03em;
}

.sgpct-panel .sgpct-start-calories__extra-open {
    display: inline-flex !important;
    align-items: center !important;
    width: auto !important;
    min-height: 0 !important;
    margin: 0 0 24px !important;
    padding: 2px 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    color: var(--sgpct-heading-color, #2D465D);
    font-size: 13px !important;
    font-weight: 800 !important;
    line-height: 1.35 !important;
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 4px;
    cursor: pointer;
}

.sgpct-panel .sgpct-start-calories__extra-open:hover,
.sgpct-panel .sgpct-start-calories__extra-open:focus-visible {
    opacity: .72;
    outline: none;
}

.sgpct-start-calories__content {
    display: grid;
    grid-template-columns: minmax(165px, .9fr) minmax(180px, 1fr);
    align-items: center;
    gap: clamp(24px, 4vw, 48px);
}

.sgpct-start-calories__ring-wrap {
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 0;
}

.sgpct-start-calories__ring-block {
    display: grid;
    justify-items: center;
    gap: 10px;
}

.sgpct-start-calories__extra-kcal {
    display: block;
    min-height: 18px;
    color: #d92d20;
    font-size: 14px;
    font-weight: 900;
    line-height: 1.25;
    text-align: center;
}

.sgpct-start-calories__extra-kcal[hidden] {
    display: none !important;
}

.sgpct-start-calories__ring {
    position: relative;
    width: min(100%, 150px);
    aspect-ratio: 1;
}

.sgpct-start-calories__ring svg {
    display: block;
    width: 100%;
    height: 100%;
    overflow: visible;
    transform: rotate(-90deg);
}

.sgpct-start-calories__ring circle {
    fill: none;
    stroke-width: 10;
}

.sgpct-start-calories__ring-track {
    stroke: rgb(246, 247, 247);
}

.sgpct-start-calories__ring-progress,
.sgpct-start-calories__ring-balance {
    stroke-linecap: round;
    transition: stroke-dashoffset 1.15s cubic-bezier(.22, 1, .36, 1);
}

.sgpct-start-calories__ring-balance.is-red {
    stroke: #d92d20;
}

.sgpct-start-calories__ring-balance.is-green {
    stroke: #22a447;
}

@media (prefers-reduced-motion: reduce) {
    .sgpct-start-calories {
        animation: none;
    }
}

.sgpct-start-calories__ring-center {
    position: absolute;
    inset: 18px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: transparent;
    text-align: center;
}

.sgpct-start-calories__ring-center strong,
.sgpct-start-calories__ring-center span {
    display: block;
    color: var(--sgpct-heading-color, #2D465D);
}

.sgpct-start-calories__ring-center strong {
    font-size: 28px;
    font-weight: 800;
    line-height: 1;
    letter-spacing: -.04em;
}

.sgpct-start-calories__ring-center span {
    margin-top: 8px;
    font-size: 15px;
    font-weight: 700;
    line-height: 1;
}

.sgpct-start-calories__ring-center.is-exceeded strong,
.sgpct-start-calories__ring-center.is-exceeded span {
    color: #d92d20;
}

.sgpct-start-calories__stats {
    display: grid;
    gap: 18px;
}

.sgpct-start-calories__stat {
    display: grid;
    grid-template-columns: 40px minmax(0, 1fr);
    align-items: center;
    gap: 13px;
}

.sgpct-start-calories__icon {
    display: flex;
    width: 40px;
    height: 40px;
    align-items: center;
    justify-content: center;
    color: #aab0bd;
}

.sgpct-start-calories__icon.is-blue {
    color: #55b7f3;
}

.sgpct-start-calories__icon.is-orange {
    color: #ff9e2c;
}

.sgpct-start-calories__icon svg {
    display: block;
    width: 34px;
    height: 34px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.9;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.sgpct-start-calories__stat-copy,
.sgpct-start-calories__stat-copy > span,
.sgpct-start-calories__stat-copy > strong {
    display: block;
    min-width: 0;
}

.sgpct-start-calories__stat-copy > span {
    color: var(--sgpct-heading-color, #2D465D);
    font-size: 16px;
    font-weight: 500;
    line-height: 1.2;
}

.sgpct-start-calories__stat-copy > strong {
    margin-top: 4px;
    color: var(--sgpct-heading-color, #2D465D);
    font-size: 23px;
    font-weight: 800;
    line-height: 1.15;
}

/* 1.41.318: akcja kalorii aktywności dostępna wyłącznie u klienta Dietetyka. */
.sgpct-start-calories__stat-label-row {
    display: flex !important;
    align-items: baseline;
    gap: 9px;
    min-width: 0;
    flex-wrap: wrap;
}

.sgpct-panel .sgpct-start-calories__activity-open {
    display: inline !important;
    width: auto !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    color: var(--sgpct-heading-color, #2D465D);
    font-size: 10px !important;
    font-weight: 800 !important;
    line-height: 1.25 !important;
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 3px;
    cursor: pointer;
}

.sgpct-panel .sgpct-start-calories__activity-open:hover,
.sgpct-panel .sgpct-start-calories__activity-open:focus-visible {
    opacity: .72;
    outline: none;
}

.sgpct-panel .sgpct-start-calories__activity-open:disabled,
.sgpct-panel .sgpct-start-calories__activity-open[aria-disabled="true"] {
    opacity: .38;
    cursor: not-allowed;
    text-decoration-style: dotted;
}

.sgpct-start-calories__empty {
    margin: 22px 0 0;
    padding-top: 14px;
    border-top: 1px solid rgba(255, 255, 255, .12);
    color: #aeb5c2;
    font-size: 13px;
}

/* 1.41.213: dzisiejszy trening, edytowalne kalorie i dodatkowa aktywność pod ćwiczeniami. */
.sgpct-start-training {
    position: relative;
    display: flex;
    flex: 1 1 auto;
    height: 330px;
    flex-direction: column;
    min-height: 330px;
    padding: 30px 32px;
    overflow: hidden;
    border: 1px solid rgba(15, 23, 42, .08);
    border-radius: 20px;
    background: transparent;
    box-shadow: rgba(15, 23, 42, .06) 0 10px 32px;
    color: var(--sgpct-heading-color, #2D465D);
    box-sizing: border-box;
    animation: sgpct-start-training-enter .58s .06s cubic-bezier(.22, 1, .36, 1) both;
}

@keyframes sgpct-start-training-enter {
    from { opacity: 0; transform: translateY(14px) scale(.985); }
    to { opacity: 1; transform: translateY(0) scale(1); }
}

.sgpct-start-training__header {
    display: flex;
    flex: 0 0 auto;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    margin: 0 0 22px;
}

.sgpct-start-training__heading {
    min-width: 0;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 6px;
}

.sgpct-start-training__journal-open {
    display: inline-flex;
    margin: 0;
    padding: 0;
    color: var(--sgpct-heading-color, #2D465D);
    font-size: 12px;
    font-weight: 800;
    line-height: 1.35;
    text-decoration: none;
    cursor: pointer;
    transition: opacity .18s ease;
}

.sgpct-start-training__journal-open:hover,
.sgpct-start-training__journal-open:focus-visible {
    color: var(--sgpct-heading-color, #2D465D);
    opacity: .68;
    outline: none;
    text-decoration: none;
}

.sgpct-panel .sgpct-start-training__title {
    min-width: 0;
    margin: 0;
    color: var(--sgpct-heading-color, #2D465D);
    font-size: 14px;
    font-weight: 800;
    line-height: 1.1;
    letter-spacing: -.03em;
}

.sgpct-start-training__calories-actions {
    display: flex;
    flex: 0 1 auto;
    align-items: center;
    justify-content: flex-end;
    gap: 14px;
    min-width: 0;
    flex-wrap: wrap;
}

.sgpct-start-training__calories-form {
    display: flex;
    flex: 0 0 auto;
    align-items: center;
    justify-content: flex-end;
    gap: 9px;
    min-width: 0;
}

.sgpct-start-training__calories-field {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin: 0;
    color: var(--sgpct-heading-color, #2D465D);
    font-size: 12px;
    font-weight: 800;
    line-height: 1.2;
    white-space: nowrap;
}

.sgpct-panel .sgpct-start-training__calories-field input {
    width: 78px;
    height: 36px;
    margin: 0;
    padding: 6px 9px;
    border: 1px solid rgba(15, 23, 42, .14);
    border-radius: 9px;
    background: #fff;
    color: var(--sgpct-heading-color, #2D465D);
    font-size: 13px;
    font-weight: 800;
    line-height: 1;
    text-align: center;
    box-shadow: none;
    box-sizing: border-box;
}

.sgpct-panel .sgpct-start-training__calories-field input:focus {
    border-color: rgba(34, 164, 71, .65);
    outline: 2px solid rgba(34, 164, 71, .13);
    outline-offset: 1px;
}

.sgpct-start-training__calories-save {
    display: inline;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: none;
    box-shadow: none;
    color: #22a447;
    font: inherit;
    font-size: 12px;
    font-weight: 900;
    line-height: 1.2;
    white-space: nowrap;
    text-decoration: none;
    cursor: pointer;
}

.sgpct-start-training__calories-save:hover,
.sgpct-start-training__calories-save:focus {
    background: none;
    box-shadow: none;
    color: #22a447;
    text-decoration: none;
    outline: none;
}

.sgpct-start-training__calories-save[hidden] {
    display: none !important;
}

.sgpct-start-training__calories-save[aria-disabled="true"] {
    opacity: .55;
    cursor: wait;
}

.sgpct-start-training__calories-status {
    max-width: 150px;
    color: #d92d20;
    font-size: 10px;
    font-weight: 700;
    line-height: 1.2;
}

.sgpct-start-training__additional-activity {
    flex: 0 0 auto;
    margin-top: 18px;
    padding-top: 18px;
    border-top: 1px solid rgba(15, 23, 42, .12);
}

.sgpct-start-training__additional-activity-form {
    justify-content: flex-start;
}

.sgpct-start-training__table-wrap {
    flex: 1 1 auto;
    min-height: 0;
    overflow: auto;
    border: 0;
    border-radius: 14px;
    scrollbar-width: thin;
}

.sgpct-start-training__table {
    width: 100%;
    margin: 0;
    border: 0;
    border-collapse: collapse;
    background: transparent;
    color: var(--sgpct-heading-color, #2D465D);
    table-layout: fixed;
}

.sgpct-start-training__table td {
    padding: 6px;
    border: 0;
    border-bottom: 1px solid rgba(15, 23, 42, .08);
    background: transparent;
    color: var(--sgpct-heading-color, #2D465D);
    vertical-align: middle;
}

.sgpct-start-training__table tr:nth-child(even) td {
    background: #f6f7f7;
}

.sgpct-start-training__table tr:last-child td {
    border-bottom: 0;
}

.sgpct-start-training__exercise-name {
    width: 54%;
    overflow: hidden;
    font-size: 14px;
    font-weight: 800;
    line-height: 1.35;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.sgpct-start-training__exercise-action {
    width: 46%;
    text-align: right;
}

.sgpct-start-training__exercise-action a {
    display: inline-flex;
    align-items: center;
    justify-content: flex-end;
    color: var(--sgpct-heading-color, #2D465D);
    font-size: 12px;
    font-weight: 800;
    line-height: 1.35;
    text-decoration: none !important;
    transition: opacity .18s ease;
}

.sgpct-start-training__exercise-action a:hover,
.sgpct-start-training__exercise-action a:focus-visible {
    opacity: .68;
    outline: none;
    text-decoration: none !important;
}

.sgpct-start-training__state {
    display: flex;
    flex: 1 1 auto;
    min-height: 220px;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 7px;
    color: var(--sgpct-heading-color, #2D465D);
    text-align: center;
}

.sgpct-start-training__state-icon {
    display: grid;
    width: 72px;
    height: 72px;
    margin-bottom: 7px;
    place-items: center;
    border-radius: 50%;
    background: rgba(45, 70, 93, .08);
    background: color-mix(in srgb, var(--sgpct-heading-color, #2D465D) 8%, transparent);
    color: var(--sgpct-heading-color, #2D465D);
}

.sgpct-start-training__state-icon svg {
    width: 38px;
    height: 38px;
    fill: none;
    stroke: currentColor;
    stroke-width: 3;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.sgpct-start-training__state strong,
.sgpct-start-training__state span {
    color: var(--sgpct-heading-color, #2D465D);
}

.sgpct-start-training__state strong {
    font-size: 16px;
    font-weight: 900;
    line-height: 1.3;
}

.sgpct-start-training__state > span:last-child {
    max-width: 320px;
    opacity: .72;
    font-size: 12px;
    line-height: 1.5;
}

.sgpct-start-training-detail-modal .sgpct-training-exercises-modal__dialog {
    width: min(820px, 100%);
    max-width: 820px;
}

.sgpct-start-training-detail-modal,
.sgpct-start-training-detail-modal .sgpct-training-exercise-card,
.sgpct-start-training-detail-modal .sgpct-training-exercise-card__stats strong,
.sgpct-start-training-detail-modal .sgpct-training-exercise-card__description p {
    color: var(--sgpct-heading-color, #2D465D);
}

@media (prefers-reduced-motion: reduce) {
    .sgpct-start-training {
        animation: none;
    }
}

@media (max-width: 1240px) and (min-width: 1101px) {
    .sgpct-start-calories,
    .sgpct-start-training {
        padding: 26px 24px;
    }

    .sgpct-start-calories__content {
        grid-template-columns: 145px minmax(150px, 1fr);
        gap: 20px;
    }

    .sgpct-start-calories__stat {
        grid-template-columns: 34px minmax(0, 1fr);
        gap: 9px;
    }

    .sgpct-start-calories__icon {
        width: 34px;
        height: 34px;
    }

    .sgpct-start-calories__icon svg {
        width: 30px;
        height: 30px;
    }
}

@media (max-width: 1100px) {
    .sgpct-start-overview,
    .sgpct-start-page {
        grid-template-columns: minmax(0, 1fr);
    }

    .sgpct-start-overview__column--reserved {
        display: none;
    }
}

@media (max-width: 620px) {
    .sgpct-start-calories,
    .sgpct-start-training {
        height: auto;
        min-height: 0;
        padding: 24px 20px;
        border-radius: 20px;
    }

    .sgpct-panel .sgpct-start-calories__extra-open {
        margin-bottom: 22px !important;
    }

    .sgpct-start-calories__content {
        grid-template-columns: minmax(0, 1fr);
        gap: 25px;
    }

    .sgpct-start-calories__ring {
        width: 150px;
    }

    .sgpct-start-calories__stats {
        width: min(100%, 260px);
        margin: 0 auto;
    }

    .sgpct-start-training__header {
        align-items: flex-start;
        flex-direction: column;
        gap: 12px;
        margin-bottom: 18px;
    }

    .sgpct-start-training__calories-actions {
        width: 100%;
        align-items: flex-start;
        flex-direction: column;
        gap: 10px;
    }

    .sgpct-start-training__calories-form {
        width: 100%;
        justify-content: flex-start;
        flex-wrap: wrap;
    }

    .sgpct-start-training__additional-activity {
        margin-top: 16px;
        padding-top: 16px;
    }

    .sgpct-start-training__table {
        table-layout: auto;
    }

    .sgpct-start-training__table tr {
        display: grid;
    }

    .sgpct-start-training__table td {
        width: 100%;
        padding: 6px;
    }

    .sgpct-start-training__exercise-name {
        padding-bottom: 4px !important;
        border-bottom: 0 !important;
    }

    .sgpct-start-training__exercise-action {
        padding-top: 4px !important;
        text-align: left;
    }
}

body.sgpct-start-extra-modal-open,
body.sgpct-training-journal-modal-open {
    overflow: hidden;
}

.sgpct-training-journal-modal__dialog {
    width: min(900px, 100%);
    max-height: min(90vh, 900px);
}

.sgpct-training-journal-modal__body {
    max-height: calc(min(90vh, 900px) - 132px);
}

.sgpct-training-journal__exercises {
    display: grid;
    gap: 20px;
}

.sgpct-training-journal__exercise {
    overflow: hidden;
    border: 1px solid rgba(15, 23, 42, .09);
    border-radius: 16px;
    background: #fff;
}

.sgpct-training-journal__exercise-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 18px;
    padding: 16px 18px;
    border-bottom: 1px solid rgba(15, 23, 42, .08);
    background: #f8fafc;
}

.sgpct-training-journal__exercise-head > div:first-child {
    min-width: 0;
}

.sgpct-training-journal__exercise-head > div:first-child > span {
    display: block;
    margin-bottom: 3px;
    color: #667085;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .06em;
    text-transform: uppercase;
}

.sgpct-panel .sgpct-training-journal__exercise-head h3,
.sgpct-training-journal__exercise-head h3 {
    margin: 0;
    color: var(--sgpct-heading-color, #2D465D);
    font-size: 16px;
    font-weight: 900;
    line-height: 1.3;
}

.sgpct-training-journal__plan-meta {
    display: flex;
    flex: 0 0 auto;
    align-items: center;
    justify-content: flex-end;
    gap: 6px;
    flex-wrap: wrap;
}

.sgpct-training-journal__plan-meta span {
    padding: 5px 8px;
    border-radius: 999px;
    background: #fff;
    color: #667085;
    font-size: 10px;
    font-weight: 800;
    line-height: 1.2;
    white-space: nowrap;
}

.sgpct-training-journal__sets {
    padding: 6px 18px 12px;
}

.sgpct-training-journal__set {
    display: grid;
    grid-template-columns: 64px minmax(0, 1fr) minmax(0, 1fr);
    align-items: center;
    gap: 12px;
    padding: 7px 0;
    border-bottom: 1px solid rgba(15, 23, 42, .07);
}

.sgpct-training-journal__set:last-child {
    border-bottom: 0;
}

.sgpct-training-journal__set--head {
    padding-top: 10px;
    color: #667085;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.sgpct-training-journal__set > strong {
    color: var(--sgpct-heading-color, #2D465D);
    font-size: 13px;
    font-weight: 900;
}

.sgpct-training-journal__set label {
    margin: 0;
}

.sgpct-panel .sgpct-training-journal__set input,
.sgpct-training-journal__set input {
    width: 100%;
    min-width: 0;
    height: 38px;
    margin: 0;
    padding: 7px 10px;
    border: 1px solid rgba(15, 23, 42, .14);
    border-radius: 9px;
    background: #fff;
    color: var(--sgpct-heading-color, #2D465D);
    font: inherit;
    font-size: 13px;
    font-weight: 800;
    text-align: center;
    box-shadow: none;
    box-sizing: border-box;
}

.sgpct-panel .sgpct-training-journal__set input:focus,
.sgpct-training-journal__set input:focus {
    border-color: rgba(34, 164, 71, .65);
    outline: 2px solid rgba(34, 164, 71, .13);
    outline-offset: 1px;
}

.sgpct-training-journal__footer {
    position: sticky;
    bottom: -28px;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 14px;
    margin: 22px -24px -28px;
    padding: 14px 24px;
    border-top: 1px solid #eaecf0;
    background: rgba(255, 255, 255, .96);
    backdrop-filter: blur(8px);
}

.sgpct-training-journal__status {
    margin-right: auto;
    color: #22a447;
    font-size: 12px;
    font-weight: 800;
    line-height: 1.35;
}

.sgpct-training-journal__status.is-error {
    color: #d92d20;
}

.sgpct-training-journal__empty {
    padding: 28px 18px;
    border: 1px dashed rgba(15, 23, 42, .15);
    border-radius: 14px;
    color: #667085;
    font-size: 13px;
    font-weight: 700;
    text-align: center;
}

@media (max-width: 767px) {
    .sgpct-training-journal-modal__dialog {
        max-height: 94vh;
    }

    .sgpct-training-journal-modal__body {
        max-height: calc(94vh - 126px);
    }

    .sgpct-training-journal__exercise-head {
        flex-direction: column;
        gap: 10px;
        padding: 14px;
    }

    .sgpct-training-journal__plan-meta {
        justify-content: flex-start;
    }

    .sgpct-training-journal__sets {
        padding: 5px 14px 10px;
    }

    .sgpct-training-journal__set {
        grid-template-columns: 46px minmax(0, 1fr) minmax(0, 1fr);
        gap: 8px;
    }

    .sgpct-training-journal__set--head {
        font-size: 9px;
    }

    .sgpct-training-journal__footer {
        bottom: -18px;
        margin: 18px -18px -18px;
        padding: 12px 18px;
        flex-wrap: wrap;
    }

    .sgpct-training-journal__status {
        width: 100%;
        margin-right: 0;
    }
}

.sgpct-start-extra-modal {
    position: fixed;
    inset: 0;
    z-index: 100010;
    display: none;
    align-items: center;
    justify-content: center;
    padding: 24px;
}

.sgpct-start-extra-modal.is-open {
    display: flex;
}

.sgpct-start-extra-modal__backdrop {
    position: absolute;
    inset: 0;
    background: rgba(15, 23, 42, .58);
    backdrop-filter: blur(3px);
}

.sgpct-start-extra-modal__dialog {
    position: relative;
    z-index: 1;
    width: min(760px, 100%);
    max-height: min(88vh, 820px);
    overflow: hidden;
    border: 1px solid rgba(15, 23, 42, .08);
    border-radius: 22px;
    background: #fff;
    box-shadow: 0 30px 80px rgba(15, 23, 42, .28);
    animation: sgpct-start-extra-enter .28s cubic-bezier(.22, 1, .36, 1) both;
}

@keyframes sgpct-start-extra-enter {
    from { opacity: 0; transform: translateY(12px) scale(.98); }
    to { opacity: 1; transform: translateY(0) scale(1); }
}

.sgpct-start-extra-modal__close {
    position: absolute;
    top: 15px;
    right: 15px;
    z-index: 2;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    padding: 0;
    border: 0;
    border-radius: 12px;
    background: #f2f4f7;
    color: #344054;
    font-size: 28px;
    line-height: 1;
    cursor: pointer;
}

.sgpct-start-extra-modal__close:hover,
.sgpct-start-extra-modal__close:focus-visible {
    background: #e4e7ec;
    outline: none;
}

.sgpct-start-extra-modal__header {
    padding: 24px 72px 20px 24px;
    border-bottom: 1px solid #eaecf0;
}

.sgpct-start-extra-modal__eyebrow {
    display: block;
    margin-bottom: 5px;
    color: #667085;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.sgpct-start-extra-modal__header h2 {
    margin: 0;
    font-size: 24px;
    line-height: 1.25;
}

.sgpct-start-extra-modal__header p {
    margin: 8px 0 0;
    color: #667085;
    font-size: 13px;
    line-height: 1.55;
}

.sgpct-start-extra-modal__body {
    max-height: calc(min(88vh, 820px) - 132px);
    overflow-y: auto;
    padding: 22px 24px 28px;
}

.sgpct-start-extra-modal__search-label {
    display: block;
    margin-bottom: 7px;
    color: var(--sgpct-heading-color, #2D465D);
    font-size: 12px;
    font-weight: 800;
}

.sgpct-dietitian-activity-modal__dialog {
    width: min(520px, 100%);
}

.sgpct-dietitian-activity-form {
    display: grid;
    gap: 16px;
}

.sgpct-dietitian-activity-form__field {
    display: grid;
    gap: 8px;
    margin: 0;
    color: var(--sgpct-heading-color, #2D465D);
    font-size: 13px;
    font-weight: 800;
}

.sgpct-dietitian-activity-form__input-wrap {
    display: flex;
    align-items: center;
    gap: 10px;
}

.sgpct-dietitian-activity-form__input-wrap input {
    width: min(220px, 100%);
    min-height: 46px;
    margin: 0;
    padding: 9px 12px;
    border: 1px solid rgba(15, 23, 42, .16);
    border-radius: 10px;
    background: #fff;
    color: var(--sgpct-heading-color, #2D465D);
    font: inherit;
    font-size: 16px;
    font-weight: 800;
    box-sizing: border-box;
}

.sgpct-dietitian-activity-form__input-wrap input:focus {
    border-color: rgba(34, 164, 71, .65);
    outline: 2px solid rgba(34, 164, 71, .13);
    outline-offset: 1px;
}

.sgpct-dietitian-activity-form__input-wrap > span {
    color: #667085;
    font-size: 13px;
    font-weight: 800;
}

.sgpct-panel .sgpct-dietitian-activity-form__save,
.sgpct-dietitian-activity-form__save {
    justify-self: start;
}

.sgpct-dietitian-activity-form__save[hidden] {
    display: none !important;
}

.sgpct-dietitian-activity-form__save[aria-disabled="true"] {
    opacity: .55;
    pointer-events: none;
}

.sgpct-dietitian-activity-form__status {
    min-height: 16px;
    color: #d92d20;
    font-size: 11px;
    font-weight: 700;
    line-height: 1.35;
}

body.sgpct-dietitian-activity-modal-open {
    overflow: hidden;
}

.sgpct-diet-extra-search__ean {
    color: #667085;
    font-size: 10px;
    line-height: 1.4;
}

@media (max-width: 767px) {
    .sgpct-start-extra-modal {
        align-items: flex-end;
        padding: 0;
    }

    .sgpct-start-extra-modal__dialog {
        width: 100%;
        max-height: 92vh;
        border-radius: 20px 20px 0 0;
    }

    .sgpct-start-extra-modal__header {
        padding: 20px 62px 16px 18px;
    }

    .sgpct-start-extra-modal__header h2 {
        font-size: 21px;
    }

    .sgpct-start-extra-modal__body {
        max-height: calc(92vh - 126px);
        padding: 18px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .sgpct-start-extra-modal__dialog {
        animation: none;
    }
}

@media (max-width: 980px) and (min-width: 761px) {
    .sgpct-onboarding__metrics-row--measurements {
        grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
    }
}

@media (max-width: 760px) {
    .sgpct-onboarding {
        width: min(100% - 16px, 980px);
        margin: 12px auto;
    }

    .sgpct-onboarding__header,
    .sgpct-onboarding__form {
        padding-left: 20px;
        padding-right: 20px;
    }

    .sgpct-onboarding__slide {
        min-height: 0;
    }

    .sgpct-onboarding__grid,
    .sgpct-onboarding__checks {
        grid-template-columns: 1fr;
    }

    .sgpct-onboarding__metrics-row--primary,
    .sgpct-onboarding__metrics-row--measurements {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .sgpct-onboarding-metric-card {
        min-height: 164px;
    }

    .sgpct-onboarding-avatar {
        flex-direction: column;
        align-items: center;
        text-align: center;
    }

    .sgpct-onboarding-avatar__controls {
        align-items: center;
    }

    .sgpct-onboarding__actions {
        flex-wrap: wrap;
    }
}

/* 1.41.77: Historia masy ciała na Stronie startowej klienta. */
.sgpct-start-page .sgpct-client-weight-chart{margin-top:0;padding:24px;border:1px solid rgba(15,23,42,.08);border-radius:14px;background:#fff;box-shadow:rgba(15,23,42,.06) 0 10px 32px;overflow:hidden}
.sgpct-start-page .sgpct-client-weight-chart__head{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin-bottom:18px}
.sgpct-start-page .sgpct-client-weight-chart__head h3{margin:0 0 5px;font-size:18px;line-height:1.3;color:#1d2327}
.sgpct-start-page .sgpct-client-weight-chart__head p{margin:0;color:#646970;font-size:13px}
.sgpct-start-page .sgpct-client-weight-chart__summary{display:flex;align-items:stretch;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.sgpct-start-page .sgpct-client-weight-chart__summary span{min-width:92px;padding:8px 11px;border:1px solid #e7e7e7;border-radius:9px;background:#f6f7f7}
.sgpct-start-page .sgpct-client-weight-chart__summary small,.sgpct-start-page .sgpct-client-weight-chart__summary strong{display:block}
.sgpct-start-page .sgpct-client-weight-chart__summary small{margin-bottom:3px;color:#777;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.55px}
.sgpct-start-page .sgpct-client-weight-chart__summary strong{color:#1d2327;font-size:14px}
.sgpct-start-page .sgpct-client-weight-chart__canvas{width:100%;overflow:hidden;border-radius:10px;background:linear-gradient(180deg,#fbfcfd 0%,#fff 100%)}
.sgpct-start-page .sgpct-client-weight-chart__svg{display:block;width:100%;max-width:100%;min-width:0;height:auto;overflow:visible}
.sgpct-start-page .sgpct-client-weight-chart__grid-line{stroke:#e7eaed;stroke-width:1}
.sgpct-start-page .sgpct-client-weight-chart__axis-label,.sgpct-start-page .sgpct-client-weight-chart__date-label{fill:#475467;font-size:15px;font-weight:700}
.sgpct-start-page .sgpct-client-weight-chart__date-label{font-size:14px}
.sgpct-start-page .sgpct-client-weight-chart__bar rect{stroke:none;transform-box:fill-box;transform-origin:center bottom;animation:sgpct-weight-bar-grow .78s cubic-bezier(.22,1,.36,1) var(--sgpct-bar-delay,0ms) both;transition:opacity .18s ease,filter .18s ease}
.sgpct-start-page .sgpct-client-weight-chart__bar:hover rect{opacity:.9}
.sgpct-start-page .sgpct-client-weight-chart__value{fill:var(--sgpct-weight-bar-font-color,#fff);font-family:var(--sgpct-weight-bar-font-family,inherit);font-size:16px;font-weight:var(--sgpct-weight-bar-font-weight,800);letter-spacing:.2px;pointer-events:none;opacity:0;animation:sgpct-weight-value-show .24s ease calc(var(--sgpct-bar-delay,0ms) + .54s) both}
@keyframes sgpct-weight-bar-grow{from{transform:scaleY(0)}to{transform:scaleY(1)}}
@keyframes sgpct-weight-value-show{from{opacity:0}to{opacity:1}}
@media(prefers-reduced-motion:reduce){.sgpct-start-page .sgpct-client-weight-chart__bar rect{animation:none}.sgpct-start-page .sgpct-client-weight-chart__value{animation:none;opacity:1}}
.sgpct-start-page .sgpct-client-weight-chart__empty{padding:34px 18px;border:1px dashed #c3c4c7;border-radius:10px;background:#f6f7f7;color:#646970;text-align:center}
@media(max-width:900px){.sgpct-start-page .sgpct-client-weight-chart__head{flex-direction:column}.sgpct-start-page .sgpct-client-weight-chart__summary{justify-content:flex-start;width:100%}}
@media(max-width:782px){.sgpct-start-page .sgpct-client-weight-chart{padding:15px}.sgpct-start-page .sgpct-client-weight-chart__summary span{flex:1 1 90px}}


/* 1.41.337 - Klient: „Moje diety” DIV + dopracowane style mobilne bez !important. */
.sgpct-client-diets__intro {
    margin: 8px 0 0;
    color: var(--sgpct-muted, #667085);
    font-size: 14px;
    line-height: 1.55;
}

.sgpct-client-diets__list {
    width: 100%;
    overflow: hidden;
    border: 1px solid rgba(15, 23, 42, 0.08);
    border-radius: 0;
    background: #fff;
    box-shadow: 0 12px 35px rgba(15, 23, 42, 0.06);
}

.sgpct-client-diets__row {
    display: flex;
    align-items: center;
    width: 100%;
    padding: 16px 18px;
    border: 0;
    border-bottom: 1px solid rgba(15, 23, 42, 0.06);
    border-radius: 0;
    background: #fff;
}

.sgpct-client-diets__row:last-child {
    border-bottom: 0;
}

.sgpct-client-diets__info {
    flex: 1 1 70%;
    min-width: 0;
}

.sgpct-client-diets__info-line {
    display: flex;
    align-items: baseline;
    gap: 8px;
    min-width: 0;
    overflow: hidden;
    white-space: nowrap;
}

.sgpct-client-diets__name {
    min-width: 0;
    overflow: hidden;
    color: var(--sgpct-heading-color, #2D465D);
    font-size: 14px;
    font-weight: 700;
    line-height: 1.35;
    text-overflow: ellipsis;
}

.sgpct-client-diets__meta,
.sgpct-client-diets__date {
    flex: 0 0 auto;
    color: #98a2b3;
    font-size: 11px;
    font-weight: 500;
    line-height: 1.35;
}

.sgpct-client-diets__actions {
    flex: 0 0 auto;
    margin-left: 24px;
}

.sgpct-client-diets__actions-line {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 16px;
    white-space: nowrap;
}

.sgpct-client-diets__link {
    display: inline-flex;
    align-items: center;
    color: var(--sgpct-heading-color, #2D465D);
    font-size: 12px;
    font-weight: 700;
    line-height: 1.35;
    text-decoration: none;
    white-space: nowrap;
}

.sgpct-client-diets__link:hover,
.sgpct-client-diets__link:focus {
    color: var(--sgpct-heading-color, #2D465D);
    text-decoration: underline;
}

.sgpct-client-diets__empty {
    padding: 48px 24px;
    border: 1px dashed rgba(15, 23, 42, 0.14);
    border-radius: 0;
    background: #fff;
    text-align: center;
}

.sgpct-client-diets__empty > .dashicons {
    width: 42px;
    height: 42px;
    margin-bottom: 10px;
    color: #98a2b3;
    font-size: 42px;
}

.sgpct-client-diets__empty h3 {
    margin: 0 0 8px;
    color: #101828;
}

.sgpct-client-diets__empty p {
    margin: 0;
    color: #667085;
}

@media screen and (max-width: 767px) {
    .sgpct-client-diets__list {
        overflow: visible;
        border: 1px solid rgba(15, 23, 42, 0.08);
        box-shadow: 0 5px 15px rgba(15, 23, 42, 0.06);
    }

    .sgpct-client-diets__row {
        display: block;
        margin: 0;
        padding: 12px 0;
        border: 0;
        border-bottom: 1px solid rgba(15, 23, 42, 0.06);
        border-radius: 0;
        background: #fff;
        box-shadow: none;
    }

    .sgpct-client-diets__row:last-child {
        padding-left: 10px;
        padding-right: 10px;
        border-bottom: 0;
    }

    .sgpct-client-diets__info,
    .sgpct-client-diets__actions {
        width: 100%;
        margin-left: 0;
    }

    .sgpct-client-diets__info-line {
        display: flex;
        width: 100%;
        gap: 6px;
    }

    .sgpct-client-diets__info-line > * {
        flex: 1;
    }

    .sgpct-client-diets__info-line > *:first-child {
        text-align: left;
    }

    .sgpct-client-diets__info-line > *:nth-child(2) {
        text-align: center;
    }

    .sgpct-client-diets__info-line > *:last-child {
        text-align: right;
    }

    .sgpct-client-diets__name {
        font-size: 11px;
    }

    .sgpct-client-diets__meta,
    .sgpct-client-diets__date {
        font-size: 10px;
    }

    .sgpct-client-diets__actions {
        margin-top: 10px;
        padding-top: 10px;
        border-top: 1px solid rgba(15, 23, 42, 0.06);
    }

    .sgpct-client-diets__actions-line {
        justify-content: flex-start;
        gap: 14px;
    }

    .sgpct-client-diets__actions-line > a {
        flex: 1;
        display: flex;
        align-items: center;
        justify-content: center;
        text-align: center;
        font-size: 10px;
        letter-spacing: 1px;
    }

    .sgpct-client-diets__link {
        font-weight: 500;
    }

    .sgpct-view__header {
        border: 0;
    }
}


/* 1.41.126 — kalendarz aktualnego planu dietetycznego na Stronie startowej klienta. */
.sgpct-diet-calendar {
    min-width: 0;
    margin: 0;
    padding: 22px;
    border: 1px solid rgba(15, 23, 42, 0.08);
    border-radius: 0;
    background: #fff;
    box-shadow: 0 10px 32px rgba(15, 23, 42, 0.06);
}

.sgpct-diet-calendar__header {
    display: flex;
    justify-content: space-between;
    gap: 20px;
    align-items: flex-start;
    margin-bottom: 20px;
}

.sgpct-diet-calendar__heading {
    display: flex;
    gap: 12px;
    align-items: center;
    min-width: 0;
}

.sgpct-diet-calendar__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    flex: 0 0 44px;
    border-radius: 14px;
    background: #ecfdf3;
    color: #067647;
    font-size: 22px;
    line-height: 1;
}

.sgpct-diet-calendar__eyebrow {
    display: block;
    margin-bottom: 3px;
    color: #667085;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.sgpct-diet-calendar__title {
    margin: 0;
    color: #101828;
    font-size: 20px;
    line-height: 1.3;
}

.sgpct-diet-calendar__summary {
    display: flex;
    flex-direction: column;
    gap: 3px;
    align-items: flex-end;
    text-align: right;
    color: #667085;
    font-size: 13px;
}

.sgpct-diet-calendar__summary strong {
    color: #101828;
    font-size: 14px;
}

.sgpct-diet-calendar__months {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 16px;
}

.sgpct-diet-calendar__month {
    padding: 16px;
    border: 1px solid rgba(15, 23, 42, 0.07);
    border-radius: 16px;
    background: #fcfcfd;
}

.sgpct-diet-calendar__month-title {
    margin: 0 0 14px;
    color: #101828;
    font-size: 15px;
    font-weight: 700;
    text-align: center;
    text-transform: capitalize;
}

.sgpct-diet-calendar__weekdays,
.sgpct-diet-calendar__grid {
    display: grid;
    grid-template-columns: repeat(7, minmax(0, 1fr));
    gap: 5px;
}

.sgpct-diet-calendar__weekdays {
    margin-bottom: 6px;
}

.sgpct-diet-calendar__weekdays span {
    color: #98a2b3;
    font-size: 10px;
    font-weight: 700;
    text-align: center;
    text-transform: uppercase;
}

.sgpct-diet-calendar__day {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    aspect-ratio: 1 / 1;
    min-width: 0;
    border-radius: 0;
    color: #475467;
    font-size: 10px;
    font-weight: 600;
    background: #fff;
}

.sgpct-diet-calendar__day--empty {
    background: transparent;
}

.sgpct-diet-calendar__day.is-plan-day {
    background: var(--sgpct-diet-plan-background, #2563eb);
    color: var(--sgpct-diet-plan-color, #fff);
    font-weight: 600;
    box-shadow: inset 0 0 0 1px rgba(15, 23, 42, 0.08);
}

.sgpct-diet-calendar__day.is-plan-start,
.sgpct-diet-calendar__day.is-plan-end {
    background: var(--sgpct-diet-plan-background, #2563eb);
    color: var(--sgpct-diet-plan-color, #fff);
}

.sgpct-diet-calendar__day.is-plan-day.is-completed,
button.sgpct-diet-calendar__day.is-plan-day.is-completed {
    background: #12b76a !important;
    color: #fff !important;
    box-shadow: inset 0 0 0 1px rgba(5, 96, 58, .18), 0 4px 12px rgba(18, 183, 106, .18);
}

/* 1.41.221 — przekroczony końcowy bilans kalorii ma pierwszeństwo przed statusem realizacji dnia. */
.sgpct-diet-calendar__day.is-plan-day.is-calorie-exceeded,
button.sgpct-diet-calendar__day.is-plan-day.is-calorie-exceeded {
    background: #d92d20 !important;
    color: #fff !important;
    box-shadow: inset 0 0 0 1px rgba(145, 32, 24, .22), 0 4px 12px rgba(217, 45, 32, .20);
}

.sgpct-diet-calendar__day.is-today::after {
    content: '';
    position: absolute;
    inset: 3px;
    border: 0;
    border-radius: 0;
    pointer-events: none;
}

.sgpct-diet-calendar__legend {
    display: flex;
    flex-wrap: wrap;
    gap: 14px 20px;
    margin-top: 16px;
    color: #667085;
    font-size: 12px;
}

.sgpct-diet-calendar__legend span {
    display: inline-flex;
    align-items: center;
    gap: 7px;
}

.sgpct-diet-calendar__legend-swatch,
.sgpct-diet-calendar__legend-today {
    display: inline-block;
    width: 14px;
    height: 14px;
    border-radius: 5px;
    background: var(--sgpct-diet-plan-background, #2563eb);
    box-shadow: inset 0 0 0 1px rgba(15, 23, 42, 0.10);
}

.sgpct-diet-calendar__legend-today {
    background: #fff;
    border: 2px solid #101828;
    box-shadow: none;
}

@media (max-width: 767px) {
    .sgpct-diet-calendar {
        padding: 16px;
        border-radius: 0;
    }

    .sgpct-diet-calendar__header {
        flex-direction: column;
        gap: 12px;
    }

    .sgpct-diet-calendar__summary {
        align-items: flex-start;
        padding-left: 56px;
        text-align: left;
    }

    .sgpct-diet-calendar__months {
        grid-template-columns: 1fr;
    }

    .sgpct-diet-calendar__month {
        padding: 13px;
    }

    .sgpct-diet-calendar__day {
        border-radius: 0;
        font-size: 10px;
    }
}

/* 1.41.128 — klikalne dni kalendarza i popup jadłospisu klienta. */
button.sgpct-diet-calendar__day {
    appearance: none;
    width: 100%;
    border: 0;
    padding: 0;
    font: inherit;
    cursor: pointer;
    transition: transform .16s ease, box-shadow .16s ease, background .16s ease;
}

button.sgpct-diet-calendar__day.is-plan-day:hover,
button.sgpct-diet-calendar__day.is-plan-day:focus-visible {
    transform: translateY(-1px);
    background: var(--sgpct-diet-plan-background, #2563eb);
    color: var(--sgpct-diet-plan-color, #fff);
    filter: brightness(.94);
    box-shadow: 0 5px 12px rgba(15, 23, 42, .14), inset 0 0 0 1px rgba(15, 23, 42, .12);
    outline: none;
}

button.sgpct-diet-calendar__day.is-plan-day.is-completed:hover,
button.sgpct-diet-calendar__day.is-plan-day.is-completed:focus-visible {
    background: #0e9f5b !important;
    color: #fff !important;
    filter: none;
}

button.sgpct-diet-calendar__day.is-plan-day.is-calorie-exceeded:hover,
button.sgpct-diet-calendar__day.is-plan-day.is-calorie-exceeded:focus-visible {
    background: #b42318 !important;
    color: #fff !important;
    filter: none;
}

.sgpct-diet-calendar__legend-click .dashicons {
    width: 14px;
    height: 14px;
    font-size: 14px;
    line-height: 14px;
    color: #067647;
}

body.sgpct-diet-day-modal-open {
    overflow: hidden;
}

.sgpct-diet-day-modal {
    position: fixed;
    inset: 0;
    z-index: 100000;
    display: none;
    align-items: center;
    justify-content: center;
    padding: 24px;
}

.sgpct-diet-day-modal.is-open {
    display: flex;
}

.sgpct-diet-day-modal__backdrop {
    position: absolute;
    inset: 0;
    background: rgba(15, 23, 42, .58);
    backdrop-filter: blur(3px);
}

.sgpct-diet-day-modal__dialog {
    position: relative;
    z-index: 1;
    width: min(920px, 100%);
    max-height: min(88vh, 920px);
    overflow: hidden;
    border-radius: 22px;
    background: #fff;
    box-shadow: 0 30px 80px rgba(15, 23, 42, .28);
}

.sgpct-diet-day-modal__close {
    position: absolute;
    top: 14px;
    right: 14px;
    z-index: 2;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 38px;
    height: 38px;
    border: 0;
    border-radius: 12px;
    background: #f2f4f7;
    color: #344054;
    font-size: 27px;
    line-height: 1;
    cursor: pointer;
}

.sgpct-diet-day-modal__close:hover,
.sgpct-diet-day-modal__close:focus-visible {
    background: #e4e7ec;
    outline: none;
}

.sgpct-diet-day-modal__header {
    padding: 24px 72px 18px 24px;
    border-bottom: 1px solid #eaecf0;
}

.sgpct-diet-day-modal__eyebrow {
    display: block;
    margin-bottom: 4px;
    color: #067647;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.sgpct-diet-day-modal__header h2 {
    margin: 0;
    color: #101828;
    font-size: 24px;
    line-height: 1.25;
}

.sgpct-diet-day-modal__body {
    max-height: calc(min(88vh, 920px) - 92px);
    overflow-y: auto;
    padding: 22px 24px 28px;
}

.sgpct-diet-day-modal__loading {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    min-height: 180px;
    color: #667085;
    font-weight: 600;
}

.sgpct-diet-day-modal__loading[hidden],
.sgpct-diet-day-modal__error[hidden],
[data-sgpct-diet-day-content][hidden] {
    display: none !important;
}

.sgpct-diet-day-modal__loading::before {
    content: '';
    width: 22px;
    height: 22px;
    border: 3px solid #d1fadf;
    border-top-color: #12b76a;
    border-radius: 50%;
    animation: sgpct-diet-day-spin .7s linear infinite;
}

.sgpct-diet-day-modal__loading .spinner {
    display: none;
}

@keyframes sgpct-diet-day-spin {
    to { transform: rotate(360deg); }
}

.sgpct-diet-day-modal__error {
    padding: 16px;
    border: 1px solid #fecdca;
    border-radius: 14px;
    background: #fef3f2;
    color: #b42318;
    font-weight: 700;
}

.sgpct-diet-day-summary {
    display: grid;
    grid-template-columns: minmax(120px, 160px) minmax(0, 1fr);
    align-items: center;
    gap: 24px;
    margin-bottom: 22px;
    padding: 20px 24px;
    overflow: hidden;
    border-radius: 18px;
}

.sgpct-diet-day-summary__ring-column {
    display: flex;
    align-items: center;
    justify-content: center;
}

.sgpct-diet-day-summary__ring {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 120px;
    height: 120px;
    flex: 0 0 120px;
    border-radius: 50%;
    transform: rotate(-1deg);
}

.sgpct-diet-day-summary__ring::after {
    content: '';
    position: absolute;
    inset: 12px;
    z-index: 0;
    border-radius: 50%;
    background: #fff;
}

.sgpct-diet-day-summary__ring-center {
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    transform: rotate(1deg);
    line-height: 1;
}

.sgpct-diet-day-summary__kcal-value {
    color: var(--sgpct-heading-color, #2D465D);
    font-size: 22px;
    font-weight: 800;
    letter-spacing: -.03em;
}

.sgpct-diet-day-summary__kcal-unit {
    margin-top: 7px;
    color: var(--sgpct-heading-color, #2D465D);
    font-size: 14px;
    font-weight: 500;
}

.sgpct-diet-day-summary__metrics {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    align-items: center;
    gap: 18px;
}

.sgpct-diet-day-summary__macro {
    min-width: 0;
    text-align: center;
}

.sgpct-diet-day-summary__percent,
.sgpct-diet-day-summary__grams,
.sgpct-diet-day-summary__name {
    display: block;
}

.sgpct-diet-day-summary__percent {
    margin-bottom: 9px;
    color: var(--sgpct-diet-macro-color);
    font-size: 20px;
    font-weight: 700;
    line-height: 1;
}

.sgpct-diet-day-summary__grams {
    color: var(--sgpct-heading-color, #2D465D);
    font-size: 22px;
    font-weight: 400;
    line-height: 1.1;
}

.sgpct-diet-day-summary__name {
    margin-top: 10px;
    color: var(--sgpct-heading-color, #2D465D);
    font-size: 13px;
    font-weight: 500;
    line-height: 1.25;
}

.sgpct-diet-day-meals {
    display: grid;
    gap: 14px;
}

.sgpct-diet-day-meal {
    overflow: hidden;
    border: 1px solid #e4e7ec;
    border-radius: 16px;
    background: #fff;
}

.sgpct-diet-day-meal__header {
    display: flex;
    justify-content: space-between;
    gap: 16px;
    align-items: flex-start;
    padding: 16px 18px;
    background: #f9fafb;
    border-bottom: 1px solid #eaecf0;
    cursor: pointer;
    user-select: none;
    transition: background-color .2s ease, border-color .2s ease;
}

.sgpct-diet-day-meal__header:focus-visible {
    outline: 2px solid currentColor;
    outline-offset: -3px;
}

.sgpct-diet-day-meal__title {
    margin: 0;
    color: #101828;
    font-size: 16px;
    line-height: 1.35;
}

.sgpct-diet-day-meal__meta {
    display: flex;
    align-items: center;
    gap: 10px;
    flex: 0 0 auto;
}

.sgpct-diet-day-meal__macro {
    flex: 0 0 auto;
    color: #475467;
    font-size: 12px;
    font-weight: 700;
    text-align: right;
}

.sgpct-diet-day-meal__title-wrap {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px 12px;
    min-width: 0;
}

.sgpct-diet-day-meal__complete {
    appearance: none;
    padding: 0;
    border: 0;
    background: transparent;
    color: #067647;
    font: inherit;
    font-size: 12px;
    font-weight: 800;
    line-height: 1.2;
    text-decoration: underline;
    text-underline-offset: 3px;
    cursor: pointer;
}

.sgpct-diet-day-meal__complete:hover,
.sgpct-diet-day-meal__complete:focus-visible {
    color: #054f31;
    outline: none;
}

.sgpct-diet-day-meal__complete.is-loading {
    opacity: .55;
    cursor: progress;
}

.sgpct-diet-day-meal__complete:disabled,
.sgpct-diet-day-meal__complete.is-disabled {
    color: #98a2b3 !important;
    opacity: .72;
    text-decoration: none;
    cursor: not-allowed;
    pointer-events: none;
}

.sgpct-diet-day-meal.is-completed .sgpct-diet-day-meal__complete:disabled,
.sgpct-diet-day-meal.is-completed .sgpct-diet-day-meal__complete.is-disabled {
    color: #d0d5dd !important;
}

.sgpct-diet-day-meal.is-completed .sgpct-diet-day-meal__header {
    background: #12b76a;
    border-bottom-color: #0e9f5b;
}

.sgpct-diet-day-meal.is-completed .sgpct-diet-day-meal__title,
.sgpct-diet-day-meal.is-completed .sgpct-diet-day-meal__macro,
.sgpct-diet-day-meal.is-completed .sgpct-diet-day-meal__complete {
    color: #fff;
}

.sgpct-diet-day-meal.is-completed .sgpct-diet-day-meal__complete:hover,
.sgpct-diet-day-meal.is-completed .sgpct-diet-day-meal__complete:focus-visible {
    color: #ecfdf3;
}

.sgpct-diet-day-meal__arrow {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 22px;
    height: 22px;
    color: #667085;
    font-size: 20px;
    font-weight: 800;
    line-height: 1;
    transform: rotate(0deg);
    transition: transform .28s ease, color .2s ease;
}

.sgpct-diet-day-meal.is-open .sgpct-diet-day-meal__arrow {
    transform: rotate(180deg);
}

.sgpct-diet-day-meal.is-completed .sgpct-diet-day-meal__arrow {
    color: #fff;
}

.sgpct-diet-day-meal__body {
    height: 0;
    overflow: hidden;
    padding: 0 18px;
    transition: height .32s ease, padding .32s ease;
}

.sgpct-diet-day-meal.is-open .sgpct-diet-day-meal__body {
    padding: 16px 18px 18px;
}

.sgpct-diet-day-meal__section + .sgpct-diet-day-meal__section {
    margin-top: 16px;
}

.sgpct-diet-day-meal__mobile-section-title {
    margin: 0 0 8px;
    color: #344054;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .03em;
    text-transform: uppercase;
}

.sgpct-diet-day-meal__ingredients {
    display: grid;
    gap: 7px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.sgpct-diet-day-meal__ingredient {
    display: flex;
    justify-content: space-between;
    gap: 14px;
    padding-bottom: 7px;
    border-bottom: 1px dashed #eaecf0;
    color: #344054;
    font-size: 14px;
}

.sgpct-diet-day-meal__ingredient:last-child {
    padding-bottom: 0;
    border-bottom: 0;
}

.sgpct-diet-day-meal__ingredient strong {
    color: #101828;
    font-weight: 700;
}

.sgpct-diet-day-meal__preparation {
    margin: 0;
    color: #475467;
    font-size: 14px;
    line-height: 1.65;
    white-space: pre-line;
}

@media (max-width: 767px) {
    .sgpct-diet-day-modal {
        align-items: flex-end;
        padding: 0;
    }

    .sgpct-diet-day-modal__dialog {
        width: 100%;
        max-height: 92vh;
        border-radius: 20px 20px 0 0;
    }

    .sgpct-diet-day-modal__header {
        padding: 20px 62px 15px 18px;
    }

    .sgpct-diet-day-modal__header h2 {
        font-size: 20px;
    }

    .sgpct-diet-day-modal__body {
        max-height: calc(92vh - 80px);
        padding: 18px;
    }

    .sgpct-diet-day-summary {
        grid-template-columns: 1fr;
        gap: 20px;
        padding: 22px 16px;
    }

    .sgpct-diet-day-summary__ring {
        width: 120px;
        height: 120px;
        flex-basis: 120px;
    }

    .sgpct-diet-day-summary__ring::after {
        inset: 12px;
    }

    .sgpct-diet-day-summary__kcal-value {
        font-size: 22px;
    }

    .sgpct-diet-day-summary__kcal-unit {
        margin-top: 7px;
        font-size: 14px;
    }

    .sgpct-diet-day-summary__metrics {
        gap: 8px;
    }

    .sgpct-diet-day-summary__percent {
        margin-bottom: 7px;
        font-size: 20px;
    }

    .sgpct-diet-day-summary__grams {
        font-size: 22px;
    }

    .sgpct-diet-day-summary__name {
        margin-top: 7px;
        font-size: 12px;
    }

    .sgpct-diet-day-meal__header {
        flex-direction: column;
        gap: 6px;
    }

    .sgpct-diet-day-meal__macro {
        text-align: left;
    }
}

/* 1.41.134 — produkty dodane przez klienta poza planem */
.sgpct-diet-day-extras {
    margin-top: 20px;
}

.sgpct-diet-day-extras__section {
    padding: 18px;
    border: 1px solid #e4e7ec;
    border-radius: 18px;
    background: #fcfcfd;
}

.sgpct-diet-day-extras__header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 14px;
    margin-bottom: 8px;
}

.sgpct-diet-day-extras__eyebrow {
    display: block;
    margin-bottom: 3px;
    color: #667085;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.sgpct-diet-day-extras__title {
    margin: 0;
    color: #101828;
    font-size: 18px;
    line-height: 1.3;
}

.sgpct-diet-day-extras__badge {
    flex: 0 0 auto;
    padding: 7px 10px;
    border: 1px solid #fec84b;
    border-radius: 999px;
    background: #fffaeb;
    color: #b54708;
    font-size: 12px;
    font-weight: 900;
}

.sgpct-diet-day-extras__description {
    margin: 0 0 14px;
    color: #667085;
    font-size: 13px;
    line-height: 1.55;
}

.sgpct-diet-day-extras__list {
    display: grid;
    gap: 8px;
    margin-bottom: 14px;
}

.sgpct-diet-day-extras__item {
    display: grid;
    grid-template-columns: minmax(0,1fr) auto auto;
    align-items: center;
    gap: 12px;
    padding: 11px 12px;
    border: 1px solid #eaecf0;
    border-radius: 12px;
    background: #fff;
}

.sgpct-diet-day-extras__item-main {
    display: grid;
    gap: 2px;
    min-width: 0;
}

.sgpct-diet-day-extras__item-main strong {
    overflow: hidden;
    color: #101828;
    font-size: 13px;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.sgpct-diet-day-extras__item-main span {
    color: #667085;
    font-size: 11px;
}

.sgpct-diet-day-extras__item-kcal {
    color: #b54708;
    font-size: 12px;
    font-weight: 900;
    white-space: nowrap;
}

.sgpct-diet-day-extras__remove,
.sgpct-diet-extra-search__add {
    appearance: none !important;
    min-height: 34px !important;
    padding: 7px 11px !important;
    border: 1px solid #d0d5dd !important;
    border-radius: 9px !important;
    background: #fff !important;
    background-image: none !important;
    box-shadow: none !important;
    color: #344054 !important;
    font-size: 11px !important;
    font-weight: 800 !important;
    line-height: 1.2 !important;
    cursor: pointer;
}

.sgpct-diet-day-extras__remove:hover,
.sgpct-diet-day-extras__remove:focus-visible,
.sgpct-diet-extra-search__add:hover,
.sgpct-diet-extra-search__add:focus-visible {
    border-color: #98a2b3 !important;
    background: #f9fafb !important;
    color: #101828 !important;
    outline: none;
}

.sgpct-diet-day-extras__remove.is-loading,
.sgpct-diet-extra-search__add.is-loading {
    opacity: .55;
    cursor: progress;
}

.sgpct-diet-day-extras__insight {
    display: flex;
    align-items: flex-start;
    gap: 11px;
    margin: 0 0 16px;
    padding: 13px 14px;
    border: 1px solid #fedf89;
    border-radius: 14px;
    background: #fffaeb;
    color: #7a2e0e;
}

.sgpct-diet-day-extras__insight > .dashicons {
    flex: 0 0 auto;
    margin-top: 1px;
    color: #dc6803;
}

.sgpct-diet-day-extras__insight-text {
    display: grid;
    gap: 3px;
}

.sgpct-diet-day-extras__insight-text strong {
    font-size: 13px;
}

.sgpct-diet-day-extras__insight-text span {
    font-size: 12px;
    font-weight: 700;
}

.sgpct-diet-day-extras__insight-text small {
    color: #93370d;
    font-size: 10px;
    line-height: 1.45;
}

.sgpct-diet-day-extras__locked {
    margin: 12px 0 0;
    padding: 11px 12px;
    border-radius: 11px;
    background: #f2f4f7;
    color: #667085;
    font-size: 12px;
    line-height: 1.5;
}

.sgpct-diet-extra-search {
    margin-top: 14px;
    padding-top: 16px;
    border-top: 1px solid #eaecf0;
}

.sgpct-diet-extra-search__title {
    margin: 0 0 4px;
    color: #101828;
    font-size: 14px;
    font-weight: 900;
}

.sgpct-diet-extra-search__hint {
    margin: 0 0 10px;
    color: #667085;
    font-size: 12px;
    line-height: 1.45;
}

.sgpct-diet-extra-search__input {
    width: 100%;
    min-height: 44px;
    padding: 9px 12px;
    border: 1px solid #d0d5dd;
    border-radius: 11px;
    background: #fff;
    color: #101828;
    font-size: 14px;
    outline: none;
}

.sgpct-diet-extra-search__input:focus {
    border-color: #98a2b3;
    box-shadow: 0 0 0 3px rgba(152,162,179,.12);
}

.sgpct-diet-extra-search__status {
    min-height: 18px;
    padding: 6px 2px 0;
    color: #667085;
    font-size: 11px;
}

.sgpct-diet-extra-search__results {
    display: grid;
    gap: 8px;
    margin-top: 7px;
}

.sgpct-diet-extra-search__result {
    display: grid;
    grid-template-columns: 46px minmax(0,1fr) auto;
    gap: 10px;
    align-items: center;
    padding: 10px;
    border: 1px solid #eaecf0;
    border-radius: 13px;
    background: #fff;
}

.sgpct-diet-extra-search__result.is-blocked {
    border-color: #fecdca;
    background: #fef3f2;
}

.sgpct-diet-extra-search__visual {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 46px;
    height: 46px;
    overflow: hidden;
    border-radius: 10px;
    background: #f2f4f7;
    color: #98a2b3;
}

.sgpct-diet-extra-search__visual img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.sgpct-diet-extra-search__info {
    display: grid;
    gap: 2px;
    min-width: 0;
}

.sgpct-diet-extra-search__name {
    overflow: hidden;
    color: #101828;
    font-size: 13px;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.sgpct-diet-extra-search__brand,
.sgpct-diet-extra-search__macro {
    color: #667085;
    font-size: 10px;
    line-height: 1.4;
}

.sgpct-diet-extra-search__restriction {
    margin-top: 2px;
    color: #b42318;
    font-size: 10px;
    font-weight: 800;
}

.sgpct-diet-extra-search__controls {
    display: flex;
    align-items: flex-end;
    gap: 7px;
}

.sgpct-diet-extra-search__qty {
    display: grid;
    grid-template-columns: 68px auto;
    align-items: center;
    gap: 4px;
    color: #667085;
    font-size: 10px;
}

.sgpct-diet-extra-search__qty > span:first-child {
    grid-column: 1 / -1;
    font-weight: 800;
}

.sgpct-diet-extra-search__qty input {
    width: 68px;
    min-height: 34px;
    padding: 5px 7px;
    border: 1px solid #d0d5dd;
    border-radius: 8px;
    background: #fff;
    color: #101828;
    font-size: 12px;
}

.sgpct-diet-extra-search__qty em {
    color: #667085;
    font-size: 11px;
    font-style: normal;
    font-weight: 700;
}

.sgpct-diet-extra-search__add {
    border-color: #12b76a !important;
    background: #12b76a !important;
    color: #fff !important;
}

.sgpct-diet-extra-search__add:hover,
.sgpct-diet-extra-search__add:focus-visible {
    border-color: #0e9f5b !important;
    background: #0e9f5b !important;
    color: #fff !important;
}

.sgpct-diet-extra-search__add:disabled {
    border-color: #d0d5dd !important;
    background: #f2f4f7 !important;
    color: #98a2b3 !important;
    cursor: not-allowed;
}

@media (max-width: 767px) {
    .sgpct-diet-day-extras__section {
        padding: 14px;
    }

    .sgpct-diet-day-extras__item {
        grid-template-columns: minmax(0,1fr) auto;
    }

    .sgpct-diet-day-extras__remove {
        grid-column: 1 / -1;
        justify-self: end;
    }

    .sgpct-diet-extra-search__result {
        grid-template-columns: 42px minmax(0,1fr);
    }

    .sgpct-diet-extra-search__visual {
        width: 42px;
        height: 42px;
    }

    .sgpct-diet-extra-search__controls {
        grid-column: 1 / -1;
        justify-content: flex-end;
    }
}
.sgpct-diet-extra-search__warning {
    margin-top: 2px;
    color: #b54708;
    font-size: 10px;
    font-weight: 800;
}

/* 1.41.135 — Dziennik tygodniowy / Metoda 5 Zwycięstw */
.sgpct-weekly-journal {
    --wj-bg:#0d0d0f;
    --wj-bg2:#131317;
    --wj-bg3:#1a1a22;
    --wj-border:#2a2740;
    --wj-purple:#7c3aed;
    --wj-purple-light:#a78bfa;
    --wj-purple-dark:#4c1d95;
    --wj-gold:#f59e0b;
    --wj-gold-light:#fcd34d;
    --wj-green:#34d399;
    --wj-red:#f87171;
    --wj-white:#f8f7ff;
    --wj-white-mid:#c8c3e6;
    --wj-white-dim:#7a708e;
    background:#fff;
    color:#1f2937;
    border-radius:18px;
    overflow:hidden;
}
.sgpct-wj-topbar{background:#fff;border-bottom:1px solid #e5e7eb;padding:20px 18px 12px;display:flex;align-items:center;justify-content:center;gap:14px;flex-wrap:wrap}
.sgpct-wj-topbar__actions,.sgpct-wj-week-nav,.sgpct-wj-controls,.sgpct-wj-controls__left{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.sgpct-wj-week-nav{justify-content:center;margin-left:auto;margin-right:auto}.sgpct-panel .sgpct-wj-controls__left[hidden]{display:none!important}
.sgpct-wj-week-nav button{width:30px!important;height:30px!important;min-width:30px!important;padding:0!important;border-radius:7px!important;border:1px solid var(--wj-border)!important;background:var(--wj-bg2)!important;color:var(--wj-white-mid)!important;box-shadow:none!important;font-size:16px!important;line-height:1!important;display:flex!important;align-items:center!important;justify-content:center!important}
.sgpct-wj-week-nav button:hover{background:var(--wj-bg3)!important;color:var(--wj-white)!important}
.sgpct-wj-week-label{font-size:16px;font-weight:700;letter-spacing:1px;color:#1f2937;min-width:150px;text-align:center}
.sgpct-wj-btn{display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:6px!important;padding:7px 13px!important;letter-spacing:.03em!important;line-height:1.2!important;cursor:pointer!important;text-decoration:none!important;min-height:32px!important}
.sgpct-wj-btn--green{background:rgba(52,211,153,.15)!important;color:var(--wj-green)!important;border:1px solid rgba(52,211,153,.3)!important}
.sgpct-wj-btn--green:hover{background:rgba(52,211,153,.25)!important}.sgpct-panel .sgpct-wj-save-corrections:disabled,.sgpct-panel .sgpct-wj-save-corrections.is-disabled{background:#e5e7eb!important;color:#9ca3af!important;border-color:#d1d5db!important;cursor:not-allowed!important;opacity:1!important;filter:none!important;box-shadow:none!important;transform:none!important}
.sgpct-wj-hero{text-align:center;padding:30px 20px 24px}
.sgpct-wj-hero p{margin:0 auto!important;max-width:560px;color:#6b7280!important;font-size:13px!important}
.sgpct-wj-controls{justify-content:space-between;padding:20px 20px 18px}
.sgpct-wj-score-pill{display:flex;align-items:center;justify-content:center;gap:7px;background:var(--wj-bg2);border:1px solid var(--wj-border);border-radius:10px;padding:6px 12px;color:var(--wj-white-dim);font-size:10px;font-weight:600;flex:1 1 0;min-width:0}
.sgpct-wj-score-label{text-transform:uppercase;letter-spacing:.06em}
.sgpct-wj-score-pill strong{font-size:20px;color:var(--wj-gold-light);line-height:1}
.sgpct-wj-loading{margin:0 20px 20px;padding:16px;border-radius:12px;background:var(--wj-bg2);border:1px solid var(--wj-border);color:var(--wj-white-mid);text-align:center}
.sgpct-wj-error{margin:0 20px 20px;padding:36px 16px;background:transparent!important;border:0!important;border-radius:0!important;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px}.sgpct-wj-error[hidden]{display:none!important}.sgpct-wj-error__icon{display:block;width:54px;height:54px;font-size:54px;line-height:54px}.sgpct-wj-error__text{margin:0!important;font-size:16px!important;line-height:1.4!important;font-weight:700!important}
.sgpct-wj-content{padding:0 20px 26px}
.sgpct-wj-main-grid{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:20px;align-items:start}
.sgpct-wj-sidebar{display:flex;flex-direction:column;gap:16px}
.sgpct-wj-table-scroll{overflow-x:auto;border-radius:14px}
.sgpct-wj-table-wrap{min-width:820px;background:var(--wj-bg2);border:1px solid var(--wj-border);border-radius:14px;overflow:hidden}
.sgpct-wj-table-header,.sgpct-wj-row,.sgpct-wj-day-scores{display:grid;grid-template-columns:180px repeat(7,minmax(82px,1fr))}
.sgpct-wj-table-header{background:var(--wj-bg3);border-bottom:1px solid var(--wj-inner-border,#f7f8f9)}
.sgpct-wj-th{padding:10px 7px;font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--wj-white-dim);text-align:center;border-right:1px solid var(--wj-inner-border,#f7f8f9)}
.sgpct-wj-th:last-child{border-right:0}.sgpct-wj-th--victory{text-align:left;padding-left:14px;color:var(--wj-purple-light)}.sgpct-wj-th--day{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;line-height:1.15}.sgpct-wj-day-date{display:block;font-size:9px;font-weight:600;letter-spacing:.02em;text-transform:none;color:var(--wj-white-dim);line-height:1.15}
.sgpct-wj-row{border-bottom:1px solid var(--wj-inner-border,#f7f8f9);transition:background .15s}.sgpct-wj-row:hover{background:rgba(124,58,237,.04)}
.sgpct-wj-cell{padding:10px 7px;border-right:1px solid var(--wj-inner-border,#f7f8f9);display:flex;align-items:center;justify-content:center;min-height:56px}.sgpct-wj-cell:last-child{border-right:0}
.sgpct-wj-cell--label{justify-content:flex-start;padding:10px 14px;gap:9px}
.sgpct-wj-win-num{width:25px;height:25px;border-radius:6px;background:var(--wj-purple-dark);color:var(--wj-purple-light);font-size:11px;font-weight:800;display:flex;align-items:center;justify-content:center;flex:0 0 auto}
.sgpct-wj-win-name{font-size:12px;font-weight:700;color:var(--wj-white);line-height:1.3}.sgpct-wj-win-desc{font-size:10px;color:var(--wj-white-dim);line-height:1.35;margin-top:2px}
.sgpct-wj-check{position:relative;width:32px;height:32px;display:block}.sgpct-wj-check input{position:absolute!important;inset:0!important;width:32px!important;height:32px!important;opacity:0!important;margin:0!important;z-index:2!important;cursor:pointer!important}.sgpct-wj-check-box{position:absolute;inset:0;border-radius:8px;border:1.5px solid var(--wj-inner-border,#f7f8f9);background:transparent;display:flex;align-items:center;justify-content:center;transition:.15s;pointer-events:none}.sgpct-wj-check input:checked + .sgpct-wj-check-box{background:var(--wj-green);border-color:var(--wj-inner-border,#f7f8f9)}.sgpct-wj-check input:checked + .sgpct-wj-check-box:after{content:"";width:8px;height:5px;border-left:2px solid #0d0d0f;border-bottom:2px solid #0d0d0f;transform:rotate(-45deg) translateY(-1px)}.sgpct-wj-check.is-locked{opacity:.72;cursor:not-allowed}.sgpct-wj-check.is-locked input{cursor:not-allowed!important}.sgpct-wj-cell.is-past-day .sgpct-wj-check-box{transition:none}.sgpct-wj-check.is-missed{opacity:1}.sgpct-wj-check.is-missed .sgpct-wj-check-box{background:rgba(248,113,113,.14)!important;border-color:var(--wj-red)!important}.sgpct-wj-check.is-missed .sgpct-wj-check-box:after{content:"×";display:block;color:var(--wj-red);font-size:20px;font-weight:800;line-height:1;transform:none;border:0;width:auto;height:auto}
.sgpct-wj-day-scores{background:var(--wj-bg3);border-top:1px solid var(--wj-inner-border,#f7f8f9)}
.sgpct-wj-score-label-cell{padding:8px 14px;border-right:1px solid var(--wj-inner-border,#f7f8f9);font-size:10px;font-weight:700;color:var(--wj-white-dim);text-transform:uppercase;letter-spacing:.08em;display:flex;align-items:center}.sgpct-wj-day-score{padding:8px;text-align:center;border-right:1px solid var(--wj-inner-border,#f7f8f9);display:flex;flex-direction:column;align-items:center;gap:3px}.sgpct-wj-day-score:last-child{border-right:0}.sgpct-wj-day-score strong{font-size:16px;color:inherit}
.sgpct-wj-day-badge{font-size:9px;font-weight:800;letter-spacing:.06em;text-transform:none;padding:2px 7px;border-radius:100px}.sgpct-wj-day-badge--win{background:transparent;color:#166534;font-weight:900}.sgpct-wj-day-badge--lose{background:transparent;color:#dc2626;font-weight:900}.sgpct-wj-day-badge--none{background:rgba(122,112,142,.1);color:var(--wj-white-dim)}
.sgpct-wj-rule-box{margin-top:12px;background:var(--wj-bg2);border:1px solid var(--wj-border);border-radius:10px;padding:10px 12px;display:flex;gap:8px;align-items:flex-start}.sgpct-wj-rule-icon{flex:0 0 auto;width:20px;height:20px;font-size:20px;line-height:20px;margin-top:0}.sgpct-wj-rule-box p{margin:0!important;font-size:11px!important;color:var(--wj-white-mid)!important;line-height:1.55!important}.sgpct-wj-rule-box strong{color:inherit}
.sgpct-wj-card{background:var(--wj-bg2);border:1px solid var(--wj-border);border-radius:14px;overflow:hidden}.sgpct-wj-main>.sgpct-wj-card{margin-top:14px}.sgpct-wj-card__head{padding:12px 15px;border-bottom:1px solid var(--wj-border);display:flex;align-items:center;justify-content:space-between;gap:8px}.sgpct-wj-card__head>span{font-size:10px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--wj-purple-light)}.sgpct-wj-card__body{padding:15px}.sgpct-wj-card__intro{font-size:11px!important;color:var(--wj-white-dim)!important;margin:0 0 10px!important}
.sgpct-wj-note,.sgpct-wj-correction-text,.sgpct-wj-def-name,.sgpct-wj-def-desc{font-family:inherit!important;color:var(--wj-white-mid)!important;outline:0!important;box-shadow:none!important}.sgpct-wj-note{width:100%;background:#fff!important;border:0!important;border-radius:0!important;padding:10px!important;min-height:90px;resize:vertical;font-size:12px!important;line-height:1.6!important}.sgpct-wj-note::placeholder,.sgpct-wj-correction-text::placeholder{color:var(--wj-white-dim)!important}
.sgpct-wj-stats-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-bottom:14px}.sgpct-wj-stat{background:#fff;border:1px solid var(--wj-border);border-radius:10px;padding:10px 11px}.sgpct-wj-stat strong{display:block;font-size:24px;line-height:1;margin-bottom:4px}.sgpct-wj-stat span{font-size:9px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--wj-white-dim)}
.sgpct-wj-c-green{color:var(--wj-green)!important}.sgpct-wj-c-gold{color:var(--wj-gold-light)!important}.sgpct-wj-c-red{color:var(--wj-red)!important}.sgpct-wj-c-purple{color:var(--wj-purple-light)!important}
.sgpct-wj-progress{margin-bottom:10px}.sgpct-wj-progress:last-child{margin-bottom:0}.sgpct-wj-progress__label{display:flex;justify-content:space-between;font-size:10px;color:var(--wj-white-dim);margin-bottom:5px}.sgpct-wj-progress__bar{height:6px;background:#fff;border:1px solid var(--wj-border);border-radius:14px;box-sizing:border-box;overflow:hidden}.sgpct-wj-progress__fill{height:100%;border-radius:inherit;background:var(--wj-purple-light);transition:width .3s ease,background-color .3s ease}.sgpct-panel .sgpct-wj-progress__fill.sgpct-wj-progress__fill--green{background:#16a34a!important}.sgpct-panel .sgpct-wj-progress__fill.sgpct-wj-progress__fill--yellow{background:#eab308!important}.sgpct-panel .sgpct-wj-progress__fill.sgpct-wj-progress__fill--orange{background:#f97316!important}.sgpct-panel .sgpct-wj-progress__fill.sgpct-wj-progress__fill--red{background:#dc2626!important}
.sgpct-wj-corrections{display:flex;flex-direction:column;gap:9px}.sgpct-wj-correction{background:#fff!important;border:1px solid var(--wj-border)!important;border-radius:0!important;padding:0}.sgpct-wj-correction__day{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--wj-purple-light);padding:10px 11px;cursor:pointer;user-select:none}.sgpct-wj-correction__day:focus{outline:2px solid currentColor;outline-offset:-2px}.sgpct-wj-correction__day-main{display:flex;align-items:center;gap:8px;min-width:0}.sgpct-wj-correction__status{display:inline-block;width:9px;height:9px;border-radius:50%;flex:0 0 9px}.sgpct-wj-correction__status--saved{background:#16a34a}.sgpct-wj-correction__status--empty{background:#dc2626}.sgpct-wj-correction__day-label{min-width:0}.sgpct-wj-correction__toggle{flex:0 0 auto;font-size:18px;width:18px;height:18px;line-height:18px;transition:transform .28s ease}.sgpct-wj-correction.is-open .sgpct-wj-correction__toggle{transform:rotate(180deg)}.sgpct-wj-correction__body{display:grid;grid-template-rows:0fr;opacity:0;transition:grid-template-rows .32s ease,opacity .24s ease}.sgpct-wj-correction.is-open .sgpct-wj-correction__body{grid-template-rows:1fr;opacity:1}.sgpct-wj-correction__body-inner{min-height:0;overflow:hidden}.sgpct-wj-correction-text{width:100%;background:#fff!important;border:0!important;border-radius:0!important;padding:10px!important;resize:vertical;min-height:58px;font-size:11px!important;line-height:1.5!important}
.sgpct-wj-waiting{min-height:420px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:48px 20px}.sgpct-wj-waiting__icon{display:block;width:64px;height:64px;font-size:64px;line-height:64px;margin:0 0 18px;color:var(--wj-purple-light)}.sgpct-wj-waiting__text{margin:0!important;font-size:22px!important;line-height:1.35!important;font-weight:800!important;color:var(--wj-purple-light)!important}
.sgpct-wj-readiness-modal{position:fixed;inset:0;z-index:2147483000;display:flex;align-items:center;justify-content:center;padding:20px;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .28s ease,visibility 0s linear .28s}.sgpct-wj-readiness-modal.is-open{opacity:1;visibility:visible;pointer-events:auto;transition:opacity .28s ease}.sgpct-wj-readiness-modal__backdrop{position:absolute;inset:0;background:rgba(15,23,42,.58);backdrop-filter:blur(3px)}.sgpct-wj-readiness-modal__dialog{position:relative;z-index:1;width:min(520px,calc(100vw - 32px));background:#fff;border:1px solid #e5e7eb;border-radius:14px;padding:26px;box-shadow:0 24px 70px rgba(15,23,42,.28);transform:translateY(18px) scale(.985);opacity:0;transition:transform .32s cubic-bezier(.22,.8,.22,1),opacity .26s ease}.sgpct-wj-readiness-modal.is-open .sgpct-wj-readiness-modal__dialog{transform:translateY(0) scale(1);opacity:1}.sgpct-wj-readiness-modal__title{margin:0 0 22px!important;font-size:24px!important;line-height:1.25!important;font-weight:800!important;color:#1f2937!important}.sgpct-wj-readiness-modal__label{font-size:11px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:#6b7280;margin-bottom:9px}.sgpct-wj-readiness-modal__row{display:flex;align-items:center;gap:14px}.sgpct-wj-readiness{flex:1;width:100%;accent-color:#7c3aed;cursor:pointer}.sgpct-wj-readiness-value{font-size:15px;color:#1f2937;min-width:44px;text-align:right}.sgpct-wj-readiness-modal__hint{margin:8px 0 20px!important;font-size:11px!important;line-height:1.5!important;color:#6b7280!important}.sgpct-wj-readiness-submit{width:100%;min-height:42px!important}.sgpct-wj-readiness-submit:disabled{cursor:wait!important;opacity:.65!important}.sgpct-wj-readiness-modal__error{margin-top:10px;font-size:11px;line-height:1.45;color:#dc2626}
.sgpct-wj-definitions{display:flex;flex-direction:column;gap:8px}.sgpct-wj-definition{background:var(--wj-bg3);border:1px solid var(--wj-border);border-radius:8px;padding:8px 9px}.sgpct-wj-definition__top{display:flex;gap:6px;align-items:center;margin-bottom:4px}.sgpct-wj-def-name,.sgpct-wj-def-desc{background:transparent!important;border:0!important;padding:0!important}.sgpct-wj-def-name{flex:1;font-size:12px!important;font-weight:700!important}.sgpct-wj-def-desc{width:100%;font-size:10px!important;color:var(--wj-white-dim)!important}
.sgpct-wj-empty{font-size:11px;color:var(--wj-white-dim);padding:4px 0}.sgpct-wj-toast{position:fixed;bottom:24px;right:24px;background:var(--wj-bg2);border:1px solid var(--wj-green);border-radius:10px;padding:10px 16px;font-size:12px;color:var(--wj-green);font-weight:700;transform:translateY(80px);opacity:0;transition:.3s;z-index:99999;pointer-events:none}.sgpct-wj-toast.is-visible{transform:translateY(0);opacity:1}
@media(max-width:980px){.sgpct-wj-main-grid{grid-template-columns:1fr}.sgpct-wj-sidebar{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.sgpct-wj-topbar{align-items:center}.sgpct-wj-controls{align-items:stretch}.sgpct-wj-topbar__actions{width:auto;margin-left:auto;justify-content:flex-end}.sgpct-wj-week-nav{width:auto;justify-content:flex-start}.sgpct-wj-controls__left{width:100%}.sgpct-wj-score-pill{flex:1;min-width:130px;justify-content:center}.sgpct-wj-content{padding-left:12px;padding-right:12px}.sgpct-wj-controls{padding-left:12px;padding-right:12px}.sgpct-wj-sidebar{grid-template-columns:1fr}.sgpct-wj-hero{padding-left:14px;padding-right:14px}.sgpct-wj-readiness-modal{padding:14px}.sgpct-wj-readiness-modal__dialog{width:100%;padding:20px}.sgpct-wj-readiness-modal__title{font-size:20px!important}}

/* 1.41.474: Dziennik tygodniowy na telefonie — Zwycięstwo + jeden dzień. */
@media(max-width:700px){
    .sgpct-panel .sgpct-wj-table-scroll{overflow-x:hidden}
    .sgpct-panel .sgpct-wj-table-wrap{min-width:0;width:100%}
    .sgpct-panel .sgpct-wj-table-header,
    .sgpct-panel .sgpct-wj-row,
    .sgpct-panel .sgpct-wj-day-scores{grid-template-columns:minmax(0,1fr) minmax(88px,108px)}
    .sgpct-panel .sgpct-wj-th--day,
    .sgpct-panel .sgpct-wj-cell[data-day-index],
    .sgpct-panel .sgpct-wj-day-score[data-day-index]{display:none!important}
    .sgpct-panel .sgpct-wj-th--day.is-mobile-selected-day{display:flex!important}
    .sgpct-panel .sgpct-wj-cell[data-day-index].is-mobile-selected-day{display:flex!important}
    .sgpct-panel .sgpct-wj-day-score[data-day-index].is-mobile-selected-day{display:flex!important}
    .sgpct-panel .sgpct-wj-week-label{min-width:0;flex:1;font-size:14px;letter-spacing:0}
    .sgpct-panel .sgpct-wj-week-nav{width:100%;justify-content:center;flex-wrap:nowrap}
}
@media print{body *{visibility:hidden!important}.sgpct-weekly-journal,.sgpct-weekly-journal *{visibility:visible!important}.sgpct-weekly-journal{position:absolute;left:0;top:0;width:100%;box-shadow:none}.sgpct-wj-topbar__actions,.sgpct-wj-reset,.sgpct-wj-save{display:none!important}}

/* 1.41.216: dynamiczny Banner klienta */
.sgpct-client-banner {
    position: relative;
    min-height: 150px;
    display: grid;
    grid-template-columns: minmax(230px, 1fr) minmax(120px, 220px) minmax(230px, 1fr);
    align-items: center;
    gap: 18px;
    overflow: hidden;
    padding: 22px 28px;
    border: 1px solid var(--sgpct-client-banner-border, rgba(184, 218, 243, .24));
    border-radius: 18px;
    background: var(--sgpct-client-banner-bg, #fff);
    color: var(--sgpct-client-banner-text, #2d465d);
    box-shadow: 0 10px 30px rgba(15, 23, 42, .04);
    isolation: isolate;
}

.sgpct-client-banner__graphics {
    position: absolute;
    inset: 0;
    z-index: 0;
    overflow: hidden;
    color: var(--sgpct-client-banner-graphic, #b8daf3);
    pointer-events: none;
}

.sgpct-client-banner__graphics svg {
    width: 100%;
    height: 100%;
    display: block;
}

.sgpct-client-banner__graphics circle {
    fill: currentColor;
    opacity: .38;
}

.sgpct-client-banner__wave {
    fill: currentColor;
}

.sgpct-client-banner__wave--back {
    opacity: .17;
}

.sgpct-client-banner__wave--front {
    opacity: .10;
}

.sgpct-client-banner__welcome,
.sgpct-client-banner__brand,
.sgpct-client-banner__right {
    position: relative;
    z-index: 1;
}

.sgpct-client-banner__welcome {
    min-width: 0;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 5px;
}

.sgpct-client-banner__welcome strong {
    display: block;
    margin: 0;
    color: var(--sgpct-client-banner-welcome, var(--sgpct-client-banner-text, #2d465d));
    font-size: clamp(19px, 1.7vw, 25px);
    font-weight: 700;
    line-height: 1.15;
}

.sgpct-client-banner__welcome span {
    color: var(--sgpct-client-banner-welcome, var(--sgpct-client-banner-text, #2d465d));
    font-size: 13px;
    font-weight: 500;
    line-height: 1.35;
    opacity: .78;
}


.sgpct-client-banner__brand {
    min-width: 0;
    min-height: 94px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 4px;
    text-align: center;
}

.sgpct-client-banner__brand .sgpct-platform-logo__image {
    display: block;
    max-width: 100% !important;
    max-height: none !important;
    height: auto !important;
    object-fit: contain;
}

.sgpct-client-banner__brand-placeholder {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 82px;
    min-height: 54px;
    padding: 8px 12px;
    border: 1px dashed var(--sgpct-client-banner-border, rgba(184, 218, 243, .24));
    border-radius: 12px;
    color: var(--sgpct-client-banner-text, #2d465d);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .08em;
    opacity: .55;
}

.sgpct-client-banner__right {
    min-width: 0;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 20px;
}

.sgpct-client-banner__date {
    display: flex;
    align-items: center;
    gap: 10px;
    color: var(--sgpct-client-banner-date, var(--sgpct-client-banner-text, #2d465d));
}

.sgpct-client-banner__date > svg {
    width: 27px;
    height: 27px;
    flex: 0 0 auto;
}

.sgpct-client-banner__date > svg path,
.sgpct-client-banner__bell svg path {
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.sgpct-client-banner__date > span {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 2px;
    line-height: 1.15;
}

.sgpct-client-banner__date > span > span {
    font-size: 12px;
    font-weight: 600;
    text-transform: capitalize;
    opacity: .78;
}

.sgpct-client-banner__date strong {
    color: var(--sgpct-client-banner-date, var(--sgpct-client-banner-text, #2d465d));
    font-size: 15px;
    font-weight: 700;
    white-space: nowrap;
}

.sgpct-client-banner__bell {
    width: 44px;
    height: 44px;
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid transparent;
    border-radius: 50%;
    color: var(--sgpct-client-banner-bell, var(--sgpct-client-banner-text, #2d465d));
    opacity: .72;
    cursor: default;
}

.sgpct-client-banner__bell svg {
    width: 25px;
    height: 25px;
}

.sgpct-client-banner .sgpct-panel-menu {
    display: none;
}

@media (max-width: 1120px) and (min-width: 768px) {
    .sgpct-client-banner {
        grid-template-columns: minmax(190px, 1fr) minmax(110px, 150px) minmax(220px, 1fr);
        gap: 20px;
        padding-inline: 24px;
    }

}

@media (max-width: 767px) {
    .sgpct-client-nav {
        position: sticky;
        top: 0;
        z-index: 120;
        display: block;
        width: 100%;
        min-height: 0;
        padding: calc(6px + env(safe-area-inset-top)) 8px 6px;
        border: 0;
        background: transparent;
    }

    body.admin-bar .sgpct-client-nav {
        top: 46px;
    }

    .sgpct-client-banner {
        min-height: 66px;
        grid-template-columns: minmax(0, 1fr) auto;
        gap: 10px;
        padding: 9px 10px 9px 14px;
        border-radius: 15px;
    }

    .sgpct-client-banner__graphics {
        opacity: .65;
    }

    .sgpct-client-banner__welcome {
        display: none;
    }

    .sgpct-client-banner__brand {
        min-height: 46px;
        justify-content: flex-start;
        padding: 0;
        overflow: hidden;
    }

    .sgpct-client-banner__brand .sgpct-platform-logo__image {
        max-width: 100% !important;
        max-height: none !important;
    }

    .sgpct-client-banner__right {
        gap: 7px;
    }

    .sgpct-client-banner__date {
        gap: 7px;
    }

    .sgpct-client-banner__date > svg {
        width: 20px;
        height: 20px;
    }

    .sgpct-client-banner__date > span > span {
        display: none;
    }

    .sgpct-client-banner__date strong {
        font-size: 12px;
    }

    .sgpct-client-banner__bell {
        width: 38px;
        height: 38px;
    }

    .sgpct-client-banner__bell svg {
        width: 21px;
        height: 21px;
    }

    .sgpct-client-banner .sgpct-panel-menu {
        position: static;
        display: flex;
        align-items: center;
        justify-content: flex-end;
    }

    .sgpct-panel.has-mobile-nav .sgpct-client-banner .sgpct-mobile-nav-toggle {
        width: 38px;
        height: 38px;
        min-height: 38px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        margin: 0;
        padding: 8px;
        border: 0;
        border-radius: 10px;
        background: transparent;
        box-shadow: none;
        color: var(--sgpct-client-banner-text, #2d465d);
    }

    .sgpct-mobile-nav-dropdown {
        grid-column: auto;
        grid-row: auto;
        top: 100%;
        margin-top: 0;
    }
}

@media (max-width: 430px) {
    .sgpct-client-banner__date {
        display: none;
    }
}

/* 1.41.218: nazwa wyświetlana specjalisty pod logo bannera klienta */
.sgpct-client-banner__brand {
    flex-direction: column;
    gap: 5px;
}


.sgpct-client-banner__brand-name {
    display: block;
    max-width: 100%;
    overflow: hidden;
    color: var(--sgpct-heading-color, #2D465D);
    font: inherit;
    font-size: 13px;
    font-weight: 700;
    line-height: 1.15;
    text-align: center;
    text-overflow: ellipsis;
    white-space: nowrap;
}

/* 1.41.222 — bardziej kompaktowy kalendarz aktualnego planu dietetycznego. */
.sgpct-diet-calendar__grid .sgpct-diet-calendar__day,
.sgpct-diet-calendar__grid button.sgpct-diet-calendar__day {
    width: 48px;
    height: 48px;
    aspect-ratio: auto;
    justify-self: center;
}

.sgpct-diet-calendar__weekdays,
.sgpct-diet-calendar__grid {
    gap: 4px;
}

@media (max-width: 767px) {
    .sgpct-diet-calendar__grid .sgpct-diet-calendar__day,
    .sgpct-diet-calendar__grid button.sgpct-diet-calendar__day {
        width: 40px;
        height: 40px;
    }
}

@media (max-width: 390px) {
    .sgpct-diet-calendar__grid .sgpct-diet-calendar__day,
    .sgpct-diet-calendar__grid button.sgpct-diet-calendar__day {
        width: 36px;
        height: 36px;
    }
}

/* 1.41.226 — notatki specjalisty do Dziennika ćwiczeń klienta. */
.sgpct-client-banner__bell{
    position:relative;
    margin:0;
    padding:0;
    background:transparent;
    appearance:none;
    -webkit-appearance:none;
    cursor:pointer;
    transition:background .15s ease,opacity .15s ease,transform .15s ease;
}
.sgpct-client-banner__bell:hover,.sgpct-client-banner__bell:focus-visible{background:color-mix(in srgb,var(--sgpct-client-banner-graphic,#b8daf3) 18%,transparent);opacity:1;outline:none}
.sgpct-client-banner__bell:focus-visible{box-shadow:0 0 0 2px color-mix(in srgb,var(--sgpct-client-banner-graphic,#b8daf3) 55%,transparent)}
.sgpct-client-banner__bell-badge{
    position:absolute;
    top:-4px;
    right:-4px;
    min-width:20px;
    height:20px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:0 5px;
    border:2px solid var(--sgpct-client-banner-bg,#fff);
    border-radius:999px;
    background:#d63638;
    color:#fff;
    font-size:10px;
    font-weight:800;
    line-height:1;
    box-sizing:border-box;
    font-variant-numeric:tabular-nums;
}
.sgpct-client-banner__bell-badge[hidden]{display:none!important}
.sgpct-client-training-notes-dropdown[hidden]{display:none!important}
.sgpct-client-training-notes-dropdown{
    position:fixed;
    z-index:99995;
    max-height:min(440px,calc(100dvh - 100px));
    display:flex;
    flex-direction:column;
    overflow:hidden;
    border:1px solid rgba(45,70,93,.14);
    border-radius:15px;
    background:#fff;
    color:#344054;
    box-shadow:0 18px 48px rgba(15,23,42,.22);
    opacity:0;
    transform:translateY(-6px) scale(.99);
    transform-origin:top right;
    transition:opacity .15s ease,transform .15s ease;
}
.sgpct-client-training-notes-dropdown.is-open{opacity:1;transform:translateY(0) scale(1)}
.sgpct-client-training-notes-dropdown__head{padding:14px 15px 12px;border-bottom:1px solid #edf0f2;background:#fbfcfd}
.sgpct-client-training-notes-dropdown__head div{display:flex;flex-direction:column;gap:2px}
.sgpct-client-training-notes-dropdown__head span{color:#98a2b3;font-size:9px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.sgpct-client-training-notes-dropdown__head strong{color:var(--sgpct-heading-color,#2D465D);font-size:14px;line-height:1.3}
.sgpct-client-training-notes-dropdown__list{min-height:0;overflow:auto;padding:8px}
.sgpct-client-training-note-alert{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;padding:10px;border-radius:10px;background:#fff7f6}
.sgpct-client-training-note-alert+ .sgpct-client-training-note-alert{margin-top:6px}
.sgpct-client-training-note-alert>div{min-width:0;display:flex;flex-direction:column;gap:3px}
.sgpct-client-training-note-alert strong{color:var(--sgpct-heading-color,#2D465D);font-size:12px;line-height:1.3}
.sgpct-client-training-note-alert span{overflow:hidden;color:#667085;font-size:10.5px;line-height:1.35;text-overflow:ellipsis;white-space:nowrap}
.sgpct-client-training-note-alert button,.sgpct-client-training-notes-dropdown__all{
    border:0;background:transparent;color:var(--sgpct-heading-color,#2D465D);font:inherit;font-size:10.5px;font-weight:700;text-decoration:none;cursor:pointer;white-space:nowrap;
}
.sgpct-client-training-note-alert button:hover,.sgpct-client-training-note-alert button:focus,.sgpct-client-training-notes-dropdown__all:hover,.sgpct-client-training-notes-dropdown__all:focus{text-decoration:underline;outline:none}
.sgpct-client-training-notes-dropdown__empty{padding:22px 12px;color:#98a2b3;font-size:11px;text-align:center}
.sgpct-client-training-notes-dropdown__all{display:block;padding:11px 14px;border-top:1px solid #edf0f2;background:#fbfcfd;text-align:center}

.sgpct-training-notes-page__header p{margin:6px 0 0;color:#667085;font-size:13px;line-height:1.5}
.sgpct-training-notes-page{display:grid;gap:14px}
.sgpct-training-notes-page__empty{padding:40px 20px;border:1px solid #e5e7eb;border-radius:14px;background:#fff;color:#98a2b3;text-align:center}
.sgpct-training-notes-day{overflow:hidden;border:1px solid #e5e7eb;border-radius:14px;background:#fff;box-shadow:0 4px 14px rgba(15,23,42,.035)}
.sgpct-training-notes-day__header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 16px;border-bottom:1px solid #eef0f2;background:#fbfcfd}
.sgpct-training-notes-day__header>div{min-width:0}.sgpct-training-notes-day__header span{display:block;margin-bottom:2px;color:#98a2b3;font-size:9px;font-weight:800;letter-spacing:.07em;text-transform:uppercase}
.sgpct-training-notes-day__header h3{margin:0;color:var(--sgpct-heading-color,#2D465D);font-size:15px;line-height:1.3}
.sgpct-training-notes-day__header>strong{flex:0 0 auto;padding:4px 8px;border-radius:999px;background:#f2f4f7;color:#667085;font-size:10px;font-weight:700}
.sgpct-training-notes-day__list{display:grid}
.sgpct-training-note-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:14px;padding:13px 16px;border-bottom:1px solid #eef0f2;background:#fff}
.sgpct-training-note-row:last-child{border-bottom:0}.sgpct-training-note-row.is-unread{background:#fff7f6;box-shadow:inset 3px 0 0 #d63638}
.sgpct-training-note-row__content{min-width:0;display:flex;flex-direction:column;gap:3px}.sgpct-training-note-row__title{min-width:0;display:flex;align-items:center;gap:7px}
.sgpct-training-note-row__title strong{min-width:0;overflow:hidden;color:var(--sgpct-heading-color,#2D465D);font-size:12.5px;text-overflow:ellipsis;white-space:nowrap}
.sgpct-training-note-row__title span{flex:0 0 auto;padding:2px 6px;border-radius:999px;background:#d63638;color:#fff;font-size:8.5px;font-weight:800;line-height:1.2;text-transform:uppercase}
.sgpct-training-note-row__content small{color:#98a2b3;font-size:10.5px}.sgpct-training-note-row__action{margin:0;padding:0;border:0;background:transparent;color:var(--sgpct-heading-color,#2D465D);font:inherit;font-size:11px;font-weight:700;cursor:pointer;text-decoration:none;white-space:nowrap}
.sgpct-training-note-row__action:hover,.sgpct-training-note-row__action:focus{text-decoration:underline;outline:none}

body.sgpct-client-training-note-modal-open{overflow:hidden}
.sgpct-client-training-note-modal[hidden]{display:none!important}
.sgpct-client-training-note-modal{position:fixed;inset:0;z-index:100210;display:flex;align-items:center;justify-content:center;padding:22px;opacity:0;transition:opacity .18s ease}
.sgpct-client-training-note-modal.is-open{opacity:1}.sgpct-client-training-note-modal__backdrop{position:absolute;inset:0;background:rgba(15,23,42,.62);backdrop-filter:blur(2px)}
.sgpct-client-training-note-modal__dialog{position:relative;z-index:1;width:min(650px,calc(100vw - 44px));max-height:calc(100dvh - 44px);overflow:auto;border:1px solid rgba(45,70,93,.14);border-radius:18px;background:#fff;box-shadow:0 24px 80px rgba(15,23,42,.30);transform:translateY(12px) scale(.99);transition:transform .18s ease}
.sgpct-client-training-note-modal.is-open .sgpct-client-training-note-modal__dialog{transform:translateY(0) scale(1)}
.sgpct-client-training-note-modal__close{position:absolute;top:14px;right:14px;z-index:3;width:38px;height:38px;display:flex;align-items:center;justify-content:center;margin:0;padding:0;border:1px solid #e1e5e9;border-radius:50%;background:#fff;color:#667085;font:inherit;font-size:24px;line-height:1;cursor:pointer}
.sgpct-client-training-note-modal__loading{min-height:240px;display:flex;align-items:center;justify-content:center;padding:40px;color:#98a2b3;font-size:13px;text-align:center}.sgpct-client-training-note-modal__loading[hidden],.sgpct-client-training-note-modal__content[hidden]{display:none!important}
.sgpct-client-training-note-view__header{padding:23px 70px 16px 22px;border-bottom:1px solid #eef0f2;background:#fbfcfd}.sgpct-client-training-note-view__header>span{display:block;margin-bottom:4px;color:#98a2b3;font-size:9px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.sgpct-client-training-note-view__header h2{margin:0 0 5px;color:var(--sgpct-heading-color,#2D465D);font-size:21px;line-height:1.25}.sgpct-client-training-note-view__header p{margin:0;color:#667085;font-size:11.5px;line-height:1.45}.sgpct-client-training-note-view__header p strong{color:var(--sgpct-heading-color,#2D465D)}
.sgpct-client-training-note-view__body{padding:22px;color:#344054;font-size:14px;line-height:1.7;white-space:normal}
@media(max-width:767px){
    .sgpct-client-training-notes-dropdown{max-height:min(390px,calc(100dvh - 90px))}
    .sgpct-client-training-note-alert{grid-template-columns:1fr;gap:6px}.sgpct-client-training-note-alert button{justify-self:start}
    .sgpct-training-note-row{grid-template-columns:1fr;gap:8px;padding:12px 13px}.sgpct-training-note-row__action{justify-self:start}
    .sgpct-training-notes-day__header{padding:12px 13px}.sgpct-client-training-note-modal{padding:10px}.sgpct-client-training-note-modal__dialog{width:calc(100vw - 20px);max-height:calc(100dvh - 20px);border-radius:13px}
    .sgpct-client-training-note-view__header{padding:18px 58px 14px 16px}.sgpct-client-training-note-view__body{padding:17px;font-size:13.5px}
}

/* 1.41.227 — wspólne centrum powiadomień w bannerze klienta. */
.sgpct-notification-center > .sgpct-notification-bell{display:none!important}
.sgpct-client-notifications-dropdown .sgpct-client-training-notes-dropdown__list{padding:8px}
.sgpct-client-notification-alert{display:grid;grid-template-columns:34px minmax(0,1fr);gap:10px;padding:11px;border-radius:11px;background:#fff;border:1px solid transparent;transition:background .15s ease,border-color .15s ease}
.sgpct-client-notification-alert+.sgpct-client-notification-alert{margin-top:6px}
.sgpct-client-notification-alert.is-unread{background:#fff7f6;border-color:#f8d8d5;box-shadow:inset 3px 0 0 #d63638}
.sgpct-client-notification-alert__icon{width:34px;height:34px;display:flex;align-items:center;justify-content:center;border-radius:10px;background:color-mix(in srgb,var(--sgpct-heading-color,#2D465D) 8%,#fff);color:var(--sgpct-heading-color,#2D465D)}
.sgpct-client-notification-alert__icon .dashicons{width:18px;height:18px;font-size:18px;line-height:18px}
.sgpct-client-notification-alert__content{min-width:0;display:flex;flex-direction:column;align-items:flex-start;gap:3px}
.sgpct-client-notification-alert__title-row{width:100%;display:flex;align-items:center;gap:7px;min-width:0}
.sgpct-client-notification-alert__title-row strong{min-width:0;overflow:hidden;color:var(--sgpct-heading-color,#2D465D);font-size:12.5px;line-height:1.35;text-overflow:ellipsis;white-space:nowrap}
.sgpct-client-notification-alert__new{flex:0 0 auto;padding:2px 6px;border-radius:999px;background:#d63638;color:#fff;font-size:8px;font-weight:800;line-height:1.2;text-transform:uppercase}
.sgpct-client-notification-alert__content p{display:-webkit-box;overflow:hidden;margin:0;color:#667085;font-size:10.5px;line-height:1.4;-webkit-box-orient:vertical;-webkit-line-clamp:2}
.sgpct-client-notification-alert__content small{color:#98a2b3;font-size:9.5px;line-height:1.3}
.sgpct-client-notification-alert__action,.sgpct-training-note-row__action{display:inline-block;margin:3px 0 0;padding:0;border:0;background:transparent;color:var(--sgpct-heading-color,#2D465D);font:inherit;font-size:10.5px;font-weight:750;line-height:1.35;text-decoration:none;cursor:pointer;white-space:nowrap}
.sgpct-client-notification-alert__action:hover,.sgpct-client-notification-alert__action:focus-visible,.sgpct-training-note-row__action:hover,.sgpct-training-note-row__action:focus-visible{text-decoration:none;opacity:.72;outline:none}
.sgpct-client-notification-alert__action.is-busy,.sgpct-training-note-row__action.is-busy{opacity:.45;pointer-events:none}
.sgpct-client-training-notes-dropdown__all[role="button"]{color:var(--sgpct-heading-color,#2D465D);cursor:pointer}
@media(max-width:767px){.sgpct-client-notification-alert{grid-template-columns:30px minmax(0,1fr);gap:9px;padding:10px}.sgpct-client-notification-alert__icon{width:30px;height:30px;border-radius:9px}}


/* 1.41.321 — dopracowanie mobilnego widoku Panelu klienta. */
@media (max-width: 767px) {
    .ast-container {
        padding-left: 0 !important;
        padding-right: 0 !important;
    }

    .sgpct-client-nav {
        padding: 0 !important;
    }

    .sgpct-client-banner {
        border-radius: 0 !important;
    }

    .sgpct-client-banner__brand-name {
        display: none !important;
    }

    .sgpct-panel .sgpct-start-calories__title {
        font-size: 12px !important;
    }

    .sgpct-start-calories__stat-copy > span {
        font-size: 12px !important;
    }

    .sgpct-start-calories__stat-copy > strong {
        font-size: 14px !important;
    }

    .sgpct-start-calories__ring-center span {
        font-size: 12px !important;
    }

    .sgpct-start-calories__ring-center strong {
        font-size: 20px !important;
    }

    .sgpct-content {
        border: 0 !important;
        background: transparent !important;
        box-shadow: none !important;
    }

    .sgpct-start-overview {
        margin: 0 !important;
    }

    .sgpct-start-calories {
        border-radius: 0 !important;
    }
}

/* 1.41.322 — dalsze dopracowanie mobilnej nawigacji i profilu klienta. */
@media (max-width: 767px) {
    .sgpct-client-banner__brand {
        align-items: initial !important;
    }

    .sgpct-panel.is-mobile-nav-open .sgpct-mobile-nav-dropdown {
        padding: 0 !important;
    }

    .sgpct-nav--mobile .sgpct-nav__item {
        justify-content: center !important;
        border-radius: 0 !important;
        font-size: 12px !important;
    }

    .sgpct-nav__item {
        text-decoration: none;
    }

    .sgpct-sidebar {
        border: 0 !important;
        border-radius: 0 !important;
        box-shadow: none !important;
    }

    .sgpct-avatar-area {
        border: 1px solid #e8e8e8;
        box-shadow: rgba(15, 23, 42, .06) 0 10px 32px;
    }
}

/* 1.41.323 — czytelniejszy mobilny profil i wykres historii masy ciała. */
@media (max-width: 767px) {
    .sgpct-avatar-area {
        margin: 0 !important;
    }

    .sgpct-sidebar {
        padding: 14px !important;
    }

    .sgpct-view__body {
        margin: 0 !important;
        margin-top: 10px !important;
    }

    .sgpct-start-page .sgpct-client-weight-chart {
        border-radius: 0 !important;
    }

    .sgpct-start-page .sgpct-client-weight-chart__head h3 {
        color: var(--sgpct-heading-color, #2D465D);
        font-size: 16px;
        font-weight: 700;
    }

    .sgpct-start-page .sgpct-client-weight-chart__summary span {
        border-radius: 0 !important;
    }

    .sgpct-start-page .sgpct-client-weight-chart__summary strong {
        color: var(--sgpct-heading-color, #2D465D);
    }

    .sgpct-start-page .sgpct-client-weight-chart__canvas {
        width: 100%;
        overflow-x: auto !important;
        overflow-y: hidden !important;
        overscroll-behavior-inline: contain;
        -webkit-overflow-scrolling: touch;
    }

    .sgpct-start-page .sgpct-client-weight-chart__svg {
        width: 100% !important;
        min-width: 720px !important;
        max-width: none !important;
    }

    .sgpct-start-page .sgpct-client-weight-chart__grid-line.is-mobile-minor,
    .sgpct-start-page .sgpct-client-weight-chart__axis-label.is-mobile-minor {
        display: none;
    }

    .sgpct-start-page .sgpct-client-weight-chart__axis-label {
        font-size: 17px !important;
        font-weight: 800 !important;
    }

    .sgpct-start-page .sgpct-client-weight-chart__date-label {
        font-size: 17px !important;
        font-weight: 800 !important;
    }

    .sgpct-start-page .sgpct-client-weight-chart__value {
        font-size: 19px !important;
        font-weight: 800 !important;
    }
}


/* 1.41.327 — pełny tygodniowy wybór dnia klienta czystej roli Dietetyk. */
.sgpct-history-hidden {
    display: none !important;
}

.sgpct-dietitian-day-strip {
    display: grid;
    grid-template-columns: 36px minmax(0, 1fr) 36px;
    align-items: start;
    gap: 10px;
    margin: 0 20px 16px;
    padding: 10px 12px;
    box-sizing: border-box;
    background: transparent !important;
}

.sgpct-dietitian-day-strip.is-loading {
    opacity: .62;
    pointer-events: none;
}

.sgpct-dietitian-day-strip__days {
    display: grid;
    grid-template-columns: repeat(var(--sgpct-dietitian-day-count, 7), minmax(0, 1fr));
    align-items: start;
    gap: 8px;
    min-width: 0;
}

.sgpct-panel .sgpct-dietitian-day-strip__day,
.sgpct-panel .sgpct-dietitian-day-strip__arrow {
    appearance: none;
    -webkit-appearance: none;
    border: 0;
    background: transparent !important;
    background-image: none !important;
    box-shadow: none !important;
    filter: none !important;
    transform: none !important;
    font-family: inherit;
    text-decoration: none;
}

.sgpct-panel .sgpct-dietitian-day-strip__day:hover,
.sgpct-panel .sgpct-dietitian-day-strip__day:focus,
.sgpct-panel .sgpct-dietitian-day-strip__day:focus-visible,
.sgpct-panel .sgpct-dietitian-day-strip__arrow:hover,
.sgpct-panel .sgpct-dietitian-day-strip__arrow:focus,
.sgpct-panel .sgpct-dietitian-day-strip__arrow:focus-visible {
    background: transparent !important;
    background-image: none !important;
    box-shadow: none !important;
    filter: none !important;
    transform: none !important;
    outline: none;
}

.sgpct-panel .sgpct-dietitian-day-strip__day {
    display: flex;
    min-width: 0;
    padding: 0;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    gap: 7px;
    color: var(--sgpct-heading-color, #2D465D);
    text-align: center;
    cursor: pointer;
}

.sgpct-dietitian-day-strip__label {
    display: flex;
    width: 100%;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 1px;
    line-height: 1.1;
    white-space: nowrap;
    color: var(--sgpct-heading-color, #2D465D);
}

.sgpct-dietitian-day-strip__weekday {
    display: block;
    font-size: 10px;
    font-weight: 800;
    line-height: 1.1;
    color: inherit;
}

.sgpct-dietitian-day-strip__date {
    display: block;
    font-size: 8px;
    font-weight: 500;
    line-height: 1.1;
    color: inherit;
}

.sgpct-panel .sgpct-dietitian-day-strip__day.is-disabled {
    cursor: default;
    pointer-events: none;
    opacity: .38;
}

.sgpct-panel .sgpct-dietitian-day-strip__day.is-disabled .sgpct-dietitian-day-strip__label {
    color: #9aa3ad !important;
}

.sgpct-panel .sgpct-dietitian-day-strip__day.is-disabled .sgpct-dietitian-day-strip__circle {
    border-color: #c8ced5 !important;
}

.sgpct-dietitian-day-strip__circle {
    width: 34px;
    height: 34px;
    display: inline-flex;
    flex: 0 0 34px;
    align-items: center;
    justify-content: center;
    border: 2px solid #aeb5c0;
    border-radius: 50%;
    background: transparent !important;
    color: #fff;
    box-sizing: border-box;
}

.sgpct-dietitian-day-strip__circle svg {
    width: 18px;
    height: 18px;
    display: block;
    opacity: 0;
    fill: none;
    stroke: currentColor;
    stroke-width: 3;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.sgpct-dietitian-day-strip__day.is-today .sgpct-dietitian-day-strip__circle {
    border-color: var(--sgpct-heading-color, #2D465D);
}

.sgpct-dietitian-day-strip__day.is-completed .sgpct-dietitian-day-strip__circle {
    border-color: var(--sgpct-heading-color, #2D465D);
    background: var(--sgpct-heading-color, #2D465D) !important;
}

.sgpct-dietitian-day-strip__day.is-completed .sgpct-dietitian-day-strip__circle svg {
    opacity: 1;
}

.sgpct-panel .sgpct-dietitian-day-strip__arrow {
    width: 36px;
    height: 36px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    align-self: start;
    margin-top: 18px;
    padding: 0;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    color: var(--sgpct-heading-color, #2D465D);
    font-size: 30px;
    font-weight: 700;
    line-height: 1;
    cursor: pointer;
}

.sgpct-panel .sgpct-dietitian-day-strip__arrow.is-disabled,
.sgpct-panel .sgpct-dietitian-day-strip__arrow:disabled {
    color: #b8bec6 !important;
    cursor: default;
    opacity: .45;
    pointer-events: none;
}

.sgpct-panel .sgpct-dietitian-day-strip__arrow.is-hidden {
    visibility: hidden;
    pointer-events: none;
}

@media (max-width: 767px) {
    .sgpct-dietitian-day-strip {
        grid-template-columns: 28px minmax(0, 1fr) 28px;
        gap: 4px;
        margin: 0 0 10px;
        padding: 8px 2px 10px;
    }

    .sgpct-dietitian-day-strip__days {
        gap: 3px;
    }

    .sgpct-dietitian-day-strip__label {
        letter-spacing: -.02em;
    }

    .sgpct-dietitian-day-strip__weekday {
        font-size: 10px;
    }

    .sgpct-dietitian-day-strip__date {
        font-size: 8px;
        font-weight: 500;
    }

    .sgpct-dietitian-day-strip__circle {
        width: 30px;
        height: 30px;
        flex-basis: 30px;
        border-width: 2px;
    }

    .sgpct-dietitian-day-strip__circle svg {
        width: 16px;
        height: 16px;
    }

    .sgpct-panel .sgpct-dietitian-day-strip__arrow {
        width: 28px;
        height: 28px;
        margin-top: 18px;
        font-size: 25px;
    }
}

/* 1.41.327 — synchronizacja wybranego dnia z kalendarzem diety. */
.sgpct-panel .sgpct-diet-calendar__day.is-plan-day.is-strip-selected {
    outline: none;
}

/* 1.41.330 — czytelny bilans kalorii i makroskładników dla klienta Dietetyka. */
.sgpct-start-calories--dietitian-dashboard {
    height: auto;
    min-height: 0;
    padding: 0;
    overflow: visible;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    animation: none;
}

.sgpct-dietitian-nutrition__actions {
    display: flex;
    align-items: center;
    gap: 10px 18px;
    margin: 0 0 14px;
    flex-wrap: wrap;
}

.sgpct-start-calories--dietitian-dashboard .sgpct-start-calories__extra-open,
.sgpct-start-calories--dietitian-dashboard .sgpct-start-calories__activity-open {
    margin: 0 !important;
}

.sgpct-start-calories--dietitian-dashboard .sgpct-start-calories__extra-open {
    font-size: 12px !important;
}

.sgpct-start-calories--dietitian-dashboard .sgpct-start-calories__activity-open {
    font-size: 10px !important;
}

.sgpct-dietitian-nutrition {
    display: grid;
    gap: 18px;
}

.sgpct-dietitian-nutrition__calories,
.sgpct-dietitian-nutrition__macros {
    border: 1px solid #e8e8e8;
    border-radius: 0;
    background: #fff;
    box-shadow: rgba(15, 23, 42, .06) 0 10px 32px;
    box-sizing: border-box;
}

.sgpct-dietitian-nutrition__calories {
    padding: 28px 30px 30px;
}

.sgpct-dietitian-nutrition__calories h3 {
    margin: 0 0 18px;
    color: var(--sgpct-heading-color, #2D465D);
    font-size: 16px;
    font-weight: 700;
    line-height: 1.15;
}

.sgpct-dietitian-nutrition__calorie-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    margin-bottom: 20px;
    width: 100%;
}

.sgpct-dietitian-nutrition__consumed {
    min-width: 0;
    text-align: left;
}

.sgpct-dietitian-nutrition__consumed strong {
    color: var(--sgpct-heading-color, #2D465D);
    font-size: 14px;
    font-weight: 700;
    line-height: 1.2;
    letter-spacing: 0;
    white-space: nowrap;
}

.sgpct-dietitian-nutrition__calorie-separator {
    padding: 0 3px;
    color: #98a2b3;
    font-weight: 500;
}

.sgpct-dietitian-nutrition__remaining {
    display: flex;
    align-items: baseline;
    justify-content: flex-end;
    gap: 5px;
    min-width: 0;
    color: #98a2b3;
    line-height: 1.2;
    text-align: right;
    white-space: nowrap;
}

.sgpct-dietitian-nutrition__remaining > span {
    font-size: 12px;
    font-weight: 500;
}

.sgpct-dietitian-nutrition__remaining > strong {
    color: var(--sgpct-heading-color, #2D465D);
    font-size: 14px;
    font-weight: 700;
    letter-spacing: 0;
}

.sgpct-dietitian-nutrition__remaining.is-exceeded > span,
.sgpct-dietitian-nutrition__remaining.is-exceeded > strong {
    color: #d92d20;
}

.sgpct-dietitian-nutrition__progress {
    position: relative;
    width: 100%;
    height: 12px;
    overflow: hidden;
    border-radius: 999px;
    background: #eef1f4;
}

.sgpct-dietitian-nutrition__progress > span {
    display: block;
    width: 0;
    height: 100%;
    border-radius: inherit;
    background: var(--sgpct-heading-color, #2D465D);
    transition: width .45s cubic-bezier(.22, 1, .36, 1);
}

.sgpct-dietitian-nutrition__macros {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 30px;
    padding: 28px 30px 30px;
}

.sgpct-dietitian-nutrition__macro {
    min-width: 0;
}

.sgpct-dietitian-nutrition__macro-name {
    display: block;
    margin-bottom: 10px;
    color: var(--sgpct-heading-color, #2D465D);
    font-size: 14px;
    font-weight: 700;
    line-height: 1.2;
}

.sgpct-dietitian-nutrition__macro-value {
    display: flex;
    align-items: baseline;
    gap: 7px;
    margin-bottom: 20px;
    min-width: 0;
    white-space: nowrap;
}

.sgpct-dietitian-nutrition__macro-value strong {
    color: var(--sgpct-heading-color, #2D465D);
    font-size: 18px;
    font-weight: 700;
    line-height: 1;
    letter-spacing: -.025em;
}

.sgpct-dietitian-nutrition__macro-value > span {
    color: #98a2b3;
    font-size: 13px;
    font-weight: 500;
    line-height: 1;
}

.sgpct-dietitian-nutrition__macro .sgpct-dietitian-nutrition__progress {
    height: 10px;
}

.sgpct-dietitian-nutrition__macro.is-carbs .sgpct-dietitian-nutrition__progress > span {
    background: #12b8b0;
}

.sgpct-dietitian-nutrition__macro.is-fat .sgpct-dietitian-nutrition__progress > span {
    background: #c55cdf;
}

.sgpct-dietitian-nutrition__macro.is-protein .sgpct-dietitian-nutrition__progress > span {
    background: #f5a623;
}

.sgpct-start-calories--dietitian-dashboard.is-empty .sgpct-dietitian-nutrition {
    display: none;
}

.sgpct-start-calories--dietitian-dashboard .sgpct-start-calories__empty {
    margin: 0;
    padding: 18px 20px;
    border: 1px solid #e8e8e8;
    border-radius: 14px;
    background: #fff;
    color: #667085;
}

@media (max-width: 767px) {
    .sgpct-start-calories--dietitian-dashboard {
        height: auto !important;
        min-height: 0 !important;
        padding: 0 !important;
    }

    .sgpct-dietitian-nutrition__actions {
        padding: 0 14px;
        margin-bottom: 10px;
    }

    .sgpct-dietitian-nutrition {
        gap: 12px;
    }

    .sgpct-dietitian-nutrition__calories,
    .sgpct-dietitian-nutrition__macros {
        border: 1px solid #e8e8e8;
        border-radius: 0;
        box-shadow: rgba(15, 23, 42, .06) 0 10px 32px;
    }

    .sgpct-dietitian-nutrition__calories {
        padding: 22px 16px 24px;
    }

    .sgpct-dietitian-nutrition__calories h3 {
        margin-bottom: 16px;
        font-size: 15px;
        font-weight: 700;
    }

    .sgpct-dietitian-nutrition__calorie-row {
        align-items: center;
        gap: 8px;
        margin-bottom: 15px;
    }

    .sgpct-dietitian-nutrition__consumed strong {
        font-size: 12px;
        font-weight: 700;
    }

    .sgpct-dietitian-nutrition__calorie-separator {
        padding: 0 2px;
    }

    .sgpct-dietitian-nutrition__remaining {
        gap: 4px;
    }

    .sgpct-dietitian-nutrition__remaining > span {
        font-size: 11px;
    }

    .sgpct-dietitian-nutrition__remaining > strong {
        font-size: 12px;
        font-weight: 700;
    }

    .sgpct-dietitian-nutrition__progress {
        height: 10px;
    }

    .sgpct-dietitian-nutrition__macros {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 12px;
        padding: 22px 14px 24px;
    }

    .sgpct-dietitian-nutrition__macro-name {
        margin-bottom: 8px;
        font-size: 12px;
    }

    .sgpct-dietitian-nutrition__macro-value {
        gap: 4px;
        margin-bottom: 15px;
    }

    .sgpct-dietitian-nutrition__macro-value strong {
        font-size: 14px;
        font-weight: 700;
    }

    .sgpct-dietitian-nutrition__macro-value > span {
        font-size: 11px;
    }

    .sgpct-dietitian-nutrition__macro .sgpct-dietitian-nutrition__progress {
        height: 8px;
    }

    .sgpct-start-calories--dietitian-dashboard .sgpct-start-calories__empty {
        border-left: 0;
        border-right: 0;
        border-radius: 0;
    }
}

@media (max-width: 380px) {
    .sgpct-dietitian-nutrition__calorie-row {
        align-items: center;
        flex-direction: row;
        gap: 6px;
    }

    .sgpct-dietitian-nutrition__consumed strong,
    .sgpct-dietitian-nutrition__remaining > strong {
        font-size: 11px;
    }

    .sgpct-dietitian-nutrition__remaining > span {
        font-size: 10px;
    }

    .sgpct-dietitian-nutrition__remaining {
        justify-content: flex-end;
    }

    .sgpct-dietitian-nutrition__macros {
        gap: 9px;
        padding-left: 10px;
        padding-right: 10px;
    }

    .sgpct-dietitian-nutrition__macro-name {
        font-size: 11px;
    }

    .sgpct-dietitian-nutrition__macro-value strong {
        font-size: 15px;
    }

    .sgpct-dietitian-nutrition__macro-value > span {
        font-size: 10px;
    }
}


/* 1.41.331 — wspólny prostokątny język powierzchni w każdej zakładce panelu klienta. */
.sgpct-panel .sgpct-content,
.sgpct-panel .sgpct-view section:not([class*="modal__dialog"]),
.sgpct-panel .sgpct-view article,
.sgpct-panel .sgpct-view [class$="__card"],
.sgpct-panel .sgpct-view [class$="-card"],
.sgpct-panel .sgpct-view [class$="__panel"],
.sgpct-panel .sgpct-view [class$="-panel"],
.sgpct-panel .sgpct-view [class*="table-wrap"],
.sgpct-panel .sgpct-view [class$="__empty"],
.sgpct-panel .sgpct-view [class$="-empty"],
.sgpct-panel .sgpct-view [class$="__month"],
.sgpct-panel .sgpct-view .sgpct-chat,
.sgpct-panel .sgpct-view .sgpct-calendar-admin,
.sgpct-panel .sgpct-view .sgpct-wj-score-pill,
.sgpct-panel .sgpct-view .sgpct-wj-loading,
.sgpct-panel .sgpct-view .sgpct-wj-rule-box,
.sgpct-panel .sgpct-view .sgpct-wj-stat,
.sgpct-panel .sgpct-view .sgpct-wj-table-scroll,
.sgpct-panel .sgpct-view .sgpct-wj-table-wrap {
    border-radius: 0 !important;
}

/* Astra i inne motywy potrafią narzucać border-width: 1px 0 0 1px na table/td. */
.sgpct-panel table,
.sgpct-panel td {
    border-width: 0 !important;
}


.sgpct-panel .sgpct-diet-calendar {
    border-radius: 0 !important;
}

.sgpct-panel .sgpct-diet-calendar__day,
.sgpct-panel button.sgpct-diet-calendar__day {
    border-radius: 0 !important;
    font-size: 10px !important;
}

.sgpct-panel .sgpct-diet-calendar__day.is-plan-day,
.sgpct-panel button.sgpct-diet-calendar__day.is-plan-day {
    font-weight: 600 !important;
}

.sgpct-panel .sgpct-diet-calendar__day.is-today::after {
    border: 0 !important;
    border-radius: 0 !important;
}

.sgpct-panel .sgpct-dietitian-nutrition__calories,
.sgpct-panel .sgpct-dietitian-nutrition__macros {
    border-radius: 0 !important;
}


/* 1.41.333 — stała dolna nawigacja mobilna Panelu klienta. */
.sgpct-mobile-bottom-nav {
    display: none;
}

@media (max-width: 767px) {
    .sgpct-panel {
        padding-bottom: calc(78px + env(safe-area-inset-bottom)) !important;
    }

    .sgpct-mobile-bottom-nav {
        position: fixed;
        right: 0;
        bottom: 0;
        left: 0;
        z-index: 250;
        display: grid;
        grid-template-columns: repeat(4, minmax(0, 1fr));
        align-items: stretch;
        min-height: 66px;
        padding: 5px 4px calc(5px + env(safe-area-inset-bottom));
        border-top: 1px solid #e8e8e8;
        background: rgba(255, 255, 255, .98);
        box-shadow: 0 -8px 24px rgba(15, 23, 42, .08);
        backdrop-filter: blur(14px);
        -webkit-backdrop-filter: blur(14px);
    }

    .sgpct-mobile-bottom-nav__item {
        position: relative;
        min-width: 0;
        min-height: 56px;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: 3px;
        margin: 0;
        padding: 4px 2px;
        border: 0 !important;
        border-radius: 0 !important;
        background: transparent !important;
        box-shadow: none !important;
        color: var(--sgpct-heading-color, #2D465D);
        font-family: inherit;
        text-align: center;
        text-decoration: none;
        -webkit-tap-highlight-color: transparent;
    }

    .sgpct-mobile-bottom-nav__item:hover,
    .sgpct-mobile-bottom-nav__item:focus,
    .sgpct-mobile-bottom-nav__item:active {
        border: 0 !important;
        background: transparent !important;
        box-shadow: none !important;
        color: var(--sgpct-heading-color, #2D465D);
        text-decoration: none;
        transform: none !important;
    }

    .sgpct-mobile-bottom-nav__item.is-active,
    .sgpct-mobile-bottom-nav__item.is-active:hover,
    .sgpct-mobile-bottom-nav__item.is-active:focus,
    .sgpct-mobile-bottom-nav__item.is-active:active {
        color: var(--sgpct-heading-color, #2D465D);
    }

    .sgpct-mobile-bottom-nav__icon {
        width: 24px;
        height: 24px;
        display: flex;
        align-items: center;
        justify-content: center;
        flex: 0 0 24px;
        color: currentColor;
    }

    .sgpct-mobile-bottom-nav__icon svg {
        width: 24px !important;
        height: 24px !important;
        max-width: 24px !important;
        max-height: 24px !important;
        display: block !important;
        overflow: visible !important;
        opacity: 1 !important;
        visibility: visible !important;
        fill: none !important;
        stroke: currentColor !important;
        stroke-width: 1.9 !important;
        stroke-linecap: round !important;
        stroke-linejoin: round !important;
    }

    .sgpct-mobile-bottom-nav__icon svg path,
    .sgpct-mobile-bottom-nav__icon svg circle,
    .sgpct-mobile-bottom-nav__icon svg line,
    .sgpct-mobile-bottom-nav__icon svg polyline {
        display: inline !important;
        opacity: 1 !important;
        visibility: visible !important;
        fill: none !important;
        stroke: currentColor !important;
        stroke-width: 1.9 !important;
        stroke-linecap: round !important;
        stroke-linejoin: round !important;
        vector-effect: non-scaling-stroke;
    }

    .sgpct-mobile-bottom-nav__label {
        max-width: 100%;
        overflow: hidden;
        color: currentColor;
        font-size: 10px;
        font-weight: 600;
        line-height: 1.15;
        text-overflow: ellipsis;
        white-space: nowrap;
    }
}


/* 1.41.341 — wspólny styl nagłówków sekcji na Stronie startowej klienta. */
.sgpct-start-section-heading {
    display: flex;
    align-items: center;
    gap: 12px;
    min-width: 0;
}

.sgpct-start-section-heading__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    flex: 0 0 44px;
    border-radius: 14px;
    background: var(--sgpct-client-banner-soft, rgba(184, 218, 243, .12));
    color: var(--sgpct-client-banner-graphic, #b8daf3);
    font-size: 22px;
    line-height: 1;
}

.sgpct-start-section-heading__title,
.sgpct-dietitian-nutrition__calories .sgpct-start-section-heading__title,
.sgpct-start-page .sgpct-client-weight-chart__head .sgpct-start-section-heading__title,
.sgpct-diet-calendar__eyebrow.sgpct-start-section-heading__title {
    margin: 0;
    color: var(--sgpct-heading-color, #2D465D);
    font-size: 16px;
    font-weight: 700;
    line-height: 1.25;
    letter-spacing: 0;
    text-transform: none;
}

.sgpct-dietitian-nutrition__heading {
    margin-bottom: 18px;
}

.sgpct-dietitian-nutrition__calories .sgpct-dietitian-nutrition__heading h3 {
    margin: 0;
}

.sgpct-client-weight-chart__heading {
    align-items: flex-start;
}

.sgpct-start-section-heading__copy {
    min-width: 0;
}

.sgpct-start-page .sgpct-client-weight-chart__head .sgpct-start-section-heading__copy p {
    margin: 5px 0 0;
}

.sgpct-diet-calendar__icon {
    background: var(--sgpct-client-banner-soft, rgba(184, 218, 243, .12));
    color: var(--sgpct-client-banner-graphic, #b8daf3);
}

.sgpct-diet-calendar__eyebrow {
    margin-bottom: 4px;
}

.sgpct-diet-calendar__title {
    margin: 0;
    color: var(--sgpct-heading-color, #2D465D);
    font-size: 14px;
    font-weight: 700;
    line-height: 1.3;
}

.sgpct-diet-calendar__summary {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: flex-end;
    gap: 7px;
    color: #667085;
    font-size: 10px;
    line-height: 1.3;
    white-space: nowrap;
}

.sgpct-diet-calendar__summary strong,
.sgpct-diet-calendar__summary span {
    color: #667085;
    font-size: 10px;
    font-weight: 500;
    line-height: 1.3;
}

.sgpct-diet-calendar__summary span::before {
    content: "•";
    margin-right: 7px;
    color: #98a2b3;
}

@media (max-width: 767px) {
    .sgpct-start-section-heading__title,
    .sgpct-dietitian-nutrition__calories .sgpct-start-section-heading__title,
    .sgpct-start-page .sgpct-client-weight-chart__head .sgpct-start-section-heading__title,
    .sgpct-diet-calendar__eyebrow.sgpct-start-section-heading__title {
        font-size: 16px;
        font-weight: 700;
    }

    .sgpct-dietitian-nutrition__heading {
        margin-bottom: 16px;
    }

    .sgpct-diet-calendar__summary {
        flex-direction: row;
        align-items: center;
        padding-left: 56px;
        font-size: 10px;
        text-align: left;
    }
}


/* 1.41.342 — wspólne nagłówki głównych zakładek klienta, płatności i nawigacja bez podkreśleń. */
.sgpct-view--reports > .sgpct-view__header,
.sgpct-view--client-diets > .sgpct-view__header,
.sgpct-client-calendar-view > .sgpct-view__header,
.sgpct-view--messages > .sgpct-view__header,
.sgpct-client-billing > .sgpct-view__header {
    margin: 0;
    padding: 0;
    border-bottom: 0;
}

.sgpct-view--reports > .sgpct-view__header .sgpct-view__title,
.sgpct-view--client-diets > .sgpct-view__header .sgpct-view__title,
.sgpct-client-calendar-view > .sgpct-view__header .sgpct-view__title,
.sgpct-view--messages > .sgpct-view__header .sgpct-view__title,
.sgpct-client-billing > .sgpct-view__header .sgpct-view__title {
    margin: 0;
    padding: 20px;
    font-size: 20px;
    font-weight: 800;
    line-height: 1.2;
}

/* Motyw (np. Astra) nie może dokładać underline do nawigacji klienta. */
@media (max-width: 767px) {
    .sgpct-panel a.sgpct-mobile-bottom-nav__item,
    .sgpct-panel a.sgpct-mobile-bottom-nav__item:hover,
    .sgpct-panel a.sgpct-mobile-bottom-nav__item:focus,
    .sgpct-panel a.sgpct-mobile-bottom-nav__item:active,
    .sgpct-panel a.sgpct-mobile-bottom-nav__item:visited,
    .sgpct-panel .sgpct-mobile-bottom-nav__item .sgpct-mobile-bottom-nav__label,
    .sgpct-panel .sgpct-mobile-nav-dropdown a.sgpct-nav__item,
    .sgpct-panel .sgpct-mobile-nav-dropdown a.sgpct-nav__item:hover,
    .sgpct-panel .sgpct-mobile-nav-dropdown a.sgpct-nav__item:focus,
    .sgpct-panel .sgpct-mobile-nav-dropdown a.sgpct-nav__item:active,
    .sgpct-panel .sgpct-mobile-nav-dropdown a.sgpct-nav__item:visited,
    .sgpct-panel .sgpct-mobile-nav-dropdown .sgpct-nav__label {
        text-decoration: none !important;
        text-decoration-line: none !important;
    }
}

/* 1.41.345 — „Twój postęp”: pełnoekranowy overlay, wycentrowany popup i tekstowy wybór parametru. */
.sgpct-start-page .sgpct-client-progress {
    border-radius: 0;
}

.sgpct-client-progress__head {
    margin-bottom: 14px;
}

.sgpct-client-progress__choose {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    margin: 5px 0 0;
    padding: 0;
    color: var(--sgpct-heading-color, #2D465D);
    font-family: inherit;
    font-size: 11px;
    font-weight: 600;
    line-height: 1.35;
    text-decoration: none;
    cursor: pointer;
}

.sgpct-client-progress__choose:hover,
.sgpct-client-progress__choose:focus-visible {
    color: var(--sgpct-heading-color, #2D465D);
    text-decoration: none;
    outline: none;
}

.sgpct-client-progress__choose span {
    font-size: 14px;
    line-height: 1;
}

.sgpct-client-progress__metric-label {
    margin: 0 0 12px;
    color: var(--sgpct-heading-color, #2D465D);
    font-size: 13px;
    font-weight: 700;
    line-height: 1.3;
}

.sgpct-client-progress__summary {
    margin-bottom: 16px;
}

.sgpct-client-progress__canvas {
    width: 100%;
    overflow: hidden;
    background: #fff;
}

.sgpct-client-progress__canvas--mobile {
    display: none;
}

.sgpct-client-progress__svg {
    display: block;
    width: 100%;
    height: auto;
    overflow: visible;
}

.sgpct-client-progress__grid-line {
    stroke: #e7eaed;
    stroke-width: 1;
}

.sgpct-client-progress__axis-label,
.sgpct-client-progress__date-label {
    fill: #667085;
    font-family: inherit;
    font-size: 12px;
    font-weight: 600;
}

.sgpct-client-progress__value {
    fill: var(--sgpct-heading-color, #2D465D);
    font-family: inherit;
    font-size: 12px;
    font-weight: 700;
}

.sgpct-client-progress__bar rect {
    stroke: none;
    transform-box: fill-box;
    transform-origin: center bottom;
    animation: sgpct-progress-bar-grow .6s cubic-bezier(.22,1,.36,1) both;
}

@keyframes sgpct-progress-bar-grow {
    from { transform: scaleY(0); }
    to { transform: scaleY(1); }
}

.sgpct-client-progress__line {
    fill: none;
    stroke: var(--sgpct-client-banner-graphic, #b8daf3);
    stroke-width: 4;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.sgpct-client-progress__point circle {
    fill: #fff;
    stroke: var(--sgpct-client-banner-graphic, #b8daf3);
    stroke-width: 4;
}

.sgpct-client-progress__point.is-start circle {
    fill: var(--sgpct-client-banner-graphic, #b8daf3);
}

.sgpct-client-progress__empty {
    border-radius: 0;
}

.sgpct-client-progress-modal[hidden] {
    display: none;
}

.sgpct-client-progress-modal {
    position: fixed;
    inset: 0;
    z-index: 2147483000;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100vw;
    min-height: 100vh;
    min-height: 100dvh;
    padding: 24px;
    box-sizing: border-box;
}

.sgpct-client-progress-modal__backdrop {
    position: absolute;
    inset: 0;
    background: rgba(15, 23, 42, .5);
}

.sgpct-client-progress-modal__dialog {
    position: relative;
    z-index: 1;
    width: min(420px, calc(100vw - 48px));
    max-height: min(620px, calc(100dvh - 48px));
    overflow: auto;
    padding: 22px;
    border: 1px solid #e8e8e8;
    border-radius: 0;
    background: #fff;
    box-shadow: 0 24px 70px rgba(15, 23, 42, .2);
    box-sizing: border-box;
}

.sgpct-client-progress-modal__dialog h2 {
    margin: 0 42px 18px 0;
    color: var(--sgpct-heading-color, #2D465D);
    font-size: 18px;
    font-weight: 800;
    line-height: 1.3;
}

.sgpct-client-progress-modal__close {
    position: absolute;
    top: 12px;
    right: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    padding: 0;
    border: 0;
    background: transparent;
    color: var(--sgpct-heading-color, #2D465D);
    font: inherit;
    font-size: 24px;
    font-weight: 400;
    line-height: 1;
    cursor: pointer;
}

.sgpct-client-progress-modal__options {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
}

.sgpct-client-progress__option {
    min-height: 44px;
    padding: 10px 12px;
    border: 1px solid #e8e8e8;
    border-radius: 0;
    background: #fff;
    color: var(--sgpct-heading-color, #2D465D);
    font: inherit;
    font-size: 12px;
    font-weight: 600;
    line-height: 1.3;
    text-align: center;
    cursor: pointer;
}

.sgpct-client-progress__option.is-selected {
    font-weight: 700;
}

body.sgpct-progress-param-modal-open {
    overflow: hidden;
}

@media (max-width: 767px) {
    .sgpct-client-progress__canvas--desktop {
        display: none;
    }

    .sgpct-client-progress__canvas--mobile {
        display: block;
        overflow-x: hidden;
        overflow-y: hidden;
    }

    .sgpct-client-progress__svg--line {
        width: 100%;
        max-width: 100%;
        min-width: 0;
        height: auto;
    }

    .sgpct-client-progress__axis-label,
    .sgpct-client-progress__date-label {
        font-size: 10px;
        font-weight: 600;
    }

    .sgpct-client-progress__value {
        font-size: 10px;
        font-weight: 700;
    }

    .sgpct-client-progress__line {
        stroke-width: 2;
    }

    .sgpct-client-progress__point circle {
        stroke-width: 1;
    }

    .sgpct-client-progress-modal {
        align-items: center;
        justify-content: center;
        padding: 24px;
    }

    .sgpct-client-progress-modal__dialog {
        width: min(320px, calc(100vw - 48px));
        max-height: calc(100dvh - 48px);
        padding: 18px 14px;
        border: 1px solid #e8e8e8;
        border-radius: 0;
    }

    .sgpct-client-progress-modal__dialog h2 {
        margin-right: 34px;
        text-align: center;
    }

    .sgpct-client-progress-modal__options {
        grid-template-columns: 1fr;
    }

    .sgpct-client-progress__option {
        min-height: 40px;
        padding: 9px 10px;
        border-radius: 0;
        text-align: center;
    }
}

/* 1.41.358 — opinia klienta o specjaliście + osobne położenie PC/mobile. */
.sgpct-client-review-entry {
    width: 100%;
    display: flex;
    justify-content: flex-end;
    align-items: center;
    margin: 0 0 8px;
    text-align: right;
}

.sgpct-client-review-entry--mobile {
    display: none;
}

.sgpct-client-review-entry--desktop {
    display: flex;
}

.sgpct-client-review-entry__text {
    display: inline-flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 3px 5px;
    max-width: 100%;
    color: var(--sgpct-heading-color, #2D465D);
    font-size: 11px;
    font-weight: 700;
    line-height: 1.35;
    text-decoration: none;
}

.sgpct-client-review-entry__text small {
    width: 100%;
    color: #9aa3ad;
    font-size: 9px;
    font-weight: 500;
    line-height: 1.35;
}

.sgpct-client-review-entry__text.is-active {
    cursor: pointer;
}

.sgpct-client-review-entry__text.is-active:hover,
.sgpct-client-review-entry__text.is-active:focus-visible {
    text-decoration: underline;
    text-underline-offset: 3px;
}

.sgpct-client-review-entry__text.is-disabled {
    color: #a7adb4;
    cursor: default;
    user-select: none;
}

.sgpct-client-review-modal,
.sgpct-client-review-success-modal {
    position: fixed;
    inset: 0;
    z-index: 2147483300;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 24px;
    opacity: 0;
    visibility: hidden;
    transition: opacity .22s ease, visibility .22s ease;
}

.sgpct-client-review-modal[hidden],
.sgpct-client-review-success-modal[hidden] {
    display: none;
}

.sgpct-client-review-modal.is-open,
.sgpct-client-review-success-modal.is-open {
    opacity: 1;
    visibility: visible;
}

.sgpct-client-review-modal__backdrop,
.sgpct-client-review-success-modal__backdrop {
    position: absolute;
    inset: 0;
    background: rgba(15, 23, 42, .58);
    backdrop-filter: blur(2px);
}

.sgpct-client-review-modal__dialog,
.sgpct-client-review-success-modal__dialog {
    position: relative;
    z-index: 1;
    width: min(460px, calc(100vw - 48px));
    max-height: calc(100dvh - 48px);
    overflow: auto;
    padding: 24px;
    border: 1px solid #e8e8e8;
    border-radius: 0;
    background: #fff;
    box-shadow: 0 24px 70px rgba(15, 23, 42, .24);
    opacity: 0;
    transform: translateY(18px) scale(.985);
    transition: transform .24s ease, opacity .24s ease;
}

.sgpct-client-review-modal.is-open .sgpct-client-review-modal__dialog,
.sgpct-client-review-success-modal.is-open .sgpct-client-review-success-modal__dialog {
    opacity: 1;
    transform: translateY(0) scale(1);
}

.sgpct-client-review-modal__dialog h2,
.sgpct-client-review-success-modal__dialog h2 {
    margin: 0 38px 18px 0;
    color: var(--sgpct-heading-color, #2D465D);
    font-size: 20px;
    font-weight: 800;
    line-height: 1.25;
}

.sgpct-client-review-success-modal__dialog p {
    margin: 0;
    color: #4b5563;
    font-size: 13px;
    font-weight: 500;
    line-height: 1.55;
}

.sgpct-client-review-modal__close,
.sgpct-client-review-success-modal__close {
    position: absolute;
    top: 12px;
    right: 12px;
    width: 34px;
    height: 34px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    color: var(--sgpct-heading-color, #2D465D);
    box-shadow: none;
    font: inherit;
    font-size: 25px;
    font-weight: 400;
    line-height: 1;
    cursor: pointer;
}

.sgpct-client-review-form {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.sgpct-client-review-form__stars {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 4px 0 8px;
}

.sgpct-client-review__star {
    width: auto;
    min-width: 0;
    height: auto;
    min-height: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    color: #d4d8dd;
    font: inherit;
    font-size: 34px;
    font-weight: 400;
    line-height: 1;
    cursor: pointer;
    transition: color .16s ease, transform .16s ease;
}

.sgpct-client-review__star.is-selected,
.sgpct-client-review__star:hover,
.sgpct-client-review__star:focus-visible {
    color: var(--sgpct-heading-color, #2D465D);
}

.sgpct-client-review__star:hover,
.sgpct-client-review__star:focus-visible {
    transform: translateY(-1px) scale(1.06);
}

.sgpct-client-review-form__label {
    color: var(--sgpct-heading-color, #2D465D);
    font-size: 12px;
    font-weight: 700;
}

.sgpct-client-review-form textarea {
    width: 100%;
    min-height: 130px;
    resize: vertical;
    padding: 12px;
    border: 1px solid #e2e5e9;
    border-radius: 0;
    background: #fff;
    color: #27313a;
    font: inherit;
    font-size: 13px;
    line-height: 1.5;
    box-sizing: border-box;
}

.sgpct-client-review-form textarea:focus {
    outline: 1px solid var(--sgpct-heading-color, #2D465D);
    outline-offset: 1px;
}

.sgpct-client-review-form__error {
    color: #b42318;
    font-size: 11px;
    font-weight: 600;
    line-height: 1.4;
}

.sgpct-client-review-modal__submit {
    align-self: flex-start;
    margin: 4px 0 0;
}

body.sgpct-client-review-modal-open {
    overflow: hidden;
}

@media (max-width: 767px) {
    .sgpct-client-review-entry--desktop {
        display: none;
    }

    .sgpct-client-review-entry--mobile {
        display: flex;
    }

    .sgpct-client-review-entry {
        margin-bottom: 7px;
    }

    .sgpct-client-review-entry__text {
        font-size: 10px;
    }

    .sgpct-client-review-entry__text small {
        font-size: 8px;
    }

    .sgpct-client-review-modal,
    .sgpct-client-review-success-modal {
        padding: 20px;
    }

    .sgpct-client-review-modal__dialog,
    .sgpct-client-review-success-modal__dialog {
        width: min(340px, calc(100vw - 40px));
        max-height: calc(100dvh - 40px);
        padding: 20px 16px;
    }

    .sgpct-client-review-modal__dialog h2,
    .sgpct-client-review-success-modal__dialog h2 {
        font-size: 17px;
    }

    .sgpct-client-review__star {
        font-size: 31px;
    }

    .sgpct-client-review-form textarea {
        min-height: 120px;
        font-size: 12px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .sgpct-client-review-modal,
    .sgpct-client-review-success-modal,
    .sgpct-client-review-modal__dialog,
    .sgpct-client-review-success-modal__dialog,
    .sgpct-client-review__star {
        transition: none;
    }
}


/* 1.41.419 — stabilizacja Panelu klienta na zewnętrznych instalacjach ze wspólną bazą. */
.sgpct-panel--shared-client-base .sgpct-client-progress,
.sgpct-panel--shared-client-base .sgpct-client-progress__panels,
.sgpct-panel--shared-client-base .sgpct-client-progress__panel,
.sgpct-panel--shared-client-base .sgpct-client-progress__canvas {
    position: relative !important;
    min-width: 0 !important;
}
.sgpct-panel--shared-client-base .sgpct-client-progress__panel[hidden] {
    display: none !important;
}
.sgpct-panel--shared-client-base .sgpct-client-progress__canvas {
    overflow: hidden !important;
}
.sgpct-panel--shared-client-base .sgpct-client-progress__svg {
    position: static !important;
    inset: auto !important;
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    margin: 0 !important;
}
/* Jeśli nie ma jeszcze kalendarza diety, nie zostawiamy pustej drugiej kolumny. */
.sgpct-panel--shared-client-base .sgpct-start-page--single {
    grid-template-columns: minmax(0, 1fr) !important;
}
.sgpct-panel--shared-client-base .sgpct-start-page--single .sgpct-client-progress__canvas--desktop {
    display: flex;
    justify-content: center;
    align-items: flex-start;
}
.sgpct-panel--shared-client-base .sgpct-start-page--single .sgpct-client-progress__svg--bar {
    width: min(100%, 820px) !important;
    max-width: 820px !important;
}
/* Dzwonek jest kontrolką ikonową, a nie przyciskiem CTA. */
.sgpct-panel .sgpct-client-banner__bell {
    width: 44px !important;
    height: 44px !important;
    min-width: 44px !important;
    min-height: 44px !important;
    padding: 0 !important;
    border: 1px solid transparent !important;
    border-radius: 50% !important;
    background: transparent !important;
    color: var(--sgpct-client-banner-bell, var(--sgpct-client-banner-text, #2d465d)) !important;
    box-shadow: none !important;
    filter: none !important;
}
.sgpct-panel .sgpct-client-banner__bell svg {
    position: static !important;
    display: block !important;
    width: 25px !important;
    height: 25px !important;
    max-width: none !important;
}
.sgpct-panel .sgpct-client-banner__bell svg path {
    fill: none !important;
    stroke: currentColor !important;
    stroke-width: 1.8 !important;
    stroke-linecap: round !important;
    stroke-linejoin: round !important;
}

/* 1.41.430: stabilny onboarding bez przeskakiwania wysokości między krokami. */
.sgpct-onboarding__card {
    display: flex;
    height: 850px;
    flex-direction: column;
}

.sgpct-onboarding__header {
    flex: 0 0 auto;
}

.sgpct-onboarding__brand {
    display: flex;
    min-height: 58px;
    align-items: center;
    justify-content: center;
    text-align: center;
}

.sgpct-onboarding__brand:empty {
    min-height: 0;
}

.sgpct-onboarding__specialist-name {
    display: block;
    width: 100%;
    color: #1f1f1f;
    font-size: 18px;
    font-weight: 800;
    line-height: 1.25;
    text-align: center;
}

.sgpct-onboarding__form {
    display: flex;
    min-height: 0;
    flex: 1 1 auto;
    flex-direction: column;
}

.sgpct-onboarding__slides {
    position: relative;
    min-height: 0;
    flex: 1 1 auto;
    overflow: hidden;
}

.sgpct-onboarding__slide {
    position: absolute;
    inset: 0;
    min-height: 0;
    overflow-x: hidden;
    overflow-y: auto;
    padding-right: 6px;
    opacity: 0;
    pointer-events: none;
    transform: translate3d(18px, 0, 0);
    transition: opacity .38s cubic-bezier(.22, 1, .36, 1), transform .38s cubic-bezier(.22, 1, .36, 1);
    animation: none;
    scrollbar-gutter: stable;
    will-change: opacity, transform;
}

.sgpct-onboarding__slide.is-active {
    z-index: 2;
    opacity: 1;
    pointer-events: auto;
    transform: translate3d(0, 0, 0);
}

.sgpct-onboarding__slide.is-entering-back {
    transform: translate3d(-18px, 0, 0);
}

.sgpct-onboarding__slide.is-leaving-forward {
    z-index: 1;
    opacity: 0;
    transform: translate3d(-14px, 0, 0);
}

.sgpct-onboarding__slide.is-leaving-back {
    z-index: 1;
    opacity: 0;
    transform: translate3d(14px, 0, 0);
}

.sgpct-onboarding__error {
    flex: 0 0 auto;
}

.sgpct-onboarding__actions {
    flex: 0 0 auto;
}

.sgpct-onboarding__actions button,
.sgpct-onboarding-avatar__button {
    transition: transform .2s ease, filter .2s ease, box-shadow .2s ease, opacity .2s ease;
}

.sgpct-onboarding__actions button:hover,
.sgpct-onboarding-avatar__button:hover {
    transform: translateY(-1px);
}

.sgpct-onboarding__actions button:active,
.sgpct-onboarding-avatar__button:active {
    transform: translateY(0);
}

@media (max-width: 980px) {
    .sgpct-onboarding__card {
        height: 820px;
    }
}

@media (max-width: 760px) {
    .sgpct-onboarding__card {
        height: 760px;
        min-height: 760px;
    }

    .sgpct-onboarding__brand {
        min-height: 42px;
    }

    .sgpct-onboarding__specialist-name {
        font-size: 16px;
    }

    .sgpct-onboarding__slide {
        padding-right: 3px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .sgpct-onboarding__slide,
    .sgpct-onboarding__actions button,
    .sgpct-onboarding-avatar__button,
    .sgpct-onboarding__progress span {
        transition: none !important;
    }
}


/* 1.41.432: onboarding — kompaktowe nagłówki i równe przyciski nawigacji. */
.sgpct-onboarding__step-number {
    display: none !important;
}

.sgpct-onboarding__slide-copy h1 {
    font-size: 26px;
}

.sgpct-onboarding__back,
.sgpct-onboarding__next {
    width: 170px;
    min-width: 170px;
    max-width: 170px;
    text-align: center;
}

@media (max-width: 480px) {
    .sgpct-onboarding__back,
    .sgpct-onboarding__next {
        width: calc(50% - 6px);
        min-width: 0;
        max-width: none;
    }
}


/* 1.41.433 — stabilny, proporcjonalny wykres „Twój postęp” na szerokich ekranach. */
@media (min-width: 768px) {
    .sgpct-start-page .sgpct-client-progress__panel:not([hidden]) {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) auto;
        grid-template-rows: auto auto;
        align-items: center;
        column-gap: 20px;
        row-gap: 12px;
        min-width: 0;
    }

    .sgpct-start-page .sgpct-client-progress__metric-label {
        grid-column: 1;
        grid-row: 1;
        margin: 0 !important;
        align-self: center;
    }

    .sgpct-start-page .sgpct-client-progress__summary {
        grid-column: 2;
        grid-row: 1;
        margin: 0 !important;
        justify-content: flex-end;
        flex-wrap: nowrap;
    }

    .sgpct-start-page .sgpct-client-progress__canvas--desktop {
        grid-column: 1 / -1;
        grid-row: 2;
        display: block !important;
        width: 100% !important;
        max-width: none !important;
        min-width: 0 !important;
        height: auto !important;
        min-height: 0 !important;
        overflow: hidden !important;
        border-radius: 0 !important;
    }

    .sgpct-start-page .sgpct-client-progress__svg--bar,
    .sgpct-panel--shared-client-base .sgpct-start-page--single .sgpct-client-progress__svg--bar {
        display: block !important;
        width: 100% !important;
        max-width: none !important;
        min-width: 0 !important;
        height: auto !important;
        max-height: 360px !important;
        margin: 0 !important;
        overflow: hidden !important;
    }

    .sgpct-start-page .sgpct-client-progress__grid-line {
        vector-effect: non-scaling-stroke;
        shape-rendering: crispEdges;
    }
}

@media (max-width: 767px) {
    /* Kasuje starą regułę min-width:720px z wcześniejszego wykresu wagi. */
    .sgpct-start-page .sgpct-client-progress__svg--line,
    .sgpct-panel--shared-client-base .sgpct-client-progress__svg--line {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        height: auto !important;
        margin: 0 !important;
    }
}


/* 1.41.434 — wykres postępu używa wykresu liniowego również na desktopie. */
@media (min-width: 768px) {
    .sgpct-start-page .sgpct-client-progress__canvas--desktop {
        display: block !important;
        width: 100% !important;
        min-width: 0 !important;
        overflow: hidden !important;
    }

    .sgpct-start-page .sgpct-client-progress__svg--line-desktop {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        height: auto !important;
        margin: 0 !important;
        overflow: visible !important;
    }

    /* Gdy plan dietetyczny zajmuje drugą kolumnę, wykres wykorzystuje całą
       szerokość swojej kolumny i zachowuje czytelny stosunek wysokości. */
    .sgpct-start-page:not(.sgpct-start-page--single) .sgpct-client-progress__svg--line-desktop {
        width: 100% !important;
        max-width: none !important;
    }

    /* Bez planu dietetycznego nie rozciągamy wykresu do absurdalnej wysokości. */
    .sgpct-start-page--single .sgpct-client-progress__canvas--desktop {
        display: flex !important;
        justify-content: center;
    }

    .sgpct-start-page--single .sgpct-client-progress__svg--line-desktop {
        width: min(100%, 900px) !important;
        max-width: 900px !important;
    }

    .sgpct-start-page .sgpct-client-progress__line {
        stroke-width: 3.5;
        vector-effect: non-scaling-stroke;
    }

    .sgpct-start-page .sgpct-client-progress__point circle {
        stroke-width: 3;
        vector-effect: non-scaling-stroke;
    }

    .sgpct-start-page .sgpct-client-progress__grid-line {
        vector-effect: non-scaling-stroke;
        shape-rendering: crispEdges;
    }
}


/* 1.41.435 — równa wysokość kart na Stronie startowej i stabilny wykres liniowy. */
@media (min-width: 768px) {
    .sgpct-panel .sgpct-start-page {
        align-items: stretch;
    }

    .sgpct-panel .sgpct-start-page > .sgpct-diet-calendar,
    .sgpct-panel .sgpct-start-page > .sgpct-client-progress {
        height: 100%;
        min-height: 100%;
        box-sizing: border-box;
    }

    .sgpct-panel .sgpct-start-page > .sgpct-client-progress {
        display: flex;
        flex-direction: column;
    }

    .sgpct-panel .sgpct-client-progress__panels {
        display: flex;
        min-height: 0;
        flex: 1 1 auto;
        flex-direction: column;
    }

    .sgpct-panel .sgpct-client-progress__panel:not([hidden]) {
        min-height: 0;
        flex: 1 1 auto;
        grid-template-rows: auto minmax(0, 1fr);
    }

    .sgpct-panel .sgpct-client-progress__canvas--desktop {
        min-height: 260px !important;
        align-self: stretch;
    }

    .sgpct-panel .sgpct-client-progress__svg--line-desktop {
        width: 100% !important;
        max-width: none !important;
        min-width: 0 !important;
        margin: 0 !important;
    }
}

.sgpct-panel .sgpct-client-progress__grid-line {
    fill: none !important;
    stroke: #dfe5ea !important;
    stroke-width: 1.2 !important;
    vector-effect: non-scaling-stroke;
    shape-rendering: geometricPrecision;
}

.sgpct-panel .sgpct-client-progress__line {
    fill: none !important;
    stroke: var(--sgpct-client-banner-graphic, #3aa6c7) !important;
    stroke-width: 3.5 !important;
    stroke-linecap: round !important;
    stroke-linejoin: round !important;
    vector-effect: non-scaling-stroke;
}

.sgpct-panel .sgpct-client-progress__line--single {
    opacity: .95;
}

.sgpct-panel .sgpct-client-progress__point circle {
    fill: #fff !important;
    stroke: var(--sgpct-client-banner-graphic, #3aa6c7) !important;
    stroke-width: 3 !important;
    vector-effect: non-scaling-stroke;
}

.sgpct-panel .sgpct-client-progress__point.is-start circle {
    fill: var(--sgpct-client-banner-graphic, #3aa6c7) !important;
}

/* Oddzielne kolory poszczególnych elementów bannera klienta. */
.sgpct-panel .sgpct-client-banner__welcome strong,
.sgpct-panel .sgpct-client-banner__welcome span {
    color: var(--sgpct-client-banner-welcome, var(--sgpct-client-banner-text, #2d465d)) !important;
}

.sgpct-panel .sgpct-client-banner__date,
.sgpct-panel .sgpct-client-banner__date strong {
    color: var(--sgpct-client-banner-date, var(--sgpct-client-banner-text, #2d465d)) !important;
}

.sgpct-panel .sgpct-client-banner__bell {
    color: var(--sgpct-client-banner-bell, var(--sgpct-client-banner-text, #2d465d)) !important;
}


/* 1.41.439 — jeden kolor z ustawienia „Kolor dzwonka” dla dzwonka i dolnej nawigacji mobilnej. */
.sgpct-panel .sgpct-client-banner__bell,
.sgpct-panel .sgpct-client-banner__bell svg,
.sgpct-panel .sgpct-client-banner__bell svg path {
    color: var(--sgpct-client-banner-bell, #2D465D) !important;
    stroke: var(--sgpct-client-banner-bell, #2D465D) !important;
}
.sgpct-panel .sgpct-client-banner__bell svg,
.sgpct-panel .sgpct-client-banner__bell svg path {
    fill: none !important;
    opacity: 1 !important;
    visibility: visible !important;
}
@media (max-width: 767px) {
    .sgpct-panel .sgpct-mobile-bottom-nav,
    .sgpct-panel .sgpct-mobile-bottom-nav__item,
    .sgpct-panel .sgpct-mobile-bottom-nav__item:hover,
    .sgpct-panel .sgpct-mobile-bottom-nav__item:focus,
    .sgpct-panel .sgpct-mobile-bottom-nav__item:active,
    .sgpct-panel .sgpct-mobile-bottom-nav__item:visited,
    .sgpct-panel .sgpct-mobile-bottom-nav__icon,
    .sgpct-panel .sgpct-mobile-bottom-nav__label {
        color: var(--sgpct-mobile-nav-color, var(--sgpct-client-banner-bell, #2D465D)) !important;
        opacity: 1 !important;
        visibility: visible !important;
    }
    .sgpct-panel .sgpct-mobile-bottom-nav__icon svg,
    .sgpct-panel .sgpct-mobile-bottom-nav__icon svg path,
    .sgpct-panel .sgpct-mobile-bottom-nav__icon svg circle,
    .sgpct-panel .sgpct-mobile-bottom-nav__icon svg line,
    .sgpct-panel .sgpct-mobile-bottom-nav__icon svg polyline {
        color: var(--sgpct-mobile-nav-color, var(--sgpct-client-banner-bell, #2D465D)) !important;
        stroke: var(--sgpct-mobile-nav-color, var(--sgpct-client-banner-bell, #2D465D)) !important;
        fill: none !important;
        opacity: 1 !important;
        visibility: visible !important;
        display: block !important;
    }
    .sgpct-panel .sgpct-mobile-bottom-nav__icon svg path,
    .sgpct-panel .sgpct-mobile-bottom-nav__icon svg circle,
    .sgpct-panel .sgpct-mobile-bottom-nav__icon svg line,
    .sgpct-panel .sgpct-mobile-bottom-nav__icon svg polyline {
        display: inline !important;
    }
}


/* 1.41.440 — wszystkie małe ikony interfejsu klienta jako Dashicons, bez inline SVG. */
.sgpct-panel .sgpct-client-banner__bell-icon,
.sgpct-panel .sgpct-client-banner__date-icon,
.sgpct-panel .sgpct-mobile-bottom-nav__icon .dashicons {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 24px !important;
    height: 24px !important;
    margin: 0 !important;
    padding: 0 !important;
    color: inherit !important;
    font-family: dashicons !important;
    font-style: normal !important;
    font-weight: 400 !important;
    font-size: 24px !important;
    line-height: 1 !important;
    text-align: center !important;
    text-decoration: none !important;
    opacity: 1 !important;
    visibility: visible !important;
    -webkit-font-smoothing: antialiased !important;
    -moz-osx-font-smoothing: grayscale !important;
}
.sgpct-panel .sgpct-client-banner__bell,
.sgpct-panel .sgpct-client-banner__bell-icon {
    color: var(--sgpct-client-banner-bell, #2D465D) !important;
}
.sgpct-panel .sgpct-client-banner__date-icon {
    color: var(--sgpct-client-banner-date, var(--sgpct-client-banner-text, #2D465D)) !important;
}
@media (max-width: 767px) {
    .sgpct-panel .sgpct-mobile-bottom-nav__item,
    .sgpct-panel .sgpct-mobile-bottom-nav__item:hover,
    .sgpct-panel .sgpct-mobile-bottom-nav__item:focus,
    .sgpct-panel .sgpct-mobile-bottom-nav__item:active,
    .sgpct-panel .sgpct-mobile-bottom-nav__item:visited,
    .sgpct-panel .sgpct-mobile-bottom-nav__icon,
    .sgpct-panel .sgpct-mobile-bottom-nav__icon .dashicons,
    .sgpct-panel .sgpct-mobile-bottom-nav__label {
        color: var(--sgpct-mobile-nav-color, var(--sgpct-client-banner-bell, #2D465D)) !important;
    }
    .sgpct-panel .sgpct-mobile-bottom-nav__icon .dashicons {
        width: 25px !important;
        height: 25px !important;
        font-size: 25px !important;
    }
}


/* 1.41.440 — pozostałe małe ikony klienta również jako Dashicons. */
.sgpct-panel .sgpct-dietitian-day-strip__circle .dashicons,
.sgpct-panel .sgpct-start-calories__icon .dashicons,
.sgpct-panel .sgpct-notification-bell__icon {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 24px !important;
    height: 24px !important;
    margin: 0 !important;
    color: inherit !important;
    font-family: dashicons !important;
    font-style: normal !important;
    font-weight: 400 !important;
    font-size: 24px !important;
    line-height: 1 !important;
    opacity: 1 !important;
    visibility: visible !important;
}
.sgpct-panel .sgpct-notification-bell,
.sgpct-panel .sgpct-notification-bell__icon {
    color: var(--sgpct-client-banner-bell, #2D465D) !important;
}

.sgpct-panel .sgpct-start-training__state-icon .dashicons {
    display:inline-flex !important;align-items:center !important;justify-content:center !important;
    width:48px !important;height:48px !important;font-family:dashicons !important;font-size:48px !important;line-height:1 !important;color:inherit !important;
}


/* 1.41.444 — stabilny wykres postępu bez wymuszania visibility.
   Cały panel jest ukrywany do czasu załadowania panel.css, więc elementy SVG
   nie mogą samodzielnie nadpisywać visibility i powodować FOUC. */
.sgpct-panel .sgpct-client-progress__grid-rule {
    fill: #dfe5ea !important;
    stroke: none !important;
    shape-rendering: crispEdges;
}

.sgpct-panel .sgpct-client-progress__segment {
    fill: var(--sgpct-client-banner-graphic, #3aa6c7) !important;
    stroke: none !important;
}

.sgpct-panel .sgpct-client-progress__point circle,
.sgpct-panel .sgpct-client-progress__point.is-start circle {
    fill: var(--sgpct-client-banner-graphic, #3aa6c7) !important;
    stroke: none !important;
}

.sgpct-panel .sgpct-client-progress__svg--line {
    overflow: visible !important;
}

/* 1.41.447 — „Moje diety”: wspólny kalendarz aktualnej diety + chronologiczne archiwum. */
.sgpct-panel .sgpct-client-diets-tabs {
    width: 100%;
}

.sgpct-panel .sgpct-client-diets-tabs__input {
    position: absolute;
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    overflow: hidden;
    clip: rect(0 0 0 0);
    white-space: nowrap;
    border: 0;
    opacity: 0;
}

.sgpct-panel .sgpct-client-diets-tabs__nav {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    margin: 0 0 20px;
}

.sgpct-panel .sgpct-client-diets-tabs__tab {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 56px;
    padding: 14px 18px;
    border: 1px solid rgba(15, 23, 42, 0.10);
    border-radius: 10px;
    background: #fff;
    color: var(--sgpct-heading-color, #2D465D);
    box-shadow: 0 5px 16px rgba(15, 23, 42, 0.04);
    font-size: 15px;
    font-weight: 800;
    line-height: 1.25;
    text-align: center;
    cursor: pointer;
    user-select: none;
    transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease, background .18s ease, color .18s ease;
}

.sgpct-panel .sgpct-client-diets-tabs__tab:hover {
    transform: translateY(-1px);
    box-shadow: 0 8px 20px rgba(15, 23, 42, 0.07);
}

.sgpct-panel #sgpct-client-diets-current:checked ~ .sgpct-client-diets-tabs__nav .sgpct-client-diets-tabs__tab--current,
.sgpct-panel #sgpct-client-diets-archive:checked ~ .sgpct-client-diets-tabs__nav .sgpct-client-diets-tabs__tab--archive {
    border-color: var(--sgpct-button-background, var(--sgpct-client-banner-graphic, #3aa6c7));
    background: var(--sgpct-button-background, var(--sgpct-client-banner-graphic, #3aa6c7));
    color: var(--sgpct-button-color, #fff);
    box-shadow: 0 8px 22px rgba(15, 23, 42, 0.10);
}

.sgpct-panel .sgpct-client-diets-tabs__panel {
    display: none;
    width: 100%;
    min-width: 0;
}

.sgpct-panel #sgpct-client-diets-current:checked ~ .sgpct-client-diets-tabs__panel--current,
.sgpct-panel #sgpct-client-diets-archive:checked ~ .sgpct-client-diets-tabs__panel--archive {
    display: block;
}

/* Kalendarz w „Moje diety” jest dokładnie tym samym komponentem co na Stronie startowej. */
.sgpct-panel .sgpct-client-diets-tabs__panel--current > .sgpct-diet-calendar {
    width: 100%;
    margin: 0;
}

.sgpct-panel .sgpct-client-diets-tabs__panel--archive .sgpct-client-diets__list {
    margin: 0;
}

@media (max-width: 767px) {
    .sgpct-panel .sgpct-client-diets-tabs__nav {
        gap: 8px;
        margin-bottom: 14px;
    }

    .sgpct-panel .sgpct-client-diets-tabs__tab {
        min-height: 48px;
        padding: 11px 8px;
        border-radius: 8px;
        font-size: 13px;
    }
}

/* 1.41.448 — Moje diety: kalendarz + jadłospis w dwóch kolumnach na desktopie. */
.sgpct-panel .sgpct-client-current-diet-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 20px;
    align-items: start;
    width: 100%;
    min-width: 0;
}

.sgpct-panel .sgpct-client-current-diet-layout__calendar,
.sgpct-panel .sgpct-diet-day-inline {
    min-width: 0;
}

.sgpct-panel .sgpct-client-current-diet-layout__calendar > .sgpct-diet-calendar {
    width: 100%;
    margin: 0;
}

.sgpct-panel .sgpct-diet-day-inline {
    overflow: hidden;
    border: 1px solid rgba(15, 23, 42, 0.10);
    border-radius: 14px;
    background: #fff;
    box-shadow: 0 8px 24px rgba(15, 23, 42, 0.05);
}

.sgpct-panel .sgpct-diet-day-inline__placeholder {
    display: flex;
    min-height: 430px;
    padding: 42px 30px;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 10px;
    color: #667085;
    text-align: center;
}

.sgpct-panel .sgpct-diet-day-inline__placeholder[hidden],
.sgpct-panel .sgpct-diet-day-inline__view[hidden] {
    display: none !important;
}

.sgpct-panel .sgpct-diet-day-inline__placeholder .dashicons {
    width: 44px;
    height: 44px;
    color: var(--sgpct-client-banner-graphic, #3aa6c7);
    font-size: 44px;
    line-height: 44px;
}

.sgpct-panel .sgpct-diet-day-inline__placeholder strong {
    color: var(--sgpct-heading-color, #2D465D);
    font-size: 19px;
    line-height: 1.3;
}

.sgpct-panel .sgpct-diet-day-inline__placeholder p {
    max-width: 390px;
    margin: 0;
    font-size: 14px;
    line-height: 1.55;
}

.sgpct-panel .sgpct-diet-day-inline__header {
    padding: 20px 22px 16px;
}

.sgpct-panel .sgpct-diet-day-inline__header h2 {
    font-size: 22px;
}

.sgpct-panel .sgpct-diet-day-inline__body {
    max-height: min(76vh, 850px);
    overflow-y: auto;
    padding: 18px 20px 24px;
}

.sgpct-panel .sgpct-diet-day-inline .sgpct-diet-day-summary {
    grid-template-columns: minmax(100px, 130px) minmax(0, 1fr);
    gap: 16px;
    padding: 16px;
}

.sgpct-panel .sgpct-diet-day-inline .sgpct-diet-day-summary__ring {
    width: 104px;
    height: 104px;
    flex-basis: 104px;
}

@media (max-width: 767px) {
    .sgpct-panel .sgpct-client-current-diet-layout {
        display: block;
    }

    .sgpct-panel .sgpct-diet-day-inline {
        display: none !important;
    }
}

/* 1.41.449 — korekty układu Moje diety i geometrii panelu. */
.sgpct-diet-day-meal__complete {
    display: inline !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    text-decoration: none !important;
    text-underline-offset: 0 !important;
}

.sgpct-diet-day-meal__complete:hover,
.sgpct-diet-day-meal__complete:focus-visible {
    background: transparent !important;
    box-shadow: none !important;
    text-decoration: none !important;
}

.sgpct-panel .sgpct-client-diets-tabs__tab,
.sgpct-panel .sgpct-diet-day-inline,
.sgpct-sidebar {
    border-radius: 0 !important;
}

@media (min-width: 768px) {
    .sgpct-panel .sgpct-client-current-diet-layout {
        align-items: stretch !important;
    }

    .sgpct-panel .sgpct-client-current-diet-layout__calendar,
    .sgpct-panel .sgpct-diet-day-inline {
        height: 100%;
        min-height: 0;
        box-sizing: border-box;
    }

    .sgpct-panel .sgpct-diet-day-inline__placeholder {
        height: 100%;
        min-height: 0 !important;
        box-sizing: border-box;
    }
}


/* 1.41.451: Astra page-builder mobile spacing reset for the client platform. */
@media (max-width: 760px) {
    .ast-single-post.ast-page-builder-template .site-main > article,
    .woocommerce.ast-page-builder-template .site-main,
    .ast-page-builder-template .post-navigation {
        padding-top: 0 !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
    }
}


/* 1.41.452 — czytelniejsza tabela składników + nieodwracalny wizualnie status realizacji + zamiana posiłków. */
.sgpct-diet-day-meal__actions {
    display: inline-flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 7px;
    min-height: 18px;
}

.sgpct-diet-day-meal__action-separator {
    color: #98a2b3;
    font-size: 12px;
    font-weight: 500;
    line-height: 1;
}

.sgpct-diet-day-meal__swap {
    color: var(--sgpct-link-color, #344054);
    font-size: 12px;
    font-weight: 800;
    line-height: 1.2;
    text-decoration: underline;
    text-underline-offset: 3px;
    cursor: pointer;
}

.sgpct-diet-day-meal__swap:hover,
.sgpct-diet-day-meal__swap:focus-visible {
    color: var(--sgpct-heading-color, #2D465D);
    outline: none;
}

.sgpct-diet-day-meal__swap.is-disabled,
.sgpct-diet-day-meal__swap.is-disabled:hover,
.sgpct-diet-day-meal__swap.is-disabled:focus-visible,
.sgpct-diet-day-meal.is-completed .sgpct-diet-day-meal__swap,
.sgpct-diet-day-meal.is-completed .sgpct-diet-day-meal__swap:hover,
.sgpct-diet-day-meal.is-completed .sgpct-diet-day-meal__swap:focus-visible {
    color: #d0d5dd !important;
    opacity: 1 !important;
    text-decoration: none !important;
    text-underline-offset: 0 !important;
    cursor: default !important;
    pointer-events: none !important;
}

.sgpct-diet-day-meal.is-completed .sgpct-diet-day-meal__complete,
.sgpct-diet-day-meal.is-completed .sgpct-diet-day-meal__complete:hover,
.sgpct-diet-day-meal.is-completed .sgpct-diet-day-meal__complete:focus-visible {
    color: #d0d5dd !important;
    opacity: 1 !important;
    text-decoration: none !important;
    cursor: default !important;
    pointer-events: none !important;
    filter: none !important;
}

.sgpct-diet-day-meal__ingredients-table-wrap {
    overflow-x: auto;
    border: 1px solid #e4e7ec;
    background: #fff;
}

.sgpct-diet-day-meal__ingredients-table {
    width: 100%;
    border: 0;
    border-collapse: collapse;
    border-spacing: 0;
    background: #fff;
    table-layout: fixed;
}

.sgpct-diet-day-meal__ingredients-table th,
.sgpct-diet-day-meal__ingredients-table td {
    padding: 11px 14px;
    border: 0;
    border-bottom: 1px solid #eaecf0;
    text-align: left;
    vertical-align: middle;
}

.sgpct-diet-day-meal__ingredients-table thead th {
    background: #f8fafc;
    color: #667085;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.sgpct-diet-day-meal__ingredients-table tbody td {
    color: #344054;
    font-size: 13px;
    font-weight: 600;
}

.sgpct-diet-day-meal__ingredients-table th:last-child,
.sgpct-diet-day-meal__ingredients-table td:last-child {
    width: 110px;
    text-align: right;
    white-space: nowrap;
}

.sgpct-diet-day-meal__ingredients-table tbody tr:last-child td {
    border-bottom: 0;
}

html.sgpct-meal-swap-modal-open,
body.sgpct-meal-swap-modal-open {
    overflow: hidden;
}

.sgpct-meal-swap-modal {
    position: fixed;
    inset: 0;
    z-index: 100250;
    display: none;
    align-items: center;
    justify-content: center;
    padding: 24px;
    opacity: 0;
    transition: opacity .2s ease;
}

.sgpct-meal-swap-modal.is-open {
    display: flex;
    opacity: 1;
}

.sgpct-meal-swap-modal__backdrop {
    position: absolute;
    inset: 0;
    border: 0;
    background: rgba(16, 24, 40, .64);
}

.sgpct-meal-swap-modal__dialog {
    position: relative;
    z-index: 1;
    width: min(760px, 100%);
    max-height: min(88vh, 820px);
    overflow: hidden;
    border: 1px solid #e4e7ec;
    background: #fff;
    box-shadow: 0 28px 90px rgba(16, 24, 40, .28);
}

.sgpct-meal-swap-modal__close {
    position: absolute;
    top: 14px;
    right: 14px;
    z-index: 2;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 38px;
    height: 38px;
    padding: 0;
    border: 1px solid #e4e7ec;
    border-radius: 0;
    background: #fff;
    color: #475467;
    font-size: 25px;
    line-height: 1;
    cursor: pointer;
}

.sgpct-meal-swap-modal__header {
    padding: 24px 70px 18px 24px;
    border-bottom: 1px solid #eaecf0;
    background: #fff;
}

.sgpct-meal-swap-modal__eyebrow {
    display: block;
    margin-bottom: 5px;
    color: #667085;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .06em;
    text-transform: uppercase;
}

.sgpct-meal-swap-modal__header h2 {
    margin: 0;
    color: #101828;
    font-size: 23px;
    line-height: 1.2;
}

.sgpct-meal-swap-modal__header p {
    margin: 8px 0 0;
    color: #667085;
    font-size: 12px;
    font-weight: 600;
    line-height: 1.5;
}

.sgpct-meal-swap-modal__body {
    max-height: calc(min(88vh, 820px) - 120px);
    overflow-y: auto;
    padding: 18px 24px 24px;
    background: #f8fafc;
}

.sgpct-meal-swap-modal__loading {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    min-height: 160px;
    color: #667085;
    font-size: 13px;
    font-weight: 700;
}

.sgpct-meal-swap-modal__loading[hidden] {
    display: none !important;
}

.sgpct-meal-swap-modal__error {
    margin-bottom: 14px;
    padding: 12px 14px;
    border: 1px solid #fecdca;
    background: #fef3f2;
    color: #b42318;
    font-size: 13px;
    font-weight: 700;
}

.sgpct-meal-swap-modal__error[hidden] {
    display: none !important;
}

.sgpct-meal-swap-modal__results {
    display: grid;
    gap: 10px;
}

.sgpct-meal-swap-candidate {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 18px;
    align-items: center;
    padding: 15px 16px;
    border: 1px solid #e4e7ec;
    background: #fff;
}

.sgpct-meal-swap-candidate__info {
    min-width: 0;
}

.sgpct-meal-swap-candidate__day,
.sgpct-meal-swap-candidate__match {
    display: inline-block;
    color: #667085;
    font-size: 11px;
    font-weight: 800;
}

.sgpct-meal-swap-candidate__name {
    margin: 3px 0 5px;
    color: #101828;
    font-size: 15px;
    line-height: 1.35;
}

.sgpct-meal-swap-candidate__macro {
    margin: 0 0 5px;
    color: #475467;
    font-size: 12px;
    font-weight: 700;
    line-height: 1.4;
}

.sgpct-meal-swap-candidate__button {
    min-width: 92px;
    min-height: 38px;
    padding: 8px 14px;
    border: 1px solid var(--sgpct-button-background, var(--sgpct-client-banner-graphic, #3aa6c7));
    border-radius: 0;
    background: var(--sgpct-button-background, var(--sgpct-client-banner-graphic, #3aa6c7));
    color: var(--sgpct-button-color, #fff);
    font-size: 12px;
    font-weight: 800;
    cursor: pointer;
}

.sgpct-meal-swap-candidate__button:disabled {
    opacity: .6;
    cursor: progress;
}

.sgpct-meal-swap-modal__empty {
    padding: 24px;
    border: 1px solid #e4e7ec;
    background: #fff;
    text-align: center;
}

.sgpct-meal-swap-modal__empty strong {
    display: block;
    color: #101828;
    font-size: 15px;
}

.sgpct-meal-swap-modal__empty p {
    margin: 7px 0 0;
    color: #667085;
    font-size: 13px;
    line-height: 1.5;
}

@media (max-width: 767px) {
    .sgpct-diet-day-meal__header {
        gap: 10px;
    }

    .sgpct-diet-day-meal__actions {
        gap: 6px;
    }

    .sgpct-meal-swap-modal {
        padding: 10px;
    }

    .sgpct-meal-swap-modal__dialog {
        width: 100%;
        max-height: 92vh;
    }

    .sgpct-meal-swap-modal__header {
        padding: 20px 58px 16px 18px;
    }

    .sgpct-meal-swap-modal__body {
        max-height: calc(92vh - 118px);
        padding: 14px;
    }

    .sgpct-meal-swap-candidate {
        grid-template-columns: 1fr;
        gap: 12px;
    }

    .sgpct-meal-swap-candidate__button {
        width: 100%;
    }
}


/* 1.41.454 — desktop: lista posiłków bez akordeonu + przesuwany widok szczegółów. */
.sgpct-diet-day-meals__slider,
.sgpct-diet-day-meals__list,
.sgpct-diet-day-meals__detail {
    min-width: 0;
}

.sgpct-diet-day-meals__list {
    display: grid;
    gap: 14px;
}

.sgpct-diet-day-meal__view {
    color: var(--sgpct-link-color, #344054);
    font-size: 12px;
    font-weight: 800;
    line-height: 1.2;
    text-decoration: underline;
    text-underline-offset: 3px;
    cursor: pointer;
}

.sgpct-diet-day-meal__view:hover,
.sgpct-diet-day-meal__view:focus-visible {
    color: var(--sgpct-heading-color, #2D465D);
    outline: none;
}

.sgpct-diet-day-meal.is-completed .sgpct-diet-day-meal__view {
    color: #fff;
}

.sgpct-diet-day-meal.is-completed .sgpct-diet-day-meal__view:hover,
.sgpct-diet-day-meal.is-completed .sgpct-diet-day-meal__view:focus-visible {
    color: #ecfdf3;
}

.sgpct-diet-day-meal-detail {
    width: 100%;
    border: 1px solid #e4e7ec;
    background: #fff;
}

.sgpct-diet-day-meal-detail__heading {
    padding: 14px 18px 16px;
    border-bottom: 1px solid #eaecf0;
    background: #f9fafb;
}

.sgpct-diet-day-meal-detail__title-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
}

.sgpct-diet-day-meal-detail__title {
    min-width: 0;
    margin: 0;
    color: #101828;
    font-size: 18px;
    line-height: 1.35;
}

.sgpct-diet-day-meal-detail__back {
    display: inline-flex;
    flex: 0 0 auto;
    align-items: center;
    gap: 5px;
    color: var(--sgpct-link-color, #344054);
    font-size: 12px;
    font-weight: 800;
    line-height: 1.2;
    text-decoration: none;
    white-space: nowrap;
    cursor: pointer;
}

.sgpct-diet-day-meal-detail__back .dashicons {
    width: 14px;
    height: 14px;
    font-size: 14px;
    line-height: 14px;
}

.sgpct-diet-day-meal-detail__back:hover,
.sgpct-diet-day-meal-detail__back:focus-visible {
    color: var(--sgpct-heading-color, #2D465D);
    outline: none;
}

.sgpct-diet-day-meal-detail__macro {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 5px;
    margin: 7px 0 0;
    margin-bottom: 0;
    color: #475467;
    font-size: 12px;
    font-weight: 700;
    line-height: 1.4;
}

.sgpct-diet-day-meal-detail__macro-protein { color: #E97845; }
.sgpct-diet-day-meal-detail__macro-fat { color: #8066C9; }
.sgpct-diet-day-meal-detail__macro-carbs { color: #169C83; }
.sgpct-diet-day-meal-detail__macro-separator,
.sgpct-diet-day-meal-detail__macro-kcal { color: #475467; }

.sgpct-diet-day-meal-detail__body {
    padding: 18px;
}

@media (min-width: 768px) {
    .sgpct-diet-day-meals {
        display: block;
        overflow: hidden;
    }

    .sgpct-diet-day-meals__slider {
        position: relative;
        width: 100%;
        overflow: hidden;
        transition: height .34s ease;
    }

    .sgpct-diet-day-meals__list,
    .sgpct-diet-day-meals__detail {
        width: 100%;
        transition: transform .34s cubic-bezier(.22,.61,.36,1);
        will-change: transform;
    }

    .sgpct-diet-day-meals__list {
        position: relative;
        transform: translateX(0);
    }

    .sgpct-diet-day-meals__detail {
        position: absolute;
        top: 0;
        left: 100%;
        transform: translateX(0);
        visibility: hidden;
        pointer-events: none;
    }

    .sgpct-diet-day-meals__slider.is-detail .sgpct-diet-day-meals__list {
        transform: translateX(-100%);
    }

    .sgpct-diet-day-meals__slider.is-detail .sgpct-diet-day-meals__detail {
        transform: translateX(-100%);
        visibility: visible;
        pointer-events: auto;
    }

    .sgpct-diet-day-meal__header {
        cursor: default;
    }

    .sgpct-diet-day-meal__header:focus-visible {
        outline: none;
    }

    .sgpct-diet-day-meal__arrow,
    .sgpct-diet-day-meal__body {
        display: none !important;
    }

    .sgpct-diet-day-meal-detail .sgpct-diet-day-meal__mobile-section-title {
        display: none !important;
    }
}

@media (max-width: 767px) {
    .sgpct-diet-day-meal__desktop-only,
    .sgpct-diet-day-meals__detail {
        display: none !important;
    }

    .sgpct-diet-day-meals__slider {
        height: auto !important;
        overflow: visible;
    }
}


/* 1.41.455 — desktop: kompaktowe podsumowanie dnia w nagłówku + ukrycie sekcji dodatków. */
@media (min-width: 768px) {
    .sgpct-panel .sgpct-diet-day-inline__header {
        display: grid;
        grid-template-columns: minmax(112px, .42fr) minmax(0, 1fr);
        align-items: center;
        gap: 14px;
        padding: 12px 16px;
    }

    .sgpct-panel .sgpct-diet-day-inline__heading {
        min-width: 0;
    }

    .sgpct-panel .sgpct-diet-day-inline__header .sgpct-diet-day-modal__eyebrow {
        margin-bottom: 2px;
        font-size: 10px;
        line-height: 1.2;
    }

    .sgpct-panel .sgpct-diet-day-inline__header h2 {
        font-size: 18px;
        line-height: 1.2;
    }

    .sgpct-panel .sgpct-diet-day-inline__header .sgpct-diet-day-summary {
        grid-template-columns: 62px minmax(0, 1fr);
        align-items: center;
        gap: 10px;
        width: 100%;
        min-width: 0;
        margin: 0;
        padding: 0;
        border-radius: 0;
        overflow: visible;
    }

    .sgpct-panel .sgpct-diet-day-inline__header .sgpct-diet-day-summary__ring {
        width: 58px;
        height: 58px;
        flex-basis: 58px;
    }

    .sgpct-panel .sgpct-diet-day-inline__header .sgpct-diet-day-summary__ring::after {
        inset: 6px;
    }

    .sgpct-panel .sgpct-diet-day-inline__header .sgpct-diet-day-summary__kcal-value {
        font-size: 13px;
    }

    .sgpct-panel .sgpct-diet-day-inline__header .sgpct-diet-day-summary__kcal-unit {
        margin-top: 3px;
        font-size: 9px;
    }

    .sgpct-panel .sgpct-diet-day-inline__header .sgpct-diet-day-summary__metrics {
        gap: 7px;
    }

    .sgpct-panel .sgpct-diet-day-inline__header .sgpct-diet-day-summary__percent {
        margin-bottom: 3px;
        font-size: 13px;
    }

    .sgpct-panel .sgpct-diet-day-inline__header .sgpct-diet-day-summary__grams {
        font-size: 13px;
        line-height: 1.1;
    }

    .sgpct-panel .sgpct-diet-day-inline__header .sgpct-diet-day-summary__name {
        margin-top: 3px;
        font-size: 9px;
        line-height: 1.15;
    }

    .sgpct-panel .sgpct-diet-day-inline .sgpct-diet-day-extras__section {
        display: none !important;
    }
}

/* 1.41.456 — desktop: tekstowy powrót w nagłówku szczegółu, uproszczone sekcje i kolorowane makro. */


/* 1.41.457 — desktop: zrealizowany posiłek zachowuje neutralną kolorystykę, status sygnalizuje zielony check. */
@media (min-width: 768px) {
    .sgpct-panel .sgpct-diet-day-meal.is-completed .sgpct-diet-day-meal__header {
        background: #f9fafb;
        border-bottom-color: #eaecf0;
    }

    .sgpct-panel .sgpct-diet-day-meal.is-completed .sgpct-diet-day-meal__title {
        color: #101828;
    }

    .sgpct-panel .sgpct-diet-day-meal.is-completed .sgpct-diet-day-meal__macro {
        color: #475467;
    }

    .sgpct-panel .sgpct-diet-day-meal.is-completed .sgpct-diet-day-meal__view,
    .sgpct-panel .sgpct-diet-day-meal.is-completed .sgpct-diet-day-meal__view:hover,
    .sgpct-panel .sgpct-diet-day-meal.is-completed .sgpct-diet-day-meal__view:focus-visible {
        color: var(--sgpct-link-color, #344054);
    }

    .sgpct-panel .sgpct-diet-day-meal.is-completed .sgpct-diet-day-meal__title::before {
        content: "✓";
        display: inline-block;
        margin-right: 7px;
        color: #12b76a;
        font-weight: 900;
        line-height: 1;
    }
}


/* 1.41.458 — desktop: status realizacji nie zmienia tła; aktywna akcja do pierwszego zapisu. */
@media (min-width: 768px) {
    .sgpct-panel .sgpct-diet-day-meal.is-completed .sgpct-diet-day-meal__header {
        background: #f9fafb !important;
        border-bottom-color: #eaecf0 !important;
    }

    .sgpct-panel .sgpct-diet-day-meal.is-completed .sgpct-diet-day-meal__title {
        color: #101828 !important;
    }

    .sgpct-panel .sgpct-diet-day-meal.is-completed .sgpct-diet-day-meal__macro {
        color: #475467 !important;
    }
}

/* 1.41.459 — desktop: spójny stan blokady akcji, brak podkreśleń oraz kolorowane B/T/W w meta posiłku. */
@media (min-width: 768px) {
    .sgpct-panel .sgpct-diet-day-meal__swap,
    .sgpct-panel .sgpct-diet-day-meal__swap:hover,
    .sgpct-panel .sgpct-diet-day-meal__swap:focus-visible,
    .sgpct-panel .sgpct-diet-day-meal__view,
    .sgpct-panel .sgpct-diet-day-meal__view:hover,
    .sgpct-panel .sgpct-diet-day-meal__view:focus-visible {
        text-decoration: none !important;
        text-underline-offset: 0 !important;
    }

    .sgpct-panel .sgpct-diet-day-meal__swap.is-disabled,
    .sgpct-panel .sgpct-diet-day-meal__swap.is-disabled:hover,
    .sgpct-panel .sgpct-diet-day-meal__swap.is-disabled:focus-visible,
    .sgpct-panel .sgpct-diet-day-meal.is-completed .sgpct-diet-day-meal__swap,
    .sgpct-panel .sgpct-diet-day-meal.is-completed .sgpct-diet-day-meal__swap:hover,
    .sgpct-panel .sgpct-diet-day-meal.is-completed .sgpct-diet-day-meal__swap:focus-visible {
        color: #d0d5dd !important;
    }

    .sgpct-panel .sgpct-diet-day-meal__macro {
        display: inline-flex;
        flex-wrap: wrap;
        align-items: center;
        justify-content: flex-end;
        gap: 4px;
    }

    .sgpct-panel .sgpct-diet-day-meal__macro-protein { color: #E97845 !important; }
    .sgpct-panel .sgpct-diet-day-meal__macro-fat { color: #8066C9 !important; }
    .sgpct-panel .sgpct-diet-day-meal__macro-carbs { color: #169C83 !important; }
    .sgpct-panel .sgpct-diet-day-meal__macro-kcal,
    .sgpct-panel .sgpct-diet-day-meal__macro-separator { color: #475467 !important; }
}



/* 1.41.462 — „Moje diety”: nagłówek flex + animowane przejście do osobnego archiwum. */
.sgpct-panel .sgpct-client-diets__view-header {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    width: 100%;
    gap: 20px;
}

.sgpct-panel .sgpct-client-diets__view-header .sgpct-view__title {
    flex: 0 1 auto;
}

.sgpct-panel .sgpct-client-diets__view-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    margin-left: auto;
    padding: 20px 0;
}

.sgpct-panel .sgpct-client-diets__view-action,
.sgpct-panel .sgpct-client-diets__view-action:hover,
.sgpct-panel .sgpct-client-diets__view-action:focus,
.sgpct-panel .sgpct-client-diets__view-action:active {
    appearance: none;
    -webkit-appearance: none;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    color: var(--sgpct-heading-color, #2D465D);
    font-family: inherit;
    font-size: 12px;
    font-weight: 700;
    line-height: 1.2;
    text-decoration: none !important;
    cursor: pointer;
}

.sgpct-panel .sgpct-client-diets__view-action:hover,
.sgpct-panel .sgpct-client-diets__view-action:focus-visible {
    color: var(--sgpct-client-banner-graphic, #3aa6c7);
}

.sgpct-panel .sgpct-client-diets__view-action:focus-visible {
    outline: 2px solid currentColor;
    outline-offset: 4px;
}

.sgpct-panel .sgpct-client-diets-slider {
    width: 100%;
    overflow: hidden;
    transition: height 0.34s ease;
}

.sgpct-panel .sgpct-client-diets-slider__track {
    display: flex;
    align-items: flex-start;
    width: 100%;
    transform: translateX(0);
    transition: transform 0.34s cubic-bezier(.22,.61,.36,1);
    will-change: transform;
}

.sgpct-panel .sgpct-client-diets-slider.is-archive .sgpct-client-diets-slider__track {
    transform: translateX(-100%);
}

.sgpct-panel .sgpct-client-diets-slider__track > .sgpct-view {
    flex: 0 0 100%;
    width: 100%;
    min-width: 100%;
}

.sgpct-panel .sgpct-view--client-diets .sgpct-client-diets-tabs__panel--current {
    display: block;
}

.sgpct-panel .sgpct-view--client-diets .sgpct-diet-calendar--documents .sgpct-diet-calendar__heading-copy {
    min-width: 0;
}

.sgpct-panel .sgpct-view--client-diets .sgpct-diet-calendar--documents .sgpct-diet-calendar__eyebrow {
    margin-bottom: 5px;
}

.sgpct-panel .sgpct-diet-calendar__documents {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 7px;
    line-height: 1.2;
}

.sgpct-panel .sgpct-diet-calendar__document-link,
.sgpct-panel .sgpct-diet-calendar__document-link:hover,
.sgpct-panel .sgpct-diet-calendar__document-link:focus,
.sgpct-panel .sgpct-diet-calendar__document-link:active,
.sgpct-panel .sgpct-diet-calendar__document-link:visited {
    color: var(--sgpct-heading-color, #2D465D);
    font-size: 11px;
    font-weight: 600;
    text-decoration: none !important;
}

.sgpct-panel .sgpct-diet-calendar__document-link:hover,
.sgpct-panel .sgpct-diet-calendar__document-link:focus {
    color: var(--sgpct-client-banner-graphic, #3aa6c7);
}

.sgpct-panel .sgpct-diet-calendar__document-separator {
    color: #98a2b3;
    font-size: 11px;
    font-weight: 500;
}

@media (prefers-reduced-motion: reduce) {
    .sgpct-panel .sgpct-client-diets-slider,
    .sgpct-panel .sgpct-client-diets-slider__track {
        transition: none;
    }
}

@media (max-width: 767px) {
    .sgpct-panel .sgpct-client-diets__view-header {
        gap: 10px;
    }

    .sgpct-panel .sgpct-client-diets__view-actions {
        margin-left: auto;
        padding: 20px 0;
    }

    .sgpct-panel .sgpct-client-diets__view-action,
    .sgpct-panel .sgpct-client-diets__view-action:hover,
    .sgpct-panel .sgpct-client-diets__view-action:focus,
    .sgpct-panel .sgpct-client-diets__view-action:active {
        font-size: 11px;
        text-align: right;
    }
}


/* 1.41.467: popup szczegółów dzisiejszego ćwiczenia — szczegóły + uzupełnianie serii. */
.sgpct-start-training-detail-modal .sgpct-training-exercises-modal__dialog {
    width: min(1040px, calc(100vw - 40px));
    max-width: 1040px;
}

.sgpct-start-training-detail-modal .sgpct-training-exercise-card__heading {
    align-items: center;
    margin-bottom: 16px;
    padding-bottom: 12px;
    border-bottom: 1px solid rgba(45, 70, 93, .10);
}

.sgpct-start-training-detail-modal .sgpct-training-exercise-card__number {
    margin-bottom: 0;
}

.sgpct-start-training-detail-modal .sgpct-training-exercise-card__content-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 22px;
    align-items: start;
}

.sgpct-start-training-detail-modal .sgpct-training-exercise-card__details-column,
.sgpct-start-training-detail-modal .sgpct-training-exercise-card__entry-column {
    min-width: 0;
}

.sgpct-start-training-detail-modal .sgpct-training-exercise-card__details-column h4,
.sgpct-start-training-detail-modal .sgpct-training-exercise-card__entry-column h4 {
    margin: 0 0 12px;
    color: var(--sgpct-heading-color, #2D465D);
    font-size: 15px;
    font-weight: 800;
    line-height: 1.3;
}

.sgpct-start-training-detail-modal .sgpct-training-exercise-card__details-table-wrap {
    overflow: hidden;
    border: 1px solid rgba(45, 70, 93, .10);
    border-radius: 12px;
    background: #fff;
}

.sgpct-start-training-detail-modal .sgpct-training-exercise-card__details-table {
    width: 100%;
    margin-bottom: 0 !important;
    border: 0 !important;
    border-collapse: collapse;
    table-layout: fixed;
}

.sgpct-start-training-detail-modal .sgpct-training-exercise-card__details-table th,
.sgpct-start-training-detail-modal .sgpct-training-exercise-card__details-table td {
    padding: 9px 11px;
    border-bottom: 1px solid rgba(45, 70, 93, .08);
    vertical-align: top;
    text-align: left;
    font-size: 12px;
    line-height: 1.45;
}

.sgpct-start-training-detail-modal .sgpct-training-exercise-card__details-table tr:last-child th,
.sgpct-start-training-detail-modal .sgpct-training-exercise-card__details-table tr:last-child td {
    border-bottom: 0;
}

.sgpct-start-training-detail-modal .sgpct-training-exercise-card__details-table th {
    width: 38%;
    background: rgba(45, 70, 93, .035);
    color: rgba(45, 70, 93, .68);
    font-weight: 700;
}

.sgpct-start-training-detail-modal .sgpct-training-exercise-card__details-table td {
    color: var(--sgpct-heading-color, #2D465D);
    font-weight: 600;
    overflow-wrap: anywhere;
}

.sgpct-start-training-detail-modal .sgpct-training-exercise-card__details-description td {
    font-weight: 500;
}

.sgpct-start-training-detail-modal .sgpct-training-exercise-card__sets {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.sgpct-start-training-detail-modal .sgpct-training-exercise-card__set-row {
    display: grid;
    grid-template-columns: 62px minmax(0, 1fr) minmax(0, 1fr);
    gap: 8px;
    align-items: end;
    padding: 10px;
    border: 1px solid rgba(45, 70, 93, .10);
    border-radius: 11px;
    background: rgba(45, 70, 93, .025);
}

.sgpct-start-training-detail-modal .sgpct-training-exercise-card__set-row > strong {
    align-self: center;
    color: var(--sgpct-heading-color, #2D465D);
    font-size: 11px;
    font-weight: 800;
    white-space: nowrap;
}

.sgpct-start-training-detail-modal .sgpct-training-exercise-card__set-row label {
    display: flex;
    flex-direction: column;
    gap: 5px;
    min-width: 0;
}

.sgpct-start-training-detail-modal .sgpct-training-exercise-card__set-row label > span:first-child {
    color: rgba(45, 70, 93, .64);
    font-size: 10px;
    font-weight: 700;
    line-height: 1.2;
}

.sgpct-start-training-detail-modal .sgpct-training-exercise-card__set-row input {
    width: 100%;
    min-width: 0;
    height: 38px;
    padding: 7px 9px;
    border: 1px solid rgba(45, 70, 93, .16);
    border-radius: 8px;
    background: #fff;
    color: var(--sgpct-heading-color, #2D465D);
    font: inherit;
    font-size: 12px;
    outline: none;
}

.sgpct-start-training-detail-modal .sgpct-training-exercise-card__set-row input:focus {
    border-color: rgba(45, 70, 93, .42);
    box-shadow: 0 0 0 2px rgba(45, 70, 93, .07);
}

.sgpct-start-training-detail-modal .sgpct-training-exercise-card__weight-input {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 6px;
}

.sgpct-start-training-detail-modal .sgpct-training-exercise-card__weight-input > span {
    color: rgba(45, 70, 93, .55);
    font-size: 11px;
    font-weight: 700;
}

.sgpct-start-training-detail-modal .sgpct-training-exercise-card__entry-footer {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 10px;
    margin-top: 14px;
}

.sgpct-start-training-detail-modal .sgpct-training-exercise-card__entry-status {
    margin-right: auto;
    color: rgba(45, 70, 93, .7);
    font-size: 11px;
    font-weight: 600;
}

.sgpct-start-training-detail-modal .sgpct-training-exercise-card__entry-status.is-error {
    color: #b42318;
}

.sgpct-training-details-notice {
    margin: 0 0 16px;
}

@media (max-width: 760px) {
    .sgpct-start-training-detail-modal .sgpct-training-exercises-modal__dialog {
        width: calc(100vw - 20px);
        max-width: none;
    }

    .sgpct-start-training-detail-modal .sgpct-training-exercise-card__content-grid {
        grid-template-columns: minmax(0, 1fr);
        gap: 18px;
    }

    .sgpct-start-training-detail-modal .sgpct-training-exercise-card__set-row {
        grid-template-columns: 1fr 1fr;
    }

    .sgpct-start-training-detail-modal .sgpct-training-exercise-card__set-row > strong {
        grid-column: 1 / -1;
    }
}

@media (max-width: 480px) {
    .sgpct-start-training-detail-modal .sgpct-training-exercise-card__set-row {
        grid-template-columns: minmax(0, 1fr);
    }

    .sgpct-start-training-detail-modal .sgpct-training-exercise-card__set-row > strong {
        grid-column: auto;
    }
}


/* 1.41.473 — płaska lista notatek klienta: jeden główny div na jedną notatkę. */
.sgpct-training-notes-page--flat{display:grid;gap:10px}
.sgpct-training-note-card{display:grid;grid-template-columns:minmax(0,1fr) 120px auto;align-items:center;gap:20px;padding:15px 17px;border:1px solid #e5e7eb;border-radius:14px;background:#fff;box-shadow:0 4px 14px rgba(15,23,42,.035)}
.sgpct-training-note-card.is-unread{background:#fff7f6;box-shadow:inset 3px 0 0 #d63638,0 4px 14px rgba(15,23,42,.035)}
.sgpct-training-note-card__day,.sgpct-training-note-card__time{min-width:0;display:flex;flex-direction:column;gap:2px}
.sgpct-training-note-card__day>span,.sgpct-training-note-card__time>span{color:#98a2b3;font-size:9px;font-weight:800;letter-spacing:.07em;text-transform:uppercase}
.sgpct-training-note-card__day>strong,.sgpct-training-note-card__time>strong{color:var(--sgpct-heading-color,#2D465D);font-size:13px;line-height:1.3}
.sgpct-training-note-card__day>small{color:#667085;font-size:10.5px;line-height:1.3}
.sgpct-training-note-card__action-wrap{display:flex;align-items:center;justify-content:flex-end;gap:9px;white-space:nowrap}
.sgpct-training-note-card__new{padding:2px 6px;border-radius:999px;background:#d63638;color:#fff;font-size:8.5px;font-weight:800;line-height:1.2;text-transform:uppercase}
.sgpct-client-training-note-view__attachment{padding:0 22px 22px}
.sgpct-client-training-note-view__attachment a{display:inline-flex;align-items:center;color:var(--sgpct-heading-color,#2D465D);font-size:12px;font-weight:700;text-decoration:none}
.sgpct-client-training-note-view__attachment a:hover,.sgpct-client-training-note-view__attachment a:focus{text-decoration:underline;outline:none}
@media(max-width:767px){
    .sgpct-training-note-card{grid-template-columns:minmax(0,1fr) 92px;gap:12px;padding:13px}
    .sgpct-training-note-card__action-wrap{grid-column:1/-1;justify-content:flex-start;padding-top:3px}
    .sgpct-client-training-note-view__attachment{padding:0 17px 17px}
}


/* 1.41.475 — mobilny Dziennik tygodniowy: pionowe statystyki i pływający Plan korekt. */
.sgpct-wj-corrections-fab{display:none}
.sgpct-wj-correction-modal{position:fixed;inset:0;z-index:2147483200;display:flex;align-items:center;justify-content:center;padding:16px;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .25s ease,visibility 0s linear .25s}
.sgpct-wj-correction-modal.is-open{opacity:1;visibility:visible;pointer-events:auto;transition:opacity .25s ease}
.sgpct-wj-correction-modal__backdrop{position:absolute;inset:0;background:rgba(15,23,42,.62);backdrop-filter:blur(3px)}
.sgpct-wj-correction-modal__dialog{position:relative;z-index:1;width:min(560px,calc(100vw - 28px));max-height:min(82vh,760px);display:flex;flex-direction:column;background:#fff;border:1px solid #e5e7eb;border-radius:16px;box-shadow:0 24px 70px rgba(15,23,42,.30);overflow:hidden;transform:translateY(16px) scale(.985);opacity:0;transition:transform .3s cubic-bezier(.22,.8,.22,1),opacity .24s ease}
.sgpct-wj-correction-modal.is-open .sgpct-wj-correction-modal__dialog{transform:translateY(0) scale(1);opacity:1}
.sgpct-wj-correction-modal__head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:18px 18px 12px;border-bottom:1px solid #e5e7eb}
.sgpct-wj-correction-modal__eyebrow{display:block;margin-bottom:4px;color:#98a2b3;font-size:9px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.sgpct-wj-correction-modal__title{margin:0!important;color:#1f2937!important;font-size:20px!important;font-weight:800!important;line-height:1.25!important}
.sgpct-wj-correction-modal__close{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;padding:0;border:0!important;border-radius:50%;background:#f2f4f7!important;color:#475467!important;font-size:24px;line-height:1;cursor:pointer}
.sgpct-wj-correction-modal__intro{margin:0!important;padding:14px 18px 8px;color:#667085!important;font-size:11px!important;line-height:1.5!important}
.sgpct-wj-mobile-corrections{display:flex;flex-direction:column;gap:9px;padding:8px 18px 12px;overflow:auto}
.sgpct-wj-mobile-correction-text{width:100%;min-height:84px;padding:10px!important;border:0!important;border-radius:0!important;background:#fff!important;color:var(--wj-white-mid,#344054)!important;font-family:inherit!important;font-size:11px!important;line-height:1.5!important;resize:vertical;outline:0!important;box-shadow:none!important}
.sgpct-wj-mobile-correction-text::placeholder{color:var(--wj-white-dim,#98a2b3)!important}
.sgpct-wj-mobile-save-corrections{margin:4px 18px 18px;min-height:42px!important}
.sgpct-wj-mobile-save-corrections:disabled,.sgpct-wj-mobile-save-corrections.is-disabled{background:#e5e7eb!important;color:#9ca3af!important;border-color:#d1d5db!important;cursor:not-allowed!important;opacity:1!important}
.sgpct-wj-correction-modal__error{margin:-6px 18px 16px;color:#dc2626;font-size:11px;line-height:1.45}
html.sgpct-wj-modal-open{overflow:hidden}

@media(max-width:700px){
    .sgpct-panel .sgpct-wj-controls{display:flex!important;flex-direction:column!important;align-items:stretch!important;gap:10px!important}
    .sgpct-panel .sgpct-wj-controls__left{width:100%!important;display:flex!important;flex-direction:column!important;align-items:stretch!important;gap:8px!important}
    .sgpct-panel .sgpct-wj-score-pill{width:100%!important;min-width:0!important;flex:0 0 auto!important;justify-content:space-between!important}
    .sgpct-panel .sgpct-wj-sidebar>.sgpct-wj-card--corrections{display:none!important}
    .sgpct-wj-corrections-fab:not([hidden]){position:fixed;right:16px;bottom:calc(18px + env(safe-area-inset-bottom,0px));z-index:2147482500;display:inline-flex!important;align-items:center;justify-content:center;min-height:44px;padding:11px 18px;border:0;border-radius:999px;background:var(--sgpct-primary-color,#2D465D);color:#fff;font:inherit;font-size:12px;font-weight:800;line-height:1;box-shadow:0 12px 28px rgba(15,23,42,.28);cursor:pointer}
    .sgpct-wj-corrections-fab:focus-visible{outline:3px solid rgba(255,255,255,.8);outline-offset:3px}
    .sgpct-wj-correction-modal{display:flex}
    .sgpct-wj-correction-modal__dialog{width:100%;max-height:calc(100vh - 28px - env(safe-area-inset-bottom,0px))}
}

@media(min-width:701px){
    .sgpct-wj-correction-modal,.sgpct-wj-corrections-fab{display:none!important}
}
/* 1.41.475: po animacji Dziennika usuwamy transform z widoku, aby elementy position:fixed
   (pływający Plan korekt i jego modal) były kotwiczone do viewportu, a nie do sekcji. */
.sgpct-panel.is-loaded .sgpct-view--weekly-journal.sgpct-animate{transform:none}


/* 1.41.478: końcowy krok onboardingu dla odnowień z mapowanego WooCommerce. */
.sgpct-onboarding__slide--renewal .sgpct-onboarding__slide-copy p {
    max-width: 720px;
    margin: 14px 0 0;
    color: #667085;
    font-size: 15px;
    line-height: 1.65;
}

.sgpct-onboarding-renewal {
    display: flex;
    max-width: 760px;
    align-items: flex-start;
    gap: 18px;
    padding: 22px;
    border: 1px solid #e1e4e8;
    border-radius: 16px;
    background: #fafafa;
}

.sgpct-onboarding-renewal__icon {
    display: grid;
    width: 48px;
    height: 48px;
    flex: 0 0 48px;
    place-items: center;
    border-radius: 50%;
    background: #1f1f1f;
    color: #fff;
}

.sgpct-onboarding-renewal__icon .dashicons {
    width: 24px;
    height: 24px;
    font-size: 24px;
    line-height: 24px;
}

.sgpct-onboarding-renewal__content strong {
    display: block;
    margin-bottom: 7px;
    color: #1f1f1f;
    font-size: 16px;
}

.sgpct-onboarding-renewal__content p {
    margin: 0;
    color: #667085;
    font-size: 14px;
    line-height: 1.6;
}

.sgpct-onboarding-renewal__count {
    display: inline-flex;
    margin-top: 14px;
    padding: 7px 10px;
    border-radius: 999px;
    background: #eef1f4;
    color: #344054;
    font-size: 12px;
    font-weight: 800;
}

@media (max-width: 600px) {
    .sgpct-onboarding-renewal {
        flex-direction: column;
        gap: 14px;
        padding: 18px;
    }
}

/* 1.41.484 — Strona startowa: dopasowanie kart porównania do globalnego stylu przycisków. */
.sgpct-client-body-comparison {
    min-width: 0;
    height: 100%;
    padding: 24px;
    border: 1px solid rgba(15, 23, 42, .08);
    border-radius: 14px;
    background: #fff;
    box-shadow: rgba(15, 23, 42, .06) 0 10px 32px;
    box-sizing: border-box;
    overflow: hidden;
}

.sgpct-client-body-comparison__stage {
    position: relative;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-items: stretch;
    gap: 34px;
    height: 100%;
}

.sgpct-client-body-comparison__person {
    display: flex;
    min-width: 0;
    height: 100%;
    margin: 0;
    overflow: hidden;
    flex-direction: column;
    border: 1px solid rgba(15, 23, 42, .08);
    border-radius: 12px;
    background: #eef2f5;
}

.sgpct-client-body-comparison__photo {
    position: relative;
    width: 100%;
    min-height: 0;
    overflow: hidden;
    flex: 1 1 auto;
    background: #f3f4f6;
}

.sgpct-client-body-comparison__photo > img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center top;
}

.sgpct-client-body-comparison__placeholder {
    display: flex;
    width: 100%;
    height: 100%;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    gap: 8px;
    padding: 20px;
    box-sizing: border-box;
    color: #667085;
    font-size: 12px;
    line-height: 1.4;
    text-align: center;
}

.sgpct-client-body-comparison__placeholder .dashicons {
    width: 36px;
    height: 36px;
    font-size: 36px;
    color: #98a2b3;
}

.sgpct-client-body-comparison__weight {
    position: absolute;
    left: 50%;
    bottom: 14px;
    z-index: 2;
    transform: translateX(-50%);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    max-width: calc(100% - 24px);
    padding: 8px 14px;
    border-radius: 11px;
    background: var(--sgpct-body-button-bg-80, rgba(31, 31, 31, .8));
    color: #000;
    font-size: 20px;
    font-weight: 900;
    line-height: 1;
    white-space: nowrap;
    box-shadow: 0 4px 12px rgba(0, 0, 0, .12);
}

.sgpct-client-body-comparison__caption {
    display: flex;
    min-height: 68px;
    margin-top: auto;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    flex-direction: column;
    gap: 2px;
    padding: 10px 8px;
    box-sizing: border-box;
    background: var(--sgpct-body-button-bg, #1f1f1f);
    color: var(--sgpct-body-button-color, #111827);
    text-align: center;
}

.sgpct-client-body-comparison__caption strong {
    display: block;
    font-size: 18px;
    font-weight: 500;
    line-height: 1.2;
}

.sgpct-client-body-comparison__caption span {
    display: block;
    font-size: 12px;
    line-height: 1.25;
}

.sgpct-client-body-comparison__vs {
    position: absolute;
    left: 50%;
    top: 47%;
    z-index: 4;
    display: block;
    width: 100px;
    max-width: 24%;
    height: auto;
    transform: translate(-50%, -50%);
    pointer-events: none;
    filter: drop-shadow(0 4px 7px rgba(0, 0, 0, .18));
}

/* Dietetyk/Trener: kalendarz zostaje osobnym rzędem, a porównanie stoi dokładnie obok „Twój postęp”. */
@media (min-width: 1101px) {
    .sgpct-panel .sgpct-start-page--dietitian-trainer {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .sgpct-panel .sgpct-start-page--dietitian-trainer > .sgpct-diet-calendar {
        grid-column: 1 / -1;
    }

    .sgpct-panel .sgpct-start-page--dietitian-trainer > .sgpct-client-progress {
        grid-column: 1;
    }

    .sgpct-panel .sgpct-start-page--dietitian-trainer > .sgpct-client-body-comparison {
        grid-column: 2;
    }

    .sgpct-panel--shared-client-base .sgpct-start-page--single.sgpct-start-page--dietitian-trainer {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 767px) {
    .sgpct-client-body-comparison {
        padding: 12px;
    }

    .sgpct-client-body-comparison__stage {
        gap: 14px;
    }

    .sgpct-client-body-comparison__caption {
        min-height: 58px;
        padding: 8px 4px;
    }

    .sgpct-client-body-comparison__caption strong {
        font-size: 14px;
    }

    .sgpct-client-body-comparison__caption span {
        font-size: 10px;
    }

    .sgpct-client-body-comparison__weight {
        bottom: 9px;
        padding: 6px 9px;
        border-radius: 9px;
        font-size: 20px;
    }

    .sgpct-client-body-comparison__vs {
        width: 70px;
        max-width: 25%;
    }
}


/* 1.41.498 — Plan korekt: modal śledzi cały VisualViewport także podczas
   otwierania klawiatury iOS/PWA (height + width + offsetTop + offsetLeft). */
.sgpct-wj-correction-modal{
    top:var(--sgpct-wj-modal-viewport-top,0px)!important;
    right:auto!important;
    bottom:auto!important;
    left:var(--sgpct-wj-modal-viewport-left,0px)!important;
    width:var(--sgpct-wj-modal-viewport-width,100vw)!important;
    height:var(--sgpct-wj-modal-viewport-height,100dvh)!important;
    min-height:0!important;
    box-sizing:border-box!important;
    align-items:center!important;
    justify-content:center!important;
    overflow:hidden!important;
    padding-top:max(14px,env(safe-area-inset-top,0px))!important;
    padding-right:14px!important;
    padding-bottom:max(14px,env(safe-area-inset-bottom,0px))!important;
    padding-left:14px!important;
    overscroll-behavior:contain;
}
.sgpct-wj-correction-modal__backdrop{
    position:absolute!important;
    inset:0!important;
}
.sgpct-wj-correction-modal__dialog{
    flex:0 1 auto!important;
    width:min(560px,100%)!important;
    max-width:560px!important;
    max-height:calc(var(--sgpct-wj-modal-viewport-height,100dvh) - max(28px,env(safe-area-inset-top,0px)) - max(28px,env(safe-area-inset-bottom,0px)))!important;
    margin:auto!important;
}
html.sgpct-wj-modal-open,body.sgpct-wj-modal-open{
    overflow:hidden!important;
    overscroll-behavior:none!important;
}
@supports not (height:100dvh){
    .sgpct-wj-correction-modal{height:var(--sgpct-wj-modal-viewport-height,100vh)!important}
    .sgpct-wj-correction-modal__dialog{max-height:calc(var(--sgpct-wj-modal-viewport-height,100vh) - 28px)!important}
}
@media(max-width:700px){
    .sgpct-wj-correction-modal__dialog{
        width:100%!important;
        max-height:calc(var(--sgpct-wj-modal-viewport-height,100dvh) - max(28px,env(safe-area-inset-top,0px)) - max(28px,env(safe-area-inset-bottom,0px)))!important;
    }
}
.sgpct-wj-correction-modal .sgpct-wj-mobile-corrections{
    flex:1 1 auto!important;
    min-height:0!important;
    overflow-y:auto!important;
    overscroll-behavior:contain;
    -webkit-overflow-scrolling:touch;
}

/* 1.41.543: zakładka Plan treningowy korzysta z tego samego układu kart co „Zobacz szczegóły”. */
.sgpct-training-exercises-list--detail {
    gap: 18px;
}

/* 1.41.579 — mobilne menu klienta: badge powiadomień nie może przesuwać etykiety pozycji. */
@media (max-width: 767px) {
    .sgpct-nav--mobile .sgpct-nav__item {
        position: relative;
        padding-left: 52px !important;
        padding-right: 52px !important;
    }

    .sgpct-nav--mobile .sgpct-nav__label {
        width: 100%;
        text-align: center;
    }

    .sgpct-nav--mobile .sgpct-nav__badge {
        position: absolute;
        top: 50%;
        right: 18px;
        margin-left: 0;
        transform: translateY(-50%);
        z-index: 2;
    }
}

/* 1.41.732 — Panel klienta: zakładka „Moja suplementacja”. */
.sgpct-panel .sgpct-view--client-supplementation .sgpct-view__body{
    min-height:300px;
}
.sgpct-panel .sgpct-client-supp__header{
    align-items:flex-start;
}
.sgpct-panel .sgpct-client-supp__header>div{
    padding:20px;
}
.sgpct-panel .sgpct-client-supp__header .sgpct-view__title{
    padding:0;
}
.sgpct-panel .sgpct-client-supp__lead{
    margin:7px 0 0;
    color:#6f7682;
    font-size:14px;
    line-height:1.55;
}
.sgpct-panel .sgpct-client-supp-plan{
    display:flex;
    flex-direction:column;
    gap:18px;
}
.sgpct-panel .sgpct-client-supp-plan__hero{
    display:flex;
    align-items:center;
    gap:16px;
    padding:18px;
    border:1px solid #e8edf3;
    border-radius:16px;
    background:linear-gradient(135deg,#f8fbff,#fff);
}
.sgpct-panel .sgpct-client-supp-plan__hero-icon{
    display:grid;
    place-items:center;
    width:54px;
    height:54px;
    flex:0 0 54px;
    border-radius:15px;
    background:#eef5ff;
    color:#1769c2;
}
.sgpct-panel .sgpct-client-supp-plan__hero-icon .dashicons{
    width:26px;
    height:26px;
    font-size:26px;
}
.sgpct-panel .sgpct-client-supp-plan__hero-copy{
    min-width:0;
}
.sgpct-panel .sgpct-client-supp-plan__eyebrow{
    display:block;
    margin-bottom:3px;
    color:#6f7682;
    font-size:11px;
    font-weight:800;
    letter-spacing:.06em;
    text-transform:uppercase;
}
.sgpct-panel .sgpct-client-supp-plan__hero h3{
    margin:0;
    color:#15191f;
    font-size:22px;
    line-height:1.25;
}
.sgpct-panel .sgpct-client-supp-plan__meta{
    display:flex;
    flex-wrap:wrap;
    gap:8px 16px;
    margin-top:8px;
    color:#68717d;
    font-size:12px;
}
.sgpct-panel .sgpct-client-supp-plan__meta>span{
    display:inline-flex;
    align-items:center;
    gap:6px;
}
.sgpct-panel .sgpct-client-supp-plan__meta .dashicons{
    width:15px;
    height:15px;
    font-size:15px;
}
.sgpct-panel .sgpct-client-supp-plan__notes{
    padding:15px 17px;
    border:1px solid #e8edf3;
    border-radius:14px;
    background:#fbfcfd;
}
.sgpct-panel .sgpct-client-supp-plan__notes strong,
.sgpct-panel .sgpct-client-supp-item__instructions>strong,
.sgpct-panel .sgpct-client-supp-item__ingredients>strong{
    display:block;
    margin-bottom:6px;
    color:#20242a;
    font-size:13px;
}
.sgpct-panel .sgpct-client-supp-plan__notes p,
.sgpct-panel .sgpct-client-supp-item__instructions p{
    margin:0;
    color:#5f6873;
    font-size:13px;
    line-height:1.65;
}
.sgpct-panel .sgpct-client-supp-list{
    display:grid;
    grid-template-columns:minmax(0,1fr);
    gap:16px;
    width:100%;
}
.sgpct-panel .sgpct-client-supp-item{
    display:flex;
    width:100%;
    max-width:none;
    flex-direction:column;
    gap:15px;
    min-width:0;
    padding:17px;
    border:1px solid #e6ebf1;
    border-radius:16px;
    background:#fff;
    box-shadow:0 8px 24px rgba(18,34,55,.045);
}
.sgpct-panel .sgpct-client-supp-item__top{
    display:flex;
    align-items:flex-start;
    gap:13px;
    min-width:0;
}
.sgpct-panel .sgpct-client-supp-item__media{
    display:grid;
    place-items:center;
    width:72px;
    height:72px;
    flex:0 0 72px;
    overflow:hidden;
    border:1px solid #edf0f3;
    border-radius:13px;
    background:#fafbfd;
    color:#8c9aab;
}
.sgpct-panel .sgpct-client-supp-item__media img{
    display:block;
    width:100%;
    height:100%;
    object-fit:contain;
    padding:5px;
}
.sgpct-panel .sgpct-client-supp-item__media .dashicons{
    width:27px;
    height:27px;
    font-size:27px;
}
.sgpct-panel .sgpct-client-supp-item__identity{
    display:flex;
    align-items:flex-start;
    gap:9px;
    min-width:0;
}
.sgpct-panel .sgpct-client-supp-item__identity>div{
    min-width:0;
}
.sgpct-panel .sgpct-client-supp-item__number{
    display:grid;
    place-items:center;
    width:22px;
    height:22px;
    flex:0 0 22px;
    margin-top:2px;
    border-radius:999px;
    background:#f0f3f7;
    color:#596371;
    font-size:11px;
    font-weight:800;
}
.sgpct-panel .sgpct-client-supp-item__identity h3{
    margin:0;
    color:#171b20;
    font-size:16px;
    line-height:1.35;
    overflow-wrap:anywhere;
}
.sgpct-panel .sgpct-client-supp-item__minor-meta{
    display:flex;
    flex-wrap:wrap;
    gap:4px 10px;
    margin-top:6px;
    color:#7a838e;
    font-size:11px;
    line-height:1.45;
}
.sgpct-panel .sgpct-client-supp-item__schedule{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:8px;
}
.sgpct-panel .sgpct-client-supp-schedule-box{
    min-width:0;
    padding:10px 11px;
    border:1px solid #e7ebf0;
    border-radius:12px;
    background:#fafbfd;
}
.sgpct-panel .sgpct-client-supp-schedule-box--primary{
    border-color:#d9e9fb;
    background:#f1f7fe;
}
.sgpct-panel .sgpct-client-supp-schedule-box span{
    display:block;
    margin-bottom:3px;
    color:#7b8490;
    font-size:10px;
    font-weight:700;
    text-transform:uppercase;
    letter-spacing:.03em;
}
.sgpct-panel .sgpct-client-supp-schedule-box strong{
    display:block;
    color:#1d232b;
    font-size:13px;
    line-height:1.4;
    overflow-wrap:anywhere;
}
.sgpct-panel .sgpct-client-supp-item__instructions,
.sgpct-panel .sgpct-client-supp-item__ingredients{
    padding-top:13px;
    border-top:1px solid #edf0f3;
}
.sgpct-panel .sgpct-client-supp-ingredients-list{
    display:flex;
    flex-direction:column;
    gap:6px;
}
.sgpct-panel .sgpct-client-supp-ingredients-list>span{
    display:flex;
    justify-content:space-between;
    gap:12px;
    padding:7px 9px;
    border-radius:9px;
    background:#f8f9fb;
}
.sgpct-panel .sgpct-client-supp-ingredients-list em{
    min-width:0;
    color:#515a65;
    font-size:12px;
    font-style:normal;
    overflow-wrap:anywhere;
}
.sgpct-panel .sgpct-client-supp-ingredients-list b{
    flex:0 0 auto;
    color:#20262d;
    font-size:12px;
}
.sgpct-panel .sgpct-client-supp-item__actions{
    display:flex;
    justify-content:flex-start;
    margin-top:auto;
    padding-top:2px;
}
.sgpct-panel .sgpct-client-supp-item__product-link{
    display:inline-flex;
    align-items:center;
    gap:7px;
    min-height:42px;
    padding:10px 14px;
    text-decoration:none;
}
.sgpct-panel .sgpct-client-supp-item__product-link .dashicons{
    width:15px;
    height:15px;
    font-size:15px;
}
.sgpct-panel .sgpct-client-supp-empty{
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    min-height:260px;
    padding:30px 20px;
    border:1px dashed #dce2e8;
    border-radius:16px;
    background:#fbfcfd;
    text-align:center;
}
.sgpct-panel .sgpct-client-supp-empty--inline{
    min-height:180px;
}
.sgpct-panel .sgpct-client-supp-empty--error{
    border-color:#f0c6c2;
    background:#fff7f6;
}
.sgpct-panel .sgpct-client-supp-empty>.dashicons{
    width:35px;
    height:35px;
    margin-bottom:10px;
    color:#7f8da0;
    font-size:35px;
}
.sgpct-panel .sgpct-client-supp-empty--error>.dashicons{
    color:#b3261e;
}
.sgpct-panel .sgpct-client-supp-empty h3{
    margin:0 0 7px;
    color:#20252b;
    font-size:18px;
}
.sgpct-panel .sgpct-client-supp-empty p{
    max-width:540px;
    margin:0;
    color:#717a85;
    font-size:13px;
    line-height:1.6;
}
@media(max-width:980px){
    .sgpct-panel .sgpct-client-supp-list{
        grid-template-columns:1fr;
    }
}
@media(max-width:640px){
    .sgpct-panel .sgpct-client-supp__header>div{
        padding:17px;
    }
    .sgpct-panel .sgpct-client-supp-plan__hero{
        align-items:flex-start;
        padding:15px;
    }
    .sgpct-panel .sgpct-client-supp-plan__hero-icon{
        width:46px;
        height:46px;
        flex-basis:46px;
    }
    .sgpct-panel .sgpct-client-supp-plan__hero h3{
        font-size:18px;
    }
    .sgpct-panel .sgpct-client-supp-item{
        padding:14px;
    }
    .sgpct-panel .sgpct-client-supp-item__media{
        width:60px;
        height:60px;
        flex-basis:60px;
    }
    .sgpct-panel .sgpct-client-supp-item__schedule{
        grid-template-columns:1fr;
    }
}

/* 1.41.733 — Moja suplementacja: płynnie rozwijany akordeon planu. */
.sgpct-panel .sgpct-client-supp-plan{
    gap:0;
}
.sgpct-panel .sgpct-client-supp-plan__toggle{
    position:relative;
    width:100%;
    cursor:pointer;
    user-select:none;
    transition:border-color .22s ease,box-shadow .22s ease,background .22s ease;
}
.sgpct-panel .sgpct-client-supp-plan__toggle:hover{
    border-color:#d8e2ee;
    box-shadow:0 8px 22px rgba(18,34,55,.05);
}
.sgpct-panel .sgpct-client-supp-plan__toggle:focus-visible{
    outline:3px solid rgba(23,105,194,.16);
    outline-offset:2px;
}
.sgpct-panel .sgpct-client-supp-plan__hero-copy{
    flex:1 1 auto;
}
.sgpct-panel .sgpct-client-supp-plan__chevron{
    width:22px;
    height:22px;
    flex:0 0 22px;
    margin-left:auto;
    color:#728094;
    font-size:22px;
    line-height:22px;
    transition:transform .34s cubic-bezier(.2,.75,.25,1),color .2s ease;
}
.sgpct-panel .sgpct-client-supp-plan.is-open .sgpct-client-supp-plan__chevron{
    transform:rotate(180deg);
    color:#1769c2;
}
.sgpct-panel .sgpct-client-supp-plan__accordion{
    height:auto;
    overflow:visible;
    opacity:1;
    transition:
        height .38s cubic-bezier(.2,.75,.25,1),
        opacity .24s ease;
    will-change:height;
}
.sgpct-panel .sgpct-client-supp-plan__accordion-inner{
    display:flex;
    flex-direction:column;
    gap:18px;
    padding-top:18px;
}
.sgpct-panel .sgpct-client-supp-plan:not(.is-open) .sgpct-client-supp-plan__accordion{
    overflow:hidden;
    opacity:0;
}
@media(prefers-reduced-motion:reduce){
    .sgpct-panel .sgpct-client-supp-plan__accordion,
    .sgpct-panel .sgpct-client-supp-plan__chevron,
    .sgpct-panel .sgpct-client-supp-plan__toggle{
        transition:none!important;
    }
}



/* 1.41.734 — Moja suplementacja: zamknięte akordeony, jeden otwarty i wspólny boks. */
.sgpct-panel .sgpct-client-supp-accordion-box{
    overflow:hidden;
    border:1px solid #e3e9f0;
    border-radius:18px;
    background:#fff;
    box-shadow:0 10px 30px rgba(18,34,55,.055);
}
.sgpct-panel .sgpct-client-supp-accordion-box .sgpct-client-supp-plan{
    gap:0;
}
.sgpct-panel .sgpct-client-supp-accordion-box .sgpct-client-supp-plan + .sgpct-client-supp-plan{
    border-top:1px solid #e9edf2;
}
.sgpct-panel .sgpct-client-supp-accordion-box .sgpct-client-supp-plan__hero{
    border:0;
    border-radius:0;
    background:#fff;
    box-shadow:none;
}
.sgpct-panel .sgpct-client-supp-accordion-box .sgpct-client-supp-plan__toggle:hover{
    border-color:transparent;
    background:#f8fbff;
    box-shadow:none;
}
.sgpct-panel .sgpct-client-supp-accordion-box .sgpct-client-supp-plan.is-open .sgpct-client-supp-plan__hero{
    background:linear-gradient(135deg,#f7fbff,#fff);
}
.sgpct-panel .sgpct-client-supp-plan__accordion{
    height:0;
    overflow:hidden;
    opacity:0;
}
.sgpct-panel .sgpct-client-supp-plan.is-open .sgpct-client-supp-plan__accordion{
    opacity:1;
}
.sgpct-panel .sgpct-client-supp-accordion-box .sgpct-client-supp-plan__accordion-inner{
    padding:0 18px 18px;
}
.sgpct-panel .sgpct-client-supp-accordion-box .sgpct-client-supp-plan.is-open .sgpct-client-supp-plan__accordion-inner{
    padding-top:18px;
}
@media(max-width:640px){
    .sgpct-panel .sgpct-client-supp-accordion-box{
        border-radius:15px;
    }
    .sgpct-panel .sgpct-client-supp-accordion-box .sgpct-client-supp-plan__accordion-inner{
        padding-left:14px;
        padding-right:14px;
        padding-bottom:14px;
    }
    .sgpct-panel .sgpct-client-supp-accordion-box .sgpct-client-supp-plan.is-open .sgpct-client-supp-plan__accordion-inner{
        padding-top:14px;
    }
}


/* 1.41.739 — pełna szerokość suplementów + pobieranie listy PDF. */
.sgpct-panel .sgpct-client-supp__header{
    justify-content:space-between;
    gap:18px;
}
.sgpct-panel .sgpct-client-supp__pdf{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:7px;
    flex:0 0 auto;
    margin:20px 20px 20px auto;
    text-decoration:none;
    white-space:nowrap;
}
.sgpct-panel .sgpct-client-supp__pdf .dashicons{
    width:17px;
    height:17px;
    font-size:17px;
}
.sgpct-panel .sgpct-client-supp-plan__accordion-inner,
.sgpct-panel .sgpct-client-supp-list,
.sgpct-panel .sgpct-client-supp-item{
    box-sizing:border-box;
    max-width:100%;
}
@media (max-width:767px){
    .sgpct-panel .sgpct-client-supp__header{
        flex-direction:column;
        align-items:stretch;
    }
    .sgpct-panel .sgpct-client-supp__pdf{
        width:calc(100% - 40px);
        margin:0 20px 20px;
    }
}

/* 1.41.744: klient — jednorazowa zamiana dzisiejszego ćwiczenia w obrębie tej samej partii ciała. */
.sgpct-training-exercise-swap-controls{
    display:flex;
    align-items:center;
    flex-wrap:wrap;
    gap:7px 10px;
    margin-top:8px;
}
.sgpct-training-exercise-swap-controls__status{
    flex-basis:100%;
    color:#16803c;
    font-size:11px;
    font-weight:800;
    line-height:1.4;
}
.sgpct-training-exercise-swap-controls__button,
.sgpct-training-exercise-swap-controls__restore{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:32px;
    padding:6px 10px;
    border:1px solid #d0d5dd;
    background:#fff;
    color:#344054;
    font:inherit;
    font-size:11px;
    font-weight:800;
    line-height:1.2;
    cursor:pointer;
}
.sgpct-training-exercise-swap-controls__button{
    border-color:var(--sgpct-client-banner-graphic,#3aa6c7);
    color:var(--sgpct-client-banner-graphic,#238aaa);
}
.sgpct-training-exercise-swap-controls__button:hover,
.sgpct-training-exercise-swap-controls__button:focus-visible{
    background:color-mix(in srgb,var(--sgpct-client-banner-graphic,#3aa6c7) 8%,#fff);
    outline:none;
}
.sgpct-training-exercise-swap-controls__restore:hover,
.sgpct-training-exercise-swap-controls__restore:focus-visible{
    border-color:#98a2b3;
    background:#f9fafb;
    outline:none;
}
.sgpct-training-exercise-swap-controls button:disabled{opacity:.58;cursor:progress}
.sgpct-training-swap-search{
    display:grid;
    gap:6px;
    margin:0 0 14px;
}
.sgpct-training-swap-search>span{
    color:#344054;
    font-size:11px;
    font-weight:800;
}
.sgpct-training-swap-search input{
    width:100%;
    min-height:42px;
    padding:8px 12px;
    border:1px solid #d0d5dd;
    border-radius:0;
    background:#fff;
    color:#101828;
    font-size:13px;
    box-shadow:none;
}
.sgpct-training-swap-search input:focus{
    border-color:var(--sgpct-client-banner-graphic,#3aa6c7);
    outline:none;
    box-shadow:0 0 0 2px color-mix(in srgb,var(--sgpct-client-banner-graphic,#3aa6c7) 15%,transparent);
}
.sgpct-training-swap-candidate__description{
    display:-webkit-box;
    overflow:hidden;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:2;
    max-width:560px;
    font-weight:500;
}
.sgpct-training-swap-candidate__video{
    display:inline-flex;
    margin-top:3px;
    color:#16803c;
    font-size:10px;
    font-weight:800;
}
@media(max-width:767px){
    .sgpct-training-exercise-swap-controls__button,
    .sgpct-training-exercise-swap-controls__restore{min-height:36px}
    .sgpct-training-swap-candidate{grid-template-columns:1fr;gap:10px}
    .sgpct-training-swap-candidate .sgpct-meal-swap-candidate__button{width:100%}
}


/* 1.41.750: popup zamiany musi być ponad popupem ćwiczeń (ten ma z-index: 999999). */
.sgpct-training-swap-modal{
    z-index:1000005;
}

/* 1.41.749: Zamień ćwiczenie również w Plan treningowy -> Zobacz Ćwiczenia. */
.sgpct-training-exercise-swap-controls--plan-popup{
    width:100%;
    margin-top:12px;
    padding:10px 12px;
    border:1px solid color-mix(in srgb,var(--sgpct-client-banner-graphic,#3aa6c7) 24%,#d0d5dd);
    border-radius:10px;
    background:color-mix(in srgb,var(--sgpct-client-banner-graphic,#3aa6c7) 5%,#fff);
}
.sgpct-training-exercise-swap-controls--plan-popup .sgpct-training-exercise-swap-controls__button{min-height:36px;padding:8px 13px}
.sgpct-training-exercise-swap-controls--plan-popup .sgpct-training-exercise-swap-controls__button:disabled{border-color:#d0d5dd;background:#f2f4f7;color:#98a2b3}

/* 1.41.752: ćwiczenia w popupie Plan treningowy -> Zobacz Ćwiczenia jako płynne akordeony. */
.sgpct-start-training-detail-modal .sgpct-training-exercise-card--accordion{
    padding:0;
    overflow:hidden;
    background:#fff;
}
.sgpct-start-training-detail-modal .sgpct-training-exercise-card--accordion .sgpct-training-exercise-card__accordion-heading{
    align-items:stretch;
    gap:0;
    margin:0;
    padding:0;
    border-bottom:0;
}
.sgpct-training-exercise-card__accordion-toggle{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:16px;
    flex:1 1 auto;
    min-width:0;
    margin:0;
    padding:16px;
    border:0;
    background:transparent;
    color:inherit;
    font:inherit;
    text-align:left;
    cursor:pointer;
    transition:background .2s ease;
}
.sgpct-training-exercise-card__accordion-toggle:hover,
.sgpct-training-exercise-card__accordion-toggle:focus-visible{
    background:rgba(45,70,93,.035);
    outline:none;
}
.sgpct-training-exercise-card__accordion-toggle:focus-visible{
    box-shadow:inset 0 0 0 2px color-mix(in srgb,var(--sgpct-client-banner-graphic,#3aa6c7) 35%,transparent);
}
.sgpct-training-exercise-card__accordion-copy{
    display:flex;
    flex-direction:column;
    gap:2px;
    min-width:0;
}
.sgpct-training-exercise-card__accordion-title{
    color:var(--sgpct-heading-color,#2D465D);
    font-size:16px;
    font-weight:800;
    line-height:1.35;
    overflow-wrap:anywhere;
}
.sgpct-training-exercise-card__accordion-chevron{
    width:22px;
    height:22px;
    flex:0 0 22px;
    color:rgba(45,70,93,.58);
    font-size:22px;
    line-height:22px;
    transition:transform .34s cubic-bezier(.2,.75,.25,1),color .2s ease;
}
.sgpct-training-exercise-card--accordion.is-open .sgpct-training-exercise-card__accordion-chevron{
    transform:rotate(180deg);
    color:var(--sgpct-client-banner-graphic,#3aa6c7);
}
.sgpct-start-training-detail-modal .sgpct-training-exercise-card--accordion .sgpct-training-exercise-card__video{
    align-self:center;
    padding:10px 14px 10px 0;
}
.sgpct-training-exercise-card__accordion-panel{
    height:0;
    overflow:hidden;
    opacity:0;
    transition:height .38s cubic-bezier(.2,.75,.25,1),opacity .22s ease;
    will-change:height;
}
.sgpct-training-exercise-card--accordion.is-open .sgpct-training-exercise-card__accordion-panel{
    opacity:1;
}
.sgpct-training-exercise-card__accordion-inner{
    padding:16px;
    border-top:1px solid rgba(45,70,93,.10);
}
.sgpct-training-exercise-card--accordion .sgpct-training-exercise-swap-controls--plan-popup{
    margin-top:0;
    margin-bottom:14px;
}
@media(max-width:640px){
    .sgpct-training-exercise-card__accordion-toggle{padding:14px 12px;gap:10px}
    .sgpct-training-exercise-card__accordion-title{font-size:15px}
    .sgpct-training-exercise-card__accordion-inner{padding:14px 12px}
    .sgpct-start-training-detail-modal .sgpct-training-exercise-card--accordion .sgpct-training-exercise-card__video{padding-right:10px}
}
@media(prefers-reduced-motion:reduce){
    .sgpct-training-exercise-card__accordion-panel,
    .sgpct-training-exercise-card__accordion-chevron,
    .sgpct-training-exercise-card__accordion-toggle{transition:none!important}
}


/* 1.41.755: popup ćwiczeń jest przenoszony do document.body, więc nie wolno uzależniać resetu od przodka .sgpct-panel. */
body .sgpct-start-training-detail-modal .sgpct-training-exercise-card__accordion-heading {
    background:#fff !important;
    background-color:#fff !important;
    background-image:none !important;
}
body .sgpct-start-training-detail-modal button.sgpct-training-exercise-card__accordion-toggle,
body .sgpct-start-training-detail-modal button.sgpct-training-exercise-card__accordion-toggle:link,
body .sgpct-start-training-detail-modal button.sgpct-training-exercise-card__accordion-toggle:visited,
body .sgpct-start-training-detail-modal button.sgpct-training-exercise-card__accordion-toggle:focus,
body .sgpct-start-training-detail-modal button.sgpct-training-exercise-card__accordion-toggle:focus-visible,
body .sgpct-start-training-detail-modal button.sgpct-training-exercise-card__accordion-toggle:active,
body .sgpct-start-training-detail-modal button.sgpct-training-exercise-card__accordion-toggle[aria-expanded="true"],
body .sgpct-start-training-detail-modal .sgpct-training-exercise-card--accordion.is-open button.sgpct-training-exercise-card__accordion-toggle {
    -webkit-appearance:none !important;
    appearance:none !important;
    background:#fff !important;
    background-color:#fff !important;
    background-image:none !important;
    border-color:transparent !important;
    color:inherit !important;
    filter:none !important;
    text-shadow:none !important;
    box-shadow:none !important;
}
body .sgpct-start-training-detail-modal button.sgpct-training-exercise-card__accordion-toggle:hover {
    background:#f8fafc !important;
    background-color:#f8fafc !important;
    background-image:none !important;
    box-shadow:none !important;
}
body .sgpct-start-training-detail-modal button.sgpct-training-exercise-card__accordion-toggle:focus-visible {
    outline:none !important;
    box-shadow:inset 0 0 0 2px rgba(45,70,93,.18) !important;
}
body .sgpct-start-training-detail-modal button.sgpct-training-exercise-card__accordion-toggle[aria-expanded="true"]:hover,
body .sgpct-start-training-detail-modal .sgpct-training-exercise-card--accordion.is-open button.sgpct-training-exercise-card__accordion-toggle:hover {
    background:#f8fafc !important;
    background-color:#f8fafc !important;
}
body .sgpct-start-training-detail-modal .sgpct-training-exercise-card--accordion.is-open .sgpct-training-exercise-card__accordion-chevron {
    color:var(--sgpct-heading-color,#2D465D) !important;
}


/* 1.41.757: mobilny/PWA onboarding — kompaktowy nagłówek zdjęcia profilowego bez pionowego scrollbara. */
@media (max-width: 760px) {
    .sgpct-onboarding__slide--avatar {
        overflow-x: hidden !important;
        overflow-y: hidden !important;
        padding-right: 0 !important;
        scrollbar-gutter: auto !important;
    }

    .sgpct-onboarding__slide--avatar .sgpct-onboarding__slide-copy {
        width: 100%;
        margin-bottom: 20px;
        text-align: center;
    }

    .sgpct-onboarding__slide--avatar .sgpct-onboarding__slide-copy h1 {
        width: 100%;
        margin: 7px auto 0 !important;
        font-size: 14px !important;
        line-height: 1.35 !important;
        text-align: center !important;
    }
}


/* 1.41.758: mobile/PWA onboarding — 3-sekundowy komunikat walidacji kroku 2 i czerwone pola wymagane. */
.sgpct-onboarding [data-sgpct-onboarding-required].is-invalid,
.sgpct-onboarding [data-sgpct-onboarding-required][aria-invalid="true"] {
    border-color:#d92d20 !important;
    box-shadow:0 0 0 3px rgba(217,45,32,.12) !important;
}

@media (max-width: 760px) {
    .sgpct-onboarding__error.is-mobile-sticky {
        position:fixed !important;
        top:max(8px, env(safe-area-inset-top)) !important;
        left:50% !important;
        z-index:1000015 !important;
        width:calc(100% - 24px) !important;
        max-width:520px !important;
        margin:0 !important;
        transform:translateX(-50%) !important;
        border:1px solid #f2b8b5 !important;
        border-radius:12px !important;
        background:#fff1f0 !important;
        color:#a3221b !important;
        box-shadow:0 12px 34px rgba(16,24,40,.18) !important;
        text-align:center !important;
    }
}

/* 1.41.759: mobilny/PWA onboarding — krok 2 w jednej kolumnie: ikona + label, pole poniżej. */
@media (max-width: 760px) {
    .sgpct-onboarding__slide--metrics .sgpct-onboarding__slide-copy {
        width: 100%;
        margin-bottom: 18px;
    }

    .sgpct-onboarding__slide--metrics .sgpct-onboarding__slide-copy h1 {
        margin: 7px 0 0 !important;
        font-size: 14px !important;
        line-height: 1.35 !important;
    }

    .sgpct-onboarding__slide--metrics .sgpct-onboarding__metrics-row--primary,
    .sgpct-onboarding__slide--metrics .sgpct-onboarding__metrics-row--measurements {
        grid-template-columns: 1fr !important;
        gap: 10px !important;
    }

    .sgpct-onboarding__slide--metrics .sgpct-onboarding-metric-card {
        display: grid !important;
        grid-template-columns: 40px minmax(0, 1fr) !important;
        grid-template-rows: auto auto !important;
        column-gap: 10px !important;
        row-gap: 8px !important;
        width: 100% !important;
        min-width: 0 !important;
        min-height: 0 !important;
        padding: 10px 12px !important;
        align-items: center !important;
        justify-content: stretch !important;
        text-align: left !important;
    }

    .sgpct-onboarding__slide--metrics .sgpct-onboarding-metric-card__icon {
        grid-column: 1 !important;
        grid-row: 1 !important;
        width: 40px !important;
        height: 40px !important;
        min-width: 40px !important;
        flex: 0 0 40px !important;
        border-radius: 10px !important;
    }

    .sgpct-onboarding__slide--metrics .sgpct-onboarding-metric-card__label {
        grid-column: 2 !important;
        grid-row: 1 !important;
        min-height: 0 !important;
        align-items: center !important;
        justify-content: flex-start !important;
        text-align: left !important;
    }

    .sgpct-onboarding__slide--metrics .sgpct-onboarding-metric-card > select,
    .sgpct-onboarding__slide--metrics .sgpct-onboarding-metric-card > input,
    .sgpct-onboarding__slide--metrics .sgpct-onboarding-metric-card > .sgpct-onboarding-metric-card__input {
        grid-column: 1 / -1 !important;
        grid-row: 2 !important;
        width: 100% !important;
        min-width: 0 !important;
    }

    .sgpct-onboarding__slide--metrics .sgpct-onboarding-metric-card select,
    .sgpct-onboarding__slide--metrics .sgpct-onboarding-metric-card input,
    .sgpct-onboarding__slide--metrics .sgpct-onboarding__field--wide select {
        font-size: 10px !important;
    }

    .sgpct-onboarding__slide--metrics .sgpct-onboarding-metric-card select,
    .sgpct-onboarding__slide--metrics .sgpct-onboarding-metric-card input {
        min-height: 40px !important;
        padding-top: 7px !important;
        padding-bottom: 7px !important;
    }

    .sgpct-onboarding__slide--metrics .sgpct-onboarding-metric-card__input > span {
        font-size: 9px !important;
    }
}

/* 1.41.760: mobile/PWA onboarding — avatar w kroku 1, bez osobnego kroku zdjęcia. */
.sgpct-onboarding__mobile-avatar-slot {
    display: none;
}

@media (max-width: 760px) {
    .sgpct-onboarding [data-sgpct-onboarding-slide="1"] .sgpct-onboarding__slide-copy h1 {
        margin: 7px 0 0 !important;
        font-size: 14px !important;
        line-height: 1.35 !important;
    }

    .sgpct-onboarding__mobile-avatar-slot {
        display: block;
        width: 100%;
        margin-top: 16px;
    }

    .sgpct-onboarding__mobile-avatar-slot .sgpct-onboarding-avatar {
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 12px;
        width: 100%;
        padding: 14px;
        border-radius: 14px;
        text-align: center;
    }

    .sgpct-onboarding__mobile-avatar-slot .sgpct-onboarding-avatar__preview {
        flex: 0 0 120px;
        width: 120px;
        height: 120px;
    }

    .sgpct-onboarding__mobile-avatar-slot .sgpct-onboarding-avatar__controls {
        align-items: center;
        gap: 7px;
    }

    .sgpct-onboarding__mobile-avatar-slot .sgpct-onboarding-avatar__button {
        min-height: 40px;
        padding: 8px 15px;
        font-size: 12px;
    }

    .sgpct-onboarding__mobile-avatar-slot .sgpct-onboarding-avatar__controls span {
        font-size: 10px;
        line-height: 1.35;
    }
}


/* 1.41.800 — aplikacyjna strona startowa klienta tylko na mobile. */
.sgpct-mobile-home{display:none!important}@media(min-width:768px){.sgpct-panel .sgpct-nav__item[href*="/postepy/"]{display:none!important}}
@media(max-width:767px){
.sgpct-panel--endpoint-strona-startowa{display:block!important;width:100%!important;max-width:100%!important;margin:0!important;padding:0 0 calc(78px + env(safe-area-inset-bottom))!important;background:#f7fbfc!important}
.sgpct-panel--endpoint-strona-startowa>.sgpct-client-nav,.sgpct-panel--endpoint-strona-startowa>.sgpct-client-banner,.sgpct-panel--endpoint-strona-startowa>.sgpct-sidebar,.sgpct-panel--endpoint-strona-startowa .sgpct-start-overview,.sgpct-panel--endpoint-strona-startowa .sgpct-dietitian-day-strip,.sgpct-panel--endpoint-strona-startowa .sgpct-start-page{display:none!important}
.sgpct-panel--endpoint-strona-startowa>.sgpct-content{width:100%!important;min-height:0!important;margin:0!important;padding:0!important;border:0!important;border-radius:0!important;background:#f7fbfc!important;box-shadow:none!important}.sgpct-panel--endpoint-strona-startowa .sgpct-view--start{margin:0!important;padding:0!important}
.sgpct-mobile-home{display:block!important;width:100%;max-width:620px;margin:0 auto;padding:24px 16px 28px;box-sizing:border-box;color:#092149}.sgpct-mobile-home *{box-sizing:border-box}
.sgpct-mobile-home__hero{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:0 2px 22px}.sgpct-mobile-home__hero h1{margin:0;color:#061a3e;font-size:24px;font-weight:900;line-height:1.04;letter-spacing:-.035em}.sgpct-mobile-home__hero h1 span{display:inline-block;font-size:.82em;transform:rotate(-8deg)}.sgpct-mobile-home__hero p{margin:7px 0 0;color:#5c6f8d;font-size:16px;font-weight:500}.sgpct-mobile-home__avatar{width:70px;height:70px;flex:0 0 70px;overflow:hidden;border:4px solid #fff;border-radius:50%;background:#e8edf3;box-shadow:0 10px 28px rgba(9,33,73,.13)}.sgpct-mobile-home__avatar img{width:100%!important;height:100%!important;object-fit:cover;border-radius:50%}
.sgpct-mobile-home__date{display:grid;grid-template-columns:48px minmax(0,1fr) 48px;align-items:center;gap:8px;min-height:72px;margin-bottom:16px;padding:10px 12px;border:1px solid rgba(92,111,141,.09);border-radius:25px;background:linear-gradient(135deg,#f2f8fa,#fff 54%,#eef6f8);box-shadow:0 10px 30px rgba(9,33,73,.055)}.sgpct-mobile-home__date-nav{display:grid;place-items:center;width:48px;height:48px;border-radius:50%;background:#fff;color:#0a2148;text-decoration:none;box-shadow:0 5px 16px rgba(9,33,73,.07);transition:transform .2s ease,box-shadow .2s ease,background .2s ease}.sgpct-mobile-home__date-nav .dashicons{width:25px;height:25px;font-size:25px;line-height:25px}.sgpct-mobile-home__date-nav:hover,.sgpct-mobile-home__date-nav:focus-visible{background:#f7fbfc;color:#0a2148;transform:translateY(-1px);box-shadow:0 8px 20px rgba(9,33,73,.12)}.sgpct-mobile-home__date-nav:focus-visible{outline:2px solid #15955e;outline-offset:2px}.sgpct-mobile-home__date strong{color:#081d42;font-size:16px;font-weight:850;text-align:center}
.sgpct-mobile-home__nutrition{display:grid;grid-template-columns:minmax(132px,42%) minmax(0,58%);align-items:center;gap:18px;margin-bottom:18px;padding:22px 18px;border:1px solid rgba(92,111,141,.08);border-radius:28px;background:#fff;box-shadow:0 14px 38px rgba(9,33,73,.07)}.sgpct-mobile-home__calorie-ring{position:relative;width:min(35vw,168px);aspect-ratio:1;margin:auto;border-radius:50%;background:conic-gradient(from -90deg,#13bc81 0,#55e27c var(--sgpct-mobile-calorie-progress),#edf2f6 var(--sgpct-mobile-calorie-progress),#edf2f6 360deg);box-shadow:0 10px 24px rgba(19,188,129,.13)}.sgpct-mobile-home__calorie-ring:before{content:"";position:absolute;inset:14px;border-radius:50%;background:#fff}.sgpct-mobile-home__calorie-ring>div{position:absolute;inset:26px;display:flex;align-items:center;justify-content:center;flex-direction:column;z-index:1;text-align:center}.sgpct-mobile-home__calorie-ring strong{color:#092149;font-size:20px;font-weight:900;line-height:1}.sgpct-mobile-home__calorie-ring span{margin-top:5px;color:#425575;font-size:clamp(12px,3.5vw,17px);font-weight:700;white-space:nowrap}
.sgpct-mobile-home__macros{display:flex;min-width:0;flex-direction:column;gap:15px}.sgpct-mobile-home__macro>div{display:flex;align-items:baseline;justify-content:space-between;gap:8px;margin-bottom:7px}.sgpct-mobile-home__macro strong{color:#0a2148;font-size:12px;font-weight:800}.sgpct-mobile-home__macro span{color:#60708a;font-size:clamp(11px,3.3vw,16px);font-weight:700;white-space:nowrap}.sgpct-mobile-home__macro i{display:block;height:10px;overflow:hidden;border-radius:999px;background:#edf2f6}.sgpct-mobile-home__macro b{display:block;height:100%;max-width:100%;border-radius:inherit;background:#20ce71}.sgpct-mobile-home__macro.is-carbs b{background:#318cf5}.sgpct-mobile-home__macro.is-fat b{background:#ffbd13}
.sgpct-mobile-home__quick{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:0 0 28px}.sgpct-panel .sgpct-mobile-home__quick-item,.sgpct-panel .sgpct-mobile-home__quick-item:hover,.sgpct-panel .sgpct-mobile-home__quick-item:focus{display:flex;min-width:0;min-height:106px;flex-direction:column;align-items:center;justify-content:center;gap:11px;padding:14px 4px;border:1px solid rgba(92,111,141,.08)!important;border-radius:22px!important;background:#fff!important;color:#586b88!important;box-shadow:0 10px 28px rgba(9,33,73,.06)!important;text-decoration:none!important;transform:none!important}.sgpct-panel .sgpct-mobile-home__quick-item.is-primary{background:linear-gradient(145deg,#dffbed,#f5fffa)!important;color:#087a4f!important;border-color:#caf4df!important}.sgpct-mobile-home__quick-item .dashicons{width:24px;height:24px;font-size:24px}.sgpct-mobile-home__quick-item strong{font-size:10px;font-weight:600;white-space:nowrap}
.sgpct-mobile-home__today-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:0 3px 14px}.sgpct-mobile-home__today-head h2{margin:0;color:#071c40;font-size:20px;font-weight:900}.sgpct-mobile-home__today-head>span{color:#15955e;font-size:12px;font-weight:600;white-space:nowrap}.sgpct-mobile-home__today{display:flex;flex-direction:column;gap:12px}.sgpct-mobile-home__today-card{display:grid;grid-template-columns:46px minmax(0,1fr) auto;align-items:center;gap:14px;min-height:104px;padding:12px 15px 12px 12px;border:1px solid rgba(92,111,141,.08);border-radius:24px;background:#fff;box-shadow:0 10px 28px rgba(9,33,73,.055)}.sgpct-mobile-home__today-icon{display:grid;place-items:center;width:46px;height:46px;border-radius:19px;background:#eff8f2;color:#11905c}.sgpct-mobile-home__today-icon.is-training{background:#f0f3f8;color:#5f708b}.sgpct-mobile-home__today-icon.is-water{background:#eaf6ff;color:#2d91f0}.sgpct-mobile-home__today-icon .dashicons{width:24px;height:24px;font-size:24px}.sgpct-mobile-home__today-card>div{display:flex;min-width:0;flex-direction:column;gap:2px}.sgpct-mobile-home__today-card>div strong{color:#071c40;font-size:14px;font-weight:900}.sgpct-mobile-home__today-card>div span{overflow:hidden;color:#243d63;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.sgpct-mobile-home__today-card>div small{color:#8694a8;font-size:13px}.sgpct-mobile-home__today-card>.dashicons{color:#8a99ac;font-size:24px}.sgpct-mobile-home__water-cups{display:flex;gap:4px}.sgpct-mobile-home__water-cups i{width:9px;height:16px;border:1.5px solid #7dbcf4;border-radius:2px 2px 4px 4px;background:#eaf6ff}.sgpct-mobile-home__water-cups i:nth-child(-n+3){background:#3a9cf3}
.sgpct-panel--endpoint-postepy .sgpct-progress-page{display:flex;flex-direction:column;gap:18px;margin:14px 0 0!important}.sgpct-panel--endpoint-postepy .sgpct-content{padding:14px!important}.sgpct-panel--endpoint-postepy .sgpct-client-progress,.sgpct-panel--endpoint-postepy .sgpct-client-body-comparison{border-radius:18px!important}}
@media(max-width:390px){.sgpct-mobile-home{padding-left:12px;padding-right:12px}.sgpct-mobile-home__nutrition{grid-template-columns:126px minmax(0,1fr);gap:12px;padding:18px 12px}.sgpct-mobile-home__quick{gap:7px}.sgpct-panel .sgpct-mobile-home__quick-item{min-height:96px}.sgpct-mobile-home__today-card{grid-template-columns:46px minmax(0,1fr) auto;gap:11px}.sgpct-mobile-home__today-icon{width:46px;height:46px}}
@media(prefers-reduced-motion:reduce){.sgpct-mobile-home *,.sgpct-training-plan-card__accordion,.sgpct-diet-day-meal__body{transition:none!important;animation:none!important}}


/* 1.41.804: płynna nawigacja dni i pełne nazwy posiłków na mobilnym pulpicie. */
@media(max-width:782px){
.sgpct-panel .sgpct-mobile-home__date-nav,.sgpct-panel .sgpct-mobile-home__date-nav:hover,.sgpct-panel .sgpct-mobile-home__date-nav:focus{border-bottom:0!important;text-decoration:none!important;-webkit-tap-highlight-color:transparent}
.sgpct-mobile-home{transition:opacity .18s ease,transform .18s ease}
.sgpct-mobile-home.is-loading{opacity:.45;transform:scale(.995);pointer-events:none}
.sgpct-mobile-home.is-entering{opacity:.2;transform:translateY(5px)}
.sgpct-mobile-home__today-card>div span{overflow:visible!important;text-overflow:clip!important;white-space:normal!important;overflow-wrap:anywhere;line-height:1.35}
}
@media(max-width:782px) and (prefers-reduced-motion:reduce){.sgpct-mobile-home{transition:none!important}}


/* 1.41.805: etykieta rodzaju posiłku w jadłospisie klienta */
.sgpct-diet-day-meal__title-main,.sgpct-diet-day-meal-detail__title-main{display:grid;gap:4px;min-width:0}
.sgpct-diet-day-meal__type{display:inline-flex;align-items:center;justify-self:start;padding:3px 7px;border-radius:999px;background:#ecfdf3;color:#067647;font-size:9px;font-weight:900;letter-spacing:.06em;line-height:1.2;text-transform:uppercase}
.sgpct-diet-day-meal.is-completed .sgpct-diet-day-meal__type{background:rgba(255,255,255,.18);color:#fff}
.sgpct-diet-day-meal-detail__title-main .sgpct-diet-day-meal__type{margin-bottom:1px}
@media(max-width:767px){.sgpct-diet-day-meal__title-main{gap:3px}.sgpct-diet-day-meal__type{font-size:8px}}

/* 1.41.806: nawigacja posilkow wybranego dnia bez przeladowania. */
@media(max-width:782px){
.sgpct-mobile-home__today-card.sgpct-mobile-home__meal-card{grid-template-columns:28px 46px minmax(0,1fr) 28px;gap:8px;padding-left:6px;padding-right:6px}
.sgpct-mobile-home__meal-content>div{display:flex;min-width:0;flex-direction:column;gap:2px}
.sgpct-mobile-home__meal-content [hidden]{display:none!important}
.sgpct-panel .sgpct-mobile-home__meal-nav{display:inline-flex;align-items:center;justify-content:center;width:28px;min-width:28px;height:44px;padding:0;border:0!important;border-radius:8px;background:transparent!important;box-shadow:none!important;color:#8a99ac!important;cursor:pointer}
.sgpct-panel .sgpct-mobile-home__meal-nav[hidden]{display:inline-flex!important;visibility:hidden;pointer-events:none}
.sgpct-panel .sgpct-mobile-home__meal-nav:focus-visible{outline:2px solid #11905c;outline-offset:1px}
.sgpct-mobile-home__meal-nav .dashicons{width:24px;height:24px;font-size:24px}
}


/* 1.41.997 — widoczny termin rozpoczęcia diety po stronie klienta */
.sgpct-client-flex-diet__status.is-scheduled{background:#fff3cd!important;color:#6b4b00!important;border-color:#ead28a!important}
.sgpct-client-flex-diet__scheduled-notice{display:grid;grid-template-columns:48px minmax(0,1fr) auto;gap:14px;align-items:center;margin:0 0 18px;padding:16px 18px;border:1px solid #e6c66e;border-left:5px solid #d4a514;border-radius:14px;background:linear-gradient(135deg,#fffaf0 0%,#fff4cf 100%);box-shadow:0 8px 24px rgba(105,77,5,.08);color:#4f3b0a}
.sgpct-client-flex-diet__scheduled-icon{display:grid!important;place-items:center;width:48px!important;height:48px!important;border-radius:12px;background:#f5d878;color:#624800;font-size:23px!important}
.sgpct-client-flex-diet__scheduled-eyebrow{display:block;margin-bottom:4px;color:#8a6500;font-size:10px;font-weight:850;letter-spacing:.1em}.sgpct-client-flex-diet__scheduled-notice strong{display:block;color:#3f3008;font-size:17px;line-height:1.3}.sgpct-client-flex-diet__scheduled-notice p{margin:5px 0 0;color:#6e5a27;font-size:12px;line-height:1.5}.sgpct-client-flex-diet__scheduled-notice time{padding:8px 11px;border:1px solid #dfc264;border-radius:9px;background:#fff;color:#5c4507;font-size:14px;font-weight:850;white-space:nowrap}
@media(max-width:700px){.sgpct-client-flex-diet__scheduled-notice{grid-template-columns:42px minmax(0,1fr);padding:14px}.sgpct-client-flex-diet__scheduled-icon{width:42px!important;height:42px!important}.sgpct-client-flex-diet__scheduled-notice time{grid-column:2;justify-self:start}.sgpct-client-flex-diet__scheduled-notice strong{font-size:15px}}
