

/* Login_plan — filter/plan.php */

body:has(> #page-plan) {
    display: flex;
    flex-direction: column;
    min-height: 100vh;
    min-height: 100dvh;
}

body:has(> #page-plan) > #page-plan {
    flex: 1 1 auto;
    min-height: 0;
}

body:has(> #page-plan) > .site-footer {
    flex: 0 0 auto;
    width: 100%;
    margin-top: auto;
}

:is(#page-plan, .plan-table-runtime).filter-page--wide {
    --app-viewport-width: 100%;
}

/* Plan-only hover menu for the add button */

:is(#page-plan, .plan-table-runtime) .plan-header-action-row {
    --filter-header-action-menu-overlap: 19px;
    display: inline-flex;
    align-items: flex-start;
    flex-wrap: nowrap;
    width: fit-content;
    max-width: 100%;
    position: relative;
    z-index: 450;
    overflow: visible;
}

:is(#page-plan, .plan-table-runtime) .plan-header-action-row > .filter-header-plan-menu-cluster,
:is(#page-plan, .plan-table-runtime) .plan-header-action-row > .filter-header-search-group {
    position: relative;
    z-index: 3;
    flex: 0 0 auto;
}

:is(#page-plan, .plan-table-runtime) .plan-header-action-row > .filter-header-search-group {
    margin-left: 8px;
}

:is(#page-plan, .plan-table-runtime) .filter-header-plan-menu-cluster {
    display: inline-flex;
    align-items: flex-start;
    flex-wrap: nowrap;
    width: fit-content;
    max-width: 100%;
    position: relative;
    overflow: visible;
}

:is(#page-plan, .plan-table-runtime) .filter-header-plan-menu-cluster > .btn-group {
    position: relative;
    z-index: 3;
    flex: 0 0 auto;
}

:is(#page-plan, .plan-table-runtime) .filter-header-plan-menu-cluster > .plan-header-add-group + .filter-header-extra-trigger-group--paired-end {
    margin-left: 0;
}

:is(#page-plan, .plan-table-runtime) .filter-header-extra-trigger {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    position: relative;
    z-index: 3;
}

:is(#page-plan, .plan-table-runtime) .filter-header-extra-trigger .glyphicon-chevron-down {
    top: 0;
    flex: 0 0 auto;
    font-size: 10px;
    opacity: 0.78;
    transform-origin: 50% 45%;
}

:is(#page-plan, .plan-table-runtime) .filter-header-extra-trigger-group:hover .filter-header-extra-trigger .glyphicon-chevron-down,
:is(#page-plan, .plan-table-runtime) .filter-header-plan-menu-cluster:has(> .filter-header-extra-menu:hover) > .filter-header-extra-trigger-group > .filter-header-extra-trigger .glyphicon-chevron-down {
    transform: rotate(180deg);
    opacity: 0.95;
}

:is(#page-plan, .plan-table-runtime) .filter-header-plan-menu-cluster > .plan-header-add-group + .filter-header-extra-trigger-group--paired-end .filter-header-extra-trigger {
    border-top-left-radius: 0 !important;
    border-bottom-left-radius: 0 !important;
    border-top-right-radius: var(--bs3-btn-border-radius, 999px) !important;
    border-bottom-right-radius: var(--bs3-btn-border-radius, 999px) !important;
}

:is(#page-plan, .plan-table-runtime) .filter-header-search-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 42px;
    min-width: 42px;
    padding-left: 0;
    padding-right: 0;
}

:is(#page-plan, .plan-table-runtime) .filter-header-search-button .glyphicon {
    top: 0;
}

:is(#page-plan, .plan-table-runtime) .filter-header-plan-menu-cluster > .plan-header-add-menu {
    left: 0;
    right: 0;
    width: auto;
    min-width: 0;
    max-width: none;
}

:is(#page-plan, .plan-table-runtime) .plan-header-add-menu > li > a > .glyphicon,
:is(#page-plan, .plan-table-runtime) .plan-header-add-menu > li > button > .glyphicon {
    color: #2f8fd0;
}

:is(#page-plan, .plan-table-runtime) .plan-header-add-menu > li > a:hover > .glyphicon,
:is(#page-plan, .plan-table-runtime) .plan-header-add-menu > li > a:focus > .glyphicon,
:is(#page-plan, .plan-table-runtime) .plan-header-add-menu > li > button:hover > .glyphicon,
:is(#page-plan, .plan-table-runtime) .plan-header-add-menu > li > button:focus > .glyphicon {
    color: #1474b2;
}

:is(#page-plan, .plan-table-runtime) .plan-header-extra-menu > li > a[href*="missing_planned_receipts"] > .glyphicon {
    color: #c9911e;
}

:is(#page-plan, .plan-table-runtime) .filter-header-plan-menu-cluster > .plan-header-add-group > .plan-header-add-trigger {
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
}

:is(#page-plan, .plan-table-runtime) .filter-header-plan-menu-cluster > .plan-header-add-group:hover > .plan-header-add-trigger,
:is(#page-plan, .plan-table-runtime) .filter-header-plan-menu-cluster:has(> .plan-header-add-menu:hover) > .plan-header-add-group > .plan-header-add-trigger,
:is(#page-plan, .plan-table-runtime) .filter-header-plan-menu-cluster:has(> .filter-header-extra-menu:hover) > .filter-header-extra-trigger-group > .filter-header-extra-trigger {
    transform: translateY(1px);
    filter: none;
    box-shadow: var(--ui-press-active-shadow, 0 1px 0 rgba(94, 126, 148, 0.5), 0 2px 4px rgba(34, 62, 82, 0.18), inset 0 1px 0 rgba(255, 255, 255, 0.7));
}

:is(#page-plan, .plan-table-runtime) .filter-header-plan-menu-cluster > .plan-header-add-group:hover ~ .plan-header-add-menu,
:is(#page-plan, .plan-table-runtime) .plan-header-add-menu:hover {
    display: block;
}

/* ── Plan: row2 toolbar layout ── */

.plan-row2-layout {
    display: block;
    margin-top: 10px;
}

.plan-row2-right {
    width: 100%;
    padding-bottom: 5px;
}

:is(#page-plan, .plan-table-runtime) .plan-viewmode-field {
    margin-bottom: 0;
}

:is(#page-plan, .plan-table-runtime) .plan-viewmode-field > .receipts-toolbar-dropdown > .receipts-pill-control {
    min-height: 36px;
}

/* ── Plan: filter toolbar layout ── */

:is(#page-plan, .plan-table-runtime) .receipts-filter-host {
    margin-bottom: 0;
}

:is(#page-plan, .plan-table-runtime) .receipts-filter-toolbar {
    --plan-filter-toolbar-gap: 10px;
    display: flex;
    flex-wrap: nowrap;
    gap: var(--plan-filter-toolbar-gap);
    align-items: stretch;
    min-width: 0;
    width: 100%;
}

:is(#page-plan, .plan-table-runtime) .receipts-filter-toolbar > .receipts-toolbar-item {
    min-width: 0;
}

:is(#page-plan, .plan-table-runtime) .plan-viewmode-field {
    flex: 0 0 auto;
    width: auto;
}

:is(#page-plan, .plan-table-runtime) .plan-filter-field {
    flex: 0 0 auto;
    width: auto;
}

:is(#page-plan, .plan-table-runtime) .plan-sort-field,
:is(#page-plan, .plan-table-runtime) .plan-time-sort-field {
    flex: 0 0 auto;
    width: auto;
    min-width: 0;
}

:is(#page-plan, .plan-table-runtime) .plan-time-sort-inner {
    display: block;
    width: fit-content;
    max-width: none;
    opacity: 1;
    transform: translateX(0);
    transform-origin: 0% 50%;
}

:is(#page-plan, .plan-table-runtime) .plan-time-sort-inner > .receipts-field-caption {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    width: 100%;
    margin: 0;
    padding: 6px 10px;
    border: 1px solid #dbe7f0;
    border-bottom: 0;
    border-radius: 12px 12px 0 0;
    box-sizing: border-box;
    background: linear-gradient(180deg, #edf6fd 0%, #e3f0fa 100%);
    color: #156d9f;
    font-weight: 700;
    line-height: 1.2;
    box-shadow: inset 0 1px 0 rgba(255,255,255,0.78);
    white-space: nowrap;
}

:is(#page-plan, .plan-table-runtime) .plan-time-sort-field.is-plan-time-sort-animating {
    box-sizing: border-box;
    min-width: 0 !important;
    overflow: hidden;
    max-width: var(--plan-time-sort-open-width, 0px);
    height: var(--plan-time-sort-open-height, auto);
    max-height: var(--plan-time-sort-open-height, none);
    margin-left: 0;
    white-space: nowrap;
    pointer-events: auto;
    will-change: max-width, margin-left;
    transition:
        max-width 0.24s cubic-bezier(0.22, 0.78, 0.2, 1),
        margin-left 0.24s cubic-bezier(0.22, 0.78, 0.2, 1);
}

:is(#page-plan, .plan-table-runtime) .plan-time-sort-field.is-plan-time-sort-animating > .plan-time-sort-inner {
    width: var(--plan-time-sort-open-width, max-content);
    max-width: none;
    opacity: 1;
    transform: translateX(0);
    will-change: opacity, transform;
    transition:
        opacity 0.18s ease,
        transform 0.24s cubic-bezier(0.22, 0.78, 0.2, 1);
}

:is(#page-plan, .plan-table-runtime) .plan-time-sort-field.is-plan-time-sort-collapsing {
    max-width: 0 !important;
    margin-left: calc(var(--plan-filter-toolbar-gap) * -1);
    pointer-events: none;
}

:is(#page-plan, .plan-table-runtime) .plan-time-sort-field.is-plan-time-sort-collapsing > .plan-time-sort-inner {
    opacity: 0;
    transform: translateX(-2px);
}

:is(#page-plan, .plan-table-runtime) .plan-time-sort-field.is-plan-time-sort-measuring {
    position: absolute !important;
    visibility: hidden !important;
    flex: none !important;
    width: max-content !important;
    min-width: 0 !important;
    max-width: none !important;
    height: auto !important;
    max-height: none !important;
    margin-left: 0 !important;
    overflow: visible !important;
    white-space: nowrap !important;
    pointer-events: none !important;
}

:is(#page-plan, .plan-table-runtime) .plan-time-sort-field.is-plan-time-sort-measuring > .plan-time-sort-inner {
    width: max-content !important;
    max-width: none !important;
    opacity: 1 !important;
    transform: none !important;
}

:is(#page-plan, .plan-table-runtime) .plan-time-sort-field.is-plan-time-sort-animating .receipts-field-caption,
:is(#page-plan, .plan-table-runtime) .plan-time-sort-field.is-plan-time-sort-animating .receipts-toolbar-dropdown,
:is(#page-plan, .plan-table-runtime) .plan-time-sort-field.is-plan-time-sort-measuring .receipts-field-caption,
:is(#page-plan, .plan-table-runtime) .plan-time-sort-field.is-plan-time-sort-measuring .receipts-toolbar-dropdown {
    flex: 0 0 auto;
    white-space: nowrap;
}

:is(#page-plan, .plan-table-runtime) .plan-date-field {
    flex: 0 0 272px;
    width: 272px;
    min-width: 272px;
    max-width: 272px;
}

:is(#page-plan, .plan-table-runtime) .plan-date-field > .receipts-filter-shell-body {
    overflow: visible;
}

:is(#page-plan, .plan-table-runtime) .plan-viewmode-field > .receipts-toolbar-dropdown,
:is(#page-plan, .plan-table-runtime) .plan-sort-field > .receipts-toolbar-dropdown,
:is(#page-plan, .plan-table-runtime) .plan-time-sort-inner > .receipts-toolbar-dropdown,
:is(#page-plan, .plan-table-runtime) .plan-filter-field > .receipts-filter-shell-body,
:is(#page-plan, .plan-table-runtime) .plan-date-field > .receipts-filter-shell-body {
    width: fit-content;
}

:is(#page-plan, .plan-table-runtime) .plan-filter-field > .receipts-filter-shell-body > .receipts-filter-menu {
    width: fit-content;
}

:is(#page-plan, .plan-table-runtime) .plan-viewmode-field > .receipts-toolbar-dropdown > .receipts-pill-control,
:is(#page-plan, .plan-table-runtime) .plan-filter-field > .receipts-filter-shell-body > .receipts-filter-menu > .receipts-pill-control,
:is(#page-plan, .plan-table-runtime) .plan-sort-field > .receipts-toolbar-dropdown > .receipts-pill-control,
:is(#page-plan, .plan-table-runtime) .plan-time-sort-inner > .receipts-toolbar-dropdown > .receipts-pill-control {
    grid-template-columns: 36px max-content;
    width: max-content;
}

:is(#page-plan, .plan-table-runtime) .plan-viewmode-field > .receipts-toolbar-dropdown > .receipts-pill-control > .receipts-toolbar-dropdown-toggle,
:is(#page-plan, .plan-table-runtime) .plan-sort-field > .receipts-toolbar-dropdown > .receipts-pill-control > .receipts-toolbar-dropdown-toggle,
:is(#page-plan, .plan-table-runtime) .plan-time-sort-inner > .receipts-toolbar-dropdown > .receipts-pill-control > .receipts-toolbar-dropdown-toggle,
:is(#page-plan, .plan-table-runtime) .plan-filter-field > .receipts-filter-shell-body > .receipts-filter-menu > .receipts-pill-control > .receipts-filter-toggle {
    gap: 8px;
    padding-left: 10px;
    padding-right: 10px;
    width: auto;
}

:is(#page-plan, .plan-table-runtime) .plan-viewmode-field > .receipts-toolbar-dropdown > .receipts-pill-control > .receipts-toolbar-dropdown-toggle > .receipts-toolbar-dropdown-label,
:is(#page-plan, .plan-table-runtime) .plan-sort-field > .receipts-toolbar-dropdown > .receipts-pill-control > .receipts-toolbar-dropdown-toggle > .receipts-toolbar-dropdown-label,
:is(#page-plan, .plan-table-runtime) .plan-time-sort-inner > .receipts-toolbar-dropdown > .receipts-pill-control > .receipts-toolbar-dropdown-toggle > .receipts-toolbar-dropdown-label,
:is(#page-plan, .plan-table-runtime) .plan-filter-field > .receipts-filter-shell-body > .receipts-filter-menu > .receipts-pill-control > .receipts-filter-toggle > .receipts-filter-toggle-value {
    overflow: visible;
    text-overflow: clip;
}

:is(#page-plan, .plan-table-runtime) .plan-filter-field > .receipts-filter-shell-body > .receipts-filter-menu:focus-within > .receipts-pill-control {
    outline: none;
    transform: none;
    filter: none;
    box-shadow: var(--ui-press-focus-ring);
}

:is(#page-plan, .plan-table-runtime) #plan-date-nav {
    box-sizing: border-box;
    width: auto;
    min-width: 260px;
    max-width: 260px;
}

:is(#page-plan, .plan-table-runtime) .plan-row2-layout {
    position: relative;
    z-index: 430;
}

:is(#page-plan, .plan-table-runtime) .plan-row2-layout:has(#plan-date-nav.basic-calendar-source-active) {
    z-index: auto;
}

:is(#page-plan, .plan-table-runtime) .plan-row2-right,
:is(#page-plan, .plan-table-runtime) .plan-filter-summary-host {
    position: relative;
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transition:
        opacity 0.18s ease,
        visibility 0s linear 0s;
}

:is(#page-plan, .plan-table-runtime).is-plan-selection-active .plan-row2-right,
:is(#page-plan, .plan-table-runtime).is-plan-selection-active .plan-filter-summary-host {
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition:
        opacity 0.16s ease,
        visibility 0s linear 0.16s;
}

:is(#page-plan, .plan-table-runtime) .plan-selection-status-host {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    z-index: 0;
    display: flex;
    justify-content: center;
    align-items: flex-start;
    min-width: 0;
    height: 0;
    opacity: 0;
    visibility: hidden;
    overflow: visible;
    pointer-events: none;
    transform: translateY(4px);
    transition:
        opacity 0.16s ease,
        visibility 0s linear 0.16s,
        transform 0.18s cubic-bezier(0.22, 0.78, 0.2, 1);
}

:is(#page-plan, .plan-table-runtime).is-plan-selection-active .plan-selection-status-host {
    z-index: 420;
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
    transition:
        opacity 0.18s ease,
        visibility 0s linear 0s,
        transform 0.18s cubic-bezier(0.22, 0.78, 0.2, 1);
}

body.modal-open:is(#page-plan, .plan-table-runtime) .plan-row2-layout,
body.modal-open :is(#page-plan, .plan-table-runtime) .plan-row2-layout {
    z-index: auto;
}

/* ── Anzeigeoptionen chip grid in filter modal ── */
#plan-display-wrapper {
    display: flex !important;
    flex-wrap: nowrap;
    align-items: center;
    gap: 6px;
    width: 100%;
    min-height: 38px;
    padding-top: 1px;
}

#plan-display-wrapper .receipts-choice-chip {
    flex: 1 1 0;
    min-width: 0;
    margin: 0;
}

#plan-display-wrapper .receipts-choice-chip:nth-child(2) {
    flex-grow: 1.7;
}

#plan-display-wrapper .receipts-choice-chip-text {
    width: 100%;
    justify-content: center;
    border-radius: 999px;
}

/* Plan filter summary hints */
:is(#page-plan, .plan-table-runtime) .filter-summary-card[data-summary-key="categories"] .filter-summary-pill.is-plan-category-ineffective {
    border-color: rgba(168, 195, 216, 0.58);
    border-style: solid;
    background: linear-gradient(180deg, rgba(247, 252, 255, 0.48) 0%, rgba(222, 237, 248, 0.32) 100%);
    color: rgba(46, 79, 104, 0.56);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.5);
}

:is(#page-plan, .plan-table-runtime) .filter-summary-card[data-summary-key="categories"] .filter-summary-pill.is-plan-category-ineffective .filter-summary-pill-remove {
    background: rgba(47, 88, 114, 0.08);
    color: rgba(33, 71, 97, 0.48);
}

:is(#page-plan, .plan-table-runtime) .filter-summary-card[data-summary-key="categories"] .filter-summary-pill.is-plan-category-ineffective .filter-summary-pill-remove:hover,
:is(#page-plan, .plan-table-runtime) .filter-summary-card[data-summary-key="categories"] .filter-summary-pill.is-plan-category-ineffective .filter-summary-pill-remove:focus {
    background: rgba(47, 88, 114, 0.16);
    color: rgba(33, 71, 97, 0.72);
}

/* ── Responsive: stack toolbar on small screens ── */
@media (max-width: 767px) {
    :is(#page-plan, .plan-table-runtime) .receipts-filter-toolbar {
        flex-direction: column;
        flex-wrap: nowrap;
    }

    :is(#page-plan, .plan-table-runtime) .plan-viewmode-field,
    :is(#page-plan, .plan-table-runtime) .plan-filter-field,
    :is(#page-plan, .plan-table-runtime) .plan-sort-field,
    :is(#page-plan, .plan-table-runtime) .plan-time-sort-field,
    :is(#page-plan, .plan-table-runtime) .plan-date-field {
        flex: 0 1 auto;
        min-width: 0;
        max-width: none;
        width: 100%;
    }

    :is(#page-plan, .plan-table-runtime) #plan-date-nav {
        max-width: none;
        min-width: 0 !important;
        width: 100%;
    }

    :is(#page-plan, .plan-table-runtime) .plan-viewmode-field > .receipts-toolbar-dropdown,
    :is(#page-plan, .plan-table-runtime) .plan-sort-field > .receipts-toolbar-dropdown,
    :is(#page-plan, .plan-table-runtime) .plan-time-sort-inner,
    :is(#page-plan, .plan-table-runtime) .plan-time-sort-inner > .receipts-toolbar-dropdown,
    :is(#page-plan, .plan-table-runtime) .plan-filter-field > .receipts-filter-shell-body,
    :is(#page-plan, .plan-table-runtime) .plan-date-field > .receipts-filter-shell-body,
    :is(#page-plan, .plan-table-runtime) .plan-filter-field > .receipts-filter-shell-body > .receipts-filter-menu {
        width: 100%;
    }

    :is(#page-plan, .plan-table-runtime) .plan-viewmode-field > .receipts-toolbar-dropdown > .receipts-pill-control,
    :is(#page-plan, .plan-table-runtime) .plan-filter-field > .receipts-filter-shell-body > .receipts-filter-menu > .receipts-pill-control,
    :is(#page-plan, .plan-table-runtime) .plan-sort-field > .receipts-toolbar-dropdown > .receipts-pill-control,
    :is(#page-plan, .plan-table-runtime) .plan-time-sort-inner > .receipts-toolbar-dropdown > .receipts-pill-control {
        grid-template-columns: 36px minmax(0, 1fr);
        width: 100%;
    }

    :is(#page-plan, .plan-table-runtime) .plan-viewmode-field > .receipts-toolbar-dropdown > .receipts-pill-control > .receipts-toolbar-dropdown-toggle,
    :is(#page-plan, .plan-table-runtime) .plan-sort-field > .receipts-toolbar-dropdown > .receipts-pill-control > .receipts-toolbar-dropdown-toggle,
    :is(#page-plan, .plan-table-runtime) .plan-time-sort-inner > .receipts-toolbar-dropdown > .receipts-pill-control > .receipts-toolbar-dropdown-toggle,
    :is(#page-plan, .plan-table-runtime) .plan-filter-field > .receipts-filter-shell-body > .receipts-filter-menu > .receipts-pill-control > .receipts-filter-toggle {
        width: 100%;
    }

    :is(#page-plan, .plan-table-runtime) .plan-time-sort-field.is-plan-time-sort-collapsing {
        margin-left: 0;
    }
}

/* Plan table redesign (detail + minimal views) */
:is(#page-plan, .plan-table-runtime) {
    --plan-surface: #f7fafd;
    --plan-column-border: #c8d9e6;
    --plan-column-border-strong: #b9cdde;
    --plan-header-gradient: linear-gradient(180deg, #fbfdff 0%, #eaf2f9 100%);
    --plan-card-gradient: linear-gradient(180deg, #ffffff 0%, #f5f9fc 100%);
    --plan-card-shadow: 0 1px 4px rgba(26, 58, 82, 0.14);
    --plan-card-shadow-hover: 0 3px 9px rgba(24, 55, 79, 0.2);
    --plan-text-strong: #24445d;
    --plan-text-soft: #4a667c;
    --plan-pill-border: #c8d8e6;
    --plan-pill-bg: #f2f8fc;
    --plan-selection-border: #6f9fbe;
    --plan-selection-bg: #f3f8fc;
    --plan-capability-move: #1f78b4;
    --plan-capability-duplicate: #268f8a;
    --plan-capability-delete: #c99533;
    --plan-minimal-table-max-width: 1800px;
}

:is(#page-plan, .plan-table-runtime) #result_container {
    overflow: hidden !important;
}

:is(#page-plan, .plan-table-runtime) .filter-result-container {
    display: flex;
    flex-direction: column;
}

:is(#page-plan, .plan-table-runtime) .plan-stage-shell {
    position: relative;
    min-height: 220px;
    height: 100%;
    max-height: 100%;
    overflow: hidden;
}

:is(#page-plan, .plan-table-runtime) .plan-stage-views {
    height: 100%;
    min-height: 0;
    opacity: 1;
    visibility: visible;
    transition: opacity 220ms ease;
}

:is(#page-plan, .plan-table-runtime) .plan-view-shell-frame {
    position: relative;
    width: 100%;
    height: 100%;
    min-width: 0;
    min-height: 0;
    overflow: hidden;
    border: 1px solid var(--plan-column-border);
    border-radius: 12px;
    background: linear-gradient(180deg, #f8fbfd 0%, #eef5fa 100%);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.8);
    box-sizing: border-box;
}

:is(#page-plan, .plan-table-runtime) .plan-view-shell-frame[data-plan-viewmode="minimal"] {
    max-width: var(--plan-minimal-table-max-width);
    margin-right: auto;
    margin-left: auto;
}

:is(#page-plan, .plan-table-runtime) .plan-stage-shell.is-initializing .plan-stage-views {
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
}

:is(#page-plan, .plan-table-runtime) .plan-stage-shell.is-initializing #fullView,
:is(#page-plan, .plan-table-runtime) .plan-stage-shell.is-initializing #minimalView,
:is(#page-plan, .plan-table-runtime) .plan-stage-shell.is-initializing #weeklyView {
    overflow: hidden !important;
}

:is(#page-plan, .plan-table-runtime) .plan-stage-shell.is-initializing {
    min-height: var(--plan-stage-loading-min-height, clamp(320px, 58vh, 760px));
}

:is(#page-plan, .plan-table-runtime) .plan-stage-shell.is-switch-loading {
    min-height: var(--plan-stage-switch-lock-height, 220px);
}

:is(#page-plan, .plan-table-runtime) .plan-stage-shell.is-switch-loading .plan-stage-views {
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
}

:is(#page-plan, .plan-table-runtime) .plan-stage-shell.is-switch-loading #fullView,
:is(#page-plan, .plan-table-runtime) .plan-stage-shell.is-switch-loading #minimalView,
:is(#page-plan, .plan-table-runtime) .plan-stage-shell.is-switch-loading #weeklyView {
    overflow: hidden !important;
}

:is(#page-plan, .plan-table-runtime) .plan-stage-shell.is-revealing .plan-stage-views,
:is(#page-plan, .plan-table-runtime) .plan-stage-shell.is-ready .plan-stage-views {
    opacity: 1;
    visibility: visible;
}

:is(#page-plan, .plan-table-runtime) .plan-preload-host {
    inset: 0;
    z-index: 40;
}

:is(#page-plan, .plan-table-runtime) .plan-preload-host.is-hidden,
:is(#page-plan, .plan-table-runtime) .plan-preload-shell.is-hidden {
    display: none;
}

:is(#page-plan, .plan-table-runtime) .is-plan-day-refreshing {
    position: relative;
}

:is(#page-plan, .plan-table-runtime) .is-plan-day-refreshing .plan-day-action-btn {
    opacity: 0.55;
    pointer-events: none;
}

:is(#page-plan, .plan-table-runtime) .is-plan-day-refresh-body {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 132px;
    padding: 14px;
    background: rgba(247, 251, 255, 0.82);
}

:is(#page-plan, .plan-table-runtime) tbody.is-plan-day-refresh-body {
    display: table-row-group;
    min-height: 0;
    padding: 0;
    background: transparent;
}

:is(#page-plan, .plan-table-runtime) .plan-day-refresh-row > td {
    padding: 22px 12px;
    text-align: center;
    background: rgba(247, 251, 255, 0.82);
}

:is(#page-plan, .plan-table-runtime) .plan-day-refresh-placeholder {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-height: 44px;
    color: #36556d;
    font-size: 12px;
    font-weight: 700;
}

:is(#page-plan, .plan-table-runtime) .plan-day-refresh-icon-wrap {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 18px;
    height: 18px;
    line-height: 1;
}

:is(#page-plan, .plan-table-runtime) .plan-day-refresh-icon {
    display: inline-block;
    animation: plan-day-refresh-spin 780ms linear infinite;
    color: #2f789f;
    font-size: 14px;
}

:is(#page-plan, .plan-table-runtime) .is-plan-day-refresh-metric {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 28px;
    min-height: 18px;
}

@keyframes plan-day-refresh-spin {
    to {
        transform: rotate(360deg);
    }
}

.dash-plan-day-box {
    width: min(720px, calc(100% - 20px));
    max-width: 720px;
    margin: 20px auto;
    padding: 16px;
    border: 1px solid #d8e1e8;
    border-radius: 8px;
    background: #ffffff;
}

.dash-plan-day-title-left {
    float: left;
}

.dash-plan-day-date {
    float: right;
}

.dash-plan-day-staff {
    font-size: 80%;
}

.dash-plan-day-runtime {
    margin-top: 10px;
}

.dash-plan-day-runtime .dash-plan-day-row {
    align-items: flex-start;
    justify-content: center;
}

.dash-plan-day-runtime #fullView {
    overflow-x: visible;
}

.dash-plan-day-runtime .row-datesgroup > .connectedDate_day {
    min-height: 260px;
    max-height: none !important;
}

:is(#page-plan, .plan-table-runtime) .row-datesgroup {
    margin-left: 0;
    margin-right: 0;
    display: flex;
    flex-wrap: nowrap;
    gap: 6px;
    height: 100%;
    min-height: 0;
}

:is(#page-plan, .plan-table-runtime) #fullView {
    --plan-layout-visible-days: 5;
    width: 100%;
    height: 100%;
    min-height: 0;
    max-height: 100%;
    overflow-x: auto;
    overflow-y: hidden;
    overscroll-behavior-x: contain;
    /* Exact day alignment is owned by the plan navigation runtime. */
    scroll-snap-type: none;
    -webkit-overflow-scrolling: touch;
    scrollbar-gutter: stable both-edges;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-sizing: border-box;
}

:is(#page-plan, .plan-table-runtime) .row-datesgroup > .connectedDate_day {
    float: none;
    display: flex;
    flex-direction: column;
    flex: 0 0 calc((100% - (var(--plan-layout-visible-days, 5) - 1) * 6px) / var(--plan-layout-visible-days, 5));
    width: auto;
    min-width: 0;
    min-height: 0;
    padding: 0 !important;
    border: 1px solid var(--plan-column-border);
    border-radius: 12px;
    background: var(--plan-surface);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.8);
    overflow-x: hidden;
    overflow-y: hidden;
    scroll-snap-align: none;
}

:is(#page-plan, .plan-table-runtime) .row-datesgroup > .connectedDate_day.is-today {
    border-color: color-mix(in srgb, var(--progress-actual-base, #52B2CF) 58%, #7aa9bf);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.8), 0 0 0 1px color-mix(in srgb, var(--progress-actual-base, #52B2CF) 26%, transparent);
}

:is(#page-plan, .plan-table-runtime) .row-datesgroup .sticky-header.plan-day-header {
    position: sticky;
    flex: 0 0 auto;
    top: 0;
    z-index: 9;
    margin: 0;
    padding: 8px;
    border-bottom: 1px solid var(--plan-column-border);
    background: var(--plan-header-gradient);
}

:is(#page-plan, .plan-table-runtime) .row-datesgroup .sticky-header.plan-day-header .row {
    margin: 0;
    padding: 0;
}

:is(#page-plan, .plan-table-runtime) .plan-day-header-top {
    --plan-day-action-compact-space: 50px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 8px;
    position: relative;
    min-height: 28px;
    overflow: visible;
}

:is(#page-plan, .plan-table-runtime) .plan-day-heading {
    min-width: 0;
    flex: 1 1 auto;
}

:is(#page-plan, .plan-table-runtime) .plan-day-header-top:has(> .plan-day-action-bar--plan) > .plan-day-heading,
:is(#page-plan, .plan-table-runtime) .plan-day-header-top:has(> .plan-day-action-bar--top) > .plan-day-heading {
    box-sizing: border-box;
    padding-right: var(--plan-day-action-compact-space);
    white-space: nowrap;
}

:is(#page-plan, .plan-table-runtime) .plan-day-title {
    float: none;
    margin: 0;
    padding: 0 4px 2px 0;
    border-radius: 8px;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: var(--plan-text-strong);
    font-size: 24px;
    line-height: 1.08;
}

:is(#page-plan, .plan-table-runtime) .plan-day-title-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 0.9em;
}

:is(#page-plan, .plan-table-runtime) .plan-day-details-link {
    padding: 0;
    margin-top: 2px;
    color: #2f6788;
    font-size: 11px;
    font-weight: 700;
    text-decoration: none;
}

:is(#page-plan, .plan-table-runtime) .plan-day-details-link:hover,
:is(#page-plan, .plan-table-runtime) .plan-day-details-link:focus {
    color: #1c4f6d;
    text-decoration: underline;
}

:is(#page-plan, .plan-table-runtime) .plan-day-action-bar {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 4px;
}

:is(#page-plan, .plan-table-runtime) .plan-day-header-top > .plan-day-action-bar--plan,
:is(#page-plan, .plan-table-runtime) .plan-day-header-top > .plan-day-action-bar--top {
    position: absolute;
    top: 0;
    right: 0;
    z-index: 2;
    width: auto;
    max-width: none;
    overflow: visible;
}

:is(#page-plan, .plan-table-runtime) .plan-day-header-progress-row {
    display: flex;
    align-items: center;
    gap: 4px;
    margin-top: 8px;
}

:is(#page-plan, .plan-table-runtime) .plan-day-header-progress-row > .plan-day-progress-cell--full {
    flex: 1 1 auto;
    width: auto;
    min-width: 0;
    margin-top: 0;
}

:is(#page-plan, .plan-table-runtime) .plan-day-header-progress-row > .plan-day-action-bar {
    flex: 0 0 auto;
}

:is(#page-plan, .plan-table-runtime) .plan-day-action-form {
    margin: 0;
}

:is(#page-plan, .plan-table-runtime) .plan-day-action-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 4px;
    width: auto;
    min-width: 42px;
    height: 28px;
    padding: 0 8px;
    font-size: 12px;
    font-weight: 600;
    line-height: 1;
    overflow: hidden;
    white-space: nowrap;
    transition:
        min-width 220ms cubic-bezier(0.22, 0.78, 0.2, 1),
        transform 0.16s ease,
        box-shadow 0.16s ease,
        border-color 0.16s ease,
        filter 0.16s ease,
        background 0.16s ease,
        color 0.16s ease;
    transform: translateY(0);
}

:is(#page-plan, .plan-table-runtime) .plan-day-action-btn:hover,
:is(#page-plan, .plan-table-runtime) .plan-day-action-btn:focus-visible {
    justify-content: flex-start;
    transform: translateY(-1px);
    box-shadow: var(--ui-press-hover-shadow, 0 3px 0 rgba(94, 126, 148, 0.52), 0 6px 10px rgba(34, 62, 82, 0.17), inset 0 1px 0 rgba(255, 255, 255, 0.82));
    filter: saturate(1.05);
}

:is(#page-plan, .plan-table-runtime) .plan-day-action-btn:active {
    transform: translateY(1px);
    box-shadow: var(--ui-press-active-shadow, 0 1px 0 rgba(94, 126, 148, 0.5), 0 2px 4px rgba(34, 62, 82, 0.18), inset 0 1px 0 rgba(255, 255, 255, 0.7));
    filter: none;
}

:is(#page-plan, .plan-table-runtime) .plan-day-action-btn[disabled],
:is(#page-plan, .plan-table-runtime) .plan-day-action-btn.disabled {
    transform: none;
    filter: none;
    box-shadow: none;
}

:is(#page-plan, .plan-table-runtime) .plan-day-action-btn .glyphicon {
    flex: 0 0 auto;
}

:is(#page-plan, .plan-table-runtime) .plan-day-action-btn-text {
    display: inline-block;
    max-width: 0;
    margin-left: 0;
    opacity: 0;
    overflow: hidden;
    text-overflow: clip;
    white-space: nowrap;
    font-size: 12px;
    font-weight: 700;
    line-height: 1;
    transition:
        max-width 220ms cubic-bezier(0.22, 0.78, 0.2, 1),
        margin-left 220ms cubic-bezier(0.22, 0.78, 0.2, 1),
        opacity 160ms ease;
}

:is(#page-plan, .plan-table-runtime) .plan-day-action-btn:hover .plan-day-action-btn-text,
:is(#page-plan, .plan-table-runtime) .plan-day-action-btn:focus-visible .plan-day-action-btn-text {
    max-width: 160px;
    margin-left: 4px;
    opacity: 1;
}

:is(#page-plan, .plan-table-runtime) .plan-day-metrics {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 6px;
    margin-top: 8px;
}

:is(#page-plan, .plan-table-runtime) .plan-day-metric {
    min-width: 0;
    padding: 5px 7px;
    border: 1px solid #cfdee9;
    border-radius: 8px;
    background: linear-gradient(180deg, #ffffff 0%, #f3f8fc 100%);
}

:is(#page-plan, .plan-table-runtime) .plan-day-metric-label {
    display: flex;
    align-items: center;
    gap: 4px;
    margin: 0;
    color: #506d83;
    font-size: 10px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.02em;
    line-height: 1.2;
}

:is(#page-plan, .plan-table-runtime) .plan-day-metric-value {
    display: block;
    margin-top: 2px;
    text-align: right;
    color: var(--plan-text-strong);
    font-size: 15px;
    font-weight: 700;
    line-height: 1.15;
}

:is(#page-plan, .plan-table-runtime) .connectedDate_total_hours.plan-day-metric-value {
    color: #1d5d7f;
}

:is(#page-plan, .plan-table-runtime) .plan-day-progress-cell {
    position: relative;
    min-width: 0;
    width: 100%;
    box-sizing: border-box;
}

:is(#page-plan, .plan-table-runtime) .plan-day-progress-cell--full {
    margin-top: 8px;
}

:is(#page-plan, .plan-table-runtime) .plan-day-progress-cell--minimal {
    align-self: center;
    justify-self: start;
    width: 270px;
    max-width: 270px;
}

:is(#page-plan, .plan-table-runtime) .plan-day-progress-cell--weekly {
    flex: 1 1 122px;
    min-width: 112px;
    max-width: 164px;
}

:is(#page-plan, .plan-table-runtime) .plan-day-progress-empty {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 26px;
    border: 1px dashed #cfdee9;
    border-radius: 12px;
    background: rgba(248, 251, 253, 0.8);
    color: #7a8d9c;
    font-size: 12px;
    font-style: italic;
    line-height: 1;
}

:is(#page-plan, .plan-table-runtime) .plan-day-progress-refresh-target {
    display: none;
    position: absolute;
    inset: 0;
    z-index: 8;
    align-items: center;
    justify-content: center;
    border-radius: 12px;
    background: rgba(247, 251, 255, 0.68);
    pointer-events: none;
}

:is(#page-plan, .plan-table-runtime) .is-plan-day-refreshing .plan-day-progress-cell .plan-day-progress-refresh-target {
    display: flex;
}

:is(#page-plan, .plan-table-runtime) .is-plan-day-refreshing .plan-day-progress-cell .progress-bar-container,
:is(#page-plan, .plan-table-runtime) .is-plan-day-refreshing .plan-day-progress-cell .plan-day-progress-empty {
    opacity: 0.42;
}

:is(#page-plan, .plan-table-runtime) .plan-day-progress-cell .progress-bar-container.compact-planning-progress,
:is(#page-plan, .plan-table-runtime) .plan-day-progress-cell .progress-bar-container.compact-planning-progress .progress-bar-planned,
:is(#page-plan, .plan-table-runtime) .plan-day-progress-cell .progress-bar-container.compact-planning-progress .progress-bar-actual,
:is(#page-plan, .plan-table-runtime) .plan-day-progress-cell .progress-bar-container.compact-planning-progress .progress-bar-target-line,
:is(#page-plan, .plan-table-runtime) .plan-day-progress-cell .progress-bar-container.compact-planning-progress .progress-bar-target-label-compact {
    cursor: pointer;
}

:is(#page-plan, .plan-table-runtime) .plan-day-progress-cell .progress-bar-container {
    width: 100%;
    height: 20px;
    background: var(--progress-track-base);
    border-radius: 9px;
    position: relative;
    overflow: visible;
    box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.1);
}

:is(#page-plan, .plan-table-runtime) .plan-day-progress-cell .progress-bar-container.compact-planning-progress {
    width: calc(100% - 38px);
    height: 26px;
    margin-left: auto;
    margin-right: auto;
    border-radius: 12px;
    transform: translateX(var(--compact-visual-offset, 0px));
}

:is(#page-plan, .plan-table-runtime) .plan-day-progress-cell--full .progress-bar-container.compact-planning-progress {
    width: calc(100% - 24px);
    margin-left: 0;
    margin-right: auto;
}

:is(#page-plan, .plan-table-runtime) .plan-day-progress-cell--minimal .progress-bar-container.compact-planning-progress {
    width: 100%;
    height: 30px;
    border-radius: 14px;
}

:is(#page-plan, .plan-table-runtime) .plan-day-progress-cell--minimal .progress-bar-container.compact-planning-progress .progress-bar-fill-clip > .progress-bar-planned,
:is(#page-plan, .plan-table-runtime) .plan-day-progress-cell--minimal .progress-bar-container.compact-planning-progress .progress-bar-fill-clip > .progress-bar-actual {
    border-top-right-radius: 14px;
    border-bottom-right-radius: 14px;
}

:is(#page-plan, .plan-table-runtime) .plan-day-progress-cell--minimal .progress-bar-container.compact-planning-progress .progress-bar-target-line::after {
    box-shadow: 0 37px 0 0 var(--progress-target-base);
}

:is(#page-plan, .plan-table-runtime) .plan-day-progress-cell--weekly .progress-bar-container.compact-planning-progress {
    width: calc(100% - 30px);
    height: 10px;
    border-radius: 999px;
}

:is(#page-plan, .plan-table-runtime) .plan-day-progress-cell--weekly .progress-bar-container.compact-planning-progress .progress-bar-fill-clip > .progress-bar-planned,
:is(#page-plan, .plan-table-runtime) .plan-day-progress-cell--weekly .progress-bar-container.compact-planning-progress .progress-bar-fill-clip > .progress-bar-actual {
    border-top-right-radius: 999px;
    border-bottom-right-radius: 999px;
}

:is(#page-plan, .plan-table-runtime) .plan-day-progress-cell--weekly .progress-bar-container.compact-planning-progress .progress-bar-target-line {
    top: -2px;
    bottom: -2px;
    width: 1.5px;
    transform: translateX(-50%);
    background: repeating-linear-gradient(
        to bottom,
        var(--progress-target-base) 0,
        var(--progress-target-base) 1px,
        transparent 2px,
        transparent 3px
    );
}

:is(#page-plan, .plan-table-runtime) .plan-day-progress-cell--weekly .progress-bar-container.compact-planning-progress .progress-bar-target-line::after {
    width: 4px;
    height: 4px;
    box-shadow: 0 14px 0 0 var(--progress-target-base);
}

:is(#page-plan, .plan-table-runtime) .plan-day-progress-cell .progress-bar-fill-clip {
    position: absolute;
    inset: 0;
    border-radius: inherit;
    overflow: hidden;
    z-index: 1;
    isolation: isolate;
}

:is(#page-plan, .plan-table-runtime) .plan-day-progress-cell .progress-bar-planned,
:is(#page-plan, .plan-table-runtime) .plan-day-progress-cell .progress-bar-actual {
    position: absolute;
    left: 0;
    top: 0;
    height: 100%;
    border-radius: 9px;
    transition:
        width 0.24s cubic-bezier(0.22, 0.78, 0.2, 1),
        filter 0.18s ease,
        box-shadow 0.18s ease;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);
    container-type: inline-size;
    will-change: width;
}

:is(#page-plan, .plan-table-runtime) .plan-day-progress-cell .progress-bar-planned {
    background: var(--progress-planned-gradient);
}

:is(#page-plan, .plan-table-runtime) .plan-day-progress-cell .progress-bar-actual {
    background: var(--progress-actual-gradient);
}

:is(#page-plan, .plan-table-runtime) .plan-day-progress-cell .progress-bar-container.compact-planning-progress .progress-bar-fill-clip > .progress-bar-planned,
:is(#page-plan, .plan-table-runtime) .plan-day-progress-cell .progress-bar-container.compact-planning-progress .progress-bar-fill-clip > .progress-bar-actual {
    border-top-left-radius: 0;
    border-bottom-left-radius: 0;
    border-top-right-radius: 12px;
    border-bottom-right-radius: 12px;
    box-shadow: none;
}

:is(#page-plan, .plan-table-runtime) .plan-day-progress-cell .progress-bar-target-line {
    position: absolute;
    top: -4px;
    bottom: -4px;
    width: 2px;
    background: var(--progress-target-dash);
    transition: left 0.24s cubic-bezier(0.22, 0.78, 0.2, 1);
    z-index: 2;
    cursor: pointer;
}

:is(#page-plan, .plan-table-runtime) .plan-day-progress-cell .progress-bar-target-line::before {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    left: -8px;
    right: -8px;
    background: transparent;
    cursor: pointer;
}

:is(#page-plan, .plan-table-runtime) .plan-day-progress-cell .progress-bar-target-line::after {
    content: "";
    position: absolute;
    top: 0;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 6px;
    height: 6px;
    background: var(--progress-target-base);
    border-radius: 50%;
    box-shadow: 0 33px 0 0 var(--progress-target-base);
    pointer-events: none;
}

:is(#page-plan, .plan-table-runtime) .plan-day-progress-cell .progress-bar-target-label {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    background: var(--progress-target-label-bg);
    color: var(--progress-target-label-text);
    padding: 5px 10px;
    border-radius: 5px;
    font-size: 12px;
    font-weight: 700;
    white-space: nowrap;
    z-index: 3;
    pointer-events: auto;
    cursor: pointer;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
}

:is(#page-plan, .plan-table-runtime) .plan-day-progress-cell .progress-bar-target-label-compact {
    left: var(--target-position, 50%);
    transform: translate(-50%, -50%);
    padding: 4px 8px;
    font-size: 11px;
    font-weight: 700;
    line-height: 1.15;
    border-radius: 5px;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.18);
    pointer-events: none;
}

:is(#page-plan, .plan-table-runtime) .plan-day-progress-cell .progress-bar-free-label,
.planning-hover-card .progress-bar-free-label {
    position: absolute;
    top: 50%;
    left: 50%;
    width: auto;
    max-width: calc(100% - 18px);
    display: flex;
    align-items: center;
    justify-content: flex-start;
    transform: translate(6px, -50%);
    z-index: 4;
    pointer-events: none;
    transition:
        left 0.24s cubic-bezier(0.22, 0.78, 0.2, 1),
        filter 0.18s ease,
        opacity 0.18s ease,
        transform 0.24s cubic-bezier(0.22, 0.78, 0.2, 1);
}

:is(#page-plan, .plan-table-runtime) .plan-day-progress-cell .progress-bar-free-label.is-edge,
:is(#page-plan, .plan-table-runtime) .plan-day-progress-cell .progress-bar-free-label.is-negative,
.planning-hover-card .progress-bar-free-label.is-edge,
.planning-hover-card .progress-bar-free-label.is-negative {
    width: auto;
    transform: translate(calc(-100% - 6px), -50%);
}

:is(#page-plan, .plan-table-runtime) .plan-day-progress-cell .progress-bar-free-label.is-edge:not(.is-negative) {
    opacity: 0 !important;
    pointer-events: none !important;
}

:is(#page-plan, .plan-table-runtime) .plan-day-progress-cell .progress-bar-free-label > span,
.planning-hover-card .progress-bar-free-label > span {
    display: block;
    max-width: 100%;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    color: #4f6a7d;
    font-size: 11px;
    font-weight: 700;
    line-height: 1.1;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    text-shadow: 0 1px 0 rgba(255, 255, 255, 0.85);
    box-shadow: none;
    transition: color 0.18s ease;
}

:is(#page-plan, .plan-table-runtime) .plan-day-progress-cell .progress-bar-free-label.is-negative > span,
.planning-hover-card .progress-bar-free-label.is-negative > span {
    color: #9a343b;
}

.planning-hover-card .progress-bar-free-label {
    cursor: pointer;
    pointer-events: auto;
}

.planning-hover-card .progress-bar-container.large .progress-bar-free-label > span {
    font-size: 12px;
}

.planning-hover-card .progress-bar-container {
    width: 100%;
    height: 20px;
    background: var(--progress-track-base);
    border-radius: 9px;
    position: relative;
    overflow: visible;
    box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.1);
}

.planning-hover-card .progress-bar-fill-clip {
    position: absolute;
    inset: 0;
    border-radius: inherit;
    overflow: hidden;
    z-index: 1;
    isolation: isolate;
}

.planning-hover-card .progress-bar-planned,
.planning-hover-card .progress-bar-actual {
    position: absolute;
    left: 0;
    top: 0;
    height: 100%;
    border-radius: 9px;
    transition:
        width 0.24s cubic-bezier(0.22, 0.78, 0.2, 1),
        filter 0.18s ease,
        box-shadow 0.18s ease;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);
    container-type: inline-size;
    will-change: width;
}

.planning-hover-card .progress-bar-planned {
    background: var(--progress-planned-gradient);
}

.planning-hover-card .progress-bar-actual {
    background: var(--progress-actual-gradient);
}

.planning-hover-card .progress-bar-target-line {
    position: absolute;
    top: -4px;
    bottom: -4px;
    width: 2px;
    background: var(--progress-target-dash);
    transition: left 0.24s cubic-bezier(0.22, 0.78, 0.2, 1);
    z-index: 2;
    cursor: pointer;
}

.planning-hover-card .progress-bar-target-line::before {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    left: -8px;
    right: -8px;
    background: transparent;
    cursor: pointer;
}

.planning-hover-card .progress-bar-target-line::after {
    content: "";
    position: absolute;
    top: 0;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 6px;
    height: 6px;
    background: var(--progress-target-base);
    border-radius: 50%;
    box-shadow: 0 28px 0 0 var(--progress-target-base);
    pointer-events: none;
}

.planning-hover-card .progress-bar-target-label {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    background: var(--progress-target-label-bg);
    color: var(--progress-target-label-text);
    padding: 5px 10px;
    border-radius: 5px;
    font-size: 12px;
    font-weight: 700;
    white-space: nowrap;
    z-index: 3;
    pointer-events: auto;
    cursor: pointer;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
}

.planning-hover-card {
    display: none;
    position: fixed;
    left: 0;
    top: 0;
    --card-arrow-bg: linear-gradient(135deg, #1a9fd8 0%, #158cba 50%, #127a9f 100%);
    background: white;
    border: 2px solid #158cba;
    border-radius: 12px;
    box-shadow: 0 12px 32px rgba(21, 140, 186, 0.2), 0 4px 12px rgba(0, 0, 0, 0.15);
    padding: 0;
    width: min(560px, calc(100vw - 24px));
    min-width: 320px;
    max-width: 560px;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: translateY(-8px);
    z-index: 200000;
    font-size: 13px;
}

.planning-hover-card.transitioning {
    display: block;
    transition: opacity 0.2s ease, visibility 0.2s ease, transform 0.2s ease;
}

.planning-hover-card.show {
    display: block;
    opacity: 1;
    visibility: visible;
    pointer-events: all;
    transform: translateY(0);
    transition: opacity 0.2s ease, visibility 0.2s ease, transform 0.2s ease;
}

.planning-hover-card.position-above {
    transform: translateY(8px);
}

.planning-hover-card.position-above.show {
    transform: translateY(0);
}

.planning-hover-card::before,
.planning-hover-card::after {
    content: none;
}

.plan-day-planning-hover-card:not(.position-above)::before,
.plan-day-planning-hover-card:not(.position-above)::after {
    content: "";
    position: absolute;
    left: var(--arrow-left, 50px);
    pointer-events: none;
}

.plan-day-planning-hover-card:not(.position-above)::before {
    top: -10px;
    width: 18px;
    height: 10px;
    transform: translateX(-50%);
    background: #158cba;
    clip-path: polygon(50% 0, 0 100%, 100% 100%);
    z-index: 2;
}

.plan-day-planning-hover-card:not(.position-above)::after {
    top: -8px;
    width: 14px;
    height: 8px;
    transform: translateX(-50%);
    background: white;
    clip-path: polygon(50% 0, 0 100%, 100% 100%);
    z-index: 3;
}

.planning-card-header {
    position: relative;
    overflow: visible;
    background: linear-gradient(135deg, #1a9fd8 0%, #158cba 50%, #127a9f 100%);
    color: white;
    padding: 16px;
    border-radius: 10px 10px 0 0;
    box-shadow: 0 2px 8px rgba(21, 140, 186, 0.3);
    text-align: center;
    font-size: 15px;
    font-weight: 600;
}

.planning-hover-card:not(.position-above) .planning-card-header::before,
.planning-hover-card:not(.position-above) .planning-card-header::after,
.planning-hover-card.position-above::before,
.planning-hover-card.position-above::after {
    content: "";
    position: absolute;
    left: var(--arrow-left, 50px);
    width: 0;
    height: 0;
    pointer-events: none;
}

.planning-hover-card:not(.position-above) .planning-card-header::before {
    top: -10px;
    width: 18px;
    height: 10px;
    transform: translateX(-50%);
    background: #158cba;
    clip-path: polygon(50% 0, 0 100%, 100% 100%);
    z-index: 2;
}

.planning-hover-card:not(.position-above) .planning-card-header::after {
    top: -8px;
    width: 14px;
    height: 8px;
    transform: translateX(-50%);
    background: #158cba;
    clip-path: polygon(50% 0, 0 100%, 100% 100%);
    z-index: 3;
}

.planning-hover-card.position-above::before {
    bottom: -10px;
    width: 18px;
    height: 10px;
    transform: translateX(-50%) rotate(180deg);
    background: #158cba;
    clip-path: polygon(50% 0, 0 100%, 100% 100%);
    z-index: 2;
}

.planning-hover-card.position-above::after {
    bottom: -8px;
    width: 14px;
    height: 8px;
    transform: translateX(-50%) rotate(180deg);
    background: #158cba;
    clip-path: polygon(50% 0, 0 100%, 100% 100%);
    z-index: 3;
}

.plan-day-planning-hover-card.position-above::after {
    background: white;
}

.planning-card-body {
    padding: 20px;
    overflow-x: hidden;
}

.plan-day-planning-hover-card .planning-card-body {
    border-radius: 10px;
}

.planning-card-progress {
    margin-bottom: 20px;
}

.planning-hover-card .planning-card-progress > .progress-bar-container.large {
    width: calc(100% - (var(--target-label-space, 72px) * 2));
    margin-left: var(--target-label-space, 72px);
    margin-right: var(--target-label-space, 72px);
    margin-bottom: 26px;
}

.progress-bar-container.large {
    height: 35px;
    border-radius: 18px;
    margin-bottom: 16px;
}

.progress-bar-container.large .progress-bar-fill-clip {
    border-radius: 18px;
}

.progress-bar-container.large .progress-bar-planned,
.progress-bar-container.large .progress-bar-actual {
    position: absolute;
    border-radius: 18px;
}

.progress-bar-container.large .progress-bar-fill-clip > .progress-bar-planned,
.progress-bar-container.large .progress-bar-fill-clip > .progress-bar-actual {
    border-top-left-radius: 0;
    border-bottom-left-radius: 0;
    border-top-right-radius: 18px;
    border-bottom-right-radius: 18px;
}

.progress-bar-container.large .progress-bar-target-line {
    top: -8px;
    bottom: -8px;
    width: 3px;
}

.progress-bar-container.large .progress-bar-target-line::after {
    width: 11px;
    height: 11px;
    box-shadow: 0 51px 0 0 var(--progress-target-base);
}

.progress-bar-container.large .progress-bar-target-line::before {
    width: 13px;
    height: 13px;
}

.hidden-bar-indicator {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    border: 3px dashed;
    border-radius: inherit;
    pointer-events: none;
    z-index: 9;
    background: transparent;
    box-sizing: border-box;
    animation: indicator-pulse 1.5s ease-in-out infinite;
}

@keyframes indicator-pulse {
    0%, 100% { opacity: 0.9; }
    50% { opacity: 1; }
}

.hidden-bar-indicator.planned-type {
    border-color: var(--progress-planned-indicator-border);
    box-shadow: 0 0 8px var(--progress-planned-glow), inset 0 0 6px color-mix(in srgb, var(--progress-planned-base) 25%, transparent);
    filter: drop-shadow(0 0 3px color-mix(in srgb, var(--progress-planned-base) 40%, transparent));
}

.hidden-bar-indicator.actual-type {
    border-color: var(--progress-actual-indicator-border);
    box-shadow: 0 0 8px var(--progress-actual-glow), inset 0 0 6px color-mix(in srgb, var(--progress-actual-base) 25%, transparent);
    filter: drop-shadow(0 0 3px color-mix(in srgb, var(--progress-actual-base) 45%, transparent));
}

.progress-bar-label {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    font-size: 12px;
    font-weight: 700;
    white-space: nowrap;
    pointer-events: none;
    transition: opacity 0.2s ease;
}

.progress-bar-label.actual-label {
    left: 10px;
    color: white;
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.3);
}

.progress-bar-label.planned-label {
    right: 10px;
    color: var(--progress-planned-label-text);
    text-shadow: 0 1px 1px rgba(255, 255, 255, 0.5);
}

.progress-bar-container:not(.large) .progress-bar-label {
    display: none;
}

:is(#page-plan, .plan-table-runtime) .plan-day-progress-cell--full .progress-bar-container.compact-planning-progress .progress-bar-label-compact,
:is(#page-plan, .plan-table-runtime) .plan-day-progress-cell--minimal .progress-bar-container.compact-planning-progress .progress-bar-label-compact {
    display: block;
    max-width: none;
    overflow: visible;
    text-overflow: clip;
    font-size: 11px;
    line-height: 1.15;
}

:is(#page-plan, .plan-table-runtime) .plan-day-progress-cell .progress-bar-container.compact-planning-progress .progress-bar-free-label > span {
    max-width: none;
    font-size: 11px;
    line-height: 1.15;
    overflow: visible;
    text-overflow: clip;
}

:is(#page-plan, .plan-table-runtime) .plan-day-progress-cell--minimal .progress-bar-container.compact-planning-progress .progress-bar-label-compact,
:is(#page-plan, .plan-table-runtime) .plan-day-progress-cell--minimal .progress-bar-container.compact-planning-progress .progress-bar-free-label > span,
:is(#page-plan, .plan-table-runtime) .plan-day-progress-cell--minimal .progress-bar-container.compact-planning-progress .progress-bar-target-label-compact {
    font-size: 12px;
    line-height: 1.15;
}

:is(#page-plan, .plan-table-runtime) .plan-day-progress-cell .progress-bar-container.compact-planning-progress .progress-bar-label-compact.actual-label {
    left: 6px;
}

:is(#page-plan, .plan-table-runtime) .plan-day-progress-cell .progress-bar-container.compact-planning-progress .progress-bar-label-compact.planned-label {
    right: 6px;
}

:is(#page-plan, .plan-table-runtime) .plan-day-progress-cell--weekly .progress-bar-label-compact,
:is(#page-plan, .plan-table-runtime) .plan-day-progress-cell--weekly .progress-bar-target-label-compact,
:is(#page-plan, .plan-table-runtime) .plan-day-progress-cell--weekly .progress-bar-free-label {
    display: none;
}

.progress-bar-label.hidden,
.progress-bar-label.suppressed-by-indicator,
.progress-bar-free-label.hidden {
    opacity: 0 !important;
}

:is(#page-plan, .plan-table-runtime) .plan-day-progress-cell > .progress-bar-container.compact-planning-progress .progress-bar-label-compact {
    transition: none;
}

.progress-bar-free-label.hidden {
    pointer-events: none !important;
}

.planning-legend {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.legend-item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 10px 12px;
    border-radius: 8px;
    transition: all 0.2s ease;
    cursor: pointer;
}

.legend-item:hover,
.legend-item.hovered {
    background: var(--progress-track-base, #ECEBE7);
    transform: translateX(4px);
}

.legend-item-left {
    display: flex;
    align-items: center;
    gap: 12px;
}

.legend-color-box {
    width: 24px;
    height: 24px;
    border-radius: 6px;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.2);
    transition: all 0.2s ease;
}

.legend-item:hover .legend-color-box,
.legend-item.hovered .legend-color-box {
    transform: scale(1.2);
}

.legend-color-box.target {
    background: transparent;
    position: relative;
    box-shadow: none;
    display: flex;
    align-items: center;
    justify-content: center;
}

.legend-color-box.target::before {
    content: "";
    position: absolute;
    left: 50%;
    top: 0;
    bottom: 0;
    width: 3px;
    background: var(--progress-target-dash);
    transform: translateX(-50%);
}

.legend-color-box.target::after {
    content: "";
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 6px;
    height: 6px;
    background: var(--progress-target-base);
    border-radius: 50%;
    box-shadow: 0 18px 0 0 var(--progress-target-base);
}

.legend-color-box.planned {
    background: var(--progress-planned-gradient);
}

.legend-color-box.actual {
    background: var(--progress-actual-gradient);
}

.legend-color-box.free {
    background: linear-gradient(180deg, #f8fbff 0%, #e2ebf3 100%);
}

.legend-item:hover .legend-color-box.planned,
.legend-item.hovered .legend-color-box.planned {
    background: var(--progress-planned-hover-gradient);
    box-shadow: 0 2px 8px var(--progress-planned-glow);
}

.legend-item:hover .legend-color-box.actual,
.legend-item.hovered .legend-color-box.actual {
    background: var(--progress-actual-hover-gradient);
    box-shadow: 0 2px 8px var(--progress-actual-glow);
}

.legend-item:hover .legend-color-box.target::before,
.legend-item.hovered .legend-color-box.target::before {
    background: var(--progress-target-dash-hover);
}

.legend-item:hover .legend-color-box.target::after,
.legend-item.hovered .legend-color-box.target::after {
    background: var(--progress-target-hover-base);
    box-shadow: 0 18px 0 0 var(--progress-target-hover-base);
}

.legend-label {
    font-weight: 600;
    color: #333;
    font-size: 13px;
}

.legend-value {
    font-weight: 700;
    color: #158cba;
    font-size: 14px;
}

.planning-hover-card .planning-legend {
    width: 100%;
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 6px 8px;
}

.planning-hover-card .planning-legend .legend-item {
    border: 1px solid transparent;
    border-radius: var(--ui-radius-chip, 8px);
    padding: 6px 11px;
    min-height: 36px;
    background: linear-gradient(180deg, #fdfefe 0%, #f4f8fb 100%);
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    box-shadow: 0 1px 2px rgba(26, 49, 66, 0.08);
    transition: opacity 0.16s ease, transform 0.16s ease, box-shadow 0.16s ease, filter 0.16s ease;
    cursor: pointer;
}

.planning-hover-card .planning-legend .legend-item:hover,
.planning-hover-card .planning-legend .legend-item.hovered {
    transform: translateY(-1px);
    background: linear-gradient(180deg, #fdfefe 0%, #f4f8fb 100%);
    box-shadow: 0 0 0 2px rgba(58, 90, 115, 0.22), 0 3px 6px rgba(26, 49, 66, 0.16);
    filter: saturate(1.06);
}

.planning-hover-card .planning-legend .legend-item-left {
    flex: 1 1 auto;
    min-width: 0;
    display: flex;
    align-items: center;
    gap: 0;
}

.planning-hover-card .planning-legend .legend-color-box {
    display: none;
}

.planning-hover-card .planning-legend .legend-label,
.planning-hover-card .planning-legend .legend-value {
    font-size: 12px;
    font-weight: 700;
    color: #2f4c62;
    white-space: nowrap;
}

.planning-hover-card .planning-legend .legend-label {
    overflow: hidden;
    text-overflow: ellipsis;
}

.planning-hover-card .planning-legend .legend-item[data-type="target"] {
    border: 1px dashed color-mix(in srgb, var(--progress-target-base) 82%, black);
    background: color-mix(in srgb, var(--progress-target-base) 8%, white);
}

.planning-hover-card .planning-legend .legend-item[data-type="target"] .legend-label,
.planning-hover-card .planning-legend .legend-item[data-type="target"] .legend-value {
    color: var(--progress-target-base);
    text-shadow: none;
}

.planning-hover-card .planning-legend .legend-item[data-type="planned"] {
    border-color: var(--progress-planned-indicator-border);
    background: var(--progress-planned-gradient);
}

.planning-hover-card .planning-legend .legend-item[data-type="planned"] .legend-label,
.planning-hover-card .planning-legend .legend-item[data-type="planned"] .legend-value {
    color: var(--progress-planned-label-text);
    text-shadow: 0 1px 1px rgba(255, 255, 255, 0.45);
}

.planning-hover-card .planning-legend .legend-item[data-type="actual"] {
    border-color: var(--progress-actual-indicator-border);
    background: var(--progress-actual-gradient);
}

.planning-hover-card .planning-legend .legend-item[data-type="actual"] .legend-label,
.planning-hover-card .planning-legend .legend-item[data-type="actual"] .legend-value {
    color: var(--state-active-text);
    text-shadow: 0 1px 0 rgba(255, 255, 255, 0.35);
}

.planning-hover-card .planning-legend .legend-item[data-type="free"] {
    border-color: #b5c8d8;
    background: linear-gradient(180deg, #f8fbff 0%, #e2ebf3 100%);
}

.planning-hover-card .planning-legend .legend-item[data-type="free"]:hover,
.planning-hover-card .planning-legend .legend-item[data-type="free"].hovered {
    border-color: #9db6c9;
    background: linear-gradient(180deg, #ecf5fc 0%, #d5e5f2 100%);
    box-shadow: 0 0 0 2px rgba(82, 120, 144, 0.24), 0 3px 6px rgba(41, 78, 104, 0.18);
    filter: saturate(1.08);
}

.planning-hover-card .planning-legend .legend-item[data-type="free"] .legend-label,
.planning-hover-card .planning-legend .legend-item[data-type="free"] .legend-value {
    color: #4f6a7d;
    text-shadow: 0 1px 0 rgba(255, 255, 255, 0.35);
}

.planning-hover-card .planning-legend .legend-item[data-type="free"].is-negative {
    border-color: #d38a91;
    background: linear-gradient(180deg, #fff7f7 0%, #f5e3e3 100%);
}

.planning-hover-card .planning-legend .legend-item[data-type="free"].is-negative:hover,
.planning-hover-card .planning-legend .legend-item[data-type="free"].is-negative.hovered {
    border-color: #cb7b83;
    background: linear-gradient(180deg, #ffeceb 0%, #f3d8d8 100%);
    box-shadow: 0 0 0 2px rgba(191, 87, 95, 0.22), 0 3px 6px rgba(120, 42, 48, 0.18);
    filter: saturate(1.06);
}

.planning-hover-card .planning-legend .legend-item[data-type="free"].is-negative .legend-label,
.planning-hover-card .planning-legend .legend-item[data-type="free"].is-negative .legend-value {
    color: #9a343b;
    text-shadow: 0 1px 0 rgba(255, 255, 255, 0.4);
}

.plan-entry-hours-hover-card .progress-bar-target-line {
    background: repeating-linear-gradient(
        to bottom,
        var(--progress-planned-base) 0,
        var(--progress-planned-base) 4px,
        transparent 4px,
        transparent 7px
    );
}

.plan-entry-hours-hover-card .progress-bar-container.large .progress-bar-target-line::after {
    background: var(--progress-planned-base);
    box-shadow: 0 51px 0 0 var(--progress-planned-base);
}

.plan-entry-hours-hover-card .progress-bar-target-label {
    background: var(--progress-planned-gradient);
    color: var(--progress-planned-label-text);
    text-shadow: 0 1px 1px rgba(255, 255, 255, 0.5);
}

.plan-entry-hours-hover-card .progress-bar-target-line.highlighted {
    filter: brightness(1.15);
    box-shadow: 0 0 8px var(--progress-planned-glow);
}

.plan-entry-receipts-hover-card {
    display: none;
    position: fixed;
    left: 0;
    top: 0;
    background: #ffffff;
    border: 2px solid #158cba;
    border-radius: 12px;
    box-shadow: 0 12px 32px rgba(21, 140, 186, 0.2), 0 4px 12px rgba(0, 0, 0, 0.15);
    padding: 0;
    min-width: 320px;
    max-width: min(680px, calc(100vw - 24px));
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: translateY(-8px);
    z-index: 200000;
    font-size: 13px;
    overflow: visible;
}

.plan-entry-receipts-hover-card.transitioning {
    display: block;
    transition: opacity 0.2s ease, visibility 0.2s ease, transform 0.2s ease;
}

.plan-entry-receipts-hover-card.show {
    display: block;
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: translateY(0);
    transition: opacity 0.2s ease, visibility 0.2s ease, transform 0.2s ease;
}

.plan-entry-receipts-hover-card.position-above {
    transform: translateY(8px);
}

.plan-entry-receipts-hover-card.position-above.show {
    transform: translateY(0);
}

.plan-entry-receipts-hover-card:not(.position-above)::before,
.plan-entry-receipts-hover-card:not(.position-above)::after,
.plan-entry-receipts-hover-card.position-above::before,
.plan-entry-receipts-hover-card.position-above::after {
    content: "";
    position: absolute;
    left: var(--arrow-left, 50px);
    pointer-events: none;
}

.plan-entry-receipts-hover-card:not(.position-above)::before {
    top: -10px;
    width: 18px;
    height: 10px;
    transform: translateX(-50%);
    background: #158cba;
    clip-path: polygon(50% 0, 0 100%, 100% 100%);
    z-index: 2;
}

.plan-entry-receipts-hover-card:not(.position-above)::after {
    top: -8px;
    width: 14px;
    height: 8px;
    transform: translateX(-50%);
    background: #158cba;
    clip-path: polygon(50% 0, 0 100%, 100% 100%);
    z-index: 3;
}

.plan-entry-receipts-hover-card.position-above::before {
    bottom: -10px;
    width: 18px;
    height: 10px;
    transform: translateX(-50%) rotate(180deg);
    background: #158cba;
    clip-path: polygon(50% 0, 0 100%, 100% 100%);
    z-index: 2;
}

.plan-entry-receipts-hover-card.position-above::after {
    bottom: -8px;
    width: 14px;
    height: 8px;
    transform: translateX(-50%) rotate(180deg);
    background: #158cba;
    clip-path: polygon(50% 0, 0 100%, 100% 100%);
    z-index: 3;
}

.plan-entry-receipts-hover-card .receipts-calendar-header {
    background: linear-gradient(135deg, #1a9fd8 0%, #158cba 50%, #127a9f 100%);
    color: #ffffff;
    padding: 16px;
    border-radius: 10px 10px 0 0;
    border-bottom: 1px solid #158cba;
    box-shadow: 0 2px 8px rgba(21, 140, 186, 0.3);
    text-align: center;
    font-size: 15px;
    font-weight: 600;
}

.plan-entry-receipts-hover-card .receipts-calendars {
    display: flex;
    gap: 12px;
    max-width: 100%;
    padding: 16px;
    justify-content: flex-start;
    align-items: flex-start;
    background: linear-gradient(180deg, #ffffff 0%, #f7fbff 100%);
    overflow-x: auto;
}

.plan-entry-receipts-hover-card .receipts-calendar-month {
    flex: 0 0 auto;
    width: 160px;
}

.plan-entry-receipts-hover-card .receipts-month-title {
    text-align: center;
    font-weight: 600;
    font-size: 12px;
    margin-bottom: 8px;
    color: #2f4c65;
}

.plan-entry-receipts-hover-card .receipts-calendar-grid {
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    gap: 2px;
    margin-bottom: 12px;
}

.plan-entry-receipts-hover-card .receipts-calendar-day-header {
    text-align: center;
    font-size: 10px;
    font-weight: 600;
    color: #6b8498;
    padding: 4px 2px;
}

.plan-entry-receipts-hover-card .receipts-calendar-day {
    aspect-ratio: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 11px;
    border-radius: 4px;
    border: 1px solid transparent;
    background: linear-gradient(180deg, #f7fafc 0%, #edf3f7 100%);
    color: #2a465d;
    position: relative;
}

.plan-entry-receipts-hover-card .receipts-calendar-day.empty {
    background: transparent;
}

.plan-entry-receipts-hover-card .receipts-calendar-day.today {
    font-weight: 700;
    color: color-mix(in srgb, var(--progress-actual-base, #52B2CF) 72%, #18384d);
    border-color: color-mix(in srgb, var(--progress-actual-base, #52B2CF) 72%, #1e93c4);
    box-shadow:
        inset 0 0 0 2px color-mix(in srgb, var(--progress-actual-base, #52B2CF) 72%, transparent),
        0 0 0 1px rgba(255, 255, 255, 0.85);
}

.plan-entry-receipts-hover-card .receipts-calendar-day.incoming-agreed,
.plan-entry-receipts-hover-card .receipts-legend-cell.incoming-agreed {
    background: linear-gradient(135deg, #b3e5fc 0%, #81d4fa 100%);
    color: #01579b;
    font-weight: 600;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.15);
}

.plan-entry-receipts-hover-card .receipts-calendar-day.incoming-actual,
.plan-entry-receipts-hover-card .receipts-legend-cell.incoming-actual {
    background: linear-gradient(135deg, #80deea 0%, #4dd0e1 100%);
    color: #006064;
    font-weight: 700;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
}

.plan-entry-receipts-hover-card .receipts-calendar-day.completion-agreed,
.plan-entry-receipts-hover-card .receipts-legend-cell.completion-agreed {
    background: linear-gradient(135deg, #fff9c4 0%, #fff59d 100%);
    color: #f57f17;
    font-weight: 600;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.15);
}

.plan-entry-receipts-hover-card .receipts-calendar-day.outgoing-actual,
.plan-entry-receipts-hover-card .receipts-legend-cell.outgoing-actual {
    background: linear-gradient(135deg, #a5d6a7 0%, #81c784 100%);
    color: #1b5e20;
    font-weight: 700;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
}

.plan-entry-receipts-hover-card .receipts-calendar-day.due-date,
.plan-entry-receipts-hover-card .receipts-legend-cell.due-date {
    background: linear-gradient(135deg, #ffccbc 0%, #ffab91 100%);
    color: #bf360c;
    font-weight: 600;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.15);
}

.plan-entry-receipts-hover-card .receipts-legend {
    padding: 0 16px 16px 16px;
    overflow-x: auto;
}

.plan-entry-receipts-hover-card .receipts-legend-columns {
    display: flex;
    gap: 16px;
    align-items: flex-start;
}

.plan-entry-receipts-hover-card .receipts-legend-column {
    flex: 0 0 auto;
    width: 160px;
}

.plan-entry-receipts-hover-card .receipts-legend-title {
    font-size: 11px;
    font-weight: 700;
    color: #365a72;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin-top: 3px;
    margin-bottom: 8px;
    padding-bottom: 4px;
    border-bottom: 1px solid #d8e4ee;
}

.plan-entry-receipts-hover-card .receipts-legend-item {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    margin-bottom: 10px;
    font-size: 12px;
}

.plan-entry-receipts-hover-card .receipts-legend-cell {
    width: 28px;
    height: 28px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 11px;
    border-radius: 4px;
    border: 1px solid transparent;
    flex-shrink: 0;
    font-weight: 600;
}

.plan-entry-receipts-hover-card .receipts-legend-cell.empty {
    background: linear-gradient(180deg, #f7fafc 0%, #edf3f7 100%);
    color: #2a465d;
}

.plan-entry-receipts-hover-card .receipts-legend-text {
    display: flex;
    flex-direction: column;
    flex: 1;
    min-width: 0;
}

.plan-entry-receipts-hover-card .receipts-legend-label {
    color: #38576b;
    text-align: left;
    line-height: 1.3;
}

.plan-entry-receipts-hover-card .receipts-legend-date {
    color: #365a72;
    font-weight: 600;
    font-size: 11px;
    text-align: right;
    margin-top: 2px;
}

.plan-entry-receipts-hover-card .receipts-calendar-gap,
.plan-entry-receipts-hover-card .receipts-legend-gap {
    flex: 0 0 auto;
    align-self: center;
    color: #8aa2b5;
    font-weight: 700;
    letter-spacing: 2px;
}

.plan-entry-receipts-hover-card.receipts-hover-card-simple {
    min-width: 340px;
    max-width: 430px;
}

.plan-entry-receipts-hover-card .receipts-simple-body {
    padding: 14px;
    background: linear-gradient(180deg, #f9fcff 0%, #f3f8fc 100%);
    border-radius: 0 0 10px 10px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.plan-entry-receipts-hover-card .receipts-simple-item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 10px 12px;
    border-radius: 9px;
    border: 1px solid #d8e6f0;
    background: #ffffff;
}

.plan-entry-receipts-hover-card .receipts-simple-meta {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-width: 0;
}

.plan-entry-receipts-hover-card .receipts-simple-icon {
    width: 22px;
    height: 22px;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    font-size: 12px;
}

.plan-entry-receipts-hover-card .receipts-simple-item.is-incoming .receipts-simple-icon,
.plan-entry-receipts-hover-card .receipts-simple-item.is-incoming-agreed .receipts-simple-icon {
    background: linear-gradient(135deg, #b3e5fc 0%, #81d4fa 100%);
    color: #01579b;
}

.plan-entry-receipts-hover-card .receipts-simple-item.is-outgoing .receipts-simple-icon {
    background: linear-gradient(135deg, #a5d6a7 0%, #81c784 100%);
    color: #1b5e20;
}

.plan-entry-receipts-hover-card .receipts-simple-item.is-completion-agreed .receipts-simple-icon {
    background: linear-gradient(135deg, #fff9c4 0%, #fff59d 100%);
    color: #f57f17;
}

.plan-entry-receipts-hover-card .receipts-simple-item.is-due-date .receipts-simple-icon {
    background: linear-gradient(135deg, #ffccbc 0%, #ffab91 100%);
    color: #bf360c;
}

.plan-entry-receipts-hover-card .receipts-simple-label,
.plan-entry-receipts-hover-card .receipts-simple-date {
    font-size: 12px;
    font-weight: 700;
    line-height: 1.2;
    white-space: nowrap;
}

.plan-entry-receipts-hover-card .receipts-simple-label {
    color: #2f4757;
}

.plan-entry-receipts-hover-card .receipts-simple-date {
    color: #21485e;
    text-align: right;
    margin-left: auto;
}

.plan-entry-receipts-hover-card .receipts-simple-date.is-empty {
    color: #8a9aa7;
    font-style: italic;
}

.progress-bar-planned.highlighted {
    filter: brightness(1.15);
    box-shadow: 0 2px 6px var(--progress-planned-glow);
}

.progress-bar-actual.highlighted {
    filter: brightness(1.15);
    box-shadow: 0 2px 6px var(--progress-actual-glow);
}

.progress-bar-target-line.highlighted {
    filter: brightness(1.2);
    box-shadow: 0 0 8px var(--progress-target-glow);
}

.progress-bar-free-label.highlighted > span {
    color: #0a5f89;
}

.progress-bar-free-label.is-negative.highlighted > span {
    color: #b21f2d;
}

:is(#page-plan, .plan-table-runtime) .connectedDate_drop {
    flex: 1 1 auto;
    min-height: 0;
    padding: 6px;
    display: flex;
    flex-direction: column;
    gap: 5px;
    overflow-x: hidden;
    overflow-y: auto;
    scrollbar-width: thin;
    scrollbar-color: rgba(47, 96, 127, 0.45) transparent;
    scrollbar-gutter: stable;
}

:is(#page-plan, .plan-table-runtime) .connectedDate_drop::-webkit-scrollbar {
    width: 6px;
}

:is(#page-plan, .plan-table-runtime) .connectedDate_drop::-webkit-scrollbar-track {
    background: transparent;
}

:is(#page-plan, .plan-table-runtime) .connectedDate_drop::-webkit-scrollbar-thumb {
    border-radius: 999px;
    background: rgba(47, 96, 127, 0.36);
}

:is(#page-plan, .plan-table-runtime) .connectedDate_drop::-webkit-scrollbar-thumb:hover {
    background: rgba(47, 96, 127, 0.54);
}

:is(#page-plan, .plan-table-runtime) .connectedDate_drop > .row {
    margin-left: 0;
    margin-right: 0;
}

:is(#page-plan, .plan-table-runtime) .plan-drop-empty {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 42px;
    padding: 8px 10px;
    border: 1px dashed #c5d7e5;
    border-radius: 8px;
    background: rgba(247, 251, 255, 0.72);
    color: #7b8fa0;
    font-size: 11px;
    font-weight: 700;
    text-align: center;
}

:is(#page-plan, .plan-table-runtime) .connectedDate_drop > .plan-drop-empty {
    margin-top: 2px;
}

:is(#page-plan, .plan-table-runtime) .row-datesgroup .row-striped > div:nth-of-type(2n),
:is(#page-plan, .plan-table-runtime) .row-datesgroup .row-striped > div:nth-of-type(2n+1) {
    background-color: transparent;
}

:is(#page-plan, .plan-table-runtime) .row-datesgroup hr {
    display: none;
}

:is(#page-plan, .plan-table-runtime) .plan-entry-card {
    --plan-task-rgb: 122, 168, 198;
    --plan-task-text: #234760;
    --plan-task-number-text: #25556f;
    --plan-entry-client-number-width: 42px;
    border: 1px solid var(--plan-column-border);
    border-radius: 10px;
    background: var(--plan-card-gradient);
    box-shadow: var(--plan-card-shadow);
    padding: 6px 9px 6px 10px;
    position: relative;
    overflow: hidden;
    transition: box-shadow 0.17s ease, transform 0.17s ease, border-color 0.17s ease;
}

:is(#page-plan, .plan-table-runtime) .plan-entry-card::before {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    width: 3px;
    background: linear-gradient(180deg, var(--state-skipped-base, #d8e0e6) 0%, var(--state-skipped-border, #9caeb8) 100%);
    opacity: 1;
}

:is(#page-plan, .plan-table-runtime) .plan-entry-card:hover {
    transform: translateY(-1px);
    box-shadow: var(--plan-card-shadow-hover);
}

:is(#page-plan, .plan-table-runtime) .row-striped.is-plan-interactions-disabled .plan-entry-card:hover {
    transform: none;
    box-shadow: var(--plan-card-shadow);
}

:is(#page-plan, .plan-table-runtime) .plan-entry-card.is-done {
    border-color: #86b89a;
    background: linear-gradient(180deg, #f3fbf5 0%, #deefe4 100%);
}

:is(#page-plan, .plan-table-runtime) .plan-entry-card.is-done::before {
    background: linear-gradient(180deg, #74b386 0%, #3f7f55 100%);
}

:is(#page-plan, .plan-table-runtime) .connectedDate_item.is-plan-highlighted .plan-entry-card {
    border-color: #5fc96b;
    background: linear-gradient(180deg, #f7fff8 0%, #e2f7e6 100%);
    box-shadow: 0 0 0 1px rgba(95, 201, 107, 0.34), var(--plan-card-shadow);
}

:is(#page-plan, .plan-table-runtime) .connectedDate_item.is-plan-highlighted:not(.is-plan-interactions-disabled) .plan-entry-card:hover {
    box-shadow: var(--plan-card-shadow-hover);
}

:is(#page-plan, .plan-table-runtime) .connectedDate_item.is-plan-highlighted .plan-entry-card::before {
    width: 5px;
    background: linear-gradient(180deg, #7bdc86 0%, #2fa944 100%);
    opacity: 1;
}

:is(#page-plan, .plan-table-runtime) .plan-entry-card--time {
    border-color: #c3d5e4;
    background: linear-gradient(180deg, #fbfdff 0%, #f2f7fb 100%);
}

:is(#page-plan, .plan-table-runtime) .plan-entry-card--time::before {
    background: linear-gradient(180deg, var(--state-active-top, #d8ecfb) 0%, var(--state-active-base, #9ec3e9) 100%);
}

:is(#page-plan, .plan-table-runtime) .plan-entry-card.is-locked {
    opacity: 0.92;
}

:is(#page-plan, .plan-table-runtime) .plan-entry-card--cat-bh {
    --plan-task-rgb: var(--bookkeeping-color);
    --plan-task-text: #5a3a38;
    --plan-task-number-text: #7b4944;
}

:is(#page-plan, .plan-table-runtime) .plan-entry-card--cat-lv {
    --plan-task-rgb: var(--payroll-color);
    --plan-task-text: #2f5964;
    --plan-task-number-text: #327381;
}

:is(#page-plan, .plan-table-runtime) .plan-entry-card--cat-ja {
    --plan-task-rgb: var(--annualaccount-color);
    --plan-task-text: #3f5b34;
    --plan-task-number-text: #5f823d;
}

:is(#page-plan, .plan-table-runtime) .plan-entry-card--cat-wp {
    --plan-task-rgb: var(--auditing-color);
    --plan-task-text: #695821;
    --plan-task-number-text: #806c1d;
}

:is(#page-plan, .plan-table-runtime) .plan-entry-card--cat-br {
    --plan-task-rgb: var(--consultation-color);
    --plan-task-text: #3d4f75;
    --plan-task-number-text: #4f649b;
}

:is(#page-plan, .plan-table-runtime) .plan-entry-card--cat-st {
    --plan-task-rgb: 150, 170, 188;
    --plan-task-text: #2d4a61;
    --plan-task-number-text: #557085;
}

:is(#page-plan, .plan-table-runtime) .plan-entry-card--cat-uv {
    --plan-task-rgb: 211, 196, 241;
    --plan-task-text: #59427d;
    --plan-task-number-text: #7055a0;
}

:is(#page-plan, .plan-table-runtime) .plan-entry-card--type-social {
    --plan-task-rgb: 211, 196, 241;
    --plan-task-text: #59427d;
    --plan-task-number-text: #7055a0;
}

:is(#page-plan, .plan-table-runtime) .plan-entry-card.has-deadline-outstanding::before {
    background: linear-gradient(180deg, var(--state-outstanding-base, #f6c96b) 0%, var(--state-outstanding-border, #c99533) 100%);
    opacity: 0.95;
}

:is(#page-plan, .plan-table-runtime) .plan-entry-card.has-deadline-overdue::before {
    background: linear-gradient(180deg, var(--state-overdue-base, #e98f82) 0%, var(--state-overdue-border, #c8675b) 100%);
    opacity: 0.95;
}

:is(#page-plan, .plan-table-runtime) .plan-entry-card.has-receipt-missing::before {
    background: linear-gradient(180deg, var(--state-delayed-base, #f3c889) 0%, var(--state-delayed-border, #cc9c51) 100%);
    opacity: 1;
}

:is(#page-plan, .plan-table-runtime) .plan-entry-top {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    min-height: 38px;
}

:is(#page-plan, .plan-table-runtime) .plan-entry-progress {
    display: block;
    width: 100%;
    margin: 0;
}

:is(#page-plan, .plan-table-runtime) .plan-entry-state-slot[data-hover-card-selector] .plan-entry-hours-badge,
:is(#page-plan, .plan-table-runtime) .plan-entry-state-slot[data-hover-card-selector] .plan-entry-progress {
    cursor: pointer;
}

:is(#page-plan, .plan-table-runtime) .plan-entry-progress-track {
    display: block;
    width: 100%;
    height: 6px;
    border-radius: 999px;
    background: #d5dee4;
    box-shadow: inset 0 1px 1px rgba(31, 54, 72, 0.18);
    overflow: hidden;
}

:is(#page-plan, .plan-table-runtime) .plan-entry-progress-fill {
    display: block;
    height: 100%;
    max-width: 100%;
    border-radius: inherit;
    background: var(--progress-actual-base, #52B2CF);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.38);
    transition: width 0.18s ease;
}

:is(#page-plan, .plan-table-runtime) .plan-entry-state-slot.hover-card-active .plan-entry-progress-track {
    box-shadow:
        inset 0 1px 1px rgba(31, 54, 72, 0.18),
        0 0 0 2px rgba(82, 178, 207, 0.18);
}

:is(#page-plan, .plan-table-runtime) .plan-entry-state-slot.hover-card-active .plan-entry-hours-badge {
    box-shadow:
        var(--ui-badge-shadow, 0 1px 3px rgba(0,0,0,0.2)),
        0 0 0 2px rgba(82, 178, 207, 0.18);
}

:is(#page-plan, .plan-table-runtime) .plan-entry-state-slot {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    align-items: start;
    column-gap: 8px;
    flex: 1 1 auto;
    min-width: 0;
}

:is(#page-plan, .plan-table-runtime) .plan-entry-state-content {
    display: flex;
    flex-direction: column;
    gap: 5px;
    min-width: 0;
    overflow: visible;
}

:is(#page-plan, .plan-table-runtime) .plan-entry-state-group {
    display: inline-flex;
    align-items: flex-start;
    flex-wrap: wrap;
    gap: 4px;
    min-width: 0;
    width: max-content;
    max-width: 100%;
    position: relative;
    z-index: 1;
}

:is(#page-plan, .plan-table-runtime) .plan-entry-state-group > .plan-entry-state-pill,
:is(#page-plan, .plan-table-runtime) .plan-entry-state-group > .plan-entry-deadline-countdown {
    min-width: 0;
    max-width: 100%;
}

:is(#page-plan, .plan-table-runtime) .plan-entry-state-group > .plan-entry-deadline-countdown > span {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
}

:is(#page-plan, .plan-table-runtime) .plan-entry-state-group[data-hover-card-selector] {
    cursor: pointer;
}

:is(#page-plan, .plan-table-runtime) .plan-entry-state-group.hover-card-active .plan-entry-state-pill,
:is(#page-plan, .plan-table-runtime) .plan-entry-state-group.hover-card-active .plan-entry-deadline-countdown {
    box-shadow:
        var(--ui-badge-shadow, 0 1px 3px rgba(0,0,0,0.2)),
        0 0 0 2px rgba(82, 178, 207, 0.18);
}

:is(#page-plan, .plan-table-runtime) .plan-entry-state-pill {
    flex: 0 0 auto;
    max-width: 148px;
    min-height: 20px;
    padding: 2px 7px;
    border: 0;
    border-radius: 6px;
    box-shadow: var(--ui-badge-shadow, 0 1px 3px rgba(0,0,0,0.2));
    font-size: 9.5px;
    gap: 4px;
    line-height: 1.1;
}

:is(#page-plan, .plan-table-runtime) .plan-entry-state-pill .ui-status-pill__icon,
:is(#page-plan, .plan-table-runtime) .plan-entry-state-pill .eigener-status-icon {
    width: 12px;
    height: 12px;
}

:is(#page-plan, .plan-table-runtime) .plan-entry-state-pill .ui-status-pill__icon .glyphicon,
:is(#page-plan, .plan-table-runtime) .plan-entry-state-pill .eigener-status-icon .glyphicon {
    font-size: 10px;
}

:is(#page-plan, .plan-table-runtime) .plan-entry-planned-pill {
    background: linear-gradient(180deg, var(--state-skipped-top, #eef2f5) 0%, var(--state-skipped-base, #d8e0e6) 100%);
    color: var(--state-skipped-text, #4a5b66);
}

:is(#page-plan, .plan-table-runtime) .plan-entry-receipt-missing-pill {
    background: linear-gradient(180deg, var(--state-delayed-top, #fff0d6) 0%, var(--state-delayed-base, #f3c889) 100%);
    color: var(--state-delayed-text, #6e4a20);
}

:is(#page-plan, .plan-table-runtime) .plan-entry-hours {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    min-width: 0;
    color: #2f4c63;
    font-weight: 700;
}

:is(#page-plan, .plan-table-runtime) .plan-entry-hours .glyphicon {
    margin-right: 2px;
}

:is(#page-plan, .plan-table-runtime) .plan-entry-hours .plan-deadline-pill .glyphicon {
    margin-right: 0;
}

:is(#page-plan, .plan-table-runtime) .plan-entry-hours-value {
    font-size: 20px;
    line-height: 1;
    letter-spacing: -0.01em;
}

:is(#page-plan, .plan-table-runtime) .plan-entry-hours--time .plan-entry-hours-value {
    font-size: 15px;
    letter-spacing: 0;
}

:is(#page-plan, .plan-table-runtime) .plan-entry-hours-unit {
    margin-left: 1px;
    color: #597388;
    font-size: 10px;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    opacity: 0.8;
}

:is(#page-plan, .plan-table-runtime) .plan-deadline-pill {
    border-radius: 6px;
    border: 0;
    box-shadow: var(--ui-badge-shadow, 0 1px 3px rgba(0,0,0,0.2));
    flex: 0 0 auto;
}

:is(#page-plan, .plan-table-runtime) .plan-entry-hours .plan-deadline-pill {
    margin-right: 3px;
}

:is(#page-plan, .plan-table-runtime) .plan-entry-state-pill.plan-deadline-pill {
    margin-right: 0;
}

:is(#page-plan, .plan-table-runtime) .plan-entry-preview-controls-row {
    display: flex;
    align-items: center;
    min-width: 0;
    width: 100%;
}

:is(#page-plan, .plan-table-runtime) .plan-entry-hours-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 4px;
    align-self: stretch;
    flex: 0 0 auto;
    min-height: 31px;
    padding: 5px 12px;
    border: 0;
    border-radius: 6px;
    background: linear-gradient(180deg, #eef7fd 0%, #d5e8f4 100%);
    color: #2d5874;
    box-shadow: var(--ui-badge-shadow, 0 1px 3px rgba(0,0,0,0.2));
    font-weight: 800;
    line-height: 1;
    white-space: nowrap;
}

:is(#page-plan, .plan-table-runtime) .plan-entry-hours-badge .plan-entry-hours-value {
    font-size: 16px;
    line-height: 1;
    letter-spacing: 0;
}

:is(#page-plan, .plan-table-runtime) .plan-entry-hours-badge .plan-entry-hours-unit {
    margin-left: 0;
    font-size: 12px;
    line-height: 1;
    letter-spacing: 0;
    text-transform: none;
}

:is(#page-plan, .plan-table-runtime) .plan-entry-time-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    align-self: stretch;
    flex: 0 0 auto;
    min-height: 31px;
    padding: 5px 12px;
    border: 0;
    border-radius: 6px;
    background: linear-gradient(180deg, #eef7fd 0%, #d5e8f4 100%);
    color: #2d5874;
    box-shadow: var(--ui-badge-shadow, 0 1px 3px rgba(0,0,0,0.2));
    font-weight: 800;
    line-height: 1;
    white-space: nowrap;
}

:is(#page-plan, .plan-table-runtime) .plan-entry-time-content {
    align-self: stretch;
    justify-content: flex-end;
}

:is(#page-plan, .plan-table-runtime) .plan-entry-time-badge.is-range {
    min-width: 136px;
    padding-right: 11px;
    padding-left: 11px;
}

:is(#page-plan, .plan-table-runtime) .plan-entry-time-badge-value {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 4px;
    min-width: 0;
    font-size: 15px;
    line-height: 1;
}

:is(#page-plan, .plan-table-runtime) .plan-entry-time-badge .plan-entry-hours-value {
    font-size: 16px;
    line-height: 1;
    letter-spacing: 0;
}

:is(#page-plan, .plan-table-runtime) .plan-entry-time-badge .plan-entry-hours-unit {
    margin-left: 0;
    color: #597388;
    font-size: 12px;
    line-height: 1;
    letter-spacing: 0;
    text-transform: none;
    opacity: 0.9;
}

:is(#page-plan, .plan-table-runtime) .plan-entry-time-separator {
    color: #597388;
    font-weight: 800;
}

:is(#page-plan, .plan-table-runtime) .plan-entry-time-source-pill {
    background: linear-gradient(180deg, var(--state-active-top, #d8ecfb) 0%, var(--state-active-base, #9ec3e9) 100%);
    color: var(--state-active-text, #234760);
}

:is(#page-plan, .plan-table-runtime) .plan-entry-actions {
    position: relative;
    flex: 0 0 auto;
    align-self: flex-start;
    z-index: 3;
    margin: 0 0 0 auto;
}

:is(#page-plan, .plan-table-runtime) .plan-entry-actions .btn-group {
    display: inline-flex;
    align-items: center;
    gap: 0;
    flex-wrap: nowrap;
}

:is(#page-plan, .plan-table-runtime) .plan-entry-top > .plan-entry-lock {
    flex: 0 0 auto;
    align-self: flex-start;
    margin-left: auto;
}

:is(#page-plan, .plan-table-runtime) .plan-entry-actions .btn-group > form {
    margin: 0;
    display: inline-flex;
}

:is(#page-plan, .plan-table-runtime) .plan-entry-actions .btn-group .btn {
    min-width: 24px;
    height: 24px;
    padding: 0 6px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

:is(#page-plan, .plan-table-runtime) .plan-entry-actions .btn-group > .btn + form > .btn,
:is(#page-plan, .plan-table-runtime) .plan-entry-actions .btn-group > form + .btn,
:is(#page-plan, .plan-table-runtime) .plan-entry-actions .btn-group > form + form > .btn {
    margin-left: -1px;
}

:is(#page-plan, .plan-table-runtime) .plan-entry-actions .btn-group > form:first-child:not(:last-child) > .btn {
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
}

:is(#page-plan, .plan-table-runtime) .plan-entry-actions .btn-group > form:last-child:not(:first-child) > .btn {
    border-top-left-radius: 0;
    border-bottom-left-radius: 0;
}

:is(#page-plan, .plan-table-runtime) .plan-entry-actions .btn-group > form:not(:first-child):not(:last-child) > .btn {
    border-radius: 0;
}

.plan-delete-modal .modal-content {
    border: 1px solid rgba(201, 149, 51, 0.45);
    border-radius: 10px;
    overflow: hidden;
    box-shadow: 0 14px 36px rgba(31, 54, 72, 0.24);
}

.plan-delete-modal .modal-header {
    background: linear-gradient(180deg, #fff9ea 0%, #f6dfad 100%);
    border-bottom-color: rgba(201, 149, 51, 0.42);
    color: #5c4318;
}

.plan-delete-modal .modal-title {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 17px;
    font-weight: 700;
}

.plan-delete-summary {
    display: flex;
    align-items: flex-start;
    gap: 12px;
}

.plan-delete-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 38px;
    width: 38px;
    height: 38px;
    border: 1px solid rgba(201, 149, 51, 0.38);
    border-radius: 50%;
    background: #fff8e7;
    color: #9a6e20;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.9);
}

.plan-delete-copy {
    min-width: 0;
    color: #36556d;
}

.plan-delete-lead {
    margin-bottom: 4px;
    font-size: 13px;
    font-weight: 700;
}

.plan-delete-message {
    color: #5a6f80;
    font-size: 12px;
    line-height: 1.35;
    overflow-wrap: anywhere;
}

.plan-delete-items {
    margin-top: 10px;
    max-height: min(44vh, 360px);
    overflow: auto;
    border: 1px solid #d8e3ec;
    border-radius: 8px;
    background: #ffffff;
}

.plan-delete-items:empty {
    display: none;
}

.plan-delete-items-section + .plan-delete-items-section {
    border-top: 1px solid #d8e3ec;
}

.plan-delete-items-heading {
    padding: 6px 8px;
    background: #f4f8fb;
    color: #36556d;
    font-size: 11px;
    font-weight: 700;
}

.plan-delete-items-section--blocked .plan-delete-items-heading {
    background: #fff8e7;
    color: #7f5a17;
}

.plan-delete-items-table {
    width: 100%;
    margin: 0;
    border-collapse: collapse;
    table-layout: fixed;
    font-size: 12px;
    line-height: 1.25;
}

.plan-delete-col-date {
    width: 118px;
}

.plan-delete-col-hours {
    width: 76px;
}

.plan-delete-col-task {
    width: 34%;
}

.plan-delete-items-table th,
.plan-delete-items-table td {
    padding: 5px 8px;
    border-bottom: 1px solid #e4edf4;
    vertical-align: middle;
}

.plan-delete-items-table th {
    position: sticky;
    top: 0;
    z-index: 1;
    background: #f4f8fb;
    color: #46657c;
    font-size: 10px;
    font-weight: 700;
    text-transform: uppercase;
}

.plan-delete-items-section--blocked .plan-delete-items-table th {
    background: #fffaf0;
    color: #7f5a17;
}

.plan-delete-items-section--blocked .plan-delete-items-table td {
    background: #fffdf7;
}

.plan-delete-items-table tbody tr:last-child td {
    border-bottom: 0;
}

.plan-delete-items-table .plan-delete-item-date,
.plan-delete-items-table .plan-delete-item-hours {
    white-space: nowrap;
}

.plan-delete-items-table .plan-delete-item-task,
.plan-delete-items-table .plan-delete-item-client {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.plan-delete-items-table .plan-delete-item-hours {
    text-align: right;
    font-weight: 700;
    color: #274f68;
}

.plan-delete-items-table .plan-delete-item-related {
    display: inline-flex;
    margin-left: 4px;
    padding: 1px 5px;
    border: 1px solid #e3c27c;
    border-radius: 999px;
    background: #fff8e7;
    color: #7f5a17;
    font-size: 10px;
    font-weight: 700;
    white-space: nowrap;
}

:is(#page-plan, .plan-table-runtime) .plan-entry-lock {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 24px;
    padding: 2px 8px;
    border: 1px solid #d3dde5;
    border-radius: 999px;
    background: #f5f8fb;
    color: #657d8f;
    font-size: 11px;
    font-weight: 700;
}

:is(#page-plan, .plan-table-runtime) .plan-entry-main {
    margin-top: 2px;
    display: flex;
    flex-direction: column;
    gap: 6px;
}

:is(#page-plan, .plan-table-runtime) .plan-entry-identity-row {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 8px;
    min-width: 0;
}

:is(#page-plan, .plan-table-runtime) .plan-entry-identity {
    --plan-entry-client-number-width: 42px;
    display: flex;
    flex-direction: column;
    gap: 5px;
    min-width: 0;
    flex: 1 1 auto;
}

:is(#page-plan, .plan-table-runtime) .plan-entry-balance {
    display: inline-flex;
    flex-wrap: wrap;
    gap: 3px 9px;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    color: #3a5971;
    font-size: 11px;
    font-weight: 600;
    line-height: 1.18;
}

:is(#page-plan, .plan-table-runtime) .plan-entry-line {
    display: grid;
    grid-template-columns: 12px minmax(0, 1fr);
    align-items: start;
    gap: 6px;
    min-width: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    color: #2f5169;
    font-size: 14px;
    line-height: 1.16;
}

:is(#page-plan, .plan-table-runtime) .plan-entry-line--task {
    padding-bottom: 0;
    margin-bottom: 0;
    border-bottom: 0;
    color: #234760;
    font-weight: 700;
    font-size: 15px;
}

:is(#page-plan, .plan-table-runtime) .plan-entry-line--no-icon {
    grid-template-columns: minmax(0, 1fr);
    gap: 0;
}

:is(#page-plan, .plan-table-runtime) .plan-entry-task-display {
    position: relative;
    display: grid;
    grid-template-columns: var(--plan-entry-client-number-width) minmax(0, 1fr);
    align-items: stretch;
    width: 100%;
    max-width: 100%;
    min-height: 29px;
}

:is(#page-plan, .plan-table-runtime) .plan-entry-task-display::after {
    content: '';
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 2px;
    border-radius: 999px;
    background: linear-gradient(90deg, rgba(var(--plan-task-rgb), 0.78) 0%, rgba(var(--plan-task-rgb), 0.22) 100%);
}

:is(#page-plan, .plan-table-runtime) .plan-entry-task-number {
    display: inline-flex;
    align-items: center;
    justify-content: flex-end;
    justify-self: stretch;
    align-self: stretch;
    width: 100%;
    min-width: 0;
    min-height: 27px;
    padding: 0 9px 0 6px;
    overflow: hidden;
    border: 0;
    background: transparent;
    color: var(--plan-task-number-text);
    font-size: 13px;
    font-weight: 800;
    line-height: 1;
    text-align: right;
    text-overflow: ellipsis;
    white-space: nowrap;
    box-shadow: none;
    font-variant-numeric: tabular-nums;
    box-sizing: border-box;
}

:is(#page-plan, .plan-table-runtime) .plan-entry-task-number.is-empty {
    color: color-mix(in srgb, var(--plan-task-number-text) 56%, #8d9aa4 44%);
}

:is(#page-plan, .plan-table-runtime) .plan-entry-task-name {
    display: flex;
    align-items: center;
    min-width: 0;
    min-height: 27px;
    padding: 0 10px 2px;
    overflow: hidden;
    color: var(--plan-task-text);
    font-size: 16px;
    font-weight: 800;
    line-height: 1.15;
    text-overflow: ellipsis;
    white-space: nowrap;
}

:is(#page-plan, .plan-table-runtime) .plan-entry-client-display {
    display: grid;
    grid-template-columns: var(--plan-entry-client-number-width) minmax(0, 1fr);
    align-items: stretch;
    width: 100%;
    max-width: 100%;
    min-height: 29px;
    overflow: hidden;
    border: 1px solid #dbe7f0;
    border-radius: 7px;
    background: linear-gradient(180deg, #fcfdff 0%, #f5f9fc 100%);
    box-shadow: inset 0 1px 0 rgba(255,255,255,0.78);
    box-sizing: border-box;
}

:is(#page-plan, .plan-table-runtime) .plan-entry-client-display[data-hover-card-selector] {
    cursor: pointer;
    transition: border-color 0.16s ease, box-shadow 0.16s ease, background 0.16s ease;
}

:is(#page-plan, .plan-table-runtime) .plan-entry-client-display[data-hover-card-selector]:hover,
:is(#page-plan, .plan-table-runtime) .plan-entry-client-display[data-hover-card-selector].hover-card-active {
    border-color: #c8dced;
    background: linear-gradient(180deg, #ffffff 0%, #f2f8fc 100%);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.86), 0 1px 2px rgba(33, 94, 130, 0.12);
}

:is(#page-plan, .plan-table-runtime) .plan-entry-client-display[data-hover-card-selector]:hover .plan-entry-client-number,
:is(#page-plan, .plan-table-runtime) .plan-entry-client-display[data-hover-card-selector].hover-card-active .plan-entry-client-number {
    color: #0e5f8c;
}

:is(#page-plan, .plan-table-runtime) .plan-entry-client-display.is-without-number {
    grid-template-columns: minmax(0, 1fr);
}

:is(#page-plan, .plan-table-runtime) .plan-entry-client-number {
    display: inline-flex;
    align-items: center;
    justify-content: flex-end;
    min-width: 0;
    min-height: 27px;
    padding: 0 9px 0 6px;
    border-right: 1px solid #cfdfeb;
    background: linear-gradient(180deg, #edf6fd 0%, #e3f0fa 100%);
    color: #156d9f;
    font-size: 12px;
    font-weight: 800;
    line-height: 1;
    font-variant-numeric: tabular-nums;
}

:is(#page-plan, .plan-table-runtime) .plan-entry-client-name {
    display: flex;
    align-items: center;
    min-width: 0;
    min-height: 27px;
    padding: 4px 10px;
    overflow: hidden;
    color: #2f3e4a;
    font-size: 12px;
    font-weight: 600;
    line-height: 1.15;
    text-overflow: ellipsis;
    white-space: nowrap;
}

:is(#page-plan, .plan-table-runtime) .plan-entry-line--client {
    color: #3d6178;
    font-size: 12px;
    font-weight: 600;
}

:is(#page-plan, .plan-table-runtime) .plan-entry-line--comment {
    grid-template-columns: auto minmax(0, 1fr);
    align-items: center;
    gap: 6px;
    color: #49687c;
    font-size: 12px;
    line-height: 1.28;
}

:is(#page-plan, .plan-table-runtime) .plan-entry-comment-icons {
    --plan-comment-badge-top: #eef7fd;
    --plan-comment-badge-base: #d5e8f4;
    --plan-comment-badge-text: #2d5874;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    align-self: center;
    min-width: 24px;
    height: 22px;
    padding: 2px 7px;
    border: 0;
    border-radius: 6px;
    background: linear-gradient(180deg, var(--plan-comment-badge-top) 0%, var(--plan-comment-badge-base) 100%);
    box-shadow: var(--ui-badge-shadow, 0 1px 3px rgba(0,0,0,0.2));
    color: var(--plan-comment-badge-text);
    font-weight: 800;
    line-height: 1.1;
}

:is(#page-plan, .plan-table-runtime) .plan-entry-comment-icons.has-specific-icon {
    min-width: 24px;
}

:is(#page-plan, .plan-table-runtime) .plan-entry-comment-icon {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: auto;
    height: auto;
    margin: 0;
    border: 0;
    background: transparent;
    color: inherit;
    box-sizing: border-box;
    box-shadow: none;
    opacity: 1;
}

:is(#page-plan, .plan-table-runtime) .plan-entry-line--comment > .plan-entry-comment-icon {
    --plan-comment-badge-top: #eef7fd;
    --plan-comment-badge-base: #d5e8f4;
    --plan-comment-badge-text: #2d5874;
    align-self: center;
    min-width: 24px;
    height: 22px;
    padding: 2px 7px;
    border: 0;
    border-radius: 6px;
    background: linear-gradient(180deg, var(--plan-comment-badge-top) 0%, var(--plan-comment-badge-base) 100%);
    box-shadow: var(--ui-badge-shadow, 0 1px 3px rgba(0,0,0,0.2));
    color: var(--plan-comment-badge-text);
    font-weight: 800;
    line-height: 1.1;
}

:is(#page-plan, .plan-table-runtime) .plan-entry-comment-icons.has-specific-icon .plan-entry-comment-icon {
    display: none;
}

:is(#page-plan, .plan-table-runtime) .plan-entry-comment-icon::before {
    content: "\e111";
    position: static;
    width: auto;
    height: auto;
    background: transparent;
    box-shadow: none;
    font-family: "Glyphicons Halflings";
    font-size: 11px;
    font-style: normal;
    font-weight: 400;
    line-height: 1;
    opacity: 0.95;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

:is(#page-plan, .plan-table-runtime) .plan-entry-comment-icons.has-specific-icon .plan-entry-comment-icon::before {
    content: none;
}

:is(#page-plan, .plan-table-runtime) .plan-entry-comment-icon::after {
    content: none;
}

:is(#page-plan, .plan-table-runtime) .plan-entry-comment-specific-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 12px;
    height: 18px;
    font-size: 12px;
    line-height: 1;
}

.is-comment-tone-neutral {
    --plan-comment-badge-top: #eef7fd !important;
    --plan-comment-badge-base: #d5e8f4 !important;
    --plan-comment-badge-text: #2d5874 !important;
    --plan-comment-badge-hover: #e8f3fb !important;
}

.is-comment-tone-red {
    --plan-comment-badge-top: #f8cec8 !important;
    --plan-comment-badge-base: #e98f82 !important;
    --plan-comment-badge-text: #65231f !important;
    --plan-comment-badge-hover: #fae1de !important;
}

.is-comment-tone-orange {
    --plan-comment-badge-top: #ffe2bf !important;
    --plan-comment-badge-base: #f2a35a !important;
    --plan-comment-badge-text: #6d4212 !important;
    --plan-comment-badge-hover: #fff0dd !important;
}

.is-comment-tone-green {
    --plan-comment-badge-top: #dff4e5 !important;
    --plan-comment-badge-base: #86cf9d !important;
    --plan-comment-badge-text: #245a35 !important;
    --plan-comment-badge-hover: #eef9f1 !important;
}

.is-comment-tone-rose {
    --plan-comment-badge-top: #f8d6e6 !important;
    --plan-comment-badge-base: #e991b1 !important;
    --plan-comment-badge-text: #70203f !important;
    --plan-comment-badge-hover: #fbe8f0 !important;
}

.is-comment-tone-purple {
    --plan-comment-badge-top: #e7ddfa !important;
    --plan-comment-badge-base: #b99fe7 !important;
    --plan-comment-badge-text: #463068 !important;
    --plan-comment-badge-hover: #f1eafa !important;
}

.is-comment-tone-blue {
    --plan-comment-badge-top: #d8ecfb !important;
    --plan-comment-badge-base: #9ec3e9 !important;
    --plan-comment-badge-text: #26536f !important;
    --plan-comment-badge-hover: #edf6fc !important;
}

.is-comment-tone-amber {
    --plan-comment-badge-top: #fff2be !important;
    --plan-comment-badge-base: #f5ca50 !important;
    --plan-comment-badge-text: #66480d !important;
    --plan-comment-badge-hover: #fff8d9 !important;
}

:is(#page-plan, .plan-table-runtime) .plan-entry-line-kicker {
    margin-right: 4px;
    color: #73889a;
    font-size: 11px;
    font-weight: 800;
}

:is(#page-plan, .plan-table-runtime) .plan-entry-line .glyphicon {
    margin-top: 2px;
    font-size: 10px;
    opacity: 0.9;
}

:is(#page-plan, .plan-table-runtime) .plan-entry-line-text {
    display: block;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

:is(#page-plan, .plan-table-runtime) .plan-entry-deadline-countdown {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 3px;
    flex: 0 0 auto;
    max-width: 108px;
    min-height: 20px;
    padding: 2px 7px;
    border: 0;
    border-radius: 6px;
    background: linear-gradient(180deg, #fbfdff 0%, #f4f8fc 100%);
    color: #4a667c;
    font-size: 10px;
    font-weight: 800;
    line-height: 1.1;
    white-space: nowrap;
    box-shadow: var(--ui-badge-shadow, 0 1px 3px rgba(0,0,0,0.2));
}

:is(#page-plan, .plan-table-runtime) .plan-entry-deadline-countdown .glyphicon {
    top: 0;
    font-size: 10px;
    line-height: 1;
}

:is(#page-plan, .plan-table-runtime) .plan-entry-deadline-countdown.is-deadline-outstanding {
    background: linear-gradient(180deg, var(--state-outstanding-top, #ffe9ba) 0%, var(--state-outstanding-base, #f6c96b) 100%);
    color: var(--state-outstanding-text, #6c4a11);
}

:is(#page-plan, .plan-table-runtime) .plan-entry-deadline-countdown.is-deadline-incoming {
    background: linear-gradient(180deg, var(--state-delayed-top, #fff0d6) 0%, var(--state-delayed-base, #f3c889) 100%);
    color: var(--state-delayed-text, #6e4a20);
}

:is(#page-plan, .plan-table-runtime) .plan-entry-deadline-countdown.is-deadline-overdue {
    background: linear-gradient(180deg, var(--state-overdue-top, #f8cec8) 0%, var(--state-overdue-base, #e98f82) 100%);
    color: var(--state-overdue-text, #65231f);
}

:is(#page-plan, .plan-table-runtime) .plan-entry-meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 3px 12px;
    min-width: 0;
}

:is(#page-plan, .plan-table-runtime) .plan-entry-meta .plan-entry-line {
    flex: 1 1 120px;
    min-width: 0;
    border-bottom: 0;
    padding: 0;
    font-size: 12px;
    color: #406078;
}

:is(#page-plan, .plan-table-runtime) .plan-entry-meta .plan-entry-line--client {
    flex: 1 1 180px;
    color: #2f5873;
    font-size: 13px;
}

:is(#page-plan, .plan-table-runtime) .plan-entry-meta .plan-entry-line--client .plan-entry-line-text {
    font-weight: 600;
}

:is(#page-plan, .plan-table-runtime) .plan-entry-meta .plan-entry-line:last-child {
    border-bottom: 0;
    padding-bottom: 0;
}

:is(#page-plan, .plan-table-runtime) .plan-entry-addon {
    --plan-addon-rgb: 122, 168, 198;
    --plan-addon-text: #264f67;
    --plan-addon-kicker: #5d7d91;
    --plan-addon-border: rgba(var(--plan-addon-rgb), 0.62);
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 5px;
    padding: 6px 8px;
    border: 1px solid var(--plan-addon-border);
    border-radius: 6px;
    background: linear-gradient(180deg, rgba(var(--plan-addon-rgb), 0.28) 0%, rgba(var(--plan-addon-rgb), 0.18) 100%);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.48);
}

:is(#page-plan, .plan-table-runtime) .plan-entry-addon--cat-bh {
    --plan-addon-rgb: var(--bookkeeping-color);
    --plan-addon-text: #5a3a38;
    --plan-addon-kicker: #87514d;
}

:is(#page-plan, .plan-table-runtime) .plan-entry-addon--cat-lv {
    --plan-addon-rgb: var(--payroll-color);
    --plan-addon-text: #2f5964;
    --plan-addon-kicker: #3d7b86;
}

:is(#page-plan, .plan-table-runtime) .plan-entry-addon--cat-ja {
    --plan-addon-rgb: var(--annualaccount-color);
    --plan-addon-text: #3f5b34;
    --plan-addon-kicker: #5f823d;
}

:is(#page-plan, .plan-table-runtime) .plan-entry-addon--cat-wp {
    --plan-addon-rgb: var(--auditing-color);
    --plan-addon-text: #695821;
    --plan-addon-kicker: #8a751f;
}

:is(#page-plan, .plan-table-runtime) .plan-entry-addon--cat-br {
    --plan-addon-rgb: var(--consultation-color);
    --plan-addon-text: #3d4f75;
    --plan-addon-kicker: #556aa0;
}

:is(#page-plan, .plan-table-runtime) .plan-entry-addon--cat-st {
    --plan-addon-rgb: 150, 170, 188;
    --plan-addon-text: #2d4a61;
    --plan-addon-kicker: #557085;
}

:is(#page-plan, .plan-table-runtime) .plan-entry-addon--cat-uv {
    --plan-addon-rgb: 211, 196, 241;
    --plan-addon-text: #59427d;
    --plan-addon-kicker: #7055a0;
}

:is(#page-plan, .plan-table-runtime) .plan-entry-addon--type-social {
    --plan-addon-rgb: 211, 196, 241;
    --plan-addon-text: #59427d;
    --plan-addon-kicker: #7055a0;
}

:is(#page-plan, .plan-table-runtime) .plan-entry-addon.is-missing {
    border-color: #dfc2bf;
    background: linear-gradient(180deg, #fffafb 0%, #f9eef0 100%);
}

:is(#page-plan, .plan-table-runtime) .plan-entry-addon-head {
    display: flex;
    align-items: center;
    position: relative;
    min-width: 0;
    gap: 6px;
    width: 100%;
}

:is(#page-plan, .plan-table-runtime) .plan-entry-addon-head--task-status {
    min-height: 27px;
}

:is(#page-plan, .plan-table-runtime) .plan-entry-addon-head .plan-entry-addon-task {
    flex: 1 1 auto;
    align-self: stretch;
}

:is(#page-plan, .plan-table-runtime) .plan-entry-addon-head.has-status-pill .plan-entry-addon-task {
    width: 100%;
    padding-right: 128px;
}

:is(#page-plan, .plan-table-runtime) .plan-entry-addon-status-pill {
    position: absolute;
    z-index: 2;
    right: 8px;
    bottom: 5px;
}

:is(#page-plan, .plan-table-runtime) .plan-entry-addon-task {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    min-width: 0;
    max-width: 100%;
    padding: 0 1px 2px;
    border: 0;
    border-bottom: 1px solid rgba(var(--plan-addon-rgb), 0.55);
    border-radius: 0;
    background: transparent;
    color: var(--plan-addon-text);
    font-size: 13px;
    line-height: 1.1;
    text-decoration: none;
    box-shadow: none;
}

:is(#page-plan, .plan-table-runtime) .plan-entry-addon-task:hover,
:is(#page-plan, .plan-table-runtime) .plan-entry-addon-task:focus {
    border-bottom-color: rgba(var(--plan-addon-rgb), 0.9);
    background: transparent;
    color: var(--plan-addon-text);
    text-decoration: none;
}

:is(#page-plan, .plan-table-runtime) .plan-entry-addon-message-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 18px;
    width: 18px;
    height: 18px;
    border-radius: 999px;
    background: #e2edf5;
    color: #2f607f;
}

:is(#page-plan, .plan-table-runtime) .plan-entry-addon-message-icon .glyphicon {
    display: block;
    position: static;
    top: auto;
    line-height: 1;
    font-size: 10px;
    opacity: 0.95;
}

:is(#page-plan, .plan-table-runtime) .plan-entry-addon-task-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    color: var(--plan-addon-text);
}

:is(#page-plan, .plan-table-runtime) .plan-entry-addon-task-icon .glyphicon {
    display: block;
    position: static;
    top: auto;
    line-height: 1;
    font-size: 10px;
    opacity: 0.9;
}

:is(#page-plan, .plan-table-runtime) .plan-entry-addon-task-content {
    display: inline-flex;
    align-items: baseline;
    gap: 5px;
    min-width: 0;
    flex: 1 1 auto;
}

:is(#page-plan, .plan-table-runtime) .plan-entry-addon-task-kicker {
    display: inline;
    color: var(--plan-addon-kicker);
    font-size: 9px;
    font-weight: 800;
    letter-spacing: 0.05em;
    line-height: 1;
    text-transform: uppercase;
}

:is(#page-plan, .plan-table-runtime) .plan-entry-addon-task-text {
    display: inline-block;
    min-width: 0;
    overflow: hidden;
    color: var(--plan-addon-text);
    font-size: 13px;
    font-weight: 800;
    line-height: 1.1;
    text-overflow: ellipsis;
    white-space: nowrap;
}

:is(#page-plan, .plan-table-runtime) .plan-entry-chip.plan-entry-chip--addon {
    flex: 0 1 auto;
    min-width: 0;
    max-width: 78%;
    justify-content: flex-start;
    padding: 2px 10px;
    border-color: #bfd4e3;
    background: #edf5fb;
    color: #2f607f;
    font-size: 12px;
    font-weight: 700;
    line-height: 1.22;
}

:is(#page-plan, .plan-table-runtime) .plan-entry-chip.plan-entry-chip--addon .glyphicon {
    font-size: 11px;
}

:is(#page-plan, .plan-table-runtime) .plan-entry-chip--addon .plan-entry-chip-label {
    display: block;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

:is(#page-plan, .plan-table-runtime) .plan-entry-addon-head .plan-entry-link {
    margin-left: auto;
    flex: 0 0 auto;
}

:is(#page-plan, .plan-table-runtime) .plan-entry-addon-body {
    width: 100%;
    min-width: 0;
}

:is(#page-plan, .plan-table-runtime) .plan-entry-addon-message {
    display: flex;
    align-items: flex-start;
    gap: 7px;
    min-width: 0;
    width: 100%;
    padding: 5px 7px;
    border: 1px solid #cbddea;
    border-radius: 6px;
    background: rgba(255, 255, 255, 0.76);
    color: #395a70;
    font-size: 11px;
    line-height: 1.25;
    box-shadow: inset 2px 0 0 #7aa8c6;
}

:is(#page-plan, .plan-table-runtime) .plan-entry-status-message.eigener-status-cell {
    width: 100%;
    min-width: 0;
    max-width: 100%;
    overflow: visible;
    text-align: left;
    white-space: normal;
    cursor: pointer;
}

:is(#page-plan, .plan-table-runtime) .plan-entry-status-message.eigener-status-cell:not([data-hover-card-selector]),
:is(#page-plan, .plan-table-runtime) .plan-entry-status-message.eigener-status-cell:not([data-hover-card-selector]) * {
    cursor: default;
}

:is(#page-plan, .plan-table-runtime) .plan-entry-status-message.hover-card-active {
    border-color: #9ec3dc;
    background: rgba(255, 255, 255, 0.92);
    box-shadow:
        inset 2px 0 0 #5c9ec8,
        0 0 0 2px rgba(76, 145, 190, 0.18);
}

:is(#page-plan, .plan-table-runtime) .plan-entry-status-message.is-warning.hover-card-active {
    border-color: #e4bc76;
    background: #fffaf0;
    box-shadow:
        inset 2px 0 0 #d9912d,
        0 0 0 2px rgba(217, 145, 45, 0.18);
}

:is(#page-plan, .plan-table-runtime) .plan-entry-status-inline.eigener-status-message-inline {
    display: block;
    width: 100%;
    min-width: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}

:is(#page-plan, .plan-table-runtime) .plan-entry-addon-message.is-warning {
    border-color: #edcf9c;
    background: #fff7e8;
    color: #76501d;
    box-shadow: inset 2px 0 0 #d9912d;
}

:is(#page-plan, .plan-table-runtime) .plan-entry-addon-message.is-warning .plan-entry-addon-message-icon {
    background: #ffe7bc;
    color: #9d6418;
}

:is(#page-plan, .plan-table-runtime) .plan-entry-addon-message-content {
    display: block;
    min-width: 0;
    flex: 1 1 auto;
}

:is(#page-plan, .plan-table-runtime) .plan-entry-addon-message-kicker {
    display: block;
    margin-bottom: 1px;
    color: #587990;
    font-size: 9px;
    font-weight: 800;
    letter-spacing: 0.05em;
    line-height: 1;
    text-transform: uppercase;
}

:is(#page-plan, .plan-table-runtime) .plan-entry-addon-message.is-warning .plan-entry-addon-message-kicker {
    color: #a36a1b;
}

:is(#page-plan, .plan-table-runtime) .plan-entry-addon-message-text {
    display: block;
    min-width: 0;
    max-width: 100%;
    overflow-x: auto;
    overflow-y: hidden;
    padding-bottom: 1px;
    scrollbar-width: thin;
    scrollbar-color: rgba(47, 96, 127, 0.45) transparent;
    white-space: nowrap;
}

:is(#page-plan, .plan-table-runtime) .plan-entry-line--comment .plan-entry-line-text {
    display: block;
    flex: 1 1 auto;
    min-width: 0;
    overflow: visible;
    line-height: 1.3;
    overflow-wrap: anywhere;
    white-space: normal;
}

:is(#page-plan, .plan-table-runtime) .plan-entry-line--comment[data-hover-card-selector] {
    cursor: pointer;
}

:is(#page-plan, .plan-table-runtime) .plan-entry-line--comment.is-empty .plan-entry-line-text {
    color: #7c8d99;
    font-style: italic;
}

:is(#page-plan, .plan-table-runtime) .plan-entry-line--comment.is-empty .plan-entry-line-kicker {
    font-style: normal;
}

:is(#page-plan, .plan-table-runtime) .plan-entry-line--comment.hover-card-active .plan-entry-comment-icons {
    box-shadow:
        var(--ui-badge-shadow, 0 1px 3px rgba(0,0,0,0.2)),
        0 0 0 2px rgba(82, 178, 207, 0.16);
}

:is(#page-plan, .plan-table-runtime) .plan-entry-comment-hover-card.eigener-status-hover-card {
    width: min(740px, calc(100vw - 24px));
    min-width: min(560px, calc(100vw - 24px));
    max-width: calc(100vw - 24px);
}

:is(#page-plan, .plan-table-runtime) .plan-entry-comment-hover-card .card-body {
    max-height: 56vh;
    overflow: visible !important;
    clip-path: none !important;
}

:is(#page-plan, .plan-table-runtime) .plan-entry-comment-hover-card .card-section:last-child {
    margin-bottom: 0;
}

:is(#page-plan, .plan-table-runtime) .plan-comment-hover-display {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    width: 100%;
    min-width: 0;
}

:is(#page-plan, .plan-table-runtime) .plan-comment-hover-panel {
    padding: 6px;
}

:is(#page-plan, .plan-table-runtime) .plan-comment-hover-row {
    display: flex;
    align-items: stretch;
    gap: 6px;
    width: 100%;
    min-width: 0;
}

:is(#page-plan, .plan-table-runtime) .plan-comment-hover-view-row {
    flex: 1 1 auto;
    align-items: center;
    min-height: 34px;
}

:is(#page-plan, .plan-table-runtime) .plan-comment-hover-icon-dropdown > .receipts-pill-control {
    display: grid;
    grid-template-columns: 36px minmax(0, 1fr);
    align-items: center;
    height: 36px;
    min-height: 36px;
    min-width: 0;
    overflow: hidden;
    border: 1px solid #c7d8e5;
    border-radius: 999px;
    background: linear-gradient(180deg, #ffffff 0%, #eef5fb 100%);
    box-shadow: var(--ui-press-neutral-shadow, 0 2px 0 rgba(96, 128, 149, 0.5), 0 4px 7px rgba(34, 62, 82, 0.15));
    color: #2a4456;
}

:is(#page-plan, .plan-table-runtime) .plan-comment-hover-icon-dropdown .receipts-pill-symbol {
    height: 36px;
    min-height: 36px;
    color: #35586f;
}

:is(#page-plan, .plan-table-runtime) .plan-comment-hover-icon-badge {
    --plan-comment-badge-top: #eef7fd;
    --plan-comment-badge-base: #d5e8f4;
    --plan-comment-badge-text: #2d5874;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    min-width: 34px;
    height: 28px;
    padding: 4px 10px;
    border: 0;
    border-radius: 6px;
    background: linear-gradient(180deg, var(--plan-comment-badge-top) 0%, var(--plan-comment-badge-base) 100%);
    box-shadow: var(--ui-badge-shadow, 0 1px 3px rgba(0,0,0,0.2));
    color: var(--plan-comment-badge-text);
    font-size: 13px;
    font-weight: 800;
    line-height: 1.1;
}

:is(#page-plan, .plan-table-runtime) .plan-comment-hover-icon-dropdown {
    flex: 0 0 150px;
    min-width: 130px;
    max-width: 150px;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}

:is(#page-plan, .plan-table-runtime) .plan-comment-hover-icon-dropdown > .receipts-pill-control {
    flex-basis: auto;
    width: 100%;
    min-width: 0;
    max-width: 100%;
    padding: 0;
}

:is(#page-plan, .plan-table-runtime) .plan-comment-hover-icon-dropdown .receipts-toolbar-dropdown-toggle,
:is(#page-plan, .plan-table-runtime) .plan-comment-hover-icon-dropdown .plan-comment-hover-icon-toggle {
    display: inline-flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    width: 100%;
    height: 36px;
    border: 0;
    border-radius: 0 999px 999px 0;
    background: transparent;
    box-shadow: none;
    padding: 0 12px;
    color: #2a4456;
    font-size: 13px;
    font-weight: 700;
    line-height: 1.2;
    text-align: left;
    cursor: pointer;
}

:is(#page-plan, .plan-table-runtime) .plan-comment-hover-icon-dropdown .plan-comment-hover-icon-toggle:focus,
:is(#page-plan, .plan-table-runtime) .plan-comment-hover-icon-dropdown .plan-comment-hover-icon-toggle:active:focus,
:is(#page-plan, .plan-table-runtime) .plan-comment-hover-icon-dropdown .plan-comment-hover-icon-toggle:focus-visible {
    outline: none;
    box-shadow: none;
}

:is(#page-plan, .plan-table-runtime) .plan-comment-hover-icon-dropdown .receipts-toolbar-dropdown-label {
    min-width: 0;
    text-align: left;
}

:is(#page-plan, .plan-table-runtime) .plan-comment-hover-icon-toggle .glyphicon-chevron-down {
    flex: 0 0 auto;
    font-size: 10px;
    opacity: 0.75;
    transition: transform 0.16s ease, opacity 0.16s ease;
    transform-origin: 50% 45%;
}

:is(#page-plan, .plan-table-runtime) .plan-comment-hover-icon-dropdown.is-open .plan-comment-hover-icon-toggle .glyphicon-chevron-down,
:is(#page-plan, .plan-table-runtime) .plan-comment-hover-icon-dropdown.open .plan-comment-hover-icon-toggle .glyphicon-chevron-down {
    transform: rotate(180deg);
    opacity: 0.92;
}

:is(#page-plan, .plan-table-runtime) .plan-comment-hover-icon-menu {
    z-index: 200010;
}

:is(#page-plan, .plan-table-runtime) .plan-comment-hover-icon-label {
    display: block;
    align-items: center;
    flex: 1 1 auto;
    min-width: 0;
    overflow: hidden;
    padding: 0;
    color: inherit;
    font-size: 13px;
    font-weight: 700;
    line-height: 1.2;
    text-overflow: ellipsis;
    white-space: nowrap;
}

:is(#page-plan, .plan-table-runtime) .plan-comment-hover-icon-badge.is-empty {
    color: #667d8e;
}

:is(#page-plan, .plan-table-runtime) .plan-comment-hover-text-input {
    flex: 1 1 auto;
    min-width: 0;
    height: 36px;
    border: 1px solid #c7d8e5;
    border-radius: 999px;
    background: linear-gradient(180deg, #ffffff 0%, #eef5fb 100%);
    box-shadow: var(--ui-press-neutral-shadow, 0 2px 0 rgba(96, 128, 149, 0.5), 0 4px 7px rgba(34, 62, 82, 0.15));
    color: #2a4456;
    font-size: 13px;
    line-height: 34px;
}

:is(#page-plan, .plan-table-runtime) .plan-comment-hover-text {
    display: block;
    flex: 1 1 auto;
    min-width: 0;
    color: #2a4456;
    font-size: 13px;
    line-height: 1.35;
    overflow-wrap: anywhere;
    white-space: normal;
}

:is(#page-plan, .plan-table-runtime) .plan-comment-hover-text .plan-comment-empty {
    color: #7a8b98;
    font-style: italic;
}

:is(#page-plan, .plan-table-runtime) .plan-comment-hover-editor {
    margin-top: 0;
}

:is(#page-plan, .plan-table-runtime) .plan-comment-hover-edit-row {
    align-items: stretch;
    flex-wrap: nowrap;
    gap: 8px;
    width: 100%;
    min-width: 0;
    max-width: 100%;
    overflow: visible;
}

:is(#page-plan, .plan-table-runtime) .plan-comment-hover-edit-row .plan-comment-hover-text-input {
    flex: 1 1 auto;
    align-self: stretch;
    min-width: 0;
    height: 36px !important;
    padding: 0 14px;
    border: 1px solid #c7d8e5 !important;
    border-radius: 999px !important;
    background: linear-gradient(180deg, #ffffff 0%, #eef5fb 100%) !important;
    box-shadow: var(--ui-press-neutral-shadow, 0 2px 0 rgba(96, 128, 149, 0.5), 0 4px 7px rgba(34, 62, 82, 0.15)) !important;
    color: #2a4456;
    font-size: 13px;
    line-height: 34px;
}

:is(#page-plan, .plan-table-runtime) .plan-comment-hover-edit-row .plan-comment-hover-text-input:focus {
    border-color: #c7d8e5;
    box-shadow: var(--ui-press-hover-shadow, 0 3px 0 rgba(94, 126, 148, 0.52), 0 6px 10px rgba(34, 62, 82, 0.17)) !important;
    outline: none;
}

:is(#page-plan, .plan-table-runtime) .plan-comment-hover-actions {
    justify-content: flex-end;
}

:is(#page-plan, .plan-table-runtime) .plan-entry-comment-hover-card.is-saving {
    cursor: wait;
}

:is(#page-plan, .plan-table-runtime) .plan-entry-comment-hover-card.is-saving .plan-comment-hover-panel {
    opacity: 0.68;
}

/* Hover cards are portaled to <body>, so card internals cannot depend on #page-plan ancestry. */
.plan-entry-comment-hover-card.eigener-status-hover-card {
    width: min(740px, calc(100vw - 24px));
    min-width: min(560px, calc(100vw - 24px));
    max-width: calc(100vw - 24px);
}

.plan-entry-comment-hover-card .card-body {
    max-height: 56vh;
    overflow: visible !important;
    clip-path: none !important;
}

.plan-entry-comment-hover-card .card-section:last-child {
    margin-bottom: 0;
}

.plan-entry-comment-hover-card .card-section,
.plan-entry-comment-hover-card .plan-comment-hover-panel,
.plan-entry-comment-hover-card .plan-comment-hover-editor {
    overflow: visible !important;
}

.plan-entry-comment-hover-card .plan-comment-hover-display {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    width: 100%;
    min-width: 0;
}

.plan-entry-comment-hover-card .plan-comment-hover-panel {
    padding: 6px;
}

.plan-entry-comment-hover-card .plan-comment-hover-row {
    display: flex;
    align-items: stretch;
    gap: 6px;
    width: 100%;
    min-width: 0;
}

.plan-entry-comment-hover-card .plan-comment-hover-view-row {
    flex: 1 1 auto;
    align-items: center;
    min-height: 34px;
}

.plan-entry-comment-hover-card .plan-comment-hover-icon-dropdown > .receipts-pill-control {
    display: grid;
    grid-template-columns: 36px minmax(0, 1fr);
    align-items: center;
    height: 36px;
    min-height: 36px;
    min-width: 0;
    overflow: hidden;
    border: 1px solid #c7d8e5;
    border-radius: 999px;
    background: linear-gradient(180deg, #ffffff 0%, #eef5fb 100%);
    box-shadow: var(--ui-press-neutral-shadow, 0 2px 0 rgba(96, 128, 149, 0.5), 0 4px 7px rgba(34, 62, 82, 0.15));
    color: #2a4456;
}

.plan-entry-comment-hover-card .plan-comment-hover-icon-dropdown .receipts-pill-symbol {
    height: 36px;
    min-height: 36px;
    color: #35586f;
}

.plan-entry-comment-hover-card .plan-comment-hover-icon-badge {
    --plan-comment-badge-top: #eef7fd;
    --plan-comment-badge-base: #d5e8f4;
    --plan-comment-badge-text: #2d5874;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    min-width: 34px;
    height: 28px;
    padding: 4px 10px;
    border: 0;
    border-radius: 6px;
    background: linear-gradient(180deg, var(--plan-comment-badge-top) 0%, var(--plan-comment-badge-base) 100%);
    box-shadow: var(--ui-badge-shadow, 0 1px 3px rgba(0,0,0,0.2));
    color: var(--plan-comment-badge-text);
    font-size: 13px;
    font-weight: 800;
    line-height: 1.1;
}

.plan-entry-comment-hover-card .plan-comment-hover-icon-dropdown {
    --receipts-toolbar-menu-overlap: 18px;
    flex: 0 0 150px;
    min-width: 130px;
    max-width: 150px;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}

.plan-entry-comment-hover-card .plan-comment-hover-icon-dropdown > .receipts-pill-control {
    position: relative;
    z-index: 2;
    flex-basis: auto;
    width: 100%;
    min-width: 0;
    max-width: 100%;
    padding: 0;
}

.plan-entry-comment-hover-card .plan-comment-hover-icon-dropdown .receipts-toolbar-dropdown-toggle,
.plan-entry-comment-hover-card .plan-comment-hover-icon-dropdown .plan-comment-hover-icon-toggle {
    display: inline-flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    width: 100%;
    height: 36px;
    border: 0;
    border-radius: 0 999px 999px 0;
    background: transparent;
    box-shadow: none;
    padding: 0 12px;
    color: #2a4456;
    font-size: 13px;
    font-weight: 700;
    line-height: 1.2;
    text-align: left;
    cursor: pointer;
}

.plan-entry-comment-hover-card .plan-comment-hover-icon-dropdown .plan-comment-hover-icon-toggle:focus,
.plan-entry-comment-hover-card .plan-comment-hover-icon-dropdown .plan-comment-hover-icon-toggle:active:focus,
.plan-entry-comment-hover-card .plan-comment-hover-icon-dropdown .plan-comment-hover-icon-toggle:focus-visible {
    outline: none;
    box-shadow: none;
}

.plan-entry-comment-hover-card .plan-comment-hover-icon-dropdown .receipts-toolbar-dropdown-label {
    min-width: 0;
    text-align: left;
}

.plan-entry-comment-hover-card .plan-comment-hover-icon-toggle .glyphicon-chevron-down {
    flex: 0 0 auto;
    font-size: 10px;
    opacity: 0.75;
    transition: transform 0.16s ease, opacity 0.16s ease;
    transform-origin: 50% 45%;
}

.plan-entry-comment-hover-card .plan-comment-hover-icon-dropdown.is-open .plan-comment-hover-icon-toggle .glyphicon-chevron-down,
.plan-entry-comment-hover-card .plan-comment-hover-icon-dropdown.open .plan-comment-hover-icon-toggle .glyphicon-chevron-down {
    transform: rotate(180deg);
    opacity: 0.92;
}

.plan-entry-comment-hover-card .plan-comment-hover-icon-menu {
    position: absolute;
    display: none;
    margin-top: 0;
    padding: calc(var(--receipts-toolbar-menu-overlap, 18px) + 4px) 4px 4px;
    border: 1px solid #c7d6e3;
    border-radius: 8px;
    background: #ffffff;
    background-clip: padding-box;
    box-shadow: 0 10px 20px rgba(27, 55, 77, 0.14);
    color: #2a465d;
    z-index: 1;
    pointer-events: auto;
    scrollbar-width: thin;
    scrollbar-color: #b2c2cf #ffffff;
}

.plan-entry-comment-hover-card .plan-comment-hover-icon-dropdown.is-open,
.plan-entry-comment-hover-card .plan-comment-hover-icon-dropdown.open {
    z-index: 200020;
}

.plan-entry-comment-hover-card .plan-comment-hover-icon-dropdown.is-open > .plan-comment-hover-icon-menu,
.plan-entry-comment-hover-card .plan-comment-hover-icon-dropdown.open > .plan-comment-hover-icon-menu {
    display: block;
    top: 50%;
    right: auto;
    left: 0;
    width: 150px;
    min-width: 150px;
    max-height: 220px;
    overflow-y: auto;
    z-index: 1;
}

.plan-entry-comment-hover-card .plan-comment-hover-icon-menu > li + li {
    margin-top: 1px;
}

.plan-entry-comment-hover-card .plan-comment-hover-icon-menu > li > button {
    width: 100%;
    padding: 6px 9px;
    border: 0;
    border-radius: 6px;
    background: #ffffff;
    box-shadow: none;
    color: #2a465d;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 0;
    line-height: 1.2;
    text-shadow: none;
    transform: none;
}

.plan-entry-comment-hover-card .plan-comment-hover-icon-menu > li > button:hover,
.plan-entry-comment-hover-card .plan-comment-hover-icon-menu > li > button:focus {
    background: #f4f8fc;
    box-shadow: none;
    color: #204960;
    transform: none;
}

.plan-entry-comment-hover-card .plan-comment-hover-icon-menu > li.active > button,
.plan-entry-comment-hover-card .plan-comment-hover-icon-menu > li.active > button:hover,
.plan-entry-comment-hover-card .plan-comment-hover-icon-menu > li.active > button:focus {
    background: #def3ff;
    box-shadow: inset 0 0 0 1px rgba(41, 155, 201, 0.34);
    color: #0f4a63;
    text-shadow: none;
    transform: none;
}

.plan-entry-comment-hover-card .plan-comment-hover-icon-menu > li.active > button::after {
    color: rgba(9, 84, 111, 0.92);
}

.plan-entry-comment-hover-card .plan-comment-hover-icon-menu::-webkit-scrollbar {
    width: 6px;
}

.plan-entry-comment-hover-card .plan-comment-hover-icon-menu::-webkit-scrollbar-track {
    background: #ffffff;
    border-radius: 8px;
}

.plan-entry-comment-hover-card .plan-comment-hover-icon-menu::-webkit-scrollbar-thumb {
    background: #b2c2cf;
    border-radius: 8px;
}

.plan-entry-comment-hover-card .plan-comment-hover-icon-menu::-webkit-scrollbar-thumb:hover {
    background: #91a5b5;
}

.plan-entry-comment-hover-card .plan-comment-hover-icon-label {
    display: block;
    align-items: center;
    flex: 1 1 auto;
    min-width: 0;
    overflow: hidden;
    padding: 0;
    color: inherit;
    font-size: 13px;
    font-weight: 700;
    line-height: 1.2;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.plan-entry-comment-hover-card .plan-comment-hover-icon-badge.is-empty {
    color: #667d8e;
}

.plan-entry-comment-hover-card .plan-comment-hover-text-input {
    flex: 1 1 auto;
    min-width: 0;
    height: 36px;
    border: 1px solid #c7d8e5;
    border-radius: 999px;
    background: linear-gradient(180deg, #ffffff 0%, #eef5fb 100%);
    box-shadow: var(--ui-press-neutral-shadow, 0 2px 0 rgba(96, 128, 149, 0.5), 0 4px 7px rgba(34, 62, 82, 0.15));
    color: #2a4456;
    font-size: 13px;
    line-height: 34px;
}

.plan-entry-comment-hover-card .plan-comment-hover-text {
    display: block;
    flex: 1 1 auto;
    min-width: 0;
    color: #2a4456;
    font-size: 13px;
    line-height: 1.35;
    overflow-wrap: anywhere;
    white-space: normal;
}

.plan-entry-comment-hover-card .plan-comment-hover-text .plan-comment-empty {
    color: #7a8b98;
    font-style: italic;
}

.plan-entry-comment-hover-card .plan-comment-hover-editor {
    margin-top: 0;
}

.plan-entry-comment-hover-card .plan-comment-hover-edit-row {
    display: flex;
    align-items: stretch;
    flex-wrap: nowrap;
    gap: 8px;
    width: 100%;
    min-width: 0;
    max-width: 100%;
    overflow: visible;
}

.plan-entry-comment-hover-card .plan-comment-hover-edit-row .plan-comment-hover-text-input {
    flex: 1 1 auto;
    align-self: stretch;
    min-width: 0;
    height: 36px !important;
    padding: 0 14px;
    border: 1px solid #c7d8e5 !important;
    border-radius: 999px !important;
    background: linear-gradient(180deg, #ffffff 0%, #eef5fb 100%) !important;
    box-shadow: var(--ui-press-neutral-shadow, 0 2px 0 rgba(96, 128, 149, 0.5), 0 4px 7px rgba(34, 62, 82, 0.15)) !important;
    color: #2a4456;
    font-size: 13px;
    line-height: 34px;
}

.plan-entry-comment-hover-card .plan-comment-hover-edit-row .plan-comment-hover-text-input:focus {
    border-color: #c7d8e5;
    box-shadow: var(--ui-press-hover-shadow, 0 3px 0 rgba(94, 126, 148, 0.52), 0 6px 10px rgba(34, 62, 82, 0.17)) !important;
    outline: none;
}

.plan-entry-comment-hover-card .plan-comment-hover-actions {
    justify-content: flex-end;
}

.plan-entry-status-hover-card .ui-note-panel__edit {
    width: 36px;
    min-width: 36px;
    height: 28px;
    padding: 0 !important;
    border: 1px solid #afc5d5;
    border-radius: 999px;
    background: linear-gradient(180deg, #f9fcfe 0%, #e8f2f8 100%);
    box-shadow: var(--ui-press-neutral-shadow, 0 2px 0 rgba(96, 128, 149, 0.5), 0 4px 7px rgba(34, 62, 82, 0.15));
    color: #2f5872;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 36px;
    margin-top: -4px;
    opacity: 1;
    pointer-events: auto;
    transition:
        transform 0.16s ease,
        box-shadow 0.16s ease,
        border-color 0.16s ease,
        filter 0.16s ease,
        background 0.16s ease,
        color 0.16s ease;
}

.plan-entry-status-hover-card .ui-note-panel__edit:hover {
    border-color: #9bb8cc;
    background: linear-gradient(180deg, #f9fcfe 0%, #e8f2f8 100%);
    box-shadow: var(--ui-press-neutral-hover-shadow, 0 3px 0 rgba(94, 126, 148, 0.52), 0 6px 10px rgba(34, 62, 82, 0.17));
    color: #2f5872;
    filter: saturate(1.06) brightness(1.02);
    text-decoration: none;
    transform: translateY(-1px);
}

.plan-entry-status-hover-card .ui-note-panel__edit:focus {
    outline: none;
}

.plan-entry-status-hover-card .ui-note-panel__edit:focus-visible {
    box-shadow: var(--ui-press-focus-ring, 0 0 0 2px rgba(61, 122, 169, 0.22), 0 0 0 5px rgba(61, 122, 169, 0.42));
}

.plan-entry-status-hover-card .ui-note-panel__edit:active {
    box-shadow: var(--ui-press-neutral-active-shadow, 0 1px 0 rgba(94, 126, 148, 0.5), 0 2px 4px rgba(34, 62, 82, 0.18));
    filter: none;
    transform: translateY(1px);
}

.plan-entry-status-hover-card .ui-note-panel__edit .glyphicon {
    font-size: 13px;
    line-height: 1;
    transform: translateY(-1px);
}

.plan-entry-comment-hover-card .ui-note-panel__actions,
.plan-entry-status-hover-card .ui-note-panel__actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 8px;
    margin-top: 8px;
    flex-wrap: wrap;
}

.plan-entry-comment-hover-card .ui-note-btn,
.plan-entry-status-hover-card .ui-note-btn {
    --plan-note-btn-top: var(--bs3-btn-default-top, #ffffff);
    --plan-note-btn-base: var(--bs3-btn-default-base, #dce8f4);
    --plan-note-btn-border: var(--bs3-btn-default-border, #6f879f);
    --plan-note-btn-text: var(--bs3-btn-default-text, #2f4c65);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 4px;
    min-height: 28px;
    padding: 4px 11px;
    border: 1px solid var(--plan-note-btn-border);
    border-radius: var(--bs3-btn-border-radius, 999px);
    background: linear-gradient(180deg, var(--plan-note-btn-top) 0%, var(--plan-note-btn-base) 100%);
    box-shadow:
        0 2px 0 color-mix(in srgb, var(--plan-note-btn-border) 72%, black),
        0 5px 10px color-mix(in srgb, var(--plan-note-btn-border) 36%, transparent);
    color: var(--plan-note-btn-text);
    font-size: 12px;
    font-weight: var(--bs3-btn-font-weight, 700);
    line-height: 1;
    text-shadow: none;
    white-space: nowrap;
    transform: translateY(0);
    transition:
        transform 0.16s ease,
        box-shadow 0.16s ease,
        border-color 0.16s ease,
        background 0.16s ease,
        color 0.16s ease,
        filter 0.16s ease;
    touch-action: manipulation;
}

.plan-entry-comment-hover-card .ui-note-btn--save,
.plan-entry-status-hover-card .ui-note-btn--save,
.plan-entry-comment-hover-card .ui-note-btn.is-save,
.plan-entry-status-hover-card .ui-note-btn.is-save {
    --plan-note-btn-top: var(--bs3-btn-success-top, #d8efde);
    --plan-note-btn-base: var(--bs3-btn-success-base, #a8d4b2);
    --plan-note-btn-border: var(--bs3-btn-success-border, #5e9a6a);
    --plan-note-btn-text: var(--bs3-btn-success-text, #245533);
}

.plan-entry-comment-hover-card .ui-note-btn--cancel,
.plan-entry-status-hover-card .ui-note-btn--cancel,
.plan-entry-comment-hover-card .ui-note-btn.is-cancel,
.plan-entry-status-hover-card .ui-note-btn.is-cancel {
    --plan-note-btn-top: var(--bs3-btn-default-top, #ffffff);
    --plan-note-btn-base: var(--bs3-btn-default-base, #dce8f4);
    --plan-note-btn-border: var(--bs3-btn-default-border, #6f879f);
    --plan-note-btn-text: var(--bs3-btn-default-text, #2f4c65);
}

.plan-entry-comment-hover-card .ui-note-btn:hover,
.plan-entry-comment-hover-card .ui-note-btn:focus-visible,
.plan-entry-status-hover-card .ui-note-btn:hover,
.plan-entry-status-hover-card .ui-note-btn:focus-visible {
    border-color: color-mix(in srgb, var(--plan-note-btn-border) 90%, white);
    background: linear-gradient(
        180deg,
        color-mix(in srgb, var(--plan-note-btn-top) 88%, white) 0%,
        color-mix(in srgb, var(--plan-note-btn-base) 88%, white) 100%
    );
    box-shadow:
        0 3px 0 color-mix(in srgb, var(--plan-note-btn-border) 62%, black),
        0 7px 13px color-mix(in srgb, var(--plan-note-btn-border) 42%, transparent);
    color: var(--plan-note-btn-text);
    filter: saturate(1.1) brightness(1.03) contrast(1.01);
    transform: translateY(-1px);
    outline: none;
}

.plan-entry-comment-hover-card .ui-note-btn:active,
.plan-entry-status-hover-card .ui-note-btn:active {
    background: linear-gradient(180deg, var(--plan-note-btn-top) 0%, var(--plan-note-btn-base) 100%);
    box-shadow:
        0 1px 0 color-mix(in srgb, var(--plan-note-btn-border) 48%, black),
        0 2px 4px color-mix(in srgb, var(--plan-note-btn-border) 24%, transparent);
    filter: none;
    transform: translateY(1px);
}

.plan-entry-comment-hover-card .ui-note-btn:focus,
.plan-entry-status-hover-card .ui-note-btn:focus {
    outline: none;
}

.plan-entry-comment-hover-card .ui-note-btn:focus-visible,
.plan-entry-status-hover-card .ui-note-btn:focus-visible {
    box-shadow: var(--ui-press-focus-ring);
}

.plan-entry-comment-hover-card .ui-note-btn .glyphicon,
.plan-entry-status-hover-card .ui-note-btn .glyphicon {
    flex: 0 0 auto;
    font-size: 11px;
    line-height: 1;
}

.plan-entry-comment-hover-card .ui-note-btn:disabled,
.plan-entry-comment-hover-card .ui-note-btn.disabled,
.plan-entry-status-hover-card .ui-note-btn:disabled,
.plan-entry-status-hover-card .ui-note-btn.disabled {
    cursor: default;
    opacity: var(--bs3-btn-disabled-opacity, 0.55);
    filter: none;
    transform: none;
    box-shadow: none;
}

.plan-entry-comment-hover-card.is-saving {
    cursor: wait;
}

.plan-entry-comment-hover-card.is-saving .plan-comment-hover-panel {
    opacity: 0.68;
}

:is(#page-plan, .plan-table-runtime) .plan-entry-status-message .eigener-status-message-inline-text {
    width: 100%;
    color: inherit;
    font: inherit;
    line-height: inherit;
    scrollbar-width: thin;
    scrollbar-color: rgba(47, 96, 127, 0.45) transparent;
}

:is(#page-plan, .plan-table-runtime) .plan-entry-status-hover-card.eigener-status-hover-card {
    min-width: 320px;
    max-width: 420px;
}

:is(#page-plan, .plan-table-runtime) .plan-entry-status-hover-card.eigener-status-hover-card .card-body {
    max-height: 56vh;
}

:is(#page-plan, .plan-table-runtime) .plan-entry-status-hover-card .card-section:last-child {
    margin-bottom: 0;
}

:is(#page-plan, .plan-table-runtime) .plan-entry-addon-message-text::-webkit-scrollbar {
    height: 2px;
}

:is(#page-plan, .plan-table-runtime) .plan-entry-addon-message-text::-webkit-scrollbar-track {
    background: transparent;
}

:is(#page-plan, .plan-table-runtime) .plan-entry-addon-message-text::-webkit-scrollbar-thumb {
    border-radius: 999px;
    background: rgba(47, 96, 127, 0.42);
}

:is(#page-plan, .plan-table-runtime) .plan-entry-addon-message.is-warning .plan-entry-addon-message-text {
    scrollbar-color: rgba(157, 100, 24, 0.5) transparent;
}

:is(#page-plan, .plan-table-runtime) .plan-entry-addon-message.is-warning .plan-entry-addon-message-text::-webkit-scrollbar-thumb {
    background: rgba(157, 100, 24, 0.48);
}

:is(#page-plan, .plan-table-runtime) .plan-entry-link {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    min-height: 19px;
    padding: 0 7px;
    border: 1px solid #c5d8e7;
    border-radius: 999px;
    background: linear-gradient(180deg, #ffffff 0%, #edf5fb 100%);
    color: #1d6389;
    font-size: 11px;
    font-weight: 700;
    text-decoration: none;
    min-width: 0;
}

:is(#page-plan, .plan-table-runtime) .plan-entry-link--addon {
    font-size: 11px;
}

:is(#page-plan, .plan-table-runtime) .plan-entry-link:hover,
:is(#page-plan, .plan-table-runtime) .plan-entry-link:focus {
    color: #154b66;
    text-decoration: underline;
}

:is(#page-plan, .plan-table-runtime) .plan-entry-chip {
    display: inline-flex;
    align-items: center;
    gap: 3px;
    padding: 0 5px;
    border: 1px solid var(--plan-pill-border);
    border-radius: 999px;
    background: var(--plan-pill-bg);
    color: #35556d;
    font-size: 10px;
    line-height: 1.15;
    max-width: 100%;
}

:is(#page-plan, .plan-table-runtime) .plan-entry-chip--muted {
    background: #edf3f8;
    color: #4d677c;
}

:is(#page-plan, .plan-table-runtime) .plan-entry-alert {
    display: flex;
    align-items: center;
    gap: 4px;
    padding: 2px 5px;
    border: 1px solid #e1cbad;
    border-radius: 6px;
    background: linear-gradient(180deg, #fff9f1 0%, #f8ebd8 100%);
    color: #744e20;
    font-size: 10px;
    line-height: 1.15;
    max-width: 100%;
}

:is(#page-plan, .plan-table-runtime) .plan-entry-alert--addon {
    width: 100%;
}

:is(#page-plan, .plan-table-runtime) .plan-entry-alert--wide {
    width: 100%;
}

:is(#page-plan, .plan-table-runtime) .plan-entry-alert--danger {
    border-color: #deb6b3;
    background: linear-gradient(180deg, #fff8f7 0%, #faecea 100%);
    color: #7d342d;
}

:is(#page-plan, .plan-table-runtime) .plan-entry-alert-title {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    font-weight: 700;
}

:is(#page-plan, .plan-table-runtime) .plan-entry-alert-actions {
    margin-left: auto;
    display: inline-flex;
    gap: 5px;
    flex-wrap: wrap;
}

:is(#page-plan, .plan-table-runtime) .plan-entry-alert-actions .btn {
    height: 18px;
    border-radius: 999px;
    padding: 0 6px;
}

:is(#page-plan, .plan-table-runtime) .drag-handle .plan-entry-card {
    cursor: grab;
}

:is(#page-plan, .plan-table-runtime) .connectedDate_item[data-id]:not(.drag-handle) .plan-entry-card,
:is(#page-plan, .plan-table-runtime) .connectedDate_item_minimal[data-id]:not(.drag-handle) > td,
:is(#page-plan, .plan-table-runtime) .plan-weekly-entry--plan[data-id]:not(.drag-handle) {
    cursor: pointer;
}

:is(#page-plan, .plan-table-runtime) .row-striped.is-plan-interactions-disabled .plan-entry-card,
:is(#page-plan, .plan-table-runtime) .connectedDate_item.row-striped.is-plan-interactions-disabled[data-id]:not(.drag-handle) .plan-entry-card {
    cursor: default;
}

:is(#page-plan, .plan-table-runtime) .sortable-chosen .plan-entry-card {
    cursor: grabbing;
}

:is(#page-plan, .plan-table-runtime) .sortable-ghost .plan-entry-card {
    opacity: 0.56;
    border-style: dashed;
}

:is(#page-plan, .plan-table-runtime) .connectedDate_item.is-plan-selected .plan-entry-card,
:is(#page-plan, .plan-table-runtime) .plan-weekly-entry.is-plan-selected {
    box-shadow: inset 0 0 0 2px var(--plan-selection-border), 0 0 0 1px rgba(111, 159, 190, 0.18);
}

:is(#page-plan, .plan-table-runtime) .connectedDate_item.is-plan-highlighted.is-plan-selected:not(.is-plan-interactions-disabled) .plan-entry-card:hover {
    box-shadow: inset 0 0 0 2px var(--plan-selection-border), var(--plan-card-shadow-hover);
}

:is(#page-plan, .plan-table-runtime) .connectedDate_item.is-plan-selected .plan-entry-card:not(.is-done),
:is(#page-plan, .plan-table-runtime) .plan-weekly-entry.is-plan-selected:not(.is-done) {
    background: var(--plan-selection-bg);
}

:is(#page-plan, .plan-table-runtime) .connectedDate_item.is-plan-selected .plan-entry-card:not(.is-done) {
    border-color: var(--plan-selection-border);
}

:is(#page-plan, .plan-table-runtime) .connectedDate_item.is-plan-selected .plan-entry-card:not(.is-done)::before {
    opacity: 0.18;
}

:is(#page-plan, .plan-table-runtime) .plan-weekly-entry.drag-handle {
    cursor: grab;
}

:is(#page-plan, .plan-table-runtime) .plan-weekly-entry.sortable-chosen {
    cursor: grabbing;
}

:is(#page-plan, .plan-table-runtime) .is-plan-move-pending {
    opacity: 0.68;
}

:is(#page-plan, .plan-table-runtime) .is-plan-drag-source .plan-entry-card,
:is(#page-plan, .plan-table-runtime) .connectedDate_item_minimal.is-plan-drag-source > td,
:is(#page-plan, .plan-table-runtime) .plan-weekly-entry.is-plan-drag-source {
    opacity: 0.42;
}

:is(#page-plan, .plan-table-runtime) .is-plan-source-placeholder {
    pointer-events: none;
}

:is(#page-plan, .plan-table-runtime) .is-plan-source-placeholder .plan-entry-card,
:is(#page-plan, .plan-table-runtime) .connectedDate_item_minimal.is-plan-source-placeholder > td,
:is(#page-plan, .plan-table-runtime) .plan-weekly-entry.is-plan-source-placeholder {
    opacity: 0.42;
}

:is(#page-plan, .plan-table-runtime) .is-plan-drag-preview {
    opacity: 0.72;
    pointer-events: none;
}

:is(#page-plan, .plan-table-runtime) .connectedDate_item.is-plan-drag-preview .plan-entry-card,
:is(#page-plan, .plan-table-runtime) .connectedDate_item.is-plan-selected.is-plan-drag-preview .plan-entry-card,
:is(#page-plan, .plan-table-runtime) .connectedDate_item_minimal.is-plan-drag-preview > td,
:is(#page-plan, .plan-table-runtime) .connectedDate_item_minimal.is-plan-selected.is-plan-drag-preview > td,
:is(#page-plan, .plan-table-runtime) .plan-weekly-entry.is-plan-drag-preview,
:is(#page-plan, .plan-table-runtime) .plan-weekly-entry.is-plan-selected.is-plan-drag-preview,
.plan-drag-image .connectedDate_item.is-plan-drag-preview .plan-entry-card,
.plan-drag-image .connectedDate_item_minimal.is-plan-drag-preview > td,
.plan-drag-image .plan-weekly-entry.is-plan-drag-preview {
    border-style: dashed;
    border-color: #9aa4af;
    background: #f1f3f5;
    box-shadow: inset 0 0 0 1px rgba(116, 128, 140, 0.42);
}

:is(#page-plan, .plan-table-runtime) .connectedDate_item.is-plan-highlighted.is-plan-drag-preview .plan-entry-card,
:is(#page-plan, .plan-table-runtime) .connectedDate_item.is-plan-highlighted.is-plan-selected.is-plan-drag-preview .plan-entry-card,
.plan-drag-image .connectedDate_item.is-plan-highlighted.is-plan-drag-preview .plan-entry-card {
    border-style: dashed;
    border-color: color-mix(in srgb, var(--progress-planned-indicator-border, #DCA73B) 54%, #d4e1ec);
    background: linear-gradient(
        180deg,
        color-mix(in srgb, var(--progress-planned-base, #F4B942) 12%, #ffffff) 0%,
        color-mix(in srgb, var(--progress-planned-base, #F4B942) 20%, #ffffff) 100%
    );
    box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--progress-planned-base, #F4B942) 24%, transparent);
}

:is(#page-plan, .plan-table-runtime) .connectedDate_item.is-plan-highlighted.is-plan-drag-preview .plan-entry-card::before,
:is(#page-plan, .plan-table-runtime) .connectedDate_item.is-plan-highlighted.is-plan-selected.is-plan-drag-preview .plan-entry-card::before,
.plan-drag-image .connectedDate_item.is-plan-highlighted.is-plan-drag-preview .plan-entry-card::before {
    background: var(--progress-planned-gradient);
    opacity: 1;
}

:is(#page-plan, .plan-table-runtime) .connectedDate_item_minimal.is-plan-highlighted.is-plan-drag-preview > td,
:is(#page-plan, .plan-table-runtime) .connectedDate_item_minimal.is-plan-highlighted.is-plan-selected.is-plan-drag-preview > td,
.plan-drag-image .connectedDate_item_minimal.is-plan-highlighted.is-plan-drag-preview > td {
    border-style: dashed;
    border-color: color-mix(in srgb, var(--progress-planned-indicator-border, #DCA73B) 42%, #d4e1ec);
    background: linear-gradient(90deg, color-mix(in srgb, var(--progress-planned-base, #F4B942) 18%, transparent) 0, #ffffff 46px);
    box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--progress-planned-base, #F4B942) 20%, transparent);
}

:is(#page-plan, .plan-table-runtime) .connectedDate_item_minimal.is-plan-highlighted.is-plan-drag-preview > td:first-child,
:is(#page-plan, .plan-table-runtime) .connectedDate_item_minimal.is-plan-highlighted.is-plan-selected.is-plan-drag-preview > td:first-child,
.plan-drag-image .connectedDate_item_minimal.is-plan-highlighted.is-plan-drag-preview > td:first-child {
    border-left: 3px dashed var(--progress-planned-indicator-border, #DCA73B);
    box-shadow: inset 4px 0 0 var(--progress-planned-indicator-border, #DCA73B), inset 0 0 0 1px color-mix(in srgb, var(--progress-planned-base, #F4B942) 20%, transparent);
}

:is(#page-plan, .plan-table-runtime) .plan-weekly-entry.plan-weekly-entry--plan.is-plan-highlighted.is-plan-drag-preview,
:is(#page-plan, .plan-table-runtime) .plan-weekly-entry.plan-weekly-entry--plan.is-plan-highlighted.is-plan-selected.is-plan-drag-preview,
.plan-drag-image .plan-weekly-entry.plan-weekly-entry--plan.is-plan-highlighted.is-plan-drag-preview {
    border-style: dashed;
    border-color: color-mix(in srgb, var(--progress-planned-indicator-border, #DCA73B) 54%, #d4e1ec);
    background: linear-gradient(
        180deg,
        color-mix(in srgb, var(--progress-planned-base, #F4B942) 12%, #ffffff) 0%,
        color-mix(in srgb, var(--progress-planned-base, #F4B942) 20%, #ffffff) 100%
    );
    box-shadow: inset 4px 0 0 var(--progress-planned-indicator-border, #DCA73B), 0 0 0 1px color-mix(in srgb, var(--progress-planned-base, #F4B942) 20%, transparent);
}

:is(#page-plan, .plan-table-runtime) .connectedDate_item_minimal.is-plan-drag-preview > td:first-child,
:is(#page-plan, .plan-table-runtime) .connectedDate_item_minimal.is-plan-selected.is-plan-drag-preview > td:first-child,
.plan-drag-image .connectedDate_item_minimal.is-plan-drag-preview > td:first-child {
    border-left: 3px dashed #9aa4af;
}

:is(#page-plan, .plan-table-runtime) .connectedDate_item_minimal.is-plan-highlighted.is-plan-drag-preview > td:first-child,
:is(#page-plan, .plan-table-runtime) .connectedDate_item_minimal.is-plan-highlighted.is-plan-selected.is-plan-drag-preview > td:first-child,
.plan-drag-image .connectedDate_item_minimal.is-plan-highlighted.is-plan-drag-preview > td:first-child {
    border-left-color: var(--progress-planned-indicator-border, #DCA73B);
}

:is(#page-plan, .plan-table-runtime) .is-plan-drag-preview-hidden {
    display: none !important;
}

:is(#page-plan, .plan-table-runtime) .connectedDate_item.is-plan-drag-preview .plan-entry-card,
:is(#page-plan, .plan-table-runtime) .connectedDate_item.is-plan-selected.is-plan-drag-preview .plan-entry-card,
.plan-drag-image .connectedDate_item.is-plan-drag-preview .plan-entry-card {
    opacity: 1;
}

.plan-drag-image {
    --plan-minimal-actions-width: 5%;
    --plan-minimal-hours-width: 13%;
    --plan-minimal-task-width: 13%;
    --plan-minimal-client-width: 15%;
    --plan-minimal-status-width: 15%;
    --plan-minimal-comment-width: 20%;
    --plan-minimal-addon-task-width: 19%;
    --plan-minimal-addon-status-width: var(--plan-minimal-addon-task-width);
    --plan-minimal-state-width: 350px;
    --plan-minimal-task-client-width: calc(100% - var(--plan-minimal-state-width) - var(--plan-minimal-comment-width) - var(--plan-minimal-addon-status-width));
    display: inline-flex;
    align-items: flex-start;
    gap: 14px;
    padding: 4px;
    opacity: 1 !important;
}

.plan-drag-image--positioned {
    min-height: var(--plan-drag-image-height, auto);
}

.plan-drag-image--visual-positioned {
    display: block;
}

.plan-drag-image--visual-positioned > .is-plan-drag-preview {
    position: absolute;
}

.plan-drag-image--visual-positioned > .plan-drag-image-minimal-table {
    position: absolute;
}

.plan-drag-image .plan-drag-image-minimal-table {
    width: 100%;
    margin: 0;
    table-layout: fixed;
    border-collapse: separate;
    border-spacing: 0;
    background: transparent;
}

.plan-drag-image .plan-minimal-col-state {
    width: var(--plan-minimal-state-width);
}

.plan-drag-image .plan-minimal-col-task-client {
    width: var(--plan-minimal-task-client-width);
}

.plan-drag-image .plan-minimal-col-comment {
    width: var(--plan-minimal-comment-width);
}

.plan-drag-image .plan-minimal-col-addon-status {
    width: var(--plan-minimal-addon-status-width);
}

.plan-drag-image--weekly-flow {
    display: flex;
    align-items: flex-start;
    gap: 0;
}

.plan-drag-image-weekly-column {
    display: flex;
    flex: 0 0 auto;
    flex-direction: column;
    gap: 0;
}

.plan-drag-image-weekly-h-spacer,
.plan-drag-image-weekly-v-spacer {
    display: block;
    flex: 0 0 auto;
    opacity: 0;
    pointer-events: none;
}

.plan-drag-image-column {
    display: flex;
    flex-direction: column;
    gap: 8px;
    width: var(--plan-drag-column-width, 310px);
    min-width: var(--plan-drag-column-width, 310px);
    max-width: var(--plan-drag-column-width, 310px);
}

.plan-drag-image-column.is-positioned {
    position: relative;
    gap: 0;
    height: var(--plan-drag-image-height, auto);
}

.plan-drag-image-column.is-positioned > .is-plan-drag-preview {
    position: absolute;
    left: 0;
    right: 0;
}

.plan-drag-image-column.is-positioned > .plan-drag-image-minimal-table {
    position: absolute;
    left: 0;
    right: 0;
}

.plan-drag-image .is-plan-drag-preview {
    opacity: 1 !important;
    filter: contrast(1.34) saturate(1.18);
    transform: none !important;
}

.plan-drag-image .connectedDate_item.is-plan-drag-preview .plan-entry-card,
.plan-drag-image .connectedDate_item_minimal.is-plan-drag-preview > td,
.plan-drag-image .plan-weekly-entry.is-plan-drag-preview {
    border-color: #3f789f;
    background: #ffffff;
    box-shadow: inset 0 0 0 1px rgba(35, 92, 130, 0.72), 0 4px 12px rgba(29, 57, 78, 0.28);
    color: #24445d;
}

.plan-drag-image .connectedDate_item,
.plan-drag-image .connectedDate_item_minimal,
.plan-drag-image .plan-weekly-entry {
    width: 100%;
    max-width: 100%;
}

.plan-drag-image .connectedDate_item {
    margin-left: 0;
    margin-right: 0;
}

:is(#page-plan, .plan-table-runtime) .plan-selection-status {
    position: absolute;
    top: var(--plan-selection-status-top, 48px);
    left: 50%;
    right: auto;
    bottom: auto;
    z-index: 18;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    justify-content: flex-start;
    gap: 8px;
    width: 560px;
    max-width: calc(100% - 28px);
    padding: 11px 12px 14px;
    border: 1px solid #9fc3da;
    border-radius: 8px;
    background: linear-gradient(180deg, #ffffff 0%, #f5f9fc 100%);
    box-shadow: 0 12px 26px rgba(35, 67, 91, 0.2), inset 0 1px 0 rgba(255, 255, 255, 0.9);
    color: #274f68;
    font-size: 12px;
    font-weight: 700;
    overflow: visible;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: translate(-50%, -4px);
    transition:
        opacity 0.16s ease,
        visibility 0s linear 0.16s,
        transform 0.18s cubic-bezier(0.22, 0.78, 0.2, 1);
}

:is(#page-plan, .plan-table-runtime) .plan-selection-status.is-visible {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: translate(-50%, 0);
    transition:
        opacity 0.16s ease,
        visibility 0s linear 0s,
        transform 0.18s cubic-bezier(0.22, 0.78, 0.2, 1);
}

:is(#page-plan, .plan-table-runtime) .plan-selection-status-host .plan-selection-status {
    position: relative;
    top: auto;
    left: auto;
    right: auto;
    bottom: auto;
    margin: 0 auto;
    transform: translateY(-4px);
}

:is(#page-plan, .plan-table-runtime) .plan-selection-status-host .plan-selection-status.is-visible {
    transform: translateY(0);
}

:is(#page-plan, .plan-table-runtime) .plan-selection-status-head {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 14px;
    min-width: 0;
    width: 100%;
}

:is(#page-plan, .plan-table-runtime) .plan-selection-status-summary {
    display: flex;
    flex: 0 0 auto;
    min-width: 0;
    flex-direction: column;
    gap: 2px;
}

:is(#page-plan, .plan-table-runtime) .plan-selection-status-eyebrow {
    color: #5e7f95;
    font-size: 10px;
    font-weight: 800;
    line-height: 1;
    text-transform: uppercase;
}

:is(#page-plan, .plan-table-runtime) .plan-selection-status-count {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    color: #173f5a;
    font-size: 16px;
    font-weight: 900;
    line-height: 1.15;
}

:is(#page-plan, .plan-table-runtime) .plan-selection-status-legend {
    display: flex;
    flex: 1 1 auto;
    min-width: 0;
    flex-direction: column;
    gap: 4px;
    padding: 0;
}

:is(#page-plan, .plan-table-runtime) .plan-selection-status-legend-item {
    display: flex;
    align-items: center;
    gap: 6px;
    min-width: 0;
    color: #4d6d84;
    font-size: 10px;
    font-weight: 800;
    line-height: 1.1;
    white-space: nowrap;
}

:is(#page-plan, .plan-table-runtime) .plan-selection-status-legend-item .glyphicon {
    flex: 0 0 auto;
    font-size: 10px;
    line-height: 1;
}

:is(#page-plan, .plan-table-runtime) .plan-selection-status-legend-item--move .glyphicon {
    color: var(--plan-capability-move);
}

:is(#page-plan, .plan-table-runtime) .plan-selection-status-legend-item--duplicate .glyphicon {
    color: var(--plan-capability-duplicate);
}

:is(#page-plan, .plan-table-runtime) .plan-selection-status-legend-item--delete .glyphicon {
    color: var(--plan-capability-delete);
}

:is(#page-plan, .plan-table-runtime) .plan-selection-status.is-plan-selection-status-move-only .plan-selection-status-legend-item:not(.plan-selection-status-legend-item--move) {
    display: none;
}

:is(#page-plan, .plan-table-runtime) .plan-selection-status-actions {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: 7px;
    row-gap: 0;
    min-width: 0;
    width: 100%;
}

:is(#page-plan, .plan-table-runtime) .plan-selection-related-action {
    grid-column: 1 / -1;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 7px;
    max-height: 0;
    margin-top: 0;
    padding-bottom: 0;
    opacity: 0;
    overflow: hidden;
    pointer-events: none;
    transform: translateY(-4px);
    transform-origin: 50% 0%;
    will-change: max-height, margin-top, opacity, transform;
    transition:
        max-height 0.24s cubic-bezier(0.22, 0.78, 0.2, 1),
        margin-top 0.24s cubic-bezier(0.22, 0.78, 0.2, 1),
        padding-bottom 0.24s cubic-bezier(0.22, 0.78, 0.2, 1),
        opacity 0.18s ease,
        transform 0.24s cubic-bezier(0.22, 0.78, 0.2, 1);
}

:is(#page-plan, .plan-table-runtime) .plan-selection-related-action.is-transition-suppressed {
    transition: none !important;
}

:is(#page-plan, .plan-table-runtime) .plan-selection-related-action.is-visible {
    max-height: calc(var(--plan-selection-related-open-max-height, 40px) + 12px);
    margin-top: 7px;
    padding-bottom: 12px;
    opacity: 1;
    pointer-events: auto;
    transform: translateY(0);
}

:is(#page-plan, .plan-table-runtime) .plan-selection-action-btn,
:is(#page-plan, .plan-table-runtime) .plan-selection-delete-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: var(--bs3-btn-icon-gap, 4px);
    width: 100%;
    min-width: 0;
    min-height: 32px;
    height: 32px;
    padding: 0 10px;
    border-radius: var(--bs3-btn-border-radius, 999px);
    font-size: var(--bs3-btn-sm-font-size, 12px);
    font-weight: var(--bs3-btn-font-weight, 700);
    line-height: 1;
    text-align: center;
    white-space: nowrap;
    overflow: visible;
    box-shadow: var(--bs3-btn-shadow-current);
    transition:
        min-width 220ms cubic-bezier(0.22, 0.78, 0.2, 1),
        transform 0.16s ease,
        box-shadow 0.16s ease,
        border-color 0.16s ease,
        filter 0.16s ease,
        background 0.16s ease,
        color 0.16s ease;
    transform: translateY(0);
}

:is(#page-plan, .plan-table-runtime) .plan-selection-action-btn + .plan-selection-action-btn {
    margin-left: 0;
}

:is(#page-plan, .plan-table-runtime) .plan-selection-related-action .plan-selection-action-btn + .plan-selection-action-btn {
    margin-left: 0;
}

:is(#page-plan, .plan-table-runtime) .plan-selection-action-btn:hover,
:is(#page-plan, .plan-table-runtime) .plan-selection-action-btn:focus-visible,
:is(#page-plan, .plan-table-runtime) .plan-selection-delete-btn:hover,
:is(#page-plan, .plan-table-runtime) .plan-selection-delete-btn:focus-visible {
    transform: translateY(-1px);
    box-shadow: var(--ui-press-hover-shadow, var(--bs3-btn-hover-shadow-current));
    filter: saturate(1.05);
}

:is(#page-plan, .plan-table-runtime) .plan-selection-action-btn:active,
:is(#page-plan, .plan-table-runtime) .plan-selection-delete-btn:active {
    transform: translateY(1px);
    box-shadow: var(--ui-press-active-shadow, var(--bs3-btn-active-shadow-current));
    filter: none;
}

:is(#page-plan, .plan-table-runtime) .plan-selection-action-btn > span,
:is(#page-plan, .plan-table-runtime) .plan-selection-delete-btn > span {
    min-width: 0;
}

:is(#page-plan, .plan-table-runtime) .plan-selection-action-btn .glyphicon,
:is(#page-plan, .plan-table-runtime) .plan-selection-delete-btn .glyphicon {
    flex: 0 0 auto;
}

:is(#page-plan, .plan-table-runtime) .plan-selection-status-clear {
    flex: 0 0 auto;
    margin-left: auto;
    width: 34px;
    min-width: 34px;
    height: 34px;
    padding: 0;
    border-radius: 7px;
}

:is(#page-plan, .plan-table-runtime) .plan-selection-status.is-plan-selection-status-passive .plan-selection-status-actions,
:is(#page-plan, .plan-table-runtime) .plan-selection-status.is-plan-selection-status-passive .plan-selection-related-action,
:is(#page-plan, .plan-table-runtime) .plan-selection-status.is-plan-selection-status-no-clear .plan-selection-status-clear {
    display: none !important;
}

:is(#page-plan, .plan-table-runtime) .plan-selection-status-clear:hover,
:is(#page-plan, .plan-table-runtime) .plan-selection-status-clear:focus,
:is(#page-plan, .plan-table-runtime) .plan-selection-status-clear:focus-visible {
    justify-content: center;
}

@media (max-width: 767px) {
    :is(#page-plan, .plan-table-runtime) .plan-selection-status {
        left: 14px;
        right: 14px;
        width: auto;
        max-width: none;
        transform: translateY(-4px);
    }

    :is(#page-plan, .plan-table-runtime) .plan-selection-status.is-visible {
        transform: translateY(0);
    }

    :is(#page-plan, .plan-table-runtime) .plan-selection-status-head {
        align-items: flex-start;
        flex-wrap: wrap;
    }

    :is(#page-plan, .plan-table-runtime) .plan-selection-status-actions {
        width: 100%;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    :is(#page-plan, .plan-table-runtime) .plan-selection-status-legend {
        flex: 1 1 100%;
        order: 3;
    }

    :is(#page-plan, .plan-table-runtime) .plan-selection-status-legend-item {
        white-space: normal;
    }

    :is(#page-plan, .plan-table-runtime) .plan-selection-action-btn,
    :is(#page-plan, .plan-table-runtime) .plan-selection-delete-btn {
        min-height: 34px;
        height: 34px;
        padding-left: 7px;
        padding-right: 7px;
        font-size: 10px;
        white-space: normal;
        line-height: 1.1;
    }
}

:is(#page-plan, .plan-table-runtime) .button-cell {
    width: 1%;
    min-width: 70px;
    white-space: nowrap;
}

:is(#page-plan, .plan-table-runtime) .hours-cell {
    width: 172px;
    min-width: 160px;
}

:is(#page-plan, .plan-table-runtime) #minimalView {
    width: 100%;
    max-width: var(--plan-minimal-table-max-width);
    height: 100%;
    min-height: 0;
    max-height: 100%;
    margin: 0 auto;
    box-sizing: border-box;
    border: 0;
    border-radius: 0;
    background: transparent;
    padding: 6px;
    overflow-x: auto;
    overflow-y: auto;
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
    scrollbar-gutter: stable;
    /* Row virtualization preserves the viewport anchor explicitly. */
    overflow-anchor: none;
}

:is(#page-plan, .plan-table-runtime) .plan-minimal-table {
    --plan-minimal-actions-width: 5%;
    --plan-minimal-hours-width: 13%;
    --plan-minimal-task-width: 13%;
    --plan-minimal-client-width: 15%;
    --plan-minimal-status-width: 15%;
    --plan-minimal-comment-width: 20%;
    --plan-minimal-addon-task-width: 19%;
    --plan-minimal-addon-status-width: var(--plan-minimal-addon-task-width);
    --plan-minimal-state-width: 350px;
    --plan-minimal-task-client-width: calc(100% - var(--plan-minimal-state-width) - var(--plan-minimal-comment-width) - var(--plan-minimal-addon-status-width));
    --plan-minimal-action-neighbor-push: 0px;
    width: 100%;
    margin: 0;
    table-layout: fixed;
    border-collapse: separate;
    border-spacing: 0 6px;
    background: transparent;
}

:is(#page-plan, .plan-table-runtime) .plan-minimal-col-state {
    width: var(--plan-minimal-state-width);
}

:is(#page-plan, .plan-table-runtime) .plan-minimal-col-task-client {
    width: var(--plan-minimal-task-client-width);
    max-width: var(--plan-minimal-task-client-width);
}

:is(#page-plan, .plan-table-runtime) .plan-minimal-col-comment {
    width: var(--plan-minimal-comment-width);
    max-width: var(--plan-minimal-comment-width);
}

:is(#page-plan, .plan-table-runtime) .plan-minimal-col-addon-status {
    width: var(--plan-minimal-addon-status-width);
    max-width: var(--plan-minimal-addon-status-width);
}

:is(#page-plan, .plan-table-runtime) .plan-minimal-table .plan-minimal-columns > :nth-child(1),
:is(#page-plan, .plan-table-runtime) .plan-minimal-table tbody > tr:not(.plan-minimal-empty) > :nth-child(1) {
    width: var(--plan-minimal-state-width);
}

:is(#page-plan, .plan-table-runtime) .plan-minimal-table .plan-minimal-columns > :nth-child(2),
:is(#page-plan, .plan-table-runtime) .plan-minimal-table tbody > tr:not(.plan-minimal-empty) > :nth-child(2) {
    width: var(--plan-minimal-task-client-width);
}

:is(#page-plan, .plan-table-runtime) .plan-minimal-table .plan-minimal-columns > :nth-child(3),
:is(#page-plan, .plan-table-runtime) .plan-minimal-table tbody > tr:not(.plan-minimal-empty) > :nth-child(3) {
    width: var(--plan-minimal-comment-width);
}

:is(#page-plan, .plan-table-runtime) .plan-minimal-table .plan-minimal-columns > :nth-child(4),
:is(#page-plan, .plan-table-runtime) .plan-minimal-table tbody > tr:not(.plan-minimal-empty) > :nth-child(4) {
    width: var(--plan-minimal-addon-status-width);
}

:is(#page-plan, .plan-table-runtime) .plan-minimal-table > thead > tr > th,
:is(#page-plan, .plan-table-runtime) .plan-minimal-table > thead > tr > td {
    border: 0 !important;
    background: transparent !important;
}

:is(#page-plan, .plan-table-runtime) .plan-minimal-table .plan-minimal-columns > th,
:is(#page-plan, .plan-table-runtime) .plan-minimal-table tbody > tr:not(.plan-minimal-empty) > td {
    min-width: 0;
    overflow: hidden;
    box-sizing: border-box;
}

:is(#page-plan, .plan-table-runtime) .plan-minimal-table tbody > tr:not(.plan-minimal-empty) > td.plan-min-row-actions {
    position: relative;
    height: 1px;
    overflow: visible !important;
    z-index: 5;
}

:is(#page-plan, .plan-table-runtime) .plan-minimal-day-head > td {
    padding: 0 0 6px;
}

:is(#page-plan, .plan-table-runtime) .plan-minimal-table > thead:not(:first-of-type) .plan-minimal-day-head > td {
    padding-top: 32px;
}

/* A virtual spacer means the first rendered date is not the first list date. */
:is(#page-plan, .plan-table-runtime) .plan-minimal-table > tbody.plan-minimal-virtual-spacer-top + thead .plan-minimal-day-head > td {
    padding-top: 32px;
}

:is(#page-plan, .plan-table-runtime) .plan-minimal-day-header {
    display: grid;
    grid-template-columns: max-content 270px minmax(max-content, 1fr);
    gap: 14px;
    align-items: center;
    padding: 8px 10px;
    border: 1px solid var(--plan-column-border);
    border-radius: 10px;
    background: var(--plan-header-gradient);
}

:is(#page-plan, .plan-table-runtime) .plan-minimal-day-title-wrap {
    min-width: 0;
}

:is(#page-plan, .plan-table-runtime) .plan-minimal-day-title {
    float: none;
    margin: 0;
    padding: 0;
    color: var(--plan-text-strong);
    font-size: 22px;
    line-height: 1.06;
}

:is(#page-plan, .plan-table-runtime) .plan-minimal-day-metrics {
    display: grid;
    grid-template-columns: repeat(3, minmax(96px, 1fr));
    gap: 6px;
}

:is(#page-plan, .plan-table-runtime) .plan-minimal-day-actions {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    justify-self: end;
    gap: 4px;
}

:is(#page-plan, .plan-table-runtime) .plan-minimal-columns th {
    border: 0 !important;
    color: #54708a;
    font-size: 11px;
    font-weight: 700;
    line-height: 1.05;
    text-transform: uppercase;
    letter-spacing: 0.03em;
    vertical-align: middle !important;
    padding: 2px 8px !important;
}

:is(#page-plan, .plan-table-runtime) .plan-minimal-header-stack {
    display: inline-flex;
    flex-direction: column;
    justify-content: center;
    gap: 0;
    line-height: 1.05;
}

:is(#page-plan, .plan-table-runtime) .plan-minimal-columns .plan-minimal-col-state {
    text-align: right;
}

:is(#page-plan, .plan-table-runtime) .plan-min-row {
    --plan-min-row-accent-top: var(--state-skipped-base, #d8e0e6);
    --plan-min-row-accent-bottom: var(--state-skipped-border, #9caeb8);
}

:is(#page-plan, .plan-table-runtime) .plan-min-row--time {
    --plan-min-row-accent-top: var(--state-active-top, #d8ecfb);
    --plan-min-row-accent-bottom: var(--state-active-base, #9ec3e9);
}

:is(#page-plan, .plan-table-runtime) .plan-min-row.is-done {
    --plan-min-row-accent-top: #74b386;
    --plan-min-row-accent-bottom: #3f7f55;
}

:is(#page-plan, .plan-table-runtime) .plan-min-row.has-deadline-outstanding {
    --plan-min-row-accent-top: var(--state-outstanding-base, #f6c96b);
    --plan-min-row-accent-bottom: var(--state-outstanding-border, #c99533);
}

:is(#page-plan, .plan-table-runtime) .plan-min-row.has-deadline-overdue {
    --plan-min-row-accent-top: var(--state-overdue-base, #e98f82);
    --plan-min-row-accent-bottom: var(--state-overdue-border, #c8675b);
}

:is(#page-plan, .plan-table-runtime) .plan-min-row.has-receipt-missing {
    --plan-min-row-accent-top: var(--state-delayed-base, #f3c889);
    --plan-min-row-accent-bottom: var(--state-delayed-border, #cc9c51);
}

:is(#page-plan, .plan-table-runtime) .plan-minimal-table tbody tr {
    --plan-min-identity-stack-height: 25px;
    background: var(--plan-card-gradient);
    box-shadow: var(--plan-card-shadow);
}

:is(#page-plan, .plan-table-runtime) .plan-minimal-table tbody tr:has(.plan-min-client-display) {
    --plan-min-identity-stack-height: 54px;
}

:is(#page-plan, .plan-table-runtime) .plan-minimal-table tbody tr.plan-min-row > td:first-child {
    position: relative;
    box-shadow: none;
}

:is(#page-plan, .plan-table-runtime) .plan-minimal-table tbody tr.plan-min-row > td:first-child::before {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    width: 3px;
    border-radius: 9px 0 0 9px;
    background: linear-gradient(180deg, var(--plan-min-row-accent-top) 0%, var(--plan-min-row-accent-bottom) 100%);
    opacity: 1;
}

:is(#page-plan, .plan-table-runtime) .plan-minimal-table tbody.plan-minimal-virtual-spacer,
:is(#page-plan, .plan-table-runtime) .plan-minimal-table tbody.plan-minimal-virtual-spacer tr,
:is(#page-plan, .plan-table-runtime) .plan-minimal-table tbody.plan-minimal-virtual-spacer td {
    background: transparent !important;
    box-shadow: none !important;
    border: 0 !important;
}

:is(#page-plan, .plan-table-runtime) .plan-minimal-table tbody.plan-minimal-virtual-spacer tr td:first-child {
    box-shadow: none !important;
    border-radius: 0 !important;
}

:is(#page-plan, .plan-table-runtime) .plan-minimal-table tbody tr.is-done {
    background: linear-gradient(180deg, #f1faf4 0%, #deefe4 100%);
    box-shadow: 0 1px 5px rgba(56, 112, 75, 0.18);
}

:is(#page-plan, .plan-table-runtime) .plan-minimal-table tbody tr.connectedDate_item_minimal.is-plan-highlighted {
    background: linear-gradient(180deg, #f7fff8 0%, #e3f8e7 100%);
    box-shadow: 0 0 0 1px rgba(95, 201, 107, 0.28), var(--plan-card-shadow);
}

:is(#page-plan, .plan-table-runtime) .plan-minimal-table tbody tr.connectedDate_item_minimal.is-plan-highlighted > td:first-child::before {
    width: 5px;
    background: linear-gradient(180deg, #7bdc86 0%, #2fa944 100%);
}

:is(#page-plan, .plan-table-runtime) .plan-minimal-table tbody tr.is-done .plan-min-line {
    color: #2f6544;
}

:is(#page-plan, .plan-table-runtime) .plan-minimal-table tbody tr td {
    border: 0 !important;
    vertical-align: middle;
    padding: 7px 8px;
    background: inherit;
    min-width: 0;
}

:is(#page-plan, .plan-table-runtime) .plan-minimal-table tbody tr td:first-child {
    border-top-left-radius: 9px;
    border-bottom-left-radius: 9px;
}

:is(#page-plan, .plan-table-runtime) .plan-minimal-table tbody tr td:last-child {
    border-top-right-radius: 9px;
    border-bottom-right-radius: 9px;
}

:is(#page-plan, .plan-table-runtime) .plan-minimal-table tbody tr.plan-minimal-empty {
    background: transparent;
    box-shadow: none;
}

:is(#page-plan, .plan-table-runtime) .plan-minimal-table tbody tr.plan-minimal-empty > td,
:is(#page-plan, .plan-table-runtime) .plan-minimal-table tbody tr.plan-minimal-empty > td:first-child,
:is(#page-plan, .plan-table-runtime) .plan-minimal-table tbody tr.plan-minimal-empty > td:last-child {
    padding: 6px 8px;
    background: transparent;
    box-shadow: none;
}

:is(#page-plan, .plan-table-runtime) .plan-minimal-table tbody tr.connectedDate_item_minimal.is-plan-selected:not(.is-done):not(.is-plan-drag-preview) {
    background: var(--plan-selection-bg);
}

:is(#page-plan, .plan-table-runtime) .plan-minimal-table tbody tr.connectedDate_item_minimal.is-plan-selected:not(.is-plan-drag-preview) > td {
    background: inherit;
    box-shadow: inset 0 2px 0 var(--plan-selection-border), inset 0 -2px 0 var(--plan-selection-border);
}

:is(#page-plan, .plan-table-runtime) .plan-minimal-table tbody tr.connectedDate_item_minimal.is-plan-selected:not(.is-plan-drag-preview) > td:first-child {
    box-shadow: inset 2px 0 0 var(--plan-selection-border), inset 0 2px 0 var(--plan-selection-border), inset 0 -2px 0 var(--plan-selection-border);
}

:is(#page-plan, .plan-table-runtime) .plan-minimal-table tbody tr.connectedDate_item_minimal.is-plan-selected:not(.is-plan-drag-preview) > td:last-child {
    box-shadow: inset -2px 0 0 var(--plan-selection-border), inset 0 2px 0 var(--plan-selection-border), inset 0 -2px 0 var(--plan-selection-border);
}

:is(#page-plan, .plan-table-runtime) .plan-minimal-table tbody tr.connectedDate_item_minimal.is-plan-selected.is-done:not(.is-plan-drag-preview) > td:first-child {
    box-shadow: inset 2px 0 0 var(--plan-selection-border), inset 0 2px 0 var(--plan-selection-border), inset 0 -2px 0 var(--plan-selection-border);
}

:is(#page-plan, .plan-table-runtime) .plan-min-row-actions form {
    margin: 0;
}

:is(#page-plan, .plan-table-runtime) .plan-min-row-actions .btn-group {
    display: inline-flex;
    align-items: center;
    gap: 0;
    flex-wrap: nowrap;
}

:is(#page-plan, .plan-table-runtime) .plan-min-row-actions .btn-group > form {
    margin: 0;
    display: inline-flex;
}

:is(#page-plan, .plan-table-runtime) .plan-min-row-actions .btn-group .btn {
    min-width: 24px;
    height: 24px;
    padding: 0 6px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

:is(#page-plan, .plan-table-runtime) .plan-min-row-actions .btn-group > .btn + form > .btn,
:is(#page-plan, .plan-table-runtime) .plan-min-row-actions .btn-group > form + .btn,
:is(#page-plan, .plan-table-runtime) .plan-min-row-actions .btn-group > form + form > .btn {
    margin-left: -1px;
}

:is(#page-plan, .plan-table-runtime) .plan-min-row-actions .btn-group > form:first-child:not(:last-child) > .btn {
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
}

:is(#page-plan, .plan-table-runtime) .plan-min-row-actions .btn-group > form:last-child:not(:first-child) > .btn {
    border-top-left-radius: 0;
    border-bottom-left-radius: 0;
}

:is(#page-plan, .plan-table-runtime) .plan-min-row-actions .btn-group > form:not(:first-child):not(:last-child) > .btn {
    border-radius: 0;
}

:is(#page-plan, .plan-table-runtime) .plan-item-action-form {
    margin: 0;
    position: relative;
    min-height: 24px;
}

:is(#page-plan, .plan-table-runtime) .plan-entry-actions.plan-item-action-form {
    position: relative;
    top: auto;
    right: auto;
    flex: 0 0 auto;
    align-self: flex-start;
    margin: 0 0 0 auto;
    z-index: 5;
}

:is(#page-plan, .plan-table-runtime) .plan-item-actions-row {
    display: inline-flex;
    align-items: center;
    justify-content: flex-end;
    gap: 0;
    min-width: 0;
    position: relative;
    z-index: 4;
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
    transition:
        opacity 0.18s ease,
        visibility 0s linear 0s,
        transform 0.18s cubic-bezier(0.22, 0.78, 0.2, 1);
}

:is(#page-plan, .plan-table-runtime) .plan-capability-pills {
    position: absolute;
    top: 0;
    right: 0;
    z-index: 5;
    display: inline-flex;
    align-items: center;
    justify-content: flex-end;
    gap: 2px;
    min-height: 24px;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: translateY(4px);
    transition:
        opacity 0.18s ease,
        visibility 0s linear 0.16s,
        transform 0.18s cubic-bezier(0.22, 0.78, 0.2, 1);
}

:is(#page-plan, .plan-table-runtime) .connectedDate_item_minimal .plan-capability-pills {
    left: 0;
    right: auto;
    justify-content: flex-start;
}

:is(#page-plan, .plan-table-runtime) .plan-weekly-entry .plan-capability-pills {
    top: 50%;
    right: 5px;
    transform: translateY(calc(-50% + 4px));
}

:is(#page-plan, .plan-table-runtime) .plan-capability-pills.is-visible {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: translateY(0);
    transition:
        opacity 0.18s ease,
        visibility 0s linear 0s,
        transform 0.18s cubic-bezier(0.22, 0.78, 0.2, 1);
}

:is(#page-plan, .plan-table-runtime) .plan-weekly-entry .plan-capability-pills.is-visible {
    transform: translateY(-50%);
}

:is(#page-plan, .plan-table-runtime) .has-plan-capability-pills.is-plan-selected .plan-item-actions-row,
:is(#page-plan, .plan-table-runtime) .has-plan-capability-pills.is-plan-selected .plan-weekly-entry-period {
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: translateY(-4px);
    transition:
        opacity 0.16s ease,
        visibility 0s linear 0.16s,
        transform 0.18s cubic-bezier(0.22, 0.78, 0.2, 1);
}

:is(#page-plan, .plan-table-runtime) .plan-capability-pill {
    display: none;
    position: relative;
    align-items: center;
    justify-content: center;
    width: 22px;
    height: 22px;
    border: 0;
    border-radius: 6px;
    outline: 0;
    background: #ffffff;
    box-shadow: var(--ui-badge-shadow, 0 1px 3px rgba(0,0,0,0.2));
    font-size: 9px;
    line-height: 1;
}

:is(#page-plan, .plan-table-runtime) .plan-capability-pill.is-available {
    display: inline-flex;
}

:is(#page-plan, .plan-table-runtime) .plan-capability-pill--move {
    color: var(--plan-capability-move);
    background: #eef7fd;
}

:is(#page-plan, .plan-table-runtime) .plan-capability-pill--duplicate {
    color: var(--plan-capability-duplicate);
    background: #edf9f7;
}

:is(#page-plan, .plan-table-runtime) .plan-capability-pill--delete {
    color: var(--plan-capability-delete);
    background: #fff8e7;
}

:is(#page-plan, .plan-table-runtime) .plan-min-row-actions .plan-item-actions-row {
    justify-content: flex-start;
    width: max-content;
    max-width: none;
    transition:
        opacity 0.18s ease,
        visibility 0s linear 0s,
        transform 0.18s cubic-bezier(0.22, 0.78, 0.2, 1);
}

@supports selector(:has(*)) {
    :is(#page-plan, .plan-table-runtime) .plan-min-row-actions .plan-item-actions-row:has(> .plan-action-btn:is(:hover, :focus, :focus-visible)),
    :is(#page-plan, .plan-table-runtime) .plan-min-row-actions .plan-item-actions-row:has(> .plan-row-menu:is(:hover, :focus-within, .hover-card-open)) {
        width: max-content;
    }

    :is(#page-plan, .plan-table-runtime) .plan-min-row-actions .plan-item-actions-row:has(> .plan-action-btn:is(:hover, :focus, :focus-visible)) > .plan-action-btn,
    :is(#page-plan, .plan-table-runtime) .plan-min-row-actions .plan-item-actions-row:has(> .plan-row-menu:is(:hover, :focus-within, .hover-card-open)) > .plan-action-btn,
    :is(#page-plan, .plan-table-runtime) .plan-min-row-actions .plan-item-actions-row:has(> .plan-action-btn:is(:hover, :focus, :focus-visible)) > .plan-row-menu,
    :is(#page-plan, .plan-table-runtime) .plan-min-row-actions .plan-item-actions-row:has(> .plan-row-menu:is(:hover, :focus-within, .hover-card-open)) > .plan-row-menu {
        flex: 0 0 24px;
        min-width: 0;
    }

    :is(#page-plan, .plan-table-runtime) .plan-min-row-actions .plan-item-actions-row:has(> .plan-action-btn:is(:hover, :focus, :focus-visible)) > .plan-action-btn:is(:hover, :focus, :focus-visible),
    :is(#page-plan, .plan-table-runtime) .plan-min-row-actions .plan-item-actions-row:has(> .plan-row-menu:is(:hover, :focus-within, .hover-card-open)) > .plan-row-menu:is(:hover, :focus-within, .hover-card-open) {
        flex: 0 0 auto;
        min-width: 0;
    }

    :is(#page-plan, .plan-table-runtime) .plan-min-row-actions .plan-item-actions-row:has(> .plan-row-menu:is(:hover, :focus-within, .hover-card-open)) > .plan-row-menu:is(:hover, :focus-within, .hover-card-open) .row-menu-toggle {
        width: auto;
        min-width: 0;
    }
}

:is(#page-plan, .plan-table-runtime) .plan-action-btn,
:is(#page-plan, .plan-table-runtime) .plan-row-menu .row-menu-toggle {
    width: auto;
    min-width: 24px;
    height: 24px;
    padding: 0 6px !important;
    border-width: var(--bs3-btn-border-width);
    border-style: solid;
    border-color: var(--bs3-btn-tone-border-current);
    border-radius: var(--bs3-btn-border-radius) !important;
    background: linear-gradient(
        180deg,
        var(--bs3-btn-tone-top-current) 0%,
        var(--bs3-btn-tone-base-current) 100%
    );
    color: var(--bs3-btn-tone-text-current);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0;
    overflow: hidden;
    white-space: nowrap;
    box-shadow: var(--bs3-btn-shadow-current);
    transition:
        min-width 220ms cubic-bezier(0.22, 0.78, 0.2, 1),
        transform 0.16s ease,
        box-shadow 0.16s ease,
        border-color 0.16s ease,
        filter 0.16s ease,
        background 0.16s ease,
        color 0.16s ease;
}

:is(#page-plan, .plan-table-runtime) .plan-row-menu.plan-time-actions-menu .row-menu-toggle {
    min-width: 38px;
    padding-right: 9px !important;
    padding-left: 9px !important;
    border-radius: 999px !important;
    justify-content: center;
}

:is(#page-plan, .plan-table-runtime) .plan-item-actions-row.has-multiple-actions > .plan-action-btn + .plan-action-btn,
:is(#page-plan, .plan-table-runtime) .plan-item-actions-row.has-multiple-actions > .plan-row-menu {
    margin-left: -1px;
}

:is(#page-plan, .plan-table-runtime) .plan-item-actions-row.has-multiple-actions > .plan-action-btn:not(:last-child) {
    border-top-right-radius: 0 !important;
    border-bottom-right-radius: 0 !important;
}

:is(#page-plan, .plan-table-runtime) .plan-item-actions-row.has-multiple-actions > .plan-action-btn:not(:first-child) {
    border-top-left-radius: 0 !important;
    border-bottom-left-radius: 0 !important;
}

:is(#page-plan, .plan-table-runtime) .plan-item-actions-row.has-multiple-actions > .plan-row-menu:not(:first-child) .row-menu-toggle {
    border-top-left-radius: 0 !important;
    border-bottom-left-radius: 0 !important;
}

:is(#page-plan, .plan-table-runtime) .plan-item-actions-row.has-multiple-actions > .plan-row-menu:not(:last-child) .row-menu-toggle {
    border-top-right-radius: 0 !important;
    border-bottom-right-radius: 0 !important;
}

:is(#page-plan, .plan-table-runtime) .plan-action-btn:hover,
:is(#page-plan, .plan-table-runtime) .plan-action-btn:focus {
    justify-content: flex-start;
    transform: translateY(-1px);
    filter: saturate(1.06) brightness(1.02);
    border-color: var(--bs3-btn-tone-border-current);
    background: linear-gradient(
        180deg,
        color-mix(in srgb, var(--bs3-btn-tone-top-current) 92%, white) 0%,
        color-mix(in srgb, var(--bs3-btn-tone-base-current) 92%, white) 100%
    );
    color: var(--bs3-btn-tone-text-current);
    box-shadow: var(--bs3-btn-hover-shadow-current);
    text-decoration: none;
}

:is(#page-plan, .plan-table-runtime) .plan-row-menu .row-menu-toggle:hover,
:is(#page-plan, .plan-table-runtime) .plan-row-menu .row-menu-toggle:focus,
:is(#page-plan, .plan-table-runtime) .plan-row-menu.hover-card-open .row-menu-toggle {
    justify-content: flex-start;
    transform: translateY(-1px);
    filter: saturate(1.06) brightness(1.02);
    border-color: var(--bs3-btn-tone-border-current);
    background: linear-gradient(
        180deg,
        color-mix(in srgb, var(--bs3-btn-tone-top-current) 92%, white) 0%,
        color-mix(in srgb, var(--bs3-btn-tone-base-current) 92%, white) 100%
    );
    color: var(--bs3-btn-tone-text-current);
    box-shadow: var(--bs3-btn-hover-shadow-current);
    text-decoration: none;
}

:is(#page-plan, .plan-table-runtime) .plan-row-menu .row-menu-toggle:hover,
:is(#page-plan, .plan-table-runtime) .plan-row-menu .row-menu-toggle:focus,
:is(#page-plan, .plan-table-runtime) .plan-row-menu.hover-card-open .row-menu-toggle {
    color: var(--bs3-btn-tone-text-current);
}

:is(#page-plan, .plan-table-runtime) .plan-action-btn:active,
:is(#page-plan, .plan-table-runtime) .plan-row-menu .row-menu-toggle:active {
    transform: translateY(1px);
    filter: none;
    border-color: var(--bs3-btn-tone-border-current);
    background: linear-gradient(
        180deg,
        var(--bs3-btn-tone-top-current) 0%,
        var(--bs3-btn-tone-base-current) 100%
    );
    color: var(--bs3-btn-tone-text-current);
    box-shadow: var(--bs3-btn-active-shadow-current);
}

:is(#page-plan, .plan-table-runtime) .plan-done-toggle-btn {
    --plan-done-tone-base: color-mix(in srgb, var(--state-done-base, #a8d4b2) 76%, #ffffff 24%);
    --plan-done-tone-border: color-mix(in srgb, var(--state-done-border, #5e9a6a) 86%, #6f879f 14%);
    --plan-done-tone-soft: color-mix(in srgb, var(--state-done-base, #a8d4b2) 16%, #ffffff 84%);
    --plan-done-tone-text: var(--state-done-text, #245533);
    border-width: 1px;
    border-style: solid;
}

:is(#page-plan, .plan-table-runtime) .plan-done-toggle-btn.is-done {
    background: linear-gradient(
        180deg,
        color-mix(in srgb, var(--plan-done-tone-base) 78%, #f4fbf6 22%) 0%,
        color-mix(in srgb, var(--plan-done-tone-base) 66%, var(--plan-done-tone-border) 34%) 100%
    );
    border-color: color-mix(in srgb, var(--plan-done-tone-border) 86%, #456f4d 14%);
    border-style: solid;
    color: color-mix(in srgb, var(--plan-done-tone-text) 88%, #14321d 12%);
    box-shadow:
        0 2px 0 color-mix(in srgb, var(--plan-done-tone-border) 70%, #2c5635 30%),
        0 5px 10px rgba(72, 126, 82, 0.22),
        inset 0 1px 0 rgba(255, 255, 255, 0.44),
        inset 0 -1px 0 rgba(0, 0, 0, 0.08);
}

:is(#page-plan, .plan-table-runtime) .plan-done-toggle-btn.is-open {
    background: linear-gradient(180deg, #ffffff 0%, var(--plan-done-tone-soft) 100%);
    border-color: color-mix(in srgb, var(--plan-done-tone-border) 56%, #bed8c5 44%);
    border-style: solid;
    color: color-mix(in srgb, var(--plan-done-tone-text) 88%, #526d57 12%);
    box-shadow:
        0 2px 0 color-mix(in srgb, var(--plan-done-tone-border) 42%, #87aa8e 58%),
        0 5px 10px rgba(91, 130, 98, 0.18),
        inset 0 1px 0 rgba(255, 255, 255, 0.96),
        inset 0 -1px 0 rgba(0, 0, 0, 0.02);
}

:is(#page-plan, .plan-table-runtime) .plan-done-toggle-btn.is-done:hover,
:is(#page-plan, .plan-table-runtime) .plan-done-toggle-btn.is-done:focus {
    background: linear-gradient(
        180deg,
        color-mix(in srgb, var(--plan-done-tone-base) 84%, #f8fcf9 16%) 0%,
        color-mix(in srgb, var(--plan-done-tone-base) 70%, var(--plan-done-tone-border) 30%) 100%
    );
    border-color: color-mix(in srgb, var(--plan-done-tone-border) 88%, #517b59 12%);
    color: color-mix(in srgb, var(--plan-done-tone-text) 92%, #0f2a17 8%);
    box-shadow:
        0 3px 0 color-mix(in srgb, var(--plan-done-tone-border) 70%, #285030 30%),
        0 7px 13px rgba(68, 120, 78, 0.25),
        inset 0 1px 0 rgba(255, 255, 255, 0.54),
        inset 0 -1px 0 rgba(0, 0, 0, 0.06);
}

:is(#page-plan, .plan-table-runtime) .plan-done-toggle-btn.is-open:hover,
:is(#page-plan, .plan-table-runtime) .plan-done-toggle-btn.is-open:focus {
    background: linear-gradient(
        180deg,
        color-mix(in srgb, #ffffff 72%, var(--plan-done-tone-soft) 28%) 0%,
        color-mix(in srgb, var(--plan-done-tone-soft) 84%, white) 100%
    );
    border-color: color-mix(in srgb, var(--plan-done-tone-border) 66%, #b5d2bc 34%);
    border-style: solid;
    color: color-mix(in srgb, var(--plan-done-tone-text) 92%, #425d47 8%);
    box-shadow:
        0 3px 0 color-mix(in srgb, var(--plan-done-tone-border) 48%, #7da485 52%),
        0 7px 13px rgba(88, 127, 96, 0.20),
        inset 0 1px 0 rgba(255, 255, 255, 0.98),
        inset 0 -1px 0 rgba(0, 0, 0, 0.02);
}

:is(#page-plan, .plan-table-runtime) .plan-done-toggle-btn.is-updating {
    cursor: wait;
    opacity: 0.78;
}

:is(#page-plan, .plan-table-runtime) .plan-action-btn:focus-visible,
:is(#page-plan, .plan-table-runtime) .plan-row-menu .row-menu-toggle:focus-visible {
    outline: none;
    box-shadow: 0 0 0 2px rgba(61, 122, 169, 0.22), 0 0 0 5px rgba(61, 122, 169, 0.42);
}

:is(#page-plan, .plan-table-runtime) .plan-action-btn .glyphicon,
:is(#page-plan, .plan-table-runtime) .plan-row-menu .row-menu-dots {
    flex: 0 0 auto;
}

:is(#page-plan, .plan-table-runtime) .plan-row-menu .row-menu-dots {
    font-size: 15px;
    font-weight: 800;
    line-height: 1;
    transform: translateY(-1px);
}

:is(#page-plan, .plan-table-runtime) .plan-action-btn-text,
:is(#page-plan, .plan-table-runtime) .plan-row-menu .row-menu-text {
    display: inline-block;
    max-width: 0;
    margin-left: 0;
    opacity: 0;
    overflow: hidden;
    text-overflow: clip;
    white-space: nowrap;
    font-size: 12px;
    font-weight: 700;
    line-height: 1;
    transition:
        max-width 220ms cubic-bezier(0.22, 0.78, 0.2, 1),
        margin-left 220ms cubic-bezier(0.22, 0.78, 0.2, 1),
        opacity 160ms ease;
}

:is(#page-plan, .plan-table-runtime) .plan-action-btn:hover .plan-action-btn-text,
:is(#page-plan, .plan-table-runtime) .plan-action-btn:focus .plan-action-btn-text,
:is(#page-plan, .plan-table-runtime) .plan-action-btn:focus-visible .plan-action-btn-text,
:is(#page-plan, .plan-table-runtime) .plan-row-menu .row-menu-toggle:hover .row-menu-text,
:is(#page-plan, .plan-table-runtime) .plan-row-menu .row-menu-toggle:focus .row-menu-text,
:is(#page-plan, .plan-table-runtime) .plan-row-menu .row-menu-toggle:focus-visible .row-menu-text,
:is(#page-plan, .plan-table-runtime) .plan-row-menu:hover .row-menu-toggle .row-menu-text,
:is(#page-plan, .plan-table-runtime) .plan-row-menu:focus-within .row-menu-toggle .row-menu-text,
:is(#page-plan, .plan-table-runtime) .plan-row-menu.hover-card-open .row-menu-toggle .row-menu-text {
    max-width: 160px;
    margin-left: 6px;
    opacity: 1;
}

:is(#page-plan, .plan-table-runtime) .plan-row-menu {
    display: inline-flex;
    align-items: center;
    position: relative;
}

:is(#page-plan, .plan-table-runtime) .plan-embedded-action-menu {
    flex-direction: column;
    align-items: flex-end;
    z-index: 6;
}

:is(#page-plan, .plan-table-runtime) .plan-item-actions-row.has-embedded-context-actions {
    align-items: flex-start;
}

:is(#page-plan, .plan-table-runtime) .plan-embedded-action-menu > summary {
    list-style: none;
    cursor: pointer;
}

:is(#page-plan, .plan-table-runtime) .plan-embedded-action-menu > summary::-webkit-details-marker {
    display: none;
}

:is(#page-plan, .plan-table-runtime) .plan-embedded-action-menu[open] > summary {
    justify-content: flex-start;
    transform: translateY(-1px);
    border-color: var(--bs3-btn-tone-border-current);
    background: linear-gradient(
        180deg,
        var(--bs3-btn-tone-top-current) 0%,
        var(--bs3-btn-tone-base-current) 100%
    );
    color: var(--bs3-btn-tone-text-current);
    box-shadow: var(--bs3-btn-hover-shadow-current);
}

:is(#page-plan, .plan-table-runtime) .plan-embedded-action-menu[open] > summary .row-menu-text {
    max-width: 160px;
    margin-left: 6px;
    opacity: 1;
}

:is(#page-plan, .plan-table-runtime) .plan-embedded-action-menu-items {
    position: absolute;
    top: calc(100% + 6px);
    right: 0;
    z-index: 1;
    width: max-content;
    min-width: 170px;
    max-width: min(250px, calc(100vw - 72px));
    overflow: hidden;
    border: 1px solid #b9ccda;
    border-radius: 9px;
    background: #ffffff;
    box-shadow: 0 10px 22px rgba(27, 55, 75, 0.2);
}

:is(#page-plan, .plan-table-runtime) .plan-embedded-action-menu-items .row-menu-item {
    display: block;
    width: 100%;
    padding: 8px 11px;
    border: none;
    background: transparent;
    color: #2c536d;
    text-align: left;
    white-space: nowrap;
    cursor: pointer;
    box-sizing: border-box;
    transition: background-color 0.14s ease, color 0.14s ease;
}

:is(#page-plan, .plan-table-runtime) .plan-embedded-action-menu-items .row-menu-item + .row-menu-item {
    border-top: 1px solid #edf3f7;
}

:is(#page-plan, .plan-table-runtime) .plan-embedded-action-menu-items .row-menu-item:hover,
:is(#page-plan, .plan-table-runtime) .plan-embedded-action-menu-items .row-menu-item:focus {
    background: #eef5fa;
    color: #24485f;
    text-decoration: none;
}

.plan-actions-hover-card.row-actions-hover-card {
    display: none;
    position: fixed;
    left: 0;
    top: 0;
    background: #ffffff;
    border: 2px solid #158cba;
    border-radius: 12px;
    box-shadow: 0 12px 32px rgba(21, 140, 186, 0.2), 0 4px 12px rgba(0, 0, 0, 0.15);
    padding: 0;
    min-width: 230px;
    max-width: 280px;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: translateY(-8px);
    z-index: 200000;
    font-size: 13px;
}

.plan-actions-hover-card.row-actions-hover-card.transitioning {
    display: block;
    transition: opacity 0.2s ease, visibility 0.2s ease, transform 0.2s ease;
}

.plan-actions-hover-card.row-actions-hover-card.show {
    display: block;
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: translateY(0);
    transition: opacity 0.2s ease, visibility 0.2s ease, transform 0.2s ease;
}

.plan-actions-hover-card.row-actions-hover-card.position-above {
    transform: translateY(8px);
}

.plan-actions-hover-card.row-actions-hover-card.position-above.show {
    transform: translateY(0);
}

.plan-actions-hover-card.row-actions-hover-card .card-body {
    position: relative;
    padding: 0;
    background: #ffffff;
    border-radius: 10px;
    clip-path: inset(0 round 10px);
    overflow: hidden;
    scrollbar-gutter: auto;
}

.plan-actions-hover-card .row-menu-item {
    display: block;
    width: 100%;
    padding: 9px 12px;
    border: none;
    background: transparent;
    color: #2f4657;
    font-size: 12px;
    font-weight: 600;
    line-height: 1.25;
    text-align: left;
    text-decoration: none;
    cursor: pointer;
    box-sizing: border-box;
    transition: background-color 0.14s ease, color 0.14s ease;
}

.plan-actions-hover-card .row-menu-item + .row-menu-item {
    border-top: 1px solid #edf3f7;
}

.plan-actions-hover-card .row-menu-item:hover,
.plan-actions-hover-card .row-menu-item:focus {
    background: #eef5fa;
    color: #24485f;
    text-decoration: none;
}

.plan-actions-hover-card .row-menu-item.is-disabled,
.plan-actions-hover-card .row-menu-item:disabled {
    background: #f7f9fb;
    color: #95a4b1;
    cursor: not-allowed;
}

.plan-actions-hover-card.row-actions-hover-card:not(.position-above)::before,
.plan-actions-hover-card.row-actions-hover-card:not(.position-above)::after,
.plan-actions-hover-card.row-actions-hover-card.position-above::before,
.plan-actions-hover-card.row-actions-hover-card.position-above::after {
    content: '';
    position: absolute;
    left: var(--arrow-left, 50px);
    width: 18px;
    height: 10px;
    background: #158cba;
    clip-path: polygon(50% 0, 0 100%, 100% 100%);
    z-index: 2;
    pointer-events: none;
}

.plan-actions-hover-card.row-actions-hover-card:not(.position-above)::before {
    top: -10px;
    transform: translateX(-50%);
}

.plan-actions-hover-card.row-actions-hover-card:not(.position-above)::after {
    top: -8px;
    width: 14px;
    height: 8px;
    transform: translateX(-50%);
    z-index: 3;
}

.plan-actions-hover-card.row-actions-hover-card.position-above::before {
    bottom: -10px;
    transform: translateX(-50%) rotate(180deg);
}

.plan-actions-hover-card.row-actions-hover-card.position-above::after {
    bottom: -8px;
    width: 14px;
    height: 8px;
    transform: translateX(-50%) rotate(180deg);
    z-index: 3;
}

:is(#page-plan, .plan-table-runtime) .plan-min-state,
:is(#page-plan, .plan-table-runtime) .plan-min-task-client,
:is(#page-plan, .plan-table-runtime) .plan-min-comment,
:is(#page-plan, .plan-table-runtime) .plan-min-addon-status {
    min-width: 0;
    overflow: hidden;
}

:is(#page-plan, .plan-table-runtime) .plan-min-row-actions {
    overflow: visible !important;
}

:is(#page-plan, .plan-table-runtime) .plan-min-state-shell {
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 5px;
    min-width: 0;
    width: 100%;
    height: 100%;
}

:is(#page-plan, .plan-table-runtime) .plan-min-state-top {
    display: grid;
    grid-template-columns: max-content minmax(0, 1fr);
    align-items: flex-start;
    justify-content: flex-start;
    gap: 7px;
    min-width: 0;
}

:is(#page-plan, .plan-table-runtime) .plan-min-state-top > .plan-min-hours-status:only-child {
    grid-column: 1 / -1;
}

:is(#page-plan, .plan-table-runtime) .plan-min-state-top > .plan-item-action-form,
:is(#page-plan, .plan-table-runtime) .plan-min-state-top > .plan-min-lock {
    flex: 0 0 auto;
    min-width: 0;
    max-width: max-content;
}

:is(#page-plan, .plan-table-runtime) .plan-min-hours-status {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: start;
    align-self: stretch;
    justify-self: stretch;
    gap: 5px 7px;
    width: 100%;
    min-width: 0;
    max-width: 100%;
}

:is(#page-plan, .plan-table-runtime) .plan-min-hours-status.has-progress {
    align-items: start;
}

:is(#page-plan, .plan-table-runtime) .plan-min-hours-status.has-duplicate-hours-control {
    display: flex;
    justify-content: flex-end;
    align-items: center;
}

:is(#page-plan, .plan-table-runtime) .plan-min-hours-status.has-duplicate-hours-control .plan-min-duplicate-hours {
    order: 2;
    flex: 0 0 auto;
}

:is(#page-plan, .plan-table-runtime) .plan-min-hours-status.has-duplicate-hours-control .plan-min-state-content {
    order: 1;
    flex: 0 1 auto;
    width: auto;
    align-items: flex-end;
    justify-content: center;
    min-height: 0;
}

:is(#page-plan, .plan-table-runtime) .plan-min-hours-status.has-duplicate-hours-control .plan-min-status-row {
    align-self: center;
    flex-wrap: wrap;
    justify-content: flex-end;
    row-gap: 4px;
    width: auto;
    max-width: 280px;
}

:is(#page-plan, .plan-table-runtime) .plan-min-hours-status.has-duplicate-hours-control .plan-min-status-row > .plan-entry-receipt-missing-pill,
:is(#page-plan, .plan-table-runtime) .plan-min-hours-status.has-duplicate-hours-control .plan-min-status-row > .plan-deadline-pill {
    flex: 0 0 auto;
}

:is(#page-plan, .plan-table-runtime) .plan-min-hours-status.has-duplicate-hours-control .plan-min-status-row:has(> .plan-entry-receipt-missing-pill):has(> .plan-deadline-pill):has(> .plan-entry-deadline-countdown) {
    display: grid;
    grid-template-columns: max-content max-content;
    justify-content: end;
    justify-items: end;
    align-items: start;
    column-gap: 4px;
    width: max-content;
    max-width: 100%;
}

:is(#page-plan, .plan-table-runtime) .plan-min-hours-status.has-duplicate-hours-control .plan-min-status-row:has(> .plan-entry-receipt-missing-pill):has(> .plan-deadline-pill):has(> .plan-entry-deadline-countdown) > .plan-entry-deadline-countdown {
    grid-column: 1 / -1;
    justify-self: end;
    flex: 0 0 auto;
    width: max-content;
    max-width: 148px;
    justify-content: center;
    margin-left: 0;
}

:is(#page-plan, .plan-table-runtime) .plan-min-hours-status[data-hover-card-selector] .plan-entry-hours-badge,
:is(#page-plan, .plan-table-runtime) .plan-min-hours-status[data-hover-card-selector] .plan-entry-progress {
    cursor: pointer;
}

:is(#page-plan, .plan-table-runtime) .plan-min-hours-status.hover-card-active .plan-entry-progress-track {
    box-shadow:
        inset 0 1px 1px rgba(31, 54, 72, 0.18),
        0 0 0 2px rgba(82, 178, 207, 0.18);
}

:is(#page-plan, .plan-table-runtime) .plan-min-hours-status.hover-card-active .plan-entry-hours-badge {
    box-shadow:
        var(--ui-badge-shadow, 0 1px 3px rgba(0,0,0,0.2)),
        0 0 0 2px rgba(82, 178, 207, 0.18);
}

:is(#page-plan, .plan-table-runtime) .plan-min-time-status {
    align-items: center;
}

:is(#page-plan, .plan-table-runtime) .plan-min-state-content {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    justify-content: flex-start;
    gap: 2px;
    min-width: 0;
    width: 100%;
    overflow: visible;
}

:is(#page-plan, .plan-table-runtime) .plan-min-hours-status.has-progress .plan-min-state-content {
    min-height: 28px;
    justify-content: space-between;
}

:is(#page-plan, .plan-table-runtime) .plan-min-hours-badge,
:is(#page-plan, .plan-table-runtime) .plan-min-time-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    justify-self: end;
    align-self: center;
    min-width: 58px;
    max-width: 92px;
    height: var(--plan-min-identity-stack-height);
    min-height: var(--plan-min-identity-stack-height);
    max-height: var(--plan-min-identity-stack-height);
    padding: 4px 9px;
    text-align: center;
}

:is(#page-plan, .plan-table-runtime) .plan-min-time-badge.is-range,
:is(#page-plan, .plan-table-runtime) .plan-min-time-badge {
    max-width: 118px;
}

:is(#page-plan, .plan-table-runtime) .plan-min-time-badge .plan-entry-time-badge-value {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

:is(#page-plan, .plan-table-runtime) .plan-min-progress {
    min-width: 0;
    width: 100%;
}

:is(#page-plan, .plan-table-runtime) .plan-min-identity {
    --plan-entry-client-number-width: 38px;
    gap: 4px;
}

:is(#page-plan, .plan-table-runtime) .plan-min-task-display,
:is(#page-plan, .plan-table-runtime) .plan-min-client-display {
    min-height: 25px;
}

:is(#page-plan, .plan-table-runtime) .plan-min-task-display .plan-entry-task-number,
:is(#page-plan, .plan-table-runtime) .plan-min-client-display .plan-entry-client-number {
    min-height: 24px;
    padding-right: 7px;
    padding-left: 5px;
    font-size: 11px;
}

:is(#page-plan, .plan-table-runtime) .plan-min-task-display .plan-entry-task-name {
    min-height: 24px;
    padding: 0 8px 2px;
    font-size: 13px;
}

:is(#page-plan, .plan-table-runtime) .plan-min-client-display .plan-entry-client-name {
    min-height: 24px;
    padding: 3px 8px;
    font-size: 11px;
}

:is(#page-plan, .plan-table-runtime) .plan-min-status-row[data-hover-card-selector] {
    cursor: pointer;
}

:is(#page-plan, .plan-table-runtime) .plan-min-status-row.hover-card-active .plan-entry-state-pill,
:is(#page-plan, .plan-table-runtime) .plan-min-status-row.hover-card-active .plan-entry-deadline-countdown {
    box-shadow:
        var(--ui-badge-shadow, 0 1px 3px rgba(0,0,0,0.2)),
        0 0 0 2px rgba(82, 178, 207, 0.18);
}

:is(#page-plan, .plan-table-runtime) .plan-min-status-row {
    display: inline-flex;
    flex-wrap: wrap;
    align-items: flex-start;
    justify-content: flex-end;
    align-self: flex-end;
    gap: 4px;
    width: max-content;
    min-width: 0;
    max-width: none;
    position: relative;
    z-index: 1;
}

:is(#page-plan, .plan-table-runtime) .plan-min-state-content .plan-entry-state-pill,
:is(#page-plan, .plan-table-runtime) .plan-min-state-content .plan-entry-deadline-countdown {
    max-width: 148px;
}

:is(#page-plan, .plan-table-runtime) .plan-min-state-content .plan-entry-state-pill .eigener-status-label,
:is(#page-plan, .plan-table-runtime) .plan-min-state-content .plan-entry-state-pill .ui-status-pill__label,
:is(#page-plan, .plan-table-runtime) .plan-min-state-content .plan-entry-deadline-countdown span {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

:is(#page-plan, .plan-table-runtime) .plan-min-comment-line {
    max-width: 100%;
}

:is(#page-plan, .plan-table-runtime) .plan-min-period-text {
    display: block;
    min-width: 0;
    overflow: hidden;
    color: #5f7688;
    font-size: 11px;
    font-weight: 700;
    line-height: 1.2;
    text-overflow: ellipsis;
    white-space: nowrap;
}

:is(#page-plan, .plan-table-runtime) .plan-min-time-period {
    min-width: 0;
    max-width: 100%;
}

:is(#page-plan, .plan-table-runtime) .plan-min-addon-status .plan-entry-addon {
    gap: 4px;
    padding: 5px 7px;
}

:is(#page-plan, .plan-table-runtime) .plan-min-addon-status .plan-entry-addon-task {
    width: 100%;
    font-size: 12px;
}

:is(#page-plan, .plan-table-runtime) .plan-min-addon-status .plan-entry-addon-task-text {
    font-size: 12px;
}

:is(#page-plan, .plan-table-runtime) .plan-min-addon-status .plan-entry-addon-message {
    padding: 4px 6px;
    gap: 6px;
}

:is(#page-plan, .plan-table-runtime) .plan-min-addon-status .plan-entry-alert {
    align-items: flex-start;
    flex-wrap: wrap;
    padding: 5px 7px;
}

:is(#page-plan, .plan-table-runtime) .plan-min-lock {
    display: inline-flex;
    align-items: center;
    min-height: 24px;
    color: #657d8f;
    font-size: 11px;
    font-weight: 800;
}

:is(#page-plan, .plan-table-runtime) #weeklyView {
    --plan-weekly-day-body-height: 178px;
    width: 100%;
    height: 100%;
    min-height: 0;
    max-height: 100%;
    border: 0;
    border-radius: 0;
    background: transparent;
    padding: 8px;
    overflow-y: auto;
    scrollbar-gutter: stable;
    box-sizing: border-box;
}

:is(#page-plan, .plan-table-runtime) .plan-weekly-grid {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

:is(#page-plan, .plan-table-runtime) .plan-weekly-week {
    border: 1px solid #cedde8;
    border-radius: 10px;
    background: #ffffff;
    box-shadow: 0 1px 4px rgba(24, 52, 71, 0.1);
    overflow: hidden;
}

:is(#page-plan, .plan-table-runtime) .plan-weekly-week-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    padding: 6px 10px;
    border-bottom: 1px solid #d8e5ef;
    background: linear-gradient(180deg, #fbfdff 0%, #edf4f9 100%);
}

:is(#page-plan, .plan-table-runtime) .plan-weekly-week-number {
    color: #30536c;
    font-size: 12px;
    font-weight: 700;
    line-height: 1.2;
}

:is(#page-plan, .plan-table-runtime) .plan-weekly-week-range {
    color: #4d6b82;
    font-size: 12px;
    line-height: 1.2;
}

:is(#page-plan, .plan-table-runtime) .plan-weekly-week-days {
    --plan-layout-visible-days: 5;
    display: grid;
    grid-template-columns: repeat(var(--plan-weekly-days, 5), calc((100% - (var(--plan-layout-visible-days, 5) - 1) * 6px) / var(--plan-layout-visible-days, 5)));
    gap: 6px;
    padding: 8px;
    overflow-x: auto;
    overflow-y: hidden;
    overscroll-behavior-x: contain;
    scroll-snap-type: x proximity;
    -webkit-overflow-scrolling: touch;
    scrollbar-gutter: stable;
}

:is(#page-plan, .plan-table-runtime) .plan-weekly-day {
    display: flex;
    flex-direction: column;
    min-width: 0;
    border: 1px solid #d2dfeb;
    border-radius: 8px;
    background: #fbfdff;
    overflow: hidden;
    scroll-snap-align: start;
}

:is(#page-plan, .plan-table-runtime) .plan-weekly-day.is-target-hours-placeholder {
    visibility: hidden;
    opacity: 0;
    pointer-events: none;
}

:is(#page-plan, .plan-table-runtime) .plan-weekly-day.is-today {
    border-color: color-mix(in srgb, var(--progress-actual-base, #52B2CF) 58%, #7aa9bf);
    box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--progress-actual-base, #52B2CF) 28%, transparent);
}

:is(#page-plan, .plan-table-runtime) .plan-weekly-day.is-weekend {
    background: #f5f8fb;
}

:is(#page-plan, .plan-table-runtime) .plan-weekly-day-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 6px;
    padding: 5px 7px;
    border-bottom: 1px solid #dbe7f1;
    background: linear-gradient(180deg, #fbfdff 0%, #f2f7fb 100%);
}

:is(#page-plan, .plan-table-runtime) .plan-weekly-day-title-wrap {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    min-width: 0;
}

:is(#page-plan, .plan-table-runtime) .plan-weekly-day-title {
    color: #2e526a;
    font-size: 12px;
    font-weight: 700;
    line-height: 1.2;
    white-space: nowrap;
}

:is(#page-plan, .plan-table-runtime) .plan-weekly-day-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 12px;
    height: 12px;
    flex: 0 0 12px;
    color: #48657a;
    line-height: 1;
}

:is(#page-plan, .plan-table-runtime) .plan-weekly-day-icon .glyphicon {
    font-size: 10px;
    line-height: 1;
}

:is(#page-plan, .plan-table-runtime) .plan-weekly-day-metrics {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 4px;
    flex-wrap: wrap;
    min-width: 0;
}

:is(#page-plan, .plan-table-runtime) .plan-weekly-metric-chip {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    min-width: 0;
    padding: 2px 6px;
    border: 1px solid #cedeea;
    border-radius: 6px;
    background: #ffffff;
    color: #46657c;
    font-size: 10px;
    line-height: 1.1;
}

:is(#page-plan, .plan-table-runtime) .plan-weekly-metric-chip .glyphicon {
    font-size: 10px;
    line-height: 1;
    flex: 0 0 auto;
    color: #5a7890;
}

:is(#page-plan, .plan-table-runtime) .plan-weekly-metric-label {
    white-space: nowrap;
}

:is(#page-plan, .plan-table-runtime) .plan-weekly-metric-value {
    font-weight: 700;
    white-space: nowrap;
    color: #2f5269;
}

:is(#page-plan, .plan-table-runtime) .plan-weekly-metric-value.is-plan-day-refresh-metric {
    min-width: 12px;
    min-height: 11px;
}

:is(#page-plan, .plan-table-runtime) .plan-weekly-metric-value .plan-day-refresh-icon-wrap {
    width: 10px;
    height: 10px;
}

:is(#page-plan, .plan-table-runtime) .plan-weekly-metric-value .plan-day-refresh-icon {
    font-size: 10px;
}

:is(#page-plan, .plan-table-runtime) .plan-weekly-day-body {
    flex: 1 1 auto;
    position: relative;
    min-height: var(--plan-weekly-day-body-height);
    max-height: var(--plan-weekly-day-body-height);
    overflow-y: auto;
    padding: 5px;
    display: flex;
    flex-direction: column;
    gap: 4px;
}

:is(#page-plan, .plan-table-runtime) .plan-weekly-entry {
    display: grid;
    grid-template-columns: 56px minmax(0, 1.1fr) minmax(0, 1fr) 50px;
    align-items: center;
    gap: 4px;
    padding: 3px 5px;
    border: 1px solid #d4e1ec;
    border-radius: 6px;
    background: #ffffff;
    color: #2f5068;
    font-size: 11px;
    line-height: 1.2;
    min-width: 0;
}

:is(#page-plan, .plan-table-runtime) .plan-weekly-entry.has-deadline-status {
    grid-template-columns: 68px minmax(0, 1.1fr) minmax(0, 1fr) 50px;
}

:is(#page-plan, .plan-table-runtime) .plan-weekly-entry.plan-weekly-entry--time {
    border-color: #c2d6e7;
    background: linear-gradient(180deg, #f7fbff 0%, #edf5fc 100%);
}

:is(#page-plan, .plan-table-runtime) .plan-weekly-entry.is-done {
    border-color: #8fc2a2;
    background: linear-gradient(180deg, #f2fbf5 0%, #e1f1e6 100%);
}

:is(#page-plan, .plan-table-runtime) .plan-weekly-entry.plan-weekly-entry--plan.is-plan-highlighted {
    border-color: #5fc96b;
    background: linear-gradient(180deg, #f7fff8 0%, #e4f8e8 100%);
    box-shadow: inset 4px 0 0 #43b854, 0 0 0 1px rgba(95, 201, 107, 0.24);
}

:is(#page-plan, .plan-table-runtime) .plan-weekly-entry-chip {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    min-width: 0;
    width: 100%;
    box-sizing: border-box;
    min-height: 22px;
    padding: 2px 4px;
    border: 1px solid #d0deea;
    border-radius: 6px;
    background: #f9fcff;
    color: #36556d;
    font-size: 11px;
    line-height: 1.15;
}

:is(#page-plan, .plan-table-runtime) .plan-weekly-entry-chip .glyphicon {
    font-size: 10px;
    line-height: 1;
    flex: 0 0 auto;
    color: #58748a;
}

:is(#page-plan, .plan-table-runtime) .plan-weekly-entry-chip-text {
    display: block;
    min-width: 0;
    width: 100%;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
    transition:
        opacity 0.18s ease,
        visibility 0s linear 0s,
        transform 0.18s cubic-bezier(0.22, 0.78, 0.2, 1);
}

:is(#page-plan, .plan-table-runtime) .plan-weekly-entry-chip--time {
    background: #f2f8fd;
    font-size: 10px;
}

:is(#page-plan, .plan-table-runtime) .plan-weekly-entry-chip--time.has-deadline-status {
    gap: 3px;
}

:is(#page-plan, .plan-table-runtime) .plan-weekly-entry-chip--time .plan-weekly-entry-chip-text {
    flex: 1 1 auto;
    width: auto;
    font-weight: 700;
}

:is(#page-plan, .plan-table-runtime) .plan-weekly-entry-chip--time .plan-deadline-pill--weekly {
    justify-content: center;
    gap: 0;
    max-width: none;
    padding: 2px 4px;
}

:is(#page-plan, .plan-table-runtime) .plan-weekly-entry-chip--time .plan-deadline-pill--weekly .ui-status-pill__icon {
    width: 14px;
    height: 14px;
}

:is(#page-plan, .plan-table-runtime) .plan-weekly-entry-chip--time .plan-deadline-pill--weekly .glyphicon {
    color: inherit;
}

:is(#page-plan, .plan-table-runtime) .plan-weekly-entry--time .plan-weekly-entry-chip {
    border-color: #c6d9e8;
    background: #f7fbff;
}

:is(#page-plan, .plan-table-runtime) .plan-weekly-entry.is-done .plan-weekly-entry-chip {
    border-color: #a2ccb2;
    background: #eef8f1;
    color: #2f6544;
}

:is(#page-plan, .plan-table-runtime) .plan-weekly-entry.is-done .plan-weekly-entry-chip .glyphicon {
    color: #4d8660;
}

:is(#page-plan, .plan-table-runtime) .plan-weekly-entry[data-hover-card-selector] {
    position: relative;
}

:is(#page-plan, .plan-table-runtime) .plan-weekly-entry.hover-card-active {
    border-color: #7ca8c7;
    box-shadow: 0 2px 8px rgba(35, 74, 101, 0.2);
}

:is(#page-plan, .plan-table-runtime) .plan-weekly-entry.is-plan-selected.hover-card-active:not(.is-done):not(.is-plan-drag-preview) {
    border-color: var(--plan-selection-border);
    background: var(--plan-selection-bg);
    box-shadow: inset 0 0 0 2px var(--plan-selection-border), 0 2px 8px rgba(35, 74, 101, 0.2), 0 0 0 1px rgba(111, 159, 190, 0.18);
}

:is(#page-plan, .plan-table-runtime) .plan-weekly-entry.is-plan-selected.is-done.hover-card-active:not(.is-plan-drag-preview) {
    border-color: #8fc2a2;
    background: linear-gradient(180deg, #f2fbf5 0%, #e1f1e6 100%);
    box-shadow: inset 0 0 0 2px var(--plan-selection-border), 0 2px 8px rgba(35, 74, 101, 0.2), 0 0 0 1px rgba(111, 159, 190, 0.18);
}

.plan-weekly-hover-card {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: min(460px, calc(100vw - 40px));
    max-width: 460px;
    border: 1px solid #acc7da;
    border-radius: 12px;
    background:
        radial-gradient(120% 90% at 0% 0%, rgba(232, 244, 253, 0.85) 0%, rgba(255, 255, 255, 0) 46%),
        radial-gradient(100% 80% at 100% 100%, rgba(233, 246, 255, 0.55) 0%, rgba(255, 255, 255, 0) 62%),
        linear-gradient(180deg, #ffffff 0%, #f8fcff 100%);
    box-shadow:
        0 15px 38px rgba(19, 44, 63, 0.22),
        0 4px 12px rgba(26, 53, 75, 0.14);
    z-index: 2100;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: translateY(8px);
    transition: opacity 180ms ease, transform 180ms ease;
}

.plan-weekly-hover-card--detail {
    width: min(430px, calc(100vw - 40px));
    max-width: 430px;
    border-radius: 10px;
    background: linear-gradient(180deg, #f8fbfe 0%, #eef5fb 100%);
}

.plan-weekly-hover-card.show {
    display: block;
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: translateY(0);
}

.plan-weekly-hover-card.transitioning {
    display: block;
    pointer-events: none;
}

.plan-weekly-hover-card.position-above {
    transform: translateY(-8px);
}

.plan-weekly-hover-card.position-above.show {
    transform: translateY(0);
}

.plan-weekly-hover-card::before,
.plan-weekly-hover-card::after {
    content: "";
    position: absolute;
    left: var(--arrow-left, 26px);
    transform: translateX(-50%);
    width: 0;
    height: 0;
    pointer-events: none;
}

.plan-weekly-hover-card::before {
    top: -9px;
    border-left: 9px solid transparent;
    border-right: 9px solid transparent;
    border-bottom: 9px solid #acc7da;
}

.plan-weekly-hover-card::after {
    top: -8px;
    border-left: 8px solid transparent;
    border-right: 8px solid transparent;
    border-bottom: 8px solid #f8fcff;
}

.plan-weekly-hover-card--detail::after {
    border-bottom-color: #f8fbfe;
}

.plan-weekly-hover-card.position-above::before {
    top: auto;
    bottom: -9px;
    border-left: 9px solid transparent;
    border-right: 9px solid transparent;
    border-top: 9px solid #acc7da;
    border-bottom: 0;
}

.plan-weekly-hover-card.position-above::after {
    top: auto;
    bottom: -8px;
    border-left: 8px solid transparent;
    border-right: 8px solid transparent;
    border-top: 8px solid #f8fcff;
    border-bottom: 0;
}

.plan-weekly-hover-card--detail.position-above::after {
    border-top-color: #eef5fb;
}

.plan-weekly-hover-card-header {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    padding: 10px 12px 9px;
    border-bottom: 1px solid #caddea;
    border-radius: 12px 12px 0 0;
    background: linear-gradient(180deg, #f3f9ff 0%, #e9f3fb 100%);
}

.plan-weekly-hover-card-header::after {
    content: "";
    position: absolute;
    left: 12px;
    right: 12px;
    bottom: 0;
    height: 1px;
    background: linear-gradient(90deg, rgba(123, 160, 186, 0) 0%, rgba(123, 160, 186, 0.45) 50%, rgba(123, 160, 186, 0) 100%);
}

.plan-weekly-hover-card-header--time {
    background: linear-gradient(180deg, #eff7ff 0%, #e5f0fb 100%);
}

.plan-weekly-hover-card-header--plan.plan-weekly-hover-card-header--plan-open {
    background: linear-gradient(180deg, #f3f9ff 0%, #e8f2fb 100%);
}

.plan-weekly-hover-card-header--plan.plan-weekly-hover-card-header--plan-done {
    background: linear-gradient(180deg, #f1fbf5 0%, #e3f3e9 100%);
}

.plan-weekly-entry-hover-title {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    color: #294d66;
    font-size: 13px;
    font-weight: 700;
    min-width: 0;
}

.plan-weekly-entry-hover-title--plan-open {
    color: #284e68;
}

.plan-weekly-entry-hover-title--plan-done {
    color: #2f6648;
}

.plan-weekly-entry-hover-title .glyphicon {
    width: 20px;
    height: 20px;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(180deg, #ffffff 0%, #ecf4fb 100%);
    border: 1px solid #c4d9e8;
    color: #3e6c8a;
    font-size: 10px;
}

.plan-weekly-entry-hover-title--plan-done .glyphicon {
    color: #3d7b58;
    border-color: #b8d8c5;
    background: linear-gradient(180deg, #ffffff 0%, #eef8f2 100%);
}

.plan-weekly-entry-hover-hours {
    color: #1f4b68;
    font-size: 12px;
    font-weight: 700;
    white-space: nowrap;
    padding: 3px 8px;
    border-radius: 999px;
    border: 1px solid #bfd6e7;
    background: linear-gradient(180deg, #ffffff 0%, #edf5fc 100%);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.88);
}

.plan-weekly-hover-card-header--plan-done .plan-weekly-entry-hover-hours {
    color: #2f6648;
    border-color: #b8d8c5;
    background: linear-gradient(180deg, #ffffff 0%, #edf8f2 100%);
}

.plan-weekly-hover-card-body {
    max-height: min(62vh, 430px);
    overflow-y: auto;
    padding: 10px;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
    align-content: start;
}

.plan-weekly-hover-card-body--detail {
    display: block;
    max-height: min(72vh, 580px);
    padding: 8px;
}

.plan-weekly-hover-card--detail .row {
    margin-left: 0;
    margin-right: 0;
}

:is(#page-plan, .plan-table-runtime) .plan-weekly-hover-card--detail .plan-entry-detail-hover-preview,
:is(#page-plan, .plan-table-runtime) .plan-weekly-hover-card--detail .row-striped {
    width: 100%;
}

:is(#page-plan, .plan-table-runtime) .plan-weekly-hover-card--detail .plan-entry-card {
    margin: 0;
}

:is(#page-plan, .plan-table-runtime) .plan-weekly-hover-card--detail .plan-entry-card:hover {
    transform: none;
    box-shadow: var(--plan-card-shadow);
}

.plan-weekly-hover-card-body::-webkit-scrollbar {
    width: 7px;
}

.plan-weekly-hover-card-body::-webkit-scrollbar-track {
    background: transparent;
}

.plan-weekly-hover-card-body::-webkit-scrollbar-thumb {
    border-radius: 999px;
    background: rgba(118, 151, 174, 0.5);
}

.plan-weekly-entry-hover-row {
    position: relative;
    display: flex;
    flex-direction: column;
    gap: 5px;
    min-height: 58px;
    padding: 8px 9px;
    border: 1px solid #d5e6f2;
    border-radius: 9px;
    background: linear-gradient(180deg, #fcfeff 0%, #f3f9fd 100%);
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.85),
        0 1px 2px rgba(35, 72, 98, 0.07);
}

.plan-weekly-entry-hover-row::before {
    content: "";
    position: absolute;
    left: 9px;
    right: 9px;
    top: 0;
    height: 2px;
    z-index: 1;
    border-radius: 999px;
    background: linear-gradient(90deg, rgba(109, 150, 179, 0.65) 0%, rgba(109, 150, 179, 0.2) 100%);
}

.plan-weekly-entry-hover-row--client,
.plan-weekly-entry-hover-row--task,
.plan-weekly-entry-hover-row--full,
.plan-weekly-entry-hover-row--time-window,
.plan-weekly-entry-hover-row--hours {
    grid-column: 1 / -1;
}

.plan-weekly-entry-hover-row--task {
    min-height: 64px;
}

.plan-weekly-entry-hover-row--planned,
.plan-weekly-entry-hover-row--actual,
.plan-weekly-entry-hover-row--hours,
.plan-weekly-entry-hover-row--status,
.plan-weekly-entry-hover-row--done {
    background: linear-gradient(180deg, #f5fbff 0%, #eaf4fc 100%);
    border-color: #cadfee;
}

.plan-weekly-entry-hover-row--planned::before {
    background: linear-gradient(90deg, var(--progress-planned-base, #F4B942) 0%, var(--progress-planned-light, #F8CF7E) 100%);
}

.plan-weekly-entry-hover-row--actual::before,
.plan-weekly-entry-hover-row--hours::before {
    background: linear-gradient(90deg, var(--progress-actual-base, #52B2CF) 0%, var(--progress-actual-light, #89CBDE) 100%);
}

.plan-weekly-entry-hover-row--status::before,
.plan-weekly-entry-hover-row--done::before {
    background: linear-gradient(90deg, rgba(106, 121, 172, 0.86) 0%, rgba(106, 121, 172, 0.22) 100%);
}

.plan-weekly-entry-hover-row--sub {
    border-color: #e2edf5;
    background: linear-gradient(180deg, #f8fbfe 0%, #f1f7fc 100%);
}

.plan-weekly-entry-hover-row--comment .plan-weekly-entry-hover-value {
    white-space: normal;
    line-height: 1.45;
}

.plan-weekly-entry-hover-label {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: #4a687d;
    font-size: 9px;
    font-weight: 700;
    line-height: 1.2;
    text-transform: uppercase;
    letter-spacing: 0.06em;
}

.plan-weekly-entry-hover-label .glyphicon {
    width: 17px;
    height: 17px;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    color: #547a95;
    font-size: 9px;
    background: rgba(233, 243, 251, 0.9);
    border: 1px solid #cddfec;
}

.plan-weekly-entry-hover-value {
    color: #244a63;
    font-size: 12px;
    font-weight: 600;
    line-height: 1.3;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    padding-left: 1px;
}

.plan-weekly-entry-hover-row--planned .plan-weekly-entry-hover-value,
.plan-weekly-entry-hover-row--actual .plan-weekly-entry-hover-value,
.plan-weekly-entry-hover-row--hours .plan-weekly-entry-hover-value {
    font-size: 15px;
    font-weight: 700;
    color: #204d67;
}

.plan-weekly-entry-hover-row--status .plan-weekly-entry-hover-value,
.plan-weekly-entry-hover-row--done .plan-weekly-entry-hover-value {
    display: inline-flex;
    align-items: center;
    width: fit-content;
    max-width: 100%;
    padding: 2px 7px;
    border-radius: 999px;
    border: 1px solid #c5d9e7;
    background: linear-gradient(180deg, #ffffff 0%, #edf5fb 100%);
    font-size: 11px;
    font-weight: 700;
}

:is(#page-plan, .plan-table-runtime) .plan-weekly-entry-period {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    justify-self: stretch;
    width: 100%;
    min-width: 0;
    max-width: none;
    box-sizing: border-box;
    min-height: 22px;
    padding: 1px 4px;
    border-radius: 6px;
    border: 1px solid #c9d9e6;
    background: #edf4fa;
    color: #39566d;
    font-size: 11px;
    font-weight: 700;
    line-height: 1.2;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

:is(#page-plan, .plan-table-runtime) .plan-weekly-entry-period-text {
    display: block;
    min-width: 0;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

:is(#page-plan, .plan-table-runtime) .plan-weekly-entry-period.is-empty {
    background: #f3f6f9;
    color: #6a7f91;
}

:is(#page-plan, .plan-table-runtime) .plan-weekly-entry-period.bh {
    background-color: rgba(var(--bookkeeping-color), 0.4);
    color: #5a3a38;
}

:is(#page-plan, .plan-table-runtime) .plan-weekly-entry-period.lv {
    background-color: rgba(var(--payroll-color), 0.4);
    color: #3a4a5a;
}

:is(#page-plan, .plan-table-runtime) .plan-weekly-entry-period.ja {
    background-color: rgba(var(--annualaccount-color), 0.4);
    color: #4a3a5a;
}

:is(#page-plan, .plan-table-runtime) .plan-weekly-entry-period.wp {
    background-color: rgba(var(--auditing-color), 0.4);
    color: #3a5a4a;
}

:is(#page-plan, .plan-table-runtime) .plan-weekly-entry-period.br {
    background-color: rgba(var(--consultation-color), 0.4);
    color: #5a4a3a;
}

:is(#page-plan, .plan-table-runtime) .plan-weekly-entry-period.st {
    background-color: rgba(150, 170, 188, 0.35);
    color: #2d4a61;
}

:is(#page-plan, .plan-table-runtime) .plan-weekly-entry-period.uv {
    background-color: rgba(211, 196, 241, 0.48);
    color: #59427d;
}

:is(#page-plan, .plan-table-runtime) .plan-weekly-entry-period.type-social {
    background-color: rgba(211, 196, 241, 0.48);
    color: #59427d;
}

:is(#page-plan, .plan-table-runtime) .plan-weekly-empty {
    margin-top: auto;
    margin-bottom: auto;
    border: 0;
    background: transparent;
    min-height: 0;
    padding: 0;
    color: #7b8fa0;
    font-size: 11px;
    font-weight: 400;
    text-align: center;
}

@media (max-width: 1199px) {
    :is(#page-plan, .plan-table-runtime) .plan-day-title {
        font-size: 20px;
    }

    :is(#page-plan, .plan-table-runtime) .plan-day-metric-value {
        font-size: 14px;
    }

    :is(#page-plan, .plan-table-runtime) .plan-minimal-day-header {
        grid-template-columns: max-content 250px minmax(max-content, 1fr);
    }

    :is(#page-plan, .plan-table-runtime) .plan-day-progress-cell--minimal {
        width: 250px;
        max-width: 250px;
    }

    :is(#page-plan, .plan-table-runtime) .plan-entry-addon-head {
        flex-wrap: nowrap;
    }

    :is(#page-plan, .plan-table-runtime) .plan-weekly-entry {
        grid-template-columns: 52px minmax(0, 1.1fr) minmax(0, 1fr) 46px;
    }

    :is(#page-plan, .plan-table-runtime) .plan-weekly-entry.has-deadline-status {
        grid-template-columns: 64px minmax(0, 1.1fr) minmax(0, 1fr) 46px;
    }

    :is(#page-plan, .plan-table-runtime) .plan-day-progress-cell--weekly {
        min-width: 104px;
    }
}

@media (max-width: 1899.98px) {
    :is(#page-plan, .plan-table-runtime) #fullView,
    :is(#page-plan, .plan-table-runtime) .plan-weekly-week-days {
        --plan-layout-visible-days: 4;
    }
}

@media (max-width: 1699.98px) {
    :is(#page-plan, .plan-table-runtime) .receipts-filter-toolbar {
        flex-wrap: wrap;
    }
}

@media (max-width: 1559.98px) {
    :is(#page-plan, .plan-table-runtime) #fullView,
    :is(#page-plan, .plan-table-runtime) .plan-weekly-week-days {
        --plan-layout-visible-days: 3;
    }
}

@media (max-width: 1179.98px) {
    :is(#page-plan, .plan-table-runtime) #fullView,
    :is(#page-plan, .plan-table-runtime) .plan-weekly-week-days {
        --plan-layout-visible-days: 2;
    }
}

@media (max-width: 991.98px) {
    :is(#page-plan, .plan-table-runtime) .plan-minimal-table {
        --plan-minimal-state-width: 312px;
        min-width: 780px;
    }

    :is(#page-plan, .plan-table-runtime) .plan-minimal-day-header {
        grid-template-columns: 1fr;
    }

    :is(#page-plan, .plan-table-runtime) .plan-day-progress-cell--minimal {
        width: min(260px, 100%);
        max-width: 100%;
    }

    :is(#page-plan, .plan-table-runtime) .plan-minimal-day-metrics {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    :is(#page-plan, .plan-table-runtime) .plan-minimal-day-actions {
        align-items: flex-start;
        flex-direction: row;
        flex-wrap: wrap;
        justify-self: start;
    }

    :is(#page-plan, .plan-table-runtime) .plan-weekly-day-head {
        flex-wrap: wrap;
    }

    :is(#page-plan, .plan-table-runtime) .plan-day-progress-cell--weekly {
        max-width: none;
    }
}

@media (max-width: 767px) {
    :is(#page-plan, .plan-table-runtime) .plan-minimal-table {
        --plan-minimal-actions-width: 7%;
        --plan-minimal-hours-width: 17%;
        --plan-minimal-task-width: 13%;
        --plan-minimal-client-width: 15%;
        --plan-minimal-status-width: 16%;
        --plan-minimal-comment-width: 18%;
        --plan-minimal-addon-task-width: 14%;
        --plan-minimal-state-width: calc(var(--plan-minimal-actions-width) + var(--plan-minimal-hours-width) + var(--plan-minimal-status-width));
        --plan-minimal-action-neighbor-push: 0px;
    }

    :is(#page-plan, .plan-table-runtime) .plan-day-action-bar {
        width: 100%;
        flex-direction: row;
        align-items: center;
        flex-wrap: wrap;
    }

    :is(#page-plan, .plan-table-runtime) .plan-day-header-top {
        flex-direction: row;
        align-items: center;
    }

    :is(#page-plan, .plan-table-runtime) .plan-day-header-top > .plan-day-action-bar,
    :is(#page-plan, .plan-table-runtime) .plan-day-header-progress-row > .plan-day-action-bar {
        width: auto;
        flex: 0 0 auto;
        flex-wrap: nowrap;
    }

    :is(#page-plan, .plan-table-runtime) .plan-day-metrics,
    :is(#page-plan, .plan-table-runtime) .plan-minimal-day-metrics {
        grid-template-columns: 1fr;
    }

    :is(#page-plan, .plan-table-runtime) .button-cell {
        min-width: 0;
    }

    :is(#page-plan, .plan-table-runtime) .plan-minimal-col-state {
        width: var(--plan-minimal-state-width);
    }

    :is(#page-plan, .plan-table-runtime) .hours-cell {
        min-width: 0;
    }

    :is(#page-plan, .plan-table-runtime) .plan-minimal-col-task-client {
        width: var(--plan-minimal-task-client-width);
    }

    :is(#page-plan, .plan-table-runtime) .plan-minimal-col-comment {
        width: var(--plan-minimal-comment-width);
    }

    :is(#page-plan, .plan-table-runtime) .plan-minimal-col-addon-status {
        width: var(--plan-minimal-addon-status-width);
    }

    :is(#page-plan, .plan-table-runtime) .plan-weekly-entry {
        grid-template-columns: 48px minmax(0, 1.1fr) minmax(0, 1fr) 44px;
    }

    :is(#page-plan, .plan-table-runtime) .plan-weekly-entry.has-deadline-status {
        grid-template-columns: 62px minmax(0, 1.1fr) minmax(0, 1fr) 44px;
    }

    :is(#page-plan, .plan-table-runtime) .plan-weekly-entry-chip {
        padding: 2px 4px;
        font-size: 10px;
    }

    :is(#page-plan, .plan-table-runtime) .plan-weekly-entry-period { font-size: 10px; }

    .planning-hover-card {
        min-width: 0;
        width: min(420px, calc(100vw - 24px));
    }

    .planning-card-body {
        padding: 16px;
    }
}

@media (max-width: 799.98px) {
    :is(#page-plan, .plan-table-runtime) #fullView,
    :is(#page-plan, .plan-table-runtime) .plan-weekly-week-days {
        --plan-layout-visible-days: 1;
    }
}

@media (max-width: 599.98px) {
    :is(#page-plan, .plan-table-runtime) .plan-view-shell-frame,
    :is(#page-plan, .plan-table-runtime) .row-datesgroup > .connectedDate_day,
    :is(#page-plan, .plan-table-runtime) .plan-weekly-week {
        border-radius: 8px;
    }

    :is(#page-plan, .plan-table-runtime) #weeklyView,
    :is(#page-plan, .plan-table-runtime) #minimalView {
        padding: 4px;
    }
}

@media (max-width: 479.98px) {
    :is(#page-plan, .plan-table-runtime) .plan-day-header-top {
        min-height: 46px;
        align-items: flex-start;
    }

    :is(#page-plan, .plan-table-runtime) .plan-day-header-top:has(> .plan-day-action-bar--plan) > .plan-day-heading,
    :is(#page-plan, .plan-table-runtime) .plan-day-header-top:has(> .plan-day-action-bar--top) > .plan-day-heading {
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        gap: 0;
        min-width: 0;
        padding-right: var(--plan-day-action-compact-space);
        white-space: normal;
    }

    :is(#page-plan, .plan-table-runtime) .plan-day-title {
        max-width: 100%;
        font-size: 18px;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    :is(#page-plan, .plan-table-runtime) .plan-day-details-link {
        margin-top: 0;
        line-height: 1.15;
    }

    :is(#page-plan, .plan-table-runtime) .plan-entry-top {
        flex-wrap: wrap;
    }

    :is(#page-plan, .plan-table-runtime) .plan-entry-top > .plan-entry-actions {
        display: flex;
        justify-content: flex-end;
        width: 100%;
        margin-left: 0;
    }
}
